Starting Lineup Talking Football -------------------------------- The board consists of an 80C31 microcontroller, 1K RAM chip, 256K ROM, two 74HC00's, a 74HC32, a 74HC08, 74HC373, 74HC374, and 74HC244. There's two 9 pin keypad sockets which accept a 5*4 matrix on each, and two 30 pin cartridge sockets that can accept 32K, or up to 128K if a 74HC08 is placed on the cartridge. The 80C31 runs at 12.00MHz. IO's: P1.0 through P1.7 - 8 bit R2R DAC This DAC is made up of 500K and 250K resistors in a small network. It is run through some filtering and amplification before running into an LM386 audio amplifier. There is no volume control. P3.0 -> ROM bank bit 0 P3.1 -> ROM bank bit 1 P3.2 -> ROM bank bit 2 P3.3 -> enable cartridge 1 (low = enable) P3.4 -> enable cartridge 2 (low = enable) P3.5 -> enable internal ROM (low = enable) Bits 0-2 select a 32K ROM bank on the internal 256K ROM, and bits 3-5 select various sources for the other 32K bank. A low on a pin will select that source. Do not pull more than 1 low at a time or it will cause a bus conflict. memory map: (PSEN low) 0000-7fff - first 32K of ROM (always selected here, regardless of the state of P3.5) 8000-ffff - selectable ROM bank / cartridge (PSEN high) RW0000-3fff - 1K of RAM R 4000-7fff - input port W4000-7fff - output port R 8000-ffff - selectable ROM bank / nothing When PSEN is high, only the internal ROM may be read at 8000-ffff. The cartridge cannot output data here, so if a cartridge is enabled and the internal ROM is disabled, open bus will be read. Since there's pullups on the data lines, open bus is always 0xff. If a cartridge is not present, it will read as all 0xff. input port and output port: There's a single 8 bit input, and single 8 bit output port. The output port has 5 bits used. Bits 0-2 are present, but not connected. Bits 3-7 connect to the two keypad sockets. The input port has all 8 bits used. Bits 0-3 go to one keypad, and bits 4-7 go to the other. Each bit of the input port is pulled up to 5V with a 10K resistor, and each output port bit is run through a diode, so that it can only pull keypad pins low, and not high. Unfortunately, I do not have the rest of it any more, and all I can do is say what the pinout is on the two keypad sockets. The game most likely scans the outputs, 1 bit at a time, pulling it low while the other outputs are high. Then the inputs are read to determine what button, if any, is being pressed. It reads both keypads at the same time. They are marked "left" and "right". (left) (1) IN.3 IN.2 IN.1 IN.0 OUT.3 OUT.4 OUT.5 OUT.6 OUT.7 (9) (right) IN.7 IN.6 IN.5 IN.4 OUT.3 OUT.4 OUT.5 OUT.6 OUT.7 (9) cartridge pinout: (1) (2) VCC GND /OE A15 /CE P3.1 P3.0 D3 D4 D2 D5 D1 D6 D0 D7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 (29) (30) Starting Lineup Talking Baseball -------------------------------- This is nearly identical to the football game. It has an 80C31, 6116 RAM chip, two 74HC244, 74HC374, 74HC373, 74HC00, 74HC32, and an LM386. There's two cartridge ports like on the football version, and 2 keypad sockets. There's 12 LEDs on this one, as well as a 3 position power switch. As before, the 8031 runs at 12.00MHz, and the audio setup is identical. The port bits have been a little be modified from the football version. P3.0 -> ROM bank bit 0 (also, must be high to read/write the input/output ports) P3.1 -> ROM bank bit 1 P3.2 -> enable internal ROM (low = enable) P3.3 -> enable cartridge 1 (low = enable) P3.4 -> enable cartridge 2 (low = enable) P3.5 -> power switch setting Bits 0-1 select a 32K ROM bank on the internal 128K ROM, and bits 2-4 select various sources for the other 32K bank. A low on a pin will select that source. Do not pull more than 1 low at a time or it will cause a bus conflict. P3.5 will detect the state of the power switch. It has three positions, in an on-off-on pattern; There is an extra contact that gets grounded when the switch is in one position vs. the other, selecting one or the other game mode. memory map: (PSEN low) 0000-7fff - last 32K of ROM (always selected here, regardless of the state of P3.2) 8000-ffff - selectable ROM bank / cartridge (PSEN high) RW0000-7fff - 2K of RAM R 8000-ffff - input port W8000-ffff - output port NOTE: for the input/output port to work, P3.0 must be high! Otherwise, writes won't do anything, and reads will return open bus (0xff). The selectable bank's bits are inverted, so if 00b is output to the P3.0/P3.1 lines, it will select bank 3. 11b will select bank 0. The way the ROM is hooked up is really weird. They run it through a 74HC244. It's enabled whenever /PSEN is low, and A15 is low or P3.2 is low. There is no reason at all why it would need this. The only thing I can think of is they have bad decoding, because the two cartridge ports have /OE directly connected to /PSEN. /CE is directly connected to the P3.x port pins, so the ROM on the cartridge should be enabled in the entire 0000-ffff range. So that would tend to make me think they screwed up and couldn't figure out why it didn't work, and made it work by force with the buffer. The cartridge sockets have the exact same pinout as the football version. Unlike football, this one has 12 LEDs arranged in this pattern: [H] [D] [L] [C] [G] [K] [B] [F] [J] [A] [E] [I] The D, H, and L LEDs are marked on the PCB, but the other 9 didn't have letters. It is pretty obvious though what they should be, however, by the way they are multiplexed. D0 D1 D2 ------------ D7| D H L D6| C G K D5| B F J D4| A E I To light up an LED, one of the rows must be pulled high, and one of the columns must be pulled low. So to light up "A", D4 has to be high and D0 has to be low. Buttons work similar to the football game, only there are two 8 pin connectors, instead of 9 pin ones. The button matrixes are 4*4 buttons. I do not have the rest of it so unfortunately I do not know what the buttons do. CN3 (player 1?) (1) out.4 (when D4 is high, this pulls LOW via a transistor. this is true for all four of these outputs) out.5 out.6 out.7 in.0 in.1 in.2 in.3 (8) CN4 (player 2?) (1) out.4 (these are in parallel with the above) out.5 out.6 out.7 in.4 in.5 in.6 in.7 (8) Each input line is pulled high with a resistor.