mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-09 10:31:45 +00:00
Kernel 0.93++
This commit is contained in:
parent
bf1990479c
commit
c29cb8be90
@ -133,19 +133,6 @@ Create a hDEV
|
||||
Y,A = PTR to Expanded String
|
||||
X = hMem to Expanded String (C-String)
|
||||
|
||||
# PutEnv
|
||||
Change or add an environment variable, string is 'NAME=VALUE'
|
||||
|
||||
## C
|
||||
`int putenv(char *string);`
|
||||
|
||||
## ASM
|
||||
**In:**
|
||||
`>PUSHW string`
|
||||
`>SYSCALL putenv`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# SetEnv
|
||||
Change or add an environment variable
|
||||
|
||||
@ -177,6 +164,19 @@ and returns a pointer to the corresponding value string.
|
||||
CC : Y,A = PTR to VALUE (C-String)
|
||||
CS : not found
|
||||
|
||||
# PutEnv
|
||||
Change or add an environment variable, string is 'NAME=VALUE'
|
||||
|
||||
## C
|
||||
`int putenv(char *string);`
|
||||
|
||||
## ASM
|
||||
**In:**
|
||||
`>PUSHW string`
|
||||
`>SYSCALL putenv`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# UnsetEnv
|
||||
Remove an environment variable
|
||||
|
||||
@ -357,15 +357,19 @@ Add Data to MD5 computation
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# GetMem0
|
||||
Y,A = Size Requested
|
||||
# Realloc
|
||||
|
||||
## C
|
||||
`void *realloc(short int hMem, int size);`
|
||||
|
||||
## ASM
|
||||
`>PUSHB hMem`
|
||||
`>PUSHW size`
|
||||
`>SYSCALL realloc`
|
||||
|
||||
## RETURN VALUE
|
||||
CC : success
|
||||
YA = PTR to Mem (ZERO Initialised)
|
||||
* X = hMem
|
||||
CS :
|
||||
A = EC
|
||||
YA = ptr
|
||||
X = hMem
|
||||
|
||||
# GetMem
|
||||
Y,A = Size Requested
|
||||
@ -1292,24 +1296,41 @@ CS : no match
|
||||
CC, Y,A=0
|
||||
CS, Y,A > 0 or < 0
|
||||
|
||||
# NewStrV
|
||||
**In:**
|
||||
A = Initial Size (Page)
|
||||
# StrVShift
|
||||
|
||||
## ASM
|
||||
`>PUSHB hSTRV`
|
||||
`>PUSHB index`
|
||||
`>SYSCALL StrVShift`
|
||||
|
||||
## RETURN VALUE
|
||||
X = hStrV
|
||||
Y,A = Ptr
|
||||
|
||||
# StrVGet
|
||||
**In:**
|
||||
A = hStrV
|
||||
X = index
|
||||
|
||||
## ASM
|
||||
`>PUSHB hSTRV`
|
||||
`>PUSHB index`
|
||||
`>PUSHW ptr`
|
||||
`>SYSCALL StrVGet`
|
||||
|
||||
## RETURN VALUE
|
||||
Y,A = Ptr
|
||||
CC: Y,A = Ptr
|
||||
CS: Y,A = NULL
|
||||
|
||||
# StrVAdd
|
||||
|
||||
## ASM
|
||||
`>PUSHB hSTRV`
|
||||
`>PUSHW str`
|
||||
`>SYSCALL StrVAdd`
|
||||
|
||||
## RETURN VALUE
|
||||
CC : str added to hSTRV
|
||||
CS : hSTRV full
|
||||
|
||||
# StrVDup
|
||||
**In:**
|
||||
|
||||
## ASM
|
||||
Y,A = Src StrV
|
||||
|
||||
## RETURN VALUE
|
||||
@ -1317,7 +1338,7 @@ CS : no match
|
||||
A = Str Count
|
||||
|
||||
# Str2StrV
|
||||
Expand String and convert to ArgV List
|
||||
Expand String and convert to StrV List
|
||||
|
||||
## C
|
||||
short int str2strv(char* args, char* argv[])
|
||||
|
@ -1,72 +0,0 @@
|
||||
*** Auto generated by docgen.cmd ***
|
||||
|
||||
## Copyright
|
||||
Copyright 2015 - 2020, Remy Gibert and the A2osX contributors.
|
||||
|
||||
## MD5
|
||||
Return MD5 Hash for input String
|
||||
|
||||
# C
|
||||
`void md5 (const char* str, char* digest);`
|
||||
|
||||
# ASM
|
||||
`>PUSHW digest`
|
||||
`>PUSHW str`
|
||||
|
||||
## RETURN VALUE
|
||||
CC
|
||||
|
||||
## MD5Init
|
||||
Initialize a MD5 computation
|
||||
|
||||
# C
|
||||
`hMD5 md5init ();`
|
||||
|
||||
# ASM
|
||||
`>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Init`
|
||||
|
||||
## RETURN VALUE
|
||||
A = hMem To S.MD5
|
||||
|
||||
## MD5Update
|
||||
Add Data to MD5 computation
|
||||
|
||||
# C
|
||||
`void md5update (hMD5 md5, char* data, int len);`
|
||||
|
||||
# ASM
|
||||
`>PUSHW len`
|
||||
`>PUSHW data`
|
||||
`>LDA.G md5`
|
||||
`>hLIBCRYPT,LIBCRYPT.MD5Update`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
## MD5Finalize
|
||||
|
||||
# C
|
||||
`void md5finalize (hMD5 md5, char* digest);`
|
||||
|
||||
# ASM
|
||||
`>PUSHW digest`
|
||||
`>LDA.G md5`
|
||||
`>LIBCALL hLIBCRYPT,LIBCRYPT.MD5Finalize`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
## License
|
||||
A2osX is licensed under the GNU General Public License.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
The full A2osX license can be found **[Here](../LICENSE)**.
|
||||
|
||||
*** End of Auto generated file ***
|
Binary file not shown.
@ -319,6 +319,7 @@ Ctrl.O ldy #FileY+1
|
||||
sta (pData),y
|
||||
|
||||
>STZ.G FileX
|
||||
>STA.G ScreenX
|
||||
|
||||
jmp SCRN.UpdateMainAndStatus
|
||||
|
||||
@ -345,9 +346,6 @@ Ctrl.P ldy #FileY+1
|
||||
jsr BUF.GetLineAX A,X = FileY+PAGE
|
||||
bcs .8
|
||||
|
||||
tya Y = line length
|
||||
>STA.G FileX
|
||||
|
||||
ldy #FileY+1
|
||||
pla
|
||||
sta (pData),y
|
||||
@ -365,6 +363,9 @@ Ctrl.P ldy #FileY+1
|
||||
adc #0
|
||||
sta (pData),y
|
||||
|
||||
>STZ.G FileX
|
||||
>STA.G ScreenX
|
||||
|
||||
jmp SCRN.UpdateMainAndStatus
|
||||
|
||||
.8 pla
|
||||
|
@ -283,9 +283,12 @@ SCRN.UpdateCurrentLine
|
||||
inx
|
||||
|
||||
.1 jsr BUF.GetLineAX
|
||||
bcs SCRN.UpdateMain.9
|
||||
|
||||
phy
|
||||
bcc .2
|
||||
|
||||
jsr SCRN.LineBufInitEdit
|
||||
jmp SCRN.UpdateLineAtBufPtr.EOL
|
||||
|
||||
.2 phy
|
||||
>LDA.G CurY
|
||||
ply
|
||||
*--------------------------------------
|
||||
|
@ -35,17 +35,8 @@ CMD.SHIFT lda (ZPArgVBufPtr)
|
||||
|
||||
CMD.SHIFT.1 inc
|
||||
|
||||
CMD.SHIFTA >SYSCALL ArgV
|
||||
bcs .8
|
||||
CMD.SHIFTA >SYSCALL Shift
|
||||
|
||||
jsr RemoveStrFromArgV
|
||||
|
||||
ldy #S.PS.ARGC
|
||||
lda (pPS),y
|
||||
dec
|
||||
sta (pPS),y
|
||||
|
||||
.8 clc
|
||||
CMD.SHIFTA.RTS rts
|
||||
*--------------------------------------
|
||||
CMD.PUSHD >LDA.G PUSHD.STACK
|
||||
@ -133,7 +124,12 @@ CMD.CD.YA >SYSCALL realpath
|
||||
bcs .19
|
||||
>STYA ZPPtr2
|
||||
|
||||
jsr StrCpyPtr1Ptr2
|
||||
ldy #$ff
|
||||
.1 iny
|
||||
lda (ZPPtr1),y
|
||||
sta (ZPPtr2),y
|
||||
bne .1
|
||||
|
||||
lda #'/'
|
||||
sta (ZPPtr2),y
|
||||
|
||||
|
35
BIN/SH.S.txt
35
BIN/SH.S.txt
@ -486,21 +486,6 @@ CheckSleep ldy #Sleep+3
|
||||
ora (pData),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
RemoveStrFromArgV
|
||||
>STYA ZPPtr1
|
||||
>STYA ZPPtr2
|
||||
|
||||
jsr GetPtr1LenY
|
||||
.2 jsr AddYp1Ptr1
|
||||
|
||||
jsr StrCpyPtr1Ptr2
|
||||
tya
|
||||
beq .8
|
||||
|
||||
jsr AddAp1Ptr2
|
||||
bra .2
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
GetPtr1NextChar lda (ZPPtr1)
|
||||
beq IncPtr1.8
|
||||
|
||||
@ -518,31 +503,15 @@ GetPtr1LenY ldy #$ff
|
||||
GetPtr1NextString
|
||||
jsr GetPtr1LenY
|
||||
*--------------------------------------
|
||||
AddYp1Ptr1 tya
|
||||
tya
|
||||
AddAp1Ptr1 sec
|
||||
.HS 90 BCC
|
||||
AddAPtr1 clc
|
||||
|
||||
adc ZPPtr1
|
||||
sta ZPPtr1
|
||||
bcc .8
|
||||
inc ZPPtr1+1
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
AddAp1Ptr2 sec
|
||||
adc ZPPtr2
|
||||
sta ZPPtr2
|
||||
bcc .8
|
||||
inc ZPPtr2+1
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
StrCpyPtr1Ptr2 ldy #$ff
|
||||
.1 iny
|
||||
lda (ZPPtr1),y
|
||||
sta (ZPPtr2),y
|
||||
bne .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
ToUpperCase cmp #'a'
|
||||
bcc .8
|
||||
cmp #'z'+1
|
||||
|
@ -267,7 +267,7 @@ SYS.LoadTxtFile .EQ $AA
|
||||
SYS.GetMemStat .EQ $AC
|
||||
* .EQ $AE
|
||||
|
||||
* .EQ $B0
|
||||
SYS.Shift .EQ $B0
|
||||
SYS.ArgV .EQ $B2
|
||||
SYS.Expand .EQ $B4
|
||||
SYS.FileSearch .EQ $B6
|
||||
|
@ -1,9 +1,52 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*/--------------------------------------
|
||||
* # Shift
|
||||
* ## ASM
|
||||
* A = argument index.
|
||||
* ## RETURN VALUE
|
||||
* CC : success
|
||||
* Y,A = PTR To Arg[A]
|
||||
* CS : Out Of Bound
|
||||
*\--------------------------------------
|
||||
K.Shift jsr K.ArgV
|
||||
bcs .9
|
||||
|
||||
>STYA ZPPtr1
|
||||
* >STYA ZPPtr2 already set from ArgV
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (ZPPtr1),y
|
||||
bne .1
|
||||
|
||||
.2 jsr SHARED.AddYp1ToPtr1
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.3 iny
|
||||
lda (ZPPtr1),y
|
||||
sta (ZPPtr2),y
|
||||
bne .3
|
||||
|
||||
tya
|
||||
beq .8
|
||||
|
||||
jsr SHARED.AddYp1ToPtr2
|
||||
bra .2
|
||||
|
||||
.8 ldy #S.PS.ARGC
|
||||
lda (pPS),y
|
||||
dec
|
||||
sta (pPS),y
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # ArgV
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* A = argument index.
|
||||
* ## RETURN VALUE
|
||||
* CC : success
|
||||
|
@ -84,7 +84,11 @@ K.Expand jsr K.strdup
|
||||
lda /K.Buf256
|
||||
>STYA FORPNT
|
||||
|
||||
jsr K.GetEnv.I
|
||||
ldy #S.PS.hENV
|
||||
lda (pPs),y
|
||||
|
||||
ldx #SYS.GetEnv
|
||||
jsr K.SYSCALL.JMPX
|
||||
bcs .70
|
||||
|
||||
ldx ENV.BufLen
|
||||
@ -318,42 +322,6 @@ ENV.GetP3LenY ldy #$ff
|
||||
bne .1
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # PutEnv
|
||||
* Change or add an environment variable, string is 'NAME=VALUE'
|
||||
* ## C
|
||||
* `int putenv(char *string);`
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* `>PUSHW string`
|
||||
* `>SYSCALL putenv`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.PutEnv >PULLW TXTPTR NAME=VALUE
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (TXTPTR),y NAME=
|
||||
beq .9
|
||||
|
||||
cmp #'='
|
||||
bne .1
|
||||
|
||||
tya
|
||||
sec skip =
|
||||
adc TXTPTR
|
||||
sta FORPNT
|
||||
|
||||
lda #0
|
||||
adc TXTPTR+1
|
||||
sta FORPNT+1
|
||||
|
||||
bra K.SetEnv.I
|
||||
|
||||
.9 lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # SetEnv
|
||||
* Change or add an environment variable
|
||||
* ## C
|
||||
@ -365,18 +333,14 @@ K.PutEnv >PULLW TXTPTR NAME=VALUE
|
||||
* `>SYSCALL setenv`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.SetEnv >PULLW FORPNT value
|
||||
>PULLW TXTPTR name
|
||||
K.SetEnv
|
||||
* >PULLW FORPNT value
|
||||
* >PULLW TXTPTR name
|
||||
|
||||
K.SetEnv.I ldy #S.PS.hENV
|
||||
lda (pPs),y
|
||||
|
||||
sta SETREADAUX
|
||||
sta SETWRITEAUX
|
||||
jsr ENVX.SetEnv
|
||||
sta CLRREADAUX
|
||||
sta CLRWRITEAUX
|
||||
rts
|
||||
* ldy #S.PS.hENV
|
||||
* lda (pPs),y
|
||||
|
||||
* jmp K.SYSCALL.JMPX
|
||||
*/--------------------------------------
|
||||
* # GetEnv
|
||||
* searches the environment list to find the environment variable name,
|
||||
@ -393,17 +357,24 @@ K.SetEnv.I ldy #S.PS.hENV
|
||||
* CS : not found
|
||||
*\--------------------------------------
|
||||
K.GetEnv >PULLW FORPNT value
|
||||
>PULLW TXTPTR name
|
||||
* >PULLW TXTPTR name
|
||||
*
|
||||
* ldy #S.PS.hENV
|
||||
* lda (pPs),y
|
||||
|
||||
K.GetEnv.I ldy #S.PS.hENV
|
||||
lda (pPs),y
|
||||
|
||||
sta SETREADAUX
|
||||
sta SETWRITEAUX
|
||||
jsr ENVX.GetEnv
|
||||
sta CLRREADAUX
|
||||
sta CLRWRITEAUX
|
||||
rts
|
||||
* jmp K.SYSCALL.JMPX
|
||||
*/--------------------------------------
|
||||
* # PutEnv
|
||||
* Change or add an environment variable, string is 'NAME=VALUE'
|
||||
* ## C
|
||||
* `int putenv(char *string);`
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* `>PUSHW string`
|
||||
* `>SYSCALL putenv`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.PutEnv >PULLW TXTPTR NAME=VALUE
|
||||
*/--------------------------------------
|
||||
* # UnsetEnv
|
||||
* Remove an environment variable
|
||||
@ -415,17 +386,13 @@ K.GetEnv.I ldy #S.PS.hENV
|
||||
* `>SYSCALL unsetenv`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.UnsetEnv >PULLW TXTPTR name
|
||||
K.UnsetEnv
|
||||
* >PULLW TXTPTR name
|
||||
|
||||
ldy #S.PS.hENV
|
||||
lda (pPs),y
|
||||
|
||||
sta SETREADAUX
|
||||
sta SETWRITEAUX
|
||||
jsr ENVX.UnsetEnv
|
||||
sta CLRREADAUX
|
||||
sta CLRWRITEAUX
|
||||
rts
|
||||
jmp K.SYSCALL.JMPX
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.ENV
|
||||
|
@ -3,11 +3,17 @@ NEW
|
||||
*--------------------------------------
|
||||
ENVX.hEnv .BS 1
|
||||
*--------------------------------------
|
||||
ENVX.PutEnv ldy #$ff
|
||||
ENVX.PutEnv.9 lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
ENVX.PutEnv tax save hEnv
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.1 iny
|
||||
jsr SHARED.TXTPTR.GetY NAME=
|
||||
beq .9
|
||||
beq ENVX.PutEnv.9
|
||||
|
||||
cmp #'='
|
||||
bne .1
|
||||
@ -21,11 +27,7 @@ ENVX.PutEnv ldy #$ff
|
||||
adc TXTPTR+1
|
||||
sta FORPNT+1
|
||||
|
||||
bra ENVX.SetEnv
|
||||
|
||||
.9 lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
txa get back hEnv
|
||||
*--------------------------------------
|
||||
ENVX.SetEnv jsr ENVX.UnsetEnv
|
||||
|
||||
|
@ -106,7 +106,7 @@ K.SYSCALL .DA 0 $00
|
||||
.DA K.GetMemStat
|
||||
.DA 0
|
||||
|
||||
.DA 0 $B0
|
||||
.DA K.Shift $B0
|
||||
.DA K.ArgV
|
||||
.DA K.Expand
|
||||
.DA K.FileSearch
|
||||
@ -351,17 +351,17 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$80
|
||||
.DA #RRAMWRAMBNK2
|
||||
.DA #$80
|
||||
.DA #0 $B8 : ENV
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #0
|
||||
|
||||
.DA #0 $C0
|
||||
.DA #0 $C0 : TIME
|
||||
.DA #$80
|
||||
.DA #0
|
||||
.DA #$80
|
||||
@ -482,10 +482,18 @@ K.SYSCALL.JMPX sta SETREADAUX
|
||||
sta CLRWRITEAUX
|
||||
rts
|
||||
|
||||
.1 jmp (.2-SYS.StrFTime,x)
|
||||
.2 .DA TIMEX.StrFTime
|
||||
.1 jmp (.2-SYS.PutEnv,x)
|
||||
|
||||
.2 .DA ENVX.PutEnv
|
||||
.DA ENVX.SetEnv
|
||||
.DA ENVX.GetEnv
|
||||
.DA ENVX.UnsetEnv
|
||||
|
||||
.DA 0 Time
|
||||
.DA TIMEX.StrFTime
|
||||
.DA TIMEX.PTime2Time
|
||||
.DA TIMEX.CTime2Time
|
||||
|
||||
.DA MD5X.MD5
|
||||
.DA MD5X.Init
|
||||
.DA MD5X.Update
|
||||
|
@ -226,7 +226,8 @@ PS.Load ldy #$ff
|
||||
|
||||
.6 lda K.S.STAT+S.STAT.P.TYPE
|
||||
cmp #S.FI.T.BIN
|
||||
beq PS.LoadBIN
|
||||
bne .7
|
||||
jmp PS.LoadBIN
|
||||
|
||||
.7 cmp #S.FI.T.TXT
|
||||
beq PS.Load.SCRIPT
|
||||
@ -251,7 +252,7 @@ PS.Load.SCRIPT ldx #$ff
|
||||
|
||||
>PUSHWI PS.Load.ROOT
|
||||
>PUSHWI K.Buf256 K.Buf256 = "$ROOT"
|
||||
jsr K.GetEnv
|
||||
>SYSCALL2 GetEnv
|
||||
bcs PS.Load.IPATH
|
||||
|
||||
ldx #$ff
|
||||
@ -795,7 +796,7 @@ ENV.Search.PATH ldx #4
|
||||
|
||||
>PUSHW ENV.VARS,x
|
||||
>PUSHWI 0 allocate...
|
||||
jsr K.GetEnv get value for Search Path
|
||||
>SYSCALL2 GetEnv get value for Search Path
|
||||
bcs K.FileSearch.RTS
|
||||
|
||||
>STYA ENV.Search.2+1
|
||||
|
@ -5,57 +5,43 @@ DRV.TERM cld
|
||||
|
||||
jmp (.1,x)
|
||||
|
||||
.1 .DA DRV.TERM.STATUS.LC
|
||||
.1 .DA TERM.STATUS
|
||||
.DA A2osX.BADCALL
|
||||
.DA A2osX.BADCALL
|
||||
.DA A2osX.BADCALL
|
||||
.DA DRV.TERM.CONTROL.LC
|
||||
.DA TERM.CONTROL
|
||||
.DA A2osX.BADCALL
|
||||
.DA DRV.TERM.OPEN.LC
|
||||
.DA DRV.TERM.CLOSE.LC
|
||||
.DA DRV.TERM.READ.LC
|
||||
.DA DRV.TERM.WRITE.LC
|
||||
.DA TERM.OPEN
|
||||
.DA TERM.CLOSE
|
||||
.DA TERM.READ
|
||||
.DA TERM.WRITE
|
||||
*--------------------------------------
|
||||
DRV.TERM.STATUS.LC
|
||||
jsr DRV.TERM.GetIOCTLBufCntDCB
|
||||
TERM.STATUS jsr TERM.GetIOCTLBufCntDCB
|
||||
|
||||
ldy #S.IOCTL.STATCODE
|
||||
lda (ZPIOCTL),y
|
||||
bra DRV.TERM.TOAUX
|
||||
bra TERM.TOAUX
|
||||
|
||||
DRV.TERM.CONTROL.LC
|
||||
DRV.TERM.OPEN.LC
|
||||
DRV.TERM.CLOSE.LC
|
||||
pha DEV.ID in A for OPEN
|
||||
jsr DRV.TERM.GetDCB
|
||||
TERM.CONTROL
|
||||
TERM.OPEN
|
||||
TERM.CLOSE pha DEV.ID in A for OPEN
|
||||
jsr TERM.GetDCB
|
||||
pla
|
||||
bra DRV.TERM.TOAUX
|
||||
bra TERM.TOAUX
|
||||
|
||||
DRV.TERM.READ.LC
|
||||
DRV.TERM.WRITE.LC
|
||||
jsr DRV.TERM.GetIOCTLBufCntDCB
|
||||
TERM.READ
|
||||
TERM.WRITE jsr TERM.GetIOCTLBufCntDCB
|
||||
*--------------------------------------
|
||||
DRV.TERM.TOAUX sta SETREADAUX
|
||||
TERM.TOAUX sta SETREADAUX
|
||||
sta SETWRITEAUX
|
||||
jsr .1
|
||||
sta CLRREADAUX
|
||||
sta CLRWRITEAUX
|
||||
rts
|
||||
|
||||
.1 jmp (.2,x)
|
||||
|
||||
.2 .DA DRV.TERM.STATUS
|
||||
.DA A2osX.BADCALL
|
||||
.DA A2osX.BADCALL
|
||||
.DA A2osX.BADCALL
|
||||
.DA DRV.TERM.CONTROL
|
||||
.DA A2osX.BADCALL
|
||||
.DA DRV.TERM.OPEN
|
||||
.DA DRV.TERM.CLOSE
|
||||
.DA DRV.TERM.READ
|
||||
.DA DRV.TERM.WRITE
|
||||
.1 jmp (TERMX,x)
|
||||
*--------------------------------------
|
||||
DRV.TERM.GetIOCTLBufCntDCB
|
||||
TERM.GetIOCTLBufCntDCB
|
||||
>STYA ZPIOCTL
|
||||
|
||||
ldy #S.IOCTL.BUFPTR
|
||||
@ -74,7 +60,7 @@ DRV.TERM.GetIOCTLBufCntDCB
|
||||
eor #$ff
|
||||
sta ZPCount+1
|
||||
*--------------------------------------
|
||||
DRV.TERM.GetDCB ldy #S.FD.DEV.DCBPTR
|
||||
TERM.GetDCB ldy #S.FD.DEV.DCBPTR
|
||||
lda (pFD),y
|
||||
sta ZPDCBPtr
|
||||
|
||||
@ -100,14 +86,12 @@ DRV.TERM.GetDCB ldy #S.FD.DEV.DCBPTR
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.GetBufByte
|
||||
sta CLRREADAUX
|
||||
TERM.GetBufByte sta CLRREADAUX
|
||||
lda (ZPBufPtr)
|
||||
sta SETREADAUX
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.GetDevName
|
||||
sta CLRREADAUX
|
||||
TERM.GetDevName sta CLRREADAUX
|
||||
|
||||
lda (ZPDCBPtr) #S.DCB.TTY.DEVID
|
||||
tax
|
||||
|
@ -26,7 +26,18 @@ CsiParamCnt .BS 1
|
||||
CsiParams .BS 4
|
||||
.ED
|
||||
*--------------------------------------
|
||||
DRV.TERM.STATUS beq .1
|
||||
TERMX .DA TERMX.STATUS
|
||||
.DA A2osX.BADCALL
|
||||
.DA A2osX.BADCALL
|
||||
.DA A2osX.BADCALL
|
||||
.DA TERMX.CONTROL
|
||||
.DA A2osX.BADCALL
|
||||
.DA TERMX.OPEN
|
||||
.DA TERMX.CLOSE
|
||||
.DA TERMX.READ
|
||||
.DA TERMX.WRITE
|
||||
*--------------------------------------
|
||||
TERMX.STATUS beq .1
|
||||
|
||||
cmp #S.IOCTL.STATCODE.GETDIB
|
||||
bne .3
|
||||
@ -37,7 +48,7 @@ DRV.TERM.STATUS beq .1
|
||||
|
||||
sta CLRWRITEAUX
|
||||
|
||||
.2 lda DRV.TERM.DIB,y
|
||||
.2 lda TERMX.DIB,y
|
||||
sta (ZPBufPtr),y
|
||||
dey
|
||||
bne .2
|
||||
@ -51,10 +62,10 @@ DRV.TERM.STATUS beq .1
|
||||
.3 cmp #S.IOCTL.STATCODE.EOF
|
||||
bne .9
|
||||
|
||||
jsr DRV.TERM.ISOPENED
|
||||
beq DRV.TERM.OPEN.E
|
||||
jsr TERMX.ISOPENED
|
||||
beq TERMX.OPEN.E
|
||||
|
||||
jsr DRV.TERM.CURBLNK
|
||||
jsr TERMX.CURBLNK
|
||||
ldy #S.DCB.TTY.OUTTAIL
|
||||
lda (ZPDCBPtr),y
|
||||
iny
|
||||
@ -79,15 +90,15 @@ DRV.TERM.STATUS beq .1
|
||||
|
||||
.9 lda #MLI.E.BADCTL
|
||||
.HS 2C BIT ABS
|
||||
DRV.TERM.OPEN.E lda #MLI.E.OPEN
|
||||
TERMX.OPEN.E lda #MLI.E.OPEN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.OPEN tax
|
||||
jsr DRV.TERM.ISOPENED
|
||||
bne DRV.TERM.OPEN.E
|
||||
TERMX.OPEN tax
|
||||
jsr TERMX.ISOPENED
|
||||
bne TERMX.OPEN.E
|
||||
|
||||
DRV.TERM.OPEN.1 txa
|
||||
TERMX.OPEN.1 txa
|
||||
ldx #0
|
||||
|
||||
.2 ldy DevMgr.SCRNDEVS,x
|
||||
@ -108,17 +119,16 @@ DRV.TERM.OPEN.1 txa
|
||||
ldy #S.DCB.TTY.STATUS
|
||||
lda (ZPDCBPtr),y
|
||||
ora #S.DIB.S.OPENED
|
||||
ora DRV.TERM.DIB+S.DIB.S
|
||||
ora TERMX.DIB+S.DIB.S
|
||||
sta (ZPDCBPtr),y
|
||||
jsr RESET
|
||||
*--------------------------------------
|
||||
DRV.TERM.CONTROL
|
||||
lda (ZPDCBPtr) #S.DCB.TTY.DEVID
|
||||
TERMX.CONTROL lda (ZPDCBPtr) #S.DCB.TTY.DEVID
|
||||
sta DevMgr.ASCREEN
|
||||
|
||||
sta SETTEXT
|
||||
|
||||
jsr DRV.TERM.SCRCPY
|
||||
jsr TERMX.SCRCPY
|
||||
lda #0
|
||||
|
||||
ldy #S.DCB.TTY.bCURON
|
||||
@ -129,10 +139,10 @@ DRV.TERM.CONTROL
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.CLOSE jsr DRV.TERM.ISOPENED
|
||||
TERMX.CLOSE jsr TERMX.ISOPENED
|
||||
beq .9
|
||||
|
||||
lda DRV.TERM.DIB+S.DIB.S
|
||||
lda TERMX.DIB+S.DIB.S
|
||||
sta (ZPDCBPtr),y
|
||||
ldx #0
|
||||
|
||||
@ -152,24 +162,23 @@ DRV.TERM.CLOSE jsr DRV.TERM.ISOPENED
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.ISOPENED
|
||||
ldy #S.DCB.TTY.STATUS
|
||||
TERMX.ISOPENED ldy #S.DCB.TTY.STATUS
|
||||
lda (ZPDCBPtr),y
|
||||
bit #S.DIB.S.OPENED
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.READ bit bActive is screen active?
|
||||
TERMX.READ bit bActive is screen active?
|
||||
bpl .6 no....go check flush...
|
||||
jsr DRV.TERM.CURBLNK
|
||||
jsr TERMX.CURBLNK
|
||||
|
||||
lda OPENAPPLE
|
||||
bpl .1
|
||||
|
||||
jsr DRV.TERM.Title.ON
|
||||
jsr TERMX.Title.ON
|
||||
|
||||
bra .6 Open apple key, not for us...
|
||||
|
||||
.1 jsr DRV.TERM.Title.OFF
|
||||
.1 jsr TERMX.Title.OFF
|
||||
|
||||
lda KBD
|
||||
sta A2osX.RANDOM16
|
||||
@ -249,7 +258,7 @@ DRV.TERM.READ bit bActive is screen active?
|
||||
* sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.WRITE jsr DRV.TERM.CUROFF
|
||||
TERMX.WRITE jsr TERMX.CUROFF
|
||||
|
||||
.1 inc ZPCount
|
||||
bne .2
|
||||
@ -269,26 +278,26 @@ DRV.TERM.WRITE jsr DRV.TERM.CUROFF
|
||||
|
||||
.3 jmp (.4,x)
|
||||
|
||||
.4 .DA DRV.TERM.COUT
|
||||
.DA DRV.TERM.ESC
|
||||
.DA DRV.TERM.CSI
|
||||
.DA DRV.TERM.IAC
|
||||
.DA DRV.TERM.G0
|
||||
.DA DRV.TERM.G1
|
||||
.4 .DA TERMX.COUT
|
||||
.DA TERMX.ESC
|
||||
.DA TERMX.CSI
|
||||
.DA TERMX.IAC
|
||||
.DA TERMX.G0
|
||||
.DA TERMX.G1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT jsr DRV.TERM.GetBufByte
|
||||
TERMX.COUT jsr TERM.GetBufByte
|
||||
|
||||
cmp #IAC
|
||||
bne .1
|
||||
|
||||
lda #S.DCB.TTY.MODE.IAC
|
||||
jmp DRV.TERM.SETMODE
|
||||
jmp TERMX.SETMODE
|
||||
|
||||
.1 cmp #C.DEL
|
||||
beq DRV.TERM.COUT.DEL
|
||||
beq TERMX.COUT.DEL
|
||||
|
||||
cmp #C.SPACE
|
||||
bcs .8
|
||||
@ -310,45 +319,43 @@ DRV.TERM.COUT jsr DRV.TERM.GetBufByte
|
||||
jmp (.4,x)
|
||||
|
||||
.4 .DA ENQ
|
||||
.DA DRV.TERM.COUT.BS
|
||||
.DA DRV.TERM.COUT.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
|
||||
.DA TERMX.COUT.BS
|
||||
.DA TERMX.COUT.LF
|
||||
.DA TERMX.COUT.FF
|
||||
.DA TERMX.COUT.CR
|
||||
.DA TERMX.COUT.SO
|
||||
.DA TERMX.COUT.SI
|
||||
.DA TERMX.COUT.FS
|
||||
.DA TERMX.COUT.ESC
|
||||
*--------------------------------------
|
||||
.8 jsr SetCharAtCurPos
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.FS
|
||||
ldy #S.DCB.TTY.CH
|
||||
TERMX.COUT.FS ldy #S.DCB.TTY.CH
|
||||
lda (ZPDCBPtr),y
|
||||
inc
|
||||
sta (ZPDCBPtr),y
|
||||
cmp #80
|
||||
bcc DRV.TERM.COUT.BS.8
|
||||
bcc TERMX.COUT.BS.8
|
||||
|
||||
ldy #S.DCB.TTY.bLINEWRAP
|
||||
lda (ZPDCBPtr),y
|
||||
bpl DRV.TERM.COUT.BS.8
|
||||
bpl TERMX.COUT.BS.8
|
||||
|
||||
jsr DRV.TERM.COUT.CR
|
||||
jsr TERMX.COUT.CR
|
||||
|
||||
jmp DRV.TERM.COUT.LF.1
|
||||
jmp TERMX.COUT.LF.1
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.BS
|
||||
ldy #S.DCB.TTY.CH
|
||||
TERMX.COUT.BS ldy #S.DCB.TTY.CH
|
||||
lda (ZPDCBPtr),y
|
||||
beq DRV.TERM.COUT.BS.1
|
||||
beq TERMX.COUT.BS.1
|
||||
|
||||
dec
|
||||
sta (ZPDCBPtr),y
|
||||
DRV.TERM.COUT.BS.8
|
||||
clc
|
||||
|
||||
TERMX.COUT.BS.8 clc
|
||||
rts
|
||||
|
||||
DRV.TERM.COUT.BS.1
|
||||
ldy #S.DCB.TTY.CV
|
||||
TERMX.COUT.BS.1 ldy #S.DCB.TTY.CV
|
||||
lda (ZPDCBPtr),y
|
||||
beq .2
|
||||
|
||||
@ -362,8 +369,7 @@ DRV.TERM.COUT.BS.1
|
||||
.2 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.DEL
|
||||
ldy #S.DCB.TTY.CH
|
||||
TERMX.COUT.DEL ldy #S.DCB.TTY.CH
|
||||
lda (ZPDCBPtr),y
|
||||
beq .1
|
||||
|
||||
@ -373,7 +379,7 @@ DRV.TERM.COUT.DEL
|
||||
|
||||
.1 ldy #S.DCB.TTY.CV
|
||||
lda (ZPDCBPtr),y
|
||||
beq DRV.TERM.COUT.BS.8
|
||||
beq TERMX.COUT.BS.8
|
||||
dec
|
||||
sta (ZPDCBPtr),y
|
||||
|
||||
@ -383,34 +389,29 @@ DRV.TERM.COUT.DEL
|
||||
.3 lda #C.SPACE
|
||||
jmp SetCharAtCurPos
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.FF
|
||||
jsr HOME
|
||||
jmp DRV.TERM.CLRSCR
|
||||
TERMX.COUT.FF jsr HOME
|
||||
jmp TERMX.CLRSCR
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.CR
|
||||
lda #0
|
||||
TERMX.COUT.CR lda #0
|
||||
ldy #S.DCB.TTY.CH
|
||||
sta (ZPDCBPtr),y
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.SO
|
||||
sec
|
||||
TERMX.COUT.SO sec
|
||||
.HS 90 BCC
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.SI
|
||||
clc
|
||||
TERMX.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
|
||||
TERMX.COUT.ESC lda #S.DCB.TTY.MODE.ESC
|
||||
bra TERMX.SETMODE
|
||||
*--------------------------------------
|
||||
DRV.TERM.ESC jsr DRV.TERM.GetBufByte y = #S.DCB.TTY.MODE
|
||||
TERMX.ESC jsr TERM.GetBufByte y = #S.DCB.TTY.MODE
|
||||
|
||||
ldx #EscCodes.Cnt-1
|
||||
.2 cmp EscCodes,x
|
||||
@ -418,13 +419,13 @@ DRV.TERM.ESC jsr DRV.TERM.GetBufByte y = #S.DCB.TTY.MODE
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
bra DRV.TERM.SETMODE0
|
||||
bra TERMX.SETMODE0
|
||||
|
||||
.3 phx
|
||||
jsr .4
|
||||
plx
|
||||
lda EscModes,x
|
||||
bra DRV.TERM.SETMODE
|
||||
bra TERMX.SETMODE
|
||||
|
||||
.4 txa
|
||||
asl
|
||||
@ -436,33 +437,31 @@ DRV.TERM.ESC jsr DRV.TERM.GetBufByte y = #S.DCB.TTY.MODE
|
||||
.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 )
|
||||
.DA TERMX.SETMODE.RTS [
|
||||
.DA TERMX.SETMODE.RTS (
|
||||
.DA TERMX.SETMODE.RTS )
|
||||
*--------------------------------------
|
||||
DRV.TERM.SETMODE0
|
||||
lda #0
|
||||
DRV.TERM.SETMODE
|
||||
ldy #S.DCB.TTY.MODE
|
||||
TERMX.SETMODE0 lda #0
|
||||
TERMX.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
|
||||
TERMX.SETMODE.RTS
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.CSI ldy #S.DCB.TTY.INBUFFER
|
||||
TERMX.CSI ldy #S.DCB.TTY.INBUFFER
|
||||
lda (ZPDCBPtr),y
|
||||
inc
|
||||
sta (ZPDCBPtr),y
|
||||
tay
|
||||
|
||||
jsr DRV.TERM.GetBufByte
|
||||
jsr TERM.GetBufByte
|
||||
|
||||
sta (ZPDCBPtr),y
|
||||
cmp #64 End of Seq ?
|
||||
bcs DRV.TERM.CSI.Exec
|
||||
bcs TERMX.CSI.Exec
|
||||
cpy #S.DCB.TTY.INBUFFER.MAX-1 buffer full?
|
||||
bne .8
|
||||
|
||||
@ -471,8 +470,7 @@ DRV.TERM.CSI ldy #S.DCB.TTY.INBUFFER
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
DRV.TERM.CSI.Exec
|
||||
stz CsiHeader
|
||||
TERMX.CSI.Exec stz CsiHeader
|
||||
stz CsiParamCnt
|
||||
|
||||
lda #S.DCB.TTY.INBUFFER+1 EscSeq Ptr
|
||||
@ -651,15 +649,15 @@ Csi.Scroll ldy CsiParamCnt
|
||||
Csi.EraseScreen ldx CsiParamCnt
|
||||
|
||||
bne .1
|
||||
jmp DRV.TERM.CLRSCR.DN
|
||||
jmp TERMX.CLRSCR.DN
|
||||
.1 lda CsiParams
|
||||
cmp #1
|
||||
bne .2
|
||||
jmp DRV.TERM.CLRSCR.UP
|
||||
jmp TERMX.CLRSCR.UP
|
||||
|
||||
.2 cmp #2
|
||||
bne .9
|
||||
jmp DRV.TERM.CLRSCR
|
||||
jmp TERMX.CLRSCR
|
||||
|
||||
.9 clc
|
||||
rts
|
||||
@ -724,13 +722,13 @@ HOME lda #0
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.G0 ldx #$80
|
||||
TERMX.G0 ldx #$80
|
||||
.HS 2C BIT ABS
|
||||
DRV.TERM.G1 ldx #$40
|
||||
TERMX.G1 ldx #$40
|
||||
|
||||
ldy #S.DCB.TTY.bG0G1ALT
|
||||
|
||||
jsr DRV.TERM.GetBufByte
|
||||
jsr TERM.GetBufByte
|
||||
cmp #'0'
|
||||
beq .1
|
||||
|
||||
@ -743,15 +741,15 @@ DRV.TERM.G1 ldx #$40
|
||||
ora (ZPDCBPtr),y
|
||||
.8 sta (ZPDCBPtr),y
|
||||
|
||||
jmp DRV.TERM.SETMODE0
|
||||
jmp TERMX.SETMODE0
|
||||
*--------------------------------------
|
||||
DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER
|
||||
TERMX.IAC ldy #S.DCB.TTY.INBUFFER
|
||||
lda (ZPDCBPtr),y
|
||||
inc
|
||||
sta (ZPDCBPtr),y
|
||||
tay
|
||||
|
||||
jsr DRV.TERM.GetBufByte
|
||||
jsr TERM.GetBufByte
|
||||
|
||||
sta (ZPDCBPtr),y
|
||||
cpy #S.DCB.TTY.INBUFFER+1 CMD ?
|
||||
@ -762,7 +760,7 @@ DRV.TERM.IAC ldy #S.DCB.TTY.INBUFFER
|
||||
cmp #SB
|
||||
bne .1 not a SB/SE....stop with CMD/SUBCMD
|
||||
|
||||
jsr DRV.TERM.GetBufByte
|
||||
jsr TERM.GetBufByte
|
||||
|
||||
cmp #SE
|
||||
bne Csi.Home.8 wait for ending SE....keep bIACMode
|
||||
@ -868,7 +866,7 @@ RESET ldy #S.DCB.TTY.MODE
|
||||
iny
|
||||
cpy #S.DCB.TTY.INBUFFER+1
|
||||
bne .1
|
||||
jmp DRV.TERM.CLRSCR
|
||||
jmp TERMX.CLRSCR
|
||||
*--------------------------------------
|
||||
RESETATTR lda #$80
|
||||
ldy #S.DCB.TTY.bNORMAL
|
||||
@ -887,13 +885,12 @@ ENQ ldx #0
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.COUT.LF
|
||||
ldy #S.DCB.TTY.bCRLF
|
||||
TERMX.COUT.LF ldy #S.DCB.TTY.bCRLF
|
||||
lda (ZPDCBPtr),y
|
||||
bpl DRV.TERM.COUT.LF.1
|
||||
jsr DRV.TERM.COUT.CR
|
||||
DRV.TERM.COUT.LF.1
|
||||
ldy #S.DCB.TTY.CV
|
||||
bpl TERMX.COUT.LF.1
|
||||
jsr TERMX.COUT.CR
|
||||
|
||||
TERMX.COUT.LF.1 ldy #S.DCB.TTY.CV
|
||||
lda (ZPDCBPtr),y
|
||||
ldy #S.DCB.TTY.SCROLLBOT
|
||||
cmp (ZPDCBPtr),y
|
||||
@ -953,7 +950,7 @@ SaveCurPos ldy #S.DCB.TTY.CH
|
||||
sta (ZPDCBPtr),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
RestoreCurPos jsr DRV.TERM.CUROFF
|
||||
RestoreCurPos jsr TERMX.CUROFF
|
||||
|
||||
ldy #S.DCB.TTY.CV.SAVE
|
||||
|
||||
@ -971,10 +968,10 @@ SCROLL.UP ldy #S.DCB.TTY.SCROLLTOP
|
||||
|
||||
tax
|
||||
|
||||
.1 jsr DRV.TERM.SETUP.L1X
|
||||
.1 jsr TERMX.SETUP.L1X
|
||||
|
||||
inx
|
||||
jsr DRV.TERM.COPY.XtoL1
|
||||
jsr TERMX.COPY.XtoL1
|
||||
|
||||
txa
|
||||
ldy #S.DCB.TTY.SCROLLBOT
|
||||
@ -987,10 +984,10 @@ SCROLL.DN ldy #S.DCB.TTY.SCROLLBOT
|
||||
|
||||
tax
|
||||
|
||||
.1 jsr DRV.TERM.SETUP.L1X
|
||||
.1 jsr TERMX.SETUP.L1X
|
||||
|
||||
dex
|
||||
jsr DRV.TERM.COPY.XtoL1
|
||||
jsr TERMX.COPY.XtoL1
|
||||
|
||||
txa
|
||||
ldy #S.DCB.TTY.SCROLLTOP
|
||||
@ -1000,35 +997,33 @@ SCROLL.DN ldy #S.DCB.TTY.SCROLLBOT
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.CURBLNK
|
||||
bit bActive
|
||||
TERMX.CURBLNK bit bActive
|
||||
bpl .9
|
||||
|
||||
lda DevMgr.Timer
|
||||
and #CURSOR.BLINK.SPEED
|
||||
ldy #S.DCB.TTY.bCURON
|
||||
eor (ZPDCBPtr),y
|
||||
bne DRV.TERM.CURBLNK.1
|
||||
bne TERMX.CURBLNK.1
|
||||
|
||||
.9 rts
|
||||
|
||||
DRV.TERM.CUROFF bit bActive
|
||||
bpl DRV.TERM.CURBLNK.RTS
|
||||
TERMX.CUROFF bit bActive
|
||||
bpl TERMX.CURBLNK.RTS
|
||||
ldy #S.DCB.TTY.bCURON
|
||||
lda (ZPDCBPtr),y
|
||||
beq DRV.TERM.CURBLNK.RTS
|
||||
beq TERMX.CURBLNK.RTS
|
||||
|
||||
DRV.TERM.CURBLNK.1
|
||||
lda (ZPDCBPtr),y
|
||||
bne DRV.TERM.CURBLNK.OFF
|
||||
TERMX.CURBLNK.1 lda (ZPDCBPtr),y
|
||||
bne TERMX.CURBLNK.OFF
|
||||
|
||||
jsr GetCharAtCurPos
|
||||
bcs DRV.TERM.CURBLNK.RTS Out of screen
|
||||
bcs TERMX.CURBLNK.RTS Out of screen
|
||||
|
||||
and #$80
|
||||
eor #" "
|
||||
|
||||
DRV.TERM.CURBLNK.SET
|
||||
TERMX.CURBLNK.SET
|
||||
jsr SetCharAtY.SCR
|
||||
ldy #S.DCB.TTY.bCURON
|
||||
lda (ZPDCBPtr),y
|
||||
@ -1036,17 +1031,17 @@ DRV.TERM.CURBLNK.SET
|
||||
sta (ZPDCBPtr),y
|
||||
rts
|
||||
|
||||
DRV.TERM.CURBLNK.OFF
|
||||
TERMX.CURBLNK.OFF
|
||||
jsr GetCharAtCurPos
|
||||
bcc DRV.TERM.CURBLNK.SET if not Out of screen
|
||||
DRV.TERM.CURBLNK.RTS
|
||||
bcc TERMX.CURBLNK.SET if not Out of screen
|
||||
TERMX.CURBLNK.RTS
|
||||
rts
|
||||
*--------------------------------------
|
||||
Decimal.Out jsr MATH.A2STR10NP
|
||||
|
||||
ldx #0
|
||||
.1 lda A2osX.NumStrBuf,x
|
||||
beq DRV.TERM.CURBLNK.RTS
|
||||
beq TERMX.CURBLNK.RTS
|
||||
inx
|
||||
jsr Char.Out.Put
|
||||
bra .1
|
||||
@ -1095,8 +1090,7 @@ Char.Out.Get ldy #S.DCB.TTY.OUTTAIL
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.SETUP.L1X
|
||||
lda ZPBufBase
|
||||
TERMX.SETUP.L1X lda ZPBufBase
|
||||
clc
|
||||
adc BUF.BASEL,x
|
||||
sta ZPBufBaseL1
|
||||
@ -1106,9 +1100,9 @@ DRV.TERM.SETUP.L1X
|
||||
sta ZPBufBaseL1+1
|
||||
|
||||
bit bActive
|
||||
bpl DRV.TERM.SETUP.L1X.8
|
||||
bpl TERMX.SETUP.L1X.8
|
||||
|
||||
DRV.TERM.SETUP.L1X.SCR
|
||||
TERMX.SETUP.L1X.SCR
|
||||
lda SCR.BASEL,x
|
||||
sta ZPScrBaseL1
|
||||
txa
|
||||
@ -1117,32 +1111,30 @@ DRV.TERM.SETUP.L1X.SCR
|
||||
ora #4
|
||||
* lda SCR.BASEH,x
|
||||
sta ZPScrBaseL1+1
|
||||
DRV.TERM.SETUP.L1X.8
|
||||
TERMX.SETUP.L1X.8
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.CLRSCR.DN
|
||||
ldy #S.DCB.TTY.CV
|
||||
TERMX.CLRSCR.DN ldy #S.DCB.TTY.CV
|
||||
sta (ZPDCBPtr),y
|
||||
tax
|
||||
bra DRV.TERM.CLRSCR.1
|
||||
DRV.TERM.CLRSCR.UP
|
||||
ldx #0
|
||||
bra TERMX.CLRSCR.1
|
||||
|
||||
TERMX.CLRSCR.UP ldx #0
|
||||
ldy #S.DCB.TTY.CV
|
||||
sta (ZPDCBPtr),y
|
||||
tay
|
||||
bra DRV.TERM.CLRSCR.2
|
||||
DRV.TERM.CLRSCR ldx #0
|
||||
bra TERMX.CLRSCR.2
|
||||
|
||||
DRV.TERM.CLRSCR.1
|
||||
ldy #24
|
||||
TERMX.CLRSCR ldx #0
|
||||
|
||||
DRV.TERM.CLRSCR.2
|
||||
sty .1+1
|
||||
TERMX.CLRSCR.1 ldy #24
|
||||
|
||||
TERMX.CLRSCR.2 sty .1+1
|
||||
|
||||
sta SET80STORE
|
||||
.1 cpx #$ff SELF MODIFIED
|
||||
beq .9
|
||||
jsr DRV.TERM.SETUP.L1X
|
||||
jsr TERMX.SETUP.L1X
|
||||
lda #" "
|
||||
|
||||
bit bActive
|
||||
@ -1167,18 +1159,17 @@ DRV.TERM.CLRSCR.2
|
||||
bpl .8
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.Title.ON
|
||||
ldy #S.DCB.TTY.bTITLE
|
||||
TERMX.Title.ON ldy #S.DCB.TTY.bTITLE
|
||||
lda (ZPDCBPtr),y
|
||||
bmi DRV.TERM.Title.RTS
|
||||
bmi TERMX.Title.RTS
|
||||
|
||||
lda #$ff
|
||||
sta (ZPDCBPtr),y
|
||||
|
||||
jsr DRV.TERM.GetDevName
|
||||
jsr TERM.GetDevName
|
||||
|
||||
ldx #0
|
||||
jsr DRV.TERM.SETUP.L1X.SCR
|
||||
jsr TERMX.SETUP.L1X.SCR
|
||||
|
||||
ldy #0
|
||||
|
||||
@ -1205,20 +1196,18 @@ DRV.TERM.Title.ON
|
||||
iny
|
||||
cpy #80
|
||||
bne .4
|
||||
DRV.TERM.Title.RTS
|
||||
rts
|
||||
|
||||
TERMX.Title.RTS rts
|
||||
|
||||
DRV.TERM.Title.OFF
|
||||
ldy #S.DCB.TTY.bTITLE
|
||||
TERMX.Title.OFF ldy #S.DCB.TTY.bTITLE
|
||||
lda (ZPDCBPtr),y
|
||||
bpl DRV.TERM.Title.RTS
|
||||
bpl TERMX.Title.RTS
|
||||
lda #$0
|
||||
sta (ZPDCBPtr),y
|
||||
*--------------------------------------
|
||||
DRV.TERM.LINE0CPY
|
||||
ldx #0
|
||||
TERMX.LINE0CPY ldx #0
|
||||
.HS 2C BIT ABS
|
||||
DRV.TERM.SCRCPY ldx #23
|
||||
TERMX.SCRCPY ldx #23
|
||||
|
||||
sta SET80STORE
|
||||
|
||||
@ -1230,7 +1219,7 @@ DRV.TERM.SCRCPY ldx #23
|
||||
lda ZPBufBase+1
|
||||
adc BUF.BASEH,x
|
||||
sta .80+2
|
||||
jsr DRV.TERM.SETUP.L1X.SCR
|
||||
jsr TERMX.SETUP.L1X.SCR
|
||||
|
||||
phx
|
||||
|
||||
@ -1266,7 +1255,7 @@ DRV.TERM.SCRCPY ldx #23
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRV.TERM.COPY.XtoL1
|
||||
TERMX.COPY.XtoL1
|
||||
lda ZPBufBase
|
||||
clc
|
||||
adc BUF.BASEL,x
|
||||
@ -1353,7 +1342,7 @@ SetCharAtYX ror A2osX.RANDOM16+1
|
||||
lda REMAP.E0.FF-$E0,y
|
||||
sta ZPTmpChar
|
||||
|
||||
.3 jsr DRV.TERM.SETUP.L1X
|
||||
.3 jsr TERMX.SETUP.L1X
|
||||
ply
|
||||
lda ZPTmpChar
|
||||
sta (ZPBufBaseL1),y
|
||||
@ -1380,7 +1369,7 @@ GetCharAtCurPos ldy #S.DCB.TTY.CV
|
||||
bcs .9 Out of screen
|
||||
|
||||
tax
|
||||
jsr DRV.TERM.SETUP.L1X
|
||||
jsr TERMX.SETUP.L1X
|
||||
|
||||
ldy #S.DCB.TTY.CH
|
||||
lda (ZPDCBPtr),y
|
||||
@ -1451,7 +1440,7 @@ RESET.VALUES .DA #0 MODE
|
||||
.DA #S.DCB.TTY.OUTBUFFER OUTHEAD
|
||||
.DA #S.DCB.TTY.INBUFFER INBUFFER
|
||||
*--------------------------------------
|
||||
DRV.TERM.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
|
||||
TERMX.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
|
||||
.DA #0,#0,#0
|
||||
>PSTR "A2osX VT100 term"
|
||||
.DA #S.DIB.T.CHAR
|
||||
|
@ -16,7 +16,6 @@ K.Time >PULLW FORPNT
|
||||
>LDYAI DATELO
|
||||
>STYA TXTPTR
|
||||
ldx #SYS.PTime2Time
|
||||
|
||||
jmp K.SYSCALL.JMPX
|
||||
*/--------------------------------------
|
||||
* # StrFTime
|
||||
|
Loading…
x
Reference in New Issue
Block a user