From 4a6d099bf2baa5ea7d8e7d08fad6df846a16ce51 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Sat, 19 Oct 2019 20:17:44 -0400 Subject: [PATCH] Improved error codes for F_WRITE --- SOFTCARD80.ASM#040000 | 16 +++++++++++++--- SOFTCARD80.BIN#041000 | Bin 32771 -> 32771 bytes zapple2.po | Bin 819200 -> 819200 bytes 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/SOFTCARD80.ASM#040000 b/SOFTCARD80.ASM#040000 index 2cc25c0..195326f 100644 --- a/SOFTCARD80.ASM#040000 +++ b/SOFTCARD80.ASM#040000 @@ -1073,12 +1073,22 @@ F_WRITE LD H,D ; Pointer to FCB ... LD HL,FWMLI ; Pass address of 6502 JSR instruction CALL PRODOS ; Invoke ProDOS MLI - CP 0 ; See if there was an error - JP NZ,FWERR ; Handle error + CP 43H ; See if it is a bad reference number + JP Z,FWBFCB ; If so, return invalid FCB code (9) + CP 48H ; See if it was an overrun error + JP Z,FWDF ; If so, return disk full code (2) + CP 0 ; See if there was some other error + JP NZ,FWERR ; If so, return code 0FFH (h/w error) LD A,0 ; Zero for success LD L,A ; Return code in L also RET ; Done -FWERR LD A,0FFH ; TODO: All errors are 0FFH for now +FWBFCB LD A,9 ; Invalid FCB return code + LD L,A ; Return code in L also + RET ; Done (EOF) +FWDF LD A,2 ; Disk full return code + LD L,A ; Return code in L also + RET ; Done (EOF) +FWERR LD A,0FFH ; All other errors are 0FFH LD L,A ; Return code in L aslo RET ; Done (error) diff --git a/SOFTCARD80.BIN#041000 b/SOFTCARD80.BIN#041000 index 6fc09d0a4daac549d387f644ad327056290c1977..17dea30bf4ab91b3e31e0b6de17813546fffe4d1 100644 GIT binary patch delta 1059 zcmZ8gU1$_n6h5=NU3U}R#HOxE%+KB(CAdX}m9R3z8%1oT7KFBfpqAM?cW&0&5@RB( z7~NoMk%CAV^0p5?6x!m8kcURWn$EVRGdkcFLZ9X#)JSU;eNe0=o%PI2S|kJa9OgUU z`MdMY1UzSEv*e``yc z#NXiC_>{Vx7tl_rd(nO|b6J%nY1+6_%=T7?oNxF%1!srw8urs-KEfnuO=cTK^1SFw z8~2Lqy1GkoIFM8%R;Dm))v>RYf!n_ra*_LC*KlO>$*3Bsmfdo$9V{gV*5eP;V3De@;uH8f;3a?U z;dfehnyp;vgzNcEuu_RBA0S-WfWQW@atM;k!a9rXck_G~7Q%xqx026zcuB{2Zk%tP zcNg4K#2w30aLaPAdpO09V`FMl)fnOfm09k${dt#L23Mxr0+))ghy)6lm3#1pk6K6?>$g8Is)!TE>b_xxV> zfv;BreaBWZUI!@D=5*RvK#tYskC1{+Z_xfte`nVGU9Ysst7-EM^R6Ch6_nc2^~Ul{3|VFp_Eb3&I3Im^##I5U;w3`Ku+Ely0^w`S>~c_-c@=^v-TmO y^rHJ%C>eBICaTA8|^q*v{Am*1iTju>4>3oP zy@rzo6sVO`E7~Sq(ou30C)%)pR3W1-_&J%cmCZ~FQq#C(7Hg*d%`Uw%g%4)m&2C`L z?7fD&p@{jcx0}5p6H~TuB~0j%>LWdp--FDVdL_0)$_l7tjFOYg-RTqa5kezy(yX}= z_HmB*P|{uo{}X4Q^@)38;RNs)I7n;8u(Ww8CrYz(?YNUEM)u2XuvPZ6Q6mBynBUng zp6(MZvG82jUx8FUAF1n?JV<3@vT7ZH-v-@2?<8}@r{lWBSE2Dh6;fTcF#~WDz8ZjP zr1}A5hh%jK+SieQ7Ye~KdbX16fLDqCHaW78UQ*h~z5?7Y7RHo8(hzw;j2`dLq{Ar9 z33X<0S#T#etoxEyYTS#&HmDaSzYrT_om`qr%n%zS;>(0fEE3_k0jD`D%1UeldS0@C zn&fFykj?GCm^82Ybs=xfTNZfPjI0sy)pTYHciG;G*ZSn z1;OQYGV$Yo(7-+Tx|o6&+xEb z6yMHq!6RpRXJ|6nB=bcOnq}Svp+)B15U$CBa$WY?yX3oCk9<$-ni!TxE5}Zh{sUN( BljZ;b diff --git a/zapple2.po b/zapple2.po index 2e83778e15ed641f253b6870366b5262a6dfc691..b074901d6d34efaab224a4cc210fb98c433fe966 100644 GIT binary patch delta 1702 zcmZuxeQZ-z6u>hl~O5xdUXv-+t;&aYH=sGe#jz43oVT!*M@H-f=)lsob z3wmg{F4!62l6{y3)kPaL3kX-j>~i8BXjmz(i~jNPg*8J@l9h+Cr* zZjJoi#4HT)wIQAj@tjsYN?xt~KuSpWrN5*J3ClKlseCN3Ty6w?Ebs#8!-=D#1Y_K< zeV8Sl+V~FRGdU|DW0jhpOy3Lgl!#FU@k|D}KY~WTHj*WeR@a2e(96V+#i)S7dIl2E zS#;ssi9G>JT*G5z-kg3pkCM%z|0S^)s9EG{v?XJt@wGh)%)Bphz7T#A5l@3EAihz} z+%$+fo=55T#ME|CK)NugXX_eNf1_HM$-vat;_M;ODDb~2;cMr{$f9EI+&$4Ktp2MQ zhA4&1F8&z_;J7w1M%++m)iu%>>yzrLP@%GSC2qfDQr4uyQht59Q-TDel3AHRK&b!1 zTshPku)^{6g5STrNpN~%S^O5ePkC_fm_Ada(0;Jc0lRK*F`yq!GnXiUuAm+O5a&fD6%5^>R z6WQE&uA9qsc?6V;dJFXzGa2sc3NZ1gSqawKZ;_R;v$DDP<>zuyl=BKp3&u%_t=@xq zHa$-<^&OdhC(opRmT8zR_vXB*j7-Bs^1kd%-I0Z-On1&(hKdw=U*3|Qs}#Ui6P*YC zKT)Lr0_WsJ0@~wk0`g)7e!X@lTXfiy4cd~QNOdfrJYsdEHY#`DtU{Gjql`|yWx{Vl z+d#W{s*v$OgtI-bn2t|N9lo8Vi2pkTlp0cm$#KBwm1Yi3G(X>*zNV}@o4l^XD!t`` z{ao^@QfytQ>Xr*y)}r3b8Z}C09Lyy!;3|Xrssjo-8~WS0rO?<{xCh{9f}21ChBx~@ z??}3)u(0tj`WJ@Ire9b6wP4;>{VW(+^>bi$slwt(okP0?47y98K<^VQpnC+X-ebhn z9-~h^V8jw_x5=ToUoq`hEGw3;*D{Q~(i3FGpv*=TRf#AalEQX$w~I=|K?vFS3L$UQ zuiK_+!wgTYSfvGrnW~l!HoRAfM7ldz(BX%GYu5qmS$2cUc82RAWLI~jgOzu7wz6t> zTN^8dWrcm5*M^3f)p(nhA7&1NxqXRgU9iohZdyx7OFa)UAjsNjns)LMvl(z(FEfn; z-!b)C%K&j}r!F&GqVFnm0H1llY*;zK+m|IaEVC!D_R-UJN5Uc6e|I0Rpf>x)OJ4cC uW)s6OUwIq4?sFh`lI^}hO#O&`<0WtXjNtNVaLJ25BiLbrv-p#P6aNA=hC>qo delta 1252 zcmZ8fe`p(Z6#rhDWcR&G)3jaV+NJESXIF^TmGj5+tXBs${wfx_iIXu+@7J<*H8vg1 z#%vo`WD-!RojnErH8K#HR(8ukHWM6PvJ+dHuK(nZPFjazXNF#ClB= z%hCFVlg&D5H0$`EZpstkYa_fj!q@46MLe+WsQj6HRbG>Sm4BE2lv|bQFsrn~IURl& z&LhTqi2ZrheTV9hE85n0={QaN{XkatJ~^5M4fAp7^AHKqSlz)b-<;zs>g zAf&j6qUJm_U^3{!4|hhwHA$UV!do^^DJ7KYk%SkeYM~y9rS%7w@XnWCS0VDQ#5P5U z2M})KG!gOb+We|@OI<0U+&fZsza%14ESrTOrwQ#^B{C18^HTjq$*SakyCGjsFX8*E zy|XtZtMdAFDGF68oqcyJ7ABJVoh951bNa8~os%PS(2pvU#boxNTuo7Bd!F^A{F|d; zCqgIzR%9!CVLx0azAsy+2mdEt{A4t|DH+cKj{rkfp9HI0kk^xnZ2o{WMEDTivmbWL zF4;96fh8>5`&y`?dsR0Fdg-ltTjd_@T!()X_6fJ-_Orjq)x zHQYU!QtVeQJzb2WA}8*sIIlw*;wDN=&aK+#vO*p!QMoG$2~iJM0eUZx7r8BXu{1qUWy zQX8DL*~irz`~0YJ{d1Gq7i{_}2mu7t=110T2{!qKY6Bl_1ey+RWZVmgDEp-O_q`fAmzh^58##|ir!(i(su*FawK@>tAL?qsqSg5oaC6`Q`U|Rogy2)p@#GNBu#bd!ZdPLeUCmfFo1DiFUGq% zyF#JoFvd?Zd-{9(1!mXb!;Bh>MPsAPU`%D~D5FJV%p1|T{`MuR*AQ+~<3#F5s?#w3 arJjH6tVA0`il@6iH)Oiy#8_&KaQ+ASh~ne`