From 878d0d52684461d8e5542af790f1a85c14ee6dfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 3 Mar 2017 17:37:15 +0100 Subject: [PATCH] Kernel version 0.9 : Telnet ECHO mode and other IAC stuff --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.DEV.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/EDIT.S.txt | 5 +- DRV/CONSOLE.DRV.S.txt | 11 +++ DRV/SSC.I.DRV.S.txt | 6 +- INC/NET.TELNET.I.txt | 2 + SBIN/GETTY.S.txt | 187 ++++++++++++++++++++++++++++++++---------- 8 files changed, 163 insertions(+), 48 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 274f5e11d7ccaf6195de3703f81124b77bd69981..213e3d1400a0c7c5ba7511737d264fee044d5169 100644 GIT binary patch delta 2079 zcmY*a4{Q_X6~D7_atRJ`VOmZJh0mY;nmA<4Eu~FCD@h1Vih`hsC6J`-wyskq=KMh= zgp|#0rAi^=P#jkZmCkUwsa-DEnPbzE&^o$l?ZidYyLOwps_JCMCS_HWUR#h5ZE@el zA%)Z3_r3SN_kQ2^{hr>tP?ig2xx@x1Yfo)-x_7gmMCx1r&#wE!rnbT|Xxeq)z#(Sk zDY(JdnQgXI!{ON<2Va%WffNOqQJ5EI7Z75G3g6}csE%6ZxehWF~U1$g6I-Wq@7h0__I64$2)(WQ`o~5(Jf^9&yc;~Y@ z!$h3+dvNCN$2o*J=#c{R2k8_T4pK=&g?gb;ARUA`V+hT9R5R!hn-MSZUWN*1nEl3t6lj=5{ zKBM_1E>9>gC@gxIg$l3p33g)cOdDkIoNLkire)rz?^`lkw8cBXtdD1Bb=E9E*;wU9 zlQL3%1dNJ&qDZ?}>;zvZuRSdzJt1daiFaCLVc650*a3oGH&USgEMfEQ;F^bbCstW$ zfFpXmdOy&l+&kKw541DB)7pEvnRi~P;;0Puls^q%O7J`0Q8Ak@aY!CaT= zhRFb=pM~b(a$l(!fG%FJH|}{ZvhG5kGxsf9Qp`BGVrNN3gtb*fUcbM8(IH;C6}$%B*}p;$HHm8ub+(Zo_sEYU*Mxd*6id9PyFYae^Z>%Tn~vZ%@>?J3ZEXu(wj4Gh1RAAV0`9x%lM(22!eIU z)Cx6G@K-mJ1y7ewMoL%e5fj;Rjw+5%$1DKXEnXNdo;dkSQgaUcpm!KtCWsf15oD!1 ztj~9c_4)45OBQ9Alp!jEUYBrYU04cBtpp=dAe{$=k)}XO!hBi=GUiQe&z#5nG{>hP zmV`A^u=(!D2c|%rg0q1nh<9yWeBeh*){#FiCL#1r&3SPB5JA-(1{-z@Bn7WsgvAsf zyuRK1Bl{nA)#x|a4l+|U^V`|Id^L5RD)IZ4aMM`>4>hW>jmppGr-KHW6T zmX}H7?P;&Gg2c*+@|1OpJCT1+ZzxG_b`{C>Q`EF?3)9Fq)85^GbIa^hooKk#7nQXn zD*P+-{x(Dw}qBmPOevr!&InU!ee*YK4`b7&8{z#2$#aY?YV38e}i9 zmtH@~{bvV(g`NS>^Em+~xE(T`tiocdXLQ3%tM$;NIs>Y0_~j z^;78tm2j^O(cf!oNpx6C4{3OOyv<#=yx30{j#JZ>9;EYGJfOmy=^uOPJ+}P$zgz73 z#ecZfDx~hi6?Xq=v1_RoyUU8|%iHqo`X7E|%cEN#d%X6E`i7m2yPo0(#_?cCEz)W{ zfQRt8%)+xsNfrObUs-DFyqRKccUZEwX@C8mCp(XJb~Cv7(?YVF9<#V@rHfKgg PW_nXDTQB>@0^9f<3ZO{P delta 2698 zcmaJ?0c;c38NPGk#5PIn5=u<6!SjnB;MfVKNNZHOl2o+VAt4!~?HUleBvf@v6Ou4( zG-I;apbH^~lDHB`~Ua*JTZ+YrWs$GN9!lo<(X>e8E^Hgf2Z?)Yke)Z=;<9V?b-7> z_2`$gkD@6*J^AAP=}qoJB5ULE*+L@TH!??mh6IYOB|;HfM+6VMlNcG8dSLQVQ`1Dw zL4PyPh!2d+n3KrrIVbVxM{9_v0<(J7N#<&Zfbw?|&;ne$-pn}(S3~%s&>C{W9@_FsgZK)Jb}maLO65p!Mc>EGf!BQ}-B6G)?1P=BWi9F!2$2 zRmev~H7drQ+(@pN!|fzdaWSp3MMX>C0}{y*u}}i(5ca|ls3FD3YZkUDvNJ932067w z%n>MGktZ*v5({AGbE7=zh9vjaDaQgo?yTCISfQlFtlB#`qJrrbPU|%33>q1p1`9ct zH%5%(v_E>fhRi{nD*@&exFOPzf|axdb`iNc5SxzBat_F%NkPPtbWu>9nN@DWomYOm zJ98r@^?m-g&3%ji>7U^-7W;%BiR@5ekg;cxNB z*nroSK3CdW+FSZzDMbl%B@<{tqs_?3aJvZCL%36fV+hwo*xS>{fYE-;{wU1q!)$(- zrNZo@XQ@JxADO%#{KA zK24k>p3AoKUSe1cq(Txli&+YZkDUF0Bzy$uBU|P7)6OAOh;)+veKO0Nyr?xc($%SJ ziqS#z4f+nfZ8~o1H=Q?m(WMP;?9=s^`BuQ2*Iy>6_)bKH#`F1~DpO96uc{xqC{Th% zixK~_f_*3a8s(e#cR=PpRsc0DJzolHKA2V?e^OltOMehYw#nM!0X)*vk3F}8SYCJ4 ze7QTO*aPJA?i~w+~#>OltnH z^hwLMYaLkDu^o7DXcBKUG8-!y?oB+_hC?UACpB{Ev0MaIk^uN&>avz=HjnwrEz-Qk&Vm8kMjy&WmTi*I+)TUF3QxfjnLrQg~?H=WUc zM!%wJ!`|6%O3obnjOO?M#Z-vz<4n73G>vXB85tv^IRYMrPlma6%pJm9C+2{0?a-;P zkU!KD4t0kiNQimaEG-_wi|tr8gbw3)48q{4(}&I+yFwRRXO*fv*3s-6E7Rq;(Nqt!%lY|~#kH<7( z0ubvXgbA7#%no$wPcBckBJvuYL$JR^fw3zp-Ul^XCM}pbtK=!j$S_$I$R=^+l4o_$ zd_uKghB0fw?8}-^oh_5P4NKfM39YgySP2Re4$Rr~Js43{%$w5uzN z!H42u!;>Bq<*G`5piFWm6%&z;!+6>%{eRbO8P_+I^H}sAP0;MUa6<2X2u>dhm6}k= zdN}4xph}YO&sIrdf>Ff0K(&&p83p+Y&i~{VzighFP=Q`CRfCPZDk|Rl-+g~>jO2@2 zJ{zr>9?unYAh_2|cYV$9*~1l5)bRBZj|$493aeCMlPbz3U-ndm^lpW8wgQs(RaCt5 zxi6d70tS`W+K0ACQJ2zTDX}|hSV%>hBj_scRZ0HP7Aazvb%`p;XYZ|+;Nz>6HKP#P z({L2qHpu`bEk|&ED2fY0kH>W4EW@R8o=zoC1<=7c8k* zmRfI8uEgi5lp;CudiZY)ZQZx1Fr8gFchbt4A+3d?J0U^gR`v^oy4t9cFP0uv^nCVV zY3c0m!tMd99U1N1K?f z@{$_S%B(Q2vt6RI_lB5%SlYUD3fh?yMo6T;SW+azoR+Y9+W$9}OOL7>0hwES@%+^r zk?P=z#2`AkCouq%-zDUgo1(VqM|ZOrX4J+6qI_!OK4PSeQS|exjRfL6wGlyrVMhlH zaMD2%7Ci?;NOIlLaf56)noRMBgMOrW;b0g;%($?S;S*P1lB=%%%kqP(!|w6OMNHS8 z1W1mihcxnh;30((zV?v8D7QR}qrh*$HO7ko8K+g(;sotFBqkf)?`?eEspIVEFU(7S As{jB1 diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index dfbfa06a9112bedfb33072ddd87d4bb85dab2a12..027dd53a03232be1a6dcee424196a95e18fa223b 100644 GIT binary patch delta 18611 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 W*(-m_@0rX#p8tXEf&Eh*t^Ws5ovK3s diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index f836467a..f84a69d9 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -144,8 +144,6 @@ CS.RUN >LDYA L.SEQ.DETECT lda (pData),y for W & H beq .1 - >DEBUG - jsr SCRN.Init bcs .9 @@ -196,7 +194,7 @@ CS.QUIT ldy #hBuffer .9 rts *-------------------------------------- CharIn tax - >DEBUG + ldy #bEscMode lda (pData),y asl @@ -251,6 +249,7 @@ CharIn.Esc ldy #bEscMode beq .2 dex bne .1 + cmp #'R' Response to cursor position query? beq .3 diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index f30473be..57b4b675 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -12,6 +12,7 @@ AUTO 6 .INB /A2OSX.DEV/INC/A2OSX.I .INB /A2OSX.DEV/INC/IO.I .INB /A2OSX.DEV/INC/MLI.ERR.I + .INB /A2OSX.DEV/INC/NET.TELNET.I *-------------------------------------- CURSOR.BLINK.SPEED .EQ 8 ESCSEQ.MAXLEN .EQ 16 @@ -106,6 +107,14 @@ OPEN stz CURON jsr RESET jsr HOME + + ldy #0 + +.1 lda TelnetOpt,y + beq CONTROL + jsr Char.Out.Put + iny + bne .1 *-------------------------------------- CONTROL sta SETTEXT sta SETALTCHAR @@ -810,6 +819,8 @@ KeyRemappedDOWN .HS 1B5B4200 esc[B KeyRemappedUP .HS 1B5B4100 esc[A KeyRemappedCR .HS 0D0A00 crlf KeyRemappedRGHT .HS 1B5B4300 esc[C +TelnetOpt .DA #IAC,#DO,#TELOPT.ECHO + .DA #13,#10,#0 *-------------------------------------- CtrlChars.Cnt .EQ 6 CtrlChars .HS 05080A0C0D1B diff --git a/DRV/SSC.I.DRV.S.txt b/DRV/SSC.I.DRV.S.txt index 0e6500bd..8f0ee029 100644 --- a/DRV/SSC.I.DRV.S.txt +++ b/DRV/SSC.I.DRV.S.txt @@ -199,6 +199,10 @@ READ.DEBUG phx lda (ZPTmpPtr1),y sta READ.DEBUG.JMP+2 + lda #'(' + ldx #DEVMGR.WRITE + jsr READ.DEBUG.JMP + pla pha lsr @@ -220,7 +224,7 @@ READ.DEBUG phx ldx #DEVMGR.WRITE jsr READ.DEBUG.JMP - lda #'/' + lda #')' ldx #DEVMGR.WRITE jsr READ.DEBUG.JMP diff --git a/INC/NET.TELNET.I.txt b/INC/NET.TELNET.I.txt index adb69fcf..6fda5892 100644 --- a/INC/NET.TELNET.I.txt +++ b/INC/NET.TELNET.I.txt @@ -7,6 +7,8 @@ AUTO 6 * https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/+/jb-dev/sysroot/usr/include/arpa/telnet.h SE .EQ 240 SB .EQ 250 +SB.IS .EQ 0 +SB.SEND .EQ 1 WILL .EQ 251 $FB WONT .EQ 252 $FC DO .EQ 253 $FD diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index 0e58c94a..92bf2966 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -12,6 +12,8 @@ AUTO 6 .INB /A2OSX.DEV/INC/A2OSX.I .INB /A2OSX.DEV/INC/NET.TELNET.I *-------------------------------------- +TIMEOUT.MAX .EQ 10 1 sec. +*-------------------------------------- ZPTmp1 .EQ ZPBIN *-------------------------------------- * File Header (16 Bytes) @@ -33,7 +35,7 @@ CS.START cld .DA CS.DOEVENT .DA CS.QUIT L.MSG.USAGE .DA MSG.USAGE -L.MSG.TELNETOPT .DA MSG.TELNETOPT +L.MSG.TELNET.OPT .DA MSG.TELNET.OPT L.MSG.GREETINGS .DA MSG.GREETINGS L.TERM .DA TERM .DA 0 End Of Reloc Table @@ -72,55 +74,124 @@ CS.INIT >SYSCALL GetArgC ldy #hBinName sta (pData),y + + lda (pPs) + ora #S.PS.F.EVENT Now accept events + sta (pPs) + clc .9 rts *-------------------------------------- -CS.RUN - >LDYA L.MSG.TELNETOPT - >SYSCALL CPrintFYA - bcs * - - lda #$83 - jsr PRINT.DEBUG - -.1 >SYSCALL Sleep +CS.RUN jsr Init.Timeout + +.66 >SYSCALL Sleep >SYSCALL GetC - bcs .2 - - jsr PRINT.DEBUG - bra .1 + bcc .1 + bcs .66 +* jsr Wait.Timeout +* bcc .66 + +* jmp .2 + -.2 lda #5 Ctrl-E - >SYSCALL PutCA - bcs * - - lda #$84 - jsr PRINT.DEBUG - -.3 >SYSCALL Sleep +.10 >SYSCALL Sleep >SYSCALL GetC - bcs .4 + bcs .1 + - jsr PRINT.DEBUG - tax - lda (pData) - cmp #63 - beq .4 - inc - sta (pData) - tay - txa +.1 cmp #IAC + beq .11 + + jmp .2 + +.11 >SYSCALL Sleep + >SYSCALL GetC + bcs .11 + + ldy #IAC.VERB sta (pData),y - bra .3 -.4 lda (pData) +* jsr PRINT.DEBUG + +.12 >SYSCALL Sleep + >SYSCALL GetC + bcs .12 + + ldy #IAC.OPT + sta (pData),y + +* jsr PRINT.DEBUG + + ldy #IAC.VERB + lda (pData),y + cmp #SB + bne .10 + + ldy #IAC.OPT + lda (pData),y + cmp #TELOPT.TTYPE + bne .15 only interested in Term Type, go get IAC,SE + +.13 >SYSCALL Sleep + >SYSCALL GetC + bcs .13 + + cmp #SB.IS not a valid reply, go get IAC,SE + bne .15 + + lda #0 + sta (pData) reset IAC.TERM + +.14 >SYSCALL Sleep + >SYSCALL GetC + bcs .14 + + cmp #IAC + beq .16 end of DATA, go wait SE + + pha + lda (pData) + inc + tay + sta (pData) + pla + + sta (pData),y + bra .14 + +.15 >SYSCALL Sleep + >SYSCALL GetC + bcs .15 + + cmp #IAC + bne .15 + +.16 >SYSCALL Sleep + >SYSCALL GetC + bcs .16 + + cmp #SE + bne .16 + + + jmp .10 + +.2 + + lda (pData) beq .5 - >PUSHW pdata + >PUSHW pData >PUSHW L.TERM >SYSCALL SetEnv -.5 >LDYA L.MSG.GREETINGS +.5 + + >LDYA L.MSG.TELNET.OPT + >SYSCALL CPrintFYA + bcs * + + >LDYA L.MSG.GREETINGS >SYSCALL CPrintFYA bcs .8 unable to send greetings...loop.. @@ -134,8 +205,18 @@ CS.RUN .8 clc rts *-------------------------------------- -CS.DOEVENT sec - rts +CS.DOEVENT lda (pEvent) + bpl .9 is it a TIMER event? + + ldy #TimeOut + lda (pData),y + beq .9 + + dec + sta (pData),y + +.9 sec do not discard TIMER event + rts *-------------------------------------- CS.QUIT ldy #hBinName lda (pData),y @@ -198,18 +279,33 @@ PRINT.DEBUG phx rts PRINT.DEBUG.JMP jmp $ffff *-------------------------------------- +Init.Timeout ldy #TimeOut + lda #TIMEOUT.MAX + sta (pData),y + rts +*-------------------------------------- +Wait.TimeOut sec + ldy #TimeOut + lda (pData),y + beq .9 + clc +.9 rts +*-------------------------------------- CS.END PRINT.DEBUG.CHAR .AS "0123456789ABCDEF" MSG.USAGE >CSTR "GETTY \r\n" -MSG.TELNETOPT +MSG.TELNET.OPT +* .DA #IAC,#WILL,#TELOPT.BINARY * .DA #IAC,#DO,#TELOPT.LINEMODE * .DA #IAC,#SB,#TELOPT.LINEMODE,#1,#0,#IAC,#SE - .DA #IAC,#WILL,#TELOPT.BINARY + .DA #IAC,#DONT,#TELOPT.ECHO .DA #IAC,#WILL,#TELOPT.ECHO -* .DA #IAC,#WILL,#TELOPT.SGA + .DA #IAC,#WILL,#TELOPT.SGA + .DA #IAC,#DO,#TELOPT.SGA * .DA #IAC,#DO,#TELOPT.NAWS - .DA #IAC,#DO,TELOPT.TTYPE - .DA #13,#10,#0 + .DA #IAC,#DO,#TELOPT.TTYPE + .DA #IAC,#SB,#TELOPT.TTYPE,#SB.SEND,#IAC,#SE + .DA #0 MSG.GREETINGS >CSTR "\r\nA2osX-GeTTY\r\n" TERM >PSTR "TERM" * \e[12h @@ -217,8 +313,11 @@ TERM >PSTR "TERM" .DUMMY .OR 0 DS.START -InBuf .BS 64 +IAC.TERM .BS 64 hBinName .BS 1 +TimeOut .BS 1 +IAC.VERB .BS 1 +IAC.OPT .BS 1 DS.END .ED MAN SAVE SBIN/GETTY.S