The MIPS assembly code is up on the Github and commented!donluca wrote: ↑Sat Jun 21, 2025 9:24 amI've been toying with the Master System BIOS for a while so I'm still pretty fresh on assembly code.bobrocks95 wrote: ↑Wed Apr 30, 2025 5:15 pm BIOS versions have been interchangeable so far in my experience, though I'd stick to the same region if possible.
For those curious the "alternative code injection point" note is some early BIOS with a slightly different boot code that doesn't have some spare NOPs to replace with jump instructions for the Game ID routine. There's likely suitable spots to use but they'd need their own testing and when the versions appear interchangeable, not a huge demand.
It's also been a couple years since I looked at the assembly code and I've probably forgotten how most of it works by now![]()
If you have documented somewhere the changes I'd love to give this a shot in my free time, if it could be of use to someone.
The high-level summary of the reverse-engineering aspect was very straightforward if you've done any basic code injection before- keep an eye on memory during the boot process until the boot file on the disc has been read and stored, find a good point in the code after this to replace some NOP instructions with a jump, jump to a scratch or empty area of the code with your routine injected, save register states, do whatever you want to do, restore registers, jump back to the original injection point to continue the boot process. Replace step 1 with whatever you're trying to alter I'd imagine- region checks, whatever.