This commit is contained in:
Joshua Bell 2021-11-06 21:07:03 -07:00
parent bd5605b4bb
commit 7ab63c6e28
2 changed files with 81 additions and 67 deletions

View File

@ -862,18 +862,18 @@ LCA11: lda CHAR ; character to read/print
dec MODE ; clear low bit??? dec MODE ; clear low bit???
lda MODE lda MODE
and #$03 ; test low 2 bits and #$03 ; test low 2 bits
bne LCA36 bne @l2
pla pla
cmp #$18 ; +$20 is $38 = '8' ??? cmp #$18 ; +$20 is $38 = '8' ???
bcs LCA2C bcs @l1
jsr LCA82 jsr LCA82
LCA2C: lda $05F8 @l1: lda $05F8
cmp WNDWDTH cmp WNDWDTH
bcs :+ bcs :+
sta CH sta CH
: rts : rts
LCA36: pla @l2: pla
sta $05F8 sta $05F8
rts rts
@ -955,48 +955,50 @@ DoScrollUp:
lda CH lda CH
pha pha
jsr DoHome jsr DoHome
LCA8D: ldy BASH @l1: ldy BASH
sty BAS2H sty BAS2H
ldy BASL ldy BASL
sty BAS2L sty BAS2L
lda WNDBTM lda WNDBTM
beq LCACF beq @l5
dec a dec a
cmp CV cmp CV
beq LCACF beq @l5
bcc LCACF bcc @l5
inc CV inc CV
jsr LCA84 jsr LCA84
ldy WNDWDTH ldy WNDWDTH
dey dey
bit RD80VID bit RD80VID
bmi LCAB6 bmi @l3
LCAAD: lda (BASL),y @l2: lda (BASL),y
sta (BAS2L),y sta (BAS2L),y
dey dey
bpl LCAAD bpl @l2
bra LCA8D bra @l1
LCAB6: tya @l3: tya
lsr a lsr a
tay tay
LCAB9: bit TXTPAGE1 @l4: bit TXTPAGE1
lda (BASL),y lda (BASL),y
sta (BAS2L),y sta (BAS2L),y
bit TXTPAGE2 bit TXTPAGE2
lda (BASL),y lda (BASL),y
sta (BAS2L),y sta (BAS2L),y
dey dey
bpl LCAB9 bpl @l4
bit TXTPAGE1 bit TXTPAGE1
bra LCA8D bra @l1
LCACF: stz CH @l5: stz CH
jsr DoClearEOL jsr DoClearEOL
plx plx
lda CV lda CV
jmp LCA80 jmp LCA80
;;; ============================================================
LCADA: lda CV LCADA: lda CV
sta $06F8 sta $06F8
lda CH lda CH
@ -1025,7 +1027,7 @@ DoScroll:
dec a dec a
dec a dec a
sta $05F8 sta $05F8
LCAF6: lda $05F8 @l1: lda $05F8
jsr LCA82 jsr LCA82
lda BASL lda BASL
sta BAS2L sta BAS2L
@ -1036,28 +1038,28 @@ LCAF6: lda $05F8
jsr LCA82 jsr LCA82
ldy WNDWDTH ldy WNDWDTH
dey dey
LCB0E: phy @l2: phy
bit TXTPAGE1 bit TXTPAGE1
bit RD80VID bit RD80VID
bpl LCB1F bpl @l3
tya tya
lsr a lsr a
tay tay
bcs LCB1F bcs @l3
bit TXTPAGE2 bit TXTPAGE2
LCB1F: lda (BAS2L),y @l3: lda (BAS2L),y
sta (BASL),y sta (BASL),y
ply ply
dey dey
bpl LCB0E bpl @l2
bit TXTPAGE1 bit TXTPAGE1
lda $05F8 lda $05F8
cmp WNDTOP cmp WNDTOP
beq LCB36 beq @l4
dec $05F8 dec $05F8
bra LCAF6 bra @l1
LCB36: lda #$00 @l4: lda #$00
jsr LCA82 jsr LCA82
jsr DoClearLine jsr DoClearLine
bit TXTPAGE1 bit TXTPAGE1
@ -1105,16 +1107,16 @@ LCB7D: stz CH
PascalStatus: PascalStatus:
cmp #$00 cmp #$00
beq LCB8E beq @l1
cmp #$01 cmp #$01
bne LCB91 bne @l2
jsr LCD09 jsr LCD09
bra LCB4A bra LCB4A
LCB8E: sec @l1: sec
bra LCB4A bra LCB4A
LCB91: ldx #$03 @l2: ldx #$03
clc clc
rts rts

View File

