From bad4a3fc8e53d098d20cd78baebdd9c0d7f699ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 4 Oct 2017 17:12:03 +0200 Subject: [PATCH] Kernel 0.9.1 : CP,MV,RM.....commands --- .Docs/KERNEL.md | 11 ---- .Floppies/A2OSX.BOOT.po | Bin 143360 -> 143360 bytes .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.DEV.po | Bin 143360 -> 143360 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/CHTYP.S.txt | 139 +++++++++++++++++++-------------------- BIN/CP.S.txt | 28 +------- BIN/FORMAT.S.txt | 47 ++++++++----- BIN/LS.S.txt | 11 ++-- BIN/MV.S.txt | 29 +------- BIN/RM.S.txt | 23 +------ BIN/X.CPMVRM.G.txt | 36 ++++++++++ BIN/X.CPMVRM.S.txt | 45 ++++++++----- BIN/X.FILEENUM.G.txt | 25 +++++++ BIN/X.FILEENUM.S.txt | 13 ++-- INC/MACROS.I.txt | 5 ++ LIB/LIBBLKDEV.S.txt | 29 ++++---- README.md | 13 ++-- SYS/KERNEL.S.FIO.txt | 2 +- 19 files changed, 234 insertions(+), 222 deletions(-) create mode 100644 BIN/X.CPMVRM.G.txt create mode 100644 BIN/X.FILEENUM.G.txt diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index ae3cbed8..33ddbd65 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -136,17 +136,6 @@ Make current process suspend until next RUN ## Out: -# GetFullPath.YA - -## In : -+ Y,A = Filename (C-String) - -## Out : -+ CC : success - + Y,A = FullPath (C-String) - + X = hMem of FullPath -+ CS : A = Error Code - # LoadFile ## In: diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index 11d76998a7d7a771ef899f4d5e65c6106c61f21f..4114b89a33dec3116e00685d95fff707e70e845d 100644 GIT binary patch delta 44055 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 delta 43014 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

