If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Notes:Super Punch-Out!! (SNES)
Jump to navigation
Jump to search
This page contains notes for the game Super Punch-Out!! (SNES).
Addresses are for the USA version unless noted.
Contents
Offsets (US)
ROM start / end address, SNES start / end address, type, is data compressed y/n, description
last updated 20180523 003291 003295 00B291 00B295 CODE N Check if Special Circuit completed 003296 00329B 00B296 00B29B CODE N TODO 00329C 0032A2 00B29C 00B2A2 CODE N Ending main 0032A3 0034A9 00B2A3 00B4A9 CODE N Ending part 1 0034AA 003AA3 00B4AA 00BAA3 CODE N Ending part 2 0075D0 007F8F 00F5D0 00FF8F --- - UNUSED SPACE 007FC0 007FFF 00FFC0 00FFFF DATA N Cartridge header 03E3CC 03E4FF 07E3CC 07E4FF PROTO N PROTOTYPE fragment (matches up to ROM offset 00711D-00725C) 04E936 04E94D 09E936 09E94D TODO - Possible PROTOTYPE fragment (unconfirmed UNUSED SPACE) 04E94E 04FFFF 09E94E 09FFFF PROTO N PROTOTYPE fragment (UNUSED SPACE up to ROM offset 04FF7F) 056D5E 057FFF 0AED5E 0AFFFF PROTO N PROTOTYPE fragment (UNUSED SPACE up to ROM offset 057F7F) - verify start address! 05F47B 05FFFF 0BF47B 0BFFFF PROTO N PROTOTYPE fragment (UNUSED SPACE up to ROM offset 05FF7F) - verify start address! 067146 067FFF 0CF146 0CFFFF PROTO N PROTOTYPE fragment (UNUSED SPACE up to ROM offset 067F7F) - verify start address! 076D90 0773DC 0EED90 0EF3DC --- - UNUSED SPACE 07EE86 07EF7F 0FEE86 0FEF7F --- - UNUSED SPACE 087979 087AFF 10F979 10FAFF --- - UNUSED SPACE 09446D 09595F 12C46D 12D95F PROTO N PROTOTYPE fragment (exact match of ROM offset 09C46D-09D95F) 095960 095ABF 12D960 12DABF PROTO N PROTOTYPE fragment (not included in ROM offset 099CDB-09D95F fragment, matches up to ROM offset 0066B7-006816) 099CDB 09D95F 139CDB 13D95F PROTO N PROTOTYPE fragment (matches up to approx. ROM offset 002054-0066B6) 0AA1AD 0AA1BF 15A1AD 15A1BF PROTO N PROTOTYPE fragment (not yet matched up, however, it's included in the large 099CBD-09D95F fragment) 0B5ED1 0B5EDF 16DED1 16DEDF PROTO N PROTOTYPE fragment (exact match of ROM offset 006C26-006C34) 0BDE4E 0BDE7F 17DE4E 17DE7F PROTO N PROTOTYPE fragment (matches up to ROM offset 006BA3-006BD4) 0CE8E5 0CE91F 19E8E5 19E91F PROTO N PROTOTYPE fragment (unconfirmed UNUSED SPACE) 0EE568 0EE59F 1DE5E8 1DE59F PROTO N PROTOTYPE fragment (exact match of ROM offset 0072C5-0072FC) 0F624F 0F629F 1EE24F 1EE29F PROTO N PROTOTYPE fragment (exact match of ROM offset 006FA4-006FF4) 136667 136668 26E667 26E668 TODO - Possible PROTOTYPE fragment that matches up to ROM offset 0073C4-0073C5? 13E6BD 13E6C6 27E6BD 27E6C6 PROTO N PROTOTYPE fragment (matches up to ROM offset 00741A-007423) 1464AC 1464DF 28E4AC 24E4DF PROTO N PROTOTYPE fragment (exact match of ROM offset 007209-00723C, also included in larger 03E3CC-03E4FF fragment) 156312 15633B 2AE312 2AE33B PROTO N PROTOTYPE fragment (exact match of ROM offset 007067-007090) 1AC161 1AC17F 35C161 35C17F PROTO N PROTOTYPE fragment (matches up to ROM offset 004CFF-004D1D) 1B1895 1B197F 369895 36997F PROTO N PROTOTYPE fragment (matches up to ROM offset 001CA4-001D8E)
Offsets (JP)
ROM start / end address, SNES start / end address, type, is data compressed y/n, description
last updated 20180523 003296 00329A 00B296 00B29A CODE N Check if Special Circuit completed 00329B 0032A0 00B29B 00B2A0 CODE N TODO 0032A1 0032A7 00B2A1 00B2A7 CODE N Ending main 006E13 007019 00EE13 00F019 CODE N Ending part 1 00701A 007613 00F01A 00F613 CODE N Ending part 2 007614 007F8F 00F614 00FF8F --- - UNUSED SPACE 007FC0 007FFF 00FFC0 00FFFF DATA N Cartridge header
- The ending subroutines were relocated to the end of the bank compared to the US version.
Prototype Fragments
There are many tiny fragments (especially at the ends of ROM banks), but this list uses only the largest found chunks necessary to recreate the prototype ROM bank.
last updated 20180523 xx8000 xx9894 Nothing yet found for this range xx9895 xx997F Fragment found at ROM offset 1B1895-1B197F, matches up to ROM offset 001CA4-001D8E, contains two differences xx9980 xx9CDA Nothing yet found for this range xx9CDB xxD95F Fragment found at ROM offset 099CDB-09D95F, matches up to approx. ROM offset 002054-0066B6, TODO xxD960 xxDABF Fragment found at ROM offset 095960-095ABF, matches up to ROM offset 0066B7-006816, no differences except address shifts xxDAC0 xxDE4D Nothing yet found for this range xxDE4E xxDE7F Fragment found at ROM offset 0BDE4E-0BDE7F, matches up to ROM offset 006BA3-006BD4, no differences except address shifts xxDE80 xxDED0 Nothing yet found for this range xxDED1 xxDEDF Fragment found at ROM offset 0B5ED1-0B5EDF, exact match of ROM offset 006C26-006C34 xxDEE0 xxE24E Nothing yet found for this range xxE24F xxE29F Fragment found at ROM offset 0F624F-0F629F, exact match of ROM offset 006FA4-006FF4 xxE2A0 xxE311 Nothing yet found for this range xxE312 XXE33B Fragment found at ROM offset 156312-15633B, exact match of ROM offset 007067-007090 xxE33C xxE3CB Nothing yet found for this range xxE3CC xxE4FF Fragment found at ROM offset 03E3CC-03E4FF, matches up to ROM offset 00711D-00725C, contains two differences, TODO xxE500 xxE567 Nothing yet found for this range xxE568 xxE59F Fragment found at ROM offset 0EE568-0EE59F, exact match of ROM offset 0072C5-0072FC xxE5A0 xxE666 Nothing yet found for this range xxE667 xxE668 UNCONFIRMED fragment found at ROM offset 136667-136668, possible exact match of 0073C4-0073C5 (only 2 bytes, 0x7E, 0x7E) xxE669 xxE6BC Nothing yet found for this range xxE6BD xxE6C6 Fragment found at ROM offset 13E6BD-13E6C6, matches up to ROM offset 00741A-007423, no differences except address shifts xxE6C7 xxE8E4 Nothing yet found for this range xxE8E5 xxE91F UNCONFIRMED fragment found at ROM offset 0CE8E5-0CE91F, appears to be UNUSED SPACE xxE920 xxE94D Nothing yet found for this range xxE94E xxFFFF Fragment found at ROM offset 04E94E-04FFFF, matches up to ROM offset 00????-007FFF. Mostly UNUSED SPACE, some jump address shifts near very end and cartridge header differences
Differences
1B1895-1B197F Fragment
- Operations were swapped in two separate subroutines. Why? Good question.
Protoype ... $36/993F 8C 02 43 STY $4302 $36/9942 A9 7F LDA #$7F ... Final (US) .... $00/9D4B A9 7F LDA #$7F $00/9D4D 8C 02 43 STY $4302 ...
Prototype $36/994D C2 20 REP #$20 $36/994F A2 00 00 LDX #$0000 ... Final (US) $00/9D5C A2 00 00 LDX #$0000 $00/9D5F C2 20 REP #$20 ...
Ending
- The ending is missing in the prototype.
Prototype $13/AF11 AD 02 06 LDA $0602 [$00:0602] $13/AF14 30 06 BMI $06 [$AF1C] //branch to $AF1C if Special Circuit completed $13/AF16 A9 8E LDA #$8E $13/AF18 8D 00 0C STA $0C00 [$00:0C00] $13/AF1B 60 RTS Ending $13/AF1C 80 FE BRA $FE [$AF1C] //infinite loop! Final (US) $00/B291 AD 02 06 LDA $0602 [$00:0602] $00/B294 30 06 BMI $06 [$B29C] //branch to $B29C if Special Circuit completed $00/B296 A9 8E LDA #$8E $00/B298 8D 00 0C STA $0C00 [$00:0C00] $00/B29B 60 RTS Ending $00/B29C 20 A3 B2 JSR $B2A3 [$00:B2A3] //ending part 1 $00/B29F 20 AA B4 JSR $B4AA [$00:B4AA] //ending part 2
World Circuit Checksum
- The prototype runs a checksum on the entire 32,768 bytes of the ROM bank.
Prototype ... $13/B069 A0 0B 42 LDY #$420B $13/B06C A2 00 80 LDX #$8000 //start address $8000 ... Final (US) ... $00/BBEF A0 09 42 LDY #$4209 $00/BBF2 A2 04 80 LDX #$8004 //start address $8004, skips the first 4 bytes ...
Name Entry Screen
$01/DF7D AE 90 00 LDX $0090 [$01:0090] //player 1 controller $01/DF80 E0 C0 00 CPX #$00C0 //buttons X + A $01/DF83 F0 0A BEQ $0A [$DF8F] //branch to $DF8F if match $01/DF85 E0 C0 10 CPX #$10C0 //buttons Start + X + A $01/DF88 F0 05 BEQ $05 [$DF8F] //branch to $DF8F if match $01/DF8A E0 40 10 CPX #$1040 //buttons Start + X $01/DF8D D0 09 BNE $09 [$DF98] //branch to $DF98 if no match
Misc.
For a quick victory, as soon as the fight begins, set these values in a debugger. One successful punch will result in a KO.
7E098F to 02 7E099F to 02 7E099D to 03