Jump to content
IGNORED

Miner


adamantyr

Recommended Posts

Here's another obscure game. It was one of the first games we played regularly on the TI, loading it from cassette. I found it pretty fun as a kid, and it's still rather challenging now.

 

As to where it came from, I can't remember... we must have gotten it from a friend on cassette. The game was adapted for the TI from another source, and the names of the adapters are on it as well.

 

Anyway, this is another surprisingly deep BASIC game with good game play and some challenging victory conditions. And if you think I'm lying, go ahead and try it and see what happens when you hit an underground spring...

 

As a special treat, I have two versions: the original BASIC and a version that works in Extended BASIC by forcing the use of the extra character sets through a clever set of machine language routines. This was a MERGE script I got from the Yahoo 99'ers group some time ago. Not sure where it's gotten off to...

 

BASIC version:

 

 

100 REM   ********* 
110 REM   * MINER * 
120 REM   ********* 
130 REM   TRANSLATED BY SAM   PINCUS 
140 REM   REVISED BY SEAN MCGUINESS 
150 REM     ENHANCED BY SEAN MCGUINESS & TYLER CARLSON   ADAPTED FOR 99/4A BY LEIF   COLSON,EVERGREEN,CO.80439  
160 RANDOMIZE
170 DIM C(15,27)
180 GOSUB 1900
190 CALL CLEAR
200 GOSUB 2090
210 Y=5
220 X=20
230 CALL KEY(1,I,ST)
240 IF ST=0 THEN 230
250 IF I=1 THEN 2800
260 IF(I+1=1)+(I=2)+(I=3)+(I=5)THEN 270 ELSE 230
270 IF(X>30)*(I=3)THEN 230
280 IF(Y=5)*(I=5)THEN 230
290 IF Y>5 THEN 630
300 REM  ABOVE GROUND 
310 IF X<13 THEN 490
320 REM  NOT IN BANK 
330 IF(X=31)*(I+1=1)THEN 690
340 Z=32-70*(X=31)
350 CALL HCHAR(5,X,Z)
360 X=X+(I=2)-(I=3)
370 IF X=31 THEN 410
380 IF X<13 THEN 430
390 CALL HCHAR(5,X,101)
400 GOTO 230
410 CALL HCHAR(5,31,103)
420 GOTO 230
430 REM  BANK 
440 CALL SOUND(250,220,4)
450 CALL SOUND(500,262,2)
460 CALL SOUND(125,220,4)
470 CALL SOUND(375,233,2)
480 CALL SOUND(600,262,2)
490 X=12
500 IF GC=0 THEN 580
510 FOR I=1 TO GC
520 CALL SOUND(100,1760,6,2638,6,-5,6)
530 CALL SOUND(125,44377,30)
540 NEXT I
550 M=M+GC*GP
560 GC=0
570 GOSUB 1740
580 IF I<>3 THEN 230
590 X=13
600 CALL HCHAR(5,13,101)
610 GOTO 230
620 REM  UNDERGROUND 
630 IF(I=2)+(I=3)THEN 910
640 REM   MOVE VERTICALLY 
650 IF X<31 THEN 810
660 REM  IN ELEVATOR 
670 IF Y<20 THEN 690
680 IF I+1=1 THEN 230
690 CALL SOUND(1000,110,4,-7,16)
700 Z=32-112*(Y>5)
710 CALL HCHAR(Y,X,Z)
720 Y=Y+(I=5)-(I+1=1)
730 CALL HCHAR(Y,31,146)
740 IF Y=5 THEN 780
750 CALL VCHAR(5,31,105)
760 IF Y<7 THEN 780
770 CALL VCHAR(6,31,148,Y-6)
780 EP=Y
790 GOTO 230
800 REM  IN MINE 
810 IF(Y=20)*(I+1=1)+(Y=6)*(I=5)THEN 230
820 IF(X=4)*(I=2)THEN 880
830 IF X=31 THEN 860
840 CALL HCHAR(Y,X,144)
850 Y=Y+(I=5)-(I+1=1)
860 X=X+(I=2)-(I=3)
870 ON C(Y-6,X-4)+1 GOTO 1070,1150,1130,950
880 CALL HCHAR(Y,X,147)
890 GOTO 230
900 REM  MOVE HORIZONTALLY 
910 Z=144-(X=31)
920 CALL HCHAR(Y,X,Z)
930 IF(X>29)*(I=3)THEN 1000
940 GOTO 810
950 X=X-(I=2)+(I=3)
960 Y=Y-(I=5)+(I+1=1)
970 CALL HCHAR(Y,X,147)
980 GOTO 230
990 REM  MOVE INTO ELEVATOR 
1000 IF Y<>EP THEN 1030
1010 CALL HCHAR(Y,X,144)
1020 X=31
1030 Z=146-(X<31)
1040 CALL HCHAR(Y,X,Z)
1050 GOTO 230
1060 REM  DIG 
1070 M=M-5
1080 FOR I=1 TO 3
1090 CALL SOUND(100,-7,4)
1100 CALL SOUND(250,44377,30)
1110 NEXT I
1120 GOSUB 1820
1130 GOTO 1700
1140 REM  PROSPECT 
1150 FOR I=1 TO 3
1160 CALL SOUND(100,-7,4)
1170 CALL SOUND(250,44377,30)
1180 NEXT I
1190 Z=INT(RND*5)+1
1200 ON Z GOTO 1210,1280,1310,1360,1490
1210 A$="EASY DIGGING"
1220 M=M-1
1230 GOSUB 2610
1240 GOSUB 1740
1250 A$=" "
1260 GOSUB 2610
1270 GOTO 1700
1280 A$="SOLID ROCK"
1290 M=M-25
1300 GOTO 1230
1310 I=INT(RND*3)+1
1320 A$=STR$(I)&" OZ. NUGGET"
1330 M=M-5
1340 GC=GC+I
1350 GOTO 1230
1360 A$="UNDERGROUND SPRING"
1370 M=M-5
1380 GOSUB 2610
1390 FOR V=20 TO Y+1 STEP-1
1400 FOR H=4 TO 30
1410 IF C(V-6,H-4)<>2 THEN 1450
1420 CALL HCHAR(V,H,136)
1430 C(V-6,H-4)=3
1440 CALL SOUND(-550,-5,2)
1450 NEXT H
1460 NEXT V
1470 GOTO 1240
1480 REM  
1490 A$="CAVE IN"
1500 M=M-1
1510 FOR I=1 TO 2
1520 CALL SOUND(300,-1,2)
1530 CALL SOUND(500,-3,6)
1540 NEXT I
1550 IF INT(RND*5)<>1 THEN 1580
1560 A$=A$&", LOST ALL YOUR GOLD"
1570 GC=0
1580 GOSUB 2610
1590 FOR V=Y-8 TO Y-4
1600 IF(V<0)+(V>15)THEN 1670
1610 FOR H=X-6 TO X-2
1620 IF(H>27)+(H<0)THEN 1660
1630 IF C(V,H)<>2 THEN 1660
1640 C(V,H)=0
1650 CALL HCHAR(V+6,H+4,96)
1660 NEXT H
1670 NEXT V
1680 GOTO 1240
1690 REM  DUG OUT PROSPECT 
1700 CALL HCHAR(Y,X,147)
1710 C(Y-6,X-4)=2
1720 GOTO 230
1730 REM  DISPLAY $ ROUTINE 
1740 GP=INT(RND*600)+300
1750 IF GP<501 THEN 1740
1760 A$=STR$(GP)
1770 B$=STR$(GC)&"  "
1780 FOR I=1 TO 3
1790 CALL HCHAR(22,15+I,ASC(SEG$(A$,I,1)))
1800 CALL HCHAR(23,15+I,ASC(SEG$(B$,I,1)))
1810 NEXT I
1820 C$=STR$(M)&"   "
1830 FOR I=1 TO 4
1840 CALL HCHAR(23,24+I,ASC(SEG$(C$,I,1)))
1850 NEXT I
1860 IF M>7000 THEN 2670
1870 IF M<=0 THEN 2830
1880 RETURN
1890 REM  START UP 
1900 CALL CLEAR
1901 CALL SCREEN(4)
1910 CALL CHAR(152,"3C7EFFFFFFFF7E3C")
1920 CALL COLOR(16,11,1)
1930 PRINT TAB(12);"MINER": : : : : : : : :
1940 PRINT "  TI-99/4 TRANSLATION BY":"         SEAN MCGUINESS": :"REVISED BY: SEAN MCGUINESS"
1950 PRINT: :"ENHANCED BY: SEAN MCGUINESS AND TYLER CALSON":"2/20/85": :" ADAPTED FOR TI-99/4A":""
1960 FOR I=1 TO 1000
1970 NEXT I
1971 INPUT " NEED INSTRUCTIONS(Y/N)?":A$
1972 IF A$<>"Y" THEN 2080
1980 CALL CLEAR
1990 PRINT "YOU HAVE INHERITED A MINE   WITH 30 POSSIBLE VEINS OF   ORE(";CHR$(152);"). IF YOU CAN PROVE THE"
2000 PRINT "MINE IS WORTHWHILE, YOU CAN SELL IT TO A BIG MINING CO. YOU CAN ONLY GET UNDERGROUND"
2010 PRINT "VIA ELEVATOR. YOU CANNOT DIGWHEN YOU ARE ABOVE GROUND."
2020 PRINT "USE THE 4 ARROW KEYS TO MOVETHE MINER. USE THE UP AND   DOWN ARROWS TO CONTROL THE"
2030 PRINT "ELEVATOR (AT THE RIGHT OF   THE SCREEN). BEWARE: YOU CANBE TRAPPED. IF YOU GIVE UP,"
2040 PRINT "HIT KEY(A) FOR AID. IT COSTS$5 EVERY TIME YOU  DIG. IF  YOU FIND ANY GOLD, BRING IT TO THE BANK."
2050 PRINT:"     GOOD LUCK":" PRESS ANY KEY TO CONTINUE"
2060 CALL KEY(0,KE,ST)
2070 IF ST=0 THEN 2060
2080 RETURN
2090 CALL CHAR(96,"FFFFFFFFFFFFFFFF")
2100 CALL CHAR(100,"01010101010101FF")
2110 CALL COLOR(9,2,1)
2120 CALL CHAR(97,"8080808080808080")
2130 CALL CHAR(98,"00000000000000FF")
2140 CALL CHAR(99,"0101010101010101")
2150 CALL CHAR(144,"0")
2160 CALL COLOR(15,2,16)
2170 A$="FF010101010101FF"
2180 CALL CHAR(102,A$)
2190 CALL CHAR(145,A$)
2200 A$="FF313179B5B549FF"
2210 CALL CHAR(103,A$)
2220 CALL CHAR(146,A$)
2240 CALL CHAR(101,"183C183C5A5A2442")
2250 CALL CHAR(147,"183C183C5A5A2442")
2260 A$="1010101010101010"
2270 CALL CHAR(105,A$)
2280 CALL CHAR(148,A$)
2290 EP=0
2300 M=250
2310 CALL COLOR(14,5,5)
2320 CALL CLEAR
2330 CALL COLOR(16,11,2)
2340 PRINT " 1ST BANK": : : : : : : : : : : : : : : : : : :"$/OZ OF GOLD="
2350 PRINT " GOLD OUNCES=";TAB(18);"CASH="
2360 CALL HCHAR(6,1,96,480)
2370 CALL VCHAR(6,32,144,15)
2380 CALL VCHAR(6,31,144,15)
2390 CALL HCHAR(1,3,98,10)
2400 CALL VCHAR(2,3,97,4)
2410 CALL VCHAR(2,12,99,4)
2420 CALL HCHAR(3,12,100)
2430 CALL VCHAR(4,11,99,2)
2440 CALL HCHAR(5,20,101)
2450 CALL HCHAR(5,31,102)
2460 CALL HCHAR(4,31,98)
2470 CALL HCHAR(5,32,97)
2480 FOR I=1 TO 30
2490 H=INT(RND*15)
2500 V=INT(RND*26)
2510 CALL SOUND(-200,330+20*I,INT(H/5))
2520 IF C(H,V)THEN 2490
2530 C(H,V)=1
2540 CALL HCHAR(H+6,V+4,152)
2550 NEXT I
2560 CALL SOUND(800,262,1,524,0,796,1)
2570 CALL SOUND(900,262,0,796,1,349,0)
2580 GOSUB 1740
2590 REM  PRINT A LINE 
2600 RETURN
2610 CALL HCHAR(24,3,32,29)
2620 FOR I=1 TO LEN(A$)
2630 CALL HCHAR(24,4+I,ASC(SEG$(A$,I,1)))
2640 NEXT I
2650 RETURN
2660 REM  WON 
2670 CALL CLEAR
2680 FOR I=1 TO 20
2690 CALL SCREEN(3+INT(RND*12))
2700 PRINT TAB(I);"CASH $"
2710 CALL SOUND(80,330+20*I,0)
2720 NEXT I
2730 CALL CLEAR
2740 PRINT "! ! ! Y I P P E E ! ! !"
2750 CALL SOUND(700,262,1,524,0,796,1)
2760 CALL SOUND(800,262,0,796,1,349,0)
2770 PRINT "YOU CAN NOW SELL THIS CLAIM FOR LOTS OF MONEY TO A BIG  MINING CO. AND RETIRE ON THEROYALTIES!": : :
2780 PRINT " PLAY AGAIN (Y/N)?"
2785 CALL SCREEN(4)
2786 GOTO 2840
2790 REM  QUIT 
2800 CALL CLEAR
2810 PRINT "TOO BAD, THE OLD MINE JUST  DIDN'T PAN OUT.": : : : : :
2820 REM  BANKRUPT 
2830 PRINT "YOU WENT BANKRUPT, DO YOU   WANT TO TRY AGAIN(Y/N)?"
2840 CALL KEY(2,KE,ST)
2850 IF ST=0 THEN 2840
2860 IF KE=15 THEN 2960
2870 IF KE=18 THEN 2890
2880 GOTO 2840
2890 CALL CLEAR
2900 FOR I=0 TO 14
2910 FOR J=0 TO 26
2920 C(I,J)=0
2930 NEXT J
2940 NEXT I
2950 GOTO 190
2960 STOP

 

 

 

