sparkdrummer Posted February 23, 2016 Share Posted February 23, 2016 Been looking for the game psyborg by timagination. It's a 3 part cassette game. Anybody know where this could be had? Also looking for Mad dog I and II by data ware? Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted February 23, 2016 Share Posted February 23, 2016 Hi, maybe this is MadDog ? 90 REM100 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 210120 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 120130 DATA 392,2,330,2,392,4,392,2,330,2140 DATA 392,4,392,2,330,2,392,3,440,1,392,2,330,2160 DATA 392,4,330,2,349,2,392,2,349,4,294,2180 DATA 392,2,349,4,294,2,262,10,0,0210 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 6340 CALL SPRITE(#D,72,2,250,240-(4*2^(D-1)),2*(8-D),0) :: NEXT D350 RESTORE :: GOSUB 120360 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=0420 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 20500 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 9510 CALL SPRITE(#D,104,16,89,64*(D-5),0,-5) :: NEXT D520 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 710540 CALL COINC(#2,#1,15,S) :: IF S THEN 700550 CALL COINC(#2,#3,15,T) :: IF T THEN U=1 :: GOTO 670560 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=V580 IF F THEN CALL JOYST(1,W,X)ELSE GOSUB 1420590 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):M600 CALL COINC(#2,#1,15,S) :: IF S THEN 700610 CALL COINC(#2,#3,15,T) :: IF T THEN 670620 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 530670 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 710680 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=8690 CALL LOCATE(#3,Q,R) :: I=2 :: IF U=1 THEN U=0 :: GOTO 570 ELSE 530700 GOSUB 1480710 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 730720 DISPLAY AT(3,3):"GAME OVER":" 350 IS QUALIFYING" :: GOSUB 1500 :: GOTO 1370730 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 760770 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 D790 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 1010810 CALL COINC(#2,#1,15,S) :: IF S THEN 1000820 CALL COINC(#2,#3,15,T) :: IF T THEN U=1 :: GOTO 960830 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=V860 IF F THEN CALL JOYST(1,W,X)ELSE GOSUB 1420870 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):M880 CALL COINC(#2,#1,15,S) :: IF S THEN 1000890 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 800900 CALL COINC(#2,#3,15,T) :: IF T THEN 960910 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 800960 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 1010970 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=8980 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 8001000 GOSUB 14801010 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 10301020 DISPLAY AT(3,3):"GAME OVER":" 1500 IS QUALIFYING" :: GOSUB 1500 :: GOTO 13701030 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 10701080 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 D1100 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 13501130 CALL COINC(#3,#1,15,FA) :: CALL COINC(#3,#2,15,GA) :: IF FA+GA THEN 13301140 CALL COINC(#3,#4,15,T) :: IF T THEN U=1 :: GOTO 12701150 CALL COINC(#3,#11,18,HA) :: IF HA THEN 13201160 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 14201190 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):M1200 CALL COINC(#3,#1,15,FA) :: CALL COINC(#3,#2,15,GA) :: IF FA+GA THEN 13301210 CALL COINC(#3,#5,17,CA) :: IF CA THEN CALL SOUND(100,-1,5) :: M=M+100 :: DISPLAY AT(1,17):M :: GOTO 11201220 CALL COINC(#3,#11,18,HA) :: IF HA THEN 13201230 CALL COINC(#3,#4,15,T) :: IF T THEN 12701240 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 11201270 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)+301280 O=8*SGN(Q-90) :: P=8*SGN(R-125) :: IF O+2*P=0 THEN P=81290 CALL LOCATE(#4,Q,R) :: I=21300 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 11201320 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 11801330 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 15001370 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 14001410 CALL DELSPRITE(ALL) :: CALL CLEAR :: END1420 CALL KEY(0,KA,LA) :: IF KA=101 THEN X=4 :: W=0 :: GOTO 14701430 IF KA=100 THEN X=0 :: W=4 :: GOTO 14701440 IF KA=120 THEN X=-4 :: W=0 :: GOTO 14701450 IF KA=115 THEN X=0 :: W=-4 :: GOTO 14701460 X=0 :: W=01470 RETURN1480 CALL SOUND(300,-7,3) :: CALL POSITION(#1,IA,JA) :: IF IA=0 OR JA=0 THEN IA=141 :: JA=21490 CALL CHAR(96,H$) :: CALL SPRITE(#2,96,9,IA,JA,0,-5) :: RETURN1500 E=01510 E=E+1 :: CALL KEY(0,KA,LA) :: IF KA<>13 AND E<>180 THEN 15101520 RETURN1530 SUB A(A,B,C,D,E) :: RANDOMIZE :: A=INT(RND*8+1) :: B=8*SGN((A-4)*(A- ) :: 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 1 Quote Link to comment Share on other sites More sharing options...
sparkdrummer Posted February 23, 2016 Author Share Posted February 23, 2016 I believe it's the top one Ralf. Thank you! Is it on the attached dsk file? I'm not set up to manipulate text. Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted February 23, 2016 Share Posted February 23, 2016 . yes, I´ve put it onto this DSK. It is the "MAD/DOG1" and I think it was for Extended Basic, so just try to "OLD" it Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted February 23, 2016 Share Posted February 23, 2016 This is OLD DSK1.MAD/DOG1 Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted February 23, 2016 Share Posted February 23, 2016 And this is the OLD DSK1.MAD/DOGS on the DSK: Quote Link to comment Share on other sites More sharing options...
sparkdrummer Posted July 6, 2016 Author Share Posted July 6, 2016 Bump on Psyborg by TImagination - I have the first part, missing part 2 & 3. Just trying to complete my archive of TImagination stuff. Quote Link to comment Share on other sites More sharing options...
InfernalKeith Posted July 7, 2016 Share Posted July 7, 2016 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.