-
Posts
537 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Events
Store
Posts posted by oddemann
-
-
How do you play it? I found 3 bugs in my revamped and translated ver.
My last ver. is better then yours. Your dos not end, all trees die, but the game dos not end. Mine ends, but I still cant move the air ship!
One difference is this... In your you have:430 CALL MAGNIFY(3) :: SP=6 :: FA=3 :: SCO1,SCO2,SCO3=0 :: BONUS=200 :: BO1=50
In the book it is saying:
430 CALL MAGNIFY(3) :: SP=6 :: FA=3 :: SCO1=0 :: SCO2=11 :: BONUS=200 :: SCO3=0 :: BO1=50
10 CALL CLEAR :: CALL SCREEN(11) 20 FAR(1)=2 :: FAR(2)=11 :: FAR(3)=16 :: FAR(4)=11 :: FAR(5)=11 :: DIM ABG(11) 30 REM SPRITES, INITIALIZE SIGN**************** 40 S1$="0103070D03070F0F1B070F1F070F3F7F0080C0E0C0E0F0C0E0F0E8F0F8FCF8FE" 50 CALL CHAR(88,S1$):: CALL COLOR(8,13,16) 60 S3$="010709030D110719230D71030D3147010080C0B0C0B080E09CC0B08CC2B08E80" 70 CALL CHAR(40,S3$):: CALL COLOR(2,2,1):: CALL COLOR(2,2,16) 80 S2$="010101010101010180808080808080800000000000000000" 90 CALL CHAR(128,S2$):: CALL COLOR(13,2,16) 100 S4$="FFFFFFFFFFFFFFFF" :: CALL CHAR(96,S4$):: CALL COLOR(9,4,1) 110 S5$="606060706864626161626468706060600606060E16264686864626160E060606" :: CALL CHAR(44,S5$) 120 S6$="002012080513077F07130508122000008082A488D0E4F0FFF0E4D088A4828000" :: CALL CHAR(92,S6$) 130 S7$="FFFFFFFF1F1F1F1F1F1F1F1F1F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" :: CALL CHAR(100,S7$) 140 S8$="0003073F7F7FFFFFFFFF7F1F0301000000C0F0F0F8FEFEFEFCF8FEFEDCC00000" :: CALL CHAR(104,S8$) 150 S9$="0000000000000000000004050607000004081020403008102040800000800000" :: CALL CHAR(108,S9$) 160 S10$="0141541410044555511404A4A0A8090904444141012928080044454511141400" :: CALL CHAR(112,S10$) 170 S11$="00FFFFFFFFFF04043F60FBFBFB7B3F0000FFFFFFFFFF2020E0BCBFBFBFBCE000" :: CALL CHAR(116,S11$) 180 S12$="00000000061F7FFF081C3C7EFEFFFFFF00000207CFDFFFFF00000008DCFFFFFF" :: CALL CHAR(120,S12$):: CALL COLOR(12,16,8) 190 S13$="0000000001038BFF080C1E1E9EBFBFFF0000090F1F3FFFFF00000000848CCEFF" :: CALL CHAR(124,S13$) 200 S14$="00000000000000FFFF007FF0FBFBF07F00000000000000FFFF00FE0F1F1F0FFE" :: CALL CHAR(132,S14$) 210 S15$="01042000684402010102446800244000C0460084808CAEC6C0A6908194044010" :: CALL CHAR(36,S15$) 220 S16$="000000000000000000010F3F3F7F7FFF00000000000000003FFFFFFFFFFFFFFF" :: CALL CHAR(136,S16$) 230 S17$="FF7F7F3F3F0F01000000000000000000FFFFFFFFFFFFFF3F0000000000000000" :: CALL CHAR(140,S17$) 240 REM INTRODUCTION*********** 250 DISPLAY AT(2,10):"RAIN GAME" :: DISPLAY AT(3,10):"=========" :: DISPLAY AT(1,10): "=========" 260 DISPLAY AT(5,6):"VON R HEIGENMOSER" 270 DISPLAY AT(8,2):"tv" :: DISPLAY AT(9,2):"uw =INTERRUPTER" 280 DISPLAY AT(11,2):"hj" :: DISPLAY AT(12,2):"ik" 290 DISPLAY AT(14,2):"WHITE = LET THROUGH" 300 DISPLAY AT(16,2):"YELLOW = INTERCEPT" :: DISPLAY AT(18,2):"DARK = CAUTION!!" 310 DISPLAY AT(24,2):"PRESS BUTTON!" 320 CALL KEY(0,K,STA):: IF STA=0 THEN 320 330 REM LANDSCAPE, PUT SPRAY*********** 340 CALL CLEAR :: CALL SCREEN(8):: FOR I=1 TO 4 350 DISPLAY AT(19,8*I-7):"xyz{";CHR$(124);CHR$(125);CHR$(126);CHR$(127):: NEXT I 360 CALL HCHAR(20,1,130,128) 370 CALL HCHAR(24,1,96,32) 380 FOR I=1 TO 11 390 DISPLAY AT(21,2*I)SIZE(2):"XZ" :: DISPLAY AT(22,2*I)SIZE(2):"Y[" 400 DISPLAY AT(23,2*I)SIZE(2):CHR$(128);CHR$(129) 410 NEXT I 420 DISPLAY AT(20,26)SIZE(2):",." :: DISPLAY AT(21,26)SIZE(2):"-/" :: DISPLAY AT(22,26)SIZE(2):",." :: DISPLAY AT(23,26)SIZE(2):"-/" 430 CALL MAGNIFY(3) :: SP=6 :: FA=3 :: SCO1=0 :: SCO2=11 :: BONUS=200 :: SCO3=0 :: BO1=50 440 FOR I=1 TO 11 :: ABG(I)=0 :: NEXT I 450 CALL SPRITE(#9,92,12,20,1,0,1) 480 CALL SPRITE(#1,100,5,137,217,0,0) 470 CALL SPRITE(#2,116,7,50,1,0,0) 480 CALL SPRITE(#7,136,5,129,205,0,0) 490 CALL SPRITE(#8,140,5,145,205,0,0) 500 DISPLAY AT(1,2):"tvtvtv POINTS:" :: DISPLAY AT(2,2):"uwuwuw FILLING:" 510 REM MAIN PROGRAM********* 520 FOR DUR=1 TO 4 530 CALL DELSPRITE(#3) 540 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 550 DISPLAY AT(1,20):SCO3 :: DISPLAY AT(2,20):SCO1 560 IF SCO1=5 THEN 950 570 RO3=INT(RND*120+10) 580 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP):: CALL POSITION(#2,POSY,POSX):: IF POSY>160 OR POSY<10 THEN 1080 580 STO=INT(RND*160)+25 600 NEG=-2+INT(RND*5) :: IF NEG=O THEN NEG=3 610 REM CLOUD************ 620 CALL SPRITE(#3,104,16,RO3,1,0,NEG*8) 630 CALL COINC(#3,RO3,STO,5,CO3) :: IF CO3=-1 THEN 670 640 CALL JOYST(2,XPOS,YPOS) :: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 650 GOTO 630 660 REM POSITION REACHED********** 670 CALL MOTION(#3,0,0):: FA=INT(RND*5)+1 :: CALL COLOR(#3,FAR(FA)) :: ON FA GOTO 690,790,870,790,790 680 REM BLACK********** 690 CALL JOYST(2,XPOS,YPOS) :: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 700 IF FLA>1 THEN FLA=0 :: GOTO 530 710 IF INT(RND*3)<>1 THEN 690 :: FLA=FLA+1 720 SSP=INT(RND*-100)+50 730 CALL SOUND(100,-6,0) 740 CALL SPRITE(#4,108,16,RO3,STO,90,SSP) 750 CALL COINC(#2,#4,20,CO24) :: IF CO24=-1 ·THEN 1080 760 CALL POSITION(#4,POSY,POSX):: IF POSY>150 THEN CALL DELSPRITE(#4):: GOTO 700 770 GOTO 750 780 REM GUL************* 790 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP) 800 CALL SOUND(200,1400,0,RO3*15,0,STO*10,0,-4,0) 810 CALL SPRITE(#5,112,14,RO3,STO,20,0) 820 CALL COINC(#2,#5,7,CO25):: IF CO25=-1 THEN CALL DELSPRITE(#5):: SCO1=SCO1+1 :: GOTO 1230 830 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP) 840 CALL POSITION(#5,POSY,POSX):: IF POSY>160 THEN 1160 850 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPDS*SP,XPOS*SP):: GOTO 820 860 REM HVIT************ 870 CALL JOYST(2,XPOS,YPOS) :: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 880 CALL SOUND(300,-1,0) 890 CALL SPRITE(#5,112,5,RO3,STO,20,0) 900 CALL COINC(#2,#5,10,CO25):: IF CO25=-1 THEN CALL DELSPRITE(#5):: GOTO 1150 910 CALL POSITION(#5,POSY,POSX) :: IF POSY>150 THEN CALL DELSPRITE(#5) :: GOTO 530 920 CALL JOYST(2,XPOS,YPOS) :: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 930 GOTO 900 940 REM OPEN CONTAINER*********** 950 CALL MOTION(#7,-1,0) :: CALL MOTION(#8,1,0) 960 CALL COINC(#7,121,205,1,CO7) :: IF CO7=-1 THEN CALL MOTION(#7,0,0) :: CALL MOTION(#8,0,0) :: CALL LOCATE(#7,121,205):: CALL LOCATE(#8,153,205):·: GOTO 990 970 CALL SOUND(-50,1400,0) 980 GOTO 960 990 SP=1 1000 REM DOCKING*********** 1010 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP) 1020 CALL COINC(ALL,COAL):: IF COAL=-1 THEN 1040 1030 GOTO 1010 1040 CALL MOTION(#2,0,0):: SP=6 :: CALL POSITION(#2,POSY,POSX):: IF POSY<>137 THEN CLO=1 :: GOTO 1080 1050 SCO3=SCO3+BO1 :: SCO1=0 :: IF SCO3>=BONUS THEN GOSUB 1370 1060 CALL LOCATE(#2,137,180):: GOSUB 1310 :: GOSUB 1250 :: GOTO 540 1070 REM SHOCKED********** 1080 SCO1=0 :: CALL DELSPRITE(#4):: CALL MOTION(#2,0,0):: CALL PATTERN(#2,36) 1090 FOR I=0 TO 30 :: CALL SOUND(50,-6,I):: NEXT I 1100 DISPLAY AT(1,2*DUR)SIZE(2):" " :: DISPLAV AT(2,2*DUR)SIZE(2):" " 1110 CALL DELSPRITE(#2):: IF CLO=1 THEN CLO=O:: GOSUB 1250 1120 CALL SPRITE(#2,116,7,70,10,0,0) 1130 NEXT DUR 1140 GOTO 1590 1150 REM DIED TREE************ 1160 CALL DELSPRITE(#5):: VERN=-INT(-(STO-8)/8):: IF VERN/2-INT(VERN/2)<>0 THEN VERN=VERN-1 1170 DISPLAY AT(21,VERN)SIZE(2):"(*" :: DISPLAY AT(22,VERN)SIZE(2):")+" 1180 IF ABG(VERN/2)=0 THEN SCO2=SCO2-1 1190 ABG(VERN/2)=1 1200 CALL SOUND(500,110,0) 1210 IF SCO2=0 THEN 1590 ELSE 530 1220 REM SOUND FOR CAUGHT************ 1230 CALL SOUND(200,440,0) :: CALL SOUND(200,880,O) :: CALL SOUND(200,1760,0) :: GOTO 530 1240 REM CLOSE CONTAINER************ 1250 CALL MOTION(#7,1,0):: CALL MOTION(#8,-1,0) 1260 CALL COINC(#7,130,205,1,CO7) :: IF CO7=-1 THEN CALL MOTION(#7,0,0) :: CALL MOTION(#8,0,0) :: CALL LOCATE(#8,145,205):: GOTO 1290 1270 CALL SOUND(-50,1600,0) 1280 GOTO 1260 1290 RETURN 1300 REM RENEW TREE********* 1310 CALL SOUND(200,440,0) :: CALL SOUND(200,88O,0) :: CALL SOUND(200,1760,0) 1320 FOR I=1 TO 11 1330 IF ABG(I)=1 THEN DISPLAY AT(21,2*I)SIZE(2):"XZ" :: DISPLAY AT(22,2*I)SIZE(2):"Y[" :: ABG(I)=0 :: SCO2=SCO2+1 :: GOTO 1350 1340 NEXT I :: SCO3=SCO3+BO1 1350 RETURN 1360 REM BONUS*********** 1370 DISPLAY AT(15,20):"BONUS" :: CALL SPRITE(#6,132,2,169,1,0,5) 1380 CALL COINC(#6,169,217,3,CO6):: IF CO6=-1 THEN CALL MOTION(#6,0,0):: GOTO 1410 1390 CALL SOUND(50,110,10) 1400 GOTO 1380 1410 CALL MOTION(#1,1,0) 1420 CALL COINC(#1,#6,8,CO16):: IF CO16=-1 THEN CALL MOTION(#1,0,0):: GOTO 1450 1430 CALL SOUND(50,-3,0) 1440 GOTO 1420 1450 CALL MOTION(#6,0,5):: CALL MOTION(#1,0,5) 1460 FOR I=1 TO 200 :: NEXT I 1470 CALL COINC(#6,169,217,3,CO6):: IF CO6=-1 THEN CALL MOTION(#6,0,0):: CALL MOTION(#1,0,0):: GOTO 1500 1480 CALL SOUND(50,140,10) 1490 GOTO 1470 1500 CALL MOTION(#1,-1,0) 1510 CALL COINC(#1,137,217,3,CO1):: IF CO1=-1 THEN 1540 1520 CALL SOUND(20,1000,0) 1530 GOTO 1510 1540 CALL MOTION(#1,0,0) :: CALL LOCATE(#1,137,217) 1550 DISPLAY AT(15,20):" " 1560 BONUS=BONUS+4*BO1 :: BO1=BO1+20 :: CALL DELSPRITE(#6):: IF DUR<2 THEN SCO3=SCO3+100 :: RETURN 1570 DUR=DUR-1 :: DISPLAY AT(1,2*DUR)SIZE(2):"tv" :: DISPLAY AT(2,2*DUR)SIZE(2):"uw" :: RETURN 1580 REM END********** 1590 CALL CLEAR :: CALL SCREEN(15):: DISPLAY AT(12,4):"ONCE AGAIN? J OR N" 1600 HIGH=MAX(HIGH,SCO3):: DISPLAY AT(15,5):"HIGHSCORE:";HIGH 1610 CALL KEY(0,K,STA):: IF STA=0 THEN 1610 1620 IF K=106 THEN 340 1630 END
-
Cool a programmer from back in the day... I have 3 of the games. Living in Norway it was not so easy to get games. But I got at least 3 of them.
-
Rain game! - PROGRAMME für den TI 99/4a und TI 99/4
Help... Dos not work!10 CALL CLEAR :: CALL SCREEN(11) 20 FAR(1)=2 :: FAR(2)=11 :: FAR(3)=16 :: FAR(4)=11 :: FAR(5)=11 :: DIM ABG(11) 30 REM SPRITES, INITIALIZE SIGN**************** 40 S1$="0103070D03070F0F1B070F1F070F3F7F0080C0E0C0E0F0C0E0F0E8F0F8FCF8FE" 50 CALL CHAR(88,S1$):: CALL COLOR(8,13,16) 60 S3$="010709030D110719230D71030D3147010080C0B0C0B080E09CC0B08CC2B08E80" 70 CALL CHAR(40,S3$):: CALL COLOR(2,2,1):: CALL COLOR(2,2,16) 80 S2$="010101010101010180808080808080800000000000000000" 90 CALL CHAR(128,S2$):: CALL COLOR(13,2,16) 100 S4$="FFFFFFFFFFFFFFFF" :: CALL CHAR(96,S4$):: CALL COLOR(9,4,1) 110 S5$="606060706864626161626468706060600606060E16264686864626160E060606" :: CALL CHAR(44,S5$) 120 S6$="002012080513077F07130508122000008082A488D0E4F0FFF0E4D088A4828000" :: CALL CHAR(92,S6$) 130 S7$="FFFFFFFF1F1F1F1F1F1F1F1F1F1F1F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" :: CALL CHAR(100,S7$) 140 S8$="0003073F7F7FFFFFFFFF7F1F0301000000C0F0F0F8FEFEFEFCF8FEFEDCC00000" :: CALL CHAR(104,S8$) 150 S9$="0000000000000000000004050607000004081020403008102040800000800000" :: CALL CHAR(108,S9$) 160 S10$="0141541410044555511404A4A0A8090904444141012928080044454511141400" :: CALL CHAR(112,S10$) 170 S11$="00FFFFFFFFFF04043F60FBFBFB7B3F0000FFFFFFFFFF2020E0BCBFBFBFBCE000" :: CALL CHAR(116,S11$) 180 S12$="00000000061F7FFF081C3C7EFEFFFFFF00000207CFDFFFFF00000008DCFFFFFF" :: CALL CHAR(120,S12$):: CALL COLOR(12,16,8) 190 S13$="0000000001038BFF080C1E1E9EBFBFFF0000090F1F3FFFFF00000000848CCEFF" :: CALL CHAR(124,S13$) 200 S14$="00000000000000FFFF007FF0FBFBF07F00000000000000FFFF00FE0F1F1F0FFE" :: CALL CHAR(132,S14$) 210 S15$="01042000684402010102446800244000C0460084808CAEC6C0A6908194044010" :: CALL CHAR(36,S15$) 220 S16$="000000000000000000010F3F3F7F7FFF00000000000000003FFFFFFFFFFFFFFF" :: CALL CHAR(136,S16$) 230 S17$="FF7F7F3F3F0F01000000000000000000FFFFFFFFFFFFFF3F0000000000000000" :: CALL CHAR(140,S17$) 240 REM INTRODUCTION*********** 250 DISPLAY AT(2,10):"RAIN GAME" :: DISPLAY AT(3,10):"=========" :: DISPLAY AT(1,10): "=========" 260 DISPLAY AT(5,6):"VON R HEIGENMOSER" 270 DISPLAY AT(8,2):"tv" :: DISPLAY AT(9,2):"uw =INTERRUPTER" 280 DISPLAY AT(11,2):"hj" :: DISPLAY AT(12,2):"ik" 290 DISPLAY AT(14,2):"WHITE = LET THROUGH" 300 DISPLAY AT(16,2):"YELLOW = INTERCEPT" :: DISPLAY AT(18,2):"DARK = CAUTION!!" 310 DISPLAY AT(24,2):"PRESS BUTTON!" 320 CALL KEY(0,K,STA):: IF STA=0 THEN 320 330 REM LANDSCAPE, PUT SPRAY*********** 340 CALL CLEAR :: CALL SCREEN(8):: FOR I=1 TO 4 350 DISPLAY AT(19,8*I-7):"xyz{";CHR$(124);CHR$(125);CHR$(126);CHR$(127):: NEXT I 360 CALL HCHAR(20,1,130,128) 370 CALL HCHAR(24,1,96,32) 380 FOR I=1 TO 11 390 DISPLAY AT(21,2*I)SIZE(2):"XZ" :: DISPLAY AT(22,2*I)SIZE(2):"Y[" 400 DISPLAY AT(23,2*I)SIZE(2):CHR$(128);CHR$(129) 410 NEXT I 420 DISPLAY AT(20,26)SIZE(2):",." :: DISPLAY AT(21,26)SIZE(2):"-/" :: DISPLAY AT(22,26)SIZE(2):",." :: DISPLAY AT(23,26)SIZE(2):"-/" 430 CALL MAGNIFY(3) :: SP=6 :: FA=3 :: SCO1=0 :: SCO2=11 :: BONUS=200 :: SCO3=0 :: BO1=50 440 FOR I=1 TO 11 :: ABG(I)=O :: NEXT I 450 CALL SPRITE(#9,92,12,20,1,0,1) 480 CALL SPRITE(#1,100,5,137,217,0,0) 470 CALL SPRITE(#2,116,7,50,1,0,0) 480 CALL SPRITE(#7,136,5,129,205,0,0) 490 CALL SPRITE(#8,140,5,145,205,0,0) 500 DISPLAY AT(1,2):"tvtvtv POINTS:" :: DISPLAY AT(2,2):"uwuwuw FILLING:" 510 REM MAIN PROGRAM********* 520 FOR DUR=1 TO 4 530 CALL DELSPRITE(#3) 540 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 550 DISPLAY AT(1,20):SCO3 :: DISPLAY AT(2,20):SCO1 560 IF SCO1=5 THEN 950 570 RO3=INT(RND*120+10) 580 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP):: CALL POSITION(#2,POSY,POSX):: IF POSY>160 OR POSY<10 THEN 1080 580 STO=INT(RND*160)+25 600 NEG=-2+INT(RND*5) :: IF NEG=O THEN NEG=3 610 REM CLOUD************ 620 CALL SPRITE(#3,104,16,RO3,1,0,NEG*8) 630 CALL COINC(#3,RO3,STO,5,CO3) :: IF CO3=-1 THEN 670 640 CALL JOYST(2,XPOS,YPOS) :: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 650 GOTO 630 660 REM POSITION REACHED********** 670 CALL MOTION(#3,0,0):: FA=INT(RND*5)+1 :: CALL COLOR(#3,FAR(FA)) :: ON FA GOTO 690,790,870,790,790 680 REM BLACK********** 690 CALL JOYST(2,XPOS,YPOS) :: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 700 IF FLA>1 THEN FLA=0 :: GOTO 530 710 IF INT(RND*3)<>1 THEN 690 :: FLA=FLA+1 720 SSP=INT(RND*-100)+50 730 CALL SOUND(100,-6,0) 740 CALL SPRITE(#4,108,16,RO3,STO,90,SSP) 750 CALL COINC(#2,#4,20,CO24) :: IF CO24=-1 ·THEN 1080 760 CALL POSITION(#4,POSY,POSX):: IF POSY>150 THEN CALL DELSPRITE(#4):: GOTO 700 770 GOTO 750 780 REM GUL************* 790 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP) 800 CALL SOUND(200,1400,0,RO3*15,0,STO*10,0,-4,0) 810 CALL SPRITE(#5,112,14,RO3,STO,20,0) 820 CALL COINC(#2,#5,7,CO25):: IF CO25=-1 THEN CALL DELSPRITE(#5):: SCO1=SCO1+1 :: GOTO 1230 830 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP) 840 CALL POSITION(#5,POSY,POSX):: IF POSY>160 THEN 1160 850 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPDS*SP,XPOS*SP):: GOTO 820 860 REM HVIT************ 870 CALL JOYST(2,XPOS,YPOS) :: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 880 CALL SOUND(300,-1,0) 890 CALL SPRITE(#5,112,5,RO3,STO,20,0) 900 CALL COINC(#2,#5,10,CO25):: IF CO25=-1 THEN CALL DELSPRITE(#5):: GOTO 1150 910 CALL POSITION(#5,POSY,POSX) :: IF POSY>150 THEN CALL DELSPRITE(#5) :: GOTO 530 920 CALL JOYST(2,XPOS,YPOS) :: CALL MOTION(#2,-YPOS*SP,XPOS*SP) :: CALL POSITION(#2,POSY,POSX) :: IF POSY>160 OR POSY<10 THEN 1080 930 GOTO 900 940 REM OPEN CONTAINER*********** 950 CALL MOTION(#7,-1,0) :: CALL MOTION(#8,1,0) 960 CALL COINC(#7,121,205,1,CO7) :: IF CO7=-1 THEN CALL MOTION(#7,0,0) :: CALL MOTION(#8,0,0) :: CALL LOCATE(#7,121,205):: CALL LOCATE(#8,153,205):·: GOTO 990 970 CALL SOUND(-50,1400,0) 980 GOTO 960 990 SP=1 1000 REM DOCKING*********** 1010 CALL JOYST(2,XPOS,YPOS):: CALL MOTION(#2,-YPOS*SP,XPOS*SP) 1020 CALL COINC(ALL,COAL):: IF COAL=-1 THEN 1040 1030 GOTO 1010 1040 CALL MOTION(#2,0,0):: SP=6 :: CALL POSITION(#2,POSY,POSX):: IF POSY<>137 THEN CLO=1 :: GOTO 1080 1050 SCO3=SCO3+BO1 :: SCO1=0 :: IF SCO3>=BONUS THEN GOSUB 1370 1060 CALL LOCATE(#2,137,180):: GOSUB 1310 :: GOSUB 1250 :: GOTO 540 1070 REM SHOCKED********** 1080 SCO1=0 :: CALL DELSPRITE(#4):: CALL MOTION(#2,0,0):: CALL PATTERN(#2,36) 1090 FOR I=O TO 30 :: CALL SOUND(50,-6,I):: NEXT I 1100 DISPLAY AT(1,2*DUR)SIZE(2):" " :: DISPLAV AT(2,2*DUR)SIZE(2):" " 1110 CALL DELSPRITE(#2):: IF CLO=1 THEN CLO=O:: GOSUB 1250 1120 CALL SPRITE(#2,116,7,70,10,0,0) 1130 NEXT DUR 1140 GOTO 1590 1150 REM DIED TREE************ 1160 CALL DELSPRITE(#5):: VERN=-INT(-(STO-8)/8):: IF VERN/2-INT(VERN/2)<>0 THEN VERN=VERN-1 1170 DISPLAY AT(21,VERN)SIZE(2):"(*" :: DISPLAY AT(22,VERN)SIZE(2):")+" 1180 IF ABG(VERN/2)=0 THEN SCO2=SCO2-1 1190 ABG(VERN/2)=1 1200 CALL SOUND(500,110,0) 1210 IF SCO2=0 THEN 1590 ELSE 530 1220 REM SOUND FOR CAUGHT************ 1230 CALL SOUND(200,440,0) :: CALL SOUND(200,880,O) :: CALL SOUND(200,1760,0) :: GOTO 530 1240 REM CLOSE CONTAINER************ 1250 CALL MOTION(#7,1,0):: CALL MOTION(#8,-1,0) 1260 CALL COINC(#7,130,205,1,CO7) :: IF CO7=-1 THEN CALL MOTION(#7,0,0) :: CALL MOTION(#8,0,0) :: CALL LOCATE(#8,145,205):: GOTO 1290 1270 CALL SOUND(-50,1600,0) 1280 GOTO 1260 1290 RETURN 1300 REM RENEW TREE********* 1310 CALL SOUND(200,440,0) :: CALL SOUND(200,88O,0) :: CALL SOUND(200,1760,0) 1320 FOR I=1 TO 11 1330 IF ABG(I)=1 THEN DISPLAY AT(21,2*I)SIZE(2):"XZ" :: DISPLAY AT(22,2*I)SIZE(2):"Y[" :: ABG(I)=O :: SCO2=SCO2+1 :: GOTO 1350 1340 NEXT I :: SCO3=SCO3+BO1 1350 RETURN 1360 REM BONUS*********** 1370 DISPLAY AT(15,20):"BONUS" :: CALL SPRITE(#6,132,2,169,1,0,5) 1380 CALL COINC(#6,169,217,3,CO6):: IF CO6=-1 THEN CALL MOTION(#6,0,0):: GOTO 1410 1390 CALL SOUND(50,110,10) 1400 GOTO 1380 1410 CALL MOTION(#1,1,0) 1420 CALL COINC(#1,#6,8,CO16):: IF CO16=-1 THEN CALL MOTION(#1,0,0):: GOTO 1450 1430 CALL SOUND(50,-3,0) 1440 GOTO 1420 1450 CALL MOTION(#6,0,5):: CALL MOTION(#1,0,5) 1460 FOR I=1 TO 200 :: NEXT I 1470 CALL COINC(#6,169,217,3,CO6):: IF CO6=-1 THEN CALL MOTION(#6,0,0):: CALL MOTION(#1,0,0):: GOTO 1500 1480 CALL SOUND(50,140,10) 1490 GOTO 1470 1500 CALL MOTION(#1,-1,0) 1510 CALL COINC(#1,137,217,3,CO1):: IF CO1=-1 THEN 1540 1520 CALL SOUND(20,1000,0) 1530 GOTO 1510 1540 CALL MOTION(#1,0,0) :: CALL LOCATE(#1,137,217) 1550 DISPLAY AT(15,20):" " 1560 BONUS=BONUS+4*BO1 :: BO1=BO1+20 :: CALL DELSPRITE(#6):: IF DUR<2 THEN SCO3=SCO3+100 :: RETURN 1570 DUR=DUR-1 :: DISPLAY AT(1,2*DUR)SIZE(2):"tv" :: DISPLAY AT(2,2*DUR)SIZE(2):"uw" :: RETURN 1580 REM END********** 1590 CALL CLEAR :: CALL SCREEN(15):: DISPLAY AT(12,4):"ONCE AGAIN? J OR N" 1600 HIGH=MAX(HIGH,SCO3):: DISPLAY AT(15,5):"HIGHSCORE:";HIGH 1610 CALL KEY(0,K,STA):: IF STA=0 THEN 1610 1620 IF K=106 THEN 340 1630 END
-
10 minutes ago, Lee Stewart said:
This file does not look like a cartridge ROM binary. The first 64 KiB are empty and there are only three addresses on 8 KiB boundaries that start with ‘AA’ and only one of those looks like a legitimate cartridge header with a single menu item called “LINES”. See spoiler below for a summary:
Address Contents ------- --------------------------------------- 00000 <64 KiB empty> 0FFFF 10000 AA02 0000 0000 0000 1310 1320 0000 0000 43DC 443C 49A9 4396 439E 4446 4449 444C 4052 51FE 4C82 4D59 4DB4 4E64 4EF9 4F01 4F5F 4F80 43CE 43D6 054D 1252 5E44 1705 * * * 12000 AA02 0100 0000 214D 0000 4D1A 0000 0000 4417 4195 460B 466C 467E 4192 47F1 436D 46AB 8A80 B7A1 B2AE A9AE A79A 13A9 AEA3 AFB2 B2A5 A3B4 80B3 B4A1 B4A5 ADA5 AEB4 * * * 14000 <no header information, but not empty> * * * <Below is only possible ROM cartridge header> 16000 AA01 0100 0000 600C 0000 0000 0000 6042 054C 494E 4553 2020 2020 2020 2020 2020 2020 2020 2020 3E3E 2D2D 2043 4152 5420 434F 4E56 2042 5920 5455 5253 4920 2D2D 18000 <no header information, but not empty> * * * 1A000 <64 KiB empty> 29FFF 2A000 <no header information, but not empty> * * * 2C000 <16 KiB empty> 2FFFF
...lee
This is something I found that is named... TI99_MiSTer_FPGA_Core_SSS_Mega_Pack_V2.0.0. It had a nice catalog structure and a lot of Carts.
I don't know if this is something for Raspberry Pi or some of the other cards you can now get for the TI -
6 minutes ago, Lee Stewart said:
Not so. These work just fine. Using your example (facetiously!):
[CartGroups] Group0=Spill - 5 letters is the limit! [Spill - 5 letters is the limit!0] name=Whatever one rom0=8|0000|8000|MODS\whatever_one_8.bin [Spill - 5 letters is the limit!1] name=Whatever two rom0=9|0000|8000|MODS\whatever_two_9.bin
This works just fine for me, as well. And, I have the same version of Classic99 as you.
...lee
Strange... YES! NOW your right!!!
I tried it before and then It would not accept more then 5 letters! Strange!!! -
Should this kind of file work?
This is my test and it is not working...[Demo0]
; *** Commando Music OK
name="Commando Music"
rom0=8|0000|8000|G:\Nedlastninger\Software\Software installert\TI 99 4A\Frittstående Ressurser\TI99_MiSTer_FPGA_Core_SSS_Mega_Pack_V2.0.0\TI99_MiSTer_FPGA_Core\TI-99_4A\SSS_Demos_Cart_Conversion\[DEMO] Commando Music (20xx)(Unknown)[PAGED_378]_8.bin[Demo1]
; *** Gyruss Music Demo OK
name="Gyruss Music Demo"
rom0=8|0000|8000|G:\Nedlastninger\Software\Software installert\TI 99 4A\Frittstående Ressurser\TI99_MiSTer_FPGA_Core_SSS_Mega_Pack_V2.0.0\TI99_MiSTer_FPGA_Core\TI-99_4A\SSS_Demos_Cart_Conversion\[DEMO] Gyruss Music Demo (20xx)(Sometimes)[PAGED_378]_8.bin[Demo2]
; *** Lines MM Demo - NOT OK!!!
name="Lines MM Demo"
rom0=8|0000|30000|G:\Nedlastninger\Software\Software installert\TI 99 4A\Frittstående Ressurser\TI99_MiSTer_FPGA_Core_SSS_Mega_Pack_V2.0.0\TI99_MiSTer_FPGA_Core\TI-99_4A\SSS_Demos_Cart_Conversion\[DEMO] Lines MM Demo (19xx)(Texas Instruments)[CART Conversion]_FULL-ROM.bin[DEMO] Lines MM Demo (19xx)(Texas Instruments)[CART Conversion]_FULL-ROM.bin
-
OK Working working... Some Edu files are in and working... Some other games and progs are OK and suddenly...
(I use the "TI99_MiSTer_FPGA_Core_SSS_Mega_Pack_V2.0.0\TI99_MiSTer_FPGA_Core\TI-99_4A" as a "Standard" to sort my Groups in... So I did )[G20186] <--------------------(SSS_Games_HomeBrew_4K_Contest_2018) Two of the games I have problems with! "Fork" and "Markus" I have problems with all Type 8 file
; *** Markus of Marinus ????
name="Markus of Marinus"
rom0=8|0000|4000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\SSS_Games_HomeBrew_4K_Contest_2018\[HOMEBREW] Markus of Marinus (2018)(Owen Brand)[PAGED_378]_8.bin[G20187] <--------------------This one is OK! No file for this one!
; *** Vortex OK
name="Vortex"
rom0=C|6000|2000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\SSS_Games_HomeBrew_4K_Contest_2018\[HOMEBREW] Vortex (2018)(Vorticon)_C.bin[TIBa10] - This dos not work! As fare as I understand, I think I did the "8" stuff right or? Put in the 8 first TI Basic progs. and all did not work. Probably same issue!
*** 3D-Labyrinth
name="3D-Labyrinth"
rom0=8|0000|4000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\SSS_Games_TIBasic\[TI BASIC] 3D-Labyrinth (1983)(Marc Bruening & Wolfgang Bertsch)[Converted by TMOP]_8.bin
PS! HeroX - Cool game![HOMEBREW] Markus of Marinus (2018)(Owen Brand)[PAGED_378]_8.bin [TI BASIC] 3D-Labyrinth (1983)(Marc Bruening & Wolfgang Bertsch)[Converted by TMOP]_8.bin
-
I wanted to make 7 After last test, I know now that I had to long names! Max 5 letters!
If you do:
[CartGroups]
Group0=Spill
Group1=Programmer - It dos not work!
[CartGroups]
Group0=Spill
Group1=Prog - Dos work
[CartGroups]
Group0=Spill - 5 letters is the limit!
Group1=Prog
Group3=Fav
Group4=Fav123 - Dos not work!
But if you put the CartGroups and then the Groups before all the [usercartx], then it dos NOT work! -
Note you can create subfolders in the menu by using a different word than "UserCart", as long as it doesn't conflict with any of the reserved words. So for instance, "Games" is fine.
[Spill0]
; *** Yahtzee - works
name="Yahtzee"
rom0=C|6000|2000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeec.bin
rom1=G|6000|A000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeeg.bin[usercart|Spill0]
; *** Yahtzee - works
name="Yahtzee"
rom0=C|6000|2000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeec.bin
rom1=G|6000|A000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeeg.bin[usercart0Spill0]
; *** Yahtzee - works
name="Yahtzee"
rom0=C|6000|2000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeec.bin
rom1=G|6000|A000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeeg.bin[Games0]
; *** Yahtzee - works
name="Yahtzee"
rom0=C|6000|2000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeec.bin
rom1=G|6000|A000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeeg.bin[Games1]
; *** Yahtzee - works
name="Yahtzee"
rom0=C|6000|2000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeec.bin
rom1=G|6000|A000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeeg.binThis one works: (I use a cart that I know works)
[usercart99]
; *** Yahtzee - works
name="Yahtzee"
rom0=C|6000|2000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeec.bin
rom1=G|6000|A000|G:\Nedlastninger\Software\Software installert\TI 99 4A\000 Classic99\classic99\MODS\Orginal\Yahtzeeg.bin -
I did JUST what you wrote with 4A Flyer (D:\new\4AF...) and when I deleted ( and ) it worked :p lol
When I use OPEN to test or use a BIN file... it works without all this stuff I put into the INI file... So I guess that C99 makes a temp "INI" file for this ONE cart. Is there some place where I can copy out all the "4 lines"? With C G and 2000-4000... So dos C99 make this info, so I can see it any place?- 1
-
13 hours ago, Tursi said:
Note you can create subfolders in the menu by using a different word than "UserCart", as long as it doesn't conflict with any of the reserved words. So for instance, "Games" is fine.
Want more... Now that I got this, I want to make sub-folders and sort everything so that it is easy to find stuff. I did not get the sub-folder... tried different thing... but did not get a sub-folder. I see that you have sub-folders in your set up.
- 1
-
COOOOOOOL!!! - OK! I got it!
2 are in, 4A Flayer is not working... But I got so much information that I will figure out why it did not stick. I got the two others to work!
You a teacher? Ohhh, Will you explain Assembly now??? hahahahahahahaha Kidding
Very good explanation! Also the txt file in MODS saves some time.- 1
-
2 minutes ago, Asmusr said:
The Linux emu = TI-99/Sim
Thx to arcadeshopper and Asmusr. Will try to add them to my Raspberry Pi
- 1
-
Hehehehe... Yes did a test at and Ctg files are OUT :p
OK, trying again...
-
-
Thx, Tursi Yes I know, give it time and you start to understand!
Also thx for helping me with the carts. Maybe you can implement this in your manual too And then it should cover it. Well... I give you a file name and all the info I get from explorer... So lets see if I can find a good cart to start with...
alpiner.ctg - CTG-fil - 34 kb (Should I upload the file, too?)
That file is in ...\...\classic99\MODS
I would like to make a "My Carts" folder or maybe a file structure. But I will do that when I have a handle of it -
18 hours ago, arcadeshopper said:
https://dnotq.io/tidbit/tidbit.html
Sent from my LM-V600 using Tapatalk
That is the type I was looking for... looks like it is still under development?
Thx, Lee! Yes I know that one. To you and RXB, I want to do the editing outside of the TI, to restricted to do editing on the TI.- 1
- 1
-
Basic editor, is there one?
Been looking here and found nothing. Looking online and found nothing!
I am looking for a editor where I can write basic program with line numbers coming up as I format it. If there is not a tool like this... maybe a idea for the smart ones here!
If there is a tool like this in Q&A, then I will delete this post. But I did not find it. -
Yes, I have read!
Lol, and what for you is so... naturally understandable is a little above my insight. ROM or GROM. Non-paged ROM... lol now I know of non-paged ROM. New thing to understand, or really understand it all. And then you speak Greek :p I am more... I put in the cart and it works :p I am slowly understanding more of the "under the iron stuff", starting to understand the motherboard and some of the design, good and bad, but still... it is just superficial understanding. I know of memory limitations, but again superficial.
If you could use a cart that is free and then I can try to do it in my own system. The Pole Position is OK, but a little to general for me. The manual is great, to the point, but for me I would easily get some of the more technical stuff with more practical examples. Doing it my self, makes a lot to my learning and understanding.
PS! I wounder what would happen if they made the TI all 16 bit buss all over. How much would that have don't to the TI.
So.. NOW, I know how to add one cart and then use that one, and then put a new new one in. But I would like to change the ini file and add carts and add more as I find more.
Sorry if this is something I should get from the manual. But I have read, man times, tried. But only thing so fare is one and one cart. -
On 8/18/2020 at 8:58 PM, Keneg said:
Didn’t do a lot today. Used a wet wipe to clean the top of the good unit and the keyboard. They were somewhat disgusting. Wrapping the wet wipe around the end of a screwdriver let me clean between keys. I only have the book “Kids and the TI-994a” so I did some of the examples in it. I do have a question though.
Is there a way to edit a line without typing the whole thing over?
I sure LibreOffice and C99. When OK there, then use the real TI, if needed.
With the tools in LibreOffice it is easier to look for repeating bug when copying from PDFs. -
[UserCart0] and [CartGroups] Question!
There is a menu called Cartridge in C99 and then under that you have APPS, GAME; USER and Eject.
If you add games/programs in the ini file in [UserCart0] and [CartGroups], do you get the programs in under Cartridge. Like do you get a long list of the programs you added?
Also, I kinda understand the set up of the ini file, but could you make a video or a better explanation for someone not THAT technical?
There is so much I don't know and is careful not changing. I have question like...
- Can I add some line shift with noting in the line so that I get a better overview? Since I am not a computer I find it easier to space out thing so I find it. BUT, the TI has told me that F and f is NOT the same thing.
- Where do I put carts? in ROM, can it be in a folder in ROMS? Better overview. Again, not a computer :p
Simply put, I don't understand that much. I was a Basic and E Basic programmer (from mags) and Parsec player. So much that my old joysticks have worn out.
So, I want to add Carts and be done with it. All in one place and when the next ver. of C99 is out, I copy it to my folder where all is set up and ready.
Also... Thank you so much for C99 and what your doing for keeping the TI 99/4A alive! (Got my second TI, real iron. Here in Norway, this Friday) He got "new" joysticks. Going to send the seller link to your C99 as he is an old TI user, but do not have a TV to use it anymore.
I am using the old one to make a modern ver. of the TI joysticks. Maybe I will put it out here as a project. Will see what kind of stuff I can get to update it and then decide. -
I.T. - The Adventure of the Century (Book - Terrific Games for the TI 99 4A)
New game test and debugging... I have not done 100% debugging of the DATA, most should be correct. Maybe everything is :p hehehe BUT... I think the problem is somewhere else! I have gone over so many times that my eyes has crossed over and is protesting :p (I was given a sight where many programs where, I am going to look there for this game too).
But I am putting it put here, It looks cool (I love D&D) so... Help???
10 REM TI(EXTENDED)-I.T. 15 CALL CLEAR 20 RANDOMIZE 30 DIM K(36,6),R$(36),H$(15),VP(12),V$(12),B(12),PR(6,3) 40 GOSUB 2810 50 IHD=8 :: NKAM=0 60 GOTO 80 70 GOSUB 130 80 GOSUB 390 90 GOSUB 290 100 IF CWD<5 THEN 70 110 PRINT "You were killed" 120 END 130 NKAM=0 140 IHD=0 150 INPUT "What would you like to do:":C1$ 160 LNG=LEN(C1$) 170 FOR I=1 TO 15 180 IF SEG$(H$(I),1,LNG)=C1$ THEN IHD=I :: I=16 190 NEXT I 200 IF IHD>6 THEN RETURN 210 IF IHD=0 THEN 260 220 NKAM=K(IKM,IHD) 230 IF NKAM<>0 THEN RETURN 240 PRINT "Impossible direction" 230 GOTO 130 260 PRINT "I do not understand " 270 GOTO 130 280 RETURN 290 PRINT "you are in the ";R$(IKM) 300 IF IKM>24 OR BLL=1 THEN 330 310 PRINT "You cannot see much here" 320 GOTO 340 330 IF IVW<>0 THEN PRINT "There is a ";V$(IVW);" here" 340 FOR I=1 TO 6 350 IF K(IKM,I)<>0 THEN PRINT "You can go ";H$(I) 360 NEXT I 370 PRINT 380 RETURN 390 IF NKAM<>0 THEN IKM=NKAM 400 IVW=0 410 FOR I=1 TO 12 420 IF VP(I)=IKM THEN IVW=I :: I=12 430 NEXT I 440 IPS=0 450 FOR I=1 TO 6 460 IF PR(I,1)=IKM THEN IPS=I :: I=6 470 NEXT I 480 IF IKM<12 AND CRI<>8 THEN GOSUB 2670 490 CLL=CLL+BLL 500 IF IHD<7 THEN 530 510 ON IHD-6 GOSUB 560,760,810,910,1130,1220,1340,1420,1500 520 REM 530 IF IPS=0 THEN RETURN 540 ON IPS GOSUB 1620,1840,2080,2180,2290,2470 550 RETURN 560 IF IPS=0 OR IPS>4 THEN PRINT "Killing time is the only thing you can do here" :: RETURN 570 IVWB=7 580 GOSUB 2610 590 IF IBZ=0 THEN PRINT "You can't attack without sword" :: RETURN 600 PRINT "So you want to kill the ";P$(IPS) 610 PRINT "You attack it with your sword"; 620 IF RND<.5 THEN PRINT " but you missed him" :: GOTO 650 630 PRINT " and you give your victim a terrible blow" 640 PR(IPS,3)=PR(IPS,3)-1 650 IF RND>.2 THEN 700 660 PRINT "You can hit it again but be quick" 670 INPUT "Do you want to?(y or n)":Y$ 680 IF Y$<>"y" THEN 700 690 PRINT "You raise your sword again";:: GOTO 620 700 IF PR(IPS,3)>1 THEN RETURN 710 IF PR(IPS,3)=1 THEN PRINT "Your victim is badly wounded" :: RETURN 720 PRINT "You killed your victim" 730 PR(IPS,1)=0 :: IVW=8+IPS 740 VP(IVW)=IKM :: IPS=0 750 RETURN 760 PRINT "Possible commands:" 770 FOR I=1 TO 15 780 PRINT H$(I) 790 NEXT I 800 RETURN 810 IF IVW<>0 THEN 840 820 PRINT "There is nothing to take here" 830 RETURN 840 IF BLL=0 AND IKM<25 THEN PRINT "You cannot take things that you do not see" :: RETURN 850 PRINT "I take the ";V$(IVW);" for you" 860 B(IBMAX)=IVW 870 IBMAX=IBMAX+1 880 VP(IVW)=0 890 IVW=0 900 RETURN 910 INPUT "What would you like to drop? ":D$ 920 LNG=LEN(D$) 930 IVWB=0 940 FOR I=1 TO 12 950 IF D$=SEG$(V$(I),1,LNG) THEN IVWB=I :: I=12 960 NEXT I 970 IF IVWB<>0 THEN 1000 980 PRINT "I do not understand you" 990 RETURN 1000 GOSUB 2610 1010 IF IBZ<>0 THEN 1040 1020 PRINT "Impossible to drop" 1030 RETURN 1040 PRINT "I dropped the ";V$(B(IBZ));" for you" 1050 IVW=B(IBZ) 1060 VP(B(IBZ))=IKM 1070 B(IBZ)=B(IBMAX-1) 1080 IBMAX=IBMAX-1 1090 IF IKM<>25 THEN RETURN 1100 INPUT "Do you want to drop more?(y or n)":Y$ 1110 IF Y$="y" THEN 910 1120 RETURN 1130 IF IBMAX<>1 THEN 1160 1140 PRINT "You own nothing" 1150 GOTO 1200 1160 PRINT "You have the following things:" 1170 FOR I=1 TO IBMAX-1 1180 PRINT V$(B(I)) 1190 NEXT I 1200 PRINT "You can still have ";5-CWD;"wounds before you die" 1210 RETURN 1220 IVWB=6 1230 GOSUB 2610 1240 IF IBZ<>0 THEN 1270 1250 PRINT "Impossible without bandage" 1260 RETURN 1270 PRINT "I use all the bandages to bandage you" 1280 CALL S0UND(100,1000,0) 1290 PRINT "So, that will hold for a while" 1300 CWD=0 1310 B(IBZ)=B(IBMAX-1) 1320 IBMAX=IBMAX-1 1330 RETURN 1340 IVWB=1 1350 GOSUB 2610 1360 IF IBZ<>0 THEN 1390 1370 PRINT "Impossible without a lantern" 1380 RETURN 1390 PRINT "The lantern is on now" 1400 BLL=1 1410 RETURN 1420 IVWB=1 1430 GOSUB 2610 1440 IF IBZ<>0 THEN 1470 1450 PRINT "You do not even have a lantern" 1460 RETURN 1470 PRINT "The lantern is off now" 1480 BLL=0 1490 RETURN 1500 IVWB=4 1510 GOSUB 2610 1520 IF IBZ<>0 THEN 1550 1530 PRINT "Nothing to read" 1540 RETURN 1550 IF BLL=1 OR IKM>24 THEN 1580 1560 PRINT "It is to dark to read here" 1570 RETURN 1580 T$="Uifsf!jt!b!b!sfdfjqu!gps!!!!!!dppljft!jo!uijt!cppl" :: GOSUB 3520 1590 T$="Ju!tbzt|!ublf!b!efbe!!!!!!!!ifmmipvoelboe!tpnfIxifbu/!!!Espq!uijt!po!b!cbBCfdvf!boe!xbju!b!nJovuf" :: GOSUB 3520 1600 PRINT "That is all" 1610 RETURN 1620 IF IVW=3 THEN PR(1,2)=3 :: VP(IVW)=0 :: IVW=0 1630 ON PR(1,2)GOTO 1640,1690,1720,1790,1820 1640 PRINT "I.T.(the intra-terrestrial) is here" 1650 PRINT "It looks like he wants to talk" 1660 PRINT "He talks but you cannot understand him" 1670 PR(1,2)=2 1680 RETURN 1690 T$="J/U/!nblft!hftuvsft!uibu!if!offet!tpnfuijoh!upesjol" :: GOSUB 3520 1700 T$="If!mpplt!sbuifs!eftqfsbuf" :: GOSUB 3520 1710 RETURN 1720 T$="J/U/!offefe!uif!esjol!wfsz!!nvdi/" :: GOSUB 3520 1730 T$="If!tbzt;QMFBTF!hp!epxo!joup!uif!dbwft!boe!gjoe!uif!!!!!!ovmmjuz!cpnc" :: GOSUB 3520 1740 T$="Ju!nbz!cz!op!xbz!fyqmpef/!npotufs!qspufdut/" :: GOSUB 3520 1750 T$="Pomz!ZPVidbo!tbwf!uif!fbsui/" :: GOSUB 3520 1760 PRINT "Suddenly I.T. collapses and falls down" 1770 PR(1,2)=4 1780 RETURN 1790 PRINT "I.T. is in a coma." 1800 PR(I,2)=5 1810 RETURN 1820 PRINT "I.T. is here":"He is in a coma" 1830 RETURN 1840 IF IVW=8 THEN PR(2,2)=5 :: VP(IVW)=0 :: IVW=0 1850 ON PR(2,2)G0T0 1860,1900,1930,1960,2000,2060 1860 PRINT "There is an enormous monsterhere." 1870 PRINT "The monster yells:are you a cookie" 1880 PR(2,2)=2 1890 RETURN 1900 PRINT "The monster yells louder andlouder:ARE YOU ACOOKIE" 1910 PR(2,2)=3 1920 RETURN 1930 PRINT "The monster keeps yelling and becomes rather agressive" 1940 PR(2,2)=4 1950 RETURN 1960 PRINT "The monster gives you a terrible blow. Your head is spinning" 1970 CWD=CWD+1 1980 PR(2,2)=INT(RND*3)+2 1990 RETURN 2000 PRINT "The monster starts to eat atonce." 2010 PRINT "It falls asleep" 2020 CALL SOUND(100,110,0) 2030 K(16,6)=l 2040 PR(2,2)=6 2050 RETURN 2060 PRINT "The monster sleeps" 2070 RETURN 2080 PRINT "There is a snake in here" 2090 IF RND<.4 THEN RETURN 2100 IF IBMAX=1 OR RNDX.5 THEN 2140 2110 IBMAX=IBMAX-1 2120 VP(B(BMAX))=13+INT(RND*12) 2130 PRINT "The snake takes something " 2140 PRINT "It sneaks away" 2150 PRO, l)=PRO, l)+3 2160 IF PR(3,1)>24 THEN PRO, 1)=PRO, 1)-8 2170 RETURN 2180 ON PR(4,2)G0T0 2190,2220,2260 2190 PRINT "There is a giant hellhound in here. It looks like he wants you for dinner" 2200 PR(4,2)=2 2210 RETURN 2220 PRINT "The hellhound attacks you and bites you violently" 2230 CWD=CWD+1 2240 PR(4,2)=3 2250 RETURN 2260 PRINT "The hellhound may attack youagain" 2270 PR(4,2)=2+INT(RND#2) 2280 RETURN 2290 PRINT "The nullity bomb is here" 2300 PRINT "There are three wires: a green one(g),a red one(r) and a yellow one (y)" 2310 PRINT "You must disconnect two of them" 2320 INPUT "Which will be the first one:":X$ 2330 INPUT "And which will be the second one: ":Y$ 2340 CBO=0 :: C$="ryg" 2350 FOR I=1 TO 3 2360 IF X$=SEG$(C$,1,1)THEN CB0=CB0+1 2370 IF Y$=SEG$(C$,1,1)THEN CB0=CB0+1 2380 NEXT I 2390 IF CB0<2 THEN PRINT "Watch out, wrong input" :: GOTO 2300 2400 IF (X$&Y$)="yr" OR(X$&Y$)="ry" THEN 2440 2410 CALL CLEAR 2420 PRINT "By disconnecting the wrong wires, you set the bomb off and the earth was destroyed" 2430 END 2440 CALL CLEAR 2450 PRINT "Congratulations, you succeeded where others failed" 2460 END 2470 IF IVW=0 THEN 2520 2480 PR(6,2)=2 2490 IF VP(2)=IKM AND VP(12)=IKM THEN IVW=8 :: VP(IVW)=IKM :: VP(2)=0 :: VP(12)=0 :: GOTO 2520 2500 VP(IVW)=0 2510 IVW=0 2520 ON PR(6,2)G0T0 2530,2550,2580 2530 PRINT "There is an enormous barbecue here with a large fire under it" 2540 RETURN 2550 PRINT "An awful smell fills your nose" 2560 PR(6,2)=3 2570 RETURN 2580 PRINT "Everything is quiet now. Even the terrible smell fades" 2590 PR(6,2)=1 2600 RETURN 2610 REM 2620 IBZ=0 2630 FOR I=l TO IBMAX-1 2640 IF B(I)=IVWB THEN IBZ=I :: I=IBMAX-1 2650 NEXT I 2660 RETURN 2670 REM 2680 CR0=CR0+1 2690 IF IKM=D(CRO) THEN CRI=CRI+1 2700 IF CR0<8 THEN RETURN 2710 IF CRI=8 THEN 2770 2720 PRINT "Strange forces did somethingto you. It is dark" 2730 PRINT "For a moment you are unconscious" 2740 CR0=1 :: CRI=1 2750 IKM=1 2760 RETURN 2770 PRINT "You hear a strange sound like something being pushed away" 2780 PRINT "Now it has stopped" 2790 K(2,1)=3 2800 RETURN 2810 REM 2820 REM 2830 FOR I=1 TO 36 2840 K(I,1)=I+1 :: K(I,2)=I-1 2850 K(I,3)=I+4 :: K(I,4)=I-4 2860 NEXT I 2870 FOR I=0 TO 24 STEP 12 2880 FOR J=l TO 9 STEP 4 2890 K(I+J+3,1)=0 :: K(I+J,2)=0 2900 NEXT J 2910 FOR J=l TO 4 2920 K(I+J+8,3)=0 :: K(I+J,4)=0 2930 NEXT J 2940 NEXT I 2950 K(1,5)=16 :: K(7,5)=15 2960 K(32,6)=13 :: K(13,5)=32 2970 K(35,6)=18 :: K(18,5)=35 2980 FOR I=1 TO 15 2990 READ IKM :: READ IHD 3000 K(IKM,IHD)=0 3010 NEXT I 3020 REM 3030 IKM=36 3040 IBZ=1 :: IBMAX=1 3050 CKM=0 3060 CLL=0 3070 BLL=0 3080 CWD=0 3090 CRO=0 :: CRI=0 3100 REM 3110 FOR I=1 TO 15 3120 READ H$(I) 3130 NEXT I 3140 IN=-1 3150 FOR I=1 TO 12 3160 READ T$ 3170 GOSUB 3520 3180 V$(I)=TN$ 3190 NEXT I 3200 FOR I=1 TO 6 3210 READ T$ 3220 GOSUB 3520 3230 P$(I)=TN$ 3240 NEXT I 3250 FOR I=1 TO 36 3260 READ T$ 3270 GOSUB 3520 3280 R$(I)=TN$ 3290 NEXT I 3300 FOR I=1 TO 12 3310 READ VP(I) 3320 NEXT I 3330 FOR I=1 TO 6 3340 READ PR(I,1) :: PR(I,2)=1 3350 READ PR(I,3) 3360 NEXT I 3370 FOR I=1 TO 8 3380 READ D(I) 3390 NEXT I 3400 IN=0 3410 RETURN 3420 DATA 21,1,22,2,22,1,23,2,18,1,19,2,16,3,20,4,11,1,12,2,7,1,8,2,7,4,3,3,2,1 3430 DATA east,west,north,south,up,down,kill,help,take,drop,invent,bandage,lanternon,lanternoff,read 3440 DATA mboufso,xifbuqjmf,xbufstbdl,dpplcppl,mfbgmmfu,cboebhft,txpse,dppljt,JU(t!cpez,hjbmucpez,toblfcpez,efbe!ipvoe 3450 DATA J/U/,npotufs,toblf,ifmmipvoe,cbscfdvf,cpnc 3460 DATA sftfudbwf,udbwf,tfdsfudpssjeps,dpouspmsppn,pdbwf,jdbwf,tqbdfdbwf,cmbdlsppn,qdbwf,fdbwf,odbwf,fnquzoftt 3470 DATA tnbmmdbwf,spdlzdbwf,tnfmmzdbwf,esbhpodbwf,toblfdbwf,zfmmpvdbwf,tusfbncbol,tujolzqmbdf,sfedbwf,gjobmdbwf 3480 DATA dpmpsdbwf,jdfdbwf,pqfoqmbdf,xppet,xppet,xppet,xppet,xppet,xppet,xppet,xppet,xppet,xppet,xppet 3490 DATA 34,30,28,21,14,15,13,0,0,0,0,0 3500 DATA 34,2,16,15,17,4,29,2,8,1,25,1 3510 DATA 1,5,9,10,11,7,6,2 3520 REM 3530 TN$="" 3540 FOR AA=1 TO LEN(T$) 3550 C$=SEG$(T$,AA,1) 3560 C$=CHR$(ASC(C$)-1) 3570 TN$=TN$&C$ 3580 NEXT AA 3590 IF IN=0 THEN PRINT TN$ 3600 RETURN
-
Great!
Learn something new! Thx, I did see the "2", but did not think about it! I love this place, when stuck or don't understand stuff there are someone that can help me move forward and understand more!
Will try to change it to 1 AND I was thinking that I should inform that I was only using C99 with the game. But then it is solved! I will get back with a updated file when I have changed and tested it.
Thx for new learning!- 1
-
2 minutes ago, mizapf said:
It would definitely be helpful if you added the error message of the BASIC interpreter. It delivers the defect line, so we don't have to search the whole code.
There is no error message... The tool/miner is spinning and trying to move the tool/miner dos not work. It is just spinning! I have tried to read CALL KEY and IF THEN to see if there is a logical error or wrong letters. But I am stuck. I have found bugs and gotten them out. And now I cant find more.
https://archive.org/details/1983-08-compute-magazine/page/n113/mode/2up?q=TI-99+4A
Page 113 and out!
HELP - I AM STUCK! - TI EXtended BASIC
in TI-99/4A Development
Posted · Edited by oddemann
Adding fix!
Thx... Mizapf!
Found a new bug... Maybe last...
CORRECT in line - 1100 DISPLAY AT(1,2*DUR)SIZE(2):" " :: DISPLAY AT(2,2*DUR)SIZE(2):" "
One more - 1310 CALL SOUND(200,440,0) :: CALL SOUND(200,800,0) :: CALL SOUND(200,1760,0)
NEW fix... 600 NEG=-2+INT(RND*5) :: IF NEG=0 THEN NEG=3
One more 1110 CALL DELSPRITE(#2):: IF CLO=1 THEN CLO=0:: GOSUB 1250
One more 1230 CALL SOUND(200,440,0) :: CALL SOUND(200,880,0) :: CALL SOUND(200,1760,0) :: GOTO 530