Using the Apple-1 Software Defined Computer
This is a picture I took of the Apple 1 computer at the Computer History Museum in Palo Alto, California. The Apple 1 was the first computer from the Apple Computer Company, designed by Steve Wozniak in 1975-1976. Not many real Apple 1 computers exist, but various replicas have been produced of it, such as the Mimeo 1 by Mike Willegal, and the Replica 1 by Vince Briel. The L-Star project started out as a way to replicate the Apple 1 with the lowest possible number of chips, so it should be no surprise that this was the first Software Defined Computer firmware that was developed for L-Star.
This page assumes that you already have an L-Star set up, with a power supply and a Prop Plug. If not, check out the Build Section of the website. You also need the latest release of the firmware, unzipped to your hard disk. And of course you need a power supply and a Prop Plug. A video display and a PS/2 keyboard are optional.
I used the Propeller Tool from Parallax to write the firmware. You can also use Propeller IDE or Simple IDE which are available for Windows as well as other operating systems.
Open the Apple1.spin file from the Software\Apple1 folder in the tool of your choice.
In Propeller Tool, you will want to set the Apple1.spin file as Top Object File.
After you do this, you can build the entire project and download it to the EEPROM by hitting Ctrl+F11.
Make sure your jumpers are configured as shown in the picture:
Now you can hit F12 in the Propeller Tool to activate the included Propeller Terminal program. Make sure it’s set to 115200 bps, connected to the correct COM port (if you’re not sure which one, hit F7 in the Propeller Tool and it will test all COM ports for Propellers) and Enabled (it automatically disables itself when the window loses focus). Other terminal programs such as TeraTerm will also work.
When you push the RESET button to reset the Propeller, you will see this:
If you don’t see the “\” at the end, push the RESET6502 button on the board and it should show up. That’s Woz Mon saying “Hello”. You’re now ready to begin!
The original Apple 1 didn’t have hardly anything on board to make it useful. All it had was the bare minimum: a small program written by Steve Wozniak, called Woz Mon. It was made to fit in the 256 bytes of PROM that the Apple 1 had, and it could only do the bare essentials:
- Show the contents of memory on the screen, in hexadecimal
- Modify the memory with the keyboard, also in hexadecimal
- Execute a program in memory
For more information about how to use Woz Mon, see for example:
- San Bergmans’ page about Woz Mon
- Jeff Tranter’s page about Woz Mon
- The Replica 1 zip file on Vince Briel’s Download Page
The ROM image that’s used on the L-Star has a few more features besides Woz Mon. Actually, the ROM image was based on the Briel Computers Replica 1. The following sections describe a few other “tricks” L-Star can do thanks to the work of Vince Briel, Ken Wessen and others.
Woz wrote a BASIC interpreter for the Apple 1 which is commonly referred to as Integer Basic. It couldn’t do floating point and it has some other limitations (for example, you can’t make multi-dimensional arrays) and weird quirks (for example if your program doesn’t have an END instruction, it will generate an error). Nevertheless it’s quite usable, as long as you don’t expect to see any graphics: after all, the only cursor manipulation that the Apple 1 can do is the carriage return/line feed, like a paper terminal.
Ken Wessen’s “Krusader”
Loading and Saving Software
Using a Video Monitor and Keyboard
More Memory Space with the SRAM Chip
(This page is under construction; I hope to finish it in the next few days // JG 2018-03-31)