the cutting room mirror

Donkey Kong (NES, Famicom Disk System)

This article has a talk page!
view on tcrf.net

This page contains notes for the game Donkey Kong (NES, Famicom Disk System).

Animal Crossing (USA) ROM#

The version present in Animal Crossing appears to be a modified World ROM - it's the same as said ROM but prefixed with 0x3FD0 bytes of 00, then EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA A5 18 29 02 60 A5 15 29 08 0A 0A 6D 00 02 60 00 00 00 00 00 00.

This forms the following routines:

  1. 27 NOPs (54 CPU cycle delay) followed by LDA $18; AND #$02; RTS
  2. LDA $15; AND #$08; ASL A; ASL A; ADC $0200; RTS followed by 0 padding

Routine 1 was likely inserted in order to work around frame timing issues in the emulator. Routine 2 was inserted as part of changing the title screen to allow use of the Up/Down buttons.

The original game has no unique code at CPU $8000-$BFFF, it is only 16KiB in size. The PRG-ROM was expanded to 32KiB solely to insert this new code, much like the version of Clu Clu Land also present in Animal Crossing.

The following bytes were also altered to aid with these changes (using PRG-ROM offsets from the original version):

  • 0x0943 - 20 to 2C, which alters an AND operand.
  • 0x096A - AD 00 02 = LDA $0200 to 20 F0 BF = JSR $BFF0, which calls routine 2 above.
  • 0x0972 - D0 = BNE to 90 = BCC
  • 0x0974 - A9 74 = LDA #$74 to E9 40 = SBC #$40
  • 0x34ED - A5 18 29 02 = LDA $18; AND #$02 to 20 D0 BF EA = JSR $BFD0; NOP, which calls routine 1 above. (the extra NOP is padding)