V9990 - differences between open msx and real hardware

Page 2/2
1 |

Par Manuel

Ascended (19676)

Portrait de Manuel

13-02-2017, 20:43

Well, perhaps you can write some typical tests specifically to investigate this behaviour. If you have some good test case with a video or screenshot showing the output, or even better, if you understand what the hardware is doing in that test, we can start to think of how to emulate it.

Par Joel Verdonck

Rookie (28)

Portrait de Joel Verdonck

14-02-2017, 16:34

I'll write a program with all the differences I've found so far from real hardware and open MSX. Apparently, I give you a lot of work since Metal limit Smile
For what I know so far:
* line interrupt: the real VDP doesn't allow to disable/enable display and sprites during a line interrupt, open MSX yes, the real VDP will always wait the VBL to taking action.
* impossible to blit certain areas of the memory (that I really do not understand), I'll provide you a rom with one example + the code.

regards,
Joël

Par hit9918

Prophet (2932)

Portrait de hit9918

14-02-2017, 20:26

oh, only a 32k area. strange. my RAM banks theory does not fit.

new funny theory: a vram area for important data is protected from blitter driver bugs Smile

because, when I see the shitload of vram of the gfx 9000, I think "sin cos mul tables". to be used with vpeek.
the 9990 design might think of a usage with a little computer, little cpu RAM, all bucks spent on the vram.
well, the "shield important cpu data" theory Smile
I assume that vpoke vpeek still work in this area.

or this one:
part of the charset is protected from blitter overwrite bugs. the usual charset for the level graphics.
and in the rest the blitter can run wild for software sprites and stuff.

Par Manuel

Ascended (19676)

Portrait de Manuel

15-02-2017, 00:07

JOel: thanks. For that 2nd thing: can you find out details about which area is not allowed and what actually happens? (Which data is taken?)
For the 1st thing: can you give us a demo program to show the issue so we can test it on openMSX to confirm the fix, once we have it?

Page 2/2
1 |