BTII - Destiny Stone Entrance

Any developer realated stuff
Post Reply
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

BTII - Destiny Stone Entrance

Post by Darendor »

BT2 Character Disk
"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]
Post Reply