2021-11-07 02:16:53 +00:00
|
|
|
; da65 V2.19 - Git 59c58acbe
|
|
|
|
; Created: 2021-11-04 15:14:09
|
|
|
|
; Input file: c300_cfff
|
|
|
|
; Page: 1
|
|
|
|
|
|
|
|
.setcpu "65C02"
|
2021-11-07 02:41:09 +00:00
|
|
|
.include "opcodes.inc"
|
|
|
|
|
|
|
|
;;; Zero Page
|
|
|
|
|
|
|
|
WNDLFT := $20
|
|
|
|
WNDWDTH := $21
|
|
|
|
WNDTOP := $22
|
|
|
|
WNDBTM := $23
|
|
|
|
CH := $24
|
|
|
|
CV := $25
|
|
|
|
BASL := $28
|
|
|
|
BASH := $29
|
|
|
|
BAS2L := $2A
|
|
|
|
BAS2H := $2B
|
|
|
|
INVFLG := $32
|
|
|
|
A1L := $3C
|
|
|
|
A1H := $3D
|
|
|
|
A2L := $3E
|
|
|
|
A2H := $3F
|
|
|
|
A4L := $42
|
|
|
|
A4H := $43
|
|
|
|
RNDL := $4E
|
|
|
|
RNDH := $4F
|
|
|
|
|
|
|
|
;;; Page 3 Vectors
|
|
|
|
|
|
|
|
XFERVEC := $3ED
|
2021-11-07 02:51:44 +00:00
|
|
|
L03F0 := $3F0 ; ???
|
|
|
|
L03FE := $3FE ; ???
|
2021-11-07 02:41:09 +00:00
|
|
|
|
|
|
|
;;; Screen Holes
|
|
|
|
|
|
|
|
SAVEA := $4F8
|
|
|
|
SAVEX := $578
|
|
|
|
SAVEY := $478
|
|
|
|
|
|
|
|
OLDCH := $47B
|
|
|
|
MODE := $4FB
|
|
|
|
;; Bit 7 = Escape Mode
|
|
|
|
;; Bit 6 = MouseText active
|
|
|
|
;; Bit 5 = ??? set when "normal"
|
|
|
|
;; Bit 4 = ??? set when "normal"
|
|
|
|
;; Bit 3 = ??? unused ???
|
|
|
|
;; Bit 2 = ??? unused ???
|
|
|
|
;; Bit 1 = ??? used for ???
|
|
|
|
;; Bit 0 = ??? used for ???
|
|
|
|
M_ESC = %10000000
|
|
|
|
M_MOUSE = %01000000
|
|
|
|
M_NORMAL= %00110000
|
|
|
|
|
|
|
|
OURCH := $57B
|
|
|
|
OURCV := $5FB
|
2021-11-07 03:56:03 +00:00
|
|
|
CHAR := $67B
|
2021-11-07 02:41:09 +00:00
|
|
|
XCOORD := $6FB
|
|
|
|
TEMP1 := $77B ; Unused
|
|
|
|
OLDBASL := $77B
|
|
|
|
TEMP2 := $7FB
|
|
|
|
OLDBASH := $7FB
|
|
|
|
|
|
|
|
;;; I/O Soft Switches
|
|
|
|
|
|
|
|
KBD := $C000
|
|
|
|
CLR80COL:= $C000
|
|
|
|
SET80COL:= $C001
|
|
|
|
RDMAINRAM := $C002
|
|
|
|
RDCARDRAM := $C003
|
|
|
|
WRMAINRAM := $C004
|
|
|
|
WRCARDRAM := $C005
|
|
|
|
ALTZPOFF:= $C008
|
|
|
|
ALTZPON := $C009
|
|
|
|
CLR80VID:= $C00C
|
|
|
|
SET80VID:= $C00D
|
|
|
|
CLRALTCHAR := $C00E
|
|
|
|
SETALTCHAR := $C00F
|
|
|
|
KBDSTRB := $C010
|
|
|
|
RDLCBNK2:= $C011
|
|
|
|
RDLCRAM := $C012
|
|
|
|
RDRAMRD := $C013
|
|
|
|
RDRAMWRT:= $C014
|
|
|
|
RD80COL := $C018
|
|
|
|
RDTEXT := $C01A
|
|
|
|
ALTCHARSET := $C01E
|
|
|
|
RD80VID := $C01F
|
|
|
|
TXTPAGE1:= $C054
|
|
|
|
TXTPAGE2:= $C055
|
|
|
|
ROMIN := $C081
|
|
|
|
ROMIN2 := $C082
|
|
|
|
LCBANK2 := $C083
|
|
|
|
LCBANK1 := $C08B
|
|
|
|
|
|
|
|
;;; Documented Firmware Entry Points
|
|
|
|
|
|
|
|
C3KeyIn := $C305
|
|
|
|
C3COut1 := $C307
|
|
|
|
AUXMOVE := $C311
|
|
|
|
XFER := $C314
|
|
|
|
|
|
|
|
CLRROM := $CFFF
|
|
|
|
|
|
|
|
;;; Monitor ROM
|
|
|
|
|
|
|
|
BELLB := $FBE2
|
|
|
|
SETWND := $FB4B
|
|
|
|
SETKBD := $FE89
|
|
|
|
SETVID := $FE93
|
|
|
|
MON_VTAB:= $FC22
|
|
|
|
CLREOP := $FC42
|
|
|
|
HOME := $FC58
|
|
|
|
CLREOL := $FC9C
|
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
.org $C300
|
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LC300: bit LC3D4
|
|
|
|
bra LC341
|
|
|
|
sec
|
|
|
|
bcc LC320
|
|
|
|
clv
|
|
|
|
bra LC341
|
|
|
|
ora ($88,x)
|
|
|
|
inc a
|
|
|
|
.byte $23
|
|
|
|
.byte $2B
|
|
|
|
.byte $33
|
|
|
|
jmp LC33B
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr extra_LC5FA
|
2021-11-07 02:16:53 +00:00
|
|
|
jmp LCC03
|
|
|
|
|
|
|
|
jsr LC3C4
|
|
|
|
jsr LCB5D
|
2021-11-07 02:41:09 +00:00
|
|
|
LC320: jmp extra_LC5FA
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
jsr LC3C4
|
|
|
|
jsr LCB6E
|
|
|
|
bra LC320
|
|
|
|
jsr LC3C4
|
|
|
|
jsr LCB79
|
|
|
|
bra LC320
|
|
|
|
jsr LC3C4
|
|
|
|
jsr LCB9D
|
|
|
|
bra LC320
|
2021-11-07 02:41:09 +00:00
|
|
|
LC33B: jsr extra_LC5FA
|
2021-11-07 02:16:53 +00:00
|
|
|
jmp LCC06
|
|
|
|
|
|
|
|
LC341: jsr LC3C4
|
2021-11-07 02:51:44 +00:00
|
|
|
sta SAVEA
|
|
|
|
stx SAVEX
|
|
|
|
sty SAVEY
|
2021-11-07 02:16:53 +00:00
|
|
|
pha
|
|
|
|
bvc LC354
|
|
|
|
jsr LC806
|
|
|
|
clc
|
|
|
|
LC354: php
|
|
|
|
jsr LC9B4
|
|
|
|
plp
|
|
|
|
pla
|
|
|
|
bcc LC397
|
2021-11-07 02:51:44 +00:00
|
|
|
ldx SAVEX
|
2021-11-07 02:16:53 +00:00
|
|
|
beq LC371
|
|
|
|
dex
|
|
|
|
lda $0678
|
|
|
|
cmp #$88
|
|
|
|
beq LC371
|
|
|
|
cmp $0200,x
|
|
|
|
bne LC38F
|
|
|
|
sta $0200,x
|
|
|
|
LC371: jsr LC96F
|
|
|
|
cmp #$9B
|
2021-11-07 04:07:03 +00:00
|
|
|
beq EscapeMode
|
2021-11-07 02:16:53 +00:00
|
|
|
cmp #$8D
|
|
|
|
bne LC381
|
|
|
|
pha
|
2021-11-07 03:26:27 +00:00
|
|
|
jsr DoClearEOL
|
2021-11-07 02:16:53 +00:00
|
|
|
pla
|
|
|
|
LC381: cmp #$95
|
|
|
|
bne LC38A
|
2021-11-07 02:41:09 +00:00
|
|
|
ldy CH
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC9A8
|
|
|
|
LC38A: sta $0678
|
|
|
|
bra LC395
|
|
|
|
LC38F: jsr LC822
|
|
|
|
stz $0678
|
|
|
|
LC395: bra LC39D
|
|
|
|
LC397: jsr LC849
|
2021-11-07 02:51:44 +00:00
|
|
|
lda SAVEA
|
|
|
|
LC39D: ldx SAVEX
|
2021-11-07 02:41:09 +00:00
|
|
|
ldy CH
|
2021-11-07 02:51:44 +00:00
|
|
|
sty OURCH
|
|
|
|
sty XCOORD
|
|
|
|
ldy SAVEY
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp extra_LC5FA
|
2021-11-07 02:16:53 +00:00
|
|
|
|
2021-11-07 04:07:03 +00:00
|
|
|
;;; ============================================================
|
|
|
|
;;; Escape Mode
|
|
|
|
|
|
|
|
EscapeMode:
|
|
|
|
lda #M_ESC
|
2021-11-07 02:51:44 +00:00
|
|
|
tsb MODE
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC822
|
|
|
|
jsr LC8CB
|
|
|
|
cmp #$98
|
|
|
|
beq LC38A
|
2021-11-07 02:51:44 +00:00
|
|
|
lda MODE
|
2021-11-07 04:07:03 +00:00
|
|
|
bmi EscapeMode
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LC371
|
2021-11-07 04:07:03 +00:00
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LC3C4: php
|
|
|
|
sei
|
|
|
|
pha
|
2021-11-07 02:41:09 +00:00
|
|
|
sta $C0BA ; ???
|
2021-11-07 02:16:53 +00:00
|
|
|
sta LCFFF
|
|
|
|
lda #$C3
|
|
|
|
sta $07F8
|
|
|
|
pla
|
|
|
|
plp
|
|
|
|
LC3D4: rts
|
|
|
|
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr extra_LC5FA
|
2021-11-07 02:16:53 +00:00
|
|
|
jmp LCC00
|
|
|
|
|
|
|
|
LC3E2: plx
|
|
|
|
bit LCFFF
|
|
|
|
rti
|
|
|
|
|
|
|
|
brk
|
|
|
|
jsr LC3C4
|
|
|
|
jmp LCE0D
|
|
|
|
|
|
|
|
jsr LC3C4
|
|
|
|
jmp LCDEC
|
|
|
|
|
|
|
|
LC3F4: jsr LC3C4
|
|
|
|
jmp LCCB2
|
|
|
|
|
|
|
|
LC3FA: jsr LC3C4
|
|
|
|
jmp LCCF5
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
.scope extra
|
|
|
|
|
|
|
|
LFC24 := $FC24
|
|
|
|
LFC58 := $FC58
|
|
|
|
LFC9E := $FC9E
|
|
|
|
LFDED := $FDED
|
|
|
|
LFDF0 := $FDF0
|
|
|
|
LFF4A := $FF4A
|
|
|
|
|
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
bit LC42E
|
|
|
|
bra LC41C
|
|
|
|
sec
|
|
|
|
bcc LC420
|
|
|
|
clv
|
|
|
|
bra LC41C
|
|
|
|
ora ($20,x)
|
|
|
|
bit $2C2C
|
|
|
|
bit $2F00
|
|
|
|
and $3B,x
|
|
|
|
eor ($47,x)
|
|
|
|
eor $5953
|
|
|
|
.byte $2C
|
|
|
|
.byte $5F
|
|
|
|
LC41C: jsr LC5FA
|
|
|
|
.byte $50
|
|
|
|
LC420: .byte $03
|
|
|
|
jsr LC806
|
|
|
|
bcc LC429
|
|
|
|
jmp LC838
|
|
|
|
|
|
|
|
LC429: jmp LC825
|
|
|
|
|
|
|
|
ldx #$03
|
|
|
|
LC42E: rts
|
|
|
|
|
|
|
|
jsr LC5FA
|
2021-11-07 03:06:39 +00:00
|
|
|
jmp $C8D4
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
jsr LC5FA
|
2021-11-07 03:06:39 +00:00
|
|
|
jmp $C916
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
jsr LC5FA
|
2021-11-07 03:06:39 +00:00
|
|
|
jmp $C922
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
jsr LC5FA
|
2021-11-07 03:06:39 +00:00
|
|
|
jmp $C958
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
jsr LC5FA
|
2021-11-07 03:06:39 +00:00
|
|
|
jmp $C967
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
jsr LC5FA
|
2021-11-07 03:06:39 +00:00
|
|
|
jmp $C969
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
jsr LC5FA
|
2021-11-07 03:06:39 +00:00
|
|
|
jmp $C93E
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
LC459: jsr LC5FA
|
2021-11-07 03:06:39 +00:00
|
|
|
jmp $C8AC
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
ldx $C066
|
|
|
|
ldy $C067
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp $C220
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
LC468: jsr LC5FA
|
2021-11-07 03:06:39 +00:00
|
|
|
jmp $C9A0
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
LC4A0: cld
|
|
|
|
phx
|
|
|
|
phy
|
|
|
|
pha
|
|
|
|
ldx $C066
|
|
|
|
ldy $C067
|
|
|
|
lda $C0BC
|
|
|
|
pha
|
|
|
|
sta $C0B9
|
|
|
|
jmp LC700
|
|
|
|
|
|
|
|
pla
|
|
|
|
bpl LC4BE
|
2021-11-07 02:41:09 +00:00
|
|
|
sta ALTZPON
|
2021-11-07 02:16:53 +00:00
|
|
|
ldx $0101
|
|
|
|
txs
|
|
|
|
LC4BE: ldx $07FF
|
|
|
|
pla
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $C1FA
|
2021-11-07 02:16:53 +00:00
|
|
|
pla
|
|
|
|
bmi LC4CB
|
|
|
|
sta $C0B8
|
|
|
|
LC4CB: sta $C0BA
|
|
|
|
stx $07F8
|
|
|
|
pla
|
|
|
|
ply
|
|
|
|
cpx #$C1
|
|
|
|
beq LC4E4
|
|
|
|
cpx #$C3
|
|
|
|
beq LC4E7
|
|
|
|
cpx #$C5
|
|
|
|
beq LC4EA
|
|
|
|
plx
|
|
|
|
sta $C0BB
|
|
|
|
rti
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LC4E4: jmp $C1F2
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
LC4E7: jmp LC3E2
|
|
|
|
|
|
|
|
LC4EA: jmp LC5F5
|
|
|
|
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
LC4F8: jmp LC468
|
|
|
|
|
|
|
|
dec $00,x
|
|
|
|
jmp LC459
|
|
|
|
|
|
|
|
jsr LC594
|
|
|
|
sta $067A
|
|
|
|
phx
|
|
|
|
phy
|
|
|
|
pha
|
|
|
|
bvc LC50E
|
2021-11-07 03:06:39 +00:00
|
|
|
jsr $C806
|
2021-11-07 02:16:53 +00:00
|
|
|
LC50E: bcc LC516
|
2021-11-07 03:06:39 +00:00
|
|
|
jsr $C908
|
2021-11-07 02:16:53 +00:00
|
|
|
plx
|
|
|
|
bra LC51A
|
2021-11-07 03:06:39 +00:00
|
|
|
LC516: jsr $C83B
|
2021-11-07 02:16:53 +00:00
|
|
|
pla
|
|
|
|
LC51A: ply
|
|
|
|
plx
|
|
|
|
jmp LC5A8
|
|
|
|
|
|
|
|
jsr LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
jsr $C8C7
|
2021-11-07 02:16:53 +00:00
|
|
|
jmp LC5A8
|
|
|
|
|
|
|
|
jsr LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
jsr $C8CD ; ???
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LC5A8
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
jsr $C8D2
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LC5A8
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
jsr $C8DA
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LC5A8
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
ora #$80
|
|
|
|
jsr LFDF0
|
|
|
|
bra LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
ora #$80
|
|
|
|
jsr LFDED
|
|
|
|
bra LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
jsr LC3F4
|
|
|
|
bra LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
jsr LC3FA
|
|
|
|
and #$7F
|
|
|
|
bra LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
jsr LFC9E
|
|
|
|
bra LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
jsr LFC58
|
|
|
|
bra LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
jsr LC300
|
|
|
|
bra LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
jsr LC4F8
|
|
|
|
bra LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
jsr LC7FD
|
|
|
|
bra LC594
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5A8
|
|
|
|
jsr LFC24
|
|
|
|
LC594: php
|
|
|
|
sei
|
|
|
|
pha
|
|
|
|
lda #$C5
|
|
|
|
sta $07F8
|
|
|
|
sta $C0BA
|
|
|
|
sta $C0B8
|
|
|
|
sta LCFFF
|
|
|
|
pla
|
|
|
|
plp
|
|
|
|
rts
|
|
|
|
|
|
|
|
LC5A8: php
|
|
|
|
sei
|
|
|
|
pha
|
|
|
|
lda #$C8
|
|
|
|
sta $07F8
|
|
|
|
sta $C0BB
|
|
|
|
sta $C0B9
|
|
|
|
pla
|
|
|
|
plp
|
|
|
|
rts
|
|
|
|
|
|
|
|
jsr LC5A8
|
|
|
|
LC5BC: bit $C1C1
|
|
|
|
bmi LC5BC
|
|
|
|
sta $C090
|
|
|
|
bra LC594
|
|
|
|
LC5C6: jsr LC594
|
|
|
|
jsr LC9A5
|
|
|
|
bra LC5A8
|
|
|
|
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
|
|
|
|
LC5F5: plx
|
|
|
|
bit LCFFF
|
|
|
|
rti
|
|
|
|
|
|
|
|
LC5FA: jmp LC5A8
|
|
|
|
|
|
|
|
jmp LC5C6
|
|
|
|
|
|
|
|
bit $20
|
|
|
|
cpy $00
|
|
|
|
ldx #$03
|
2021-11-07 02:41:09 +00:00
|
|
|
asl A1L
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC5FA
|
|
|
|
ldy #$69
|
|
|
|
LC60D: lda LCF26,y
|
|
|
|
sta $036C,y
|
|
|
|
dey
|
|
|
|
bpl LC60D
|
|
|
|
ldx #$60
|
2021-11-07 02:41:09 +00:00
|
|
|
LC618: inc BAS2H
|
|
|
|
cpx BAS2H
|
2021-11-07 02:16:53 +00:00
|
|
|
bne LC618
|
|
|
|
jsr LCEA6
|
|
|
|
LC621: dec $41
|
|
|
|
bne LC621
|
2021-11-07 02:41:09 +00:00
|
|
|
LC625: dec A1H
|
2021-11-07 02:16:53 +00:00
|
|
|
bne LC625
|
|
|
|
LC629: dec $26
|
|
|
|
bne LC629
|
|
|
|
LC62D: dec $27
|
|
|
|
lda $27
|
|
|
|
cmp #$08
|
|
|
|
bne LC62D
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
pha
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
bra LC683
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
LC683: pla
|
|
|
|
LC684: jsr LC5FA
|
|
|
|
jsr LCE00
|
|
|
|
bra LC6EA
|
|
|
|
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
|
2021-11-07 02:51:44 +00:00
|
|
|
|
|
|
|
ldy #$56 ; ???
|
2021-11-07 02:41:09 +00:00
|
|
|
sty A1L
|
2021-11-07 02:16:53 +00:00
|
|
|
sec
|
|
|
|
clv
|
2021-11-07 02:51:44 +00:00
|
|
|
jmp $CE51
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
LC6EA: nop
|
2021-11-07 02:41:09 +00:00
|
|
|
lda A1H
|
2021-11-07 02:16:53 +00:00
|
|
|
inc a
|
2021-11-07 02:41:09 +00:00
|
|
|
sta A1H
|
2021-11-07 02:16:53 +00:00
|
|
|
inc $27
|
|
|
|
cmp $0800
|
|
|
|
bcc LC684
|
|
|
|
ldy #$00
|
2021-11-07 02:41:09 +00:00
|
|
|
ldx BAS2H
|
|
|
|
jmp $0801
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
.byte $DE
|
|
|
|
brk
|
2021-11-07 02:41:09 +00:00
|
|
|
LC700: jsr $C1F7
|
2021-11-07 02:16:53 +00:00
|
|
|
pha
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $C1FD
|
2021-11-07 02:16:53 +00:00
|
|
|
lda $07F8
|
|
|
|
sta $07FF
|
|
|
|
phx
|
|
|
|
tsx
|
|
|
|
txa
|
|
|
|
clc
|
|
|
|
adc #$07
|
|
|
|
tax
|
|
|
|
lda $0100,x
|
|
|
|
plx
|
|
|
|
and #$10
|
|
|
|
bne LC747
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $C220
|
2021-11-07 02:16:53 +00:00
|
|
|
bcc LC744
|
|
|
|
jsr LC784
|
|
|
|
bcc LC744
|
|
|
|
pla
|
|
|
|
pha
|
|
|
|
bpl LC739
|
|
|
|
txa
|
|
|
|
tsx
|
|
|
|
stx $0101
|
|
|
|
ldx $0100
|
|
|
|
txs
|
|
|
|
tax
|
2021-11-07 02:41:09 +00:00
|
|
|
sta ALTZPOFF
|
2021-11-07 02:16:53 +00:00
|
|
|
lda #$80
|
|
|
|
LC739: pha
|
|
|
|
lda #$C4
|
|
|
|
pha
|
|
|
|
lda #$B4
|
|
|
|
pha
|
|
|
|
php
|
|
|
|
jmp (L03FE)
|
|
|
|
|
|
|
|
LC744: jmp LC4BE
|
|
|
|
|
|
|
|
LC747: pla
|
|
|
|
sta $44
|
|
|
|
pla
|
|
|
|
bpl LC751
|
|
|
|
lda #$01
|
|
|
|
tsb $44
|
|
|
|
LC751: pla
|
|
|
|
ply
|
|
|
|
plx
|
|
|
|
plp
|
|
|
|
jsr LFF4A
|
|
|
|
pla
|
|
|
|
sta $3A
|
|
|
|
ply
|
|
|
|
sty $3B
|
|
|
|
bit $C016
|
|
|
|
bpl LC781
|
|
|
|
tsx
|
|
|
|
stx $0101
|
|
|
|
ldx $0100
|
|
|
|
txs
|
2021-11-07 02:41:09 +00:00
|
|
|
sta ALTZPOFF
|
2021-11-07 02:16:53 +00:00
|
|
|
sta $3A
|
|
|
|
sty $3B
|
|
|
|
ldx #$05
|
2021-11-07 02:41:09 +00:00
|
|
|
LC774: sta ALTZPON
|
2021-11-07 02:16:53 +00:00
|
|
|
lda $44,x
|
2021-11-07 02:41:09 +00:00
|
|
|
sta ALTZPOFF
|
2021-11-07 02:16:53 +00:00
|
|
|
sta $44,x
|
|
|
|
dex
|
|
|
|
bpl LC774
|
|
|
|
LC781: jmp (L03F0)
|
|
|
|
|
|
|
|
LC784: sec
|
|
|
|
lda $C0AA
|
|
|
|
tax
|
|
|
|
and #$0C
|
|
|
|
eor #$04
|
|
|
|
beq LC7E4
|
|
|
|
lda $C0A9
|
|
|
|
LC792: sta $04FA
|
|
|
|
ora #$00
|
|
|
|
bpl LC7E4
|
|
|
|
and #$08
|
|
|
|
beq LC7BD
|
|
|
|
txa
|
|
|
|
and #$03
|
|
|
|
eor #$01
|
|
|
|
bne LC7BD
|
|
|
|
lda $04FF
|
|
|
|
eor #$C2
|
|
|
|
bne LC7E4
|
|
|
|
lda $C0A8
|
|
|
|
ldx $057F
|
|
|
|
jsr LC7E5
|
|
|
|
bpl LC7B8
|
|
|
|
ldx #$00
|
|
|
|
LC7B8: stx $057F
|
|
|
|
bra LC7E3
|
|
|
|
LC7BD: .byte $2C
|
|
|
|
plx
|
|
|
|
LC7BF: tsb $50
|
|
|
|
and ($2C,x)
|
|
|
|
plx
|
|
|
|
ora $70
|
|
|
|
ora $1A10,x
|
2021-11-07 02:41:09 +00:00
|
|
|
lda KBD
|
2021-11-07 02:16:53 +00:00
|
|
|
bit $C0B4
|
|
|
|
bmi LC7D3
|
|
|
|
and #$7F
|
2021-11-07 02:41:09 +00:00
|
|
|
LC7D3: bit KBDSTRB
|
2021-11-07 02:16:53 +00:00
|
|
|
ldx $05FF
|
|
|
|
jsr LC7E5
|
|
|
|
bne LC7E0
|
|
|
|
ldx #$80
|
|
|
|
LC7E0: stx $05FF
|
|
|
|
LC7E3: clc
|
|
|
|
LC7E4: rts
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LC7E5: sta WRCARDRAM
|
2021-11-07 02:16:53 +00:00
|
|
|
sta $0800,x
|
2021-11-07 02:41:09 +00:00
|
|
|
sta WRMAINRAM
|
2021-11-07 02:16:53 +00:00
|
|
|
inx
|
|
|
|
rts
|
|
|
|
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
brk
|
|
|
|
LC7FD: jmp LC792
|
2021-11-07 02:41:09 +00:00
|
|
|
.endscope
|
|
|
|
extra_LC5FA := extra::LC5FA
|
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
.res $C800 - *, 0
|
|
|
|
|
|
|
|
;;; ============================================================
|
2021-11-07 02:16:53 +00:00
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LC800: .byte $C3
|
2021-11-07 02:16:53 +00:00
|
|
|
eor $AA,x
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp $C4A0 ; bad disasm?
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
LC806: lda #$05
|
|
|
|
sta $38
|
|
|
|
ldx #$C3
|
|
|
|
stx $39
|
|
|
|
lda #$07
|
|
|
|
sta $36
|
|
|
|
stx $37
|
2021-11-07 04:07:03 +00:00
|
|
|
LC814: lda #$30 ; ???
|
2021-11-07 02:51:44 +00:00
|
|
|
sta MODE
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LCBD7
|
|
|
|
jsr LCE33
|
2021-11-07 03:26:27 +00:00
|
|
|
jmp DoHomeAndClear
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
LC822: jsr LCBE1
|
2021-11-07 02:41:09 +00:00
|
|
|
LC825: inc RNDL
|
2021-11-07 02:16:53 +00:00
|
|
|
bne LC82B
|
2021-11-07 02:41:09 +00:00
|
|
|
inc RNDH
|
2021-11-07 02:16:53 +00:00
|
|
|
LC82B: jsr LCCB8
|
|
|
|
bcc LC825
|
|
|
|
jsr LCCFB
|
|
|
|
cmp #$06
|
|
|
|
bcc LC840
|
|
|
|
.byte $29
|
2021-11-07 03:26:27 +00:00
|
|
|
LC838: bbr7 $8D,$C8B6
|
2021-11-07 02:16:53 +00:00
|
|
|
LC83B: asl $09
|
2021-11-07 02:41:09 +00:00
|
|
|
bra $C7BF ; bad disasm?
|
2021-11-07 02:16:53 +00:00
|
|
|
.byte $03
|
2021-11-07 03:56:03 +00:00
|
|
|
LC840: sta CHAR
|
2021-11-07 02:16:53 +00:00
|
|
|
pha
|
|
|
|
jsr LCBF8
|
|
|
|
LC847: pla
|
|
|
|
rts
|
|
|
|
|
2021-11-07 03:56:03 +00:00
|
|
|
LC849: sta CHAR
|
2021-11-07 02:16:53 +00:00
|
|
|
LC84C: jsr LC92A
|
2021-11-07 02:51:44 +00:00
|
|
|
lda MODE
|
2021-11-07 02:16:53 +00:00
|
|
|
and #$03
|
|
|
|
beq LC859
|
|
|
|
jmp LCA2F
|
|
|
|
|
2021-11-07 03:56:03 +00:00
|
|
|
LC859: lda CHAR
|
2021-11-07 02:16:53 +00:00
|
|
|
and #$7F
|
|
|
|
cmp #$20
|
2021-11-07 03:06:39 +00:00
|
|
|
bcc DoCtrlCharOut
|
2021-11-07 02:41:09 +00:00
|
|
|
ldy CH
|
|
|
|
cpy WNDWDTH
|
2021-11-07 02:16:53 +00:00
|
|
|
bcc LC86B
|
2021-11-07 03:26:27 +00:00
|
|
|
jsr DoReturn
|
2021-11-07 03:56:03 +00:00
|
|
|
LC86B: lda CHAR
|
2021-11-07 02:41:09 +00:00
|
|
|
bit INVFLG
|
2021-11-07 02:16:53 +00:00
|
|
|
bmi LC888
|
|
|
|
and #$7F
|
2021-11-07 02:51:44 +00:00
|
|
|
bit MODE
|
2021-11-07 02:16:53 +00:00
|
|
|
bvs LC888
|
2021-11-07 02:41:09 +00:00
|
|
|
bit ALTCHARSET
|
2021-11-07 02:16:53 +00:00
|
|
|
bpl LC888
|
|
|
|
cmp #$40
|
|
|
|
bcc LC888
|
|
|
|
cmp #$60
|
|
|
|
bcs LC888
|
|
|
|
and #$1F
|
|
|
|
LC888: jsr LCC13
|
2021-11-07 03:26:27 +00:00
|
|
|
jmp DoForwardSpace
|
2021-11-07 02:16:53 +00:00
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoNothing:
|
|
|
|
rts
|
2021-11-07 02:16:53 +00:00
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
;;; Output control character handling
|
|
|
|
|
|
|
|
;; Input is char, < $20
|
|
|
|
DoCtrlCharOut:
|
|
|
|
sec
|
2021-11-07 02:16:53 +00:00
|
|
|
sbc #$07
|
2021-11-07 03:06:39 +00:00
|
|
|
bcc DoNothing
|
2021-11-07 02:16:53 +00:00
|
|
|
asl a
|
|
|
|
tax
|
2021-11-07 03:26:27 +00:00
|
|
|
jmp (jt1,x)
|
2021-11-07 03:06:39 +00:00
|
|
|
|
|
|
|
;; Jump Table
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
jt1:
|
|
|
|
.addr DoBell ; $07 Ctrl-G Bell
|
|
|
|
.addr DoBackspace ; $08 Ctrl-H Backspace
|
|
|
|
.addr DoNothing ; $09 Ctrl-I
|
|
|
|
.addr DoLineFeed ; $0A Ctrl-J Line feed
|
|
|
|
.addr DoClearEOS ; $0B Ctrl-K Clear EOS
|
|
|
|
.addr DoHomeAndClear ; $0C Ctrl-L Home and clear
|
|
|
|
.addr DoReturn ; $0D Ctrl-M Return
|
|
|
|
.addr DoNormal ; $0E Ctrl-N Normal
|
|
|
|
.addr DoInverse ; $0F Ctrl-O Inverse
|
|
|
|
.addr DoNothing ; $10 Ctrl-P
|
|
|
|
.addr Do40Col ; $11 Ctrl-Q 40-column
|
|
|
|
.addr Do80Col ; $12 Ctrl-R 80-column
|
|
|
|
.addr DoNothing ; $13 Ctrl-S
|
|
|
|
.addr DoNothing ; $14 Ctrl-T
|
|
|
|
.addr DoQuit ; $15 Ctrl-U Quit
|
|
|
|
.addr DoScroll ; $16 Ctrl-V Scroll
|
|
|
|
.addr DoScrollUp ; $17 Ctrl-W Scroll-up
|
|
|
|
.addr DoDisableMouseText ; $18 Ctrl-X Disable MouseText
|
|
|
|
.addr DoHome ; $19 Ctrl-Y Home
|
|
|
|
.addr DoClearLine ; $1A Ctrl-Z Clear line
|
|
|
|
.addr DoEnableMouseText ; $1B Ctrl-[ Enable MouseText
|
|
|
|
.addr DoForwardSpace ; $1C Ctrl-\ Forward space
|
|
|
|
.addr DoClearEOL ; $1D Ctrl-] Clear EOL
|
2021-11-07 03:27:30 +00:00
|
|
|
.addr DoCtrlCaret ; $1E Ctrl-^ ???
|
2021-11-07 03:26:27 +00:00
|
|
|
.addr DoUp ; $1F Ctrl-_ Up
|
2021-11-07 03:06:39 +00:00
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
;;; GetLn handling
|
|
|
|
;;; For Escape key sequences
|
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LC8CB: pha
|
2021-11-07 03:06:39 +00:00
|
|
|
lda #M_ESC
|
|
|
|
trb MODE
|
|
|
|
pla
|
|
|
|
and #$7F
|
|
|
|
cmp #$61
|
2021-11-07 02:16:53 +00:00
|
|
|
bcc LC8DE
|
|
|
|
cmp #$7B
|
2021-11-07 03:06:39 +00:00
|
|
|
bcs LC8DE
|
2021-11-07 02:16:53 +00:00
|
|
|
and #$DF
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LC8DE: ldx #$00
|
2021-11-07 03:06:39 +00:00
|
|
|
LC8E0: ldy code_table,x
|
|
|
|
beq DoNothing
|
|
|
|
cmp code_table,x
|
|
|
|
beq LC8ED
|
2021-11-07 02:16:53 +00:00
|
|
|
inx
|
2021-11-07 03:06:39 +00:00
|
|
|
bra LC8E0
|
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LC8ED: txa
|
|
|
|
asl a
|
|
|
|
tax
|
2021-11-07 03:56:03 +00:00
|
|
|
jmp (jt2,x)
|
2021-11-07 02:16:53 +00:00
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
code_table:
|
|
|
|
.byte '@' ; Escape @ - clear, home & exit mode
|
|
|
|
.byte 'A' ; Escape A - right & exit mode
|
|
|
|
.byte 'B' ; Escape B - left & exit mode
|
|
|
|
.byte 'C' ; Escape C - down & exit mode
|
|
|
|
.byte 'D' ; Escape D - up & exit mode
|
|
|
|
.byte 'E' ; Escape E - clear EOL & exit mode
|
|
|
|
.byte 'F' ; Escape F - clear EOS & exit mode
|
|
|
|
.byte 'I' ; Escape I - up
|
|
|
|
.byte 'J' ; Escape J - left
|
|
|
|
.byte 'K' ; Escape K - right
|
|
|
|
.byte 'M' ; Escape M - down
|
|
|
|
.byte $0b ; Escape up - up
|
|
|
|
.byte $0a ; Escape down - down
|
|
|
|
.byte $08 ; Escape left - left
|
|
|
|
.byte $15 ; Escape right - right
|
|
|
|
.byte '4' ; Escape 4 - 40 col mode
|
|
|
|
.byte '8' ; Escape 8 - 80 col mode
|
|
|
|
.byte $11 ; Escape Ctrl+Q - deactivate
|
|
|
|
|
|
|
|
.byte $00 ; sentinel
|
|
|
|
|
|
|
|
|
2021-11-07 03:56:03 +00:00
|
|
|
;; Jump table
|
|
|
|
jt2:
|
|
|
|
.addr DoHomeAndClear ; Escape @ - clear, home & exit mode
|
|
|
|
.addr DoForwardSpace ; Escape A - right & exit mode
|
|
|
|
.addr DoBackspace ; Escape B - left & exit mode
|
|
|
|
.addr DoLineFeed ; Escape C - down & exit mode
|
|
|
|
.addr DoUp ; Escape D - up & exit mode
|
|
|
|
.addr DoClearEOL ; Escape E - clear EOL & exit mode
|
|
|
|
.addr DoClearEOS ; Escape F - clear EOS & exit mode
|
|
|
|
.addr DoUpRemain ; Escape I - up
|
|
|
|
.addr DoLeftRemain ; Escape J - left
|
|
|
|
.addr DoRightRemain ; Escape K - right
|
|
|
|
.addr DoDownRemain ; Escape M - down
|
|
|
|
.addr DoUpRemain ; Escape up - up
|
|
|
|
.addr DoDownRemain ; Escape down - down
|
|
|
|
.addr DoLeftRemain ; Escape left - left
|
|
|
|
.addr DoRightRemain ; Escape right - right
|
|
|
|
.addr Do40Col ; Escape 4 - 40 col mode
|
|
|
|
.addr Do80Col ; Escape 8 - 80 col mode
|
|
|
|
.addr DoQuit ; Escape Ctrl+Q - deactivate
|
2021-11-07 03:06:39 +00:00
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
LC92A:
|
|
|
|
lda KBD
|
2021-11-07 04:07:03 +00:00
|
|
|
cmp #$93 ; Ctrl-S
|
|
|
|
bne @l3
|
2021-11-07 02:41:09 +00:00
|
|
|
bit KBDSTRB
|
2021-11-07 04:07:03 +00:00
|
|
|
@l1: lda KBD
|
|
|
|
bpl @l1
|
|
|
|
cmp #$83 ; Ctrl-C
|
|
|
|
beq @l3
|
2021-11-07 02:16:53 +00:00
|
|
|
.byte $2C
|
2021-11-07 04:07:03 +00:00
|
|
|
@l2: bpl $C900
|
|
|
|
@l3: rts
|
|
|
|
|
|
|
|
;;; ============================================================
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
LC941: ldy #$00
|
|
|
|
ldx #$00
|
2021-11-07 02:41:09 +00:00
|
|
|
LC945: cpy WNDWDTH
|
2021-11-07 02:16:53 +00:00
|
|
|
bcs LC953
|
|
|
|
jsr LC9A8
|
|
|
|
sta $0200,x
|
|
|
|
inx
|
|
|
|
iny
|
|
|
|
bra LC945
|
|
|
|
LC953: dey
|
2021-11-07 02:41:09 +00:00
|
|
|
sty CH
|
2021-11-07 04:07:03 +00:00
|
|
|
.byte $8E ; bad disasm
|
2021-11-07 02:16:53 +00:00
|
|
|
sei
|
2021-11-07 04:07:03 +00:00
|
|
|
ora $A9
|
2021-11-07 02:16:53 +00:00
|
|
|
.byte $8D
|
|
|
|
LC95B: rts
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
Do40Col:
|
|
|
|
bit RD80VID
|
2021-11-07 02:16:53 +00:00
|
|
|
php
|
|
|
|
jsr LCBD0
|
|
|
|
jsr LCAFA
|
2021-11-07 04:07:03 +00:00
|
|
|
jsr LCE33
|
|
|
|
plp
|
2021-11-07 02:16:53 +00:00
|
|
|
bpl LC95B
|
|
|
|
jmp LCC68
|
|
|
|
|
2021-11-07 04:07:03 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LC96F: jsr LC822
|
|
|
|
cmp #$00
|
|
|
|
beq LC997
|
|
|
|
cmp #$02
|
|
|
|
beq LC941
|
|
|
|
cmp #$05
|
|
|
|
bne LC95B
|
2021-11-07 02:41:09 +00:00
|
|
|
ldy CH
|
2021-11-07 02:16:53 +00:00
|
|
|
LC980: iny
|
2021-11-07 02:41:09 +00:00
|
|
|
cpy WNDWDTH
|
2021-11-07 02:16:53 +00:00
|
|
|
beq LC98F
|
|
|
|
jsr LC9A8
|
|
|
|
dey
|
|
|
|
jsr LCEC8
|
|
|
|
iny
|
|
|
|
bra LC980
|
2021-11-07 04:07:03 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LC98F: dey
|
|
|
|
LC990: lda #$A0
|
|
|
|
jsr LCEC8
|
|
|
|
bra LC96F
|
2021-11-07 04:07:03 +00:00
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LC997: ldy WNDWDTH
|
2021-11-07 02:16:53 +00:00
|
|
|
dey
|
2021-11-07 02:41:09 +00:00
|
|
|
cpy CH
|
2021-11-07 02:16:53 +00:00
|
|
|
beq LC990
|
|
|
|
dey
|
|
|
|
.byte $20
|
|
|
|
LC9A0: tay
|
|
|
|
cmp #$C8
|
|
|
|
.byte $20
|
|
|
|
iny
|
|
|
|
LC9A5: dec $F180
|
|
|
|
LC9A8: jsr LCEBD
|
|
|
|
ora #$80
|
|
|
|
cmp #$A0
|
|
|
|
bcs LC9B3
|
|
|
|
ora #$40
|
|
|
|
LC9B3: rts
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LC9B4: bit RD80VID
|
2021-11-07 02:16:53 +00:00
|
|
|
bpl LC9CC
|
2021-11-07 02:41:09 +00:00
|
|
|
lsr WNDWDTH
|
|
|
|
asl WNDWDTH
|
|
|
|
sta SET80COL
|
|
|
|
LC9C0: lda CH
|
2021-11-07 02:51:44 +00:00
|
|
|
cmp XCOORD
|
2021-11-07 02:16:53 +00:00
|
|
|
bne LC9CA
|
2021-11-07 02:51:44 +00:00
|
|
|
lda OURCH
|
2021-11-07 02:41:09 +00:00
|
|
|
LC9CA: sta CH
|
2021-11-07 02:16:53 +00:00
|
|
|
LC9CC: rts
|
|
|
|
|
2021-11-07 03:56:03 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoUpRemain:
|
|
|
|
jsr DoUp
|
|
|
|
bra Remain
|
|
|
|
|
|
|
|
DoDownRemain:
|
2021-11-07 03:26:27 +00:00
|
|
|
jsr DoLineFeed
|
2021-11-07 03:56:03 +00:00
|
|
|
bra Remain
|
2021-11-07 03:26:27 +00:00
|
|
|
|
2021-11-07 03:56:03 +00:00
|
|
|
DoRightRemain:
|
|
|
|
jsr DoForwardSpace
|
|
|
|
bra Remain
|
2021-11-07 03:26:27 +00:00
|
|
|
|
2021-11-07 03:56:03 +00:00
|
|
|
DoLeftRemain:
|
2021-11-07 03:26:27 +00:00
|
|
|
jsr DoBackspace
|
2021-11-07 03:56:03 +00:00
|
|
|
;; fall through
|
|
|
|
|
|
|
|
Remain: lda #$80
|
|
|
|
bra SetModeBits
|
2021-11-07 03:26:27 +00:00
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoInverse:
|
2021-11-07 02:16:53 +00:00
|
|
|
ldy #$3F
|
2021-11-07 03:26:27 +00:00
|
|
|
.byte OPC_BIT_abs ; skip next instruction
|
|
|
|
DoNormal:
|
|
|
|
ldy #$FF
|
2021-11-07 02:41:09 +00:00
|
|
|
sty INVFLG
|
2021-11-07 02:16:53 +00:00
|
|
|
LC9EA: rts
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
Do80Col:
|
2021-11-07 02:41:09 +00:00
|
|
|
bit RD80VID
|
2021-11-07 02:16:53 +00:00
|
|
|
php
|
|
|
|
jsr LCBD7
|
|
|
|
jsr LCAFA
|
|
|
|
jsr LCE33
|
|
|
|
plp
|
|
|
|
bmi LC9EA
|
|
|
|
jmp LCC18
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoQuit:
|
|
|
|
jsr Do40Col
|
2021-11-07 02:51:44 +00:00
|
|
|
jsr DoSETVID
|
|
|
|
jsr DoSETKBD
|
2021-11-07 02:16:53 +00:00
|
|
|
lda #$17
|
|
|
|
ldx #$00
|
|
|
|
jsr LCAA1
|
|
|
|
lda #$FF
|
2021-11-07 02:51:44 +00:00
|
|
|
sta MODE
|
2021-11-07 02:16:53 +00:00
|
|
|
lda #$98
|
|
|
|
rts
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
;;; ============================================================
|
2021-11-07 03:56:03 +00:00
|
|
|
;;; Adusting MODE Bits
|
2021-11-07 03:26:27 +00:00
|
|
|
|
2021-11-07 03:27:30 +00:00
|
|
|
DoCtrlCaret:
|
2021-11-07 02:16:53 +00:00
|
|
|
lda #$FC
|
2021-11-07 03:56:03 +00:00
|
|
|
jsr PreserveModeBits
|
2021-11-07 02:16:53 +00:00
|
|
|
lda #$32
|
2021-11-07 03:56:03 +00:00
|
|
|
bra SetModeBits
|
2021-11-07 03:26:27 +00:00
|
|
|
|
|
|
|
DoDisableMouseText:
|
2021-11-07 03:56:03 +00:00
|
|
|
lda #M_MOUSE ; BUG! Should be ~M_MOUSE
|
|
|
|
PreserveModeBits:
|
|
|
|
and MODE
|
|
|
|
bra StoreMode
|
2021-11-07 03:26:27 +00:00
|
|
|
|
|
|
|
DoEnableMouseText:
|
2021-11-07 03:56:03 +00:00
|
|
|
lda #M_MOUSE
|
|
|
|
SetModeBits:
|
|
|
|
ora MODE
|
|
|
|
StoreMode:
|
|
|
|
sta MODE
|
2021-11-07 02:16:53 +00:00
|
|
|
rts
|
|
|
|
|
2021-11-07 03:56:03 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
LCA2F: lda CHAR
|
2021-11-07 02:16:53 +00:00
|
|
|
sec
|
|
|
|
sbc #$20
|
|
|
|
and #$7F
|
|
|
|
pha
|
2021-11-07 02:51:44 +00:00
|
|
|
dec MODE
|
|
|
|
lda MODE
|
2021-11-07 02:16:53 +00:00
|
|
|
and #$03
|
2021-11-07 04:07:03 +00:00
|
|
|
bne @l2
|
2021-11-07 02:16:53 +00:00
|
|
|
pla
|
|
|
|
cmp #$18
|
2021-11-07 04:07:03 +00:00
|
|
|
bcs @l1
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LCAA3
|
2021-11-07 04:07:03 +00:00
|
|
|
@l1: lda $05F8
|
2021-11-07 02:41:09 +00:00
|
|
|
cmp WNDWDTH
|
2021-11-07 03:56:03 +00:00
|
|
|
bcs :+
|
2021-11-07 02:41:09 +00:00
|
|
|
sta CH
|
2021-11-07 03:56:03 +00:00
|
|
|
: rts
|
2021-11-07 02:16:53 +00:00
|
|
|
|
2021-11-07 04:07:03 +00:00
|
|
|
@l2: pla
|
2021-11-07 02:16:53 +00:00
|
|
|
sta $05F8
|
|
|
|
rts
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoBackspace:
|
|
|
|
lda CH
|
2021-11-07 02:16:53 +00:00
|
|
|
beq LCA60
|
2021-11-07 02:41:09 +00:00
|
|
|
dec CH
|
2021-11-07 02:16:53 +00:00
|
|
|
LCA5F: rts
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LCA60: lda CV
|
2021-11-07 02:16:53 +00:00
|
|
|
beq LCA5F
|
2021-11-07 02:41:09 +00:00
|
|
|
lda WNDWDTH
|
2021-11-07 02:16:53 +00:00
|
|
|
dec a
|
2021-11-07 02:41:09 +00:00
|
|
|
sta CH
|
2021-11-07 03:26:27 +00:00
|
|
|
|
|
|
|
DoUp: lda CV
|
2021-11-07 02:16:53 +00:00
|
|
|
beq LCA5F
|
2021-11-07 02:41:09 +00:00
|
|
|
dec CV
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCAA5
|
2021-11-07 03:26:27 +00:00
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoForwardSpace:
|
|
|
|
inc CH
|
2021-11-07 02:41:09 +00:00
|
|
|
lda CH
|
|
|
|
cmp WNDWDTH
|
2021-11-07 02:16:53 +00:00
|
|
|
bcc LCA5F
|
2021-11-07 03:26:27 +00:00
|
|
|
;; fall through
|
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoReturn:
|
|
|
|
stz CH
|
|
|
|
;; fall through
|
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoLineFeed:
|
|
|
|
lda CV
|
2021-11-07 02:16:53 +00:00
|
|
|
cmp #$FF
|
2021-11-07 04:07:03 +00:00
|
|
|
beq @l1
|
2021-11-07 02:16:53 +00:00
|
|
|
cmp #$17
|
2021-11-07 03:26:27 +00:00
|
|
|
bcs DoScrollUp
|
2021-11-07 04:07:03 +00:00
|
|
|
@l1: inc CV
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCAA5
|
2021-11-07 03:26:27 +00:00
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoHome:
|
|
|
|
lda WNDTOP
|
2021-11-07 02:16:53 +00:00
|
|
|
ldx #$00
|
|
|
|
bra LCAA1
|
2021-11-07 03:26:27 +00:00
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoClearLine:
|
|
|
|
lda CH
|
2021-11-07 02:16:53 +00:00
|
|
|
pha
|
2021-11-07 02:41:09 +00:00
|
|
|
stz CH
|
2021-11-07 03:26:27 +00:00
|
|
|
jsr DoClearEOL
|
2021-11-07 02:16:53 +00:00
|
|
|
pla
|
2021-11-07 02:41:09 +00:00
|
|
|
sta CH
|
2021-11-07 02:16:53 +00:00
|
|
|
rts
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LCA9B: lda $06F8
|
|
|
|
ldx $0778
|
2021-11-07 02:41:09 +00:00
|
|
|
LCAA1: stx CH
|
|
|
|
LCAA3: sta CV
|
2021-11-07 02:51:44 +00:00
|
|
|
LCAA5: jmp DoMON_VTAB
|
2021-11-07 02:16:53 +00:00
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoScrollUp:
|
|
|
|
lda CH
|
2021-11-07 02:16:53 +00:00
|
|
|
pha
|
2021-11-07 03:26:27 +00:00
|
|
|
jsr DoHome
|
2021-11-07 04:07:03 +00:00
|
|
|
@l1: ldy BASH
|
2021-11-07 02:41:09 +00:00
|
|
|
sty BAS2H
|
|
|
|
ldy BASL
|
|
|
|
sty BAS2L
|
|
|
|
lda WNDBTM
|
2021-11-07 04:07:03 +00:00
|
|
|
beq @l5
|
2021-11-07 02:16:53 +00:00
|
|
|
dec a
|
2021-11-07 02:41:09 +00:00
|
|
|
cmp CV
|
2021-11-07 04:07:03 +00:00
|
|
|
beq @l5
|
|
|
|
bcc @l5
|
2021-11-07 02:41:09 +00:00
|
|
|
inc CV
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LCAA5
|
2021-11-07 02:41:09 +00:00
|
|
|
ldy WNDWDTH
|
2021-11-07 02:16:53 +00:00
|
|
|
dey
|
2021-11-07 02:41:09 +00:00
|
|
|
bit RD80VID
|
2021-11-07 04:07:03 +00:00
|
|
|
bmi @l3
|
|
|
|
@l2: lda (BASL),y
|
2021-11-07 02:41:09 +00:00
|
|
|
sta (BAS2L),y
|
2021-11-07 02:16:53 +00:00
|
|
|
dey
|
2021-11-07 04:07:03 +00:00
|
|
|
bpl @l2
|
|
|
|
bra @l1
|
|
|
|
@l3: tya
|
2021-11-07 02:16:53 +00:00
|
|
|
lsr a
|
|
|
|
tay
|
2021-11-07 04:07:03 +00:00
|
|
|
@l4: bit TXTPAGE1
|
2021-11-07 02:41:09 +00:00
|
|
|
lda (BASL),y
|
|
|
|
sta (BAS2L),y
|
|
|
|
bit TXTPAGE2
|
|
|
|
lda (BASL),y
|
|
|
|
sta (BAS2L),y
|
2021-11-07 02:16:53 +00:00
|
|
|
dey
|
2021-11-07 04:07:03 +00:00
|
|
|
bpl @l4
|
2021-11-07 02:41:09 +00:00
|
|
|
bit TXTPAGE1
|
2021-11-07 04:07:03 +00:00
|
|
|
bra @l1
|
|
|
|
@l5: stz CH
|
2021-11-07 03:26:27 +00:00
|
|
|
jsr DoClearEOL
|
2021-11-07 02:16:53 +00:00
|
|
|
plx
|
2021-11-07 02:41:09 +00:00
|
|
|
lda CV
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCAA1
|
2021-11-07 04:07:03 +00:00
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LCAFA: lda CV
|
2021-11-07 02:16:53 +00:00
|
|
|
sta $06F8
|
2021-11-07 02:41:09 +00:00
|
|
|
lda CH
|
2021-11-07 02:16:53 +00:00
|
|
|
sta $0778
|
|
|
|
rts
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoScroll:
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LCAFA
|
2021-11-07 02:41:09 +00:00
|
|
|
lda WNDBTM
|
2021-11-07 02:16:53 +00:00
|
|
|
dec a
|
|
|
|
dec a
|
|
|
|
sta $05F8
|
|
|
|
LCB0F: lda $05F8
|
|
|
|
jsr LCAA3
|
2021-11-07 02:41:09 +00:00
|
|
|
lda BASL
|
|
|
|
sta BAS2L
|
|
|
|
lda BASH
|
|
|
|
sta BAS2H
|
2021-11-07 02:16:53 +00:00
|
|
|
lda $05F8
|
|
|
|
inc a
|
|
|
|
jsr LCAA3
|
2021-11-07 02:41:09 +00:00
|
|
|
ldy WNDWDTH
|
2021-11-07 02:16:53 +00:00
|
|
|
dey
|
|
|
|
LCB27: phy
|
2021-11-07 02:41:09 +00:00
|
|
|
bit TXTPAGE1
|
|
|
|
bit RD80VID
|
2021-11-07 02:16:53 +00:00
|
|
|
bpl LCB38
|
|
|
|
tya
|
|
|
|
lsr a
|
|
|
|
tay
|
|
|
|
bcs LCB38
|
2021-11-07 02:41:09 +00:00
|
|
|
bit TXTPAGE2
|
|
|
|
LCB38: lda (BAS2L),y
|
|
|
|
sta (BASL),y
|
2021-11-07 02:16:53 +00:00
|
|
|
ply
|
|
|
|
dey
|
|
|
|
bpl LCB27
|
2021-11-07 02:41:09 +00:00
|
|
|
bit TXTPAGE1
|
2021-11-07 02:16:53 +00:00
|
|
|
lda $05F8
|
2021-11-07 02:41:09 +00:00
|
|
|
cmp WNDTOP
|
2021-11-07 02:16:53 +00:00
|
|
|
beq LCB4F
|
|
|
|
dec $05F8
|
|
|
|
bra LCB0F
|
|
|
|
LCB4F: lda #$00
|
|
|
|
jsr LCAA3
|
2021-11-07 03:26:27 +00:00
|
|
|
jsr DoClearLine
|
2021-11-07 02:41:09 +00:00
|
|
|
bit TXTPAGE1
|
2021-11-07 02:16:53 +00:00
|
|
|
jmp LCA9B
|
|
|
|
|
|
|
|
LCB5D: jsr LC814
|
|
|
|
LCB60: jsr LCBE1
|
2021-11-07 02:41:09 +00:00
|
|
|
LCB63: ldx CH
|
2021-11-07 02:51:44 +00:00
|
|
|
stx OURCH
|
|
|
|
stx XCOORD
|
2021-11-07 02:16:53 +00:00
|
|
|
ldx #$00
|
|
|
|
rts
|
|
|
|
|
|
|
|
LCB6E: jsr LCBB1
|
|
|
|
jsr LC822
|
2021-11-07 03:56:03 +00:00
|
|
|
lda CHAR
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCB63
|
2021-11-07 03:56:03 +00:00
|
|
|
LCB79: sta CHAR
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LCBB1
|
|
|
|
jsr LCBF8
|
2021-11-07 03:56:03 +00:00
|
|
|
lda CHAR
|
2021-11-07 02:16:53 +00:00
|
|
|
ora #$80
|
2021-11-07 03:56:03 +00:00
|
|
|
sta CHAR
|
2021-11-07 02:16:53 +00:00
|
|
|
and #$7F
|
|
|
|
cmp #$15
|
|
|
|
beq LCB63
|
|
|
|
cmp #$0D
|
|
|
|
beq LCB99
|
|
|
|
jsr LC84C
|
|
|
|
bra LCB60
|
2021-11-07 02:41:09 +00:00
|
|
|
LCB99: stz CH
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCB60
|
|
|
|
LCB9D: cmp #$00
|
|
|
|
beq LCBAA
|
|
|
|
cmp #$01
|
|
|
|
bne LCBAD
|
|
|
|
jsr LCCB8
|
|
|
|
bra LCB63
|
|
|
|
LCBAA: sec
|
|
|
|
bra LCB63
|
|
|
|
LCBAD: ldx #$03
|
|
|
|
clc
|
|
|
|
rts
|
|
|
|
|
|
|
|
LCBB1: pha
|
2021-11-07 02:51:44 +00:00
|
|
|
lda OLDBASL
|
2021-11-07 02:41:09 +00:00
|
|
|
sta BASL
|
2021-11-07 02:51:44 +00:00
|
|
|
lda OLDBASH
|
2021-11-07 02:41:09 +00:00
|
|
|
sta BASH
|
|
|
|
stz WNDTOP
|
|
|
|
stz WNDLFT
|
2021-11-07 02:16:53 +00:00
|
|
|
lda #$50
|
2021-11-07 02:41:09 +00:00
|
|
|
sta WNDWDTH
|
2021-11-07 02:16:53 +00:00
|
|
|
lda #$18
|
2021-11-07 02:41:09 +00:00
|
|
|
sta WNDBTM
|
2021-11-07 02:16:53 +00:00
|
|
|
jsr LC9C0
|
|
|
|
pla
|
|
|
|
rts
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
sta CLRALTCHAR
|
|
|
|
LCBD0: sta CLR80COL
|
|
|
|
sta CLR80VID
|
2021-11-07 02:16:53 +00:00
|
|
|
rts
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LCBD7: sta SET80COL
|
|
|
|
sta SET80VID
|
|
|
|
sta SETALTCHAR
|
2021-11-07 02:16:53 +00:00
|
|
|
rts
|
|
|
|
|
2021-11-07 02:51:44 +00:00
|
|
|
LCBE1: lda MODE
|
2021-11-07 02:16:53 +00:00
|
|
|
cmp #$FF
|
|
|
|
beq LCC04
|
|
|
|
and #$80
|
|
|
|
beq LCC04
|
|
|
|
jsr LCEBB
|
2021-11-07 02:51:44 +00:00
|
|
|
sta OLDCH
|
2021-11-07 02:16:53 +00:00
|
|
|
and #$80
|
|
|
|
eor #$AB
|
|
|
|
bra LCC13
|
2021-11-07 02:51:44 +00:00
|
|
|
LCBF8: lda MODE
|
2021-11-07 02:16:53 +00:00
|
|
|
and #$80
|
|
|
|
beq LCC04
|
|
|
|
.byte $AD
|
|
|
|
LCC00: .byte $7B
|
|
|
|
tsb $80
|
|
|
|
LCC03: .byte $0F
|
|
|
|
LCC04: .byte $20
|
|
|
|
.byte $BB
|
|
|
|
LCC06: dec $8049
|
|
|
|
cmp #$40
|
|
|
|
bcc LCC13
|
|
|
|
cmp #$60
|
|
|
|
bcs LCC13
|
|
|
|
and #$1F
|
2021-11-07 02:41:09 +00:00
|
|
|
LCC13: ldy CH
|
2021-11-07 02:16:53 +00:00
|
|
|
jmp LCEC8
|
|
|
|
|
|
|
|
LCC18: php
|
|
|
|
sei
|
2021-11-07 02:41:09 +00:00
|
|
|
lda WNDTOP
|
2021-11-07 02:16:53 +00:00
|
|
|
sta $05F8
|
|
|
|
LCC1F: lda $05F8
|
|
|
|
jsr LCAA3
|
2021-11-07 02:41:09 +00:00
|
|
|
lda BASL
|
|
|
|
sta BAS2L
|
|
|
|
lda BASH
|
|
|
|
sta BAS2H
|
2021-11-07 02:16:53 +00:00
|
|
|
ldy #$00
|
2021-11-07 02:41:09 +00:00
|
|
|
LCC2F: bit TXTPAGE1
|
|
|
|
lda (BAS2L)
|
|
|
|
bit TXTPAGE2
|
|
|
|
sta (BASL),y
|
|
|
|
bit TXTPAGE1
|
|
|
|
inc BAS2L
|
|
|
|
lda (BAS2L)
|
|
|
|
sta (BASL),y
|
2021-11-07 02:16:53 +00:00
|
|
|
iny
|
2021-11-07 02:41:09 +00:00
|
|
|
inc BAS2L
|
2021-11-07 02:16:53 +00:00
|
|
|
cpy #$14
|
|
|
|
bcc LCC2F
|
|
|
|
lda #$A0
|
2021-11-07 02:41:09 +00:00
|
|
|
LCC4B: bit TXTPAGE2
|
|
|
|
sta (BASL),y
|
|
|
|
bit TXTPAGE1
|
|
|
|
sta (BASL),y
|
2021-11-07 02:16:53 +00:00
|
|
|
iny
|
|
|
|
cpy #$28
|
|
|
|
bcc LCC4B
|
|
|
|
inc $05F8
|
|
|
|
lda $05F8
|
|
|
|
cmp #$18
|
|
|
|
bcc LCC1F
|
|
|
|
LCC64: plp
|
|
|
|
jmp LCA9B
|
|
|
|
|
|
|
|
LCC68: php
|
|
|
|
sei
|
2021-11-07 02:41:09 +00:00
|
|
|
sta SET80COL
|
|
|
|
lda WNDTOP
|
2021-11-07 02:16:53 +00:00
|
|
|
sta $05F8
|
|
|
|
LCC72: lda $05F8
|
|
|
|
jsr LCAA3
|
|
|
|
ldy #$13
|
2021-11-07 02:41:09 +00:00
|
|
|
bit TXTPAGE1
|
|
|
|
LCC7D: lda (BASL),y
|
2021-11-07 02:16:53 +00:00
|
|
|
pha
|
|
|
|
dey
|
|
|
|
bpl LCC7D
|
|
|
|
ldy #$00
|
2021-11-07 02:41:09 +00:00
|
|
|
lda BASL
|
|
|
|
sta BAS2L
|
|
|
|
lda BASH
|
|
|
|
sta BAS2H
|
|
|
|
LCC8D: bit TXTPAGE2
|
|
|
|
lda (BASL),y
|
|
|
|
bit TXTPAGE1
|
|
|
|
sta (BAS2L)
|
|
|
|
inc BAS2L
|
2021-11-07 02:16:53 +00:00
|
|
|
pla
|
2021-11-07 02:41:09 +00:00
|
|
|
sta (BAS2L)
|
|
|
|
inc BAS2L
|
2021-11-07 02:16:53 +00:00
|
|
|
iny
|
|
|
|
cpy #$14
|
|
|
|
bcc LCC8D
|
|
|
|
inc $05F8
|
|
|
|
lda $05F8
|
|
|
|
cmp #$18
|
|
|
|
bcc LCC72
|
2021-11-07 02:41:09 +00:00
|
|
|
sta CLR80COL
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCC64
|
|
|
|
LCCB2: jsr LCCB8
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp extra::LC5FA ; bad disasm or ...?
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
LCCB8: bit $0579
|
|
|
|
bmi LCCD7
|
|
|
|
LCCBD: bit $05FA
|
|
|
|
bvs LCCCE
|
|
|
|
bpl LCCCE
|
|
|
|
lda $05FF
|
|
|
|
cmp $06FF
|
|
|
|
beq LCCD3
|
|
|
|
bra LCCD5
|
2021-11-07 02:41:09 +00:00
|
|
|
LCCCE: bit KBD
|
2021-11-07 02:16:53 +00:00
|
|
|
bmi LCCD5
|
|
|
|
LCCD3: clc
|
|
|
|
rts
|
|
|
|
|
|
|
|
LCCD5: sec
|
|
|
|
rts
|
|
|
|
|
|
|
|
LCCD7: jsr LCDA8
|
|
|
|
beq LCCE1
|
|
|
|
LCCDC: stz $0579
|
|
|
|
bra LCCBD
|
|
|
|
LCCE1: phx
|
|
|
|
ldx $0479
|
|
|
|
jsr LCE16
|
|
|
|
lda $0200,x
|
|
|
|
jsr LCE25
|
|
|
|
plx
|
|
|
|
cmp #$00
|
|
|
|
beq LCCDC
|
|
|
|
bra LCCD5
|
|
|
|
LCCF5: jsr LCCFB
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp extra::LC5FA
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
LCCFB: bit $0579
|
|
|
|
bpl LCD03
|
|
|
|
jmp LCD85
|
|
|
|
|
|
|
|
LCD03: bit $05FA
|
|
|
|
bvs LCD2F
|
|
|
|
bpl LCD2F
|
|
|
|
phx
|
|
|
|
ldx $06FF
|
2021-11-07 02:41:09 +00:00
|
|
|
bit RDRAMRD
|
2021-11-07 02:16:53 +00:00
|
|
|
php
|
2021-11-07 02:41:09 +00:00
|
|
|
sta RDCARDRAM
|
2021-11-07 02:16:53 +00:00
|
|
|
lda $0800,x
|
|
|
|
plp
|
|
|
|
bmi LCD1E
|
2021-11-07 02:41:09 +00:00
|
|
|
sta RDMAINRAM
|
2021-11-07 02:16:53 +00:00
|
|
|
LCD1E: inx
|
|
|
|
bne LCD23
|
|
|
|
ldx #$80
|
|
|
|
LCD23: stx $06FF
|
|
|
|
plx
|
|
|
|
pha
|
|
|
|
pla
|
|
|
|
php
|
|
|
|
ora #$80
|
|
|
|
plp
|
|
|
|
bra LCD38
|
2021-11-07 02:41:09 +00:00
|
|
|
LCD2F: lda KBD
|
|
|
|
bit KBDSTRB
|
2021-11-07 02:16:53 +00:00
|
|
|
bit $C0B4
|
|
|
|
LCD38: bpl LCD41
|
|
|
|
LCD3A: cmp #$06
|
|
|
|
bcc LCD40
|
|
|
|
ora #$80
|
|
|
|
LCD40: rts
|
|
|
|
|
|
|
|
LCD41: and #$7F
|
|
|
|
cmp #$01
|
|
|
|
bne LCD4B
|
|
|
|
lda #$1A
|
|
|
|
bra LCD3A
|
|
|
|
LCD4B: cmp #$03
|
|
|
|
bne LCD53
|
|
|
|
lda #$0C
|
|
|
|
bra LCD3A
|
|
|
|
LCD53: cmp #$04
|
|
|
|
bne LCD5B
|
|
|
|
lda #$19
|
|
|
|
bra LCD3A
|
|
|
|
LCD5B: cmp #$06
|
|
|
|
bne LCD63
|
|
|
|
lda #$2C
|
|
|
|
bra LCD73
|
|
|
|
LCD63: cmp #$1F
|
|
|
|
bne LCD6B
|
|
|
|
lda #$2D
|
|
|
|
bra LCD73
|
|
|
|
LCD6B: cmp #$20
|
|
|
|
bcc LCD3A
|
|
|
|
cmp #$2C
|
|
|
|
bcs LCD3A
|
|
|
|
LCD73: pha
|
|
|
|
jsr LCDA8
|
|
|
|
beq LCD7C
|
|
|
|
pla
|
|
|
|
bra LCD3A
|
|
|
|
LCD7C: lda #$FF
|
|
|
|
sta $0579
|
|
|
|
pla
|
|
|
|
jsr LCDBE
|
|
|
|
LCD85: jsr LCDA8
|
|
|
|
beq LCD91
|
|
|
|
LCD8A: stz $0579
|
|
|
|
lda #$A0
|
|
|
|
bra LCD3A
|
|
|
|
LCD91: phx
|
|
|
|
ldx $0479
|
|
|
|
jsr LCE16
|
|
|
|
lda $0200,x
|
|
|
|
jsr LCE25
|
|
|
|
plx
|
|
|
|
inc $0479
|
|
|
|
cmp #$00
|
|
|
|
beq LCD8A
|
|
|
|
bra LCD3A
|
|
|
|
LCDA8: jsr LCE16
|
|
|
|
lda #$00
|
|
|
|
phx
|
|
|
|
tax
|
|
|
|
clc
|
|
|
|
LCDB0: adc $0200,x
|
|
|
|
inx
|
|
|
|
bne LCDB0
|
|
|
|
plx
|
|
|
|
jsr LCE25
|
|
|
|
cmp $04F9
|
|
|
|
rts
|
|
|
|
|
|
|
|
LCDBE: phx
|
|
|
|
phy
|
|
|
|
jsr LCE16
|
|
|
|
sec
|
|
|
|
sbc #$20
|
|
|
|
ldy #$00
|
|
|
|
tax
|
|
|
|
beq LCDD7
|
|
|
|
LCDCB: lda $0200,y
|
|
|
|
beq LCDD3
|
|
|
|
iny
|
|
|
|
bra LCDCB
|
|
|
|
LCDD3: iny
|
|
|
|
LCDD4: dex
|
|
|
|
bne LCDCB
|
|
|
|
LCDD7: jsr LCE25
|
|
|
|
sty $0479
|
|
|
|
ply
|
|
|
|
plx
|
|
|
|
rts
|
|
|
|
|
|
|
|
eor ($55)
|
|
|
|
lsr a:$0D
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp $5349
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
.byte $54
|
|
|
|
ora $FF00
|
2021-11-07 02:41:09 +00:00
|
|
|
LCDEC: sta WRCARDRAM
|
2021-11-07 02:16:53 +00:00
|
|
|
lda #$00
|
|
|
|
tax
|
|
|
|
LCDF2: sta $0200,x
|
|
|
|
inx
|
|
|
|
cpx #$0C
|
|
|
|
bcc LCDF2
|
|
|
|
LCDFA: lda LCDD4,x
|
|
|
|
cmp #$FF
|
|
|
|
.byte $F0
|
|
|
|
LCE00: asl $9D
|
|
|
|
brk
|
|
|
|
.byte $02
|
|
|
|
inx
|
|
|
|
bra LCDFA
|
2021-11-07 02:41:09 +00:00
|
|
|
sta WRMAINRAM
|
2021-11-07 02:16:53 +00:00
|
|
|
stz $0579
|
|
|
|
LCE0D: jsr LCDA8
|
|
|
|
sta $04F9
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp extra::LC5FA
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
LCE16: pha
|
2021-11-07 02:41:09 +00:00
|
|
|
lda RDRAMRD
|
|
|
|
sta RDMAINRAM
|
2021-11-07 02:51:44 +00:00
|
|
|
sta OURCV
|
2021-11-07 02:41:09 +00:00
|
|
|
sta RDCARDRAM
|
2021-11-07 02:16:53 +00:00
|
|
|
pla
|
|
|
|
rts
|
|
|
|
|
|
|
|
LCE25: pha
|
2021-11-07 02:41:09 +00:00
|
|
|
sta RDMAINRAM
|
2021-11-07 02:51:44 +00:00
|
|
|
lda OURCV
|
2021-11-07 02:16:53 +00:00
|
|
|
bpl LCE31
|
2021-11-07 02:41:09 +00:00
|
|
|
sta RDCARDRAM
|
2021-11-07 02:16:53 +00:00
|
|
|
LCE31: pla
|
|
|
|
rts
|
|
|
|
|
|
|
|
LCE33: lda #$00
|
2021-11-07 02:41:09 +00:00
|
|
|
bit RDTEXT
|
2021-11-07 02:51:44 +00:00
|
|
|
bmi DoSETWND
|
2021-11-07 02:16:53 +00:00
|
|
|
lda #$14
|
2021-11-07 02:51:44 +00:00
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
;;; Load X,Y with address of a routine -1 (for `ROMCall`)
|
|
|
|
.macro LDXY addr
|
|
|
|
ldx #.hibyte(addr-1)
|
|
|
|
ldy #.lobyte(addr-1)
|
|
|
|
.endmacro
|
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
DoSETWND:
|
|
|
|
LDXY SETWND
|
|
|
|
bra ROMCall
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 02:51:44 +00:00
|
|
|
DoBell:
|
|
|
|
LDXY BELLB
|
|
|
|
bra ROMCall
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 02:51:44 +00:00
|
|
|
DoSETKBD:
|
|
|
|
LDXY SETKBD
|
|
|
|
bra ROMCall
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 02:51:44 +00:00
|
|
|
DoSETVID:
|
|
|
|
LDXY SETVID
|
|
|
|
bra ROMCall
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 02:51:44 +00:00
|
|
|
DoMON_VTAB:
|
|
|
|
LDXY MON_VTAB
|
|
|
|
bra ROMCall
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
DoClearEOS:
|
2021-11-07 02:51:44 +00:00
|
|
|
LDXY CLREOP
|
|
|
|
bra ROMCall
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
DoHomeAndClear:
|
2021-11-07 02:51:44 +00:00
|
|
|
LDXY HOME
|
|
|
|
bra ROMCall
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 03:26:27 +00:00
|
|
|
DoClearEOL:
|
2021-11-07 02:51:44 +00:00
|
|
|
LDXY CLREOL
|
|
|
|
;; fall through
|
|
|
|
|
|
|
|
;;; ============================================================
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; A = character, X,Y = ROM address-1 (return value to push to stack)
|
2021-11-07 02:51:44 +00:00
|
|
|
ROMCall:
|
|
|
|
sta TEMP2
|
2021-11-07 02:41:09 +00:00
|
|
|
bit RDLCRAM
|
2021-11-07 02:16:53 +00:00
|
|
|
php
|
2021-11-07 02:41:09 +00:00
|
|
|
bit RDLCBNK2
|
2021-11-07 02:16:53 +00:00
|
|
|
php
|
2021-11-07 03:06:39 +00:00
|
|
|
lda #.hibyte(LCE84-1)
|
2021-11-07 02:16:53 +00:00
|
|
|
pha
|
2021-11-07 03:06:39 +00:00
|
|
|
lda #.lobyte(LCE84-1)
|
2021-11-07 02:16:53 +00:00
|
|
|
pha
|
|
|
|
phx
|
|
|
|
phy
|
2021-11-07 02:41:09 +00:00
|
|
|
bit ROMIN2
|
2021-11-07 02:51:44 +00:00
|
|
|
lda TEMP2
|
2021-11-07 02:16:53 +00:00
|
|
|
rts
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
;;; Return from ROMCall
|
|
|
|
LCE84: plp
|
2021-11-07 02:16:53 +00:00
|
|
|
bpl LCE9A
|
|
|
|
plp
|
|
|
|
bpl LCE92
|
2021-11-07 02:41:09 +00:00
|
|
|
bit LCBANK2
|
|
|
|
bit LCBANK2
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCEAB
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LCE92: bit ROMIN
|
|
|
|
bit ROMIN
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCEAB
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LCE9A: plp
|
|
|
|
bpl LCEA5
|
2021-11-07 02:41:09 +00:00
|
|
|
bit LCBANK1
|
|
|
|
bit LCBANK1
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCEAB
|
2021-11-07 03:06:39 +00:00
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
LCEA5: .byte $2C
|
|
|
|
LCEA6: bit #$C0
|
|
|
|
bit $C089
|
2021-11-07 02:41:09 +00:00
|
|
|
LCEAB: lda BASL
|
2021-11-07 02:51:44 +00:00
|
|
|
sta OLDBASL
|
2021-11-07 02:41:09 +00:00
|
|
|
lda BASH
|
2021-11-07 02:51:44 +00:00
|
|
|
sta OLDBASH
|
2021-11-07 02:41:09 +00:00
|
|
|
lda CH
|
2021-11-07 02:51:44 +00:00
|
|
|
sta OURCH
|
2021-11-07 02:16:53 +00:00
|
|
|
rts
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LCEBB: ldy CH
|
2021-11-07 02:16:53 +00:00
|
|
|
LCEBD: phy
|
|
|
|
jsr LCED2
|
2021-11-07 02:41:09 +00:00
|
|
|
lda (BASL),y
|
2021-11-07 02:16:53 +00:00
|
|
|
LCEC3: ply
|
2021-11-07 02:41:09 +00:00
|
|
|
bit TXTPAGE1
|
2021-11-07 02:16:53 +00:00
|
|
|
rts
|
|
|
|
|
|
|
|
LCEC8: phy
|
|
|
|
pha
|
|
|
|
jsr LCED2
|
|
|
|
pla
|
2021-11-07 02:41:09 +00:00
|
|
|
sta (BASL),y
|
2021-11-07 02:16:53 +00:00
|
|
|
bra LCEC3
|
2021-11-07 02:41:09 +00:00
|
|
|
LCED2: bit RD80VID
|
2021-11-07 02:16:53 +00:00
|
|
|
bpl LCEDC
|
|
|
|
tya
|
|
|
|
lsr a
|
|
|
|
tay
|
|
|
|
bcc LCEE0
|
2021-11-07 02:41:09 +00:00
|
|
|
LCEDC: bit TXTPAGE1
|
2021-11-07 02:16:53 +00:00
|
|
|
rts
|
|
|
|
|
2021-11-07 02:41:09 +00:00
|
|
|
LCEE0: bit TXTPAGE2
|
2021-11-07 02:16:53 +00:00
|
|
|
rts
|
|
|
|
|
2021-11-07 03:06:39 +00:00
|
|
|
;;; ============================================================
|
|
|
|
|
|
|
|
;; ???
|
|
|
|
|
2021-11-07 02:16:53 +00:00
|
|
|
eor $4E
|
|
|
|
ora $4109
|
|
|
|
.byte $53
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp $5709
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
eor #$44
|
|
|
|
.byte $54
|
|
|
|
pha
|
|
|
|
ora $5309
|
|
|
|
.byte $54
|
|
|
|
eor ($09,x)
|
2021-11-07 03:06:39 +00:00
|
|
|
bbr4 $4E,$CF32
|
|
|
|
bmi $CF4F
|
2021-11-07 02:16:53 +00:00
|
|
|
.byte $54
|
|
|
|
ora #$4D
|
|
|
|
eor ($4B,x)
|
|
|
|
eor $20
|
|
|
|
.byte $53
|
|
|
|
eor $52,x
|
|
|
|
eor $20
|
|
|
|
sec
|
|
|
|
bmi LCF2B
|
|
|
|
.byte $53
|
|
|
|
.byte $54
|
|
|
|
bbr4 $52,LCF55
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $5349
|
|
|
|
jsr $4E45
|
2021-11-07 02:16:53 +00:00
|
|
|
eor ($42,x)
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp $4445
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
ora $3B0D
|
|
|
|
.byte $43
|
|
|
|
pha
|
|
|
|
eor ($4E,x)
|
|
|
|
rmb4 $45
|
|
|
|
.byte $44
|
|
|
|
.byte $20
|
|
|
|
LCF26: .byte $54
|
|
|
|
pha
|
|
|
|
eor #$53
|
|
|
|
.byte $20
|
|
|
|
LCF2B: and $312F,y
|
|
|
|
and $2F,x
|
|
|
|
sec
|
|
|
|
.byte $36
|
2021-11-07 03:06:39 +00:00
|
|
|
jsr $4F46
|
2021-11-07 02:16:53 +00:00
|
|
|
eor ($20)
|
|
|
|
pha
|
|
|
|
eor ($42,x)
|
|
|
|
eor ($20,x)
|
|
|
|
eor $5245
|
|
|
|
rmb4 $45
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $4E41
|
2021-11-07 02:16:53 +00:00
|
|
|
.byte $44
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $4F4D
|
2021-11-07 02:16:53 +00:00
|
|
|
eor $53,x
|
|
|
|
eor $20
|
|
|
|
rmb5 $52
|
|
|
|
.byte $49
|
|
|
|
LCF4F: .byte $54
|
|
|
|
eor $3A
|
|
|
|
ora $460D
|
|
|
|
LCF55: eor #$58
|
|
|
|
.byte $43
|
|
|
|
bbr4 $4C,LCF64
|
2021-11-07 02:41:09 +00:00
|
|
|
jmp $4144
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
ora #$43
|
|
|
|
bbr4 $4C,LCF6C
|
|
|
|
pha
|
|
|
|
LCF64: eor ($56,x)
|
|
|
|
eor $20
|
|
|
|
.byte $54
|
|
|
|
pha
|
|
|
|
eor $59
|
2021-11-07 02:41:09 +00:00
|
|
|
LCF6C: jsr $4843
|
2021-11-07 02:16:53 +00:00
|
|
|
eor ($4E,x)
|
|
|
|
rmb4 $45
|
|
|
|
.byte $44
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $4F43
|
|
|
|
jmp $3F20
|
2021-11-07 02:16:53 +00:00
|
|
|
|
|
|
|
ora $4309
|
|
|
|
eor $0950
|
|
|
|
bbr4 $4C,LCFC7
|
|
|
|
.byte $43
|
|
|
|
bbr4 $4C,LCF94
|
|
|
|
ora #$42
|
|
|
|
lsr $0945
|
|
|
|
rol $0932
|
|
|
|
eor $5345,y
|
|
|
|
.byte $20
|
|
|
|
.byte $2D
|
2021-11-07 02:41:09 +00:00
|
|
|
LCF94: jsr $5355
|
2021-11-07 02:16:53 +00:00
|
|
|
eor $20
|
|
|
|
.byte $54
|
|
|
|
pha
|
|
|
|
eor $49
|
|
|
|
eor ($53)
|
|
|
|
ora $4C09
|
|
|
|
.byte $44
|
|
|
|
eor ($09,x)
|
|
|
|
eor ($50,x)
|
|
|
|
bvc LCFF5
|
|
|
|
eor $43
|
|
|
|
bbr4 $4C,LCFB7
|
|
|
|
eor $4C
|
|
|
|
.byte $53
|
|
|
|
eor $20
|
|
|
|
eor $53,x
|
|
|
|
eor $20
|
2021-11-07 02:41:09 +00:00
|
|
|
LCFB7: bbr4 $55,$D00C
|
2021-11-07 02:16:53 +00:00
|
|
|
.byte $53
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $5428
|
2021-11-07 02:16:53 +00:00
|
|
|
pha
|
|
|
|
eor $59
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $494D
|
2021-11-07 02:16:53 +00:00
|
|
|
rmb4 $48
|
|
|
|
.byte $54
|
2021-11-07 02:41:09 +00:00
|
|
|
LCFC7: jsr $4148
|
2021-11-07 02:16:53 +00:00
|
|
|
lsr $45,x
|
|
|
|
ora $093B
|
|
|
|
ora #$09
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $2020
|
2021-11-07 02:16:53 +00:00
|
|
|
.byte $43
|
|
|
|
pha
|
|
|
|
eor ($4E,x)
|
|
|
|
rmb4 $45
|
|
|
|
.byte $44
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $4854
|
2021-11-07 02:16:53 +00:00
|
|
|
eor #$53
|
2021-11-07 02:41:09 +00:00
|
|
|
jsr $4F54
|
2021-11-07 02:16:53 +00:00
|
|
|
bbr4 $29,LCFF3
|
|
|
|
rol $0932
|
|
|
|
.byte $53
|
|
|
|
.byte $54
|
|
|
|
eor ($09,x)
|
|
|
|
.byte $43
|
|
|
|
bbr4 $4C,LCFFE
|
|
|
|
.byte $0D
|
|
|
|
.byte $2E
|
|
|
|
LCFF3: eor $4E
|
|
|
|
LCFF5: .byte $44
|
|
|
|
ora #$52
|
|
|
|
.byte $54
|
|
|
|
.byte $53
|
|
|
|
ora $1F0D
|
|
|
|
.byte $0D
|
|
|
|
LCFFE: .byte $3B
|
|
|
|
LCFFF: .byte $45
|