The Trader Trilogy is a three-part space trading adventure game spread across three separately loaded BASIC programs (Part One “Pegasus,” Part Two “The Moons of Meridien,” and Part Three “Living Death on Delta”), published by Pixel Productions in 1983. Each part loads machine code from tape before running, with RANDOMIZE USR calls to addresses such as 65000, 64800, 64780, and 64760 handling tasks including screen effects and navigation displays. Player state—cargo array A(7), credits, and status flags—is preserved between parts by POKEing values into a fixed memory block at address 65290, which the next part recovers with PEEK on startup. Part Three features a maze-navigation sequence driven by ATTR reads to detect valid map cells, and includes a timed survival mechanic where a bitten player must find medical supplies before a counter expires. Custom UDG characters are defined via POKE USR throughout all three parts to render spacecraft, terrain, and alien figures.
Program Analysis
Program Structure
The trilogy consists of three independent BASIC programs loaded sequentially from tape. Part One (lines 10–9500) handles the opening title sequence, market trading at Epsilon Dock, travel to Psi, and an alien quiz. Part Two (lines 10–9860) covers the moons Beta, Alpha, and Gamma, including haggling sequences, a docking tunnel mini-game, and a fuel-gathering sequence. Part Three (lines 10–9945) is set on Delta, featuring a top-down maze navigation, random encounters, a blaster combat system, and the final sell-off at Epsilon.
State Preservation Between Parts
The key engineering challenge in a multi-load game is passing player state across tape loads. The solution here uses a fixed block of memory at address K=65290 (within the machine code area). At the end of each part, cargo array A(1)–A(6) is POKEd into K+1 through K+6. The 16-bit credits value A(7) is split across two bytes: POKE K+7,INT(A(7)/256) and POKE K+8,A(7)-256*INT(A(7)/256). On startup each subsequent part reads these bytes back with PEEK and reassembles them. Byte K+9 serves as a multi-purpose flag: in Part One it records whether the player achieved Beta orbit; in Part Two it stores the amount of raw fuel collected at Gamma.
Machine Code Usage
Each part loads external machine code via LOAD ""CODE (Part One) before the main program begins. Several RANDOMIZE USR calls invoke machine code routines at fixed addresses:
USR 65000– called as a screen/display initializer (used in all three parts)USR 64800– called at the start of each part’s main loop, likely a border/attribute setupUSR 64780andUSR 64760– used in the ASTRONAV subroutine to render the star-map backgroundUSR 64820andUSR 65130– used in Part Two’s Alpha docking and Gamma asteroid sequencesUSR 64740andUSR 64720– referenced in Part Two’s ship-drawing subroutine (commented out with REM)
Part One also uses direct display-file POKEs in subroutine 9500 to animate a “star field” by writing value 71 to calculated display addresses (S1, S2, etc.) and shifting them each iteration, bypassing PRINT entirely for speed.
Part One: Trading and the Psi Quiz
The market at Epsilon (lines 1100–1197) randomizes six commodity prices and uses a FOR T=0 TO 6 loop with cascading IF T=N THEN statements to process each purchase in turn. The credit balance uses the idiom C=1000+8^4 (i.e., 1000 + 4096 = 5096) as an offset to distinguish the base stake from earnings; line 1176 checks IF C>=8^4 to detect negative credit. The Psi alien quiz (lines 2400–2794) tests chemistry formulas, a timed multiplication problem using POKE 23673,0 to zero the FRAMES counter as a stopwatch, number sequences, and cargo inventory knowledge. The score Q determines the outcome across five branches.
Part Two: Haggling and Mini-Games
The Betan haggling sequence (lines 1700–2540) implements a negotiation loop where the NPC counter-offers are randomized and the player must converge below a target price within ND rounds. The Alpha docking sequence (lines 6100–6700) uses RANDOMIZE USR 65130 to draw the asteroid background, then runs a scrolling tunnel in a FOR Y loop; if the player misses the target row band (H<=9 OR H>=11), they crash-land and pay repair costs. The Gamma fuel-collection sequence reads the display file directly: after the timed flight, line 5530 PEEKs row 22 of the display (J=22144) to count pixels representing fuel blobs collected by the ship’s position.
Part Three: Maze Navigation and Encounters
The Delta surface is rendered as a pseudo-random maze using the ASTRONAV machine code plus hand-drawn PRINT block-graphic corridors (subroutine 3100). Navigation (lines 3290–3450) uses ATTR reads to check whether the destination cell has the correct paper/ink attribute before allowing movement—ATTR(X±1,Y) returning 1 confirms a valid corridor tile. Specific coordinate pairs trigger one of twelve encounter subroutines (lines 4000–4900). A timed poison mechanic uses variable TI: if the player is bitten at line 4125, TI is set to 1 and incremented each navigation step; if TI>58 (line 3360), the player dies. Finding the medical store resets TI to E (which equals 0 at that point in execution).
UDG Definitions
All three parts define custom UDG characters by POKEing bitmaps into USR "x" addresses. Part Two (line 9800–9860) defines UDGs C, D, O, P, Q, and U used for ship components, engine flames, and terrain. Part Three (lines 9900–9945) defines UDGs L, M, N, and O for the Delta environment graphics. In Part Two, UDG U is filled with an alternating 170/85 checkerboard pattern via a loop, while others are set individually byte by byte.
Notable Techniques and Idioms
VAL "number"inGO TO/GO SUBis used in the cross-part jump at line 998:GO TO (PEEK 64841+256*PEEK 64840)to resume at a saved line number.- The music subroutine (line 6000/9100) uses
RESTOREthen reads pitch/duration pairs from DATA, with durations expressed asE,E*2,E/3for rhythmic variety. - Delay loops are implemented as bare
FOR P=0 TO N: NEXT Psubroutines at three granularities (lines 585/610/600 in Part One, mirrored in later parts). - The
POKE 23609,255at line 30 disables the L/U cursor mode switch, keeping keyboard input uppercase throughout. POKE 23658,8at line 2438 enables CAPS LOCK for the alien name-input sequence.- The scrolling star field in Part One’s subroutine 9500 manipulates display RAM addresses arithmetically, with separate address variables (
S1–S8) tracking pixel positions for multiple simultaneous moving objects.
Bugs and Anomalies
- Part Three line 30 references variable
K(LET A(I)=PEEK(K+I)) beforeKis defined anywhere in Part Three’s own code. It relies onKbeing left in memory from the previous BASIC environment, which is fragile—thoughCLEARwithout an argument (as used in Part Two line 9070) does not erase variables, so in practiceK=65290survives. - Part Three variable
Eis used uninitialized as a loop start value at line 1480 (FOR N=E TO 37) and in subroutine 3000 (FOR N=E TO 20). It is later set to.12by the music subroutine 9100; if that has been called first,Eis 0.12, which rounds to 0 for integer FOR purposes—a coincidental but fragile dependency. - In Part One’s market loop, lines 1181–1190 do not validate that
Wis non-negative or affordable before subtracting fromC, allowing the player to go into negative credits that are only caught on the next loop iteration at line 1171. - Part Two line 900 contains
REM USR 64740: RANDOMIZE USR 64720: RANDOMIZE—the first call is commented out with REM, suggesting a machine code routine was removed or replaced during development.
Content
Source Code
10 REM TRADER PART ONE * PIXEL PRODUCTIONS 1983 .
11 POKE 52457,255: CLEAR 54666: PAPER 7: BORDER 7: INK 0: CLS : PRINT AT 8,7;"THE TRADER TRILOGY"
12 PRINT AT 10,0;" * PIXEL PRODUCTIONS 1983 "
13 PRINT AT 12,6;"LOADING MACHINE CODE"
15 LOAD ""CODE
16 FLASH 0
20 DIM A(7): RANDOMIZE : LET EN=0: LET S$=" "
25 PRINT AT 12,0;S$
30 POKE 23609,255: GO TO 680
100 INK 7: PAPER 0: BORDER 0: CLS
110 RANDOMIZE USR 65000: RANDOMIZE : RETURN
200 PAPER 0: BORDER 0: INK 6: CLS : RETURN
300 PAPER 7: BORDER 7: INK 1: CLS : RETURN
500 PRINT INK 7;AT X,19;"__j::::::::";AT X+1,20;"j E27 "
510 PRINT INK 7;AT x+2,12;">..--------------..";AT x+2,7;"/";AT x+3,5;"/g ........... PEGASUS =k"
520 PRINT INK 2;AT x+4,1;"-e"; PAPER 7;" .... .... .... .... ......"
530 PRINT INK 2; PAPER 7;AT x+5,16;" ="
535 PRINT INK 2; PAPER 7;AT x+6,16;" ="
550 RETURN
585 FOR P=0 TO 1000: NEXT P
590 FOR P=0 TO 500: NEXT P
600 FOR P=0 TO 150: NEXT P
610 BRIGHT 0: RANDOMIZE : RETURN
680 PRINT AT 14,0;s$;AT 14,9; FLASH 1; INK 2;"STOP THE TAPE"
685 PRINT AT 16,4;"PRESS ANY KEY TO START": PAUSE 0
700 GO SUB 100: BORDER 0: PRINT AT 10,3; INK 6; BRIGHT 1;"PIXEL PRODUCTIONS PRESENTS": PAUSE 100
702 GO TO 5010
705 LET CL=1
710 BORDER 0: RANDOMIZE USR 64800
720 IF EN=1 THEN PRINT AT 21,0; INK 6; PAPER 0;" END OF PART ONE ": GO TO 9000
750 INK 7: PRINT AT 5,18;"A SPACE";AT 6,18;"ADVENTURE";AT 7,18;"IN THREE";AT 8,18;"PARTS";AT 12,18;"PART ONE";AT 15,17;"'PEGASUS'": GO SUB 6000
950 GO TO 1000
998 POKE 52457,PEEK 23728: GO TO (PEEK 64841+256*PEEK 64840)
1000 CLS : LET X=7: GO SUB 100: GO SUB 500: LET S1=0: LET S2=0
1010 FOR n=50 TO 10 STEP -.5: PRINT AT x+5,31;"f";AT x+6,31;"f";;AT x+5,11;"*": BEEP .05,n: INK 0: PRINT AT x+5,31;" ";AT x+5,11;" ";AT x+6,31;" "
1012 IF n>20 THEN PRINT AT 15,S1; PAPER 0; INK 7;" .": LET S1=S1+.5
1013 IF n<25 THEN PRINT AT 5,S2; PAPER 0; INK 7;" .": LET S2=S2+1
1014 IF n=20 THEN PRINT AT 15,S1;" "
1015 NEXT n: GO SUB 8000: GO SUB 8012: GO SUB 590
1020 GO SUB 1960: PRINT AT 19,6; FLASH 1;"+": GO SUB 1965: LET PE=28: FOR X=3 TO 15: PRINT PAPER 0; INK 7;AT X,PE;"cd": BEEP .1,27-X: PRINT AT X,PE;" ": LET PE=PE-1: NEXT X
1030 FOR N=15 TO 19 STEP .2: PRINT INK 7; PAPER 0;AT N,PE;"cd": BEEP .1,27-N: PRINT AT N,PE;" ": NEXT N
1035 PRINT AT 20,PE;"cd": GO SUB 590
1040 GO SUB 200
1050 PRINT AT 7,0;"AS THE SPACEHOPPER 'PEGASUS'",,,"TOUCHES DOWN AT EPSILON DOCK",,,"BUSINESS IS BRISK.",,,
1055 PRINT "YOU MUST INVEST MOST OF YOUR",,,"1000 CREDITS IN CARGO AND FUEL.": GO SUB 585
1060 CLS : PRINT AT 10,0;"LET US SEE WHAT THE MARKET IS",,,"LIKE TODAY...": GO SUB 590
1100 FOR N=1 TO 7: LET A(N)=0: NEXT N: RANDOMIZE
1110 LET HF=INT (RND*100)+100: LET PC=INT (RND*20)+20: LET MU=INT (RND*10)+10: LET BO=INT (RND*200)+100: LET SM=INT (RND*5)+5: LET GO=INT (RND*50)+10
1120 FLASH 0: GO SUB 300: LET C=1000+8^4: LET X=4
1130 PRINT AT 0,0;" TODAY'S PRICES ",,"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''",," HOPPER FUEL";TAB 18;" PER FILL ",,,
1135 PRINT " PETROCHEM";TAB 18;" /UNIT",,," MUNCH";TAB 18;" /UNIT",,," SYNTHOMUNCH";TAB 18;" /UNIT",,," BOOSTERSPICE";TAB 18;" /UNIT",,,
1140 PRINT " GOLD";TAB 18;" /UNIT",,,"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''"
1145 INK 2: FOR T=0 TO 6: PRINT AT 4,18;HF;AT 6,19;PC;AT 8,19;MU;AT 10,20;SM;AT 12,18;BO;AT 14,19;GO
1150 INK 1: PRINT AT 18,0;" INPUT HOW MUCH YOU WANT OF EACH COMMODITY. "
1170 IF C>=8^4 THEN GO TO 1176
1171 FLASH 1: PRINT AT 21,0;" WE DO NOT ACCEPT CREDIT! ": GO SUB 590: GO TO 1120
1176 FLASH 0: PRINT AT 21,0;" YOU HAVE ";C-8^4;" CREDITS "
1177 IF T<6 THEN PRINT AT X,0; FLASH 1;">"
1178 IF T<>0 THEN PRINT AT X-2,0;" "
1179 BEEP .5,20: IF T<6 THEN INPUT W
1180 IF T=0 THEN GO SUB 1200
1181 IF T=1 THEN LET A(1)=W
1182 IF T=1 THEN LET C=C-W*PC
1183 IF T=2 THEN LET A(2)=W
1184 IF T=2 THEN LET C=C-W*MU
1185 IF T=3 THEN LET A(3)=W
1186 IF T=3 THEN LET C=C-W*SM
1187 IF T=4 THEN LET A(4)=W
1188 IF T=4 THEN LET C=C-W*BO
1189 IF T=5 THEN LET A(5)=W
1190 IF T=5 THEN LET C=C-W*GO
1192 IF T=6 THEN PRINT AT 18,0;S$;AT 19,0;S$
1195 LET X=X+2: NEXT T
1197 GO SUB 590: GO TO 1220
1200 IF W<>1 THEN FLASH 1: PRINT AT 21,0;" YOU CAN ONLY CARRY ONE! ": GO SUB 590: FLASH 0: PRINT AT 21,0;S$
1210 LET C=C-HF: RETURN
1220 PAPER 1: BORDER 1: CLS : LET X=5: PRINT AT X-1,0;" CARGO INVENTORY ",,"................................................................"
1225 INK 7: PRINT AT 9,0;" PETROCHEM";TAB 24-LEN (STR$ A(1));A(1);" U",,,
1227 PRINT AT 11,0;" MUNCH";TAB 24-LEN (STR$ A(2));A(2);" U"
1229 PRINT AT 13,0;" SYNTHOMUNCH";TAB 24-LEN (STR$ A(3));A(3);" U"
1230 PRINT AT 15,0;" BOOSTERSPICE";TAB 24-LEN (STR$ A(4));A(4);" U"
1232 PRINT AT 17,0;" GOLD";TAB 24-LEN (STR$ A(5));A(5);" U"
1235 PRINT AT 19,0;"................................................................": GO SUB 585
1800 GO SUB 100: INPUT "": PRINT AT 4,19;"XXXXXXX": PRINT TAB 19;": XX": PRINT TAB 19;": XX"
1810 PRINT TAB 4;"XXXXXX";TAB 23;"XX"
1815 INK 5: PRINT AT 8,4;"XX";AT 8,23;"XX";AT 9,4;"XX";AT 9,23;"XX";AT 10,4;"XX";AT 10,23;"XX"
1816 INK 5: PRINT AT 11,4;"XX";AT 11,23;"XX";AT 12,4;"XX";AT 12,23;"XX";AT 13,4;"XX";AT 13,23;"XX"
1817 INK 5: PRINT AT 14,4;"XX";AT 14,23;"XX";AT 15,4;"XX";AT 15,23;"XX";AT 16,4;"XX";AT 16,23;"XX"
1818 INK 5: PRINT AT 17,4;"XX";AT 17,23;"XX";AT 18,4;"XX";AT 18,23;"XX";AT 19,4;"XX";AT 19,23;"XX";AT 20,4;"XX";AT 20,23;"XX"
1830 PRINT AT 21,0; INK 6; PAPER 1;"oooooooooooooooooooooooooooooooo"
1840 LET X=13: GO SUB 500
1845 PRINT AT 15,9;"..";AT 8,9;":";AT 9,9;":";AT 10,9;"''";AT 20,16;"I";AT 20,28;"I"
1850 LET l=0: FOR n=0 TO 14: PRINT AT 19,l;" rs t";AT 20,l;" oo o"
1855 IF N=8 THEN PRINT AT 19,4;"X";AT 20,4;"X"
1856 IF N=10 THEN PRINT AT 19,5;"X";AT 20,5;"X"
1860 LET L=L+.5: BEEP .01,0: NEXT N
1870 GO SUB 600: INK 3: FOR N=10 TO 30: BEEP .01,N: IF N=10 THEN PRINT AT 18,9;" .":
1875 IF N=20 THEN PRINT AT 18,9;" :"
1878 NEXT N: GO SUB 600
1890 FOR X=10 TO 14 STEP .1: PRINT AT X,9;":";AT X+1,9; OVER 1;"''": BEEP .1,0-X: NEXT X
1895 PRINT AT X+1,9;"..": GO SUB 600
1900 FOR X=14 TO 8 STEP -.1: PRINT AT X,9;" ": BEEP .05,0-X: NEXT X
1905 PRINT AT 15,9;" ": BEEP .1,-5
1910 GO SUB 600: INK 6: FOR N=0 TO 29: PRINT AT 2,N;" ab": BEEP .05,30+N/10: NEXT N: PRINT AT 2,30;" "
1920 GO SUB 600: PRINT AT 18,9;" .": BEEP .05,10: GO SUB 600: PRINT AT 18,9;" ": BEEP .05,5: GO SUB 600
1930 GO SUB 200: PRINT AT 10,0;"'PEGASUS' IS NOW LOADED UP.",,,"PERMISSION TO LIFT OFF GRANTED.": GO SUB 590
1940 GO TO 1970
1960 GO SUB 100: INK 6: PLOT 20,155: DRAW 11,11,PI: PRINT AT 21,0; PAPER 1; INK 6;"oooooooooooooooooooooooooooooooo"
1961 INK 5: PRINT AT 17,8;"__";AT 17,28;"__": PRINT AT 18,0;" ____ u __ __ u": PRINT AT 19,0;" uu + u u uu"
1962 INK 5: PRINT AT 19,0;" uu + u u u u"
1963 PRINT " abuu..::..u...:.:..u ...::...u...:. ..:: "
1964 PRINT AT 20,5; INK 6; OVER 1;"... .... ... .. ..": OVER 0: PRINT AT 19,6; FLASH 1;"+": RETURN
1965 PRINT AT 20,25; OVER 1; INK 6;"oo o";AT 19,25; OVER 0; INK 5;"::rs::::t": PRINT AT 19,6; FLASH 1;"+": OVER 0: RETURN
1970 GO SUB 1960: INK 6: PRINT AT 1,6;"PRESS "; FLASH 1;"T"; FLASH 0;" TO TAKE OFF."
1971 LET H=25: PRINT AT 20,H; BRIGHT 1;"cd"
1972 IF INKEY$="" THEN GO TO 1972
1973 PRINT AT 1,5;" "
1975 FOR X=20 TO 0 STEP -.5: BRIGHT 1: PRINT AT X,H;"cd": BEEP .01,40-X: PRINT AT X,H;" ": LET H=H-.5: NEXT X
1980 BRIGHT 0: GO SUB 100: PRINT AT 10,9;"*** TRADER ***": GO SUB 6000: GO SUB 600
2000 GO SUB 200
2010 PRINT AT 8,0;"YOU ARE NOW ON A FLIGHTPATH TO",,,"PSI. LET US SEE WHAT THE FLIGHT",,,"COMPUTER HAS TO SAY ABOUT IT...": GO SUB 590
2012 GO SUB 8000: GO SUB 8009: GO SUB 590
2014 PAPER 1: INK 6: BORDER 1: CLS
2015 GO TO 2050
2020 PAPER 7: INK 2: LET X=4: PRINT AT X,0;" SATELLITE ";AT X+3,0;" ENVIRONMENT ";AT X+6,0;" INHABITANTS "
2025 PRINT AT X+9,0;" MOBILITY ";AT X+12,0;" RESOURCES ";AT X+15,0;" REQUIREMENTS": RETURN
2050 GO SUB 2020
2060 BRIGHT 1: INK 7: PAPER 1: PRINT AT X,14;"PSI";AT X+3,14;"NO2 ATMOSPHERE";AT X+6,14;"HYDROGEN SILICON";AT X+7,14;"BASED LIFEFORMS"
2065 PRINT AT X+9,14;"TELEKINESIS OVER";AT X+10,14;"SPACIAL DISTANCES"
2070 PRINT AT X+12,14;"PETROCHEM";AT X+15,14;"???"
2080 GO SUB 585
2100 BRIGHT 0: GO SUB 200: PRINT AT 9,0;"THE HOP TO PSI WILL NOT TAKE",,,"VERY LONG IN THIS SHIP, WE ARE",,,"ALREADY APPROACHING ORBIT.": GO SUB 585
2150 GO SUB 100: INPUT "": LET X=6: GO SUB 500: LET G=21
2160 FOR N=0 TO 30
2165 PRINT AT X+5,31;"f";AT X+6,31;"f";AT X+5,10;"*"
2168 BEEP .1,40-N: PRINT AT X+5,31;" ";AT X+6,31;" ";AT X+5,10;"*"
2170 IF N>=23 THEN PRINT AT G,0;" ": LET G=G-1
2180 IF N=27 THEN PRINT AT X+7,16;"I";AT X+7,28;"I"
2190 NEXT N
2200 GO SUB 590: PRINT AT X+4,8;" "
2225 FOR T=11 TO 13 STEP .1: PRINT AT T,8;"=": BEEP .01,30-T: NEXT T
2230 GO SUB 590: FOR N=0 TO 6 STEP .5: INK INT (RND*7)+1: PRINT AT 13,N;"m": BEEP .02,RND*5+30: INK INT (RND*7)+1: PRINT AT 13,N;"n";AT 13,N;" ": NEXT N
2240 FOR T=0 TO 10: INK INT (RND*7)+1: PRINT AT 13,N;"m": BEEP .02,RND*10+30: NEXT T: GO SUB 590
2250 LET N=18: FOR X=21 TO 13 STEP -.5
2260 INK INT (RND*7)+1: PAPER 4: PRINT AT X,N;"m": BEEP .02,RND*5+30: PRINT AT X,N;"n";AT X,N;" ": LET N=N-.5: NEXT X
2270 PAPER 0: PRINT AT X,N;"m"
2280 GO SUB 590
2300 LET Q=0: GO SUB 100: FOR X=19 TO 21: PRINT AT X,0;" ": NEXT X
2302 RANDOMIZE
2335 FOR N=0 TO 17: PRINT AT 18,N-1;" '..'...': '.''..'..:.'";AT 17,N;" ':.''::'..' :.':. :'";AT 16,N;" .:.':'..': .'':'.'. "
2340 PRINT AT 15,N;" .': :'. . ...:.': ..";AT 14,N;" .'. O..O.''.";AT 13,N;" + +"
2350 FOR P=0 TO 2: BEEP .02,RND*15+30: NEXT P
2360 NEXT N
2365 GO TO 2400
2370 FOR N=0 TO 10 STEP .5
2375 INK INT (RND*7)+1: PRINT AT INT (RND*4)+15,INT (RND*8)+19;CHR$ (129+INT (RND*14))
2376 BEEP RND/20,RND*20+30: NEXT N
2380 PRINT AT 14,21;"0..0": BEEP .2,40: BEEP .2,50
2385 BEEP .01,RND*20+30: PRINT AT 14,21;"O..O": RANDOMIZE : RETURN
2390 FOR x=3 TO 11: PRINT AT x,12;" ": NEXT x: RANDOMIZE : RETURN
2400 GO SUB 2370: INK 7: PRINT AT 3,15;"WELL HUMAN";AT 4,12;"IF YOU WANT FUEL"
2410 PRINT AT 5,15;"WE ARE ONLY";AT 6,14;"INTERESTED IN";AT 7,16;"ONE THING...": GO SUB 2370: GO SUB 2390
2420 INK 7: PRINT AT 3,15;"YOUR BRAIN";AT 5,13;"WAVE PATTERNS!": GO SUB 2370: GO SUB 2390
2430 INK 7: PRINT AT 3,13;" WE THRIVE ON";TAB 12;" MENTAL ACTIVITY,";TAB 13;" SO TO GET OFF"
2435 PRINT TAB 13;"THIS PLANET YOU";TAB 13;" MUST ANSWER";TAB 13;" SOME QUESTIONS";TAB 13;" CORRECTLY...": GO SUB 2370: GO SUB 2390
2438 POKE 23658,8
2440 INK 7: PRINT AT 3,15;"TO START OFF";AT 5,15;"WHAT IS YOUR";AT 7,16;"FIRST NAME?": INPUT N$: GO SUB 2390: GO SUB 2370
2445 INK 7: PRINT AT 3,21-(INT (LEN (N$)/2));N$;"?";AT 5,15;"WHAT A STUPID";AT 7,19;"NAME!": PAUSE 50: PRINT AT 9,15;"MINE IS am.'p.": GO SUB 2370: GO SUB 2390
2450 INK 7: PRINT AT 3,15;"WHAT IS OUR";AT 5,15;"DISTANCE IN";AT 7,15;"LIGHT YEARS";AT 9,15;"FROM EARTH?": INPUT LY: GO SUB 2390: GO SUB 2370
2460 IF LY=16 THEN GO TO 2480
2465 INK 7: PRINT AT 3,15;"OBVIOUSLY I";AT 5,15;"WILL HAVE TO";AT 7,16;"ASK EASIER";AT 9,15;"QUESTIONS...": GO SUB 2370: GO SUB 2390
2470 INK 7: PRINT AT 3,15;"WE WILL START";AT 5,19;"AGAIN...": GO SUB 2370: GO SUB 2390: GO TO 2600
2480 INK 7: PRINT AT 3,15;" OK, SO YOU";AT 5,15;"HAVE READ THE";AT 7,15;"INSTRUCTIONS...": GO SUB 2370: GO SUB 2390: GO TO 2600
2500 LET R=INT (RND*10)+1: DIM E$(10,15): LET E$(1)=" NITROBENZINE": LET E$(2)="SULPHURIC ACID": LET E$(3)="CARBON DIOXIDE": LET E$(4)=" OZONE": LET E$(5)=" FERRIC OXIDE"
2505 LET E$(6)=" NITRIC ACID": LET E$(7)="SODIUM CHLORIDE": LET E$(8)="CARBON MONOXIDE": LET E$(9)=" WATER": LET E$(10)=" ACETIC ACID"
2510 INK 7: PRINT AT 3,16;"WHAT IS THE";AT 5,14;"CHEMICAL FORMULA";AT 7,20;"FOR";AT 9,15;E$(R): INPUT F$
2520 IF R=1 AND F$="C6H5NO2" THEN LET Q=Q+1
2522 IF R=2 AND F$="H2SO4" THEN LET Q=Q+1
2523 IF R=3 AND F$="CO2" THEN LET Q=Q+1
2524 IF R=4 AND F$="O3" THEN LET Q=Q+1
2525 IF R=5 AND F$="FE2O3" THEN LET Q=Q+1
2526 IF R=6 AND F$="HNO3" THEN LET Q=Q+1
2527 IF R=7 AND F$="NACL" THEN LET Q=Q+1
2528 IF R=8 AND F$="CO" THEN LET Q=Q+1
2529 IF R=9 AND F$="H2O" THEN LET Q=Q+1
2530 IF R=10 AND F$="CH3COOH" THEN LET Q=Q+1
2540 GO SUB 2390: GO SUB 2370: RETURN
2550 GO SUB 2370: FOR N=0 TO 12: PRINT AT N,12; PAPER 0;" ": NEXT N
2552 INK 7: PRINT AT 3,15;"GOODBYE, UM,";AT 5,20-INT (LEN (N$)/2);N$: GO SUB 2370
2555 INK 7: FLASH 1: PRINT AT 12,19;"SNIGGER": PAUSE 50: FLASH 0
2560 RETURN
2600 LET A=INT (RND*50)+5: LET B=INT ((RND*20)+18)*2
2610 LET D$=STR$ A+" X "+STR$ B
2620 INK 7: PRINT AT 3,13;" YOU HAVE TEN";AT 5,13;"SECONDS TO INPUT";AT 7,20-LEN D$/2;D$
2625 POKE 23673,0
2630 INPUT D
2635 GO SUB 2390
2640 IF PEEK 23673<3 THEN GO TO 2660
2650 INK 7: PRINT AT 3,12;"YOU TOOK TOO LONG";AT 5,15;"TOO ANSWER...": GO TO 2700
2660 IF D=A*B THEN LET Q=Q+1
2700 GO SUB 2370: GO SUB 2390
2710 DIM q$(8,14)
2711 LET q$(1)="1,1,4,27,256,?"
2712 LET q$(2)="1,2,3,5,13,?"
2713 LET q$(3)="1,4,9,16,25,?"
2714 LET q$(4)="3,1,4,1,5,9,?"
2715 LET q$(5)="1,9,16,22,27,?"
2716 LET q$(6)="001,010,011,?"
2717 LET q$(7)="3,7,12,18,25,?"
2718 LET q$(8)="1,3,7,15,31,?"
2720 INK 7: PRINT AT 3,15;"TELL ME THE";AT 4,15;"NEXT NUMBER";AT 5,17;"IN THIS";AT 6,16;"SEQUENCE;"
2730 LET R=INT (RND*8)+1: PRINT AT 8,14;q$(R): INPUT N
2741 IF R=1 AND N=3125 THEN LET Q=Q+1
2742 IF R=2 AND N=21 THEN LET Q=Q+1
2743 IF R=3 AND N=31 THEN LET Q=Q+1
2744 IF R=4 AND N=2 THEN LET Q=Q+1
2745 IF R=5 AND N=36 THEN LET Q=Q+1
2746 IF R=6 AND N=100 THEN LET Q=Q+1
2747 IF R=7 AND N=33 THEN LET Q=Q+1
2748 IF R=8 AND N=63 THEN LET Q=Q+1
2750 GO SUB 2390: GO SUB 2370
2755 GO SUB 2500
2760 LET R=INT (RND*3): INK 7: PRINT AT 3,15;"HOW MANY U"
2762 IF R=1 THEN PRINT AT 5,14;" OF MUNCH"
2764 IF R=0 THEN PRINT AT 5,14;"OF PETROCHEM"
2766 IF R=2 THEN PRINT AT 5,14;" OF GOLD"
2770 PRINT AT 7,15;"DO YOU HAVE";AT 9,16;"ON BOARD?"
2780 INPUT PP
2782 IF R=0 AND PP=A(1) THEN LET Q=Q+1
2784 IF R=1 AND PP=A(2) THEN LET Q=Q+1
2786 IF R=2 AND PP=A(5) THEN LET Q=Q+1
2790 LET A(6)=0: GO SUB 2390: GO SUB 2370
2791 IF Q=3 THEN LET I$="ONE": GO TO 2850
2792 IF Q=2 THEN LET I$="TWO": GO TO 2850
2793 IF Q=1 THEN GO TO 2900
2794 IF Q=0 THEN GO TO 2950
2795 IF Q=4 THEN GO TO 2800
2800 INK 7: PRINT AT 3,15;"YOU DID VERY";AT 4,13;"WELL FOR A HUMAN,"
2805 PRINT AT 5,15;"YOU CAN HAVE";AT 6,16;"YOUR FUEL"
2810 PRINT AT 7,13;"PLUS 10 UNITS OF";AT 8,16;"PETROCHEM."
2815 LET A(1)=A(1)+10: GO SUB 2370
2817 GO SUB 2550
2820 GO SUB 200
2825 PRINT AT 8,0;"PLEASED WITH YOUR UNEXPECTED",,,"BONUS, YOU BID FAREWELL TO THE",,,"HIDEOUS PSIONS AND RESOLVE NEVER",,"TO RETURN..."
2830 GO SUB 585: GO TO 3000
2850 INK 7: PRINT AT 1,15;"YOU GOT ";I$;AT 2,15;"WRONG HUMAN";AT 3,15;"BUT YOU CAN";AT 4,16;"HAVE SOME"
2855 PRINT AT 5,15;"FUEL IF YOU";AT 6,17;"DELIVER";AT 7,16;"SOMETHING";AT 8,15;"TO ALPHA..."
2856 GO SUB 2550
2860 GO SUB 200: LET A(6)=1
2865 PRINT AT 7,0;"YOU HAVE LITTLE OPTION BUT TO",,,"TAKE THE MYSTERIOUS CARGO,",,,"STOW IT IN YOUR HOLD AND GET",,,"OFF PSI AS FAST AS YOUR HOPPER",,,"CAN GO..."
2870 GO SUB 585: GO TO 3000
2900 INK 7: PRINT AT 3,14;"YOU GOT THREE";AT 4,14;"WRONG HUMAN,";AT 5,14;"YOU CAN HAVE";AT 6,16;"SOME FUEL";AT 7,14;"BUT YOU MUST";AT 8,14;"FORFEIT YOUR";AT 9,14;"BOOSTERSPICE!"
2910 GO SUB 2550: GO SUB 200: LET A(4)=0
2930 PRINT AT 7,0;"SADLY YOU GIVE THE PSIONS",,,"YOUR PRECIOUS CARGO OF",,,"BOOSTERSPICE BUT YOU ARE GLAD",,,"TO HAVE BEEN LET OFF SO",,,"EASILY. YOU LEAVE...": GO SUB 585
2940 GO TO 3000
2950 INK 7: PRINT AT 3,14;"YOU GOT THEM";AT 4,15;"ALL WRONG";AT 5,14;"HUMAN, WE ARE";AT 6,14;"KEEPING YOUR";AT 7,16;"SHIP AND";AT 8,15;"SENDING YOU";AT 9,16;"BACK HOME...": GO SUB 2550
2960 GO SUB 200
2970 PRINT AT 7,0;"HOW ARE YOU GOING TO EXPLAIN",,,"ALL THIS BACK HOME?",,,"YOU ARE GOING TO HAVE TO START",,,"ALL OVER AGAIN...": GO SUB 585
2980 GO TO 20
3000 GO SUB 200: PRINT AT 8,0;"THE 'PEGASUS' PULLS CLEAR OF",,,"PSI AND TAKES AN INWARD COURSE",,,"TOWARDS THE MOTHER PLANET AND",,,"ITS CLOSEST MOON, BETA...": GO SUB 585
3030 GO SUB 100: PRINT AT 10,9;"*** TRADER ***": GO SUB 6000: GO SUB 600
3040 GO SUB 8000: GO SUB 8009: GO SUB 8006
3045 INK 3: PLOT 88,25: FOR i=0 TO 9: DRAW 0,5: BEEP .2,50: NEXT i
3046 GO SUB 590
3050 GO SUB 200
3060 PRINT AT 7,0;"HELPED BY MERIDIEN'S MASSIVE",,,"GRAVITATIONAL PULL, YOU CAN FALL",,"TOWARDS BETA AND CONSERVE FUEL.",,,"YOU MUST USE BETA'S GRAVITY TO",,,"SWING ROUND AND STOP YOUR PLUNGE",,"INTO THE SWIRLING CLOUDS BELOW.": GO SUB 585
3100 PAPER 1: BORDER 1: INK 0: CLS
3105 PRINT AT 1,4;"OOOOOOOOOOOOOOOOOOOOOOOO";AT 2,5;"OOOOOOOOOOOOOOOOOOOOOO";AT 3,6;"OOOOOOOOOOOOOOOOOOOO"
3110 PRINT AT 4,7;"OOOOOO+O*OOOOOOOOO"
3120 PRINT AT 6,7;"j"; INK 0; PAPER 0;"................"; PAPER 1;"k"
3125 PRINT AT 7,6;"j"; PAPER 0; INK 0;".................."; PAPER 1;"k"
3130 PRINT AT 8,5;"j"; PAPER 0; INK 0;"...................."; PAPER 1;"k"
3135 PRINT AT 9,4;"j"; PAPER 0; INK 0;"......................"; PAPER 1;"k"
3140 PRINT AT 10,3;"j"; PAPER 0; INK 0;"........................"; PAPER 1;"k"
3145 PRINT AT 11,2;"j"; PAPER 0; INK 0;".........................."; PAPER 1;"k"
3150 PRINT AT 12,1;"j"; PAPER 0; INK 0;"............................"; PAPER 1;"k"
3155 PRINT AT 13,0; PAPER 1;"j"; PAPER 0; INK 0;".............................."; PAPER 1;"k"
3156 PRINT AT 14,0; PAPER 0; INK 0;"................................"
3168 PRINT AT 13,11;"OOOOOOOOOO";AT 14,11;"OOO OOO";AT 15,11;"OOO OO0 "
3170 PRINT AT 16,11;"OOO OOO";AT 17,1;" OOO++++OO0 "
3171 PRINT " .................. .................. "
3172 PRINT " .................. .................. "
3173 PRINT " .................. .................. "
3175 PRINT " .................. .................. "
3180 PRINT AT 19,14;"****"
3182 INK 0: PAPER 7: PLOT OVER 1;72,120: PLOT OVER 1;160,100: PLOT OVER 1;200,90: PLOT OVER 1;56,88: PLOT OVER 1;55,104
3190 DIM S(8): DIM U(8)
3195 PAPER 0: INK 7: LET B=30
3196 GO SUB 9500
3300 PAPER 2: INK 6: BORDER 2: CLS
3310 PRINT FLASH 1; BRIGHT 1;AT 5,13;"DANGER"
3320 PRINT AT 9,0;"THE SHIP IS GOING TOO FAST.",,,"YOU ARE LOSING CONTROL!"
3330 FOR P=0 TO 10: BEEP .1,30: BEEP .1,42: NEXT P
3340 LET Y=1: GO SUB 100: INK 3: PLOT 200,100: DRAW 5,5,PI: INK 7: FOR X=0 TO 20: PRINT AT X,Y;"ab": BEEP .05,30+X: PRINT AT X,Y;" ": LET Y=Y+1: NEXT X
3350 GO SUB 200
3360 PRINT AT 9,0;"MANOEUVRE SHIP INTO BETA ORBIT",,,"USING CURSOR KEYS 6,7,8.": GO SUB 590
3370 LET G$="ppqqpqpppqpqpqpqqpqpqqppqqpqqppq"
3375 LET H$="qpqppqqqqpqppqpqqpqpqppqpqqpqpq"
3400 GO SUB 100: PRINT INK 3;AT 21,0;G$: INK 6: CIRCLE 200,80,2: CIRCLE 200,80,1
3410 LET K=65290: LET X=2: LET Y=X: LET N=0: POKE K+9,0
3420 PRINT AT X,Y; INK 7;"+": BEEP .1,40: PRINT AT X,Y;"*";AT X,Y;" "
3425 PRINT AT 21,1; INK 3;H$
3430 IF INKEY$="7" THEN LET X=X-.25
3432 IF INKEY$="6" THEN LET X=X+1
3440 IF INKEY$="8" THEN LET Y=Y+.25
3450 INK 3: PRINT AT 21,0;H$;AT 21,0; INK 2;G$
3460 LET X=X+.1: LET Y=Y+.1: LET N=N+1
3470 IF X>=10 AND X<=12 AND Y>=23 AND Y<=25 THEN GO TO 3500
3480 IF X>=17 THEN GO TO 3490
3485 IF N<100 THEN GO TO 3420
3490 GO SUB 200
3492 PRINT AT 7,0;"YOU HAVE MISSED BETA ORBIT AND",,,"YOUR SPACEHOPPER DOES NOT HAVE",,,"ENOUGH POWER TO STOP YOUR FALL.",,,,,"IS THIS THE END???": GO SUB 585
3495 GO TO 3700
3500 GO SUB 200
3505 IF N<82 THEN GO TO 3600
3510 PRINT AT 9,0;"YOU ARE SAFE. NOW LET'S GET DOWN",,"TO BETA AND DO SOME BUSINESS...": GO SUB 585
3520 POKE K+9,1: GO TO 3700
3600 PRINT AT 9,0;"YOU DID IT, BUT NOW YOU DON'T",,,"HAVE ENOUGH FUEL LEFT TO LAND...": GO SUB 585
3610 POKE K+9,0: GO TO 3700
3700 LET EN=1: GO TO 710
5000 GO TO 9900
5010 BORDER 0: PAPER 0: INK 7: CLS
5015 RANDOMIZE USR 65000
5020 CIRCLE 125,90,75
5100 BRIGHT 1: LET A=23: LET B=65
5105 FOR N=1 TO 6: INK N
5110 PLOT A+3,B
5120 DRAW 0,60
5130 DRAW 21,0: DRAW -42,0
5140 PLOT A+32,B: DRAW 0,60
5150 DRAW 10,-30,-PI
5160 DRAW 20,-30
5180 DRAW 20,60: DRAW 20,-60
5190 DRAW -10,25: DRAW -20,0
5200 PLOT A+110,B
5210 DRAW 0,60: DRAW 0,-60,-PI
5220 PLOT A+150,B: DRAW 0,60
5230 DRAW 20,0
5240 PLOT A+150,B: DRAW 20,0
5250 PLOT A+150,B+35: DRAW 15,0
5260 PLOT A+180,B: DRAW 0,60
5270 DRAW 10,-30,-PI
5280 DRAW 20,-30
5290 PLOT A-20,B-10: DRAW 235,0
5295 LET A=A+2: LET B=B+2
5300 NEXT N
5310 BRIGHT 0
5400 PRINT AT 3,13; INK 7;"T H E"
5410 PRINT AT 17,8; PAPER 2;" T R I L O G Y "
5415 GO TO 5500
5420 PRINT AT 21,0; INK 4;"Copyright Pixel Productions 1983"
5500 PRINT AT 21,6;"PART ONE - 'PEGASUS'"
5600 GO SUB 6000: GO TO 1000
6000 RESTORE : LET E=.12: FOR N=0 TO 17: READ F: READ D: BEEP D,F: NEXT N
6010 RETURN
6020 DATA 0,E,4,E,0,E,7,E,4,E,12,E*2
6025 DATA 11,E/3,9,E/3,7,E/3,5,E/3,4,E/3,5,E,2,E,0,E,-1,E,0,E
6030 DATA -5,E,-12,E
8000 GO SUB 100
8002 PRINT AT 0,0;"ASTRONAV";AT 1,0;"--------"
8005 RANDOMIZE USR 64780: RANDOMIZE USR 64760: RETURN
8006 INK 5: CIRCLE 125,90,40: INK 6: CIRCLE 88,75,2: PRINT AT 13,6;"Beta": BEEP .3,30: RETURN
8007 INK 4: CIRCLE 120,60,60: INK 7: CIRCLE 145,115,2: PRINT AT 7,20;"Gamma": BEEP .3,30: RETURN
8008 INK 2: CIRCLE 120,85,55: INK 6: CIRCLE 162,50,2: PRINT AT 15,21;"Delta": BEEP .3,30: RETURN
8009 INK 1: CIRCLE 115,80,63: INK 7: CIRCLE 88,25,3: PRINT AT 18,6;"Psi": BEEP .3,30: RETURN
8010 INK 3: CIRCLE 125,100,70: INK 6: CIRCLE 169,155,3: PRINT AT 2,23;"Alpha": BEEP .3,30: RETURN
8012 INK 6: CIRCLE 125,90,85: INK 7: CIRCLE 190,35,3: PRINT AT 17,25;"Epsilon": BEEP .3,30: RETURN
8015 REM : INK 6: CIRCLE 125,90,20
9000 GO SUB 6000
9005 LET A(7)=C
9010 LET K=65290: FOR I=1 TO 6: POKE K+I,A(I): NEXT I
9020 POKE K+7,INT (A(7)/256): POKE K+8,A(7)-256*INT (A(7)/256)
9100 PRINT AT 21,0; FLASH 1; INK 7; PAPER 0;" PRESS PLAY ON TAPE "
9150 GO SUB 590
9200 CLEAR : LOAD "t2"
9500 POKE 22580,202: POKE 22674,202
9501 POKE 23027,202
9505 LET DT=0: LET TM=30: FOR I=1 TO 3
9510 LET S=71: LET S1=22862: LET S2=S1+3: LET S3=S1+1: LET S5=S1-1: LET S6=S2+2: LET S8=S6: LET S7=S5
9516 IF I=2 THEN POKE 22988,202: POKE 22640,202
9520 FOR T=0 TO 20
9525 LET DT=DT+.5: BEEP .01,DT+10
9530 IF T<6 THEN POKE S1,S
9535 IF T>2 AND T<6 THEN POKE S6,S
9540 IF T>5 AND T<11 THEN POKE S3,S
9545 IF T>7 AND T<13 THEN POKE S8,S
9550 IF T>9 AND T<14 THEN POKE S5,S
9555 IF T>10 AND T<17 THEN POKE S2,S
9560 IF T>13 AND T<18 THEN POKE S7,S
9630 IF T<6 THEN POKE S1,0: LET S1=S1-2
9635 IF T>2 AND T<6 THEN POKE S6,0: LET S6=S6-30
9640 IF T>5 AND T<11 THEN POKE S3,0: LET S3=S3-32
9645 IF T>7 AND T<13 THEN POKE S8,0: LET S8=S8+34
9650 IF T>9 AND T<14 THEN POKE S5,0: LET S5=S5-34
9655 IF T>10 AND T<17 THEN POKE S2,0: LET S2=S2+2
9660 IF T>13 AND T<18 THEN POKE S7,0: LET S7=S7+30
9695 IF I=3 THEN PRINT AT 5,13; FLASH 1;"DANGER"
9699 LET TM=TM+.2: NEXT T: NEXT I:
9700 PRINT AT 8,13; PAPER 0;" ";AT 9,13;" ";AT 10,13;" ";AT 11,13;" ";AT 12,13;" "
9710 FOR T=0 TO 10: INK 6: CIRCLE 125,100,T: NEXT T
9750 RETURN
10 POKE 46865,255: CLS : PRINT AT 10,9; INK 2; FLASH 1;"STOP THE TAPE": PRINT AT 12,4; INK 8;"PRESS ANY KEY TO START": PAUSE 0
20 DIM A(7)
30 LET K=65290
40 FOR I=1 TO 6: LET A(I)=PEEK (K+I): NEXT I
50 LET A(7)=PEEK (K+8)+256*PEEK (K+7)
80 LET EN=0
90 GO TO 500
100 INK 7: PAPER 0: BORDER 0: CLS
110 RANDOMIZE USR 65000: RANDOMIZE : RETURN
200 PAPER 0: BORDER 0: INK 6: CLS : RETURN
300 PAPER 7: BORDER 7: INK 1: CLS : RETURN
500 BORDER 0: RANDOMIZE USR 64800
520 PAPER 0: INK 7: IF EN=1 THEN GO TO 9000
530 PRINT AT 21,0;"PART TWO 'THE MOONS OF MERIDIEN'"
560 GO SUB 9100: GO SUB 9800: GO SUB 630
570 GO TO 1000
610 FOR P=0 TO 1000
615 NEXT P
620 FOR P=0 TO 500
625 NEXT P
630 FOR P=0 TO 100
635 NEXT P
650 BRIGHT 0: RANDOMIZE : RETURN
700 GO SUB 800
705 GO SUB 630
710 CLS : PRINT AT 9,0;"WE ARE NOT INTERESTED IN YOUR",,,G$;"...",,,,"WHAT ELSE HAVE YOU GOT?"
730 GO TO 1710
800 BEEP .4,10: BEEP .4,5: RETURN
810 FOR N=0 TO 8: BEEP .1,30: NEXT N: RETURN
900 GO SUB 100: REM USR 64740: RANDOMIZE USR 64720: RANDOMIZE
901 INK 7: PAPER 0: PRINT AT 7,5;"::::::::k__";AT 8,5;"::E27::k"
902 PRINT AT 9,4;"..-------------..<";AT 10,3;"j= PEGASUS .......... h"
904 PRINT AT 11,2; INK 2; PAPER 7;"''''''::''''::''''::''''::'''':: ::"; PAPER 0;"f-"
906 PRINT AT 12,1; INK 2; PAPER 7;"= :: :: :: :: "
907 PRINT AT 13,1; INK 2; PAPER 7;"= :: :: :: :: "
908 PLOT 208,95: DRAW 8,-8
910 FOR N=0 TO 100: PRINT AT 12,0; INK 1;"e";AT 13,0;"e": BEEP .02,30
915 IF N=30 THEN INK 5: PRINT AT 12,21;"''''''"
917 IF N>40 AND N<80 THEN PLOT 180,120-N
925 PRINT AT 12,0;" ";AT 13,0;" "
930 NEXT N
940 RETURN
998 POKE 46865,PEEK 23728: GO TO PEEK 64841+256*PEEK 64840
1000 GO SUB 200
1010 IF PEEK (K+9)=1 THEN GO TO 1300
1265 LET R=INT (RND*200)+10
1270 PRINT AT 7,0;"YOUR FALLING SHIP SUDDENLY",,,"LURCHES AND STOPS AS A",,,
1275 PRINT "A BETAN SALVAGE TUG CATCHES YOU",,,"IN ITS TRACTOR BEAM...",,,
1280 PRINT "BUT IT COSTS YOU ";R;" CREDITS..."
1285 LET A(7)=A(7)-R
1290 GO SUB 610
1295 GO SUB 9200: GO SUB 9230: GO SUB 630
1300 GO SUB 1500: GO SUB 1550: GO TO 1372
1310 GO SUB 100: INK 7
1320 PRINT AT 6,16;"I";AT 7,16;"::";AT 8,16;"::::::=";AT 9,11;"=:=:::::::::::::X";AT 10,10;"X:::::::::::::::::::.:I"
1330 PRINT AT 11,10;"::::::::::::::::::::";AT 12,7;":...:::::::XX::::::::::::I";AT 13,8;"::::=-==-XX==::-=-=-'' "
1340 PRINT AT 14,5;"-OOOOOOOOOOOOOOOOOOOOOOOO-"
1350 PRINT AT 15,14;")::::::::::(";AT 16,15;"::::::::::";AT 17,15;"::::::";AT 18,6;"'':::::::::::::::::::: "
1360 PRINT AT 19,5;"''::'':::::::::::::::::: ";AT 20,0;"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
1365 PRINT FLASH 1;AT 13,10;"*";AT 13,20;"+": FLASH 0
1370 RETURN
1372 GO SUB 1310
1375 LET H=0: LET P=0: FOR N=0 TO 30
1390 PRINT AT 5,16;"+";AT H,P;"c ";AT 9,24;">";AT 5,16;"X";AT 9,24;"<"
1395 IF N<22 THEN BEEP N/200,30-N: PRINT AT H,P;" "
1400 IF N<22 THEN LET H=H+.5
1410 IF N<16 THEN LET P=P+.5
1415 IF N>=17 THEN PRINT AT H,P;"c "
1420 NEXT N
1430 FOR Y=30 TO 20 STEP -.5
1440 PRINT AT 19,Y; PAPER 0; INK 6;"d "
1450 BEEP .05,20: NEXT Y
1460 PRINT AT 19,Y;" "
1490 GO TO 1600
1500 BRIGHT 0: PAPER 1: BORDER 1: CLS
1520 LET X=4
1525 INK 2: PAPER 7: PRINT AT X,0;" SATELLITE ";AT X+3,0;" ENVIRONMENT ";AT X+6,0;" INHABITANTS "
1530 PRINT AT X+9,0;" MOBILITY ";AT X+12,0;" RESOURCES ";AT X+15,0;" REQUIREMENTS"
1540 RETURN
1550 INK 7: BRIGHT 1: PAPER 1: PRINT AT 4,14;"BETA";AT 7,14;"TERRA-FORMED"
1560 PRINT AT 10,14;"EXTERRANS";AT 13,14;"PLANET HOPPERS";AT 16,14;"HI TECH, LEISURE";AT 19,14;"FOODSTUFFS"
1590 BRIGHT 0: GO SUB 610: RETURN
1600 INK 1: PAPER 7: BORDER 7: CLS
1610 PRINT AT 8,0;"WELCOME TO BETA, TRADER, YOU",,,"HAVE SOMETHING TO SELL.",,,
1615 PRINT "COME INTO THE BAR AND WE WILL",,,"TALK BUSINESS..."
1620 GO SUB 610
1625 GO SUB 200
1630 PRINT AT 8,0;"YOU TAKE A QUICK LOOK AT YOUR",,,"CARGO INVENTORY REMEMBERING",,,"THAT BETANS ARE TOUGH CUSTOMERS",,,
1640 PRINT "AND NOTORIOUS CROOKS..."
1650 GO SUB 610
1655 GO SUB 4810
1660 GO SUB 200
1670 PRINT AT 9,0;"REMEMBER TO ASK GOOD PRICES,",,,"THEY WILL TRY TO BEAT YOU DOWN."
1680 GO SUB 620
1690 PAPER 7: INK 1: BORDER 7: CLS
1695 LET DS=0
1700 PRINT AT 9,0;"OK TRADER, WHAT HAVE YOU GOT",,,"TO SELL IN THAT WRECK OF YOURS?"
1710 INPUT G$
1717 IF G$<>"MUNCH" THEN GO TO 700
1720 GO SUB 810
1730 CLS : PRINT AT 9,0;"OK, HOW MUCH ARE YOU ASKING FOR",,,"A UNIT OF MUNCH, EH?"
1740 LET O=INT (RND*10)+10
1745 LET ND=INT (RND*10)+10
1750 INPUT C
1760 CLS
1762 GO SUB 630
1765 GO SUB 800: LET L=9
1770 PRINT AT L,0;C;" ??? YOU MUST BE KIDDING...",,,"I USUALLY PAY ABOUT ";O;" CREDITS."
1780 PRINT AT L+5,0;"COME ON, YOU CAN DO BETTER..."
1785 LET CC=C
1790 LET NO=2
1795 GO TO 2000
1800 IF C<=CC THEN GO TO 1810
1802 CLS
1805 PRINT AT L,0;"ARE YOU TRYING TO BE FUNNY",,,"TRADER, TRY AGAIN..."
1807 GO SUB 800: GO SUB 630
1809 GO TO 2000
1810 LET NO=INT (RND*10)+2
1812 LET O=O+NO
1815 CLS
1816 GO SUB 630
1818 LET D=INT (RND*6)
1820 IF D=0 THEN PRINT AT L,0;"NO. ";C;" IS FAR TOO MUCH. ",,,O;" CREDITS..."
1830 IF D=1 THEN PRINT AT L,0;"YOU ARE VERY EXPENSIVE, TRADER,";AT L+2,0;O;" CREDITS..."
1835 IF D=2 THEN PRINT AT L,0;"I WILL PAY NO MORE THAN ";O;"..."
1840 IF D=3 THEN PRINT AT L,0;"NO... ";O; " CREDITS..."
1845 IF D=4 THEN PRINT AT L,0;"NO WAY... ";O;" CREDITS..."
1860 IF D=5 THEN PRINT AT L,0;"YOU ARE HARD TO DEAL WITH, ";O
1870 GO SUB 800: LET CC=C
2000 INPUT C
2010 LET DS=DS+1
2020 IF DS>=ND THEN GO TO 2090
2025 IF C<=O+9 THEN GO TO 2050
2030 GO TO 1800
2050 CLS
2060 PRINT AT L,0;"OK, BUT YOU DRIVE A HARD BARGAIN";AT L+2,0;"TRADER...";AT L+5,0;"I WILL TAKE YOUR MUNCH AT ";C;"..."
2070 GO SUB 810: GO SUB 620
2075 LET A(7)=A(7)+C*A(2)
2080 LET A(2)=0
2090 CLS
2100 PRINT AT 9,0;"HOW MUCH DO YOU WANT FOR YOUR",,,"SYNTHOMUNCH MY FRIEND?"
2120 INPUT Q
2130 CLS
2140 PRINT AT 10,0;Q;"? COME ON, BE REASONABLE..."
2170 GO SUB 800: INPUT Q
2180 CLS
2185 LET O=INT (RND*10)+10
2190 PRINT AT 9,0;"THATS BETTER BUT I TELL",,,"YOU WHAT, ";O;" CREDITS AND IT'S",,,"A DEAL..."
2210 INPUT Q
2220 IF Q<=O*2 THEN GO TO 2500
2230 CLS
2240 PRINT AT 10,0;"SORRY, NO DEAL..."
2250 GO SUB 800: GO SUB 620
2260 GO TO 3000
2500 CLS
2510 PRINT AT 9,0;"OK, I WILL TAKE IT..."
2520 GO SUB 810: GO SUB 620
2530 LET A(7)=A(7)+A(3)*Q
2540 LET A(3)=0
3000 GO SUB 200
3010 LET L=7
3400 LET R=INT (RND*2)
3500 PRINT AT 8,0;"YOU RETURN TO YOUR HOPPER TO",,,"FIND THAT SOMEONE HAS STOLEN",,,
3520 IF R=0 THEN PRINT "A UNIT OF PETROCHEM FROM THE",,,"HOLD... TOUGH LUCK."
3525 IF R=0 THEN LET A(1)=A(1)-1
3550 IF R=1 THEN PRINT "THE FUEL THAT YOU TOOK SUCH",,,"PAINS TO CONSERVE..."
3555 IF R=1 THEN PRINT ,,,,"A FILL COSTS YOU 150 CREDITS."
3560 IF R=1 THEN LET A(7)=A(7)-150
3700 GO SUB 610
3750 GO SUB 1305
3760 LET H=11
3770 LET P=8
3780 FOR N=0 TO 35
3800 PRINT AT 5,16;"+";AT H,P;"c ";AT 9,24;">";AT 5,16;"X";AT 9,24;"<"
3810 BEEP .02,N: PRINT AT H,P;" "
3820 IF N>10 AND N<20 THEN LET H=H-1
3838 IF N>15 THEN LET P=P+1
3850 NEXT N
3860 GO SUB 100: PRINT AT 21,0;" ": INK 5: PLOT 60,0: DRAW 195,5,-PI/10
3870 LET J=0: FOR N=18 TO 0 STEP -1: PRINT AT N,J; INK 7;"ab": BEEP .01,30-N: PRINT AT N,J," ": LET J=J+1: NEXT N
4000 GO SUB 200
4010 PRINT AT 8,0;"THE NEXT STAGE OF YOUR TRIP",,,"TAKES YOU HALF WAY ROUND THE",,,
4020 PRINT "GIANT GAS PLANET MERIDIEN TO",,,"A LARGE HOLLOW ASTEROID..."
4030 GO SUB 620: GO SUB 9200: GO SUB 9240: GO SUB 630
4040 GO SUB 1500: INK 7: PAPER 1: BRIGHT 1
4050 PRINT AT 4,14;"ALPHA";AT 7,14;"STERILE, AIRLESS"
4060 PRINT AT 10,14;"MECHANOIDS";AT 13,14;"TRANSMAT BEAMS";AT 16,14;"PLASTIRON";AT 19,14;"PETROCHEM"
4070 GO SUB 610
4075 BRIGHT 0: GO TO 6100
4080 GO SUB 200
4100 PRINT AT 7,0;"HAVING ARRIVED ON ALPHA YOU ARE",,,"NOT QUITE SURE WHAT TO EXPECT..."
4110 PRINT ,,,,"THE ALPHANS, BEING ROBOTIC,",,,"DO NOT HAGGLE OVER PRICES."
4120 PRINT ,,,,"YOU MUST TAKE WHAT THEY OFFER..."
4130 GO SUB 610
4200 PAPER 0: BORDER 0: INK 7: CLS
4210 INK 7: PAPER 0
4220 PRINT AT 0,9;"''''''";AT 1,8;" ........ ";AT 2,8;" '''''''' ";AT 3,9;"uuu";AT 4,6;"'' uuu ''"
4230 PRINT AT 5,5;"' '";AT 6,5;" . . ";AT 7,5;" :: :: ";AT 8,5;"=:: +++ ::="
4240 PRINT AT 9,5;" uuuuu ";AT 10,5;" :: ::::: :: ";AT 11,5;" :: - - - :: "
4250 PRINT AT 12,4;": : : :"
4255 PRINT AT 13,8;" u "
4260 PRINT AT 14,8;" u "
4270 PRINT AT 15,8;" u "
4280 PRINT AT 16,8;" u "
4285 PRINT AT 17,8;" u "
4290 INK 1: PAPER 7: PRINT AT 18,7;" =O=O= ";AT 19,7;" ----- ";AT 20,7; PAPER 0;"u u"
4295 PRINT AT 21,0; INK 1;"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
4297 PLOT 70,115: GO TO 4400
4300 PAPER 0: FOR N=0 TO 15
4310 PRINT AT 1,7;"+";AT 1,13;"+": BEEP .1,INT (RND*10)+20: PRINT AT 1,7;"-";AT 1,13;"-"
4320 NEXT N
4330 INK 7: PAPER 0: PRINT AT 12,4;" I": BEEP .5,30: PRINT AT 12,4;" : :"
4335 DRAW INK 4;LH,LV
4340 INK 7: PAPER 0: RETURN
4350 FOR X=1 TO 11
4360 PRINT AT X,Y;"::::::::::::::::::::::::::::"
4370 NEXT X
4380 RETURN
4400 LET Y=17: LET LH=5: LET LV=10
4405 GO SUB 4300
4410 INK 7: PAPER 0: PRINT AT 1,Y;"YOU MUST HAVE";AT 3,Y;"PETROCHEM TO";AT 5,Y;"SELL HUMAN,";AT 7,Y;"OR YOU WOULD";AT 9,Y;"NOT HAVE COME"
4415 PRINT AT 11,Y;"HERE."
4418 LET LH=3: LET LV=-9
4420 GO SUB 4300
4425 GO SUB 4350
4430 PRINT AT 1,Y;"AND YOU WILL";AT 3,Y;"NEED HOPPER";AT 5,Y;"FUEL TO LEAVE."
4432 LET LH=5: LET LV=8
4435 GO SUB 4300
4440 GO SUB 4350
4450 LET R=INT (RND*3)+1
4460 IF R=3 THEN LET R$="65"
4462 IF R=1 THEN LET R$="35"
4465 IF R=2 THEN LET R$="50"
4470 PRINT AT 1,Y;"WE PAY ";R$;AT 3,Y;"CREDITS A";AT 5,Y;"UNIT, DO YOU";AT 7,Y;"WANT TO SELL?"
4475 PRINT AT 10,Y;"YES/NO"
4476 LET LH=3: LET LV=-4
4480 INPUT A$
4490 IF A$="NO" THEN GO TO 4500
4495 LET A(7)=A(7)+(VAL R$*A(1))
4497 LET A(1)=0
4500 GO SUB 4350
4510 GO SUB 4300
4520 PRINT AT 1,Y;"WE NEED SOME";AT 3,Y;"GOLD, OUR";AT 5,Y;"TANKS ARE";AT 7,Y;"CORRODING..."
4523 LET LH=1: LET LV=-2
4525 GO SUB 4300
4530 GO SUB 4350
4532 LET R=INT (RND*3)+1
4535 IF R=1 THEN LET G$="100"
4536 IF R=2 THEN LET G$="90"
4537 IF R=3 THEN LET G$="80"
4540 PRINT AT 1,Y;"WE WILL PAY";AT 3,Y;G$;" A UNIT...";AT 7,Y;"YES/NO"
4542 LET LH=2: LET LV=5
4545 INPUT A$
4550 IF A$="NO" THEN GO TO 4600
4560 LET A(7)=A(7)+(VAL G$*A(5))
4570 LET A(5)=0
4600 GO SUB 4350
4620 IF A(6)=0 THEN GO TO 4800
4630 LET R=INT (RND*3)
4635 IF R=0 THEN GO TO 4700
4640 IF R=1 THEN GO TO 4720
4650 LET C$="DIAMONDS..."
4660 LET A(7)=A(7)+100
4670 GO TO 4750
4700 LET C$="GOLD..."
4710 LET A(7)=A(7)+75
4715 GO TO 4750
4720 LET C$="A BOMB..."
4730 LET A(7)=A(7)-100
4750 PRINT AT 1,Y;"THE CARGO";AT 3,Y;"YOU BROUGHT";AT 5,Y;"FROM PSI";AT 7,Y;"CONTAINS";AT 9,Y;C$
4755 LET LH=-20: LET LV=0
4760 GO SUB 4300
4770 GO SUB 4350
4780 IF R=2 THEN PRINT AT 1,Y;"TAKE A TIP";AT 3,Y;"OF 100 CS"
4790 IF R=0 THEN PRINT AT 1,Y;"TAKE A TIP";AT 3,Y;"OF 75 CS"
4795 IF R=1 THEN PRINT AT 1,Y;"WE HAVE";AT 3,Y;"DEFUSED IT.";AT 6,Y;"YOU ARE FINED";AT 8,Y;"100 CS"
4800 GO SUB 4300
4801 LET Q=INT (RND*100)+30
4803 GO SUB 7500
4804 PRINT AT 8,0;"YOU PAY ";Q;" CREDITS FOR FUEL"
4805 PRINT AT 10,0;"AND TAKE OFF FOR GAMMA CHECKING";AT 12,0;"YOUR INVENTORY..."
4806 LET A(7)=A(7)-Q
4807 GO SUB 620
4808 GO TO 4877
4810 PAPER 1: BORDER 1: CLS
4820 LET X=5
4830 PRINT AT 4,0; PAPER 7; INK 2;" CARGO INVENTORY ": PRINT AT 6,0;"................................................................": INK 7: PRINT AT 8,1;"PETROCHEM";TAB 24-LEN STR$ A(1);A(1);" U"
4840 PRINT AT 10,1;"MUNCH";TAB 24-LEN STR$ A(2);A(2);" U";AT 12,1;"SYNTHOMUNCH";TAB 24-LEN STR$ A(3);A(3);" U"
4850 PRINT AT 14,1;"BOOSTERSPICE";TAB 24-LEN STR$ A(4);A(4);" U";AT 16,1;"GOLD";TAB 24-LEN STR$ A(5);A(5);" U"
4860 PRINT AT 18,0;"................................................................";AT 20,1;"CREDITS";TAB 24-LEN STR$ (A(7)-8^4);A(7)-8^4;" CS"
4870 GO SUB 610
4875 RETURN
4877 GO SUB 4810
4880 GO SUB 100: PRINT AT 10,9;"*** TRADER ***": GO SUB 9100: GO SUB 630
4890 GO SUB 200: PRINT AT 10,0;"A SHORT HOP BRINGS YOU TO GAMMA."
4895 GO SUB 620
4900 GO SUB 9200: GO SUB 9250: GO SUB 630
5000 GO SUB 1500: INK 7: BRIGHT 1: PAPER 1
5010 PRINT AT 4,14;"GAMMA";AT 7,14;"HIGH RADIATION";AT 10,14;"UNINHABITABLE";AT 13,14;"NONE";AT 16,14;"RAW FUEL";AT 19,14;"NONE"
5020 BRIGHT 0: GO SUB 610
5030 GO SUB 200
5040 PRINT AT 7,0;"EVEN AT ORBITAL DISTANCES, THE";AT 9,0;"RADIATION IS AFFECTING YOUR"
5050 PRINT AT 11,0;"INSTRUMENTS...";AT 14,0;"GO DOWN MANUALLY BUT DO NOT"
5060 PRINT AT 16,0;"STAY MORE THAN ONE MINUTE..."
5070 GO SUB 610
5075 GO SUB 900
5080 GO SUB 200
5090 PRINT AT 7,0;"TRY TO SUCK UP RAW FUEL WITH",,,"THE VACUUM TUBE UNDER THE FRONT",,,"OF YOUR SHIP."
5100 PRINT AT 14,0;"STEER WITH THE CURSOR KEYS."
5110 GO SUB 610
5130 GO SUB 100
5140 INK 2: BRIGHT 0: PRINT AT 21,0;"uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
5150 LET X=2
5155 LET Y=X
5170 PRINT AT 20,0; INK 3; BRIGHT 1;" pq qq p p qq p qp pqqp p q pq "
5180 FOR T=2 TO 60 STEP .5
5190 PRINT AT X,Y;"ab";AT X+1,Y+1;" ": BEEP .2,X
5195 PRINT AT 1,9; PAPER 1; INK 7;" TIME ";INT (T);" SECS ";AT X,Y; PAPER 0;" "
5200 IF INKEY$="8" AND Y<30 THEN LET Y=Y+1
5210 IF INKEY$="5" AND Y>0 THEN LET Y=Y-.5
5220 IF INKEY$="7" AND X>0 THEN LET X=X-.5
5230 IF INKEY$="6" AND X<18 THEN LET X=X+1
5260 IF X>17 THEN LET X=X-.25
5300 NEXT T
5350 PRINT AT 1,9;" "
5360 LET XX=X
5390 FOR T=0 TO XX
5400 PRINT AT X,Y;"ab";AT 1,9; FLASH 1;"GET OUT...FAST"
5420 BEEP .05,30: BEEP .05,40: PRINT AT X,Y;" "
5430 IF INKEY$="7" THEN LET X=X-1
5432 NEXT T
5435 IF X>2 THEN GO TO 5600
5500 LET RF=28: LET J=22144
5510 FOR Y=0 TO 31
5530 LET U=PEEK (J+Y)
5535 IF U=170 THEN LET RF=RF-2
5540 IF U=42 THEN LET RF=RF-1
5550 NEXT Y
5555 GO SUB 200
5560 PRINT AT 7,0;"WITH ";RF;" UNITS OF RAW FUEL"
5565 PRINT AT 9,0;"STOWED IN ITS HOLD, PEGASUS "
5570 PRINT AT 11,0;"HEADS FOR DELTA AND THE MOST"
5575 PRINT AT 13,0;"UNPREDICTABLE CUSTOMERS IN THE"
5580 PRINT AT 15,0;"MERIDIEN SYSTEM..."
5585 POKE K+9,RF: LET A(6)=0
5590 GO SUB 610
5595 IF INT (RND*2)=1 THEN GO TO 8000
5600 PAPER 2: BORDER 2: INK 7: CLS
5610 FOR N=0 TO 10
5620 PRINT AT 7,12;"WARNING": BEEP .05,30: PRINT AT 7,12;"WARNING": BEEP .05,40
5630 NEXT N
5650 IF X<=2 THEN GO TO 7000
6000 PRINT AT 10,0;"DEPRESSURISATION IN CARGO HOLD.",,,"THERE HAS BEEN AN EXPLOSION...": LET A(6)=1
6020 GO TO 8000
6100 GO SUB 200
6110 PRINT AT 9,0;"GUIDE THE SHIP INTO THE BLACK",,,"TUNNEL WITH KEYS 6 AND 7..."
6120 GO SUB 620
6130 LET RP=0
6200 POKE 65180,24
6205 GO SUB 100: PAPER 6: INK 6: RANDOMIZE USR 65130
6210 INK 0: PAPER 6
6220 PRINT AT 0,25;"o";AT 1,30;"o";AT 2,24;"o";AT 4,27;"o"
6222 PRINT AT 5,29;"o";AT 6,29;"o";AT 7,24;"o";AT 9,26;"o"
6224 PRINT AT 10,24;"o";AT 11,28;"o";AT 12,25;"o";AT 14,27;"o"
6226 PRINT AT 15,25;"o";AT 16,31;"o";AT 17,27;"o";AT 18,25;"o"
6228 PRINT AT 19,28;"o";AT 20,30;"o";AT 21,26;"o"
6250 INK 2: PRINT AT 10,24; FLASH 1;"O"
6300 RANDOMIZE : LET H=INT (RND*19)+1: LET R=INT (RND*9)
6310 INK 7: PAPER 0: FOR Y=R TO 23
6320 PRINT AT H,Y;" c": BEEP .02,10+Y: PRINT AT H,Y;" "
6330 IF INKEY$="7" AND H>0 THEN LET H=H-1/2
6340 IF INKEY$="6" AND H<21 THEN LET H=H+1/2
6350 NEXT Y
6360 IF H<=9 OR H>=11 THEN PRINT AT H-1,21;".";AT H+1,21;".": PAUSE 2: GO TO 6800
6380 CLS
6400 PAPER 0: INK 5: BORDER 1: CLS
6420 PRINT AT 10,0;"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
6430 PRINT AT 9,28;"j::::::";AT 8,29;"j::::";AT 7,30;"j::";AT 6,31;"j"
6450 INK 0: PAPER 5
6460 FOR Y=0 TO 29
6470 PRINT AT 10,Y;" ab": BEEP .02,30
6480 NEXT Y
6500 PAPER 0: BORDER 0: INK 1: CLS : POKE 64824,0
6510 RANDOMIZE USR 64820: PRINT AT 7,0;"j::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
6540 INK 7: PAPER 1: PRINT AT 10,18;"^::::::::::^";AT 11,18;" :::::::::: ";AT 12,18;" ::::'':::: "
6550 INK 0: PAPER 7: PRINT AT 13,17;".........";AT 14,16;"..X..X..X..";AT 15,15;" . :::::::::: ---:"
6555 PRINT AT 14,29; FLASH 1; BRIGHT 1;"*"
6560 PAPER 0: INK 5: PRINT AT 16,0;"________________________________"
6580 INK 7: PAPER 1
6600 FOR Y=0 TO 50
6610 IF Y<=10 THEN PRINT AT 15,Y;" ab": BEEP .02,30-Y
6615 PRINT AT 11,21;"O";AT 10,19;"- - -": BEEP .01,40: PRINT AT 11,21;"+";AT 10,19;" - - "
6620 NEXT Y
6700 GO TO 4080
6800 INK 6: PAPER 0: CLS
6810 PRINT AT 8,0;"YOU HAVE CRASH LANDED ON ALPHA.",,,"YOU WILL HAVE TO PAY FOR THE",,,"REPAIRS TO YOUR HOPPER..."
6815 LET RP=1
6820 GO SUB 620
6990 GO TO 4080
7000 PRINT AT 9,0;"A SHIP HAS JUST MATERIALISED",,,"OFF THE PORT SIDE...",,,
7015 GO SUB 620
7020 PRINT "SOMEONE HAS JUST ENTERED THE",,,"AIRLOCK..."
7100 GO SUB 620
7150 CLS
7200 PRINT AT 9,0;"IT'S THE SPACE POLICE AND THEY",,,"ARE LOOKING FOR BOOSTERSPICE...",,,
7210 IF A(4)>0 THEN PRINT "BOY, HAVE YOU GOT TROUBLE...": LET A(6)=2
7220 GO TO 8000
7500 GO SUB 200
7505 IF RP=0 THEN RETURN
7510 LET R=INT (RND*200)+50
7520 PRINT AT 8,0;"REPAIRS TO YOUR SHIP COSTS YOU",,,R;" CREDITS BUT THE ROBOTS HAVE",,,"DONE A GOOD JOB..."
7530 GO SUB 620
7540 LET A(7)=A(7)-R
7550 CLS
7570 RETURN
7600 LET A(4)=0
7610 GO TO 5600
8000 REM
8050 GO SUB 610
8060 LET EN=1
8100 GO TO 500
9000 PRINT AT 21,0; INK 7; PAPER 0;" END OF PART TWO "
9001 LET K=65290
9002 FOR I=1 TO 6
9010 POKE K+I,A(I)
9020 NEXT I
9030 POKE K+7,INT (A(7)/256)
9040 POKE K+8,A(7)-256*INT (A(7)/256)
9055 GO SUB 9100
9060 PRINT AT 21,0; FLASH 1; INK 7; PAPER 0;" PRESS PLAY ON TAPE "
9070 GO SUB 620: CLEAR : LOAD "t3": STOP
9100 RESTORE : LET E=.12: FOR N=0 TO 17: READ F: READ D: BEEP D,F: NEXT N: RETURN
9110 DATA 0,E,4,E,0,E,7,E,4,E,12,E*2
9120 DATA 11,E/3,9,E/3,7,E/3,5,E/3,4,E/3,5,E,2,E,0,E,-1,E,0,E,-5,E,-12,E
9200 GO SUB 100: PRINT AT 0,0;"ASTRONAV";AT 1,0;"--------"
9210 RANDOMIZE USR 64780: RANDOMIZE USR 64760: RANDOMIZE : RETURN
9230 INK 5: CIRCLE 125,90,40: INK 6: CIRCLE 88,75,2: PRINT AT 13,6;"Beta": BEEP .3,30: RETURN
9240 INK 3: CIRCLE 125,100,70: INK 6: CIRCLE 169,155,3: PRINT AT 2,23;"Alpha": BEEP .3,30: RETURN
9250 INK 4: CIRCLE 120,60,60: INK 7: CIRCLE 145,115,2: PRINT AT 7,20;"Gamma": RETURN
9800 FOR N=0 TO 7 STEP 2: POKE USR "U"+N,170: POKE USR "U"+N+1,85: NEXT N
9810 POKE USR "C",0: POKE USR "C"+1,0: POKE USR "C"+2,0: POKE USR "C"+3,0: POKE USR "C"+4,64: POKE USR "C"+5,255: POKE USR "C"+6,240: POKE USR "C"+7,0
9820 POKE USR "D",0: POKE USR "D"+1,0: POKE USR "D"+2,0: POKE USR "D"+3,0: POKE USR "D"+4,255: POKE USR "D"+5,191: POKE USR "D"+6,255: POKE USR "D"+7,69
9830 POKE USR "O",28: POKE USR "O"+1,6: POKE USR "O"+2,51: POKE USR "O"+3,99: POKE USR "O"+4,99: POKE USR "O"+5,51: POKE USR "O"+6,6: POKE USR "O"+7,28
9840 POKE USR "P",0: POKE USR "P"+1,0: POKE USR "P"+2,0: POKE USR "P"+3,16: POKE USR "P"+4,40: POKE USR "P"+5,84: POKE USR "P"+6,170: POKE USR "P"+7,85
9850 POKE USR "Q",0: POKE USR "Q"+1,0: POKE USR "Q"+2,0: POKE USR "Q"+3,0: POKE USR "Q"+4,8: POKE USR "Q"+5,20: POKE USR "Q"+6,42: POKE USR "Q"+7,85
9860 RETURN
10 REM T3
15 POKE 47383,255: CLS : PRINT AT 10,9; FLASH 1; INK 2;"STOP THE TAPE": PRINT AT 12,4; INK 8;"PRESS ANY KEY TO START": PAUSE 0
20 DIM A(7): LET EN=0
30 FOR I=1 TO 6
35 LET A(I)=PEEK (K+I)
40 NEXT I
45 LET A(7)=PEEK (K+8)+256*PEEK (K+7)
50 LET W=PEEK (K+9)
90 GO TO 500
100 INK 7: PAPER 0: BORDER 0: CLS
110 RANDOMIZE USR 65000: RANDOMIZE : RETURN
150 INK 6: PAPER 0: BORDER 0: CLS : RETURN
200 FOR V=8 TO 14
210 PRINT AT V,21;" "
220 NEXT V
230 RETURN
500 BORDER 0: RANDOMIZE USR 64800
555 IF EN=1 THEN GO TO 9600
560 INK 7: PAPER 0: PRINT AT 21,0;" PART 3 'LIVING DEATH ON DELTA' "
570 GO SUB 9100: GO SUB 9900
580 GO TO 1000
610 FOR P=0 TO 1000
615 NEXT P
620 FOR P=0 TO 500
625 NEXT P
630 FOR P=0 TO 100
635 NEXT P
640 FOR P=0 TO 10
645 NEXT P
650 BRIGHT 0: RANDOMIZE : RETURN
700 GO SUB 150
710 PRINT AT 9,0;"SOMEHOW THEY KNOW YOU ARE LYING",,,"AND YOU BECOME UNEASY..."
720 GO SUB 620
730 GO TO 1740
800 PRINT ,,"BUT YOU CAN NOT ESCAPE...",,,
810 GO SUB 620
820 GO TO 5220
998 POKE 47383,PEEK 23728: GO TO PEEK 64841+256*PEEK 64840
999 SAVE "mc"CODE 65000,536: STOP
1000 GO SUB 150
1005 IF A(6)=2 THEN GO TO 1100
1007 IF A(6)=0 THEN GO TO 1200
1020 PRINT AT 8,0;"THE EXPLOSION IN YOUR HOLD HAS",,,"BLOWN A HOLE IN THE SIDE OF YOUR",,
1030 PRINT "SHIP. OUTSIDE, YOUR PRECIOUS",,,"CARGO IS JUST A WHITE CLOUD OF",,,"STARDUST..."
1040 GO SUB 610
1045 FOR I=1 TO 6
1050 LET A(I)=0
1055 NEXT I
1057 POKE K+9,0
1060 GO TO 1200
1100 GO SUB 150
1110 LET B=INT (RND*200)+100
1120 PRINT AT 9,0;"THE SPACE PATROL HAVE LEFT",,,"COMPLETE WITH 'CONSIDERATIONS'",,,"OF ";B;" CREDITS..."
1130 LET A(7)=A(7)-B
1180 GO SUB 610
1200 GO SUB 150
1205 LET X=10
1210 PRINT AT X,0;"YOUR FUEL IS LOW, YOU MUST LAND";AT X+2,0;"ON DELTA..."
1220 GO SUB 620
1230 GO TO 1300
1250 BRIGHT 0: PAPER 1: BORDER 1: CLS
1260 LET X=4: INK 2: PAPER 7
1270 PRINT AT 4,0;" SATELLITE ";AT 7,0;" ENVIRONMENT ";AT 10,0;" INHABITANTS ";AT 13,0;" MOBILITY ";AT 16,0;" RESOURCES ";AT 19,0;" REQUIREMENTS"
1280 RETURN
1300 GO SUB 9200: GO SUB 630: GO SUB 1250
1305 LET Y=16: INK 7: BRIGHT 1: PAPER 1
1310 PRINT AT 4,Y;"DELTA";AT 7,Y;"TERRAFORMED";AT 10,Y;"HUMAN";AT 13,Y;"HOPPERS";AT 16,Y;"GOLD";AT 19,Y;"BOOSTERSPICE"
1320 GO SUB 620
1390 GO TO 1455
1400 REM
1410 GO SUB 100: INK 7: PAPER 0
1412 PRINT AT 17,13;"I"
1414 PRINT AT 18,0;":::'::''::::::::::::''::::=..:::::::::::::':::::::::::''::"
1415 PRINT "'' .. ''::-.'': . ''...::...'' :..'':' == .."
1420 PRINT INK 5;"llllllllllllllllllllllllllllllll"
1422 PRINT INK 5; BRIGHT 1;"________________________________"
1430 RETURN
1455 GO SUB 1400
1460 LET X=2: LET Y=3
1480 FOR N=E TO 37
1482 PRINT AT 16,13; INK 2;"+"
1485 IF N<32 THEN PRINT AT X,Y;"ab"
1486 BEEP N/100,40-N:
1487 IF N<32 THEN PRINT AT X,Y;" "
1488 PRINT AT 16,13; INK 4;"X"
1490 LET X=X+.5: LET Y=Y+.5
1497 NEXT N
1498 GO SUB 630
1500 GO SUB 150
1510 LET X=6
1520 PRINT AT X,0;"YOU STEP OUTSIDE YOUR SHIP INTO",,,"A DARK, DANK, STINKING SLUM.",,,,,"YOU ARE CONFRONTED BY TWO THIN"
1530 PRINT ,,"FIGURES WHO SPEAK IN A STRANGE",,,"DIALECT THAT YOU CAN JUST ABOUT",,,"UNDERSTAND..."
1540 GO SUB 610
1550 INK 7: PAPER 1: BORDER 1: BRIGHT 0: CLS
1560 PRINT AT 8,0;"HEY, YOU GOT SPICE MAN?"
1565 PRINT ,,"WE GOTTA HAVE SPICE..."
1567 PRINT ,,,,,"YES / NO"
1568 INPUT P$: RANDOMIZE
1570 IF P$="NO" THEN GO TO 1700
1572 IF P$="YES" AND A(4)<1 THEN GO TO 700
1573 IF P$<>"YES" THEN GO TO 1568
1575 PRINT AT 13,0;"HOW MUCH FOR A UNIT? "
1580 INPUT P
1590 IF P>INT (RND*200)+250 THEN GO TO 1700
1600 GO SUB 150
1610 PRINT AT 7,0;"THE DELTANS BUY YOUR SPICE AND",,,"PAY ";A(4)*P;" CREDITS.",,,"THEY DISAPPEAR INTO THE SHADOWS."
1612 LET A(7)=A(7)+P*A(4)
1614 LET A(4)=0
1615 GO SUB 630
1620 GO TO 1720
1700 GO SUB 150
1705 PRINT AT 7,0;"THEY JUST SHRUG THEIR SHOULDERS",,,"AND WALK AWAY..."
1710 GO SUB 630
1720 PRINT ,,,,"YOU WALK OFF INTO A DARK ALLEY.",,,"THERE MUST BE FUEL TO BUY",,,"SOMEWHERE..."
1730 GO SUB 610
1735 IF INT (RND*2)=1 THEN GO TO 1830
1740 GO SUB 150
1750 PRINT AT 9,0;"FOR AN INSTANT YOU HEAR A",,,"SHUFFLE BEHIND YOU..."
1752 GO SUB 630
1754 PRINT ,,,,"PAIN... ",
1755 GO SUB 630
1757 PRINT "BLACKNESS..."
1760 GO SUB 630
1771 GO SUB 100: PRINT AT 21,0;"": POKE 23692,255: FOR N=52 TO 30 STEP -1: PRINT : POKE 23692,255: NEXT N
1775 GO SUB 620
1800 GO SUB 150: PRINT AT 7,0;"SOMEWHERE IN THE DELTAN SLUM",,,"YOU COME ROUND.",,,,"THE AIR IS THICK WITH THE ACRID",,,
1810 PRINT "SMELL OF BOOSTERSPICE.",,,"YOUR HEAD IS A FOGGY SWAMP..."
1812 IF INT (RND*2)=1 THEN GO TO 1820
1815 IF A(4)>0 THEN PRINT ,,,,"YOUR SPICE HAS GONE..."
1816 LET A(4)=0
1820 GO SUB 610
1830 GO SUB 150
1840 PRINT AT 8,0;"AROUND YOU IS A WARREN OF HUTS",,,"CONTAINING BODIES. SOME LOOK",,,"DEAD. THEY ALL JUST STARE..."
1850 GO SUB 610
1855 GO SUB 150
1860 PRINT AT 10,0;"YOU LOOK IN THE NEXT SHACK..."
1870 GO SUB 620
1900 INK 7: BORDER 1: PAPER 0: CLS
1940 PRINT AT 9,0;": ";AT 9,24;" ";AT 10,0;": ( O";AT 10,24;"O O";AT 11,0;": .:";AT 11,23;"( )";AT 12,0;": =";AT 12,24;" - "
1945 PRINT AT 13,0;" uu";AT 13,25;"u";AT 14,0;": == '";AT 14,23;"-----:: ";AT 15,0;": == '";AT 15,21;" :: :: "
1950 PRINT AT 16,0;": == ':::::::::::::::::::::::::::::: :: + + :: ::::";": == '::::::::::::::::::::::::'':: ::..........:: "
1955 PRINT ": == '''''''''''''''''''''''' :: ::..........:: "
1957 PRINT ": .'----'' .... ......:: ::..........:: ::::";": .' E :: :: .. .. :: "
1960 PRINT AT 21,0; INK 1;"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
1970 INK 4: PRINT AT 15,14;"m";AT 12,14;"m";AT 13,14;"m"
1975 PRINT AT 14,14;"m";AT 16,11; INK 3;"uuuuuuu";AT 17,11;"uuuuuuu"
1976 PRINT AT 12,4; INK 5;"--------------------"
1977 PRINT AT 1,0; INK 7;" IT IS FULL OF RUSTING ROBOTS."
1990 GO TO 2050
2000 LET Z=13: LET ZZ=14
2020 INK T+1: FOR N=0 TO 9: BEEP .01,N+40: BEEP .01,40-N: BRIGHT 1
2030 PRINT AT 12,Z;"=";AT 12,ZZ;"=";AT 12,13; INK 7;"++": PRINT AT 12,13;"**";AT 12,Z;"-";AT 12,ZZ;"-"
2035 LET Z=Z-1
2040 LET ZZ=ZZ+1
2042 BRIGHT 0: NEXT N
2045 BRIGHT 0: RETURN
2050 FOR T=0 TO 5
2051 GO SUB 2000
2052 IF T=1 THEN PRINT AT 20,9; INK 0; PAPER 7;"G"
2053 IF T=4 THEN PRINT AT 10,24; PAPER 7; INK 0;"O O"
2054 IF T=2 THEN PRINT AT 10,24; PAPER 7; INK 0;"- -"
2055 IF T=3 THEN PRINT AT 10,3; PAPER 7; INK 0;"-"
2056 NEXT T
2060 FOR X=14 TO 19: BEEP .01,X+10
2065 PRINT AT X,21;" "
2070 NEXT X
2075 GO SUB 630
2080 INK 7: PAPER 0: PRINT AT 1,0;" THEIR HEADS ARE WIRED TO A BOX";AT 3,0;" IN THE MIDDLE OF THE FLOOR.";AT 5,0;" THEY ARE HOOKED ON JUICE..."
2082 FOR T=0 TO 5
2084 GO SUB 2000
2088 IF T=3 THEN PRINT AT 10,24; PAPER 7; INK 0;"- -";AT 12,25;"O"
2090 NEXT T
2100 GO SUB 150
2110 PRINT AT 9,0;"AMONG THE DEBRIS, YOU FIND AN",,,"AUTOMAP UNIT. IT STILL WORKS..."
2120 GO SUB 620
2900 LET TI=E
2902 LET AB=TI
2903 LET M=INT (RND*4)
2904 LET F=INT (RND*2)
2905 LET S=TI
2910 GO TO 3143
3000 GO SUB 150: PAPER 0: INK 4
3010 PRINT AT 0,0;" AUTO MAP ";AT 1,0;":: ................................ ::"
3022 PRINT AT 2,0;":: :::::::::::::::::::::::::::::::: ::"
3023 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3024 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3025 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3026 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3027 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3028 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3029 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3030 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3031 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3032 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3033 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3034 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3035 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3036 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3037 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3038 PRINT ":: :::::::::::::::::::::::::::::::: ::"
3050 PRINT ":: '''''''''''''''''''''''''''''''' ::"
3055 INK 4: PRINT "::::::::::::::::::::::::::::::::::::::"
3065 RETURN
3100 REM
3105 INK 6: PAPER 1: PRINT AT 2,5;"::";AT 2,10;"::";AT 2,14;"::": PRINT AT 3,3;"::::::";AT 3,7;"::";AT 3,9;"::::::";AT 3,13;"::": PRINT AT 4,7;"::";AT 4,9;"::": PRINT AT 5,2;"::";AT 5,4;"::::::::";AT 5,9;"::";AT 5,11;"::::";AT 5,14;"::::::"
3106 BEEP .01,40
3115 PRINT AT 6,3;"::";AT 6,12;"::";AT 6,14;"::";AT 6,16;"::": PRINT AT 7,3;"::::";AT 7,6;"::::::::::";AT 7,14;"::": PRINT AT 8,8;"::";AT 8,10;"::::::::::";AT 8,16;"::"
3116 BEEP .01,35
3120 IF M=0 THEN PRINT AT 5,10; INK 6; PAPER 1;"::"
3121 IF M=1 THEN PRINT AT 5,15; INK 1; PAPER 0;"::"
3122 IF M=2 THEN PRINT AT 6,3; INK 1; PAPER 0;"::"
3125 PRINT AT 9,2;"::";AT 9,4;"::::::";AT 9,16;"::": PRINT AT 10,4;"::";AT 10,6;"::::::::::::::";AT 10,14;"::": PRINT AT 11,3;"::::";AT 11,11;"::::::::::": PRINT AT 12,2;"::";AT 12,6;"::::::";AT 12,15;"::"
3126 BEEP .01,30
3130 PRINT AT 13,4;"::";AT 13,8;"::";AT 13,10;"::::::": PRINT AT 14,3;"::::::::::::";AT 14,11;"::";AT 14,15;"::::": PRINT AT 15,4;"::";AT 15,9;"::::::::::::::": PRINT AT 16,7;"::";AT 16,15;"::"
3131 BEEP .01,25
3132 PRINT AT 17,3;"::::::::::";AT 17,9;"::::::::";AT 17,14;"::::": PRINT AT 18,7;"::"
3141 INK 7: PAPER 0: RETURN
3143 GO SUB 3000: BEEP .05,20
3146 INK 7: PRINT AT 8,21;"PRESS O ";AT 10,21;"TO OPERATE.";AT 8,28; INK 2; FLASH 1;"O"
3147 IF INKEY$<>"O" THEN GO TO 3147
3148 GO SUB 3100
3150 INK 7: PRINT AT 8,21;"PRESS S ";AT 10,21;"TO LOCATE ";AT 12,21;"SHIP.";AT 8,28; INK 6; FLASH 1;"S"
3155 LET SX=INT (RND*2)+2
3156 LET SY=INT (RND*10)+3
3157 BEEP .05,10
3160 IF INKEY$<>"S" THEN GO TO 3160
3165 GO SUB 200
3170 FOR N=E TO 20
3180 PRINT AT SX,SY; PAPER 2; INK 7;" ";AT SX,SY;"c"
3190 BEEP .01,40: NEXT N
3195 PRINT AT 8,21;"PRESS U ";AT 10,21;"FOR YOUR ";AT 12,21;"POSITION";AT 8,28; INK 3; FLASH 1;"U"
3200 IF INKEY$<>"U" THEN GO TO 3200
3201 BEEP .1,30: GO SUB 200
3203 LET Y=INT (RND*5)+9
3205 LET X=INT (RND*3)+16
3210 PRINT AT 8,21;"USE CURSOR";AT 10,21;"KEYS TO ";AT 12,21;"GET TO YOUR";AT 14,21;"SHIP..."
3215 PRINT AT SX,SY; PAPER 2; INK 7;"c"
3230 PRINT AT X,Y; PAPER 1; INK 7;"n"
3240 FOR P=0 TO 50: NEXT P
3250 PRINT AT X,Y; PAPER 0; INK 1;"::"
3255 IF TI>=1 THEN LET TI=TI+1
3260 LET K=X
3270 LET Q=Y
3290 IF INKEY$<>"5" AND INKEY$<>"6" AND INKEY$<>"7" AND INKEY$<>"8" THEN GO TO 3220
3295 BEEP .05,40: BEEP .05,30
3300 IF INKEY$="7" AND ATTR (X-1,Y)=1 THEN LET X=X-1
3310 IF INKEY$="6" AND ATTR (X+1,Y)=1 THEN LET X=X+1
3320 IF INKEY$="5" AND ATTR (X,Y-1)=1 THEN LET Y=Y-1
3330 IF INKEY$="8" AND ATTR (X,Y+1)=1 THEN LET Y=Y+1
3350 IF K=X AND Q=Y THEN GO TO 3600
3360 IF TI>58 THEN GO TO 5200
3400 IF X=10+F AND Y=5 THEN GO TO 4000
3405 IF X=15+F AND Y=6 THEN GO TO 4100
3410 IF X=12 AND Y=13+F THEN GO TO 4200
3415 IF X=6 AND Y=13-F THEN GO TO 4300
3417 IF X=13+M AND Y=2 THEN GO TO 4400
3420 IF X=11+F AND Y=9 THEN GO TO 4500
3425 IF X=9 AND Y=11-M THEN GO TO 4700
3430 IF X=5 AND Y=3 THEN GO TO 4900
3435 IF X=9-F AND Y=15 THEN GO TO 4500
3440 IF X=8 AND Y=5-F THEN GO TO 4800
3445 IF X=3 AND Y=2+F THEN GO TO 4600
3450 IF X=4+M AND Y=12 THEN GO TO 4600
3600 IF ATTR (X+1,Y)=23 OR ATTR (X-1,Y)=23 OR ATTR (X,Y+1)=23 OR ATTR (X,Y-1)=23 THEN GO TO 6900
3800 GO TO 3210
4000 GO SUB 150
4005 IF TI<>0 THEN LET TI=TI-10
4010 PRINT AT 8,0;"IN A HUT YOU FIND A STORE OF",,,"SOME KIND. SYNTHOMUNCH. YOU HELP",,"YOURSELF, IT WILL STRENGTHEN",,,
4020 PRINT "YOUR TIRED BODY..."
4030 LET A(3)=A(3)+M*2+1
4040 GO SUB 620
4050 GO TO 6500
4100 GO SUB 150
4110 PRINT AT 8,0;"A THING, HALF RAT, HALF LIZARD",,,"SPRINGS AT YOU AND BITES YOUR",,,"LEG. YOU MUST FIND SOME SERUM",,,
4120 PRINT "FAST OR YOU WILL DIE WITHIN",,,"MINUTES..."
4122 FOR P=0 TO 20: BEEP .005,INT (RND*40)+10: NEXT P
4125 LET TI=1
4130 GO SUB 610
4140 GO TO 6500
4200 GO SUB 150
4202 PRINT AT 7,0;"FROM A POOL OF EVIL LOOKING",,,"LIQUID, A TENTACLE SLITHERS",,,"TOWARDS YOUR LEG..."
4203 LET J$="1011121213131415151413131314151617181817181919192021"
4205 LET I=31: GO SUB 630: INK 4: FOR N=1 TO 52 STEP 2: LET J=VAL J$(N TO N+1): PRINT AT J,I;"o": BEEP .01,N+INT (RND*3)-2: PAUSE 5: LET I=I-1: NEXT N
4230 GO SUB 640
4233 IF AB=0 THEN GO TO 4580
4235 GO TO 4520
4240 GO TO 6500
4300 GO SUB 150
4305 LET FF=INT (RND*10)+1
4310 PRINT AT 7,0;"YOU FIND A SMALL STORE. A DOPED",,,"UP DELTAN WOULD NOT RECOGNISE",,,"THE DISGUISED CONTAINERS",,
4320 PRINT ,"BUT YOU ARE NOT FOOLED...SPICE.",,,FF;" UNITS OF BOOSTERSPICE. YOU",,,"TAKE IT ALL..."
4340 GO SUB 610
4345 LET A(4)=A(4)+FF
4350 GO TO 6500
4400 GO SUB 150
4410 PRINT AT 8,0;"A HEAP OF BODIES ON THE GROUND",,,"ARE NOT DOPED. NO, THE CHARRED",,,"CIRCLES ON THEIR CLOTHING CAN",,,
4420 PRINT "ONLY MEAN ONE THING..."
4430 GO SUB 620
4440 GO SUB 150
4445 LET S=INT (RND*3)+2
4450 PRINT AT 9,0;"YOU FIND A BLASTER IN A MAN'S",,,"HAND. IT HAS ";S;" SHOTS LEFT...",,,"YOU TAKE IT..."
4460 GO SUB 620
4465 LET AB=1
4470 GO TO 6500
4500 GO SUB 150
4502 PRINT AT 8,0;"FROM THE SHADOWS SOMETHING",,,"HORRIBLE COMES AT YOU...": GO SUB 620: INK 4: BRIGHT 1: FOR I=21 TO 8 STEP -1: PRINT AT I,13;"o o": BEEP .02,0-I
4505 PRINT AT I,12;" ": NEXT I
4507 PRINT AT I,13;"o o": GO SUB 640: PRINT AT I,13;"- -": GO SUB 640: GO SUB 640: PRINT AT I,13;"o o": GO SUB 640
4510 BRIGHT 0: INK 2: PRINT AT 9,13;"____": GO SUB 640: PRINT AT 9,13;"jV Vk": GO SUB 640: FOR P=0 TO 10: BEEP .005,RND: NEXT P
4515 IF AB=0 THEN GO TO 4580
4520 GO SUB 150: PRINT AT 10,0;"YOU RAISE YOUR BLASTER...",,,
4525 GO SUB 630
4530 GO SUB 6600
4535 GO SUB 150
4537 IF S=9 THEN GO TO 4580
4540 LET R=INT (RND*2): IF R=0 THEN PRINT AT 9,0;"IT IS TRANSFORMED INTO A ",,,"SMOULDERING HEAP..."
4545 IF R=1 THEN PRINT AT 9,0;"IT IS REDUCED TO A CLOUD",,,"OF ATOMS..."
4550 GO SUB 620
4560 GO TO 6500
4580 PRINT AT 9,0;"YOU RUN AS FAST AS YOU CAN..."
4591 GO SUB 620
4592 IF INT (RND*5)=1 THEN GO TO 800
4595 GO TO 6500
4600 GO SUB 150: PRINT AT 5,0;"YOUR LEGS GO FROM UNDER YOU",,,"AS YOU TUMBLE HEADLONG INTO A",,,"BOTTOMLESS HOLE..."
4610 GO SUB 630: GO SUB 150: FOR N=0 TO 21
4620 PRINT AT N,3; INK (21-N)/3;"DOWN": BEEP .05,30-N: PRINT AT N,3;" ": NEXT N
4630 GO SUB 620: GO TO 9500
4700 GO SUB 150
4705 LET TI=E
4710 GO SUB 150: PRINT AT 8,0;"YOU HAVE FOUND A STORE FULL OF",,,"MEDICAL SUPPLIES, YOU TAKE WHAT",,,"YOU NEED AND LEAVE..."
4730 GO SUB 620
4740 GO TO 6500
4800 GO SUB 150
4810 PRINT AT 7,0;"YOU ARE SURROUNDED BY A GANG OF",,,"SPACED-OUT DELTANS. THEY ARE",,,"COMING FOR YOU..."
4820 GO SUB 620
4825 IF AB=0 THEN GO TO 5000
4830 PRINT ,,,,"YOU PULL OUT YOUR BLASTER..."
4840 GO SUB 630
4850 GO SUB 6600
4855 IF S=9 THEN GO TO 5000
4860 GO SUB 150
4870 PRINT AT 10,0;"ONE SHOT SENDS THEM SCURRYING..."
4880 GO SUB 620
4890 GO TO 6500
4900 GO SUB 150
4910 PRINT AT 8,0;"NOW HERE IS A STORE OF GOLD",,,"YOU MIGHT AS WELL TAKE SOME,",,,"IT'S QUITE USEFUL..."
4915 LET A(5)=A(5)+5
4920 GO SUB 620
4930 GO TO 6500
5000 GO SUB 150
5010 PRINT AT 6,0;"THEY PIN YOU TO THE GROUND",,,"AND LAUGH AS BOOSTERSPICE IS",,,"POURED INTO YOUR MOUTH..."
5020 PRINT ,,,,"YOU FEEL GOOD. YOU DONT CARE...",,,"DELTA IS A GREAT PLACE........."
5030 GO SUB 610
5045 GO SUB 620
5050 GO TO 9500
5200 GO SUB 150
5210 PRINT AT 7,0;"YOU HAVE NOT FOUND THE MEDICINE",,,"AND YOU ARE VERY WEAK. YOUR LEGS",,"GO FROM UNDER YOU...",,,,,
5220 PRINT "THE BLACK DELTAN SKY DROPS DOWN",,,"AND FILLS YOUR HEAD............"
5230 GO SUB 610
5240 GO TO 5040
6500 REM
6516 GO SUB 150
6520 GO SUB 3000
6530 GO SUB 3100
6550 REM
6560 GO TO 3210
6600 REM
6610 GO SUB 100
6620 PRINT AT 10,3; PAPER 0;"=====";AT 11,2;"'''' '''''''''''':::::'";AT 12,2;" 0000000 === ";AT 13,2;".... ...."
6630 PRINT " j::::::::__";AT 15,0;"::::::::::::::_";AT 16,0;"::::::::::::::_";AT 17,0;"::::::::::::::_";AT 18,2;"g''''''''h"
6635 GO SUB 630
6640 PRINT AT 14,8;"::": GO SUB 640: BEEP .01,0
6647 IF S<1 OR S=9 THEN PRINT AT 14,8;"::": GO SUB 630: GO TO 6700
6650 PRINT AT 12,17; INK 7; PAPER 2;"f "
6660 PRINT AT 12,17; INK 7; BRIGHT 1;"::::::::::::::::::::::::::::::"
6662 FOR P=0 TO 10: BEEP .01,INT (RND*2)+50: NEXT P
6663 PRINT AT 12,17; INK 0;"::::::::::::::::::::::::::::::"
6665 PRINT AT 14,8;"_"
6670 GO SUB 630
6675 LET S=S-1
6680 RETURN
6700 GO SUB 630
6710 GO SUB 150
6720 PRINT AT 10,0;"THE GUN IS EMPTY..."
6725 LET S=9
6730 GO SUB 630
6740 GO TO 6680
6900 GO SUB 150
6910 PRINT AT 8,0;"YOU HAVE FOUND YOUR SHIP AND",,,"THERE IS ANOTHER HOPPER BESIDE",,,"IT WITH FUEL BEING LOADED...",,,
6920 PRINT "NOBODY IS LOOKING SO YOU ATTACH",,,"THE NOZZLE TO YOUR INLET VALVE."
6950 GO SUB 610
7000 CLS
7010 PRINT AT 9,0;"YOU GET INTO YOUR WAITING SHIP",,,"AND WITHIN MINUTES THE PEGASUS ",,"IS CLIMBING SKYWARD..."
7020 GO SUB 620
7025 GO SUB 1400
7030 LET Y=5
7040 FOR X=18 TO 1 STEP -1
7050 PRINT AT X,Y;"ab": BEEP .01,40-X: PRINT AT X,Y;" "
7055 LET Y=Y+1
7060 NEXT X
7070 GO SUB 620
7110 GO SUB 100: PRINT AT 10,8;"*** TRADER ***": GO SUB 9100: GO SUB 630: GO SUB 150
7200 PRINT AT 9,E;"THE JOURNEY TO EPSILON IS FAST",,,"AND SOON YOU ARE UNLOADING IN",,,"THE DOCKING BAY..."
7250 GO SUB 620
8000 GO SUB 150
8020 PRINT AT 9,0;"HOME AT LAST. NOW YOU MUST SELL",,,"YOUR CARGO..."
8030 PRINT ,,,,"HERE ARE THE BUYING PRICES..."
8035 GO SUB 620
8040 PAPER 7: BORDER 7: INK 1: CLS
8050 LET RF=INT (RND*50)+50
8055 LET PC=INT (RND*20)+10
8060 LET MU=INT (RND*10)+10
8065 LET BO=INT (RND*200)+100
8070 LET SM=INT (RND*5)+5
8075 LET GO=INT (RND*50)+10
8100 PRINT AT 2,0;" TODAYS BUYING PRICES ";AT 4,0;"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''"
8105 PAPER 1: INK 7: PRINT ,," RAW FUEL";TAB 18;" /UNIT",,," PETROCHEM";TAB 18;" /UNIT";,,," MUNCH";TAB 18;" /UNIT",,,
8110 PRINT " SYNTHOMUNCH";TAB 18;" /UNIT",,," BOOSTERSPICE";TAB 18;" /UNIT",,," GOLD";TAB 18;" /UNIT",,,
8115 PRINT INK 2; PAPER 7;"................................................................"
8120 PAPER 7: INK 0: PRINT AT 6,18;RF;AT 8,18;PC;AT 10,18;MU;AT 12,19;SM;AT 14,17;BO;AT 16,18;GO
8130 PRINT AT 21,0; PAPER 0; INK 6;"PRESS "; FLASH 1;"S"; FLASH 0;" TO SELL YOUR CARGO "
8135 IF INKEY$<>"S" THEN GO TO 8135
8140 FOR N=0 TO 12: BEEP .1,N: NEXT N: PRINT AT 21,0; PAPER 2;" "
8145 PAPER 1: INK 7: PRINT AT 6,27;"X ";W;AT 8,27;"X ";A(1);AT 10,27;"X ";A(2)
8150 PRINT AT 12,27;"X ";A(3);AT 14,27;"X ";A(4);AT 16,27;"X ";A(5)
8160 LET CA=(RF*W)+(PC*A(1))+(MU*A(2))+(SM*A(3))+(BO*A(4))+(GO*A(5))
8170 PRINT AT 21,1; INK 7; PAPER 2;"CARGO VALUE "; FLASH 1;CA; FLASH 0;" CREDITS "
8180 GO SUB 610
8185 LET A(7)=A(7)-8^4
8190 GO SUB 150
8195 LET PR=A(7)+CA-1000
8200 PRINT AT 8,0;"YOUR ";CA;" CREDITS FOR YOUR",,,"CARGO PLUS YOUR ";A(7);" CREDITS",,,"FROM THE TRIP GIVES YOU A PROFIT",,
8210 PRINT "OF "; FLASH 1;PR;" CREDITS"; FLASH 0;"..."
8220 GO SUB 610
8230 GO SUB 150
8250 IF PR<=0 THEN PRINT AT 10,0;"YOU ARE BROKE...",,,"BETTER LUCK NEXT TRIP."
8260 IF PR>0 AND PR<=500 THEN PRINT AT 10,0;"WELL DONE...",,,,"BUT DO BETTER NEXT TIME."
8270 IF PR>500 THEN PRINT AT 10,0;"YOU HAVE DONE REALLY WELL...",,,"CONGRATULATIONS."
8300 GO SUB 620: GO TO 9500
9100 RESTORE : LET E=.12: FOR N=0 TO 17: READ F: READ D: BEEP D,F: NEXT N: RETURN
9110 DATA 0,E,4,E,0,E,7,E,4,E,12,E*2
9120 DATA 11,E/3,9,E/3,7,E/3,5,E/3,4,E/3,5,E,2,E,0,E,-1,E,0,E,-5,E,-12,E
9200 GO SUB 100: PRINT AT 0,0;"ASTRONAV";AT 1,0;"--------"
9210 RANDOMIZE USR 64780: RANDOMIZE USR 64760: RANDOMIZE
9220 INK 2: CIRCLE 120,85,55: INK 6: CIRCLE 162,50,2: PRINT AT 15,21;"Delta": BEEP .3,30: RETURN
9500 LET EN=1
9510 GO TO 500
9600 PRINT AT 15,12; INK 7; FLASH 1;"THE END": GO SUB 9100
9610 PAUSE 0: CLS : STOP
9900 POKE USR "L",255: POKE USR "L"+1,255: POKE USR "L"+2,0: POKE USR "L"+3,255: POKE USR "L"+4,0: POKE USR "L"+5,0: POKE USR "L"+6,255: POKE USR "L"+7,0
9905 FOR N=0 TO 7: POKE USR "M"+N,128+64: NEXT N
9910 POKE USR "N",24: POKE USR "N"+1,24: POKE USR "N"+2,60: POKE USR "N"+3,60: POKE USR "N"+4,60: POKE USR "N"+5,24: POKE USR "N"+6,24: POKE USR "N"+7,60
9915 POKE USR "O",60: POKE USR "O"+1,126: POKE USR "O"+2,231: POKE USR "O"+3,195: POKE USR "O"+4,195: POKE USR "O"+5,231: POKE USR "O"+6,126: POKE USR "O"+7,60
9945 RETURN
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.




