' +JJJJ ?\>m0M='+l> /+l   d]@ŵLҦ]]L L}BBL] 鷎귭෍ᷩ췩緈JJJJx Lȿ L8ᷭ緍췩 緍i 8 `巬 췌`x (`(8`I`B` `77`>J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"_]` L/浍굺L  !"#$%&'()*+,-./0123456789:;<=>?  1#"""  (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0EB H  @H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`HIHHHHhHH݌hHhHh݌H6 VDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`   vLDcpq` [` ~  LӜu`".Q`pNФbptťܥm2<(-Py0\|e<6e<g< JJJJj귍hI  aUL@ kU8  L  Q^R(jQ0l^l\  wUuW ԧ H h@ [_ /QSIRb_L`LLLL`ª`LQLYLeLXLeLee ўQH\(h0L& Ꝥ$`( R \ZLl8 ўR HH\`\Z[YS6`LxQɿu3'RͲʎRʎ]]]ɍuL͟ɍ}RLRɍg^H8 ^hZLɍR LͲɊRR% QLܤͲ Z@ -^ ş\[Z QY\[Z8`l6Lş_Ȍb_Ͳ] )Y h( ֭ͲLɍ [LLĦ__ ^ 9 LҦ3 9 a   0LjLY u< (_9 ˭ɠuɠK_9 ?LˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^L iõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmx-"(" @7͠٠ˠ@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B / / ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L Ν `HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫ XI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈m浍浭m䵍䵐`"L ŵ8ŵH ~(` d ֠7z# 7u`H (103)(104)25616385Ĺ103,1:104,64:16384,0:(4)"RUN HELLO"254,255:(4)"BLOAD SHAPES,A$800":(4)"RUN STARTMENU"100:STST01:ST161030% BF1060C ST0:TKTK01:TKLT1030W $TKT1:ST0:490z .430:100:STST01:ST161070 8ST0:TKTK01:BF0TKLT1070 BTKLT1020 L:A$"ALL DONE":450: IGNORE DATA EPILOGUES47415,0:47416,189:47417,140:47418,192:47419,16:47420,251:47421,201:47422,170:47423,76:47424,158:47425,185: TEST MAKER CONTROLLERTK0:LT35:CDWR:MB151:550215ST0:T1TK:490 430:  DIG PAINT.CON=TK0:LT35:ST15:LS15:CDWR:FAST1R170::490:610u230:490:610:(TRK)LT1050TK(TRK):ST(SCT):1020:"COPY DONE":$ 170,170,170,170 ,64,180  0,1,69,89(  0,1,74,2559  0,3,85,213K  0,6,122,213\  0,6,142,68m  0,6,147,63~  0,7,238,46  0,8,47,45 TKTK1:TKLT10350 230:48622,46:48687,459 310M $490:TKT1:ST0p )430:100:STST1:STDOS1065 .ST0:TKTK1:BF0TKLT1065 3TKLT1020 8:"DONE WITH COPY":  181,170,150  11 CHANGES  0,14,62,76,0,14,63,90,0,14 Crypt of Medea0TK0:LT35:ST0:CDWR:550IT1TK:490TK0ST10İ430:100:STST1:STDOS1025: T:00/S:00-09:190:48622,45:48687,46: read changed track and sector 430:100:STST1:STDOS1035BF1050 ST0:  &```ؠ  `  OF YOUR":790:6:H:A$:A$"AUTODUEL DISK IN DRIVE 1 AND":790:7:H:A$?A$"PRESS RETURN TO CONTINUE,":790:8:H:A$:A$"ANY OTHER KEY ABANDONS":790:9:H:A$?9:(H23):SA$:SA$(13)ī150?789:::::"NEW UNDER ARMOR (99 MAX) =>";UA$:(UA$)23670r>`T(UA$):540:UAT(6A):(BA169),UA:(BA169),UA::340>eQUIT AND SAVE ATTRIBUTES>j::"SAVE CAR? Y/N ";QT$:QT$"Y"QT$"N"3690>tQT$"N"ĉ::I?~780,2::A$"PLEASE PLACE SIDE 'B'3600B=T(LA$):540:LAT(6A):(BA153),LA:(BA154),LA::340Z=$CHANGE RIGHT ARMORj=.IN213660=8::"NEW RIGHT ARMOR (99 MAX) =>";RA$:(RA$)23640=BT(RA$):540:RAT(6A):(BA161),RA:(BA162),RA::340=LCHANGE UNDER ARMOR4>V:340< CHANGE BACK ARMOR-< IN193590f< ::"NEW BACK ARMOR (99 MAX) =>";BD$:(BD$)23550< T(BD$):540:BDT(6A):(BA145),BD:(BA146),BD::340< CHANGE LEFT ARMOR<IN203620=::"NEW LEFT ARMOR (99 MAX) =>";LA$:(LA$)23407; ::"NEW AMMO (99 MAX) =>";AM$:(AM$)23480f; T(AM$):540:AMT(6A):(AD6),AM::340v; IN183550; CHANGE FRONT ARMOR; ::"NEW FRONT ARMOR (99 MAX) =>";FA$:(FA$)23520< T(FA$):540:FAT(6A):(BA137),FA:(BA138),FA::R 3430:\ LO$"0"3400J:f T(LO$):540:LOT(6A):(AD3),LO::340~:p ::"NEW SPACE (99 MAX) =>";SP$:(SP$)23440:z T(SP$):540:SPT(6A):(AD4),SP::340: (AD5)80Ĺ(AD5),0::340; (AD5)80T80:540:TT(6A):(AD5),T:: 33809* CH$"0"3330394 CH(CH$):AD,CH:3409> ::"NEW DPTS (99 MAX) =>";DP$:T(DP$):540:DPT(6A):(AD1),DP:(AD2),DP::3409H ::"NEW LOCATION"::"0) FRONT":"1) BACK":"2) LEFT":"3) RIGHT"::"CHOICE ";LO$:(LO$)3(LO$)13420:"2) ROCKET LAUNCHER":"3) RECOILESS RIFLE":"4) ANTI-TANK GUN":"5) LASER":"6) MINE DROPPER":"7) SPIKE DROPPER":"8) SMOKE"8 "9) PAINT SPRAYER":"10) OIL JET":"11) HEAVY ROCKET"::"CHOICE ";CH$:CH$""3408 (CH$)11(CH$)133709 280 7 3290,7 T1822:(IN$)TĂ:520E7 IN(IN$):IN935007 :4:"WEAPON #";IN:740:760::"CHOICE ";CH$:CH$""3407 (CH$)6(CH$)133007 CH(CH$):CH3330,3390,3400,3440,3460,34808 ::"0) MACHINE GUN":"1) FLAME THROWER":4:"NEW BR TIRE DPTS (99 MAX) =>";BR$:BR$""150G6 (BR$)231906 BR(BR$):TBR:540:BRT(6A):(BA129),BR:(BA130),BR::1506 *****SECOND SCREEN CHOICES*****6 IN$"P"ī1506 IN$""5206 IN$"Q"ī36907 T09:(IN$)TĂ:3T(6A):(BA113),FR:(BA114),FR::15095D IN163190R5N CHANGE BL TIRE DPTS5X :4:"NEW BL TIRE DPTS (99 MAX) =>";BL$:BL$""1505b (BL$)231605l BL(BL$):TBL:540:BLT(6A):(BA121),BL:(BA122),BL::1505q CHANGE BR TIRE DPTS46v MAX) =>";FL$:FL$""150,4 (FL$)23060p4 FL(FL$):TFL:540:FLT(6A):(BA105),FL:(BA106),FL::1504 IN1531404 CHANGE FR TIRE DPTS4& :4:"NEW FR TIRE DPTS (99 MAX) =>";FR$:FR$""15040 (FR$)23110)5: FR(FR$):TFR:540:FR3040&3 CHANGE PWR PLANT DAMAGE PTSa3 :4:"NEW PWR PLANT DPTS (99 MAX) =>";PD$:PD$""150t3 (PD$)230103 PD(PD$):TPD:540:PDT(6A):(BA97),PD:(BA98),PD::1503 IN1430903 CHANGE FL TIRE DPTS 4 :4:"NEW FL TIRE DPTS (99:TC2:540:C2T(6A):(BA30),C2:TC3:540:C3T(6A):(BA29),C3::150Y2| IN122990u2 CHANGE BATTERY CHARGE 2 :4:"NEW BAT CHARGE (99 MAX) =>";BC$:BC$""1502 (BC$)229602 BC(BC$):TBC:540:BCT(6A):(BA35),BC::1503 IN13):(BA27),AC::150$1@ IN11294091J CHANGE CAR COSTr1T :4:"NEW CAR COST (999999 MAX) =>";CC$:CC$""1501^ (CC$)629001h CA$(CC$,4):C1$(CA$,2):C2$(CA$,2):C3$(CC$,2):C1(C1$):C2(C2$):C3(C3$)I2r TC1:540:C1T(6A):(BA31),C1 =>";HC$:HC$""150B0 HC$"0"HC$"1"HC$"2"HC$"3"2800c0 HC(HC$):(BA25),HC::150s0 IN1028800 CHANGE ACCELARATION0" :4:"NEW ACC (0-2) =>";AC$:AC$""1500, AC$"0"AC$"1"AC$"2"285016 AC(AC$):TAC:540:ACT(6A(BA23),MS::150!/ IN827808/ CHANGE SPACE LEFTo/ :4:"NEW SPACE LEFT (99 MAX) =>";SL$:SL$""150/ (SL$)42750/ SL(SL$):TSL:540:SLT(6A):(BA24),SL::150/ IN92830/ CHANGE HANDLING CLASS0 :4:"NEW H. CLASS (0-3):L2$(WL$,2):L1(L1$):L2(L2$):TL1:540:L1T(6A):TL2:540:L2T(6A):(BA22),L1:(BA21),L2n.n :150}.x IN72730. CHANGE MAX SPACE. :4:"NEW MAX SPACE (99 MAX) =>";MS$:MS$""150. (MS$)22700/ MS(MS$):TMS:540:MST(6A): W1$(MW$,2):W2$(MW$,2):W1(W1$):W2(W2$):TW1:540:W1T(6A):TW2:540:W2T(6A){-2 (BA20),W1:(BA19),W2::150-< IN62680-F CHANGE WEIGHT LEFT-P :4:"NEW WEIGHT LEFT (9999 MAX) =>";WL$:WL$""150-Z (WL$)42640c.d L1$(WL$,2)T":"2) IMPROVED":"3) HEAVY":4:18:"";SU$:SU$""150], SU$"1"SU$"2"SU$"3"2520, SU(SU$):(BA18),(SU1)::150, IN52620, CHANGE MAXIMUM WEIGHT, :4:"NEW MAX WEIGHT (9999 MAX) =>";MW$, MW$""150, (MW$)42570X-(IS =>":"1) LIGHT":"2) STANDARD":"3) HEAVY":"4) EXTRA-HEAVY"^+ 4:15:"";CH$:CH$""150+ CH$"1"CH$"2"CH$"3"CH$"4"2460+ CH(CH$):(BA17),(CH1)::150+ IN42550+ CHANGE SUSPENSION 8, :4:"NEW SUSPENSION =>":"1) LIGHED":"4) LUXURY":"5) STATION WAGON":"6) PICKUP":"7) VAN"Z*j 4:17:"";BO$:BO$""150*t BO$"1"BO$"2"BO$"3"BO$"4"BO$"5"BO$"6"BO$"7"2400*~ BO(BO$):(BA16),(BO1)::150* IN32500* CHANGE CHASSIS?+ :4:"NEW CHASS(NB$)162310I)8 (NB$)16SP$" ":TE16(NB$):T1TE:NB$NB$SP$:)B T116:NA$(T)(NB$,T,1)::T116:((BA1)T),(NA$(T))128::150)L IN22440)V CHANGE BODY TYPE;*` :4:"NEW BODY TYPE =>":"1) SUBCOMPACT":"2) COMPACT":"3) MID-SIZAM$"15F"AM$"==":(?(******FIRST SCREEN CHOICES*****Q(IN$"N"ī340b(IN$""ī330u(IN$"Q"ī3690((IN$)17(IN$)1330( IN(IN$):IN12380( CHANGE CAR NAME( :4:"NEW NAME (16 CHARS MAX)":"";NB$($ NB$""150). GET WEAPON #0d'W1(BA248):L1(BA251):660:DP(BA249):SP(BA252):AC(BA253):AM(BA254)'VADP:570:DP$(A)C$:VASP:570:SP$(A)C$:VAAC:570:AC$(A)C$:VAAM:570:AM$(A)C$'AC$"80"AC$"NO":2240'AC$"YES"(AM$"13D"1(BA243):660:DP(BA241):SP(BA244):AC(BA245):AM(BA246)&\VADP:570:DP$(A)C$:VASP:570:SP$(A)C$:VAAC:570:AC$(A)C$:VAAM:570:AM$(A)C$&fAC$"80"AC$"NO":2170&pAC$"YES"&zAM$"13D"AM$"15F"AM$"==":& '(BA236):AC(BA237):AM(BA238)%VADP:570:DP$(A)C$:VASP:570:SP$(A)C$:VAAC:570:AC$(A)C$:VAAM:570:AM$(A)C$% AC$"80"AC$"NO":2100%*AC$"YES"%4AM$"13D"AM$"15F"AM$"==":%>%HGET WEAPON #9D&RW1(BA240):L230)d$VADP:570:DP$(A)C$:VASP:570:SP$(A)C$:VAAC:570:AC$(A)C$:VAAM:570:AM$(A)C$$AC$"80"AC$"NO":2030$AC$"YES"$AM$"13D"AM$"15F"AM$"==":$$GET WEAPON #8$% W1(BA232):L1(BA235):660:DP(BA233):SPVASP:570:SP$(A)C$:VAAC:570:AC$(A)C$:VAAM:570:AM$(A)C$b#AC$"80"AC$"NO":1960p#AC$"YES"#AM$"13D"AM$"15F"AM$"==":##GET WEAPON #7$W1(BA224):L1(BA227):660:DP(BA225):SP(BA228):AC(BA229):AM(BA0:AC$(A)C$:VAAM:570:AM$(A)C$B"NAC$"80"AC$"NO":1890P"XAC$"YES"t"bAM$"13D"AM$"15F"AM$"==":z"l"vGET WEAPON #6"W1(BA216):L1(BA219):660:DP(BA217):SP(BA220):AC(BA221):AM(BA222)D#VADP:570:DP$(A)C$:)C$"!AC$"80"AC$"NO":18200!AC$"YES"T!AM$"13D"AM$"15F"AM$"==":Z!&m!0GET WEAPON #5!:W1(BA208):L1(BA211):660:DP(BA209):SP(BA212):AC(BA213):AM(BA214)$"DVADP:570:DP$(A)C$:VASP:570:SP$(A)C$:VAAC:5750 AC$"YES"4 AM$"13D"AM$"15F"AM$"==":: M GET WEAPON #4 W1(BA200):L1(BA203):660:DP(BA201):SP(BA204):AC(BA205):AM(BA206)!VADP:570:DP$(A)C$:VASP:570:SP$(A)C$:VAAC:570:AC$(A)C$:VAAM:570:AM$(AAM$"15F"AM$"==":-GET WEAPON #3W1(BA192):L1(BA195):660:DP(BA193):SP(BA196):AC(BA197):AM(BA198)VADP:570:DP$(A)C$:VASP:570:SP$(A)C$:VAAC:570:AC$(A)C$:VAAM:570:AM$(A)C$ AC$"80"AC$"NO":17GET WEAPON #2dhW1(BA184):L1(BA187):660:DP(BA185):SP(BA188):AC(BA189):AM(BA190)rVADP:570:DP$(A)C$:VASP:570:SP$(A)C$:VAAC:570:AC$(A)C$:VAAM:570:AM$(A)C$|AC$"80"AC$"NO":1680AC$"YES"AM$"13D"1(BA179):660:DP(BA177):SP(BA180):AC(BA181):AM(BA182),VADP:570:DP$(A)C$:VASP:570:SP$(A)C$:VAAC:570:AC$(A)C$:VAAM:570:AM$(A)C$6AC$"80"AC$"NO":1610@AC$"YES"JAM$"13D"AM$"15F"AM$"==":T ^BD:570:BD$(A)C$:-GET LFT ARMOR DPTSWLA(BA153):VALA:570:LA$(A)C$:nGET RT ARMOR DPTSRA(BA161):VARA:570:RA$(A)C$:GET UDR ARMOR DPTSUA(BA169):VAUA:570:UA$(A)C$:GET WEAPON #1D"W1(BA176):LnGET BCK LT TIRE DPTS(xBL(BA121)EVABL:570:BL$(A)C$:_GET BCK RT TIRE DPTSpBR(BA129)VABR:570:BR$(A)C$:GET FNT ARMOR DPTSFA(BA137)VAFA:570:FA$(A)C$:GET BCK ARMOR DPTSBD(BA145):VAC(BA35)' VABC:570:BC$(A)C$:?GET PWR PLANT DPTSOPD(BA97)l(VAPD:570:PD$(A)C$:2GET FNT LT TIRE DPTS <FL(BA105)FVAFL:570:FL$(A)C$:PGET FNT RT TIRE DPTSZFR(BA113)dVAFR:570:FR$(A)C$:)C$:GET ACC#AC(BA27)@VAAC:570:AC$(A)C$:SGET CAR COST {C1(BA31):C2(BA30):C3(BA29)VAC1:570:C1$(A)C$VAC2:570:C2$(A)C$VAC3:570:C3$(A)C$CC$C1$C2$C3$:GET BATTERY CHARGE BL1:570:L3$(A)C$..VAL2:570:L4$(A)C$@8WL$L3$L4$:SBGET MAX SPACEcLMS(BA23)VVAMS:570:MS$(A)C$:`GET SPACE LEFTjSL(BA24)tVASL:570:SL$(A)C$:~GET HANDLING CLASSHC(BA25)VAHC:570:HC$(A18)'S1$"LIGHT IMPROVEDHEAVY "ASU$(S1$,(SU81),8)G_GET MAXIMUM WEIGHT{W1(BA20):W2(BA19)VAW1:570:W3$(A)C$VAW2:570:W4$(A)C$MW$W3$W4$GET WEIGHT LEFTL1(BA22):L2(BA21)$VA MID-SIZED LUXURY STATION WAGONPICKUP VAN "_\BO$(B1$,(BO131),13)efwpGET CHASSIS zCH(BA17)C1$"LIGHT STANDARD HEAVY EXTRA-HEAVY"CH$(C1$,(CH111),11)GET SUSPENSIONSU(BALCULATE RELATIVE ADDRESS(IN0IN10K A1(BA176):AD(8(IN1))A1:fCENTER STRING ROUTINE{ H21((A$)2):*GET CAR NAME4X1:NABA(BA16):NA$(X)((NA)):XX1::>GET BODY HBO(BA16)CRB1$"SUBCOMPACT COMPACT OP S SCREENPAINT OIL HR ========"GWE$(WS$,(W181),8)aLS$"FNTBCKLFTRT ==="{LO$(LS$,(L131),3)PRINT WEAPON CHOICES6:"1) WEAPON":"2) DPTS":"3) LOCATION":"4) SPACE":"5) ACTIVE/INACTIVE":"6) AMMO":CAABNC10C$"A":)XC11C$"B":<bC12C$"C":OlC13C$"D":bvC14C$"E":uC15C$"F":C$(C):WEAPON STATISTICSL14L14W112W112-WS$"M GUN FLTHR RL RR AT LASER M DROP S DR[22:1:"CHOOSE NUMBER,

FOR PREVIOUS SCREEN":"OR TO QUIT AND SAVE=>";IN$:3220ayCONVERT HEX - DEC &A((T90)(T80)(T70)(T60)(T50)(T40)(T30)(T20)(T10))0:CONVERT DEC - HEXDA(VA16):BA16:CV:18:LO$;:23:SP$;:30:AC$;:35:AM$o2050:18:3:WE$;:12:DP$;:18:LO$;:23:SP$;:30:AC$;:35:AM$2120:19:3:WE$;:12:DP$;:18:LO$;:23:SP$;:30:AC$;:35:AM$2190:20:3:WE$;:12:DP$;:18:LO$;:23:SP$;:30:AC$;:35:AM$35:AM$O1770:14:3:WE$;:12:DP$;:18:LO$;:23:SP$;:30:AC$;:35:AM$1840:15:3:WE$;:12:DP$;:18:LO$;:23:SP$;:30:AC$;:35:AM$1910:16:3:WE$;:12:DP$;:18:LO$;:23:SP$;:30:AC$;:35:AM$'1980:17:3:WE$;:12:DP$;17:"7.":1:18:"8.":1:19:"9.":1:20:"0."w1560:11:3:WE$;:12:DP$;:18:LO$;:23:SP$;:30:AC$;:35:AM$1630:12:3:WE$;:12:DP$;:18:LO$;:23:SP$;:30:AC$;:35:AM$1700:13:3:WE$;:12:DP$;:18:LO$;:23:SP$;:30:AC$;: UDR ARMOR DPTS..";UA$DS$"-":T138:8:T:DS$::1:"WEAPON #";:12:"DPTS";:18:"LOC";:23:"SPACE";:30:"ACT";:35:"AMMO"DS$"=":T138:10:T:DS$::1:11:"1.":1:12:"2.":1:13:"3.":1:14:"4.":1:15:"5.":1:16:"6."/1:, FOR NEXT SCREEN":"OR TO QUIT AND SAVE =>";IN$:2260k T:1450:3:"(18) FNT ARMOR DPTS..";FA$ ^1480:4:"(19) BCK ARMOR DPTS..";BD$ h1500:5:"(20) LFT ARMOR DPTS..";LA$ r1520:6:"(21) RT ARMOR DPTS..";RA$|1550:7:"(22)....";BC$5 1300:15:"(13) PWR PLANT DPTS...";PD$a "1330:16:"(14) FL TIRE DPTS.....";FL$ ,1360:17:"(15) FR TIRE DPTS.....";FR$ 61390:18:"(16) BL TIRE DPTS.....";BL$ @1420:19:"(17) BR TIRE DPTS.....";BR$> J22:1:"CHOOSE NUMBER$, 1090:9:"(7) MAX SPACE........";MS$X 1120:10:"(8) SPACE LEFT.......";SL$ 1150:11:"(9) HANDLING CLASS...";HC$ 1180:12:"(10) ACC..............";AC$ 1210:13:"(11) CAR COST.........$";CC$ 1270:14:"(12) BAT CHARGE...1) CAR NAME.........";:X116:NA$(X);::X 830:4:1:"(2) BODY TYPE........";BO$ 880:5:"(3) CHASSIS..........";CH$ 930:6:"(4) SUSPENSION.......";SU$ 980:7:"(5) MAX WEIGHT.......";MW$ 1040:8:"(6) WEIGHT LEFT......";WLCE SIDE 'B' OF YOUR":790:H:A$X d11:A$"AUTODUEL DISK IN DRIVE 1 AND ":790:H:A$ nA$"PRESS RETURN TO LOAD CAR":790:H:A$:A$"OR CTRL-E IF CAR IS LOADED < >":790:H:A$ x13:34:TE$:TE$(5)140 789 MENU+ :810:3:"(7% D$(13)(4):BA24576:NA$(17)0216,0920R(40286,35:40287,2162:A$"AUTODUEL CAR EDITOR":790:1:H::A$::34,1:A$"WRITTEN BY MARC BATCHELOR":790:3:H:A$FT13000:P(768)1ĺD$;"BLOAD IOB" Z:10:A$"PLEASE PLA                        LT1070 BTKLT1020- L:"COPY DONE":_ '(6400)162ĺ(4)"BLOAD RWTS.CASTLE,A$1900"``% CASTLE WOLFENSTEIN CONTROLLER?TK3:ST0:LT35:CDWR]T1TK:490:G0SUB360:550430:100:STST1:STDOS1030BF1060ST0:TKTK1:TKLT1030$490:TKT1:ST0:360.430:100:STST1:STDOS1070 8ST0:TKTK1:BF0TK 7z#??????????1,:;<X٠ˠ   ޷ΠϠ"ήΠ ήԠƠ ή̠ȠӠήԠҠήŠΠ ԮĠ#!ʮԠʮĮĠԮĮŠ޶̠ҠҠ9   ޳ŠРŠ޴Š٠ҠҠĠˠĠˠŠ޵X٠ˠ]͠٠ˠޱǠǠϠǮҠ޲ħӠŠӠҠRECTORY !!!": |:1000"X138:B$B$"=":3 ,X10511:NAME$(X)B$:I 6NAME$(0)(B$,19)U @D$(4)} E12:12:"READING CATALOG ":12:29 Y63075 ^2054:D$"CATALOG" c216,0:D$"PR#0":D$"IN#0": h(NA$(0),1)" "Ģ12:868:"!!! ERROR - UNABLE TO READ DI85:34,22 23:958T "SELECT A FILE BY NUMBER -->";A$:A(A$):AMAX2010_ A1Ĭ} :::T(A)66T$"BRUN " T(A)84T$"EXEC " T(A)65T(A)73T$"RUN " 23:T$A$(A) 23:D$T$A$(A)  NAME$(105),A$(105),T(105) ((NA$(N),8,1))942000! XX1: A$(X)(NA$(N),8,30)T T(X)((NA$(N),2,1))h X21İ30:2000 X21X61X101İ80 X41İ40:2000 $X41X81İ90 .X61İ30:2000 8X81İ40:2000 BX101İ30:2000 L40  MAXX 32,0:23:1::U Z85:23:"IS YOUR PROGRAM LISTED HERE? Y/";::"N";::" ";:A$:w dA$"Y"MAXN1:N105::2000 n23:958:34,1:35,21::35,24: 60:X0 N1105 ((NA$(N),8,1))652000 ((NA$(N),8,1))61N105:2000 8(ST6UVk,ȱk-`),-`G ::63000]Y140:"=";::qX;:5:A$(X):(" "X" ";:6:(A$(X),15):2X" ";:5:(NA$(X),8,15):<1:20:22:20:34,1:2:FP33,21:32,19:1:1:: U33,40:     z ::10:11:"ONE MOMENT PLEASE":(4)"BLOAD DG.OBJ,A$4000":(4)"BLOAD DG.P0-P7,A$1000":(4)"BLOAD DG.LOGO,A$2000"16304,0:16302,0:16300,0:16297,0:(4)"BRUN DG.MOVER"  K@ @ !  @6 9 L ı9LOC","(MEMOFFSET1P)"-#"(MEMOFFSET16P)" ";HPP2:420PP0xLOC(MEMOFFSETP):LOC255P16ıLOC","(MEMOFFSET1P)"->"(MEMOFFSET16P)","(MEMOFFSET17P)" ";PP2:460CFSET240:370# J:::(4)"PR#0"T T23:1:"PRESS A KEY TO RETURN TO MENU";:Z$\ ^80m hSUBROUTINESu rP0 |LOC(MEMOFFSETP):LOC255PMULT16ı LOC","(MEMOFFSET1P)" "; PP2:380 P0LOC(MEMOFFSETP):LOC255P16FSET96:4507 :"DIRECTION SHIFT:";:OFFSET128:370` :"SMOKE IN EYES:";:OFFSET144:370 ":"REMOVES HITS:";:OFFSET160:MULT2:370:MULT1 ,:"STASIS CHAMBER:";::OFFSET208:370 6:"INSCRIPTIONS:";:OFFSET224:370 @:"MONSTERS:";:OF"PRINT THE PAGE?";:Z$:Z$"Y"ĺ:(4)"PR#1"R :"EFFECTS LOCATIONS FOR ";M$(D) 47085,S:768:READ CHOSEN TRACK & SECTOR INTO BUFFER :"SPECIAL:";:OFFSET32:410 :"REMOVES SPELLS:";:OFFSET64:MULT2:370:MULT1 :"PLACE CHANGE:";:OF1 x:"CHOOSE A NUMBER (1-17): ";C:C1C1780= C17Ā[ CALCULATE TRACK & SECTORt T15(C2.5):DC1 C1S11:190 C2S3:190 CC2:160 47083,0:47084,T :10:5::"INSERT BARD'S TALE DUNGEON DISK!":, 15:1:S(5),CATACOMBS(6),CASTLE(7),CASTLE(8),CASTLE(9),TOWER(A),THE TOWER(B),THE TOWER(C),THE TOWER(D),THE TOWER(E),THE TOWER(F) FMENU P:"CHOOSE A LOCATION:": ZA015:A1"."1(A9))M$(A): d"17. END" n16368,0:CLEAR ANY PREVIOUS CHARACTER" BARD'S TALE EFFECTS LOCATORSM$(15):MULT1:MEM38400:LOCATION OF BUFFERzA768775:B:A,B::RWTS ROUTINE(A015:M$(A)::LOCATIONS2 169,183,160,232,32,217,3,96y <CELLARS(0),SEWERS(1),SEWERS(2),SEWERS(3),CATACOMBS(4),CATACOMB      PHANTASIE MAP CAPTUREH16304,0:16297,0:16300,0:16301,0d23:"NAME OF MAP: ";M$((4)"BSAVE"M$",A$2000,L$2000"224::"PRESS A KEY TO REBOOT":Q$:6 PR#6" ROW KEYS.":2"PRESS RETURN TO EDIT A STAT.":_"IF YOU DO NOT WISH TO CHANGE A STAT'S""VALUE JUST PRESS RETURN.":"TYPE CONTROL Q TO QUIT EDITTING."1740:790WAIT FOR RETURN::"PRESS ";::"RETURN"; :" TO THEN"""TYPE CONTROL N."I,:"IF YOU WISH TO UNDELETE OR DELETE A"v6"CHARACTER TYPE THE APPROPRIATE NUMBER"@"AND THEN TYPE CONTROL D."J1740T^EDIT STATS HELPh::3r"IN ORDER TO MOVE THE INVERSE BAR USE THE"; |"AREN"/"PRESS RETURN. IF YOUR CHOICE WAS THE"T"NAME OF A CHARACTER THEN THAT""CHARACTER'S STATS WILL BE CALLED UP AND""YOU WILL BE PUT INTO EDIT MODE.":"IF YOU WISH TO RENAME YOUR CHARACTER,""TYPE THE APPROPRIATE NUMBER AND xUN-NOTICABILITY,0,120532STRENGTH,0,12080LINTELLEGENCE,0,12089`WISDOM,0,12098sSKILL,0,12107STAMINA,0,12116CHARM,0,12125PHYSICAL SPEED,0,12134NAME LIST HELP:3"TYPE THE NUMBER OF YOUR CHOICE AND THMAXIMUM HIT POINTS",2,119653 EXPERIENCE,3,11945FLEVEL,0,11949XGOLD,2,11969l(SILVER,2,119732COPPER,2,11977<GEMS,2,11981FJEWELRY,2,11985PPOTIONS,0,12157ZFOOD,0,10667dWATER,0,10668nTREASURE FINDING,0,10662"ıVA$"Y"1090#`I1NA74jJA(I)01ItP(AN(I)256J)a~AN(I)AN(I)P256JoP(I)J,PvJ}IINA6NAJ201P(I)J,AN(I)JICD,2:77121"CURRENT HIT POINTS",2,11961"GE STAT VALUEA23:"ENTER NEW VALUE (0-";256256A(LN)1;")";N":";NV$^NV$""ė:lNV(NV$)NV0NV(NV)NV256256A(LN)1ė:1010$AN(LN)NV:XNLN::970. SAVE STATS8:"SAVE ABOVE STATISTICS (Y/N)";BA$LA$"N9LNLN1"pA149A138LNLN12zLN1LNNABNALNLN1K970\A141İ1010oA145İ1080:A191A175İ1640840 MOVE EDIT LINEXN1:A$(XN);20)AN(XN);" ":LN1:A$(LN);20)AN(LN):  CHAN1(IO13)0ī1800,I1NA:AN(I)0=JA(I)01]AN(I)AN(I)(P(I)J)256JdJk I:"NAME:";N$(N) I1NA*A$(I);20)AN(I)4I:34,22>LN1:980HA(16384)RA129840\16368,0:XNLN fA136A13): X CHANGE CHAR NAME3 b19:"NEW NAME:";NN$D l(NN$)32ıR vNN$""ıg L(NN$):IL32z NN$NN$" ":I I132 8319I(N1)32,((NN$,I,1)) I T,0:S,1:CD,2:BF,32:774   EDIT CHAR INFOT,N4:CD,1:77 A4İ560, A14N$(N)""İ610:260J A13N$(N)""İ720:200] A49A52340k N0340 NA48:CH$;:440 &DELETE/UNDELETE CHARACTER 0N(N)16Ĺ8207N,0 :N(N)0Ĺ8207N,16 DT,0:S,1:BF,32:CD,2:774 NN(N)(8207N ^"CHOOSE CHARACTER TO EDIT."+ hI141 rI |N(I)16N$(I)""ĝ\ I;"...";N$(I)e I: "5...NEW AR CHAR DISK" "6...EXIT PROGRAM" :"CHOICE:"; CH$:A(CH$) A53160 A54ė:780: A63A47İ1490 N05201800 I112$ A(8191I)128b A((C$,I,1))ĺ:14:"WRONG DISK!":ZZ11500:ZZ:160i It I14 N(I)(8207I):N$(I)"" J132 "A(8319J(I1)32) ,A32N$(I)"":330 6N$(I)N$(I)(A) @J JI T::8:N05:CDIO12:PAIO9:BF768D xN(4),N$(4),A$(NA),A(NA),P(NA),AN(NA)P I1NAe A$(I),A(I),P(I)l Ix ::12 "INSERT ALTERNATE REALITY CHARACTER DISK"; 16368,0:A$ A$"2"ĹIO2,2 T,0:S,1:CD,1:PA,32:774 (IO13)0İ ALTERNATE REALITY0 CHARACTER EDITORH BY MICHAEL HORTONN(p2(13)(4)"BLOAD READ TRACK"<777:CONVERT DOS TO AR DOSF:PIO(769)(770)256ZIO1,(47081):GET RIGHT SLOT #dC$"AR CHAR DISK":NA nTIO4:SIO     CONTINUE."A$&A$(13)1760,DERROR HAS OCCURREDN:11{"AN ERROR HAS OCCURRED WHILE TRYING TO""ACCESS THE DISK DRIVE. PLEASE RESTART."&#$30 BNE.1RTS$BA4ADEC$BA96INC$BA97DEC$BAD6INC$BAD7&RTS0:CONVERT.DUNGEON DLDA#$00 NSTA$00 XLDA#$20 bSTA$01l.1LDY#$00v.2LDA($00),Y EOR#$87STA($00),YINY BNE.2 INC$01 LDA$01 CMPASESPERTRACKJ.HSD8EFTIMEONCOUNTT^DOS.TO.AR.DOShINC$BA29rDEC$BA2A|INC$BA49DEC$BA4AINC$BA96DEC$BA97INC$BAD6DEC$BAD7RTSAR.DOS.TO.DOSDEC$BA29INC$BA2ADEC$BA49INCS00LOWBYTEOFBUFFER%BUFFER.HS20HIGHBYTEOFBUFFER .HS00 .HS00%.HS01COMMAND(01=READ,02=WRITE)$ERROR.HS00WHATERROROCCURRED .HS00.HS60LASTSLOT#USED".HS01LASTDRIVE#USED,6DCT.HS00@.HS01PH<LDY#I.O.BLOCK FJSRRWTS PBCS.1 ZLDA#00dSTAERROR n.1RTSx I.O.BLOCK.HS01TABLETYPE.HS60SLOT#*16.HS01DRIVE#.HS00VOLUME#.HS00TRACK#SECTOR.HS00SECTOR#.DADCTADDRESSOFDCT.HS0 ~.HS0 .HS0READ.TRACK LDA#$0FSTASECTORCLC ADCPAGESTABUFFERREADJSRREAD.SECTORLDAERROR BNE.1DECBUFFERDECSECTOR BPLREAD .1RTS(READ.SECTOR2LDA/I.O.BLOCK*SAVEREADTRACK.S.OR$0300.TFREADTRACKRWTS.EQ$03D9PAGE.HS20$I.O.DAI.O.BLOCK.JMPREAD.TRACK8JMPREAD.SECTORBJMPDOS.TO.AR.DOSLJMPAR.DOS.TO.DOSVJMPCONVERT.DUNGEON `.HS0 j.HS0 t.H      ML!L>LbL{LRmV >ZVR`M Z``^ `)*IJΗֺ׺`)*IJΖֺ׺` I0`菩Ꮹ.⏍㏍ `ᏹ L,9.ɐ .L,Ꮹ.䏭台L菎揭.)`нLH % ""`";:SE1ıW(CM)129Ģ24:27::"??WRITE??"(7)(7)(7);::460:KY141470$BK1,(BLC2):BK,(BL((BLC2)C2)):520. TOP OF MAIN 'COMMAND' LOOP8216,0:ED0:580:600:(772)0İ780B GET COMMANDL270:120:KY140İ1330:OS BLOCK NUMBERT23:1::"BLOCK";::" ";:830:KY15KY(BK)(BK1)C2:1020{A1KY:420:830:KY15KYA1:1020A2KY:420:830:KY15İ900:1020A3KY:420:920(KY0)(KYMB(SL,DR))ĺ(7);:980BLKY:60023:1::"BLOCK1C8A2C9A3:: COMMAND LINE DEC (3 DIGITS)T ENCODE STRING INPUT TO HEX VALUEAB$"000"AB$:AB$(AB$,4):J1:I14:PR(I)0:I:I1(AB$):PR(I)((AB$,J,1))48:PR(I)9PR(I)PR(I)7JJ1::PRC1PR(1)C2PR(2)C3PR(3)PR(4): PRODC NUMBER TOO BIGp,z ASSEMBLE NUMBERnEDCFKYA1C3A2:: 'EDIT' OR COMMAND LINE HEX (2 DIGITS)EDCFKYA1C9A2:: NOT'EDIT', GET DEC NUMBER (2 DIGITS)EDCFKYA1C2A2C3A3:: 'EDIT' OR COMMAND LINE HEX (3 DIGITS)-KYAPROTECTED"-*I12500::772,0:35,24:530O4KEYPRESS DECODE FOR NUMERICSb>460:KY141ıHKYKY176:KY0KY22İ760:830RKY9KYKY7:KY10KY15İ760:830\EDı: EDIT MODE? THEN MUST BE HEXfCFKY9İ760:830: COMMAND LINE DE";::"1";624:6:SL;:15:DR;:22:CFĺ"HEX";:D"DEC";:T RING BELLe(7)(7);: DECODE ERROR, PRINT TO FIELD ER(EF):34,1:35,21::12:12:ER39ĺ"DISK I/O ERROR"ER40ĺ"NO DEVICE CONNECTED"  ER43ĺ"DISK WRITE HPA24:36:" ";(8);(8);(8);(8);:PTOF1ĺ" ";:680K"-";{(PTOF)C6ĺ"1";:TM,(PTOF)C2:HP:700"0";:TM,(PTOF):HP23:21:" ";::HF1ĺ"HEX";::"^ ";HF2HBĺ"ASC/MSB=";::"0"; HF2HBĺ"ASC/MSB=X23:7:CFĺBL" ";:37:PT" ";:24:36:PTOF1ĺ" ";(8);(8);(8);(8);PTOF;:700bCFĺ" ";(8);(8);(8);(8);PTOF;:700lq(BLC2);:TM,BL((BLC2)C2):HP:640v37:PTC6ĺ"1";:TM,PTC2:HP:660"0";:TM,PT: PRINT STATUS LINE LABELS`&23:1:958::"BLOCK";:BFĖ12::">";::"BUF";::"FER";:0BFĖ13::"BUF";::"FER";::"<";::33:"PTR":"SLOT";:9:"DRIVE";:18:"I/O";D24:27::"COMMAND";::" ";:N PRINT STATUS LINE VALUES]R 120:KY155ıP BL(BK1)C2(BK):1920:550:600:530:CM,RD:1080a SE1ĥ2100l :480  POKE VALUE INTO BUFFER, PRINT TO FIELD BSPT,KY:270:" ";:TM,KY:DP:200  ACCESS DISK, PRINT BUFFER FIELD PD PB:250420/ 830:KY15ĺ(7);:390: 2ND HEX DIGITb A2KY:420:900:500: CONVERT DIGITS TO TOTAL  PRINT DEC/HEX DIGIT FROM LOOKUP TABLE (HE$,KY1,1);:  CALC A1 MOD A2 NU((A1)((A1A2))(A2).05)(A1A2):  INPUT ASCII CHAKY(VT13)1:550:250, 6 PRINT "------"B @I140:"-";::Z J PROCESS EDIT DATA T:270:"> "(8)(8);:HF1370: HEX DATA ?? ^460:HBKYKYC7: GET ASCII CHAR, SET BIT 7 h500 r830:KY15ĺ(7);:370: 1ST HEX DIGIT |A1KY:230 250$ VTVT1:VT19VT09 VT19HT9HT9a 270::">"::PTVT13HT1BFC2:|  CALC CURSOR POSITION HT1HT13:VTVT1:VT0VT19:HT9 (HT1)31:VT2: " PRINT CURSOR POSITION ,KY(KY):270:" ";:VT(KY13):HT n WAIT FOR KEY* xKY(KB):KYC71206 KS,0:Q MOVE CURSOR IN FIELD 270:" ":KYKY8:KY160,180,200,1080,230 VTVT1:VT0VT19:240 250 HTHT1:HT0HT13:160 250 HTHT1:HT13HT1:230 VT19HT9HT1:S! ** PROEDIT+* PRODOS BLOCK9(* EDITORP2* BY BOB BERSTROM`<* (C) 1985zF* SOFTKEY PUBLISHINGP*R* FIND BYTE PATTERN ON DISKU* MODIFICATIONZ* BY RENE GAUDET, 1/88_*ad::35000:1940:550:1080           3456789ABCDEF":1860:530;& SEARCH FOR HEX BYTE PATTERN_&24:27::(7)">>FIND<<";:ED1&SE1:22:1::"START"::980:B1BL&22:1::"END "::980:B2BL&22:1:" "&34,0:35,21::"ENTER SEARCH PATTERN (16 BYTES MAX)"' 35B36838:RS36840:S136848q%S936608:I17:J12:MB(I,J)279:J:I:MB(5,1)1599: SET DEFAULTS FOR MAX BLOCKS%C14096:C2256:C316:C5511:C6255:C7128:C8100:C910:D$(4):I$(9)&SL6:DR1:HB0:HX1:HF1:HT1:VT0:BL0:BF0:CC0:CF0:HE$"0124)"BLOAD OBJ.PROED.FIND,A$8F00"C$MB(7,2): MAX BLOCK PER DEVICE$FM768:TM771:EF772:CT773:PD774:CM783:UT795:BK798:HP800:DP806:PB826:BU855$ID63696:LE47:PC58:RD128:WR129:BS36864:KB16384:KS16368%NB36832:SB36834:EB36836:FPLESOFT":4:"Z - ZERO RELATIVE BYTE COUNTER":"CTRL L/N - LAST/ NEXT SECTOR"|#v24:8:"PRESS ANY KEY TO CONTINUE ";:460#34,0::320:22:320:# POKE ML I/O, INIT VARIABLES, SET CONSTANTS#(774)32ĺ(4)"BLOAD OBJ.PROEDIT,A$300"$( OUTPUT SCREEN TO PRINTER""b4:"P - POSTION CURSOR IN FIELD":4:"R - SET BLOCK THEN READ (RETURN USES DISPLAYED VALUES)":4:"S - SET SLOT":4:"U - UPDATE COMMAND LINE DEC/HEX"M#l4:"W - WRITE BLOCK TO DISK":4:"X - EXIT TO APLE ACTIVE BUFFER HALF"n!N4:"C - TOGGLE CONTROL CHAR PRINT":4:"D - SET DRIVE":4:"E - EDIT (ESC TO END)"!S4:"F - FIND BYTE PATTERN""X4:"H - TOGGLE ASCII EDIT HI-BIT":4:"I,J,K,M - MOVE CURSOR IN FIELD":4:"L - DISASSEMBLE BUFFER":4:"O -NT LOOP END - IF YOU'RE HERE KEY WAS PRESSEDh KY(KB):KS,0:KY160KY1411740: SPACE OR RETURN? &120:KY1411740 01920:550:PB:250 : PRINT HELP TABLE!D:::8:"COMMAND TABLE:"::4:"A - TOGGLE ASCII/HEX DISPLAY":4:"B - TOGGC2):ID0A1(BSPR):A232:440:NUC31790X27:"(";:NU(BSPR1):NUC71780pNU254;") ";:1790"+";NU2;") ";PR(LE)PR1:PRC5ĺ:D$;"PR#0"::" PLEASE PRESS ";AB$:1920:550:PB:250(KB)C71740,  PRI2)(AS64))((AS31)AS));:::;I15:::D$"PR#0":T DISASSEMBLE BUFFER::"STARTING BYTE ($0 TO $1FE HEX): ";AB$:(AB$)0PR0:1740950:PR0PR5101710 PRINT LOOP STARTS HEREA1BSPR:A2C2:440:PC,NU:PC1,((BSPR)::T OUTPUT TO PRINTERS^23:1:" VERIFY PRINTER ON & PRESS ";\h120r1:1840:600:250:1::KY141ı| SET UP FOR PARALLEL PRINTER CARDD$;"PR#1":I$;"80N" V124:V:X(40)(41)256:HXX39:AS(H):(((AS37CM,WR:24:27::">WRITE<"(7);::980:CM,RD:550Z TOGGLE DISPLAYED BUFFER HALFBFBF:PTVT13HT1BFC2:BU,144BF:530:550 TOGGLE ASCII HI-BIT (EDIT MODE)"HBHB:, ZERO POINTER OFFSET6OFPT:@ EXIT TO BASICJ300  READ A BLOCK FROM DISKO24:27::">READ<";::(7)" ";:980:550e SET ACTIVE SLOT24:27::"SET SLOT";:1::"SLOT"(7);::6:" ";:830:KY15ī550KY1KY71490SLKY:UT,(DR1)C7SLC3:550 WRITE BLOCK TO DISK:"SET-PTR";:23:33::"PTR"(7);::" "(8)(8)(8);:830:KY15İ550:250vxA1KY:420:830:KY15KYA1:300A2KY:420:830:KY15İ900:300A3KY:420:920:BFĭKYC6İ760:1390BFĭKYC2KYC5İ760:1390KYC6KYKYC2 TOGGLE COM'D LINE HEX/DEC* CFCF:= HELP SCREEN]W1860:550:530:1080h( LAST BLOCK2BLBL1:BL01060<BLMB(SL,DR):1060F NEXT BLOCKPBLBL1:BLMB(SL,DR)1060ZBL0:1060d SET POINTER IN BUFFERPn24:27:X1180HF2:FM,HF:5300HF1:FM,HF:530L TOGGLE CTL-CHAR PRINTiHF2CCCC:CT,CC:530o TOGGLE ACTIVE DRIVERDR((DR1))1UT,(DR1)C7SLC3:550 EDIT24:27::(7)">>EDIT<<";:ED1340:600:12701080VKY142İ1360:10807`KYKY192:KY11310jKY0KY27ĴKY1160,1550,1200,1230,1260,2000,760,1570,150,150,150,1710,150,760,1630,1390,760,1470,1490,760,1290,760,1530,1610,760,1590t1080~ TOGGLE ASCII/HEX FIELD DISPLAYHXHX:HB)C21-)VT(PT13):HTPT((PT13)13)1F)BU,144BF:530:550R):2290:22901C21)VT(PT13):HTPT((PT13)13)1)BU,144BF:530:550):2290BL0:BF0:PT0:VT0:HT1:BU,144BF(550:1060:2290)BL(BK1)C2RD:S9((RS)02230"(1920S(10:10:"BYTE PATTERN NOT FOUND":1910:600{(BL0:BF0:PT0:VT0:HT1:BU,144BF(550:1060:2290(BL(BK1)C2(BK)(BF(FB1):PT(FB)((PT1)(NB)PTPT(NB)1:2270)BF1BF0:PTPT(N,24:HT1:VT0:OBSBS:BSS1:PT0-'OF0:BF0>' PT162100R'*340:600:2080n'4ED0:SE0:BSOBS:1080'>(PT1)(B10)(B2B1)2190'HNB,PT'RSB1,(B1C2)'\SB,(B1((B1C2)C2))'fEB1,(B2C2)'pEB,(B2((B2C2)C2))(zCM,CMPBLEND;COMPARETOLOWORDEROFENDINGBLOCK2LDABLKNUM+1;HIGHORDERBYTEOFBLOCKNUMBER7 SBCBLEND+1;COMPARETOHIGHORDEROFENDINGBLOCK*BCSENDBLK;REACHEDLASTPRODOSBLOCK3 INCBLKNUM;INCREMENTLOWBYTEOFBLOCKNUMBER*BNETVALUESEARCHINGFORBACKINACCUM"JMPLOOP2;GOCHECKNEXTCHAR BUFDON3STYMATCHB;SAVEINDEXOFBYTESMATCHEDSOFAR7LDA/PROBUF;RESETSTARTINGPOINTINPRODOSBUFFERSTALOOP2+23LDABLKNUM;GETLOWORDERBYTEOFBLOCKNUMBER4CKNEXTBYTE,LDALOOP2+2;GETVALUEOFPRODOSBUFFER<CMP/PROBUF;COMPARETOSTARTINGPOINTOFPRODOSBUFFER5BNEBUFDON;GONETHROUGHTHEENTIREPRODOSBLOCK2ORA#$01;SETTOSECONDHALFOFPRODOSBUFFERSTALOOP2+28LDASEARCH,Y;PUEROFBYTESMATCHED:DCPYNMBYTE;COMPAREWITH#OFBYTESSEARCHINGAGAINST1NBEQFOUNDS;FOUNDTHEBYTEPATTERNREQUESTED:XLDASEARCH,Y;NOTDONEYET,SOGETNEXTBYTETOCHECKb*0lNEXTBYINX;GOTONEXTBYTEINPRODOSBUFFERvBNELOOP2;CHEEQNEXTBY;CHECKINGFIRSTBYTEOFSEARCHARRY,CONTINUE;LDY#$00;SETMATCHINDEXTOBEGINNINGOFSEARCHARRAY3&LDASEARCH,Y;PLACESEARCHARRAYBYTEINACCUM>0JMPLOOP2;GOCHECKBYTEAGAIN,AGAINSTFIRSTBYTETHOUGH0:MATCH1INY;BUMPTHENUMBYINGTOMATCH4LDX#$00;CLEARINDEXREG,SOWECANMARCHTHRU*>LOOP2CMPPROBUF,X;SEEIFCURRENTBYTEISONELOOKINGFOR>BEQMATCH1;BYTEINPRODOSBUFFERISONEWERELOOKINGFOR8CPY#$00;SEEIFWEWE'RECHECKINGAGAINST1STBYTE=BER|STABLKNUMLDABLSTRT+1STABLKNUM+1*4LOOP1JSRSYSCAL;MAKECALLTOREADPRODOSBLOCKLDAEFLAG;CHECKFORERRORBEQREADOKRTS8READOKLDYMATCHB;GETINDEXOFBYTESMATCHEDSOFAR3LDASEARCH,Y;GETCURRENTBYTETRLDA#$FF;PLACENON-ZEROVALUEINRESULT@STARESULT1JLDA#$00;SETOTHERVARIABLESTOKNOWNVALUE.TSTAMATCHB;CLEARNUMBEROFBYTESMATCHED^LDA/PROBUF3hSTALOOP2+2;SETTOBEGINNINGOFPRODOSBUFFER)rLDABLSTRT;SETCURRENTBLOCKNUMB3EFLAG.EQ$0304;RETURNRESULTFROMPRODOSREAD1UNITNM.EQ$031B;DRIVEANDSLOTTOREADFROM/BLKNUM.EQ$031E;CURRENTBLOCKNUMBERREAD,PROBUF.EQ$9000;PRODOSBUFFERLOCATION*** -*PROGRAMSTARTSHERE"* -,*26STARTNTBLOCKNUMBER>ENDINGBLOCKNUMBERFn*WENTTHROUGHALLBLOCKS,PATTERNNOTFOUND,RETURNTOBASICPROGx** -PROGAT.EQ$8F00.ORPROGAT.TA$0800.TFOBJ.PROED.FIND**5SYSCAL.EQ$0306;ENTRYTOCALLPRODOSREADBLOCKBYTEPATTERNFOUND,SETINFOFORBASICPROG 2*ELSE/<*LOADACCUMWITHNEXTBYTEINSEARCHARRAY#F*BUMPINDEXINTOPRODOSBUFFERHP*UNTILINDEXINTOPRODOSBUFFER>NUMBEROFBYTESINAPRODOSBLOCKZ*BUMPCURRENTBLOCKNUMBER6d*UNTILCURREMATCHED]THEN$*IF#OFBYTESMATCHED>0THEN;*LOADACCUMWITHFIRSTBYTEOFSEARCHARRAY,TRYAGAIN(*ELSEBUMPINDEXINTOPRODOSBUFFER *ELSE$*BUMP#OFBYTESMATCHEDSOFAR9*IF#OFBYTESMATCHEDSOFAR=NUMBERTOMATCHTHEN1(*REPEAT'*CALLPRODOSTOREADCURRENTBLOCK4*IFPRODOSERRORTHENRETURNBACKTOBASICPROG:*LOADACCUMWITHBYTETOBEMATCHEDFROMSEARCHARRAY%*SETPRODOSBUFFERINDEXTOZERO *REPEAT@*IFPRODOSBUFFER[INDEX]<>SEARCH[#OFBYTES-`*j*LOGICWALKTHROUGH:t*B~*BASICPROGINITSNUMBEROFBYTESINPATTERN,STARTINGBLOCK,5*ENDINGBLOCK,ANDTHEBYTESINTHESEARCHARRAY8*SETRESULTTONOTFOUND,CLEAR#OFBYTESMATCHED,)*SETCURRENTBLOCKTOSTARTINGBLOCK *t* -*MACHINELANGUAGE$*ROUTINETOFINDABYTEPATTERN *ONDISKFROMTHE'PROEDIT'$*PROGRAMPUBLISHEDINCOMPUTIST*ISSUE#26.$*.*FINDBYTEPATTERNONDISK8*BYRENEGAUDET.$B*FINDFEATUREIMPLEMENTED1/88.L*V*         BYTEPATTERNFOUND,NOT0=NOTFOUNDBSEARCH.EQPROGAT+$F0;BEGININGOFSEARCHARRAY,16BYTESLONG*  .ENDQPROGAT+$E4;BLOCKTOSTOPSEARCHATHBYTFND.EQPROGAT+$E6;INDEXATWHICHLASTBYTEINPATTERNWASFOUNDBRESULT.EQPROGAT+$E8;0=MATCHB.EQPROGAT+$E1;NUMBEROFBYTESMATCHEDSOFAR3BLSTRT.EQPROGAT+$E2;BLOCKTOSTARTSEARCHAT1BLEND.EQPROGAT+$E4;BLOCKTOSTOPSEARCHATHBYTFND.EQPROGAT+$E6;INDEXATWHICHLASTBYTEINPATTERNWASFOUNDBRESULT.EQPROGAT+$E8;0=5zLDALOOP2+2;GETHIGHORDERBYTEOFPRODOSBLOCK=AND#$01;MASKTOGETFIRSTHALFORSECONDHALFOFBLOCK<STABYTFND+1;STOREASHIGHORDERBYTEOFBYTEFOUNDAT ENDBLKRTS*:NMBYTE.EQPROGAT+$E0;NUMBEROFBYTESINSEARCHARRAY9NOINC164INCBLKNUM+1;INCREMENTHIGHBYTEOFBLOCKNUMBER >NOINC1/HJMPLOOP1;NOTDONEYET,SEARCHNEXTBLOCK RFOUNDS-\LDA#$00;SIGNALSTHATPATTERNWASFOUNDfSTARESULTCpSTXBYTFND;SAVEINDEXINTOPRODOSBFROFLASTBYTEINPATTERN ` ` :``L0 ` `% "$   L ɠL~ нLH % ""`!ESTIMATION CONTROLLERDTK6:LT14:ST15:LS15:CDWR:FAST1R47426,24g490::170:610490:230:610:(TRK)LT1060TK(TRK):ST(SCT):1030$:"COPY DONE":.255,255,255,2555"