@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD`Ǫ D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )}ǝ `A! d߰")-݆ "  $G@LLL&0") $G% }DžH0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 }ǥ)8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }ǰ8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}GCEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}Nj8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}ǠE8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }#C  Lq` X٨`DOS( ySYS IIIIIIIIIIIIIIIC`0 ߩ0}}~} 26, %|+-3G||DDOS PVDOSDOS[ `SYS sx}~}}"$},-~} CDOS SYS~}V 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}ǢDEL8HI   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$}G V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%}% VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}ǔLLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}Ǫ1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}'1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE ^K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILEb M. RUN AT ADDRESSF. LOCK F-}ILE )N. CREATE MEM.SAVG. UNLOCK FILE- RO. DUPLICATE FILEH. WRITE DOS FILESW9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}ǥil ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}ǛN !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED160 FREE SECTORS COPYING---D2:DLIR4} OUT.STR # 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}GPdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7}7 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}ǩ//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 1.?}D1:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}Ǿ, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}G% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I}I JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}ǩhAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}ǭ0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}?NAME TOO LONG B VL ` L1I H1EӝDL1DEI|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 138ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D41uT}~*KBIRD1BIRD2BIRD3BIRD4139;ACJKRSY ǠĠV} 報(YYDemonstration of Character Set Animation using Atari's built-in graphics characters288W}TCopyright (C) 1982 by David Fox and Mitchell Waite<dn11;@X_,;@cj,;@nu,;@y,sX}x6.  0 6.  55: D6.I JOd  6. i  AY} R@ ; }-@?C@GP-@TX@\77AA A0Z}C!A@A0A #-@%)@%- #Pause  A,6   $@   $J [}[*  $T   $ D:EX1.BAS4139;ACJKRSY ǠĠ$QCD FRAMEFRMSZMANFRAMEERASEHICHRCHRBAOFFSECHARTOTATEMBYT[\bdjlrt{ ]} &' ./ 67 >? FGMu ##ǠΠҠԠ##} ^}堲(11Demonstration of user-defined character set288Copyright (C) 1982 by David Fox and Mitchel _}(l Waite<dn"6-@,J"Number of framesxF6-@NFCharacters in frame (including cursor contro `}l chars);$,;,;@#X,""6. abcde fghij++67@%\,. klmnopqrst  a}67@I 9,. uvwxyz6.    +?P'AR@T'Turn off cursor One moment plea b}se...% A<%Read in Character Set }70@@BHL@PV70@Z^@bf@j(AV(S c}:witch to new Char Set,696-@>s9Set starting horizontal position of Man@-@wJ d}6.7$&+&@%,<$,T-@); ^="@?E12@IKQSY]@ax=Footstepsh1"@| e}12@ @$@!*r6%2@.068>@Fb6Turn off sound|4-@fj@n 4Slow him f}U down a little 77Walk man across screen if Joystick button is downBT:[^,"dn&6-%@r2"@6 g}^8 }B A A @$$JK6-F:A,&@bKReserve memory space (10 h}24 bytes) below screenT/6-$AV/Find start of Character Set^,,Read in data, skip first 97 charactersh#6-@ i}$@ #6-@&$|"6-*?!!-%%%$@CG&@Kt" 6-% 6 +z3 j}VERROR In Character Set Data6''Clear out first char (background)-%@Zci $ k} N*N. Checksum4N 16845>NHN. Frame 1RN0,0,0,0,0,0,28,62\N0,0,0,0,3,15,29,59fN""6 l}G2,62,28,240,240,240,240,251pN51,7,7,15,252,224,112,48zN##255,220,192,192,227,118,60,24NN. Frame 2N0,0,0, m}m0,0,0,0,56N0,0,0,0,1,7,15,31N$$124,124,124,56,224,224,224,224N 55,55,7,111,125,248,192,65N%%246,254,192,128,19 n}2,224,224,248NN. Frame 3N0,0,0,0,0,0,112,248N0,0,0,3,7,15,31,31N%%248,248,112,192,192,128,128,128N"" o}31,31,222,254,251,231,206,15O224,224,0,0,0,0,0,128OO. Frame 4$O0,0,0,0,0,1,3,3.O0,0,0,0,0,192,224,224 p}Ǜ8O3,1,7,15,31,30,62,62BO224,192,0,0,0,0,0,0LO""63,63,60,124,120,112,112,252VO`O. Frame 5jO0,0,0,0,0,0,0 q},1tO0,0,0,0,0,0,224,240~O1,1,0,7,31,31,31,31O%%240,240,224,128,128,128,128,176O 31,15,15,13,31,123,112,124O! r}Q!240,0,128,192,128,192,128,0 D:EX2.BASCHRBAOFFSECHARTOTATEMBYT[\bdjlrt{ /D67FRAMEHICHRBHICHROFFSECHARTOTATEMCHRBABYTMO@VW^_fgnovw}t}   !" )* 12 8= $$BVǠŠ[a$$q堳u}Ǡ(MMExample using the technique of flipping through multiple character sets288Copyright (C) 1982 by David Fox anv}1d Mitchell Waite<dn"6-@5Y"Number of framesx 9, +_p'AR@t'Turn ow}/ff cursor One moment please...% A3]%Read in Character Set }Q0@acim@qw70@{x}@ @Q0@@ $@(;5AV8@?,5Switch to Frame 1 Char Sety}- @ @'-@+/@237@;c -  abc-%@g defghi-%z}@ jklmno-%@"h pqrstu   ",6-@l@AV{}8,J`@12$(@,0@48S2>@FHNPVn`Hoof BeatsTA-@rvQ:|,|} AUse 15 if you don't have paddles^ h Ar@$$JL6-F:A,&@$}}?LReserve mem space (5 X 1024 bytes) below screenT#6-@CG$@KS#6-@!Wd^"6-juh-@yr~}C? 68,-%@$+&@,?Find start of Character Sets|,,Read in data, skip first 97 characters6-8,$AV}!!-%%%$@&@!s" 6-% ''Clear out first char (background)-%@w} .  . 6 +43 ERROR In Character Set Data6$ N}*N. Checksum4N 46921>NHN Frame 1RNGG0,0,0,0,1,1,6,15,0,0,6,118,155,127,247,231,0,0,0,0,128,192,32,136\NE}E0,0,0,3,14,29,5,0,0,0,3,252,188,14,11,11,0,0,255,31,0,24,31,157fNJJ59,15,254,192,0,0,0,240,135,14,60,124,12,8,8,56,196,20}4,48,0,0,0,0,0pNOO0,0,0,0,0,0,0,0,15,5,126,127,97,99,103,99,207,223,243,224,192,192,128,128zNMM252,191,223,127,3,3,1,1,11}2,248,254,142,252,248,128,128,0,0,0,0,0,0,0,0NAA1,1,0,0,0,0,0,0,193,128,0,0,0,0,0,0,192,224,112,24,28,0,0,0N==1,1,1,0,0},0,0,0,128,192,224,48,56,0,0,0,0,0,0,0,0,0,0,0NN Frame 2NGG0,0,0,1,5,8,59,87,0,8,12,190,121,248,252,191,0,0,0,0,0},128,32,208NLL0,0,3,7,15,29,0,0,0,7,252,208,151,31,31,15,0,255,32,32,108,255,255,255NKK255,1,0,0,4,28,252,184,187,184,4}8,16,16,16,48,240,144,192,0,0,0,0,0,0NDD0,0,0,0,0,0,0,0,15,15,62,60,56,236,204,198,255,143,0,0,0,0,0,0NGG248,255,31,60,}48,112,96,192,28,254,6,12,56,48,0,0,0,0,0,0,0,0,0,0N>>0,0,0,0,0,0,0,0,220,216,192,96,112,0,0,0,1,1,1,0,0,0,0,0N550,0,0,}0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0NN Frame 3OCC0,0,0,0,0,1,0,63,0,0,2,3,62,239,223,127,0,0,0,0,128,192,32,}16OHH0,0,0,3,15,63,10,0,0,0,3,252,200,12,31,31,0,0,255,24,48,124,56,255ONN23,255,128,0,0,56,126,255,247,238,252,20,8,24},16,16,196,108,48,0,0,0,0,0$OKK0,0,0,0,0,1,3,6,31,31,61,121,243,195,1,0,191,224,224,192,128,0,128,96.OOO254,254,7,7,14,12},24,112,56,7,255,0,0,0,0,0,0,128,192,192,192,192,192,1288O<<12,24,24,56,24,0,0,0,0,0,0,0,0,0,0,0,51,62,0,0,0,0,0,0BO77192},0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0LOVO Frame 4`OBB0,0,0,0,0,0,0,1,0,0,6,118,155,127,247,231,0,0,0,0,0,0,}128,32jOHH0,0,0,3,7,10,0,0,0,0,3,255,204,141,15,14,0,0,252,127,16,239,63,111tONN1,11,29,224,0,12,142,220,127,255,254,122,}30,12,4,68,8,252,204,32,0,0,0,0~OJJ0,0,0,0,0,0,1,3,13,15,15,63,248,224,128,0,159,127,248,56,24,24,56,28OUU252,255,63,1,1}G,0,112,63,124,196,243,255,199,192,192,192,0,0,0,128,192,192,96,48O88118,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,0,0,0,0,0,0O<}<0,128,192,192,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0OO Frame 5ONN0,0,0,6,15,30,28,61,48,56,254,231,227,255,25}3,255,0,0,0,0,128,32,144,232OLL0,1,3,7,13,0,0,0,3,255,232,78,142,15,7,15,255,124,80,24,60,247,239,159OII255,63,12,0,0,0},241,4,252,28,56,56,24,16,208,112,216,64,0,0,0,0,0,0OII0,0,1,1,3,3,118,60,60,255,240,128,0,0,0,0,112,240,112,48,56,24,12,6}ǛODD255,1,12,6,3,1,0,0,48,240,120,56,124,198,3,1,0,0,0,0,0,0,0,128O550,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0O>}O>0,192,224,0,0,0,0,0,0,0,0,0,0,0,0,0,192,112,56,0,0,0,0,0 D:EX3.BAS@VW^_fgnovw}LZLMVOLUMFRAMEFRMSZEXPLFRAMEHICHRDLISCHRBAOFFSECHARTOTATEMBYTdekm@tu|} '( /0 78 ?@ GH OPWX_`ghopv $$}"Ǡ ͠$$3<場@@@Program to demonstrate the three color text mode - ANTI}iC 4(88Copyright (C) 1982 by David Fox and Mitchell Waite2 A<F22osH:y,$A} P%@0 a2@!%H:+0,$@4@%Au@DL2@PTH:Zg,$AP%@0ko@s$So}undPU-@@(4AH:.G,$AU8 JAM_M$UFlashZe 0ei@mq8w,=0@} @ 8@,Z0@"&@*08@4[,]$eColordn"6-@_"Number of framesxF6-@}RFCharacters in frame (including cursor control chars);$,;,9@V,&&6.abcdefghijklmnop} + 'AR@"Y'Turn off cursor One moment please...% A]%Read in Character Set } }" A`n"Alter Display List(AV(Switch to new Char Set,6N68ty,-@}}-68@ ,-@B68@!&,-@*2N6-@6?@ AC[Falling BombJ @_uSet colorsT @pyT}urn on sound^ @7 Flash backgroundh-@;Qr6.7$&+&@Ur,<$,| -  @pvChan}Cge sound ,-"@&N,Fade out explosion68,-8,&@R^!8, dm!68,-s } @ (6-&@! @p%=(Fade sound 8@AD,!JdA }B!jt6-&@x' @}p+1 ABFade sound off@--@/5P:H:;@,$ADH%@PL,1 @Random pause AX}bQ0@!@%+70@/3@7;@?EQ0@IM@QU@Yflg%6-P:H:lq,$@6uy%@}} ,G6-P:H:,$@%@"L,gSelect random explosion pointv-RX&@\c//2io$@sw%@{}@ @6 -  q//2<B$@FJ%@NR@VZ@^r + }+2x} $pz9%6-F:A`,%F:Aa,$AV9Find Display List2%@}@h 12LMS byte plus 4 (line 1)>-@59@(=G%%@K) >Lines 2 through 24$@$$}-JK6-F:A,&@1KReserve memory space (1024 bytes) below screenT/6-$AV/Find st}Kart of Character Set^,,Read in data, skip first 97 charactersh#6-@OS$@W_#6-@cp|"6-v!!}-%%%$@&@C" 6-% 6 +I3 ERROR In Character Set Data6''Clear out f}%irst char (background)-%@)28 $ N*N. Checksum4N 8264}Ǜ>NHN. Frame 1RN0,0,0,0,3,50,10,2\N0,0,0,0,16,128,128,176fN58,10,2,1,3,0,0,0pN160,172,196,64,0,0,0,0z}NN. Frame 2N0,0,0,8,2,43,11,3N0,0,0,0,32,180,192,224N11,3,15,24,32,64,0,0N232,192,48,32,16,0,0,0}ǶNN. Frame 3N0,0,0,65,17,34,43,11N0,0,16,32,128,208,228,249N27,91,26,2,10,8,24,0N228,208,192,160,}16,4,4,0NN. Frame 4O64,80,20,25,26,10,91,27O$$133,132,152,168,96,228,229,245O11,27,106,86,2,10,5,4$O!}`!228,208,164,182,165,32,20,4.O8O . BombBO20,215,215,60,60,60,40,40 D:EX4.BASdekm@tu|`  ,TEMLUCO#$+,34:a ""ǠҠΠ""p堵}G(DDProgram to demonstrate Color Register Animation in GRAPHICS 102(GTIA chip required)<88Copyright (C) 1982 }.by David Fox and Mitchell WaiteFP A2jZdn>6-F:A,%@n&!AU,6}8->Add a new colorx<-AA(F:%@<,, <Rotate colorsA A} ; +@I;GTIA Mode - 80 X 192 with 9 color registersL6-@MU6-@YLSet starting COLor Register & LUM}:inance valuesSet initial colors+A@a+Background to black=-@ei@m=Other registe}+rs to different colorsA%$@/g% ", қ6-mq@yu@}J,%/AT5 @@)36-&@7=)"CK56-@OZ^5@@^h6-%@lt)"@ x56-}@h r A- D:EX5.BAS34:a ""ǠҠΠ""p堵-"M5FTEMPDPAUSCOYY,-45<=DELMTU[` $$fxŠȠ}}$$ 堶%(KKProgram to create the illusion of flying through a trench by rotating2''t}ghe Color Registers in GRAPHICS 7<88Copyright (C) 1982 by David Fox and Mitchell WaiteFP AkZd}nC%2@"AU(,@0CBackground roar (always on)xBBIf the trigger on PADDLE 0 is pressed, re}verse the directionuS:"',"@+'6-F:A,<AF:A ,QA F:A,]Ag APu}hNot pressedR6-F:A,'AF:A ,<A F:A,HARPressedC6-Q:ns,'@wCSpe}*ed and sound controlled by PADDLE 0g204:>@BHC2@LR%@VX^b@flg2@p%A`} @ -@P  A0'6-@T\6-@E`h'6-@Il,}6,+@!%@%C,Full screen graphics@90IM@QU@Y9Set Color Register valuesJ0@} @ @T0@"&@*.@2=^:-@AE@yIy:Increment horizontal coordinatesh=P:%?P}}C7,=Choose which Color Register to draw withr;,%@;E/%@IQ-/@yU_&;/@yct&|?6-&?`x6-}%?` 2?Increase vertical line length. 8>6-Db.Prevent overflow!@fn6-@r86-%+}E@y8&,'A`8Increment Color Register%%?P<@@DN%6-&@Rb  Afx D:EX6.BAS}x<./xTEMWFILXYXYFALCFLACORRSTARTCOFGNOVW^_fgnovw} }   !" )* 129:ABHi ̠̠t堷 }Ǡ(HHDemonstration of animating a scene by rotating the Color Registers2))(Uses GRAPHICS 10 - GTIA is needed)<8 }C8Copyright (C) 1982 by David Fox and Mitchell WaiteFP AGZdn]6-F:A,'A }OF:A,<AF:A,QAF:A,]Ax-@SW@[  A }6-A +@!25%A@ 6:$@>B%@Fg5Sky - COLOR 07%A@ko$@sw%@{7 }!Water - COLOR 17%A@%)$@-1%@5X7Water - COLOR 27%A@\`$@dh%@l7Water - COLOR }3/0@@9/Water - COLOR 450@=A@EI@Mn5Tree shadow - COLOR 5"=0@rv@z@ }.=Cliff & tree trunks - COLOR 6,/0@26@:>@B]/Grass - COLOR 7620@ae@im@q2Treetops }2- COLOR 8@曚+ @6DAe@H]+The grass[,@yae@io'/@ysw@E{3 }6-@x ?6-@K6-@f"*W6-@.=[ k6-@eAI6-@MU'6-@aYa36-@eq7 C6-@`uO6-@ } [6-@Vg6-@%+k k6-@V/76-@%;C'6-@eGO36-@5S_7 C6-@fckO6-@5ow[6-@x{g }6-@E k + @)Ae@-B+The cliff[,@yFJ@FNT'/@yXhAE36-@Vlt?6-@&xK6- }@V.W6-A[ _6-A6-@h2J'6-A2+ 76-@hNbC6-A2O6-@xf[6-AE_ ,  }@Ae@,,More grassm,2@A'/@yDRA9/@yVdAFE6-jQ6-A]6- } i6-@>m @6-@XBH6-N@Draw the river on top of the cliff-@ }C% @4  A%-@y)06@4Q&0 ,:)6-&@U["ai)6-@mD N6- }%@X b-6-'6-6@+G-Draw the fallsl-@XKO@fS`v6-%@dm Aq,@% }%-@0 A @$C /%)6-&@GM"S[)6-@_s   q @w,@X }@( 1/@X@%$C/@Y(,@%06U,@f:>@8BHg/@fLgA)qCleanupU @kq,@suy@3} }1/@y @3C,@h @4$*U/@y.2@46A@6-@WEM6-@Q@Draw the river on the valley floor }-A!A( A(-.36@7T  ,)6-&@X^"dl)6-@p  *6 }-%@ 74 >-@;?@CU " @YlTreetopO-rv@z1, } &&@@ %@#$K/&&@ '+&@/A$O Q-6@EJ6@NZ3,&&@@^b&@ft$M/&&@ x%@ }$Q  @6Tree trunk ,/&@!:C @GeShadow of treei,%@iq'/%@u%@ } =,%@%@ S/%@$*%@.6i/%@ :@%@DOE/%@ SY%@]e//%@io%@sE/%@ }%@ [,%@!%@%-//%@17%@;CE/%@GM%@QY[/%@]c%@gp/ @t/Fallen }$ leaves around tree trunk-@(,@0A5'6-%P:H:@EJ,$@NS,&@Wv5"A@-'6-%P:H:@z,$ }@ ,&@C-,$ . 8LV% Ij%Same color as the sky`',@WnA'/@e }A"j',@W&A'/@e*;A#t',@W?MA'/@eQbA$~',@VftA'/@exA% } ',@VA'/@e"3A&',@V7EA'/@eIZA'',@V^lA'/@epA(' },@UA'/@d+A(',@U/=A '/@cAoA(9-uy@} } 52$@P@+9  A/_: ,-7@ch@lntv| }.S::$(d%6-P:H:@27,$@;@,%@D3"AdNo two adjacent strips with same color p }CCattern4 6-%4Calculate next starting color to avoid"IQ6-@U`"@dl6-@p$ } OO7,106,13,96,30,100,40,112,47,145,7,179,15,155,27,164,35,173,60,181,66,174 D:EX7.B }:<N,367A(,.>:T],B67@a,.UFill with blanksY +$}@AR@\8 One moment please...YTurn off cursor, print message' AP`'Set up memory locations$}" Ap ("Set up Player area+ A,S+Point PLR0$ to Player 0 RAM$ BW$Read frames into RAM',((( $}} 2Ǡ̠Ϡ166-@p6>6-?B@0 Initial velocity: 0  Elasticity: J$}36-@#+6-@@/7'6-?P;C36-?uGP& ATx&Move Player off screen?|$}6-@ '6-&+$&@!.$$,'6-@2=%!@AG*!@0KS%6-@WtG 6-6-$#6-z/6$}-@ ;!@G6-@!6!!!A )@:>ABK8Qd,;$6.7+&@ho,$%@s<$,;Se$}Flect correct frame# 6.#Fill Buffer with blanks967<%&@J,.9Move current frame into buffer) 6.)Mov$}C7e buffer into Player 0 RAM 6-%g"*+%!?P;B,92@FRAP@VZ@^dE6-jpg2@tv|$} &'!?P(6-%?,C' A@036-&?GM!S[)6-@_3 Ap:X$}b A+l&AR1&Turn on cursorv"" }Enter initial velocity:  A0J- %%}ZEnter the ball's elasticity (a numberJ  from 0-1 [or more]): .AR@^  .Turn off cursor %}B  AE%%򠰠8KN,T$%}Ǜ " 6-$  6-$2;A(,;,;,$X((b:6-F:A%},&@ :Set aside Player-Missile areal,BBy,Tell ANTIC where PM RAM isv(6-AV$(Find PM Base addr%} ess-@968,-%A($%A9Set addresses of Players;68,-B2H%;Horizontal Player P%})osition registers AAY@B-jASet PM 2 line resolution, Players enabled8%A@nr$@v%@%}%8Color ball green-B2w@)-Enable Player display$(#!!Ұ򠰠͛2#B%6-F:A@%},%F:AA,$AVBStart of String Array area<#E%6-F:A4,%F:A5,$AVEStart of Variable Value TableF#E%}6-8 ^,&ECalculate offset from String Array to Player 0P# 6- AZ#C%@bCPoke offset of string % }$into Variable Value Tabled#B%@(BThis points the first string (PLR0$) to PLR(0)n#$x#'% } j'-@t'"~'67<,.>:,' '$' NŠ>NHN55Number of Frames, Frame Size, Numbe% }r of PlayersRN. (Bouncing Ball)\N 3,7,1R""R Frame 1R0,60,126,126,126,60,0&R % } Frame 20R24,60,60,60,60,60,24:R Frame 3DR0,0,0,126,255,126,0 D:EX8.BASFRAMEFRAMEMEMFRMSIZBUFFERFRAM$[hN_PLR0HIBYTLOBYTPLRHPLRVPLRVEELASTIBOTTOXPOTIMHORISNDFLAYPOFRMNTEMPMOVEPFRAMEFRAMEMEMFRMSIZ)}FRAMENUMPLRPLRFRMMEFRAMEMEBUFFERPMOVERMFILMFILLBUFFEPMBASSTARVVTOFFSEBYTPARAMBASPMBAPMBUVVBLKCRITICAPP)}CPdD@T B8X@4$AAAA@DEH?MP @UY @P]a @ eh ?umn uy@`(})}@B8RB8R@3+2@8;@@C@HK@!PS@!WB@8))B@y)}B @!B6R"A2#.#BWr$@"34%;?&A$CG'A$KO(A%SW)AH[^*@fcf+@kn,@sv-@{.)}/ %%Ǡ̠͠%%B堹(bbProgram to demonstrate Player-Missi)}le Graphics with Machine Language routine to move players288Copyright (C) 1982 by David Fox and Mitchell Waite<FK)}ǀ;A(, A@KThis MUST be the first variable in the programPdn*6-P:'AV,*)}]Calculate High Bytex(6-&$AV(Calculate Low Byte$囖&&9@ah,9@ls,9@w,Y )}+@AR@8 One moment please...YTurn off cursor, print message* B*Initialize Routine string)} s' AP1'Set up memory locations" Ap5S"Set up Player area+ AW+Point PLR0$ to Player 0 RAM$ B)}x$Read frames into RAM* B *Set up parameter addresses"" B0"Turn on interrupts',((  }} )},Ǡ̠Ϡ166-@p086-?<@0 Initial velocity: 0  Elasticity: J)}36-@%6-@@)1'6-?P5=36-?uAJ& ANr&Move Player off screen?v6-@)}'6-&+$&@($$,'6-@,7%!@;A*!@0EM%6-@QnG 6-6-$#6-t/6-@)} ;!@G6-@0!!!A )@48A<E,8KT,!8Zx,,6-?:<,;$6.7+&@|,)}$%@ n<$,;Select correct frame+ 67,.+Move new frame into Player 0 6-%g"*+%!?Pry,92@})} AP@@E6-$*g2@.068>@FQ&'!?PU_6-%?c' A@036-&?)}! )6-@O3 Ap:Xb ASbl&ARh&Turn on cursorv") }" }Enter initial velocity:  A0J- %Enter the ball's elasticity (a numberJ  from 0-1 [or more]): )!}C.AR@:  .Turn off cursor B>D AH%%򠰠8)"}",6-?:<,$ " 6-$ 6-$(;A(,;,)#}q;, 6-C:, 6-C:, 6-C:,$X((b:6-F:A,&@u:Set a)$}uside Player-Missile areal,BBy,Tell ANTIC where PM RAM isv(6-AV$(Find PM Base address-{)%}@W968,-%A($%A9Set addresses of Players AAY@B[ASet PM 2 line resolution, Playe)&}rs enabled8%A@#$@'+%@/S8Color ball green-B2w@W-Enable Player displayR'6-?:<8)'},<A<,RUse memory fill routine to clear Players$(#!!Ұ򠰠͛2#B%6-F:A)(}@,%F:AA,$AVBStart of String Array area<#E%6-F:A4,%F:A5,$AVEStart of Variable Value TableF))} #E6-8a,&ECalculate offset from String Array to Player 0P# 6- AZ#C%@eCPoke offset of stri)*}'ng into Variable Value Tabled#B%@+BThis points the first string (PLR0$) to PLR(0)n#$x#')+}j'-@t'"~'67<,.>:,' '$'* ŠŠӛ*$,Ҡ),}.,;A,8,mm67@",.ZPLb&0ߝShhhF&)-}B,mm67@,.ZFIT`L*H *hMNNML,67A).}.,.LPP-̠Z-;@A2>,d-<<67@B,.)hhhhhhh̥ͥ`-$-)/}nj-.!!.(6-A$(Parameter Base address.. 6-.Hi Byte of PLR0 Location goes here)0} .06-%@80Address of a 128 byte buffer&/->B@FV0/=68,-%@Z%=Player horizontal "shadow" reg)1}isters:/;68,-%@%;Player vertical "shadow" registersb/ /:6-AH:Deferred Vertical Blank Interrupt V)2}ector/6-@f/Critical Flag/W6-@3;6-@?G'6-@KS36-@WWControl bits for the four Players)3}C/D6-?:<<@<M,DIMPORTANT: Clear out parameter area/H6-8S, A"HPoke Hi Byte of Player)4}4J 0 into PMBAS/2 6- A2Poke address of buffer/%@N0$02)5} 26@ A6Open CRITICAL "valve", set up detour36-%@E A"3' 'Set VBLANK vector to PMOVER,3)6}%@r3;;Close CRITICAL "valve", routine installed3$3 NŠ>NHN55Number of Frames)7}, Frame Size, Number of PlayersRN. (Bouncing Ball)\N 3,7,1R""R Frame 1R0,60,1)8}26,126,126,60,0&R Frame 20R24,60,60,60,60,60,24:R Frame 3DR0,0,0,126,255,126,0 D:EX9.BASRAMEMEMFRMSIZ(n67HZHIBYTLOBYTPLRHPLRVPLRRATEFRMLSTPTRFRMDATAPPSFLAINITANIMATFST2SPEEBYTNUMPLRTEMPMOVEPOINTERF-:}RAMEFRMSIZPLRFRMMEFRAMEMEFRMLSTSIZTOTFRMLSTSIZBUFFERFRAMEMEMFRMLSTMEMPMOVERANIMATANIMATEMFILMFILLBUFFEPLRFRAME-;}JFRMLSTMEPMBASOFFSETFRAMELISPARAMBASPMBAPMBUVVBLKCRITICAPPPPTU\]ce@km@su@{@-<}@@  '( /0 78 ?@GHOPWX_`ghnp@wx}-=} "#)+139;ACJKQS Z[!ac"jk#rs$z%->}& '()%&*-.+56,=>-EF.MN/UV0]^1ef2l %%Ǡ-?}ΠҠϠ%%*4報8(TTProgram to introduce the Animate Machine Language routine-@} with the walking man288Copyright (C) 1982 by David Fox and Mitchell Waite<F A@Pd-A}xn*6-P:'AV,*Calculate High Bytex(6-&$AV(Calculate Low Byte$囖GG9@|,-B}9@ ,9@,9@ ',9@+2,9@6@,Y +@DRAR@V8 One moment please...YTurn off cu-C}Frsor, print message* B*Initialize Routine strings' APJm'Set up memory locations" Apq"Set up Pl-D}ayer area$ B$Read frames into RAM* B *Set up parameter addresses"" B0"Turn on interrupts,'-E}C' } ǠΠϠ6OO FPress a number from 1 to 9 to control his speed or 0's to single step.J6-A-F}F 6-@wT A(^6-@,@h r6-@DJ ANX|5#@\`@dflK:5AT-G};AULF:A,"42ACIKQU@Ya@6-@eLFootsteps@F:A-H} ,"42@$ $@(0@6-@4;%%2ACIKQSY F:AT,"AUAH-I})@ 6-&@H20ATAU< 8>H6-DO!@ S[6-@ _h Al A-J}9F:,A(A-?E&@Ii 8, %@m $-K}* Man$ A.N$Point to Frame Lists-TZ&@^ 8,8,%$@-L}X$ .6-?:<,8$B++-^d&@h 6-8, A-M} 8,8,%@k $" "6-$%@o 6-$ -N} 6-%@ 6-$(;A(,;,;, 6-C:, 6-C:, 6-C:, 6-C:, 6-C:, 6-C:,-O}H$X((b:6-F:A,&@L:Set aside Player-Missile areal,BBy,-P}LTell ANTIC where PM RAM isv(6-AV$(Find PM Base address-RV@Z968,-%A($%A9Se-Q})t addresses of Players9'A%@-1$@59%@=g9Color him peach AAY@BkASet PM 2 line r-R}1esolution, Players enabled-B2w@5\-Enable Player displayR'6-?:<8bm,<A<s,RUse me-S}Omory fill routine to clear Players$$''6-Ug.' 6-B'-ms&@wL'.6-T}Lj8,-%.Store addresses of frame dataV' 6-%`'E 8,EPoke Frame size at beginning of each set of frame dataj'-U}-@ &@t'"~'8,%'   '$'* ŠŠӛ*$,Ҡ-V}.,;A,8,mm67@!,.ZPLb&0ߝShhhF&-W}C B,mm67@,.ZFIT`L*H *hMNNML,67A-X}X?,.LP,Š囒,;A,,mm67@C,.ZPLbآY0H PN򩀍+-Y}/. 23P0ֽ:,mm67@3,.Z>ɩ. %:IX.: -Z}Ǩ23>>,mm67A,.Z >PPPHȱh∱QNPmQJnRR8eeP*R-[}QR,++67Aq,.QP..PP-̠Z-;@AUa,d-<<67@e,.)hhhhhhh-\}̥ͥ`-$--.!!.(6-A$(Parameter Base address.. 6-.-]}/Hi Byte of PLR0 Location goes here.06-%@3_0Address of a 128 byte buffer/46-%@c4Initialize Frame Animat-^}e routine&/-@ 00/=68,-%@4m%=Player horizontal "shadow" registers:/;68,-%@q%;Player -_}+vertical "shadow" registersD/868,-%@/c%8Animate rate "shadow" registersN/768,-%@gm%$@q7Pointer t-`}Yo Frame Listsb/ /:6-AH:Deferred Vertical Blank Interrupt Vector/6-@f]xCritical Flag/W6-@|-a}6-@ '6-@36-@#cWControl bits for the four Players/ 6-%/D6-?:<<@gi<o,DIMPORTANT:-b}$ Clear out parameter area/H6-8*, A"HPoke Hi Byte of Player 0 into PMBAS/2 6- A2-c}!Poke address of buffer/%@%Rf0p0z09&@V`,0-fl&@p058,-%-d}w$5Points to start of each Frame List0 6-8, A0+ 8,+Put in address of Frame Data08,%@{-e} 0@-@P@Make up a Frame List (numbers 1 thru FRAMES)08,%%@Tm0 078,%%@qsy7E-f}Tnd of frame list marker0 0$0226@X6Open CRITICAL "valve", set up deto-g}ur36-%@O A"3' 'Set VBLANK vector to PMOVER,3%@Sb636-%@f A@3,%@-q}7]^ddCB'DOS SYSB*+DUP (SYSBUEX1- 8BASB\EX2= HBASB#sEX3M XBASBEX4] hBASB EX5m xBASB EX6} BASjB%EX7 BASBEX8 (BASB, EX9- 9BASB99EX10= IBASBF{EX11M YBASB[EX12] iBASBcEX13m BASBFLASH BASCBSTRLOADRBASq*,Points PMOVER to ANIMATEJ3%@.9r3;?;Close CRITICAL "valve", routine installed3$3 N-r}Š>NHN55Number of Frames, Frame Size, Number of PlayersRN. (Walking Man)\N 5,19,2R -s}RFrame 1, Player 0R770,0,0,0,0,0,0,3,15,29,59,51,7,7,15,252,224,112,48&RFrame 2, Player 00R990,0,0,0,-t}0,0,0,1,7,15,31,55,55,7,111,125,248,192,193:RFrame 3, Player 0DR;;0,0,0,0,0,0,3,7,15,31,31,31,31,222,254,251,231,206,15-u}ǛNRFrame 4, Player 0XR==1,3,3,3,1,7,15,31,30,62,62,63,63,60,124,120,112,112,252bRFrame 5, Player 0lR::0,0,1,1,1,0,-v}7,31,31,31,31,31,15,15,13,31,123,112,124vRFrame 1, Player 1RHH0,28,62,62,62,28,240,240,240,240,251,255,220,192,192,227-w},118,60,24RFrame 2, Player 1RKK0,0,56,124,124,124,56,224,224,224,224,246,254,192,128,192,224,224,248RFrame 3, Pl-x}ayer 1REE0,112,248,248,248,112,192,192,128,128,128,224,224,0,0,0,0,0,128RFrame 4, Player 1R55192,224,224,224,192,0-y},0,0,0,0,0,0,0,0,0,0,0,0,0RFrame 5, Player 1RII0,224,240,240,240,224,128,128,128,128,176,240,0,128,192,128,192,0,0-z} D:EX10.BASBYTLOBYTPLRHPLRVPLRRATEFRMLSTPTRFRMDATAPPSFLAINITANIMATFST2SPEEBYTNUMPLRTEMPMOVEPOINTERF,Ggh0##HIBYTLOBYTPLRHPLRVPLRRATEFRMLSTPTRFRMDATAMOVERATEMSPEEDTEMPPSFLAINITANIMATALLSPEEINITAUTOMOV1|}|PMOVEBYTNUMPLRPOINTERFRAMEFRMSIZPLRFRMMEFRAMEMEFRMLSTSIZTOTFRMLSTSIZBUFFERFRAMEMEMFRMLSTMEMPMOVERANIMATANIMAT1}}EAUTOMOVAUTOMOVEMFILMFILLBUFFEPLRFRAMEFRMLSTMEPMBASOFFSETFRAMELISPARAMBASPMBAPMBUVVBLKCRITICAPPPPFST21~} @!@')@/1@79@?A@GI@ OQ@ XY `a hi pqxy}1} #$+,34:<@CDKLST[\cdklrtz1} !"#&'$-/%67&=?'FG(NO)VW*^_+fg,no-vw.}1}/ 012!"3)*41259:6AB7IJ8P %%Ǡ٠ҠϠ$$1} 報(TTProgram to introduce the AUTOMOVE Machine Language routine and the running boy288Co1}pyright (C) 1982 by David Fox and Mitchell Waite<F A@Pdn*6-P:'AV,*C1}[alculate High Bytex(6-&$AV(Calculate Low Byte$囖]]9@_f,9@jq,9@u,9@1} ,9@,9@ ,9@$+,9@ /9,Y +@=KAR@O8 One moment please...YTurn off cursor, p1}?rint message* B*Initialize Routine strings' APCf'Set up memory locations" Apj"Set up Player ar1} ea$ B$Read frames into RAM* B *Set up parameter addresses"" B0"Turn on interrupts,'' }1}vǠ٠Ϡ6OO FPress a number from 1 to 9 to control his speed or 0's to single step.@1 -@ z1} 6@*$"-68,-1 J6-@.66-@d:CT AGR^6-@Vjh r6-@nt Ax|5#1}@ @eK:5ATAULF:A,"42kmsu{1}@@6-@4LFootsteps@F:A,"42:>@$BDJN@RZ@6-@^e%%2kmsu{1}_/F:Ab, #6-?:<,/Reset Boy F:AT,"AUAH)@co6-&@Hs0AT1}CAU< H6- +!@ /76-@ ;D AH A$$1}%F:,A(A-+1&@5l8,A(%8, 8, %@p  1}6$ӠҠӛ $ A:Z$Point to Frame Lists-`f&@j 8,1} 8,%$@d$ .6-?:<,8$B++-jp&@t 6-1}'8, A 8,8,%@+w $" "6-$%@{1} 6-$ 6-%@ 6-$(;A(,;,;, 6-C:, 6-C:, 6-C:, 6-C:, 6-C:,1}` 6-C:, 6-C:,$X((b:6-F:A,&@d:Set aside Player-Missi1}dle areal,BBy,Tell ANTIC where PM RAM isv(6-AV$(Find PM Base address-jn@r968,-1}A%A($%A9Set addresses of Players9'A%@EI$@MQ%@U9Color him peach AAY1}E@BCASet PM 2 line resolution, Players enabled-B2w@Gn-Enable Player displayR'6-?:<8t,<A1}<a,RUse memory fill routine to clear Players$''6-gy.' 6-B'-}1}&@ L'.68,-%.Store addresses of frame dataV' 6-%`'E 8,EPoke Frame size at beginning of each set 1}of frame dataj'-@"&@&t'"~'8,%'   '$'* ŠŠӛ*$,1}/Ҡ.,;A,8,mm67@3,.ZPLb&0ߝShhhF&1}B,mm67@#,.ZFIT`L*H *hMNN1}QML,67A,.LP,Š囒,;A,,mm67@U,.ZPLbآY0H PN1}A򩀍+. 23P0ֽ:,mm67@E,.Z>ɩ. %:IX1}.: 23>>,mm67A,.Z >PPPHȱh∱QNPmQJnRR8ee1}fP*RR,++67Aq,.QP..P,Š,;@tjv,-]]67@z,.1}mJPLbح0N G𩀍GI}&(0 (G&0P-̠Z-;@Aq,d-<<67@1},.)hhhhhhh̥ͥ`-$--.!!.(6-A$(Parame1}Kter Base address.. 6-.Hi Byte of PLR0 Location goes here.06-%@O0Address of a 128 byte buffer/46-%@1}24Initialize Frame Animate routine/66-%@6d6Initialize Player Automove routine&/-jn@r0/=68,-1}%@ B%=Player horizontal "shadow" registers:/;68,-%@F%;Player vertical "shadow" registersD/868,-%@1}8%8Animate rate "shadow" registersN/768,-%@<B%$@Fo7Pointer to Frame ListsX/968,-%@2s%9Horiz1}gontal movement for AUTOMOVEb/ /:6-AH:Deferred Vertical Blank Interrupt Vector/6-@fkCritical Flag1}C /W6-@ 6-@!'6-@%-36-@1WControl bits for the four Players/ 6-%/6-%%%/D6-?:<<1}@ <A,DIMPORTANT: Clear out parameter area/H6-8G, A"HPoke Hi Byte of Player 0 into PMBA1}>S/2 6- A2Poke address of buffer/%@Bof0p0z09&@s,0-1} &@058,-%$5Points to start of each Frame List0 6-8, A0+ 8,+Put in address of F1}rame Data08,%@(0@-@,m@Make up a Frame List (numbers 1 thru FRAMES)08,%%@q0 01} 78,%%@r7End of frame list marker0 0$02 26@v6Open1}- CRITICAL "valve", set up detour36-%@1m A"3' 'Set VBLANK vector to PMOVER,3%@q636-%1}@ A@3,%@ H,Points PMOVER to ANIMATEJ3%@L[T36-%@_t A^3.%@x.1}%Points ANIMATE to AUTOMOVEh3%@)4r3<:<Close CRITICAL "valve", routines installed3$3 N1}Š>NHN55Number of Frames, Frame Size, Number of PlayersRN. (Running Boy)\N 4,31,4R 1}RFrame 1, Player 0R##0,0,0,0,0,0,0,0,0,0,0,0,0,0,0&R((0,0,1,3,7,15,14,12,0,0,0,0,0,0,0,00RFrame 2, Player1} 0:R##0,0,0,0,0,0,0,0,0,0,0,0,0,0,0DR%%0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0NRFrame 3, Player 0XR##0,0,0,0,0,0,0,0,0,0,0,1}0,0,0,0bR++0,0,0,0,0,0,0,0,1,3,15,30,30,28,30,30lRFrame 4, Player 0vR&&0,0,0,0,0,0,0,0,0,0,0,0,0,63,254R,,254,252,1}63,63,31,0,0,0,0,0,0,0,0,0,0,0RFrame 1, Player 1R&&0,0,0,0,0,0,0,0,0,1,3,7,14,14,12R331,7,207,207,223,255,255,239,1}195,3,3,1,1,0,0,0RFrame 2, Player 1R##0,0,0,0,0,0,0,0,0,0,0,1,3,7,6R>>6,6,15,63,127,255,255,127,127,255,239,207,301},127,255,252RFrame 3, Player 1R##0,0,0,0,0,0,0,0,0,0,0,0,0,0,0R..1,1,3,7,15,31,63,255,252,192,0,0,0,0,0,0RFra1}me 4, Player 1R''0,0,0,0,0,0,0,13,31,30,0,0,0,7,31R..63,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0SFrame 1, Player 2 S1}550,1,7,31,63,63,63,63,31,207,231,247,127,126,254SDD254,254,254,255,247,227,128,128,128,131,135,207,254,252,240,96 SF1}Grame 2, Player 2*S000,0,0,0,0,3,15,31,63,63,31,159,207,231,2554S==127,254,252,252,252,253,223,143,128,192,192,0,0,128,0,01}Ǜ>SFrame 3, Player 2HS++0,0,3,7,15,15,15,15,15,7,1,1,7,63,255RS99255,255,254,255,255,252,255,255,252,62,14,0,0,0,0,0\1}SFrame 4, Player 2fS551,7,15,15,15,15,7,199,227,121,63,63,254,255,255pS44255,240,224,192,240,248,63,31,15,6,0,0,0,0,0,1}0zSFrame 1, Player 3S==120,252,244,240,240,240,176,176,248,184,200,240,128,0,8S//120,120,240,192,128,0,0,0,0,0,0,0,1}0,0,0,0SFrame 2, Player 3S;;0,0,0,124,254,254,252,248,248,248,216,216,252,220,228S00248,0,0,96,224,224,192,128,0,01},0,0,0,0,0,0SFrame 3, Player 3S==0,126,255,255,255,252,236,236,254,238,242,252,224,128,0S++0,0,0,128,128,0,128,0,01},0,0,0,0,0,0,0SFrame 4, Player 3S==254,255,255,253,252,236,236,254,238,242,252,0,3,135,255S22252,0,0,96,224,224,191}2,192,128,0,0,0,0,0,0,0S0u''Ġ:u1,2,2,3,3,4,5,6,9,0 D:EX11.BASEINITAUTOMOV0p-(-HIBYTLOBYTPLRHPLRVPLRRATEPMWIDTHFRMLSTPTRMOVERATESPEETEMPMOVEALLINITANIMATSNSNDSCONVVOWAL5}INITAUTOMOVFST2BYTMFILFLAOBJECLST2NSPFRSTPLNUMPLRSPOINTEROBJFRMDATAFRAMESFRMSIZEPLRFRMMEMFRMLSTSIZETEMPTE5}MPTEMPFRAMEMETOTFRMLSTSIZBUFFERFRAMEMEMFRMLSTMEMPMOVERANIMATANIMATEAUTOMOVAUTOMOVEMFILLBUFFEPLRFRAMEFRMLSTMEP5}GMBASOFFSEOFFSETFRAMELISTPARAMBASPMBAPMBUVVBLKCRITICAPPPPQRYZ`b@hj@pr@x@5}@ @@  $% ,- 45 <=DELMTU\]delmtu|5} '(/078?@GHOP VX@!^`@"gh#np@$vx@%}5}@& @'@()"#**++23,:;-AC.IK/QS0Y[1bc2ik3rs4y55}6 789%&:-.;56<<>@=EF>MN?UV@]^AefBmnCuvD}5}E FGHH $$ҠĠϠ$$Y報(BBProgram usi5}ng all four Players to create animated foreground288Copyright (C) 1982 by David Fox and Mitchell Waite<F A@5}GPdn*6-P:'AV,*Calculate High Bytex(6-&$AV(Calculate Low Byte$5}囖RR9@",9@&-,9@18,9@<C,9@GN,9@RY,9@]g,Y +@kyAR@}5}m8 One moment please...YTurn off cursor, print message* B*Initialize Routine strings' APq'Set up me5}mory locations" Ap9"Set up Player area$ B=$Read frames into RAM* B *Set up parameter addresse5}Vs"" B0"Turn on interrupts,** "}ҠĠϠ6G-\`@do&8,@s* GFra5}#me rate for walking man@/6-6@'O/Temporary start up conditionJ ASY A]hT6-@l^6-?:<,h5} r A|5#@!%@)+1K:5ATAU36-O:F:Ad,&5}A(,+6-'@836-%K6-+A(&,'@ <B52@FL@PXK2@\b@fq+!w!6-5}&+@ ,+ Ap-"%? 6-?:<,-6-6@CWhF:A,"@[_:2ei@mq@uy@}5}\2 "UhFootstepsA+F:Ab,!A)F:Ab, @ Y5 APAReset ManK+F:Ad5},!A))F:Ae, @#5 A'gKReset other players F:AT,"AUAH)@kw6-&@H{05}ATAU< "H6-(1 A5w AXb(6-P:,"}5}(6-@ lK6-&?P!'+2@+1@5=A2@AG@KhK A vX'6-?:<8@lw,<AV<}5}A,XUse memory fill routine to clear Players 2 & 3M%6-P:H:@EJ,$@NR%@V,MWhich object to display (if possibl5} e)(6-5(No object selected yetF7A9=AAEAIMAQUAY]AagC"mF$6-?:<5}:, 6"@>P%6-A(&$@Tp/ A@6Tree/"@t6-A%5}9&' A@/Truck6-A2&Car'8@=H,!8@L^,'6-D8dw,A)&18@{,5}A)&>"6@gD6-  $ӠҠӛ \%A@ko$@sw%@{G5}C A@$@%@ >\Set color to peachB6-DL6-@PV% AZBPoint to proper Frame List-5}8 ,@w-8@#,@w'2"@6GAp$c8MR,@ V^-8@bg,@(ks9!@wN85},Ac8@3,A&.%%6-P:H:@7<,$A@D%@ Hh,8$BL V"n$`f%A5}@ $@%@'GA@+/$@37%@;efBrown trunk and green leavesj-8@i,A)-8@5},At-8@,@2"*-8@.3,@7B~d6-@FN6-@RX% A\d16-@hp=6-@tG A5})dPoint to proper Frame List-8@-0,6>-8@BG,@KT6-Z$ 뛺U%A5}@ $@%@+UAP:H:@/4,$@8=,$@AE%@IT-8@Xi,A-8@m,A3-5}8@ ,@W-8@",@W&1B6-@5=6-@AG% AKsBPoint to proper Frame List-8@w,@5} -8@,@#6-@'S6-A$ "@Wi$(o6-P:H:@mr,$@v,G6-5}@&P:H:@,$@ ,$@$.W6-$@2W%cAoA2-8@[^,dl-8@pu,@y<95}!@ $8@(,A98@,@,A2F-8@DI,@vMU-8@Y^,@vbmPB6-@qy6-@}5}% A 2BPoint to proper Frame ListZ-8@6;,@?G-8@KP,@T_d6-@ck6-@@on$x5}2++-8A8,&@E6-8<, A8%,8%,%@5}H $""-9<@Ls,-9,9,9,9,9,-@w 5}= " 68,-68,-68,-68,-8,$8,%@Ag6-%8,$8, 68,-8,%@k6-%8,$85}, (;A(,;,;, 6-C:, 6-C:, 6-C:, 6-C:, 6-C:, 6-C:, 6-C:,$5}CX((b:6-F:A,&@G:Set aside Player-Missile areal,BBy,Tell5}G ANTIC where PM RAM isv(6-AV$(Find PM Base address-MQ@U968,-%A($%A9Set add5}C^resses of Players568,-B2V%5Set addresses of Player Widths AAY@BbASet PM 2 line resolution5}", Players enabled7A#@&Y7Set priority - Players in front-B2w@]-Enable Player displayR'6-5}?:<8 ,<A<w,RUse memory fill routine to clear Players$''"6-}5}6- "9,$'-@"E.'68,-%8'6-%+8,%@IX,$8,B'-^g8,&@kL'068<,-%05}Store addresses of frame dataV'6-%8,`'J8<,8,JPoke Frame size at beginning of each set of frame dataj'5}-@8,&@t'"~'8<,%'   '$'* ŠŠӛ*$,5}$Ҡ.,;A,8,mm67@(,.ZPLb&0ߝShhhF&5}B,mm67@,.ZFIT`L*H *hMNNML,65}F7A,.LP,Š囒,;A,,mm67@J,.ZPLbآY0H PN5}6+. 23P0ֽ:,mm67@:,.Z>ɩ. %:IX.5}ǩ: 23>>,mm67A,.Z >PPPHȱh∱QNPmQJnRR8eeP*5}[RR,++67Aq,.QP..P,Š,;@t_k,-]]67@o,.JPLbح5}b0N G𩀍GI}&(0 (G&0P-̠Z-;@Afr,d-<<67@v,.)hh5}hhhhh̥ͥ`-$--.!!.(6-A$(Parameter Base ad5}@dress.. 6-.Hi Byte of PLR0 Location goes here.06-%@Dp0Address of a 128 byte buffer/46-%@t4Initia5}'lize Frame Animate routine/66-%@+Y6Initialize Player Automove routine&/-_c@gw0/=68,-%@{%5}7=Player horizontal "shadow" registers:/;68,-%@;r%;Player vertical "shadow" registersD/868,-%@v%8An6}-imate rate "shadow" registersN/768,-%@17%$@;d7Pointer to Frame ListsX/968,-%@2h%9Horizontal movem6}C\ent for AUTOMOVEb/ /:6-AH:Deferred Vertical Blank Interrupt Vector/6-@f`Critical Flag/W6-@6} 6-@'6-@"36-@&WControl bits for the four Players/ 6-%/ 6-%6-%%%/D6-?:<<@6}< >,DIMPORTANT: Clear out parameter area/H6-8D, A"HPoke Hi Byte of Player 0 into PMBAS6};/2 6- A2Poke address of buffer/%@?lf0p0z09<@p,0-@6}0-8,&@!0=8<,-8,%$8,=Points to start of each Frame List06-8<, A0-6}68<,-Put in address of Frame Data08<,%@:G0C-@K8,CMake up a Frame List (numbers 1 thru FRAME6}S)08<,%%@60 0NHN55Number of Frames, Frame Size, Nu6 }mber of PlayersRN. (Walking Man)\N 5,19,2fN. (Tree Trunk)pN 1,52,1zN. (Tree Top)N 1,26,1N. (Tr6 }uck)N 1,25,2N. (Car)N 1,13,2NR RFrame 1, Player 0R770,0,0,0,0,0,0,3,6}15,29,59,51,7,7,15,252,224,112,48&RFrame 2, Player 00R990,0,0,0,0,0,0,1,7,15,31,55,55,7,111,125,248,192,193:RFrame 6}3, Player 0DR;;0,0,0,0,0,0,3,7,15,31,31,31,31,222,254,251,231,206,15NRFrame 4, Player 0XR==1,3,3,3,1,7,15,31,30,62,626},63,63,60,124,120,112,112,252bRFrame 5, Player 0lR::0,0,1,1,1,0,7,31,31,31,31,31,15,15,13,31,123,112,124vRFrame 1, 6}Player 1RHH0,28,62,62,62,28,240,240,240,240,251,255,220,192,192,227,118,60,24RFrame 2, Player 1RKK0,0,56,124,124,16}24,56,224,224,224,224,246,254,192,128,192,224,224,248RFrame 3, Player 1REE0,112,248,248,248,112,192,192,128,128,128,26}G24,224,0,0,0,0,0,128RFrame 4, Player 1R55192,224,224,224,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0RFrame 5, Player 1RII6}0,224,240,240,240,224,128,128,128,128,176,240,0,128,192,128,192,0,0RUUPlayer 2, Tree Trunk6}VNN2,2,132,128,64,0,149,165,210,211,219,251,255,254,126,126,126,126,126,126VUU126,126,126,126,126,126,126,126,126,122,126}6,126,126,126,126,126,126,126,126,126V55126,126,126,126,126,126,126,126,255,255,219,137"VPlayer 3, Tree Top,VQQ24,246},60,60,126,126,126,255,255,255,255,255,255,255,255,255,255,255,255,1266V126,60,60,60,24,24@VTV6}^VPlayer 2, Truck CabhVBB0,0,0,0,0,15,25,17,17,17,17,17,31,31,255,255,255,255,255,255rV255,255,255,28,28|VPlay6}er 3, Truck BodyVUU255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255V255,255,255,12,126}ǚVVVPlayer 2, Car backV..7,9,17,17,17,31,63,127,255,255,255,56,16VPlayer 3, Car front6}V22192,64,32,32,16,248,255,255,255,254,255,28,8 D:EX12.BASRATESPEETEMPMOVEALLINITANIMATSNSNDSCONVVOWAL4D}~%171HIBYTLOBYTCLSEGTEMPHICHRSPEESCRLSTEBYTCFLACHAPAINLFENCPTHEIGHWIDTGRNSCRLWILINELECLOUSC:}RSPCFLAROOMLEFTEMMFILSCRNSZSTORCHIMNESHRUANTENNTREODDHOUSTRUNTREETOBDIDLSZMEHIBASLOBASDLBASSCRNHSCRNLS:}CROLSCROLLDLIROUDLIROUTMFILLWINDOCHRBAOFFSECHARTOTADLITBLSZDLITABLEDLITABLPARAMBASSCRLINISCRLADSCRLLESCRLCL:}DLIADVVBLKCRITICA&'-/57=?FGNOVW^_ fg no vw }: } !")*129:ABIJQRYZabijqry:!}  $%!,-"45#<=$DE%LM&TU'\](de)lm*tu+|,:"}-./ 0&(1/02683>@4GH5OP6WX7_`8gh9op:vx;}:#}< =>?"#@*+A23B:;CBCDIr $$ǠԠŠ$$}:$}報(QQProgram demonstrating Horizontal Fine Scrolling and Display List Interrupts288Copyright (C):%}G 1982 by David Fox and Mitchell Waite<F A@Pdn*6-P:'AV,*Calculate Hi:&}&Pgh Bytex(6-&$AV(Calculate Low Byte$因&&;@$T[,;@$_f,;@jv,V67@z,.>:'}:,367@$,.>: ),B67@-w,.VFill with ASCII 0* B*Initialize Routine strings' AP{':(}!Set up memory locations# A`%D#Set up Display List A&H`Clear screen% Ad%Load in Character Set:)}@0AV0Switch to Street character set@AY@5Dx@Turn screen DMA on again, Wide Playfield) A(|:*} A0 r)Create a street* B *Set up parameter addresses"" B0"Turn on interruptsT6-@v:+} |5#@ @K:5ATAU F:AT,"AUAH)@:,}6-&@H,0ATAU< 28H6->  Alv6:-}- =)!A'6-&A()6-A(7 @AK6-&@2OU) [e76-%@i6-%%$@:.}d>$) 6-B:, @$BL)67%@Pd,.6-%@hq-w:/}  A" -@B  6-$%6-@:7<,, AFU +!%@Ya$%%@#e+ A!0*":0}A! 4"@$6-%@d(7>)%%$@$;A%&@Ed) A!0H%%$%&@hR \ f:1}6-%%O:,%p6-)z6-&@%-X&$团 @\oA"@j"@s6-@:Q:2},$ A 16-6@3; A"PF6-@:E,P A7eV6-` A"Pj A"@T6-@:A, Air%6-6@v/ A"P:3}:6-@:D,D AJ6-T A"P$%%$%$` $$:4} j -@$t -*.@$2C~ ""%$%&@%G%F:%$%,     $ ( //:5}1蠰2 6-?:<<<7,< $F  R6.ԽԽ:6}$6-@ 06-@<6-@#+H6-@/5R A 9U D6. Խ 6-@Yc.6-%@go:6-@syD A }:7}C  P"6."*.6-@.4:6-:BF6-@$FLP A P $"   Š͠:8}8 ٛ 56-A5Initialize Pointer to Scroll Window (6-@Eg(How tall is the window 6-ms6-y 0:9} %6-P:H:@,$@%@ 7,0From 2-4 F H:@;@,$ADH@ELT,6-@X6 A0F45% 2 Stories F H:@::} ,$@U @5,6-@!F6 A0F35% 3 Stories 6-@Jh20% 4 Stories )6-+H:@lq,?`u,)60% :;}chance H" (6-+H:@$),?@-Y,H40% chance (only if no shrub) > @]c6-i>Not enough room l:<}eft for a fence& )6-+H:@!&,?P*F,)50% chance0 36-+H:@JO,?PS,350% yellow, 50% pink: 7 6.-&@:=}A5 A7A9!7 A %0D = @4: A$>$=No room for tree, exit routineN X :>}6- 6-!b H#"'+*"17*!@;F<6-+H:@JO,?0S,HA4@l v 6-@:?}-6. Find height of tree < H:@16,$@:>@BJ,6-@Ni6 A2`<10% < H:@mr,$@ v@:@} ,6-@ (6 A2`<20% < H:@,1,$@59@=E,6-@Id6 A2`<40% < H:@hm,$@qu@y,6:A}-@#6 A2`<20% 6-@'<10% A)6-P:H:@@H,$+&@LQ,%@U^,5"@bhA6-n 1 6-&:B}!@%6-&@16-@". ##6-+@29&,$@=A%@E_ 67,. "@cvA3@ -@z&:C}@ 6-%@867,.tt   6-%@<S67,. "@WjA3 -@nt&@x* :D}6-%@ *67,.BV4  > ,H:@.3,?P7A,67%@E,.KLH ((Add random spacing on side of treeR C%6-P::E}H:@ ,$@%@#,C"@'-) @1DA4p\ '"@HR6-%@Vk' A4pf 6-@o A4pp :F}z S%6-P:H:@!&,$@*.%@2A,+6.7"@EMI67@ Ql,.S A4p 67@p,.  %6:G}- 6-% A * I @.A1@IAdd another tree if not enough room for a house A0@ :H}蠲 !@6-@ + 6-@/: "@>F6-@J 67,.INZU A5` 67,.IOZX :I}C 56-%@5-%+&@!&,$@*.@2= .H:@AF,?PJ$67,.. A5 67,. 6:J}J7@ ,."0A6@$4H:@49,?P=E*67@Id,.WW4 A6@.67@h,.EQ8$Bt:K} 蠳~##6-+@!&,$@%)%@-:&* @>H&67&@Ln,.`67,.ZTX,H:@rw,?P{":L},6., A7` 6.56-%@0?5-%+&@CH,$@LP@Tr 67,. 67@v,.:M}67@?,.WWW$< 蠴F##6-+@CJ&,$@NR%@VaP'"@e67,.HTTJ' A@P:N} Z@,!@))H:@(,?33A@,f@Which type house?dCreate Odd House typen6-@jyx)67@}:O}!,.INZU) A967@%:,.IOZX6-@K)67@ Oe,. ITTO) AAiCreate Normal :P}House type- *#67&@!D,.`HJYTTJ- A@P=67&@HV,.HJ%"\367,.HTTJ= A@P0H::Q}@ ,?PE&67,.YTTJ0 A@P67,.HTTM56-%@IX5-%+&@\a,$@ei@mx0H:@|,:R}?%C&67,.0 A@67,. 67@G^,.67@!b,.WEQW$:S}&6-,7#6-@4;Z#Display List size76-@H^7Horizontal length of scrolli:T}ng window/!6-@$@$ &%$@*v/Screen size1 6-%1MEMory to reserve for DL and Screen2'6-%@z':U}J$AV AQp<.6-F:A,&.Find DL Hi and Lo bytesF6-PP6-$AV%Z, 6-%,Starting add:V}_ress of Screen RAMd 6- An- 6-6--Find Screen Hi and Lo bytesx.6-%@Hc.Beginning of Scroll win:W}Ydow 6-C:, 6-C:, 6-C:,$pz4+@]a%@e4Set flags to Graphics:X} mode 2+AYo+Turn off screen DMA2A2Set up top border, 24 scan lines%@sA:Y} %@ A(%@$(@q,H(LMS for line 1%@LY%@]j1%@nr@v%A(:Z}1Line 2 (w/ DLI),-"&@*W,Loop for lines 3-9 6-%$6-@[vLMS and HSCRLT"@z)":[}C@-6-@M%A(TDLI, LMS and HSCRL for lines 5 and 82"@QY6-@q]2No scroll for line 9+%:\}EE\@ %@@$+LMS and HSCRL 6- A%@DH%@L[$$%@ _c%@g$. 8.%@(:]}@ .%A(.Last 3 linesB%@)26@:EL%@0IM@Qd%A(V;%@1hl@ep;Jump on VB:^}"LANK to beginning of DL`%@2&3j%@37t 6- A~8A8Address of DL for DLI handling :_}[routineA Tell ANTIC where the DL isA`Aa0ae@im@qw70@{:`}@ @Q0@ $@(.k0@24:>@BH0@LP@ TX@\Brn, grn, wht, wht, blue$:a}B@$$J86-F:A,&&@F8Reserve space (512 bytes)T/6-$AV/Find st:b}Kart of Character Set^,,Read in data, skip first 28 charactersh#6-@(OS$@W_#6-@5cr #B0|"6-:c}!!-%%%$@#&@'P" 6-% 6 +V3  In Character Set Data6':d}2'Clear out first char (background)-%@6?E $** ŠŠ:e}5ӛ+̠ +;A,+mm67@9,.ZPLbحHYZ01PQNPJNQP:f}%-mF PYP +mm67@),.Z-FMԭPmDDED8mQDEE(DDEPB:g}CPgP*+mm67A,.ZDQDEBmPBRCCSA))P )ȭRmRȭSmSP4+AA6:h}\7Aq,..YZPFDEBCP\+ɠ堛f+;@`l,p+mm67@p,.ZP Lb:i}0KHHH]^$%KHȱȱȌKh9\ ԍЎЌЭ]^hz+67@`,.hh@+&&:j}ɠ+6-@ I#BU+ ;,+ 6-C:,+-OU&@Y+"+ %, P-:k}̠Z-;@A',d-<<67@+,.)hhhhhhh̥ͥ`-$--.!!:l}D.(6-A$(Parameter Base address/=6-%@H=Poke a 1 to initialize the scroll routinel//6-:m}C%@&3/Address of scrolling windowv/36-%@(7f3Line length of scrolling window/:6-%@0j:Number of Color :n}n#Clocks per screen byte/26-%@1'U2Step size of scroll each jiffy/(6-%@6Y(Address of DLI table/:6-AH:o}8:Deferred Vertical Blank Interrupt Vector/6-@f<]Critical Flag/D6-?:<<@ac<i,DIMPORTANT: Clear:p}: out parameter area/ 6- A0  0%@>g 0 6- A*0 40%@kx>00@|:q}G0Set to 8 color clocks per byteH0 6- AR0 \0%@K0$02 26:r}@ ?6Open CRITICAL "valve", set up detour26-%@C A2' 'Set VBLANK vector to SCROLL2%:s}@26-%@. A3,%@2Z,Points SCROLL to DLIROUT3%@^ir3<o<Close CRITI:t}*CAL "valve", routines installed|3@.3$BBA$Enable DLI's3$3YY 3:u}8646Y0,3,15,31,63,63,127,127Y##0,192,240,248,252,252,254,254Z127,127,127,63,63,31,15,7 Z%%254,254,254,252,252,:v}248,240,224Z4,31,4,31,4,4,4,4Z48,48,48,63,54,54,54,54(Z3,3,3,3,3,3,3,32Z%%255,195,219,219,219,219,219,219}Ơ̠ӠȠEEProgram to demonstrate the Memory Fill Machine Language Routine(288Copyright (C) 1982 by >}9David Fox and Mitchell Waite<dn +?ix BStore routineJ%6-F:@mt,%F:@x,$A>}GVJAddress for start of screen memory-MAU'6-?:<<A `<,'Call routine>}8  AP- U-Z-;@A<H,d-<<67@L,.)hhhhhhh̥ͥ`i->}Cn-& 6-C:,&Find address of routinex-$ D:FLASH.BASJKRSZ[bcjkq <Cugh: Q BYTCHARDEVSTRNAMEQUOTEEOLQUOTEQTECNTEOLCNTSTRPNTSTARBYTETOLINSIZERRCHECSTRSTARSTRENL}B} @!#@)+23:;BC JK RS Z[ bc jkrszB}  ǠҠ((Program to convert data to strings88Copyright (C) 1982 by David Fox aB}Und Mitchell Waite( A2++<[[+!@&Y_* @2c,)+!A$* A(,)+B}#!AU* A`,)+!AR,@'8F$P967@<@<@DQ,.667@UY<@],.>:,9$ZdB} nGG;@,;@ ,9@$+,9@/6,;@:A,;@ES,x6.>:@4Wa,?6-gm6-s'6-@B}36-?6-0 "" A4g"Open Output Device%% @k DIM $(B})% 6-6-%@&%!A*76-%@;E%% @Ix $()= -6-%@|B} !A $-"6-%-"@4(N)"AUA`/ 6.>:,%7@RV<@Ze,4E/ @`is @w B}A@ @" "@4&9(68,-66-%@=]@ A 68,-6-%@ar "( @v6-B}%@ ( A, @!6ᛚH 0 "} - Please recheck your data.>  IB} get H A3"9JA-PV&@Zg6-%@ku66 @yB}C\ $(8,,8, )=CHR$(34)& 0X""b"bfAjsl-y&B}@v6-%@!77 @% $(8,,8, )=CHR$(155)  ##B} *)) !} 2ǠҠ4-- %6Please the enter storage device:>  E = Screen EditorH  B}1 D = Disk (D, D2)R  C = Cassette\)-@59@=w%  (E,D,C): )f A`p 6-B:,z67%@{,.B}:67%@',.67B:,%@+=,..STR @AE@IKQ\ B`k/7@os<@w,4DB}/  Writing to $HqRqMFILL,11610,41,6244\qee104,104,133,204,104,133,203,104,13B}3,206,104,133,205,104,104,160,0,170,138,145,203,200,208,2,230fq@@204,165,205,208,2,198,206,198,205,165,205,5,206,208,234,96B}uD1:STRLOADR.BASEVSTRNAMEQUOTEEOLQUOTEQTECNTEOLCNTSTRPNTSTARBYTETOLINSIZERRCHECSTRSTARSTRENL}@FFFE