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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
PROCESSOR TECHNOLOGY CORPORATION<br />
Sol THEORY OF OPERATION<br />
SECTION VIII<br />
Output data from the CPU that is channeled through the Parallel<br />
Port (PP) is latched from the Bidirectional Data Bus by the parallel<br />
strobe from the Address Page and I/O Port Decoder. This data<br />
is made available at P2, the PP connector. Parallel input data<br />
(PID0-7) on P2, however, is fed directly to the Data Input Multiplexer<br />
for entry into the CPU.<br />
As can be seen, keyboard data (KBD0-7) from J3 is also fed<br />
directly to the Data Input Multiplexer. <strong>The</strong> keyboard data ready<br />
flag, though, is input to the CPU on the internal data bus.<br />
<strong>The</strong> remaining internal source <strong>of</strong> data input to the CPU is<br />
the Sense Switch Logic, with the data being input on the Bidirectional<br />
Data Bus. This is an eight-switch Dual Inline Package (DIP)<br />
array that lets the CPU read an eight-bit word when it issues the<br />
sense switch strobe via the Address Page and I/O Port Decoder. <strong>The</strong><br />
sense switch data source is available to interact with the user's<br />
s<strong>of</strong>tware.<br />
CPU Support Logic accepts six control outputs from the CPU,<br />
status information from the CPU's data bus and control signals from<br />
the Control Bus. It controls traffic on the data buses by generating<br />
signals to 1) select the type <strong>of</strong> internal or external device<br />
(memory or I/O) that will have bus access and 2) assure that the device<br />
properly transfers data with the CPU.<br />
8.3.2 Typical <strong>System</strong> Operation<br />
Basic Sol system operation is as follows: <strong>The</strong> CPU fetches<br />
an instruction and in accordance with that instruction issues an<br />
activity command on the Control Bus, outputs a binary code on the<br />
Address Bus to identify the memory location or I/O device that is to<br />
be involved in the activity, sends or receives data on the data bus<br />
with the selected memory location or I/O device, and upon completion<br />
<strong>of</strong> the activity issues the next activity command.<br />
Let's now look at some typical operating sequences.<br />
Keyboard Data Entry and Display. Assume the "A" and SHIFT<br />
keys on the keyboard are pressed. <strong>The</strong> keyboard circuitry converts<br />
the key closures into the 7-bit ASCII (American Standard Code for<br />
Information Interchange) code for an "A" {1000001) and sends a keyboard-data-ready<br />
status signal to the CPU on the Internal Data Bus.<br />
<strong>The</strong> monitor program in ROM repetitively "looks" for the status<br />
signal. When it finds this signal the program enters its keyboard<br />
routine and enables the transfer by switching the Data Input Multiplexer<br />
to the keyboard bus via the Address Page and I/O Port Decoder.<br />
Following program instructions, the CPU addresses the Display<br />
RAM on the Address Bus to determine where the next character is to<br />
appear on the screen. It then stores the ASCII code for the "A" at<br />
the appropriate location in the Display RAM and adds one to the cursor<br />
position in readiness for the next character. (Addressing is<br />
VIII-5