Initial commit (a clone of the jsmachines project as of v1.15.3)

This commit is contained in:
jeffpar 2014-09-27 14:52:57 -07:00
commit a5e3e6a59d
714 changed files with 130602 additions and 0 deletions

View file

@ -0,0 +1,78 @@
10 PRINT"SEAWOLFE
20 PRINT"COPYRYGHT 1978 BY RODGER OLSEN
30 INPUT"DO YOU WANT INSTRUCTIONS";A$:IFA$="YES"THEN700
40 IFA$<>"NO"THEN30
50 GP=53247:GI=3:LC=64:W=32:K1=5:K2=3:K3=65:K4=33:P=1
60 VB=600:IFPEEK(57088)<129THENVB=540:GOTO90
70 IFVB<>600THEN60
80 P=254:LC=32
90 G1=INT(GP+26*LC+.5*W):T=G1+1:T2=T:MP=GP+21*LC
100 FORX=1TO5:READG(X),ID(X):D(X)=ID(X):NEXT
110 S1=GP+15*LC:S3=GP+11*LC+W:S(1)=S1:S(2)=S1+1:S(3)=S3:S(4)=S3-1
120 INPUT"REGULAR(1) OR MASTER'S (2) GAME";G:POKE530,1:POKE57088,P
130 MN=MP:POKE56900,0:SD=GP+6*LC+8:S5=GP+7*LC+W+6:S(5)=S5:FM=-2
140 FORX=1TO32:PRINT:NEXT:FORX=1TO32:POKEGP+3*LX+X,233
150 POKEGP+29*LC+X,233
160 IFVB=540THENPOKEGP+X*LC,233:POKEGP+32+X*LC,233
170 POKEGP+X+13*LC,191:POKEGP+X+32*LC,233:NEXT
180 POKEGP+14*LC+20,193:POKEGP+14*LC+21,193:POKEGP+13*LC+21,13
190 P=PEEK(57088):IFVB=600THENP=255-P
200 IFP=K1ANDGI<5THENGI=GI+1
210 TURN=TURN+1:IFTURNS>300THEN660
220 IFP=K2ANDGI>1THENGI=GI-1
230 S$=STR$(300-TU)
240 FORX=2TOLEN(S$):POKESD+10+X,ASC(MID$(S$,X,1))
250 NEXT
260 POKESD+10+X,32
270 POKEG1,G(GI):POKEG1+2,G(GI)
280 IFP=K3ANDT=G1+1THENPOKET,32:MF=2*LC-3+GI:T=T-MF:POKET,16:GOTO300
290 IFP=K3ANDT2=G1+1THENPOKET2,32:M2=2*LC-3+GI:T2=T2-M2:POKET2,16
300 IFP=K4THENPOKE530,0:POKE56900,1:GOTO120
310 IFG=1THENFORX=1TO75:NEXT
320 POKES(1),32:POKES(3),32:POKES(5),32:S(1)=S(1)+1:S(5)=S(5)+FM
330 IFS(1)=S1+WTHENS(1)=S1:D(1)=ID(1):D(2)=ID(2)
340 S(2)=S(1)+1:S(3)=S(3)-1
350 IFS(3)=S3-WTHENS(3)=S3:D(3)=ID(3):D(4)=ID(4)
360 MC=MC+1:IFMC=5THENMC=1:GOSUB510
370 IFS(5)=S5ORS(5)=(S5-W-6)THENFM=-FM:D(5)=ID(5)
380 S(4)=S(3)-1:FORX=1TO5:POKES(X),D(X):NEXT
390 IFT=G1+1THENFORX=1TO50:NEXT:GOTO450
400 P=PEEK(T-LC):IFP<10THENGOSUB550 :GOTO450
410 IFG=1THENP=PEEK(T-LC-1):IFP<10THENGOSUB550
420 IFP=127THENGOSUB550 :GOTO450
430 IFT<GP+3*LCTHENPOKET,32:T=G1+1:POKET,16:GOTO450
440 POKET,32:T=T-MF:POKET,29
450 IFT2=G1+1THENFORX=1TO50:NEXT:GOTO190
460 P=PEEK(T2-LC):IFP<10THENGOSUB560 :GOTO190
470 IFG=1THENP=PEEK(T2-LC-1):IFP<10THENGOSUB560 :GOTO450
480 IFP=127THENGOSUB560 :GOTO190
490 IFT2<GP+3*LCTHENPOKET2,32:T2=G1+1:POKET2,16:GOTO190
500 POKET2,32:T2=T2-M2:POKET2,29:GOTO190
510 POKEMN,32:POKEMN+8,32:POKEMN+16,32:MN=MN+1
520 IFMN=MP+W+8THENMN=MP
530 POKEMN,127:IFSC>10THENPOKEMN+8,127:IFSC>30THENPOKEMN+16,127:RETURN
540 RETURN
550 POKET,32:Q=T-LC-3:T=G1+1:POKET,16:GOTO570
560 POKET2,32:Q=T2-LC-3:T2=G1+1:POKET2,16
570 D=42
580 FORX=1TO5:POKEQ+X,D:NEXT:IFD=42THEND=32:GOTO580
590 IFP=7ORP=8THEND(1)=32:D(2)=32
600 IFP=5ORP=6THEND(3)=32:D(4)=32
610 IFP=4THEND(5)=32:SC=SC+5
620 IFP=127THENRETURN
630 SC=SC+1:POKEG1+1,16:PS=SC:OS=0
640 IFSC>9THENOS=INT(SC/10):PS=(SC-10*OS)
650 POKESD,OS+48:POKESD+1,PS+48:POKESD+2,48:POKESD+3,48:RETURN
660 PRINT"FINAL SCORE "SC*100:A$="DROWNER'":IFSC>9THENA$="AMATEURS"
670 IFSC>15THENA$="MASTERS":IFSC>20THENA$="CAPTAIN'S"
680 IFSC>25THENA$="COMMODORE'S":IFSC>30THENA$="ADMIRALS"
690 PRINT"YOU EARNED YOUR "A$ "STRIPES":SC=0:TU=0:GOTO120
700 PRINT:PRINT:PRINT:PRINT"THE LEFT SHIFT AIMS THE TUBE TO THE LEFT
710 PRINT"THE RIGHT SHIFT AIMS THE TUBE RIGHT
720 PRINT"THE CTRL KEY FIRES A TORPEDOE-YOU CAN FIRE
730 PRINT"UP TOO 2 TORPEDOES AT A TIME
740 PRINT"THE SMALL SHIP IS 500 POINTS":PRINT"ALL OTHER SHIPS ARE 100
750 PRINT"HIT ESC TO END THE GAME EARLY
760 INPUT"READY TO START";A$
765 PRINT:PRINT:PRINT:GOTO50
770 DATA189,7,201,8,140,6,200,5,190,4

