wip
This commit is contained in:
parent
dd72a916ee
commit
8f2fdae81d
|
@ -178,7 +178,7 @@ LC371: jsr LC96F
|
|||
cmp #$8D
|
||||
bne LC381
|
||||
pha
|
||||
jsr DoCLREOL
|
||||
jsr DoClearEOL
|
||||
pla
|
||||
LC381: cmp #$95
|
||||
bne LC38A
|
||||
|
@ -948,7 +948,7 @@ LC814: lda #$30
|
|||
sta MODE
|
||||
jsr LCBD7
|
||||
jsr LCE33
|
||||
jmp DoHOME
|
||||
jmp DoHomeAndClear
|
||||
|
||||
LC822: jsr LCBE1
|
||||
LC825: inc RNDL
|
||||
|
@ -960,7 +960,7 @@ LC82B: jsr LCCB8
|
|||
cmp #$06
|
||||
bcc LC840
|
||||
.byte $29
|
||||
LC838: bbr7 $8D,LC8B6
|
||||
LC838: bbr7 $8D,$C8B6
|
||||
LC83B: asl $09
|
||||
bra $C7BF ; bad disasm?
|
||||
.byte $03
|
||||
|
@ -984,7 +984,7 @@ LC859: lda $067B
|
|||
ldy CH
|
||||
cpy WNDWDTH
|
||||
bcc LC86B
|
||||
jsr LCA79
|
||||
jsr DoReturn
|
||||
LC86B: lda $067B
|
||||
bit INVFLG
|
||||
bmi LC888
|
||||
|
@ -999,7 +999,7 @@ LC86B: lda $067B
|
|||
bcs LC888
|
||||
and #$1F
|
||||
LC888: jsr LCC13
|
||||
jmp LCA71
|
||||
jmp DoForwardSpace
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
|
@ -1016,37 +1016,36 @@ DoCtrlCharOut:
|
|||
bcc DoNothing
|
||||
asl a
|
||||
tax
|
||||
jmp (LC899,x)
|
||||
jmp (jt1,x)
|
||||
|
||||
;; Jump Table
|
||||
|
||||
LC899: .byte $42
|
||||
dec LCA59
|
||||
stx $7BC8
|
||||
dex
|
||||
phy
|
||||
dec DoHOME
|
||||
adc $E6CA,y
|
||||
cmp #$E3
|
||||
cmp #$8E
|
||||
LC8AC: iny
|
||||
.byte $5C
|
||||
cmp #$EB
|
||||
cmp #$8E
|
||||
iny
|
||||
stx $FEC8
|
||||
LC8B6: cmp #$05
|
||||
wai
|
||||
tay
|
||||
dex
|
||||
bbr1 $CA,$C847
|
||||
dex
|
||||
bbs0 $CA,$C8E8
|
||||
dex
|
||||
adc ($CA),y
|
||||
ror $CE
|
||||
LC8C7: asl $CA,x
|
||||
adc #$CA
|
||||
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
|
||||
.addr XC9F8 ; $1E Ctrl-^ ???
|
||||
.addr DoUp ; $1F Ctrl-_ Up
|
||||
|
||||
;;; ============================================================
|
||||
;;; GetLn handling
|
||||
|
@ -1155,7 +1154,10 @@ LC958: ora $A9
|
|||
.byte $8D
|
||||
LC95B: rts
|
||||
|
||||
LC95C: bit RD80VID
|
||||
;;; ============================================================
|
||||
|
||||
Do40Col:
|
||||
bit RD80VID
|
||||
php
|
||||
jsr LCBD0
|
||||
jsr LCAFA
|
||||
|
@ -1216,20 +1218,32 @@ LC9C0: lda CH
|
|||
LC9CA: sta CH
|
||||
LC9CC: rts
|
||||
|
||||
LC9CD: jsr LCA69
|
||||
LC9CD: jsr DoUp
|
||||
bra LC9DF
|
||||
jsr LCA7B
|
||||
jsr DoLineFeed
|
||||
bra LC9DF
|
||||
jsr LCA71
|
||||
jsr DoForwardSpace
|
||||
bra LC9DF
|
||||
jsr LCA59
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
jsr DoBackspace
|
||||
LC9DF: lda #$80
|
||||
bra LCA28
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoInverse:
|
||||
ldy #$3F
|
||||
bit $FFA0
|
||||
.byte OPC_BIT_abs ; skip next instruction
|
||||
DoNormal:
|
||||
ldy #$FF
|
||||
sty INVFLG
|
||||
LC9EA: rts
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
Do80Col:
|
||||
bit RD80VID
|
||||
php
|
||||
jsr LCBD7
|
||||
|
@ -1239,7 +1253,10 @@ LC9EA: rts
|
|||
bmi LC9EA
|
||||
jmp LCC18
|
||||
|
||||
jsr LC95C
|
||||
;;; ============================================================
|
||||
|
||||
DoQuit:
|
||||
jsr Do40Col
|
||||
jsr DoSETVID
|
||||
jsr DoSETKBD
|
||||
lda #$17
|
||||
|
@ -1250,13 +1267,25 @@ LC9EA: rts
|
|||
lda #$98
|
||||
rts
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
XC9F8:
|
||||
lda #$FC
|
||||
jsr LCA21
|
||||
lda #$32
|
||||
bra LCA28
|
||||
lda #$40
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoDisableMouseText:
|
||||
lda #$40 ; BUG! Should be ~$40
|
||||
LCA21: and MODE
|
||||
bra LCA2B
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
|
||||
DoEnableMouseText:
|
||||
lda #$40
|
||||
LCA28: ora MODE
|
||||
LCA2B: sta MODE
|
||||
|
@ -1285,52 +1314,85 @@ LCA54: pla
|
|||
sta $05F8
|
||||
rts
|
||||
|
||||
LCA59: lda CH
|
||||
;;; ============================================================
|
||||
|
||||
DoBackspace:
|
||||
lda CH
|
||||
beq LCA60
|
||||
dec CH
|
||||
LCA5F: rts
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
LCA60: lda CV
|
||||
beq LCA5F
|
||||
lda WNDWDTH
|
||||
dec a
|
||||
sta CH
|
||||
LCA69: lda CV
|
||||
|
||||
DoUp: lda CV
|
||||
beq LCA5F
|
||||
dec CV
|
||||
bra LCAA5
|
||||
LCA71: inc CH
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoForwardSpace:
|
||||
inc CH
|
||||
lda CH
|
||||
cmp WNDWDTH
|
||||
bcc LCA5F
|
||||
LCA79: stz CH
|
||||
LCA7B: lda CV
|
||||
;; fall through
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoReturn:
|
||||
stz CH
|
||||
;; fall through
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoLineFeed:
|
||||
lda CV
|
||||
cmp #$FF
|
||||
beq LCA85
|
||||
cmp #$17
|
||||
bcs LCAA8
|
||||
bcs DoScrollUp
|
||||
LCA85: inc CV
|
||||
bra LCAA5
|
||||
LCA89: lda WNDTOP
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoHome:
|
||||
lda WNDTOP
|
||||
ldx #$00
|
||||
bra LCAA1
|
||||
LCA8F: lda CH
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoClearLine:
|
||||
lda CH
|
||||
pha
|
||||
stz CH
|
||||
jsr DoCLREOL
|
||||
jsr DoClearEOL
|
||||
pla
|
||||
sta CH
|
||||
rts
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
LCA9B: lda $06F8
|
||||
ldx $0778
|
||||
LCAA1: stx CH
|
||||
LCAA3: sta CV
|
||||
LCAA5: jmp DoMON_VTAB
|
||||
|
||||
LCAA8: lda CH
|
||||
;;; ============================================================
|
||||
|
||||
DoScrollUp:
|
||||
lda CH
|
||||
pha
|
||||
jsr LCA89
|
||||
jsr DoHome
|
||||
LCAAE: ldy BASH
|
||||
sty BAS2H
|
||||
ldy BASL
|
||||
|
@ -1366,7 +1428,7 @@ LCADA: bit TXTPAGE1
|
|||
bit TXTPAGE1
|
||||
bra LCAAE
|
||||
LCAF0: stz CH
|
||||
jsr DoCLREOL
|
||||
jsr DoClearEOL
|
||||
plx
|
||||
lda CV
|
||||
bra LCAA1
|
||||
|
@ -1376,6 +1438,9 @@ LCAFA: lda CV
|
|||
sta $0778
|
||||
rts
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoScroll:
|
||||
jsr LCAFA
|
||||
lda WNDBTM
|
||||
dec a
|
||||
|
@ -1414,7 +1479,7 @@ LCB38: lda (BAS2L),y
|
|||
bra LCB0F
|
||||
LCB4F: lda #$00
|
||||
jsr LCAA3
|
||||
jsr LCA8F
|
||||
jsr DoClearLine
|
||||
bit TXTPAGE1
|
||||
jmp LCA9B
|
||||
|
||||
|
@ -1826,19 +1891,19 @@ DoMON_VTAB:
|
|||
|
||||
;;; ============================================================
|
||||
|
||||
DoCLREOP:
|
||||
DoClearEOS:
|
||||
LDXY CLREOP
|
||||
bra ROMCall
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoHOME:
|
||||
DoHomeAndClear:
|
||||
LDXY HOME
|
||||
bra ROMCall
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
DoCLREOL:
|
||||
DoClearEOL:
|
||||
LDXY CLREOL
|
||||
;; fall through
|
||||
|
||||
|
|
Loading…
Reference in New Issue