Hi Garth!
GARTHWILSON wrote:
Welcome.
What does this get connected to?
In a real Apple I it's part of the connection between the "CPU" area of the motherboard and the "Terminal" area of the motherboard; this signal, specifically, goes to a 74174 chip that is part of a (to me!) extremely complex circuit that is purported to mange carriage returns. Theoretically, for the RC6502, it goes to an Arduino Nano that operates as a terminal emulator. I am not planning to involve the Arduino in my build, however.
There's a pin-header for all the terminal signals so that you can (e.g.) hook up a real Apple I keyboard or replica of such if you happen to have one.
GARTHWILSON wrote:
You won't find any electrolytic capacitors (or any other polarized types either for that matter) in 10nF (.01µF). I suspect whoever drew it got lazy and just grabbed that library component instead of looking for the right one. Even if it really were polarized, it suggests that the inverter's output would never be high when PB7 is low.
OK that makes some sense! Thanks!
I found this explanation at
SB-Projects:
Quote:
Acknowledge Circuit
The clipping above shows the acknowledge circuitry. Its purpose is to signal the acceptance of the character by the terminal to the software. You won't find the circuit as it is drawn here in the original documentation. The left half of it is on the processor sheet, while the right half is on the terminal sheet. Both halves are interconnected by the signals DA and RDA.
Writing a character to the PIA's terminal output automatically clears the output CB2. This will make PB7 high, signaling to the software that it is no longer allowed to write new data to the output. Once this signal is clocked into C7 it is combined with the CURSOR signal. This combined signal is then also combined with the 2 most significant bits of the printed ASCII character. Only when at least one of these two bits is "1" AND the CURS signal is "1" the WRITE signal is asserted. This prevents CTRL characters from being written to the screen, which would be meaningless because the character ROM can not display CTRL characters.
When the CURS signal becomes active the one shot generator B3 is triggered to generate a 3.5µs pulse to the CB1 input of the PIA, which will effectively clear the status of CB2. From then on the software is free to write a new character to the terminal again.
leepivonka wrote:
PB7 is programmed to be an input by WozMon. It is high when data is available for the terminal.
CB2 is programmed to be a handshaking line by WozMon. It is low after PB is written, high after CB1 goes low.
The capacitor is intended to keep the output from hanging forever if the CB1 ack doesn't come; but I haven't found the pulldown on OUT_DA yet.
This clears up my confusion about tying the lines together... I was imagining PB7 to be an output pin, because of how the RC6502 schematic is drawn - confusingly! It is in fact the CB2 output that feeds both the PB7 input *and* is the OUT_DA signal. Woof! Thanks for pointing me in the right direction, guys!