Files
SyncHome/trunk/workspace/Plus4Roms/Sandbox/fb_xa.s
2023-03-13 08:36:51 +00:00

1071 lines
13 KiB
ArmAsm

.word $1001
* = $1001
.byt $0b
l1002 bpl $0fe0
.byt $07,$9e,$34
.byt $31
l1008 bmi l1043
.byt $00,$00,$00
l100d lda #$00
sta $9a
lda #$05
jsr $ffd2
jsr $d888
lda #$36
sta $ff19
lda #$f0
sta $ff15
jsr l1798
lda $ae
sta l17e2
ldx #$01
jsr l1357
ldx #$17
jsr l1357
ldx #$18
ldy #$1a
clc
jsr $fff0
ldy #$18
lda #$05
l1043 = * + 2
; Instruction parameter jumped to.
jsr $9088
l1044 l1045 = * + 1
; Instruction parameter jumped to.
jsr l11d9
l1047 l1048 = * + 1
; Instruction parameter jumped to.
ldx #$18
ldy #$08
clc
jsr $fff0
ldy #$17
lda #$fd
jsr $9088
jsr l1392
l1059 lda #$1c
jsr $ffd2
ldy #$08
ldx #$02
clc
l1065 = * + 2
jsr $fff0
lda #$3e
jsr $ffd2
ldy #$19
ldx #$02
clc
jsr $fff0
lda #$3c
jsr $ffd2
lda #$05
jsr $ffd2
lda #$00
sta $58
lda #$00
beq l1087
l1085 lda #$01
l1087 sta $29
lda #$00
sta $28
sta $23
l108f lda #$23
sta $d8
lda #$00
sta $d9
lda #$85
sta $da
lda #$18
sta $db
jsr l165c
lda $58
beq l10b0
l10a6 sta $d9
lda $57
sta $d8
lda #$00
sta $58
l10b0 jsr l1411
lda l17e4
beq l10bb
l10b8 jsr l1744
l10bb jsr l143e
l10be jsr l14cd
l10c1 lda #$a1
l10c3 cmp $ff0b
bne l10c3
l10c8 iny
cpy #$c8
bcc l10d4
l10cd ldy #$00
lda #$ff
sta l17e3
l10d4 jsr l17c0
rol
bcs l10de
l10da and #$df
bcc l10e0
l10de ora #$20
l10e0 lsr
ora #$e0
tax
eor l17e3
and l17e3
stx l17e3
sta $22
and #$1f
bne l10f9
l10f3 jsr $ffe4
tax
beq l10c1
l10f9 lda $22
lsr
bcs l1102
l10fe cpx #$91
bne l1119
l1102 lda $28
and #$01
bne l10c1
l1108 sec
lda $d8
sbc #$11
sta $d8
bcs l1113
l1111 dec $d9
l1113 jsr l155f
jmp l10be
l1119 lsr
bcs l1120
l111c cpx #$11
bne l1137
l1120 lda $28
and #$04
bne l10c1
l1126 clc
lda $d8
adc #$11
sta $d8
bcc l1131
l112f inc $d9
l1131 jsr l14e9
jmp l10be
l1137 cpx #$14
bne l113e
l113b jmp l1085
l113e cpx #$51
bne l1151
l1142 jsr l17b4
jsr $ff8a
jsr $ff81
jsr $ff84
jmp $8003
l1151 cpx #$1b
bne l1158
l1155 jmp $fff6
l1158 cpx #$8b
bne l1167
l115c lda #$88
sta $d8
lda #$18
sta $d9
jmp l10b0
l1167 cpx #$8c
bne l1176
l116b lda $26
sta $d8
lda $27
sta $d9
jmp l10b0
l1176 lsr
bcs l1181
l1179 cpx #$9d
beq l1181
l117d cpx #$87
bne l1184
l1181 jmp l1329
l1184 lsr
bcs l118f
l1187 cpx #$1d
beq l118f
l118b cpx #$88
bne l1192
l118f jmp l12fb
l1192 lsr
bcs l11f5
l1195 cpx #$0d
beq l11f5
l1199 cpx #$8d
beq l11f5
l119d cpx #$53
beq l11ab
l11a1 cpx #$44
bne l11a8
l11a5 jmp l136a
l11a8 jmp l10c1
l11ab lda l17e4
eor #$ff
sta l17e4
jsr l11d9
lda #$00
sta $28
sta $23
sta $29
sta $58
lda l17e4
beq l11d6
l11c5 lda #$23
sta $d8
lda #$00
sta $d9
jsr l15f3
jsr l1744
jmp l115c
l11d6 jmp l108f
l11d9 ldx #$18
ldy #$16
clc
jsr $fff0
lda l17e4
beq l11ed
l11e6 lda #$13
ldy #$18
jmp l11f1
l11ed lda #$0c
ldy #$18
l11f1 jsr $9088
rts
l11f5 lda $d9
cmp #$18
bne l1204
l11fb lda $d8
cmp #$88
bne l1204
l1201 jmp l1085
l1204 lda $d9
cmp #$18
bne l1225
l120a lda $d8
cmp #$99
bne l1225
l1210 ldx #$85
ldy #$18
lda #$01
jsr l1643
ldx #$6c
ldy #$18
lda #$01
jsr l1643
jmp l1059
l1225 ldy #$10
sty $29
lda #$74
sta $da
lda #$18
sta $db
l1231 dey
php
l1234 = * + 1
lda ($d8),y
bne l1239
l1237 sty $29
l1239 sta ($da),y
plp
bne l1231
l123e bit $28
bmi l1291
l1242 ldy #$10
lda ($d8),y
cmp #$03
bne l1260
l124a lda $d8
sta $57
lda $d9
sta $58
lda #$71
sta $da
lda #$18
sta $db
jsr l165c
jmp l10b0
l1260 ldy #$0f
l1262 lda ($da),y
cmp #$2e
beq l126d
l1268 dey
bne l1262
l126b beq l1291
l126d iny
lda #$1c
sta l1635
lda #$18
sta l1636
lda #$04
ldx #$2c
jsr l1615
cpx #$00
beq l1291
l1283 lda #$00
sta $28
cpx #$04
beq l124a
l128b lda #$80
sta $28
bne l124a
l1291 jsr l15f3
jsr l17b4
lda $0543
and #$02
cmp #$02
beq l12a6
l12a0 ldy #$01
lda #$00
beq l12a8
l12a6 ldy #$00
l12a8 sta $da
lda #$01
ldx l17e2
jsr $ffba
lda $29
ldx #$74
ldy #$18
jsr $ffbd
ldy #$00
ldx #$2f
l12bf lda l12cc,y
sta $0342,y
iny
dex
bne l12bf
l12c9 jmp $0342
l12cc lda #$00
ldx $2b
ldy $2c
jsr $ffd5
stx $2d
sty $2e
jsr $d888
lda #$ee
sta $ff19
lda #$f1
sta $ff15
lda #$90
jsr $ffd2
jsr $8a98
lda $da
beq l12f5
l12f2 jsr $8818
l12f5 jsr $8bbe
jmp $8bea
l12fb lda #$65
sta $23
lda #$01
sta $24
clc
lda $d8
adc $23
sta $d8
lda $d9
adc $24
sta $d9
lda $27
cmp $d9
bcc l131e
l1316 bne l1326
l1318 lda $26
cmp $d8
bcs l1326
l131e lda $26
sta $d8
lda $27
sta $d9
l1326 jmp l10b0
l1329 lda #$65
sta $23
lda #$01
sta $24
sec
lda $d8
sbc $23
sta $d8
lda $d9
sbc $24
sta $d9
lda #$18
cmp $d9
bcc l1354
l1344 bne l134c
l1346 lda #$88
cmp $d8
bcc l1354
l134c lda #$88
sta $d8
lda #$18
sta $d9
l1354 jmp l10b0
l1357 ldy #$08
clc
jsr $fff0
ldy #$00
l135f lda #$c0
jsr $ffd2
iny
cpy #$16
bne l135f
l1369 rts
l136a lda #$00
sta $90
ldx l17e2
cpx #$08
bmi l1382
l1375 cpx #$0e
bpl l1382
l1379 inx
txa
sta $ae
jsr l13d5
bne l1389
l1382 jsr l13cd
bne l1389
l1387 lda #$08
l1389 sta l17e2
jsr l1392
jmp l1059
l1392 ldx #$18
ldy #$0d
clc
jsr $fff0
lda #$1c
jsr $ffd2
lda l17e2
cmp #$80
bpl l13af
l13a6 cmp #$0a
bpl l13af
l13aa lda #$30
jsr $ffd2
l13af ldx l17e2
lda #$00
jsr $8b40
lda #$05
jsr $ffd2
lda l17e2
cmp #$80
bpl l13cc
l13c3 cmp #$64
bpl l13cc
l13c7 lda #$20
jsr $ffd2
l13cc rts
l13cd lda #$00
sta $90
lda #$08
sta $ae
l13d5 jsr $ffb1
jsr $ffae
lda $90
beq l13ef
l13df lda #$00
sta $90
inc $ae
lda $ae
cmp #$10
bne l13d5
l13eb lda #$00
sta $ae
l13ef lda $ae
rts
l13f2 lda #$12
jsr $ffd2
ldx #$00
ldy #$09
clc
jsr $fff0
ldy #$00
l1401 lda #$20
jsr $ffd2
iny
cpy #$10
bne l1401
l140b lda #$92
jsr $ffd2
rts
l1411 lda #$59
sta l1422
lda #$0c
sta l1423
ldx #$15
l141d ldy #$00
lda #$20
l1421 l1422 = * + 1
l1423 = * + 2
sta l1234,y
iny
cpy #$10
bne l1421
l1429 clc
lda l1422
adc #$28
sta l1422
lda l1423
adc #$00
sta l1423
dex
bne l141d
l143d rts
l143e lda $28
and #$f0
tay
lda #$18
cmp $d9
bne l1450
l1449 lda #$88
cmp $d8
bne l1450
l144f iny
l1450 sty $28
lda $d8
sta $da
lda $d9
sta $db
ldx #$02
l145c ldy #$00
lda ($d8),y
beq l1478
l1462 ldy #$09
jsr l148f
cpx #$17
beq l1486
l146b clc
lda $d8
adc #$11
sta $d8
bcc l145c
l1474 inc $d9
bne l145c
l1478 lda $28
ora #$02
sta $28
cpx #$03
bne l1484
l1482 ora #$04
l1484 sta $28
l1486 lda $da
sta $d8
lda $db
sta $d9
rts
l148f txa
pha
tya
pha
clc
jsr $fff0
ldy #$00
l1499 lda ($d8),y
beq l14a5
l149d jsr $ffd2
iny
cpy #$10
bne l1499
l14a5 pla
tay
pla
tax
inx
rts
l14ab clc
jsr $fff0
ldy #$00
l14b1 lda ($da),y
beq l14be
l14b5 jsr $ffd2
iny
cpy #$10
bne l14b1
l14bd rts
l14be lda #$20
l14c0 jsr $ffd2
iny
cpy #$10
bne l14c0
l14c8 sec
jsr $fff0
rts
l14cd ldy #$1b
ldx #$02
clc
jsr $fff0
ldy #$10
lda ($d8),y
tax
ldy #$00
l14dc lda l1848,x
jsr $ffd2
inx
iny
cpy #$03
bne l14dc
l14e8 rts
l14e9 lda $28
and #$f0
sta $28
lda #$81
sta l1508
lda #$0c
sta l1509
lda #$59
sta l150b
lda #$0c
sta l150c
ldx #$14
l1505 ldy #$0f
l1507 l1508 = * + 1
l1509 = * + 2
lda l1234,y
l150b = * + 1
l150c = * + 2
sta l1234,y
dey
cpy #$ff
bne l1507
l1512 clc
lda l1508
sta l150b
adc #$28
sta l1508
lda l1509
sta l150c
adc #$00
sta l1509
dex
bne l1505
l152c jsr l15c9
lda $28
and #$02
beq l1541
l1535 lda #$00
sta $23
lda #$23
sta $da
lda #$00
sta $db
l1541 lda $27
cmp $d9
bne l1555
l1547 lda $26
cmp $d8
bne l1555
l154d lda $28
ora #$04
sta $28
bne l155c
l1555 ldx #$16
ldy #$09
jsr l14ab
l155c ldy #$00
rts
l155f lda $28
and #$f0
sta $28
lda #$51
sta l157e
lda #$0f
sta l157f
lda #$79
sta l1581
lda #$0f
sta l1582
ldx #$14
l157b ldy #$0f
l157d l157e = * + 1
l157f = * + 2
lda l1234,y
l1581 = * + 1
l1582 = * + 2
sta l1234,y
dey
cpy #$ff
bne l157d
l1588 sec
lda l157e
sta l1581
sbc #$28
sta l157e
lda l157f
sta l1582
sbc #$00
sta l157f
dex
bne l157b
l15a2 jsr l15c9
lda #$18
cmp $d9
bne l15b7
l15ab lda #$88
cmp $d8
bne l15b7
l15b1 lda $28
ora #$01
sta $28
l15b7 lda $d8
sta $da
lda $d9
sta $db
ldx #$02
ldy #$09
jsr l14ab
ldy #$00
rts
l15c9 lda #$54
sta $23
lda #$01
sta $24
clc
lda $d8
adc $23
sta $da
lda $d9
adc $24
sta $db
lda $27
cmp $db
bcc l15ec
l15e4 bne l15f2
l15e6 lda $26
cmp $da
bcs l15f2
l15ec lda $28
ora #$02
sta $28
l15f2 rts
l15f3 jsr l1411
ldx #$02
ldy #$09
jsr l148f
lda $d8
pha
lda $d9
pha
lda #$60
sta $d8
lda #$18
sta $d9
jsr l148f
pla
sta $d9
pla
sta $d8
rts
l1615 sty $23
sta l162a
stx l162f
ldx #$00
stx l163c
l1622 ldy $23
lda l163c
tax
clc
l162a = * + 1
adc #$03
sta l163c
l162f = * + 1
cpx #$12
beq l1640
l1632 lda ($da),y
l1635 = * + 1
; Instruction parameter accessed.
l1636 = * + 2
; Instruction parameter accessed.
cmp l1234,x
bne l1622
l1639 iny
inx
l163c = * + 1
; Instruction parameter accessed.
cpx #$00
bne l1632
l163f rts
l1640 ldx #$00
rts
l1643 clc
adc #$03
jsr $ffbd
lda #$01
ldx l17e2
ldy #$0f
jsr $ffba
jsr $ffc0
lda #$01
jsr $ffc3
rts
l165c jsr l13f2
jsr l15f3
lda #$4b
sta l1635
lda #$18
sta l1636
ldx $da
ldy $db
lda $29
jsr l1643
lda #$01
ldx l17e2
ldy #$00
jsr $ffba
lda #$01
ldx #$6b
ldy #$18
jsr $ffbd
lda #$00
ldx #$99
stx $d8
stx $da
ldy #$18
sty $d9
iny
sty $db
ldy #$80
l1699 sta ($da),y
dey
bne l1699
l169e ldy $db
jsr $ffd5
clc
lda $da
adc #$06
sta $da
bcc l16ae
l16ac inc $db
l16ae lda #$12
jsr $ffd2
ldx #$00
ldy #$09
jsr l14ab
lda #$92
jsr $ffd2
l16bf ldy #$00
l16c1 lda ($da),y
beq l16cd
l16c5 inc $da
bne l16c1
l16c9 inc $db
bne l16c1
l16cd clc
lda $d8
sta $26
adc #$11
sta $d8
lda $d9
sta $27
adc #$00
sta $d9
clc
lda $da
adc #$05
sta $da
bcc l16e9
l16e7 inc $db
l16e9 lda ($da),y
beq l16f9
l16ed cmp #$22
beq l1704
l16f1 inc $da
bne l16e9
l16f5 inc $db
bne l16e9
l16f9 sta ($d8),y
lda #$88
sta $d8
lda #$18
sta $d9
rts
l1704 iny
ldx #$00
l1707 lda ($da),y
cmp #$22
beq l1714
l170d dey
sta ($d8),y
iny
iny
bne l1707
l1714 lda #$00
sty $24
dey
l1719 cpy #$11
beq l1722
l171d sta ($d8),y
iny
bne l1719
l1722 ldy $24
iny
ldx #$00
l1727 lda ($da),y
cmp #$20
bne l1730
l172d iny
bne l1727
l1730 cmp #$2a
bne l1735
l1734 iny
l1735 lda #$03
ldx #$15
jsr l1615
ldy #$10
txa
sta ($d8),y
jmp l16bf
l1744 lda #$aa
sta $da
lda #$18
sta $db
lda #$00
sta $25
l1750 clc
lda $da
sta $23
adc #$11
sta $da
lda $db
sta $24
adc #$00
sta $db
lda $23
cmp $26
lda $24
sbc $27
bcc l1770
l176b lda $25
bne l1744
l176f rts
l1770 ldy #$00
l1772 lda ($da),y
cmp ($23),y
bcc l1781
l1778 bne l1750
l177a iny
cpy #$11
bne l1772
l177f beq l1750
l1781 lda #$01
sta $25
ldy #$00
l1787 lda ($23),y
pha
lda ($da),y
sta ($23),y
pla
sta ($da),y
iny
cpy #$11
bne l1787
l1796 beq l1750
l1798 ldx #$10
l179a lda $055e,x
sta $0331,x
dex
bne l179a
l17a3 ldx #$08
l17a5 lda #$01
sta $055e,x
lda l17e4,x
sta $0566,x
dex
bne l17a5
l17b3 rts
l17b4 ldx #$10
l17b6 lda $0331,x
sta $055e,x
dex
bne l17b6
l17bf rts
l17c0 ldx #$07
l17c2 lda l17ed,x
sta $fd30
sta $ff08
lda $ff08
sta l17f5,x
dex
bpl l17c2
l17d4 lda #$ff
sta $fd30
lda #$fd
sta $ff08
lda $ff08
rts
l17e2 l17e3 = * + 1
l17e4 = * + 2
.byt $00,$ff,$00
.byt $85,$89,$86
.byt $8a,$87,$8b
l17ed = * + 2
.byt $88,$8c,$fe
.byt $fd,$fb,$f7
.byt $ef,$df,$bf
l17f5 = * + 1
.byt $7f,$00,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $12,$44,$92
.byt $52,$49,$56
.byt $45,$00,$12
.byt $51,$92,$55
.byt $49,$54,$00
.byt $12,$53,$92
.byt $4f,$52,$54
.byt $00,$12,$53
.byt $92,$1c,$4f
.byt $52,$54,$05
.byt $00,$44,$4e
.byt $50,$00,$44
.byt $36,$34,$00
.byt $44,$37,$31
.byt $00,$44,$38
.byt $31,$00,$4d
.byt $32,$49,$00
.byt $44,$34,$31
.byt $00,$c4,$36
.byt $34,$00,$c4
.byt $34,$31,$00
.byt $c4,$37,$31
.byt $00,$c4,$38
.byt $31,$00,$cd
.byt $32,$c9,$00
l1848 .byt $43,$44,$5f
.byt $44,$49,$52
.byt $44,$45
l1850 jmp $4553
.byt $51
l1854 bvc l18a8
.byt $47,$55,$53
.byt $52,$52,$45
l185c jmp $4243
.byt $4d
l1860 jmp $414f
.byt $44,$49,$4e
.byt $47,$2e,$2e
.byt $2e,$00,$24
.byt $43,$44,$2f
.byt $2f,$00,$43
.byt $44,$3a,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $00,$43,$44
.byt $3a,$5f,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $2f,$2f,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $00,$00,$00
.byt $00,$00,$00
l18a8 .byt $00,$00