Browse this growing collection of Apple-1 programs.
A tribute to history and their hackers.

Run them in the emulator right away, or just on the real machine.

Mini-Startrek

by Robert J. Bishop in 1977

Find and shoot down the bad guys, the Klingons.

apple tapebasicwithin 8k

Also referred to as Apple Star-Trek. Sold by Apple Computer on cassette tape for $5, order code A1T006X.

History

This game by Robert J. Bishop was published in the Interface Age magazine (May 1977). At the time, Star-Trek games were popular and various variants were written for mini- and microcomputers. This one was specifically written in Apple BASIC for the Apple-1.

Instructions

Rules of the game, as lined out in the issue of Interface Age:

The galaxy is divided into 64 quadrants arranged in an 8x8 grid: each quadrant is further subdivided into 8x8 sectors. Your mission is to find and destroy the seven Klingon spaceships hiding somewhere in the galaxy: you are allotted 15 stardates and have two starbases at which you can refuel. You are initially supplied with 3 photon torpedoes and 500 units of energy. Your energy supply is used to:

  1. move you around the galaxy,
  2. fire your phasers, and
  3. protect the Enterprise via its deflection shields which are automatically activated by the on-board computer every time a Klingon fires at you.

Each time you enter or maneuver within a quadrant containing a Klingon, he will shoot at you, and the amount of damage his phasors did to your shields will be indicated. Each time you shoot at him with either phasors or photon torpedoes and fail to destroy him, he will also return fire upon you.

Commands

There are six commands available to you; they are numbered from 0 to 5:

Command Function
0 Moves the Enterprise. Computer responds with; VECTOR ?, to which you must specify the number of sectors you wish to move, both horizontally and vertically. A positive horizontal move is to the right, and a positive vertical move is up. These two vector components must be separated by a comma; for example: -21,35 would move the Enterprise 21 sectors to the left of its current position, and 35 sectors up.
1 Short Range Sensor Scan. Prints the quadrant you are currently in, with the Enterprise represented by the symbols: <*> , Klingons represented by: + + + , starbases by: >!< , and stars by: *.
2 Long Range Sensor Scan. Displays a 3x3 array of nearest neighbor quadrants with the Enterprise's quadrant in the center. The scan is coded in the form: KBS, where K is the number of Klingons, B is the number of starbases, and S is the number of stars in the quadrant.
3 Fire Phasers. The computer informs you as to how much total energy you have left, and then waits for you to indicate how much of that energy you want to fire at the enemy. (Note: the closer you are, the more effect your phasers will have on the Klingons, and conversely!)
4 Fire Photon Torpedo. You have no control over the course of the torpedo; the on-board computer automatically aims at the enemy, taking care to avoid hitting any intervening stars or starbases. (Again, the closer you are, the better your chances of hitting the Klingon.)
5 Library Computer. The library computer allows for the following two requests: Zero) Cumulative record of the results of all previous longrange sensor scans of the galaxy. Non-zero) Status report.

Expenditure of supplies

Moving from one quadrant to another uses up energy and one stardate. However, movement within a given quadrant uses up only energy.

Relative positions change with time

Much can happen in a few stardates! Consequently, if you leave a quadrant and then later return, don't expect the Klingons, stars, etc. to still be in the same relative positions that they were in when you left! The number of each will still be the same, but their positions will be different. This means that whenever you enter a new quadrant, you don't know just where the various objects will be; in fact, don't be too surprised if once in a while you collide with things!!!

Replenishment of supplies

Docking at a starbase re-initializes your supply of photon torpedoes to 3, and your energy supply to 500. Docking is accomplished by moving the Enterprise to any one of the four sectors immediately adjacent a starbase, above, below, left, or right.

Battle retreat

Firing zero units of phaser energy will return you to command mode. This allows you to retreat from battle.

Galaxy co-ordinate system

Quadrant 0,0 is the lower left hand quadrant of the galaxy, and quadrant 7,7 is the upper right. Likewise, sector 0,0 is in the lower left hand corner of the quadrant and 7,7 in the upper right. (Thus, the galaxy resembles a Cartesian co-ordinate system with the x-axis pointing to the right, and the y-axis pointing up.)

References

  • Interface Age (May 1977, p. 132-134), where this game was published originally.
  • Some history on other BASIC Star-Trek games.
Screenshot of Mini-Startrek
RAM: 4KB
CPU PC=0000

                

Use your keyboard to interact with this Apple-1 program.

Emulated with HoneyCrisp v1.2.7,
check here for more details.


Historical reference

In 1976, the Apple-1 Computer was advertised for $666.66 and came with 4K of on-board memory. For a $120 extra, this doubled to 8K of RAM. The provided Operation Manual included the circuit diagram and assembly source code of Wozmon, the operating system.

The Apple-1 Computer main board
The Apple-1 Computer main board.

The Apple Cassette Interface (or ACI) was used to load and save programs from cassette tape. The ACI Manual showed how to install it (the main board had to be jumpered correctly) and explained how it had to be used. Priced at $75, it included a cassette of Apple BASIC.

The Apple-1 Cassette Interface or ACI
The Apple-1 Cassette Interface or ACI.
Cassette with Apple BASIC
Cassette with Apple BASIC.

Software

