If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!
User:Blaziken257/3DS Virtual Console changes
Contents
3DS Virtual Console changes
Some 3DS Virtual Console changes for Game Boy (Color) games that I own. I'm just putting my notes down here, so it is disorganized at the moment.
This was made possible by the spider exploit and dumping the memory; GB ROMs can be found starting at offset 0x28002C4 in the memory dump.
All Virtual Console games appear to be based on the latest revision of each game (for example, v1.2 for Super Mario Land 2, v1.1 for Donkey Kong Land III, etc.). This is evidenced by the fact that global checksums in the game's header are unchanged.
Donkey Kong Land
Identical!
Donkey Kong Land 2
5:46B7: and a,0F -> and a,1F 5:46B9: cp a,0B -> cp a,1B
Effect: Toned down flashing in Glimmer's Galleon
5:46DC: and a,0F -> and a,1F 5:46DE: cp a,0B -> cp a,15
Effect: Toned down flashing in Lava Lagoon and Clapper's Cavern
Donkey Kong Land III
Identical to English v1.1!
Super Mario Land 2
F:605F: ld (A27E),a -> nop nop nop F:6066: ld (A280),a -> nop nop nop
Effect: Toned down lightning strikes in entrance to Wario's Castle
Metroid II
5:412A: cp a,10 -> cp a,0C
Effect on title screen (Python implementation):
frame = 0xFFFF #0xD066 in RAM, little-endian
while frame > 0:
bg_pal = 0x93 #Black palette -- register 0xFF47
if (frame & 0x302) == 0x2:
#Bitfield: 0bxxxxxx00xxxxxx1x
if system == "Game Boy" and (frame & 0x3ff) < 0x10:
bg_pal = 0x90 #Flashing white palette -- register 0xFF47
elif system == "3DS" and (frame & 0x3ff) < 0x0c:
bg_pal = 0x90 #Flashing white palette -- register 0xFF47
set_bg_pal(bg_pal) #Write to register 0xFF47
#Game Boy: Background will flash with frame values: 0x2, 0x3, 0x6, 0x7, 0xa, 0xb, 0x402, 0x403, etc.
#3DS: Background will flash with frame values: 0x2, 0x3, 0x6, 0x7, 0x402, 0x403, etc.
frame -= 1
Summary: Toned down flashing on title screen so that only 3 flashes (instead of 4) occur per 1024 frames
Wario Land 3
Several unknown changes! Some of them may be color palettes, since there are several little-endian values of FF 7F (white) which were changed to something else.
13:504C: db 10 -> db 08 13:506D: db E0,7F,FF -> db AA,6A,EF 13:5075: db 9F,0D -> db D7,04
Effect: ???
21:484A: dw 7FFF -> dw 39CE 21:4850: dw 7FFF -> dw 39CE 21:4858: dw 7FFF -> dw 39CE 21:4860: dw 7FFF -> dw 39CE 21:4864: dw 7FFF -> dw 39CE 21:486A: dw 7FFF -> dw 39CE
Effect: ???
21:698D: dw 7FFF,7FFF -> dw 2D6B,2D6B 21:6995: dw 7FFF -> dw 2D6B 21:699F: dw 7FFF -> dw 2D6B 21:69A5: dw 39CE,7FFF -> dw 2D6B,2D6B 21:69AD: dw 39CE -> dw 2D6B 21:69B5: dw 7FFF -> dw 2D6B 21:69BD: dw 7FFF -> dw 2D6B 21:69C5: dw 7FFF,7FFF,39CE -> dw 2D6B,2D6B,2D6B
Effect: The cutscene after getting the red chest in Out of the Woods (where The Pool of Rain and A Town in Chaos become accessible) has different color palettes when flashing (while it is raining). This may possibly affect other cutscenes as well?
2D:67C7: ld a,22 -> FC (Invalid opcode?) 2D:6836: ld a,0A -> FC (Invalid opcode?)
Effect: Unknown, probably causes the game to crash on real hardware and emulators such as BGB
2D:69A6: ld a,9C -> ld a,4A 2D:69A9: ld a,73 -> ld a,29
Effect: ???
Super Mario Bros. Deluxe
Invalid FC opcodes (freezes on BGB), printing is completely disabled (pressing A has no effect)
| To do: Work more on this. |
The Legend of Zelda: Link's Awakening DX
Invalid FC opcodes (freezes on BGB)
| To do: Work more on this. |