From 8e171c43b63f702612245ab475937d2c2c919c56 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Sun, 27 Oct 2019 21:26:03 -0400 Subject: [PATCH] Fixed garbage when TYPEing an empty file --- SOFTCARD80.ASM#040000 | 8 ++++++-- SOFTCARD80.BIN#041000 | Bin 43011 -> 43011 bytes zapple2.po | Bin 819200 -> 819200 bytes 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/SOFTCARD80.ASM#040000 b/SOFTCARD80.ASM#040000 index 19c512d..9c7804d 100644 --- a/SOFTCARD80.ASM#040000 +++ b/SOFTCARD80.ASM#040000 @@ -1954,6 +1954,7 @@ N2H2 OR 0F0H ; ; Need to handle this differently for eg: ERA A: vs DIR A: !! ; TODO: Parse * wildcard and generate FCB with ?s ; TODO: Implement REN, SAVE commands +; TODO: Bug in TYPEFILE - shows garbage for zero length file ; Get a line of text from the console & handle it CCP @@ -2342,7 +2343,7 @@ BIS2 LD DE,PATHBUF2+1 ; Skip over drive byte in FCB CALL Z,RENAME ; If so, call function for REN JP BIS6 ; Done -BIS3 LD DE,PATHBUF2+1 ; Skip over drive byte in FCB +BIS3 LD DE,PATHBUF2+1 ; Skip over drive byte in FCB LD HL,TYPCMD ; See if 'TYPE' CALL COMPSTR ; ... CP 0 ; ... @@ -2491,7 +2492,10 @@ TYPEFILE LD DE,FCB1 ; Point to FCB1 CALL F_OPEN ; Open the file with wildcard search CP 0 ; JP NZ,TFOERR ; Open error -TFL1 LD DE,FCB1 ; Point to FCB1 +TFL1 LD HL,FILEBUF ; Write ^Z to buffer in case 0 bytes read + LD A,26 ; ... + LD (HL),A ; ... + LD DE,FCB1 ; Point to FCB1 CALL F_READ ; Read records until done CP 0 ; Check return code from F_READ JP NZ,TFS1 ; If non-zero jump out of loop diff --git a/SOFTCARD80.BIN#041000 b/SOFTCARD80.BIN#041000 index 17c96b6c5d9aa5133265a88a8fae0727bdb03e83..252f81712479cc47050581b526d3998fb3a352a2 100644 GIT binary patch delta 1115 zcmZvaU1$?o6vt>vSF6t?MebR#5PzYVe^iek&5RwGEZp z`EZ)ay|c^eF6){If{IlFS}CHPR%>Fev_im_5h7FssSiE~MmqIOGF2=)4|mS}-TyuJ zf6l$Oq#uhhxVoW9ABk6*%| zHvK22+0CCM<)XK0Iz8-c6!}Y-{-;_~sYVgC5kai39KoIuOy`UCIM74Qi=b0P)J;x^ zo7ir0S6s3?N9a2Rt#^)pEgnlkCCQALH9N|=o0x0EW{1z*T1Myf`fuSr?lwm8ytpZ~ zTe2GLfid<<0WZTc6>fh!MyH5hTF!>ac4^Tjw|96^wh&KHKvz#4Y=vg8{jgeNXnwYt|L)9z|xWpIYin zyB}q+3jmVAQSqy$pRLf{hg_+zXoZ#|+Rt6U_RP zELKHtyWXFAtn%mJ_f+LO;FnhU&cuMajb*=(;t1aeZL)gDpJbp>kkjs(J3?D83Ju&A zU1;Wh(}gB(t3EcEElyfR#^FfPav3BtoBFgi?%UoLrm$CzEUx$l4?FOFB9%cGcK|%ARgWm3zp{Mwk9vM zgS`CNkyy}`UjS9=Y%Ev|JX~0NE)}M=&OH4Wq_)qXSDoO+4LAbCHXOb8JsvX>5Ao&& FUjZui11|so delta 1112 zcmZuvTTBx{6y2qbSVNHds04&`ikjF&qf1I~jg?5^BchmK^v6fzhbD>=6QO{F8d2Hq zx^z3Ue)&xC`6FoKD?VHB(b_R!(!|892_zUl#1F0hv3R##G!o}y=FXWj=bn3Kx`y() zhVuF=EVJ5GTGHd4Y_fNdWtP(X?AG2Mt+x!GoJ%m0FilHbi^};`u2tpQqD#&+v#d%k zbT48vB-UN*If#+ZAn8oJNZ=dsgujq`iqSm-b3e!QgFNA%-8bQP^5qO_R%bBvHolP* z3XYN~dAM08@C4H#0&PcY`k-BddZJV`(Sa#UE$2FM+uydgvA z7YVI2(|;105>QDZt&M1%h1@mFHDj&QsjV-db9-FZaUXXRql;PcmSjUvuQetnzBA}{ zFf3DKbG2Y}n7D#V*mklhxNrdoocfOd=?IouPh-?U&IhZia~8@?3!_1LzdLJ!ZWExG zIiiNL3=MhIeTUd0#DF^t^auD4|>8Bs7ycmE+u>yStd&T`^Qv^apG-!3UxKK$VJ?D|C|r75EjpH9U}1 z?0{98n559lQ&_c$T~<;Lr?5397FAM@rm$KQd#$9(Fz9(F6MYH0N6i%iUl(!}hY`bq zHS$>*EBzX_?=rjiF-#{wC#*wU4loS-R~P`rsv|x&(+g32UBs7{>GfQNcyMdPH!IU?aI!=r$kN{&i1;ko17IbO vMSNDkPvp+tcICE}=01f%+Q>oAo58!QkOIgCIMn|)9)1!Xz%}#3H8Xw#149FP diff --git a/zapple2.po b/zapple2.po index 06399bcecf5195390871ceba962ad0c8c38f0b6a..8da45ab9afe4b09f10dafb683f8dedd6d0fc0ab7 100644 GIT binary patch delta 1210 zcmZuvZ)jUp6o0SDU6xpC;#^uCuGtgNd2%6f|0&@Uh*=r_~6`k z?(hE2Ilpu6l_WuugiBvKJ?+~$?pMzH;=S$f7M#-sClA&F<^XeQ1t&Vz;*nI=nGA27 z@J-SOT&T-c-}@wO$b|}%+s+c4A*><`W2$gU6~p5V2?!mC ziDwD>L@_r?12H^G!wJ;Yu}pl+gxwvp)`e+iB!DQ#@DzO`fgb0l=obmJ^KdQ8ev|RT zwuE0|CyLNgv0_w>@iyTC5k`qI9x(Q|vTe!WESVE75}dD-2TO-%%zkU(^cQAAevaq7 z?%)`~Z_=QG_V5xtsGxh=Aw~RuQqVC4bvb2%C+UX@+Sl8VvCEcmV}@Ost_xv@V$joF zaRb*G2JTZ|euejP?juJn-A__?5(QwEp(N_zf2S`c(L?(hs$av#NRXMzX4SXipc)oV z|1)%>X(>cVtk^ zKc>!?t|{Uv_Hwif?7G#DzPfzF~W!)eLh$XvXCAzbu#DJdJiw1jw<~3ah-g zQtfVi8?M?zsw>4}fcyH|{ke#%mS5sHc*yVpv>47s_*x!3{Xj0#Qp@*!27cj4F5;=> zEl!vh>{HwM{ydZbvIYKdH_|yBjI~oV(>b@K@lRr|SS29H6FRB*VfBM%e(S5}B`*_;56*q( z{O<3b^E>C>XjF_w#f8s=R$&Xr{mQwXxkorw5T*+P57q?M3?^g?0y@~#I;pd+L~#AE zdy3xYK;4d7?4HbyI8fpB&1r%a!YYb5u8Uz^Jfe#e+3hhj#`8LTM?rV!o2CkI`Tpb$8~7J4e_ZvbA2GW=0%{ii{)ll{nhLN9e^k>fKjOv)>i`pe^AS z`EU_hDprhT<7kKY9udcganx%(+Rip7d}qnL_yNHuYvetpeKY2ewQ%{TXZ#+H=Uh(T zIKeMbpNh8glXSO=?z$6F9RHsbbV^0t!W#rn(Gx1_AE?XdwPjqNVV_Lbgs>-M=;`*D zfolu{2lVG&7L^w|V@puevAWo#VsF;m^B`p+1shK0-j z9s7^!LIQ1dOcFDi|0706ROFGa5b+|hhH%`z5Mx79{}*KS@w4Rp)tx^)q^u5oNbotU z1ALMOla2NcBvGJ!m)+O}#s5_H-6Yz@59A1r=spj}uFIh1UKMT$uWtk*vl|(+v?qmR z&$xc6bWN4Q@cT-Yj=-<1N)y@3DfAf6-=snsNy9KPGqLhz1!e|WtN}Wc>`**7BnI{1 zh`2)!?hyy|rQEVmG@J6H$)eeuPbW7qulAaF>+F86c9zD{sK<2+9ktPH8ZAWnb$q|Z zc5Bc^SYvxrizUqsSf7n48avg%25jtJXfH}ad*a_B}Z9Cs~^T&Sx1Y{fo