Extended BASIC version:

 

 

1 CALL VDPUTIL3
100 REM   ********* 
110 REM   * MINER * 
120 REM   ********* 
130 REM   TRANSLATED BY SAM   PINCUS 
140 REM   REVISED BY SEAN MCGUINESS 
150 REM     ENHANCED BY SEAN MCGUINESS & TYLER CARLSON   ADAPTED FOR 99/4A BY LEIF   COLSON,EVERGREEN,CO.80439  
160 RANDOMIZE
170 DIM C(15,27)
180 GOSUB 1900
190 CALL CLEAR
200 GOSUB 2090
210 Y=5
220 X=20
230 CALL KEY(1,I,ST)
240 IF ST=0 THEN 230
250 IF I=1 THEN 2800
260 IF(I+1=1)+(I=2)+(I=3)+(I=5)THEN 270 ELSE 230
270 IF(X>30)*(I=3)THEN 230
280 IF(Y=5)*(I=5)THEN 230
290 IF Y>5 THEN 630
300 REM  ABOVE GROUND 
310 IF X<13 THEN 490
320 REM  NOT IN BANK 
330 IF(X=31)*(I+1=1)THEN 690
340 Z=32-70*(X=31)
350 CALL HCHAR(5,X,Z)
360 X=X+(I=2)-(I=3)
370 IF X=31 THEN 410
380 IF X<13 THEN 430
390 CALL HCHAR(5,X,101)
400 GOTO 230
410 CALL HCHAR(5,31,103)
420 GOTO 230
430 REM  BANK 
440 CALL SOUND(250,220,4)
450 CALL SOUND(500,262,2)
460 CALL SOUND(125,220,4)
470 CALL SOUND(375,233,2)
480 CALL SOUND(600,262,2)
490 X=12
500 IF GC=0 THEN 580
510 FOR I=1 TO GC
520 CALL SOUND(100,1760,6,2638,6,-5,6)
530 CALL SOUND(125,44377,30)
540 NEXT I
550 M=M+GC*GP
560 GC=0
570 GOSUB 1740
580 IF I<>3 THEN 230
590 X=13
600 CALL HCHAR(5,13,101)
610 GOTO 230
620 REM  UNDERGROUND 
630 IF(I=2)+(I=3)THEN 910
640 REM   MOVE VERTICALLY 
650 IF X<31 THEN 810
660 REM  IN ELEVATOR 
670 IF Y<20 THEN 690
680 IF I+1=1 THEN 230
690 CALL SOUND(1000,110,4,-7,16)
700 Z=32-112*(Y>5)
710 CALL HCHAR(Y,X,Z)
720 Y=Y+(I=5)-(I+1=1)
730 CALL HCHAR(Y,31,146)
740 IF Y=5 THEN 780
750 CALL VCHAR(5,31,105)
760 IF Y<7 THEN 780
770 CALL VCHAR(6,31,148,Y-6)
780 EP=Y
790 GOTO 230
800 REM  IN MINE 
810 IF(Y=20)*(I+1=1)+(Y=6)*(I=5)THEN 230
820 IF(X=4)*(I=2)THEN 880
830 IF X=31 THEN 860
840 CALL HCHAR(Y,X,144)
850 Y=Y+(I=5)-(I+1=1)
860 X=X+(I=2)-(I=3)
870 ON C(Y-6,X-4)+1 GOTO 1070,1150,1130,950
880 CALL HCHAR(Y,X,147)
890 GOTO 230
900 REM  MOVE HORIZONTALLY 
910 Z=144-(X=31)
920 CALL HCHAR(Y,X,Z)
930 IF(X>29)*(I=3)THEN 1000
940 GOTO 810
950 X=X-(I=2)+(I=3)
960 Y=Y-(I=5)+(I+1=1)
970 CALL HCHAR(Y,X,147)
980 GOTO 230
990 REM  MOVE INTO ELEVATOR 
1000 IF Y<>EP THEN 1030
1010 CALL HCHAR(Y,X,144)
1020 X=31
1030 Z=146-(X<31)
1040 CALL HCHAR(Y,X,Z)
1050 GOTO 230
1060 REM  DIG 
1070 M=M-5
1080 FOR I=1 TO 3
1090 CALL SOUND(100,-7,4)
1100 CALL SOUND(250,44377,30)
1110 NEXT I
1120 GOSUB 1820
1130 GOTO 1700
1140 REM  PROSPECT 
1150 FOR I=1 TO 3
1160 CALL SOUND(100,-7,4)
1170 CALL SOUND(250,44377,30)
1180 NEXT I
1190 Z=INT(RND*5)+1
1200 ON Z GOTO 1210,1280,1310,1360,1490
1210 A$="EASY DIGGING"
1220 M=M-1
1230 GOSUB 2610
1240 GOSUB 1740
1250 A$=" "
1260 GOSUB 2610
1270 GOTO 1700
1280 A$="SOLID ROCK"
1290 M=M-25
1300 GOTO 1230
1310 I=INT(RND*3)+1
1320 A$=STR$(I)&" OZ. NUGGET"
1330 M=M-5
1340 GC=GC+I
1350 GOTO 1230
1360 A$="UNDERGROUND SPRING"
1370 M=M-5
1380 GOSUB 2610
1390 FOR V=20 TO Y+1 STEP-1
1400 FOR H=4 TO 30
1410 IF C(V-6,H-4)<>2 THEN 1450
1420 CALL HCHAR(V,H,136)
1430 C(V-6,H-4)=3
1440 CALL SOUND(-550,-5,2)
1450 NEXT H
1460 NEXT V
1470 GOTO 1240
1480 REM  
1490 A$="CAVE IN"
1500 M=M-1
1510 FOR I=1 TO 2
1520 CALL SOUND(300,-1,2)
1530 CALL SOUND(500,-3,6)
1540 NEXT I
1550 IF INT(RND*5)<>1 THEN 1580
1560 A$=A$&", LOST ALL YOUR GOLD"
1570 GC=0
1580 GOSUB 2610
1590 FOR V=Y-8 TO Y-4
1600 IF(V<0)+(V>15)THEN 1670
1610 FOR H=X-6 TO X-2
1620 IF(H>27)+(H<0)THEN 1660
1630 IF C(V,H)<>2 THEN 1660
1640 C(V,H)=0
1650 CALL HCHAR(V+6,H+4,96)
1660 NEXT H
1670 NEXT V
1680 GOTO 1240
1690 REM  DUG OUT PROSPECT 
1700 CALL HCHAR(Y,X,147)
1710 C(Y-6,X-4)=2
1720 GOTO 230
1730 REM  DISPLAY $ ROUTINE 
1740 GP=INT(RND*600)+300
1750 IF GP<501 THEN 1740
1760 A$=STR$(GP)
1770 B$=STR$(GC)&"  "
1780 FOR I=1 TO 3
1790 CALL HCHAR(22,15+I,ASC(SEG$(A$,I,1)))
1800 CALL HCHAR(23,15+I,ASC(SEG$(B$,I,1)))
1810 NEXT I
1820 C$=STR$(M)&"   "
1830 FOR I=1 TO 4
1840 CALL HCHAR(23,24+I,ASC(SEG$(C$,I,1)))
1850 NEXT I
1860 IF M>7000 THEN 2670
1870 IF M<=0 THEN 2830
1880 RETURN
1890 REM  START UP 
1900 CALL CLEAR
1901 CALL SCREEN(4)
1910 CALL CHAR(152,"3C7EFFFFFFFF7E3C")
1920 CALL COLOR(16,11,1)
1930 PRINT TAB(12);"MINER": : : : : : : : :
1940 PRINT "  TI-99/4 TRANSLATION BY":"         SEAN MCGUINESS": :"REVISED BY: SEAN MCGUINESS"
1950 PRINT: :"ENHANCED BY: SEAN MCGUINESS AND TYLER CALSON":"2/20/85": :" ADAPTED FOR TI-99/4A":""
1960 FOR I=1 TO 1000
1970 NEXT I
1971 INPUT " NEED INSTRUCTIONS(Y/N)?":A$
1972 IF A$<>"Y" THEN 2080
1980 CALL CLEAR
1990 PRINT "YOU HAVE INHERITED A MINE   WITH 30 POSSIBLE VEINS OF   ORE(";CHR$(152);"). IF YOU CAN PROVE THE"
2000 PRINT "MINE IS WORTHWHILE, YOU CAN SELL IT TO A BIG MINING CO. YOU CAN ONLY GET UNDERGROUND"
2010 PRINT "VIA ELEVATOR. YOU CANNOT DIGWHEN YOU ARE ABOVE GROUND."
2020 PRINT "USE THE 4 ARROW KEYS TO MOVETHE MINER. USE THE UP AND   DOWN ARROWS TO CONTROL THE"
2030 PRINT "ELEVATOR (AT THE RIGHT OF   THE SCREEN). BEWARE: YOU CANBE TRAPPED. IF YOU GIVE UP,"
2040 PRINT "HIT KEY(A) FOR AID. IT COSTS$5 EVERY TIME YOU  DIG. IF  YOU FIND ANY GOLD, BRING IT TO THE BANK."
2050 PRINT:"     GOOD LUCK":" PRESS ANY KEY TO CONTINUE"
2060 CALL KEY(0,KE,ST)
2070 IF ST=0 THEN 2060
2080 RETURN
2090 CALL CHAR(96,"FFFFFFFFFFFFFFFF")
2100 CALL CHAR(100,"01010101010101FF")
2110 CALL COLOR(9,2,1)
2120 CALL CHAR(97,"8080808080808080")
2130 CALL CHAR(98,"00000000000000FF")
2140 CALL CHAR(99,"0101010101010101")
2150 CALL CHAR(144,"0")
2160 CALL COLOR(15,2,16)
2170 A$="FF010101010101FF"
2180 CALL CHAR(102,A$)
2190 CALL CHAR(145,A$)
2200 A$="FF313179B5B549FF"
2210 CALL CHAR(103,A$)
2220 CALL CHAR(146,A$)
2240 CALL CHAR(101,"183C183C5A5A2442")
2250 CALL CHAR(147,"183C183C5A5A2442")
2260 A$="1010101010101010"
2270 CALL CHAR(105,A$)
2280 CALL CHAR(148,A$)
2290 EP=0
2300 M=250
2310 CALL COLOR(14,5,5)
2320 CALL CLEAR
2330 CALL COLOR(16,11,2)
2340 PRINT " 1ST BANK": : : : : : : : : : : : : : : : : : :"$/OZ OF GOLD="
2350 PRINT " GOLD OUNCES=";TAB(18);"CASH="
2360 CALL HCHAR(6,1,96,480)
2370 CALL VCHAR(6,32,144,15)
2380 CALL VCHAR(6,31,144,15)
2390 CALL HCHAR(1,3,98,10)
2400 CALL VCHAR(2,3,97,4)
2410 CALL VCHAR(2,12,99,4)
2420 CALL HCHAR(3,12,100)
2430 CALL VCHAR(4,11,99,2)
2440 CALL HCHAR(5,20,101)
2450 CALL HCHAR(5,31,102)
2460 CALL HCHAR(4,31,98)
2470 CALL HCHAR(5,32,97)
2480 FOR I=1 TO 30
2490 H=INT(RND*15)
2500 V=INT(RND*26)
2510 CALL SOUND(-200,330+20*I,INT(H/5))
2520 IF C(H,V)THEN 2490
2530 C(H,V)=1
2540 CALL HCHAR(H+6,V+4,152)
2550 NEXT I
2560 CALL SOUND(800,262,1,524,0,796,1)
2570 CALL SOUND(900,262,0,796,1,349,0)
2580 GOSUB 1740
2590 REM  PRINT A LINE 
2600 RETURN
2610 CALL HCHAR(24,3,32,29)
2620 FOR I=1 TO LEN(A$)
2630 CALL HCHAR(24,4+I,ASC(SEG$(A$,I,1)))
2640 NEXT I
2650 RETURN
2660 REM  WON 
2670 CALL CLEAR
2680 FOR I=1 TO 20
2690 CALL SCREEN(3+INT(RND*12))
2700 PRINT TAB(I);"CASH $"
2710 CALL SOUND(80,330+20*I,0)
2720 NEXT I
2730 CALL CLEAR
2740 PRINT "! ! ! Y I P P E E ! ! !"
2750 CALL SOUND(700,262,1,524,0,796,1)
2760 CALL SOUND(800,262,0,796,1,349,0)
2770 PRINT "YOU CAN NOW SELL THIS CLAIM FOR LOTS OF MONEY TO A BIG  MINING CO. AND RETIRE ON THEROYALTIES!": : :
2780 PRINT " PLAY AGAIN (Y/N)?"
2785 CALL SCREEN(4)
2786 GOTO 2840
2790 REM  QUIT 
2800 CALL CLEAR
2810 PRINT "TOO BAD, THE OLD MINE JUST  DIDN'T PAN OUT.": : : : : :
2820 REM  BANKRUPT 
2830 PRINT "YOU WENT BANKRUPT, DO YOU   WANT TO TRY AGAIN(Y/N)?"
2840 CALL KEY(2,KE,ST)
2850 IF ST=0 THEN 2840
2860 IF KE=15 THEN 2960
2870 IF KE=18 THEN 2890
2880 GOTO 2840
2890 CALL CLEAR
2900 FOR I=0 TO 14
2910 FOR J=0 TO 26
2920 C(I,J)=0
2930 NEXT J
2940 NEXT I
2950 GOTO 190
2960 STOP
32714 SUB VDPUTIL3
32715 CALL CLEAR :: CALL INIT :: CALL LOAD(8196,63,232)
32716 CALL LOAD(16360,80,79,75,69,82,32,38,12,80,79,75,69,86,32,37,164,80,69,69,75,86,32,37,36)
32717 CALL LOAD(9491,100)
32718 CALL LOAD(9508,2,224,37,20,3,0,0,0,2,0,0,100,200,0,37,18,4,192,2,1,0,1,4,3,2,32,12,4,32)
32719 CALL LOAD(9536,32,24,18,184,192,32,131,74,2,1,37,0,208,160,131,18,9,130,2,34,255,255,4,32,32,44)
32720 CALL LOAD(9562,4,197,209,34,36,255,9,132,19,21,4,195,60,224,37,18,200,5,131,76,200,5,131,78,200,5)
32721 CALL LOAD(9588,131,80,2,5,64,0,161,68,2,131,0,1,17,6,2,5,65,0,161,67,6,196,200,4,131,76)
32722 CALL LOAD(9614,200,5,131,74,4,192,192,66,5,129,4,37,254)
32723 CALL LOAD(9636,2,224,37,20,3,0,0,0,4,192,2,1,0,1,200,1,37,18,4,32,32,12,4,32,32,24,18,184)
32724 CALL LOAD(9664,200,32,131,74,37,0,184,32,131,18,37,19,2,3,0,2)
32725 CALL LOAD(9680,4,192,192,67,4,32,32,12,4,32,32,24,18,184,216,224,131,75,37,0,5,131,136,3)
32726 CALL LOAD(9704,37,18,22,242,192,32,37,0,2,1,37,2,192,131,2,34,255,254,4,32,32,36)
32727 CALL LOAD(9726,4,192,216,0,131,124,2,224,131,224,4,96,0,112)
32728 CALL LOAD(9740,3,0,0,0,4,192,2,1,0,1,4,32,32,12,200,32,131,74,37,18,2,1,0,2,4,32,32,12,4,32)
32729 CALL LOAD(9770,32,24,18,184,192,32,131,74,208,32,37,19,4,32,32,48,4,91)
32730 CALL LOAD(8194,39,04)
32731 SUBEND
32732 SUB CHAR(A,A$) :: L=LEN(A$)
32733 A$=A$&RPT$("0",16-L)
32734 FOR I=1 TO 16 STEP 2
32735 A1$=SEG$(A$,I,1)
32736 A2$=SEG$(A$,I+1,1)
32737 IF A1$<":" THEN A1=VAL(A1$)*16 ELSE A1=(ASC(A1$)-55)*16
32738 IF A2$<":" THEN A1=A1+VAL(A2$)ELSE A1=A1+ASC(A2$)-55
32739 CALL LINK("POKEV",767+8*A+(I+1)/2,A1)
32740 NEXT I
32741 SUBEND
32742 SUB COLOR(A,B,C)
32743 CALL LINK("POKEV",2063+A,(B-1)*16+C-1)
32744 SUBEND

 

 

 

Adamantyr

Link to comment
Share on other sites

Yeah - the duration of the sounds sort of make the game unplayable for me... I am far too impatient. Might negative / shorten them to see if that helps at some point.

 

Not quite seeing why this game requires extended chars, alas, doesn't really matter - I assume that the XB modification breaks sprites? Interestingly (in classic99) I put on a sprite and started moving it on line 2 - and it did just that - but then the motion stopped...

 

-H

Link to comment
Share on other sites

Ah, Miner ... we played a similar version in school on our PETs. Looking around, found a video of the game here ->

 

Hmm, we also played Lemonade and Artillery on those PETs besides our own homebrew Rogue-likes and text adventures.

 

Cool, thanks Jon! I figured it was from another platform. The TI version is scaled back in places (shorter text messages, less elaborate elevator and bank graphics), but also has non-ASCII graphics and colors. Not a bad port, really.

 

Additional: While 99'ers occasionally complain about the sound on their machine, at least in comparison to the SID chip, WOW is that PET machine chalkboard-scratch NASTY... *wince*

 

Adamantyr

Edited by adamantyr
Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Loading...
  • Recently Browsing   0 members

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