-(-HIBYTLOBYTPLRHPLRVPLRRATEPMWIDTHFRMLSTPTRMOVERATESPEETEMPMOVEALLINITANIMATSNSNDSCONVVOWALINITAUTOMOVFST2BYTMFILFLAOBJECLST2NSPFRSTPLNUMPLRSPOINTEROBJFRMDATAFRAMESFRMSIZEPLRFRMMEMFRMLSTSIZETEMPTEMPTEMPFRAMEMETOTFRMLSTSIZBUFFERFRAMEMEMFRMLSTMEMPMOVERANIMATANIMATEAUTOMOVAUTOMOVEMFILLBUFFEPLRFRAMEFRMLSTMEPMBASOFFSEOFFSETFRAMELISTPARAMBASPMBAPMBUVVBLKCRITICAPPPP@@@@@@@  @!@"#@$@%@&@'@()*+,-./0123456789:;<@=>?@ABCDEFGH $$ҠĠϠ$$報(BBProgram using all four Players to create animated foreground288Copyright (C) 1982 by David Fox and Mitchell Waite<F A@Pdn*6-P:'AV,*Calculate High Bytex(6-&$AV(Calculate Low Byte$囖RR9@,9@,9@,9@,9@,9@,9@,Y +@AR@8 One moment please...YTurn off cursor, print message* B*Initialize Routine strings' AP'Set up memory locations" Ap"Set up Player area$ B$Read frames into RAM* B *Set up parameter addresses"" B0"Turn on interrupts,** "}ҠĠϠ6G-@&8,@* GFrame rate for walking man@/6-6@/Temporary start up conditionJ A AT6-@^6-?:<,h r A|5#@@K:5ATAU36-O:F:Ad,&A(,+6-'@36-%K6-+A(&,'@ 52@@K2@@+!!6-&+@,+ Ap-" 6-?:<,-6-6@hF:A,"@:2@@@\2hFootstepsA+F:Ab,!A)F:Ab, @ 5 APAReset ManK+F:Ad,!A))F:Ae, @5 AKReset other players F:AT,"AUAH)@6-&@H0ATAU< H6- A AXb(6-P:,"(6-@lK6-&?P+2@@A2@@K A vX'6-?:<8@,<AV<,XUse memory fill routine to clear Players 2 & 3M%6-P:H:@,$@%@,MWhich object to display (if possible)(6-(No object selected yetF7AAAAAAC"F$6-?:<, 6"@%6-A(&$@/ A@6Tree/"@6-A%&' A@/Truck6-A2&Car'8@,!8@,'6-D8,A)&18@,A)&>"6@D6-  $ӠҠӛ \%A@$@%@GA@$@%@\Set color to peachB6-6-@% ABPoint to proper Frame List-8,@w-8@,@w"@Ap$c8,@ -8@,@(9!@N8,Ac8@,A&.%%6-P:H:@,$A%@ ,8$BL V"$`f%A@$@%@GA@$@%@fBrown trunk and green leavesj-8@,A)-8@,At-8@,@2-8@,@~d6-@6-@% A16-@=6-@G AdPoint to proper Frame List-8@,-8@,@6-$ 뛺U%A@$@%@UAP:H:@,$@,$@%@-8@,A-8@,A3-8@,@W-8@,@WB6-@6-@% ABPoint to proper Frame List-8@,@-8@,@6-@6-A$ "@$(o6-P:H:@,$@,G6-@&P:H:@,$@,$@W6-$@%cAoA2-8@,-8@,@<9!@$8@,A98@,A2F-8@,@v-8@,@vPB6-@6-@% ABPoint to proper Frame ListZ-8@,@-8@,@d6-@6-@@n$x++-8,&@6-8<, A8%,8%,%@ $""-9<@,-9,9,9,9,9,-@ " 68,-68,-68,-68,-8,$8,%@6-%8,$8, 68,-8,%@6-%8,$8, (;A(,;,;, 6-C:, 6-C:, 6-C:, 6-C:, 6-C:, 6-C:, 6-C:,$X((b:6-F:A,&@:Set aside Player-Missile areal,BBy,Tell ANTIC where PM RAM isv(6-AV$(Find PM Base address-@968,-%A($%A9Set addresses of Players568,-B2V%5Set addresses of Player Widths AAY@BASet PM 2 line resolution, Players enabled7A#@7Set priority - Players in front-B2w@-Enable Player displayR'6-?:<8,<A<,RUse memory fill routine to clear Players$''"6-6-"9,$'-@.'68,-%8'6-%+8,%@,$8,B'-8,&@L'068<,-%0Store addresses of frame dataV'6-%8,`'J8<,8,JPoke Frame size at beginning of each set of frame dataj'-@8,&@t'"~'8<,%'   '$'* ŠŠӛ*$,Ҡ.,;A,8,mm67@,.ZPLb&0ߝShhhF&B,mm67@,.ZFIT`L*H *hMNNML,67A,.LP,Š囒,;A,,mm67@,.ZPLbآY0H PN򩀍+. 23P0ֽ:,mm67@,.Z>ɩ. %:IX.: 23>>,mm67A,.Z >PPPHȱh∱QNPmQJnRR8eeP*RR,++67Aq,.QP..P,Š,;@t,-]]67@,.JPLbح0N G𩀍GI}&(0 (G&0P-̠Z-;@A,d-<<67@,.)hhhhhhh̥ͥ`-$--.!!.(6-A$(Parameter Base address.. 6-.Hi Byte of PLR0 Location goes here.06-%@0Address of a 128 byte buffer/46-%@4Initialize Frame Animate routine/66-%@6Initialize Player Automove routine&/-@0/=68,-%@%=Player horizontal "shadow" registers:/;68,-%@%;Player vertical "shadow" registersD/868,-%@%8Animate rate "shadow" registersN/768,-%@%$@7Pointer to Frame ListsX/968,-%@2%9Horizontal movement for AUTOMOVEb/ /:6-AH:Deferred Vertical Blank Interrupt Vector/6-@fCritical Flag/W6-@6-@'6-@36-@WControl bits for the four Players/ 6-%/ 6-%6-%%%/D6-?:<<@<,DIMPORTANT: Clear out parameter area/H6-8, A"HPoke Hi Byte of Player 0 into PMBAS/2 6- A2Poke address of buffer/%@f0p0z09<@,0-@0-8,&@0=8<,-8,%$8,=Points to start of each Frame List06-8<, A0-8<,-Put in address of Frame Data08<,%@0C-@8,CMake up a Frame List (numbers 1 thru FRAMES)08<,%%@0 0NHN55Number of Frames, Frame Size, Number of PlayersRN. (Walking Man)\N 5,19,2fN. (Tree Trunk)pN 1,52,1zN. (Tree Top)N 1,26,1N. (Truck)N 1,25,2N. (Car)N 1,13,2NR RFrame 1, Player 0R770,0,0,0,0,0,0,3,15,29,59,51,7,7,15,252,224,112,48&RFrame 2, Player 00R990,0,0,0,0,0,0,1,7,15,31,55,55,7,111,125,248,192,193:RFrame 3, Player 0DR;;0,0,0,0,0,0,3,7,15,31,31,31,31,222,254,251,231,206,15NRFrame 4, Player 0XR==1,3,3,3,1,7,15,31,30,62,62,63,63,60,124,120,112,112,252bRFrame 5, Player 0lR::0,0,1,1,1,0,7,31,31,31,31,31,15,15,13,31,123,112,124vRFrame 1, Player 1RHH0,28,62,62,62,28,240,240,240,240,251,255,220,192,192,227,118,60,24RFrame 2, Player 1RKK0,0,56,124,124,124,56,224,224,224,224,246,254,192,128,192,224,224,248RFrame 3, Player 1REE0,112,248,248,248,112,192,192,128,128,128,224,224,0,0,0,0,0,128RFrame 4, Player 1R55192,224,224,224,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0RFrame 5, Player 1RII0,224,240,240,240,224,128,128,128,128,176,240,0,128,192,128,192,0,0RUUPlayer 2, Tree TrunkVNN2,2,132,128,64,0,149,165,210,211,219,251,255,254,126,126,126,126,126,126VUU126,126,126,126,126,126,126,126,126,122,126,126,126,126,126,126,126,126,126,126V55126,126,126,126,126,126,126,126,255,255,219,137"VPlayer 3, Tree Top,VQQ24,24,60,60,126,126,126,255,255,255,255,255,255,255,255,255,255,255,255,1266V126,60,60,60,24,24@VTV^VPlayer 2, Truck CabhVBB0,0,0,0,0,15,25,17,17,17,17,17,31,31,255,255,255,255,255,255rV255,255,255,28,28|VPlayer 3, Truck BodyVUU255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255V255,255,255,12,12VVVPlayer 2, Car backV..7,9,17,17,17,31,63,127,255,255,255,56,16VPlayer 3, Car frontV22192,64,32,32,16,248,255,255,255,254,255,28,8 D:EX12.BAS