From 2b8967657e47566518bb2ee48409ed64a3abaead Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 18 Feb 2020 07:55:54 +0100 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/MD5.S.txt | 9 +-- BIN/MEMDUMP.S.txt | 123 ++++++++++++++++++++++----------------- SYS/KERNEL.S.PS.txt | 23 ++++---- 4 files changed, 88 insertions(+), 67 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index cfa14932b39f9b8bc6dd707ab93f7019d471ed4e..9666c17091df2910c7bb2b01bd731ac9a41c2265 100644 GIT binary patch delta 7227 zcmZXY30&0G7RT=ZgCoPpGAskQ42$GC&7dNP8?q=mz{ud*CYymF5K?K&!zn%5akuhH zD_UAqW?D&Qi|ty^vh7v2k@jqPl~%S}zTf@-{~{Kj&v*X+d+)jDo_p@S=Uo0vPo0if z3LgGCB*+=}$TuN5CiNT~IP%6eaC`oToKQh#D=uks4j6-IHwPCcD@)B zoF6-uP01oMT!_BT{?3-%j0s zquWipx=w^`4f>dqW$`CLsirluc1Uo)-b(J}k2Zd^S$=kRNc@DY`%(5*CAW)?$gL-o zj;duxmLH|Bw|$|h)I`-!he`VtXMfe3{BTIHH2o|W4GmtlXISvJ9{Y2_;;Qta5vO(Y zvtlk2LRQQ#_TCg3{^*`df-P?jSQ9i*I75XP;vD9@F=bWCnv|zfo=^EO<*SraDH*9V z<#2b%SVzVI=b<0lgFD2A!@Ij8d$kAcI-I!SuyeQ!xI-KxgO@%#Z)>`;_SYQ)oyw3M zY1%`{sUl{tJv)L_Y3me-$|uJK_mi1X<04zldgDq%HgwnFtoD%a4^L_Dwd-)Z`TN6H zt4^EMPlu(ue}~ALx1*mvSYLfGW02il?WtRPO`Xy)e0}iKPo!=*T)Xns$PEb)hg)nWtVpYB%f8l}54GIYmr7MRjprow7bbmY#OR=BtTx^zOE4ch}&M zL-X51c6BX3vL8Q3+r_RUCwjZx2b}AN?LYM6j%3Zy9Zv1B`GiCD+@28UG-@ z_1h7wewP;QNY$lNw1-lq>i6%9JoHmXq$ZNSV}LHwUl$49)wT5`Oj3=yzYKqO`bLJ> zO!DGUA#riu#;csgH47V?myB`ZFKytI3!5)&kgG?9)KX^1o=kJe^*98bzQ@g_!4Y?c ziOUBLvZRWmm334A~%>`dA2 zwvB9UY4)sjP4WjaL|n9(>&vfbshD)dd|ylRO1;)@H)_2#4XgC3=va~4d}&cbbUO1ajIsMUWkYnmE|>yTh;j(etmxcyKHlQ^uO|-f4a|3RXG*CV_Hzd)NE~mc}k{EHGUZ3j8T<-UazH<7> z$q8{j5jOaYyk&^)fViR3vmrEg$S}PaJzTgvQmM@IyNXJR%0+}r?}BpKj1m!ZzT9#= z!5-!AuAM#uQvEz~!>QmTS$WXx2}&3(Jr%tity!Y2zPchXsL8iz@USH!JX^F?)?6NN zWoHX}jvA+~p(=33TOw+#F5X=cJx;WZ_s{X?<$AqJY^Jb|hlZ*}0aunVPY`V)YNC=T zpOYJy>%*$RTe-%Nsw@vQd*enl)C623MR>kySQ1F}1cbeyhfuReGp+EfX~|PI9WNOW z6hBo42F{EdFwJNgAuL|ehGiAjVpKKN2V5BgB`vZ{wb4+uoN-VWgvW< zT{dnD?H?3BQ+h@v#kJ1T$4pJja*OcUqHR%2MZgWGSm!`lb49@A5q&NYu8~rC43ib% z7otHK4{w<-Qj@({SJCaC@JnTFTaCE_!hI@*E9C6A@M4qYLUp z>_XADU}2NmTG&c1Us+K}xv(_o)vQ#i}sYQMIJzQWR`ng(ILuG`i=t@@H^hgz7I!kE}Vj}GucQA1se zuwLKY#e4&VB9|Hc^rJ4!%TYO))EUtXnN<|f!<1}T5gKP&A(yWR9niW`pQb*T{l*^S z6qeOgR0}JsQL5BNHLrp~`)biv)7TtHE%p|<3S0%Hg~GZ9B5GscM6HEL*gE0Lmd!1T zMBE19%8)&Mjvy!OH=S`yj*9i0NFuwmCqUY9HIo{iIJ4WBx zqi@p{n47d3y&RwE+bt(4}M7R)RtDL1ink4cId;@GY# zRpi^K&TIGfv)*gC6CS@07R7eR+=IdP*2w#nGc{2a?uGRMLvDmHKPXm+m>oTAn_pGm zxTr>i?G&yNvZ}sHSRNK_nn}BKlfrhZ(F;oQh2;_BkUlC(n_B7`8@zRkTG*94H;|HF zog$o%>DBV&jiCv>_vo^dI%Siu-XUEaI=JX@z0UfC3g|`X6li_kg_6= zXh(X4h(Z=o2~=+x>JjmC)P^wzMPFmgUa3II%C-~g?$0O}@*LRyJe-G`Q8WXKDOb;z1gmZy>bF8;-$Q0qc zOuh9Fa@K1#VP4T6xdbboE2q!0#f2e>w5ikEzfoQ=+m>V%mL}2GR9hjOm&=^lwgIMQ zRX-pVS){2RHxZ-_Z78IGKFAolNkxGy5p$*d{+3Ytd}Iw_MWRqg7U98yJfZYkkQ%g; zc#VE;lCM1{;$TM0drrY4%*YKQ{$FQ?P|2}-VUm{0XXn@wTah5NtBGnU^yW_X4;`%~ zi2CZqfz;7LOAyv&2q5lF^^2N?1-U^@%|?cK=M6tkgs(WWFR&Al7eoxwfifPaL039# zu`nYah}c!wCGJh?{xPUYMQeF_g4a9{siCR9LRgRws%w@A3zC7l>x8d^UhS^q7LE<_ z{E6P!R^dPr&@9%rsH=2VNkN&fC|}r-2-KK^^ew3_R@O5)AXmg8#P{e`R#2FS6Jg){ z&pvI2yK;s3R%J1Qevgi39G9UUX`bL6&}uF#IQW@z93PbmcY@xE~Ec^Ii8eNu;7%!Kjb_ZtrLAO#@G3&(@!jCE|= zR{TS9-$YzlcN%M{R3P+=xLt-x#`*H#WnGKyS zqsS5KFn1!yL_L1)fFkY**_4a*M8H=;%!qc{txRpjNkt{XyjRWOslRV>{C`lME9}pl zGczoUus?h57}x<3`+5Yh3}JarMJ=q@^JgRnY4J~OmZ%qcieh=fUo=KYbBhTt$)S_H z;|IPBYt@Ct;}OB4-EVCBjnJHy;TFjU|y2utE+vn}G%Yy9w4kY`&D?ho&mN>-mo_3|`5#u~AP2KwtvVLI96$kA@ zxfZIjKho_F{}^*?QvbVT3hO7vT%h_>WklE6(a>!EObvHL4VP4Y^dHNnmNf2jqeu7r zRjvJ)F}i-FwW=@9tWfs?#eXTMAMX|0FZ?S*hl-zHpS2)E#D62CFV7nj6!Wc&Dz@2M zzeB5@2E9ck1x8AWI&Q3%FL!bQPNJ}$Fx;LkEZ^%PHsS|$6V>8xT4AAx`Voq77eNHA z^p_(kSx#!{PsIJy-OytM%g?%&Fv~A`q)zx%x-YRgT7Oe_YL&!&eph)#WqpkckqfcW z`nzF4mazPxG%prWr#dsAO)oRdq%Jn=wYyy{zJ3G> zx6iW$$>>U3TB238X;ERd)_!5l1)~?Hi1cui^r1ZnA5N~UwDk|_W0IRHZK**KCb_rL zRu~j%lEGCrcUY9_KLWb_a$J?o(Q81osZAB;p^(zwt`!0)`0NreKD#V4zPY4`!7-*b zxxLDkZi?m!Zdukc zM-`8V>1#TBiPB^}BBGy3+X%*|llcB7*oHIPvQg>6f?=~Dy$sNlX=zncmMy}Z$_VZD zoD9R%?KMTWSqRbjduT$a37;0PA+{0sA&wx9B#t7ECbkpD5XTb75yuldh!cntiIa%? z689tSPdtFwNt{faLYzvRMm&%>o%lTBLBxZJhY$}X9!5Nz*hPFkv76XKoIyN-cqH*C z;!NVv#974I#AAqah{qC-BOXsYfp{WuF7YJdJmP%f0^&mA$;4BLi-@NZPb2mc7ZaBd zmlFGkrxTYE`-#hmXAsXMo<%&Hcnypi}O;+u(YA>KqRi8m9s z5#LID8}aSLcM#u6d>3&$@fPB(#CH?lL%fZ6JMq25_Yrpx-%tDi@q@%Wh#w-}N&GPJ zF5=z9j}Sjf{21{b;!fhniJu^Tl6WuiQ^ZdbKSTU1@jl|`h@U5Zf%rw@mxx~`eua2H z@d4sjiC-iBH}OH@*NNXCK1BQ`@ms`i6Td_JF7bbe-y?pX_ygj@#2*rWMEo)FC&Zr; zcM*R^e1!NY@#n<0v6C4gaIoE2R6_LM1V*T1)_l+ z#DG{32jYPPB!EPa1p0!0pg$M@oFEybfK-qM27+{O9vB1$gCSrj7zTy|7dRidfd^!O z5nv=31v0^CkOi{A7?1fj(Vo(A~fe%av zWxx;0!3;1H%mTB)955GL04@X>Ldm7oe#gBma&TncJI9asP^1NC4bXaJ3% z30w}E!6MKCt^ikptH5Hg1Y8ZS0oQ`-z`sB%SPBB*dT;|+29^T?E5J%{BVe!!tOjeq zTCfhR2OGdfa1*#0+yXWM2{wZ^a4WbC+z##lcY?b>JJn#D?gjUO4sbts z06YkGfQP_N@G#f~c7sR2qu?>H2XunR!4u#~uopZ9o(9i=XTd)39C#kQ0A2(yftSH6 zU_UqjUInj#e}jYIb?^o_1l|O1fw#ds;9c+^@E&*{d;kuE55Y&^WAF+16m)^lz!7j1 zd=CB#j)5=0m*6Y#HTWO+27C*?1INJ$@ICke{0L5hpTN)H7w{|i4g3!N0H?s8;4jld IeA?9Vf8%BO=l}o! delta 6929 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 DAZVg# diff --git a/BIN/MD5.S.txt b/BIN/MD5.S.txt index f7c0a3e8..b89eaed1 100644 --- a/BIN/MD5.S.txt +++ b/BIN/MD5.S.txt @@ -8,7 +8,6 @@ NEW .INB INC/MACROS.I .INB INC/A2OSX.I .INB INC/MLI.E.I - .INB INC/LIBCRYPT.I *-------------------------------------- FILEBUF.SIZE .EQ 4096 *-------------------------------------- @@ -115,11 +114,13 @@ CS.RUN.FILE >LDYAI FILEBUF.SIZE >STYA ZPDataBufPtr stx hDataBuf - >PUSHWZ Aux type - >PUSHBI 0 ftype - >PUSHBI O.RDONLY + lda Arg >SYSCALL ArgV + >PUSHYA + >PUSHBI O.RDONLY + >PUSHBI 0 ftype + >PUSHWZ Aux type >SYSCALL FOpen bcs .9 diff --git a/BIN/MEMDUMP.S.txt b/BIN/MEMDUMP.S.txt index 377b9f9b..064f2ff5 100644 --- a/BIN/MEMDUMP.S.txt +++ b/BIN/MEMDUMP.S.txt @@ -3,7 +3,7 @@ NEW .LIST OFF .OP 65C02 .OR $2000 - .TF BIN/MEMDUMP + .TF bin/memdump *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I @@ -48,9 +48,6 @@ L.MSG1.STR .DA MSG1.STR L.MSG1.HEX .DA MSG1.HEX L.MSG2 .DA MSG2 L.MSG3 .DA MSG3 -L.MSG4 .DA MSG4 -L.MSG5 .DA MSG5 -L.MSG.FREE .DA MSG.FREE .DA 0 *-------------------------------------- CS.INIT clc @@ -68,15 +65,20 @@ CS.RUN >LEA.G MemStat CS.RUN.LOOP >LDA.G bSTOP beq .1 + .10 >SYSCALL GetChar cmp #3 Ctrl-C ? beq CS.RUN.LOOP.RTS + cmp #C.SPACE bne .10 + >STZ.G bSTOP .1 lda (ZPPTR1) bpl .2 + >INC.G USED.COUNT + .2 jsr CS.RUN.PRINTMEM lda ZPPTR1 clc @@ -88,67 +90,52 @@ CS.RUN.LOOP >LDA.G bSTOP >CMP.G MemStat+S.MSTAT.MLast beq CS.RUN.FOOTER bra CS.RUN.LOOP - sec + CS.RUN.LOOP.RTS rts + CS.RUN.FOOTER >SYSCALL GetChar bcs CS.RUN.LOOP.RTS - >PUSHB.G MEM.COUNT + + >PUSHW L.MSG2 >PUSHB.G USED.COUNT + >PUSHB.G MEM.COUNT >PUSHBI 2 - >LDYA L.MSG2 >SYSCALL printf + >PUSHW L.MSG3 >PUSHW.G MemStat+S.MSTAT.MH - >PUSHBI 2 - >LDYA L.MSG3 - >SYSCALL printf - >PUSHW.G MemStat+S.MSTAT.MF - >PUSHBI 2 - >LDYA L.MSG4 - >SYSCALL printf - >PUSHW.G MemStat+S.MSTAT.ML - >PUSHBI 2 - >LDYA L.MSG5 - >SYSCALL printf - sec >LDA.G MemStat+S.MSTAT.MF + sec >SBC.G MemStat+S.MSTAT.ML pha >LDA.G MemStat+S.MSTAT.MF+1 >SBC.G MemStat+S.MSTAT.ML+1 ply >PUSHYA - >PUSHBI 2 - >LDYA L.MSG.FREE + >PUSHBI 8 >SYSCALL printf + lda #0 sec rts *-------------------------------------- -CS.RUN.PRINTMEM ldy #S.MEM.LEN+1 +CS.RUN.PRINTMEM >PUSHW L.MSG1 + + >PUSHB.G MEM.COUNT - ldx #4 -.13 lda (ZPPTR1),y - >PUSHA - dey - dex - bne .13 - ldy #S.MEM.REFCNT - lda (ZPPTR1),y - >PUSHA - ldy #S.MEM.OWNERPID - lda (ZPPTR1),y - >PUSHA lda (ZPPTR1) Get flags ldy #MEM.FLAGS+7 ldx #7 + .20 lsr pha lda #'-' bcc .30 + lda MSG.FLAGS,x + .30 sta (pData),y pla dey @@ -156,25 +143,50 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN+1 bpl .20 >PUSHEA.G MEM.FLAGS - >PUSHB.G MEM.COUNT + + ldy #S.MEM.OWNERPID + lda (ZPPTR1),y + >PUSHA + + ldy #S.MEM.REFCNT + lda (ZPPTR1),y + >PUSHA + + ldy #S.MEM.PTR+1 + lda (ZPPTR1),y + >PUSHA + dey + lda (ZPPTR1),y + >PUSHA + + ldy #S.MEM.LEN+1 + lda (ZPPTR1),y + >PUSHA + dey + lda (ZPPTR1),y + >PUSHA + lda (ZPPTR1) Get flags bpl .12 + ldy #S.MEM.OWNERPID lda (ZPPTR1),y jsr CS.RUN.CHECKPS bcc .12 + + >PUSHW L.MSG1.INV >PUSHBI 0 - >LDYA L.MSG1.INV >SYSCALL printf .12 >PUSHBI 9 - >LDYA L.MSG1 >SYSCALL printf lda (ZPPTR1) and #S.MEM.F.CODE bne CS.RUN.PRINTMEM.BIN -****** DATA + +CS.RUN.PRINTMEM.DATA + ldy #S.MEM.PTR lda (ZPPTR1),y sta ZPPTR2 @@ -190,30 +202,37 @@ CS.RUN.PRINTMEM ldy #S.MEM.LEN+1 iny bne .1 -.11 tya - beq .2 Startig with 0...PrintHEX +.11 >PUSHW L.MSG1.STR + tya + beq .2 Starting with 0...PrintHEX + + >PUSHA len >PUSHW ZPPTR2 String - tya Len - >PUSHA >PUSHBI 3 - >LDYA L.MSG1.STR + bra CS.RUN.PRINTMEM.OUT -.2 ldy #15 +.2 >PUSHW L.MSG1.HEX + + ldy #0 .3 >PUSHB (ZPPTR2),y - dey - bpl .3 + iny + cpy #16 + bne .3 + >PUSHBI 16 - >LDYA L.MSG1.HEX + bra CS.RUN.PRINTMEM.OUT CS.RUN.PRINTMEM.BIN + >PUSHW L.MSG1.BIN + ldy #S.MEM.BIN lda (ZPPTR1),y >SYSCALL GetMemPtr >PUSHYA >PUSHBI 2 - >LDYA L.MSG1.BIN + CS.RUN.PRINTMEM.OUT >SYSCALL printf >INC.G LINE.COUNT @@ -251,10 +270,10 @@ MSG1.BIN .AZ "{%s}\e[0m\r\n" MSG1.STR .AZ "[%03d:%s]\e[0m\r\n" MSG1.HEX .AZ "?HEX:%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h\e[0m\r\n" MSG2 .AZ "\r\nAllocated hMem:%d, Total:%d\r\n" -MSG3 .AZ "High Memory: $%H\r\n" -MSG4 .AZ "Free ULimit: $%H\r\n" -MSG5 .AZ "Low Memory: $%H\r\n" -MSG.FREE .AZ "\r\nFree Memory: %D Bytes.\r\n" +MSG3 .AS "High Memory: $%H\r\n" + .AS "Free ULimit: $%H\r\n" + .AS "Low Memory: $%H\r\n" + .AZ "\r\nFree Memory: %D Bytes.\r\n" MSG.FLAGS .AS "UZXAfcds" *-------------------------------------- .DUMMY diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 4aa754d0..cd286890 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -629,10 +629,10 @@ K.Kill.2 ldy #S.PS.hSID * `int loadtxtfile ( const char * filename, short int flags, short int ftype, int auxtype );` * ## ASM * **In:** -* `>PUSHW auxtype` -* `>PUSHB ftype` +* `>PUSHW filename` * `>PUSHB flags` -* `>LDYA filename` +* `>PUSHB ftype` +* `>PUSHW auxtype` * `>SYSCALL loadtxtfile` * ## RETURN VALUE * Y,A = File Length (without ending 0) @@ -655,10 +655,10 @@ K.LoadTxtFile sec * `int loadfile ( const char * filename, short int flags, short int ftype, int auxtype );` * ## ASM * **In:** -* `>PUSHW auxtype` -* `>PUSHB ftype` +* `>PUSHW filename` * `>PUSHB flags` -* `>LDYA filename` +* `>PUSHB ftype` +* `>PUSHW auxtype` * `>SYSCALL loadfile` * ## RETURN VALUE * Y,A = File Length @@ -742,13 +742,14 @@ K.LoadFile clc * Search a file in the provided PATH list * And return, if found, the full path to it. * ## C -* `int filesearch ( char * filename, char * searchpath, char * fullpath, stat * filestat);` +* `int filesearch( char *filename, char *searchpath, char *fullpath, stat *filestat);` * ## ASM * **In:** -* `>PUSHWI filename` -* `>PUSHWI fullpath` -* `>PUSHWI searchpath` -* `>PUSHWI filestat` +* `>PUSHW filename` +* `>PUSHW fullpath` +* `>PUSHW searchpath` +* `>PUSHW filestat` +* `>SYSCALL filesearch` * ## RETURN VALUE * CC : success * DstBuf = FilePath