The System Manual of SOL-20 - History of Computers
The System Manual of SOL-20 - History of Computers
The System Manual of SOL-20 - History of Computers
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
PROCESSOR TECHNOLOGY CORPORATION<br />
Sol THEORY OF OPERATION<br />
SECTION VIII<br />
supplied by the Encoding ROM, with the data being determined by inputs<br />
from the Column Scanner and Function Latch Decoder. This<br />
strobe (Data Out) also enables the Strobe Generator to output !STROBE<br />
a 6 usec pulse that signals the Sol CPU that the Keyboard is ready to<br />
send data.<br />
Eight bits <strong>of</strong> keyboard data (KBD0 through KBD7) are stored in<br />
the Output Latch. KBD0 through KBD6 represent the ASCII code for the<br />
character associated with the key closure, or closures, that initiated<br />
the Data Out strobe from the Sequence Detector. KBD7 is used<br />
only for special control characters (e.g. MODE SELECT, CLEAR and cursor<br />
movement) that are recognized by the Sol program. <strong>The</strong> data on<br />
KBD0-7 is input to the Sol CPU when it issues !PORT_IN_FC (refer to<br />
Paragraph 8.5.2 on Page VIII-14).<br />
<strong>The</strong> Repeat Counter is enabled when the REPEAT key and a character<br />
key in the Key Switch Capacitive Matrix are pressed at the same<br />
time. When this occurs, Key Out (initiated by the character key closure)<br />
is active, and the Repeat Counter generates a periodic Repeat<br />
Strobe. This strobe disables the Sequence Detector and causes the<br />
Strobe Generator to output repetitive !STROBE pulses. Column 30 also<br />
prevents the Sequence Detector from strobing additional data into the<br />
Output Latch.<br />
<strong>The</strong> Function Latch and Decoder latches and decodes the Low<br />
Order Count from the Row Scanner when the "function key" column in<br />
the Switch Matrix is selected by the Column Scanner. It then outputs,<br />
as appropriate, !LOCAL, !RST and !BRK to J1 and SHIFT/SHIFT_LOCK, UPPER_<br />
CASE and CONTROL bits to the Encoding ROM. <strong>The</strong> latter three supply<br />
three <strong>of</strong> the seven address bits to the ROM which specify the high<br />
order four KBD bits (KBD4-7).<br />
All keyboard outputs are supplied to J1 which is connected<br />
to J3 on the Sol-PC.<br />
8.6.2 Circuit Description<br />
Refer to the Keyboard schematic in Section X, Page X-23.<br />
Keyboard operation is controlled by a 3 usec clock circuit<br />
consisting <strong>of</strong> NAND gate U7, R7 and C7. U7 is connected as a Schmitt<br />
trigger inverter with negative feedback through R7 and C7. <strong>The</strong> output<br />
on pin 11 <strong>of</strong> U7, a square wave with a 3 usec period, is inverted<br />
in U4 (a NAND gate connected as a simple inverter) and applied to the<br />
clock input (pin 11) <strong>of</strong> U8. U8 operates in a toggle mode by virtue<br />
<strong>of</strong> feeding its !Q output on pin 8 to the D input on pin 12. Thus, its<br />
output state changes on each clock to produce a 6 usec and an inverted<br />
6 usec clock on pins 9 and 8 respectively.<br />
Each <strong>of</strong> these outputs is connected to a section <strong>of</strong> U7 where<br />
each is AND'ed with the 3 usec clock. This generates two negative<br />
going clocks at pins 8 and 6 <strong>of</strong> U7. <strong>The</strong>se outputs are called !φ1 and<br />
VIII-39