Jump to content
IGNORED

Timagination psyborg


sparkdrummer

Recommended Posts

Hi,

maybe this is MadDog ?

 

 

 

90 REM
100 CALL CLEAR :: CALL SCREEN(16) :: CALL MAGNIFY(3) :: DISPLAY AT(12,2):"DATA/WARE DEVELOPMENT,INC" :: CALL CHAR(33,"3C4299A1A199423C") :: DISPLAY AT(14,6):"! COPYRIGHT 1983"
110 GOSUB 120 :: GOTO 210
120 READ F,D :: IF F=0 THEN RETURN ELSE CALL SOUND(100*D,F,0) :: CALL KEY(0,F,D) :: IF F=13 THEN RETURN ELSE 120
130 DATA 392,2,330,2,392,4,392,2,330,2
140 DATA 392,4,392,2,330,2,392,3,440,1,392,2,330,2
160 DATA 392,4,330,2,349,2,392,2,349,4,294,2
180 DATA 392,2,349,4,294,2,262,10,0,0
210 CALL CLEAR :: CALL SCREEN(2) :: CALL HCHAR(4,1,56,32) :: CALL HCHAR(17,1,45) :: CALL HCHAR(17,2,40) :: CALL HCHAR(18,1,40) :: CALL HCHAR(18,2,34)
220 CALL HCHAR(19,1,35) :: CALL HCHAR(19,2,33) :: CALL HCHAR(20,1,40,2) :: CALL HCHAR(21,1,40,2)
230 CALL HCHAR(22,1,56,2) :: CALL HCHAR(23,1,56,2) :: CALL HCHAR(24,1,56,2) :: DISPLAY AT(4,10)SIZE(9):" MAD DOG "
240 DISPLAY AT(17,1):"!,":"((((":"((00 =":"((*+ <9:;":"(((((()9888:;":"8888888888888:;QRS" :: DISPLAY AT(23,1):"88888888888888YWPTU":"88888888888888XPZPV"
250 CALL CHAR(40,"FFFFFFFFFFFFFFFF",41,"FFFFFFF8F8FCE0E0",42,"FFFFFFFFFFFCF0C0",43,"FFFCF0C000000000")
260 CALL CHAR(44,"F0F0F8F8FCFC3E3E",45,"000103070F1F3F7F") :: CALL CHAR(33,"FFEFDFDFBFBF7F7F",34,"FEFEFDFDFBFBF7F7",35,"FFFFFFFFFFFFFF00")
270 CALL CHAR(48,"EFEFD7D7BBBB7D7D") :: CALL CHAR(56,"FFFFFFFFFFFFFFFF",57,"0103070F1F3F7FFF",58,"B0F0FBFFFFFFFFFF")
280 CALL CHAR(59,"00000000B0F0FBFF",60,"0103060C183C66C3",61,"0103060C183060C0")
290 CALL CHAR(80,"FFFFFFFFFFFFFFFF",81,"0000000000030F3F",82,"000000007EFFFFFF")
300 CALL CHAR(83,"0000000000C0F0FC",84,"FEFFFFFFFFFFFFFF",85,"00008080C0C0E0E0") :: CALL CHAR(86,"E0F0F0F0F0F0F0E0",87,"7FFFFFFFFFFFFFFF")
310 CALL CHAR(88,"070F0F0F0F0F0F07",89,"0000010103030707",90,"E7818100008181E7") :: CALL SCREEN(4)
320 CALL COLOR(1,12,1,2,12,1,3,16,1,4,9,1,5,2,1,6,2,1,7,2,1,8,2,9)
330 A$="000000000814224B97A2A2000000000000000000102844D2E945450000000000" :: CALL CHAR(72,A$) :: FOR D=1 TO 6
340 CALL SPRITE(#D,72,2,250,240-(4*2^(D-1)),2*(8-D),0) :: NEXT D
350 RESTORE :: GOSUB 120
360 CALL DELSPRITE(ALL) :: CALL CLEAR :: CALL CHARSET :: PRINT "********INSTRUCTIONS********": :
370 PRINT "THERE ARE THREE LEVELS OF PLAY. QUALIFYING SCORES ARE REQUIRED TO PROCEED TO THE ADVANCED LEVELS. A TIME OF"
380 PRINT "200 IS ALLOCATED FOR EACH LEVEL. SCORING IS ACHIEVED BY CONTACTING SPIDERS,":"AND (AT ADVANCED LEVELS)"
390 PRINT "BONUS BUGS AND BUTTERFLIES. PENALTIES ARE EXACTED FOR DRIVING OFF THE ROADWAY." :: PRINT "AND, OF COURSE, THE GAME IS OVER IF A TRUCK HITS YOU.": : :
400 PRINT "RELEASE ALPHA LOCK": : : :: PRINT "USING JOYSTICK OR KEYBOARD?": : :
410 DISPLAY AT(22,1):"ENTER SELECTION (j/k)" :: ACCEPT AT(22,23)SIZE(1):B$ :: IF B$<>"j" AND B$<>"k" THEN 410 ELSE IF B$="j" THEN F=1 ELSE F=0
420 CALL CLEAR :: CALL CHARSET :: CALL SCREEN(4) :: CALL COLOR(11,4,4) :: C$="00001010282844529F95A3A6AAAAAA00000008081414224AF9A9C56555555500"
430 D$="7C7C7C10107CFFFFFFFF7C10107C7C7C001C1C1C0808FCFEFEFC08081C1C1C00" :: E$="0000000000000000FF000000000000000000000000000000FF00000000000000"
440 F$="000000001F3F7F7F3F030100000000000000000080C0E0F8FCFEFEFC00000000" :: G$="000777F7F7F7FFFFFFFFF7F7F777070000FFFFFFFFFFFFFFFFFFFFFFFFFFFF00"
450 H$="FFFFFF3C3CFFFFFFFFFFFF3C3CFFFFFF00003E3E3EFFFFFFFFFFFF3E3E3E0000" :: I$="00FFFFFFFFFFFFFFFFFFFFFFFFFFFF0000E0EEEFEFEFFFFFFFFFEFEFEFEEE000"
460 J$="6030180C07EFAFFFFFAFEF070C183060183060C0F0FCFEFFFFFEFCF0C0603018" :: K$="7CFE927E321E0E3F3F0E1E327E92FE7C3E7F497E4C7870FCFC70784C7E497F3E"
470 L$="01010101191919191919191F1F0101038080989898989898F8F88080808080C0" :: M$="000000000C3E7E7FFFFFFF7F7F1F0C00003C7E7FFFFFFFFFFEFCE0F0F8F8F870"
480 CALL CHAR(96,D$,100,C$,104,E$,108,F$,112,"FFFFFFFFFFFFFFFF",116,G$,120,I$,124,J$,132,K$,136,L$,140,M$)
490 CALL DELSPRITE(ALL) :: CALL CLEAR :: CALL CHARSET :: CALL CHAR(96,D$) :: CALL SCREEN(4) :: CALL COLOR(11,4,4) :: G=0 :: H=0 :: I=0 :: J=113 :: K=81 :: L=200 :: M=0 :: FOR D=5 TO 20
500 CALL HCHAR(D,1,112,32) :: NEXT D :: CALL A(N,O,P,Q,R) :: CALL COLOR(11,15,15) :: DISPLAY AT(1,11):"SCORE=";M :: DISPLAY AT(24,11):"TIME=";L :: FOR D=6 TO 9
510 CALL SPRITE(#D,104,16,89,64*(D-5),0,-5) :: NEXT D
520 CALL SPRITE(#2,96,9,J,K,#3,100,2,Q,R,#10,140,13,1,17,#11,140,13,169,65,#12,140,13,169,209)
530 L=L-1 :: DISPLAY AT(24,16):L :: IF L=0 THEN 710
540 CALL COINC(#2,#1,15,S) :: IF S THEN 700
550 CALL COINC(#2,#3,15,T) :: IF T THEN U=1 :: GOTO 670
560 I=I-1 :: IF I=0 THEN CALL DELSPRITE(#5)
570 G=G-1 :: IF G=0 THEN CALL DELSPRITE(#1) :: V=P :: P=O :: O=V
580 IF F THEN CALL JOYST(1,W,X)ELSE GOSUB 1420
590 CALL POSITION(#2,J,K) :: IF ABS(J-89)<64 THEN CALL MOTION(#2,-X*3,W*4.5)ELSE CALL MOTION(#2,-X,W*4.5) :: M=M-1 :: DISPLAY AT(1,17):M
600 CALL COINC(#2,#1,15,S) :: IF S THEN 700
610 CALL COINC(#2,#3,15,T) :: IF T THEN 670
620 IF(221-R)*(21-R)>0 THEN P=8*SGN(21-R)
630 IF(146-Q)*(32-Q)>0 THEN O=8*SGN(32-Q)
640 Q=Q+O :: R=R+P :: CALL LOCATE(#3,Q,R)
650 IF G<-N THEN G=10 :: N=INT(R/32)+1 :: IF N<5 THEN CALL SPRITE(#1,116,5,24+13*N,232,0,-10)ELSE CALL SPRITE(#1,120,5,37+13*N,8,0,10)
660 GOTO 530
670 CALL SOUND(100,-2,5) :: CALL SPRITE(#5,108,12,Q,R,0,-5) :: M=M+10 :: DISPLAY AT(1,17):M :: IF M>349 THEN 710
680 RANDOMIZE :: CALL PEEK(-31808,Y,Z) :: Q=2*INT(Y/5)+40 :: R=3*INT(Z/4)+30 :: O=8*SGN(60-Q) :: P=8*SGN(125-R) :: IF P+2*O=0 THEN P=8
690 CALL LOCATE(#3,Q,R) :: I=2 :: IF U=1 THEN U=0 :: GOTO 570 ELSE 530
700 GOSUB 1480
710 CALL DELSPRITE(#4,#5) :: CALL MOTION(#2,0,0,#3,0,0,#6,0,0,#7,0,0,#8,0,0,#9,0,0) :: IF M>349 THEN CALL MOTION(#1,0,0) :: GOTO 730
720 DISPLAY AT(3,3):"GAME OVER":" 350 IS QUALIFYING" :: GOSUB 1500 :: GOTO 1370
730 DISPLAY AT(4,5):"QUALIFIED FOR 2ND RUN" :: GOSUB 1500 :: CALL DELSPRITE(ALL) :: CALL CLEAR :: CALL SCREEN(10) :: L=L+200 :: AA=M+N*20 :: PRINT "*******ROADSIDE REST*******": :
740 PRINT "YOU HAVE PASSED YOUR ROOKIE TEST AND ARE NOW QUALIFIED FOR THE SECOND LEVEL.": : :: PRINT "* YOUR CURRENT SCORE IS";M: : :: PRINT "* TIME LEFT IS";L:" (UNUSED TIME + 200)": :
750 PRINT "* BONUS BUG SCORE DEPENDS":" UPON DURATION OF CONTACT.": : : : : : : : : : :: PRINT "PRESS ENTER TO CONTINUE"
760 CALL KEY(0,B,C) :: IF B=13 THEN 770 ELSE 760
770 BA=1 :: G=0 :: H=0 :: I=0 :: J=65 :: K=81 :: CALL CLEAR :: CALL COLOR(11,10,10) :: FOR D=6 TO 19 :: CALL HCHAR(D,1,112,32) :: NEXT D :: CALL A(N,O,P,Q,R) :: CALL COLOR(11,15,15)
780 DISPLAY AT(1,11):"SCORE=";M :: DISPLAY AT(24,11):"TIME=";L :: FOR D=6 TO 9 :: CALL SPRITE(#D,104,16,89,64*(D-5),0,-5) :: NEXT D
790 CALL SPRITE(#2,96,9,J,K,#3,100,2,Q,R,#10,136,12,1,73,#11,140,3,169,41,#12,136,12,169,209)
800 L=L-1 :: DISPLAY AT(24,16):L :: IF L=0 THEN 1010
810 CALL COINC(#2,#1,15,S) :: IF S THEN 1000
820 CALL COINC(#2,#3,15,T) :: IF T THEN U=1 :: GOTO 960
830 H=H-1 :: IF H=0 THEN CALL DELSPRITE(#4) :: DISPLAY AT(4,11):" "
840 I=I-1 :: IF I=0 THEN CALL DELSPRITE(#5)
850 G=G-1 :: IF G=0 THEN CALL DELSPRITE(#1) :: V=P :: P=O :: O=V
860 IF F THEN CALL JOYST(1,W,X)ELSE GOSUB 1420
870 CALL POSITION(#2,J,K) :: IF ABS(J-89)<56 THEN CALL MOTION(#2,-X*3,W*4.5)ELSE CALL MOTION(#2,-X,W*4.5) :: M=M-3 :: DISPLAY AT(1,17):M
880 CALL COINC(#2,#1,15,S) :: IF S THEN 1000
890 CALL COINC(#2,#4,17,CA) :: IF CA THEN CALL SOUND(100,-1,5) :: M=M+50 :: DISPLAY AT(1,17):M :: IF M>1499 THEN 1010 ELSE 800
900 CALL COINC(#2,#3,15,T) :: IF T THEN 960
910 IF(221-R)*(21-R)>0 THEN P=8*SGN(21-R)
920 IF(139-Q)*(39-Q)>0 THEN O=8*SGN(39-Q)
930 Q=Q+O :: R=R+P :: CALL LOCATE(#3,Q,R)
940 IF G<1 THEN G=9 :: N=INT(R/32)+1 :: IF N<5 THEN CALL SPRITE(#1,116,8,36+10*N,232,0,-10)ELSE CALL SPRITE(#1,120,8,53+10*N,8,0,10)
950 GOTO 800
960 CALL SOUND(100,-2,5) :: CALL SPRITE(#5,108,16,Q,R,0,-5) :: M=M+20 :: DISPLAY AT(1,17):M :: IF M>1499 THEN 1010
970 RANDOMIZE :: CALL PEEK(-31808,Y,Z) :: Q=2*INT(Y/5)+40 :: R=3*INT(Z/4)+30 :: O=8*SGN(90-Q) :: P=8*SGN(R-125) :: IF P+2*O=0 THEN P=8
980 CALL LOCATE(#3,Q,R) :: I=2 :: IF M>AA THEN CALL SPRITE(#4,124,4,89+40*SGN(96-J),128+9*N*SGN(128-K)) :: H=7 :: AA=M+140+Q :: DISPLAY AT(4,11):"BONUS BUG"
990 IF U=1 THEN U=0 :: GOTO 850 ELSE 800
1000 GOSUB 1480
1010 CALL DELSPRITE(#4,#5) :: CALL MOTION(#2,0,0,#3,0,0,#6,0,0,#7,0,0,#8,0,0,#9,0,0) :: IF M>1499 THEN CALL MOTION(#1,0,0) :: GOTO 1030
1020 DISPLAY AT(3,3):"GAME OVER":" 1500 IS QUALIFYING" :: GOSUB 1500 :: GOTO 1370
1030 DISPLAY AT(4,5):"QUALIFIED FOR 3RD RUN" :: GOSUB 1500 :: CALL DELSPRITE(ALL) :: CALL CLEAR :: CALL SCREEN(11) :: L=L+200 :: AA=M+N*40 :: PRINT "*******ROADSIDE REST********": :
1040 PRINT "CONGRATULATIONS, YOU NOW":"BELONG TO THE SELECT GROUP":"OF DRIVERS QUALIFIED FOR THE":"THIRD LEVEL.": : :: PRINT "* YOUR CURRENT SCORE IS";M: :
1050 PRINT "* TIME LEFT IS";L:" (UNUSED TIME + 200)": : :: PRINT "* WITH LOTS OF GOOD FORTUNE AND SKILL, FINAL SCORES ABOVE 5000 ARE POSSIBLE.": :
1060 PRINT "* GOOD LUCK": : : : : :: PRINT "PRESS ENTER TO CONTINUE"
1070 CALL KEY(0,B,C) :: IF B=13 THEN 1080 ELSE 1070
1080 CALL CLEAR :: CALL COLOR(11,11,11) :: BA=1 :: G=0 :: H=0 :: I=0 :: J=164 :: K=65 :: DA=-8 :: EA=61 :: FOR D=7 TO 18 :: CALL HCHAR(D,1,112,32) :: NEXT D :: CALL A(N,O,P,Q,R)
1090 CALL COLOR(11,15,15) :: DISPLAY AT(1,11):"SCORE=";M :: DISPLAY AT(24,11):"TIME=";L :: FOR D=7 TO 10 :: CALL SPRITE(#D,104,16,89,64*(D-6),0,-5) :: NEXT D
1100 CALL SPRITE(#1,120,8,113,8,0,9,#2,116,5,65,224,0,-11,#3,96,9,J,K,#4,100,2,Q,R,#11,132,13,150,1,0,DA)
1110 CALL SPRITE(#12,136,8,1,73,#13,136,8,173,41,#14,136,8,173,209)
1120 L=L-1 :: DISPLAY AT(24,16):L :: IF L=0 THEN 1350
1130 CALL COINC(#3,#1,15,FA) :: CALL COINC(#3,#2,15,GA) :: IF FA+GA THEN 1330
1140 CALL COINC(#3,#4,15,T) :: IF T THEN U=1 :: GOTO 1270
1150 CALL COINC(#3,#11,18,HA) :: IF HA THEN 1320
1160 H=H-1 :: IF H=0 THEN CALL DELSPRITE(#5) :: DISPLAY AT(4,11):" "
1170 I=I-1 :: IF I=0 THEN CALL DELSPRITE(#6)
1180 IF F THEN CALL JOYST(1,W,X)ELSE GOSUB 1420
1190 CALL POSITION(#3,J,K) :: IF ABS(J-89)<48 THEN CALL MOTION(#3,-X*3,W*4.5)ELSE CALL MOTION(#3,-X,W*4.5) :: M=M-5 :: DISPLAY AT(1,17):M
1200 CALL COINC(#3,#1,15,FA) :: CALL COINC(#3,#2,15,GA) :: IF FA+GA THEN 1330
1210 CALL COINC(#3,#5,17,CA) :: IF CA THEN CALL SOUND(100,-1,5) :: M=M+100 :: DISPLAY AT(1,17):M :: GOTO 1120
1220 CALL COINC(#3,#11,18,HA) :: IF HA THEN 1320
1230 CALL COINC(#3,#4,15,T) :: IF T THEN 1270
1240 IF(221-R)*(21-R)>0 THEN P=8*SGN(21-R)
1250 IF(132-Q)*(46-Q)>0 THEN O=8*SGN(46-Q)
1260 Q=Q+O :: R=R+P :: CALL LOCATE(#4,Q,R) :: GOTO 1120
1270 CALL SOUND(100,-2,5) :: CALL SPRITE(#6,108,10,Q,R,0,-5) :: M=M+40 :: DISPLAY AT(1,17):M :: RANDOMIZE :: CALL PEEK(-31808,Y,Z) :: Q=2*INT(Y/5)+40 :: R=3*INT(Z/4)+30
1280 O=8*SGN(Q-90) :: P=8*SGN(R-125) :: IF O+2*P=0 THEN P=8
1290 CALL LOCATE(#4,Q,R) :: I=2
1300 IF M>AA THEN N=INT(R/32)+1 :: CALL SPRITE(#5,124,4,96+24*SGN(96-J),128+9*N*SGN(128-K)) :: H=8 :: AA=M+340+Q :: DISPLAY AT(4,11):"BONUS BUG"
1310 IF U=1 THEN U=0 :: GOTO 1180 ELSE 1120
1320 CALL SOUND(100,-3,5) :: M=M+90 :: DISPLAY AT(1,17):M :: DA=-DA :: EA=-EA :: CALL SPRITE(#11,132,13,89+EA,255,0,DA) :: GOTO 1180
1330 CALL SOUND(300,-7,3) :: IF FA THEN CALL POSITION(#1,IA,JA)ELSE CALL POSITION(#2,IA,JA)
1340 CALL CHAR(96,H$) :: CALL SPRITE(#3,96,9,IA,JA,0,-5)
1350 CALL DELSPRITE(#5,#6,#11) :: CALL MOTION(#3,0,0,#4,0,0,#7,0,0,#8,0,0,#9,0,0,#10,0,0)
1360 DISPLAY AT(3,3):"GAME OVER" :: DISPLAY AT(4,11):" " :: GOSUB 1500
1370 CALL DELSPRITE(ALL) :: CALL CLEAR :: PRINT "*******SCORE ANALYSIS*******": : :: PRINT "YOUR FINAL SCORE IS";M: :"THE UNUSED TIME IS";L: :
1380 PRINT "BELOW 350 : PUPPY":"350 - 999 : 1ST GEAR":"1000 - 1499 : 2ND GEAR":"1500 - 1999 : 3TH GEAR":"2000 - 2999 : 4TH GEAR":"3000 - 3999 : 5TH GEAR"
1390 PRINT "4000 - 4999 : MAD DOG":"ABOVE 5000 : TWILIGHT ZONE": : : : : : : : :: PRINT "PLAY AGAIN (Y/N)?"
1400 CALL KEY(0,B,C) :: IF B=121 THEN 490 ELSE IF B=110 THEN 1410 ELSE 1400
1410 CALL DELSPRITE(ALL) :: CALL CLEAR :: END
1420 CALL KEY(0,KA,LA) :: IF KA=101 THEN X=4 :: W=0 :: GOTO 1470
1430 IF KA=100 THEN X=0 :: W=4 :: GOTO 1470
1440 IF KA=120 THEN X=-4 :: W=0 :: GOTO 1470
1450 IF KA=115 THEN X=0 :: W=-4 :: GOTO 1470
1460 X=0 :: W=0
1470 RETURN
1480 CALL SOUND(300,-7,3) :: CALL POSITION(#1,IA,JA) :: IF IA=0 OR JA=0 THEN IA=141 :: JA=2
1490 CALL CHAR(96,H$) :: CALL SPRITE(#2,96,9,IA,JA,0,-5) :: RETURN
1500 E=0
1510 E=E+1 :: CALL KEY(0,KA,LA) :: IF KA<>13 AND E<>180 THEN 1510
1520 RETURN
1530 SUB A(A,B,C,D,E) :: RANDOMIZE :: A=INT(RND*8+1) :: B=8*SGN((A-4)*(A- 8)) :: C=8*SGN((A-2)*(A-6)) :: D=54+8*A :: E=212-20*A :: SUBEND

 

 

 

 

 

....or here as DSK with some more I found:

 

MADDOG_MISC-versions-rms01.dsk

 

 

post-41141-0-46846600-1456260298_thumb.png

 

  • Like 1
Link to comment
Share on other sites

  • 4 months later...

I used to have all the TImagination games on cassette. Ordered them from the author years after the fact, luckily he still had the same address as listed in his old 99'er ads. Walls and Bridges remains a fantastic BASIC game, I put up a thread on it a while back.

 

If I recall, Psyborg's first two parts were really engrossing and then part 3 was a total letdown. Major points for ambition alone on a game that size though.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...