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.SCROLLBOT .EQ 6
S.DCB.TTY.bCURON .EQ 7
S.DCB.TTY.CURCHAR .EQ 8
S.DCB.TTY.bINVERSE .EQ 9
S.DCB.TTY.bLINEWRAP .EQ 10
S.DCB.TTY.bTITLE .EQ 13
S.DCB.TTY.bINVERSE .EQ 8
S.DCB.TTY.bLINEWRAP .EQ 9
S.DCB.TTY.bTITLE .EQ 10
*
*
*
S.DCB.TTY.OUTTAIL .EQ 14
S.DCB.TTY.OUTHEAD .EQ 15
S.DCB.TTY.INBUFFER .EQ 16

View File

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

View File

@ -16,6 +16,7 @@ DRV.TERM.SETUP.L1X
bit bActive
bpl DRV.TERM.SETUP.L1X.8
DRV.TERM.SETUP.L1X.SCR
lda SCR.BASEL,x
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.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
.DA #S.TTYBUF.SCRBUF+80
.DA #S.TTYBUF.SCRBUF+160
.DA #S.TTYBUF.SCRBUF+240
.DA #S.TTYBUF.SCRBUF+320
.DA #S.TTYBUF.SCRBUF+400
.DA #S.TTYBUF.SCRBUF+480
.DA #S.TTYBUF.SCRBUF+560
.DA #S.TTYBUF.SCRBUF+640
.DA #S.TTYBUF.SCRBUF+720
.DA #S.TTYBUF.SCRBUF+800
.DA #S.TTYBUF.SCRBUF+880
.DA #S.TTYBUF.SCRBUF+960
.DA #S.TTYBUF.SCRBUF+1040
.DA #S.TTYBUF.SCRBUF+1120
.DA #S.TTYBUF.SCRBUF+1200
.DA #S.TTYBUF.SCRBUF+1280
.DA #S.TTYBUF.SCRBUF+1360
.DA #S.TTYBUF.SCRBUF+1440
.DA #S.TTYBUF.SCRBUF+1520
.DA #S.TTYBUF.SCRBUF+1600
.DA #S.TTYBUF.SCRBUF+1680
.DA #S.TTYBUF.SCRBUF+1760
.DA #S.TTYBUF.SCRBUF+1840
BUF.BASEH .DA /S.TTYBUF.SCRBUF
.DA /S.TTYBUF.SCRBUF+80
.DA /S.TTYBUF.SCRBUF+160
.DA /S.TTYBUF.SCRBUF+240
.DA /S.TTYBUF.SCRBUF+320
.DA /S.TTYBUF.SCRBUF+400
.DA /S.TTYBUF.SCRBUF+480
.DA /S.TTYBUF.SCRBUF+560
.DA /S.TTYBUF.SCRBUF+640
.DA /S.TTYBUF.SCRBUF+720
.DA /S.TTYBUF.SCRBUF+800
.DA /S.TTYBUF.SCRBUF+880
.DA /S.TTYBUF.SCRBUF+960
.DA /S.TTYBUF.SCRBUF+1040
.DA /S.TTYBUF.SCRBUF+1120
.DA /S.TTYBUF.SCRBUF+1200
.DA /S.TTYBUF.SCRBUF+1280
.DA /S.TTYBUF.SCRBUF+1360
.DA /S.TTYBUF.SCRBUF+1440
.DA /S.TTYBUF.SCRBUF+1520
.DA /S.TTYBUF.SCRBUF+1600
.DA /S.TTYBUF.SCRBUF+1680
.DA /S.TTYBUF.SCRBUF+1760
.DA /S.TTYBUF.SCRBUF+1840
BUF.BASEL .DA #0
.DA #80
.DA #160
.DA #240
.DA #320
.DA #400
.DA #480
.DA #560
.DA #640
.DA #720
.DA #800
.DA #880
.DA #960
.DA #1040
.DA #1120
.DA #1200
.DA #1280
.DA #1360
.DA #1440
.DA #1520
.DA #1600
.DA #1680
.DA #1760
.DA #1840
BUF.BASEH .DA /0
.DA /80
.DA /160
.DA /240
.DA /320
.DA /400
.DA /480
.DA /560
.DA /640
.DA /720
.DA /800
.DA /880
.DA /960
.DA /1040
.DA /1120
.DA /1200
.DA /1280
.DA /1360
.DA /1440
.DA /1520
.DA /1600
.DA /1680
.DA /1760
.DA /1840
*--------------------------------------
DRV.TERM.CLRSCR ldx #23
sta SET80STORE
@ -140,10 +141,7 @@ DRV.TERM.SCRCPY ldx #23
adc BUF.BASEH,x
sta .80+2
lda SCR.BASEL,x
sta ZPScrBaseL1
lda SCR.BASEH,x
sta ZPScrBaseL1+1
jsr DRV.TERM.SETUP.L1X.SCR
phx
@ -202,6 +200,7 @@ DRV.TERM.COPY.XtoL1
sta ZPScrBaseL2
lda SCR.BASEH,x
sta ZPScrBaseL2+1
sta SET80STORE
sta SETPAGE2
@ -217,6 +216,26 @@ DRV.TERM.COPY.XtoL1
bpl .7
.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
ldy #S.DCB.TTY.CV
lda (ZPDCBPtr),y