BTII - DUNGEON DISK B - Riddler (Maze of Dread 2)

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 - DUNGEON DISK B - Riddler (Maze of Dread 2)

Post by Darendor »

BTII DUNGEON-B Disk
Special Event: "Riddler" (Maze of Dread level 2 - gives Sword of Zar)

This is the special event found on the 2nd level of the Maze of Dread where the Riddler gives the party the Sword of Zar, if they say the right word.

Memory begins: A200

Code: Select all

.C:a200  A9 00       LDA #$00
.C:a202  85 44       STA $44
.C:a204  A6 44       LDX $44
.C:a206  A9 0C       LDA #$0C
.C:a208  20 F0 08    JSR $08F0
.C:a20b  B0 03       BCS $A210
.C:a20d  4C 89 A2    JMP $A289
.C:a210  E6 44       INC $44
.C:a212  A5 44       LDA $44
.C:a214  C9 07       CMP #$07
.C:a216  90 EC       BCC $A204
.C:a218  E6 C1       INC $C1		Pausing time
.C:a21a  A2 35       LDX #$35
.C:a21c  20 1B 08    JSR $081B		Display picture #$35 (Mage tossing fireball)
.C:a21f  20 E1 08    JSR $08E1		Clear text window.
.C:a222  A0 A2       LDY #$A2
.C:a224  A2 99       LDX #$99
.C:a226  20 06 08    JSR $0806		"A man appears in a puff of smoke..."
.C:a229  20 36 08    JSR $0836		Prompt for keyboard input
.C:a22c  B0 54       BCS $A282		Hit RETURN?  Go $a282
.C:a22e  A2 02       LDX #$02		Password is 3 characters (0, 1, 2)
.C:a230  BD 34 03    LDA $0334,X	Get first 3 characters from input string
.C:a233  DD A6 A3    CMP $A3A6,X	Match the word stored at $a3a6 - a3a8?  Go $a238
.C:a236  D0 4A       BNE $A282		Word wrong?  Go $a282
.C:a238  CA          DEX		X = X -1
.C:a239  10 F5       BPL $A230		Is X>0?  Go $A230 (get more letters)
.C:a23b  A0 A3       LDY #$A3
.C:a23d  A2 4A       LDX #$4A
.C:a23f  20 06 08    JSR $0806		"[CR][CR]'Correct!' he exclaims..."
.C:a242  A9 08       LDA #$08
.C:a244  20 1A 09    JSR $091A		Wait a time...
.C:a247  A9 00       LDA #$00
.C:a249  85 44       STA $44
.C:a24b  A9 71       LDA #$71		Item #$71 - Sword of Zar
.C:a24d  85 70       STA $70		Store it at $0070
.C:a24f  A9 00       LDA #$00
.C:a251  85 73       STA $73
.C:a253  8D 4C 03    STA $034C
.C:a256  A5 44       LDA $44
.C:a258  20 5D 08    JSR $085D		Give item in $0070?
.C:a25b  90 0A       BCC $A267		Find the first free item slot in party?
.C:a25d  E6 44       INC $44
.C:a25f  A5 44       LDA $44
.C:a261  C9 07       CMP #$07
.C:a263  90 F1       BCC $A256
.C:a265  B0 22       BCS $A289		
.C:a267  A5 44       LDA $44
.C:a269  0A          ASL A
.C:a26a  AA          TAX
.C:a26b  BC AA A3    LDY $A3AA,X
.C:a26e  BD A9 A3    LDA $A3A9,X
.C:a271  AA          TAX
.C:a272  20 E1 08    JSR $08E1
.C:a275  20 06 08    JSR $0806
.C:a278  A0 A3       LDY #$A3
.C:a27a  A2 9D       LDX #$9D
.C:a27c  20 06 08    JSR $0806
.C:a27f  4C 89 A2    JMP $A289
.C:a282  A0 A3       LDY #$A3
.C:a284  A2 75       LDX #$75
.C:a286  20 06 08    JSR $0806		"[CR][CR]'Sorry!' he mumbles, then disappears."
.C:a289  E6 1D       INC $1D
.C:a28b  20 09 90    JSR $9009
.C:a28e  A4 29       LDY $29
.C:a290  B1 6E       LDA ($6E),Y
.C:a292  29 FB       AND #$FB
.C:a294  91 6E       STA ($6E),Y
.C:a296  4C 03 90    JMP $9003		Back to main program.
.C:a299  C1 A0       CMP ($A0,X)	[A][_]
.C:a29b  ED E1 EE    SBC $EEE1		[m][a][n]
.C:a29e  A0 E1       LDY #$E1		[_][a]
.C:a2a0  F0 F0       BEQ $A292		[p][p]
.C:a2a2  E5 E1       SBC $E1		[e][a]
.C:a2a4  F2          JAM		[r]
.C:a2a5  F3 A0       ISB ($A0),Y	[s][_]
.C:a2a7  E9 EE       SBC #$EE		[i][n]
.C:a2a9  A0 E1       LDY #$E1		[_][a]
.C:a2ab  A0 F0       LDY #$F0		[_][p]
.C:a2ad  F5 E6       SBC $E6,X		[u][f]
.C:a2af  E6 A0       INC $A0		[f][_]
.C:a2b1  EF E6 A0    ISB $A0E6		[o][f][_]
.C:a2b4  F3 ED       ISB ($ED),Y	[s][m]
.C:a2b6  EF EB E5    ISB $E5EB		[o][k][e]
.C:a2b9  AC A0 E1    LDY $E1A0		[,][_][a]
.C:a2bc  EE E4 A0    INC $A0E4		[n][d][_]
.C:a2bf  F3 F0       ISB ($F0),Y	[s][p]
.C:a2c1  E5 E1       SBC $E1		[e][a]
.C:a2c3  EB F3       USBC #$F3		[k][s]
.C:a2c5  A0 F4       LDY #$F4		[_][t]
.C:a2c7  EF A0 F9    ISB $F9A0		[o][_][y]
.C:a2ca  EF F5 BA    ISB $BAF5		[o][u][:]
.C:a2cd  00          BRK		[CR]
.C:a2ce  A2 C2       LDX #$C2		["][B]
.C:a2d0  EC F5 E5    CPX $E5F5		[l][u][e]
.C:a2d3  AC A0 F2    LDY $F2A0		[,][_][r]
.C:a2d6  E5 E4       SBC $E4		[e][d]
.C:a2d8  AC A0 E7    LDY $E7A0		[,][_][g]
.C:a2db  F2          JAM		[r]
.C:a2dc  E5 E5       SBC $E5		[e][e]
.C:a2de  EE AC A0    INC $A0AC		[n][,][_]
.C:a2e1  E2 F2       NOOP #$F2		[b][r]
.C:a2e3  EF F7 EE    ISB $EEF7		[o][w][n]
.C:a2e6  AC A0 E2    LDY $E2A0		[,][_][b]
.C:a2e9  EC E1 E3    CPX $E3E1		[l][a][c]
.C:a2ec  EB AC       USBC #$AC		[k][,]
.C:a2ee  A0 F7       LDY #$F7		[_][w]
.C:a2f0  E8          INX		[h]
.C:a2f1  E9 F4       SBC #$F4		[i][t]
.C:a2f3  E5 AC       SBC $AC		[e][,]
.C:a2f5  A0 F9       LDY #$F9		[_][y]
.C:a2f7  E5 EC       SBC $EC		[e][l]
.C:a2f9  EC EF F7    CPX $F7EF		[l][o][w]
.C:a2fc  BB A0 C3    LAS $C3A0,Y	[;][_][C]
.C:a2ff  EF EC EF    ISB $EFEC		[o][l][o]
.C:a302  F2          JAM		[r]
.C:a303  F3 A0       ISB ($A0),Y	[s][_]
.C:a305  E3 E1       ISB ($E1,X)	[c][a]
.C:a307  F3 F4       ISB ($F4),Y	[s][t]
.C:a309  A0 E9       LDY #$E9		[_][i]
.C:a30b  EE A0 F4    INC $F4A0		[n][_][t]
.C:a30e  E8          INX		[h]
.C:a30f  E5 A0       SBC $A0		[e][_]
.C:a311  E1 F2       SBC ($F2,X)	[a][r]
.C:a313  F4 E9       NOOP $E9,X		[t][i]
.C:a315  F3 F4       ISB ($F4),Y	[s][t]
.C:a317  A7 F3       LAX $F3		['][s]
.C:a319  A0 F0       LDY #$F0		[_][p]
.C:a31b  EF F4 AC    ISB $ACF4		[o][t][,]
.C:a31e  A0 EE       LDY #$EE		[_][n]
.C:a320  E1 ED       SBC ($ED,X)	[a][m]
.C:a322  E5 A0       SBC $A0		[e][_]
.C:a324  F4 E8       NOOP $E8,X		[t][h]
.C:a326  E5 A0       SBC $A0		[e][_]
.C:a328  E6 E1       INC $E1		[f][a]
.C:a32a  EC F3 E5    CPX $E5F3		[l][s][e]
.C:a32d  A0 F7       LDY #$F7		[_][w]
.C:a32f  E8          INX		[h]
.C:a330  E9 EC       SBC #$EC		[i][l]
.C:a332  E5 A0       SBC $A0		[e][_]
.C:a334  E3 E1       ISB ($E1,X)	[c][a]
.C:a336  EE F3 F4    INC $F4F3		[n][s][t]
.C:a339  A0 E2       LDY #$E2		[_][b]
.C:a33b  E5 A0       SBC $A0		[e][_]
.C:a33d  E3 E1       ISB ($E1,X)	[c][a]
.C:a33f  F5 E7       SBC $E7,X		[u][g]
.C:a341  E8          INX		[h]
.C:a342  F4 AE       NOOP $AE,X		[t][.]
.C:a344  AE AE A2    LDX $A2AE		[.][.]["]
.C:a347  00          BRK		[CR]
.C:a348  00          BRK		[CR]
.C:a349  FF 00 00    ISB $0000,X	[Input][CR][CR]
.C:a34c  A2 C3       LDX #$C3		["][C]
.C:a34e  EF F2 F2    ISB $F2F2		[o][r][r]
.C:a351  E5 E3       SBC $E3		[e][c]
.C:a353  F4 A1       NOOP $A1,X		[t][!]
.C:a355  A2 A0       LDX #$A0		["][ ]
.C:a357  E8          INX		[h]
.C:a358  E5 A0       SBC $A0		[e][_]
.C:a35a  E5 F8       SBC $F8		[e][x]
.C:a35c  E3 EC       ISB ($EC,X)	[c][l]
.C:a35e  E1 E9       SBC ($E9,X)	[a][i]
.C:a360  ED F3 AC    SBC $ACF3		[m][s][,]
.C:a363  A0 F4       LDY #$F4		[_][t]
.C:a365  E8          INX		[h]
.C:a366  E5 EE       SBC $EE		[e][n]
.C:a368  A0 E4       LDY #$E4		[_][d]
.C:a36a  E9 F3       SBC #$F3		[i][s]
.C:a36c  E1 F0       SBC ($F0,X)	[a][p]
.C:a36e  F0 E5       BEQ $A355		[p][e]
.C:a370  E1 F2       SBC ($F2,X)	[a][r]
.C:a372  F3 AE       ISB ($AE),Y	[s][.]
.C:a374  DC 00 00    NOOP $0000,X	[EOT][CR][CR]
.C:a377  A2 D3       LDX #$D3		["][S]
.C:a379  EF F2 F2    ISB $F2F2		[o][r][r]
.C:a37c  F9 A1 A2    SBC $A2A1,Y	[y][!]["]
.C:a37f  A0 E8       LDY #$E8		[_][h]
.C:a381  E5 A0       SBC $A0		[e][_]
.C:a383  ED F5 ED    SBC $EDF5		[m][u][m]
.C:a386  E2 EC       NOOP #$EC		[b][l]
.C:a388  E5 F3       SBC $F3		[e][s]
.C:a38a  AC A0 F4    LDY $F4A0		[,][_][t]
.C:a38d  E8          INX		[h]
.C:a38e  E5 EE       SBC $EE		[e][n]
.C:a390  A0 E4       LDY #$E4		[_][d]
.C:a392  E9 F3       SBC #$F3		[i][s]
.C:a394  E1 F0       SBC ($F0,X)	[a][p]
.C:a396  F0 E5       BEQ $A37D		[p][e]
.C:a398  E1 F2       SBC ($F2,X)	[a][r]
.C:a39a  F3 AE       ISB ($AE),Y	[s][.]
.C:a39c  DC A0 E7    NOOP $E7A0,X	[EOT][_][g]
.C:a39f  EF F4 A0    ISB $A0F4		[o][t][_]
.C:a3a2  E9 F4       SBC #$F4		[i][t]
.C:a3a4  AE DC C4    LDX $C4DC		[.][EOT][D]
.C:a3a7  C5 D2       CMP $D2		[E][R]
.C:a3a9  00          BRK		Begin data field....
.C:a3aa  B8          CLV
.C:a3ab  80 B8       NOOP #$B8
.C:a3ad  00          BRK
.C:a3ae  B9 80 B9    LDA $B980,Y
.C:a3b1  00          BRK
.C:a3b2  BA          TSX
.C:a3b3  80 BA       NOOP #$BA
.C:a3b5  00          BRK


Proof (enter in monitor while in a city):

Code: Select all

.9a00  lda #$00
.9a02  sta $44
.9a04  lda #$71
.9a06  sta $70
.9a08  lda #$00
.9a0a  sta $73
.9a0c  sta $034c
.9a0f  lda $44
.9a11  jsr $085d
.9a14  jmp 9000
Give character in party slot 0 item #$71 (Sword of Zar)
Post Reply