From facad7dd06eacafec49a3ff160f9abb5a42d0c13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 24 Jun 2019 17:32:22 +0200 Subject: [PATCH] Kernel 0.93 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes SYS/KERNEL.S.DIRENT.txt | 18 +++---- SYS/KERNEL.S.ENV.txt | 50 ++++--------------- SYS/KERNEL.S.MEM.txt | 104 ++++++++++++++++++++++++++------------- SYS/KERNEL.S.PWDX.txt | 56 ++++----------------- SYS/KERNEL.S.STAT.txt | 33 +++++++++++++ SYS/KERNEL.S.STDIO.txt | 26 ++++------ SYS/KERNEL.S.TERM.txt | 51 +++---------------- SYS/KERNEL.S.TIME.txt | 55 +++++++-------------- 9 files changed, 164 insertions(+), 229 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index b84a38d2064d4e55a46a1ec0c9a7eecc46588588..5f457691e54d1e6569d76e61794a9a597dd8174c 100644 GIT binary patch delta 48913 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

jif}EaV6}Z155gkKW z*4GJgQ-&37QL+?@x*Yq}5Tevt3MY>tM6vJ>Bymv@py7>~wNM?4C(-0by_7_=ru8XR zAMqoSkZnSkQi~f%QMPi;fCR;Skew(uXl_JE24MgM$6n*V2`hs8#m^woM#X(GTgK2Jf(UN@{WU2&vbM!QaO0m zju>|Y;v-FyD z0)#fYI)iS;3`~M5gKowg9V2}Ql{|!r)1l9>=lscV?46?3Cr8&d$KfAG@p_1@zD*I9w3(`V)Fz zDy>9+uff=9)e^aNnIn^(&Cu?3HqUqCYFT3cmxQP0y#=KPduO z{%U#fwzMpD0(lLT{5XL;-dGFQ?sZO3kXrDZip^C$#?nz_1N*Bm$g$gj-JMi`sT<=o z6}V9u?y@$^Qs^)ewz#C#Gu0nNXHL5^&J{+kjH_I7{dcM19Bi&q+jcf(4GI6@?G%q% zj2w-f$OSl{Tg;d?d^@g&o10ukD(Li zOGkpF0Gq71{Nop>FJ{BW?>Ibpex;agnsCo=^sskfbkAVCQI~E1P67X6w_1p~*x4X4 zH#vbuXC=&HCxbR0vbsB*;e{SU3;$|Q!IP-RRK3B_1EXvfi0GYLzLRX1>XvWpWl$mL zh_R=^Ol)WTRzWO@= zpCpVzkPG5tI7B0V3y5-^;vs>I1WasYFmI&8)!*R^?YXmC6Pp>TK(i1N$)4Hve{5l> zXY607|7z<3$)c@`XaTZp%g8M&k=oW7^A|2$vH+qebJJ!9r4l}1gV)H!0K zCnd5M-5suSsBUP-W`+|kY{YGqU`awJzhGR!sxh@2+ZwB{JJKVZ`OBDO%{7H-&J~67gN6)D(h>SnqXp0ugOLGuX6pfvV2_Q z>9KYnRrPR4uE$Rp>q!QMlnRbK*N?4fswS5@q(($Gp{~9<*3bEIn)9O!e{H`93?Ar7 zZjVKlxuee`*{cN46g*4tY{7E`&lNmR@O;4w1TPf4Nbq98dkWr5@ZN&=5xlS9C4%=8 zJSKR5!Ak`%6TDpT0fG+{e30OS1s@`Kh2TR4A13$-f}be(aKTR!{A9sL2wo}pNWrTF zuNJ&U@LIt~34V&;b%LKN_-MiF1s@~$Si#2$-XQpCf{z!xQSc_gCkQ@K@JWK7F8E}@ zrwD$A;8O)ZQ}DkDewN^83qDQo>4MJ?{2alX1)nMSEWu|BK1Xma__>1575qHG=LtSv z@CAaOFZe>i7YV*t@FjvT75oChFBE*4;1>!0cfl_f{1U-06}(08%LH!~e7WE&1YapQ zN>2#BTJSZ3uN8cq;Fk-2h2ZN2-yrx#!8ZxMS@11_Un%%j!LJg0o8VIL?Sk(Re5c^M z1ixDFYXrYm@aqKME%^0<-yryng6|RhCc*a#zEAL*1;0h`{es^r_-%sUF8Be#4+?%r z@H+(mKf&)5{4T-o7W}Z_M+Ew>=__?v>iCHUKdza#j&g1;yDe+7SE@DBw4pWq(~{*mAx3;v1Vp9=n&;GYZrh2UQb z{*~Zg3;vDZ-wOVn;NJ`WgWx|3{*&N83;v7X#|8gY@ZSXgUGP5y|8pI8ZQw2-0q6#F z2Miz)=mD5O5|9kIffT?4qykAx z04M~CfMTF0&R7yt|e1_6VCAwUH%6c`4a0GtR62TlS` z21Wptz(}A9s0M0)T3{4#3Qz}}3XBHofib{XU>wi@oCb^s8i6KY0x%Jn1e^{`2BrXK z08@c8fxiJ~0cQi#fa$;t;2fYCm;P1f2z$L(?Knrjg&9&Ta1C%Ra2>E4xE{CxxDnU`+yv|e_5n8ow*dQrTY=kv z+kpeXLEsQ@2k?Kuoxokd-N0es2=EW!9^hW!pTK><{lEjjgTO<;!@wiJqrhXpTZ zlfYBJ)4(&pv%tTA=YXTY^T09S1>oPni@;03%fKtZtH6JN*MQf7H-I;Rw}7{ScYt?+ z_kjNb?*ktI{{ub*J_0@lJ^?-jJ_9}nz5u=iz5>1mz5%`kz5~7oegJ+1egb|5egTdH SzXHDjzXN}`4)8x+TmK)vH!v^& diff --git a/SYS/KERNEL.S.DIRENT.txt b/SYS/KERNEL.S.DIRENT.txt index 447445ad..8bd35d84 100644 --- a/SYS/KERNEL.S.DIRENT.txt +++ b/SYS/KERNEL.S.DIRENT.txt @@ -91,18 +91,16 @@ K.ReadDir.ROOT lda (pFD),y bne K.ReadDir.NoMore - stz K.MLI.PARAMS+1 All Volumes + stz K.MLI.PARAMS+1 All Volumes >LDYAI K.Buf256 >STYA K.MLI.PARAMS+2 >STYA ZPPtr2 >MLICALL MLIONLINE - bcc .10 + bcs K.ReadDir.RTS - sec -.99 rts * pass #1 compute BufSize..... -.10 lda #1 +1 for Ending 0 + lda #1 +1 for Ending 0 sta K.ReadDir.BufSize stz K.ReadDir.BufSize+1 @@ -131,7 +129,7 @@ K.ReadDir.ROOT * pass #2 Fill Buffer... jsr K.ReadDir.GetBuf - bcs .99 + bcs K.ReadDir.RTS .3 lda (ZPPtr2) and #$0F @@ -206,7 +204,7 @@ K.ReadDir.ROOT jmp K.ReadDir.EXIT *-------------------------------------- -K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF +K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF >LDYAI 512 Get a 512 bytes buffer for reading dir... jsr K.GetMem @@ -422,7 +420,7 @@ K.ReadDir.GetBuf >STYA ZPPtr4 .9 rts *-------------------------------------- -K.ReadDir.ADD. ldx #1 filename="1." +K.ReadDir.ADD. ldx #1 filename="1." .HS 2C bit abs K.ReadDir.ADD.. ldx #2 filename="2.." @@ -560,9 +558,9 @@ K.ReadDir.AddFNToBuf bne .8 txa - jsr K.ReadDir.AddToBuf +* jsr K.ReadDir.AddToBuf - rts +* rts *-------------------------------------- K.ReadDir.AddToBuf sta (ZPPtr4) diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index b612fdf2..4ba11a42 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -599,52 +599,22 @@ ENV.SysVarsPPID ldy #S.PS.PPID ENV.SysVarsPID ldy #S.PS.PID .HS 2C ENV.SysVarsCPID ldy #S.PS.CPID + lda (pPS),y -ENV.SysVarsNum stz .2+1 - stz .3+1 +ENV.SysVarsNum jsr MEM.Byte2Str102 - ldx #8 - sed + ldy #0 -.1 asl - pha -.2 lda #$ff Self Modified - adc .2+1 - sta .2+1 +.1 lda $102,y + beq .8 -.3 lda #$ff Self Modified - adc .3+1 - sta .3+1 + iny - pla - dex - bne .1 + jsr ENV.AddAToBuf + bra .1 - cld - - lda .3+1 - beq .4 - - jsr ENV.AddAToBuf30 - -.4 lda .2+1 - pha - lsr - lsr - lsr - lsr - beq .5 - - jsr ENV.AddAToBuf30 - -.5 pla - - and #$0f - -.8 jsr ENV.AddAToBuf30 - - clc +.8 clc rts *-------------------------------------- ENV.SysVarsArgs lda #1 @@ -762,8 +732,6 @@ ENV.NextEnvP4Y tya inc ZPPtr4+1 .8 rts *-------------------------------------- -ENV.AddAToBuf30 ora #$30 - ENV.AddAToBuf ldx ENV.BufLen sta K.Buf256,x inc ENV.BufLen diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 027b60d8..91a2571c 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -717,13 +717,15 @@ MEM.SPtr2PPtr1 >STYA ZPPtr2 rts *-------------------------------------- MEM.GetCharPtr1 lda (ZPPtr1) - beq MEM.GetCharPtr1.8 + bne MEM.NextCharPtr1 + rts + +MEM.PutCharPtr1 sta (ZPPtr1) MEM.NextCharPtr1 inc ZPPtr1 - bne MEM.GetCharPtr1.8 + bne .8 inc ZPPtr1+1 never Z -MEM.GetCharPtr1.8 - rts +.8 rts *-------------------------------------- MEM.AddYp1ToPtr1 sec @@ -742,38 +744,72 @@ MEM.NextCharPtr2 bne .8 inc ZPPtr2+1 .8 rts -*/-------------------------------------- -* # GetMemStat -* **In:** -* Y,A = Ptr to 24 bytes buffer -* ## RETURN VALUE -* Buffer filled with memory stats -*\-------------------------------------- -K.GetMemStat >STYA ZPPtr1 +*-------------------------------------- +* Convert A to CSTR at $102 +*-------------------------------------- +MEM.Byte2Str102 stz .2+1 0xx + stz .3+1 x00 + + phx + + ldx #8 - ldy #23 - ldx #7 - -.1 lda DevMgr.Stat,x - sta (ZPPtr1),y - dey - dex - bpl .1 - - sta SETREADAUX - - jsr .2 - - sta CLRREADAUX - -.2 ldx #7 - -.3 lda Mem.Table,x - sta (ZPPtr1),y - dey - dex - bpl .3 + sed +.1 asl + pha + +.2 lda #$ff Self Modified + adc .2+1 + sta .2+1 + +.3 lda #$ff Self Modified + adc .3+1 + sta .3+1 + + pla + dex + bne .1 + + cld + + ldx #0 + + lda .3+1 x00 + beq .4 + + jsr .8 + +.4 lda .2+1 + pha + + lsr + lsr + lsr + lsr 0x0 + + bne .5 + + cpx #0 + beq .6 + +.5 jsr .8 + +.6 pla + + and #$0f 00x + + jsr .8 + + stz $102,x + + plx + + rts + +.8 ora #$30 + sta $102,x + inx rts *-------------------------------------- MAN diff --git a/SYS/KERNEL.S.PWDX.txt b/SYS/KERNEL.S.PWDX.txt index a8fb1553..1f4111eb 100644 --- a/SYS/KERNEL.S.PWDX.txt +++ b/SYS/KERNEL.S.PWDX.txt @@ -490,71 +490,33 @@ PWD.GetRecordLen jsr PWD.StoreChar txa - +PWD.GetRecordLen.RTS rts *-------------------------------------- PWD.StoreString iny jsr MEM.TXTPTR.GetY - beq .8 + beq PWD.GetRecordLen.RTS jsr PWD.StoreChar bra PWD.StoreString - -.8 rts *-------------------------------------- PWD.StoreByte php phx - stz .2+1 - stz .3+1 + jsr MEM.Byte2Str102 - ldx #8 - - sed - -.1 asl - pha -.2 lda #$ff Self Modified - adc .2+1 - sta .2+1 - -.3 lda #$ff Self Modified - adc .3+1 - sta .3+1 - - pla - dex - bne .1 - - cld plx plp - lda .3+1 - beq .4 + ldy #0 - jsr PWD.StoreChar30 +.1 lda $102,y + beq PWD.GetRecordLen.RTS -.4 lda .2+1 - beq PWD.StoreChar30 - - php - lsr - lsr - lsr - lsr - plp + iny - and #$0f plp corrupt Z - beq .5 - - jsr PWD.StoreChar30 - -.5 lda .2+1 - - and #$0f + jsr PWD.StoreChar + bra .1 *-------------------------------------- -PWD.StoreChar30 ora #$30 - PWD.StoreChar inx bcc .9 Dry run, no store diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index 4b06760d..2e9604d2 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -1,5 +1,38 @@ NEW AUTO 3,1 +*/-------------------------------------- +* # GetMemStat +* **In:** +* Y,A = Ptr to 24 bytes buffer +* ## RETURN VALUE +* Buffer filled with memory stats +*\-------------------------------------- +K.GetMemStat >STYA ZPPtr1 + + ldy #23 + ldx #7 + +.1 lda DevMgr.Stat,x + sta (ZPPtr1),y + dey + dex + bpl .1 + + sta SETREADAUX + + jsr .2 + + sta CLRREADAUX + +.2 ldx #7 + +.3 lda Mem.Table,x + sta (ZPPtr1),y + dey + dex + bpl .3 + + rts *-------------------------------------- * # ChMod * change permissions of a file diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 5a363e97..e7f34f75 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -657,7 +657,7 @@ PrintF.F clc cmp (pStack) bcc .1 - bne .9 + bne .9 CS .1 tya sec +1 @@ -684,17 +684,15 @@ PrintF.F clc .2 lda $102,y beq .8 - jsr PrintF.COut - bcs .99 - iny - bne .2 + + jsr PrintF.COut + bcc .2 + +.9 rts .8 clc rts - -.9 sec -.99 rts *-------------------------------------- PrintF.S ldy #$ff CSTR .HS 2C bit abs @@ -1017,16 +1015,12 @@ K.SScanF jsr MEM.SPtr2PPtr1 ptr2=String to Scan,Ptr1=format cmp (ZPPtr2) Same char in string? bne .9 - inc ZPPtr2 - bne .1 - inc ZPPtr2+1 + jsr MEM.NextCharPtr2 bra .1 -.12 inc ZPPtr2 Space.... - bne .14 - inc ZPPtr2+1 - -.14 cmp (ZPPtr2) another one ? +.12 jsr MEM.NextCharPtr2 Space.... + + cmp (ZPPtr2) another one ? beq .12 bne .1 diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index 91a44302..ec45876e 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -1133,55 +1133,18 @@ DRV.TERM.CURBLNK.SET DRV.TERM.CURBLNK.RTS rts *-------------------------------------- -Decimal.Out stz ZPTmpWord - stz ZPTmpWord+1 - - ldx #8 - sed - - tay - -.1 tya - asl - tay - lda ZPTmpWord - adc ZPTmpWord - sta ZPTmpWord - lda ZPTmpWord+1 - adc ZPTmpWord+1 - sta ZPTmpWord+1 - dex - bne .1 - - cld - - stz ZPTmpBool No leading 0 - - lda ZPTmpWord+1 - and #$0f - beq .2 - - dec ZPTmpBool non zero, print everything +Decimal.Out jsr MEM.Byte2Str102 - jsr Char.Out.Put30 + ldx #0 -.2 lda ZPTmpWord - lsr - lsr - lsr - lsr - bne .3 +.1 lda $102,x - bit ZPTmpBool Print this digit ? - bpl .4 + beq DRV.TERM.CURBLNK.RTS -.3 jsr Char.Out.Put30 - -.4 lda ZPTmpWord - and #$0f + inx + jsr Char.Out.Put + bra .1 *-------------------------------------- -Char.Out.Put30 ora #$30 - Char.Out.Put pha save char ldy #S.DCB.TTY.OUTHEAD diff --git a/SYS/KERNEL.S.TIME.txt b/SYS/KERNEL.S.TIME.txt index b007a3c2..37487f0d 100644 --- a/SYS/KERNEL.S.TIME.txt +++ b/SYS/KERNEL.S.TIME.txt @@ -426,7 +426,7 @@ K.StrFTime jsr MEM.SPtr1PPtr2 cmp #'%' beq .2 - jsr K.StrFTime.addChar + jsr MEM.PutCharPtr1 bra .1 .2 ldx #K.StrFTime.JMP-K.StrFTime.Tbl-1 @@ -507,7 +507,7 @@ K.StrFTime.STR lda (ZPPtr3),y get required S.Time field value .3 iny lda (ZPPtr4),y - jsr K.StrFTime.addChar + jsr MEM.PutCharPtr1 tya cmp (ZPPtr4) beq .8 @@ -518,7 +518,7 @@ K.StrFTime.STR lda (ZPPtr3),y get required S.Time field value .9 ldx #3 lda #'?' -.99 jsr K.StrFTime.addChar +.99 jsr MEM.PutCharPtr1 dex bne .99 rts @@ -526,9 +526,10 @@ K.StrFTime.STR lda (ZPPtr3),y get required S.Time field value K.StrFTime.II ldy #S.Time.HOUR lda (ZPPtr3),y cmp #12 - bcc .1 + bcc K.StrFTime.addDecA sbc #12 -.1 bra K.StrFTime.addDecA + bra K.StrFTime.addDecA + K.StrFTime.P ldy #S.Time.HOUR lda (ZPPtr3),y cmp #12 @@ -536,11 +537,13 @@ K.StrFTime.P ldy #S.Time.HOUR lda #'p' .HS 2C bit abs .1 lda #'a' - jsr K.StrFTime.addChar + jsr MEM.PutCharPtr1 lda #'m' - bra K.StrFTime.addChar + jmp MEM.PutCharPtr1 + K.StrFTime.YY ldy #S.Time.CENTURY jsr K.StrFTime.addDecPtr1Y + K.StrFTime.Y ldy #S.Time.YEAR .HS 2C bit abs K.StrFTime.D ldy #S.Time.DAY @@ -558,40 +561,18 @@ K.StrFTime.MM ldy #S.Time.MINUTE K.StrFTime.addDecPtr1Y lda (ZPPtr3),y K.StrFTime.addDecA + jsr MEM.Byte2Str102 - stz .2+1 + lda $102 + ldx $103 - ldx #8 - sed - -.1 asl - pha -.2 lda #$ff Self Modified - - adc .2+1 - sta .2+1 - - pla - dex bne .1 + tax + lda #$30 - cld - - lda .2+1 - pha - lsr - lsr - lsr - lsr - ora #$30 - jsr K.StrFTime.addChar - pla - and #$0f - ora #$30 -*-------------------------------------- -K.StrFTime.addChar - sta (ZPPtr1) - jmp MEM.NextCharPtr1 +.1 jsr MEM.PutCharPtr1 + txa + jmp MEM.PutCharPtr1 *-------------------------------------- K.StrFTime.DAY >PSTR "Monday" >PSTR "Tuesday"