From 2406290d591ec7dc5a979b705d2bf9049fcbd998 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 15 Mar 2017 17:44:15 +0100 Subject: [PATCH] Kernel version 0.9 : BLOCK DEVICES, extended S.DEV struct to store ROM entry point,BUS/DEV....moved the whole code to 16 Bytes S.DEV (Max 32 devices) --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.DEV.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes A2osX.STARTUP.txt | 6 ++-- BIN/IPCONFIG.S.txt | 27 ++++++------------ BIN/LSDEV.S.txt | 54 +++++++++++++++--------------------- DRV/CONSOLE.DRV.S.txt | 11 ++++---- DRV/SSC.DRV.S.txt | 8 +++--- DRV/SSC.I.DRV.S.txt | 60 +++------------------------------------- DRV/UTHERNET.DRV.S.txt | 13 ++++----- DRV/UTHERNET2.DRV.S.txt | 10 +++---- INC/A2osX.I.txt | 53 +++++++++++++++++------------------ LIB/LIBTCPIP.S.CFG.txt | 9 ++---- LIB/LIBTCPIP.S.DNS.txt | 2 +- LIB/LIBTCPIP.S.FRM.txt | 2 +- LIB/LIBTCPIP.S.HST.txt | 2 +- LIB/LIBTCPIP.S.ICMP.txt | 2 +- LIB/LIBTCPIP.S.IP.txt | 2 +- LIB/LIBTCPIP.S.SKT.txt | 2 +- LIB/LIBTCPIP.S.TCP.txt | 2 +- LIB/LIBTCPIP.S.UDP.txt | 2 +- LIB/LIBTCPIP.S.txt | 2 +- SBIN/INSDRV.S.txt | 4 ++- SBIN/TCPIP.S.txt | 7 +---- SYS/KERNEL.S.ARG.txt | 3 +- SYS/KERNEL.S.BIN.txt | 8 +++--- SYS/KERNEL.S.CHR.txt | 3 +- SYS/KERNEL.S.CIO.txt | 3 +- SYS/KERNEL.S.CNV.txt | 13 +++++++-- SYS/KERNEL.S.D01.txt | 31 ++++++++------------- SYS/KERNEL.S.DAT.txt | 5 ++-- SYS/KERNEL.S.DEV.txt | 47 +++++++++++-------------------- SYS/KERNEL.S.DIR.txt | 3 +- SYS/KERNEL.S.DRV.txt | 3 +- SYS/KERNEL.S.ENV.txt | 3 +- SYS/KERNEL.S.EVT.txt | 7 +++-- SYS/KERNEL.S.FILE.txt | 12 ++++---- SYS/KERNEL.S.FIO.txt | 3 +- SYS/KERNEL.S.GP.txt | 3 +- SYS/KERNEL.S.INIT2.txt | 3 +- SYS/KERNEL.S.INIT3.txt | 45 ++++++++++++++++++------------ SYS/KERNEL.S.IRQ.txt | 12 ++------ SYS/KERNEL.S.JMP.txt | 1 - SYS/KERNEL.S.LIB.txt | 1 - SYS/KERNEL.S.MEM.txt | 3 +- SYS/KERNEL.S.PFT.txt | 3 +- SYS/KERNEL.S.PS.txt | 3 +- SYS/KERNEL.S.RUN.txt | 20 ++++++-------- SYS/KERNEL.S.STR.txt | 3 +- SYS/KERNEL.S.TIME.txt | 3 +- SYS/KERNEL.S.TSK.txt | 6 ++-- SYS/KERNEL.S.txt | 50 ++++++++++----------------------- 52 files changed, 223 insertions(+), 357 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 050e60632b083077909312009748ced93c22bc4d..da3f3bfb2970546add7e623764c3b46f19949dee 100644 GIT binary patch delta 14656 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 delta 14623 zcmb_@dtg&V_VB$)+NPx~p*$K|9&?l2l$KIjo*`GIJhwo3ipoPYD7XbJqU!=;H9;wq z(%Wr&)qte#HBz>>=GLUFB1*CDx9hK|f>&{Ap%2Ox6qon-E9Bc; zJEYHYswa$!{>uI7PcRYWoBQ*goU0%cxlfU5$(bDPyPu+a_aJMn++hX%W+jvN~I5S7P1O!0(c z8s(VIEqt!OVH#z-Qr5?7c1NZ5Wv5d%pLdlMnTNhWwiNGlDJt(4sz+SgyE^N`RF3!% zm1A)drIRW45z3KGIi^sKsnjy3raS%-Dq}LG=7|vpv#D3JsomL>y0Jki1xGYVXIq>E zA5ou8<)rqFcJH1+73Ix_KRFpF()h*cR4`JAG+mxfRUe!|dELQC(>g#at|1~AE%52n zC{2Xmw(s9h4z_L*9&zf>?-2j9kXlG?C3r%pFH~+-@Gl5Gg%Mj-$f#r04e7-VLYWK) zDNGy*NSuN?&UghF4B|cd>gv^+E8KGg#-SraQ)W?VMK)i!edZKm4{3DV=(?J(BP!= zISAdO@|+bIn}2fC^7U%6UGCy<+`9ZZq=x%EAL+LPd=Z9><73Lx_&)HBEl<;0-uJIm z&U-AEX!cvUxOJ1q>^FLd_Row`M3d$hTfCpFBE5~$`4L*n2$Q9XWb2G<)){u(86f+N zGcoYT)^cyG)4?(OU|oN8opBrKAy^N0XkC)^jTEQy(3TYFt}sQ4f$mUT3ja6T;3my* zzSl!YQRwj$zQGoq6pS>ZCsO#Ys>sy7HM?LNy52|$4_vRcU|8)MC7YVUW~Z>PrT`LY zDeROKc5@2q?Im`kxM`6~2_k`H3sQtE)+QIfmNL&BDcV!m*HXG{DMz^!>7vDA5x1T8 zYJ!8hww*?K$7QOEI{0czIZ-5aYb`>T$wCk|)uUO{v!Y041c3;plHgJZC1Foda-?D? zcjU!UDg6N@jWB?{l2Y<>igU6+@O^jp_7-Vwi9e@k*J#+EQ_7TGS5i1?{Zie|3WIYq zUi9I7IjsLCoE*S=?j@u7zwLLdf0tB{?cBJRP2{Bg`7c+IS%;e4b>emj6`ZxL2*tuT z7&Uw>>Quo;9YicodQ{%gK?>6in#4_e6%BKaT4! z97nxBx`(me@4q&P-tQ|6Xf-$gkBi7pIp-f!2UoVcqtN&t1VU@c5oiAZW9H?EvmoZq z{c#e&4BIelfLvB1*I_gWA_vXn7HrUK3(n#b>wFVM*7Ie;mv}*KO0>bx?cDGW#RmWW zMH}anWE$t(^m^RPGwuMcFI65#=ehJ(H%D!6V@Dnb+{IUi5&$twsH&yTz>aG68z9OEMWaJeW+=*nNF2p&-aM**Ml-936P0oKqnlxDQ5Bb; z$$h>#c~z+6?*s+LAQ}K%inv-8;2~F_@y+fu_RZ#!EzPBGH9Nl#foV;mBJT2*W+@)v zFTdF=MM8g<-)h$4g+yc8V5AZ<&iPds+ca*{YerZy%WHJ%;1;a~j=f4g{Dd58VfSDq z`@m9^DC3HGWjSGiC9Hid3%0-WwP7((nJ6!_z^M!LgU&a*2Ra)CB}O<_jELhE<%B43 zQwjzSfaMoj(4=$nDNuNbU{r1ux3(Z{fvd$Kwm3X3JmFEK_6_#y^0b)NWaqnDSXT>B zw%D=@sJy!D4C>SB{;m##JX?c~wkEMeyfB(2wMqfa z3KeAvzw)T3McU3s3K~G>qn4W7N#|HH4rZ!&V5Tr%Jk#9L8t&QGCrtUcrKm}B15l9? zyXsnO2}sduvhYz(rH7~t)rp>#S-mx49fZ{ZN!b`|6WuLrZ41y1o)LHQ^ z{Q#%@k6Xe>)wW1~!*jBP+QC7amKyX1r3jSXYSVc;B{d|_=vLbx^m!}twAQJhT7v5A zRv`M^RzSdXfn+@`fWrlXt!s(%v;?(BYg>Z-t5othYgJ`6{s`MX8F}&k>N}NuRQ<;- zz=dFnP#0d49I>VaA4i}8QEb6WBf8{B$PTSdROv@8g;850Elx7ssVIg87cwAdl5WAG zpMGOtd+PL&KnsC&8@J$aq{{;Rbdb))XY6(HL8!cVn%|Fa%-*QfP(&Poe=X$ zn@kae(4RYH9U23B^HN*M`ZnUYfy~)G?IrKEJC^|SLp#p7`^x=;m`Exoiec{ovDjZXUfk0zPxU>B z5HP|q;)Gb&_*iyVM~S`TYwkl^qV+)tzvO$h!>Xjt*W8qGUBusA%*MtI0wos_cOAT!7pH%$bLYj&?LtJ`r_9G^!xv0|tdP z&>!ZHP+f3#WuD9g`B={gEgse0(dZe0$KBN-zIi%4p!nA5(2(Np4!MZy5Z~*-MQ>v$ zZ9dn*zSB_+VEJ!%u@Pq`AqH+&5dOsJA<2_2!5i z_sf1vCpy7XB$*!C{*C#3YC5XuLR~(hB?B9Q?IOLzGG-y^KUBb*bL9|Ju+#&mi4v6}jFpEolY)3y8f14JawSqwt7 zPEkQr2ctZ|vWujfauL_FZ5YT^ZrJt$yd{q9t18|f<}8Y|)|b&5kJb1q!O5}c_l8Tkv~(6a`#>K}zwKiV^Z^hb(!l}s)(>f5$eB7@ls8I>bj+rkq)VZ?^d>1) z+)H~SC7qBAGZmIYAkLzb5U@iAr*lH-MUa-8NRgo0CBhymKz8q?&8{lC2-dG87taaC zQRcSjaE~OUd^)cJqEjn$p*nSFakRji0VEjZ)OxjWHkwLj(MJK%1Sqb;#S6R(&|b!BAy{^9RGNrIMF@aF}K=H`I@y@sgHQ^Nrp zu_nPHb5^C0AZuj=$mXaY2x(BYhxlG0^(~TaR4Ggsl+{(r3qWC59;-v5FK}twY3X}m zgatYINNe74cQ@|HNxT3W%InA7%L_+sO)nkN47??MhfSJWm(EhnY*sUfj&#=8%#LX; zcE+Mi;MKs&LwZVt%+SMfDjDmoJSiy3RgFULgF!LSR*K02l7d~<9Bv$E5Y)f6=HA{n zVkMl8@uiM?00trQ*ZMQ=gpfE9qJUpP?*#M-jJg?1PLsuHNOz)irz#!H?~~1JTXRWk zGaA|A9>BIVqn4Jkm>dxjG&l4wi3(*4H{ma@OlWT|`-NACC8x_(u>UGRw?QM_6jbRa zn}fOvRY>7JhgKYO=N9vk^DjsZ3zWu_!29>~}h8_J0D zFj2$4&Qh~;X^S_zEYkb5Tah|hol`v9t=hy!G-zMNhvgtXEO`}~tg2yzMIEYB-ml|U z)=aRjq#e)DPIY(nu9#|ZC7r*LW>?bUGj#qlH2Vw?exSwiEY5?1rjE`$`Yer!d?k&U zu@sU1EUk%%&I}cSgCR3Ve45tgTL8KyuW~-!WuYx5(Lx9NAGOf6Pt*1D>73#uF#4XR z^RyP_-09D9gFd>*X%wnDS8SwmHt~0^Z{66nvynwPZT>u>rC=V~hTfDvZU{@!*XSFh zrK;&ibaQns-7C7ix{10wy3cfa-7x(m{R{e?`h9wW5J;0nd=|N$L0XGrE@oz!r9DkM zEHr!iFw*OQRlOy%D$ZSptXBcy1}nIlDT=NQ4AlWMJ9 zMYpd4p4KFF+Y;*6($xpohuNL&8oCOnT_8-Bbe7H>n}a&^d0teez0c@iyI|`&=LeNt z_>ejy+PCALG+-|lTVrYpR-yD#I+OM;m()iA)iQv&&w}GaEI2;Ig4d(2GP<^mt^{74 z?T+o#0E3eGHMIDUcKnHU5{?gOhm#HfH%B`RZszEpU^{Ze4``Q@j{ktpxEE^kKcLwU z=v@=?oiux|FfUwM_EndYwjE0U6RjBpoeI6sSW@CnKBRZ=rMo_)4`ih&zEHy6&8YiK zt+7_Bz!HJKOf--hPK}}}4b=wG@Vy~uP|=C>aC#g)hc2QCLL7`-TI5W?n$ik(8;$lL z_hZOHiPf}}3H!1F)^v9@4I%{g0!^WCx)=xI<=D#o06H3)awvVwS##k(SZ3?Gs z&2|nH`+(b|HpUoC1luXw8yAdfgsC=3zm!zd=ruiv@YnRFd%dP2*NAYh>*Ze4t^e64 zs?fU^Bfs8#U5qtKIv1fhNGiN~_j&d+AeVy*MdfF7@MNG-x@!AT?i>v=xSL$D#)CGx z2KJ=C5mqPA*r1ZGLI)tKYC+@|(YC+H=-g-5A*Rjo-$rxOjtqL}Kk*RNM%lfDd26&0 zRucP~pfH@uvp5I^2yg-&;odniHY>&`sbMjK@kjd@kH#45vi;eT!av30h&4KilRQzs ziatRoq}Xo>MNkXa|FpmNNKE{q^-OpWo&v+JvvPw8TSWX&X9Q#xm@3!f{8e#2a?L|d z70RM)-wI3EUbCQJ2`1b|$vn^|id){6oO;)cS@?B0yvlkdQ#soNor-gjD>u}MTO-6k zCk}$){@gZb#X6?0JJ=6wvS>N`!9 zX{JiEsq%4C<#T{m7hrhNRGDq6e8E)t1{C}(o-#RYu-1ilx8A9{!;Znn;SM{Nf>V%1 z;X-~e~x1L<9Cu?ck5ohI?8!>+Ew zENdz$F|k+8CBK+qtFDlw>=I8E4Am6fqIPdAM1R{fM)y=)#g}1lf!bBST zE0O*K?++$WbjAqVbRQ2`#C4pfGtqL!_-`%1;{*iO9X{5e%ynBZF%3jZN4qsBJ_RqK z8fTP{(OOtIvDj%{czSCmKibooY74&3r+YftU(AgVUgbudUi#!UGe)to(MiB5zG((t zt&*;xURn$vcT3&X;8^cu_vq>*_G2^9gvSh^S5vLtj9{F13TQ~n-HJ6RU{e-5iQR5< zk#wfiZN|*LbO+adI*ELU>pq=MzQoaIj9^aXo*A4~z|_9ZBuT13>FW$zz?27yipvAM zR>+2MFer%uU3=YKD9hh^{)#=QF#FEo(RSW*a#?p zq=?Tcz%ER8Cstk98<2Sz_~l+=f|1S&D=Z{fPLQE%H<|;W9{@|ew80!4Eqd7RIev>)04Hvcspsc>g?EPz*JWQYa!<6-bn#v+`$1b2d z3*$aBfoKQOj4rGH?S zp+#w%%Z^!!gKEe@#yy~RBLjOI$1CeMGUdUhBFzn1B>#a4J}g%SCj`V-nAEiULApUt+3G@9ivv z1XvqmqVN_B zeESHno?}(FkG#l8-vZTY^KA^cMS*Jbw?M)YUZ=4kSt+k%p*2_S;10Q)?YC}4we<=>D=+o2=HG<;Zp`BT8q|gTFXx6Tz=G72-79V zDd1`AxK{sAY8|8LQ+0Rmox#y*K5~t3(wQkxltu&M-}s$@*WTs3mNuNMo_bh7k}9sJ3qsnT6JUZbx>&pE;nH86UG+QwE5iY zfw`jrU?>>lNnqOd0j_vGRUyUXP9E)5!j7ek7C@_X_NzL-*N;x8xKq(u`;)mO#h@)? zfr2cc0$i`TR~e1gj(woqtCHf8A_OBUBK7E_sa-OE5dgvEWGoGD-_;<`OTCTE3J436od36w}5};(Q<^ zP;}-q;sPfBc_uZAUBHNsh6*2L#KpJ})?a*rF@g5OKEa4f7*K%NC2)ArxUsbhnR9+| z5#u{wwv6w`x&M{SeST4AoyADLuGx$@n}KuP>X;35TzIGIcHv#yQ4pRB8I#Ws`zyDD z{S_Z$w5$E>V~qGXv-&*yIFmbnEcCt4f9X-C>ip%!4D_AgxgO$&SR~%k=FeqthxzlE z!n;*|xFo1L5582M2uP~Dq#*ar#eU1@VjSi%;=B+J^L~rNqcRTi41MQA6T~>k^8*}~ zU>yEq(D|W37jXacuN3QiMmpC8i?smyH(9!3jkk(TudkwOKoOQsnk=A1ITDPugn}pP z6^dY@H?yoSye;U{pbTa-?v67CYyoeEq%VmxiU~%qDmWNDZEz0|`x(0ujIIRZ?gV3? zo>WL*VRmbB#TkR+#dsqa>-~(tXCZ4yX$0W-en$6D9BA_)z>F3E4#oi>ZuyRYF=tn$VD-0-uKxyF=1Ig=lMbwQ?!fAGU%^CbF21C|AMGwm0)?H1|Xu zk*W&D@KKQDBXJOc0~G|IM}Wf#u9$Aa9iKoz19wm1$gOF-%99oxfPMAUR>Vg@CJJZt zTXlRNIRkgJ;Cg}~Lf2GauaL6qhv*ZE%|uK^a*t3 zgn0TyP$O4pI(tKvwkshItH}bl0dRLJyZbFwgz4q5Z`|UDXvGdRxMg)HTOF!ac=tiJ z?)pIyT-@kUc;PBrRJG3PWmT=Vi|MM?%;;LORk9{~4Z%KLL~Jb)TS>&)zBjE?ww92s z4n?c&AKur3LGSCq7(Q$Ns;DXXf%p{xRjGP>3V`vUtXz%i43&(Jmww~dCXs))T% z#lIt*4%I=i5`EbQW;FqV3jyySyrawFfk6^DjzqV~&JmNP7o+pM;EZ7~bm7Pmdo20Ht9+?tysCmlXvi{sk|Myt38ZqZ4W_QRHNgry zi;=2QnO;^EszAU*SkQ`&(yqg(t-W|I(ZK$6*sViXJIaQl#V1x})MW(KnM(9dJ2G`t zWnkZEhFE-B3Sj>da7*#z>DuP@p)KvKQQf3bIF+T%?fBJ@3%i;A;`Nk$=>5d~XY6k3 zd!+Ml@SU3R^$`6Do*B4{OFIu^ItITf*A6R}&c59ac3MSyF4+#QPd@5vgD0cH0O}I| z7w*(8Gr5Wza(gB@ihK69&I)eK9Vi$D>yrV50Xvp)wD`0Iu6l$4_y~zRPqRx-9bIxN zxTY>`hb{Ox0Qbd<35Tp~R$W@^sfsl8^a-fTmZEoPg0ZNz!xo$RWks5kfJ;N9sV~## z08SX*9ScVo1tatLxN@Q;HwmpI2@R1&zDvGOu25uA^QZ!9HMsP1g)VY(ICDD^>eNj>CY^$pH4P@3JJ;CYq) zSy%Fbj{Q(49@1B20!KKk=Si_%UyjpX>TAEyH+CJ?OA%dPzO#g+A{+E@OZnA1R?=)e zqz^-TGTC~ZmZ1ezWnqJWDz`NN0*AIYe0xZLxnA#92_E28pug6)L)Tcxf}TULhWoIo z!=tmIHT#u*7nA|^ydpfdJ{arCtlZwvD0TU>q>H#={{{iK)QS!I{6qR2@hg3Py?qWz zCJprH1!d*d27$nsL<0;Q!gl*+l6;8#!hV1xXJLM?2! zwS^*p(T5#{*oEe>QKF5KJs4%m+-nH?$#@dzJ-fod##2S%R2&5)n+^KJ7OJMvlfC;5 z3Jk6rV5$!f8S=v*k|Da~XHAN)hsZqufQ_m!h{?#66e2?RDilN6cPYq62g@VFV;^Pi zc!d4CCJT5d2sm%{UIqCxo`X&sn!_uIM=$7e4KDOAG>&?NdWkwjEjB!5c$D_gU#51Z zy3#L>+L$pVV@rl7V}Hi+(Mv~LM^}#iZ1j(#J4`y$Jkw@ViRr0HJ(E(IHO!*%%sBhF zrg7KCQRDUF7ll9IJgqiMH1v)ZgO?$6!C~L7A`^xP=B{cm=0w39Ho5^z1^95>6HC|I zKT(k*C+`_~-yTWL1{pR{j|3ySV$6L$wd*4==DJ*F@guXhS9F>24YEKu8%kYf_9L^U z7T4H^N08cx71%Lje=&kg>JJMU+zqh_-Syv0t=uY#A9>Ge(*Pk~;}bod(n-ex zS>3YAI^PkjP=azLYg?dPh15w<0cC9q)UPFsxKxH%%81Lb3b>2`6KFX$fu6)hV!sEJ zKTr&@{x>J2isfScuM6vcKY{+Ys%KR%)&V0x2V9UN&S9)`K@(Mrxy;j{dYhaznho-GNVy}qqlGQrADls`+KBXf3K|uS7bg>)ia|v zxDZrW?dqP83cI>Dq{5nfJs}m=*9$7FxB^2gXIC)dQw)GSg=h3Mo{@z?pjs+D*P}J% z*U{ba*c=L(47?^hPxg0XOJDYw6 zXUHP-QsRI0r*icGS$6lkzKAXY0vhh`>Pf)?u@ z*R9sA*OlnD==SIa>PPCQ=%3Ip)935o(7&s%)qk!3r#_&MGK?`SG!z)@z@{I(Lr}5r zz}3qGhu8Iv!5InO`Vf=wWW%-VP~;jSpKPi=cY%(5*AQ}sV&6Xj*8s-gBg_rr2LPuyFnlIXky5O=I3+ktXa=2giVDU4_*IcIhe59|qPTZ;R9eZXHd% zTMc>y)C7}{F12sHNsb*g=LgphpSJz@L+!EiKM+LkkE-KO9bbKX&vD`SnC3anTbti$ zKGaMQ54G%XQ60Z+KN(9>7FYAf&2`P6G`B;=z!riyeB!$kF((NkvUNeLr}ao{-tpIu z*B>W{Z;p>`ei~qAo+&sx>DM$0K=pvq)eA3~@q3wE`M<7*oqh(?jUIN!8Rr1ZjQ^=4Cy`U_ef8wT z!8gyi$5svAt3{AVt4fNtRcL_YDbYOp(|U52V(M8tbB8qbd+}_eN5if^3s@xjv=f{{6PSZw5&XtkczRX*gtSfRMeb&#AXHuy^$K85yL`>eiLi>Da&O z#5*Cu-Gc@9-H_n!)i;6;(baTzc;-z)TLEg?+@ zh5&Jn`vcK_7pHsmSS9hwB6SzYRv1U=0z@ukkYkx-Ls+5%h~j?#2n4nb1om&ngt9GA zCXWefZj=3q(WKru#NYxwi3Me+qygR+-_vZwVFuUG`{hsC*N-L>?FUAaTJpAC8ck*@ zfhG?0jwZ>NNIvFZD)arjX43S#RK}6UI7TucSC@v4$`XiBZMys6lIO;;YsVF14_B7Z zTX-G5H!w3dc{|KM*zY~a57?q?*l~fqX9qy zfP@DD08Max?0bk*4Fd|@+$brNf^m-C-mVwVN>{qppOr3KmQ@FP&`f*3Y;thFndj;> z8gOG(Xv9cu5J54MO&aN&XVc$mfPXMg(4_Nupo>=LT_CUq6nY@85YC|;_N=?)G;*fB zDVuzOoMfLkh0L@%RqvPhnl!h%od~_=10G)Dd$q*3y9Ay^U4;iREpT@b4Q2R;1)1=K zt10xu0-S{9_FEi9_>ok|4s#OXPG62#4Bs8_E%N0+kMN(DU*rROEiZqE58h(s+}WSDHQk>04Quo5L<{FL@)6gu><`dbPnA@cI{MhMsyF7-;i&nxNq+y z+qX<5H&}a-MKx{y+^m)YCEQ0R%byeoQ>mHMLh3o{HBd6;cLG|2P4H%3B^25>PlI2Z zfSUX1bTT%wkAoZzrq5hzGiA3Y&L$Tv*%P*XzW8_B=L>x?ep^v3oY~!dSmY>I#e>#Q zyB^$=9eSaSJ*5v@Kb?AP{hZcg>*tJ~`|8d^ecSc-&7XFCWxG9g4p}tDao_&oK{Ne3 zwNLjMg+CU(M~~yb-FrCk3FZ1LW`JMVo92)cV!i^C#q|Uu#nrr}SpSU>!Z z0S-lu$s*)pna#(5Q|8}>EXegg34`D-{$NeQsgXx{!H-AD_k&co^?(!EKC*`#`2-m4 z{?GhB{oChLKXB2*0)#LOp@H9@_9-lRB2Eu;{1QFd*(CYss+-%bMpZp2%oqzuM z^Z4lVH|?7ilEYA5z_BLaB)~{r8vx5F8*Y`a2?)mx3#994wEfeCxRh>O7<^&_icp zFtKZmoP^hjd4Y!c;UTZXE5G_T0`S7|-2i^!2+1)xIaZC|bFubU7QrtOLiP6d7Lmz1 zO#qBB=oK6m(BA`(z?S8N`>{7KBA3}SRSFdsp{V&ZRjfu5I0h1zNnU)9wlrA|JwNf(S^H|cg&ey$7sfXA^;SNlgDFhNjW z^@oZYYB%cORoCPr8+5^m>_!0GtP|j(MrS(_2GazGyEf^*eN`7sJovc|_+w)OJmuht zl1*X2W}!C-PekP>(INZ@yK5x57&vIkfe$y6ACU*D3drTj2UNSrJ0#|-``#mmM9-gw z7SG6?H)HXEKA)1;0PzE4d~ClsGLPJWzDHM(8kjt*qU=MblG)L*lq@9vs0#^+zmr>k z7e_r4783oa(bP!!GZDf`l!bbp@=-~;Te`5A7(uyGWHAAf;Ey_x1dfe5#|E9_Rh?s# zeZfD-M5|mH5)~VCmp1Bxn)=N;d>aK9u%#R1rNbVClgn}hMaTe=y;|%s{2C*Z{gHy- z^CX}jsJt930BY+0NrkiUnC@N%ezqlpY`%q`J7#8$89Q$Lgo&m}Q>IQEHhsoS^`>e- o4)zW9OzH<41o9|q7p(UP?WbRp`-Z^6MIP99hFl!6FF@w}U$5m+-2eap diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po index 32c9789ae6467ef26657d7cc6879ebe1a996c987..80f866d468e08f070bf2b305561bc6c73ffd47c0 100644 GIT binary patch delta 7480 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 delta 7533 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 J@2<(y{13(Xbk6_) diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 1661dcc77a0c846326fbe5035bda383d162673b9..2b04284ed7c036350be43ae71f619a3408f0af36 100644 GIT binary patch delta 103323 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 Y;5mV%eQkMQVXFNG+S&_u46rZ$e}F7T1poj5 delta 105509 zcmafc33$}S`TxwqhD|otX7AnH*^rY>b_0Qc93clpa*>2n5JM73AS59P3Mz&L0tnuV zjHtD0Ew$EqU)8F#wWnIOwO+OL=zVEz`|Dv_{eRw>*(1R||MqFw%subC^WN`#4;%;{ zI1qdwJDHD!bCPclrx<4O86p%mdLB+URmPotDJSfAK^brG{6fXPO`INB(XPkEZVkwx>k?eqbB@GO>y^T`L&lsL zM~kn7?{S|@oyC5d6lqa75N`H(tB&VJ3NG%XUn#7770uo3@ATI33`RtS2+L#uxefD{b^Eew>E2T`2kZ8J57FHbt7%g;Twm!C$4Z;T&5A zR_N`W-mST5IdyxJ&1BabBi)9>o4lFk&lg1g?hYUF)|oG}vHNltBx0D!@GGd_UCy%d z=GpM~wGaQ(Yby1G3aXfOhru5ZgT39M`r59B=C<;^%)8TYYTRH8=QbMMgND<+eS4XC zm*Mo*k-?BZz>GtN)66*>Uef4D95I|89Uo(+-H+G)FzH5q=gQ>NZrSEb{4^`Sn>XCh zRZ{MO2H9WXafKaqM+bZNg$g?T?VbLPI%d9?pZ2fp z3i`Z+GQQJj74aPKrm`J4?#;{*?{2^$i{V*4mbaNq>E9s9-L$ z9b>2cwVk2-hOU+K^AA%MGhN9_&(5C1EXP@CxPElt;=a*P-EeOoGo4TswyPN3$GT2` zXIE`U*Rh_#UY2$>JG}!tF7^k?_m(irH4HGJNzkOYYfUH1xE3?v?+z?td2?IcDrUV- zm8|P%>S~Zh;rbnU+tS0TczJDoU2StSOF60jZfkF7WvMr+KkAy>IvZH}si{rV#nivu zH?d~Ay;wun37TC0W|^nO$i0c)#GBQI@^1;hvm?)aD?2^b*TYPoV+zM_Q?*5(54(5H zUVJ-haV*VEt*dC?a!+?Mc`P(+b6eNmN@o88JH4d2enV|jsJ-3aJTTPP*~L6}v2e~l zr@{Nh@RnY8o#_laJ-)A-dA`I>cMtW33ZgBk!_Kx<%zQUf7!zQ&FVhrLr_H-3{L#+b zs;`{8AmhF4D06+4U>{pWSKrupT~{;n+^3guKP{ui^?;hb0@Ldz{>J+C%>1C9JjiSh zea7SuWAe<2#(HLZBxEg%$yKQlefPWKD~yiaKGeocYb`y`9v#0f(3 z7&IME#Y3}WZ^OlXL*vZzb#^+OyU$_pK1~}jEPN)se^-s`S+(rwSpJT^0Hyn^`0&C6 zXO8_Fv03~LqoYUVNq$iLSyzUc+qG*8!CFHJvLr)K1E| zf-Ln76iras@}^KFv%QHwJ2!OF^$D%$8*k~`#T;*8b3J3R>qkIf)}K<#t_`)JjqP2# zM%ueNSjyY9yuGx^089B9{jpE&IOXSR;i#F%jPGD6DetPi(K6VC^*vQz92u*GrM%Bh z_YIGR3VhqPvGiZ4`nusgL*sp;%=}C0O+=8T{VFyPrnUci`bb1me-k%W#&4&Lg+9g^ zzaw(@XkzZ#j1TAn3=H*vY^kY|Kh!uK2(pYnGtl5@9lDx7(g(kQ8UKQ9+5U?D!BceY zqNis6Texz!ZQ}o^?>=V!yB;sdtp8BMMK(=K`6mX+_!nJ*xQSTu$B|9}mhta%7V)3h zBL0j1j!)1(5Vwdj5Y`#Y{;6CCQ+&kCqrAgvprW4WLDIfvL~D&RiL)5Fe*qXj_z2G9 za6jRNH9>PTDrp}dZEj=MS&FC1Mkrd@#7rjeE4sUhT$08lQxcavBFh|pad&2GGO@uF z)h+(`Qxz+d_>q#v<8UEe)kF@+Y|+cW;b(~MFDF=6q*-H~v6&QGT=xw7l^jIiS>fz`F26Aw(}h1FBq1&L=PQg#!}Rn$~Z(gU}<^m z{O6!N)6e}iLUccw=yX&7fW+%6)qxrVsP_fKbH@v^s}v9m<}u4$Y^qY?U`uTsfn**J z2X{5E zqM9O|u&DFTS=1^>eUVi))2do9fV!$N{W(E-qcb#5HtYRbwG$TB~kg#yU=t(RC!JDyhh}J|1s7_DbHrfzZ~lVq>`D;zoW! z`1VWOwv5g3?Qp=%b0M`#Pu-#`LR9Fzh*~>r-P2l^1(|0nwa-ZJiEEEyZ?EdnH@(MP z=GmrtY>)3TmwEfq!;>(8y*hS;&t78ZJLP&i2g859q=WCG@jRv>O@xLO&YDIP1f09Y z11A$5&e8bkI{OB<$&HW6fy&0iPwy?|duW=>i)ormKC|^+w084-XzZN9yq8k*?#s~J zbh(~;zn=RFHFxR+*P?JkYdy0b;8C$c zYRIV#wso%GUmF}ATd$<*HSPJ#^gA_6`R~KOzr2k9A?(;+!v7dvw!fVJDZFccG5;WZ zYX5BhVfg9&MTLLnEuAa;?W29$2KF9bQrFql5z1G8EiCNZG`eXhpRN2zB)-pA@V|)F z@AGp0S8>Jryo&!#)3|3^ikVKii%(VqFKG1BHziD*$ zN{Ft5eWT~Mv@_F1B&qCWh27!mD|{1M(IvHqxF20p-!>=?y-LbS>(io)(y5cTDJD)$ z%-b<%Pfy5S#gh9KZzP$)IDo;Db})YxC>@m2otlM$;1ANuc3}jNG2;+58)mpAqlKiN zjwspEwVTPswrn3=yS&*yRCz?5ifc6d$ra9tu_?7Joh_53!uZb4tYn$vQ|mh7>P&mo z=vf!5HZf34O2UNwK=ippZO$JcI<_||>ZI>eqE4}I+x$KvT`8AF8$#l~jB3H4aT+Zv zI^=PrT~6YRUfDKg+Am%S^CIyzuem0;ok7m?*R`){ZmX?tI;M8#?T;_5J0=yp%PZz= z0!9sp?%(jwhtmyzzw=;159C~;eR9T1X8j%qoM{VDMb`9vB2Igm?FWjKMU_%81Jm=0 zmLnDOVLU{t)*j@1^jXW4RMAM=x7+0A_gwg;uD5ae)wO${@?4+vR)q1ZY&2SK5PIev*2 z#Pez<`=A{TZ=)44VjeEhfzMB~0;?hQY4eAd?g zo3;V--}PX)r2jzYq<@mwLDw|-U-(sX3I?Qu%=EE3UH8BB>DCX7^>mNw1Fo86iT}|j zT=3s;(TV)rPgHxyr<_h`YHK#18Nvf6=5ZeW{0Rp)gdaOm=$v7Y3cK9++(TpI!=rtn zf$`9tSIwMAO@N`Gxv8@&)YjO@5@)f}3Ob^66DtiBw2kx))enqrsAc9v`n!P8%$dYW z4{j*04J{6}*LJN86}N-H;+C6b3&OP!%Sc9>y1LN9(Ab`yp1!d$2J2+$A?nj#-_*g< zQ>nf)v@ko=H##~z%97J`HEc_X>8x}UEuz2@zV^C&Yeq~n16~AKm6eIKiW!dZTi1EB zZ6J3}J6e#=x2`GF>2GbTZ}8J39tRT-oNsnOdUHm|wblX6E~2r7d(7y@2o}$jIbd7z zhA+I{Ig!b3VU{dSrX=`+K+9~gn$u4J~EaIhr8PpKKj253Lvu4Fh_i z-ht7xGyN<%SE{l{HY|pilQ(rhAYxX&9RlWVWH9wxjY|`g?vQD@Y07eM9~l09tkf ze8H`{26pvrs6Dv7Z#)EZW>iTy2yP9AMGiRU)4i{}o ztl^w+aiUF)?6!y7!!8)PPcLa{Zjy>N{$0_~CA(z+^4k8QOsvcT(8m$G0CVC1$VR%# z-%g7O(*HroH+j_fW-nGwYYQ=7X84EU0-kl}NrUh%GGr%at0s9lVfU%r1b~>i^TJC{ zxp=;?6mt8b4Sn6CET;hA9veMU7aAA~^$%?C4{ZhRgP80Z9vbgwb|0MvWO8hjW+ouA z%tCPo2AH*v2B@ALe(uz~gdz-|Qyl*ERJNl;8Z?fKbzj^UswV?QDXb^M;YGq@Hu>dj z%u&Ha=t;BHkX0#%ny+Rv1~7^}DD4?X=oq#_M+)^~jFc*6gevd_8kuP>F@6|v=gH1K zYGABJ*Mj*9cUJl9)M~Lnd7N9jAG*n$z*EEA@E?&nf97An*b*MP{n42d#x>|?T^rpc zNjD^`*w?9{Ko9HtF2>CwB57N%Sa56KI110-H3F7x+MpI=-}qS_E|}f{q7tMg=7hXN z+_WRYz$2DIh)_g6qcbokgsBKdVA9U)Gmc<6=G|CM;|y9hD;;lOq*fiIKc3o7%xsNE~D4<9g64WFFYN- z>u#U(=FjYYi(cogXz2Z1_}_PX_-(rA^R)EaY3Z}{((k;-v}9liHY%X{TxOnWkcbD1 zhQ(-*_D?0H;QCn-;<+~pjI-c`Dl~;FAM&kFL|tD`h*^?UFD2Z}En#Wq_+HGM3?CLL z6&NqYpv_}6HI0{QxS6G-DOVT>VI?cFgztT5wk<;q5hpMeTEoA7$Twl55g;|bW%w>hi;om>zn@CX?*PIIc z(f-0T!i99)_P*Z3W0wq!_wJ>v*fwaR+kZ`1u8IfslX2e}hkX*>cWrVoG%*0pee1N`^hi-wg26?KGmNT3A z=Sux4HW&COc>z+2BYdv1k)?o>4g)C)d{w}Fa8X*GR=J>7m8oTz$|b)P?*@!{?J3}( zu`b}GQ@enR60Ii&Dt9nX?+kDv{%M-8T`mih=rFq`{Pq)t6ART}jz#be)&&9Q8)E)Z zW;u^0iFcPSo>Bl~#*!%ofZ|dD&@z3vpx?FlyJ$IaDdI2cAj_%_NeNS4Gq(N6SPN@K2UZE<|R>oH_QP`;Bf4OaN_>#Q5 zJZ5acii%smfnWD0K!w>;_OtHXUy7EW|1yiu!UX`Kqj`cG3AhKDo80gI%pNMK$M7UTE*O(qx-3uvZ0bK z;bl)1Ph9jrs!g!Pkos=vQNW5KSqdyNlD+$Yk7=;O#Fom^AUVWlXJ(jVBoW0HAVrX! zG`d;y4%7|xN%}@|MO-BqDddU>p@cLMR|ixfgN+3So1o|!*{hMCnIT8W9ysRR3T2HD zC0OoQc;(k~CdRQ#0$3vKFY3p|`bY95tQ4B%b&{~|RcP(rM+6H*fk?;k?y*6=Y-WL& z0D=?Sg#{u*TmklZ`IG|CM2HQeB}BEaP=jYq=)tcclgr#mO}j$7APvnw5Keo#nuo%T zPoKvRM(izHAA06n<^s2qG?Kp2p}s+g_mIdt$Kfb|WzYn&HP$!4iap^Mzwb%t-L}2| zgTFn@4IlH>L_0}>hZ`4M0}|KXF=henqBH7j=&Eh*+6cK8#EaZ^+JXofy|abcLCK~S zu4m`vg%`ZAC;`L_7fzh*H3ug^(|QI6m=Oex*+I#qkxwpC@}(e4nGN1w->`hmindzj zF8<6t0BtoXi!BPIjMR>fj@p)W_}}u@Rq*eCu1zhhrqVf>7V4#fjhq%>_bX`IDxj`6 zwJr~>_qTU6wRSc7J6UFB_@kF>rl!`Wt{}?{&>yw*2YLlnFH04$W5wX`*6zU&xno$y zJf^_2qFw5br7RWH(ciu@x(;0f$5l-#NTM7MWtGgaR9t_R*=F!8qj3`&o7$MCR{n&|n0c1VpA_BWt)ri_ zr0(dgm%kgEnj4s>LA55eeuezm-iUC5mGpD=@}^cv^=O^0^W)Y+D?OrDiWsSvN(x$I zwZX_r+or6vUGU#?taP=UrH)qGK|g1}$`P)8*_i-Ufw{Y=$k^V=JZogT+Kv^>vlc(y z3G3KN=2MNQJYzI#)3h2%TK*rnvRQt=4y8`1s2O1sCbs2EZ_~ zS|~&ku2e>D2Mn1&>YS%X{)CpzJiYQK8L&Nl@@Gp!3ppI9Z5_lQ&vyE`v~FbwGxcl4 z8er{v1_vQ81@ONh$xX}znnuQ|G|)4OMyjct1o>mOLDdwJ(b^mni^tPrbYI|1g_W7^ zG)qrZSE#+SQvPjD0>;DcQW|1LGhMM{ElD?p$Yf7#s+coHO3fZ4lK)PjKT zOcx*hV5TErQDZ~niAITV)Rtdv>v>PNS-3_!SZZ-;2b9z)a zkQ?gOaPfGw8z_(N29gukt+5&1a#S~nP1LP%FxCx1l_kjKEuFONp*K zLQI(jI2*BL&|PBgwD9gXTp3US;);VT+Y-LzjjRsfYg};^vq9jex%8cCfyBm)KxJmJ zD=t^p+@ZLf1!%1H*QS_>R0CYDaOK-JI38_4E>`p&luOU~IK zFq>JR9?-gC8-$)Pb%Vfa<|@SoofF`u=j;x6%`8CZ_}wwPUtNW%d>2fV?#Glu2lR^R zyT@jOQ#OGDC>Tp}R9u_hK2(jkePa9b!oPYuX95g0t{B^g>T%B2aXXj=_hRbS7f#ixnT*t+4P zklwBg*t@4XAPUmMpT3{Jfb84r$qj*ZkT^+Gw0FY}Y$F3VxgGav992iSq75GF;rg~tW;}*sgr1&;q|TC$t8?_tg${lK73Qnx z$e?N?^6YB-?Y%~{CvXqHR_sjR%a&cI_1^0-3z=qM-njv-Qp0K%jj|`BbIO~}OgBQR z#|e6c_yYz*w5SSlI<1OLIy$uZ7Lh%RuX5cAc>pn_K|}@+ z{}jfH1Khrg;wVkpOH!I9uJZ5_o-Q8q@Ir18Z+igQ4Dk;SFXlFp>*e_!zyWQQ!r14u-O7q4tE9^b{tf6a-7Mf0C%wEfDN{n>Fe}Is zKg2wSY<4D-8)j*Xuei;_9fsT-Vaet>M3Oa6HG&wk!hBJi&3z^kC&-N~YTrn*Ww}9a zHKU(w-!s-9s$H|bYeRbj%Lly`wMP?j;5vUMn>%^2cnzc4N)=M5yGr+h<&}xV9G=VP zh|(OMzZ|rbc|bd1#yPs7c5xjXZDkbM6&jX_s&OabrxApU z6*h|DhZ5{!M;=crgCS-5>A|K#QATM^${?W5mHE#XcjfUp7pr+=&ON_q(Z8A1aU0I0Dxj;Ayc=@hPQ_+z*E|hSV1Z_Dv zqlhvx>lW%Sjjx2}q+wYvn%WcQS7SH36*`ETO5qJQv7uH{`GYL4N8Dck^y!r+n4Q%p zVS2>x_mjZ|Q%U!lk$7Nnjo?0BbRIY#odl>!CU_o95iutj{C7jrb%(HCutFJ38<-p) z-oAYhmVQ>USoHdEO_zwPeLRyd75DgfWwPXN*akwemP?>u7UDpgJDWjbGBsCSjDbnl{(ff3R)4m8jk zIj@zf7ge-_J_Rc9-LrUP8OZnO`G3O+?X{noxqV5djmD6@gqNuDJ0R~n(nu9b9e z+7Nd4^dUgV&7gy_Zzao?vguxUf<@;Fvn@M6GlJS`=9Tcw8o@?b(VZ}tohs%9{0rii z`)7DE?$SJ!LP@@e29;+-doi!zUlIq3xu^VY#T2u@jAmq*ubLbh4qe5tJ&p!aBdVF)MUfce{oO+$)P)cz&^LOflqYrk z53I2!hI<1oS^k@&{{24(DYFbXaSw2mKD*Kpt&-rekGfba;On(ms!py z_i(HyGlA_&rVJuW2%~0VX`r>FKdJGV84Ooi>2Y_7)mp%6$>JWJUh>$a4)RcuN5I~R zQDJ#kCnsL4;ihC_xk`Ett`+aq@IcEtB?%|4*O+MA5W_?z+XE3d#t<>>0w7l0W!w~p ziJR#%x@KP(MLk#wNEeadXliY2V~JZd`W0RzKDUtjwsq5<#y}Zkx6uN=8;4W~r0LQ4 z1k|R8N$qLQ=!K{O@)Hq2ah>|~CQ`T2s#^oHgT8UNBNNW>LTtFc`Fkd#QwKt`W_!RkBeCl z?z5z-7gZ3kj+kg)nj{MAc}X@z`-4ifPa@HNXm|+XCP*1YHWjCe!FpZg<&5I&%^@u^s#_LSQ>a`0;m@&b%~Y-xi5pv(#h`F zAekPqzkz!byfE&TXNubzcv%U^nwkT08AuyT16@-GG6GGPIYHjY<*>?srjZ-c;uT<4 zkuNx6?aAFRZB2A1SK+FlE zL+$)E^C#;D`?`nrj7T<01gL0%$ZO)W`$2!`!kR&XRJ0>Ak|`tkJp4WX6nM#D<^-vs zJ08UVDLgVOh>x_E_!~$2`XG|lN?D(zdP#&J+4*Z0s39_!i~F0nw-^LydKZu&=_dmT z0t^o`6G+eKxX6{S6l`H01^f_^1GoM{?8-hK}pV!GA)y#N1{&wF%86UJ& z%m}Nl;&ULp-aEyUE!@-b1s#EU7lKB0_`ny@&v=Fg`w|TXUQx}G@7Ci6K;XWNIxF&t z2@l|GqLe?VdCd3~n($tc(*j}dt8)1M`*fzt{VG$%{D7VY+~`3XYDrlV#d%pp4hZr8|$nH6~v@m&Bt&khyVO9{qv0*8H-Ktf+lXelf$J28&B z5NU&vMp6Vb@1hzQrIAd9REntkHv{<;JI2Z>t{-%^c656!vy4oS&EBn}fstgvipRuD zt-NSr55*f3KcxT`o#+i4%c~C|M>xEn+quxsk zmM-(<<+Is`#GP%t(0v&B0(JStM#xnt3>bE@m8 z+H|E_faiGp0xz)sN-NVQC;Kz-{?=irL%^k>BG-we3Ik^q-SoJ2%I)vY)w z72Ra~9A?PIr6#Fkqgb(;JL+(|>C!1e%FMXo64&7Sy(5yvL|6{un|5d9suUE3ieT?j z>sxpi?Zz%1UCn)NTyz>OniD|CgL}Vq^h^ggWR-6y5BVBv=PdCxHil{kp@cy-?}TT& zmt}n-(z>7;ek#hlxXaBzn|AFP8xQp%5k7=~qkbfAb}}Cqo4a_yCWAU2=M1iFjc_G* zwXSJ7s3DB9HDBkYkg$YUcU1b)t z*6?6QG9Wt!0V{t**ia5HS=O;nMmikd+ns|6UZ}6mpkJ&8XsDV>)EIdey%-A3oxoiV6i|hjb*u=A& zxKSM0z@2NLD>1SUOF|0dg?W%=yD<)BRO2rAV@vddrjCv?BQ#`|8@XX4#WYhaJ}4iFCS+p<>mkX+1j&T1h7}@7jC@L|KLu(QjaE=pRK$`Yk0_Lf z$lycAOeKnl2R3ng8ihVYQ<#g3#Kpy)?gS_`%-bT`w!r=l z6-Hry95U3dWd&{GAoXY$U);h=5>}%}QHOYS3(TpV;@?|%SvDyybnpvc;Q%8fDjYCEdua>lVAa`MeaUDU#tW2(qFc@o+bv4gJHvAb5(EZ4>Wz z^HTSAOo`Yk@ImmuNn~az$-ZQVDBQ}6Q+G<)jV&C+zgv3E%Pt9h%R1Fsm?-b% z3tFy3cM8GQG$-Q({fxg_#;edG>1xuqC7rk?em7OpopG%O>va;WP1hroz;pu?d{Cs! za6Cn-DmggV4Gu)t2bbcc-f0!fxRC%dW!h8lLF1ULfOo(Ox=bg;0G0V_1rtP4s_?Rs>%AQ z$lk^?4fiqe;3jSrZQHnM+5J;n_tQPoBPBkd_4l*~Nda%)L&3|$&mL0BI`~=H!$NH1 zrH)6GhE559iH~XyHv2L0`Ziv8-V^bMOajl>uyG)RP0wnh(OC^eT&ZuMi}{;T^fP`7eeFqARPTX&+=kqP$XfZIQu1Kvc za-@9nlD<$sGGpmUrU{q7hiXnNw6U95= zocXAI$a!(gsnAKjm0J4_pqV!)P7HC++$yvtDnD1% zCC=l@4Utw&CLovyG~JyqEka~B%3dJe9D?JaMwUn$5yIVO4D*7TMX)GMk1sh-+l{=7 zximS*@s7vo69JaFL~KERF}(;9;aSUQ`D=>f)_Q#sY+gJ^|M#lG%?f~be-s|~#ua;G`mB9vS*UW>Q+m}#RbbYFm32=(gv`+9aN3x~8OC2rD5(zeZ!Ec94rdeVic zl&6ulh0@?<7W@RI!CNjuYxppc?yh7lDyEKGF*1)ocY}Dl$PlHOoy4kC@5KNX6CLaOa4@G45KJD@)WCGV-uB#Dm20 z!9DrW7#)&qLS4fltmcB+&CFRKo*CngY`FTQ!tE#o=h5?=AW|ZY4rj)B0=x$kb^NugAG^VFCt2vK?{T~!}U&?(&xiAcnFrWg3{dEW=8$USO z2mYuYSTf?+SapW@=cUjOt-^m9v|$_*bJ<1vWzZEJq8~*QI1%Q8Z2+$tf$2AmQXH@! zFL%ITqZ|`b=LOI6pkXc<2h{6CXfnASbFHN~-4MWqs56jq65gPFWGM|^uMKS>ppN$) zWaZgF6j&vrfJ_2(#wgl4G<4>2ZtxD1I6t(#uNWm<1WBz0!V-D(K#3t&EFBImT6*I>v6%ba83iTH&>B(_6k6uSiF7(Og!*o5Q-}! z(aMd?Q6|zSxZNd93Lxv9ep+#(zbjDLwUW6i#Nr9=q`+l44P?Op){_jYg1jhr&CXRN zcB2X6(Nq#yY=BOB)v_ARt@EV?fp}Kr+&v2*LM#b!M;@Y*$m?{NITl7xKw$vE>JW1; z5+6-)*OK!P0u^xu^(F~iGTsD3_#0Vvtypn@XTi*X z#4Q-{BK}lt6)FELvrgEc3>^tzuD#dlJaK>Teepg!r6^ z)%cy>f$ga0;zr;WV2Pa=faJdPF8qjd*`}`1Bg9;$jmx)astBR% zBCI;8JEGtvZPi8yX6jK2oxOM3G1vC?vhqIht%JO*8g>gJw+c9vNuj*c16szFxW&?T zC@EF9D&8r4hu|?7RO8!r$?@xv(KI@|PofgDNSj6+`k7(U(25!I%TF@rZv3qab8ra|^DHe9(rOTD38xO}u+0l;n2tAN-TFT1yVL4v}}9TT?(A zq{IL&?d=k^$GImLQ~^a08Bmr1qA*ot@U9b=p_LaDVM-`(Bjqho2)BEKc;Gm9C4nqR z$zj0-;z!5%{ESUg@q~Fc3-1Z;t_B?-q8vpAMGnl}`ZV!U%hstqaYagd#Euh)1?v?j zPwD#rC^taJ%$P>T0w>Yn=jSJw2=8O6P~Mi!JNx+FceC$9I_Jy6dxoD zvtxf;X$vBQWohOWV#n3o>zjxiES?WKfQHJmP7{RGBa_K#=mz(8z%O`3rry@&$1WTc}$s%qEH+{wu zsFCZmn1h{W-Aur^d+TIT+6npuZ%Nuj8(XyVZ)~;3lJr$y`d}K+-)C zK5M=gzhoo`J=T2AA<;6e_eEC`jRd)0F(vZ@kuX)nFkpJmLl|wrsX_6D>$vs2MEu3S&Rl>+A4*TEb$wWJM~S%e{yoFJN2#Tow7ZrugyAKCU8wcFWa}LmO({h zzVE2J_uaT#7Q1`jiz|)Yz34`69ej#$O%>6@o%MxA! zI5S_SZFwdvuSB7=ZggNAv6(-Lw8y#sm=NJr)q)Vg^b>W+rq?tLdL0eSZ^RDc&Hr^6 zZ$+nx9L7)SFtQN@@wTQ`KhtCW9AnCdmkZw&fiU;EVI-C0?0wb1^b5s$-RcWe~Gk{P<1{Ql_z1u z__tVfl4nogZ8i!+bNrXDLL@(uoCZc~{g4t#vtk*akU30>Uc`;(Kr;IjMh_c{e0M-| zZ<4)u{A(+7rO(AcA0XI=*NbBxAizU0EDcY@5IG||;{;xhG2w+6DP_-6kHA1CEVk0aXS?>s%fUBZ0V@Wps87;nm)ddTdA2MP6iC}lPgoTd2=5~Z?ek%* z6j(1bPelMD)DR-3;5<{}AfbvdXNeej1ZD%MA9O+KK^rNSm7~r)C(8PeagAp7Io66O z1&p#f7&BzhV}QCKyhH^(vdk*+yGOY9Jm?$K1bEXt-J=>k=)D^$o+B(GBAzP~26HVG z%N~Uyvq-FelxHqJPg6h%Qt;hKlICJXNHbu<0ApJ-G^oH1WLOHW11s4=W?v>Ae3aY3 zJtGH?m~crIZFLwm*5{a1N1=tNB`bkPB{Ilt(%2iQ0p@@iLzB+9M7u>RWEPKD`WP=X ztYqTTm$+lX+=SyG$0a0oC@Q34saviR@m48#P->1mgcf}Wt$>fcjim3mdFbJPYrEo5 zaf76+R^yHkei%ClvYlEB?OJk9>$Eko*0__#wP^2LHx;SYv`VxpSubiH=f#;D)FQ1L z0URYlL^0q3N|W7_iZ=iuXb)_Y`Kg1ap5R#s06D?tc8G!}c-4F?hoDQL>qIyU@Fb)| zFC+3;VEwwbj(P@bi)w*KB3V!4Skqvyxc&)5Q(QppHi>th z;LgBiK%Gb=lI<@9XyvM7uM#pd)T@Y->mqb3>J~*`gR@lYRB*|_$U-Sz%-kDE=VB%( zRForP+=d?Xa3A45y}KigM<8!drlf*DpUD?@C{zMovYmi89B&2lCn5fXAm|RFdlEFO zDnUST!J_fAn#FdM z@?>%3Ns!PK@g@9|s4c_QY2sySlP(gT;tS>>+n9udWaJiyy4vd7a9MJZQ+#kvNM%xm zxcmLH6q#pvc14xC{3)Q95|w-~1}B43N`VN!O`w)! zA(BC4nG3|gSx9^f8RDP}_65#G5&p2T9h-!yv6F;yX_ukUG07|{C+qf%j*@Ft9eW9f)XVu>*CclBu!WH7}Z}Dp1N(~@{RD%FY(l?Ee6|E9Kd=V&g;F~<5 zwoS$dg1nK*Mp>3%6CMwZ;6b1{$c5WJ1T>K5U3;raypeJ%od~^nS2LC2 zB8Z|INW8RdhC{siBDWaaYs7!QiKz3n!tpH_NI>;i)q1h&TR`az;)-wa*$Y5Um0SBRSTjLsojNPTtlM$+hCx>qW{}Cl@W33+q`h;ZiS=Z9WhKPVe;`V=h!qn zr&pSgLO-q-yMXyF79W3`7t~*Z;ZqP~7WH0R_t9FT2SWL{Fvdn$UEEC2B#f7#ciH8l z`#bQl?w`_6r>ncK_+MQo&^6;gv=1I$q_FPvkb+diwBQ8 z_k>g#<6#VJot)B*SS^e?z))v~3057V)TU#KtNN}~*tX-lJjD)k&dA`tBO5?zn%g9? zVeS*+s_$}F!c`d7d$qXdyHHcfbVHH#WQ@3$rh}P=$VFU6gYEigQG|l1_YsoA5&7r{ zGo94J%Z(tN8VyOI!>wkCr$Eri(eDva0az2!tiE2A2yea#ZIs{BbXpBnb+fqWdpwwb z3jttnWYA`W$ndw$Veeypi9{C>6OSlcoull_BDf(pJjwJ)L?RVf`8C;^4gpU*j zSni#o?E5^&3BwFwvR*71@4>{JcZu%rb4LPVbAoI(F<6x=~X5kl=ay&hij21;-Au=^P;a;pQ_p2iL2Rz3O(+soTf6l4SeL&Rz z0N+!1P%M6)yTo-r;Dw0~se{dZSUiKC3m#DiF?Gdcr_s`zsvt5eHQ~oq@8Tzf{dvS> ze~kt%N_tY3hM4myG4wol(C4r|vwPqfaoh8}(($Zf0;aQC0{jM+Kl_{Fm(TOUi@v2m zSfE!#PT{r|W_k`o0{W(J>n`6x7tePkvPjwy-+U!AeNQz{{Jv}+VkQ`0h*A5V7XvTw zf~_y86{NkW*-)n+7l_$^s1_biGnn}$eH06r^JUs71s27?f&(_cLKFfD#W8#_K+Ti$ zWAVWY5KdlI*Qek`?sfb`4KCg0WRxM_iTibV?}}62h*rY=0m}@&3ozw4LHgm={Hbj1 zqc37bBfw2RQ&-mbbM!L3qsM)hTDm6Qi#0sly_ncc{{TWB;0r&*oWD@_d7msFgln0~ znemqxC+Sy;Pr~T&YiwVMm!{vy?NjucqUuoTeuu_szgM2xOX))u+gQpU6qK;h2>|Dh zx<913KSe9>7UKuea^r_Ii_#bKPG^W{SGN%zurDP|Wc+Ty2tgNDiZz1!}~S z|4%lcD^K6ULJ&uTjN)+o1HX&cmv0E|8Nzd~1KS4rdP`X1KehCO?_$AHsKxxrk^X)7 z5`Ye}{5KX>_#aX768FveFMbz%!cM)y^HzSUkaQYzu`$E|Ny<0b6crc{+{PRTYm4I= zn))xF!Np52LcsjdONh*wDL#3LyFA8d$W;u*=;kd-5S1_Ug$W3IWBDdA@-ojWPyDR5 z%!=r@xXFk`RV7DedKq#42!PXCni0t#tRPK%`ZCXVrAH&i;$~*~7Eyy8CmbL;W<_LM z+=@xcnUk$oyyQpRfwxbj##oRmHvfp{XCtF$15G$>~L%WJ%=cUZC_+=;R8b-fiMP zuW?V$cI5swG~=VA8U6h9S!3S1+K$$y))n~05|N+jZ^X?{M^>gE`mP*o@dB2FTuj|* z@SIM&bSHe)N;1p*VX^OZMBO6wlF+$A-zE7jM8yJT-z{E#o!b(TfJxQ^`rU8 z{+Wx^OR9BVqHe)7)@k1>^4{RKmHQOfO_!>fQ!gXnG}njdZ6o^Bm0XW&KUd*9(*{Yr z0_BvO>6#GFzQG;l!~>B6_yA?W!AQX&DsWC5=B1?q*ZN3POFNYICOi~5NloZAgZOQ- z#3Lvs3$N=aeh?U@P3}6T`%M840+Wz}iJ%>dIadQpRn>J|mWnlR@{EZS_)TU=(^YDJ z$ir0LkvGXmSnF=*Zex?Ds6I*zhxbZDsgAXFS^cJ_z zgQmn>P>hHpMC?IzQ0MoI?qhc7MRW#{a`|DALg-1N>}x!~TB}E7(t>6rOJJKgj$??!|nC%9&4H)z#4C-t3v#$6+aSzLY@(P;V+)VKX%Rme9 zX}_VkB9uT(8rF+JGRVl($|{zG4_wG(Eml4j9(<(?Uz5Xovi|x?MABajmn^-*dr92e zwd9=F@9>%sXFvk6b6@!9uQ(=f4*Kgut*q=a-DO3)%nUe6FZZg@Ka^mIIgvkD;Bws* z4^ReV-SchP&!-N_UO@eU~(4Q=DMf?URQz32&dJ!?MgM1({73dKA zl9CrVK?E?eWI5*&U!VbB)CG>{hBI4P_95~0w|UkCu*AQU3_~s514GOXL592)s=H2) zwL_#KmKawE4Fy5{@*QlCB6QIQG?OwZ?O5LPEOj|;*?jrvPW_FxP=Z3upM#6}4J?qDX&vibBK4onHdq%#PXc$<8ft`^ioUXaOf35~cRz0bCI7<=TkOML zAU={YXCDzC0o_uMMscu}3Jx<_96qDsuq1ymlrWdGFV1bF= z;M}Xl6&T0^+7ves$deq%cpW>5cid<5^c3hZ^!R}MrnCd;IJ>Vm+tQ%1#0m|v(3)wQ zp*haXSnXjSTo(?b?uOi)Shrca5ZO7g!bDw&G@V$XSxsO!B1ea%KsSk1rRw&`(uozO z>q4aJ#0oQXA+mI0g*G*Erpd0CjvVz!?P2PoB- zYK#0s$?)7iPo~OC9oU48kUW_T4NLJw@YQsk_;Cm>d9|eC3{m_?*io#a{f|f1=czyOnNY7}rxtuRP1U!wFlVMJ z1S`l=g`J(unJs_LSjU{=x<8T4+m%Zt&cr;mu%dkN;Gg*H4M-BAEh62E;@%o17o+7t zyV{3avkNqm!ZDFwimW5e2Tjn=NEdTJCzDDbY*^7OXlBHaEY~M0KY)XvP_%!5*AjG| zQCyruLmm9hu3{1T0KtzXTy!5YyJlpSa&h57vp0c~iWZlP*FNCq70uC;%%3DVNLupo ze%tn8ZQ5r>q#Cj83Q_YR&$&HMhX;`X66!~+2nZ#106i_D7YAvL(9l%l zhRVbEd>j<9;n96@?V+p5_AuB$V$bNTA(kydcWr)N* zS^`0U>Q^vQ_PtX+&Gc3EX{P(=(@etsF*hgQAC*|#4~WW-xvS_wl#uX-k47VMYo5wR zQeXPQ*Q(l^*ZUh`RDM_tqcML}9Q&AO@yEnRi)T6}U=SpM43?0l_PTA9#!`Z}XQK9X z6gIBVFJRFZp_0Fbsicb-KH?{_H~9*Z{4Q3|U&oT4(kp={$nkZUpmf%|T1(Ksh8ds6 z7Cq0PsuJ%#YzW(qq#H8Nik5$KZyL;qQd6DFGQUX{sht0ES0?O<@&TOZw7dobqBduF zz9YW!Z@lgJUHx$=*bG_r_r-hv=2>Y!&_gX?na`6GMh*p|p&aT(J=72NPHRXSrDsuH$9ITXx*@(f?sL(OG2SOTX&Wd$zjn{wPz z<69Wl^-~&93f2m`^{t(OGRUeh3d-$c%|8>F|K(mMEP`^Dcl0dps#zZU1P`zV-NAopgMfF0R!DOBZJ+L$9Coit7|4vzO8zs~0FUP{J`}G| z!7Eu9*-tGh9{*>e!Q?6V9|>aW^O~{O6LJ!T*JsGCM^ueg@!gaRHswQ%TlMo($Ww}F z`|>%*__V4JbEk^^K7(roy#g9>!$v;QnVya@$s4Oh9~a!y(kF|Hu8Lra#aF2k;jWgp zf=sJ;+h_3R+vtQNK@~{qq=z4&i^+!{Nk=Vk3U{F)f2~U@3iQYt;<5B^3UWPM30VjE zC&Ms13=he#ZBCIaDMdhg*63@SQ}Q1@IpX?4gL@@pO=Oowa8#z)Lfa@%_H_7}wL+4J z#~@XL8l23?ji;#T5yVN+OOSQL@Oqq?Z7|r!WHdiZE{?!E#Bxf+juJyQFBMnfpE+ew zD2JG%9B`}0CsGlj*-;mPX5t(TrEI_0U2MpjsDvD*=OYzLDpvHk$rR98g390?i7jC! zc%})4=DC0YQ79to*sHyoEaCBeVU0y@Qp5yG!%Nr50(IHUn``u4hGB6b21r^&v`Cr| z&r{BeM8xta*ibN!f(?Qcoe1O!)s7$#v{&vA91NRf$;eGo$Oz!nD&Q=azzNjF0SDgd z2yoD=EFM5eQIcqs-6-BD0f1J}5w4sD5L1)pM(0!Qs`y%DFjCMCLC4sF+BEp31Ncf3 zXi#t-UKDTB5L>`Zs|g{|tb>|$DocUH5ooeq8ZHy~n8BL(Dl);YMF;CTf>b=HnRWfS zfZm{~*~S>0FF^04P2@n3IUJj(c9Ne9rvt!qj)?op#<%JdFVaVl-W@rDmTr6%j?Knb zEz1mrDLpZuSN4j!GDF42KB+L^>$bo@9ch6`VSF!1W~8tb`G})@_CCbYx1+J72)pF4 z)_(e1y=sq7GSN(lcwR*wOYRQwLYX0l4~jpQ8A=f?a~(`0A(lTRa?1^Q$uIy&a$m^; zyG2X6p)zNbU8h(WKJW`yw(>|3s+R>qtZrR;977epBxUd$7V<-4vESfHIE=1=NwL{)sN_e)HGV^Y9}{Q&hH`$T_>afLM*5-1o_osXNAGfuMsy_7-~${qH_iO#A0>1q1<=9K3N!aGGIcPxCB`dBb`-Z&8s=r(q#;m+Pu`ry2n%l(zp6CU z@LNPqz);3-6{`YFLu8|@DzMTFrRJ)a( zp~a!OfV3uw z0{p$q{`6EjDT$)<8FfBtUMvt(!)suE7KcF=wjgt#J-0XWU7&Hj<_%`+78AB*$n z0m)w#WAh9}c(LRb`sX$At$Bt5{<`?hJmAqA!dZhN_{B7}A zwIQGXOuR{d{apOL+OU|vBj(P>DDR3*^9{NDJ+XhjAv^GX3?sYbD8-!>L6h!E&c7O1%{HfzavonUZ3V4@JG@g=`@Ly zTmKY)>guhs4Wc+_`DYsDBZV@Ve_^8X8)nbMU)2ei|ArAOPf7axf2zOY zy^v$ztc_TlP5)3lQa(SD^eE3m@WtXxjhEOUueXq2CLTT$?(c5tp#E2uye4iS>h%P zy8`A7>DrqI7UqRJmaa!+Vls~7gJ3Ix%PFvU=yveZ!9PoPDlK^fD-6r{12F=_w@6=T zNa81jccGzR8R#0bo|4ps%<_?VN|lp@i$h=h07cWbY4d3SgA_Ob<7V{CzC~QI(2!Mj zE5RaWf?ro(yMb9h7k_=^dCGL8#owIi&dInFSf!2Y@&n+^{Qv0s4(Paw>+jiJJ?ZT} zt)$g<^=es`y;gAt8?Txrt6D2p3|N+BY~zL`8=JPQ8#N|04~9^j5Rm|(V+TSAga9El zn-Cy@5NaU3d?_R(;rrd0d2d&;|L1V9cHZ>4bLaN^4U|Be4Zr=uyZHa+0V=;Kl753t z6$0eayMa}jZYVrdPy@!48Q)f8!Ws^YDf8cZ3bYWqkALMfdyspNqz8M057LAv;+`~G zZQi((a(RazI#n@|3J;^(@FOOvU^OG7+C41zC|`5B-3K-qc#Xt@9-uR^O>iua(FO?5 zBA7U7z-=r9#3m0-4Nkpaknj`KO=vbS95tS9H3q691)^X>L%?n)HwI4o0X6o|1I+{M zCI*K_0{DzthJe0KZiHYnU{F=ng6H`EPPgZ$69Nmpz>DYGgHDORSm;H52K@woO3I7S zOQe(uI>DLJ&%i4@KHu)2491iNUy~1~wLfxOjpOR7VVWoSlk@GNn%Auo;X~vCmkM)T zbVnXU;@>w__iynp(S7)B%yj&L&8nq6`vsr2z#cmH9r~Qq(R6KFXZa0f{!%S+7B=KP z^h#U#D>~2j$L|Un0SM5k@qx81`iH8)N7UeBejf%a{lxmLnW#;?EFg3~qiVkqM}g1- zgx+W|;onh7(53%g{to_uej`a%0EldyVr%10%+df(6U5dG7WxZ6=L~x={#UC+18!q3 zAhwxuzkt_h2#T(hdc?E?LEyF2y9j{l=|AM*hVp0xMCh;$J$fdd7A(cZ&SMeIFfy(}cGQ<4WJ`l77|A~b;) zxRB}_Kz{8?H>Qy(N=RYA6ett0paU7wRs!f68zJINT_bH{KI~BN&L2qK%C7eArHD-9h47cwp1PGj8pl7r8!S(3Wfq^=^I>8o%h6RmK~6(*dRTxS*#0}l(cEAY61VE(LTv@hFqa(oeFmp${1AciB6y}DN}*ahk<`39VBuB zZD_I=A|;Z<*saniPaY(eo(+bTPF79NXu}GKdV~iTm{yBBAoCgnxeA0SUV+U)m_Zy@))EJctnzh-NSY0q$Gv4N=3KDJ3@)$p!sxxhUC2hLK_3 zEIA=nD8h(jV=s$y_!+(SB9A9|B)KRKd->L0d(d9&;~%u*vtNCNe?$PEPY?2(MfTG+ zhEy>KsW2T(9*rzsZ&(6}u+BO86Lz>jp0%(I=#5GHl>9=qJ+r0F_3)0ZB%_B=TsmMO zE|8ebM95Ys9Ko33LK8r0qQJl&VQ0#hO|C z^bSmD4nMa8#PB@vph!(5@_x@djo;c~pG$eh>86@+TsxnC(g6~E0rz*>tI`4Gta2f5 z?6g-*1!OCS39$ifFj-+9K)1N4Go{vpX-#M`ubE%pX`kB$7*8H5#`FT%lUPeIO&Y+R zQ8IDj-x_Q8H#WtXtKEELw8i)u>EPZj`!ri8k9OJ1<0O>H?N04kSc~_JUk4@NP{&EC zlBi5_mDNWk4YXc@dGe+bNDjgpf#fKY5X)RDCrLGoWmq2FzB-n*T;9I9D97E)T|r+c zn*08!U_)dIEY~W}-65Ys1L*&;48+6L}Q{mc*KSg>Qcrqo!mYEIU&=K0sFX^!d zOV5{m28P)wdMq4)1mx`J(!>6&(Q%k)2VxX8?BpNyV96KoKri^l-4fMYsDKTo02g5i zh--_>9r9d)VzNZVeYzCIC2`JsAx1#Vhnp3f)4PX1+iUO1+>4rYU1zXK`+3n4du90n z)#VJ9dxZrt(h`wPxr#RJLVocQ`+iOI#1qHTeLT0%erJAGGiyTblpY!XD7%GzEm_*$ zfBoQQe&6S=PzH=a4zgM8hhh+;EatOfkPUU1*~oM8kYypRAwk`A@wB>O_L;PDhJKMO zhDf!(hf_N{7ZUh=e0h$m|R*`lR@`cHY?!dcQjlO*T zDdXt`A~*as{GrDU?*=c7Ka;mqGEGoCvRo(^>FSg>Atcn&KF|Xp#4${rkZHM;t!zTe zSGGif*8IvS)TE1qAyc4%+m_n>`7>O=^w=RWb3uMw#dmsQ^qgZCc zteJSS6*)3b5-txewWpQAER-rtrwRsaL&fz4%)>mCg%{9#`3E3^PSar|N_!hzIDQR^ zBh#X&?{B2-lP-M3;fjg-n`mC%Ja@BFnF=#9G8HArg3)U$U$V^Z>ws}+YFl$}j5e#L z){Ze;i*0y$XeObK@n>ST2zT-am)S#AU2>u($;bTNR6oh_(q_ZARLri++dIBCxPNU4 zhSU2bVW-1zRG_DRsRMT{g>4+MzRa@>W}M{qVvZkJ&U=>I{gsH2xDVcdlPQ5-V#~I5 zi5az|VyT67`AUQ@giR-#v5H^0+}<#Y>_}xqootGb2-z^aXod#1GcOsDLNq)-(GBx_ zQKZ9?ln|u<9A5fASHZD@754wy8ZOCT1*H)$v|4+W!Y*Pd>|~z#e{W*B><^`=HjR{D z-ag*B%AUW<;WtbEd$v@x6<7@^PdOBA|FPNFoi^578YVT`nqgTjsSqTSGE{pV*}`Y% zvPGqiY*c%3fIox&>$ME3PAbALPSPY&ZgVu;h&m?>v)c4yS!de+npS`q9%{>ecOE1o9^ILWn# z87~0FB>6n)MgFZd5Y_#Jzq-aAtbQq(SVS6Xl1I-TX1pRhB9i=7x+t<O0u{d>s7{ zW}QVg{!2%O;1hTPpQpdh&lrF_`=@*>YI)vJqk*aU8NQai$@zf2)bW<>FyGo~3q;?h z9)B)@8_=sPM280<(X0j|Z9Ci%k-4XdN)-fwyNy(9!iGD_^4gL2+n3%lJj{ZNW%BRo z9sJU@_K34nJ}~87{IRu=BzE&_2kik{5C79zyFU*UfC^Tmj9j~v*U=JQMAiEE%t1&R z`?=?^-CK-TpM~+d;?s z+FeiCQ8VH5D->k7seb5NEjg{3Xcbw%WuX}kM(loD zHUAR-@YN%BR{)$RJznF+D6bI}vSx^k%!$$6+lN@*RDQ>ZJ#3#Q%m@Sg_=r8z7U91f zfl_BWRS#8wP*3L3YhYdkNRa$1@JmZ)4`iVE4Wi>4N?NrZu%g21fml(xOYo7KjU~f) zt|{8tnV^4>`-pgYaH8~DnNx&W2(omWzvf;|=(_YYe%GkI#C|&C4=y$Wapswy!W9vy zB4&bk{jGKs^bthnLX4Rj>VQJFk+G*Z!o5rbAx%quN?V&UX0+;g#@Rw}`{o_xY!D?3W4|dw8#8)NPka;HlCb0oDFydP0At?o! z=cF7Og}&^;=765JmQK`s2-JLPJ@}1xMf+e31ft%mxRxpog5{L)Q|YYuRTn@azK-8? z0WvOwsuybmTPcDPxIxYf(hIqGSa^fjG-o|?gOEq@(OvexblKr_zWV93LVHC6FM8fy zRzkXcVX+4Y1?-7@Oc2AB?dy(qwIE0!Ty^agvDp%XdgibxH#84#+zFK;u?!>*5wEgu z9z!Cw2#8w**y-zsE%!Q>eHy?7jKkyzbXSPBjl^nooQ9$pJWFHzwdd{C@y2K~!8gkR z;L$e>-QU-P-+(*%ZGLwH@aVSyq$~iSsNC5DR}VJ;kA6{VFqQ>ol70xZN}ME2cQD*R zDx*KFMDXD@wm8zXX>@oqnXHb83N77B_RnN)2vDecV{HE%mIc_PADylHanW)Cp!5rP zJJ!^AKUYtE9EF9tN0(ENh=NmmWe^o@jMBF?=1N_ zcs4IGv;cpqUkk3zUCU_yze-Zrrloy7-OMAn%nK81TSf-K91JlZV3IzY1x>Mb37gq~ zP5Jy9|fee zz z8p79;|Z&q@lirKAXZ2%(Z7HW!|D?_{cU^NRPABY5QB>@{5X{40m zr8K@~qB`chO}vya;J6)SAzC(e{|@}Ew0(D?@BAbD$jkP;8DCfW+iy_WUDE#suX}RD z{OQIM#)T zfhrx#cjO^z_haC^2YBx*_Hg_`>tM(BO{EskIGCd&f7S&wO$IZ=gz92RLQS}iVka)VX7nztLP4H?V$)vvoUXB1e zAT(V77N;<;0$f;M2r6Dy!$FnxilU!hMUkYR^w-pdIxhD+s-3`;T(1*^kynNOQ$QqT zFMNZ5WETtl42!1s3h#nByvSVmrkrKTTfFKudvW~jlMjZlocrf$->c4q1;8&*Ng^EW z9SWxXE=_OHI$mm!{Y$zdh{irL7#liY=>7zL_>}^k_c2@V2ej@~gv#RDhqSXF(YXn< zXnZV>5E#<+Yg(KzQTSBO2A$JGJwibKnc6MH9R3ZR3nWLsmH&EvM`yU3rXp%5J=C$Y ze^A@_M>(&_!Zke%*YpM<7sPg%&BSi~MebJ7U-{G_+)3-Tw9F#LD5 zYqMtTN7f;V1B13QfMm@Ooy68?7$4XPeW|H}J=#bFr1T|0Hw5Ho>y2m#0V2|~U*DTg0<9lE=n zuiHI&P$hy0Ik{3WmnsFypgTO}cO4o;0#x{8Bz_78Il%vn>Q1N&$toorqEerR(ZXT+ zBK{2Ki9V-5Pk8D+;Wt9UEgjNM(RZ=zyM%i1#|=n0m4H1AAt#}flh$UyiNaLkLE6cJ zl_W7UajLbELhMNh0>&5+don*{p630sD!C#36puOCa)zhysc+ar)ivl}yf(16fb5e6 zA?-YA_qW3bo^N>r*j@=eQ|5^~7=*}k!t9Cs(IEN+gJ{~~Sg_(Y{Vl2xGd$CDt^gq_ zyeoXOl2a$*O8`DxEyQx-=tNLt8f2l&fDF_`7xU;(p;vXCP6>JlUHBpQBVmu1%N%>tK9xU} zrB&pf;SgkQdF@p3A1hqQr`R0@_Nap&x!cIkYc#*JtS0$qMeSVJ4wN?YOYDvkdyC_d zCGRb>9kZo5z6>7I3ml)@;Bcsq6*+RW4py+q#ut8K3m%&kas0x@jZwSPRyS7b$cf7U z0*yk!-rpyM;Lx!!qIL;3pq@ps6@R|~oS0G}A+Z7RBawC@kl>=u^i7ghp@4D8rnp81 zh+@$Q$G!!9XM!SDaSL3MCeGi^4j)?R2z7u87GK6qNFS!RXEzIg7(V%{Hi|AiJMbyR z?Sut)^6P#tsbk5Fl8x+PmbKedjFp4cp~Qj{9C0!&Di}tI7oYT50}ae_FGVLZ2M1-9 zKy0S$xLmUO>Ag(72_2Itbw#8rx`G*?js+~vVFn0ff+7&A+FtZmyYGf2&qwSv`+0ZN zQ9ah^u+JCL?rzAiB5-2IdoAvAEFw$b@P{<^UOd-H^@UV2;?bsfGKr5|A^W?GPd~2Z z&GL#@+BAcZX6^6cq=DTE63u8oMGEor(IkfMABt9*)Yx!+N-><99LECw>m zep((yZ?u`>oCHBo;w?z}*{-8^l4XOoq-&sRWrMz?^HV>IpW~n2?}Ksz+HSD`%wuRQXo^=T|eLV03?@h@LL~nd!9@F&?^)oPn+{?W!N{>-06#rR*w)#x^BKsK2F*Kwa><|jCK z>WGy@i_iO;nocBojSwj>PqekHAQ7eqG$)}7`4gy@EN>}3g8sSs7o;YBBPR2|Rlye$ zs&YV7QcIFa$8fGW|240?I-UQ~>4;Ql+Lt&-0|cgegf)qCits)2diD%*-&3 zIWJ`WlV=Ng6R6A0af}pgYHEqmP{Q~&H-m_saqs{#(;N{5CeuM$(#vgtx)kgh5GiO% zlSy&YB(h8bq?{(Fb}9lnr?C$utH^2QdO@-s+GWnGTyWA_cvm6$zlt52Q0KKyGllwvooh2y%yC zF61aGf`GTk`Y4YT#vIU=Gk=Ly9;v%ZY&y8p(l|c3%4pXG4+!FsX5$9sC{F>7rbqy& z9^U-}>((Wj28I!CBL`~p)O{x1IZZbJI+FH#+yt2pLQ;tJp-5L-t%HulybY#Ll^c>b zjeq}9N4N%hbE4cV;PZikq`R+rY;L9p5A-9;uj97IaBC1g^f5>N6wrt%?eHuUotSL5 zl$wz6yQ1OZH>p?|IkdZx-4bgBnLB4JlK85B?)CE-j!x^ktTSYU1} zhPaBR5Nlu5&2m60(gvYveKR7edO$J~M2KaeU>0*m#ljITs?qGB#k`5iF^VWiak$ND zk6QTjqnLZEDpu5@ug&bBt?g=Ym+`c=E5KSj4zLga59Ff&EYOZA`_qQ~(Gg^cP=mMI z>d%Cs+#ahaQn%tN0uo>ExSqSasfQ)1b12TO)wV{&r#rSV=Tu6A^M?iSKu5#AB0y5zTrSUQh#sTvVHRq<>{l`CfTb}4+?4soG7&CN@$RT zrL)JaxxJl$;vCd1Sz}GAJs`KxM2CB$^V=ZS7&!V}$Cx*lB& z<3dHfE{EeYs6wHh2woH%N4N@d5iZrii-iI>F6d1^1g_%RqZOIQ2^B(aTq0;|cFX|P zX(CJzn=A-2Gqsu2TCiM@oCMw}4fk0M{ridJrL-(!C;0s@J2K{y#5R1nS~zThB;j9E zzo#qO#QayNQDPD4xlD!HmDJ=a{>PUcp*SSCw2k5`(7k?*6iiaE9m40qgCIgl{Fc%| z4f5GRgexf(hS(NB|JNy6^?FI!xNamel|ajRlPCeniTI&(32HbQDZw=G-~x((|Fw71 zLdCs3(9!5Ot3D3PKJ;5;gZx|ho&QV==L#XMl>ds9*HyRkXG*oAEU0Z`Ex^WiU>@an za__5-GS3m!1)M8r%(8Fr)>j>+bMC^dr3^X%k!Y&s<=v}*IxYKAEEPzr zyh4>ZzUcI%9WUZpZ>Q{Ne3CCpHYrN%zW2%0fwe`gM zW7qN}CmddW%?XEYJHc-{;V8Ae&X1jN6!n2tULc&q%G!I&nCA`aXBP}#%UCw(W%Yg0 za(sW&`bpmWD0nNipuUVPc$-(f?wB9{xg`0l8_?d%0-&1(37WhWG3YTsLXRs&9D%^Q z6Ut~X768{bt|m(B8FFNAz?HyOw}X%c4_3!KzhdzX@`SFJCI0uBxU1LFPc=LXe86Zk zHy|7YrP;YcRt1(#i9%$a{)7r=M&K+7 zf4i%w<_zZlwW!%Pw5xIV=#Z+J^QkCo?-jox&k@OE^2gqA=*L{|I{smcQ_5PJM67>w z2r-2qmKljau0vsam{y3J8!VDnj|{Jehme}HX~RZnd5vNMWI@@wOC_p`%mJ#`%FrgK z+-gI1|1!%a-6K$7mH1AM0l28JHshB0BI)w%SV5+=A)}eBsbA7*iP* zfFdOc-AawbE5c)-5FP__IKRYc3;HQ@o}xpitLp$~fhCI!zf)zpFRkOgUpY$Pi7oAG zJcxTF!oZnEsLSw22I0?b-P{BS4K=fdE{M+O_v z8>y~E?upPmfOlszf8`~U!k|dNw)!Sbmx>LuZ4*Vjy+Qzg{r>Kyol_Bkf$1-vk3`WRkEURmid9wokp6v`_+da^3lq)oo%bA`0_|4z!Wzu$1GO^ic%d$NHk7E zF8}N2j{5VwO!*T~JnHu5%f+RI0THyud}Pa0M;9|52N+rx_nG{NT0SS@po0^BIVq=GGUaqN0@FV;Jhh&bZ25Avg$QVcPm;UOFi^3LZe|lusb8> zu(cmLU!)sg2AQ2nXG%&%VRh=2^>cizBc7~&P{j8TLbrhGSRHDB?9VJSIl^S;oO2E{ z$PP`pYQp?X1UFkgUBxbm_P3bH8fID&{TbeO!nutP-6#z@bWxI+EgE~9#I%Z z32mPsXs4I*RgSbs0q`D4lVFoNZZ>dbuc+X6Inv5&fceH>ZeT%V7Z%rlWwbrfx_Oi? zF~t-;nwGXdy*s}OW-KHLC8GB#x&!79<^qkQB)+5 z%sZXtH;|A65^mcuLi_~e>cEIXv<-}Sigtt?Ptgw3T8QPq2P-ZQPY~ruZ|rSUmmxW} zzey2vs*cDv;c1o~Tc@D6NHLJ!Dv5Jpo$7~mYBF?(T1$R=YExfV%QV$7@z{$+Yo6%L z^u@ITKz_&SEUk zyzEpvsx3!l@@Y|ON>SGm(lR5-&cxMV7!lKm{fuNm*dX$id7^u|KlnHr=ikQtj zYtWDR_L1^L8$heVwfr=9T0zO6HMRs0p>omJDKHpfV_9ka5bY#=B-Tov+BYb9Y9&k& z46wdVGS>(qEJVZE>!t8Va?Q+rZc0Dl4gVJdzHuA_Zfvq0j+>I6^Q6elvsv=vrZ|Op zwosd0Nl{P1wj>uGsXLe=&Vj^lJ5{#iLXhvAKaQ90BvyWym4pvxIdzX+AVOfMNs3xqF`QV&zEqa(twcu3;>vca^flFKkF!Mg3+ zx{YZGG|b$iglUlR&)v&k7)+}fTbGuVhq$o*55@sYeFXG13w|h&QknJ<4&3{(1m|QB zHK8;il!nBJcl;Lti$A4Hx10Gtn^==14Zl%L72DSi=nzPYf&M(M@mz>GXr#X+NBV1WBuJT4uS0#r>MrxM zOw@btd%jOo#q2ACa7;HmFrZLUhqA4p$M;&NR?qIs{zeZGv=5NcrFxLZFnj$_5imnR33C z1y`FuibCRX;IRoTX`H114Q9rWY7r_SmS31+LFUYKh_!^x-x|~-eLbA0v;lylYb|+3 ziE)7p#JGqlPUE_VY>hEU--SJs0W6?o5C$*+Sz?fJ6z;!J#6W6_8_(REY*^UJ;V;$-AA>RbiOe$5Fo)9?HW_4de?dhVZsk zX$A8Z&=klm4U?lOtYn#mva5>qu#X1QOmt!<=tVkyBn)6WXhtf_1-ndTea&)Hjs~=U zl-i4L5J!|&ex8CH8*eBhDLn>UdmvGTuOG@YA6HT#imOJG;e2OEyW&9Ds$`VKT zl{s3wd#qJU>oL{RLKo$NE=t`Khq@H*rnBtb!&n6;IMeE2}N8;XbzUq%UI^c@}8Ch%W8NxVe??(vc_nvr4w>o52zGE zrmK1zVXEB;qgy?{vGMxts@)x`-JPrwLRBw07-txa?v+4^YRq>1ec}PneTd%F-kqq0sdKaYD zB!+8X1!F`D2*K&1p{+y18wV4Oo6k#tV=7~=yJal|NctA{WCM!YU_Je9$;m+&k#&#x z=hX7KOutuM?E8Q#V_OD>N4IYq9)&t`Gi+DCBfk~iuOh+KD1&>H%Bn`z?FJycRNDMwI>zk#$(Y|O`jAcJYScJ|*gm=z4 zO6-mhZ0>LBYG%P>auE|+=@6CE!{~oJWyUT{nFeEpPwy< zoWP=k8b^2v z7`O<6D1dSJSJ5W#I{t^3wQ$k(s;e3M1iPUkkTDHcfkkfQ6|ZR1=G>&}z#9_RftBGd z&@5Hgd*Q{mS-y$pVB(5QKg_RuMT=zOhKLI~lTE*sKZ}y0uPLlRn)@7F4muZ83159X z&wf>#9LN0-5~({eVD1rNjh9l(zztE7T-RMTSh*8@LgsPU&uRp?^!> z6xX*c9sfP@u6XY?`I&B0j~cws7FWy{l%iKzY8T&k&}mXz4P`2j&I4BSZd0x6eK1)D z7D=jcux3*4JgokGME8s?)D%h%)0CtywB|zN@tTvsmuq zgsq9@F?UdZLM|-tduFe(YXs(_3_zqFVcsWUVKqLuVE*^5$}wP!-4�s@+FOf#v={ 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 z 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

