Skip to content

Releases: morphx666/x8086NetEmu

Version 0.8 (2024/3/12)

12 Mar 17:11
Compare
Choose a tag to compare
Pre-release

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!

image

  • 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)

26 Jan 22:59
Compare
Choose a tag to compare
Pre-release

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)

03 Mar 03:57
Compare
Choose a tag to compare
Pre-release

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):
x8086NetEmu compared to fake86
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)

13 Feb 06:25
Compare
Choose a tag to compare
Pre-release

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)

13 Sep 05:17
Compare
Choose a tag to compare
Pre-release

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)

28 Aug 07:03
Compare
Choose a tag to compare
Pre-release

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)

08 Mar 05:46
Compare
Choose a tag to compare
Pre-release

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:

This binary release is based on https://github.com/morphx666/x8086NetEmu/tree/7b095919ec9d6bc7d6584342d3af01985e1f0e21

Initial GitHub release

09 Feb 04:56
Compare
Choose a tag to compare
Pre-release

This release includes two versions:

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:

This binary release is based on https://github.com/morphx666/x8086NetEmu/tree/0a992693adbacb40f3c974691709d89a0827ab90