Woz wrote a BASIC interpreter by himself. It was tiny enough to fit in 4K of memory, but did not support floating point arithmetic. The software itself was free. The Preliminary Apple BASIC Users Manual explained how to write your own games and programs with it.

Cassette tapes could be bought as an original accessory to your new Apple-1. A total of nine programs were available and listed $5 each. Pick one below and go back in time.

At the time, people were also inspired by publications like 101 BASIC Computer Games. They spent their evenings and nights to key-in the games, but soon were disappointed to discover that some of these did not work at all because of the missing floating points... Arghh.

Dive deeper? Read more here and here.

Memory

The Apple-1 has a 16-bit address bus and 64kB of addressable space. Within this space the 6502-processor can use the different parts of the computer:

  • read from ROM, where Wozmon is stored,
  • manipulate RAM, where user programs and BASIC are loaded,
  • and communicate with peripherals, like the attached keyboard and the cassette interface (ACI).

Woz designed a jumper area on the Apple-1 mainboard where the hobbyist-user could configure how memory should be organized. This was very flexible and made extension of the Apple-1 possible.

The full 64kB is split into 16 equal banks of 4kB each by this jumper area. The banks range from 0 to F, hexadecimal. A bank can be tied to one part of the computer: e.g. the ROM, upper RAM chips or a board in the expansion slot.

Jumper area on the Apple-1 mainboard
Jumper area on the mainboard of the Apple-1.

The default configuration is shown above. For example bank E (address space $E000-$EFFF) was usually tied to the eight lower RAM chips on the Apple-1 mainboard, indicated by W and the black wire in the figure. Usually BASIC was loaded here.

Wozmon

No windows yet. It was called a monitor program back then, the predecessor of an operating system. It allowed reading and modifying the computer's memory and starting programs. Woz his monitor was stored in only 256 bytes of ROM.

Part of the Wozmon source.
Part of the Wozmon source code, stored in ROM.

To load it, the user had to press RESET after powering on the computer. A back slash \ appeared on the screen with a flashing @ below, the cursor. Indicating the Apple-1 was ready for commands.

Try Wozmon yourself by pressing the Run button and after that Reset in the above emulator (any program). Then type 280 RETURN to read a memory location. Values are hexadecimal, so range from 0 to F. Change memory with 280: AB RETURN. Read it again and wow you changed memory!

Follow this excellent course to learn more. The original manual explains Wozmon as well (in Section II) and lists the assembly source code.

Transfer software to a real Apple-1 Order now

Use the 8BitFlux.com Keyboard Serial Terminal to connect to an Apple-1 with this website. It uses the Web Serial API locally and is supported by Chrome and Edge browsers. The Wozmon code of any program can be transferred right away.

The Keyboard Serial Terminal connected to an Apple-1
The Keyboard Serial Terminal connected to an Apple-1.

Use the Serial button to transfer the current program to an Apple-1. For example, BASIC takes around 20 seconds to transfer, at a speed of 57.6 kbps. The board is compatible with the high-speed TurboType™ format. It also performs a CRC check and has an error LED indicator.

Done transferring the game or program? Switch the input to the attached Apple-1 keyboard by pressing a button and enjoy it. This makes a great kit for hobbyists, museums or public events. More info »

Emulation

It is easy to run the software with one of these emulators as well:

This website uses the HoneyCrisp emulator. More information can be found here. It has its own software library with even more programs to explore.

View a comparison of emulators here.

Further exploration

  • Talk on Applefritter, the home ground of the Apple-1 Owners Club.
  • For an anarchistic collection of Apple docs and software see the Asimov FTP.
  • Antoine's collection of Apple cassettes, with scans and audio extracts of the tapes.
  • The Apple-1 Registry keeps track of all real Apple-1 machines that ever existed.
  • The story of a homebrew Apple-1 computer by Bryan.
  • Vince Briel's GitHub repository has all the information on his Replica 1.
  • P-Lab lists interesting Apple-1 projects on his website.
  • San Bergman's website has a lot of well-documented information on the Apple-1, from its internal workings to programming it in assembly.
  • Take the online course in 6502 assembly language programming.

Credits

An initiative of 8BitFlux.com. This website can be put to full use with a Keyboard Serial Terminal adapter board, which enables you run software on a (real) Apple-1 right away.

The textual descriptions and screenshots of the programs listed on this website are licensed under CC BY 4.0

A lot of recognition goes out to Landon J. Smith for being so kind to share his HoneyCrisp Emulator (also available on GitHub) for use on this website. Many Thanks to Uncle Bernie for his support and provision of his TurboType™ algorithm, which is part of his Apple-1 Toolchain. Last but not least, all this was not possible by all the authors of Apple-1 software and other emulators. The hobby computer enthusiasts of the past, but also people of the present, who keep this hobby so alive. Thank you all.

Disclaimer

This website is not associated with Apple Inc. in any way.

It tries to be a tribute to (their) history. It wants to list only software that is already considered to be in the public domain, or its license permits further publication. The (online) sources of the program and other references are listed when known.

No AI is used to describe the software packages here. Human mistakes happen, so please report any nonconformities.

Like it?

Buy me a ☕ coffee.

Check out my products, or just spread the word! Incorrect or missing content can be reported here. Thanks!

No trackers and zero cookies 🍪

Made behind an 🍎 in The Netherlands.