@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( 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}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`lvGBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:CP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu B}ōP   i ̀i΀i]πiЀ*}i3рiҀʢ ӠG & #̀΀π Ѐ l } DOS 2.5 Command Proces+}sor 3.08 (c) CHAOS software. Winter 1989. J `lXhh8hh  ,} &Xآ   90ɛ @ miݦʈ0Θ0 ҁLlɛ."-}ք  Sǩ LTU`L&lɛ ɛ+0: AG80. .}l *M?Iɛ,ɛ*ɛ 𮅄  L  RL/}ʆlLt   L!RLV䮁L !ɛ  RZ V0= XH0}YR V0 B V0L V8S 샠(   }~ L& ɛ` {1}|L&DE`m.`H) hJJJJ 0:i` 働H BILVB 僩&H V0%H2}:ɛɛ`ۄ˄rŃ-ւDIRRENERACARMEMRUNBOFLo=.... Hi=....BRK at ....3}MOC.Error ...D1:FILENAME.EXT *.*D1:#߅`#ϩҩӭԭ8ԅХՅѠ8fϥ#酐`$ph0'҅Α Ӆ @4}`) ѐF) ?҈遐#҈酰Цѐ$0ֆ8֑ Ӆב ӅLRґ ӅLR`҅Α Ӆ @k``(dHb ba za#b% a al )TdUXY ZaL `XЭY zaRb ba0TwUXY Za6}XҭY za` b bb `L` `L`LTa a`HTbU ZaLa` a`HTbU! ZaLa[b baL7}a)TdUЍXэY ZaLa zajTbU ZaLaRb baLaTwUҍXӍY ZaLaLzaLbl RLVTUZ8}[RLV RLVLDEH BILVS yc za bbԈ c c aLa bbԈ 9}a a+8``HґԈh`借Ҁ򀮮Insert MASTER DISK and press any keyD:DOS.SYSD:CP.SYSD:CDEFGHIJ:}.KLMD:CDEFGHIJ.KLM,DOS.SYS b֩cץؠԪ֑Ԋֈ bi֐`XԥY՘ bLbeԅԐ`i(Ԑ;}`8(԰`Lcbi b Mc a   Mc8` Mcb`b Mcb bLcb Mcb bLcّȱ<}ILcYY`ةօעإeօ&`H chJJJJ) Ԉ`ңҩ&ormatdiskette=}7rite$/3files1uittosystem&ormatdisketteMiDX@ӪI@ӭ@?   BfDE V0 B^DE HI V`Ramdisk D8:skette v`x` `ɜ;H/`TD`EHI B V-U`` /`i% `l Quick Assembler 1.0 by JBWNo room@}!`d!qL9eLfLfL/mLMmLiLkfLzfLfLWhL^fLVLhLhLjiLvm v pp m QgL$e f [rr``j`j`` A}ʥː``[r$``^r>` ro ep  Dd fhrLdZljjmBhNooozhPg$v'v*v-vh2h:hPhajjjjajlmml;e9e q`pqoroqeuppppp>q[qX/oZ2Y}prpnpp poMSANRPJBO.6 "$):#&ile%dit2un!ssembly3etup)/error<<</utofmemory<<<.oroom7Z}ipeall<<<&ilemodified<<3ave#ontinue<&ileexists<<2eplace!bort<&   D0:QA.SETNONAMED0:[};q>qD0:Xq]qD0:P:uqwqD0:qqD0:*.*qhr98!&300+*-=~-=,oad<3ave<.ew<$ir<0rn</bj<1uit<7smode\}<2un<-emhi<3avesetup<1asm<"ʔF``Lwd@` ```A `?`pppB@`]}A ````ddo;prvwLvL?wL!wL`wLvLIvLGvLvL0vL9vL|wLwLwLwLwLwH 9vhJJJJ) i`(e`^}H Gvhe`8吅Ƒ8(ƕ`8`` `XY GvLIv_}褙 v< Ie Gv䛐`ȽwwwLGvH Svh v v褚 ]v0 v v w`} wƗLw8eȦ v褚 vLuv w d w wI`Ł* w䖐論 dLw`䖰`hhhh`a}`H w0 wLwIh`FMGVBGNFvwwxx v%uȑΤȄŅĢb} ) Viȕ󅦅0r +y $;iiؠ 7{ 7{$<bc} _Lqx$I0@ 'd…Lqxp @ zLIx 'di v$ꃑʈ`a{E`ed}橩$ ʥ˰+`@B䃝D僝EAHI dL) `i ɛ` ,{L:z:$@<e}>    y`0L{z0  yXYNԩ@l yɛ' y'  z0 * yf}I`! yɛ ,{ { A`ߝمjjj y { Lz FƢ z80 e y {`g}Lz $P  e`$p&` z` zĥ z zeąeŅ`0$p2`G A:h}8`_A[`H @{hJJJJ) i`)Ƨ$Pʆ |@$[ 8 ĥi}ȱɛ dįI(!"&` m情ĭiŠȑđH`)Ӧ$ O{)`0@j}  $dLxy |0 |0 |0ݨ |0Ѩ浹ĵ |0 |Į`i ɛ)hi . d毥k}` vĥ v%Ĉ銠%` ĥυ`Ɔ$pL}L}$ʥ˰ zL }ƁP$#)cEl}@<)Ș $d xyL} BHI), d0ܩ d0ե) |Ču} d0 d0 Ȅ 7{櫦m}` y `8 JfJfeũ` }Q)ټ(Ķ$P )ąȱą`iĐ8n}Щ 8` yALz yLz }$P }@)` }LzLz@Ĉ o}ĥąŅ` yNAGAĭ郅Ž:i@ą))?űąıąɛ LzLzL}08eąĥ)?ĢJp}0ܩǥA };$P1 Lz Ld@LzLd) Lz "ee y  yL8q}弅彅Lw`J yL, L5II I   y M]Y)0Lz )L)) r}y51<)  yLLz`Lz y`)"Lzڥ ) yť)0)040)3s}iF 'L€$0 Lz)  $0`i7O$PS8媅嫅8ƥit}3 LzFf 00 Lzie;00膯 |` y$P  7{ 7{ })u}**|&" #~ ~$0/  ˀɛ yL$P { H @ {h` ܁L ՃHԃH` y_A6ƶ2Av})C E`HL y y ĦLzB$H  LzLzʥ񆴢 |' y@жDfw}$ d | y ЋL灥 ` 700P3.@$ ȥ` 7{L7{ LzLz Lz y@@Lx}z@ *d@ $dLxy$`Lz hh$`)PI@) 7!))pJJJJ))`y} Lz |8ȥ` 709* z?#  |ȹ` Lz LzLz恟ꂦ'B#ompletez}&ailure;фeuiaqm}y%5)!1-=9 $,0PpXʈEUIAQM]YLl JFVN^  Hh(*&6.{}>jfvn~@`8xAAABBBBBBBBBBCCCCCCCDDDDEEEEIIIIJJLLLLNOOOPPPPRRRRSSSSSSSTTTTTTDNSCCEIMNPRVVLLLLMP|}PEEETNOQXCNNNMSDDDSOPRRHHLLOOTTBEEETTTAASXXYCDLCSQTIELKCSCDIVPXYCXYADRUTLCXYPRAXYRPTAGAPAPLRISCCDIAXYXYXASA !"}}#$,/2678@DEFHIQV[`aijklmrwxy$$  4, ~} 󀀀䀀򀀀}쀀耀}倀倀瀀#"@ 0ass,ineD0:xփ 'Õ)-}LL-Lv'ȭ(ɩ8``d d` {L0(e`Hhui`8H dh ( Ȅ})*)`H hJJJJ) )`H 詛ȢȠʩ Jʠ 6 h` | d d} d dLۈ)?<#' " Lۈ Lۈ`I`Lۈ`I `Lۈ()?Q` L0dɛ@ L? J} JHH hh?` Y8e` 6  68墨壪 eƅʥeDžeƅ̥eDž`ޥ¥å}8…ƥÅX[$00eƅޥeDžߥޥߐ8eƅޥeDž߭`ޭ`ߐeÅe ‘` -dl ‘}İ‘ץ`لڢȠ 6 YȘ FLLFȠ 6ąŪ¥ÐĤ`}ɛŢ٦ܽٽڽӖݠ? ݰٙ閈%&@Ӗ`? 詛閤݆8eمi8eمi Ӱ} ְ֦ܥٝڝݝӖ轧ȽɐeƝeǝ޹閑و`х҅Ѕ܅ˠɛ Lʠ 6 J }Ƞ 68܅٥ڥ YȘ FLʥ˰" Y8ӖeL8ӖL}뽦Ƚɰ8`8}Җi˰-ԖӖ YҖ`ȭɰ8`ʽӖ}Ԗɛ8eiܘIӖ` - WL8}Ӗi` ¥ (`hhL$ - $} a (`%`?䚰8` - ܥL - ahhh}h - L|HH)JJJ` hh`8ʪ˨`%,Q,`0T:`ʽW `8Y `9& XѤȩ ] } ]XQ J)ȄL: ‹ 獩]Ě :8܅¥8ª8ªŦ} ⽧ӖL)e88ǩ  0 }0 0 ?i(j%$pFƐ Fǐʆ%EĚ :L`,`EЄ'}( = - ‹ 8 ְ 8 6LTA[a{M`M`?,` ' Ѓ?H閝}hɛ,` А ְL ڈ,`0 [  L Õ޽ĕ L l 6 -L -}Ƞ 6 ʥˢ ܥѐц ‹L? -Ԡ 6 6Ӆ`Lv -נ 6 6օ`Lv - d0EʝD˝E}8ʝH˝I d%ʅ˅HIe̥e L L'd 8 d DE8HI dL -֦פ } 6ӦԤL`Ӡ ԑР ԑhhL$` 8 䑢 6  68 -8ݐ 9eЅ}i8嬪奰e楥eeee 6 6 ʠ 6 ɛ }إŦ姐L‹ 8 䑩Р ԑƭ  6ee $0/8娅¥婅 Ċֆׄ8娅¥婅 ĊӆԄLL‹}Ѕۅ` - 8Ѕ & t`? 獐Ѕ,` Z` `L6 tleӅօ   ? -eЅi} J ‹( eЅӥ( eЅ֥`Щꖝ> Ӱ ְ` 6 3 TL}Щ ?` 8 Ԡ 6Ӆ L‹ M``H` h`` 6 ƏL I`Е0Е0 d*>)`K}Q 8 ڈ d+H |h)*+޽| ޽lP ``I``Ъ)JJJ8j]``` d0}$P -Ѡ 6$pݐݰ)ɛ#썖:)a{I ݍ8eمِʥˠ $LH  6 6h}Lv`L | 4)*` TTtt6?󔰔XX򓁓%%tt֍֍.@͒3}+&ree,o)ns,ine#ol)ns/vr,5op  ~ bkhdrwycvrcbkyf**Ki}i)I)iեԍՍ8ԝL՝M8ֽeօԥeׅՠiԥi Dнѽҽ8L}Mզѥ D`~%ґ 7 @`) T) M҅ȱ҅׈} LHMhL Dשֆ8֑ 7L/ґ 7L`i(`T) M҅ȱ҅׈OpNp BDpE1HILVBug Hunter version 1.0 ---------------------- p~L&~LzL+L%` ~ &~ '~~} l P6~ 6#٩ꍻ~ mi(uҎ u !u !u !u ! }`~hL~,L~8u ~huuu@~huX8huhutu 8u Վ Վ L~ }ֽl2u4`2u.`HH/м//hh`HH __ hh`Hppppp} pp}!p}Hhi$huM,2u` H h` %  % I`*  xL``hhhh}``H 0 L)Ih`ʆ ⹄%msitr}i  *}H򝖀h( zLJhhhhL8e I  w(u(uL눘  W~ Ыi}e J  u u *H u uh('-L =LɛЙLJL`, P3 +xꍻ~}tuuHuuu(Xlu,9u0 +1u 5u1u v8u$)?! )9u1u 6u,9u0˭8u,9u0 6u }8uq1u)?`  1uJ e mi mi  1u ,5u0L1uL} } }Վ ڽ۽ܽݭՎ    z )i dž 0ŦڤۥL ܅}ȱ܅l0 ``L '~ ~6#$  +l M5u5u~`M3u3u~`}M9u9u0~`M4u4u~`M7u7u~Ŏ` p ^+,' 'X   Hi} h % u iuu iuF? u nu nu n$ uit !u}  uu,3u 1 v 1҆ i  ! 8ҰӠ  п }uuuuЭѩЅҥхӥ $ЙeХљi ` !} !L, 0b,3uL8u ҭu 8eҨiuu҅ӐڥҍuӍu`, 0 ,3u0`u}ҭu 8muuu` ` ` i 6u ! *)6u}6u !`hhhhL /` ֽ "` 0  ݎ 8  z˪0ݎݎ}ᎩݎЭݎ hhhh`ݎ0`ݎʎݎ` + z|H %h|5|  0|Ɉ( !} - `!" Lr@ B G V䌤 G`HIL- 0^ B匋ݎ:*?}@mDEގE9S5ގD @` -00B 0& 0 LDLD-I`@@ 0}0L3ԅթԝDEHIԅҥՅ -0å%I!ҝJje҅ԘeӅՠ ! ! ! }!ե8$ʎ"@eҝDiӝE8҅ԝHӅ՝I ቎0 @ 0 ԉ`B +@8D}E~ %@8HIEE *0DE ԉЭL *LƉ}ԥ`  Čʈ "%&' " ʊ`PB JIK )D*E -0}EDEBH !BH -0Di DE $`NJҥ i Ґ` }8  I `  `8 0 *0q D0f Ɋ  zL00 0}`` ҝ  .婛ᎎݎhhhhL ōۋ w̅  q} a?NPY$k}-Cn~~uqFtu֌׎@p:u+*-=<>-=~-=}registers<<30<0#<&<!<8<9<<uu-XuuL ~XZu_/2sops1}ss uYu@pppBAuu"ʔFpp@puv{}LvLz1u) !0!)u)uu $x1u 1u `z,7u+u$uP1u) `xx x wLly jz{ L:z{ {}xʽ{x{'ٸ{Lw1u)  {v{vLv` 1u) LxL 1u) WzLJxɾ Lzu {L4wɶ Lzu y{L4}wɖ Lw1u) Ч Wz WzLWx 1u) Г WzLox Lz &{1u)!0!)u)xx $x1u 1u `zx)Lw}Lw1u)!0!)u)xx $x1u 1u `zxwͲ{xw{Ͷ{{ 1u 1u`x{x1u) =)8)3 Wz}uuuHu(uhuuu({muuu`=xBxH h u u u uJJ(`xuxu`xfxxgxexu`}x{xuH((Lx(x0 xLx xuuu`1u) uLCzuiui y xuu yxuxuLWz1u)uLCzu }y WzLx1u) uLCz zu WzLx1u) uLCz zu zu zuLWz1u @1u`1u)uLCzu y WzLx1u) uLC}z zu zu WzLx1u) uLCz zuH({uhu( WzLxuuLxuH(uhuuLx{1u)(0#)u)u $x})u)71u 1uhh`{utu`1u)0)u)uȘ $x1u Ǯut{u`1u 1u`1u 1u`x) x`1u)1u`1u=}{1u`uzu{zz{zz{z͵{zz` jz{xɾ u {L{ɶ u y{L{ɖLz @L}nLϒBC }E } e i Le8I @ Ԡ ! ' ` ԅʆee !}L! :l4,()" 0 ) JJ)`HJJJ)" h`  @`)  )} `JJJ)***)) `tsNR!T D ar BҐb̊ BM}RTHCLLSEEYDAãPN"N# E3 TDPX 8  9 8 9 8}  "LLɖLLLDL/L•LĕLfhdgsaLJ:K\^OPUI_|VCBXZ$#&%"![ ]NM?REYTWQ()'@}FHDGSA {   `} } BDE"HILVPress SHIFT/BREAK to get control 'uwMii})I)iեԍՍ8ԝN՝O8ֽeօԥeׅՠiԥi Fнѽҽ8NԥOզ}ѥ FLd~%ґ 9 @`) T) M҅ȱ҅׈ NH}OhL Fשֆ8֑ 9L1ґ 9L`i(`T) M҅ȱ҅׈ NHI=` ;x XY  XY1Y2  X` 1xӭIX LمڠƱ}g\Kiתiw gXXX  g, LfЗۢ g'ܭ(}L,$0 )l LfCUZL B Vi`8gYީY8g٩ڢܽݠeޑȱ}eߑ܈8ّȱڑѭܭݠgא`,0 @`) ې8) 1ggh郐g>h鄰8gّȹg}ڑЧgȹgЙYYYYYXHHHP٩ڠ8eمِLٍHI٤ȎDE BLVXLFriend 5.2 installed. }Shft/Ctrl/1 activates Note Pad. Shft/Ctrl/2 activates Code Table. Shft/Ctrl/3 activates Calculator. Shft/Ctrl/4 activates }Core Eye. This is not XL/XE computer! Can't uninstall XLFriend! Checking... Loading... XLFriend uninstalled.} H 2)( 3I+I2 ӱ8h `H))h`XH⃌モ gh }4Z g`HB,: Ң-hLH"Y Ӄhhh@ۀPGLH[8XTZL;XLRXLaX^1,^2,^3,}^4allLF HELPtdelp=Ctrl,=ShftM(Ѝ ԍ I` ?i(j`x܄ݩمڅ&ݢuٕؤۦX` Y} VYYY4Z04Zܠ XCUZUZ` Xڠ܎ Y YܩZݢZֈ}eمܐݰXl'` ;X@Ԫ4ZH4Z~鿍9Zj:Z X0٭1.'Bمȱمݢȱ :Z܍9Z5SZ0ZTZ1}9ZX:ZYYZ Zo/) "/4Z Y Yx4Z Yh4Z X0SZ`Lg XY `σ>"$_b}D X"/opppBA5ZH]KLH )J JJeDži$LK }J KʢHZ$0 XʈhfɽZ Jʘi Kмɢ Jĕ򩄑ґ aXH }J Jh K Jx HZ @X ILH04;20%23¥ â ӡs Х¥LIŽ V} $aiU©ZiÊi rI IZƽ I}Z(Z Kа8Z K`ZZ`/y0}L: aDg@ ;X)ƈƅFȰ` HƢ ӁL~JFȢ (K# ;X JH(H5KH4KHSK i L)J}`hhhh` JJ^KH^Kh K`XYSK KRKLKI`8İ`ǥ ǥiĐ` jJ`} ~J`RK RK`RKRK`SKSK`SKSK`ZKJXK\KVKTK`H) KhJJJJ 0iɑ`e…`}(e`+*-=<>#JiJ}JJJzJJJJJJbJ [cL<[TagineGotoagL,^S/O^>nsertinebov}eagQuote@| E[ c ] e_ % I` [ _LV[cccc t[` I`,P?-} X)?<'Qa{E`I I𰻠8 X \( \ #\Ȅc0cc`H #\hJJJJ) 0c}`XYc \`'i(`8(8('` V \HC [< XhC`H\c}ch`LoadSaveFailEdite`(e`i`` \H cc I` [cɛ+)#~!`՝cc͊} 3]chc`@0 i0HHJ \h7cE.S*CBDcEK t\DcE`CLy\ [}c B Vҩ ` 9]0 [IB8@D|EH V $ y\ ]L]D}HDE}IEплٽD}E ]L[ 9]0 B8HcI t\L]8` N^ei@|8` b ee}eeL^`8 b 8ei N^0 ` +a cXYc}ȄSR0)ȄRII i(j {_Iܩ {_i(XYc ?\ \`H _ `bh`Hei} \^ɛh`eiL^ \$0C-Lb=Lb e.L]c%c Ab ,\ \LT\c ,\ ?\}c` Tcɛ  c _L`b jckclM [⪩% [D [8@쪩|4 [XY' a}Ԡ'5%ɛc X`('穛 \' ȱE \}cL`O'c XIʈL\hh ,\c T\`` -b$ɛ b _ c _누ɛLb` c }c bȘ ^( ` cȘ \^` 8e 7c8e b8eL}pb` c c Ab`` AbL c b cLb cLb`ɛ b c b 7cc} 7c ɛ`c Ab`c pb``` b` `cIc` Ab }` pb c`Hh`ɛLHcɛ \`~  )a9aAbpb-b`b>aCac  }c_`bcbb|aa]-^b_EditD1:Free:Line:Col:cc MOL(MTAB }odeA:tascii,:nternal,:eycodeXmO̥YiͬO GO YO̅ΥͅϢQE N O+ N ;OOOHΠȭO XΈOO }O8mO͌OO8e΍MiM ;OhиZC N OH X) Nh! NJJJJO X (jMOO O }LNiOO8OLN#O0iOLN8OOiOLN ΎOLN ?OLNɇOnO SOLNɆOV}O SOLNɎO<ΐO SO8(̰LNɏOO SO GOLN,OLN LSO XLN YO OLDM 5OR 5OBH 5O }5OȩJh "O&O XO "O H +OhJJJJ) i Έ`i(ΐ`i(̐` X }O٢kνOH̝Oḧ0ܘ8}୐O i( ` @FL[@ddubtractroductivonlyyteositiventegerllowed5U8@@hC X ALg@ 7E} |D D 9AʍQ٭Eƈ-~EE@E@ X @L9AFԄՌFFȌFF agV80] Y0S}O XFF ԆՎFFHԍ FՍFHHF{E֩ Bhhh FԭFL9ALg@eԅԥiՠF E D:Ј)}F F-Р:F) E ELAԤ XH: E Eh ELAԅҥՅӢFf*Јȱ :Lg@F`F}FF FF`FFFFFFFԅ֥Յ`F FFFF`H iBhFFFFԅ֥Յ`F ԍ FՍFLZBԅ֥Յ׭ }FԭFբFFFFFEҽE BF`leօԥeׅՐLC8ԅԥՅհLC҅ӥ֍F׍F&Ӑ FԭFLC&} HըeօҥeׅӘhɥ҅ԥӅ`LC)%Щ< X8`҅8ԅҥՅeԅҥeՅ&&<C&&}&ffӥօԥׅ`Uԕ`F ZBFeԍFFeՍFF`F ZB8FԍFFՍFLCFFFFF`FԭF}FF` F`8F(FF F D D |DLD F`Fi(FF F D D |DLD F`FF F D D |DLD F=FF}F F D D |DLDHHԅ֥Յ׮F{Eԩ Bhh`XmFХYmF`ЍDDэDDDDFDD FDDDD}DDDDDi(DDDDF` Dhhhh m F `H EhJJJJ) iЈ`FʘHFʈhF`ڠ E}F EFѠ E< EEYFEFEF` DAAA6B9DDCC~XD!>-}>$#,2>/\ >("30>%\ >"%3#{DBBBBdCdCdC" GGL*G>agepABode_kbdnam clc (read) jsr _8}open lda #7 sta _iocb+2,X lda #0 sta _iocb+8,X sta _iocb+9,X jsr _ciov9} pha jsr _close pla rtsᠠ _kbdnam:keyboard name  _iomode:m:}ode of I/O  _kbdnam dta c'K:',b($9B)_iomode dta b(3) end of fileame  _iomode:ml͠  file: _PM.ASM  date: 01.04.1990 author: !<}  Miroslaw Liminowicz  *- page 0_pmtmp equ _pmz0 (2)_pm!=}point equ _pmz0+2 (2)*- system variablessdmctl equ $22Fgprior equ $26Fpcolr0 equ $2C0hposp0 equ $D000gractl equ $D01!>}Dsizep0 equ $D008pmbase equ $D407͠A- MSB PM area C=0 two line resolutionC=1 one!?} line resolution _pmon and #%11111000 sta pmbase sta _pmaddr lda sdm!@}ctl and #%11101111 sta sdmctl lda #0 rol @ sta _pmres asl @ as!A}l @ asl @ asl @ ora sdmctl ora #%00001100 sta sdmctl lda gprior !B} and #%11000000 ora #%00001000 sta gprior lda #%00000011 sta gractl lda #0 !C} ldx #7_pmout sta hposp0,x sta sizep0,x sta _pmpx,x sta _pmpy,x dex bpl !D}_pmout jsr _pmpadr ldx _pmres inx txa asl @ tax ldy #0 !E} tya_pmcpage sta (_pmtmp),y iny bne *-3 inc _pmtmp+1 dex bpl _pmcpage !F} lda #4 jsr _pmpadr lda #0 tay sta (_pmtmp),y iny bne *-3 !G} rts͠_pmoff lda sdmctl and #%11100011 sta sdmctl lda #0 st!H}a gprior sta gractl ldx #7_clppos equ * sta hposp0,x dex bpl _clppos !I}rtsA- player's number X- color of player Y=1 normal width Y=2 double wid!J}th Y=4 quadruple width  _pmset and #3 sta _pmhelp txa ldx!K} _pmhelp sta pcolr0,x dey tya and #%00000011 sta sizep0,x rts!L}A- player's number X- horizontal position Y- vertical position  _p!M}mxy and #7 sta _pmhelp txa ldx _pmhelp sta _pmpx,x sta hposp0,x tya!N} pha txa jsr _pmpadr pla ldx _pmres bne *+4 and #$7F !O} ldx _pmhelp ldy _pmpy,x sta _pmpy,x cpx #4 bcs _pmmisil pha ldx #!P}0_pmcptb lda (_pmtmp),y pha lda #0 sta (_pmtmp),y pla sta _pmbuf,x i!Q}ny tya and #$7F bne *+13 lda _pmres bne *+8 tya and #$80 !R} eor #$80 tay inx cpx #16 bcc _pmcptb pla tay ldx #0_pmc!S}pob lda _pmbuf,x sta (_pmtmp),y iny tya and #$7F bne *+13 lda _pmres !T} bne *+8 tya and #$80 eor #$80 tay inx cpx #16 bcc _pmc!U}pob rts_pmmisil pha dex dex dex dex lda (_pmtmp),y and _pm!V}mask,x sta (_pmtmp),y pla tay lda _pmmask,x eor #$FF ora (_pmtmp),y !W} sta (_pmtmp),y rtsA- player's number X- LSB addres of shape Y- MSB ad!X}dres of shape  _pmshape stx _pmpoint sty _pmpoint+1 cmp #4 bcc *+3 !Y} rts sta _pmhelp tax lda _pmpx,x sta hposp0,x txa jsr _pmpadr !Z} ldy _pmhelp ldx _pmpy,y ldy #0_pmcppl lda (_pmpoint),y sty _pmhelp pha tx![}a tay pla sta (_pmtmp),y tya tax inx txa and #$7F !\} bne *+13 lda _pmres bne *+8 txa and #$80 eor #$80 tax ld!]}y _pmhelp iny cpy #16 bcc _pmcppl rts_pmpadr pha !^} lda #0 sta _pmtmp ldx _pmres inx txa asl @ ,clc tax adc !_}_pmaddr sta _pmtmp+1 pla cmp #4 bcs _pmisile tax_pmsearc dex bpl *+3!`} rts clc lda _pmtmp adc #$80 ldy _pmres beq *+4 adc #$80 !a} sta _pmtmp bcc *+4 inc _pmtmp+1 jmp _pmsearc_pmisile ldx _pmres_pmis1 sec lda _p!b}mtmp sbc #$80 sta _pmtmp lda _pmtmp+1 sbc #0 sta _pmtmp+1 dex !c}bpl _pmis1 rts**********************- My variables_pmaddr org *+1_pmres org *+1_pmhelp org *+1_pmpy !d} org *+8_pmpx org *+8_pmbuff org *+16_pmmask dta b(%11111110) dta b(%11111011) dta b(%11101111) !e} dta b(%10111111) end of filemmask dta b(%11111110) dta b(%11111011) dta b(%11101111) /䠠  file: _SOUND.ASM  date: 01.04.1990  author: Janusz Pelc %g}  * page 0_addr equ _sndz0 (2)* systemrtclock equ $14audf1 %q}B%DOS SYSB )CP SYSB 5INIT COMB>RAMDISK COMBc?QA COMBBBH COMB;XLF COMB_IO ASMB+;_PM ASMBf_SOUND ASMB+TRANS ASMB3DEMO ASMBQA SETB CZYTAJ COMequ $D200audc1 equ $D201audf2 equ $D202audc2 equ $D203audctl equ $D208skctl equ $D20D%r}A- volume X- LSB of music addresY- MSB of music addres _musini equ *%s} stx _musaddr sty _musaddr+1 and #$0F sta _volume lda #3 sta skctl %t} lda #0 sta audctl ldx #7 lda #0 sta audf1,x dex bpl *-4 r%u}ts䠠procedure returns carry set if there is end of music data  %v} _play equ * lda _musaddr sta _addr lda _musaddr+1 sta _addr+1 inc _mu%w}saddr bne *+5 inc _musaddr+1 ldy #0_pl1 lda (_addr),y bmi _plx ldx #255_p%x}l2 inx lda _stab,x bmi _nos cmp (_addr),y bne _pl2 iny lda (_addr),%y}y cmp #'#' bne _snf inc _musaddr bne *+5 inc _musaddr+1 clc tx%z}a adc #14 tax jmp _snf_nos ldx #28_snf ldy _frqtab,x lda #$A0 ora _vol%{}ume pha ldx #0 jsr _sound tya asl @ tay pla ldx #1 %|} jsr _sound clc rts_plx lda _addr sta _musaddr lda _addr+1 sta _musa%}}ddr+1 lda #0 ldx #3 sta audf1,x dex bpl *-4 sec rts%~}䠠A- volume + 16 * type X- channel's number Y- frequency  _sou%}nd equ * pha lda #3 sta skctl lda #0 sta audctl txa and #3%} asl @ tax tya sta audf1,x pla sta audc1,x rts%}A- del time * 0.02 sec _wait equ * tax_wal lda rtclock cm%}p rtclock beq *-2 dex bne _wal rtsᠠ_stab dta c'CDEFGAHcdef%}gah'_frqtab dta b(121),b(108),b(096) dta b(091),b(081),b(072) dta b(064),b(060),b(053) dta b(0%}47),b(045),b(040) dta b(035),b(031) dta b(114),b(102),b(091) dta b(085),b(076),b(068) dta%} b(060),b(057),b(050) dta b(045),b(042),b(037) dta b(033),b(029) dta b(000)_musaddr org *+2_vol%}ume org *+1 end of file(045),b(042),b(037) dta b(033),b(029) dta b(000)_musaddr org *+2_vol$$| Zastosowanie _IO.ASM:|| - kopier/translator || JBW Assembler --> QA |)}adres equ $9000list_all equ %00000111list_mem equ %00000110list_err equ %00000101list_off equ %00000000code_mem equ)} %00010000code_dsk equ %00100000 opt list_err+code_mem*--- strona zerowa_ioz0 equ $D0 (2 bajty dla _IO)add)}r equ $D2 (adres w buforze)count equ $D4 (liczba bajtow)cntr equ $D7 (licznik)* ,.*--- rozne liczbycha)}n0 equ $00 (IOCB nr 0)chan1 equ $10 (IOCB nr 1)eol equ 155 (znak konca wiersza)eof equ 136 (status odczytu)})* ,*--- komorki systemowedosrun equ $0Adlist equ $230*--- poczatek* ' org adresmain)} equ * ,* liczba wolnych bajtow sec lda dlist sbc buff sta size+1* wypisanie informacjiloop ldx #chan1 jsr _close jsr di)}nfo* pobierz znak ldx #chan1 jsr _getkey jsr _upper ora #%10000000 cmp read_ch)} beq read cmp writ_ch beq writ cmp tran_ch beq tran cmp quit_ch )} bne io_error* koniec jmp (dosrun)* czytajread jsr get_fn clc odczyt jsr _open )} bmi io_error lda size sta used lda size+1 sta used+1 lda used jsr _read cpy #eof bne io_error beq loop jmp* translacjatran jsr get_)}fn sec zapis jsr _open bmi io_error * adres w buforze lda buff sta addr sty addr+1 * dlugosc lda used ldy used+1 sta count )} sty count+1 * rozpakuj 1 wiersztrl jsr unpack ldx #chan1 bcc io_error malo danych! * za)}pis wiersza lda llen jsr _write bmi io_error * nastepny? lda cou)}nt ora count+1 bne trl beq loop jmp* piszwrit jsr get_fn sec zapis )} jsr _open bmi io_error lda used jsr _write bmi io_error )} jmp loop* usterkaio_error ldx #chan0 lda error jsr _write jmp loop*)}--- rozpakuj wierszunpack ldx #0 ldy #1 lda (addr),y dlugosc sta llen iny b)}pl chklen jmp* glowna petlaunpk_l lda #0 sta cntr pojedynczy lda (addr),y bpl single )} and #$7f pha iny lda (addr),y sta cntr zwielokrotniony pla* pojedy)}nczysingle iny* powielanie znakurepeat sta line,X inx cpx #64 bcs unret limit=64 )} dec cntr bpl repeat* czy wszystkie ?chklen cpy llen bcc unpk_l* znak end-of-lineunret lda #eol)} sta line,X* dlugosc otrzymanego wiersza inx stx llen* zwieksz adres clc tya )} adc addr sta addr bcc *+4 inc addr+1* zmniejsz licznik sec lda count )} sty count sbc count sta count lda count+1 sbc #0 sta count+1* powrot )} rts*--- pobierz nazwe pliku* 'get_fn jsr _setbin ldx #chan0 lda prom jsr _write jsr _settxt lda #120 sta fnlen lda fnl)}en jsr _read jsr _setbin ldx #chan1 lda fnam rts* ,)}*--- wyswietl infodinfo jsr _setbin* adres informacji lda msg_ )} sta _ioz0+1* ile w buforze... ldy message jmp _write*--- procedury WE/WY ------ icl 'D1:_IO'*--- nazwa plikufnlen )} dta a(0)fnam org *+120*--- informacjeerror dta a(elen)erm_ dta c'Niedobrze!',b(eol)elen equ *-erm_)}message dta a(mlen)msg_ dta b(eol) dta c'׭',b(eol) dta c'w buforze)}: $....'bu_off equ *-msg_-1 dta b(eol) dta c' wolne: $....'fr_off equ *-msg_-1 dta b(eol)}),b(eol)read_ch dta c'zytanie 'writ_ch dta c'apis 'tran_ch dta c'ranslacja 'quit_ch dta c'oniec' dta )}b(eol),b(eol)mlen equ *-msg_prom dta a(plen)prm_ dta c'Nazwa pliku?',b(eol)plen equ *-prm_*--- bufory)}llen dta a(0)line org *+65size dta a(0)used dta a(0)buff equ **--- adres uruchomienia* )}org $2E0* dta a(main) end of file0)used dta a(0)buff equ **--- adres uruchomienia* (5Przyklad wykorzystaniaprocedur _SOUND i _PM  data: 05.04.1990  autorzy: M.L. J.P. -} list_all equ %00000111list_mem equ %00000110list_err equ %00000101list_off equ %00000000code_-}mem equ %00010000code_dsk equ %00100000 opt list_err+code_memdemonstracja equ $9000* strona 0dosvec equ $-}0A (2)zegar equ $14_sndz0 equ $F0 (2)_pmz0 equ $F2 (2)xpozycja equ $80 (4)ypozycja equ $84 (4)xprzyros equ $8-}8 (4)yprzyros equ $8C (4)ktoryksz equ $90 (4)numer equ $94* staleduszki equ $A000* systemllosowa equ $D20A-}************************ org demonstracja jmp poczatek icl '_SOUND' icl '_PM'poczatek-} equ * ,, ldx #31 | odwrocodwradus lda ksztdusz+32,x | ksztalt ldy #8 -} | duszka asl @ | ror ksztdusz,x | dey | bne *-5 -}| dex | bpl odwradus | lda >duszki | wlacz sec | -}grafike jsr _pmon | PM ldy #7 | ustawustapara tya | parame- pha-} | try: ldx kolory,y | kolory ,, ldy #1 -chude | szerokosc jsr _pmset -} | pla | tay | lda llosowa | pozycje x and #$7F -} | adc #$32 | sta xpozycja,y | lda llosowa | pozycje y and #$7F -} | adc #$32 | sta ypozycja,y | lda llosowa | przyrosty and #1 -} | bne *+4 | lda #$FF | sta xprzyros,y | dx lda llosowa |-} and #1 | bne *+4 | lda #$FF | sta yprzyros,y | dy -} lda llosowa | sta ktoryksz,y | aktualne dey | ksztalty bpl ustapara -} | clc | pewne lda xprzyros | duszki adc xprzyros | lataja sta -}xprzyros | szybciej clc | lda yprzyros+2 | adc yprzyros+2 | sta -}yprzyros+2 | clc | lda xprzyros+3 | adc xprzyros+3 | sta xprzyros+-}3 | clc | lda yprzyros+3 | adc yprzyros+3 | sta yprzyros+3 | -} ldx muzyczka | parametry lda #8 | muzyki jsr _mu-}sini |tu_skacz lda #3 | petla sta numer | glowna*  4 duszki-}tu_tez ldx numer | duszek ldy ypozycja,x | na lda xpozycja,x | pozycje tax -} | X,Y lda numer | jsr _pmxy | ldx numer | wybierz lda kto-}ryksz,x | ksztalt inc ktoryksz,x | duszka and #$10 | eor xprzyros,x | a-}nd #$30 | clc | adc ksztdusz | tay | lda numer | jsr _pmshape |-} ldx numer | dodaj clc | przyrost lda xpozycja,x | do adc xprz-}yros,x | pozycji sta xpozycja,x | X duszka cmp #$31 | bcc *+6 | -}cmp #$D0-8 | bcc *+9 | sec | lda #0 | sbc xprzy-}ros,x | sta xprzyros,x | clc | a tu do lda ypozycja,x | pozycji a-}dc yprzyros,x | Y duszka sta ypozycja,x | cmp #$21 | bcc *+6 | c-}mp #$E0-16 | bcc *+9 | sec | lda #0 | sbc yprzyr-}os,x | sta yprzyros,x | dec numer | wszystkie bpl tu_tez | duszki ? -} | nie - | nastepny | duszek! lda #1 -} | poczekaj jsr _wait | na koniec | wyswie- | tlan-}ia | obrazu TV lda zegar  raz na 8 and #$07 | ramek TV -} bne tu_skacz | odegraj | kolejny jsr _play | dzwiek bcc tu_skac-}z  jezeli | koniec | muzyczki  -},,  to wroc jsr _pmoff  do programu jmp (dosvec)  nadrzednego -}  !!!!!!! muzyczka equ * dt-}a c'c c A A F F G G ' dta c'ce cg Ac AecFA Fc GH GdH' dta c'cegcegAceAecFAcFAcGHdGdH' dta c'cegc-}egAceAceFAcFAcGHdGHd' dta c'cegcgeAceAecFAcFcAGHdGdH' dta c'cgecegAceAceFcAFAcGHdGHd' dta c'cgeECGAecCcC-}FcAA GdGC c'kolory dta b($38),b($7A),b($C6),b($F0)ksztdusz org *+32 dta b(%00011100) dta b(%00111010)-} dta b(%01111100) dta b(%01010100) dta b(%01111100) dta b(%00111010) dta b(%01000110) -} dta b(%01111111) dta b(%11101011) dta b(%10111101) dta b(%10101101) dta b(%00111100) dta-} b(%00111100) dta b(%00111000) dta b(%00111100) dta b(%00011110) dta b(%00000110) dta b(-}%00011100) dta b(%00111000) dta b(%01111100) dta b(%01010100) dta b(%01111100) dta b(%0011-}1000) dta b(%01000100) dta b(%01111110) dta b(%01101110) dta b(%01111010) dta b(%00101100)-} dta b(%00111100) dta b(%00011000) dta b(%00011101) dta b(%00001110) end b(%00101100),pA0dtfp@0B 87MDfE80MH1fI VM}HJff}IKf B V d`abce 5}dyeЩeiѹe dHБԈhЩ`Mfք e df0 fԽf dLdlGHFH}`L 5}?i(j`*** ``XԥYեօҥׅӢޥJfKf"ޱɛ d((e҅Ґө(eԅԐд'5}"f dIԈ` dl $=ɛeօ֐JfKf M֩fװנֈɛ8eօ֐` e` e`ACELNOSXZa5}celnoszz   0!eeeeee , - gra,d ESC - Wyjcie uf 론Ӡ5}ӡNdd ===================================== Niniejszy tekst zawiera najwaniejsze informacje uzupe niajce p5}odrcznik do zestawu narzdzi do programowania w jzyku asemblera 6502 ===================================== 5}------------- KOMPLET --------------- Zawarto dyskietki: -------------------- 1. DOS.SYS - system operacyjny 2. 5}CP.SYS - interpreter polece 3. INIT.COM - inicjalizator dyskw 4. RAMDISK.COM - dysk wirtualny 130XE 5. QA.COM5} - Quick Assembler 6. BH.COM - Bug Hunter 7. XLF.COM - XL Friend 8. _IO.ASM - procedury WE/WY 9. _P5}M.ASM - procedury obs ugi PM 10. _SOUND.ASM - procedury dwikowe 11. TRANS.ASM - kopier/transkoder 12. DEMO.ASM 5} - przyk ad do PM/SOUND 13. QA.SET - plik konfiguracyjny 14. CZYTAJ.COM - ten program! W komplecie z dyskietk znaj5}duje si 64-stronicowy podrcznik uytkownika. ------------- DOS ------------------- DOS 2.5 (Dyskowy System Operacyjny5}) zawarty w pliku DOS.SYS uzupe niony zosta o interpreter polece CP.SYS, zastpujcy standardowe menu (DUP.SYS) Po w 5}czeniu komputera DOS uruchamia si automatycznie. O ile wcinito OPTION, to zaktywizuje si take CP. W przeciwnym razie 5}sterowanie przejmie BASIC, trzeba wic uy rozkazu "DOS". CP zg asza si napisem "D1:", oznacza to gotowo do przyjcia 5}polecenia. Polecenia dziel si na wbudowane i zewntrzne. Zewntrznym poleceniem moe by dowolny program o nazwie z ro5}zszerzeniem ".COM", przy czym wywo anie polega na wpisaniu samej nazwy, z pominiciem rozszerzenia. Oto spis polece wbu5}dowanych, gdzie: Nawiasy kwadratowe otaczaj elementy, ktre mog wystpi, ale nie musz. Nawiasy ktowe otaczaj symbol5}e, w miejsce ktrych naley wpisa konkretne dane. Symbol "nazwa" oznacza nazw pliku, w sk ad ktrej mog wchodzi 5}znaki: "?" (oznacza dowolny znak) "*" (oznacza dowolny cig znakw) Symbol "adres" oznacza cig od 1 do 4 cyfr szesnastk5}owych, sk adajcych si na adres miejsca w pamici. DIR [] - katalog dysku ERA - usu plik5} REN , - zmie nazw CAR - w cz BASIC BOF - wy cz BASIC RUN []5} - wykonaj program MEM - wolna pami Polecenie RUN powoduje wykonanie programu maszynowego od wsk5}azanego adresu. Jeli adresu brak, uruchomiony zostanie ostatnio uywany program. Przyk adowo, po opuszczeniu QA mona po5}wrci do niego, bez utraty tekstu, piszc RUN. Wszelako uycie klawisza RESET usuwa t moliwo. Polecenie zewntrzne (p6}rogram) INIT s uy do formatowania dyskietek i przenoszenia na nie DOS-u wraz z CP. ----------- PRZENOSZENIE -----------6}- QA moe pracowa praktycznie z kadym DOS-em. Mona go przenie dowolnym kopierem. Oznacza to rwnie dostp do udosk6}onale napdu dyskw. Pozos- ta e programy s bardziej wymagajce: BH bdzie dzia a tylko w systemie, ktry szanuje wska6}nik MEMLO, za XLF nie dzia a dodatkowo w systemach, ktre wykorzystuj pami RAM ukryt pod systemem. ------------- K6}ONTAKT --------------- Wszelkie uwagi i propozycje mona nadsy a na adres: Laboratorium Komputerowe AVALON 38-106}0 Strzyw, skr.p. 46 W przypadkach wymagajcych odpowiedzi prosimy za czy op acon kopert.puterowe AVALON 38-104c/