From 44dad842092b133fbdbe64f15a84529b5675d3c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 23 May 2019 17:38:32 +0200 Subject: [PATCH] Kernel 0.93 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/CAT.S.txt | 17 +++- SBIN/GETTY.S.txt | 4 +- SYS/KERNEL.S.DEF.txt | 2 + SYS/KERNEL.S.IO.txt | 172 +++++++++++++++++++++++---------------- SYS/KERNEL.S.MEM.txt | 1 - SYS/KERNEL.S.STAT.txt | 9 +- 7 files changed, 131 insertions(+), 74 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index b92626261469b0669db24a26b32e71447fddd07a..2030bd41396d85f1780e493e128995d283943616 100644 GIT binary patch delta 11338 zcmZ{q34D`9`o|}4nl^2kbebl;TS{7>E%1``qUBE06e?*Gnv_dW+7hJ-ZD|XFR|%G( zBA|eF>?(@xF3P$hh)Z=nmR)x}ceSp!f`SL0AmFVC|KEG02kigz@oV$U^UTaM_cQad z?(F%vbztA;5fOc(V+=dKj`$mX&Lp@gyOVEcDHG*Vec_nXy~P(1g(Z z%3vGOCn>tPWa4yqJ0jPSM1hd~GciyVncC7_UE6zPzRJ>QF^+ zbyH(7RMFP7I@s18s;+NpCVHEaH7T2$x`f2^98ys`S1k9;7VDauI%-y}*dPx@Q6Whh z#b>}Gd-Q-s`SPn_z!ZatL_bC;%Ad>Eb_umvd1}e|q^hREJ^xnOuGqa{{Is0nN-}mV z|Ef#Kj~=I3WsT>V8-x)hq9P_wAeG))Urj(Bm7LOIDOYI;vD!(c)1`D}S%sA7bP$V! zkDRAT&=l~ED8gDuoV7DWf7Q$yr30N#l2*i@+#sZO7NdV$v!HedZjs$7cMxkyIMEwU zoJhEIS&kx-U%_8tLSCm^F?V^ZeR7K(r6i$JPMcFz6OfB2 zfR{5Bv#J`|fr0{(FiT1C)~QBC#9SpO`RCLsMkU02iJan_r>2w=^K3cAJ>MtW6n3KQ zYB|Z}^(#r}fEuMBwYEYO?UhpkPNn`r^ng!JaUw}}vJfLMN9kl*ixH>}u4qB`SJ$@^ zyTang3^@+Fy$frHWYqO^3+d5w72A?|d{nnkteMX*?G`dM z3;4C&LV;!>f4Ez)X)fjc-NMM|MT+T^#r&6UVY22jUUIV_PQ9GW7X6~UV<=O|URYx9 zDhoBN?FhD$j3rQ4d#XgAGcZdYiyY|7x=M=1I!I$Zzwc(Da`z@dKPpu1t#ywaIZ_nG z!h+C>`Zb{|TG~R*E!X4`eS=c5*vMnI3*)1gDq>EMmv0xc$6TR^iB}T;0>4=9^n2`z zBSm&>n9CIHgeJauyC6nirHWVcXCY=SSHz?h1pOy^TJV3h5v9nS*v#X12-f5lSv#v~ zsJ4itw(@B^upO>c%E)iyOLho(h3$%H>md30`JsiS_E2rGJ=nH7xHKg7y?wmHURenh z(XUc0b64}Hb_ioM*YHnv2;(}}D5;5S(Q)Ogt|%xjk;gm7fy_jIt)jJF2W^!XdU+1z zI0_`?^@=k22HD?g* z5=q#omWHid?q#g1ZZ*l}tCN$^tv3%Qi6zDM0%br->?Cc|FpbMzpfs+;LDFs^v$&>5 zNY-rTsXapKq%ErHT-otr62DbVsFV{*NYbt0!u;487rHk}s{@DNZM?ZhNJ`nJYW+jB z*jkde^LwC<+ClP3=Iw;BwCd$P8DwC;3Y)oa3T;ouvBes|hpA&bl~5;8g~H!IVY zZ)>pKZ~KSs4cmLRV}04zYLkQ!S-XV&NBdK|_aEK6*mh*G?Ue4N{+~*hJaxIPYF#fO zeewa>;j@o)%KFKG%c@LZA$4( z*Y*anm&_JnE>=5hXOCM;tQp$ghUQ?X$}6W4o!w4u_mxn}@l!cO# zM`~5OKy96S>++@bq3oP1t{~AiZT_8&%Nt2zcG#fSJyWa=_*q*=JJIK8r8rJY@<#D5 zR-1BdqqV(Pt!RZKGlLyiasH0_j#ceq6#@m>kmTg@!fQ;~=6tCk^`Tq@X?gH<#8@r= zrqqxjjMs8gnIXMe9Im%aK)LNw15qyaD8z*%&aUm9<_|1zhC~N;TAc&Upan`kv}IXk zMHk5^(uxkw7p;#=wiYWMB$R|3BE_S-|ERm~m zhHcyB^ms59h&q=L>w8E=*|qLKU2P4&`Ff68gE&3m2H$ zR-*d?dh?g6et~m?+;=4NYku8%Q^xcY(8iw(J1>^q(jIIi)^8N|v!(OWE!JSY&n1Ra zC<9#)DkS>Tf_yK?J;UEVZyGb=Tg5y)O^n~Ez9V2I`tOC^C$(99I#a~2+8s1j$IKB2 z%{tF+Ts~q9-1oRnx#sYMCv@4knPhJ)dqUS&_C#dV_w*eLSve|KpG`i_yH^X-j# z!7^&}T|_M4Xsm+1F7U2YP41Qw0$ zSe167`#`ezP$_4?!g`d*gPO}9kBg4&j6H@7ZS_iqkH|)n_%VEN^i14R`yAC%h4st9 zrgaXq&G41lwuwadwdDAT3z}v)DK)JzBo-6hH!!fC8tzi#vide+I!(l~vL3k$%1G=P zwQ(f{B<4FJmU3w$(todd{sZYvCow+~v6xFM!~8P}l$-4loqktU6?eR6PU?&~OT-c` zwJ7#C6t|)&B;qjDor4Q;=arTy*G!@(nqFy+#%naa^-CM2v6HT!c_dDN0t-pCGiWtR zOG-$5gr>Ktxlz?%l^JxG@^H@zNr~s3zamZL0;!qv7c(I7+D5|6J8gZgBf90aB z<_n6(^d*)Ax!5MFMl9o)16@R)sF7D)Qj*5y7i;TkL|-j#3N>}r8>AkOPu9qjxxv%a z9K`L97*bHJba>!mk)}3fUMQ?JWejaya;ApUd(4TN5#0G=RKk=j4aQMEIz}p$T5M9K zbLy%B+vRN&>xEdeQ2}-|)f<<`i=)e$!$+>yC3L2a4tpu5cgwjdt2}OE7^7r^U%Fg$ zhbd1QxNAepWUVD1euWo7rE7UhdyweH!YpQ-#c8Hr2$Tn8XxFChnRFqAyfZGK%6Y zS158P3Ut@ZL4te0!0DO|xpF`*cca3%nS-()>RAI~z*!D;)qw1&gm}q-I2X0W%^nad zC9P*b>~z&at{#y6UWhe=Vil_L4u};VH)P+S>~cV!Gej0kICE{&Hm!7?x;y#frM>>IEdG9zVUccxj7m&{QD64>)TBB&JdN zEzi}Z(BqLwAMD%zf<@G@{wUV3XZ_KvKjvV+Ar!5D`oyD$k00Lh48QqZ!+36;X38F8 z+^^sA%86at{rapcKi&M-6I(t!u}hb{QorTN6W#mu58h8s-tc9=?&QJu3^TUUI}^hv z?6SquV`HChS?tcl7~^zhFU_&@vp2?0&@}ULow0A|+<~f^nFrU!YEN}0zai~5h;jX5 zWrZlkXkuksFi7-oX?mqKO5av?qi{@MdPmu=#Zo&qVEV37epsu2U)rJ965U~GdpvSM z)(^s2r2vwCC}lMd2Bo^A$di0b!;kGWCU$-dZLl#!=qDEx@+lMzIM|f>j}Nb3_ZiC2 zf37<5h2+GS7v%pcoL_Px{_A1+yGZIu$$V{y*PbyY#D6n9Z}KTVq1Biad0KMx44)He zN$jNG4!1FXC(R0PNPU2v>L3ZdXc0*!MF`Tpg$+)MKz-A4LUqFfM17pUZ3;F@~4f$Xn+7YpW(h*jZz@00N3C1`C*U}M-M>i_)dL)_Sm3Uh^X3VH(M1sJ# z-VmLx8(|R;M~QFf(>fCcOuIG2kfi3u0i6s}V~UiH$xD2wPgrj#=r%dt5g`yX3SIFm&V1Auhxi7W-RhaVUMGb=*CIy94{d1 zl1^rHJ{5KDsXKmuL^{m<$jXn9-b3d9z1XobETa5;G;%QCGIPe zus{A}yh~$FCv`>Pjq{=DeWNXLeZT!|)Q;;p7acKI&8we@1|SwO%u?@7cx|at?oEl8 z;9{BEifeb{)p=tJx*JlE)2=Hf5*#jrQH0O{w;H%OAY@PC#n?ZKB0FE`7uNHr}a z35zc(u;?=0HriA;dCC7`OZm~!rp%-uW@Pde>Q#20 zykm7;8SL1dYf3D>@yk=<6X(zGJb(W4e(lL;PQ1|n*)H9Fed>$nPepIjpM3JfF0$^; zJ!G4H&v~4L5MH=*R|GGfX4)L79E*L=PcxNG?3B+T`or)B#{H-`*oqr1+OPjfnQ!`^ zmC>>MBF!F5E%`-8ZUxc*s`O&qS=`%kd(0IbB9w zk?=rEggMDVwD>)sc1ic|6pfa5wnQWef|l>!5ogt=YPEbH5<0CB!>s*&uWL53=!PXq z3ybI@mB$rBl%$hG5R)E15rQoA1*(0-60IG4oZ2Lo`=!f%3@i|YL>uJHUBng}ewu;X zo2FIs%_p=8f>D0_vZk2uzGH|Rd;p`;16aKDzT;bMN}6ca$|F5ki!|X9)YmSH`r73n zNr`wh!s~aaM^+DU#Cpwzj!1KAjnEq@`I5Sp8_$?hMqhh@57%Ab!}ahX^#<;N zt@*~`(>1wM;PzIdRY(r;t!L1#^~3e%E@`R_3pO?=r4K!0nYvS3HiloG24D5e-4~T` zvr>Y5>WQxA4*4rj{&-h=ldCW8JJV@Rwi?82Qp?rdf)*GzOW6>86rv9@xA4PfOc{%B zy=bGD6|7$>b<%C>0BsxIImYcu<;sD*1Lf*(SGEv($MB{n_3-*{O;)$zPAOf9I(~=M zXulxpu-rA!A@gdh0&Y3{x;yOoPSjw%M-4shRRaQq9=p`g<39C(M(A-rOh^1);5VGc zjr$M$*te$4&fRL*@qn5WVaJ0~U+fujZtMPpl$eJG!j36GB5yx z9`6f#ydQZ|A65D_dLU@u{gWv&-z}=WOAie1EB#|?`0bqGKDP%M31sW`lQ z8=p{{Aw^GyzbbViz=(Yk`Q-2e&t^{{qw(pX;m0$>OVRxe78!@6@FT6$_;*DqkFVh$ zgGD|&q{x3FgXLcrM|QZ*0qJ;;~7XQ*AED&TR;cJLzgA%3jJlA`%D{}uM>4-Yk*>2P`iieVv1e}p@{ zmNd;iUM>CE&zroK49%l_qt}up93b2$#98>$UW;CMjPO?jmL&dx*AjiuXR)q}UlhEw z(6J)NH?IP}>?_6?`H}`uu9ZUA zn}~jfaz>AL^1Ux<#|hS9_dH|GV27;iP$D~uNJd|?yXq;a|9>E*EIvI2OzS@;)9m_MGu_k2%lvZ|; zm^!WUno0C?m1d^R<8z*|rfTN*9TRjTG?@O|cfXPv!CyC|jqkJ1)%9!oetSJNvNVZU z4h~L?+oUO0gnxL@*Qbe1JFe+@$zres8<(|YEehtA8`WQVb|a5Ar7hs~rnJ0Ro04o> zw8rk{yG&_05%x-(@&D0jq2r#ow8!938l(6xozVufpV6_5j$?E@qavdd7_~F%V6=eILPm=iEoQWY(TR+fGFryyBt|DQI)%}x zj80>8I-@ffbuwDcsEg4GM%|27GCGsdS&UXOdI_Vm8TBw)&1emyUPgV4&SA8cQ9q*r zM(Y@z%ji5t=QFy1(S?j&%IG3S7c+Vpqn9(fgwc9N8yIb5bSa}jMz3J>N=BD4+QjHp zj9$&?azj+8yLNj(N0F! zF&biYJ)<`<+QsMwMj4|U8SQ5DW=1zLdJChQ8QsF@Rz`1S^fpGfF}j`69gN=2=pBsq zFv=OdlhIyAf5+%ujNZ-YPDbxx^j=1HF?t`P_cQu?M*qO*9~s@v=mU&C$mkwM|HSA+ zjQ*L?hZ)_==p&5oV{|{Gk1~3I(Z?A53!?`a?PK(DMxS8xuZ%v)=u?b7&FC|X{*BQ? zjQ*X`e=zziqyJ>|UyMG-=<|%e!03yNzQpLujQ*R^|1kOrqpvdB&**E6{+H3$8GVD% zHyM44(YG0WhtYQ#eUH)i89mJC5k@~?^g~9EGJ1^Bj~M-!(N7rtl+ojie#YqMjDErB zmyCYJ=+}&%VDu!T-!OWL(bJ5cVf0%@zhm@!Mt@-RM@D~Q^k+tYVf0r<&ocTOqvses zzlmzLQVkG*7DNCYhy+nU528T~Fo0NK1SSv%r2O%~3=)6^SV1C40?8l+q=Gb%4l+O{ z7y+`tNMHlmAP0;Bqrn)E3-Uld7z@UM@jwIK);7YIzG=ZzY)nGYT0h&PzXay@l8)yd|U=>&mt^sSnT5v76 z4qOjz05^h8unvU4dToM z7yJ&~1?~nr!9Cz!unXJ=?gzgIe*k|3yTJqCL9hq>2|NV;3?2r1!6RTF*bg2B2f$b@1!4Kd^@DunM`~rRjXTfjaoMtaQuQ~aDLy|3T delta 10841 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 DF}1CG diff --git a/BIN/CAT.S.txt b/BIN/CAT.S.txt index b6a7135a..3ff2fd0c 100644 --- a/BIN/CAT.S.txt +++ b/BIN/CAT.S.txt @@ -152,7 +152,7 @@ CS.RUN.LOOP ldy #S.PS.hStdIn sta hFILE -.2 >PUSHWI 256 +.2 >PUSHWI 254 Leave room for CRLF >PUSHW ZPBufPtr lda hFILE @@ -211,7 +211,20 @@ CS.RUN.PRINT inc LineNum lda bPrintAll bmi .3 - >LDYA ZPBufPtr + ldy #$ff + +.20 iny + lda (ZPBufPtr),y + beq .21 + + cmp #C.SPACE + bcs .20 + + lda #C.SPACE + sta (ZPBufPtr),y + bra .20 + +.21 >LDYA ZPBufPtr >SYSCALL puts rts diff --git a/SBIN/GETTY.S.txt b/SBIN/GETTY.S.txt index b7ff0a7d..885c1b59 100644 --- a/SBIN/GETTY.S.txt +++ b/SBIN/GETTY.S.txt @@ -316,10 +316,10 @@ CkeckOption lda (ZPPtr1) .3 ldy OptionVars-1,x eor #$80 toggle option - sta (pData),y + sta $0,y lda #0 exit with 0 -.8 clc !0 if bot an option +.8 clc !0 if not an option rts *-------------------------------------- CS.END diff --git a/SYS/KERNEL.S.DEF.txt b/SYS/KERNEL.S.DEF.txt index da28d92c..6be68643 100644 --- a/SYS/KERNEL.S.DEF.txt +++ b/SYS/KERNEL.S.DEF.txt @@ -1,6 +1,8 @@ NEW AUTO 3,1 *-------------------------------------- +AUXPIPE .EQ 0 +*-------------------------------------- ZPKERNEL .EQ $0 *-------------------------------------- ZPPtr1 .EQ ZPKERNEL diff --git a/SYS/KERNEL.S.IO.txt b/SYS/KERNEL.S.IO.txt index ee01f905..93577346 100644 --- a/SYS/KERNEL.S.IO.txt +++ b/SYS/KERNEL.S.IO.txt @@ -465,67 +465,6 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1 eor #$ff sta IO.Counter+1 - ldy #S.FD.PIPE.Size+1 - lda (pFD),y - sta .5+1 Page Count - - ldy #S.FD.PIPE.hMem - lda (pFD),y - jsr K.GetMemPtr - - sty .2+1 - sta .7+1 Pipe Buffer Base - - ldy #S.FD.PIPE.Tail+1 - clc - adc (pFD),y - sta .2+2 - - dey S.FD.PIPE.Tail - lda (pFD),y - tay - - ldx #0 - -.1 inc IO.Counter - bne .2 - inc IO.Counter+1 - beq .8 - -.2 lda $ffff,y SELF MODIFIED -.3 sta $ffff,x SELF MODIFIED - - inx - bne .4 - - inc .3+2 - -.4 iny - bne .1 - - ldy #S.FD.PIPE.Tail+1 - lda (pFD),y - inc -.5 cmp #$ff SELF MODIFIED - beq .6 - - sta (pFD),y - inc .2+2 - ldy #0 - bra .1 - -.6 lda #0 - sta (pFD),y - -.7 lda #$ff SELF MODIFIED - sta .2+2 Restore Pipe Buf base - ldy #0 - bra .1 - -.8 tya - ldy #S.FD.PIPE.Tail - sta (pFD),y - ldy #S.FD.PIPE.Free clc @@ -552,6 +491,84 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1 sbc .81+1 sta (pFD),y + ldy #S.FD.PIPE.Size+1 + lda (pFD),y + sta .5+1 Page Count + + ldy #S.FD.PIPE.hMem + lda (pFD),y + .DO AUXPIPE=1 + sta SETREADAUX + .FIN + jsr K.GetMemPtr + .DO AUXPIPE=1 + sta CLRREADAUX + .FIN + + sty .2+1 + sta .7+1 Pipe Buffer Base + + ldy #S.FD.PIPE.Tail+1 + clc + adc (pFD),y + sta .2+2 + + dey S.FD.PIPE.Tail + lda (pFD),y + tay + + ldx #0 + +.13 .DO AUXPIPE=1 + sta SETREADAUX + .FIN + +.1 inc IO.Counter + bne .2 + inc IO.Counter+1 + beq .8 + +.2 lda $ffff,y SELF MODIFIED +.3 sta $ffff,x SELF MODIFIED + + inx + bne .4 + + inc .3+2 + +.4 iny + bne .1 + + .DO AUXPIPE=1 + sta CLRREADAUX + .FIN + + ldy #S.FD.PIPE.Tail+1 + lda (pFD),y + inc +.5 cmp #$ff SELF MODIFIED + beq .6 + + sta (pFD),y + inc .2+2 + ldy #0 + bra .13 + +.6 lda #0 + sta (pFD),y + +.7 lda #$ff SELF MODIFIED + sta .2+2 Restore Pipe Buf base + ldy #0 + bra .13 + +.8 .DO AUXPIPE=1 + sta CLRREADAUX + .FIN + tya + ldy #S.FD.PIPE.Tail + sta (pFD),y + .80 ldy #$ff SELF MODIFIED .81 lda #$ff Y,A = bytes read @@ -594,7 +611,7 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S txa sta (pFD),y store new Free - >PULLW .2+1 get buf + >PULLW .2+1 get dst buf >PULLA get cnt lo sta .80+1 @@ -623,7 +640,14 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S ldy #S.FD.PIPE.hMem lda (pFD),y - jsr K.GetMemPtr + + .DO AUXPIPE=1 + sta SETREADAUX + .FIN + jsr K.GetMemPtr get src buf + .DO AUXPIPE=1 + sta CLRREADAUX + .FIN sty .3+1 sta .7+1 Pipe Buffer Base @@ -633,11 +657,15 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S adc (pFD),y sta .3+2 - ldx #0 - dey lda (pFD),y tay S.FD.PIPE.Head + + ldx #0 + +.10 .DO AUXPIPE=1 + sta SETWRITEAUX + .FIN .1 inc IO.Counter bne .2 @@ -655,6 +683,10 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S .4 iny bne .1 + .DO AUXPIPE=1 + sta CLRWRITEAUX + .FIN + ldy #S.FD.PIPE.Head+1 lda (pFD),y inc @@ -664,7 +696,7 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S sta (pFD),y inc .3+2 ldy #0 - bra .1 + bra .10 .6 lda #0 sta (pFD),y @@ -672,9 +704,13 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S .7 lda #$ff SELF MODIFIED sta .3+2 ldy #0 - bra .1 + bra .10 -.8 tya +.8 .DO AUXPIPE=1 + sta CLRWRITEAUX + .FIN + + tya ldy #S.FD.PIPE.Head sta (pFD),y diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index ecc3019b..c41f1a7e 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -606,7 +606,6 @@ K.GetStkObjData sta SETREADAUX lda (ZPMemMgrTmp1),y ply - sta CLRREADAUX rts *-------------------------------------- diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index b5bec783..57f2f998 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -383,8 +383,11 @@ K.MKFIFO * A = hFD *\-------------------------------------- K.Pipe >STYA ZPPtr1 -* jsr K.NewStkObj Buffer in AUX mem + .DO AUXPIPE=1 + jsr K.NewStkObj Buffer in AUX mem + .ELSE jsr K.GetMem + .FIN bcs .99 stx .1+1 save PIPE buffer @@ -423,7 +426,11 @@ K.Pipe >STYA ZPPtr1 .9 pha save error code lda .1+1 get back PIPE buffer + .DO AUXPIPE=1 + jsr K.FreeStkObj + .ELSE jsr K.FreeMem + .FIB pla sec