VOGONS


First post, by mdanh2002

User metadata
Rank Newbie
Rank
Newbie

I would like to introduce Super 8086 Box, my home-built PC XT emulator for Windows which was developed based on 8086 Tiny Plus source code by Jaybert Software (https://jaybertsoftware.weebly.com/8086-tiny-plus.html)

My build of Super 8086 Box has support for Adlib sound card, Disney Sound Source / Covox Speech Thing, NE2000 networking and joysticks. The integrated debugger has also been improved, with a better interface showing register and flag values, patching port/memory addresses, as well as options for viewing/dumping raw memory and disassembly. A CPU emulation bug with the REP INSW instruction (which caused issues with various NE2000 drivers) has also been fixed. An experimental full screen mode has also been implemented. This version uses Win32 API for graphics/sound playback only - support for SDL has been removed.

A write-up on the project which explains the changes that I have made can be found here: https://www.toughdev.com/content/2023/08/supe … ne2000-support/ . The same article also provides links to download the executable for Super 8086 Box as well as Visual Studio 2015 source code. Super 8086 Box can be started by running Super8086Tiny.exe from the archive. A bootable floppy disk drive as well as a 256MB hard disk image with various DOS programs is also included.

Attached some photos of Dr Hardware showing the emulated sound devices, Microsoft Network Client correctly mounting a Samba folder shared by my router, and of the improved integrated debugger.

Reply 1 of 10, by GloriousCow

User metadata
Rank Member
Rank
Member

Nice work! I enjoyed your writeup. The part about emulating the NE2000 was interesting, as I have that ahead of me someday.

If you'd like to fix your IMUL bug and check other instructions, you may be interested in running the V20 test suite here: https://github.com/SingleStepTests/v20

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 2 of 10, by GloriousCow

User metadata
Rank Member
Rank
Member

'Super8086Tiny.exe' will not run out of the box. I gave it winpcap.dll from winpcap 4.1.2 as you had corresponding headers, but after that I get error 0x00000007. I tried installing the MSVC 2022 runtimes but that didn't fix it. Any ideas?

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 3 of 10, by mdanh2002

User metadata
Rank Newbie
Rank
Newbie

Hi @GloriousGow,

Thanks. Let me try your v20 tester to see if I can get IMUL to work, and to find out if any other instruction bug exists.

I have just updated the download link and the new Super8086Tiny.exe (located under the Release sub-folder) should now work properly. Tested under Windows 7, Windows 8, Windows 10 and Windows 11. For it to work, you will need to install WInPcap v4.1.3 (bundled with the download) and Microsoft Visual Studio 2015-2022 redistributable from Microsoft (https://learn.microsoft.com/en-us/cpp/windows … t?view=msvc-170). If you just copy winpcap.dll into the same folder, the missing WinPcap DLL will go away but it will crash when it tries to load other WinPcap resources.

Additionally the original Super8086Tiny.exe was compiled in debug mode and might have issues on machines that don't have Visual Studio installed. The new .exe file has been compiled in release mode and should have no issues.

Mouse support is there but still buggy on Windows 10 and Windows 11. I will try to find some time to work on it.

Reply 4 of 10, by GloriousCow

User metadata
Rank Member
Rank
Member
mdanh2002 wrote on 2025-05-11, 04:32:

Hi @GloriousGow,

Thanks. Let me try your v20 tester to see if I can get IMUL to work, and to find out if any other instruction bug exists.

I have just updated the download link and the new Super8086Tiny.exe (located under the Release sub-folder) should now work properly. Tested under Windows 7, Windows 8, Windows 10 and Windows 11. For it to work, you will need to install WInPcap v4.1.3 (bundled with the download) and Microsoft Visual Studio 2015-2022 redistributable from Microsoft (https://learn.microsoft.com/en-us/cpp/windows … t?view=msvc-170). If you just copy winpcap.dll into the same folder, the missing WinPcap DLL will go away but it will crash when it tries to load other WinPcap resources.

I have wireshark installed for work purposes with npcap. I don't think i can have both installed... winpcap is deprecated, but I don't know how hard it would be to rewrite your code for npcap.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 5 of 10, by GloriousCow

User metadata
Rank Member
Rank
Member

I got it working with npcap - if you have npcap installed, you can copy both the Packet.dll and wpcap.dll from C:\Windows\SysWOW64\Npcap directory into \Release where the Super8086Tiny.exe binary is.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 6 of 10, by GloriousCow

User metadata
Rank Member
Rank
Member

There's a bug with mouse capture. If you click in the window to capture the mouse, but then alt-tab away to release the capture, then when you return to the window you cannot type.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 7 of 10, by mdanh2002

User metadata
Rank Newbie
Rank
Newbie
GloriousCow wrote on 2025-05-11, 23:05:

There's a bug with mouse capture. If you click in the window to capture the mouse, but then alt-tab away to release the capture, then when you return to the window you cannot type.

Glad you've got it running with NPcap. Thanks for reporting the Alt-Tab issue, I will fix it in the next release

Reply 8 of 10, by GloriousCow

User metadata
Rank Member
Rank
Member
mdanh2002 wrote on 2025-05-12, 02:07:
GloriousCow wrote on 2025-05-11, 23:05:

There's a bug with mouse capture. If you click in the window to capture the mouse, but then alt-tab away to release the capture, then when you return to the window you cannot type.

Glad you've got it running with NPcap. Thanks for reporting the Alt-Tab issue, I will fix it in the next release

what is the intended way to release mouse capture? I haven't been able to figure it out.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 9 of 10, by mdanh2002

User metadata
Rank Newbie
Rank
Newbie
GloriousCow wrote on 2025-05-12, 02:27:
mdanh2002 wrote on 2025-05-12, 02:07:
GloriousCow wrote on 2025-05-11, 23:05:

There's a bug with mouse capture. If you click in the window to capture the mouse, but then alt-tab away to release the capture, then when you return to the window you cannot type.

Glad you've got it running with NPcap. Thanks for reporting the Alt-Tab issue, I will fix it in the next release

what is the intended way to release mouse capture? I haven't been able to figure it out.

The intended way to release the mouse capture is the F12 key (as designed by Jaybert Software). I will mention this in the article.

Reply 10 of 10, by GloriousCow

User metadata
Rank Member
Rank
Member
mdanh2002 wrote on 2025-05-12, 02:49:

The intended way to release the mouse capture is the F12 key (as designed by Jaybert Software). I will mention this in the article.

One suggestion I received and have yet to implement myself - put the release key in the title bar.

Something like
Super 8086 Tiny [Mouse Captured: Hit F12 to release]

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc