BTII ENGINE SUBROUTINE - $0806

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 ENGINE SUBROUTINE - $0806

Post by Darendor »

So, I thought I'd try to decode the $0806 subroutine - i.e. where it prints out text strings.

I ended up with a complete mess. Things went well at first, but then the file wandered into the screen text layout; i.e. "Character Name AC Hit Pts Spl Pts Cl" and whatnot.

No RTS in sight. I gave up at $0a42...

Code: Select all

ENGINE SUBROUTINE $0806

PRINTS TEXT ON SCREEN
Y REGISTER - high byte of address
X REGISTER - low byte of address

E.G.: 	LDY #$af
	LDX #$44
	JSR $0806
...prints out text string starting at $af44.

ALL TEXT STRINGS ENDED BY EITHER DC OR FF.

.C:0806  4C 33 0B    JMP $0B33
.C:0809  4C 37 0B    JMP $0B37
.C:080c  4C F1 0B    JMP $0BF1
.C:080f  4C 08 0C    JMP $0C08
.C:0812  4C 8E 0C    JMP $0C8E
.C:0815  4C 4F 0D    JMP $0D4F
.C:0818  4C 7B 44    JMP $447B
.C:081b  4C CA 0D    JMP $0DCA
.C:081e  4C 40 0F    JMP $0F40
.C:0821  4C 77 0F    JMP $0F77
.C:0824  4C 94 0F    JMP $0F94
.C:0827  4C C4 0F    JMP $0FC4
.C:082a  4C F3 0F    JMP $0FF3
.C:082d  4C 1C 10    JMP $101C
.C:0830  4C 4A 10    JMP $104A
.C:0833  4C BD 10    JMP $10BD
.C:0836  4C CF 10    JMP $10CF
.C:0839  4C 48 11    JMP $1148
.C:083c  4C 55 11    JMP $1155
.C:083f  4C 73 11    JMP $1173
.C:0842  4C 93 11    JMP $1193
.C:0845  4C A3 11    JMP $11A3
.C:0848  4C B3 11    JMP $11B3
.C:084b  4C 31 13    JMP $1331
.C:084e  4C 5F 13    JMP $135F
.C:0851  4C 45 14    JMP $1445
.C:0854  4C 00 18    JMP $1800
.C:0857  4C AB 44    JMP $44AB
.C:085a  4C E6 44    JMP $44E6
.C:085d  4C 16 45    JMP $4516
.C:0860  4C 22 45    JMP $4522
.C:0863  4C A4 45    JMP $45A4
.C:0866  4C 90 46    JMP $4690
.C:0869  4C DD 46    JMP $46DD
.C:086c  4C 2D 47    JMP $472D
.C:086f  4C 31 47    JMP $4731
.C:0872  4C 85 47    JMP $4785
.C:0875  4C 62 43    JMP $4362
.C:0878  4C 39 1B    JMP $1B39
.C:087b  4C 3D 1B    JMP $1B3D
.C:087e  4C 7E 1C    JMP $1C7E
.C:0881  4C 85 1C    JMP $1C85
.C:0884  4C AD 1C    JMP $1CAD
.C:0887  4C B4 1C    JMP $1CB4
.C:088a  4C B5 1C    JMP $1CB5
.C:088d  4C C2 1C    JMP $1CC2
.C:0890  4C 2C 44    JMP $442C
.C:0893  4C 57 44    JMP $4457
.C:0896  4C EF 43    JMP $43EF
.C:0899  4C DC 1C    JMP $1CDC
.C:089c  4C 5F 1D    JMP $1D5F
.C:089f  4C 68 1D    JMP $1D68
.C:08a2  4C CF 1D    JMP $1DCF
.C:08a5  4C B1 43    JMP $43B1
.C:08a8  4C 9E 62    JMP $629E
.C:08ab  4C D5 47    JMP $47D5
.C:08ae  4C 0E 4B    JMP $4B0E
.C:08b1  4C EA 4B    JMP $4BEA
.C:08b4  4C 0D 4C    JMP $4C0D
.C:08b7  4C 1E 4C    JMP $4C1E
.C:08ba  4C 4A 4C    JMP $4C4A
.C:08bd  4C CC 53    JMP $53CC
.C:08c0  4C AE 47    JMP $47AE
.C:08c3  4C 6C 4C    JMP $4C6C
.C:08c6  4C 8E 4C    JMP $4C8E
.C:08c9  4C EB 62    JMP $62EB
.C:08cc  4C 14 63    JMP $6314
.C:08cf  4C A6 4F    JMP $4FA6
.C:08d2  4C 05 50    JMP $5005
.C:08d2  4C 05 50    JMP $5005
.C:08d5  4C 23 50    JMP $5023
.C:08d8  4C 2A 51    JMP $512A
.C:08db  4C 41 09    JMP $0941
.C:08de  4C 86 51    JMP $5186
.C:08e1  4C 9A 40    JMP $409A
.C:08e4  4C D5 40    JMP $40D5
.C:08e7  4C 15 41    JMP $4115
.C:08ea  4C 77 60    JMP $6077
.C:08ed  4C 95 60    JMP $6095
.C:08f0  4C 51 61    JMP $6151
.C:08f3  4C 8E 61    JMP $618E
.C:08f6  4C 16 55    JMP $5516
.C:08f9  4C 70 54    JMP $5470
.C:08fc  4C 7B 62    JMP $627B
.C:08ff  4C CC 61    JMP $61CC
.C:0902  4C 07 55    JMP $5507
.C:0905  4C BE 55    JMP $55BE
.C:0908  4C 5D 46    JMP $465D
.C:090b  4C 87 46    JMP $4687
.C:090e  4C F4 54    JMP $54F4
.C:0911  4C 41 56    JMP $5641
.C:0914  4C 2D 67    JMP $672D
.C:0917  4C D9 60    JMP $60D9
.C:091a  4C 77 1D    JMP $1D77
.C:091d  4C 7C 60    JMP $607C
.C:0920  4C DF 66    JMP $66DF
.C:0923  4C E3 66    JMP $66E3
.C:0926  4C E4 55    JMP $55E4
.C:0929  4C AE 4A    JMP $4AAE
.C:092c  4C E5 5F    JMP $5FE5
.C:092f  4C 9F 63    JMP $639F
.C:0932  4C F7 55    JMP $55F7
.C:0935  4C BC 63    JMP $63BC
.C:0938  4C 6D 52    JMP $526D
.C:093b  4C 38 67    JMP $6738
.C:093e  4C 74 45    JMP $4574
.C:0941  78          SEI
.C:0942  A9 35       LDA #$35
.C:0944  85 01       STA $01
.C:0946  A2 0A       LDX #$0A
.C:0948  A9 00       LDA #$00
.C:094a  95 00       STA $00,X
.C:094c  E8          INX
.C:094d  D0 FB       BNE $094A
.C:094f  A9 1F       LDA #$1F
.C:0951  85 EC       STA $EC
.C:0953  A9 50       LDA #$50
.C:0955  85 DE       STA $DE
.C:0957  A9 20       LDA #$20
.C:0959  85 87       STA $87
.C:095b  A9 0A       LDA #$0A
.C:095d  85 60       STA $60
.C:095f  A2 18       LDX #$18
.C:0961  A9 00       LDA #$00
.C:0963  9D 00 D4    STA $D400,X
.C:0966  CA          DEX
.C:0967  10 FA       BPL $0963
.C:0969  85 F6       STA $F6
.C:096b  A9 0C       LDA #$0C
.C:096d  8D 18 D4    STA $D418
.C:0970  A0 00       LDY #$00
.C:0972  8C 4D 03    STY $034D
.C:0975  8C 4B 03    STY $034B
.C:0979  A2 04       LDX #$04
.C:097b  99 00 BC    STA $BC00,Y
.C:097e  C8          INY
.C:097f  D0 FA       BNE $097B
.C:0981  EE 7D 09    INC $097D
.C:0984  CA          DEX
.C:0985  D0 F4       BNE $097B
.C:0987  A2 06       LDX #$06
.C:0989  A9 00       LDA #$00
.C:098b  9D 80 02    STA $0280,X
.C:098e  CA          DEX
.C:098f  10 FA       BPL $098B
.C:0991  A9 03       LDA #$03
.C:0993  8D 14 03    STA $0314
.C:0996  A9 1E       LDA #$1E
.C:0998  8D 15 03    STA $0315
.C:099b  20 00 40    JSR $4000
.C:099e  58          CLI
.C:099f  A2 FF       LDX #$FF
.C:09a3  86 A2       STX $A2
.C:09a5  9A          TXS
.C:09a6  A9 08       LDA #$08
.C:09a8  85 88       STA $88
.C:09aa  A9 10       LDA #$10
.C:09ac  85 54       STA $54
.C:09ae  A9 00       LDA #$00
.C:09b0  85 55       STA $55
.C:09b2  A2 00       LDX #$00
.C:09b4  BD 19 0A    LDA $0A19,X
.C:09b7  C9 DC       CMP #$DC		Looks for "dc"
.C:09b9  F0 06       BEQ $09C1
.C:09bb  20 5E 0A    JSR $0A5E
.C:09be  E8          INX
.C:09bf  D0 F3       BNE $09B4
.C:09c1  A9 11       LDA #$11
.C:09c3  85 54       STA $54
.C:09c5  A5 54       LDA $54
.C:09c7  38          SEC
.C:09c8  E9 11       SBC #$11
.C:09ca  0A          ASL A
.C:09cb  0A          ASL A
.C:09cc  18          CLC
.C:09cd  69 42       ADC #$42
.C:09cf  AA          TAX
.C:09d0  A9 0A       LDA #$0A
.C:09d2  69 00       ADC #$00
.C:09d4  A8          TAY
.C:09d5  A9 00       LDA #$00
.C:09d7  85 55       STA $55
.C:09d9  20 33 0B    JSR $0B33
.C:09dc  E6 54       INC $54
.C:09de  A5 54       LDA $54
.C:09e0  C9 18       CMP #$18
.C:09e2  90 E1       BCC $09C5
.C:09e4  20 B3 11    JSR $11B3
.C:09e7  A9 26       LDA #$26
.C:09e9  20 85 47    JSR $4785
.C:09ec  A9 01       LDA #$01
.C:09ee  85 A8       STA $A8
.C:09f0  A9 00       LDA #$00
.C:09f2  85 29       STA $29
.C:09f4  A9 08       LDA #$08
.C:09f6  85 28       STA $28
.C:09f8  A9 01       LDA #$01
.C:09fa  85 24       STA $24
.C:09fc  A2 B0       LDX #$B0
.C:09fe  A9 00       LDA #$00
.C:0a00  9D 41 09    STA $0941,X
.C:0a03  CA          DEX
.C:0a04  10 F8       BPL $09FE
.C:0a06  A9 02       LDA #$02
.C:0a08  4C DC 1C    JMP $1CDC
.C:0a0b  00          BRK
.C:0a0c  B8          CLV
.C:0a0d  80 B8       NOOP #$B8
.C:0a0f  00          BRK
.C:0a10  B9 80 B9    LDA $B980,Y
.C:0a13  00          BRK
.C:0a14  BA          TSX
.C:0a15  80 BA       NOOP #$BA
.C:0a17  00          BRK
.C:0a18  BB A0 A0    LAS $A0A0,Y
.C:0a1b  C3 E8       DCP ($E8,X)	[C][h]
.C:0a1d  E1 F2       SBC ($F2,X)	[a][r]
.C:0a1f  E1 E3       SBC ($E3,X)	[a][c]
.C:0a21  F4 E5       NOOP $E5,X		[t][e]
.C:0a23  F2          JAM		[r]
.C:0a24  A0 CE       LDY #$CE		[_][N]
.C:0a26  E1 ED       SBC ($ED,X)	[a][m]
.C:0a28  E5 A0       SBC $A0		[e][_]
.C:0a2a  C1 C3       CMP ($C3,X)	[A][C]
.C:0a2c  A0 A0       LDY #$A0		[_][_]
.C:0a2e  C8          INY		[H]
.C:0a2f  E9 F4       SBC #$F4		[i][t]
.C:0a31  A0 D0       LDY #$D0		[_][P]
.C:0a33  F4 F3       NOOP $F3,X		[t][s]
.C:0a35  A0 A0       LDY #$A0		[_][_]
.C:0a37  D3 F0       DCP ($F0),Y	[S][p]
.C:0a39  EC A0 D0    CPX $D0A0		[l][_][P]
.C:0a3c  F4 F3       NOOP $F3,X		[t][s]
.C:0a3e  A0 C3       LDY #$C3		[_][C]
.C:0a40  EC DC B0    CPX $B0DC		[l][EOT][0]
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: BTII ENGINE SUBROUTINE - $0806

