Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08626 Graphics Major Always May 5, 2023, 20:11 May 17, 2023, 18:50
Tester HeroponRikiBestest View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Open OS Linux (64-bit)
Status [?] Confirmed Driver
Version 0.254 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08626: gba [monstgat]: Monster Gate (Japan) - Screen Covered With Dashes With Max Cards
Description If you fill all 10 of your cards/items slots, the screen will be covered with dashes, and this will show up everytime you open your list of cards (which is pretty much all the time, since you need it to use items.)
Seems to occur on Rev 1 as well, and the save seems to work there too, but most testing was done with the original version. (Also, as far as I can tell mame doesn't have Rev 1 added anyways; either that or mame only has rev 1 and not the original. Regardless therof, I used whatever version of monstgat that was in mame's softlist.)

This issue was fixed in mGBA in commit https://github.com/mgba-emu/mgba/commit/4ce9b83362ad66b1421afea7372adfc753bce97c between releases 0.1.0 and 0.1.1, and the game has continued functioning properly from there until now, as of the latest nightly.

Apparently, this is the result of a documentation error in gbatek. While I don't know of any existing correct documentation, it seems like mode0 can only use the first 64k of vram for background tiles.

Pulled and compiled the latest commit as of yesterday. (I also tested it on 0.252 afterwards and the issue was still there too, if it matters)
Tested on Linux Mint 21.1
Steps To Reproduce To reproduce, load the attatched save file, choose to continue, and immediately walk to the right; your 10th card slot will be filled up, and the card screen will display, showing the issue.
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems gba [monstgat]
Attached Files
? file icon monstgat.nv (65,536 bytes) May 5, 2023, 20:11 Uploaded by HeroponRikiBestest
Monster Gate save file for reproducing graphical issue.
png file icon monstgat.png (11,695 bytes) May 5, 2023, 20:12 Uploaded by HeroponRikiBestest
Snap screenshot file displaying issue.
HeroponRikiBestest
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.21406
Fujix
Administrator
May 8, 2023, 09:50
Confirmed. Thank you.
User avatar
No.21427
HeroponRikiBestest
Tester
May 9, 2023, 22:09
edited on: May 9, 2023, 22:09
Further research done at nanoboy, added with https://github.com/nba-emu/NanoBoyAdvance/commit/87396726e513863bb9d1612a3d6a29ca6f72720a


> If this is it then it is indeed what I suspected: open bus from the internal background VRAM bus. This means that the data that was most recently (successfully) read from background VRAM is read and interpreted as tile data.
> In the simple case where only one background layer is enabled this is the tile map entry that was fetched before the tile data.
> With multiple background layers the situation most likely is more complicated and the data that is returned could be map or tile data from another background layer.
> Monster Gate still works with my change, so that's good.
>
> I think I pretty much confirmed that it's open bus and background layers can affect other background layers.
> Luckily this is very easy to support with NBA's cycle-accurate PPU emulation.
> Other emulators are advised to just return 0 for the out-of-bounds accesses, since they do not replicate the proper VRAM access patterns for open-bus to return the right values.
User avatar
No.21450
HeroponRikiBestest
Tester
May 17, 2023, 18:50
Further info at https://github.com/ares-emulator/ares/issues/1113