View file

@ -0,0 +1,85 @@
10 PRINT:PRINT:PRINT"TANK FOR TWO":PRINT
20 PRINT"COPYRIGHT R. OLSEN 1978
30 T1=3:T2=7:POKE530,1::S(1)=54429:S(2)=54403
40 FORX=1TO8:READTA(X):NEXT:P1=53916:P2=54019
50 FORX=0TO9:READMF(X):NEXT
60 FORX=0TO9:READBD(X):NEXT:L=64
70 C1=53279:C2=55265:P0=128:PT=4:FORX=1TO5:READUP(X):NEXT
80 FORX=1TO7:READAC(X):NEXT
90 VB=600:IFPEEK(57088)<128THENVB=540:GOTO150
100 FORX=0TO9:READMF(X):NEXT:L=32
110 P0=127:PT=251:S(1)=53765:S(2)=53785:FORX=1TO5
120 READUP(X):NEXT
130 FORX=1TO7:READAC(X):NEXT:P1=53766:P2=53592
140 C1=53284:C2=54204
150 INPUT"DO YOU WANT DIRECTION";A$:IFA$="YES"THEN610
160 FORX=C1TOC2:POKEX,32:IFRND(1)>.96THENPOKEX,161
170 NEXT
180 POKE56900,0:POKE530,1:B=161:KB=57088
190 FORX=1TO5:FORY=1TO5:POKEUP(Y)+X,B:NEXTY:NEXTX
200 FORX=1TO5:FORY=1TO7:POKEAC(Y)+L*X,B:NEXTY,X
210 FORX=1TOL:POKEC1+X,B:POKEC2-X,B:NEXT
220 FORX=1TO32:POKEC1+X*L,B:POKEC2-X*L,B:NEXT
230 POKEKB,P0:PK=PEEK(KB):IFVB=600THENPK=255-PK
240 IFPK=128THENT2=T2-1:IFT2=0THENT2=8
250 M1=MF(T1):M3=MF(T2)
260 IFPK=32THENT2=T2+1:IFT2=9THENT2=1
270 IFPK=64ANDF2=0THENB2=P2:F2=1:M4=MF(T2)
280 IFPK=160ANDPEEK(P2+MF(T2))=32THENPOKEP2,32:P2=P2+MF(T2)
290 IFPK=192ANDF2=0THENB2=P2-MF(T2-1):F2=1
300 IFPK=96ANDF2=0THENB2=P2-MF(T2+1):F2=1
310 POKEP2,TA(T2)
320 POKEKB,PT:PK=PEEK(KB):IFVB=600THENPK=255-PK
330 IFPK=8THENT1=T1-1:IFT1=0THENT1=8
340 IFPK=10ANDPEEK(P1+MF(T1))=32THENPOKEP1,32:P1=P1+MF(T1)
350 IFPK=2THENT1=T1+1:IFT1=9THENT1=1
360 IFPK=4ANDF1=0THENF1=1:B1=P1:SM=MF(T2)
370 IFPK=6ANDF1=0THENB1=P1-MF(T1+1):F1=1
380 IFPK=12ANDF1=0THENB1=P1-MF(T1-1):F1=1
390 POKEP1,TA(T1)
400 FORX=1TO3:IFF1=0THEN460
410 IFB1<>P1THENPOKEB1,32
420 P=PEEK(B1+M1):IFP=161THENF1=0:GOTO460
430 B1=B1+M1:POKEB1,BD(T1)
440 IFP=TA(T2)THENF1=0:B1=P1:S1=S1+1:GOTO460
450 IFB1<C1ORB1>C2THENF1=0
460 IFF2=0THEN520
470 IFB2<>P2THENPOKEPB2,32
480 P=PEEK(B2+M3):IFP=161THENF2=0:GOTO520
490 B2=B2+M3:POKEB2,BD(T2)
500 IFP=TA(T1)THENF2=0:B2=P2:S2=S2+1
510 IFB2<C1ORB2>C2THENF2=0
520 IFB2<>P2THENPOKEB2,32
530 IFB1<>P1THENPOKEB1,32
540 NEXTX
550 DS=S2:IFS2>10THENDS=S2-10:POKES(2)-1,49
560 POKES(2),DS+48:IFDS=10THENPOKES(2),48
570 DS=S1:IFS1>10THENDS=S1-10:POKES(1)-1,49
580 POKES(1),DS+48:IFDS=10THENPOKES(1),48
590 IFS1>19ORS2>19THEN810
600 GOTO230
610 PRINT:PRINT:PRINT:PRINT"PLAYER 1 USES KEYS 1,2, AND 3
620 PRINT"PLAYER 2 USES KEYS N,M, AND<
630 PRINT"1,2,N, AND< ARE DIRECTION KEYS
640 PRINT"PRESSING BOTH DIRECTION KEYS MOVES YOU FORWARD
650 PRINT:PRINT"KEYS 2 AND M ARE FIRE CONTROL KEYS
660 PRINT"PRESSING THEM ALONE FIRES STRAIGHT AHEAD
670 PRINT"PRESSING THEM WITH A DIRECTION KEY SHOOTS
680 PRINT"TO THE SIDE
690 PRINT"THE MISSLE IS STEERABLE AFTER IT IS SHOT
700 INPUT"INPUT A NUMBER TO START";X:GOTO160
710 DATA248,249,250,251,252,253,254,255
720 DATA -65,-64,-63,1,65,64,63,-1,-65,-64,-63
730 DATA139,189,132,190,139,189,132,190,139
740 DATA53633,53526,54618,54411,54793
750 DATA53216,53233,53848,53702,54411,54939,54406
760 DATA-33,-32,-31,1,33,32,31,-1,-33,-32
770 DATA53845,53965,53956,53609,53845,53968,54006
780 DATA53641,53359,53415,53782,54005
790 FORX=0TO9:READBD(X):NEXT:L=64
800 RETURN
810 IFS1>19THENFORX=1TO32:PRINT"TANK 1 WINS!":NEXTX
820 IFS2>19THENFORX=1TO32:PRINTTAB(15)"TANK 2 WINS!":NEXTX
830 S1=0:S2=0
840 RESTORE:GOTO30