Archive for February, 2012

A Common Apple 1 Emulation Bug

February 19, 2012 Leave a comment

Recently I was bringing up an Apple 1 and I did the first thing I always do to do an initial checkout, which is run the Test Program from the Apple-1 Operation Manual. This is a very simple program that runs a loop that counts from 0x00 to 0xFF and prints each byte as an ASCII character. Here is the program:

0000 LDA #0
0002 TAX
0006 INX
0007 TXA
0008 JMP $0002

This time when I brought up the Apple 1 I saw the following output:

The last time I had run this program, I had run it on an emulator and seen the following:

Remembering how the output looked I thought there was a problem with my Apple 1. After further investigation I found the answer in the Apple 1 schematics.

It turns out that character output is tied to RD6 or RD7. This was overlooked in every Apple 1 emulator that I have looked at.

Categories: Apple 1, Emulator