mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-10 07:54:37 +00:00
Kernel 0.93
This commit is contained in:
parent
417ddd6699
commit
3d40cd048d
Binary file not shown.
@ -166,13 +166,17 @@ BUF.DelSel jsr BUF.GetSelLen
|
|||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BUF.Del ldy #FileLen
|
* Erase char at CurXY
|
||||||
lda (pData),y
|
*--------------------------------------
|
||||||
iny
|
BUF.DelChar lda BUF.COffset
|
||||||
ora (pData),y
|
sec
|
||||||
beq .8 exit with A=0
|
sbc #1
|
||||||
|
tay
|
||||||
|
lda BUF.COffset+1
|
||||||
|
sbc #0
|
||||||
|
bcc .9 deleting char #0
|
||||||
|
|
||||||
jsr BUF.ComputeCOffset
|
>STYA TmpCount
|
||||||
|
|
||||||
ldy #FileLen+1
|
ldy #FileLen+1
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
@ -184,17 +188,6 @@ BUF.Del ldy #FileLen
|
|||||||
jsr BUF.GetNewYA BufferLen-1
|
jsr BUF.GetNewYA BufferLen-1
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda BUF.COffset
|
|
||||||
sec
|
|
||||||
sbc #1
|
|
||||||
tay
|
|
||||||
lda BUF.COffset+1
|
|
||||||
sbc #0
|
|
||||||
bcc .3 deleting char #0
|
|
||||||
|
|
||||||
sty TmpCount
|
|
||||||
sta TmpCount+1
|
|
||||||
|
|
||||||
jsr BUF.CopyCount
|
jsr BUF.CopyCount
|
||||||
|
|
||||||
.3 lda (BufPtrBackup)
|
.3 lda (BufPtrBackup)
|
||||||
@ -268,7 +261,7 @@ BUF.SelToClipboard
|
|||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.2 jsr DecTmpCount
|
.2 jsr DecTmpCount
|
||||||
beq .8
|
beq .7
|
||||||
lda (BufPtr),y
|
lda (BufPtr),y
|
||||||
sta (ClipboardPtr),y
|
sta (ClipboardPtr),y
|
||||||
iny
|
iny
|
||||||
@ -277,7 +270,7 @@ BUF.SelToClipboard
|
|||||||
inc ClipboardPtr+1
|
inc ClipboardPtr+1
|
||||||
bra .2
|
bra .2
|
||||||
|
|
||||||
jsr BUF.ResetSel
|
.7 jsr BUF.ResetSel
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
@ -394,7 +387,8 @@ BUF.GetLineAX sta BUF.TmpLine1
|
|||||||
|
|
||||||
.2 lda (BufPtr),y
|
.2 lda (BufPtr),y
|
||||||
beq .7
|
beq .7
|
||||||
cmp #13
|
|
||||||
|
cmp #C.CR
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
iny
|
iny
|
||||||
|
@ -120,7 +120,8 @@ Ctrl.G ldy #FileX
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Ctrl.BS ldy #FileX
|
Ctrl.BS ldy #FileX
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
beq .1 already at begining of line
|
beq .1 already at beginning of line
|
||||||
|
|
||||||
dec
|
dec
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
bra .3
|
bra .3
|
||||||
@ -158,6 +159,7 @@ Ctrl.BS ldy #FileX
|
|||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 jmp Ctrl.Q
|
.9 jmp Ctrl.Q
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Ctrl.TAB
|
Ctrl.TAB
|
||||||
@ -520,41 +522,47 @@ Ctrl.ESC clc
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Prompt.Editor cmp #C.DEL
|
Prompt.Editor cmp #C.DEL
|
||||||
beq .4
|
bne .2
|
||||||
|
|
||||||
cmp #C.SPACE
|
lda BUF.COffset
|
||||||
bcs .7
|
ora BUF.COffset+1 No Backspace possible
|
||||||
|
beq .8
|
||||||
|
|
||||||
asl
|
jsr Ctrl.BS
|
||||||
tax
|
bcs .9
|
||||||
jmp (J.CTRL,x)
|
|
||||||
|
|
||||||
.4 jsr BUF.Del
|
jsr BUF.DelChar
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
cmp #C.CR did we DEL a CR ?
|
cmp #C.CR did we DEL a CR ?
|
||||||
bne .5
|
bne .1
|
||||||
|
|
||||||
jsr SCRN.UpdateMain
|
jsr SCRN.UpdateMain
|
||||||
bcs .9
|
bcs .9
|
||||||
|
jsr SCRN.UpdateStatusBar
|
||||||
bra .6
|
|
||||||
|
|
||||||
.5 jsr SCRN.UpdateCurrentLine
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
.6 jsr SCRN.UpdateStatusBar
|
|
||||||
bcs .9
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.7 jsr BUF.InsertA
|
.1 jsr SCRN.UpdateCurrentLine
|
||||||
|
jsr SCRN.UpdateStatusBar
|
||||||
|
rts
|
||||||
|
|
||||||
|
.2 cmp #C.SPACE
|
||||||
|
bcc .3
|
||||||
|
|
||||||
|
jsr BUF.InsertA
|
||||||
bcs .9
|
bcs .9
|
||||||
jsr SCRN.UpdateCurrentLine
|
jsr SCRN.UpdateCurrentLine
|
||||||
bcs .9
|
bcs .9
|
||||||
jsr Ctrl.FS
|
jsr Ctrl.FS
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.3 asl
|
||||||
|
tax
|
||||||
|
jmp (J.CTRL,x)
|
||||||
|
|
||||||
.9 jmp Ctrl.Q
|
.9 jmp Ctrl.Q
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Prompt.Help >STZ.G PromptMode
|
Prompt.Help >STZ.G PromptMode
|
||||||
|
@ -312,7 +312,7 @@ MSG.USAGE .AS "Usage : MORE <File>\r\n"
|
|||||||
.AS " -P : Page mode, no scroll\r\n"
|
.AS " -P : Page mode, no scroll\r\n"
|
||||||
.AS " -S : Process ESC codes"
|
.AS " -S : Process ESC codes"
|
||||||
MSG.CRLF .AZ "\r\n"
|
MSG.CRLF .AZ "\r\n"
|
||||||
MSG.Init .AZ "\e[7l"
|
MSG.Init .AZ "\e[?7l"
|
||||||
MSG.NUMLINE .AZ "%5D:"
|
MSG.NUMLINE .AZ "%5D:"
|
||||||
MSG.Pause .AZ "\r\e[7m --- 'SPACE' for more, 'CR' one line, 'Q/q' to quit --- \e[0m"
|
MSG.Pause .AZ "\r\e[7m --- 'SPACE' for more, 'CR' one line, 'Q/q' to quit --- \e[0m"
|
||||||
MSG.PauseErase .AZ "\r\e[2K"
|
MSG.PauseErase .AZ "\r\e[2K"
|
||||||
|
@ -212,7 +212,7 @@ CS.QUIT clc
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
MSG0 .AZ "\e[7lhPS pPID PID cPID CPU\% Flags UID Command Line\r\n"
|
MSG0 .AZ "\e[?7lhPS pPID PID cPID CPU\% Flags UID Command Line\r\n"
|
||||||
MSG1 .AZ "%3d %3d %3d %3d %3d\% %s %3d"
|
MSG1 .AZ "%3d %3d %3d %3d %3d\% %s %3d"
|
||||||
MSG2 .AZ " %s"
|
MSG2 .AZ " %s"
|
||||||
MSG3 .AZ "\r\n"
|
MSG3 .AZ "\r\n"
|
||||||
|
@ -582,8 +582,8 @@ ToUpperCase cmp #'a'
|
|||||||
CS.END
|
CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.GREETINGS .AZ "\r\nA2osX-SH %d.%d\r\n\r\n"
|
MSG.GREETINGS .AZ "\r\nA2osX-SH %d.%d\r\n\r\n"
|
||||||
MSG.PROMPT .AZ "\e[7h$ " Enable Line Wrap
|
MSG.PROMPT .AZ "\e[?7h$ " Enable Line Wrap
|
||||||
MSG.PROMPTCRLF .AZ "\e[7l\r\n" Disable Line Wrap
|
MSG.PROMPTCRLF .AZ "\e[?7l\r\n" Disable Line Wrap
|
||||||
MSG.TRACE .AZ ">%s\r\n"
|
MSG.TRACE .AZ ">%s\r\n"
|
||||||
MSG.BATCHERR .AZ "^\r\nLine #%D:"
|
MSG.BATCHERR .AZ "^\r\nLine #%D:"
|
||||||
MSG.ERROR .AS "[$%h]:%S."
|
MSG.ERROR .AS "[$%h]:%S."
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # Args2ArgV
|
* # Args2ArgV
|
||||||
* Expand String and convert to ArgV List
|
* Expand String and convert to ArgV List
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR FAC 15 Bytes
|
.OR FAC 15 Bytes
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* CONTROL SECTION :
|
* CONTROL SECTION :
|
||||||
.LIST ON
|
.LIST ON
|
||||||
|
@ -164,19 +164,23 @@ 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.bNORMAL .EQ 8
|
S.DCB.TTY.bTITLE .EQ 8
|
||||||
S.DCB.TTY.bLINEWRAP .EQ 9
|
|
||||||
S.DCB.TTY.bTITLE .EQ 10
|
|
||||||
|
|
||||||
S.DCB.TTY.bG0G1 .EQ 11
|
S.DCB.TTY.bNORMAL .EQ 9
|
||||||
S.DCB.TTY.bG0ALT .EQ 12
|
S.DCB.TTY.bLINEWRAP .EQ 10
|
||||||
S.DCB.TTY.bG1ALT .EQ 13
|
S.DCB.TTY.bCRLF .EQ 11
|
||||||
|
|
||||||
S.DCB.TTY.OUTTAIL .EQ 14
|
* .EQ 12
|
||||||
S.DCB.TTY.OUTHEAD .EQ 15
|
|
||||||
S.DCB.TTY.INBUFFER .EQ 16
|
S.DCB.TTY.bG0G1 .EQ 13
|
||||||
S.DCB.TTY.INBUFFER.MAX .EQ 32
|
S.DCB.TTY.bG0ALT .EQ 14
|
||||||
S.DCB.TTY.OUTBUFFER .EQ 32
|
S.DCB.TTY.bG1ALT .EQ 15
|
||||||
|
|
||||||
|
S.DCB.TTY.OUTTAIL .EQ 16
|
||||||
|
S.DCB.TTY.OUTHEAD .EQ 17
|
||||||
|
S.DCB.TTY.INBUFFER .EQ 18
|
||||||
|
S.DCB.TTY.INBUFFER.MAX .EQ 33
|
||||||
|
S.DCB.TTY.OUTBUFFER .EQ 34
|
||||||
S.DCB.TTY.OUTBUFFER.MAX .EQ 48
|
S.DCB.TTY.OUTBUFFER.MAX .EQ 48
|
||||||
*
|
*
|
||||||
S.DCB.TTY .EQ 48
|
S.DCB.TTY .EQ 48
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # GetDevByName
|
* # GetDevByName
|
||||||
* Y,A = Ptr to device name (C-String)
|
* Y,A = Ptr to device name (C-String)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # OpenDir
|
* # OpenDir
|
||||||
* ## C
|
* ## C
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* DRV.DiskII
|
* DRV.DiskII
|
||||||
* X = IOCTL
|
* X = IOCTL
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # ExpandStr
|
* # ExpandStr
|
||||||
* **In:**
|
* **In:**
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* SYSCALL (AUXLC to AUXLC)
|
* SYSCALL (AUXLC to AUXLC)
|
||||||
* Used by user & kernel for inter bank Calls
|
* Used by user & kernel for inter bank Calls
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* called directly by IRQ Vector $FFFE in AuxLC
|
* called directly by IRQ Vector $FFFE in AuxLC
|
||||||
* Must keep:
|
* Must keep:
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* $E000-E1FF System calls Jump Table
|
* $E000-E1FF System calls Jump Table
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # FAdd,FSub,FMult,FDiv,FPwr
|
* # FAdd,FSub,FMult,FDiv,FPwr
|
||||||
* Return X+Y, X-Y, X*Y, X/Y, X^Y
|
* Return X+Y, X-Y, X*Y, X/Y, X^Y
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ZPMemMgrSPtr .EQ ZPMEMMGR Pointer To Slot selected
|
ZPMemMgrSPtr .EQ ZPMEMMGR Pointer To Slot selected
|
||||||
ZPMemMgrTmp1 .EQ ZPMEMMGR+2
|
ZPMemMgrTmp1 .EQ ZPMEMMGR+2
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* K.PFTAdd
|
* K.PFTAdd
|
||||||
* In :
|
* In :
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR ZPTMP+21
|
.OR ZPTMP+21
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # GetPWUID
|
* # GetPWUID
|
||||||
* ## C
|
* ## C
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # strtof
|
* # strtof
|
||||||
* Convert String to 40 bits Float
|
* Convert String to 40 bits Float
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # StrLen
|
* # StrLen
|
||||||
* Returns Length of C-String
|
* Returns Length of C-String
|
||||||
|
@ -19,8 +19,10 @@ ZPTmpBool .BS 1
|
|||||||
ZPTmpChar .BS 1
|
ZPTmpChar .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
bActive .BS 1
|
bActive .BS 1
|
||||||
|
CsiHeader .BS 1
|
||||||
bCsiInNum .BS 1
|
bCsiInNum .BS 1
|
||||||
CsiParamCnt .BS 1
|
CsiParamCnt .BS 1
|
||||||
|
|
||||||
CsiParams .BS 4
|
CsiParams .BS 4
|
||||||
.ED
|
.ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -213,22 +215,38 @@ DRV.TERM.READ jsr DRV.TERM.GetIOCTLBufCntDCB
|
|||||||
|
|
||||||
and #$7F
|
and #$7F
|
||||||
|
|
||||||
ldx KeyRemapped
|
ldx #KeyRemapped.cnt-1
|
||||||
|
|
||||||
.2 cmp KeyRemapped,x
|
.2 cmp KeyRemapped,x
|
||||||
beq .3
|
beq .3
|
||||||
dex
|
dex
|
||||||
bne .2
|
bpl .2
|
||||||
jsr Char.Out.Put no remap....send char....
|
|
||||||
|
cmp #C.CR
|
||||||
|
bne .21
|
||||||
|
|
||||||
|
jsr Char.Out.Put
|
||||||
|
ldy #S.DCB.TTY.bCRLF
|
||||||
|
lda (ZPDCBPtr),y
|
||||||
|
bpl .7
|
||||||
|
|
||||||
|
lda #C.LF
|
||||||
|
|
||||||
|
.21 jsr Char.Out.Put no remap....send char....
|
||||||
bra .7 and flush
|
bra .7 and flush
|
||||||
|
|
||||||
.3 lda KeyRemappedIdx,x
|
.3 lda KeyRemapped.Tbl,x
|
||||||
tax
|
pha
|
||||||
|
|
||||||
.4 lda KeyRemappedTbl,x
|
lda #C.ESC
|
||||||
beq .7 end of remap....flush
|
|
||||||
jsr Char.Out.Put
|
jsr Char.Out.Put
|
||||||
inx
|
|
||||||
bra .4
|
lda #'['
|
||||||
|
jsr Char.Out.Put
|
||||||
|
|
||||||
|
pla
|
||||||
|
jsr Char.Out.Put
|
||||||
|
bra .7
|
||||||
|
|
||||||
.6 ldy #S.DCB.TTY.OUTTAIL
|
.6 ldy #S.DCB.TTY.OUTTAIL
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
@ -274,7 +292,7 @@ DRV.TERM.WRITE jsr DRV.TERM.GetIOCTLBufCntDCB
|
|||||||
.1 inc ZPCount
|
.1 inc ZPCount
|
||||||
bne .2
|
bne .2
|
||||||
inc ZPCount+1
|
inc ZPCount+1
|
||||||
beq FS.8
|
beq .8
|
||||||
|
|
||||||
.2 ldy #S.DCB.TTY.MODE
|
.2 ldy #S.DCB.TTY.MODE
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
@ -295,6 +313,9 @@ DRV.TERM.WRITE jsr DRV.TERM.GetIOCTLBufCntDCB
|
|||||||
.DA DRV.TERM.IAC
|
.DA DRV.TERM.IAC
|
||||||
.DA DRV.TERM.G0
|
.DA DRV.TERM.G0
|
||||||
.DA DRV.TERM.G1
|
.DA DRV.TERM.G1
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.TERM.COUT lda (ZPBufPtr)
|
DRV.TERM.COUT lda (ZPBufPtr)
|
||||||
|
|
||||||
@ -324,8 +345,8 @@ DRV.TERM.COUT lda (ZPBufPtr)
|
|||||||
jmp (.4,x)
|
jmp (.4,x)
|
||||||
|
|
||||||
.4 .DA ENQ
|
.4 .DA ENQ
|
||||||
.DA BS
|
.DA DRV.TERM.COUT.BS
|
||||||
.DA LF
|
.DA DRV.TERM.COUT.LF
|
||||||
.DA DRV.TERM.COUT.FF
|
.DA DRV.TERM.COUT.FF
|
||||||
.DA DRV.TERM.COUT.CR
|
.DA DRV.TERM.COUT.CR
|
||||||
.DA DRV.TERM.COUT.SO
|
.DA DRV.TERM.COUT.SO
|
||||||
@ -343,18 +364,43 @@ DRV.TERM.COUT.FS
|
|||||||
|
|
||||||
ldy #S.DCB.TTY.bLINEWRAP
|
ldy #S.DCB.TTY.bLINEWRAP
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
bpl FS.8
|
bpl DRV.TERM.COUT.FS.8
|
||||||
|
|
||||||
ldy #S.DCB.TTY.CH
|
ldy #S.DCB.TTY.CH
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPDCBPtr),y
|
sta (ZPDCBPtr),y
|
||||||
|
|
||||||
jmp LF
|
jmp DRV.TERM.COUT.LF.1
|
||||||
|
|
||||||
.1 inc
|
.1 inc
|
||||||
sta (ZPDCBPtr),y
|
sta (ZPDCBPtr),y
|
||||||
|
|
||||||
FS.8 clc
|
DRV.TERM.COUT.FS.8
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
DRV.TERM.COUT.BS
|
||||||
|
ldy #S.DCB.TTY.CH
|
||||||
|
lda (ZPDCBPtr),y
|
||||||
|
beq .1
|
||||||
|
|
||||||
|
dec
|
||||||
|
sta (ZPDCBPtr),y
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.1 ldy #S.DCB.TTY.CV
|
||||||
|
lda (ZPDCBPtr),y
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
dec
|
||||||
|
sta (ZPDCBPtr),y
|
||||||
|
|
||||||
|
lda #79
|
||||||
|
dey
|
||||||
|
sta (ZPDCBPtr),y
|
||||||
|
|
||||||
|
.2 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DRV.TERM.COUT.DEL
|
DRV.TERM.COUT.DEL
|
||||||
@ -367,7 +413,7 @@ DRV.TERM.COUT.DEL
|
|||||||
|
|
||||||
.1 iny S.DCB.TTY.CV
|
.1 iny S.DCB.TTY.CV
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
beq FS.8
|
beq DRV.TERM.COUT.FS.8
|
||||||
|
|
||||||
dec
|
dec
|
||||||
sta (ZPDCBPtr),y
|
sta (ZPDCBPtr),y
|
||||||
@ -470,10 +516,19 @@ DRV.TERM.CSI ldy #S.DCB.TTY.INBUFFER
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
DRV.TERM.CSI.Exec
|
DRV.TERM.CSI.Exec
|
||||||
|
stz CsiHeader
|
||||||
stz CsiParamCnt
|
stz CsiParamCnt
|
||||||
stz bCsiInNum
|
stz bCsiInNum
|
||||||
|
|
||||||
ldy #S.DCB.TTY.INBUFFER EscSeq Ptr
|
ldy #S.DCB.TTY.INBUFFER+1 EscSeq Ptr
|
||||||
|
lda (ZPDCBPtr),y
|
||||||
|
dey
|
||||||
|
|
||||||
|
cmp #'?'
|
||||||
|
bne .10
|
||||||
|
|
||||||
|
sta CsiHeader
|
||||||
|
iny
|
||||||
|
|
||||||
.10 stz ZPTmpWord
|
.10 stz ZPTmpWord
|
||||||
stz ZPTmpWord+1
|
stz ZPTmpWord+1
|
||||||
@ -554,8 +609,8 @@ DRV.TERM.CSI.Exec
|
|||||||
tax
|
tax
|
||||||
jmp (.8,x)
|
jmp (.8,x)
|
||||||
|
|
||||||
.8 .DA Csi.LWEnable h
|
.8 .DA Csi.SetMode h
|
||||||
.DA Csi.LWDisable l
|
.DA Csi.ResetMode l
|
||||||
.DA Csi.DispAttr m
|
.DA Csi.DispAttr m
|
||||||
.DA Csi.Query n
|
.DA Csi.Query n
|
||||||
.DA Csi.Scroll r
|
.DA Csi.Scroll r
|
||||||
@ -563,24 +618,46 @@ DRV.TERM.CSI.Exec
|
|||||||
.DA Csi.EraseLine K
|
.DA Csi.EraseLine K
|
||||||
.DA Csi.Home H
|
.DA Csi.Home H
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Csi.LWEnable sec
|
Csi.SetMode sec
|
||||||
.HS 90 BCC
|
.HS 90 BCC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Csi.LWDisable clc
|
Csi.ResetMode clc
|
||||||
|
|
||||||
ldx CsiParamCnt
|
ldx CsiParamCnt
|
||||||
beq .8
|
beq .99
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bne .8
|
bne .99
|
||||||
|
|
||||||
|
ldx CsiHeader
|
||||||
lda CsiParams
|
lda CsiParams
|
||||||
eor #7
|
|
||||||
bne .8
|
|
||||||
|
|
||||||
ror
|
php
|
||||||
|
|
||||||
|
cmp #20 bCRLF
|
||||||
|
bne .1
|
||||||
|
txa
|
||||||
|
bne .98
|
||||||
|
|
||||||
|
ldy #S.DCB.TTY.bCRLF
|
||||||
|
bra .8
|
||||||
|
|
||||||
|
.1 cmp #7
|
||||||
|
bne .98
|
||||||
|
|
||||||
|
cpx #'?'
|
||||||
|
bne .98
|
||||||
|
|
||||||
ldy #S.DCB.TTY.bLINEWRAP
|
ldy #S.DCB.TTY.bLINEWRAP
|
||||||
sta (ZPDCBPtr),y
|
|
||||||
|
|
||||||
.8 clc
|
.8 plp
|
||||||
|
ror
|
||||||
|
sta (ZPDCBPtr),y
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.98 plp
|
||||||
|
.99 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Csi.DispAttr ldx CsiParamCnt
|
Csi.DispAttr ldx CsiParamCnt
|
||||||
@ -917,30 +994,15 @@ ENQ ldx #0
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS ldy #S.DCB.TTY.CH
|
DRV.TERM.COUT.LF
|
||||||
|
ldy #S.DCB.TTY.bCRLF
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
beq .1
|
bpl DRV.TERM.COUT.LF.1
|
||||||
|
|
||||||
dec
|
jsr DRV.TERM.COUT.CR
|
||||||
sta (ZPDCBPtr),y
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.1 ldy #S.DCB.TTY.CV
|
DRV.TERM.COUT.LF.1
|
||||||
lda (ZPDCBPtr),y
|
ldy #S.DCB.TTY.CV
|
||||||
beq .2
|
|
||||||
|
|
||||||
dec
|
|
||||||
sta (ZPDCBPtr),y
|
|
||||||
|
|
||||||
lda #79
|
|
||||||
dey
|
|
||||||
sta (ZPDCBPtr),y
|
|
||||||
|
|
||||||
.2 clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
LF ldy #S.DCB.TTY.CV
|
|
||||||
lda (ZPDCBPtr),y
|
lda (ZPDCBPtr),y
|
||||||
ldy #S.DCB.TTY.SCROLLBOT
|
ldy #S.DCB.TTY.SCROLLBOT
|
||||||
cmp (ZPDCBPtr),y
|
cmp (ZPDCBPtr),y
|
||||||
@ -1280,66 +1342,6 @@ 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.bNORMAL
|
|
||||||
.DA #$80 S.DCB.TTY.bLINEWRAP
|
|
||||||
.DA #0 S.DCB.TTY.bTITLE
|
|
||||||
.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 .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.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
|
|
||||||
*--------------------------------------
|
|
||||||
KeyRemapped .HS 05080A0B0D15 L,D,U,CR,R
|
|
||||||
KeyRemappedIdx .HS 050004080C0F
|
|
||||||
KeyRemappedTbl .EQ *
|
|
||||||
KeyRemappedLEFT .HS 1B5B4400 esc[D
|
|
||||||
KeyRemappedDOWN .HS 1B5B4200 esc[B
|
|
||||||
KeyRemappedUP .HS 1B5B4100 esc[A
|
|
||||||
KeyRemappedCR .HS 0D0A00 crlf
|
|
||||||
KeyRemappedRGHT .HS 1B5B4300 esc[C
|
|
||||||
*--------------------------------------
|
|
||||||
WILLDO .DA #TELOPT.BINARY,#TELOPT.SGA
|
|
||||||
WILLDO.CNT .EQ *-WILLDO
|
|
||||||
WILLDONT .DA #TELOPT.TSPEED,#TELOPT.LINEMODE,#TELOPT.STATUS
|
|
||||||
WILLDONT.CNT .EQ *-WILLDONT
|
|
||||||
DOWILL .DA #TELOPT.BINARY,#TELOPT.SGA,#TELOPT.TTYPE,#TELOPT.NAWS
|
|
||||||
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
|
|
||||||
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
|
|
||||||
.DA 80
|
|
||||||
.DA 24
|
|
||||||
.DA #IAC,#SE
|
|
||||||
SB.IS.NAWS.LEN .EQ *-SB.IS.NAWS
|
|
||||||
*--------------------------------------
|
|
||||||
DRV.TERM.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
|
|
||||||
.DA #0,#0,#0
|
|
||||||
>PSTR "A2osX VT100 TERM"
|
|
||||||
.DA #S.DIB.T.CHAR
|
|
||||||
.DA #0
|
|
||||||
.DA K.VER
|
|
||||||
*--------------------------------------
|
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/SYS/KERNEL.S.TERM
|
SAVE USR/SRC/SYS/KERNEL.S.TERM
|
||||||
LOAD USR/SRC/SYS/KERNEL.S
|
LOAD USR/SRC/SYS/KERNEL.S
|
||||||
|
@ -285,6 +285,67 @@ REMAP.E0.FF .HS 5B4142434445464748495FA0DF544e4f
|
|||||||
* p q r s t u v w x y z { | } ~ DEL
|
* p q r s t u v w x y z { | } ~ DEL
|
||||||
.HS 50DF5253545556575F595a5b5c5d5e5f
|
.HS 50DF5253545556575F595a5b5c5d5e5f
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
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.bTITLE
|
||||||
|
|
||||||
|
.DA #$80 S.DCB.TTY.bNORMAL
|
||||||
|
.DA #$80 S.DCB.TTY.bLINEWRAP
|
||||||
|
.DA #$80 S.DCB.TTY.bCRLF
|
||||||
|
|
||||||
|
.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 .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.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
|
||||||
|
*--------------------------------------
|
||||||
|
KeyRemapped .HS 080A0B15 Left,Down,Up,Right
|
||||||
|
KeyRemapped.Cnt .EQ *-KeyRemapped
|
||||||
|
KeyRemapped.Tbl .HS 44424143 esc[D,esc[B,esc[A,esc[C
|
||||||
|
*--------------------------------------
|
||||||
|
WILLDO .DA #TELOPT.BINARY,#TELOPT.SGA
|
||||||
|
WILLDO.CNT .EQ *-WILLDO
|
||||||
|
WILLDONT .DA #TELOPT.TSPEED,#TELOPT.LINEMODE,#TELOPT.STATUS
|
||||||
|
WILLDONT.CNT .EQ *-WILLDONT
|
||||||
|
DOWILL .DA #TELOPT.BINARY,#TELOPT.SGA,#TELOPT.TTYPE,#TELOPT.NAWS
|
||||||
|
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
|
||||||
|
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
|
||||||
|
.DA 80
|
||||||
|
.DA 24
|
||||||
|
.DA #IAC,#SE
|
||||||
|
SB.IS.NAWS.LEN .EQ *-SB.IS.NAWS
|
||||||
|
*--------------------------------------
|
||||||
|
DRV.TERM.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
|
||||||
|
.DA #0,#0,#0
|
||||||
|
>PSTR "A2osX VT100 TERM"
|
||||||
|
.DA #S.DIB.T.CHAR
|
||||||
|
.DA #0
|
||||||
|
.DA K.VER
|
||||||
|
*--------------------------------------
|
||||||
BUF.BASEL .DA #0
|
BUF.BASEL .DA #0
|
||||||
.DA #80
|
.DA #80
|
||||||
.DA #160
|
.DA #160
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* https://www.cise.ufl.edu/~cop4600/cgi-bin/lxr/http/source.cgi/lib/ansi/gmtime.c
|
* https://www.cise.ufl.edu/~cop4600/cgi-bin/lxr/http/source.cgi/lib/ansi/gmtime.c
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user