+t8Gyo$TL7)j_*JW83g_Q4{L7G< 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 diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 80a38580ffc7d00fd94cf9fae62d4f4e9bf8eae1..505a49a5c7244481e552863c0223bf7362cd94e6 100644 GIT binary patch delta 9961 zcmcgyeP9&TwZAiyY$n;=>~26=HXq!X{m5=iLO`T30yQK^0t*BJDkx<`f+ULaA)mE< zn^;1DCpID4F;?xoEuk(ip&Rg#YNZ69B0-Ub*8){BwD_#Ff?FyULE)Wy@9btbK%eiQ zm%z;2d(YQB_uO-Sb0>|BqZ=DXhxR8WmD^J-ZEqzlhleynTS@X1cyO88HYSrEvuXD? z$>Vff(e4t%6VI9Jb?Aq3p4pDhAk6r-?Kb})4LS=4I(KjE=ua|FN`l@o(cUz}?ln95 z1oN@6L_oSGz-8K9we!nl?qu8KSH_Q+9*i_6uTR21mbQq!!FK~L{2R}f)ZYAmCI8fw zyMOV@vjyC~wmbjySI*w%Jd-cl`vZp>MQm@Id&VtFq>+rJwoPa5FxmU@xD$cHK@RKo z`k?RdnI~+l??{k`zEEmco6xyc*!hg$1O9~{7n|Px2!DAzuwP@@w>$Xpp9IkM)Thh2 zx7)6Mn#(=Z<~q9uo?klq0B7HQ`Rto1srx>{=Z^2n+S1i_>~C(%%>HI>JyKE7(k!g! zckz*37Z&Tx+buBT+sTaQEu{Wjb7|9e6nzng=NS8+GW2)N>@Pl>zoWjsgWHC@*RFN& z))jmMZsuF|lAfJ2`+d8zo}SsirK%sF|1;6B3q`E(xMgbpQ&R@myQ=zuyQ@lREaL9v zX7!vX;yi+WYm%>~bm7Fhipod#jN$H29X?}LY2jpKcm}mEsaw}%pFav^Jd4_wuBcI# zkLT>e%cfP4;r6)U=TUp@qsx>o7`B#{myzL@;)Z{Y+H2~RPsei(fAvH<`ir>HZK(b6 zg|$uYW#u(1Ydrbukl2CR3nxuO;&znR>ncF$zl8R*(x&oBgg5DI*TVq#3YnK2;c zK4Q%)AcjgL*69BOwJ&^ZQB%n%l)MMEBe92wU57G$P38;M`3ENXs;2R^!5R&(qmofd z;iQ>Oc}U!=Y5%RJeIL{AEuTx)D7`mf68lm6vice%zM*OTPfhE9QvaJkvIJcGmL~Ur zCiiV7w|X{}D;^}0)}i#i*gD+?QE+Imsp31t`ylRJBDMx)9KMd?Jx$ROs>qLS38TEG z>e;1bQ=6*hR9B3wn&b5%@hCGR{TMTYjFckNf6=vVT2{TXruGqJ`CU{vZF`XTdrkIn zjr&BD+v_bwmXp!hYviUspmskja#Wu9zQ+E6=7SHT?9~->LHnsh?H>)+-jCW>uB$<& z(}{F{98C8oP0bllFYStmkr-SLvCer;y)ALtt zI-f<=R98%_M5c4ZOn+?lhVx7u+1{4V2iqLcWc^L^?1ea4$oO|?mCtCJZy!GznZ8Jv ze)>fwcK)dR`J<8L%Rz$uY5yRSz15SD=~4ot{;Mb>vRod-m3jr3?x~!P#IFfAWQK1v zyRJeTwloQ%iO6^jT2Z?!h+|uhMUMxib6or5en=6_G!xH}9Ut{_n!ssxS&{}Z>XU(y z@*$Hhfhjcwn5bPM;Rd@>IhwIdY0##2Rae{xzSnakNr5iV50PvzFcl+-?~P2lJ8GvX zJxa`IO^lYVlX(!WXwmd$FumzR;`AcZ&;&`wTex;V$wKo-!DhDHI!KmjSOT@)%JdQw zhYunZZJOFlO>I_Gt=D@WvSbf-U=HI4QGU~i1P@y9AX=jor3D*Jasshv*VH>}0(z`h*J+&k^n>-*n3)V48lBY?#jY)ImD+|gwr@ug(Qy~*h zGHoR?j3nY&F*Fo0Rb=(VQJRp^8rSVnuG0H~YYd|#YiGEFJg;q{Tw^t^?=UW7ag=Lr zsUI2dgjO_+%_U3(Su?Vu((fYeby^UojU$4{ZZeJ^phNlzQ6iN3U7(;LdN(135G~bo zPJ}juC{)t>k+BRKOy$JU$Xrg?*U~tlIwwVClUCY2L=e?Ed4LY-E22bb`#s!;J$jkH zn5>-6<#oxKyJbn<*+A{)hU1p}aeu&z4{Pi2S-gB)^FM$4wH>Ol+ZO&~hqMjjJ#xzqA8AL9s;DN&1r8F?=Qpcj zD=4!10FgpFqfZF)#lF5FVNp%)wpCthwUN7-xB65A@Jc}hJtE#92ks{HsW?@}Ps`qM z5#;JTV=L1<=vz{Xt{I(PtOQu1!5>*1IQiX0?kxflIkkxJ5nzfPLy6m`9X1-AG z(s$cH4=`WuaBg#WUv#Lfrw@8mvD>B^$kbV9af_7-bcs~I(shZK#h@`DlX-4$;rV-0 zf@!qn3uREsqOK9RGl%H{A+5Fw6~Tmu)Dx4tB;1MFSV%|aT3_q~Rm;J3v1u_y^_TgP z%IBB)w0lzNqK9<{>D>pW>zyrEfT~lr`oR0ifj7VyU*HFDZQ*>xMVr-Supkf>VZl4o zZtbu&6e%@Vc$uqH(!%`IG+nE$!@f<%tDMS$Fn1P8KMbb>lQGD(+VEz()fc>{ zLS5Evqtd}lSO?|s*L-dYL`#~rVT5w!YhL1KJCvMn_?%qmv^L!OG6a?$&vt}Lb~(aw zu`lo@*wpM??;s&YnQFh`o&FecL|;Kdr=IE{G}Z!qSPqgU zYPPSJNpGJRaf1(!IcPAL3A43=3_uL;0EzXjw#^`e@DYzGpB&|jD`7Y?f$1c6-^3Kn zzM&wK(3Z5q1l8r5SJ>JqKfB78i-_X|^1o;4v-|>n&vU#u)G;S@E#1#~_z3>7bCdHS zk0sBUcW2)0y!m+#<=sJdw37b?FZ<_sPR;S$aM#ZFM0aflI5&;%+Wk(lYu7;gC~XH^ zEzkQ@7?13yz3FOd_pQ|TIN%C(!TXuEu@7k*d!Xmnn^j}0&Hrt7x(VcC{Fz;ahw$fC z)eLQOF@D|wL8n@XbG^?=ss(zZ`CzFtnh&0L;5AMd25QI$aDOeA{Of=`TRk7 z;dc)25edV!LZ*44%8n~@NnUuv9n#?;9-{1qTiuB}9oklB`}&+5x_lt3D;ICgf}0C& zsu3@B#x`6aiA2mDsVWbdBM;}>x9{Y6e`r$RH1x9!_(h)(De9XJ+v!=UZ*C;5uQdEe zl@CH9v<6XQ8kHB&0XdnVfu@xiZY`~R{;kxHq1p>Ud*~6O*dM3)LC~B8ntht;(@Zru zQC%HB5p_*`E3kn~OOI>p#HeA!>p!x$=%7JdCqkaHko}OD=f;SdZwy+Jg*>y=Nz$I( zNW3lJDm$f6PF>>Na}xYWNe8?-5!Cxs5snvrV-FRoDKxn}Ng5WFWEvB3pG`FrBP!Gs z*i)l{qh2*D#b5D`yWo}0rA(3V6po<$cljk6U6;4rJ z_=+FxPiOf*FqZhj+O^ifQVp4k7%XIo8+-sp1d*0WW2UI-noVFTO&zfeKaj<*&+r44 z1~PmmxQnIu#D$_xg%n@pN?0=L*@PMwcoGa(4a#pX^LN!>UkToDLnVOyXwJBS)kfUo zR1M@J!sX_*Viha~s}&ErNUgYo)ryA1T2bO*wPH1`6{Cj$QwFUS&$?KxSfyn}m@lnG zp-Ze3f%uqIEQo4@^1#=8-f#nP`Br%#6}d<{->j}tUizBP95ODKL`9rT{F?Ia*StFg z(i~J02P;21H!DBTX>G`4vQ2BvgC_e?T z5jVL9%1?F$A*bahgO#65$_G1ilag|kAAcVVM@X7^1@i7!7uOUlnsb+zVblIv+W z(>k;U+dS&(#A2ir_wdi}`8DrN7s~CTGUEWh;x;&uGtWYDSrvt+(Tna0PKOXV){Grs ziWcRw1N!B;OuA>~xuWHonb2$#c&r`a}EzZlvMIo9s`Tv1u8s+=VF^PG(q(c6zEX;4)MdY^I;z*!yXBlakeWY;zceTbU-+vVxO9? zTsy>1brwK$8%ajRzj6Y_V!Mx$sJ8*DZWqCj^+3Ax9ey!apqzLIKu&(o<#+f^eEQH& z5AI!%3oiRd;F^k**7x`!x?5iE$ZSB$zI=YzPml0P%3JU8IXW((Giw?nie)kqy^JK* zmk^7bW#Gf8e})RB&eNkfKFNC=swO=&p7J2;Q>^bx+ovNg8VY8^!EEVk7)(5(hU z_lEf#u8r=nAw@ttlJ2k3A=EtOrq&uLL?f~UV7*2Pg$J$V=NJn{FY?OvN z8-SQjj4#?fa!{yiv?SEw5%yT=piqZiinQAB$IgLJ2c!i9G}K43P%ox@14s*o0cpV% zY`nQC@u3d13~9B+M|c|v?z@b-QtzyqB`a>rFMxkNzdFXxl^iF<}^6Zx}Wj9 z?0MaD!gJbl)-xs!X`OVRI_bV4(mL&qA}zo$8qzAKNDDTchP0d%X~8%kEz%o@w4C1x zY0dh!NK3{`6OdMFG0t{`YQ2w3aL1P&8Ebs{@=lql6{G{PBh{RP-QhVpg|=KDIJw>0+N;`fTZnT@_cn`3@Kf3Fr)<2 zVMys%u7;GJxe-#jPJ0w79aUz6ePzq8gGJ+Wv5o+pY~rLF0-QLRP#Z5OotJorfx(-L z@J0bWA70`;w-f9#As)Lx1!!B3sgR#pMrRgi)#@!gFT(STE;uIUcC^MY0 zDt@`Ca~5CbN4Zufbd#9)zrd79{~V^25SRiN5iU1}DJx^Sv)@T_=NOhd>l0zhUN?g& zs~Akl0457fqE-#2tkhDOWiig2Vlm)PznqKN`Wi0`zEHur*5ESC?yKrVsM3`l-2k}x4J43rS$yyDnE>S zMG$p;NeDTxSz0L9$yxRnC?~hGF&D7-B2IS~K z4n0T+R1gVcnun~z=L6M&ISvj4rdF$9}cM090(hBEY($L zho|R38tjuPQ>OGxP7|8A?FND88$a2TE?gD%WC)_@pO^eFGN+M+58%H@pGmdOp)TH~ zcNMr`;p3NldThyaiHmm5bDo-a25286$AyO*w~@if zTWTrvMfMH6i@eh8S?}Jg!t~?8JK<%Vp0G2+A&OS{WJM*KUeMoY52CSy>xhh7TQ>+lPSN1`wQe%;Yf#sBuEcTGU#+BGDk>5P&L&*k3!0J<6`NFu2 zGRG%b@MkFHa0>`~TlT#;R#}-ZxQ0f=gY7wvUQ_ss=TakEavW;jt2U)GUnm$`?&vCW z;M*}=E3a*NU+O9+_YWl4^o@s#%;(>i!ov9vq$%MG2gB!rjijA?{sYBSAlUrJC93TN zy*1xW8qKAjWObdCBD${Q(&0ZyT}AsmkqW$73YqIG@XJz5YW<5FdxMSM?@RTEk4r#= zo28JTPO$p6oRm6`OHcg)pecSGE}mtO7gKw;{7ec6ufHd~ih55S1Ko$r7p!D=y)LOX zwD+mrQ&07VlQ)Jhk4soI}f37^8~$F(Wsn;3jto66De zzeX>#;o}ZH?~>Pe)t}$uOS_Z&_4y_)X(qPoe4z5C;J&mE9OboukZ##BX^%nw7OytK(}FBw&k zS1<}0AAydj6vGm3;Lm3srDEDR{(%j>!iL_Y4ZX=5dUYFmQ#SO98+ubW^rmg^)%X4n DXvTmZ delta 11343 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 delta 20005 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 z zY1!4~zLoF?K5DQ#I(B`zuYx^N>QiDj3*oPTWX!Mh=VG1=d%pz36X%!vW7(K8pA_hV zT2ReiF7+ZTmhG7@38aB+3RWi>iD&!EeT&%Br9QZ&iJkDGxx*(Au0sOrDECRvB#mE~ z+NpOvZ~_GZXJP}o!(VDJC<^4qFFf$21}>es={3$y`c+Q9%HV6#hOYuLM8D^VQG3Ls zJz~}#v1ncFuCnnB-lMZ}eeVh6Ywec!uJ=AYD{nYir@d>X)@Pi&ikZjGpFV*O)Xsej zE&Sz7ofaOu8sOuQ_bA+31nlXR+DX)K+NeFSV(xrbt^dnI-ls`a@6fxtrtZX74Z)I+ zfxG9PS16#HN>z z$I>vSm;1hQ!9CxE`Gi2sd~6_UUK#*@$#8&cY<}VP{H_o6e#wV5NA=dL{@9~6@EJK} z)4NXTp@z^BaQWE}4f%iW63;^&=4;{lf$Y8rwsp}v6yf6as5&ND%SLRS&*iYD#%K0=|*e+ZHkc+UbDPY$WVEVD33$tqY8w<(b94&ZKK1oA>>q-Coh%2($ z;B1I!ZZkzRJ2VobDH7hWnIp}{279D=z111jY=GCx5gq_U;**#NI97;q*v#hU78!_;)exPSydej;(GMe){i@Gxv3ZS434FF=W`h**!Ew z>sdzVtgV0ZHmC+=_YA@h+jp|~hu!gxoqe!Trr3nmzHNPQKa7?lO?3uiq%>9%mj-ho RBjJ-J)}OCxWPbPV{{zd6dYk|N diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 03bf9a2743663a56f20019fec5206a6088a2dc0d..04ab4e44e2eb45969eb8265698557fbffd1fd8eb 100644 GIT binary patch delta 21984 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 PL2cT9LHnN7y8nLxt}f8_ delta 22293 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 A=Kufz diff --git a/BIN/CHTYP.S.txt b/BIN/CHTYP.S.txt index a8e11aa5..e5445c05 100644 --- a/BIN/CHTYP.S.txt +++ b/BIN/CHTYP.S.txt @@ -19,6 +19,7 @@ ZPPtr1 .EQ ZPBIN ZPPtr2 .EQ ZPBIN+2 ZPFileName .EQ ZPBIN+4 ZPFileStat .EQ ZPBIN+6 +ZPFullPath .EQ ZPBIN+8 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -27,9 +28,10 @@ CS.START cld .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 .DA 0 - .DA CS.END-CS.START Code Length To Relocate - .DA DS.END-DS.START Data Segment to Allocate - .DA 0 + .DA CS.END-CS.START CS + .DA DS.END-DS.START DS + .DA #16 SS + .DA #10 ZP .DA 0 *-------------------------------------- * Relocation Table @@ -42,35 +44,20 @@ L.MSG.USAGE .DA MSG.USAGE L.MSG.FILE .DA MSG.FILE L.MSG.OK .DA MSG.OK L.MSG.ERR .DA MSG.ERR -L.STAT .DA STAT -L.PRODOS.FT.TXT .DA PRODOS.FT.TXT-1 +L.PRODOS.FT.TXT .DA PRODOS.FT.TXT .DA 0 *-------------------------------------- -CS.INIT >SYSCALL GetArgC - sta ArgCount - cmp #1 - beq .99 - - stz ArgIndex - -.1 dec ArgCount - beq .7 - - inc ArgIndex - lda ArgIndex +CS.INIT +.1 >INC.G ArgCount >SYSCALL GetArg.A + bcs .7 >STYA ZPPtr1 lda (ZPPtr1) - cmp #2 - bne .4 - - ldy #1 - lda (ZPPtr1),y cmp #'-' bne .4 - iny + ldy #1 lda (ZPPtr1),y ldx OptionList @@ -116,10 +103,17 @@ CS.INIT >SYSCALL GetArgC lda (pData),y beq .99 we also have a TYPE + >LDYAI 256 + >SYSCALL GetMem.YA + bcs .99 + >STYA ZPFullPath + txa + >STA.G hSrcFullPath + clc rts *-------------------------------------- -CS.RUN >SYSCALL GetC +CS.RUN >SYSCALL GetChar bcs .10 no char cmp #$03 Ctrl-C @@ -128,27 +122,24 @@ CS.RUN >SYSCALL GetC cmp #$13 Ctrl-S bne .10 - ldy #bPause - lda (pData),y + >LDA.G bPause eor #$ff sta (pData),y bne .80 -.10 ldy #bPause - lda (pData),y +.10 >LDA.G bPause bne .80 Pause... jsr GetEntry bcs .9 - ldy #hFilter - lda (pData),y + >LDA.G hFilter beq .4 No filter.... >SYSCALL GetMemPtr.A >PUSHYA >PUSHW ZPFileName - >SYSCALL PStrMatch + >SYSCALL StrMatch bcs .8 no match, skip.... .4 ldy #S.STAT.P.DRIVE @@ -189,7 +180,7 @@ CS.RUN.DEV *-------------------------------------- CS.RUN.FILE jsr CS.RUN.GetFilePath - >PUSHWI UsrBuf256 + >PUSHW ZPFullPath >LDYA L.MSG.FILE >SYSCALL PrintF.YA @@ -198,16 +189,14 @@ CS.RUN.FILE jsr CS.RUN.GetFilePath ldy #HexFileType >PUSHB (pData),y - >PUSHWI UsrBuf256 + >PUSHW ZPFullPath >SYSCALL ChTyp jsr CS.RUN.CheckErr - ldy #bRecurse - lda (pData),y + >LDA.G bRecurse bpl .8 - ldy #1 - lda (ZPFileName),y + lda (ZPFileName) cmp #'.' beq .8 @@ -226,8 +215,7 @@ CS.RUN.CheckErr bcs .1 .1 pha - ldy #bContinue - lda (pData),y + >LDA.G bContinue bpl .2 pla @@ -247,16 +235,17 @@ CS.RUN.CheckErr bcs .1 .9 rts *-------------------------------------- CS.RUN.GetFilePath - ldy #hSrcBasePath - lda (pData),y + >LDA.G hSrcBasePath >SYSCALL GetMemPtr.A >PUSHYA - >PUSHWI UsrBuf256 - >SYSCALL PStrCpy + + >PUSHW ZPFullPath + + >SYSCALL StrCpy >PUSHW ZPFileName - >PUSHWI UsrBuf256 - >SYSCALL PStrCat + >PUSHW ZPFullPath + >SYSCALL StrCat rts *-------------------------------------- CS.DOEVENT sec @@ -265,20 +254,27 @@ CS.DOEVENT sec CS.QUIT jsr LeaveSubDir bcc CS.QUIT - ldy #hFilter - lda (pData),y - beq .3 + >LDA.G hFilter + beq .1 >SYSCALL FreeMem.A -.3 clc +.1 >LDA.G hSrcFullPath + beq .8 + >SYSCALL FreeMem.A + +.8 clc rts *-------------------------------------- -GetHexFileType lda (ZPPtr1) - cmp #3 +GetHexFileType ldy #$ff + +.10 iny + lda (ZPPtr1),y + bne .10 + + cpy #3 bne .9 - ldy #1 - lda (ZPPtr1),y + lda (ZPPtr1) cmp #'0' bne .1 @@ -292,16 +288,16 @@ GetHexFileType lda (ZPPtr1) asl asl asl - sta Tmp + >STA.G HexFileType iny lda (ZPPtr1),y cmp #'0' bcc .9 cmp #'9'+1 bcs .9 - and #$F - ora Tmp - ldy #HexFileType + + and #$0F + >ORA.G HexFileType sta (pData),y clc rts @@ -310,26 +306,26 @@ GetHexFileType lda (ZPPtr1) >LDYA L.PRODOS.FT.TXT >STYA ZPPtr2 -.2 ldy #3 +.2 ldy #2 + .21 lda (ZPPtr1),y cmp #'a' - bcc .3 + bcc .4 cmp #'z'+1 - bcs .3 + bcs .4 eor #$20 -.3 cmp (ZPPtr2),y - bne .4 +.4 cmp (ZPPtr2),y + bne .5 dey - bne .21 + bpl .21 lda PRODOS.FT.ID,x - ldy #HexFileType - sta (pData),y + >STA.G HexFileType clc rts -.4 clc +.5 clc lda ZPPtr2 adc #3 sta ZPPtr2 @@ -350,13 +346,11 @@ CS.END OptionList >PSTR "CRcr" OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse *-------------------------------------- -MSG.USAGE >CSTR "Usage : CHTYP [File *,? wildcards allowed] [File type : 0HH, SYS,TXT....]\r\n -C : Continue on error\r\n -R : Recurse subdirectories\r\n" +MSG.USAGE >CSTR "Usage : CHTYP [File *,? wildcards allowed] [File type : 0xx (Hexadecimal byte),SYS,TXT....]\r\n -C : Continue on error\r\n -R : Recurse subdirectories\r\n" MSG.OK >CSTR "[Ok]\r\n" MSG.ERR >CSTR "[%h]\r\n" MSG.FILE >CSTR "CHTYP File:%S..." -STAT .BS S.STAT -ArgCount .BS 1 -ArgIndex .BS 1 + Tmp .BS 1 *-------------------------------------- PRODOS.FT.COUNT .EQ 7 @@ -372,6 +366,11 @@ PRODOS.FT.TXT .AS "TXT" .DUMMY .OR 0 DS.START +ArgCount .BS 1 + +hFullPath .BS 1 +hSrcFullPath .BS 1 +STAT .BS S.STAT Index .BS 1 hDIRs .BS X.MAX.RECURSE hDIRENTs .BS X.MAX.RECURSE diff --git a/BIN/CP.S.txt b/BIN/CP.S.txt index f35da396..a2fdf391 100644 --- a/BIN/CP.S.txt +++ b/BIN/CP.S.txt @@ -34,36 +34,12 @@ MSG.DONE >CSTR "%D File(s) Copied.\r\n" .DUMMY .OR 0 DS.START -ArgCount .BS 1 -Index .BS 1 -STAT .BS S.STAT - -hFullPath .BS 1 -hDIRs .BS X.MAX.RECURSE -hDIRENTs .BS X.MAX.RECURSE -oDIRENTs .BS X.MAX.RECURSE*2 - -hSrcBasePath .BS 1 -hFilter .BS 1 -hSrcFullPath .BS 1 -hSrcFile .BS 1 - -hDstBasePath .BS 1 -hDstFileName .BS 1 -hDstFullPath .BS 1 -hDstFile .BS 1 - -bPause .BS 1 -bCopy .BS 1 -hToDelete .BS 1 -CopyRC .BS 1 -RC .BS 1 -bWildcard .BS 1 bContinue .BS 1 bRecurse .BS 1 bNoConfirm .BS 1 bQuiet .BS 1 -Count .BS 2 + .INB /A2OSX.SRC/BIN/X.CPMVRM.G + .INB /A2OSX.SRC/BIN/X.FILEENUM.G DS.END .ED *-------------------------------------- diff --git a/BIN/FORMAT.S.txt b/BIN/FORMAT.S.txt index a34ff327..1e277306 100644 --- a/BIN/FORMAT.S.txt +++ b/BIN/FORMAT.S.txt @@ -58,6 +58,7 @@ CS.INIT ldy #S.PS.ARGC ldy #1 lda (ZPPtr1),y + beq .99 ldx OptionList @@ -90,14 +91,16 @@ CS.INIT ldy #S.PS.ARGC .5 ldy #$ff .6 iny + lda (ZPPtr1),y + beq .61 - cpy #16 + cpy #15 beq .99 VolName too long - lda (ZPPtr1),y - sta (pData),y - bne .6 - bra .1 success, scan for any other args +.61 >PUSHW ZPPtr1 + >PUSHEA.G VolName + >SYSCALL StrCpy + jmp .1 success, scan for any other args .7 >LDA.G VolName bne .8 Volume name ok @@ -159,7 +162,7 @@ CS.INIT ldy #S.PS.ARGC *-------------------------------------- CS.RUN jsr CS.RUN.BuildCat bcs .9 - + jsr CS.RUN.WriteCat bcs .9 @@ -190,7 +193,6 @@ CS.RUN.BuildCat >LDA.G hDev >STA.G SizeInBlocks+1 >LDA.G hDev - lda (pData),y >SYSCALL GetDevByID.A bcs .99 @@ -209,46 +211,57 @@ CS.RUN.BuildCat >LDA.G hDev >LDYA L.MSG.INIT >SYSCALL PrintF.YA .99 bcs .9 - + >PUSHW.G SizeInBlocks - >LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize - + >LIBCALL hLIBBLKDEV,LIBBLKDEV.GetProDOSCatSize bcs .9 + phy pha + txa >STA.G BlkCnt pla ply >SYSCALL GetMem0.YA BufferSize bcs .9 - >STYA BlkParams.Ptr - txa + + phx + >STYA.G BlkParams.Ptr + pla >STA.G hBuf >PUSHW.G SizeInBlocks >PUSHEA.G VolName - >PUSHW BlkParams.Ptr + >PUSHW.G BlkParams.Ptr >LIBCALL hLIBBLKDEV,LIBBLKDEV.BuildProDOSCat .9 rts *-------------------------------------- CS.RUN.WriteCat >LDA.G hDev >SYSCALL GetDevByID.A bcs .9 - >STYA pDev + >STYA pDev -.1 >LEA.G BlkParams.Ptr - ldx #DEVMGR.WRITEBLOCK + >LEA.G BlkParams.Ptr + ldx #DEVMGR.WRITEBLOCK jsr pDevJmp bcs .9 + + lda #'.' + >SYSCALL PutChar.A + >LDA.G BlkParams.Ptr+1 * clc adc #2 sta (pData),y + >INC.G BlkParams.Num + +* >SLEEP + >DEC.G BlkCnt - bne .1 + bne CS.RUN.WriteCat .9 rts *-------------------------------------- CS.DOEVENT sec diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index 8b3e2d8e..9f27c237 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -488,22 +488,19 @@ HEXDIGIT .AS '0123456789ABCDEF' .OR 0 DS.START ArgCount .BS 1 -Index .BS 1 -STAT .BS S.STAT + TIME.Create .BS 20 TIME.Mod .BS 20 -hFullPath .BS 1 -hDIRs .BS X.MAX.RECURSE -hDIRENTs .BS X.MAX.RECURSE -oDIRENTs .BS X.MAX.RECURSE*2 -hSrcBasePath .BS 1 hFilter .BS 1 bPause .BS 1 bAllmostAll .BS 1 bLong .BS 1 bRecurse .BS 1 + ColCount .BS 1 + + .INB /A2OSX.SRC/BIN/X.FILEENUM.G DS.END .ED *-------------------------------------- diff --git a/BIN/MV.S.txt b/BIN/MV.S.txt index ddf04f30..6c9b2f5b 100644 --- a/BIN/MV.S.txt +++ b/BIN/MV.S.txt @@ -30,40 +30,17 @@ MSG.OVERWRITE >CSTR "Overwrite %S [Yes,No,All]?" MSG.OK >CSTR "[OK]\r\n" MSG.ERR >CSTR "[%h]\r\n" MSG.DONE >CSTR "%D File(s) Moved.\r\n" -*-------------------------------------- -STAT .BS S.STAT -ArgCount .BS 1 -ArgIndex .BS 1 *-------------------------------------- .DUMMY .OR 0 DS.START -Index .BS 1 -hDIRs .BS X.MAX.RECURSE -hDIRENTs .BS X.MAX.RECURSE -oDIRENTs .BS X.MAX.RECURSE*2 - -hSrcBasePath .BS 1 -hFilter .BS 1 -hSrcFullPath .BS 1 -hSrcFile .BS 1 - -hDstBasePath .BS 1 -hDstFileName .BS 1 -hDstFullPath .BS 1 -hDstFile .BS 1 - -bPause .BS 1 -bCopy .BS 1 -hToDelete .BS 1 -bWildcard .BS 1 -RC .BS 1 -CopyRC .BS 1 bContinue .BS 1 bRecurse .BS 1 bNoConfirm .BS 1 bQuiet .BS 1 -Count .BS 2 + .INB /A2OSX.SRC/BIN/X.CPMVRM.G + .INB /A2OSX.SRC/BIN/X.FILEENUM.G + DS.END .ED *-------------------------------------- diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index ba02e055..0152c203 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -29,35 +29,16 @@ MSG.FILE >CSTR "RM File:%S..." MSG.OK >CSTR "[OK]\r\n" MSG.ERR >CSTR "[%h]\r\n" MSG.DONE >CSTR "%D File(s) Removed.\r\n" -*-------------------------------------- -STAT .BS S.STAT -ArgCount .BS 1 -ArgIndex .BS 1 *-------------------------------------- .DUMMY .OR 0 DS.START -Index .BS 1 -hDIRs .BS X.MAX.RECURSE -hDIRENTs .BS X.MAX.RECURSE -oDIRENTs .BS X.MAX.RECURSE*2 - -hSrcBasePath .BS 1 -hFilter .BS 1 -hSrcFullPath .BS 1 -hSrcFile .BS 1 - -bPause .BS 1 -bCopy .BS 1 -hToDelete .BS 1 -RC .BS 1 -bWildcard .BS 1 - bContinue .BS 1 bRecurse .BS 1 bNoConfirm .BS 1 bQuiet .BS 1 -Count .BS 2 + .INB /A2OSX.SRC/BIN/X.CPMVRM.G + .INB /A2OSX.SRC/BIN/X.FILEENUM.G DS.END .ED *-------------------------------------- diff --git a/BIN/X.CPMVRM.G.txt b/BIN/X.CPMVRM.G.txt new file mode 100644 index 00000000..4c6ef536 --- /dev/null +++ b/BIN/X.CPMVRM.G.txt @@ -0,0 +1,36 @@ +PR#3 +PREFIX /A2OSX.BUILD +NEW +INC 1 +AUTO 6 + .LIST OFF +*-------------------------------------- +ArgCount .BS 1 +bPause .BS 1 + +hFilter .BS 1 +hSrcFile .BS 1 +hSrcFullPath .BS 1 +Count .BS 2 +RC .BS 1 + + .DO X.COPY.TO.DEST=1 + +hDstFileName .BS 1 +hDstFullPath .BS 1 +hDstFile .BS 1 +bCopy .BS 1 +CopyRC .BS 1 + + .FIN + + .DO X.DELETE.SOURCE=1 + +hToDelete .BS 1 + + .FIN +*-------------------------------------- +MAN +SAVE /A2OSX.SRC/BIN/X.CPMVRM.G +LOAD /A2OSX.SRC/BIN/CP.S +ASM diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 75bc3c6f..1e7af253 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -34,9 +34,13 @@ CS.START cld L.MSG.USAGE .DA MSG.USAGE L.MSG.DIR .DA MSG.DIR L.MSG.FILE .DA MSG.FILE + .DO X.COPY.TO.DEST=1 + L.MSG.OVERWRITE .DA MSG.OVERWRITE + .FIN + L.MSG.OK .DA MSG.OK L.MSG.ERR .DA MSG.ERR L.MSG.DONE .DA MSG.DONE @@ -81,8 +85,7 @@ CS.INIT .4 tax Save len - ldy #index - lda (pData),y + >LDA.G index .DO X.COPY.TO.DEST=1 bne .5 Already have a Src dir... @@ -96,23 +99,22 @@ CS.INIT .9 rts .DO X.COPY.TO.DEST=1 -.5 ldy #hDstBasePath - lda (pData),y + +.5 >LDA.G hDstBasePath bne .99 we already have a second arg....error! >LDYA ZPPtr1 jsr InitDstDirYA bcc .1 success, scan for any other args rts + .FIN -.7 ldy #index processed all args - lda (pData),y +.7 >LDA.G index processed all args beq .99 , no src ? ERROR .DO X.COPY.TO.DEST=1 - ldy #hDstBasePath - lda (pData),y + >LDA.G hDstBasePath bne .8 we also have a Dst folder ldy #S.PS.hPREFIX no dst folder, use actual prefix @@ -126,7 +128,7 @@ CS.INIT >SYSCALL GetMem.YA bcs .9 txa - ldy #hSrcFullPath + >STA.G hSrcFullPath sta (pData),y .DO X.COPY.TO.DEST=1 @@ -134,8 +136,8 @@ CS.INIT >SYSCALL GetMem.YA bcs .9 txa - ldy #hDstFullPath - sta (pData),y + >STA.G hDstFullPath + .FIN * lda (pPs) @@ -250,8 +252,7 @@ CS.RUN >SYSCALL GetChar cmp #$0F Directory ? bne .5 - ldy #bRecurse - lda (pData),y + >LDA.G bRecurse bpl CS.RUN.NEXT ldy #1 @@ -486,6 +487,7 @@ CS.RUN.FILE.MSG clc jsr CS.RUN.GetPathY >PUSHYA + .FIN ldy #hSrcFullPath @@ -505,6 +507,7 @@ CS.RUN.FILE.MSG clc rts *-------------------------------------- .DO X.COPY.TO.DEST=1 + CS.RUN.OVERWRITE.MSG ldy #bQuiet lda (pData),y @@ -522,6 +525,7 @@ CS.RUN.OVERWRITE.MSG CS.RUN.OVERWRITE.KEY rts + .FIN *-------------------------------------- CS.RUN.CR lda #13 @@ -532,7 +536,9 @@ CS.RUN.CR lda #13 .9 rts *-------------------------------------- .DO X.COPY.TO.DEST=1 + .DO X.DELETE.SOURCE=1 + CS.RUN.Rename ldy #hDstFullPath jsr CS.RUN.GetPathY @@ -545,10 +551,13 @@ CS.RUN.Rename ldy #hDstFullPath >SYSCALL Rename rts + .FIN - .FIN + + .FIN *-------------------------------------- .DO X.COPY.TO.DEST=1 + CS.RUN.CopyStart ldy #hSrcFullPath lda #SYS.FOpen.R @@ -670,8 +679,10 @@ CS.RUN.CopyEnd ldy #hSrcFile lda #$0 sta (pData),y clc - rts + rts + .FIN + *-------------------------------------- CS.RUN.CheckErr bcs .1 @@ -724,6 +735,7 @@ CS.RUN.BuildFilePath >SYSCALL StrCat .DO X.COPY.TO.DEST=1 + ldy #hDstBasePath jsr CS.RUN.GetPathY >PUSHYA @@ -747,7 +759,9 @@ CS.RUN.BuildFilePath .2 >PUSHW ZPPtr1 >SYSCALL StrCat + .FIN + rts *-------------------------------------- CS.RUN.GetPathY lda (pData),y @@ -772,6 +786,7 @@ CS.QUIT jsr LeaveSubDir bcc CS.QUIT .DO X.COPY.TO.DEST=1 + ldy #bCopy lda (pData),y bpl .1 diff --git a/BIN/X.FILEENUM.G.txt b/BIN/X.FILEENUM.G.txt new file mode 100644 index 00000000..7f3f8819 --- /dev/null +++ b/BIN/X.FILEENUM.G.txt @@ -0,0 +1,25 @@ +PR#3 +PREFIX /A2OSX.BUILD +NEW +INC 1 +AUTO 6 + .LIST OFF +*-------------------------------------- +Index .BS 1 +hDIRs .BS X.MAX.RECURSE+1 +hDIRENTs .BS X.MAX.RECURSE+1 +oDIRENTs .BS X.MAX.RECURSE*2 +STAT .BS S.STAT +hFullPath .BS 1 +hSrcBasePath .BS 1 + + .DO X.COPY.TO.DEST=1 + +hDstBasePath .BS 1 + + .FIN +*-------------------------------------- +MAN +SAVE /A2OSX.SRC/BIN/X.FILEENUM.G +LOAD /A2OSX.SRC/BIN/LS.S +ASM diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index 2eddae36..eb0125fd 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -140,6 +140,7 @@ InitSrcDirYA.RTS rts *-------------------------------------- .DO X.COPY.TO.DEST=1 + InitDstDirYA >SYSCALL RealPath.YA bcs InitSrcDirYA.RTS @@ -532,8 +533,10 @@ LeaveSubDir ldy #index rts *-------------------------------------- BasePath.. .DO X.COPY.TO.DEST=1 + ldy #hDstBasePath jsr BasePath..1 + .FIN ldy #hSrcBasePath @@ -549,7 +552,7 @@ BasePath..1 lda (pData),y lda (ZPPtr1),y get len bne .1 - dey discard ending / + dey discard ending / .2 dey lda (ZPPtr1),y @@ -563,14 +566,6 @@ BasePath..1 lda (pData),y rts *-------------------------------------- -DEBUG.YA >SYSCALL PrintF.YA - lda #'|' - >SYSCALL PutChar.A - lda #13 - >SYSCALL PutChar.A - lda #10 - >SYSCALL PutChar.A - rts MAN SAVE /A2OSX.SRC/BIN/X.FILEENUM.S LOAD /A2OSX.SRC/BIN/LS.S diff --git a/INC/MACROS.I.txt b/INC/MACROS.I.txt index e45668bf..ba7496a5 100644 --- a/INC/MACROS.I.txt +++ b/INC/MACROS.I.txt @@ -143,6 +143,11 @@ AUTO 6 ldy #]1 sta (pData),y .EM +*-------------------------------------- + .MA ORA.G + ldy #]1 + ora (pData),y + .EM *-------------------------------------- .MA CMP.G ldy #]1 diff --git a/LIB/LIBBLKDEV.S.txt b/LIB/LIBBLKDEV.S.txt index 311e2b15..ccce7940 100644 --- a/LIB/LIBBLKDEV.S.txt +++ b/LIB/LIBBLKDEV.S.txt @@ -22,7 +22,7 @@ GAP3 .EQ 27 *-------------------------------------- Status.PrvDrvOff .EQ $80 Waiting old drive stop spining Status.DrvOn .EQ $81 Waiting target drive spin -Status.seek .EQ $82 targetdrive seeking +Status.seek .EQ $82 target drive seeking *-------------------------------------- D2Ph0Off .EQ $C080 D2Ph0On .EQ $C081 @@ -74,6 +74,10 @@ CS.START cld L.TrkWriter .DA TrkWriter L.ProDOS.Boot .DA ProDOS.Boot .DA 0 +*-------------------------------------- +LIB.LOAD +LIB.UNLOAD clc + rts */-------------------------------------- * # GetProDOSCatSize * Compute space needed for ProDOS Catalog @@ -133,10 +137,10 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf ldx #3 -.10 lda DATELO,x +.1 lda DATELO,x sta VolDirHdr.CT,x dex - bpl .10 + bpl .1 * Boot Code >LDYA L.ProDOS.Boot @@ -145,29 +149,32 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf ldy #0 ldx #2 2 pages -.1 lda (ZPPtr3),y +.2 lda (ZPPtr3),y sta (ZPPtr1),y iny - bne .1 + bne .2 inc ZPPtr3+1 inc ZPPtr1+1 dex - bne .1 + bne .2 inc ZPPtr1+1 Skip Blk 2 (SOS boot code) inc ZPPtr1+1 * Directory Blocks - +* ldy #0 + .3 lda (ZPPtr2),y + beq .31 iny sta VolDirHdr.Name,y + cpy #15 bne .3 - tya - and #$0f make sure 15 bytes max +.31 tya +* and #$0f make sure 15 bytes max ora #$F0 Volume Directory Header sta VolDirHdr.Name @@ -343,10 +350,6 @@ SetStatusAndExit clc rts *-------------------------------------- -LIB.LOAD -LIB.UNLOAD clc - rts -*-------------------------------------- * A=DSSS0000 * Y=target Track Number * 4 *-------------------------------------- diff --git a/README.md b/README.md index 92d40e2b..6b32a4a4 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,12 @@ **Disk images :** -+ **A2OSX.BOOT.po** : **(0.9)** 140k BOOT disk image with all binaries -+ **A2OSX.DEV.po** : **(0.9)** 140k disk image with ASM binaries, Debug Tools & INClude files ++ **A2OSX.BOOT.po** : **(0.9.1)** 140k BOOT disk image with all binaries ++ **A2OSX.DEV.po** : **(0.9.1)** 140k disk image with ASM binaries, Debug Tools & INClude files + **A2OSX.BUILD.po** : **(0.9.1)** 800k BOOT disk image with S-C MASM 2.0 and all binaries (BOOT+DEV) + **A2OSX.SRC.po** : **(0.9.1)** 800k disk image with all sources -(once Kernel 0.9.1 stable enough, BOOT & DEV will be updated) +(once Kernel 0.9.1 stable enough, BOOT & DEV will be updated) __(done!)__ **0.9 has been archived, next Kernel Version is 0.9.1** @@ -185,21 +185,21 @@ note : '$VAR' does NOT expand Variable | LS | Working | -A : Do Not Print . & .. | 0.9.1 | | | | -L : long listing with size/date... | | | | | -R : Recurse subdirectories | | -| RM | Working | -C : Continue On Error | 0.9 | +| RM | Working | -C : Continue On Error | 0.9.1 | | | | -Q : Quiet | | | | | -R : Recurse subdirectories | | | CP | Working | -C : Continue On Error | 0.9.1 | | | | -Q : Quiet | | | | | -R : Recurse subdirectories | | | | | -Y : Dont't Prompt For Override | | -| MV | Working | -C : Continue On Error | 0.9 | +| MV | Working | -C : Continue On Error | 0.9.1 | | | | -Q : Quiet | | | | | -R : Recurse subdirectories | | | | | -Y : Dont't Prompt For Override | | | CAT | Working | -A : Show All non printable caracters | 0.9.1 | | | | -N : Number all output lines | | | | | -S : Suppress repeated empty output lines | | -| CHTYP | In Progress | -C : Continue On Error | 0.9 | +| CHTYP | Working | -C : Continue On Error | 0.9.1 | | | | -R : Recurse subdirectories | | | CHMOD | In Progress | -C : Continue On Error | 0.9 | | | | -R : Recurse subdirectories | | @@ -222,6 +222,7 @@ note : '$VAR' does NOT expand Variable | ---- | ------ | ------- | ----- | | ASM | In Progress | S-C MASM based multi CPU assembler | 0.9 | | MEMDUMP | Working | | 0.9.1 | +| ---- | ------ | ------- | ----- | | RPCDUMP | Working | tool based on UDP socket API, renamed from RPCINFO | 0.9 | ## Misc diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index bdceccfc..8752b92e 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -120,7 +120,7 @@ K.SaveFile jsr K.FOpen * PUSHW = PATH *\-------------------------------------- K.ChTyp jsr PFT.CheckPathSTK - >PULLW K.MLI.PARAMS+1 + jsr STDIO.PullMLIPath >PULLB .1+1 >MLICALL MLIGETFILEINFO bcs .9