Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|08626||Graphics||Major||Always||May 5, 2023, 20:11||21 days ago|
|Tester||HeroponRikiBestest||View Status||Public||Platform||MAME (Self-compiled)|
|Assigned To||Resolution||Open||OS||Linux (64-bit)|
|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|
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.|
|Affected Sets / Systems||gba [monstgat]|
monstgat.nv (65,536 bytes) May 5, 2023, 20:11 Uploaded by HeroponRikiBestest
Monster Gate save file for reproducing graphical issue.
monstgat.png (11,695 bytes) May 5, 2023, 20:12 Uploaded by HeroponRikiBestest
Snap screenshot file displaying issue.
|There are no relationship linked to this issue.|
30 days ago
|Confirmed. Thank you.|
28 days ago
edited on: 28 days ago
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.
21 days ago
|Further info at https://github.com/ares-emulator/ares/issues/1113|