Hello, everyone. I have been a fan of vintage computing for some time. However, I only recently become interested in the Apple 1 computer.
I have just built one of Vince Briel's Replica 1 computers, and I would love to learn how to program with it. I have already made some simple Integer Basic programs. However, I would like to learn how to program the computer by using the Woz Monitor. I find its ability to directly examine and modify memory locations fascinating, and I feel that learning how to program with it would give me a better understanding of the computer.
Is there a good tutorial for the Woz Monitor? I have searched the internet, but I have not found one. Any help would be greatly appreciated. :mac:
Programming with the Woz Monitor
March 14, 2012 - 11:01pm
#1
Programming with the Woz Monitor
The Apple 1 operations manual covers the original monitor in detail and is downloadable from here:
http://www.applefritter.com/taxonomy/term/229,142
Note that the TEST PROGRAM on page 2 covers the main features of the original Apple 1 monitor. That is examining memory, modifying memory, and running a program. The original monitor really doesn't do anything else.
I prefer developing Apple 1 and Apple 2 programs using a Mac with cross development tools and debug in an emulator. Virtual II has an excellent debug facility called the inspector. For Apple 1 work, I use the Wozanium ROM image that I have made available. Once things seem to be working in emulation, I'll move to a real Apple for final checkout. There is an easy way to move to real hardware, without buying special cards or adapters. This is to save the program to a "virtual" cassette tape, rename the file suffix to AIF, move the audio file to an Ipad using itunes. Then you can load through the cassette interface on the real Apple. You could also dump through a serial port using monitor commands, but I find the cassette interface is faster than the Apple 1 monitor because of the slow console display speed.
Regards,
Mike Willegal
I would also add to Mike's comments that Tom Owad's "Back to the Garage" book is also a good place to start also, especially if you have a Replica-1. He covers 6502 assembly language, that combined with the Apple-1 Operations Manual that Mike talks about above should get you going...
Cheers,
Corey
Don't forget the assembler built in to the Replica 1 ROM (and there are two in the A-ONE). BASIC or Woz Monitor are not the only options - though they are the only historically authentic ones. Assembly is not high level - it is just a symbolism around machine code. Memorising op codes doesn't sound that attractive to me.
With the latest version you can use monitor commands directly from the Assembler shell as well as in the mini-monitor. See the manual here for details and a couple of sample programs: http://school.anhb.uwa.edu.au/personalpages/kwessen/apple1/krusader13.pdf (Note this website is about to move)
Ken
Thank you, everyone, for your suggestions. I will consider purchasing a copy of "Back to the Garage." I will also practice with the Replica 1's built-in assembler.
I have one more question: I have read in another post that "Back to the Garage" may soon be available for free online. Is this true, or should I purchase the book itself?
I started a Wikibook on 6502 Assembly that you may find a useful reference. I based a lot of the information off of the Apple I Replica Creation book. You can find it at http://en.wikibooks.org/wiki/6502_Assembly
You may also want to use my Pom1 Apple 1 Emulator to test your code. You can find it at http://pom1.sourceforge.net/
In reference to anarkavre's post, you can also try another version of Pom1 (Java Enhanced). http://school.anhb.uwa.edu.au/personalpages/kwessen/apple1/Krusader.htm
For “Pom1 Java Enhanced” you must have Java installed (yes I know... duh). https://www.java.com/en/
Description:
"Emulator - a modified version of the Pom 1 emulator for the Apple 1, that correctly runs the assembler, and has a few EXTRA FEATURES, such as PASTING TEXT and the ability to optionally emulate the 65C02 found in the Replica 1."
The version integrated with the Krusader Toolkit available on that same page is even more functional - especially if you are using it to assist assembly programming since there's a source code editor and the ability to transfer automatically between the emulator and the editor (and also the Replica via serial).
Ken
I've been using ca65 to cross-assemble all my Apple-1 programs. I also have a patch for cc65 2.13.2 if you want to write in C for your Apple-1. cc65 includes ca65 and is available on all platforms.
For testing I have switched to OpenEmulator. However it is OS/X only. I also have used all the emulators listed above. You have options.
I created a tool called c2t that will convert your cross-assembled Apple-1 or II code to audio tape format or monitor format. Monitor format can be easily pasted into emulators. c2t can be downloaded from http://asciiexpress.net/files.
Good luck.
P.S. I forgot to add that you can get some great used 6502 books from Amazon for about $5.
I was surfing and found this link: https://www.scribd.com/doc/55339847/Compute-s-Machine-Language-for-Beginners
You might find it useful. I really don't know for sure. It's worth checking out IMO.