So...I got bored. Then I decided to dissect and disassemble my VC ROMS and find differences between them and their NES counterparts! They were amazing (and time-consuming). Note that all my games are USA-based, so I cannot list differences between regional versions.
So far, I've done a few games. I'll add the rest when I get around to doing them.
1) SMB1 - Identical to the commercial NTSC release.
2) Zelda II - Seems the Game Over data was changed to avoid eyestrain?
3) SMB3 - VC also mutes the flashes in palettes for the princess room; based on the PRG1 revision.
4) Zelda I - Pretty much identical to the PRG1 version. Only differences are text pointers and the titlescreen adding -2003. Other changes done are spelling corrections to the intro to fix the Engrish, names being fixed such as the G-man and the battery backup text being removed from the Game Over screen. I can provide offsets for anyone wanting them.
I will add more games when I disassemble the differences. That's all for now. --ShaneM
So far, I've done a few games. I'll add the rest when I get around to doing them.
1) SMB1 - Identical to the commercial NTSC release.
2) Zelda II - Seems the Game Over data was changed to avoid eyestrain?
Code:
;found at ROM 0x1C9FA
ColorRotation: ;the original version
.db $12, $16, $2a, $16 ;alternates between two shades of green and a lighter red
ColorRotation ;the VC release
.db $16, $06, $16, $06 ;seems to alternate at a lighter and darker red rotation
;note that there aren't any other differences in these versions at all except for these four bytes
ColorRotation: ;the original version
.db $12, $16, $2a, $16 ;alternates between two shades of green and a lighter red
ColorRotation ;the VC release
.db $16, $06, $16, $06 ;seems to alternate at a lighter and darker red rotation
;note that there aren't any other differences in these versions at all except for these four bytes
3) SMB3 - VC also mutes the flashes in palettes for the princess room; based on the PRG1 revision.
Code:
;found at ROM 0xE19B
Rotation_Colors: ;original
.byte $26, $2A, $22, $36 ;Alternates between shades of blue, green and a caucasian pink
Rotation_Colors: ;VC
.byte $36, $36, $36, $36 ;pinky all the way! ;)
;next found at ROM 0x361BD
Letter_PaletteKludge: ;original
LDA $0711 ;1107; some sort of timer
LSR A
AND #$01
TAY ; Y = 0 or 1, changing every other tick
Letter_PaletteKludge: ;VC release
LDA $0711 ;1107; some sort of timer
JMP BF00 ;00BF
A1B0: TAY ;Y = 0 or 1, changing every other tick
BF00: ;found at ROM 0x37F10
LSR A
LSR A
LSR A
BEQ 0B
AND #$03
CMP #$02
BNE 05
LDA #$01 ;set some sort of flag
JMP A1B0 ;B0A1
05:0B:LDA #$00
JMP A1B0 ;B0A1
;What I don't understand is in the VC release, why not just do a JSR to BF00 rather than a JMP? That way, at ;either JMP A1B0 ;B0A1 they could have simply done an RTS... it would have saved them 4 bytes doing so; I ;guess space wasn't an issue.
;since an RTS takes you back to the mnemonic right after the JSR.
Rotation_Colors: ;original
.byte $26, $2A, $22, $36 ;Alternates between shades of blue, green and a caucasian pink
Rotation_Colors: ;VC
.byte $36, $36, $36, $36 ;pinky all the way! ;)
;next found at ROM 0x361BD
Letter_PaletteKludge: ;original
LDA $0711 ;1107; some sort of timer
LSR A
AND #$01
TAY ; Y = 0 or 1, changing every other tick
Letter_PaletteKludge: ;VC release
LDA $0711 ;1107; some sort of timer
JMP BF00 ;00BF
A1B0: TAY ;Y = 0 or 1, changing every other tick
BF00: ;found at ROM 0x37F10
LSR A
LSR A
LSR A
BEQ 0B
AND #$03
CMP #$02
BNE 05
LDA #$01 ;set some sort of flag
JMP A1B0 ;B0A1
05:0B:LDA #$00
JMP A1B0 ;B0A1
;What I don't understand is in the VC release, why not just do a JSR to BF00 rather than a JMP? That way, at ;either JMP A1B0 ;B0A1 they could have simply done an RTS... it would have saved them 4 bytes doing so; I ;guess space wasn't an issue.
;since an RTS takes you back to the mnemonic right after the JSR.
4) Zelda I - Pretty much identical to the PRG1 version. Only differences are text pointers and the titlescreen adding -2003. Other changes done are spelling corrections to the intro to fix the Engrish, names being fixed such as the G-man and the battery backup text being removed from the Game Over screen. I can provide offsets for anyone wanting them.
I will add more games when I disassemble the differences. That's all for now. --ShaneM