From cc307e8bc3725480d6e6be59904d3d0f3f681ae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sun, 29 Apr 2018 21:10:13 +0200 Subject: [PATCH] Kernel 0.9.1 : KERNEL, Preemtive mode, Code cleaning....step by step....#4 --- .Floppies/A2OSX.BOOT.po | Bin 143360 -> 143360 bytes .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes README.md | 18 +++- SYS/KERNEL.S.CTRL.txt | 2 +- SYS/KERNEL.S.ENV.txt | 2 +- SYS/KERNEL.S.JMP.txt | 20 +---- SYS/KERNEL.S.MEM.txt | 172 +++++++++++++++++++++------------------ SYS/KERNEL.S.OSD.txt | 4 +- SYS/KERNEL.S.STDIO.txt | 2 +- SYS/KERNEL.S.STDLIB.txt | 4 +- SYS/KERNEL.S.STRING.txt | 8 +- SYS/KERNEL.S.TIME.txt | 6 +- 13 files changed, 123 insertions(+), 115 deletions(-) diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index 693f27d73a121abbbbcae85a991d7266a59f3651..b1b2fc8fa58b9b6ecd0f8bed4771b0addfe304d1 100644 GIT binary patch delta 3106 zcmZuzd3+N^6rP!ECZPvKnhIjjH7z{=tAaQF&^Ap=Y%a2)QniZ6C0LN7A_%6%f(R6} zD=jK2gcuG*N`tiC6@!*TtcZ$;TA?m@0&>;T!?(M+x@G@J-pqXS&A#`(_hw6*wWZD4 z8a>0jmXfUFStdDNG?LMAgrpeo6dOwDjW73dL$ik2xv`mCA?Gq#0pHaJ zQ}jx&FdHkoI#7i1Q`B*~B%qmt!|Rg4XN|v_??c>t#T}YzEkjyi@Jp>$pBoIO?HczW zl$IObB$1|}q50O#EQiBla%EZa;cRLHHk|=*wEsEVuM!P zcY6}-YAvqR0pq~N3a<`Od%Btu_cr~_mib?wzLb(<0-s)TE8f6ATrvf3@Hduh)QEF4 z7xp790>5nGaG3mf;c8WCi%^SB#|o&aRlud^*cM?O+D=|Xr+YOvT@+L>cV-++^7G0T zi5ol0IPuT9=so!J$3N@D!0Lab{Lx-`IlsH&Q*m+W%1uCi)2bFiM+&JzhQMD}IiJ6w zlKNk*^f5PkP7d`Pt57vms2kW3LIr84U>e3PK+T>BEc&Qs#LC&i;=9X7vZ+E%#>%IJ z#m4gNt+V;9)dpskFy(gsp6b#35Pk%N{|D?@LsV9~1MCj$Sxd=i4$MyM@iL67;J&fa zydQ7r(x?g_cu*SE?g-a(z25y0)YRsPdL>B|p&>@Qjk8-!nZbgl<3KutgVG5}q6qbK zn2jNbq?`%Bc5e^1>&Li8nVdG0YnTkClR&TQRHDG#QbP%zIy8g}a?-~D*CgShVHq4} z%rr;NrH=#b3x)i_2TPXCXv*V4Ksp0p>lJMFB9xvpD$f}LiSnO?V$qSl-Q{0|GOYG7 zTsR;ATL^Rx<*7U-b3N}f%)^h2e-xtKjy(-AWa4BnAt(D8GG(f49%RV0V%a>*km*mz z=Fd#b%-M5Fo}ByCy!lVV)CKHm(UAquNUODNdJ=3O?Rs|^(xCd7?l0*EpUv6Xmi!!3 zL8e_w$Wkcf8HxttM(F@^WaY~k(d8A8-o=Xay3t^O8J&d=R}e^F1h$D%V;B}mh>UX? z9cD)ew;J_9H|iBH2TmknPbZbd8a!Jq^CpwlwTD^{+8Q9Jha z$6D13mAt%Uz%=2ds_Hc_zw+wZ*Is{P-FnXkSU7`s4#s-D6qRZ=7wg?V6o;lIbwAmQ zt~A@AzeTPlx*c@-hJ25S_Yy1ibT3NF2ifPE^Tf!B5A}n;?TSX|MT7E8E?1!pkzjS8 zgnp6|qU7vFNfvuv^aV!WyG(U>QK}TWoG>5#0Ftp(kqoaWQ=`LZvAKdk+5oV93K;hC znC$kA!X)<1jhi-adF$=1?`*4qNS((%3+}I~-SMs*&q`!7X^U0^XK9fc}OEIC>oIuAFS8Pc#`YbJ84q!FA1Oop##NaALH3U$<92;l0cp*m~x(`B-D}^8`@Ng=$8qSp!iWH(>0o}hn z=u#YJTR7LiO1}mlPAM8h0HwiIJH}+Fa+AfeB+?SH%_F{qq)p$SFxqpWo3L546rkfqzYLWf}rRY^OvH(gk z<(R{17QO!$dUvCucL$Kc=!m#3!a5K|N2G7MZo)}6MnofSpen3FGZm>0pew>!kXacu zd;$)P#9VSFfKqeqPHPk))d1TP1zS4g#yHAV81;fQ2CEUPsO$hQ7WM&5n3I3}`4>bH zO7$Rg$iGjWmO@&GkK!(M%$c+2&R@9L`d`~6n7x2~Em+62cXpv_tR`JmYSQ6rgESHb z*gAb`q9If(nejx;^oos(he7+!M55P7J++PR{!P?^+TIU$Rr{rlyc8 F)&DlKAaDQx delta 3102 zcmZuzdsq}z6u|F#D!$nM2zY!4e5ovxszU<3ySr*vX$Fwt26sGwIdf=nPSLvc@ zQ3)24VQFeWt6~pi6SdT+)kG_!w1=8TsADfv%Xf&Knb{YE`^WCN_x|R0=A838=Wc0h zRB3Bey@_E~r9}4-Sthx=Y$T)O2q`-p)7KN+;bnuM1DWnT6!D2GKo}vS;N=H{FuN@y z0)^rh+z@t<&#*ZoaB($Sm`C;68HVEg;1V%iyjlfI1RIL$j&JmG!_Bw3_y^PZd|t3R z0DnCWQ}kB15F4w8+Fyo=MfzBy5ol)O(79rW=865pp2UL{h{S&jqj40Rbe0V+g=f0p{exVbJ@L4&50}Z~!(8U~aSH0hc?M zmqVrk(xY6eIvoLp2;hbSE|1T2+w!b34AFe>>eH*Z5DY@-g)6xZUFwD_K74-?R$~%I z_h1f5ha}&aiJvm0XIo|A-SF+Zr?3Ydk}AD=b?Ga;R-7Hh#wOIKuSIOCR39bVNzJAI zvg4#W+3wAb6Q3zgG89Ve5hGhDt}5=^N09AiR*?3!Tm-9*4Ib_yqRMe>8!7V`3s zd(k%d@pXURje*to=;BG;@Cb2t`DgNBS;cxFAGz!Vp|hlI(q2g%SUFF;wUYW)R(ct6 zRTXEdp3I^h^`k2`N=wEpzL(u5)eottmzG!-XS}~rEU8KwR3{bPHKAPBRIYDgtB#kG zrgEk!xZZpsu=bsQGnVM=P8Ss88m?YV3Fij016O+)h98^vfU@ty?_D?O9(?FwW!2Ca z>gJD4o^jAk8^XF(BvF8dSzJ!uWw)jWTA7Xq=?o1>Cn$*ml*rjEL5QN9Nx*hr7q(l* z3OQD{(<sp;GFpn}y0$zs)aRE+R1h^Ij7YQ4}^Okg5*e`t&V0$$3hZyW; zr^TAh2Z3}dz~0fYxe8EPW=^&{2$JPL1I3`j@tx&gfQC3+WBE`*0QMZvaayk;CbO%z zGt46s9-Ro;ZpYQ1N0Z5qfeAI)&yd2$Rr4T2o_I<%4>P2AnrgN((bJ!PW@gE(*>mR3 zgRP6WS~8Mn=PRcT?Isc!9~~x7DKem~(Vbs%0mN*}$gt;TTJzFfN8rptMHvhu!v#@sf`zkjLEP)8CmLbu{Bk~g z)re~`p`L|{o?pBKLb{5*435>kQ1%imu3>LHrp(Jr%PU~jj=gy^=`PRx+Z?9gn_MK`tIENdDW0OfqN)?-fO`dmAEP67bv*Q}n+vbGv7QT~cJ;-#8 zdV$Fo5-Sh$8ZV86Eox+yS~!c{DFlG@Q-FP`f#Dhvlil9?Fo~)4u3NvM zZsU9JfAAq>>H_vUaUb0#-$!abi!dddw}9P&z0)D>+dkR816GjsIXH^h+4R}x%Bpb@ z)N6o*j%)7Ll4Rr`++9sz6_NZu0KocbU>-k8c4Xcj#K^z&2f!`wl9D7xSceMi5Hxb0rjcbfKXehUf{P(`)Irbi9NKA-ld%g;4=g z*!$&IU#r4cfuqSc->N6Im?7UCRP8#jzyDFS>oG%rI(+2kqsL$k?cIoD$uGaEXS+ah z$4{#ESD0Xb72c1Hp5LH`l0o~vX*RA?FVfS{inW?K=0_>kOk1eTa`fk5bT?~8w;v^0 zxNzt)tQ}EwSot&8NjS-tuxR85D8V{3LsM!$x+$aum6c)OzhD1w&Xr*NC^gIFc0>?T z3T!WE*wUajmK-5J;st3ptVgV-v;Csn*e#ear+)wAPsk#)>Oq*0fBk(%N$D1R3}4qr zpZ(|G^A|2&x_sp->|VrP2^)3)UF#4RCiaCtqNl`ZeFnhqF>gDL##l7x%eyDN24Wz3 v19<50#t}Ue6&(``i}uC@VlpVhbqi}EtvY>=o;St!f|LKe14)c`D53uY5Q+p- diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index bb7bff79497817202deffede086f668669f60ae9..cef1f0a340ed319a22347d22b7b24ff7439fd0d1 100644 GIT binary patch delta 549 zcmXwxUr1A77{<@{?%Q$ZveNm7Ao$vHwrHhW$mqlt1>IR@S6#Kp3n2(<1Qi8mGI3-R zQ|b%)gPnzypso!$XJNIZVC^DK*Aa+~S8v3XQ6q}_PSC~gd!P6Dp7&AJfT{*E2|K;N zBh-*f+TY0Io1rT=;GBQh&?dDXk*>LS)qAAR68jhEnVFGo>rbmWGUq0wZ=AsD?US&H zle2U&YbYJmx$IodMOI$P@Bzox_KP=nV68svi{t3e8^euvDnaIK%IuktSR6ABOS_Be zIx}#}(#_1^F+XwFEFk;nVhjA9pKNWNwU#2A#gh45s44dU_q~WZtkX~vGxVyTjDbtk zZY!o9xkT{YAG5J!uCloPpo1j8!V>bG9_S)ze#!&=B&`=c@VLdY&nwUZW#rct2nzqD z0=Kq!%b1labtsutBe+>|P{Me_&Rg!d&XOn$i=2CUoP-EhL1y+toW3j4~3#!AK&^yqNKgT*AS_i9^#dKAop-dI9@G z{9v9QcZsX4Av!8D8YW;q8X9e#d`|0mBu(3M1U``=TA~8GKo-;p9D-WG2A!7be$D*_ DJRa#P delta 555 zcmZo@FluNp+R(zvGDn4rZ*vFh5w_`t)f{Gu8~q{XMq@R&gXtRi6D zIyPptl|MH#ZdGEO%*ga^S|k(ybVhTQ2b*?S8?fAbcJtY0`xpD!m;@e8dT#|JH`~1D zv(r?2HsM!KxA2S)#tJ;58}t@1D5yQ#zyV?_ooM*15c_Nuh%KfNJH1$!QHeeMnZj)m zh4krjbQz^2LO`4o3L(!M1TrU z{=Xo6>cU$Ewe9l^7&|^ODL$I6q0D5)=rKKBnJI(OWBUnZrsd)w;X-RBaVF(Q)4Qyh zjDh0&teK_?swqF(#PEUp8N-Di&lnrNC@4Q#z_5{NBEtvH6BoWeV+M+SOaKZ_uk>YV z0_pwh%M=WvgZ!9w0_p9%{!BrPK*P5u1~4V7G8$|@TFP{A4@gCa5%UU0k9I?2=Iw^Y zEKl;-%AW0fcJkSD#YHSt)Abjzux+2ch-I1B^f^0O0%R7YC@}2ZVBNR+S*v}Eox;v% z8#MbiJZp7saay~2dg)FUCBs$EGAt5$nGf``9#EM6xR>cbFUtWKf9n${p8*Lh+r`4i p1yl@`-2PFP=@(-=%PAHhW(8t4AZ7<*4j|?PVy^8hr?~%Y1pp^j+6w>x diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 3dbd19c7cf154a5b6dc2155b6f19fc5b85904449..d93cfbcd5f747888902674d38c13065e2268a06b 100644 GIT binary patch delta 10429 zcmZuX349dQ`R~nUHZwb$d(YgP-4GIBvpFHb0Gk5{V}J5PtlAOy;}a_ul)i z*Dw33fI;V4f%UCrMRe>$04i%)ZjYxD|iqAlHDS=Wvx?bVVUefYHPgdK)tzuG(w*L) zF*1)lxJ1l7ZK-_^pR7-gBmLdJQ{D^sM+)daj59ryhUg|KcPG7 z6}9XwJAPv8(JY66>Ka)ShAhn)@UqOZj_UNigvH^hh)#_P{_Ysfy;dXxpugx#~(xqiImzdHwNTtWKEh# zny@4#Gf?Yr2w;UN6O|M5uS!KlTd4H(G_=;K%09Hrt#!BS)~ps8ieO^tQ# zrY0Gls~WuC#^wf;Y6N&weTTbIu6KJInp#nc2_Q49B`DK8@$^JSrbS&rs#RG*8&y+E z|3mil)1OV`aY-37#>yxsliXG)rRlu`vd5{YD#@CtpLDfktG3#5z}6Wl`?n1R<>rQF zXWMXpe_Kf#n4F6!UknWe??;jiP4#z=%62dlkcvy!?HVlUDwET)d^*2$`|OC z?T(U_NGL~BeSuMwQ9(VJuB`;k_Qhnm1LtX%z~A$$$W{j~&{xw1`((QdWiBOmIBhv&yN1a`EATkr)>XbP7a*KWk!#3>X6>6`V^vyX+3%EEH>&ls2~U|7V_#@Y|t$zLHs6Ix21z5 zKY`6Xn;FGgXPt8V>o>Nx*HfCyDa{r%)ipRON01SpOIM(&&VXNbmLlVoK(c)>N}}8> z=_kF)UzNqQR_D@LiP>!=xXcft6L z*~?K}pMO1?BDXz(jU@0kPDs9iy6i^etRxUBQ05pp^fu1euxrNOvg&Ve{qBgr5q}e9 z+k>2o3H7J27fp5hN02nGx~2m0`+!2&&$g030567v)9+v{4w9F8kwwEUY{`F3ZKeJ!tMqH47Vx3p- z?m!CqM_0X|GFtLE%0ZU&`kN04&~q317pO7yp=D_R13d24h@(rxPgEJ6HH;LM&N z_f&IPW4F)Nvym!FI|gi#xC`-S;V9xK>3RwHt-lKi$04eRhLAWFNpW{5DNeaTEX8Hr z33bn=>$c*&4sgJ)8 z%#%*4YbitgH{sp*Ef(-+(iJSkazDAPhBK^#+%!#hbreb82G0!kD<}5>U^72RSAX5i z?djV=QVR6j{$wW@B|JlAchNyO8iCBq=fS~5v*mE|YYrRJs2 zvs0{Nc-ukPnG+)*vUFW6-h zUS&_yYhd#1ZK{Mg^-EH-j5CkD&Z3Vmx{J*N-E9alWU`ST?RsF{C>lJI{8jk-^0 zyj7g~H>Sbxck(RQ+WaXsd!`J7gV)+pkJA1DE4U~g{1fC@KBMqiH>Io+QV9Pqx~zW_ z+X~K7`8nf_q)_l3621T!b@+eaNpA;r_0X`SSO??tC^CU#}X}!q!@yY3nf@Ft0^5l zJxEB$tQ5>(uHiF5jVTL50*UpIvO(Ek6l{=`15c#{K~gSt{E+Nif&?3N9HhfM)lraA z>>$hFz@9noG3Ha3%^WF~VCKzTbOA_6ozMJhk2HzMQiw@PJ~q^#q#_lkbc@KifQg8l zD<%1x7U9@D;iSNWDBVexujj0m;@O+0a1^<)S}yEe&!uWhzz9nzIkBEI+sdG+9q30= zx#~kWR23irx){C^$jpnC4YHtwC90FkDl3psrS3;H#ahOeGF&mmNtdZ-7eZ(aNU$!O zy#zR$5TfYeUCwsMyy8*>h<5|Cv3B<9RaRrHyLgGTe@m!`<3mdXrMzoUH?0I2S5oma z*H;l?Sv6a3wB%hK<>MPczith7mMWLRvX*>Fk6sflIv%^z>K>w$X10pR%|ON$YURw4 zpc{&etrwdPmZ!DNW~GJ5I#4dOvkM`3=-^=p30_>ZnD+C!^|(k@n*WpyxM+8WTodh+ zOdA2<1^`{AJm2MXR#g?Ej7{X_ja<5+0~d`$^M%Sc+{8J! z=v<{~z}M{w zUDMjR4HbLH!u=X&qL(7*2&Ec1)^ihgf0$?9z!mLoTklz23-0rFv^DH@I-SV0k=(am zV=UUFA~yoE&Fx(+19D~Spg&NE5;~YHn7vdZ^JenievJuVPCnnSDb#J@*a#-?3Q}}H zV@th~WAUY`3h`ILvNNwHR~*n}U>_L;w6+sK<}PyY0gWlWJ3@*Q{nQa75S3`qclMB1 z4`>#pZ3WtdUQUTc&Lw~_^^xR*8l!d_AZ*u=1qU^`+J5*ueLGoqP-9&l;HE;OP+|;l zN}SaXa!QQH~U~51w$P7@CZuY z$+i;yZXVd-NBjsV%^D>a4r(&-b;No|Q=t6@wds1Y@{lHX)eUS5`5OVI8{?c+O8X)0 zQV#@#UYS`S>{gT^{Y^krH3@fM4-)op%G@n)FWEjBXT#&YgB*i4)^G6j_jT`6;zoh90GSSvPbcGyi8q6bXe=qX3SdVl z%n;AtLYH+bDJF55+-=cL;wBjxiIBO0>^LPe zWToGs8ljkWgsH1409RY?WL$SexLm+>Lg6wS?}_DdR_&t+jK4R0SaZz^eBey~E1J(= zS}3~I<8LTYj(>}PCp-OgwwO>FJ^3<9FC)J=q_Nt{V@_~t1swIdI=NaN8t&@y4-KLG zN{)Pb4%^2Tb4BBu-~#kE`?n+A5=!TRaihM9E4qmWorXFjR;wpIe<`=t8LJtp0w}EM zZG~|f2%yHKUB*p0S9|2ry1liHUfEsiL1InB_+^UmD}#Q&YJIXB>6b^XNA?wjUl*Te zb;lSl)q+uhfq)-wZXH>%F5c*>j~LVd2E|Bo&lp6Z)FLow6-Ra*k29P}Iv)4wwQ+H9 zTf;j30-o0M2L*WuCPn?-a(I%5+0Ai2q?fyTeSt1N?fSNd_1e$ybfT7vBQQS-Cu=X@ zaH`g}ATjIzXmuYMuANy>qvbg3{7+DQyL+RzVUyR{)Y{s%FN&{St_{ac*J~X@koKg4 z3x|8Ppl_R2paq?=m0UZbHJnKaYX6Wjy+>OlxX#6w&`TJ8gpxg~6$Ef`?T6g!Y3dsat@V$>belTQ@IW*!%%qS9RUzL|BgsSL z-{Trv>vvfwjR>jtg?v;BN_#jeBa)fYAA#5cV;~wuVDLvtYez$V$YsL!RLdSEJ^M6y zJ&(<{EGpD+Dk?N;nCZ0QfLQ_$BJ=k-rGQu0rb)tsPpNBXq~Z4XrSBMWcEWw}c)EOnl`~__ zwNBx&r0HdXC9bh4&=TGtz}46!TpvgKh4Aabg{1ID!X1fvb4|=HpZtfg6Q{25!gRy! z9cVfd-Ts2lgx56FUkE}U^izACwH_JDwH=Y-)(JKG5eBsGi~`k4O{F%CL=m*$+0V$u zQOweR@^w%s*<~1*uVkMjzH!Va<|STFp-S$Tk?n?Kw~4v<#$%_%d^~pSEpa~HMKBf% zuuKZ+V>elcMLWKU3}dkv?;-bNAlXZPP9Njsa{y-V!$mjcH$%XLS@dwo4`r8YQAJgu zTu~t-`+ic-iFw%vC=CQl+2ijTfH69ysVpg!U8OQwc987h#2S2vJja2?!{lQQOuCs! z8Zmq92s2hGE;4QbDN1ycef>LqqeCo2`@5Y;ycM%b!*(0EB(mb@NI&xVqz$Gj(qkB=3-l;E&c#97d5ShO zqey=`qE1G+kCOsk%*hMKmiJ|aNI0X`^JlSA$`m|7dU}oS zR;_4k^LUWyCv&kIk?Hxl&<hZpC6SWh55Jaz{YTUyzPj85AI6w`;(&Rw0>~035fp?umvBHRU#bQ z-;sbQTAjbYSe@w)v(>S$o%|nx)%_>(xG1g=Kc=&qQDpry`AQTmV}AjZ@vk%x(IHaM z7uf2Tp@W6{{0SJzqD#u(Vq-=*+@`<7^`bS#r)(yqe6uY_N&jHCPJNaB2@>cyvIM1k z#(IB-ftxS=i@BhY_M-m=8?>K8*N-y3h_w2yy&ZDj5QN;I-v=GN3+et#qY;gSY5$vT z4ur6b3rgs-_IwGegMKUJD;6hNlmm;UuhrE+R7FtS2$*A0i&Im28PaJYxtxy!iUgi^ zNlN`(h7zTk=+rt#V%0#dp4=meIXGcbFJ|LJ z@~$M>a1wnXzmdcQvOq5ym!?FEAgFyxXbGiHRojpfn6;;Yc;-dD0jdZ(Gy`y!kv8Mx zSxGd;xlx{p+^z@FW)PjlIV|K2J>*ZT@@7jXmIN_(bH-dXnK5dzqG}SdBa0m@KxsMA zZlRN129%UbRV&|^3!n$fun||XXiZAUi?D46pdEC>2RDt#a}Ec2BLU3GXXeZ!mPAOk z1(?7cL9NJ0drycLXLc`7tOV4i{>oAfl)r+!nIt+Y-O!NJ zPlUCgnf}0`PJPy^&j$8PSjkNdK(e8K*lO0yC&1K){eHmJgA!o+6D1VZ zs^x0aMINl{h3Qy|It60a2hwK}jDYBOU*-Nnf^St#UxHHFVli;Db?Z21vRV_vB#6$= zY##FKWHEQl%S|n7gGeXmd58T&-M-O0_?jMtZS;2sRH$)76zc6A4l>fTjZxsrV4uQm z+!O_QeDIqE1(?<`0~`)0AYn5#ByJJPyPRB~BHG5bL`hcqJA=c%AefSRMHJZV3wHGa z1SUtS!S2CeUw(z!wAP2a2@LD8N0ub$BQQYwjA0!aV*# z__0x^AAYQ0fZ>xWyR|DcpumhUg;HTHFy>)|#-1n;&btZ}wlZH^dSf>fj_x?C&-43Y z;N;F!(TcZ`_t(Yezz@7~@w7p7#Fv%A*EsVXXTDx6{s)g&i__J*_k>WeFR--`C5F=_ zXgV{cWy1VXI_BIyFu7T>ja?3vGW-2g(iWJ4!f2vKZu0vEQQ8&swGLieVBo2MgezH^ zHC~04UlTPBQ84WxU@Bq0TCHp$@KgCUvdbkeM~Oa&+qC5>*&7%@d?#cIN0$=g$Eg|Q z-p!JAtQ)eB@++CLz1s)6<#Nglyhgto^Q-pugCdzSAif7gq-~|&Cg6kfIGx5)BocaA zftbFH=E6&flde%sfmqQGLXx&)NDz<)E#qu?0ky;&V9Q)ONZKx!ssq^{05 z<$I7dI0IM4^U6k*?t$MoL=n)9)%!*j1nf*G3Rk{0DT3gu>~Ji&Y z8O}*h!=xX=W3_qDgwV!_8Pko-A-1SXO8(AbNL8&jyhCsf15sabvt_r2TG#d#y`eoG` VB>Yr4y%WjYm*Y1|(>Ln5{|6kbELi{m delta 10318 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 ipWT7jE*Q=QhNWWKq81}TN(JcoDq- diff --git a/README.md b/README.md index 45800b2c..06c29347 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # A2osX (0.9.1) Multi-Tasking OS for Apple II -...preemtive ? soon ! - ## Disk images : + **A2OSX.BOOT.po** : **(0.9.1)** 140k BOOT disk image with all binaries @@ -9,6 +7,18 @@ + **A2OSX.BUILD.po** : **(0.9.1)** 800k BOOT disk image with S-C MASM 3.0 and all binaries (BOOT+DEV) + **A2OSX.SRC.po** : **(0.9.1)** 800k disk image with all sources +## Latest News 2018-04-29 + +Kernel 0.9.1 is now preemptive. All you need is a "tick" source, see below for supported hardware. +For now, only SBIN/BIN executables are "switcheable". + +Roadmap is as follow: + + + Check all BIN/SBIN sources to make them preemptive compliant, most of them are NOT. + + Add a way to make LIB also interruptible and reentrant. + + Add more supported hardware for system clock. + + ...and still hoping finding few contributors.... :-( + ## Latest News 2017-11-08 Kernel 0.9.1 stable enough to resume building. @@ -36,10 +46,10 @@ Kernel 0.9.1 stable enough to resume building. + Per process Stack Segment __(done!)__ + Larger S.PS structure __(done!)__ + ... - + to allow...Preemtive! + + to allow...Preemptive! -**"System Tick" sources for preemtive mode :** +**"System Tick" sources for preemptive mode :** | Hardware | Resolution | Status | Comment | | -------------------------| ---------- | ----------- | ------- | diff --git a/SYS/KERNEL.S.CTRL.txt b/SYS/KERNEL.S.CTRL.txt index 26f24127..cb6d659e 100644 --- a/SYS/KERNEL.S.CTRL.txt +++ b/SYS/KERNEL.S.CTRL.txt @@ -6,7 +6,7 @@ AUTO 4,1 .LIST ON *-------------------------------------- A2osX.MAIN.S .EQ A2osX.AUX-A2osX.MAIN -A2osX.AUX.S .EQ A2osX.GP-A2osX.AUX +A2osX.AUX.S .EQ A2osX.GP-A2osX.AUX A2osX.GP.S .EQ GP.CodeEnd-GP.CodeStart A2osX.D1.S .EQ A2osX.D2-A2osX.D1 A2osX.D2.S .EQ A2osX.E0-A2osX.D2 diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 5c1964af..72bab415 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -184,7 +184,7 @@ K.PutEnv.YA >STYA ZPPtr1 NAME=VALUE * PUSHW = PTR To Name (PSTR) * ## Out: *\-------------------------------------- -K.SetEnv jsr PullP1P2 Ptr1=NAME,Ptr2=VALUE +K.SetEnv jsr MEM.PullP1P2 Ptr1=NAME,Ptr2=VALUE K.SetEnv.I jsr K.UnsetEnv.I jsr ENV.InitEnvP3 ZPPtr3 -> Env diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 1fa51ae7..86ea3409 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -2,7 +2,7 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *-------------------------------------- -* $E000-E0FF K.SYSCALL.JMP Jmp Table +* $E000-E1FF K.SYSCALL.JMP Jmp Table *-------------------------------------- * Bank 1 *-------------------------------------- @@ -422,24 +422,6 @@ K.GUIOSD.JMP sta SETREADAUX sta CLRWRITEAUX rts *-------------------------------------- -TXTPTR.GetNext sta CLRREADAUX - lda (TXTPTR) - sta SETREADAUX - beq .9 - inc TXTPTR - bne .9 - inc TXTPTR+1 -.9 rts -*-------------------------------------- -PullP1P2P3 sec - .HS 90 bcc -PullP1P2 clc - >PULLW ZPPtr1 - >PULLW ZPPtr2 - bcc .9 - >PULLW ZPPtr3 -.9 rts -*-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.JMP LOAD /A2OSX.SRC/SYS/KERNEL.S diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index b0fb8f03..488dd3bc 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -557,59 +557,39 @@ K.SListFree.A sta CLRREADAUX sta CLRWRITEAUX rts -*-------------------------------------- -MEM.GetKeyCharY sta CLRREADAUX - lda (ZPSListKeyPtr),y +*/-------------------------------------- +* # NewStkObj.YA +* ## In: +* Y,A = Size Requested +* ## Out: +* CC : success +* YA = PTR to Mem (Uninitialised) +* X = hMem +* CS : +* A = EC +*\-------------------------------------- +K.NewStkObj.YA ldx #SYS.GetMem.YA + .HS 2C BIT ABS +*/-------------------------------------- +* # FreeStkObj.A +* ## In: +* A = hMem To Free (AUX Memory) +* ## Out: +* none. +* (X,Y unmodified) +*\-------------------------------------- +K.FreeStkObj.A ldx #SYS.FreeMem.A + sta SETREADAUX - beq MEM.IsDigit.9 + sta SETWRITEAUX -MEM.IsIDValid cmp #'.' - beq MEM.IsDigit.8 - - cmp #'_' - beq MEM.IsDigit.8 + jsr .1 -MEM.IsDigitOrL cmp #'z'+1 - bcs MEM.IsDigit.RTS - cmp #'a' - bcs MEM.IsDigit.8 - -MEM.IsDigitOrUC cmp #'Z'+1 - bcs MEM.IsDigit.RTS - cmp #'A' - bcs MEM.IsDigit.8 - -MEM.IsDigit cmp #'9'+1 - bcs MEM.IsDigit.RTS - cmp #'0' - bcs MEM.IsDigit.8 - -MEM.IsDigit.9 sec - -MEM.IsDigit.RTS rts - -MEM.IsDigit.8 clc + sta CLRREADAUX + sta CLRWRITEAUX rts -*-------------------------------------- -MEM.SetKeyCharY sta CLRWRITEAUX - sta (ZPSListKeyPtr),y - sta SETWRITEAUX - rts -*-------------------------------------- -MEM.GetDataByte sta CLRREADAUX - lda (ZPSListDataPtr) - sta SETREADAUX - bra MEM.SetDataByte.1 -*-------------------------------------- -MEM.SetDataByte sta CLRWRITEAUX - sta (ZPSListDataPtr) - sta SETWRITEAUX -MEM.SetDataByte.1 - inc ZPSListDataPtr - bne .8 - inc ZPSListDataPtr+1 -.8 rts +.1 jmp (SYS.Kernel.JMP,x) */-------------------------------------- * # LoadStkObj * Load a file in AUX memory (Stock Objects) @@ -661,42 +641,78 @@ K.LoadStkObj >SYSCALL LoadFile pla sec .99 rts -*/-------------------------------------- -* # NewStkObj.YA -* ## In: -* Y,A = Size Requested -* ## Out: -* CC : success -* YA = PTR to Mem (Uninitialised) -* X = hMem -* CS : -* A = EC -*\-------------------------------------- -K.NewStkObj.YA sta SETREADAUX - sta SETWRITEAUX +*-------------------------------------- +MEM.GetKeyCharY sta CLRREADAUX + lda (ZPSListKeyPtr),y + sta SETREADAUX + beq MEM.IsDigit.9 - jsr K.GetMem.YA +MEM.IsIDValid cmp #'.' + beq MEM.IsDigit.8 + + cmp #'_' + beq MEM.IsDigit.8 - sta CLRREADAUX - sta CLRWRITEAUX +MEM.IsDigitOrL cmp #'z'+1 + bcs MEM.IsDigit.RTS + cmp #'a' + bcs MEM.IsDigit.8 + +MEM.IsDigitOrUC cmp #'Z'+1 + bcs MEM.IsDigit.RTS + cmp #'A' + bcs MEM.IsDigit.8 + +MEM.IsDigit cmp #'9'+1 + bcs MEM.IsDigit.RTS + cmp #'0' + bcs MEM.IsDigit.8 + +MEM.IsDigit.9 sec + +MEM.IsDigit.RTS rts + +MEM.IsDigit.8 clc rts -*/-------------------------------------- -* # FreeStkObj.A -* ## In: -* A = hMem To Free (AUX Memory) -* ## Out: -* none. -* (X,Y unmodified) -*\-------------------------------------- -K.FreeStkObj.A sta SETREADAUX +*-------------------------------------- +MEM.SetKeyCharY sta CLRWRITEAUX + sta (ZPSListKeyPtr),y sta SETWRITEAUX - - jsr K.FreeMem.A - - sta CLRREADAUX - sta CLRWRITEAUX rts *-------------------------------------- +MEM.GetDataByte sta CLRREADAUX + lda (ZPSListDataPtr) + sta SETREADAUX + bra MEM.SetDataByte.1 +*-------------------------------------- +MEM.SetDataByte sta CLRWRITEAUX + sta (ZPSListDataPtr) + sta SETWRITEAUX +MEM.SetDataByte.1 + inc ZPSListDataPtr + bne .8 + inc ZPSListDataPtr+1 +.8 rts +*-------------------------------------- +MEM.TXTPTR.GetNext + sta CLRREADAUX + lda (TXTPTR) + sta SETREADAUX + beq .9 + inc TXTPTR + bne .9 + inc TXTPTR+1 +.9 rts +*-------------------------------------- +MEM.PullP1P2P3 sec + .HS 90 bcc +MEM.PullP1P2 clc + >PULLW ZPPtr1 + >PULLW ZPPtr2 + bcc .9 + >PULLW ZPPtr3 +.9 rts +*-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.MEM LOAD /A2OSX.SRC/SYS/KERNEL.S diff --git a/SYS/KERNEL.S.OSD.txt b/SYS/KERNEL.S.OSD.txt index 9a4a6933..4ac9f2f5 100644 --- a/SYS/KERNEL.S.OSD.txt +++ b/SYS/KERNEL.S.OSD.txt @@ -208,7 +208,7 @@ DRAWTEXT lda CB.Cache+S.CB.hFONT sta CB.Cache+S.CB.SrcH stz CB.Cache+S.CB.SrcH+1 -.3 jsr TXTPTR.GetNext +.3 jsr MEM.TXTPTR.GetNext beq .4 jsr FON.GetChar @@ -235,7 +235,7 @@ DRAWTEXT lda CB.Cache+S.CB.hFONT stz GWORD reset Col index in BM stz GWORD+1 reset Bit index in Col -DRAWTEXT.LOOP jsr TXTPTR.GetNext +DRAWTEXT.LOOP jsr MEM.TXTPTR.GetNext beq DRAWTEXT.END jsr FON.GetChar diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index ca3249dc..d981d35e 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -628,7 +628,7 @@ K.Rename jsr PFT.CheckPathSTK * PUSHW PSTR to scan (ex: "192.168.1.5") * ## Out: *\-------------------------------------- -K.SScanF jsr PullP1P2P3 +K.SScanF jsr MEM.PullP1P2P3 ldy #0 Y = PTR in pattern diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index 04f36f63..6abb69e8 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -58,7 +58,7 @@ K.StrToL sec Signed * ## Out: *\-------------------------------------- K.StrToUL clc Unsigned - jsr PullP1P2P3 + jsr MEM.PullP1P2P3 >PULLA Base jsr K.AToL.I @@ -81,7 +81,7 @@ K.StrToUL.rts rts * PUSHW PTR to target buffer DWORD * ## Out: *\-------------------------------------- -K.AToL jsr PullP1P2 C-String in Ptr2, Dst buffer in Ptr1 +K.AToL jsr MEM.PullP1P2 C-String in Ptr2, Dst buffer in Ptr1 lda #10 base 10 sec signed diff --git a/SYS/KERNEL.S.STRING.txt b/SYS/KERNEL.S.STRING.txt index 3bd6f97a..68c1ba1f 100644 --- a/SYS/KERNEL.S.STRING.txt +++ b/SYS/KERNEL.S.STRING.txt @@ -33,7 +33,7 @@ K.StrLen.YA >STYA ZPPtr1 * ## Out: * DST = DST+SRC *\-------------------------------------- -K.StrCat jsr PullP1P2 +K.StrCat jsr MEM.PullP1P2 .1 lda (ZPPtr1) beq K.StrCpy.I @@ -51,7 +51,7 @@ K.StrCat jsr PullP1P2 * ## Out: * DST = SRC *\-------------------------------------- -K.StrCpy jsr PullP1P2 +K.StrCpy jsr MEM.PullP1P2 K.StrCpy.I ldy #0 @@ -75,7 +75,7 @@ K.StrCpy.I ldy #0 * CC : match * CS : no match *\-------------------------------------- -K.StrMatch jsr PullP1P2 +K.StrMatch jsr MEM.PullP1P2 lda (ZPPtr2) Get pattern 1st byte beq .8 Match always if empty @@ -198,7 +198,7 @@ K.StrCmp sec * CS, Y,A > 0 or < 0 *\-------------------------------------- K.StrICmp clc - jsr PullP1P2 + jsr MEM.PullP1P2 ldy #0 diff --git a/SYS/KERNEL.S.TIME.txt b/SYS/KERNEL.S.TIME.txt index 88d8147f..7bc5f055 100644 --- a/SYS/KERNEL.S.TIME.txt +++ b/SYS/KERNEL.S.TIME.txt @@ -28,7 +28,7 @@ K.Time.YA >STYA ZPPtr2 * PUSHW = Dst PTR To S.TIME * PUSHW = Src PTR to ProDOS DATE/TIME (DWORD) *\-------------------------------------- -K.PTime2Time jsr PullP1P2 +K.PTime2Time jsr MEM.PullP1P2 TIME.PTime2TimeP1P2 ldy #1 lda (ZPPtr1),y Get Year @@ -157,7 +157,7 @@ K.ComputeWDAY lda #3 Thursday : 4 (-1 for mod 7) * PUSHW = Dst PTR To S.TIME * PUSHW = Src CTIME DWORD *\-------------------------------------- -K.CTime2Time jsr PullP1P2 +K.CTime2Time jsr MEM.PullP1P2 ldy #3 @@ -398,7 +398,7 @@ K.CTime.Year .BS 1 * ## Out: * none. always succeed. *\-------------------------------------- -K.StrFTime jsr PullP1P2P3 +K.StrFTime jsr MEM.PullP1P2P3 ldy #0