hN_PLR0HIBYTLOBYTPLRHPLRVPLRVEELASTIBOTTOXPOTIMHORISNDFLAYPOFRMNTEMPMOVEPFRAMEFRAMEMEMFRMSIZFRAMENUMPLRPLRFRMMEFRAMEMEBUFFERPMOVERMFILMFILLBUFFEPMBASSTARVVTOFFSEBYTPARAMBASPMBAPMBUVVBLKCRITICAPPPdD@TB8X@4AAA@D? @ @P @ ?u @`(@B8RB8R@+2@@@@!@!B@8))B@yB @!B6R"A2#BWr$@"%&A$'A$(A%)AH*@f+@,@-@. %%Ǡ̠͠%%堹(bbProgram to demonstrate Player-Missile Graphics with Machine Language routine to move players288Copyright (C) 1982 by David Fox and Mitchell Waite<FK;A(, A@KThis MUST be the first variable in the programPdn*6-P:'AV,*Calculate High Bytex(6-&$AV(Calculate Low Byte$囖&&9@,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+ A+Point PLR0$ to Player 0 RAM$ B$Read frames into RAM* B *Set up parameter addresses"" B0"Turn on interrupts',((  } Ǡ̠Ϡ166-@p6-?@0 Initial velocity: 0  Elasticity: J36-@6-@@'6-?P36-?u& A&Move Player off screen?6-@'6-&+$&@$$,'6-@%!@*!@0%6-@G 6-6-$#6-/6-@;!@G6-@!!!A )@A,8,!8,,6-?:<,;$6.7+&@,$%@<$,;Select correct frame+ 67,.+Move new frame into Player 0 6-%g"*+%!?P,92@AP@@E6-g2@&'!?P6-%?' A@036-&?!)6-@3 Ap:Xb Al&AR&Turn on cursorv"" }Enter initial velocity:  A0J- %Enter the ball's elasticity (a numberJ  from 0-1 [or more]): .AR@  .Turn off cursor B A%%򠰠8,6-?:<,$ " 6-$ 6-$(;A(,;,;, 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 Players AAY@BASet PM 2 line resolution, Players enabled8%A@$@%@8Color ball green-B2w@-Enable Player displayR'6-?:<8,<A<,RUse memory fill routine to clear Players$(#!!Ұ򠰠͛2#B%6-F:A@,%F:AA,$AVBStart of String Array area<#E%6-F:A4,%F:A5,$AVEStart of Variable Value TableF#E6-8,&ECalculate offset from String Array to Player 0P# 6- AZ#C%@CPoke offset of string into Variable Value Tabled#B%@BThis points the first string (PLR0$) to PLR(0)n#$x#'j'-@t'"~'67<,.>:,' '$'* ŠŠӛ*$,Ҡ.,;A,8,mm67@,.ZPLb&0ߝShhhF&B,mm67@,.ZFIT`L*H *hMNNML,67A,.LPP-̠Z-;@A,d-<<67@,.)hhhhhhh̥ͥ`-$--.!!.(6-A$(Parameter Base address.. 6-.Hi Byte of PLR0 Location goes here.06-%@0Address of a 128 byte buffer&/-@0/=68,-%@%=Player horizontal "shadow" registers:/;68,-%@%;Player vertical "shadow" registersb/ /:6-AH:Deferred Vertical Blank Interrupt Vector/6-@fCritical Flag/W6-@6-@'6-@36-@WControl bits for the four Players/D6-?:<<@<,DIMPORTANT: Clear out parameter area/H6-8, A"HPoke Hi Byte of Player 0 into PMBAS/2 6- A2Poke address of buffer/%@0$0226@6Open CRITICAL "valve", set up detour36-%@ A"3' 'Set VBLANK vector to PMOVER,3%@r3;;Close CRITICAL "valve", routine installed3$3 NŠ>NHN55Number of Frames, Frame Size, Number of PlayersRN. (Bouncing Ball)\N 3,7,1R""R Frame 1R0,60,126,126,126,60,0&R Frame 20R24,60,60,60,60,60,24:R Frame 3DR0,0,0,126,255,126,0 D:EX9.BAS