I own an updated cartridge (aka "Rev A") now and would like to try enable the GBC story. Unfortunately I haven't made that gameshark code do anything on real hardware. Perhaps I need a different master code? If so I've got no idea about hacking one. Another option might be create and transfer the save file from emulation. Except I don't own any device to move N64 saves from PC... Of course there's other likely alternatives like Everdrive64.
'Master codes' simply hook the GS. If your GS's display ticks in a circle, it is running. I fyou have a PC connection, you can also automatically search for them using GSCC2k instead of trying to find them through disassembly. What's the original code from v1.0? Memory shifted a little, but I could find the offset pretty quickly.
Being FLASHram there isn't a lot you can do to upload saves. If it was eeprom a GS can swap those around via mempak. Hardware access between FLASHram titles tended to differ, so no one solution was ever found. Your new code is: F103E2C0 2400 Some external devices, such as the GS, hook themselves using the COP0 WatchLo/WatchHi register pair. To attempt to circumvent this, games started writting to these addresses with commands like: 40849000 MTC0 A0,WatchLo The enabler codetypes are GS codes executed before the GS hands control back to the cart. They allow you to overwrite these little buggers. So, the code above would become: 24009000 ADDIU R0,R0,9000 Which would do nothing, but not as quickly as a NOP_NADA.
Thanks, a step in the right direction. But again the GBC story code isn't doing much if anything noticeable on real hardware. Even though it works fine emulated. 810AB0A0 0C00 810AB0A2 0053 810AB0A4 0009 Perhaps my cartridge is different from that 1.1 rom floating around the web? I don't have a copier to compare.
Well, a GS is a copier... The problem here is you're using an NTSC v1.0 code for NTSC v1.1. The version 1.1 code should be: 810A9BC0 0C00 810A9BC2 0053 810A9BC4 0009 Then generate your CAW and copy like with the original codeset. Oddly, it really should have started at 800A9B70, but this seems to work fine. Well, I'm staring at the option in the championship settings at least. If it doesn't, use the 70 range instead. For the record HLE N64 emulators do occationally push memory around, especially if it's basing memory allocations on detected ram size. I haven't heard of a case outside of a Rare title, but there's certainly enough of those: Banjo Tooie, Donkey Kong 64, with the worst culprit being Perfect Dark.