JohnCG Posted May 8 Share Posted May 8 Hello. I have a tape with a frogger game titled, Super Frogger. The frog has to be moved from the left side to the right side instead of botton to top. There's two versions, one joystick controlled and one keyboard controlled. They were saved in protected mode so can't copy to disk or list. When the program starts it asks if my machine has the hardware problem. Alpha lock? It also asks if I want to play the advanced level and when I say yes it asks for a password. I don't know the password. Anybody know more about this game? Thanks. 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted May 8 Share Posted May 8 MILLIPEDE 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted May 8 Share Posted May 8 100 RANDOMIZE :: CALL CLEAR :: CALL SCREEN(16) :: DISPLAY AT(6,8):"SUPER FROGGER": : :" COPYRIGHT 1982": : :" NORTON SOFTWARE" :: FOR I=1 TO 200 :: NEXT I 101 DISPLAY AT(6,6)ERASE ALL:"DOES YOUR MACHINE HAVE THE HARDWARE PROBLEM" :: ACCEPT AT(10,12)VALIDATE("YN")SIZE(1):ANS$ :: IF ANS$="Y" THEN BBB=1 110 DISPLAY AT(6,6)ERASE ALL:" DO YOU WANT TO PLAY THE ADVANCED LEVEL" :: ACCEPT AT(10,12)VALIDATE("YN")SIZE(1):ANS$ :: IF ANS$="N" THEN 140 120 DISPLAY AT(12,2):"OKAY, WHATS THE PASSWORD ?" :: ACCEPT AT(15,6):ANS$ :: IF ANS$="MILLIPEDE" THEN ZQ=5 :: GOTO 140 ELSE DISPLAY AT(17,6):"SORRY THAT'S WRONG" 130 FOR I=1 TO 200 :: NEXT I :: CALL CLEAR :: GOTO 110 140 DIM MS$(11) :: MS$(1)=" RATING: AMUSING" :: MS$(2)=" RATING: TADPOLE" :: MS$(3)=" KERMIT COULD DO BETTER CARRYING MISS PIGGY" 150 MS$(5)=" THE SECRET PASSWORD IS MILLIPEDE" :: MS$(4)="FROM YOUR PERFORMANCE, I CANSEE THAT YOU NEVER PLAY VIDEO GAMES" 160 MS$(6)="THERE IS HOPE FOR YOU YET" :: MS$(7)=" NOT BAD FOR AN AMPHIBIAN" :: MS$(8)=" GOOD, KEEP THIS UP AND THE PRINCESS MAY START LOOKING AT YOU." 170 MS$(9)="EXCELENT SHE'S COMING THIS WAY" :: MS$(10)="THE PRINCESS KISSES YOU (YUCK) !!! AND YOU TURN INTOA UGLY PRINCE WITH WEBBED FEET" 180 MS$(11)=" BET YOU CAN'T MAKE IT TO THE NEXT SCREEN" 190 CALL CLEAR :: CALL SCREEN(2) :: CALL MAGNIFY(4) 200 DIM C(9),D(16) 210 C(0)=96 :: C(1)=108 :: C(9)=104 :: C(8)=100 :: GOSUB 220 :: GOSUB 250 :: GOTO 350 220 CALL COLOR(1,3,5) :: CALL COLOR(2,12,13) :: CALL COLOR(3,2,13) :: CALL COLOR(4,2,13) :: CALL COLOR(5,11,7) :: CALL COLOR(6,15,5) 230 FOR I=69 TO 77 STEP 4 :: CALL CHARPAT(I,GAR$) :: CALL CHAR(58+(I-69)/4,GAR$) :: NEXT I :: CALL CHARPAT(84,GAR$) :: CALL CHAR(61,GAR$) 240 CALL COLOR(7,7,1) :: RETURN 250 CALL CHAR(40,"0540128010452004") :: CALL CHAR(48,"F0F0F0F0F0F0F0F0") :: CALL CHAR(49,"F0F0F0F0FFFFFFFF") :: CALL CHAR(50,"00000000F0F0F0F0") 260 CALL CHAR(51,"F0F0F0F000000000") :: CALL CHAR(52,"FFFFFFFFF0F0F0F0") :: CALL CHAR(53,"00000000FFFFFFFF") :: CALL CHAR(54,"F0F0F0F0F0F0F0F0") 270 CALL CHAR(55,"FFFFFFFF00000000") :: CALL CHAR(56,"FFFFFFFFFFFFFFFF") :: CALL CHAR(57,"0242128010442004") :: CALL CHAR(64,RPT$("F",16)) 280 CALL CHAR(65,"8383838383838383") :: CALL CHAR(66,"FFFFFFFF83838383") :: CALL CHAR(63,"0343138111452105") :: CALL CHAR(33,RPT$("3F",8)) :: CALL CHAR(34,RPT$("FC",8)) 290 CALL CHAR(88,"81838783A1B5A393A397A7AFAFFFE7C3"&RPT$("0",18)) :: CALL CHAR(84,"C3FFDFDFDFCFCFCFC7C7878383838381"&RPT$("0",18)) 300 CALL CHAR(35,RPT$("F8",8)) :: CALL CHAR(132,"C3EFF7EFF7C3"&RPT$("0",42)) :: CALL CHAR(92,"102020100804040810202010080C0C08"&RPT$("0",18)) 310 CALL CHAR(68,"0000000000003C24243C"&RPT$("0",34)) :: CALL CHAR(76,"3333303033333C3C33333C3C33333333FCFCCCCCF0F0F0F0F0F0C0C0C0C0") 320 CALL CHAR(72,"0000001C0407173F3F1707041C0000000000001C1090D0F8F8D090101C0000") :: CALL CHAR(44,"00001C2A3E141C"&RPT$("0",40)) 330 CALL CHAR(80,"00010367FFFB7F7D3E7BEDDF7E3E1C0000868F9FF6FCD8F0D0F0B8F878300000") :: CALL CHAR(36,RPT$("1F",8)) 340 CALL CHAR(41,RPT$("3F",8)) :: CALL CHAR(42,RPT$("FC",8)) :: CALL CHAR(62,"99BDFF3C3CE78181") :: RETURN 350 CALL CHAR(104,"00002A3E1C3E22"&RPT$("0",36)) :: CALL CHAR(100,"0000223E1C3E2A"&RPT$("0",36)) :: CALL CHAR(108,"0000361C1E1C36"&RPT$("0",40)) 360 CALL CHAR(96,"0000361C3C1C36"&RPT$("0",40)) :: CALL CHAR(112,"0000000000183C3C663C243C66663C00"&RPT$("0",18)) 370 CALL CHAR(128,"00183C663C183C7E3C3C3C3C7E7E3C00"&RPT$("0",18)) :: CALL CHAR(116,"0000003C6624247E187E5A5A00000000"&RPT$("0",18)) 380 CALL CHAR(120,"00000000183C663C3C663C1800000000"&RPT$("0",18)) :: CALL CHAR(124,"00187E7E3C187E7E187E427E7E3C0000"&RPT$("0",18)) 390 CALL CHAR(140,"99A5DBE7FFFFFFFFFFFFFFFFFFFFE7C3"&RPT$("0",18)) :: CALL CHAR(136,"C3"&RPT$("F",14)&"FFFFFFFFE7E7C3DB"&RPT$("0",18)) 400 SCR1=0 :: PNT=0 :: FSC=0 :: FG=04 :: LCC=1 :: SCR=0+ZQ :: SD=07 410 CALL VCHAR(1,29,40,96) :: CALL VCHAR(1,16,57,48) :: CALL VCHAR(1,6,56,240) :: CALL VCHAR(1,4,57,48) :: CALL VCHAR(1,1,64,72) 420 SC=0 :: CF=32 :: CCF=32 :: CALL VCHAR(1,3,40,7) :: CALL VCHAR(13,3,65,12) :: FOR I=2 TO 6 STEP 2 :: IF(I/2)+1>FG THEN 430 ELSE CALL VCHAR(I,3,62) 430 NEXT I :: FOR I=1 TO 19 STEP 6 :: CALL HCHAR(I,28,48) :: CALL HCHAR(I+1,28,49) :: CALL HCHAR(I+1,30,50) :: CALL HCHAR(I+4,30,51) :: CALL HCHAR(I+4,28,52) 440 CALL HCHAR(I+5,28,48) :: CALL HCHAR(I+1,29,53) :: CALL VCHAR(I+2,30,54,2) :: CALL HCHAR(I+4,29,55) :: CALL HCHAR(I+2,28,32,2) 450 CALL HCHAR(I+3,28,32,2) :: NEXT I :: CALL VCHAR(1,17,63,24) 460 CALL VCHAR(8,3,61) :: CALL VCHAR(9,3,59) :: CALL VCHAR(10,3,60) :: CALL VCHAR(11,3,58) 470 ON ERROR 1130 480 D(9)=-.75*SD :: D(10)=SD :: D(11)=2*SD :: D(12)=-.75*SD :: D(13)=SD 490 SPRT$="023579"&RPT$("9",100) :: IHS$="212519101712150916" :: SPT1$="0366"&RPT$("6",100) 500 DATA 2,140,1,153,1,3,140,81,153,1,4,140,161,153,1,5,140,41,201,1,6,140,121,201,1 510 DATA 7,140,201,201,1,22,128,25,105,-1.5,14,124,1,89,1,24,120,1,73,-1.5,20,120,153,73,-1.5 520 DATA 13,116,41,57,1,11,116,161,57,1,23,112,49,41,-1.5,18,112,177,41,-1.5 530 DATA 16,128,129,105,-1.5,9,124,121,89,1,15,124,193,89,1,12,116,225,57,1,17,112,97,41,-1.5 540 DATA 10,116,81,57,1,19,112,225,41,-1.5,25,120,73,73,-1.5,21,120,201,73,-1.5 550 DATA 8,140,33,169,2,9,140,129,169,2,10,140,225,169,2,25,92,67,169,2,26,92,163,169,2 560 DATA 20,116,1,41,2,21,124,65,57,2 570 DATA 22,116,97,73,2,23,124,161,89,2,24,116,193,105,2,27,68,223,153,1 580 DATA 11,136,1,137,-.75,12,136,129,137,-.75,15,136,33,185,-.75,16,136,161,185,-.75 590 DATA 13,132,65,137,-.75,14,132,193,137,-.75,17,132,97,185,-.75,18,132,225,185,-.75 600 DATA 2,84,1,153,1,3,88,49,153,1,4,140,161,153,1,5,84,81,201,1 610 DATA 6,88,129,201,1,7,140,201,201,1 620 REM WATER MANAGEMENT AND TRAFFIC CONTROL DIVISON OF FROGGER !!!! 630 CALL VCHAR(1,18,32,240) :: IF SP=1 THEN 730 ELSE CALL DELSPRITE(ALL) 640 SCR=SCR+1 :: SRI=VAL(SEG$(SPRT$,SCR,1))+14 :: RESTORE 500 650 FOR I=1 TO SRI :: READ T1,T2,T4,T5,T6 :: CALL SPRITE(#T1,T2,1,MAX(T4-(INT((T4+I*T6*SD*.086)/257)*256)+I*T6*SD*.086,2)-1,T5) :: NEXT I 660 IF SP=1 THEN 760 ELSE CALL MOTION(#2,SD,0,#3,SD,0,#4,SD,0,#5,SD,0,#6,SD,0,#7,SD,0,#22,-SD,0,#14,SD,0,#24,-SD,0,#20,-SD,0) 670 CALL MOTION(#13,SD,0,#11,SD,0,#23,-SD,0,#18,-SD,0,#16,-SD,0,#9,SD,0,#15,SD,0,#12,SD,0,#17,-SD,0) 680 CALL MOTION(#10,SD,0,#19,-SD,0,#25,-SD,0,#21,-SD,0,#8,SD,0) 690 CALL DELSPRITE(#8) :: FOR I=1 TO 9-VAL(SEG$(SPRT$,SCR,1)) :: CALL DELSPRITE(#VAL(SEG$(IHS$,I*2-1,2))) :: NEXT I 700 CALL COLOR(#2,5,#3,5,#4,5,#5,5,#6,5,#7,5,#9,15,#10,10,#11,10,#12,10,#13,10) 701 IF BBB=1 THEN CALL DELSPRITE(#7,#15,#12,#19,#21) 710 CALL COLOR(#14,15,#15,15,#16,5,#17,3,#18,3,#19,3,#20,6,#21,6,#22,5,#23,3,#24,6,#25,6) 720 SP=1 :: FOR I=1 TO 2 :: CALL VCHAR(1,19+I,I+32,24) :: CALL VCHAR(1,25+I,I+32,24) :: NEXT I :: GOTO 860 730 CALL VCHAR(1,18,32,240) :: CALL DELSPRITE(#1,#9,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22,#23,#24,#25) 740 CALL SOUND(800,440,0,880,0,263,0) :: IF SCR=2 THEN CALL DELSPRITE(#2,#3,#4)ELSE IF SCR>=3 THEN CALL DELSPRITE(#2,#3,#4,#5,#6,#7) 750 RESTORE 550 :: SRI=VAL(SEG$(SPT1$,SCR,1))+19 :: GOTO 650 760 SP=0 :: SE=2*SD :: SF=-.75*SD 770 CALL MOTION(#8,SE,0,#9,SE,0,#10,SE,0,#25,SE,0,#26,SE,0,#20,SE,0,#21,SE,0,#22,SE,0,#23,SE,0,#24,SE,0,#27,SD,0) 780 CALL MOTION(#11,SF,0,#12,SF,0,#15,SF,0,#16,SF,0,#13,SF,0,#14,SF,0,#17,SF,0,#18,SF,0) 790 CALL MOTION(#2,SD,0,#3,SD,0,#27,SD,0,#4,SD,0,#5,SD,0,#6,SD,0,#7,SD,0,#19,SE,0) 791 IF BBB=1 THEN CALL DELSPRITE(#7,#27,#24,#10,#14,#18) 800 CALL DELSPRITE(#19) :: IF SCR<5 THEN CALL DELSPRITE(#25,#26)ELSE IF SCR=5 THEN CALL DELSPRITE(#26,#21)ELSE IF SCR>5 THEN CALL DELSPRITE(#21,#23) 801 IF SCR<2 THEN CALL DELSPRITE(#27) 810 CALL COLOR(#2,5,#3,5,#4,5,#5,5,#6,5,#7,5,#8,5,#9,5,#10,5,#11,5,#12,5,#13,5,#14,5) 820 CALL COLOR(#15,5,#16,5,#17,5,#18,5,#20,10,#21,15,#22,10,#23,15,#24,10,#25,2,#26,2,#27,14) 830 CALL VCHAR(1,18,41,24) :: CALL VCHAR(1,19,42,24) :: CALL VCHAR(1,22,33,24) :: CALL VCHAR(1,23,35,24) :: CALL VCHAR(1,24,41,24) 840 CALL VCHAR(1,25,42,24) 850 FOR I=1 TO 2 :: CALL VCHAR(1,19+I,I+32,24) :: CALL VCHAR(1,25+I,I+32,24) :: NEXT I :: GOTO 860 860 IF SP=1 THEN CALL SPRITE(#1,108,16,97,24)ELSE CALL SPRITE(#1,108,16,R,120) 870 CALL COINC(ALL,H) :: IF H OR R>183 AND R<246 THEN 950 ELSE IF S=120 AND RS=0 OR S=216 OR T>4 THEN 900 ELSE IF RC>20 AND SCR>2 AND RS=1 THEN 910 ELSE CALL POSITION(#1,R,S) :: CALL JOYST(1,N,M) 880 CALL COINC(ALL,H) :: IF H THEN 950 ELSE IF M<>0 XOR N<>0 THEN 890 ELSE RC=RC+1 :: T=T+1 :: GOTO 870 890 O=S+N*4 :: CALL POSITION(#1,R,S) :: CALL MOTION(#1,D(O/16),0) :: CALL LOCATE(#1,R+(-4*M),O) :: CALL PATTERN(#1,102+M*.5+N*1.5) :: T=T+1 :: GOTO 870 900 IF T>4 THEN T=0 :: CT=CT+.5 :: CALL VCHAR(11+CT,3,64) :: CALL VCHAR(12+CT,3,65+(CT/2)/INT(CT+.5)) :: CALL SOUND(9,440,0) :: GOTO 870 ELSE IF S=120 AND RS=0 THEN RS=1 :: GOTO 730 ELSE 1030 910 RC=0 :: OCC=LCC :: LCC=INT(RND*4)+1 :: IF OCC=LCC THEN 870 ELSE CCF=CF :: PS=6*OCC-3 :: CALL GCHAR(6*LCC-3,28,CF) :: IF CCF=72 THEN OF=1 ELSE OF=0 920 CALL VCHAR(PS,28,32+40*OF) :: CALL VCHAR(PS+1,28,32+41*OF) :: CALL VCHAR(PS,29,32+42*OF) :: CALL VCHAR(PS+1,29,32+43*OF) 930 DISPLAY AT(6*LCC-3,26)SIZE(2):"LN" :: DISPLAY AT(6*LCC-2,26)SIZE(2):"MO" :: GOTO 870 940 REM BLOOD AND GUTS ROUTINES 950 IF SP=0 AND FZ=0 THEN FZ=1 :: CALL COINC(#1,#27,20,H) :: IF H THEN PNT=PNT+150 :: CALL DELSPRITE(#27) :: H=0 :: GOTO 870 960 CALL POSITION(#1,R,S) :: IF S>39 AND S<120 AND(R<184 OR R>245)THEN CALL DELSPRITE(#1) :: DISPLAY AT(R/8+1,S/8-1)SIZE(2):"PR" :: DISPLAY AT(R/8+1,S/8-1)SIZE(2):"QS" ELSE 1000 970 CALL SOUND(1000,262,0,262,1,349,7) :: FOR I=1 TO 50 :: NEXT I 980 DISPLAY AT(R/8+1,S/8-1)SIZE(2):"PR" :: DISPLAY AT(R/8+2,S/8-1)SIZE(2):"QS" :: FOR I=1 TO 5 :: CALL COLOR(7,10,2) :: FOR J=1 TO 20 :: NEXT J :: CALL COLOR(7,7,2) :: NEXT I 990 GOTO 1020 1000 CALL COLOR(#1,2) :: CALL PATTERN(#1,44) 1010 CALL SOUND(-250,-7,0) :: FOR I=1 TO 10 :: NEXT I :: CALL SOUND(-500,-5,0) :: FOR I=1 TO 200 :: NEXT I 1020 SC=1 :: CALL MOTION(#1,0,0) :: GOSUB 1120 :: FG=FG-1 :: IF FG=0 THEN GOTO 1050 ELSE IF FG>3 THEN GOTO 620 ELSE CALL VCHAR(FG*2,3,40) :: GOTO 620 1030 CALL GCHAR((R+8)/8,28,CC) :: CALL POSITION(#1,R,S) :: IF CC<>32 OR R<12+48*INT((R)/48)OR R>20+48*INT((R)/48)THEN 1000 1040 DISPLAY AT(INT((R)/48)*6+3,26)SIZE(2):"HJ" :: DISPLAY AT(INT((R)/48)*6+4,26)SIZE(2):"IK" :: GOSUB 1120 :: FSC=FSC+1 :: PNT=PNT+200 :: IF FSC>=4 THEN FSC=0 :: GOTO 1080 ELSE 620 1050 CALL DELSPRITE(ALL) :: CALL CLEAR :: CALL SCREEN(8) :: CALL CHARSET :: DISPLAY AT(4,4):SCR1;"SCREENS COMPLETED" :: DISPLAY AT(7,10):"SCORE ";PNT 1060 DISPLAY AT(14,2):"DO YOU WANT TO PLAY AGAIN" :: ACCEPT AT(17,12)VALIDATE("YN")SIZE(1):ANS$ 1070 IF ANS$="Y" THEN CALL SCREEN(2) :: CALL CLEAR :: GOSUB 220 :: GOSUB 250 :: GOTO 400 ELSE CALL CLEAR :: STOP 1080 PNT=PNT+500 :: CF=32 :: CCF=32 :: FG=FG+1 :: SCR=SCR+1 :: SCR1=SCR1+1 :: IF SCR>5 THEN SD=SD+3 :: SCR=3 :: IF SD>13 THEN SD=13 1090 IF SC=0 THEN PNT=PNT+1000 1100 CALL CLEAR :: CALL DELSPRITE(ALL) :: CALL CHARSET :: CALL SCREEN(9) :: IF SCR1+ZQ>11 THEN ZQ=0 :: SCR1=11 1110 DISPLAY AT(8,2):MS$(SCR1+ZQ) :: DISPLAY AT(16,6):"CURRENT SCORE:";PNT :: FOR I=1 TO 500 :: NEXT I :: CALL CLEAR :: CALL SCREEN(2) :: GOSUB 220 :: GOSUB 250 :: GOTO 410 1120 FZ=0 :: CT=0 :: S=24 :: R=97 :: SP=0 :: RC=0 :: T=0 :: CALL VCHAR(13,3,65,12) :: RS=0 :: SCR=SCR-1 :: RETURN 1130 ON ERROR 1130 :: S=24 :: RETURN 1000 SS123.dsk 8 1 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted May 8 Share Posted May 8 2 Quote Link to comment Share on other sites More sharing options...
Gary from OPA Posted May 8 Share Posted May 8 4 minutes ago, ti99iuc said: Has anyone tried converting it to compiled basic? Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted May 8 Share Posted May 8 1 hour ago, Gary from OPA said: Has anyone tried converting it to compiled basic? It would need a little work. There are floating point numbers and it uses VALIDATE. (and maybe other issues) VALIDATE is easy: 1061 ACCEPT AT(17,12)VALIDATE("YN")SIZE(1):ANS$ can become: 1061 ACCEPT AT(17,12)SIZE(1):ANS$::IF ANS$<>"Y" AND ANS$<>"N" THEN 1061 The floating point numbers would take a little more effort to eliminate. 1 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted May 8 Share Posted May 8 A little hint about protected disks. The standard TI method was to add the letter "P" to a specific spot in the disk header. that letter informed the computer that it should not copy the disk contents. Individual program files could also be protected so that you could not list them--a problem that can be solved with a specific CALL LOAD routine. A quick way to remove the disk level protection is to use the DSKU program, as it can easily clear the protection. You can also go in with a sector editor and remove the letter "P" if you want to get closer to the bare metal. . . 4 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.