The Keyboard Component was a peripheral that combined with the Master Component to create a fairly capable computer. Mattel Electronics made a limited release of the Keyboard Component and subsequently offered to repurchase them when it decided not to release them to the wider market. As a result, there are very few Keyboards in the wild.
The Keyboard provided the following major components:
|6502||The Central Processing Unit (CPU) contained in the Keyboard|
|TMS9927 CRT Controller||A text-only 40x24 display controller that gen-locks to the Master Component's STIC|
|CRT RAM||A text frame buffer for the CRT Controller|
|Shared RAM||16K x 10-bit wide RAM, visible both to the Keyboard's CPU and the Master Component's CP1610.|
|Tape Drive||A block addressable, fully-CPU controlled tape drive, offering 2 digital and 2 analog tracks|
|6502 Cartridge Port||A second cartridge port for 6502-specific software, such as Keyboard Microsoft BASIC|
Because the combined Keyboard Component + Master Component system is a dual-processor system with two completely unrelated CPUs, the resulting system has separate memory maps for both the 6502 and CP-1610 sides of the system.
As the name suggests, the Keyboard Component operates as a peripheral to the Master Component. The Keyboard plugs into the Master Component's cartridge port, providing a pass-through connector of its own that allows other peripherals (such as game cartridges and the Intellivoice) to still connect to the combined system.
The Keyboard exposes two hardware features directly to the Master Component: A Keyboard-specifc extension to the EXEC ROM, and 16K x 10-bits of Shared RAM through which the Keyboard's 6502 CPU communicates with the Master Component's CP-1610. Notably, the 10-bit wide RAM allows the Keyboard to load CP-1610 programs from cassette or other Keyboard-specific media.
It appears that by default, the Master Component runs the main application software, using the Keyboard Component as a smart peripheral. the 6502 sets up and maintains a series of software FIFOs in shared memory, as well as a buffer for Remote Procedure Calls (RPC). It continually scans the typewriter keyboard for input, enqueing the user's keystrokes into one FIFO. It also scans for data and commands coming from the CP-1610, generally in the form of RPC calls and data to print arriving by another FIFO. Finally, the Keyboard also implements a set of interrupt-driven state machines for managing the cassette drive.
The Keyboard Component can also run software primarily intended for the 6502, putting the Master Component in a passive role. The Keyboard's Microsoft BASIC cartridge operates in this mode.
This page is a stub, but I wanted to get at least something here. I will upload Keyboard Component related photos and docs later. --Mr Z 18:45, 29 June 2006 (EDT)