@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}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`  `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$} 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(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu }@ZOL@} KER M I E G A AL@ @   *} >?<=  +} H GL'D? H THL'D@ aL ;L DH I IL'D0K7K2K 8K KL'D.}0K7K 2K8K KL'D 0K 7K2K8K KL'D U HZN I E (G IL'D U H[N I /G E IL'D/} I #G IL'DdN A TH HL'DgNH Ah A IL'DgNH Ah A IL'DgNH Ah0} A IL'DNNNNN}NN~N 1DL'DNNNNN}NN~N 1DL'DNNNNN}NN~N 1DL'D1}NNNNN}NN~N 1DL'DNNNNN}NN~N 1DL'D`TU zEmN AdN AgN0D2} A &0D AlN0D .A DmN 0E0DL[D E I I ;L DH8gNdN GLD (G /G I I`TU詭N YEʩ3}TU  ETU詟N YEʭmN(TU詯N YE =EىNmN`}N~NlH h`H h`4})  KEH jLh)`U KE E KE KEU| KE E| KE KEU KE E KE`H KEh` E5}ʩ MG MG`TU詍N YEʩ KE KE F KETU詏N YEʩT UZN KETU KETU詏6}N YEʩTU[N KETU| KEU| KE&U| KEީTU KE F KETU KETU F F| KETU KE 7}F KETU KETU`% KE`| KE詑N YE詗N YEʩ E`hNTU  ETT`8}kNhNkNXN_NeN0Z\N^NqNiNrNjNTU G ׭Ti9}U G`dNkN vL dE`` H DHhN\N\N^N^N^N\NL3H_NaNaNaN_N DH ILH:}\Ny_NbN` H DHhNbNeN)\N\N^N^N^N\N_NaNaNaN_N DH ILHUHT  zEhUUT詝;}N YE =EH810 NxhHh`kNkN^NHmaNhiThNXNU G`hNLMGnNHZNO[N-ON<}NqNiNrNjN`BJ V0\BiNDjNEHI V䭣09$ $ $LI$ $$)$iNm1KiN=}jNLjI` JheN iNuNjNvN DHnN`hNL"I I I`lN*#HL"J$HL"J!HL"J(HHH`hEhDhB V />}K` K J J eJP J` J` =JNN J``BwNHDxNHEyNHzNI V /KHHIHP BhIhHhEhD V /K`C?}``BNDNEJK V`PBNDNEJK V` B V`NNNNhNIZN``@}6KI6K2Km0K5K8Km7K9K4K83K1Km1K2K; 5K7K38K#9K6KHA}h1K6Km1Ki4KТ3KЛm1KiLhKLhK`hNqNrNuN3KvN4K :K I`sNtNwN3KB}xN4K :K I`hNeNgN_NaN\N^N qNiNrNjN`hNIhN`i`iNjNii`nNUT L LnC}N`HJJJJ Lh) LLKE ii0` RAF Commander 2000 BETA V1 25.3.2000 NF ATARI DOS Report Bugs / Suggestions t rafcbugs@D}strotmann.de RAF Commander Homepage http://www.strotmann.de/rafReleased u. GPL, www.gnu.orLLMM9MUMqMTUE} zETU詍M YEʩTU詏M YEʩ TU詑M YEʩ TU詓M YEʩ TU評M YEʩ F}TU詗M YEʩ TU詙M YE =E} KE`12``edo@yEyEJJ=JTJJANYLN OOOOOO,ON;G}OKONNNNNNRAF Disk Commander 200(Un)LockinCopMovDeletLoadin12xxxxx8(Y)es (N)o (A)bort A(l)[Dx: D freeH}D1:*.* D1:*.* D1: D1: etLoadin12xxxxx8(Y)es (N)o (A)bort A(l)[Dx: D free>@ZOL@} KER M I E G A AL@ @   J} >?<=  K} H GL'D? H THL'D@ aL ;L DH I IL'D0K7K2K 8K KL'DN}0K7K 2K8K KL'D 0K 7K2K8K KL'D U HZN I E (G IL'D U H[N I /G E IL'DO} I #G IL'DdN A TH HL'DgNH Ah A IL'DgNH Ah A IL'DgNH AhP} A IL'DNNNNN}NN~N 1DL'DNNNNN}NN~N 1DL'DNNNNN}NN~N 1DL'DQ}NNNNN}NN~N 1DL'DNNNNN}NN~N 1DL'D`TU zEmN AdN AgN0DR} A &0D AlN0D .A DmN 0E0DL[D E I I ;L DH8gNdN GLD (G /G I I`TU詭N YEʩS}TU  ETU詟N YEʭmN(TU詯N YE =EىNmN`}N~NlH h`H h`T})  KEH jLh)`U KE E KE KEU| KE E| KE KEU KE E KE`H KEh` EU}ʩ MG MG`TU詍N YEʩ KE KE F KETU詏N YEʩT UZN KETU KETU詏V}N YEʩTU[N KETU| KEU| KE&U| KEީTU KE F KETU KETU F F| KETU KE W}F KETU KETU`% KE`| KE詑N YE詗N YEʩ E`hNTU  ETT`X}kNhNkNXN_NeN0Z\N^NqNiNrNjNTU G ׭TiY}U G`dNkN vL dE`` H DHhN\N\N^N^N^N\NL3H_NaNaNaN_N DH ILHZ}\Ny_NbN` H DHhNbNeN)\N\N^N^N^N\N_NaNaNaN_N DH ILHUHT  zEhUUT詝[}N YE =EH810 NxhHh`kNkN^NHmaNhiThNXNU G`hNLMGnNHZNO[N-ON\}NqNiNrNjN`BJ V0\BiNDjNEHI V䭣09$ $ $LI$ $$)$iNm1KiN]}jNLjI` JheN iNuNjNvN DHnN`hNL"I I I`lN*#HL"J$HL"J!HL"J(HHH`hEhDhB V /^}K` K J J eJP J` J` =JNN J``BwNHDxNHEyNHzNI V /KHHIHP BhIhHhEhD V /K`C_}``BNDNEJK V`PBNDNEJK V` B V`NNNNhNIZN```}6KI6K2Km0K5K8Km7K9K4K83K1Km1K2K; 5K7K38K#9K6KHa}h1K6Km1Ki4KТ3KЛm1KiLhKLhK`hNqNrNuN3KvN4K :K I`sNtNwN3Kb}xN4K :K I`hNeNgN_NaN\N^N qNiNrNjN`hNIhN`i`iNjNii`nNUT L Lnc}N`HJJJJ Lh) LLKE ii0` RAF Commander 2000 BETA V1 25.3.2000 NF ATARI DOS Report Bugs / Suggestions t rafcbugs@d}strotmann.de RAF Commander Homepage http://www.strotmann.de/rafReleased u. GPL, www.gnu.orLLMM9MUMqMTUe} zETU詍M YEʩTU詏M YEʩ TU詑M YEʩ TU詓M YEʩ TU評M YEʩ f}TU詗M YEʩ TU詙M YE =E} KE`12``edo@yEyEJJ=JTJJANYLN OOOOOO,ON;g}OKONNNNNNRAF Disk Commander 200(Un)LockinCopMovDeletLoadin12xxxxx8(Y)es (N)o (A)bort A(l)[Dx: D freeh}D1:*.* D1:*.* D1: D1: @din12xxxxx8(Y)es (N)o (A)bort A(l)[Dx: D freeDAPK1PK2PK3A *** HOT POKER LOADER ****** by S.j}M. Baugh ***11;@r,;@r,;@r,;@,(6$(Creating file: ĺҮ 6AA2A Ak} @A@@ D:POKER.SUBd--@@r")67<,.>:,- n--@@rl}")67<,.>:,- x--@@r")67<,.>:,- 66(@%2 DIM PKR$(216):REM * Hot Poker Sub *66m}(@ 3 PKR$(1,72)=>:@4,>:@4,88(@4 PKR$(73,144)=>:@4,>:@4,99(@5 Pn}KR$(145,216)=>:@4,>:@4,FF(@56 FOR L=1 TO 3:READ P:READ D:PKR$(P,P)=CHR$(D):NEXT L--(@7o} DATA 80,155,91,155,181,155ee(@T8 REM MAKE =1ST DATA LINE TO MOVE, =NBR OF DATA STATEMENTS, =DESTINATp}ION??(@.9 REM INCLUDE: U=USR(ADR(PKR$),LNBR,NBRL,DEST)1@( All done..AAH1oAq}AH(J("I'm sorry, I've discovered error #F:A,M(k(Press to continueoA r}@@SS216,104,104,133,209,104,133,208,104,104,141,253,3,104,133,206,104,133,205,165OO136,133,203,165,137,133,204,1s}69,0,168,145,205,160,2,177,203,133,207,160,1OO177,203,197,209,208,9,136,177,203,197,208,208,2,240,14,24,165,203,101,207t}NN133,203,144,224,230,204,24,144,219,160,5,200,177,203,201,44,240,69,201,0NN240,65,200,177,203,201,44,240,32,201,0,240,u}28,132,208,230,208,136,136,56PP177,203,233,48,240,13,170,160,0,24,177,205,105,100,145,205,202,208,246,164$NN208,132,20v}8,136,136,56,177,203,233,48,240,13,170,160,0,24,177,205,105,10.NN145,205,202,208,246,164,208,132,208,136,56,177,203,233,48w},240,7,160,0,248QQ113,205,145,205,230,205,208,2,230,206,169,0,168,145,205,164,208,177,203,201BLL0,240,13,200,24,144,140x},160,2,177,203,133,207,24,144,129,206,253,3,240LAA14,24,165,203,101,207,133,203,144,233,230,204,24,144,228,96V* 216 By}YTESD:HOTPOKER.BAS44,129,206,253,3,240LAA14,24,165,203,101,207,133,203,144,233,230,204,24,144,228,96V* 216 B Y'o'PK1PK2PK3AFROTOPFMTDESINTEMPCNOUTGR7PLUSCREEPOKCOLCOLUTOP2DIRKBYTH2HEADERTYPIN{}BUFIINITBPG6TEMP2DLPOKGRCNVDTOxx K|}   BXWBYYBXB BXWA!A:,.67@,.:F-(-(}!Want a directory listing? (/) >P,)@,>:,0Y*>:,0N@Z (>:,>:,4Y A@d+(!('FR}OM' file name? >+ An:67@,.6.+6-?::,.67@,.:)(('TO' file name? >) A:67@,.6.}+6-?:}-@+6-P:8,'@,>6-8,&$@Je-@%@(<-@&+!@ ,%@A(a-@}0&+!@ ,%@e(TM-@%@4(POKE A%,8,8 JARM(^L'(Convert m}ore pictures? (/) >4)@?>:,0YF(>:,I(Lh: (>:,@ @&6.0 A@: @ r}Ӡ|@6-F:A, +((Error #'( (Want to re-try? (/)'(>)@>:},4Y% ( ˠ٠=67@,.*.*3@@= Ap (}-@@}@( A`@6.7@<@,$ԠŠb6-F:@,66-F:@},&+F:@,"@#,C@J4P-X(b A$ԠŠҠ( ( - ) >,)}@,>:,21)>:,34A@& (>:, $0ԠŠƠŠ:((, , or ) >D/)@6.>:,/}21)33ApN# 41#6.-icro)llustratorX 426. -icro0ainterb 436. &unwith!rtl ( }$v##ĠϠҠŠ4-@@$)@067,.>:,4 ^ 0+(2( ERROR! - } is not aN(Micro Illustrator file.Q(T'^ A5)@$-@@1)@5 ?-}@$)@-68,-;A%? (-@@ $)@( 9AP@/6-?:<A}RG66-?:<AP<@<AR<<AV<A@,G6-?:<@,H(-@@$)@( R?.}6-?:<AR<%A@<AV<A6,?6-?:<@,\$f00ŠĠϠҠŠp6 #A 0}!-@@%"2*@6 z+-@'*@8,+ ,-@@ "(*@}, G66-?:<AP<@<AR<<AV<Av,G6-?:<@,$,,255,128,201,199,26,0,1,0,14,0,40,0,192}##27,30,0,0,155,155,155,155,162ŠϠҠŠG66-?:<AP<@<AR<<AV<Av,G6-?}:<@,A*@8@,--@=*@8,A $ŠΠȠԠŠg*@}AT)*@AT?*@8@,S-@c*@8,g J96-?:<AP<@<AR} #AP!-@@%%"167,.>:,5 >-C:,L--@}A8")A5%- V* 216 BYTESt+-@@6"'67,.>:,+ ~+-@AV"'67,}.>:,+ 4-@@w"'67,.>:,+ 46-C:,4-@@H"'67,.>:,+ 46-C:,4-@}@7"'67,.>:,+ 46-C:,:-@A "'67,.>:,+ 46-C:,:6.#@@}K:C@@E:]0@@@w0@@0@@d-6}-F:@,%AV$F:@,%A d6-?:<%@<<%@<<%@5<<A`<,$HH104,74,170,160,0,104},133,255,104,133,254,104,240,4,200,145,254,136 104,145,254,202,208,237,96* 25 BYTESCC132,213,132,207,177,203,8},32,110,6,40,24,42,38,207,74,133,212FF208,14,177,203,133,213,32,110,6,177,203,133,212,32,110,6,165,207BB240,34,177,20}3,32,110,6,145,205,166,214,224,2,208,6,32,215,6 EE76,60,6,32,117,6,198,212,208,230,165,213,240,188,198,213,16,222EE177},203,133,209,32,110,6,165,209,145,205,166,214,224,2,208,6,32DD215,6,76,98,6,32,117,6,198,212,208,233,165,213,240,150,198,}213(EE16,225,230,203,208,2,230,204,96,24,165,205,105,80,133,205,144,22JJ230,206,165,205,197,217,208,42,165,206,197,218,}208,36,165,208,208,33<HH230,208,24,165,215,105,40,133,205,165,216,105,0,133,206,24,165,217FGG105,40,133,217,144,2,230,2}18,230,215,208,2,230,216,96,198,208,165PII215,133,205,133,217,165,216,133,206,24,105,30,133,218,24,165,88,105ZHH40,170,}165,89,105,0,228,205,208,224,197,206,208,220,104,104,96,230dGG205,208,2,230,206,165,88,197,205,208,205,165,89,24,105,30,19}7,206n208,196,240,230x* 238 BYTESLL104,104,133,204,104,133,203,104,168,104,133,214,165,88,133,205,133,215"EE}133,217,165,89,133,206,133,216,24,105,30,133,218,132,208,76,0,6,* 36 BYTES|==112,112,112,78,0,80,14,14,14,14,14,14,14},14,14,14,14,14;;14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14;;14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,}14,14,14;;14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14;;14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,1}4;;14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,78::0,96,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14;;1}4,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14;;14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14;;14,14,14},14,14,14,14,14,14,14,14,14,14,14,14,14,14,14;;14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14;;14,65,0,6,104,1}70,104,141,1,2,232,208,3,238,1,2,142,0>>2,104,170,104,64,169,0,141,0,2,169,0,141,1,2,169,192,1410014,212,76,95,228,0,}0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0* 256 BYTES@@104,173,48,2,24,105,3,133,203,173,49,2,105,0,133,204,160,0GG17}7,203,201,79,208,21,169,78,145,203,165,203,24,105,2,133,203,165DD204,105,0,133,204,169,0,240,15,201,15,208,6,169,14,145,2}03,208BB5,201,65,208,1,96,165,203,24,105,1,133,203,165,204,105,0,133204,169,0,240,197* 77 BYTES8KK104,104,}133,204,104,133,203,104,168,133,253,104,133,205,6,253,177,203B@@10,102,253,74,201,32,176,5,24,105,64,144,7,201,96,176,3,56}L11233,32,5,253,145,203,200,196,205,208,223,96V* 48 BYTESX22112,112,80,66,0,0,32,2,0,2,16,66,0,0,2,2,2,2b**2,2,}2,2,2,2,2,2,2,2,2,2,2,2,2,2,65,0l0v* 37 BYTES@MM128,128,176,169,163,180,181,178,165,128,163,175,174,182,165,178,}180,165JMM178,128,226,249,128,163,232,225,242,236,229,243,128,170,239,232,238,243T==239,238,128,128,128,166,242,239,237},154,0,0,0,0,0,0,0,0^++0,0,0,0,0,0,0,0,0,124,0,0,0,0,0,0,0,0h550,0,0,0,0,0,0,0,128,128,128,180,239,154,0,0,0,0r++0,0},0,0,0,0,0,0,0,0,0,0,0,124,0,0,0,0|0,0,0,0,0,0,0,0,0,0,0,0* 120 BYTESD:PICCNVRT.BAS9,154,0,0,0,0r++0,0g;TRAILS.ACT; Copyright 1986 by Kevin Garlow; Last modified 1-3-86; CHECKSUM DATA;[E7 5F 32 D9 1B 77 3D 89 ; 74 05} 6C C4 EB C2 6B ]DEFINE pers_ratio = "35"BYTE col1=709,col2=710,border=712, cur=752,key=764,attract=77, clock=2}0,mirror=[1],modeCARD ARRAY x(500),y(500)CARD x0,y0,n=[0],i,maxpts=[175] PROC Setup(BYTE mode)FOR i=0 TO maxpts DO }x(i)=0:y(i)=0ODGraphics(mode) : col2=0 : col1=14cur=0 : color=1 : border=16*Rand(16)+2IF mode<>0 THEN Plot(64,0) Draw}To(192+64,0) DrawTo(192+64,191) DrawTo (64,191) DrawTo (64,0)FIRETURNPROC Instructions(); =======================}===========; = for KoalaPad =; = (see listing 2 for joystick) =; ==================================S}etup(0)PrintE(" """"")PutE()PrintE(" Draw with KoalaPad...")PutE()Print("LEFT __\ Ҡ } ")PrintE("/__ RIGHT")Print("button / ")PrintE("\ button")PutE()Print(" ANY KEY:")PrintE(" }Ӡ")Print(" or ")PrintE("")PutE()PutE()PutE()Print("------------------")Pr}intE("------------------")IF key=255 THEN Print(" Hit any button ") Print("to start:") DO UNTIL (PTrig(0)=0 OR PT}rig(1)=0 OR key<>255 OR STrig(0)=0) OD key=255FIRETURNPROC Get_pers()Instructions() key=255PutE()maxpt}s==/pers_ratioPrint("Persistence is now ")PrintCE(maxpts)PutE()Print("Enter new ")Print("persistence (1-10): ")PrintC(m}axpts) Print("")IF maxpts=10 THEN Print("") FImaxpts=InputB()RETURNPROC Octplot(CARD x0,y0)CARD x1,y1x1=191-x0y1}=191-y0IF Locate(x0+64,y0)=1 THEN color=0ELSE color=1FIPlot (x0+64,y0)IF mirror=1 THEN Plot (x0+64,y1) Plot (y}0+64,x0): Plot (y0+64,x1) Plot (x1+64,y0): Plot (x1+64,y1) Plot (y1+64,x0): Plot (y1+64,x1)FIattract=0clock=0IF mirro}r=0 THEN DO UNTIL ((clock&1)=1) ODFIRETURNPROC Draw();===================================;= for KoalaPad } =;= (see listing 2 for joystick) =;===================================DO x0=(Paddle(0)*95/114)-1 y0=(Pad}dle(1)*95/114)-1 IF PTrig(1)=0 THEN Setup(24) IF mirror=1 THEN mirror=0 ELSE mirror=1 FI DO UNTIL }PTrig(1)<>0 OD FI IF PTrig(0)=0 THEN Setup(24) FI Octplot(x(n),y(n)) x(n)=x0 y(n)=y0 Octplot(x(n),y(n)) n=}=+1 IF n>=maxpts THEN n=0 FI UNTIL (key<>255)ODRETURNPROC Main()Instructions()DO IF (key<>255) THEN Get_per}s() IF maxpts >10 THEN maxpts=10 ELSEIF maxpts<1 THEN Graphics(0) RETURN FI maxpts=maxpts*pers_r}atio FI key=255: Setup(24) Draw()ODIF maxpts<1 THEN Graphics(0) RETURN FI maxpts=maxpts*pers_r-; CHECKSUM DATA;[2A 9D 20 72 ]PROC Instructions(); =================================; = for joystick } =; = (substitute into listing 1) =; =================================Setup(0)PrintE(" """"")Pu}tE()Print(" Draw with ")Print("joystick...")PutE()PrintE(" button: Ҡ and ")PrintE(" } ")PutE()Print(" ANY KEY:")PrintE(" Ӡ")Print(" or ")PrintE("}") PutE()PutE()PutE()Print("------------------------")PrintE("------------")IF key=255 THEN Print(" Hit any butto}n") Print(" to start:") DO UNTIL (PTrig(0)=0 OR PTrig(1)=0 OR key<>255 OR STrig(0)=0) OD key=255FIRETURNo|; CHECKSUM DATA;[BA 99 3B ]PROC Draw() ; =================================; = for joystick =; = } (substitute into listing 1) =; =================================INT delx=[0],dely=[0],stx0=95 y0=95DO st=Stick(0) } delx=(st&4) RSH 2 - ((st&8) RSH 3) dely=((st&1)) -((st&2) RSH 1) x0=(x0+2*delx ) y0=(y0+2*dely ) IF x0<1 OR x0>19 }0 THEN x0=95 FI IF y0<1 OR y0>190 THEN y0=95 FI IF STrig(0)=0 THEN Setup(24) IF mirror=1 THEN mirror=0 ELSE } mirror=1 FI DO UNTIL STrig(1)<>0 OD FI Octplot(x(n),y(n)) x(n)=x0 y(n)=y0 Octplot(x(n),y(n)) n==+1 IF n }>maxpts THEN n=0 FI UNTIL (key<>255)ODRETURN Octplot(x(n),y(n)) x(n)=x0 y(n)=y0 Octplot(x(n),y(n)) n==+1 IF n 39000 REM ATARI SCREEN SCROLLER9010 REM (c) 1984 Jeff Brenner9020 DATA 104,169,000,141,014,212,1699030 DATA 022,141,036,002$},169,006,1419040 DATA 037,002,169,064,141,014,2129050 DATA 096,008,216,165,206,230,2069060 DATA 197,207,208,051,169,000,13$}39070 DATA 206,024,165,203,105,001,1339080 DATA 203,201,016,176,005,141,0059090 DATA 212,208,031,169,000,141,0059100 DATA$} 212,133,203,024,165,088,1059110 DATA 020,133,204,165,089,105,0009120 DATA 133,205,160,000,177,204,1459130 DATA 088,200,19$}2,220,208,247,0409140 DATA 104,168,104,170,104,0649150 T1=PEEK(548):T2=PEEK(549)9160 IF FL=1 THEN GOTO 92509170 FL=19180$} DIM SP$(20):SP$(1)=CHR$(32):SP$(20)=CHR$(32):SP$(2)=SP$9190 DIM SCROLL$(300),TXT$(20):TOT=0:FOR I=1 TO 909200 LOC=ADR(SCRO$}LL$)+22:H=INT(LOC/256):L=LOC-H*2569210 SCROLL$(8,8)=CHR$(L):SCROLL$(13,13)=CHR$(H)9220 READ NUM:SCROLL$(I,I)=CHR$(NUM)9230$} TOT=TOT+NUM+I:NEXT I9240 IF TOT<>15081 THEN PRINT "THERE IS AN ERROR IN THE DATA.":STOP 9250 CENTER=1:DELAY=39260 IF DELA$}Y=0 THEN DELAY=1:SCROLL$(41,41)=CHR$(2)9270 POKE 207,DELAY-1:POKE 203,0:POKE 206,0:RESTORE 95009280 GRAPHICS 18:DL=PEEK(560$})+256*PEEK(561)9290 SETCOLOR 0,2,8:SETCOLOR 1,12,10:SETCOLOR 2,9,4:SETCOLOR 3,4,69300 SETCOLOR 4,0,0:POKE DL+3,PEEK(DL+3)+3$}29310 FOR I=DL+6 TO DL+15:POKE I,PEEK(I)+32:NEXT I9320 A=USR(ADR(SCROLL$)):POKE 764,2559330 IF PEEK(764)=33 THEN GOTO 9430$}9340 IF PEEK(203)>0 THEN GOTO 93309350 POSITION 0,11:PRINT #6;SP$;9360 READ TXT$:IF TXT$="REPEAT" THEN RESTORE 9500:GOTO 9$}3609370 IF TXT$="END" THEN GOTO 94309380 IF CENTER=0 THEN POSITION 0,11:PRINT #6;TXT$;:GOTO 94109390 POS=(20-LEN(TXT$))/2:$}IF POS<1 THEN POSITION 0,11:PRINT #6;TXT$;:GOTO 94109400 POSITION 0,11:PRINT #6;SP$(1,POS);TXT$9410 IF PEEK(203)=0 THEN GOT$}O 94109420 GOTO 93409430 POKE 54286,0:POKE 548,T1:POKE 549,T2:POKE 54286,649440 END 9450 REM Display data begins at line $}9500.9420 GOTO 93409430 POKE 54286,0:POKE 548,T1:POKE 549,T2:POKE 54286,649440 END 9450 REM Display data begins at line $9500 DATA THIS IS A TEST9510 DATA OF THE ATARI9520 DATA SCREEN SCROLLER9530 DATA PROGRAM.9540 DATA 9550 DATA NOTE HOW TH(}ESE9560 DATA LINES OF TEXT9570 DATA SMOOTHLY SCROLL9580 DATA UP THE SCREEN.9590 DATA 9600 DATA WE CAN GET9610 DATA OTHE(}R COLORS9620 DATA ON THE SCREEN9630 DATA BY USING9640 DATA ś9650 DATA lower case AND9660 DATA 9(}670 DATA CHARACTERS9680 DATA IN THE DATA9690 DATA STATEMENTS.9700 DATA 9710 DATA THE TEXT IS9720 DATA AUTOMATICALLY9730(} DATA CENTERED SINCE9740 DATA WE SET THE9750 DATA VARIABLE center9760 DATA TO ONE.9770 DATA 9780 DATA THE WORD9790 DATA)} Ԣ ON LINE9800 DATA 9910 OF THE DATA9810 DATA WILL CAUSE THIS9820 DATA MESSAGE TO9830 DATA START OVER FROM9840 DA)}TA THE BEGINNING.9850 DATA 9860 DATA YOU CAN PRESS9870 DATA THE 9880 DATA TO STOP.9890 DATA 9900 DATA 9910 DA)}TA REPEATINNING.9850 DATA 9860 DATA YOU CAN PRESS9870 DATA THE 9880 DATA TO STOP.9890 DATA 9900 DATA 9910 DA( ab  MESSAGEVBORDLISTDLISDLENPGDLBESPEECSCROLINITVHIGLOMEANTIOFFSECHASCROLLBYTE=A6-}nB"B"B"@AYAW A` @Q @ @H AY@@-}@$@b@A`B# ************************** * Scroll-it! * * By Ma-}rk Sloatman *( * For ANALOG Computing *2 **************************<F;A,P%6-A6;A-},%6-C:,ZZZCorrects address of beginning of Display List if it is going to cross a 1k boundary.d*6-%@U*6-}-P:'A$,$A$n) 6-& @U)6-%+@U&,x66delete line 110 if you want the VBI in a string. DIM- } VB$(71):VBORG=ADR(VB$)'6-AY6-AW'6-A`AUdon't scroll!9 +@AR@- }90@Q0@@70@@@Q0@@@]-@@- },(@ SCROLLIT!>-@@](@by mark sloatman p-@@&(@8-@@- }V(@analog computingY(p( Just a moment...+ A0+put VB routine into memory.@ #A !-A- }`Ai%"+/ @INITVB routine%%104,162,6,160,0,169,7,76,92,228$6-P:'AV,$6-&$AVDA-}bAdDTell INITVB where VBROUTINE is located7-%@6"! 7SET UP DISPLAY LIST^^112,1-}12,112,66,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,82,0,0,112,112,112,65,0,6P6-F:A,&@&A46-}-%@>+PMemory for msg.l0@lchange this line if you want to use Inverse Upper case -}in Gr. modes 1 and 2."0@@70@@@Q0@@@You may, of course, -}use any color you wish.,44Tell Display List where memory is for display.6?%@0(%@F:@,?%@-}F:@,@AAR@'-@@!A(Another sec please...JO'-+,$AV+%@,$AV3-}7 OClear message memory.TAR^(>:A%, APh33Don't want old message on sc-}reen!rP(+( Please select the Graphics modeP( desired for the scrolling line.|8(( Text modes 0,1 or 28( ANT-}IC mode 4 or 5 AUStop msg.%%"@)!@AP'"6-@'6-@H'-}"@6-@'6-@$'"@6-@'6-@$+!@* @6-+6-@HZ!%@-}(%@d%@26-P:'AV,B6-&$AVNA`ZAa A`*(&( Speed (0-fastest,3-s-}low) *&("( Please input message &*-@B:,*6-F:C:,%&@,88these lines convert ATASCII t-}o ATARI INTERNAL CODE55@*A')A$*AUA`'@16-%@d' A`'@-}6-&@2' A`'AY6-%@d' A`&A#6-&@20+,$AV%%: -}D55POKE VBORG+37 with 7 for GRAPHICS modes 1 and 2N7"@)"@-%@7@7 A0XddPOKE VBORG+-}37 with 3 for GRAPHICS mode 0 and ANTIC modes 3,4 and 5 (also map modes 7,7+ AND 8)b%@7@l``VBORG+37 cont-}ains the number of times a finescroll needs to be done before a coursescroll.v 6-?:,Start the VB!"(>:A%,(-}"( All done.KAR@9( hit RETURN for another messageKAdAU99if message scrolls off screen - }then scroll it again.F:,!B:,%K36-%+R:,"@,&+R:,"@,? K6--!}!@6-@@ F:Ad,"AU2-@@P6 @ ApAdAU A0-"}%%*VERTICAL BLANK SCROLL ROUTINE*+ #Ap-%@p!"'+ ppNeed to tell VB routine where pointer is i-#}n Display List for memory shown.(So we can do the course scroll)N6-%@)"6-P:'AV,26-&$AV@%@`-$}N%@a$ll216,173,3,1,201,255,240,60,173,2,1,208,52,173,3,1,141,2,1,206,0,1,173,0,1,48,9,141,4,212,141,0,1-%},76,98 ``228,169,3,141,4,212,141,0,1,238,1,1,173,1,1,201,216,208,5,169,0,141,1,1,141,29,6,76,98,228206,2,1,76,98,228-&}D:SCROLLIT.BAS41,4,212,141,0,1,238,1,1,173,1,1,201,216,208,5,169,0,141,1,1,141,29,6,76,98,228206,2,1,76,98,228, 'L pppppG! ppppppppppppp0A +r:y+a%r)l!r1(}pppF0(0A ةH(xh0 1(©0 1)}% es& \ Hh)4) ҩyҩ     Тa! L!    1*}Ʃ(ȩŅǢőLj'e'(̍*0 1g%ԩ(Щ>/(ԩoЎ 1+},+ %''0 $ $ u$ " $ i$ " R&  $ LG"L"" .' ҩ" %1,} %% % % %ЍL""\'0 %  ,&  ,&í) )L  u$ L"    %L!1-} L# #Т=# n#L#L#=##  J#L#L#ҩiЕ81.}A n#`5 #I182 #` `#I1 #M` # $1/}ȑ ҩ `` 0 i ة     Y$ҩȍҩP % %% $ % %`10}  `ñªàª`80JJ80)J .mi(e0e`11}}آ %  %`) 0JJJJ 0`-& ' 12}c%`HHHĽ%% ԍЌ hhh@V~F*f<zF<+ `dЅ13} '`ˆ0` #& #&i¥iàˆ(©0` B& 8&`ˆ`  ##14}  0`خ @'Ү P'ҭ JҮҭLb15} L&xJJJJ2 А2Z 'ML&>>>>>J"HDEHȴdKA16}2-(xdZPKF2(  3VZV3 333VZV300scorelvl% ȴdKA0t !yF \ ABEELINLINSUCKSUSTARD 58} *******************MOUSERSOFT BASIC**LOADER by ** Lee Brilliant ** December 19859}5 ******************* II255,255,0,6,243,6,104,169,4,141,241,2,162,6,160,32,169,7,32,92,2086QQ228,96,104,172,99,5:}228,174,100,228,169,7,32,92,228,96,76,98,228,173,241,2869PP2,208,248,173,252,2,201,255,208,124,216,173,113,2,141,243,6,165;}9,9,141,2886LL242,6,32,214,6,173,243,6,24,109,240,6,141,240,6,173,112,2,141,243,2359JJ6,169,5,141,242,6,32,214,6,173,5<}243,6,24,109,239,6,141,239,6,238,2245#KK241,6,173,241,6,201,3,208,65,169,3,141,242,6,173,240,6,141,243,6,2514(JJ32,214,5=}6,172,243,6,173,239,6,141,243,6,32,214,6,174,243,6,169,0,2325-NN141,239,6,141,240,6,141,241,6,236,237,6,208,23,204,238,6,25>}08,18,173,27182NN16,208,208,10,169,12,141,252,2,169,60,141,241,2,76,98,228,142,237,6,24187JJ228,83,48,5,166,83,76,189,65?},228,82,16,2,166,82,134,85,140,238,6,2063<NN204,191,2,48,4,172,191,2,136,200,132,84,169,142,141,252,2,76,98,228,2474AJJ5@}169,0,162,8,14,243,6,42,205,242,6,144,6,237,242,6,238,243,6,202,2421F;;208,238,96,0,0,0,0,0,0,0,226,2,227,2,1,6,0,0,0,0,105A}06PNN141,236,6,141,237,6,141,238,6,236,234,6,208,23,204,235,6,208,18,173,2703ZCKSUM=30384d=;A`,-(} 5B}Ǡ96-A= nm-@@p@-(LINE #96-M-@@ [6-%@5C}_"m67<,.>:,x/ 6-% ",( DATA ERROR/ ( OK! 6-% 8B(5(CHECKSU5D}M ERROR. CHECK DATA.8.@@ D:AUTORUN.SYSL(@7@<AV,W@a#A6-5E}F:@,%AV$F:@,(>:A%,-@@9"#%?2@@S-@@5F}W [ }2^%2A@@96-@#@[25G}^$__35,47,46,39,50,33,52,53,44,33,52,41,47,46,51,14,0,0,57,47,53,0,46,47,55,0,47,55,46,0,33,045,47,53,55H}1,37,1D:BITPIEC1.BAS39,50,33,52,53,44,33,52,41,47,46,51,14,0,0,57,47,53,0,46,47,55,0,47,55,46,0,33,045,47,53,54DKEYPRESXOLYOL *************************MOUSER 9J}GRAPHICS TABLET** by Lee Brilliant *************************#,,USE '1', '2', OR '3' TO CHOOSE A COLO9K}R(2PRESS BUTTON TO DRAW7d +@6-Ad%6-@D@@KVAR@9L}Y((# **** MOUSER GRAPHICS TABLET **** A`n96-Q:,!6-Q:@,-!AY96-AYx!@y9M}6-@y)A`F:,AUA A A*T:,"/$6-*69N}- ,6-6- , A<)@6-&@H< @)!@A A9O}D:BITPIEC3.BAS6- , A<)@6-&@H< @)!@A A8-B X;KRAZY KATERPILLARSX;DAVID HUFFX;(X;2X;RUN ADDRESS: $2000<X;FX;PEHZ  ==dX;nX;SYSTEM EQUAT=Q}ESxX;HPOSP0ЌHPOSM0ЖSIZEP0Р SIZEM Ъ M0PFд P0PFо M0PLPMBASEHITCLR=R}GRACTLSDMCTL/GPRIORoSDLSTL0VDSLST CHBASSTICK0x"STRIG0,PCOLR0=S}6COLOR0@ ATRACTMJCOLPF0TAUDCTL^ AUDF1h AUDC1r AUDF2| AUDC2҆ AUDF3Ґ =T}AUDC3Қ AUDF4Ҥ AUDC4ҮRANDOM ҸXITVBVbSETVBV\SIOINVe NMIEN WSYNC CONS=U}OLX;X;PROGRAM REGISTERSX;X;&VP0LO ;;Y POS. PLAYER00VP0HI :SHP0 ;;X POS. PLAYER0D=V}VP1LO ;;Y POS. PLAYER1NVP1HI XSHM0 ;;X POS. MISSILESbVPMLO ;;Y POS. MISSILESl HPOSM ;;X POS. =W}COLLISIONv!VPM0LO ;;Y POS. COLLISIONVPM0HI COLLO ;;COLLISION ADDRCOLHI DMLO ;;START SCR=X}EEN MEM DMHI DLCNT ;;DLI COUNTEROLDSET ;;ADDR ROM CHSETNEWSET ;;ADDR NEW CHSETX;X=Y};STOP ;;PLAYER MOVEMENT?TEMPHI ;;TEMPS LOX8  SAVEX TRGCNT ;;READ TRIGGER? M0SND =Z};;SOUNDS*HITSND 4P0SND >LVLSND HLVLFLG ;;NEW LEVEL?RLEVEL ;;BCD LEVEL #\LEVHEX ;;HE=[}X LEVEL #fLEVORG ;;ORIGINAL LEVELpP0DEAD ;;PLAYER DEAD?zSPEED ;;BUGS SPEEDBUGCNT ;;# OF BUGS=\}SCORE ;;SCORESCOADD ;;ADD TO SCOREDIGIT ;;FOR DISPLAYLIVES ;;LIVESTIMER ;;DELAY TIMER=]}CPYCNT ;;PAGES TO MOVECPYTMP ;;TEMP"MSTAT ;;WHICH MISSILES OUTMSTOP ;;DISTANCE TO GOSPKFLG =^};;SPIKE ON?X;PMB(;;PMBASE ADDRESS#CHBASEPMB;;CHARACTER SET BASESCOMEM0;;SCORE LINE#DMEMSCOMEM(;=_};DISPLAY MEMORY$X;.X;8 BX;L !STARTVX;`X;jX;DISPLAY LIST FOR TITLEtX;~DLTITL p=p=p=p=p G =`}TITLE p==p=p=p==p=p=! p=p=p=p=p=p=p==0= A DLTITLX;X;X;TITLE MEMORYX; TITL=a}E' =======+=r==:=y   +=a==%=r==) l==!=r=  ( =2 <! ===b}=======F  P ======Z ====d n =====x ==== =c} X;X;X;GAME DISPLAY LISTX;DLIST p=p=p F SCOMEM = DMEM! ==========d} A DLISTX;X; START-"Q>H;;TITLE COLORS, PCOLOR06Q>(@PCOLOR0JQ>xTPCOLOR0^Q>hhPCO=e}LOR0rQ>;;BACKGND|PCOLOR0X;Q>DLTITL;;SHOW TITLE PSDLSTLQ>DLTITLPSDLSTLX;$>;;C=f}LEAR PAGE0 REGISTERSQ> CLRP0P90 ICLRP0X;$>;;CLEAR PAGE6ACLRP6P90& HCLRP60X;:Q>DME=g}M;;SET POINTER TODPDMLO;;SCREEN MEMORYNQ>DMEMX PDMHIb CLRSM;;CLEAR PLAYFIELDlX;v$>;;INITIALIZE SOUNDS=q}~B%DOS SYS )RAFCMAIN65OB IDUP SYSUMENU iHOTPOKERBASOzPICCNVRTBASTRAILS1 ACTTRAILS2 ACTTRAILS3 ACTVSCROLL1LSTVSCROLL2LST$SCROLLITBAS'KRAZYKATOBJ7BITPIEC1BASIBITPIEC3BASPKRAZYKATM65BITPIEC2M65VSCROLL3M65 HOTPOKERM65 BOOTCAMPM65(TEXTUAL1BAS,TEXTUAL2BAS.TEXTUAL3BAS1TEXTUAL4BAS3TEXTUAL5BAS7TEXTUAL6BAS<TEXTUAL7BASBTEXTUAL8BASHMLEDITORBAS`TRAILPADOBJ}TRAILJOYOBJ PICTURE STBQ>NOSNDPAUDF190 INOSND SIOINVX;%>VBLANK;;START VBI$>VBLANKQ> SETVBVX;$>=r};;SET LEVEL &LEVHEXX; X;X;ROTATE TITLE COLORS X;*!ROTCOLQCOLOR0;;GET COLOR24 5;;SAVE IT>$>HCOLRQ=s}COLOR09;;GET COLORRPCOLOR09;;MOVE IT\0;;NEXT COLORf ICOLRp7;;GET COLOR2zPCOLOR0;;TO COLOR0X;Q>;;DELAY=t} PTIMERTMQCONSOLM>;;CHECK STARTFBEGIN;;PRESSED, BEGIN GAMEQTIMER;;TIME UP? HTM;;NOX; QCONSOLM=u}>;;CHECK SELECTHSHOLEV;;NOT PRESSED#LEVHEX;;PRESSED Q>;;BEEP PAUDC4 Q>y$ PAUDF4. Q> ;;DURATION8 PLV=v}LSNDB SHOLEVQLEVHEX;;GET LEVELL R> ;;TO BIG?V DOKLEV;;NO` Q>;;YES,RESETj PLEVHEXt OKLEVL>;;COLOR3~ $>a P=w}TITLE9;;DISPLAY IT !ROTCOL;;TITLE ROUTINE X; BEGIN"LEVHEX;;WANT (0-9) $LEVHEX;;START LEVEL &LEVEL &LEVORG;;=x}KEEP ORIGINAL LEVEL X; X; X;REDEFINE CHARACTERS X; Q>;;ADDR ROM CHSET POLDSET Q>CHBASE;;NEW CHBASE =y}PNEWSET Q>;;LOW BYTES( POLDSET2 PNEWSET< X;F $>;;DO 2 PAGES OF CHSETP CH1%>Z CH2Q@OLDSET7;;GET ROMd =z}P@NEWSET7;;PUT IN RAMn 1x HCH2 #OLDSET;;DO NEXT PAGE #NEWSET 0 ICH1 X; "NEWCH$>';;REDEFINE CHARACTE={}RS NEW1QCHR19;;GET CHAR DATA PCHBASE9;;MOVE IT 0 INEW1 X; X;GAME COLORS X; Q>;;SCORE NUMBERS PCOLOR0=|} Q>;;SCORE LETTERS" PCOLOR0, Q>;;BUGS LEGS6 PCOLOR0@ Q>*;;MISSILESJ PCOLOR0T Q>;;BACKGND^ PCOLOR=}}0h X;r Q>DLIST;;GAME DISPLA ON| PSDLSTL Q>DLIST PSDLSTL X; Q>DLI;;SET DLI VECTOR PVDSLST =~} Q>DLI PVDSLST X; Q>;;ENABLE DLI PNMIEN X; "Q>CHBASE;;SWITCH CHAR BASE PCHBAS X; Q>;;ENA=}BLE P/M PGRACTL& Q>>;;SINGLE LINE RES.0 PSDMCTL: Q>PMB;;HI BYTE PMBASED PPMBASEN Q>;;FIFTH PLAYER ENABLEX =}PGPRIORb $>;;NORMAL SIZEl &SIZEP0v &SIZEM Q>PMB;;PLAYER0 BASE PVP0HI Q>PMB;;MISSILE BASE PV=}PM0HI  CLRPM;;CLEAR P/M AREA X; !RESET$>';;DISPLAY SCORE LINE SCRLNQSCOLN9 PSCOMEM9 0 ISCRLN X; $>;=};SCORE = 0 &SCORE &SCORE &SCORE  DISPSCO;;PUT ON SCORE* X;4 $>;;4 LIVES> &LIVESH  NEWLVL;;GET FIRST=} LEVELR X;\ $>;;ENABLE MOVEMENTf &STOPp &HITCLR;;CLEAR COLLISIONSz X; X; X; X;MAIN LOOP X; PLAY COPY;;MO=}VE BUGS  MFIRE;;MOVE MISSILES  DISPSCO;;SHOW SCORE  DELAY;;SLOW IT DOWN  MFIRE;;MOVE AGAIN  CKLEV;;CHECK LEVEL=} QLVLFLG;;COMPLETE? FCHKP0;;NO  NEWLVL;;YES,DO NEXT LEVELX;CHKP0QP0DEAD;;PLAYER DEADFALIVE;;NO$!KILLP=}0;;YES,EXPLOSION.X;8ALIVE!PLAY;;CONTINUE GAMEBX;LX;VX;PLAYER KILLED`X;jKILLP0Q>;;NO MOTIONt PSTOP~PP0=}DEAD;;RESET FLAGX;%>;;SHOW EXPLOSIONEXPQEXPLODE8;;DATAP@VP0LO7;;SHOW IT1IEXPX;Q> ;;TURN ON SOU=}ND PAUDF3Q>" PP0SNDDLYQP0SND;;WAITHDLY X; CLRPM;;CLEAR P/M AREAX;("LIVES;;LOSE A LIFE2QLIVE=}S;;ANY LEFT?< FDEAD;;NOF DISPLIV;;YES,SHOW THEMP CLRSM;;CLEAR SCREENZ SETUP;;SETUP LEVELd STARTP0;;RESTARTnQ>=}xPHITCLR;;CLEAR COLLISIONPSTOP;;ALLOW MOVEMENT!PLAY;;TO MAIN LOOPX;X;X;X; GAME OVER ROUTINEX; =}DEAD$>DD1QMESSAGE9;;GAME OVERPSCOMEM9;;SHOW IT0IDD1X; CLRSM;;CLEAR SCREENQ> PBUGCNT;;10 B=}UGS" SET1;;SHOW THEM,Q> 6PBUGCNT;;10 BUGS@#DMHI;;NEXT PAGEJ SET1;;SHOW THEMT"DMHI;;RESTORE^X;hWAITQCO=}NSOLrM>;;START?| HWT1;;NOWT2QCONSOL;;YESM>;;RELEASED? FWT2;;NO!START;;YES, DO TITLEX;WT1QSTRIG=}0;;PRESSED?FRESTART;;YESQTIMER;;TIME UP? HWAIT;;NO COPY;;MOVE BUGSQ> ;;RELOAD TIMER PTIMER!WAIT;;KE=}EP CHECKINGX;!RESTART$LEVORG;;ORIGINAL LEV&LEVEL;;RESET& &LEVHEX0 CLRSM;;CLEAR SCREEN:!RESET;;RESTARTDX;=}NX;XX;bX;lX;SUBROUTINESvX;X;X;MISSILE ROUTINESX;MFIRE$>;;DO 4 MISSILESCKP0QM0PL9;;PLAYER HIT?=}FNOMHIT;;NO#P0DEAD;;YES,SET FLAG!FMEXIT;;DONENOMHIT0;;NEXT MISSILE ICKP0X;$>;;DO 4 MISSILESCKMQ=}M0PF9;;BUG HIT?FNOHIT;;NO  KILLBUG;;YES, DESTROY ITNOHIT0;;NEXT MISSILE ICKM*X;4$>;;CLEAR COLLISIONS> &=}HITCLRHX;R$>;;MOVE MISSILES IF OUT\ FIREMQMSTAT;;MISSILE STATUSfMMDATA9;;IS IT OUT?pFNOMOVE;;NOz MOVEM;;YES=}, MOVE ITNOMOVE0;;NEXT ONE IFIREMX;TRIGQTRGCNT;;CHECK TRIG?FCKTRIG;;YES"TRGCNT;;NO!FMEXIT;;DONE=}X;CKTRIGQ>;;RESET IT PTRGCNTQSTRIG0;;PRESSED?FLAUNCH;;YES, TRY TO FIRE!FMEXIT;;NOX;LAUNCH$> =}NEXTMQMSTAT;;ANY AVAILABLE?$MMDATA9;;CHECK BITS.HMOUT;;NO,ALREADY OUT8QMDATA9;;YESBLMSTAT;;UPDATE MSTATLPMSTA=}T;;TO SHOW IT'S OUTV STARTM;;START IT`!FMEXIT;;CAN ONLY FIRE 1jMOUT0;;TRY NEXT ONEt INEXTM~ !FMEXITX;STAR=}TMQ>;;MISSILE SOUND PAUDC1Q> PM0SNDX;QSHP0;;GET PLAYERS X POS.,O>;;OFFSET PHPOSM09PSHM09;;=}SAVE MISSILE POS.X;; QVP0LO;;PLAYERS VERT .POSS>;;OFFSETPVPMLO9;;SAVE IT(X;2Q>A;;MOVE IT 65 TIMES< P=}MSTOP9FX;P MOVEM;;MOVE ITZ:dX;nMOVEMQVPMLO9;;GET YxPVPM0LO;;SAVE ITX;"MSTOP9;;DONE?FCLEARM;;YES, C=}LEAR ITX;QSPKFLG9;;SPIKE?HSPIKE;;YES%>;;NO,ERASE OLD POS.CLRMQMDATA9;;GET BITSN>;;MAKE MASKM@VP=}M0LO7;;ZERO BITSP@VPM0LO7;;MISSILE OFF1 ICLRMX; SPIKE;QVPM0LO;;OLD Y"S>;;MOVE UP 3, PVPM0LO6PVPM=}LO9;;SAVE NEW Y@R>2;;TOP LIMITJDSPKON;;YES,SPIKE ONT %>;;NO^LOADMQ@VPM0LO7hLMDATA9;;GET MISSILE BITSrP@VPM=}0LO7;;MISSILE ON|1 ILOADM:X;SPKONQ>;;SPIKE ONPVPMLO9;;MISSILE TO BOTTOMPSPKFLG9;;SET FLAG:X;=}CLEARM%>;;ERASE A MISSILEQ> PVPM0LO!CLMQMDATA9;;GET MISSILE BITSN>;;MAKE MASKM@VPM0LO7;;ZERO BITS=}P@VPM0LO7;;TURN IT OFF1;;DO ALL OF MISSILE&HCLM0X;:Q>;;RESETD PMSTOP9N PSPKFLG9XX;bQMDATA9;;MISSILE BIT=}SlNMSTAT;;MISSILE NOT OUTvPMSTAT;;UPDATE MSTAT:X;X;KILLBUG CLEARM;;HIT A BUGQVPMLO9;;GET Y POS. PV=}PM0LOQSHM09;;GET X POS PHPOSMX;&SAVEX;;SAVE MISSILE # FIND;;GET MEMORY LOCATIONX;Q>;;ERASE THE BUG=}P@COLLO7;;FIRST PART 3P@COLLO7;;SECOND PART X;*Q> ;;UP SCORE4PSCOADD>X;HQ>;;SOUND ONR PAUDC2\Q>=} f PHITSNDp$SAVEX;;RECOVER MISSILE #z:X;FMEXIT:;TO MAIN LOOPX;MDATA = =0=X;X;X;X;SHOW=} NEXT LEVELX;NEWLVL<;;BCD ADDITION,QLEVEL;;BCD LEVELO> PLEVEL-X;$Q>.PSTOP;;STOP MOVEMENT8=}PLVLFLG;;RESET FLAGBX;L#LEVHEX;;HEX LEVELV QLEVHEX`R>;;TOO BIG?jDLEVOK;;NOt Q>;;YES~ PLEVHEXLEVOK$L=}EVHEX;;INDEXQLEVSPEED9;;GET LEVEL SPEEDPSPEED;;FOR COPY ROUTINEX;Q>;;NEW LEVEL SOUND PAUDC4Q> PAUD=}F4Q>P;;SOUND DURATION PLVLSNDX; CLRPM;;CLEAR P/M DISPLIV;;SHOW LIVES  DISPSCO;;SHOW SCORE SETUP;;NEX=}T LEVEL STARTP0;;START PLAYER(X;2Q>;;DELAY BETWEEN LEVELS< PTIMERFDLEV1QTIMERP HDLEV1ZQ>dPSTOP;;ALLO=}W MOVEMENTn:xX;$LEVSPEED ====== =  = = =====X;X;X;DELAY$SPEED;;SLOW IT DO=}WN DE1%>DE21HDE20HDE1:X;X;X;X;MOVE THE BUGS"X;,COPY$>;;DO 2 PAGES6 &CPYCNT@X;J=}%>T #DMHI^Q@DMLO7;;GET LAST BYTEh >;;SAVE ITr"DMHI;;RESTORE|X;CPY1%>;;SET TO FIRST BYTECPY2&CPYTMP=}Q@DMLO7;;GET BYTE >;;STOREQCPYTMP;;GET PREVIOUS BYTEP@DMLO7;;MOVE IT3;;NEXT BYTE HCPY2X;#DMHI;;NEXT =}PAGE"CPYCNT;;DONE? HCPY1;;NOX;"DMHI;;YES,RESTORE "DMHI:&X;0X;:X;D$X;CALCULATE SCREEN MEMORY ADDRES=}SNX;FROM P/M COORDINATESXX;b FIND;lQHPOSM;;X POSvS>0;;OFFSET V?;;/2 V?;;/4 >;;X COORDX;Q>;;CLEAR =}PTEMPHIX;;;;Y=Y/16*40 BYTES/LINEQVPM0LO;;Y POSS>0;;OFFSETM>;;Y/16*16V?;;SHIFT RIGHT (*8)PLOX8;;SAV=}E *8X;  T?;;*16 T?;;*32 UTEMPHI;;SHIFT CARRY*X;4,;;ADD *8+*32=*40> OLOX8HPCOLLO;;*40 LOR QTEMPHI\O>f=}PCOLHI;;*40 HIpX;z,;;GET FINAL COLLISION ADDRQ>DMEM;;SCREEN MEMOCOLLO;;ADD POSITIONPCOLLO;;COLLISION ADD=}R LOQ>DMEM OCOLHIPCOLHI;;COLLISION ADDR HIX; A;;GET X?;;Y=INDEX FOR X POS:X;X;X;X;SCORE=} AND LEVEL DISPLAYX;DISPSCO<;;BCD ADDITION$,.$>;;DO 3 BYTES8 TOTALQSCORE9;;GET OLD SCOREBOSCOADD9;;ADD TO =}SCORELPSCORE9;;SAVE SCOREV0` ITOTALj-tX;~$>;;CLEAR SCOADDQ>ZEROPSCOADD90 IZEROX;$>;;PO=}SITION 6%>SCODPQSCORE8;;GET BYTE DISP;;DISPLAY IT2;;NEXT POSITION23;;NEXT BYTE)>;;DO 3 BYTES  H=}SCODPX;DISPLVL$>;;POSITION 17(QLEVEL;;LEVEL2 DISP;;DISPLAY IT<X;F:PX;ZX;dDISPPDIGIT;;BCD # TO SHOW=}nM>;;LOWER NIBBLExL>;;COLOR0X;PSCOMEM9;;DISLPAY ITQDIGIT;;GET BCD #V?;;GET HIGH NIBBLEV?V?V=}?L>;;COLOR0PSCOMEM9;;DISPLAY IT:X;X;X;X;DISPLAY REMAINING LIVESX;)DISPLIVQ>PMB;;PLAYER =}1 Y POS." PVP1HI,Q>&6 PVP1LO@X;J$>;;REMOVE ALLTQ>;;FROM SCREEN^LD1PHPOSP09h0rHLD1|X;Q>;;COLO=}RSPPCOLR0PPCOLR0PPCOLR0X;$>;;DO 3 PLAYERS LD2%> LD3QP0DATA8;;SHAPE DATAP@VP1LO7;;SH=}OW IT1ILD3#VP1HI;;NEXT PLAYER0 ILD2 X; $LIVES& 0;;SHOW ONE LESS0 FLD5;;NONE TO SHOW: LD4QTABX9;;P=}OSITIONSD PHPOSP09;;SHOW PLAYERSN 0X HLD4b LD5:l X;v TABX === X; X; X; X;DISPLAY LIST INTERRUPT X=}; DLI5;;SAVE X,Y,A A 5 C 5 X; $DLCNT;;WHICH LINE QBODYCLR9;;COLOR0!%SPOTCLR9;;COLOR1 !PWSYNC;;WAIT FO=}R SYNC! PCOLPF0;;CHANGE HARDWARE REG !'COLPF0*!#DLCNT;;NEXT LINE4!(> ;;LAST ONE?>!HDLIEND;;NOH! $>;;YESR!&DL=}CNT;;RESET TO TOP\!X;f!DLIEND7;;RESTORE X,Y,Ap!?z!7!>!7!9!X;!,BODYCLR ===V=~==F=*==f=!X;!,=}SPOTCLR ==<====z=F==<=!X;!X;!X;!X;!X;CLEAR P/M MEMORY!X;"CLRPMQ>;;MISSILE BASE" PVPM0LO=}"X;$"$>;;DO 5 PAGES UP."Q>8"?B"CPMP@VPM0LO7;;CLEAR ITL"1V"HCPM`"#VPM0HI;;NEXT PAGEj"0t"HCPM~"X;"Q>PMB=};;RESET" PVPM0HI"X;"$>;;UPDATE TO SHOW"Q>;;ALL MISSILES OFF"OFFPSPKFLG9" PMSTOP9" PMSTAT"0"IO=}FF"X;":#X; #X;#X;#X;START PLAYER(#X;2#STARTP0Q>;;Y START POS.<# PVP0LOF# Q>d;;XP# PHPOSP0Z# PSHP0d#X;n#=}Q>x#PPCOLR0;;COLOR P0#X;#%> #DISP0QP0DATA8;;SHAPE DATA#P@VP0LO7;;SHOW IT#1# IDISP0#X;#:#X;#X;#X=};#X;CLEAR SCREEN MEMORY#X;$CLRSM$>;;2 PAGES$Q>$?"$CSMP@DMLO7;;CLEAR IT,$16$HCSM@$#DMHI;;NEXT PAGEJ$0T=}$ICSM^$X;h$Q>DMEM;;RESTOREr$ PDMHI|$X;$:$X;$X;$X;$X;PLAYFIELD SETUP$X;$SETUP RNDPF;;PUT ON BUGS$=}#DMHI;;NEXT PAGE OF MEMORY$ RNDPF;;MORE BUGS$"DMHI;;RESTORE$X;$,$QDMLO;;FIND ADDR%O>;;SCREEN CENTER% PDML=}O% QDMHI&%O>0% PDMHI:%X;D%%>;;CLEAR 4 LINESN%Q>;;IN SCREEN CENTERX%CP0SP@DMLO7;;FOR STARTb%1l% HCP0Sv%X;%=}Q>DMEM;;RESTORE% PDMLO%Q>DMEM% PDMHI%:%X;%X;%RNDPF$LEVHEX;;INDEX%QBUGLEV9;;# TO DISPLAY% PBUGC=}NT%X;%SET1%RANDOM;;POSITION% BUG;;SHOW THEM&"BUGCNT;;ANY MORE? &ISET1;;YES&:;;NO &X;*&BUG$>;;CHARACTERS =}1-44& SBUGA>&P@DMLO7;;SHOW BUGSH&1R&0\& HSBUGf&X;p&:z&X;&BUGLEV == ==== & =======#==}#&X;&X;&X;&X;CHECK IF LEVEL COMPLETE&X;&CKLEV$>;;2 PAGES&%>&CKL1Q@DMLO7;;GET MEMORY&HNOTDONE;; IF<>=}0 NOT DONE&1;;CHECK NEXT& HCKL1'#DMHI;;NEXT PAGE'0' ICKL1$'X;.'$>;;ALL ZERO,LEVEL DONE8'&LVLFLG;;SET FLAGB' =}HLVLDONEL'X;V'NOTDONE$>;;NOT DONE`' &LVLFLGj'LVLDONEQ>DMEM;;RESETt' PDMHI~'X;':'X;'X;'X;'X;'X;'=}X; VBLANK ROUTINE'X;'X;' VBLANK-'X;'$TIMER;;COUNT DOWN TIMER( FSOUND1 ( "TIMER(X;($SOUND1$M0SND;;MISSILE S=}OUND ON?((FNOSND1;;NO2(QM0SND19;;YES, NEXT FREQ<( PAUDF1F( "M0SNDP( HSOUND2Z(NOSND1Q>;;OFFd( PAUDC1n(X;x(#SOUND=}2$HITSND;;BUG HIT SND ON?(FNOSND2;;NO(QHITSND29;;YES, NEXT FREQ( PAUDF2( "HITSND( HSOUND3(NOSND2Q>;;OFF( P=}AUDC2(X;("SOUND3QP0SND;;BLOW UP SND ON?(FNOSND3;;NO( V?;;YES,/2( PAUDC3( "P0SND) HSOUND4)NOSND3Q>;;OFF)=} PAUDC3")X;,)SOUND4$LVLSND;;SOUND 4 ON?6)FNOSND4;;NO@)"LVLSND;;YESJ) HSTOPVBT)NOSND4Q>;;OFF^) PAUDC4h)X;r)S=}TOPVBQSTOP;;CONTINUE?|)HCOLCK;;YES)EXIT!XITVBV;;NO)X;)COLCKQP0PF;;PLAYER HIT?) FMOVE;;NO)#P0DEAD;;YES,SET F=}LAG) !EXIT)X;)MOVE$SHP0;;PLAYER X POS)%VP0LO;;Y POS)X;) QSTICK0)V?;;CHECK D0)ENOTUP;;SET,NO MOTION*1;;N=}OT SET,MOVE UP 2*1*X;&*NOTUPV?;;CHECK D10*ENOTDOWN;;NO:*3;;MOVE DOWN 2D*3N*X;X*NOTDOWNV?;;CHECK D2b*ENOTLEFT;;=}NOl*0;;MOVE 2 LEFTv*0*X;*NOTLEFTV?;;CHECK D3*ENOTRT;;NO*2;;MOVE 2 RIGHT*2*X;*NOTRT(>2;;LEFT LIMIT*DBAD=}X;;TOO FAR*(>;;RIGHT LIMIT*DGOODX;;OK? YES*$>2;;NO,RESET TO LEFT*GOODX&SHP0;;NEW X POS* &HPOSP0+X; +BADX)=}>Z;;UPPER LIMIT+DBADY;;TOO FAR? YES +)>;;LOWER LIMIT*+EBADY;;TOO FAR? YES4+'VP0LO;;OK, SAVE IT>+X;H+BADY%> ;;R=}EAD IN PLAYERR+LP1QP0DATA8;;AT VP0LO\+ P@VP0LO7f+1p+ILP1z+X;+Q>;;STOP ATTRACT+ PATRACT+!EXIT;;ALL DONE+X;=}+X;+X;+X;DATA TABLES+X;+ P0DATA+- =======>=>=>=>=>==+X;+ EXPLODE+ ==J="=H=D==}==, ===E==H===,X;, M0SND1$,! =========., d=K=A=2=-=(8,X;B, HITSND2L,' =}x=d=Z=P=K=F=2=(=== =V,X;`, MESSAGEj, ========t,X;~, CHR1 =======, ==} =3=V=Z=V=3= , ==3====3=̜, ==3=V=Z=V=3=̦, ==0====0=,X;, SCOLN,* s=c==}o=r=e========, l=v=l===, ,X;,3=̦, ==0====0=,X;, SCOLN,* s=c=<F AMOUSERSOFTAX;******************(X;*MOUSERSOFT *2X;*by Lee Brilliant*<X;******************FX;PA}X;ALLOWS ANALOG JOYSTICKUX;CURSOR POSITIONINGZX;dX;nX;***************xX;*SYSTEM EQUATES*X;***************X;A}LMARGINRRMARGINS ROWCRST COLCRSUPADDLEXpPADDLEYqBOTSCRINITADKEYDELA} CH TRIG0SETVBV\XITVBVbX;"X;*****************,X;VALUE ASSIGNMENTS6X;*****************@XA};J CRSRUPT RETURN ^X;hX;*****************rX;|INIT7;;FOR BASIC INITQ> PKEYDEL$>START;A};SET VBI%>STARTQ> SETVBV:RESET7;;FOR BASIC%XITVBV;;RESET ORIGINALX; VBI$A}XITVBVQ> SETVBV:EXIT3!XITVBV STARTQKEYDEL;;KEY DEBOUNCE?&HEXIT3;;YES, EXIT VBI0QCH;;KEY BUFF EA}MPTY?:R>DHEXIT2;; NO SO EXIT VBIN-XQPADDLEY;;CHECK STICK POSbPDIVIDEND;;FACTOR FORg X; 40 COLA}UMNSlQ> ;;DIVIDE BY 9v PDIVISOR DIVIDEQDIVIDEND;;AVERAGE 3 TIMES,OYTEMP;;SUM ALL 3 PYTEMPQPADDLEX;A};DO SAME FOR X PDIVIDENDQ>;;FACTOR BY 5 PDIVISOR DIVIDEQDIVIDEND;;AVERAGE 3 TIMES,OXTEMP;;SUM ALL 3A} PXTEMP #COUNT;;THREE TIMES? QCOUNT R>*HEXIT2;;NO, EXIT4X;FIND AVERAGES>Q>H PDIVISORR QYTEMP\ PDIA}VIDENDf DIVIDEp %DIVIDENDz QXTEMP PDIVIDEND DIVIDE $DIVIDENDQ>;;CLEAR REGISTERS!X; ANDA} COUNTERS PXTEMP PYTEMP PCOUNT(XOLD;;CHECK AGAINST!X; OLD SETTINGS HNEWPOS )YOLD HNEWPA}OSEXITQTRIG0;;IF SAME CHECK%X; TRIGGER FOR RETURNHEXIT2;;NO THEN EXIT)Q>RETURN;;YES, CREATE CARRIAA}GE RETURNPCH;;FOOL EDITORQ><;;SET DEBOUNCE!X; FOR 1 SECOND$ PKEYDEL.EXIT2!XITVBV;;LEAVE VBI8"A}NEWPOS&XOLD;;SAVE NEW X COORDB(RMARGIN;;CHECK RT MARGINLGXLOTEST;;CHECK L MARGINV$RMARGIN;;X>RMARGIN,[!X; A} USE R MARGIN` !STOREXj!XLOTEST(LMARGIN;; CHECK LEFTo X; MARGINt ISTOREX~$LMARGIN;;XCRSRUP;;IN THIS COMMANDPCH;;FOOL SCRN EDITOR!XITVBV;;DOA}NEDIVIDEQ>;;DIV SUBROUTINES$> NXTBTTDIVIDENDU? RDIVISOR( DCNTDN2 SDIVISOR< #DIVIDENDF CNTDN0P HA}NXTBTZ:dX;nX;************xX;*WORKSPACES*X;************X; XOLD  YOLD  XTEMP  YTEMP  COUNA}T DIVISOR DIVIDEND X;X;INITAD;;SELF BOOT ADDR INIT YOLD  XTEMP  YTEMP  COUN@R %X;SCREEN SCROLLER ASSEMBLY LISTINGX; (C) 1984 JEFF BRENNER( 7;SETUP2Q><P=&X;-----------------E}----------------A&X;Lines 70-100 store the address ofB!X;the scrolling routine in theC"X;deferred VB interrupt vector.D&XE};---------------------------------FQ>STARTPP$ZQ>STARTdP%nQ>@xP;;Re-enable VB:;;Return to BASIE}C START6-Q;;$CE=timing cntr#δR;;$CE=delay?HRETURN;;If not, end.Q>P,Q;;# of scan linE}es;scrolled.O>PR>EUP;Before 16 scan;lines, text must;be moved up.P" HRETURN, UPQ>6E}P;;Reset vertical7;scroll register@=P;;Reset scroll cnt0324 ;-------------------------------EX;Lines 330-450 movE}e entireF X;display upwards by one lineGX;of text (20 bytes).H$X;-------------------------------J,TQX^O>hPrE}QY|O>P͐%> LOOPQ@7P@X73)> HLOOP RETURN87?7>79;Return from VBIPrDxfX;*** HOT POKER ROUTINE ***X;*** by S.M. Baugh *** X*= $0600 STMTAB SORC;;$CCDEST;;$CE J}LLENINDX;;$D1 LCNTX;CLD#PLA(PLA-STAINDX 2PLA7STAINDX <PLAAPLAFSTALCNTJ} KPLAPSTADEST UPLAZSTADEST dLDASTMTAB nSTASORC xLDASTMTAB STASORC X;Q>?J}P@7X; FINDR%>Q@7 PLLENX;%>Q@7 RINDX HNEXTL1Q@7 RINDX HNEXTL FFOUNJ}DX;" NEXTL,, QSORC6 OLLEN; PSORC@ DFINDRJ #SORCT,^ DFINDRcX;h FOUND%>r FLOOP3|Q@7R>, J}FONEDGR> FONEDG3Q@7R>, FTWODGR> FTWODGX;HUNDS'INDX #INDX11 ;Q@7S>J}0& FHENDS0>:%>?X;D HLOOP,NQ@7XO>dbP@7l0v HHLOOP{X;HENDS%INDXX;TWODG'INDX11J};Q@7S>0 FTENDS>%>X; TLOOP,Q@7O> P@70  HTLOOPX;TENDS%INDXX; ONEDG'J}INDX*1/;4Q@7>S>0H FOENDSR%>\,fO@7pP@7uX;zOENDS#DEST HLNCHK #DESTX; LNCHKQ>J }?P@7X; %INDXQ@7R> FENDCH3, DFLOOPX; RESET%>Q@7 PLLEN, DFOUNDX;LJ }ENDCH"LCNTV FRETRN[X; NEWLN, QSORC OLLEN PSORC DRESET #SORC, DRESETX; RETRN:X;;J }D:PKSUB.SRCTV FRETRN[X; NEWLN, QSORC OLLEN PSORC DRESET #SORC, DRESETX; RETRN:X;;H p d"X;multiple players & collisionsnX;xX;by Karl E. WiegersX; PUTREC DRAW ROWCRST COLCRSUN }ATACHR| P0PFА P0PL ФHITCLRвX; FORWARD Q>ALIEN;;make alienPSHAPE;;face forward Q>ALIENN};;initially* PSHAPE4,>Q>H O>PMGRPPLYRSTRT\ QYPOSP0f PPLYRSTRTp COPYPLAYERzQ>;;make alieN}nPPCOLR0;;yellowX;"X;joystick checking begins hereX;Q>ALIENR;;load alienPSHAPE;;shape going$Q>ALIENN}R;;to the.PSHAPE;;right8,BQ>L O>PMGVPPLYRSTRT` QYPOSP0j PPLYRSTRTt COPYPLAYER~Q>;;coloN}r himPPCOLR0;;blue Q>ALIENL;;load alienPSHAPE;;shape forQ>ALIENL;;going left( PSHAPE2,<Q>F N}O>PMGPPPLYRSTRTZ QYPOSP0d PPLYRSTRTn COPYPLAYERxQ>;;color himPPCOLR0;;green X; %X;draw some lineN}s on the playfield X; Q>;;color register 0 PATACHR %> FIRSTPOINT;plot the first 3;;point in the QXVALUEN}8;;data table PCOLCRS QYVALUE8 PROWCRS  PLOTPOINT NEXTPOINT 3;;aim at the QXVALUE8;;next point" GCHKDONN}E;;if -1,then quit,, PCOLCRS;;else draw6 QYVALUE8;;from last@ PROWCRS;;point toJ  DRAWLINE;;this one andT ,;;get nexN}t^ DNEXTPOINT;;pointh CHKDONEr )LIMIT;;all points done?| HFIRSTPOINT;;no, continue X; !X;check for collisions betwN}een X;players 0 and 1 X; CHECKCOL QP0PL;;if collision, R>;;then call HCHECKPF;;subroutine  P0P1COL;;to haN}ndle it& ,0 DCHECKCOL: X;D !X;check for collisions betweenN X;player 0 and playfieldX X;b CHECKPFl QP0PF;;if collisN}ion,v FCHECKCOL;;call another  P0PFCOL;;subroutine to ,;;process it DCHECKCOL X; #X;plot a point at current cursN}or !X;position; save Y-register on X;the stack X; PLOTPOINT C 5 $>` Q>PUTREC PICCOM9 Q>REG2 PICN}BAL9$Q>REG2.PICBAL98Q>B PICBLL9LQ>VPICBLL9` CIOVj7t?~:X;#X;draw a line from last pN}oint to#X;current cursor position - saveX;Y-register on the stackX; DRAWLINEC5 Q>DRAW PICCOM9 CIOVN}7? :X;J$X;subroutine to handle collisionsTX;between alien and car^X;h P0P1COLr KILLED;;change to dead,|N}Q>;;white alien PPCOLR0:X;$X;subroutine to handle collisionsX;between alien and wallsX; P0PFCOL KIN}LLED;;change to dead,Q>(;;orange alien PPCOLR0:X;"X;subroutine to copy dead alien"X;shape when he hits sometN }hing,#X;clear collision registers, andX;turn off VBI routine&X;0 KILLED:Q>DEADALIEND PSHAPENQ>DEADALIENN!}X PSHAPEb,lQ>v O>PMGPPLYRSTRT QYPOSP0 PPLYRSTRT COPYPLAYERPHITCLR;;clear coll.%>XN"}ITVBV;;turn off$>XITVBV;;VBI routineQ> SETVBV:X;  REG2 ACAX; %X;counter for drawing on playfN#}ield*X;4 LIMIT >X;HX;tables of X-coordinatesRX;\ XVALUEf = = = =p  ==z ==#= =N$}"="==X;X;tables of Y-coordinatesX; YVALUE == = = == === ====N%}X;`X;jX;alien facing to lefttX;~ ALIENL =<==>==== ====<=<=$ $=$=l=X;X;alien faciN&}ng to rightX; ALIENR =<==|== ==<=<=$ $=$=6=X;X;poor, squashed alienX;  DEADALN'}IEN =!="==T=9 =<={==( 4=V==$2 ==$=$=6=X;X;poor, squashed alienX;  DEADALLE h~A0 p +p(^WHAT IS MORE APPEALING TO YOU? SEEINGTHE TEXT PRINTED TO THE SCREEN WITH NOFORMATTIR)}NG EFFORT?(((OR...$-@A0( P +AR@1-@@P(A NICELY FORMATTED SCR*}REEN,(i-@@3(WHERE CARE HAS BEEN TAKENE-@@i(IN THE POSITIONING OF THE TEXT?2 @PR+}D:TEXTUAL1.BAS3(WHERE CARE HAS BEEN TAKENE-@@i(IN THE POSITIONING OF THE TEXT?2 @PPA@ 2 +-@@2(THIS IS A TEST#-AU#A -V-}@@P  D:TEXTUAL2.BAS-@@2(THIS IS A TEST#-AU#A -T. C +AR@1A @CAA``-@@4(JUST A SIMPLE COLOZ/}R CHANGEF-@ @`(CAN IMPROVE THE LOOKS)-@@)(OF YOUR SCREEN.( @@D:TEXTUAL3.Z0}BASANGEF-@ @`(CAN IMPROVE THE LOOKS)-@@)(OF YOUR SCREEN.( @@D:TEXTUAL3.XA@A# D +A @1-@@D(THIS IS A TEST+-AU^2}@+A-@A  D:TEXTUAL4.BAS@D(THIS IS A TEST+-AU\HMOD@A% 6-@b+-@5(@want your textG-@@b(b4}@ to stand out?e-@6(@the graphics 1 or 2H-@@e(@MuIcOr textb5}(Z-@@/(@ modes may beA-@@Z(@ just right.2"@@p<16-@b6}#-@A%' 1 @ F @pD:TEXTUAL5.BAS just right.2"@@p<16-@`HB$$@! ;;@6,;6.$| |C +ARf8}@1A @CAA`>-@@>($(+-@@ f9}#-@'(+ 2>-@@!>($<V-@ @0(A SIMPLE SCREEf:}N BORDERB-@@V(PLEASES THE EYEF2-@@2(AND UNIFIES THE DISPLAY.P @D:TEXTUAf;}L6.BASRB-@@V(PLEASES THE EYEF2-@@2(AND UNIFIES THE DISPLAY.P @D:TEXTUAdB C +AR@1A @CAA`''(j=}''(| If you have a lot of data |''(| to display, you can take |''(| the border idej>}a one step |#''(| further, and set up a well |(''(| organized chart. |-''(j?}2''(| TITLE |7''(<''(| ITEM 1 | COMMENT |j@}A''(| ITEM 2 | COMMENT |F''(| ITEM 3 | COMMENT |K''(| ITEM 4 | COMMENT |P''(jA}Z @D:TEXTUAL7.BASENT |K''(| ITEM 4 | COMMENT |P''(hB DBr m +AR@1A @CA@m6-F:A`,%AV$F:Aa,nC}%@g&@@q+%@@?%@ @S%@!@g%@"@E%@#nD}@e.%@$F:A`,E%@%F:Aa,(I-@#'( 9-@$@I( USER PROnE}MPT2f-@@6(A SIMPLE MODIFICATION TO THEH-@@f(DISPLAY LIST CAN GIVE YOU<j-@@nF}5(SEVERAL TEXT SIZES, AS WELLG-@@j(AS DIFFERENT BACKGROUND COLORSFf-@@6((WITHOUT RESOnG}RTING TO TRICKYH-@@f(DISPLAY LIST INTERRUPTS).P @D:TEXTUAL8.BAS@6((WITHOUT RESOlc78V l BFNABFF1LINRETRBACKSCHKSUEDILBYTDMOD@rI}  GG9@,;@,rJ};@,;@,;@,;@, ;@,?6-A6-AU'6-A&36-?6-IrK} AP-@@8(tart or ontinue? B AI(>:,(?-@@#(FILENAME'9AR@rL}?( 25B:, @$-@ @+( 5 @@<?7@<@,0D:&6.D:567@,.? @FrM} 6.P>:,4SA Z4 A0*@@4 Ad@-@@$)@( 66rN}-%@@ An5@+@@ 5 Apxr A`*@@4 A@rO}F-@@`(FILE ALREADY EXISTS!!rARH-@@%( ERASE IT? / AAAR@rP}H(>:,,>:,4N)>:,4n"@, @0>:,0Y*>:,0yA0+@+@@rQ}? AP-@@3( נΠ: ?6-6-@#-@@W-@$+ @,%@rR}$+!@ ,%@iAR|(BYTE #:  A$*"6-8,$ A 6-A:,rS} 6. -@"%@ ( 0 68,-6-%$"!A06-&B) 6-%!A)6-&BrT}O-@%@)AR9( CHECKSUM: E6-@O A*"Ap 6-A:,!-rU}@"%@!( "A"/ A@6-@%6-/ A,O-@@'*@rV}8,+ 96-%@E6-O Ap66-@- A-"@:Q,*"@*(A J++**+ @HrW})!@W,A K"*46.O%%"*"*!@APT&&++"*(,)",*"A ^$ "rX}AR@!( $$hAr2!@(6.7@<&@,2 A| 6.# (>:,6-&@rY}# A '6-%@!6-' AP!67,.>:,(>:,! A  +^ A@-@rZ}@1( NO SUCH FILE!E-@AI T@^ @0tA@H72A@@r[}K-@@PO q2t$U +@#@A1B7tACAYr\}UA@U-6-F:A`,%AV$F:Aa,%@A&@@pU%@@_-@r]}@9@-%@1 M-@@@@[%_ W%@A@e.%@BF:A`,r^}E%@CF:Aa,W@?-@*(analog ml editor<AY@4?$>#@@r_}K:0)@;@>$D:MLEDITOR.BAS(analog ml editor<AY@4?$>#@@p?G'c5 (c)1983 Action Computer Services  B JKIHiDiELV`L'va} ' BLV`L''l L' &` Fj`8冨凪` (EӅӥvb} (`ʆǪƩ Ɛee` #(ƦʆǢ &Ɛeǐ G( G(L( #('&&&8儨児vc}祂*L(&&*ń8&&L( (`hihiHHȱȱL'c !#3`vd}L'JJJJ`H 'h`Hȩh 'L4) 'L4) h'L4) p'L4) v'H8ve}`HhHh )L4) BHI V䅠L4) L) 'L4)Ԇ ؠPIPP`vf} *P p'L4) 0*L) *L5* I*L*H- )8塪墨hLI* b*L) i*L* *ȹP`vg}텠8堨塪 *芨Oȩ-`PP )P棩 Ѥģ0-ģ6000:,80H vh}& &ehe&eģ0ʥ 8堅塅`$ )&*i0:0i )Ʀ`¢ 护vi}°ڱ%ȱ%E )L+担CS )L+I b*L+H ]+L+ 0*L+ &B V 4)NLMȑvj}` MLN%B VL4)S:E,E:J,H ) M,N, X) )h)0IH,I,LX)[\ZUVT` ,H,I,vk}` ,L* },L) ,L)) ` ,L* i(` 0d 'ҥ `2)2vl}ҩ`p`0)9D-`@0)ӈJJJJ)`Ѕ`ȱ`` x-ȥ`Hhvm}ƣĢ`ƥĤ`Ѣ .`ȱѢĦ`膡`vn}`ťƤe8夰L. Ƥ8`ŦeѠe桊L.L9dvo}5L.........͝...L/. m..*(m.. m..*(m.ȑ.vp}Щ.L.. O,Ȍ , i(i.L/@ , , ,@ ,@ ,`L/ vq}.L/ ""/ ) )L/ Draw with KoalaPad.../ ) )L0%LEFT __\ Ҡ /__ RIGHT/ vr})L50%button / \ button0 ) )Lc0 ANY KEY: Ӡ0B )L0 or vs}Ţ0m ) ) ) )L0$------------------------------------0 )IL)1L0 Hit any button to start:0 ) 1-vt} 1-I a-L0`L-1 / )#.. (..Lh1Persistence is now 1T ).. A* )L1Entvu}er new persistence (1-10): 1~ ).. 0*L11 ).I  .IL1L11 ) *..`L1 (1811vv}11811111i@1i1 ,ILA2LF21i@1i1 ,.IL31i@1i1vw} ,1i@1i1 ,1i@1i1 ,1i@1i1 ,1i@1i1 ,1i@1i1vx} ,1i@1i1 ,M.L53)IL&3`L93 *-_ i(r (8..vy} *-_ i(r (8.. 1-L3 ..IL3.L3. 1-L3 1-L3vz} .. m..*(m.. m..*(m.ȱ 1. m..*(m.... m..v{}*(m..ȑ.. m..*(m.ȱ. m..*(m.ȱ 1...͟...L4..v|}IL93`L4 /ILS5 *1 ͟..L%5. .L:5..L:5 O,`#.. i(.. . 63L4`4t}H'6 (c)1983 Action Computer Services  B JKIHiDiELV`L'z~} ' BLV`uL''l L' &` Fj`8冨凪` (EӅӥz} (`ʆǪƩ Ɛee` $(ƦʆǢ &Ɛeǐ H( H(L( $('&&&8儨児z}祂*L(&&*ń8&&L( (`hihiHHȱȱL'c !#3`z}L'JJJJ`H 'h`Hȩh 'L5) 'L5) i'L5) q'L5) w'H8z}`HhHh )L5) BHI V䅠L5) L) 'L5)Ԇ ؠPIPP`z} *P q'L5) 1*L) *L6* J*L*H- *8塪墨hLJ* c*L) j*L* *ȹP`z}텠8堨塪 *芨Oȩ-`PP )P棩 Ѥģ0-ģ6000:,80H z}& &ehe&eģ0ʥ 8堅塅`$ )&*i0:0i )Ʀ`¢ 护z}°ڱ%ȱ%E )L+担CS )L+I c*L+H ^+L+ 1*L+ &B V 5)NLMȑz}` MLN%B VL5)S:F,E:K,H ) N,O, Y) )h)0II,J,LY)[\ZUVT` ,I,J,z}` ,L * ~,L) ,L)) ` ,L * j(` 0d 'ҥ `2)2z}ҩ`p`0)9E-`@0)ӈJJJJ)`Ѕ`ȱ`` y-ȥ`Hhz}ƣĢ`ƥĤ`Ѣ .`ȱѢĦ`膡`z}`ťƤe8夰L. Ƥ8`ŦeѠe桊L.9z}6=PriC(xL.........͞...L/nt. m..*(m.. m..*(m.ȑ.z}Щ.L.. P,Ȍ , j(i.L/@ , , ,@ ,@ ,`L/ z}.L/ ""/ ) )L/ Draw with joystick.../ ) )L0 button: Ҡ and Ţ/ )L'0 z} 0 ) )LU0 ANY KEY: Ӡ04 )L0 or Ţ0_ ) z}) ) )L0$------------------------------------0 )IL1L0 Hit any button to start:0 ) 2- 2-z}I b-L0`L1 / )#.. (..LZ1Persistence is now 1F ).. B* )L1Enter new persistez}nce (1-10): 1p ).. 1*L11 ).I  .IL1L11 ) *..`11 L1 (18111181z}1111i@1i1 ,IL32L821i@1i1 ,.IL 31i@1i1 ,1i@z}1i1 ,1i@1i1 ,1i@1i1 ,1i@1i1 ,1i@1i1 ,1i@z}1i1 ,M.L'3)IL3`ENL13._.._. I--3,3,3)-3) (,3)z}-3) (8媍(3嫍)3,3)-3),3)-3) (8媍*3嫍+3)3(3 j(z}.e..e.+3*3 j(.e..e...͘..LN4._...͚..Ls4._z}. b-L4 ..IL4.L4. b-L4. m..*(m.. m..*(m.ȱ z}1. m..*(m.... m..*(m..ȑ.. m..*(m.ȱ. m..*(m.ȱz} 1...͜...L5..ILC3`L5 /IL6 1 ͠..L5. .L5..L5 P,z}`#.. j(.. . .3L5`5ILC3`L5 /IL6 1 ͠..L5. .L5..L5 P,x110 REM ********************** 20 REM ** SHOWPIC DEMO ** 30 REM ** -- ** 40 REM ** By Mathew Spolin ** 5~}0 REM ********************** 60 REM 70 REM This is the demo driver. 80 REM The actual program starts at line 6400. 90 RE~}M 100 FULLW 2:CLEARW 2 110 COLOR 2:?"VALID EXTENDERS:":COLOR 3:?" .NEO - Neochrome Image" 120 ?" .PI? - Degas Image":C~}OLOR 1 130 ?:INPUT" File to load --> ",FILE$:IF FILE$="QUIT" THEN END 140 GOSUB SHOWPIC:GOTO 100 59997 ' 59998 ' The SHOW~}PIC Subroutine Follows. 59999 ' 64000 SHOWPIC: 64010 COLOR$=SPACE$(32):ERASE PAL%:DIM PAL%(15):IGNORE=0:A#=GB 64020 SCREE~}NREG#=&H44E:SCREENRAM#=PEEK(SCREENREG#):PALREG#=&H45A 64030 GINTIN=PEEK(A#+8):SAVEP=16745024:COUNT=0:FOR REGISTER=0 TO 15 6~}4040 PAL%(REGISTER)=PEEK(SAVEP+COUNT):COUNT=COUNT+2:NEXT REGISTER 64050 IF RIGHT$(FILE$,3)="NEO" THEN IGNORE=128:FORGET=4 6~}4060 IF LEFT$(RIGHT$(FILE$,3),2)="PI" THEN IGNORE=34:FORGET=2 64070 IF IGNORE=0 THEN RETURN 64080 POKE CONTRL,123:POKE CONT~}RL+2,0:POKE CONTRL+6,0:VDISYS(0) 64090 CLOSE #1:OPEN "I",#1,FILE$:A$=INPUT$(FORGET,1) 64100 COLOR$=INPUT$(32,1):CLOSE #1:NE~}WC#=VARPTR(COLOR$) 64110 POKE PALREG#,NEWC#:GOSUB 64180 64120 BLOAD FILE$,SCREENRAM#-IGNORE 64130 POKE GINTIN,1:POKE GINTI~}N+2,1:POKE GINTIN+4,1:GEMSYS(21) 64140 POKE PALREG#,VARPTR(PAL%(0)) 64150 GOSUB 64180:POKE CONTRL,122:POKE CONTRL+2,0:POKE ~}CONTRL+6,1 64160 POKE INTIN,0:VDISYS(0) 64170 RETURN 64180 POKE CONTRL,3:POKE CONTRL+2,0:POKE CONTRL+6,0:VDISYS(0):RETURN ~} NTRL+6,1 64160 POKE INTIN,0:VDISYS(0) 64170 RETURN 64180 POKE CONTRL,3:POKE CONTRL+2,0:POKE CONTRL+6,0:VDISYS(0):RETURN |