a2d/desktop/ovl2.s

2347 lines
44 KiB
ArmAsm
Raw Normal View History

.setcpu "6502"
.include "apple2.inc"
.include "../inc/apple2.inc"
.include "../inc/auxmem.inc"
.include "../inc/prodos.inc"
.include "../mgtk.inc"
.include "../desktop.inc"
.include "../macros.inc"
;;; ==================================================
;;; Overlay for Format/Erase
;;; ==================================================
.org $800
L0006 := $0006
L00E8 := $00E8
L2000 := $2000
L4030 := $4030
LA132 := $A132
LA18A := $A18A
LA1BE := $A1BE
LA1D4 := $A1D4
LA1EF := $A1EF
LA567 := $A567
LAACE := $AACE
LB3E7 := $B3E7
LB403 := $B403
LB445 := $B445
LB509 := $B509
LB590 := $B590
LB708 := $B708
LB723 := $B723
LB781 := $B781
LB7B9 := $B7B9
LBD69 := $BD69
LBD75 := $BD75
LBEB1 := $BEB1
LF479 := $F479
L0800: pha
jsr LB403
pla
cmp #$04
beq L080C
jmp L09D9
L080C: lda #$00
sta $D8E8
jsr LB509
lda $D57D
jsr LB7B9
lda #$45
ldx #$B2
jsr LB723
lda #$57
ldx #$B2
ldy #$01
jsr LB590
jsr L0D31
lda #$FF
sta $D887
L0832: lda #$48
sta $A89A
lda #$0B
sta $A89B
lda #$80
sta $D8ED
L0841: jsr LA567
bmi L0841
pha
lda #$F4
sta $A89A
lda #$B8
sta $A89B
lda #$00
sta $D8F3
sta $D8ED
pla
beq L085F
jmp L09C2
L085F: bit $D887
bmi L0832
lda $D57D
jsr LB7B9
ldy #$07
lda #$00
ldx #$D2
jsr MGTK_RELAY
ldy #$11
lda #$6E
ldx #$AE
jsr MGTK_RELAY
ldy #$07
lda #$02
ldx #$D2
jsr MGTK_RELAY
ldy #$12
lda #$AB
ldx #$D6
jsr MGTK_RELAY
jsr LBD75
lda #$80
sta $D8E8
lda #$00
sta $D8ED
jsr LBD69
lda #$8D
ldx #$B2
ldy #$03
jsr LB590
L08A7: jsr LA567
bmi L08A7
beq L08B7
jmp L09C2
L08B1: jsr LAACE
jmp L08A7
L08B7: lda $D443
beq L08B1
cmp #$10
bcs L08B1
jsr LB403
lda $D57D
jsr LB7B9
ldy #$07
lda #$00
ldx #$D2
jsr MGTK_RELAY
ldy #$11
lda #$6E
ldx #$AE
jsr MGTK_RELAY
ldx $D887
lda $BF32,x
sta L09D8
sta L09D7
lda #$00
sta $D8E8
lda #$AF
ldx #$B2
ldy #$03
jsr LB590
lda L09D7
jsr L1A2D
lda #$09
ldx #$D9
jsr LB708
L0902: jsr LA567
bmi L0902
beq L090C
jmp L09C2
L090C: lda $D57D
jsr LB7B9
L0912: ldy #$07
lda #$00
ldx #$D2
jsr MGTK_RELAY
ldy #$11
L091D: lda #$6E
ldx #$AE
jsr MGTK_RELAY
L0924: lda #$C6
ldx #$B2
ldy #$01
L092B := * + 1
jsr LB590
lda L09D7
jsr L12C1
and #$FF
bne L0942
jsr LB3E7
lda L09D7
L093F := * + 2
jsr L126F
bcs L099B
L0942: lda $D57D
jsr LB7B9
ldy #$07
lda #$00
L094D := * + 1
ldx #$D2
L0950 := * + 2
jsr MGTK_RELAY
ldy #$11
lda #$6E
ldx #$AE
jsr MGTK_RELAY
lda #$73
ldx #$B3
ldy #$01
jsr LB590
lda #$43
ldx #$D4
jsr L1900
ldx #$43
L096D := * + 1
ldy #$D4
L096F := * + 1
lda L09D7
jsr L1307
pha
jsr LB403
pla
bne L0980
lda #$00
jmp L09C2
L0980: cmp #$2B
bne L098C
jsr L4030
bne L09C2
jmp L090C
L098C: jsr L191B
lda #$88
ldx #$B3
L0994 := * + 1
ldy #$06
jsr LB590
jmp L09B8
L099B: pha
jsr LB403
pla
cmp #$2B
bne L09AC
jsr L4030
bne L09C2
jmp L090C
L09AC: jsr L191B
lda #$DE
ldx #$B2
ldy #$06
jsr LB590
L09B8: jsr LA567
L09BC := * + 1
bmi L09B8
bne L09C2
jmp L090C
L09C2: pha
jsr LB403
jsr LBEB1
ldy #$39
lda #$7D
ldx #$D5
jsr MGTK_RELAY
ldx L09D8
pla
rts
L09D7: brk
L09D8: brk
L09D9: lda #$00
sta $D8E8
jsr LB509
lda $D57D
jsr LB7B9
lda #$19
ldx #$B3
jsr LB723
lda #$2A
ldx #$B3
L09F2: ldy #$01
jsr LB590
jsr L0D31
lda #$FF
sta $D887
lda #$48
sta $A89A
lda #$0B
sta $A89B
lda #$80
sta $D8ED
L0A0E: jsr LA567
bmi L0A0E
beq L0A18
jmp L0B31
L0A18: bit $D887
bmi L0A0E
lda #$98
sta $A89A
lda #$A8
sta $A89B
lda $D57D
jsr LB7B9
ldy #$07
lda #$00
ldx #$D2
jsr MGTK_RELAY
ldy #$11
lda #$6E
ldx #$AE
jsr MGTK_RELAY
ldy #$07
lda #$02
ldx #$D2
jsr MGTK_RELAY
ldy #$12
lda #$AB
ldx #$D6
jsr MGTK_RELAY
jsr LBD75
lda #$80
sta $D8E8
lda #$00
sta $D8ED
jsr LBD69
lda #$8D
ldx #$B2
ldy #$03
jsr LB590
L0A6A: jsr LA567
bmi L0A6A
beq L0A7A
jmp L0B31
L0A74: jsr LAACE
jmp L0A6A
L0A7A: lda $D443
beq L0A74
L0A7F: cmp #$10
bcs L0A74
jsr LB403
lda $D57D
jsr LB7B9
ldy #$07
lda #$00
ldx #$D2
jsr MGTK_RELAY
ldy #$11
lda #$6E
ldx #$AE
jsr MGTK_RELAY
lda #$00
sta $D8E8
ldx $D887
lda $BF32,x
sta L0B47
sta L0B46
lda #$5D
ldx #$B3
ldy #$03
jsr LB590
lda L0B46
and #$F0
jsr L1A2D
lda #$09
ldx #$D9
jsr LB708
L0AC7: jsr LA567
bmi L0AC7
beq L0AD1
jmp L0B31
L0AD1: lda $D57D
jsr LB7B9
ldy #$07
lda #$00
ldx #$D2
jsr MGTK_RELAY
ldy #$11
lda #$6E
ldx #$AE
jsr MGTK_RELAY
lda #$73
ldx #$B3
ldy #$01
jsr LB590
lda #$43
ldx #$D4
jsr L1900
jsr LB3E7
ldx #$43
ldy #$D4
lda L0B46
jsr L1307
pha
jsr LB403
pla
bne L0B12
lda #$00
jmp L0B31
L0B12: cmp #$2B
bne L0B1E
jsr L4030
bne L0B31
jmp L0AD1
L0B1E: jsr L191B
lda #$88
ldx #$B3
ldy #$06
jsr LB590
L0B2A: jsr LA567
bmi L0B2A
beq L0AD1
L0B31: pha
jsr LB403
jsr LBEB1
ldy #$39
lda #$7D
ldx #$D5
jsr MGTK_RELAY
ldx L0B47
pla
rts
L0B46: brk
L0B47: brk
lda $D20D
cmp #$28
lda $D20E
sbc #$00
bpl L0B57
lda #$FF
rts
L0B57: lda $D20D
cmp #$68
lda $D20E
sbc #$01
bcc L0B66
lda #$FF
rts
L0B66: lda $D20F
sec
sbc #$2B
sta $D20F
lda $D210
sbc #$00
bpl L0B79
lda #$FF
rts
L0B79: sta $D210
lsr $D210
ror $D20F
lsr $D210
ror $D20F
lsr $D210
ror $D20F
lda $D20F
cmp #$04
bcc L0B98
lda #$FF
rts
L0B98: lda #$02
sta L0C1F
lda $D20D
cmp #$18
lda $D20E
sbc #$01
bcs L0BBB
dec L0C1F
lda $D20D
cmp #$A0
lda $D20E
sbc #$00
bcs L0BBB
dec L0C1F
L0BBB: lda L0C1F
asl a
asl a
clc
adc $D20F
cmp $D890
bcc L0BDC
lda $D887
bmi L0BD9
lda $D887
jsr L0C20
lda #$FF
sta $D887
L0BD9: lda #$FF
rts
L0BDC: cmp $D887
bne L0C04
jsr LB445
bmi L0C03
L0BE6: ldy #$07
lda #$02
ldx #$D2
jsr MGTK_RELAY
ldy #$11
lda #$20
ldx #$AE
jsr MGTK_RELAY
ldy #$11
lda #$20
ldx #$AE
L0C00 := * + 2
jsr MGTK_RELAY
L0C01: lda #$00
L0C03: rts
L0C04: sta L0C1E
lda $D887
bmi L0C0F
jsr L0C20
L0C0F: lda L0C1E
sta $D887
jsr L0C20
jsr LB445
beq L0BE6
rts
L0C1E: brk
L0C1F: brk
L0C20: ldy #$27
L0C23 := * + 1
sty $D888
ldy #$00
sty $D889
tax
lsr a
lsr a
sta L0CA9
beq L0C5B
lda $D888
clc
adc #$78
sta $D888
lda $D889
adc #$00
sta $D889
lda L0CA9
cmp #$01
beq L0C5B
lda $D888
clc
adc #$78
sta $D888
lda $D889
adc #$00
sta $D889
L0C5B: asl L0CA9
asl L0CA9
txa
sec
sbc L0CA9
asl a
asl a
asl a
clc
adc #$2B
sta $D88A
lda #$00
sta $D88B
lda $D888
clc
adc #$77
sta $D88C
lda $D889
adc #$00
sta $D88D
lda $D88A
clc
adc #$07
sta $D88E
lda $D88B
adc #$00
sta $D88F
ldy #$07
lda #$02
ldx #$D2
jsr MGTK_RELAY
ldy #$11
lda #$88
ldx #$D8
jsr MGTK_RELAY
rts
L0CA9: brk
L0CAA: lda $D887
bmi L0CB7
jsr L0C20
lda #$FF
sta $D887
L0CB7: rts
lda $D887
bpl L0CC1
lda #$00
beq L0CCE
L0CC1: clc
adc #$04
cmp $D890
bcs L0CD4
pha
jsr L0CAA
pla
L0CCE: sta $D887
jsr L0C20
L0CD4: lda #$FF
rts
lda $D887
bpl L0CE6
lda $D890
lsr a
lsr a
asl a
asl a
jmp L0CF0
L0CE6: sec
sbc #$04
bmi L0CF6
pha
jsr L0CAA
pla
L0CF0: sta $D887
jsr L0C20
L0CF6: lda #$FF
rts
lda $D887
clc
adc #$01
L0D00 := * + 1
cmp $D890
bcc L0D06
lda #$00
L0D06: pha
jsr L0CAA
pla
sta $D887
jsr L0C20
lda #$FF
rts
lda $D887
bmi L0D1E
sec
sbc #$01
bpl L0D23
L0D1E: ldx $D890
dex
txa
L0D23: pha
jsr L0CAA
pla
sta $D887
jsr L0C20
lda #$FF
rts
L0D31: ldx $BF31
inx
stx $D890
lda #$00
sta L0D8C
L0D3D: lda L0D8C
cmp $D890
bne L0D46
rts
L0D46: cmp #$08
bcc L0D50
ldx #$01
lda #$40
bne L0D5A
L0D50: cmp #$04
bcc L0D60
ldx #$00
lda #$A0
bne L0D5A
L0D5A: sta $D6C3
stx $D6C4
L0D60: lda L0D8C
asl a
tay
lda $DB01,y
tax
lda $DB00,y
pha
lda L0D8C
lsr a
lsr a
asl a
asl a
sta L0D8D
lda L0D8C
sec
sbc L0D8D
tay
iny
iny
iny
pla
jsr LB590
inc L0D8C
jmp L0D3D
L0D8C: brk
L0D8D: brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
L0E00: php
sei
jsr L0E3A
plp
cmp #$00
bne L0E0C
clc
rts
L0E0C: cmp #$02
bne L0E15
lda #$2B
jmp L0E21
L0E15: cmp #$01
bne L0E1E
lda #$27
jmp L0E21
L0E1E: clc
adc #$30
L0E21: sec
rts
L0E23: asl a
asl L1224
sta L1236
txa
lsr a
lsr a
lsr a
lsr a
tay
lda L1236
jsr L0FC6
lsr L1224
rts
L0E3A: tax
and #$70
sta L1223
txa
ldx L1223
rol a
lda #$00
rol a
bne L0E50
lda $C08A,x
jmp L0E53
L0E50: lda LCBANK1,x
L0E53: lda $C089,x
lda #$D7
sta $DA
lda #$50
sta L1224
lda #$00
jsr L0E23
L0E64: lda $DA
beq L0E6E
jsr L113A
jmp L0E64
L0E6E: lda #$01
sta $D3
lda #$AA
sta $D0
lda L1220
clc
adc #$02
sta $D4
lda #$00
sta $D1
L0E82: lda $D1
ldx L1223
jsr L0E23
ldx L1223
lda $C08D,x
lda $C08E,x
tay
lda $C08E,x
lda $C08C,x
tya
bpl L0EA2
lda #$02
jmp L0EF9
L0EA2: jsr L1163
bcc L0EB5
lda #$01
ldy $D4
cpy L121F
bcs L0EB2
lda #$04
L0EB2: jmp L0EF9
L0EB5: ldy $D4
cpy L121F
bcs L0EC1
lda #$04
jmp L0EF9
L0EC1: cpy L1220
bcc L0ECB
lda #$03
jmp L0EF9
L0ECB: lda L1222
sta L1225
L0ED1: dec L1225
bne L0EDB
lda #$01
jmp L0EF9
L0EDB: ldx L1223
jsr L0F6A
bcs L0ED1
lda $D8
bne L0ED1
ldx L1223
jsr L0F07
bcs L0ED1
inc $D1
lda $D1
cmp #$23
bcc L0E82
lda #$00
L0EF9: pha
ldx L1223
lda $C088,x
lda #$00
jsr L0E23
pla
rts
L0F07: ldy #$20
L0F09: dey
beq L0F68
L0F0C: lda $C08C,x
bpl L0F0C
L0F11: eor #$D5
bne L0F09
nop
L0F16: lda $C08C,x
bpl L0F16
cmp #$AA
bne L0F11
ldy #$56
L0F21: lda $C08C,x
bpl L0F21
cmp #$AD
bne L0F11
lda #$00
L0F2C: dey
sty $D5
L0F2F: lda $C08C,x
bpl L0F2F
cmp #$96
bne L0F68
ldy $D5
bne L0F2C
L0F3C: sty $D5
L0F3E: lda $C08C,x
bpl L0F3E
cmp #$96
bne L0F68
ldy $D5
iny
bne L0F3C
L0F4C: lda $C08C,x
bpl L0F4C
cmp #$96
bne L0F68
L0F55: lda $C08C,x
bpl L0F55
cmp #$DE
bne L0F68
nop
L0F5F: lda $C08C,x
bpl L0F5F
cmp #$AA
beq L0FC4
L0F68: sec
rts
L0F6A: ldy #$FC
sty $DC
L0F6E: iny
bne L0F75
inc $DC
beq L0F68
L0F75: lda $C08C,x
bpl L0F75
L0F7A: cmp #$D5
bne L0F6E
nop
L0F7F: lda $C08C,x
bpl L0F7F
cmp #$AA
bne L0F7A
ldy #$03
L0F8A: lda $C08C,x
bpl L0F8A
cmp #$96
bne L0F7A
lda #$00
L0F95: sta $DB
L0F97: lda $C08C,x
bpl L0F97
rol a
sta $DD
L0F9F: lda $C08C,x
bpl L0F9F
and $DD
sta $D7,y
eor $DB
dey
bpl L0F95
tay
bne L0F68
L0FB1: lda $C08C,x
bpl L0FB1
cmp #$DE
bne L0F68
nop
L0FBB: lda $C08C,x
bpl L0FBB
cmp #$AA
bne L0F68
L0FC4: clc
rts
L0FC6: stx L1237
sta L1236
cmp L1224
beq L102D
lda #$00
sta L1238
L0FD6: lda L1224
sta L1239
sec
sbc L1236
beq L1019
bcs L0FEB
eor #$FF
inc L1224
bcc L0FF0
L0FEB: adc #$FE
dec L1224
L0FF0: cmp L1238
bcc L0FF8
lda L1238
L0FF8: cmp #$0C
bcs L0FFD
tay
L0FFD: sec
jsr L101D
lda L114B,y
jsr L113A
lda L1239
clc
jsr L1020
lda L1157,y
jsr L113A
inc L1238
bne L0FD6
L1019: jsr L113A
clc
L101D: lda L1224
L1020: and #$03
rol a
ora L1237
tax
lda $C080,x
ldx L1237
L102D: rts
L102E: jsr L120E
lda $C08D,x
lda $C08E,x
lda #$FF
sta $C08F,x
cmp $C08C,x
pha
pla
nop
ldy #$04
L1044: pha
pla
jsr L10A5
dey
bne L1044
lda #$D5
jsr L10A4
lda #$AA
jsr L10A4
lda #$AD
jsr L10A4
ldy #$56
nop
nop
nop
bne L1065
L1062: jsr L120E
L1065: nop
nop
lda #$96
sta $C08D,x
cmp $C08C,x
dey
bne L1062
bit $00
nop
L1075: jsr L120E
lda #$96
sta $C08D,x
cmp $C08C,x
lda #$96
nop
iny
bne L1075
jsr L10A4
lda #$DE
jsr L10A4
lda #$AA
jsr L10A4
lda #$EB
jsr L10A4
lda #$FF
jsr L10A4
lda $C08E,x
lda $C08C,x
rts
L10A4: nop
L10A5: pha
pla
sta $C08D,x
cmp $C08C,x
rts
L10AE: sec
lda $C08D,x
lda $C08E,x
bmi L1115
lda #$FF
sta $C08F,x
cmp $C08C,x
pha
pla
L10C1: jsr L111B
jsr L111B
sta $C08D,x
cmp $C08C,x
nop
dey
bne L10C1
lda #$D5
jsr L112D
lda #$AA
jsr L112D
lda #$96
jsr L112D
lda $D3
jsr L111C
lda $D1
jsr L111C
lda $D2
jsr L111C
lda $D3
eor $D1
eor $D2
pha
lsr a
ora $D0
sta $C08D,x
lda $C08C,x
pla
ora #$AA
jsr L112C
lda #$DE
jsr L112D
lda #$AA
jsr L112D
lda #$EB
jsr L112D
clc
L1115: lda $C08E,x
lda $C08C,x
L111B: rts
L111C: pha
lsr a
ora $D0
sta $C08D,x
cmp $C08C,x
pla
nop
nop
nop
ora #$AA
L112C: nop
L112D: nop
pha
pla
sta $C08D,x
cmp $C08C,x
rts
brk
brk
brk
L113A: ldx #$11
L113C: dex
bne L113C
inc $D9
bne L1145
inc $DA
L1145: sec
sbc #$01
bne L113A
rts
L114B: ora ($30,x)
plp
bit $20
asl $1C1D,x
.byte $1C
.byte $1C
.byte $1C
.byte $1C
L1157: bvs L1185
rol $22
.byte $1F
asl $1C1D,x
.byte $1C
.byte $1C
.byte $1C
.byte $1C
L1163: lda L1221
sta $D6
L1168: ldy #$80
lda #$00
sta $D2
jmp L1173
L1171: ldy $D4
L1173: ldx L1223
jsr L10AE
bcc L117E
jmp L120E
L117E: ldx L1223
jsr L102E
.byte $E6
L1185: .byte $D2
lda $D2
cmp #$10
bcc L1171
ldy #$0F
sty $D2
lda L1222
sta L1225
L1196: sta L1226,y
dey
bpl L1196
lda $D4
sec
sbc #$05
tay
L11A2: jsr L120E
jsr L120E
pha
pla
nop
nop
dey
bne L11A2
ldx L1223
jsr L0F6A
bcs L11F3
lda $D8
beq L11CE
dec $D4
lda $D4
cmp L121F
bcs L11F3
sec
rts
L11C6: ldx L1223
jsr L0F6A
bcs L11E8
L11CE: ldx L1223
jsr L0F07
bcs L11E8
ldy $D8
lda L1226,y
bmi L11E8
lda #$FF
sta L1226,y
dec $D2
bpl L11C6
clc
rts
L11E8: dec L1225
bne L11C6
dec $D6
bne L11F3
sec
rts
L11F3: lda L1222
asl a
sta L1225
L11FA: ldx L1223
jsr L0F6A
bcs L1208
lda $D8
cmp #$0F
beq L120F
L1208: dec L1225
bne L11FA
sec
L120E: rts
L120F: ldx #$D6
L1211: jsr L120E
jsr L120E
bit $00
dex
bne L1211
jmp L1168
L121F: .byte $0E
L1220: .byte $1B
L1221: .byte $03
L1222: .byte $10
L1223: .byte $00
L1224: .byte $00
L1225: .byte $00
L1226: .byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
L1236: .byte $00
L1237: .byte $00
L1238: .byte $00
L1239: .byte $00,$02
L123B: .byte $00,$00,$1C,$03
L123F: .byte $00,$00,$1C
L1242: .byte $00
L1243: .byte $00,$03
L1245: .byte $00
L1246: .byte $00
L1247: .byte $15
L1248: .byte $00
L1249: .byte $00
L124A: .byte $00
L124B: sty L125F
sta L1260
stx L1261
php
sei
sta ALTZPOFF
lda $C082
jsr MLI
L125F: brk
L1260: brk
L1261: brk
tax
sta ALTZPON
lda LCBANK1
lda LCBANK1
plp
txa
rts
L126F: sta L12C0
and #$0F
beq L12A6
ldx #$11
lda L12C0
and #$80
beq L1281
ldx #$21
L1281: stx L1294
lda L12C0
and #$70
lsr a
lsr a
lsr a
clc
adc L1294
sta L1294
L1294 := * + 1
lda MLI
sta $07
lda #$00
sta L0006
ldy #$FF
lda (L0006),y
beq L12A6
cmp #$FF
bne L12AD
L12A6: lda L12C0
jsr L0E00
rts
L12AD: ldy #$FF
lda (L0006),y
sta L0006
lda #$03
sta $42
lda L12C0
sta $43
jmp (L0006)
rts
L12C0: brk
L12C1: sta L1306
and #$0F
beq L1303
ldx #$11
lda L1306
and #$80
beq L12D3
ldx #$21
L12D3: stx L12E6
lda L1306
and #$70
lsr a
lsr a
lsr a
clc
adc L12E6
sta L12E6
L12E6 := * + 1
lda MLI
sta $07
lda #$00
sta L0006
ldy #$FF
lda (L0006),y
beq L1303
cmp #$FF
beq L1303
ldy #$FE
lda (L0006),y
and #$08
bne L1303
lda #$FF
rts
L1303: lda #$00
rts
L1306: brk
L1307: sta L124A
and #$F0
sta L1245
stx L0006
sty $07
ldy #$01
lda (L0006),y
and #$7F
cmp #$2F
bne L132C
dey
lda (L0006),y
sec
sbc #$01
iny
sta (L0006),y
inc L0006
bne L132C
inc $07
L132C: ldy #$00
lda (L0006),y
tay
L1331: lda (L0006),y
and #$7F
sta L14E5,y
dey
bpl L1331
lda L124A
and #$0F
beq L1394
ldx #$11
lda L124A
and #$80
beq L134D
ldx #$21
L134D: stx L1360
lda L124A
and #$70
lsr a
lsr a
lsr a
clc
adc L1360
sta L1360
L1360 := * + 1
lda MLI
sta $07
lda #$00
sta L0006
ldy #$FF
lda (L0006),y
beq L1394
cmp #$FF
beq L1394
ldy #$FF
lda (L0006),y
sta L0006
lda #$00
sta $42
lda L124A
and #$F0
sta $43
lda #$00
sta $46
sta $47
jsr L1391
bcc L1398
jmp L1483
L1391: jmp (L0006)
L1394: ldx #$18
ldy #$01
L1398: stx L14E3
sty L14E4
lda #$00
sta L1246
lda #$15
sta L1247
lda #$00
sta L1248
sta L1249
ldy #$81
lda #$44
ldx #$12
jsr L124B
beq L13BE
jmp L14B8
L13BE: inc L1248
inc L1247
inc L1247
jsr L14BA
lda #$00
sta L1246
lda #$1A
sta L1247
lda #$03
sta L1A02
ldy L14E5
tya
ora #$F0
sta L1A04
L13E2: lda L14E5,y
sta L1A04,y
dey
bne L13E2
ldy #$08
L13ED: lda L14DC,y
sta L1A22,y
dey
bpl L13ED
jsr L14BA
lda #$02
sta L1A00
lda #$04
sta L1A02
jsr L14BA
lda #$03
sta L1A00
lda #$05
sta L1A02
jsr L14BA
lda #$04
sta L1A00
jsr L14BA
lsr L14E4
ror L14E3
lsr L14E4
ror L14E3
lsr L14E4
ror L14E3
lda L14E3
bne L1435
dec L14E4
L1435: dec L14E3
L1438: jsr L1485
lda L1249
bne L146A
lda L1248
cmp #$06
bne L146A
lda #$01
sta L1A00
lda L14E4
cmp #$02
bcc L146A
lda #$00
sta L1A00
lda L14E4
lsr a
tax
lda #$FF
dex
beq L1467
L1462: clc
rol a
dex
bne L1462
L1467: sta L1A01
L146A: jsr L14BA
dec L14E4
dec L14E4
lda L14E4
beq L147D
bmi L147D
jmp L1438
L147D: lda #$00
sta $08
clc
rts
L1483: sec
rts
L1485: ldy L14E4
beq L148E
ldy #$FF
bne L1491
L148E: ldy L14E3
L1491: lda #$FF
L1493: sta L1A00,y
dey
bne L1493
sta L1A00
ldy L14E4
beq L14B5
cpy #$02
bcc L14A9
ldy #$FF
bne L14AC
L14A9: ldy L14E3
L14AC: sta $1B00,y
dey
bne L14AC
sta $1B00
L14B5: rts
L14B6: pla
pla
L14B8: sec
rts
L14BA: ldy #$81
lda #$44
ldx #$12
jsr L124B
bne L14B6
jsr L14CC
inc L1248
rts
L14CC: ldy #$00
tya
L14CF: sta L1A00,y
dey
bne L14CF
L14D5: sta $1B00,y
dey
bne L14D5
rts
L14DC: .byte $C3,$27,$0D,$00,$00,$06,$00
L14E3: .byte $18
L14E4: .byte $01
L14E5: .byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$01
sec
bcs L1507
jmp LA132
L1507: stx $43
cmp #$03
php
txa
and #$70
lsr a
lsr a
lsr a
lsr a
ora #$C0
sta $49
ldy #$FF
sty $48
plp
iny
lda ($48),y
bne L155B
bcs L1531
lda #$03
sta L0800
inc $3D
lda $49
pha
lda #$5B
pha
rts
L1531: sta $40
sta $48
ldy #$63
L1537: lda ($48),y
sta L0994,y
iny
cpy #$EB
bne L1537
ldx #$06
L1543: ldy L091D,x
lda L0924,x
sta L09F2,y
lda L092B,x
sta L0A7F,x
dex
bpl L1543
lda #$09
sta $49
lda #$86
L155B: ldy #$00
cmp #$F9
bcs L1590
sta $48
sty $60
sty $4A
sty $4C
sty $4E
sty $47
iny
sty $42
iny
sty $46
lda #$0C
sta $61
sta $4B
L1579: jsr L0912
bcs L15E6
inc $61
inc $61
inc $46
lda $46
cmp #$06
bcc L1579
lda L0C00
ora L0C01
L1590: bne L15FF
lda #$04
bne L1598
L1596: lda $4A
L1598: clc
adc L0C23
tay
bcc L15AC
inc $4B
lda $4B
lsr a
bcs L15AC
cmp #$0A
beq L15FF
ldy #$04
L15AC: sty $4A
lda L0902
and #$0F
tay
L15B4: lda ($4A),y
cmp L0902,y
bne L1596
dey
bpl L15B4
and #$F0
cmp #$20
bne L15FF
ldy #$10
lda ($4A),y
cmp #$FF
bne L15FF
iny
lda ($4A),y
sta $46
iny
lda ($4A),y
sta $47
lda #$00
sta $4A
ldy #$1E
sty $4B
sty $61
iny
sty $4D
L15E3: jsr L0912
L15E6: bcs L15FF
inc $61
inc $61
ldy $4E
inc $4E
lda ($4A),y
sta $46
lda ($4C),y
sta $47
ora ($4A),y
bne L15E3
jmp L2000
L15FF: jmp L093F
.byte $26,$50,$52,$4F,$44,$4F,$53,$20
.byte $20,$20,$20,$20,$20,$20,$20,$20
.byte $A5,$60,$85,$44,$A5,$61,$85,$45
.byte $6C,$48,$00,$08,$1E,$24,$3F,$45
.byte $47,$76,$F4,$D7,$D1,$B6,$4B,$B4
.byte $AC,$A6,$2B,$18,$60,$4C,$BC,$09
.byte $A9,$9F
pha
lda #$FF
pha
lda #$01
ldx #$00
jmp LF479
jsr HOME
ldy #$1C
L1644: lda L0950,y
sta $05AE,y
dey
bpl L1644
jmp L094D
.byte $AA,$AA,$AA,$A0,$D5,$CE,$C1,$C2
.byte $CC,$C5,$A0,$D4,$CF,$A0,$CC,$CF
.byte $C1,$C4,$A0,$D0,$D2,$CF,$C4,$CF
.byte $D3,$A0,$AA,$AA,$AA,$A5,$53,$29
.byte $03
rol a
ora $2B
tax
lda $C080,x
lda #$2C
L167A: ldx #$11
L167C: dex
bne L167C
sbc #$01
bne L167A
ldx $2B
rts
lda $46
and #$07
cmp #$04
and #$03
php
asl a
plp
rol a
sta $3D
lda $47
lsr a
lda $46
ror a
lsr a
lsr a
sta $41
asl a
sta $51
lda $45
sta $27
ldx $2B
lda $C089,x
jsr L09BC
inc $27
inc $3D
inc $3D
bcs L16B8
jsr L09BC
L16B8: ldy $C088,x
L16BB: rts
lda $40
asl a
sta $53
lda #$00
sta $54
L16C5: lda $53
sta $50
sec
sbc $51
beq L16E2
bcs L16D4
inc $53
bcc L16D6
L16D4: dec $53
L16D6: sec
jsr L096D
lda $50
clc
jsr L096F
bne L16C5
L16E2: ldy #$7F
sty $52
php
L16E7: plp
sec
dec $52
beq L16BB
clc
php
dey
beq L16E7
.byte $BD,$8C,$C0,$10,$FB,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$4C,$6E
.byte $A0,$53,$4F,$53,$20,$42,$4F,$4F
.byte $54,$20,$20,$31,$2E,$31,$20,$0A
.byte $53,$4F,$53,$2E,$4B,$45,$52,$4E
.byte $45,$4C,$20,$20,$20,$20,$20,$53
.byte $4F,$53,$20,$4B,$52,$4E,$4C,$49
.byte $2F,$4F,$20,$45,$52,$52,$4F,$52
.byte $08,$00,$46,$49,$4C,$45,$20,$27
.byte $53,$4F,$53,$2E,$4B,$45,$52,$4E
.byte $45,$4C,$27,$20,$4E,$4F,$54,$20
.byte $46,$4F,$55,$4E,$44,$25,$00,$49
.byte $4E,$56,$41,$4C,$49,$44,$20,$4B
.byte $45,$52,$4E,$45,$4C,$20,$46,$49
.byte $4C,$45,$3A,$00,$00,$0C,$00,$1E
.byte $0E,$1E,$04,$A4,$78,$D8,$A9
.byte $77
sta $FFDF
ldx #$FB
txs
bit $C010
lda #$40
sta $FFCA
lda #$07
sta $FFEF
ldx #$00
L1787: dec $FFEF
stx L2000
lda L2000
bne L1787
lda #$01
sta $E0
lda #$00
sta $E1
lda #$00
sta $85
lda #$A2
sta $86
jsr LA1BE
inc $E0
lda #$00
sta $E6
L17AB: inc $86
inc $86
inc $E6
jsr LA1BE
ldy #$02
lda ($85),y
sta $E0
iny
lda ($85),y
sta $E1
bne L17AB
lda $E0
bne L17AB
lda $A06C
sta $E2
lda $A06D
sta $E3
L17CF: clc
lda $E3
adc #$02
sta $E5
sec
lda $E2
sbc $A423
sta $E4
lda $E5
sbc #$00
sta $E5
L17E4: ldy #$00
lda ($E2),y
and #$0F
cmp $A011
bne L1810
tay
L17F0: lda ($E2),y
cmp $A011,y
bne L1810
dey
bne L17F0
ldy #$00
lda ($E2),y
and #$F0
cmp #$20
beq L1842
cmp #$F0
beq L1810
ldx $A064
ldy #$13
jmp LA1D4
L1810: clc
lda $E2
adc $A423
sta $E2
lda $E3
adc #$00
sta $E3
lda $E4
cmp $E2
lda $E5
sbc $E3
bcs L17E4
clc
lda $E4
adc $A423
sta $E2
lda $E5
adc #$00
sta $E3
dec $E6
bne L17CF
ldx $A04F
ldy #$1B
jmp LA1D4
L1842: ldy #$11
lda ($E2),y
sta $E0
iny
lda ($E2),y
sta $E1
lda $A066
sta $85
lda $A067
sta $86
jsr LA1BE
lda $A068
sta $85
lda $A069
sta $86
lda L0C00
sta $E0
lda L0D00
sta $E1
jsr LA1BE
ldx #$07
L1873: lda $1E00,x
cmp $A021,x
beq L1883
ldx $A064
ldy #$13
jmp LA1D4
L1883: dex
bpl L1873
lda #$00
sta $E7
inc $E7
inc $86
inc $86
ldx $E7
lda L0C00,x
sta $E0
lda L0D00,x
sta $E1
lda $E0
bne L18A4
lda $E1
beq L18AA
L18A4: jsr LA1BE
jmp LA18A
L18AA: clc
lda $A06A
adc $1E08
sta L00E8
lda $A06B
adc $1E09
sta $E9
jmp (L00E8)
lda #$01
sta $87
lda $E0
ldx $E1
jsr LF479
bcs L18CC
rts
L18CC: ldx $A032
ldy #$09
jmp LA1D4
sty $E7
sec
lda #$28
sbc $E7
lsr a
clc
adc $E7
tay
L18E0: lda $A029,x
sta $05A7,y
dex
dey
dec $E7
bne L18E0
lda $C040
jmp LA1EF
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
brk
L1900: stx $07
sta L0006
ldy #$00
lda (L0006),y
tay
L1909: lda (L0006),y
cmp #$61
bcc L1917
cmp #$7B
bcs L1917
and #$DF
sta (L0006),y
L1917: dey
bpl L1909
rts
L191B: sta ALTZPOFF
lda $C082
jsr BELL1
sta ALTZPON
lda LCBANK1
lda LCBANK1
rts
L192E: sta L123F
lda #$00
sta L1242
sta L1243
ldy #$80
lda #$3E
ldx #$12
jsr L124B
bne L1959
lda $1C01
cmp #$E0
beq L194E
jmp L1986
L194E: lda $1C02
cmp #$70
beq L197E
cmp #$60
beq L197E
L1959: lda L123F
jsr L19B7
ldx $D8D5
sta $D8B8,x
lda L123F
jsr L19C1
ldx $D8D6
sta $D8B8,x
ldx $D8B8
L1974: lda $D8B8,x
sta $D909,x
dex
bpl L1974
rts
L197E: lda #$09
ldx #$D9
jsr L19C8
rts
L1986: cmp #$A5
bne L1959
lda $1C02
cmp #$27
bne L1959
lda L123F
jsr L19B7
ldx $D8B6
sta $D891,x
lda L123F
jsr L19C1
ldx $D8B7
sta $D891,x
ldx $D891
L19AC: lda $D891,x
sta $D909,x
dex
bpl L19AC
rts
brk
L19B7: and #$70
lsr a
lsr a
lsr a
lsr a
clc
adc #$30
rts
L19C1: and #$80
asl a
rol a
adc #$31
rts
L19C8: lda #$02
sta L1242
lda #$00
sta L1243
ldy #$80
lda #$3E
ldx #$12
jsr L124B
beq L19F7
lda #$04
sta $D909
lda #$20
sta $D90A
lda #$3A
sta $D90B
lda #$20
sta $D90C
lda #$3F
sta $D90C
rts
L19F7: lda $1C06
tax
L19FB: lda $1C06,x
L1A00 := * + 2
sta $D909,x
L1A01: dex
L1A02: bpl L19FB
L1A04: inc $D909
ldx $D909
lda #$3A
sta $D909,x
inc $D909
ldx $D909
lda #$20
sta $D909,x
inc $D909
ldx $D909
lda #$3F
L1A22: sta $D909,x
lda #$09
ldx #$D9
jsr LB781
rts
L1A2D: sta L123B
ldy #$C5
lda #$3A
ldx #$12
jsr L124B
bne L1A6D
lda $1C00
and #$0F
beq L1A6D
sta $1C00
tax
L1A46: lda $1C00,x
sta $D909,x
dex
bpl L1A46
inc $D909
ldx $D909
lda #$20
sta $D909,x
inc $D909
ldx $D909
lda #$3F
sta $D909,x
lda #$09
ldx #$D9
jsr LB781
rts
L1A6D: lda L123B
jsr L192E
rts
PAD_TO $1C00