The KimKlone: Bride of Son of Cheap Video

Processor Partnership

Schematic excerpt (simplified) showing how the microcode array is addressed according to 65C02 op-codes.

This section describes the sequencing mechanism which underpins the functions described later.

KimKlone circuitry operates in partnership with its 65C02 much as an 8087 operates with an 8086. That is to say the co-processor knows the host processor's every move. It's aware of every op-code that gets fetched, it knows how many cycles that operation will take, and it has stored information that effectively predicts what the host processor will be doing during each and every cycle. In a moment I'll explain how that's done. First, let's recall that with 65xx chips, CPU "machine cycles" are synonymous with bus cycles. Native 65xx instructions always use a one-byte op-code, sometimes followed by a one- or two-byte operand containing immediate data or an address.

The KimKlone's logic is governed as follows: Thanks to the convenient SYNC signal that's output on pin 7 of the 65C02, the KimKlone always "knows" which cycles are fetching op-codes. As each op-code is fetched from memory it is not only passed to the 65C02; it is also copied into an 8-bit register (C10, a 74ALS273) where it remains for one or more cycles as the instruction executes. The cycles are counted using a four-bit counter (B14, a 74AC163). Besides loading the '273, SYNC also causes the counter to load, with zero. But during all other cycles the counter increments. Together, these two chips always know what instruction is executing and what cycle of the instruction is current.

The four-bit count, together with the op-code in the '273 Instruction Register, yield 12 bits that drive the address lines of a 4K by 16-bit EPROM array (a pair of 2732A's). The array is a Control Store holding Microcode. For every cycle of every possible instruction, the EPROMs deliver a 16-bit word pertaining specifically to that cycle of that instruction. The 16-bit microcode word is organized as seven separate fields which I won't delve into here. Suffice it to say they're the strings that make the puppet dance. Microcode is what controls hardware such as the new registers.

In the next section we'll begin to see what the new registers are and what they can do.

<Previous Page    KK Index     Next Page >

Servicing the unserviceable
Main/extra index

copyright notice (Jeff Laughton)