Post by Darendor »

The entire thing is here, after finally finding the RTS.

Code: Select all

ENGINE SUBROUTINE $0806 to $0afe.

PRINTS TEXT ON SCREEN
Y REGISTER - high byte of address
X REGISTER - low byte of address

E.G.: 	LDY #$af
	LDX #$44
	JSR $0806
...prints out text string starting at $af44.

ALL TEXT STRINGS ENDED BY EITHER DC OR FF.

.C:0806  4C 33 0B    JMP $0B33
.C:0809  4C 37 0B    JMP $0B37
.C:080c  4C F1 0B    JMP $0BF1
.C:080f  4C 08 0C    JMP $0C08
.C:0812  4C 8E 0C    JMP $0C8E
.C:0815  4C 4F 0D    JMP $0D4F
.C:0818  4C 7B 44    JMP $447B
.C:081b  4C CA 0D    JMP $0DCA
.C:081e  4C 40 0F    JMP $0F40
.C:0821  4C 77 0F    JMP $0F77
.C:0824  4C 94 0F    JMP $0F94
.C:0827  4C C4 0F    JMP $0FC4
.C:082a  4C F3 0F    JMP $0FF3
.C:082d  4C 1C 10    JMP $101C
.C:0830  4C 4A 10    JMP $104A
.C:0833  4C BD 10    JMP $10BD
.C:0836  4C CF 10    JMP $10CF
.C:0839  4C 48 11    JMP $1148
.C:083c  4C 55 11    JMP $1155
.C:083f  4C 73 11    JMP $1173
.C:0842  4C 93 11    JMP $1193
.C:0845  4C A3 11    JMP $11A3
.C:0848  4C B3 11    JMP $11B3
.C:084b  4C 31 13    JMP $1331
.C:084e  4C 5F 13    JMP $135F
.C:0851  4C 45 14    JMP $1445
.C:0854  4C 00 18    JMP $1800
.C:0857  4C AB 44    JMP $44AB
.C:085a  4C E6 44    JMP $44E6
.C:085d  4C 16 45    JMP $4516
.C:0860  4C 22 45    JMP $4522
.C:0863  4C A4 45    JMP $45A4
.C:0866  4C 90 46    JMP $4690
.C:0869  4C DD 46    JMP $46DD
.C:086c  4C 2D 47    JMP $472D
.C:086f  4C 31 47    JMP $4731
.C:0872  4C 85 47    JMP $4785
.C:0875  4C 62 43    JMP $4362
.C:0878  4C 39 1B    JMP $1B39
.C:087b  4C 3D 1B    JMP $1B3D
.C:087e  4C 7E 1C    JMP $1C7E
.C:0881  4C 85 1C    JMP $1C85
.C:0884  4C AD 1C    JMP $1CAD
.C:0887  4C B4 1C    JMP $1CB4
.C:088a  4C B5 1C    JMP $1CB5
.C:088d  4C C2 1C    JMP $1CC2
.C:0890  4C 2C 44    JMP $442C
.C:0893  4C 57 44    JMP $4457
.C:0896  4C EF 43    JMP $43EF
.C:0899  4C DC 1C    JMP $1CDC
.C:089c  4C 5F 1D    JMP $1D5F
.C:089f  4C 68 1D    JMP $1D68
.C:08a2  4C CF 1D    JMP $1DCF
.C:08a5  4C B1 43    JMP $43B1
.C:08a8  4C 9E 62    JMP $629E
.C:08ab  4C D5 47    JMP $47D5
.C:08ae  4C 0E 4B    JMP $4B0E
.C:08b1  4C EA 4B    JMP $4BEA
.C:08b4  4C 0D 4C    JMP $4C0D
.C:08b7  4C 1E 4C    JMP $4C1E
.C:08ba  4C 4A 4C    JMP $4C4A
.C:08bd  4C CC 53    JMP $53CC
.C:08c0  4C AE 47    JMP $47AE
.C:08c3  4C 6C 4C    JMP $4C6C
.C:08c6  4C 8E 4C    JMP $4C8E
.C:08c9  4C EB 62    JMP $62EB
.C:08cc  4C 14 63    JMP $6314
.C:08cf  4C A6 4F    JMP $4FA6
.C:08d2  4C 05 50    JMP $5005
.C:08d2  4C 05 50    JMP $5005
.C:08d5  4C 23 50    JMP $5023
.C:08d8  4C 2A 51    JMP $512A
.C:08db  4C 41 09    JMP $0941
.C:08de  4C 86 51    JMP $5186
.C:08e1  4C 9A 40    JMP $409A
.C:08e4  4C D5 40    JMP $40D5
.C:08e7  4C 15 41    JMP $4115
.C:08ea  4C 77 60    JMP $6077
.C:08ed  4C 95 60    JMP $6095
.C:08f0  4C 51 61    JMP $6151
.C:08f3  4C 8E 61    JMP $618E
.C:08f6  4C 16 55    JMP $5516
.C:08f9  4C 70 54    JMP $5470
.C:08fc  4C 7B 62    JMP $627B
.C:08ff  4C CC 61    JMP $61CC
.C:0902  4C 07 55    JMP $5507
.C:0905  4C BE 55    JMP $55BE
.C:0908  4C 5D 46    JMP $465D
.C:090b  4C 87 46    JMP $4687
.C:090e  4C F4 54    JMP $54F4
.C:0911  4C 41 56    JMP $5641
.C:0914  4C 2D 67    JMP $672D
.C:0917  4C D9 60    JMP $60D9
.C:091a  4C 77 1D    JMP $1D77
.C:091d  4C 7C 60    JMP $607C
.C:0920  4C DF 66    JMP $66DF
.C:0923  4C E3 66    JMP $66E3
.C:0926  4C E4 55    JMP $55E4
.C:0929  4C AE 4A    JMP $4AAE
.C:092c  4C E5 5F    JMP $5FE5
.C:092f  4C 9F 63    JMP $639F
.C:0932  4C F7 55    JMP $55F7
.C:0935  4C BC 63    JMP $63BC
.C:0938  4C 6D 52    JMP $526D
.C:093b  4C 38 67    JMP $6738
.C:093e  4C 74 45    JMP $4574
.C:0941  78          SEI
.C:0942  A9 35       LDA #$35
.C:0944  85 01       STA $01
.C:0946  A2 0A       LDX #$0A
.C:0948  A9 00       LDA #$00
.C:094a  95 00       STA $00,X
.C:094c  E8          INX
.C:094d  D0 FB       BNE $094A
.C:094f  A9 1F       LDA #$1F
.C:0951  85 EC       STA $EC
.C:0953  A9 50       LDA #$50
.C:0955  85 DE       STA $DE
.C:0957  A9 20       LDA #$20
.C:0959  85 87       STA $87
.C:095b  A9 0A       LDA #$0A
.C:095d  85 60       STA $60
.C:095f  A2 18       LDX #$18
.C:0961  A9 00       LDA #$00
.C:0963  9D 00 D4    STA $D400,X
.C:0966  CA          DEX
.C:0967  10 FA       BPL $0963
.C:0969  85 F6       STA $F6
.C:096b  A9 0C       LDA #$0C
.C:096d  8D 18 D4    STA $D418
.C:0970  A0 00       LDY #$00
.C:0972  8C 4D 03    STY $034D
.C:0975  8C 4B 03    STY $034B
.C:0979  A2 04       LDX #$04
.C:097b  99 00 BC    STA $BC00,Y
.C:097e  C8          INY
.C:097f  D0 FA       BNE $097B
.C:0981  EE 7D 09    INC $097D
.C:0984  CA          DEX
.C:0985  D0 F4       BNE $097B
.C:0987  A2 06       LDX #$06
.C:0989  A9 00       LDA #$00
.C:098b  9D 80 02    STA $0280,X
.C:098e  CA          DEX
.C:098f  10 FA       BPL $098B
.C:0991  A9 03       LDA #$03
.C:0993  8D 14 03    STA $0314
.C:0996  A9 1E       LDA #$1E
.C:0998  8D 15 03    STA $0315
.C:099b  20 00 40    JSR $4000
.C:099e  58          CLI
.C:099f  A2 FF       LDX #$FF
.C:09a3  86 A2       STX $A2
.C:09a5  9A          TXS
.C:09a6  A9 08       LDA #$08
.C:09a8  85 88       STA $88
.C:09aa  A9 10       LDA #$10
.C:09ac  85 54       STA $54
.C:09ae  A9 00       LDA #$00
.C:09b0  85 55       STA $55
.C:09b2  A2 00       LDX #$00
.C:09b4  BD 19 0A    LDA $0A19,X
.C:09b7  C9 DC       CMP #$DC		Looks for "dc"
.C:09b9  F0 06       BEQ $09C1
.C:09bb  20 5E 0A    JSR $0A5E
.C:09be  E8          INX
.C:09bf  D0 F3       BNE $09B4
.C:09c1  A9 11       LDA #$11
.C:09c3  85 54       STA $54
.C:09c5  A5 54       LDA $54
.C:09c7  38          SEC
.C:09c8  E9 11       SBC #$11
.C:09ca  0A          ASL A
.C:09cb  0A          ASL A
.C:09cc  18          CLC
.C:09cd  69 42       ADC #$42
.C:09cf  AA          TAX
.C:09d0  A9 0A       LDA #$0A
.C:09d2  69 00       ADC #$00
.C:09d4  A8          TAY
.C:09d5  A9 00       LDA #$00
.C:09d7  85 55       STA $55
.C:09d9  20 33 0B    JSR $0B33
.C:09dc  E6 54       INC $54
.C:09de  A5 54       LDA $54
.C:09e0  C9 18       CMP #$18
.C:09e2  90 E1       BCC $09C5
.C:09e4  20 B3 11    JSR $11B3
.C:09e7  A9 26       LDA #$26
.C:09e9  20 85 47    JSR $4785
.C:09ec  A9 01       LDA #$01
.C:09ee  85 A8       STA $A8
.C:09f0  A9 00       LDA #$00
.C:09f2  85 29       STA $29
.C:09f4  A9 08       LDA #$08
.C:09f6  85 28       STA $28
.C:09f8  A9 01       LDA #$01
.C:09fa  85 24       STA $24
.C:09fc  A2 B0       LDX #$B0
.C:09fe  A9 00       LDA #$00
.C:0a00  9D 41 09    STA $0941,X
.C:0a03  CA          DEX
.C:0a04  10 F8       BPL $09FE
.C:0a06  A9 02       LDA #$02
.C:0a08  4C DC 1C    JMP $1CDC
.C:0a0b  00          BRK
.C:0a0c  B8          CLV
.C:0a0d  80 B8       NOOP #$B8
.C:0a0f  00          BRK
.C:0a10  B9 80 B9    LDA $B980,Y
.C:0a13  00          BRK
.C:0a14  BA          TSX
.C:0a15  80 BA       NOOP #$BA
.C:0a17  00          BRK
.C:0a18  BB A0 A0    LAS $A0A0,Y
.C:0a1b  C3 E8       DCP ($E8,X)	[C][h]
.C:0a1d  E1 F2       SBC ($F2,X)	[a][r]
.C:0a1f  E1 E3       SBC ($E3,X)	[a][c]
.C:0a21  F4 E5       NOOP $E5,X		[t][e]
.C:0a23  F2          JAM		[r]
.C:0a24  A0 CE       LDY #$CE		[_][N]
.C:0a26  E1 ED       SBC ($ED,X)	[a][m]
.C:0a28  E5 A0       SBC $A0		[e][_]
.C:0a2a  C1 C3       CMP ($C3,X)	[A][C]
.C:0a2c  A0 A0       LDY #$A0		[_][_]
.C:0a2e  C8          INY		[H]
.C:0a2f  E9 F4       SBC #$F4		[i][t]
.C:0a31  A0 D0       LDY #$D0		[_][P]
.C:0a33  F4 F3       NOOP $F3,X		[t][s]
.C:0a35  A0 A0       LDY #$A0		[_][_]
.C:0a37  D3 F0       DCP ($F0),Y	[S][p]
.C:0a39  EC A0 D0    CPX $D0A0		[l][_][P]
.C:0a3c  F4 F3       NOOP $F3,X		[t][s]
.C:0a3e  A0 C3       LDY #$C3		[_][C]
.C:0a40  EC DC B0    CPX $B0DC		[l][EOT][0]
.C:0a43  A0 A0       LDY #$A0		[_][_]
.C:0a45  DC B1 A0    NOOP $A0B1,X	[EOT][1][_]
.C:0a48  A0 DC       LDY #$DC		[_][EOT]
.C:0a4a  B2          JAM		[2]
.C:0a4b  A0 A0       LDY #$A0		[_][_]
.C:0a4d  DC B3 A0    NOOP $A0B3,X	[EOT][3][_]
.C:0a50  A0 DC       LDY #$DC		[_][EOT]
.C:0a52  B4 A0       LDY $A0,X		[4][_]
.C:0a54  A0 DC       LDY #$DC		[_][EOT]
.C:0a56  B5 A0       LDA $A0,X		[5][_]
.C:0a58  A0 DC       LDY #$DC		[_][EOT]
.C:0a5a  B6 A0       LDX $A0,Y		[6][_]
.C:0a5c  A0 DC       LDY #$DC		[_][EOT]
.C:0a5e  8E FA 0A    STX $0AFA	
.C:0a61  8C FC 0A    STY $0AFC
.C:0a64  48          PHA
.C:0a65  A2 00       LDX #$00
.C:0a67  86 91       STX $91
.C:0a69  8E E4 0A    STX $0AE4	
.C:0a6c  A0 03       LDY #$03
.C:0a6e  A5 55       LDA $55
.C:0a70  DD FF 0A    CMP $0AFF,X
.C:0a73  90 1B       BCC $0A90
.C:0a75  E8          INX
.C:0a76  DD FF 0A    CMP $0AFF,X
.C:0a79  B0 16       BCS $0A91
.C:0a7b  E8          INX
.C:0a7c  A5 54       LDA $54
.C:0a7e  DD FF 0A    CMP $0AFF,X
.C:0a81  90 0F       BCC $0A92
.C:0a83  E8          INX
.C:0a84  DD FF 0A    CMP $0AFF,X
.C:0a87  B0 0A       BCS $0A93
.C:0a89  A9 FF       LDA #$FF
.C:0a8b  8D E4 0A    STA $0AE4
.C:0a8e  D0 03       BNE $0A93
.C:0a90  E8          INX
.C:0a91  E8          INX
.C:0a92  E8          INX
.C:0a93  E8          INX
.C:0a94  88          DEY
.C:0a95  D0 D7       BNE $0A6E
.C:0a97  68          PLA
.C:0a98  48          PHA
.C:0a99  D0 06       BNE $0AA1
.C:0a9b  20 F1 0B    JSR $0BF1
.C:0a9e  4C F9 0A    JMP $0AF9
.C:0aa1  38          SEC
.C:0aa2  E9 A0       SBC #$A0
.C:0aa4  0A          ASL A
.C:0aa5  0A          ASL A
.C:0aa6  26 91       ROL $91
.C:0aa8  0A          ASL A
.C:0aa9  26 91       ROL $91
.C:0aab  18          CLC
.C:0aac  69 39       ADC #$39
.C:0aae  8D E1 0A    STA $0AE1
.C:0ab1  A5 91       LDA $91
.C:0ab3  69 18       ADC #$18
.C:0ab5  8D E2 0A    STA $0AE2
.C:0ab8  A5 54       LDA $54
.C:0aba  0A          ASL A
.C:0abb  0A          ASL A
.C:0abc  0A          ASL A
.C:0abd  A8          TAY
.C:0abe  A6 55       LDX $55
.C:0ac0  A9 00       LDA #$00
.C:0ac2  8D DA 0A    STA $0ADA
.C:0ac5  E0 20       CPX #$20
.C:0ac7  90 03       BCC $0ACC
.C:0ac9  EE DA 0A    INC $0ADA
.C:0acc  B9 00 B6    LDA $B600,Y
.C:0acf  18          CLC
.C:0ad0  7D 0B 0B    ADC $0B0B,X
.C:0ad3  8D E6 0A    STA $0AE6
.C:0ad6  B9 00 B7    LDA $B700,Y
.C:0ad9  69 00       ADC #$00
.C:0adb  8D E7 0A    STA $0AE7
.C:0ade  A2 00       LDX #$00
.C:0ae0  BD 31 19    LDA $1931,X
.C:0ae3  49 FF       EOR #$FF
.C:0ae5  9D 40 32    STA $3240,X
.C:0ae8  E8          INX
.C:0ae9  E0 08       CPX #$08
.C:0aeb  90 F3       BCC $0AE0
.C:0aed  E6 55       INC $55
.C:0aef  A5 55       LDA $55
.C:0af1  C9 28       CMP #$28
.C:0af3  90 04       BCC $0AF9
.C:0af5  A9 00       LDA #$00
.C:0af7  85 55       STA $55
.C:0af9  A2 06       LDX #$06
.C:0afb  A0 32       LDY #$32
.C:0afd  68          PLA
.C:0afe  60          RTS
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Re: BTII ENGINE SUBROUTINE - $0806

Post by Darendor »

What's weird about this - to me at least - is that at $09f0 it sets the party's position to 8N 0E for some reason.

$0028 is the party's north co-ordinate, and $0029 is the party's east co-ordinate, a la APAR/SCSI and whatnot.
Post Reply