Home » Personal collection » Commodore disks » disk64c_odus_eclipse.d64 » worm of bemer
worm of bemer
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 » disk64c_odus_eclipse.d64 |
Filename: | worm of bemer |
Read OK: | ✔ |
File size: | 1802 bytes |
Load address: | 0801 |
Exec address: | 0000 |
File contents
0 REM--COMPUTE--APRIL ISSUE--WORM OF BEMER--PROG PAGE 74 1 POKE52,48:POKE56,48:CLR 2 POKE53270,PEEK(53270)AND15 5 POKE53280,0:POKE53281,0 10 GOTO5000 100 S=PEEK(56320)AND15:FORD=1TOSP:NEXT 110 IFS=7ORS=6ORS=5THENDX=1:DY=0:DI=1:IFOD=2THENDX=-1:DY=0:DI=2 120 IFS=11ORS=10ORS=9THENDX=-1:DY=0:DI=2:IFOD=1THENDX=1:DY=0:DI=1 130 IFS=14THENDY=-1:DX=0:DI=4:IFOD=3THENDI=3:DY=1:DX=0 140 IFS=13THENDY=1:DX=0:DI=3:IFOD=4THENDI=4:DY=-1:DX=0 145 PO=1024+XA+YA*40:OD=DI:POKEPO,42:POKEPO+SO,L1 150 XA=XA+DX:YA=YA+DY:L=LEN(XA$):XA$=XA$+CHR$(XA):YA$=YA$+CHR$(YA) 155 Z=PEEK(1024+XA+YA*40):IFZ<>32THEN200 161 POKESO+1,40:POKESO+4,17 162 PO=1024+XA+YA*40:POKEPO,42:POKEPO+SO,10:POKESO+4,16:IFL<WOTHEN100 190 PO=1024+ASC(XA$)+40*ASC(YA$):LL=LEN(XA$)-1:XA$=RIGHT$(XA$,LL) 191 POKEPO,32:POKEPO+SO,0 195 YA$=RIGHT$(YA$,LL):GOTO100 200 POKESO+1,20:POKESO+4,17:POKESO+4,16 201 PO=1024+XA+40*YA:POKEPO,42:POKEPO+SO,10:GOSUB6600:IFZ<>BUTHEN260 210 WO=WO+15+3*LO:IFWO>240THENWO=240 220 XX=INT(RND(1)*36+2):X=INT(RND(1)*18+3):IFPEEK(1024+XX+40*X)<>32THEN220 221 SC=SC+100+LO*7:POKESO+4,55:POKESO+4,17 225 HI=HI-1:GOSUB6600:IFHI>0THEN229 226 PO=1024+20+40*2:POKEPO,160:POKEPO+SO,0:PO=1024+20+21*40:POKEPO,160 227 POKEPO+SO,0:PO=1024+40*12:POKEPO,160:POKEPO+SO,0:POKESO+1,100:POKESO+4,17 228 PO=1024+40*12+39:POKEPO,160:POKEPO+SO,0:GOTO100 229 PO=1024+XX+X*40:POKEPO,BUG:POKEPO+SO,13 230 GOTO100 260 IFZ<>160ANDLI>1THENGOSUB7500:GOTO290 265 IFZ<>160THEN7500 270 POKESO+1,90:POKESO+4,17 271 GOSUB7000:PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>" 275 FORDE=1TO24:PRINT:POKESO+1,DEL:POKESO+4,17:NEXT:POKESO+4,16 280 LO=LO+1:WO=5:IFLO=12THEN1200 281 L1=L1+1:IFL1>15THENL1=11 285 IFLO>EXTHENGOSUB9100 287 PRINT"<clr>":GOSUB4100 290 GOSUB6600 300 ONLO GOTO5020,400,500,550,600,700,800,450,550,1000,1100,1200 399 GOTO5015 400 REM SECOND SCREEN 410 FORI=1024+5+10*40TO1024+35+10*40:POKEI,35:POKEI+SO,9:NEXT 420 GOTO5020 450 REM SCREEN 460 FORI=1024+5+10*40TO1024+35+10*40:POKEI,35:POKEI+SO,9:NEXT 465 FORI=1024+18+5*40TO1024+18+20*40STEP40:POKEI,35:POKEI+SO,9:NEXT 470 GOTO5020 500 REM THE FOURTH SCREEN 510 FORI=1024+5+5*40TO1024+35+5*40:POKEI,35:POKEI+SO,9:NEXT 520 FORI=1024+5+18*40TO1024+35+18*40:POKEI,35:POKEI+SO,9:NEXT 530 GOTO5020 550 REM FRAME 5 560 FORI=1024+7+6*40TO1024+33+6*40:POKEI,35:POKEI+SO,9:NEXT 575 FORI=1024+18+7*40TO1024+18+20*40STEP40:POKEI,35:POKEI+SO,9:NEXT 580 GOTO5020 600 REM FRAME 6 610 FORI=1024+1+10*40TO1024+18+10*40:POKEI,35:POKEI+SO,9:NEXT 615 FORI=1024+22+10*40TO1024+38+10*40:POKEI,35:POKEI+SO,9:NEXT 620 GOTO5020 700 REM FRAME 7 710 FORJ=6TO14:FORI=1024+6+J*40TO1024+12+J*40:POKEI,35:POKEI+SO,9:NEXT 715 FORI=1024+20+J*40TO1024+32+J*40:POKEI,35:POKEI+SO,9:NEXT:NEXT 720 GOTO5020 800 REM FRAME 8 811 FORI=1024+1+8*40TO1024+18+8*40:POKEI,35:POKEI+SO,9:NEXT 812 FORI=1024+1+15*40TO1024+18+15*40:POKEI,35:POKEI+SO,9:NEXT 813 FORI=1024+15+12*40TO1024+38+12*40:POKEI,35:POKEI+SO,9:NEXT 890 GOTO5020 1000 FORJ=4TO19:FORI=1024+1+J*40TO1024+37+J*40:POKEI,35:POKEI+SO,9:NEXT:NEXT 1005 FORJ=4TO19:FORI=1024+1+J*40TO1024+22+J*40:POKEI,32:POKEI+SO,9:NEXT:NEXT 1010 GOTO5020 1100 FORJ=4TO19:FORI=1024+1+J*40TO1024+37+J*40:POKEI,35:POKEI+SO,9:NEXT:NEXT 1105 FORJ=4TO19:FORI=1024+1+J*40TO1024+30+J*40:POKEI,32:POKEI+SO,9:NEXT:NEXT 1110 GOTO400 1200 REM YOU WIN 1205 FORZZ=1TO3 1210 PRINT"<clr><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>NERM'S HOME" 1212 PRINT"<cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>THANK YOU" 1215 FORG=1TO5 1220 FORI=1TO10 1229 POKESO+1,I+6:POKESO+4,17 1240 NEXT:NEXT 1245 FORI=1TO200:POKESO+1,I:POKESO+4,17:NEXT 1250 NEXT:GOTO7700 4100 FORI=56216TO56295:POKEI,L1:POKEI-SO,36:NEXT:RETURN 5000 REM UP THE GAME 5005 GOSUB10000:GOSUB11100:BUG=33 5011 SP=35:LI=4:SC=0:LO=1:GOSUB5500:HI=5:WO=5:EX=2:L1=11 5012 POKE53270,PEEK(53270)OR16 5015 PRINT"<clr>":GOSUB6500 5020 XA$="":YA$="":XB$="":YB$="":XA=20:YA=19:DX=0 5021 IFLO=3THENYA=18 5025 DY=-1:T=0:IFHI<0THENHI=0 5030 DI=4:IFHI>5THENHI=5 5050 FORI=1024+40*2TO1024+39+40*2:POKEI,35:POKEI+19*40,35:POKEI+SO,9 5051 POKEI+SO+19*40,9:NEXT 5055 FORI=1024+40*2TO1024+40*20STEP40:POKEI,35:POKEI+39,35:POKEI+SO,9 5056 POKEI+SO+39,9:NEXT:IFHI>0THEN5060 5057 I=1024+20+40*2:POKEI,160:POKEI+SO,0:I=1024+20+21*40:POKEI,160:POKEI+SO,0 5058 POKE1024+12*40,160:POKE1024+12*40+SO,0 5059 POKE1024+12*40+39,160:POKE1024+12*40+SO+39,0:GOSUB4100:GOTO150 5060 XX=RND(1)*36+2:X=RND(1)*18+3:IFPEEK(1024+XX+X*40)<>32THEN5060 5065 POKE1024+XX+X*40,BU:POKE1024+XX+X*40+SO,13 5070 GOSUB4100 5085 GOTO150 5500 PRINT"<clr>" 5510 PRINT"<cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>GET READY" 5540 FORX=1TO14:POKESO+1,NN(X):POKESO+4,17:FORD=1TO120:NEXT:NEXT 5545 POKESO+4,16 5550 RETURN 6500 REM REDEFINING SCREEN 6510 POKESO+4,16 6575 GOSUB6600 6580 RETURN 6600 REM PRINT SCORE 6605 PRINT"<yellow><home>SCORE ";SC 6606 PRINT"<home><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>ROOM ";LO 6610 PRINT"MUSHROOMS ";HI;" LIVES ";LI 6620 RETURN 7000 REM CLEAN UP THE CENTIPEDE 7002 SP=SP-5 7004 GOSUB 6600:HI=5 7005 L=LEN(XA$) 7010 FORI=1TOL-1 7020 POKESO+1,I:POKESO+4,17:FORQQ=1TO10:NEXT 7190 PO=1024+ASC(XA$)+40*ASC(YA$):LL=LEN(XA$)-1:XA$=RIGHT$(XA$,LL) 7195 YA$=RIGHT$(YA$,LL):POKEPO,32:POKEPO+SO,1 7200 NEXT:POKESO+4,16 7210 RETURN 7500 REM OOPS 7510 PRINT"<clr><purple>" 7515 SP=SP-5 7520 PRINT"<cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>OOPS" 7521 LI=LI-1 7525 FORDE=1TO20:NEXT 7530 FORDE=1TO10:POKESO+1,DE*20:POKESO+4,17:FORQQ=1TO10:NEXT:NEXT:POKESO+4,16 7550 FORDE=1TO20:NEXT 7560 IFLI<1THEN7700 7599 PRINT"<clr>":RETURN 7700 REM THE GAMES OVER 7705 POKESO+4,16 7710 PRINT"<clr>":POKE53270,PEEK(53270)AND15 7715 IF SC>HSTHENHS=SC:GOSUB9000:PRINT" <clr><light gray>" 7718 PRINT"<cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>NERM" 7720 PRINT"<yellow><cursor down><cursor down><cursor down><cursor down>YOUR SCORE ";SC 7730 PRINT"<light green><cursor down><cursor down><cursor down><cursor down>HIGH SCORE ";HS 7735 GOSUB7800 7736 PRINT"<white><cursor down><cursor down>PRESS THE TRIGGER TO PLAY AGAIN, Q=QUIT" 7740 FORX=1TO15:POKESO+1,PN(X):POKESO+4,17:FORD=1TO100:NEXT:NEXT 7745 POKESO+4,16 7780 S=PEEK(56320)AND16:IFS=0THEN5011 7783 IFPEEK(197)=62THENPOKE198,0:SYS2048 7785 GOTO7780 7800 REM RANK THE GAMER 7810 PRINT"<cyan><cursor down><cursor down> YOUR NEW RANK IS "; 7820 IFLO=1THENPRINT"ZERO" 7830 IFLO=2THENPRINT"ROOKIE" 7840 IFLO=3THENPRINT"NOVICE" 7850 IFLO=4THENPRINT"AVERAGE" 7860 IFLO=5THENPRINT"MASTER" 7870 IFLO=6THENPRINT"GRAND MASTER" 7880 IFLO=7THENPRINT"WIZARD" 7890 IFLO=8THENPRINT"GRAND WIZARD" 7900 IFLO=9THENPRINT"SUPER STAR" 7910 IFLO>9THENPRINT"HALL OF FAME" 7920 RETURN 9000 REM NEW HIGH SCORE 9002 PRINT"<clr>" 9003 PRINT"<cyan><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>NEW HIGH" 9004 PRINT"<cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>SCORE" 9005 FORY=1TO3 9010 FORN=1TO5 9020 FORD=1TO5:POKESO+1,D*20:POKESO+4,17:NEXT 9030 POKESO+1,N*30:POKESO+4,17 9050 NEXT 9060 NEXT 9065 FORD=1TO30:NEXT 9070 RETURN 9100 REM EXTRA LIFE 9110 PRINT"<clr>" 9115 PRINT"<cyan><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>BONUS LIFE" 9120 FORJ=100TO200 9140 POKESO+1,J:POKESO+4,17 9150 NEXT 9160 POKESO+4,16 9170 EX=EX+3 9180 LI=LI+1 9190 RETURN 10000 DIM PN(15),NN(18):PRINT"<clr><light gray>" 10005 SO=54272:POKESO+24,15:POKESO+5,17:POKESO+6,241:POKESO,100 10010 PRINT"<cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>WELCOME TO" 10020 PRINT"<cyan><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right> WORM OF BEMER" 10025 PRINT"<orange><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>USE JOYSTICK #2" 10030 PRINT"<light green><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>HIT TRIGGER TO START" 10045 S=PEEK(56320)AND16:IFS=0THENRETURN 10060 GOTO10045 11100 PRINT"<clr><cyan><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>REDEFINING CHARACTERS" 11109 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251 11110 FORI=12288TO12288+64*8:POKEI,PEEK(I+40960):NEXTI 11120 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1 11180 FORI=0TO39:READA:POKE12288+I+32*8,A:NEXT 11185 FORI=0TO7:READA:POKE12288+I+42*8,A:NEXT 11190 POKE53272,(PEEK(53272)AND240)+12 11200 FORI=1TO18:READNN(I):NEXT 11210 FORI=1TO15:READPN(I):NEXT 11240 DATA 0,0,0,0,0,0,0,0 11250 DATA 0,20,85,85,255,40,40,0 11260 DATA 85,85,85,85,85,85,85,85 11261 DATA 170,190,190,190,190,190,170,170 11262 DATA 255,255,255,255,255,255,255,255 11263 DATA 0,20,255,255,255,255,20,0 11270 RETURN 12000 DATA 33,44,0,44,50,0,50,56,67,56,67,56,44,0,33,44,0,44 12100 DATA 44,0,0,33,31,33,37,37,33,0,0,0,42,42,44
: �--COMPUTE--APRIL ISSUE--WORM OF BEMER--PROG PAGE 74 N �52,48:�56,48:� e �53270,�(53270)�15 { �53280,0:�53281,0 � �5000 �d S��(56320)�15:�D�1�SP:� �n �S�7�S�6�S�5�DX�1:DY�0:DI�1:�OD�2�DX��1:DY�0:DI�2 x �S�11�S�10�S�9�DX��1:DY�0:DI�2:�OD�1�DX�1:DY�0:DI�1 > � �S�14�DY��1:DX�0:DI�4:�OD�3�DI�3:DY�1:DX�0 m � �S�13�DY�1:DX�0:DI�3:�OD�4�DI�4:DY��1:DX�0 � � PO�1024�XA�YA�40:OD�DI:�PO,42:�PO�SO,L1 � � XA�XA�DX:YA�YA�DY:L��(XA$):XA$�XA$��(XA):YA$�YA$��(YA) � � Z��(1024�XA�YA�40):�Z��32�200 � �SO�1,40:�SO�4,17 E � PO�1024�XA�YA�40:�PO,42:�PO�SO,10:�SO�4,16:�L�WO�100 | � PO�1024��(XA$)�40��(YA$):LL��(XA$)�1:XA$��(XA$,LL) � � �PO,32:�PO�SO,0 � � YA$��(YA$,LL):�100 � � �SO�1,20:�SO�4,17:�SO�4,16 � � PO�1024�XA�40�YA:�PO,42:�PO�SO,10:�6600:�Z��BU�260 � WO�WO�15�3�LO:�WO�240�WO�240 Z� XX��(�(1)�36�2):X��(�(1)�18�3):��(1024�XX�40�X)��32�220 � SC�SC�100�LO�7:�SO�4,55:�SO�4,17 �� HI�HI�1:�6600:�HI�0�229 �� PO�1024�20�40�2:�PO,160:�PO�SO,0:PO�1024�20�21�40:�PO,160 � �PO�SO,0:PO�1024�40�12:�PO,160:�PO�SO,0:�SO�1,100:�SO�4,17 C� PO�1024�40�12�39:�PO,160:�PO�SO,0:�100 i� PO�1024�XX�X�40:�PO,BUG:�PO�SO,13 r� �100 ��Z��160�LI�1��7500:�290 � �Z��160�7500 ��SO�1,90:�SO�4,17 ��7000:�""