mirror of
https://github.com/A2osX/A2osX.git
synced 2026-04-20 06:17:00 +00:00
Kernel 0.93
This commit is contained in:
Binary file not shown.
+1
-2
@@ -1,6 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
SSCIRQ .EQ 0
|
||||
|
||||
+1
-2
@@ -1,6 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
SSCIRQ .EQ 1
|
||||
|
||||
+40
-5
@@ -1,6 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
AUTO 3,1
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
*--------------------------------------
|
||||
@@ -238,7 +237,7 @@ STATUS jsr STATUS.CONTROL.Init
|
||||
rts
|
||||
|
||||
STATUS.DCB cmp #S.IOCTL.STATCODE.GETDCB
|
||||
bne STATUS.9
|
||||
bne .3
|
||||
|
||||
ldy #S.DCB.COM-1
|
||||
|
||||
@@ -250,6 +249,32 @@ STATUS.DCB cmp #S.IOCTL.STATCODE.GETDCB
|
||||
clc
|
||||
rts
|
||||
|
||||
.3 cmp #S.IOCTL.STATCODE.GETRC
|
||||
bne STATUS.9
|
||||
|
||||
lda DIB+S.DIB.S
|
||||
and #S.DIB.S.OPENED
|
||||
beq .8
|
||||
|
||||
.DO SSCIRQ=1
|
||||
lda INBUF.TAIL
|
||||
eor INBUF.HEAD
|
||||
beq .4 NO DATA? eof + TRUE
|
||||
|
||||
lda #1
|
||||
|
||||
.4 dec
|
||||
clc
|
||||
rts
|
||||
.ELSE
|
||||
|
||||
|
||||
|
||||
.FIN
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
STATUS.9 lda #MLI.E.BADCTL
|
||||
sec
|
||||
rts
|
||||
@@ -268,7 +293,15 @@ CONTROL jsr STATUS.CONTROL.Init
|
||||
dey
|
||||
bpl .2
|
||||
*--------------------------------------
|
||||
OPEN php
|
||||
OPEN lda DIB+S.DIB.S
|
||||
bit #S.DIB.S.OPENED
|
||||
beq .1
|
||||
|
||||
lda #MLI.E.OPEN
|
||||
sec
|
||||
rts
|
||||
|
||||
.1 php
|
||||
sei
|
||||
|
||||
ldx DEVSLOTn08F
|
||||
@@ -392,8 +425,10 @@ READ php
|
||||
rts
|
||||
|
||||
.9 lda #C.EOF
|
||||
.HS 2C BIT ABS
|
||||
|
||||
.99 plp
|
||||
lda #E.NODATA
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
@@ -470,7 +505,7 @@ WRITE php
|
||||
clc
|
||||
rts
|
||||
|
||||
.90 lda #0
|
||||
.90 lda #E.NODATA
|
||||
.HS 2C BIT ABS
|
||||
.9 lda #C.EOF
|
||||
plp
|
||||
|
||||
+2
-2
@@ -130,9 +130,9 @@ C.LF .EQ 10
|
||||
C.VT .EQ 11
|
||||
C.FF .EQ 12
|
||||
C.CR .EQ 13
|
||||
C.SO .EQ 14
|
||||
C.SI .EQ 15
|
||||
C.FS .EQ 21
|
||||
C.S0 .EQ 24
|
||||
C.S1 .EQ 25
|
||||
C.ESC .EQ 27
|
||||
C.SPACE .EQ 32
|
||||
C.COLON .EQ 58
|
||||
|
||||
@@ -162,7 +162,7 @@ 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.bINVERSE .EQ 8
|
||||
S.DCB.TTY.bNORMAL .EQ 8
|
||||
S.DCB.TTY.bLINEWRAP .EQ 9
|
||||
S.DCB.TTY.bTITLE .EQ 10
|
||||
|
||||
|
||||
+68
-83
@@ -16,6 +16,7 @@ ZPScrBaseL2 .BS 2
|
||||
|
||||
ZPTmpWord .BS 2
|
||||
ZPTmpBool .BS 1
|
||||
ZPTmpChar .BS 1
|
||||
*--------------------------------------
|
||||
bActive .BS 1
|
||||
bCsiInNum .BS 1
|
||||
@@ -326,11 +327,13 @@ DRV.TERM.COUT lda (ZPBufPtr)
|
||||
tax
|
||||
jmp (.4,x)
|
||||
|
||||
.4 .DA ENQ 5
|
||||
.DA BS 8
|
||||
.DA LF 10
|
||||
.4 .DA ENQ
|
||||
.DA BS
|
||||
.DA LF
|
||||
.DA DRV.TERM.COUT.FF
|
||||
.DA DRV.TERM.COUT.CR
|
||||
.DA DRV.TERM.COUT.SO
|
||||
.DA DRV.TERM.COUT.SI
|
||||
.DA DRV.TERM.COUT.FS
|
||||
.DA DRV.TERM.COUT.ESC
|
||||
|
||||
@@ -395,59 +398,61 @@ DRV.TERM.COUT.CR
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.SO
|
||||
sec
|
||||
.HS 90 BCC
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.SI
|
||||
clc
|
||||
ldy #S.DCB.TTY.bG0G1
|
||||
ror
|
||||
sta (ZPDCBPtr),y
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.ESC
|
||||
lda #S.DCB.TTY.MODE.ESC
|
||||
bra DRV.TERM.SETMODE
|
||||
*--------------------------------------
|
||||
DRV.TERM.ESC lda (ZPBufPtr)
|
||||
DRV.TERM.ESC lda (ZPBufPtr) y = #S.DCB.TTY.MODE
|
||||
|
||||
cmp #'['
|
||||
bne .1
|
||||
|
||||
lda #S.DCB.TTY.MODE.CSI
|
||||
bra DRV.TERM.SETMODE
|
||||
|
||||
.1 cmp #'('
|
||||
bne .2
|
||||
|
||||
lda #S.DCB.TTY.MODE.G0
|
||||
bra DRV.TERM.SETMODE
|
||||
|
||||
.2 cmp #')'
|
||||
bne DRV.TERM.ESC1
|
||||
|
||||
lda #S.DCB.TTY.MODE.G1
|
||||
|
||||
DRV.TERM.SETMODE
|
||||
sta (ZPDCBPtr),y
|
||||
ldy #S.DCB.TTY.INBUFFER
|
||||
lda #S.DCB.TTY.INBUFFER
|
||||
sta (ZPDCBPtr),y
|
||||
clc
|
||||
rts
|
||||
|
||||
DRV.TERM.ESC1 lda #0 y = #S.DCB.TTY.MODE
|
||||
sta (ZPDCBPtr),y
|
||||
|
||||
ldx #EscCodes.Cnt-1
|
||||
lda (ZPBufPtr)
|
||||
|
||||
.2 cmp EscCodes,x
|
||||
beq .3
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
clc
|
||||
rts
|
||||
lda #0
|
||||
bra DRV.TERM.SETMODE
|
||||
|
||||
.3 txa
|
||||
.3 phx
|
||||
jsr .4
|
||||
plx
|
||||
lda EscModes,x
|
||||
bra DRV.TERM.SETMODE
|
||||
|
||||
.4 txa
|
||||
asl
|
||||
tax
|
||||
jmp (.4,x)
|
||||
jmp (.5,x)
|
||||
|
||||
.4 .DA Scroll.Dn M
|
||||
.5 .DA Scroll.Dn M
|
||||
.DA Scroll.Up D
|
||||
.DA RESET c
|
||||
.DA DRV.TERM.SETMODE.RTS [
|
||||
.DA DRV.TERM.SETMODE.RTS (
|
||||
.DA DRV.TERM.SETMODE.RTS )
|
||||
*--------------------------------------
|
||||
DRV.TERM.SETMODE
|
||||
ldy #S.DCB.TTY.MODE
|
||||
sta (ZPDCBPtr),y
|
||||
ldy #S.DCB.TTY.INBUFFER
|
||||
lda #S.DCB.TTY.INBUFFER
|
||||
sta (ZPDCBPtr),y
|
||||
clc
|
||||
DRV.TERM.SETMODE.RTS
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.CSI ldy #S.DCB.TTY.INBUFFER
|
||||
lda (ZPDCBPtr),y
|
||||
@@ -596,7 +601,7 @@ Csi.DispAttr ldx CsiParamCnt
|
||||
.2 eor #7
|
||||
bne .7
|
||||
|
||||
.3 ldy #S.DCB.TTY.bINVERSE
|
||||
.3 ldy #S.DCB.TTY.bNORMAL
|
||||
sta (ZPDCBPtr),y
|
||||
|
||||
.7 dex
|
||||
@@ -899,17 +904,7 @@ RESET ldy #1
|
||||
jmp DRV.TERM.CLRSCR
|
||||
*--------------------------------------
|
||||
RESETATTR lda #$80
|
||||
ldy #S.DCB.TTY.bINVERSE
|
||||
sta (ZPDCBPtr),y
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
SI clc
|
||||
.HS 2C BIT ABS
|
||||
*--------------------------------------
|
||||
SO sec
|
||||
ldy #S.DCB.TTY.bG0G1
|
||||
ror
|
||||
ldy #S.DCB.TTY.bNORMAL
|
||||
sta (ZPDCBPtr),y
|
||||
clc
|
||||
rts
|
||||
@@ -917,9 +912,10 @@ SO sec
|
||||
ENQ ldx #0
|
||||
|
||||
.1 lda ENQ.String,x
|
||||
beq .8
|
||||
|
||||
jsr Char.Out.Put
|
||||
inx
|
||||
cpx ENQ.String.Len
|
||||
bne .1
|
||||
|
||||
.8 clc
|
||||
@@ -1066,7 +1062,18 @@ DRV.TERM.CURBLNK.OFF
|
||||
jsr GetCharAtCurPos
|
||||
|
||||
DRV.TERM.CURBLNK.SET
|
||||
jsr 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
|
||||
jsr SetCharAtY.SCR
|
||||
|
||||
ldy #S.DCB.TTY.bCURON
|
||||
lda (ZPDCBPtr),y
|
||||
@@ -1270,53 +1277,30 @@ DRV.TERM.Title.OFF
|
||||
sta (ZPDCBPtr),y
|
||||
jmp DRV.TERM.LINE0CPY
|
||||
*--------------------------------------
|
||||
DRV.TERM.SETUP.L1X
|
||||
ldy #S.FD.DEV.BUFPTR
|
||||
lda (pFD),y
|
||||
clc
|
||||
adc BUF.BASEL,x
|
||||
sta ZPBufBaseL1
|
||||
|
||||
iny
|
||||
lda (pFD),y
|
||||
adc BUF.BASEH,x
|
||||
sta ZPBufBaseL1+1
|
||||
|
||||
bit bActive
|
||||
bpl DRV.TERM.SETUP.L1X.8
|
||||
|
||||
DRV.TERM.SETUP.L1X.SCR
|
||||
lda SCR.BASEL,x
|
||||
sta ZPScrBaseL1
|
||||
lda SCR.BASEH,x
|
||||
sta ZPScrBaseL1+1
|
||||
DRV.TERM.SETUP.L1X.8
|
||||
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 #$80 S.DCB.TTY.bINVERSE
|
||||
.DA #$80 S.DCB.TTY.bNORMAL
|
||||
.DA #$80 S.DCB.TTY.bLINEWRAP
|
||||
.DA #0 S.DCB.TTY.bTITLE
|
||||
.DA #0 S.DCB.TTY.bALTFONT
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #0 S.DCB.TTY.bG0G1
|
||||
.DA #0 S.DCB.TTY.bG0ALT
|
||||
.DA #$80 S.DCB.TTY.bG1ALT
|
||||
.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 .DA #C.ENQ,#C.BS,#C.LF,#C.FF,#C.CR,#C.SO,#C.SI,#C.FS,#C.ESC
|
||||
CtrlChars.Cnt .EQ *-CtrlChars
|
||||
*--------------------------------------
|
||||
EscCodes .AZ "MDc"
|
||||
EscCodes .AZ "MDc[()"
|
||||
EscCodes.Cnt .EQ *-EscCodes
|
||||
EscModes .DA #0,#0,#0,#S.DCB.TTY.MODE.CSI,#S.DCB.TTY.MODE.G0,#S.DCB.TTY.MODE.G1
|
||||
CsiCodes .AS "hlmnrJKH"
|
||||
CsiCodes.Cnt .EQ *-CsiCodes
|
||||
ENQ.String .AZ "xterm"
|
||||
*--------------------------------------
|
||||
KeyRemapped .HS 05080A0B0D15 L,D,U,CR,R
|
||||
KeyRemappedIdx .HS 050004080C0F
|
||||
@@ -1336,7 +1320,8 @@ DOWILL.CNT .EQ *-DOWILL
|
||||
DOWONT .DA #TELOPT.ECHO,#TELOPT.NEWENVIRON,#TELOPT.XDISPLOC,#TELOPT.TSPEED,#TELOPT.LFLOW
|
||||
DOWONT.CNT .EQ *-DOWONT
|
||||
SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS
|
||||
.AS "xterm"
|
||||
ENQ.String .AS "xterm"
|
||||
ENQ.String.Len .EQ *-ENQ.String
|
||||
.DA #IAC,#SE
|
||||
SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE
|
||||
SB.IS.NAWS .DA #IAC,#SB,#TELOPT.NAWS,#SB.IS
|
||||
|
||||
+70
-63
@@ -109,11 +109,6 @@ DRV.TERM.SCRCPY ldx #23
|
||||
.8 ldy #39
|
||||
|
||||
.80 lda $ffff,x SELF MODIFIED
|
||||
cmp #$40
|
||||
bcc .81
|
||||
cmp #$5F
|
||||
bcs .81
|
||||
and #$3F
|
||||
|
||||
.81 sta (ZPScrBaseL1),y
|
||||
dex
|
||||
@@ -171,44 +166,7 @@ DRV.TERM.COPY.XtoL1
|
||||
|
||||
.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
|
||||
bra SetCharAtY.SCR
|
||||
|
||||
SetCharAtCurPos pha
|
||||
ldy #S.DCB.TTY.bG0G1
|
||||
lda (ZPDCBPtr),y
|
||||
bpl .10
|
||||
iny
|
||||
.10 iny
|
||||
lda (ZPDCBPtr),y
|
||||
bpl .1
|
||||
|
||||
pla
|
||||
bmi .2
|
||||
|
||||
cmp #96
|
||||
bcc .2
|
||||
|
||||
and #$1F
|
||||
bra .3
|
||||
|
||||
.1 pla
|
||||
|
||||
.2 ldy #S.DCB.TTY.bINVERSE
|
||||
ora (ZPDCBPtr),y
|
||||
|
||||
.3 pha
|
||||
ldy #S.DCB.TTY.CV
|
||||
lda (ZPDCBPtr),y
|
||||
tax
|
||||
@@ -217,12 +175,44 @@ SetCharAtCurPos pha
|
||||
tay
|
||||
pla
|
||||
*--------------------------------------
|
||||
SetCharAtYX pha
|
||||
phy
|
||||
jsr DRV.TERM.SETUP.L1X
|
||||
SetCharAtYX cmp #$40
|
||||
bcc .1
|
||||
|
||||
cmp #$60
|
||||
bcs .1
|
||||
|
||||
and #$1F remap UPPERCASE
|
||||
|
||||
.1 phy
|
||||
|
||||
ldy #S.DCB.TTY.bNORMAL
|
||||
ora (ZPDCBPtr),y
|
||||
sta ZPTmpChar
|
||||
|
||||
ldy #S.DCB.TTY.bG0G1 Select Active Font
|
||||
lda (ZPDCBPtr),y
|
||||
bpl .2
|
||||
iny
|
||||
|
||||
.2 iny
|
||||
|
||||
lda (ZPDCBPtr),y
|
||||
bpl .3 not Graphic mode
|
||||
|
||||
lda ZPTmpChar
|
||||
cmp #$E0 Normal lowercase ?
|
||||
bcc .3
|
||||
|
||||
tay
|
||||
|
||||
lda REMAP.E0.FF-$E0,y
|
||||
sta ZPTmpChar
|
||||
|
||||
|
||||
.3 jsr DRV.TERM.SETUP.L1X
|
||||
ply
|
||||
|
||||
pla
|
||||
lda ZPTmpChar
|
||||
sta SETWRITEAUX
|
||||
sta (ZPBufBaseL1),y
|
||||
sta CLRWRITEAUX
|
||||
@@ -230,21 +220,7 @@ SetCharAtYX pha
|
||||
bit bActive
|
||||
bpl SetCharAtYX.8
|
||||
|
||||
SetCharAtY.SCR cmp #$20
|
||||
bcs .10
|
||||
phx
|
||||
tax
|
||||
|
||||
lda REMAP.96.127,x
|
||||
plx
|
||||
|
||||
.10 cmp #$40 Remap inverse UPPRECASE
|
||||
bcc .1
|
||||
cmp #$5F
|
||||
bcs .1
|
||||
and #$1F
|
||||
|
||||
.1 pha
|
||||
SetCharAtY.SCR pha
|
||||
|
||||
tya
|
||||
lsr
|
||||
@@ -273,10 +249,41 @@ GetCharAtCurPos ldy #S.DCB.TTY.CV
|
||||
lda (ZPBufBaseL1),y
|
||||
sta CLRREADAUX
|
||||
|
||||
cmp #$20
|
||||
bcs .8
|
||||
|
||||
* clc
|
||||
adc #40 remap $00-$1F uppercase
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.SETUP.L1X
|
||||
ldy #S.FD.DEV.BUFPTR
|
||||
lda (pFD),y
|
||||
clc
|
||||
adc BUF.BASEL,x
|
||||
sta ZPBufBaseL1
|
||||
|
||||
iny
|
||||
lda (pFD),y
|
||||
adc BUF.BASEH,x
|
||||
sta ZPBufBaseL1+1
|
||||
|
||||
bit bActive
|
||||
bpl DRV.TERM.SETUP.L1X.8
|
||||
|
||||
DRV.TERM.SETUP.L1X.SCR
|
||||
lda SCR.BASEL,x
|
||||
sta ZPScrBaseL1
|
||||
lda SCR.BASEH,x
|
||||
sta ZPScrBaseL1+1
|
||||
DRV.TERM.SETUP.L1X.8
|
||||
rts
|
||||
*--------------------------------------
|
||||
REMAP.96.127 .HS 404142434445464748494a4b4c4d4e4f
|
||||
.HS 505152535455565758595a5b5c5d5e5f
|
||||
* ` a b c d e f g h i j k l m n o
|
||||
REMAP.E0.FF .HS 5B4142434445464748495FA0DF544e4f
|
||||
* p q r s t u v w x y z { | } ~ DEL
|
||||
.HS 50DF5253545556575F595a5b5c5d5e5f
|
||||
*--------------------------------------
|
||||
BUF.BASEL .DA #0
|
||||
.DA #80
|
||||
|
||||
Reference in New Issue
Block a user