Z33TBUFFCOM`nZ33TBUFFDOC"tZ33TBUFFMKE6Z33TBUFFZZ08apRCPX CIMRCPX OBJ8RCPX ZZ0  Z3ENV0!~6w;;R( Not Z33+$* (~2 y Oo Z33TBUFF loader V1.0 Copyright (c) 1987 Cameron W. Cotrill Modifications by James W. Penny, Sept. 1989 $:]/*ܧR * ?N#FC*  ^#Vz( V`iR8#n}(&Q>2M"* ^#Vz(%V`iR8#n}(&Q>2N["* ^#V{($`iR8#n}(&Q>2O["* ^#Vz($`iR8#n}(&Q>2P["`i[R"R+"[* B^#V!"*"*"*"*"*"#~#fo"*"*"C*"*"* "*"*"*"*"*!"!*&"&* "~#fo".*<"<*G"G[!*Kx(T]6 [ z[![s#r: N!M~### $ 8:M(R :N(l :O( :P( * Qc* " ~#fo6###>wMinimal System Installed. Do not use LDR. $Room set aside for RCP. $Room set aside for IOP. $Room set aside for FCP. $Room set aside for NDR. $ZCPR33 Temporary Buffers Package RSX. Z33TBUFF installs a buffer for the RCP, IOP, FCP, and NDR segments which are listed in the current environment as lying below ZCPR33, and protects these and ZCPR33 itself. The command RCPX will remove the buffer, allowing you to load a new ENV and dynamicallly resize the system. When removing the buffers, the current environment is changed so that any segments lying below ZCPR33 are marked as having size zero. This means that the sequence RCPX;Z33TBUFF will automatically produce a minimal Z33 type system if all the segments lie below the CCP. Use LDR to load the RCP once Z33TRCP has created the buffer. $Not installed! $Can't load! Other RSX's present! $;Z33TRCP V1.0ͪ * "!:Oͪ \*"! :(w#w#w###:( #w#w#w###:( #w#w#w###:(#w#w#w* #[s#r7!6###>w* "#~#foRկ2!"<0*"0>2)*:(7 Z33TBUFF is an attempt to make the ZCPR33 environment more dynamic. Typical usage is LDR SYS.ENV;Z33TBUFF;LDR SYS.RCP,SYS.FCP. Z33TBUFF makes a buffer large enough to hold the following ZCPR segments: the RCP, the IOP, the FCP, and the NDR, provided the current environment shows that these lie below the CCP. It the writes a RSX header immediately below the buffer. This protects the buffer and the header from being over-written by a warm boot. This means that you can have any mix of sizes of the above four segments that you want. Further, you can change them before any command. This should allow almost as much flexibility as a ZCPR3.4 system, with RSX's still permitted. Of course, there is still a price to be paid. You still have to hand create your Z-system. The current version of Z33TBUFF zeroes out the pointers in the environment to those segments which were held in the buffer when the buffer is removed using the RCPX command. This means that to have a minimal system, all you have to do is issue RCPX;Z33TBUFF. When the machine comes back, you will have a system sans any of the segments RCP, IOP, FCP, NDR which lay in the buffer. This gives you a Z-system with only the static buffers and the header to eat up TPA. I estimate the loss of memory at about 1K. The header requires 0C0h = 192 bytes. This program is derived from Z33TRCP. which was similar, but set aside space only for the RCP. Further, Z33TRCP made no use of the environment data, so you had to re-compile and keep a new version for every change of RCP size. This program does use some code of Bruce Morgen's (the safety header), and some code of Cameron Cotrill's. Mr. Cotrill made his code freely redistriutable to the end user provided no profit was made in selling it. Further he graciously allowed use of his code in other projects, provided 1) his copyright was preserved and 2) that the same provisions about distribution of code be made. Accordingly, I release my portions of the code to the public domain. You may use my portions in whatever manner you like. I do request that if you alter it, that you keep my name and address with it so that if a problem is caused for someone that originates in my code I can try to correct the code. However, before you try to sell this code (not that I think it is salable), you MUST first obtain Mr. Cotrill's permission. Note: Mr Cotrill codes in capital letters while I code in mixed case. One last caution: if you use aliases a lot it is easy to get in a situation where no space has been set aside for an FCP, yet an FCP is needed in expansion of an alias. This typically happens because you forgot to load a ENV file right before running the alias. You will find that the system may be very confused if you later try to load an ENV file in an attempt to rectify matters. In fact, you will usually have to reboot. Moral: 1) use ALIASES to change systems, 2) DO NOT USE ALIASES (other than to reestablish a system) when running the minimal system; in particular do not run aliases with IF's in them from the minimal system. My system STARTUP looks like: LDR system sys.env Z33TBUFF LDR system z33.fcp,z33,rcp,sys.ndr (I don't use the IOP) time .... I have aliases normal RCPX;LDR system sys.env;Z33TBUFF;LDR z33.fcp,z33.rcp,sys.ndr trap RCPX;LDR system sys.env;Z33TBUFF;LDR z33.fcp,trap,rcp,sys.ndr tiny RCPX;Z33TBUFF and make RCPX;LDR system sys,env;z33TBUFF;LDR z33.fcp,make.rcp;IF NULL $1;;ELSE make $1;FI . Finally, since I do not use an IOP, I have not tested the code with an IOP present. The code currently just zeros out the memory where the segments are to lie. This may not be sufficient with the IOP. I may have to ensure that a skeletal IOP is loaded. If someone who uses IOPS finds this to be the case, please get in touch with me and I will fix the code. Since I am no longer on PCP, I touch in with various systems much less frequently. If you leave a message at the Drexel Hill North Star, or at Jay sage's board, I will eventually get it. If you have access to BitNet or ARPAnet, I get mail as jpenny@ukma.uky.edu. Otherwise, you can reach me at (606) 255-6782. Or Smail James Penny, 421 Spring Street, Lexington KY 40508.  Z3BASE.LIB PROTECT Z33TBUFF.Z80 SYSENV.LIB PROTECT Z33TBUFF.Z80 Z33TBUFF.Z80 SLR80 Z33TBUFF/RF # SLRNK /A:100,Z33TBUFF,SYSLIBS/S,Z33TBUFF/N,/E vZ33BUFF.Z80$  #ya6%̨B*Te9&t4b.EC)r4$e6 @B:Ѹ)k0̢i? RID6r\]2ǚt2A%3,@2 #4RЁ JULcU s3HmkQ҂h2Mi6jB Ĉ  X:`IYh[s:wM]ozei8N"JDR$I1r/へ$iHSѕOՕ n =F1U$ m~G)1}d1 ƕePPFM%4OPa4oTudsdmTE G#$d8EgYrA fwLA/%9TP%oTXk&]NE5Ss~W.}ԅ*_j`!vƙ4 4lcu 9dF1Ɖ}wkcelAd}GAs`9.I-qyp )DD JEd!>F!lUARD$I+Z6nfv[zUhZc8,JK&0G0l"j†)0TDs5+ZǟleVL,x;S 冞kB6#I{FiUQϳHi?ԩ5Lh(n*HmdX}저 \!9؞O|6 ,BGQ0~ȚgF)޸!iQԟmN- m֝EB =C0cSb݂$a[iyGӅ2VWFQ# jpA DC<8Dsʞ/hCTe wͽgά`j&l>ִ(j(HM˧ EE8ĈpW0E`Cq x4yX<0rɚaG,4VMx~BbR"&NO0Gޫ@!$F9B$TȊ,9NA Q@E&3=}i͂EؾdK0>(6paBnnA8.LGHU& t%XFz lAH@ k3+5CR) o(V_PoyvVDT70ة MU0V#\6DJRi0^ q}ZN\˂!5$$\D؉ {{9yޔ n4G&`0&PAm@(SHx]EKQE"CF3*%U5<2_(20F*]g(1h\BpVU%jDCk3p YwA3̣eQ6a(Gn1FuPKֱlIU Nfr  ֌UiPmC" ;::8: Uq "ۦ~} 0:TQX,%{ Vv''ۨ &jdj_FiX0}X$Š֕d!&T;($^CR `IGU,72:Y@p01q̖ E`xr#©!-!nkfvjy@S8!p=YPH<$) L%~H sBRЬhAֵ(,BnV;(V#U p${z7 .Ye zWB*F4J}۽U$mt-fv wx`Mtj3BrKqAN*vG+ :M8<6eDdX'esX2RFprCi'"t:|!lX<­#8R.QN6XB':19DWפG*PRP1֊kÂQcqer MAE F A{+s#X0=!RD(!U; nQn1x{1rɐ UqŞ'0a'Lp%Eq0EuI!򲝦 _y6rx׫95BX{)b~sK^7$n#3'OJ(=*?J87,UGqI1~t|r D=\ @09f0@FUhab&`s0@jzV,o0IVFCJhbyV3fc E330rES>Q}'S27CAsě9 ĸTRyK5Yes fTUGUuM~psYu/6`XI39?SRҏn&&&|lB  PQQpSPBܭ q%А%%DCqISR p A6!nS@Efo A(b/g`Y0 Qn;k>;WKڼ51?^z&"ymB?PtwNjJV]vPn0.<'+6pTP$03HPARqN!X @CrJuOsr38\f>(Kb5EU,0Eftc5CkQX:hvU] h* h R'Qf /LN0]AFb) 9I:6(,IŷU?"dQ"6,1 \"H$a…¬ '<3<579òi?Mj CSbNaF24ploq @b`#D""*WBoK q'3T-@eh n=Q3w0`!QAp ȀyI'_VU&܏@0Ȣh,("lQΣ5|QD^xYٶ,\[p LņchR~ƃk+t;N|1D(T@Oj~kr&;M%`ѡA2pG>5ŨY:`%5)pT=]7+/]TmUx'RlLS4&CJ;]!qFV>[f^f䊽Bbl',dCT\qˀp 6IضF<{-NdؘbF~!v:cWhwk..l@'تg֙!)Mc-'h>`'讌ȮgI`11/p''0Pd0P_$j"etĆg0(.?q`Q !( C,0?>T+H6݀j8ِA>AǰS C LKڥMٺ#\e1!e[=9d@͊oSĢ$0+0f- 0*V߅ze,0k1U f8?oO(2F0uF̯ϥΜ/NE0XBSm(O bllE-ؾ |CqZ+"0O-N'x'ȰeN/;`',@2Ix&!7A%O iXmzA^DPG3"l,X4]G{`X' KٟndG1`d&MֆDL7ٝ,A8?*,UWED.dG=@qN,6bb_ƨPb;Nn>- ?ٝm yq_u !j"c(S~c{O?>K(XqӐŒT æX WO1LJb-301InJ`KQ}0=n|(0%)@+-Hi=XmoKh`==l?Sj:O 0o"=`h3Jllܢn?ƍ?da !ndr4'z`u*iPrk/-+N34v`?@;iE]zbg冸Dz@czE35+ggVhRT;j`Nd5_#>M^C0HNpEH&lkeIA3)+=?"XPNSڨKֿsRx7 !>$E)EhSH%HNz0z'ar~k,OZ`c_Հ/s?Fp<)NO:v,f,CuQ1F9FDEqL.0x$@KI]r0au.ҋUBhL3)sxLє_kJДE~M1/T?fNdp6OɕjRl/8]ߍR0x0 Acں; @@ 9Qgc]n@Wc;^[ n?TkU61Jћ99Lmk3ٝAT*Q[-m:ջ+RR+M 6u-o6r¡6);MxdnDI<޻_*haKrT?]~K5_:W!6Dp c!;Xmuڮ}k{I\Zp(ri^`=rPK1xqns`N\;̒R'4TkIis}GkEXkJl7:Pp2}o0r2ڰ;6Ͳ*~LC?֣E1vnp(޿QW+}ruDp(޿QW.E=<޿QD Xknl޻vweDp(޻wvA}NņDp(޴/I<޼%Dp(޼?I<޼XkJl+`D}ץDp(޼I<޼uDp(޼I<޼|TDvec*[5ckv{H}nw{%EU<46d/QOD0k}I<޹ft<1Dp(޹fZ޽}VՆMx}E${A|4M=O^HN2&I綶~i{/k.AS&64`.T@,^İ[1?x-| {0:{<pDOf,QqTf:`RLBOTP ʊ髍B$D?];eDBuAzىk+{LN%` ki)0b+ ,i, Y^1>?E, %]>}TC-=?~vXJX蚯@2Iu#޿QL{K =qƦ>Xu,ucsWRW^2ֻٚp ;!ͯȼ{1OKR_ᾥv} (޿ \.01~gP10Cg0AUϳ@5~BΌ( (޻ X(>NOY}0 90${ʠP U.8 (޻H\ǿi~gd`3*d% ¸ (޻H X(sI+yQ@:lEhL`E,Ӳ^JMafI5 'KD?(P^TyXl ) FT^T<8E_b[NnСaOext2`VNq# ~M<~XkY{zeS ƻ%_[ %] ;CM6JIPLG~s1 0\tN&Y*'>:.F~G3HΐENz:}Ch'`07:C2̈́5`7@D&XaS!b'1zl)D.4"~P2')׻W2&F~P3Wj?.^$IQQ'rpFOvy XH #P) U3aka9"%@$0#As*I&T^9 x:CstQC>1O /Z7"b~M<(# ?PPɋ>!?;vmKj>"HB|/A3ŵ,? /(*Bs'ZS4 [02ɋ|o# Soqe22Q,ɋW9S'QRXqXaB S.vf?ɋT3(mE.1_Հ.]5z  2`VY^wYx@!": q ҴeP!7@O5'4Mm"ٿ":v LyHd'QΔ>ؙRX6R66@wҹLq}zsIrY-A0xrҷ5Ϲ"":eiG&s0H2pi!څa,i6v "sʱBXA\_Ƞ.򊋮5 HƟY<Et$fΐ jV@0 8?S 8; $WM+nCR+eW@ hf#A (obssSq u/+~`Wұ!4؋nM6 ҝNk+3SPxw '/,P|/]ֱesX7`T?PSZD6)MC3'1iEC,W,.`'펈^.dtlĢ}izgVq  ˠT% M܄C. KM".O i>XGE/m+:4X'_]s 6Uyq6wգ,R@yc:pIQV3T $ C[Bj2V^VrCZYZsEztQ:OBcC<?tFKg%[b#AH4KO4m/gQi+ 4^'\$~G $:IBX [ɷc~-=WkǕž$WjN'wA`IgS:t~7r PArC[4~3!m!}2W!`Em6OvnG6zMϿbLtCѶ6Sg=X!nDs>l*ȣSn eȟ4sg?lxr#O!16?6:?܄C#;Be(ZF&A\df2TsmSϛhGisj./A##Ym10{C=00of'\Β+it/GڟΆhO]4 DNc/V w+`Au\L!\rMx%Alrmw #3䷲[z}H %_~N:}gZ1e2ƕQۡBĹhe(єfH=o=ݒԍa6?(}őa.@e#/4ǹ:쌸Ř[h2zypx`p936"n40Yp1ˏ3rAFLϗHc0Gs.aGtZ*PV3;2#Y0UVA۶ r;Rd"lNj2$1`y,<u_ȬSݝʌcBuB _eZ.{Mpab77H\Fje7zzu]vehף\T!ΘS?2Q6V+/N\dcHrPu]veqی/+m \ݢⲶ'%_e)^ԁr3;vC?;ՐEC"J̷U:Xn[冼<2?RRlS0FQo" )u2 [ !eZ>xS˚h`ܓr>g -Ll IT< lGoriH~Xkm]sl|R[ %_[1I{˗ALѪgw{aDX`:98C1:Y]eѝVI"VD锃cuqsLWWj5' @@ YQWaUICWn-/&GE`CVy_eȝr 1n܁3[[.iE:=rP.O,?FCVV' :[.`>M?[d(k ΔtU|mW6c=8 Uӱ\@v&''Cp ^Γ>bj= Kz9ucQ^Y[@-sWz>A  Z3ENVs1:]/(# ,4Na{:]NaH RCPX V1.0 Copyright (C) 1987 Cameron W. Cotrill Removes Z33TRCP temporary RCP buffer from memory. Syntax: RCPX N - N option supresses error report if Z33TRCP not present $Z33TRCP*>C ##^#V#R ## ~#fo(45( ?(#(=*]* |(" ~#fo6###>w   CRz{R#DM![!*!: !O07 Z3ENVs1:]/(# ,4Na{:]NaH RCPX V1.0 Copyright (C) 1987 Cameron W. Cotrill Removes Z33TRCP temporary RCP buffer from memory. Syntax: RCPX N - N option supresses error report if Z33TRCP not present $Z33TRCP*>C ##^#V#R ## ~#fo(45( ?(#(=*]* |(" ~#fo6###>w    CRz{R#DM![!*!: !O07vRCPX.Z80#  #ya6%"@ A So7CF"NA: 4 qpo:&d@D0 $e89 $H,hJF𻆬^+*дFcX켆_ p *VH|*,\8K10Y9-!wuj{E s&hw6e9` )}Yحwa b8ᖚXRL,@4 q݅<fxcJ/H$KD)bxf(+[F7$Am5Řʗ;4KM7GpC5%laI;i٭6|dsyt[FkkC4|Hdly{dh|u.'(u(^6B3o"\˜Ӻ\ .w'^#>][$xcwS_`~là$H.MRJ4P~7h3b_D [!7%&-XtAKg-۾O4wB$7a#pR&⡣PÁ&#V/wG]|sȆ=!<8d X A y0JT,v6Nsc&Of,cHqg%uH@ChxAl mE*4eFƧoQD-~ {P&llVhA}33I@Yƛwkwyhh@DVaoSi`8F%Z4O$t#@8C#sFJ&wcuW5Pl6`2HvHP3?X}W}yg"be@z||'>x9 u?u~_vWvwcWU]En4q]Dt^q=bD_UxM`%vy_` C|%Eaa8?L$KK}pLbVi`E` BDg,q{^-bҞ2kb_53e1$1IAQ  jG. |4i}6[Ȩ0~6@veK9êdhR6=gOߌa~/R-p6}FU48448"!䕇=`'0lXgB ɕv'#[\ضv]]w(ŒCB'=MMa]XaxVM_puIdH_q@O@HSW]p SNY I0;5V%x٠3Q<pUpH99qs頙;b_v cvN^~G۔Y& (>RoB㻉VnQ4.Px! (@dh~2&tG'aB%} U|sjփl l7s\b92%&F;2kA'OԣɇuAuc!m)N1wpg0h·! #IC(.4<9٠( A`Ru8|'uʖ= D0 uD