First post, by phix
I'm currently working on a small PC/XT emulator as a learning experience and so far things has progressed quite nicely. 😀
Currently I'm at a state where I handle all 8086 instruction (with only one or two exceptions) and I'm using a modified version of Adrian Cable's BIOS for his 8086tiny project.
I have *some* emulation in place for the PC hardware like PIC, PIT and video that allows me to actually run not only the BIOS code but also some smaller applications (some boot-sector games kind of works).
So the current problem I have right now (which leads me to the question here) is that I have bugs in my instruction interpretation. I have not yet been able to boot a real OS for example.
This is of course not always that easy to track down so I have been thinking of ways to help with debug that.
1.) The obvious thing would be to use application level unit tests. (preferably I should have done that from day one, but I have not)
2.) The other thing I did try was to do "locksteping" with a known working emulator. That helped me track down a few things but it got very complicated in the end.
3.) The other thing i ran across was this: https://github.com/spycrab/8086-accuracy. This program is no where near complete (and has a few problems of its own) but it got me thinking that there might be others like it!
So my QUESTION is:
Are there any CPU verification program that run on a 8086/88 CPU? I imagine it would be very helpful in emulator development if it did.
Especially when you are relatively new to the subject like I am. 😀
Any help or tips is greatly appreciated!
VirtualXT - A portable, lightweight IBM PC/XT emulator written in C.