#@L L--------ARGH! IT'S ONEOF THEM DISK SECTOR DOODLER THINGIES--------I CAN'T STAND ITANYMORE! @L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M--------THIS HASGOTTEN BEYOND AJOKE OK?--------d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu }K) !"`3!3`<|fl0fF68of;`p88p`f<x<6>ffsccncc8pp8?0}ww<~~~<x`x`~<~~<1}0~0 ~ <~~<>fff;``|ff|ff:>|x|``lvff0 8flxl0 f2}~~jc|fffc|v```>`<|0~0006ffn;ff<k>6f<x~ ~1~<~~<3}~x|nf8x8 A1A 6-#6-@6-%-@%1 5}+C@@dUB7t@daAYmAyAARRD:FONTI6-?:C:"h 6}RTXYULV,,R;%,zz(r 1. Editorial. 2. Software Reviews. 3. Documentation/Info. 4. Ad 7}vert Demo. 5. The Atlantis Adventure.DD(< 6. Golfer. 7. Codebuster. 8. Special Forces Cheater.l @` 8}BpA@l6-?:C:@h$+%,B*G#U$%&9p'()5L,,<9AY@4'AdA 9}U,9KA$F:B2y,"$A3A$Fe F:Ad,"AU@e* @p1)?6-&@HS :} )!%@pa@%e+HnBB!AA3AAEBB@dM $$[A6& ;}a n%D:DOC.B*K[ -" ,7@<@,4O1<[6-?:C:hөjL,,P6%6D:AD <}V.O*,D:ATL.O*,D:GOL.O*,D:COD.O*,D:FOR.O*}6-?:B,D:MENU D:DOC.BAS W !AIFJ >} ?} a 6-#6-%6-@'6-%36-AV7+=6-G A@[6-P:I:,$?,a $>T"@}@@hTF:@, %%)+F:@, %*F:@,"%%,@i? A"$%AC8 (}8INF,AA}DV,COD,AMS,CHE,UPD,MEN,AS2,TEN,ED?,REVD& 6-%!@U *$&6-E$du%K#AY?;,B};%%,;%,;,G6.*Y67,.>:AU,a6.l67,.u67,.n:6-F:A,!6-F:A,06-F:A,: C}A`%xuARM(9}OUTPUT TO CREEN OR RINTER? TO CHANGE SCREEN COLOURW B'`cAUuAY@4D}f )"@gA`$6-8"@AD"@P6-@i\6-@Af A A@9AYE}F:A6, /6-F:A6,%9 App(h}Print DOCUMENTATION for 1. TGR Info. 2. Advert Demo. 3. CoF}debuster.Articles 4. AMS7.??(7 5. Cheating! 6. TGR Updates. 7. Many Menus.TQ(I 8. Assembly TutorG}ial - Part 2. 9. Top Ten. 0. Return to menu.T#RAY@4 B-6-&@HA )!&AG"H}R%D:MENU7 -" 6.D:'67%,.767%,..DOCF 6-% 2%%>:,F"@iI}A@B6-AH6-C:,#6-P:',-6-&$86-P:',B6-&$D %%%%'%&1%&J}D6-?:C:hLV,,6F:%%,!A'A66-F:%&,%$F:%&,G7<,4*"@i" A6"@'AK}=(}G A`7<,467<,. 6 (7<, A@ --EI%7&<&,4>:AUL},*"@i+6-.'?67&<&,.I APJ!7&<&,4 '! APT ^M(7&%<&,9&&"*7M}&<&,4 *"@iC(~M AS_A2&&&%6*"@i*7&<&,0>:AU,7(A AS`"@(N}a* @b6-&%! '* Aph r "(7%<,| @b6- A`**"@i*$%O}*F:@,AF:A6, %D:MENU A jAY+6-F:A`,%F:Aa,$96-&ARC-P}%P%F:%,T \%j-%$Z %%% --@R@SB%F:%&@#,F Z%@TQ}AUAR!@@d3B7t@dEA`@2WAaAU_0k@wA R}BfABg$p~~(v} USE ARROW KEYS UP AND DOWN FOR COLOURS AND LEFT AND RIGHT FOR LUMINANCE S}SPACE FOR TEXT LUMINANCE - ESC QUITSz; -( COLOUR : &-%;( LUMINANCE:  )"$%A :T}6-%+"@E,&+"@a,\6-%+"@B,$&+"@C,$p6-%+ ,$@|"@26-(+,$ A`% A`U}~6-&+!%,$@-6-%+ ,$@C6-&+!%,$@OA[AgAo0{A V}~$'X -$&:('Ӡ٠٠ϠŠҠàϠLB YAXBg'IAd&2%-W}$) 32:)FBgI$5((ERROR! HAS OCCURED!!'-+ 5 A D:DOC.BASo "LH pFHpAH!%)-159"&*.26:Y}#'+/37; $(,048<@ԩ/ԩ I0ԩH1ԩԩI4ЩЩʍЩ  ԩ!/Z}ԩ`HiH  h@ (ŅI II懥慥[}愥˥8'i憥`   K&$Ť$ţX$ŢKa(ʼnKy$煈i}__p$椒h)όϤh$$$p_% ڤh*Ϥhj}" %p.__,Ipi#pp@%/   F%/ĄI,$(EŐ7h?Ep k}ŐEIŏ7hpp ŏ_%_C %hh % % %hhhl}'ǿ뤭 |;&|<&孤_ !"#$%& C&GI&g(h"_m}%K&]c qw (o([_pY&_GpC#g_7hKn}' h_GI d Idg_Ʌ')寃7 ?@h -._o}p 7(7՝ <(=(_ ep}T2uH!scTF:.#ՖԚԙ 77_ It q}I_煤0#&&_../G,?'K\+x}8/ +'TU7hi,,hp 7k&H_/DI  )_p_1y}*K&7ץK})G%g_G(pGpO Q7R2PpQ,ǨRp$ 7=p$ >p$ Ȩ(p$ Az}Op$ Pp$ p1 ;p$ dQVAzZYLNTUig{he|n;矌إOPɂs}ۆ<~Ԓܰtqrȵ趷қՏאݑ~}uǞюv`ͫ^_k0e\2M@HéuZҸ@Hd"HGrlI'}`?T^TQ s@FkH%@|pF\f@oi]dx DQآ8@? 8 }ʅ*Äp?1@? 0A WX [)(13OA A 8ԏ]c?0 w?PpPo4 $A $0? ;KP &}[?ҷl kjm@0[7?ֵT#D]eB-?0`UAG)4)4@GQ0 +?G{Ӵ[OP})400@A0!+Opڴ fkx(E DYp D AZ0li Gj d"ǵ]5֦ok};M<?;Tk$uB,@? !N?T=HObETE``PGA#S#_?V]yׁlBմZ'pG`;}NFTTB ^ Cx??ƃ8XH a1 ` -KxU%Fm@?D%@ o` }Fkx f1v x#~~? ?#?#? ?KA  mhC pB,G?A  @ -}o%^I|2kB|&W !G o}!g#^u^u^]y'z'z'΢wU@bTr7^q$`&}yP[I;Тq AT^u ^/jPz' H??? q龛_O4O}?=鼴`T?C4O d"H0AuC']kP'?Gb #&B_"B;yo@#?P?}R_ !,! ? t#~~00___<吋?sX Cd" OF<};P$Ï!`IPÏ00gh!a|_d"}j(UF 8O@H11͠#--!J;Ġ h N $5h- G }0?,#?(L3pǠ(;C?hš d eT8@-@AHЎ|CM;|F T uI%O=D}0 'uD]a6`'oН$H)%@'oph@'oҜ!o$T4HQKA8SaI'oTɅC$P`}Xp?X^Dd"?77uTQd"R7Y Ôofr YX_!| ???}]`i@d"QYׁ!?@d""AB-ΝףuUEIQ?NբxB,?3Qף?O]dB8_'t}Ro]g^I׿` ֜FD OӢth^IQ@` t%@D@[%Ou ^Flq~鮚F<>\?C?C%\/H<?l@G<}HA ?@H_0G*?ąPp [?dH?D?HoJ+t ?PHETI"afRE ? q1c\Q PPXR+uT}HXZ'T<?RAPG%@"ac"R?cH!ɮ? P!P @\???!G Sk?;o0DA_\(?0TЃl}@,@GuAu!A?DB-uA oeB-RTA A$A +H +` WX!t!uYo%odud"EP[$#U%@Y C}B3D WY G@% m$1AB,A>G$A?d?Zk(Z\?d%:oTTrYu d"b}qu>OO~d"!O?>Or\ґB@%"& dBݐpn5oG[?YRIoDp}]fB.?NETQE TYC6 -Id"d"d"'@b(,@ ,@ r(3sruuAT?͂IB3m$0}"A?Qu ?`A G, A PG( (_9`d(!+(_Od ((PF+](}G΀1]`C01`;`!0X?d"+L#~(ڀPC?jA 0G(PV( /RB`}p҃򁬡\‡ @Hr +p -? r#L8@0a|OPG$UA U%@`@HQ x М@S@PWY@GT#}?}d"І Go;Ў]`&APH l]loC&3͐0}@~*'KxAƍHX1B?b++~B0}#PH% x+7T³?+?o O0^u^^uMT 6螉C(4@Hٮ4@G#e!'pQ jMX@jD`T7"}` !0 ]@PG@G]d8f ?FB,@eQr߁ ~g qPG'?!PH%¹p%#+C]muw}¹d")psl@d"# V02dh PuH<ܢpHı oOQD&OX@G,r}?T -RT@$O o;A PF$#?/ P B,0AxoO0h#?[|H]1]aX@!0!0G5!L }MPH%AroMT0? q? q0 3MrL;?O?PÄ`4HH4"o`H+Ō'?"A#? 3Å0}0H6Ņa|!A0N@?"b}?P0N1c*OPG?!>PX?EH X(XuD?!>X?ز؊/֢qD}/??Z0?؊/8#Bl?EB9rOP|P@@G?&p  a6(]4(L)x`Go}/.2 l,˲$(˲$78v2IQD$?DDÐar00DR_~|QrT_Mȕ!Ax_}@?D]`F(Q?D%Ip(B,COB, )0j*\%$N?4r3GLttp 2L4]it L d"}8 50C)u B,@KXKK?ѨыŇM_/b`p} 4Ň hƄhŇ_ a_Ň0/  /Ā؁Ň b 8}b_G hKM} efG|Y GG gFGhpppG(#g(I'p3p7p;p?pC}+ GGK_G_G ^nUpYp pg~KĀ}KX}55pphhGGK߀_l^__Lph M; (}pzϸp5C|U(ȿb(MKx?(Kxgp;p_gKxpKx }Kxp;ap p||3e|7p??(Kp y݁f}L_Gpp ;LHLppZpQLpY L_L_GG phcKJg}h_GM''K;H+8#+ ( HKpRI KpO __)7 #  } pl7i K$ |pppT p |p``p`^pIep&p&}h9h_`($7 9d8cef_K؄GgIdcۨeeK}_( ӌь__JJ55 ::99  OO''wxqke_ZTPKGC?;8}41.,)'$" p4y~N>UYqoj ɪO7u3&Z:qi~LKs3U%ͥ[9ê{eS>, Ƚ}~vpic^XSOJFB>:841.+p6  }wtke`ZWPKHB><863/,*'$# *'#?~UYp}ok ʫ8v5(\<riMLt4V&Ϧ]:Ū|gR>, ɽ~wqipNp7p5ysmd^[UOLFC@=}s74.MKIFDB@><:865320/-+*)(&%$#"! NLJGECA?=;9764310.,+*)'&%$p   ߈ 5`2቉ 7b2} v9 v9 ? ? ? ? vF vF vF vFZЎݎ+8ER_}lyǏԏ"/>pa 22p/ }9p- 9p5 /GG;;pa 5MMAAp 9p3 207OOCCp pT p //p 2p5 p 5p >p= }pc p 7 @<p p p, 7p p >p ;SSGp <TTHp p @444p <000p 0+p 4p p $ >22}2p@ p /p! /p p A555p| p 2p e p8 p, pS p #:9 } p z!x)hqh!dqm`rdj !$6$2.%38ntehmhrgdcsghrf`ld".-&1 34+pF(p>2pdk`rs}rs`fd!tshsv`rnmkxsq`hmhmfqntmc $TTTZZJT}hx) KG??U -|T!n} @JUZmzԴx e)?d?eJ Z}!S@ TeXDOScODDXT骹ppxTTpTTp"Tp1TTTTeՕ}UCVUViX TiTT;;'TdUTXUdDEDECCpTpXUdTp PSpӔUUUi T}TTѨiLgg((  LLpVp^igg ((LL pdp}liLiiiieep骹ii骹pp}Ԫp٩i';;TiTT}TiTiTpbpiI깽詨cEh?lh?ia% T?ԩ?n}ԔZUUT`@iаp ipPpTTTETTpYETT}ipP蕥hdTc``Ͽ?ٚY䨹TUUZſTwɉiig}((i?pp__c-ee՘Xnڪ ``@秨ii C?i}o/i()hiC?iy5ptgiii1p#pKp50cjhEEhX%ai T}??Կ@@T@TYTDTPP@Tp!YTDTPhp9p#Yp*p2h$Tp};ՔTTT䔔ji]YVUUp訸jimijyժyZYՖYT骹TTp piypTU骹訹iUVY]ij}訹Yijiijpmij   ! "# $% &'()*+,-*  +./012/ :;&<'< }(=>)>?30@4!@1"5:A6%A;=?#$56*77B8+B8,02C1-C/*&7B'+B89D99EE99F978GVW 34HIXYJZ[KG\]L^_LG`aMNMNMOPNMPPMMQMRMNMSP }MM*+9T9TU9U9Hbw&cI'xHdwyeIzxfgV{hi{WjkV|lm}W9n9n9opn9pp99q9r9n9sp99*27B/+B89t99uu99v9 }ppһԐ־؎ֿ }  -yi뫫kjp?[[kkUXei -zp }ߨ[[騵쪦dSPC?3w px,䨦m[[K?>3Uk܊F}?p5Kp=k[[Kp^C[p\^C,s?DUKsϿK KFppDpEp>}Zfl?p6[kl:>?Ͼpp[FpXnpipFpT߳~. p󷬞dS}C?[Kp7dSp|B[K7s?p騥dSC? Kp뫫t,fSPC?p7Ks, PCp}p!Xpp~ ppp|p Ĵu, p    p} !"#p$%&'()*+,()-,()(&./p>(&.0123456237862/29:;p^2<=p@ABC?@DEFGHIJKGLpzMNOPQRSTUQRV}WXYSTUXZp[\U ,59騗cUXeiipUYeigp&>p">*-)} 8?ptpptppfp=:=9pippupp}dSUQEApppUQHc98584439p.pXYy.-ypppy-.=z}pptppx-y8mUeWcG驥eUp p q>>=9p 常mmZmmeip#}pmpp;p~>@Ap騨pp- 騥ոwc?p#  } !"# # !$ %&  !$   '-   .!$/()012567* 8#+ p9}3,4 .:; p#pY pb  : = p:;p_4pPp}ph pJp}p?@pSpPp p"'Il(Z[ 317 4\ P]_|m!"q {#*0Ç256)}8`abcghijknorstuvyH1\YB!LP!(QH!xCBeOD.$`0<3B:80)x2zb:HB@*}PBR,2 ,e@aCn 2qpTR$` AN  FD D-JA#0R $B!$2 0 @ p@R@> $ p+}Ts`@  q@ xCB?8!)P 0x!@0Dr5 LDbO4@^pʘ  6"5F:|UFc D(,} #[AhJd] $P,`$e,1dΖH`RMd:_(TwW;v?Jh@5О?(IP`OP:,FlpƊh@Tp T,MIj*A" $4ŌAŠh@ ` v E( h@t5}PD!n An@Tq ,?R}Y$T7Ї ]fC^1 #(,JL0pebpH\r^HPH5L1#!#Mc6}v#X,0BJk򀑐M{_ڦ[6L G8fKc=  WI>&. T>  [b6) 8>}@c=# I/P&JTJ  mm)* mxԍЍԢНННН0ЍЩʍЩ^?}ԩԩԩ ԩө!`ppppppBBBBB˼B޼ppGppBBBBB˼B޼A^HJHJ@}ʀʀ0,%!3%7!)4R 9GLH D: W000 ! LK WZVEMABHSRDLOUX?%FC@-=+GP\<32'N3B}(-41)&W"BB27:8@wAg4444/0 T ` m n "` '`BDE'HI VC}0ޢ (0`ppB0!BA !} by Tom WellsD} Use a ? for helpTRPAMMY #X!Y! BD!EHI V 2 0!1rX!( 2r!E}( 2:G "`ok... BD"EHI V`##$$$$%Z%%%%n&&&    5 >F} R?ee  ?    D ;""<"" ' "> "   Щ`8 G}#. `:G" $ # % 8$ $ % % $ % Q  #L<# #!  #0 #L#  #0 w#H}) w#`ii`ii`ii`& "! '?>  #=  # '?> #= I} #`D` >ii`A4 >ii`#4 'G '?> D= E l$5) 0ȭ( ȭ' >J}ii`' ( ) ( i( ) i) L|$ح( )' ( JJJJ( ' 0' `$4 $ $ " >ii`5K}` ! & `$4 % $ " >ii`& ȱ! `(4$5 $ Q% ",Xȑ)ȑ >ii`6L}`(4$5 $ Q% "),ȑYȑ >ii`$4 % $ ",Xȑ >ii`$4 % $ ",Yȑ >M}ii`$4 '?> D= EI急8倅L!&eiii8吅呅 '?> 5= 6 '?>N} 7= 8 >ii`$4 $ $ ",Xȑ >ii`$4 $ Q% ",Yȑ >ii`(4$5 % O}Q% ") >ii`* , + - 5 > R?ee  ?, * - + U'8, , - - LP}2'`` '8吅呅 '?> (= ) '?> *= + '?> (= ) '( >iiQ}`}~ ' `.( '`" # :G B/ 0 (0 B V䥊`0BDE(HIR} V ;Т   ʽ  '$ R?ȑii # 0L( #" iS}" # i# L-(labeling now onlabeling now off. . (( 2`. (( 2` B/ `0 f-1 2  ,T} C`0 f- + * QS L3CL *0 f- JDLA)iiŁŀLE)8倅偅$ % $ iU}$ % i% 8倅偅0BDE$ H% I V JDLA) ',LE)8倅偅$ % $ i$ % i% eV}e M,2 1 3 4 Lu)eeYʼnXň M,Lu)0BDE$ H% I V JDLA)LE)Load RaW}nge = $ - $oad oncatenate kip uit2 '?> *= *1 '?> *= *4 '?> *= *3 '?> *= X}**( > *( 2`entry point = $init point = $ -T+1 0=0 f-1 '?> i+= Y}j+2 '?> g+= h+X+( >`l+1 0<0 f-1 '?> += +2 '?> += +p+( >`6,(Z} 2`virtual addressing set#\,( 2`load range beyond buffer, skipping,( 2 Q`L1 2 ȑ[}0BDE}DD}EEHI V JD 8--( 2`not binary load file. uit oadfile loaded at\} virtual $0000ii}H}I`0B1D E0 HI V`appended file1 A2 : ]}-( 23 $ 4 % 0 f-1 3 2 4 $ 1 % 2 `9  ?9 5 6 7 8 c.9 9 L. c.5 i5 6^} i6 7 i7 8 i8 9 ֠ȱ8倅偅 "/`5 6 7 8 R@1  Y_}`5 6 7 8 P1  Y`# of sectors = init address = $boot continuation = $`} '?= .> .ȱii '?= /> / '?= /> / '?= /> / '?= /> /.a}( >.( >/( >`9 5 : 6 7 8 Lt0 R?00000( 2`5 b}6 U ?00 9 : 5 R?ee0( 2`7 8 c.5 i5 6 i6 6 05 c}0!7 i7 8 i8 9 ƭ: : Lt0`address below bufferinvalid sector number9 5 : 6 7 8 L1 R?d}00000( 2`5 6 U ?00 9 : 5 R?ee0(e} 2`7 8 .5 i5 6 i6 6 05 0!7 i7 8 i8 9 ƭ: : L1` (P6DS; < [2i2(f} 2`; 2( 2`< BfD2EJ V JD [2`2( 2` B V`P:output sent only to screenoutpg}ut sent to paperoutput sent to disk B(DE%HI V` B [2l virtual addressing off  R?8倅q}B%DOS SYSB)AUTORUN SYSB +FONT B 4MENU B=DOC BASBXGOL OBJBQACOD OBJBLABELS BCODEBUSTHLPB#ADV OBJB FOR OBJBATL OBJB|ED DOCB)REV DOC>AS2 DOCUPD DOC/CHE DOC >INF DOCKADV DOC>NMEN DOCTEN DOCECOD DOCAMS DOC偅 ',`2( 2`free memory $addr range $ - $8 '?> 13= 23 '?> /3r}= 03"3( 2 '?> A3= B3 '?> C3= D3 '?> I3= J3 '?> K3= L343( 2`code buffer zeroeds}恦XY L43( 2`labeler compression onlabeler compression offf4f4N4(t} 2`f474( 2`+find listing option reset 44( 2`D:CODEBUST.HLPno help file} Help Screenu}@BĝD4EJ V 4( 2@ B V` BD4E&HI V@B(DE&HI V0(ɠ >Lv}K5 QL-5TTACH OOT HANGE ISPLAY NTER IND ELP IST EMORY PEN EAD END NOPENIRTUAL RITE ERO EIT LABELEw}RLIST FOUND-1 LIST FOUND DISP FOUNDET UT COMPRESSV (addr) S (D,P,S)E filename O filenameR filename x} % filenameB (max # of sectors)D [addr] (# of bytes)C hex or char stringL [addr] (# of instructions)F (F,A) (hey}x or char pattern)G (hex sec #) (# of sec) (buff addr)P (hex sec #) (# of sec) (buff addr)W filename lo-addr hi-addr [run-z}addr] [init-addr] (alt-adr)(optional), < * , X - /required>[ * , x - /optional]Valid place holders are * , X - {}BD5E9HI V`gathering referencesverifying internalassigning labelsF G :G +C/ ` 9 kC EC I: kC E|}C C)8( 2 C kC C D C 8" # ) 2` : ; 

