ÀÁÙÊ/Û/N±N´N25¶NMB¤NA¤QT0¨RTN0¨QT1¨RTN1¨ÁÂÃÄØÆN°LINÅÌÈÇNMÂRAÍNPÌRÓSZ°SZ±HZST°HZST±LFL°RTL°LFL±RTL±HÖLÖSTV°STV±LL°UPL°LL±UPL±C°C±CÂPÆPÒPMSÔSPÄPÇPÂP0¤P1¤ÙÚÅRMTÐOFÓPMÂPL°PL±REGISTEÒÐPL0ÌPL0ÈPL1ÌPL1ÈXØYÙ@@AV  AA/AMAk @6 A– AH @p @ !"#$%&'()*+,-./0€1€23456789:;<=>?@ABppÐÍ ÍÏÖÅÒ âù Æòåä Ðéîèﬠæòïí Äåã ¸³ ÁÎÔÉàÍá笠𶶮 This program writes a complete subroutine for moving 1›ffor 2 players via machine lang. NOTE: Your players MUST be designed prior to using this utility.› U +@A@61A A–=6€-@I6-@U6‚-AV//ƒ;@,„;@,…9,†9,‡9,ˆ9,H -#(@ ðLaÙåR mÏöEr/-@ H(@ ðReÓó sÔáRt<o6‰-F:A,!6Š-F:A,06‹-F:A ,?6Œ-F:A,KAŒWA‰cA ŠoA‹F3-€@ &F:B2y,"@)'3 @P  @`ZEA@@'A A-6Ž-A@K:E+dM(×ÅÌÃÏÍÅ ÔÏ ÐÍ ÍÏÖÅÒ¡6(A SERIES OF QUESTIONSM(WILL BE DISPLAYED.n:"(EACH QUESTION WILL REQUIRE:(A NUMERICAL ANSWER.x])(!INDICATE CHOICE BY TYPING DIGITS.K(TYPE RETURN ONLY AFTER NUMBER]( IS COMPLETED.‚P)(!YOU CAN ABORT NUMBER AT ANY TIME,P("ÐÒÉÏÒ TO RETURN,BY TYPING A SPACE.Œ"("(ÐÒÅÓÓ ÓÔÁÒÔ ×ÈÅΠÒÅÁÄÙ®–:B2y@*F:B2y,"@0(}: Ap  APªS A`1(INDICATE GRAPHICS MODE FOR YOURS(PROGRAM! ANY MODE EXCEPT 10.¯Q6-Ap6‘-!6’-@+ Ap16“-”=”"@G AQ Ap´c A`/(INDICATE RAM IN YOUR MACHINE.<(TYPE 1-4I( (1)16KV( (2)24Kc( (3)32K¾B( (4)40-48K(?&6-A€,6‘-€26’-< ApB6•-”È` A`4(!CHOOSE NUMBER OF PLAYERS(1 OR 2)!@6-AF6‘-€N6’-€%€X Ap`6–-”&€Òf A`4("DO YOU WISH SINGLE(1) OR DOUBLE(2)J(LINE RESOLUTION?V6-A` Apf6—-”× A`Ü}'(CHOOSE PLAYER ZERO SIZE(0,1,3)!4(NORMAL=0;(?G6-AM6‘-Y6’-@_6Ž-€g6„.2q Apw6˜-”}6Ž-æd– A`5(CHOOSE PLAYER ONE SIZE(0,1,3)!<(?H6-A0N6Ž-€X Ap^6™-”d6Ž-ð` A`4("CHOOSE INITIAL HORIZONTAL POSITIONF( RANGE=0-255.`(VISIBLE LIMITS=48-200úN ( PLAYER ZERO(0-255)?,6-AP26‘->6’-AUH ApN6š-”?–#( PLAYER ONE(0-255)?/6-A`9 Ap?6›-”g A`-(CHOOSE LIMITS ON HORIZONTALC(POSITIONS(0-255)!g(IF CHOOSE 0 AND/OR 255,WILL GET( WRAPAROUND!"O#( PLAYER ZERO LEFT MARGIN?/6-A9 Ap?6œ-”Eœ!šO A ,P$( PLAYER ZERO RIGHT MARGIN?06-A: Ap@6-”F šP A 6R–&( PLAYER ONE LEFT MARGIN?26-A< ApB6ž-”Hž!›R A @S–'( PLAYER ONE RIGHT MARGIN?36-A = ApC6Ÿ-”IŸ ›S A Jg6 -A%+A$+—"€,,;6¡-@%+@$+—"€,,C6‘-€%€]6’-A%%A($+—"€,g A`TU!(INITIAL VERTICAL POSITION5(RANGE=2-’.U(VISIBLE LIMITS=¡- )^F ( PLAYER ZERO(2-’)?,6-AP6 Ap@ ApF6¢-”hI–#( PLAYER ONE(2-’)?/6-A`9 ApC ApI6£-”rC A`+(CHOOSE LIMITS ON VERTICALC( POSITIONS(2-’)!|Y#( PLAYER ZERO LOWER LIMIT?/6-A€9 ApC ApI6¤-”O¤ ¢Y A †Y#( PLAYER ZERO UPPER LIMIT?/6-A9 ApC ApI6¥-”O¥!¢Y A \–&( PLAYER ONE LOWER LIMIT?26-A< ApF ApL6¦-”R¦ £\ A šL–&( PLAYER ONE UPPER LIMIT?26-A< ApF ApL6§-”Ÿ– §!£ A ¤Y A`'(CHOOSE PLAYER COLORS.<(HUES ARE ROUGHLYY( 0 BLACK TO WHITE®j( 1-4 REDS+( 5 PURPLE?( 6-10 BLUEST( 11-13 GREENSj( 14-15 ORANGES¸Z(( PLAYER ZERO $ A*6‘-66’-@B6-A@L ApZ6¨-”$@Âf( PLAYER ZERO ! A -6’-@:6„.3579 @6Ž-€L6-APV Ap\6Ž-f A@Ì 6¨-¨%”ÖT–( PLAYER ONE $ A06’-@<6-ApF ApT6©-”$@à\–( PLAYER ONE $ A 06’-@66Ž-€B6-A€L ApR6Ž-\ A@ê 6©-©%”ôt A`*(CHOOSE BACKGROUND COLOR!2( < AH6’-@T6-A\( f Apt6ª-”$@ù#“"@*ª6ª-# A0þM (  A !6’-@'6Ž-€36-A= ApG A@M6Ž-ÿ#“"@ *”6”-# A@ 6ª-ª%” A`u(CHOOSE PLAYFIELD TYPE!-( NARROW=0=( REGULAR=1J( WIDE=2Q(?Y6’-€%€e6-Ao Apu6«-”` A`(9($PRIORITY CHOICES! NOTE THAT PLAYER 0`("ALWAYS HAS PRIORITY OVER PLAYER 1!h(TYPE DESIRED NUMBER.A( ALL PLAYERS OVER PLAYFIELDS(0)h(" PLAYERS 0 & 1 OVER PLAYFIELDS(1)&O(( ALL PLAYFIELDS OVER PLAYERS(2)O(" PLAYFIELDS 0 & 1 OVER PLAYERS(3)0. (?6’-&€6-A0( Ap.6¬-”:_ A`(:(%WHERE DO YOU DESIRE TO STORE PM DATA?_( ABOVE A LOWERED RAMTOP(TYPE 0)D**(" BENEATH THE DISPLAY LIST(TYPE 1)N2 (?6’-@"6-Ap, Ap26­-”Xf A`+(CHOOSE SPEED OF MOVEMENT.D( HALF SPEED(TYPE 0)_( NORMAL SPEED(TYPE 1)f(?b6-A Ap6®-”cm A`.(DO YOU WISH TO STORE THE VBI@( ROUTINE IN A:U( STRING(TYPE 0)m( IN PAGE 6(TYPE 1)d2 (?6‘-6’-€"6-A, Ap26¯-”g A`ll(.(#INDICATE NUMBER OF BYTES IN PLAYER.V(#BOTH PLAYERS MUST HAVE SAME NUMBER.l(MAXIMUM BYTES=10!v8 6‘-€6’-@(?(6-A2 Ap86°-”€±;°,²;°,Š? -6…8,-6‡8,-&6†8,-/6ˆ8,-3 96³-?6´-”l A`(2(TYPE IN DATA FOR PLAYER ZERO.P(START FROM TOP OF PLAYER.V6‘-b6’-AUl Až -€°¨: (?6-A€ Ap$µ,6-&€0 : A ²;”"@46…8³,-%6±7<,. -6³-³%€1 ; A ¼;”"AU6†8´,-%6±7<,. -6´-´%€1 ; A Æ6±7<,.>:”, Ð@– A`(4(TYPE IN DATA FOR PLAYER ONE:6³-@6´-Ú–-€°äA– ((?6-A@' Ap+µ36-&€7 A Auî?–”"@46‡8³,-)6²7<,. 16³-³%€5 ? Auø?–”"AU6ˆ8´,-)6²7<,. 16´-´%€5 ? Au–6²7<,.>:”,  B @+ ( ()(ÌÉÓÔÉÎÇ ÐÌÁÙÅÒ ÍÏÖÅÍÅÎÔ@(ÓÕÂÒÏÕÔÉÎÅ ÔÏ ÄÉÓË=€%D:PM.LST16¶-+%%+•$@,,$=­AP / —"€%6·-%%@$+“!@,/ A *116·-%@$+“"@,%@$+“!@,4UU(€31000 PM=PEEK(106)-·:POKE 106,PM:GR.“:POKE 54279,PM:PMBASE=N256*PM>36¸-+¶&·,$‚)6¹-¸%‚%‚%+A$+—"€,,3 A€H9–%6º-¸%A@%+A@$+—"€,,/ A9 A R —"€%€s6·-@$+“ @,%@$+“"@,%@$+“"@,%@$$+“"@,%@6$+“!@,6¸-+¶&·,$‚\i —"€]6·-@$+“ @,%@$$+“"@,%@2$+“"@,%@@$+“!@,i6¸-+¶&·,$‚f'6¹-¸%‚%‚%+A$+—"€,,' A€p/–%6º-¸%A@%+A@$+—"€,,/ AzII(€ 31000 GR.“:PM=PEEK(106)-·:POKE 54279,PM:PMBASE=N256*PM„mm(€31010 DIM ZERO$(47):ZERO$=>:@4,/hhh…Ìh…Îh…Íh…Ðh…ϥ̦Ð𠠑͈ÐûæÎÊÐö¤ÏˆÀÿð‘ÍÐ÷`>:@4,ŽEE(€ 31020 X=USR(ADR(ZERO$),0,PMBASE,A$%A$$+—"€,)˜%%6»-A&+@$+“")“"%,,¢PP(€31030 POKE 53256,˜ :POKE 53248,š :POKE 704,¨:POKE »,ª¬=–=(€ :POKE 53257,™ :POKE 53249,› :POKE 705,©¶ –"(€ À<<(€31040 DIM P0$(°):P0$=>:@4,±>:@4,Ê…8,"A •Ï(€31043 Ô& -6´-…8,´&(€:Ù)´)(€P0$(´,´ )=CHR$(34)Þ (€ ã†8,"A0è(€31047 í& -6³-†8,³&(€:ò*³*(€P0$(³,³ )=CHR$(155)ü (€ –"A <<(€31050 DIM P1$(°):P1$=>:@4,²>:@4,‡8,"Au(€31053 $& -6´-‡8,´&(€:))´)(€P1$(´,´ )=CHR$(34). (€ 3ˆ8,"A 8(€31057 B& -6³-ˆ8,³&(€:L*³*(€P1$(³,³ )=CHR$(155)V (€ `6¼-‚%‚%+A$+—"€,,%¢j]](€ 31060 FOR X=°&@ TO 0 STEP-1:POKE PMBASE+¼+X,ASC(P0$(X+1,X+1)):NEXT Xt–"Ap~!!6¼-A@%+A@$+—"€,,%£ˆ]](€ 31070 FOR X=°&@ TO 0 STEP-1:POKE PMBASE+¼+X,ASC(P1$(X+1,X+1)):NEXT X’ll(€31080 POKE 203,°%@ :POKE 204,°%@ :POKE 1000,¢ :POKE 1002,½ :POKE 1004,¾œ88(€ :POKE 1006,¥ :POKE 1008,¤ :POKE 1010,œ¦B–B(€31090 POKE 1001,£ :POKE 1003,¿ :POKE 1005,À°<–<(€ :POKE 1007,§ :POKE 1009,¦ :POKE 1011,žº--(€31100 POKE 1012,š :POKE 1014,Ä1–1(€31110 POKE 1013,› :POKE 1015,ŸÎ(€31115 DIM PM$(211)Øuu(€31120 PM$(1,65)=>:@4,A¢½x)Ðð%½x)ÐðW½x)ÐðH½x)Ðð9èàðÐÕLbä½è¨ˆê˜ÝîÏèÈê>:@4,âuu(€31130 PM$(66,128)=>:@4,?½ê…ͽì…α͈ê‘ÍÈÈêÆËó¥Ì…ˬð\±¸ðB½°»½è¨Èê˜Ýð°èÆËÆËÆË>:@4,ìqq(€31140 PM$(129,196)=>:@4,DêêÈÆËÐû¥Ì…˽ê…ͽì…αÍÈê‘͈ˆêÆËó¥Ì…˸¼ôˆê˜Ýò¯ôЦ¼ôÈê˜ÝñV(€>:@4,V(€31142 PM$(197,211)=>:@4,öð°ŸôД>:@4,ö–A##(€31145 PM$(41,41)=CHR$(1) h®h(€Y31147 PM$(54,54)=CHR$(136):PM$(65,65)=CHR$(200):PM$(79,79)=CHR$(136):PM$(84,84)=CHR$(200)Y®Y(€J31148 PM$(113,113)=CHR$(200):PM$(129,129)=CHR$(198):PM$(130,130)=CHR$(203)[®[(€K31149 PM$(153,153)=CHR$(200):PM$(158,158)=CHR$(136):PM$(174,174)=CHR$(136):%®%(€PM$(194,194)=CHR$(200)#H¯H(€931150 FOR X=0 TO 210:POKE 1536+X,ASC(PM$(X+1,X+1)):NEXT X(HH(€31155 DIM SET$(11):SET$=>:@4, h  ¢ © \ä`>:@4,); ¯";(€*:AD=ADR(PM$):HI=INT(AD/N256):LO=AD-N256*HI*¯(€ -M ¯"M(€<31160 SET$(3,3)=CHR$(LO):SET$(5,5)=CHR$(HI):X=USR(ADR(SET$)).I¯I(€:31160 SET$(3,3)=CHR$(0):SET$(5,5)=CHR$(6):X=USR(ADR(SET$))2_E6¼-@D%+@$+—"€,,%++«",%@$+«"€,%@$+«"€%€,,_(€31190 POKE 559,¼<c56¼-+¬",%@$+¬"€,%$+¬"€%€,%@$+¬"&€,c(€:POKE 623,PEEK(623)+¼ :POKE 53277,3F(€ 32000 RETURNPn€@ A`A(FILE ON DISK IS CALLED 'PM.LST'k(%TO MERGE WITH YOUR PROGRAM,USE ENTER!nZ(6‰-F:@,&A((‰ Ad@‰B7t‰n 6Á-€6ƒ.6µ-x)@‰(>:‰,‚‰"AUApŒL‰"@2(5(ýÁÂÏÒÔÉÎÇ ÎÕÍÂÅÒ®ÃÈÏÏÓÅ ÁÇÁÉή? A0E6µ-€H'L –3‰ @H)‰!@W(& A,6µ-€/'3  ? Ž"€Â-€B:„,"‰"@:„7Â<Â,,%'((2 A86µ-€;'? ª Ž"€ ´#6ƒ7Á<Á,.>:‰,6Á-Á%€# A¾# B:ƒ," A'6µ-€# È- 6”-A:ƒ,” ‘)”!’ A#')6µ-€- Ò ( $Ü;.(&ýÉÎÃÏÒÒÅÃÔ ÒÅÓÐÏÎÓÅ¡ ÐÌÅÁÓÅ ÔÒÙ ÁÇÁÉΡ8 A0;$æ( HUE(0-15)?$ð1( LUMINANCE.( (EVEN NUMBER 0-14)?1$úŒ-€A Œ$4”"€)”"@)”"@' A-6µ-€0'4 $TŠ-@@6€'‹-%6€?2@&‹@ŠC ‹G ŠQ2T$")&6”-+”&+A'%A($+—"€,,,$6€)$,6¾-P:¹'‚,6½-¹&‚$¾$66À-P:º'‚,6¿-º&‚$À$@X(( ýYOU HAVE EXCEEDED THE NUMBER OFF(BYTES ALLOWED WITH VALUESX( OF 155 OR 34!J;%(PLEASE USE A DIFFERENT VALUE!/ A76-&€; Tk%(ýÙÏÕÒ ÍÏÖÅÍÅÎÔ ÌÉÍÉÔÓ ÁÒÅ ÎÏÔO(%ÃÏÍÐÁÔÉÂÌÅ ×ÉÔÈ ÔÈÅ ÉÎÉÔÉÁÌ ÐÏÓÉÔÉÏΡg(ÐÌÅÁÓÅ ÃÈÅÃË ÖÁÌÕÅÓk ^G.(&ýGR.11 NEEDS A BACKGROUND HUE OF ZERO!A(I'VE SET THAT!D(G$hL*("ýGR.9 NEEDS A BACKGROUND LUMINANCEF(OF ZERO! I'VE SET THAT!I(L$€ D:PMMOVER