Home » Personal collection » Commodore disks » disk65a_programs_1.d64 » bounce
bounce
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 » disk65a_programs_1.d64 | 
| Filename: | bounce | 
| Read OK: | ✔ | 
| File size: | 067F bytes | 
| Load address: | 0801 | 
| Exec address: | 0000 | 
File contents
     1 REM *******************
     2 REM *     BOUNCE      *
     3 REM *******************
     4 REM * BY DOMINIC FORD *
     5 REM *******************
     6 REM *  1ST JUNE 1993  *
     7 REM *******************
     8 REM
    10 PRINTCHR$(147);CHR$(30);:POKE53280,9:POKE53281,0:POKE56295,5:SP=-1
    20 FORR=1TO199:PRINT"WOOZY";:NEXT:PRINT"WOOZ";
    30 POKE2023,25:VC=53248:POKEVC+21,0
    40 POKEVC+23,0:POKEVC+29,0:POKEVC+16,0
    50 POKEVC+28,0:POKEVC+27,0:R=PEEK(VC+30)
    60 DIMXS(7),YS(7),BP(7,1)
    70 FORR=0TO62:READVA:POKER+16320,VA:NEXT
    80 FORR=2040TO2047
    90 POKER,255:NEXT
   100 FORR=1TO8:POKEVC+R+38,R:NEXT:POKEVC+21,255
   110 FL=0:FORR=0TO7
   120 BP(R,0)=INT(RND(1)*170)+50:POKER*2+1+VC,BP(R,0)
   130 BP(R,1)=INT(RND(1)*200)+55:POKER*2+VC,BP(R,1):NEXT:POKEVC+30,0
   140 FORR=0TO7:POKER*2+1+VC,BP(R,0)
   145 POKER*2+VC,BP(R,1):NEXT
   150 IF PEEK(VC+30)<>0 THEN 110
   160 POKEVC+21,0:FORR=0TO7
   170 XS(R)=INT(RND(1)*2) AND 1
   180 YS(R)=INT(RND(1)*2) AND 1
   190 IF XS(R)=0 THEN XS(R)=-1
   200 IF YS(R)=0 THEN YS(R)=-1
   210 NEXT:POKEVC+21,255
   220 FORSP=0TO7:V=VC+2*SP:EX=PEEK(VC+16) AND (2^SP)
   230 IF PEEK(V)=255 AND EX=0 THEN POKEV,0:POKEVC+16,PEEK(VC+16)+2^SP
   240 IF PEEK(V)=0 AND EX<>0 THEN POKE V,255:POKEVC+16,PEEK(VC+16)-EX:GOTO 290
   250 POKEV,PEEK(V)+XS(SP):IF P=1 THEN P=0:GOTO 250
   260 IF PEEK(V)<26 AND EX=0 THEN XS(SP)=1:P=1:GOTO250
   270 IF PEEK(V)>45 AND EX<>0 THEN XS(SP)=-1:P=1:GOTO 250
   280 GOSUB1000:IF CO<>0 THEN XS(SP)=-XS(SP):P=1:GOTO 250
   290 POKEV+1,PEEK(V+1)+YS(SP):IF P=1 THEN P=0:GOTO 290
   300 IF PEEK(V+1)>230 THEN YS(SP)=-1:P=1:GOTO 290
   310 IF PEEK(V+1)<50 THEN YS(SP)=1:P=1:GOTO 290
   320 GOSUB1000:IF CO<>0 THEN YS(SP)=-YS(SP):P=1:GOTO 290
   330 NEXT:GOTO 220
   340 DATA 0,127,0,1,255,192,7,255,224
   350 DATA 15,255,240,31,255,248,63,255,252
   360 DATA 63,255,252,127,255,254,127,255,254
   370 DATA 127,255,254,127,255,254,127,255,254
   380 DATA 127,255,254,127,255,254,63,255,252
   390 DATA 63,255,252,31,255,248,31,255,248
   400 DATA 15,255,240,7,255,224,1,255,128
  1000 IF SP=-1 THEN CO=PEEK(VC+30):RETURN
  1010 CO=PEEK(VC+30) AND (2^SP)
  1020 CO=PEEK(VC+30) AND (2^SP)
  1030 RETURN
                � ******************* 5 � * BOUNCE * O � ******************* i � * BY DOMINIC FORD * � � ******************* � � * 1ST JUNE 1993 * � � ******************* � � � ��(147);�(30);:�53280,9:�53281,0:�56295,5:SP��1 �R�1�199:�"WOOZY";:�:�"WOOZ"; 2 �2023,25:VC�53248:�VC�21,0 Q ( �VC�23,0:�VC�29,0:�VC�16,0 r 2 �VC�28,0:�VC�27,0:R��(VC�30) � <