Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GFX9000 extension bug related to R#22 #1466

Open
albs-br opened this issue Nov 30, 2022 · 7 comments
Open

GFX9000 extension bug related to R#22 #1466

albs-br opened this issue Nov 30, 2022 · 7 comments
Labels

Comments

@albs-br
Copy link

albs-br commented Nov 30, 2022

Hi guys, me and some fellows on MSX.org found a bug on the GFX9000 implementation of V9990 chip, more specifically on R#22:

The two higher bits (bits 7 and 6) are supposed to disable layers AND sprites, not just the tile patterns layer.

The documentation states:
SDA: Set to "1" to disable layer "A" and sprites.
SDB: Set to "1" to disable layer "B" and sprites.

The discussion can be viewd here (page 4 onwards).

If necessary I can provide a test ROM showing the bug.

@MBilderbeek
Copy link
Member

The simplest possible test ROM would be ideal, including a video what's happening on real MSX.
The reference to the discussion is good to have, but the core of the points in the ticket here is most helpful. :)

@MBilderbeek
Copy link
Member

@albs-br Any news on a demonstration ROM?

@albs-br
Copy link
Author

albs-br commented Aug 24, 2023

Hi, sorry, I forgot about this issue.

Now I made 4 ROMs for testing:

v9990-openmsx-issue-1466-A.rom ; ----------- Enable both layers and sprites
v9990-openmsx-issue-1466-B.rom ; ----------- Disable layer A and sprites
v9990-openmsx-issue-1466-C.rom ; ----------- Disable layer B and sprites
v9990-openmsx-issue-1466-D.rom ; ----------- Disable both layers and sprites

Green is layer A, Blue layer B and the red square is a sprite.

They change the two higher bits of R#22 (called SDA and SDB).
All 4 ROMS shows the same output on openMsx, but on real hardware will lead to different results, I suppose (I don't have physical V9990 cart).

This behaviour is undocumented, there is no info about it on the official Yamaha manual, only on MSX Banzai site.

Source code and ROMs are here (v.0.41.2): https://github.com/albs-br/msx-tests

Hope that helps and congrats for the great work on openMsx.

@MBilderbeek
Copy link
Member

Thanks. Of course we will first need someone to show this on a real MSX with V9990 before we can change any openMSX code.

@albs-br
Copy link
Author

albs-br commented Aug 25, 2023

Probably the best way is asking for help on msx.org forum.

@MBilderbeek
Copy link
Member

Done: https://www.msx.org/forum/msx-talk/openmsx/test-some-v9990-roms

@MBilderbeek
Copy link
Member

Attached ROMs confirmed working on real machine in that thread. In openMSX, they all give the same output indeed. Source code is available as mentioned in the above post.
testroms.zip

@m9710797 can you take a quick look?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants