NES vs VC Differences

You can talk about almost anything that you want to on this board.

Moderator: Moderators

User avatar
ShaneM
Posts: 353
Joined: Wed Apr 04, 2012 4:15 pm
Location: United States of America (USA)
Contact:

NES vs VC Differences

Post by ShaneM »

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?

Code: Select all

;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
3) SMB3 - VC also mutes the flashes in palettes for the princess room; based on the PRG1 revision.

Code: Select all

;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.
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
tepples
Posts: 22733
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES vs VC Differences

Post by tepples »

Three words should tell you everything you need to know about why these palette changes were made: Cyber Soldier Porygon.
Drag
Posts: 1623
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Re: NES vs VC Differences

Post by Drag »

I can do it in just one: Epilepsy. :P

<shameless plug>
The Cutting Room Floor is interested in original release vs. virtual console release differences, if you wanted a good place to document your findings. :D
</shameless plug>
User avatar
ShaneM
Posts: 353
Joined: Wed Apr 04, 2012 4:15 pm
Location: United States of America (USA)
Contact:

Re: NES vs VC Differences

Post by ShaneM »

Drag wrote:I can do it in just one: Epilepsy. :P

<shameless plug>
The Cutting Room Floor is interested in original release vs. virtual console release differences, if you wanted a good place to document your findings. :D
</shameless plug>

I've got about 15 more games to disassemble. But the ones listed above are ready to go on there, if you'd like. I've also listed the ASM changes/data differences and ROM addresses. --ShaneM

EDIT: Just learned in the process that BGE is another way of doing BCS, just like BLT is the same as BCC. Cool.
WedNESday
Posts: 1284
Joined: Thu Sep 15, 2005 9:23 am
Location: Berlin, Germany
Contact:

Re: NES vs VC Differences

Post by WedNESday »

Drag wrote:I can do it in just one: Epilepsy. :P
Action speaks louder than words! For those of you who have never seen it.

**EPILEPSY WARNING** **EPILEPSY WARNING** **EPILEPSY WARNING**

http://www.youtube.com/watch?v=1K05VFYKsLg

**EPILEPSY WARNING** **EPILEPSY WARNING** **EPILEPSY WARNING**
User avatar
ShaneM
Posts: 353
Joined: Wed Apr 04, 2012 4:15 pm
Location: United States of America (USA)
Contact:

Re: NES vs VC Differences

Post by ShaneM »

Hey guys. Okay; I get it. The epilepsy thing. Cool. I got that 3 posts ago, too.

So... let's just wait and see if the other games have changes other than that or not, like Zelda I did. I plan on adding some more next week. But please, I'd like to keep this thread clean and free from clutter. Thanks. 8-) --ShaneM
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: NES vs VC Differences

Post by Zepper »

Is a RGB palette (or in another format) included in each game?
strat
Posts: 409
Joined: Mon Apr 07, 2008 6:08 pm
Location: Missouri

Re: NES vs VC Differences

Post by strat »

I tried a while back looking for an nes rom within a VC wad file and assumed the rom is compressed. Are NES roms readily viewable within the wads you have?
tepples
Posts: 22733
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

WADception

Post by tepples »

I guess that explains why Id never officially ported Doom to the Wii: you'd have to put a WAD in your WAD so you can kill while you kill.
WedNESday
Posts: 1284
Joined: Thu Sep 15, 2005 9:23 am
Location: Berlin, Germany
Contact:

Re: WADception

Post by WedNESday »

tepples wrote:
tepples wrote:I guess that explains why Id never officially ported Doom to the Wii: you'd have to put a WAD in your WAD so you can kill while you kill.
I guess that explains why Id never officially ported Doom to the Wii: you'd have to put a WAD in your WAD so you can kill while you kill.
Yo dawg, I heard you like posts. So I put one of your posts into one of your posts so that you can post while you post.

...on a more serious matter, what Zepper said.
User avatar
ShaneM
Posts: 353
Joined: Wed Apr 04, 2012 4:15 pm
Location: United States of America (USA)
Contact:

Re: NES vs VC Differences

Post by ShaneM »

Zepper wrote:Is a RGB palette (or in another format) included in each game?
The NES emulator doesn't seem to make use of an RGB color scale (like I think the rest of the consoles on VC do), but is instead based on the NTSC signal in the TV. I guess it's all based on what type of tv the gamer is using. I think VC NES games are overall darker (and much preferable, IMO) than original NES due to the fact that emulation is done on more modern 1080p/720p LED tvs, with RGB components.
strat wrote:I tried a while back looking for an nes rom within a VC wad file and assumed the rom is compressed. Are NES roms readily viewable within the wads you have?
Nope. They are actually compressed in the .wad files. When I decompressed them, I had many files and had to find the ROM data by disassembling code and data. --ShaneM
tepples
Posts: 22733
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES vs VC Differences

Post by tepples »

ShaneM wrote:The NES emulator doesn't seem to make use of an RGB color scale (like I think the rest of the consoles on VC do), but is instead based on the NTSC signal in the TV.
So how does it run on a component TV?
User avatar
ShaneM
Posts: 353
Joined: Wed Apr 04, 2012 4:15 pm
Location: United States of America (USA)
Contact:

Re: NES vs VC Differences

Post by ShaneM »

tepples wrote:
ShaneM wrote:The NES emulator doesn't seem to make use of an RGB color scale (like I think the rest of the consoles on VC do), but is instead based on the NTSC signal in the TV.
So how does it run on a component TV?
Well, I'm really more of an assembly guy than hardware, but I'd imagine that there's some sort of 'tuner' in tvs that determine the exact brightness. Assuming it's an HD tv, I imagine that you 'make use of' or 'take advantage of' either composite or component (RGB) indirectly, but the VC NES emulator does not seem to directly use RGB. --ShaneM
Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: NES vs VC Differences

Post by Sik »

For what's worth, as far as I know the Wii doesn't use 24/32-bit RGB for its framebuffer, but 16-bit YUV (which results in artifacts even with a pure signal since the UV part is given less space). I wouldn't be surprised if it's possible to use the YUV format directly.

Does anybody know what's the exact format used by the Wii framebuffer?
Shonumi
Posts: 342
Joined: Sun Jan 26, 2014 9:31 am

Re: NES vs VC Differences

Post by Shonumi »

Sik wrote:For what's worth, as far as I know the Wii doesn't use 24/32-bit RGB for its framebuffer, but 16-bit YUV (which results in artifacts even with a pure signal since the UV part is given less space). I wouldn't be surprised if it's possible to use the YUV format directly.

Does anybody know what's the exact format used by the Wii framebuffer?
The Wii (and GC for that matter) actually have two framebuffers, the Embedded Frame Buffer (EFB) and the External Frame Buffer (XFB). The EFB can be RGB, but this image is always sent to the XFB (which in that case it will have to be converted to YUYV, according to Dolphin) before it reaches your TV. Also according to Dolphin:

Code: Select all

// GameCube/Wii XFB data is in YUYV format with ITU-R Rec. BT.601 color
// primaries, compressed to the range Y in 16..235, U and V in 16..240.
I'm not sure if VC games bypassed the EFB and wrote directly to XFB; in that case it would make sense not to see any obvious signs of direct RGB usage. Hope that clarifies some things. And good luck ShaneM, I look forward to seeing more results from your endeavors :)
Post Reply