From a81b81a13c1ee28e2b4cc46ec942f2c03b336f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 25 Jul 2019 08:13:56 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SH.S.CMD.txt | 2 +- BIN/SH.S.CORE.txt | 4 -- BIN/SH.S.EXP.txt | 34 ++++++---------- BIN/SH.S.IO.txt | 6 +++ BIN/SH.S.txt | 1 - INC/MACROS.I.txt | 6 ++- SYS/KERNEL.S.MATH.txt | 83 +++++++++++++++------------------------ SYS/KERNEL.S.PS.txt | 6 ++- 9 files changed, 60 insertions(+), 82 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index e2bb73cac21735cc1687f6173e6e4db8f6656731..f5afa5d0e7d7b96506785d568b7bdececdbefb43 100644 GIT binary patch delta 39287 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≫t}6M)GIOK5qBT zG9$fU0t>kX&qc!R7*$g-XLb<_PNy956w2nzEMksP{Jh!6UX>x+eo&$SqR5x zL~TX^GiK@6GF!GBj;!g<0|nzaBFQXwCr*;XI9C z)(QHxBMS;|Pp_GpmseSy%#0J!(v*wbyvaE^=`1i$zn1#m5ai<IRRmg3}lxix;^5@!Aqe%t(#8q{IN zugJq{*NGRcd<`$IWCpW*qwDs1Z)KK$NbgRg!OZ_8$8ScBdpHPu3j)dC>DKZpyN^5T zUr2?1uS3ZiuOA67GG*v6X8l1YBr)DyQCU70Zlt3FexVq4H>END2nuog_-}Tf{*(5j zAChx2`Z<7n+rjJHQ|qB?s7CxGGl=FjiXDA~&vW>w)}vA;9uGI_Xa1tYrka(|PV727@4Ub_2YKYzY1 z&&OqXdVnW$Zq~(qLqqt^JfD%nj|F;i!)IOW7Y2%bh+?;|_3|WB7&|e@Q_VH{A~r-G zO`GJ?mNv;4G8;Q8!+7pH#^YjF-@&jd12>U zLJwWe`sHd%@Fv&!Rj%`Igq<&~3*#e)`5hkCU})X9b{$)8x%k<>nT^d2wd*iH9oe4q z!*(_G!(;nkR*!6NFueOBtKWw@t|C`Us-lkN_YC*zTX@e2^}!QytAA};m)T_LQ#}-A z?^OHZ@4%mqD=JD~M`=LWAu3Put9F$cnr94b-cZ-)1SnpW6pLh58mvU4A@$v>{QPjg zWb4=y>K$n7t7e>3N1iNFhw{Oxe*OK`lY86$g~@*?pONY}rYioVYt@inR^Ix{3wqsZ ze^=AX79Vx&$<$fv8ht9K@3maH*r=-N$p)Wyr?Vx~+1lwC<%PZNr@wz=$S<9~%>nRr zH?A1>8cJJy#^HbQ!Tw2mlHkT9fn>FE$iLI4`D&-7&pL~LR&%0S_RGw5rTBZ|Pymo{ zwn@+9M)-wHi9bo0w!YJ$b{uQ5WHtJr%f0QFON}qqzF2+CRg_wk6(6i_{bge*^?@GJ zR_o{Z7O4YIy0+@G6We{%+T*G7|NKQ*_s)Lm2dpJ}s%qr*BmDYV$DVW*H5%T2F>9~o zGU%!*-#x-Fb>azmP*+7>j`?^j)rnmxa=q`Z7lS*1N=!MqK3`khS>ds44e`vB^9 ztz2@lPPgOG)y{#~TxxFUGsI%9o4iAP`D9%o{_-*7l!Sh#PVR119{#d--RYC6qjyK0 zVMpUcRBGt2o;cZV@5>8jYvt7+Q+A&oS&b z^QQ62pe*?5cm7;$I&mnb{k!J4qE&lNEmdm$w<;SSN;|!#V@=1Gr@zGSvD3#+A3R;8 zx%#U^2kty&Ip3(?{@JN@Zy5Gk{%F>1$Wel9>Z#K$2OF7+wZZqa44ANaCm%FbaqD*S zyQV5({r8?K%A%El?->|KbxdcYdGnrA>WI!31AdDd^sP#GJ(dpq#i>f~D8ZSB8RwaP z_$L$ptmzngX6%`}`HxeTh>X3ba;_YOAL`SpY^3J27Mpga?yfWFCFkl@%1ZKWuC7<0 zj8$jw4Jn<*#b=wMh49}`}wJM*u6Fuc>y@*<=Nee`SJM7qt21^s_z_b-d6+VGV+xBKcy+|o0l}2d4s5DQ zrs@^T*`K;I_0u{2(KJQXjp2vz6ImMo+0>efNQ-alEbUy=@eKZ@f1c}Hc9*j3F8^hB z1#Gy>RIb~~d$pTx8QjuY*V-xHiwoYZvfHY3eg}YV)pwmA?C-?3LzY@|q$P-yan;^a zjaRoH>g222O*a~bo*&xwRl6x!_mssPx#1g=Pg~G;re7%)wBdWxhdw|oHnkOhV||IT zrfqoEtoS6d*mro1F2uzX8_WUz?@EU*^gVt{gV~8?=#&O?lw|Fz2`Wg397bI3=PSgWS+)*4vrM7Y-SD zMR33T;C@9YdY(MYY2$J0&5_drOnP^!#E#5TY)T+}#_U|C1j)25STB6M>|FP_33;n3 z7Xx^*!11k^%M>dd>EgxA83JDrZd}|rw^nuF;&>Ko=SS9?V{#m*Jbz|QY@b=P?kaG@ zeHr7<%FP+gLY&gGj4K;mTv<#GoDvFmaPACdb9uYWFDzI^jERU(Sx7I*7wQz0RJyb0GfR}0a_;29be7tif7E0i-d{!I@?z=C62-}d z5SJyod*xMZSPbv=mbu>ma+doS^=IZCn!lNx!Ym(4SCSO6a6%q4ege0y*WdX34dzIn zojP|iU-+syH0d*PFo7%%WyW2o5VBk6PT}MMd)k@yXfy}2u)T0Tzh3CH&tN8azr-Kf zg?yoN59V`cF7Y<8!tI?=wxlLD!(EVRmtb9T-^pK5}_)FUUyG$*IX)T!t53P+87Q%uJWTGkw3QEc6PmYBoC^|Do~Vt60jEKV|2A|EuF0o6WHyS3Lt{Mnm^mR|6AiBw$0@2XT9{wk!7iO&zk{S@h%x|EQkQ$!1 zXwM0FZqc3xK_;!*^Mu^dkjYl0q)aBgNi_MY*UdS)xA>2*o5Om&tyRs4G7opf_nZ_{ zfuDNIJXAN3N55^3nV9%LNVqLR9%RLt7TvG4IHP2V+SPg!U( zuYcR@i~vp}XN}tV3u=nXXV=UvnN_*N$IW7g@K4ZbBrqAd5i_+mebM5Y$|YqbtQSxj z%3M<#=u8AML!Yh{Sd6HcUOQ`U@$3rb0uCeA@7=z!@(tU}TYd2@#N7bP_?p?q?<@_p zRo#f1o*7MU4=FcE5XU$Y-%P;GdThE-C&9Pq#lB5!rn}(wiA+g{Sp(SMKT6cbHwt8i zAfFHdW3uO$Evl@+JTR*SQUMf0C9W}=R4NL}if5GMmSdW(qIud1K!&V?cWQS5lA-xd zS~+bx$IM^^O2fj(dC16V{!!7i{|)__3t-LvY8C{rMx&pR&s>0OytS%4#sbs>0ozDg z4}lio8*i;{l@wq(G;U>*CZ&9ue+qiC>hr4 zPN3B=MZb2^${+Z7t&Q*Y5R@Vf;6P zeqCU&^D|3e<9K)wco=3%)kQRh)PpZE0c~m02)^8%CNo_D2?DkTGwXk7 zR5Q9s?k$yJj#8HR$-D zd4UeSkB)!6)@gSeHCtVlS3q)g_;xp-yO8#530n6M-k zGD0)YeNvN_R+cXUhMNXwhcxI0+0=L=jJ5qH7{sJC(mAP}RXi7)rOHTI(f?*q@e#i8 z!Cp_inba7jt6I#A@FbYy1l+P@3Fm3>?ybxUFQSKgVmn378<8fV1H_DHrqddSLzoc` z1ykTj%$X0Wa3+`uZiJ>_Msg$q;7FuM_XU0g(W&wfBLC%rX58Ur{f63szv~j7mE%~- zBH%obQT`u@pYb9pM_eLTkZMfGoFG8KvgE=A0%#RZ1HIH_765Ny2q(AQ_NQPi2wUFd zh68NPV6Ol2vKEWOpBdpfusEjYCmRF%4btg_>YLy-2t6Ol6gUdd8)h@=;RjNu;|cbi z0ADE9m*4zKV2m%VE_y3`_A7x=QT|vNpi6rI&5iinM2`~Rb(!>hVT;A?&+LJ6Hr}v4 zusTPpk~#5KW_mz6_%yLS2%@%!dQi!jGMbql_Exc0$@$kKRu)#x&3%Ggfi-fXf()FG z==r3+PFsR)Y0tWN1@>CX^27mXJMGKB;wwRp{*LA38PN;rhJTw@Xf1%=J`VQ6R`M7%k{M63@@fIeN;}S zyELz0;9?f~3{UDCXkDkR=`wP13o>&j-o~7d@t0q=*bL11IImu3vD-sdYIClrNjnIx zI;!FvX>)HUH*0bpv#!RpG^di3U-oCJM+VKzShGBdX6jS?@{5+z%}Ht{75mi~PcNi95*XWq*T|r>Vd(u9--q-A-{Kg9^XTswn zQ~Lo}AtQ-p*mlsgeb|E^+KaM%be*hRI|On6kHH*7d5D zoeay$B`o4I#_OFHm)^BYj&8Rcm9huraME0R#pqnl&m|3fK)?fLZtlzM;3oxyEG=i!B;BAeT-oF1tq4Qgz?zh>#>psp5(s$dx zq&fDqgC-fjM-#sv$kwuu4yMie(Dv+!*@Z0RN0H;1I16f+dmqnw#geEy!0&s-($9Sm zGAA>5hzSd7{0Y}Z?Wml^33&?frHP1CvsN%59$vysJ(o+ zGjM#E15S?gDJTL7s3O!jT=oTVdV7)$O7LGkfh@B8Krr}m8C3%e4rdem3iFApRknSEg9#kW0z8Q~eRXkYAPa-P1?5}61mNQey+UADWB7QW1;NDo7kJ!KjF(aagZ z7jCdPQcXRI-31x>*?EP`5eVm@J1Hz*m?;RE(0m%K zm5q_$I;@x1k0DLM$D0LE73&{+loU(1PMJ&9WSUJv^@gx9Ycz=Ddfbl8`S&qrOwZQY zd029@;69$0SlduGpg-12#Nq=LqBhp`B={~pd^n@wzloO)q2B#D&lJzf}saa13-esE1~K^Sh>o4$_@A(?s3!v<`0}3whq(fWvV)XDOcnuBL9OZEGk%VlIUGsxAgxf~+I@5Ob2kUD(KfJoZ%#qArR-$ZGktxz~ z87&^#^J|9a=JWBD0K;UP&zQjsb&HSXES-xBuF_ z1r>8D=iFCPGk|tjZbGr~1`r9kQS+Y0}{Z@Nb4inL8EPMhR@0OKTl7j|Tv8PAlF-|0*=SoSR zC-gj$*Q9Rpnv^}UklFLE6-W&;6;iDwHFrQ6jFYL^t>pF6N(g;I|FIUFBHvA%?30Xz za+{_Sw|iAWxkGyD{&xz`8gTG5`F2w7;;Ro>lXZ9VPYzh)s)}T;r5I8XUu#Yc02*eQ z-YuPx!7MWWpAm33*ACf(8k%T9~-QX0G-F?@~?tXfMyg1m`HVC%%0V4XK zwz_$UC_U`KS-T0`@)yvV&QBb)4y!_skD#7&sWv1U5&5ypXvv_|YVuvyO`as*N4upV z-{9qxj?0dpFgb_B`&du$CP?wFki=|{%dRF<<0OgN6v5C}zNIoC=Z6;$&kEviIQj5rK12rU<6_M*y(3$y~|c};>Z zbdwlKa9y`FN$^D}!DWZ7%MOQZIBff7aHVH6apEX?A%A7cREbA9@9^UOT~%1voqD

{Uwk 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

XSaoReg;OR>Y$$qZx#w{K- zZ!QZJtQFeGWlPY#G2Fgf>a+TXGs-#kt;y6Vvfs>Ii2)g9n=va#3qu;621gnv)H;Lid1AV11Yl~jPramHFUrgAdmzsmB zkzw!7QrR$yEEJB8sO`oXGe~@l*ENpyDz#k*)@@vNSUsn*rf|HkC;IKK_{(m5mtjt2 z<*eQDx8oTVIDreL6I}&veSn)MWo#0c5|fdumJLR2mxD@@!2%=l9!@SgPtD$XN5j}Z_+!! zGzGCR{LSzJ!SfAOW01q4bM^q&`quD-xs`P()QINA*H&=ftOx-9YuxS{a4Oy+_j6pnw;D^xCtDQzmNWDH0@6L1tVgJ4=l_<#J$qTos)86P{TpP zl~SE*r+U+>COeO{)2&rL^f5m0>PRtpOmr8GyJ}P}x`l&RiY^Tzw(qE-XrCDWw%0QJtDuY#8REDT*ud;*6 zjw(Y{hN%o!*-2%D%FZeyRYs|dRvDu*R%I8JaVq0gc2(I;Wp|YcDic*EsZ3UxqOym| zRFyqdrm6f@WxC2#m31m7tDK^8s>*tm(^O7ZIYVWGN~m(C%0`th5H<$0ACR9;khN#$jgS5#hAc}?YYl`Sf7 zsJyB2mde{I@2I@1@}A23Dj%qPsPd7@$10zwe5&%9%I7LysC=pNmCDyD->7`6@}0`} zDnF?FsPdD_&nmyD{HpTXTFF``S&$9ez+WH+9bj9CLk{FZ0y;t`$b)=HLID&)5fnoS zltLMlLucp$6;KIPVA8FI8t4k$pcd+&9=byh=n1``H}rwN&<`45J7|Rd&;-pe00zP! z7z`~i1h$7AU`H4V!(ce<1S4Q)7zv|bG>n0m2+W5=VF9$kLO2W-!D3hf zhr?1>2Fu|HSOG`EQE)V@gcSS@+F=zO1FPX!P*?-U!SS#bPJk2PBv=P0!zpkotcTO! zbT|VxKnQ2TM%V;r!P#&QoD1i{`EUVT2p7S{a0y%rm%-(51zZVN!PRgLTnpF1_3(GN z0d9nw;AYqi|A2qOE$}b66>fvu;SRVH?t;7F-*6Ay3-`f);C^@j9)ySBVR!@{g~#A= zcmke;r{HOL2A+lI;CXlfUWAw6Wq1W%h1cM9*aC0BoA4IA4e!9a@E*JmAHaw35qu1v pz^CvTd=6j0m+%#Q4d1}G@Ev>)KfsUh6Z{Onz^_@?%5Pa){tG0p6_x-1 delta 39660 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 diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index fb252271..2d8f16a8 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -1017,7 +1017,7 @@ FOR.EXEC jsr CORE.ArgV.NextChar skip "`" jsr IO.Pipe.Out bcs .9 - >PUSHBI 0 + >PUSHB.G CORE.PSFlags >LDYA ZPArgVBufPtr >SYSCALL execl bcs .9 diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index aea3ddc3..7513001b 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -186,10 +186,6 @@ CORE.Run.7 jsr CORE.GetCharNB jsr IO.Pipe.Out bcs CORE.Run.RTS - >LDA.G CORE.PSFlags - ora #S.PS.F.CLOSEONX - sta (pData),y - jsr CORE.IO.AMP run in background bra CORE.ExecCmd.1 Do not skip | diff --git a/BIN/SH.S.EXP.txt b/BIN/SH.S.EXP.txt index 16e0f816..ee4292d3 100644 --- a/BIN/SH.S.EXP.txt +++ b/BIN/SH.S.EXP.txt @@ -259,6 +259,9 @@ EXP.TEST.BINARY >LDA.G CORE.Operator .2 lda #%001 010 str1 > str2 bra EXP.TEST.BINARY.END + +EXP.TEST.BINARY.ESYN4 + >POP 4 EXP.TEST.BINARY.ESYN lda #E.ESYN @@ -269,37 +272,24 @@ EXP.TEST.BINARY.NUM >LDYA ZPArgVBufPrev >SYSCALL AToL bcs EXP.TEST.BINARY.ESYN - - >PULLL M32.ACC - + jsr CORE.ArgV.Next - beq EXP.TEST.BINARY.ESYN + beq EXP.TEST.BINARY.ESYN4 >LDYA ZPArgVBufPtr >SYSCALL AToL - bcs EXP.TEST.BINARY.ESYN + bcs EXP.TEST.BINARY.ESYN4 - >PULLL M32.ARG + >FPU SUB32 - ldx #4 + >PULLL M32.ACC - ldy #0 - - sec + lda M32.ACC+3 + bmi .5 ACC < ARG -.1 lda M32.ARG,y - sbc M32.ACC,y - sta M32.ACC,y - iny - dex - bne .1 - - bcc .5 CC if ACC < ARG - - lda M32.ACC - ora M32.ACC+1 ora M32.ACC+2 - ora M32.ACC+3 Z if ACC = ARG + ora M32.ACC+1 + ora M32.ACC bne .4 diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index 86bb45a1..83cd5421 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -69,6 +69,12 @@ IO.Pipe.Out >PUSHWZ mode >LEA.G IO.FIFO >SYSCALL fopen bcs IO.Reset.In.RTS + + pha + >LDA.G CORE.PSFlags + ora #S.PS.F.CLOSEONX + sta (pData),y + pla *-------------------------------------- IO.Set.Out pha jsr IO.Reset.Out diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 97cc2759..0d19c003 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -77,7 +77,6 @@ ZPArgVBufPtr .BS 2 ZPVarNamePtr .BS 2 M32.ACC .BS 4 -M32.ARG .BS 4 M32.TMP .BS 4 ZPPtr1 .BS 2 diff --git a/INC/MACROS.I.txt b/INC/MACROS.I.txt index 545df26f..0342b799 100644 --- a/INC/MACROS.I.txt +++ b/INC/MACROS.I.txt @@ -449,7 +449,7 @@ FPU.FOUT .EQ 54 bne :1 .EM *-------------------------------------- - .MA RET + .MA POP .DO ]1=1 inc pStack .FIN @@ -470,6 +470,10 @@ FPU.FOUT .EQ 54 bne :1 pla .FIN + .EM +*-------------------------------------- + .MA RET + >POP ]1 rts .EM *-------------------------------------- diff --git a/SYS/KERNEL.S.MATH.txt b/SYS/KERNEL.S.MATH.txt index 1a713a9c..e9915f88 100644 --- a/SYS/KERNEL.S.MATH.txt +++ b/SYS/KERNEL.S.MATH.txt @@ -44,26 +44,23 @@ NEW * ## RETURN VALUE * On stack (float) *\-------------------------------------- -K.Float ldx #4 +K.Float ldy #3 -.1 >PULLB FAC,x Reverse Order - dex - bne .1 +.1 lda (pStack),y + sta FAC,y Reverse Order + dey + bpl .1 + + dec pStack keep 5 bytes on stack stz FAC.SIGN - lda #$A0 - sta FAC Exp=32 + lda #$80+32 + sta FAC Positive + Exp=32 ldx #FPU.LTOF *-------------------------------------- MATH.RomCallPushFAC jsr GP.ROMCALL - - lda pStack - sec - sbc #5 - sta pStack - jmp GP.GETFAC.ON.STACK */-------------------------------------- * # lrintf @@ -77,25 +74,19 @@ MATH.RomCallPushFAC * ## RETURN VALUE * On stack (long) *\-------------------------------------- -K.lrintf ldx #FPU.SETFAC +K.lrintf jsr GP.SetFAC - >LDYA pStack - jsr GP.ROMCALL - - lda pStack - clc - adc #5 - sta pStack + inc pStack keep 4 bytes on stack ldx #FPU.QINT jsr GP.ROMCALL - ldx #0 + ldy #3 -.1 >PUSHB FAC+1,x - inx - cpx #4 - bne .1 +.1 lda FAC+1,y + sta (pStack),y + dey + bpl .1 clc rts @@ -198,9 +189,15 @@ MATH.DIVMOD php .3 bvs MATH.PutARG32 DIV *-------------------------------------- -MATH.PutTMP32 ldy #3 MOD +MATH.PutTMP32 lda #TMP32 MOD + .HS 2C BIT ABS +*-------------------------------------- +MATH.PutARG32 lda #ARG32 + sta .1+1 -.1 lda TMP32,y + ldy #3 + +.1 lda $ff,y SELF MODIFIED sta (pStack),y dey bpl .1 @@ -208,38 +205,20 @@ MATH.PutTMP32 ldy #3 MOD rts *-------------------------------------- MATH.PutNotTMP32 - ldy #0 - ldx #3 - - sec - -.1 lda TMP32,y two's complement of X bytes - eor #$ff - adc #0 - sta (pStack),y - iny - dex - bpl .1 - - rts -*-------------------------------------- -MATH.PutARG32 ldy #3 - -.1 lda ARG32,y - sta (pStack),y - dey - bpl .1 - - rts + lda #TMP32 + .HS 2C BIT ABS *-------------------------------------- MATH.PutNotARG32 + lda #ARG32 + sta .1+1 + ldy #0 ldx #3 sec -.1 lda ARG32,y two's complement of X bytes - eor #$ff +.1 lda $ff,y SELF MODIFIED + eor #$ff two's complement of X bytes adc #0 sta (pStack),y iny diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 98a4e9bb..175bbd07 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -132,6 +132,10 @@ PS.CreateChild ldx #0 jsr Mem.SetOwner Set Ownership + lda PS.Flags + and #S.PS.F.CLOSEONX + sta (PS.NewPSPtr) + lda CORE.LastPSID ldy #S.PS.PID sta (PS.NewPSPtr),y @@ -635,7 +639,7 @@ K.Kill.2 ldy #S.PS.hSID lda (ZPPtr1) bit #S.PS.F.CLOSEONX beq .1 - + ldy #S.PS.hStdOut lda (ZPPtr1),y ldx #SYS.fclose