Sol20.org

BASIC/5 Programs

Here is a collection of BASIC/5 programs; most have been contributed by Ralph Hopkins. Ralph wrote some of the programs, and ported many of them from their original source to run under BASIC/5.

The programs are presented in ASCII format. These can be loaded into the emulator as follows. After starting BASIC/5, load a program by using the File/Script... menu option. This causes the emulator to read in the file as if the user was typing it by hand. Note that BASIC/5 assumes your computer has 8KB of memory. If you need to work with programs larger than that, you must give a command "SET M=49000" (or whatever you want the top of memory to be) before running the program.

Programs are presented in one of two formats, or both: tokenized or ASCII. The majority of the programs are presented as straight ASCII, and have an extension of either .bas or .bs5. These can be loaded as follows. After starting BASIC/5, load a program by using the File/Script... menu option. This causes the emulator to read in the file as if the user was typing it by hand. Note that BASIC/5 assumes your computer has 8KB of memory. If you need to work with programs larger than that, you must give a command "SET M=49000" (or whatever you want the top of memory to be) before running the program.

A couple programs in this section, contributed by Paul Schaper, have a .ent extension. These are BASIC/5 programs that contain embedded machine language routines inside of a REM statement. Also note that normally you can't just use the File/Load Program... menu item to load the source code -- BASIC needs to monitor the loading of the source. However, Paul has supplied two versions of the following programs. The foo.ent programs are "straight" code, and is also what appears on the .SVT tape. The foo-hack.ent binaries below have been massaged by Paul to automatically set the memory size of the program and to diddle the auxiliary memory locations so that you can "File/Load Program..." from within BASIC/5. Ignore the warning that pops up about running one program while another is already running. Paul had this to say about these programs:

Lunar and Mtchs are the same from Processor Tech. I modified the beginning so that you can load and run them. In Solace, load and run Basic5. Then load Lunar within Basic5 and run it. The first line in the .ent file (1AD3: FF 3F) causes Basic5 to increase its memory usage from 8K to 16K. It is as if you typed in the command SET M=16384. The second line (1AD7: 2B 24) tells Basic5 where the end of the program is. One nice thing about this way of doing it, you can go from game to game and not have to leave Basic5. Just make sure that Basic5 has stopped interpreting the basic program.

Programs
Filename Brief Description Size Contributor
LUNAR.BS5 Processor Technology

Traditional text lunar lander (as distinguished from the ASCII-graphic one available for Extended Cassette BASIC).
3203 Paul Schaper
MTCHS.BS5 Processor Technology

21 matches; you play against the computer; last one to pick up a match loses.
1141 Paul Schaper
BOMB.ENT Paul Schaper

Bomb a dam while under enemy fire.  Makes extensive use of hidden assembly language routines, and isn't entirely LIST'able.
(Paul Schaper quote):I saw on a PET computer and got it to work.  it uses several machine language routines.
17180 Paul Schaper
BOMB-HACK.ENT Paul Schaper

Modified version of BOMB.ENT that can be loaded from within BASIC/5.
17206 Paul Schaper
BOMBR.ENT 101 BASIC programs/Paul Schaper

This is a program from 101 BASIC Programs, entered by Paul Schaper and modified for the SOL.  Due to a short assembly language routine embedded in a REM statement, the program isn't entirely LIST'able.
(Paul Schaper quote):This program uses Basic5's ability to call a machine language routine to poll the keyboard.  The routine is near the beginning of the program hidden in a REM statement.  Because of this, the beginning of the program is not editable and the whole program is not relocatable (can't move it from 1AD9 to say 2D00).
9764 Paul Schaper
BOMBR-HACK.ENT Paul Schaper

Modified version of BOMR.ENT that can be loaded from within BASIC/5.
9790 Paul Schaper
BAS5PGMS.ZIP Paul Schaper

This is a zip file of the programs contributed by Paul Schaper, including a .SVT file for use with Solace.
32688 Paul Schaper
BALIS.BS5 Author and source unknown

