Clu Clu Land (NES)
|Clu Clu Land|
Present at the beginning of the ROM.
The version present in Animal Crossing has a few modifications from the World version of the NES ROM.
Idle Loop Code
The first one changes the portion of the idle loop code. Specifically, the portion of RNG.
They replaced opcodes LDA $0010 / AND #$02 at 0x00359D with JSR $BFE0, the address where they put the same LDA $0010 / AND #$02 opcodes but prefixed with 12 NOPs which is just dumb CPU delay trick. The original game has no code at $8000-$BFFF, it is only 16K in size. The VC ROM is expanded to 32K to have an extra space to put this patch. The rest of extended space is empty and filled with zeroes.
The reason for this patch is not so clear currently. Maybe this is for changing the overall game behavior comparing with the original, but maybe for fixing some emulation issues.
A similar modification was made to most of the other Animal Crossing ROMs.
3,000-Point Bonus Bug
When you beat every 5th level, the game rewards you with a 3,000-point bonus and the text "PERFECT 3000!" However, the World version of the NES ROM has a wrong bit-flag in the score addition routine which controls the decimal digit to be modified, resulting in the game adding 30 points to your score rather than 3,000.
The Animal Crossing version fixes this by changing byte $80 to $08 at 0x000571.