' +JJJJ ?\>m0M='+l> /+l   d]@ŵLҦ]]LF L}BBL]$$8HIL,նh, ,`, ,`, , ,:/8` 鷎귭෍ᷩ췩緈JJJJx Lȿ L8ᷭ緍췩 緍i 8 `巬 췌`x (`(8`I`B` ``>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,&"ųųೳŪŪųųij  !"#$%&'()*+,-./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#0"):$(%"%:$(%"%$$2%4%$$2%4%$(2()!)E(!8b $!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`   LDcpq` [` ~  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õ`  \ 濭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-( `Š͠٠@跻~!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䵍䵩m嵍`"L ŵ8ŵH ~(` d ֠z# u`РŠٍҩٍРύѠȍРѠȍР΍ŠȮŮȮŮٍҩٍѠĮōРƠŠΠРϠĠƠŠŠٍҩٍѠĮōѠӍƍ̠ƠΠӍ͠РͮàΠϠÍԍ٠٠ŠϠ͠ŠϠӍҩٍԮԬٍٍ̠ԮԫԠĠƠͿŠԍƍЮԫΠ٠ŠŠōԮԫŠǠ͠ŠͮȮōԮԍҍԮԫҫؠҠҠӠŠΠΠōҫϠԠŠŠҠҫӠĠԮЮԠԮԠԮԠӠŠ΍Ѡ͍ŠӠ΢ŮȍР̠ӠԠҠčŠĮҍԮȍؠҠҠҠϠҍŮȍҫӍĮҍРƍӠ٠΍ԠŭٍҠԱٍŠԍҠѠƵԱѠưԮŮȠҫĮҫҫĮҫŮȍҫΠѠĹΠѠĹԠѠIJҠѠùҠӍԠѠĸō°ΠѠô̠ѠŠѠԠӠčԠѠ·ͮàѠĴΠѠЮԠѠԮԠѠΠѠĹĠ٠ϠҍӠǠčϠѠ ѠĠĠȠΠ̢ҮϠŠӍҠѠ¸¹ҠѠ¬ÍұӠӠĸčӠŠĠĮӠčԠŠ̠ͧξӠŠҠΠ΍ԠͮӠōαҠčƠŠč٠ҠӬٍɠԍРԮŮȍԠҠԱ٠Šҍ          ҠŠˍӠčĠӠɢӠӠƵµñӠƵ°ƸԠӠŠΠӠˍԍРԮӲЍԫԍРвӲӍİӮҫŠԮӲӍÍӠΠϠҍԮӍԫŠŠԠӠΠϠҍàӮҫӮҫͮčРƠ̠ſѠР·Š͠ĿŠԮàȠΠҍвàҍ̠ƠԠҠԍҍàˠ̠àנԠŠŠ̠ōԮӲҠ įŠҍàвϠҠϠōԠΠӍԍԫӠΠϠɭҠҠӮӠȍ٠ԠƠ̠ŮϮӍҍӮҫΠΠϠÍƠנ ōǍӠΠϠÍԮҍҍҠϮӠŠŠӠϠŠˍˍԮˍҍԮҍӠӠŠРƠӍōԠŠŠččԮˍˍҍҠϮӠĠΠŠӍҍŮҍˍŮˍӠΠϠÍĠРƠӮčԠĠϠččŮˍˍŮҍƍͮīðΠƠŠ͠čӠΠϠҍРˠҠҠŠŠǠƠͩŠЍÍàЍààЫРױٍ٠֍٠ԠĠƠοàōà֍à֍ŲӍōЫԠԠōڮӍ٠ӠҠŠǠàϠ׍Р׍Ҡ٠٠ΠŠΠҍ٠ȍ٠֠ŠΠύٍٍ٠Ѡҍ٠ȍÍؠРŠԠŠΠҍà΍ŠàȠ٠ΠŠō٠ȍàԠҠſϠϠōѠؠſԠҍؠؠЍàڲѠō٠ȍΰ٠ȠԠ̠΍ԠƬؠԠҍԩٍàŠԠԠŠΠ΍٠ōؠſؠؠРԠРҠҍҠ׬٠Ԡ̠ΠϠԠҍԍÍǬٍàӮŠԠӠŠϠנύԫȬ٠ԠȠŠ΍ԫؠؠЍΠؠ֠Ġ̠ΠΠӠ΍٠̬؍٠ōō̠ӍЩ٠Š΍ĠƠҠȠōٍ̱٠ҍ׬٠ĠŠҠӍԫō̠ӍؠЫˠӠũؠԠō̠ӍؠשŠȍРŠōƠԠҍŠ̱ӍŠ٠ڮӍ٠ˠҠڠōԠؠ֍ױؠڮӮǍؠڮӍנؠԠˠӍؠڲ֠ˠҠҍРŠōҠƠ٠ЍԠҠˠРȠԍŮРؠŠ΍ؠȍōڮӠѠӮŠѠŶ̠Ѡ̠ŠԍנѠŲȠѠƲנѠǠѠòٍҠѠҠŠŠΠĠҠˠөРѠРѠΠƠԠƠРϠԍڮӮǠѠ̠ڠӍŠѠҠϠԠƠԠΠŠԠѠĴΠϠŠҠΠӠΠàĴĠĵ֠ѠҠ̠΍ȠѠҠ̠΍ڲѠӠ͠Ѡ͠ƠԠ׍֮ǠѠŠŠǮĠҠȠĠō Ѡ°ŠѠij̠б ӮĠ֠ӠĠΠŠ͍ӠҠҠŮР٠        čðؠƠˠҠ͠čӬؠŠŠϠŠ͠čư؍Рư؍Š؍̠ԮˍƠԠŠҍԮҍŮҍ·נϠ͠ĠΠōͮīðΠΠŠ͠ӮҠӮҫǠԠǍŠԠŠŠҍԠӠϠԠԠŮˠԠŠӍŰӍŠŠӍԍԠŠӍЍԠðΠΠҠӍԠҠˍЍӠϠҠϠŠҠŠԍҠԠҠƍ؍ԠðΠΠŠ͠čԠð²ҠŠҠǍҍ®ō٠®ōҠӍдҠ֍ؠčĬؠԠҠϠԍҠԍˍҠ؍ҠԍҍҠŠ ԠΠΠӍȍҮōӮҠӠԮĠӠĠӠҠӠԮŠӠԮԠӠԮŠӠŮҮōӠĸЮР²®ōӠԠӠŠӠŠӠˠӠҠӠԠŮíЮԍРԍЮčРčЮōРōЮԮӍРԮӍЮЍРЍ͸ŠŠ΍ؠѠԠ͠Ӡؠԍ٠ѠİàӠҍ֠ѠµРōҠѠԮˠѠԮҠѠҠѠӠѠ·µԠŠӍԠѠĠԠҍԠѠĠҠƠٮύǠѠǠҠ ō Ѡ Ӎ Ѡ ӍȠѠŮˠѠŮϱӠŠ̠٠ˍǠŠ͠ĠƠԠӍŮȠ͠č٠ΠŠŠΠӍ        Į͍ӠϠԠōҫҍàԠРנǠҠԠōӠΠϠҍҩ٠ˠϠŠŠŠϠ̠ӠčРōѠРŮԍӠԠŠԠ̠ϠԍԠ٠ëРҩٍŠ٠ëŠ٭ǍРŠȠ΍ҠحǠϠ٭ǍٍӠΠϠҍԠҠҠҠƠӍѠĠƠϠΠŠŠōàԫŬŠŠȠŠƠԍŠРĠϠҠŠȠөĠР٠Ԡԍбԩ٠Šō٠ԠԠōѠԠſƠϠŠԠōРбŠԠōԠؠҠԠԠΠϠԍԫŮŠԠŠŠōؠҠҠҠƠӠϠҫϠŠŠŠԠŠҠٍƠҮʍŮŠѠŠҠϠŠ͠ϠƍԠѠàŠΠϠŠӠŠӠٍ͠ϠƠȠōҠԠҠ     ؍ҩ٠Š̍РŮԠƠ̠ӠҠӠĠŠ̠Ӡҍà٠ëؠëҠحǠϠ٭ǍĠР̮ԠӠԠ̠̿à٠Ԡ٭ǠϠԠϠŠĠ̠̍ؠԮԠŠŠԠϠŠϯ¯ΠōٍѠҫϠԠōҍРӍٍҩ٠ԠԠҠΠōѳŠÍӍ٠РţٍٍҩٍРͮԠӠԠ͠Š̩ҍ«ҫ٠ҩ٠ԠԠϠԠōٍҩٍѠخҍР̮ԠӠԠ̠ſàϠϠō٠ˠРō٠Ԯԍ ԠǠƠŠ͍ȍ٠ΠҠ̠ōٍҩٍѠخҠԠ̠ȠϠŠΠҍРŠĠŠſĮōŠˍӠĠԍȠҠŠŠĮԠΠΠŠōѠĮōРӠԠѠŠȠΠčخҍРҠŠԧӠؠҍРȠŠĠԿŠѠҠԠԠԠҍѠĮōРŠĠƠſŠҠԠŠϠԠԠҍѠĮŠƠĠΠԍРŠӠԠŠǩѠŠŠŠҠōҠԠԠԠҍѠĮōРԫӠĠٍԠčР®ԠӠԠ čѠŠϠԠŠϠ΍ҠҠРҠҠϠŠؠҍàëԠΠЍŠ٠ҩ٠ӠԠſРōѠҠԠԠϠŠҠŠ̮ŠĠōР®ԠӠԠѠРϮԠӠԠύѠɠȴàҲŠȳàұұРŠȲàαŠȱӍҲȳұȴÍàȬٍÍàٍÍàРұàұРŠ̱ɠàŠҠɭӠŠҍα٠ȱұȲ̲ұ̳ؠ̴ٍٍ̬؍Š̴Íàà̳àҲŠ̲ ΠٍҍӍŠϠŠŠĠŠŠƍɭӠűŠӍϠٍұ̱Ҡ̍à²Ŭ؍αα²؍̠±α̍Р̠͠ƠԬРԠ׍ӍӠؠР̠ӠԠؠαӺ̍РŠ ҩΠٍؠ±ĠƠƠ׿ŠдƠԬРԠҍҠР٠ЍàβԠԮŠҍβРðŠȠοŠΠàԍٍԠ̠ōҠӠРӠӍұ٠ŠĠōàԠàڮҍ٠ԍ٠٠ԠŠ͠Ӡ΍ҠӠРӠӍ٠ԠԠǠڮ΍ұ٠ŠĠōàŠĠŠŠ͍ÍұٍŠԠō٠ԠŠԠΠƠԠōàӠ̠΍ÍàԍٍβΠؠβԠԮŠҍȬؠԠōұ̬ؠԠōұ٠ԠȠԠԠŠΠōдРԠϠԠׯٍ̠ԠРРԠōؠгŬ؍̍؍̠гԠԠԮŠōҠР٠ЍàԠàԠŠҍԍРĠРƠƠοŠРƠԬРԠҠƠӍӍŠŠԠ׍ұٍҲٍōұٍٍ٠ŠȠ׿ŠвƠԬŠԠ٠؍ȬؠԠŠƠԠ׍Ҳ̬ؠԠŠƠԠ׍Ҳ٠ŠǠנōвҲ٠ԠנǠ׍ŠҍȬؠԠŠƠǠ׍ұ̬ؠԠŠƠǠ׍ұƠàԠנҍÍàԍŠȠοŠбƠԬϠԠ΍ӍРРϠ͠ׯٍ ԠȠԮŠԍРؠԠԠԮР٠ЍÍ̠ԠŠҠƠĠӍ̠ԍӠеҠԍŠве٠àΠҍ٠ŠԠנجٍ̠ҠԠРŠӍұ٠ŠōؠàנҍؠðŠȠοŠгƠԬϠԠ׍Ҡ٠ŠԠԍԍвؠԠȠР׍гȬؠԠōұ̬ؠԠōұұ٠ԠԠàנҍؠðŠȠοŠбƠԬϠԠ׍ӍŠԠϠԠׯٍ̠٠ԠȠΠбҠƠР̠ӠԠұ٠ŠĠōٍ٠ŠȠ׿ŠвƠԬϠԠōҠР٠Ѝؠ ؠԠȠР׍бȬؠԠōұ̬ؠԠōұ٠вұ٠ĠŠΠנجٍ̠ӿàұƠӬàŠƠҍұРŠȠſŠРƠԬŠҠƠӍӍŠРϠ͠ׯٍұ٠ԠȠٽРұ٠ĠōҠƠР̠ӠԠұ٠ŠĠōٍŠРŠȠƠ L,0: LLEȱ"Л20L ŠĠĮŠ̠ͧξ  `L :L禸膛gvhwvwvw hhL<ԠȱS" ȱJ"ȱɫɰȱ"T ٠ȱɫRɰNћ:,xy $ 1400::140 216,0:8,69,66,77,72,70,80,82,65,87,47,71,74,86,75,35,32,88,95,97,98,99,100,101,102,103 104,105,106,107,108,109,110,111,112,64,114,115,116,117,118,119,120,121,122,93,91,33,56,90,84 ** FILE NOT FOUND? ** (222)6ĺ(7);"FILE NOT FOUND";:PA** (4)"BLOAD"NA$",A4096"7 ** PRINT MAP **h 1: PUT YOUR PRINTER CONTROL CHARATERS HERE| Y063:X063 CH(4096(64Y)X)4:CH$(CH);:X::Y::0:110 ** DATA FOR MAP **P 126,58,46,42,94,37,43,73,67,85,62,48,79,6CH:CH$(D)(CH)::2500 d ** CATALOG? **n n:"CATALOG ? (Y/N)";:9:A$:A$"N"A$"Y"110 x:A$::A$"Y"ĺ(4)"CATALOG" ** GET FILE NAME ** :::"FILE TO LOAD =>";NA$:NA$""(NA$,1)" "140 ** LOAD FILE?  ************************=* *[* ULTIMAP *y(* BY *2* DAVE THOMPSON *<* *F************************P  Z16385:CH$(63):D063:   ŠȠοŠбƠԬԠԠ΍ӍŠԍŠŠƠҍұŠƠҠҽƠԬϠԠōҠР٠ЍÍ̠ԠàҠƠӠϠנ΍àвԠ΍٠ƽΠàΠҍ٠Ҳ٠ԠŠԠנج̠٠ŲĠԠԠƠԠƠōұ٠ԠΠűؠàנҍؠðŠȠοŠгŠгȬؠԠŠűұÍàԠŠŲҲ̬ؠԠōұҲƠԬŠԠōӍŠԠϠԠׯٍ̠٠ԠȠڮΠбԠԍвؠԠȠԮҲٍұٍٍ٠ŠвҠР٠ЍؠŠŠҍؠðŠȠοŠҲȬؠԠŠƠŠűұÍàԠŠƠŠŲҲ٠ŠŠŠөвжŠРƠԬϠŠҠƠӍӍŠРϠ͠ׯٍ ؠԠȠРōб̬ؠԠōұŲұ٠ŠΠűٍŠвŠƠӍàұàŠƠұҲàҲұРŠȠſűҍҲŠƠŲҍұŠƠűҍҲŠƠŲҍР٠вҲ٠Ġ͠РҠϠŠŠɭӠӍӍ٠ЍРٍҠԍӍŠԍӠұŠƵԠѠƍŠѠϠŠĠ٠РҠϠ̩ȠѠŠƠɭӠӍ̠ѠȫðŠƠɭӠӍԠѠԠРɭӠŠӠōԠҠƠӍұѠŠҍҲѠŠҍαѠà̠ōβѠĠ̠ō٠ѠōɭӠӠٺŠΠ                            ҠϲˠҠŠōРԠŠנԍΠϬ Ҡ̮΍ҍΫȠԠŠϠŠˍ΍®ԠŠŠĠϠŠˍҠԠԠϠŠō²Ҡ͍ҫȠŠҠϠŠˍРύҠԠԠϠŠōϲҠȠĠōРϲӠŠӠō ̠ĮРƠŠӠĠōӠϬ Ġ΍ϯӠϠ̠ҠōҬĠՠŠٮРϮ̠Ϡ̠čϮ̮čŠĠ΍РϮԠӠԠϿѠύР ƠԠϬΠԠԠŠĮҍŠ΍٠ˠҠŠҠŠԍҩٍРōѠϮ̮čŠˍĮ̍РήԠӠԠŠήԍѠ΍РϮԠŠŠԠӠϠҠѠР®ԍŠĮҍԠƠԠ͠ҍĮͫ«ҠȠҠĠӬԠϠŠӍРԠҠԍĮҫàРčҍĮ̍ҫĮ̍ҫĮͫԠԭŮčҠҠĠčĮҍҫĮҫҫϠ̠ήčŠѠŶƸŠŠԠѠĴàҠԍҠѠƵĠҍѠĹŠ̠ϠčϮ̠ѠĸӠĠΠǠٍԠѠķIJŠנԍ͠ѠijĶˠϠŠƠŠΠϠҠԠѠĹƸ٠ԠϠijԠѠ±ԠԠҠΠŠōϲѠĹŠΠԍҠѠùؠҍΠѠĹȠѠĶ ҠӬԠϠŠӍϮРήĠѠëΠѠŠŠҠŠŠ΍ӠĠ٠ԮŠϠӮҠѠàѠĠĠӠ٠ōԮԠѠë ѠҠѠѠ²ҮԠѠƍ̠ѠΠ̮ԠѠĠϠΠ̠ӍŮԠѠōѠàҠƠϠ̱ϮԠѠ Ϡč®ԠѠ° čήԠѠ´ŠΠčŠѠͮԠűӠŠĠӍҠϬ Ġ΍ԠӮ                   àРɠȴàҲŠȳàұұРŠȲàαŠȱӍұȲҲȳұȴÍàȬٍÍàٍÍàұРŠ̱ŠϠŠӠƍɭӠŠӠűα٠ȱ̲ұ̳ؠ̴ٍٍ̬؍Š̴Íàà̳àҲŠ̲ұŠРƠԬϠԠōӍŠϠŠӠƍɭӠŠӠűϠٍұ̱Ҳðе٠ŠЍٲٍ̠ԠҠԠōұٍؠàԠŠҍؠðĠȠӿԠҠԠŠΠōŠԠΠˍٳ٠Š٠ҠōРұ٠ϠŠԠҠϠŠԍ٠ٍұٍٱٍٲٍڠؠԠȠԠŠРȬؠԠŠƠԠōұ̬ؠԠŠƠԠōұж٠ұ٠ԠӍٱٲٳøŠҠ٧ٍٲƍе̠ǠōеŠҠ٧ٍٲҠڍӍԠ̠ԍжŠҠ٧ؠŠЍӍԠ̠ԍжøŠҠ٧ٱٲٳҲٲͲà¹؍٠вұٍҲٍٍ٠Šв؍д̬؍ұٲÍIJà¹؍Ȭ؍ÍàҲ̬؍٠Šв؍гؠðŠбӍРؠŠРҠ͠ӍРȬؠϠŲұұÍàҲ̬؍ұҲ٠вҲٍұٍٍԠԠōؠؠàԠŠҍбؠ¹ŠȠοŠΠƠԬϠŠԠōвؠ¹̠РҠ͠ӍбȬؠ͠Ų±à؍٠гҲ٠Ġ̠͠ōұ٠ŠΠΠōٍ٠ŠȠſŠгƠԬC1717..HSF503FB0359FF86FA/8LAST.BS2THERETURNADDRESSFORTHESTACKC CONT.RWTS!f LDALAST+1RESTORETHESTACKp PHA z LDALAST PHA JMPCONT.RWTS2  SKIP LDALAST+1 PHA LDALAST PHA JMPSKIP2  * - *CONTANTSUSED * -CMD.AS"SRWI"$VALUES.HS837F5CCCB5F2 INCDOS.BUFFER+1 LDADOS.BUFFER+1 RAM.CARD CMP#$FFALLDONE? BEQ.1 CMP#$B7USERAMCARD? BNECONT.RWTS2...ALWAYS  LDA#$D0 STADOS.BUFFER+1* BNECONT.RWTS2...ALWAYS 4 .1CLC> RTSRETURNTOCALLERH R \DDRESS : STALASTD PLAN STALAST+1&X RTSRETURNTOBASICWITHANERROR b SKIP2l DECSECTOR v BPL.2 LDA#$FRESETSECTORCOUNT STASECTOR DECTRACK BPL.2" SECSHOWTAHTWEAREALLDONE RTSRETURNTOCALLER  .   * -% *CONTROLLERFORRWTS.EXITSWITH *CARRYSETIFALLDONE. * -   GO.RWTS LDA/BUFFER STADOS.BUFFER+1 CONT.RWTS2  JSRIOBREAD/WRITEASECTOR#& BCCSKIP2NOERRORSOCONTINUE0 PLAGETRETURNAASECTOR. JSRGO.RWTSWRITETHESECTORSTOTHEDISK LDATRACK STATARGET.TRACK LDASECTOR" STATARGET.SECTOR , BCS.16 RTSRETURNTOBASIC@ J T .1^ LDA#$FFSHOWJOBDONE h STAFLAGr RTSRETURNTOBASIC|   Z STASOURCE.SECTORd LDATRACKn STASOURCE.TRACKx RTSRETURNTOBASIC  * - *WRITEAGROUPOFPAGES * - WRITE" LDA#$2SETTHEWRITECOMMAND STACOMMAND LDATARGET.TRACK STATRACK LDATARGET.SECTOR STTOCALLER    * - *READAGROUPOFPAGES. * -  READ LDA#$1SETCOMMANDTOREAD STACOMMAND LDASOURCE.TRACK( STATRACK2 LDASOURCE.SECTOR< STASECTOR%F JSRGO.RWTSREADINSOMESECTORSP LDASECTORSTA$C083". LDX#$0FCHECKFORARAMCARD8 .12B LDAVALUES,XMOVESOMEDATAINTOTHERAMCARDL STA$FFF0,XV CMP$FFF0,X ` BNE.2j DEX t BPL.1 ~ LDA#$FF STARAM.CARD+1  .2$ STA$C081TURNOFFTHERAMCARD RTSRETURNETTRACKSTOSTARTAT34&STASOURCE.TRACKRESETTHETRACKSSTATARGET.TRACKLDA#$FRESETTHESECTORSTATARGET.SECTORSTASOURCE.SECTOR%LDA#$B7SHOWNORAMCARDINUSE STARAM.CARD+1 # STA$C083TURNONTHERAMCARD$ Į͠ӠŮҠӠŠҠҠŠ̠ةͮӠӠŠҠƠӠҠōԮӠԠҠŠӍԮӠԠҠŠ̍ЮԠӠıӠâӠčӠ̠̠΢ӠĸĸĮǍӠčҠԍٍ̠РԮŮҍϮ̠Ӡ̠ɠƠΠ̢ӠĸĸϮŠӠ̠Ơ؍٠Ω٠ȠōҠԠԠŠǠōҠԍРŮčϮŮҮ͍٠ĮǭϮŭϮŬٍ٠ϮŭϮ̭Ϯٍ̬Ҡԍٍ̠ԮŮҍ٠ԠŠȠŠ̠ȍΩ٠נōŮҠӠԠύӠΠϠǠ͍ҠӍŮҮԮčȠ٠ō٠ȍҬ٠ŠŠɠŮҠƠŮҠΠōŮҍŮҫŠȠƠ̠ŮҠԠΠ٠Ҡԍ̠ŮҫŠŠԠҍıԠϠɠàȠŠŠ٠ŠנŠΠ٠ıàȠƠĠҍàō٠ıı؍ŠϠԠč̠ıٽĭҍÍıàııؠÍ̠ŮҠԠ٠ϠĠԠ̠ŮҫȠ̠ŠŠԍ̠ıŠɠŠӠĠ΍ĠҍخɍٍҍȍЮčЮčààЮīӠΠϠҍΠƠ٠ҍϠ̠ɮԮÍӠԲϬϠōԲšРԮëŠԲϬϠōŠĠƠ͠ҍÍàԲƬ٠ĠŠԍԲŠàԲàԲàԲàԲԲſРz#&G)  ҮʠҮӠӠ ɠҠҠ Р ŠĠŠĮӠРҠ ٠Р٠ЮӠҮà ̠Ϡ̠̮Ӡ! Ϯñ! àՠ٠  ˠ٠ ٮϠٮϮӠ ŠРϠ Ӡ ӮӠ)Š͠٠Ϡ̠Ϡ̮Ӡ&ŠŮӠG      (* L ̠ɠƠΠ̠̍ƠÍ̠̠΍`8`ȱ :"ȌU ( + ) , 8U ư`( + ) , ֥b e c f b c f b e b Ÿc Źۘe`QPY Z .S .T .Y .Z 8Y Z Y Z .S .T Y 0PPQS T ж` uȱu $ Lȱw%!V V w6"2 .W ѸV W  " LW "  L ɲS ȱT wx PQȱ" ي Q  LjiijL`8帥`ȱ :"Z[g h K֩L L<ԥghƯ uv L ɯ$ɭȱ ٠ ٱ (ȱɰɫɴ∌X " X  ٠, L2X wxgh L ɲ LȱL) !W X  hhLȱ!豛 Ѹ٤L " hh8`ASTUL2Bg h KL<ɴFɫɰH"hL(hɫL_L L\  ӥHHwHvHH YL HɰɫLơ"Lhɰв $" , " ,Lh`ȱ"!󈄠ghHȱHhh`ȱɲNA$(0),1)" "Ģ12:868:"!!! ERROR - UNABLE TO READ DIRECTORY !!!":Q |:1000l 1:" 80N":0,63998:0X3:D$T$A$(A) 1 NAME$(105),A$(105),T(105)I "X138:B$B$"=":g ,X10511:NAME$(X)B$:} 6NAME$(0)(B$,19) @D$(4) E12:12::"READING CATALOG"::12:29 Y63075 ^2054:D$"CATALOG" c216,0:D$"PR#0":D$"IN#0":E h( L40  MAXX& 85:34,224 23:958p "SELECT A FILE BY NUMBER (X TO END->";A$:A$"X"ĉ:: A(A$):AMAX2010 A1Ĭ T(A)66T$"BRUN " T(A)84T$"EXEC " T(A)65T(A)73T$"RUN "  23:T$A$(A) 2(NA$(N),8,1))6520003 ((NA$(N),8,1))942000= XX1V A$(X)(NA$(N),8,30)p T(X)((NA$(N),2,1)) X20İ30:2000 X20X58X96İ80 X39İ40:2000 $X39X77İ90 .X58İ30:2000 8X77İ40:2000 BX96İ30:2000:32,19:2:1::- U33,40:32,0:23:1::s Z85:23:"IS YOUR PROGRAM LISTED HERE? Y/";::"N";::" ";:A$: dA$"Y"MAXN1:N105::2000 n23:958:34,2:35,21::35,24: 60:X0 N1105 (NA$(N),8,1)"="N105:2000 (m8(ST6UVk,ȱk-`)M,-`b ::12:12:"ALIGNING MEMORY":63000xY140:"=";:::X;::5:A$(X):(" ";::X;::" ";:6:(A$(X),15):<1:11:"CORE PROGRAM LIBRARY":20:22:20:34,2:3: P33,21      8 ( `` H'8 '8h  п`  Hh (j`ii'xީi 8 i 0` ` ` @  @`i ( `i % 8&(` I@`I( `E &&f(` 8` ɷөЍ`OHNHLOHNHLSRWI\̵YPLkLLL$L/LP`#`ة $ [:  .  ,, ,H(`">` ` `` ' hNhO`$A$"Y"Ĭ'A$"N"ĺ(7):940-C"COPY COMPLETED"]:"WITH "ER" ERRORS"12:"ANOTHER COPY (Y/N)? ";:A$:A$A$"Y"Ĭ:"BYE BYE"RE128A$"READ ERROR";\:14:(40(A$))2:(7);A$:AfQp15:ERER1}z:7)"SKIP/CONTINUE/EXIT (SCE)? ";:A$A$E$A$"E"A$"S"A$"C"A$"E"ĺ(7):88012:"COPY ABORTED":"DO ANOTHER DISK (Y/N)? ";:A$"C"ė:4617:720"A$"E"9300(0)980? PP1:480SE(I13):Eıj A$"STRANGE ERROR"*E8A$"ERROR DURING INITIALIZATION"4E16A$"DISKETTE IS WRITE PROTECTED">E32A$"VOLUME MISMATCH ERROR"HE64A$"I/O ERROR"GET DISK" vI12,4:4623' E710K 12:(7)"INITIALIZATION ERROR" "TRY AGAIN, COPY DISK, EXIT (A,C,E)? ";:A$:A$ A$"A"620 A$"C"710 A$"E"930 (7):650 :4614 790 E770 A$"S"ė:4620:720A 4611 790 E5808 &A$"S"ė:4620:530Q 0A$"C"ė:4617:530a :A$"E"930 DTSSSTDSDė:12:"INSERT TARGET DISK IN SLOT:"TS", DRIVE:"TD;:A$:A$ NI3,(I14) XI1,TS16:I2,TD bP0710 l:12:"INITIALIZING TARESS RETURN TO COPY/ESC TO EXIT";:A$:A$F A$E$A$M$ĺ(7):390W A$E$ė:70] w 2:10:"COPING DISK" 4608 P0:ERP  PSSTSSDTDė:12:"INSERT SOURCE DISK IN SLOT:"SS", DRIVE:"SD;:A$:A$ I1,SS16:I2,SD TS; "17:A$ ,A$M$340- 6A$E$70L @A$"1"A$"2"ĺ(7);:290Y JTD(A$)a TTDi ^12s h:14 r"INSERT SOURCE DISK IN SLOT:"SS", DRIVE:"SD |SSTSSDTDĺ:4)"AND TARGET DISK IN SLOT:"TS", DRIVE:"TD 18:5 ( "PR:A$ A$M$1601 A$"0"A$"7"ĺ(7):230> SS(A$)G SS;S 17:A$b A$M$220p A$E$70 A$"1"A$"2"ĺ(7);:170 SD(A$) SD 9:11:A$ A$M$280 A$E$70 A$"0"A$"7"ĺ(7):230 TS(A$)  4607:(4)"BLOAD^COPY.O")0:0?M$(13):E$(27)J(I4626T2::v<SS(1528)16:TSSS:SD1:TD2F2:11:"RAM COPY"P6:9:"SLOT";:15:"DRIVE"Z"SOURCE:";:11:SS;:17:SDdn"TARGET:";:11:TS;:17:TD x7:118D `@&ap" @AP9 `8AD gjX*F}w'xp@WJB?`` 2f QD J vEB`@`?Fhb~=[ex|FL RRx b?i_5 B1 s$9 @ p " *|`'D()$GRi 0aL~=*pHp8D" -RwVj;~/b Pl !rA($B@`pBIBDy_VP@0yCD d/uN!@ Xj'J $QY @` 2~ SZIx B@XsOD P$ ,(Bpy @!BO'$p@x~c,uoJx d "$=@@ |~`@ P``; 8(pc A  FR$ FO#(Wz @?` @-) !`x? D"@p"d`A1$M?[7 <}c!B)!"|( H|A;?9xEL  p J`P _#@I3( rHH  3b?@D@!2`@"D$ `!/lo?) (#SA|4Q JH !E8>a(mfNt(<{# "P~;) \"}AY E( 1 BaDy?_JDxK1 !| A& BAH! 0@p`$*x Sin  zYHr7%D@ @H@y( H4( J@H0|0"Qcanc`@@pB}paH IHD=@Dd|j`j|}?0@?_ED  D|`"P@AJIx`0Q2fnu_DT|:)mGLF @I0`texA @H@0rV$! `Bn`v?y!P2 -AH@R,""@@ J `          8 i 0`Ңi (`ii 8鹪(`%ȍ/0)(2,5 `'%/0)ȍ,52Hȱ(h`ii'xީi ,P,R,T,W ?  ɓ Ɉ ڔɕ ɛ X,Q,Lɀ`S_i`8nŔoƔ֔} O`S8_`nŔioƔ֔ʍ} i8(x41` qvbS "a``t1$y/Be)|:E !| C|sJ  "P @@@xxBD h{ORi+~p7D,IODR&l ! HDA? pKM CPCP(J} Da*pS_=|? x( D0xc0`px" f $$ "@!$b2~?+0P_xBt#2Hu@$x7F@z  ~ P@  %A'`?~~~! adId'"@CD,j g_6*n !"`@!Q(1p^)U;?/H@k_b PTM@R:5%hE @B   "@ {,Pz *k_@L:0(I~y5EUUJ $ @ @Djp@@/ZJ@A@D2$d!J$P DBAp<"Q%` ! |;.E|."`7`& i@E @ D!  BEAo@@7$D `< @c@>`@) N@D!x o ~djy?B{k@}x_ E@<L @DL8@$%@HHq#D `x`e}~Ve[dx?- Rz -O H1xdH}Jx}C@Da@D` @x'~ QV9-AyHD |"B@X?bQ)@` pNo/Vn}~H"w/$@') (5%@ $ +q|MVm1\U?3\DHW6H]B~E0o Jz $@@@@  @iJQ,$"/E$pHQJ0   xx GJhXs YGY z`Oa % 6(  @B @`BA "?Nc0|C?`@8`8 C"Jd#  F ~T xUfG9~G$`pp: "|apX@ `3().@!0@0IBc/4xS{ !}OfC@!nRg?n ~"0@"D!Qxy_HRRA$A@@$ _@n# @R@>Xw)G?$~W  RD E@JZ *@A@@ ~3.(ZGb_ )D" Hw %uJ@"$=@H0" 5`.}*Bp`!H{ )mP%@ $@!|B@~0H%*gd Tz$y?Z >`@$HR Qrr%@ $A@`!H$"+\o@EATING A PICTURE":230,644>62450:3:X02792.3RH260,191X,2020(X7):XRX=1":WT1:VARFTB:250:34,7A:9:"HERE'S X=100":WT100:250y 34,0::6:"EXAMPLE: FLIP - RIGHT TO LEFT W/DELAY"9:"HERE'S X=1":VARFRL:WT1:250:34,7 :9:"HERE'S X=90":WT90:250*::"END OF DEMONSTRATION":41:39);::"CR5034,0:C6:"EXAMPLE: INVERSE - RIGHT TO LEFT W/DELAY":m"HERE'S X=1":WT1:VARIRL:250:34,79:"HERE'S X=80":WT80:25034,0:** FLIP EXAMPLES **6:"EXAMPLE: FLIP - TOP TO BOTTOM W/DELAY":9"HERE'S N EACH ROUTINE WHERE A DELAY IS"Kl"POSSIBLE, ALL YOU HAVE TO DO IS"::|v"POKE 254,X (WHERE X IS BETWEEN 1-255)":::"THE BIGGER THE NUMBER X, THE LONGER THE DELAY":"HERE'S X=1":VARITB:WT1:25034,7::9:"HERE'S X=60":WT60:2&"ON THE GRAPHICS PAGE, HIT ANY KEY AGAIN TO START THE ROUTINE, AND HIT ANY KEY A"0"THIRD TIME TO GET BACK TO THE TEXT PAGE":220D:6:"EXAMPLE: INVERSE - FAST"NVARINV:250:X6:"EXAMPLE: INVERSE - TOP TO BOTTOM W/DELAY" b:"I# " WITH PROGRAMMABLE DELAY":< :"RIGHT TO LEFT":^ " WITH PROGRAMMABLE DELAY":n :"FAST": " (NO DELAY - FADES IN)": 220:34,0 :6:"FOR ALL OF THESE EXAMPLES, FIRST READ" "WHAT IT SAYS, THEN HIT ANY KEY TO TURN"T19)"RIGHT TO LEFT":D |"TRANSPOSE";16);"=> MOVE HIRES PAGE TWO"c 19);"ON TO PAGE ONE"::l 220r  ** INVERSE EXAMPLES **  :6:"THERE ARE THREE DIFFERENT WAYS TO" "INVERSE THE HI-RES SCREEN:":: :"TOP TO BOTTOM":WITHIN"9 6:"A BASIC PROGRAM TO DO THE FOLLOWING:"::g @"INVERSE SCREEN => MAKE EVERY WHITE DOT" J19)"A BLACK ONE AND EVERY" T19)"BLACK DOT A WHITE ONE": ^"FLIP SCREEN";16);"=> TURN SCREEN UPSIDE" h19)"DOWN OR TURN SCREEN" r0:16302,0:16300,0:16297,0:Q 23:8:"HIT ANY KEY TO CONTINUE":16368,0h (16384)128230x 16368,0: 220:210:220:DLAY,WT:VAR:220:16303,0:  ** MAIN PROGRAM **  ":5 ,:"THESE ROUTINES CAN BE USED FROM  n(4)"BLOAD^ROUTINES"% x368640 SETUPf :"DO YOU HAVE A HI-RES PICTURE TO LOAD ?";(8); A$:A$"Y"İ820:190 1:"NAME OF PICTURE =>"39) 19:"";A$::"LOADING ";A$ (4);"BLOAD";A$;",A$4000" TNS 260! 16304,Y  .** VARIBLES SET TO SUBROUTINES **4V(IRL37058:ITB37024:INV36997z2FTB37107:FRL37172:SETUP36864<TNS36874:TRL36947:TTB36908FDLAY254P:Z1:1:"INVERSE & FLIP DEMONSTRATION"::34,3 d:1:"LOADING ROUTINES"  >K$B `,Bb"  D ?bpgNMjD_= ~U!B ` 8|Ah Q@A "?Apx P%|$<2``yO 3 "0@ A!B?@ " @AB p8?`Adx'D()(~Qy# 0UhW?v 1"hQP7X:(u=kA`PO` }@4-lhJ )*J 0?@A @B p{g,uLpo T21Ce'A"_ @`v" -@B@x?@%0hp a?_,I/E" PIReA$ D x?C(k` ? @|wwT"XB xb1@Hpr" 4 @00@$+f]@ ** LOAD ROUTINE **6v ** **S **********************:3:14::": FILE LOAD :"::34,4:7:XF1:FL$"MENU.VAL.":15:FL$;:1:"ADD FILENAME: ";:24:"";NA$:70:FL$FL$NA$NA$""ė:A$"NO ENTRY - RESELECT":10:H%:650SE$"X"180480D&WA$""Ģ10:OB$WA$:30:H%:WA$J0X:EXİ350^DNLI2:21:14::" REVISE FILES "::60:EX1:::WA$"LOAD FILE TO BE MODIFIED":OB$WA$:30:460X **********************b ** **l::"";::24:"-('X' TO EXIT)"j23:1:"[E]DIT";:8:"[F]IX";:14:"[S]AVE";:21:"[L]OAD";28:"<< SELECT";:35,21:570:550:23:37:SE$:70SE$"E"FX0:V%2:V1%4:H%2:H1%2:770SE$"F"1050SE$"S"1410SE$"L":80:S$;IT$(I):3903|H1%:80:SY$(I);S$;IT$(I)=SPĺE:b ********************** ** ** ** THE DIRECTOR ** ** ** **********************):32,2:33,38:22:I238:"-";::1";N:70:N1NMXĢ8:A$" -INVALID- ":50:60::320n JV1%2:V%2:H%3:H1%2:TI$"TITLE LINE":SPST2:NN2w T460 ^V2%V%:V1%2V2%0 h:V%:H%:100:TI$::V1%V2%:I1NST:FHğ:H1%:SY$(I);::80:S$;IT$(I):390rIVĞ:H1%:SY$(I);:20:TI$" -DEVELOPEMENT- ":I016:IT$(I)"SELECTION":O "2:12::TI$::LI2 ,5:"SINGLE SPACES OR DOUBLE ... D";:29:PC$::PC$::70:PC$"D"SP1:MX8 6PC$"D"PC$"S"3004 @7:"HOW MANY ENTRIES ..........":"(MAXIMUM=";MX;")":7:29:"": PROGRAM IS COMPLETED :":9::SG$::23:I *********************e ** PARAMETERS ** ** FOR DEVELOPER **  ** **  *********************6 21:14::" DEVELOP MENU "::60::WA$"":::MX16:S$" ":TG1:I15:SE$(I)::m 3::9:TT$::7:I14:14:I;::SE$(I)::::21:9::": PROGRAM AIDE :": 70:110:70:110:70:::14:17:"E";::SE$(5);:14:AN$::AN$::70:110:70:AN(AN$):AN1AN4200 AN280,590,700,220- 21:SG$I1100::5 xIT$(16),V%(24),SY$(16),LM$(22):TGıR *********************o ** ** ** FIRST PAGE ** ** ** ********************* ::V%3:S$" ":LI7:TT$": DYNAMIC MENU UTILITY :":7  1760=D$(13)(4):G$(7):ST1:TZ$"NORMAL":120RH%20(OB$)2:h(H1%19(OB$)2:2T(36)1:T:A$;G$;:T:868:T:A$;:<I1500::FI1LI:16336,(16336)::PI10NN1ĺS$;:ZdTZ$"INVERSE"Ğ: n         ԍѠȠӠϠŠŠȍРӠԠԍàРԠӍӠ٠ˠҠŠϮȍƍҠԍĮōҠΠŠϠŠĠƠŠōРȮōϮȍҩٍРŠŠΠΠŠŠϮȠϬϠŠӠϠȍҩٍŠϮȍȍؠ΍ΫҠԍ̠ѠРύѠǍРѠǍРҩٍѠР̍ѠРΠΠԿȍٍҩٍРŠѠЮōҠ΍٠ƍٍҩ٠Ҡč34);TI$;(34);":NORMAL".!JSPāI1N2:16309!TI1N!^"10"((I5)5)"VTAB";(V1%1)I;":HTAB";H1%;":";TY$;":PRINT";(34);SY$(I);(34);";:NORMAL:PRINT";(34);S$IT$(I);(34):]"h"1200 VTAB 21:HTAB";H1%;":";TY$;":PRINT";(34);"S";(34);";: NORMA  ** **7 " ** SAVE ROUTINE **S , ** **o 6 *********************!@D$;"MONICO":D$;"OPEN";FI$:D$;"DELETE";FI$:D$;"OPEN";FI$:D$;"WRITE";FI$:"1000 TEXT:HOME":"1005 VTAB";V%;":HTAB";H%;":";TZ$;":PRINT";(LEASE ...DRIVE 1":10:"PRESS RETURN ";:RT$:70:1530NA$""ġ:8:"NO FILE NAME ...":10:"RE-ENTER OR TYPE 'X' TO EXIT ";G$:60:60:1470NA$"X"Ĺ34,0:::460FHTY$"FLASH"IVTY$"INVERSE" *****************************$ ** **@ ** GET FILE NAME **\ ** **x *********************:3:13::": FILE SAVE :"::34,4:6:"ADD FILENAME: ";FI$;:"";NA$:7061490:1510:FI$FI$NA$:FL$FL$NA$:8:"DISK READY PZCM$"C"İ1400:1:26):1:"COLUMN NUMBER=";:16:"";CL$:70:dCM$"V"Ģ21:1:V2%0:"VTAB FIRST ENTRY AT= ";:V1$:70:n1330x1:21:"[T]ITLE OR [I]TEM POSITION ";:868:QL$:70:FI$"MENU.MOD.":FL$"MENU.VAL." *************:%NN1:RL16:R0:SPRL8:NN0II1RL:SY$(IR)(I):SPRR1Q(:b2CM$"X"990u<CM$"P"İ1400F21:1:CM$"P"ĺ"POS.=FLUSH ";:"[L]EFT [R]IGHT OR [C]ENTER";:AN$:70:PCM$"V"ĺ37);:1:"VTAB TITLE AT LINE= ";:VT$:70:B= ";:LN$:LN$;:U21:1:CM$"S"ĺ"SYMBOL= [L]ETTER [N]UMBER ";:SY$:70:SY$;:21:1:37);:1:CM$"T"ĺ"TYPE= ";:"[F]LASH [I]NVERSE [N]ORMAL ";:TY$:70:TY$;:1220RL16:NN0:R0:SPRL8I1RL:SY$(IR)(I64):SPRR1 $"T"H%38(TI$)8AN$"R"QL$"I"H1%36(IT$(1))YAN$"C"QL$"T"OB$TI$:30}AN$"C"QL$"I"OB$IT$(1):40350:1060H%1H%38A$"-INVALID-":3:27:50:21::1060:CM$"X"99021:CM$"L"Ė1:20);:1:"LINE"V"1060.1330[8CM$"V"V%(VT$)63:V1%V%2:350:1380:V1%(V1$)63:350:1060mBCM$"P"1130LQL$"I"H1%(CL$)2:1200VQL$"T"H%(CL$)2:1200`350:1060jAN$"L"QL$"T"H%1tAN$"L"QL$"I"H1%1~AN$"R"QL* **0 ** FIX POSITIONS **L ** **h *********************::23::"FIX";::" ('X' TO EXIT)":34,1:FX1:780 $21:1:37);:1:"[P]OSITION [C]OLUMN [V]ERTICAL ";:CM$:CM$"X"CM$"P"CM$"C"CM$NVERSE":900#V%2:350:21:820=SY$"L"İ1270:SY$""WSY$"N"İ1300:SY$""hCM$"T"950zCM$"T":1250TY$"F"FH1:TY$""TY$"I"IV1:FH0:TY$""TY$"N"FH0:IV0810:460 ********************* *460RV%1V%22820Q\V%:3:LN$"A"Ė1:TI$"":30);:3:"";TI$:70:880fLN(LN$)66:1:30);:4:"";IT$(LN):70pLN$"A"ĢV%:H%:25);:H%:100:TI$::21:"TITLE IN ";:"[I]NVERSE OR [N]ORMAL ?";:868:32:TZ$:70 zTZ$"I"TZ$"I$,37);:2039,((B$,38,1))128:1:35,21b*350:21:29:"<1220:CM$"L"910HV%(LN$)63:V%24V%2:::EDIT";::" ('X' TO EXIT)":34,1 I121:LM$(I)(I64):LM$(I)"-"::;:32,2:33,38:22:"--^";:IR17:I14:"-";:I:"^";:IR23:2:"C0";:I10405:I$(I):3)"C"(I$,1);::B$" 5":I10405:I$(I):B$B$" "(I$,1):( 24:(B EDIT PROGRAM "::60:WA$"":EX0:::IT$(1)""WA$"NO FILE IN MEMORY":460^SE$"E":490{ ********************** ** ** ** EDIT MENU ** ** ** ********************** ::22::"50:23:60:480 NA$"X"180:D$;"MONICO":D$;"OPEN";FL$:D$;"READ";FL$:FH:IV:TI$:H%:H1%:V%:N:SP:TZ$:ST1:SPST2I1NST:SY$(I):IT$(I)::TY$:V1%:V2%:D$;"CLOSE":D$;"NOMONICO":34,0::WA$"":EX0:460:MLI2:21:14::"     <=<L=`h(~ < (&20 *, **>> """ " >> ">> """>""""""< ЈȰՈĀՈĀĪՈĪՈڐԔ֐֐$%% $ @  )mn%Ӧ  eդ$Ӥ ݢ$($$$(L $%Ȅ%%%` i@L ō٠ԠϠĠƠōҩٍѠϮȍРŠЮō٠ԠϠҠōŠϮȠӍҠΠϠԠԍРԠĠƠſҠԍŠРȮōРȮŮЮFILES"," EDIT PROGRAM"," EXIT PROGRAM"," ENTER ITEM #" #"%V%2:V1%2:V2%2:4605% * * * * * * * * * * *;%W% * MENU-GENERATOR *]%y% * BY *%&%0 * BRENT A.MILLIRANS *%:%D * 8/22/82 *%N%X * * * * * * * * * * *6&b " DEVELOP MENU"," REVISE "NOMONICO":180+$ *********************G$ ** **c$ ** ERROR TRAPPER **$ ** **$ *********************$::12:10::"-IRRECOVERABLE ERROR-":13:"-AUTO RE-START-"::G$G$G$:60:60:TMTM1:TM3Ĭ3:PRINT";(34);IT$(I);" ROUTINE";(34);": END "::"1500 END":D$;"CLOSE":D$;"OPEN";FL$:D$;"DELETE";FL$:D$;"OPEN";FL$:D$;"WRITE";FL$#FH:IV:TI$:H%:H1%:V%:N:SP:TZ$:ST1:SPST2$I1NST:SY$(I):IT$(I)::TY$:V1%:V2%:D$;"CLOSE":D$;L : PRINT ";(34);" SELECT...";(34);";: HTAB ";H1%;": GET SE$: PRINT SE$":SPāI1N2:1660h"rI1N"|"12"((I5)5)" IF SE$=";(34);SY$(I);(34);"THEN 14"((I5)5)::"1390 GOTO 1200":SPāI1N2:1680"I1N#"14"((I5)5)" VTAB 2ΠѠǠٍŠō                         (08@HPX`hpx @` @` ((((((((((((((((((((((((((((((((PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP E TOP OF THE SCREEN"::ER1Vj8X0ĺ"YOU ARE OFF THE LEFT EDGE OF THE SCREEN"::ER1jBX63ĺ"YOU ARE OFF THE RIGHT EDGE OF THE SCREEN":ER1jLTER Y POS:";Y$iY$""1020-iY((Y$))Ii64538:"ENTER Y POS:"Yli1060:ERĺG$:I1900:I:850i::"PLEASE PRESS A KEY TO CONTINUE";:A$:i210i$:ER0:Y63ĺ"YOU ARE OFF THE BOTTOM OF THE SCREEN"::ER1j.Y0ĺ"YOU ARE OFF TH:"Y POS:"Yhz1060:ER9100hX2X:Y2Y:580ch:"TERRAIN TYPE IS: "R1:"SUB-TERRAIN IS: "R2h::"CHANGE POSITION (Y/N)?";:A$hhA$"Y"1030hh"ENTER X POS:";X$hX$""990hX((X$))i64538:"ENTER X POS:"X::"ENG$;G$:I1700:I:750Ag A$"S"A$"BSAVE":L$",A$1000,L$1000"egA$"L"A$"BLOAD":L$",A$1000"g :"ENTER MAP TO ";A$;g*" >";NA$g4D$A$NA$L$g>210gH SHOW POSITION IN MAP gR:g\"CURRENT POSITION IS"gf5:"X POS:"X hp5f:*f12:"ERASE MAP (YES/NO)? ";A$=fA$"YES"210IfX0:Y0Rf768]f:210of CALL DOS wf:f:D$"CATALOG"fA$f22:64578:"LOAD OR SAVE A MAP ?";:A$:fA$(27)A$"N"210gA$"S"A$"L"ĺ"ILLEGAL ENTRY";0X64X:240#e&X63XX64:240,e0240Le: FIND OUT WHAT IS WHERE reD X2=HORZ POS, Y2=VERT POS ON MAPeN R1=VALUE HERE (TERRAIN), R2=SUB TERRAINeXLOY264X24096:R2(LO)ebR1R2(R28)8elR2R2R1eve CLEAR MAP MEMORY 0dA$(26)YY1:2403dA$(1):XX1:540LdA$(19)XX1:540edA$(27)TR1:240udA$"@"650dA$(24)ĉ::"GOOD BYE":dA$D$720dA$(16)850dI1(CO$)dA$(CO$,I,1)TRI1:240ddG$:240 eX:X20X2X2256c,Y2Y5&c6CH,X28c@Y3Y2644096^cJCV1,Y3256:CV,Y3(Y3256)256cT(HP)32ĹHP,64:PG16299:360c^HP,32:PG16300ch2051crQQ0QQ1:650c|PG,0c GET COMMAND AND PROCESS cA$dA$(17)YY1:24644096-bCV1,Y3256:CV,Y3(Y3256)256ZbHP,64:CV1,Y3256:CV,Y3(Y3256)256hb16304,0bPG,0: USE HIRES PAGE 1 OR 2b16302,0bY0Y64Y:260bY63YY64bLOY64X4096bTR0290bY64X64ĹLO,TRc"X2X9NNECT PLE.aP(2051)(2052)(2053)296110^aZD$"BLOAD^TABLES":D$"BLOAD^EDITOR.C,A$B00"adD$"BLOAD^CLEAR.OBJ,A$300":D$"BLOAD^DISPLAY MAP,A$803"anG$(7):BELLax5,2aa16302,0aX0:Y0aTR1aCV2:CH4bCH,247:Y35ʘ "` PLACE PROGRAM HIGH IN MEM=`(103)1(104)9640n`103,1:104,96:24576,0:(4)"RUN MAP MAKER"`(D$(4): CTRL D`2CO$"PMWT":TERRAIN LIST`<HP16146: HIRES PAGE (32=PAGE 1, 64=PAGE 2) aFPG16300::D$"PR#0":D$"IN#0": DISCOҠҍ٠ѠЮӍЮҠΠϠϠԠōԮéٍРŠӠԠĠƠſٍԍŠЮЮٍԮéٍѠЮРΠˠҠ΢ŠЮЮ٠ӠŠԠĠΠӍҠˮčӠЮРŮčЮ٠ЮԮéٍРҍѠҮčРƠӠԠΠƠΠЍàЮčЍҠЮϮӍԮàŠԠŠҠӍ΍ԮëΫҠЮϮԮÍЮԫԮëЮĠԠĠƠ͠ҠύŠǠԠōàЮčӠҍԍҮҫԍҮҫРԠĠҠԍԍЮԠŠŠ͍Į͠Ԡà͠ӍЮԍĮ͍ЮԫҠȠŠŠנԍàŠРčҮԠԠѠIJԠŠŠҍҠѠĹĠ٭ǠϠҠ¸¹ԠѠĠԠŠǠΠɍԠѠĸŠӠ΍ԍĠԠѠĴàҠԍȠѠĶ ŠנčΠѠĹŠϠԠԍΠѠĹϠԠōŠѠĴƲĠӠō͠Ѡ²ΠѠ´ŠѠŠΠҠōѠÍӠčӠҠЮӍҠѠƍƠѠčΠѠô Ѡ°ϠϠԠ΍РѠҠϠȠ΍ȠѠȠƠŠΠŠҍҠѠҠϠŠŠҍҮҠѠƵŠĠРҍЮԠѠӠϠŠԠӍΠѠԠƠԠōЮĠѠƬ°ӠϠĠƠà͍͠ѠҠϠīԮàѠ¸¹ҠԭŠϠȠҠӠĠϬ¬΍ҠŠנà͍ƠōŠϠٍ̍ ӮčԠ            !!! ! ! ! ! !!!!!!!!!""" " " " " """""""""     14:XX1:1240A:A$"GREAT SWORDS=>":HT15:VT16:XX1:1240s:A$"LIGHT SABERS=>":HT15:VT18:XX1:1240:A$"PHASERS=>":HT10:VT20:XX1:1240&:A$"QUICKSWORDS=>":HT14:VT22:XX1:12400:150: ** ARMOUR **DSV0::"A011)):470.D09:A$WP$(D)Ă:(7):440;20011,Di:A$"DAGGERS=>":HT10:VT6:X20033:1240:A$"MACES=>":HT8:VT8:XX1:1240:A$"AXES=>":HT7:VT10:XX1:1240:A$"BOWS=>":HT7:VT12:XX1:1240:A$"SWORDS=>":HT9:VT>":HT15:VT20:XX1:1240L:A$"HIT POINTS=>":HT13:VT22:X19995:130035,25:A$"EXPERIENCE=>":HT13:VT24:X20000:130035,24::150 ** WEAPONS **SV0::"READY WEAPON=>";WP$((20011)) 15:4:"";A$:A$""Ė15:4:WP$((20985,D5J:A$"STRENGTH=>":HT11:VT10:X19989:1240bT:A$"AGILITY=>":HT10:VT12:XX1:1240^:A$"STAMINA=>":HT10:VT14:XX1:1240h:A$"CHARISMA=>":HT11:VT16:XX1:1240r:A$"WISDOM=>":HT9:VT18:XX1:1240|:A$"INTELLIGENCE=05 :"RACE=>";RC$((19986))R 7:6:"";A$:A$""Ė7:6:RC$((19986)):290v D03:A$RC$(D)Ă:(7):260 19986,D ":"CLASS=>";CL$((19985)) ,8:8:"";A$:A$""Ė8:8:CL$((19985)):330 6D03:A$CL$(D)Ă:(7):300@19A1A81706 A200,430,580,700,850,1080,1100,1130R ** ALTER TRAITS **x SV0::"SEX=>";SX$((19984)205) 6:4:"";A$:A$""Ė6:4:SX$((19984)205):250 A$SX$(0)A$SX$(1)ĺ(7):210 A$SX$(0)Ĺ19984,198:250 19984,206:AR$(D)::D09:SP$(D):| 5:"ALTER WHAT SET OF STATS?"::"1) PERSONAL TRAITS."::"2) WEAPONS."::"3) ARMOUR." :"4) SPELLS."::"5) ITEMS."::"6) SAVE CHARACTER."::"7) CHANGE NAME."::"8) QUIT."::"SELECT NUMBER:"; A$:A(A$):V1 n(4)"BLOAD PLAYER"P xNA$"":D1996819983:(D)0NA$NA$((D)): :2:20((NA$)25):"CHARACTER=>";NA$:34,3:ND150 SX$(1),CL$(3),RC$(3),WP$(9),AR$(6),SP$(9):SX$(0):SX$(1):D03:CL$(D)::D03:RC$(D)::D09:WP$(D)::D INFORMATION **3 <** COLLATED BY **Q A** DAVE THOMPSON **o F** ** K************************ P  d::::3:"INSERT ULTIMA II PLAYER DISK, THEN"::"PRESS ANY KEY.":16384,128:16368,0:16385:S %************************C** **a** ULTIMA II **** CHARACTER EDITOR **#** BY DAVE THOMPSON **(** **-** --------- **2** ** 7**       2.3) "140,171X,2020((X20)25.5):/ ,GP":" Z = DOWN"7 " -> = RIGHT":" <- = LEFT"S " ESC = EXIT PROGRAM"w 23:11:"HIT ANY KEY TO BEGIN" 16368,0 (16384)128240 16368,0:: 37760 1:39);::"CREATING A PICTURE" 230,32:62450:3:X2025939)" x19:"";A$::"LOADING "A$A (4);"BLOAD";A$;",A$2000"G p "THIS SCROLL ROUTINE SIMULATES THE" "EFFECTS OF THE GAME ULTIMA. YOU CAN" "SCROLL THE SCREEN UP, DOWN, RIGHT AND LEFT." :"THE COMMANDS ARE:":: " A = U0 ** SCROLL DEMO **$,(:N22:1:"SCROLL DEMONSTRATION"[<34,3:4F"LOADING SCROLL":(4)"BLOAD^SCROLL"P37375Z:"DO YOU HAVE A HI-RES PICTURE TO LOAD ?";(8);dA$:A$"Y"İ270:140 n1:"NAME OF PICTURE =>";   AGHT","LADDER DOWN","LADDER UP","PASSWALL","SURFACE","PRAYER","MAGIC MISSLE","BLINK","KILL","DAGGER","MACE","AXE","BOW","SWORD","GREAT SWORD","LIGHT SABER","PHASER","QUICKSWORD" Z "SKIN","CLOTH","LEATHER","CHAIN","PLATE","REFLECT","POWER","NONE","LIGHT","LADDER DOWN","LADDER UP","PASSWALL","SURFACE","PRAYER","MAGIC MISSLE","BLINK","KILL"0$2 ** TWO BYTE BCD CONVERT **<HB((X)16)10((X)((X)16)16):LB(((X1)16)10)((X1)(((X1)16)16)):HB100LB;:F ** DATA **V P "FEMALE","MALE","FIGHTER","CLERIC","WIZARD","THIEF","HUMAN","ELF","DWARF","HOBBIT","HANDS"00:HT:VT:12803 ** ONE BYTE BCD CONVERT **^((X)16)10((X)((X)16)16);:{  ** TWO BYTE INPUT **VT:25:"(0-9999)";:1:A$;:HT:1340:HT:"";HX$:HX$""ĢVT:HT:1340HX(HX$):HX9999HX01300(1220:HT:VT:134HX100)100))10)16)(HX((HX100)100)((HX(HX100)100)10)10):e ** ONE BYTE INPUT **VT:25:"(0-99)";:1:A$;:HT:1280:HT:"";HX$:HX$""ĢVT:HT:1280HX(HX$):HX99HX0Ĺ34,VT1::124034,VT1::34,3:1:VT:A$;:1268,0:K155ė:H:2:20((NA$)25):"CHARACTER=>";NA$:34,3:1080Nn ** POKE ONE BCD BYTE **X,((HX10)16)(HX(HX10)10): ** POKE TWO BCD BYTES **HX,((HX100)10)16(HX100)(((HX100)10)10):X1,(((HX((:120%`  ** LEAVE THE PROGRAM*@j34,0::10:1:SVė:t"YOU HAVEN'T SAVED YOUR NEW CHARACTER!"::4:"ARE YOU SURE YOU WANT TO QUIT?"::18:10:"HIT TO QUIT"::4:"HIT TO SAVE CHARACTER"~K(16384):K1281150163  ** SAVE THE CHARACTER*Q8:(4);"BSAVE PLAYER,A$4E00,L$100":SV1:150uB ** CHANGE PLAYERS' NAME *LSV0::12:"NAME=>";NA$;:7:"";A$:A$""(A$)141100VD1(A$):19967D,((A$,D,1))128::D1D115:19967D,0::34,0:ND1XX1:1240::A$"TORCHES=>":HT10:VT16:X20014:1240c:A$"KEYS=>":HT7:VT18:XX1:1240:A$"TOOLS=>":HT8:VT20:XX1:1240:A$"FOOD=>":HT7:VT22:X19997:1300:35,25:A$"GOLD=>":HT7:VT24:X20002:1300$35,24::150.3:VT4:XX1:1240D:A$"BRASS BUTTONS=>":HT16:VT6:XX1:1240u:A$"BLUE TASSLES=>":HT15:VT8:XX1:1240:A$"STRANGE COINS=>":HT16:VT10:XX1:1240:A$"GREEN IDOLS=>":HT14:VT12:XX1:1240 :A$"TRI-LITHIUMS=>":HT15:VT14::12400:A$"HELMS=>":HT8:VT14:XX1:1240Y:A$"GEMS=>":HT7:VT16:XX1:1240:A$"ANKHS=>":HT8:VT18:XX1:1240:A$"RED GEMS=>":HT11:VT20:XX1:1240:A$"SKULL KEYS=>":HT13:VT22:XX1:1240::A$"GREEN GEMS=>":HT1H ** ITEMS **NRSV0:::A$"NO. OF RINGS=>":HT15:VT4:X20128:1240\:A$"NO. OF WANDS=>":HT15:VT6:XX1:1240f:A$"NO. OF STAFFS=>":HT16:VT8:XX1:1240p:A$"BOOTS=>":HT8:VT10:XX1:1240z:A$"CLOAKS=>":HT9:VT12:XX1ALL=>":HT11:VT12:XX1:1240K :A$"SURFACE=>":HT10:VT14:XX1:1240v:A$"PRAYER=>":HT9:VT16:XX1:1240 :A$"MAGIC MISSLE=>":HT15:VT18:XX1:1240*:A$"BLINK=>":HT8:VT20:12404:A$"KILL=>":HT7:VT22:XX1:1240>:1504:4:"";A$:A$""Ė14:4:SP$((20013)):740QD09:A$SP$(D)Ă:(7):710^20013,D:A$"LIGHT SPELLS=>":HT15:VT6:X20097:1240:A$"LADDER DOWN=>":HT14:VT8:XX1:1240:A$"LADDER UP=>":HT12:VT10:XX1:1240:A$"PASSW>":HT14:VT10:XX1:1240K:A$"PLATE SUITS=>":HT14:VT12:XX1:1240~:A$"REFLECT SUITS=>":HT16:VT14:XX1:1240:A$"POWER SUITS=>":HT14:VT16:XX1:1240:150 ** SPELLS **SV0::"READY SPELL=>";SP$((20013))-1RMOR WORN=>";AR$((20012))NN13:4:"";A$:A$""Ė13:4:AR$((20012)):620rXD06:A$AR$(D)Ă:(7):590b20012,Dl:A$"CLOTH ARMOR SUITS=>":HT20:VT6:X20065:1240v:A$"LEATHER SUITS=>":HT16:VT8:XX1:1240:A$"CHAIN SUITS=ؠנҠŠԠŠȬؠԠŠƠ̠ōҲ̬ؠԠŠƠ̠ōҲٱÍŠΠȬؠԠŠƠԮōұ̬ؠԠŠƠԮōұٱÍıàԠԠŠҠҠӍðдŠҠا؍̠ǠōԠҠРŠРҠ͠ӍؠԠΠɠٲŠҠà±²бвгŠҠçٱٲŹŠҠàıIJŠҠçٱдŸŠҠا؍ҠԍӍΠƠ̠΍ԫ¹ЫٱٲŹŠҠà±²¹бвðгŠҠçٱٲŠҠàıIJŠҠçčР٠ĿàРƠԬϠˍӍ̠ҠӠŠƠǠōР̠ЍԫЫŠ˰ҠōԠðԠԠōԠŠҠĠōРİԠϠÍ٠ŠҠĠōРĠˠŠ˲Ҡ΍˲РԍŠ˳Ҡԍ˳РԍŠ˴Ҡԍ˴Р çӍŠɭӠűŠӍҠύ͠Ӡō˰ҠٍРñЍŠ˱ҠЍ˱Рڧ΍ӠԠðȠѠ̠ѠȫðԠðԠӠōԠðԠΠōԠðԠűԠðԠɭӍԠҠƠ̍αѠұѠÍҲѠōŠѠõĠѠðŠѠðŠƠɭӠűŠӍӠԠϱɭӠ̠ٺŠΠ          SSCOMMANDNORMALLYx  .2PLAGETCOMMAND' CMP#GOSUB.TISITAGOSUBCOMMAND BEQGOSUB! BNEGOTOMUSTBEAGOTOTHEN  .3JSRCHRGETGETCHARACTER" BEQEND.LINEIFENDTHENEXIT& CMP#QUOTEISITAQUOTE(ENDING)1 BEQ.10USEITAGOSUB BEQ.1 CMP#GOTO.TISITAGOTO  BEQ.12 JMPSYNERRNEITHERSOGENERATEASYNTAXERROR( "2 .1DECFAC+4DECREMENTONLOOP < BNE.3 F LDY#$01"P LDA(TXTPTR),YISITAQUOTE?Z CMP#QUOTE d BEQ.2)n JMPONCNT+4PROCE PHA ~ JSRGOTO2LOOKFORTHELINE' JMPNEWSTTEXECUTEANEWSTATEMENT  * - *ONGOTO,GOSUBFORLABEL. * -   ON$ JSRCHRGETPOINTTOTHEFORMULA JSRGETBYTEEVAL.FORMULA PHASAVECOMMANDTYPE CMP#GOSUB.TISEQUOTE GOSUB2  LDA#$3 JSRCHKMEM0 LDATXTPTR+1PUSHTHETXTPTRONTOTHESTACK$ PHA. LDATXTPTR8 PHA2B LDACURLIN+1PUSHCURRENTLINEONTOTHESTACKL PHAV LDACURLIN` PHA1j LDA#GOSUB.TSAVETHECOMMANDONTOTHESTACKtR,LINKEDTHRUTHE&KEY.R* -\fpzGOTO"JSRCHRGETPOINTTOTHEQUOTE GOTO2JSRSEARCHFINDLINEJMPGO2+3* -*THISROUTINEHANDLESTHE*GOSUBLABELCOMMAND.* - GOSUB"JSRCHRGETPOINTTOTHRESTOREOLDTOKENCMP#GOTO.TISITAGOTO? BEQGOTO3 JMPGOSUBIFNOTGOTO,THENITMUSTBEAGOSUB OLD.AMPER, JMP$FTHEPREVIOUSAMPERSANDROUTINE** - 4*HANDLESGOTO,GOSUBANDON$>*GOTO/GOSUBSTOALABELORLINE$H*NUMBEMP#GOSUB.TBNEOLD.AMPER.2PHASAVETOKEN3LDY#$01CHECKFORAQUOTEAFTERTHESTATEMENTLDA(TXTPTR),YCMP#QUOTEBEQDO.SPECIAL.COMMANDPLARESTORESTACK&JMPDO.NORMALDOANORMALCOMMANDDO.SPECIAL.COMMANDPLAATXTTAB+1>JSRSCRATCHCLEAROLDVARIABLES,RESETZEROPAGEPOINTERS &JMPRESTARTENTERAPPLESOFT0:DNAMPERSAND.CONTROL(XCMP#ON.TISITTHEON...STATEMENT bBEQON0lCMP#GOTO.TMAKESUREITISAGOTOORGOSUB vBEQ.2CSTAOLD.AMPER+2LDA#$4CAJUMPCOMMANDSTAAMPERLDA#AMPERSAND.CONTROLSTAAMPER+1LDA/AMPERSAND.CONTROLSTAAMPER+2@LDA#END.PROGRAM+1RESETSTARTOFAPPLESOFTPROGRAMPOINTERSTATXTTABLDA/END.PROGRAM+1STMULA%RESTART.EQ$D43CENTERAPPLESOFT"#,AMPER.EQ$3F5AMPERSANDVECTOR6@J* -T^hINITIALIZE.AMPERSANDr%|LDAAMPERTRANSFEROLDAMPERSANDSTAOLD.AMPERLDAAMPER+1STAOLD.AMPER+1LDAAMPER+2O.NORMAL.EQ$D828PROCESSCOMMANDINA-REGNORMALLY,NEWSTT.EQ$D7D2EXECUTEANEWSTATEMENT<CHKMEM.EQ$D3D6CHECKTOSEEIFWECANDOANOTHERGOSUB>ONCNT.EQ$D9F8AENTRYPOINTTODOANORMALON...COMMAND*GETBYTE.EQ$E6F8EVALUATETHEFOR1CHRGET.EQ$B1GETNEXTCHARACTERINTHELINE(GO2.EQ$D959AROUTINEINAPPLESOFT#SYNERR.EQ$DEC9?SYNTAXERRORREMN.EQ$D9A6?SCRATCH.EQ$D64BCLEARVARIABLES,RESETZEROPAGEPOINTERS)GOTO.FP.EQ$D93ENORMALGOTOCOMMAND9D LOWTR.EQ$9B,FAC.EQ$9DUSEDASATEMPORARYVARIABLEFIRST.OFFSET.EQFAC+3(TXTTAB.EQ$672TXTPTR.EQ$B8<TOKEN.FOUND.EQFAC+3,FCURLIN.EQ$76THELINENUMBERWEAREONPZd* - n*ROUTINESUSEDBYAPLESOFT.x* -ONCOMMAND~QUOTE.EQ$22REM.T.EQ$B2AMPER.T.EQ$AFEOL.EQ$3A(ACOLON":")1LABEL.T.EQ$21USEDTODETERMINLEGALLABELSSPACE.T.EQ$20ASPACECOMMA.EQ$2CACOMMA"'"* -*PAGEZEROEQUATES.* -* -$*HANDLESTHEAMPERSANDCOMMANDS*FOR&GOTO,&GOSUBAND&ON* -$* -.*APPLESOFTTOKENS.8* -B L.OR$803V.TFGOTOLABEL1`GOTO.T.EQ$ABGOTOCOMMAND!jGOSUB.T.EQ$B0GOSUBCOMMANDtON.T.EQ$B4THE         ԮëЫЮԠȠҠ̍ԮÍЮԫԮëȮ̍ҠЮŮҠҍРРŠŠȍŮ٠ЮԠŠŠԠϠŠōԮàŠԠ΍ЍҠΠϠŠĠƠŠōԮō٠Ԯé٠ˠҠΩ٠РҠŠ̠ҍРѠàŠ٠ŠԠҠȠōōԮéٍ٠ЮԍҠήϮŠˠҠōàŮҍРĠōѠٍԮéٍٍٍŠӍؠΠĠōōР΍ŠЮōٍ٠Юԍ٠ŠŠҠ̠ĠōؠԮé٠ԠҠҍЍŠЮѠЍҮčٍԮéٍРѠōРύѠ.7PLAPOINTTONEXTLINESTALOWTR+1PLASTALOWTR1SECSETUPBORROWFLAGFORAPPLESOFTROUTINERTSRETURNTOCALLER (2END.PROGRAM <.HS0C+1RESTOREY-REG$LJMP.4CONTINUEWITHCOMPARISONV`.5 jTXATRANSFERX-REGTOY-REGtTAYA~LDA(TXTPTR),YCHECKTOMAKESURETHEGOTOLABELISFINISHEDCMP#QUOTE BEQ.7CMP#SPACE.T)BCS.2NOTTHECORRECTLABELSOEXIT/ONLABLE .4INY INX LDA(LOWTR),YCOMPARELABELJ CMP#SPACE.TIFCONTROLCHARACTERSORA00ISFOUNDTHELABELISOVER BCC.5STYFAC+1&STXFAC+2TRANSFERX-REGTOY-REG$LDYFAC+2.CMP(TXTPTR),Y 8BNE.2BLDYFALOWTRz JMP.1ALWAYS .3INY- LDA(LOWTR),YGETNEXTCHARACTERINLINE BEQ.2& CMP#LABEL.TISITALEGALLABEL? BCC.35 DEYSETY-REGTOPOINTTOONEBEHINDLEGALLABELD LDXFIRST.OFFSETRETRIEVETHEOFFSETTOTHEGOTO/GOSUBLINE PHA INY LDA(LOWTR),Y PHA BNE.6 PLA PLA CLC RTS .6INYSKIPLINE# INY* INY4 LDA(LOWTR),Y+> CMP#REM.TISITAREM(MAYBEALABEL) H BEQ.3 R .2PLA\ STALOWTR+1GOTONEXTLINEf PLAp STAP#LABEL.TISITALEGALLABLE?D BCC.0NOSOCONTINUEN DEYBACKUPONEX STYFIRST.OFFSETb ,l LDATXTTABGETBEGGININGOFTHEPROGRAMv STALOWTR LDATXTTAB+1 STALOWTR+1   .1LDY#$00* LDA(LOWTR),YGETOFFSETTONEXT* -$ *SEARCHFORTHELINEREQUESTED. * - SEARCH$ LDY#$00SCANFORALEGALLABLE .0 INY LDA(TXTPTR),Y= BEQSYNTAX.ERRORNOTALEGALBRANCHSOGENERATEANERROR#& CMP#QUOTEFOUNDANOTHEQUOTE?0 BEQSYNTAX.ERROR&: CMOVETONEXTPOSITIONINTHELINE@ BEQEND.LINEJ CMP#COMMAISITACOMMA?$T BEQ.1CONTINUEWITHONCOMMAND^ h SYNTAX.ERROR-r JMPSYNERROTHERWISEIT'SASYNTAXERROR|  END.LINE PLARESTORESTACK RTSANDEXIT   ASEPERATEQUOTECOUNTERROUTINE% .20JSRCHRGETGETNEXTCHARACTER BEQEND.LINE" CMP#COMMAREACHTHEENDYET? BNE.20  BEQ.1% .10JSRCHRGETGETNEXTCHARACTER BEQEND.LINE" CMP#QUOTEENDOFQUOTE? , BNE.1016 JSRCHRGETMҠҠԠРҠŠōҠؠϠٍ٠Ԡ٠ӠϠŠōҠԮٮӍ٠Ѡ̠Ԯé٠ĠŠԍ؍ѠōٍԮé٠ϠŠĠŠͿѠРŠϬԠŠԍҠήϮōŠҠԠŠȠōԮéٍؠȠȠƠҠϠ Ҡ̍ҬؠԠŠōŮҫҠخɍРŠŠϠŠϠԮÍԮÍЫԮë٠ƠΠҠōР͠ͿѠȠӠϠϠԠō٠ԠŠŠҍԮéٍŮҍٍԮéٍɠҠҍҠЮϮӠРŠŠԍҠˮčӠРϮŮҮ͍٠ŠŠӠӠԠ͍ԮéٍѠӠϮȠϠȬŠȍٍŠӍȍҠΠϠϠŠĠƠŠō٠ĠŠō̮ˍ٠ԮŠŠŠ̠ӠčԮéٍѠȍРѠȍРōàȍРѠ̮ˍҠΠԠϠŠĠƠŠō٠ԠϠŠԠŠƠŠԠōҠҍРȮ̠РǠҠҠ̍РōŠԮéٍѠ̮ˍРōà̮ˍŠٍŠӍ̮ˍРōà̮ˍ٠ԮРԮéٍŠϮȍàԮàԮŠϮȍ٠ԮŠŠĠԍˮӍ٠ԮЩ٠ԠŠ͠ŠϢ΍Ѡ̮ˠԠĠƠ̿РѠԮŠӠԍ٠ЮԠРϠΠŠӠٍЩ٠ĠԠ̠ҍѠϮȍРūˠҠ̠̍àԍԮé٠ԠōŠԠŠĠϠРԍРϮȠ̠̬РԍРūŠǠΠōà٠͍ѠĮ̠ӡҠΠϬϠРϠĠƠōٍҠҠԮÍРȮ̍Į̍٠РŠ͠ӠŠŠԠŠҍҠЮϮӍҠˮčӠРŮҮԮč٠Ԯé٠ӠԠͿРԮٮӍЮčԲԲЮīԲԲԲƠԠōŠԱӍŠŠ͠ҠŮŠӠ͠ԮÍϠԮë٬Ϡō͠ҠŠϮīӠΠϠҍؠԠҍàԱϠԠԠŠҍàԱŠԱàԱàԱԠŠύŠԠŬϠōàŠĠƠ͠ҍЮčàͮӍЮčӠϠ׍àеԱԱԱƬ٠ԠŠԠȠ٭ǩԱƍŠԠϠϠΧԠԠԍؠٍŮٮӍ٠ͮӍؠҠҠŠҠƠӍԮàԠϠ΍ԱԱԮë٠ƠĠĠƠԠҠٍԮéٍѠŮٮӠРѠŮٮӍРŠԠ͍ҠȠԮÍǠŠϠ΍Š͠ΠӠč٠ǠϠŠĠƠōԠŮŮϮ̍ŠŠŠȍàϠҍӍàϠōӍŠϠŠӍ͠έήϮō٠ˠҠŠˍԮéٍѠРѠРΠàԮÍЮīàԮëӍˠҠŬŠٍǠӠĠƠŠӍĬԠƠԮàԮÍŠàԮëӠˠϠŠƠԠčàƠԠĮˮčЮčÍàͫРŠԠŠԠӠРŠŠԍЮϮӍàԮÍŠàԮëЮĩٍٍ̠ЮīͫЮčÍà͠àŠŠĠƠŠ͍ҠŠӠ͠ӍŠĠƠ͠ҮŮč٠ŠӠԠĠƠ͍Ӎō٠ϠԠŠŠҍҠҠԠ¸ϠӠԍҠŮϮ̍РԮō