Chromatix wrote:
The [Apple 1] keyboard and display hardware are both interfaced to the CPU bus through a 6820 PIA...
The Apple 1 display is a little weird in that it is essentially a glass TTY; as far as I know it supports only a 6-bit version of ASCII plus carriage-return.
Right; the one control character is CR, which fills spaces to the end of the current line and, if that was the last line on the screen scrolls the screen up a line, filling new the line with spaces. The cursor is then left at the start of the new line.
I have a few more details in the
Video section of my Apple 1 documentation, along with a link to a video of a real Apple 1 that confirms the behaviour, and links to a couple of emulators that are consistent with that (and one that is not). As documented there, the character output translation is:
Code:
$00-$1F Print nothing (excepting $0D)
$0D (CR) Moves to the beginning of the next line.
$20-$5F (space through underbar) prints given char
$60-$7F (lower-case etc.) prints same as $40-$5F
($7F is not treated as a control character)
I have also documented
the character ROM details, with links to the data sheet and ROM dumps, and notes on how the dumps differ from the actual ROM contents.
I ended up documenting this carefully because tebl's RC6502-Apple-1-Replica, which uses an Arduino Nano to emulate the keyboard and display over a serial line,
doesn't properly emulate the real behaviour.
________________________________
mvk wrote:
Atari 2600 programmers had it easy with their TIA chip. It took care of an entire scan line while their software could do something else.
Well, my understanding is that it's not quite that simple. You have to make sure you're ready to update the TIA registers during the horizontal retrace interval between the end of displaying the current scan line and the start of display of the next, which usually means you're going to trigger the "wait for end of scanline" function at some point before the end and can do nothing during that time. And many games (such as
Space Invaders) spent their time during the scan line changing the TIA registers to get more "players" on the screen.
But sure, still easier and more flexible than having to program the CPU to clock the bits out yourself. I look forward to your redesign of the Gigatron to be as advanced as the Atari 2600, albeit more than 40 years late. :-)