Loading...
 

CM

Capabilities

Details

SpectraVideo CompuMate bankswitched games.

Spectravideo Compumate Atari
Image credit: http://www.oldcomputers.net/pics/spectravideo-compumate-atari.jpg

This is more than just a cartridge mapper - it's also a "computer" add-on. There are two 8K EPROMs soldered on top of each other. There's two short wires with DB-9s on them which you plug into the two controller ports. It has a membrane keyboard with 42 keys, audio in and audio out, and 2K of RAM.

There are 4 4K banks selectable at $1000 - $1FFF, and 2K RAM at $1800 - $1FFF (R/W 'line' is available at SWCHA D5, so there's no separate read and write ports).

Bankswitching is done though the controller ports

SWCHA: D7 = Audio input from tape player
           D6 = Audio out to tape player and 4017 CLK
                1 -> increase key column (0 to 9)
           D5 = 4017 RST, and RAM direction. (high = write, low = read)
                1 -> reset key column to 0 (if D4 = 0)
                0 -> enable RAM writing (if D4 = 1)
           D4 = RAM enable: 1 = disable RAM, 0 = enable RAM
           D3 = keyboard row 3 input (0 = key pressed)
           D2 = keyboard row 1 input (0 = key pressed)
           D1 = bank select high bit
           D0 = bank select low bit

    INPT0: D7 = FUNC key input (0 on startup / 1 = key pressed)
    INPT1: D7 = always HIGH input (pulled high thru 20K resistor)
    INPT2: D7 = always HIGH input (pulled high thru 20K resistor)
    INPT3: D7 = SHIFT key input (0 on startup / 1 = key pressed)
    INPT4: D7 = keyboard row 0 input (0 = key pressed)
    INPT5: D7 = keyboard row 2 input (0 = key pressed)


The keyboard's composed of a 4017 "1 of 10" counter, driving the 10 columns of the keyboard. It has 4 rows. The 4 row outputs are buffered by inverters.

Bit 5 of portA controls the reset line on the 4017. Pulling it high will reset scanning to column 0. Pulling it low will allow the counter to be clocked.

Bit 6 of portA clocks the 4017. Each rising edge advances the column one count.

There's 10 columns labelled 0-9, and 4 rows, labelled 0-3.

Column

    0     1     2     3     4     5     6     7     8     9
  +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+
  | 7 | | 6 | | 8 | | 2 | | 3 | | 0 | | 9 | | 5 | | 1 | | 4 |  0
  +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+
  +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+
  | U | | Y | | I | | W | | E | | P | | O | | T | | Q | | R |  1
  +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+     Row
  +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+
  | J | | H | | K | | S | | D | |ent| | L | | G | | A | | F |  2
  +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+
  +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+
  | M | | N | | < | | X | | C | |spc| | > | | B | | Z | | V |  3
  +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+


Function and Shift are separate keys that are read by 2 of the paddle inputs. These two buttons pull the specific paddle input low when pressed. Because the inputs are inverted, a low indicates a pressed button, and a high is an unpressed one.

The audio input/output are designed to drive a tape player. The audio output is buffered through an inverter and 2 resistors and a capacitor to reduce the level to feed it into the tape player. The audio input is passed through a .1 uf capacitor and is pulled to 1/2 supply by two 20 K resistors, then it goes through a hex inverting Schmitt trigger to square it up. This then runs into bit 7 of portA.

Use

SpectraVideo CompuMate bankswitched games.

see Bank Switching