IIcSystemClock/clock.system.s
Joshua Bell 2d94484f34 disasm
2019-04-20 16:08:35 -07:00

1045 lines
21 KiB
ArmAsm

; da65 V2.17 - Git 5ac11b5e
; Created: 2019-04-20 15:45:09
; Input file: orig/CLOCK.SYSTEM.SYS
; Page: 1
.include "common.inc"
.org $2000
.setcpu "6502"
L068D := $068D
L1000 := $1000
L1021 := $1021
L10E5 := $10E5
L10EF := $10EF
L111A := $111A
L114F := $114F
L116E := $116E
L119F := $119F
L11AA := $11AA
L11C0 := $11C0
L11C3 := $11C3
L434F := $434F
L9F00 := $9F00
LBF00 := $BF00
LBF06 := $BF06
LC300 := $C300
LFC58 := $FC58
LFCA8 := $FCA8
LFD0C := $FD0C
LFDDA := $FDDA
LFDED := $FDED
L2000:
L2001 := * + 1
lda #$06
L2003 := * + 1
lda #$A0
cmp #$CC
bne L2013
sta L2610
lda #$5C
sta L2285
sta L2336
L2013: ldx #$FF
txs
lda #$00
sta $BFFC
sta $BFFD
sta $C082
lda $03F3
eor #$FF
sta $03F4
ldy #$00
ldx #$00
lda $BF98
and #$88
beq L2035
inx
L2035: cmp #$88
beq L2041
lda L2003
cmp #$CC
beq L2041
iny
L2041: sty $07
lda L239C,x
sta $08
lda $BF98
and #$02
lsr a
sta $09
bne L206B
lda #$8D
sta L2624
sta L26E3
sta L2700
sta L2716
sta L2684
inc L2095
inc L2099
bne L206E
L206B: jsr LC300
L206E: ldy #$00
L2070:
L2072 := * + 2
lda L239E,y
cmp #$FF
bne L207E
L2079 := * + 2
ldx L239F,y
cpx #$FF
beq L208F
L207E:
L2080 := * + 2
sta L1000,y
iny
bne L2070
inc L2072
inc L2079
inc L2080
bne L2070
L208F: ldy #$00
jsr L10EF
L2095 := * + 1
ldy #$03
sty $22
L2099 := * + 1
ldy #$05
sty $23
jsr L116E
lda $1204
lsr a
sta L22C7
jsr L222B
sta $11FF
ldx $BF31
L20AF: lda $BF32,x
and #$0F
beq L20C8
dex
bpl L20AF
lda L2001
and #$07
bne L20C2
lda #$06
L20C2: asl a
asl a
asl a
asl a
bne L20CB
L20C8: lda $BF32,x
L20CB: and #$70
ora #$80
sta L22E3
lda $11FE
and #$03
beq L20E3
cmp #$02
bcs L20FE
lda $07
bne L20EE
beq L20FE
L20E3: ldy #$38
lda $07
beq L20F0
ldy #$00
jmp L20F0
L20EE: ldy #$70
L20F0: ldx #$00
L20F2: lda L22E2,y
sta L2269,x
iny
inx
cpx #$38
bne L20F2
L20FE: lda #$02
sta L210F
L2103: jsr L223F
bcs L2111
dec L210F
bpl L2103
bmi L2156
L210F: brk
L2110: brk
L2111: lda $07
bne L2135
lda L2110
bne L2135
inc L2110
ldy #$99
sty L228A
iny
sty L226A
sty L2274
lda $11FE
and #$03
beq L20FE
sty L229F
bne L20FE
L2135: ldy #$07
sty $0B
lda $BF98
ror a
bcc L2145
jsr LFC58
jmp L1000
L2145: lda #$00
sta $BF90
sta $BF91
sta $BF92
sta $BF93
jmp L11AA
L2156: lda #$4C
sta LBF06
lda $BF98
ora #$01
sta $BF98
bit $C000
bmi L218C
lda $0A
cmp #$0B
bcc L2176
bit $11FE
bpl L2176
sta $1204
L2176: lda $1204
lsr a
cmp #$56
bcc L218C
lda $BF90
cmp $1203
lda $BF91
sbc $1204
bcs L21DF
L218C: bit $C010
rol $11FE
lda #$03
cmp $0A
ror $11FE
L2199: ldy #$05
jsr L10EF
lda $11FF
jsr LFDDA
ldy #$06
jsr L10EF
L21A9: jsr LFD0C
and #$DF
cmp #$D9
beq L21D3
cmp #$CE
bne L21A9
ldy #$05
jsr L10EF
jsr L238E
asl a
asl a
asl a
asl a
sta $11FF
jsr L238E
and #$0F
ora $11FF
sta $11FF
jmp L2199
L21D3: lda $1204
jsr L2210
jsr L238A
jsr L111A
L21DF: lda $C08B
lda $C08B
lda $BF07
sta L2202
clc
adc #$76
sta L22B1
lda $BF08
sta L2203
adc #$00
sta L22B2
ldy #$7C
L21FE: lda L2265,y
L2202 := * + 1
L2203 := * + 2
sta $F000,y
dey
bpl L21FE
jsr LBF06
lda $C082
jmp L1000
L2210: lda $11FF
pha
lsr a
lsr a
lsr a
lsr a
sta $06
asl a
asl a
adc $06
asl a
sta $06
pla
and #$0F
clc
adc $06
sta L22C7
rts
L222B: ldx #$FF
L222D: inx
sec
sbc #$0A
bcs L222D
adc #$0A
sta $06
txa
asl a
asl a
asl a
asl a
ora $06
rts
L223F: jsr L238A
lda $BF91
ror a
lda $BF90
rol a
rol a
rol a
rol a
and #$0F
sec
beq L2264
cmp #$0D
bcs L2264
sta $0A
lda $BF93
cmp #$18
bcs L2264
lda $BF92
cmp #$3C
L2264: rts
L2265: cld
cld
php
sei
L2269:
L226A := * + 1
lda $C0AA
pha
ldy #$03
ldx #$16
lda #$08
L2273:
L2274 := * + 1
sta $C0AA
L2276: dex
bne L2276
eor #$0A
ldx #$09
dey
bne L2273
ldy #$04
bne L2289
L2284:
L2285 := * + 1
lda #$5D
L2286: .byte $3A
bne L2286
L2289:
L228A := * + 1
lda $C0A9
rol a
rol a
rol a
ror $0200,x
lsr $0201,x
dey
bne L2284
ldy #$04
dex
bpl L2284
pla
L229F := * + 1
sta $C0AA
ldx #$06
L22A3: lda $0201,x
L22A6: dec $0200,x
bmi L22B0
clc
adc #$0A
bcc L22A6
L22B0:
L22B1 := * + 1
L22B2 := * + 2
ldy L22DB,x
sta $BF30,y
dex
dex
bne L22A3
L22BA: lda $0200
asl a
and #$E0
ora $BF90
sta $BF90
L22C7 := * + 1
lda #$56
rol a
sta $BF91
ldy #$01
L22CE: lda $0208,y
ora #$B0
sta $020F,y
dey
bpl L22CE
dex
L22DB := * + 1
bne L22BA
plp
rts
.byte $FF
.byte $63
.byte $FF
.byte $62
L22E2:
L22E3 := * + 1
lda $C0E0
lda $C05A
ldy #$01
ldx #$16
L22EC: dex
bne L22EC
lda $C05A,y
ldx #$0B
dey
bpl L22EC
L22F7: dex
bne L22F7
ldx #$09
ldy #$04
bne L2307
L2300: lda #$5D
sec
L2303: sbc #$01
bne L2303
L2307: lda $C063
rol a
ror $0200,x
lsr $0201,x
nop
dey
bne L2300
ldy #$04
dex
bpl L2300
lda $C0AA
nop
ldy #$03
ldx #$16
lda #$02
L2324: sta $C0AA
L2327: dex
bne L2327
eor #$0A
ldx #$09
dey
bne L2324
ldy #$04
bne L233A
L2335:
L2336 := * + 1
lda #$5D
L2337: .byte $3A
bne L2337
L233A: lda $C0A9
eor #$20
rol a
rol a
rol a
ror $0200,x
lsr $0201,x
dey
bne L2335
ldy #$04
dex
bpl L2335
nop
nop
lda $C05B
sta $C059
sta $C05C
nop
nop
nop
nop
lda $C058
ldx #$15
L2364: dex
bne L2364
ldx #$09
L2369: ldy #$04
L236B: lda $C063
rol a
ror $0200,x
lsr $0201,x
sta $C05D
nop
nop
nop
nop
nop
nop
sta $C05C
dey
bne L236B
dex
bpl L2369
lda $C05A
L238A: jsr L2265
rts
L238E: jsr LFD0C
cmp #$B0
bcc L238E
cmp #$BA
bcs L238E
jmp LFDED
L239C: .byte $DF
.byte $FF
L239E:
L239F := * + 1
ldy #$00
sty $11E8
iny
sty $04
iny
sty $11E7
jsr L119F
lda $1C23
sta $02
lda $1C24
sta $03
lda #$2B
sta $00
lda #$1C
sta $01
ldy #$10
lda ($00),y
cmp #$FF
bne L2446
ldy #$00
lda ($00),y
and #$30
beq L2446
lda ($00),y
and #$0F
sta $05
tay
ldx #$06
L23D8: lda ($00),y
cmp $122E,x
bne L2446
dey
dex
bpl L23D8
ldy #$0C
L23E5: lda ($00),y
cmp $1235,y
bne L23F1
dey
bne L23E5
beq L2446
L23F1: lda $05
sta $121D
sta $0280
inc $05
lda $0B
cmp #$07
beq L240E
ldy #$03
jsr L10E5
lda $07
beq L240B
iny
L240B: jsr L10EF
L240E: ldy #$08
jsr L10EF
ldy #$01
L2415: lda ($00),y
sta $121D,y
sta $0280,y
ora #$80
jsr LFDED
iny
cpy $05
bne L2415
jsr L114F
lda #$00
sta $22
lda #$18
sta $23
jsr LFC58
lda $09
beq L2443
lda #$15
jsr LFDED
lda #$8D
jsr LFDED
L2443: jmp L2000
L2446: clc
lda $00
adc $02
sta $00
lda $01
adc #$00
sta $01
inc $04
lda $04
cmp $03
bne L2480
ldy $1C02
sty $11E7
lda $1C03
sta $11E8
bne L2471
tya
bne L2471
ldy #$01
jmp L11AA
L2471: jsr L119F
lda #$00
sta $04
lda #$04
sta $00
lda #$1C
sta $01
L2480: jmp L1021
lda $11FE
and #$03
bne L248C
ldy #$09
L248C: rts
lda $1242,y
sta $1109
lda $124E,y
sta $110A
cpy #$06
beq L24A4
cpy #$08
beq L24A4
jsr LFC58
L24A4: ldy #$00
L24A6: lda $F000,y
beq L24B7
cmp #$E0
bcc L24B1
and $08
L24B1: jsr LFDED
iny
bne L24A6
L24B7: rts
lda #$07
sta $11F9
ldy #$03
L24BF: lda $BF90,y
sta $1203,y
dey
bpl L24BF
lda #$60
sta LBF06
jsr LBF00
.byte $C3
sbc $D011,y
asl $A9
jmp L068D
.byte $BF
rts
cmp #$2B
bne L2546
ldy #$0B
jsr L10EF
jsr L11C3
jsr LFD0C
jmp L111A
jsr LBF00
iny
sbc #$11
bne L2546
lda $11EE
sta $11F0
jsr LBF00
dex
.byte $EF
ora ($D0),y
.byte $43
jsr LBF00
cpy $11F7
bne L2546
rts
lda $BF30
sta $11DD
sta $11E4
jsr LBF00
cmp $DC
ora ($D0),y
and #$AD
.byte $0C
.byte $12
and #$0F
tay
iny
sty $120B
lda #$2F
sta $120C
jsr LBF00
dec $E0
ora ($D0),y
.byte $12
jsr LBF00
cpy $F9
ora ($D0),y
asl a
rts
jsr LBF00
.byte $80
.byte $E3
ora ($D0),y
ora ($60,x)
L2546: ldy #$02
sty $0B
jsr L10EF
jsr L11C3
lda $0B
cmp #$07
bne L255E
lda #$60
sta LBF06
jmp L1000
L255E: jmp L11C0
lda #$20
sta $0C
L2565: lda #$02
jsr LFCA8
sta $C030
lda #$24
jsr LFCA8
sta $C030
dec $0C
bne L2565
rts
.byte $02
rts
.byte $0C
.byte $12
ora ($0B,x)
.byte $12
.byte $03
rts
brk
.byte $1C
brk
brk
.byte $03
ora a:$12,x
.byte $1C
brk
.byte $04
brk
brk
jsr L9F00
brk
brk
ora ($00,x)
asl a
and $12,x
.res 50, 0
.byte ".SYSTEM"
PASCAL_STRING "CLOCK.SYSTEM"
.byte $5A
ldy $3008
eor $7764
.byte $87
tax
rol a
.byte $47
cmp $1212
.byte $13
.byte $13
.byte $13
.byte $13
.byte $13
.byte $13
.byte $13
.byte $13
.byte $13
.byte $12
cmp #$EE
.byte $F3
.byte $F4
sbc ($EC,x)
cpx $C3A0
cpx $E3EF
.byte $EB
ldy #$C4
.byte $F2
sbc #$F6
sbc $F2
ldy #$B1
L260F := * + 1
L2610 := * + 2
ldx $A0B5
sta $EFC3
L2615 := * + 1
beq L260F
.byte $F2
sbc #$E7
inx
.byte $F4
ldy #$A8
.byte $E3
lda #$A0
lda ($B9),y
clv
L2624 := * + 1
ldx $A0,y
.byte $C3
.byte $F2
sbc $E1
.byte $F4
sbc #$F6
sbc $A0
bne L2615
.byte $F2
sbc #$F0
inx
sbc $F2
sbc ($EC,x)
.byte $F3
ldy #$D5
inc $E9EC
sbc $F4E9
sbc $E4
ldy $C9A0
inc $AEE3
brk
cmp $EE,x
sbc ($E2,x)
cpx $A0E5
.byte $F4
.byte $EF
ldy #$E6
sbc #$EE
cpx $A0
sbc ($A0,x)
.byte $A7
ldx $D9D3
.byte $D3
.byte $D4
cmp $CD
.byte $A7
ldy #$E6
sbc #$EC
sbc $A1
brk
.byte $D2
L266C: sbc $ED
.byte $EF
inc $E5,x
ldy #$D7
.byte $F2
sbc #$F4
sbc $AD
bne L266C
.byte $EF
.byte $F4
sbc $E3
.byte $F4
ldy #$F4
sbc ($E2,x)
L2684 := * + 1
ldy $D2A0
sbc $F0
cpx $E3E1
L268B: sbc $A0
cpx $E9
.byte $F3
.byte $EB
ldy $E1A0
inc $A0E4
bne L268B
sbc $F3
.byte $F3
ldy #$E1
ldy #$EB
sbc $F9
ldx $AEAE
brk
cpy $E9
.byte $F3
.byte $EB
ldy #$E5
.byte $F2
.byte $F2
.byte $EF
.byte $F2
lda ($A0,x)
cmp $EE,x
sbc ($E2,x)
cpx $A0E5
.byte $F4
.byte $EF
ldy #$E3
.byte $EF
inc $E9F4
inc $E5F5
lda ($A1,x)
lda ($00,x)
.byte $D3
sbc $E9
.byte $EB
.byte $EF
ldy #$AF
.byte $AF
.byte $E3
ldy #$E4
.byte $F2
sbc #$F6
sbc $F2
ldy #$E9
inc $F4F3
sbc ($EC,x)
cpx $E4E5
L26E3 := * + 1
ldx a:$A0
.byte $D3
sbc $E9
.byte $EB
.byte $EF
ldy #$AF
.byte $AF
sbc $A0
cpx $F2
sbc #$F6
sbc $F2
ldy #$E9
inc $F4F3
sbc ($EC,x)
cpx $E4E5
L2700 := * + 1
ldx a:$A0
.byte $C3
sbc $F2,x
.byte $F2
sbc $EE
.byte $F4
ldy #$F9
sbc $E1
.byte $F2
ldy #$E9
.byte $F3
ldy #$B1
lda $AE00,y
L2716: ldy #$A0
ldy #$A0
.byte $CF
.byte $CB
.byte $BF
ldy #$A8
cmp $CEAF,y
lda #$A0
brk
dec $A0EF
.byte $E3
cpx $E3EF
.byte $EB
lda ($A0,x)
cpy $F2
sbc #$F6
sbc $F2
ldy #$EE
.byte $EF
.byte $F4
ldy #$E9
inc $F4F3
sbc ($EC,x)
cpx $E4E5
ldx $AEAE
sta $D200
sbc $EE,x
inc $EEE9
.byte $E7
ldy #$00
.byte $FF
.byte $FF
brk
.byte $04
brk
.byte $FF
brk
.byte $FF
brk
.byte $FF
brk
brk
brk
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF
brk
.byte $FF
brk
.byte $FF
brk
.byte $FF
adc $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00
.byte $FF, $00, $FF, $00, $FF, $00, $FF, $00