A Common Apple 1 Emulation Bug
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 0×00 to 0xFF and prints each byte as an ASCII character. Here is the program:
0000 LDA #0
0003 JSR ECHO
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.