I ma trying to develop my first game for G7000, and while I have a G7000+flashcart, testing everything on that is way too much wear on the connectors (pulling out cart, reprogramming, inserting etc.) hundreds of times, so I try to develop using o2em120b5win for most of my testing and then a few times per day testing on real hardware.
I use the emulator with the -euro switch to get timing and behavoir to emulate my G7000.
Unfortunately I have noticed that the emulation and real hardware differs quite a lot, to the point where it's almost impossible to predict if something will work on real hardware or not even if it works in the emulator.
For example, one time I had forgot to disable the VDC while putting in new data in registers, worked fine in emulator but of course crashed on real hardware.
I have also noticed that o2em seems to continue drawing sprites in the emulator even if you disable them in the VDC - on real hardware the display stops when you disable them etc.
Right now I have run into some really weird timing bug.
The following piece of code
mov r0,#vdc_color
mov a,#col_bck_green
movx @r0,a
mov r0,#vdc_control
mov a,#002h
movx @r0,a
mov r0,#vdc_color
mov a,#col_bck_red
movx @r0,a
In o2em I get a green area that is perhaps 15 rasterlines high?!
On real hardware, I get the expected behavior, with a short green (maybe half a rasterline) and then the red starts.
Is there any other emulator I could try with more cycle accurate 8245 emulation?
-edit- Oh, and I'm well aware of that the problem is that I probably make mistakes and program stuff the "wrong" way, but having the emulator actually emulate what happens when you do things wrong is a very nice feature!
