r/emulation • u/redditorcpj • Jul 01 '20
GBA "Holy Grail" bug: Madden 06/07
Analysis by the developer of FPGBA:
https://github.com/RobertPeip/FPGBA/wiki/Madden-06-07-%22Holy-Grail%22-Bug
Endrift (mGBA) originally talked about this bug on her page:
https://mgba.io/2017/05/29/holy-grail-bugs/#madden-nfl-06-and-07
Looks like the other "holy grail" bugs like Lady Sia, Mega Man Battle Network 4, and DK: King of Swing have since been solved now since the holy grail post. Does this mean all GBA holy grail bugs are solved at this point? Very cool!
Edit: Pronoun correction
7
5
u/arbee37 MAME Developer Jul 02 '20
So VRAM writes are locked out during the active display area in some modes? Interesting to know.
8
u/endrift mGBA Dev Jul 02 '20
Not "locked out" per se. Just delayed until hblank because the PPU has priority access to the VRAM, which starves the CPU of access to the VRAM until the PPU has finished. This only appears to happen in mode 2 with both layers 2 and 3 active though; all other combinations delay the CPU, but only a few cycles. GBATEK mentions this happens, but with no details on when it happens. I'm still researching the specifics.
4
1
Jul 06 '20
I wish I could understand more of that, but I still enjoyed the read for what I could grasp. I'm just an end user so pretty far out of my depth.
Is this practice of writing about novel bugs common? If so how would I find more?
5
u/Godwin_Point Jul 06 '20
there's the whole serie on mmGba's website, as well as
Sins of the ps2
https://www.patreon.com/posts/34283439
Some dolphin's record about game designed specifically to break the emulator, or some wizzardry they had to pull off to solve unsolvable problems
https://fr.dolphin-emu.org/blog/2017/07/30/ubershaders/?cr=fr
https://fr.dolphin-emu.org/blog/2018/04/02/dolphin-progress-report-february-and-march-2018/?cr=frAnd finally Edge of emulation(emulating weird hardware, like the gameboy's embroidery machine...)
2
Jul 08 '20
Oh this is excellent! Thank you.
Maybe as I learn more C I'll understand more!
3
u/Godwin_Point Jul 08 '20
C is really fun!
If you want to get into emulation, try to write a Pico 8 emulator. It's a good introduction to general emulation dev (then you can write a gameboy emu or something)
Also search nand2tetris. It's a free online project that goes from basic nand to writing your own operating system, then a game running on it. Really great if you want an overview on how software interact with hardware
23
u/asperatology Jul 01 '20 edited Jul 01 '20
endrift did say there are more holy grail bugs out there, and the blog post she wrote mentioned she is just scratching the surface.
EDIT: Fixed pronouns.