@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)ǥ%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}NjL= ( 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 ;LHL1  T`  `8  ɐ     `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.D8:MEM.SAV J y08 B|DEHI$}G V0 0`B;DEL`?<0LV`} ʆ v s? F0Ξ05: [ BDEHI%}% VY8 B V  @  /DE `E:D8: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(}rI|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}ɠӠ TURBO BASIC ENHANCEMENT BY RAPHAEL JAMES ESPINO A. DISK DIRECTORY I. FORMAT DISKB. RUN TURBO BA*}"SIC J. DUPLICATE DISKC. COPY FILE) hK. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILEm M. RUN AT ADDRES+}SF. LOCK FILE 5N. CREATE MEM.SAVG. UNLOCK FILE: pO. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEuL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}ǍDEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ǝED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}ǝ  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}VCOPY--FROM, TO?OPTION NOT ALLOWED697 FREE SECTORS COPYING---D8:COPY32.COM[l# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}GLLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}ǿ0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}ǞC, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}ǫΞ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}Ǎ`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH}G,^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}I}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` 00 q0 L!0 M}1`Y%H$H`%,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO}: TOO LONG B VL!` L1I H1EΝDL1?@D|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 128ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}rDECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8xuR}r ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8xu"8<< & B JKIHiDiELV`L8 8 BLV`LxT}d8t8l Lu8hihiHHȱȱL8c !#3`Lu8hJ`H 8h`HU}Ǣȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0ICV}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::iX}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8Y} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9Z}CLn; ` :Y;Y;L;L;)}$P Setting Up ATARI 130XE Ram Disk; 9L;VVb ; -9  [}[P L;D8:; :9 :Y;Ls3>00x|73>00x`c6<9c` 33c366fffg~33>00xg{f< ]}1{!!\]_\ED!EOHI B V`}   ^} TURBO-BASIC XL 1.5 (c) 1985 Frank Ostrowski!  ӥL]""$$ (p _}%J[WܠjeC /D%Zub2gTSt$8®݊Ò2% 5R `}Ţtd.’$3@X7t5w5$?## $#L+D:*.*S:C:P:$#.#) `:#(6ENeU\l؏&/ؕ؄sأ$ a}ljLENeU\lأ$8آǔƐƉƐƇ4cY%٦rULۉCۄړp^gyض%iwܸJڅ*ܣ$ڭڞجئأأ b}$ &,(""(222,0...324M2Z**22*22(222(a2e222rrx ,(""( c}0 0--.>**2*(22(2B222 V`hh@,lHH$HHHHHHӍl" d}H$HHl $`GHFH\` ` 4ӭ l 4Lq ӠԪӅԆL} Ӡ L(  e}Ǒ) ` b% +L:#HH 0 HHLj%ӥHlL{ee 8eee f}ǤeӦee褢%ƚƜ`88夅奅8 g}夕奕Ӡȱȱȱ㦢`L+`8` .E)))8@8e0 h}*څۅ܅݅ޅ߄ԠF0y"ޥy"ݥy"ܥy"ۥy"ڥy"و0ǠF0y"ݥy"ܥy"ۥy"ڥy"٥y"؈ i}0ǠF0y"ܥy"ۥy"ڥy"٥y"إy"׈0ǠF0y"ۥy"ڥy"٥y"إy"ץy"ֈ0 j}ǠF0y"ڥy"٥y"إy"ץy"֥y"Ո0L-`8`E)))8i@0 *ڄԠ k}"("!""" "L**""""""&О"("!"" l}G" "L**""""""&О"("!""" "L** m}m""""""&О"("!""" "L**"""" n}ǥ""&О"("!""" "L**""""""&Оd o}Ǡ"("!""" "L**""""""&ОL-6"e" p}"e""e""e""e""i""}"""}"""}"""}"""}"""}""ǭ"m"""m" q}""m"""m"""m"""m"""}"""}"""}"""}"""}"""}""ǥՅօׅ؅مԅՅօ r}Dׅ؅`` ` ` `80 `ԥՅ +.HJ)iFiFi1FicFi'ȐȦoFiU s}ȐFiiFi#iFiGi Fii@F iiFiiciՊFigi'iՊօשBL-`I t}))83Ԥԥդե֤֥פץؤإ٤L,K6"ХL--L--L- u}-E0:e٥eإeץe֥eՐ؅٥ׅإօץՅ֩L-8٥إץ֥հ'I8 v}م٘؅ؘׅטօ֘ՅL-ؤm\G0Q@Ն֩م؅2եمֆשم"ե؅֥م׆ةեׅ֥ w}؅ץم؆لԘ)q +` . |. &7i |. ,%!L?.`刱䈱㈱∱ x}ሱ`ԅՅօׅ؅م`ԍՍ֍׍؍ٍ`ԍՍ֍׍؍ٍ`L.L. Խսֽ y}׽ؽ` L%/`ӽޕ &ԅ)@إ)JJJe)e - M z} 1. &Je0F 2 . /L(8`@ԠՈքׄ؄` . |. , . . |. , #/L(8`0 I@ԥ) {} 2f / . & r 1. #/ &?P , .Iiԩ +)ԅ ,ӽޕL(`8`$ |})Ԧ61718191:1;1 (ť)8@0$Յ)e)e -F . / , . &1 1. }}: #/ &F I`U9>`D'RFuCU?b9dYdg@W2@>?tS)%)@0)%ԅԢ / . &G  ~}G 1.Ӱ6 #/ &.ӽߕ ,ԅԥ B1 (`8``0?i? . . / , #/ &ԍՍ }ǥ֍׍؍ٍ . . ( / , O2 / ,0 .JeF 2`L+) .e٥eإeץe֥e }Պi؊؅٥ׅإօץՅֆե1ԥ'JffffJffffJffffJffffم`ԩ&&&&*&&&&*&&&&*& }&&&*`Pi`)JJJeԅԘ)Peԅ`եԆ8@EB)JJJeԅԥ)PeԅԘ)3eԅԽ3eՅ՘)JJJ}3 }ǥ}3`)JJJeԅԥ)PeԅԹ3eԅԹ3eՅդЧ` 0@P`'Nu pX@(#d,X L(  兢 }ǘ0襙 bɥ⥋㩀 50ɥ0DȱȱȄ   ik#ZMkVgğe拰ㅋ }⅊0 eee拰 L f5дƨħ 4LY4 f5К,樥ŧH 4h h5L4樤ܱ.* O %30 }  5Ԅ +(fԤԈ`ř嚰Ԥ`ڥۥड़0-԰eڅڐۈ0eeL+58` }O#`,#5  6`]5 6DE 68DHEIHI V0$ 6Sл B } V,# 6` $#LllBHI V0HH V0Ԩh``{a$%Ȏ$$xө$Ѝ$ ` } `@X a Ӆʢ ʎD  _ɠ %` ɩHH `өL: g% D }:AUTORUN.BASөjJHH`ՠԢӱԙ!ӹ!`֝DEIHB V0Y|ڝDa۝E }օܥׅݥܝHݝI V0+Ӡڑڑ0`l `  䅠 _ɠԐ }DZe拢 &L &Lħ © ¥4 䥝ň剰' k ɀ8@4= LY ĩ`OJ ]J?L }ǘ KԪȱLRHHצ R, hhLRHHHHHH /0ȑȑޠhhhhh }Džh`HHHHHHHHHH $H bɐhȥLHhhhhLň剰) }si桰` )``L(兢ħ #$ x Hҩ h$襚ҥw ԝ` } UV #T` ` `,H ¥ȍ` JKhLŢ  #)I L ¤Ȣ`L¦ ¦ Lĩ }G ½J*K+ $LąLĩ …L~ …`H Ġh é`,H hH Ġ  ĭ 8}} }ǐ L n [h`LkL © 8倝偝 Ġ  ĥ󥃅  Lĩ LH }ǩ éLH#h ĩ`H hKJ L+ , H hHHħ s hKhJ  Lĩ# qL }ǩ ŘL ũ& QŽLM " ĽNL  ĥԝL՝M  ĥԝN%LV  ¤ħ` Ťħ` ƪ Ċ }!Ťħ` ¢`届 x݅% L ĽCӠɀ L]Ɉ L] Ln LŠI }ǘHEDBL$HH hh +L `ħ LĢl ¦`YDAER ԅՅ֦ }DZ󅗄`L+ ¢p 0 Hp hɈL` ,#,$,!Lé ,H ĥDEԝH՝Ih L }©L $`L© , k ĩԅ  + ĥ 夨ħ`2ƪƪ ! A!Ƚa!Ƚ!Ƚ!Ƚ!Ƚ! }ǝ``氤hhL1@$ƪư 0 0 n$P`L+FҐ֥װ綾إٰو LǠFf }ؐ ee&ee* &eeeԪeըee$.ƪ@!Ƚ`!Ƚ!Ƚ!Ƚ!Ƚ!`檦 }!!!!`!@!^!` Ȅ 8 n奱 ٥Lǥ֤צưĘ=ŗ78֪א& } eԥe$`L: L ԅՅօׄ 1פ& ٤ţĢԅeՅe8包卅 ]& }ǥ 8Ԩժ%אְ`ֆL夨ħ` FҰg8&0ei֥i0Tׅiإi0BJe؅eم0&f }fff&0 &0 eeL+օפإ颎 %8包ԥ卅 L ɥ }ǨȱъŠe拰8``,ªȱȱI ѝ3ȥLɥHHO] }Ǚ  ȥe暰Х ȥL+ʅȱhh`Lħ OԪȱԨ``L :0 } `L(奷 bɥ󥋅ȱȱȱȄ#鈄0B8eeŶ }ɛ,@LBˤ,ɛ`L?± ˤ樱f Oƨ x݅ + ~ [ˠ O樥0# +  L˥` }GLL :ɛ,$PH h $P润䧰 ʐLʦ䧐 +` ʐL3LBˢ }ǥԝD՝E֝HםI L 兢L]& 兢L% ,L6 ,L6 &L6 (L6妪@!I@!` ؐb`P KW ؐRB ؐ }=;G ؐ4@ ;+ƪƪ@!=A! (ƪƪ@!A! ƪ@! ,@@檦@!`!!!!!!`ƪ@! ǩjҤ }ǩ /L.٤ƪƪ@!@!, 舽`!`!!ـ!!٠!!!!!`@!jI*` . ֪ ( }ϰ`(8` ֤ׅԄ +҅L: Lyƪ8吪周Ly sũ + ŐL Ly sŠԄ h L} }= L}٩    e쪽pLyL( + ڥHAJ h) 0:i`  ک; n +ȱ)ȥ% }ݓ Lh ԍՅԄׅ֩өL:ƪ?Ԣ )ɠ )  -L &Lڦ@!)@!` n)8@ } -L:` / n)8@I= n)8@/ѩ֔$ሄ ,L: + n 0L8 n } 0L8 n H1L8 n /L8 n /L8 n D/L8 n 1L8LLإL( &)ԥ)8@JjH@ }MC)JJJe)e .F / .P . &F . #/ &L.L(HHHHHH /hhhhhh & } Y/hԅL:,` L _ܘ%ᨥ%Ly _ܘᨥLy _ܘEᨥELyٚ<|'g 0L` }ǽ!!!!i ` &LإL٥LyɥLzvmZ ƨ!0 4 䦵 ¥ԝD՝E֝Heם }I Lܤį eį L` x݅ƨLLLܤ ©`#ۢ Lĩ_,ߤ }ǘ ڄ . eڅԥeۅհ"8څ֥ۅא8ܥݰL۠Q%0ԅإՅ٥ަ0%Q% }L-ե0LޥڤLyمօנ6&֐ eו`L( Hħ hբՅ `ޥԢ `ޥՅ֠ }&&֐eܥeېڈ 7 \ 7 j N \ N j$0!ee80å/8ܥ۰uڕ0 }ǞeUiV`TUV`8UV`eTi`8TȢ` $L„')Q ȱ8 e }Ǖ新`8`L齀).Q Ӱȱ8e新 O :L䅫# *$Ŭ }G Ʃ HL"䥫ș L` Ml/#樱0ZS'`ȱȱȱȱȱȱȄ`ȱօȘuԩׅu՘e֨҄` }DZI 屝Ҡȱȱȱȱȱ` n$҅J?eԨe` L 兙 兛 n %3 Ԥ` ҩ, } , , L檤 ٙ!ؙ!י!֙!ՙ`!ԙ@!ә !ҙ!` 䤪ƪ!ٹ!ع!׹!ֹ`!չ@!Թ !ӹ!`ƪ!! }ǹ!㹁!a!A!Lp ґȥӑȥԑȥՑȥ֑ȥבȥؑȥّ` ***j)e)e`ʭȅiȅ }LJiȅȩȩ Lfإ  4  \ +] ¥򄟄 }dz   넨ɛ$0L祔 Z f0#ڠ쩀 ߩ6ei$0 녖چ + !5 }ɛȑ @膔7 ɛ 襔!ɛL! _ɩ8$IȢ %e拢 } &!$P* &8孨客 "&$ 1L~ L~ &L _ɰe拢 &L~ +0 %30Ԅ }`L 9:枢0 O L :H9Hhh tLHH`dh }hLCL馩`ʀLC枢0ְşLC`A枢Ɣ!L!L }ǚ!T 򈩛LQLD ijq ߰,iŰD VD8` 覲`8` 넬 S( +饰 }0 S0:$$ p8`$p (ȩ@҅ҥ򄬤 ߰ A L8򨢄 %Ӥ򈦬ʽ ʽ % }+HH 屝EҨhh$P0Ƭ 襯I `_A[`8`80 &Ոԅ }E` 넬$ +  + h갳 h) + , 褔ԙ!` "8` 襔 ɛ "ȱ" }ǔ嫤!`! `) ɛ%)a{)_0:A[_դ`RE͕DATINPUԑCOLOҝLISԖENTEҚLEԛIƜFO }ǗNEXԑGOTϑGO TϑGOSU½TRAАBYŐCONԞCO͟CLOSŐCLҐDEǞDI͐ENĐNEנOPEΖLOAĖSAVŢSTATUӣNOTPOINԡXIϤOΒPOKťPRINԐRAęREA }ĨRESTORŐRETURΩRUΐSTOАPOХGEԫPUԑGRAPHICӒPLOԒPOSITIOΐDOӒDRAWTϓSETCOLOҬLOCATŔSOUNĦLPRINԐCSAVŐCLOAĚERROR- }ǠDPOKœMOVœ-MOVŪ*ƐREPEAԑUNTȊWHILŐWENĐELSŐENDIBPUBGEԒFILLTϐDϐLOOШEXIDIҖLOC˖UNLOC˖RENAMŖDELETőPAUSŖTI }ME$PROøEXEÐENDPROÑFCOLOҪ*̕-RENU͒DEDUMЪTRACTEXԖBLOAĖBRUθGO*’PAINԟCLӔDSOUNCIRCLū%PUԘ%GEԚG }OTGOSUTSTETHEΣ<<>ުNOOANĨ<<>STRCHRUSASVALEADATCOPEESIRNFREXLOCLOSQSGABIN }PADDLSTICPTRISTRIDPEE˦INSTINKEYEXOHEXDEDIFRATIMETIMMOEXERNRANTRUN%%%%GOUINSTERER+,%5 }&6(+8,<Xk`fghilm^deDѳHc?,Ќ,е,Y_Ҳ+7,/0 }1 2!3"4Ɛ"-"."-؂ٿ֐ː }ǾĐאŐbj+9,+;,ʐͭ }njͭ@ABC\=>[<+:е<,&%rvnnxc<\ }-78s_XV+@D&0d*"'2GJh N }Rl~&2 +饰(+VWZ ]a8`L`  ¤ħ.H h L5 䄡 } 䅭 bɠ04Ů .ŭ%) e拰 ĩ L+Ư0 Le }`毤Hɛ) h`  L ȱ R @ʆ ȱȄ Iğ` :62T F : }7 8 Lbԩ- L 8 8,I ɨ 8L.UH `ƨh $ %3   + \L L 8󅯩" }G 8" ©" Ư" L8q :Z#]abj(=) W같  L樤ħ`hh`H YhZ }L<>EO ƹƹ0`H f5h`I&` =? FQA` L񄳱ȱI 䦐 }Ħ ąŅ T k /䧰 k ,Ǡ ĩJH ThĥȑĥȑĦʊȑ`HHąŅ }H h hhhh ȱIELZ L`ȱI Hȱȱȱȱȱ }, h @ $L+L.*ȱȱȱȱȱjEE `EjI `e`ħ ¥ }0 ` Lk 䦪`! 䧰L A@L `I&`L ©؅ L. }DZ0`STOPPED륺 bɠhhL :ʅ` k %3Hƹ h5h`hbjH h # }ԤLQ #LLei  `LԑȥՑȥ֑ȥבȥؑȥّ``䈥剰 }#)iiLɠL4űI&`048ץğ=ȱȄ  }`L  L0e拠0ȱȄL  䦪`!' >?L (<ж`!  $Л +`,LőŐ78Ƒ8 Ƒ`8` - PѠ }ǥ`,,L L PQ 8,L ȱI ѝߠȱ`ԩ },L E  $EL+L],,,؍ 0âLɀL ©7 F󦹩 RbL g  }NJ0g `Ո V fL{Ն + +􅕄L AT LINE?BLOAMEVALU>#VAR$LE?DAT>3276INPUDISTACOVERFLO?LIN? }FOTOO LON?DE?GOSUGARBAG?CHMEͣ?LOA?NES?WHIL?REPEA?D?EXIXPRO?EXE?PRO?IS OPE?DEWR ONLCMNOT OPEΣRD ONLEOT };RUNTIMEOUNA!FRAMCURSO!OVERRUCHKSUDONMODNOT IMPRAGD?>#FILEDSK FULFATAL I/FILENAMPOINLOCKEDCM>DI }?FILPOIN?APPNBAD SECTORӥHՄ +h & .hԩ + ,҅L: ƪn (@Մ$ 0` 0 })` 0LoH - . /h &@Յ՘-J X) 0:i`AVC2 sŠ 5  <)  < }G L L + e +e`e`&&&&&&eee` & }&eee&*`` 兙 䦪!0 4 ۄܱ **m ݤܱEۅڦڱ= }I ܥeƥiեLN@ ` **)]` 00``MX ( _((8 }8`W)ߥ & &e &߽řِ׼  P!!* Dieses Programm laedt das!!* Musikmodul "Demosong.com"(!!* von Disk und spiel es a})b.2< #A AF--@-1@57=V D:BMAGIC.COMP)@Zc)@gsZ-)@w)}@#-6-%$AVd-)@'0)@4[-6-%$AVn((6-?:A6<@_c<@gx<<&,x@|}C #AP A* SONG ABSPIELEN *>-@GK@O> $Music from the Black Magic Composer!2}-@ @!D2 press START to continue.6-?:A6<<@H],F: B2y,"@av.6-?:A6<<|,}.@e @2-@#@!',2 D M2-@QU@!Y2 Loading "D1:ASI15AM.BXL"%}D1:ASI15AM.BXLA A"H* DATAZEILEN EINLESEN *6-N^":"6@b"A6%06-%@}: A,$6@* DATAZEILEN FUER DIE AB-J* ROUTINET^LL32,146,6,104,104,133,229,104,133,228,104,104}G,240,64,72,32,143,6,24,169hHH3,101,228,133,228,208,2,230,229,169,105,141,34,2,169,6,141,35,2,24rHH169,3,101,228,133,0,1}69,0,101,229,133,1,24,104,105,7,168,177,0,133|AA2,240,12,160,3,169,0,145,0,32,140,6,76,78,6,76,146,6,32,146EE6,169,95,}141,34,2,169,228,141,35,2,162,8,169,0,157,0,210,202,16BB250,96,108,0,0,165,2,208,12,32,146,6,32,143,6,32,146,6,76,95EE}228,32,143,6,173,31,208,201,6,208,6,169,1,160,3,145,0,76,98,228II108,0,0,108,228,0,162,27,189,164,6,72,181,228,157,164,6},104,149,228202,16,241,96,-1* DATAZEILEN FUER DAS* LADEPROGRAMMJJ104,104,104,10,10,10,10,17}0,104,104,157,66,3,104,157,69,3,104,157,68GG3,104,157,73,3,104,157,72,3,32,86,228,132,212,169,0,133,213,96,-1}** Ende der FahnenstangeTOU +0>AR@BH1@eLNTZC@^AUB7tA&}-@ *&  D.G.S PD 171@-@.2@6j@ &(c) Copyright Andrew MCINTOSH 1990-94.6-@nr@v6 De}#veloped by ASI Industries.@'+@/8.-@<@@Df. All Rights Reserved!3-@jn@r3 Assemb}ly Source Interface '-@ $@('  version 1.5AM    ,, $This version fixes all known bugs in*)) !my pre}vious version of ASI v1.5AM4((  dated the 14th of December 1992.> H** "If you spot other bugs and or knowR** "of} any enhancements that you would\'' like to see in a future versionf** "please get in touch, my address isp in t}he doc file.{Q D:AUTORUN.BASlike to see in a future versionf** "please get in touch, my address isp in t(`}sLY`L`Le _ҩҌh}6Nf`0fcfeaf``Nfh; iDžhih ``f `bf`h10f ` 0f a a b bh `c}f 9e ~e`cf`Hf iee eLafNf ffgf eHf}Zf HHf hGiHiie eHff ef e} f eH)$fh)J(f e4f e8f et85/NLJGECA?=;9764310.,+*)'&%$#"! OMKHFDB@><:875421/-,+*('&%"!    }ii(j>mwjjk3dkkloQlll3 pp q vq rrw: ss t vt uuw:v ww@ xx y@y zz@ {{ |@ }} ~wG~ wG wG}K wGp+pGp]ppq3qDq`qq`rmrzrrrrrrrrrrr ss#s0s=sJsWsdsqswoVW [[bc kmw w{}  )-58==MMQUgj}}9<BJNV[^hhlrv} (,00>>DHPPX]mny}C  ,/==AAIIiiq};CMP^^bbjj}}  (0044<<@@DDH HL LX \ ddlqw}.5>CKPW\}}cd}}I '  ' ####SU[]ci su{  } *,JK PQ VW ^c j!}, ''' '' 57'ET''Yfk'"}'24 PQ(rt }#}   !# )+ 15 uw}$}, 02 =HsrLNS[``ffmmuu}%} ""//==IO Vimmq &}$+5 @JojhgfedcbbNaQ`srWX \d i io ov v}'}  ++88FFPTsrXgllrryy}(} ""..;;IIUU})}}*}}y^^NNNNNNNNNNN1N1N1N1N1N1N1N1N1N1N2N2N2N2N2N2ABCDEFGHIJKLMNOPQRST1T2,}GT3U1U2U3VV1V2WYZZ1Z2BUFLNPDM1M2IN1IN2V0ZERRMENKLDIRECTORASAMMKINDOCD_O_BRFILESDIRASIFIL-}-ESFILESFILESASMTYPBOOSESTARINNESADFREZNEDINFLDISTAMABUFBUBUFFERRPFDN10STINBYTEDPRINBYTEPR.}dzPRBYTEPRBYTEPRPRSTDFEDNCRDFECRFCRFBPAFITFITFFITRTMPDDCXLDCLLLLBPNDQITQIT/}!L1CRFEFELLLRXZFNDPR+.@36@;>@CF@KN@SV@[^@cf@kn @ sv @{ @0} @ @@!@&)@.1@69@>A@FI@!NQ@"VY@$^a@&fi@'nq@(uw{1}ǁ ' 6!E"G#I$K%M&O'Q(U)Y*]2}+a,e-g.j /v0y1|23456789:3}H;xi ?u @ABCOPDVZEf^bFƍfjG@osHAUwIA4}JA K BLAM{B!%NAC)-O_C15Pw9=Q;AER؉JKSQUTY]U>aeV΋imWuquXyYb5}Z [p\nE]$(^,0_I~56`<@aDHbLPcCUVd\`ePdefflpguvh|6}i jekl !m()n01o7;pjp@AqGKrfOSs,W[th`auhivoswygwxj7}yi z{g|0l"&}Jh*.~Bo26m;}Cq;,;,;,;,<88;,;,;,;,;A ,;,;,;,;,F;,;,;,P% 6-6-+w%A?}?+Z^ Pd ] )n6-A/b6.=:,x67B:,%,.  "$@f` &" Press a@}>ny key to continue.&)AAR` BBXA!6-&@G\w!j @{)A}!@.\] PP\]6-@2]P PPPPPPPP6-B}P"\,] P6-P6! -!SOURCE FILENAME :@4AJ 6.6..C}>INFT% 6.67B:,%,.%67B:,%,.^ P Ph @BP APr^ \|]%DD}1:DOCPRINT.BXL]? # JPress 'Y' for DOS)* AS-)9@Nk<?%B 6.D1:P Bou'@y3E}ARB6-?: A`G,\T]7<,4D- *P A\ 6-" AU6-&F}ǁ 6-% 6.67B:,%,.67<,..A@67<,..M&A067<,.[:,67B:,%,.:G}PD -  Creating N(X  *= $b67B:,%,.l67B:,%,.v 6-%6.=:,6H}>7B:,%,. P 6-PAT] @wB3 6.6.6.6.&6.,6-36.I}!7<,4D$!BU46-A%l $\ ##  LINK 7<,[:%,6-@pP6.PJ}XA \A B$P*4##  LINK 7<,[:%,>6-@\PH 6. PRA\  K}\fAp@z 6-A( ! PP\@) "*"PPPP!P%P)\ ! P3lL}"A6'#A)6-3 A "*"%P9P:\ *PPP\A PPM}P\P ^ @wT  "6. BRK6-P) "6. ORA ($!6.,X)%P)P$ N}"6. ORA $6- P$P$$ "6. ASL $6- P$P. "6. PHP6-P8% "6. ORA #$6-O}!P%PB&" @86. ASL A"6-&PL0" @<h6. ORA $"6-(6-,P0PV0" @l6. ASL $"6P}C7-(6-,P0P` 4PPj \ At @1;F~*" @Jp6. BPL $"6-&P*P/" @t6. OQ}Q"RA ($'6.),Y+P/P3" @!&U6. ORA $%6.,X+6-/P3P3" @"Y6. ASL $%6.,X+6-/P3PR} $" @$/6. CLC 6-$P-" @%3\6. ORA $%6.,Y)P-P-" @)`6. ORA $%6.,X)P-PS} -" @0U6. ASL $%6.,X)P-P 4PP \ A @GYd1" @2h6. JSR $"6-)T}6--P1P/" @3G6. AND ($'6.,X)+P/P*" @6Kq6. BIT $"6-&P*P *" @7u6. U}AND $"6-&P*P*" @8"H6. ROL $"6-&P*P$" @@Ll6. PLP 6-$P(+" @Ap6. AND #V}$#6-'P+P2&" @B@6. ROL A"6-&P<0" @DDp6. BIT $"6-(6-,P0PF0" @Et6. AW}#ND $"6-(6-,P0PP0" @F'o6. ROL $"6-(6-,P0PZ 4PPd \ An @csx*" @X}H+6. BMI $"6-&P*P/" @I/Z6. AND ($'6.),Y+P/P3" @S^6. AND $%6.,X+6-/PY}3P3" @TC6. ROL $%6.,X+6-/P3P$" @VGg6. SEC 6-$P-" @Wk6. AND $%6.Z},Y)P-P-" @aD6. AND $%6.,X)P-P-" @bH6. ROL $%6.,X)P-P 4PP [}\ A @y$" @d#C6. RTI 6-$P/" @eGr6. EOR ($'6.,X)+P/P*" @iv6.\} EOR $"6-&P*P*" @p#I6. LSR $"6-&P*P$" @rMm6. PHA 6-$P+" @sq6. EOR ]}#$#6-'P+P"&" @tA6. LSR A"6-&P,1" @vEr6. JMP $"6-)6--P1P60" @wv6.^}% EOR $"6-(6-,P0P@0" @x)q6. LSR $"6-(6-,P0PJ 4PPT \ A^ @uh*"_} @-6. BVC $"6-&P*Pr/" @1\6. EOR ($'6.),Y+P/P|3" @`6. EOR $%6.,X+6-`}/P3P3" @E6. LSR $%6.,X+6-/P3P$" @Ii6. CLI 6-$P-" @m6. EOR $%6a}.,Y)P-P-" @F6. EOR $%6.,X)P-P-" @J6. LSR $%6.,X)P-P 4PPb}C! \ A A$" @%E6. RTS 6-$P/" @I6. ADC ($'6.,X)+P/P*" A6.c}c ADC $"6-&P*P*" A6. ROR $"6-&P*P$" A6. PLA 6-$P+" A6. ADd}C #$#6-'P+P&" A6. ROR A"6-&P4" A6. JMP ($%6.),6-0P4P&0" A e}6. ADC $"6-(6-,P0P00" A6. ROR $"6-(6-,P0P: 4PPD \ AN A'Xf}*" A6. BVS $"6-&P*Pb/" A6. ADC ($'6.),Y+P/Pl3" A6. ADC $%6.,X+g}6-/P3Pv3" A6. ROR $%6.,X+6-/P3P$" A 6. SEI 6-$P-" A!6. ADCq}B%DOS SYSB*)DUP SYSB SRAMDISK COMB\AUTORUN SYSBAUTORUN BASB(BMAGIC COM+ASI15AM BXLBDOCPRINTBXLCBASI15AM DOCjVER 8DOCRESOURCEDOCDUP= INFRAMDISK INF[BONUS BASCmSPDSCRPTCOMSPDSCRPTHLPq $%6.,Y)P-P-" A%6. ADC $%6.,X)P-P-" A&6. ROR $%6.,X)P-P 4Pr}P \ A AC/" A)6. STA ($'6.,X)+P/P*" A26. STY $"6-&P*P*" s}A36. STA $"6-&P*P*" A46. STX $"6-&P*P$" A66. DEY 6-$P$" A8t}G6. TXA 6-$P0" A@6. STY $"6-(6-,P0P 0" AA6. STA $"6-(6-,P0P0u}u" AB6. STX $"6-(6-,P0P  4PP* \ A4 AY>*" AD6. BCC $"6-&P*Pv}H/" AE6. STA ($'6.),Y+P/PR3" AH6. STY $%6.,X+6-/P3P\3" AI6. STAw} $%6.,X+6-/P3Pf3" AP6. STX $%6.,Y+6-/P3Pp$" AR6. TYA 6-$Pz-" ASx}6. STA $%6.,Y)P-P$" AT6. TXS 6-$P-" AW6. STA $%6.,X)P-P 4y}PP \ A Au+" A`6. LDY #$#6-'P+P/" Aa6. LDA ($'6.,X)+P/P+z}" Ab6. LDX #$#6-'P+P*" Ad6. LDY $"6-&P*P*" Ae6. LDA $"6-&P*P{}*" Af6. LDX $"6-&P*P$" Ah6. TAY 6-$P+" Ai6. LDA #$#6-'P+P $|}" Ap6. TAX 6-$P 0" Ar6. LDY $"6-(6-,P0P 0" As6. LDA $"6-(6-,P0P}}$ 0" At6. LDX $"6-(6-,P0P.  4PP8 \ AB  AL *" Av6. BCS $"6-~}ǂ&P*PV /" Aw6. LDA ($'6.),Y+P/P` 3" A6. LDY $%6.,X+6-/P3Pj 3" A6}ǝ. LDA $%6.,X+6-/P3Pt 3" A6. LDX $%6.,Y+6-/P3P~ $" A6. CLV 6-$P -}" A6. LDA $%6.,Y)P-P $" A6. TSX 6-$P -" A6. LDY $%6.,X)P-P -}" A6. LDA $%6.,X)P-P -" A6. LDX $%6.,Y)P-P  4PP \ A  A} +" A6. CPY #$#6-'P+P /" A6. CMP ($'6.,X)+P/P *" A6. CPY $"6}j-&P*P *" A6. CMP $"6-&P*P *" A6. DEC $"6-&P*P $" An6. INY 6}-$P +" A6. CMP #$#6-'P+P $" A6. DEX 6-$P( 0" A6. CPY $"6-(6-},P0P2 0" A6. CMP $"6-(6-,P0P< 0" A6. DEC $"6-(6-,P0PF  4PPP }G \ AZ  A#d *" A6. BNE $"6-&P*Pn /" A 6. CMP ($'6.),Y+P/Px 3" A}6. CMP $%6.,X+6-/P3P 3" A6. DEC $%6.,X+6-/P3P $" A6. CLD 6-$P}ǖ -" A6. CMP $%6.,Y)P-P -" A!6. CMP $%6.,X)P-P -" A"6. DEC $%6.,}X)P-P  4PP \ A  A9 +" A$6. CPX #$#6-'P+P /" A%6. SBC ($}'6.,X)+P/P *" A(6. CPX $"6-&P*P *" A)6. SBC $"6-&P*P *" A06. I}NC $"6-&P*P $" A26. INX 6-$P +" A36. SBC #$#6-'P+P $" A46. NOP }6-$P" 0" A66. CPX $"6-(6-,P0P, 0" A76. SBC $"6-(6-,P0P6 0" A86.} INC $"6-(6-,P0P@  4PPJ \ AT *" A@6. BEQ $"6-&P*P^ /" AA6. SBC (}$'6.),Y+P/Ph 3" AE6. SBC $%6.,X+6-/P3Pr 3" AF6. INC $%6.,X+6-/P3P| $}" AH6. SED 6-$P -" AI6. SBC $%6.,Y)P-P -" AS6. SBC $%6.,X)P-P }-" AT6. INC $%6.,X)P-P  4PP \ T ] "  PP  AP}\ P  P\  6-P P  P @&  PP0  AP\: AD A}^ \N TX ]b l"A(\l 7<,4Dv  6. ; END OF CODE  67B:,%,. }P 6-P @ 6. .OPT NO LIST  67B:,%,. 67B:,%,. 6- P  6-%6.=:, }67B:,%,.  6. ; END OF CODE  67B:,%,. 67B:,%,. P 6-P* A4 @>    }E END OF CODEH AR ]AR^ \ lf !lA6 !  Error lp Az     >:AS, 56}-F:@ , !6-$@+!26-5A ( -( Press return to continue. )AUA4   }% T O  4\   ) 6.[: ,6 - % Q T O  4\  %" ) 6.[: ,6} - % 6-\ A$ ) 6.[: ,. ) 6.[: ,6 - %8QBTLOV 4\ ` ) 6} - %j A(t6-%% ~@6-% &ATA 6.[:,6.[: ,QTO7<,4}DP  ; * 67B:,%,.@  ; *  67B:,%,.A@}(   2A<67B:,%,.F67B:,%,.P67B:,%,.ZPdQnTxO7<,4D}P##  ; *  67B:,%,.@##  ; *  67B:,%,.}A@   A67B:,%,.67B:,%,.67B:,%,.67B:,%,."67B:,%,.},P6Q@TJOT7<,4D^hPr%%  ; *  |67B:,%,.@%% } ; *  67B:,%,.A@   A67B:,%,.67B:,%,.}Ǟ67B:,%,.67B:,%,.67B:,%,.67B:,%,.PQT&O0400*":P A}F0DAN7<,4DXbPl++  ; *   v67B:,%,.@++ } ; *   67B:,%,.A@""    A67B:,%,.67B:,%}ǁ,.67B:,%,.67B:,%,.67B:,%,.67B:,%,.67B:,%,. PQ T*O44}00*">P AHHAR7<,4D\f++  ; *   p@z--  }; *   67B:,%,.A@$$    A67B:,%,.67B:,%}G,.67B:,%,.67B:,%,.67B:,%,.67B:,%,.67B:,%,.67B:,%,.PQT}$O.7<,4D8BPL##  ; *  V67B:,%,.`@j##  ; * } t67B:,%,.~A@   A67B:,%,.67B:,%,.67B:,%,.67}B:,%,.67B:,%,.PQTO ^ 7<,0D     START $END $ }  ORG $(@2    START $END $<   *= $FAPAZTd7<,4Dnx6}ǝ. ORG $6-P""  ; SEG * *67B:,%,.@6. *= $""  ; SEG * *}67B:,%,.AAT* &"6.P9P:'"P&P*\67B:,%,.67B:,%,.67B:,%}ǁ,.67B:,%,.P 6- P 6-%6.=:,"67B:,%,. ,QT O 6. P 7<,4D}*4P>  ; * H67B:,%,.R@\  ; * f67B:,%,.pAz@}  A67B:,%,.67B:,%,.67B:,%,.P 6.[: ,6- P7<,4D}P  ; * 67B:,%,.@  ; * 67B:,%,.A$@. }ǩ 8AB67B:,%,.L67B:,%,.V67B:,%,.`Pj 6.[: ,6- Pt7<,4D~}P  ; * 67B:,%,.@  ; * 67B:,%,.A@  }A67B:,%,.67B:,%,.67B:,%,. PQT(O27<,4D- *<P} 6-PF 6-%6.[:,P 6-%6.=:,Z67B:,%,. dQnTxO7<,4D- * }"&P 6-P 6-%6.=:,67B:,%,. ' PP\@P 6-P 6-%6.[:,} 6-%6.=:,67B:,%,. AQTO7<,4D- *" "&,P 6-P6 6}-%6.=:,@67B:,%,. J 6- 'PP\T@^P 6-Ph 6-%6.[:,6-r 6-%6.=}G:,|67B:,%,. AQTO`AR^ QTO -6.[:,#7<,}47<,#6-A@$  -6.[:,#7<,47<,#6-AV$  -6.[:,#}7<,47<,#6-@$& 0 -6.[:,:7<,47<,6-$D N6-%%%XQb}TlOv 6-B:,"\ 46.D1:6.\ ")7<,4D:6.D1:!6.&\)A "}ǃ7<,4D1:6.\7<,4D2:6.\7<,4D8:6.A]QTO  6-B:},"\! 46.E:6.\! " &7<,4D:6.D1:!6.&\!7<,4E:6.\! }ǰ7<,4P:6.\!A* "47<,4D1:6.\!>7<,4D2:6.\!H7<,4D8:6.\!R}7<,4P1:6.\!\ 7<,4P2:6.\! Af]!pQzT] 6.P7<,4DP}  ; * 67B:,%,.@  ; * 67B:,%,.A@  }ǝA67B:,%,.67B:,%,.67B:,%,.$P.' PP\8TB] 6.PL7<,4DV}`Pj  ; * t67B:,%,.~@  ; * 67B:,%,.A@ } A67B:,%,.67B:,%,.67B:,%,.P 6.[: ,6- P7<,4D} P  ; * 67B:,%,.(@2  ; * <67B:,%,.FAP@Z } dAn67B:,%,.x67B:,%,.67B:,%,.P' PP\TO]"7<,0}TD 6.@ 6.A67B:,%,.*.*A #@X]$\$"}8 ]# l,lA6\6A@A@<J6.7<,6-A:,T!6%-A%!6-$%&AP^Qh}TrO| &- )'6 - % &"6.[:', &"6.[:', &4FF*4FF (-} )'6 - % ("6.[:', ("6.[:', ("6.[:', ("6.[:', (@  6.6.}C )- )@'6 - %&  )"6.[:',0  )"6.[:',:  )D AN 6.67B:,%,. 6-\:},X 6.67B:,%,. 6-\:,b Ql Tv O 6-%  6.67B:,%,.  67<,..A @ 67<}ǂ,..M A 67<,.[:, 67B:,%,.  7<,4D  -  Creating  @!P !A!}P6*- !Q*!T4!O>!! 6-B:,6-%6-!6.H!QR!T\!Of! 6-%6-p!Qz!T!O+!!}067<,. DB '#67<,.>:,067<,.'!@!267<,. .BYTE "%67<,.>:,267<,."!A!Q!T!O},!! 67<,. DB $ 67<,.!@!"67<,. .BYTE $"67<,."A"Q"T$"O." 6-6.8"} * @1#P,\-B"# @2'-* @31FP+#\-L"" @4JyV" P+\-`" P, \-j"At"# @5}}* A$P+#\-~"("# A%* AYP,#\-"# A`* ARP+#\-" ASP,\-}"@" A%P,"A" ]- Q"T"O" A `" " 6.-.%# 6-\:,6-\:, #Q}#T#O(#' 6-6.!67B:,%,.*.*' /2#<# E F#7<,46-GP#FZ# ]/A}Ǖ 6.d#Qn#Tx#O#! 6.67B:,%,.*.*! 0## E #7<,46-G}#F#]0A#Q#T#O# )&)'6 - %#& AU*' AU# ERROR! WRONG} FILE TYPE.# PRESS ANY KEY.$ )  %$A$Q"$T,$O6$`@$PJ$# -# Which assembler type?T$& -}Z& 1: OSS MAC/65 Assembler.^$' -' 2: Atari Macro Assembler.h$)r$6-&@I^g|$!! ms)!@wA }$Q$T$O$$ -$67<,. $ $A$Q$T$O$$ - % )}w1% %Q&%T0%O:%D% -.N% X% b%Ql%Tv%O% ^ %-6-F:@{,} )!&6---%7<,0D%. -. Insert another disk in drive %@%. -. Insert another di}gsk in drive %A%* -%* press return to continue.%)AUA%0 -0 } }C %+ -%+ 6 %Q%T&O & )6.[:,6 - %& 6.[:,6.[:,}6. &( B:,"67<,.00(67<,.[:,*&Q4&T>&]H&! 6.6.!67B:,%,.*.*R&  \&  }a Ef&  p&Fz&T&O&)]2-$SOURCE DRIVE : )P&( 0-# p (\2& -}_ &6-A:7<,,&Q&T&O&+]3-+SOURCE FILENAME.EXT : &"@Hc*46.*.*& 4}k\3& 6.67B:,%,.&Q'T'O'*]4-%TARGET DEVICE : *P $'( 0-# z (\}4.' - 8'7<,4D6-A:7<,,B'QL'TV'O`'-B:,j'7<,4.65-Gt'67<,.7}<,~' ' 66-B:,67-B:,']8' 6. PP'7<,4D' A\8'A' (5' 6-&6}P' 6.67B:,%,.'@' 6-&6P'6.76%<7,(% 6.67B:,%,.%67B:,%,. (A(P( }P\8(( 6-2(6-%6.<(6..INF6-&6PF(* 6.67B:,%,.*67B:,%,.7<,P(PZ(}P 6.67B:,%,.d(67B:,%,.6-6.n(Qx(T(O(.@TA*AR.P(4 -4} &(c) Copyright Andrew MCINTOSH 1990-94.(* -* Developed by ASI Industries.(' -' Assembly Source Interface(} - Version 1.5AM+( - Choose option?( -  ESC: Exit.( - 0: Disk directory.(+ -+ 1:} Assembly Source Interface.( -  2: ASI bytes.(! -! 3: Create INF file.( -  4: ASI docs.) - }15: DOS)Q)T")],) -6)E@)6 jSTART Hex :J) Press 'Y' if ok?T))@nB`^)} :END Hex :h) Press 'Y' if ok?r))@>WB|)  @[)-- %Press the Break key to s}ave and exit.)F)T)O) ^ ) -  Does not exist!)' -' Press return to continue,) -}= or Break to quit.))AUB)- -- \ j)( -( } } )% -% , )Q*T*O* ^ &*) -) Not enough free disk space!0*' -'}Cd Press return to continue,:* - or Break to quit.D*)AUB N*) -) } } X*' -' ) 7b* - H l*Qv*T*O9* ) 6.[: ,* ) }6.[: ,6 - %**6. DW $6-*@*6. .WORD $*A*Q*T*O:*7<,4D+ +P}+%%  ; *   +67B:,%,.*+@4+%%  ; *  >+67B:,%,.H+AR+}A\+Tf+7<,0Dp+z+##    DW $+@+%%    .WORD $+A+A+}T+67B:,%,.+67B:,%,.+67B:,%,.+67B:,%,.+67B:,%,.+67B:,%,.PP+Q+T}1F0C207420782079207A207B207C207D207E207F2080208120822083208420852086208720882089208A208B208C208D208E-}208F2090209120922093209420952096209720CB20EA2164218F2190219121F5221622172218223322422345238E239023A3/ }mZ[c ERRBRMLLKEMLLPRINTELLERRKBRKKEFILESDSFFSSEASIDISLDIRCDDL2:qu2Az}; 9%&,0O:48 ?<@ ;EH @!MX A( =\`U>dh>lp+?txZ?|}? @@^A!%C BGK4COSBBWa"gios AyT}K++(c) COPYRIGHT Andrew MCINTOSH 1991.**Developed by ASI Industries,O 1993JJReleased for the Public Domain in F}5eburary 1994 by Andrew MCINTOSH.T66;i,;@9@,;@DK,;@OV,;@ Zl, 9^ @pxf)@|}@9=-P9Af "f P (!gg@Auf!6-%g2T<]-g)gF"!&@y*"}@2\'"\P"AU6-g%g'\Z h>:,d nTx ] hF:@`e,!@ir?-@v@"}=4 Press any key to continue8PG2-@K. Press any key to continue.2)  %}%TO g*h@#-g@) h  6-f#AQT"O,4 -gg4 &(c) COPYRIGHT Andrew MCINTOSH 1990}C -94.60-@=h0 Developed by ASI Industries.;(-@Aei( All Rights Reserved!@3-@im@q3 Assembl}y Source InterfaceJ;-@#@'V; !Documentation Printer Version 1.5T(-@Z^@b( Choose option.^/-@} @ 0/ : Load Main menu.h--@48@<]- : Disk directory.r$-@ae@i$  : Screen|%}-@ @;%  : PrinterT ] )"@'?n6.D1:ASI15AM.BXL\A6-&@Hr "f }r` DIRP\% "g `  DOC - SCREEN!P%\& "h `  DOC - PRINTER"P&\\0]6-@7vh,}h@ .fE:0PQTc]-@26@:?3 T ZE-@^b@fc : Print width 40} column3-@@T3 : Print width 80 columnT&] )6-&@HX0  g)!h\:TDO] 6}-$@@ %@E@!%@)+1<P:O @0@UN ] XA-@Y]@"a9  Check printer and pres}s =PA\bTlOv ] )QT]ARgl"A6A   ERROR l  4 }6-F:@ ,( @!)!@!#+46-@!/=0 -i0 "_ o3 -i%g3 "}  } 8-@". Press any key to continue.2)58%TO`ARg^ Q }TO -@@SSOURCE DRIVE :   46.D1:*-@W[@_l 4"r\>] }-@ @VH SOURCE FILENAME.EXT : R 4\\ 6.67B:,%@Z,.fQpTz]! 6.!67 }B:,%@ ,.*.* @!%@)+1C  E@Gp FT] AR@t6-@}@! 66 Insert ASI disk in Drive D1:3-@:>@"B3 Press return to continue.%]*AS)! A}U%\6-@@!"6 > G3-@KO@"SX3 q --@}@! G)  Loading ""-%TD:DOCPRINT.BXL 3-@KO@"SX3 q --@=) (c) Copyright Andrew MCINTOSH 1990-94.0 MDeveloped by ASI Industries.W nAll rights reserved.u Assembly"}C Source Interface -Version 1.5AM9 Revised Edition.Note:'ASI Industries.' is my computer hack-name."}ǛNote:The Music and player is from a package called 'The Black Magic Composer' done by Sven Tegethoff, Thorsten Winkler & U"}lf Petersen, a friend has told me that the player does not work on some Atari 130XE's due to a bug in the timing, it must ove"}r-run the VBI or something!This disk is released as Freeware within the Public Domain. Regarding all Programs with the fil"}ename extension of '.BXL', you have the right to copy, and compile, you may also edit or use some of the routines for your ow"}n programs.Additionally if you would like to enhance the programs or docs please send me a copy on disk of your modified ve"}rsion. I will return your disk as soon as possible if you wish, my mailing address is at the end of this doc file.Credits:"}ǛRaphael J. Espino, James Haworth, Ralph Bradley, Dean Garraghty, David Ewen and Tyne & Wear Atari User Group, Michael Zino "}& family, Les & Sandy Ellingham of Page Six and the rest of the New Atari User staff,Note:I do not mind other Public Domai"}n libraries especially outside the UK incorporating ASI or my other software within their library, but Please use the full ti"}tle and version number, additionally if you contact me directly there may be an updated version of that item from time to tim"}e.One other thing it would be nice if i could hear from any Public Domain libraries world-wide which may be useful when i a"}m releasing new PD & Shareware software for our Atari 8-bit computer, but please include a copy of your PD list in English ei"}ther on disk or paper.PLEASE NOTE:It is illegal to Reverse Engineer copyrighted software without permission from the copy" }right holder.The disk including all programs shall not be offered for sale, other than a small charge to cover distribution"!} costs by Public Domain libraries.Rights:All rights and trademarks of all software, hardware, and documentation are fully""} acknowledged.This is software that will allow you to reverse-engineer disassemble binary files to either the screen, disk "#}or a printer. It will produce source code compatible with both Atari Macro Assembler and Mac/65.Binary files may be revers"$}Ge engineered for many different reasons like for modification, to find out how a program was written, or even for extracting "%}%routines for inclusion within another work.Did many of you know that even cartridges could be reverse-engineered then modif"&}ied to include enhancements or even debugged and saved to disk, same with protected programs then you could issolate the prot"'}ection routine and create a working copy that may even work on the high-speed Dos's and even true double density.So my pro"(}gram Assembly Source Interface (ASI) allows you the user to reverse engineer other peoples binary program files as a bid to g")}et access to assembly programs, but it's not a true disassembly system giving you accurate source code every time, since all "*}programmers are different and utilize different methods when they wrote their program.This program has many advantages, but"+} it also has it's disadvantages, like it will disassemble every byte as assembly even if it is a text string, when it disasse",}mbles text strings it produces quite few garbage instructions, and normally knocks the disassembly out by a byte or two, but "-}it will come back into sync later.Minimum requirements:Atari 800XL or XE computer with a minimum of 64K of memory.Atar".}'i 810, 1050, or the XF551 disk drive., Optional equipment:A printer.A second disk drive, or for expanded 800XLs and "/}the 130XE you can use the ramdisk as a second drive.You do not need an assembler to use ASI, but if you wish to re-assemble"0} your customized binary program, you will need an assembler, on the Atari there are many assemblers, but OSS Mac/65 is the fa"1}stest, though i personally use the Atari Macro assembler which is just as good as Mac/65.Note:All the main programs will a"2}sk for.0: All of following must be typed in normal video and in upper case.1: Here is a list of all the device handlers"3} supported.DISKETTE EDITOR! -PRINTER D:5 7E:? P: D1: D2: D8:Only the diskette column is available fo"4}r input, but all are available for output.2: Source drive, which must be typed as D1: or D2: or D:, this has a default of "5}D1:.3: Source filename.ext, which can be either typed with or without a file extension like 'DUP.SYS' or 'DUP', but rememb"6}Ger your object file must be the sameTarget device, which must be typed as 'D:', 'D1:', 'E:', or 'P:' this has a default of "7}7D'E:'.5: Target filename will be automatically created for you.J dAssembly Source Interfaceo version 1.5AM"8}ǛThis system offers everything that 'ASI v1.2A' offered, excluding Atxibm utilities and the Assembly convertor, but version "9}1.5AM offers much more for example v1.2A could never disassemble very large binary files such as the top demos part 1 and 2.":}ǛAlso it could not skip bytes thus improving the disassembly process and it was very difficult to distinguish an instruction ";}from a rogue byte, since it was only a hexidecimal number and not a character.Finally it could only disassemble in the Atar"<}i Macro Assembler format, then use the assembly convertor to translate the source code into Mac/65.Now version 1.5AM has th"=}e following features as standard.1: Disk expansion.The disk expansion can be utilized in two ways.1: For a one dis">}k drive system and no extra memory to serve as a ramdisk.The source disk doubles up as the target disk, also there must be "?}at least 101 free sectors on the disk as well as the file you are going to reverse engineer. You may also have to make sever"@}al copies of your source disk, because version 1.5AM requires the source disk to contain the file for reverse engineering and"A} optionally a INF file, plus enough free disk space for the target file(s).2: For a two drive system, and for one drive s"B}ystem with extra memory to serve as a ramdisk.Note: For users that have a single drive system with extra memory to serve as"C} a ramdisk.If there is enough free sectors in ramdisk to cover the source file and the optional INF file, then use the ramd"D}isk as your source drive and drive 1 as the target drive.If theres not enough free sectors in ramdisk you could try and del"E}ete either MEM.SAV or and DUP.SYS, but if there is still not enough disk space then you must use this program as a single dri"F}ve system.The source disk must be compatible with Atari DOS 2 or 2.5, with the source file and the optionally INF file in e"G}ither drive 1 or 2.The target drive must be different from the source drive, also the target disk must be preformatted and "H}Galso there must be at least 101 free sectors, additionally it can also use disks with other files on it as long as there are "I}I101 free sectors available.2: The INF File.This INF file is what really makes version 1.5AM different from version 1.2"J}A, all it does is supply information about a source file with the same filename at disassembly time.This gives you the abil"K}ity to change the disassembly process by treating hexidecimal locations as single bytes, for example if you have ever tried t"L}o disassemble the DUP.SYS file with either version 1.2A or 1.5AM with no INF or any other disassembler, you would find the fi"M}rst instruction is 'EOR $3A', but that instruction is actually 'E:' as text.The format of the INF file is in ATASCII with a"N} single line for each an every hexidecimal location, in an order of first, last.All you have to do is write the start locat"O}ion with the first byte of a non-instruction, and the last location of the last byte of the non-instruction, but if the non-i"P}nstructions continue onto another segment then you must declare the last segment location as the last byte of the non-instruc"Q}tion and then start from the next segment location as the first.When you disassemble file say 'DUP.SYS' for example, ASI wi"R}ll first check to see if that file exists, if it does not exist it will tell you about it, else if it does exist it will then"S} look for a file called 'DUP.INF' on the same drive.For example just take a look at the 'DUP.INF'FIRST : 1F0CLAST : 207"T}4FIRST : 2078LAST : 2097This would translate into.1F0C207420782097Now when ASI reads the file 'DUP.INF' it will d"U}eclare every single byte from location '1F0C' to '2074' as single bytes, but if the first location is not in range of the cur"V}EVrent segment start and end addresses it will stay resident until it is in range, even if that means several segments before i"W}t comes into range.3: ASI bytes.The ASI bytes routine allow you to treat an entire file as single bytes, although if a"X} segment only contains two bytes it will declare it as a 16-bit word.This routine gives you the same output as ASI, it is v"Y}ery useful for gathering locations for use in the INF file, since you can see a text string byte by byte or character by char"Z}acter.What i normally do is disassemble to the screen with the Mac/65 option, and press control+1 to stop and start the lis"[}; *0414 88 BNE $0414 ; *0415 D0 FD DEXG q; *0417 CA BNE $0403 ; *0418 D0 E9 RTSz ; *"t}041A 60 ORG $02E0 ; SEG *02E0 *02E1 DW $0400 ; *02E0 00 04; END OF CODENow the Mac/65 format, it is not laid out li"u}ke the Atari Macro Assembler format, but when it's loaded into Mac/65 it will look better. The Mac/65 format is as follows."v}10 *= $0400 ; SEG *0400 *041A11 PLA ; *0400 6812 LDX #$FF ; *0401 A2 FF13 LDA #$FF ; *0403 A9 FF14 STA $D01F ; *0405"w} 8D 1F D015 LDA #$00 ; *0408 A9 0016 LDY #$F0 ; *040A A0 F017 DEY ; *040C 8818 BNE $040C ; *040D D0 FD19 STA $D01F "x}; *040F 8D 1F D020 LDY #$F0 ; *0412 A0 F021 DEY ; *0414 8822 BNE $0414 ; *0415 D0 FD23 DEX ; *0417 CA24 BNE $0403 ;"y}G *0418 D0 E925 RTS ; *041A 6026 *= $02E0 ; SEG *02E0 *02E127 .WORD $0400 ; *02E0 00 0428 .OPT NO LIST29 ; END OF COD"z}zEThe only differences between Atari Macro Assembler and Mac/65 are.1: Mac/65 uses a line number.2: Mac/65 uses '*=' ins"{}tead of 'ORG'.3: Mac/65 uses '.BYTE' instead of 'DB'.4: Mac/65 uses '.WORD' instead of 'DW'.5: Mac/65 uses a double quote "|}instead of a single quote.The difference between Mac/65 and the Atari Assembler Editor rom are.1: Mac/65 uses '.WORD' ins"}}tead of two '.BYTE' instructions, but remember to convert it back to the lohi format for the Assembler Editor rom.Document"~}ation printer:This program allows you to print the ASI documentation to then screen or to a printer in either 40 or 80 colu"}mns, this program has been extended so you must type in the drive and filespec before it will display it.Other stuff on th"}e disk:I have included two INF files as an example only, since i dont know if they are correct or not, they are called 'DUP"}.INF' for the file 'DUP.SYS' of DOS 2.5, and 'RAMDISK.INF' for the file 'RAMDISK.COM', these 'INF' files should make the sour"}ce code flow better.The DOS 2.5 is a customized version for Turbo Basic it was done by Raphael J. Espino, it allows you to "}return to Turbo Basic from DOS, just like Atari Basic, but it uses the file 'MEM.SAV' to do this. It works well on a 130XE, "}since the 'MEM.SAV' is saved on ramdisk.Do not remove the 'MEM.SAV', by answering 'Y' when copying files, if you are planni"}ng to return to Turbo Basic, as it will cause the computer to lock-up, on pressing item 'B: Run Turbo Basic'!I have include"}d a copy of my very first and very probally my last game written for the Atari 8-bit computer, it's called 'Hangman Prelude' "}yes it's another Hangman type game, you type in a word or words, while others are not looking, then others try to guess the w"}ord you typed, get it right or be hanged!Also included is a copy of the 'SpeedScript v3.2 wordprocessor' which may be usefu"}l for typing in those 'INF' files and or viewing and printing the docs, load it from DOS only!Wanted:The book 'The Atari"} assembler' by Don and Kurt Inman, Published by Prentice hall.The book 'Machine language for beginners', published by Compu"}Gte!The book 'Second book of machine language', published by Compute!The Book 'Atari software protection techniques' with "}or without disk, Published by Alpha Systems Inc.The Book 'Advanced Atari software protection techniques' with or without di"}sk, published by Alpha Systems Inc.Penpals on Atari 8-bit with a disk drive.Most of the books i have listed are only for "}reading.I cannot pay much for the books at the moment, but i would be willing to pay around five to ten pounds plus postage"} for each book, or would you be willing to give me a loan of a copy. Additionally will even swap my original software for th"}ese books, most of the software i have listed are those that i bought in good faith without seeing first, then after seeing i"}t never used since they are all on disk and in first class condition and contain their original docs and packaging.Druid, H"}awkquest, pinball construction set, 10-Print for 1029 printer and Eternal Dagger or Public Domain software ask for list.I a"}lso would like to thank Mr. Michael Zino of New York, U.S.A especially for the books 'Inside Atari DOS' and 'Atari Basic sour"}cebook' and feedback.Finally if you like this program or use it or my previous ASI v1.2A or you would like to know more inf"}o as well as other software please send me a postcard, after all since ASI v1.2A was released by Page 6 over 18 months ago on"}ly one person has written to me off his own back and that was Mr Michael Zino, though Mr Raphael J. Espino has helped me grea"}tly over the last 18 months.If i had been relying on feedback from you the users, this new debugged version of ASI v1.5AM w"}ould have never have been written at all!If you would like to write to me or help in any way, Please write in English to."} MR A. MCINTOSH# 121 ROMAN ROAD; GBONNYBRIDGEQ _STIRLINGSHIREi qFK4 2DE{ SC"}OTLANDAll replies will be answered, but please include a Stamped Addressed Envelope or international reply coupons, as i a"}m still Unemployed so help with postage is welcome, normally i reply within 28 days of receiving your letter.Last edited on"} the 11th of May 1994.elp with postage is welcome, normally i reply within 28 days of receiving your letter.Last edited on C) (c) Copyright Andrew MCINTOSH 1990-94./ LDeveloped by ASI Industries.V mAll Rights Reserved.t Assembly &}Source Interface Version informationNote:'ASI Industries.' is my computer hack-name.original idea behind ASI &}was to create a working disassembly system that offered output to a file in a form that may be used by major assembler progra&}ms.I originally used the OSS Mac/65 assembler, but shortly realized that this form was too big, so i decided to use Atari M&}acro assembler (AMAC) instead, as it is more space efficent than Mac/65.It is assummed that you should have some knowledge &}of 6502 assembly language and of the hexidecimal numbering system, but if you are not aquainted with 6502 assembly language a&}nd or the hexidecimal numbering system, there are many books available on 6502 assembly language, but sadly most of these boo&}ks dealing with the Atari 8-bit are now out-of-print, but any book dealing with the 6502 will explain better than i probaly c&}ould.Also the New Atari User magazine are running an assembly language tutorial at the moment which started on issue 57 - i&}ssue 61, also a Public Domain disk that may prove useful 'DS # 62 Assembly Language Tutorial' from Page 6, or the 'Cracking t&}he code' articles by Keith Mayhew originally published in the Monitor (Atari UK owners club.) magazine and now republished in&} the TWAUG Newsletter, see my 'RESOURCE.DOC' for the contact addresses.Firstly when was developing v1.0 i thought i knew e&}verything about assembly language, and it's form and structure. But after v1.0 had been released, i had found that i had mad&}e an error in my assumption, due to the reason that i did not exactly know how to debug assembly language at processor level.&} I asummed that once the file header had been bypassed the rest of the bytes in the file would be actual instructions, but f&}ailed to anticipate non instructions or strings of text and the like.This is not a real disaster as nearly all disassembler&} type programs have this flaw, but v1.0 has a plus over many other programs in it's class, it has the ability to write a file&} to disk in a form that your assembler may reconise, although it's weakness is that it cannot disassemble from memory, as my &}Gprogram was not designed to disassemble from memory anyway.In assembly language each instruction has an unique identificati&}on number which does not just give the name of the instruction, but also its form of addressing mode.The instruction can be&} anything between one and three bytes long.The program will only disassemble a legal executable binary DOS object files.&}Binary file header structure.The bytes of the file header structure is represented in hexidecimal, the legal standard file &}header is six bytes long, the first two bytes have a signiture of 'FF' 'FF', then the next two bytes you get the segment sta&}rt address, and the last two bytes are the segment end address. The start and end addresses are a 16 bit number which can re&}ference the whole 64k of the operating system, and are in the lohi format, in other means they are in reverse order, so i wil&}Ul give you a demonstration of what i mean.Lets just consider the following bytes.Z FF FF 00 06 01 06 A9 00First we i&}gnore the first two bytes, then we reverse the next two bytes to get the start segment address, now we reverse the next two b&}&ytes to get the segment end address.+ FF FF 06 00 06 01 A9 00Now the start and end addresses have been converted to th&}e hilo format, they should read 0600 and 0601 respectivly, i have typed two additional bytes that are nothing to do with the &}file header, as they make-up an actual instruction, namely 'LDA #$00'.My system does not use labels whatsoever, but it rea&}lly does not need them for branches and jumps within the source code, as it tells you exactly where to go next. This is easy&} to follow from v1.2A, because it tells you what address you are at, within the file. Thats the part after the semicolon, of&}8 which i will demonstrate with the following program.0< EORG $0400K ^; SEG *0400 *041A1b ePLAq ; *0400 682&} LDX #$FF "; *0401 A2 FF3& .LDA #$FF5 D; *0403 A9 FF4H QSTA $D01FW i; *0405 8D 1F D05m uLDA #$00| ;&} *0408 A9 006 LDY #$F0! 0; *040A A0 F074 7DEYC O; *040C 888S \BNE $040Cb q; *040D D0 FD9u STA $D01&}F %; *040F 8D 1F D010 LDY #$F0, B; *0412 A0 F011 DEYN g; *0414 8812 BNE $0414m ; *0415 D0 FD13&}C DEX +; *0417 CA14 BNE $04031 G; *0418 D0 E915 RTSS f; *041A 6016 ORGr ; SEG *02E0&} *02E117 DW $0400 +; *02E0 00 0418= ; END OF CODEIn the example program above is a formatted outpu&}t with added line numbers for reference within this documentation.On line 0 tell us that we have started a new segment of c&}ode, but also tells us the start address followed by the end address of the current segment.Some jump or and other instruct&}ions will use addresses which are not within the range of either the current segment or the complete file, as some instructio&}ns may even be pointing into the rom area of the operating system or pointing to system vectors.On line 18 is the natural e&}nd of a program, which may include several segments of code.On line 8 tells us that we must do a reverse branch to line 7.&}ǛOn line 12 it also tells us to do a reverse branch to line 11.I wonder if you can see where line 14 branches to, as it sho&}uld be very easy to find.Since you see i have included the current address within the segment for each and every instructio&}n after the declaration of a new segment.You may be wondering whats the hex numbers are for after the address. These hex n&}Iumbers are the bytes that make-up the actual instruction on that line.O Assembly Source InterfaceAll versions that h&}ave been released by Public Domain Libraries so far, all have been issued as Freeware and i would like to continue issuing as&} Freeware if possible.To date v1.0, 1.2A, 1.5AM, v1.5+ and the new v1.5AM have been offered to various Public Domain Librar&}ies, here in the UK.Version 1.0V1.0 does work very similar to v1.2A, though it created two spaces before the instruction &}Gfor easy porting to Mac/65, and had no remark after the instruction which ment that the source code was at least three quarte&}EE