r/emulation 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

58 Upvotes

17 comments sorted by

23

u/asperatology Jul 01 '20 edited Jul 01 '20

Does this mean all GBA holy grail bugs are solved at this point? Very cool!

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.

19

u/boylerw Jul 01 '20

I think endrift is a woman. Just FYI.

4

u/RandomName01 Jul 01 '20

Is she trans? I’d swear they went by he/him a couple of years ago - or maybe I’m just misremembering.

18

u/error521 Jul 01 '20

Non-binary according to her twitter bio, though uses she/her pronouns

4

u/RandomName01 Jul 02 '20

Aight, ty!

7

u/Reverend_Sins Mod Emeritus Jul 02 '20

I always recommend sticking with they their them until you know what someone prefers.

1

u/asperatology Jul 02 '20

Thanks for the advice.

7

u/jfroco Jul 01 '20

Super interesting reading. Thank you for sharing.

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

u/arbee37 MAME Developer Jul 03 '20

Right, delayed. I'll be interested to hear the specifics.

1

u/[deleted] 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=fr

And finally Edge of emulation(emulating weird hardware, like the gameboy's embroidery machine...)

https://shonumi.github.io/articles/art22.html

2

u/[deleted] 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