2018-01-05 05:57:50 +00:00
|
|
|
.setcpu "6502"
|
2017-09-17 18:18:47 +00:00
|
|
|
|
2017-12-31 02:02:15 +00:00
|
|
|
.include "apple2.inc"
|
|
|
|
.include "../inc/apple2.inc"
|
|
|
|
.include "../inc/auxmem.inc"
|
|
|
|
.include "../inc/prodos.inc"
|
|
|
|
|
2017-09-17 18:18:47 +00:00
|
|
|
L02B4 := $02B4
|
|
|
|
L02B6 := $02B6
|
|
|
|
L02C3 := $02C3
|
|
|
|
L02C5 := $02C5
|
|
|
|
L02E6 := $02E6
|
|
|
|
L035F := $035F
|
|
|
|
L0393 := $0393
|
|
|
|
L03B3 := $03B3
|
|
|
|
L03C1 := $03C1
|
|
|
|
L03E5 := $03E5
|
|
|
|
L0800 := $0800
|
2018-01-05 05:57:50 +00:00
|
|
|
|
2017-09-17 18:18:47 +00:00
|
|
|
L7ECA := $7ECA
|
2017-12-31 02:02:15 +00:00
|
|
|
|
2018-01-05 05:57:50 +00:00
|
|
|
.org $2000
|
|
|
|
|
|
|
|
;;; Patch self in as ProDOS QUIT routine (LCBank2 $D100)
|
|
|
|
;;; and invoke QUIT
|
|
|
|
|
|
|
|
.proc install_as_quit
|
|
|
|
|
|
|
|
src := quit_routine
|
|
|
|
dst := $D100
|
|
|
|
|
|
|
|
lda LCBANK2
|
|
|
|
lda LCBANK2
|
|
|
|
|
2017-09-17 18:18:47 +00:00
|
|
|
ldy #$00
|
2018-01-05 05:57:50 +00:00
|
|
|
loop: lda src,y
|
|
|
|
sta dst,y
|
|
|
|
lda src+$100,y
|
|
|
|
sta dst+$100,y
|
|
|
|
dey
|
|
|
|
bne loop
|
2017-12-31 20:04:22 +00:00
|
|
|
lda ROMIN2
|
2018-01-05 05:57:50 +00:00
|
|
|
|
|
|
|
MLI_CALL QUIT, quit_params
|
|
|
|
|
|
|
|
.proc quit_params
|
|
|
|
params: .byte 4
|
|
|
|
.byte 0
|
|
|
|
.word 0
|
|
|
|
.byte 0
|
|
|
|
.word 0
|
|
|
|
.endproc
|
|
|
|
.endproc ; install_as_quit
|
|
|
|
|
|
|
|
;;; New QUIT routine. Gets relocated to $1000 by ProDOS before
|
|
|
|
;;; being executed.
|
|
|
|
|
|
|
|
.proc quit_routine
|
|
|
|
.org $1000
|
|
|
|
|
|
|
|
jmp L1044
|
|
|
|
|
|
|
|
.byte $00,"Mouse Desk",$00
|
|
|
|
|
|
|
|
PASCAL_STRING "Loading Apple II DeskTop"
|
|
|
|
PASCAL_STRING "DeskTop2"
|
|
|
|
|
|
|
|
L1031:
|
|
|
|
.byte $04,$00,$00
|
|
|
|
.byte $1E,$00,$04,$00,$00
|
|
|
|
L1039: .byte $01,$00
|
|
|
|
L103B: .byte $01,$90,$11,$03,$28,$10,$00,$1A,$00
|
|
|
|
L1044: lda ROMIN2
|
2017-12-31 02:02:15 +00:00
|
|
|
jsr SETVID
|
|
|
|
jsr SETKBD
|
2017-12-31 20:04:22 +00:00
|
|
|
sta CLR80VID
|
|
|
|
sta SETALTCHAR
|
|
|
|
sta CLR80COL
|
2017-12-31 02:02:15 +00:00
|
|
|
jsr SLOT3ENTRY
|
2018-01-05 06:00:08 +00:00
|
|
|
L1059: jsr HOME
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$00
|
2017-12-31 20:04:22 +00:00
|
|
|
sta SHADOW ; ??? IIgs specific?
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$40
|
2017-09-17 21:52:46 +00:00
|
|
|
sta RAMWRTON
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $0100
|
|
|
|
sta $0101
|
|
|
|
sta RAMWRTOFF
|
|
|
|
lda #$0C
|
|
|
|
sta $25
|
2017-12-31 02:02:15 +00:00
|
|
|
jsr VTAB
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$50
|
|
|
|
sec
|
|
|
|
sbc $100F
|
|
|
|
lsr a
|
|
|
|
sta $24
|
|
|
|
ldy #$00
|
2018-01-05 06:00:08 +00:00
|
|
|
L1081: lda $1010,y
|
2017-09-17 18:18:47 +00:00
|
|
|
ora #$80
|
2017-09-17 21:52:46 +00:00
|
|
|
jsr COUT
|
|
|
|
iny
|
|
|
|
cpy $100F
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L1081
|
2018-01-05 05:57:50 +00:00
|
|
|
MLI_CALL CLOSE, L1039
|
2017-09-17 18:18:47 +00:00
|
|
|
ldx #$17
|
|
|
|
lda #$01
|
|
|
|
sta $BF58,x
|
|
|
|
dex
|
|
|
|
lda #$00
|
2018-01-05 06:00:08 +00:00
|
|
|
L109F: sta $BF58,x
|
2017-09-17 18:18:47 +00:00
|
|
|
dex
|
2018-01-05 06:00:08 +00:00
|
|
|
bpl L109F
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$CF
|
|
|
|
sta $BF58
|
|
|
|
lda $1003
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L10E8
|
|
|
|
L10AF: MLI_CALL GET_PREFIX, L103B
|
|
|
|
L10B5: .byte $F0
|
|
|
|
L10B6: .byte $03
|
2017-09-17 18:18:47 +00:00
|
|
|
jmp L118B
|
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L10BA: lda #$FF
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $1003
|
|
|
|
lda $03FE
|
|
|
|
sta $1189
|
|
|
|
lda $03FF
|
|
|
|
sta $118A
|
2017-12-31 20:04:22 +00:00
|
|
|
lda LCBANK2
|
|
|
|
lda LCBANK2
|
2017-09-17 21:52:46 +00:00
|
|
|
ldy #$00
|
2018-01-05 06:00:08 +00:00
|
|
|
L10D3: lda $1000,y
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $D100,y
|
|
|
|
lda $1100,y
|
|
|
|
sta $D200,y
|
|
|
|
dey
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L10D3
|
2017-12-31 20:04:22 +00:00
|
|
|
lda ROMIN2
|
2017-09-17 18:18:47 +00:00
|
|
|
jmp L10F4
|
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L10E8: lda $1189
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $03FE
|
|
|
|
lda $118A
|
|
|
|
sta $03FF
|
2018-01-05 05:57:50 +00:00
|
|
|
L10F4: MLI_CALL SET_PREFIX, L103B
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L10FF
|
2017-09-17 18:18:47 +00:00
|
|
|
jmp L1129
|
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L10FF: .byte $20
|
|
|
|
L1100: brk
|
2018-01-05 05:57:50 +00:00
|
|
|
.byte $BF, $C8, $3E
|
2017-09-17 18:18:47 +00:00
|
|
|
.byte $10
|
|
|
|
.byte $F0
|
2018-01-05 06:00:08 +00:00
|
|
|
L1106: .byte $03
|
|
|
|
L1107: jmp L118B
|
2017-09-17 18:18:47 +00:00
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L110A: lda $1043
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $1032
|
2018-01-05 05:57:50 +00:00
|
|
|
MLI_CALL READ, L1031
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L111B
|
2017-09-17 18:18:47 +00:00
|
|
|
jmp L118B
|
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L111B: MLI_CALL CLOSE, L1039
|
|
|
|
beq L1126
|
2017-09-17 18:18:47 +00:00
|
|
|
jmp L118B
|
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L1126: jmp $2000
|
2017-09-17 18:18:47 +00:00
|
|
|
|
2018-01-05 05:57:50 +00:00
|
|
|
L1129: jsr SLOT3ENTRY
|
2017-12-31 02:02:15 +00:00
|
|
|
jsr HOME
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$0C
|
|
|
|
sta $25
|
2017-12-31 02:02:15 +00:00
|
|
|
jsr VTAB
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$50
|
|
|
|
sec
|
|
|
|
sbc $1160
|
|
|
|
lsr a
|
|
|
|
sta $24
|
|
|
|
ldy #$00
|
2018-01-05 06:00:08 +00:00
|
|
|
L1141: .byte $B9
|
|
|
|
L1142: adc ($11,x)
|
2017-09-17 18:18:47 +00:00
|
|
|
ora #$80
|
|
|
|
jsr COUT
|
|
|
|
iny
|
|
|
|
cpy $1160
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L1141
|
|
|
|
L114F: sta KBDSTRB
|
|
|
|
L1152: lda CLR80COL
|
|
|
|
bpl L1152
|
2017-09-17 18:18:47 +00:00
|
|
|
and #$7F
|
|
|
|
cmp #$0D
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L114F
|
2017-09-17 18:18:47 +00:00
|
|
|
jmp L1044
|
|
|
|
|
2018-01-05 05:57:50 +00:00
|
|
|
PASCAL_STRING "Insert the system disk and Press Return."
|
|
|
|
.byte $00,$00
|
|
|
|
L118B: sta $6
|
|
|
|
jmp $FF69
|
|
|
|
|
2017-09-17 21:52:46 +00:00
|
|
|
.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,$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,$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,$4C,$4C,$20,$03,$18,$20,$00
|
|
|
|
.byte $30,$00,$04,$00,$00,$00,$00,$00
|
|
|
|
.byte $00,$00,$01,$00,$02,$00,$80,$05
|
2018-01-05 05:57:50 +00:00
|
|
|
.byte $00
|
|
|
|
|
|
|
|
PASCAL_STRING "DeskTop2"
|
|
|
|
|
|
|
|
.byte $00,$3F,$00,$40,$00,$40
|
2017-09-17 21:52:46 +00:00
|
|
|
.byte $00,$40,$00,$08,$90,$02,$00,$40
|
|
|
|
.byte $00,$D0,$00,$FB,$00,$40,$00,$08
|
|
|
|
.byte $90,$02,$00,$80,$00,$1D,$00,$05
|
|
|
|
.byte $00,$7F,$00,$08,$60,$01,$01,$02
|
|
|
|
.byte $02,$00,$00,$00,$06,$A2,$17,$A9
|
|
|
|
.byte $00
|
2018-01-05 06:00:08 +00:00
|
|
|
L1229: sta $BF59,x
|
2017-09-17 21:52:46 +00:00
|
|
|
dex
|
2018-01-05 06:00:08 +00:00
|
|
|
bpl L1229
|
2017-09-17 18:18:47 +00:00
|
|
|
php
|
|
|
|
sei
|
2018-01-05 05:57:50 +00:00
|
|
|
MLI_CALL OPEN, $2003
|
2017-09-17 18:18:47 +00:00
|
|
|
plp
|
|
|
|
and #$FF
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L123D
|
2017-09-17 18:18:47 +00:00
|
|
|
brk
|
2018-01-05 06:00:08 +00:00
|
|
|
L123D: lda $2008
|
2018-01-05 05:57:50 +00:00
|
|
|
sta $2014
|
|
|
|
sta $200A
|
2017-09-17 21:52:46 +00:00
|
|
|
php
|
|
|
|
sei
|
2018-01-05 05:57:50 +00:00
|
|
|
MLI_CALL SET_MARK, $2013
|
2017-09-17 18:18:47 +00:00
|
|
|
plp
|
|
|
|
and #$FF
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L1254
|
2017-09-17 18:18:47 +00:00
|
|
|
brk
|
2018-01-05 06:00:08 +00:00
|
|
|
L1254: lda #$00
|
2018-01-05 05:57:50 +00:00
|
|
|
sta $20DC
|
|
|
|
lda $20DC
|
|
|
|
cmp $204B
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L1272
|
2017-09-17 18:18:47 +00:00
|
|
|
php
|
|
|
|
sei
|
2018-01-05 05:57:50 +00:00
|
|
|
MLI_CALL CLOSE, $2011
|
2017-09-17 18:18:47 +00:00
|
|
|
plp
|
|
|
|
and #$FF
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L126F
|
2017-09-17 18:18:47 +00:00
|
|
|
brk
|
2018-01-05 06:00:08 +00:00
|
|
|
L126F: jmp L0800
|
2017-09-17 18:18:47 +00:00
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L1272: asl a
|
2017-09-17 18:18:47 +00:00
|
|
|
tax
|
2018-01-05 05:57:50 +00:00
|
|
|
lda $2021,x
|
|
|
|
sta $200B
|
|
|
|
lda $2022,x
|
|
|
|
sta $200C
|
|
|
|
lda $2039,x
|
|
|
|
sta $200D
|
|
|
|
lda $203A,x
|
|
|
|
sta $200E
|
2017-09-17 18:18:47 +00:00
|
|
|
php
|
|
|
|
sei
|
2018-01-05 05:57:50 +00:00
|
|
|
MLI_CALL READ, $2009
|
2017-09-17 18:18:47 +00:00
|
|
|
plp
|
|
|
|
and #$FF
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L129A
|
2017-09-17 18:18:47 +00:00
|
|
|
brk
|
2018-01-05 06:00:08 +00:00
|
|
|
L129A: ldx $20DC
|
2018-01-05 05:57:50 +00:00
|
|
|
lda $2045,x
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L12AF
|
2017-09-17 18:18:47 +00:00
|
|
|
cmp #$02
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L12AC
|
2018-01-05 05:57:50 +00:00
|
|
|
jsr $212E
|
|
|
|
jmp $20D6
|
2017-09-17 18:18:47 +00:00
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L12AC: jsr $20DD
|
|
|
|
L12AF: inc $20DC
|
2018-01-05 05:57:50 +00:00
|
|
|
jmp $2080
|
2017-09-17 18:18:47 +00:00
|
|
|
|
|
|
|
brk
|
|
|
|
sta ALTZPON
|
|
|
|
lda LCBANK1
|
|
|
|
lda LCBANK1
|
|
|
|
lda #$80
|
|
|
|
sta $0100
|
|
|
|
sta $0101
|
|
|
|
lda #$00
|
|
|
|
sta $06
|
|
|
|
sta $08
|
2018-01-05 05:57:50 +00:00
|
|
|
lda $20DC
|
2017-09-17 18:18:47 +00:00
|
|
|
asl a
|
|
|
|
tax
|
2018-01-05 05:57:50 +00:00
|
|
|
lda $202E,x
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $09
|
2018-01-05 05:57:50 +00:00
|
|
|
lda $200C
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $07
|
|
|
|
clc
|
2018-01-05 05:57:50 +00:00
|
|
|
adc $203A,x
|
|
|
|
sta $212D
|
|
|
|
lda $2039,x
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L12EB
|
2018-01-05 05:57:50 +00:00
|
|
|
inc $212D
|
2018-01-05 06:00:08 +00:00
|
|
|
L12EB: ldy #$00
|
|
|
|
L12ED: lda ($06),y
|
2017-09-17 18:18:47 +00:00
|
|
|
sta ($08),y
|
|
|
|
iny
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L12ED
|
2017-09-17 18:18:47 +00:00
|
|
|
inc $07
|
|
|
|
inc $09
|
|
|
|
lda $07
|
2018-01-05 05:57:50 +00:00
|
|
|
cmp $212D
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L12ED
|
2017-09-17 18:18:47 +00:00
|
|
|
sta ALTZPOFF
|
2017-12-31 20:04:22 +00:00
|
|
|
lda ROMIN2
|
2017-09-17 18:18:47 +00:00
|
|
|
rts
|
|
|
|
|
|
|
|
brk
|
|
|
|
lda #$00
|
|
|
|
sta $06
|
|
|
|
sta $08
|
2018-01-05 05:57:50 +00:00
|
|
|
lda $20DC
|
2017-09-17 18:18:47 +00:00
|
|
|
asl a
|
|
|
|
tax
|
2018-01-05 05:57:50 +00:00
|
|
|
lda $202E,x
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $09
|
2018-01-05 05:57:50 +00:00
|
|
|
lda $200C
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $07
|
|
|
|
clc
|
2018-01-05 05:57:50 +00:00
|
|
|
adc $203A,x
|
|
|
|
sta $2168
|
2017-09-17 18:18:47 +00:00
|
|
|
sta RAMRDOFF
|
|
|
|
sta RAMWRTON
|
|
|
|
ldy #$00
|
2018-01-05 06:00:08 +00:00
|
|
|
L132B: lda ($06),y
|
2017-09-17 18:18:47 +00:00
|
|
|
sta ($08),y
|
|
|
|
iny
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L132B
|
2017-09-17 18:18:47 +00:00
|
|
|
inc $07
|
|
|
|
inc $09
|
|
|
|
lda $07
|
2018-01-05 05:57:50 +00:00
|
|
|
cmp $2168
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L132B
|
2017-09-17 18:18:47 +00:00
|
|
|
sta RAMWRTOFF
|
|
|
|
rts
|
|
|
|
|
2017-09-17 21:52:46 +00:00
|
|
|
.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,$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,$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,$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,$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,$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,$00,$00,$00,$00,$00
|
2017-09-17 18:18:47 +00:00
|
|
|
pha
|
2017-12-31 20:04:22 +00:00
|
|
|
lda BUTN0
|
|
|
|
and BUTN1
|
2018-01-05 06:00:08 +00:00
|
|
|
bpl L13E9
|
2017-12-31 20:04:22 +00:00
|
|
|
lda KBD
|
2017-09-17 18:18:47 +00:00
|
|
|
cmp #$D0
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L13ED
|
|
|
|
L13E9: pla
|
2017-09-17 18:18:47 +00:00
|
|
|
jmp L7ECA
|
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L13ED: sta KBDSTRB
|
2017-12-31 20:04:22 +00:00
|
|
|
sta SET80COL
|
|
|
|
sta SET80VID
|
|
|
|
sta DHIRESON
|
|
|
|
lda TXTCLR
|
|
|
|
lda HIRES
|
2017-09-17 18:18:47 +00:00
|
|
|
sta ALTZPOFF
|
2017-12-31 20:04:22 +00:00
|
|
|
sta ROMIN2
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$00
|
|
|
|
sta $03C5
|
|
|
|
jmp L035F
|
|
|
|
|
|
|
|
ldy #$00
|
|
|
|
lda $03CF,y
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L141B
|
2017-09-17 18:18:47 +00:00
|
|
|
jsr L03C1
|
|
|
|
iny
|
|
|
|
jmp L02B6
|
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L141B: rts
|
2017-09-17 18:18:47 +00:00
|
|
|
|
|
|
|
ldy #$00
|
|
|
|
lda $03DE,y
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L142A
|
2017-09-17 18:18:47 +00:00
|
|
|
jsr L03C1
|
|
|
|
iny
|
|
|
|
jmp L02C5
|
|
|
|
|
2018-01-05 06:00:08 +00:00
|
|
|
L142A: rts
|
2017-09-17 18:18:47 +00:00
|
|
|
|
|
|
|
ldx #$00
|
2018-01-05 06:00:08 +00:00
|
|
|
L142D: lda $02E0,x
|
2017-09-17 18:18:47 +00:00
|
|
|
jsr L03C1
|
|
|
|
inx
|
|
|
|
cpx #$06
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L142D
|
2017-09-17 18:18:47 +00:00
|
|
|
rts
|
|
|
|
|
|
|
|
.byte $1B
|
2018-01-05 05:57:50 +00:00
|
|
|
.byte $47, $30
|
2017-09-17 18:18:47 +00:00
|
|
|
and $36,x
|
2018-01-05 06:00:08 +00:00
|
|
|
bmi L1460
|
2018-01-05 05:57:50 +00:00
|
|
|
.byte $D2, $02
|
2017-09-17 18:18:47 +00:00
|
|
|
ldy #$00
|
|
|
|
sty $03CC
|
|
|
|
lda #$01
|
|
|
|
sta $03C9
|
|
|
|
lda #$00
|
|
|
|
sta $03C6
|
|
|
|
sta $03C7
|
2018-01-05 06:00:08 +00:00
|
|
|
L1454: lda #$08
|
2017-09-17 18:18:47 +00:00
|
|
|
sta $03CB
|
|
|
|
lda $03C5
|
|
|
|
sta $03C8
|
2018-01-05 06:00:08 +00:00
|
|
|
L145F: .byte $AD
|
|
|
|
L1460: iny
|
2017-09-17 18:18:47 +00:00
|
|
|
.byte $03
|
|
|
|
jsr L0393
|
|
|
|
lda $03CC
|
|
|
|
lsr a
|
|
|
|
tay
|
2017-12-31 20:04:22 +00:00
|
|
|
sta LOWSCR
|
2018-01-05 06:00:08 +00:00
|
|
|
bcs L1472
|
2017-12-31 20:04:22 +00:00
|
|
|
sta HISCR
|
2018-01-05 06:00:08 +00:00
|
|
|
L1472: lda ($06),y
|
2017-09-17 18:18:47 +00:00
|
|
|
and $03C9
|
|
|
|
cmp #$01
|
|
|
|
ror $03CA
|
|
|
|
inc $03C8
|
|
|
|
dec $03CB
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L145F
|
2017-09-17 18:18:47 +00:00
|
|
|
lda $03CA
|
|
|
|
eor #$FF
|
2017-12-31 20:04:22 +00:00
|
|
|
sta LOWSCR
|
2017-09-17 18:18:47 +00:00
|
|
|
jsr L03C1
|
|
|
|
lda $03C6
|
|
|
|
cmp #$2F
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L149D
|
2017-09-17 18:18:47 +00:00
|
|
|
lda $03C7
|
|
|
|
cmp #$02
|
2018-01-05 06:00:08 +00:00
|
|
|
beq L14B4
|
|
|
|
L149D: asl $03C9
|
|
|
|
bpl L14AA
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$01
|
|
|
|
sta $03C9
|
|
|
|
inc $03CC
|
2018-01-05 06:00:08 +00:00
|
|
|
L14AA: inc $03C6
|
|
|
|
bne L1454
|
2017-09-17 18:18:47 +00:00
|
|
|
inc $03C7
|
2018-01-05 06:00:08 +00:00
|
|
|
bne L1454
|
|
|
|
L14B4: sta LOWSCR
|
2017-09-17 18:18:47 +00:00
|
|
|
rts
|
|
|
|
|
|
|
|
jsr L03B3
|
|
|
|
jsr L02B4
|
2018-01-05 06:00:08 +00:00
|
|
|
L14BE: jsr L02E6
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$0D
|
|
|
|
jsr L03C1
|
|
|
|
lda #$0A
|
|
|
|
jsr L03C1
|
|
|
|
lda $03C8
|
|
|
|
sta $03C5
|
|
|
|
cmp #$C0
|
2018-01-05 06:00:08 +00:00
|
|
|
bcc L14BE
|
2017-09-17 18:18:47 +00:00
|
|
|
lda #$0D
|
|
|
|
jsr L03C1
|
|
|
|
lda #$0D
|
|
|
|
jsr L03C1
|
|
|
|
jsr L02C3
|
|
|
|
sta ALTZPON
|
|
|
|
lda LCBANK1
|
|
|
|
lda LCBANK1
|
|
|
|
rts
|
|
|
|
|
|
|
|
pha
|
|
|
|
and #$C7
|
|
|
|
eor #$08
|
|
|
|
sta $07
|
|
|
|
and #$F0
|
|
|
|
lsr a
|
|
|
|
lsr a
|
|
|
|
lsr a
|
|
|
|
sta $06
|
|
|
|
pla
|
|
|
|
and #$38
|
|
|
|
asl a
|
|
|
|
asl a
|
|
|
|
eor $06
|
|
|
|
asl a
|
|
|
|
rol $07
|
|
|
|
asl a
|
|
|
|
rol $07
|
|
|
|
eor $06
|
|
|
|
sta $06
|
|
|
|
rts
|
|
|
|
|
|
|
|
lda #$C1
|
|
|
|
sta $37
|
|
|
|
lda #$00
|
|
|
|
sta $36
|
|
|
|
lda #$8D
|
|
|
|
jsr L03E5
|
|
|
|
rts
|
|
|
|
|
|
|
|
jsr COUT
|
|
|
|
rts
|
|
|
|
|
2017-09-17 21:52:46 +00:00
|
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
|
|
.byte $00,$00,$1B,$65,$1B,$54,$31,$36
|
|
|
|
.byte $09,$4C,$20,$44,$8D,$09,$5A,$8D
|
|
|
|
.byte $00,$1B,$4E,$1B,$54,$32,$34,$00
|
|
|
|
.byte $4C,$00,$C1,$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
|
2018-01-05 05:57:50 +00:00
|
|
|
.endproc ; quit_routine
|