Home » Personal collection » Commodore disks » disk32a_commodore_disk_user_3_7.d64 » hires animator
hires animator
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Commodore disks » disk32a_commodore_disk_user_3_7.d64 |
Filename: | hires animator |
Read OK: | ✔ |
File size: | 0ECE bytes |
Load address: | 0801 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Arnold website » magazines_cdu » magazines_cdu_cdu307_cdu307.d64 » hires animator
- Personal collection » Commodore disks » disk32a_commodore_disk_user_3_7.d64 » hires animator
File contents
10 IFA>0THEN40 20 POKE55,255:POKE56,63:POKE51,255:POKE52,63:CLR 30 A=A+1:PRINT"LOADING SPRITES":LOAD"SPRITE FILE 1",8,1 40 IFA>1THEN60 50 A=A+1:PRINT"LOADING M/CODE ":LOAD"ANIMATE.MC",8,1 60 IFA>2THEN90 70 SYS 50222:REM CLEAR BIT MAP MEMORY AND HIRES CHARACTER MEMORY 80 A=A+1:PRINT"LOADING HIRES CH":LOAD"TEST1 .ANM",8,1 90 GOSUB 820:REM VARIABLES 100 SYSCLS:SYSCMEM:SYSSBANK:SYSSCHBASE 110 POKE53265,PEEK(53265)OR32:REM HIRES BIT MAP MODE 120 IFPEEK(MULTI)=1THENPOKE53270,PEEK(53270)OR16:REM MULTICOLOUR 130 POKE24568,0:POKE24569,8:REM SPRITE POINTERS 140 POKE53276,PEEK(53276)OR3:REM MULTI COLOUR SPRITE 150 POKE53287,10:POKE53285,12:POKE53286,5:POKE53288,0:REM SPRITE COLOUR 160 POKE53248,100:POKE53249,50:REM X,Y CO-ORDINATES 170 POKE53264,PEEK(53264)OR1:REM MSB OF SPRITE 0 180 POKE53269,PEEK(53269)OR3:REM SWITCH ON SPRITES 190 SYSINIT:REM SET UP HIRES FIGURE ON SCREEN 200 SC=0:DB=0 210 POKEMODE,108:SYSANIM 220 REM MAIN LOOP 230 FORN=0TO320 240 SX=SX-1 250 IF SX<0AND(PEEK(53264)AND1)=1THENGOSUB760 260 IF SX=0AND(PEEK(53264)AND1)=0THENSX=100:POKE53264,1 270 IF DB=0THENSC=SC+1 280 IF DB=1THENSC=SC-1 290 IF SC=0THENDB=0 300 IF SC=7THENDB=1 310 POKE53248,SX:POKE24568,SC 320 NEXTN 330 POKE53269,0:SYSAOFF 340 POKECB,96:POKECT,128:SYSWIPE 350 POKE MULTI,1:POKEABASE,0:POKEABASE+1,96 360 K=60 370 X=1/π:P=0 380 A=1/SQR(5) 390 FORN=1 TO 1000 400 Y=X-.5:X=X+A-INT(X+A) 410 P=P-Y 420 XX=X*319:YY=100-P*K:CC=INT(RND(1)*3+1) 430 XX=2*INT(XX/2):XH=INT(XX/256):XL=XX-(XH*256) 440 POKECOLOUR,CC:POKEHX,XL:POKEHX+1,XH:POKEHY,YY 450 SYSPLOT 460 NEXTN 470 POKE MODE,96 480 GOSUB670:PV=1:POKEPAUSE,PV:POKEYD,0 490 X1=(PEEK(PX)*8)+60:Y1=150:POKE53250,X1:POKE53251,Y1 500 SX=100:POKE53264,1:POKE53248,SX:POKE53249,120:POKE53269,3 510 SYSNANIM 520 SX=SX-1 530 IF SX<0AND(PEEK(53264)AND1)=1THENGOSUB760 540 IF SX=0AND(PEEK(53264)AND1)=0THENSX=100:POKE53264,1 550 IF DB=0THENSC=SC+1 560 IF DB=1THENSC=SC-1 570 IF SC=0THENDB=0 580 IF SC=7THENDB=1 590 IFPEEK(FIRE)=1THEN650 600 POKE53248,SX:POKE24568,SC 610 X1=(PEEK(PX)*8)+60 620 IFX1>255THENX1=X1-255:POKE53264,PEEK(53264)OR2:POKE53250,X1:GOTO640 630 IFX1<255THENPOKE53264,PEEK(53264)AND253:POKE53250,X1 640 GOTO510 650 POKE53269,0 660 END 670 REM INITIALISE CHARACTER ROUTINE 680 POKE MVE,0:POKE RILE,0 690 X=8:Y=8:REM COORDINATES (IN CHARACTER BLOCKS) OF START POSITION. 700 POKEPX,X:POKEPY,Y 710 SS=24576+(320*Y):POKEHL,INT(SS/256):POKELL,SS-(PEEK(HL)*256):REM EXTREME LHS 720 POKEHR,INT((SS+240)/256):POKELR,(SS+240)-(PEEK(HR)*256):REM EXTREME RHS 730 SS=SS+(8*X):POKESVLUE+1,INT(SS/256):POKESVLUE,SS-(INT(SS/256)*256) 740 SYS AER 750 RETURN 760 REM MSB OFF 770 SX=255:POKE53264,PEEK(53264)AND 254 780 RETURN 790 REM MSB ON 800 SX(0)=0:POKE53264,PEEK(53264)OR1 810 RETURN 820 REM INITIALISE VARIABLES 830 SBANK=49205:REM SET BANK 840 SCHBASE=49224:REM SET CHAR.BASE 850 RILE=49916:REM MOVING L-R OR R-L 860 MVE=49917:REM CHARACTER MOVE 870 MULTI=49152:REM MULTI COLOUR MODE 880 INIT=49362:REM INITIALISE HIRES CHARACTER ROUTINE 890 ANIM=49450:REM ANIMATION ROUTINE 900 PAUSE=50192:REM SLOW ROUTINE VALUE LOCATION 910 CLS=49235:REM SET COLOUR MEMORY 920 CMEM=49246:REM CLEAR MEMORY(COLOUR)LOCATION 930 DX=49359:REM DIRECTION OF X JOYSTICK 940 DY=49360:REM DIRECTION OF Y JOYSTICK 950 FIRE=49361:REM FIRE BUTTON PRESSED 960 LL=49918:REM LEFT HAND SIDE LO.BYTE 970 LR=49920:REM RIGHT HAND SIDE LO.BYTE 980 HL=49919:REM LEFT HAND SIDE HI.BYTE 990 HR=49921:REM RIGHT HAND SIDE HI.BYTE 1000 PV=16:REM PAUSE VALUE 1010 CB=254:REM BOTTOM OF MEMORY CLEAR VECTOR HI BYTE 1020 CT=50236:REM TOP OF MEMORY HI BYTE 1030 PX=49924:REM POSITION OF X 1040 PY=49925:REM POSITION OF Y 1050 YD=49926:REM SWITCH ON MOVEMENT IN Y AXIS 1060 POKEYD,1 1070 ABASE=51290:REM HIRES SCREEN VECTOR 1080 ERASE=50981:REM ERASE HIRES PIXEL 1090 COLOUR=50982:REM MULTI COLOUR COLOUR 1100 HX=50983:REM HIRES PIXEL X 1110 HY=50985:REM HIRES PIXEL Y 1120 PLOT=50901:REM PLOT HIRES PIXEL 1130 WIPE=49297:REM CLEAR HIRES MEMORY 1140 AOFF=49475:REM SWITCH OFF INTERRUPT DRIVEN CHARACTER 1150 NANIM=49490:REM NON INTERRUPT DRIVEN HIRES CHARACTER 1160 MODE=49711:REM POKEMODE,108 BEFORE USING INTERRUPT CHARACTER OTHERWISE 96 1170 ALOOP=49837:REM ROUTINE TO EX-OR 80*96 PIXEL BLOCK OF MEMORY 1180 ASTE=49890:REM ROUTINE TO STORE START VARIABLES OF BLOCK MOVE 1190 AER=49714:REM ROUTINE TO SET STANDING FIGURE 1200 SVLUE=49912:REM SCREEN POSITION OF CHARACTER. 1210 RETURN
�A�0�40 1 �55,255:�56,63:�51,255:�52,63:� c A�A�1:�"LOADING SPRITES":�"SPRITE FILE 1",8,1 o( �A�1�60 �2 A�A�1:�"LOADING M/CODE ":�"ANIMATE.MC",8,1 �<