From 519f7f2c036e5f0b294f93e2a0fa39a533846850 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 11 Feb 2014 18:58:19 -0800 Subject: [PATCH] PDP8: Revised fix for Binary loader can't read multiple section tapes (#74) to make reading all sections optional based on the -A switch (from Dave Gesswein) --- PDP8/pdp8_sys.c | 16 +++++++++------- doc/pdp8_doc.doc | Bin 94720 -> 94720 bytes 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/PDP8/pdp8_sys.c b/PDP8/pdp8_sys.c index ea69857f..3c0c9d95 100644 --- a/PDP8/pdp8_sys.c +++ b/PDP8/pdp8_sys.c @@ -197,11 +197,11 @@ for (;;) { csum = origin = field = newf = 0; /* init */ do { /* skip leader */ if ((hi = sim_bin_getc (fi, &newf)) == EOF) - if (sections_read != 0) { - printf ("%d sections sucessfully read\n\r", sections_read); - return SCPE_OK; - } else - return SCPE_FMT; + if (sections_read != 0) { + printf ("%d sections sucessfully read\n\r", sections_read); + return SCPE_OK; + } else + return SCPE_FMT; } while ((hi == 0) || (hi >= 0200)); for (;;) { /* data blocks */ if ((lo = sim_bin_getc (fi, &newf)) == EOF) /* low char */ @@ -213,9 +213,11 @@ for (;;) { if (hi == 0200) { /* end of tape? */ if ((csum - wd) & 07777) { /* valid csum? */ if (sections_read != 0) - printf ("%d sections sucessfully read\n\r", sections_read); + printf ("%d sections sucessfully read\n\r", sections_read); return SCPE_CSUM; - } + } + if (!(sim_switches & SWMASK ('A'))) /* Load all sections? */ + return SCPE_OK; sections_read++; break; } diff --git a/doc/pdp8_doc.doc b/doc/pdp8_doc.doc index 4b131a2ac06a7f9e043fac76008fb48157f63a45..d0c635a13e61fc0137687cdb3e396dd4a4326752 100644 GIT binary patch delta 8135 zcmcK9d0Z4%w!raQ&EgjKM2!lTsJJf(Zm7s2ps0wbxS`NMBdrZ6AS#eFE(u8{QDen4 zZZVljG-DF&$VB4AahGv4ZZV6RsJQP-5>1Q_@%;|aGdkn@eBM8=`Fy*oyQ**By7!z@ zRZZaqkHQNcPIr@U{T;R3mAc<(yQ+LNsC=%eRM`Th>Zzn@Nz=xi7>!W--dy#*G@Qli zpngh?F=j3tW^Ym5P)o0>Js$Cpwem~d1}txXSgU$hDcAceeU&=rsgywr^;{cS4x*iB zS-#J*2g|Rk+kKDy@_4<0!Dpekmr_49ty+`*$?&<3 z%(diz2Y5!;mQj?)+(3@s*Hk$SzDB2-&6ur+p4+tzC12E-WUAxm*EPbD)U{_1zkrg~ zwNqNy^@z+YJ#=Wao|>7JZqCtj%rh*yEz_K0&6ujsw%TlZc24FDUAClI^i*qBHfvdC ztId+7CugQu^bS4d^zG5Hn?5wPa*xW-Cue5ln5`MvdipF|j&+93qGwx@bF7)XlRd+d zY)ze8x$oO%-JWVQPt|iWE5A}V%h$Q~%*^;#gWdEoe0j#K^d!DDGxgv5NJlLxRsBq| z=rgjc89A1eCp(j7PSG=H?6HGPG3S^$V4E#-!fZKCIW(J@Bg-}0tSP$9LaSN2HAhc3 z&()L7v$8FEa+)Q1diJbz-IA4+nU$?GYVzg!tc=-a`A)sEO};);Pq(CJX3Z^G*sfhd ziT3g~&24)W!JCL$juZWr8c5C#8K_i55P43(&O)nTI*Lzl9WR6^^#DGh>>s97 z7;JDLX0THG!%35d5$u3S7=;^~YUg+ksijEwCTWb5vHxr@ZNet!V9#!@K|0Ssz0N?% zV10LH_%qHj*26Fy3$Pre*n{)< z9gRA&ABG?id02+eZ~}MX(}}}E7FMBxW8hJ8(%Doq%AJ#p^3vLNt-exTvUNL7p(e8& zf@Ca#%=$*;GP|>}8fEx93YcZ75{;^7xM}2><=db#xnD+D5y{+-#A-p zhVxhm9coU8Jnb5Vx3W_bCTUm#36~G?XMBSigiH{ozz$a^on&3Y={|N4MLW@pNa~F= zNK_SK9^S_eoP!%t))A8en5B0N=NEO2EhmrI>4_U$J(?u32#L!Tkl5UbUAT&Wq5^G+ z*FNZr1W5cAU@$Qpj$BAQFT!GM!Xey2L*lzHromGJ{ttaB1E+k)k*eX54#}MTfo*?= zB*YOM#eLKvF`j`xBvGQV7LqVW@f8|S>H8xaYjFf75=j!O75btdiXjQ+#HaW=u;l0u zx+{2?D_3Xa6mkcR$V7ikz!GeOWami?AVVcf$6zex;4N&%claGW$Y9Chp=e4bH$yli zt0!X$=3zCq1Q|!S-7v~`EPirewy^Dc{1a`c0#Xg)kOQd-E3pc@@g0ui5n2T+r6Un$ z6hSJ-2JFTjT*Gyks3LA?g%Bi#JbjXq*d|ryMYt+Yn@~z;*uN`JG3$?@s6Znjl_(GS z_#EfaDqN{p6kr4P;{YNestVOSmhdIZCvfK=dFCkr;_I*svPgCn|LYnXgXPVU}5`!$?WuYy`Jt$_#=LVNog-`{AF; zOkop_V$xI!eVS6Eu)@mG<1^HoM)=}7Qb$gwh~mMm|Ia_8u&BB5!`V9aDc?pYRi9~W zfDVvporq!_!eO`%t(xYREWHqcTohvqPD4VVE7>R?co#^PPsT3n#uZ3%tI0HiRv3u!$i%C74`1K}enCr$Kwpf24NLF|q(B_P z4cwek-J!>?n523%rg}V!{uqT=*indekm_;>9TTgnOdLz8Gz;KMrD=~GNaa}rsXj-L zO!bi}v;=?AWusxIFiyIPWsjW7sOvc_RNregtC;WHe@4b(`XGGH)L zu>i&R8_qzZ)U}3`zDQUgCGd5;fxlqCPidr+2O2;u6EQE+CT(}Z zhH$~Jy&NHdDh4mRc&HLEn`o2xeSEa23~3lQETX?v5T92O0AWJU;H3jIWG))x?&Z za5f|L4#}O3y_Tf~OXaT;fk$HeF3E$qNfxPqY}L68Os3Indd(3yM*jzqWu zWDDzm#m|u7sFTO32CYyvGR6sKf9`E}Qnt}9^Upi#rFykwV7gs+70 zNPGwh=iRu5ri67rNO+GzInJU!VeSg|&a7W4B$hCouy=+36xN#%_DwMYu5_5pdWF;l zqvN$?u0(XrN8Z|rUAPQa#{9l<2Yx?_D^EnHKj zcj{`{CM~fvrGd7zuBj~Faoo z9#(E0<&I76l;jRYt`_AgO|FOJGDOb%a;BA&oSavrq)SPa?2}-ZIFkvM(Ue2sE4#GP z0v)eU)jDXIrHfl>$)=iR%vR&N&pvW^`)J=gy83A0rOn%Db=)VOZpk;aXUsctUxtBP-(hdB zy*BYI?MKnR{0#C7@@RiJ?H~8&Oh)_OeTi_6{wnQ9(Y~3s^YAI{e@Xjcw0#5zY5xN4 z*Pp>PLRI_89kgxs6)m`qz*747E}jpfO$^5(r4ao;vGNed8J#nzfV-6o8O*^N z{1IWCVuxW4>}W=K`oLl1)Q{A3ju>O9(38=XnGC=XjD%FT3;A(gTY8qOviv6uq)CYsJ=x)6j=L}L_UF&1%{fL+*!k$Jq2P1ua9XnKRE zo4A7?aTojYm7_;zEkScHWl=+OEbgMk+g~P14q>$yx1QL79q6SqxR~TaPND!Su?|ku zYQtF_kr;+7grc_8W^BY}EbXAw+equkcwt&+#;!Awa)Xt7uy$dfu?p{DH{>_G z-=TG7g1XTOJb+twUZVgX!HKW%4df@dkI~qVe~4fpBJnXk#|l#T9ke9X+W8YHZ?jU2 zpa2FOJMa%g_U6biA1~n|ZXvf1XDqD7ySPEF-odbb{BDHe{%pgj0Za_Oz~68Yw=sSo zm(Dmr-kr1a0}_odNs%>Sr3h6vkn3qRwzapVhv5rNT&L&zi=LBn{Znqwh~P=7M> z4Ii|}RM@ZxZ(<9!BQ}wCa2YGV>)Ek5}+IZX_|pXq-$fL=XmJn1zHxtyD$< z?a>1%$i-T$N9{B^1wRBJ9!c0|qkcm!%$uQ|ou_U{$l&ya#aM>F;{fi>q_*Km76F5M z_zkVI`7ojojU`xyby$z%_+HkjG#ju7`*0Jt(JYtILTDgQA#jzU&a*ipOr{iFhO7Lz z%FJXcNfM;YNR{D?=H;jLps0BJX)R0+i@(;^{!$Bqr6t2f9?EI0Pfr2>a{3gb{TXg- z!wHv!QTMvMrTA}5<$H3eK?SaSXgog()(SNx=V>7ijXznJPrKeTHK^P~3g$cF zgS8axcInPwEmdpny@Wu~@BPvpB z-?u~8lh5!n7%JxSz1X{ZwaWEpSND?t6U(sDTO~{Bwk)OVZlw(qwA-GgdV*H&X%sGe xMZQu~4$nBPtWkOO2juAF14a3zr{lE6jXe(r%0Hh=v!}7Iw!d`lbgjtqe*iP$oyGtF delta 7623 zcma*s30#!b-oWv5h5;2*QS)jpNPwcC2DsstfFQ28Z@7U=A|R5uAZY{ky5z18HkM0f zSItZr9d$yxN|qa@Mb^EkXt?ICDej^7_Xp&pUj+^E@-pGiT0o&j0++d4`Nj zt{InHZDv!$O1TxxNi$nO|{*Fij)$`>BjG7 zPb0~+QGa1ncZup5&{ioEA8g829{-=MFXzR#S84|ztld$m6khk?^EHemm#;-{J#*Wy=iB#|8)~W;*rsW}u_;Z11B05|Uw0o< z$9}ew~pj&)KJ49yH0aADH`5L(3c=s)m+y*@q33D&TSl`YZJZ%mGSOKy`Sb z2|A-c7Bo@nBYcc(?8Qnh^#tzYISpUs4W-(k5$%(RkFhXFsijzjPlJ?2RSj0kx4BZC z;L}2>`Yn|TZlzRTJV3A3N*xMODvWl?PM8X6S&7&J=?6*ed%O*;`(o z4qJpNzf2{CL?DsgSn*2yZo1Y8=i$ z+WtO@5a7opVGp~h8l$q zcZ;q<+sV;!m<=1Qp&~sW0*Qh_@T9lvBNEA&2w!@;0rr&j{6)6q>GcqdfJDNFa7IHB z`^7|rGb)Oe{byTUZP-qRQK8yY$jzcnG?-LM!o~w3knrh^KA4GYT!9;*ALX zd89&BXrAUA>jN1eX_$_6uwy6AKnBi3L^F6~08K|azQje;VL(MA4WB~>*kKgnJVF_4 zGT;Vd2xhdg=NEW6gNMFyR%QkVS7Hy&Kr=c+AcnvP?jM_g?3@=7+dyIeu8}SQd zRR50sjO<+8f{b!kM!6drBNA~PjQo8!jl$d|e{PsKj=hJ!;}|46JV#x!gJg+Lh(IDN z$iOB@_Bev_WDdz9Z$L81KqMjw%ORQNb8Nw3T!VY)Uw4u_nWq67Vmxcnm-8+bR;_~c}7d!enWbX3`(aw&_N zcR9h)nFzoS$cHJ4p2k#6!xz|!Z*dT};n{_A5QjO~iCwsk8!&Zc@Sr8eU=B9n9Ez3k zvn|-Dx69A|eO{2ZNH&%4olLp%JyMpGahr4B=|&@?Z4afgumwA?8~gAtoI$^yL?pJO zd^8=^i%#pq6pj0^_9KYk)?cYgsEXGR+@HCo6+5fZb0E1IK7(jY9LFWxz#Tk-$6$I2 zkr+2bskw-WAp&3?$`FD#8loAZ&>hP#Ww=r+FlB^NKf-?`5g2Qsm1C89C5~ATTab;b zxILQ1#TdF5XK)iSV;Q$_d5adu6NJZe^%#!b$b~VU3S&?LJqeYl)Hd8h>;%3O@1V%Y z%no%>zQjdHkGsFr>qYEG(d%9C0VE2( zhD5?WB+%)JSOp0HJ9gqn+(o$o_WT2XmEXz@Ab%hTJunH2u^HdsGR#DhKP0N6kpzjZ z_wYa1iCy>($MG2MM3_XMFD5~va1A69PYkl>+p04;mP|%N37bDnMkhGMlc21Rh_V13 z%61r1Fdv`d5H7+@;5J4SB#`4V2NKX*u?;`t25#at0=zcDAOY_-l&8%x)JYoXt1!d% z+kfPi&72^^;wQ+^a76+Vu@o{SKEq}l#$~8sETIvEt{9C>ti`t|!~?v_Fbcr{8BUmr zEUXw_R-u=dGcxA(;wxOl6Fh|x4WULn_H@GL}P< zSq}E#JS4F_hBLWMBf-5WOLAT$xG;>tTu9Q(#xZ<{-yun`m^SBOoVI<%qG9)+7Y%Yk zg(LBfPFf0h91PmLdzQu?sl}dYiQ+mf#8|rZU{8aPu{l z^ogp|7??=HQM636upmt%y`dilVI)?gW;%u8AP(U?dcDKi5`AXSHTZHS;eiK~FgA&MQL?Z>20L#eAxdkGIiM^Q_lJk5+0AxoA8h@NyKvO$9YKDJi$D| z=6yKe45O3mFC~Bn zvJUgq(XM1rHPM>wsq2iA8+*BxmOEFuSCm^cxigYG68BJ9nU^kzWoaWT3Yo%X(v<(d#Q&1n8W1`}1>L>1SEa7E#)ox9Q{(NvY{ zh4rP=2XgK(CJ3rGXcW^W$$TB@=+GpBA>C^6)AM8Ar~G@AFTXjgg*W9FQGP}+GZW<> zqWq(jzl`$lQGNx=_Qnv(pG^5TC_jzzr%?Vv%6CwHVQKlJ8|i(PwtTh=zHU!hD8ds2 z)1<8t(UElnW>fw`oW^%{r!7(oKTcqE|`T~Gtz=!y%tiNAGcwS(387>97QJNF7{ zRQ4ULhpb(*srU|@LIJ!7bBBi>=!MI;jk|b?szX@3paViN9!Yo)3vix`zlKj(e|(N} zqsZ6zh-v-P(FA@5tuhxI@CE9{bL)&Kbi)nYhZobMA99h0j)_d+sLae&1I2J9ZhuAr z?&1+-W_k^w=!6r5-E6uV#G}6w*V|d7FM9jN}fK%YNVtq>$(8_%$gmbEqvBR0dUDV4x_Y=IYJ!x#N980nY^`Ejd1_TnG7j63MhIE_Vk z5WR_SaU5?3(__Je#}#(2Bfhy(Z{to2t_=Py`H3Ej@Bus-h(3r!7i6{O7aQEi9|&#B zF+73%Iy1T*%S|kT6{8D8wz?#qxfoH3s~vBU+U(HA>d(K~Po1u&0eGC)cq$r`e%&c$*36Xh%u zn6S_q9WW88Sd&5@A?mjqGcosxM2lI0#GBK;n)s8eUY@NB;!~uMRt0=-#Ji}t*b_uq_fv<4@XK(?}x|bNF zDl!wig2lAD+&=}45x7C4-9gn!q#b0Y(zwV*KBm(s%dignFd<#irq$9y&v3kG zq3c$(n79%%%HuNRp|P^v2*rPcN?yy7f@E9rkYg`GT{5(~)qyaEJT!mKedpHXQF@Gj z9a0=QQ-$);7g9huH9#fvgH*Dzt_{`Q^b5zeQ2my!Qf;Z$%4BwRaW%WSn9TfFu$Fad zxDIZc8+<3(^!quC+GAkF4bN}`3ImelBJyN>`^5uc@zsolr??z}3 zU8Nj1+No*^|9ebU<5eQxQNy||Qukf%>ia=w?P?+b?u^wn9CbVEy1Lq^)F~;+;}ex< z$rrJN3$k{L(taUH3ny3Ptx%||-dWv>4(gKq6Gi*wzlAQmO(m6VrM9w_8oM~QN9kUb y4c2M$Wm;R^2I@oAr22A-T#jr5(;epq>Lu0Psy354|!-+rI%