|   |
![]() |
|||||||||
Home |
You have this great idea of writing a wonderful program for the Apple 1! What tools can you use to make your dream come true? Here's a list of some of the available tools. This list is by no means complete, but hopefully you'll find what you need here. If not you can always google around to find more tools.
To start with I would like you to consider the way the Woz himself wrote his programs for the Apple 1, by hand assembling his code.
All you need is the programming manual for the 6502 and the WOZ Monitor.
You can assemble this small program to just about any memory location you like using the A1-Assembler (or the compatible SB-Assembler). You start this program by typing the following command to the WOZ Monitor prompt: 280Rorigin.destination After which the branch offset is printed. If you don't enter the origin and destination correctly, nothing will be printed and you'll return to the WOZ Monitor prompt. If the branch offset doesn't fit in one byte you'll get a range error indication in the form of a > symbol. 280R100.133 0280: A9 =31 \ The source listing of this small program is part of the A1-Assembler download package.
There's another way with which you don't need any extra hardware or software. Most applications can be conveniently programmed in Basic. Basic is especially useful if you want to get fast results. I don't mean that Basic programs run faster than assembly programs, but program development will certainly be faster in Basic. I have dedicated a separate chapter to the Apple 1 Basic.
If you want to create your programs in Assembly there are plenty of options. If you prefer to use the Apple 1 stand-alone you even have the choice between two assemblers! Otherwise there is a virtually unlimited supply of cross assemblers available for the PC or MAC. The Krusader Here's the first assembler which runs on the Apple 1 (credit given where credit's due, Ken was first). Ken Wessen from down under wrote it, and by the time of this writing he has just released version 1.2 which has some very interesting new debugging features. Ken's assembler has very modest memory requirements and can co-exist with the WOZ Monitor in the same 4k memory block. Replica 1 and A-One users have this assembler available in ROM (F000R). A1-Assembler
And this is the second assembler which runs on the Apple 1.
I wrote this assembler myself.
My intention was to write an assembler for the Apple 1 which was reasonably compatible with the PC versions of my SB-Assembler.
A-One users are in luck because the A1-Assembler comes in ROM on that computer (9000R).
Others may load the assembler, which requires 4k of memory, in RAM.
I have dedicated a separate chapter for the A1-Assembler. SB-Assembler
A more convinient way to create your programs is by writing them on a PC or MAC.
Years ago I wrote my own cross assembler for the PC called the SB-Assembler.
You can freely download and use it if you like.
If you know the SB-Assembler already you will need little time to switch to the A1-Assembler.
For instance I wrote the A1-Assembler using my SB-Assembler.
I used the POM 1 emulator to test the software.
Once the software is ready to run on real hardware you can transfer the generated code somehow.
You can read more about the SB-Assembler elsewhere on this site.
I have presented you with some tools which I am familiar with.
Obviously that is not all there is out there.
Apart from my own SB-Assembler there are many other cross assemblers and cross compilers out there which run on a PC or MAC and can create 6502 code.
If you know of another useful addition to this page you can always send me an email. |