Simulation of ballistics
2167 Ralph Hopkins
BANDT.BS5 from MERITSS : Author unknown   12-14-77

Pseudo slot machine game
5086 Ralph Hopkins
BASBL.BS5 from MERITSS : Author = User UCC6050  12-19-77

Minnesota Twins vs. The Chicago White Sox
10542 Ralph Hopkins
Filename Brief Description Size Contributor
BKJK.BS5 Author and source unknown

Play blackjack
5293 Ralph Hopkins
BLJAK.BS5 from MERITSS; written by JLL : GAME   12-14-77

This is blackjack for one or two players
23444 Ralph Hopkins
BOMRN.BS5 Jim Prelesnik       Rev.A  2-2-78

Bombing run simulation.
This one requires the extended (trig) functions to work.
9720 Ralph Hopkins
DARTS.BS5 Steven V. Case; Rosemount Senior High School, 12/8/77

Simulation of --> Darts
2366 Ralph Hopkins
DICEG.BS5 from MECC : Author = User H1C1120   1-13-78

Simulates a dice number game
6417 Ralph Hopkins
DRAGR.BS5 from MECC : 12-15-77; HP BASIC PROGRAM LIBRARY

Simulates a drag race
4345 Ralph Hopkins
FIGHT.BS5 Hanson, around Jan. 1, 1977

This is a program about 5 fighter airplanes attacking your P-52.
4491 Ralph Hopkins
FTBAL.BS5 JLL

Simulation: a pro football game : Minnesota Vikings and 25 teams
19174 Ralph Hopkins
FURS.BS5 Marge Kosel/MECC Hibbing, MN
Corrected and reformatted by Steve G. Woodward;  CDC CYBER 70/73-26  BASIC 3.1

Simulation: you are the leader of a French fur trading expedition
6875 Ralph Hopkins
GOLFR.BS5 Author and source unknown

Simulation: exercise in spherical ballistics
9137 Ralph Hopkins
Filename Brief Description Size Contributor
GUNNR.BS5 Author and source unknown

Simulation: Firing a field artillery weapon
2431 Ralph Hopkins
HOCKY.BS5 from MECC : Author = User H5K3005   1-18-78

Simulates a hockey game (Minnesota North Stars)
4702 Ralph Hopkins
HRASE.BS5 from MERITSS : 12-20-77; Author unknown
CDC'S KRONOS TIME-SHARING SERVICE

Simulates a horse race
5821 Ralph Hopkins
HRKEL.BS5 from MERITSS : 12-15-77; Author unknown

Hunt the Hurkle on a 10 x 10 grid.
1397 Ralph Hopkins
KING.BS5 from MERITSS : Author = User SCS0001  12-15-77

SIMULATION: SUMER clone
2836 Ralph Hopkins
KORPS.BS5 Ralph Hopkins

