IMD 1.11: 1/03/2006 20:33:27 CP/M 68K 1.1 Release Disk (C) -Master-SAGE-Bootable- SF0038A SN019 3-17-83 SAGE BOOT`Booting CPM... ...cannot load 2/2 bootstrap SAGEBIOSSYSCPM SYSNANN?<0|//<?/N(gA%NN0?<A |//<?/N(fC |0)3@?A /0 /?/N(fvA G |<SFCFJf`zx 0@1@VfDB( ) o@ xv00@00J@gk3@TDTC C f` Q Q$x1AFB( ,@RJpPgUEn!!J Ba*f&J!Aaf"h ! NH `JhgJ8.<00@TDJp@gp@X@f޼n.ma"fGg:JpPfp:J@LPNuH?0P/ /?8N(LNu/ E ><Ba$_C M  Q`f,)ܩ! ƕ !J p܀BaDM .fE C *کE B@H@܀aM .f$h ( &֩$ԩBGPIHC HE,8 NSF0@4N444M C`Hr`(JfB0ЄH@M bJ@f*H@4`٪BTQC *) BQBNupNuA`A` A` NNNN0Cannot read directory Cannot read disk status Cannot load CPM.SYS Illegal file type: CPM.SYSCannot load: CPM.SYSUndefined variable in: CPM.SYSWord overflow in: CPM.SYS̀V` ̸Q v"E@ v" D, v" D$=8 v",P xbSAGEBIOSSYS`CPM SYS CPM SYSCPM SYS|SAGEUTIL68K !"#$%&SAGEUTIL68K'()*+,-.SAGEUTIL68K/SAGEUTILC 01234567SAGEUTILC 89:;<=>?SAGEUTILC @ABCDEFGSAGEUTILC KHIJKLGETVAL C MGETVAL O NUNITIO O OUNITIO S PQBDOS O RBDOS S STAS68SYMBDAT,UVWGENUTIL SUBXBIOS S YZ[\]^_`BIOS S aklnopqrBOOT S bcdefghiBOOT S jBIOS S stuvwxyzBOOT 68K mBIOS S {GENCPM SUB|RELOC 68Kf}~PIP 68KDCOPY 68K}INIT 68KED 68K^STAT 68KIDUMP 68K<AS68 68KAS68 68KAS68 68K`DDT 68KDDT1 68KDDT1 68KDDT1 68KAR68 68KaLO68 68K~NM68 68KCSENDC68 68KGSIZE68 68K=C068 68KC068 68K|C168 68KC168 68KC168 68KCP68 68K}     BIOS!P*@P!!P*@P!!nz@!HpQF'0<cABXQAb!A0<CBXQAC"0<2QA !A !A v!A !A !A(!'%g0eCv!dAC0C'40Br@Q0:HA!xA8!tA!RA!VR!ZaNABaAvCBp"QACp"QaaB8kA!l!F LNuAsBv8$28"f8!gA;0@IIIB8%gpPNu@ A3B28&f2<@I(&aaNu? A8Aj A@0;N  A0Ns  C08@fF!gCJx@f0NsF HeHeHedHe JHeHe Px?@`/ @n H0; N Ns(,2:N`r<@F`* xNuNuB8Nu!NuNuCaCNuCaTCNuA/ / / / / //Ap NN0(f /h"ONu _1@ONur pQQF'8%%sB8 O NH`Ca 1ACLNuHpCa CLNuaR0;N  a(0;N4::Bh0g @ o @m @n@sHNuX``a0;N\T^^\ :TTTdvXa0;/ "hN"_Nu8X $,t  J Z 1|Nu1|Nu0( @ nH/ "h0;N"_Nu1| NuR `  &0( @ nH/ "h0; N"_Nu XX 2>Nu1>NuHp6( h Cb ga@LNu Cb ` `/] Oa&\ _J8>g*HC2x4B8?Ht8>HHCցָ `/ h!] Oa!\ _NuRxB8X8XX0NsCAg0NsAH$xD ga2k""R!Dgaz"jNL`"Jaf` *ad`B@CJ8888B@HB48BHB88f$8f"A@J8CDBDAz HA2HANuJ8J8C`aB0 B2@@B@H@+@v HAh d|RAzczRAhH@0H@!@"xD$ gk$I"Q$ gj $LNu !D"Ha:`H`"xD gg$I"Q gf$LNu"P!Dga `C`a )Ad zH@S@`H@HAAdCAgNuCt @l0BAJ@g2<}H@HAgrHICNuS@2:`H8q8s8fB8N xV( gRg8g8PgXBA8MR8LgSAR8M:fLNsJg8%fxHgIfIs`H`Jg8%gH`Jg~xHfH`AOg`H`gR8NgR8%g 8NgFRxr`gRxt`RxvHIIIsI`6H`,S8NIAg`ApA)Rg`A/AbHz.!_1|Bh aZ _8%g0/8@?`H@aLNuNu@H?F%BA8L8Mg/A0 _R8LF 2NsB8^Nr J8^gB`H@@"h"(gaSfLNuF%8HfDB@8J8Kg/Aq _R8J0NsKJ:g0<!aIIs`eeee8H`Hq`HIsI`@?8HfVF%BA8KR8JgHS/A R8K _8If*8Hf"IB8^8sfJ8^f `Is2NsB8^Nr J8^g`H@@"h"(g axSfLNu!"H@F%aF LNuF%B8HMLIfIs!R!V! ZB8NF NuB@8M8L23xr63xt83xv:NuB@8K8J2Nu""Nu?Sg]g"Rg(Xg8]g@B@@0Ns8L8M`8d8e` 8S/AR8c _afB8^83fJ8^f `a3F 2NsB8^Nr J8^g`H@@"h"(g(f(f$azSfLNuF!*adF `F!*avF `!&!*H@F!aF LNuJ83j8`f>B@8b8cg/A1 _R8b0Ns:Pg0<"aNaa3`eee(e8```1``1``/8i8aB8i8jF8aB8ja3a `J8,gP/A2J _fxAg`hF!A/AHz!_F Bh1x* a _`NF!/AB _afa3F Nu83g8aa3aNu8i`Nu83gF8aa3Nu8j`NuF!B8`edp&aB8fF NuF!cbF NuB@8e8d28c< C483<2x2z2|NuB@8c8b2Nu"&"*Nu0NsAH瀈(x xNL`NH`4H`rABaf(B8gpfg pgpLNuH`rABaZJ8fNB8g>p g6p8 e,p e&p ep ep ep ep` 8gpLNu4N`/ApAR0g _NuH"H$i0) |$f AFHz~`>|%f AHHzr`.|&f AJHzf`|'f ALHzZ`|?fN`/ApAR0g _NuH"H$i0) |$f AFHz~`>|%f AHHzr`.|&f AJHzf`|'f ALHzZ`|?f*zOp02xHzTЊf `H?NpH>;Npvvvvvvvvvvvvvvvv........VVVVVVVV< . H P0 bTdtRljr r  < B`$    f f$$$J$R$Z$b$  v$$$$  &  < T , Lx   ., * 0 n$j$r  T> 4 8hh $%%p`0p`,p`(p`$Np`p `p `p `p ` p`at|~B?L&&pa p` p=|`=|=k&A*L&SNa NN<6x vhgNuO=G`&f/BHt4+&v(ЎQb Nu =@=k&O`>+&=x A=x L=x=&xx&xL&Nu>+&"_vxvx&7vx&<6x(F<6x Ah<6xOh/ >+&<6xCh7vx&<6x>6h<6h|g Jxg$vx`$NH&Nu*Jg :6XSfNuRn*>+&>6x=*xNu'M&NuN*k&B&NNuHzJ&f*_Nu'_&NuN&f<&f bKNN&aNu @bH>;Np ?<Np?N?NpjHjH?N@>?0NpjHH?0N@ЈP@?NpjHHЈP@?N@1NpjHH1N@^?1NpjHH?1NpjHHЉP@?NpjHH3NH@a|pjHH@?6XNa^pjHH@?6XNa@pjHH@PE?Na"pjHH@=XNpHk&>6>6xpjHH@PGNua?6xNa?Na=xN>>xN@W>NpjHW>N0>=xN'L&zjMprtaj@MAX fJ* g 4 Z?S@f`? S@fL&N'L&prtaX>@@Ax? S@fL&NpH>7Ax0U@fB_L&N'L&6h Gg*ra>6h<6h|g Jxg vx` N6hAxNuaJ_pjH>Cx2S@fL&NaJ_pb2>CxT@H`a(fJ_>L&NacJ_>L&Nad``RzNNCOPYRIGHT (C) 1982, Digital Research B9 O_JNL3RN)0< B9RNBB0<B29RANBO_JN"v`0/"/NBNu"<S80<?NB#S:S&#S>S*#iBS"p;"<S"NBJ@f29Tp NBB"9S.|"ApNB$IR yUB g !gR@`/<iB?<NZ\Bp\aj/<iB?<NZ\Bp8aR yS2"yS./)@@_?! !<N`Ns @f"<SB` @f"<Sk` @"<Sp NBpNBйS. @"|iBBp#QNuNV0| .?<NTO0| .?<NTON^NuNVH *n(n JgHop`Hlp`RR`JfB@`pNqJL0N^NuNVH*n&|gJ9Tg(|fJg` B9TJg !g`BJL8N^NuNVH0|.?< NTO<0|.?<NTO>|Aa JFgB| e|1| 0|0@|$`0|0@|$.Y?< NTOB0.?<NTO0|>.?<NTOJLN^NuNVH*n>. |f J9 fa4Jg !gHH.?<NTO`JGf0|?.?<NTO`a8JL N^NuNVH*nBG|d80 @"|S./ a.XOJ@f0 @"|S00`@RG`BG|d0H@B@H@мf @ :gRG`|f6J9ff.J9ff&9fH|m9fH||np`޾|f&9fH|m9fH||op`|g0H@B@H@мf @ :fp`.iBBga`TOJ@cp`x|f~`BGBF|d$ |f0pH"|U1`HAfp`BRF`BF|d20H@B@H@мf @Jo0H@B@H@мf @  lp`RF`pNqJL N^NuNVH*nJg !gR` !fJgR  fR`#T`:J9Rg,J9Tf R`B9R yTJgR`B9RJL N^NuNVH *n.. Sހg.g?< NTOJ9gg 9;gga9gH|Hмg @|  9;gf g(|g  g  fR`  gFdB am zn H|`H  g  fR @  g  f``R`BJL0N^NuNVH*n !gJgR` !g  g  fR` NqJL N^NuNVH *n(|fBG|hdBRG`BGJg !gz|drBF !g2  g,  g&Jg"|d0B2Ёмf @RFR`B02Ёмf @BRG  g  fR|f#U`|JL0N^NuNVH*n  np`&H`p``H |UrW hDNB@NqJL N^NuNVH*n *fp?`.aJ@f RyTH`p NqJL N^NuNVH >.*n Bx |#b B2Ё @BRD`x| b B2Ё @ RD`J9Tg<?`< ByT(M0мfB29TЁ @Jf.BCBnB.0CfJ(g0Cf (:gRC`0Cf (:f|gBW/<faXOB@`FJ9fg&.T?< NTOBW/<faXOB@` 9:ff( 9Afm 9PfoBW/<faTXOB@`.iB?<aTO9iBH|@=@.iB?<NTO<|f.T@?< NTO8LRDBE|gVJGg0Dg( fJGf80Dg( f(J.gaRB.JEfB0..?<NTO`"=|.iB?<NTO<8LRD`NRF0|:.?<NTO0| .?<NTOv| b>| f0| .?<NTO |g0`H|H.?<NTORFRC`0| .?<NTO.iB?<NTO<|gHRE8LRD|f6BEJGg0Dg( fJGf0Dg( fa<`|`Jng.a&JGg.S?< NTO`.S?< NTOJLN^NuNVHJ9ff".S?< NTO>/<faXOJ9fg&.T?< NTOBW/<faXOB@`nBG0GfJ(g0Gf (:gRG`0Gf (:f.|f 9Afm 9PfoBW/<faXOB@` .iB?<aXTO>JGfJ9fg.iB?<NTO|b.iB?<NTOJ@fDBG|b:0H@B@H@мg @ g |g0pHH.?<NTO``RG``.iB?<NTO9iBHH.?<%NTO`HJ9fg@JGc*| fBW/<faXO`.TJ?< NTO`.T@?< NTOJLN^NuNVHBDJ9ff^.T?< NTO>/<faXOJ9ffB@`.T?< NTO>/<faXO=f`BG0Gf (=g0GfJ(gRG`0Gf (=fJGc0GfJ(gJ9fgx` 9=ffJ9ffJ9ffxJDfJ0Gf (=f:0GfB(RGBF |f0pH2Ff@NRGRFJ@g`=f||dBEB02Ёмf @ :gB02Ёмf @JgRE`ʺ|cB02Ёмf @ :fxBG|dD0 @"|f0H"|U1pHAfBW0мf/aXOB@`~RG`TF`NJDfXJ9fgNJ9fgD.?<aFTO>.iB?<a4TO<JGfJFf.H9iBg> 9:ff 9:fg iB` 9:fg 9:ff yiB`x .m .oxJDf..?<NTO|g.T*?< NTO`lBE~|#b"0H@B@H@мiB @"N4ERERG`J9iBm 9iBoxJDf(.iB?<NTOJ@c.T@?< NTO`.TJ?< NTOJDg.Tb?< NTOJLN^NuNVHJ9ff".S?< NTO>/<fatXOJ9ffB@`dJ9fg&.T?< NTOBW/<faXOB@`6BG0Gf (:g0GfJ(gRG`0Gf (:f6|f 9Afm 9PfnJ9ffBW/<faZXOB@`.iB?<aTO>JGcJ9Rfx.T?< NTO0|.?<NTOf 9afm 9zfn9fH|`9fHfaf 9Nfg 9YfgB@`2 9Nfg(.iB?<NTOJ@c.T@?< NTOJLN^NuNVHJ9ff".T?< NTO>/<faXOJ9ffp`J9fg&.T?< NTOBW/<faXOp`~ 90fm 99foB@`d9fH|о| cB@`NJ9fg0 >9fH@|о|dJ9ffB0.?< NTO`B@` 3TpNqJLN^NuNV9fH|3TB09T.?<NTON^NuNVH?BEBDB9TvTB.0|.?< NTO3T0|.?<NTO3T n f.iBBgaTO>`.iB?<aTO>JGc.TJ?< NTOB@`l 9 iKfBG|d 0GB(RG`9iBHS@H.?<NTO?iBB9iN.iB?<NTO>|gO0H@B@H@мg @Jg |g0pHyTfJ| | b0FH@B@H@мg @RF`0GgB( 6iK8iLKiM0H@B@H@мg.R/<iCaXOJ@f& |g0pHyTf|`|` iK iL iM0H@B@H@мg.R/<iCa0XOJ@f$ |g0pHyTf|`|`\SiKUiLBiM0H@B@H@мg.R/<iCaXOJ@f" |g0pHyTf|`| n f .g nf .f><`.iB?<NTO>`H n f.iBBgabTO`.iB?<aPTOB09T.?<NTOBG nf .f~`~|d0GJ(fRG`0`p0|.?< NTO6iK8iLKiM`X0|.?< NTO`D0|.?< NTOSiKUiLBiM`BC`|b@0@U PN 9SiKf 9UiLf 9BiMf|JEfJDfJCg.iB?<NTO|bJ.g0|.?< NTO3TxJ9Rg T`TBG|$d&0H@B@H@мh @2HABAHAҼiB"ARG` n fB9TRB9T`z`(0|.?< NTOJ@g0|.?< NTO`JEg.UaNJDf nf.T?< NTOB09T.?< NTOTB9T0NqJLN^NuNVH? >.<. *n 89T|e&BG.h ?<NTOJ@gT0`R0H@B@H@мh0 @ 0m0H@B@H@мh0 @ 9n |h00pH6|(M Sf& Uf Bf Mf If Tf  fRC(MzCb  gJgR`  fRRE`  g.*n BFa|dv0H@B@H@мh0 @ g^0H@B@H@мh0 @  gH0H@B@H@мh0 @ $fRG.Bg?aXO>` |h00pHH.?<NTORG`|fP0H@B@H@мh0 @ g:0H@B@H@мh0 @  g$BG.h ?<NTOJ@g T|`J0H@B@H@мh0 @  f*TG|e BG.h ?<NTOJ@gT`T|JFg0NqJL N^NuNVH *nBG:9TJ9Tf|d0H@B@H@мh0 @  g0H@B@H@мh0 @ !gn |h00PH`D.?aNTO:`JJGc&0H@B@H@мh @2HABAHAҼh0"ARERG|d00H@B@H@мh0 @  g0H@B@H@мh0 @  fRE`ʺ|e$BE.h ?<NTOJ@g T```RE3T.?<?aXO:>9T`RE|e BE.h ?<NTOJ@gT`nT`d0H@B@H@мh @2HABAHAҼh0"ARERG|e BE.h ?<NTOJ@gT`H |UrW hN`T0H@B@H@мh0 @  g0H@B@H@мh0 @ !f|dF0H@B@H@мh0 @  g,0H@B@H@мh0 @  g0H@B@H@мh0 @ !fRE`|f$BE.h ?<NTOJ@g T`&` 0H@B@H@мh0 @ fT``h3TJL0N^NuNVH*nBG|b0H@B@H@мh @BRG`0|.?< NTO<B09T.?< NTO.h0?<NTOJ9TfJ9TgHBG|d0H@B@H@мh0 @BRG`.h ?<NTOJ@gTB9hByTJ9Tf.aBG|d`0H@B@H@мh @ am(0H@B@H@мh @ zn |h0pH|` |h0pH2HABAHAҼh"ARG`.g?<NTOB0.?< NTOJL N^NuNVH*n.a`BWaD`(>a8`a`a` a`aJ@f.T?< NTO`a~`|J9ff.S?< NTO>/<h0aPXOBG0H@B@H@мh0 @  g:0H@B@H@мh0 @Jg&|d 0Gf2HABAHAҼh0"AQRG`0GfB(JGg T``@`B9T`| >aJ@f*|g$BW/<fa>XO`| b@0@U PNJL N^NuNVHT.g?<NTOJ9Tg2B09T.?<NTOB09T.?< NTOB9TJ9Rg4J9Rg*|h.ga`*yTB9R>/ aXO`/< aPXOB9 Jg#U.aJ9fg .faJ9Rf .ar*@`J9TgBJ9Tg .h0a`.a*|h.Ua:#T.gaB9T`/ aNXO`JL N^Nu @>g,H @2g/??N?\HPOLNs A0LNC`W Ns$/` 4/`"/`2/0/HNCLxNu/H/Nu / o H@0B@H@NuNVJ9f2gp` >N$NqN^NuNVHB>N$J@gX>N$<f >N*z<f<`,<fB`"<fJ9f4gB@`pf4`f2JfJLN^NuNVH. axH>?<N$TOJ9f4gH>?<N$TO< mRyf6`< fByf6` <fSyf6JLN^NuNVH. < f> az09f6|f` H>abJLN^NuNVH. < f H>a`< l >^a.<@H>a JLN^NuNVH9f2B9f2JgH` >N$NqJLN^NuNVHaH>a̾<fJ9f4gB@`pf4HNqJLN^NuNVH>.|fax`"` |fa``>W?<N$TOJLN^NuNVH*nH9f3g H>a`JL N^NuNVH>.> a> aJGg > aSG`JLN^NuNVH *n>. J-gS--H|I0SEJ@g< fPG|` < lTG`RG`ھyf6d>a> a>a`JL0N^NuNVH *n=yf6Jf8gV yf8H<|Rf8H|Fd<FIJFg yf8H>aRf8SF`Bf8`~B--H|H|Alba<fJ-f>a>N*z`6< g< f> a`"`<f>/ aXO`<f:J9f5g"J-gS--H|5`H>aj` >/ afXO`ľ<fJ9f4gB@`pf4`<f>/ a2XOJ-f`<f >a`x<f>#a>aB-`Z<f2>#a>aBF-H|@d5`H>ahRF``"H"M-H|H@>aDR-`JL0N^NuNVH.$T?<"?<N$XOB9f2$f3B9f4f5Bf8> N?\>N$*@ -#h#h -йh#h#h.fVNIJL N^NuNV09WF@yWByWByWJngB@RRf<#hh#hh.fVNI>N$N^NuNV.N'.VN'9fWAN%nN^NuNV.a>aVN^NuNVH. . a.VN'Jg .VN'.W N'N&<_.WN'H` >a>aJgp`&` B@` `|gڰ|Agܰ|Cgް|RgNq`~JLN^NuNVH *n(M.WN'~RH>WN%nSGf>.N%n~RH>WN%nSGf.W,N'.Wa >a- >/ /<8N/@PO0. @>N.``|g|Ag|CgNq`JL0N^NuNV.WN'0.`J.W?<aXTO`L.W?<aFTO`:.Wa".WBga,TO` .Wa`|b@0@VJ PNN^NuNVH*n>UG| g|!fp`J|m |%n|`JGm| o0<`(0Gf2+h$0Gf2!m$B@NqJL N^NuNVH*n-g.#h#h-g#hh#hh`+yh+yhJL N^NuNVH>.yfN,` |B.-n-n -yf@.NCJ@gJGg>`BWN,J@f`B@NqJLN^NuNVBW/9fD0n/aRPONqN^NuNVH>.>/9fD0G/a,PO< yfHh d0H"yf@")Ё/a _0NqJLN^NuNVH*yfDB| ޝSFJFf rހ ހ NqJL N^NuNVH?*n >.(yfH8<g 09fLR@`B@<f yf@0(R@@b޼lb0|f:M>al dtB0"yf@")Ё&@ga@`Ra8gJ yf@1lvB9fN2,`~3fL?0|HH@B@H@йfD// nN J@ggBD`0|` RF`0NqJL8N^NuNVH>. yfHhb,0<2|`? yf@ (2IHABAHAЁ @_JLN^NuNVH>.JGc: yfHhb.0<2|`F@? yf@ (2IHABAHAЁ @_JLN^NuNVH>.0H0@"yf@"i0HF2<4|aANqJLN^NuNVH>. yfH8(:|JGfDd&JGgSG>aJ@g<`DdRE>aJ@g<``Ҽ|g>a0NqJLN^NuNVH*n H||lV yf@1nBG yfH hd5pH>WN0pRG|o`0G>N$>N0pRG|oJL N^NuNVH. 09WHhF@<9fN,Hr@@.NC#f@f>N,J@g yf@# fD yf@#fHJg yfH<(>N00SFJ@f. yfH(HR@@? yfH0(R@H@B@H@/N$\O<JngRFSF>N0pJFf>B/<1N/@POpH`yWJLN^NuNVH *n(n >.0SGJ@g`JL0N^NuNVH *n(n ~  ?HH@|gJgB@`NSGJGfJ.g> ?g HH@"yfH)HFAgB@`TTHH@|?gB@`pNqJL0N^NuNVH*n>/. / a`POg0- > / /. aPOG -p9fg>N,J@f`0NqJLN^NuNVH*n(n >/ / aPOJ@gGA-H yfH hd:~ nJgJg nHf` n` nRRSGJGf`6~ nJPgJSg n0Sf` n6` n0TTSGJGf.N<<, H|EbEf"-H|,H|Ao mF m , g>/ N+XO, 0.@>N.p`p9f/. /.aDPONqN^NuNVH*n>. ?f$9f=H>a>/ /<62N/@PO<`..NCj -? gB- B->/ /<6>N/@PO<>/9fN/9fDaPO0NqJL N^NuNVH*n(n >. gB@`pgPG|BSFJFf> / / aHPO0@>N. yf@hc yf@1Gp9f.BW/ / aPOgl, g >/ N+XO0@>N. yfH hd|SF4`H>WN0JFf`|SF0F>N$>N0JFfHNqJL0N^NuNVH*n(n >.BW/ / anPOgF, g >/ N+XOGA-H| H|"nRSFJFf0@>N.HNqJL8N^NuNVH *n(n >.BW/ / aPOg> / R/ RaPO0@>N.HNqJL0N^NuNVH*n- H|H-H|?Ht 塀NqJL N^NuNVH*n.a- H|HЁ-@n!n"n#JL N^NuNVH *n(n BW/ / a0POg*.af,H|HЁ-@n!n"n#HNqJL0N^NuNVH*nBBGB>/ /<9LN/@PO|d&m!m"m# .o-n~`n!n"n#JL N^NuNVH. H>aB yf@*hBFBD yfHhb,JFf <<0F@:0Fg yfH(HR@HހNRD` yfN JL N^NuNVH *n(yfH,H- H,HArF`>0- H|4aANqJL0N^NuNVH*n>. Jng0G>N$`` 5pH|NqJL N^NuNVH*n>. <.-Jng M2G/?N$TO _1@` M2GFJL N^NuNVH>. *yfHB0.-HH-H. HBHЁ,>/9fN/N-PONqJL N^NuNVH*nJng,-!H@-"HAA-"<-#g<`-<?- R< mBR<@mp`H-H|?Af,H- H@"yfH)HFA|f F B@`p.N6|ep`\-- GF BW/ /<4N/@PO|e0J. g ED p`">/ /<6N/@PO|ep`B@NqJL N^NuNVH *n~I J$fSGJGf yfH hcOBp"yfH)HAo0"yfH)HF- HB|ANqJL0N^NuNVH*n.a>- H@f-H|``- H@c0<``B@NqJL N^NuNVH? *n. yfH6(|Jf - g yf@ h>/ N+XOJng0>H?/ a\O=@g0.`n-#H|@ `& - fBWH?/ a\OJ@gp`?/ an\O<JFgJgB@`p8`Jgp`>JEg?SW`Bg/ a8\O>N1P<|fp`>??/ aRPOx nfV(yfN#fDfN:<SE0HйfN @BJEfBE yfH(H@n>H??aNXOxRE`#fN>- H??a0XO=@JnfnJnfR- 0.NqJL0N^NuNVH>.<. *n B.-MBE0`BWN*zN&`H>N%`>N$`H>?<N$TO`H>?<N$TO`x>N&`z>N$`l>?<N$TO`L.N'`@.N'`4N$`80< "`0ByWByWByWfN2,f=`.]aB- B-BW/ /<4N/@PO:`.]a.N6:`#fR.]Bg/ N6Z\O:`*yfR-M.]?</ N6Z\O:`l.]a|>/ /<7jN/@PO:`J.]aZBW?</ N=~\O:`,.]a/ /<6N/@PO:`.]a>/ /<8 N/@PO:`09W`9f=H|`#fN`p9f=H`yW`09W`.]a>/ /<8N/@PO:`V9fN2,>/ /9fHN3jPO`0||bf>9f>H|` .]a >?</ N=~\O:`.]a>Bg/ N=~\O:`.]a.N9`.]a.N9`0F@<yWyWyW`z.]a>Bg/ N=~\O:`\>N:`R#fNf8BWN*zN4|`F.ND`<.N-(`2.N-`p`$`|?b@0@W PNJ.g0NqJL N^NuNVH *n(mHJg H>SW` 9f=H>N2,f>|JL0N^NuNVH*nBGH`_L-H>9_LH??< N$XO+@`-H9_LgBW-H_L??< N$XO(m&l.U?/-N$\O>0+W?< N$TO.?.?<N$XO>?< N$TO. ?< N$TO f> N$>`-H>?<N$TO>`,>N$>`J@g |g2|g*|gNq0NqJL8N^NuH o<d y`_NgQG3_3_$y_r$9_PB69_m&a`Ha&<m" aapJAfV`Jg"9_~adaPJAf63_&aH$y_v$9_TSy_f$y_z$9_XgBSfNupNu>GONp``"` ````` pNuJZNuJZNuf<E4NuJb,܅$Nu"9_~a.9_<HG69_GlCRF&y_~K` aJAfrQ*9_r$E_d(9_P3_B`SCjaXJAf>&y_~6<?a4SJf$y_v(9_TSy_fNu!y_~ .9_޹_`!G"y_~"""_r"_P"_v"_T"_z"_X.(,)ܙ,|_rzB_zbc.JQ"$hfpNBR@BNupr$<JHNCLRAX Afr A"g A#g A0mpNC @JX"$Ԑ&9h(9hp o#_b cbcBJQNuaVaRaNaJaFaBa>aLRX^bz*:HRZbNuAK#3X#X yNpNNp AYNNN 9 "y)jARA$3Y)kB3YRB6#YÐ#YByY rxt$yYBC:9YgSEB2050 50 DDDQB2050 50 GZVB+JXgzXlr)klPBikEl2A7Aa<( gJ"XoB4<jˆZDDo2 )X#Yit AoI `ABSF @ Q#Zt CYHJg "HA<0`AY/aa09|Nua .yXNB&yY:9YB30|QNupNHg0<NuB@NupNHgNI@NuNJNuNKNuNMNuNLNuByXag azp NNB@NuBA6A na fJmgCZV3Zng&Hp Ae0NNp AZ`NNL CZp$IB)gB8)&;C agVG"t*SBB#;E.SF;F(RF4J*VJVB;B,BB)gV)’4<jSA;A&(&KgLSDm,D$vk"HAJAfSFBYQ;A* 3XNu0KYfNuB>O*EO,F?OGJFNu3XNu3XNu#XNuaTfaf` af aQNu3Xa0fabf&`af0a|Q29XSfaJ@Nu&yY(yY69Y 29XaJ:9X B29XځJmNupByX89X B29X؁عYYl B yXr"DJ@Nu/ajgb30g30ga fLB29XB49YB>- 09X,܇Ё'0Ђn S'00X0a*J@Nu69Y 49XB30g30f 0m0oJs0 m630 `pyY g,230 430 7 m7 29Y 3Y 7 0 70 7 aJ@NuB8YNu yX"L"0rNuHa4p NNL8xAe0(NuH0ap NNL8xAe0(Nu 30$Ae1@ B30a1m"30R!A1| $L!JNupNHgB@Nu0<Nu0Jg B0NuAZ Nu09XNu3XNuB&yY(yY:9YB30g30g aa<@B30|Q0NuAA0A  Ag Adm A|o Am Ao Nu@AY?a0aNsg/NJ _`NutB@r@fJfr `vA0 9o^AHNJL QNu insufficient memory or bad file header$ read error on program load$ bad relocation information bits$V V$ V)V.V2V6V;NON-SYSTEM FILE(S) EXIST$Enter Filename: $Enter Old Name: $Enter New Name: $File already exists$No file$No wildcard filenames$Syntax: REN Newfile=Oldfile$Confirm(Y/N)? $Enter User No: $.SUB file not found$User # range is [0-15]$Too many arguments: $ ><.,=[];|&/()+-\&()+,-./:;<=>[\]|fT  $;Pz.!<!R!Z!b!j!!"H"6!FDIRDIRSTYPERENERAUSERSUBMITV^V,,,,-CP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 error on drive $ Do you want to: Abort (A), Retry (R)$, or Continue with bad data (C)$? $ $CP/M Disk file error: $ is read-only.$ Do you want to: Change it to read/write (C), or Abort (A)? $ $ CP/M Disk $read$write$select$select$change$?????????@@@ @*@2@V@l@@@@A A(ADAvAAAC8AAAAB6BXBxBBBC8C8BC8C8C8C8C8BCCC8C8C8C8C8C8C8C8C8C8CC8C$C8C. Exception $ at user address $. Aborted. bios error: vector error: CP/M - 68k 1.1 ( K ) LYZe Yd_   ?e Yd`,  ?e Ya  e Zb e ZFcX Zp|_submitR_morecmdR_autost _usercmd _ccp_patchRcpm_bdos___LOAD_cmd_tblS_msgS_msg2S_msg3T_msg4T_msg5T*_msg6T@_msg7TJ_msg8Tb_msg9T_msg10T_msg11T_msg12T_msg13T_load_trT_first_sT_chain_sT_end_of_T_dirflagT_subpromT_sub_indT_indexT_sub_useT_userT_cur_disT_user_ptT_glb_indU_tailU_delU_scan_cm_strcmpP_decode_delim_true_ch"_fill_fcZ_user_cm_cmd_fil8_dollarD_comment_submit__cr_lf$_copy_cm_prompt_echo_cm_check_c_get_cmd _get_par*_dir_cmd _type_cm 4_ren_cmd _era_cmdh_change__transla*_execute!&_main"vstack_J_bios1$_bios2$_bios3$_bios4$_bios5$_bios6$_traphnd$T_swap$_udiv$_constat$_conbrk$_conout%n_tabout%_cookdou&_getch&Z_conin&_rawconi&_prt_lin'_newline'@_backsp'v_readlin'_copyrtVB_serialVF_bdosini)_warmboo*z_prt_err*_abrt_er+_ext_err+*_ro_err+_error,_setexc-(_set_tpa-_rdwrt-_dir_rd._dir_wr._dchksum/_dirscan/@_setaloc0p_clraloc0_chkaloc1_getaloc1P_alloc1_seldsk2,_move3j_match3_openfil4_flushit4|_close4_close_f6_alltrue62_matchit6>_search6Z_create6_delete7j_rename8 _set_att8_extsize8_setran9_fsize9L_getsize9_free_sp:_blkindx:_blknum:_setblk;_do_io;^_new_ext;_calcext<_get_rc=4_bdosrw=~_log_dskW_ro_dskW_crit_dsW__bdos?\_tmp_selCj_do_phioC_pgmldD_initexcI_initL_gblsf2_parmf_dmag_save_sug_subfcbh _subdmah0_tpa_hph_tpa_lph_tpa_hth_tpa_lth_subcomh_cmdfcbiB`a XBNf`FC Runtime V01.08, Copyright(c) 1983, Digital ResearchXXXX-0000-654321 o#v"h&IB[b#zE?/ NBNPNVB odpN^NuNV0/"/ NBzd0< Af"NB0<NBN^NuNV.izNE.iNE.iNEa:@.H`a0`"a.,`a2``|bg|cg|fgNq .qfN^NuNV.iNE.iNEa:@BnBnBy.H`t=|=|>BgBg/<?<NBn >BgBg/<?<NBn >BgBg/<?<NBn >BgBg/<?<NBn >BgBg/<(?<NBn `=|=|`.j NE.a:>/NS2XO=@Jno>/<?.NT\OH-@JmTJnoN 9Bf, 9If" 9Of 9Sf=|=|`./<j3NEXO`./<jJNEXO`$`"| g$|fg,|ogx|qg Nq nf8Jnf B@3n3lB@3f3p3r3j3h>aJyg nf,.jcNEa8|@ .yf Jylg>BgBg/<?<NBr Jyng>BgBg/<?<NBr JylfJyngB?<0NBTOB?< NBTOJyjg8.jNEa7@ .yf>BgBg/<?<NBr Jyrg>BgBg/<?<NBr Jyfg>BgBg/<(?<NBr .jNE`./<jNEXOa7H@ .yfr=|BWB?.NP\OH-@Jm>/<?.NY\O=@Jnl$./<jNEXO.kNE` .k'NE nf >NNNqN^NuNV.k9NE.kbNEa6@.H`,aP`@a`:a `4aX`.>a"`$>a#``|f|b@0@f PN .qfNqN^NuNV.kNE.kNE.kNEa6@.H`BW/<aXOyj`BW?9/<a\Oyj`.aҁyj`.a yj`.kNE.kNE9g.kNE` .lNE.l NEa5P@ .bf y3j``H |grW hN09jy .qfNqN^NuNV.l3NE.lQNE.lNEa4@.H`r>/<aXOyr`n>?9/<a~\Oyr`N.ayr`<.aցyr`*.aځyr``H |gJrW hN09ry .qf/<lNEXO` Jn f.lNE` .lNERn`v.lNE.lNE.mNE.m@NE.maNE.mNE.mNE.mNEJn f .mNE.mNE.mNEa2@ .am .nn.H|=@ .xfJn fBn.nNE0.@Hмgz @JPg& .qg0n"|gz>/<n:NEXO .qf n2.AHҼg"A0 n0(|"n3@ n0nf n0(ngp`B@NqN^NuNV n=P n0|r `=@ n0| r `=@.nZNEJn fJnf.npNE`8 nf$ nf.nNE` .nNE` .nNE.nNE.nNEa1p=@0.`"Bn`0=|=|`"=|Bn``|dgذ|egذ|ogNq nqf> n0|2.t aA2.t aA"n2 n0ngp`B@NqN^NuNV n=P n0|r`=@.nNE0.`:.nNE`D.oNE`6.oNE`(.o!NE``J@g°|gʰ|gҰ|gNq.o-NE.o7NE.ofNE.onNEa04=@0.`>=|.oNE`>=|.oNE`*=|.oNE``|ag|bgʰ|cgNq nqf n0|?2.taA"n2 n0ngp`B@NqN^NuNV n=P n0| r `=@>ZW/<oNEXO.oNE.p NE.p-NE.p5NEa/6=@0.`PBn.pRNE`X=|.phNE`D=|.p~NE`0=|.pNE``|ag|bg|cgİ|dgNq nqf< n0|2.t aA"n2 n0ngp`B@NqN^NuNV n=P n=h n0|=@ n0|@=@ n0|@=@ n=h.pNE nf.pNE` .pNE.pNE nf.pNE` .pNE.qNEJnf.q NE`*.q(NE.qDNE>/<qpNEXO.qvNEa-@.H`6 n`H n`@ n`8.qNE.NA``|dg԰|ig|og|pgNq . f n0|2.AA2.AAn"n2 n1n n0nf n0(ngp`B@NqN^NuNV.qNE=|aR=@m >?.aTTO nf`.qNEa,~@.H`&BW?<?<P?<?<*?<BgBg?<?<P?<?<@?.a `BW?<?<P?<?<*?<BgBg?<?<(?<?<@?.a `BW?<?<P?<?<*?<Bg?<?<?<(?<?<@?.a `BW?<?<P?<?<*?<Bg?<?<?<(?<?<@?.a \`R>?<?< ?<?<?<?<?<?< ?<(?<?<@?.a `>?<?< ?<?<?<?<?<?< ?<(?<?<@?.a `>?<?< ?<?<?<?<?<?< ?<P?<?<@?.a `BW?<?<P?<?<*?<Bg?<?<?<#?<?<@?.a ``VBW?<@?.a LXO`DBn`> .qg . g.?<NL*TO``|a|b@0@g PN`0.qNEa* @.H`.rNE.]NAJnmB nl:0.@H @"|00 |2.|AA2.AHҼ"A3@ `.?<NL*TO`n.r;NE.]NA n(g nPf80.@H @"|00 |2.|A2.AHҼ"A3@ `.?<NL*TO`.r[NE.rxNE.]NA0.`p>?<?<*?<?.aPO`f>?<?<?<?.aPO`J>?<?< ?<?.aPO`.Jng.?<NL*TO`|g| g|g``J.rNE0.@Hм/p _h0(|f.rNE` .rNE`.rNEa(@ .sf0.@Hм @h`L .df20.@H @"|00||@2.AHҼ"A3@`.?<NL*TO`z.rNE.]NAJnoB nl:0.@H @"|00|2.|AA2.AHҼ"A3@`.?<NL*TO`.rNE0.@Hм/p _h0(|f.rNE` .rNE`.rNE0.@Hм/p _h0(|f>.rNE0.@H @"|00 ||(2.AHҼ"A3@ `<.rNE0.@H @"|00 ||P2.AHҼ"A3@ `.sNE0.@Hм/p _h0(|f.sNE` .sNE`.s!NE0.@Hм/p _h0(|f.s5NE` .s9NE`v.s=|`6 . g.?<NL*TO``|a|b@0@h PN .am( .rn 3Jnf 3l`3n . fTN^NuNV0.@Hм @1n 0.@H @"|00|2. |A2.AHҼ"A3@0.@H @"|00|2.|A2.AHҼ"A3@0.@H @"|00|2.|AA2.AHҼ"A3@N^NuNVJn gx0.@H @"|00|2. |AA2.AHҼ"A3@0.@H @"|00 |2. |AA2.AHҼ"A3@ 0.@H @"|00 |2.|A2.AHҼ"A3@ 0.@H @"|00|2.|AA2.AHҼ"A3@0.@H @"|00|2.|A2.AHҼ"A3@0.@H @"|00|2.|AA2.AHҼ"A3@0.@Hм @1n0.@H @"|00|2.|A2.AHҼ"A3@0.@H @"|00|2.|A2.AHҼ"A3@0.@H @"|00|2.|A2.AHҼ"A3@0.@H @"|00|2.|AA2.AHҼ"A3@0.@H @"|00|2. |AA2.AHҼ"A3@`80.@H @"|00 |2. |AA2.AHҼ"A3@ Jnfp33l nfp33nNqN^NuNV0.|A@.H>/<sNEXO n f>a.=@>a20.@H @"|00 ||f .sNE|A=| n n(.H>/<tNEXO>aR.Rn`.t NEBWa`0.@H @"|00 H|=@>/<t&NEXO0.@H @"|>/<tDNEXO0.@H @"|00 |=@>/<tfNEXO0.@H @"|00|=@>/<tNEXO0.@H @"|00H|=@>/<tNEXO0.@H @"|00|=@>/<tNEXO.tNE0.@Hм @(g.tNE` .uNE0.@H @"|00H|=@p2.AA@=@>/<uNEXO.u)NE0.@H @"|00H|f.uBNE` .uFNE0.@H @"|00|=@>/<uJNEXO0.@H @"|00H|=@>/<ulNEXO0.@H @"|00H|=@>/<uNEXO.uNE0.@H @"|00||f.uNE` .uNE0.@H @"|00H|=@>/<uNEXO.uNE0.@H @"|00||f.vNE` .v NE.vNE.v*NE0.@H @"|00H|g.vCNE` .vGNE.vKNE0.@H @"|00H|g.vdNE` .vhNE.vlNENqN^NuNV0.`.vnNE`.vNE`.vNE`.vNE`.vNE`.w NE.wINE`t.wWNE.wNE`X.wNE.wNE`>.wNE.wNE`$.xNE``| b@0@h PNNqN^NuNV0.@H @"|00 H|gRBn0.@H @"|00 H|2.AHҼh"A2AfB@`p=@0.@H @"|00 |2.AHҼh"A2AfB@`pn0.@H @"|00H|2.AHҼh"A2AfB@`pn0.@H @"|00|=@0n"|h00nfB@`pn0.@H @"|00H|=@0n"|h00nfB@`pnJngRn0.|o no=|`=|Rn0.NqN^NuNV.xNEaJ@ .afB@` .bfp` . fp``N^NuNV.x:NE09,H|=@0.`.xPNE`.xeNE.xNE`.xNE.xNE`.xNE.xNE.xNE>(/<yNEXO.y)NE>*/<yMNEXO`0.y[NE`"` J@gJ|gR|gf|gz`.yqNE.yzNE.yNE.yNE.yNE.z#NE.z+NE.zDNE.zLNEa@.H`p3f309,||3,`p3f309,||3,`zp3f309,||3,ad`Rp3f3y,`: .qg.?<NL*TO`|agT|bgr|cg|dg` .qfNqN^NuNV.zcNE.zNE>(/<zNEXO.zNE>*/<zNEXO.zNEap@.H`.{NE.{5NE.YNAJng3(`^.{DNE.{gNE.Y NAJng3*`, .qg.?<NL*TO`|dg|pgt` .qfNqN^NuNV.{tNE nf.{NE`,.{NEJf.{NE.{NE`, 9мr ./<{NEXO.{NE.| NEa0@.H`.|GNE.]NA0n-H o(/</.RNePO#p33p`DBp33p`. .qg.?<NL*TO``|dgư|egn` .qfB@H#"3&NqN^NuNV.|fNE09H|g.?<AaFTO09H|g.?<Ba(TOJg ng.2?<EaTO090H|=@0.|r `=@>/<|NEXO090|=@0.|R@=@>/<|NEXO.|NE.|NEa@.H`T.?<AaTTO`X.?<Ba@TO`D nf.|NE`.2?<EaTO`.}NE.}+NE.UNA0.r `=@Jno4 n l,090|2.|AA30p3h3`.?<NL*TO`.}PNE.UNAJno4 nl,090|2.SA|A30p3h3`.?<NL*TO`6 .qg.?<NL*TO``|a|b@0@h PN .qfNqN^NuNV. H>/<}vNEXO .E f .}NE n 0r h||l,0<"n 2t i|`=@>/<}NEXO` .}NE n 0H|?@=@>/<}NEXO n 0H>W/<~NEXO n (f.~1NE` .~\NENqN^NuNV. H>/<~NEXOa=@0.`.~NE.YNA ng ng ng n g n@fp3h30.`z n P` n 0|| "n 2`l n 0||@"n 2`V n 0||`"n 2`@ n 0||"n 2`*.?<NL*TO`H |irW hN`J .E f.~NE n P`b.NE.YNAJnm4 nl, n 0|2.|AA"n 2p3h3`.?<NL*TO`.$NE.YNA0.@=@Jnm4 n@l, n 0|2.|?AA"n 2p3h3`.?<NL*TO`Vp"n Qp3h3 .E f n P`.`,.?<NL*TO``H |iJrW hNNqN^NuNVj.CNEBn.\NE.a J.g.a=@m0.NEJnf.NE` .NE./<NEXOa *@ .qgJnf.H|=@BWBg?< /?.NBn =@Jnf0=|`n-|pBtBxB|-|=|=|`./<NEXO`BW/NS2XO=@BWB?.NP\OJno>/n?.NT\OH-@Jo<.NE.NA.NE.NA=|`./< NEXO>NN`./<NEXOJngBn n`ng.0NE`j .pЮto.VNE`L g.jNE`4 .Bf .Of .Of .Tg.NE`=|JngJng.NE.a jJ.g.a|=@mL=|.NEJnf.NE` .NE./<NEXOa @ .qg .yf Jnf`.H|=@BWBg?< /?.NBr H-@Jl./<NEXO` .NE`>/NPXO=@JnoT> /n?.NY\OH-@Jl./<5NEXO` .GNE>NN` .lNE`./<NEXOBnJngbNqN^NuNV n (:f. n am n bop` nJ(fB@` `p``pNqN^NuNVBn.NE.NEa"@ .am .bn~.H|=@>BgBg/<F?<NBn >BgBg0.Y@@Hм/ ?<NBn 09FH|f.NE`=|` .qg.?<NL*TOJng.>a8.NEaX@ .yg Bn|q` .qfNqN^NuNV0.Y@=@>a8=@>a<.NE0.|=@.H>/<BgBg/<F?<NBr J@g.SNE.}NE`.NEBn09HH|Lr h=@BnBn09F|noBn09FH|no=|09HH|nm|0n06|2.|AA"N4n3@0n06|2.|A"N4n3@9Sg@ nf809JH|n=@09HH|nl09HH|n`,0.29JI|A=@Jnn09HH|n09RH|gJnfJnf ngPn0n06|2.|AA"N4n3@ yLf&0n06||"N4n3@`$0n06||"N4n3@Rn`t0.HH@J@fJn f .NE.NEBnBn> 0.@?0.W09HH|@?/?.NBr =@JngnRnRn0.|mX>/<NEXO>?./<NE\O>BgBg0.@Hм/ ?<NBr ``9Sg0Jnf0.=@`09F|n=@`09FH|n=@>09HH|29HI|?/?.NBnPO=@JngfRn nmX>/<NEXO>?./<NE\O>BgBg0.@Hм/ ?<NBr ``=|JngJRn`d09FH|n09HH|nl09HH|nRn`09H|2.|A3H09T||3T09J|2.|A3J>BgBg/<F?<NBr =@Jng.NE.NE`>aNqN^NuNV.(NE0.Y@=@BnBn09F|noBn09FH|no0.HH@J@fJnf .6NE.8NEBW?.09HH|L?/?.NBn =@JngD>?./<:NE\O>BgBg0.@Hм/ ?<NBr `d09HH|Lr hnRn` Rn`>BgBg0.@Hм/ ?<NBr .hNENqN^NuNV.NK@ .Am .Zn. . g.NK| f.HNqN^NuNVBn.NK@ .Am .Zn. . g0.HЮ @Rn` .2.HЁ @B . fNqN^NuNV.NK@| f`=| .+g .-f" .+fp`p=@.NK@ nBP .0mD .9n< n0 .HA|"n2.NK@ .0m .9o?. n00.HN^Nup `p NV OH/0BhB2.!A!n 1n 1n/NN _,_0(N^NuNVH0.". NBLxN^NuNVH0.". NCLxN^NuNVHN`ZBW/<fNSXO>/<fNSXO>/<fNSXO-|f .2. HЁ @B=|*nJgJgHHм @gR`JgBG 2HЁ @JgN5pHHм @f85pHHм @g 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>NNBWBg/ RNO\O|g.R/<aXXO` N2n!MRn` N2n!|.?.NTO>NJJL N^NuNV.Nd>/.?<NY\O. Nd>/. ?<NY\O>/<?<NY\O>NJN^NuNV. /./<NE(PONqN^NuNVH*nBn n HR J@g޾<%g.H?NL*TORn`B. n <-@R Df n R R.| <0fG n R =|<*f-M n=PT n R `8<0m2<9n,JnlBnH2. A|=@ n R `=|<.fBn n R <*f-M n=PT n R `.<0m(<9n"H2. A|=@ n R `B.<lg<LfR. n R A-HH`R.J.g <I` <JV#.?<?< // NI8 J.gp`pH`RR.J.g <I` <JV#.Bg?< // NI8 J.gp`pH`R.J.g <I` <JV#.Bg?<// NI8 J.gp`pH`R.J.g <I` <JV#.Bg?<// NI8 J.gp`pH`\-M n-PX`L-M n0|@B.T`2.H?NL*TORn``H |r W h0N.Nd=@0.nl Jnm=n0.n=@J.fZ .0f, n -f"Sn. nH?NL*TORRn0.SnJ@o..H?NL*TO`Rn0.SnJ@o. nH?NL*TOR`Rn0.SnJ@o..H?NL*TO`Rn`0.NqJL N^NuNVH /<?.?./ /. nN*@fB(n g%H| lp0`p7@`B NqJL0N^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`NPN^NuNVHBG|l0м.NKRG`JLN^NuNVH*n0-|g*.NKj-g .NcNB@H+@+@Bm m>NNNqJL N^NuNVH*n0-| |f. -<JFo >/-?NY\O>Gg mp`4-gJg-g;| `;| `Bm +mB@NqJL N^NuNVH*nSm m mH|R` ` .NLrNqJL N^NuNVH. *n Sm mH"m|R``.H?NMjTONqJL N^NuNVH*n-fp`-g m p`Jf&-f>NbN+@fm`m-g0Hм+@ f9g .NKj-g>`>/-?NT\O;@ Jm n m fm0`m p`Sm +m mH|RNqJL N^NuNVH. *n BF:-fp`&-fTJfN>NbN+@+@fm`2m>N`"J@gm@`;| H"mR`-gA+H +@ mR-gz>/-?NY\O<Bm `n-g>< g -мb" -:>/-?NY\O<+mBm `( -:>/-?NY\O<;| +mFg mp` H|NqJL N^NuNVH>N`*@fp`H|g>N`|>Nb$B@`g8f2 - l>B?.NP\O>/<f?.NY\Og>>"/</ 2/-/ NaB|g33~p`H.?<NTO|f33~p`>N`|>Nb$B@NqJL N^NuNVBW?. /.a:\ONqN^NuNVBW?. /.a"\ONqN^NuNV>?. /.a\ONqN^NuNVHNa>JGlp`>N`|0*@tJnf.f/.NeXOJ@f 0`\`.f/.NeXOJ@f0`<>/.?N^\OJ@g>Nb$3#3~p`0NqJL N^NuNVBBgNTON^NuNVH>N`*@fp`f0.`6+n `@ . ѭ`6>NQH+@ - Ю +@`p`,`J@gư|gȰ|g`Jl+| -NqJL N^NuNV>B?.a`\ONqN^NuNVH>N`*@fp`>H|gB`..?<#NTOJ@g33~p`gJ.o -.S.ggD>"/</ 2/-/ NaB|g33~p`>!/</ 2// NaB|g33~p`V+G -+@I2Gd gR` " Ҽ2ѭ`B` -.+@+m  -NqJL8N^NuNVBW?. /.a:\ONqN^NuNVBW?. /.a"\ONqN^NuNV>?. /.a\ONqN^NuNVHNa>JGlp`>N`|0*@tJn fJnf.f/.NeXOJ@f 0`\`.f/.NeXOJ@f0`<>/.?N^\OJ@g>Nb$33~p`0NqJL N^NuNVH*n :.H>N`(@fp`xgB@`lg3 3~p`Ng./ / NXPO`6f./ / a0PO` -EJo.,ggD>"/</ 2/,/ NaB|g33~p`>!/</ 2// NaB|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -ggD>"/</ 2/-/ NaB|g33~p`>!/</ 2/./ NaB|g33~p`r+n "-¼Ё&@2 мdJo SR`Jf - o+m .` RB -@Jo>!/./ /./ NaBH,ݮ ѭ   - o+m g .`Jf .`gB>"/</ 2/-/ NaB|g33~p``>!/</ 2/./ NaB|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH*n(n ..gA-H n(g.?<NTOp`> n(g&L.?<NTO n(Hf >NJ n(g Am Zn H| `H n(g*  f$ n(gHH.?<NTO  n(gHH.?<NTOp`~l ` <*E.?< NTO.HH̼l0| .?<NTOGJo JoSS`Jo R "ҼNqJL8N^NuNVH*n :.H>N`(@fp`JnB@`g3 3~p`g>// aPO`g>// aPO`f./ / aPO`z-EBJon ,-@B ,gJgD>"/</ 2/,/ NaB|g33~p` ,", S¼n@>!/</ 2/./ NaB|g33~p`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ NaB|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -gd -ggD>"/</ 2/-/ NaB|g33~p`D -"- S¼nB>!/</ 2/./ NaB|g33~p``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ -  o+m .`x>"/</ 2/./ NaB|g33~p`8R -@Jo<>"/./ /./ NaBH".g33~p` . . .ѭ - o+m Jf .`g>>"/</ 2/-/ NaB|g33~p`p@ -+@ -"- S¼n$>!/</ 2/-/ NaB`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH*n 0.(@tG -:f*HHм @g H|`H|TBG  o>|l8 .g2HHм @g H|`H"K4G@RGR` .fBRBG  o8|l2HHм @g H|`H"K4G@ RGR` + fp`4 nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH>N`*@fB@`fB@`pNqJL N^NuNVHBG|l>aRG`JLN^NuNVH 0.*@t0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.|e3 3~p`.0*@tf3 3~p` NqJL N^NuNVH? *n.. (n,.:.BJof.?<NTO+G.x.?NTOJ@g |o89~Bp d`BD 2HЁ` 0Hހ0H0Hր0@H` NqJL0N^NuNVH|BG|l f 0`RG`33~pNqJLN^NuNVH>.p2`F@HB@NqJLN^NuNVH>.ZGB0>RGJf <##By(y*Tmb80X@me(` 2Ё&@0-G7@&(;G# \`f>a*@ fB`(M*T`JL8N^NuNVH >.|?GG0>Nd*@fB` R*@(M9G.\a 9NqJL0N^NuNVH *n](yceeebf#`J(T` 2-Ёf T0(m T*`* 2,Ёf 0-l(`(#JL0N^NuNV .]-@ n0(=@> aT-@fB`.a@ .g~0. nd=n .d&-nJng n"nRRSn``< .B2.Ё-@0.H@B@H@ѮJngSS n"nSn` .NqN^NuNVH>.HμgR*Gz.N|fp`*yz߹z NqJL N^NuNVH *n(MJgR` NqJL0N^NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNVH..,. Jf#r <`Jc #rB`a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital ResearchXXXX-0000-654321JgNuStack Overflow$C runtimeCON:LST: | v rbdops H \  4 bdops 4 ~ N l K% `X,nK2 @^8t4nZ~NR~n$'0'@'P'`'p'''''P(((((P# //00//0R @2`2l22221234q2 23v34 4SAGE Computer System Utility Package - Version 1.0 C(onfigure, B(oot copy, F(ormat, Q(uit? BIOS Configuration Manager O(n line or F(ile change to BIOS? Enter BIOS file? %s not Sage Bios file Cannot open file: %-20s Ready to write changes to memory? Ready to update terminal? Configuration written to memory Ready to write changes to %s?  Error writing new BIOS information to %s BIOS changes abandoned BIOS data saved. T(erminal, R(emote, F(loppys, P(rinter, M(emory-disk, S(ystem, Q(uit? Terminal Configuration B(aud rate, P(arity, S(top-bits, D(ata-bits, O(ptions, Q(uit? Terminal options: B(reak key enters Prom Debugger is ignored Type B to change Remote channel configuration B(aud-rate, P(arity, S(top-bits, D(ata-bits, O(ptions, Q(uit? Currently using %2.5d baud rateusing DIP switch setting 9600 baud rate A( 1 9200 baud H( 600 baud B( 9600 baud I( 300 baud C( 4800 baud J( 200 baud D( 2400 baud K( 150 baud E( 2000 baud L( 110 baud F( 1800 baud M( 75 baud G( 1200 baud N( 50 baud X) use DIP to specify baudrate Q(uit Select baudrate from above? Setting baudrate using DIP switch settings Setting baudrate to %2.5d rate Curently parity is selected by DIP switchesEvenOddDisabled D(isable E(ven parity O(dd parity Q(uit Select parity option: Currently stop bit assignment is invalid1 stop bit1.5 stop bits2 stop bits assigned A( 1 stopbit B( 1.5 stopbits C( 2 stopbits Q(uit Select stop bit option: Selected 1 stopbit Selected 1.5 stopbits Selected 2 stopbits Currently using %1.1d data bits A( 5 data bits B( 6 data bits C( 7 data bits D( 8 data bits Q(uit Select data size option: Selected 5 databits Selected 6 databits Selected 7 databits Selected 8 databits I - Xon/Xoff for input is enableddisabled O - Xon/Xoff for output is enableddisabled D - Data set ready is ignoredchecked before transmitting P - Polling interval (in 1/64000 second) %1.5d Select option to change ( for none)? Polling Interval? Floppy Parameter Maintance Select floppy option (CR to quit)? Select item to change (CR to quit)? Number of sides (0, 1, 2)? Number of Cylinders (40, 80)? Number of Sectors per Track (8, 10, 16) IBM track format: YesNo Density - S(ingle or D(ouble? Retries? Ignore errors: YesNo H - Read 48 or 96 TPI: YesNo NCI 10 sectors/track: YesNo Read after write: YesNo Number of bytes per Sector: Gap 3 parameter? Data length? Step rate? Gap 3 for formatting? Data pattern for formatting? Skew for formatting? Current drive %c: setup: Only read allowed on 80 track drive %c - Z - A - Number of Sides: %3.3d K - Bytes per sector %4.4d B - Cylinders: %3.3d L - Gap 3 parameter: %4.4d C - Sectors per Track: %3.3d M - Data length: %4.4d D - IBM track format: Yes No N - Step rate: %4.4d E - Density: SglDbl O - Gap 3 for format: %4.4d F - Retries: %3.3d P - Pattern for format: %3.3d G - Ignore errors: Yes No R - Skew for format: %5.5d H - Read 48 on 96 TPI: Yes No Z - Standard options I - NCI 10 sects/trk: Yes No J - Read after write: Yes No Non standard typeSAGE double side, 80 track (1280 blocks)SAGE double side, 40 track ( 640 blocks)IBM single side, 40 track (320 blocks)IBM double side, 40 track (640 blocks)Network Consulting single side, 40 track (400 blocks)Network Consulting double side, 40 track (800 blocks)Network Consulting double side, 80 track (1600 blocks)Softech Universal Medium, single side, 35 track (280 blocks)No drive equipped Select drive (A or B, CR to quit? Printer Configuration Printer is disabled Printer is using (Remote) serial Channel Printer on parallel (Centronics) port with interupts Printer is on parallel port with scheduled polling Polling attempts befor schedule delay: %d Delay is 1/64000's second before re-polling %d Unknown printer mode Modes: A( printer on Remote Channel (set up using Remote serial channel parameters B( printer on parallel port with interupts C( printer on parallel port with scheduled polling D( printer is disabled Q(uit Select printer mode? Printing with Scheduled Polling selected P(olling attemps befor scheduled delay: %d D(elay in 1/64000's second before re-polling: %d Select P(olling, D(elay, Q(uit: Polling attempts (236 = 1 millisecond)? Delay in 1/64000's second before re-polling? Ram Disk Configuration Update to Online bios not allowed Ram disk is disabled (TPA fills available memory) TPA is %ld K (Ram disk fills remaining available memory) E(nable / D(isable ram disk, Q(uit? Enter TPA size in kilobytes ? CPM system configuration F( Disk I/O buffer size: %5d G( Number of disk I/O buffers: %4d Q(uit Enter Selection (A  - Q)? Update to Online bios not allowed Enter buffer size in bytes (it will be rounded to 512 bytes)? Enter number of I/O buffers (1-16)? %c( Drive configuration: (Ram disk) 1( Logical block size: %5d 1( Logical block size: Undefined 3( Number of directory entires: %5d 2( Directory track offset: %5d 4( Disk media: Fixed 4( Disk media: Removable Select Subgroup for drive %c: (1 - 4, Q)? Block size (1024,2048,4096,8192,16384) Track offset allways 0 for ram disk Directory offset (0 - 7) tracks ? Number of directory entries? Bootstrap Copy Utility Source file or device ? Ready to load bootstrap from volumnfile %s ? Error reading %s Enter starting track ? Enter number of directory entries? Error reading %s Cannot find file %s Text, Data, BSS areas not contiguous Code file too long Starting address not at 400 File not boot file Destination file or device ? Ready to store bootstrap on volumnin file %s ? Error writing %s Bootstrap data written successfully Error writing %s Bootstrap file created successfully Cannot open output file Illegal file or device %s Floppy Diskette Formatter Drive to be formatted (A or B) ? Drive not equipped More diskettes to format? Is diskette ready for formatting in drive %c: ? Format aborted Error writing drive status with format parameters Formatting . Error %d while formating Cylinder %d Head %d Error %d while checking Cylinder %d Head %d Error writting drive status with parameters Verification . Error while verifying Cylinder %d Head %d Format CompleteCannot open Cannot create CDOSUXcdosuxGFGDGFGGFGHGFGH  !!!!"__breakz__start___cpmrv~__basev_brk___BDOS___pnamef___tnamef___lnamef___xeoff_main_readchr@_configu@_boot4@_format8_readlinAF_bioscng F_chngter _chngrem _chngflo0_chngprt)_chngmem-6_chngsys._baudcon _parity_stopbit_databit\_xonoffr_mainflo)_descflo"_sf_setflop_whatflo(_writest'$_pollprt,(_prtcpmb0_chgcpmb1_checkna8l_genform9_verifyd?_getintA_ureadBn_uwriteBr_bdosB_biosB__mainB__errD_printfE__doprtE(___prtinI8___prtldI___prtshJV_exitJ__cleanuJ_fcloseK_fflushKj_fgetcK_fputcL*__filbufLr__flsbufMj__iob_closeN_creatO__creatP_creataO_creatbP__exitP_lseekP_tellQ__fileszQ_openS__openSL_openaS_openbS2_readT__rdbinU__ttyinX_writeY__chrout^__wrtbin[__clear^z___open^_isatty`"__chinit`Z___chini`|__chkc`__blkioaB__chvec_allocca_freecb$_mallocbN_freecN_reallocc_sbrkd_errno__errcpm___atab_strlendlmule_uldivrr_uldivel__strcmpe___cpyrtf^_tomsf_fstat_change_biosdat_ostatF_prtoutf_sysouth_termoutj_fd0outl_fd1outn_memoutp_remoutr__fdst /************************************************** * * * Sage Utility Routine * * * * Sage Utility routine supports system and * * disk parameter configuration. * * * * The boot routine and CPM disk parameters * * can be either copied from another bootdisk * * or from a file.  * * * * Disks can be formated using this routine * * * * CPM system configuration can be controlled * * * * Developement history: * * date modification * * --------- ------------------------------- * * 25-Feb-83 Release of version 1.0 * * 10-Mar-83 Add disk system reset to force * * new disk configuration * * * * * **************************************************/ /* * Include files */ #include /* * Global program definitions */ #define version 1 /* version number */ #define cr '\n' /* carraige return */ #define true 1 /* true value */ #define false  0 /* false value */ #define online 1 /* online update of configuration */ #define infile 2 /* file update of configuration */ #define disable 0 /* parity disabled */ #define enable 1 /* parity enable */ #define odd 0 /* parity odd */ #define even 1 /* parity even */ #define termchng 0 /* terminal request */ #define remchng 1 /* remote request */ #define bell 7 /* bell */ #define device 0  /* device I/O */ #define filename 1 /* filename */ #define rsdsk 13 /* BDOS reset disk system */ #define flush 48 /* BDOS flush disk system */ /* * Global variable definitions */ int fd0out; /* floppy A: updated */ int fd1out; /* floppy B: updated */ int termout; /* console updated */ int remout; /* remote channel updated */ int memout; /* ramdisk updated */ int sysout; /* system configuration updated */ int prtout; /* printer updated */ int change; /* modification flag */ struct cpmdef { unsigned fixed : 1; unsigned cpmunused : 3; unsigned fileoff : 3; unsigned dirsize : 6; unsigned blcksize : 3; }; struct flop { /* standard floppy definitions */ struct { unsigned cylinders : 8; unsigned sides : 8; } f1; struct {  unsigned gap3 : 8; unsigned sectrack : 8; } f2; struct { unsigned datalenth : 8; unsigned skew : 8; } f3; int bytessec; int motordel; struct { unsigned headload : 8; unsigned steprate : 8; } f4; struct { unsigned IBMflag : 1; unsigned NCIflag : 1; unsigned RAWflag : 1; unsigned dummy : 5; unsigned MFMflag : 8; } f5; struct { unsigned ignorerr : 8; unsigned retries : 8; } f6; struct { unsigned doublestp : 8; unsigned softerror : 8; } f7; struct { unsigned gap3for : 8; unsigned patfor : 8; } f8; struct { unsigned lasterr : 8; unsigned firsterr : 8; } f9; int dum[4]; struct cpmdef dskspc; }; struct serial {   /* serial channel definitions */ int baud; unsigned int par; }; struct biosinf { /* Bios information */ char name[4]; int biossize; int biosbuffers; int biosstart; int biosversion; struct flop flpy[2]; struct serial term; struct serial rem; int remdelay; int remdsr; long rambot; long ramtop; int ramdum; int prttimeo;  int prtpoltim; struct { unsigned prtopt : 8; unsigned prtmode : 8; } p; int timecntrl; struct { unsigned numbuf : 8; unsigned bufsize : 8; } cpmx; struct cpmdef ramspc; int dumblk[9]; } biosdata; struct flop ostat; struct flop fstat; /* * Outer level command processer */ main() { char command; printf("SAGE Computer System Utility Package "); printf("- Version 1.0 \n"); do { printf("\n C(onfigure, B(oot copy, F(ormat, Q(uit? "); command = readchr(); switch (command) { case 'c' : configur(); break; case 'b' : boot(); break; case 'f' : format(); break; }; } while (command != 'q'); } /*********************************************** * * * Configuration routines * * * ***********************************************/ /* * Main configuration routine */ configur() { char cngcntrl; /* configuration command */ int quit; /* quit command flag */ char s[100]; /* file name */ long ioret; /* I/O request return */ int accept; /* Request completed succesfully */ int update; /* Update online/infile */ int biosfd; /* Bios file number */ int wrtret; /* Write return */ printf("\nBIOS Configuration Manager"); do { printf("\n O(n line or F(ile change to BIOS? "); cngcntrl = readchr(); accept = false; quit = false; change = false; switch (cngcntrl) { case 'o' : accept = true; update = online; uread(128,&biosdata.flpy[0],0,0,4);  uread(128,&biosdata.flpy[1],0,0,5); uread(128,&biosdata.term.baud,0,0,2); uread(128,&biosdata.rem.baud,0,0,8); uread(128,&biosdata.prttimeo,0,0,6); break; case cr : case 'q' : accept = true; quit = true; break; case 'f' : printf("\nEnter BIOS file? "); readlin(s); biosfd = openb(s,2); if (biosfd > 0)  {ioret = read(biosfd,&biosdata,128);}; if ((ioret >= 0) && (biosfd > 0)) { if ((biosdata.name[0] == 'B') && (biosdata.name[1] == 'I') && (biosdata.name[2] == 'O') && (biosdata.name[3] == 'S')) { accept = true; update = infile; } else {printf("\n%s not Sage Bios file",s);}; } else printf("\nCannot open file: %-20s",s); break; }; } while (accept != true); if (quit == false) { fd0out = fd1out = false; sysout = termout = remout = memout = prtout = false; bioscng(update); if (change) { if (update == online) { printf("\nReady to write changes to memory? "); cngcntrl = readchr(); if (cngcntrl == 'y') { if (fd0out) uwrite(128,&biosdata.flpy[0],0,0,4); if (fd1out) uwrite(128,&biosdata.flpy[1],0,0,5); if (fd0out || fd1out) {bdos(flush,0l); bdos(rsdsk,0l);}; if (termout) { printf("\nReady to update terminal? "); cngcntrl = readchr(); if (cngcntrl == 'y') uwrite(128,&biosdata.term.baud,0,0,2); }; if (remout) uwrite(128,&biosdata.rem.baud,0,0,8); if (prtout) uwrite(128,&biosdata.prttimeo,0,0,6); printf("\nConfiguration written to memory"); }; } else { printf("\n\nReady to write changes to %s? ",s); cngcntrl = readchr(); if (cngcntrl == 'y') { wrtret = -1; ioret = lseek(biosfd,0l,0); if (ioret >= 0) wrtret = write(biosfd,&biosdata,128); if (wrtret < 0) {printf("\nError writing new BIOS information to %s", s); printf("\nBIOS changes abandoned");} else {printf("\nBIOS data saved.");}; }; }; }; if (update == infile) close(biosfd); }; return; } /* * Bios update control routine */ bioscng(update) int update; {  char chngreq; do { printf("\nT(erminal, R(emote, F(loppys, P(rinter,"); printf(" M(emory-disk, S(ystem, Q(uit? "); chngreq = readchr(); switch (chngreq) { case 't' : chngterm(); break; case 'r' : chngrem(); break; case 'f' : chngflop(); break; case 'p' : chngprt(); break; case 'm' : chngmem(update); break; case 's' : chngsys(update); break; }; } while (chngreq != 'q'); return; } /* * Terminal configuration routine */ chngterm() { extern int termout, change; char termreq; char brksel; printf("\nTerminal Configuration"); do { printf("\nB(aud rate, P(arity, S(top-bits, "); printf("D(ata-bits, O(ptions, Q(uit? "); termreq = readchr(); switch (termreq) { case 'b' : termout |=baudconv(&biosdata.term.baud,termchng);  break; case 'p' : termout |=parity(&biosdata.term.par, biosdata.term.baud, termchng); break; case 's' : termout |=stopbit(&biosdata.term.par); break; case 'd' : termout |=databit(&biosdata.term.par); break; case 'o' : printf("\nTerminal options:"); printf("\n B(reak key "); if (biosdata.term.par & 1)  {printf(" enters Prom Debugger");} else {printf(" is ignored");}; printf("\nType B to change "); brksel = readchr(); if (brksel == 'b') { biosdata.term.par ^= 1; termout = true; }; break; }; change |= termout; } while (termreq != 'q');  return; } /* * Remote channel configuration */ chngrem() { char remchr; printf("\nRemote channel configuration"); do { printf("\nB(aud-rate, P(arity, S(top-bits, D(ata-bits, "); printf("O(ptions, Q(uit? "); remchr = readchr(); switch (remchr) { case 'b' : remout |=baudconv(&biosdata.rem.baud,remchng); break; case 'p' : remout |=parity(&biosdata.rem.par,  biosdata.rem.baud,remchng); break; case 's' : remout |=stopbit(&biosdata.rem.par); break; case 'd' : remout |=databit(&biosdata.rem.par); break; case 'o' : remout |=xonoff(&biosdata.rem.par); break; }; change |= remout; } while (remchr != 'q'); return; } /* * Serial channel baudrate setup */ baudconv(pbaud,changtyp) int *pbaud; int changtyp; { int obaud; int obaud1; int baudsel; char baudchr; static int rate[14] = {0,19200,9600,4800,2400,2000, 1800,1200,600,300,200,150,110,75,50}; static int factor[14] = {0,2,4,8,16,19,21,32,64,128, 192,256,350,512,769}; obaud = *pbaud; obaud1 = *(pbaud+1); for ( baudsel = 0; baudsel <= 14; baudsel++) { if (factor[baudsel] == *pbaud) { printf("\nCurrently using ");  if (rate[baudsel] != 0) {printf("%2.5d baud rate",rate[baudsel]);} else { if (changtyp == termchng) {printf("using DIP switch setting");} else {printf(" 9600 baud rate");}; }; }; }; do { printf("\n A( 19200 baud H( 600 baud"); printf("\n B( 9600 baud I( 300 baud"); printf("\n C(  4800 baud J( 200 baud"); printf("\n D( 2400 baud K( 150 baud"); printf("\n E( 2000 baud L( 110 baud"); printf("\n F( 1800 baud M( 75 baud"); printf("\n G( 1200 baud N( 50 baud"); printf("\n"); if (changtyp == termchng) printf("\n X) use DIP to specify baudrate"); printf("\n Q(uit"); printf("\n\nSelect baudrate from above? "); baudchr = readchr(); if ((baudchr >= 'a') && (baudchr <= 'n')) {baudsel = baudchr - ('a'-1);}; if ((baudchr == 'x') && (changtyp == termchng)) {baudsel = 0; printf("\nSetting baudrate using DIP switch settings");}; if (rate[baudsel] != 0 && baudchr != 'q') {printf("\nSetting baudrate to %2.5d rate",rate[baudsel]);}; } while (baudchr != 'q'); *pbaud = factor[baudsel]; *(pbaud+1) = *(pbaud +1) & 0xfffc + 2; return (((obaud != *pbaud) || (obaud1 != *(pbaud+1))) ? true : false); } /* * Parity initialization routine */ parity(param,baudrate,changtyp) int *param; int baudrate; int changtyp; { int oparam; int parstat; int parsex; int parsel; oparam = *param; parstat = (*param & 0x1000) >> 12; parsex = (*param & 0x2000) >> 13; do { printf("\n\nCurently parity is "); if((baudrate == 0) && (changtyp == termchng))  {printf("selected by DIP switches");} else { if (parstat == enable) {if(parsex == even) {printf("Even");} else {printf("Odd");};} else {printf("Disabled");}; }; printf("\nD(isable\nE(ven parity\nO(dd parity\nQ(uit"); printf("\n\nSelect parity option: "); parsel = readchr(); switch (parsel) { case 'd' : parstat = disable; break; case 'e' : parstat = enable; parsex = even; break; case 'o' : parstat = enable; parsex = odd; break; } } while (parsel != 'q'); *param = (*param & 0xcfff) + (parstat << 12) + (parsex << 13); return ((oparam != *param) ? true : false); } /* * Stop-bit selection */ stopbit(param) int *param; { int oparam; int stopstat; int stopsel; oparam = *param; stopstat = (*param & 0xc000) >> 14; do { printf("\nCurrently "); switch (stopstat) { case 0 : printf("stop bit assignment is invalid"); break; case 1 : printf("1 stop bit"); break; case 2 : printf("1.5 stop bits"); break; case 3 : printf("2 stop bits"); break; }; printf(" assigned"); printf("\n A( 1 stopbit\n B( 1.5 stopbits\n C( 2 stopbits"); printf("\n Q(uit"); printf("\n\nSelect stop bit option: "); stopsel = readchr(); switch (stopsel) { case 'a' : stopstat = 1; printf("\nSelected 1 stopbit"); break; case 'b' : stopstat = 2; printf("\nSelected 1.5 stopbits"); break; case 'c' : stopstat = 3; printf("\nSelected 2 stopbits"); break; } } while (stopsel != 'q'); *param = (*param & 0x3fff) + (stopstat << 14); return ((oparam != *param) ? true : false); } /* * Data-bit selection */ databit(param) int *param; { int oparam; int datastat; int datasel; oparam = *param; datastat = (*param & 0xc00) >> 10; do { printf("\n\nCurrently using %1.1d data bits",5+datastat); printf("\n A( 5 data bits\n B( 6 data bits"); printf("\n C( 7 data bits\n D( 8 data bits"); printf("\n Q(uit"); printf("\n\n Select data size option: "); datasel = readchr(); switch (datasel) {  case 'a' : datastat = 0; printf("\n Selected 5 databits"); break; case 'b' : datastat = 1; printf("\n Selected 6 databits"); break; case 'c' : datastat = 2; printf("\n Selected 7 databits"); break; case 'd' : datastat = 3; printf("\n Selected 8 databits"); break; }; } while (datasel != 'q'); *param = (*param & 0xf3ff) + (datastat << 10); return ((oparam != *param) ? true : false); } /* * Xon & Xoff enable/disable routine */ xonoff(param) int *param; { int oparam; int oparam1; char selxon; int xonin; int xonout; int dsr; int delay; oparam = *param; oparam1 = *(param+1); xonin = (*param & 1); xonout = (*param & 2) >> 1; dsr = (*param & 4) >> 2; delay = *(param+1); do { printf("\n I - Xon/Xoff for input is "); if (xonin == 1) {printf("enabled");} else {printf("disabled");}; printf("\n O - Xon/Xoff for output is "); if (xonout == 1) {printf("enabled");} else {printf("disabled");}; printf("\n D - Data set ready is "); if (dsr == 0) {printf("ignored");} else { printf("checked before transmitting"); printf("\n P - Polling interval (in 1/64000 second) "); printf("%1.5d",delay); }; printf("\n\nSelect option to change ( for none)? "); selxon = readchr(); switch (selxon) { case 'i' : xonin ^= 1; break; case 'o' : xonout ^= 1; break; case 'd' : dsr ^= 1; break; case 'p' : printf("\n Polling Interval? "); getint(&delay); break; }; } while (selxon != cr); *param = (*param & 0xff00) + xonin + (xonout << 1) + (dsr << 2); *(param+1) = delay; return (((oparam != *param) || (oparam1 != *(param+1))) ? true : false); } /* * Floppy configuration routine */ chngflop() { int drv; int standard; int tmp, tmp1; char ch, ch1; printf("\nFloppy Parameter Maintance"); standard = true; if((drv = mainflop()) >= 0) { do { descflop(drv,standard); if (standard == true) { printf("\nSelect floppy option (CR to quit)? "); ch = readchr(); switch (ch) { case 'a' : sf(drv,64,2,80,8,0,0,512,42,255,80,229,0); break; case 'b' : sf(drv,64,2,40,8,0,0,512,42,255,80,229,0); break; case 'c' : sf(drv,64,1,40,8,1,0,512,42,255,80,229,0); break; case 'd' : sf(drv,64,2,40,8,1,0,512,42,255,80,229,0); break;  case 'e' : sf(drv,64,1,40,10,1,1,512,24,255,32,229,2); break; case 'f' : sf(drv,64,2,40,10,1,1,512,24,255,32,229,2); break; case 'g' : sf(drv,64,2,80,10,1,1,512,24,255,32,229,2); break; case 'h' : sf(drv,64,1,35,8,1,0,512,42,255,80,229,0); break; case 'i' : sf(drv,64,0); break; case 'z' : standard = false; break; default : if (ch != 'q' && ch != cr) putchar(bell); break; }; } else { printf("\nSelect item to change (CR to quit)? "); ch = readchr(); switch (ch) { case 'a' : printf("\nNumber of sides (0, 1, 2)? "); getint(&tmp); if((tmp >= 0) && (tmp < 3)) {biosdata.flpy[drv].f1.sides = tmp;} else {putchar(bell);}; break; case 'b' : printf("\nNumber of Cylinders (40, 80)? "); getint(&tmp); if ((tmp == 40) || (tmp == 80)) {biosdata.flpy[drv].f1.cylinders = tmp;} else {putchar(bell);}; break; case 'c' : printf("\nNumber of Sectors per Track"); printf(" (8, 10, 16) "); getint(&tmp); switch (tmp) { case 8 : setflop(tmp,512,42,255,drv); break; case 10 : setflop(tmp,512,24,255,drv); break; case 16 : setflop(tmp,256,10,255,drv); break;  default : if (tmp != 0) {putchar(bell);}; }; break; case 'd' : printf("IBM track format: "); if ((biosdata.flpy[drv].f5.IBMflag ^= 1) == 1) {printf("Yes");} else {printf("No");}; break; case 'e' : printf("\nDensity - S(ingle or D(ouble? "); ch1 = readchr(); if (ch1 == 's') {biosdata.flpy[drv].f5.MFMflag = 0;} else if (ch1 == 'd') {biosdata.flpy[drv].f5.MFMflag = 64;} else {putchar(bell);}; break; case 'f' : printf("Retries? "); getint(&tmp); if ((tmp > 0) && (tmp < 20)) {biosdata.flpy[drv].f6.retries = tmp;} else {putchar(bell);}; break; case 'g' : printf("\nIgnore errors: "); if((biosdata.flpy[drv].f6.ignorerr ^= 1) == 1) {printf("Yes");} else {printf("No");}; break; case 'h' : printf("\nH - Read 48 or 96 TPI: "); if((biosdata.flpy[drv].f7.doublestp ^= 1) == 1) {printf("Yes"); biosdata.flpy[drv].f1.cylinders = 40;} else {printf("No"); biosdata.flpy[drv].f1.cylinders = 80;}; break; case 'i' : printf("\nNCI 10 sectors/track: "); if((biosdata.flpy[drv].f5.NCIflag ^= 1) == 1) {printf("Yes");} else {printf("No");}; break; case 'j' : printf("\nRead after write: "); if((biosdata.flpy[drv].f5.RAWflag ^= 1) == 1) {printf("Yes");} else {printf("No");}; break; case 'k' : printf("\nNumber of bytes per Sector: "); getint(&biosdata.flpy[drv].bytessec); break; case 'l' : printf("\nGap 3 parameter? "); getint(&tmp); if (tmp > 0 && tmp < 256) {biosdata.flpy[drv].f2.gap3 = tmp;} else {if(tmp != 0) putchar(bell);}; break; case 'm' : printf("\nData length? ");  getint(&tmp); if (tmp > 0 && tmp < 256) {biosdata.flpy[drv].f2.datalenth = tmp;} else {if (tmp != 0) putchar(bell);}; break; case 'n' : printf("\nStep rate? "); getint(&tmp); if (tmp > 0 && tmp <= 32) { tmp1 = biosdata.flpy[drv].f4.steprate;  tmp = (tmp1 % 16)+(16*(16-((tmp+1) / 2))); biosdata.flpy[drv].f4.steprate = tmp;} else {if (tmp != 0) putchar(bell);}; break; case 'o' : printf("\nGap 3 for formatting? "); getint(&tmp); if (tmp > 0 && tmp < 256) {biosdata.flpy[drv].f8.gap3for = tmp;} else  {if (tmp != 0) putchar(bell);}; break; case 'p' : printf("\nData pattern for formatting? "); getint(&tmp); if (tmp > 0 && tmp < 256) {biosdata.flpy[drv].f8.patfor = tmp;} else {if (tmp != 0) putchar(bell);}; break; case 'r' : printf("\nSkew for formatting? "); getint(&tmp); if (tmp >= 0 && tmp < 256) {biosdata.flpy[drv].f3.skew = tmp;} else {putchar(bell);}; break; case 'z' : standard = true; break; default : if (ch != cr) {putchar(bell);}; break; }; if ((ch >= 'a') && (ch <= 'r')) { change = true; if (drv == 0)  {fd0out = true;} else {fd1out = true;}; }; }; } while (ch != cr); }; } /* * Set floppy sector parameters */ setflop(setsec,setbyt,setgap,setlen,drive) int setsec,setbyt,setgap,setlen, drive; { biosdata.flpy[drive].bytessec = setbyt; biosdata.flpy[drive].f2.gap3 = setgap; biosdata.flpy[drive].f3.datalenth = setlen; biosdata.flpy[drive].f2.sectrack = setsec; } /* * Set standard floppy parameters */ sf(drv,mfm,sid,cyl,sec,ibm,nci,byt,gap3,datal,gap3f,patfor,skw) int drv,mfm,sid,cyl,sec,ibm,nci,byt,gap3,datal,gap3f,patfor,skw; { if (sid != 0) { biosdata.flpy[drv].f5.MFMflag = mfm; biosdata.flpy[drv].f1.sides = sid; biosdata.flpy[drv].f1.cylinders = cyl; biosdata.flpy[drv].f2.sectrack = sec; biosdata.flpy[drv].f5.IBMflag = ibm; biosdata.flpy[drv].f5.NCIflag = nci;  biosdata.flpy[drv].bytessec = byt; biosdata.flpy[drv].f2.gap3 = gap3; biosdata.flpy[drv].f3.datalenth = datal; biosdata.flpy[drv].f8.gap3for = gap3f; biosdata.flpy[drv].f8.patfor = patfor; biosdata.flpy[drv].f3.skew = skw; } else {biosdata.flpy[drv].f1.sides = sid;}; if (drv == 0) fd0out = change = true; if (drv == 1) fd1out = change = true; return; } /* * Describe floppy parameters */ descflop(drive,stand) int drive; int stand; { int temp; char tempc; tempc = 'A' + drive; printf("\n\nCurrent drive %c: setup:\n",tempc); if (stand == true) { temp = whatflop(drive); writestd(temp); if (biosdata.flpy[drive].doublestp == 1) {printf("\nOnly read allowed on 80 track drive");}; tempc = 'A'; for (temp = 1; temp <= 9; temp++) { printf("\n%c - ",tempc); writestd(temp); tempc += 1; }; printf("\nZ - "); writestd(0); } else { temp = biosdata.flpy[drive].f1.sides; printf("\nA - Number of Sides: %3.3d",temp); printf(" K - Bytes per sector %4.4d", biosdata.flpy[drive].bytessec); temp = biosdata.flpy[drive].f1.cylinders; printf("\nB - Cylinders: %3.3d",temp); temp = biosdata.flpy[drive].f2.gap3; printf(" L - Gap 3 parameter: %4.4d",temp); temp = biosdata.flpy[drive].f2.sectrack; printf("\nC - Sectors per Track: %3.3d",temp); temp = biosdata.flpy[drive].f3.datalenth; printf(" M - Data length: %4.4d",temp); printf("\nD - IBM track format: "); if (biosdata.flpy[drive].f5.IBMflag == 1) {printf("Yes");} else {printf(" No");}; temp = biosdata.flpy[drive].f4.steprate; temp = (16-(temp / 16))*2; printf(" N - Step rate: %4.4d",temp); printf("\nE - Density: "); if (biosdata.flpy[drive].f5.MFMflag == 0) {printf("Sgl");} else {printf("Dbl");}; temp = biosdata.flpy[drive].f8.gap3for; printf(" O - Gap 3 for format: %4.4d",temp); temp = biosdata.flpy[drive].f6.retries; printf("\nF - Retries: %3.3d",temp); temp = biosdata.flpy[drive].f8.patfor; printf(" P - Pattern for format: %3.3d",temp); printf("\nG - Ignore errors: "); if (biosdata.flpy[drive].f6.ignorerr == 1) {printf("Yes");} else {printf(" No");}; temp = biosdata.flpy[drive].f3.skew; printf(" R - Skew for format: %5.5d",temp); printf("\nH - Read 48 on 96 TPI: "); if (biosdata.flpy[drive].f7.doublestp == 1) {printf("Yes");} else {printf(" No");}; printf(" Z - Standard options"); printf("\nI - NCI 10 sects/trk: "); if (biosdata.flpy[drive].f5.NCIflag == 1) {printf("Yes");} else {printf(" No");}; printf("\nJ - Read after write: "); if (biosdata.flpy[drive].f5.RAWflag == 1) {printf("Yes");} else {printf(" No");}; }; printf("\n"); return; } /* * Write floppy standards */ writestd(standard) int standard; { switch (standard) { case 0 : printf("Non standard type"); break; case 1 : printf("SAGE double side, 80 track (1280 blocks)"); break; case 2 : printf("SAGE double side, 40 track ( 640 blocks)"); break; case 3 : printf("IBM single side, 40 track (320 blocks)"); break; case 4 : printf("IBM double side, 40 track (640 blocks)"); break; case 5 : printf("Network Consulting single side, 40 track"); printf(" (400 blocks)"); break; case 6 : printf("Network Consulting double side, 40 track"); printf(" (800 blocks)"); break; case 7 : printf("Network Consulting double side, 80 track");  printf(" (1600 blocks)"); break; case 8 : printf("Softech Universal Medium, single side, "); printf("35 track (280 blocks)"); break; case 9 : printf("No drive equipped"); break; }; return; } /* * Establish floppy type if standard */ whatflop (drive) int drive; { static int side[8] = { 2, 2, 1, 2, 1, 2, 2, 1}; static int cyl[8] = {80,40,40,40,40,40,80,35}; static int sec[8] = { 8, 8, 8, 8,10,10,10, 8}; static int ibm[8] = { 0, 0, 1, 1, 1, 1, 1, 1}; static int nci[8] = { 0, 0, 0, 0, 1, 1, 1, 0}; int temp1; int stat; int flg; if (biosdata.flpy[drive].f1.sides != 0) { temp1 = 0; do { stat = (biosdata.flpy[drive].f1.sides != side[temp1]); stat |= (biosdata.flpy[drive].f1.cylinders != cyl[temp1]); stat |= (biosdata.flpy[drive].f2.sectrack != sec[temp1]); flg = biosdata.flpy[drive].f5.IBMflag; stat |= (flg != ibm[temp1]); flg = biosdata.flpy[drive].f5.NCIflag; stat |= (flg != nci[temp1]); } while ((stat) && ( ++temp1 <= 7)); if (temp1 > 7) temp1 = -1; } else {temp1 = 8;}; return (++temp1); } /* * Floppy select */ mainflop() { char ch2; while (true) { printf("\nSelect drive (A or B, CR to quit? "); ch2 = readchr(); if (ch2 == 'a') {return (0);}; if (ch2 == 'b') {return (1);}; if (ch2 == cr ) {return (-1);}; }; } /* * Printer configuration */ chngprt() { int temp; char pc; printf("Printer Configuration"); do { temp = biosdata.p.prtmode; switch (temp) { case 0 : printf("\nPrinter is disabled"); break; case 1 : printf("\nPrinter is using (Remote) serial"); printf(" Channel"); break; case 2 : printf("\nPrinter on parallel (Centronics)"); printf(" port with interupts"); break; case 3 : printf("\nPrinter is on parallel port with "); printf("scheduled polling"); printf("\n Polling attempts befor schedule "); printf("delay: %d",biosdata.prttimeo); printf("\n Delay is 1/64000's second before "); printf("re-polling %d",biosdata.prtpoltim); break; default: printf("\nUnknown printer mode"); break; }; printf("\n\nModes:"); printf("\nA( printer on Remote Channel"); printf(" (set up using Remote serial channel parameters"); printf("\nB( printer on parallel port with interupts"); printf("\nC( printer on parallel port with scheduled ");  printf("polling"); printf("\nD( printer is disabled\n"); printf("\nQ(uit\n"); printf("\nSelect printer mode? "); pc = readchr(); switch (pc) { case 'a' : change = prtout = true; biosdata.p.prtmode = 1; break; case 'b' : change = prtout = true; biosdata.p.prtmode = 2; break; case 'c' : change = prtout = true;  biosdata.p.prtmode = 3; pollprt(); break; case 'd' : change = prtout = true; biosdata.p.prtmode = 0; break; default : if (pc != 'q') {putchar(bell);}; }; } while (pc != 'q'); return; } pollprt() { char pollc; int temp2; do { printf("\n\nPrinting with Scheduled Polling selected"); printf("\n P(olling attemps befor scheduled delay:"); printf(" %d",biosdata.prttimeo); printf("\n D(elay in 1/64000's second before "); printf("re-polling: %d",biosdata.prtpoltim); printf("\n\nSelect P(olling, D(elay, Q(uit: "); pollc = readchr(); switch (pollc) { case 'p' : printf("\nPolling attempts (236 = 1 "); printf("millisecond)? "); getint(&temp2); if (temp2 != 0) {biosdata.prttimeo = temp2;}; break; case 'd' : printf("\nDelay in 1/64000's second before "); printf("re-polling? "); getint(&temp2); if (temp2 != 0) {biosdata.prtpoltim = temp2;}; break; default : if (pollc != 'q') {putchar(bell);}; }; } while (pollc != 'q'); return; } /* * Ram disk configuration routine */ chngmem(update) int update; {  long tpasize; int tpak; char cmnd; printf("\nRam Disk Configuration"); do { if (update == online) {printf("\nUpdate to Online bios not allowed"); return;}; printf("\n"); if (biosdata.rambot == 0l) {printf("\nRam disk is disabled "); printf("(TPA fills available memory)");} else {printf("\nTPA is %ld K",((biosdata.rambot-1024)/1024)); printf(" (Ram disk fills remaining available memory)");}; printf("\n\nE(nable / D(isable ram disk, Q(uit? "); cmnd = readchr(); switch (cmnd) { case 'e' : printf("\nEnter TPA size in kilobytes ?"); getint(&tpak); tpasize = tpak; if (tpasize > 30l) {biosdata.rambot = (tpasize + 1l) * 1024l; memout = change = true;}; break;  case 'd' : biosdata.rambot = 0; memout = change = true; break; default : if (cmnd != 'q') putchar(bell); break; }; } while (cmnd != 'q'); biosdata.ramdum = biosdata.ramtop = 0; return; } /* * CPM system configuration routine */ chngsys(update) int update; { int temp; char cmnd; printf("\nCPM system configuration"); do { if (biosdata.flpy[0].f1.sides != 0) prtcpmb('A',&biosdata.flpy[0].dskspc); if (biosdata.flpy[1].f1.sides != 0) prtcpmb('B',&biosdata.flpy[1].dskspc); if ((biosdata.rambot != 0l) && (update != online)) prtcpmb('E',&biosdata.ramspc); temp = biosdata.cpmx.bufsize; temp = (temp & 31) * 512; printf("\n\nF( Disk I/O buffer size: %5d",temp); temp = biosdata.cpmx.numbuf; temp = (temp & 15) + 1; printf("\nG( Number of disk I/O buffers: %4d",temp); printf("\n\nQ(uit"); printf("\n\nEnter Selection (A - Q)? "); cmnd = readchr(); switch (cmnd) { case 'a' : chgcpmb('A',&biosdata.flpy[0].dskspc); break; case 'b' : chgcpmb('B',&biosdata.flpy[1].dskspc); break; case 'e' : if (update == online) {printf("\nUpdate to Online bios not allowed");}  else {chgcpmb('E',&biosdata.ramspc);}; break; case 'f' : printf("\nEnter buffer size in bytes"); printf(" (it will be rounded to 512 bytes)? "); getint(&temp); temp = temp / 512; if ((temp > 0) && (temp < 32)) {biosdata.cpmx.bufsize = temp; change = sysout = true;} else  {putchar(bell);}; break; case 'g' : printf("\nEnter number of I/O buffers (1-16)? "); getint(&temp); if ((temp > 0) && (temp < 17)) {biosdata.cpmx.numbuf = temp - 1; change = sysout = true;} else {putchar(bell);}; break; default : if (cmnd != 'q') putchar(bell); break; }; } while (cmnd != 'q'); return; } /* * Print CPM disk configuration data */ prtcpmb(drv,config) char drv; struct cpmdef *config; { int temp, temp1, temp2; printf("\n\n%c( Drive configuration:",drv); if (drv == 'E') printf(" (Ram disk)"); if ((*config).blcksize < 5) {temp = 1024 << (*config).blcksize; printf("\n 1( Logical block size: %5d",temp);} else {printf("\n 1( Logical block size: Undefined");}; temp = 32 * (*config).dirsize; printf(" 3( Number of directory entires: %5d",temp); printf("\n 2( Directory track offset: %5d", (*config).fileoff); if ((*config).fixed == 0) {printf(" 4( Disk media: Fixed");} else {printf(" 4( Disk media: Removable");}; return; } /* * Alter CPM disk configuration data */ chgcpmb(drv,config) char drv; struct cpmdef *config; { int temp, temp1; printf("\nSelect Subgroup for drive %c: (1 - 4, Q)? ",drv); temp = readchr(); switch (temp) { case '1' : printf("\n Block size (1024,2048,4096,8192,16384)"); getint(&temp1); if ((temp1 == 1024) || (temp1 == 2048) || (temp1 == 4096) || (temp1 == 8192) || (temp1 == 16384)) change = sysout = true;  switch (temp1) { case 1024 : (*config).blcksize = 0; break; case 2048 : (*config).blcksize = 1; break; case 4096 : (*config).blcksize = 2; break; case 8192 : (*config).blcksize = 3; break; case 16384 : (*config).blcksize = 4; break; default : putchar(bell); }; break; case '2' : if (drv == 'E') {  printf("\nTrack offset allways 0 for ram disk"); (*config).fileoff = 0; } else { printf("\nDirectory offset (0 - 7) tracks ?"); getint(&temp1); if ((temp1 >= 0) && (temp1 < 8)) {(*config).fileoff = temp1; change = sysout = true;} else {putchar(bell);}; };  break; case '3' : printf("\nNumber of directory entries? "); getint(&temp1); temp1 = temp1 / 32; if ((temp1 >= 0) && (temp1 < 64)) {(*config).dirsize = temp1; change = sysout = true;} else {putchar(bell);}; break; case '4' : (*config).fixed ^= 1; change = sysout = true;  if (drv == 'E') (*config).fixed = 0; break; case 'q' : break; default : putchar(bell); break; }; return; }; /*********************************************** * * * Boot transfer routine * * * ***********************************************/ boot() { char s[100]; int typ; long ioret; int ibootfd,obootfd; char ch; int drive,i; int accept; struct { int header; /* file type */ long text; /* bytes of text */ long data; /* bytes of data */ long bss; /* bytes of bss */ long symbol; /* bytes of symbol table */ long reserved; /* reserved area */ long start; /* load address */ int reloc;  /* relocation flag */ char prog[2048]; /* program area */ int dirsize; /* number entries in directory */ int dirpos; /* directory starting track */ char dummy[508]; /* unused area */ } bootfile; printf("\n\nBootstrap Copy Utility"); do { accept = false; printf("\n\nSource file or device ? "); readlin(s); if (s[0] == '\0') return; if ( (typ = checkname(s)) >= 0) { printf("\nReady to load bootstrap from "); if (typ == device) {printf("volumn");} else {printf("file");}; printf(" %s ? ",s); ch = readchr(); if (ch == 'q') return; if (typ == device) { drive = s[0] - 'a' + 4; i = uread(drive,&bootfile.prog[0],2560,0,0); if ( i == 0) { bootfile.header = 0x601a; bootfile.text = 2048; bootfile.data = 0; bootfile.bss = 0; bootfile.symbol = 0; bootfile.start = 0x400; bootfile.reloc = 0xffff; accept = true; } else { printf("\nError reading %s",s); }; } else { ibootfd = openb(s,0); lseek(ibootfd,0l,0);  if (ibootfd > 0) { ioret = read(ibootfd,&bootfile,2076); if (ioret > 0) { printf("\nEnter starting track ? "); getint(&bootfile.dirpos); printf("\nEnter number of directory entries? "); getint(&bootfile.dirsize); accept = true; } else {printf("\nError reading %s",s);}; close(ibootfd);  } else {printf("\nCannot find file %s",s);}; }; if (accept) { accept = false; if (bootfile.header != 0x601a) {printf("\nText, Data, BSS areas not contiguous");} else if (bootfile.text + bootfile.data > 2048) {printf("\nCode file too long");} else if (bootfile.start != 0x400) {printf("\nStarting address not at 400");}  else if (bootfile.prog[0] != 'B' || bootfile.prog[1] != 'O' || bootfile.prog[2] != 'O' || bootfile.prog[3] != 'T') {printf("\nFile not boot file");} else {accept = true;}; }; }; } while (accept == false); if (accept) { do { printf("\nDestination file or device ? "); readlin(s); if (s[0] == '\0') return; if ((typ = checkname(s)) >= 0) { accept = true; printf("\nReady to store bootstrap "); if (typ == device) {printf("on volumn");} else {printf("in file");}; printf(" %s ? ",s); ch = readchr(); if (ch == 'q' || ch != 'y') return; if (typ == device) { drive = s[0] - 'a' + 4;  ioret = uwrite(drive,&bootfile.prog[0],2560,0,0); if (ioret < 0) {printf("\nError writing %s",s);} else {printf("\nBootstrap data written successfully");}; } else { obootfd = creatb(s,1); if (obootfd > 0) { ioret = write(obootfd,&bootfile,2586); if (ioret < 0) {printf("\nError writing %s",s);}  else {printf("\nBootstrap file created successfully");}; close(obootfd); } else {printf("\nCannot open output file");}; }; } else {printf("\nIllegal file or device %s",s); accept = false;}; } while (accept == false); }; return; } /* * Check file name for type */ checkname(s) char s[]; {  if (s[1] == ':') { if(s[0] < 'a' || s[0] > 'b') return (-1); if(s[2] == '\0') {return (device);} else {return (filename);}; } else {return (filename);}; } /*********************************************** * * * Floppy format routine * * * ***********************************************/ format() { int drive; int accept; char ch; accept = false; printf("\n\nFloppy Diskette Formatter"); do { printf("\n\nDrive to be formatted (A or B) ? "); ch = readchr(); if (ch >= 'a' && ch <= 'b') { drive = ch - 'a' + 4; uread(128,&ostat,0,0,drive); uread(128,&biosdata.flpy[drive-4],0,0,drive); if (ostat.f1.sides == 0) {printf("\n\nDrive not equipped");} else {accept = true;}; } else {if (ch != 'q') putchar(bell);}; while (accept) { genformat(drive); printf("\nMore diskettes to format? "); ch = readchr(); if (ch != 'y') { accept = false; ch = 'q'; }; }; } while (ch != 'q'); return; } /* * Generate format on floppy */ genformat(drive) int drive; { int drv; int c,h,s; int i,n; int gap3r, olddtr; int ferrors; int blk, skew, stemp, try, done, blktrk, temp; char ch; struct { struct { unsigned head : 8; unsigned cyl : 8; } g1; struct { unsigned bspcode : 8; unsigned sector : 8; } g2; } formdata[20]; int dumbuf[2561]; drv = drive - 4;  n = whatflop(drv); writestd(n); printf("\nIs diskette ready for formatting in drive"); ch = 'A' + drive - 4; printf(" %c: ?",ch); ch = readchr(); if (ch != 'y') {printf("\nFormat aborted"); return;}; gap3r = ostat.f2.gap3; i = ostat.f8.gap3for; ostat.f2.gap3 = i; olddtr = ostat.f3.datalenth; i = ostat.f8.patfor; ostat.f3.datalenth = i; if ((uwrite(128,&ostat,0,0,drive)) != 0)  {printf("\n\nError writing drive status with format "); printf("parameters"); return;}; printf("\nFormatting"); skew = 0; blktrk = ostat.bytessec * ostat.f2.sectrack / 512; ferrors = 0; for (c = 0; c < ostat.f1.cylinders; c++) { for (h = 0; h < ostat.f1.sides; h++) { for (s = 1; s <= ostat.f2.sectrack; s++) { formdata[s].g1.cyl = c; formdata[s].g1.head = h; if (ostat.f5.IBMflag == 1 && h == 1) { stemp = s + ostat.f3.skew; if (stemp > ostat.f2.sectrack) stemp -= ostat.f2.sectrack; } else { stemp = s - ostat.f3.skew; if (stemp <= 0) stemp += ostat.f2.sectrack; }; if (ostat.f5.NCIflag == 1) { if (c != 0 || h != 0 || stemp != 1) stemp += 8; }; formdata[s].g2.sector = stemp;  if (ostat.bytessec == 512) {formdata[s].g2.bspcode = 2;} else {formdata[s].g2.bspcode = 1;}; }; if ((c % 20) == 0 && h == 0) printf("\n"); printf("."); try = 0; done = false; do { i = uwrite(drive,&formdata[1],ostat.f2.sectrack*4, (c*256)+h,8192); if (i != 0) { ferrors += 1; if (++try >= 3) {  printf("\nError %d while formating ",i); printf("Cylinder %d Head %d",c,h); uwrite(128,&biosdata.flpy[drv],0,0,drive); return; }; } else { if (ostat.f5.IBMflag == 1) { if (h == 0) {blk = c * blktrk;} else {blk = ((ostat.f1.cylinders * c) + h) * blktrk;}; } else {blk = ((ostat.f1.sides * c) + h) *blktrk;}; i = uread(drive,&dumbuf,ostat.f2.sectrack * ostat.f2.sectrack,blk); if (i != 0) { ferrors += 1; if (try >= 3) { printf("\n\nError %d while checking ",i); printf("Cylinder %d Head %d",c,h); uwrite(128,&biosdata.flpy[drv],0,0,drive); return; }; }  else {done = true;}; }; } while (done == false); }; skew += ostat.skew; if( skew > ostat.f2.sectrack) skew -= ostat.f2.sectrack; }; ostat.f2.gap3 = gap3r; ostat.f6.retries = 1; ostat.f3.datalenth = olddtr; i = uwrite(128,&ostat,0,0,drive); if (i != 0) {printf("\n\nError writting drive status with "); printf("parameters"); return;}; verifydisk(drive); return; } /* * Verify format */ verifydisk(drive) int drive; { int blk,drv; int c,h,i; int dumbuf[2561]; printf("\nVerification"); drv = drive - 4; blk = 0; for (c = 0; c < ostat.f1.cylinders; c++) { for (h = 0; h < ostat.f1.sides; h++) { if ((c % 20) == 0 && h == 0) printf("\n"); printf("."); i = uread(drive,&dumbuf,ostat.f2.sectrack * ostat.bytessec,  blk,0); if(i != 0) { printf("\n\nError while verifying Cylinder %d Head %d", c,h); uwrite(128,&biosdata.flpy[drv],0,0,drive); return; }; blk += (ostat.f2.sectrack * ostat.bytessec) / 512; }; }; uwrite(128,&biosdata.flpy[drv],0,0,drive); printf("\n\nFormat Complete"); return; } /*********************************************** *  * * Support routines for Sage Utilitys * * * ***********************************************/ /* * Read character and force to lower case */ char readchr() { char i; i = fgetc(stdin); if ((i >= 'A') && (i <= 'Z')) i += 32; if (i != cr) do { ;} while (fgetc(stdin) != cr); return (i); } /* * Read a line of characters converted to lower case */ readlin(s) char s[]; { int i; char c; i = 0; do { c = fgetc(stdin); if ((c >= 'A') && (c <= 'Z')) c += 32; if( c != cr) {s[i++] = c;} else {s[i] = 0;}; } while (c != cr); return; } #include /****************************************** * * * Get integer value routine * * * * getint(&x) - read integer value* * into x * * * ******************************************/ int getint(pn) int *pn; { char c; int sign; while ((c = getchar()) == ' ' ); sign = 1;  if (c == '+' || c == '-') { /* sign record */ sign = (c == '+') ? 1 : -1; c = getchar(); } *pn = 0; if (c >= '0' && c <= '9') { do { *pn = 10 * *pn + c - '0'; c = getchar(); } while (c >= '0' && c <= '9'); }; *pn *= sign; return (c); } ` NV.N@| f`=| .+g .-f" .+fp`p=@.N@ nBP .0mD .9n< n0 .HA|"n2.N@ .0m .9o?. n00.HN^Nu__iob_fgetc_getint~~getint~c~pn~signL3L2L100002L4TL10001>L10002@L5L8jL7L10003L6L1   `Fpp `p NV OH/0BhB2.!A!n 1n 1n/NN _,_0(N^Nu_uread_uwritearg1arg2 arg3arg4arg5process************************************************ * * * Pascal unit read / write I/O routines * * * * The following routines allow access to the * * low level bios I/O routines equivalent to * * UCSD's unitread and unitwrite commands. The * * calling sequence for the command is as * * follows: * * * * error = uread(channel, buffer, length, * * block, flags) * * error = uwrite(channel, buffer, length, * * block, flags) * * * * int channel - same as pascal channel * * (see sage manual) * * XXXX *buffer - pointer to memory * * buffer for transfer * * int length - number of bytes to * * transfer (1-(65k-1)) * * int block - block address for * * transfer if needed * * int flags - I/O control flags * * (see Sage manual) * * int error - error return from I/O * * (see Sage manual for * * definition, 0 = ok) * * * ************************************************ * * Global equates *  .globl _uread ;Unit read routine .globl _uwrite ;Unit write routine entry * * Input argument parameter definitions * arg1: .equ 8 ;Channel arg2: .equ arg1+2 ;Buffer address arg3: .equ arg2+4 ;Transfer length arg4: .equ arg3+2 ;Block address arg5: .equ arg4+2 ;I/O flags * * Unit read routine * _uread: moveq #11,d0 ;Set read command bra process ;Set up & execute read * * Unit write routine * _uwrite: moveq #12,d0 ;Set write command * * Request I/O * process: link a6,#-16 ;Allocate space for request pkt move.l a7,a0 ;Set address of request pkt movem.l d3-d7/a3-a5,-(a7) ;Save registers move.l a6,-(a7) ;Save frame pointer move.w arg1(a6),(a0) ;Set channel clr.w 2(a0) ;Clear error clr.l d1 ;Set transfer length move.w arg3(a6),d1 move.l d1,4(a0) move.l arg2(a6),8(a0) ;Set buffer address move.w arg4(a6),12(a0) ;Set block address move.w arg5(a6),14(a0) ;Set I/O flags move.l a0,-(a7) ;Save packet pointer trap #14 ;Request I/O move.l (a7)+,a0 ;Restore packet pointer move.l (a7)+,a6 ;Restor frame pointer move.w 2(a0),d0  ;Set error condition unlk a6 rts `48NVH0.". NBLxN^NuNVH0.". NCLxN^Nu_bdos_biosarg1arg2 ************************************************ * * * BDOS & BIOS Access Routines * * * * The following routines access the CP/M's * * BDOS and BIOS routines through trap #2 * * and trap #3 respectively. The command * * sequences are the same for both commands. * * The parameters and definitions are as * * follows: * *  * return = BDOS(command, arg 1); * * return = BIOS(command, arg 1); * * * * int command - Command for low level * * routine (D0.W) * * long arg 1 - Input parameter for * * level routine (D1.L) * * long return - Data returned from low * * level routine * * * ************************************************ * * Global equates * .globl _bdos ;BDOS direct request entry .globl _bios ;BIOS direct request entry * * Input argument parameter definitions * arg1: .equ 8 ;Command arg2: .equ arg1+2 ;Input parameter * * BDOS direct entry routine * _bdos: link a6,#0 ;Allocate space for request pkt movem.l d3-d7/a3-a6,-(a7) ;Save registers move.w arg1(a6),d0 ;Set command move.l arg2(a6),d1 ;Set up parameter trap #2 ;Request I/O movem.l (a7)+,d3-d7/a3-a6 ;Restore registers unlk a6 rts * * BIOS direct entry routine * _bios: link a6,#0 ;Allocate space for request pkt movem.l d3-d7/a3-a6,-(a7) ;Save registers move.w arg1(a6),d0 ;Set command move.l arg2(a6),d1 ;Set up parameter  trap #3 ;Request I/O movem.l (a7)+,d3-d7/a3-a6 ;Restore registers unlk a6 rts weu  1Uy#G5kY}S[c=+aOQs- #??cc;CKS[9']y{{)   ; 3 3 wM%S s s   EM K  W;1q_ %3 7m)Iu[Q G  A i_ '!YY cW!)19AQYaiqopd end datatext equ set5dcglobl xdef I xref comm bss ds i eveni ~.yxzorg!orgUmask2reg dcbcomlinecidntoffsetsectionifeq eifne Eiflt ifle/ifgtifge endcMifcifncqoptpage R0ЀwR1ЀR2ЀR3ЀR4ЀR5ЀR6ЀR7ЀR8ЀR9Ѐ) R10Ѐ R11Ѐ= R12Ѐ W R13Ѐa R14Ѐ;R15ЀQD0ЀD1ЀKD2ЀD3ЀoD4ЀD5ЀD6ЀD7ЀA0ЀA1Ѐ9 A2Ѐ A3Ѐ] A4Ѐ A5Ѐ A6ЀA7ЀUSPЀSPЀCCRЀSRЀr0Ѐr1Ѐr2Ѐ#r3Ѐr4ЀGr5Ѐ r6Ѐkr7Ѐ r8Ѐr9Ѐ r10Ѐ r11Ѐ r12Ѐ r13Ѐ r14Ѐ ir15Ѐ-d0Ѐd1Ѐd2ЀCd3Ѐd4Ѐgd5Ѐd6Ѐd7Ѐa0Ѐua1Ѐ a2Ѐ a3Ѐ a4Ѐ 3 a5Ѐ a6Ѐ a7Ѐ uspЀspЀccrЀ1srЀ.bЀ.BЀq.wЀ .WЀ.lЀM.LЀpcЀ PCЀ abcd)addaddaaddi addqPinc Paddx and 7andi /asl asr bcc dbcsebeq gbze gbge {lbgt [nbhi mbbhis dbhs dble 9oblo ebls cbloscblt mbmi kbne Wfbnz !fbpljbvc ahbvs oibchg@bclr Obra`bt`bset =bsr abtstchk Aclr Bcmp cmpa Acmpi cmpm dbccTdbcs SUdblo Udbeq Wdbze Wdbra +QdbfQdbge\dbgt ^dbhi RdbhsRdble _dbls Sdblt ]dbmi[dbne Vdbnz VdbplZdbtPdbvcXdbvs Ydivs divu1eor eori K exgext ]Hjmp-NjsrCNillegal?Jlea#AlinkNPlsrGlslkmove}movea@movemHmovepmoveqpmulsmulunbcdHnegDnegx@nopNqnotFororipea;H@resetNprolurorroxlroxrrteNsrtr NwrtsNusbcdsccTshsgTscsyUsloUseqWszeWsfQsge\sgtQ^shiRsle_sls Sslt]smi)[sneVsnz_VsplZstPsvcXsvsYstopNrsubsubasubisubqQdecMQsubxqswapqH@tasJtrapN@trapvNvtstJunlkNXCP68 sageutil.C b:sageutil.I C068 b:sageutil.I b:sageutil.IC b:sageutil.ST ERA b:sageutil.I ERA b:sageutil.ST C168 b:sageutil.IC b:sageutil.S -L era b:sageutil.ic AS68 -F b: -L -U b:sageutil.S era b:sageutil.s lo68 -t500 -o sageutil.68k s.o b:sageutil.o getval.o unitio.o bdos.o clib  .text ***************************************************************** ** * ** sage cpm bios interface * ** ----------------------- * ** * ** date modification * ** --------- ------------------------------------------ * ** 03-oct-82 initialization * ** 19-Jan-83 added hard disk support * ** 12-Feb-83 Buffer configuration * ** LRU buffering scheme * ** Ram disk support * ** * ***************************************************************** * global definitions .globl _ccp ; CPM's CCP entry point .globl _init ;bios initialization routine * trap equates trap3: .equ $8c ;trap 3 entry point poll: .equ 8 ;trap 8: poll requested device keyin: .equ 9 ;trap 9: console input routine trmout: .equ 10 ;trap 10: console output routine prtout: .equ 11 ;trap 11: printer output routine remin: .equ 12 ;trap 12: remote input routine remout: .equ 13 ;trap 13: remote output routine biosl: .equ 14 ;trap 14: long bios trap command * I/O byte standard initialization fiobyte: .equ 0 ;assumed to be 0 * Word / Byte control definitions highbyt: .equ $0 ;High byte offset of word lowbyt: .equ $1 ;Low byte offset of word * Sage bios definitions dsk0def: .equ $0c ;Disk 0-A: Configuration table offset dsk0spc: .equ $1e ; CPM information offset dsk1def: .equ $2c ;Disk 1-B: Configuration table offset dsk1spc: .equ $1e ; CPM information offset dsk2def: .equ $00 ;Disk 2-C: Not configured dsk2spc: .equ $00 ; Not configured dsk3def: .equ $00 ;Disk 3-D: Not configured dsk3spc: .equ $00 ; Not configured rdskdef: .equ $58 ;Disk 4-E: Ram disk definition rdskspc: .equ $08 ; Ram disk flag spcfix: .equ 0  ; Fixed / Removable flag dskside: .equ 0 ;Number of sides on disk dskcyl: .equ 1 ;Number of cylinders on disk dsksec: .equ 2 ;Number of sectors per track dskbyt: .equ 6 ;Number of bytes per sector dbufsiz: .equ $6a ;Offset to buffer size configuration dnumbuf: .equ $6b ;Offset to number of buf config dramspc: .equ $6c ;2 bytes - Offset to ramdisk def * Buffer control definitions bflag: .equ 0 ;Buffer control flags fuse: .equ 0 ; Buffer in use flag fwrite: .equ 1 ; Buffer has been updated flag bdsk: .equ 1 ;Disk drive blow: .equ 2 ;Low sector (128 byte) address bhigh: .equ 6 ;High sector (128 byte) address bfp: .equ 10 ;Forward pointer bbp: .equ 12 ;Backward pointer cntsize: .equ 14 ;Length 14 bytes * TPA definitions tpa: .equ $400 ;tpa start address tpalngh: .equ 1 ;length of tpa (10000) tpalngl: .equ $07c00 * fixed memory addressed initbios: .equ $0408 ;load address of sage bios cpmadr: .equ $40c ;CPM load address bootdrv: .equ $410 ;boot drive sbiosadr: .equ $412 ;Bios load address * bios entry routine * d0.w : function code * d1 : first parameter * d2 : second parameter * trap 3 * all return registers destroyed bios: move.l a6,-(a7) ;save a6 lea bios,a6 ;bios base address move.l a7,oldstack ;swap to internal stack move.l #biostack,a7 andi.w $a000,sr ;Enable interupts * jump to requested bios routine z1: lea tranvec,a0 ;address of routine jump table cmpi.w #22,d0  ;greater than max vector bgt badvect ;yes display error asl.w #1,d0 ;convert index to offset adda.w d0,a0 movea.w (a0),a0 ;get bios relative address jsr 0(a0,a6.l) ;execute requested function lea bios,a6 ;assure a6 correct movea.l oldstack,a7 ;restore old stack movea.l (a7)+,a6 ;restore a6 rte ;return to caller * function code jump table: tranvec: .dc.w _init-bios ;bios initialization routine .dc.w wboot-bios ;warm boot .dc.w const-bios ;console status .dc.w conin-bios ;console input routine .dc.w conout-bios ;console output .dc.w list-bios ;printer output .dc.w punch-bios ;punch output .dc.w reader-bios ;reader input .dc.w home-bios ;home disk (set to track 0) .dc.w seldsk-bios ;select disk drive .dc.w settrk-bios ;set track .dc.w setsec-bios ;set sector .dc.w setdma-bios ;set dma address .dc.w read-bios ;read disk .dc.w write-bios ;write disk .dc.w listst-bios ;printer status .dc.w sectran-bios ;sector translation .dc.w badvec2-bios ;illegal vector .dc.w memreg-bios ;returns address of memory region table .dc.w getio-bios  ;gets i/o byte .dc.w setio-bios ;sets i/o byte .dc.w flush-bios ;flush disk buffers .dc.w setexcep-bios ;set exception vector * bogas break routine breakrt: rts * cpm bios intialization routine * input: * d0.w : 0 * a6.l : base address of bios * output: * all registers destroyed _init: * set up internal trap vector lea bios,a0 ;trap address move.l a0,trap3 * initialize i/o byte move.w #fiobyte,iobyte ;initial i/o byte value * intialize bios hardware interfaces move.l sbiosadr,biosdefs ;Save bios load address movea.l initbios,a0 ;jump to ccp jsr (a0) ;initialize bios moveq #3,d0 ;Install bios in debugger I/O trap #14 moveq #10,d0 ;Clear bios spc char handling lea charinit,a0 trap #14  * Initializes TPA & buffer lengths inittpa: move.l cpmadr,d0 ;Load address of CPM move.l sbiosadr,a1 ;Set address to Sagebios move.b dbufsiz(a1),d1 ;Calc buffer size andi.w #$1f,d1 addq.w #1,d1 mulu #512,d1 ;D1 - I/O buffer size move.l d1,d2 ;Compute # 128 byte blocks / buffer divu #128,d2 move.w d2,bufsize ;Save calc move.b dnumbuf(a1),d2 ;Calculate number of buffers andi.w #$f,d2 ;Number of buffers - 1 move.w d2,numbuf ;Saves number of buffers -1 addq.w #1,d2 move.w d2,d3 mulu #cntsize,d2 ;Calculate storage requirements sub.l d2,d0 ;Lower TPA by amount move.l d0,bufctl ;Save buffer control address mulu d3,d1 ;Storage requir of I/O buffers sub.l d1,d0 ;End of TPA move.l d0,iobufs ;Save start of I/O buffers clr.w bufhead ;Clear head of buffers to zero moveq #-cntsize,d1 ;Backward pointer moveq #cntsize,d4 ;Set increment size moveq #cntsize,d2 ;Forward pointer movea.l bufctl,a2 ;Address of buffer control clr.w d3 ;Set index move.w numbuf,d5 ;loop control beq q4 ;If only one buffer skip first part subq.w #1,d5 ;Do all but last q3: clr.b bflag(a2,d3.w) ;Buffer not in use move.w d1,bbp(a2,d3.w) ;Set backward pointer move.w d2,bfp(a2,d3.w) ;Set forward pointer add.w d4,d1 ;Move next add.w d4,d2 ;Move next add.w d4,d3 ;Move to next entry dbf d5,q3 q4: clr.b bflag(a2,d3.w) ;Clear last move.w d1,bbp(a2,d3.w) ;Set backward pointer move.w #-1,bfp(a2,d3.w) ;Set backward pointer lea dramdef,a3 ;Ramdisk definition clr.b dskside(a3) ;Assume ramdisk disabled tst.l rdskdef(a1) ;Set TPA size beq q10 ;No skip all ramdisk setup cmp.l rdskdef(a1),d0 ;TPA must be >= minimum amount bge q5 ;All ok moveq #1,d1 ;Try one less buffer sub.b d1,dnumbuf(a1) bge inittpa ;Retry unless down to one buffer clr.w dnumbuf(a1) ;Set to one buffer in use min q5:  lea dramspc(a1),a2 ;Set address to ramdisk cpm def move.w (a2),d1 ;Move cpm def into user area andi.w #$ff80,d1 ;Allow no directory offset move.w d1,rdskspc(a3) bsr cpmdef ;Unpack cpm definitions move.l d6,d4 ;Save # of directory entries mulu #32,d4 ;Calc number of bytes needed for dir beq q10 ;No entries / No ram disk move.l d0,d1 ;Get working copy of max storage sub.l rdskdef(a1),d1 ;Size of ram disk in bytes ble q10 ;No room for ram disk move.w #1024,d2 ;Calculate block size lsl.w d7,d2 divu d2,d1 ;Calculate # blocks in ramdisk divu d2,d4 ;Calculate # blocks in directory add.w #5,d4 ;Leave room for atleast some files cmp.w d4,d1 ;Have enough room for ramdisk ble q10 ;No / No ram disk move.l rdskdef(a1),d0 ;Set Top of TPA move.l d0,ramdisk ; and base of ramdisk lsl.w d7,d1 ;Calculate number of tracks (8 sects) moveq #1,d2 ;Start with one track q7: cmpi.w #$ff,d1 ;More than 256 tracks ble q9 ;No done lsr.w #1,d1 ;Halve tracks and double sides lsl.b #1,d2 bra q7 ;Try again q9: move.b d1,dskcyl(a3) ;Set number of cylinders move.b d2,dskside(a3) subq.w #1,d6 ;Erase directory move.l d0,a0 ;Set directory base q8: move.b #$e5,(a0) ;Mark dir entry deleted adda.w #32,a0 ;Move to next entry dbf d6,q8 q10: subi.l #tpa,d0 ;Subtract TPA start address move.l d0,tpalen ;save in memory table moveq #10,d2 ;convert to K bytes asr.l d2,d0 lea log1msg,a1 ;setup buffer pointer q1: andi.l #$ffff,d0 ;use lower 16 bits divu d2,d0 ;convert digit tst.l d0 ;done? beq q2 ;yes move.l d0,d1 swap d1 add.b #"0",d1 move.b d1,-(a1) bra q1 q2: lea logmsg,a0 ;print logon message bsr prttxt ;print message bsr clrbuf ;Clears floppy buffers move.w bootdrv,d0 ;Select boot floppy and.w #1,d0 rts *warm boot routine * input: * a6.l : base address of bios * wboot: bsr clrbuf ;clears floppy buffers move.l oldstack,a7 ;restore stack jmp _ccp ;goto ccp * Clear floppy buffers clrbuf: clr.l d3 ;Set to beginning of buffer movea.l bufctl,a3 ;Set to beginning of buffers move.w numbuf,d5 ;Number of buffers to process c1: clr.b bflag(a3,d3.w) ;Release buffer add.w #cntsize,d3 ;Move to next entry dbf d5,c1 rts ;return * console status routine * input: * a6.l : base address of bios * output: * d0.w : console status * 00 : no characters waiting * ff : character waiting const: moveq #1,d0 ;request keyboard status trap #poll ;poll requested routine beq.b e1 ;no characters waiting move.w #$0ff,d0 ;set characters waiting rts e1: clr.w d0 ;set no characters waiting rts *console input routine * input: * a6.l : bios base address * output: * d0.w : character received conin: moveq #1,d0 ;request keyboard status  trap #poll ;poll requested routine beq.b conin ;no characters waiting trap #keyin ;get char from keyboard routine andi.w #$7f,d0 ;allow only lower 7 bits rts * console output routine * input: * a6.l : bios base address * d1.w : character to be sent to console conout: move.b d1,d0 ;move char to proper register trap #trmout rts  *printer output routine * input: * a6.l : bios base address * d1.w : character to be sent to printer list: move.b d1,d0 ;move char to proper register trap #prtout rts ;currently unemplimented * punch output routine * input: * a6.l : bios base address * d1.w : character to be sent to remote channel punch: move.b d1,d0 ;Set register for output trap #remout ;Send character to remote ser chan rts * reader input routine * input: * a6.l : bios base address * output: * d0.b : character returned by remote channel reader: trap #remin ;Read character from rem ser chan rts * home disk * input: * a6.l : bios base address home: clr.w track bsr setreg ;Setup registers for home operation beq home1 ;Internal definition bsr setupio ;setup for home function moveq #10,d0 trap #biosl clr.w d0 home1: rts * select disk drive * input: * a6.l : bios base address * d1.b : disk selected * 00 = a: * 01 = b: * d2.b : bit 0: 0 = first access * 1 = following accessed * output: * d0.l : address of disk parameter block * 0 = illegal disk drive selection seldsk: clr.l d0 ;assume error detected andi.w #$0ff,d1 ;force to byte quanity move.w d1,a3 ;Save unit number cmpi.b #dpbsiz,d1 ;selected disk > max bgt y5 ;yes return error bsr compdpb ;Compute DPB table address btst #0,d2 ;First disk access? bne y1 ; No - Return tst.w dskdef(a5) ;Disk configured in CPM beq y5 ; No - Return error lea dramdef,a1 ;Assume ramdisk definition move.w dskchan(a5),defchan ;Set channel for request and * ; test for Ram disk beq y6 ; Yes - Skip setup as ramdisk set movem.l d0/a5,-(a7) ;Save registers moveq #10,d0  ;Reset disk system lea reqpkt,a0 move.w dskchan(a5),(a0) trap #biosl moveq #11,d0 ;Get disk definition lea defpkt,a0 trap #biosl movem.l (a7)+,d0/a5 ;Restore registers lea defbuf,a1 ;Set working buffer y6: movea.l a1,a2 add.w dskspc(a5),a2 ;Pointer to Sage bios CPM def clr.l d5 ;Get # sectors move.b dsksec(a1),d5 beq y5 ;Disk unconfigured in Sagebios clr.l d4 ;Get # bytes per sector move.w dskbyt(a1),d4 mulu d5,d4 ;Compute 128 byte sectors per track move.l d4,d3 lsr.l #7,d3 ; divide 128 move.w d3,spt(a5) ;Save sectors per track bsr cpmdef ;Unpack CPM definitions beq y5 ;No Directory entries addq.b #3,d7 ;Block shift factor move.b d7,bsh(a5) moveq #1,d2 ;Block mask lsl.b d7,d2 subq.w #1,d2 move.b d2,blm(a5) move.w d5,off(a5) ;Directory track offset subq.w #1,d6 ;Directory entries - 1 move.w d6,drm(a5) addq.w #1,d6 move.w d6,d2 ;Directory check size lsr.w #2,d2 btst #spcfix,lowbyt(a2) ;Fixed disk media sne d3 tst.l dskchk(a5) ;Allocation .text *********************************************************************** * * sage computer - cpm bootstrap * * file: sage.cboot.text * date: 16-oct-82 * issue: 1 * * * copyright (c) 1982 sage computer technology * * *********************************************************************** * * history: * * date modification * --------- ---------------------------------------------------- * 16-Oct-82 Initial release  * 20-Jan-83 Corrected logon message * *********************************************************************** * * this bootstrap is to be located in logical blocks 0 and 1 on a * floppy diskette. the floppy diskette bootstrap command in the * prom debugger will read logical blocks 0 and 1 into memory at * location 400h. * * the bootstrap routine first reads in the cpm directory * from the floppy diskette. then the bootstrap searches the * directory for the file system.bios which contains the sage ii * computer basic input/output system routines. once found the * bios code is positioned into the highest memory available. * * the cpm bios interface routines cpmbios.bys are read in under * the sagebios.bys routines. * * the cpm bdos/ccp file cpm.bys is read in at the address specified * by the first long word in the file less 4 bytes. * * the cpm rtl file rtl.bys is read in at teh address specified by * the first long word in the file less 4 bytes. * * the bios initialization routine is called with the address of * the ccp/bdos load address and the sagebios initialization * address. both bios' are initialized and the ccp is entered. * *********************************************************************** * permanent jump vector assignments in prom termtext: .equ $00fe0018 ;printout text string termcrlf: .equ $00fe001c ;printout carriage return & line feed fdread: .equ $00fe0028 ;read from floppy diskette debug: .equ $00fe0030 ;debugger entry point * ram variables for debugger memtop: .equ $100 ;top of memory * ram variables for bios biosbase: .equ $200 * constants for boot positioning trap1: .equ $84 ;rtl trap progadr: .equ $800 ;boot addr for second half directry: .equ 16 ;block address of directory dentry: .equ 32 ;directory entry size sectrk: .equ 8 ;sectors per track blksiz: .equ 2048 ;bytes per cpm block cnvtfact: .equ blksiz/512 ;number of sage blocks per cpm block diradr: .equ 2 ;disk addr for dir (offset from dskstat) .dc.b "BOOT" ;this text is checked by the debugger * ; bootstrap process to insure that the * ; boot area has been initialized with * ; a bootstrap routine. bra start * bios interface area initbios: .dc.l 0 ;Bios initialization address cpmadr: .dc.l 0 ;CPM load address drive: .dc.w 0 ;Drive in use sbiosadr: .dc.l 0 ;Load address of bios * Pre load text initmsg: .dc.b "Booting CPM..." .dc.b 0 loadmsg: .dc.b " ...cannot load 2/2 bootstrap " .dc.b 0 .even * file load parameter table filename:  sagebios: .dc.b "SAGEBIOSSYS" maxexta: .dc.b 0 ;max extent loaded loadada: .dc.w 0 ;memory address of load .dc.w 0 blkptra: .ds.b 160 ;pointers for load cpmbios: .dc.b "CPM SYS" .dc.b 0 ;max extent loaded .dc.w 0 ;memory address of load .dc.w 0 .ds.b 160 ;pointers for load flen: .equ cpmbios-sagebios ;file entry length maxext: .equ maxexta-sagebios ;max extent found in directory loadad: .equ loadada-sagebios ;load address of bios blkptr: .equ blkptra-sagebios ;block vectors * ;the debugger transfers control to * ; offset 4 in this file. start: * output initial boot message jsr termcrlf lea initmsg,a0 jsr termtext jsr termcrlf * load second half of boot routine move.w #2,-(a7) ;information in block 2 movea.w #progadr,a0 ;disk status information area move.l a0,-(a7) move.l #1024,-(a7) ;input 4 bytes move.w 14(a7),-(a7) ;drive select jsr fdread ;read disk beq loadstat lea loadmsg,a0 ;printout "cannot read disk status" jsr termtext jsr debug * read disk & directory status information loadstat: move.w #4,-(a7) ;information in block 2 lea dskstat,a0 ;disk status information area move.l a0,-(a7) move.l #4,-(a7) ;input 1k bytes move.w 14(a7),-(a7) ;drive select jsr fdread ;read disk bne badstat * read in cpm directory lea dskstat,a1 ;disk status information move.w diradr(a1),d0 ;first track for directory mulu #sectrk,d0 ;compute block address move.w d0,diradr(a1) ;save block address move.w d0,-(a7) ;set block to read lea dirbuf,a0 ;set directory buffer move.l a0,-(a7) move.w (a1),d0 ;trasnfer length mulu #dentry,d0 ;bytes / entry move.l d0,-(a7) move.w 14(a7),-(a7) ;drive select jsr fdread bne baddir * search directory for bios.bys, cpmbios.bys, cpm.bys, rtl.bys * and set up block load vectors lea dirbuf,a0 ;buffer address lea dskstat,a3 ;set number of directory entries - 1 move.w (a3),d6 subq.w #1,d6 b5: lea filename,a1 ;set address of files to be loaded tst.b (a0) ;entry in use? bne b4 ;no - move to next entry moveq #1,d5 ;number of files - 1 b1: moveq #10,d4 ;number of char in file name - 1 b2: move.b 1(a0,d4.w),d0 ;file name from directory cmp.b 0(a1,d4.w),d0 ; with file being requested dbne d4,b2 ;repeat for all chars or mismatch found bne b6 ;file does not match move to next file clr.l d0 move.b 12(a0),d0 ;max extent from dir > last saved cmp.b maxext(a1),d0 ble b8 ;no move.b d0,maxext(a1) ;set new max extent b8: moveq #16,d4 ;number of bytes of pointers per extent mulu d0,d4 ;compute offset for extents pointers moveq #16,d3 ;offset to pointers in extent b7: move.b 1(a0,d3.w),d0 ;high byte of block address asl.w #8,d0 ;move to high byte move.b 0(a0,d3.w),d0 ;low byte of block address tst.w d0 ;entry in use? beq b9 ;no mulu #cnvtfact,d0 ;compute block address add.w diradr(a3),d0 move.w d0,blkptr(a1,d4.w) ;save block address b9: addq.w #2,d4 ;move to next entry in load table addq.w #2,d3 ;move to next entry in directory cmpi.w #32,d3 ;process last extent bne b7 ;no bra.b b4 ;dont process next file as found match b6: adda.w #flen,a1 ;move to next file dbf d5,b1 ;process next file b4: adda.w #dentry,a0 ;move to next directory entry dbf d6,b5 ;repeat untill all entries processed * load requested files into memory movea.l memtop,a2 ;set last memory address move.w 4(a7),drive ;drive lea sagebios,a0 ;load first file sagebios.bys clr.l d5 ;clear word for extent move.b maxext(a0),d5 ;find last extent to load move.l d5,d6 ;calculate file size of previous block mulu #(blksiz*8),d6 addq.l #1,d5 mulu #16,d5 ;address offset of last extent c1: tst.w blkptr-2(a0,d5.w) ;extent in use beq c2 ;no addi.l #blksiz,d6 ;up block size c2: subq.w #2,d5 ;move to previous entry bgt c1 ;repeat untill each entry tested suba.l d6,a2 ;load address of file move.l a2,sbiosadr ;Bios load address move.l a2,loadad(a0) ;save load address clr.l d5 ;load from beginning bsr setload bne badsageb move.l a2,a3 ;compute init addr adda.w 8(a2),a3 move.l a3,initbios ;save in bios interface suba.w 6(a2),a2 ;compute TOM including buffers lea cpmbios,a0 ;load second file cpmbios.bys bsr relload bne badcpmb * setup jump vectors and transfer to cpm bios movea.l loadad(a0),a1 move.l a1,cpmadr ;save CPM load address jmp (a1) ;initialization * binary load routine setload: movem.l d4/d6/a1/a2,-(a7) ;save registers tst.w blkptr(a0) ;file found beq c100 ;file not found in directory c3: move.w d5,d4 ;Set working index move.l #blksiz,d7 ;set max block size to read n1: move.w blkptr(a0,d4.w),d0 ;Get starting block  addq.w #2,d4 ;Move to next block tst.w blkptr(a0,d4.w) ;Next block in use? beq n2 ;No- process blocks accum sub.w blkptr(a0,d4.w),d0 ;Are blocks contiguous? addq.w #cnvtfact,d0 bne n2 ;no read current data requested add.l #blksiz,d7 ;up read count one block cmp.l d7,d6 ;Reading too many blocks? bgt n1 ;More to go n3: move.l d6,d7  ;Forse read of entire request n2: cmp.l d7,d6 ;Requesting too much data blt n3 ;Yes- convert to max size c5: bsr readbloc ;read block bne c6 ;return it sub.w d7,d6 ;reduce remaing bytes to read beq c6 ;done adda.l d7,a2 ;move to next load address move.w d4,d5 ;move to next load pointer tst.w blkptr(a0,d5.w) ;next entry in use bne c3 ;yes load it c100: moveq #-1,d0 ;set error c6: move.w d4,d5 ;Move to next drive tst.w d0 ;set error status movem.l (a7)+,d4/d6/a1/a2 ;restore registers rts * reads cpm block readbloc: movem.l d1-d7/a0-a2,-(a7) ;save file size, drive, * ;packet, load address move.w blkptr(a0,d5.w),-(a7) ;block address  move.l a2,-(a7) ;load address move.l d7,-(a7) ;transfer size move.w drive,-(a7) ;drive jsr fdread ;read disk movem.l (a7)+,d1-d7/a0-a2 ;restore file size, drive * ;packet, load address rts * Relocatable loader relload: move.l a2,-(a7) ;save load address * Load & verify file header lea dirbuf,a2 ;load address move.w #headln,d7 ;bytes to load clr.l d5 ;start at beginning of file bsr readblock move.l (a7)+,a2 ;restore load address lea dirbuf,a1 ;Set address of header lea rlerr1,a6 ;Illegal file type cmpi.w #$601a,(a1) ;contiguous files only bne reterr ;Illegal file type * Load CPM and bios interface move.l 2(a1),d6 ;Test size add.l 6(a1),d6  ;Data size move.l d6,transiz ;save transfer size suba.l d6,a2 ;Load address suba.l 10(a1),a2 ;BSS size move.l a2,loadad(a0) ;Save load address moveq #headln,d0 ;Compute load parameters add.l d0,d6 ; number of bytes to load suba.w d0,a2 ;must include header clr.l d5 ;Load from beginning of file bsr setload ;Load cpm & interface lea rlerr2,a6 ;Cannot load cpm bne reterr * Load header information lea relbit,a2 ;load cpmload address lea dirbuf,a1 ;Set to header move.l d6,d5 ;Calculate disk block add.l $e(a1),d5 ;skip symbol table divu #blksiz,d5 add.w d5,d5 ;Address offset by 2 move.l d5,d0 ;move to begining of sector clr.w d0 swap d0 add.l d0,d6  ;Total bytes to read bsr setload ;Load relocation info lea rlerr2,a6 ;Cannot load cpm bne reterr * Relocate CPM and bios move.l loadad(a0),a2 ;get cpm memory address move.l a2,d4 ;Text start address sub.l $12(a1),d4 move.l d4,d3 ;Data base address add.l 2(a1),d3 move.l d3,d2 ;BSS base address add.l 6(a1),d2 clr.l d1  ;Set to word load lea locfun,a3 ;Beginning of relocation routines lea jumtab,a4 ;Jump table to reloc routines lea relbit,a1 ;Start of relocation info swap d5 adda.w d5,a1 move.l transiz,d6 ;Set number of bytes to relocate lsr.w #1,d6 ;convert # bytes to # words subq.w #1,d6 ;Number of words to relocate-1 i1: move.w (a1)+,d0 ;relocation bits  andi.w #7,d0 ;save only relocation bits move.b 0(a4,d0.w),d0 ;get offset jmp 0(a3,d0.w) ;process routine jumtab: .dc.b next-locfun ;00 - No relocation .dc.b data-locfun ;01 - Data segment based .dc.b text-locfun ;02 - Text segment based .dc.b bss-locfun ;03 - BSS segment based .dc.b undef-locfun ;04 - Undefined .dc.b long-locfun ;05 - Upper part of longword .dc.b next-locfun ;06 - 16 bit PC relative .dc.b next-locfun ;07 - Instruction locfun: undef: lea rlerr3,a6 ;Undefined reference bra reterr long: moveq #1,d1 ;Set long reference bra next text: bss: data: reloc: tst.b d1 ;Long reference bne relocl ; Yes process it clr.l d0 ;force to zero move.w (a2),d0 ;get word add.l d4,d0  ;compute address swap d0 ;overflow 16 bits lea rlerr4,a6 ;Overflow word boundry tst.w d0 bne reterr swap d0 ;Store upgraded word move.w d0,(a2) bra next2 relocl: add.l d4,-2(a2) ;Bias long word next2: clr.l d1 ;Clear word flag next: addq.l #2,a2 ;Move 1/2 longword next1: dbf d6,i1 ;repeat for entire file lea dirbuf,a1 ;Get size of bss area move.l 10(a1),d5 asr.l #2,d5 ;Convert to long ref clrbss: clr.l (a2)+ ;Clear bss area dbf d5,clrbss clr.l d0 ;report all ok rlerr: rts reterr: moveq #-1,d0 ;Set error rts * could not read disk status area badstat: lea statmsg,a0 ;printout "cannot read disk status" bra.b prterr  * could not read directory baddir: lea dirmsg,a0 ;printout "cannot read directory " bra.b prterr * could not load sage bios badsageb: lea sagebmsg,a0 ;printout "cannot load sagebios.sys " bra.b prterr * could not load cpm bios badcpmb: movea.l a6,a0 ;printout "cannot load cpmbios.sys * printout error message prterr: jsr termcrlf jsr termtext  jmp debug * messages dirmsg: .dc.b "Cannot read directory ",0 statmsg: .dc.b "Cannot read disk status ",0 sagebmsg: .dc.b "Cannot load CPM.SYS ",0 rlerr1: .dc.b "Illegal file type: CPM.SYS",0 rlerr2: .dc.b "Cannot load: CPM.SYS",0 rlerr3: .dc.b "Undefined variable in: CPM.SYS",0 rlerr4: .dc.b "Word overflow in: CPM.SYS",0 .even * directory buffer (entire buffer loaded here dskstat: .ds.b 4 ;disk status info directory len,addr transiz: .dc.l 0 ;Relocation transfer size * ;directory buffer headln: .equ $1c ;Header length dirbuf: .ds.b headln ;Directory buffer relbit: .dc.w 0 ;Start of reloctation .data junk: .dc.l 0,0,0,0 ;dummy data area .bss .ds.b 2048 ;directory area .end  area allocated? sne d1 and.b d1,d2 and.b d3,d2 andi.w #$ff,d2 ;Force less than 256 move.w d2,chk(a5) clr.l d1 ;Disk block size clr.l d2 move.b dskside(a1),d1 ; Compute total tracks beq y5 ; Disk drive configured move.b dskcyl(a1),d2 mulu d2,d1 sub.l d5,d1 ; Available tracks mulu d4,d1 ; Total bytes per disk move.w #128,d2 ; Compute block size lsl.w d7,d2 divu d2,d1 ; Blocks per disk subq.w #1,d1 ; Calculate actual value move.w d1,dsm(a5) move.l d2,d4 ;Extent mask move.l d1,d3 lsr.w #8,d3 ; Block size > 255 beq y2 lsr.w #1,d4 ; Yes - lower by one y2: divu #1024,d4 subq.w #1,d4 blt y5 ;Illegal value move.b d4,exm(a5) moveq #4,d3 ;Directory Allocation bit map lsl.w d7,d3 divu d3,d6 move.l d6,d1 ;If remainder add extra block swap d1 tst.w d1 ;Remainder? bne y4 ;Yes subq.w #1,d6 y4: clr.l d1 y3: bset #0,d1 ror.w #1,d1 dbf d6,y3 move.w d1,al0(a5) y1: move.l a5,d0 ;Return table location move.w a3,unit ;Save unit number y5: rts * Compute DPB table address * d1.w : unit number of device * bsr compdpb * d1.l : ? * a5.l : Table address compdpb: mulu #dpblen,d1 ;Compute relative position lea dpbase,a5 ;Compute absolute position adda.l d1,a5 rts * Unpack CPM definitions * a2.l : Address of CPM definition * bsr cpmdef * a2.l : Unchanged * d5.l : Directory offset (in tracks) * d6.l : Number of directory entries * d7.l : Logical block size * Z : No directory entries * NZ : Directory entries found cpmdef: clr.l d7 ; d5 : Directory offset move.w (a2),d7 lsr.w #4,d7 move.l d7,d5  andi.w #7,d5 lsr.w #3,d7 ; d6 : Number of directory entries move.l d7,d6 andi.w #63,d6 lsl.l #5,d6 lsr.w #6,d7 ; d7 : Logical block size andi.w #7,d7 tst.w d6 ;Any directory entries rts * set track * input: * a6.l : bios base address * d1.w : track selected settrk: move.w d1,track ;save track address rts  *set sector * input: * a6.l : bios base address * d1.w : sector selected setsec: move.w d1,sector ;save sector address rts * set dma address (disk i/o memory address) * input: * a6.l : bios base address * d1.l : dma address setdma: move.l d1,dmaadr ;save dma address rts * read 128 bytes from disk * input: * a6.l : bios base address * output: * d0.w : error status * 0 : no errors occured * >0 : errors occured read: bsr setreg ;Setup registers for I/O bne f1 ;Not ram disk bsr setramd ;Setup for ram disk bne f4 ;Report errors if found bra f3 f1: bsr getbuf ;Get buffer (fill if necessary) bne f4 ;Error detected repor`BOOT`Booting CPM... ...cannot load 2/2 bootstrap SAGEBIOSSYSCPM SYSNANN?<0|//<?/N(gA%NN0?<A t//<?/N(fC t0)3@?A |/0 /?/N(frA |G t<SFCFJf^zx 0@1@VfBB( ) o@ xv00@00J@gk3@TDTC C f`Q Q$x1AFB( ,@RJpPgUEn!!J Ba*f&J!Aaf"h ! NH `JhgJ8.<00@TDJp@gp@X@f޼n.ma"fGg:JpPfp:J@LPNuH?0P/ /?8N(LNu/ E |><Ba$_C |M Q`f,)ܩ! xƕ !J p܀BaDM &fE C |*کE B@H@܀aM &f$h ( &֩$ԩBGNIFC HE,8 xNSF0@4N444M ;`Hr`(JfB0ЄH@M ZJ@f*H@4`٪BTQC |*) BQBNupNuA`A`A` NNNN0Cannot read directory Cannot read disk status Cannot load CPM.SYS Illegal file type: CPM.SYSCannot load: CPM.SYSUndefined variable in: CPM.SYSWord overflow in: CPM.SYSt it bsr transet ;Setup for transfer into user buffer f3: move.b (a1)+,(a0)+ ;Transfer info dbf d1,f3 f4: rts * write 128 bytes to disk * input: * a6.l : bios base address * d1.b : write type * 0 : data to be written to standard sector * 1 : data to be written to directory * 2 : data to be written to first sector of new *  block * output: * d0.w : error status * 0 : no errors occured * >0 : errors occured write: move.w d1,wrtflag ;save output flag bsr setreg ;Setup register for I/O bne g3 ;Not ram disk bsr setramd ;Setup for ramdisk transfer bne g2 ;Report any errors bra g1 ;Transfer data g3: bsr getbuf ;Get buffer fill it if necessary bne g2 ;Error detected report it bset #fwrite,bflag(a3,d3.w) ;Set write flag bsr transet ;Set up registers to transfer data g1: move.b (a0)+,(a1)+ ;Transfer data into buffer dbf d1,g1 move.w wrtflag,d1 ;Directory operation subq.b #1,d1 bne g2 ;No bsr dumpbuf ;Yes - dump buffer g2: tst.w d0  ;Report error rts * Setup registers for I/O * bsr setreg * a3.l : Set buffer control area * a4.l : I/O buffer base address * d3.w : Most reciently used buffer offset * a5.l : Address of current disk parameter block * d5.l : 128 byte sector requested * Z : Ram disk channel * NZ : External channel setreg:  movea.l bufctl,a3 ;Set address of buffer control movea.l iobufs,a4 ;Base address of I/O buffer move.w bufhead,d3 ;Header buffer move.w unit,d1 ;Calc address of DPB bsr compdpb move.w track,d5 ;Calc 128 byte sector address mulu spt(a5),d5 clr.l d1 move.w sector,d1 add.l d1,d5 ;d5 - 128 byte sector address tst.w dskchan(a5) ;Return channel type rts * Ram disk calculation routine * a5 : Ramdisk disk parameter block * bsr setramd * d4.l : Address of data to transfer * a1.l : Internal buffer address * d1.l : 127 (transfer size - 1) * a0.l : User buffer address * d0.w : 0 -> No errors setramd: moveq #1,d0 ;Assume errors clr.w wrtflag ;Set never directory  move.w track,d4 ;Calculate sector offset mulu spt(a5),d4 clr.l d1 ;Include sector move.w sector,d1 add.l d1,d4 lsl.l #7,d4 ;Convert to byte offset add.l ramdisk,d4 ;Add in base of ramdisk cmp.l iobufs,d4 ;Gone too far? bge f20 ;Yes report it clr.l d0 ;Report all OK movea.l dmaadr,a0 ;Set user buffer address  moveq #127,d1 move.l d4,a1 ;Set internal address f20: tst.w d0 ;Return error status rts * Gets buffer needed for I/O reads if not already in memory * d5.l : Sector to be read * a3.l : Base of buffer control * a4.l : Base of I/O buffer * bsr getbuf * d5.l : Unchanged * a3.l : Unchanged * a4.l : Unchanged * d3.w : Offset to currently used buffer control * d4.l : Offset to currently used buffer * d0.w : = 0 -> no error * # 0 -> error during I/O getbuf: move.l d5,-(a7) ;Save register bsr findmatch ;Search for matching disk & sector beq f18 ;Found one process it btst #fuse,bflag(a3,d3.w) ;Buffer in use? beq f10  ;No - Skip reading it btst #fwrite,bflag(a3,d3.w) ; Buffer need to be flushed? beq f10 ;No - Skip dumping it bsr dumpbuf ;Dump buffer bne f18 ;If error detected report it f10: clr.l d1 move.w sector,d1 ;Calculate starting sector clr.l d2 move.w bufsize,d2 clr.l d7 move.w spt(a5),d7 ;Sectors per track divu d2,d1 ;Sector offset on track mulu d2,d1 move.w track,d0 ;Calculate absolute sector to read mulu d7,d0 move.l d0,d6 ;Last abs sector on track add.l d7,d6 add.l d1,d0 ;Absolute sector to start reading move.l d0,blow(a3,d3.w) add.l d2,d0 ;Last possible sector to read cmp.l d0,d6 ;Will read cross track boundry? bgt f11 ;No move.l d6,d0 ;Use lesser of two f11: subq.l #1,d0 ;Set actual upgrade move.l d0,bhigh(a3,d3.w) bset #fuse,bflag(a3,d3.w) ;Set sector in use move.b unit+1,bdsk(a3,d3.w) ;Set drive to use bsr fillbuf ;Fill buffer f18: move.l (a7)+,d5 ;Restore d5 tst.w d0 ;Any errors rts * internal to user buffer transfer setup * Find I/O buffer or set to least recently used buffer * a3.l : Base of I/O buffer control * d5.l : Sector searched for * bsr findmatch * a3.l : Unchanged * d5.l : Unchanged * d3.l : Offset to matching sector / * LRU sector * d4.l : Offset to I/O buffer * d0.w : 0 -> found sector * #0 -> LRU sector given findmatch: move.w bufhead,d3 ;Set Head of Buffer list MRU move.w unit,d2 ;Set disk drive requested clr.l d0 ;Assume no errors g10: btst #fuse,bflag(a3,d3.w) ;Buffer in use? beq g18 ;No - skip further testing cmp.b bdsk(a3,d3.w),d2 ;Buffer for same disk? bne g18 ;No - skip further testing cmp.l blow(a3,d3.w),d5 ;Sector in range blt g18 ;No cmp.l bhigh(a3,d3.w),d5 ble g21  ;Found sector g18: tst.w bfp(a3,d3.w) ;Tested last buffer? blt g20 ;Reached last buffer move.w bfp(a3,d3.w),d3 ;Move to next buffer bra g10 ;Try again g20: moveq #1,d0 ;Buffer not found g21: cmp.w bufhead,d3 ;Sector already MRU sector? beq g22 move.w bfp(a3,d3.w),d1 ;Get next pointer move.w bbp(a3,d3.w),d2 ;Get last pointer move.w d1,bfp(a3,d2.w) ;Remove current buffer from list blt g23 ;No next - skip link update move.w d2,bbp(a3,d1.w) g23: move.w bufhead,d1 ;Add to front of list move.w d3,bufhead ;Set new header sector move.w bbp(a3,d1.w),bbp(a3,d3.w) ;Set current buf backptr move.w d1,bfp(a3,d3.w) move.w d3,bbp(a3,d1.w) g22: bsr compboff ;Calculate buffer offset tst.w d0 ;Report any errors rts  * Calculate buffer offset * d3.w : Buffer control offset * bsr compbuff * d4.l : Buffer offset compboff: clr.l d4 ;Calculate buffer offset move.w d3,d4 divu #cntsize,d4 mulu bufsize,d4 lsl.l #7,d4 ;Convert to byte offset rts * a4.l : base of I/O buffer * d4.l : offset to beginning of buffer *  a3.l : Base of buffer control * d3.w : Offset to buffer * bsr transet * a4.l : Unchanged * d4.l : Unchanged * a3.l : Unchanged * d3.w : Unchanged * a1.l : Address of internal buffer data * a0.l : Address of user buffer * d1.w : Number of bytes to transfer (128-1) transet: movea.l dmaadr,a0 ;Setup user buffer address movea.l a4,a1 ;Calc internal CPM address adda.l d4,a1 move.l d5,d1 ;Computer buffer offset sub.l blow(a3,d3.w),d1 mulu #128,d1 adda.l d1,a1 moveq #127,d1 ;number of bytes to transfer rts * fills internal input buffer with block from disk * a6.l : bios base address * bsr fillbuf * all registers except a2,a4,a6,d2,d4 * d0.w : contains error status fillbuf: movem.l a3-a5/d3-d6,-(a7) ;save registers bsr setupio ;setup for i/o moveq #11,d0 ;call floppy read routine trap #biosl movem.l (a7)+,a3-a5/d3-d6 ;restore registers lea reqpkt,a0 move.w 2(a0),d0 ;get result rts * dumps internal output buffer to block from disk * a6.l : bios base address * bsr dumpbuf * all registers except a2,a4,a6,d2,d4 * d0.w : contains error status dumpbuf: movem.l a3-a5/d3-d6,-(a7) ;save registers bclr #fwrite,fuse(a3,d3.w) ;Clear write flag bsr setupio ;setup for i/o moveq #12,d0 ;call floppy read routine trap #biosl movem.l (a7)+,a3-a5/d3-d6 ;restore registers lea reqpkt,a0 move.w 2(a0),d0 ;get result  rts * sets registers and request packet for i/o request * a6.l : bios base address * d0.l : track & sector address * bsr setupio * a0.l : request packet for i/o * d0.w : ? * d1.w : ? setupio: move.l blow(a3,d3.w),d0 ;setup sector move.l d0,d2 lsr.l #2,d0 ;convert to sector number lea reqpkt,a0 ;address of request packet move.w d0,12(a0) ;save in packet clr.l d1 ;Calc dpb offset move.b bdsk(a3,d3.w),d1 bsr compdpb move.w dskchan(a5),0(a0) move.l bhigh(a3,d3.w),d1 ;Compute transfer size sub.l d2,d1 addq.l #1,d1 lsl.l #7,d1 move.l d1,4(a0) ;transfer length move.w #$0c,14(a0) ;transfer flags movea.l a4,a2 ;Set transfer address adda.l d4,a2  move.l a2,8(a0) rts * printer status * input: * a6.l : bios base address * output: * d0.w : console status * 00 : printer not ready for new character * ff : printer ready to accept new character listst: moveq #6,d0 ;request printer status trap #poll ;poll requested routine beq.b h1 ;no characters waiting clr.w d0  ;set no characters waiting rts h1: move.w #$0ff,d0 ;set characters waiting rts * sector translation routine * input: * a6.l : bios base address * d1.w : logical sector address * d2.l : address of sector translation table * output: * d0.w : physical sector address sectran: move.w d1,d0 ;assume no translation tst.l d2 ;any sector translation needed beq.b i1 ;no movea.l d2,a0 ;setup for physical sector retreive move.b 0(a0,d1.w),d0 ;get physical sector i1: rts * return memory region table address * input: * a6.l : bios base address * output: * d0.l : address of memory region table memreg: lea memreg1,a0 ;set address of memory region table move.l a0,d0 rts * get i/o byte * input: * a6.l : bios base address * output: * d0.w : 8 bit i/o byte getio: move.w iobyte,d0 ;get i/o byte rts * set i/o byte * input: * a6.l : bios base address * d1.w : 8 bit i/o byte setio: move.w d1,iobyte ;get i/o byte rts * flush buffers * input: * a6.l : bios base address * output: * d0.w : error status *  0 : no errors occured * >0 : errors occured flush: clr.l d3 ;Set to beginning of buffer movea.l bufctl,a3 ;Set to beginning of buffers movea.l iobufs,a4 ;Set to beginning of I/O buffers move.w numbuf,d5 ;Number of buffers to process clr.l d6 ;Clear error accumulator j1: btst #fuse,bflag(a3,d3.w) ;Buffer in use beq j4 ;Buffer not in use  btst #fwrite,bflag(a3,d3.w) ;Buffer to be written beq j4 ;Buffer not to be written bsr compboff ;Compute buffer offset bsr dumpbuf ;Write buffer or.w d0,d6 ;Accumulate errors j4: clr.b bflag(a3,d3.w) ;Release buffer add.w #cntsize,d3 ;Move to next entry dbf d5,j1 move.w d6,d0 ;Return error rts ;return * set exception vectors * input: * a6.l : bios base address * d1.w : exception vector address * d2.l : address to execute exception vector setexcep: andi.w #$0ff,d1 ;assure vector address in range asl.w #2,d1 ;convert index to offset movea.w d1,a0 ;set address move.l (a0),d0 ;Get orginal value * cmpi.w #(9*4),d1 ;trace mode - test begin * beq k2 cmpi.w #(47*4),d1 ;trap 15 beq k2 ; - test end cmpi.w #(25*4),d1 ;skip autovectors blt.b k1 cmpi.w #(31*4),d1 ble k2 cmpi.w #(40*4),d1 ;less than trap 8 blt.b k1 ;process it cmpi.w #(46*4),d1 ;between trap 8 and trap 14 ble.b k2 ;yes dont process it k1: move.l d2,(a0) k2: rts * bad command vector * input: * d0.w : vector number in error * a6.l : bios load address badvec2: move.w sr,-(a7) ;convert to trap call badvect: lea vecterr,a0 ;print vector error move.w d0,-(a7) ;save number to be printed bsr.b prttxt ;print the message move.w (a7)+,d0 ;restore number bsr.b prtnum ;print number rte prttxt: move.b (a0)+,d0 ;get byte to printe beq.b l2 ;print value move.l a0,-(a7) ;save string address trap #trmout movea.l (a7)+,a0 ;restore string address bra prttxt l2: rts prtnum: moveq #3,d2 ;print 4 bytes clr.l d3 ;clear nonzero digit flag l3: asl.w #4,d0 ;print next digit moveq #$0f,d1 ;set mask and.w d0,d1 ;get character bne.b l5 ;nonzero digit tst.b  d3 ;any other zeros bne.b l5 ;non digits preceeded print 0 moveq #$20,d1 ;print a space bra.b l4 ;print it l5: moveq #1,d3 ;set nonzero digit flag addi.w #"0",d1 ;convert to digit cmpi.b #"9",d1 ;greater than 9 ble.b l4 ;no addq.w #7,d1 ;yes convert to a - f l4: movem.w d0/d2/d3,-(a7) ;save working registers  move.b d1,d0 ;print digit trap #trmout movem.w (a7)+,d0/d2/d3 ;restore working registers dbf d2,l3 ;repeat for all digits rts ;return .data *bios data storage dskcont: .dc.l 0 ;DPB address for selected disk oldstack: .dc.l 0 ;user stack unit: .dc.w 0 ;floppy unit number track: .dc.w 0 ;track address (trk & sec must keep sector: .dc.w 0  ;sector address dmaadr: .dc.l 0 ;dma address iobyte: .dc.w 0 ;i/o byte wrtflag: .dc.w 0 ;write control flag 0: data biosdefs: .dc.l 0 ;Address of Sagebios bufctl: .dc.l 0 ;Base of I/O buffers control iobufs: .dc.l 0 ;Base of I/O buffers ramdisk: .dc.l 0 ;Base of ramdisk bufhead: .dc.w 0 ;Most current buffer bufsize: .dc.w 0 ;# 128 byte blocks in I/O buffer numbuf: .dc.w 0 ;# of buffers -1 * Bios Messages vecterr: .dc.b $0d,$0a .dc.b "bios error: vector error: " .dc.b 0 logmsg: .dc.b $0d,$0a,"CP/M - 68k 1.1 ( " log1msg: .dc.b "K )",$0d,$0a,0 .even * Console Initialization Area charinit: .dc.w 1 ;Console channel .dc.w 0 ;return error .dc.l breakrt ;Break point routine .dc.l chartrap ;Character def array chartrap: .dc.b $00,$00,$00,$80 ;Clear trap .dc.b 0,0,0,0,0,0,0 ;Unused .dc.b $7f ;Character mask .even * Disk parameter blocks * disk parameter header for disk 0 (a:) dpbase: .dc.l 0 ;logical to physical translation table .dc.w 0 ;scratch pad area .dc.w 0 .dc.w 0 .dc.l dirbuf ;directory scratch pad area .dc.l dpba ;disk parameter block dskchk: .equ *-dpbase .dc.l csv00 ;disk change scrach pad area .dc.l alv00 ;area for allocation area dskchan: .equ *-dpbase ;Disk channel offset .dc.w 4 ;Drive A: = #4: dskdef: .equ *-dpbase ;Floppy configuration offset .dc.w dsk0def dskspc: .equ *-dpbase ;CPM floppy configuration offset .dc.w dsk0spc * disk parameter block dpba: spt: .equ *-dpbase .dc.w 32 ;sectors per track bsh: .equ *-dpbase .dc.b 4 ;block shift factor blm: .equ *-dpbase .dc.b 15 ;block mask exm: .equ *-dpbase .dc.b 0 ;extent mask .dc.b 0 ;dummy fill dsm: .equ *-dpbase .dc.w 288 ;disk block size drm: .equ *-dpbase .dc.w 63 ;total number of director entries al0: .equ *-dpbase .dc.b $80 ;director allocation .dc.b 0 ; chk: .equ *-dpbase .dc.w 16 ;check size off: .equ *-dpbase .dc.w 2 ;track offset dpblen: .equ *-dpbase * disk parameter header for disk 1 (b:) .dc.l 0 ;logical to physical translation table .dc.w 0 ;scratch pad area .dc.w 0 .dc.w 0 .dc.l dirbuf ;directory scratch pad area .dc.l dpbb ;disk parameter block .dc.l csv01 ;disk change scrach pad area .dc.l alv01 ;area for allocation area .dc.w 5 ;Drive B: = #5: .dc.w dsk1def .dc.w dsk1spc * disk parameter block dpbb: .dc.w 32 ;sectors per track .dc.b 4 ;block shift factor .dc.b 15 ;block mask .dc.b 0 ;extent mask .dc.b 0 ;dummy fill .dc.w 288 ;disk block size .dc.w 63 ;total number of director entries .dc.b $80 ;director allocation .dc.b 0 ; .dc.w 16 ;check size .dc.w 2 ;track offset * disk parameter header for hard disk 2 (c:) .dc.l 0 ;Logical to physical trans table .dc.w 0,0,0 ;Scratch area  .dc.l dirbuf ;directory scratchpad area .dc.l dpbc ;hard disk parameter block .dc.l 0 ;No disk change scratch area .dc.l alv02 ;Allocation area .dc.w 9 ;Disk channel = #9 .dc.w dsk2def ;Disk def undefined in bios .dc.w dsk2spc ;CPM def undefined in bios * disk parameter block (hard disks) dpbc: .dc.w 32 ;Sectors per track .dc.b 5 ;Block shift factor .dc.b 31 ;block mask .dc.b 1 ;extent mask .dc.b 0 ;dummy .dc.w 1222 ;disk block size .dc.w 255 ;number of directory entries .dc.b $c0 ;directory allocation .dc.b 0 ; .dc.w 0 ;Fixed disk no check size .dc.w 1 ;Track offset * disk parameter header for hard disk 3 (d:) .dc.l 0 ;Logical to physical trans table .dc.w 0,0,0 ;Scratch area .dc.l dirbuf ;directory scratchpad area .dc.l dpbd ;hard disk parameter block .dc.l 0 ;No disk change scratch area .dc.l alv03 ;Allocation area .dc.w 10 ;Disk channel = #10: .dc.w dsk3def ;Disk undefined in bios .dc.w dsk3spc ;CPM definition undefined in bios * disk parameter block dpbd: .dc.w 32 ;Sectors per track .dc.b 5 ;Block shift factor .dc.b 31 ;block mask .dc.b 1 ;extent mask .dc.b 0 ;dummy .dc.w 1222 ;disk block size .dc.w 255 ;number of directory entries .dc.b $c0 ;directory allocation .dc.b 0 ;  .dc.w 0 ;Fixed disk no check size .dc.w 1 ;Track offset * disk parameter header for ram disk 4 (e:) .dc.l 0 ;Logical to physical trans table .dc.w 0,0,0 ;Scratch area .dc.l dirbuf ;directory scratchpad area .dc.l dpbe ;hard disk parameter block .dc.l 0 ;No disk change scratch area .dc.l alv04 ;Allocation area .dc.w 0  ;Disk channel = Ram disk .dc.w rdskdef ;Disk undefined in bios .dc.w rdskspc ;CPM definition undefined in bios * disk parameter block dpbe: .dc.w 32 ;Sectors per track .dc.b 5 ;Block shift factor .dc.b 31 ;block mask .dc.b 1 ;extent mask .dc.b 0 ;dummy .dc.w 1222 ;disk block size .dc.w 255  ;number of directory entries .dc.b $c0 ;directory allocation .dc.b 0 ; .dc.w 0 ;Fixed disk no check size .dc.w 0 ;Track offset dpbsiz: .equ (*-dpbase)/dpblen-1 * Ram disk definition dramdef: .dc.b 0 ;Number of sides .dc.b 0 ;Number of cylinders .dc.b 8 ;Sectors per track .dc.b 0,0,0 ;Unused  .dc.w 128 ;Bytes per sector .dc.w 0 ;CPM definition * Disk configuration request packet defpkt: .dc.w 128 ;Channel number .dc.w 0 ;Error return - Unused .dc.l 0 ;Transfer length - Unused .dc.l defbuf ;Configuration buffer .dc.w 0 ;Block address - Unused defchan: .dc.w 0 ;Disk channel (set by request) * Disk configuration buffer defbuf: .ds.b 32 ;Disk configuration buffer *memory region table memreg1: .dc.w 1 ;entry 1 .dc.w 0 ;tpa beginning address .dc.w tpa tpalen: .dc.w tpalngh ;tpa length .dc.w tpalngl .bss * allocation area alv00: .ds.b 2048/8+1 ;allocation area (floppy a:) .even alv01: .ds.b 2048/8+1 ;allocation area (floppy b:) .even alv02: .ds.b 2048/8+1 ;allocation area (hard c:) .even alv03: .ds.b 2048/8+1 ;allocation area (hard d:) .even alv04: .ds.b 2048/8+1 ;allocation area (ramdisk e:) .even ;Force to even boundry * check area csv00: .ds.b 256/4 ;check area (floppy a:) csv01: .ds.b 256/4 ;check area (floppy b:) * directory buffer dirbuf: .ds.b 128 * disk routine request packet ** ;floppy i/o request packet reqpkt: .ds.b 2 ; channel .ds.b 2 ; error .ds.b 2 ; byte length .ds.b 2 .ds.b 2 ; dma address .ds.b 2 .ds.b 2 ; block address .ds.b 2 ; control word * Internal bios stack .ds.b 128 biostack: .ds.b 2 .even .end  as68 -l bios.s lo68 -r -ucpm -o cpm.rel cpmlib bios.o pip b:cpm.sys=a:cpm.rel `- RBN2`FC Runtime V01.08, Copyright(c) 1983, Digital Research1015-0901-000019 o#7"h&IB[b#7E?/ N \NNVB odpN^NuNV0/"/ NB7d0< A2"NB0<NBN^NuNVH ng ngaP nfN.3& n /(aXO|f n ./<3N xXOa n #3 n # 3"`"#3& n #3 n #3"93)g.3&/<3N xXO>N.3/93NjXO*@ f.3/<3N xXO>N.3/93"NjXO(@ f.3/<3N xXO>N.?<?</<3*NPOH.g.3/<4 N xXO>N y`3*g.3/<4N xXO>N 93,м,BW// NPO.930.N,Jo.NJ@g .N,U`.44/93NjXO&@ f.3/<46N xXO>NBW0|// NPOBW 93,й30й38// NPO./ / / a JL8N^NuNV.4IN x.4oN x.4N x.4N x.4N x>NN^NuNVH*n -f bgp`BJgvHHм7 @g H|`H<<0m<9n HHЁм.`&<Am<Fn HHЁм.`p`R` n B@NqJL N^NuNVH*n(n &n 93&3@-@=|`-y3, 93,й30м-@ 930-@ 934Ю-@BB-y3&=|.?<?</NNPO|g.3"/<5N xXO>NBl".N:.N<0|g .?aTO|f"=E.N=@.N<=|` =EBnBn0` .Ѯ` .?aTO`|b@0@3F PNJnf Jng./<52N xXO>NJng.?.NTO.?.NTO=@ܰng8.3"/<5JN xXO>?.//<5]N x >N0.T@Hހ`JL8N^NuNV. ?./<5|N x\O>NN^NuNVHN,BW/<3 NBXO>/<3 NBXO>/<3 NBXO-|3 .2. HЁ @B=|*nJgJgHHм7 @gR`JgBG 2HЁ @JgN5pHHм7 @f85pHHм7 @g 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>NBWBg/ RN \O|g.R/<5aXXO` N2n!MRn` N2n !|.?.NTO>NJL N^NuNV.N1~>/.?<N%\O. N1~>/. ?<N%\O>/<5?<N%\O>NN^NuNV. /./<6,N PONqN^NuNVH*nBn n HR J@g޾<%g.H?NbTORn`B. n <-@R Df n R R.| <0fG n R =|<*f-M n=PT n R `8<0m2<9n,JnlBnH2. A|=@ n R `=|<.fBn n R <*f-M n=PT n R `.<0m(<9n"H2. A|=@ n R `B.<lg<LfR. n R A-HH`R.J.g <` <#7.7?<?< // N J.gp`pH`RR.J.g <` <#7.7Bg?< // N J.gp`pH`R.J.g <` <#7.7Bg?<// N J.gp`pH`R.J.g <` <#7.7Bg?<// N J.gp`pH`\-M n-PX`L-M n0|@B.T`2.H?NbTORn``H |5r W h0N.N1~=@0.nl Jnm=n0.n=@J.fZ .0f, n -f"Sn. nH?NbTORRn0.SnJ@o..H?NbTO`Rn0.SnJ@o. nH?NbTOR`Rn0.SnJ@o..H?NbTO`Rn`0.NqJL N^NuNVH /<7?.?./ /. nN*@7fB(n 7g%H| lp0`p7@`B NqJL0N^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/. /.aPONqN^NuNVH*n(n BG0&@60+|g |lRG`޾|mB` wg Wf.H>?</ NV\O<`~ ag AfH.H>?</ N\O<JFl.H>?</ NV\O<`>B?N(\O`( rg Rf.H>Bg/ N\O<`B`DJFlB`N,J@gB`~0-|g>B?N(\O.fp`z -ހ-gJo -2- HЁ-gD-g(md  fRR``$Jo (m0- HSe  fSS` NqJL0N^NuNV.Nr|fp`.>/. n0?N(\O-@ fp`B@NqN^NuNVN>NN^NuNVHBG|l0м6.NRG`JLN^NuNVH*n0-|g*.Nr-g .N/B@H+@+@Bm m>NNqJL N^NuNVH*n0-| |f. -<JFo >/-?N%\O>Gg mp`4-gJg-g;| `;| `Bm +mB@NqJL N^NuNVH *n(nBGnl.BFn l".N(:|fB@``0|RF`RG`0.NqJL0N^NuNVH *n(nBGnl*BFn l.H?NbTO|fB@`RF`RG`0.NqJL0N^NuNVH *nI.N(.N(0.NqJL0N^NuNVA-HBn nl2. nH?WNbTO|@RDfp` Rn`0.NqN^NuNVH*nSm m mH|R` ` .NNqJL N^NuNVH. *n Sm mH"m|R``.H?NTONqJL N^NuNVH*n-fp`-g m p`Jf&-f>N.+@fm`m-g0Hм7+@6f96/g .6,Nr-g>`>/-?N \O;@ Jm n m fm0`m p`Sm +m mH|RNqJL N^NuNVH. *n BF:-fp`&-fTJfN>N.+@+@fm`2m>N,J@gm@`;| H"mR`-gA+H +@ mR-gz>/-?N%\O<Bm `n-g>< g -мb" -:>/-?N%\O<+mBm `( -:>/-?N%\O<;| +mFg mp` H|NqJL N^NuNVH>N-n*@fp`H|g>N->N.B@`g8f2 - l>B?.N(\O>/<3?.N%\Og>>"/</ 2/-/ N-|g37 377p`H.?<NTO|f37 377p`>N->N.B@NqJL N^NuNVBW?. /.a:\ONqN^NuNVBW?. /.a"\ONqN^NuNV>?. /.a\ONqN^NuNVHN.d>JGlp`>N-0*@7Jnf.3 /.N2XOJ@f 0`\`.3/.N2XOJ@f0`<>/.?N+\OJ@g!>N.3#7 377p`0NqJL N^NuNVBBgNTON^NuNVH>N-n*@fp`d0.`4+n `> . ѭ`4>N+@ - Ю +@`p`,`J@gȰ|gʰ|g`Jl+| -NqJL N^NuNV>B?.ab\ONqN^NuNVH>N-n*@fp`HH|gB`8.?<#NTOJ@g37 377p` <.gJ.o -.S.ggD>"/</ 2/-/ N-|g37 377p`>!/</ 2// N-|g37 377p`V+G -+@I2Gd gR` " Ҽ2ѭ`B` -.+@+m  -NqJL8N^NuNVBW?. /.a:\ONqN^NuNVBW?. /.a"\ONqN^NuNV>?. /.a\ONqN^NuNVHN.d>JGlp`>N-0*@7Jn fJnf.3 /.N2XOJ@f 0``.3/.N2XOJ@f0`f>/.?N+\OJ@g>N.37 377p`2>B-H?N(\OBWB-H?N(\O0NqJL N^NuNVH*n :.H>N-n(@fp`xgB@`lg3 7 377p`Ng./ / N$lPO`6f./ / a0PO` -EJo.,ggD>"/</ 2/,/ N-|g37 377p`>!/</ 2// N-|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -ggD>"/</ 2/-/ N-|g37 377p`>!/</ 2/./ N-|g37 377p`r+n "-¼Ё&@2 мdJo SR`Jf - o+m .` RB -@Jo>!/./ /./ N-H,ݮ ѭ   - o+m g .`Jf .`gB>"/</ 2/-/ N-|g37 377p``>!/</ 2/./ N-|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH*n(n ..gA-H n(g.?<NTOp`> n(g&L.?<NTO n(Hf >N n(g Am Zn H| `H n(g*  f$ n(gHH.?<NTO n(gHH.?<NTOp`~l ` <*E.?< NTO.HH̼l0| .?<NTOGJo JoSS`Jo R "ҼNqJL8N^NuNVH*n :.H>N-n(@fp`JnB@`g3 7 377p`g>// aPO`g>// aPO`f./ / aPO`z-EBJon ,-@B ,gJgD>"/</ 2/,/ N-|g37 377p` ,", S¼n@>!/</ 2/./ N-|g37 377p`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N-|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -gd -ggD>"/</ 2/-/ N-|g37 377p`d -"- S¼nB>!/</ 2/./ N-|g37 377p``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`>"/</ 2/./ N-|g37 377p`XR -@Jo\ -l .Юo+|>"/./ /./ N-H".g37 377p` . . .ѭ - o+m Jf .`g>>"/</ 2/-/ N-|g37 377p`p@ -+@ -"- S¼n$>!/</ 2/-/ N-`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH*n 0.(@7G -:f*HHм7 @g H|`H|TBG  o>|l8 .g2HHм7 @g H|`H"K4G@RGR` .fBRBG  o8|l2HHм7 @g H|`H"K4G@ RGR` + fp`4 nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH>N-n*@fB@`fB@`pNqJL N^!NuNVHBG|l>aRG`JLN^NuNVH 0.*@70.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.|e3 7 377p`.0*@7f3 7 377p` NqJL N^NuNVH? *n.. (n,.:.BJof.?<NTO+G.x.?NTOJ@g |o897Bp d`BD 2HЁ` 0Hހ0H0Hր0@H` NqJL0N^NuNVH|BG|l 6f 60`RG`37 377pNqJLN^NuNVH>.p2`F@H6B@NqJLN^NuNVH>.ZGB0>RGJ7f <7#7#7By7(y7*Tmb80X@me(` 2Ё&@0-G7@&(;G#7 \`7f>a*@ fB`(M*T`JL8N^NuNVH >.|?GG0>N1.*@fB` R*@(M9G.\a 97NqJL0N^NuNVH *n](y7ceeebf#7`J(T` 2-Ёf T0(m T*`* 2,Ёf 0-l(`(#7JL0N^NuNV .]-@ n0(=@> aT-@fB`.a@ .g~0. nd=n .d&-nJng n"nRRSn``< .B2.Ё-@0.H@B@H@ѮJngSS n"nSn` .NqN^NuNVH>.HμgR*G7.N|fp`*y7߹7 NqJL N^NuNVH *n(MJgR` NqJL0N^NuNVH..,. Jf#7 <`Jc #7B`a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019JgNuStack Overflow$C runtimeCON:LST:3f3 p h h h r r r pCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Illegal option: %s Illegal base address=%lx rCannot open %s wCannot create %s Read error on %s File format error: %s rCannot re-open %s Usage: reloc [-bhhhhhh] input output where: hhhhhh is new base address (TPA+100 is default base address) input is relocatable file output is absolute file Write error on %s 16-bit overflow at %ld Write error on %s Offset = %lx data= %x err =%x Illegal reloc = %x at %lx Cannot open Cannot create CDOSUXcdosuxjZf jZj  7!!!!""`!pN#.`#.d y.d3-A8C-0<GQ y.dAC-0<QK-M-O-IE&pNBB2//NB _ONB"//NB _ONCOPYRIGHT 1983DIGITAL RESEARCH0102821015-0901-000019ACC+I,A&pCC+I(+O<*|5GJGgBja>*&|.hCp%Iba**Gd&G<%Ka<f |G<%Ka8` G<%Ka>*jdB>*&|.hCp%Iba$G<%KzaJ*g|G<%Kaj`*CdBjG-%Kba>*jdG<%Ka0JWGj^B* *U*d.BG*,j&|-3`"|.h1pWD*`j*Fd|G<%Ka8`tG<%Kza>*&|.hCp%IG.h%K<*G5FFaNuap5j>*jd>*&jCp%Ibaj"G%KvaJ*g| *gB*G%Ka*"*g *6fB*6G%Ka2ahF@*F*d|G%KaP|>*&jp` j`DNu * e*J*1c **1b*2d<BG*?NtBG*G<3pN`*N&f`t<BG*?Nt``<BG*?Nt`L<BG*?Nt`8>*j ea>*&|.hpj`<BG*?NtNu * g ja `PJ*Af ja`>j**Ae *A*`*A*GJ*c*| a` * fB*NuJ*W*HGHd| ` *<0GafNu*Ga*<GaNu| *;WGH*K*DGK*J|GJ*I|GIjIajJajKa *;f|:a| `| aNu*3d * gz*dN * gFj=J*=g, *f|<*RG*eB*| avJ*;ca&B* * fB*jaR * f|Nu *ae *zb*_*Nu *Ae *Zb* *Nu|BG*;G<3pN`|Ba>``>*je**F*dBj` jg af5ja>*&jspj`6B*<BgNt@` <BgNt<@` N&b@*dT*<d*RGJWF` * WG*d$azda<fp`H|Ba\*Gd**Bd ja`*9d ja`*Nu`d**G|B<*ڼrXܼ 2hfBG*B<ܼhp`**f*`B*pNuJ*c*SG<fp `p`~dJ*c(*BG*B<ܼrh**`fa@<fp`TJ*@c(j@a$dj@B*@*RGB*`J*>cj>adB*>|p `*Nua@*<d>*jR* ` *W Nu`*<0< b `.*<A<c| G%Ka*<A< Nuad@@aNaNuNVa@aހ.*@N^NuNVa|H=@a|nN^NuB*a@~d *:g8 *f*e|G%Kajaa@`a@a@ja@a*J*f|`B***6d *:gj *g`af@`|:aLjaBja8j"a5@a@J*g*a@`aJg| G%Kaa@`NuJ*@c| BaJ*>c| BaNu*<Jg |a`aaa2G<%Kja *f|G<%KaGb%Kfa *gGb%Kja*kdd*DFdZ *Yg& *NgGh%K^a"a@a@` *Yg G%K^aaG<%Kra`a*k*lGb%KaGb%KraGb%KCL%I|aG<%Ka*c<*Gc*d<*Gd*e<*Ge*f<*Gf*j*k<*Gk*l<*Gl*mGb%Kar*.da*!B*"G%KaPNuG.h%K .*-oG%K^aazB*.*-l *d*`G.h%KP.*P |N%@TЪP%@.*P|O|5G5G *Fd2G.h%K j@ e5| 5|`$>* j5G 5G`>*j eaBjNu**|5G B* *b$BG*j &j 3pf5G`*dNu`a`G%KaG-%Kba~dzG%Ka>@Jf5j8^j7]B*`T *f>*8RG5G8JGf*7` *f>*8||5G8JGf*7`B*G%KaL`Nu**GB*B*B*B* *b\BG*B<*ڼ.J2Xg<ܼ 4hfB*`(BG*B<ܼ 4hf**GB**da*daD*dj*Fda*F*d*a G%Kja*daD5j*ej5ja5j**dab`*5*6dal`a8Fd ja`**d5j` *daNu`a| * b8BG*rpb 2 pbg * f |.Xa^jXaT*dNu*.Fdp`la|?"G%Kna *gLG-%KL*<RBݪL%jLG%K|a*!Fdp`a`pNuBjBj~d0aG-%Kba(B9-G-%KnaBj *g>*оjd ja` *f.Jjf| G-%Ka*8Fda^`>*RG5GG-%KL*<RBݪL%jLGc%K|a(Gc%KC%I|aadB*nB*"*lF*?d*8FdJjf G%K^aajB*a `Nu**:f*b*faNu*+RG+*ep `BG*+B<ܼrha Nua@< gNua * gajNu`B*BG*ݾ| b B<*ܼľ4hfp` *dpNu*BG*&jp *?f|Nu|?**da`Nua<@ * W *]WƎFd*<AG߾<c" * f a@`|Ba` *Sg *Qf0*+RGa@<Wǰ< WƎFea@`La@<0@< c|`.a@<0@۰< bBG* BF*FG`BG*B<ܼ.h *f *c|Ba&jj$`a@Nu&j| %| B* *#d * fB*aj`*R&jG&jj,$B* *bBG*B<ܼ.B2h*dB*B*B*a~dB*jaFd, *d **f |a`aaP@` *:f *fN&j+<ARG<bLaJjabd *[fa*+&j| %` *f|B* * bB**RG<b&,*||B:&jڼ4X3`g *f"&jj%a|<[fa4*+`**d` *[fa `J*gj| *.f8a,@@arFd" * d> **f | a`a` *[fa*+&j|%&jB+ Nu(|$jN.m<,O(|$j$|&pG-%KC%I|a2J*WGaj|"dG%K^a&a*dG%K^aaaj@,a@@~dB*KB*JB*IB*B*BjBjB*B*B*|||||*d|*Xa^aap|+ *baa&Gb%Ka*d|Gb%Ka|a *=g *_gaDG%Ka * fh *;ga$aaN|*d$G%KC-%I|$aa`G%KCc%I|#aa`` *f8 * ;f0a>a|;Gc%KC%I|#ava` *c|Ba` *gB**d|a *,g * g|BaP *,WG* *f|;J*Af|AJ*=f|= *;U * ;RƎ*d|Ba *;gB* *;fB*~<'b*B*a*d` * ;f |a`aa*dG%Ka` j`bNuERROR: $ - $$$$DESTINATION IS R/O, DELETE (Y/N)?$**NOT DELETED**$**NO MEMORY SPACE**$COPYING -$REQUIRES CP/M-86$CP/M-68K PIP VERSION 1.0$"6Jp`v (7/31/82) CP/M-68K PIP VERS 1.0 DISK READ$DISK WRITE$VERIFY$INVALID DESTINATION$INVALID SOURCE$USER ABORTED$BAD PARAMETER#$INVALID USER NUMBER$INVALID FORMAT$HEX RECORD CHECKSUM$FILE NOT FOUND$START NOT FOUND$QUIT NOT FOUND$INVALID HEX DIGIT$CLOSE FILE$UNEXPECTED END OF HEX FILE$INVALID SEPARATOR$NO DIRECTORY SPACE$INVALID FORMAT WITH SPARSE FILE$$$$$$$$$$%%%+%;%J%\%g%%% =.:;,<> _[]OUTPRNLSTAXOCONAXIINPNULEOFNqNuNqNuNqNuNq _ON$$`8(^BN=`FC Runtime V01.08, Copyright(c) 1983, Digital Research1015-0901-000019 o#B"h&IB[b#BE?/ NN&"NVB odpN^NuNV0/"/ NBBd0< A=("NB0<NBN^NuNVB..>hNSnX n .aZJ@ga`X Sn 9C"fa > n //9=xN;BPOJ@fPBn n .aX > n /?.a\O@X > n /?.a\O@`> n /?.a\O@X Sn> n /?.a\O@Sn> n //9=xN;BPOJ@f| n .a:0.SnJ@oP>X n //9=xN;BPOJ@fJ.f n .a`` n ./<>vNXO`.H.f.>Na J9=dg.H>.H?aVTO .am .zn.H>W`.H>W .am .zn.H?W`.H?WaTO.>NJ9=dg.>N``B0|.?<NTO@ .am .zn .H|`.H|Yf`$N^NuNVHBG|b40HH@B@H@ @"|=T./.N:XOJ@f C"B@`RG`C"pNqJLN^NuNVH.>N.?N.?N.?6N.?VN.?mN.N BG0GJ(g>0G (Am0G (Zn0G(H| ` 0G(H2G@RG`.aJ@fJLN^NuNV.N .N;|oB@`D .am .zn .H|`.H@ .Am .PoB@` `.HNqN^NuNV-|?-|?-|?|.?N9C"H0@./<?NXO. H>. H?/<?N\O.]?< NTOJ.fN^NuNVJnod. N;|fT.]/<?/. N`PO .am .zn .H|`.H@ .Am .Pn.H`X0.`-y=h`-y=l`|g|gNq.?N./<?NXOaR@g.HNqN^NuNVR nJgV nH`0B9=d`>=f`4B@`6 nH>/<?NXO`H |=|rW hNR`N^NuNVH3 C$. HH#C&BC*.C$?<2NTO(@ g. HH#C&.C$?<2NTO&@ gN*l-T(l-L&k-KBE|b, n "n"g.?NaXXRE``.?Na`.@Na0-R@-HRA-@ .H-@0H//.N;POlR0-HѮ9C"H`*B .S.`0B0-S@H.`"<-H .#S.`J@gҰ|gذ|gNq././/. H?. H?aJL8N^NuNVH .. ,.*n.@6N :B0m(|.3 C$#C&BC*.C$?<2NTO3 C$. HH#C&#C*.C$?<2NTO3 C$B0#C&BC*.C$?<2NTOBD nPd3C$B0#C&#C*.C$?<2NTO#C&3 C$BC*.C$?<2NTO3 C$.C$?<2NTOJg BW??aXO3 C$#C&.C$?<2NTORD`R(|.3 C$#C&BC*.C$?<2NTO3 C$. HH#C&#C*.C$?<2NTOBD nPd3C$B0#C&#C*.C$?<2NTO#C&3 C$BC*.C$?<2NTO3C$#C&.C$?<2NTOJg>??apXO3 C$#C&.C$?<2NTORD`FJ9=fg(|C.3 C$#C&.C$?<2NTOBD nPd3C$B0#C&#C*.C$?<2NTO#C&3 C$BC*.C$?<2NTO3 C$.C$?<2NTOJg BW??aXO3 C$#C&.C$?<2NTORD`RBD n0@@d0 |.0@H"|C.1@HAg>0H??a&XORD`>/<@MNXORE`lJL0N^NuNVHJ. f*y=p`*y=t./<@ZNXO> ?./<@`N\Oa JL N^NuNV3 C$0|.?<NTO#C&BC*.C$?<2NTOBWN`N^NuNVHN5BW/<=AN(PXO>/<=AN(PXO>/<=AN(PXO-|=7 .2. HЁ @B=|*nJgJgHHмBp @gR`JgBG 2HЁ @JgN5pHHмBp @f85pHHмBp @g 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>N$BWBg/ RN%\O|g.R/<@aXXO` N2n!MRn` N2n!|.?.NTO>N`JL N^NuNV.N;>/.?<N/ \O. N;>/. ?<N/ \O>/<@?<N/ \O>N`N^NuNV. /./<ANPONqN^NuNVH*nBn n HR J@g޾<%g.H?N!pTORn`B. n <-@R Df n R R.| <0fG n R =|<*f-M n=PT n R `8<0m2<9n,JnlBnH2. A|=@ n R `=|<.fBn n R <*f-M n=PT n R `.<0m(<9n"H2. A|=@ n R `B.<lg<LfR. n R A-HH`R.J.g <<` <#B.B?<?< // N J.gp`pH`RR.J.g <<` <#B.BBg?< // N J.gp`pH`R.J.g <<` <#B.BBg?<// N J.gp`pH`R.J.g <<` <#B.BBg?<// N J.gp`pH`\-M n-PX`L-M n0|@B.T`2.H?N!pTORn``H |@r W h0N.N;=@0.nl Jnm=n0.n=@J.fZ .0f, n -f"Sn. nH?N!pTORRn0.SnJ@o..H?N!pTO`Rn0.SnJ@o. nH?N!pTOR`Rn0.SnJ@o..H?N!pTO`Rn`0.NqJL N^NuNVH /<C?.?./ /. nN*@CfB(n Cg%H| lp0`p7@`B NqJL0N^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`` n R B.<*fR. n R =|<0m4<9n. nfBnH2. A|=@ n R `B.B.<lfR. n R `<hfR. n R H`=| `=|`=|HHмBp @g(HHмBp @g H| `HR..N!6<|fp`d0HмBp @fJ.g A-H` n-PXB.|+fSn.N!6<|fp``&|-f R.Sn.N!6<|fp`BB.0.SnJ@o0HмBp @g0|`0<=F n0m| nFnr n9o nAmbn0 n o 0._@=@0.nl@R.0.H//.N;PO2.HЁ-@.N!6<|f$p`0`N.?N TOJ.f0.`J.g .D-@J.g n `J.g ."n2` ."n2J.fRn`.N!6<|fp`<sfB-|Ax^BW/.^?a\OJ@g.N!6<|fp`v`|Sn`<cf-|A|^ nf=||`^B. n <^@R Df| n R Ab-H^Jg<]g n^ n R R^` n^BAb-H^J.g A-H` n-PX0.SnJ@o>.H>/.^?a\OJ@g&0"nR.N!6<|fp``.?N TO<cg nBJ.fRn`L.N!6<|fp`@H@g.?N TO0.`$``H |ArW h8N`0.NqJLN^NuNVH. H>/. N:XO>J.g JGgB@`p`0NqJLN^NuNVNx>N&"N^NuNVHBG|l0мA~.NRG`JLN^NuNVH*n0-|g*.N -g .N8B@H+@+@Bm m>N$NqJL N^NuNVH*n0-| |f. -<JFo >/-?N/ \O>Gg mp`4-gJg-g;| `;| `Bm +mB@NqJL N^NuNVH-n.A~N!6>|g| g0"nR` nB|fB`` .NqJLN^NuNVH>.*n |fp`0-g$Jg -cS0"mRm 0`pNqJL N^NuNVH*nSm m mH|R` ` .N!NqJL N^NuNVH. *n Sm mH"m|R``.H?N"TONqJL N^NuNVH*n-fp`-g m p`Jf&-f>N7+@fm`m-g0HмC+@A~f9Ag .AN -g>`>/-?N)\O;@ Jm n m fm0`m p`Sm +m mH|RNqJL N^NuNVH. *n BF:-fp`&-fTJfN>N7+@+@fm`2m>N5J@gm@`;| H"mR`-gA+H +@ mR-gz>/-?N/ \O<Bm `n-g>< g -мb" -:>/-?N/ \O<+mBm `( -:>/-?N/ \O<;| +mFg mp` H|NqJL N^NuNVH>N6|*@fp`H|g>N6>N7B@`g8f2 - l>B?.N&6\O>/<=K?.N/ \Og>>"/</ 2/-/ N6|g3Bl3BBnp`H.?<NTO|f3Bl3BBnp`>N6>N7B@NqJL N^NuNVBW?. /.a:\ONqN^NuNVBW?. /.a"\ONqN^NuNV>?. /.a\ONqN^NuNVHN7r>JGlp`>N60*@.Jnf.=A/.N/.?N4\OJ@g>N73#Bl3BBnp`0NqJL N^NuNVBBgNTON^NuNVH>N6|*@fp`d0.`4+n `> . ѭ`4>N&+@ - Ю +@`p`,`J@gȰ|gʰ|g`Jl+| -NqJL N^NuNV>B?.ab\ONqN^NuNVH>N6|*@fp`HH|gB`8.?<#NTOJ@g3Bl3BBnp` <.gJ.o -.S.ggD>"/</ 2/-/ N6|g3Bl3BBnp`>!/</ 2// N6|g3Bl3BBnp`V+G -+@I2Gd gR` " Ҽ2ѭ`B` -.+@+m  -NqJL8N^NuNVBW?. /.a:\ONqN^NuNVBW?. /.a"\ONqN^NuNV>?. /.a\ONqN^NuNVHN7r>JGlp`>N60*@.Jn fJnf.=A/.N/.?N4\OJ@g>N73Bl3BBnp`2>B-H?N&6\OBWB-H?N&6\O0NqJL N^NuNVH*n :.H>N6|(@fp`xgB@`lg3 Bl3BBnp`Ng./ / N-zPO`6f./ / a0PO` -EJo.,ggD>"/</ 2/,/ N6|g3Bl3BBnp`>!/</ 2// N6|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -ggD>"/</ 2/-/ N6|g3Bl3BBnp`>!/</ 2/./ N6|g3Bl3BBnp`r+n "-¼Ё&@2 мdJo SR`Jf - o+m .` RB -@Jo>!/./ /./ N6H,ݮ ѭ   - o+m g .`Jf .`gB>"/</ 2$/-/ N6|g3Bl3BBnp``>!/</ 2/./ N6|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH*n(n ..gA-H n(g.?<NTOp`> n(g&L.?<NTO n(Hf >N` n(g Am Zn H| `H n(g*  f$ n(gHH.?<NTO n(gHH.?<NTOp`~l ` <*E.?< NTO.HH̼l0| .?<NTOGJo JoSS`Jo R "ҼNqJL8N^NuNVH*n :.H>N6|(@fp`JnB@`g3 Bl3BBnp`g>// aPO`g>// aPO`f./ / aPO`z-EBJon ,-@B ,gJgD>"/</ 2/,/ N6|g3Bl3BBnp` ,", S¼n@>!/</ 2/./ N6|g3Bl3BBnp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N6|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -gd -ggD>"/</ 2/-/ N6|g3Bl3BBnp`d -"- S¼nB>!/</ 2/./ N6|g3Bl3BBnp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`>"/</ 2/./ N6|g3Bl3BBnp`XR -@Jo\ -l .Юo+|>"/./ /./ N6H".g3Bl3BBnp` . . .ѭ - o+m Jf .`g>>"/</ 2/-/ N6|g3Bl3BBnp`p@ -+@ -"- S¼n$>!/</ 2/-/ N6`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH*n 0.(@.G -:f*HHмBp @g H|`H|TBG  o>|l8 .g2HHмBp @g H|`H"K4G@RGR` .fBRBG  o8|l2HHмBp @g H|`H"K4G@ RGR` + fp`4 nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH>N6|*@fB@`fB@`pNqJL N^NuNVHBG|l>aRG`JLN^NuNVH 0.*@.0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.|e3 Bl3BBnp`.0*@.f3 Bl3BBnp` NqJL N^NuNVH? *n.. (n,.:.BJof.?<NTO+G.x.?NTOJ@g |o89BBp d`BD 2HЁ` 0Hހ0H0Hր0@H` NqJL0N^NuNVH|BG|l B^f B^0`RG`3Bl3BBnpNqJLN^NuNVH>.p2`F@HB^B@NqJLN^NuNVH>.ZGB0>RGJBhf <Bb#Bh#BbByBf(yBh*Tmb80X@me(` 2Ё&@0-G7@&(;G#Bh \`Bhf>a*@ fB`(M*T`JL8N^NuNVH >.|?GG0>N:<*@fB` R*@(M9G.\a 9BhNqJL0N^NuNVH *n](yBhceeebf#Bh`J(T` 2-Ёf T0(m T*`* 2,Ёf 0-l(`(#BhJL0N^NuNV .]-@ n0(=@> aT-@fB`.a@ .g~0. nd=n .d&-nJng n"nRRSn``< .B2.Ё-@0.H@B@H@ѮJngSS n"nSn` .NqN^NuNVH>.HμgR*GB.N|fp`*yB߹B NqJL N^NuNV nH. g nJfB` R` .NqN^NuNVH *n(n HfJfB@`RR`HHANqJL0N^NuNVH*n(n &Mg` NqJL8N^NuNVH *n(MJgR` NqJL0N^NuNVH *n(n >.SGoHfJfB@`RR`HHANqJL0N^NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNVH..,. Jf#B <`Jc #BB`a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuCP/M-68K(tm), Version 1.%1, Copyright (c) 1983, Digital Research1015-0901-000019JgNuStack Overflow$C runtimeCON:LST:====>>> >!>;>P>fAV]av N V ` N V dCP/M-68K(tm), Version 1.1, Copyright 1983, Digital Research1015-0901-000019allbootfilesendEnter SOURCE drive: Enter DESTINATION drive: READ error ----> WRITE error ----> [Copy Ver 1.1 Extraneous argument ignored: %s Source and Destination must be different Copy complete Do you wish to repeat the copy? MODE FUNCTION ALL Copy the whole disk BOOT Copy the boot tracks FILES Copy the non-boot tracks END End this program Enter your copy mode: ALLBOOTFILES (^C to ABORT) RETURN to copy %s from %c to %c%c %s Undefined option: %c Incompatible disks Disk select error on Destination Disk select error on Source ***Copying Tracks*** %d %sTrack: %d Sector: %dCannot open Cannot create CDOSUXcdosux80<4%DEFOX[cdefosxLT\TTLTT\   Bb!!!!"``&NV n  g amP Am PnH|A30< "<`NB0< "<NB9 Yg yfA <2< Q0< "<NC0< 29BNCJg @# h3 3 3ByBy09y nZ29y m ByRy0< 29NC0<29$9NC20< NC0<BANCJ@f.RyXy`0<NCN^Nu"<0< NB`"<`"<-`Do you really want to init disk x ? $~Error $Select Error $Write Error $CP/M-68K(tm), Version 1.1, Copyright 1983, Digital Research1015-0901-654321%`.X N#<#< y<3<A8C<0<GQ yg,r1 g&R gR oR oR oR`r-&NqQQNqL _N`(/*N-N-nN2NuG/ N.GN%KaNu*ݾ<0f G/ N1Nua/*N/ Nu%j%jaa/*N/Nu%jaa/*N/Nu*SG<g&j%j%j`Nu%j </*/*N1xNuG]/ N1Nu`B NuaB***b^.*ު %G/*N1GG|$?|$@|$A|$B|LC|ID|BEB*FB*GB*HB*IB*JB*KB*LB*[B*\B*B*B*B*(|)B*-B*.B*/|3|B*|B*B*BN25@G<%K B*.*<l *d*`G<%K.*%G ,<N^S@R|HB>%G޼ oG/ N-N+.* S%G *~NV%@.*%G枪%G.* &|`|FG]` |FGN%K.m<,ONV(|*$|3XB*-G/ N-*N-&G/ N-*N-&Jg< N-&/*N-BN-n|B*~d pB*aN|Ej|EbaHd aN2`|Hba.d`aB*(*)djy.,޼x< fjB*%j`| *Nfba_[]*?` NVH(|3L$|6B'BgNtLN^NuNVH(|3L$|6<BgNtLN^NuNVH(|3L$|6<?<NtLN^NuNVH(|3L$|694e<BG.?NtLN^ _ONNVH(|3L$|6 . e94 . fB94.aLN^ _ONNVH(|3L$|6J94g<a< a<a94LN^NuNVH(|3L$|6 . W94<zG . f| B***b.a *dLN^ _ONNVH(|3L$|6 . ep` . W . WƎ . WƎ LN^ _ONNVH(|3L$|6.aFd<^a.@.a LN^ _ONNVH(|3L$|6< a< aLN^NuNVH(|3L$|6< /.NLN^ _ONNVH(|3L$|6a/.aLN^ _ONNVH(|3L$|6< /.NLN^ _ONNVH(|3L$|6</.N<fO6 N LN^ _ONNVH(|3L$|6</.NLN^ _ONNVH(|3L$|6</.N4LN^ _ONNVH(|3L$|6</.N4LN^ _ONNVH(|3L$|6</.N4LN^ _ONNVH(|3L$|6</.NLN^ _ONNVH(|3L$|6</.NLN^ _ONNVH(|3L$|6</.N4LN^ _ONNVH(|3L$|6</.NLN^ _ONNVH(|3L$|64G4/ aLN^NuNVH(|3L$|6< BgNtd<BgNt<fp`pLN^NuNVH(|3L$|6<BgNtLN^NuNVH(|3L$|6<BG.?NtLN^ _ONNVH(|3L$|6</.NLN^ _ONNVH(|3L$|6</.NLN^ _ONNVH(|3L$|6%n %n.SG<g&j"j`LN^ _O NNVH(|3L$|6<G4B/ C4J/ av<g/.N<f G/ aLN^ _ONNVH(|3L$|6<f/.NLN^ _ONNVH(|3L$|6<-BG.?NtLN^ _ONNVH(|3L$|6946d G*/ aXaJLN^NuNVH(|3L$|6< BNLN^NuNVH(|3L$|6<G/ NLN^NuERROR CREATING PASSWORD$ LIBX$$$$$$$LIB <$$'`#NBN#8f#8j y8j37A8C70<GQ y8jAC70<QK7 M7 O7 IdE(NBB2//NB _ONB"//NB _ONCOPYRIGHT 1983DIGITAL RESEARCH0102821015-0901-000019AdCC+I,A(CC+I(+O<&j>Jg&j>SJa>`Nu<BgNtNu<BG*P?NtNu< BgNtNuad<BgNtG%KLaaNNu| JaN| JaDaNua%jRLahNu< BgNtNu<BgNtNua5@jV<BG*V?NtNu</*XN@Nu</*\N@Nu<BgNt@Nu<BgNtNu</*`NNu<BgNtNu<BgNtNu</*dNNu< ?<NtNu< BG*h?NtNu<#/*jNNu<.BG*n?NtNuN(<N(0W@o<d5|`<N(0W~o5GNujpVaaNu%jrB%jvF*qSGq<g&jF"jBBF`Nu%jz>>*SG5G|g&j>~>`Nu` *d BG*p*NuBG*#&|7sp&|7 3 pf*#` *[f*#B*G%Kz| ~5|ahBG*#&|7sp&|7 3pcr *!e *,g *:g *[g *=fBG*#&|7p`*# */g *$g *]g *,g~ja`pJ*g*#Nua *=gp`a<Nua * fa * fp`<Nu|JjgZB>*GB>*HG5GB>* 5GJGV*d J*fa`B**<0GJa`Nu5|'|Jjg:*BG*B<*p$B>*HG5GB>* 5G`Nu`8BG*J2p$f*dJ*g*dah`jJaHB*Nu||*SG<g.BG*2p$<0Fa *g *f|,a`NuB*B* *bXBG*&j"j3p1p*pBG*&jB3p FBG*&jB3p HFp*dNu&jB+B+ކB+ކ%G%|B@|JgB*BG* *,*N^p$ *.*N %@ *~ NV%@`jaNuG$%KzB*~5|aLG+%KzB*~5|a6&j5ka&jkB* *b>*d$BG*OB<ܼ,%thG+%Ka*G*dG+%KC$%IarjaNu&j>+OBF+|z nF7G&j+GNu<N(0~&j<+nF<N(0&j>+o7GNu*<AGJa|:JaNuaaNuG%KLaBG*5G5|daNu&j>*SNuG%K`a<.BG*?Nt *~NVNu`:a%j|a\|:JaXahNu&jB+&j7jaNuG%KG%KRaaLG%KLaL&jB+<N(`R@&j7@%jaazG%KLaG%KLa %jataTG%KLa<N(`R@5@aXG(%KLaGR%KLa< N(`H5@a,G0%KLaGR%KLa<N(0R|H5@aG%KLarG8%KLaf<N(0~o5GaG%KLaDGL%KLa8B'N(`5@aG%KLaGV%KLa<N(`5@azG`%KLaadNua^aGr%KLajaa@aGz%KLaB*BG*ؾ|bB<ܼB2h*dG8n%K`aG%K\af *gJ*<|&|8nsp&|8n 3pg*<|B<ܼha*`B*BG*ؾ|b*B<*ڼ2Xd5G5|da*da`Nua5@B*Jjg"*djpaa*`NuB*B*|**bT|B* *b,BG*BF*&j3p2`gB***d*d*` *dpNu`%j>&j> :g&j>SJa>`|:JaNua,@B*arB* *bn*|B<ܼGh%KaG%KLa*<*|B<ܼHGh%Kab**Ga*dNuG%KRaaG%KRaG%KRaGf%KLaLG%KLa@G%KRaG%KRaG%KRaB* *b|a*|B<ܼGh%KaG%KLaB* * b6| Ja**|B<ܼHGh%Kaj*d*d~aNuB*G%K|a@JfJ*fp`* *faF` *fa` *faF` *fa:`*SGGahFeBG*B<ܼHGh%K'|a.S@<gV|*SG<g*G*G`a**@@PaaFd<`G%KRa<Nu*d$G%K`avjnaG%Ka` B*a`5@G%Kja|KJaNuaa|RJaJ*g>**o5G`5j*d|OJ`|WJaG %KLa|aNNua5@B*Jjg"*djpanaz*`aNu` a* 0SG 0<g |-Ja$`Nua(| 6 * 6b4 * 6f |.JaBG* 6&j 23p<FJa* 6dNuBG* 8&j 3pd<`pNuj 9 8ad j :Ja`aNu* ,d"&j <>| o<|NF5G @&j <>O`&j <|5G @&j * B<.F D>* @* D&|8n3p* DfP*3d B*3G%KRaaG,%KRaa&jSa|Ka%j 2ap`>* @* D&|8n3p<Nu| J * Jb:BG* J&j F 3?pg &j F3p<&j3p<gp` * Jd<Nu| M| L* L* 'G L<T* Md`BG* L&jsp (* ,dBG* L&j3p* (J* (g* KdBG* L&jCp%I *S`Nu *gTG7%K*Bݪ&j  d,| KaFG7%K Fad&j<*ga`Nu>* OB<ܪ%F ܼ %F .* ޼%G .* ޼ %G Nu`>G%KRaGv%KRaGf%KLaXGH%KLaLG%KLa@NuaFdp`h *=fatG%K|ab@ .<f | p`6J* .faz`&ahdG%K|a(@ /JfaR<NuBG* OG<3pN`&j + G%KLa`T&j + G%%KLa`<&j + G5%KLal`$&j + GB%KLaT` G%KRaNuB* -Bj * -Fd$>* j dan%j  Fa0@ -j `Nu5j j aF j b.* ޼7mGP%KRada>* OB<ܼ5 hB* & * &bBG* &&j "jpp* &d>* O&j BS&j BSB<ܼBrhNuNV&j +d| & * &b*BG* &&j3p<<f &j 3p* &d&j+ <<g &j + &j Sj6>* O&jBF+B:(ؼrH<-E=F=GN(0&j+ |HnB>.,޼5xB* Ka`&j + d&j j8N^Nu j c$5| Jj caBj Bj $>* UGj $e>* $OB<ܼ5rh a|%j >* $OB<ܼ5rh a\| & * &bBG* &&j3p<F )BG* &&j 3p<E *dZ>* $OB<ܼ5rh ">* $OB<*(ؼڼ5HX>* $OB<ܼ5 "hj | &`* )* *c| &* &dTj $d`NuB* QB* RN(<0RG Pd| Q* d | R* QG%KRaa* Q<GKaja* dG`%KRah`aJGl%KLa* Pd G%KLaG%KLaBj >* j d>* OB<ܼ5rh aa|q&j C%IrG7%KvaFB97* d&G7%KjaG7%K|ala>* OB<ܼ5rh5|'aa>* OB<ܼ>2hOj4>* OB<ܼ>2h|JGgj4&j 5S5|'aP&j >j:|KJala|| 8a@ +&j &j 5S5|aaP| 8a\dG`G%KLaPa,|RJa| 8a.d|OJ`|WJaa* Pdl* +d |XJa`a| 9|A :a| 9|1 :a| 9|2 :a| 9|3 :a| 9|4 :aa%j  2aNj `* Q<'G 0aG%KRaj RKaZ5j:5|'a|KJa"5j65|'aNuBj >* j dl5j ava%j  2aG%KLa* .SG Oa@J* /gG%KLa* /SG Oa &j B+%j daj `NuaH@dJ* .g,<N(`^@H5@ ||fj G8n%KB>* ߪG8n%KzB*~5j a| '<N(`|RG ,d| 'Bj B97?7?7G%K\aa *gHG7%K>*<Bݪ>%j>a* -dj `aabaa`*3FdazJj fG%KRa6`*FdaaHa~`aHNu5| TJ*g ~*o5G T<%?* TNtNu`(G%KRaa&G%KLaB%j XLa8NuG%K|at@ V<faTG%K Xa`N * Vf"axJgG%KRa|`0G%%K Xa`$G%KRabGv%KRaVG%KLaNuG%K|a@ \<fa` * \fa`aNuB* B*|#B*2 *2bBG*2B2p$BG*2B2p+*2d|2|3Bj4Bj6Bj8Bj:B*Bg n 2G/0N\O=@vl" n 2G./<!N XON .z=@~zBW/.z?.vN(\O0<H".z¼6>/?.vNh\O8JDoD .z=@xBGDl.z?.x?.~/<!N POBF|l@0@0@2F0H>W0@0@2F0H?W/<!N \ORFRF`.!N BF|l80@0@2F0H:|| m|fz.>/<!N XORF`.!N znxRG`.Rn~6<`.!N JLN^NuNVH*n -f sgp`BJgn am zn H|`H<<0m<9n HHЁм.`&<Am<Fn HHЁм.`p`R` n B@NqJL N^NuNVHNBW/<!NXO>/<!NXO>/<!NXO-|! .2. HЁ @B=|*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>N/.?<Nt\O. N>/. ?<Nt\O>/<"?<Nt\O>N N^NuNVHIBBn .RdRn-\ fRn-\*\&Lg(K<%gH>/?.a\O`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-HH`@Jng -|^`-|BW/.?<?< // NTJngT`BW/<Bg?< // NT`Jng -|^`-|BW/.Bg?<// NTJngT`Jng -|^`-|<XgBW`>/.Bg?<// NTJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |("r W h0N.N=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>N$`B n ..H?NTO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. Nt\ON^NuNV y"rn*>/ ?<Nt\O|gp`b. H`ZJy"tn4#"z"v>/9"v?9"rNt\O|gp`&3"t y"v R"vSy"t. HNqN^NuNVH><y"t3"t#"z"v>/9"v?9"rNt\OGgp`B@NqJLN^NuNVHBG|l >NN*@fp`H|g>N*>NB@`g.f(>B?.N(\O>/<!'?.Nt\Og,>"/</ 2/-/ N|gp`,.?<NTO>N*>NB@NqJL N^NuNVHN>JGlp`>N*>N*@Jn fJnf.!/.NNXOJ@f 0`B`.!"/.NNXOJ@f0`">/.?N\OJ@gp`0NqJL N^NuNVHN>JGlp`~>N*>N*@Jnf.!/.NNXOJ@f 0`B`.!"/.NNXOJ@f0`">/.?N\OJ@gp`0NqJL N^NuNVH*n :.H>N(@fp`PgB@`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ N|gp`>!/</ 2// N|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ N|gp`>!/</ 2/./ N|gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ NH,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ N|gp``>!/</ 2/./ N|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>N(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ N|gp` ,g8 , l.>!/</ 2/./ N|gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -g -gg2>"/</ 2/-/ N|gp` - l0>!/</ 2/./ N|gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`2>"/</ 2/./ N|gp`R -@Jo*>"/./ /./ NH".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ N|gp``@ -+@ - l$>!/</ 2/-/ N`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH>N*@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >N(@G -:f" am zn H|`H|TBG ) o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0м%NqJLN^NuNVH nep`>N*@fp` NqJL N^NuNVH|BG|l0y$|f y$|0` FRG`pNqJLN^NuNVH|BGnlFRG`0F@y$|B@NqJLN^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf#$ <`ro #$B`bJl D.RCJl D,RCfzB` xm`BJgm`|f D#$ D` #$ NqJLN^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:!0!pCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Usage: dump [-shhhhhh] file Unable to open "%s" %04x %02x (%06lx): %02x%02x *%c* *** E O F *** Cannot open Cannot create CDOSUXcdosux  V  V "z`H-`PCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 o"h&IB[b#E?/ NNNVB odpN^NuNV0/"/ NBd0< AH"NB0<NBN^NuNVJ9Ǝf>N`N2>/<bN`XO#ưHg>N`N~.&Nf yZfJ\m \o >N`b 9\"yƁi y,g > N`6.&Nf yZg >N` y!y\NN^NuNVJ9Ǝf>N`N2BW/<ČN`XO#ưHg 9~Ǝf#HN~`N~ y(g>N`F yh3ȴ3.&NfByȴ yZf* y\(g yh y\#\` yZg>N`JygJyZg> N`Jyg yh y!y\ yZf yh`X yZf yh`@ yZf yh`( y,fN3|rf yhJy0g yh@NN^NuNV>aN^NuNVByaN;09j@Hмd @ 3j0.@Hмd @#Ny09DN~NN^NuNV>aN^NuNV>a|N^NuNV39g >jaX`NN^NuNV>NzX yZg>N`BW/<ČN`XO#ưHfN~` y(g >NX yh  y(g yhwJygJyZg > N`$ y,fN3`N``NzX yZg>N`BW/<ČN`XO#ưHfN~`& y(g y(f >NX yh.a^ y,f>N3>NzX yZg >N`$ 9\"y3@` y1|NN^NuNV yȦm.NN 9"n3@ y XRyȦN^NuNVHByBNyN09DN~BG|l BWNRG`JygN.NNN3g .N09j@Hмd @ NJJyXfNXN\FJLN^NuNVN;JyfNyBy0.&Nf yZg >N`XJyZg > N`DJyf6N>09DN~09H//9\NNPOѹNN^NuNVH yo>9g4*y#ȰNy09DN)~#RJL N^NuNVa>aN^NuNVN;NyByN<09DN~09ѹN^NuNVH yjfJgRyX.&Nf09ZyjgJyZg >N`R 9\l >(N`8#NyN>09DN~#\N;JLN^NuNVNN^NuNVJ9Ǝf>N`N2BW/<ČN`XO#ưHg >N`\JygJyZg > N`@N~a<=@|f >N`" yh 0.H"y#@NN^NuNVH*|lBEa>|g y-f@N3at<|f>(Np`RFn 2AHЁ @0@RG`` 2AHЁ @0@ y/g y,fN3`v0NqJL N^NuNVHBF> yag yAf~`, ydg" yrg yDg yRgp`bN30 <y|N3 y9n y0lJFm|op`FJGm |n0``pNqJLN^NuNVaN;NyN<09D 9309ѹN~N^NuNVN;3NyBy0.&Nf yZg >N`>JyZg > N`*N>09DN~ 9\ѹNN^NuNVNN^NuNV3.&Nf yZg >N`$JyZg > N`#\NN^NuNVByN;09j@Hмd @ Ny.&Nf yZg>N` \nJ\l> N`| \f 3j` \f 3j`3j09j@Hмd @##09j09DN~NN^NuNVNN^NuNVH09j@Hмd @ 9og3jBWBgNOTORl9kg3jBWBgNOTORhB\ByZ> NHBWNLNP~NH.rNHNP.NH~BW??9tNXO|g>/<?9tN\O|g .NNJLN^NuNVBWNL yjg yjf^.&Nf yZg > NX`Z09H//<\N4POJ\gBWBgNOTORS\``09H//9NNPOѹN^NuNVH.&Nf yZfJyZg> NX` 9\8.&Nf yf6 \m \lJyZg>NXB\ByZ0SDJ@g yf\JEf* 9\2AHҼ"ABW?9^NOTORE`( 9\2F@RFBW?9^NOTOBE`8` yfb0@Hм @0^RF>Z?9^NOTO|o00@3ƚJGg>`>NLRG09ƚHѹBF`,0@Hм @0\RF>?9\NOTO`t`JFg.0@E3ƚJGg>`>NL09ƚHѹJLN^NuNV09j@Hмd @ 3j#hBWNLN^NuNV09j@Hмd @ 3j#lBWNLN^NuNV09j@Hмd @ 3j#pBWNLN^NuNV9g& yjg yjf BWBgNOTORBWNLN^NuNV yjg yjf@ 9-@By>NLJoBWBgNOTORS``#BWNLN^NuNVHBG<:.&Nf 9Ȩd]Ȩ yZg yZg> NXB\ByZ yZf09&@|3Z nf \m \lJyZg>NXB\ByZJEf* 9\2AHҼ"ABW?9^NOTORE`( 9\2F@RFBEBW?9^NOTO`6` nfb0@Hм @0^RF>Z?9^NOTO|o00@3ƚJGg>`>NLRG09ƚHѹBF`,0@Hм @0\RF>?9\NOTO`t>NHJ@g`\Ȩ 9ȨeHJEg0FB(RFJFg.0@E3ƚJGg>`>NL09ƚHѹ``JLN^NuNV>aN^NuNV9H=@ nfaZ` nfa`aN^NuNVBWaN^NuNVaJ@g&J\gJyg 3ȶ2ByRyȶN^NuNVaJ@g&J\fJyg 3ȶ2ByRyȶN^NuNVaJ@g&J\mJyg 3ȶ2ByRyȶN^NuNVavJ@g&J\oJyg 3ȶ2ByRyȶN^NuNVa@J@g&J\nJyg 3ȶ2ByRyȶN^NuNVa J@g&J\lJyg 3ȶ2ByRyȶN^NuNVa J@fJyg 3ȶ2ByRyȶN^NuNVaJ@gJyg 3ȶ2ByRyȶN^NuNVJyȶf >N`*SyȶJyf092yȶf3NN^NuNVNyN~NN^NuNVBWNL3:NN\N^NuNV.&Nf yZg>NB@` JyZg> NB@` NpNqN^NuNVH y'g> NB@`BF>N3g. y'g$ y fB@`09"N4G@RG`N3|,g> N`N3|'g> N`|N3g, y'g" y fB@`T09"N4F@RF`NFgB@`2*0Fp@2G@./aXOJ@fp`B@NqJLN^NuNV nH"n HAf nJfB@`R R` nH"n HANqN^NuNVHB@3f333#zP34#Ĉ]Ĉz#?|3 y4m.NN y m.NN nN yZgBy yZfX>9^>a<JFg3|f6RyfRyRy\P yP0 yP!y`N|f~Jyfg >aN`j3Sy yP (g:Ry4\Ĉ yĈ"yP0 yĈ"yP!iSy]P`Sy]P` yP>(>aFm:Ry4\Ĉ yĈ"yP0 yĈ"yP!iSy]P`Ry\P yP0 yP!y`R`@B@3f3Ry4\Ĉ yĈ0 yĈ!y3`` >9JGm6Ry4\Ĉ yĈ"yP0 yĈ"yP!i]PSG`a JLN^NuNVH?BC y4m"0м#P30y4W@ym6 yP g yP (g yP ( gRy\P`0y4W@ym.Pa-@>9@.P\a-@<9@ yP (:|+f .Ѯ>?aTO>`|-f .>?aTO>`0`f/./YNPO`j/./YN4PO`X .`N .`D2.0.-@`42.0.-@`$>ax``H | rW hN>?aTO>yfTC309м#P yP yP!n0"yP@ygT89TDC 9Pм #Ĉy4l0\P\Ĉ yP"yĈ0 yP"yĈ!iRD`Uy4`0R@м @ g"0м @ h?f >an`0R@м @ f0м @ fByZB\3Z``0R@м @ h?g0R@м @ h+g0R@м @ h-g >a`0R@м/0м/a XOD _!@0R@м @0R@м @2Ҽ"AiRCSy4`0 @"|0H3Z|f0м.a#\`D0м @#\ yZf$ y\(fByZB\3Z`0 @"|0H>a JLN^NuNV yZfx y\0(|ff y\(g 3Z`6 y\(g 3Z` y\(g 3Z`ByZ y\#\3Z`4 yZf" y\(g.\a3Z`3ZN^NuNV>NXB\3ZByZN^NuNV0.`$p`:p`6Jygp`*`$Jygp``H |Br W h,NB@NqN^NuNVH *n f-H3@ -` g>NXBy@B`n(m,g .aB`V,g,g>NXBy@B`2,gp`,gp`,gp`B@3@ ,NqJL0N^NuNVJyƌg >NzXJyƌf.>aL|f3ƌ3Z0y#\`\Byƌ>NzX yZf,BW/<ČN`XO#\ 9\HfN~` yZf 09Z09Z#\N^NuNV 9Ȩf*3Z# \09Z#\`p yȨH3Z|f0 yȨ!yJy٠f yf yȨp3Z yȨ#\ yȨ3#\\ȨN^NuNVH>.|Zn|Al|zn|al |9n |0mB@`>/<NAXO|gB@`pNqJLN^NuNV0.n f0.`$JngJn f 0.n `>NXB@NqN^NuNV n f >NX0.n fB@`Jn f 0.n `>NXB@NqN^NuNVJnfJn g >NXB@NqN^NuNVJyg >$NXRy n3&3@3ZB\N^NuNVH:.By##x#<<>N\# f.NN9gR0HйU#V nna ~3> n 2G 0 @ -f n 2G p(HRG`ZRy`hRy*``Ry|`XRyX`PBy>`H0@HЮ @#RG`20@HЮ @#RG`a x`H |r W h4N`^./<`NXO./<`NXO.`NHм`S#ȼ./<NXO./<NXOnmaBWBg n 2G/0N\O3b0@HЮ @#Z n 2G.NF>/<NxXO3tN3L yȼHN3٢ yȼzN3x yȼ`N3 yȼJyg#H3,DBG|~nh0@HмČ2AHҼČ"A"0R@@HмČ @ 0@Hмb2AHҼb"A"0R@@Hмb @ TG`BW/<*NXO>/<NXO>/<.NXO>/<3NXO>/<NXO>/<8NXO>/< /<?NXO> /<ENXO> /<JNXO> /<ONXO> /<TNXO> /<XNXO> /<NXO>/<NXO>/<[NXO>/<_N*XO>/<eNXO>/<iNXO>/<mNXO>/<uNXO>/<zNXO>/<NXO>/<NXO>/<NXO>/<NXO>/<NXO>/<NXO>/<NXO>/<NXO>/<NXO>/<NXO>/<NXO> /<NXO`N^3jByBByȶByȦBy٠33(3N3Jyf.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#~.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#D.H/<NRXO>/<bN`XO#\.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#F.H/<NRXO>/<bN`XO#Ɩ.H/<NRXO>/<bN`XO#Ȭ.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#N.H/<NRXO>/<bN`XO#J.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#Ă.H/<NRXO>/<bN`XO#٤.H/< NRXO>/<bN`XO#ȸ.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#z.H/<NRXO>/<bN`XO#.H/<#NRXO>/<bN`XO#.H/<'NRXO>/<bN`XO#.H/<NRXO>/<bN`XO#Ȱa$JLN^NuNV.+NNN^NuNVHJyg09(ymBGByƌa`#N LJLN^NuNVHB@3,3b3`33B@3$3"333.B@3^333| y fN3` y f@BF y fN3` y g09Jyg3 Jygn y*f8N3 y=fN3N RNByƌ`3w y fN3`3Ȥ>NzXByȤ y:g y=fBF yZg>NXB9Ǝ`.(yH*|ƎƖd:` y:f N3NHJyg y*fN`>NzX y:g y=f*J9ƎgNa.H/<RNRXO`L`B9Ǝ y fN3` y=g yZf y=^f N` yZg`\JFgA-H>/9H/.a PO>/<bN`XO#ڰHf8JFg>/./9Ha bPO`Jyg >NN`Za` y(g y (>Jyf|m|o N`Jyg6JGm|m,| g&| g |g|m|o> N`0@Hм @&PN``*Jyf N``Jyg> N` y (3 y0(|3Jy^ga^J@f >N`Za,NyJyga$`N y0(|3a>09DN~0HѹJL8N^NuNV y.fN309`N33b`R33w`@33l`.093.`D`H |HrW h NRy^N3 y fN3``0 9ڰzf33l`3w3N^NuNV09`~B@` yfB@`p`x yfp`B@`d yfB@`p`P yfp`B@`> yfB@`p`, yfp`B@`p``|b@0@ PNN^NuNVH~09`8TG>aR@BWaJ@`6Jy^f BWa6@` ylfp`p`` Jyg >a T@`>a@`TG` yDfR 9f*9`$ 9f*y-g*-`` `` 9Tn lJy^g yoTG`p>av ylfr`rA@`PJyg ylfp`p@>a>@`, yfBWaj@``S@|b@0@ PN0NqJL N^NuNVH0n"|Jpg ylfp`p`>a NqJLN^NuNV0n"|`Jpg,0n"|,Jpf0n"|Jpgp`B@`N0n"|Jpf0n"|,Jpg&Jy>g0.@Hм, @ Pfp`p`B@NqN^NuNVHJ9Ǝg.H/<ƎNRXOBW/<ČN`XO# 9ưHg` 9~Ǝf#HN~`B y(g>NXB`z y(g>NXB`X`N~ yh yjf0<` yjf0<`0<"yƁi y!y`BJLN^NuNVHB@33~>Ry+3~ y'g y"fBGBWNzX yDf yf yBfaVa yZfh y,^f^ yf*0y"|,Jpf09@Hм, @0JGg >NXRG y fN3``BG \f yZg y fN3``JygH yf*Jyf"JybfJy.fJyf y$m## 9\f4Jy"g,Jy$g$Jy`gJybg#Ȭ#ȬJGg >NXJLN^NuNVH yZfZBW/<ČN`XO*@Hg@-g8 m.#ƖNya&3Z#,\a3ZJL N^NuNVHBy~ yZfZ y,^fJyfRyJyfRy y ^f y gN3``f y ^gZ`3~ yDm.gNN09Z"yȨ yZfBW/<ČN`XO*@ yȨ!MHfN~RyD\Ȩ-f(0y"|0029AHҼ"ARQ` -29AHҼ""A2``j yZf`Jy\g" y\g09@Hм, @0`*0y"|,Jpf09@Hм, @0 yfa4 yȨ!y\09Z"yȨ@RyD\ȨJL N^NuNVH y,fJyg.9\ yDg* yDf 9 f y-f D.*yf@Jy^g yfm"n##Ry`TJoo`F~gf 9##`"gf 9D##JL N^NuNVH *n(n >.0SGJ@g`JL0N^NuNVH*nBGJgH. f0`RG`pNqJL N^NuNVH*nB@;@;@;@:Bp;@ ;@ JL N^NuNVH0.@H*@RBF.a>#/9ȨaXOJ@g& yfp`09;@:<\Ȩ`Z>(/9ȨaFXOJ@g\Ȩa>|f ::;|`D|g]Ȩa2>JGl&JFf a`|g>NX`J]Ȩ`0|:>,/9ȨaXOJ@g>/ a&XO`a|g8JFf >+/9ȨaXOJ@g \ȨU`JFg U(;|`U>W a `>-/9ȨaZXOJ@gX\Ȩ>(/9Ȩa@XOJ@g8\ȨaR>JGl  Ȩ`"0| :a>W a`^]Ȩa>gr:9|g |fJEg >NX|g|f0|g*|g$|g|gJEg| gJEg >NX;G >W a:`a>JGm2: yf|m|n >NX>W a`.&Nf 9Ȩd]ȨJyg;y& By+y\;yZ>(/9ȨaXOJ@gRF`JUf0Jy>gJy\g y\f :8;|` :9;|>W aZJL N^NuNV\Ȩ/.a _1@ nJh m n h o >NX n1|>)/9ȨaLXOJ@f:/.a| _1@ nJhm n ho>"NX nBha>W a n f nRP` nP0N^NuNVHa2>|m|n 0|``|g]ȨpNqJLN^NuNVHa,>JGm |n0``|g]ȨpNqJLN^NuNVH yȨ f yȨ*h-g \Ȩ0-`pNqJL N^NuNV>)/9ȨaXOJ@g\Ȩ` > NXN^NuNV .d n f n0(n gB@`pNqN^NuNVH9H*|BF|l a|:RF`J9g*9H>/<NXOJ9fB@`>N9H|SG0SGJ@gBF|la":RF`` 9g|pNqJL N^NuNVH 9xe <xd(.x/<x/9/<N NJyBnh#x>/<x?9LN\O>|g6BWa^3v.?9?/<NPOBWa4N3B y>SyBTT0NqJLN^NuNV 9Ȩep`&>,/9Ȩa*XOJ@f>NXB@`pNqN^NuNVH BJyȦg*|BGyȦl .aXRG`(yHd0,|f.a6`Jy*g3:a.NRy 9HH<.I?<?/9NxPOBF(yHd(|o.NaBF.a@`JL0N^NuNVH *n(n >/ / NyPONqJL0N^NuNVH *|ČƈdHI @Jg8(T,f$Jy|f,g0,|9@.N g(l `P`JL0N^NuNVH*nJy*f-f .a`&MBG|l.?N TORG`.?-N TO-g$.BgN TO.?-N TO`$.?-N TO.?-N TOJL8N^NuNVRylJyf4 y0o3:a.NRyRyByh./<5NXO yh@RyhDo.;NByhN^NuNVH *n-f- gB@`(M./<=NXO-g.DNp`-gn>?-aTO>?-aTO-g.TN`8-g.\N`"-g.dN` .lN`Ryl.tNpNqJL0N^NuNVHJy*grJygh>9ƚ3ƚ09nyFlRa>n/<+NXO.N>a*> aN3JygRyn`3ƚa*>F/<NXO>?9a~TO>?9anTO> aLJnf.N`X*|BG09ƚ@@l>?a2TORG`9ƛg >?aTO> a|l.NRG`09nyFn nf > a`&BWa,Jyg> aN3RynJL N^NuNV y gJyg>apN3`N^NuNVJy*gNRy09|:md/</<NPO.Z/<NXO3N^NuNVH y RJ. g <>b. 9>>/<?9vN\O#JLN^NuNV0yj"|Jpg:> 0yj"|p?00.|Wa\TO09j@Hм @BP`@0.@29jAHҼp"A20yj"|0029jAHҼ"ARQN^NuNV09j`l.?.N TO.r?. N TO`Z.Ɯ?.N TO.J?. N TO`4>'NX`(. NN`|g|g|g`N^NuNVH >9ƚG*|(|60SGJ@g >?aFTO`JL0N^NuNV.NH.ƜNH.h9`H??9xaZXON^NuNV.NH.JNH.l9zH??9٢a XO.h9H??9aXON^NuNVH>N0. "yȼBW/<`NxXO=@J o  o<<` . <>/<x?.N\O>Fg.`/<6NXON>/<x?9tN\OGg.]NN0H `xJLN^NuNVH| BGn l(:.B0e|| mp7`p0@>aYFRG`JLN^NuNVH n>|8|g |(g|0fp`|8f n0||np`B@NqJLN^NuNV>,/9ȨaXOJ@g \Ȩp`B@NqN^NuNVH*n0@|``6.a:`, n l >#NX0-|2- t aA2-t aA>Jmg >NX yT0TT yBPTTyƚ`0|`~.aBm.a`Jmg,0-yjg >NX09ƚHйBm0||g2.a``T.a yf .aBm.a@`4`|b@0@x PN`|g|g|gN`JL N^NuNVH*n yT0TTJmg mg >)NX m g 0- @|`0-"y2TTyƚJL N^NuNV yT"n0TT y0TTyƚN^NuNVH*n 0.r `y0. y0y.aJL N^NuNV0y"|.00yby yf.Ra^ByV.Ra.Ra.baxN^NuNVH*n yfJmg mg >*NX`< yf2Jmg mg >+NX mn mn >+NXJL N^NuNV y<RgB@`09b|8|g09b|8|8f09b|gB@` 9ڰ~f#` 9ڰf#N`n 9ڰJf #`R 9ڰf #`8 9ڰ\f #Ă` 9ڰ٤f #ȸ`B@`* y3 y0(|3a pNqN^NuNV yf09R|8|f >NXN^NuNVHa>|o0`|g]ȨB@NqJLN^NuNV nJPgB@` n0( n fp`B@NqN^NuNV nJPgB@` n h m n h np`B@NqN^NuNV3Rb3Td#Vf3Zj3\l3^n3`pN^NuNV n0|8|8f nJo n(g n (D` n (-@ yf m o >#NX`* yf n .l >)NXN^NuNV ynf 3` yg3>"NX.Ra"0y"|.00| NXp` >azB@NqN^NuNVH?#xByBBBB9z>LN yȼH>?</<`Nx\O3LNG>J@gz# y(fF y0(|39H3N yf yNg 9ڰf9H3j|f9H|309м#9H33#Ȩ 9#.&Nf 9T\ yZflJyfbJyZgX y f\ \m \n 09NU@`& 9\m \n 09NY@`B@<JFg#`2 \m" \n|J\f #``X>a0Hހ09J9f>B?9LN\O( 99H&BW/?9LN\OJl.xNN>/<?9LN\OEg.NNBW/?9LN\O` 9ڰfl``~JLN^NuNVH >.*|ČƈdHI @Jg8(T,f, g,g ,o0Hg(l `P`JL0N^NuNVH #x3:ByB0<3L3ƞ3t33t#3٢r#zv3xƜ#ƤƠ3J#RN3`9og,Rl#l9kgRh#h#p*|BG|l.?N TORG`BdBhBlBpB3j3٠>bNBWBg/9ZN\O3bJybl.Z/<NXON>LN yȼHBW/<`NxXO3L3nN3NG>J@g 93F09FytmBG#9H|309м#9H39H3N3#ȨBy3ƚ y(g y (>0@Hм @(PN`a`8JL0N^NuNVHJ9gN y0(|3ByĆB\ByZ3ƚ y (336#T#8 yo>Jyf > NX`* yoN`0y"| 0 @N 9ȨdJyĆf >NX>NL09NHѹJyĆf09Nyƚg >&NXNPDJLN^NuNV.&NfJyg8Tyƚ 9\"yT2TT09&@|"y2T` 9T\ yZf09Zyjg>NXB\ByZ yNfN 9\m \o >NXTyƚ 9\"yT2TT yBPT`2 \n \l >NX09^|yJ\fJ# y3#T yf yT"y0TT38RyĆN^NuNVHNXJ@fb yg yfz>/<bNW XOJ@f>/<bNW XOJ@gL yf #N` # y3 y0(|3NXX`*|$Jybml yblb 9ڰg 9ڰJf yRm yRn >NX.R0y?5?9bNTXO`^`ZJyRm yRlx09b|8|mf09b|8|8f 09b|fJ y:bg y;bf > NX.b0y?5W?9RNTXO`` ybm ybn 9ڰ~f #`@ 9ڰ\f #F`& 9ڰf #Ɩ` >NX`Z y0(|3yb*|B.R0y?5?9bNTXO``NUJ@f >NXJL N^NuNVNXJ@f ygJyg y f4>/<bNW XOJ@f>/<bNW XOJ@gNXX`h y<Rg > NX`R09b|8|g009b|8|8f 09b|f y:bg y;bf >NX`NTN^NuNVHNXJ@f>/<bNW XOJ@gx3D yg yf >"NX.RNW4J@g >NX09Ry09R|8|f > NX.RNR`h>/<bNW XOJ@g 3F`r>/<RNW XOJ@g yg yf >"NX.bNW4J@g >NX09b|@309b|8|g009b|8|8f 09b|f y:bg y;bf > NX.bNR`>/<RNW XOJ@gJ yf >"NX ybm ybo >!NX09b||Nh3`,>/<bNW XOJ@gJ yf >"NX yRm yRo >!NX09R||N`3`:909@Hм8 @0yNV09Ry.RNR09b|r `y09b|8@y.bNR|@f09b|8|g >NX`8 y:bg y;bf09b|8|f y<bf >NXJLN^NuNVNXJ@f* yf09@Hм$ @0y`l y fb09R|8|f09b|8|g >NX0y"|$0029R|A29b|t aAy`JyRm> yRl4Jybm, ybl"09R|29b|t aAy`P09R|8| f609b|8| f&09R|29b|t aA|y` >NXN^NuNVNXJ@fJybm ybm\ 9ڰ\fD09b|8|f09@HмV @0y`NUJ@f>NX` >NX 9ڰ\f"09@HмL @0yNV`09R|8|f >NX09b|r `yRy.RNRN^NuNVNXJ@f. y<bg0Jyg y:bg y;bg ybm ybn >NXJyRm yRl09Rr `|y`\JVm" Vn9cg Vo >NX y<Rg >NXy.RNS yf09b|8|l >NX`&Jybm ybm yf >NX09by.bNRN^NuNVHBWNB` 9Ȩe,JyRm yRlNWh3<R#VJybm ybm >NX Vm Vo >%NX09X|r `29AHҼ$"A2Ayby`(>9|?Gy0yR|y09R|8|m:09R|8|8f 09R|f y:Rg y;Rg yg >NX.RNR`NRfJ@f> NX`>NB`Jybm ybm >NXJyRm yRl09Rr `| y` y<Rg >NX,`0y"|$00ybyJLN^NuNVBWNB` yfh09@Hм$ @0y09R|8|g009R|8|8f 09R|f y:Rg y;Rf >NX` yf> yRm yRo y:Rg y;Rg y<Rf >NX`R yf. yf y<Rg >NX.RNR`4`.RNRJ@f >NX09Ry.RNRN^NuNVNXJ@f yf4 yRm yRo >!NX y<bg >NX`TJyRm yRm >!NX09jyjg >NX 9Tf.bNWByj09R|y.bNSN^NuNVHNXJ@f8JyRm yRlxJybm2 ybl(09R|r `29b|A|@y` ybm2 ybn(09R|r `29b|A|y` yRm yRn ybm0 ybn&09R|r `29b|A|Hy`XJybmF ybl<>9R3bR3b09R|r `29b|A|y` >NXJLN^NuNVBWNB` yf.JVm Vo >NX09Xy`| yNXf yRm yRo >NX`@JyRm yRm >NX y f09@Hм` @0y09R|yN^NuNVHNXJ@f ybm ybo >!NX yf ><.RNRJ@f >NX`09@HмB @>.R??9bWNTXO yf y9Rg .RNWJLN^NuNV yf0.RNB,3<R#VByZ>NB`` NXJ@f y<Rf009b|8|8f 09b|f y:bg y;bf >NXJVo Vo >NX yf09b|8|f >"NX0y"|$0029X|t aAyby.bNRN^NuNVHBGNFh|f yȨ fH yȨ g]Ȩ.vav:` yȨ (:\ȨNRfJ@f > NX`><BWNB`JGgJNRfJ@f > NX yȨ g.a:` yȨ (:>a:\Ȩ`.RNRJ@g>a:<9R|8.RNRJ@f|g| g >NX yfy@0yRy yT0TT yBPTTyƚ.RNRJGf0 y:Rg y;Rg09R|8|f >NX`09R|8| f >NXJLN^NuNVH*nBENFh>|g>-/9ȨNG XOJ@g:\ȨNFh<|f >(NX`NFn 2AHЁ @0@RG`` 2AHЁ @0@>//9ȨNG XOJ@g\Ȩ```nJEf >(NX0NqJL N^NuNVH. g0<`B@:~<<@JGg0ngFGF`0NqJLN^NuNVHNXJ@fJyRm yRl><<9R*|b`.Jybm ybl><<9b*|R` >NX0|8|(g >NX yf|@02t aA2|Ay yT0TT y0TTyƚJL N^NuNVNXJ@fn y<Rg >NX Vn Vl >NXJybm ybm >!NX09br `29X|AyN^NuNVNXJ@f>/<bNW XOJ@f>/<bNW XOJ@g6#ȸ y3 y0(|3NXX`JyRm yRmNUJ@f>NX09b|8|g009b|8|8f 09b|f y:bg y;bf >NX09Rr `29AHҼj"A2Ayby.bNRN^NuNVH n o.BG<. SF0H*@Fl / 0HЮ/ nNPOJ@nRG`ܼGo / 0HЮ/ nNPOJ@mSF`ܾFl&>0HЮ/0HЮ/aPOFm>/ 0HЮ/aPO0. S@G@l>.?.?/.a,PO.?.?. SW0W0R@HЮ/aPO`<.?.?. SW0W0R@HЮ/aPO.?.?/.aPOB@NqJL N^NuNVH *n(n >.g0SGJ@o RR`JL0N^NuNVH *n(n >.SGoHfJfB@`RR`HHANqJL0N^NuNVB9 y g09(`09(S@H##09#09j#3D#ȨN^NuNVH y'g y"f aJ@f~BFK y m|f y.fz`j yZn yAl6 yzn yal" y~g y_g y$fJFgz` y9n y0mBE`z0G@Hм @:|g>09RFaR3`F0`$B3Z.H/aXOBW/<ČaXO(@ .~g^JyȤfV0,|P|@fH, gp`p3Z#\,gp`,gp`,gp`B@3Z`>//YaPOJ@f >aZB#\3ZByZ`f09`Jyg By`Ry03jZ#\Jngp`p3Z`>a`>a`>a`0y"|0029AHҼ"ARQ`60y"|`0029AHҼ`"ARQRy`-SyNq3Z0y#\`H |rW hN y g ad3 >\f y>g <\f y<f a.3`a`J@gڰ|gj|g`JL0N^NuNVH y'g y"f09Jyȴf yZfP y#^fFH>axJ@g(a3Hyg>aa3Jyȴgp`B@`0H>a2J@g 3Z#,\ByZN>`B@NqJLN^NuNVH>.BFBza&3gyfa3ygBE`` y f >a>BE`J 29H(RF0ym*a3Gfa3BE` 09``vylRF`3Z#\ByZJyȴfN>0NqJLN^NuNVH0.`~`,~`(~`$.&a a`|g|gܰ|g`Ba3<9|9n |0m|0`,|Zn|Am0| `0<|am |fn|``JFmnl 22HЁ*```#\3ZByZJLN^NuNVH*n BBGnlB n H<R |9n |0m|0JFm| mB@` "Ё2HЁ*RG` n pNqJL N^NuNVHJn g| yH .f yHB(|`BFBG|lV0HйH @ Zn$0HйH @ Am yH0`H| ` yH0`H2HҹH"ARFRG`a^@HЮ#v yv*h f*yH` yv P!yH (M&yH~JGgLg*m `SG` NqJL8N^NuNVHBF*yHBG|l H@RG`0|~NqJL N^NuNV yv H yvJf yv!yHH 9HVe4>N\f.>a a`Vy2DN^NuNVH.H/.aFXO>/<baFXO*@Hg>a*a`aFm0n +HJL N^NuNVH *n(n ~Jg JGgSG`0SGJ@gB`JL0N^NuNVHJ9g9HB9ؾ|gSy `lJy"gSy"p ``VJyn6>/<?9bN\O3JynB@`x# yH>RSy|g| f3 Jy٠fRy(| f"p29 |Ay"09"y ~ Ry 0NqJLN^NuNVHJ9gad*|9H|0SGJ@gBF|l>aRF``JL N^NuNV 9xe <xd.UNa <xb>>/<x?9LN\O|g>/<naXOa^#x y0TN^NuNVJy٠g0RyĆ0nSH"|.?9F/<N\O`<0nSH"|. y f ?9(SW`?9(/<N\ORylN^NuNV>atJy٠fa N^NuNV.aRylaN^NuNV y gJyg a`3`aT3| f`N^NuNVJyg, y f a(3` y f a3aN^NuNV3laN^NuNV yȼH.`N` yȼz.`N` yȼ`.`N` yȼ.`N` ylgJyg > NNBWNNJylo$3v>l/<NXOBWNNJyg .N`JylfBW`>NN^NuNVH n f>?</.NN\O`>?. /.N\O>JGl>/./<aPOa0NqJLN^NuNVH yȼ$R9$>?</<`NN\O<JFm0`.aapJL N^NuNVH *yH(|ƎƖd:B\`JL0N^NuNVH>Bg/<N\O>JGl./<NXOa>/<Č?N\O|g`>/<b?N\O|f>/Y?N\O|f .>/9?N\O<0H".fv0HH@J@ff0Hй#H&yS*|Čƌd Jg ѕX`*|bbd Jg ѕX`(yHdJ g Ѭ `>NJL8N^NuNVH>?</<NN\O>JGl./< NXO`&yS*|Čƌd Jg X`*|bbd Jg X`(yHdJ g `>/<Č?N\O|g`l>/<b?N\O|fR 9H<0HH@J@g`40F-H>/Y?N\O|f>/9?N\OFg./<&NXO`>NJL8N^NuNVBWNN3vJy*fNN\>(/<FNXO>?.?.?.?.?. /.NN^NuNVH *n(|Jg` ,.g .o`|oBJL0N^NuNVH (yH*|RZd:`JL0N^NuNVHNBW/<aNXO>/<aNXO>/<aNXO-|W .2. HЁ @B=|*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>NBWBg/ RNN\O|g.R/<[aRXO` N2n!MRn` N2n!|.?.N(TONqJL N^NuNV.NL>/.?<N\O. NL>/. ?<N\O>/<j?<N\O>NN^NuNVHIBBn .Rd-Rn-\ fRn-\*\&Lg(K<%gH>/?.a\O`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-HH`@Jng -|`-|BW/.?<?< // NNTJngT`BW/<Bg?< // NNT`Jng -|`-|BW/.Bg?<// NNTJngT`Jng -|`-|<XgBW`>/.Bg?<// NNTJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |lr W h0N.N(=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>NN`B n ..H?N@TO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. N\ON^NuNVH*n ;|A+HJnfB@`p=@>?</.NN\O:NqJL N^NuNVH*n Jmn*A+H>/-?N\O|gp`;| m RSm. HNqJL N^NuNVH*n .0.@?WaTO.?.WaxTO0.NqJL N^NuNVH*n><m;|A+H>/-?N\OGgp`B@NqJL N^NuNVHBG|l >NRG`BBgNTOJLN^NuNVH>N*@fp`H|g>N8>N,B@`g.f(>B?.N\O>/<k?.N\Og,>"/</ 2/-/ N|gp`,.?<NTO>N8>N,B@NqJL N^NuNVHN>JGlp`>N8>N*@Jn fJnf.a/.NXOJ@f 0`B`.f/.NXOJ@f0`">/.?N^\OJ@gp`0NqJL N^NuNVHN>JGlp`~>N8>N*@Jnf.a/.NXOJ@f 0`B`.f/.NXOJ@f0`">/.?N^\OJ@gp`0NqJL N^NuNVH*n :.H>N(@fp`PgB@`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ N|gp`>!/</ 2// N|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ N|gp`>!/</ 2/./ N|gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ NH,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ N|gp``>!/</ 2/./ N|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>N(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ N|gp` ,g8 , l.>!/</ 2/./ N|gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -g -gg2>"/</ 2/-/ N|gp` - l0>!/</ 2/./ N|gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ -. o+m .`2>"/</ 2/./ N|gp`R -@Jo*>"/./ /./ NH".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ N|gp``@ -+@ - l$>!/</ 2/-/ N`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVn n o0. r `=@ Wn > 0n /?.N\ONqN^NuNVH>N*@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >N(@G -:f" am zn H|`H|TBG  o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVHN>JGlp`(>N8>/.?N^\O<>N,0NqJLN^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0м΀NqJLN^NuNVH nep`>N*@fp` NqJL N^NuNVH|BG|l0yf y0` FRG`pNqJLN^NuNVH|BGnlFRG`0F@yB@NqJLN^NuNVH. gRn*y0.H.N|fp`*y0.Hѹ NqJL N^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf# <`ro #B`bJl D.RCJl D,RCfzB` xm`BJgm`|f D# D` # NqJLN^NuNV/. n/Np"n"N^Nu/ *o// /NNPO**_NuNVBBJlDRBJ lD RB0. -@0.2. An=@ .gDN^NuNVH *n(MJgR` NqJL0N^NuNVH*n(n &MJgR`g` NqJL8N^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:@ @ overflow of external table 68000 assembler initialized end statement not at end of source I/O error on loader output file !&*/<>!4!*!!!>!N!^!&()*+-/<>^% % %%"%% % %%%% %Fexpr tree overflow expr opstk overflow _~*.@$%'a6xxxxAas68symb.dat L  J     R  hN2h0@vN<6RpRN 1BOj .=Ld} %2M^rendequeven~.yxzorgFILNPUfilnpsu))))))))))))))BLSWblsw88<88*88<88*8N89`9`9`99*9<99`99`9*9N8889`9`89`889N9`9`99`9`9*9N9N9:p9:999:9:9::999::999::999::99@(#)as68 - Nov 12, 1982CP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019label redefinedinvalid labelinvalid opcodeno label for operandopcode redefinedillegal exprundefined symbol in equateinvalid first operandinvalid second operandabsolute value requiredno code or data allowed in offsetundefined symbolillegal index registerillegal constantillegal extensionconstant requiredillegal formatillegal stringillegal addressing modeillegal relative addressinvalid bit rangeillegal text delimiterunexpected endcendc expectedrelocation errorsymbol required.bad use of symbolinvalid data listmissing )register requiredillegal sizeillegal 8-bit displacementillegal externalillegal shift countinvalid instruction lengthcode or data not allowed in bssbackward assignment to *illegal 16-bit displacementillegal 16-bit immediateillegal 8-bit immediateSymbol Table Overflow opddatatextsetdcgloblxdefxrefcommbssdsorgmask2regdcbcomlineidntoffsetsectionifeqifneifltifleifgtifgeendcifcifncoptpageaddaddiaddqsubsubisubqcmpaddacmpasubacmpmandandiororicmpieoreorimovemoveqexgjsrbsrnopUsage: as68 [-p] [-u] [-l] [-n] [-f d:] [-s d:] sourcefile i.t. overflow S<S2SFSFSit sync error itty=%x doitrd: buffer botch pitix=%lx itbuf=%lx end=%lx it read error i=%d errno=%o itoffset=%ld S y m b o l T a b l e && UNDEFINED SYMBOLS && %8s %-8s ******** EXT DATA TEXT BSS ABS *UNDEFINED* %4d %4d C P / M 6 8 0 0 0 A s s e m b l e r %s Page%4d Revision 02.01Source File: %s & outword: bad rlflg & Read Error On Intermediate File: %s & Object file write error seek error on it file write error on it file aVcdgh_ik mgnDopZmqqqpZnDruvbvmmhgpZmq@@0 @@@ @  @ @Unable to open file %s #$%()*@||j||||(|v|Ainvalid radix in oconstsymbol table overflow doitwr: it buffer botch it write error errno=%o && %d: %s & %d: %s as68 abort & %d errors can't open %s errno=%o Unable to open temporary file & Unable to read init file: %s & Cannot create init: %s & Write error on init file: %s & %d: Cannot open Cannot create CDOSUXcdosuxL$L$`L# # O y C <aX0< "<NB& y $ 0<"< NB f"JCg00< BNB0<"< NB g0<"< NB0<"< NB @fA (ШШ мм h`fJhfAC hE #J"(#A#ABiB9 0<;" NBJ@f"0< NB$i %h.i/ /9 /*A8C8 <aDNuDDT1 68KSkQNu0< 2< NB/9 Nu Cannot load DDT1.68K. $Copyright 1983, Digital Research.1015-0901-000019/`3 ZNV.HBG|l( N2G!|^ N2G!|~RG`BP-|T-nTN3-@XBn\BBBn..P///./P/.a.a-@f` nH`./.aXO`.P///./P/./.a`X.aD`L.P/.N XO`4.N V`&../.N XO`./.N vXO`.N `./././.Nv `.N`>//P/.ND `BW//P/.ND `j../.NXO`T../.N6XO`>.P/.NXO`(.4?N2``|D|b@0@3 PN`:JLN^NuNV.4QN2 n ( ]g*././././. /./.\a\N^NuNVH *n.4}N2R.?< N3lTO> N-HJFg M2FB(IJg am zn H|`HR`IBG  o m FlRGR`FfB@` NqJL0N^NuNVN^NuNV.PN=@.]/PN^XOJ@f$.N\J@g n -P` N(B@` ng .gR.PNJ@g$./PN^XOJ@f N(`` .м-@.N\J@f N(` .2.HR-@ .bTN0J@fZ.N> N> N=| -n .мd .м` .-@ .br0.`4 nH>N`6 n0>N`& n .N``|gư|gҰ|gNq> N0.@R@n0.HѮ` n<@RnDl > N`-n .мd .м` .-@ .b nH>NR`> N` .2.HЁ"n "N^NuNV.PN.4//PNNPOJ@g6.N\J@g(. /././././. /a`N(N^NuNV.?<N3lTOf> n ( g.4N2` ` n|6 n|8 n|K ```-n n -P-n Bn.?<;N3lTO=@0.`-n n0 n"n!i n"n!i  n"n!i n"n!i n"n!i n"n!i n!n n!n n"n -nY n YY n"n n!n n!nJ nBh n"n  n"n  nB(\ nB(8Bn n l& n2n| ] n2n| 9Rn` nB(| nB(X nB(h nB(D`\.4N2`X`L.4N2`H`<.4N2`8`,.4N2`(``J@g||g|g|g`.NfN^NuNVH.PN>.Y/PN^XOJ@g` N(B@`|g.g N(B@`p.PNJ@g.Q/PN^XOJ@g` N(B@`@.PNJ@g./PN^XOJ@g` N(B@` .N\J@f N(` .b.|f nJm|f .nJl N(B@`0HЮ".Rb0`v ."n nHH".|g .N:`\ ."n2 n0H".g .N:`6 n n g .N:``|g|g|gNq0HѮ`TJLN^NuNV.PN n -P./PN^XOJ@g-nBn.PNJ@gP n m N(``:./PN^XOJ@g N2n!nRn` N(``.N\J@f N(B@`Bn0.nl4 N2n2n"6"A1Q0n 6 @0JRn` n . N1Bn0.nl"0n 6 @"N4n0Rn`. NjN^NuNV.PN.Y/PN^XOJ@gf.PNJ@gX.Q/PN^XOJ@gD.N\J@g6 .Ю.N> N ..N> N`N(N^NuNVH n PgN(`j n &h*nRIBJgR`G.5/ \/PNNPOJ@g(.PNJ@g.5/ 8/PNNPOJL8N^NuNVH.PN.Y/PN^XOJ@f$.N\J@g n -P` N(B@`.g N(B@`.PNJ@g&.Q/PN^XOJ@gBG` N(B@``-n~.N\J@g .c N(B@`dBF .c JGgT| lNN0J@fD.N> N#@N!|> N09@HѮRF n `JLN^NuNV.PN.Y/PN^XOJ@g` N(B@`.PNJ@g.Q/PN^XOJ@g` N(B@`t.PNJ@g./PN^XOJ@g` N(B@`@.N\J@g .c N(B@` .b n"nRR`N^NuNV.PN.5 //PNNPOJ@g.N\J@g.?<N3lTOf.5N2`B. n -P-n -nBnJnfH .мn8.?<N3lTO.?<N3lTO=@`Jnf .5"N2 n0 n!n .Ам"n#@.Nf n `N(N^NuNVH.PN>.Y/PN^XOJ@g` N(B@`^|g/.g N(B@`D.N\J@f N(B@`*.N> N0`4 nH>N`6 n0>N`& n .N``|gư|gҰ|gNq> N|S.?< N3lTO> N N.H=AHB(Jnot ..fB@`rA-HR . @Jg2 n am n zn nH|` nH"n`A-H.Q/N^XOJ@g` N(B@`R . @  f` nJf.|f nJm|f .nJl N(B@`0` ."n nHH".g .N:`f ."n2 n0H".g .N:`: n n ".g .N:``|g||g|gNq0HѮ`JLN^NuNVH.PN.Y/PN^XOJ@f-|.N\J@f N(` .SJg\ n , F>|NBg|NCfT F> F0J. N1 F0` . N2Jng . NjN0J@gB`Jnf . Nj n"n JLN^NuNV.N\J@g . NfN^NuNV.PN.5D//PNNPOJ@f N(`X.N\J@g2 n Pg N(`6 n -h n (ЮS-@`d.PNJ@gL./PN^XOJ@g4.PNJ@g&./PN^XOJ@g.N\J@f N(`.?<N3lTO.?<N3lTOf.5HN2`nB. .ذnL.?<N3lTO.?<N3lTOg.5]N2 .R-@`.?<N3lTON^NuNV.5pN2.N2.5N2N^NuNVH. HH.?<N3lTO< f0| .?<N3lTOJLN^NuNVH*nBGJg H>aRG`0NqJL N^NuNVHBBF n*PRH>a6J@gH>a`H"Ё.RF`S n n 0NqJL N^NuNVH. <0m<9o<Am<FoB@`pNqJLN^NuNVH. <0m<9n H|` ` H|NqJLN^NuNVH. < l H|0`H|7NqJLN^NuNVH..<. :.|m0YF 2>a<0gBEJEgJFf H>a\`JLN^NuNVBW?< /.a\ON^NuNVBW?<0n/a\ON^NuNVBW?<. HH/ah\ON^NuNVH. B.< m<~op.`H@.UaJLN^NuNV.5aN^NuNV.5a.aT> aN^NuNVR nJg n  gB@` `R`pNqN^NuNVH *n(UR  g ,gB@`4  fR`JfB@`" ,gS*p`R  fR`S*pNqJL0N^NuNVH*nR U  fR`SJL N^NuNVH *n(UR @ Wf~` Lf~`~S*.a0NqJL0N^NuNVH *n n B( n B( (UR<am<zo*<Am<Zo<0m<9o<*g <?gB@` ,:fH|"n T` n BBF<am<zo$<Am<Zo<0m<9o <*g<?f@|mB@`"<*f|l0F |?RF`R`0F GRFR`|l0F | RF`BF|l, nJg0F "nQ R` 0F | RF` .g S*p`BFR<am<zo$<Am<Zo<0m<9o <*g<?f>|mB@`R<*f|l0F |? RF`R`0F G RFR`|l0F | RF`S*pNqJL0N^NuNVB?< N3lTOgB?<N3lTOp``B@NqN^NuNVH *n0`.5a`$BG|lI0@HBF|l0`&.5a`,.5at` .5ah``J@gְ|gܰ|gNq0`.5aD`.5a8`` J@g|gNq.5a.aP.5a RF`r> aRG`N.5a.aV.6a.aD`F.6/a.a0.68a -Э.Sa``J@g|g|gNq> aBJL0N^NuNV.aJ@g . a`hR . @ Df. /.?<Da\O`< n Af. ./.?<Aa\O`S./<6DaXOJ@g. /<6GaXO`./<6JaXOJ@g4. X/<6NaXOJ@g n ( f n "n !iJ`./<6RaXOJ@g2. P/<6VaZXOJ@g n ( g n "n !iJ`Z./<6ZaLXOJ@gB.  /<6]a*XO n ( g n "n !iJ` n "n !iJ`a n ( g n "n !iJ` n "n !iJN^NuNVH*n.6`a.a> ad.6da.a> aJ.6ia.a> a0.6nah>- >a.6raTg .6uaD g .6ya4.6~a*0|@>W0ag .6ag .6ag .6ag .6ag .6a> a~.?<Da:TO..?<Aa(TO#@N!|> aFJL N^NuNVH*n R @ 0m< 7n6.aJ@g,n UB.H@HЮ.@/YaXO`aJL N^NuNV>/. /.a"PONqN^NuNV>/. /.aPONqN^NuNVH *n(n >.BE.a>=a0`H>aT`&>a4`.a``|gܰ|g|gNq> aD|S.?< N3lTO> a".HJFo0FB(0A-HR . @Jg2 n am n zn nH|` nH"n`A-H./aXOJ@gL.aJ@g@0`$ .`* .8`(``|gְ|gް|gNqz`.aJ@fa|0NqJL0N^NuNVH. H>a"> aBG|l*> a n .aX |f> aRG`> aJLN^NuNVH *n(n aJL0N^NuNVH *n(n Jg RHf`Jf.aJ@gp``B@NqJL0N^NuNVH 9@T#@3@ y@3@*|60y@mg `.N2Jmm mnJmg0-`a `a`at`a`a`an`a`a:`a`aF`ad`a`a `a j`|a `ta `la `da `\a D`Ta ^`La `Fa `@a ``:a `4a `.a `(a `"a `a ``|b@0@; PN> N` >?NNqJL N^NuNV.?JN2NqN^NuNVH>9@|Bp g09@||f.>aN|09@||f|.?hN2PG`<9@|F>a> N|n 9@f$>?9@W?aTO>,N>a`">a>,N>?9@W?aTOJLN^NuNVH<9@|0|fBG`|0f~`| f~`aD>a> N>?9@W?adTO>,N09@|r `29@|AA<>?a2TOJLN^NuNVH>9@|G>a> N>a >,N09@`0.?kN2`8.?nN2`*>?9@W?aTO`H |<8rW hNJLN^NuNVH>9@|G>a> N<9@|Bp f9@g >@Wa >,N>a `>@Wa V>,N>a FJLN^NuNVHBE>9@|<9@|F|f|g|f REF|f|>aT`|> N>?9@W?aTO>,N>9@|Bp gJEg>a `>aZJLN^NuNVJnf.?rN2` nf.?uN2` ngaN^NuNV.?xN2N^NuNVH>.|o >QWa ``>a 4JLN^NuNVH<.|8F>.|0`>a ` >a `>a Z`>a `>a h`a>a 8`>a`B0` y@=PT@Ty@ y@=PT@Ty@>$N.a 4`~ y@0H(gT@Ty@.a `PaX.?N2`@>az`6> a `,`|b@0@

T@Ty@>$N>a JLN^NuNVH y@>T@Ty@>$NH>Wa z>(N nf.?N2`>a>,N0r `>Wa g .?N2>)NJLN^NuNVB nf y@=PT@Ty@ y@=PT@Ty@.?N2.aN^NuNV3@TN^NuNVH9@HJGg :G@` y@0H*@@T@Ty@.?N2.a&JL N^NuNV> N9@g09@|r `>a`>a>,N>?9@W?aTON^NuNVH9@g >lN` >rN<9@|F|gb>a$> N>9@|Bp g9@g>aJ`JGf~>#N>a|>,N>@Wa`> N>?9@W?a(TOJLN^NuNV> N>?9@W?aTON^NuNVH09@|@>a`>9@|Bp g> N>@Wa>,N>apJLN^NuNVH> N>@WaN>,N y@0H*@@T@Ty@.a0JL N^NuNVH>9@|Bp g<9@|:9@||HfPGPF`|fPF> N>a>,N>aJLN^NuNV> N>@WaN^NuNV> N>aN^NuNV> N>?9@W?a~TO>,N09@|r `>PWa0N^NuNV.?N2N^NuNVH09@|@>a>9@|Bp gJGf~.?N2H>a>,N>?9@W?aTOJLN^NuNV.?N2>@WaN^NuNV> N>@Wa.?N2 y@0>a~T@Ty@N^NuNV9@g .?N2> N9@g(>?9@W?a.TO>,N.,N>?9@W?aTON^NuNVH y@<T@Ty@*nzBG|lB0]g(JEf >/N|g>a^>-Nz`|f >SWaBBERG`|f .?N2JL N^NuNVH9@g .?N2> N>9@||f09@|r `>a>,N y@<>a>@Wal|f>,N09@|r `>aT@Ty@JLN^NuNV.?N2>@Wa>,N09@|r `>a8N^NuNV09@|@>a> N09@|r `>a>,N>?9@W?aTON^NuNV09@|@>axaN^NuNV> N>?9@W?aTON^NuNVH>9@|0JGf.?N2` > N>?9@W?aTO|f.?N2`|f .?N2JLN^NuNV09@||f .?N2a\N^NuNVH>9@|9@g.?N2>aL`.?N2>a:.?N2JLN^NuNV>DN>N>NN^NuNV>AN>N>NN^NuNV>(N>a>)NN^NuNV>(N>a>)NN^NuNV>-N>aN^NuNV>a>+NN^NuNV>?< /.NN\ON^NuNV>?<0n/NN\ON^NuNV>?<. HH/NN\ON^NuH??H?0<2<3@H$<2HNC#@D o0<>NB#@4#@J3 @N"hNa.hL/9@Jy@N?9@NNs3@N#@J#@8.y@4#@@Nh#@< y@@|_H?.y?,o,@J-y@<-y@8=y@N n H?0<29@H$9@DNC-y?F-y?J9@Ng-y@8J,y?L??NuH??H?0<>NB#@40<2< 3@H$<2HNC#@D y? h#@J0( @3@N"hNa.hL/9@J?9@NNs0/#@P"/NB"9@PNu0<>NB |_Nu34.&400Ld0000rCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Unknown Command DDT-68K Copyright 1982, Digital Research -68KCannot open program file Insufficient memory or bad file header Read error Bad relocation bits Unknown program load error Cannot open file File too big -- read truncated. Cannot create file. File write error. Unimplemented Function: ? Bad or non-existent RAM at ERROR, no program or file loaded. text data bss base length = base page address = initial stack pointer = Start = End = PCPCUSPUSPSSPSSPSTSTPC=USP=SSP=ST==>TR SUP IM= EXT NEG ZER OFL CRY<<>>@>@>>>#>(>->2>7A><B>@ >DH >I >N>S>X>]>a>e>j >o8H>tN >xN >|A>NP>>>> >0>N`>@>H>p>H>D>@>Nq>F>>>H@ >Np>>>>>Ns>Nw>Nu>>Nr>>@?? ??Q?J?N@? Nv?%J?+NX ?/?4!!!"""""&"."6">"F"N"V"^"f"n"v"~""""""""""<|<| < |$$$$$$$'N' 'z''&&&&&&&'@ @  @ @mulsmuluabcdswapexgdbccdbcsdbeqdbradbgedbgtdbhidbledblsdbltdbmidbnedbpldbtdbvcdbvssccscsseqsf sgesgtshisleslssltsmisnesplst svcsvsaddxaddxaddxaddaddiaddqandandiasasbrabccbcsbeqbgebgtbhibleblsbltbmibnebplbvcbvsbsrcmpimovepmovepmovepmovepbchgbchgbclrbclrbsetbsetbtstbtstchkclrcmpmcmpmcmpmcmpacmpaeorcmpdivsdivueoriextjmpjsrlealinklslsmovemovemovemovemovemovemmoveqnbcdnegnegxnopnotororipearesetroroxroroxrtertrrtssbcdstopsubxsubxsubxsubsubisubqtastraptrapvtstunlk*unknown instruction*illegal instruction format # .lsrccr.b.l **illegal size field (PC)PC,.l#$ $unknown opcode #$ #$,#$.lA7.l #$ SR,,CCR,SR.l.l USP,.l1 ,USP_readcom_copyrt3_serial3_main_initf_displayZ_ecmd_fillmemL_loadpgm_cleanR_gocmd _hexmath V_incomtl _disasm v_movemem _readflv_setmem_traceD_vcmd_wrtfile6_dummy_hexchar_getform_putchar_stout2_gethex^_ishex_hexval_puthexN_puthexl_puthexw_puthexb_putbyte_bad(_badram:_nomore\_getsep_deblank_parseN_keyhit0_showvalf_examine_showstaj_pdareg_cmp!:_pregl_pregw2_preglro _pregL_tryflag!_optab6_noin"_inf1#_inf2$t_inf3#_inf4%_inf5%_inf6) _inf7)b_inf8)_inf9*~_inf10*_inf11+_inf12+X_inf13+_inf14+_inf15+_inf16,B_inf17,V_inf18,_inf19,_inf20-,_inf21.N_inf22._inf23/:_inf24/_inf25/_inf26/_inf270D_inf280l_pinstr!|_prsize&_prtop&_prtreg&l_badsize&X_primm(_paripd1L_pdr0_par0_pari1*_paripi1d_prdisp'_prindex( _hexlzs1|_hexwzs1_hexbzs1_initssv(_regmsk0<_regmsk1<_putrlis-_pdri1_GO1_STEP2_BDOS3l_GETSSP3_ssval@T_lbuf@V_symptr@~_symct@_instr@_sdot@_esymbuf@_tdot@_fsymbol@_errflg@_dotinc@_ssymflg@_dot@_ssymbol@_tsym@_ssymval@_symbuf@_symlen@_sefaflg@_seffadr@_textsym@1223`'R\`PCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 o"h&IB[b#7BE?/ NTNNVB odpN^NuNV0/"/ NB7Bd0< A,R"NB0<NBN^NuNVH nl.2ga a&n X*[>.WGJgH`Ry.# N/4`Ry.#.SG`Ry.# /4`xRy.#/4`dRy.# /4`RRy.#/4`@Ry.`8#/,`0%H>/<2a jXOa`|a|b@0@/8 PN`@09.y.3.09.y.y.y.İ|g.2a a09.y.3. y.o.2a a./,/<.N+XO./0/<.N+XO#.>./9.a8XO3.JGfJy.gaLa:JGo\Jy.f`>?</<.N\O3.l../<3a HXOa>/<.?9.N"J\O|g.3*a aJGg .aLSG`BaBJy.f>B?9.N&\O*BWB?9.N&\O,Jl../<3ANhXO>N>.N..N(r>Bg/9.N\O3.Jy.l$../9./<3SNhPO>N~JGoJoo <` >>/<,?9.N>\O>JGl ../<3NhXO>N`/<,?9.N"J\OGg../<3NhXO>N0H``B>/Y?9.N"J\O>.N..N(ra*JL8N^NuNVH>?</.N\O>JGlD3.>Bg/.N\O>JGl ../<3NhXO>N`0`8>/U?N>\O|f neg./<3aXOa0NqJLN^NuNVH*ng -:fT gVJy.fNJy.fFahJ@g>../ aXOJ@f,Jy.g../9.aXOJ@g` >.ad`/. y/4NXOJL N^NuNVH JfaJy.g2>.a..9.H?9.H?/<3NhPOaBWaJL0N^NuNV../<3NhXON^NuNVHJf.Jy.gJy.f|>/?9.N&\Oa`@>Bg/.N\O=@l./<3aVXOaJy.gJy.g../<3a0XOa09.΀y.gJy.fJy.g>aRy. n (:f .T` .*@>/<./ a(PO09.ƀy.g >aa` Jy.g >ia`>raBWa*|,B.B9.B9.3../UaNJL N^NuNVH n0>N3>/<//. NPOJ@l. /<4aXOKBF|l./N:RF`>/N n`g. /<4aXO..ޮJnfއޮ/.?<Bg/. NPO _0l. /<4*atXO޼ V. NqJL N^NuNVn n n n .NqN^NuNVn nN^NuNVJfa`>da*BWaN^NuNVH.aJ@fX>./.NXO>JGl./<4xa./9.?<??9.a@ >NJLN^NuNV.aFJ@f".4N/9.?<?<?9.a N^NuNVNN^NuNVaJ@g >a`N^NuNV>/<.?9.N>\O|fJ9.f Ry.B@`pNqN^NuNVHJy.fh.9.gRJng.>ca../9.?<?9.?9.aF `&>/?9.N&\OJl.4Yava(JLN^NuNVH *n(n Hf Jfp``B@NqJL0N^NuNVH*|12 d >/aXO`JL N^NuNVH*n<. >SGm 0]fT`>NJL N^NuNVJy.g. H>N> NaN^NuNVH *n(n >.JGggSG`SGoB`JL0N^NuNVJy.faHJ@g >ax`N^NuNVH8. g0>/<.?. N"J\O|g./<4paXOa*9.oV>/<,?.N>\O|g./<4aXOa>/<,?. N"J\O|g``JoR >>/<,?.N>\OGfgg0Hм, @BRG>/<,?. N"J\OGf4gg>/<,?.N>\OJLN^NuNVJfaJy.g./<4aXOp`B@NqN^NuNV>?.?.?. ?. ?.Nh Jy.g>.N..N(rNN^NuNVHN)(BW/<,kNXO>/<,kNXO>/<,kNXO-|,a .2. HЁ @B=|*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>NBWBg/ RN\O|g.R/<4aRXO` N2n!MRn` N2n!|.?.NTONqJL N^NuNV.N+ >/.?<N"J\O. N+ >/. ?<N"J\O>/<4?<N"J\O>NN^NuNVHIBBn .RdRn-\ fRn-\*\&Lg(K<%gH>/?.a\O`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-HH`@Jng -|@`-|tBW/.?<?< // NTJngT`BW/<tBg?< // NT`Jng -|@`-|tBW/.Bg?<// NTJngT`Jng -|@`-|t<XgBW`>/.Bg?<// NTJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |4r W h0N.N*=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>N`B n ..H?NTO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. N"J\ON^NuNV y56n*>/ ?<N"J\O|gp`b. H`ZJy58n4#5>5:>/95:?956N"J\O|gp`&358 y5: R5:Sy58. HNqN^NuNVH><y58358#5>5:>/95:?956N"J\OGgp`B@NqJLN^NuNVH*n BmJnfB@`p=@>Bg/.N\O:NqJL N^NuNVH*nJmnA+H>/-?N>\O;@Jmnp`Sm mH|RNqJL N^NuNVH*n.a>|fp`4<|F.a~>|fp`0|@g <@0NqJL N^NuNVHBG|l >NRG`BBgNTOJLN^NuNVH>N)*@fp`H|g>N)J>N*>B@`g.f(>B?.N&\O>/<,u?.N"J\Og,>"/</ 2/-/ N(|gp`,.?<NTO>N)J>N4*>B@NqJL N^NuNVHN*>JGlp`>N)J>N)*@Jn fJnf.,k/.N*nXOJ@f 0`B`.,p/.N*nXOJ@f0`">/.?N'p\OJ@gp`0NqJL N^NuNVHN*>JGlp`~>N)J>N)*@Jnf.,k/.N*nXOJ@f 0`B`.,p/.N*nXOJ@f0`">/.?N'p\OJ@gp`0NqJL N^NuNVH*n :.H>N)(@fp`PgB@`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ N(|gp`>!/</ 2// N(|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ N(|gp`>!/</ 2/./ N(|gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ N(H,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ N(|gp``>!/</ 2/./ N(|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>N)(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ N(|gp` ,g8 , l.>!/</ 2/./ N(|gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N(|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -g -gg2>"/</ 2/-/ N(|gp` - l0>!/</ 2/./ N(|gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`2>"/</ 2/./ N(|gp`R -@Jo*>"/./ /./ N(H".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ N(|gp``@ -+@ - l$>!/</ 2/-/ N(`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH>N)*@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >N)(@G -:f" am zn H|`H|TBG  o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVHN*>JGlp`(>N)J>/.?N'p\O<>N*>0NqJLN^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0м8\NqJLN^NuNVH nep`>N)*@fp` NqJL N^NuNVH|BG|l0y7@f y7@0` FRG`pNqJLN^NuNVH|BGnlFRG`0F@y7@B@NqJLN^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf#7F <`ro #7FB`bJl D.RCJl D,RCfzB` xm`BJgm`|f D#7F D` #7F NqJLN^NuNVH*n(n &MJgR`g` NqJL8N^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:2 2L4e2]2^ 2 X|jFr-w-@x- r-w-x-r-w-x-111111111CP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019ar68.tmpusage: ar68 drtwx[abiv][f d:] [opmod] archive obmod1 [obmod2] ... [>filespec] invalid option flag: %c one and only one of drtwx flags required only one of abi flags allowed cannot create %s temp file write error seek error on %s Unable to re-create %s -- archive is in %s Read error on %s Write error on %s Cannot Create %s not archive format: %s %d/%d %6ld %.14s cannot open %s %s not in library cannot open %s not object file: %s cannot reopen %s cannot create %s std outputseek error on library write error on %s read error on %s %s not in archive file Cannot open Cannot create CDOSUXcdosux885>5`8df'`PCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 o"h&IB[b#EE?/ N!N,xNVB odpN^NuNV0/"/ NBEd0< A=d"NB0<NBN^NuNVHa4ah#N>[#IJ#\6Y nn.@N#>a(*n X~nlJ(].@/ N;ZXOJ@g, -fRH`S`J,g./<@N#XO>N,x#=RG`RyY`RyTP`RyUR>R/ aXO#Y#YVZ`Rykz>R/ aXXO#E`RykZ>R/ a:XO#Xl`pRy>6`fRyL,`^&yR@RBF|l JgRRF` yR@1|BWa`.#=RGa` `|B|8b@0@>< PN.aRG`a RyJ*n X#N>[#IJ#\6Ya&~nlT(].@/ N;ZXOJ@g: -f.RH`S`"XRG`"` `|B|8b@0@? PN.a TRG`aJL8N^NuNVB9=.=/<=NGN,N^NuNV yJBP#@aJ@gaByVTByW`#Xtk~a >a09VTyW`o8JyW`g .Wbaa*X[ yJRP yY @XY`a9@ g.GN+R@09kHй@ ѹ@.G/9@aPXO`BTJN^NuNVH *|XtBG|l.GN+RG`BX#X@ J9XtfB@`pNqJL0N^NuNVH*n -f.R @ lf"R @Jg=`6=*|=`*n>/<G/ N+PO3Gl./<@N#XO>a #k~.=?9GalTOJ@g.k~/<@N#XO>a hByG ye=gBWB?9GN7\OaXJyJg>/<L2/ N+POJL N^NuNV>/U?.N.\O|gp` n 0B@NqN^NuNVH*|=BG|l.GN,:RG` y`=g.k~/<AN#XO>a Jy=g(.A/N#.k~/<ACN#XO>a nJL N^NuNVH y[ R@ 9=й=м,Jng 9@м܀.G/a XO.9=Joaaz>a`JLN^NuNVH*yR@BG|l.GN,:RG`.GN,:.GN,:.GN,;@JL N^NuNVHB yR@(f~ yR@(g.9VZ`Z yR@(g.9Y`D yR@(g.9G`. yR@(f, yR@>/<A_N#XO>a  "yR@ѩ JLN^NuNVH yR@(g.TRaN*@a` yR@(gvJng.TRa$*@R@gRyVT.UTa *@R@fa`8JngRyW`#Wb`$ yR@0(mf yR@ ( g.a$` yR@ Lg JyTPga`JL N^NuNV.k~/./<AN#PORy>:N^NuNVH >N;#J9JgRJ 9Jм#J #JR@3,R>*|TR(|UTBG| l *B(BRG`JL0N^NuNVHa @HЮ#Xf yXf*h f*yR@` yXf P!yR@.a NqJL N^NuNVH*n(M&yR@BG|lLg*m`RG` NqJL8N^NuNV yXf R@ yXfJf yXf!yR@aN^NuNVR@ 9R@J e<>N;f.AN#>N,x`J ydR>N^NuNVHBG*yR@BF|l H@RF`0|>NqJL N^NuNVH *n(n BG|l8RG`JL0N^NuNVH y=H"y=R>?</<=N.6\O<JFm0`.=/<AN#XO>aJLN^NuNV 9=ѹVZ 9=ѹY 9=ѹGN^NuNVH #R@VV(|TR*|V`BG|@l*RG`(|UT*|WfBG|@l*RG`JL0N^NuNVH #VVR@*|TR(|V`BG|@l*RG`*|UT(|WfBG|@l*RG`JL0N^NuNVH 9VZY#kV#YN:#GXpJykzg #EY` 9VZR#Y#YEJykZg #XlG`$ 9YйN:R#G#GXl#YVZa a\JYgD.R@/<>aXO.TRa*@+ykV mm.a*@R@fJGgL.R@/<>"aXO.TRaL*@ 9kVйN:+@ mm.av*@R@fJYgR.R@/<>,aLXO.TRa*@ 9kVйN:йXp+@ mm.a*@R@fJL N^NuNVH*yJR@d6-f&-g 9Yѭ `-g 9Gѭ `JL N^NuNVH(|TRUNd0G @Jg &SJ g.a"`.a*Kg&k`P`JL8N^NuNVH *n.R@/ aBXO.UTa(@R@g n!l ``B.TRa̾ l.- B .a*@R@f;| 9GйXp+@ n!m ߹Xp.UTa|aJL0N^NuNVH *n.R@/ aXO.UTaJ(@R@f.TRa4(@R@f.AN#>a.a^*@R@gJ g .a`:`.a J@f,JyXjf.5AN#RyXjRy>:.a`+l JL0N^NuNVH*nBG|lJgH>N)n``RG`> N)nJL N^NuNV.a ym=f3ka<`: ye=f3ka$`" yGN,>L2N,N^NuNV>/9=N.6XO3J$l.=/<BN#XO>a@3J&#J,J(09kzykZg.J$?<`N*TO`.J$?<`N*TO.J$?9kVN*TO.J$?9kXN*TO.J$?9N:N*TO.J$?9NN,xN^NuNVH yJ>TJJGgJ0SGJ@gB yY*XY.G/a4XO.L2/a(XOaa^#@>axa`JLN^NuNVH..Bp Bp BW/ n 0?N7\OJl.k~/<B-N#XOa n Bh . P"n #@l. N+R`JLN^NuNVH 0.*@L.-f - `4.R@/ a@XO.UTa(@R@f .TRa(@ , NqJL0N^NuNVH 0.*@L.-f(M`..R@/ aXO.UTa(@R@f .TRav(@>, gp`` gp`` gp`B@NqJL0N^NuNVH B*|J$(|E=| y[#L.X[ 9=й=й=м(Jng 9@м؀.L2/a4XO(9=UJmBn.GN,>.L2N,<TBn0|`t.?N*TOJyL,g .?N*TO`d=GJyL,g .?N*TO.GN,=@.L2N,<TRnU0|`0JyL,g .?N*TO`.` 9VZѮJyL,g .?N*TO` 9YѮJyL,g .?N*TO` 9GѮJyL,g .?N*TO`Rn0@>atѮJyL,g.0@?aTO?N*TO`0@>aBЮVZT-@ .m o&.k~//<BFN#PO0@>aRy>:BnJyL,g .BgN*TO``|b@0@@ PNJy>6fnJnfh .g\JngV.k~/<BpN#XOJng 0@>aLRy>:Jng" yY-h>/<BN#XOBBnJng.?.N*TO.?.N*TO`<0G-H`.k~/<BN#XO>a`|b@0@@. PN`@J$f*|RD(|Y(9=`"JL0N^NuNV 9kVйY԰VZg.BN#Ry>:.N:9V^H?/<RDa\Oa0JyL,g6.kV9k|H?/<Ea\O.N:9YH?/<Yaf\O.J$N+/<J?9J$N2\O|g.BN#Ry>:>>:aN^NuNVH*n.N+<>N,0. "y=>/ /<=N+POJ@l.=/<CN#XO>a"Jo .N,>.J$?N*TOU`JL N^NuNVHBJJyYf8*yJR@d*-f-f Lg JyTPg.a`JL N^NuNVH *n(MJ(MBG|l.J$?N*TORG`.J$?-N*TO# @N.J$?9@NN*TO.J$?9@PN*TOJL0N^NuNVH*n n f~` n f~` n f~`B`bBH|0m |9n|0`&|am |fn|`|Am |Fn|``JFmn l 22HЁ*``` NqJL N^NuNVH*n./<>aRXOJ@g #Yp`8./<>"a8XOJ@g #Gp`./<>,aXOJ@g #Yp`B@NqJL N^NuNVH *n(n BG|l gB@`RG`pNqJL0N^NuNVH 0.*@L..C'N#(M PdJgH>N)nR`> N)nJL0N^NuNVHN9BW/<=}N-XO>/<=}N-XO>/<=}N-XO-|=s .2. HЁ @B=|*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>N,BWBg/ RN.6\O|g.R/<CGaRXO` N2n!MRn` N2n!|.?.NTONqJL N^NuNV.N;>/.?<N2\O. N;>/. ?<N2\O>/<CV?<N2\O>N,xN^NuNVHIBBn .RdRn-\ fRn-\*\&Lg(K<%gH>/?.a\O`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-H6H`@Jng -|'`-|(BW/.?<?< // N(\TJngT`BW/<(Bg?< // N(\T`Jng -|'`-|(BW/.Bg?<// N(\TJngT`Jng -|'`-|(<XgBW`>/.Bg?<// N(\TJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |CXr W h0N.N;=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>N)n`B n ..H?N)NTO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. N2\ON^NuNV yCn*>/ ?<N2\O|gp`b. H`ZJyCn4#CC>/9C?9CN2\O|gp`&3C yC RCSyC. HNqN^NuNVH><yC3C#CC>/9C?9CN2\OGgp`B@NqJLN^NuNVH*n ;|A+HJnfB@`p=@>?</.N.6\O:NqJL N^NuNVH*n Jmn*A+H>/-?N2\O|gp`;| m RSm. HNqJL N^NuNVH*n .0.@?WaTO.?.WaxTO0.NqJL N^NuNVH*n><m;|A+H>/-?N2\OGgp`B@NqJL N^NuNVH*n BmJnfB@`p=@>Bg/.N-\O:NqJL N^NuNVH*nJmnA+H>/-?N.\O;@Jmnp`Sm mH|RNqJL N^NuNVH*n.a>|fp`4<|F.a~>|fp`0|@g <@0NqJL N^NuNVHBG|l >N,RG`BBgNTOJLN^NuNVH>N:d*@fp`H|g>N9>N:B@`g.f(>B?.N7\O>/<=?.N2\Og,>"/</ 2/-/ N9T|gp`,.?<NTO>N9>N:B@NqJL N^NuNVHN:>JGlp`>N9>N:@*@Jn fJnf.=}/.N;ZXOJ@f 0`B`.=/.N;ZXOJ@f0`">/.?N8\OJ@gp`0NqJL N^NuNVHN:>JGlp`~>N9>N:@*@Jnf.=}/.N;ZXOJ@f 0`B`.=/.N;ZXOJ@f0`">/.?N8\OJ@gp`0NqJL N^NuNVH*n :.H>N:d(@fp`PgB@`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ N9T|gp`>!/</ 2// N9T|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ N9T|gp`>!/</ 2/./ N9T|gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ N9TH,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ N9T|gp``>!/</ 2/./ N9T|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>N:d(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ N9T|gp` ,g8 , l.>!/</ 2/./ N9T|gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N9T|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@6 -g -gg2>"/</ 2/-/ N9T|gp` - l0>!/</ 2/./ N9T|gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`2>"/</ 2/./ N9T|gp`R -@Jo*>"/./ /./ N9TH".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ N9T|gp``@ -+@ - l$>!/</ 2/-/ N9T`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH>N:d*@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >N:@(@G -:f" am zn H|`H|TBG  o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVHN:>JGlp`(>N9>/.?N8\O<>N:0NqJLN^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0м`6NqJLN^NuNVH nep`>N:@*@fp` NqJL N^NuNVH|BG|l0yEf yE0` FRG`pNqJLN^NuNVH|BGnlFRG`0F@yEB@NqJLN^NuNVH. gRn*yE0.H.N|fp`*yE0.HѹE NqJL N^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf#E <`ro #EB`bJl D.RCJl D,RCfzB` xm`BJgm`|f D#E D` #E NqJLN^NuNVH *n(MJgR` NqJL0N^NuNVH*n(n &MJgR`g` NqJL8N^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:@R@lib6.a@@@_etext_edata_endhhhhhhhhhhhhhhhhhhhhhhhhhhh@hhhhVhh\hhhhhL(rrrrLr(CP/M-68K, Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019c.outloxxxxA: Invalid lo68 argument list .o: Illegal option %s .o: unable to open %s : read error on file: %s : file format error: %s : File format error: no relocation bits in %s : File Format error: Invalid symbol flags = %o : %s duplicate definition in %s : symbol table overflow : Unable to open temporary file: %s : asgnext botch : Undefined symbol(s) : Unable to create %s : seek error on file %s : relative address overflow at %lx in %s : short address overflow in %s library offset = %x : File format error: invalid relocation flag in %s : finalwr: text size error : output file write error : unable to reopen %s : external name: Cannot open Cannot create CDOSUXcdosux%$%Z%%2%%$%Z%%2%& C7`fb`PCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 o"h&IB[b#(8E?/ NNRNVB odpN^NuNV0/"/ NB(8d0< A"f"NB0<NBN^NuNVH nl.%N NR3$>N!3&,~ n 2G.a09$Hй"й"-@BW/.?9"Np\OBy"-y"By$JgRy$BG|l&."N:|| lz >NxRG`< H>Nx."N<."N=@."N=@./<%+N XO>a`hNJLN^NuNVH>.g .%0N  g .%5N  g .%=N  g .%BN  g.%LN `4 g.%RN ` g.%XN ` .%]N < H>NxJLN^NuNVH*n>/<"/ N^PO3"l./<%bN XONR#$>/<"?9"N\O|g.$/<%uN XONRBy"BWB?9"Np\Oa JL N^NuNVH*|"BG|l."N:RG` y`"g, y`"fPy$`.$/<%N XONRJL N^NuNVHNPBW/<"NfXO>/<"NfXO>/<"NfXO-|"u .2. HЁ @B=|*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>NBWBg/ RN\O|g.R/<%aRXO` N2n!MRn` N2n!|.?.NTONqJL N^NuNV.N!2>/.?<N\O. N!2>/. ?<N\O>/<%?<N\O>NRN^NuNVHIBBn .RdRn-\ fRn-\*\&Lg(K<%gH>/?.a\O`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-HH`@Jng -|`-|BW/.?<?< // NfTJngT`BW/<Bg?< // NfT`Jng -|`-|BW/.Bg?<// NfTJngT`Jng -|`-|<XgBW`>/.Bg?<// NfTJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |%r W h0N.N!=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>Nx`B n ..H?NXTO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. N\ON^NuNV y&,n*>/ ?<N\O|gp`b. H`ZJy&.n4#&4&0>/9&0?9&,N\O|gp`&3&. y&0 R&0Sy&.. HNqN^NuNVH><y&.3&.#&4&0>/9&0?9&,N\OGgp`B@NqJLN^NuNVH*n BmJnfB@`p=@>Bg/.Nf\O:NqJL N^NuNVH*nJmnA+H>/-?N\O;@Jmnp`Sm mH|RNqJL N^NuNVH*n.a>|fp`4<|F.a~>|fp`0|@g <@0NqJL N^NuNVHBG|l >NRG`BBgNTOJLN^NuNVH>N*@fp`H|g>Nr>N fB@`g.f(>B?.Np\O>/<"?.N\Og,>"/</ 2/-/ N|gp`,.?<NTO>Nr>N fB@NqJL N^NuNVHN ,>JGlp`>Nr>N*@Jn fJnf."/.N XOJ@f 0`B`."/.N XOJ@f0`">/.?N\OJ@gp`0NqJL N^NuNVHN ,>JGlp`~>Nr>N*@Jnf."/.N XOJ@f 0`B`."/.N XOJ@f0`">/.?N\OJ@gp`0NqJL N^NuNVH*n :.H>N(@fp`PgB@7`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ N|gp`>!/</ 2// N|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ N|gp`>!/</ 2/./ N|gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ NH,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ N|gp``>!/</ 2/./ N|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>N(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ N|gp` ,g8 , l.>!/</ 2/./ N|gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -g -gg2>"/</ 2/-/ N|gp` - l0>!/</ 2/./ N|gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`2>"/</ 2/./ N|gp`R -@Jo*>"/./ /./ NH".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ N|gp``@ -+@ - l$>!/</ 2/-/ N`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH>N*@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >N(@G -:f" am zn H|`H|TBG  o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0м)XNqJLN^NuNVH nep`>N*@fp` NqJL N^NuNVH|BG|l0y(6f y(60` FRG`pNqJLN^NuNVH|BGnlFRG`0F@y(6B@NqJLN^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf#(< <`ro #(.0NqJLN^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:$%CP/M-68K(tm), Version 1.1, Copyrig8ht (c) 1983, Digital Research1015-0901-000019Usage: nm68 objectfile %8lx equ global reg external data text bss absunable to open %s read error on file: %s file format error: %s Cannot open Cannot create CDOSUXcdosux  d <  d < &4` ``PCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 o"h&IB[b#* E?/ N jNNVB odpN^NuNV0/"/ NB* d0< A$ "NB0<NBN^NuNVH nl.&N ~N~ n ( @ -fRy&xRG n 2G.aRGnlJ0@HЮ @#&rBW?</9&rN\O3&vl.&r/<&N ~XON`>N#3&v3&v(-y$0#$D&fB .l .$JN>>apT&fT` y`$.f y &lgBWaJ`#&^&f-y$4B .l .$JN>>aT&fT`Jy&xfF y`$.f y &lgBWa`#&b&f-y$8JoBWaUT&f` y &lgBWa`.' N ~NJLN^NuNVH*n>Bg/ N \O3$Jl./<'N ~XON#&R>/<$.?9$JNT\O|g.&R/<',N ~XONBy$LBWB?9$JN\Oa JL N^NuNVH*|$.BG|l.$JN:RG` y`$.gn y`$.fJ.$JN3&^.$JN3&`.$JN3&b.$JN3&d`.&R/<'DN ~XONJL N^NuNVBW/. n 0?N\OJl.&R/<'[N ~XON n BhN^NuNVH>. y &lfJB9&nJy&fg .'rN ~>$a>&fa~`.'uN ~>#ah>&ha>>a:Uy&lJy&lf"9&nHD>SWa<> N3 &lJLN^NuNV0.@>Wa>WaN^NuNV0.9&n&n0.@>Wa>WaN^NuNVJnm n n>W0N`& n m nn>W7N`NN^NuNVHN BW/<$#N XO>/<$#N XO>/<$#N XO-|$ .2. HЁ @B=|*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>N(BWBg/ RN\O|g.R/<'aRXO` N2n!MRn` N2n!|.?.NTONqJL N^NuNV.N">/.?<N`\O. N">/. ?<N`\O>/<'?<N`\O>NN^NuNVHIBBn .RdRn-\ fRn-\*\&Lg(K<%gH>/?.a\O8`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-HH`@Jng -|V`-|BW/.?<?< // N TJngT`BW/<Bg?< // N T`Jng -|V`-|BW/.Bg?<// N TJngT`Jng -|V`-|<XgBW`>/.Bg?<// N TJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |'r W h0N.N"=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>N`B n ..H?NTO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. N`\ON^NuNV y(n*>/ ?<N`\O|gp`b. H`ZJy(n4#((>/9(?9(N`\O|gp`&3( y( R(Sy(. HNqN^NuNVH><y(3(#((>/9(?9(N`\OGgp`B@NqJLN^NuNVH*n BmJnfB@`p=@>Bg/.N \O:NqJL N^NuNVH*nJmnA+H>/-?NT\O;@Jmnp`Sm mH|RNqJL N^NuNVH*n.a>|fp`4<|F.a~>|fp`0|@g <@0NqJL N^NuNVHBG|l >N(RG`BBgNTOJLN^NuNVH>N!*@fp`H|g>N!>N" B@`g.f(>B?.N\O>/<$-?.N`\Og,>"/</ 2/-/ N |gp`,.?<NTO>N!>N" B@NqJL N^NuNVHN!>JGlp`>N!>N!t*@Jn fJnf.$#/.N":XOJ@f 0`B`.$(/.N":XOJ@f0`">/.?N\OJ@gp`0NqJL N^NuNVHN!>JGlp`~>N!>N!t*@Jnf.$#/.N":XOJ@f 0`B`.$(/.N":XOJ@f0`">/.?N\OJ@gp`0NqJL N^NuNVH*n :.H>N!(@fp`PgB@`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ N |gp`>!/</ 2// N |g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ N |gp`>!/</ 2/./ N |gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ N H,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ N |gp``>!/</ 2/./ N |g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>N!(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ N |gp` ,g8 , l.>!/</ 2/./ N |gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N |g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -g -gg2>"/</ 2/-/ N |gp` - l0>!/</ 2/./ N |9gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`2>"/</ 2/./ N |gp`R -@Jo*>"/./ /./ N H".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ N |gp``@ -+@ - l$>!/</ 2/-/ N `>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH>N!*@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >N!t(@G -:f" am zn H|`H|TBG  o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0м+*NqJLN^NuNVH nep`>N!t*@fp` NqJL N^NuNVH|BG|l0y* f y* 0` FRG`pNqJLN^NuNVH|BGnlFRG`0F@y* B@NqJLN^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf#* <`ro #*B`bJl D.RCJl D,RCfzB` xm`BJgm`|f D#* D` #* NqJLN^NuNVH>.0NqJLN^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:&z& CP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Usage: sendc68 [-] commandfile [outputfile] unable to create %s S9030000FC unable to open %s read error on file: %s file format error: %s seek error on file %s S2S1Cannot open Cannot create CDOSUXcdosux  N  N(9`\`PCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 o"h&IB[b#%E?/ NvNNVB odpN^NuNV0/"/ NB%d0< A!"NB0<NBN^NuNVH~ nm~nl0@HЮ @#!R>Bg/9!RN"\O3!Pl.!R/<!N XON>/<!,?9!PNl\O<|g.!R/<"N XON y`!,g$ y`!,g.!R/<""N XON.!R/<"9N XO 9!.й!2й!6-@.!.aH>+N(.!2a4>+N(.!6a >=N(.a."=N .a."@N .!>a> N( y`!,fZ>/Y?9!PNl\O."RN .aB>/Y?9!PNl\O."^N .a> N(RG`>JLN^NuNVH*|!B%BG|l2 .<| l|0`|7 .-@JgRG`./<"kN XOJL N^NuNVH*|!B%BG| l, . H@H<|0 . H-@JgRG`./<"nN XOJL N^NuNVHN BW/<!!N"XO>/<!!N"XO>/<!!N"XO-|! .2. HЁ @B=|*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>N@BWBg/ RN\O|g.R/<"aRXO` N2n!MRn` N2n!|.?.NTONqJL N^NuNV.N>/.?<Nx\O. N>/. ?<Nx\O>/<"?<Nx\O>NN^NuNVHIBBn .RdRn-\ fRn-\*\&Lg(K<%gH>/?.a\O`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-HH`@Jng -|b`-|BW/.?<?< // NTJngT`BW/<Bg?< // NT`Jng -|b`-|BW/.Bg?<// NTJngT`Jng -|b`-|<XgBW`>/.Bg?<// NTJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |"r W h0N.N=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>N(`B n ..H?NTO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. Nx\ON^NuNV y"n*>/ ?<Nx\O|gp`b. H`ZJy"n4##">/9"?9"Nx\O|gp`&3" y" R"Sy". HNqN^NuNVH><y"3"##">/9"?9"Nx\OGgp`B@NqJLN^NuNVHBG|l >N@RG`BBgNTOJLN^NuNVH>N*@fp`H|g>N.>N"B@`g.f(>B?.N,\O>/<!+?.Nx\Og,>"/</ 2/-/ N|gp`,.?<NTO>N.>N"B@NqJL N^NuNVHN>JGlp`>N.>N*@Jn fJnf.!!/.NRXOJ@f 0`B`.!&/.NRXOJ@f0`">/.?N\OJ@gp`0NqJL N^NuNVHN>JGlp`~>N.>N*@Jnf.!!/.NRXOJ@f 0`B`.!&/.NRXOJ@f0`">/.?N\OJ@gp`0NqJL N^NuNVH*n :.H>N(@fp`PgB@`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ N|gp`>!/</ 2// N|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .:NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ N|gp`>!/</ 2/./ N|gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ NH,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ N|gp``>!/</ 2/./ N|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>N(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ N|gp` ,g8 , l.>!/</ 2/./ N|gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -g -gg2>"/</ 2/-/ N|gp` - l0>!/</ 2/./ N|gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`2>"/</ 2/./ N|gp`R -@Jo*>"/./ /./ NH".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ N|gp``@ -+@ - l$>!/</ 2/-/ N`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH>N*@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >N(@G -:f" am zn H|`H|TBG  o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0м& NqJLN^NuNVH nep`>N*@fp` NqJL N^NuNVH|BG|l0y%f y%0` FRG`pNqJLN^NuNVH|BGnlFRG`0F@y%B@NqJLN^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf#% <`ro #% B`bJl D.RCJl D,RCfzB` xm`BJgm`|f D#% D` #% NqJLN^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:!!!CP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019c.outunable to open %s read error on %s File format error: %s %s: ( ) stack size = data start= bss start=%s%sCannot open Cannot create CDOSUXcdosux  Z   Z #:`i2`PCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 o"h&IB[b#E?/ NTN^^NVB odpN^NuNV0/"/ NBd0< An"NB0<NBN^NuNVH>QNGJ@fL <#~#=|Jygp`p=@3.]/Y/UaPO> n fNE>Bg?.?.a\O*yx gJGf0-|0| g.pNK`f ng. N3R0-|0| gf.aN nfNE`>>YNGJ@f(>RNGJ@f>ENGJ@g y\g.a `0Bx>BNGJ@g`$N<|Qg .p)NKJL N^NuNVH?BtByBCBnBnBDBG n<BEBnN<=@|Ef y\gBG#\t` nYf09`Jyg .pDNIRy`JFg|g|g .p^NI|`JFg|g .ptNI|`JFg|g .pNI|`xJFg|g| g .pNI|`VRn`NRD`HRC`B3 =yBy=yRy>ENGJ@gP*y\J-f&JyTf| ;| BWa8;@ - g. /<pNIXOBy>RNGJ@gRyr=yBy n f>`> a :3>SNGJ@f.pNK`> g:0m"|Jpg. /<pNIXO0-@Hм @0Syr` f.qNI` - g. /<qNIXO``0-@Hм @JPf:=| Ry09|m .q8NI09@Hм @ `0-@Hм @:3JGg .qQNI nf~ `>.`PJGg .qjNI~`NGJGf~JFf|Jng | f~ `|f~` .qNIJDg|g .qNIJCg|g.qNI`~JDfJyg|f~ n0 n 0 n00.NqJL N^NuNVH?>QNGJ@f>WNGJ@gB@`JyrgB>ANGJ@g4N18JDf> ?<aTO=@`>?. a4TO=@`a ;@`. /<r NIXO`0. || f;yBG-H`b`t n g nf.`` ng n f`NRG-Hnf 0-n f`4. /<r-NIXO0.`D`|b@0@oR PN;n :. |00. |=@ JygJyrg>ANGJ@g@=| N18029AA6JGgmfh;C>?. a TO6=C`(> ?. aJTO6>?-?-aXOC=@n JGg 0-n f;n | f6 ng ng ng .rANI ng=|` nfJEff <n2. HЁ @f.r^NI=|`: <n29VHЁ @Jf=|`0yV"|n0H;@RyV`T|g.r}NI=|`: <n29HЁ @Jf=|`0y"|n0H;@Ry nf,>?-?-a ZXOR@|y09D@;@` nf;y~Ry~0.@JyTf0.NqJL N^NuNVH n8( n> n?(?a XO<>BNGJ@f>QNGJ@gP>RG| n (f>/. N3lXO`"N3> n>N7.>N3N2`*>NGȸ|g 0|0|fN3"`N3 n (f. N7f` n>N7. n> n?( n?(aXO>Fl>0WN3>0R@|@gN3Fox n0(|0|0fX n8(0|0|0f >a 8` n0(@Hм/ n?( n?(?a p\O?0H _0` .rNI n (fN2JLN^NuNVH?=n0.|0|0f>a =@`BF> ?. ?.a XO8BG n1f&>XNGJ@g<9N8Fo>F`0.|0|0g 0.|| f~0.|0|gn> ?. RW?.aTO?a XO?0H=@0H=@>RNGJ@f .rNI n1f&>XNGJ@g<9N8Fo>F`>QNGJ@fBWNGJ@f>RNGJ@g\JGg >N3GBG> ?. RW?.aBTO?aXO6no.rNI`nl>0WN3n`<>SNGJ@f>>a6CJGf>.Go .rNIGmBG`C>BNGJ@f.>SNGJ@f .rNK`2>RNG6>a<<JCg>SNGJ@f .s NKJGg >N3G0NqJLN^NuNVHRyN*@Sy><-0.|?` |Cf.>?<N2TOp`*|Dg|?<N2TO`>/ N9XOp`|Cf0y#.N8R`$|Df.N8R`>/ N9XOp`|Cf4Jyg0F#.N8Rp`|>?<N2TOp`h|Df.N8Rp`R>/ N9XOJygp` |?-?--H??-aTO?N;PO#;n#~N2. N7H>9> a3~Ry~>RNGJ@f.s'NK`By|(|*Tgt: mfRE -f9E`Bl;E|0-|0|0f>?-aTO?aTO;@Rm>?-?-aBXOR@|@\`BWa?9V?9N3XOal>SNGJ@f"BWNGJ@g.sN7.>?9VN4FTO3SyTNEFJL0N^NuNVH (|*TgJlg|# #BWBg?--H??-N;PO.N$BWBg?,?<?-N;PO.N$>N%fN% .N:BB\`nJL0N^NuNVHBGBE=n=|.]/U/Ya POJ@g>??.?.a\O< n gFF`Eo: nfJxg yxf .xavBx>BNGJ@f>QNGJ@f.sONK``Z>?<aTO@0NqJL N^NuNVHBx>a>JGm>a`0NqJLN^NuNVHBG>VNGJ@g>a>>WNGJ@g>NGJ@g>?.aTO?aTO`89>ENGJ@g 9\#x*@BG;D>VNGJ@gJyTfByVBy(|>ENGJ@g`&y\g. /<sbNIXO`,ze.svNK`&`| 7|(\>BNGJ@g`B>WNGJ@g> ?aTO>`D>TNGJ@gh>UNGJ@g >a`>N1:<yl?0@Hм @00RF`>aR>UNGJ@g*>0?aTO>`JnfJxg0```.sNKpNqJL8N^NuNVH>9|@RyDm .sNI0@Hм @00NqJLN^NuNVH>.|n02. |0A2.AANqJLN^NuNVH>.|n02.AANqJLN^NuNVH>.|0.|0g>?a|TO>>a=@`0NqJLN^NuNVHBGJn n.sNIBn 0.`b n o .sNI0. y|o~`N n o .sNI0. y|o~`&.sNIB@`.`|g|g|g`JGgBy0. y0NqJLN^NuNVH>. Jyg09^@@@By0.|0|0f>a=@` ngRG|0n NqJLN^NuNVH~0.|0|0f 0. @Hм @>>aB=@`0.|0| fB@`Z0.|0|f|`2 n f0. @Hм @<`0n"|n0H<|?JFf .tNI0NqJLN^NuNVHBD n<(0|0g0|0|0fRD` >a<`BG<. :.0|0gP>?aBTO>JDg60|0|0f* n0h"|?00@Hм @00RE>a4<` n<( n:(0|0g*0|0|0f0E"|>azRE>a<` n<(0|0g>?aTO<>a>`>|| f n"n0`| f n00NqJLN^NuNVH?(y&y69XJgJf# #`X y0d y1|#~ByXN<>JGg0`>?<aTO.aJ@g8|Qg|Sf>NG.vzNI##3XB``.?<aTO.avJ@f`|*y\fF>VNGJ@g|;|#`&Jyg|`. /<vNIXO -g0-|0| f.at*@;|`">?-?--H??-N;PO*@.aJ@f`>N8BWBg?9?<?<1N;PO.aJ@f` yf~\JyXf`ByX`JyXg`JyXg~`zJyXg~`lJyXfB>CNGJ@g09D@3`$>DNGJ@g 9D#`~ `JyXf~<`JyXf~=`JyXfBnBn.]/U/YN>POJ@g n f>N=@`=y>?.BgBg?.N;PO*@>Nށm>WNGJ@gJtg.\?-?-/9tNPO;@.a~P y P\f RyX``>WNGJ@g~]`~H` Ry``H |t rW hHN0GV(g4JyXf|g|g|Pf|g|g |]gByX0@HмV @:|?Jyg|BfzJyg|Afz yhn" yhfp0@HмV @gZX 9e .vNI|g|fz`|Vg |Tg|Hfz y0 y1E` y<Y=|C0`>NGBWaJ@gaj*@ g##3X `|Wf`h>IaJ@g` |Uf>axJ@g|=`<>?<a$TO.a>aTJ@gf``H |tr W h$Nм|Vg >a&J@g8```.vNIBNqJL8N^NuNVH*y 2.HЁe .vNI 2.HЁ# NqJL N^NuNVH>a*@:E n(H;@ n;h n;h n;h n;h ./. NG a6*@:C;nBmBm;n  NqJL N^NuNVH> a*@:D;nBmBm+n  NqJL N^NuNVH>a*@:;n ;n ;n+n+n NqJL N^NuNV <;b .vNI y XN^NuNVH <İeB`Y y*P NqJL N^NuNV.aJyXgp` RyXB@NqN^NuNVH?0nV(g a(@ fB@` .a \.a(@:,ah*@ fB@` n\f,>?-?-NXO>?<aRTO.ap` n<g .a*@ nHg nIg.a*@./ ?.a\OJ@gp`t<-0.@HмV @g >/ a ^XO0.@HмV @g >/ a JEf z9EBC8`b>a8>a60.@HмV @f"Do0D2"|u0H6x>`0C2"|u0H6BD0.@HмV @g` nf|g|f TCg .w/ a XO???/ a *@`>/ a XO???/ an (@` nPf lg9m0.@HмV @g~ nPf .a`./ ?.a\OJ@f>0|| g 0|| g&M`&L./ ?+?+??.aR .aJng<|g6a*@ fB@`,>/-aXO??<?</ a .aHpNqJL8N^NuNVH n >(0.`B`TB@`Z>/. aXO n 1|. a>=a|a-@ .ahJ@f .wlNI n>(0|0|0f>a> n0("nRi n> n?(?/. aPO. a> BgaTO.ab>a n0(|0|0g>=aan-@ n h f$. n?( n?(??<JaPO-@ `: n PAg .wNI n PCfN n ( @ PCf> n ( @ PCf. n Jhg n h0(` n h 0("n 3@`$./. BgBg n?(?.a8 -@ `./. BgBg?<?.a -@ ` n P?<aTO*@./.BgBg?. ?<a$ *@`d nf .`p nfp`p>>?<aTO*@`2~$`.~%`*.wNI .`2`U@|b@0@u PN./.BgBg?. ?a NqJL N^NuNVH n1n Jnm n1n n1n n>| a=@ `(|=f>?. N?.?. n/(a|POJLN^NuNV n0(|0| f8. n?( n?(?< n?(N(|g&|g |g0|0fn g .x NIJLN^NuNV0.`B@`(p`$p` p`p``S@| b@0@u PNN^NuNVH n PCgB@` n >( n PCgB@` n<(0.`F`ƞF`0>`0H>`0HH@>`F`F`0G`B0g`~B0g`tFgB@`p>`dFfB@`p>`TFnB@`p>`FFmB@`p>`8FlB@`p>`*FoB@`p>`B@`,`S@|"b@0@u PN n 1G. apNqJLN^NuNVH n PCgB@`Z n >(0.`$0F@>`00D@>`(JGgB@`p>`B@`*`| g| gذ| g` n 1G. a"pNqJLN^NuNVH (y~#~Rya*@g UCg .x NISy#~0-NqJL0N^NuNV0.|0f .x2NI>NrNqN^NuNV n0(|0g, n> n?( n?(NrTO?NXO`pNqN^NuNV3.xDNVN^NuNV nfa`a> /<xLNVXON^NuNV3.xPNVN^NuNV.xXNVN^NuNV3.x`NVN^NuNV3.xhNVN^NuNV.xpNVN^NuNV./<xwNVXON^NuNV0. H././<xNVPON^NuNV>/<xNVXON^NuNV.xNVN^NuNVJn f Jn fXn0.D@>/<xNVXOJn fJn gJ>0. W/<xNVXOJn g >/a>0. W/<xNVXO.xNVN^NuNVJnfJn g^.xNVJng&>0.W/<xNVXOJn g>/aJn g>0. W/<xNVXO> az.yNVN^NuNV0. `X0.|0| g>/. </<yNVPO`F>/. /<y"NVPO`.>/. /<y.NVPO``|g|g°|gNqN^NuNVH? n <(0nSH :(>F nnP*n Snm:Jmf.y9NV`>/<yBNVXO>/<yONVXOX`> a`6JGo0.@nJFg>/<yYNVXO69~Ry~> ?/<yfNV\O>/<y|NVXO.yNVa>a*n Enmf >aX`> aRF`a`69~Ry~>?/<yNV\O89~Ry~>a>/<yNVXO0.@>/<zNVXOaV>ax*n 8.SDm >a0X`BWa(*n 8.SDm>a2X`> a(aJL N^NuNV>/<z!NVXON^NuNV>/<z,NVXON^NuNV>/<z8NVXON^NuNV././<z>NVPON^NuNV./<zPNVXON^NuNVH. NTt.NTtJLN^NuNVH> N^BW/< /.N]jPOJ@l./<zYNIXO. N]>JGo.?N\TO`.NTtJLN^NuNVJyg>,aRy>/<zgNVXON^NuNVa~>a> aaN^NuNVBy> aN^NuNVJno>/<zjNVXON^NuNV-yP# P=yxB3xB>/<ztNVXOa#P3xBN^NuNVHa*|>9JGoH>Wa SG`aLJL N^NuNVJPf>/ ?<Nd\O`V . f$JyxBgJyf.P?<(N\TO`* . gB@`p3xB.P. H?N\TON^NuNV.BgBg?. ?<LN$PO.aNN^NuNV.Bg?.?. ?<KN$PO.a(N^NuNV.BgBg?<?<MN$PO.aN^NuNVJyxBf > N9,>Z/<zNVXO.aN^NuNVJg@ n> n0?/<zNV\O n0` n>/<zNVXO` n> n?(/<zNV\O` n>/<zNVXO n hf./<zNVXO` n> /<zNVXO`> N9,`x n>/<zNVXO n.a `R> N9, n.a n0PV(g n. a``H |zzrW hNN^NuNVH>N#l*@:E;n ;n;n;n;n NqJL N^NuNVHBa<0m<9n ހH|Hހ`H>av NqJLN^NuNVHBa<0m <9n<0`&<am <fn<W`<Am <Fn<7`` HHЁ.`H>a NqJLN^NuNVHBEBa><0m*<7n$Jng RE0|n H|HЁ.`H>a NqJLN^NuNVHJyg:9By0`a>JGg |z0pH`d.}VNI`j |z0pH`b`V>=a`J@gp`p `H>"?<,/<a:\O3~Ry~pX`>=a J@gp`p`>=a J@gp`>&aJ@gp>`p`>'?<,/<a\O yo.}hNI3By*|Syo09@3H|y`pC`x>=azJ@gp`p`b>=adJ@gp`>+aTJ@gp`p`<>=a>J@gp`">-a.J@gp`>>aJ@gpZ`p`>*aJ@g8a*>JGg|*f >/aJ@f`JGf.}NIB@``&>/aJ@ga>JGg| g``>=aJ@gp`p`BE|0g >aZa(nlRE`D>xadJ@f >XaXJ@ga(JmmRE`BWa(JmmRE>la J@f>LaJ@fJEg #pD` 3pC`>=aJ@gp#`">=aJ@gp`p`p"`>>aJ@g>>aJ@gp`r`ba>>/<}aXO:JEmB ||0PH:g"ar<| g>/<}NIXO>a0|``>ap`>=a J@gp!`">>aJ@g>=aJ@gp`p`p `Kz0Hмz @ sg0Hмz @ ofJEoa>SE`JEoB>aj.Qaj#\ y\g y\3pY`^BypE`R>=aVJ@gp`p `@>=aDJ@gp`>|a6J@gp?`p ` `H ||rW hHN`jB@NqJL N^NuNVHa >nfp` >aB@NqJLN^NuNVHJyg>9By`B.N]>| fJygBy`RyZ`|f Ry~ `JGlBG0NqJLN^NuNVHa>| g | g| f`nfp`>aB@NqJLN^NuNVJyg.}NI`3N^NuNVH3*n>. a<.H@gJFg| f.}NI`|\fha<|0m0|7n*>ax>az<JFm|o.}NI`J`*>/<}a$XO:JEm ||0PH<`| gJGo Ry`JGf .}NISG`DJGnSBJL N^NuNVH*|{`Jg>?< /a\O\`JL N^NuNVH*y| f:>Nl*@ f .~ NI~.SGm+y|#|``#|0. B-BmBmBm;n. /.aXO>r09W/.abXO>0@Hм @+P0@Hм @ NqJL N^NuNVH (nBW/ aXO@Hм @*P g(H|g. / a0XOJ@g `Z*m<`>r09W/ aXO@Hм @*P g. / aXOJ@g `*m`BWBg/ a\ONqJL0N^NuNVH-|><SGmj n*P gX&mf. /<~!NIXOH|g(M`" g)m` n +y|#|*K`X`JL8N^NuNVH *|><SGm(U g,HJEg60,|| f(0l"| p9h0,|| 9@| f*0,@Hм @JPf. /<~7NIXO| f. /<~MNIXO|JyTg >/  ,H??,N4PO(l`:X`,JL0N^NuNVHJn g0<`B@>*n|JgJFo H@SF`0|NqJL N^NuNVH *n(n ~HfJgSGfp``B@NqJL0N^NuNVH *n(n ~SGmJgH`B@`JL0N^NuNVH*nBGJgH. f0`RG`pNqJL N^NuNVHaL3ngB@`pNqJLN^NuNVHa">nfp` 3B@NqJLN^NuNVJyg .~iNI3N^NuNVH~nl^0@HЮ @*P -ga0H` Ry`Ry`Ry~``a `J@g|1gް|Dgа|Lg```RG` nlaBW/< n /(N]jPOJ@l n 2G./<~a4XOBW/< n /(N\:POJ@mBW/< n /( N\:POJ@l .~a#PRyZNCBWNGJ@fN`N7N3 n . N7JyfBW`>N^^JL N^NuNV. a~N^NuNVH*yPBPRyJyZg>Z/<*NVXO>?.?.?.?.?. /.NV.1NV#PJL N^NuNV>?.?.?.?.?. /.af>N^^N^NuNVH? N<>0`BWNGJ@f>SNGJ@fa`.NI`>NG`>:NBTJ@ga`>NGN.N:`09`vaJ>N8`|a`haV>N8`da`Paf`Ta`a.>N8`>at`la`0a.`^a(`X.a`L`U@|b@0@6 PN`H |rW hN>QNGJ@f.aV``JL0N^NuNVH>VNGJ@gN*@>WNGJ@g ` . aBNqJL N^NuNVH>?.?.?.?.?. /.NIN<>|QgJGg|Rg|Sg`>NGJLN^NuNVH>ENGJ@f .+a`L*y\J-f;| Jmf;y~Ry~J-g -f m f0-`.:a6B@NqJL N^NuNVH*y\J-g. /<HNIXO`.|;| Jmf;y~Ry~>N7.JL N^NuNVJyf .bNI09NqN^NuNVJyf .zNI09NqN^NuNVHRyN1>Sy>ANGJ@f .aHJy4l.NI`\ y4m.NI`D<9~>??9409W09@Hм/a,PORy~>N7.Ry4JLN^NuNV>ANGJ@f .NIJy4l.NI`3~Ry~>N7.N^NuNVH<93~Ry~:93~Ry~>9~Ry~>N7.a>N7.>aJ@f. NI>N8`>?<a/N9\O>N7.33JLN^NuNVH? <93~Ry~:93~Ry~>VNGJ@f.a|`">QNGJ@fN.N:>QNGJ@g>N7.>QNGJ@f&>BgN/N9\O>QNGJ@g>WNGJ@gad>N8`~>93~Ry~*y~N(@#~89Z>WNGJ@g$a 69Z3Z>N7..N:#~3Z>N8>N7.33JL0N^NuNVHa*@BF> a:J@ga<`^>a&J@gaX<`J>aJ@gah<`6>aJ@g*>;NBTJ@g<9>;NB` >YNGJFg:>?</ N9\O>QNGJ@f ./a> aJ@ga`\>9~Ry~>Bg/ N9\Oa> alJ@g*<9~Ry~>N8>N7.a>N7.`>N7.JL N^NuNVH>;NBTJ@fl# #.nN$N.N$>93>N%f3N% @. N9BB` >;NB>N8JL N^NuNVH?>93~Ry~a*@>/ N/XO.N9894JDlRy46934<9~Ry~>N8:9Byap>N8>N7.Jyf 309@Hм.?9?9409WN5>XO>N7.33433JL N^NuNVH<93~Ry~>93~Ry~>N7.>Bga/N9\Oa>N8>N7.33JLN^NuNVHN<>|Yf 09ng >NGB@`pNqJLN^NuNVH 0. @H*@;n:(MYSn m:0,mf .ANI0,ml>,9m;G>8:YY`JL0N^NuNV.N]"NqN^NuNVHNk\BW/<nN_rXO>/<nN_rXO>/<nN_rXO-|n .2. HЁ @B=|=*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>N^BWBg/ RN`\O|g.R/<aRXO` N2n!MRn` N2n!|.?.NHTONqJL N^NuNV.Nm>/.?<Nd\O. Nm>/. ?<Nd\O>/<.?<Nd\O>N^^N^NuNVHIBBn .RdRn-\ fRn-\*\&Lg(K<%gH>/?.a\O`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-HH`@Jng -|Zt`-|[BW/.?<?< // N[(TJngT`BW/<[Bg?< // N[(T`Jng -|Zt`-|[BW/.Bg?<// N[(TJngT`Jng -|Zt`-|[<XgBW`>/.Bg?<// N[(TJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |0r W h0N.Nmn=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>N9,`B n ..H?N\TO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. Nd\ON^NuNVH*n ;|A+HJnfB@`p=@>?</.N`\O:NqJL N^NuNVH*n Jmn*A+H>/-?Nd\O|gp`;| m RSm. HNqJL N^NuNVH*n .0.@?WaTO.?.WaxTO0.NqJL N^NuNVH*n><m;|A+H>/-?Nd\OGgp`B@NqJL N^NuNVH*n BmJnfB@`p=@>Bg/.N_r\O:NqJL N^NuNVH*nJmnA+H>/-?N`\O;@Jmnp`Sm mH|RNqJL N^NuNVH*n.a>|fp`4<|F.a~>|fp`0|@g <@0NqJL N^NuNVHBG|l >N^RG`BBgNTOJLN^NuNVH>Nl*@fp`H|g>Nk~>NlrB@`g.f(>B?.Ni|\O>/<n?.Nd\Og,>"/</ 2/-/ Nj|gp`,.?<NTO>Nk~>NlrB@NqJL N^NuNVHNl8>JGlp`>Nk~>Nk*@Jn fJnf.n/.NlXOJ@f 0`B`.n/.NlXOJ@f0`">/.?Ni\OJ@gp`0NqJL N^NuNVHNl8>JGlp`~>Nk~>Nk*@Jnf.n/.NlXOJ@f 0`B`.n/.NlXOJ@f0`">/.?Ni\OJ@gp`0NqJL N^NuNVH*n :.H>Nl(@fp`PgB@`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ Nj|gp`>!/</ 2// Nj|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ Nj|gp`>!/</ 2/./ Nj|gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ NjH,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ Nj|gp``>!/</ 2/./ Nj|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>Nl=(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ Nj|gp` ,g8 , l.>!/</ 2/./ Nj|gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ Nj|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -g -gg2>"/</ 2/-/ Nj|gp` - l0>!/</ 2/./ Nj|gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`2>"/</ 2/./ Nj|gp`R -@Jo*>"/./ /./ NjH".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ Nj|gp``@ -+@ - l$>!/</ 2/-/ Nj`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH>Nl*@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >Nk(@G -:f" am zn H|`H|TBG  o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0мNqJLN^NuNVH nep`>Nk*@fp` NqJL N^NuNVH|BG|l0yf y0` FRG`pNqJLN^NuNVH|BGnlFRG`0F@yB@NqJLN^NuNVH. gRn*y0.H.N|fp`*y0.Hѹ NqJL N^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf# <`ro #B`bJl D.RCJl D,RCfzB` xm`BJgm`|f D# D` # NqJLN^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:ABBDABBD  ^ r  r JF$ N Z bT V Z l ~ ~ 1347;PllPllexternal definition syntaxexternal definition syntaxinvalid typedef statementinvalid storage classinvalid storage classinvalid storage classinvalid register specificationredeclaration: %.8sstructure declaration syntaxredeclaration: %.8sno structure nameinvalid structure prototype: %.8sstructure table overflowinvalid type declarationinvalid type declarationinvalid type declarationfloating point not supportedinvalid long declarationinvalid short declarationinvalid unsigned declarationinvalid structure declaration: %.8sredeclaration: %.8sillegal function declarationillegal register specificationillegal register specificationtoo many initializersmissing { in initializationinitializer list too longinitializer allignmentmissing }missing }invalid initializerfunction body syntax{ not matched by }declaration syntaxredeclaration: %.8stoo many paramsinvalid declaratordimension table overflowinvalid field sizefield overflows wordfield overflows byteinvalid field type descriptioninvalid data type CDETUVWXYZ[  b Td p!P!P!pHTV]d">""""""""#    <=>?@BHIZ[),>++n+n*+n++)))---6----6----~------~/0//00/0000f0l0r0|0000001111111111111111111000001invalid expressionundefined symbol: %.8sexpression too complexunexpected EOFexpression too complexexpression too complexassignable operand requiredstructure operation not yet implementedillegal type conversionillegal type conversioninvalid structure member nameinvalid ?: operator syntaxindirection on function invalidillegal call& operand illegaladdress of registerinvalid conversioninvalid operand typeconstant requiredbad indirection .dc.b %d .dc.w .text .data .data .bss .globl _%.8s .comm _%.8s,%ld .ds.b %d .even link R14,#%d movem.l R%d-R7R%d-R13,-(sp) tst.l (sp)+ movem.l (sp)+,R%d-R7R%d-R13 unlk R14 rts ~%.8s=L%d ~%.8s=R%d ~%.8s=%d tst R0 cmp #%d,R0 beq L%d sub #%d,R0 cmp #%d,R0 bhi L%d asl #2,R0 move R0,R8 add.l #L%d,R8 move.l (R8),R8 jmp (R8) ext.l R0 move.l #L%d,R8 move #%d,R1 cmp.l (R8)+,R0 dbeq R1,L%d move.l %d(R8),R8 jmp (R8) .dc.l %d .dc.l L%d L%d: _%.8s: ~~%.8s: _%.8s: can't copy %s%d bra L%d L%d:CDEJK;:::;";";F.%x %x.%x.%x .%x.%x .%x.%.8s .%x .%x eeeeeeefghijVWklBm[nooooooooooAQpqr@ssssssssssssssssssssssssssTUtsssssssssssssssssssssssssssRuS ||||||||| | | | | ||}}}}}}$}+}2}9}A}G}P efghijklmnopqrstu=2=R=V=l===><>R>x>?*?@@@A`Ar=Bautobreakcasecharcontinuedodefaultdoublegotoelseexternfloatforifintlongregisterreturnshortsizeofstaticstructswitchtypedefunionunsignedwhileinvalid charactercharacter constant too longno */ before EOF=+-*/|&^%=%c assumedtoo many chars pushed backstring cannot cross linebad character constantbnrtstring too longsymbol table overflowundefined label: %.8snot a structure: %.8snot in parameter list: %.8stoo many tokens pushed back~~CP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019can't open %stemp creation errorusage: c068 source asm str [-DL]* %d: JJKJJJKJKKKJKKKKK KKKKKKKKKEQRSYJdJJpJDJtJJ{ not matched by }invalid keywordmissing semicolonparenthesized expression syntaxexpected labelinvalid labellabel redeclaration: %.8sinvalid break statementinvalid continue statementmissing coloncase not inside a switch blocktoo many cases in switchmissing colondefault not inside a switch blockmissing whileinvalid for statementmissing semicolonduplicate case valueOOPPP N NKJJ$ $ """""".....LLMMMM@@@@@@@" $IH G GE@@@@@R"Q@RR RCannot open Cannot create CDOSUXcdosuxXWX&XWXlXWX&XWXlX>`^#l`PCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 o"h&IB[b#E?/ NINSNVB odpN^NuNV0/"/ NBd0< Ac"NB0<NBN^NuNV.a8-@>Bg/.N>L\O.a -@.PabJ@f .NqN^NuNVH n:0@Hм @g .` 0@Hм @g6 n ( @ PJf$ n*h(m>-G|8-||B0fSF n ( @ PCf|g|f|f$ n!L n h 20(`1@ .` n h Jhf, n0 n!L02`F@"n"i 3@ .`L0"n"i 2)A@f* n0 n!L02`"n"i 3@ .`|f n!L`$.NA@(@.a*@ n: n-h |g"./ BgBg?<?WN< -@>?<N?<N?<N(G|p"n2)|`<SF>?<N?<Na >JGmD Uf>. a(@g,>a Gf 0|@Hм @6 nBh``pJg$JFf >N'^J@g n1|&n`X`BJgJFf>N'^J@g&n`4`JgJFf&L` |f&M``JgJFf&M`|f&L``JgJFf&M`|f6 `` kf T$f.N'^J@g 'l `JgJFf&M`g 'n ``r U=f&m`v UEf4 mf,6> ?<N Bg?-?< ?+N6xPO&@`.afJ@g;|;kBm &M`` n PEfD n hf8. a(@g& n0(|0|g0,"ni &n`t.aJ@gd. a(@g( n1| n1k0,"ni &n`.Jy$f" m P0@Hм @gJ n&h. n/( aXOJ@g. n2|AHҼ"A0 n"n!i  n!K 0@Hм @gA-H\Ad-H`.`/\/.aPOY\Y`K\b .a>*X`K\b$(M\b./a6XOJ@g&T(*X`X`(n\*n` мdc &U'T 'd.aJ@gY\Y`Y`IKd&\`bV U!K&]'\ >N'vJ@f: k >N'vJ@g k 7h` k>N'vJ@g k7h`-K`p0G(g2/. n/(aHXO _!@/. n/( a0XO _!@ `,0G"|00|@@f/. n/(aXO _!@ .NqJL8N^NuNV n h fB@`r n h fp``. N(,J@gB@`N.N(,J@gp`<. aJgp`,.aJgB@` n0("n 2)AnB@`pNqN^NuNVH (n *n n0"n")"A2Af./ n/(aPO` T"n X n0"n") "A2Af./ n/( aPO` T"n X U XJL0N^NuNV n PCf .`( n P$f n ( @ PCf n (`BNqN^NuNV n PEf" n hf n> N(J@fp`B@NqN^NuNVH? n&P>0@Hм @gB@`*BD*k UDf -mRD` .aD*@g 0m-H`B@`0G(gr(k |@f:*l(l UCf TCgB@`Jg0-`0,;@ n p` TDfRD&,`.a(@g6,H`B@`p .< :0` ׮`.`&JDgB@`F0`T0-@``0HH-@`R0H?H@H-@`B02`H-@`402`H-@`&02@H-@``W@|b@0@d PN`mB@`pH-@`oB@`pH-@`~nB@`pH-@`hlB@`pH-@`R .D-@`F .F-@`:JgB@`p-@`(`"Ǯ`B@`B`S@|"b@0@d PNJDg.?<Na>JGlB@`T:0`*z`-SG`&z>-SG`B@`&`H |er W h0N8;Gp`B@NqJL0N^NuNV n P$f n h>N'^J@fB@` n PDfp` n>N'vNqN^NuNVH n(P.a>g n(P&l .aJ@f*l.aJ@g0`8(`.ajJ@gT% SDf6N`t.aNJ@gh SDf6N UEf mf.fEN;`(T./ BgBg?<?<?. /.a"\O> мdP|f>NIjKd>RW?</a\OX`|f.?NHPTO`|f>NI0NqJL0N^NuNVH n>0@Hм @g .`~|g|f" n  @ "n X n.NA@`N0G(g/./. n/( aPO _!@ /./. n/(ajPO _!@ .NqJLN^NuNVH? n0`ZBE<9 n ( @ PEgRy n PHf& n*h UBf. a4@*m`.a&@ n0>?</.a\O>NH3BW?. /.al\OB@`Z>?< n/(aR\O>?. n/( a<\O`* n f n. a6JCm~> n/(aXO6JCmf n ( @0@Hм @g n"n"i !i n h 1C n0&.N-@>?./.N>L\O`$`"|g\|Bg$|Hg|IgNq>?. /Paj\OJ@g: n f2 n PEf(.N|J@g. n?( NHPTO0.`>?. /.ax\O80NqJL N^NuNV0. `<.?.NHPTO`>Ry n gBW`>/.?.NH\O``|g|gʰ|gNq0.NqN^NuNVH n0` n f0.``>a J@g n. N<*@g n h>a J@fx mg mff>?< n/(a\O> n.?.?NGXO mf.?.?.NGXO.?.?.NGXO0.`:` n.N|J@gf>a =@.?. n h>( ?NGXO n h1n >RW?. /.af\O.??.NGXO0.``P n. N<*@gJml mm0-D@;@ nRP``H |f\rW h?./.N>L\O>?. /.a T\O>JGm0`:>?. /.a\O>JGm0`>?. /.a\O>JGm0` n fz>?</.a\O*@ g`.?.?</.aPO> n0@Hм @g. n.N|J@g n. n h?( NHPTO`x>?. /.a\O*@g.?.?. /.aXPO>`D n g&>?</.a \O>?. /.a\O>` n0>/<hN;XO0NqJL N^NuNVH? n>|m| o n hf >ab=@ n-hBCBn n*h(M=|0G(gRn n(h n>aJ@g8|g0|g*|g&>a0J@g>aJ@f>azJ@fRC0`2>aPJ@gRn`6>a>J@f >a2J@gRn``W@|b@0@f PN<.RF nH80RJ@g|0`>N=`Sy.hNK`Uy>NH`v n f.hNK` .hNKRy`J0D"| ./<hNKXO`$0@Hм @g n>`>NF`0@Hм @g n>`>NFP`>aJ@f >aJ@g >NF`>NF`|gJng0 @"|0H=@`0 @"|0H=@0n"|.NK`>|f ` &@>/ NC$XO`>NH`>NH`>a>NH`>a>NH`>?</ NF\O`ȸ|f>`>?-/ NF\O`|f>`>?,/ NF\O`Sn|f `|f ` .&@ nH=@R=|.g n f=|`=|`.g=|.g:`:..gf S=g>/<hN;XO&kBn.a Jg&kRnJnf SEg SCf$0@Hм @f kg>at:>?./ aH\O=@ nf.g(>apJ@g.?a:TO??.NGXO`.g<.`Ⱥng|g>a(J@gJno|f4BW?./ N>L\O"n2)An>?./ N>L\O|o8|fFBW?./ N>L\O"n2An,>?./ N>L\O|n>ad=@<.RF`.?.aNTO??.NGXO`|f -` ,&@.a&@ g SCfJkg BW/ NC$XO`H0` >N?G`|g|g|*g|-gNq``||&bf@0@g8 PN`4JCgB n f:>aJ@g.>aJ@f >aJ@g >NF` >NFr0.NqJL8N^NuNVH n>|/mB`0@Hм @g(n` n(h0G(fB@`p<g n&h 0@Hм @gb|gZ0@Hм @fF n!l l>a@J@g|f>?. /.aB\O*@ g ` n!L`Z0@Hм @gF n!k k>aJ@g|f>?. /.a\O*@ g ` n!K 0. `*z` /<iN;XOB`|`S@|b@0@g PN0E2"|0H:JEfB`B0@Hмf @*PJUg*>/ a&XOJ@gJFg>/ aXOJ@g `P`BNqJL8N^NuNV ngB@`pNqN^NuNV ng0.|0fB@`pNqN^NuNV nfp`0.|0gp`B@NqN^NuNV nfp`0.NqN^NuNV0.|NqN^NuNV0.|NqN^NuNV nlB@`pNqN^NuNV nmB@`pNqN^NuNV n PEf n hgB@`pNqN^NuNVH n0(n n. g n P=gB@`8. | n>(0|0| f|>a<g>a>BE n0` n hnRE``|Cg|DgNq0`L|gB@`p`T|fp`J|gJEfB@`p`80`4>ad`,>/<iN;XOB@``S@| b@0@g PNJLN^NuNVH? n P=g n hn n:( n P=f` n(h TfP*l (lBG UCf>-|m|n TgBWBg??<?N6xPO-@.N|J@g n1l `J>a>?</ a\O<>aJ@g.?aTO??NGXO/.?aTO _1@ ` UCf*l (l.N|J@f.N|J@f.aJ@g&L(M*KB.N|J@g(6, .aJ@g mg=m =m`&M`F.aJ@g( lg Jy$f U0.Wa°|n<.JgD>a>?</.a\O6>aJ@g .?aTO??NGXO>a6RF g0 Sa@>?</ a\O=@=k>?.???N@PO-@>aJ@g n hf >a=@./.Bg?< n?(?<'N< -@>?. /.a\O`pNqJL8N^NuNVH n PfP n*h UCf `BJy$f6 Ug n f=y}fRy}f>?.?</.axPOBW?<N?. /.a~\O=y}fRy}f>N=>N=>?<N?. /.a.\O>N=0.`pNqN^NuNVH n P@f n g>9}fRy}f>?Bg n/(aPO:9>?. n h /(a\O8.?.?NGXO3<9}f>N=Ry}f>N=>?. n h /( af\O8.?.?NGXO>N=0.`pNqJLN^NuNVH n*h n:0E(g n(h 8. 0` nJhfJn f >N=`Jn g >N=`>?.Jn gBg`?</ a|PO`Jn gB@`p=@ Jn fB>9}fRy}f>?JDgBg`?</ a?.?/ a*PO>N=`$>?.?/ aPO>?.?/ aPO`">?< n/(aP\O>?.?. n/( aPO`0@Hм @g" UFf TFf0-lf .NG`>?</.a\OBF0@Hм @g>aZJ@f >aNJ@gRF`zJn f0|@Hм @:0F2E"|0H<>0F"|/0/<i&NKPO``H |hrW hNJL0N^NuNVH n*P<BG0@Hм @fR|BgL>?. / Pa\O@0F(g>?. /  a\O@>?. /.a.\O@JGg/. n /NXO _ 0NqJL N^NuNVHBF n*P>0G(gL&m SEf@-m 0` kg0`* n0`> a.J@g0` n(h ln TEf lf0, k f0` n(h TEf lf 0, k g+L >?</ a\O n+h n0|:`x`S@| b@0@hD PN kg0`l>?</ a\O*K`< n f0`J>?</ a\O*K``||b@0@hl PN`.N*@ n RF`0NqJL8N^NuNVH n>(0|0gp`80` p`0p`,`|g|g|g|gNq.i.N;B@NqJLN^NuNVHBG n PEf n h f.iCN;`4JygBW?</.a<\O.aV>`BW?</.a \O0NqJLN^NuNVH n hfBG`.a2. AA>SG n PEfV n0(`4 n> a J@g0. `p`0"ni 0. |`r`U@|b@0@h PN`T n P=fJ/.??<NN`pNqN^NuNVJyg@a.a,J@gBW?</.NXO/N\ON^NuNVHJygah.aJ@g2BW?</.NXO/N\O>JGg.Bg?NGXOJLN^NuNVJyga.aJ@g BW?.?. /.NXO/N.PON^NuNVHJyga.aPJ@g n>(.N-@ n PNF> N=>/.NC$XO` .} N=JLN^NuNVH>N= *@:E;n;n;n;n 0. `JBm Bm ;n `NBm ;n Bm`>;|;n ;| Bm`&;n Bm Bm``|gа|g|g` NqJL N^NuNV .e <dB@`P n0@Hм @gp`4 n0P(g n. aJ@fB@` n.aNqN^NuNVJygJyf > N=>&/<}SNKXON^NuNVH~nl0@HЮ @*P -gaH`@Ry`Ry$`Ry`Ry`Ry6`Ry8`Ry``ah`H |}hrW hNSJL N^NuNVH.NR>JGo0`a,3&# a*@gR0`:.N5`B>?-/-N5p\O`,.N5` .N4``|Kg̰|Lg|Mg``B.NR>| g>aL`>aD`.Ea<``|(gȰ|.gL``,JL N^NuNVH a^>JGnB`HaN<0` aB:|f.Qa.??NIXO*@`BWBga???N6xPO*@`a>?a~TO*@`a=@a=@.?aTO*@`a:a\*@g./ Bg???a *@`0G(g6a*@ fB`pa(@ fB``./ BgBg??a *@`(a*@g./ BgBg??a| *@``|C|b@0@} PN NqJL0N^NuNVHBG.NR<0`20`FG0|@`8G0|@`,G0|@` .]ad`H |~ rW h`N`JLN^NuNVH~*n.NR<| gSGm`JGoB .NqJL N^NuNVRy:Ry Jy&g>&/<uNKXO>?.?.?.?.?. /.NK> aSy N^NuNV>?.?.?.?.?. /.az>NSN^NuNVH>a*@:;n ;n +n+n NqJL N^NuNVH> aN*@:C;n;n  NqJL N^NuNVH> a *@:D;n+n  NqJL N^NuNVH*y 2.HЁe .}a 2.HЁ# NqJL N^NuNVH *n(n ~SGmJgH`B@`JL0N^NuNV.aN^NuNVJno>/<NKXON^NuNVJno>/<NKXON^NuNVJy g>/ ?<NY\O`8 yo>/ ?<NY\O.. H?NQTON^NuNVH > N'=@ n:0E(g n*h n(h `0E"|00|@@f n*h0` n (l n (n><` n (8|Cf n8(JDfBG`4|f><`(|m |n><`|m |n><`><`>?. / a\O??.?. / aPO_o>?. / a\O`>?. / a\O>| o0`0< >`J>?. / a\O>`4><`, n hg><` n> N(J@g><`><`>?. / ad\O>?. / aT\O>< `>?. / a<\O>0E(gx|n,>?. / a\OGl0`>?. / a\O>`2>?. RW/ a\O<|o n o| o0`0< >| l0< `0>`|n| l0< `0>``|(|&b@@0@$ PNJng n1G0NqJL0N^NuNVH>N= *@:E;n;|;n ;|;n ;n;n NqJL N^NuNVH n0` n hg n hf$. n?( n?(aXO*@`0BWBg n?( n?( n?(N6xPO*@ n;h n;h n;h `D n> n?(N/<N;XO .`&`$|Cgܰ|Dg|EgF|Ng`JL N^NuNVH n P#N= n>( n<( n:( n0`>/<NKXO`>/<NKXO`. g >#N= n>/<NKXO`. g >#N= n.a`JGgT n0(`4>/<NKXO`8>/<NKXO`&.N;``U@|b@0@| PN n0(` >/<4NKXO` >/<8NKXO`./<>NKXO`>/./<DNKPO`>/<ONKXO`>?/<SNK\O` n>??/<\@NKPO n>aZ>)N=``>/<gNKXO`N n=h n=h.ar`0 n>/<jN;XO``U@|b@0@ PN`2 n0>/<N;XO``|C| b@0@ PNJLN^NuNVHBG ."N4G@RG .-@ <Jf>$N=SGm$6pH<| m>WW`>W0N=`JLN^NuNV>N'vJ@g.NK` nf .NKN^NuNV>N'vJ@g .NKN^NuNV>/<NKXON^NuNV>?.?./<NKPON^NuNV>N(J@gB n>N'vJ@f0> N'vJ@g" n>N'^J@g>a`>arN^NuNV>/<NKXON^NuNV./<NKXO> N'J@f>N'J@g n>a` n>a>?. /<NK\ON^NuNV0.n g. ?. ?./<axPON^NuNV. ?. ?./<aXPON^NuNV.NK n h>a* n h > n h?( /<NK\ON^NuNV>N'ذ|o .N;>/<NKXON^NuNV>N'J@g,.NK n >a>/<NKXO`*.%NK n >at>/<)NKXON^NuNV./NK n >azJng>-`BW?./<4NK\ON^NuNVJno>/<ANKXON^NuNVH>N= *@:E;n;n BmBm ./. N=hXO NqJL N^NuNV>/<MNKXON^NuNV>/<ZNKXON^NuNV.NRLNqN^NuNVHN`BW/<cNTXO>/<cNTXO>/<cNTXO-|c .2. HЁ @B=|*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>NSBWBg/ RNUF\O|g.R/<uaRXO` N2n!MRn` N2n!|.?.N7TONqJL N^NuNV.Nbh>/.?<NY\O. Nbh>/. ?<NY\O>/<?<NY\O>NSN^NuNVHIBBn .RdRn-\ fRn-\*\&Lg(K<%gH>/?.a\O`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-HH`@Jng -|O`-|PBW/.?<?< // NPRTJngT`BW/<PBg?< // NPRT`Jng -|O`-|PBW/.Bg?<// NPRTJngT`Jng -|O`-|P<XgBW`>/.Bg?<// NPRTJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |r W h0N.NbD=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>N=`B n ..H?NQDTO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. NY\ON^NuNVH*n ;|A+HJnfB@`p=@>?</.NUF\O:NqJL N^NuNVH*n Jmn*A+H>/-?NY\O|gp`;| m RSm. HNqJL N^NuNVH*n .0.@?WaTO.?.WaxTO0.NqJL N^NuNVH*n><m;|A+H>/-?NY\OGgp`B@NqJL N^NuNVH*n BmJnfB@`p=@>Bg/.NT\O:NqJL N^NuNVH*nJmnA+H>/-?NU\O;@Jmnp`Sm mH|RNqJL N^NuNVH*n.a>|fp`4<|F.a~>|fp`0|@g <@0NqJL N^NuNVHBG|l >NSRG`BBgNTOJLN^NuNVH>Na**@fp`H|g>N`>NaB@`g.f(>B?.N^\O>/<c?.NY\Og,>"/</ 2/-/ N`|gp`,.?<NTO>N`>NaB@NqJL N^NuNVHNab>JGlp`>N`>Na*@Jn fJnf.c/.ANaXOJ@f 0`B`.c/.NaXOJ@f0`">/.?N_\OJ@gp`0NqJL N^NuNVHNab>JGlp`~>N`>Na*@Jnf.c/.NaXOJ@f 0`B`.c/.NaXOJ@f0`">/.?N_\OJ@gp`0NqJL N^NuNVH*n :.H>Na*(@fp`PgB@`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ N`|gp`>!/</ 2// N`|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ N`|gp`>!/</ 2/./ N`|gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ N`H,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ N`|gp``>!/</ 2/./ N`|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>Na*(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ N`|gp` ,g8 , l.>!/</ 2/./ N`|gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N`|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -g -gg2>"/</ 2/-/ N`|gp` - l0>!/</ 2/./ N`|gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`2>"/</ 2/./ N`|gp`R -@Jo*>"/./ /./ N`H".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ N`|gp``@ -+@ - l$>!/</ 2/-/ N``>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH>Na**@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >Na(@G -:f" am zn H|`H|TBG  o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0м@NqJLN^NuNVH nep`>Na*@fp` NqJL N^NuNVH|BG|l0yf y0` FRG`pNqJLN^NuNVH|BGnlFRG`0F@yB@NqJLN^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf# <`ro #B`bJl D.RCJl D,RCfzB` xm`BJgm`|f D# D` # NqJLN^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:<CDE6 L B l P * P l l P *   v  t A00 4J`v()*+,-HPXLTbHPXLTbl*22bNNdivide by zeromodulus by zerohard long to register+,-ET           @      P P P P P P P P P P P P P      v v v v"""$$!!""""2 !|!V!*!!$"D"z"z"Z"Z &&&&&()()))) )))( >?BC//&/6/./11112n11111222212|2|2222n2n2|2|2|344444no code table for %d(sp)+(sp)-(sp)%scode skeleton error: %d match cookie=%d skelmatch type: %x%s L%d cdsize: invalid typestructure operation not implemented , , , , , , ,() ,  ijij ixix ii , , , , ,()  ii ii ii  () , ()   j< j< jB jB  jL jL , ,  (),  (),  j j  j j j j j , , ,  k k k k  k& k& , ,  (), ,()   kh kh kx kx   k k , , ,  , (), ,()  , ,() ,()  , ,() k  k k kkkllll  l.  l.  l.  l. l>l> l>l>  () , , , , , , , , ,  , ,()  (), ,  ,()  (),()  l l llll llllm mmmm,m8m@kmLmZmrmrmr  m m mmmmmmm  m  m  m  l.  l.  l.  l. l>l> l>l> , , , ,  , ,  , , ,  ,  ,  o  o oooo0oDoD oN oN oN oN o\o\ opop  o~ ,  ,  pp  p$ , ,  oN oN oN oN  pPo\ ,  ,  , ,  o  o  pp p p p p  p p pp , (),  ,  , ,  ,  ,     q, q6 qD  qPq\ qj q|q , , ,  , (), (), ,  ,  ,  , q qq q r r r& r: r:  rH rHq , , , , , , ,  (), ,  , ,  (), (), ,()  , , , ,() (),  , (), ,()  , (), ,()  (), , ,()  (), , ,() r rrr rrr s s$  sD  s\  s\ s\sv s ss s (), ,  (), ,()  , (), , , B , ,  (), , ,() , , , ,  , ,()  , ,()  , ,()  ih ih ih ih llmmkllllm8kkkt k t t t  t  l. l> tu u$ ktk  l.u4 uJ u` r  sD s , , , , , , ,  , , , ,  , ,  (), , ,() v v vw  w w w. w. , ,  , ,() (),   w w ww ww ww , ,  ll  k k kk l. l. l. l. l>lxtkm l.u4 ,  () (), , ,  , , ,  , (), , ,()  (), , ,()  x x xx  x x xxyy y,y, y,y,  () , ,  (), , ,  y y ll yy yy  z z , ,  zh zn zz  z , , , , ,  z z z  z +2(),  zz { o ,    {.{@ (), , , ,  o oD j l l l l {b {b llmmm8lllm{f{f{f {t {t {toDoDoDoDo{ oN oN oN oN o\ opop  o~ ,  ,()  ||||  }} } }.dc.l .dc.invalid initialization*line %d ~'CDEFLMOcdeflmo8,8$788 7888$788 7888.:<:P9:::::r:r .0123456789ABCDEFabcdef;Z;Z;^;^;^;^;^;^;^;^;^;^;j;j;j;j;j;j;v;v;v;v;v;v;CP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019can't open %s can't create %s intermediate code errorintermediate code error** %d: expression too complexusage: c168 icode asm [-DLmec]bra L%d L%d:DEIMQUZ_dimquy}uxmzx"j}{|p0zk0oqrVppbksklTvwPyLwj\z{j{Ji            ((  %$ #!"#"! "# ! addincsubdecmulsmuludivsdivuasrlsrasllslandoreornegnotmoveclrcmptstlmul_ldivlremalmulaldivalrembeqbnebgtbgebltbleblsblobccbhijmp*nopbtstmovemove.ljsrclrclr.lext.wext.llea(sp)??????@@@@@@@@@@@@@@?@@@@@?.>>?????@@@@?OOPPP N NKJJ$ $ """""".....LLMMMM@@@@@@@" $IH G GE@@@@@R@"Q@RR RDCCDCCDDDDFDnDDZDDDEECCCClCEfEfEfBEfEfEfCtcopy op=%d(R%d)+-(R%d)%d%d+%dinvalid register expressionR%d(R%d)_%.8s_%.8s(R%d)L%dL%d(R%d)%d(R%d,R%d%dinvalid storage class %d invalid operator %d .l.b.lext.l R%d swap R%d clr R%d swap R%d swap R%d %s R%d,R%d moveaddcmpm (R%d)+,(R%d)+ expression too complexR%dcmp #0,R%d tst R%d move R%d,%c(sp) add #%d,sp move sr,R%d move R%d,ccr Cannot open Cannot create CDOSUXcdosuxMLMPMM(MMLMPMM(MN`5(>`PCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019 o"h&IB[b#DE?/ NN*rNVB odpN^NuNV0/"/ NBDd0< A:"NB0<NBN^NuNVH#:aJ@gh`JGf`BWaJ@gV <;f N 0`TJGf0|n*``H |aZJ@g`$.=N |f > N B@NqJLN^NuNVH.N>0`.a30|@g8U0F@:`60:`.0H:`$0HH@:``S@|b@0@=" PN y0RJ@gH|am |fn|W`&|Am |Fn|7`|0m |9n|0``El 02A<`0NqJLN^NuNVH*n|BGJgJFo H@SF`0|NqJL N^NuNVH (n ~*nHfJgSGfp``B@NqJL0N^NuNVH *n(n ~SGm Jg`B`JL0N^NuNV>?n/<>N!XO>?.?.?.?.?. /.N!> N'hRyHN^NuNV <dGb.>aN0."yGRGN^NuNVH.NH*@c %H>a`JL N^NuNVH <`GdSG yGH`zByF09Aмd.N)>JGnPJyAnB@`H09A @"|d>N*SyAJyAn.tH?< N(TORy?n`0NqCJLN^NuNVH BG.a *@HJgV./ aXOJ@g `N f -=f(M `e0RGJ@g.>a,N*|H` g ` NqJL0N^NuNVH.a`*@Jg -=fB` NqJL N^NuNVH?*na~H0@"|=0H<0`H>?<,/.a\O0` .м,d*a4H0@"|=0H8| g|!fR`H>a`b>=aJ@g| =`L>>aJ@g|>`>=aJ@g|=`">=aJ@g|=`>=aJ@g=`|`>*anJ@g|69?nafJgJ< f0JyAf& 9G`fRy?n.tH?< N(TO`<*f >/aJ@f`Jf3?n.? aF|# n `(>/aJ@gaJg< g`| n `,H>/<?aXO``W@|b@0@>P PNB0NqJL N^NuNVH*n>. UGav<.H@gPJFg| f .?,a`:SGo`JGf .?Ea|\fa4<SGo`JGf .?Ua``BJL N^NuNVHa>nfp` >aB@NqJLN^NuNVH ByABW09Aмd//.N)~POJ@l./<@N XOB@`BW/<tH/. N(NPOJ@l. /<@N XOB@`JGf(>N8#G#0<3D3F`3FD#G3?nByByH#`G#??>/<@.a XO>/<@7a XOSnmBW n2n/0a XO`a(J@gv(|DJyAf 9G`fRy?n`"JyHfJyFf.tH?<N(TOJg.tHH?N(TO`.tH?< N(TO` <??g .@=N 09yFo 3F.tHN)6>tHN*>dN*JyHgB@`pNqJL0N^NuNVH*|?pJg./NXOJ@f0-`\`B@NqJL N^NuNVHa.N >JGfB@` |f.a>|fp`.ar`^.a| f.N Jg >a` BWaRyF`6.a| f .N JgBWanRyF`>a^`a<JFfSyF`|g .@SN `ah<JFfSyF>a` |fRyFBWa` .@bN `JyFfa `JyFf .a>| f .a`VJyFfa`HNJ@g >a` BWaRyF`&.@pN ``S@|b@0@? PNa`l|f`bJyFgaj`T|gNJGgJ| f .N *@g.a>`KJg H>aT`.N >`BWa|gJGg`JLN^NuNV <FvPc0."yvPRvP`JyGfRyG.@N N^NuNV <D#vP @BByGN^NuNVJyDf,>N8f.@N N3DRySyD0."yRN^NuNVH.N *@Jg+|=JL N^NuNVH.a>| g./<@N XO`.N &@./N ZXO'yBFK.N >|ff.a>|gJ|a`.N >a.a>|gJGg| fDBEFl&. N2E/(NXOJ@gRE`ֺFl>RWa*>a"```J|"fDN B:| f.JyAf& 9G`fRy?n.tH?< N(TO>a`IJg H>a`.N >`8.N BWaJL8N^NuNVH ydF@RyFDo.@N `x n&h./.NXOJ@fJg H>a``JBE f`.N |g.N `bI.a8JDgL|9?j`.(N>y?j>an.A.N `NR.NH*@ Se6 f %HFm N2FSI.(N ` H>N S`JL8N^NuNVH.aF>|g| f0`*|f.a(>| g./<A1N XO0NqJLN^NuNVH.N >|#f`0NqJLN^NuNVH (nBBn=|,.N =@|g nfJngXKgSnn.AAN B@`JR` nfRn`& nfSn`Jnf.AYN N`fBn0.NqJL0N^NuNV <??b.AhN N0."y?R?N^NuNV <??ep`S? y?HNqN^NuNVH K.a>|g|f.Iպg`B`x|g.AN ``^(y?fgR`.N >|g|gJGgIgR``Ҿ|g.AN .N `pa yAm.AN `JRyABW09Aмd//N)~POJ@l./<AN XOSyA> N JL0N^NuNVH.N *@./.N ZXO+y. H>aBWaJL N^NuNVH0.H H@>0.H =@>W0CN JnnJLN^NuNV>AN*rN^NuNV nla n ( @ -fF nf n h (iga\ n #?fBBg n /( n /( Nf a nga&BBg n /( n /(Nf a\N^NuNV.B/N N*rN^NuNV nH"n HAf nJfB@`R R` nH"n HANqN^NuNVHBG nHRJgRG`0NqJLN^NuNVH>.JGl 0.D@=@BF0.H H@|0"N4F@RF0.H =@nJGl N2F|-RFSn0.@n n  R `SFm n 2FR ` n BJLN^NuNV. a0=@?/.a"XO=@_lB@`&. 0.nHЮ/aXOJ@fp`B@NqN^NuNVH n  g n  g n  fR`| n +g n -f n +fp`p<RBG n 0m& n 9n0 "nHA>|R`0NqJLN^NuNVHN7pBW/<:N+XO>/<:N+XO>/<:N+XO-|: .2. HЁ @B=|*nJgJg  o mR`JgBG 2HЁ @  oR 2HЁ @ lB 2HЁ @ Am 2HЁ @ Zn 5pH| `5pH" 4H҂"ARG`J5pg 2HЁ @BRG f0>N*BWBg/ RN,0\O|g.R/<BeaRXO` N2n!MRn` N2n!|.?.NTONqJL N^NuNV.N9>/.?<N0\O. N9>/. ?<N0\O>/<Bt?<N0\O>N*rN^NuNVHIBBn .RdRn-\ fRn-\*\&Lg(K<%gH>/?.a\O`Bn<-fRn| <0fG=|<0m*<9n$JnlBnH2. A|=@`=|<.fBn<0m <9nH2. A|=@`Bn<lfRnA-HH`@Jng -|%`-|&BW/.?<?< // N&VTJngT`BW/<&Bg?< // N&VT`Jng -|%`-|&BW/.Bg?<// N&VTJngT`Jng -|%`-|&<XgBW`>/.Bg?<// N&VTJngT`N-\&L`F=[0.@B.`4H>/?.a"\O``H |Bvr W h0N.N9=@0.nl Jnm=n0.n=@Jnf^ . g. n -f$Sn nH>/?.a\OR0.SnJ@o.H>/?.at\O`0.SnJ@g nH>/?.aJ\OR`0.SnJ@o.H>/?.a \O`` nf nBJL8N^NuNV0.`@.H>N'h`B n ..H?N'HTO`( n  @"n R``J@g|gư|gNq.HNqN^NuNVH*n<.H n. nfzJgJEg SE``j nf&z JgJEg SE`JEf-`/ ?. N0\ON^NuNV yBn*>/ ?<N0\O|gp`b. H`ZJyBn4#BB>/9B?9BN0\O|gp`&3B yB RBSyB. HNqN^NuNVH><yB3B#BB>/9B?9BN0\OGgp`B@NqJLN^NuNVH*n ;|A+HJnfB@`p=@>?</.N,0\O:NqJL N^NuNVH*n Jmn*A+H>/-?N0\O|gp`;| m RSm. HNqJL N^NuNVH*n .0.@?WaTO.?.WaxTO0.NqJL N^NuNVH*n><m;|A+H>/-?N0\OGgp`B@NqJL N^NuNVH*n BmJnfB@`p=@>Bg/.N+\O:NqJL N^NuNVH*nJmnA+H>/-?N,\O;@Jmnp`Sm mH|RNqJL N^NuNVH*n.a>|fp`4<|F.a~>|fp`0|@g <@0NqJL N^NuNVHBG|l >N*RG`BBgNTOJLN^NuNVH>N8*@fp`H|g>N7>N8B@`g.f(>B?.N5\O>/<:?.N0\Og,>"/</ 2/-/ N7|gp`,.?<NTO>N7>N8B@NqJL N^NuNVHN8L>JGlp`>N7>N7*@Jn fJnf.:/.N9 XOJ@f 0`B`.:/.N9 XOJ@f0`">/.?N6\OJ@gp`0NqJL N^NuNVHN8L>JGlp`~>N7>N7*@Jnf.:/.N9 XOJ@f 0`B`.:/.N9 XOJ@f0`">/.?N6\OJ@gp`0NqJL N^NuNVH*n :.H>DN8(@fp`PgB@`Dgp`8g./ / a:PO`"f./ / aPO` -EJo.,gpg2>"/</ 2/,/ N7|gp`>!/</ 2// N7|g .`)G ,-@&L2 мdDJo@<f , o)l .`6`< fRR` SRR`` , o)l .NqJL8N^NuNVH*n(n ..-G --@ -g -glg2>"/</ 2/-/ N7|gp`>!/</ 2/./ N7|gp``+n "-¼Ё&@2 мdJo SR`Jf - o+m .`RB -@Jo>!/./ /./ N7H,ݮ ѭ   - o+m g .`Jf .`g0>"/</ 2/-/ N7|gp``>!/</ 2/./ N7|g  .`(߭ - o+m G2JoS` .NqJL8N^NuNVH *n.. |.?< NTO0| .?<NTO.HH̼IJo JoSS`Jo R "ҼNqJL0N^NuNVH*n :.H>N8(@fp`JnB@`gp`g>// a PO`g>// aPO`hf./ / abPO`R-EBJoF ,-@B ,g8g2>"/</ 2/,/ N7|gp` ,g8 , l.>!/</ 2/./ N7|gp`)n ,-@&L2, мd"Jo  f < g< `SR` мe2>"/</ 2/./ N7|g .`$`@Jf , o)l .``JL8N^NuNVH*n(n ..-G --@ -g -gg2>"/</ 2/-/ N7|gp` - l0>!/</ 2/./ N7|gp``>/ 2aXO+n "-¼Ё&@2 мd JoS`Jn$@ .ѭ - o+m .`2>"/</ 2/./ N7|gp`R -@Jo*>"/./ /./ N7H".gp` . . .ѭ - o+m Jf .`g,>"/</ 2/-/ N7|gp``@ -+@ - l$>!/</ 2/-/ N7`>/ 2a XOG2JoS` .NqJL8N^NuNVH*n>. 0SGJ@oB`JL N^NuNVH*n.. <.-GJo,  f0| .?NTOHH.?NTOS` .NqJL N^NuNVH>N8*@fp`H0.`&+n `0 . ѭ`& - Ю +@`p``J@gְ|gذ|g` -NqJL N^NuNVH*n >N7(@G -:f" am zn H|`H|TBG  o6|l0 .g* am zn H|`H"K4G@RGR` .f:RBG  o0|l* am zn H|`H"K4G@ RGR` nf.?<NTO.?.NTO>|nB@`pNqJL8N^NuNVH? *n.. (n,.:.BJo<.?<NTO+G..?NTO8JDg `RSR` NqJL0N^NuNVHBG|l>aRG`JLN^NuNVH >aP*@0.@B+|BB B-I мd ` м.dB`JL0N^NuNVH>.0мvTNqJLN^NuNVH nep`>N7*@fp` NqJL N^NuNVH|BG|l0yDf yD0` FRG`pNqJLN^NuNVH|BGnlFRG`0F@yDB@NqJLN^NuNVH. gRn*yD0.H.N|fp`*yD0.HѹD NqJL N^NuNVH *n(n Jg*Jg&H>a,H>a"op`lp``B@NqJL0N^NuNVH. <am <zn< HNqJLN^NuNVH*nBGJgRG`0NqJL N^NuNVH*nBGJgRG`0NqJL N^NuNVH?BC..,. Jf#D <`ro #DB`bJl D.RCJl D,RCfzB` xm`BJgm`|f D#D D` #D NqJLN^NuCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019Stack Overflow$C runtimeCON:LST:PPFFHJHLLNNNNDDRRR|JT\\fD\|bfnrt   "  ( 8 H X h x expression stack overflowexpression syntaxexpression operator stack overflow## !!!!!!!!!!  "   DZ x # %d: too many characters pushed backsymbol table overflowno */ before EOFbad character 0%ostring cannot cross linestring too longstring too long??????@@@ *L8defineincludeundefifdefifndefelseendififcan't open %s can't creat %s NewlabelLabelunmatched conditionalinvalid #endifinvalid #elseinvalid preprocessor commandline overflowdefine table overflowbad define name: %stoo many argumentsargument buffer overflowdefine recursiontoo many argumentsargument buffer overflow_Lbad argument:%smacro argument too longunexpected EOFcondition stack overflowbad include filebad include file nameincludes nested too deeplycan't open %sABCP/M-68K(tm), Version 1.1, Copyright (c) 1983, Digital Research1015-0901-000019usage: c68 [-i x:] inputfile outputfile Cannot open Cannot create CDOSUXcdosux#"#T##,##"#T##,#$BEEFFGGHHIIJJKKLLMMNNOO