diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 4fe9f66c..15826c06 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index fe8c9a93..7986a22b 100644 Binary files a/.Floppies/A2OSX.SRC.po and b/.Floppies/A2OSX.SRC.po differ diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index 59a88156..ad83ed6b 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -35,7 +35,7 @@ L.MSG.USAGE .DA MSG.USAGE L.MSG.GREETINGS .DA MSG.GREETINGS L.TELNETOPTS .DA TELNETOPTS L.TELNETOPT.TTYPE .DA TELNETOPT.TTYPE -L.TELNETOPT.LINEMODE .DA TELNETOPT.LINEMODE +L.TELNETOPT.LMODE .DA TELNETOPT.LMODE L.ENV.TERM .DA ENV.TERM L.MSG.DEBUG .DA MSG.DEBUG .DA 0 End Of Reloc Table @@ -79,68 +79,66 @@ CS.INIT ldy #S.PS.ARGC sec .9 rts *-------------------------------------- -CS.RUN >PUSHWI TELNETOPTS.LEN +CS.RUN >LDYA L.ENV.TERM + >SYSCALL UnSetEnv + + >PUSHWI TELNETOPTS.LEN >PUSHW L.TELNETOPTS ldy #S.PS.hStdOut lda (pPs),y >SYSCALL write - bcs CS.RUN.8 + bcs CS.RUN.9 >PUSHWI K.VER >PUSHBI 2 >LDYA L.MSG.GREETINGS >SYSCALL printf - bcs CS.RUN.8 unable to send greetings...reset.. + bcs CS.RUN.9 unable to send greetings...reset.. jsr Init.Timeout -CS.RUN.LOOP - >SLEEP +CS.RUN.LOOP >SLEEP + + >SYSCALL GetChar + bcs .1 -.1 >SYSCALL GetChar - bcs .2 cmp #IAC beq CS.RUN.IACMODE >SYSCALL PutChar - bcc .8 + bcc .2 + bra CS.RUN.8 -.2 jsr Wait.Timeout +.1 jsr Wait.Timeout bcc CS.RUN.LOOP - -.8 lda #2 +.2 lda #2 >SYSCALL GetArg - >SYSCALL ExecPS + >SYSCALL ExecPSNewEnv -CS.RUN.8 clc +CS.RUN.8 +CS.RUN.9 clc rts *-------------------------------------- -CS.RUN.IACMODE jsr PrintHEX - - >SLEEP Wait for IAC VERB (or SB) +CS.RUN.IACMODE >SLEEP Wait for IAC CMD (or SB) >SYSCALL GetChar bcs CS.RUN.IACMODE - jsr PrintHEX - >STA.G IAC.CMD -.1 >SLEEP Wait for IAC OPT +.1 >SLEEP Wait for IAC SUBCMD >SYSCALL GetChar bcs .1 - jsr PrintHEX - >STA.G IAC.SUBCMD tax >LDA.G IAC.CMD cmp #SB - beq CS.RUN.IACSB + beq CS.RUN.IAC.SB *-------------------------------------- -CS.RUN.IACVERB cmp #WILL +CS.RUN.IAC.CMD cmp #WILL bne .8 cpx #TELOPT.TTYPE @@ -153,8 +151,8 @@ CS.RUN.IACVERB cmp #WILL .2 cpx #TELOPT.LINEMODE bne .8 - >PUSHWI TELNETOPT.LINEMODE.LEN - >PUSHW L.TELNETOPT.LINEMODE + >PUSHWI TELNETOPT.LMODE.LEN + >PUSHW L.TELNETOPT.LMODE .7 ldy #S.PS.hStdOut lda (pPs),y @@ -162,46 +160,42 @@ CS.RUN.IACVERB cmp #WILL .8 jmp CS.RUN.LOOP *-------------------------------------- -CS.RUN.IACSB -.1 >SLEEP +CS.RUN.IAC.SB +.1 >SLEEP Wait for IAC SB.IS or SEND >SYSCALL GetChar bcs .1 - - jsr PrintHEX - >STA.G IAC.SB - lda #0 - sta (pData) reset IAC.SB.DATA + >STA.G IAC.SB.CMD + + >STZ.G IAC.SB.LEN .2 >SLEEP >SYSCALL GetChar bcs .2 - jsr PrintHEX cmp #IAC beq .4 end of DATA, go wait SE pha - ldy #IAC.SB.DATA-1 - -.3 iny - lda (pData),y - bne .3 + >LDA.G IAC.SB.LEN + clc + adc #IAC.SB.DATA + tay pla sta (pData),y iny lda #0 sta (pData),y + + >INC.G IAC.SB.LEN bra .2 .4 >SLEEP >SYSCALL GetChar bcs .4 - jsr PrintHEX - cmp #SE bne .8 @@ -209,7 +203,7 @@ CS.RUN.IACSB cmp #TELOPT.TTYPE bne .8 - >LDA.G IAC.SB + >LDA.G IAC.SB.CMD cmp #SB.IS bne .8 @@ -249,13 +243,13 @@ Wait.TimeOut sec clc .9 rts *-------------------------------------- -PrintHEX pha - >PUSHA - >PUSHBI 1 - >LDYA L.MSG.DEBUG - >SYSCALL printf - pla - rts +*PrintHEX pha +* >PUSHA +* >PUSHBI 1 +* >LDYA L.MSG.DEBUG +* >SYSCALL printf +* pla +* rts *-------------------------------------- CS.END MSG.USAGE .AZ "Usage : GETTY " @@ -270,22 +264,24 @@ TELNETOPTS .DA #IAC,#WILL,#TELOPT.BINARY .DA #IAC,#DO,#TELOPT.TTYPE .DA #IAC,#DO,#TELOPT.LINEMODE TELNETOPTS.LEN .EQ *-TELNETOPTS +*-------------------------------------- TELNETOPT.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.SEND,#IAC,#SE TELNETOPT.TTYPE.LEN .EQ *-TELNETOPT.TTYPE -TELNETOPT.LINEMODE - .DA #IAC,#SB,#TELOPT.LINEMODE,#SB.SEND,#0,#IAC,#SE -TELNETOPT.LINEMODE.LEN +*-------------------------------------- +TELNETOPT.LMODE .DA #IAC,#SB,#TELOPT.LINEMODE,#SB.SEND,#0,#IAC,#SE +TELNETOPT.LMODE.LEN .EQ *-TELNETOPT.LMODE ENV.TERM .AZ "TERM" *-------------------------------------- .DUMMY .OR 0 DS.START -IAC.SB.DATA .BS 64 -IAC.CMD .BS 1 -IAC.SUBCMD .BS 1 -IAC.SB .BS 1 hDEV .BS 1 TimeOut .BS 1 +IAC.CMD .BS 1 +IAC.SUBCMD .BS 1 +IAC.SB.CMD .BS 1 +IAC.SB.LEN .BS 1 +IAC.SB.DATA .BS 32 DS.END .ED MAN SAVE /A2OSX.SRC/SBIN/GETTY.S diff --git a/SBIN/SHELL.S.CL.txt b/SBIN/SHELL.S.CL.txt index eabd35cf..f17029bf 100644 --- a/SBIN/SHELL.S.CL.txt +++ b/SBIN/SHELL.S.CL.txt @@ -35,7 +35,7 @@ CL.CHARIN tax sta (pData),y Y=bEscMode txa - ldx #EscChars.count-1 + ldx #EscChars.Cnt-1 .17 cmp EscChars,x beq .18 diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index fa228e22..d46f5b43 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -389,10 +389,8 @@ Cmd.Exec.SET lda (ZPPTR2) >PUSHW ZPPTR2 Push value >PUSHW ZPPTR1 Push name + jsr Cmd.Exec.SET.PRINT - >PUSHBI 4 - >LDYA L.MSG.PRINTENV - >SYSCALL printf bcs .9 ldy #$ff @@ -412,22 +410,20 @@ Cmd.Exec.SET lda (ZPPTR2) .8 clc .9 jmp Cmd.Exec.Done - - -Cmd.Exec.SETVAR ldy #0 - - lda (ZPPTR2),y - iny - cmp #'=' string is '=value' ? +*-------------------------------------- +Cmd.Exec.SETVAR cmp #'=' string is '=value' ? beq .99 syntax error -.1 lda (ZPPTR2),y - iny + ldy #0 + +.1 iny + lda (ZPPTR2),y beq .3 no =, GetEnv cmp #'=' ARGS contains =, PutEnv bne .1 + iny lda (ZPPTR2),y beq .2 "VAR=" go UnsetEnv @@ -435,8 +431,10 @@ Cmd.Exec.SETVAR ldy #0 >SYSCALL PutEnv jmp Cmd.Exec.Done -.2 dey String is "VAR=", Remove endig '=' +.2 dey String is "VAR=", Remove ending '=' + lda #0 sta (ZPPTR2),y + >LDYA ZPPTR2 String is "VAR"... >SYSCALL UnsetEnv jmp Cmd.Exec.Done @@ -449,16 +447,19 @@ Cmd.Exec.SETVAR ldy #0 >PUSHYA push value >PUSHW ZPPTR2 push name - >LDYA L.MSG.PRINTENV - - >PUSHBI 4 - >SYSCALL printf + jsr Cmd.Exec.SET.PRINT .8 clc .9 jmp Cmd.Exec.Done .99 jmp Cmd.Exec.ERRSYN *-------------------------------------- +Cmd.Exec.SET.PRINT + >PUSHBI 4 + >LDYA L.MSG.PRINTENV + >SYSCALL printf + rts +*-------------------------------------- Cmd.Exec.DATE sec .HS 90 bcc Cmd.Exec.TIME clc diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index 3456aa75..01cf46e6 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -370,8 +370,8 @@ FMT.TIME .AZ "%H:%M:%S (%I:%M:%S%p)" .INB /A2OSX.SRC/SBIN/SHELL.C.CSH .INB /A2OSX.SRC/X.ERRORS.S *-------------------------------------- -EscChars.Count .EQ 4 EscChars .AS 'DBAC' +EscChars.Cnt .EQ *-EscChars *-------------------------------------- .DUMMY .OR 0