Rating *****
AFRIKA KORPS pits you as a 1942 German Commander against British armored units.  This game was inspired by SeaWolf (SWOLF.BS5).  You are randomly assigned one of ten tanks or vehicles to oppose one-to-many enemy units.  Like SeaWolf, you NEVER see a 'MAP' of WHERE the enemy really in relation to you.  You only get a numbered 'LIST' of 'Description' and 'Range'.  There are some commands like 'Status', 'Scan', 'Points', 'Enemy Info' that do not result in you losing your turn to enemy movement. But once you move, shoot or wait you allow the enemy to take their turn to move, shoot or wait!
To avoid a very pointless exercise in ballistic mathematics, you just do a 'shoot' command.  (When more than ONE target exists, you will be asked to select it's 'target number'.)  It is always assumed that you are an EXPERT gunner.  It may take you up to around 3 shots for YOU to get the correct target angle and elevation.  For an equal opponent, they may need up to 4 shots to get YOUR range and trajectory!  If you really are 'The Commander' then you will just give the order to shoot and let your crew do the work.
When they get within about 10 meters / yards of you, then you must decide between moving or shooting.  (If you are an 88mm Flak Gun, decide sooner!)  Do you chance one more shot to *STUN*, +* DAMAGE *+ or DESTROY the opposing vehicle?  Or do you try an evasive move?  Maybe you just retreat; especially, if you are out-gunned or out numbered.  Or ... do you advance and try to run over Trucks?!  You can even try a shoot-and-retreat pattern - until you escape.
Remember, Firepower and accuracy double at ANY unit's 1/2 range.  Check 'Enemy Info' to determine how dangerous an enemy unit really is.    Compare that with YOUR 'Status' to see how dangerous YOU are!  'Points' gives you a quick and simple idea of 'dangerous units'.
Moving is like in STTR.BS5 or in number directions 1 to 8.  You use numbered commands such as '4' to retreat to a randomly more fortified 'ground' that allows you more protection. (HIGH GROUND doubles and maybe triples your 'protection').  ANY unit/vehicle which is *STUNNED* loses a turn to move or shoot.  Damaged units cannot move - including you!  However, if you run out of shells, like Seawolf runs out of torpedoes, you may return to 'Base Camp' to re-load and live another day.  If damaged, you may ABANDON you tank and escape the battlefield without penalty.  ALL tanks or vehicles are worth 'POINTS' which are logged cumulatively between missions.  Play wisely and you can run up a great score.
Tank armour, speed, armament, shells carried etc. are based on real data taken from board games like (I think) Steel Panthers that used cardboard tokens/units on a grid-map battlefield.
26897 Ralph Hopkins
LCMDS.BS5 Ralph Hopkins; late 1970's

LUFTWAFFE instructions (LUFTW,ECB, LUFT1.ECB, LUFT2.ECB)
7702 Ralph Hopkins
LEM.BS5 from Creative Computing-Nov-Dec 1976; Author unknown

This is a lunar landing program
7371 Ralph Hopkins
LMODL.BS5 Converted for UNIVAC by Mike van Pelt
Stolen by J. Emmett Black and implemented courtesy of the demonstration program people at the University of Alabama.  Roll Tide!

Simulation: lunar landing simulation
Note: very similar to LUNER.BS5 and LUNR3.BS5
3428 Ralph Hopkins
LUNER.BS5 Author and source unknown; 07/23/77

Simulation: moon landing
Note: very similar to LMODL.BS5 and LUNR3.BS5
2406 Ralph Hopkins
Filename Brief Description Size Contributor
LUNR3.BS5 Author and source unknown

Simulation: moon landing
Note: very similar to LMODL.BS5 and LUNER.BS5
3145 Ralph Hopkins
LUNR4.BS5 from...MERITSS : 12-15-77; by Kent Kehrberg
Adapted from Digital Equipment Corporation; 12/1972

Simulation: moon landing
5991 Ralph Hopkins
MAFIA.BS5 Author and source unknown; 8/15/77

The object of this game is to kill or be killed!
7922 Ralph Hopkins
MODLO.BS5 Author and source unknown; 8/18/77

Take coins away from a stack.  Last take-away loses.
2889 Ralph Hopkins
MTCHS.BS5 Author and source unknown

This is the game of 23 matches.
1118 Ralph Hopkins
NAGS.BS5 from MERITSS : 12-15-77

Simulates a horse race
2745 Ralph Hopkins
NUMB2.BS5 from MERITSS : 12-21-77
Modified and adapted for CDC BASIC by Kent T. Kehrberg
Copyright People's Computer Company
P. O. BOX 310, Menlo Park, CA 94025

High/low number guessing game.
1311 Ralph Hopkins
PANZR.BS5 Ralph Hopkins; late 1970's

Rating *****
A later version of KORPS except it is late 1944 and you are a German Commander playing against the British and Americans.  Like in KORPS, armor, guns, speed etc. are as realistic as possible to the actual units.
26469 Ralph Hopkins
POKER.BS5 Mike Virnig

Play poker
7540 Ralph Hopkins
QUEEN.BS5 Converted to UNIVAC 1106 MainFrame 12-3-71 by T.Edwards, Source--unknown
Modified August 1970 by Richard Hart; last mod. 6/23/77 R.E.H.

Plays game based on chess moves.
5327 Ralph Hopkins
Filename Brief Description Size Contributor
SNARK.BS5 People's Computer Company, Menlo Park  CA
Adapted to CDC BASIC by Kent T. Kehrberg

Snark - catch him with a well placed circle
2531 Ralph Hopkins
STRIN.BS5 from MERITSS : GAME  12-15-77

This program lists the rules for running BASIC program STARTRK
7518 Ralph Hopkins
STRWR.BS5 Robb (MITHRANDIR) Borland    10/4/77
MECC "STRWAR1" === reworked  03-20-78

Rating ****
Simulation: destroy the infamous 'STARWARS' Death Star.
12749 Ralph Hopkins
STTR.BS5 Ralph Hopkins; late 1970's

Rating *****
Classic game of StarTrek.
A SOL-20 version of Univac 1100 Basic's STTR2.  The Enterprise <E> has 'xx' Stardates to clear the 8 x 8 'galaxy' of Klingons.  >B< Bases provide faster damage repair and re-supply.
18001 Ralph Hopkins
SUICI.BS5 from MECC : Author = User H4U1062  Feb 78

Play Russian Roulette.
1182 Ralph Hopkins
SWOLF.BS5 by Ralph Hopkins; (Era Jun-79)

Rating *****
WWII Pacific Submarine game.
SEAWOLF was (I think) inspired by another program called BLUEFIN.  (BLUEF.ECB)   One improvement was to use numbers, not word commands.  This is a write-from-scratch version that gives SEAWOLF 'xx' days and 26 torpedoes to sink some Japanese ships in World War II.  From the time you start until the 'War ends' (Somewhat like 'StarDates') you can run missions to sink ships, gain 'points' and build up a LOG of 'kills'.
Each 'Day' sets up a random convoy with a of a number of ships for you to attack.  SeaWolf 'loses' its turn when it dives, waits or shoots (torpedoes or deck gun).  You NEVER see a 'MAP' of WHERE the enemy really is in relation to you.  You only get a numbered 'LIST' of 'Ship' and 'Range'.  There are commands like 'Status', 'Points', 'See kill log' that do not result in you losing your turn to enemy movement.
The skill is in knowing when to run, when to fight and WHO you can use the deck gun against to save valuable torpedoes.
27251 Ralph Hopkins
TANKS.BS5 Ralph Hopkins; late 1970's

Rating *****
A still later version of KORPS/PANZR except it is late 1944 and you are an American Commander playing against the Germans post Normandy.
26764 Ralph Hopkins
TANKZ.BS5 Ralph Hopkins; late 1970's

Rating *****
The last version of KORPS/PANZR/TANKS in which you command a Russian tank unit playing against the Germans on the Russian Front.
26632 Ralph Hopkins
TRIG.BS5 Author and source unknown

Print out trig values.
808 Ralph Hopkins
TRKRL.BS5 by Dan Dickey  Date: 27-12-77
from MECC : H4U1062   1-13-78

Instructions for the game of newtrek (STAR TREK)
10935 Ralph Hopkins
Filename Brief Description Size Contributor
UBOAT.BS5 Ralph Hopkins; 4/25/03

Rating *****
German submarine commander clone of SWOLF.BS5
27763 Ralph Hopkins
WWIII.BS5 from MECC system  * WW3 *    Copied  3-1-78

This is simulated atomic war in the year 2005, between the USA...
4807 Ralph Hopkins
BS5_PGMS.ZIP Ralph Hopkins/Various

This is a zip file of the programs contributed by Ralph Hopkins.
143922 Ralph Hopkins