@ -174,7 +174,7 @@ LC354: php
sta $0200,x sta $0200,x
LC371: jsr LC96F LC371: jsr LC96F
cmp #$9B cmp #$9B
beq LC3AE beq EscapeMode
cmp #$8D cmp #$8D
bne LC381 bne LC381
pha pha
@ -198,15 +198,22 @@ LC39D: ldx SAVEX
ldy SAVEY ldy SAVEY
jmp extra_LC5FA jmp extra_LC5FA
LC3AE: lda #$80 ;;; ============================================================
;;; Escape Mode
EscapeMode:
lda #M_ESC
tsb MODE tsb MODE
jsr LC822 jsr LC822
jsr LC8CB jsr LC8CB
cmp #$98 cmp #$98
beq LC38A beq LC38A
lda MODE lda MODE
bmi LC3AE bmi EscapeMode
bra LC371 bra LC371
;;; ============================================================
LC3C4: php LC3C4: php
sei sei
pha pha
@ -944,7 +951,7 @@ LC806: lda #$05
lda #$07 lda #$07
sta $36 sta $36
stx $37 stx $37
LC814: lda #$30 LC814: lda #$30 ; ???
sta MODE sta MODE
jsr LCBD7 jsr LCBD7
jsr LCE33 jsr LCE33
@ -1123,16 +1130,18 @@ jt2:
LC92A: LC92A:
lda KBD lda KBD
cmp #$93 cmp #$93 ; Ctrl-S
bne LC940 bne @l3
bit KBDSTRB bit KBDSTRB
LC934: lda KBD @l1: lda KBD
bpl LC934 bpl @l1
cmp #$83 cmp #$83 ; Ctrl-C
beq LC940 beq @l3
.byte $2C .byte $2C
LC93E: bpl $C900 @l2: bpl $C900
LC940: rts @l3: rts
;;; ============================================================
LC941: ldy #$00 LC941: ldy #$00
ldx #$00 ldx #$00
@ -1145,9 +1154,9 @@ LC945: cpy WNDWDTH
bra LC945 bra LC945
LC953: dey LC953: dey
sty CH sty CH
.byte $8E .byte $8E ; bad disasm
sei sei
LC958: ora $A9 ora $A9
.byte $8D .byte $8D
LC95B: rts LC95B: rts
@ -1158,13 +1167,13 @@ Do40Col:
php php
jsr LCBD0 jsr LCBD0
jsr LCAFA jsr LCAFA
.byte $20 jsr LCE33
LC967: .byte $33 plp
LC968: .byte $CE
LC969: plp
bpl LC95B bpl LC95B
jmp LCC68 jmp LCC68
;;; ============================================================
LC96F: jsr LC822 LC96F: jsr LC822
cmp #$00 cmp #$00
beq LC997 beq LC997
@ -1181,10 +1190,12 @@ LC980: iny
jsr LCEC8 jsr LCEC8
iny iny
bra LC980 bra LC980
LC98F: dey LC98F: dey
LC990: lda #$A0 LC990: lda #$A0
jsr LCEC8 jsr LCEC8
bra LC96F bra LC96F
LC997: ldy WNDWDTH LC997: ldy WNDWDTH
dey dey
cpy CH cpy CH
@ -1305,18 +1316,18 @@ LCA2F: lda CHAR
dec MODE dec MODE
lda MODE lda MODE
and #$03 and #$03
bne LCA54 bne @l2
pla pla
cmp #$18 cmp #$18
bcs LCA4A bcs @l1
jsr LCAA3 jsr LCAA3
LCA4A: lda $05F8 @l1: lda $05F8
cmp WNDWDTH cmp WNDWDTH
bcs :+ bcs :+
sta CH sta CH
: rts : rts
LCA54: pla @l2: pla
sta $05F8 sta $05F8
rts rts
@ -1361,10 +1372,10 @@ DoReturn:
DoLineFeed: DoLineFeed:
lda CV lda CV
cmp #$FF cmp #$FF
beq LCA85 beq @l1
cmp #$17 cmp #$17
bcs DoScrollUp bcs DoScrollUp
LCA85: inc CV @l1: inc CV
bra LCAA5 bra LCAA5
;;; ============================================================ ;;; ============================================================
@ -1399,45 +1410,46 @@ DoScrollUp:
lda CH lda CH
pha pha
jsr DoHome jsr DoHome
LCAAE: ldy BASH @l1: ldy BASH
sty BAS2H sty BAS2H
ldy BASL ldy BASL
sty BAS2L sty BAS2L
lda WNDBTM lda WNDBTM
beq LCAF0 beq @l5
dec a dec a
cmp CV cmp CV
beq LCAF0 beq @l5
bcc LCAF0 bcc @l5
inc CV inc CV
jsr LCAA5 jsr LCAA5
ldy WNDWDTH ldy WNDWDTH
dey dey
bit RD80VID bit RD80VID
bmi LCAD7 bmi @l3
LCACE: lda (BASL),y @l2: lda (BASL),y
sta (BAS2L),y sta (BAS2L),y
dey dey
bpl LCACE bpl @l2
bra LCAAE bra @l1
LCAD7: tya @l3: tya
lsr a lsr a
tay tay
LCADA: bit TXTPAGE1 @l4: bit TXTPAGE1
lda (BASL),y lda (BASL),y
sta (BAS2L),y sta (BAS2L),y
bit TXTPAGE2 bit TXTPAGE2
lda (BASL),y lda (BASL),y
sta (BAS2L),y sta (BAS2L),y
dey dey
bpl LCADA bpl @l4
bit TXTPAGE1 bit TXTPAGE1
bra LCAAE bra @l1
LCAF0: stz CH @l5: stz CH
jsr DoClearEOL jsr DoClearEOL
plx plx
lda CV lda CV
bra LCAA1 bra LCAA1
LCAFA: lda CV LCAFA: lda CV
sta $06F8 sta $06F8
lda CH lda CH