CA1139003A - Video processing logic - Google Patents
Video processing logicInfo
- Publication number
- CA1139003A CA1139003A CA000383080A CA383080A CA1139003A CA 1139003 A CA1139003 A CA 1139003A CA 000383080 A CA000383080 A CA 000383080A CA 383080 A CA383080 A CA 383080A CA 1139003 A CA1139003 A CA 1139003A
- Authority
- CA
- Canada
- Prior art keywords
- signal
- pin
- data
- cpu
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
COMPUTER
Abstract of the Disclosure The computer system of this invention has, as the heart of the system, a simple processing unit for providing most data processing by the computer system under control of a read-only memory which contains only instructions and other data for the CPU. The system also includes a random access memory, a keyboard, a video terminal, and a port device is the form of a tape recorder/player. A master clock initiates timing used throughout the system. A multi-line data bus interconnects the CPU and the different memories of the system including the keyboard and the video RAM. Bi-directional communication is possible on the data bus. The addressing of these different memories is by way of an address bus from the CPU, which is a uni-directional bus. Data to be operated upon is basically stored in the random access memory. The keyboard is used for inputting data to the CPU and the video terminal is used for displaying data. Features of the present invention include a special reset scheme for the CPU, a multiplexing scheme for addressing the RAM, and a technique is for simply altering the control to provide capabilities of different capacity memories a alternate display of characters to provide, for example, either a 32-character line or a 64-character line, an improved keyboard selection scheme, and improved video processing means.
Abstract of the Disclosure The computer system of this invention has, as the heart of the system, a simple processing unit for providing most data processing by the computer system under control of a read-only memory which contains only instructions and other data for the CPU. The system also includes a random access memory, a keyboard, a video terminal, and a port device is the form of a tape recorder/player. A master clock initiates timing used throughout the system. A multi-line data bus interconnects the CPU and the different memories of the system including the keyboard and the video RAM. Bi-directional communication is possible on the data bus. The addressing of these different memories is by way of an address bus from the CPU, which is a uni-directional bus. Data to be operated upon is basically stored in the random access memory. The keyboard is used for inputting data to the CPU and the video terminal is used for displaying data. Features of the present invention include a special reset scheme for the CPU, a multiplexing scheme for addressing the RAM, and a technique is for simply altering the control to provide capabilities of different capacity memories a alternate display of characters to provide, for example, either a 32-character line or a 64-character line, an improved keyboard selection scheme, and improved video processing means.
Description
1'12 ~ ~3~ D3 1 Background and Summary of the Invent_on
2 The present invention relates in general to a computer
3 system and pertains more particularly to a system that is con-
4 structed quite inexpensively employing on the order of 80 : 5 integrated circuits and having the capability of communicatin~
6 with a number of port devices.
7 One object of the present invention is to provide an 8 improved computer system having manual reset means for control-9 ling the central processing unit.
Another object of the present invention is to provide an 11 improved addressing scheme for the random access memory of the 12 system.
13 A further object of the present invention is to provide a 14 computer system that has the capability of a video output that may be either alpha numeric or graphic.
16 Still another object of the present invention is to provide 17 a computer system having a video output for providing different 18 size characters. In accordance with the present invention the 19 output can be controlled so as to display either 32 characters per line or 64 characters per line.
21 Another object of the present invention is to provide an 22 improved computer system for providing a chain control of the 23 video RAMs or alternatively control directly from the data bus 24 of the CPU.
Another object of the present invention is to provide a 26 computer system having the capability of graphic display. In 27 accordance with the invention, the display field is demarcated 28 into rectangular segments with each segment in turn sectioned ~.
L3~W3 into, for example, 6 parts which are individually selectable by data bus information.
Still another object of the present invention is to provide an improved computer system having a novel keyboard entry scheme.
A further object of the present invention is to provide an improved computer system having a novel port control particularly useful with a port device such as a ;
tape recorder/player.
To accomplish the foregoing and other objects of this invention, there is provided a computer system including a central processing unit, means for storing instructions for the central processing unit disclosed as a read-only memory (ROM), random access memory means for storing data, key-board means for entering data into the computer system, and display means disclosed in the form of a conventional CRT
television display. Connections from the central processing unit, (CPU) include control lines, a plurality of data lines, forming a data bus and a plurality of address lines, forming an address bus. The data lines are bi-directional whereas the address lines are uni-directional. The CPU
interrogates other components of the computer system by way of the address bus to indicate where the data it is looking for is located. The data bus is the means of communication for data both to and from the CPU. The ROM contains the instruc-tions for the CPU indicating to the CPU what to do, how to carry out the instruction, and where to put the data after the instruction is completed. The CPU essentially looks to the ROM for instructions and then follows the instructions of the ROM. In all communications, the CP~ applies address loc-ations to both -the ROM, RAM, and keyboard. However, address decoding determines /12 ` ~ ~39~
1 which of these actual memories the CPU is lookin~ for. In the 2 system o~ this invention only the CPU communicates with all other 3 sections. For example, data is to be transferred from the RO~I
4 into the RA~3, the transfer is accomplished by way of the CPU.
The keyboard means enables entry of instructions and data to the 6 CPU. The system of this invention also includes a video random 7 accesS memory (video RAM) which couples to a video processing 8 section which in turn couples to a video output terminal or g monitor such as a television receiver. Data in the video RAM is 1~ automatically displayed on the monitor.
11 In accordance with one feature of the present invention, 12 there is provided a reset switch which is operable by the operator 13 of the computer system to reset the system by forcing the CP~ to 14 a known address. This reset switch resets the microprocesser when it is lost. At power-up the microprocesser (CPU) is reset 16 with instructions being initiated from the ROM starting at an 17 initial address. If at a later time the CPU becomes lost for 18 any reason in accordance with this invention there is provided 19 a reset switch for resetting the CPU starting with execution of instructions from a predetermined address in the ROM. In the 21 disclosed embodiment, this predetermined address is ~66. The 22 reset switch lS operable at the conventional interrupt input 23 to the microprocesser. The reset switch preferably has an R-C
24 circuit associated therewith which is charged when the reset switch is released to permit the CPU to continue operation.
26 In accordance with another feature of the present invention, 27 there is provided a means for readily selecting different 28 capacity memories especially with regard to the random access lZ
1 memory of the computer system. In this regard the system of 2 the present invention employs an address decoder for ROM/RAM
3 selection. The address decoder is responsive to an address code 4 from the central processing unit for providing separate outputs, some of which at least correspond to different coded inputs 6 representative of different capacity memories. At the output of 7 the address decoder, there is a selection means for selecting 8 different outputs from the address decoder to provide a memory 9 enable signal. The address decoder in accordance with the present invention preferably decodes the higher order address lines, 11 specifically four such lines, with the output of the decoder 12 providing up to 8 output signals, only one of which at a time is 13 active. The selection means preferably includes a selection shunt 14 means having input terminals coupling to the address decoder and with some of its output terminals commonly tied to provide the 16 memory enable signal. One section of the shunt preferably 17 contains 4 shorting bars~ commonly tied at their output terminals.
18 For a 4K memory capacity, one bar is shorted, for 8K, two hars 19 are shorted, for 12K, three bars are shorted, and for 16K, all four bars are shorted. In the disclosed embodiment this means 21 that the enabling signal for the random access memory is acti~e 22 all the way from address 4~ to addr~ss FFFF.
23 In accordance with another feature of the present invention 24 the random access memory uses a multiplexing scheme to input two partlal addresses into the memory which together define one 2u particular storage address. The internal logic in the RAM
27 interprets two parts of the address code to provide one address 28 typically with a total of 14 bits. One portion of the address .. . . . _ . _ _ _ 12 ` 1~39~3 1 is defined as a row address select while the other portion is 2 defined as a column address select with a multiplexing signal 3 being defined between these two address selections. Preferably 4 there is also provided a selection means associated with the addressing of the RAMs which may be in the form of a shunt for 6 directing different signals to the input enable for the memories.
7 For a smaller capacity memory such as a 4K memory, a memory enable 8 signal is always present, however, for a larger capacity memory 9 such as a 16K memory, the shunt is selected under control of the multiplexing signal to provide different address line signals 11 to the enable input of the memory. In this way the RAMs can 12 easily be operated at different memory capacities depending upon 13 the capacity desired.
14 In accordance with another feature of the present invention the computer system has the capability of changing the format 16 of characters on the display to, for example, either 64 characters 17 per line or 32 characters per line. In the disclosed embodiment, 18 the display has 16 character lines and thus for a line containing 19 64 characters, there are thus 1024 character locations in the video RAM that are to be accessed. In the alternate format, the 21 characters appear twice as large with 32 characters per line and 22 thus there are only 512 video RAM locations that are to be accessed.
23 The system includes a video RA~I for the storage of character codes 24 preferably in an ASCII code which may be interpreted as either an alpha numeric character or a graphic symbol in accordance with 26 another feature of the present invention. The video RAM is 27 addressed to take one code at a time from storage to a latch ~hich 28 in turn couples to a character generator for receiving the 6.
character code. The character generator decG~es the input code and in accordance with a scan line count, generates dot signals stored in a shift register to be shifted out, one dot at a time for forming one line of a number of lines forming the charact~r. The data is shifted out of the shift register by means of a clock signal referred to herein as a shift signal. ~his signal is controlled in at least two different manners for providing different video signals. In the disclosed embodiment the control is provided so as to give a format of either 32 characters per line or 64 characters per line. In accordan-ce with the invention there is a basic clock signal which generates the shift signal. For the 32-character format, the shift signal is at one half the clock frequency whereas for the 64-character format the shift sig-nal is at the clock frequency.
In accordance with another feature of the invention, the computer system provides for two different types of for-mats, including an alpha numeric format and a graphic format.
Although there are two different formats, the same basic data stored in the video memory is used for the generation of both formats. In this regard, there is thus provided in the system a video code storage means which also includes stor-age of preferably one bit of information for determining whether the final format is alpha numeric or graphic. This system also includes a character generator means for receiving the video codes, one code at a time, and a graphic generator means which al~o receives the video codes, one code at a time.
Preferably, there is a common latch circuit which has its output couple in common to both the character generator means and the graphic generator. Also, preferably at -~ --",.,,~
/71Z ~3~ 3 1 the outp~t of these generators there are provided shift registers, 2 one for each ~enerator means. The shift registers convert the 3 ~ot patterns from the generator means into a serial signal. This signal is coupled to the output video mixing circuit. Finally, in accordance with this feature, the system includes a means 6 responsive to the state of the video format type signal for 7 enabling either the character generator or the graphic generator.
8 This latter means preferably comprises a gate means responsive to 9 the state of certain bits ~orming each vldeo code.
In accordance with still another feature of the present inven-11 tion, there is provided the capability in accordance with the 12 computer system of this invention of interpreting codes stored 13 in a video memory either as a graphic display or as an alpha 14 numeric display. In accordance with the alpha numeric display, as previously mention, there are 1024 character locations, with 16 each location being defined by a 12 x 6 rectangle in accordance 17 with the graphic display of the present inven-tion, this rectangle, 18 rather than being formed into a character is subdivided into a 19 plurality of smaller rectangles such as six smaller rectangles to provide a basic graphic cell. This cell is the smallest area 21 of graphic information that can be selectively displayed on the 22 screen. Each cell is four scan lines high and three dots wide 23 in the disclosed embodiment. Thus, in accordance with this feature 24 of the invention there is provided a video code storage means for storing a plurality of codes with one code at a time being 26 presented to a graphic cell generating means. A vertical address 27 is provided preferably in the form of two bits also coupled to 28 the graphic generating means. The graphic generator is responsive .. .. . , ~
/712 ~ G~
1 to both the vertical address and the video code for providing 2 separately formed cells over the graphic area. This graphic 3 generator is preferably in the form of a selector circuit 4 responsive to both the vertical address and the state of certain bits defining the video code ~or determining the state of the 6 cells in a horizontal direction.
7 In accordance with another important feature of the present 8 invention there is provided an improved keyboard-scheme, Gne tha~
9 is relatively simple in construction and which is readily adapted to a simplified software scheme. In accordance-with this feature, 11 the keyboard comprises a plurality of keys arranged in a matrix 12 having input lines depicted as horizontal lines formed in a first 13 group, and output lines disclosed as vertical lines in a second 14 group. The address lines coupl~ from the central processsing unit, couple respectively to the input lines of the first group while 16 the output lines tie to the data bus which also communicates with 17 the central processing unit. The matrix is arranged so that when 18 a switch is closed, there is essentially a connection between a l9 horizontal common line and a vertical common line. l~hen the keyboard enabling signal ~rom the CPU is provided, essentially at 21 the same time the address lines are all brought to a like state, 22 such as a high state. If the output signal is detected on one 23 of the data lines, this indicates to the central processing unit 24 that there has been a key pressed on the keyboard. The central processing unit is essentially always in readiness for a keyboard 26 detection when in the keyboard enable mode. Once the central 27 processing unit makes this detection, then under control of the 28 ROM, the address lines are scanne~ one-by-one until the proper data line has been detected. In this way, a first detection on a data line represents one vertical location on the keyboard matrix while a detection at a later time identifies the horizontal position on the matrix~ thus identifying one and only one key. After identifying the output, the ROM instructs the CPU to generate the ~SCII code for that particular key.
Another feature of the present invention is the provision for an output/input port device which is preferably in the form of a tape recorder/player. I'he tape recorder is operable as both an input and output port device. In the output mode there is a recording of data on the tape. In this connection, the signals on the data line also control the motor of the recorder. In the input mode data is trans-ferred from the tape recorder to the central processing unit.
In accordance with this feature of the invention the data lines which may comprise six separate lines couple to the recorder and may be provided in two groups. In the preferred embodiment, in the input mode data is taken from the recorder onto a single data line. In the output mode in the dlsclosed embodiment there are four input data lines, one of which pro-vides the mode select signal, another of which controls the motor and the two remaining ones of which are used to provide signals for recording data on the recorder tape.
In accordance with a particular embodiment of the invention, a computer system having a central processing unit, means for storing instructions, a random access memory, keyboard means and display means, a manual reset switch, and means coupling the reset switch to the interrupt input of the central processing unit.
Description of the Drawinqs Numerous other objects, features and advantages of ~L~35~(~3 the invention should now become apparent upon a reading of the following detailed description taken in conjunction with the accompanying drawings, in which:
- lOa ~
1 FIG. 1 is a block diagram of the computer system of the 2 present invention;
3 . . FIG. 2 shows a memory map in accordance with this invention;
4 FIG. 3 is a table of addresses -Eor identi-fying the different memory devices of the system;
6 FIG. .4 is a waveform chart associated with circuitry in 7 FIG. 14A;
8 FIG. 5 is a timing diagram associated with the video g processing section of the system;
FIG. 6 is a block diagram showing representative frequencies 11 in.~e video divider chain;
12 FIG. 7 schematically depicts a graphic cell arrangement from 13 the graphic generator portion of the system;
14 FIG. 8 is a timing diagram associated with the video process-ing section showing sync mixing;
16 FIG. 9A is a simplified schematic diag~am of a portion of 17 the video mixing circuit depicted in detail in FIG. 13C;
18 FIG. 9B shows a composite video output signal;
19 FIG. 10 shol~s a waveform for the tape recorder output signal associated with the logic circuitry shown in FIG. 13B;
21 FIG. 11 shows audio processing waveforms also associated 22 with the circuitry of FIG. 13B;
23 FIG. 12 is a timin~ diagram also associated with the port ,24 device shown in FIG. 13D;
FIGS. 13A-13D show in detail one portion of the system of 26 the present invention;
27 FIGS. 14A and 14B show in detail most of the other portion of 28 a detailed system of this invention;
~39~ 3 1 FIG. 15 shows the keyboard rnatrix of this system; and 2 FIG. 16 shows a portion o further detail of the switch 3 arrangement of the keyboard of FIG. 15.
lg 2~
nd ~ ~ 3 1 Detailed Description 2 FIG. 1 is a system block diagram of the c~mputer of this 3 invention. The overall computer may comprise on the order of 4 80 integrated circuits or separate chips, however, the system is basically broken down into the primary components shown in FIG.
6 1. In FIG. 1 these different sections comprising the computer 7 are disclosed along with their interrelationship therebetween.
8 The heart of the system may be considered as the central process-9 ing unit (CPU) 10. The CPU 10 and other components of the svstem are shown in more detail hereinafter with regard to a specific 11 preferred embodiment thereof. In the block diagram of FIG. 1 12 multiple lines such as data lines and address lines are shown 13 by respective data and address buses.
14 Most of the connections at the CPU are data lines and address lines. The CPU interrogates other sections of the 16 computer by way of the address bus so as to indicate where the 17 data it is looking for is located. The data bus is the vehicle 18 for information transfer to and from the CYU. FIG. 1 shows the 19 address bus 12 and the data bus 14. The address linesoE the address bus 12 only provide for communication from the CPU to 21 other sections of the system. On the other hand, the data lines Z2 of the data bus 14 permit bi-directional communication betweer 23 the CPU and other sections of the system.
24 The read only memory (ROM) is in a sense ~he brain of the system. For example, the ROM indicates to the CPU ~hat to do, 26 how to do it, and where to transfer the data after the instruction 27 is completed. ~hen power is first applied to the system, the CPU
28 outputs an address to the ROM 16 so as to locate the first 1~4/71Z ~ 1 3~ D3 1 instruction for the CPU. The ROM transfers the first instruction Z to the CPU thus initiating communication therebetween. The CPU, 3 under RO~I supervision, performs all the housekeeping tasks for 4 the system.
S In FIG. 1 in addition to the ROM 16, the system also 6 comprises a random access memory (RAM) 18. The ~andom access 7 memory 18 stores data which is to be operated upon by this CPU
8 and also stores programs for providing certain control of the 9 CPU.
Assuming that the operator of the computer inputs instruc-11 tions to the computer via the keyboard 20, such as to count to 12 the number N, then the CPU 10 stores the instruction in the 13 RAM 18. The intercommunication between the sections is as follows.
14 The CPU tells the ROM an instruction has been entered. The ROM
signals the CPU to interrogate the keyboard to determine the 16 instruction. The CPU then signals the ROM to take over. The 17 ROM then interrogates the CPU initiating communication with 18 the RAM. The ROM program essentially tells the CPU how to 19 perform the instruction of counting to the number N. After this has been completed, the ROM tells the CPU to determine what to 21 do with the data. The CPU informs the ROM that the number N
22 is to go to the display and is to be also stored. The ROM tells 23 the CPU how to put the data on the display and then also indicates 24 where to store the number N in the RA~I. The CPU signals the ROM
when the job is completed. The RO~I then indicates to the CPU to 26 maintain a monitoring condition of the keyboard.
27 The CPU essentially looks to the ROM for instructions. The 28 CPU then follows the instructions of the RO~l and looks to the ~ 3 1 keyboard and then to the RA~. In all cases, the CPU applies 2 address locations to the ROM, RA~I and keyboard The data lines 3 are then checked for input data that corresponds to these 4 address locations. In case of an output from the CPU to the RAM, the CPU selects the address, puts data on the data lines, 6 and then instructs the RAM to store the data that is on the 7 data lines.
8 In the system of this invention, only the CPU communicates 9 with all other sections. If the CPU is told by the ROM to store something from the ROM into the RAM, the CPU cannot make the 11 RAM receive the ROM data directly. Instead, the CPU takes the 12 data from the ROM and transmits it to the RAM. The CPU essen-13 tially functions as an ;ntermediary between these two sections 14 of`the system. This is because the CPU is the only section that can address locations and pass data to all other sections.
16 The keyboard section 20 is the means for making knol~n the 17 instructions to the CPU. The system also includes a video random 18 access memory (video RAM) 22 which has its output coupled by ~ay 19 of the video processing section 24 to a video terminal or monitor 26. ~ata in the video ram 2Z is automatically displayed 21 on the monitor 26. The video processing section 24 handles this 22 transfer. Data outputted from the video RAM 22 is in ASCI I code.
23 The video processer 24 has as its function the conversion of the 24 ASCII code into alphanumeric symbols for display on the monitor 26. - The ROM 16 contains all of the dot patterns for forming these 26 alphanumeric symbols. The ASCII code from section 22 identifies 27 the character pattern, and the video processer 24 sends this 28 pattern to the monitor 26 on, of course, a synchronized basis.
.~
~313~3 The composite video signal which is coupled to the video monitor 26 is typically a complex signal. In addition to the video signal, this signal also includes horizontal and vertical synchronization. These signals must be quite stable and outputted in the proper sequence. In accordance with the present invention the video divider chain 28 under control of the master clock 30 handles this control. m e video divider chain 28 generates the sync signals, and addresses the video RAM in a logical order so that the video processer 24 can handle the video data efficiently. Associated with the video RAM 22 is a multiplexer (MUX) 32 discussed in more detail hereinafter. This multiplexer functions analogously to a multi-pole, multi-position switch. When the video divider chain is in control, the MUX 32 is switched so that only addresses from the divider chain are directed to the video RAMs. The CPU may need to read or write data into the video RAM. If so, the MUX is switched so that the CPU has control over the addresses of the video RAM. After the CPU is fin-ished processing, the addressing task is reassigned to the divider chain.
FIG. 2 shows a table of a memory map in accordance with the present invention representing the addresses as HEX
addresses. For the basic system, the read only memory locations are ~000 to 0FFF. The keyboard is controlled through addresses 3800 to 380F. The video display is located from address 3C00 to address 3FFF. The RAM addresses commence at address 4000 and depending upon the capacity of the memory in the system, can extend all the way down to address 7FFF.
As mentioned previously, upon power-up, an address location is outputted from the CPU requesting information from the ROM.
~ 3 1 Since the RO~I is controlled from the lower addresses, the CPU
2 is outputting addresses in this area. If the CPU requires key-3 board data, it will outpu-t addresses 38~0 - 380F and determine 4 if anything is in this "memory" location. If the CPU desires to show the program~er something on the display, the CPU addresses 6 the video display section of the map storing data in these 7 locations. The video display shows exactly what is in memory 8 locations 3C~ - 3FFF. In FIG. 2, although the RAM locations 9 extend from 40~0 to 4FFF, part of these locations are used for general housekeeping tasks. Hence, the user accessible RA~I
11 actually starts at address 4200.
12 FIG. 1 also shows a power supply 34 for providing certain 13 voltages useable in the system of this invention. This power 14 supply may be operated by way of an AC adapter 36 from a con-ventional AC power line. Also shown in FIG. 1 is the tape inter-16 face 38 and tape recorder/player 40. The tape interface 38 ties 17 into the data bus 14 and will be discussed in more detail herein-18 after. Also shown in FIG. 1 is a ROM/RA~i select 42 for receiving 19 data on the address bus 12 to select either the RO~I 16 or the RA~I
18. Similarly, the system includes a keyboard/video select 44 21 for selecting either keyboard 20 or video RAM 22. Again, further 22 description is found hereinafter with regard to this portion of 23 the system.
24 FIG. 1 discloses the basic components of the system of this invention and hereinbefore has been a brief description of some 26 typical operation of this system. Now a discussion follows o 27 the theory of operation of a preferred specific example of a 28 computer system of this invention. In this connection reference 3~3 is made to FIGS. 13-16.
System Clock The system clock or master clock depicted in FIG.
1 as clock 30 is shown in detail in FIG. 13A. The system clDck 30 comprises a fundamental cut, crystal Yl having a fundamental frequency of 10.6445 MHz, and two inverters Z42 which form along with resistors R46 and R52 and capacitor C43, a series resonant circuit. Feedback between the inverters is supplied by capacitor C43. Resistors R46 and R52 force the inverters used in the oscillator to operate in their linear region. The waveform at pin 5 of a third inverter Z42 is a sign wave at a frequency of 1~.6445 MHz. The output of the oscillator, however, should not be measured at this point due to the loading effect test equipment may have at this node. The measurement point is pin 6 of the inverter ~42 which is the output of the oscillator. The output of the clock (note the CLOCK signal~ couples to the timing circuit for the CPU, to the video divider chain 28, and to the video processing circuit 24.
Central Processin~ Unit (CPU~
FIG. 14A shows the microprocesser Z40 which is a Z80 central processing unit MK3880. This is a conventional device that may be purchased by any one of the well known companies making such devices such as Motorola, Fairchild, or Texas Instruments. This microprocesser has the capability of 158 instructions with total software capability. It contains 22 internal registers and has three modes of fast interrupt and additionally a non-maskable interrupt. The unit directly interrfaces with standard speed, static or dynamic memories with little interconnecting logic. The processer has a 1.6 micro-second instruction execution speed and operates from a single 5 volt supply with a single phase 5 volt clock. FIG. 14A clearly indicates the connections to and from the microprocesser including the address lines and the data lines. ~hroughout the description the address lines are i~entified as A0-A15 while the data lines are identified as lines DO-D7.
CPU TIMING
As previously indicated, the microprocesser Z40 requires a single phase clock source for operation. The basic clock frequency of 10.6445 M~z is applied, as indicated in FIG. 14A, to a standard ripple counter z56 at pin 1. The device 56 may be a conventional divide-by-12 counter connected to provide a divide-by-6 count. For exa~ple, this may be a device 74LS92 providing at its output pin 8, a signal or frequency of about 1.774 MHz. This signal is applied to the input of inverter ~72A. The output of this inverter is coupled to the microprocesser Z40 identified as its Q input or clock input.
Resistor R64 pulls up the output of inverter Z72A and it insures a rapidly increasing rise ti~e for the clock signal.
Note that the enable input of inverter Z72A is tied to ground.
Inverter Z72A is thus an enablable gate; since the enable input is tied to ground, this gate is always active enabling passage of signals therethrough. The clearing of the counter Z56 is at pins 6 and 7. When one or both of these pins are at a low voltage level, the counter operates normally, when either pin goes to a high level the counter is cleared or reset. Note the inverter Z42 coupled to inputs 6 and 7 of counter Z56 is used to disable counter Z56 during automatic testing of the system.
9~1Q3 Resistor R67 pulls the input to inverter Z42 to a positive voltage which causes the output of the inverter to stay at a logic low level. However, during testing the input of this inverter may be selectively pulled to a low logic level thus disabling and clearing the counter Z56. ~ith regard to the CPU
timing, the device Z72 may be a 74LS367 while the device Z42 may be a 74 LS04. Usually a plurality of such inverters are provided per device. In this connection the designation, such as inverter Z42, may pertain to other inverters shown in the description, but each inverter can be specifically identified by its input and output pin numbers or by a designation system such as Z42A, Z42B, etc.
Power-Vp-Clear and System Reset As mentioned previously in connection with the description of FIG. 1, upon power-up the CPU accesses known address in the RO~1 for instructions. The circuitry which causes the starting address output is shown in FIG. 14A as including gate Z53A, and inverter Z52A. Gate Z53A may be a two input NAND gate 74I.S132 drawn, however, as an inverted input OR gate. ~hen power is first applied to the system, capacitor C42 i s discharged. Upon application of power, capacitor C42 is charged through resistor R47 at a predetermined rate. During the initial charging o capacitor of C42, the output of gate Z53A is highu This high signal is inverted by gate Z52A to provide at the output thereof a low signal which is applied to pin 26 of the microprocesser Z40. A low at input terminal 26 to the microprocesser forces the microprocesser to output the starting address 0~0 on its 16 address line ZAOO-~A15. When capacitor C42 charges past about 1.4 volts, the gate Z53A has a ` ~3~(~
low level on its output which ~auses the output from gate Z52A
to revert to its high level. The CPU is now out of its reset state and will s-tart executing instructions from the ROM, starting at address ~p~. Thus, the pin 26 to the microprocesser is low for only a few milliseconds after power is applied. Once capacitor C42 char~es past its threshold level, this reset input to the microprocesser stays at a high level until capacitor C42 is again discharged when power is removed. It is noted that the gate Z53A, although implemented as a NAND gate is functionally shown as an OR gate having inverted inputs. The "not" circles at the input indicates that the gate is looking for a signal that is low to cause an output that is high. E~ad the gate been drawn as a N~ND gate, it would not have been as obvious that the output is active when high.
This functional type of logic symbolization is used throughout the schematics.
In FIG. 14A, above the reset circuit, there is sho~n a somewhat similar circuit including switch S2, gate Z53B, and gate Z37A. Switch S2 is a reset switch. The circuitry associated with the reset switch includes capacitor C57 and resistor R65. It is noted that capacitor C57 has a smaller value than the capacitor C42 shown therebelow. Hence, capacitor C57 charges up faster than capacitor C42 assuming that capacitor C57 has charged in that the pin to input gate Z53B is high, the output from this gate will be in its low state and the output of gate Z37A will be at its high state.
With the input at pin 17 to the microprocesser held high, the microprocesser is operable. If switch ~2 is pressed, capacitor C57 discharges through the switch. The resulting low level signal is applied to a second input of ~ ~3~ao~3 gate z53s and the ouput of gate Z53B goes to its high level.
Gate Z37A, at its output is then forced low. A low at pin 17 of the CPU forces the microprocesser to restart at address ~66. When switch S2 is released, resistor R65 begins to charge capacitor C57 until a logic high level is applied to pin 1 of gate Z53B. At this time pin 17 of the CPU goes back to its high level and the CPU starts executing instructions from address ~66 in the ROM.
Switch S2 is used ~o essentially reset the microprocesser when it is "lost". The operation of this switch forces the CPU
to a known address to enable it to get on the right track. An example of a CPU that would be "lost" miyht occur during a bad cassette load attempt. If a cassette is loading and su~denly there is information missing on the tape caused possibly by dirt or age of the tape, the recorder may never stop. Switch S2 may then be pressed, which directs the CPU out of the cassette load routine and back into its ready mode.
Associated with the reset circuit including switch S2 is the E-IAIT output at pin 18 oE the microprocesser to the second input of gate Z53B. For most application in the basic system, the output from pin 18 is always high. It does to its low level only when a software HAI.T instruction is generated by the microprocesser Z~O. Usually, such an instruction is not included in the read only memory. However, there is a possibility that pin 18 of the microprocesser could go to its low state due to some malfunction. In such a case, switch S2 is not effective to reset the CPU and about all that can be done is to shut down the computer and restart power.
The output from gate Z53B, also couples to pin 3 of gate ~L35~1~V~
Z37B. The oupu-t from gate Z37B is referred to as a system reset (SYSRES). This signal is normally high and only goes to its low level during power up or when switch S2 is pressed.
~ en power is interrupted or turned off to the system because of a "lost" CPU, the operator sh~uld wait at least 10 seconds before power is reapplied. If this period is not waited, capacitor C42 may not discharge sufficiently and thus the CPU may not revert to address ~ ~ during a restart. By waiting, capacitor C4~ discharges sufficiently and thus upon power-up, the system will start at the correct RO~I location.
CPU Functions Wait, Int, Test Ihe microprocesser Z40 has three inputs identified as WAIT
(wait), INT (interrupt) and BUSXQ (bus request). All three of these inputs are pulled up by respective resistors R51, ~50 and R58. These inputs are active on a low input signal and thus when there is no input signal the resistors maintain these inputs inactive.
The ~IAIT input, pin 24 of microprocesser zao, slows the CPU
down if there are slow memories that it is accessing. If this line goes low, the CPU goes into a WAIT status until it goes back to its high level. Once this signal is high, the CPU
continues with the operation. For example, assuming that there is a memory system that takes 100 microseconds before address data can be guaranteed to be present at the output, when the memory logic sees that the CPU wants data, it will force the WAIT line low. At the end of the 100 microsecond interval, the logic will make the WAIT input high, and the CPU will input the data.
The I~T (interrupt request) signal is provided at pin 16 of L3~
1 the microprocesser Z40. This input, when low, forces the CPU into 2 an interrupt request section o~ the memory. It then performs 3 an instruction associated with the interrupt. An example of this 4 is as follows. Assuming that a door on the back of the computer should always be closed, there is a switch provided connected to 6 the door, such that when the door is opened, the switch contacts 7 are shorted. The switch connects between gr~und and pin 16 of 8 t~e microprocesser. If the door is opened, the computer is inter-9 rupted and there is printed on the screen the indication of the open door. The CPU is interrupted until the door is properly 11 closed.
12 The TEST input is useful in trouble-shooting. Pin 25 of 13 the microprocesser is labeled BUSRQ (bus request). IYhen pin 25 14 is brought low, it forces the data, the address and the control lines into a disabled or floating state. Although this function 16 may not be used in normal operation, it i5 quite useful when some-17 one desires to shut down the CPU to test other portions of the 18 system.
19 CPU Address_Bus FIG. ~A shows the address bus 12 comprised of address lines 21 A0-A15. Because these lines couple to all other components of 22 the system such as the keyboard and the random access memory, 23 these lines are buffered for at least two reasons. First, the 24 buffers must be able to supply the address bus with proper logical levels. The microprocesser cannot supply the current necessary 26 to drive all the sections connected to the address bus, and 27 buffers are needed for current gain. Secondly, it ~ay be 28 necessary to switch off the address bus. For example, if an 24.
. .
_ expansion interface is connected to the bus, it may be necessary to address the RAM in the main unit for a data transfer. Therefore, there must be some method to take the CPU
off the data bus. The buffers are tri-state devices such as the conventional 74LS367. This essentially means that they will either act as a buffer or as an open switch. Gate arrays Z38, Z39 and part of Z22 and Z55 form the address line buffers. It is noted in the gates Z38 and Z39 there are essentially two sections of buffers. The first section contains four buffers and the second section contains only two buffers. Each section is controlled by a single pin. The first is controlled by pin l and the second by pin 15. When these control pins are at a logic low level, the buffers are enabled and will operate normally. ~en the control pin is at a high logic level, the buffers are disabled and will show a high impedance from input to output. The signal that controls the address buffers is defined as the ENABLE signal and has it source at gate Z52B. The input of this gate is tied to the ~EST line. The resistor R58 keeps this line hi~h under normal operation. Hence, the control line for the address buffers is usually at a logic low level permitting operation of the buffers. If the test line is shorter to ground, the address buffers are disabled. This feature is useful in trouble-shooting.
CPU Data Bus The data bus 14 is buffered similarly to the address bus 12. There are only 8 data lines at the CPV identified as lines DO-D7. However, there are 16 buffers because the CPV must receive data as well as send data. The address lines on the other hand 3~1~3 are strictly outputs from the CRU~ ~lere are therefore two sets of bufers for the data lines, one set for handling output data from the CPU while the other set handles input data to the CPV .
The output data buffers comprise all of the gate arrray Z75 and one section of the array Z76. The input buffers on the other hand comprise one section of the gate array Z55 and the other section of the gate array Z76 (three gate)~ The input and output buffers are connected "head-to-toe". ~his could cause a problem if both were active at the same time, however, the control inputs to the buffers are controlled so that this does not occur. The control inputs to the output bu-ffers are all connected together on the line labeled DBOVT* and are in turn tied to gate Z53 pin 6. The input buffer control line is identified by the signal DBIN*. This line connects from the output of gate Z53C. The signals DBIN and DBOUT are essentially mutually exclusive.
The output from gate Z53, pin 6 provides the major control. If this output is high, the signal DBOUT* is high and the signal DBIN* is low. Therefore, the input buffers are enabled and the output buffers are disabled. If the gate Z53, pin 6 is 1QW~ then the signal DBOUT* is low and the signal DBIN* is high. In this case, the output buffers are enabled and the input buffers are disabled.
Pin 4 of gate Z53 which is a NAND gate is tied to the ~EST*
signal. If the signal TEST* is low, the address bu-ffers are disabled and also the output pin 6 of gate Z53 goes high.
Hence, the data output buffers are disabled, robbing the CPU's control over the data linesO Because the signal D~IN* is now held low, the input data buffers are active, but, this does not cause any lR4/712 ~ ~ 3 ~G~3 1 problem since the address bus ~rom the CPU has been disabled.
2 When the signal TES~ is left alone, in its high state and 3 if pin 21 of the CPU (the memory read output) is high J pin 6 of 4 gate Z53 goes to its low state. This low signal causes the
6 with a number of port devices.
7 One object of the present invention is to provide an 8 improved computer system having manual reset means for control-9 ling the central processing unit.
Another object of the present invention is to provide an 11 improved addressing scheme for the random access memory of the 12 system.
13 A further object of the present invention is to provide a 14 computer system that has the capability of a video output that may be either alpha numeric or graphic.
16 Still another object of the present invention is to provide 17 a computer system having a video output for providing different 18 size characters. In accordance with the present invention the 19 output can be controlled so as to display either 32 characters per line or 64 characters per line.
21 Another object of the present invention is to provide an 22 improved computer system for providing a chain control of the 23 video RAMs or alternatively control directly from the data bus 24 of the CPU.
Another object of the present invention is to provide a 26 computer system having the capability of graphic display. In 27 accordance with the invention, the display field is demarcated 28 into rectangular segments with each segment in turn sectioned ~.
L3~W3 into, for example, 6 parts which are individually selectable by data bus information.
Still another object of the present invention is to provide an improved computer system having a novel keyboard entry scheme.
A further object of the present invention is to provide an improved computer system having a novel port control particularly useful with a port device such as a ;
tape recorder/player.
To accomplish the foregoing and other objects of this invention, there is provided a computer system including a central processing unit, means for storing instructions for the central processing unit disclosed as a read-only memory (ROM), random access memory means for storing data, key-board means for entering data into the computer system, and display means disclosed in the form of a conventional CRT
television display. Connections from the central processing unit, (CPU) include control lines, a plurality of data lines, forming a data bus and a plurality of address lines, forming an address bus. The data lines are bi-directional whereas the address lines are uni-directional. The CPU
interrogates other components of the computer system by way of the address bus to indicate where the data it is looking for is located. The data bus is the means of communication for data both to and from the CPU. The ROM contains the instruc-tions for the CPU indicating to the CPU what to do, how to carry out the instruction, and where to put the data after the instruction is completed. The CPU essentially looks to the ROM for instructions and then follows the instructions of the ROM. In all communications, the CP~ applies address loc-ations to both -the ROM, RAM, and keyboard. However, address decoding determines /12 ` ~ ~39~
1 which of these actual memories the CPU is lookin~ for. In the 2 system o~ this invention only the CPU communicates with all other 3 sections. For example, data is to be transferred from the RO~I
4 into the RA~3, the transfer is accomplished by way of the CPU.
The keyboard means enables entry of instructions and data to the 6 CPU. The system of this invention also includes a video random 7 accesS memory (video RAM) which couples to a video processing 8 section which in turn couples to a video output terminal or g monitor such as a television receiver. Data in the video RAM is 1~ automatically displayed on the monitor.
11 In accordance with one feature of the present invention, 12 there is provided a reset switch which is operable by the operator 13 of the computer system to reset the system by forcing the CP~ to 14 a known address. This reset switch resets the microprocesser when it is lost. At power-up the microprocesser (CPU) is reset 16 with instructions being initiated from the ROM starting at an 17 initial address. If at a later time the CPU becomes lost for 18 any reason in accordance with this invention there is provided 19 a reset switch for resetting the CPU starting with execution of instructions from a predetermined address in the ROM. In the 21 disclosed embodiment, this predetermined address is ~66. The 22 reset switch lS operable at the conventional interrupt input 23 to the microprocesser. The reset switch preferably has an R-C
24 circuit associated therewith which is charged when the reset switch is released to permit the CPU to continue operation.
26 In accordance with another feature of the present invention, 27 there is provided a means for readily selecting different 28 capacity memories especially with regard to the random access lZ
1 memory of the computer system. In this regard the system of 2 the present invention employs an address decoder for ROM/RAM
3 selection. The address decoder is responsive to an address code 4 from the central processing unit for providing separate outputs, some of which at least correspond to different coded inputs 6 representative of different capacity memories. At the output of 7 the address decoder, there is a selection means for selecting 8 different outputs from the address decoder to provide a memory 9 enable signal. The address decoder in accordance with the present invention preferably decodes the higher order address lines, 11 specifically four such lines, with the output of the decoder 12 providing up to 8 output signals, only one of which at a time is 13 active. The selection means preferably includes a selection shunt 14 means having input terminals coupling to the address decoder and with some of its output terminals commonly tied to provide the 16 memory enable signal. One section of the shunt preferably 17 contains 4 shorting bars~ commonly tied at their output terminals.
18 For a 4K memory capacity, one bar is shorted, for 8K, two hars 19 are shorted, for 12K, three bars are shorted, and for 16K, all four bars are shorted. In the disclosed embodiment this means 21 that the enabling signal for the random access memory is acti~e 22 all the way from address 4~ to addr~ss FFFF.
23 In accordance with another feature of the present invention 24 the random access memory uses a multiplexing scheme to input two partlal addresses into the memory which together define one 2u particular storage address. The internal logic in the RAM
27 interprets two parts of the address code to provide one address 28 typically with a total of 14 bits. One portion of the address .. . . . _ . _ _ _ 12 ` 1~39~3 1 is defined as a row address select while the other portion is 2 defined as a column address select with a multiplexing signal 3 being defined between these two address selections. Preferably 4 there is also provided a selection means associated with the addressing of the RAMs which may be in the form of a shunt for 6 directing different signals to the input enable for the memories.
7 For a smaller capacity memory such as a 4K memory, a memory enable 8 signal is always present, however, for a larger capacity memory 9 such as a 16K memory, the shunt is selected under control of the multiplexing signal to provide different address line signals 11 to the enable input of the memory. In this way the RAMs can 12 easily be operated at different memory capacities depending upon 13 the capacity desired.
14 In accordance with another feature of the present invention the computer system has the capability of changing the format 16 of characters on the display to, for example, either 64 characters 17 per line or 32 characters per line. In the disclosed embodiment, 18 the display has 16 character lines and thus for a line containing 19 64 characters, there are thus 1024 character locations in the video RAM that are to be accessed. In the alternate format, the 21 characters appear twice as large with 32 characters per line and 22 thus there are only 512 video RAM locations that are to be accessed.
23 The system includes a video RA~I for the storage of character codes 24 preferably in an ASCII code which may be interpreted as either an alpha numeric character or a graphic symbol in accordance with 26 another feature of the present invention. The video RAM is 27 addressed to take one code at a time from storage to a latch ~hich 28 in turn couples to a character generator for receiving the 6.
character code. The character generator decG~es the input code and in accordance with a scan line count, generates dot signals stored in a shift register to be shifted out, one dot at a time for forming one line of a number of lines forming the charact~r. The data is shifted out of the shift register by means of a clock signal referred to herein as a shift signal. ~his signal is controlled in at least two different manners for providing different video signals. In the disclosed embodiment the control is provided so as to give a format of either 32 characters per line or 64 characters per line. In accordan-ce with the invention there is a basic clock signal which generates the shift signal. For the 32-character format, the shift signal is at one half the clock frequency whereas for the 64-character format the shift sig-nal is at the clock frequency.
In accordance with another feature of the invention, the computer system provides for two different types of for-mats, including an alpha numeric format and a graphic format.
Although there are two different formats, the same basic data stored in the video memory is used for the generation of both formats. In this regard, there is thus provided in the system a video code storage means which also includes stor-age of preferably one bit of information for determining whether the final format is alpha numeric or graphic. This system also includes a character generator means for receiving the video codes, one code at a time, and a graphic generator means which al~o receives the video codes, one code at a time.
Preferably, there is a common latch circuit which has its output couple in common to both the character generator means and the graphic generator. Also, preferably at -~ --",.,,~
/71Z ~3~ 3 1 the outp~t of these generators there are provided shift registers, 2 one for each ~enerator means. The shift registers convert the 3 ~ot patterns from the generator means into a serial signal. This signal is coupled to the output video mixing circuit. Finally, in accordance with this feature, the system includes a means 6 responsive to the state of the video format type signal for 7 enabling either the character generator or the graphic generator.
8 This latter means preferably comprises a gate means responsive to 9 the state of certain bits ~orming each vldeo code.
In accordance with still another feature of the present inven-11 tion, there is provided the capability in accordance with the 12 computer system of this invention of interpreting codes stored 13 in a video memory either as a graphic display or as an alpha 14 numeric display. In accordance with the alpha numeric display, as previously mention, there are 1024 character locations, with 16 each location being defined by a 12 x 6 rectangle in accordance 17 with the graphic display of the present inven-tion, this rectangle, 18 rather than being formed into a character is subdivided into a 19 plurality of smaller rectangles such as six smaller rectangles to provide a basic graphic cell. This cell is the smallest area 21 of graphic information that can be selectively displayed on the 22 screen. Each cell is four scan lines high and three dots wide 23 in the disclosed embodiment. Thus, in accordance with this feature 24 of the invention there is provided a video code storage means for storing a plurality of codes with one code at a time being 26 presented to a graphic cell generating means. A vertical address 27 is provided preferably in the form of two bits also coupled to 28 the graphic generating means. The graphic generator is responsive .. .. . , ~
/712 ~ G~
1 to both the vertical address and the video code for providing 2 separately formed cells over the graphic area. This graphic 3 generator is preferably in the form of a selector circuit 4 responsive to both the vertical address and the state of certain bits defining the video code ~or determining the state of the 6 cells in a horizontal direction.
7 In accordance with another important feature of the present 8 invention there is provided an improved keyboard-scheme, Gne tha~
9 is relatively simple in construction and which is readily adapted to a simplified software scheme. In accordance-with this feature, 11 the keyboard comprises a plurality of keys arranged in a matrix 12 having input lines depicted as horizontal lines formed in a first 13 group, and output lines disclosed as vertical lines in a second 14 group. The address lines coupl~ from the central processsing unit, couple respectively to the input lines of the first group while 16 the output lines tie to the data bus which also communicates with 17 the central processing unit. The matrix is arranged so that when 18 a switch is closed, there is essentially a connection between a l9 horizontal common line and a vertical common line. l~hen the keyboard enabling signal ~rom the CPU is provided, essentially at 21 the same time the address lines are all brought to a like state, 22 such as a high state. If the output signal is detected on one 23 of the data lines, this indicates to the central processing unit 24 that there has been a key pressed on the keyboard. The central processing unit is essentially always in readiness for a keyboard 26 detection when in the keyboard enable mode. Once the central 27 processing unit makes this detection, then under control of the 28 ROM, the address lines are scanne~ one-by-one until the proper data line has been detected. In this way, a first detection on a data line represents one vertical location on the keyboard matrix while a detection at a later time identifies the horizontal position on the matrix~ thus identifying one and only one key. After identifying the output, the ROM instructs the CPU to generate the ~SCII code for that particular key.
Another feature of the present invention is the provision for an output/input port device which is preferably in the form of a tape recorder/player. I'he tape recorder is operable as both an input and output port device. In the output mode there is a recording of data on the tape. In this connection, the signals on the data line also control the motor of the recorder. In the input mode data is trans-ferred from the tape recorder to the central processing unit.
In accordance with this feature of the invention the data lines which may comprise six separate lines couple to the recorder and may be provided in two groups. In the preferred embodiment, in the input mode data is taken from the recorder onto a single data line. In the output mode in the dlsclosed embodiment there are four input data lines, one of which pro-vides the mode select signal, another of which controls the motor and the two remaining ones of which are used to provide signals for recording data on the recorder tape.
In accordance with a particular embodiment of the invention, a computer system having a central processing unit, means for storing instructions, a random access memory, keyboard means and display means, a manual reset switch, and means coupling the reset switch to the interrupt input of the central processing unit.
Description of the Drawinqs Numerous other objects, features and advantages of ~L~35~(~3 the invention should now become apparent upon a reading of the following detailed description taken in conjunction with the accompanying drawings, in which:
- lOa ~
1 FIG. 1 is a block diagram of the computer system of the 2 present invention;
3 . . FIG. 2 shows a memory map in accordance with this invention;
4 FIG. 3 is a table of addresses -Eor identi-fying the different memory devices of the system;
6 FIG. .4 is a waveform chart associated with circuitry in 7 FIG. 14A;
8 FIG. 5 is a timing diagram associated with the video g processing section of the system;
FIG. 6 is a block diagram showing representative frequencies 11 in.~e video divider chain;
12 FIG. 7 schematically depicts a graphic cell arrangement from 13 the graphic generator portion of the system;
14 FIG. 8 is a timing diagram associated with the video process-ing section showing sync mixing;
16 FIG. 9A is a simplified schematic diag~am of a portion of 17 the video mixing circuit depicted in detail in FIG. 13C;
18 FIG. 9B shows a composite video output signal;
19 FIG. 10 shol~s a waveform for the tape recorder output signal associated with the logic circuitry shown in FIG. 13B;
21 FIG. 11 shows audio processing waveforms also associated 22 with the circuitry of FIG. 13B;
23 FIG. 12 is a timin~ diagram also associated with the port ,24 device shown in FIG. 13D;
FIGS. 13A-13D show in detail one portion of the system of 26 the present invention;
27 FIGS. 14A and 14B show in detail most of the other portion of 28 a detailed system of this invention;
~39~ 3 1 FIG. 15 shows the keyboard rnatrix of this system; and 2 FIG. 16 shows a portion o further detail of the switch 3 arrangement of the keyboard of FIG. 15.
lg 2~
nd ~ ~ 3 1 Detailed Description 2 FIG. 1 is a system block diagram of the c~mputer of this 3 invention. The overall computer may comprise on the order of 4 80 integrated circuits or separate chips, however, the system is basically broken down into the primary components shown in FIG.
6 1. In FIG. 1 these different sections comprising the computer 7 are disclosed along with their interrelationship therebetween.
8 The heart of the system may be considered as the central process-9 ing unit (CPU) 10. The CPU 10 and other components of the svstem are shown in more detail hereinafter with regard to a specific 11 preferred embodiment thereof. In the block diagram of FIG. 1 12 multiple lines such as data lines and address lines are shown 13 by respective data and address buses.
14 Most of the connections at the CPU are data lines and address lines. The CPU interrogates other sections of the 16 computer by way of the address bus so as to indicate where the 17 data it is looking for is located. The data bus is the vehicle 18 for information transfer to and from the CYU. FIG. 1 shows the 19 address bus 12 and the data bus 14. The address linesoE the address bus 12 only provide for communication from the CPU to 21 other sections of the system. On the other hand, the data lines Z2 of the data bus 14 permit bi-directional communication betweer 23 the CPU and other sections of the system.
24 The read only memory (ROM) is in a sense ~he brain of the system. For example, the ROM indicates to the CPU ~hat to do, 26 how to do it, and where to transfer the data after the instruction 27 is completed. ~hen power is first applied to the system, the CPU
28 outputs an address to the ROM 16 so as to locate the first 1~4/71Z ~ 1 3~ D3 1 instruction for the CPU. The ROM transfers the first instruction Z to the CPU thus initiating communication therebetween. The CPU, 3 under RO~I supervision, performs all the housekeeping tasks for 4 the system.
S In FIG. 1 in addition to the ROM 16, the system also 6 comprises a random access memory (RAM) 18. The ~andom access 7 memory 18 stores data which is to be operated upon by this CPU
8 and also stores programs for providing certain control of the 9 CPU.
Assuming that the operator of the computer inputs instruc-11 tions to the computer via the keyboard 20, such as to count to 12 the number N, then the CPU 10 stores the instruction in the 13 RAM 18. The intercommunication between the sections is as follows.
14 The CPU tells the ROM an instruction has been entered. The ROM
signals the CPU to interrogate the keyboard to determine the 16 instruction. The CPU then signals the ROM to take over. The 17 ROM then interrogates the CPU initiating communication with 18 the RAM. The ROM program essentially tells the CPU how to 19 perform the instruction of counting to the number N. After this has been completed, the ROM tells the CPU to determine what to 21 do with the data. The CPU informs the ROM that the number N
22 is to go to the display and is to be also stored. The ROM tells 23 the CPU how to put the data on the display and then also indicates 24 where to store the number N in the RA~I. The CPU signals the ROM
when the job is completed. The RO~I then indicates to the CPU to 26 maintain a monitoring condition of the keyboard.
27 The CPU essentially looks to the ROM for instructions. The 28 CPU then follows the instructions of the RO~l and looks to the ~ 3 1 keyboard and then to the RA~. In all cases, the CPU applies 2 address locations to the ROM, RA~I and keyboard The data lines 3 are then checked for input data that corresponds to these 4 address locations. In case of an output from the CPU to the RAM, the CPU selects the address, puts data on the data lines, 6 and then instructs the RAM to store the data that is on the 7 data lines.
8 In the system of this invention, only the CPU communicates 9 with all other sections. If the CPU is told by the ROM to store something from the ROM into the RAM, the CPU cannot make the 11 RAM receive the ROM data directly. Instead, the CPU takes the 12 data from the ROM and transmits it to the RAM. The CPU essen-13 tially functions as an ;ntermediary between these two sections 14 of`the system. This is because the CPU is the only section that can address locations and pass data to all other sections.
16 The keyboard section 20 is the means for making knol~n the 17 instructions to the CPU. The system also includes a video random 18 access memory (video RAM) 22 which has its output coupled by ~ay 19 of the video processing section 24 to a video terminal or monitor 26. ~ata in the video ram 2Z is automatically displayed 21 on the monitor 26. The video processing section 24 handles this 22 transfer. Data outputted from the video RAM 22 is in ASCI I code.
23 The video processer 24 has as its function the conversion of the 24 ASCII code into alphanumeric symbols for display on the monitor 26. - The ROM 16 contains all of the dot patterns for forming these 26 alphanumeric symbols. The ASCII code from section 22 identifies 27 the character pattern, and the video processer 24 sends this 28 pattern to the monitor 26 on, of course, a synchronized basis.
.~
~313~3 The composite video signal which is coupled to the video monitor 26 is typically a complex signal. In addition to the video signal, this signal also includes horizontal and vertical synchronization. These signals must be quite stable and outputted in the proper sequence. In accordance with the present invention the video divider chain 28 under control of the master clock 30 handles this control. m e video divider chain 28 generates the sync signals, and addresses the video RAM in a logical order so that the video processer 24 can handle the video data efficiently. Associated with the video RAM 22 is a multiplexer (MUX) 32 discussed in more detail hereinafter. This multiplexer functions analogously to a multi-pole, multi-position switch. When the video divider chain is in control, the MUX 32 is switched so that only addresses from the divider chain are directed to the video RAMs. The CPU may need to read or write data into the video RAM. If so, the MUX is switched so that the CPU has control over the addresses of the video RAM. After the CPU is fin-ished processing, the addressing task is reassigned to the divider chain.
FIG. 2 shows a table of a memory map in accordance with the present invention representing the addresses as HEX
addresses. For the basic system, the read only memory locations are ~000 to 0FFF. The keyboard is controlled through addresses 3800 to 380F. The video display is located from address 3C00 to address 3FFF. The RAM addresses commence at address 4000 and depending upon the capacity of the memory in the system, can extend all the way down to address 7FFF.
As mentioned previously, upon power-up, an address location is outputted from the CPU requesting information from the ROM.
~ 3 1 Since the RO~I is controlled from the lower addresses, the CPU
2 is outputting addresses in this area. If the CPU requires key-3 board data, it will outpu-t addresses 38~0 - 380F and determine 4 if anything is in this "memory" location. If the CPU desires to show the program~er something on the display, the CPU addresses 6 the video display section of the map storing data in these 7 locations. The video display shows exactly what is in memory 8 locations 3C~ - 3FFF. In FIG. 2, although the RAM locations 9 extend from 40~0 to 4FFF, part of these locations are used for general housekeeping tasks. Hence, the user accessible RA~I
11 actually starts at address 4200.
12 FIG. 1 also shows a power supply 34 for providing certain 13 voltages useable in the system of this invention. This power 14 supply may be operated by way of an AC adapter 36 from a con-ventional AC power line. Also shown in FIG. 1 is the tape inter-16 face 38 and tape recorder/player 40. The tape interface 38 ties 17 into the data bus 14 and will be discussed in more detail herein-18 after. Also shown in FIG. 1 is a ROM/RA~i select 42 for receiving 19 data on the address bus 12 to select either the RO~I 16 or the RA~I
18. Similarly, the system includes a keyboard/video select 44 21 for selecting either keyboard 20 or video RAM 22. Again, further 22 description is found hereinafter with regard to this portion of 23 the system.
24 FIG. 1 discloses the basic components of the system of this invention and hereinbefore has been a brief description of some 26 typical operation of this system. Now a discussion follows o 27 the theory of operation of a preferred specific example of a 28 computer system of this invention. In this connection reference 3~3 is made to FIGS. 13-16.
System Clock The system clock or master clock depicted in FIG.
1 as clock 30 is shown in detail in FIG. 13A. The system clDck 30 comprises a fundamental cut, crystal Yl having a fundamental frequency of 10.6445 MHz, and two inverters Z42 which form along with resistors R46 and R52 and capacitor C43, a series resonant circuit. Feedback between the inverters is supplied by capacitor C43. Resistors R46 and R52 force the inverters used in the oscillator to operate in their linear region. The waveform at pin 5 of a third inverter Z42 is a sign wave at a frequency of 1~.6445 MHz. The output of the oscillator, however, should not be measured at this point due to the loading effect test equipment may have at this node. The measurement point is pin 6 of the inverter ~42 which is the output of the oscillator. The output of the clock (note the CLOCK signal~ couples to the timing circuit for the CPU, to the video divider chain 28, and to the video processing circuit 24.
Central Processin~ Unit (CPU~
FIG. 14A shows the microprocesser Z40 which is a Z80 central processing unit MK3880. This is a conventional device that may be purchased by any one of the well known companies making such devices such as Motorola, Fairchild, or Texas Instruments. This microprocesser has the capability of 158 instructions with total software capability. It contains 22 internal registers and has three modes of fast interrupt and additionally a non-maskable interrupt. The unit directly interrfaces with standard speed, static or dynamic memories with little interconnecting logic. The processer has a 1.6 micro-second instruction execution speed and operates from a single 5 volt supply with a single phase 5 volt clock. FIG. 14A clearly indicates the connections to and from the microprocesser including the address lines and the data lines. ~hroughout the description the address lines are i~entified as A0-A15 while the data lines are identified as lines DO-D7.
CPU TIMING
As previously indicated, the microprocesser Z40 requires a single phase clock source for operation. The basic clock frequency of 10.6445 M~z is applied, as indicated in FIG. 14A, to a standard ripple counter z56 at pin 1. The device 56 may be a conventional divide-by-12 counter connected to provide a divide-by-6 count. For exa~ple, this may be a device 74LS92 providing at its output pin 8, a signal or frequency of about 1.774 MHz. This signal is applied to the input of inverter ~72A. The output of this inverter is coupled to the microprocesser Z40 identified as its Q input or clock input.
Resistor R64 pulls up the output of inverter Z72A and it insures a rapidly increasing rise ti~e for the clock signal.
Note that the enable input of inverter Z72A is tied to ground.
Inverter Z72A is thus an enablable gate; since the enable input is tied to ground, this gate is always active enabling passage of signals therethrough. The clearing of the counter Z56 is at pins 6 and 7. When one or both of these pins are at a low voltage level, the counter operates normally, when either pin goes to a high level the counter is cleared or reset. Note the inverter Z42 coupled to inputs 6 and 7 of counter Z56 is used to disable counter Z56 during automatic testing of the system.
9~1Q3 Resistor R67 pulls the input to inverter Z42 to a positive voltage which causes the output of the inverter to stay at a logic low level. However, during testing the input of this inverter may be selectively pulled to a low logic level thus disabling and clearing the counter Z56. ~ith regard to the CPU
timing, the device Z72 may be a 74LS367 while the device Z42 may be a 74 LS04. Usually a plurality of such inverters are provided per device. In this connection the designation, such as inverter Z42, may pertain to other inverters shown in the description, but each inverter can be specifically identified by its input and output pin numbers or by a designation system such as Z42A, Z42B, etc.
Power-Vp-Clear and System Reset As mentioned previously in connection with the description of FIG. 1, upon power-up the CPU accesses known address in the RO~1 for instructions. The circuitry which causes the starting address output is shown in FIG. 14A as including gate Z53A, and inverter Z52A. Gate Z53A may be a two input NAND gate 74I.S132 drawn, however, as an inverted input OR gate. ~hen power is first applied to the system, capacitor C42 i s discharged. Upon application of power, capacitor C42 is charged through resistor R47 at a predetermined rate. During the initial charging o capacitor of C42, the output of gate Z53A is highu This high signal is inverted by gate Z52A to provide at the output thereof a low signal which is applied to pin 26 of the microprocesser Z40. A low at input terminal 26 to the microprocesser forces the microprocesser to output the starting address 0~0 on its 16 address line ZAOO-~A15. When capacitor C42 charges past about 1.4 volts, the gate Z53A has a ` ~3~(~
low level on its output which ~auses the output from gate Z52A
to revert to its high level. The CPU is now out of its reset state and will s-tart executing instructions from the ROM, starting at address ~p~. Thus, the pin 26 to the microprocesser is low for only a few milliseconds after power is applied. Once capacitor C42 char~es past its threshold level, this reset input to the microprocesser stays at a high level until capacitor C42 is again discharged when power is removed. It is noted that the gate Z53A, although implemented as a NAND gate is functionally shown as an OR gate having inverted inputs. The "not" circles at the input indicates that the gate is looking for a signal that is low to cause an output that is high. E~ad the gate been drawn as a N~ND gate, it would not have been as obvious that the output is active when high.
This functional type of logic symbolization is used throughout the schematics.
In FIG. 14A, above the reset circuit, there is sho~n a somewhat similar circuit including switch S2, gate Z53B, and gate Z37A. Switch S2 is a reset switch. The circuitry associated with the reset switch includes capacitor C57 and resistor R65. It is noted that capacitor C57 has a smaller value than the capacitor C42 shown therebelow. Hence, capacitor C57 charges up faster than capacitor C42 assuming that capacitor C57 has charged in that the pin to input gate Z53B is high, the output from this gate will be in its low state and the output of gate Z37A will be at its high state.
With the input at pin 17 to the microprocesser held high, the microprocesser is operable. If switch ~2 is pressed, capacitor C57 discharges through the switch. The resulting low level signal is applied to a second input of ~ ~3~ao~3 gate z53s and the ouput of gate Z53B goes to its high level.
Gate Z37A, at its output is then forced low. A low at pin 17 of the CPU forces the microprocesser to restart at address ~66. When switch S2 is released, resistor R65 begins to charge capacitor C57 until a logic high level is applied to pin 1 of gate Z53B. At this time pin 17 of the CPU goes back to its high level and the CPU starts executing instructions from address ~66 in the ROM.
Switch S2 is used ~o essentially reset the microprocesser when it is "lost". The operation of this switch forces the CPU
to a known address to enable it to get on the right track. An example of a CPU that would be "lost" miyht occur during a bad cassette load attempt. If a cassette is loading and su~denly there is information missing on the tape caused possibly by dirt or age of the tape, the recorder may never stop. Switch S2 may then be pressed, which directs the CPU out of the cassette load routine and back into its ready mode.
Associated with the reset circuit including switch S2 is the E-IAIT output at pin 18 oE the microprocesser to the second input of gate Z53B. For most application in the basic system, the output from pin 18 is always high. It does to its low level only when a software HAI.T instruction is generated by the microprocesser Z~O. Usually, such an instruction is not included in the read only memory. However, there is a possibility that pin 18 of the microprocesser could go to its low state due to some malfunction. In such a case, switch S2 is not effective to reset the CPU and about all that can be done is to shut down the computer and restart power.
The output from gate Z53B, also couples to pin 3 of gate ~L35~1~V~
Z37B. The oupu-t from gate Z37B is referred to as a system reset (SYSRES). This signal is normally high and only goes to its low level during power up or when switch S2 is pressed.
~ en power is interrupted or turned off to the system because of a "lost" CPU, the operator sh~uld wait at least 10 seconds before power is reapplied. If this period is not waited, capacitor C42 may not discharge sufficiently and thus the CPU may not revert to address ~ ~ during a restart. By waiting, capacitor C4~ discharges sufficiently and thus upon power-up, the system will start at the correct RO~I location.
CPU Functions Wait, Int, Test Ihe microprocesser Z40 has three inputs identified as WAIT
(wait), INT (interrupt) and BUSXQ (bus request). All three of these inputs are pulled up by respective resistors R51, ~50 and R58. These inputs are active on a low input signal and thus when there is no input signal the resistors maintain these inputs inactive.
The ~IAIT input, pin 24 of microprocesser zao, slows the CPU
down if there are slow memories that it is accessing. If this line goes low, the CPU goes into a WAIT status until it goes back to its high level. Once this signal is high, the CPU
continues with the operation. For example, assuming that there is a memory system that takes 100 microseconds before address data can be guaranteed to be present at the output, when the memory logic sees that the CPU wants data, it will force the WAIT line low. At the end of the 100 microsecond interval, the logic will make the WAIT input high, and the CPU will input the data.
The I~T (interrupt request) signal is provided at pin 16 of L3~
1 the microprocesser Z40. This input, when low, forces the CPU into 2 an interrupt request section o~ the memory. It then performs 3 an instruction associated with the interrupt. An example of this 4 is as follows. Assuming that a door on the back of the computer should always be closed, there is a switch provided connected to 6 the door, such that when the door is opened, the switch contacts 7 are shorted. The switch connects between gr~und and pin 16 of 8 t~e microprocesser. If the door is opened, the computer is inter-9 rupted and there is printed on the screen the indication of the open door. The CPU is interrupted until the door is properly 11 closed.
12 The TEST input is useful in trouble-shooting. Pin 25 of 13 the microprocesser is labeled BUSRQ (bus request). IYhen pin 25 14 is brought low, it forces the data, the address and the control lines into a disabled or floating state. Although this function 16 may not be used in normal operation, it i5 quite useful when some-17 one desires to shut down the CPU to test other portions of the 18 system.
19 CPU Address_Bus FIG. ~A shows the address bus 12 comprised of address lines 21 A0-A15. Because these lines couple to all other components of 22 the system such as the keyboard and the random access memory, 23 these lines are buffered for at least two reasons. First, the 24 buffers must be able to supply the address bus with proper logical levels. The microprocesser cannot supply the current necessary 26 to drive all the sections connected to the address bus, and 27 buffers are needed for current gain. Secondly, it ~ay be 28 necessary to switch off the address bus. For example, if an 24.
. .
_ expansion interface is connected to the bus, it may be necessary to address the RAM in the main unit for a data transfer. Therefore, there must be some method to take the CPU
off the data bus. The buffers are tri-state devices such as the conventional 74LS367. This essentially means that they will either act as a buffer or as an open switch. Gate arrays Z38, Z39 and part of Z22 and Z55 form the address line buffers. It is noted in the gates Z38 and Z39 there are essentially two sections of buffers. The first section contains four buffers and the second section contains only two buffers. Each section is controlled by a single pin. The first is controlled by pin l and the second by pin 15. When these control pins are at a logic low level, the buffers are enabled and will operate normally. ~en the control pin is at a high logic level, the buffers are disabled and will show a high impedance from input to output. The signal that controls the address buffers is defined as the ENABLE signal and has it source at gate Z52B. The input of this gate is tied to the ~EST line. The resistor R58 keeps this line hi~h under normal operation. Hence, the control line for the address buffers is usually at a logic low level permitting operation of the buffers. If the test line is shorter to ground, the address buffers are disabled. This feature is useful in trouble-shooting.
CPU Data Bus The data bus 14 is buffered similarly to the address bus 12. There are only 8 data lines at the CPV identified as lines DO-D7. However, there are 16 buffers because the CPV must receive data as well as send data. The address lines on the other hand 3~1~3 are strictly outputs from the CRU~ ~lere are therefore two sets of bufers for the data lines, one set for handling output data from the CPU while the other set handles input data to the CPV .
The output data buffers comprise all of the gate arrray Z75 and one section of the array Z76. The input buffers on the other hand comprise one section of the gate array Z55 and the other section of the gate array Z76 (three gate)~ The input and output buffers are connected "head-to-toe". ~his could cause a problem if both were active at the same time, however, the control inputs to the buffers are controlled so that this does not occur. The control inputs to the output bu-ffers are all connected together on the line labeled DBOVT* and are in turn tied to gate Z53 pin 6. The input buffer control line is identified by the signal DBIN*. This line connects from the output of gate Z53C. The signals DBIN and DBOUT are essentially mutually exclusive.
The output from gate Z53, pin 6 provides the major control. If this output is high, the signal DBOUT* is high and the signal DBIN* is low. Therefore, the input buffers are enabled and the output buffers are disabled. If the gate Z53, pin 6 is 1QW~ then the signal DBOUT* is low and the signal DBIN* is high. In this case, the output buffers are enabled and the input buffers are disabled.
Pin 4 of gate Z53 which is a NAND gate is tied to the ~EST*
signal. If the signal TEST* is low, the address bu-ffers are disabled and also the output pin 6 of gate Z53 goes high.
Hence, the data output buffers are disabled, robbing the CPU's control over the data linesO Because the signal D~IN* is now held low, the input data buffers are active, but, this does not cause any lR4/712 ~ ~ 3 ~G~3 1 problem since the address bus ~rom the CPU has been disabled.
2 When the signal TES~ is left alone, in its high state and 3 if pin 21 of the CPU (the memory read output) is high J pin 6 of 4 gate Z53 goes to its low state. This low signal causes the
- 5 signal DBOUT* to be low and the signal DBIN* to be high. There-
6 fore, the CPU is outputting data and the buffers are s-~itched
7 accordingly. When pin 21 of the microprocesser goes to its ; 8 low state, pin 6 of gate Z53 is high. This is almost the same g condition as if the signal TEST* went low. The signal DBOUT*
is high and the $ignal DBIN* is low but the address buffers are ll still enabled. The data buffers are now ready for the CPU to 12 accept the data. Thus, it is the read output RD* that primarily 13 controls the inputting and outputting of data on the data bus.
14 CPU Control Group Having now identified the address lines and the data lines 16 associated with the CPU, we can now consider the CPU control 17 group. The data bus is used to gather data into the CPU or to 18 pass data out of the CPU. The control group functions determine 19 how the CPU stores data in a memory or how it tells RO~I or RA~I
that it is ready to receive data. The control group functions 21 include signa]s RD, WR, OUT, and IN.
22 RD ~Read) 23 FIG. 14Ashows the control signals generated from ~he CPU
24 including the read signal RD*. This signal, when activated~
will tell other sections of the system that the CPU is ready to 26 accept data. The RD* signal is generated at gate array Z23, 27 pin 6. Pin 5 of the same gate is connected to pin 21 of the 28 microprocesser which is the RD* ~read) output of the microprocesser~
___ _ __ __ 27.
~ 3~
l Pin 4 of gate Z23 is tied to pin 19 or the memory re~uest output 2 of the CPU. Therefore, when both signals on lines 19 and 21 3 from the microprocesser go to their low level an RD* signal is 4 provided at the output pin 6 of the gate array Z23. Again, this S array is shown as an AND type gate and actually a straight OR
6 gate is used and it is drawn like an AND gate with inversions 7 at all terminals rather than a straight OR gate~ the both being 2 equivalent, to indicate that when the memory request and ~he read 9 signals are present from the micropTocesser, then and only then will the read signal appear. Thus, a low input on both pins 4 11 and 5 of gate Z23 provides a low output on pin 6, the low indicat-12 ing a read.
13 WR (Write) 14 The signal WR denotes a write control. This signal, when activated, indicates to other sections that the CPU is ready 16 to transmit data into one of the memory locations. The WR*
17 signal is generated at gate array Z23 pin 11. Pin 12 of this 18 gate is connected to the memory request of the microprocesser 19 while pin 13 of the same gate is tied to the write output signal from the processer. Again, when there is a low on pin 19 of the 21 processer indicating a memory re~uest and when there is a low 22 on pin Zl of the microprocesser indicating a write portion of the 23 signal, then and only then is there a low output on signal line 24 WR* thus indicating a write portion of the memory cycle.
UT (Output) 26 The signal out is for output control. This signal~ when 27 activated, enables circuitry to perform the cassette save 28 functions. It may also be used to control data movement from the 3 ~o~D3 1 basic computer system to an expansion interface. This signal 2 is generated at gate Z23~ pin 3. Pin 1 of gate Z23 is tied to 3 the write output of the CPU while pin 2 of this gate is tied to 4 the IORQ (input/output request~ output which is pin 20 from the CPU. When there is a low on line 22 from the CPU indicating a 6 write signal and a low on pin 20 from the CPU indicating an 7 input/output request, then and only then is there a low slgnal
is high and the $ignal DBIN* is low but the address buffers are ll still enabled. The data buffers are now ready for the CPU to 12 accept the data. Thus, it is the read output RD* that primarily 13 controls the inputting and outputting of data on the data bus.
14 CPU Control Group Having now identified the address lines and the data lines 16 associated with the CPU, we can now consider the CPU control 17 group. The data bus is used to gather data into the CPU or to 18 pass data out of the CPU. The control group functions determine 19 how the CPU stores data in a memory or how it tells RO~I or RA~I
that it is ready to receive data. The control group functions 21 include signa]s RD, WR, OUT, and IN.
22 RD ~Read) 23 FIG. 14Ashows the control signals generated from ~he CPU
24 including the read signal RD*. This signal, when activated~
will tell other sections of the system that the CPU is ready to 26 accept data. The RD* signal is generated at gate array Z23, 27 pin 6. Pin 5 of the same gate is connected to pin 21 of the 28 microprocesser which is the RD* ~read) output of the microprocesser~
___ _ __ __ 27.
~ 3~
l Pin 4 of gate Z23 is tied to pin 19 or the memory re~uest output 2 of the CPU. Therefore, when both signals on lines 19 and 21 3 from the microprocesser go to their low level an RD* signal is 4 provided at the output pin 6 of the gate array Z23. Again, this S array is shown as an AND type gate and actually a straight OR
6 gate is used and it is drawn like an AND gate with inversions 7 at all terminals rather than a straight OR gate~ the both being 2 equivalent, to indicate that when the memory request and ~he read 9 signals are present from the micropTocesser, then and only then will the read signal appear. Thus, a low input on both pins 4 11 and 5 of gate Z23 provides a low output on pin 6, the low indicat-12 ing a read.
13 WR (Write) 14 The signal WR denotes a write control. This signal, when activated, indicates to other sections that the CPU is ready 16 to transmit data into one of the memory locations. The WR*
17 signal is generated at gate array Z23 pin 11. Pin 12 of this 18 gate is connected to the memory request of the microprocesser 19 while pin 13 of the same gate is tied to the write output signal from the processer. Again, when there is a low on pin 19 of the 21 processer indicating a memory re~uest and when there is a low 22 on pin Zl of the microprocesser indicating a write portion of the 23 signal, then and only then is there a low output on signal line 24 WR* thus indicating a write portion of the memory cycle.
UT (Output) 26 The signal out is for output control. This signal~ when 27 activated, enables circuitry to perform the cassette save 28 functions. It may also be used to control data movement from the 3 ~o~D3 1 basic computer system to an expansion interface. This signal 2 is generated at gate Z23~ pin 3. Pin 1 of gate Z23 is tied to 3 the write output of the CPU while pin 2 of this gate is tied to 4 the IORQ (input/output request~ output which is pin 20 from the CPU. When there is a low on line 22 from the CPU indicating a 6 write signal and a low on pin 20 from the CPU indicating an 7 input/output request, then and only then is there a low slgnal
8 on pin 3 from gate Z23 generating this signal OUT*.
g IN (Input) The IN signal is for input control. This signal, l~hen 11 activated, enables circuitry to per~orm the cassette load 12 function discussed in detail hereinafter. It may also be used 13 to control data movement from an expansion interface to the 14 basic computer system. The IN signal is generated at gate array Z23, pin 8. Pin 10 of this same gate is connected to the pin 20 16 of the CPU while pin 9 of the gate is tied to pin 21 of the CPU.
17 Again, when there is a low at pin 21 of the CPU because of a 18 read portion of the cycle, and when there is also a low signal 19 at pin 20 of the CPU, then and only then is there a signal at the-~utput pin 8 from the gate array Z23 which is the IN* signal.
21 Control Group Bus 22 The control group signals just previously discussed are 23 buffered for use by the different sections of the system. As 24 part of this buffering system, the control group bus may also need to be switched off at some time. Therefore, there is 26 provided a part of the gate array Z2% which may be a 74LS367 27 including four tri-state devices. It is this array Z22 that is 28 used to buffer the control group signal. Tri-state control is 29.
~39003 provided at line Ll. This control is tied to che address bus control. The ENABLE* signal effects the status of the address and also the control group bus in the same manner.
Address Decoder As mentioned previously in connection with the diagram of FIG. 2, the computer system is memory mapped. There-Eore, the address ~lAC (in HEX) is in the ROM portion of the map.
Address 380A is in the keyboard area and address 3CAA accesses the video display RAMs. Please also refer to the chart of FIG.
3. Since the data and address buses are connected in parallel to all the sections, there must be some way to determine which section is being accessed. A decoding network monitors the higher order address bits and selects which "memory" the CPU
wants to use. FIG. 14B shows the address decoder. In this connection please also refer to the table of FIG. 3. In FIG. 3 it is noted that one could use the two most significant digits of the H~X code in the decoding scheme and handle the selection of all memories. In the binary columns, one can see that instead of using two HEX digits, which is 8 binary lines, two bits can be ignored and thus only 6 binary lines are used. A
dotted line separates the two unused bits from the 6 that are used.
The address decoder depicted in FIG. 14B llses 6 bits, namely AlO-A15, and, in addition, the signals ~D* and RAS* (row address select). The address A15 is the most significant bit of t~le address bus. m e 6 higher order bits can have two bits added thereto so that we have two HEX digits A12-A15 ~Eorming the most significant HEX character and A8-All Eorming the next most significant HEX character. Addresses A8 and A9 are the two bits -added to comp~ete the last HEX character. FIC. 3 shows the breakdown of the memory map into HEX and binary.
~ ith reference to FIG. 14B the address decoder comprises device Z21 which may be a device type 74LS156 decoder/demultiplexer. This device is arranged to multiplex two inputs to provide eight different output signals. In addition to the decoder Z21, the address decoder also comprises other decode gates discusssed in detail hereinafter~ Address bits A12, A13, and A14 are connected to decoder Z21. The Cl and C2 inputs pins 1 and 15 are connected in such a way to make the decoder Z21 into a three input to eight line decoder. The Gl and G2 inputs pins 2 and 14 to decoder Z21 are chip en~bles. When these Gl and G2 inputs are at a logical low level, the decoder Z21 is active. When these inputs are high, the decoder Z21 is disabled and none of its eight output lines are low. I`his enabling input to the decoder Z21 is controlled by gate Z73A, pins 4, 5 and 6. Pin 4 is tied to address line A15, the most significant bit of the address bus. It is noted in the memory map breakdown that address line A15 is always low when addressing the various memories. The pin 5 of gate Z73A
is tied to signal RAS*. This signal is generated from the memory request output of the CPU at pin 19 passed by way of gate Z72B shown in FIG. 14A. This buffer source generates ~AS*
and it is the same signal essentially as MREQ*. When the signals A15 and RAS* are both low at the same time, a low signal will be outputted from pin 6 ~o the decoder Z21. This low signal enables the decoder. When the decoder Z21 is in its enabled state, one of its outputs will go low depending upon the code on the address lines A12, A13 and A14~ For example, if these ~3~3 three inputs are at logical zero, pin 9 of the device Z21 is at a low state and all other output pins are at a high state.
Thus, it is a low level at the output that is the decoded signal. If all three inputs at A12, A13, and A14 are high, then pin 4 at the outp~t is low. One can consider the code at A12, A13 and A14 as supplying an octal address to the decoaer Z21. Since there are eight states in an octal code, then there would be one of eight lines selected. Thus, the decoder Z21 decodes the most significant digit of the HEX address. Then, with the use of the last two address bits A10 and All one can define any one of the four memories available to the CPU.
These four memories include the RAM, ROM, keyboard, and video.
Associated with the decoder 21 is a programmer in the form of a simple device X3 referred to as a DIP shunt. This device is like a shorting bar array with some of the bars being shorted and other left open. In this manner the address decoder is programmed to reflect the amount of RAM or P~O~I the CPU has available for use. In FIG. 14B device X3 is shown with six open shorting bars and 2 closed shorting bars. This configuration will be used in the following discussion.
ROM Decoding When the CPU needs an instruction in order to perform a certain task, the CPU accesses the read only memory 16. This accessing of the ROM again involves address decoding and the decoder Z21 as shown in FIG. 14B. mhe ROM decoding is performed as follows. The CPU requires a me~ory and thus the signal RAS* goes to a low level. From FIG. 3 the address for the ROM starts with H~X ~ with address lines A12, A13, A14 and A15 all at a low level. The decoder Z21 is activated at its inputs Gl and G2 pins 1 and 14 by ~3~ 3 the proper signals A15 and RAS*. The decoder Z21 with all inputs low provides a low output on pin 9. This output c~uples through the device X3 pins 10 and 7, past the pull-up resistor R61 and out to a terminal identified as RO~*. This signal couples to ROM A. In particular, this signal couples to pin 20 of ROM A. Pin 20 (C52) is the chip select input and is active on a low signal (as the inverted circle on pin 20 shows).
Thus, the ROMA* signal turns ROM Z33 "on" which means that its output becomes active. In this connection note that the outputs from both ROMs couple to tri-state buffers Z67 and Z68. When the input chip select signal on pin 20 goes low, the outputs from the ROM switch from a high impedance or off state to an on state. When the ROM is thus enabled, -the outputs go low or high depending upon the data in the ROM at the address that has been selected. In this connection, also no~e the address inputs to the ROM including addresses AO~A12.
With one of the read only memories being selected, such as ROM A, there is now a need to insure a data path so that data can pass from the ROM to the CPU. In FIG. 14B the signal ROMA*
is also coupled to one input of NAND gate Z74 (gate Z74 i5 shown as the equivalent OR gate with inverted inputs). A low at the input of this gate causes a resulting high on its output. This signal is coupled to pin 9 of gate Z7~B which is an OR gate. The output at pin 8 at Z73~ passes a high level signal to pin 5 of the NAND gate Z74B. The other input to this gate is tied to the RD* signal now part of the CPU control group by way of the inverter Z52, pins 12 and 13. Because the CPU is trying to read data from the ROMs RD* is low but the other input to gate Z74B is high because of the ~3~ 3 inversion by inverter Z52. Thus, the output from ~ate Z74B
is a low level siynal identified as signal MEM*, As indicated in FIG, 14B this signal controls the ROM/RAM buffers (gate arrays Z67 and Z68). The outputs of these buffers are tied to the data bus 14. The enabling of these buffers by the signal MEM* permits data to be coupled from the ROMs to the data bus. This data flows to the CPU because the CPU is signalling a read portion of the cycle~ Because this is to, the signal DBIN* is low and the signal DBOUT* is high. l'he low signal DBI~* enables the input data buffers to the CPU
making data from the ROM available at the CPU.
Keyboard Decodin~
The keyboard 20 is identified address-wise from address 380~ to address 380.F (see FIGS. 2 and 3). In the system of this invention the keyboard is considered as a memory device and thus when there is a memory request from the central processing unit, the signal RAS* is low. The keyboard decoding is also associated with the decoder Z21 previously discussed and shown in FIG. 14B. In the decod-ing scheme for the keyboard, the signal A15 is low becausewe are generating address codes under 8000. With reerence to FIG. 3 it can be determined that address line A14 is low while address lines A12 and A13 are high. With this input combination and with decoder Z21 being activated at its terminals Gl and G2, there will be a low decoded output at pin 12 (output 3~. This output is coupled to gate Z36 pin 4. The gate Z36 is also looking for a low output at its pin 5. Again, referring to FIG, 3 the address line All is high and this signal is inverted by the gate Z3~C thus providing a low level signal on pin 5 3~
of the gate Z36. Under this condition the output pin 6 from gate Z36 is also low thus essentially enabling b~th gate Z36A
and gate Z36B. However, only one of these gates will be active depending upon the state of address line A10. Again, referring to the table of FIG. 3 for keyboard decoding, the address line A10 is low. Hence, both inputs of gate Z36A are low and there is provided a low signal on its output identified as the KYBD*
signal.
The signal KYBD* is shown in FIG. 14B coupling to the enable inputs of the data buffers Z3 and Z4 for the keyboard.
The lower order address lines AO-A7 are coupled by way of buffer arrays Zl and Z2 to one side of the keyboard matrix, while the other side of the matrix is tied by way of buffer arrays Z3 and Z4 to the data bus including data lines DO-D7.
If a key is pressed, an address line is "shorted" to a data line. A further discussion is found hereinafter on the keyboard operation. In transmitting the data from the keyboard, the signals DBOUT* and DBIN* shown in FIG. 14A are switched the same way as previously discussed with regard to ROM selection. Therefore, keyboard data i5 coupled to the CPV
via the data bus for processing by the CPU.
Video Display RAM Select From the table of FIG. 3 it is noted that the binary output for the video RAM address is almost the same as for the keyboard with the exception of the state of address line A10.
As with the keyboard decoding, the output of decoder Z21 has its low level on pin 12 which couples to pin 4 of gate Z36.
The address line All is high and thus the output from gate Z36 at pin 6 enables both gates Z36A and Z36B. However, now rather ~3~
than the output of gate Z36A going low, the output ~f gate Z36B
Wi11 gO 1QW because the address line A10 is now high and this high level signal is now inverted by the inverter Z52 to thus provide two low level signals on the inputs of gate Z36B.
Hence, the output of gate Z36B is low generating the signal VID*. This activates the video ~1. There is a further discussion hereinafter with reyard to this video RAM selection.
4K RAM Decoder .
In the system of this invention there is also communication between the CPU and the random access memories. As indicated in FIGS. 2 and 3, the address which selects the RAM extends from HEX 4~ to 4FFF for a 4K memory. The binary breakdown shown in FIG. 3 lists the s~ate of A15 as binary zero.
Furthermore, address line A14 is high while address lines A12 and A13 are low. ~lemory is still being accessed and thus the signal RAS* is low. Hence, the decoder Z21 is activated and because of the input address there will be a low output on output pin 7 (output 4). The shunt X3 passes this low through pins 2 and 15 to gate Z74, pin 10. This signal is also outputted directly as signal R~l*~ This signal is a signal that provides a chip enable for the RAMs.
During a read operation the buffering provided by gate arrays Z67 and Z68 shown in FIG. 14B is controlled so as to couple data to the CPU. Thus, in that portion of the memory cycle the signal MEM* is low because RD* is low. However, during a transfer of data from the CPU to the RAM, the signal ~M* does not select the data buffers. Instead, the write signal is active rather than the read signal and these ROM/R~
buffers ~3 Z67, Z68 are not used because the RA~ data inputs are on the opposite side of these buf-~ers. Thus, only during a ROM/RAM
read operation is the signal MEM* necessary.
With regard to the shunt X3 and the output of the decoder z21, this shunt can be adjusted to program the system for 8K of RAM rather than 4K. This is accomplished by pro-viding a short between both pins 2 and 15 and 3 and 14. In this way, not only would a 4~0 address cause signal RAM*, but also a 5~00 would also enable the signal RAM*. For 12K
of RAM, we could leave also pins 4 and 13 shor~ed together and for 16K of memory we can, in addition short pins 5 and 12.
For the 16K memory thus, the signal RAM* would be active from addresses 4000 to 7FFF.
With regard to the discussion of the shunt X3, it is noted that certain outputs of the decoder Z21 are shorted together. In many applications, shorting output nodes is not good practice. However, in accordance with the present invention using TTL logic, open collector types are used.
These types of gates do not have an active pull-up on the output. Instead, the output transistors have open collectors.
It is the responsibility of external circuitry to pull them up. The open collectors are capable of being tied together for a wired OR function. Since decoder Z21 is an open collector decoder, the outputs may be safety tied tog~ther.
In this connection, note resistors R48, R51, R62 and R68.
These are pull-up resistors for the decoder Z21, System RAM
With reference to the block diagram of FIG. 1, the system ~-r ~L~3~
R~M 18 is essentially tied in parallel with the data bus 14 and the address bus 12 similarly to the ROM 16 and the key-board 20. The data input and output for the RAMs 18 shown in FIG. 14B are controlled by the signal MæM* which couples to the gate arrays Z67 and Z68. With regard to the addressing scheme ~or the RAM5 for 4K addresses, one would expect to find 10 address inputs. However~ in accordance with one im-portant feature of the present invention, there are provided only 7 address inputs used in combination with a multiplexing scheme. In thls regard, the address from the CPU is multi-plexed into the RAM in two 7 bit parts. The internal logic in the RAM interprets the two parts and essentially ties them together to form one address scheme with a total of 14 bits.
One part of the addressing is called RAS* (RAM address select) the other part being called CAS* (column address select).
Another signal identified in FIG. 14B as the MUX (multiplexer) signal contrD~s the switching function. All three of these signals are generated from the logic shown in FIG. 14A.
MUX CAS* RAS*
The logic for developing the signals for controlling the addressing at the system RAM include the series of flip-flops shown in FIG. 14A including two flip-flops Z69A and Z69B, and one flip-flop Z70. The basic inputs to this logic include the clock signal and signal ~EQ at the output pin 3 from gate Z74. The two outputs at pins 21 and 22 from the microprocesser Z40 connect to the input pins of the gate Z74~
If there is a low on either of these pins from the CPU, there is a high output at pin 3 from the gate Z74. Thusg there is essentially a memory request and there is either a read or a write signal from the microprocesser. The signal MR~Q is tied to the clear inputs of the flip-flops Z69A and Z69B and part of Z70. These flip-flops are D type flip-flops and the signals MUX and CAS* are generated from these flip-flops. FIG. 4 shows a waveform chart or timing diagram for this circuit. Line A shows the master clock input to the flip-flops. Line B shows the signal MREQ*
and line C depicts the WR* output from the CPU, assuming the CPU wants to write data into the R~M. As depicted in FIG. 4 the signal from pin 19 of the CPU goes low first. A short time later, the write signal from the CPV goes low. Line D shows the output pin 3 from the gate Z74 which goes high at the same time that the write signal went low. The flip-flops now have a logical high applied to the clear inputs permitting these flip-flops to operate controlled by the clock waveform. On the next rising edge of the clock, the flip-flop Z69A of pin 5 will assume the logic level that was present at its data input pin at the time that the clock occurred. Since khe data input was high when pin 3 went high, then pin 5 will also go to its high state. This high signal is shown on line E oE FIG. 4~ This signal is also coupled to pin 12 (data input) of the second flip-flop Z69B which is also no~ high; so that on the next rising edge of the clock its output pin 9 will go to its high state. This is shown on line 5 of FIG. 4. The last flip-flop Z70 is now ready to toggle. On the next rising edge of the clock Z70, pin 6 will go to a low state. This signal is shown on line H of FIG. 40 Now, all three flip-flops have changed state since the write signal from the CPU went low. ~he flip-flops will stay in this state so long as the write signal fxom the CPU stays low. When ~139C~3 the signal from the CPU goes high~ the flip~flops will have a low applied to their clear input; and they will reset back to the clear condition. Line I is the RAS* output. This output is a direct function of memory request output at pin 19 from the CPU as buffered by the gate Z72B. The gate Z72B is en-abled at pin 1 by the ENABLE* signal. Line ~ in FIG. 4 -shows the MUX signal which has its origin at the output pin
g IN (Input) The IN signal is for input control. This signal, l~hen 11 activated, enables circuitry to per~orm the cassette load 12 function discussed in detail hereinafter. It may also be used 13 to control data movement from an expansion interface to the 14 basic computer system. The IN signal is generated at gate array Z23, pin 8. Pin 10 of this same gate is connected to the pin 20 16 of the CPU while pin 9 of the gate is tied to pin 21 of the CPU.
17 Again, when there is a low at pin 21 of the CPU because of a 18 read portion of the cycle, and when there is also a low signal 19 at pin 20 of the CPU, then and only then is there a signal at the-~utput pin 8 from the gate array Z23 which is the IN* signal.
21 Control Group Bus 22 The control group signals just previously discussed are 23 buffered for use by the different sections of the system. As 24 part of this buffering system, the control group bus may also need to be switched off at some time. Therefore, there is 26 provided a part of the gate array Z2% which may be a 74LS367 27 including four tri-state devices. It is this array Z22 that is 28 used to buffer the control group signal. Tri-state control is 29.
~39003 provided at line Ll. This control is tied to che address bus control. The ENABLE* signal effects the status of the address and also the control group bus in the same manner.
Address Decoder As mentioned previously in connection with the diagram of FIG. 2, the computer system is memory mapped. There-Eore, the address ~lAC (in HEX) is in the ROM portion of the map.
Address 380A is in the keyboard area and address 3CAA accesses the video display RAMs. Please also refer to the chart of FIG.
3. Since the data and address buses are connected in parallel to all the sections, there must be some way to determine which section is being accessed. A decoding network monitors the higher order address bits and selects which "memory" the CPU
wants to use. FIG. 14B shows the address decoder. In this connection please also refer to the table of FIG. 3. In FIG. 3 it is noted that one could use the two most significant digits of the H~X code in the decoding scheme and handle the selection of all memories. In the binary columns, one can see that instead of using two HEX digits, which is 8 binary lines, two bits can be ignored and thus only 6 binary lines are used. A
dotted line separates the two unused bits from the 6 that are used.
The address decoder depicted in FIG. 14B llses 6 bits, namely AlO-A15, and, in addition, the signals ~D* and RAS* (row address select). The address A15 is the most significant bit of t~le address bus. m e 6 higher order bits can have two bits added thereto so that we have two HEX digits A12-A15 ~Eorming the most significant HEX character and A8-All Eorming the next most significant HEX character. Addresses A8 and A9 are the two bits -added to comp~ete the last HEX character. FIC. 3 shows the breakdown of the memory map into HEX and binary.
~ ith reference to FIG. 14B the address decoder comprises device Z21 which may be a device type 74LS156 decoder/demultiplexer. This device is arranged to multiplex two inputs to provide eight different output signals. In addition to the decoder Z21, the address decoder also comprises other decode gates discusssed in detail hereinafter~ Address bits A12, A13, and A14 are connected to decoder Z21. The Cl and C2 inputs pins 1 and 15 are connected in such a way to make the decoder Z21 into a three input to eight line decoder. The Gl and G2 inputs pins 2 and 14 to decoder Z21 are chip en~bles. When these Gl and G2 inputs are at a logical low level, the decoder Z21 is active. When these inputs are high, the decoder Z21 is disabled and none of its eight output lines are low. I`his enabling input to the decoder Z21 is controlled by gate Z73A, pins 4, 5 and 6. Pin 4 is tied to address line A15, the most significant bit of the address bus. It is noted in the memory map breakdown that address line A15 is always low when addressing the various memories. The pin 5 of gate Z73A
is tied to signal RAS*. This signal is generated from the memory request output of the CPU at pin 19 passed by way of gate Z72B shown in FIG. 14A. This buffer source generates ~AS*
and it is the same signal essentially as MREQ*. When the signals A15 and RAS* are both low at the same time, a low signal will be outputted from pin 6 ~o the decoder Z21. This low signal enables the decoder. When the decoder Z21 is in its enabled state, one of its outputs will go low depending upon the code on the address lines A12, A13 and A14~ For example, if these ~3~3 three inputs are at logical zero, pin 9 of the device Z21 is at a low state and all other output pins are at a high state.
Thus, it is a low level at the output that is the decoded signal. If all three inputs at A12, A13, and A14 are high, then pin 4 at the outp~t is low. One can consider the code at A12, A13 and A14 as supplying an octal address to the decoaer Z21. Since there are eight states in an octal code, then there would be one of eight lines selected. Thus, the decoder Z21 decodes the most significant digit of the HEX address. Then, with the use of the last two address bits A10 and All one can define any one of the four memories available to the CPU.
These four memories include the RAM, ROM, keyboard, and video.
Associated with the decoder 21 is a programmer in the form of a simple device X3 referred to as a DIP shunt. This device is like a shorting bar array with some of the bars being shorted and other left open. In this manner the address decoder is programmed to reflect the amount of RAM or P~O~I the CPU has available for use. In FIG. 14B device X3 is shown with six open shorting bars and 2 closed shorting bars. This configuration will be used in the following discussion.
ROM Decoding When the CPU needs an instruction in order to perform a certain task, the CPU accesses the read only memory 16. This accessing of the ROM again involves address decoding and the decoder Z21 as shown in FIG. 14B. mhe ROM decoding is performed as follows. The CPU requires a me~ory and thus the signal RAS* goes to a low level. From FIG. 3 the address for the ROM starts with H~X ~ with address lines A12, A13, A14 and A15 all at a low level. The decoder Z21 is activated at its inputs Gl and G2 pins 1 and 14 by ~3~ 3 the proper signals A15 and RAS*. The decoder Z21 with all inputs low provides a low output on pin 9. This output c~uples through the device X3 pins 10 and 7, past the pull-up resistor R61 and out to a terminal identified as RO~*. This signal couples to ROM A. In particular, this signal couples to pin 20 of ROM A. Pin 20 (C52) is the chip select input and is active on a low signal (as the inverted circle on pin 20 shows).
Thus, the ROMA* signal turns ROM Z33 "on" which means that its output becomes active. In this connection note that the outputs from both ROMs couple to tri-state buffers Z67 and Z68. When the input chip select signal on pin 20 goes low, the outputs from the ROM switch from a high impedance or off state to an on state. When the ROM is thus enabled, -the outputs go low or high depending upon the data in the ROM at the address that has been selected. In this connection, also no~e the address inputs to the ROM including addresses AO~A12.
With one of the read only memories being selected, such as ROM A, there is now a need to insure a data path so that data can pass from the ROM to the CPU. In FIG. 14B the signal ROMA*
is also coupled to one input of NAND gate Z74 (gate Z74 i5 shown as the equivalent OR gate with inverted inputs). A low at the input of this gate causes a resulting high on its output. This signal is coupled to pin 9 of gate Z7~B which is an OR gate. The output at pin 8 at Z73~ passes a high level signal to pin 5 of the NAND gate Z74B. The other input to this gate is tied to the RD* signal now part of the CPU control group by way of the inverter Z52, pins 12 and 13. Because the CPU is trying to read data from the ROMs RD* is low but the other input to gate Z74B is high because of the ~3~ 3 inversion by inverter Z52. Thus, the output from ~ate Z74B
is a low level siynal identified as signal MEM*, As indicated in FIG, 14B this signal controls the ROM/RAM buffers (gate arrays Z67 and Z68). The outputs of these buffers are tied to the data bus 14. The enabling of these buffers by the signal MEM* permits data to be coupled from the ROMs to the data bus. This data flows to the CPU because the CPU is signalling a read portion of the cycle~ Because this is to, the signal DBIN* is low and the signal DBOUT* is high. l'he low signal DBI~* enables the input data buffers to the CPU
making data from the ROM available at the CPU.
Keyboard Decodin~
The keyboard 20 is identified address-wise from address 380~ to address 380.F (see FIGS. 2 and 3). In the system of this invention the keyboard is considered as a memory device and thus when there is a memory request from the central processing unit, the signal RAS* is low. The keyboard decoding is also associated with the decoder Z21 previously discussed and shown in FIG. 14B. In the decod-ing scheme for the keyboard, the signal A15 is low becausewe are generating address codes under 8000. With reerence to FIG. 3 it can be determined that address line A14 is low while address lines A12 and A13 are high. With this input combination and with decoder Z21 being activated at its terminals Gl and G2, there will be a low decoded output at pin 12 (output 3~. This output is coupled to gate Z36 pin 4. The gate Z36 is also looking for a low output at its pin 5. Again, referring to FIG, 3 the address line All is high and this signal is inverted by the gate Z3~C thus providing a low level signal on pin 5 3~
of the gate Z36. Under this condition the output pin 6 from gate Z36 is also low thus essentially enabling b~th gate Z36A
and gate Z36B. However, only one of these gates will be active depending upon the state of address line A10. Again, referring to the table of FIG. 3 for keyboard decoding, the address line A10 is low. Hence, both inputs of gate Z36A are low and there is provided a low signal on its output identified as the KYBD*
signal.
The signal KYBD* is shown in FIG. 14B coupling to the enable inputs of the data buffers Z3 and Z4 for the keyboard.
The lower order address lines AO-A7 are coupled by way of buffer arrays Zl and Z2 to one side of the keyboard matrix, while the other side of the matrix is tied by way of buffer arrays Z3 and Z4 to the data bus including data lines DO-D7.
If a key is pressed, an address line is "shorted" to a data line. A further discussion is found hereinafter on the keyboard operation. In transmitting the data from the keyboard, the signals DBOUT* and DBIN* shown in FIG. 14A are switched the same way as previously discussed with regard to ROM selection. Therefore, keyboard data i5 coupled to the CPV
via the data bus for processing by the CPU.
Video Display RAM Select From the table of FIG. 3 it is noted that the binary output for the video RAM address is almost the same as for the keyboard with the exception of the state of address line A10.
As with the keyboard decoding, the output of decoder Z21 has its low level on pin 12 which couples to pin 4 of gate Z36.
The address line All is high and thus the output from gate Z36 at pin 6 enables both gates Z36A and Z36B. However, now rather ~3~
than the output of gate Z36A going low, the output ~f gate Z36B
Wi11 gO 1QW because the address line A10 is now high and this high level signal is now inverted by the inverter Z52 to thus provide two low level signals on the inputs of gate Z36B.
Hence, the output of gate Z36B is low generating the signal VID*. This activates the video ~1. There is a further discussion hereinafter with reyard to this video RAM selection.
4K RAM Decoder .
In the system of this invention there is also communication between the CPU and the random access memories. As indicated in FIGS. 2 and 3, the address which selects the RAM extends from HEX 4~ to 4FFF for a 4K memory. The binary breakdown shown in FIG. 3 lists the s~ate of A15 as binary zero.
Furthermore, address line A14 is high while address lines A12 and A13 are low. ~lemory is still being accessed and thus the signal RAS* is low. Hence, the decoder Z21 is activated and because of the input address there will be a low output on output pin 7 (output 4). The shunt X3 passes this low through pins 2 and 15 to gate Z74, pin 10. This signal is also outputted directly as signal R~l*~ This signal is a signal that provides a chip enable for the RAMs.
During a read operation the buffering provided by gate arrays Z67 and Z68 shown in FIG. 14B is controlled so as to couple data to the CPU. Thus, in that portion of the memory cycle the signal MEM* is low because RD* is low. However, during a transfer of data from the CPU to the RAM, the signal ~M* does not select the data buffers. Instead, the write signal is active rather than the read signal and these ROM/R~
buffers ~3 Z67, Z68 are not used because the RA~ data inputs are on the opposite side of these buf-~ers. Thus, only during a ROM/RAM
read operation is the signal MEM* necessary.
With regard to the shunt X3 and the output of the decoder z21, this shunt can be adjusted to program the system for 8K of RAM rather than 4K. This is accomplished by pro-viding a short between both pins 2 and 15 and 3 and 14. In this way, not only would a 4~0 address cause signal RAM*, but also a 5~00 would also enable the signal RAM*. For 12K
of RAM, we could leave also pins 4 and 13 shor~ed together and for 16K of memory we can, in addition short pins 5 and 12.
For the 16K memory thus, the signal RAM* would be active from addresses 4000 to 7FFF.
With regard to the discussion of the shunt X3, it is noted that certain outputs of the decoder Z21 are shorted together. In many applications, shorting output nodes is not good practice. However, in accordance with the present invention using TTL logic, open collector types are used.
These types of gates do not have an active pull-up on the output. Instead, the output transistors have open collectors.
It is the responsibility of external circuitry to pull them up. The open collectors are capable of being tied together for a wired OR function. Since decoder Z21 is an open collector decoder, the outputs may be safety tied tog~ther.
In this connection, note resistors R48, R51, R62 and R68.
These are pull-up resistors for the decoder Z21, System RAM
With reference to the block diagram of FIG. 1, the system ~-r ~L~3~
R~M 18 is essentially tied in parallel with the data bus 14 and the address bus 12 similarly to the ROM 16 and the key-board 20. The data input and output for the RAMs 18 shown in FIG. 14B are controlled by the signal MæM* which couples to the gate arrays Z67 and Z68. With regard to the addressing scheme ~or the RAM5 for 4K addresses, one would expect to find 10 address inputs. However~ in accordance with one im-portant feature of the present invention, there are provided only 7 address inputs used in combination with a multiplexing scheme. In thls regard, the address from the CPU is multi-plexed into the RAM in two 7 bit parts. The internal logic in the RAM interprets the two parts and essentially ties them together to form one address scheme with a total of 14 bits.
One part of the addressing is called RAS* (RAM address select) the other part being called CAS* (column address select).
Another signal identified in FIG. 14B as the MUX (multiplexer) signal contrD~s the switching function. All three of these signals are generated from the logic shown in FIG. 14A.
MUX CAS* RAS*
The logic for developing the signals for controlling the addressing at the system RAM include the series of flip-flops shown in FIG. 14A including two flip-flops Z69A and Z69B, and one flip-flop Z70. The basic inputs to this logic include the clock signal and signal ~EQ at the output pin 3 from gate Z74. The two outputs at pins 21 and 22 from the microprocesser Z40 connect to the input pins of the gate Z74~
If there is a low on either of these pins from the CPU, there is a high output at pin 3 from the gate Z74. Thusg there is essentially a memory request and there is either a read or a write signal from the microprocesser. The signal MR~Q is tied to the clear inputs of the flip-flops Z69A and Z69B and part of Z70. These flip-flops are D type flip-flops and the signals MUX and CAS* are generated from these flip-flops. FIG. 4 shows a waveform chart or timing diagram for this circuit. Line A shows the master clock input to the flip-flops. Line B shows the signal MREQ*
and line C depicts the WR* output from the CPU, assuming the CPU wants to write data into the R~M. As depicted in FIG. 4 the signal from pin 19 of the CPU goes low first. A short time later, the write signal from the CPV goes low. Line D shows the output pin 3 from the gate Z74 which goes high at the same time that the write signal went low. The flip-flops now have a logical high applied to the clear inputs permitting these flip-flops to operate controlled by the clock waveform. On the next rising edge of the clock, the flip-flop Z69A of pin 5 will assume the logic level that was present at its data input pin at the time that the clock occurred. Since khe data input was high when pin 3 went high, then pin 5 will also go to its high state. This high signal is shown on line E oE FIG. 4~ This signal is also coupled to pin 12 (data input) of the second flip-flop Z69B which is also no~ high; so that on the next rising edge of the clock its output pin 9 will go to its high state. This is shown on line 5 of FIG. 4. The last flip-flop Z70 is now ready to toggle. On the next rising edge of the clock Z70, pin 6 will go to a low state. This signal is shown on line H of FIG. 40 Now, all three flip-flops have changed state since the write signal from the CPU went low. ~he flip-flops will stay in this state so long as the write signal fxom the CPU stays low. When ~139C~3 the signal from the CPU goes high~ the flip~flops will have a low applied to their clear input; and they will reset back to the clear condition. Line I is the RAS* output. This output is a direct function of memory request output at pin 19 from the CPU as buffered by the gate Z72B. The gate Z72B is en-abled at pin 1 by the ENABLE* signal. Line ~ in FIG. 4 -shows the MUX signal which has its origin at the output pin
9 of one of the flip-flops Z69B coupled through buffer Z72D.
Line K in FIG. 4 is the CAS* signal and this is buffered by the gate Z72C, coupled from the output pin 6 of flip-flop Z70.
In summary, the following se~uence of events occurs with regard to the diagram of FIG. 4. RAS* goes low first, MUX then changes state. CAS* then changes state one clock cycle later. Thus, we first get a RAM or row address select, then the multiplexing signal MUX, followed by the column address select. Hence, the first part of the address will be the row address ~ollowed by a switching or multiplexing to the column address.
RAM Addressinq Data selector/multiplexers Z35 and Z51 shown in FIG.
14B control the addressing to the RAMs. Both of these devices may be 74LS157 devices. These devices have two group,s of inputs of either 3 or 4 lines and an output of either 3 or 4 lines depending upon how they are connected~ With regard to device Z35 two groups, each of four lines and one group of four is labeled "0" and the other labeled "1". The device Z51 is configured similarly except that there are only three lines per group. The "0" tells us that when the select pin, which is pin l in each device is low, the multiplexer will be outputtiny data associated with these input lines. On the other hand the "1"
tells u~ the multiplexer will be outputting data associated with the other group of lines. The de~ice Z3~, therefore, operates like a four pole double throw switch where the select input at pin 1 is performing the switching. The enable input to these selectors or multiplexers is pin 15. Since pin 15 is permanently grounded, these devices are always enabled.
Reading From RAM
.
Assume that the CPU requires RAM data. The following discusses the addressing and data paths employed with a 4K
random access memory. The cycle commences by the CPU
outputting the signals on its lines 19 and 21. The address decoder outputs the signals MEM* and R~l*. The signal MEM*
activates the RAM/ROM data buffers and the signal RAM* enables the chip select input for the RAMs on pin 13. At the same time the multiplexer loads the address into the RAMs. The signal RAS* goes low as depicted iXl FIG. 4. The MUX signal is low at this time, so the inputs AO-A5 on the RAM receive the lower order address by way of pins 2, 5, 11 and 14 of the device Z35. The signal RAS* is buffered by gate Z68A, and is applied to pin 4 of all of the RAMs depicted in FIG. 14B. The negative going signal at this input pin 4 loads the lower order address in the ro~ selection of each RAM. A short time later the MUX
signal changes state going high as depicted in FIG. 4. The multiplexer comprising devices Z35 and Z51 now switches and the higher order addresses are applied to the RAMs. The signal CAS* goes low. CAS* is applied to the buffer gate Z67A. The output of this gate ~ 3~ ~4~
1 passes the signal CAS* to pin 15 o all eight RAMs. On the 2 negative transition of signal CAS*, the high order addresses 3 ~A6-All) are loaded in the columned section of each RAM. Four 4 of these addresses are coupled by way of device Z35 and two are coupled by way of device Z51. The RAMs now have the entire 6 address from the CPU. The RAM now outputs this addressed data 7 through the associated bu~fers to the CPU.
8 Writing to RA~I `
9 During a data write cycle, the CPU sends data to the RA~ls.
Hence, the ROM/RAM buffers are not employed and it is not necessary 11 for the signal MEM* to go low. Instead of the CPU issuing a -12 read command, it issues a write instruction. Thus, the signal 13 WR* is tied to all 8 RAMs on pin 3. When this pin is low, data 14 is stored in each RAM at the specified address. ~Yhen this pin is high, the RAMs are in a read cycle.
16 Refreshing The RAMs 17 The computer system of this invention uses a dynamic type 18 RAM. A dynamic RAM differs slightly from a static RAM in data 19 retention. A static RAM retains data stored in it so long as power is applied to the system. A dynamic RAM on the other hand 21 requires periGdic addressing to insure that it retains the data 22 loaded into it. This periodic addressing is called refreshing.
Z3 The refreshing of the RAMs is accomplished by the RAS* signal.
24 When this signal goes low, all of the individual RAMs in the system will refresh themselves even though they may not be in 26 use at the time. As mentioned previously, the signal RAS* is 27 generated by the CPU at pin 19. l~hen pin 19 goes low, RAS* goes 28 low and the RAMs will load the lower order address into the row ~ .
712 ~ ~3~
1 section. The CPU may be looking at system ROM when pin 19 goes 2 low, but the RAM will still receive the signal RAS* and hence 3 be refreshed. In a system of this invention the RAM should be 4 refreshed once every two milliseconds.
RAM Programming 6 Associated with the RAMs is a shunt X71 shown in ~IG.lAB.
7 This is used to program the size of the memory in the system.
8 Pin 13 on the RAMs is a chip enable and this couples to one sec-9 tion of the shunt X71. In a 4K system, pins 4 and 13 of shunt X71 are shunted. The signal RAM* is on pin 4 so this signal is 11 used to select the RAMs. However, in a 16K system, pins 4 and lZ 13 are opened and pins 3 and 4 of the shunt X71 are shorted.
13 Thus, instead of the signal RAM* there is the address lines A6 14 or Al2 depending upon themultiplexer condition.
Video Divider Cha _ 16 The-video divider chain shown in FIG.13Asupplies the video 17 RAMs 22 with addresses in a logical order for video processing.
18 This chain also supplies the horizontal and vertical sync timing 19 pulses so that the video processer can build tlle composite wave-form for the display. Video RAM addresses, horizontal and 21 vertical sync, and video processing timing are all direct 22 functions of the master clock. Also included in the divider chain 23 is the hardware necessary to generate 32 character line lengths.
24 Divider Chain - Input Conditioning In accordance with one important feature of the present 26 invention, the computer system has two formats for character 27 length. In one format, the display has 16 character lines, each 28 consisting of 64 characters. This means there are 1024 .
~39al~:~
character locations in video RAM that the divider chain must access. In the other format, the characters appear twice as large. The display has 16 character lines of 32 characters rather than 64 characters. In this case the divider chain accesses only 512 video RAM locations. Switching from one format to the other is the task of the input conditioning logic shown in FIG. 13A.
In FIG. 13A the master oscillator circuit couples to a flip-flop Z70 at pin 11 and also to a multiplexer Z43 which may be a 74LS157 device. The conditioning circuitry also includes a divider Z58 ~hich may be a divide by 12 divider. This divider may be a 74LS92 device. The D flip-flop Z70 is wired to perform a divide-by 2 function. The multiplexer is wired so that one can route the master clock frequency or one-half of the master clock frequency from the flip-~lop Z70 to the divider Z58. Since there are two character length formats, there are two reference frequencies, one that is half as slow as the other. The master oscillator supplies the divide-by 12 counter Z58 as a reference frequency in a 64 character format.
The D flip~flop supplies the counter with the reference frequency in a 32 character format.
The multiplexer Z43 is of the same type previously discussed as devices Z35. The multiplexer Z43 is controlled ~y the signal MODE SEL. When the mode select signal is low, the multiplexer Z43 is switched to its 32 character position. When this signal is high~ the multiplexer is switched to its 64 character position. First, the 64 character mode is analyzed.
For this mode of operation, with the mode select signal high, pin 3 of the multiplexer couples to the output pin 4 Similarly, pins 6 and 7 are 3~ 3 intercoupled and pins 10 and 9. FIG. 5 is a waveform chart form this circuit. At line A in FIG, 5, the master clock is shown at the output of its buffer gate Z42, pin 6. Line B
shows the action o~ the D flip-~lop Z70 with its divi~e-by 2 output. The buffered clock is applied to pi.n 3 of the multiplexer Z43. Since the multiplexer is switched to its "1" sta~e, the counter Z58 receives the basic clock frequency at its pin 14. It is noted that the output, of flip-flop ~70 at pin 9 is tied to pin 2 of the multiplexer, However, t~is is not performing any function at this time since the multiplexer is not switched to its "0" state.
The outputs from the counter Z58 and shown at lines C, D, E and F in FIG, 5. In FIG. 5 the arrows indicate the place where a~1 outputs are O. It is noted in FIG~ 5 that the lines C-F do not count directly up to 11 and then back to O using straight binary counting, Instead, the output count from counter Z58 goes from 0-5 and then on the next clock it goes from binary 5 to binary 8. From 8 it counts normally to binary 13 and then in the next cycle it goes back to binary 0.
m e inputs at pins 6 and 7 of counter Z58 control the clearing of the counter to O. The signal CTR to these input pins is generated in FIG. 14A at th~ output pin 8 of the inverter Z42. Normally, the signal CTR is low. Only during automatic testing is CTR allowed to go high and clear the device Z58.
The output pin 12 from the counter Z58 is identi-fied in FIG. 13A as DOT 1. Pin 9 of the counter is labeled DOT 2. These two signals are NANDed by the gate Z24 at pins 1 and 2 to provide an output at pin 3 shown in line G of FIG. 5. This ~ 45 -3~3 signal is called the L~TCH signal and is used in the video processing circuitry.
Th~ input pins 6 and 10 of device Z43 are tied together and connect to the output pin 8 of counter Z58.
The resulting output is at pins 7 and 9 of the multiplexer Z43. The signal at pin 9 is referred to as the CHAI~
signal and is the main source for the divider chaln compris-ing devices Z65, 750, Z12, and Z32. The output pin 7 of multiplexer Z43 is labeled "Cl" and is tied to pin 10 of device Z64 which is one of the video RAM multiplexers. The signal Cl is used to address the video RAM's least signifi-cant bit.
For the 32 character format, the pin 1 of the multiplexer Z43 is in its low state and therefore pins 2, 5, and 11 are tied to the respective outputs at pins 4, 7, and 9. Thus, the half clock frequency from pin 9 of the flip-flop Z70 couples to the output pin 4 of the multiplexer Z43.
Pin 7 of the device Z43 is held low all the time and the output CHAIN signal is now one coupled directly from the out-put pin 9 of the counter Z58 shown in line E of FIG. 5. For the 32 character format, FXG. 5 shows the outputs from the counter Z58 at lines H through K. It is noted that the waveform at line B in FIG. 5 is used as the input to the divider counter Z58 and thus the counter is used as a divide-by 6 counter. The output at pin 9 of the counter will be the CHAIN signal instead of at pin 8 in the 64 character format. However, the frequency of the CHAIN
signal has not changed. In the 64 character mode, the master clock was divided by 12 to provide the chain frequency. That is 10.6445 MHz was divided by 12 to provide a frequency of 887.041 KHz. In the 32 character - 46 ~
712 ~ L39~a~3 l mode, one-half of the master clock ~Yas used, divided by 6 to 2 provide the same end ~requency of 887.041 KHz. However, ~o 3 signals did change. In the 64 character format, the latch pulse 4 was only one clock cycle wide having a period of 6 clock cycles.
In the 32 character mode, the pulse width has doubled to t~o 6 clock cycles and its period is now 12 clock cycles. The other 7 signal that changed was Cl. It was a square wave at the same 8 rate as the chain signal for the 64 character format, but in 9 the 32 character mode, it is held low at all times. The signal L,ATCH is used to delay a character betl~een the RAM and the 11 character generator. The signal Cl determines if the video `-12 RAM has 1024 or 512 useable addresses.
13 Divider Chain 14 The divider chain circuit comprises 4 bit ripple counters Z65, Z50, Z12 and Z32 shown in FIG.13A. FIG. 6 shows a simplified 16 block diagram for the divider chain to enable an easier under-17 standing of the counter chain.
18 Each of the counters comprising the chain may be a 4 bit 19 counter having two different clock inputs coupling to respeative successive St~ges of the counter. In input atpin14 clocks all 21 stages of the counter whereas an input at pin 1 counts only the 22 last three stages of the counter.
23 As depicted in FIG. 6 the counter Z65 may be considered as 24 being separated into two different parts. The chain input from the conditioning logic is applied to pin 1 of the counter. The 26 outputs B and C from this counter couple to the multiplexer Z64 27 and are used for addressing the video RA~1. The output at pin 8 28 from counter Z65 couples to the next counter Z50 in the chain.
4?.
1 This portion of counter Z65 divides the chain frequency by 4 2 as indicated in FIG. 6. Since the chain frequency is 887.0461 3 KHz, the output of counter Z65 at pin 8 is then 221.760 KHz.
4 The next counter in the chain is counter Z50. The input of this counter is on pin 14 from counter Z65 and the divider 6 frequency is at pin 11. This device is externally modified to 7 divide the input frequency by 14. The counter Z50 counts up 8 normally to a binary value of 13. The following shows the counter 9 outputs at that count:
Pin 12 Output A = 1 11 Pin 9 Output B =
12 Pin 8 Output C = 1 13 Pin 11 Output D = 1 14 Upon the next negative transition of the clock puise the outputs are as follows:
16 Pin 12 Output A = ~
17 Pin 9 Output B = 1 18 Pin 8 Output C = 1 19 Pin 11 Output D = 1 This provides a l4 count. The AND gate Z66~ accepts the B, C and 21 D outputs from counter Z50. The output of the gate Z66lat pin 6 22 goes high under the second condition listed above and thus clears 23 the counter Z50 back to 0. This clear pulse is quite rapid on 24 the order of about 50 NANO seconds, The time that counter Z50 is actually reading binary 14 is so short that it can essentially 26 be ignored. Therefore, counter Z50 counts from 0-13 and is then 27 reset back to 0. Since the fre~uency of 221.760 KHz is inputted 28 to the counter Z50, the output at pin 11 is 15.840 KHz. This a~ .
~3L3~3 frequency is used by the sync generator circuits to produce horizontal sync as illustrated in the block diagram of FIG. 6.
The ne~t divider or counter in the chain is counter Z12.
This counter is wired to provide a division by 12. In this connection, note the gate Z66B. The counter Z12 counts up normally until the outputs enable AND gate Z66B. This happens at the 12th falling edge of the clock. Gate Z66B, pin 8 will then go high and clear the counter Z12 back to 0. Once again, this clear pulse i5 essentially ignored and hence we can consider the counter Z12 as a divide-by 12 counter. With a frequency of 15.840 KHz being applied at its input, the output at pin 11 of the counter is thus 1.32 KHz.
The next counter in accordance with the illustration of FIGo 6 is the other part of the counter Z65. Thus, note the output pin 11 from the counter Z12 coupling back to the input pin 14 of counter Z65. m e output from this counter with regard to its second part is taken at pin 12 which couples back down to counter Z32 at its input pin 14. This portion of counter Z65 divides the 1.32 KHz signal by 2 and therefore, the frequency at pin 14 at the input of counter Z32 is a frequency of 660 Hz.
The counter Z32 is the last counter in the chain. It divides the 660 Mz input by 11 producing a 60 Hz signal. When the output from the counter Z32 equal binary 11, the gate Z66C
outputs a clear pulse to reset the counter Z32 back to 0~ The 60 Hz output at pin 11 is used by the sync generator circuits to produce the vertical sync (VDRV) for the video monitor~
1 Video RAM Addressin~
2 The video RAM 22 depicted in FIG. 1 is addressed for 3 different purposes. First~ the CPU addresses the video RA~ls to 4 read data from or wri~te data into specific locations o-f memory.
S The divider chain also addresses the video RAM so that data 6 contained in memory can be processed and displayed on the screen.
7 The video RAMs are either addressed by the CPU or by the divider 8 chain through the use of the three multiplexers Z64, Z49, and Z31 9 depicted in FIG.13A. These three multiplexers are used for video RAM addressing. From the divider chain previously discussed there 11 are 10 address lines that are used to address the video RAMs Z45-12 Z48 and Z61-Z63 as shown in FIG. 13~. These addresses are iden-13 tified as V0-V9 coupling in groups from the multiplexers Z64, Z49 / 14 and Z31. The chain conditioning logic supplies from multiplexeI~
Z43 the signal Cl. Counter Z65 supplies three addresses identified 16 in FIG.13Aas Rl, C2 and C4. The counter Z50 supplles three 17 addresses - C8, C16 and C32. The counter Z32 supplies the 18 remaining addresses R2, R4 and R8.
19 Assume an array of rectangles; 16 rectangles vertical and 64 rectangles horizontal. This would represent a total of 1024 21 rectangles. One could specify any one rectangle by starting at 22 the top left hand corner going down a predetermined number of rows 23 and moving to the right a predetermined number of columns. The 24 16 rows are assigned a binary number from ~ to 15. The 64 columns are assigned a binary number from ~ to 63. Thus, rectangle 0-0 26 is the one in the upper left hand corner of the array. Similarly, 27 rectangle 15-63 is in the lower right hand corner. Thus, 4 28 bits of binary informa-tion specify any one of the 16 rows and 6 50.
712 ~
~ 3 l bits of binary information specify any one of the 64 columns.
2 This is exactly the addressing format used by the counter chain.
3 Signals Cl~ C2, C4, C8j C16 and C32 specify any column and signals 4 Rl) R2, R4 and R8 specify a row. The row/column addressing : 5 format is VeTy useful in trouble-shooting video problems in 6 the system.
7 The column and row address outputs from the divider 8 chain are applied to the "l" inputs of the multiplexers. Part 9 of the address bus from the CPU is tied to the "~" input of the multiplexers. The outputs from the multiplexers are tied to the 11 video RA~Is or to other control logic associated therewith. As 12 far as control is concerned in FIG.13A there is shown the signal 13 VI~* that is generated in the address decodin~ section. This 14 signal selects the video RAMs. Pin 1 of the three multiplexers Z64, Z49 and Z31 receive this signal VID*. When the CPU wants 16 control over the video RAM, the address decoder recognizes the 17 video RAM address and causes the signal VID* to go low. When this 18 occurs the multiplexers each switch from the "l" position to the 19 "~" position. The counter chain addresses are switched out of the circuit and the CPU has control over the addressing to the 21 video RAMs. IYhen the signal VID* goes back to its high state 22 under control from thë CPU, the CPU is switched out a~ the 23 counter chain takes over. Most of the time the counter chain is 24 in control of the video RAMs. The CPU takes charge only when it needs to modify data. ' 26 In addition to the chain and CPU address, there are inputs 27 to the multiplexers not yet mentioned. The first of these inputs 28 is the resistor R49 coupled to pins 6 and 13 of multiplexer Z49.
'12 -~39~3 1 These two inputs, which are not needed in the counter chain Z con~rol over the video RAM, are pulled up to 5 volts by this 3 resistor. The output pins 12 and 7 of multiplex~r Z49 correspond 4 to the inputs at pins 13 and 6. When the chain has control over the video RAM, pins 12 and 7 output a steady high state. Output 6 pin 12 goes to the read/write control for all RA~ls thus not 7 permitting any reading or writing associated with the RAMs. The 8 counter chain does not store data in the RAM at the address it 9 specifies and thus pin 12 should be high when the chain is in control. The output pin 7 from multip~lexer Z49 couples to the ~ ,/3~
11 video RAM data buffers Z44 and Z60~ hen the chain is in control, 12 ~the RAM data bus is to be disabled and there is no reading from 13 or writing into the video RAMs. A high of the signal VRD*
14 (video read) guarantees that the bus is off. These data buffers look for a low level signal for the enabling thereof.
16 - In FIG.l~ it is also noted that the signals WR* and RD* tie 17 to pins 14 and 5 of the multiplexers Z49. ~Yhen the CPU taXes 18 charge of the video RAMs, the multiplexer output at pin 12 becomes 19 VWR* ~video write). The CPU can store data into the video RAMs by causing the signal VWR* to go low. If the CRU wants to read 21 data from the video RAMs, the signal RD* can pass through the 22 multiplexer Z49 and generates the signal VRD*. A low on this line 23 will open the data buffers Z60 and Z44. Addressed video R~M
24 data is then placed on the data bus 14. The CPU processes this data as any other data.
26 Alpha-Numeric Format 27 The video terminal 26 shown in FIG. 1 is a cathode ray tube 28 ~CRT) which is scanned twice per second. The electronic beam in 712 ~ 3~
1 the CRT travels from top to bottom of ~he screen and from left 2 to right. Each screen or frame consists of 264 scan lines. 192 3 scan lines are used in the "picture". The remaining 72 scan 4 lines are used during the vertical interval and as upper and lower boundaries. Nothing is ever written or ~isible within 6 these 72 lines. There are 1024 character locations per screen 7 or 512, depending upon the state of the signal MODE SEL. Each 8 character line comprises 64 or 32 characters depending upon the 9 state of this signal. There are 16 character lines. Each character line consists of 12 scan lines. An alpha numeric 11 character uses 7 scan lines and thus there are 5 blank scan 12 lines disposed be~ween character lines. A discussion of the 13 graphic format follows.
14 Some of the output from counters Z65 and Z50 shown in FIG.13A specify the column address~ The outputs from counter 16 Z32 specify the row or character lines. The counter Z12 speci-17 fies the scan line in any character line. The outputs from this 18 counter are labeled Ll, L2, L4 and L8. These four lines are 19 not used in video RA~I addressing because we have already stated and row and column address which will specify any one of 1024 21 rectangles in our rectangle array. The outputs from the counter 22 Z12 are used in the video processing for enabling the character 23 generator to output correct data for any character because it 24 knows where the CRT's electron beam is scanning. The signal L8 is used by the video processer to B]~K (turn-off) the S lines 26 between character lines. Associated with the multiplexers is a 27 NOR gate Z30, pins 8-10. The inputs to these pins couple from 28 multiplexers Z50 and Z32 and provide a signal BLANK*. This 712 ~39W3 1 signal is used by the video processer to give the 72 scan line 2 blanking for the upper and lower boundaries. It also defines - 3 the boundaries on ~e left and right of the screen.
4 Video RAMs The video RAM comprises 7 separate memories, one for each 6 of the data bits D0-D6. Each of these RAMs is a conventional 7 device such as the 2102AN4L device. Thes~e RAMs are static RA~ls - 8 and hence do not require refreshing. The data bus 14 is wired 9 in the same way as Wit}l regard to the system RA~Is 18. However, there is a different enabling signal which in the case of the 11 video RAMs is the signal VRD*. It is noted that there are 7 12 RAMs. 6 of these are used for storage of the ASCTI code and the 13 7th is used as a graphic/alpha numeric definition bit. There are 14 thus 8 data lines depicted in FIG.13B including lines D0-D7. Note the line labeled bit 6 ~hich has its source at the output pin 13 16 of gate Z30 which is a NOR gate shown as an AND gate with inverted 17 inputs. This gate senses bits 5 and 7 and if both are low, then 18 bit 6 is high.
19 In addition to coupling to the data bus 14, the video RA~ls 22 also couple to the video processing circuitry for the 21 generation of alpha numeric and graphic symbols. This section 22 of the system is discussed now.
23 Video Processing 24 The video processer 24 depicted in FIG. 1 may be considered as comprising 5 sub-sections shown in FIG.13Bincluding the data 26 latch, Z28, the character generator Z29, the graphic generator Z8, 27 associated shift registers Z10 and Zll, a sync generator, and a 28 video mixing/output driver. The data latch temporarily stores an 1 ASCII or graphic word from the video RAM. The latch r~tains 2 the byte for processing so that the ~AM is free to search out 3 the next byte. The character generator is a read-only m'emory 4 that is addressed by the data latch and the scan line signals.
This memory contains the alpha numeric format that makes up 6 all characters. The graphic generator is not a memory but is 7 a four line to one line data multiplexer. It operates some~Yhat 8 like a bit steering circuit. It steers an ASCII ~ord into a 9 graphic symbol. The shi~t registers accept data from the character generator or ~rom the graphic generator and convert 11 parallel dot data into serial dot data. Meanwhile the sync 12 generator circuits are accepting timing signals fro~ the timing 13 c,hain. The sync circuits shape up the horizontal and vertical 14 pulses, serrate the vertical interval and send signals out to video mixing circuitry in serial format. In the video mixing 16 section, the serial dot video and the serial sync are brought 17 together. The resulting composite video signal is then "fine-18 tuned" in amplitude and dot-to-sync ratio, and then bu~fered for 19 a 75 ohm output cable. The signal leaves the basic computer system and is applied to the display. In the displayg the signal 21 is separated into its separate components to provide a readable 22 image on the screen. The display may be a conventional CRT having 23 built therein conventional raster circuitry.
24 Data Latch The data latch comprises two separate circuits including the 26 latch Z28 for the ASCII code and the latch Z27 for the graphic 27 bit and blanking signals. The device Z27 may be a 74LS175 and 28 the device Z28 a i4LS174. The latch Z27 is a quad D flip-flop 55.
lR4/7' ~ ~ 3~o~
1 device while the device Z28 is a HEX D flip flop device. The 2 inputs to latch Z28 are from the 6 video RAMs bits 0-5. The 3 outputs from the latch Z28 couple to the character generator 4 Z29 and also to the graphic generator Z8. The inputs which control latch Z28 are on pin 9 which is the signal LATCH and 6 on pin 1 which is the signal VCLR*. The latch signal at pin 9 7 is a pulse train previously discussed and depicted in FIG. 5 and 8 developed by the divider chain input conditioning logic. This 9 signal goes low every 6 dot cycles. On the rising edge of the latch signal the ASCII data in the RAMs Z45-Z48 and Z61-Z63 is 11 transferred to the outputs and temporarily stored by the latch 12 Z28. Once this has occurred the RAM data at the input to the 13 latch may now change, and the RAM has time to search for the 14 next ASCII character. At the same time that -the latch Z28 stores the code, the divider chain changes video RAM addresses. The 16 video RA~I is now looking for the next ASCII word. It has exactly 17 6 dot times (about 56~ NANO seconds in a 64 character format) to 18 define the next word before the latch is commanded to store the 19 next word.
The device Z27 is a smaller latch storage-wise that operates 21 substantially the same as latch Z28. However, instead of storing 22 an ASCII code, it handles the graphic bit and blanking data.
23 The input pin 4 of device Z27 is tied to the output bit 7 from 24 RAM Z63, the graphic RAM by way of the inverter Z42~, pins 12 and 25 -~3. Pin 5 of the latch Z27 receives the signal BLANK*~ The 26 signal line L8 ties to the input pin 12 and the signal bit 6 is 27 tied to pin 13 of latch Z27. All of these signals are latched 28 into the device Z27 at the same time that the ASCII word is 1 latched into ~he corresponding latch Z28.
2 The inputs to device Z27 are essentially independent whereas 3 the inputs to the device Z28 represent a coded word. The graphic 4 bit which is bit 7 coupled from memory Z63 couples by way of / ~ S inverter Z42, pins l~2 and ~3 to pin 4 of the latch Z27. This 6 bit determines if the ASCII word contained in the latch Z28 is 7 an alpha numeric character or a graphic word. The input to pin 8 5 of the latch Z27 is the signal BLANK*. This signal comes 9 from the NOR gate Z30 at pin 10(, and controls the upper, lowerj left and right boundaries of the video display. When the signal 11 BLANK* is high, the electron beam of the CRT is allowed to draw 12 on the screen. When the signal BLANK* goes low, the beam is in 13 a boundary area so it prevents the beam from drawing anything.
14 The signal L8 is connected to the input pin 12 of the latch Z27 This signal also acts somewhat as a blanking signal. This signal 16 specifies where the electron beam is located in any character line.
17 When the signal L8 is low, this allows the beam to output alpha 18 numeric dot data. When the signal L8 goes high, this shuts off l9 the beam because it is now scanning one of the five scan lines between character lines. The last bit of data is coupled to pin 21 13 of the latch Z27. This input couples from the output pin 13 22 of gate Z30. This is the signal that is derived from the signals 23 bit 5 and bit 7. This is the only bit stored in the latch Z27 24 that could be considered part of the ASCII word in that this determines whether the word represents an alpha numeric character 26 or a graphic word. The output corresponding to the input pin 13 27 at pin 15 is applied to the input pin 1 of the character generator 28 Z29 discussed in detail hereinafter.
~3~1a3 1 The input pin 1 of both latches Z27 and Z28, when low, 2 forces the latches to their clear state providing all zeroes 3 at the output terminals. This signal is shown as signal VCLR~
4 (video clear) and is coupled from the output pin 6 of the D
flip-flop Z7. This flip-flop disables the data latches during 6 a CPU interruption of the video RAMs. In this regard the 7 input pin 4 of the flip-flop Z7 is tied to the signal VID*.
; 8 ~hen this signal goes low, the output pin 6 from the flip-flop g will also go low. This low signal clears the data latches Z27 and Z28. When the CPU has finished with communication with the 11 video RAMs, the input pin 4 to the flip-flop Z7 goes back to 12 a high state because VID* goes high. The next time data is to 13 be latched into devices Z27 and Z28, the flip-flop Z7 will toggle 14 back to its normal reset state and allow the data latches to operate. This clocking occurs at the input pin 3 of the flip-16 flop Z7 and is the latch signal. If the device Z7 were not used, 17 the display may be improper. For example, if it is assumed 18 that the CRT was drawing a character when the CPU took command 19 of the video RAM, after the CPU finished, the video processing circuit sees the ASCII code that was in the latch at the time 21 the CPU suddenly took control. The video circuit would try to 22 redraw the character on the screen. The character may then be 23 seen twice, or half of it would be in one place on the display 24 and half in another place. Clearing out the data latch insures that the video processer does not process incorrect data.
26 Character Generator 27 As part of the video processor 24 shown in FIG. 1, there 28 is a character generator depicted in FIG.13Bas device ~29.
~3~3(~03 On the CRT display, each character comprises a dot matrix, As previously mentioned, the matrix is 5 dots wide by 7 dots high. The system also provides for one dot between any two adjacent characters that are not turned on. This pro-vides a period for the end of the sentence, for example.
~nere are 5 dots, a space, 5 more dots, space, etc. Vertical spacing between adjacent data is determined by the frequency of the dot clock, In the system of this invention the dot clock signal is identified as signal SHIFT. The SHIFT signal couples ~rom the multiplexer Z43 and relates to the basic clock frequency, The dot clock is equal to the oscillator frequency in the 64 character format and is equal to one-half the oscillator frequency in the 32 character format, The horizontal spacing between adjacent dots is a function of scan frequency, Thus, each row of dots is aligned along the electron beam' 9 path across the CRT, there being 7 rows of character dots and 5 rows of blanks.
Since each character comprises a pattern of dots, there is to be a way to determine which dot should be on and which dot should be off to form any one character. The character generator controls the dot patterns on the screen.
The device Z29 in FIG. 13B is the character generator and may be a device MCM6670P typically made by Motorola. The 7 bit ASCII word, stored in the data latch z28, is applie~ to the inputs of device Z29 at pins 1-7.
This input address selects a certain area in the character generator. These inputs may be considered as the higher 7 bits of an address. ~he lower part of the address is in-putted at pins 8, 10 and 11. This 3 bit input selects the row position of the addressed dot pattern, These are signals ~3~
1 Ll, L2 and L4. The charac~er generator Z29 outputs S dots at 2 one time on output lines 12-16. Since each character consists of 3 7 rows of 5 dots, the character generator actually outputs 7 4 separate times to build one character.
The ollowing is a description of the manner in which a 6 typical character line is written. Assuming that an ASCII word 7 is in the latch Z28, and that the electron beam is on the first 8 scan line of the character, hence, pins 8, 10 and 11 ha~e a 9 binary C applied to them. The generator Z29 outputs the first dot pattern for that particular ASCII code. The next ASCII
11 character is applied to the device Z29. It outputs the first 12 S dots for that character. This process continues until the 13 beam has scanned the entire width of the screen. If one could 14 cease action at this time, all one would have would be a line of dots. On the second scan line, the data at pins 8, 10 and 11 16 is incremented to read binary 1. The RAM is now prepared to 17 read the second row of dots. The first ASCII character is applied 18 and it will output the second row of dots for that character.
19 The first ASCII character is the same character as previously in the latch at the beginning of the first line. The second ASCII
Zl word then is put into the latch Z2~ and a second row of dots is 22 generated, etc. This process continues until all 64 characters 23 have had the second row outputted under the first row of dots.
24 The line counter increments and we apply the first ASCII word once more. Essentially, we paint a row of dots, increment the 26 line counter and then paint another row. Any character in a 27 line is accessed then at least 7 times. Once the line counter 28 has gone past the 7th dot, all dots should then orm the character 60.
~4/712 9130:~
1 a~ this dot pattern should be discernible as a character.
2 After the 7 dot scans are outputted, the electron beam is turned 3 off; and 5 rows of blank dots are outputted. The system is 4 then ready to output the first row of dot patterns for the second f F/6,i7/1) character line. The counter Z12Ais the counter that increments 6 in binary to provide the proper binary signals Ll, L2 and L4.
7 This counter is referred to as the line counter.
8 Gra~hics Generator 9 Previously, with regard to character generation, mention .
was made of the réctangular array used to define each character.
11 As stated earlier, there are 1024 character locations in the video 12 RAM. If the large rectangle of 12 x 6 is sub-divided into 6 13 smaller rectangles, then there is provided the basic graphic 14 cell as depicted in FIG. 7. This cell is the smallest piece of graphic information that is to be displayed on the screen.
6 Each cell is 4 scan lines high and 3 dots wide.
17 Adjacent to the character generator Z29 is the graphics 18 generator Z8 which may be a device 74LS153. Actually, the 19 device Z8 is not a generator but rather it steers the ASCII
addresses round to simulate a graphics generator. The input 21 to device Z8 is the ASCII code from the latch Z28 along with the 22 inputs at A and B which are the higher order address lines 23 from counter Z12, namely, signals L4 and L8. These signals 24 can represent any four numbers from binary 0 to binary 3.
Please note ~IG. 7. However, since counter Z12 does not go to 26 binary 12, we will only be looking for a binary number from 0 to 27 3. Address lines L8 and L4 are used to specify the vertical 28 address of the 6 graphic cells. There are three vertical 61.
712 ~ ~ ~ 3~ ~ ~
1 addresses: 00 defines the uppermost pair of cells, 01 defines 2 the middle pair of cells and 10 defines the lower pair.
3 The ASCII word, labeled LB0-LB5 determines if the graphic 4 cell is on or off. The position of one of these inputs to device Z8 determines which side of the center line the cell is 6 located with reference to the diagram of FIG. 7. An input at 7 pin 6 of device Z8 specifies a left hand graphic cell while an 8 input at pin 10 specifies a right hand graphic cell. Similarly, 9 pin 5 denotes left, while pin 11 denotes right and pin 4 notes-left while pin 12 denotes right. For example, ~ssu~ing that 11 the signal LB2 is high and all other inputs to device Z8 are 12 low, this high input at pin 5 is associated with a graphic cell 13 location on the left of the character position. Therefore, 14 depending on the status of signal L8 and L4, LB2 will turn on one of the graphic cells on the left of the center line of FIG.
16 7. If L8 and L4 are at logical 00, the uppèr left cell is turned 17 on. If signal L8 and L4 are 01, the middle left cell will be 18 activated.
19 In summary, the function of device Z8 is to steer the ASCII
word essentially around the character rectangle. The vertical 21 position oE the graphics in the cell is determined by the status 22 of addresses L8 and L4. The two outputs from the device are 23 labeled left and right. This dot information is applied to the 24 graphics shift register Zll. It is in shift register logic that data from the memory Z63 determines if graphis or alpha numerics 26 are to be written in any one character rectangle.
27 Alpha Numeric/Graphic Shift Register 28 The device Z10 shown in FIG.13B is a shift register and is ~3~3 termed herein the alpha numeric shift register. The device Zll is the graphic shift register. Both of these devices receive parallel data from their respective generators. The parallel dot data is loaded into the registers and the dot clock (labeled SHIFT) shifts the dots out, one behind the other, to the video mixer comprising transistors Ql and Q2~
There are some restrictions as to when the alpha numeric shift register may send its serial data. First, the data must be alpha numeric and not graphic. Second, the electron beam is to be on one of the 7 scan lines that are reserved for dot data and not on one of the 5 lines that are blanked between character lines. Third, the electron beam is 'co be on one of the 192 scan lines that define the video portion of the screen. Once all three restrictions are met, the dot data is parallel loaded into the register. NAND gate Z26A at its input pins insures that all conditions are met before data is stored in the shift register Z10. The delay bit 7* is coupled from the output pin 2 of latch Z27 and couples to one input gate Z26A. When this input is high, data in the memory Z63 is low thus defining an alpha numeric character rather than a graphic. m e delayed signal L8 has its source at pin 11 of the latch Z27 which couples to another input of the gate Z26A.
When this input is high, the beam is scanning in a character line and not between the character lines. The delayed BLANK
signal has its source at pin 7 of the latch Z27 and is tied to a further input o the gate Z26A. When this input is high, the electron beam is in the video portion of the screen and is not located near a sync pulse or in some boundary region. All three restrictions have then ~ ~3~
been met. The input at another pin of the gate Z26~ is tied to the inverted signal LATCH. When this input goes high, the dot load process is activated by a low at the output of gate Z26A.
Upon the next clock pulse by the SHIFT signal at pin 7 of the register Z10, the dot data ic loaded into the shift register.
After the signal LATCH goes back high (one dot time after going low), the shift register starts clocking dot data out at its pin 13 in a serial stream. When the signal LATCH goes high, gate Z26A has its output pin go high. Thus, each time that the signal LATCH goes high, it forces ASCII and conditional data to be stored in devices Z27 and Z28. During this time this shift register Z10 is not shifting dots out. This register only shifts data out when the input pin 15 is high. When this is low, this forces the shift register Z10 to load data from the character generator.
It is noted that there are unused inputs to the shift register Z10. Pin 9 is a clear input which is pulled up by way of resistor R40. When this pin i 5 low, the screen is blanked.
Pins 14, 3, 2, 1 and 6 are tied to ground. Pin 14 gives the blank dot between adjacent characters. Pins 2 and 3 are not used by are register inputs like pins 4 and 5. Pin 1 is for serial data input and pin 6 inhibits the clock input. They are not necessary in the particular application shown in the drawing.
The operation of the graphics shift register Z10 is similar to the operation of the shift register Zll except for the conditions that must be met for its use. First, the memory Z63 must specify a graphics character instead of an alpha numeric character. Second, the electron beam is to be in the video region of the screen. Fu~therm~re, since a character rectangle ends where another starts, there is no inter-character line blanking. If one turns on all of the graphic cells, there will be a full large square with no holes and boundaries surrounding the square. Once all of the restrictions are met, graphic dot data may be loaded into register Zll for shifting to the video mixer. The other NAND gate Z26B having its output at pin 6 is usea as the graphics load enable this gate senses all of the proper restrictions for graphics. It is noted that the inverse of delay bit 7* is used coupled from pin 3 of the device Z27.
This signal is applied to one input A of gate Z26B. When high, this input tells gate Z26B that the memory Z63 contains a "1"
which defines a graphic code rather than an alpha nu~eric coae. The signal delay BLANK is tied to two inputs of the gate ~26B. When this signal is high, this tells the gate that the electron beam is indeed in the video portion of the screen.
Once all conditions are met and the signal LATCH goes low, the gate Z26B has its output go low. This signal will load dot data into the shift register Zll and when the input pin 15 goes back to its high level, the shift process will start. The 6 graphic dots are shifted out on the output pin 13. These 6 dots represent dots in a series along a single scan line within the rectangle of FIG. 7. It is also noted that pin 9 of the register Zll is pulled up by resistor R4Q. Li~ewise, pins 3, 2, 1 and 6 are tied to ground but pin 14 is used. In graphics there is not a blank space between character rectangles.
Sync Generator The sync generator circuit accepts timing signals from the divider chain to develop horizontal and vertical sync pulses for ~3~1~3 the display. These pulses are used by the display to control the electron beam of the CRT. The sync generator receives horizontal and vertical drive signals and provides a single composite output signal referred to as the SYNC signal.
For the sync generator refer to FIG. 13C. Ihe inverters Z6A, Z6B, Z6C, Z6D are used to generate the horizontal pulse while inverter gates Z57A, Z57B, Z57C, Z57D generate the vertical pulse. Signal HDRV (horizontal drive) is taken from the divider chain at counter 50, pin 11. This signal is buffered by gates Z6 and applied to potentiometer R20. This potentiometer controls where the vertical pulse starts in reference to the signal HDRV. When the wiper of potentiometer R20 is close to pin 2 of gate Z6B, the horizontal pulse will start almost at the same time as the signal HDRV goes high.
When the wiper is moved in the opposite direction, there is a delay between the time the signal HDRV goes high and the time the horizontal pulse starts. This phase shift if performed by potentiometer R20 in combination with capacitor C20 and the two other inverters Z6C, Z6D. This circuit arrangement provides the complete shift network~
In operation, when the signal HDRV goes high, this causes the output at pin 2 of gate Z6B to go high to say 5 volts. A
current flows through potentiometer R20 charging capacitor C20. While this capacitor charges, the voltage at the input of gate Z6C slowly increases from O as the current through potentiometer increases. A~ter a length of time, the voltage to gate Z6C is sufficiently positive. When that occurs, the output pin of the gate Z6D goes high. This causes capacitor C20 to charge rapidly.
139~;~
The logic stays in this mode until the signal HDRV goes to its low state. At that time the capacitor C20 starts to di~charge at the same rate it charged. When the voltage at the input of gate Z6C decreases to a logic O level the output of gate Z6D
goes low. Capacitor C20 then rapidly discharges. The process cycle is now completed until the next HDRV signal goes high.
The time and voltage level at the input of gate Z6C stays above the minimum logic 1 level determines ~he amount of shift from the signal HDRV. The effect of potentiometer R20's position which adjusts the time delay, on the screen is a horizontal shift of video display.
After the horizontal signal is phase shifted, the horizontal pulse is shaped. The circuit includiny capacitor C21 and resistor R43 for~ a differentiation network which creates a smaller pulse of no width from the shifted HDRV
signal~ ~en the output of gate Z6D goes high, capacitor C21 and resistor R43 differentiate the rising edge. A narrow pulse is passed to gate Z6E inverted twice to provide a liXe output pulse at the output of gate Z6E. ~his provides a pulse of about 4 microseconds duration referred to as a horizontal sync pulse.
The vertical sync phase shift operates in the same manner as the horizontal phase shift. Instead of the gates Z6, there are provided a series of gates ~57A - Z57F with potentiometer R21 and capacitor C26 forming the delay network. The differential network comprises capacitor C27 and resistor R~4.
The only basic difference between the horizontal and vertieal circuits is the value of the two capacitive devices.
Horizontal and Vertical Mixin~
Once the two sync pulses are phase-shifted and pulse-shaped, they are coupled to the gate arrangement including gate array ~5 comprised of four separate MAND gates Z5A-Z5D, This gate arrangement is used to mix the two signals together and serrate the vertical intervalO In this connection, re~erence is made to FIG. 8 which shows idealized waveforms at different locations of the gate array Z5. FIG~ 8 identifies each of the pin connections at gate array Z5. Line A shows the horizontal pulses. Line B shows the vertical pulses, pins 1 and 5 of gate Z5 are tied to the waveform shown at line A.
m e resulting output pin 3 of gate Z5 is shown in line C of FIG, 8. Thè waveform at line C is now used as a source to NA~D the horizontal and vertical syncs once more. Line D
shows the result of combining lines A and C. Line E depicts the result of providing a NAND operation between lines B
and C. Line F shows the resulting waveform which is a mixed sync wave shape created by combining waveforms of lines D
and E at gate Z5, pins 9 and 10. It is noted in FIG. 8 at line F that this output is a "false" composite sync. In other words it is inverted away from true form. Secondly, Z0 the gate array Z5 may be evaluated down using Boolean algebra into a two input exclusive OR gate, The output at line C may be expressed as VH+HV, where V is vertical sync at line B and H is the horizontal sync at the line A in FIG. 8.
Video Mixin~
The video mixing circuitry is shown in FIG. 13C
and generates the composite video signal for the display.
As previously mentioned, the display may be a conventional CRT having raster scan circuitry. Video mixer accepts both alpha numeric or graphic dot data from the shift register, level-shifts it, and ~39~
places it atop the composite syncs. The composite waveform is then buffered to drive a 75 ohm impedance and is sent, via cable, to the video display to our video terminal 26 as- de-picted in FIG. 1.
Dot data from either the shif-t register Z10 or the shift register Zll is applied to the inputs of the ~OR gate Z30 (FIG. 13~). Signals will not be present at both of these inputs at the same time. While the register Z10, for example, is outputting alpha numeric data, the register Zll at pin 13 should be continuously at a low level. Conversely, if the shift register Zll is outputting graphic data, then the oukput pin 13 from the shift register Z10 is at a low level. The net result at the output pin 1 of gate Z30 is a single wave-shape of video dot data~ This data is applied to device Z41 at the input pins 6 and 7.
The composite sync data is coupled from the OUtpllt pin 8 of gate array Z5 and is applied to the base of transistor Q2. Each time the base of transistor Q2 goes about 0.6 volts below a 5 volt level, the transistor turns on thus applying 5 volts to resistor R28 but actually, the voltage applied to resistor R28 is slightly less than 5 volts due to the voltage drop at saturation across the collector and emitter of trans-istor Q2.
The dot data from gate Z30 at pin 1 is inverted by the device Z41 and a resulting output at pin 5 is a normally low signal which goes high only when the shift registers out-put a dot. The device Z41 is a high current driver. The output at pin 5 is the collector of the output buffer trans-istor as illustxated. Thus 9 the video and sync are going to two transistors. q~ese transistors function as switches con-trolling current flow through ~ D3 1 the resistor network of resistors R28t K27 and R23. FIG. 9A shows 2 a simplified drawing of this circuit. In FIG. 9A the transistor 3 Q2 and the device Z41 are represented as mechanical switches.
4 l~hen transistor Q2 is opened, there is no voltage applied to resistor R28 and the output node is at ground level. When 6 transistor Q2 closes and with device Z41 also held closed, the 7 output voltage ~oes up to about 1.23 volts. This voltage i5 8 referred to as the black level voltage. A voltage below this level 9 is referred to as a sync level. A voltage above 1.23 volts may be called a white level. Normally, the black level stays at 1.23 ll volts until the sync occurs at pin 8 of gate Z5 with this 12 output going high turning off transistor Q2 and forcing the output 13 at the node to go to ground. When dot data causes switch Z41 to 14 open, the voltage at the output node increases to about 2.75 volts. Thus, we now have a signal at the output node re~erred 16 to as the output in FIG. 9A which contains both video dots and 17 sync information. This signal is almost ready for display. ~11 18 that is necessary is some level shifting and output buffering.
19 In the video mixing circuit the transistor Ql is used as a common emitter amplifier. The composite video is applied to the 21 base of transistor Ql and the emitter outputs the waveform shol~n Z2 in FIG. 9B. This final signal is used by the video terminal 26 23 for operation thereo~. Capacitors C7 and C2, together with 24 resistor R30 form a filter network for the collector of transistor Ql. The capacitors insure the DC bias level on the collector is 26 video free and helps in reducing power dissipation in transistor 27 Ql.
70.
1 Keyboard 2 The keyboard 20 o FIG. 1 is described in detail in FIG. 15 3 and comprises 53 single pole, single throw, normally open keys 4 molded in a plastic base. The base is mounted together with 4 integrated circuits and associated resistors to a keyboard 6 printed circuit board. This keyboard is not of a conventional 7 type that outputs an ASCII code. Rather, each key represents a 8 switch across a matrix node. When the switch is closed, the 9 switch will short out a horizontal line to a vertical line.
Software in the ROM 16 detects the node short and generates an 11 ASCII word equivalent for the particular key. The keyboard is 12 accessed by decoder signal KYBD*. When this signal is low, it 13 enables tri-state buffers Z3 and Z4. The inputs to these buffers 14 are normally held high by the pull-up resistors Rl-R8 at the top of the keyboard. All of the hori~ontal address lines A0-A7 go 16 high at the same time that the signal KY~D* goes low. If the 17 CPU detects a logical l'l" on one of the data lines D0-D7, this 18 indicates to the CPU that there has been a key pressed on the 19 keyboard. Thus, the CPU continuously is in readiness for such a keyboard detection. Once the:CPU detects this, the ROM will 21 then scan the address lines, one-by-one until it finds the 22 lllll output on the data bus. After locating the output, the RO~I
23 instructs the CPU to generate the ASCII code for that particular 24 key. At that time the CPU also checks the status of the two shift keys. If one of these keys is not pressed, the ASCII code 26 is not modified. If a shift key is pressed, the ASCII code is 27 modified accordingly. This modification is for providing upper 28 and lower case outputs.
~3~
The inverters on the address lines in the keyboard are ope~
collector types~ With no key pressed there is no voltage applied to the lines KRO-KR7. When a key is pressed, the associated pull-up resistor supplies a voltage. Then there will be activity on the KR line.
Input and Output Port The computer system of this invention, as previously mentioned, is memory mapped. However, it may be provided with input/output ports. In memory mapping, the CPU knows where the data is. ~owever, with regard to a port, the CPU does not know where the data is located. If the port is some kind of memory device the CPU will output that data to the port and it is up to the port circuitry to process and store the data. In the input condition, the CPU accesses the input port and it is up to the port to find data and feed this data to the data bus which couples to the CPU. The CPU can access up to 256 output/input ports. However, in the system of this invention as described, only one is used and this is the cassette recorder 40 as depicted in FIG. 1 and shown in more detail in FIG. 13D. Its address in HEX is FF. Ports are accessed using only the lower 8 address lines.
Port Addressing Because in the basic system only one output/input port is used, there is only provided one port decoder. The NA~D gate Z54 (FIG. 13D) monitors the address bits Al-A7 while the gate Z52 monitors the address line AO. When the code HEX FF is outputted on address lines AQ-A8 the outputs from these gates at Z54 and Z52 couple to gate Z36 providing a low output II 3L35~;~3 signal at the output pin 3 of gate Z3~. This signal is combined in gates Z25A and Z25B with the signals IN* and OUT*.
If there is a low at signal OUT* because the CPU wants to access an output port, there is a singal from the output of gate Z25B identified as the signal OUT SIG*. If on the other hand, the signal IN* is low because the CPU wants to access an input port there will be an output from gate Z25A generating signal IN SIG*. The signals IN* and OUT* will never be active at the same ti~e and hence the corresponding signals IN SIG*
and OUT* will not be low at the same time.
OUT SIG*
This signal line is used to control two cassette functions and one video function. It is used to generate the audio signal for the cassette recorder under a CSAVE condition. It is used to control the motor of the recorder also. Its video function is to control the signal MODE SEL (mode select). This signal will change between 64 and 32 character formats. The signal OUT SIG* is also for controlling a latch made up of the NA~D gates Z24 discussed later and depicted in FIG. 13D as OR
gates having inverted inputs.
m e device Z59 is a data latch having its clock input at pin 9 controlled by the signal OUT SIG*. ~his latch accepts data from the data lines DO-D3. The data lines DO and Dl are tied to pins 4 and 5 of this device. These two inputs are used to input data that is recorded on tape during a CSAVE
function. m e input data line D2 is connected to pins 12 of the latch. This input controls the status of the motor of the recorder. The last input at pin 13 is connected to provide the sign~l MODE SEL*.
' -The inputs to the latch Z59 are stored an~ trans-ferred to the output each time that the signal OUT SIG* goes high (rising edge triggered). For example, if input D2 is high when the clock signal occurs, the output pin 10 goes to a high state and stays in that state. This signal turns the recorder's motor on. On the other hand if the input D2 is low when the clock signal occurs, the output pin 10 is low and the recorder's motor will be turned off.
Cassette Motor Control At the start of a CSAVE function, the cassette re-corder motor is to be turned on. Thus, the CPU will cause the signal OUT SIG* to go low and apply a logic high level to data line D2. When the signal OUT SIG* goes high, the high signal on line D2 is transferred and held at pin 10 which is one of the output pins of device Z59. This output is connected to relay driver Z41 at pins 1 and 2. The output pin 3 at the collector of the transi~tor in Z41 goes low causing current to flow through relay coil Kl. The contacts KlA
associated with relay Kl close shorting out pins 1 and 3 of the connector J3. These two pins are associated with the remote jack at the recorder. ~rhis action turns on the motor of the recorder.
A diode CR3 is coupled across the relay coil Kl~
This diode is a standard silicone diode used for an anti chatter function. When power is applied to or removed from the coil Kl, a counter EMF is generated. This voltage could be high enough to damage the o~tput transistor of device Z41 or could cause relay Kl to click off and on a few times pro-ducing undue wear to the switch contacts. The diode CR3 shunts the counter EMF voltage around coil Kl and prevents transistor damage or relay chatter. ~he zener diodes CR9 and CR10 w~ich are connected in series are used in somewhat the same way. These diodes protect the switching contact associated with relay coil Kl~ When the recorder is turned on, a high voltage spike may be produced. The contacts operated by the coil Kl could be welded together but the diodes CR9 and CR10 prevent possible damage by shunting any voltage spikes above a certain level.
Cassette Audio Output After the motor is turned on, the CPU may output data for stor~ge on the cassette tape. All data timing for this output function is software control. The decoder Z59 is used to store data from the CPU and it constructs the output waveform using CPU data. CPU data, under software control, is applied to the latch Z59 on pins 4 and 5 as data inputs DO and Dl, respectively. Output pins 2 and 6 from the device Z59 are connected to a resistor network comprising resistors R53-R56. As the signal OUT SIG* is clocking data into the device Z59, the resulting output on the line labeled CPSSOUT, resembles a sign wave constructed of square waves. In this connection, reference is made to FIG. 10 which is an illus-tration of one bit time of 2 milliseconds.
In FIG. 10, the voltage output is a function of the levels on the output pins 2 and 6 from the device Z59. In the period labeled Tl~ the output is shown at 0.~6 volts. The time Tl is the period in which the output pin 2 is zero volts and the output pin 6 is high. The voltage during period T2 is outputted when pin 2 is high and pin 6 is also high.
l'his voltage may be 0.85 volts.
'~;.
0a3 1 The voltage during period T3 is outputted when pin Z is low 2 and pin 6 is low thus represented by a 0 volt Ievel. From the 3 start of 1 bit time to the start of the next bit time is Z
4 milliseconds. A 1 or 0 is dependent upon the presence or absence of a pulse between the start of two bit times. For 6 example, when a the CPU outputs a 1 bit, it will generate a 7 start pulse. 1 millisecond later another pulse will be generated.
8 1 millisecond thereafter a start pulse of a new bit is generated.
9 If this bit is to be a 0, then there will be a 7 millisecond delay before another pulse is generated and this pulse starts 11 the third bit time. Now the pulses are outputted to the 12 cassette recorder at pin 5 of jack J3. This pin is tied to the 13 auxiliary (AUX) input of the recorder. The CPU outputs all of l4 the instructions inthe system RA~ to tape during this CSAVE
function. I~hen the function is complete, audio to the recorder 16 is disabled and a low is outputted at line D2, shutting off the 17 motor of the recorder.
l$ Data is written on the tape in the following manner. l~hen 19 a CSAVE function is to be executed, the CPU via data lines D0-D3 forces the device Z59 to output 128 zero bits. The CPU
21 then outputs HEX A5 used by the CPU during CLOAD for synchroniza-22 tion. A 2 byte starting address and a 2 byte ending address is 23 next added. Then the data follows for however long it is. After 24 the data, the last portion to be stored on the tape is the check sum. This one byte number is the sum of all data added together.
26 It is used by the CPU to insure what it CLOADed-in is what it 27 was CSAVEd-out. If the check sums don't match up, then there was 28 a load error.
~l :a31L3~
Cassette Audio Input If the recorder could faithfully give back what was sent to it, one could eliminate a quad operational amplifier and a handful of associated components. However, this cannot be assured ana thus there is the need for the operational amplifiers Z4 (four such amplifiers). Actually, the recorder even adds extraneous information to the signal such as motor noise and 60 cycle hum so as to complicate signal processing.
Upon a CLOAD instruction (cassette load) from the CPU, the recorder motor turns on and cassette audio is applied-to pin 4 of jack J3. This signal is referred to as signal CASSIN. This audio signal is coupled to capacitor C24 and resistor R67 at the input of the audio processer section. Amplifier Z4 at pins 1 and 6 and output pin 5 form an active filter. This part of the circuit is used to filter out undesired noise and hum present in the signal CASSIN. This is a high-pass filter with about a 2KHz roll off.
The CASSIN input signal has data pulses riding atop a 60 cycle hum signal. After passing through the high-pass filter, the resulting waveform has the 60 cycle removed and only the data pulses a;e left. ".~e signals are swinging above and below a base line of about 2.0 volts. FIG. 11 shows some idealized cassette signals. The signal at line A in FIG. 11 is the type that can be expected at the output of the active filter at pin 5 of one of the amplifiers Z4.
Once the filtering has occurred, the next section of operational amplifier is used as an active rectifier. Note the diodes CR4 and CR5, together with biasing resistors such as ~35~03 1 resistors R24, R34 and R35. This arrangement provides a ~ull 2 wave rectifier to the data pulses. A typical output on the 3 cathode side of diode CR4 is shown at line B of FIG. 11.
4 After rectification, the signal is inverted and amplified.
The amplifier Z4, pins 8, 13 and 9 are wired to form an 6 inverting amplifier circuit. The ratio of resistor R41 to 7 resistor R42 provides a gain of about 2 for the amplifier. Line 8 C in FIG. 11 shows a typical output at amplifier Z4, pin 9.
9 The last stage of the operational amplifiers is used as a level detector. In this last stage, the diodes CR6 and CR7 ll together with capacitor C39 form a power supply of sorts. The 12 amplified audio signal from amplifier Z4 at pin 9 is applied 13 to the anode of diode CR6. Diodes CR6 and CR7 decrease the 14 voltage level of the incoming signal by about .8 to 1.1 volts.
Capacitor C39 filters the resulting voltage and creates a DC
16 signal such as the one shown on line D of FIG. ll. If the 17 signal output from amplifier Z4 at pin 9 drops below the 18 reference voltage level at capacitor C39 of the amplifier Z4 19 at pin 10 will go low. It will stay at this low state as long as the voltage on pin 12 stays below the reference voltage.
21 Line E in FIG. 11 shows the resulting output from amplifier 22 Z4 at pin 10. It is noted that a couple of pulses of audio 23 have been lost because the signal did not swing toward ground 24 enough to trigge.r the amplifier Z4 at pin 10. The negative transition at pin 10 is used to set flip-flop Z24 comprised of two cross-coupled gates. Cassette data is converted into 27 program data by the software in the ROM and the CPU. The data 28 from the flip-flop of cross-coupled gates Z24 is coupled by 78.
3~
~eans of buffers z44 pins 11 12 and 13 14 to the data lines D6 and D7.
IN SIG*
The transfer of data from the cassette to the CPU involves the generation of the signal IN SIG*. The gate Z25 receives the signal IN* from the CPU. This is a control group signal from the CPU. This signal goes low when the CPU wants to input data from a port. Port addressing has already been discuss~d.
A low at gate Z25A and a low at the output of gate Z36 pin 3 causes a low at the output pin 6 at the gate Z25A. This signal is the IN SIG* signal. This signal controls the buffer gates Z44. The gate Z44 at pin 12 is coupled from the pin 8 output of gate Z24. ~le two gates Z24 are wired to form a set-reset latch.
If the input to gate Z24 from pin 10 of device Z4 goes low pin 8 at its output will go high. Pin 8 is cross-tied to the other gate Z24. If pin 13 is high with pin 12 also being high the output pin 11 is low. With a high at pin 8 and a low at pin 11 the flip-10p is considered as being in its set state.
If pin 8 is low and pin 11 is high flip-flop is considered as being reset. ~he flip-flop is set by cassette data and reset by the signal OUT SIG*. The gates Z44 monitor the status of the flip-flop Z24 under command of the signal IN SIG*. When a cassette load siynal is entered via the keyboard (CLOAD) the signal OUT SIG* goes low starting the motor of the recorder and resetting flip-flop Z24 by pulsing the input pin 13 low. The first time the input pin 9 of Z24 goes low this starts the first bit time. This is shown in FIG. 12 at line A. Line D
the output of the latch ~39003 1 at pin 8 of Z2~ goes high as soon as pin g goes lo~. Next, the 2 signal OUT SIG* goes low after a short time delay as indicated 3 on line C of FIG. 12. This signal resets the flip-flop as indicated 4 in line D of FIG. 12. A short time after the signal OUT SIG*
goes back to its high state, the CPU tests the device Z24 at its 6 pin 8 to determine the status by enabling the buffers Z44. Line 7 D is low at this time. The CPU recognizes a logical 0 during 8 bit time 1 as shown by the 0 under line D. The next time line A
9 goes low is the start of bit time 2. The low on device Z24 at pin 9 sets the flip-flop. The signal OUT SIG* resets the flip-11 flop a short time later. The signal IN SIG* then enables the 12 buffers Z44 and checks the status of the flip-~lop. The CPU
13 sees a 0 again, so bit time 2 is a 0 bit. The next low on line 14 A starts bit time 3. Again, its sets the flip-flop and a short time later a signal OUT SIG* resets the ~ip-flop.
16 Before the signal IN SIG* can test the statNs, another low 17 comes fromthe audio processing level detector and sets the 18 flip-flop. Now the sign~ IN SIG* goes low checking the status.
l9 It finds the output pin 8 from the device Z24 is high. The CPU labels bit time 3 a l then rather than a 0. Now the CPU
21 resets the flip-flop before bit time 4 starts. Line C shows 22 the added signal OUT SIG* pulse to reset the device Z24. The 23 flip-flop is reset and stays reset until the next low on line A
24 sets it again. The CPU finds bit time 4 to contain a 0. This set/reset process continues until the CPU has read every bit time 26 of the program that was stored in the cassette. It is the 27 responsibility of the CPU to assemble the bit times into data 28 words; the words into text; and store the text in the random 80.
.... . . . _ ., 1 access memory.
7- The basic language of the computer is stored in ths RO~
3 and in accordance with the system of the present invention it is 4 quite easy to expand the mathematical and symbolic capabilities.
In a first generation system there is employed a 4K ROM whereas 6 a higher generation system employs a 12K ROM. The basic hardl~are 7 of the system does not change. The only basic different being 8 in the machine language contained in the ROM. In the higher g generation machine, there may be contained three 4K ROMs instead lQ of the two 2K ROMs depicted in the drawings. This ROM connects 11 to the CPU at addresses All, A12 and A13 and also receive the 12 signal ROM*.
13 In FIGS. 13 and 14 showing the majority of the details of 14 a specific embodiment of the invention, each of the devices~has an identification number. For example, devices Z35 and Z51 16 shown in FIG. 14B are multiplexer devices identified by a well-17 known part number 74LS157. These types of devices can be made by 18 any one of the well-known integrated circuit manu~acturers such as 19 National Semiconductor, Texas Instruments, or Motorola. Below is a table setting forth each of the components including 21 resistors and capacitors along with the specific value or type 22 of component that is used;
24 Cl 220 ~F, 16V, Electrolytic, Axial 25 C2 10 ~F, 16V, Electrolytic, Radial 26 C3 0.01 ~F, 10% 25V, Disc 27 C4 10~F, 16V, Electrolytic> Radial 28 C5 10~F, 16V, Electrolytic, Radial ,, ~1.
~3~3 1 C6 lOO~F, 16V, Electrolytic, Radial 2 C7 O.Ol~F, 10%, 25V, Disc 3 C8. 2,220~F, 35V, Electrolytic, Axial :4 C9 lO,OOO~F, 16V, Electrolytic, Axial - 5 ClO lO~F, 16V, Electrolytic, Radial 6 Cll lO~F, 16V, Electrolytic, Radial 7 C12 470pF, 50V, Disc 8 C13 470pF, 50V, Disc 9 C14 O.Ol~F, 10% 25V, Disc C15 O.Ol~F, 10%, 25V, Disc 11 C16 O.l~F, 10% 12V, Disc 12 C17 O.I~F, 10%, 12V, Disc 13 C18 O.l~F, 10%, 12V, Disc 14 Cl9 O.l~F, 10% 12V, Disc C20 330pF, 10% 50V, Disc 16 C21 750pF, 10~, 50V, Disc 17 C22 O.l~F, 10%, 12V, Disc 18 C23 O.l~F, 10%, 12V, Disc 19 C24 220pF, 10%, 50V, Disc C25 220pF, 10% 50V, Disc 21 C26 0.047~F, lOOV, Polyester Film 22 C27 0.022 F, lOOV, Polyester Film 23 C28 O.l~F, 10%, SOV, Disc 24 C29 O.l~F, 10%, 12V, Disc C30 O.l~F, 10%, 50V, Disc 26 C31 O.l~F, 10%, 12V, Disc 27 C32 O.l~F, 10%, 50V, Disc 28 C33 O.l~F, 10%, 12V, Disc 82.
71 3 1139~3 1 C34 0.1~F, 10%, 50V, Disc Z C35 0.1~F, 10%, 12V, Disc 3 C36 0.1~F, 10%, 12V, Visc 4 C37 0.1~F, 10%, 12V, Disc C38 0.1~F, 10%, 12V, Disc 6 C39 0.1~F, 10%, lZV, Disc 7 C40 0Ol~F, 10%, 12V, Disc 8 C41 0.1~F, 10%, 12V, Disc 9 C42 22~F, 16V, Electrolytic, Radial .-C43 47pF, 10%, 50V, Disc 11 C44 0.. 1~F, 10~, 12V, Disc - 12 C45 0.1~F, 10%, 12V, Disc 13 C46 0.1~F, 10%, 12V, Disc 14 C47 0.1~F, 10%, 12V, Disc C48 0.1~F, 10%, 12V, Disc 16 C49 0.1~F, 10%, 12V, Disc 17 C50 . 0.1~F, 10%, 12V, Disc 18 C51 0.1~F, 10%, 12V, Disc 19 C52 0.1~F, 10%, 12V, Disc C53 0.1~F, 10%, 12V, Disc 21 C54 0.1~F, 10%, 12V, Disc 22 C55 0.1~F, 10%, 12V, Disc 23 C56 0.1~F, 10%, 12V, Disc 24 C57 10~F, 16V, Electrolytic, Radial DIODES
26 CRl lN4735, 10%, 6.2V, Zener 27 CR2 lN5231, 5%, 5.1V, Zener 28 CR3 lN4148, 75V
. . . 83.
712 ~Ll39(~
1 CR4 lN4148, 75V
2 CR5 lN4148, 75V
3 CR6 lN4148, 75V
: 4 CR7 lN4148, 75V
CR8 Bridge Rectifier, MDA202, 2A, 202V
6 CR9 lN982, 75V, Zener 7 CR10 lN982, 75V, Zener 9 Jl Connector, Socket, DlN, 5Pin J2 Connector, Socket, DlN, 5Pin 11 J3. Connector, Socket, DlN, 5Pin 13 Kl 5V Relay 14 . TRANSISTORS
Ql 2N3904, NPN
16 Q2 MPS3906, PNP
17 Q3 TIP29, Driver 18 Q4 2N6594, Power 19 Q5 MPS3906, PNP
Q6 MJE34, Power 22 Rl 68 ohm, 1/2W, 5%
23 R2 2.7 K, 1/4W, 5~
24 R3 75C ohm, 1~4W, 5%
R4 0.33 ohm, 2W, 5%
26 R5 lK Trim Pot, 30%
27 R6 1.2 K, lJ4W, 5%
28 R7 1.2K, 1/4W, 5%
~4.
1 R8 100 X, 1/4W, 5%
2 R9 3.3K, 1/4W, 5%
3 R10 lK, Trim Pot, 30%
4 Rll 3.3K, 1/4W, 5%
R12 3.3K, 1/4W, 5%
6 R13 2.2K, 1/4W, 5%
7 R14 12K, 1/4W, 5%
8 R15 1.5K, 1/4W, 5~
9 R16 1.2K, 1/4W, 5%
R17 2K, l/4W, 5%
11 R18 5.6 ohm, 3W, 5%
12 R19 220 ohm, 1/2W, 5%
13 R20 lO0 K, Trim Pot, 20%
14 R21 100 K, Trim Pot, 20%
R22 75 ohm, 1/4W, 5%
16 R23 120 ohm, 1/4W, 5%
17 R24 680 K, 1/4W, 5%
18 R25 1.6 Megohm) 1/41~, 5%
19 R26 1 Megohm, 1/4W, 5%
R27 330 ohm, 1/4W, 5% .
21 R28 270 ohm, 1/4W, 5%
~- 22 R29 1.8K, 1/4W, 5%
23 R30 47 ohm, 1/4W, 5%
24 R31 10 ohm, 1/4W, 5%
R32 lOK, 1/4W, 5%
26 R33 360 K, 1/4W~ 5%
27 R34 470 K, 1/4W, 5%
28 R35 470 K, 1/4W, 5%
85.
'712 1 R36 360 K7 1~4W, s~
2 R37 560 K, 1/4W, 5%
3 R38 270 K, 1/4W, 5%
4 R39 4.7 K, 1/4W, 5%
R40 4.7 K, 14/W, 5%
6 R41 470 K, 1/4W, 5%
7 R42 1.0 Megohm, 1/4W, 5%
8 R43 10 K, 1/4W, 5%
9 R44 10 K, 1/4W, 5%
R45 470 K, 1/4W, 5%
11 R46 910 ohm, 1/4W, 5%
12 R47 10 K, 1/4W, 5%
13 R48 4.7 K, 1/4W, 5%
14 R49 4.7 K, 1/4W, 5%
R50 4.7 K, 1/4W, 5%
16 R51 4.7 K, 1/4W, 5%
17 R52 910 Ohm, 1/4W, 5%
18. RS3 1.2K, 1/4W, 5%
19 R54 7.5K, 1/4W, 5%
R55 7.SK, 1/4W, 5%
21 R56 220 K, 1/4W, 5%
22 RS7 4.7 K, 1/4W, 5%
23 R58 4.7 K, 1/4W, 5%
24 R49 4.7 K, 1/4W, 5%
R60 4.7 K, l/4W9 5%
26 R61 4.7 K, 1/4W, 5%
27 R62 4.7 K, 1/4W, 5%
28 . R63 4.7K, 1/4W, 5%
86.
1 R64 330 ohm, 1/4W, 5%
2 R65 lOK~ 1/4W, 5 3 R66 4.7 K, 1/4W, 5 4 R67 100 ohm, 1/4W, 5~
SWITCHES
6 52 DPDT Push 8 X3 16 Pin I.C. Socket 9 X13 16 Pin I.C. Socket X14 16 Pin I.C. Socket 11 X15 16 Pin I.C. Socket 12 X16 16 Pin I.C. Socket 13 X17 16 Pin I.C. Socket 14 X18 16 Pin I.C. Socket Xl9 16 Pin I.C. Socket 16 X20 16 Pin I.C. Socket 17 X32 24 Pin I.C. Socket 18 X33 24 Pin I.C. Socket 19 X39 40 Pin I.C. Socket X71 16 Pin l.C. Socket ~, 22 Yl 10.6445 MHz, 0.004%, Series Res.
24 Zl 723, DIP, Voltage Regulator Z2 723, DIP, Voltage Regulator 26 Z4 L.h53900, Dual Input Norton Amp.
27 Z5 74COO CMOS, Quad 2-Input NAND Gate 28 Z6 74C04 CMOS, Hex Inverter 5!~
39~
1 Z7 74LS74, Dual D Positive-~dge Triggered Flip-Flop 2 with Preset and Clear 3 Z8 Z4LS153, Dual 4-Line to l-Line Data Selector/
4 Multiplexer Z9 74LS04, Hex Inverter 6 Z10 74LS166, 8-Bit Parallel In/Serial Out Shift Register 7 Zll 74LS166, 8-Bit Parallel In/Serial Out Shift Register 8 Z12 74LS93~ Divide by 8 Binary Counter Selector/
9 Multiplexer Z21 74LS156, Dual 2-Line to 4-Line Decoder/Demultiplexer 11 Z22 74LS367~ TRI-STATE Hex Buffer 12 Z23 74LS32, Quad 2-Input OR Gate 13 Z24 74LS132, Quad 2-Input NAND Gate 14 Z25 74LS32, Quad 2-Input OR Gate Z26 74LS20, Dual, 4-Input NAND Gate 16 Z27 74LS175, Quad D Flip-Flop with Clear 17 Z28 74LS174, Hex D Flip-Flop wi~h Clear 18 Z29 MCM6670, Character Generator 19 Z30 74LS02, Quad, 2-Input NOR Gate Z31 74LS157, Quad 2-Line t0 l-Line Data Selector/
21 Multiplexer 22 Z32 74LS93, Divide by 8 Binary Counter Selector/
23 Multiplexer 24 Z33 2K x 8 ROM A, 450 ns. 2 Patterns Z34 2 K x 8 ROM B, 450 ns, 2 Patterns 26 Z35 74LS157, Quad 2-Line to l-Line Data Selector/
27 Multiplexer 28 Z36 74LS32, Quad 2-Input OR Gate 712 :~13~
1 Z37 74LS02, Quad 2-Input NOR Gate 2 Z38 74LS367, TRI-STATE Hex Buffer 3 Z39 74LS367~ TRI-STATE Hex Buffer 4 Z40 Z80 Microprocessor Circuit, Plastic Z41 75452, Relay Driver 6 Z42 74LS04, Hex Inverter 7 Z43 74LS157, Quad 2-Line to l-Line Data Selector/
8 Multiplexer 9 Z44 74LS367, TRI-STATE Hex Buffer Z45 2102, AN-4L, lK Static RAM
11 Z46 2102, AN-4L, lK Static RAM
12 Z47 2102, AN-4L, lK Static RAM
13 Z48 2102, AN-4L, lK Static RAM
14 Z49 74LS157, Quad 2-Line to l-Line Data Selector/
Multiplexer 16 Z50 74LS93, Divide by 8 Binary Counter Selector/
17 Multiplexer 18 Z51 74LS93, Divide by 8 Binary Counter Selector/
19 Multiplexer Z52 74LS04, Hex Inverter 21 Z53 74LS132, Quad 2-Input NAND Gate 22 Z54 74LS30, Triple 3-Input NOR Gate 23 Z55 74LS367, TRI-STATE, Hex ~uffer 24 Z56 74LS92, Divide by 6 Binary Counter Selector/
Multiplexer 26 Z57 74C04 C~IOS, ~lex Inverter 27 Z58 74LS92, Divide by 6 Binary Counter Selector/
28 Multiplexer ~Y
'12 1 Z59 74LS175, Quad D Flip-Flop with Clear 2 Z60 74LS367, TRI-STATE Hex Buffer 3 Z61 210Z, AN-4L, lK Static RAM
4 Z62 2102, AN-4L, lK Static RAM
Z63 2102, AN-4L, lK Static RAM
6 Z64 74LS157, Quad 2-Line to l-Line Data Selector/
7 Multiplexer 8 Z65 74LS93, Divide by 8 Binary Counter Selector/
9 ~lultiplexer Z66 74LSll, Triple 3-Input AND Gate 11 Z67 74LS367, TRI-STATE Hex Buffer 12 Z68 74LS367, TRI-STATE Hex Buffer 13 Z69 74LS74, Dual D Positive-Edge Triggered Flip-Flop 14 . with Preset and Clear Z70 74LS74, Dual D Positive-Edge-Triggered Flip-Flop 16 with Preset and Clear 17 Z71 Not used 18 Z72 74LS367, TRI-STATE Hex Buf-fer 19 Z73 74LS32, Quad 2-Input OR Gate Z74 74LS00, Quad 2-Input NAND Gate 21 Z75 74LS367, TR1-STATF. Hex Buffer 2Z Z76 74LS367, TRI-STATE Hex Buffer 24 A3 DIP Shunt A71 DIP Shunt 26 Z13 4096 bit, Dynamic RAM, 450 ns 27 Z14 4096 bit, Dynamic RAM, 450 ns 28 Z15 4096 bit, Dynamic RAM, 450 ns 90 .
712 - 1~3~
1 Z16 4096 bit, Dynamic RAM 450 ns 2 Z17 4096 bi~, Dynamic RAM, 450 ns 3 Z18 2096 bit, Dynamic RAM, 450 ns 4 Z19 2096 bit, Dynamic RAM, 450 ns Z20 4096 bit, Dynamic RAM, 450 ns 7 A3 DIP Shunt 8 A71 DIP Shunt 9 Z13 16384 bit, Dynamic RAM, 450 ns Z14 16384 bit, Dynamic RAM, 450 ns 11 Z15 16384 bit, Dynamic RAM, 450 ns 12 Z16 16384 bit, Dynamic RAM, 450 ns 13 Z17 16384 bit, Dynamic RAM, 450 ns 14 Z18 16384 bitJ Dynamic RAM, 450 ns Z19 16384 bit, Dynamic RAM, 450 ns 16 Z20 16384 bit, Dynamic RAM, 450 ns 18 Capacitors 19 C1 0.1~F, 10%, 12V, Disc C2 0.1~F, 10%, 12V, Disc 21 Diodes 22 CR1 L~D, HP5082-4850, Red 23 Keyboard 24 XB1 DS5300, 53 Key, 2-Shot Key caps Resistors 26 R1 4.7 K, 1/4W, 5%
27 R2 4.7 K, 1/4W, 5%
28 R3 4.7 K, 1/4W, 5%
91 .
712 ~ ~3~
1 R4 4.7 K, 1/4W, 5~
2 R5 4.7 K, 1/4W, 5%
3 R6 4-7 K, 1/4W, 5%
4 R7 4.7 K, 1/4W, 5%
R8 4.7 K, 1/4W, 5%
6 R9 330 ohm, 1/4W, 5 7 Integrated Circuits 8 Zl 74LS05, Hex Buffer with open collector High g Voltage outputs Z2 74LS05, Hex Buffer with open collector High 11 Voltage outputs 12 Z3 74LS368, TRI-STATE Hex Buffer 13 Z4 74LS368~ TRI-STATE Hex Buffer 14 Wire Wl Stranded, Prebonded, LED, Red, 10"
16 W2 Stranded, Prebonded, LED, Black, 10"
.
18 Jl Socket, I.C., 24 Pin 19 Rl Resistor, 4.7K, 1/4W, 5%
Zl I.C., 4K x 8 ROM, 450ns, ROM A
21 Z2 I.C., 4K x 8 ROM, 450ns, ROM B
22 Z3 I.C., 4K x 8 ROM, 450ns, ROM C
23 Z4 I.C., 74LS42, B~D to Decimal Decoder 2~
q~
12 ~ 1 3~ ~ ~ 3 1 By the foregoing we have described a preferred embodiment 2 of the present system. However, it is understood that numerous 3 modifications can be made in this system without departing from 4 the scope of the invention. For example, in the video generation section there has been disclosed a scheme for generating either 6 32 characters or 64 characters per line. In this arrangement 7 the clock is controlled to provide characters of two different 8 widths. However, in accordance with another embodiment of the g invention the input address lines Ll, L2, L4 and L8 could
Line K in FIG. 4 is the CAS* signal and this is buffered by the gate Z72C, coupled from the output pin 6 of flip-flop Z70.
In summary, the following se~uence of events occurs with regard to the diagram of FIG. 4. RAS* goes low first, MUX then changes state. CAS* then changes state one clock cycle later. Thus, we first get a RAM or row address select, then the multiplexing signal MUX, followed by the column address select. Hence, the first part of the address will be the row address ~ollowed by a switching or multiplexing to the column address.
RAM Addressinq Data selector/multiplexers Z35 and Z51 shown in FIG.
14B control the addressing to the RAMs. Both of these devices may be 74LS157 devices. These devices have two group,s of inputs of either 3 or 4 lines and an output of either 3 or 4 lines depending upon how they are connected~ With regard to device Z35 two groups, each of four lines and one group of four is labeled "0" and the other labeled "1". The device Z51 is configured similarly except that there are only three lines per group. The "0" tells us that when the select pin, which is pin l in each device is low, the multiplexer will be outputtiny data associated with these input lines. On the other hand the "1"
tells u~ the multiplexer will be outputting data associated with the other group of lines. The de~ice Z3~, therefore, operates like a four pole double throw switch where the select input at pin 1 is performing the switching. The enable input to these selectors or multiplexers is pin 15. Since pin 15 is permanently grounded, these devices are always enabled.
Reading From RAM
.
Assume that the CPU requires RAM data. The following discusses the addressing and data paths employed with a 4K
random access memory. The cycle commences by the CPU
outputting the signals on its lines 19 and 21. The address decoder outputs the signals MEM* and R~l*. The signal MEM*
activates the RAM/ROM data buffers and the signal RAM* enables the chip select input for the RAMs on pin 13. At the same time the multiplexer loads the address into the RAMs. The signal RAS* goes low as depicted iXl FIG. 4. The MUX signal is low at this time, so the inputs AO-A5 on the RAM receive the lower order address by way of pins 2, 5, 11 and 14 of the device Z35. The signal RAS* is buffered by gate Z68A, and is applied to pin 4 of all of the RAMs depicted in FIG. 14B. The negative going signal at this input pin 4 loads the lower order address in the ro~ selection of each RAM. A short time later the MUX
signal changes state going high as depicted in FIG. 4. The multiplexer comprising devices Z35 and Z51 now switches and the higher order addresses are applied to the RAMs. The signal CAS* goes low. CAS* is applied to the buffer gate Z67A. The output of this gate ~ 3~ ~4~
1 passes the signal CAS* to pin 15 o all eight RAMs. On the 2 negative transition of signal CAS*, the high order addresses 3 ~A6-All) are loaded in the columned section of each RAM. Four 4 of these addresses are coupled by way of device Z35 and two are coupled by way of device Z51. The RAMs now have the entire 6 address from the CPU. The RAM now outputs this addressed data 7 through the associated bu~fers to the CPU.
8 Writing to RA~I `
9 During a data write cycle, the CPU sends data to the RA~ls.
Hence, the ROM/RAM buffers are not employed and it is not necessary 11 for the signal MEM* to go low. Instead of the CPU issuing a -12 read command, it issues a write instruction. Thus, the signal 13 WR* is tied to all 8 RAMs on pin 3. When this pin is low, data 14 is stored in each RAM at the specified address. ~Yhen this pin is high, the RAMs are in a read cycle.
16 Refreshing The RAMs 17 The computer system of this invention uses a dynamic type 18 RAM. A dynamic RAM differs slightly from a static RAM in data 19 retention. A static RAM retains data stored in it so long as power is applied to the system. A dynamic RAM on the other hand 21 requires periGdic addressing to insure that it retains the data 22 loaded into it. This periodic addressing is called refreshing.
Z3 The refreshing of the RAMs is accomplished by the RAS* signal.
24 When this signal goes low, all of the individual RAMs in the system will refresh themselves even though they may not be in 26 use at the time. As mentioned previously, the signal RAS* is 27 generated by the CPU at pin 19. l~hen pin 19 goes low, RAS* goes 28 low and the RAMs will load the lower order address into the row ~ .
712 ~ ~3~
1 section. The CPU may be looking at system ROM when pin 19 goes 2 low, but the RAM will still receive the signal RAS* and hence 3 be refreshed. In a system of this invention the RAM should be 4 refreshed once every two milliseconds.
RAM Programming 6 Associated with the RAMs is a shunt X71 shown in ~IG.lAB.
7 This is used to program the size of the memory in the system.
8 Pin 13 on the RAMs is a chip enable and this couples to one sec-9 tion of the shunt X71. In a 4K system, pins 4 and 13 of shunt X71 are shunted. The signal RAM* is on pin 4 so this signal is 11 used to select the RAMs. However, in a 16K system, pins 4 and lZ 13 are opened and pins 3 and 4 of the shunt X71 are shorted.
13 Thus, instead of the signal RAM* there is the address lines A6 14 or Al2 depending upon themultiplexer condition.
Video Divider Cha _ 16 The-video divider chain shown in FIG.13Asupplies the video 17 RAMs 22 with addresses in a logical order for video processing.
18 This chain also supplies the horizontal and vertical sync timing 19 pulses so that the video processer can build tlle composite wave-form for the display. Video RAM addresses, horizontal and 21 vertical sync, and video processing timing are all direct 22 functions of the master clock. Also included in the divider chain 23 is the hardware necessary to generate 32 character line lengths.
24 Divider Chain - Input Conditioning In accordance with one important feature of the present 26 invention, the computer system has two formats for character 27 length. In one format, the display has 16 character lines, each 28 consisting of 64 characters. This means there are 1024 .
~39al~:~
character locations in video RAM that the divider chain must access. In the other format, the characters appear twice as large. The display has 16 character lines of 32 characters rather than 64 characters. In this case the divider chain accesses only 512 video RAM locations. Switching from one format to the other is the task of the input conditioning logic shown in FIG. 13A.
In FIG. 13A the master oscillator circuit couples to a flip-flop Z70 at pin 11 and also to a multiplexer Z43 which may be a 74LS157 device. The conditioning circuitry also includes a divider Z58 ~hich may be a divide by 12 divider. This divider may be a 74LS92 device. The D flip-flop Z70 is wired to perform a divide-by 2 function. The multiplexer is wired so that one can route the master clock frequency or one-half of the master clock frequency from the flip-~lop Z70 to the divider Z58. Since there are two character length formats, there are two reference frequencies, one that is half as slow as the other. The master oscillator supplies the divide-by 12 counter Z58 as a reference frequency in a 64 character format.
The D flip~flop supplies the counter with the reference frequency in a 32 character format.
The multiplexer Z43 is of the same type previously discussed as devices Z35. The multiplexer Z43 is controlled ~y the signal MODE SEL. When the mode select signal is low, the multiplexer Z43 is switched to its 32 character position. When this signal is high~ the multiplexer is switched to its 64 character position. First, the 64 character mode is analyzed.
For this mode of operation, with the mode select signal high, pin 3 of the multiplexer couples to the output pin 4 Similarly, pins 6 and 7 are 3~ 3 intercoupled and pins 10 and 9. FIG. 5 is a waveform chart form this circuit. At line A in FIG, 5, the master clock is shown at the output of its buffer gate Z42, pin 6. Line B
shows the action o~ the D flip-~lop Z70 with its divi~e-by 2 output. The buffered clock is applied to pi.n 3 of the multiplexer Z43. Since the multiplexer is switched to its "1" sta~e, the counter Z58 receives the basic clock frequency at its pin 14. It is noted that the output, of flip-flop ~70 at pin 9 is tied to pin 2 of the multiplexer, However, t~is is not performing any function at this time since the multiplexer is not switched to its "0" state.
The outputs from the counter Z58 and shown at lines C, D, E and F in FIG, 5. In FIG. 5 the arrows indicate the place where a~1 outputs are O. It is noted in FIG~ 5 that the lines C-F do not count directly up to 11 and then back to O using straight binary counting, Instead, the output count from counter Z58 goes from 0-5 and then on the next clock it goes from binary 5 to binary 8. From 8 it counts normally to binary 13 and then in the next cycle it goes back to binary 0.
m e inputs at pins 6 and 7 of counter Z58 control the clearing of the counter to O. The signal CTR to these input pins is generated in FIG. 14A at th~ output pin 8 of the inverter Z42. Normally, the signal CTR is low. Only during automatic testing is CTR allowed to go high and clear the device Z58.
The output pin 12 from the counter Z58 is identi-fied in FIG. 13A as DOT 1. Pin 9 of the counter is labeled DOT 2. These two signals are NANDed by the gate Z24 at pins 1 and 2 to provide an output at pin 3 shown in line G of FIG. 5. This ~ 45 -3~3 signal is called the L~TCH signal and is used in the video processing circuitry.
Th~ input pins 6 and 10 of device Z43 are tied together and connect to the output pin 8 of counter Z58.
The resulting output is at pins 7 and 9 of the multiplexer Z43. The signal at pin 9 is referred to as the CHAI~
signal and is the main source for the divider chaln compris-ing devices Z65, 750, Z12, and Z32. The output pin 7 of multiplexer Z43 is labeled "Cl" and is tied to pin 10 of device Z64 which is one of the video RAM multiplexers. The signal Cl is used to address the video RAM's least signifi-cant bit.
For the 32 character format, the pin 1 of the multiplexer Z43 is in its low state and therefore pins 2, 5, and 11 are tied to the respective outputs at pins 4, 7, and 9. Thus, the half clock frequency from pin 9 of the flip-flop Z70 couples to the output pin 4 of the multiplexer Z43.
Pin 7 of the device Z43 is held low all the time and the output CHAIN signal is now one coupled directly from the out-put pin 9 of the counter Z58 shown in line E of FIG. 5. For the 32 character format, FXG. 5 shows the outputs from the counter Z58 at lines H through K. It is noted that the waveform at line B in FIG. 5 is used as the input to the divider counter Z58 and thus the counter is used as a divide-by 6 counter. The output at pin 9 of the counter will be the CHAIN signal instead of at pin 8 in the 64 character format. However, the frequency of the CHAIN
signal has not changed. In the 64 character mode, the master clock was divided by 12 to provide the chain frequency. That is 10.6445 MHz was divided by 12 to provide a frequency of 887.041 KHz. In the 32 character - 46 ~
712 ~ L39~a~3 l mode, one-half of the master clock ~Yas used, divided by 6 to 2 provide the same end ~requency of 887.041 KHz. However, ~o 3 signals did change. In the 64 character format, the latch pulse 4 was only one clock cycle wide having a period of 6 clock cycles.
In the 32 character mode, the pulse width has doubled to t~o 6 clock cycles and its period is now 12 clock cycles. The other 7 signal that changed was Cl. It was a square wave at the same 8 rate as the chain signal for the 64 character format, but in 9 the 32 character mode, it is held low at all times. The signal L,ATCH is used to delay a character betl~een the RAM and the 11 character generator. The signal Cl determines if the video `-12 RAM has 1024 or 512 useable addresses.
13 Divider Chain 14 The divider chain circuit comprises 4 bit ripple counters Z65, Z50, Z12 and Z32 shown in FIG.13A. FIG. 6 shows a simplified 16 block diagram for the divider chain to enable an easier under-17 standing of the counter chain.
18 Each of the counters comprising the chain may be a 4 bit 19 counter having two different clock inputs coupling to respeative successive St~ges of the counter. In input atpin14 clocks all 21 stages of the counter whereas an input at pin 1 counts only the 22 last three stages of the counter.
23 As depicted in FIG. 6 the counter Z65 may be considered as 24 being separated into two different parts. The chain input from the conditioning logic is applied to pin 1 of the counter. The 26 outputs B and C from this counter couple to the multiplexer Z64 27 and are used for addressing the video RA~1. The output at pin 8 28 from counter Z65 couples to the next counter Z50 in the chain.
4?.
1 This portion of counter Z65 divides the chain frequency by 4 2 as indicated in FIG. 6. Since the chain frequency is 887.0461 3 KHz, the output of counter Z65 at pin 8 is then 221.760 KHz.
4 The next counter in the chain is counter Z50. The input of this counter is on pin 14 from counter Z65 and the divider 6 frequency is at pin 11. This device is externally modified to 7 divide the input frequency by 14. The counter Z50 counts up 8 normally to a binary value of 13. The following shows the counter 9 outputs at that count:
Pin 12 Output A = 1 11 Pin 9 Output B =
12 Pin 8 Output C = 1 13 Pin 11 Output D = 1 14 Upon the next negative transition of the clock puise the outputs are as follows:
16 Pin 12 Output A = ~
17 Pin 9 Output B = 1 18 Pin 8 Output C = 1 19 Pin 11 Output D = 1 This provides a l4 count. The AND gate Z66~ accepts the B, C and 21 D outputs from counter Z50. The output of the gate Z66lat pin 6 22 goes high under the second condition listed above and thus clears 23 the counter Z50 back to 0. This clear pulse is quite rapid on 24 the order of about 50 NANO seconds, The time that counter Z50 is actually reading binary 14 is so short that it can essentially 26 be ignored. Therefore, counter Z50 counts from 0-13 and is then 27 reset back to 0. Since the fre~uency of 221.760 KHz is inputted 28 to the counter Z50, the output at pin 11 is 15.840 KHz. This a~ .
~3L3~3 frequency is used by the sync generator circuits to produce horizontal sync as illustrated in the block diagram of FIG. 6.
The ne~t divider or counter in the chain is counter Z12.
This counter is wired to provide a division by 12. In this connection, note the gate Z66B. The counter Z12 counts up normally until the outputs enable AND gate Z66B. This happens at the 12th falling edge of the clock. Gate Z66B, pin 8 will then go high and clear the counter Z12 back to 0. Once again, this clear pulse i5 essentially ignored and hence we can consider the counter Z12 as a divide-by 12 counter. With a frequency of 15.840 KHz being applied at its input, the output at pin 11 of the counter is thus 1.32 KHz.
The next counter in accordance with the illustration of FIGo 6 is the other part of the counter Z65. Thus, note the output pin 11 from the counter Z12 coupling back to the input pin 14 of counter Z65. m e output from this counter with regard to its second part is taken at pin 12 which couples back down to counter Z32 at its input pin 14. This portion of counter Z65 divides the 1.32 KHz signal by 2 and therefore, the frequency at pin 14 at the input of counter Z32 is a frequency of 660 Hz.
The counter Z32 is the last counter in the chain. It divides the 660 Mz input by 11 producing a 60 Hz signal. When the output from the counter Z32 equal binary 11, the gate Z66C
outputs a clear pulse to reset the counter Z32 back to 0~ The 60 Hz output at pin 11 is used by the sync generator circuits to produce the vertical sync (VDRV) for the video monitor~
1 Video RAM Addressin~
2 The video RAM 22 depicted in FIG. 1 is addressed for 3 different purposes. First~ the CPU addresses the video RA~ls to 4 read data from or wri~te data into specific locations o-f memory.
S The divider chain also addresses the video RAM so that data 6 contained in memory can be processed and displayed on the screen.
7 The video RAMs are either addressed by the CPU or by the divider 8 chain through the use of the three multiplexers Z64, Z49, and Z31 9 depicted in FIG.13A. These three multiplexers are used for video RAM addressing. From the divider chain previously discussed there 11 are 10 address lines that are used to address the video RAMs Z45-12 Z48 and Z61-Z63 as shown in FIG. 13~. These addresses are iden-13 tified as V0-V9 coupling in groups from the multiplexers Z64, Z49 / 14 and Z31. The chain conditioning logic supplies from multiplexeI~
Z43 the signal Cl. Counter Z65 supplies three addresses identified 16 in FIG.13Aas Rl, C2 and C4. The counter Z50 supplles three 17 addresses - C8, C16 and C32. The counter Z32 supplies the 18 remaining addresses R2, R4 and R8.
19 Assume an array of rectangles; 16 rectangles vertical and 64 rectangles horizontal. This would represent a total of 1024 21 rectangles. One could specify any one rectangle by starting at 22 the top left hand corner going down a predetermined number of rows 23 and moving to the right a predetermined number of columns. The 24 16 rows are assigned a binary number from ~ to 15. The 64 columns are assigned a binary number from ~ to 63. Thus, rectangle 0-0 26 is the one in the upper left hand corner of the array. Similarly, 27 rectangle 15-63 is in the lower right hand corner. Thus, 4 28 bits of binary informa-tion specify any one of the 16 rows and 6 50.
712 ~
~ 3 l bits of binary information specify any one of the 64 columns.
2 This is exactly the addressing format used by the counter chain.
3 Signals Cl~ C2, C4, C8j C16 and C32 specify any column and signals 4 Rl) R2, R4 and R8 specify a row. The row/column addressing : 5 format is VeTy useful in trouble-shooting video problems in 6 the system.
7 The column and row address outputs from the divider 8 chain are applied to the "l" inputs of the multiplexers. Part 9 of the address bus from the CPU is tied to the "~" input of the multiplexers. The outputs from the multiplexers are tied to the 11 video RA~Is or to other control logic associated therewith. As 12 far as control is concerned in FIG.13A there is shown the signal 13 VI~* that is generated in the address decodin~ section. This 14 signal selects the video RAMs. Pin 1 of the three multiplexers Z64, Z49 and Z31 receive this signal VID*. When the CPU wants 16 control over the video RAM, the address decoder recognizes the 17 video RAM address and causes the signal VID* to go low. When this 18 occurs the multiplexers each switch from the "l" position to the 19 "~" position. The counter chain addresses are switched out of the circuit and the CPU has control over the addressing to the 21 video RAMs. IYhen the signal VID* goes back to its high state 22 under control from thë CPU, the CPU is switched out a~ the 23 counter chain takes over. Most of the time the counter chain is 24 in control of the video RAMs. The CPU takes charge only when it needs to modify data. ' 26 In addition to the chain and CPU address, there are inputs 27 to the multiplexers not yet mentioned. The first of these inputs 28 is the resistor R49 coupled to pins 6 and 13 of multiplexer Z49.
'12 -~39~3 1 These two inputs, which are not needed in the counter chain Z con~rol over the video RAM, are pulled up to 5 volts by this 3 resistor. The output pins 12 and 7 of multiplex~r Z49 correspond 4 to the inputs at pins 13 and 6. When the chain has control over the video RAM, pins 12 and 7 output a steady high state. Output 6 pin 12 goes to the read/write control for all RA~ls thus not 7 permitting any reading or writing associated with the RAMs. The 8 counter chain does not store data in the RAM at the address it 9 specifies and thus pin 12 should be high when the chain is in control. The output pin 7 from multip~lexer Z49 couples to the ~ ,/3~
11 video RAM data buffers Z44 and Z60~ hen the chain is in control, 12 ~the RAM data bus is to be disabled and there is no reading from 13 or writing into the video RAMs. A high of the signal VRD*
14 (video read) guarantees that the bus is off. These data buffers look for a low level signal for the enabling thereof.
16 - In FIG.l~ it is also noted that the signals WR* and RD* tie 17 to pins 14 and 5 of the multiplexers Z49. ~Yhen the CPU taXes 18 charge of the video RAMs, the multiplexer output at pin 12 becomes 19 VWR* ~video write). The CPU can store data into the video RAMs by causing the signal VWR* to go low. If the CRU wants to read 21 data from the video RAMs, the signal RD* can pass through the 22 multiplexer Z49 and generates the signal VRD*. A low on this line 23 will open the data buffers Z60 and Z44. Addressed video R~M
24 data is then placed on the data bus 14. The CPU processes this data as any other data.
26 Alpha-Numeric Format 27 The video terminal 26 shown in FIG. 1 is a cathode ray tube 28 ~CRT) which is scanned twice per second. The electronic beam in 712 ~ 3~
1 the CRT travels from top to bottom of ~he screen and from left 2 to right. Each screen or frame consists of 264 scan lines. 192 3 scan lines are used in the "picture". The remaining 72 scan 4 lines are used during the vertical interval and as upper and lower boundaries. Nothing is ever written or ~isible within 6 these 72 lines. There are 1024 character locations per screen 7 or 512, depending upon the state of the signal MODE SEL. Each 8 character line comprises 64 or 32 characters depending upon the 9 state of this signal. There are 16 character lines. Each character line consists of 12 scan lines. An alpha numeric 11 character uses 7 scan lines and thus there are 5 blank scan 12 lines disposed be~ween character lines. A discussion of the 13 graphic format follows.
14 Some of the output from counters Z65 and Z50 shown in FIG.13A specify the column address~ The outputs from counter 16 Z32 specify the row or character lines. The counter Z12 speci-17 fies the scan line in any character line. The outputs from this 18 counter are labeled Ll, L2, L4 and L8. These four lines are 19 not used in video RA~I addressing because we have already stated and row and column address which will specify any one of 1024 21 rectangles in our rectangle array. The outputs from the counter 22 Z12 are used in the video processing for enabling the character 23 generator to output correct data for any character because it 24 knows where the CRT's electron beam is scanning. The signal L8 is used by the video processer to B]~K (turn-off) the S lines 26 between character lines. Associated with the multiplexers is a 27 NOR gate Z30, pins 8-10. The inputs to these pins couple from 28 multiplexers Z50 and Z32 and provide a signal BLANK*. This 712 ~39W3 1 signal is used by the video processer to give the 72 scan line 2 blanking for the upper and lower boundaries. It also defines - 3 the boundaries on ~e left and right of the screen.
4 Video RAMs The video RAM comprises 7 separate memories, one for each 6 of the data bits D0-D6. Each of these RAMs is a conventional 7 device such as the 2102AN4L device. Thes~e RAMs are static RA~ls - 8 and hence do not require refreshing. The data bus 14 is wired 9 in the same way as Wit}l regard to the system RA~Is 18. However, there is a different enabling signal which in the case of the 11 video RAMs is the signal VRD*. It is noted that there are 7 12 RAMs. 6 of these are used for storage of the ASCTI code and the 13 7th is used as a graphic/alpha numeric definition bit. There are 14 thus 8 data lines depicted in FIG.13B including lines D0-D7. Note the line labeled bit 6 ~hich has its source at the output pin 13 16 of gate Z30 which is a NOR gate shown as an AND gate with inverted 17 inputs. This gate senses bits 5 and 7 and if both are low, then 18 bit 6 is high.
19 In addition to coupling to the data bus 14, the video RA~ls 22 also couple to the video processing circuitry for the 21 generation of alpha numeric and graphic symbols. This section 22 of the system is discussed now.
23 Video Processing 24 The video processer 24 depicted in FIG. 1 may be considered as comprising 5 sub-sections shown in FIG.13Bincluding the data 26 latch, Z28, the character generator Z29, the graphic generator Z8, 27 associated shift registers Z10 and Zll, a sync generator, and a 28 video mixing/output driver. The data latch temporarily stores an 1 ASCII or graphic word from the video RAM. The latch r~tains 2 the byte for processing so that the ~AM is free to search out 3 the next byte. The character generator is a read-only m'emory 4 that is addressed by the data latch and the scan line signals.
This memory contains the alpha numeric format that makes up 6 all characters. The graphic generator is not a memory but is 7 a four line to one line data multiplexer. It operates some~Yhat 8 like a bit steering circuit. It steers an ASCII ~ord into a 9 graphic symbol. The shi~t registers accept data from the character generator or ~rom the graphic generator and convert 11 parallel dot data into serial dot data. Meanwhile the sync 12 generator circuits are accepting timing signals fro~ the timing 13 c,hain. The sync circuits shape up the horizontal and vertical 14 pulses, serrate the vertical interval and send signals out to video mixing circuitry in serial format. In the video mixing 16 section, the serial dot video and the serial sync are brought 17 together. The resulting composite video signal is then "fine-18 tuned" in amplitude and dot-to-sync ratio, and then bu~fered for 19 a 75 ohm output cable. The signal leaves the basic computer system and is applied to the display. In the displayg the signal 21 is separated into its separate components to provide a readable 22 image on the screen. The display may be a conventional CRT having 23 built therein conventional raster circuitry.
24 Data Latch The data latch comprises two separate circuits including the 26 latch Z28 for the ASCII code and the latch Z27 for the graphic 27 bit and blanking signals. The device Z27 may be a 74LS175 and 28 the device Z28 a i4LS174. The latch Z27 is a quad D flip-flop 55.
lR4/7' ~ ~ 3~o~
1 device while the device Z28 is a HEX D flip flop device. The 2 inputs to latch Z28 are from the 6 video RAMs bits 0-5. The 3 outputs from the latch Z28 couple to the character generator 4 Z29 and also to the graphic generator Z8. The inputs which control latch Z28 are on pin 9 which is the signal LATCH and 6 on pin 1 which is the signal VCLR*. The latch signal at pin 9 7 is a pulse train previously discussed and depicted in FIG. 5 and 8 developed by the divider chain input conditioning logic. This 9 signal goes low every 6 dot cycles. On the rising edge of the latch signal the ASCII data in the RAMs Z45-Z48 and Z61-Z63 is 11 transferred to the outputs and temporarily stored by the latch 12 Z28. Once this has occurred the RAM data at the input to the 13 latch may now change, and the RAM has time to search for the 14 next ASCII character. At the same time that -the latch Z28 stores the code, the divider chain changes video RAM addresses. The 16 video RA~I is now looking for the next ASCII word. It has exactly 17 6 dot times (about 56~ NANO seconds in a 64 character format) to 18 define the next word before the latch is commanded to store the 19 next word.
The device Z27 is a smaller latch storage-wise that operates 21 substantially the same as latch Z28. However, instead of storing 22 an ASCII code, it handles the graphic bit and blanking data.
23 The input pin 4 of device Z27 is tied to the output bit 7 from 24 RAM Z63, the graphic RAM by way of the inverter Z42~, pins 12 and 25 -~3. Pin 5 of the latch Z27 receives the signal BLANK*~ The 26 signal line L8 ties to the input pin 12 and the signal bit 6 is 27 tied to pin 13 of latch Z27. All of these signals are latched 28 into the device Z27 at the same time that the ASCII word is 1 latched into ~he corresponding latch Z28.
2 The inputs to device Z27 are essentially independent whereas 3 the inputs to the device Z28 represent a coded word. The graphic 4 bit which is bit 7 coupled from memory Z63 couples by way of / ~ S inverter Z42, pins l~2 and ~3 to pin 4 of the latch Z27. This 6 bit determines if the ASCII word contained in the latch Z28 is 7 an alpha numeric character or a graphic word. The input to pin 8 5 of the latch Z27 is the signal BLANK*. This signal comes 9 from the NOR gate Z30 at pin 10(, and controls the upper, lowerj left and right boundaries of the video display. When the signal 11 BLANK* is high, the electron beam of the CRT is allowed to draw 12 on the screen. When the signal BLANK* goes low, the beam is in 13 a boundary area so it prevents the beam from drawing anything.
14 The signal L8 is connected to the input pin 12 of the latch Z27 This signal also acts somewhat as a blanking signal. This signal 16 specifies where the electron beam is located in any character line.
17 When the signal L8 is low, this allows the beam to output alpha 18 numeric dot data. When the signal L8 goes high, this shuts off l9 the beam because it is now scanning one of the five scan lines between character lines. The last bit of data is coupled to pin 21 13 of the latch Z27. This input couples from the output pin 13 22 of gate Z30. This is the signal that is derived from the signals 23 bit 5 and bit 7. This is the only bit stored in the latch Z27 24 that could be considered part of the ASCII word in that this determines whether the word represents an alpha numeric character 26 or a graphic word. The output corresponding to the input pin 13 27 at pin 15 is applied to the input pin 1 of the character generator 28 Z29 discussed in detail hereinafter.
~3~1a3 1 The input pin 1 of both latches Z27 and Z28, when low, 2 forces the latches to their clear state providing all zeroes 3 at the output terminals. This signal is shown as signal VCLR~
4 (video clear) and is coupled from the output pin 6 of the D
flip-flop Z7. This flip-flop disables the data latches during 6 a CPU interruption of the video RAMs. In this regard the 7 input pin 4 of the flip-flop Z7 is tied to the signal VID*.
; 8 ~hen this signal goes low, the output pin 6 from the flip-flop g will also go low. This low signal clears the data latches Z27 and Z28. When the CPU has finished with communication with the 11 video RAMs, the input pin 4 to the flip-flop Z7 goes back to 12 a high state because VID* goes high. The next time data is to 13 be latched into devices Z27 and Z28, the flip-flop Z7 will toggle 14 back to its normal reset state and allow the data latches to operate. This clocking occurs at the input pin 3 of the flip-16 flop Z7 and is the latch signal. If the device Z7 were not used, 17 the display may be improper. For example, if it is assumed 18 that the CRT was drawing a character when the CPU took command 19 of the video RAM, after the CPU finished, the video processing circuit sees the ASCII code that was in the latch at the time 21 the CPU suddenly took control. The video circuit would try to 22 redraw the character on the screen. The character may then be 23 seen twice, or half of it would be in one place on the display 24 and half in another place. Clearing out the data latch insures that the video processer does not process incorrect data.
26 Character Generator 27 As part of the video processor 24 shown in FIG. 1, there 28 is a character generator depicted in FIG.13Bas device ~29.
~3~3(~03 On the CRT display, each character comprises a dot matrix, As previously mentioned, the matrix is 5 dots wide by 7 dots high. The system also provides for one dot between any two adjacent characters that are not turned on. This pro-vides a period for the end of the sentence, for example.
~nere are 5 dots, a space, 5 more dots, space, etc. Vertical spacing between adjacent data is determined by the frequency of the dot clock, In the system of this invention the dot clock signal is identified as signal SHIFT. The SHIFT signal couples ~rom the multiplexer Z43 and relates to the basic clock frequency, The dot clock is equal to the oscillator frequency in the 64 character format and is equal to one-half the oscillator frequency in the 32 character format, The horizontal spacing between adjacent dots is a function of scan frequency, Thus, each row of dots is aligned along the electron beam' 9 path across the CRT, there being 7 rows of character dots and 5 rows of blanks.
Since each character comprises a pattern of dots, there is to be a way to determine which dot should be on and which dot should be off to form any one character. The character generator controls the dot patterns on the screen.
The device Z29 in FIG. 13B is the character generator and may be a device MCM6670P typically made by Motorola. The 7 bit ASCII word, stored in the data latch z28, is applie~ to the inputs of device Z29 at pins 1-7.
This input address selects a certain area in the character generator. These inputs may be considered as the higher 7 bits of an address. ~he lower part of the address is in-putted at pins 8, 10 and 11. This 3 bit input selects the row position of the addressed dot pattern, These are signals ~3~
1 Ll, L2 and L4. The charac~er generator Z29 outputs S dots at 2 one time on output lines 12-16. Since each character consists of 3 7 rows of 5 dots, the character generator actually outputs 7 4 separate times to build one character.
The ollowing is a description of the manner in which a 6 typical character line is written. Assuming that an ASCII word 7 is in the latch Z28, and that the electron beam is on the first 8 scan line of the character, hence, pins 8, 10 and 11 ha~e a 9 binary C applied to them. The generator Z29 outputs the first dot pattern for that particular ASCII code. The next ASCII
11 character is applied to the device Z29. It outputs the first 12 S dots for that character. This process continues until the 13 beam has scanned the entire width of the screen. If one could 14 cease action at this time, all one would have would be a line of dots. On the second scan line, the data at pins 8, 10 and 11 16 is incremented to read binary 1. The RAM is now prepared to 17 read the second row of dots. The first ASCII character is applied 18 and it will output the second row of dots for that character.
19 The first ASCII character is the same character as previously in the latch at the beginning of the first line. The second ASCII
Zl word then is put into the latch Z2~ and a second row of dots is 22 generated, etc. This process continues until all 64 characters 23 have had the second row outputted under the first row of dots.
24 The line counter increments and we apply the first ASCII word once more. Essentially, we paint a row of dots, increment the 26 line counter and then paint another row. Any character in a 27 line is accessed then at least 7 times. Once the line counter 28 has gone past the 7th dot, all dots should then orm the character 60.
~4/712 9130:~
1 a~ this dot pattern should be discernible as a character.
2 After the 7 dot scans are outputted, the electron beam is turned 3 off; and 5 rows of blank dots are outputted. The system is 4 then ready to output the first row of dot patterns for the second f F/6,i7/1) character line. The counter Z12Ais the counter that increments 6 in binary to provide the proper binary signals Ll, L2 and L4.
7 This counter is referred to as the line counter.
8 Gra~hics Generator 9 Previously, with regard to character generation, mention .
was made of the réctangular array used to define each character.
11 As stated earlier, there are 1024 character locations in the video 12 RAM. If the large rectangle of 12 x 6 is sub-divided into 6 13 smaller rectangles, then there is provided the basic graphic 14 cell as depicted in FIG. 7. This cell is the smallest piece of graphic information that is to be displayed on the screen.
6 Each cell is 4 scan lines high and 3 dots wide.
17 Adjacent to the character generator Z29 is the graphics 18 generator Z8 which may be a device 74LS153. Actually, the 19 device Z8 is not a generator but rather it steers the ASCII
addresses round to simulate a graphics generator. The input 21 to device Z8 is the ASCII code from the latch Z28 along with the 22 inputs at A and B which are the higher order address lines 23 from counter Z12, namely, signals L4 and L8. These signals 24 can represent any four numbers from binary 0 to binary 3.
Please note ~IG. 7. However, since counter Z12 does not go to 26 binary 12, we will only be looking for a binary number from 0 to 27 3. Address lines L8 and L4 are used to specify the vertical 28 address of the 6 graphic cells. There are three vertical 61.
712 ~ ~ ~ 3~ ~ ~
1 addresses: 00 defines the uppermost pair of cells, 01 defines 2 the middle pair of cells and 10 defines the lower pair.
3 The ASCII word, labeled LB0-LB5 determines if the graphic 4 cell is on or off. The position of one of these inputs to device Z8 determines which side of the center line the cell is 6 located with reference to the diagram of FIG. 7. An input at 7 pin 6 of device Z8 specifies a left hand graphic cell while an 8 input at pin 10 specifies a right hand graphic cell. Similarly, 9 pin 5 denotes left, while pin 11 denotes right and pin 4 notes-left while pin 12 denotes right. For example, ~ssu~ing that 11 the signal LB2 is high and all other inputs to device Z8 are 12 low, this high input at pin 5 is associated with a graphic cell 13 location on the left of the character position. Therefore, 14 depending on the status of signal L8 and L4, LB2 will turn on one of the graphic cells on the left of the center line of FIG.
16 7. If L8 and L4 are at logical 00, the uppèr left cell is turned 17 on. If signal L8 and L4 are 01, the middle left cell will be 18 activated.
19 In summary, the function of device Z8 is to steer the ASCII
word essentially around the character rectangle. The vertical 21 position oE the graphics in the cell is determined by the status 22 of addresses L8 and L4. The two outputs from the device are 23 labeled left and right. This dot information is applied to the 24 graphics shift register Zll. It is in shift register logic that data from the memory Z63 determines if graphis or alpha numerics 26 are to be written in any one character rectangle.
27 Alpha Numeric/Graphic Shift Register 28 The device Z10 shown in FIG.13B is a shift register and is ~3~3 termed herein the alpha numeric shift register. The device Zll is the graphic shift register. Both of these devices receive parallel data from their respective generators. The parallel dot data is loaded into the registers and the dot clock (labeled SHIFT) shifts the dots out, one behind the other, to the video mixer comprising transistors Ql and Q2~
There are some restrictions as to when the alpha numeric shift register may send its serial data. First, the data must be alpha numeric and not graphic. Second, the electron beam is to be on one of the 7 scan lines that are reserved for dot data and not on one of the 5 lines that are blanked between character lines. Third, the electron beam is 'co be on one of the 192 scan lines that define the video portion of the screen. Once all three restrictions are met, the dot data is parallel loaded into the register. NAND gate Z26A at its input pins insures that all conditions are met before data is stored in the shift register Z10. The delay bit 7* is coupled from the output pin 2 of latch Z27 and couples to one input gate Z26A. When this input is high, data in the memory Z63 is low thus defining an alpha numeric character rather than a graphic. m e delayed signal L8 has its source at pin 11 of the latch Z27 which couples to another input of the gate Z26A.
When this input is high, the beam is scanning in a character line and not between the character lines. The delayed BLANK
signal has its source at pin 7 of the latch Z27 and is tied to a further input o the gate Z26A. When this input is high, the electron beam is in the video portion of the screen and is not located near a sync pulse or in some boundary region. All three restrictions have then ~ ~3~
been met. The input at another pin of the gate Z26~ is tied to the inverted signal LATCH. When this input goes high, the dot load process is activated by a low at the output of gate Z26A.
Upon the next clock pulse by the SHIFT signal at pin 7 of the register Z10, the dot data ic loaded into the shift register.
After the signal LATCH goes back high (one dot time after going low), the shift register starts clocking dot data out at its pin 13 in a serial stream. When the signal LATCH goes high, gate Z26A has its output pin go high. Thus, each time that the signal LATCH goes high, it forces ASCII and conditional data to be stored in devices Z27 and Z28. During this time this shift register Z10 is not shifting dots out. This register only shifts data out when the input pin 15 is high. When this is low, this forces the shift register Z10 to load data from the character generator.
It is noted that there are unused inputs to the shift register Z10. Pin 9 is a clear input which is pulled up by way of resistor R40. When this pin i 5 low, the screen is blanked.
Pins 14, 3, 2, 1 and 6 are tied to ground. Pin 14 gives the blank dot between adjacent characters. Pins 2 and 3 are not used by are register inputs like pins 4 and 5. Pin 1 is for serial data input and pin 6 inhibits the clock input. They are not necessary in the particular application shown in the drawing.
The operation of the graphics shift register Z10 is similar to the operation of the shift register Zll except for the conditions that must be met for its use. First, the memory Z63 must specify a graphics character instead of an alpha numeric character. Second, the electron beam is to be in the video region of the screen. Fu~therm~re, since a character rectangle ends where another starts, there is no inter-character line blanking. If one turns on all of the graphic cells, there will be a full large square with no holes and boundaries surrounding the square. Once all of the restrictions are met, graphic dot data may be loaded into register Zll for shifting to the video mixer. The other NAND gate Z26B having its output at pin 6 is usea as the graphics load enable this gate senses all of the proper restrictions for graphics. It is noted that the inverse of delay bit 7* is used coupled from pin 3 of the device Z27.
This signal is applied to one input A of gate Z26B. When high, this input tells gate Z26B that the memory Z63 contains a "1"
which defines a graphic code rather than an alpha nu~eric coae. The signal delay BLANK is tied to two inputs of the gate ~26B. When this signal is high, this tells the gate that the electron beam is indeed in the video portion of the screen.
Once all conditions are met and the signal LATCH goes low, the gate Z26B has its output go low. This signal will load dot data into the shift register Zll and when the input pin 15 goes back to its high level, the shift process will start. The 6 graphic dots are shifted out on the output pin 13. These 6 dots represent dots in a series along a single scan line within the rectangle of FIG. 7. It is also noted that pin 9 of the register Zll is pulled up by resistor R4Q. Li~ewise, pins 3, 2, 1 and 6 are tied to ground but pin 14 is used. In graphics there is not a blank space between character rectangles.
Sync Generator The sync generator circuit accepts timing signals from the divider chain to develop horizontal and vertical sync pulses for ~3~1~3 the display. These pulses are used by the display to control the electron beam of the CRT. The sync generator receives horizontal and vertical drive signals and provides a single composite output signal referred to as the SYNC signal.
For the sync generator refer to FIG. 13C. Ihe inverters Z6A, Z6B, Z6C, Z6D are used to generate the horizontal pulse while inverter gates Z57A, Z57B, Z57C, Z57D generate the vertical pulse. Signal HDRV (horizontal drive) is taken from the divider chain at counter 50, pin 11. This signal is buffered by gates Z6 and applied to potentiometer R20. This potentiometer controls where the vertical pulse starts in reference to the signal HDRV. When the wiper of potentiometer R20 is close to pin 2 of gate Z6B, the horizontal pulse will start almost at the same time as the signal HDRV goes high.
When the wiper is moved in the opposite direction, there is a delay between the time the signal HDRV goes high and the time the horizontal pulse starts. This phase shift if performed by potentiometer R20 in combination with capacitor C20 and the two other inverters Z6C, Z6D. This circuit arrangement provides the complete shift network~
In operation, when the signal HDRV goes high, this causes the output at pin 2 of gate Z6B to go high to say 5 volts. A
current flows through potentiometer R20 charging capacitor C20. While this capacitor charges, the voltage at the input of gate Z6C slowly increases from O as the current through potentiometer increases. A~ter a length of time, the voltage to gate Z6C is sufficiently positive. When that occurs, the output pin of the gate Z6D goes high. This causes capacitor C20 to charge rapidly.
139~;~
The logic stays in this mode until the signal HDRV goes to its low state. At that time the capacitor C20 starts to di~charge at the same rate it charged. When the voltage at the input of gate Z6C decreases to a logic O level the output of gate Z6D
goes low. Capacitor C20 then rapidly discharges. The process cycle is now completed until the next HDRV signal goes high.
The time and voltage level at the input of gate Z6C stays above the minimum logic 1 level determines ~he amount of shift from the signal HDRV. The effect of potentiometer R20's position which adjusts the time delay, on the screen is a horizontal shift of video display.
After the horizontal signal is phase shifted, the horizontal pulse is shaped. The circuit includiny capacitor C21 and resistor R43 for~ a differentiation network which creates a smaller pulse of no width from the shifted HDRV
signal~ ~en the output of gate Z6D goes high, capacitor C21 and resistor R43 differentiate the rising edge. A narrow pulse is passed to gate Z6E inverted twice to provide a liXe output pulse at the output of gate Z6E. ~his provides a pulse of about 4 microseconds duration referred to as a horizontal sync pulse.
The vertical sync phase shift operates in the same manner as the horizontal phase shift. Instead of the gates Z6, there are provided a series of gates ~57A - Z57F with potentiometer R21 and capacitor C26 forming the delay network. The differential network comprises capacitor C27 and resistor R~4.
The only basic difference between the horizontal and vertieal circuits is the value of the two capacitive devices.
Horizontal and Vertical Mixin~
Once the two sync pulses are phase-shifted and pulse-shaped, they are coupled to the gate arrangement including gate array ~5 comprised of four separate MAND gates Z5A-Z5D, This gate arrangement is used to mix the two signals together and serrate the vertical intervalO In this connection, re~erence is made to FIG. 8 which shows idealized waveforms at different locations of the gate array Z5. FIG~ 8 identifies each of the pin connections at gate array Z5. Line A shows the horizontal pulses. Line B shows the vertical pulses, pins 1 and 5 of gate Z5 are tied to the waveform shown at line A.
m e resulting output pin 3 of gate Z5 is shown in line C of FIG, 8. Thè waveform at line C is now used as a source to NA~D the horizontal and vertical syncs once more. Line D
shows the result of combining lines A and C. Line E depicts the result of providing a NAND operation between lines B
and C. Line F shows the resulting waveform which is a mixed sync wave shape created by combining waveforms of lines D
and E at gate Z5, pins 9 and 10. It is noted in FIG. 8 at line F that this output is a "false" composite sync. In other words it is inverted away from true form. Secondly, Z0 the gate array Z5 may be evaluated down using Boolean algebra into a two input exclusive OR gate, The output at line C may be expressed as VH+HV, where V is vertical sync at line B and H is the horizontal sync at the line A in FIG. 8.
Video Mixin~
The video mixing circuitry is shown in FIG. 13C
and generates the composite video signal for the display.
As previously mentioned, the display may be a conventional CRT having raster scan circuitry. Video mixer accepts both alpha numeric or graphic dot data from the shift register, level-shifts it, and ~39~
places it atop the composite syncs. The composite waveform is then buffered to drive a 75 ohm impedance and is sent, via cable, to the video display to our video terminal 26 as- de-picted in FIG. 1.
Dot data from either the shif-t register Z10 or the shift register Zll is applied to the inputs of the ~OR gate Z30 (FIG. 13~). Signals will not be present at both of these inputs at the same time. While the register Z10, for example, is outputting alpha numeric data, the register Zll at pin 13 should be continuously at a low level. Conversely, if the shift register Zll is outputting graphic data, then the oukput pin 13 from the shift register Z10 is at a low level. The net result at the output pin 1 of gate Z30 is a single wave-shape of video dot data~ This data is applied to device Z41 at the input pins 6 and 7.
The composite sync data is coupled from the OUtpllt pin 8 of gate array Z5 and is applied to the base of transistor Q2. Each time the base of transistor Q2 goes about 0.6 volts below a 5 volt level, the transistor turns on thus applying 5 volts to resistor R28 but actually, the voltage applied to resistor R28 is slightly less than 5 volts due to the voltage drop at saturation across the collector and emitter of trans-istor Q2.
The dot data from gate Z30 at pin 1 is inverted by the device Z41 and a resulting output at pin 5 is a normally low signal which goes high only when the shift registers out-put a dot. The device Z41 is a high current driver. The output at pin 5 is the collector of the output buffer trans-istor as illustxated. Thus 9 the video and sync are going to two transistors. q~ese transistors function as switches con-trolling current flow through ~ D3 1 the resistor network of resistors R28t K27 and R23. FIG. 9A shows 2 a simplified drawing of this circuit. In FIG. 9A the transistor 3 Q2 and the device Z41 are represented as mechanical switches.
4 l~hen transistor Q2 is opened, there is no voltage applied to resistor R28 and the output node is at ground level. When 6 transistor Q2 closes and with device Z41 also held closed, the 7 output voltage ~oes up to about 1.23 volts. This voltage i5 8 referred to as the black level voltage. A voltage below this level 9 is referred to as a sync level. A voltage above 1.23 volts may be called a white level. Normally, the black level stays at 1.23 ll volts until the sync occurs at pin 8 of gate Z5 with this 12 output going high turning off transistor Q2 and forcing the output 13 at the node to go to ground. When dot data causes switch Z41 to 14 open, the voltage at the output node increases to about 2.75 volts. Thus, we now have a signal at the output node re~erred 16 to as the output in FIG. 9A which contains both video dots and 17 sync information. This signal is almost ready for display. ~11 18 that is necessary is some level shifting and output buffering.
19 In the video mixing circuit the transistor Ql is used as a common emitter amplifier. The composite video is applied to the 21 base of transistor Ql and the emitter outputs the waveform shol~n Z2 in FIG. 9B. This final signal is used by the video terminal 26 23 for operation thereo~. Capacitors C7 and C2, together with 24 resistor R30 form a filter network for the collector of transistor Ql. The capacitors insure the DC bias level on the collector is 26 video free and helps in reducing power dissipation in transistor 27 Ql.
70.
1 Keyboard 2 The keyboard 20 o FIG. 1 is described in detail in FIG. 15 3 and comprises 53 single pole, single throw, normally open keys 4 molded in a plastic base. The base is mounted together with 4 integrated circuits and associated resistors to a keyboard 6 printed circuit board. This keyboard is not of a conventional 7 type that outputs an ASCII code. Rather, each key represents a 8 switch across a matrix node. When the switch is closed, the 9 switch will short out a horizontal line to a vertical line.
Software in the ROM 16 detects the node short and generates an 11 ASCII word equivalent for the particular key. The keyboard is 12 accessed by decoder signal KYBD*. When this signal is low, it 13 enables tri-state buffers Z3 and Z4. The inputs to these buffers 14 are normally held high by the pull-up resistors Rl-R8 at the top of the keyboard. All of the hori~ontal address lines A0-A7 go 16 high at the same time that the signal KY~D* goes low. If the 17 CPU detects a logical l'l" on one of the data lines D0-D7, this 18 indicates to the CPU that there has been a key pressed on the 19 keyboard. Thus, the CPU continuously is in readiness for such a keyboard detection. Once the:CPU detects this, the ROM will 21 then scan the address lines, one-by-one until it finds the 22 lllll output on the data bus. After locating the output, the RO~I
23 instructs the CPU to generate the ASCII code for that particular 24 key. At that time the CPU also checks the status of the two shift keys. If one of these keys is not pressed, the ASCII code 26 is not modified. If a shift key is pressed, the ASCII code is 27 modified accordingly. This modification is for providing upper 28 and lower case outputs.
~3~
The inverters on the address lines in the keyboard are ope~
collector types~ With no key pressed there is no voltage applied to the lines KRO-KR7. When a key is pressed, the associated pull-up resistor supplies a voltage. Then there will be activity on the KR line.
Input and Output Port The computer system of this invention, as previously mentioned, is memory mapped. However, it may be provided with input/output ports. In memory mapping, the CPU knows where the data is. ~owever, with regard to a port, the CPU does not know where the data is located. If the port is some kind of memory device the CPU will output that data to the port and it is up to the port circuitry to process and store the data. In the input condition, the CPU accesses the input port and it is up to the port to find data and feed this data to the data bus which couples to the CPU. The CPU can access up to 256 output/input ports. However, in the system of this invention as described, only one is used and this is the cassette recorder 40 as depicted in FIG. 1 and shown in more detail in FIG. 13D. Its address in HEX is FF. Ports are accessed using only the lower 8 address lines.
Port Addressing Because in the basic system only one output/input port is used, there is only provided one port decoder. The NA~D gate Z54 (FIG. 13D) monitors the address bits Al-A7 while the gate Z52 monitors the address line AO. When the code HEX FF is outputted on address lines AQ-A8 the outputs from these gates at Z54 and Z52 couple to gate Z36 providing a low output II 3L35~;~3 signal at the output pin 3 of gate Z3~. This signal is combined in gates Z25A and Z25B with the signals IN* and OUT*.
If there is a low at signal OUT* because the CPU wants to access an output port, there is a singal from the output of gate Z25B identified as the signal OUT SIG*. If on the other hand, the signal IN* is low because the CPU wants to access an input port there will be an output from gate Z25A generating signal IN SIG*. The signals IN* and OUT* will never be active at the same ti~e and hence the corresponding signals IN SIG*
and OUT* will not be low at the same time.
OUT SIG*
This signal line is used to control two cassette functions and one video function. It is used to generate the audio signal for the cassette recorder under a CSAVE condition. It is used to control the motor of the recorder also. Its video function is to control the signal MODE SEL (mode select). This signal will change between 64 and 32 character formats. The signal OUT SIG* is also for controlling a latch made up of the NA~D gates Z24 discussed later and depicted in FIG. 13D as OR
gates having inverted inputs.
m e device Z59 is a data latch having its clock input at pin 9 controlled by the signal OUT SIG*. ~his latch accepts data from the data lines DO-D3. The data lines DO and Dl are tied to pins 4 and 5 of this device. These two inputs are used to input data that is recorded on tape during a CSAVE
function. m e input data line D2 is connected to pins 12 of the latch. This input controls the status of the motor of the recorder. The last input at pin 13 is connected to provide the sign~l MODE SEL*.
' -The inputs to the latch Z59 are stored an~ trans-ferred to the output each time that the signal OUT SIG* goes high (rising edge triggered). For example, if input D2 is high when the clock signal occurs, the output pin 10 goes to a high state and stays in that state. This signal turns the recorder's motor on. On the other hand if the input D2 is low when the clock signal occurs, the output pin 10 is low and the recorder's motor will be turned off.
Cassette Motor Control At the start of a CSAVE function, the cassette re-corder motor is to be turned on. Thus, the CPU will cause the signal OUT SIG* to go low and apply a logic high level to data line D2. When the signal OUT SIG* goes high, the high signal on line D2 is transferred and held at pin 10 which is one of the output pins of device Z59. This output is connected to relay driver Z41 at pins 1 and 2. The output pin 3 at the collector of the transi~tor in Z41 goes low causing current to flow through relay coil Kl. The contacts KlA
associated with relay Kl close shorting out pins 1 and 3 of the connector J3. These two pins are associated with the remote jack at the recorder. ~rhis action turns on the motor of the recorder.
A diode CR3 is coupled across the relay coil Kl~
This diode is a standard silicone diode used for an anti chatter function. When power is applied to or removed from the coil Kl, a counter EMF is generated. This voltage could be high enough to damage the o~tput transistor of device Z41 or could cause relay Kl to click off and on a few times pro-ducing undue wear to the switch contacts. The diode CR3 shunts the counter EMF voltage around coil Kl and prevents transistor damage or relay chatter. ~he zener diodes CR9 and CR10 w~ich are connected in series are used in somewhat the same way. These diodes protect the switching contact associated with relay coil Kl~ When the recorder is turned on, a high voltage spike may be produced. The contacts operated by the coil Kl could be welded together but the diodes CR9 and CR10 prevent possible damage by shunting any voltage spikes above a certain level.
Cassette Audio Output After the motor is turned on, the CPU may output data for stor~ge on the cassette tape. All data timing for this output function is software control. The decoder Z59 is used to store data from the CPU and it constructs the output waveform using CPU data. CPU data, under software control, is applied to the latch Z59 on pins 4 and 5 as data inputs DO and Dl, respectively. Output pins 2 and 6 from the device Z59 are connected to a resistor network comprising resistors R53-R56. As the signal OUT SIG* is clocking data into the device Z59, the resulting output on the line labeled CPSSOUT, resembles a sign wave constructed of square waves. In this connection, reference is made to FIG. 10 which is an illus-tration of one bit time of 2 milliseconds.
In FIG. 10, the voltage output is a function of the levels on the output pins 2 and 6 from the device Z59. In the period labeled Tl~ the output is shown at 0.~6 volts. The time Tl is the period in which the output pin 2 is zero volts and the output pin 6 is high. The voltage during period T2 is outputted when pin 2 is high and pin 6 is also high.
l'his voltage may be 0.85 volts.
'~;.
0a3 1 The voltage during period T3 is outputted when pin Z is low 2 and pin 6 is low thus represented by a 0 volt Ievel. From the 3 start of 1 bit time to the start of the next bit time is Z
4 milliseconds. A 1 or 0 is dependent upon the presence or absence of a pulse between the start of two bit times. For 6 example, when a the CPU outputs a 1 bit, it will generate a 7 start pulse. 1 millisecond later another pulse will be generated.
8 1 millisecond thereafter a start pulse of a new bit is generated.
9 If this bit is to be a 0, then there will be a 7 millisecond delay before another pulse is generated and this pulse starts 11 the third bit time. Now the pulses are outputted to the 12 cassette recorder at pin 5 of jack J3. This pin is tied to the 13 auxiliary (AUX) input of the recorder. The CPU outputs all of l4 the instructions inthe system RA~ to tape during this CSAVE
function. I~hen the function is complete, audio to the recorder 16 is disabled and a low is outputted at line D2, shutting off the 17 motor of the recorder.
l$ Data is written on the tape in the following manner. l~hen 19 a CSAVE function is to be executed, the CPU via data lines D0-D3 forces the device Z59 to output 128 zero bits. The CPU
21 then outputs HEX A5 used by the CPU during CLOAD for synchroniza-22 tion. A 2 byte starting address and a 2 byte ending address is 23 next added. Then the data follows for however long it is. After 24 the data, the last portion to be stored on the tape is the check sum. This one byte number is the sum of all data added together.
26 It is used by the CPU to insure what it CLOADed-in is what it 27 was CSAVEd-out. If the check sums don't match up, then there was 28 a load error.
~l :a31L3~
Cassette Audio Input If the recorder could faithfully give back what was sent to it, one could eliminate a quad operational amplifier and a handful of associated components. However, this cannot be assured ana thus there is the need for the operational amplifiers Z4 (four such amplifiers). Actually, the recorder even adds extraneous information to the signal such as motor noise and 60 cycle hum so as to complicate signal processing.
Upon a CLOAD instruction (cassette load) from the CPU, the recorder motor turns on and cassette audio is applied-to pin 4 of jack J3. This signal is referred to as signal CASSIN. This audio signal is coupled to capacitor C24 and resistor R67 at the input of the audio processer section. Amplifier Z4 at pins 1 and 6 and output pin 5 form an active filter. This part of the circuit is used to filter out undesired noise and hum present in the signal CASSIN. This is a high-pass filter with about a 2KHz roll off.
The CASSIN input signal has data pulses riding atop a 60 cycle hum signal. After passing through the high-pass filter, the resulting waveform has the 60 cycle removed and only the data pulses a;e left. ".~e signals are swinging above and below a base line of about 2.0 volts. FIG. 11 shows some idealized cassette signals. The signal at line A in FIG. 11 is the type that can be expected at the output of the active filter at pin 5 of one of the amplifiers Z4.
Once the filtering has occurred, the next section of operational amplifier is used as an active rectifier. Note the diodes CR4 and CR5, together with biasing resistors such as ~35~03 1 resistors R24, R34 and R35. This arrangement provides a ~ull 2 wave rectifier to the data pulses. A typical output on the 3 cathode side of diode CR4 is shown at line B of FIG. 11.
4 After rectification, the signal is inverted and amplified.
The amplifier Z4, pins 8, 13 and 9 are wired to form an 6 inverting amplifier circuit. The ratio of resistor R41 to 7 resistor R42 provides a gain of about 2 for the amplifier. Line 8 C in FIG. 11 shows a typical output at amplifier Z4, pin 9.
9 The last stage of the operational amplifiers is used as a level detector. In this last stage, the diodes CR6 and CR7 ll together with capacitor C39 form a power supply of sorts. The 12 amplified audio signal from amplifier Z4 at pin 9 is applied 13 to the anode of diode CR6. Diodes CR6 and CR7 decrease the 14 voltage level of the incoming signal by about .8 to 1.1 volts.
Capacitor C39 filters the resulting voltage and creates a DC
16 signal such as the one shown on line D of FIG. ll. If the 17 signal output from amplifier Z4 at pin 9 drops below the 18 reference voltage level at capacitor C39 of the amplifier Z4 19 at pin 10 will go low. It will stay at this low state as long as the voltage on pin 12 stays below the reference voltage.
21 Line E in FIG. 11 shows the resulting output from amplifier 22 Z4 at pin 10. It is noted that a couple of pulses of audio 23 have been lost because the signal did not swing toward ground 24 enough to trigge.r the amplifier Z4 at pin 10. The negative transition at pin 10 is used to set flip-flop Z24 comprised of two cross-coupled gates. Cassette data is converted into 27 program data by the software in the ROM and the CPU. The data 28 from the flip-flop of cross-coupled gates Z24 is coupled by 78.
3~
~eans of buffers z44 pins 11 12 and 13 14 to the data lines D6 and D7.
IN SIG*
The transfer of data from the cassette to the CPU involves the generation of the signal IN SIG*. The gate Z25 receives the signal IN* from the CPU. This is a control group signal from the CPU. This signal goes low when the CPU wants to input data from a port. Port addressing has already been discuss~d.
A low at gate Z25A and a low at the output of gate Z36 pin 3 causes a low at the output pin 6 at the gate Z25A. This signal is the IN SIG* signal. This signal controls the buffer gates Z44. The gate Z44 at pin 12 is coupled from the pin 8 output of gate Z24. ~le two gates Z24 are wired to form a set-reset latch.
If the input to gate Z24 from pin 10 of device Z4 goes low pin 8 at its output will go high. Pin 8 is cross-tied to the other gate Z24. If pin 13 is high with pin 12 also being high the output pin 11 is low. With a high at pin 8 and a low at pin 11 the flip-10p is considered as being in its set state.
If pin 8 is low and pin 11 is high flip-flop is considered as being reset. ~he flip-flop is set by cassette data and reset by the signal OUT SIG*. The gates Z44 monitor the status of the flip-flop Z24 under command of the signal IN SIG*. When a cassette load siynal is entered via the keyboard (CLOAD) the signal OUT SIG* goes low starting the motor of the recorder and resetting flip-flop Z24 by pulsing the input pin 13 low. The first time the input pin 9 of Z24 goes low this starts the first bit time. This is shown in FIG. 12 at line A. Line D
the output of the latch ~39003 1 at pin 8 of Z2~ goes high as soon as pin g goes lo~. Next, the 2 signal OUT SIG* goes low after a short time delay as indicated 3 on line C of FIG. 12. This signal resets the flip-flop as indicated 4 in line D of FIG. 12. A short time after the signal OUT SIG*
goes back to its high state, the CPU tests the device Z24 at its 6 pin 8 to determine the status by enabling the buffers Z44. Line 7 D is low at this time. The CPU recognizes a logical 0 during 8 bit time 1 as shown by the 0 under line D. The next time line A
9 goes low is the start of bit time 2. The low on device Z24 at pin 9 sets the flip-flop. The signal OUT SIG* resets the flip-11 flop a short time later. The signal IN SIG* then enables the 12 buffers Z44 and checks the status of the flip-~lop. The CPU
13 sees a 0 again, so bit time 2 is a 0 bit. The next low on line 14 A starts bit time 3. Again, its sets the flip-flop and a short time later a signal OUT SIG* resets the ~ip-flop.
16 Before the signal IN SIG* can test the statNs, another low 17 comes fromthe audio processing level detector and sets the 18 flip-flop. Now the sign~ IN SIG* goes low checking the status.
l9 It finds the output pin 8 from the device Z24 is high. The CPU labels bit time 3 a l then rather than a 0. Now the CPU
21 resets the flip-flop before bit time 4 starts. Line C shows 22 the added signal OUT SIG* pulse to reset the device Z24. The 23 flip-flop is reset and stays reset until the next low on line A
24 sets it again. The CPU finds bit time 4 to contain a 0. This set/reset process continues until the CPU has read every bit time 26 of the program that was stored in the cassette. It is the 27 responsibility of the CPU to assemble the bit times into data 28 words; the words into text; and store the text in the random 80.
.... . . . _ ., 1 access memory.
7- The basic language of the computer is stored in ths RO~
3 and in accordance with the system of the present invention it is 4 quite easy to expand the mathematical and symbolic capabilities.
In a first generation system there is employed a 4K ROM whereas 6 a higher generation system employs a 12K ROM. The basic hardl~are 7 of the system does not change. The only basic different being 8 in the machine language contained in the ROM. In the higher g generation machine, there may be contained three 4K ROMs instead lQ of the two 2K ROMs depicted in the drawings. This ROM connects 11 to the CPU at addresses All, A12 and A13 and also receive the 12 signal ROM*.
13 In FIGS. 13 and 14 showing the majority of the details of 14 a specific embodiment of the invention, each of the devices~has an identification number. For example, devices Z35 and Z51 16 shown in FIG. 14B are multiplexer devices identified by a well-17 known part number 74LS157. These types of devices can be made by 18 any one of the well-known integrated circuit manu~acturers such as 19 National Semiconductor, Texas Instruments, or Motorola. Below is a table setting forth each of the components including 21 resistors and capacitors along with the specific value or type 22 of component that is used;
24 Cl 220 ~F, 16V, Electrolytic, Axial 25 C2 10 ~F, 16V, Electrolytic, Radial 26 C3 0.01 ~F, 10% 25V, Disc 27 C4 10~F, 16V, Electrolytic> Radial 28 C5 10~F, 16V, Electrolytic, Radial ,, ~1.
~3~3 1 C6 lOO~F, 16V, Electrolytic, Radial 2 C7 O.Ol~F, 10%, 25V, Disc 3 C8. 2,220~F, 35V, Electrolytic, Axial :4 C9 lO,OOO~F, 16V, Electrolytic, Axial - 5 ClO lO~F, 16V, Electrolytic, Radial 6 Cll lO~F, 16V, Electrolytic, Radial 7 C12 470pF, 50V, Disc 8 C13 470pF, 50V, Disc 9 C14 O.Ol~F, 10% 25V, Disc C15 O.Ol~F, 10%, 25V, Disc 11 C16 O.l~F, 10% 12V, Disc 12 C17 O.I~F, 10%, 12V, Disc 13 C18 O.l~F, 10%, 12V, Disc 14 Cl9 O.l~F, 10% 12V, Disc C20 330pF, 10% 50V, Disc 16 C21 750pF, 10~, 50V, Disc 17 C22 O.l~F, 10%, 12V, Disc 18 C23 O.l~F, 10%, 12V, Disc 19 C24 220pF, 10%, 50V, Disc C25 220pF, 10% 50V, Disc 21 C26 0.047~F, lOOV, Polyester Film 22 C27 0.022 F, lOOV, Polyester Film 23 C28 O.l~F, 10%, SOV, Disc 24 C29 O.l~F, 10%, 12V, Disc C30 O.l~F, 10%, 50V, Disc 26 C31 O.l~F, 10%, 12V, Disc 27 C32 O.l~F, 10%, 50V, Disc 28 C33 O.l~F, 10%, 12V, Disc 82.
71 3 1139~3 1 C34 0.1~F, 10%, 50V, Disc Z C35 0.1~F, 10%, 12V, Disc 3 C36 0.1~F, 10%, 12V, Visc 4 C37 0.1~F, 10%, 12V, Disc C38 0.1~F, 10%, 12V, Disc 6 C39 0.1~F, 10%, lZV, Disc 7 C40 0Ol~F, 10%, 12V, Disc 8 C41 0.1~F, 10%, 12V, Disc 9 C42 22~F, 16V, Electrolytic, Radial .-C43 47pF, 10%, 50V, Disc 11 C44 0.. 1~F, 10~, 12V, Disc - 12 C45 0.1~F, 10%, 12V, Disc 13 C46 0.1~F, 10%, 12V, Disc 14 C47 0.1~F, 10%, 12V, Disc C48 0.1~F, 10%, 12V, Disc 16 C49 0.1~F, 10%, 12V, Disc 17 C50 . 0.1~F, 10%, 12V, Disc 18 C51 0.1~F, 10%, 12V, Disc 19 C52 0.1~F, 10%, 12V, Disc C53 0.1~F, 10%, 12V, Disc 21 C54 0.1~F, 10%, 12V, Disc 22 C55 0.1~F, 10%, 12V, Disc 23 C56 0.1~F, 10%, 12V, Disc 24 C57 10~F, 16V, Electrolytic, Radial DIODES
26 CRl lN4735, 10%, 6.2V, Zener 27 CR2 lN5231, 5%, 5.1V, Zener 28 CR3 lN4148, 75V
. . . 83.
712 ~Ll39(~
1 CR4 lN4148, 75V
2 CR5 lN4148, 75V
3 CR6 lN4148, 75V
: 4 CR7 lN4148, 75V
CR8 Bridge Rectifier, MDA202, 2A, 202V
6 CR9 lN982, 75V, Zener 7 CR10 lN982, 75V, Zener 9 Jl Connector, Socket, DlN, 5Pin J2 Connector, Socket, DlN, 5Pin 11 J3. Connector, Socket, DlN, 5Pin 13 Kl 5V Relay 14 . TRANSISTORS
Ql 2N3904, NPN
16 Q2 MPS3906, PNP
17 Q3 TIP29, Driver 18 Q4 2N6594, Power 19 Q5 MPS3906, PNP
Q6 MJE34, Power 22 Rl 68 ohm, 1/2W, 5%
23 R2 2.7 K, 1/4W, 5~
24 R3 75C ohm, 1~4W, 5%
R4 0.33 ohm, 2W, 5%
26 R5 lK Trim Pot, 30%
27 R6 1.2 K, lJ4W, 5%
28 R7 1.2K, 1/4W, 5%
~4.
1 R8 100 X, 1/4W, 5%
2 R9 3.3K, 1/4W, 5%
3 R10 lK, Trim Pot, 30%
4 Rll 3.3K, 1/4W, 5%
R12 3.3K, 1/4W, 5%
6 R13 2.2K, 1/4W, 5%
7 R14 12K, 1/4W, 5%
8 R15 1.5K, 1/4W, 5~
9 R16 1.2K, 1/4W, 5%
R17 2K, l/4W, 5%
11 R18 5.6 ohm, 3W, 5%
12 R19 220 ohm, 1/2W, 5%
13 R20 lO0 K, Trim Pot, 20%
14 R21 100 K, Trim Pot, 20%
R22 75 ohm, 1/4W, 5%
16 R23 120 ohm, 1/4W, 5%
17 R24 680 K, 1/4W, 5%
18 R25 1.6 Megohm) 1/41~, 5%
19 R26 1 Megohm, 1/4W, 5%
R27 330 ohm, 1/4W, 5% .
21 R28 270 ohm, 1/4W, 5%
~- 22 R29 1.8K, 1/4W, 5%
23 R30 47 ohm, 1/4W, 5%
24 R31 10 ohm, 1/4W, 5%
R32 lOK, 1/4W, 5%
26 R33 360 K, 1/4W~ 5%
27 R34 470 K, 1/4W, 5%
28 R35 470 K, 1/4W, 5%
85.
'712 1 R36 360 K7 1~4W, s~
2 R37 560 K, 1/4W, 5%
3 R38 270 K, 1/4W, 5%
4 R39 4.7 K, 1/4W, 5%
R40 4.7 K, 14/W, 5%
6 R41 470 K, 1/4W, 5%
7 R42 1.0 Megohm, 1/4W, 5%
8 R43 10 K, 1/4W, 5%
9 R44 10 K, 1/4W, 5%
R45 470 K, 1/4W, 5%
11 R46 910 ohm, 1/4W, 5%
12 R47 10 K, 1/4W, 5%
13 R48 4.7 K, 1/4W, 5%
14 R49 4.7 K, 1/4W, 5%
R50 4.7 K, 1/4W, 5%
16 R51 4.7 K, 1/4W, 5%
17 R52 910 Ohm, 1/4W, 5%
18. RS3 1.2K, 1/4W, 5%
19 R54 7.5K, 1/4W, 5%
R55 7.SK, 1/4W, 5%
21 R56 220 K, 1/4W, 5%
22 RS7 4.7 K, 1/4W, 5%
23 R58 4.7 K, 1/4W, 5%
24 R49 4.7 K, 1/4W, 5%
R60 4.7 K, l/4W9 5%
26 R61 4.7 K, 1/4W, 5%
27 R62 4.7 K, 1/4W, 5%
28 . R63 4.7K, 1/4W, 5%
86.
1 R64 330 ohm, 1/4W, 5%
2 R65 lOK~ 1/4W, 5 3 R66 4.7 K, 1/4W, 5 4 R67 100 ohm, 1/4W, 5~
SWITCHES
6 52 DPDT Push 8 X3 16 Pin I.C. Socket 9 X13 16 Pin I.C. Socket X14 16 Pin I.C. Socket 11 X15 16 Pin I.C. Socket 12 X16 16 Pin I.C. Socket 13 X17 16 Pin I.C. Socket 14 X18 16 Pin I.C. Socket Xl9 16 Pin I.C. Socket 16 X20 16 Pin I.C. Socket 17 X32 24 Pin I.C. Socket 18 X33 24 Pin I.C. Socket 19 X39 40 Pin I.C. Socket X71 16 Pin l.C. Socket ~, 22 Yl 10.6445 MHz, 0.004%, Series Res.
24 Zl 723, DIP, Voltage Regulator Z2 723, DIP, Voltage Regulator 26 Z4 L.h53900, Dual Input Norton Amp.
27 Z5 74COO CMOS, Quad 2-Input NAND Gate 28 Z6 74C04 CMOS, Hex Inverter 5!~
39~
1 Z7 74LS74, Dual D Positive-~dge Triggered Flip-Flop 2 with Preset and Clear 3 Z8 Z4LS153, Dual 4-Line to l-Line Data Selector/
4 Multiplexer Z9 74LS04, Hex Inverter 6 Z10 74LS166, 8-Bit Parallel In/Serial Out Shift Register 7 Zll 74LS166, 8-Bit Parallel In/Serial Out Shift Register 8 Z12 74LS93~ Divide by 8 Binary Counter Selector/
9 Multiplexer Z21 74LS156, Dual 2-Line to 4-Line Decoder/Demultiplexer 11 Z22 74LS367~ TRI-STATE Hex Buffer 12 Z23 74LS32, Quad 2-Input OR Gate 13 Z24 74LS132, Quad 2-Input NAND Gate 14 Z25 74LS32, Quad 2-Input OR Gate Z26 74LS20, Dual, 4-Input NAND Gate 16 Z27 74LS175, Quad D Flip-Flop with Clear 17 Z28 74LS174, Hex D Flip-Flop wi~h Clear 18 Z29 MCM6670, Character Generator 19 Z30 74LS02, Quad, 2-Input NOR Gate Z31 74LS157, Quad 2-Line t0 l-Line Data Selector/
21 Multiplexer 22 Z32 74LS93, Divide by 8 Binary Counter Selector/
23 Multiplexer 24 Z33 2K x 8 ROM A, 450 ns. 2 Patterns Z34 2 K x 8 ROM B, 450 ns, 2 Patterns 26 Z35 74LS157, Quad 2-Line to l-Line Data Selector/
27 Multiplexer 28 Z36 74LS32, Quad 2-Input OR Gate 712 :~13~
1 Z37 74LS02, Quad 2-Input NOR Gate 2 Z38 74LS367, TRI-STATE Hex Buffer 3 Z39 74LS367~ TRI-STATE Hex Buffer 4 Z40 Z80 Microprocessor Circuit, Plastic Z41 75452, Relay Driver 6 Z42 74LS04, Hex Inverter 7 Z43 74LS157, Quad 2-Line to l-Line Data Selector/
8 Multiplexer 9 Z44 74LS367, TRI-STATE Hex Buffer Z45 2102, AN-4L, lK Static RAM
11 Z46 2102, AN-4L, lK Static RAM
12 Z47 2102, AN-4L, lK Static RAM
13 Z48 2102, AN-4L, lK Static RAM
14 Z49 74LS157, Quad 2-Line to l-Line Data Selector/
Multiplexer 16 Z50 74LS93, Divide by 8 Binary Counter Selector/
17 Multiplexer 18 Z51 74LS93, Divide by 8 Binary Counter Selector/
19 Multiplexer Z52 74LS04, Hex Inverter 21 Z53 74LS132, Quad 2-Input NAND Gate 22 Z54 74LS30, Triple 3-Input NOR Gate 23 Z55 74LS367, TRI-STATE, Hex ~uffer 24 Z56 74LS92, Divide by 6 Binary Counter Selector/
Multiplexer 26 Z57 74C04 C~IOS, ~lex Inverter 27 Z58 74LS92, Divide by 6 Binary Counter Selector/
28 Multiplexer ~Y
'12 1 Z59 74LS175, Quad D Flip-Flop with Clear 2 Z60 74LS367, TRI-STATE Hex Buffer 3 Z61 210Z, AN-4L, lK Static RAM
4 Z62 2102, AN-4L, lK Static RAM
Z63 2102, AN-4L, lK Static RAM
6 Z64 74LS157, Quad 2-Line to l-Line Data Selector/
7 Multiplexer 8 Z65 74LS93, Divide by 8 Binary Counter Selector/
9 ~lultiplexer Z66 74LSll, Triple 3-Input AND Gate 11 Z67 74LS367, TRI-STATE Hex Buffer 12 Z68 74LS367, TRI-STATE Hex Buffer 13 Z69 74LS74, Dual D Positive-Edge Triggered Flip-Flop 14 . with Preset and Clear Z70 74LS74, Dual D Positive-Edge-Triggered Flip-Flop 16 with Preset and Clear 17 Z71 Not used 18 Z72 74LS367, TRI-STATE Hex Buf-fer 19 Z73 74LS32, Quad 2-Input OR Gate Z74 74LS00, Quad 2-Input NAND Gate 21 Z75 74LS367, TR1-STATF. Hex Buffer 2Z Z76 74LS367, TRI-STATE Hex Buffer 24 A3 DIP Shunt A71 DIP Shunt 26 Z13 4096 bit, Dynamic RAM, 450 ns 27 Z14 4096 bit, Dynamic RAM, 450 ns 28 Z15 4096 bit, Dynamic RAM, 450 ns 90 .
712 - 1~3~
1 Z16 4096 bit, Dynamic RAM 450 ns 2 Z17 4096 bi~, Dynamic RAM, 450 ns 3 Z18 2096 bit, Dynamic RAM, 450 ns 4 Z19 2096 bit, Dynamic RAM, 450 ns Z20 4096 bit, Dynamic RAM, 450 ns 7 A3 DIP Shunt 8 A71 DIP Shunt 9 Z13 16384 bit, Dynamic RAM, 450 ns Z14 16384 bit, Dynamic RAM, 450 ns 11 Z15 16384 bit, Dynamic RAM, 450 ns 12 Z16 16384 bit, Dynamic RAM, 450 ns 13 Z17 16384 bit, Dynamic RAM, 450 ns 14 Z18 16384 bitJ Dynamic RAM, 450 ns Z19 16384 bit, Dynamic RAM, 450 ns 16 Z20 16384 bit, Dynamic RAM, 450 ns 18 Capacitors 19 C1 0.1~F, 10%, 12V, Disc C2 0.1~F, 10%, 12V, Disc 21 Diodes 22 CR1 L~D, HP5082-4850, Red 23 Keyboard 24 XB1 DS5300, 53 Key, 2-Shot Key caps Resistors 26 R1 4.7 K, 1/4W, 5%
27 R2 4.7 K, 1/4W, 5%
28 R3 4.7 K, 1/4W, 5%
91 .
712 ~ ~3~
1 R4 4.7 K, 1/4W, 5~
2 R5 4.7 K, 1/4W, 5%
3 R6 4-7 K, 1/4W, 5%
4 R7 4.7 K, 1/4W, 5%
R8 4.7 K, 1/4W, 5%
6 R9 330 ohm, 1/4W, 5 7 Integrated Circuits 8 Zl 74LS05, Hex Buffer with open collector High g Voltage outputs Z2 74LS05, Hex Buffer with open collector High 11 Voltage outputs 12 Z3 74LS368, TRI-STATE Hex Buffer 13 Z4 74LS368~ TRI-STATE Hex Buffer 14 Wire Wl Stranded, Prebonded, LED, Red, 10"
16 W2 Stranded, Prebonded, LED, Black, 10"
.
18 Jl Socket, I.C., 24 Pin 19 Rl Resistor, 4.7K, 1/4W, 5%
Zl I.C., 4K x 8 ROM, 450ns, ROM A
21 Z2 I.C., 4K x 8 ROM, 450ns, ROM B
22 Z3 I.C., 4K x 8 ROM, 450ns, ROM C
23 Z4 I.C., 74LS42, B~D to Decimal Decoder 2~
q~
12 ~ 1 3~ ~ ~ 3 1 By the foregoing we have described a preferred embodiment 2 of the present system. However, it is understood that numerous 3 modifications can be made in this system without departing from 4 the scope of the invention. For example, in the video generation section there has been disclosed a scheme for generating either 6 32 characters or 64 characters per line. In this arrangement 7 the clock is controlled to provide characters of two different 8 widths. However, in accordance with another embodiment of the g invention the input address lines Ll, L2, L4 and L8 could
- 10 possibly be multiplexed to also provide for an expansion of
11 the number of character lines per page. In the disclosed
12 embodiment there is mention made of the use of 16 character lines.
13 However, in an alternate embodiment these input addresses to the
14 character generator could be controlled so as to provlde 16 character lines for the usual 64 character format or alternatively 16 only 8 character lines for the larger style 32 character per line 17 format.
18 This application is a division of application serial 19 number 324,806, filed April 3, 1979.
93.
18 This application is a division of application serial 19 number 324,806, filed April 3, 1979.
93.
Claims (11)
1. For a computer system having a central processing unit, means for storing instructions, a random access memory, keyboard means and display means, a manual reset switch, and means coupling the reset switch to the inter-rupt input of the central processing unit, characterized in that, said reset switch has an operated state for interr-upting the central processing unit and resetting it to a predetermined address, and a released state enabling oper-ation of the central processing unit.
2. A computer system as set forth in claim 1 wherein said reset switch is a momentary switch which when operated interrupts the central processing unit resetting it to said predetermined address and when released enabling operation of the central processing unit.
3. A computer system as set forth in claim 2 and further including a read only memory, said predetermined address being disposed in said read only memory.
4. A computer system as set forth in claim 3 wherein said coupling means includes gate means and circuit means including charging means enabling a first voltage there-across when the reset switch is operated and a second vol-tage thereacross after the reset switch is released.
5. A computer system as set forth in claim 4 wherein said gate means is responsive to the first and second voltage and a signal coupled from the central processing unit for halting operation thereof.
6. A computer system as set forth in claim 3 including a power-up reset circuit for setting the central processing unit to a preselected address which is different than the predetermined address.
7. A computer system as set forth in claim 2 wherein the momentary switch causes resetting and when released starts central processing unit operation from said predeter-mined address.
8. A computer system as set forth in claim 4 wherein said charging means includes a resistor and capacitor in series with one side of said momentary switch being con-nected to the node between the resistor and capacitor.
9. A computer system as set forth in claim 8 wherein said momentary switch is open to permit the capacitor to be in a charged state and is operated to a closed position to discharge the capacitor for resetting.
10, A computer system as set forth in claim 9 wherein said gate means includes a two input gate receiving a first signal from the central processing unit and a second signal from the node of the charging means.
11. A computer system as set forth in claim 6 wherein said power-up reset circuit includes a charging circuit and a logic gate coupling between the power terminal and the reset input of the central processing unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA000383080A CA1139003A (en) | 1978-07-21 | 1981-07-31 | Video processing logic |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US92695778A | 1978-07-21 | 1978-07-21 | |
US926,957 | 1978-07-21 | ||
CA324,806A CA1112369A (en) | 1978-07-21 | 1979-04-03 | Video processing logic |
CA000383080A CA1139003A (en) | 1978-07-21 | 1981-07-31 | Video processing logic |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1139003A true CA1139003A (en) | 1983-01-04 |
Family
ID=27166167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000383080A Expired CA1139003A (en) | 1978-07-21 | 1981-07-31 | Video processing logic |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA1139003A (en) |
-
1981
- 1981-07-31 CA CA000383080A patent/CA1139003A/en not_active Expired
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4338599A (en) | Apparatus for alpha-numeric/graphic display | |
US4430649A (en) | Video processing system | |
US4095267A (en) | Clock pulse control system for microcomputer systems | |
US4821182A (en) | Memory address decoding system | |
US4500956A (en) | Memory addressing system | |
US4563676A (en) | Computer | |
US4504826A (en) | Apparatus for alpha-numeric/graphic display | |
US4333089A (en) | Keyboard and control system | |
CA1112369A (en) | Video processing logic | |
CA1139003A (en) | Video processing logic | |
US4564902A (en) | Computer | |
CA1153125A (en) | Keyboard and control system | |
CA1146280A (en) | Video processing logic | |
CA1144657A (en) | Video processing logic | |
CA1157957A (en) | Circuitry for controlling writing of data into a recorder | |
CA1139005A (en) | Video processing logic | |
US5621401A (en) | Circuit for sensing input conditioning of keyboard | |
JPS58163992A (en) | Crt display unit | |
JPS6145839B2 (en) | ||
JPS6116077B2 (en) | ||
JPS59729A (en) | Display control system in japanese word display device | |
KR950000540B1 (en) | Window generating method and apparatus therefor | |
JPS5993494A (en) | Metronome with liquid-crystal beat display | |
KR890005287B1 (en) | Attribution control circuit | |
JPS58189686A (en) | Display presentation system for word processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |