diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index d0de8c8b..c954ea82 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -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[]) diff --git a/.Docs/LIBCRYPT.md b/.Docs/LIBCRYPT.md deleted file mode 100644 index 38915ef8..00000000 --- a/.Docs/LIBCRYPT.md +++ /dev/null @@ -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 *** diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index eee2ec66..f7396abd 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt index 6ee33b95..8319871c 100644 --- a/BIN/EDIT.S.CTRL.txt +++ b/BIN/EDIT.S.CTRL.txt @@ -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 diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index 52afe13f..250ad5f6 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -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 *-------------------------------------- diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index 7fe1baa5..2317731f 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -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 diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 2f64c5f4..6abb9733 100644 --- a/BIN/SH.S.txt +++ b/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 diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index b7f6ec2f..201e1289 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -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 diff --git a/SYS/KERNEL.S.ARG.txt b/SYS/KERNEL.S.ARG.txt index 6137178b..a1850bff 100644 --- a/SYS/KERNEL.S.ARG.txt +++ b/SYS/KERNEL.S.ARG.txt @@ -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 diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index c7152bef..33614ee9 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -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 diff --git a/SYS/KERNEL.S.ENVX.txt b/SYS/KERNEL.S.ENVX.txt index bc0bef69..cb73eb51 100644 --- a/SYS/KERNEL.S.ENVX.txt +++ b/SYS/KERNEL.S.ENVX.txt @@ -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 diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index fbe0b95f..a78c302f 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -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 diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 76e87149..3941acb9 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -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 diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index b9f4e198..a0142c6b 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -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 diff --git a/SYS/KERNEL.S.TERMX.txt b/SYS/KERNEL.S.TERMX.txt index 125c9aa6..8aaf8d75 100644 --- a/SYS/KERNEL.S.TERMX.txt +++ b/SYS/KERNEL.S.TERMX.txt @@ -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 diff --git a/SYS/KERNEL.S.TIME.txt b/SYS/KERNEL.S.TIME.txt index b0aabcc1..0aaaa001 100644 --- a/SYS/KERNEL.S.TIME.txt +++ b/SYS/KERNEL.S.TIME.txt @@ -16,7 +16,6 @@ K.Time >PULLW FORPNT >LDYAI DATELO >STYA TXTPTR ldx #SYS.PTime2Time - jmp K.SYSCALL.JMPX */-------------------------------------- * # StrFTime