Been reading this thread, and just wanted to say a little something about cycle accurate emulation. If nothing else, for argument's sake …
Let’s take, say, for example an IBM Personal Computer AT, model 5170 with an EGA. Never had it, and probably never will. Still, I would love to see it programmed in the same way as 5150 (with a CGA and 640 KB RAM) was with 8088 MPH and Area 5150. It would be nice to see what a demo group could get out of a 5170, if they would not to worry that their code might not work on some other similar computers.
And taking that thought further, perhaps the same applies for all DOS computers. It would be interesting if a random 386 PC with a random VGA card would be treated as an individual computer and programmed as such. Yes, only a handful or even one such computer (I mean exactly alike) computer might even exist, so there would not be too many people who could run the demo on real hardware, but then again, for example, I cannot run 8088 MPH at home but I still enjoyed it via YouTube. (And hey, if I’m lucky, I might even experience it on a true 5150 on some day, maybe at a special demo convention or in some computer museum.)
But, to make the IBM 5170 AT/EGA demo of your dreams, you will need the real deal with real EGA monitor, and you will have to do all the programming and debugging with that old and delicate piece of hardware. Then again, if you don’t have 5150 but you do have the AWESOME MartyPC emulator, you can make a demo for a real 5150 and be 100 % sure that your code will work correctly on real hardware.
So, cycle accurate 5170 (for example) emulation might be a fun thing after all!
Oh well, dunno, just a thought. Maybe there are not people who are interested in making this type of demos anyway, or maybe quirks and glitches that need hyper accurate emulation to be exploited don’t even exist.
And yeah for sure, DosBox and 86Box will probably be more than sufficient for testing my own amateurish assembly code for 286/386. But still, I just love MartyPC’s debugging features and the IDEA of accurateness! And for some reason 86Box makes my Mode Y smooth scrolling VGA "engine" jitter a LOT while on real hardware it is butter smooth. Maybe that just a 70hz thing on my 60hz laptop screen… Luckily on DosBox it does not jitter so badly, even though it is not certainly as smooth as on real hardware.
I was thinking about doing some timing experiments on horizontal and vertical blanks and syncs with PIT, maybe to create some sort of vblank interrupts or something like that, but somehow I’m not comfortable about the idea on current emulators. Probably need not to worry though!
Whoops a long post, sorry about that...