Proto:Gunman's Proof
This page details one or more prototype versions of Gunman's Proof.
Debug Monitor
This build has actual debug monitor data in the first bank of the ROM. This is a complex debug tool controlled with external terminal-like devices: The commands are sent to the monitor, with the resulting output sent back to the terminal. The code is mostly functional, but cannot be 100% confirmed due to the lack of a proper external device to communicate.
While working, the SNES displays only technical information of the current state of the debug monitor. It seems this monitor supports several types of terminals.
To see it in work somehow, start the ROM with zero checksums as well as ROM patches: 0x6E5: EA EA; 0x6EE: EA EA. Select the message with RAM variable 0x7E1FF0 set to 0, 1, or 3 accordingly. Messages on the screen of the monitor indicate the current link mode with the terminal. The text for this is at 0x8989 in the ROM.
Debug Monitor Text
Due to it currently not being possible to run the ROM with proper terminal support, most of the related internal text goes unused. Below are the most significant or notable strings.
At 0x8480, an error message that would come up if the monitor has an issue transferring data to the terminal:
SUM NG
At 0x8705 is the terminal handshake signature:
EXTRA-00
At 0x8837 is the RAM signature for monitor initialization:
** MONITOR SW **
At 0x887E and 0x8930 are more internal messages of the monitor while connecting with the terminal:
COPY OK TURN SWITCH
LOAD COMPLETE
At 0x9382 is the terminal message upon connect:
SUPER FAMICOM DELUX MONITOR version 0.27
At 0x93B8 is the terminal command prompt:
command >
At 0x9401 is the terminal command error:
command err.
Starting from 0x945B is the terminal commands list:
HELP ? LOCK D SD VD B 1MROM 4MROM M DLS DLV DLB MONI T R @ U L G BP BC RPC RA RX RY RP RS RB EXIT SYSTEM GAME RUN RESET QUIT Q
At 0x9538 is the output of the "B" (bank) command:
\tBANK = %x
At 0x9592 is part of the output of the "D" (dump) command:
adrs +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
At 0x969D is one of the common header outputs for multiple commands. The messages translate to "Set up the X-MODEM to start receiving data" and "Press the yellow button when preparations are done", respectively.
\a\nX-MODEM(128sum)で受信を開始して下さい bank=%02x\n 準備が出来たなら黄色ボタンを押して下さい\n
At 0x9733 is a common footer output for most of the commands, duplicated a lot of times. The message translates to "Download Ready".
\a\n**ダウンロード終了**\n
At 0x9806 and 0x98AC are more headers for various commands (both of these translate to "Set up the X-MODEM to start receiving data"):
\a\nX-MODEM(128sum)で受信を開始して下さい sound_unit\n
\a\nX-MODEM(128sum)で受信を開始して下さい video_ram\n
At 0x996E is the output for the "LOCK" command, which translates to "(Debugger) fixed into Monitor Mode".
\tモニターモードに固定しました。
At 0x99A0 is the output for the "EXIT" command:
..... good bye
At 0x99CE is the output for the "HELP" command:
EXIT ...... end debuger for game DUMP ...... FILE ...... backup file display ...... ......
At 0x9B0B is part of the output for the "SD", "VD", etc. commands, duplicated several times.
;adrs +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
At 0xA0C0 is another message of the monitor itself:
CASETTE COPYING
At 0xA46C is the output for the "BP" command:
\n%d %02x:%04x
At 0xA4F5 is the output for the "R" command:
\ni>%02x:%04x a:%04x x:%04x y:%04x s:%04x p:%02x b:%02x
From this point there are a lot of numerical formatting strings which are used by the internal monitor's disassembler.
At 0xAD2C are the opcodes mnemonics also for disassembler: "BRK", "ORA", "ASL", "PHP", "BPL", "CLC", "JSR", "AND", "BIT", "ROL", "PLP", "BMI", "SEC", "RTI", "EOR", "LSR", "PHA", "JMP", "BVC", "CLI", "RTS", "ADC", "ROR", "PLA", "XXX", "BVS", "SEI", "STA", "STY", "STX", "DEY", "TXA", "BCC", "TXS", "LDY", "LDA", "LDX", "TAY", "TAX", "BCS", "CLV", "TSX", "CPY", "CMP", "DEC", "INY", "DEX", "BNE", "CLD", "CPX", "SBC", "NOP", "BEQ", "SED", "***", "TYA", "INC", "INX", "REP", "XCE", "XBA", "SEP", "STZ", "TCD", "TCS", "BRA", "TSB", "TRB", "RMB", "SMB", "BBR", "BBS", "PHY", "PLY", "PHX", "PLX", "MVP", "MVN", "PHK", "PLK", "PHD", "PLD", "RTL", "PHB", "PLB", "PER", "JSL".