From 01fa428204bd66e84af70588f5f623c6d0447d1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 19 Feb 2019 11:30:45 +0000 Subject: [PATCH] Kernel 0.92+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SH.S.CORE.txt | 38 +++++++++++++++++++------------------ BIN/SH.S.IO.txt | 2 +- BIN/SH.S.txt | 26 ++++++++++++++++++------- SYS/KERNEL.S.IO.txt | 40 ++++++++++++++++++++++++++++++--------- 5 files changed, 71 insertions(+), 35 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 90a1c9619e1c48aee9a09b898621fab4fd62c3b5..4b548a9810830ccc3c78aa8bc7ed12d64852b601 100644 GIT binary patch delta 20199 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%0A1wAJIo5;loMt~%R$kxz z91Ooj=Tg^YvH4cbU3D~ROobr`n{SN>jF^^zm^dF>D|)<53k|4@M;*Kus38%zgK&tI zKT{Zs;mc7G<^k$>D;kAE6WZL>bK%sIERsptpEt?F2dqG2|FI-`oLT|~gs$vfc?}tM z2fKE$Japon-Lu`P>P41+SdEsuE~Uk>x(6-7e$2d^eXv*_E<$nL2T#*RAGVGqFOi2z z8(8TQIkw=Q%XEpDTes<{_puwbCFsj8&uZa z^6@D4$p$>RDe_{=?6^n94edtx_aGBO$EgDkw#vQbD@@R^Bwb;?L$V{Sp>{!qZ+7j1 z1q-ma4eF~T5tqfqka+WB?T4<_YdV~0v1sOslY~1HQAsTEC=wDjj5re@pPKcF_ZZp> zG2EzLX5%@blOf4h!{@kAQ&r3n$*M9{6`lt-O2VUz9LR>i>5UrXpC7Tgg~}Z5_2lNl zu^7VEeHIYWlp>0u5z}zLs>M$n>3*`sYpdDf4V!bQzU68DkV0QYeLcdsMAgcDp_O%C zP7T#9$Ez$9W;fPX56&SWnR-_vnzJE^(9$}I*?C#T`2}RqRqWe?@<2tX<+^HhzdWFq2hYPQvq5zN^-m+K@y{?8fwl#`^Mwb#VUm(K3nCqq3iU(JtGYpuhb} z#lL7m9}8tJtbeDb%!NyFVW}Kb#M$0;Dj`llOi=5jmscngA;j5Uck$E$1j`GH#A6re zIQ=fB_f$zQ6Jhr?^Az#q0V|!0ND(njLnpTB-4}O;SX@Vw6{=ocT}1p$(DB3!?Jk0A z7ASa4G>Hj1o;ab?5f|yXI#BC=$?SUTL@ZG2`dT?>qfwd~r-hQ&nct(%Y+7 zGQqXt;H#^uBW7rB5nplEvm;N*5k(E^GKpoFrQTO~iK$VrVWD=uL3tzUQb$ZTAv1dM z-z)<$FVS`S%`E9Z~QbO-;0z( zT*CP@pRc4?JdBLktm=Vz_hBGS4>;}@23L=b<$6Gr&c1j@5%YtZfY`QbT0?b_!nR!y z6XD*f??1(ZPt$hLs_bAz&&n|qclu9i&0kcnN95g?4wEUKfvUSqei)@-b@ye-ByoG$ zQ_sq=Vf(Z~VPrglVR}Ex&OR&mYHAZb;t21i3dAvP+K)Pp143x@n*%u0#n~kEFAM|m`aY?um?*#g$y}kIO0!g!AVzWGkSrHH zjjCbK=yIc4GJ=R_FCyX)YMBp%VYt?bd`|7y-!CT9tQs>%P$%|zHvX{OFX#nrgY`Pf z>JH1%$^QbK;yf5Z9JobM7gjtB^;TC@KqdcMXWR&q+`%3{EGIR+g03vD3L4-B!|i)b z4F9^eH%$LQBH|5=apL;I|0++s4Q-e;Tiif}|JT2^{zCJc!u(u9%x{TX30!ym4})qZ zVemU*533he?`mGwaQ|EGKJSaEPMMltvi{;D{WfAbrqhiD{{S>OkF$QanIf7##J2;l zyK(QTA5T*jLIy)W)@SZ0CT1sqbi2cCFH+MR0Cl zItl;WzffHhZTdpY5YG_5lv-+`i7zn7{FPpE>XMSvddZnfO3v!Ee67*q{6;FSSWvsD z!rNFszP@&W*y$wfoVwq%z(|sajD+!SIgRzueBbFJriL)S2a9_B!0tLCM>qYb&!Ee- zxt&;k>RKGr&!`&wi%@&wg`fFXO$P11!Tv7qa>MPvYwPWI^8Y}4VFaaK_o ze%PiSs5qQL1eJCJj0>^h%%R#Nz&>Ft>jl|m%Jz`H;p%4~Y$6ilP`|GbMm*^gArieM zr&f-*BIzru-%9R`B4Uozx(ap~An&kLh&f8jNsDHWzaXa?dKsAXrOgpHyei%oOM3M- zh?t$KzwdNsUG0k<-M``5`fF=qN&h~q&rvzPZ(p?r9wQYNqlVWPdrf@*s_RDf_qx$M zhTU*fj+PX5^HI5<)Q{bFRPH6kvL}xsfDy-zAC(6*#T&*?E^$xDEt!-%bCo(o|MJ+| z2%dGS0g%W9LvFz|cX451$z5ux_=+Ww1JvxItdcw}TYSY5XQGxpJ!idIxoCP0GLy7S zZ>pZ@O+^REYGz(o;pAMchdg{?S_9dJf64JpgS6otgAL%}Mzyno!n~?{N%3=9BvbuK+#1G`urxiX%@$py>lu^LRcMBuD9W1ZZ9-=uL;V?I z7Pet}s#pv=+@F9|iJF;R$pWNC=qcC@=ys$(CEN$3uk@$$^2ejxewCgs$rtkv9i=9l ze6b>!D~1}amlqWlAsISGPmY6KHYt`k#_H+p!h(|gf~kV;EIkWBcC;U-rwVds2y(LZ z-7f<9$e#3fIqft{Ru3)?K(ZtH27+Cd_7Vcd!laecRVg%^t?jtc@$cd z>Mi;q5mM&wD|ZS~v;3(7v7)p6DG!z~q`WI7$}0S+38Jjh(9)z)J^_W6IVjYqkgIx9 z;l{HyFA1583V75Q*FOad88WX&YJOJ=amkQse=0R4m4qy~kV08aR|+-zhSd6#DWYm! zR|?)#83=&s~JnLOr#hwj7gLgp@9EH)#tTwV3tp zkX=_TK}kNYm8W`(hj@##hsS~&!BuJLUr6~P%5S24G384rznSuXP`;G%TPVMk@+QicQSPJs zHp*|Od^zRKlvB!AP`;A#J1Ad8`JI&CMfqyV*HC^pOit?u^e}?jBDL+K{ValJQ{0QaGQ~m*pP>8`%0H$2Gs;g={yF7eQ2r(5Ur~OF^3#-`q5Lf6 zUsL`K<>x5plz&V4ca(om`45!;Ncm5c|4jKWl>bWkZzuK=$CuK}+E{{h|rI)VQJZvt-t{{!9z-T~eP-UHqTjsYJ4$AJ%lkARPX6Tm0H zr@&{xN#Jwf3*bxOE8rAx8aM--1-=Hp0nPy&_!jsM_#XHH_!0OC_!;;G_!amK_#OBI OI1l_OJ;MKzLjDhs@qRD> delta 22260 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

do-#4?D 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 diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index 7ccc1e3e..7ebec4b7 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -68,17 +68,32 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping sec rts Ending 0, CS,A=0 -.11 cmp #C.CR +.11 cmp #'|' + bne .21 + + jsr IO.Pipe.In + bcs .9 + + jsr CORE.GetNextCharNB Skip | + bcs CORE.Run.CSYN + + bra .3 + +.21 pha + jsr IO.Reset + pla + +.3 cmp #C.CR beq .80 empty line ? .10 cmp #'#' commented line? bne .2 -.1 jsr CORE.GetNextCharNB +.12 jsr CORE.GetNextCharNB bcs .8 EOF cmp #C.CR - bne .1 EOL + bne .12 EOL .80 jsr CORE.GetNextChar skip CR... @@ -86,22 +101,9 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping lda #0 clc - rts EOL, CS,A=0 +.9 rts EOL, CS,A=0 -.2 cmp #'|' - bne .21 - - jsr CORE.GetNextCharNB - bcs CORE.Run.CSYN - - jsr IO.Pipe.In - bcs CORE.Run.RTS - - bra .3 - -.21 jsr IO.Reset - -.3 cmp #'.' +.2 cmp #'.' bne .4 ldy #1 diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index eaf1b3c6..bbdbca16 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -35,7 +35,7 @@ IO.Reset.In >LDA.G IO.hIn beq .8 pha - + ldy #S.PS.hStdIn lda (pPS),y >SYSCALL fclose diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index bc32a0cf..e22cddf5 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -284,7 +284,18 @@ CS.RUN.LOOP *-------------------------------------- CS.RUN.INTERACTIVE jsr IO.Reset - jsr CL.Reset + + >LDA.G hInputBuf some commmands left in buffer + beq .10 + + lda (ZPInputBufPtr) + bne .6 + + >LDA.G hInputBuf + >SYSCALL freemem + >STZ.G hInputBuf + +.10 jsr CL.Reset jsr CL.PrintPrompt bcs .9 @@ -323,7 +334,7 @@ CS.RUN.INTERACTIVE txa >STA.G hInputBuf -.7 jsr CORE.Run +.6 jsr CORE.Run .8 jmp CS.RUN.LOOP.END *-------------------------------------- @@ -426,10 +437,6 @@ CS.RUN.LOOP.END ldy #S.PS.RC jsr IO.PrintErrMsg bcs CS.RUN.LOOP.RTS - >LDA.G hInputBuf - beq CS.RUN.LOOP.8 - >SYSCALL FreeMem - CS.RUN.LOOP.8 >LDA.G bExit beq CS.RUN.LOOP.80 @@ -463,7 +470,12 @@ CS.DOEVENT lda (pEvent) .9 sec rts *-------------------------------------- -CS.QUIT jsr HIS.Quit +CS.QUIT >LDA.G hInputBuf + beq .1 + + >SYSCALL FreeMem + +.1 jsr HIS.Quit jsr CL.Quit jsr CORE.Quit clc diff --git a/SYS/KERNEL.S.IO.txt b/SYS/KERNEL.S.IO.txt index ac55fbdf..5f4c632a 100644 --- a/SYS/KERNEL.S.IO.txt +++ b/SYS/KERNEL.S.IO.txt @@ -235,13 +235,7 @@ IO.CLOSE.DIR ldy #S.FD.REG.REF >MLICALL MLICLOSE .1 ldy #S.FD.REG.IOBUF -IO.CLOSE.FD lda (pFD),y - beq .2 - - jsr K.FreeMem - -.2 lda IO.hFD - jmp K.FreeMem + bra IO.CLOSE.FD *-------------------------------------- IO.CLOSE.CDEV IO.CLOSE.BDEV @@ -250,8 +244,36 @@ IO.CLOSE.DSOCK IO.CLOSE.SSOCK clc rts *-------------------------------------- -IO.CLOSE.PIPE ldy #S.FD.PIPE.hMem - bra IO.CLOSE.FD +IO.CLOSE.PIPE jsr IO.CLOSE.NOD + + ldy #S.FD.PIPE.hMem + +IO.CLOSE.FD lda (pFD),y + beq .1 + + jsr K.FreeMem + +.1 lda IO.hFD + jmp K.FreeMem +*-------------------------------------- +IO.CLOSE.NOD ldx #0 + + lda IO.hFD + +.1 lda Nod.Table.hFD,x + cmp IO.hFD + bne .2 + + stz Nod.Table.hFD,x + + lda Nod.Table.hPath,x + stz Nod.Table.hPath,x + jmp K.FreeMem + +.2 inx + cpx #K.Nod.MAX + bne .1 + rts */-------------------------------------- * # read * ## C