JinxDojo / genplus-gx

Automatically exported from code.google.com/p/genplus-gx
Other
0 stars 0 forks source link

"Clue" has garbled green text when selecting difficulty #318

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
load rom, when selecting difficulty, there are green garbled letters on screen 
making it a bit hard to read

What is the expected output? What do you see instead?
able to select difficulty with no problems

What version of the emulator are you using (official, SVN revision,...)?
1.7.3 SVN r757

Original issue reported on code.google.com by csatec...@gmail.com on 19 Jan 2013 at 3:01

GoogleCodeExporter commented 9 years ago
Indeed, i never noticed this before so i am not sure if this was introduced 
recently or was always the case (if you could test it with old releases, this 
could help).

It does not happen when the console is started in PAL mode which seems to 
indicate an issue with VBLANK timings (probably DMA during VBLANK), I will 
investigate it.

Original comment by ekeeke31@gmail.com on 19 Jan 2013 at 10:06

GoogleCodeExporter commented 9 years ago
for the record, it is caused by a VRAM cleanup operations being interrupted by 
vdp interrupt, which cause all later VRAM writes to be ignored after the 
interrupt callback returns

depending on when the VRAM write operation was initiated in the frame you got 
more or less garbage on screen.
the problem is that the game is kinda bugged and works on real hardware by 
luck, because it does not sync itself with anything related to vdp before 
starting the operation, so having instructions or memory access timings just a 
bit off or delayed can cause the issue to appear or disappear, which is why it 
doesn't happen the same in all emulators

i can make it work by hacking the timings  but i would prefer not and instead 
find what is off or delayed in the emulator and what 100% accurate timings 
should be

Original comment by ekeeke31@gmail.com on 21 Feb 2013 at 8:14

GoogleCodeExporter commented 9 years ago
Took me some time but it was actually fixed by handling FIFO timings properly 
in the case of invalid write access.

fixed in r762

Original comment by ekeeke31@gmail.com on 22 Feb 2013 at 10:44