|
I was having trouble running bill and teds adventure. I got the game to work by ignoring writes which use arithmetic instructions to memory 8000-ffff. the game was doing inc $FFFF the byte contained at FFFF was FF, so I was basically writing zero to FFFF, which is the mmc1 register. once I ignored the write, the game worked. I saw in another emulators source that the inc instruction actually writes to memory twice, it reads in the byte, then writes the same byte it read in, then does the inc, then writes the result. the emulator "FCE" implimented a feature in the mmc1 source that basically ignores a writes if the writes are done to fast. ie, it would take the first write, and reject the second because it was to soon after the first. I was just wondering which instructions write to memory twice in a row, and why.
|