Code: Select all
DI : ... : EI
Code: Select all
DI : ... : EI
Code: Select all
uint8_t lobyte = *((uint8_t*)0xe005);
uint8_t hibyte = *((uint8_t*)0xe005);
uint16_t lines = 1024 - ((uint16_t(hibyte) << 8) | uint16_t(lobyte));
No, I did not. Tried this now but it did not make a difference.hlide wrote: ↑Thu Nov 07, 2019 9:17 am I guess you wrap it withto delete any interrupt?Code: Select all
DI : ... : EI
Yes, that's possible, I don't know the internals of this emulator. Unfortunately it's the only emulator I've got working on Linux.hlide wrote: ↑Thu Nov 07, 2019 10:40 am Emulator: I'm not expecting the emulator to run each instruction at an accurate 3.57 MHz frequency. An emulator tends to run a batch of instructions then pause to make the overall speed close to the simulated frequency. So you may not capture the counter value at the right time.
It's a real 700.
I know, it looks strange but this gives the correct result with this compiler. C is big endian, but shifting the most significant byte to the left gives the opposite result of what I expect.
Code: Select all
Pixel PAL NTSC
VDISP 200 200
VBLANK 112 62
VTOTAL 312 262