@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`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.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ 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  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u12?USTARNUMVEERFLLINDASUREALLINITECHSUOFT} $$******************************$$* *$$* DOU}S VERSION MODIFICATION *($$* by Gary S Domrow *2$$* May 2, 1984 *<$$* ATARI DOS 2.0s VERV}SION *F$$* *P$$******************************UZ1@AU!6-Ag1FORW} DOS_ INTROd2 + 2  ATARI DOS 2.0s MODIFIERn/ / $ Use this program for ATARI DOS onlyx  X} -- %Enter the maximum number of versions -- %to be kept on the disk. This number -- %must be at least 2, and nY}o greater  than 8. GET VERSION INPUT3 A% How many versions )3 BDD!! @)!Z}@A'6-' Checking Data Line:CHECK DATA LINES)-APAR`@#")6-[}F%6-F:A,%F:A,$AV+C(Line  Missing.F('-@@"#6-%' 1" \}%(Bad data in line 16-@   CHECK ERROR FLAG"@PUT DATA INTO DOS ]}#AP"'' Poking data into DOS from line:,)-@1%%) 66-@2@#-APAR`^}@#(J5-@@"#%16-%@5 OSKIP CHECKSUM THIS TIMET"^ ch POKE_} IN NUMBER OF VERSIONSr%@2uwPOKE IN JSR PATCH|'A"9AW'A"@@&POKE I`}N NEW BUFFER START'A'A@(REINITIALIZE DOSZA6A'A7@va}9A8@dKA9@!Z6-?:A6,RE-WRITE DOS.SYS FILECAdAU  C #Press any b}key to write modified DOS F:Ad,"AUA AdAU5*@@ D:DOS.SYS5c}@THAT'S IT333,169,0,141,114,19,141,115,19,160,31,153,106544124,26,136,16,250,173,97,19,201,86,d}208,25,136133173,98,19,201,32,208,18,173,99,19,201,32,127322208,11,189,130,19,201,4,240,7,201,8,240,1458223,76,16e}0,27,142,116,19,169,63,141,98,19,103300141,99,19,32,33,15,176,60,172,5,19,174,94511114,19,185,15,20,10,10,10,10,157,1f}24,26,70022185,16,20,41,15,29,124,26,157,124,26,173,936116,19,157,125,26,152,157,126,26,173,7,19,99344157,127,26,g}24,173,114,19,105,4,141,114,19,102355238,115,19,32,49,15,144,196,174,116,19,189,130644130,19,201,4,240,64,173,115,19,h}205,156,26,135233144,56,141,117,19,160,4,162,0,206,117,19,1145 55240,17,189,124,26,217,124,26,144,2,152,170,143144i}200,200,200,200,76,53,27,32,164,27,32,205,14161127,174,116,19,32,110,16,32,83,12,32,113,766(0016,32,149,16,206,115,19,j}76,38,27,160,0,854255162,0,173,115,19,141,117,19,189,124,26,217,1302<77124,26,144,2,138,168,232,232,232,232,206,117,185k}3F5519,173,117,19,16,234,174,116,19,189,130,19,1225P4474,74,74,24,248,121,124,26,153,124,26,216,1284Z33152,170,32,16l}4,27,174,116,19,32,33,15,96,1030d22189,124,26,41,15,9,48,141,99,19,189,124,1024n//26,74,74,74,74,9,48,141,98,19,189,125m},951x2226,141,6,19,189,126,26,141,5,19,189,127,10140026,141,7,19,96,169,0,224,28,176,3,189,107844128,26,157,124,26n},232,224,32,208,239,96,0,1492D:ATDOSMOD.BAS140026,141,7,19,96,169,0,224,28,176,3,189,107844128,26,157,124,264yzj9 L MODTWOPIRAXBASYBASSHAPEDIAMETEPYXARRAYHEADINGBLANKSTRIANGLESPISTRINGXRECSCALEYRESCALECAN p}PKE@  q} r} ""****************************""* *""* CALCPI.BAS *(""* s} *2""* by Bruce D. Noonan, M.D. *<""* *F""* (c)1985 ANALOG COMPUTING *P""* t} *Z""****************************d +-@@G("TYPE GRAPHICS MODE 4,5,6,7, OR 8 u}:g@@K:t)@@n/6-&@H/ @)!@Ax6-@(150 v}6-@6-@@*6-@*varies from 1.07 to 1.196-@<<9@,;@0,;@0,;@ w},;@,((6.# of triangles Approx. of pi((6. +20@ x}2BACKGROUND = BLACK/0@/POLYGON = WHITEAR@WW6-A $+"@,% y}A`$+"@)"@,%@$+"@)"@,6-'@ 6-'WW6-A`$+"@,%@$+ z}"@)"@,%@@$+"@)"@, 6-'"6-'@,6-@66-@@(( J {}6-@PT-@@^ @h68,-r68@,-|68@,-%$$68@, |}-- 6-$'6-%$E:,$$6-%$G:,$68@,-68@,-K,8,8 }}@,3/8@,8@,K/8@,8@,68@,-68@,- 6-'@6- ~}@&M:@&$, 6-$ 6-' 6.=:, 67B:,%@,.& 6.=:,0  >:@(,:6-M:$ }%$,D6-@$N6-F:B2y,X"@' A0b"@Al v + } D:CALPI.BAS-@$N6-F:B2y,X"@' A0b"@Al v +  &dxCAPINDECODdXL caps togglenby Rod Reesxput caps toggle into OS}6-B2b-@2" % machine language code!!201,130,208,9},173,190,2,240 8,169,0,240,14,201,131,208 4,169,64,208,6,201,132,208 8,169,128,141,190,2,76,221 246} D:CAPTOG.BAS 8,169,0,240,14,201,131,208 4,169,64,208,6,201,132,208 8,169,128,141,190,2,76,221 246'(;;MLDATBINTOTAPASLINDATLICHKSU} *** DEBUG+ ***z&;AQ,;@,;@E,767@E,. C6-I6-U6-A h(}}CHECKING DATAzAR@m-@A5"'67,.>:,+ K67A6,.0123456789ABCDEF\6-C:,%A5}m6-P:'AV,(Q67@B<@B,.>:,-6-&$AVG67@A<@A,.>:,Q#A2U A6-%@}--@@:(LINE: >"UB:,@A`<X%6-F:A,%F:A,$AV+C(LINE  MISSING!}UARXF4 6-?:C:,dd38394142434445464748494}A4B4C4D4E4F505152535455565758595A46494E4420232C5829592C294C4F414420,208Hdd4154425245414B204B45592041424F52D44E4F2044455649}43452048414E444C45D25452554E43415445442052,602Rdd45434F52C44445564943452054494D454F55D4444556494345204E41CB575249544520505}24F5445435445C446,355\dd554E4354494F4E204E4F5420444F4EC54449534B2046554CCC46494C45204E554D204D49534D415443C8424144,909fd}d2046494C45204E414DC546494C45204C4F434B45C44449524543544F52592046554CCC46494C45204E4F542046,383pdd4F554EC446494C45204E4F5}42042494E4152D94E4F205345542042524B20504F494ED4494E56414C4944204F50,939zdd434F44C542524B20504F494E54205345D44144522052414E}4745204552524FD2414443414E4441534C42434342,462dd4353424551424954424D49424E4542504CC2D2CB425643425653434C43434C44434C49434}C56434D5043505843,155dd5059444543444558444559454F52494E43494E58494E594A4D504A53524C44414C44584C44594C53524E4F504F,607c}c5241504841504850504C41504C50524F4C524F5252544952545353424353454353454453454953544153545853,78dd545954415854415954535854}58415458535459413F3F3F6965756D7D7961712925352D3D3921310A06160E1E90,390ddB0F0242C30D01000507018D858B8C9C5D5CDDDD9C1D1E0E4E}CC0C4CCC6D6CEDECA884945554D5D594151E6F6EE,322ddFEE8C84C6C20A9A5B5ADBDB9A1B1A2A6B6AEBEA0A4B4ACBC4A46564E5EEA0905150D1D1901}11480868282A2636,476dd2E3E6A66766E7E4060E9E5F5EDFDF9E1F138F87885958D9D99819186968E84948CAAA8BA8A9A98000000000000,463dd}000003030303030303030606060606090C0F121215181B1E2124272A2D3033333333333333333636363939393C,735dd3C3C3C3F4245454545454545}45484848484B4E51515457575757575757575A5A5A5A5A5D5D5D5D5D6060606060,374dd636666666666666666696C6F72757575757578787878787B7}E818181818181818184878A8D8D8D8D8D8D8D9090,873dd9093939396999C9FA2A5A80001020304050607000102030405060708010203040909090103}0909090A09090A0A,751dd0A0A0001020304050607000103000103010203040A0A0001020304050607010203040A0A030B03000102030405,927dd}060700010C0305000102030408010203040A00010203040506070A0A0A0A080102030408010203040A0A000102,126 dd03040506070A0A0A01020304}050607010C030102030A0A0A0A0A0A0A0000000000000000000000000000000000,301 * 5940 BYTES D:DEBUG.BAS6070A0A0A01020304l01 TOTAPASDATHEXLINDATLIDDBYTCHKSUIN@}  --- FMT.COM ---Q6-6-Q0,1,2,3,4,5,6,7,8},9,0,0,0,0,0,0,0,10,11,12,13,14,15(r;@,9@",/-@"3"<68,-@ L6-A V#A` A} r( CHECKING DATA286-%@(LINE:!"8B:,@A <F%6-F:A,%F:A,$AV+C(}LINE  MISSING!FFe-@@@36-@:7,,&@HO6-@:7%@,,&@He6-8,$@%8,}P."@*@ $". @PZ% 6-%!A %6-&Ad  ""@Pn A x } F:A,@A "A9 #A !-@@%"2*@6 9c+("INSERT DI}SK WITH DOS, PRESS RETURN8;@,<c@@ D:FMT.COM6 #A !-@@%"2*@}6 M(( WRITING FILE#6-@/6-A 9#AC A M @P(BAD DATA: LINE 255},255,0,52,176,55224,2,225,2,0,52ddA2E4A036A9298DF002207836A0FF8CFC02ADFC028DDD36C9B8F066C9AEF041C995F05EC997F05AC99}2F038C9AF,847ddF020C92FF01CA205CAF0D9DDDE36D0F88A8DE3361869308D0E3709808DE6364C0034A9008DF0028CFC02A217A0,342dd37A902 }4C78364C1436A07FA9009901148810FAA97020983620C836CE0A03AD0A03C968D0F3F032A647A448A900,898dd209C36A9218D0203A9408D0303A9A08 }D06032059E41015C090D00EA001A9FFC147D009D147D005A0904C4936A0,517dd7FA90091458810FBA063A9FF914588C00AD0F9A207BC3F37BD473791 }45CA10F5A0008C3C378C3B378CDE36A906,849dd8D3A37ADDD36C992D0034CB835B147C9FFD00AC8B147C9FFD0034C9A35ADDE36D00CA226A037A9108 }DDE362078,580$dd36EE3C37A920A2039D3637CA10FACE3A37D00EA2E4A036A901207836A90A8D3A37AC3B37B14785D48D3D37C8B1,554.dd4785D5 }8D3E3720AAD920E6D8A0FFC8B1F399363710F8297F993637A236A037A904207836A900A0034E3E376E3D,6258dd376A88D0F62A2A2A2AA8A9FF186A881}0FC48AD3D3718690AA86831459145A003B14538E9019145AC3B37C8C88C,513Bdd3B374CEE34AD3C37F012A201AD3A37C90AF001E88AA226A037207836}ADDD36C997F04DA645A446A968209C3620,564LddC836AD3C37F035A07FA9009901148810FAA00FB9233709809901148810F5A9608D0114AD3C378D021}4A9008D03,780Vdd148D04148D0514A96920983620C836ADDD36C995F00FA24FA037A901209C3620C8364C0034208E36A9039D4203,890`ddA90D9D}4403A9379D4503A90B9D4803A9009D49039D4B03A9089D4A032056E48CDD36208E36ACDD3630034C0034,828jdd84D4A90085D520AAD920E6D8A002A92}09920378810FAC8B1F399203710F8297F992037A217A037A90E2078364C,986tdd00348E44038C45038D4803A2008E4903A90B8D42034C56E4A270A90C}9D42034C56E4A201A0148E04038C0503A2,712~dd808E0803A2008E09038D0A03C901F001E88E0B03A9078D0603A9318D0003ADE3368D010360AD79078}D0203A980,421dd8D03032059E410EF68684C49362F001F1E1A18019B20B12020C66D742020D7444F532020C26F74682020DA6572,188dd6F2020}C36C722020D17569749B1C1CFD44313A444F532E5359539B9B4572726F7220233132389BFDFD9B9B4261,749dd6420736563746F7273203A202020202}0060000000000010203040A373802C302C3020F007F0001800477E4ADC6,428dd028DC802A90B85548DF002A9098D4203A9B28D4403A9048D4503A928}8D4803A2008E49032056E44CAF044E6F20,513dd444F532E5359533A20707265737320A0D2C5D3C5D4A020746F2072652D626F6F74FD9BE002E102003}400000000,970D:FORMATTR.BAS13dd444F532E5359533A20707265737320A0D2C5D3C5D4A020746F2072652D626F6F74FD9BE002E102003$RS[*FFFVARASTRCOSTOPDVVDSDENALINLLESLESNTOTHENUQSTRCO}@ } #@}@E:;@ ,;@ ,;A%`,;AV,;@ ,;@ ,;@,9@ ,;A,;}A,~AAF'AR@G(} ͠J(i( by Jonathan Stonel(~AR}j67@,.%67A%`,.467@,.FB7t@dX@@djA@(:67@},.%67A,.467@,.:6.2J-@U"F67$@%@<$@%@,.J <J }-@f"F67$@%@<$@%@,.J F A P=((What file to modify?"(, A`!}30= A0ZI@1@@D:*.*F( I(d9@(97@<"}@ ,0FREE An @x4 A ('( #F:A,*(4 @ 6.@1@@#}>)@K)@Y%\(w( is not a SAVEd file @3(( Output file?($ A$}`34@8 4 (.(You can't use the same name!!8 A@& @@&6. AP%})@)@)@)@5)@)@56-%AV$&AV5)@&})@56-%AV$&AV)@)@5)@)@56-%AV$&AV'}16-6-1-@&@V)@ A(:67$@ %@%,.>:,H6-%@L V (}ApQ)67$@ %@%,.>:&A(,76-%@C6-G Q Ap -)@  A)}P"MAf@(3(6(9(F)@M6.,J)@)@-6-%AV$*}JF:Ad,"@(A6!B'gA@9 ( #67B:,%@,.=:,967B:,%@,. J)@+}T)@^)@h #A pr8.6.7$@%@<$@%@,8 A |E67B:,%@,.,}((@T/( E67B:,%@,. !!*@UA ;Af(~-Af@-};67B:,,. .)@$AUA. A"@A@$)@$"@Ap.}!A'AP"@A"@A6"@ (:,67B:,%@,.:6 A@"/}@"( A"@'6-@6-&@#A8.6.7$@%@<$@%@,8 A 0}4>:@4,6.,(67B:,%@,. A0&6-&A(0DB:, $@ %@ :6.7$1}@ %@:,)7<,42}>:@@,='G A0N* (7<,&67B:,%@,.7<,* X A0b1)@!A'#(-16-&A(3}l06-#-@@0)@v,(6-$A%&@$P:'@,, %6-&@h%"4}A-N:,6N:,c36-+!,$$A%+ ,$'A7 M")"@Y6-c A5}e-&@""8,%'.(CD67B:,%@,.C[67B:,%@,.=:,e A0 )(67B:,6}%@,.=:,) A0; 67B:,%@,.>:@4,.(>:@4,;)@%"A0%-@37})@(>:,/67B:,%@,.>:,3 8 67B:,%@,.>:@4,.(>:@4,8 A0/)@(>:,8}/67B:,%@,.>:,AUA@ A%@6-% AP  A! @9}6.! A O@@+Af=AdAUOA A0*](}NEW7( ENT:}ER >:@4,>:@4,]( SAVE >:@4,>:@4,4NN(POKE 842,12:GR.0:?>:@4,Program now save;}d as >:@4,>-@HAB@Rt@@+Af=AdAU<}G+q( Sorry, error F:A, occurred.t\4A@d'A4@f 4 $p=}B:, @A zOL7@<@,4D*+7@<@,4:)7@<@,4:,O$$ 6.D:67@,.>}!6.$$26-@(7@<@,4/6.2$,7<,4)6.7@<&@,,$6-%@ ?}A wAdAU'A@d9AF)@d@*@xA @m6.>:,q(t(w$@} A*** ***ffREM,DATA,INPUT,COLOR,LIST,ENTER,LET,IF,FOR,NEXT,GOTO,GO TO,GOSUB,TRAP,BYE,CONT,COM,CA}LOSE,CLR,DEGeeDIM,END,NEW,OPEN,LOAD,SAVE,STATUS,NOTE,POINT,XIO,ON,POKE,PRINT,RAD,READ,RESTORE,RETURN,RUN,STOP``POP,?,B}GET,PUT,GRAPHICS,PLOT,POSITION,DOS,DRAWTO,SETCOLOR,LOCATE,SOUND,LPRINT,CSAVE,CLOAD,,!!*** ***``",C}",$,;,;, GOTO , GOSUB , TO , STEP , THEN ,#,<=,<>,>=,<,>,=,,*,+,-,/, NOT , OR , AND ,(,)=,=,<=,<>,>=,<,>,=,+,-ee(,(D},(,(,(,",STR$,CHR$,USR,ASC,VAL,LEN,ADR,ATN,COS,PEEK,SIN,RND,FRE,EXP,LOG,CLOG,SQR,SGN,ABS,INTPADDLE,STICK,PTRIG,STRIGE}1(@1@@K:$Z+6.7+&@,$@ %@)@)@(@!U}3@>@P!!"AU*"AUApZ!!"*"A @d!!!@G* @XA pn!V}%xN0@@ @70@@ D6.RENAMEN AA-@@ )(What should I=!W}(rename it as? A7-B:,@6@*7<,0 -'7 A` '67%@,.,'67%@,.!X}Z-@@ '( Renaming!2@W@2@Z%N6.DELETE*0@@@!Y}D0@@N AC-@@ %( Delete 9(are you sure? C A@36-@#!Z}@+6-@#@0(3%*-@@ *( Deleting 6@3@3@![}6% +'0@A0@@@[0@@@o%@@%@ !\}@-@@(FORMAT![0@@[(9WARNING: This will erase all data on thi!]}s disk!(((Are you positive? ( A@36-@#@+6-@#@0(3%9@9AT!^}@D:*.*%"H0@@@70@@@H( } create,J(*(Insert!_} the new Load*It disk and=(press J)@6a((Format this disk?' A@+6@aAT@!`}D:*.*@L((Analyzing disk...'@L@@D:*.SYSJ1@1!a}7@<@,0 A`T*7@<@,4DOS*6-@^ A0h@(%(Write DOS to this disk?/ !b}A@4(@6-@r;6-A:7@<@,,;!@&$@9A |::(Sorry, Load*It needs @&$@2!c} sectors(( with DOSC((This disk only has  sectors<-@A @ C% A`!d}9@9@@ D:AUTORUN.SYSf(P(DThis disk already has an AUTORUN.SYS on it. Should I writ!e}e over it?Z A@fA`-@A %B A@B@@ D:LOADIT!f}.BASf(P(DThis disk already has a LOADIT.BAS on it. Should I use it anyway?Z A@fA-@A!g} %+ A(+(Beginning the write...Y((Writing DOS.SYS'@N@@ D:!q}%B%DOS SYSB*)DUP SYSBSATDOSMODBASBoCALPI BASBCAPTOG BASByDEBUG BASBFORMATTRBASB8HELPER BASB6QLOADIT BASBOSDOSMODBASB9PONG BASBPONG M65BUNICHECKBASDOS.SYSY@_(Writing the AUTORUN.SYS*@U@@ D:AUTORUN.SYS_#AP""!r}6@A@*@ A >(Writing main program...*@; D:LOADIT.BAS>%&ll255,255,0,6,81,!s}6,216,24,173,48,2,105,4,133,204,173,49,2,105,0,133,205,24,160,0,177,204,105,162,133,2120kk160,1,177,204,105,0,133,213,160,!t}32,185,49,6,145,212,136,208,248,169,13,141,74,3,96,0,48,47,43,37,0,24:bb20,18,12,17,18,26,50,53,46,0,2,36,17,26,44,47,33,3!u}6,41,52,14,34,33,51,2,0,226,2,227,2,0,6,-1DJ6-6-% A,(}8( J-@@N1@!v}1@@D:*.*X2@27@<@,4 FA0bK6-%@( )@!w}K7@<@,4 FA0l( Avr-@@ (+-@!Y(=" =NEW DISK !x} =ABORT =LCK/UNLCKk-@r(->Q6-@6-!6-'6-2@Q@@!y}K.)@.6-%+"@a,&+"@E,+ @6-%@+6-@&+!%@6-@+6-!z}@&D )-$@ "(->0-$@ 8( >6-D6-"@x A"@e%!{}"@BA@%"@C6-@% A@ AP++-$@ %@$@ %@% 1!6!|}7&$@ ,.>:,% , 6.D:,67@,.7@<@,: -@@6@-7<,0 0': A!}}  067%@,..067%@,.7@, ;;7@<@,4 *7@<@,4 AP* ( $!~}4o A0@5@@@@e@5@o A>=@!}3@6@= AH]@-@@K:)@F"@xN(No!!}Z6-]$R'"@(Yes!$6-@'$\ A@f +'0@@@A0!}@[0@@@o%@ @%@@-@p:(BINARY LOADING5-@1&B!}:,'@@:(z8( (.( Turn off BASIC? (XL/XE only!) 8 A@+@+@@!}A 06-?:AUv,%6-?:C:,,% +'0@@@A0@[0@!}@@o%@ @%@@-@@(LOADING'"-@1&B:,'@@'(!}% +'0@@@A0@[0@@@o%@ @%!}@@-@@(ENTERINGA0@@<-@1&B:,'@@A(_-@!}@(NEW (#(&(=(ENTER>:@4,@(C(F(_(GR.0:POKE 842,12:RUN*-@@'AB@*&!}A +AR@A6-F:A`,%F:Aa,$AVk0@70@Q0@!}@k0@G%@@d%@3%@@G%@&@H"-@!}"(load it/#( By Karl Stiefvater&()(,(/($!!( .!!( |!} Load! |8!!( | Rename! |B!!( | Delete! |L!!( | Format! |V!!( !} | Create a |`!!( | Load*It |j!!( | Disk! |t!!( ~&(!} (&( Choose one::@-@@K:)@!! @I)!@SA`!}77&@H@PA AA0A* +*( System error F:A,8 #A !-@!}@%"167,.>:,5 8$??104,169,255,141,1,211,24,165,106,105,32,133,106,76,200,21 D:LOADIT.BAS-@ t12 !STARNUMVEERFLLINDASUREALLINITECHSUOF%} $$******************************$$* *$$* DO%}S VERSION MODIFICATION *($$* by Gary S Domrow *2$$* May 2, 1984 *<$$* OSS OS/A+ Version %}2.10 *F$$* *P$$******************************UZ-@AU!6-At$-FOR%} ӯ_ INTROd2 + 2  ATARI DOS 2.0s MODIFIERn/ / $ Use this program for OSS OS/A+ onlyx   %}-- %Enter the maximum number of versions -- %to be kept on the disk. This number -- %must be at least 2, and no gr%}eater  than 8. GET VERSION INPUT3 A% How many versions )3 BDD!! @)!@%}A'6-' Checking Data Line:CHECK DATA LINES)-APAR`@#")6-F%6%}-F:A,%F:A,$AV+C(Line  Missing.F('-@@"#6-%' 1" %%}(Bad data in line 16-@   CHECK ERROR FLAG"@PUT DATA INTO DOS #AP%}"'' Poking data into DOS from line:,)-@1%%) 66-@2@#-APAR`@%}#(J5-@@"#%16-%@5 OSKIP CHECKSUM THIS TIMET"^ ch POKE IN %}NUMBER OF VERSIONSr%@2uwPOKE IN JSR PATCH|'A"9@3'A"@@)POKE IN NE%}W BUFFER START'ATdA('ATY@0REINITIALIZE DOSZA6A'A7@v9A%}8@dKA9@!Z6-?:A6,RE-WRITE DOS.SYS FILECAdAU  C #Press any key %}to write modified DOS F:Ad,"AUA AdAU5*@@ D:DOS.SYS5@%}THAT'S IT333,169,0,141,114,19,141,115,19,160,31,153,1065220,29,136,16,250,173,97,19,201,86,208,25%},124033173,98,19,201,32,208,18,173,99,19,201,32,127322208,11,189,130,19,201,4,240,7,201,8,240,1458003,76,36,30,14%}2,116,19,169,63,141,98,19,91200141,99,19,32,33,15,176,60,172,5,19,174,945//114,19,185,15,20,10,10,10,10,157,0,29,579%}..185,16,20,41,15,29,0,29,157,0,29,173,694--6,19,157,1,29,152,157,2,29,173,7,19,75111157,3,29,24,173,114,19,105,4,%}141,114,19,90255238,115,19,32,49,15,144,196,174,116,19,189,130633130,19,201,4,240,64,173,115,19,205,32,29,1231331%}44,56,141,117,19,160,4,162,0,206,117,19,1145 11240,17,189,0,29,217,0,29,144,2,152,170,118933200,200,200,200,76,185,29,%}32,40,30,32,81,13051130,174,116,19,32,110,16,32,83,12,32,113,769(1116,32,149,16,206,115,19,76,170,29,160,0,98823316%}2,0,173,115,19,141,117,19,189,0,29,217,1181<550,29,144,2,138,168,232,232,232,232,206,117,1732F5519,173,117,19,16,234,17%}4,116,19,189,130,19,1225P0074,74,74,24,248,121,0,29,153,0,29,216,1042Z11152,170,32,40,30,174,116,19,32,33,15,96,909d-%}-189,0,29,41,15,9,48,141,99,19,189,0,779n--29,74,74,74,74,9,48,141,98,19,189,1,830x--29,141,6,19,189,2,29,141,5,19,189%},3,7720029,141,7,19,96,169,0,224,28,176,3,189,1081004,29,157,0,29,232,224,32,208,239,96,0,1250D:OSDOSMOD.BAS$}12N`DSDATHEXLINDATLIDDBYTPASCHKSUTOTAIN@)} *** PONG ***I @ 1(MAKE CASSETTE (0), OR DISK (1)5I)}!@@ C BC0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,10,11,12,13,14,15(r;@,9@",/-@)}"3"<68,-@ L6-A V#A` A r( CHECKING DATA286-%@(LINE:!"8B:,@A )}<F%6-F:A,%F:A,$AV+C(LINE  MISSING!FFq-@@@56-@:7<,,&@H)}[6-@:7%@<%@,,&@Hq6-8,$@%8,P."@*@ $". @PZ% 6-%!A)} %6-&Ad  ""@Pn A x F:A,@A "Ap(A`)}*@A$)*@@<*@A%O*@@b*@@u*@@@)}@<-@@**@. 9@<(Ag+("INSERT DISK WITH DOS, PRESS RETU)}RN8;@,<g@@ D:AUTORUN.SYS*@AU)*@AU<*@O)}*@@@b*@@u*@@I A{((READY CASSETTE AND PRESS RETURNH@@)}A(C:R#A0f-@@@j"w*@{ M(( WRITING FILE#6-@/6-A 9#AC A)} M @P(BAD DATA: LINE cc0,19,216,39,255,39,169,0,234,234,234,169,60,141,2,211,169,0,141,231,2,133,14)},169,56,141,232,2--133,15,169,7,133,10,169,40,133,11,24,96ddA514C514F0FC60A91B850CA928850DA9008D4402A901850920B62CA2F)}F9A20E22BA9008D05D485828583858F8D,979dd08D2A93C8D3002A9318D3102A9038D0FD2200028205B2DA9018584A907A22BA0FA205CE420C92DA208)}BDE7309D,456ddC002CA10F7A900858F8585858620432D20E02820392F20AC28A9008584200429A585CD4830F011A586CD4830F0,168dd0620AC2)}84C7328A20CD002A203A000B9E1309D7431E8C8C006D0F4AD7C022D7D02D0F8F0A820282EAD5930F013,242ddA205A585202B2F9D7431E8A58520342F)}9D7431AD5830F013A20EA586202B2F9D7431E8A58620342F9D743160A9,870dd808D05D0A21AA9048587A005A5871D80219D8021E888D0F4A58749048)}587E07090E860A900A8B9802129FC9980,484$dd21C810F520BB292071298D1ED020002820202A20662B20EA298D1ED0A900854DAD4430C926900AC9DC)}B00620A2,702.dd2B4C1829ADF930F00BADF930C901F009C902F011AD4430300CF818A58669018586D84C6929F818A58569018585,6618ddD8A5894)}DF83085896020AC28AD0AD2293F1869288D4530A9008D4930A589100CAD4B3020E4298D46304C9A29AD,147Bdd4B308D4630AD0AD22903C903F0F78D47)}30AD0AD23009AD473020E4298D4730A97F8D4430D02FAD5830D004A201,712LddD015AD5930D003AAF00DADF930F005AACA4CD929A689E8BD7C02D0FBB)}D7C02F0FB6049FF1869016018AD453069,490Vdd08AABD7D2129FC9D7D21CAEC4530D0F2BD802109039D8021BD812109039D8121AD44308D04D0604868)}30CA6048,322`dd6810C560A58FF015AD463020162A858B38A58FE58B858F1004A900858FAD00D08D5C30AD08D08D5B30AD5C3029,121jcc01F00B2)}0B12AA9308583A90E8582AD5C302902F00B20DA2AA9308583A90E8582AD5C30D042A58FD03EAD5B30F0,94tdd39ADF930F01CAD5B302903F007ADF930C)}901F00EAD5B30290CF01FADF930C902D01820032BA9508583A90E8582,996~ddADF930F008ADF93049038DF93060AD4530C91CB00AAD473020162A8D47)}3060C96E900AAD4730201B2A8D473060,457ddAD473020E4298D473060AD4430C935B00AAD463020162A8D463060C9C8900AAD4630201B2A8D463060A)}D463020,502ddE4298D463060ADF930D013AD5B302903F007AD46303007100EAD46303009AD463020E4298D4630202D2BA90885,431dd8FD04EAD)}5B302903F006AD42304C3D2BAD433038ED453020E429A8C818AD4730794C308D4730300AC903900FA9,707dd028D473060C9FEB005A9FE8D47306018A)}D44306D46308D443018AD45306D47308D453060EE4930AD4930CD4A30,153ddD017A9008D4930AD463020162AC903F008AD46303004EE463060CE4630)}60ADFC02C9FFF019A9018584A9FF8DFC,269dd02ADFC02C9FFF0F9A9008584A9FF8DFC0260A9AF8580A9318581A000A22BA9AA918018A580691485809)}002E681,262ddCAD0EE60A9748580A9318581A206A900A89180C8D0FBE681CAD0F660A9088D1FD0AD1FD0C906D0034C74E4A584,684ddF0034C62)}E4AD7002A00020D02C858CAD58308D5A30CE5A30AD5A303017AC423020E52CAC5A30BE3E30A48CAD5A,415dd3020142D4C202CA58C8D4230AD7102A00)}120D02C858CAD59308D5A30CE5A30AD5A30301D186902AC433020E52C,322ddAC5A30BE4030A48C18AD5A30690220142D4C542CA58C8D4330A582F002)}C682A58209A08D01D2A5838D00D2ADF9,292dd30F01EADF9302902AAA9DA9DC0029DC102ADF93049032902AAA9D69DC0029DC1024C62E4A90AA22A9D4)}631CA10,507ddFAA9418D7131A93C8D7231A9318D7331604A38E9073004C91AB004A91AD006C9669002A9656048848AA9008580,271ddA9228581)}6820012DA48AA209A9009180C8CA10FA60A888300E18A5806980858090F4E6814C022D60848A48A88A,388 dd9900D0A9008580A92285816820012DA20)}9A903A48A9180C8CA10FA60A955A2139D9C319DF834CA10F760A9208D,665dd07D4A92E8D2F02205B2DA9038D1DD0A9118D6F0260A20CA9009D00D0CA)}10FAA9208581A9008580A204A89180C8,419ddD0FBE681CAD0F66020E22B20002820282EA9008D05D4A5880A0A0A0AAAA000BDFC30997431E8C8C010D)}0F4205B,700(dd2D20352D20E028A588C904F00AA99C8D4431A9318D4531A5880AAABDF030858DE8BDF030858E6C8D00AD3F3109,7462dd108D3F31)}20352DA95D8D4031A9308D4131A26EA9088D04D4858F200028AD7C022D7D02F01EC68FA58F100CA907,881<dd858FEE4031D003EE4131A58F8D04D4D0D)}CCAD0D9F0B9A90F8D04D4A9748D4031A9318D4131AD3F3129EF8D3F31,587Fdd60A900A2279D7431CA10FA60A9018D58308D5930A92E8D3E30A9C88D40)}30A9008DF930A9018D4B30A9088D4A30,233PccA9FF8DF83060A9018D5830A9008D5930A95A8D3E30A9018D4B30A9088D4A30A9008DF93020C32BA9008)}DF83060,47ZddA9028D58308D5930A92C8D3E30A99C8D3F30A9C68D4030A9588D4130A9018D4B30A9088D4A30A9008DF93020DD,679ddd2EA9FF8DF)}83060A9018D58308D59308D4B30A9088D4A30A95A8D3E30A95E8D4030A9018DF93020C32BA9008DF8,573ndd3060A9B08580A9318581A209A000A98091)}80A013A902918018A580691485809002E681CA10E618A58069B88580,850xddA58169018581A209A000A9809180A013A902918018A580691485809002E)}681CA10E6604A4A4A4AF00209D06029,680dd0F09D060AD7C022D7D02F0F8A90085888589207B2DA9158D4830A9008DFB308584200028A9018584AD70)}028DFA,385dd3018A5146903858F200028AD7C022D7D02F062A58FC514D0EFAD7002CDFA30F0DAB011ADFB3030C5EEFB30ADFB,998dd30C903D0C)}9F01FCEFB30ADFB3010B1C9FDD0BBC688A5881004A9038588202230200F304CC72FE688A588C904D0,656dd04A900858820E42F20FA2FA203A9D69DC0)}02CA10FA207B2D4C4F2FAD7C022D7D02F0F8A900858F60A5880A0A0A,334dd0AAAA000BDFC30998831E8C8C010D0F460A900858FA58F8D05D4200028E)}68FA58FC910D0F060A90F858FA58F8D,223dd05D4200028C68FA58F10F260A5880A0A0A0AAAA000B97431998831BDFC30997431E8C8C010D0EE600000)}000000,863dd000000000000000000FDFEFEFFFF00000101020203000000000000000000000000000000000000000000000000,143dd000000300)}02F002E0027000000000000000000000000000000000000A2B980A7A1B2B980A4AFADB2AFB780AFA6,134dd80B4A8A580B3B5ADADA9B480B3AFA6B4B7)}A1B2A580A7B2AFB5B000666F7200616E616C6F6700636F6D70757469,200dd6E6700000000000000000000000000000000000000000037292E2E2532D)}4D4D4D49494940A00332E812EB52E5A,579dd2E000000000000003334212E2421322400302F2E2700000000282F232B253900302F2E27000000000000)}37212C,713dd2C00302F2E27000000000000000030322123342923250000707070677431074A9C310000000000000000000000,158* 2385 BY)}TES D:PONG.BAS2F2E27000000000000000030322123342923250000707070677431074A9C310000000000000000000000,158* 2385 BY(cRd"X;*****************************n"X;* P O N G *x"X;* by GARY S. DOMROW *"X;* (c) 1986 ANA-}LOG Computing *"X;*****************************X;X;ϮӮ͠ڭŪX;BOOT? ;;O.S. BOOT FLAGDOSVEC ;;INI-}T. VECTORRTCLOK;;REAL TIME CLOCKATRACTM;;ATTRACT FLAGX; X;ϮӮX;COLDSTD;;COLD START FLAGS-}DLSTL0;;DISP LIST PTRPADDL0p;;PADDLES,SDMCTL/;;DIRECT MEMORY ACCESS CONTROL"!GPRIORo;;PRIORITY REGISTER,-}PCOLR0;;PLAYER 0 COLOR6 PTRIG0|;;PADDLE TRIGGER 0@CH;;CHARACTER PRESSEDJX;TX;ϮӮ٠^X;h)-}SETVBV\;;SET VERTICAL BLANK VECTORr#XITVBVb;;EXIT VERTICAL BLANK|!WRMVECt;;WARM START VECTORX;X;ϮӮ-}ҚX;#GRACTL;;PM GRAPHICS CONTROL PMBASE;;PM BASE REGISTER'RANDOM ;;RANDOM NUMBER GENERATOR(HITCLR-};;COLLISION CLEAR REGISTERAUDF1;;AUDIO FREQ. 1AUDC1;;AUDIO CONTROL 1AUDCTL;;AUDIO CONTROLSKCT-}L;;SERIAL CONTROL CONSOL;;CONSOLE SWITCHES'HPOSP0;;HORIZ POSITION PLAYER 0'HPOSM0;;HORIZ POSITION MI-}SSLE 0'M0PL;;MISSILE-PLAYER COLLISIONS*M0PF;;MISSILE-PLAYFIELD COLLISIONA&%HSCROL;;HORIZ SCROLL REGISTER0-}VSCROL;;VERT SCROLL REG:X;DX;٠ڭNX;XbX;lGPNTR;;GENERAL POINTERvVOL;;VOLUMENOTE;;-}NOTELOCK;;PADDLE MOVE FLGSCORE1;;PLAYER 1 SCORESCORE2;;PLAYER 2 SCORECOLR;;COLORTYPE;;GAME-} TYPESRVDR;;SERVE DIRECTION TEMP2 TEMPX TEMPYJMPVEC;;JUMP VECTORCOUNT;;COUNTERX; -}X; X;PMB ;;PM BASE (HI BYTE) "P1SC;;PLYR 1 SCORE POSITION*"P2SC;;PLYR 2 SCORE POSITION4%MISLPMB-};;MISSILE MEMORY>"PLR0MISL;;PLAYER 0 MEMORYHPLR1PLR0;;PLAYER 1RPLR2PLR1;;PLAYER 2\PADCLR;-};PADDLE COLORfMINY;;MINIMUM Y CHANGEpMAXY;;MAXIMUM Y CHANGEzX;X;ԠƠŠX;(X;WAIT60QR-}TCLOKMWAITRRTCLOK FMWAIT:X; STARTQ>4WRMSTRT;;SET UP THEPDOSVEC;;RESET VECTORQ>5WRMSTRTPDOSVEC-}Q> PCOLDSTQ>$ PBOOT?. DLBUILD;;BUILD D LIST8X;BX;ENTRY FOR RESETLX;VWRMSTRT$>;;RESET STACK`Bj-} CLEARALLtQ>~ PVSCROLPVOL PNOTE PCOUNT PAUDCTLQ>4DLIST;;SET D LIST PSDLSTL Q>5DLISTPSDLST-}LQ> PSKCTL WAIT60 ZPMSQ>  PLOCKQ>;;INITIALIZE VBI $>5VBI( %>4VBI2 SETVBV< PTITLE;;P-}RINT TITLE SCREENFX;PX;ENTRY POINT FOR NEW GAMEZX;dSTARTGAME$>n"COLLPQCOLORS9;;SET PLAYER ANDxPPCOLR09;;PLAY-}FIELD COLORS0 ICOLLPX;Q>;;INITIALIZE STUFF: PCOUNTPSCORE1;; - SCORES PSCORE2 PMINIT;; - P/M GRAPH-}ICS MIDLINE;; - MIDDLE LINE SETUP;; - GAME TYPE NEWSCOREX;X;ENTRY FOR PLAYING ONE GAMEX; GAMELOOPQ>-};;UNLOCK PADDLES PLOCK" PLAYONE;;PLAY ONE BALL,QSCORE1;;AND CHECK6RTOPSCR;;FOR A WINNER@ FTWOLOSTJ QSCORE2T -}RTOPSCR^ FONELOSTh NEWSCORE;;PRINT NEW SCOREr!GAMELOOP;;AND JUMP|X;ONELOST$>  HPRINTWINX;TWOLOST$>-} PRINTWIN%>;;PRINT 'WINNER'WINNERLPQWINNER8PSCORELINE923)> HWINNERLP%WAITTRIGQPTRIG0;;WAIT F-}OR EITHERMPTRIG0;;TRIGGER BEFOREHWAITTRIG;;RESTARTINGFSTARTGAMEX;&(X;SUBROUTINES OF ALL SHAPES AND SIZES0-}X;:X;REPRINT THE SCORE LINEDX;N NEWSCORE CLNSCRLN;;CLEAN UPX QNUMPD2b FPRSCR2l $>P1SCv%QSCORE1;;PRINT PLAYER .}ONE'S SCORE TOPHALFPSCORELINE92 QSCORE1 BOTHALFPSCORELINE9PRSCR2QNUMPD1FNOMORESCR $>P2SC;;A.}ND NOW PLAYER TWO'S QSCORE2 TOPHALFPSCORELINE92 QSCORE2  BOTHALFPSCORELINE9 NOMORESCR:*X;4)X;DR.}AW MIDDLE LINE, ACTUALLY A MISSILE>X;HMIDLINEQ>;;X-POSITIONRPHPOSM0\$>fQ>p PCOLRzMLLPOUT%>;;5 ON,.} 5 OFFMLLP1QCOLR LMISL9 PMISL921 HMLLP1&QCOLR;;SWITCH ON TO OFF, OFF TO ONN> PCOLR(>p;;END.} OF SCREEN? DMLLPOUT:X; X;PLAY ONE BALL X; PLAYONEQ>;;ERASE LAST BALL$ ?. CLRBALLQMISL88 M>B PMISL.}8L 3V ICLRBALL` # WAITBUTTON;;WAIT FOR A TRIGGERj  SERVE;;SERVE THE BALLt POLOOPPHITCLR~  WAIT60;;PAUSE  CHECKC.}OL;;CHECK COLLISIONS  MOVE;;MOVE BALL  DRAWBALL;;RE-DRAW BALL PHITCLR;;CLR COLLISIONS Q>;;RESET ATTRACT MODE P.}ATRACT QBALLX;;CHECK IF BALL IS R>&;;OFF THE SCREEN DOFFSCREEN R> EOFFSCREEN  PAUSE;;CHECK FOR KEYPRESS .}!POLOOP;;END LOOP X; (OFFSCREENQALTFL;;ALTERNATING HITS?? FCHCKSIDES;;NO( QALTFL;;YES, PENALIZE2 R>;;PLAYER WH. }O SHOULD< FOUTPL1;;HAVE HIT ITF R>P FOUTPL2Z &CHCKSIDESQBALLX;;CHECK WHICH SIDEd GOUTPL2n "OUTPL1<;;OUT PLAYER ON. }E'S SIDEx ,;;SO ADD TO SCORE 2 QSCORE2 O> PSCORE2 - !POOUT X; "OUTPL2<;;OUT PLAYER TWO'S SIDE ,;;SO ADD. } TO SCORE 1 QSCORE1 O> PSCORE1 - (POOUTQSRVDR;;CHANGE SERVE DIRECTION NSRVFL;;ACCORDING TO SRVFL PSRVDR. } :" X;, X;PUT ONE BALL IN PLAY6 X;@ $SERVE NEWSCORE;;PRINT NEW SCOREJ QRANDOM;;GET Y POSITIONT M>?;;BETWEEN 40 & 10. }4^ ,h O>(r PBALLY| Q>;;RESET NUMBER OF HITS PHITS $QSRVDR;;SERVE IN RIGHT DIRECTION IPOS QSTRSPD NEGAT.}E PCHNGX !FIGCHNGY X; POSQSTRSPD PCHNGX "FIGCHNGYQRANDOM;;GET Y CHANGE M>;;BETWEEN 2 & -2 R> FFI.}GCHNGY PCHNGY QRANDOM;;UP OR DOWN??& GPOSY;;DOWN0 QCHNGY:  NEGATE;;UPD PCHNGYN !POSYQ>;;STARTING X POSITIONX.} PBALLXb HDRAWBALL;;DRAW FIRST BALLl X;v &X;WAIT FOR RECEIVER TO PRESS BUTTON X; 'WAITBUTTONQNUMPD1;;IF NO PADDLE 1.}, HPADTHERE1;;WAIT FOR 2 $> HWAITPRESS X; %PADTHERE1QNUMPD2;;IF NO PADDLE 2 HPADTHERE2;;WAIT FOR 1 > F.}WAITPRESS X; %PADTHERE2QALTFL;;IF ALTERNATING, FCHECKDR >;;WAIT FOR NEXT ONE 0 !WAITPRESS X;* -CHECKDR$SRV.}DR;;ELSE, USE SERVE DIRECTION4 2> &WAITPRESSQPTRIG09;;WAIT FOR PRESSH HWAITPRESSR #WAITUPTRGQPTRIG09;;AND RELEASE\ F.}WAITUPTRGf :p X;z X;MAKE ACCUMULATOR NEGATIVE X; NEGATEN> , O> : X; %X;DRAW THE BALL, ACTUALLY A MISSLE.} X; DRAWBALL, QBALLY O> > $ERBALLQMISL9;;ERASE OLD BALLM> PMISL90$ (BALLY. HERBALL8QM.}ISL9;;AND DRAW THEBL>;;NEW ONEL PMISL9V QMISL9`L>j PMISL9t QBALLX~ PHPOSM0:X;X;MAKE ACCUMULA.}TOR POSITIVEX; MAKEPOS57 GNEGATE:X;X;MAKE ACCUMULATOR NEGATIVEX; MAKENEG57  INEGATE:X;(.}X;CHECK FOR COLLISIONS2X;<,CHECKCOLQCOUNT;;UNLESS COUNTER NOT ZEROF FCONTCCP QCHNGXZ MAKEPOSd PTEMPXn;x Q.}COUNT STEMPX PCOUNT ICONTCCQ> PCOUNTCONTCCQM0PF;;BALL & WALLS PMISPFQM0PL;;BALL & PADDLES PMI.}SPLQMISPF;;CHECK COLOR 1M> FNOHORIZ! HORIZCOL;;DO HORIZ COLLISIONQ>0;;AND PLAY NOTE PNOTEQ>"PVO.}L,!NOHORIZQMISPF;;CHECK COLOR 26M>@ FNOVERTJ" VERTCOL;;DO VERTICAL COLLISONTQ>0;;AND PLAY NOTE^ PNOTEhQ>r.}PVOL|'NOVERTQMISPF;;CHECK PLAYER ONLY IF HNOPLAYER;;NO WALL COLLISIONQCOUNT;;ONLY IF COUNT OK HNOPLAYER QM.}ISPL FNOPLAYERQALTFL;;IF ALTERNATING,FCONTPLCOLQMISPL;;MAKE SURE IT ISM>;;THE RIGHT PLAYER FPL2COLQ.}ALTFL;;PLAYER 1R>FCONTPLCOLPL2COLQMISPL;;PLAYER 2M>  FNOPLAYER& QALTFL0R>: HNOPLAYERD3CONTPLC.}OL PLAYERCOL;;OK TO DO PLAYER COLLISIONNQ>P;;PLAY A NOTEX PNOTEbQ>lPVOLv QALTFL FNOPLAYER#QALTFL;;CHANGE. } ALTERNATION FLAGN>;;IF IT IS NOT ZERO PALTFL NOPLAYER:X;-X;HANDLE HORIZONTAL WALL & BALL COLLISIONSX;.!}HORIZCOLQBALLY;;IF AT TOP,R>;;MAKE Y CHANGEENOTSMALL;;POSITIVE QCHNGY MAKEPOS PCHNGY :X; NOTSMALL."}R>n;;IF AT BOTTOM,*DNOTBIG;;MAKE Y CHANGE4QCHNGY;;NEGATIVE> MAKENEGH PCHNGYR:\X;f"NOTBIGQCHNGY;;OTHERWISE,.#} JUSTp NEGATE;;NEGATE ITz PCHNGY:X;%VERTCOLQBALLX;;IF OFF LEFT SIDE,R>5;;MAKE X CHANGEENOTSMALLV;;POSI.$}TIVE QCHNGX MAKEPOS PCHNGX:X;%NOTSMALLVR>;;IF OFF RIGHT SIDE,DNOTBIGV;;MAKE X CHANGEQCHNGX;;NEGA.%}TIVE MAKENEG PCHNGX:$X;.#NOTBIGVQCHNGX;;OTHERWISE, JUST8 NEGATE;;NEGATE ITB PCHNGXL:VX;`X;DO PLAYER.&}-BALL COLLISIONSjX;t(PLAYERCOLQALTFL;;IF NOT ALTERNATING~HNEGATEIT;;SKIPQMISPL;;OTHERWISE, NEGATEM>;;ONLY IF.'} IT HITFPL2;;THE RIGHT PLAYER,QCHNGX;;GOING THE RIGHTGNEGATEIT;;DIRECTION INONEGATEX;PL2QCHNGX GNON.(}EGATE$NEGATEITQCHNGX;;NEGATE X CHANGE NEGATE;;IF WE GOT HERE PCHNGX*NONEGATE ADJUSTCY;;FIND PADDLE CHANGE Q>.)};;AND SET COUNTER PCOUNT HINCHITS(X;2/X;ADJUST Y CHANGE IF BALL HIT EDGE OF PADDLE<X;F&ADJUSTCYQMISPL;;FIND W.*}HICH PADDLEPM>;;TO COMPAREZ FNOTPL1dQYP1n !ACYCONTxX;NOTPL1QYP2ACYCONT;;;SUBTRACT BALL YSBALLY;;POS.+}ITION NEGATE;;AND ADJUST?3,;;LOOK AT TABLEQCHNGY;;TO FIND ADJUSTMENTOCHNGTAB8;;TO Y CHANGE PCHNGY G.,}CHNGYNEG&R>MAXY;;NOW, MAKE SURE Y CHANGEDOUTACY;;IS WITHIN BOUNDSQ>MAXY;;TOO BIG??? PCHNGY:"X;,!CHNG.-}YNEGR>MINY;;TOO SMALL???6 EOUTACY@ Q>MINYJ PCHNGYT OUTACY:^X;h!X;ADD CHANGES TO BALL POSITIONrX;| MOVE, QB..}ALLX OCHNGX PBALLX, QBALLY OCHNGY PBALLY:X;0X;ADD TO HIT COUNTER AND SEE IF ABOVE MAXIMUMX;I./}NCHITS#HITSQHITS;;NUMBER OF HITSRMAXHIT;;ABOVE MAXIMUMHOUTIH;;NOQ>;;RESET COUNTER& PHITS0QCHNGX;;IS X .0}SPEED AT: MAKEPOS;;MAXIMUM???DR>NFOUTIH;;YESXQCHNGX;;INC IF POSITIVEb GXCNEGl #CHNGXv OUTIH:X;!XCNEG.1}"CHNGX;;DEC IF NEGATIVE:X;"X;PAUSE IF KEY HAS BEEN PRESSEDX;PAUSEQCH;;PRESSED??R>FNOPAUSE;;NO, GET .2}OUTQ>;;YES. LOCK PADDLES PLOCKQ>;;RESET CH, ANDPCH;;WAIT FOR ANOTHER!KEYWAITQCH;;WAIT FOR ANOTHER R>.3};;KEY TO BE PRESSED FKEYWAIT Q>;;UNLOCK PADDLES* PLOCK4Q>;;AND RESET AGAIN>PCHH NOPAUSE:RX;\'X;DRAW WALL.4} FOR PRACTICE & WALL BALLfX;pWALLQ>4SCRNMEMzPGPNTR;;POINT TO SCREENQ>5SCRNMEM;;MEMORY PGPNTR%>.5}$>+!WLPQ>;;COLOR 2 FOR VERTICAL P@GPNTR7,;;ADD TO POINTER QGPNTRO> PGPNTR DWLP2 #GPNTRW.6}LP20;;DO IT 43 TIMESHWLP:X;$X;CLEAR ALL SCREEN MEMORY.X;8CLEARALLQ>4SCORELINEBPGPNTR;;SET POINTERLQ>5.7}SCORELINEV PGPNTR`$>;;AND DO 6 PAGESjQ>t?~CLRLPP@GPNTR73 HCLRLP #GPNTR0 HCLRLP:X;.8}X;#X;VERTICAL BLANK ROUTINE TO MOVEX;PADDLES AND DO SOUNDSX;VBIQ>;;IS START PRESSED?? PCONSOL  QCONSOL.9}R>HCHKLOCK;;NO.(!!WRMVEC;;YES. DO A WARM START2X;<'CHKLOCKQLOCK;;ARE PADDLES LOCKED??FFVBICONT;;NO.P!XITV.:}BV;;YES, GET OUTZX;dVBICONTQPADDL0;;Gn%>x SCALEPAD;;SCALE IT PROPERLYPTEMPY;;AND SAVE+QNUMPD1;;NUMBER OF .;}PADDLES FOR PLAYER 1 PNPDTMPPD1DR"NPDTMPQNPDTMP;;MORE PADDLES??GNOPD1;;NO %YP1;;YES ERAPAD;;ERASE PADD.<}LE 1%NPDTMP;;FIND X POSITION $XP18%TEMPY;;Y POSITION QNPDTMP DRAWPAD;;AND DRAW IT!PD1DR;;DO MOREX;.=} NOPD1QTEMPY;;PUT Y IN PLACE"PYP1,QPADDL0;;AND DO PLAYER 26%>@ SCALEPAD;;SCALE ITJ PTEMPYTQNUMPD2;;SAM.>}E LOGIC^PNPDTMP;;AS BEFOREhPD2DR"NPDTMPr QNPDTMP| GNOPD2,;;EXCEPT, WE MUSTO>;;LET IT KNOW WHO'S%YP2;;P.?}ADDLE TO ERASE ERAPAD %NPDTMP $XP28 %TEMPY, QNPDTMPO>;;AND TO DRAW DRAWPAD !PD2DRX;NOPD.@}2QTEMPYPYP2QVOL;;AND SOUNDS??&FNOVOLDEC;;NO0"VOL;;YES, DEC IT:NOVOLDECQVOL;;GET VOLUMEDL>;;WITH NO DIS.A}TORTIONNPAUDC1;;AND STOREXQNOTE;;GET NOTEbPAUDF1;;AND STORElQALTFL;;IF ALTERNATING,vFOUTVBI;;MAKE ONEQALTF.B}L;;PLAYER BRIGHTERM>;;THAN THE OTHER>Q>PADCLR PPCOLR09PPCOLR09QALTFL;;LOOKS TRICKIERN>;;THA.C}N IT IS HEREM>;;I'M JUST>;;FINDING PLAYER TOQ>PADCLR;;MAKE DARKER PPCOLR09PPCOLR09OUTVBI!XITVBV;;E.D}ND OF VBI X;X;BUILD A DISPLAY LIST X;*$DLBUILDQ> ;;GRAPHICS 5 IN BASIC4$>*;;42 MODE LINES>DLLPPDLMAIN9H0R.E} IDLLP\Q>A;;JVB INSTfPDLMAIN+p Q>4DLISTzPDLMAIN, Q>5DLISTPDLMAIN-:X;!X;SCALE PADDLE INPUT TO.F} PM LOCX;SCALEPADV?;;DIVIDE BY TWO;;;AND TAKE AWAY 7S>;;TO CENTER.GLOR>;;NOW CHECK LOWER ECHECKHI.G} LOQ>HAOKX;CHECKHIR>f;;TOO BIG?$ DAOK;;NO..Q>e;;YES. USE 1018AOK:BX;LX;ERASE A PADDLEVX;` ERA.H}PAD5j'TEMP2;;SAVE YtQ>4PLR0;;GET LOW MEMORY~PGPNTR;;FOR PLAYERS Q>5PLR0 PGPNTR7;;GET PLAYER NUMBER P.I}LPNTR;;AND ADD TO POINTER%TEMP2;GET Y BACK$> Q>"ERALPP@GPNTR7;;AND STICK SOME3;;ZEROES IN0;;SOMEWHERE.J} IERALP:X; .X;ADJUST POINTER ACCORDING TO PLAYER NUMBERX; PLPNTR?(ADDLP1;;GET OUT WHEN WE2GOUTPLP;;GET T.K}O ZERO<,;;ADD 128 FOR EACHFQGPNTR;;PLAYERPO>Z PGPNTRd DADDLPn #GPNTRx !ADDLP OUTPLP:X;X;DRAW PAD.L}DLEX;!DRAWPAD'TEMP2;;DO SAME STUFF5;;AS IN ERASE,?A PHPOSP08 Q>4PLR0 PGPNTR Q>5PLR0 PGPNTR.M}7 PLPNTR$> "Q>,%TEMP2;;(INSTEAD OF 0)6DRLPP@GPNTR7@3J0T IDRLP^:hX;rX;DRAW TOP AND BOTTOM|X.N};SETSCRNQ>U;;USE COLOR 1$>;;20 BYTES (0-19)#SETLP1PSCRNMEM9;;PUT ON SCREENPSCRNMEM\90 ISETLP1:.O}X;'X;INITIALIZE PLAYER-MISSILE GRAPHICSX;PMINITQ>PMB;;TELL IT WHATPPMBASE;;MEMORY TO USEQ>.;;AND DOUBLE-L.P}INE PSDMCTL;;RESOLUTION ZPMS Q>;;PLAYERS AND MISSILES& PGRACTL0 Q>;;SET PRIORITY: PGPRIORD :N X;X ,X;ZERO.Q} PLAYERS, MISSILES, AND X LOCATIONSb X;l ZPMS$> ;;SET X LOCATIONSv Q>;;AND WIDTHS TO ZPMLPPHPOSP09;;ZERO. 0 I.R}ZPMLP Q>PMB PGPNTR Q>;;POINT TO PM PGPNTR;;MEMORY $>;;AND FOUR PAGES ? ZPMEMLPP@GPNTR7;;AND ZERO .S}3;;IT OUT HZPMEMLP #GPNTR!0 ! HZPMEMLP!: !X;*!)X;DRAW PLAYING FIELD ACCORDING TO TYPE4!X;>!*TYPEOK CLEARALL.T};;CLEAR WHAT WAS THEREH! WAIT60R! CLNSCRLN;;AND SCORELINE\!Q>f! PVSCROLp!QTYPE;;GET TYPEz!T?!T?!T?! T?;;*16!.U}>;;AS OFFSET TO TABLE!%>!&PRTYPELPQSTNDRD9;;PRINT GAME TYPE!PSCORELINE8!2!3!)>! HPRTYPELP! ZPMS;;ZERO.V} P/M AREA! SETSCRN;;DO TOP & BOTTOM" MIDLINE;;AND MIDDLE LINE" QTYPE"R>$" FTYPE4."Q>4SCRNMEM8" PMAINWORDB"Q>.W}5SCRNMEML"PMAINWORDV"TYPE4QTYPE;;TYPE * 2 FOR`"T?;;JUMP TABLEj">t"QJMPTAB9;;GET JUMP TABLE~"PJMPVEC;;ENTRIES".X}2" QJMPTAB9"PJMPVEC"!@JMPVEC:;;AND OFF WE GO"X;"X;PRINT TITLE SCREEN"X;"PTITLEQDLIST"L>;;SET HSC.Y}ROL BIT" PDLIST" SETSCRN;;SET TOP AND BOTTOM"Q>4TITLE;;POINT TO TITLE# PGR2WORD # Q>5TITLE#PGR2WORD#$>.Z}n;;FOR 110 CHARACTERS(#Q>2#PHSCROL;;INITIALIZE SCROLL<#PCOUNT;;AND COUNTERF#)TBGLP WAIT60;;SIT AROUND FOR A WHILEP#.[}QPTRIG0;;CHECK FOR TRIGGERZ#MPTRIG0;;PRESSED EITHERd#FOUTPTITLE;;PADDLEn#"COUNT;;COUNTDOWNx#QCOUNT;;WHEN BELOW ZE.\}RO,# IOKCOUNT#Q>;;SET BACK TO 7# PCOUNT##GR2WORD;;AND INCREMENT#HOKCOUNT;;LMS IN D LIST##GR2WORD#OKCOU.]}NTQCOUNT;;SET SCROLL#PHSCROL;;REGISTER#HTBGLP;;IF ZERO,#0;;DEC CHARACTER COUNT# HTBGLP#FPTITLE;;AND REPEAT#X;.^}$OUTPTITLEQ>;;RESET SCROLL$PHSCROL;;RESET POINTER$Q>4SCORELINE"$ PGR2WORD,$Q>5SCORELINE6$PGR2WORD@$ QDLIS._}TJ$M>;;RESET HSCROL BITT$ PDLIST^$:;;AND LEAVEh$X;r$$X;CLEAN SCORE LINE OF ALL GARBAGE|$X;$CLNSCRLNQ>$$>.`}';;20 BYTES WIDE *2$CLNSCRPSCORELINE9$0$ ICLNSCR$:$X;$!X;NEXT ROUTINES SET UP INITIAL$X;CONDITIONS FOR GAME PL.a}AY$X;$X;STANDARD GAME$X;$ STANDARDSUQ>;;EACH GET ONE%PNUMPD1;;PADDLE TO MOVE% PNUMPD2%Q>.;;PUT THEM ON&%P.b}XP1;;OPPOSITE SIDES0%Q>;;OF THE SCREEN:%PXP2D%Q>;;NO ALTERNATIONN% PALTFLX%Q>;;START AT SPEED 1b% PSTRSPDl%&Q>.c};;8 HITS BEFORE SPEED INCREASESv% PMAXHIT%Q>;;ALTERNATE SERVES% PSRVFL%:%X;%X;PRACTICE SET UP%X;%#PRACTICESU.d}Q>;;ONLY ONE PADDLE% PNUMPD1%Q>% PNUMPD2%Q>Z;;NEAR MIDDLE%PXP1%Q>;;START AT ONE& PSTRSPD &Q>;;8 HITS.e}& PMAXHIT &Q>;;NO ALTERNATION*& PALTFL4& WALL;;DRAW A WALL>&Q>;;NO SERVE ALTERNATIONH& PSRVFLR&:\&X;f&X;HOCKEY.f} PONG SET UPp&X;z&"HOCKEYSUQ>;;TWO PADDLES EACH& PNUMPD1& PNUMPD2&Q>,;;ON END&PXP1&Q>;;AND NEAR MIDDLE& P.g}XP1&Q>;;ON END&PXP2&Q>X;;AND NEAR MIDDLE& PXP2&Q>;;START AT ONE& PSTRSPD&Q>;;8 HITS' PMAXHIT'.h}Q>;;NO ALTERNATION' PALTFL$' HOCKSIDES;;DRAW SIDES.'Q>;;ALTERNATE SERVES8' PSRVFLB':L'X;V'X;WALL PONG SET UP`'X.i};j'#WALLBALLSUQ>;;ONE PADDLE EACHt' PNUMPD1~' PNUMPD2'PSTRSPD;;START AT ONE'Q>;;8 HITS' PMAXHIT'Q>Z;;BOTH PA.j}DDLES'PXP1;;NEAR MIDDLE'Q>^'PXP2'Q>;;ALTERNATE HITS' PALTFL' WALL;;DRAW WALL'Q>;;NO ALTERNATING SERVE'.k} PSRVFL(: (X;("X;DRAW PARTIAL SIDES FOR HOCKEY(X;((HOCKSIDESQ>4SCRNMEM2(PGPNTR;;POINT TO SCREEN<(Q>5SCRNMEM.l}F( PGPNTRP($> ;;NINE MODE LINESZ( TOPLP%>d(Q>;;IN COLOR 1n( P@GPNTR7x(%>;;ON BOTH ENDS(Q>;;OF SCREEN( .m}P@GPNTR7(,(QGPNTR;;ADD SIZE OF(O>;;ONE LINE( PGPNTR( DTOPLP1( #GPNTR( TOPLP10(ITOPLP;;DONE WITH TOP H.n}ALF(,( QGPNTR(O>;;SKIP A BUNCH OF)PGPNTR;;MODE LINES) QGPNTR)O>") PGPNTR,)$> 6)BOTLP%>;;AND DO .o}SIDES@)Q>;;ON BOTTOM HALFJ) P@GPNTR7T)%>^)Q>h) P@GPNTR7r),|) QGPNTR)O>) PGPNTR) DBOTLP1) #GPNTR) .p}BOTLP10) IBOTLP):)X;)X;GET TOP HALF OF BCD NUMBER)X;)TOPHALFV?;;DIVIDE BY 16)V?)V?*V?*"FTOPZERO;;IF ZERO.q}, LEAVE BLANK* L>;;IF NOT, MAKE IT NUMERIC&* TOPZERO:0*X;:*"X;GET BOTTOM HALF OF BCD NUMBERD*X;N*BOTHALFM>X*L>b*.r}:l*X;v*X;LET PLAYER CHOSE GAME*X;*!SETUPQPTRIG0;;IF EITHER TRIG* MPTRIG0;;IS PRESSED, WAIT* FSETUP*Q>;;INI.s}TIALIZE* PTYPE* PSRVDR* TYPEOK*Q>;;SET ENDING SCORE* PTOPSCR*STARTOVERQ>;;WAIT FOR THE*PJIFCNT;;PADDLE T.t}O GO*PLOCK;;IN 1 DIRECTION+ WAIT60 +Q>;;FOR A WHILE+ PLOCK +CHECKMOREQPADDL0*+ PLASTPAD4+,>+QRTCLOK;;CHECK .u}PADDLEH+O>;;EVERY THIRDR+PCOUNT;;JIFFY\+WAIT03 WAIT60f+QPTRIG0;;BUT CONSTANTLYp+MPTRIG0;;CHECK PADDLEz+FTYPE.v}CHOSEN;;BUTTONS+ QCOUNT+ RRTCLOK+ HWAIT03+ QPADDL0+ RLASTPAD+FCHECKMORE+ ECNTDN+"QJIFCNT;;IF DIRECTION CHANG.w}ED,+GSTARTOVER;;TRY AGAIN+#JIFCNT;;ADD TO COUNTER+ QJIFCNT+R>;;IS IT 3?+HCHECKMORE;;NO. WAIT,FINCTYPE;;CHAN.x}GE GAME TYPE,X;, CNTDN"JIFCNT;;DECR. COUNTER$, QJIFCNT.,ISTARTOVER8,R>;;IS IT -3?B,HCHECKMORE;;NO. WAIT.L,"TYP.y}E;;CHANGE GAME TYPEV, QTYPE`,ITYPECONT01j,Q>t, PTYPE~,&TYPECONT01 LASTTYPE;;SET UP TYPES, SCROLLDN;;SCROLL DOWN,.z}!TYPECONT;;GO BACK FOR MORE,X;,!INCTYPE#TYPE;;INCR GAME TYPE, QTYPE,R>,HTYPECONT02,Q>, PTYPE,&TYPECON.{}T02 NEXTTYPE;;SET UP TYPES, SCROLLUP;;AND SCROLL UP,TYPECONT$>;;RESET PADDLE-Q>PADCLR;;COLORS -PDCOLRLPPPCOLR0.|}9-0- IPDCOLRLP(- TYPEOK;;SET UP GAME SCREEN2-!STARTOVER;;AND GO BACKE<-X;F- TYPECHOSENQPTRIG0;;WAIT FORP-MPTRIG0.}};;TRIG RELEASEZ-FTYPECHOSENd-Q>n- PCOUNTx-:-X;-!NEXTTYPEQTYPE;;PUT NEXT TYPE-T?;;TITLE IN-T?;;SECOND LINE .~}OF- T?;;MEMORY-T?->-%>-PRTYPELP2QSTNDRD9-PSCORELINE8-2-3-)>.HPRTYPELP2.:.X;".X;SCROLL TWO .}MEMORY LINES UP,.X;6.SCROLLUPQ>@. PCOUNTJ.SCRLUPLPQCOUNTT. PVSCROL^. WAIT60h. #COUNTr. QCOUNT|.R>;;16 TIMES.}. HSCRLUPLP.:.X;.!X;SCROLL TWO MEMORY LINES DOWN.X;.SCROLLDNQ>. PCOUNT.SCRLDNLPQCOUNT. PVSCROL. WAIT6.}0. "COUNT. QCOUNT. ISCRLDNLP/:/X;/ X;MOVE CURRENT TYPE TO SECOND&/ X;LINE, AND NEW TYPE TO FIRST0/X;:/LASTTYPEQ.}TYPED/T?N/T?X/T?b/T?l/>v/%>/&LASTTYPELPQSCORELINE8;;1ST TO 2ND/PSCORELINE8/QSTNDRD9;;NEW TO 1ST/PSCOR.}ELINE8/2/3/)>/HLASTTYPELP/:/X;/ X;/X;/!XP1 =;;PADDLE X POSITIONS0 XP2 = 0YP1 ;;PADDL.}E Y POSITIONS0 YP2  0BALLX ;;BALL X POS*0BALLY ;;BALL Y POS40CHNGX ;;BALL X CHANGE>0CHNGY ;;BALL Y CHANGE.}H0TOPSCR ;;ENDING SCORER0HITS ;;NUMBER OF HITS\0,MAXHIT ;;# OF HITS BEFORE SPEED CHANGEf0STRSPD ;;STARTING SPE.}EDp04CHNGTAB ===========z0 NUMPD1 ;;NUMBER OF PADDLES0NUMPD2 ;;ON EACH SIDE0 NPDTMP .};;TEMP # OF PADDLES0MISPL ;;COLLISION REG0MISPF ;;HOLDERS0gTITLE A P O N G .} ٠٠נƠŠԠŠA01 A for analog computing A0WINNER AWINNERA0%COLORS.} ======= =08JMPTAB STANDARDSU=HOCKEYSU=WALLBALLSU=PRACTICESU0SRVFL ;;SERVE FLAG0ALTFL ;;ALTE.}RNATE HITS0LASTPAD ;;PADDLE VALUE0JIFCNT ;;JIFFY COUNTER1STNDRD A STANDARD PONGA1 A HOCKEY PONG A1 A.} WALL PONG A$1 A PRACTICE A.1X;81X;٠ԠB1X;L1DLIST p=p=p=gV1GR2WORD SCORELINE`1 .}=Jj1MAINWORD SCRNMEMt1 DLMAIN.~1SCORELINE(1SCRNMEMp1X;11 START1=gV1GR2WORD SCORELINE`1 ,_12`vDSDATHEXLINDATLIDDBYTPASCHKSUTOTAIN@2} *** UNICHECK ***I @ 1(MAKE CASSETTE (0), OR DISK (1)52}I!@@ C BC0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,10,11,12,13,14,15(r;@,9@",/-2}@"3"<68,-@ L6-A V#A` A r( CHECKING DATA286-%@(LINE:!"8B:,@2}A <F%6-F:A,%F:A,$AV+C(LINE  MISSING!FFq-@@@56-@:7<,,&@2}H[6-@:7%@<%@,,&@Hq6-8,$@%8,P."@*@ $". @PZ% 6-%2}!A %6-&Ad  ""@Pn A x F:A,@A "Ap(2}A`*@A$)*@@<*@A%O*@@b*@ATu*@@P2}@<-@@f**@. 9@<(Ag+("INSERT DISK WITH DOS, PRESS 2}RETURN8;@,<g@@ D:AUTORUN.SYS*@AU)*@AU<*@2}O*@@Hb*@Avu*@@Q A{((READY CASSETTE AND PRESS RETURNH@@2}A(C:R#A0f-@@j"w*@{ M(( WRITING FILE#6-@/6-A 9#A2}C A M @P(BAD DATA: LINE ..0,8,243,47,158,50,169,60,141,2,211,24,96dd000000000E0600000E060E064C2}3E07A00160A20FB5209DD206CA10F8A9018DC20660A20FBDD2069520CA10F860,623ddA5CF8DCE06A5CE8DCF06A5CD8DD00620E206A99BAED106E002F2}014A20B8E4203A2008E48038E49032056E48CC2,922dd0660AEB9069D0001EEB906AEB906E026F004C99BD0EBA20BBDAD069D0003CA10F7A9008DB9062}2059E48CC206A2,164dd27A9209D0001CA10FAA99B8D260160ADF006850AADF106850BADF206850CADF306850D4C74E440015780000105,596dd02}028004E0000204154414400000000010A64011000000001000000000000000000000000000000000000000000,157dd004C00003D5F735D019A0100002}00000000000000000000000000000000000020FFFFD8ADEC068DE7028580ADED,971$dd068DE8028581ADF406850AADF506850BA000B91A03C900F005C2}8C8C8D0F4A900991B03A906991C03A955991A03,767.dd4C00A008201206A9008DCD0685CD85CE85CF85D085D1A9028DC1068DCC06A5218DD106D00C082}201206ADCC06D0,5798dd03202D0620220628ACC206600885D485D5201206A9008DBF068DC006A202D8A5D5DDC306901D38FDC30685D5F8,303BddA2}DBF06187DC6068DBF06ADC0067DC9068DC0061890DBCA10D8AECC06F020A5D4204106A5D4C920D015A9008DCC,716Ldd06A90485CCA6CCBDBA062041062}C6CC10F4AEC106F8ADBF061865D085D0A5D16DC006290F85D1CAD0ECEEC106AD,748VddC106C904D005A9018DC106A5D4C99BF00820220628ACC20660A2}5D01865CD85CDA5D165CE85CEA5CF690085CFD8,530`ddA9008DCE06A5D18DCF06A5D08DD00620E206A92C204106A90085D085D1A9028DC106EECD06AD2}CD06C90FD0B820,924jdd2D06A90085CD85CE85CF8DCD06A9018DCC06D0A3A90085CB85CCA4CCB9CE064A4A4A4AD004A6CBF007E6CB0930,626tdd22}04106A4CCB9CE06290FD008C002F004A6CBF007E6CB0930204106E6CCA5CCC903D0CA60A9018509A90685CEA9,921~dd3085CCA90085CB85CD8D4402A82}B1CB91CD88D0F9ADE70285CDADE80285CEA93185CCA201A000B1CB91CD88D0F9,542ddE6CEE6CCCA10F0ADE70285CD186DE5068D0006ADE80285CE6902}08D0106A5CD186DE6068D0206A5CE69008D0306,642ddA5CD186DE7068D0606A5CE69008D0706A5CD186DE8068DE306A5CE6DE9068DE406A5CD186DEA2}068DEC06A5CE6D,980ddEB068DED06A5CD1869038DEE06A5CE69008DEF06A509C901D030A002A50D8DF30691CD88A50C8DF20691CDA50A,293dd82}DF006A50B8DF106A5CD850CA5CE850DA9968DF406A9068DF5066CEE06A0028409A90691CD88A91191CDA5CD85,908dd02A5CE8503A9718DF406A9E48D2}F5066CEE06000000000000000000000000000000000000000000000000000000,231D:UNICHECK.BAS08dd02A5CE8503A9718DF406A9E48D0[