Programming with the Woz Monitor

9 replies [Last post]
Offline
Joined: Mar 14 2012
Posts: 14

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

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Offline
Joined: Jun 5 2008
Posts: 382
Re: 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

Offline
Joined: Oct 9 2011
Posts: 1063
Re: Programming with the Woz Monitor

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

Offline
Joined: Jun 23 2005
Posts: 48
Re: Programming with the Woz Monitor

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

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

Offline
Joined: Mar 14 2012
Posts: 14
Re: Programming with the Woz Monitor

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?

anarkavre's picture
Offline
Joined: Oct 18 2005
Posts: 59
Re: Programming with the Woz Monitor

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/

Offline
Joined: Jan 27 2012
Posts: 37
Re: Programming with the Woz Monitor

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

Offline
Joined: Jun 23 2005
Posts: 48
Re: Programming with the Woz Monitor

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

Offline
Joined: Sep 13 2011
Posts: 17
Re: Programming with the Woz Monitor

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.

Offline
Joined: Jan 27 2012
Posts: 37
Re: Programming with the Woz Monitor

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.