This commit is contained in:
Joshua Bell 2021-11-06 19:51:44 -07:00
parent d8936b62d2
commit 13e7100650

View File

@ -31,6 +31,8 @@ RNDH := $4F
;;; Page 3 Vectors ;;; Page 3 Vectors
XFERVEC := $3ED XFERVEC := $3ED
L03F0 := $3F0 ; ???
L03FE := $3FE ; ???
;;; Screen Holes ;;; Screen Holes
@ -112,11 +114,6 @@ CLREOP := $FC42
HOME := $FC58 HOME := $FC58
CLREOL := $FC9C CLREOL := $FC9C
;;; ============================================================
L03F0 := $03F0
L03FE := $03FE
;;; ============================================================ ;;; ============================================================
.org $C300 .org $C300
@ -154,9 +151,9 @@ LC33B: jsr extra_LC5FA
jmp LCC06 jmp LCC06
LC341: jsr LC3C4 LC341: jsr LC3C4
sta $04F8 sta SAVEA
stx $0578 stx SAVEX
sty $0478 sty SAVEY
pha pha
bvc LC354 bvc LC354
jsr LC806 jsr LC806
@ -166,7 +163,7 @@ LC354: php
plp plp
pla pla
bcc LC397 bcc LC397
ldx $0578 ldx SAVEX
beq LC371 beq LC371
dex dex
lda $0678 lda $0678
@ -181,7 +178,7 @@ LC371: jsr LC96F
cmp #$8D cmp #$8D
bne LC381 bne LC381
pha pha
jsr LCE66 jsr DoCLREOL
pla pla
LC381: cmp #$95 LC381: cmp #$95
bne LC38A bne LC38A
@ -193,21 +190,21 @@ LC38F: jsr LC822
stz $0678 stz $0678
LC395: bra LC39D LC395: bra LC39D
LC397: jsr LC849 LC397: jsr LC849
lda $04F8 lda SAVEA
LC39D: ldx $0578 LC39D: ldx SAVEX
ldy CH ldy CH
sty $057B sty OURCH
sty $06FB sty XCOORD
ldy $0478 ldy SAVEY
jmp extra_LC5FA jmp extra_LC5FA
LC3AE: lda #$80 LC3AE: lda #$80
tsb $04FB tsb MODE
jsr LC822 jsr LC822
jsr LC8CB jsr LC8CB
cmp #$98 cmp #$98
beq LC38A beq LC38A
lda $04FB lda MODE
bmi LC3AE bmi LC3AE
bra LC371 bra LC371
LC3C4: php LC3C4: php
@ -697,11 +694,12 @@ LC684: jsr LC5FA
brk brk
brk brk
brk brk
ldy #$56
ldy #$56 ; ???
sty A1L sty A1L
sec sec
clv clv
jmp LCE51 jmp $CE51
nop nop
nop nop
@ -935,10 +933,10 @@ LC806: lda #$05
sta $36 sta $36
stx $37 stx $37
LC814: lda #$30 LC814: lda #$30
sta $04FB sta MODE
jsr LCBD7 jsr LCBD7
jsr LCE33 jsr LCE33
jmp LCE60 jmp DoHOME
LC822: jsr LCBE1 LC822: jsr LCBE1
LC825: inc RNDL LC825: inc RNDL
@ -962,7 +960,7 @@ LC847: pla
LC849: sta $067B LC849: sta $067B
LC84C: jsr LC92A LC84C: jsr LC92A
lda $04FB lda MODE
and #$03 and #$03
beq LC859 beq LC859
jmp LCA2F jmp LCA2F
@ -979,7 +977,7 @@ LC86B: lda $067B
bit INVFLG bit INVFLG
bmi LC888 bmi LC888
and #$7F and #$7F
bit $04FB bit MODE
bvs LC888 bvs LC888
bit ALTCHARSET bit ALTCHARSET
bpl LC888 bpl LC888
@ -1004,7 +1002,7 @@ LC899: .byte $42
stx $7BC8 stx $7BC8
dex dex
phy phy
dec LCE60 dec DoHOME
adc $E6CA,y adc $E6CA,y
cmp #$E3 cmp #$E3
cmp #$8E cmp #$8E
@ -1167,9 +1165,9 @@ LC9B4: bit RD80VID
asl WNDWDTH asl WNDWDTH
sta SET80COL sta SET80COL
LC9C0: lda CH LC9C0: lda CH
cmp $06FB cmp XCOORD
bne LC9CA bne LC9CA
lda $057B lda OURCH
LC9CA: sta CH LC9CA: sta CH
LC9CC: rts LC9CC: rts
@ -1197,13 +1195,13 @@ LC9EA: rts
jmp LCC18 jmp LCC18
jsr LC95C jsr LC95C
jsr LCE4E jsr DoSETVID
jsr LCE48 jsr DoSETKBD
lda #$17 lda #$17
ldx #$00 ldx #$00
jsr LCAA1 jsr LCAA1
lda #$FF lda #$FF
sta $04FB sta MODE
lda #$98 lda #$98
rts rts
@ -1212,11 +1210,11 @@ LC9EA: rts
lda #$32 lda #$32
bra LCA28 bra LCA28
lda #$40 lda #$40
LCA21: and $04FB LCA21: and MODE
bra LCA2B bra LCA2B
lda #$40 lda #$40
LCA28: ora $04FB LCA28: ora MODE
LCA2B: sta $04FB LCA2B: sta MODE
rts rts
LCA2F: lda $067B LCA2F: lda $067B
@ -1224,8 +1222,8 @@ LCA2F: lda $067B
sbc #$20 sbc #$20
and #$7F and #$7F
pha pha
dec $04FB dec MODE
lda $04FB lda MODE
and #$03 and #$03
bne LCA54 bne LCA54
pla pla
@ -1274,7 +1272,7 @@ LCA89: lda WNDTOP
LCA8F: lda CH LCA8F: lda CH
pha pha
stz CH stz CH
jsr LCE66 jsr DoCLREOL
pla pla
sta CH sta CH
rts rts
@ -1283,7 +1281,7 @@ LCA9B: lda $06F8
ldx $0778 ldx $0778
LCAA1: stx CH LCAA1: stx CH
LCAA3: sta CV LCAA3: sta CV
LCAA5: jmp LCE54 LCAA5: jmp DoMON_VTAB
LCAA8: lda CH LCAA8: lda CH
pha pha
@ -1323,7 +1321,7 @@ LCADA: bit TXTPAGE1
bit TXTPAGE1 bit TXTPAGE1
bra LCAAE bra LCAAE
LCAF0: stz CH LCAF0: stz CH
jsr LCE66 jsr DoCLREOL
plx plx
lda CV lda CV
bra LCAA1 bra LCAA1
@ -1378,8 +1376,8 @@ LCB4F: lda #$00
LCB5D: jsr LC814 LCB5D: jsr LC814
LCB60: jsr LCBE1 LCB60: jsr LCBE1
LCB63: ldx CH LCB63: ldx CH
stx $057B stx OURCH
stx $06FB stx XCOORD
ldx #$00 ldx #$00
rts rts
@ -1415,9 +1413,9 @@ LCBAD: ldx #$03
rts rts
LCBB1: pha LCBB1: pha
lda $077B lda OLDBASL
sta BASL sta BASL
lda $07FB lda OLDBASH
sta BASH sta BASH
stz WNDTOP stz WNDTOP
stz WNDLFT stz WNDLFT
@ -1439,17 +1437,17 @@ LCBD7: sta SET80COL
sta SETALTCHAR sta SETALTCHAR
rts rts
LCBE1: lda $04FB LCBE1: lda MODE
cmp #$FF cmp #$FF
beq LCC04 beq LCC04
and #$80 and #$80
beq LCC04 beq LCC04
jsr LCEBB jsr LCEBB
sta $047B sta OLDCH
and #$80 and #$80
eor #$AB eor #$AB
bra LCC13 bra LCC13
LCBF8: lda $04FB LCBF8: lda MODE
and #$80 and #$80
beq LCC04 beq LCC04
.byte $AD .byte $AD
@ -1725,14 +1723,14 @@ LCE0D: jsr LCDA8
LCE16: pha LCE16: pha
lda RDRAMRD lda RDRAMRD
sta RDMAINRAM sta RDMAINRAM
sta $05FB sta OURCV
sta RDCARDRAM sta RDCARDRAM
pla pla
rts rts
LCE25: pha LCE25: pha
sta RDMAINRAM sta RDMAINRAM
lda $05FB lda OURCV
bpl LCE31 bpl LCE31
sta RDCARDRAM sta RDCARDRAM
LCE31: pla LCE31: pla
@ -1740,33 +1738,55 @@ LCE31: pla
LCE33: lda #$00 LCE33: lda #$00
bit RDTEXT bit RDTEXT
bmi LCE3C bmi DoSETWND
lda #$14 lda #$14
LCE3C: ldx #$FB
ldy #$4A ;;; ============================================================
bra LCE6A
ldx #$FB ;;; Load X,Y with address of a routine -1 (for `ROMCall`)
ldy #$E1 .macro LDXY addr
bra LCE6A ldx #.hibyte(addr-1)
LCE48: ldx #$FE ldy #.lobyte(addr-1)
ldy #$88 .endmacro
bra LCE6A
LCE4E: ldx #$FE ;;; ============================================================
.byte $A0
LCE51: sta ($80) DoSETWND:
.byte $16 LDXY SETWND
LCE54: ldx #$FC bra ROMCall
ldy #$21
bra LCE6A DoBell:
ldx #$FC LDXY BELLB
ldy #$41 bra ROMCall
bra LCE6A
LCE60: ldx #$FC DoSETKBD:
ldy #$57 LDXY SETKBD
bra LCE6A bra ROMCall
LCE66: ldx #$FC
ldy #$9B DoSETVID:
LCE6A: sta $07FB LDXY SETVID
bra ROMCall
DoMON_VTAB:
LDXY MON_VTAB
bra ROMCall
DoCLREOP:
LDXY CLREOP
bra ROMCall
DoHOME:
LDXY HOME
bra ROMCall
DoCLREOL:
LDXY CLREOL
;; fall through
;;; ============================================================
ROMCall:
sta TEMP2
bit RDLCRAM bit RDLCRAM
php php
bit RDLCBNK2 bit RDLCBNK2
@ -1778,7 +1798,7 @@ LCE6A: sta $07FB
phx phx
phy phy
bit ROMIN2 bit ROMIN2
lda $07FB lda TEMP2
rts rts
plp plp
@ -1800,11 +1820,11 @@ LCEA5: .byte $2C
LCEA6: bit #$C0 LCEA6: bit #$C0
bit $C089 bit $C089
LCEAB: lda BASL LCEAB: lda BASL
sta $077B sta OLDBASL
lda BASH lda BASH
sta $07FB sta OLDBASH
lda CH lda CH
sta $057B sta OURCH
rts rts
LCEBB: ldy CH LCEBB: ldy CH