"FILE6585395" PRG ACCESS TO DESTINY STONE
#$EA | 234 | EOR all bytes against 11101010
3 blocks; 630 bytes (70EA TO 7360 Inclusive; 9A00 to 9C77 memory)
Access file for entering the Destiny Stone.
Redundant code found; it prints the "The Rock" caption twice for no apparent reason. Oh well.
Code: Select all
.C:9a00 A9 9A LDA #$9A
.C:9a02 85 59 STA $59
.C:9a04 A9 AE LDA #$AE
.C:9a06 85 58 STA $58
.C:9a08 20 0F 08 JSR $080F Display "Strange Mage" caption
.C:9a0b 20 E1 08 JSR $08E1
.C:9a0e E6 C1 INC $C1
.C:9a10 A2 39 LDX #$39
.C:9a12 20 1B 08 JSR $081B Display picture #$39
.C:9a15 A0 9B LDY #$9B
.C:9a17 A2 7B LDX #$7B
.C:9a19 20 06 08 JSR $0806 "A mage, standing by a large..."
.C:9a1c 20 36 08 JSR $0836 Prompt for keyboard input
.C:9a1f B0 59 BCS $9A7A Hit ENTER? Go $9a7a
.C:9a21 A2 05 LDX #$05 First word is 6 characters long
.C:9a23 BD 34 03 LDA $0334,X
.C:9a26 DD 6F 9B CMP $9B6F,X Compare input to buffer at $9b6f + 6
.C:9a29 D0 4F BNE $9A7A Wrong word? Go $9a7a
.C:9a2b CA DEX
.C:9a2c 10 F5 BPL $9A23 End of word? No? Go $9a23
.C:9a2e A0 9B LDY #$9B
.C:9a30 A2 4F LDX #$4F
.C:9a32 20 06 08 JSR $0806 "And what else do you say?..."
.C:9a35 20 36 08 JSR $0836 Prompt for keyboard input
.C:9a38 B0 40 BCS $9A7A Hit ENTER? Go $9a7a
.C:9a3a A2 05 LDX #$05 Second word is also 6 characters long
.C:9a3c BD 34 03 LDA $0334,X
.C:9a3f DD 75 9B CMP $9B75,X Compare input to buffer at $9b75 + 6
.C:9a42 D0 36 BNE $9A7A Wrong word? Go $9a7a
.C:9a44 CA DEX
.C:9a45 10 F5 BPL $9A3C End of word? No? Go $a3c
.C:9a47 20 E1 08 JSR $08E1
.C:9a4a A9 9A LDA #$9A
.C:9a4c 85 59 STA $59
.C:9a4e A9 A5 LDA #$A5
.C:9a50 85 58 STA $58
.C:9a52 20 0F 08 JSR $080F Display "The Rock" caption
.C:9a55 A0 9A LDY #$9A
.C:9a57 A2 BB LDX #$BB
.C:9a59 20 06 08 JSR $0806 "You stand before a large stone..."
.C:9a5c 20 78 08 JSR $0878 Get keypress
.C:9a5f 20 87 08 JSR $0887 Analyze keypress
.C:9a62 C9 D4 CMP #$D4
.C:9a64 F0 36 BEQ $9A9C Try crevice? Go $9a9c
.C:9a66 C9 C5 CMP #$C5
.C:9a68 D0 F2 BNE $9A5C Exit? No? Go $9a5c
.C:9a6a A9 00 LDA #$00 Begin exit routine
.C:9a6c 85 24 STA $24 Face party north
.C:9a6e E6 28 INC $28 Move party 1 square north
.C:9a70 A9 00 LDA #$00
.C:9a72 85 2F STA $2F
.C:9a74 20 E1 08 JSR $08E1
.C:9a77 4C 00 90 JMP $9000 Return to main program
.C:9a7a 20 E1 08 JSR $08E1
.C:9a7d A9 9A LDA #$9A
.C:9a7f 85 59 STA $59
.C:9a81 A9 A5 LDA #$A5
.C:9a83 85 58 STA $58
.C:9a85 20 0F 08 JSR $080F Display "The Rock" caption. Again. Because, like, why not.
.C:9a88 A0 9B LDY #$9B
.C:9a8a A2 F5 LDX #$F5
.C:9a8c 20 06 08 JSR $0806 "'Seek the answer in the Tombs...'"
.C:9a8f 20 78 08 JSR $0878 Get keypress
.C:9a92 20 87 08 JSR $0887 Analyze keypress
.C:9a95 C9 CC CMP #$CC
.C:9a97 D0 F6 BNE $9A8F Leave? No? Go $9a8f
.C:9a99 4C 6A 9A JMP $9A6A Go to exit routine
.C:9a9c A9 16 LDA #$16
.C:9a9e 85 E0 STA $E0 T/S offset #$16
.C:9aa0 A9 01 LDA #$01 Floor #1
.C:9aa2 4C 99 08 JMP $0899 Dungeon loader thingy
.C:9aa5 D4 E8 NOOP $E8,X [T][h]
.C:9aa7 E5 A0 SBC $A0 [e][_]
.C:9aa9 D2 JAM [R]
.C:9aaa EF E3 EB ISB $EBE3 [o][c][k]
.C:9aad DC D3 F4 NOOP $F4D3,X [EOT][S][t]
.C:9ab0 F2 JAM [r]
.C:9ab1 E1 EE SBC ($EE,X) [a][n]
.C:9ab3 E7 E5 ISB $E5 [g][e]
.C:9ab5 A0 CD LDY #$CD [_][M]
.C:9ab7 E1 E7 SBC ($E7,X) [a][g]
.C:9ab9 E5 DC SBC $DC [e][EOT]
.C:9abb D9 EF F5 CMP $F5EF,Y [Y][o][u]
.C:9abe A0 F3 LDY #$F3 [_][s]
.C:9ac0 F4 E1 NOOP $E1,X [t][a]
.C:9ac2 EE E4 A0 INC $A0E4 [n][d][_]
.C:9ac5 E2 E5 NOOP #$E5 [b][e]
.C:9ac7 E6 EF INC $EF [f][o]
.C:9ac9 F2 JAM [r]
.C:9aca E5 A0 SBC $A0 [e][_]
.C:9acc E1 A0 SBC ($A0,X) [a][_]
.C:9ace EC E1 F2 CPX $F2E1 [l][a][r]
.C:9ad1 E7 E5 ISB $E5 [g][e]
.C:9ad3 A0 F3 LDY #$F3 [_][s]
.C:9ad5 F4 EF NOOP $EF,X [t][o]
.C:9ad7 EE E5 A0 INC $A0E5 [n][e][_]
.C:9ada F3 E5 ISB ($E5),Y [s][e]
.C:9adc F4 A0 NOOP $A0,X [t][_]
.C:9ade E9 EE SBC #$EE [i][n]
.C:9ae0 A0 F4 LDY #$F4 [_][t]
.C:9ae2 E8 INX [h]
.C:9ae3 E5 A0 SBC $A0 [e][_]
.C:9ae5 E3 E9 ISB ($E9,X) [c][i]
.C:9ae7 F4 F9 NOOP $F9,X [t][y]
.C:9ae9 A0 F3 LDY #$F3 [_][s]
.C:9aeb F1 F5 SBC ($F5),Y [q][u]
.C:9aed E1 F2 SBC ($F2,X) [a][r]
.C:9aef E5 AE SBC $AE [e][.]
.C:9af1 A0 CF LDY #$CF [_][O]
.C:9af3 EE A0 EF INC $EFA0 [n][_][o]
.C:9af6 EE E5 A0 INC $A0E5 [n][e][_]
.C:9af9 F3 E9 ISB ($E9),Y [s][i]
.C:9afb E4 E5 CPX $E5 [d][e]
.C:9afd A0 E9 LDY #$E9 [_][i]
.C:9aff F3 A0 ISB ($A0),Y [s][_]
.C:9b01 E1 A0 SBC ($A0,X) [a][_]
.C:9b03 E3 F2 ISB ($F2,X) [c][r]
.C:9b05 E5 F6 SBC $F6 [e][v]
.C:9b07 E9 E3 SBC #$E3 [i][c]
.C:9b09 E5 A0 SBC $A0 [e][_]
.C:9b0b EC E5 E1 CPX $E1E5 [l][e][a]
.C:9b0e E4 E9 CPX $E9 [d][i]
.C:9b10 EE E7 A0 INC $A0E7 [n][g][_]
.C:9b13 E9 EE SBC #$EE [i][n]
.C:9b15 F4 EF NOOP $EF,X [t][o]
.C:9b17 A0 E4 LDY #$E4 [_][d]
.C:9b19 E1 F2 SBC ($F2,X) [a][r]
.C:9b1b EB EE USBC #$EE [k][n]
.C:9b1d E5 F3 SBC $F3 [e][s]
.C:9b1f F3 AE ISB ($AE),Y [s][.]
.C:9b21 A0 D9 LDY #$D9 [_][Y]
.C:9b23 EF F5 A0 ISB $A0F5 [o][u][_]
.C:9b26 E3 E1 ISB ($E1,X) [c][a]
.C:9b28 EE 00 00 INC $0000 [n][CR][CR]
.C:9b2b A8 TAY [(]
.C:9b2c D4 A9 NOOP $A9,X [T][)]
.C:9b2e F2 JAM [r]
.C:9b2f F9 A0 F4 SBC $F4A0,Y [y][_][t]
.C:9b32 E8 INX [h]
.C:9b33 E5 A0 SBC $A0 [e][_]
.C:9b35 E3 F2 ISB ($F2,X) [c][r]
.C:9b37 E5 F6 SBC $F6 [e][v]
.C:9b39 E9 E3 SBC #$E3 [i][c]
.C:9b3b E5 00 SBC $00 [e][CR]
.C:9b3d A8 TAY [(]
.C:9b3e C5 A9 CMP $A9 [E][)]
.C:9b40 F8 SED [x]
.C:9b41 E9 F4 SBC #$F4 [i][t]
.C:9b43 A0 F4 LDY #$F4 [_][t]
.C:9b45 E8 INX [h]
.C:9b46 E5 A0 SBC $A0 [e][_]
.C:9b48 F3 F1 ISB ($F1),Y [s][q]
.C:9b4a F5 E1 SBC $E1,X [u][a]
.C:9b4c F2 JAM [r]
.C:9b4d E5 DC SBC $DC [e][EOT]
.C:9b4f 00 BRK [CR]
.C:9b50 00 BRK [CR]
.C:9b51 A2 C1 LDX #$C1 ["][A]
.C:9b53 EE E4 A0 INC $A0E4 [n][d][_]
.C:9b56 F7 E8 ISB $E8,X [w][h]
.C:9b58 E1 F4 SBC ($F4,X) [a][t]
.C:9b5a A0 E5 LDY #$E5 [_][e]
.C:9b5c EC F3 E5 CPX $E5F3 [l][s][e]
.C:9b5f A0 E4 LDY #$E4 [_][d]
.C:9b61 EF A0 F9 ISB $F9A0 [o][_][y]
.C:9b64 EF F5 A0 ISB $A0F5 [o][u][_]
.C:9b67 F3 E1 ISB ($E1),Y [s][a]
.C:9b69 F9 BF A2 SBC $A2BF,Y [y][?]["]
.C:9b6c 00 BRK [CR]
.C:9b6d 00 BRK [CR]
.C:9b6e FF C6 D2 ISB $D2C6,X [Input][F][R]
.C:9b71 C5 C5 CMP $C5 [E][E]
.C:9b73 DA NOOP [Z]
.C:9b74 C5 D0 CMP $D0 [E][P]
.C:9b76 CC C5 C1 CPY $C1C5 [L][E][A]
.C:9b79 D3 C5 DCP ($C5),Y [S][E]
.C:9b7b C1 A0 CMP ($A0,X) [A][_]
.C:9b7d ED E1 E7 SBC $E7E1 [m][a][g]
.C:9b80 E5 AC SBC $AC [e][,]
.C:9b82 A0 F3 LDY #$F3 [_][s]
.C:9b84 F4 E1 NOOP $E1,X [t][a]
.C:9b86 EE E4 E9 INC $E9E4 [n][d][i]
.C:9b89 EE E7 A0 INC $A0E7 [n][g][_]
.C:9b8c E2 F9 NOOP #$F9 [b][y]
.C:9b8e A0 E1 LDY #$E1 [_][a]
.C:9b90 A0 EC LDY #$EC [_][l]
.C:9b92 E1 F2 SBC ($F2,X) [a][r]
.C:9b94 E7 E5 ISB $E5 [g][e]
.C:9b96 A0 F3 LDY #$F3 [_][s]
.C:9b98 F4 EF NOOP $EF,X [t][o]
.C:9b9a EE E5 AC INC $ACE5 [n][e][,]
.C:9b9d A0 E2 LDY #$E2 [_][b]
.C:9b9f EC EF E3 CPX $E3EF [l][o][c]
.C:9ba2 EB F3 USBC #$F3 [k][s]
.C:9ba4 A0 F9 LDY #$F9 [_][y]
.C:9ba6 EF F5 F2 ISB $F2F5 [o][u][r]
.C:9ba9 A0 F7 LDY #$F7 [_][w]
.C:9bab E1 F9 SBC ($F9,X) [a][y]
.C:9bad AE A0 C8 LDX $C8A0 [.][_][H]
.C:9bb0 E5 A0 SBC $A0 [e][_]
.C:9bb2 F3 E1 ISB ($E1),Y [s][a]
.C:9bb4 F9 F3 AC SBC $ACF3,Y [y][s][,]
.C:9bb7 A0 A2 LDY #$A2 [_]["]
.C:9bb9 D4 E5 NOOP $E5,X [T][e]
.C:9bbb EC EC A0 CPX $A0EC [l][l][_]
.C:9bbe ED E5 A0 SBC $A0E5 [m][e][_]
.C:9bc1 F4 F7 NOOP $F7,X [t][w]
.C:9bc3 EF A0 F4 ISB $F4A0 [o][_][t]
.C:9bc6 E8 INX [h]
.C:9bc7 E9 EE SBC #$EE [i][n]
.C:9bc9 E7 F3 ISB $F3 [g][s]
.C:9bcb AC A0 F9 LDY $F9A0 [,][_][y]
.C:9bce EF F5 A0 ISB $A0F5 [o][u][_]
.C:9bd1 EB EE USBC #$EE [k][n]
.C:9bd3 F5 E3 SBC $E3,X [u][c]
.C:9bd5 EB EC USBC #$EC [k][l]
.C:9bd7 E5 E8 SBC $E8 [e][h]
.C:9bd9 E5 E1 SBC $E1 [e][a]
.C:9bdb E4 F3 CPX $F3 [d][s]
.C:9bdd AC A0 F4 LDY $F4A0 [,][_][t]
.C:9be0 EF A0 F3 ISB $F3A0 [o][_][s]
.C:9be3 F0 EC BEQ $9BD1 [p][l]
.C:9be5 E9 F4 SBC #$F4 [i][t]
.C:9be7 A0 F4 LDY #$F4 [_][t]
.C:9be9 E8 INX [h]
.C:9bea E5 A0 SBC $A0 [e][_]
.C:9bec F2 JAM [r]
.C:9bed EF E3 EB ISB $EBE3 [o][c][k]
.C:9bf0 AE A2 00 LDX $00A2 [.]["][CR]
.C:9bf3 00 BRK [CR]
.C:9bf4 FF A2 D3 ISB $D3A2,X [Input]["][S]
.C:9bf7 E5 E5 SBC $E5 [e][e]
.C:9bf9 EB A0 USBC #$A0 [k][_]
.C:9bfb F4 E8 NOOP $E8,X [t][h]
.C:9bfd E5 A0 SBC $A0 [e][_]
.C:9bff E1 EE SBC ($EE,X) [a][n]
.C:9c01 F3 F7 ISB ($F7),Y [s][w]
.C:9c03 E5 F2 SBC $F2 [e][r]
.C:9c05 A0 E9 LDY #$E9 [_][i]
.C:9c07 EE A0 F4 INC $F4A0 [n][_][t]
.C:9c0a E8 INX [h]
.C:9c0b E5 A0 SBC $A0 [e][_]
.C:9c0d F4 EF NOOP $EF,X [t][o]
.C:9c0f ED E2 F3 SBC $F3E2 [m][b][s]
.C:9c12 AC A0 E2 LDY $E2A0 [,][_][b]
.C:9c15 F5 F4 SBC $F4,X [u][t]
.C:9c17 A0 E4 LDY #$E4 [_][d]
.C:9c19 EF EE A7 ISB $A7EE [o][n][']
.C:9c1c F4 A0 NOOP $A0,X [t][_]
.C:9c1e F2 JAM [r]
.C:9c1f E5 F4 SBC $F4 [e][t]
.C:9c21 F5 F2 SBC $F2,X [u][r]
.C:9c23 EE A0 E8 INC $E8A0 [n][_][h]
.C:9c26 E5 F2 SBC $F2 [e][r]
.C:9c28 E5 A0 SBC $A0 [e][_]
.C:9c2a F5 EE SBC $EE,X [u][n]
.C:9c2c F4 E9 NOOP $E9,X [t][i]
.C:9c2e EC A0 F9 CPX $F9A0 [l][_][y]
.C:9c31 EF F5 A0 ISB $A0F5 [o][u][_]
.C:9c34 E6 E9 INC $E9 [f][i]
.C:9c36 EE E9 F3 INC $F3E9 [n][i][s]
.C:9c39 E8 INX [h]
.C:9c3a A0 F4 LDY #$F4 [_][t]
.C:9c3c E8 INX [h]
.C:9c3d E5 A0 SBC $A0 [e][_]
.C:9c3f E3 F2 ISB ($F2,X) [c][r]
.C:9c41 F9 F0 F4 SBC $F4F0,Y [y][p][t]
.C:9c44 AE A2 00 LDX $00A2 [.]["][CR]
.C:9c47 00 BRK [CR]
.C:9c48 D4 E8 NOOP $E8,X [T][h]
.C:9c4a E5 A0 SBC $A0 [e][_]
.C:9c4c ED E1 E7 SBC $E7E1 [m][a][g]
.C:9c4f E5 A0 SBC $A0 [e][_]
.C:9c51 E4 E9 CPX $E9 [d][i]
.C:9c53 F3 E1 ISB ($E1),Y [s][a]
.C:9c55 F0 F0 BEQ $9C47 [p][p]
.C:9c57 E5 E1 SBC $E1 [e][a]
.C:9c59 F2 JAM [r]
.C:9c5a F3 AE ISB ($AE),Y [s][.]
.C:9c5c A0 D9 LDY #$D9 [_][Y]
.C:9c5e EF F5 A0 ISB $A0F5 [o][u][_]
.C:9c61 E3 E1 ISB ($E1,X) [c][a]
.C:9c63 EE BA 00 INC $00BA [n][:][CR]
.C:9c66 00 BRK [CR]
.C:9c67 A8 TAY [(]
.C:9c68 CC A9 E5 CPY $E5A9 [L][)][e]
.C:9c6b E1 F6 SBC ($F6,X) [a][v]
.C:9c6d E5 A0 SBC $A0 [e][_]
.C:9c6f F4 E8 NOOP $E8,X [t][h]
.C:9c71 E5 A0 SBC $A0 [e][_]
.C:9c73 F2 JAM [r]
.C:9c74 EF E3 EB ISB $EBE3 [o][c][k]
.C:9c77 DC [EOT]