R?J R?P }(= ) '?> *= +;? '?> A= B:F}:F}:FiE/ʈ` ? B(DE%HI V< &} B(DE%HI V JDL?; & B(DE%HI V JDL?``%( `詛(` = JJJJ> = )}= = ii@=  ` ?B :/B B D B C E D ` ?E )E D E E C )D B D D }8E E D D L?` B L?? eiB ` @  @`F L6@A} @ ޽'" @` N@`@ 9B C B :/B B B C @Ȍ@LS@ @`'" L@}@ @`end of buffer reached݀5@򥒅ii ?A @`iiYXЧ}@( 2`4=#- U'`8  "`  "` LB > R?ee T'}" ZB` B`need source string for changeneed address and string for changeA( 2`"A( 2` 5B }C B :/B B B C LB tB`' " tB`HH U'hh`   𩛙}  BD EJ V/ 0 ` JD B ` B V`   𩛙 0BD EJ V/ 0` JD C`0} B V`   𩛙 @BD EJ V/ 0` JD kC`@ B V`D:CODEBUST.TMPPBvDCEJ V} / JD C`P B V`@B(DE(HI V`D:CODEBUST.TMP,LW0 Cɛ P BԝDCE V JD`}@!BD E V JD`I/O error number iiإ)i0HDJJJJi0GDi0FD5D( 2`}            }             ???A}DCANDASLBCCBCSBEQBITBMIBNEBPLBRKBVCBVSCLCCLDCLICLVCMPCPXCPYDECDEXDEYEORINCINXINYJMPJSRLDALDXLDYLSRNOPORAPHAPHPPLAPLPROLRORRTI}RTSSBCSECSEDSEISTASTXSTYTAXTAYTSXTXATXSTYA ##%## ####('(((-(*!$!! }!!+)&)) )/)0201620102018070  43  5 } ,,,",,,.,,D   LtD @L Y;------Operating System Equates ------; FOR THE CODEBUSTERCOLDST=$244WARMST=$8CRITIC=$42HATABS=$31ATABMAP}=$2A3FILDAT=$2FDFILFLG=$2B7VPRCED=$202VPRCD2=$203VINTER=$204VINTR2=$205VBREAK=$206VBREK2=$207VKEYBD}=$208VKEYD2=$209VSERIN=$20AVSERN2=$20BVSEROR=$20CVSERR2=$20DVSEROC=$20EVTIMR1=$0210VTIM12=$0211VTI}MR2=$0212VTIM22=$0213VTIMR4=$0214VTIM42=$0215OLDROW=$5AOLDCOL=$5BOLDCL2=$5CTXTROW=$290TXTCOL=$291T}XTCL2=$292LMARGN=$52RMARGN=$53SCRFLG=$2BBRAMSIZ=$2E4CHAR=$2FACDTMV1=$0218CDTM12=$0219VVBLKI=$0222V}VBLI2=$0223VVBLKD=$0224VVBLD2=$0225ATACHR=$2FBAPPMHI=$000ESOUNDR=$41DSTATS=$0303DCOMND=$302DUNIT=$3}01DBUFLO=$304DBUFHI=$305SSFLAG=$2FFSHFLOK=$2BEINVFLG=$2B6PRNBUF=$3C0PBUFSZ=$1EDSKINV=$E453DAUX1=$0}30ADAUX2=$030BDOSVEC=$0ADOSVC2=$0BDOSINI=$0CDOSIN2=$0DPOKMSK=$10BRKKEY=$11RTCLOK=$12RTCLK2=$13RTC}LK3=$14CDTMV2=$021ACDTMV2=$021BCDTMV3=$021CCDTMV3=$021DCDTMV4=$021ECDTMV4=$021FCDTMV5=$0220CDTMV5=$}0221CDTMF3=$022ACDTMF4=$022CCDTMF5=$022ECDTMA1=$0226CDTMA1=$0227CDTMA2=$0228CDTMA2=$0229VIMIRQ=$0216}VIMIR2=$0217VDSLST=$0200VDSLS2=$0201SRTIMR=$022BSDMCTL=$022FSDLSTL=$0230SDLSTH=$0231SSKCTL=$0232GPRIO}R=$026FPADDL0=$0270STICK0=$0278STICK1=$0279STRIG0=$0284STRIG1=$0285SHFLK=$02BEPCOLR0=$02C0PCOLR1=$0}2C1PCOLR2=$02C2PCOLR3=$02C3COLOR0=$02C4COLOR1=$02C5COLOR2=$02C6COLOR3=$02C7COLOR4=$02C8COLRSH=$4FDRK}MSK=$4ECOLCRS=$55COLCR2=$56ROWCRS=$54CRSINH=$2F0ATRACT=$4DDINDEX=$57SAVMSC=$58RAMTOP=$6AMEMLO=$0}2E7MEMLO2=$02E8MEMTOP=$02E5MEMTP2=$02E6CHACT=$2F3CHBAS=$2F4CH=$02FCICCOM=$0342ICSTA=$0343ICBAL=$03}44ICBAH=$0345ICBLL=$0348ICBLH=$0349ICAX1=$034AICAX2=$034BCIOV=$E456SIOV=$E459SETVBV=$E45CXITVBV=$E}462SYSVBV=$E45FOSRETN=$E474CLICK=$FCD8;---------Hardware Registers ---------HPOSP0=$D000HPOSP1=$D001HPOSP2}=$D002HPOSP3=$D003M0PF=$D000HPOSM0=$D004P0PF=$D004P1PF=$D005P2PF=$D006P3PF=$D007P0PL=$D00CP1PL=$}D00DP2PL=$D00EP3PL=$D00FM0PL=$D008SIZEP0=$D008SIZEP1=$D009SIZEP2=$D00ASIZEP3=$D00BSIZEM=$D00CGRAFP0}=$D00DTRIG0=$D010GRAFM=$D011COLPM0=$D012COLPF0=$D016COLPF1=$D017COLPF2=$D018COLBK=$D01APRIOR=$D01BV}DELAY=$D01CGRACTL=$D01DHITCLR=$D01ECONSOL=$D01FPOT0=$D200AUDF1=$D200AUDF2=$D202AUDF3=$D204AUDF4=$D2}06AUDC1=$D201AUDC2=$D203AUDC3=$D205AUDC4=$D207AUDCTL=$D208ALLPOT=$D208KBCODE=$D209STIMER=$D209RANDOM}=$D20APOTGO=$D20BIRQEN=$D20EIRQST=$D20ESKCTL=$D20FSKSTAT=$D20FPORTA=$D300PORTB=$D301DMACTL=$D400CH}ACTL=$D401DLISTL=$D402DLISTH=$D403HSCROL=$D404VSCROL=$D405PMBASE=$D407CHBASE=$D409WSYNC=$D40AVCOUNT=}$D40BNMIEN=$D40ENMIRES=$D40FNMIST=$D40FPBCTL=$D303PACTL=$D302N Codebuster help screen has beenremoved and put in the documentationsection. This was because it was in40 columns and I'!}m sure people wouldprefer printing it out in 80columns, which it now is.Apologies if you haven't got aprinter.John E. !}(TEBSF) 5dxԩӹddө@X`3iw!//@@4=hLcL@J#qj#q@Aq@#rp#@Z@Hj%}Bd ЭHm H} э НF` jbFjߠljlhMDİj4߻$f7>77>7B@ɋq%}Ow5o4ow5o4oxD#[ @0.7@`L8TT? $(@B00PTQS0 @~%}( PYAQRt&QQ@xx@~Rw;0||b -EAƠ`@*_0?` (Qʨ%}( a~ 0004-@@ yPBp"*Ax / !}"UH & p_ ODI~⢂?  AA%}DE*DD<_(R O X |'7# 08Y LTb~#9+?_(g3QC€ A%}~ `E$ B   @P!i@`x >>!&r B5AH  0hPEUQpXT %}lPZbK {C!@ D)QA!h F1BPPp<@@AIP:RX2828pzЙqyqyl",%},@7%+ '! ADb$ 3JRYBJ<>@/ !/;; eE`FaBFd$rxp9BV ln$ WgxP28%}=),m 67FGJK ?  @ƆLJHHaf@"`r Rr#x ':f000"3#1rt' \EDGd%}e!(P :Bӓ \UH3" JB@A&CFೡ -"􀴯Odh$%67@m œ_Xb4vDN%2"2r RRL„=\Kh)%:! A(PY%}*M ʌP QΕ lDņ&Bd `o (PM'XSP)P'6H,HfDFB@ꁢA@jTdx/G OhRi%}67NO! YL VXX~z@A"2%1 9< $# E(p(7R P`v&w̃ԧGdPl-e"Y)  Y9)C%}+QRAn 0r5rr,2 ܈ԃ<T !Aj% %III+ 9Sj\D75&ʼ^#4ds\ Rr%8%}[x~>ag M$08[)i.zZBחzEz@6T0Lt +ĢF/饸-4Ad$5?((lO9 qaBe#1]b!/ *5i-%}{)F DGQ r t R- # --E]Ĭ$+PP@;BH "("(`j ``*((@7$* & %}$ 3J BIBJ8:@. .::48  )!$d '45Y+(R@A6@PV"$%}? # $ #gp3 H )AIqQH H&tLM!s90O *z QO %F >B@ħKrÇ02l, d}e%}tu@e "EB%1=J<`OHHD0r@G]44@ĀĆ- Mp"ABe#1]b!/5i-{)FI @CQ r t%} R- g ,,$,TM\]<pM`M UUpA`X&%`` @!UAAAUH!H 5GȐC@U%}EA@Q@q PTQXl:e<Td 5UEeAUT` @dqB( $\TtPT"*( ***,$(( %} EQQ ( P@L"A@',Ql>*2 (( L@X25C 0D % L CIN2!r "`8 @ A 2$%}`@DGPsX(^* 02_AAA<.00Jx[# K@0ᇐ$#@` 8G(%}&G@ @RPP+]a40@/M (`^0z J8A@a  $=Us#Q84$N?qAC%}RPO<&!`p YAUPPU@U 8T, ɶD΂ Td0'}w9D ڪ ! rI%}jn `'0*A8a>p 1eh0):|#J 4F ` f\ mp 8~N\  ?3:%}(t <=XPxx .?r0 U@@]'@%<0O(J2 QPd//%}xL" ( g c z  g*+((  z6 66`%}(`**+` ^,Ƃ `Ɓ Ƅ ƃL )0  ^ x  ^ xЍ%}Ъ 槤 ` ƞƝ` ^ ^`Щ  ƈ2`  ө%}"/X@Lj ƦL ` ` $BPTP0P1PԩԩR yP@ɠLqPu@Icu@W yPPLPqP8QPLPЍ @ )}LSpppGQppBQppppppRRAP  HHP ԍԍPPPWRPhh@)}7rittenby*ohn%4%"3& of!52!>QaQ)nsertdiskandpress34!24tocheatQQ1RCR!m)quickorwhatKRR4hanx)}to3piteforthisdiskwhichheborrowedmeso)couldcheatitRR4hischeatwillonlygiveyouinfinitelivesR S9our)}eonyourownregarding!mmo grenadesandthelikeSS7hyS=S"ecauseitsallbloodymasked/+ISPS'rumbleYSgS5ngrateful)}lotySS.earlyforgotSS4hischeatwill/.,9workwiththe/2)').!,diskSS(!(!SS(ardluckyoupiratingscumTT"lo)}odyhellTJT)think)vedevelopedastrainof2ichardgoreitas^TzT'oodprotectioninthisgameTT./4TT)tmademelau)}ghTT!boutaseffectiveasthe4iger$evelopmentsprotectionT(U*ustchange/.%"94%anditsbyebyeprotection6UaU.ow)}/peration"loodhaddecentprotectionrUU.otasgoodas$eimosthoughUU"9%UU4hegreatlawabidingcitizen *ohn)}%4%"3& VkV03$oesitgowithoutsayingthatrunningthischeatagainwillremoveapreviouslyinstalledcheatvV}V))}tdoesVV)wontmentionitthenVV VV&ollowthatasterixP(F*f/𩋅*f9)ȄȄ08"/LE!!$('FX(\\\-}__{  ,,   ,,1-}1 1 = -}< <' <( <) * + "# !"    -} $ A  -}.. / / >  2>? -} >?2  2   ; ;          -}                   -}  !  -}      -  3  9 : 6 6  7 8 -}5 0 4 %  !        & !,-}5>GTbkt ~          ) ) / / @     +6-}AJ3Q3cjq#"#"*+'+'+',,.0025 5 6'7 7$,8 88$B9$L:X:n::-};;<>$>$dddddd  d d" d" d$% d$4 d$= d&F d&O d'X d'a d'l d/u d4| d? dh d e e e e e-} e" e$ e$ e& e' e' e/ e4 e? f& g& h i j k l!m!n!o !o!o!o%!o.!o!7!o"@!o"I!o$R!o$[!o%d!o%m!o-}(v!o-!o3!o4!o!o!r!s!s!s!s!u!v4!v!       -}      2B d C D   -}D $/$7$?$M$U$c$q$$$$$$$$ߋߜדߐߜߋ-}ߘ߫ߐߋ߲߬ߒߋߜߘߌߐ߾߆ߗߖߋߙ-}߲߬ߞߘߝߐߋߌߌߝߖߋߜߝߍߏߒߞ-}ߒߛߞߕߐ߈߆ߗߞ߆߈ߒߺߏߓߜ-}ߐߓߍߘߌߐ߾ߋߋߞߐߓߍߍ%%<%I%U%e%%%%%%%&*&?&R&Z&-}k&z&&&&&&'X߾߾<߾߲e߾ߏ?̋]ߋߵߺ׫-}ߙߏVߋ߯߾ߞ߾߾ߐ߾ߞߓ߆ߗߝߞ߈-}ߛ߯ߏߌߛߐ߾ߋߍߙ߆ߌߋߐߚ-}ߋߖߋߋߞ߯ߋߚߖߗߐ߆ߏߖߑћ߆ߏ-}ߝߞ߈߾߾ߋߘߌ߈ߋߜߐ߾ߦ߷үߓ.}ߞߌߞߖ'ѫߘߘ߾ߌߋߞߓߞߓ߆߾(ߒߓߌ.}ߍߖ߆ߞ߆ߒߋߛߋߓߋߖߞߞ߆ߏߋߖߏߞߖ.}+:2/3:_09_>+7:1:_'ߋߐ߾ߌߊߞߗߗߕߐߋߜ߶ߖߞߌ߈.}ߒߌߘߊ߾ߋߐߋߌߞߏߗ߈ߓߛߋߜ.}ߞߌߛߖߋߋߗߐߋ+:2/3:_09_/0,:6;01_'߫ߐ߯ߖߞߓ.}ߌߐߞ߉ߞߋߖҜ߰ߜߓߋߐߐߋߝߞߞߗߐ.}ߞߓߖߋߛ߾ߌߓߐߋߋߋߋߒҏ8-:>+_7>-=.}0*-_'ߘߗߐ߾ߖߞߝӝߏ߲ߙߞ߈ߋߗߋߋߖ.}ߌߏߒߞߐߓ߫ߗߖߜ߈ߞߒߐߚߌ. }߉ߞߘߒ߈ߋߎߚߖߋߌߞ߫ߜߘߓߋߋ. }ߑߐߗߞߞߋߓߊߋߜߋߋ+:2/3:_09_>+7:1:_'ߋߖߞߎߏ. }ߏߞ߈ߜߙߋߗӡߞߐߋߜߨߒߜߌ. }ߋߍߗߊߖߋߌߞ߆ߞߞߌߞߌߊߛߖߋߜߐߋߍ߾ߛ. }+:2/3:_09_/0,:6;01_'،ߋߖߞߗߐߐߘߍ߫ߌߌߐߋߏߖߞ.}߾ߞߞߋߙߚߐߋߜߗߞߓߝ߈ߋߊߋߝߏ.}ߐߞߋߌߐ߈ߗߖߋߜߞߌ߾ߞߐ,7:3+:-:;_<0):_.}'ߌߊߞߌߜߝߌߐߋߓߌߝߜߋߙߞߌߌ.}ߜ߾ߓߜߜߜߝߌߞߋߝߐߋߜ2>-4:+_/3><:_'ߌߞߞߍߐߜ.}߫ߗߞߝߞߙ߆ߞߞ߆ߜ߆ߚߞߋߒߌ߫ߖ.}ߑߜߝߝߖߋߌߏߐߗѸߘߋғߌߓߋ.}ߞ߉ߖߝߞߌߞߓߋߋߑߞߞߚߏߓߋߋߌ߈.}ߋߜߘߐߋߋ߈900+_09_7633_'ߌߞߋߙߐߞߌߗߕߐߋߜߘ.}߾ߏߝߌߊߋߌߐߗߞ߆߫ߜߘߓߋߋߚߐߗ߈ߞߌ.}ߋ߈ߞߙߋߜ<6+&_8>+:,_'ߌߐߋߘߘߐߜ߈ߐߐߞߗ.}ߌߋߋߚߦߜߌߋߗߝߋߌߖ߈ߙߖߋ߈ߋ߫ߐ߾ߌ.}ߊߞߗߋߋ߈>2/76+7:>+-:_'ߖߋߜ،ߒߋӟߖߖߓߊߋߛ.}ߋ߾ߗߓߓߐߋߞ߫ߐߌߌߜߜߌߋߌߞߌӤ.}ߞߌߘߓߐ;:,:-+:;_/>3><:_'ߏߗߓߝߛߖߌߞߘߙߖߛ.}ߍ߫ߏߖߚߞߑߌߙߞߙߒߋߙߖߋߌߞߝ.}߾ߘߞߓߐ+0(:-618_<3699_'ߌߊߞߋߜ߹߆ߓߞߌߌ.}ߝߘ߈ߝߞߜߌ߾ߌߓߛߋߋߗߋߋߑߐߗ9-:,73&_+63.}3:;_96:3;_'ߌߞߋߚߐߞߙߙ߫ߘߖߌߛߗߝߋߗߗߐ. }ߞߝߙߋߗߓߝߋ߆߾ߛߋߓߚߋߞߌߗ߈ߞ.!}ߋߍߌߖߞߋߋߐߋ8-0):_09_+-::,_'ߌߖߞߛߘߐߋ߾ߖߖ."}ߗߝߚߋߙߞߓߍ߈ߛߋߋ߈ߝ߾ߖߑߌ.#}ߙߋߜߜߝ߆߆ߌߓߋߞߒߖߘ߫ߏߌߌߊ߾ߌ.$}ߋߓߑߋߋ>1_03;_8>33:&_'ߞߌߐߋߛߐߞߐ߈ߘ߫ߌߞߋ.%}ߞߋĝߞߚߓߙߖߞߓ>_(61;618_+*11:3_'ߞߖߞߑ߈ߋ.&}ߌߛߺߓߌߌߞߚ>_(61;618_+*11:3_'ߞߖߑ߈ߋ.'}ߌߛߺߓߑ߈ߌߞߛ>_(61;618_+*11:3_'ߞߖߞߑ߈ߋ.(}ߌߛߺߓߑߌߞߚ>_(61;618_+*11:3_'ߞߖߞߑ߈ߋ.)}ߌߛߺߓߑߑߞ߈>_1>--0(_,.*::%:_'ߋߑߌߐߗߋ.*}ߒߋߞߜ߶ߒߕߝߋߌߋߺߓߌߞߊ>_1>--0(_,.*::%:_'ߋ.+}ߑߑߐߗߋߒߋߞߜ߶ߒߕߝߋߌߋߖߦߜߌߛߋ.,}ߋߌߺߓߞߌX'),b./1M346"8Y9:; =>?.AABC6DDEߌߑߌ؉ߙ.-}ߌߋߋҊ ߺ׫ߤ߱ߜߙ߆ޢ߬߭׬߷߬ߒߓ߹..}׺،ߒߋߗߋߜ،ߋߗߋߜߝ߆ߒߝߋߘߞߙߐ./}ߙߋߝߋߒߜߗߏߙߊߛߚߖߖ.0}ߖߌߞߙߖߘߌߐ߾ߌߊߞߞߖߝ߾ߞߝ.1}߆޾ѽߋߛߖߐ߾߈ߝߑߒ߯ߖ߈߈ߋߘߞߖߐߋߏ.2}ߐ߾ߞߌߜߋߖߞߞߖߖߋߋ߈ѥߗߗߜߋߑ.3}ߌߝߌߝ߆ߗߏ߆߈߾߆ߏߞߙߌߝߍߞ߶ߘ߆.4}ߋߋߙߋߖҙ߫ߒߖ߈߆ߊ߆߉ߞߙߞߋߋߒߖߌ߈.5}Ѿ߶ߜߘ߆ߑߙ߲ߙߥߙ߲ߋߙߌߐ߆߹.6}ߍߗߗߋ߆ߞߌߖߖߖߋߒ߈ߖߐߞߗ߈.7}߲߬ߞ߯ߞߙߒߝ߆ߌߞߗߖߋߜߐߋߙ.8}ߒߞߘߒߦߝߞߐߋ߈ߋߋߒߨߕߞߙߘߘ.9}ߗߋߓߝߞߜߞߛߌߖߖߏߌߋߋߐ.:}ߞߞߙߜߖ߆ߗߜ؋ߍߞߒߝߞߕߐߜ߈ߙߋҒ.;}߈߆ߺߛ߆ߞߜߙ߆ߓҙߝߞߓߙߗ.<}ߝߛߞߦߙߋߋߘߞ߈ߗߜ؋ߌߞߛߋߺ.=}ߌߖߋߌߋߋߖߞߑߙ߈ߖߞߞߞߗߐҞߒ.>}ߊߙߋߚߋߋߓߓ߉ߞߖߝߓ߈߆ߜߒ߆ߍߞߙ.?}ғўߋߗҏߐ߳ߞߝߐߏߌߞߞߗߐ߉ߛߋ.@}ߙߐߗ߲ߒߛߖ߈ߚߒ߈߈ѫߝߞ.A}ߝߋߜѦ߲ߝߋߏߖߒ߈ߒѫߝߌߐߊߝ.B}ߜߌܿߖߖߋߓߝߖߌߐ߾ߖߋߝߋߙ.C}ߋߜߗߝߊߙߏ߈׊߫߼ߌߓߋߌߐߋߐ.D}ߋߝߝ،ߗߜߝ߈ߞߝߘߌ߆ߖ߆ߋѩѼߐ߾.E}ߌߜ؋ߏߌߋߌߓߒߘߐߌҜߋߖҒ.F}ߓߝߘߖߐ߯߸ߐߨߞߨߖߞߎߒߍҚ߈.G}ߓߖߞߛߌߗߐߙҞ߈ߞߋߝߋߙߌߘߒߋ.H}ߋߌߐߋߜߗߋߘ߈ߞߛߋߙߋߗ߽ߌ،ߋߏ.I}ߌߖߗߖߋߌߨߋ߲߬ߞߋߐ߆ߒߘߏߞߌߓߋߖ߾.J}߆ߋߋߌ߆ߋ߆ߗߞߘߜߖߗߞ߾ߌߝߋ߈.K}ўߦߗߚ߾ߌߊ߆ߐ߆߉ߞߝߓߙߋߚ.L}ߋߝ߆߾ߋߘߝߋ߉ߋ߈߾ߜߌߞ߆ߝߋ.M}ߋߞߛߌߝ߫ߞߖߝߋߘߗߞߗߋߋߝߐߌߜߛ.N}ߌߐ߾߫ߞߝߋߞߊߞߋߜߐߊ߈ߞߍߐ.O}ߙߦߞߐߐߋߙ߈ߛߎߞߋߘ߉ߋ߈ߐߋߐҒߐ߾.P}ߨߗߋߓߖߚߌߝߋ߈ߐߋߒߐFG'GGGG@H[HhHHHH.Q}H'IKKLL)L>LQLLLfM|MMMM"N3NONNNNNO3OOOQ7QsQQQQ&RHR_RRRSMS[SSSST2TSTTTTUAV{V|VVVbW،ߛ.R}ߜ؋ߌߞߋ'ߜߞߌ'ߑ'ߑ'ߑ'ߑߜ؋ߘߋ߈.S}ߜ؋ߗ׈ߎߐߘ߾ߘߖߛߗߋ.T}ߋߗߌߏ؍ߑ߈ߖߗߞߙ؉ߞߘߖ،ߑߗ.U}؋ߜߞߒߛ؋ߗߖ؍ߞ߈ߖߖߙyYYYZ:ZlZZZZZZZZZ[[[.V}C[S[Y[][n[x[[[[[[[\\\              .W} j\k\l\q\t\y\|\\\\\\\\\\\\\\\\\ .X}  .Y} !""#$.Z}%&''()*+,,-.//01222345556.[}6789::;<=>?@Adddefghhiiii.\}jjklmmmnnnnnnnnnoorstuv՟.]}   .^}Cll  ^ (LB|خ l ҍ $ԭթة٠._}ԑL|Λ$Μͼ rΝL.} mڭi(i۠څȱڅ ֌;ͼ/.`} m ڭi(i۠څȱڅ ֤L| ԭ թLS~ΞΟΠΡ΢ͼ.a}Σ [ <ZȘ ΄ m ɛ L.} ɛ# m.b} ɛ mڭi(i۠څȱڅբͺ ԍL} L~ ԭ թ!L@}L.}.c} Ș L.} $ ͺ ͻiԥiLS~ ԅ ԅ L ,H+H ֨iةi٘iکiۘ`.d}ͼtLVͼlLVͼdLVͼNLLdͼPLLVͼ40Ld5LVLdLd Ld [ܐLS~Ld .e}L~ Ld ڐLV ڐLd LS~ LHKH ֨iةi٘iکiۘ` ة٭ ԭ.f}աLstԅȱԅ (Z۠څȱڅȱڅȱڅݥ֥$((8Uְ(8օש aUL_ a.g} a LE LL| HH ΄Ԩhhխح٘H<تȱ؆؅٠hIJL!  ΄.h}ج٠>تȱ؆؅٠ILJ| L7|ЅթLS~L ^ * | ҇ TL! ǃ R H.i} ЈA ?L| ǃ 4 * Ј# !ܭ  L|  L| ح   .j} L! ة Lԁ L!LL L8LL LLL mڭi(i.k}۠څȱڅ Lب)Lب̼ L L ب LΚLب̩.l}ȩΚLب=ΚLبL݂ ֨HhL بցL݂L L aڐL 8ְL .m}ցL ֙  ֙Lߠȡ ɛ I ֭ש` ` L.n} ΄ɛ.ȩSȩAȩVȩ`ԩթשۅ֩aԐ `)ҩD$%6.o}7 Dp1q:r` ڭ۱څȱڅ` }L }L } I aL.p} a`  T asՠ =~,ɛ8) `{}`)%֑Ȍ aLƈ aL넑 a ҇.q} ` a a* |H a ah`ieNmjn``` ``.r}' ᅩ ᅩd ᅩ ᅥ 0La8إٰeإeي` 0LaH ^ =!.s}# =`ٽd  a a a ` HLLhHkɛ UU(TT TUL. ҇X.t}iYi* | ҇TU ?h`U'UTUThHɛ) |LhH UU(ũUTT.u}йT ?L冭 X}䉅Y}剅i(i'i(ii(i۩'`HT X}䉅Y}.v}剅Uh  @ 8@(j`HUT h`HHH hhh`UT` X}䉅Y}剅'i(i`H.w}UTh`H UT | h`H UTTUh`H ҇ ^h 轍 .x}* | ҇ `JBpDEK VC `BDE'HI VC ` B VC `@.y}iɀ8``l~~~ (1:CLX_iu|Deف %+28>aoՂ#4DN.z}ȉ҉аߺ߭߹߽߹(Px@h0X Hp.{}嵎d;01Y@XL|_ppB@A,sThe Grim Reaper issue 12 November 1993--------------------------------------Welcome all to TGR 12. Firstly, this issue of2}} TGR 12 DOES NOT have two menus like I said it would in TGR 11. The reason for this is the game 'Golfer'. It is extremely lon2~}g and to have two menus would have meant it being left out. I'm sure that people who haven't already seen this game will be e2}xtremely glad I left it in. It's a top class piece of software and nobody would have batted an eyelid if it had been commerci2}ally released. Another great game from Bewesoft and ABBUC! Also not included is the 'risky' article I mentioned in the last 2}TGR. I thought it would at least persuade a few of you Conservatives to write in complaining, but they probably all bought MS2}X's! Many apologies to Flintstone for not thanking him in TGR 11 for his 'Tomb of Death' adventure he wrote for us. Sorry, F2}lintstone! I'll thank you next time (Mmmm...). Well, I'm writing this on the Monday having returned from the AMS on Saturday2} and all I'll say is: Where were you all? Quite a few TGR readers said they'd be at the show but nobody actually came up and 2}said hello! The only people that noticed me were Steve.S and John Foskett, so thank you both for making sure I didn't wear my2} black cap in vain! Spite and I got a couple of new software titles from AMS so expect reviews in future TGR's. Please don't2} let this put you off sending in your own reviews though! All articles and reviews are still desperately needed to keep TGR g2}oing! It certainly doesn't get any easier to fill TGR with a nice blend of programs and articles and, believe me, this one wa2}s a real struggle. My many thanx to The Pixel Pirate, Alias Maximus and Richard Gore for making the struggle bearable! You k2}now it's appreciated guys. Some of you may notice the inclusion of inverse characters in the doc file for 'Codebuster'. Thes2}e were in originally and I wasn't sure how they'd print out, but on my Panasonic 1081 inverse characters simply print out in 2}italic (which is excellent because the letter is then highlighted). I haven't tested it on any other printer so if anyone doe2}s print out this file could they please let me know how they got on and the make of printer they used? Thanx. Before I go I'2}ve been asked to give the 'News-Paper' a mention. Basically, this replaces 'News-Disk' (which was published on disk) with the2} new format 'News-Paper' (which is on paper - must have taken you ages to think up that title Dean!). It costs #6 for four is2}sues and is available from DGS, 62 Thomson Avenue, Balby, Doncaster, DN4 0NU. Well, I think that's all for this issue. Enjoy2} the contents of TGR and if you can submit something, then please do.John E. (TEBSF)P.S. It's the middle of November but.2}.. MERRY CHRISTMAS AND A HAPPY NEW YEAR to all Atari 8-bit users and supporters.0QThe Citadel-----------Available from Tiger Developments.As Tzen, the son of Treen, you have to prove your leadership by 6}solving the puzzles beyond the gates of Helios. The Citadel comprises of 26 screens which can be accessed by passwords. The 6}object of the game is to reach the exit of each location. This can be done by pushing blocks and boulders to fill holes. Ther6}e are also bombs, detonators and teleports to assist in your mission. Graphics are clean and easy on the eyes. The early scr6}eens are pretty easy but they get more difficult as you progress. The concept of the challenge is very good but gameplay is 6}limited, because once you have completed the mission there is little incentive to play it again. More screens or an editor wo6}uld certainly have added another dimension. Nevertheless, at a budget price it is worth including in your collection, if you 6}enjoy the 'thinking' type of game.reviewed by The Pixel Pirate*The Curse---------Available from Micro Discount.Some 6}great programs have come/are coming from Poland and this one is no exception. Super graphics make this real-time adventure a 6}MUST for all you adventurers. All text is in English so the lack of instructions is not that important as everything is pret6}ty straight forward. Basically, your quest is to remove the curse the ruler of Darkness has thrown over the land. Using you6}r joystick, you select commands from an on screen menu to move "yourself" around the 30 locations. Making a map is imperative6} as funny things can happen to you! You can carry as many spells as you like but you are limited to the number of 'items' yo6}u may hold. Although there are 28 items some of them are red herrings. Sometimes you may lose your powers and will have to se6}arch for gems to restore them. Most of the problems are solvable with thought, but regulary SAVING to disk is advisable. Whe6}n searching locations for items/clues make sure you check every nook and cranny as a lone pixel could reveal something...also6} a room that revealed nothing first time round may later in the game manifest that 'item' you need! Also look out for blank w6}alls that reveal secret passages. Perhaps not the hardest of graphic adventures but surely one of the most entertaining. Do 6}yourself a treat and get a copy. More adventures in this genre would be most welcome. If wanted I can supply hints to the so6}lving of 'The Curse'.reviewed by The Pixel Pirate*Tarkus and the Orbs of Doom---------------------------Available from6} Tiger Developments.You'd probably be surprised to learn that this game is a follow-up to 'Tarkus and the Crystal of Fear' 6}- not! Well, stupid introductions out of the way, let's get on with the review.After Tarkus' sterling work in rescuing the6} four Crystals of Emotion the world has been a peaceful place. It seems, however, that this peace is threatened due to the so6}me evil Warlord building a collection of magical orbs - the Orbs of Doom (dun nah!). Due to his success in his last mission,6} Tarkus has again been chosen to save the world. However, this time Tarkus has no magical powers but he does have the help of6} his giant pet chicken (must have traded his magical powers for a large quantity of LSD). Now, if you've loaded the game the6} first thing you'll encounter is the security screen. It really is bloody awful and quite difficult because using the home-ma6}de security system is no easy matter! For a starters there are too many symbols that look alike and the symbols that are actu6}ally half the normal size on the screen appear as full size characters on the slip of paper you receive (to understand this t6}ry comparing the characters produced by pressing control-E and control-D. The control-E character is half the size of the con6}trol-D, yes? But on the paper it appears the same size, which leads to confusion). Although I have said the security is awfu6}l, I must admit that something had to be done to combat the piracy problem. Hopefully, in their next production, Tiger Develo6}pments will use a more efficient and easier-to-use protection system. Enough of all that. Onto the game... In one player mo6}de you control both Tarkus and Aquatarkus (your pet chicken) but if you play in two player mode each character is controlled 6}by a different player. Each character has his own special ability. Tarkus can jump but his energy is zapped if he touches wa6}ter (why?) and Aquatarkus cannot jump but can pass through water. Using each character's ability you must manipulate switches6} to turn on/off lifts, open doors, stop monsters etc. The graphics in the game aren't anything special and look decidely fla6}t, and the music is awful, but thankfully it can be switched off. The gameplay is OK but hardly stunning. It doesn't take lo6}ng to figure out what to do and I managed to get to level J on my first go which isn't bad. Not a bad budget game but not a 6}patch on the original 'Tarkus'. It costs #2.99 if bought on its own but you get both this and 'The Citadel' for #4.99.revie6}wed by John E. (TEBSF)4Assembly Language Tutorialby Chris CrawfordLESSON TWO - NUMBER SYSTEMSIn this lecture I will take up the problem of ari:}thmetic on the 6502. I choose this topic only because it is fairly simple to do on the 6502. There are a couple of nerve-jan:}gling problems associated with 6502 arithmetic, but I will breeze over those in a very cavalier fashion. Before we can do ar:}ithmetic, though, you must know a little bit about number systems. There are three that you must know: decimal, binary, and h:}exadecimal. Decimal is the standard number system that you have used since grade school. You count 0, 1, 2, 3, 4, 5, 6, 7, 8:}, 9, and then you reach 0 again, so you put down a 1 in the tens place and resume counting from 0. Binary works the same way:}, except that there are only two digits, not ten. The two digits are 0 and 1. You count 0, then 1, then you reach 0 again, so:} you put down a 1 in the twos place and resume counting from 0. Thus, counting from 0 to ten in binary like this: Decimal :} Binary 0 0 1 1 2 10 3 11 4 100 5 101 6 :} 110 7 111 8 1000 9 1001 10 1010In binary, instead of having ones, tens, :}and hundreds places, we have ones, twos, fours and eights places. It takes a lot more digits to express a number in binary, b:}ut then again, we have only the two numerals 0 and 1 to work with, so what does one expect? The hexadecimal number system is :}a base-16 system. In this system, you count from 0 to 16 like so 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10. The 10 in hexadecimal re:}ally means 16 in decimal. So 10 is 16, right? Black is white, truth is lies....stay with assembly language long enough and yo:}u'll believe anything. Actually, it's easy to avoid confusion. We use little prefixes to tell you and the computer whether a:} number is expressed in decimal, binary, or hexadecimal. No prefix means decimal. A $ prefix means hexadecimal; a % means bin:}ary. Thus %10 means 2 while $10 means 16, but 10 means just plain old 10. Hexadecimal is not hard to learn at all; if you go :}into any store you will see that they use hexadecimal on all their signs.*ADDITION AND SUBTRACTIONAddition with the 6502 :}is very simple; it uses the ADC instruction. This instruction means "Add with Carry"; I'll get to the Carry part in just a mo:}ment. For now, let me explain the instruction. The ADC instruction has an operand, normally a location in memory. When the in:} | | H|E  N| |O| RIM V|  19|EAPER|93|    ISSUE 12struction is executed, it takes the contents of that memory location and adds that value to the value in the accumulator. It:} leaves the sum of the two numbers in the accumulator. This of course destroys the old value in the accumulator. You can use :}the immediate mode of addressing with the ADC instruction, in which case it adds the value itself. Thus, "ADC #9" will add a :}9 to the contents of the accumulator, while "ADC FISH" will add the contents of address FISH to the accumulator. Subtraction:} is just like addition. The instruction to use is SBC, which means "Subtract Borrowing Carry". Again, I'll tell you about the:} Carry part in a moment. This instruction subtracts the operand from the contents of the accumulator, leaving the result in t:}he accumulator. It also can be done in either immediate mode (e.g. SBC #5) or absolute mode (e.g. SBC GOAT).*WORD LENGTH PR:}OBLEMSIf that were all there were to arithmetic with the 6502, programmers would be paid a lot less. The first killer probl:}em is that the 6502 uses 8-bit words; that is, the numbers that the 6502 stores and works with are only 8 bits wide. This mea:}ns that the biggest number the 6502 can comprehend is 255. Uh-oh! What happens if you want to have a checkbook balancing prog:}ram and you have more than $255? What happens if you get more than 255 points in your "Decapitate the Orphans" game? In fact,:} what happens if you just ignore the limit and add, say, 10 to 250? Well, believe it or not, the 6502 will give you an answe:}r of 4. Why? The number system that the 6502 uses is like a wheel, with 0 at the top, counting clockwise 1,2,3,...all the way:} up to 255, which lies right next to the 0. If you go up from 255 you just wrap around past the 0 and start all over. Similar:}ly, if you subtract 2 from 0, you'll get 254. The solution to all this is provided by the Carry bit, discussion of which I'v:}e been putting off unitl now. The Carry bit is a flag that the 6502 uses to remember when it has done arithmetic that carried:} it over the boundary between 0 and 255. By using it properly, you can solve your arithmetic problems. The first trick to us:}ing the Carry bit is to use multi-byte words. This means that, instead of using a single byte to store a number, you use seve:}ral. For example, if you use two bytes to remember a number, you can store a number as large as 65,535. three bytes lets you :}go to 16,777,215. Four bytes lets you go to 4,294,967,295. Big enough for you? To use multi-byte arithmetic, you set up a se:}ries of additions or subtractions. Suppose, for example, that you want to add two two-byte words. The program fragment to do :}this would look like this: LDA LOFISH CLC ADC LOGOAT STA LOANSR LDA HIFISH ADC HIGOAT STA HIA:}NSR This little fragment of code assumes that the first two-byte value is called (LOGOAT, HIGOAT). The new instruction, CLC:}, stands for "Clear Carry" and it means that the Carry bit should be set to 0. It should always be used with all additions ex:}cept chained additions like this one. The code does the following: first it adds the two low values. If the addition resulte:}d in a wraparound (result greater than 255), then the Carry bit was set; otherwise, it was cleared. Then it performed the sec:}ond addition, adding in the value of the Carry bit (That's why we call it "Add with Carry"). Thus, if a wraparound occurred, :}an additional one was added into the high sum. This system insures that multi-byte addition works properly. For subtraction,:} you use the SEC instruction ("Set Carry"). Otherwise, you handle subtraction the same way that you handle addition. In both :}addition and subraction, though, the low bytes must be handled first, then the higher bytes in the proper order (lower to hig:}her).*DECIMAL & SIGNED ARITHMETICThere are two variations on standard 6502 arithmetic. Both are so rarely used that I wil:}l not treat them here. The first is decimal arithmetic using the Decimal flag. This allows you to set up an automatic decimal:} adjust mode. This is useful in certain types of arithmetic, decimal adjust mode. This is useful in certain types of arithmet:}ic, primarily BCD arithmetic. If you don't know what this is, don't bother with the Decimal flag. Your program should always:} begin with the instruction CLD, which means "Clear Decimal Flag". I will tell you this just once: failure to clear the decim:}al flag is the source of the most frustrating and impossible-to-trace bug in the 6502. Every single program should start with:} the instruction CLD. The second arcane bit of 6502 arithmetic is signed arithmetic. It uses the V flag ("oVerflow"). Signed:} arithmetic is always confusing and seldom useful. In 7 years of working with the 6502, I have never had need of it. Don't bo:}ther.*LIMITATIONS ON 6502 ARITHMETICThere are quite a few limitations on 6502 arithmetic. There is no facility for multip:}lication and division; you have to write subroutines to do that. You must design your programs to make do with 8-bit words; f:}ailing in that, you must use multi-byte arithmetic, with its consequent price in speed and TAM. All in all, arithmetic is a r:}eal pain on the 6502. This is the major reason why most 6502 programs do so little arithmetic.8_TGR Updates-----------I came across the idea of updating early editions of TGR about a month ago. I suggested the idea to >}Alias Maximus and asked what he thought. He said it'd be a good idea and I agreed with him. It will be a bit sad to lose the >}virginal, unsoiled freshness of the original TGR's but overall, I think it's worth it. It'll also stop me cringing whenever a>}nyone requests a copy of an early TGR! I wanted to update issues 01-09 and add the following to each issue.1) Use the new >}doc displayer that outputs to printer in 80 columns and allows you to change the screen colour.2) The main menu can have the?} original Atari font re-instated by simply pressing SELECT.3) Machine code files load directly from the main menu.4) Spelli?}ng mistakes and punctuation errors will hopefully be eradicated.At the time of writing I have updated TGR 01-05 and it's ta?}ke me a VERY long time. For example, I constantly worked at updating TGR 01 and 02 over two days. One day I worked on them fr?}om 6pm-2am (I even missed Coronation Street!) and the next day (same, actually) I started at 10am and finished at 4pm (this w?}as the day issue 64 of 'New Atari User' arrived). You may think this is a long time on simple updates but I suppose (cue conc?}eited Scottish accent) I'm a bit of a perfectionist! Apart from the above, each issue has also has other extra's:TGR 01: N?}ow in enhanced density and has the games 'Battle Star' and 'Think + Work' added.TGR 02: No longer writes to the disk when ac?}cessing the extra files. The game 'Cecil II' has also been added.TGR 03: The extra files are immediately accessible by holdi?}ng OPTION whilst booting (as norm). Thus, 'Discomm 3' has been replaced with 'Xagon'.TGR 04: The game 'Laser Duell' has been? } added.TGR 05: No additions!This is where it gets difficult because TGR's following 05 are usually full up and the new doc? } displayer uses 11 sectors more than the old one. I don't know where I'll find the free sectors!To recognise an updating TG? }R is simple. Boot the BASIC menu and if the message 'TGR xx - ver II' appears then you have an updated menu. Also, space perm? }itting, there will be an UPDATE doc on the disk.I desperately hope you think it's been worthwhile doing the TGR updates. Ho? }pefully this commitment of mine will prove that, with your help, TGR is here to stay and will continue supporting the Atari 8?}-bit as long as people want it too.John E. (TEBSF)<5The Ultimate Article on Cheating!---------------------------------OK. There have been rather a lot of articles on the mattC}er of cheating commercially released programs for your own twisted gain, but all of the ones I have seen have only concentratC}ed on pumping up your number of lives to the maximum available. Unfortunately giving yourself 255 lives for a game like 'DiamC}onds' would make the screen look rather silly. Thus, I decided that if I were ever to write an article on cheating is should C}aim at the reader being able to learn about modifying a program to give INFINITE lives.PLEASE NOTE: This article is writtenC} under the assurance that you have access too and are familiar using a disk sector editor. The disk sector editor you use MUSC}T have a HEX SEARCH facility. Use 'Bob's Disk Editor' on TGR 10 and you'll be fine. Got that? Let's go...*The first thing C}we need to settle on is which game you with to modify. Start wish something simple, like a short menu program or something. IC}t can be quite testing to try and find the right location on a boot disk of 720 sectors! Right? Got the title you want to moC}dify? Load it and take note of the number of lives you have. Write this down and now load your DSE (disk sector editor). ReadC} the first sector of the file you wish to modify (if possible transfering the file to a boot disk will make things easier. YoC}u can always begin your search at sector 1 then) and bring up the option of HEX SEARCH. Time for a breather here as I explaiC}n a little about Assemblers. Most machine code programs are first written with an assembler which understands commands like LC}DA, STA etc. Most assemblers allow you to edit the program and then assemble it into straight machine code. Straight machine C}code is all hex numbers and every different assembler instruction will convert into a different hexcode. To install lives inC}to the game the programmer would probably use the commands: LDA #5 STA 1536 In BASIC this would simply look likeC} POKE 1536,5as all the command is doing it storing 5 in location 1536. But this is in assembler and in machine code it C }would look like: A9 05 8D 00 06 A9 is the machine code instruction for LDA #byte where 8D is the command for STA adr.C!} As you can see the 05 following the A9 is the #5 that followed LDA, but why does 00 06 followed the 8D? Well, the assemblyC"} instruction was written in decimal so when assembling it is converted into hex. The hex of 1536 is $0600. Wait a minute! IfC#} the hex of 1536 is $0600 why does 00 06 appear after the 8D? Strange isn't it? You'll just have to get used to it though! WC$}hen appearing in machine code all adr's are stored in reverse order from what they'd appear in assembler. All this may appeaC%}r confusing but it isn't once you get used to it. Honest! Anyhow, back to the main part. You've sorted out your game and youC&} know how many lives it has? The little titch on understanding assemblers will make this easier to understand: If your gamesC'} has 3 lives then the command you will search for is A9 03. Do a HEX SEARCH for it and when you find it take a note of the sC(}ector and byte and then modify the $03 into $09. Now reload the game - do you have 9 lives? If so, great! If not, reload the C)}disk editor, change the $09 back into $03 and restart the HEX SEARCH. Right, you've made it here which means two things: youC*}'ve either found the right byte or you haven't. If you've gone through the whole game and not found the right byte then it's C+}just not your day! You'll have to try something else. OK! Found the byte? Great! Return its value to $03 and check the 3 bytC,}es after it. They should be something like this: 8D xx xx Where the 'xx xx' is a memory location which will be differC-}ent every time. Write down this location and read sector 1 of the file you wish to cheat. Now another breather! When you loC.}se a life the programmer could have used a couple of different instructions to take one away from your life total. The two moC/}st common will be explained. Now, because we're not sure what the programmer has used to take away a life we'll simply do a C0}HEX SEARCH for the memory location. So, if the 'xx xx' above is '94 34' simply search for 9434. Found it? Right take a look C1}at the byte before the 9434 - what is it? If it's '8D' then continue the search; if not then read on. Hopefully the byte wilC2}l be either 'CE' or 'AD'. If it's CE then excellent as to give your game infinite lives simply change the 'CE' to 'AD' and thC3}at's it! Why? Well, the 'CE' is the hex code for the assembler instruction DEC adrwhich simply takes one away from thC4}e memory address! And 'AD' is the instruction for LDA adrwhich doesn't modify the contents of the adr at all. Simple C5}eh? If the byte's originally 'AD' then a little more work is involved. Take a look a the bytes following AD9434 - is there aC6} 'E9 01' there? There is! Brilliant! Simply change the 01 into 00 and you have infinite lives! Why? Well, the 'E9' is the hexC7} for the assembler instruction SBC #bytewhich doesn't do much on its own but in a crowd would come out: LDA $34C8}94 SBC #01 STA $3494(or AD 94 34 E9 01 8D 94 34)which loads the accumlator (LDA adr) with the contents of $3494C9}, takes away $01 (SuBtraCt #01) and then stores the accumulator back into $3494 (STA adr). Beware because there'll also probaC:}bly be a '38' (SEC) hanging around but, although important to the program, isn't anything to worry about!*There are differeC;}nt ways of taking lives away: LDY adr DEY STY adrbut the examples given are the most likely and, in my expeC<}rience, the most used! I cetainly hope you've found this article useful. Maybe now you'll complete that game!John E. (TEBSC=}F)@TGR Info--------TGR is released when it is complete! TGR 13 (cue Twilight Zone music!) will hopefully be ready around the G?}middle of January, but as always, no promises. To receive a copy of the next issue send a SAE and a disk to the editorial adG@}dress stating your requirements. Contributions are needed if TGR is to survive. Please think about submitting something, be GA}it a 'Top Ten' or a 'Your Page'. All help to bring the next issue out ASAP. All DOC files in TGR are copyright the individuaGB}l authors but they may be reproduced by other Atari supporters as long as THE ORIGINAL AUTHOR AND SOURCE ARE INCLUDED! If onGC} the title screen the font is too hard to read then press SELECT to use the normal Atari font. Doc files are now printed in GD}80 columns and the new doc program is a modified version of the doc displayer on the 'Futura' disk-mag (now uses ALL the screGE}en). TGR is, as far as I am concerned, completely free, but if you wish to put it in your PD library then you must send me aGF} SAE, informing me of the name of your PD Library, the cost you will charge for each issue and a little info on what your PD GG}Library supports. Please do not purchase TGR from any PD Library that I haven't approved! The only TGR approved PD Library iGH}s the one run by TWAUG. TGR editorial address is: 17 Litton Bank, Gamesley, Glossop, SK13 9HF.Sorry no inspiration prizesGI} for this issue. I wouldn't have been able to get through it without mentioning cheating Dutch defenders or German referees iGJ}n the same sentence as extremely bad language.D/Please note! Although the 'Advert Demo' on this disk is a 100% Machine Code binary file, programs created with the 'Demo MakeKL}r' are not and require BASIC. The program was ported to a 100% Machine Code file by me so I could pack it and save a little KM}space (quite a lot actually). Hope this clears it all up.John E. (TEBSF)HLMany Menus----------I got the idea for this article by reading Allan J. Palmer's Mailbag section in 'New Atari User' a couOO}ple of issues ago. I waited to see whether anyone else thought they'd have a go at it and submit it to 'New Atari User', but OP}nobody seems to so I thought I'd have a go at it myself. All menus appear 'in order of appearance' wherever possible. I don'OQ}t claim I know every menu on the 8-bit but this article goes a far way. Only boot menus are included in the list and 'Speed'OR}, 'NDos', 'MicroDos' etc are excluded as these come under the heading of 'DOS compatible' and any all-density DOS menu like BOS}iboDOS or SuperDOS can transfer from them.*Multiboot---------The first menu maker written for the Atari and coded by JonOT} Williams of 'Jet Boot Jack' and 'Timeslip' fame. Early Multiboot menus were designed for the 400/800 and 810 disk drives soOU} a translator was required for XL/XE and the enhanced density on these drives wasn't utilised. The translator option was quiOV}ckly fixed and then along came an explosion of Multiboot menus that worked on all computers and in either single or enhanced OW}density. When writing a menu Multiboot wrote itself to the disk which lost 49 sectors for your programs. Fine if you wanted OX}the whole Multiboot and utilities but what if you just wanted a games menu? Many aspiring coders took it upon themselves to wOY}rite a simple replacement menu including Pirate Punk's 'Short Multiboot' and Sol's 'Warpspeed Megaboot' (worked at Ultra/WarpOZ} speed on US/Happy drives). Both were fine but you couldn't recapture any of the sectors lost to the original Multiboot becauO[}se sectors 48 and 49 were used as a file directory and were unmovable (the menu wouldn't be Multiboot compatible then would iO\}t?). Multiboot is hardly used nowadays.*Rob.C Menu Maker----------------The first Rob.C Menu Maker was written (like MuO]}ltiboot) with the 400/800 and 810 in mind and so the early Rob.C Menu Maker (and the menus it created) wouldn't work on XL/XEO^} (due to illegal jumps into the OS for GETKEY and PUTCHAR). Soon the updated Rob.C Menu Maker came along with its support foO_}r all computers and enhanced drives and thus the old version is very, very rare. Rob.C Menu Maker was just that - a menu makO`}er. It didn't recreate itself like Multiboot and a enhanced density formatted disk with menu would leave you with an impressiOa}ve 1036 free sectors. The menu maker allows you to transfer files from Multiboot and a Rob.C menu. I was saddened to read iOb}n a recent 'New Atari User', Derek Fern saying all software with the name 'ROB.C' on it is illegal. This is just not true as Oc}this menu maker illustrates. It is true that Rob.C was mainly a software pirater but he was also a very good coder and this mOd}enu maker compliments this. By the way, if you have an ST then you may be interested to know that Rob.C is known as Was (Not Oe}Was) and Vapour on this computer. Interesting, huh?*1050 Menu---------I think this was supposed to be a replacement for Of}Multiboot as it is XL/XE compatible and formats disks in enhanced density. The screen layout is extremely similar to MultiboOg}ot and it even recreates itself to menu disks with all the utilities available. It is NOT Multiboot compatible and I've yet Oh}to come across a menu maker that is able to transfer from it. If you ever come across this menu - format it!*1050 DoublerOi}------------Same as the previous menu but only works with true double density drives. It's still bobbins but it may have thOj}e honour of being the first double density menu on the Atari.*C.Elton Menu Maker------------------I actually haven't gotOk} this menu maker but I've seen some of the menus it produces. Written with only the true double density drives in mind. I havOl}en't seen it used for a long time.*Alpha Menu Maker----------------Another true double density menu maker. The actual meOm}nu maker section allows you to choose between a few different menus (the Atari logo one is my favourite) and different fonts.On} A few groups and individuals decided to add their own menus to the Alpha bandwagon and I've seen efforts from the LPS and POo}irate Punk. It's a good menu maker and a lot of people prefer it but what lets it down is that there's a seperate file for eOp}ach function. There's a menu maker proram, a transferer, a renamer and a deleter and they're all seperate files!*Ian.K MenuOq} Creator------------------There are a number of different versions of this menu creator but the one you want is v1.9+ (gueOr}ss who modified it for the '+'? Shucks!). Early versions were full of bugs and I've been told that v1.4 actually adds one secOs}tor to the length of each file transfered! This menu maker was written for 1050 doubler owners only and until I modified it Ot}for v1.9+ it wouldn't format on Happy at all. It transfers from many other menus including Multiboot, Rob.C, Alpha and C.EltOu}on and allows you to write the file to either Ian.K or Rob.C. My favourite menu maker - it's the one I mainly use.*MockingOv}bird-----------Another rare menu that I've only ever seen used once and that had the Mockingbird menu maker on it! Very sOw}imilar in concept to the Rob.C Menu Maker which is ultimately its downfall. It can format disks in single and enhanced densitOx}y and although the main menu maker can only transfer from Mockingbird menus, there's a seperate program which allows transferOy} from Multiboot and Rob.C.*Howfen DOS----------Not, as it says, a true Disk Operating System (like DOS 2.x), this is anoOz}ther COMMERCIALLY RELEASED menu maker - it is NOT Public Domain (send your disk back to Futura demanding a replacement!). VeO{}rsions I have seen are v3.0, v3.07 and v3.08. I assume there were earlier versions but I've never seen them. I did see an oldO|} Howfen menu once (very similar to a Rob.C menu) but I didn't see the actual menu maker. Howfen DOS is the only menu maker tO}}hat will work in all densities (Single, Enhanced (or Dual, as it says), US Double and True Double). It can transfer between tO~}he two quite easily and also allows transfer from Multiboot, Rob.C, Ian.K, C.Elton and Alpha. Howfen DOS also has the uniqueO} feature of allowing you to transfer multi-load tapes into one menu file. Success rate isn't extremely high but if it doesn'tO} work you can always use the 'Multi Tape to Disk' utility that comes with the master disk. This simply allows to you load in O}a tape and save it as a boot disk. The boot disk can then be transfered to a Howfen menu but it won't work in true double denO}sity and the file can be extremely long. It's better than having to use the awful 'Transdisk' though!*K & D Menu Maker----O}------------One of the last menu makers to be written for the Atari (1991), it was coded by Ken and Den Hill. The menu alloO}ws the most files per menu of any in this listing (a massive 44 files!) but the menu maker will only work in single and enhanO}ced density so it's unlikely you'll ever fill it up. The menu maker allows the option of transfering files from other menus O}but it doesn't actually tell you what it can transfer from. It just reads in the disk and if it knows it, it'll give you a meO}nu of the files on the disk. Rob.C menu and Multiboot are recognised but I haven't tested any others. I'd place this second,O} behind Rob.C Menu Maker, for unmodified drives. If, however, you have a US Doubler/Happy drive you'd be much better off withO} Howfen or Ian.K.*There are a couple of other menu makers around but they're hardly worthy of a mention. Firstly there's aO} menu for special use with the ISP plate. Not much use if you haven't got it, I suppose. Also, there's the M.Dunn Menu MakerO} but I haven't investigated this much as I couldn't get it to work with my drive.John E. (TEBSF)LcTop Ten Games-------------Thought it time to give you my top ten. This is not as easy as it sounds as there are so many GOS}OD Atari programs around. The only way I could really decide is to list the games that I find myself playing most regulary (S}Well I guess that makes sense!).The Pixel Pirate*10) LODERUNNERSuper addictive platform game. 150 screens plus editor mS}akes it a constant challenge. Some screens can be quite tricky to complete. An Atari Classic.*9) MINER 2049'erThought thiS}s was brilliant when it first came out and still do. Loads of screens to challenge your abilities and one of the best platforS}m games for the Atari.*8) BOUNTY BOB STRIKES BACKOK, so I like platform games! This is another super game with loads of lS}evels. You can access screens and change parameters to your liking. Many a cold winter night I have been trying to avoid the S}suction tubes!*7) PACMANSo I am a traditionalist! One of the first games I played on the old Atari 800 back in the early S}80's. Still enjoy playing and trying to nick that last dot...will I never learn?! Probably the greatest of the Atari ClassicsS}.*6) JUMPMANSuper platform game with loads of screens. You jump your way from screen to screen avoiding nasties. Another S}great Classic along with Jumpmam Jnr.*5) TARKUS AND THE CRYSTAL OF FEARWeird sort of arcade adventure calling for some piS}xel perfect moves. The danger element actually adds to the gameplay. Although a recent offering, this game could stand the teS}st of time.*4) VALGUS 2I am hooked on tetris type games and enjoy them all, but this is my favourite. I have sat up past S}2 o'clock in the morning, having just that one more go. Very addictive and unusual clone. It was a toss up between this and 'S}Fortress'.*3) MAD STONEHard to explain this one except to say that it is ADDICTIVE. Push matching shaped tiles to score pS}oints and reach target number. It has a vague tetris feel to it. Another game that you just have to play 'again'!*2) ARKANOS}IDTerrific game. Hit ball to break away tiles and gain bonus extras. Quite a few clones around but basically all the same iS}dea. Every Atarian should have a version in the collection. Super gameplay. My disk never gets filed away as it is always getS}ting played.*1) BOULDERDASHMy all time favourite. Collect diamonds to complete the screen. Sometimes you have to think haS}rd as to the best way to achieve this, as things can go wrong if you don't plan ahead. Various versions around but the ConstrS}uction Kit gives you greater flexibility, as you can create your own screens. If you like action combined with lateral thinkiS}ng then get yourself Boulderdash, it will be money well spent.P?Codebuster----------Written by Tom WellsCodebuster is a delightful tool for the experienced ATARI hacker. It is a disassW}embler that will load any DOS file into a buffer and display the contents as ASCII, hex, or 6502 instructions. It will write W}out this same file as a binary load file. More than one file may be loaded into the buffer and then rewritten out as one combW}ined file. It will read boot files, but it won't write out boot files.*The next few screens contain the formats of the comW}mands available in this program. All of the commands are entered through the standard OS input routines and thus must be follW}owed by pressing the RETURN key. The commands are entered as single characters followed by the required and/or optional posiW}tional parameters. All addresses must be entered in hex (hhhh). All other numbers will be in decimal (dddd). Codebuster doesW} not check for valid hex or decimal numbers.*Here are all the commands available:ttach, oot, hange, isplay, nter, W}ind, elp, ist, emory, pen, ead, end, nopen, irtual, rite, eit, ero, labels, compress, lister options, et utW}Place holders * , -Filenames do not need the "D:".*ttach labels to the disassembly.AThis will turn on the labelW} attaching logic. Entering the command a second time will turn it off. However the labels must first be ntered.*Read the W}oot file.B ddddThe decimal number is the max number of sectors to load. If none is specified all the sectors in the boot W}file will be loaded.*hange memoryC hhhh hhhhhhhhhhhhhhhhhhhhhhhorC hhhh 'abScefgh...'Change the contents of memory aW}t hhhh to the hex string or the ASCII string. Remember you will be changing a virtual address which should relate to a sectioW}n of code in the code buffer. You can change memory anywhere in the machine so be careful. Using a place holder in the addresW}s will change memory at the last found address.*isplay the contents of memory.D hhhh ddddDisplay memory at address hhhW}h for the next dddd bytes. This will be a virtual memory address unless a is entered to turn off virtual addressing. If onlW}y a 'D' is entered the next default number of bytes will be displayed. A place holder may be used for the address to change tW}he default number of bytes without changing the address.*nter the label file.E filename.extEnter the standard named DOW}S file to be used to build a table for the label attacher. Each entry must have a $ to start the hex value.LABEL = $hhhh W} ;commentsorLABEL EQU $hhhh ;commentsThe labels will be placed at the end of the program moving the user code buffer up W}in memory. If you were looking at some code it will be over-written and the virtual addressing will be incorrect.*ind a stW}ringF (F,A) hhhhhhhhhhhhhhhhhhhhorF (F,A) 'abcdefghijThe second F tells Codebuster to find the first occurance in the cW}ode buffer. If it is not specified the next occurance will be searched for. The A requests Codebuster to start at the front oW}f the buffer and find ALL occurances of the string. When the end of the buffer is reached a message is printed and the find pW}ointer is reset to the front of the buffer.*et sectors from the diskG hhhh dddd hhhhGet dddd sectors starting with secW}tor hhhh (first hhhh) and put them at virtual address (second hhhh). If no address is given put sectors at bottom of code bufW}fer. If no count of sectors is given get 1. If no sector is given get the first sector.*ist machine language code.L hhhhW} ddddList machine language code beginning at hex hhhh for the next dddd instructions. If the number of instructions is enteW}red it becomes the new default. The standard default is a full screen (21). If only an 'L' is entered the next default numberW} of instructions will be listed. A place holder may be used in the address field to change the default without changing the aW}ddress.*Display the emory location and the size of the user code buffer.MThis probably is of little use to you but itW} helped me during development and I didn't have the heart to take it out.*pen the listing disk file.O filename.extThisW} is the file where all output can be sent with the end command. The file must be opened before issuing a isplay or ist comW}mand with send pointing to the disk. Once it is open you may leave it open and end the output to the screen or the disk. WhW}en you are done you must close (nopen) the file before output can be sent to another file. Many other screen messages will gW}o to this file like the boot file record and binary load file load ranges.*ut sectors to the diskP hhhh dddd hhhhPut dW}ddd sectors starting at sector hhhh (first hhhh) from the virtual address (second hhhh). If no address is given put sectors fW}rom the bottom of the code buffer. If no count of sectors is given put 1. If no sector is given put to the first sector.*eW}ad a binary load file into memory.R filename.extAs each block of binary load file is encountered the program will prompt W}you for a response. This allows you to skip, load, or concantenate certain portions of a binary file. A range that is loaded W}is placed at the bottom of the buffer. If you load a second load range it will overwrite the first and the virtual addressingW} will be set to that of the second load range.*You may also concantenate a load range if it will fit in the buffer. A concaW}ntenated load range will be placed in the buffer according to the virtual address setting.For example if the front of the bW}uffer was set to virtual address $5000 and you tried to concantenate a load range of $4000 Codebuster would not allow you to W}because that would place the load range below the buffer in the program area. The address could also be too high. That is beW}yond the top of free RAM.*end output to screen, printer, diskS Dend output to the open disk file.S Pend output W}to the printer.S Send output to the screen only. This cancels end printer and end disk.Output can be sent to the priW}nter and the disk at the same time.*nopen the listing disk file.UThis file must be closed in order to save anything wrW}itten to it before leaving Codebuster. If you leave with an eit it will close this file for you, but if you just system reseW}t the file will be lost. Sorry about the silly name. I needed the 'C' for the change function.*Set irtual addressing.V hW}hhhIf a 'V' is entered by its self virtual addressing will be turned off and you will be looking at real addresses. If an aW}ddress is entered the start of the code buffer can be referenced by the address you gave. It is like relocating code in memoW}ry. The program starts up with virtual turned off, or in real mode.*rite binary fileW filename.ext lo-addr hi-addr run-aW}ddr init-addr alt-addrThis command will create a binary load file from the code buffer. You must specify the start and end W}of the block of memory to write. You may specify an alternate address (changing the virtual address will do the same thing). W}Either run and or init addresses may be specified. Place holding characters may be used on run-addr and init-addr.*eit thW}e Codebuster.XThis will close the listing file and return you to DOS.*ero out the user code buffer.ZThis will zeroW} out all of the addresses specified in the emory command. When looking at a section of code the zeros will help identify wheW}re the code ends.* invoke the internal label processor% filename.extThe input file is an assembly listing from CodebusW}ter. Create the file by pening a listing file, listing some code and nopening the listing file. Then give the label processW}or the file name The labeler will gather up all references and then verify which ones are internal and convert all internal aW}ddresses to labels. All undefined opcodes are converted to AMAC DB commands.* Toggle the compress option@This will plaW}ce MEDIT tab characters in and shorten the output from the labeler. It is a space saving feature.*Lister options list foW}und address - 1 list found address display found addressWhen "finding" ASCII or hex strings these options determine hoW}w to tell you where the string is. The addess may be displayed or listed. Listing minus one will allow you to see the instrucW}tion that is associated with immediate values or addresses in instructions. Listing or displaying the address found allows yoW}u to see ASCII strings or assembler instructions.*This program is public domain and therefore free for the giving and gettiW}ng. My best wishes to all fellow hackers.T*AMS7----Well, this year the job of reviewing the All Micro Show has fallen to me, so I'll try to make it as interesting as[} possible-ish.*Once again we planned to meet outside my house in the wee hours of the morning. So I figured an early night [}was in order; unfortunatly I got little sleep (too excited about the show?) [Hmm. . . not quite!] but I got up on time! I tu[}mbled out of bed, pulled on my clothes and stumbled toward the bathroom. Unfortunately, from the landing window, I caught a g[}limpse of John E. waiting outside. Ha ha! Thought I, time for a little joke! So, with a mischevious spring in my step I rushe[}d outside into the cold. 'Sorry John, but I won't be coming to the show - no cash and all that.' 'What? Good God, this mean[}s I'll have to spend the entire day alone with Spite!?!' 'Well, see ya John! And watch yer chunks!' Not really all that fun[}ny was it? So anyway, to cut a long story short, I dressed and washed in record time, grabbed my cash, and rushed out to hav[}e a good laugh at John. Hmm. . . John was nowhere to be seen. So much for humour! At this point I'm ashamed to say panic se[}t in. I slammed my door and rushed off to catch him; fortunately he had not gone far. And hey! Spite was there too! Talk abou[}t luck?!? We walked the few miles into Manchester, and after a little loitering in the train-station, caught the 8:18 to Sta[}fford. We were on our way! The conversation on the train was hardly riveting. John and I found our usual wit dampened by our[} lack of sleep (We all had sleepless nights!?!). Still we had a few laughs at Spite's expense and we saw a lewd sculpture too[}! And before you could say 'Bloody Koeman!' we were in Stafford. As regular TGR readers will know, we had a bit of trouble g[}etting to Bingley Hall last year. But this year we were ready! Out of the train-station and straight into a taxi! We learn qu[}ick here in Manchester! The queue outside Bingley Hall was quite large. Spite had slyly acquired an advance ticket, and left[} John and myself to fend for ourselves. But we were cool about it, we had a nice place in the queue. Hmm. . . HAD! As soon as[} the doors opened a large number of the more unsavoury characters on the eight-bit scene began pushing to the front!?! 'Anyo[}ne would think we were in Germany!' said John. (Rather loudly.) Anyway the show was great - no 5.25 inch disks though! (A ph[}rase much repeated throughout the day). And we all spent loads of cash! (Well I only spent a quid, but hey what the hell!) an[}d all the AURA members enjoyed a good leer at the rather tasty chick on the ANG/Megamag stall. Hi to Dave Ewens, Stuart Murra[}y and Richard Gore who we chatted to (I'm the 'other' member of AURA by the way - you know the one who writes adventures nobo[}dy plays). Oh, by the way - my quid was spent on 'Lancelot', a nice bargain from Micro Discount. All too soon we had to be m[}aking tracks. And a lift to the train-station from 'Saint' Steve Southall was much appreciated (Although somewhat longer than[} expected!). And in a few shakes (and a stop in Manchester town centre, for some books for me) we were home.Alias MaximusX|@@* @@L@ gAL@NOT ANOTHER 'SECRET SCREEN'!THIS GREAT MUSIX IS FROM THE GAME'FORTRESS UNDERGROUND'.WHAT A FABULOUS GAME!MUMMY, MUMMY, CAN I LICK THE BOWL?NO, FLUSH THE BLOODY CHAIN!* zAAt \` ALbACBCGC҈QCPCRCC?C@CҩҩDDD`H)hH):Hh``?G9#` `҈`) 栥 zA`GC҈@C@C`ACAC`ACBCBC)LCPC) RCRCCOCPCHQCQCCGC҈@C@C` SCTCiCjCCCPC ACCGC HCCPC) OC'D AFCMC NC?CPC`CC0HCDC0JCEC0LCFC0NCNC`ǀ@Q`DD!EECFtF}FFF`G!HDDBEEFFF GFG*HDEbEFFFF@GFG2H     (0 8 8 8 8   (0 8 8 8 @HPHXHPHX 8 8 8 `                 ŭtylf`UQH@<5/*(#