The Apple-1 Software Library Beta

Browse all the Apple-1 programs that ever existed. A tribute to history and their hackers.
Run them in any emulator, or instantly on the (real) machine.

Mastermind

by Steve Wozniak in 1976

Guess the 5-digit random number in the fewest possible tries.

apple tapeassemblywithin 4k

Sold by Apple Computer on cassette tape for $5, order code A1T002X.

History

In the article A Number Game for the 6502 this game was published in Dr. Dobb's Journal of Computer Calisthenics & Orthodontia by Steve Wozniak in 1976. It included specific instructions to run the game on the Apple-1 and comes with the assembly source listing.

Instructions

As described in the article:

MASTERMIND is a number guessing game. In this version the computer generates a 5-digit, random number where the digits are limited to 0 through 7. The user attempts to guess the number in the fewest possible tries. After each guess the computer informs the user as to how many digits were correct (contained in the random number) and in the correct position by printing + signs, and how many digits are correct but in the wrong position - signs. The user is not informed as to exactly which digit positions the + and the - signs correspond. A skilled player can usually win in 6 or 7 tries.

THE PLAY

  1. Computer plays READY?
  2. User hits any key when ready (not echoed). A random number is generated by counting from the READY? message to key depression.
  3. Computer prints 01 for move number.
  4. User enters his 5-digit guess following the move number. Remember that valid digits are 0 through 7 only. Entering any invalid character cancels the line and the computer repeats step 3 for the current move. This may be used to cancel errors.
  5. Immediately after entering the 5th digit of his guess, the computer will print a number of + signs (for correct digits in correct positions) followed by a number of - signs (for correct digits in incorrect positions). This score is indicated to the right of the guess and does not indicate the specific digit positions involved. Play resumes at 3 for the next move number except for a win.

References

Screenshot of Mastermind

Historical reference : hardware

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 code of the monitor program.

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

The 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

Its BASIC was written by Woz himself. It did not support floating point arithmetic, but was tiny enough to fit in 4K of memory. 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.

How to emulate?

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

View a comparison of emulators here.

...and run a program

First, start the emulator of choice and have it run Wozmon (or BASIC), then use the Wozmon button to copy-paste the program code into the emulator.

For example: open Apple 1js in another browser tab. Hit CLS to clear the screen and RESET to enter Wozmon. Then paste the copied Wozmon code from this website.

In-website transfer to an Apple-1 Available soon

This website can connect directly (and locally) to the Keyboard Serial Terminal from 8BitFlux.com. It uses the Web Serial API for this and is supported by Chrome or Edge browsers. The Wozmon code of any program can be transferred quickly.

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 the Apple-1. For example, BASIC takes around 20 seconds to transfer at a speed of 57.6 kbps. The board is compatible with the higher-speed TurboType™ format (with CRC check).

After the transfer of the game or program, switch over to the normal Apple-1 keyboard (by pressing a button) and enjoy it. This makes also a great kit for museums and public events. Kits available soon »

Further exploration


Credits

This library is an initiative of 8BitFlux.com. It can be put to full use with a Keyboard Serial Terminal adapter board, which let you run software instantly on a (real) Apple-1.

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 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.

Mistakes happen, as this website is not generated by any AI, 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.