Kernel 0.92

This commit is contained in:
Rémy GIBERT 2018-12-17 11:40:00 +01:00
parent 2120025d9f
commit 18ed4d66be
4 changed files with 103 additions and 86 deletions

Binary file not shown.

View File

@ -152,11 +152,12 @@ S.DCB.TTY.CV .EQ 4
S.DCB.TTY.SCROLLTOP .EQ 5 S.DCB.TTY.SCROLLTOP .EQ 5
S.DCB.TTY.SCROLLBOT .EQ 6 S.DCB.TTY.SCROLLBOT .EQ 6
S.DCB.TTY.bCURON .EQ 7 S.DCB.TTY.bCURON .EQ 7
S.DCB.TTY.CURCHAR .EQ 8 S.DCB.TTY.bINVERSE .EQ 8
S.DCB.TTY.bINVERSE .EQ 9 S.DCB.TTY.bLINEWRAP .EQ 9
S.DCB.TTY.bLINEWRAP .EQ 10 S.DCB.TTY.bTITLE .EQ 10
*
S.DCB.TTY.bTITLE .EQ 13 *
*
S.DCB.TTY.OUTTAIL .EQ 14 S.DCB.TTY.OUTTAIL .EQ 14
S.DCB.TTY.OUTHEAD .EQ 15 S.DCB.TTY.OUTHEAD .EQ 15
S.DCB.TTY.INBUFFER .EQ 16 S.DCB.TTY.INBUFFER .EQ 16

View File

@ -654,7 +654,7 @@ Csi.Home lda CsiParamCnt
sta (ZPDCBPtr),y sta (ZPDCBPtr),y
dec CsiParamCnt dec CsiParamCnt
beq .8 beq Csi.Home.8
ldx #1 ldx #1
lda CsiParams+1 lda CsiParams+1
@ -672,7 +672,7 @@ Csi.Home lda CsiParamCnt
ldy #S.DCB.TTY.CH ldy #S.DCB.TTY.CH
sta (ZPDCBPtr),y sta (ZPDCBPtr),y
.8 clc Csi.Home.8 clc
rts rts
*-------------------------------------- *--------------------------------------
DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER
@ -685,7 +685,7 @@ DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER
sta (ZPDCBPtr),y sta (ZPDCBPtr),y
cpy #S.DCB.TTY.INBUFFER+1 CMD ? cpy #S.DCB.TTY.INBUFFER+1 CMD ?
beq .8 yes, wait for additional bytes beq Csi.Home.8 yes, wait for additional bytes
ldy #S.DCB.TTY.INBUFFER+1 ldy #S.DCB.TTY.INBUFFER+1
lda (ZPDCBPtr),y get back CMD lda (ZPDCBPtr),y get back CMD
@ -694,7 +694,7 @@ DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER
lda (ZPBufPtr) lda (ZPBufPtr)
cmp #SE cmp #SE
bne .8 wait for ending SE....keep bIACMode bne Csi.Home.8 wait for ending SE....keep bIACMode
.1 cmp #IAC .1 cmp #IAC
beq .9 beq .9
@ -708,15 +708,13 @@ DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER
lda (ZPDCBPtr),y Get SUBCMD in A lda (ZPDCBPtr),y Get SUBCMD in A
cpx #10 cpx #10
bcs * bcc .8
jmp (J.COUT.IAC.CMDS,x)
.9 bra RESET.MODE .9 bra RESET.MODE
.8 clc .8 jmp (.80,x)
rts
*-------------------------------------- .80 .DA COUT.IAC.SB
J.COUT.IAC.CMDS .DA COUT.IAC.SB
.DA COUT.IAC.WILL .DA COUT.IAC.WILL
.DA COUT.IAC.WONT .DA COUT.IAC.WONT
.DA COUT.IAC.DO .DA COUT.IAC.DO
@ -812,20 +810,6 @@ RESET.MODE lda #0
clc clc
rts rts
*-------------------------------------- *--------------------------------------
RESET.VALUES .DA #0 S.DCB.TTY.MODE
.DA #0 S.DCB.TTY.CH
.DA #0 S.DCB.TTY.CV
.DA #0 S.DCB.TTY.SCROLLTOP
.DA #23 S.DCB.TTY.SCROLLBOT
.DA #0 S.DCB.TTY.bCURON
.DA #0 S.DCB.TTY.CURCHAR
.DA #$80 S.DCB.TTY.bINVERSE
.DA #$80 S.DCB.TTY.bLINEWRAP
.DA #0 S.DCB.TTY.bTITLE
.DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTTAIL
.DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTHEAD
.DA #S.DCB.TTY.INBUFFER S.DCB.TTY.INBUFFER
*--------------------------------------
RESET ldy #1 RESET ldy #1
.1 iny .1 iny
@ -986,18 +970,15 @@ DRV.TERM.CURBLNK
bne DRV.TERM.CURBLNK.OFF bne DRV.TERM.CURBLNK.OFF
jsr GetCharAtCurPos jsr GetCharAtCurPos
ldy #S.DCB.TTY.CURCHAR
sta (ZPDCBPtr),y
and #$80 and #$80
eor #" " eor #" "
bra DRV.TERM.CURBLNK.SET bra DRV.TERM.CURBLNK.SET
DRV.TERM.CURBLNK.OFF DRV.TERM.CURBLNK.OFF
ldy #S.DCB.TTY.CURCHAR jsr GetCharAtCurPos
lda (ZPDCBPtr),y
DRV.TERM.CURBLNK.SET DRV.TERM.CURBLNK.SET
jsr SetCharAtCurPos jsr SetCharAtCurPos.SCR
ldy #S.DCB.TTY.bCURON ldy #S.DCB.TTY.bCURON
lda (ZPDCBPtr),y lda (ZPDCBPtr),y
@ -1204,6 +1185,22 @@ DRV.TERM.Title.OFF
sta (ZPDCBPtr),y sta (ZPDCBPtr),y
jmp DRV.TERM.LINE0CPY jmp DRV.TERM.LINE0CPY
*-------------------------------------- *--------------------------------------
RESET.VALUES .DA #0 S.DCB.TTY.MODE
.DA #0 S.DCB.TTY.CH
.DA #0 S.DCB.TTY.CV
.DA #0 S.DCB.TTY.SCROLLTOP
.DA #23 S.DCB.TTY.SCROLLBOT
.DA #0 S.DCB.TTY.bCURON
.DA #$80 S.DCB.TTY.bINVERSE
.DA #$80 S.DCB.TTY.bLINEWRAP
.DA #0 S.DCB.TTY.bTITLE
.DA #0
.DA #0
.DA #0
.DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTTAIL
.DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTHEAD
.DA #S.DCB.TTY.INBUFFER S.DCB.TTY.INBUFFER
*--------------------------------------
CtrlChars .HS 05080A0C0D151B CtrlChars .HS 05080A0C0D151B
CtrlChars.Cnt .EQ *-CtrlChars CtrlChars.Cnt .EQ *-CtrlChars
*-------------------------------------- *--------------------------------------

