Releases: morphx666/x8086NetEmu
Version 0.8 (2024/3/12)
This version finally fixes the dreaded bug that affected so many programs in such a weird way.
Although there are still some bugs, many apps now work fine and we can finally test the SoundBlaster and VGA emulation!
- x8086NetEmu_Win32: Compiled for Windows and with sound support.
- x8086NetEmu_XP: Cross-platform version, compiled without sound support. Use with the latest version of mono. Refer to this post for more information.
Both versions include two executables:
- x8086NetEmuWinForms: This version will run under a WinForm form and will use GDI+ to render the text and graphics.
- x8086NetEmuConsole: This version uses the Windows console to render the text. You can improve the rendering by using an appropriate font for the console.
Version 0.7.1 (2024/1/26)
This version fixes some issues with the scheduler and how the CPU and some peripherals use it.
This release includes two versions:
- x8086NetEmu_Win32: Compiled for Windows and with sound support.
- x8086NetEmu_XP: Cross-platform version, compiled without sound support. Use with the latest version of mono. Refer to this post for more information.
Both versions include two executables:
- x8086NetEmuWinForms: This version will run under a WinForm form and will use GDI+ to render the text and graphics.
- x8086NetEmuConsole: This version uses the Windows console to render the text. You can improve the rendering by using an appropriate font for the console.
Version 0.7 (2019/3/2)
This version provides a huge number of bug fixes and usability improvements, but the most important improvement is performance.
The massive boost in performance has been achieved thanks to several major changes:
- The values for the sign, zero and parity flags are pre-calculated and cached
- The addressing states are pre-calculated and cached
- Destination and Source registers are pre-calculated, which makes many opcodes run faster as there's no need to check for the Direction condition
- When compiled in Release mode, opcodes are accessed through an array of delegates, instead of a series of Select/Case
- Registers are now a single structure that mimics a
union
in C/C++ - When in text mode, only the necessary (changed) portions of the screen will be updated
To obtain the best performance possible, set the emulator's CPU Clock to 44.7MHz and the Emulation Speed to 200%.
The necessary adjustments have been made in order to keep most programs from running absurdly fast, while maintaining the desired performance boost.
Here's a comparison of x8086NetEmu (Current) against Mike Chambers' fake86 (Saved):
If you think that's pathetic, check this comparison against release 0.1...
This release includes two versions:
- x8086NetEmu_Win32: Compiled for Windows and with sound support.
- x8086NetEmu_XP: Cross-platform version, compiled without sound support. Use with the latest version of mono. Refer to this post for more information.
Both versions include two executables:
- x8086NetEmuWinForms: This version will run under a WinForm form and will use GDI+ to render the text and graphics.
- x8086NetEmuConsole: This version uses the Windows console to render the text. You can improve the rendering by using an appropriate font for the console.
Version 0.6 (2019/2/13)
This release includes several performance improvements and many bug fixes.
Also included is the support for the WebUI interface where the emulator can be accessed through an experimental interface via a web browser.
As for Mike Chambers' test suite, this version passes them all... unfortunately, all "known" bugs regarding QBasic, Edit, Defrag (etc) still remain... :(
In this release, only a Win32 compatible version is supplied:
- x8086NetEmu_Win32: Compiled for Windows and with sound support.
Included with this release there are two executables:
- x8086NetEmuWinForms: This version will run under a WinForm form and will use GDI+ to render the text and graphics.
- x8086NetEmuConsole: This version uses the Windows console to render the text. You can improve the rendering by using an appropriate font for the console.
Version 0.5 (2018/9/13)
The major improvement in this release is the timing adjustments in the scheduler so that events are properly and correctly executed, allowing music (for example) to play at a correct rate, regardless of the CPU speed.
- AdLib OPL2 adapter emulation is apparently working correctly.
- VGA emulation is still partially working.
- Drag & Drop from the DiskExplorer is now properly supported and should work under any platform.
- Opcodes are now declared as an array of delegates, thanks to the introduction of the tool GenOpCodes. This provides a considerable performance boost.
- Memory management improvements.
- Simplified code by using the appropriate data types (see new-datatypes branch).
- Source code now includes support to run Mike Chambers' test suite; at this point, the emulator is able to pass 879 out of 881 tests (99.77%).
This release includes two versions:
- x8086NetEmu_Win32: Compiled for Windows and with sound support.
- x8086NetEmu_XP: Cross-platform version, compiled without sound support. Use with the latest version of mono. Refer to this post for more information.
Both versions include two executables:
- x8086NetEmuWinForms: This version will run under a WinForm form and will use GDI+ to render the text and graphics.
- x8086NetEmuConsole: This version uses the Windows console to render the text. You can improve the rendering by using an appropriate font for the console.
Version 0.4 (2018/8/28)
This is, by far, the fastest, most stable and bug free version of the emulator.
It also includes partial emulation of a VGA and an AdLib OPL2 adapter.
This release includes two versions:
- x8086NetEmu_Win32: Compiled for Windows and with sound support.
- x8086NetEmu_XP: Cross-platform version, compiled without sound support. Use with the latest version of mono. Refer to this post for more information.
Both versions include two executables:
- x8086NetEmuWinForms: This version will run under a WinForm form and will use GDI+ to render the text and graphics.
- x8086NetEmuConsole: This version uses the Windows console to render the text. You can improve the rendering by using an appropriate font for the console.
Version 0.2 (2017/3/8)
This release represents a major milestone.
Although it still has many bugs, in this release I was able to move from SlimDX to NAudio (which means that there's no need to download and install anything to run the emulator) and now, the graphics engine uses a fast and persistent surface which has resulted in an 25%-30% performance increase.
This release includes two versions:
- x8086NetEmu_Win32: Compiled for Windows and with sound support.
- x8086NetEmu_XP: Cross-platform version, compiled without sound support. Use with the latest version of mono. Refer to this post for more information.
Both versions include two executables:
- x8086NetEmuWinForms: This version will run under a WinForm form and will use GDI+ to render the text and graphics.
- x8086NetEmuConsole: This version uses the Windows console to render the text. You can improve the rendering by using an appropriate font for the console.
Credits:
- The included bootable floppy disk is a FreeDOS image from fake86.
- Perfect DOS VGA 437 font used by x8086NetEmu is from http://www.dafont.com/perfect-dos-vga-437.font
- The BIOS (used by default in the emulator) is from http://www.phatcode.net/downloads.php?id=101
- Sound is provided by NAudio
This binary release is based on https://github.com/morphx666/x8086NetEmu/tree/7b095919ec9d6bc7d6584342d3af01985e1f0e21
Initial GitHub release
This release includes two versions:
- x8086NetEmu_Win32: Compiled for Windows and sound support through SlimDX.
- x8086NetEmu_XP: Cross-platform version, compiled without sound support. Use with the latest version of mono. Refer to this post for more information.
Both versions include two executables:
- x8086NetEmuWinForms: This version will run under a WinForms form and will use GDI+ to render the text and graphics.
- x8086NetEmuConsole: This version uses the Windows console to render the text. You can improve the rendering by using an appropriate font for the console.
Credits:
- The included bootable floppy disk is a FreeDOS image from fake86.
- Perfect DOS VGA 437 font used by x8086NetEmu is from http://www.dafont.com/perfect-dos-vga-437.font
- The BIOS (used by default in the emulator) is from http://www.phatcode.net/downloads.php?id=101
This binary release is based on https://github.com/morphx666/x8086NetEmu/tree/0a992693adbacb40f3c974691709d89a0827ab90