Quantcast
Channel: VBForums - Application Testing
Viewing all articles
Browse latest Browse all 11

Pure VB6 8086 PC emulator!

$
0
0
Hello, I've been working on this 8086 PC emulator written completely in pure VB6, called vb8086. Thought it would kind of fun and something not seen before (afaik) in VB6. There's a good reason for that, VB6 sucks for this type of thing but it was fun to do. Not everything will run perfectly yet, I believe there is a bug in emulation of the 16-bit IMUL/IDIV instructions. I am working on it.

So basically, this emulator supports the basics of the old 8086 style PC hardware platforms. The CPU instructions are totally emulated, minus the bugs I mentioned. The i8253 timer chip is emulated, as well as the i8259 interrupt controller. Disk functionality is emulated for both floppy and hard drives through interrupt 13h calls. Some games run very well in it right now, but many are crippled by the IMUL/IDIV bugs. One in particular that runs awesomely is Ultima 6. I've beaten the whole game inside my emulator without any issues. Ms Pacman runs well too, and a lot of other older ones. The PC speaker is emulated kind of poorly, but I'm working on that too.

As far as video emulation support, it supports the CGA video and text modes, as well as 320x200 8-bit VGA/MCGA mode.

So, I'm providing all of the source code as well as a few data files with the font and BIOS. This stuff is all legal to distribute, I carefully checked that out. I didn't include the .EXE to comply with the forum rules, but you can easily compile it yourself. Just load the vb8086.vbp file and compile. If you get any errors compiling or running, run the resreg.bat file with will register dx8vb.dll and comdlg32.ocx with Windows and try again.

I also included a blank 20 MB hard drive image to use in the emulator with the BARE BASIC FILES for booting DOS 6.22. Only the ones MS allows to be freely distributed. command.com, io.sys and msdos.sys. Use a utility like WinImage to insert files for DOS applications or games into the file drive0.raw, so that you can run them in the emulator.

I'd love feedback. Being VB6, it's not very fast. You'll want at least a 3 GHz CPU. Runs great on my eight-core FX-8150 (using only one core of course)... runs just about as well on my older 3 GHz Pentium 4. It runs like CRAP on my 1.66 GHz Intel Atom netbook. Don't even bother with something that slow, you'll be disappointed.

Here are all the files: http://rubbermallet.org/vb8086.zip (about a 1.4 MB download, expands to over 20 MB mostly just from the blank hard drive image)

Here are some screenshots of it running just to give an idea of what it looks like and can do:






Viewing all articles
Browse latest Browse all 11

Latest Images

Trending Articles





Latest Images