5Sd6RhlIf%O6EG3r`x-=IH5mGj?fLm1o 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 L.MSG0 CS.RUN.DUMPDEV sta DevID >SYSCALL GetDevByIDA >STYA ZPDevPtr - - ldy #S.DEV.JMP - lda (ZPDevPtr),y - sta NetDevJmp+1 - iny - lda (ZPDevPtr),y - sta NetDevJmp+2 + >STYA NetDevJmp+1 ldx #DEVMGR.STATUS jsr NetDevJmp @@ -104,19 +98,14 @@ CS.RUN.DUMPDEV sta DevID cpy #S.DEVSTAT.NET.MAC-1 bne .1 - ldy #S.DEV.F - lda (ZPDevPtr),y - and #S.DEV.F.LEN - sta DevName - tax + lda #S.DEV.NAME + clc + adc ZPDevPtr + tay + lda /S.DEV.NAME + adc ZPDevPtr+1 -.10 iny - lda (ZPDevPtr),y - sta DevName-S.DEV.NAME,y - dex - bne .10 - - >PUSHW L.DevName + >PUSHYA >PUSHB DevID diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt index b7c646d6..99864bac 100644 --- a/BIN/LSDEV.S.txt +++ b/BIN/LSDEV.S.txt @@ -36,7 +36,6 @@ CS.START cld L.MSG0 .DA MSG0 L.MSG1 .DA MSG1 L.MSG2 .DA MSG2 -L.DEV.NAME .DA DEV.NAME .DA 0 *-------------------------------------- CS.INIT clc @@ -53,37 +52,30 @@ CS.RUN >LDYA L.MSG0 bcc .10 jmp .71 -.10 >STYA ZPPTR1 +.10 >STYA pDev + >STYA ZPPTR1 + + ldy #S.DEV.DRV.JMP+1 + >PUSHB (pDev),y - ldy #S.DEV.JMP+1 - >PUSHB (ZPPTR1),y - sta GetDevStatusJmp+2 dey - >PUSHB (ZPPTR1),y - sta GetDevStatusJmp+1 + >PUSHB (pDev),y + + lda #S.DEV.NAME + clc + adc pDev + tay + + lda /S.DEV.NAME + adc pDev+1 + + >PUSHYA ldy #S.DEV.F - lda (ZPPTR1),y - and #S.DEV.F.LEN - sta DEV.NAME - tax - iny - -.2 lda (ZPPTR1),y - sta DEV.NAME-S.DEV.F,y - iny - dex - bne .2 - - >PUSHW L.DEV.NAME - - ldy #S.DEV.F - lda (ZPPTR1),y - and #$FF^S.DEV.F.LEN - >PUSHA + >PUSHB (pDev),y ldy #S.DEV.S - >PUSHB (ZPPTR1),y + >PUSHB (pDev),y >PUSHB DEV.ID @@ -91,7 +83,11 @@ CS.RUN >LDYA L.MSG0 >SYSCALL CPrintFYA bcs .9 - jsr GetDevStatus + >LDYA ZPPTR1 + >STYA pDev + + ldx #DEVMGR.STATUS + jsr pDevJmp bcs .7 >STYA ZPPTR2 @@ -139,16 +135,12 @@ CS.EVENT sec CS.QUIT clc rts *-------------------------------------- -GetDevStatus ldx #DEVMGR.STATUS -GetDevStatusJmp jmp $ffff -*-------------------------------------- CS.END MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version\r\n" MSG1 >CSTR "%03d %b %b %4S $%H " MSG2 >CSTR "$%h/$%h %16S %03d.%03d" *-------------------------------------- DEV.ID .BS 1 -DEV.NAME .BS 5 MAN SAVE BIN/LSDEV.S ASM diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index d64664b8..2bf70bab 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -47,17 +47,16 @@ MSG.DETECT >CSTR "Apple IIe/IIc 80 Col Driver.\r\n" *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START +DEV.HEADER cld + jmp (DRV.CS.START,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ - .DA #3 - .AS "CON" NAME + .BS 6 + >PSTR "CON" NAME .HS 00 NAME must Be 5 bytes long *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA BADCALL .DA BADCALL .DA BADCALL diff --git a/DRV/SSC.DRV.S.txt b/DRV/SSC.DRV.S.txt index 373b2362..600f57bf 100644 --- a/DRV/SSC.DRV.S.txt +++ b/DRV/SSC.DRV.S.txt @@ -92,15 +92,15 @@ hArgs .BS 1 *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START +DEV.HEADER cld + jmp (DRV.CS.START,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ + .BS 6 DEV.HEADER.NAME >PSTR "COM1" NAME *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA BADCALL .DA BADCALL .DA BADCALL diff --git a/DRV/SSC.I.DRV.S.txt b/DRV/SSC.I.DRV.S.txt index 8f0ee029..6b86548c 100644 --- a/DRV/SSC.I.DRV.S.txt +++ b/DRV/SSC.I.DRV.S.txt @@ -95,15 +95,15 @@ hArgs .BS 1 *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START +DEV.HEADER cld + jmp (DRV.CS.START,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ+S.DEV.S.IRQ + .BS 6 DEV.HEADER.NAME >PSTR "COM1" NAME *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA BADCALL .DA BADCALL .DA BADCALL @@ -167,7 +167,6 @@ READ php beq .9 lda INBUF,x -* jsr READ.DEBUG inx cpx #BUF.SIZE bne .1 @@ -185,56 +184,6 @@ READ php sec rts *-------------------------------------- -READ.DEBUG phx - phy - pha - - lda #2 - >SYSCALL GetDevByIDA - - >STYA ZPTmpPtr1 - lda (ZPTmpPtr1) - sta READ.DEBUG.JMP+1 - ldy #1 - lda (ZPTmpPtr1),y - sta READ.DEBUG.JMP+2 - - lda #'(' - ldx #DEVMGR.WRITE - jsr READ.DEBUG.JMP - - pla - pha - lsr - lsr - lsr - lsr - tax - lda READ.DEBUG.CHAR,x - - ldx #DEVMGR.WRITE - jsr READ.DEBUG.JMP - - pla - pha - and #$0F - tax - lda READ.DEBUG.CHAR,x - - ldx #DEVMGR.WRITE - jsr READ.DEBUG.JMP - - lda #')' - ldx #DEVMGR.WRITE - jsr READ.DEBUG.JMP - - pla - ply - plx - rts -READ.DEBUG.JMP jmp $ffff -READ.DEBUG.CHAR .AS "0123456789ABCDEF" -*-------------------------------------- WRITE php sei tay save char in Y @@ -368,7 +317,6 @@ STAT .DA #S.DEVSTAT.S.WRITE+S.DEVSTAT.S.READ+S.DEV.S.IRQ .DA #S.DEVSTAT.TYPE.CHAR .DA #0 .DA $0900 - *-------------------------------------- MAN SAVE DRV/SSC.DRV.I.S diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 78be20d9..ee47a37c 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -130,16 +130,15 @@ ARGS .BS 2 *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START - .DA #S.DEV.S.BLOCK+S.DEV.S.WRITE+S.DEV.S.READ -DEV.HEADER.NAME .DA #4 - .AS "ETH7" NAME +DEV.HEADER cld + jmp (DRV.CS.START,x) + .DA #0 + .BS 6 +DEV.HEADER.NAME >PSTR "ETH7" NAME *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA READBLOCK .DA WRITEBLOCK .DA BADCALL diff --git a/DRV/UTHERNET2.DRV.S.txt b/DRV/UTHERNET2.DRV.S.txt index be116f18..3650eac7 100644 --- a/DRV/UTHERNET2.DRV.S.txt +++ b/DRV/UTHERNET2.DRV.S.txt @@ -144,15 +144,15 @@ Args .BS 2 *-------------------------------------- * Device Header (16 Bytes) *-------------------------------------- -DEV.HEADER .DA DRV.CS.START - .DA #S.DEV.S.BLOCK+S.DEV.S.WRITE+S.DEV.S.READ +DEV.HEADER cld + jmp (DRV.CS.START,x) + .DA #0 + .BS 6 DEV.HEADER.NAME >PSTR "ETH7" NAME *-------------------------------------- * Driver Code *-------------------------------------- -DRV.CS.START cld - jmp (.1,x) -.1 .DA STATUS +DRV.CS.START .DA STATUS .DA READBLOCK .DA WRITEBLOCK .DA BADCALL diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 5937042d..2560e486 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 .LIST OFF @@ -8,9 +8,9 @@ AUTO 6 * KERNEL CONSTANTS DEFINITON *-------------------------------------- K.ENV.SIZE .EQ 256 -K.EVT.MAX .EQ 16 -K.DEV.MAX .EQ 16 -K.FLT.MAX .EQ 8 +K.FLT.MAX .EQ 4 +K.EVT.MAX .EQ 8 +K.DEV.MAX .EQ 32 K.PS.MAX .EQ 64 *-------------------------------------- * Kernel ZP Aux @@ -63,10 +63,9 @@ D.STACK.TOP .EQ $03F0 ...Down to $0300 KrnBuf256 .EQ $0C00 Main *-------------------------------------- MLICALL.PARAMS .EQ $0D00 Main, $12 bytes min !!!! -MLICALL.TMPBUF .EQ $0D12 Small buffer (14 bytes) for MLI calls BLKCALL.PARAMS .EQ $0D20 Max 6 Bytes copied to/from $42->$47 before Firmware call PRTCALL.PARAMS .EQ $D030 Max 8 bytes for smartport cmdnum $0->$9 -KrnSTAT .EQ $0D40 S.STAT +KrnSTAT .EQ $0D40 S.STAT = 64b *-------------------------------------- KrnOut256 .EQ $0E00 Used to return Values to User Space *-------------------------------------- @@ -75,11 +74,11 @@ KrnOut256 .EQ $0E00 Used to return Values to User Space Z80STACK .EQ $0FFF (0FFFFh) Down to $0F00 Z80JMP .EQ $1000 (00000h) Up To $10FF *-------------------------------------- -EvtMgr.Table .EQ $1100 K.EVT.MAX*S.EVT.SIZE=32*8=256b +FltMgr.Table .EQ $1100 K.FLT.MAX*S.FLT.SIZE=8*32=128b *-------------------------------------- -DevMgr.Table .EQ $1200 K.DEV.MAX*S.DEV.SIZE=32*8=256b +EvtMgr.Table .EQ $1180 K.EVT.MAX*S.EVT.SIZE=16*8=128b *-------------------------------------- -FltMgr.Table .EQ $1300 K.FLT.MAX*S.FLT.SIZE=8*32=256b +DevMgr.Table .EQ $1200 K.DEV.MAX*S.DEV.SIZE=32*16=512b *-------------------------------------- TskMgr.Table .EQ $1400 K.PS.MAX*S.PS.SIZE=64*16=1k *-------------------------------------- @@ -146,11 +145,11 @@ H.BIN.HEADER .EQ 0 H.BIN.HEADER.DRV65 .EQ $4CD8 6502:cld,jmp abs H.BIN.HEADER.LIB65 .EQ $7CD8 6502:cld,jmp (abs,x) H.BIN.HEADER.BIN65 .EQ $7CD8 6502:cld,jmp (abs,x) -H.BIN.HEADER.LIB80 .EQ $A28D Z80: -H.BIN.HEADER.BIN80 .EQ $A28D Z80: +*H.BIN.HEADER.LIB80 .EQ $A28D Z80: +*H.BIN.HEADER.BIN80 .EQ $A28D Z80: H.BIN.JMP .EQ 2 -H.BIN.CODE.TYPE .EQ 4 -H.BIN.VERSION .EQ 5 +*H.BIN.CODE.TYPE .EQ 4 +*H.BIN.VERSION .EQ 5 H.BIN.CODE.LEN .EQ 8 * H.BIN.EXE.DS.SIZE .EQ 10 @@ -159,7 +158,7 @@ H.BIN.EXE.REL.TABLE .EQ 16 H.BIN.DRV.HEADER.O .EQ 10 H.BIN.DRV.CODE.O .EQ 12 H.BIN.DRV.CODE.LEN .EQ 14 -H.BIN.DRV.REL.TABLE .EQ 2 +H.BIN.DRV.REL.TABLE .EQ 0 *-------------------------------------- * A2osX.SYSCALL Functions Indexes *-------------------------------------- @@ -344,15 +343,9 @@ S.MEMSTAT .EQ 24 * DRV : AUXLC entry point * BLK : ROM Entry point Cn($Cnff) * PRT : ROM Entry point Cn($Cnff)+3 -* ID : -* 00->0F : NUL,SYS & loadable drivers -* X0 : X=Slot (Controller board) -* XY : X=Slot, Y=Device -* NAME: -* *-------------------------------------- -S.DEV.JMP .EQ 0 -S.DEV.S .EQ 2 +S.DEV.DRV.JMP .EQ 2 +S.DEV.S .EQ 4 S.DEV.S.BLOCK .EQ %10000000 S.DEV.S.WRITE .EQ %01000000 S.DEV.S.READ .EQ %00100000 @@ -361,13 +354,17 @@ S.DEV.S.NOFMT .EQ %00001000 S.DEV.S.WENABL .EQ %00000100 S.DEV.S.IRQ .EQ %00000010 S.DEV.S.OPENED .EQ %00000001 -S.DEV.F .EQ 3 -*S.DEV.F.IRQ .EQ %10000000 Device is irq driven -*S.DEV.F.EVENT .EQ %01000000 Device is event driven -S.DEV.F.LEN .EQ %00000111 Len -S.DEV.NAME .EQ 4 4 MAX +S.DEV.F .EQ 5 +*S.DEV.F.PRT .EQ %10000000 +*S.DEV.F.BLK .EQ %01000000 +*S.DEV.F.DII .EQ %00100000 +S.DEV.BUSID .EQ 6 +S.DEV.DEVID .EQ 7 +S.DEV.ROM.JMP .EQ 8 word * -S.DEV .EQ 8 +S.DEV.NAME .EQ 11 L+4 MAX +* +S.DEV .EQ 16 *----------- Smartport ---------------- DEVMGR.STATUS .EQ 0 DEVMGR.READBLOCK .EQ 2 diff --git a/LIB/LIBTCPIP.S.CFG.txt b/LIB/LIBTCPIP.S.CFG.txt index e1e3570d..2c8d7474 100644 --- a/LIB/LIBTCPIP.S.CFG.txt +++ b/LIB/LIBTCPIP.S.CFG.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF @@ -36,12 +36,7 @@ SET.IPCFG >PULLW ZPTmpPtr1 >SYSCALL GetDevByIDA >STYA ZPTmpPtr2 - - lda (ZPTmpPtr2) - sta NetDevJmp+1 - ldy #1 - lda (ZPTmpPtr2),y - sta NetDevJmp+2 + >STYA NetDevJmp+1 ldx #DEVMGR.STATUS jsr NetDevJmp diff --git a/LIB/LIBTCPIP.S.DNS.txt b/LIB/LIBTCPIP.S.DNS.txt index 12011de6..0bb1a8b7 100644 --- a/LIB/LIBTCPIP.S.DNS.txt +++ b/LIB/LIBTCPIP.S.DNS.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.FRM.txt b/LIB/LIBTCPIP.S.FRM.txt index ba1737f9..de7789c9 100644 --- a/LIB/LIBTCPIP.S.FRM.txt +++ b/LIB/LIBTCPIP.S.FRM.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.HST.txt b/LIB/LIBTCPIP.S.HST.txt index f75fae76..45442996 100644 --- a/LIB/LIBTCPIP.S.HST.txt +++ b/LIB/LIBTCPIP.S.HST.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.ICMP.txt b/LIB/LIBTCPIP.S.ICMP.txt index 60ba2908..674edfe1 100644 --- a/LIB/LIBTCPIP.S.ICMP.txt +++ b/LIB/LIBTCPIP.S.ICMP.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.IP.txt b/LIB/LIBTCPIP.S.IP.txt index 2265c595..f732adc1 100644 --- a/LIB/LIBTCPIP.S.IP.txt +++ b/LIB/LIBTCPIP.S.IP.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.SKT.txt b/LIB/LIBTCPIP.S.SKT.txt index c4ec737d..a6c82e99 100644 --- a/LIB/LIBTCPIP.S.SKT.txt +++ b/LIB/LIBTCPIP.S.SKT.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.TCP.txt b/LIB/LIBTCPIP.S.TCP.txt index c5619bdd..1baf083a 100644 --- a/LIB/LIBTCPIP.S.TCP.txt +++ b/LIB/LIBTCPIP.S.TCP.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.UDP.txt b/LIB/LIBTCPIP.S.UDP.txt index 82a4484e..38bcdf43 100644 --- a/LIB/LIBTCPIP.S.UDP.txt +++ b/LIB/LIBTCPIP.S.UDP.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index 3ac41ba5..26404975 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF diff --git a/SBIN/INSDRV.S.txt b/SBIN/INSDRV.S.txt index 6365236f..d49fefad 100644 --- a/SBIN/INSDRV.S.txt +++ b/SBIN/INSDRV.S.txt @@ -65,7 +65,9 @@ CS.INIT >SYSCALL GetArgC .99 rts *-------------------------------------- CS.RUN -CS.DOEVENT +CS.DOEVENT sec + rts +*-------------------------------------- CS.QUIT clc rts *-------------------------------------- diff --git a/SBIN/TCPIP.S.txt b/SBIN/TCPIP.S.txt index 44859cd4..955b55b3 100644 --- a/SBIN/TCPIP.S.txt +++ b/SBIN/TCPIP.S.txt @@ -110,15 +110,10 @@ CS.INIT.DEV >LDYA L.DEVNAME rts .1 >STYA ZPIPDevPtr + >STYA NetDevJmp+1 stx hNetDev stx IPCFG+S.IPCFG.HDEV - lda (ZPIPDevPtr) - sta NetDevJmp+1 - ldy #1 - lda (ZPIPDevPtr),y - sta NetDevJmp+2 - >PUSHW L.DEVNAME >LDYA L.MSG.DEV.OK >SYSCALL CPrintFYA diff --git a/SYS/KERNEL.S.ARG.txt b/SYS/KERNEL.S.ARG.txt index cbe8bca3..18de382d 100644 --- a/SYS/KERNEL.S.ARG.txt +++ b/SYS/KERNEL.S.ARG.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #GetArgC * Returns argument count in the process command line. diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 4d8d9489..ba9e8d20 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * BIN.LoadExeYA * in : @@ -177,6 +176,7 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O rts .10 inc DevMgr.Count + >SYSCALL GetDevByIDA >STYA ZPPtr2 setup Ptr2 to dest HEADER @@ -197,12 +197,12 @@ BIN.InstallDRV ldy #H.BIN.DRV.CODE.O dey bpl .1 - ldy #S.DEV.JMP+1 Setup Main JMP + ldy #S.DEV.DRV.JMP+1 Setup Main JMP lda DevMgr.Free+1 sta (ZPPtr2),y tax - dey #S.DEV.JMP + dey lda DevMgr.Free sta (ZPPtr2),y diff --git a/SYS/KERNEL.S.CHR.txt b/SYS/KERNEL.S.CHR.txt index 038c5780..4e4de837 100644 --- a/SYS/KERNEL.S.CHR.txt +++ b/SYS/KERNEL.S.CHR.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #FPutCAY * Print A (char) to File diff --git a/SYS/KERNEL.S.CIO.txt b/SYS/KERNEL.S.CIO.txt index 7b476022..6f0e090d 100644 --- a/SYS/KERNEL.S.CIO.txt +++ b/SYS/KERNEL.S.CIO.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #SScanF * Scan a PStr (in progress) diff --git a/SYS/KERNEL.S.CNV.txt b/SYS/KERNEL.S.CNV.txt index a31ada79..939a9c53 100644 --- a/SYS/KERNEL.S.CNV.txt +++ b/SYS/KERNEL.S.CNV.txt @@ -1,9 +1,18 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF +*-------------------------------------- +PullPtr1Ptr2Ptr3 + sec + .HS 90 bcc +PullPtr1Ptr2 clc + >PULLW ZPPtr1 + >PULLW ZPPtr2 + bcc .9 + >PULLW ZPPtr3 +.9 rts *-------------------------------------- * Convert HEXBUF to ASCBUF decimal padded with 0 *-------------------------------------- diff --git a/SYS/KERNEL.S.D01.txt b/SYS/KERNEL.S.D01.txt index fd6a3e0a..e71a5ef6 100644 --- a/SYS/KERNEL.S.D01.txt +++ b/SYS/KERNEL.S.D01.txt @@ -1,15 +1,10 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- -DevMgr.LoMem .EQ * -*-------------------------------------- -DevMgr.NUL.Code cld - jmp (.1,x) -.1 .DA DevMgr.NUL.Status +DevMgr.NUL.Code .DA .1 STATUS .DA DevMgr.BADCALL READBLOCK .DA DevMgr.BADCALL WRITEBLOCK .DA DevMgr.BADCALL FORMAT @@ -22,21 +17,18 @@ DevMgr.NUL.Code cld .8 clc rts *-------------------------------------- -DevMgr.NUL.Status - >LDYAI DevMgr.NUL.Stat +.1 >LDYAI .2 clc rts *-------------------------------------- -DevMgr.NUL.Stat .DA #S.DEV.S.WRITE+S.DEV.S.READ +.2 .DA #S.DEV.S.WRITE+S.DEV.S.READ .DA #0,#0,#0 >PSTR "NULL DEVICE " .DA #S.DEVSTAT.TYPE.CHAR .DA #0 .DA $0900 *-------------------------------------- -DevMgr.SYS.Code cld - jmp (.1,x) -.1 .DA DevMgr.SYS.Status +DevMgr.SYS.Code .DA .1 STATUS .DA DevMgr.BADCALL READBLOCK .DA DevMgr.BADCALL WRITEBLOCK .DA DevMgr.BADCALL FORMAT @@ -47,16 +39,11 @@ DevMgr.SYS.Code cld .DA DevMgr.SYS.Read .DA DevMgr.SYS.Write *-------------------------------------- -DevMgr.BADCALL lda #MLI.ERR.BADCALL - sec - rts -*-------------------------------------- -DevMgr.SYS.Status - >LDYAI DevMgr.SYS.Stat +.1 >LDYAI .2 clc rts *-------------------------------------- -DevMgr.SYS.Stat .DA #S.DEV.S.WRITE+S.DEV.S.READ +.2 .DA #S.DEV.S.WRITE+S.DEV.S.READ .DA #0,#0,#0 >PSTR "A2osX SYS Screen" .DA #S.DEVSTAT.TYPE.CHAR @@ -288,6 +275,10 @@ DevMgr.SYS.TITLE >CSTR "A2osX System Screen" DevMgr.SYS.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 DevMgr.SYS.BASEH .HS 08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B *-------------------------------------- +DevMgr.BADCALL lda #MLI.ERR.BADCALL + sec + rts +*-------------------------------------- DevMgr.FreeMem .EQ * MAN SAVE SYS/KERNEL.S.D01 diff --git a/SYS/KERNEL.S.DAT.txt b/SYS/KERNEL.S.DAT.txt index bc375f09..5f02beb4 100644 --- a/SYS/KERNEL.S.DAT.txt +++ b/SYS/KERNEL.S.DAT.txt @@ -1,11 +1,10 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- -DevMgr.Stat .DA DevMgr.LoMem +DevMgr.Stat .DA DevMgr.NUL.Code DevMgr.Free .DA DevMgr.FreeMem .DA DevMgr.HiMem DevMgr.Count .DA #2 NUL,SYS diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 7009ddc4..d4edf247 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #GetDevByIDA * ##IN: @@ -16,20 +15,17 @@ AUTO 6 K.GetDevByIDA cmp DevMgr.Count bcs K.GetDevDNF - pha save ID - asl asl asl + asl + php + clc adc #DevMgr.Table tay - pla - php - lsr - lsr - lsr plp + lda #0 adc /DevMgr.Table rts CC */-------------------------------------- @@ -43,13 +39,12 @@ K.GetDevByIDA cmp DevMgr.Count *\-------------------------------------- K.GetDevByNameYA >STYA ZPPtr1 - >LDYAI DevMgr.Table+S.DEV.F + >LDYAI DevMgr.Table+S.DEV.NAME >STYA ZPPtr2 ldx #0 .1 lda (ZPPtr2) - and #S.DEV.F.LEN cmp (ZPPtr1) bne .3 @@ -64,10 +59,10 @@ K.GetDevByNameYA lda ZPPtr2 sec - sbc #S.DEV.F + sbc #S.DEV.NAME tay lda ZPPtr2+1 - sbc /S.DEV.F + sbc /S.DEV.NAME clc rts @@ -116,19 +111,10 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME lda (pDev),y bit #S.DEV.S.BLOCK bne .99 - - lda (pDev) - sta .2+1 - sta .4+1 - - ldy #1 - lda (pDev),y - sta .3+1 - sta .4+2 - + txa Pass DEV.ID to OPEN ldx #DEVMGR.OPEN - jsr .4 + jsr pDevJmp bcs .9 >PUSHWI S.NODE.DEV @@ -142,17 +128,17 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME lda #S.NODE.T.CDEV sta (ZPPtr3),y - iny #S.NODE.DEV.ID + ldy #S.NODE.DEV.ID .1 lda #$ff Self Modified sta (ZPPtr3),y - iny #S.NODE.DEV.JMP -.2 lda #$ff + ldy #S.NODE.DEV.JMP + lda pDev sta (ZPPtr3),y - iny ##S.NODE.DEV.JMP+1 -.3 lda #$ff + iny + lda pDev+1 sta (ZPPtr3),y txa clc @@ -160,8 +146,7 @@ K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME .99 lda #MLI.ERR.IO sec - rts -.4 jmp $ffff + rts */-------------------------------------- * #MkNodA * return a hFile for a given Socket diff --git a/SYS/KERNEL.S.DIR.txt b/SYS/KERNEL.S.DIR.txt index c6b65eab..42428de0 100644 --- a/SYS/KERNEL.S.DIR.txt +++ b/SYS/KERNEL.S.DIR.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #OpenDirYA * ##In: diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index 5299a2fb..0511c2bd 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * K.LoadDrvYA * in : diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 2ec1ccee..66080195 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #ExpandPStrYA * ##In: diff --git a/SYS/KERNEL.S.EVT.txt b/SYS/KERNEL.S.EVT.txt index ed0e7fbe..4d144f57 100644 --- a/SYS/KERNEL.S.EVT.txt +++ b/SYS/KERNEL.S.EVT.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * EVT.GetEvents : * IN : @@ -12,7 +11,9 @@ AUTO 6 * CC * event in YA * (pEvent) *-------------------------------------- -EVT.GetEvents stz pEvent point to start of event list +EVT.GetEvents lda #EvtMgr.Table + sta pEvent point to start of event list + stz EvtMgr.Count reset Size lda K.IrkMgr.VBL do we have IRQ enabled for VBL ? diff --git a/SYS/KERNEL.S.FILE.txt b/SYS/KERNEL.S.FILE.txt index cac2988a..5572f2c3 100644 --- a/SYS/KERNEL.S.FILE.txt +++ b/SYS/KERNEL.S.FILE.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * For All SYS.xxxx calls, X = #SYSCall * Must be kept in X before calling @@ -169,10 +168,10 @@ K.FReadA jsr PFT.CheckNodeA * Y,A = Bytes Written *\-------------------------------------- K.FWriteAY jsr PFT.CheckNodeA - sty MLICALL.TMPBUF + sty K.FWriteAY.Buf ldx #MLIWRITE K.FReadWrite.0 jsr FILE.SetupPrt1A - >LDYAI MLICALL.TMPBUF + >LDYAI K.FWriteAY.Buf >STYA MLICALL.PARAMS+2 lda #1 sta MLICALL.PARAMS+4 @@ -180,8 +179,9 @@ K.FReadWrite.0 jsr FILE.SetupPrt1A lda #4 Param Count = 4 for MLIREAD & MLIWRITE jsr A2osX.MLICALL bcs .9 - lda MLICALL.TMPBUF -.9 rts + lda K.FWriteAY.Buf +.9 rts +K.FWriteAY.Buf .BS 1 */-------------------------------------- * #FRead * Read bytes from file diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index da90b43a..85c1e6ae 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #FileSearch * Search a file in the provided PATH list diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index 93c945c1..2ab6f798 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * SYSCALL (AUXLC to AUXLC) * Used by user & kernel for inter bank Calls diff --git a/SYS/KERNEL.S.INIT2.txt b/SYS/KERNEL.S.INIT2.txt index 9ea0946a..c834897c 100644 --- a/SYS/KERNEL.S.INIT2.txt +++ b/SYS/KERNEL.S.INIT2.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- Kernel.Init2 sei diff --git a/SYS/KERNEL.S.INIT3.txt b/SYS/KERNEL.S.INIT3.txt index 1f14b104..26e731d0 100644 --- a/SYS/KERNEL.S.INIT3.txt +++ b/SYS/KERNEL.S.INIT3.txt @@ -1,14 +1,16 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- -Kernel.Init3 jsr MemMgrInit +Kernel.Init3 sta SETALTZP + bit RRAMWRAMBNK1 + bit RRAMWRAMBNK1 + + jsr MemMgrInit jsr PS0Init bcs * - >LDYAI MSG.Init3 >SYSCALL CPrintFYA @@ -128,14 +130,18 @@ PS0Init ldx #S.DEV*2 NUL,SYS clc .9 rts *-------------------------------------- -DevMgr.NUL .DA DevMgr.NUL.Code +DevMgr.NUL cld + jmp (DevMgr.NUL.Code,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ+S.DEV.S.OPENED + .BS 6 .DA #3 .AS "NUL" NAME .HS 00 NAME must Be 4 bytes long *-------------------------------------- -DevMgr.SYS .DA DevMgr.SYS.Code +DevMgr.SYS cld + jmp (DevMgr.SYS.Code,x) .DA #S.DEV.S.WRITE+S.DEV.S.READ + .BS 6 .DA #3 .AS "SYS" NAME .HS 00 NAME must Be 4 bytes long @@ -247,7 +253,7 @@ DevMgrInit stz ZPPtr1 lda #$C1 sta ZPPtr1+1 lda #'1' - sta DEV.HEADER+5 S1Dy + sta DEV.HEADER+S.DEV.NAME+4 S1Dy .1 ldx #SmartPort.SIG-SmartPort.OFS-1 @@ -301,11 +307,11 @@ DevMgrInit.SP ldy #$ff adc #3 Compute smartport entry point sta .1+1 sta .3+1 - sta DEV.HEADER+S.DEV.JMP + sta DEV.HEADER+S.DEV.ROM.JMP lda ZPPtr1+1 sta .1+2 sta .3+2 - sta DEV.HEADER+S.DEV.JMP+1 + sta DEV.HEADER+S.DEV.ROM.JMP+1 .1 jsr $ffff Self Modified .DA #0 Status @@ -314,14 +320,12 @@ DevMgrInit.SP ldy #$ff lda SP.STATUS1 beq .9 no device -.2 lda #1 - sta DEV.HEADER.STATUS+1 - lda #'1' - sta DEV.HEADER+7 SxD1 +.2 lda #'1' + sta DEV.HEADER+S.DEV.NAME+2 SxD1 .3 jsr $ffff Self Modified .DA #0 Status - .DA DEV.HEADER.STATUS + .DA DEV.HEADER+S.DEV.S bcs .7 lda SP.STATUS2+S.DEVSTAT.S sta DEV.HEADER+S.DEV.S @@ -337,7 +341,8 @@ DevMgrInit.SP ldy #$ff .9 rts *-------------------------------------- -DevMgrInit.DII +DevMgrInit.DII >LDYAI A2osX.DIIDrv + >STYA DEV.HEADER+S.DEV.ROM.JMP rts *-------------------------------------- DevMgrInit.BLK @@ -365,8 +370,14 @@ DevMgrInit.AddDev sec rts *-------------------------------------- -DEV.HEADER .BS 2 JMP -DEV.HEADER.STATUS .DA #S.DEV.S.BLOCK S +DEV.HEADER clc + jmp ($ffff,x) + .DA #S.DEV.S.BLOCK S + .BS 1 F + .BS 1 BUS.ID + .BS 1 DEV.ID + .BS 2 ROM.JMP + .BS 1 >PSTR "S1D1" 5 bytes *-------------------------------------- SmartPort.OFS .HS 07010305 diff --git a/SYS/KERNEL.S.IRQ.txt b/SYS/KERNEL.S.IRQ.txt index f4c3ead3..e3f66d75 100644 --- a/SYS/KERNEL.S.IRQ.txt +++ b/SYS/KERNEL.S.IRQ.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * called directly by IRQ Vector $FFFE in AuxLC * Must keep: @@ -115,13 +114,8 @@ K.IrqMgrVBL.0n .BS 1 K.IrqMgrVBL.MSM jmp $0000 K.IrqMgrVBL.MRM jmp $0000 *-------------------------------------- -K.IrqHandlerJMP lda ($fe) - sta .1+1 - ldy #1 - lda ($fe),y - sta .1+2 - ldx #DEVMGR.IRQ -.1 jmp $ffff +K.IrqHandlerJMP ldx #DEVMGR.IRQ + jmp ($fe) *-------------------------------------- MAN SAVE SYS/KERNEL.S.IRQ diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index a610d622..a0a9d4ef 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -3,7 +3,6 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * $D000-D0FF KERNEL.SYSCALL Jmp Table *-------------------------------------- diff --git a/SYS/KERNEL.S.LIB.txt b/SYS/KERNEL.S.LIB.txt index 19537003..21da7ba0 100644 --- a/SYS/KERNEL.S.LIB.txt +++ b/SYS/KERNEL.S.LIB.txt @@ -3,7 +3,6 @@ PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * K.LoadLibYA * in : diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 047f53ec..1245c5a5 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * !!!!!! DO NOT USE ZPPtrs !!!!! *-------------------------------------- diff --git a/SYS/KERNEL.S.PFT.txt b/SYS/KERNEL.S.PFT.txt index 27583d5f..216866d4 100644 --- a/SYS/KERNEL.S.PFT.txt +++ b/SYS/KERNEL.S.PFT.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * K.PFTAdd * In : diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index c812f561..74211eb0 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #ExecProcessNewEnvYA * #ExecProcessYA (Blocking Parent PID) diff --git a/SYS/KERNEL.S.RUN.txt b/SYS/KERNEL.S.RUN.txt index c158cc48..434ede7b 100644 --- a/SYS/KERNEL.S.RUN.txt +++ b/SYS/KERNEL.S.RUN.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- SYS.BASL0 .EQ $800 *-------------------------------------- @@ -20,7 +19,8 @@ K.KernelRun jsr TSK.TskMgrRun jsr PS.Select0 - stz pEvent + lda #EvtMgr.Table + sta pEvent .1 lda (pEvent) beq .3 @@ -71,8 +71,9 @@ K.KernelRun jsr TSK.TskMgrRun beq K.KernelRun tax - lda A2osX.SCRNDEVS-1,x No device claimed this screen - beq K.KernelRun + + lda A2osX.SCRNDEVS-1,x + beq K.KernelRun No device claimed this screen jsr K.GetDevByIDA x unmodified..... bcs K.KernelRun ??? @@ -80,15 +81,10 @@ K.KernelRun jsr TSK.TskMgrRun stx A2osX.ASCREEN >STYA pDev - lda (pDev) - sta .5+1 - ldy #1 - lda (pDev),y - sta .5+2 + ldx #DEVMGR.CONTROL - jsr .5 + jsr pDevJmp jmp K.KernelRun -.5 jmp $ffff *-------------------------------------- RUN.DumpEvent ldy #S.EVT-1 diff --git a/SYS/KERNEL.S.STR.txt b/SYS/KERNEL.S.STR.txt index a3ff1489..b161522c 100644 --- a/SYS/KERNEL.S.STR.txt +++ b/SYS/KERNEL.S.STR.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF */-------------------------------------- * #NewPStrYA * Create a new copy of PSTR diff --git a/SYS/KERNEL.S.TIME.txt b/SYS/KERNEL.S.TIME.txt index 2ca7ae37..22b92b2a 100644 --- a/SYS/KERNEL.S.TIME.txt +++ b/SYS/KERNEL.S.TIME.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -NEW +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * https://www.cise.ufl.edu/~cop4600/cgi-bin/lxr/http/source.cgi/lib/ansi/gmtime.c *-------------------------------------- diff --git a/SYS/KERNEL.S.TSK.txt b/SYS/KERNEL.S.TSK.txt index 5c8418ad..92da2ff8 100644 --- a/SYS/KERNEL.S.TSK.txt +++ b/SYS/KERNEL.S.TSK.txt @@ -1,9 +1,8 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 - .LIST OFF *-------------------------------------- * TSK.TskMgrRun *-------------------------------------- @@ -135,7 +134,8 @@ TSK.DispatchEvents jsr PS.Select - stz pEvent Select first event in list + lda #EvtMgr.Table + sta pEvent Select first event in list lda EVTMGR.COUNT sta TSKMGR.EVENTCNT diff --git a/SYS/KERNEL.S.txt b/SYS/KERNEL.S.txt index 0b6b8233..6cc43484 100644 --- a/SYS/KERNEL.S.txt +++ b/SYS/KERNEL.S.txt @@ -1,6 +1,6 @@ PR#3 PREFIX /A2OSX.SRC -LOMEM $900 +LOMEM $A00 INC 1 AUTO 6 .LIST OFF @@ -20,8 +20,6 @@ ZPPtr2 .EQ ZPKERNEL+2 (could be trashed by any JSR) ZPPtr3 .EQ ZPKERNEL+4 ZPPtr4 .EQ ZPKERNEL+6 -* Kernel Init Stage 2 - sei ldx #$FF init 6502 stack to highest txs @@ -36,25 +34,19 @@ ZPPtr4 .EQ ZPKERNEL+6 jsr Kernel.Init2 >DEBUGOA - -* Kernel Init Stage 3 - - sta SETALTZP - bit RRAMWRAMBNK1 - bit RRAMWRAMBNK1 jmp Kernel.Init3 -*-------------------------------------- + .INB X.PRINTF.S .INB SYS/KERNEL.S.INIT2 .INB SYS/KERNEL.S.INIT3 -*-------------------------------------- + * Global Page A2osX.GP .EQ * .PH $BD00 .INB SYS/KERNEL.S.GP .EP -A2osX.GP.END .EQ * +A2osX.GP.SIZE .EQ *-A2osX.GP * LC AUX $D000 BANK1 API Calls $00-$3E @@ -71,7 +63,8 @@ A2osX.D001 .EQ * .INB SYS/KERNEL.S.PFT .INB SYS/KERNEL.S.BIN .EP -A2osX.D001.END .EQ * +A2osX.D001.SIZE .EQ *-A2osX.D001 + * LC AUX $D000 BANK2 API Calls $40-$8E @@ -89,7 +82,7 @@ A2osX.D002 .EQ * .INB SYS/KERNEL.S.EVT .INB SYS/KERNEL.S.TSK .EP -A2osX.D002.END .EQ * +A2osX.D002.SIZE .EQ *-A2osX.D002 * LC AUX $E000 API Calls $80-$FE @@ -101,31 +94,19 @@ A2osX.E000 .EQ * .INB SYS/KERNEL.S.MEM .INB SYS/KERNEL.S.CNV .INB SYS/KERNEL.S.CHR -*-------------------------------------- -PullPtr1Ptr2Ptr3 - sec - .HS 90 bcc -PullPtr1Ptr2 clc - >PULLW ZPPtr1 - >PULLW ZPPtr2 - bcc .9 - >PULLW ZPPtr3 -.9 rts - * Make sure KERNEL.S.D01 is the last one - .INB SYS/KERNEL.S.D01 .EP -A2osX.E000.END .EQ * -*-------------------------------------- +A2osX.E000.SIZE .EQ *-A2osX.E000 + * CONTROL SECTION : .LIST ON -A2osX.GP.SIZE .EQ A2osX.GP.END-A2osX.GP -A2osX.D001.SIZE .EQ A2osX.D001.END-A2osX.D001 -A2osX.D002.SIZE .EQ A2osX.D002.END-A2osX.D002 -A2osX.E000.SIZE .EQ A2osX.E000.END-A2osX.E000 - +Check.GP .EQ A2osX.GP.SIZE +Check.D001 .EQ A2osX.D001.SIZE +Check.D002 .EQ A2osX.D002.SIZE +Check.E000 .EQ A2osX.E000.SIZE .LIST OFF + .DO A2osX.GP.SIZE>$1E0 .LIST ON * !!!!!!!!! ERROR:GP too big !!!!!!!!!! @@ -140,8 +121,7 @@ A2osX.E000.SIZE .EQ A2osX.E000.END-A2osX.E000 .LIST ON * !!!!!!!!! ERROR:BNK2 too big !!!!!!!! .LIST OFF - .FIN - + .FIN MAN SAVE SYS/KERNEL.S ASM