In the NES game Yoshi's Cookie, you may be bothered by the cursor obscuring the cookies (top row in the screenshots). However, you can replace the cursor in one of two ways:
1) Edit the iNES ROM with a hex editor to replace the cursor tiles with a blinking square in CHR ROM (middle row in the screenshots):
- 0xff818181818181ff0000000000000000 to 0x200b0-0x200bf
- 0x0000000000000000ff818181818181ff to 0x200f0-0x200ff
2) Or, use these Game Genie codes to replace the cursor sprites with sprites that look like hands (bottom row in the screenshots): XSOSOEZA + NSOSVETA
(continued)
#NES #YoshisCookie #gameHacking #GameGenie
(continued)
How I found the Game Genie codes using FCEUX:
1) By looking at the CHR ROM, I knew I wanted to use tile 0xd2 instead of 0x0a and 0xd7 instead of 0x0e.
2) I looked at RAM in Hex Editor. A copy of sprite data was at 0x0700-0x07ff. The cursor was in the 2nd sprite slot, so the tile was at 0x0705.
3) I set a breakpoint on 0x0705 write in Debugger. It found STA $0701,X. The previous instruction was LDA ($00),Y. Whenever that was run, RAM 0x00 contained 0x98 or 0x9d, RAM 0x01 contained 0xd8 and Y was 1, so a byte was being copied to A from RAM 0xd899 or 0xd89e.
4) Indeed, during gameplay, CPU address 0xd899 contained 0x0a and 0xd89e contained 0x0e.
5) I used https://www.nesdev.org/nesgg.txt to create the codes:
- XSOSOEZA = "if the CPU tries to read a PRG ROM address that's currently mapped to CPU 0xd899 and contains 0x0a, return 0xd2 instead".
- NSOSVETA = same but 0xd89e, 0x0e and 0xd7, respectively.
#NES #gameHacking #GameGenie