View File

@ -16,6 +16,7 @@ DRV.TERM.SETUP.L1X
bit bActive bit bActive
bpl DRV.TERM.SETUP.L1X.8 bpl DRV.TERM.SETUP.L1X.8
DRV.TERM.SETUP.L1X.SCR DRV.TERM.SETUP.L1X.SCR
lda SCR.BASEL,x lda SCR.BASEL,x
sta ZPScrBaseL1 sta ZPScrBaseL1
@ -27,54 +28,54 @@ DRV.TERM.SETUP.L1X.8
SCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 SCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0
SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07 SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07
*-------------------------------------- *--------------------------------------
BUF.BASEL .DA #S.TTYBUF.SCRBUF BUF.BASEL .DA #0
.DA #S.TTYBUF.SCRBUF+80 .DA #80
.DA #S.TTYBUF.SCRBUF+160 .DA #160
.DA #S.TTYBUF.SCRBUF+240 .DA #240
.DA #S.TTYBUF.SCRBUF+320 .DA #320
.DA #S.TTYBUF.SCRBUF+400 .DA #400
.DA #S.TTYBUF.SCRBUF+480 .DA #480
.DA #S.TTYBUF.SCRBUF+560 .DA #560
.DA #S.TTYBUF.SCRBUF+640 .DA #640
.DA #S.TTYBUF.SCRBUF+720 .DA #720
.DA #S.TTYBUF.SCRBUF+800 .DA #800
.DA #S.TTYBUF.SCRBUF+880 .DA #880
.DA #S.TTYBUF.SCRBUF+960 .DA #960
.DA #S.TTYBUF.SCRBUF+1040 .DA #1040
.DA #S.TTYBUF.SCRBUF+1120 .DA #1120
.DA #S.TTYBUF.SCRBUF+1200 .DA #1200
.DA #S.TTYBUF.SCRBUF+1280 .DA #1280
.DA #S.TTYBUF.SCRBUF+1360 .DA #1360
.DA #S.TTYBUF.SCRBUF+1440 .DA #1440
.DA #S.TTYBUF.SCRBUF+1520 .DA #1520
.DA #S.TTYBUF.SCRBUF+1600 .DA #1600
.DA #S.TTYBUF.SCRBUF+1680 .DA #1680
.DA #S.TTYBUF.SCRBUF+1760 .DA #1760
.DA #S.TTYBUF.SCRBUF+1840 .DA #1840
BUF.BASEH .DA /S.TTYBUF.SCRBUF BUF.BASEH .DA /0
.DA /S.TTYBUF.SCRBUF+80 .DA /80
.DA /S.TTYBUF.SCRBUF+160 .DA /160
.DA /S.TTYBUF.SCRBUF+240 .DA /240
.DA /S.TTYBUF.SCRBUF+320 .DA /320
.DA /S.TTYBUF.SCRBUF+400 .DA /400
.DA /S.TTYBUF.SCRBUF+480 .DA /480
.DA /S.TTYBUF.SCRBUF+560 .DA /560
.DA /S.TTYBUF.SCRBUF+640 .DA /640
.DA /S.TTYBUF.SCRBUF+720 .DA /720
.DA /S.TTYBUF.SCRBUF+800 .DA /800
.DA /S.TTYBUF.SCRBUF+880 .DA /880
.DA /S.TTYBUF.SCRBUF+960 .DA /960
.DA /S.TTYBUF.SCRBUF+1040 .DA /1040
.DA /S.TTYBUF.SCRBUF+1120 .DA /1120
.DA /S.TTYBUF.SCRBUF+1200 .DA /1200
.DA /S.TTYBUF.SCRBUF+1280 .DA /1280
.DA /S.TTYBUF.SCRBUF+1360 .DA /1360
.DA /S.TTYBUF.SCRBUF+1440 .DA /1440
.DA /S.TTYBUF.SCRBUF+1520 .DA /1520
.DA /S.TTYBUF.SCRBUF+1600 .DA /1600
.DA /S.TTYBUF.SCRBUF+1680 .DA /1680
.DA /S.TTYBUF.SCRBUF+1760 .DA /1760
.DA /S.TTYBUF.SCRBUF+1840 .DA /1840
*-------------------------------------- *--------------------------------------
DRV.TERM.CLRSCR ldx #23 DRV.TERM.CLRSCR ldx #23
sta SET80STORE sta SET80STORE
@ -140,10 +141,7 @@ DRV.TERM.SCRCPY ldx #23
adc BUF.BASEH,x adc BUF.BASEH,x
sta .80+2 sta .80+2
lda SCR.BASEL,x jsr DRV.TERM.SETUP.L1X.SCR
sta ZPScrBaseL1
lda SCR.BASEH,x
sta ZPScrBaseL1+1
phx phx
@ -202,6 +200,7 @@ DRV.TERM.COPY.XtoL1
sta ZPScrBaseL2 sta ZPScrBaseL2
lda SCR.BASEH,x lda SCR.BASEH,x
sta ZPScrBaseL2+1 sta ZPScrBaseL2+1
sta SET80STORE sta SET80STORE
sta SETPAGE2 sta SETPAGE2
@ -217,6 +216,26 @@ DRV.TERM.COPY.XtoL1
bpl .7 bpl .7
.8 rts .8 rts
*-------------------------------------- *--------------------------------------
SetCharAtCurPos.SCR
pha
ldy #S.DCB.TTY.CV
lda (ZPDCBPtr),y
tax
dey
lda (ZPDCBPtr),y
tay CH
jsr DRV.TERM.SETUP.L1X.SCR
pla
cmp #$40
bcc .1
cmp #$5F
bcs .1
and #$3F
.1 bra SetCharAtY.SCR
SetCharAtCurPos pha SetCharAtCurPos pha
ldy #S.DCB.TTY.CV ldy #S.DCB.TTY.CV
lda (ZPDCBPtr),y lda (ZPDCBPtr),y