Egan Ford recently announced Codebreaker! for the Apple 1. His Usenet post is attached.


I had a bit of time last night so I thought I’d finally get around to playing with OpenEmulator and cc65 and see what I could do. The result was a game call Codebreaker! It’s a Mastermind ripoff. I didn’t want to reuse the name since it already exists for the Apple 1. However, IMHO, mine is better. ?

I posted a video of the AWESOME OpenEmulator loading and playing the game here:

The code is mostly C with some ASM. I had to use ASM to track elapsed time (cycle counting) and to generate a random seed. Time is tracked internally in 59 cycle increments. The timer is invoked anytime the game prompts for input. This provides enough randomness to extract the initial seed.

There are two modes, Novice and Pro. Novice is based on the original Mastermind, where Pro is based on Super Mastermind.

The monitor and audio formatted binary can be had here. Use the video for load instructions.

BTW, you’ll a 16K Apple 1. However, if pushed I can create 8K and 4K versions. A 4K version would not have embedded instructions. Or, you can just solder in an extra 16K yourself. If you are running BASIC on your Apple 1, then you probably already have a 16K version.

I’ll be tweaking the code a bit from time to time and will eventually post it, but if you want it now, just send me an email. I do plan on writing an article or perhaps a video blog on how I used cc65 to create Codebreaker! and how I was able to translate the binary into a cassette sound file for easy loading.

Apple 1 forever!!!


Ok, I think I am done with this project for now. I’ve posted the latest version with source here:


1. Added “Master” level–same as “Pro” but with 60 second time limit.
2. Added a score board on exit.
3. Fixed a memory(stack) leak.
4. Built for 8K Apple 1.

To Load/Run: