We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Notes:Revolution X (SNES)

From The Cutting Room Floor
Jump to navigation Jump to search

This page contains notes for the game Revolution X (SNES).


Special Options

On the High Score initials entry screen:

$86/A041 20 EF A1    JSR $A1EF  [$86:A1EF]   //sub loaded each time a character entered on high score initials entry screen

$86/A1EF 48          PHA
$86/A1F0 DA          PHX
$86/A1F1 E2 20       SEP #$20
$86/A1F3 AE 5D 0C    LDX $0C5D  [$86:0C5D]   //cheat progress counter
$86/A1F6 DD 1F A2    CMP $A21F,x[$86:A21F]   //compare to character in stored string ITSEASY
$86/A1F9 F0 08       BEQ $08    [$A203]      //skip to $A203 if it matches
 
failed
$86/A1FB 9C 5D 0C    STZ $0C5D  [$86:0C5D]   //reset cheat progress counter
$86/A1FE C2 20       REP #$20
$86/A200 FA          PLX
$86/A201 68          PLA
$86/A202 60          RTS

$86/A203 EE 5D 0C    INC $0C5D  [$86:0C5D]   //increment cheat progress counter
$86/A206 BD 20 A2    LDA $A220,x[$86:A220]   //check next character in stored string ITSEASY to see if it's the end of the string ($00, null)
$86/A209 D0 0F       BNE $0F    [$A21A]      //skip to $A21A if not yet finished entering the matching string

success
$86/A20B AE 3D 0C    LDX $0C3D  [$86:0C3D]
$86/A20E 8E 61 0C    STX $0C61  [$86:0C61]   //memory copy, unknown purpose
$86/A211 A2 FF FF    LDX #$FFFF              //Special Options ON
$86/A214 8E 5F 0C    STX $0C5F  [$86:0C5F]
$86/A217 9C 5D 0C    STZ $0C5D  [$86:0C5D]   //reset cheat progress counter

$86/A21A C2 20       REP #$20
$86/A21C FA          PLX
$86/A21D 68          PLA
$86/A21E 60          RTS

After exiting the High Score initials entry screen:

$86/9E01 AD 5F 0C    LDA $0C5F  [$83:0C5F]   //Special Options ON/OFF status
$86/9E04 F0 16       BEQ $16    [$9E1C]      //skip to $9E1C (exit) if OFF

enter Special Options init.
$86/9E06 A9 FF FF    LDA #$FFFF
$86/9E09 AE 61 0C    LDX $0C61  [$83:0C61]   //player 2
$86/9E0C D0 03       BNE $03    [$9E11]
$86/9E0E A9 00 00    LDA #$0000
$86/9E11 85 44       STA $44    [$00:0044]
$86/9E13 49 FF FF    EOR #$FFFF
$86/9E16 85 46       STA $46    [$00:0046]   //above lines relate to whether Player 1 or Player 2's cursor controls the menu
$86/9E18 22 4D 98 86 JSL $86984D[$86:984D]   //Special Options entry point

$86/9E1C 6B          RTL

Unused Text

Text printing block located at SNES address $84F132-84F165:

00027130      8003 0010 40F1 8004 0010 4FF1 FFFF !.....@.....O...
00027140 546F 7567 6820 7368 6974 2121 2121 FF49 Tough shit!!!!.I
00027150 2064 6F6E 2774 206B 6E6F 7720 7468 6520  don't know the 
00027160 7465 7874 21FF                          text!.

No relevant pattern matches for pointer "32F1"

Looping Screens

$86/8000 20 32 9E    JSR $9E32  [$86:9E32]   //? init.?
$86/8003 22 A7 91 86 JSL $8691A7[$86:91A7]   //? includes init. for high score table
$86/8007 22 4F 80 86 JSL $86804F[$86:804F]   //intro story
$86/800B 22 EC 90 86 JSL $8690EC[$86:90EC]   //copyright text
$86/800F 22 F9 8D 86 JSL $868DF9[$86:8DF9]   //?
$86/8013 22 95 8E 86 JSL $868E95[$86:8E95]   //Helga's No No's
$86/8017 22 4D 98 86 JSL $86984D[$86:984D]   //Special Options
$86/801B A9 00 00    LDA #$0000
$86/801E 5B          TCD
$86/801F A9 50 00    LDA #$0050              //player 1 high score lower 4 digits
$86/8022 85 48       STA $48    [$00:0048]
$86/8024 A9 50 00    LDA #$0050              //player 1 high score upper 4 digits
$86/8027 85 4A       STA $4A    [$00:004A]
$86/8029 A9 00 00    LDA #$0000              //player 2 high score lower 4 digits
$86/802C 85 4C       STA $4C    [$00:004C]
$86/802E A9 00 00    LDA #$0000              //player 2 high score upper 4 digits
$86/8031 85 4E       STA $4E    [$00:004E]
$86/8033 22 6D 9C 86 JSL $869C6D[$86:9C6D]   //high score initials entry
$86/8037 22 9C 8D 86 JSL $868D9C[$86:8D9C]   //today's revolutionaries
$86/803B 22 4F 80 86 JSL $86804F[$86:804F]   //intro story (again)
$86/803F 22 53 98 86 JSL $869853[$86:9853]   //Options
$86/8043 4C 0F 80    JMP $800F  [$86:800F]   //infinite loop starting back at Helga's No No's
$86/8047 6B          RTL                     //impossible to reach this operation. suggests a long jump (e.g., 22008086) was used to reach this sub, but no pattern matches found.)