From 714a4bdff2a874975ae4daa2650e97a4517cb93d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9my=20GIBERT?= <burniouf@users.noreply.github.com>
Date: Wed, 6 Nov 2019 14:14:42 +0100
Subject: [PATCH] Kernel 0.93+

---
 .Floppies/A2OSX.BUILD.po    | Bin 33553920 -> 33553920 bytes
 BIN/EDIT.S.BUF.txt          |  50 +++++------
 BIN/EDIT.S.CTRL.txt         |   4 +-
 BIN/EDIT.S.FILE.txt         | 148 +++++++++++++++++++++++++++++++
 BIN/EDIT.S.SCRN.txt         |   2 +-
 BIN/EDIT.S.txt              |  97 ++------------------
 BIN/TERM.S.txt              | 171 ++++++++++++++++++++++++++++++++++++
 ProDOS.FX/ProDOS.S.CCLK.txt |   1 -
 ProDOS.FX/ProDOS.S.TCLK.txt |   8 +-
 ProDOS.FX/ProDOS.S.txt      |   4 -
 SHARED/X.UNPAK.S.txt        |  24 +++--
 11 files changed, 373 insertions(+), 136 deletions(-)
 create mode 100644 BIN/EDIT.S.FILE.txt
 create mode 100644 BIN/TERM.S.txt

diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po
index f33979cc9d05a451f0fa1fcc1df7b031996e3fb2..57ecb8c0009482d43e84a4f1c5c6acad81bebfe2 100644
GIT binary patch
delta 18375
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
Y*8tZ6zX5&+`~mnA@E7+uy}?cYe=~nG5&!@I

delta 16908
zcmd^mX+Tp)_xIcg$%Oz(fDj-okpKx>OadtGvI>gqZfI46C@8YiN84J6!e~{jwSAn@
z6}8%8wPJ0hd$Fsvw#DggZELMstJY#y?Z*Giy*G&V`Tl-*)t@(W=FFKhXSOrv&Tai`
zP}K_Px!@)<D-K?A^XA+tOd9^)zujYHCdIuma-*BW6sWnkKz>kNH~~3K;XX$6EiyPv
zI?cU)3WxeY5)ch8VxZ>Wdd1gn+p63>$>M+7Vh^glUX=Mv9u)qxuAhS757FrPpo6Pb
zPrSuh4@Q3yz(t|d;u)3_%jo13+i1oiKk6k%Djuzl_T^b^sKPYX|K74sbD56&Kb3o{
z?<hbEP03=d?8m`3&)mg<!Uqe^eavxjYopJvi$2fwMxU1jcuu<%^@aI+^IvA)nBeG;
z=<4Xz(cR|O=zF3ci0+O)9UWjwF)cIw$F$zG!St-j!;H*2^M2DrbFF!``7!g?rsvJU
z(XPJ)|0EkP`*CFN>p#ijIpX{ySw}wjLpEFXNEESY)jBfyPg${T{(%z%6Ly?2pqJXt
zw4XH`i`+Gk(sfJyiR@ihj?|yH%}^ZG6ZY7JT^9{oA`P=64KGBJk-y0NT8>5b{WXvX
zyj5;b?7C8g7+;jc*X7o2*m~;RseakHZ`Sw!3T1W;1Xj7V4{VX0yArsl{ZFW+Z*U-n
zQDsA=^-}3wf4a&-!E*y31j-oRjp~^UwVnM5_|N`)q`aRCW>qG1Ej(}{`^W)MbW7x}
z(}9kk+E4HL*70-uw?eJJ-#)+!v|lki5*4`UF-Wjt2C1&6PiLPy4K;||{j#^Nyfpxf
zl|qFi;8)pK+_~Ogf0dayW45t}H#{5LGa`4Qd6DOyJF*PSRu|ka4)BKV=pMJ+=gnmD
z?=r2-8ck;XE{lt?Mn8Qu#c{R$>XxJDuC>0EyDCm7(6#WM6T2=Rx#vXgyx81JMxc>B
zzsu6NU&#-@%R*&dM&fl<X6Me3$ya4Ipw?fNjntfr?74P-*HS3-Vtlu^A=^lHUX|rS
z?!Z-<PIo4<N7Ge#;6(5}C;H`J3wX9(Fq|V{*JM-up=cZwJ$_<9A?5@d&X85tWMS$f
z5zwM}tVOHh7BM{@zb1<^Uo!UmVYtKC^Q)mep5^}FQap2@pWk&c^Gd%Atn-?Y{Blip
zr)*&aY5GH!LGJleb_UeB^)FcgJl_6GRwUaW)vNzomcz-8MfNWFN5-=sq;60)2^jVd
z%EocOuDdWO>%A~IqD&u<5xJ+|&!CO$LI=(qfetxqm=W3k3t6sr3v<&(8Zt<S-c8qH
zjqFkE;0=+HtuY4S_XzeonEm$H!G3%2tzImp+2O`g>L(7IVuHq|EZTh$2swi(j&m?T
zE)B@}J&-o%3_8AR|91Be@H;p-cn{Qmn(@0I?SC(D(UGJ51G~;geIMM9p~V@IIp)Fk
z^Xxg;{{5nElnoVC#vbkeeNo`kXQD0)a4CG&g)Qz&E*P?Ur-!&b%iXK?^2A|oyTjbG
zqsx|CimPsOthZzqI%5;&SZ3DLl`Tg;-=j`TZccHDGe0W}@fUixQ|&@l?)F2K?s)~U
zM392#-0NXc(`kC&e9k?Ib1O83D#_o^yPLV0z0ohY7jVA5Xzxf=A7y5XPe~E1d49d?
zUvxkAaEm$!r8O_fb<}LOq!l~uNF9ud9o56qdQ`Ha?t0ocgr#$8DjX{}NhQKiX+c3r
zkxi1|YhWDdwaqn60*4K0Mlwp;swT%)R>X#UBhca^M_pM}jm5>|XGDvkVn=zCqhcd)
zt+64WC{$W($;`{xY{|?(d^C!UCsS^p_8v6dzU^*>n)u9<56tL`PCz;nDk#dIQBaaL
zGiyfb9KnF2laShsN>bBuGxI<|p)(2bF({U?2gag;hT0W%O*3jM9NCWQI?VFzC@_xX
z&6n#!;)i8}n$>0Hj<t+qGzv^0PT=sch=M{!5zRa9db3qbs%<E}*iu}QT2!*Byt)FZ
z?5K0uiaMv+VvAoHgCY_M_nv$tmqawTD8hBg(5)G%PNNkmM-Tnfk0FOk-GaFkQuvWu
zuzIYNF*>QexEPto5$7#(6S-EhXq3@+GP2kRlK^$*<mHqg)fAB%(nT}#kbf%K{$r4z
zCT)mXI1{+S(@EF@c^H>LCN7W%bD3n$0(l6RMVc4LBe<#Le)h;FFG5~$4$8F@XBJx0
zQj0dSilpBtd>Z+YiI`4&7Rn<7a>WW}6i;PsFPT{k{FZEDT`1QDWud^l|CL=t7D0AM
zF$ygBU)h;xWFdKSq1?a~kz)&?s$z0+At+Wtd=`PyGfB)Md1%Zmv8dRW7S@r-fA$Tu
ztg4y{q?<!(7s&&(b8pBhF1yu%^rhqh5ZE$L%t~)+sJ5gc)%;<}G^Dy^STY@{77R;f
zAl1TQ$xNhLG%T5gRAs}GQ;~Y{uw+^>(v%D77N<}%3|6GB7{-yCh18B==~>XpONOO$
zk$UN{WO@-&RSrw%Ayw6|WIj?Y8<s3Us^wC$g|)j7sj7!%gRB+9lEp|>Gb~wx)V0Hs
zS&&^fEIkXU>W3v~BUQt&<Q$}G9G0AmG^(ay=~AR^CeFojf0DXbUL5Lqo0w-s{O#gA
zQ{BPl85{Fk$$?*Z{{a6MMu0)Tc~Zg5;_S2>rxod1$-rWH0Our%a(RMw4eDH6-pJ+(
zuvv;qijl4j5$kgS{*iv||H@OXgPGgd;7qS9YsjfV6W0@GxqL#*UBKw5cUo*nxe;|%
zSCl!8u$XN^os){^7N@7?<~mawmd--q9pqd&4BE})O6&}OD}OiYY+6}{v|AWsNvdV4
zvofoy+L2eb!htmRh&AQbmQ^q!O4~|uD&(og`%q^&tR2QoOMd<g<o92(>S6lZ3E5X6
zw{iEALLA`N;@A1FR`3ss6~{evy<%AGmpB^Mifg{Jth&KbR<X+2=xA~_)q>Sjk047T
z5n2|xWC`+pbg1NFHeo7|?{-n&;`E|COHNHy6Y|@^DpuWKTf<|->5zwWyU2EjJfvm!
z4c1gXE^2BSi!|LJKR1J!WO3$75az!J^6IKx{gj)ZUx3`7MC*`puVip5@_Y(e#*(_q
zGUT%#iVyX8K#w47ZmLsUwu&-~GfR;F0YuhZ4fLJyH0p$<9PtNHXQQJW`933!88#R;
zG&D6L{#kK&`5t098TpyBGV@9{FkZeFbqXBMN$dXe<iRC!z4-;PU6vH2d5NjF%4w_=
z4UCj859R4zC0{L(2i(#(MDc&k#hqSVRhL#<)=+_zuMcJWz3Ivx8Ycd4BTI_VFXp<8
zvZk___*F=G1Z>5I<5;9UN(z_C{acPP%am7x#_vfQzb|U+^8pga^5&+pmB|12Ftaz7
zvuzOZAEM5(#%jcWBn}$=$E=siVX(L7)iyb+YMhzH>CP35)%z1^Y?|hokn&SWixlJ+
z_qn8aW@EWz2j3HnROY;{Hva|ctg0y|g&w(nvHX`H3iS2+3Tm$?hv7a{lK&bMDO-j3
zQ-VT7bDHyu_c|?A4coi&jHDsdd{#7`*hUKoLEzeMtdxgmooCymFq6_P&;q0ccWQBs
z!)dW2?~9^tMmE&_FM&<O*|`|Xi#GW|P!(w}lYvUPf9L?~1i`#lMDu$7j4XCxC<gpO
zMpntSEx$6QS0es5akOcF2gR5RFwG)*D9jPyuZo=#c1`LOrtk)+yi}M6QssVs{@a*;
z{mYntOZNLmwBPdK1{@R(=!>|Ux<JD*%1S3x%PiK2v?DmlN-k3TN~Cn-#PMZEygSzk
z9v@Q5fy9hwLsp&`mdQu8ct}i%h*xsL%;LQ`VYX;}I4}<Dd=Q%2SYA~HLU|P@bU3dT
znS6aYSa2GfZgWa5BGURZ<zOm7DRB_R*^qw#XGywg{Cn#_R0~@pP2*u421<$~Bky3Y
zv#h4VX^gZkLA;*pWNU>wM6`md8a@=5*mw_<p5dZmY6GNUBo6V76!X;)(7L9w>vSW?
ztuAXpe56z`>c)cV=$i_dI2iXZZOx!)Lz&Z(ggj$8OEL_fRY)Cwqjr7?oNF`|mp3>Z
zHQC5MiuFM`E^@4>z188gJIzhCbxv|@xjZ!5Dr6z8eW=u|D#w2cY8#re5uYSx=8q<-
zYI$Bu3ey{E9Lv<ZZgzgWsGj=-t`qrB<Se6aHuofGr(o?Ou=Zrh+GCJ+DztmZ+G&!t
z({F4KpCMY2&uo!?WJy+=dZX3&Y%yP*bCdO^3Fb!pbg5kKjpfucZsO0Ater1edo=Pb
z<Sb*zI5r?%o$FWRGT0i?%(D?+0)p6@KT{l_{47p5G=$FPNYF~TUN(m#W!wDy6SQ-o
zthD*$TZ%IB^K$1RZ7C4N4ek0Kuban_!eE8}h@kl#*}PJ&Gv5MAfj0sxH@}b*oCCi_
zE=`=SEkw7NBZs?ZYJJOvEZEmzIutZDAYBC+Wmjk?svKe$0vQfyNV8;k5+;qZQkqF{
z#8}3Du4JbT_vO&R`f4%|rwCf8Tp{&i3i7E1%hmx)x&<6bWgTRQ%cOff6!2+~dOzI)
zUa7KCDwd4=n%OLu7TDr~)bvcGyj5ymBB|qp{actAV7y(N>97}w?TA6DJ6I=`yV|8(
zE!CNXG<OcqfwpK`*a9Fiv(_qGCFW$LaSky<4lswTW%CNwVayyGGP62a<=-Zahjyu$
z4e8dAk#P#GL%AMEY(m<Q-v$m=cs9+4bmTXR15USzgT0ll<#5Qf6gfaLoL3RwAq|hs
z9CMJ^hP_D`6|+m*Q=3;hn^x61knV1de6y=j%WWZBu7>D?koKPcHB7d0BsI@lJL5jq
z-;zU_m0!mi`(IE|8Zg_$8RkoXiw(co%zVrue)nG&3M6pzkgii4c`aTKNZfN%5&xhx
zl^zl$xj)R^hx{KIUg_+HswM|gKFVrkE&$@U!!Tw0+77AgPF5B?iN}T)ORuhN1W#g@
z#IswPNsn{Wgbl&7o9!~p3G?6c?_%yx!Z7pRE3O;H$P_E`-N(2DhgtGIgP-Ea9SzBW
z<My-85L~hz(f)=5Tqhg}(wsAki$)a}rH@L>$s3iKkyBzRwm^rWkxxtcq$4sX&|~C5
zS5mzuN2f*nGol#JXF2fwAm)Iw4w0A|c_!COYHQ@iz~?x2`W0Ntjh56>XT*F*c?2>(
zPxjQnx%36{9(%k<25RJS)|Uj{y!@gWn<UnG))f&*_p(6G$(yy+MIHm>=vT<}T6q-r
zDygr9^GY9CUkgEk!(>mbyqJ59{8K9*&%I8@)xlx-4KlAzZsgu1Ep_r3?k&<?2b^z{
zckAS#+!6A99Y}eHsOsh8HAlg61;r&r&WJv*ga~AMm&~h|M{~!>ntC`gyhom4kN3$r
zM*M(yH^}3-eloT}Zsv}Y#SM^0$$bs-QQU{*jRyJ1(vOD3tzjqCgnZ{XXF=IghqJjZ
z0vSHODYw9tTT%O;nh2!-<fi;W$S-WJYKlO~pOVRq@+9sv($pxA<vu5mHp)%h3G#NM
zd<^#m8EgcFP7-sIJf8cK%xr?ZugK~qd4m7f(0$p(PAeP=Pe}vd8}dpM963&tubSk6
zncs3Qr(=`Am}E_{rdrc%$%sEA7EqoA85uKY%$SQj&%w|9A~^qeeaB@;Asl2lPsTUP
z!*$<tVuV3lwbqLvEdL9nzFF?qa*-1bE_aJm^(9UmsX{Ca&W1lgw&>4Eu`vJ3OfhkK
zvN)F$-VgZw$PH~4A`Phq7^$X0lIwegtCS*9k{s<%TxD)mO|C-}CDo_-nUi)8Dbl9<
z#YIRfD_`DRw@%XjSFUpC=&?bh1^h<xZv_wbcMjII;-<0&F*FAu!K;jtSyLee_%zoz
zX|t3n(flD1vL%AwpWKlDAvH+**LBhgF;r+ns=qn5V9t?Rsrm<!^Q#?mg|r=M1|_+3
zTooaiSo2(gU`IZjEWNp5&K9u+J~Eb?E2TU~$e=6PROa1eok9rFos^|{mbS=5|B~?{
z-zb*4;d~M;W1AA<P2y8&mWc~(D)NbuenN!7j)Gz#m76hi-h?A@er|3CMBd^c!?l3d
zHB{9!EkVk7nQH~l@v}%8NR5FV%Xiej)Ue9L71t&Mw{I2lwcpGUkVp#WD73nyA<4>Q
zkq379@X=)T97ULNjLfxArm)6;yY1?T*xuMX<)2#?JRItZ2$#=VVlpYdl*JBPFxgwH
zKQ@n0p}D~>w#Vl>OksXs%Hkw876TC29vPuVPlmYIX3l18y=D94XBR3}&vTuQ+6J~q
zks@zJlv4B35TSRiw_>%t1tC6>wG~`rXbS5L(BBuDBJ9IM$6c?{&`!2Z!_MFb%}Tt<
z=}2K_fXyle@#AEI%O5yi=pYtd7(Rm$KS8XHp9p+V9}1Wx1J?(R97Aj~V6Rh728rx^
zoq~K*Z`OuSW1|C9PQR{l#=n>{p`uk~C@_m?{1m##sn=WJnIm(ZC8x=R-7z#5D7J0n
zZ@WV0HG?%qa1af7q}ERnt}Gbp$U@eU<WPWuxG7cM;)#%%cW1C-f>Psqop3Q&@mjEI
zq<As}4(24NA|U(${tYYej$RQKs)-(+&pa*D5J&Fr5QU7$!xW85mG!#Z_Ao`HQj>I@
z@NAgkH*d`}BpuP1?B~N3AyKLs*F`Ze213D77ikKFleM76U*U=drK<G0xZ4cSUJZm<
z*;ru0b{Q0JnKZRb{%{YlPCCg$_ywYkQVzLqq#{qLT6Mkj<&g>_3Cz!l=uL`HaGX*F
zAvc%gRHH&aK?Sik$tKK18i=(?`Jy|i*#`NG%bl<aN(3@gfIMha)Ou^WT%jkXZeXP1
zT#5>!QP-s)<pD`qa91G`1qV6SGEtoGK?LrqMCu(IrFdJtZE<qYq0tIYt&eXs+dW-=
zUT@HJ#dkjI2IndOJir6s2~YyO0Nwzf-od%5ki&_On%n*Nb(!0>-KagFn{U?{Hk$Tr
zXT%*Y;;RDD;BDHslhGd|d3tq>d>8w@o2=HWb@IpA?<dFudUaI90rTFc&4!<hPd#hi
zd&rFa+eFD~L5M&k-{{r;ZU@bKpILWJuLfv(ujzdi6MDnv_<qA)T7@4f^;NHLQN%oa
z03B8T-of{E6?exN&L`}xwC=02wk>V1>{`_A-&WPW%uq6_!@Y0sGV8wOA{}+BU39m;
zz17xzD_r!KTy&4V__gfc-a6~PdRK10lpDXX5B}|~vF=N)y*Y1hgLPk{i+IXaU_&1$
zIL8niv2Wm&?5;ZnMY|N;vEUl?-_MmQ4!(7A>&dRiiLH|}w*1o_zr$)kr+fbCQr<(4
z2>-f~z>(A)yJHSy8A^?Y4~>SMkp^p&AvL<^AHxZg;WraJSDN>sK6ONgy6>H>{d%d`
z3*B)-F)2B>JE1kIJAp~;UM2i56Qutsu<6lhiEmYR!j3McNVr4@>%IJ~Z+4=)!!%y`
zCE*g?-aHiO*R>dKDI{8o*$OWGam$mrq2q3-G1{&cZYeA@**w<0d7B@=AD{&U0Ca#r
zKv3_Sw*^ni_xbbhLBz>MxVbBM4^Ji0{60O9gyh`%>9%)+<%G*0Z6qG=jrsJ@vEaP5
zElNK&FJP^;q984c&9O;hE-lEZf%yQZTNc^mb!<Ar;u<&<t8))Rok$xjPV?*BuwDg+
zuoxVR)=O_pEd|X@>}4ZThDycZ{1Pt4$#{)H3XG1FVsH_pphzF;ZiH2^W_N*J*23aO
zW5BPB1U(xY5FaHyVVxAxuspJ-zgb)ZN(<6*VH&4ZK?K=729)Gu#n7L391|%;q1@vk
zN0|Ucr9-%drAJA@%oOAW%d2?QiiZ=r4Q)h9yHtD(Y>#44Q7J9C#uVh94CMnylh9(l
zPCtfeveL;k$zRf#Evk~j7{-!(V33c4-^TIe?z#E^-=%OOF3B%Q&nrRh6M!B)k=$3T
zk4m595(0f-L)yursyA3#Gi5jrnBF}V1n_C1X(Q6fU&Z>76&WtOxOx<MWx5&%MY5oX
zcIyA=M|BR22HQ3^9E8&!>?gvi%v6|B*0>ybOc%P$i9&LTvqZ0tf!#&eBoo^cCP9;&
zY=en)rp+zMOhL+g$<`@IUqCc-^g+R1g}~1oh-5qRC=z6?Meqs|Jc)ssdR?qvi6k#c
zln0)<=S&a?qCp<KY!vz~5$R`3^5(eY*^tLvL0%gQDP_A9lNaX)Zxsdol0|umcBGsy
z$^+5LTdoUSAPDqfuM%rPL1UE7YPFKWnfhSz<4k>!1>O=0f<}X&wAA$JxjA{$kynK%
zE75*0QaU7INl3p$)K0Z@NLZg69Bis!kFjk7FKaD1d^pEn1`(i^S^D6F6(E}hXuzv-
zhc|pk3ES-0vD<_Y7;Lb@8M|JbE0zZG)+~KOU=tF8gF_=OR~T{nTZM{SyjLQ@;}fFl
zJnX|vl>cp_mr+`f50g_2W2tU;bubJ$J958+jf~Z-A!Rp?Wv@FyN9Kr)hVj$FhFmL5
zvC2BcJH?5iUn7S9*#bcHbM&fkel44Xb;!L9*wyWzux%T2Lj|P*FgZS3uZ>$bynZ&E
z*8{UZyyRmYJ$zp4H?XD!x4@e|@G>y4Dm$+K+&uJ?-y%&^!NU;NIQOj}GvHoOz%C4J
zSm{`6*(w(ZZpZ&xw!Faq5V~Y^B60`U1M%Q)u;_b>*Zoq?*s+LzKw8lr6g$cNA>dR#
z3>77AV{0e>h*-$$QK8HlPyo4un}XmC9(1;#Old()dQB73>=2h4F$t~XcM45H%EzSo
zpy)2tsYg7#$rIjxJT8rlC&ZC4s+(lY)muX0?cI=-RZqIiD^z0G$JU>4+f&0>H1Ph8
zIbPQ*2B(RQIFAF;^bB|!F4xW0`-LgtwVkjuz%YFVTH*OD+dEibKll*pBv)qY161ra
z9g8mU&w-TMYI1m8b5JDzlBDX(qN>_gkZYfq>S%(In^Tj%yHpRy5dKxMaoRqys^Oaw
z(j0c#NLr1QuYqmYpagTh0nLCx?*1lI>@88TI;4U3bFfoD>s&?Nfg<7&#r-I-YTjjf
zN(@T2#JL{>a?pF^uSNPm!~0Cy2key-8_9gX)Q;m~J0dAbD$^TFKOAaKo@1rB@A-Ws
zbe~YMG}n|LOFfx_w4dCZ3q9`n8LLN_?4OJB!%mO`W%|&TFQkHSFgWQd$U2lwf-fZ#
zz<%@<C>!`SYr1f18#d2lkozeF0mg4!rLV65%F{zy1$_IjY^K&(a_f`zYOVKoa0fuV
z1C@uu&WlYxv{?VFSrhMtQcPxVa92KB%I-bA*=w5*_r~xh{h>`EQH$c3&$Apw&CDxE
zo$m5;;6A1ocslR9p(Im)mU%jcLX*1}(b#fE9aMWcxkHyj_?LnfxMia$0SHAJq75pe
z#<(ET8F^pip2+>ZBlm>%a@@PUpFbHo=BYF#IDX8#YyGFITW}E#=+z^4CG;5gZBFQT
zB%xz>0uYWqoWN(p^VqJ0N^=k2^|rvdsOuPelA_1By4=?iI$lpO7>$yP_lDryJqONQ
z9&_eWpStqOiOVl0T>fAf&#@bL{^$ug+W*Dg*An)<PJDK8LF4-pI?|1SRZ}`1AK3TA
zK*!;PjtpZJ>Ud&c$K*!_2al@%*!NmO%J;1utVF{13aB3LtO+8gkj1;W%H)|+(_G{#
zDQ);Fvg6z<F)GhJFRhAy`L_5Sv7n+<^r3Zw^TGh(00UqoAOc_nL;|7!(Et;`42S{5
z0^$JifCPXAFsgTOo;5}8Hez30ADOsJriU2d+-0)#2~Xdo)ax##WKlh#9pAsg8nCCk
z_2H|pbaO&uK6Mr78X%u7la1nn3BOzx*HRB|Ia7R}?bVJcQ9A}-w!a!P;K?tWHf`FT
zX)%h94--7B9bYB9tbVoQ<Aj$ruXcQr(9TsLb2qBuIzD2VrxJE??+o_48;(V_roGeO
zuP}TR)!o->>xp`&ugBeRGO9IxhwP=(2?x-ZXA}AjN7X-fDGs21FT<s%?$?4^Jq>4~
zT9xo$_u;2LOaO)7pAuyqkvo~Z3+j1&oUnuMI^C_?^l3uJp$hAi1**?=sL*6n!H6}@
zhf93D`L9`HICZ!uP!k#To2oLCMM>7bZgr?XbO&k@qbAgpnF3V3f4^?!<wO~xe?gX#
zOAa5kj_Lh7L_dP-{p$UBJ|nb#%TQVK%Er38;i}u3NUP0iL*ti|un(-`xN0)@18W4g
zg52?eHJqy<4}D-YaJA%RMyw;JSgM|I{niAofsE?6TDc~&sNWjPHIt3~)+p{)a-iR8
z;{HQEXOESHI}VRkB!)e1BZcg7J6XjZcaZJuv6{TY9xdd`acEyFd08G24;OhZ$RkDu
ztU(o3jdf)e4O`ijyh!FLp|G`Nq#`1eYa^2t5g}YVnXiZ##bL5Z0p-?{=M@p*++E~z
z_SitKDI&tSjU<qd2o2eU>PJ^^69lDOQ_|Z&^m1n%yf#Jp4pPWR1j8MkYIua)jq1l#
z4l!m8V~o3pw0=4-mfK41nPiWZ#oxE>BWoO7*I5bgU$zLQOi#2Wp*TV&eFP@CpG^5|
z-Z-w4JnRt>$vr^2KARWEJxDHlfKm?;Z%=qUOyWHwVz@`hEgxIQXde}qV<l|eQncD@
zJKFt;RURjVtib?Cy@TDr1h-uZ(5iQeX}gs6e~f6b%r9jZkcSpu7w_XhWb3(<_I(1<
z;(jGXnghCtP4B0jum>`(A26gaxb{hbDjk3X8L%Jj1zp*d&3&To=BG&ANvmnZezcJ|
z)2jnW&q=FCV2_xoI)Gqho{?!ODO(KJpL9=?<0q{FF$X2;)Phay>fzJ^q<uyr%_*8K
zTt|c_(mhMmUs?m=4oP`AMTJ5hJdw6nA{M325Qy+Zy5~qC6bO7?%F9d7oxXw9z<waz
z3#0{dTV9lM(_Ojj2hzPHk&82PZ9*aT1K#UgC)-_QJ5s%ha&j|@wlLvv*wuhn!G1ED
z1@5FGZ}2EA1=&t`(`7|5uc3|CUtf_szyxC%C*ogcwk$y2Z=$IM!gWuOrFu)0HMKyH
z<ny*9DJ=^`nT{}PM~nrN@!)W<!anaJFxECn6E!#)>?e@K;_petGuT`*zb_Ogr@pef
zkNH3>uR4zAWaJkQHHAt7fF??SyF)@#GBQCz+()8>SHHHpbE#zDYiq1q8jAZwr0!oa
zSv~^AeLBR$!`mOGFk$>|nJDh_>&X<j@O(nl!RI7`P916kxE_KviwZ>z!2b|5$jTa<
zhRk0JBF3>%z^)GoHaLx-|A)$hyTQr>Ni2V6s64a5Sy6@lQ&#uU=fv`=^Q=6)YLL3~
z`yl~y1PR_3Bnfs95OYxwFp-r&{3S`kWyA*Akc1ya35+J{Fd#|D7?Wg2F;_$p!novr
zl0^K1N`{O0RTRN!qKMya5b?Vxf@LHAswCnM#0K+_7JrH&7)=!M*9{{67DP-E#y|g$
zBm%*U%v{@$2#&o-W7mUoZK4Pn5ZK5T7U!4|9H~EP9XUyuEW8`!!H`tRnGE}o48@QP
zyC{RdL57DYV=gO$cu!FVTsRW0X86N}BTH(rGeTHMBHBt)r=kFFQD7u=hqVn}20QbM
zrlLR}k!rNr+tVwXYnD5Od+JE9B4yuNgE=+Pto2OTcE-BGt=qhJ52-(6^>=&HymxQ!
zU1zKo&TXH0?^EQ(v(`|z{pP(ry(iCFdq()To7raxv&`^efIs^zL2KA-CIy$q7~E!=
z4ejLp@2$F)db99Rg2N0SB?!Mq7~pp>`^`Q|aF~UU5+KDsN`Mr6l%NJN!bb^uAh3@T
z0@{6dg$N%dILz#$1YNt|?oh~+K1%Rq{KGy<2#g96KT2pfvyT!24e%Un4-!5~s5iSl
zO7M>g7CuS{hK~}04eQ9J3)WCwuh|*f7Prp+Q(<Y*<)R-;YG?j5bN;OPy?qy~Q#emk
z$`3m|rmfiNv1j)stE|`avb8Qw){3@HY?Yy<_qI%|>MaSj?HsXtv`x0#U<=;4y+(E@
zSgq&&-^QbRuT8Wy$^Jj@)~wi*vCFKhrhhZNIX6CUZ{Dc<&ipyOeOb0CL7o@3{P(-_
zts~w%@3DK4&8^q7!uA{IIo|P0zT(L?-L%(tFR^*{de$-Gqu+iO+7ga32G1O7uuV87
z3zvi6wII}!SBP7>fhX@iGBQjy$`d9~sD<+)U1vg#9^NcyQ-+d!h+(olkyCFw8>;1e
z$+F4z@ti-I?76_mY01&ab^{kc$l1_XE|Bc^ToAi^id`l%29Ym37es*Lt~nnX#_5Um
zd}u&e2%O2`3ZGY~7+k6=uSOnW0?moy!%3lXK^$iwTh50@_>6=jI=sR$My6R&WCZCu
zA8O=`<hXJ{geH;&N+4hoB|gKW$?|l2Sh@+$rf?G(?!Q(oajtSST97VAxKN49YipX|
z+m%MR4O`PxDFl3l$S?$a;W&@@c=2gYAji_}CU1)vh)cEQBGagC8TM$-O8UGOgmX4>
z%4<OoXD4MD_E0X7v}D+0xn!~@!yXenh6S}*P(d}81t>+`tz(dW9Qh%`9?VT3+r1aW
za1+T_7eeE?Nn~Lrh?qiFXWC=D(pU%*B7JL6XgXPNF*F1|_V^&v9_NwC6stx-S!Dmk
z&_MreG0p*s#o5{_YnvNTP!1WDWe+q$=#>RqQti3zE2?UmA(pP1E{1CAQktsZ+Isj5
zvMkFUHX;vVFUKd@!=sTe1YFtCzr1=myCfXH62Ut@VPi^%ckmloXd$PF+;J&18$RYx
zPqmMQuQ&!Tg$A|E5;q`Yq%Es0%dxnjxvXIo@|*3VCZ@H`C~GLMM1FHzq~z4LRCujk
zjWlyzq%kSL1uw}<U4*e?+NL$vIFRo=7bPtjDAlWw|9lrEBe5;DS+TUau?gvJA&>kJ
z8o({smTeE?7Lvp21zO!A7h|%mEyGdnSg{zcR83vH?Q&=qS5Bs~M+Mo;9u8v2v1f5h
zNXU<&!Inz2s-di6+1-Mx5NWfw&8V%Z0PXy%Tmo%l+KQV6TEH^0KgX_ZSw57N+?Lf)
z#n=O?hiFM{C6&z$jf|>;fUP7rscp8SqQ)VRwKYTJ#I}-Vkr-Gf_5gH%a0{kSZf%F7
z6AG<obbf?5T?^e%Y_Hce`#K}J_t6l&C!ZqHL&uVbSJ<<0jUCq{?ygBX+3Ptic^^M~
zsjuwaQk=Y0zPmKp?cVKmQ^}+S$vpQcaSj%=Kpe%!?Ov2D>kV3*{2hDs7t~wmmi$q0
z?}HDGiI3a;&=@nO$(WADbPT2`n2yDC9H!$joq*{?OebMF8Ph44red0gX*#AEm}X*{
zh3QmGvoX!VbQ-49G0nwv2BvwK=3`obX(6UXm=<GNg6T|5XJI-U(>a*V#k3UDd6>?}
z^cGAPV7d^~MVOXhx){@POe-*TV7dg;rI=P?T7~H{OqXL?jp+(ZYcQ?Fv<}mHOdBw5
z#Iy<1W=wCz^go!c#B>#=w_$oargvbv8q+&5ZNan^QzxctFkOpj8>a1;VocXzx*pTJ
zFx`OZMoc$h+JWh2Oz*~Y3#RvAx)sxVF})Ad|6;lgQ-bOJn08|N0HzOO`VgiMWBLfD
zk7C+|>2^$aV7e32$1vT6>26FP$MgwIyD{B^>64i5#dII0Phq+r(;iF@VEQzs2QhsH
z(`PX~glR9P&tdvJrY~UnBBn24`ZA`kVEQVieV87`^fgRh$Mg+M-^BDSOy9=z2&V5~
zdKA-lF+GOqdzikD=?9qhV|pA@is^@#euU}An0|ukr<i_*>F1c9!1N1DPh$Edre9(D
zHKwO9{RY$1n0|}t8BEV&dJfa?Fg=gy_n2P5^dhF0F#Q43%b5O%=>VozF#QSBpE3Of
z(_b<D4b$H-y^85IO#i_2PfY*9^lwc6!E|r~<u+3eAOnm5xB=V&a)1KB13Unp042Z+
z;0^Err~qn!2H*?u1NZ~9fB=9F5C{kYK%9W;0U>};0DSvH!vO}sNI(R@2#5qk0ippW
zfEf@2hy}y};sFT&3t$w$3a|m}fJ8tNAQ><kFb0qU7z-E&7!Q~Lm<X5zm<*T#NCl(;
z(g7KOOh6W3Dj*w>1DFPw4#)+}0OSGk0R@0UKoOuAPy(0<m<5;(m;;y#C<V*|%m>^8
zSO8cESOh2oEC!SVDgX|^62MYGC7=qh46qzf4OjuF0n`HO0QG<dKqH_D&<wa0@E^cR
zz$(CPfZG9g09FI;1hfEJ0Zzagz*;~XpdEk#>j3KkcL6p4HUc&QIslsicLTNn?g4BC
z+zYr5@L#|-00G<&=mb0fco6Uq;9<ZcfJXscfbD=CfSrKH0J{LY0gnTo0CWTP0G<Tw
z1?&Sn1=tVh0UQ844LAsR2JkH45TF<E9N>At3xF2^F9BW#yaIR?&<8jScn$D6;0?f=
zfVTi|1C9XR0UQOq3pfUN5AZ(V13*9EIDi5^1bhVe81M<;Q^03{&jBX@UjR-5z65*)
z_!@8u@D1QJ;9I~Mz*)dKz;}T2fbRhp02cw506zdO1AYVy0ImRj0{jg41@J52H^A?J
YtAJ~OKLCFM{sR0B_=kIn4s!AT2it8O00000

diff --git a/BIN/EDIT.S.BUF.txt b/BIN/EDIT.S.BUF.txt
index 0fe884f9..2cf657c3 100644
--- a/BIN/EDIT.S.BUF.txt
+++ b/BIN/EDIT.S.BUF.txt
@@ -10,12 +10,12 @@ BUF.InsertClipboard
 				>STYA ClipboardPtr
 				jsr BUF.ComputeCOffset
 
-				lda BufLen
+				lda FileLen
 				sec
 				ldy #ClipboardLen
 				adc (pData),y
 				pha
-				lda BufLen+1
+				lda FileLen+1
 				iny
 				adc (pData),y
 				ply
@@ -30,13 +30,13 @@ BUF.InsertClipboard
 
 				>LDA.G ClipboardLen
 				clc
-				adc BufLen
-				sta BufLen
+				adc FileLen
+				sta FileLen
 
 				iny
 				lda (pData),y
-				adc BufLen+1
-				sta BufLen+1
+				adc FileLen+1
+				sta FileLen+1
 		
 .8				clc	
 .9				rts
@@ -45,11 +45,11 @@ BUF.InsertTAB	jsr BUF.ComputeCOffset
 				cpy #256-TABLEN
 				beq .8
 				
-				lda BufLen
+				lda FileLen
 				sec
 				adc #TABLEN
 				tay
-				lda BufLen+1
+				lda FileLen+1
 				adc #0
 				
 				jsr BUF.GetNewYA
@@ -71,13 +71,13 @@ BUF.InsertTAB	jsr BUF.ComputeCOffset
 				
 .3				jsr BUF.CopyTail
 
-.4				lda BufLen
+.4				lda FileLen
 				clc
 				adc #TABLEN
-				sta BufLen
+				sta FileLen
 				bcc .8
 
-				inc BufLen+1
+				inc FileLen+1
 
 .8				clc	
 .9				rts				
@@ -87,11 +87,11 @@ BUF.InsertA		sta TmpByte
 				cpy #255
 				beq .8
 
-				lda BufLen
+				lda FileLen
 				clc
 				adc #2
 				tay
-				lda BufLen+1
+				lda FileLen+1
 				adc #0
 				
 				jsr BUF.GetNewYA
@@ -108,9 +108,9 @@ BUF.InsertA		sta TmpByte
 
 .3				jsr BUF.CopyTail
 
-.4				inc BufLen
+.4				inc FileLen
 				bne .8
-				inc BufLen+1
+				inc FileLen+1
 
 .8				clc	
 .9				rts
@@ -118,11 +118,11 @@ BUF.InsertA		sta TmpByte
 BUF.DelSel		jsr BUF.GetSelLen
 				bcs .8
 
-				lda BufLen
+				lda FileLen
 				sec
 				sbc SelLen
 				tay
-				lda BufLen+1
+				lda FileLen+1
 				sbc SelLen+1
 				iny
 				bne .1
@@ -142,13 +142,13 @@ BUF.DelSel		jsr BUF.GetSelLen
 				sta BufPtrBackup+1
 				jsr BUF.CopyTail
 
-				lda BufLen
+				lda FileLen
 				sec
 				sbc SelLen
-				sta BufLen
-				lda BufLen+1
+				sta FileLen
+				lda FileLen+1
 				sbc SelLen+1
-				sta BufLen+1
+				sta FileLen+1
 
 				jsr BUF.ResetSel
 .8				clc
@@ -157,7 +157,7 @@ BUF.DelSel		jsr BUF.GetSelLen
 * Erase char at CurXY
 *--------------------------------------
 BUF.DelCharAtCursor
-				>LDYA BufLen
+				>LDYA FileLen
 				jsr BUF.GetNewYA		BufferLen-1
 				bcs .9
 
@@ -173,10 +173,10 @@ BUF.DelCharAtCursor
 
 .4				jsr BUF.CopyTail
 
-				lda BufLen
+				lda FileLen
 				bne .5
-				dec BufLen+1
-.5				dec BufLen	
+				dec FileLen+1
+.5				dec FileLen	
 
 				jsr BUF.ResetSel
 				pla						Get back deleted char
diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt
index edfc0c90..04e32428 100644
--- a/BIN/EDIT.S.CTRL.txt
+++ b/BIN/EDIT.S.CTRL.txt
@@ -438,10 +438,10 @@ Ctrl.D			jsr BUF.DelSel
 Ctrl.Z			jsr BUF.ComputeCOffset
 
 				lda BUF.COffset
-				eor BufLen
+				eor FileLen
 				bne .1
 				lda BUF.COffset+1
-				eor BufLen+1
+				eor FileLen+1
 				bne .1
 
 				clc
diff --git a/BIN/EDIT.S.FILE.txt b/BIN/EDIT.S.FILE.txt
new file mode 100644
index 00000000..29c0a630
--- /dev/null
+++ b/BIN/EDIT.S.FILE.txt
@@ -0,0 +1,148 @@
+NEW
+  AUTO 3,1
+				.LIST OFF
+*--------------------------------------
+NewFile			stz FileLen
+				stz FileLen+1
+
+				clc
+				rts
+*--------------------------------------
+LoadFile		>PUSHWZ				Aux type
+				>PUSHBZ				Type
+				>PUSHBI	O.RDONLY
+				>LDA.G hFileName
+				>SYSCALL GetMemPtr
+				>SYSCALL fopen
+				bcs NewFile
+
+				txa
+				>STA.G hFile
+				
+				>PUSHEA.G STATBUF
+				>LDA.G hFile
+				>SYSCALL fstat
+				bcs .9
+				
+				>LDA.G STATBUF+S.STAT.P.TYPE
+				cmp #S.FI.T.TXT
+				beq LoadFile.TXT
+				cmp #$FA				S-C/ASM?
+				bne .91
+
+				jmp LoadFile.ASM
+
+				>LDA.G hFile
+				>SYSCALL fclose
+				
+.91				lda #MLI.E.INCFF
+				sec
+				rts
+				
+				>LDA.G STATBUF+S.STAT.SIZE+3
+				dey
+				ora (pData),y
+				bne .90
+				
+				dey
+				lda (pData),y			Size HI
+				adc #4					1K more		
+				
+				ldy #0					Size LO
+				>STYA BufLen
+				
+				>SYSCALL GetMem
+				>STYA BufPtr
+				
+				txa
+				>STA.G hBuffer
+
+				ldy #0
+
+				ldx #0
+				
+.1				lda (BufPtrBackup),y
+				beq .8
+
+				cpx #C.CR
+				bne .2
+				
+				cmp #C.LF
+				beq .5
+
+.2				cmp #C.SPACE
+				bcs .3
+
+				cmp #C.CR
+				bne .5
+
+.3				sta (BufPtr)
+				inc BufPtr
+				bne .4
+				inc BufPtr+1
+.4				inc FileLen
+				bne .5
+				inc FileLen+1
+
+.5				tax						set previous char
+				iny
+				bne .1
+
+				inc BufPtrBackup+1
+				bra .1
+
+.8				sta (BufPtr)
+				clc
+.9				jmp BUF.ResetSel
+
+.90				lda #E.FTB
+				sec
+				rts
+*--------------------------------------
+LoadFile.TXT	stz 
+*--------------------------------------
+LoadFile.ASM
+				lda #MLI.E.INCFF
+				sec
+				rts
+*--------------------------------------
+SaveFile		>PUSHWZ					Aux type
+				>PUSHBI S.FI.T.TXT
+				>PUSHBI	O.CREATE+O.WRONLY
+				>LDA.G hFileName
+				>SYSCALL GetMemPtr
+
+				>SYSCALL FOpen
+				bcs .9
+				pha
+				>PUSHW FileLen
+				>LDA.G hBuffer
+				>SYSCALL GetMemPtr
+				>PUSHYA
+				pla
+				pha
+			
+				>SYSCALL FWrite
+				bcc .1
+
+				tax
+				pla
+				phx
+				>SYSCALL FClose
+				pla
+				sec
+				rts
+
+.1				pla
+				>SYSCALL FClose
+				
+				lda #$80
+				>STA.G bSaved
+				jsr SCRN.UpdateTopBar
+.9				rts
+*--------------------------------------
+*--------------------------------------
+MAN
+SAVE USR/SRC/BIN/EDIT.S.FILE
+LOAD USR/SRC/BIN/EDIT.S
+ASM
diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt
index b6473ccc..8bc8feba 100644
--- a/BIN/EDIT.S.SCRN.txt
+++ b/BIN/EDIT.S.SCRN.txt
@@ -291,7 +291,7 @@ SCRN.UpdateStatusBar
 				>PUSHA
 				
 				>PUSHW BUF.COffset
-				>PUSHW BufLen
+				>PUSHW FileLen
 
 				>PUSHBI 7
 				bra SCRN.UpdateStatusBarOut
diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt
index b60663b5..6312e30e 100644
--- a/BIN/EDIT.S.txt
+++ b/BIN/EDIT.S.txt
@@ -22,6 +22,7 @@ BUF.COffset		.BS 2
 BUF.TmpLine1	.BS 2
 BUF.TmpLine2	.BS 2
 
+FileLen			.BS 2
 BufLen			.BS 2
 SelLen			.BS 2
 TmpLen			.BS 2
@@ -153,7 +154,7 @@ CS.RUN			>PUSHBI 0
 				bcs CS.RUN.RTS
 
 				txa
-				>STA.G hBuffer			BufLen already set to 0
+				>STA.G hBuffer			FileLen already set to 0
 
 .3				lda #$ff
 				>STA.G bSaved
@@ -339,99 +340,10 @@ CharIn.Esc		>STZ.G bEscMode
 
 				sec
 				rts
-*--------------------------------------
-LoadFile		>PUSHWZ				Aux type
-				>PUSHBI S.FI.T.TXT
-				>PUSHBI	O.RDONLY
-				>LDA.G hFileName
-				>SYSCALL GetMemPtr
-				>SYSCALL LoadTXTFile
-				bcs .9
-
-				txa
-				>STA.G hBuffer
-
-				>SYSCALL GetMemPtr
-				>STYA BufPtr
-				>STYA BufPtrBackup
-				stz BufLen
-				stz BufLen+1
-
-				ldy #0
-
-				ldx #0
-				
-.1				lda (BufPtrBackup),y
-				beq .8
-
-				cpx #C.CR
-				bne .2
-				
-				cmp #C.LF
-				beq .5
-
-.2				cmp #C.SPACE
-				bcs .3
-
-				cmp #C.CR
-				bne .5
-
-.3				sta (BufPtr)
-				inc BufPtr
-				bne .4
-				inc BufPtr+1
-.4				inc BufLen
-				bne .5
-				inc BufLen+1
-
-.5				tax						set previous char
-				iny
-				bne .1
-
-				inc BufPtrBackup+1
-				bra .1
-
-.8				sta (BufPtr)
-				clc
-.9				jmp BUF.ResetSel
-*--------------------------------------
-SaveFile		>PUSHWZ					Aux type
-				>PUSHBI S.FI.T.TXT
-				>PUSHBI	O.CREATE+O.WRONLY
-				>LDA.G hFileName
-				>SYSCALL GetMemPtr
-
-				>SYSCALL FOpen
-				bcs .9
-				pha
-				>PUSHW BufLen
-				>LDA.G hBuffer
-				>SYSCALL GetMemPtr
-				>PUSHYA
-				pla
-				pha
-			
-				>SYSCALL FWrite
-				bcc .1
-
-				tax
-				pla
-				phx
-				>SYSCALL FClose
-				pla
-				sec
-				rts
-
-.1				pla
-				>SYSCALL FClose
-				
-				lda #$80
-				>STA.G bSaved
-				jsr SCRN.UpdateTopBar
-.9				rts
 *--------------------------------------
 				.INB USR/SRC/BIN/EDIT.S.BUF
 				.INB USR/SRC/BIN/EDIT.S.CTRL
+				.INB USR/SRC/BIN/EDIT.S.FILE
 				.INB USR/SRC/BIN/EDIT.S.SCRN
 *--------------------------------------
 CS.END
@@ -490,8 +402,10 @@ PromptBufPtr	.BS 1
 PromptMode		.BS 1
 bExit			.BS 1
 bSaved			.BS 1
+bCRLF			.BS 1
 bEscMode		.BS 1
 EscBuffer		.BS 16
+hFile			.BS 1
 hFileName		.BS 1
 hFind			.BS 1
 hReplace		.BS 1
@@ -512,6 +426,7 @@ ScreenX			.BS 1
 ScreenY			.BS 2
 CurX			.BS 1
 CurY			.BS 1
+STATBUF			.BS S.STAT
 DS.END
 				.ED
 *--------------------------------------
diff --git a/BIN/TERM.S.txt b/BIN/TERM.S.txt
new file mode 100644
index 00000000..d4d2c3e6
--- /dev/null
+++ b/BIN/TERM.S.txt
@@ -0,0 +1,171 @@
+NEW
+  AUTO 3,1
+				.LIST OFF
+				.OP	65C02
+				.OR	$2000
+				.TF BIN/TERM
+*--------------------------------------
+				.INB INC/MACROS.I
+				.INB INC/A2OSX.I
+				.INB INC/ETH.I
+				.INB INC/LIBTCPIP.I
+				.INB INC/NET.TELNET.I
+*--------------------------------------
+TIMEOUT.MAX		.EQ 200					20 sec.
+BUFSIZE			.EQ 256
+*--------------------------------------
+				.DUMMY
+				.OR ZPBIN
+ZS.START
+ZPDevName		.BS 2
+ZPBufPtr		.BS 2
+ZPBufLen		.BS 2
+hBuf			.BS 1
+hDev			.BS 1
+TimeOut			.BS 1
+ZS.END
+				.ED
+*--------------------------------------
+*			File Header (16 Bytes)
+*--------------------------------------
+CS.START		cld
+				jmp (.1,x)
+				.DA #$61				6502,Level 1 (65c02)
+				.DA #1					BIN Layout Version 1
+				.DA #S.PS.F.EVENT		S.PS.F
+				.DA #0
+				.DA CS.END-CS.START		Code Size (without Constants)
+				.DA DS.END-DS.START		Data Segment Size
+				.DA #32					Stack Size
+				.DA #ZS.END-ZS.START	Zero Page Size
+				.DA 0
+*--------------------------------------
+.1				.DA CS.INIT
+				.DA CS.RUN
+				.DA CS.DOEVENT		
+				.DA	CS.QUIT
+L.MSG.USAGE		.DA MSG.USAGE
+L.MSG.DEVOK		.DA MSG.DEVOK
+				.DA 0
+*--------------------------------------
+CS.INIT			clc
+				rts
+*--------------------------------------
+CS.RUN			lda #1
+				>SYSCALL ArgV
+				bcs .9
+				>STYA ZPDevName
+				
+				>PUSHWZ					auxtype
+				>PUSHBI 0				type				>PUSHBI O.RDWR
+				>PUSHBI O.RDWR
+				>LDYA ZPDevName
+				>SYSCALL fopen
+				bcs .99
+				
+				stx hDev
+				>LDYA L.MSG.DEVOK
+				>SYSCALL puts
+
+				>LDYAI BUFSIZE
+				>SYSCALL getmem
+				bcs .99
+				
+				>STYA ZPBufPtr
+				stx hBuf
+
+				bra CS.RUN.LOOP
+
+.9				>LDYA L.MSG.USAGE
+				>SYSCALL puts
+
+				lda #E.SYN
+				sec
+.99				rts
+
+CS.RUN.LOOP		>SLEEP
+
+				lda hDev
+				>SYSCALL feof
+				bcs .99
+				tay
+				bne .2					EOF, no char
+
+				>PUSHWI BUFSIZE
+				>PUSHW ZPBufPtr
+				lda hDev
+				>SYSCALL fRead
+				bcc .1
+.99				rts
+				
+.1				>PUSHYA					len
+				>PUSHW ZPBufPtr
+				ldy #S.PS.hStdOut
+				lda (pPs),y
+				>SYSCALL fwrite
+				bcs .9
+
+.2				ldy #S.PS.hStdIn
+				lda (pPs),y
+
+				>SYSCALL feof
+				bcs .9
+				tay
+				bne CS.RUN.LOOP			EOF = true, no char from STDIN
+
+				>PUSHWI BUFSIZE			
+				>PUSHW ZPBufPtr
+				ldy #S.PS.hStdIn
+				lda (pPs),y
+				>SYSCALL fread
+.3				bcs .9
+
+				>STYA ZPBufLen
+				lda (ZPBufPtr)
+				cmp #$14				Ctrl-T
+				beq .9
+
+				>PUSHW ZPBufLen
+				>PUSHW ZPBufPtr
+				lda hDev
+				>SYSCALL fWrite
+				bcs .9
+
+				jmp CS.RUN.LOOP
+
+.9				rts				
+*--------------------------------------
+CS.DOEVENT		lda (pEvent)
+				bpl .9					is it a TIMER event?
+				lda TimeOut
+				beq .9
+				dec TimeOut
+.9				sec						do not discard TIMER event
+				rts
+*--------------------------------------
+CS.QUIT			lda hDev
+				beq .1
+
+				>SYSCALL fclose
+
+.1				lda hBuf
+				beq .2
+
+				>SYSCALL freemem
+
+.2				clc
+				rts
+*--------------------------------------
+CS.END
+MSG.USAGE		.AZ "Usage : TERM device "
+MSG.DEVOK		.AZ "Connected (Exit key is Ctrl-T)"
+*--------------------------------------
+				.DUMMY
+				.OR 0
+DS.START
+DS.END
+				.ED
+*--------------------------------------
+MAN
+SAVE USR/SRC/BIN/TERM.S
+ASM
diff --git a/ProDOS.FX/ProDOS.S.CCLK.txt b/ProDOS.FX/ProDOS.S.CCLK.txt
index ba12763d..27ebffe2 100644
--- a/ProDOS.FX/ProDOS.S.CCLK.txt
+++ b/ProDOS.FX/ProDOS.S.CCLK.txt
@@ -52,7 +52,6 @@ CCLK.START		>SHORTMX				8 bit mode.
 				xce		  				to continue with Prodos 8
 				rts
 savestate 		.HS 00					state of the state register
-				.AS "JIMJAYKERRY&MIKE"
 *--------------------------------------
 CCLK.LEN		.EQ *-CCLK.START
 MAN
diff --git a/ProDOS.FX/ProDOS.S.TCLK.txt b/ProDOS.FX/ProDOS.S.TCLK.txt
index 18e2c6ad..96fe3709 100644
--- a/ProDOS.FX/ProDOS.S.TCLK.txt
+++ b/ProDOS.FX/ProDOS.S.TCLK.txt
@@ -3,10 +3,11 @@ NEW
 *--------------------------------------
 * Thunderclock driver
 * hard coded for slot 1
-* $2F00-2F7C moved to $D742
 *--------------------------------------
 clkmode			.EQ	$0538				clock mode
-
+rdtcp			.EQ	$C108				Thunderclock read entry
+wttcp			.EQ	$C10B				Thunderclock write entry
+*--------------------------------------
 TCLK.START		ldx TCLK.Cx2+2			clock slot = $C1.
 
 				lda clkmode,x			save current mode
@@ -77,7 +78,7 @@ TCLK.Cx2		jsr	rdtcp				read month, day of week, day of month
 				pla						restore previous mode.
 				ldx TCLK.Cx2+2			clock slot = $C1
 				sta clkmode,x
-TCLK.CEND		rts
+				rts
 
 * this table contains entries for the cumulative # of days in a year,
 * one entry for each month. the values are modulo 256.
@@ -109,7 +110,6 @@ yradj			.DA #$12				Monday
 				.DA #$14				Wednesday
 				.DA #$13				Tuesday
 
-TCLK.END		.HS 000000			 	pad
 TCLK.LEN		.EQ *-TCLK.START
 *--------------------------------------
 MAN
diff --git a/ProDOS.FX/ProDOS.S.txt b/ProDOS.FX/ProDOS.S.txt
index 11700850..4256e80b 100644
--- a/ProDOS.FX/ProDOS.S.txt
+++ b/ProDOS.FX/ProDOS.S.txt
@@ -62,7 +62,6 @@ ecde			.EQ	$1A
 
 wndbtm			.EQ	$23
 
-
 pcl				.EQ	$3A
 pch				.EQ	$3B
 A1L				.EQ	$3C
@@ -142,9 +141,6 @@ q6h				.EQ	$C08D				disk port
 q7l				.EQ	$C08E				disk port
 q7h				.EQ	$C08F				disk port
 
-rdtcp			.EQ	$C108				Thunderclock read entry
-wttcp			.EQ	$C10B				Thunderclock write entry
-
 auxmove			.EQ	$C311				move (3C)-(3E) to (42)
 xfer			.EQ	$C314
 
diff --git a/SHARED/X.UNPAK.S.txt b/SHARED/X.UNPAK.S.txt
index 2e8a8253..83062e5d 100644
--- a/SHARED/X.UNPAK.S.txt
+++ b/SHARED/X.UNPAK.S.txt
@@ -16,19 +16,27 @@ X.Unpak			jsr X.Unpak.GetByte		CHNK.DATA.T
 *--------------------------------------
 X.Unpak.STORE	jsr X.Unpak.GetULEN	
 
+				ldx ZPnCnt				!LEN LO
+				
 				ldy #0
-
-.1				lda (ZPInBufPtr),y
-
-				iny
+				
+.1				inx
 				bne .2
 				
-				inc ZPInBufPtr+1
-
-.2				jsr X.Unpak.PutByte
+				inc ZPnCnt+1
+				beq .8
+								
+.2				lda (ZPInBufPtr),y
+				sta (ZPOutBufPtr),y
+				iny
 				bne .1
+				
+				inc ZPInBufPtr+1
+				inc ZPOutBufPtr+1
 
-				clc
+				bra .1
+
+.8				clc
 				rts
 *--------------------------------------
 X.Unpak.PAK		pha						A = BLBITS