Star Trek
Full title | Star Trek |
Year of release | 2020 |
Publisher | Bokje |
Producer / Author(s) | Bokje |
Memory | 19k |
Type | Game |
Cost : | PD |
Download | Star Trek
[CRC32 F083516B] Distribution Permission Allowed | Group 1 |
Instructions
Star Trek for the Jupiter Ace
Version 0.9
Introduction
Use “LOAD sttr.tap” to load the game, using the Ace ROM with Vdrive support, or for example in
the EightyOne emulator.
Enter “STARTREK” to start your mission.
If the Enterprise is in danger, you will be notified.
VLIST shows the commands that you can give. You get a nice random list of words, just like with
Forth ;-)
See COMMANDS below for a short description, or type
HELP <command>
for online help for each command.
The "Yackety-Yak" speechboard is supported and used in some occasions.
Commands
GO: to fly through the galaxy
SRSCAN: to scan the current quadrant and get environment info
LRSCAN: to scan the current and neighbouring quadrants, to look for Klingons and Starbases
FIRE: to fire phasers at Klingons
TORPEDO: to launch a torpedo
SHIELDS: to raise shields to protect the Enterprise
DAMAGES: to get a damage report on the Enterprise’s devices
LOG: to view the recorded LRSCANs
STATUS: to view the status of the game
DIRS: to calculate directions and distances to Klingons
VERSION: to get information on the current software
HELP: to get help on any of these commands
Hints
A first command may be SHIELDS; otherwise you’ll find the Enterprise soon be destroyed.
The whole Forth universe is still at your disposal. So you could for example do
: SC SRSCAN ;
to save typing. Keep in mind though that there are a lot of short words already defined.
Some Cheats
To start with a galaxy you know (set to zero for random):
<number> GLX !
To get a Starbase in sector 1,1:
STARBASE 1 1 IJ QRS C!
To destroy Klingon 1 in the quadrant:
0 KLINGON.DESTROYED
to fire at Klingons without getting hit:
1000 KLINGONS.HIT
Background
The original game is described here: .
It seems the source is freely available, and is included to compare the implementations.
It seemed like a nice idea to convert this BASIC program to Forth. But it was much harder than
expected! Some calculations in the code took a long time to get right, and perhaps some are still
not correct ;-) The ALOAD command makes it easier to load a program with separate modules,
but the order of loading the modules is highly critical.
Many, if not almost all, Ace Forth features were used in this port. REDEFINE was not, but it could
perhaps have been used in a module to redefine a word with a complete definition for a dummy
word in an earlier loaded module.
Some interesting new words are:
SC@ - to get a signed byte
HELP - utility to display the first comment in a word definition
SAY - to say sentences with the speechboard
As a final note, this port is hopefully an inspiration to code more in Forth!