Jump to content

oddemann

Members
  • Posts

    537
  • Joined

  • Last visited

Posts posted by oddemann

  1. 1 hour ago, mizapf said:

    Using joystick 2, you steer the catcher below the cloud, but you must avoid to catch the normal rain (blue). Also, a black cloud can hit you with a thunderbolt. When you have collected five acid rain showers (yellow cloud), you have to steer the catcher to the docking station, and touch it exactly at row 137 (see line 1040).

    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

     

  2. 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 



     

  3. 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 

     

  4. 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:

      Reveal hidden contents
    
    
    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

  5. 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

    classi99_INI_test.thumb.png.9cd71b09598ae211679146c3d1166390.png

     

     

    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!!!

  6. 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

  7. 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!

     

    C99 002.png

    [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

  8. 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!

  9. 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.bin

     

    This 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

  10. 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?

    • Like 1
  11. 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.

    • Like 1
  12. 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.

    Yes.jpg

    • Like 1
  13. 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

  14. 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.

  15. 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.

  16. 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.

     

  17. [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.

  18. 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
    

     

  19. 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!

    • Like 1
  20. 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!

×
×
  • Create New...