From 69cf7bf32157aea54ec2cfd878df691e4ede480a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 23 Feb 2017 17:43:42 +0100 Subject: [PATCH] Kernel version 0.9 : CP/MV/RM, bugfix and improved Error messages --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.DEV.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/CP.S.txt | 1 - BIN/MV.S.txt | 1 - BIN/RM.S.txt | 3 +- BIN/X.CPMVRM.S.txt | 118 ++++++++++++++++++------------------------- BIN/X.FILEENUM.S.txt | 117 +++++++++++++++++++++++------------------- INC/MLI.ERR.I.txt | 64 +++++++++-------------- SBIN/SHELL.S.txt | 30 ++++++----- X.ERRORS.S.txt | 10 +++- 11 files changed, 162 insertions(+), 182 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index a977237932691bc9318437dec79e225410d2e5c5..28d852bc7f91a2eebc7044ba9ce9ddab6dbf9102 100644 GIT binary patch delta 2142 zcmaJ?e^3$=KLbMYn--(BiK{qqdoF ze@F(DQ0~^aG0DW29k_6o3wu~aoft?mVvd>WhD@hvMrLj@X~sGcmxc*xJJa;-5{=VI zyMMg*zCYgg$NPNV+dv{ckVu!0JOgi?JNit12HZLKyX^-Yg_%kUnk+H%i7dK!Q(NRK zMl)~bQL#|exxeTG1Ua>B|j)k6(BM5x7Kzwyu|rQOEG{^tJ61 z8Lt_%uK{(Ut(K*D0k@p9at>|_H{rP9_{2e+q?D8mlvQyx+@BriZExBQ>=pJrd)ZdN z-ee{iVt_JiJT5Ojl2^1E{N%gEGd!mqD#@B8A)|oqg+OM zh%;~DNic@XH<3ULE59V!F-}cES6TTfayo|9ByW`^VhCY!k{;ehELTabbgOiM4)QE& zv4vwF&+M3Rz?E()#J*y2;psZ&lhWkUHjP=4ig=h+03Q_u}dz?x{Mcz-GkU-K-S zq`f85HBnngAK4e7kZs%+EuoWCsTI07dQ-@s-T_27G+mK*yR1A_;;EjOc4}jk2$!ad z;Vt1W(-Ux0=(~%SIcTKF4Hq?)s&lTrx67hVG{_}hPuU*0%;84SxNF`C3gjNt*Z&)wnfHGWwg za|dy!=^x$?1oU;n`15LMwm~%3fFrBc?|+opgtjs*jpC{rsK|QQT~k~4)B4A~KWh;8 z)WDj&+#28WyPACH@iw$^=g!t$dwpWK1{xYS?`u7@M_1P!YHiJ}+2!{&9o*+XsyS+! ztlGWJbO);2)#_WW4XC=Q$=B9~Xv%&5QeBU{`C%M<{c=4bz;sCB8m zhW0|&;naH&j-se_$oit)#M;@l><0D;_8x@CSslU??DgZU+BAKFjhW6J~+S3p0<|->;Vpzf&Y)Lc`VKt7Ji9>tzUH_LL|C1XhtU5P<6W4~JGEb+5(RQC2 z@7lz>ekg|*1$A`wk5J>`AE(A;dNb-H-|2r|NV5s!w!W6WnLb6DsSPLK7Z ymeS_u81czTU>3|VJZ(_pd`ERyhD`B=N!ViCZWj~BfEyXQ3{L~4mLvQw9Q+UR7dk%x delta 1985 zcmY+Ee{2+W7Qpvye{Cr(4NzIyE&a}ScXqnFU9NCN7bCD;N&zzo<$CUE1Uh<_pjnX? zYd90rO$2R`Vs{7p!W~||H?*Zox;WeRSS65(cY&@!90-@t#+p6jDG6E!CE`hP+;^sc zIDgE%_kHjC-uu4K`%W}#i)L-=t|wq}rAx37ayEEN6!C zqj4-9q4M=E$Kzq&zOe7m<)B_Ro(i&kUm9{DldruSu8DrXKU}j-iL*_~WoW1l?ODA$ zq*#VS`r=Q*K5fC^2Vvi(kT$1F`w>OtjonocmfN~}hWFYY>%36-XN&PPp)RzUtH32* zytl+KAP9CBpoblkBD5L@nGfF8$Wi8OP`~%(`Vqq3V8TA4b

>k6j8#$Ibke*&MAH zoswTTFI0)XDbc6reXRWytv$2RcRY*KJambRIWr%AC*$(G=@!=YozqL_Qh#l}BC&Nz*=oF#VL3frmH&sD%x`q3{I~A; zvOb+!5%*{2XjRmbuqsVPjCqqZKjk$UZ=?A!FYC8mN_-k%+iUb&f$h|v^r0ay5~nc> z`1yC6akwV4LNEVVcb_pN?Z+(W;*5{7%gB2%EN|9V!MOac{#*qMQhe9gV5BQZ6q`e6 zROh&{u#?$exn=}H`VSeu7XF4UG@1*|nvEVvL}NHQnQ79N8V3K2r^Xu!G8L@Z4Q1Yp zqQ5t3M*mrLN3V(F{EWYTcsQ7uqkmT(4-T?au^`)_eK{P|r|k0R4I!^YyR}ar$=<-= zxPs9YOi2n4+FOHrg1y$S>QliO?kfGS_)mG!4_W1AllAxY?=*nN#y6vC7r)Iz>Kb6F zE!eQ8aqYVGB57-Y<>Yh&G3Fdft>1|nJ0g*yHQS#< z8@8gx=OeA;`89AzF10?MhDNZ?g7xX#CV0#Se^1vx3FiwQxt;4buaX=61@+@&*vd!v zSNXksj6cL%EavU#xyrK(^4lX5{Kc!h-aI|QCnv}%2^_h%T~oJ7iv$nN|DVh3=KIvb z=JJdF`o19gjC4y7D8v|@aH=b*Qy#nNBGVF-@^5jXhZ8q(XvC$KQx3h3m0HFREyHRN z^`&rW4$8VnQxCYMuQ;_NVX-rl5mOXhc8LP}nJm_MbevN;)4kxXjfHv^o6~nM9I(s6 zLOk?~#hlB+y|g-pB^H%*J_Ab$>H~h@StuoE6TtD(x`ZW$wf(d0*xHux{f1Dl_lA{6%N>GtU-BZ*}Bniq^9d$o|WtNHMRab99qL^X2 zZ0ZhI?_tTnrhjCvmY7%8I6HEX(Lq>JcmkvK{5^s^PXnotRz&MkAvX8>2gr@6v;dMAoKwt9@z~dng%k}zfPK#P!D0v!y$`C`r?ek78QKsCOFEpCPhkZcWO7&-Dj0n2)Wgo4 z8xUFAU&H+?x!Mnl;2$KCga&9PsU*~q9RpBc-R>fvo`4V+VPm*1acAbo7Lb%^jbhn< z&~+bvkbE`(OW>HSj|FDXujCo}lO;855Ru#Hh7v%Q0TpKDoKYRbzZ(|hvTh*Kb{Sf& TZ@OjmtRuba6tuv=X?Xenn`Hwk diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po index 88e9ee1ef53fbe6d8f3e0cece7da8ca4db52bc81..75ede30f747b8cb6e66a2166044893416757083f 100644 GIT binary patch delta 918 zcmY+C%Wl&^6ozLILV=b`xix8lf&d}Xk~C=wsX&6*;}I6F?K+nViH(~~S_{XHT)WU! zJ5mQwh1mKH`T|8_!AtN0NJwnDW6P3B?2Llt)tqnsbN>I#{;$kF|G&Z)g~`9C!Qi_K zerNn|S^@r?dNY3(tZHgOv8;krLvl^iSV38%_ZCY`vO83^U6<-nZ-WG&cn;*pS-o+X zpp}CGYTAL_BOwW>>_=V*N)z#S1?Kh+RF5A9Q9q;&d&4CZN3IKQPl~>(k?544Ftun< zB?$ZgJUTDxx`C9|$6>2-mFYf3WXEX}-p2DtJ0u-2e?h?OR>QQ6Mq;8YvGu9I2?;d= zKTOz%7vnn^W}h-TcTU*e;u85wLc+jUQ*|Ykz$|TNbi1zO5wI{7KjQ+MO!anb z*BKZOw>)kgR4)q+EK9gK%Cb^stM+@R7xmI8so$m8amh9{`osfESHwNO153dlhGr{E zgBC{;Je3{xu}GH$#N*CK3%MG9=9BDkD*-p>2fI}FLyCF)9k6gsh_-a2fpwG^sw}gX z??yeYBG~+O!Q%he$80d>7+IVaBx;&i)p$(t9}Lg%A)>zPv~3=Ca%YgpgRHMf7Ed6Uo2|@>a#OE2&3ZjGEwQ-3f$7o> z0VoFklH@G2cn!gs=l5@lqNKd$^>h!2No3deI+P!Qm0JSR4EdFUQb=L(A%b(+{G6y8 ZrlNluwpdn^km`J z7x$}{6Ml?Isavoxv$D#UxMX&C*|cq5>pA<(hx9O!!hjg2Z#pbsJ}-McH-O9t(tHtV z_+eX^=#P(5yn%6LS?7xHd#G@ma+{c|d0b}4R-0kB>#}yhI*__UR6@GvTLI&S?*$Q= zx=TbsB3nn#`0jHnXdhxn@*d??%12`Q!GUeL48*Z2lEMm-ihFF@R)-sAaOmR1Fnga+ z9#PeNVL3f#upjphxN6z#i0fVELiPcbtwjp&Wg#(~9;XcLAFj&6cwd~Lm^N;CcF$qB zRKQg<0|!eGT1P~R|AF)*0dhs|b#1F{;+|0njh2`qO8yKK)t+rbGD+Dj>alz@#Pd%$ z0>M6)glm1srU;i1SKPMebj`rp$1^WgRnK?K0J0*Lkh4wqsMqa!KKjjfQOSJDc;lqY zU}l<1%2=YfoxfHr(mho@pK;j?Oqh5`H8R#n?8L(|MOQ~)K22G=obb0IWQM0R7#GR< za84Dz_r+PLYL%Q)ujizaTrO$aSx(vE_>X}&2MhnRT4R6;Fg^bdRq8uxQ`25vw&jbE zScnxX`kN@b0m(;kwx-KU>vaS&n;iXcAyaeJ>m@5fW*FnsMJo;D;KjKFp zQY&Rtj3SC@i?H4s;0V$}48T9c!(3k4AKF=|~wMG)6wq+UVmAQoaIHx0F-DQDp) yS-5F{Sd59@LJOO4SMg|Sg7EEr$2(RdEGHs6^S-_9Qk7k>a;tSC4D diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 139833e2d4e382dc3832fe98fb33cb97ac417df7..d44c50274c0c1daf69fa256f01c91894845112d4 100644 GIT binary patch delta 15362 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 diff --git a/BIN/CP.S.txt b/BIN/CP.S.txt index e038f819..f771ae52 100644 --- a/BIN/CP.S.txt +++ b/BIN/CP.S.txt @@ -17,7 +17,6 @@ X.COPY.TO.DEST .EQ 1 X.DELETE.SOURCE .EQ 0 *-------------------------------------- .INB BIN/X.CPMVRM.S -*-------------------------------------- .INB BIN/X.FILEENUM.S *-------------------------------------- CS.END diff --git a/BIN/MV.S.txt b/BIN/MV.S.txt index 58b7aa2a..7680981f 100644 --- a/BIN/MV.S.txt +++ b/BIN/MV.S.txt @@ -17,7 +17,6 @@ X.COPY.TO.DEST .EQ 1 X.DELETE.SOURCE .EQ 1 *-------------------------------------- .INB BIN/X.CPMVRM.S -*-------------------------------------- .INB BIN/X.FILEENUM.S *-------------------------------------- CS.END diff --git a/BIN/RM.S.txt b/BIN/RM.S.txt index ad85cbd7..cc3343fc 100644 --- a/BIN/RM.S.txt +++ b/BIN/RM.S.txt @@ -17,7 +17,6 @@ X.COPY.TO.DEST .EQ 0 X.DELETE.SOURCE .EQ 1 *-------------------------------------- .INB BIN/X.CPMVRM.S -*-------------------------------------- .INB BIN/X.FILEENUM.S *-------------------------------------- CS.END @@ -26,7 +25,7 @@ OptionList >PSTR "CRY" OptionVars .DA #bContinue,#bRecurse,#bNoConfirm *-------------------------------------- MSG.USAGE >CSTR "Usage : RM [File/Dir, *,? wildcards allowed]\n -C : Continue on error\n -R : Recurse subdirectories\n" -MSG.DIR >CSTR "RM Dir :%S..." +MSG.DIR >CSTR "RM Dir :%S%S..." MSG.FILE >CSTR "RM File:%S%S..." MSG.OK >CSTR "[OK]\n" MSG.ERR >CSTR "[%h]\n" diff --git a/BIN/X.CPMVRM.S.txt b/BIN/X.CPMVRM.S.txt index 1f3a5663..39fa7d20 100644 --- a/BIN/X.CPMVRM.S.txt +++ b/BIN/X.CPMVRM.S.txt @@ -215,25 +215,7 @@ CS.RUN >SYSCALL GetC sec rts *-------------------------------------- -CS.RUN.DEV >PUSHW ZPPtr1 - >LDYA L.MSG.FILE - >SYSCALL CPrintFYA - bcs .9 - - ldy #bRecurse - lda (pData),y - bpl .8 - - jsr CS.RUN.PrintFile - bcs .9 - - lda #0 - clc - jsr CS.RUN.CheckErr - - >LDYA ZPPtr1 - jmp EnterSubDirYA - +CS.RUN.DEV .8 clc .9 rts *-------------------------------------- @@ -242,7 +224,22 @@ CS.RUN.DIR ldy #1 cmp #'.' beq .8 - jsr CS.RUN.PrintDir + .DO X.COPY.TO.DEST=1 + ldy #hDstBasePath + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA + .FIN + + >PUSHW ZPPtr1 Filename + + ldy #hSrcBasePath + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA + + >LDYA L.MSG.DIR + >SYSCALL CPrintFYA bcs .9 *-------------------------------------- .DO X.COPY.TO.DEST=1 @@ -263,7 +260,6 @@ CS.RUN.DIR ldy #1 jmp EnterSubDirYA *-------------------------------------- .1 .DO X.DELETE.SOURCE=1 - ldy #hSrcBasePath jsr CS.RUN.GetFilePath >LDYAI UsrBuf256 @@ -275,7 +271,22 @@ CS.RUN.DIR ldy #1 .8 clc .9 rts *-------------------------------------- -CS.RUN.FILE jsr CS.RUN.PrintFile +CS.RUN.FILE .DO X.COPY.TO.DEST=1 + ldy #hDstBasePath + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA + .FIN + + >PUSHW ZPPtr1 + + ldy #hSrcBasePath + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA + + >LDYA L.MSG.FILE + >SYSCALL CPrintFYA bcs .9 *-------------------------------------- .DO X.COPY.TO.DEST=1 @@ -288,48 +299,13 @@ CS.RUN.FILE jsr CS.RUN.PrintFile jsr CS.RUN.GetFilePath >LDYAI UsrBuf256 >SYSCALL NewPStrYA - bcs .99 + bcs .9 txa ldy #hToDelete sta (pData),y .FIN *-------------------------------------- - rts -.9 jsr CS.RUN.CheckErr -.99 rts -*-------------------------------------- -CS.RUN.PrintDir ldy #hDstBasePath - lda (pData),y - >SYSCALL GetMemPtrA - >PUSHYA - - >PUSHW ZPPtr1 - - ldy #hSrcBasePath - lda (pData),y - >SYSCALL GetMemPtrA - >PUSHYA - - >LDYA L.MSG.DIR - >SYSCALL CPrintFYA - rts -*-------------------------------------- -CS.RUN.PrintFile - ldy #hDstBasePath - lda (pData),y - >SYSCALL GetMemPtrA - >PUSHYA - - >PUSHW ZPPtr1 - - ldy #hSrcBasePath - lda (pData),y - >SYSCALL GetMemPtrA - >PUSHYA - - >LDYA L.MSG.FILE - >SYSCALL CPrintFYA - rts +.9 rts *-------------------------------------- .DO X.COPY.TO.DEST=1 CS.RUN.CopyStart @@ -448,7 +424,7 @@ CS.RUN.CopyEnd ldy #hSrcFile lda (pData),y beq CS.RUN.CheckErr sec - jmp CS.RUN.CheckErr + bra CS.RUN.CheckErr .FIN *-------------------------------------- .DO X.DELETE.SOURCE=1 @@ -458,7 +434,7 @@ CS.RUN.Delete pha pla >SYSCALL GetMemPtrA >SYSCALL RemoveYA - jmp CS.RUN.CheckErr + bra CS.RUN.CheckErr .FIN *-------------------------------------- CS.RUN.CheckErr bcs .1 @@ -466,18 +442,23 @@ CS.RUN.CheckErr bcs .1 >SYSCALL CPrintFYA rts -.1 sta .2+1 +.1 pha + + ldy #bContinue + lda (pData),y + bpl .2 + + pla >PUSHA >LDYA L.MSG.ERR >SYSCALL CPrintFYA bcs .9 + rts - ldy #bContinue - lda (pData),y - bmi .9 CC - -.2 lda #$ff +.2 lda #13 + >SYSCALL PutCA + pla sec rts @@ -485,7 +466,6 @@ CS.RUN.CheckErr bcs .1 *-------------------------------------- CS.RUN.GetFilePath jsr CS.RUN.GetBasePath - >PUSHW ZPPtr1 >PUSHWI UsrBuf256 >SYSCALL PStrCat @@ -532,5 +512,5 @@ CS.QUIT jsr LeaveSubDir *-------------------------------------- MAN SAVE BIN/X.CPMVRM.S -LOAD BIN/RM.S +LOAD BIN/CP.S ASM diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt index 1dde2ff2..403b6761 100644 --- a/BIN/X.FILEENUM.S.txt +++ b/BIN/X.FILEENUM.S.txt @@ -10,57 +10,6 @@ AUTO 6 * hDIRENTs .BS X.MAX.RECURSE+1 * hSrcBasePath .BS 1 * hDstBasePath .BS 1 (optional) -*-------------------------------------- - .DO X.COPY.TO.DEST=1 -InitDstDirYA >SYSCALL GetFullPathYA - bcs .99 - - stx .90+1 - >STYA ZPPtr1 - -.5 >PUSHWI 256 - >PUSHBI 0 - >SYSCALL GetMem Get a 256 buffer to store DstBasePath - bcs .9 - - >STYA ZPPtr2 - txa - ldy #hDstBasePath - sta (pData),y - - lda (ZPPtr1) - sta (ZPPtr2) - tay - -.6 lda (ZPPtr1),y - sta (ZPPtr2),y - dey - bne .6 - - lda (ZPPtr2) - tay - lda #'/' - cmp (ZPPtr2),y - beq .7 - - iny - sta (ZPPtr2),y - tya - sta (ZPPtr2) - -.7 jsr .9 Cleanup - - clc -.99 rts - -.9 pha -.90 lda #$ff self modified - >SYSCALL FreeMemA - pla - sec - rts - - .FIN *-------------------------------------- InitSrcDirPatYA ldx #$80 .HS 2C bit abs @@ -144,7 +93,18 @@ InitSrcDirYA ldx #0 dey bne .6 - >LDYA ZPPtr1 + lda (ZPPtr2) + tay + lda #'/' + cmp (ZPPtr2),y + beq .7 + + iny + sta (ZPPtr2),y + tya + sta (ZPPtr2) + +.7 >LDYA ZPPtr1 >SYSCALL OpenDirYA bcs .9 @@ -168,6 +128,57 @@ InitSrcDirYA ldx #0 sec InitSrcDirYA.RTS rts +*-------------------------------------- + .DO X.COPY.TO.DEST=1 +InitDstDirYA >SYSCALL GetFullPathYA + bcs .99 + + stx .90+1 + >STYA ZPPtr1 + +.5 >PUSHWI 256 + >PUSHBI 0 + >SYSCALL GetMem Get a 256 buffer to store DstBasePath + bcs .9 + + >STYA ZPPtr2 + txa + ldy #hDstBasePath + sta (pData),y + + lda (ZPPtr1) + sta (ZPPtr2) + tay + +.6 lda (ZPPtr1),y + sta (ZPPtr2),y + dey + bne .6 + + lda (ZPPtr2) + tay + lda #'/' + cmp (ZPPtr2),y + beq .7 + + iny + sta (ZPPtr2),y + tya + sta (ZPPtr2) + +.7 jsr .9 Cleanup + + clc +.99 rts + +.9 pha +.90 lda #$ff self modified + >SYSCALL FreeMemA + pla + sec + rts + + .FIN *-------------------------------------- GetNextEntry ldy #index lda (pData),y @@ -337,6 +348,7 @@ EnterSubDirYA.1 lda (pData),y LeaveSubDir ldy #index lda (pData),y beq .9 + clc adc #hDIRs-1 tay @@ -356,6 +368,7 @@ LeaveSubDir ldy #index ldy #hSrcBasePath lda (pData),y >SYSCALL FreeMemA + .9 sec rts diff --git a/INC/MLI.ERR.I.txt b/INC/MLI.ERR.I.txt index a4e4825a..9c111471 100644 --- a/INC/MLI.ERR.I.txt +++ b/INC/MLI.ERR.I.txt @@ -6,29 +6,29 @@ AUTO 6 .LIST OFF *-------------------------------------- *$00 - No Error -*$01 - Bad Call Number -*$04 - Bad Parameter Count -*$25 - Interrupt Table Full -*$27 - I/O Error -*$28 - No Device Connected -*$2B - Write Protected -*$2E - Disk Switched -*$2F - Device Offline -*$40 - Invalid Pathname -*$42 - Maximum Number of Files Open -*$43 - Invalid Reference Number -*$44 - Directory Not Found -*$45 - Volume Not Found -*$46 - File Not Found -*$47 - Duplicate File Name -*$48 - Volume Full -*$49 - Directory Full -*$4A - Incompatible File Format -*$4B - Unsupported Storage Type -*$4C - End of File, No More Data -*$4D - Beyond EOF -*$4E - File Access Error, File Locked -*$50 - File Already Open +MLI.ERR.BADCALL .EQ $01 Bad Call Number +*MLI.ERR.BADCNT .EQ $04 Bad Parameter Count +*MLI.ERR.IRQFULL .EQ $25 Interrupt Table Full +MLI.ERR.IO .EQ $27 I/O Error +MLI.ERR.NODEV .EQ $28 No Device Connected +MLI.ERR.WRTPROT .EQ $2B Write Protected +MLI.ERR.DSKSWIT .EQ $2E Disk Switched +MLI.ERR.OFFLINE .EQ $2F Device Offline +MLI.ERR.INVPATH .EQ $40 Invalid Pathname +MLI.ERR.FCBFULL .EQ $42 Maximum Number of Files Open +MLI.ERR.BADREF .EQ $43 Invalid Reference Number +MLI.ERR.PNOTFND .EQ $44 Directory Not Found +MLI.ERR.VNOTFND .EQ $45 Volume Not Found +MLI.ERR.FNOTFND .EQ $46 File Not Found +MLI.ERR.DUPFILE .EQ $47 Duplicate File Name +MLI.ERR.VOLFULL .EQ $48 Volume Full +MLI.ERR.DIRFULL .EQ $49 Directory Full +MLI.ERR.INCFF .EQ $4A Incompatible File Format +MLI.ERR.UNSUPSS .EQ $4B Unsupported Storage Type +MLI.ERR.EOF .EQ $4C End of File, No More Data +MLI.ERR.BEYEOF .EQ $4D Beyond EOF +MLI.ERR.LOCKED .EQ $4E File Access Error, File Locked +MLI.ERR.OPEN .EQ $50 File Already Open *$51 - Directory Structure Damaged *$53 - Invalid Parameter *$55 - Too Many Volumes @@ -36,23 +36,5 @@ AUTO 6 *$57 - Duplicate Volume *$5A - File Structure Damaged *-------------------------------------- -MLI.ERR.BADCALL .EQ $01 -*MLI.ERR.BADCNT .EQ $04 -*MLI.ERR.IRQFULL .EQ $25 -MLI.ERR.IO .EQ $27 -MLI.ERR.NODEV .EQ $28 -MLI.ERR.WRTPROT .EQ $2B -MLI.ERR.DSKSWIT .EQ $2E -MLI.ERR.INVPATH .EQ $40 -MLI.ERR.FCBFULL .EQ $42 -MLI.ERR.BADREF .EQ $43 -MLI.ERR.PNOTFND .EQ $44 -MLI.ERR.VNOTFND .EQ $45 -MLI.ERR.FNOTFND .EQ $46 -MLI.ERR.DUPFILE .EQ $47 -MLI.ERR.OVERRUN .EQ $48 -MLI.ERR.VOLFULL .EQ $49 -MLI.ERR.EOF .EQ $4C -*-------------------------------------- MAN SAVE /A2OSX.DEV/INC/MLI.ERR.I diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt index 9ad44c9d..cf720044 100644 --- a/SBIN/SHELL.S.txt +++ b/SBIN/SHELL.S.txt @@ -9,8 +9,8 @@ AUTO 6 .TF /A2OSX.BOOT/SBIN/SHELL *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I - .INB /A2OSX.DEV/INC/PRODOS.I .INB /A2OSX.DEV/INC/A2OSX.I + .INB /A2OSX.DEV/INC/MLI.ERR.I *-------------------------------------- ZPPTR1 .EQ ZPBIN ZPPTR2 .EQ ZPBIN+2 @@ -107,7 +107,14 @@ CS.RUN ldy #bPause lda (pData),y bne CS.RUN.READ - ldy #hInputFile batch mode ? + ldy #S.PS.RC + lda (pPs),y + beq .11 + + jsr ERR.Print + bcs CS.RUN.EXIT.RTS + +.11 ldy #hInputFile batch mode ? lda (pData),y beq .10 @@ -119,7 +126,7 @@ CS.RUN ldy #bPause ldy #bSecureRead sta (pData),y - jsr PrintPrompt +.12 jsr PrintPrompt bcs CS.RUN.EXIT.RTS .1 >SYSCALL Sleep @@ -136,20 +143,15 @@ CS.RUN ldy #bPause jsr CmdBuffer.Normalize lda (pData) - beq .8 Empty line + beq .12 Empty line jsr HIS.Add >LDYA pData jsr Cmd.ExecYA + ldy #S.PS.RC sta (pPs),y - bcc .8 - tay - beq .8 - - jsr ERR.Print - bcs CS.RUN.EXIT.RTS .8 ldy #bEXIT lda (pData),y @@ -203,9 +205,9 @@ CS.RUN.BATCH jsr TXT.ReadFile jsr CmdBuffer.Normalize lda (pData) - beq .8 Empty line + beq CS.RUN.BATCH Empty line - jsr HIS.Add +* jsr HIS.Add >LDYA pData jsr Cmd.ExecYA @@ -219,7 +221,7 @@ CS.RUN.BATCH jsr TXT.ReadFile lda (pData),y bne CS.RUN.EXIT -.8 clc + clc rts *-------------------------------------- CS.DOEVENT sec @@ -493,7 +495,7 @@ CMDS >PSTR "CD" MSG.GREETINGS >CSTR "\nA2osX-Shell\n\n" MSG.PROMPT >CSTR "%S$ " MSG.ECHO >CSTR ">%S\n" -MSG.ERROR >CSTR "%S ($%h)\n" +MSG.ERROR >CSTR "Err:%S [%h]\n" FMT.DATE >PSTR "%A, %B %d %Y" FMT.TIME >PSTR "%H:%M:%S (%I:%M:%S%p)" MSG.PRINTENV >CSTR "%S=%S\n" diff --git a/X.ERRORS.S.txt b/X.ERRORS.S.txt index ce1c6f0e..2c9bcc19 100644 --- a/X.ERRORS.S.txt +++ b/X.ERRORS.S.txt @@ -9,14 +9,17 @@ ERR.Codes .DA #MLI.ERR.IO .DA #MLI.ERR.NODEV .DA #MLI.ERR.WRTPROT .DA #MLI.ERR.DSKSWIT + .DA #MLI.ERR.OFFLINE .DA #MLI.ERR.INVPATH .DA #MLI.ERR.PNOTFND .DA #MLI.ERR.VNOTFND .DA #MLI.ERR.FNOTFND .DA #MLI.ERR.DUPFILE - .DA #MLI.ERR.OVERRUN .DA #MLI.ERR.VOLFULL + .DA #MLI.ERR.DIRFULL .DA #MLI.ERR.EOF + .DA #MLI.ERR.LOCKED + .DA #MLI.ERR.OPEN *-------------------------------------- .DA #SYSMGR.ERRSYN .DA #SYSMGR.ERRFNF @@ -27,14 +30,17 @@ ERR.Messages >PSTR "I/O Error" >PSTR "No Device" >PSTR "Disk Write-Protected" >PSTR "Disk Switched" + >PSTR "Device Is Offline" >PSTR "Invalid Path" >PSTR "Path Not Found" >PSTR "Volume Not Found" >PSTR "File Not Found" >PSTR "Duplicate Filename" - >PSTR "Buffer Overrun" >PSTR "Volume Is Full" + >PSTR "Directory Is Full" >PSTR "End Of File" + >PSTR "File Access Error, File Locked" + >PSTR "File Already Open" *-------------------------------------- >PSTR "Syntax Error" >PSTR "Command Not Found"