TMS9901 programmable systems interface pinout
DIP-40. Keyboard scan, joysticks, cassette, interrupts and interval timer, over the CRU serial bus.
The PSI talks to the 9900 over the CRU (pins 2-4, enable on pin 5); S0-S4 (pins 39, 36, 35, 25, 24) are inputs that take the CRU bit address from A10-A14, they are not keyboard drivers. On the TI, P2-P4 select a keyboard column or joystick through a decoder, and the keys and joystick switches come back on the interrupt inputs INT3-INT10. P5 is ALPHA LOCK, P6 and P7 the cassette motors, P8 audio gate, P9 cassette out, P11 cassette in. INT1 is the I/O port interrupt and INT2 the VDP frame interrupt. A dead key row, no cassette or stuck interrupts point here.
Open the interactive TMS9901 pinoutPins
| Pin | Name | Type | Signal |
|---|---|---|---|
| 1 | /RST1 | ctrl | Power-up reset, Schmitt-trigger input. Low clears the interrupt masks and makes every I/O pin an input. |
| 2 | CRUOUT | io | CRU data from the CPU (9900 CRUOUT), sampled on CRUCLK when /CE is low. |
| 3 | CRUCLK | io | CRU clock from the CPU: valid data on CRUOUT. |
| 4 | CRUIN | io | CRU data to the CPU (9900 CRUIN). High impedance when /CE is high. |
| 5 | /CE | ctrl | Chip enable for CRU transfers. Does not affect the interrupt section. |
| 6 | /INT6 | kbd | Interrupt input 6. On the TI: keyboard line 0 9 8 7 6 and joystick DOWN. |
| 7 | /INT5 | kbd | Interrupt input 5. On the TI: keyboard line P O I U Y ENTER and joystick RIGHT. |
| 8 | /INT4 | kbd | Interrupt input 4. On the TI: keyboard line ; L K J H SPACE and joystick LEFT. |
| 9 | /INT3 | kbd | Interrupt input 3. On the TI: keyboard line = . , M N / and joystick FIRE. |
| 10 | PHI | clock | System clock: TTL phase 3 in a 9900 system. Drives the interval timer. |
| 11 | /INTREQ | ctrl | Interrupt request to the 9900 /INTREQ. Stays low until every enabled interrupt input is removed. |
| 12 | IC3 | ctrl | Interrupt code bit 3 (LSB). Not wired on the TI-99/4A: the console ties the 9900 IC0-IC3 inputs to fixed level 1 (pin 33 to +5 V, pins 34-36 to ground) and routes only INTREQ (pin 11). |
| 13 | IC2 | ctrl | Interrupt code bit 2. Not wired on the TI-99/4A (see pin 12). |
| 14 | IC1 | ctrl | Interrupt code bit 1. Not wired on the TI-99/4A (see pin 12). |
| 15 | IC0 | ctrl | Interrupt code bit 0 (MSB). Not wired on the TI-99/4A (see pin 12). |
| 16 | Vss | ground | 0 V. |
| 17 | /INT1 | ctrl | Interrupt input 1, the highest priority. On the TI: EXT INT from I/O port pin 4. |
| 18 | /INT2 | ctrl | Interrupt input 2. On the TI: the VDP vertical sync interrupt (TMS9918A pin 16). |
| 19 | P6 | io | I/O port 6. On the TI: cassette 1 motor control (CS1). |
| 20 | P5 | io | I/O port 5. On the TI: ALPHA LOCK key. |
| 21 | P4 | io | I/O port 4. On the TI: keyboard select bit 0 (MSB). |
| 22 | P3 | io | I/O port 3. On the TI: keyboard select bit 1. |
| 23 | /INT15/P7 | io | Interrupt 15 or I/O port 7. On the TI: cassette 2 motor control (CS2). |
| 24 | S4 | addr | CRU bit select, LSB of the 5-bit S0-S4 code. On the TI: from A14. |
| 25 | S3 | addr | CRU bit select. On the TI: from A13. |
| 26 | P2 | io | I/O port 2. On the TI: keyboard select bit 2 (LSB). |
| 27 | /INT14/P8 | io | Interrupt 14 or I/O port 8. On the TI: audio gate (cassette sound to the TV). |
| 28 | /INT13/P9 | io | Interrupt 13 or I/O port 9. On the TI: cassette data out (MAG OUT). |
| 29 | /INT12/P10 | io | Interrupt 12 or I/O port 10. On the TI: reserved. |
| 30 | /INT11/P11 | io | Interrupt 11 or I/O port 11. On the TI: cassette data in (MAG IN). |
| 31 | /INT10/P12 | kbd | Interrupt 10 or I/O port 12. On the TI: keyboard line Z X C V B. |
| 32 | /INT9/P13 | kbd | Interrupt 9 or I/O port 13. On the TI: keyboard line Q W E R T. |
| 33 | /INT8/P14 | kbd | Interrupt 8 or I/O port 14. On the TI: keyboard line A S D F G SHIFT. |
| 34 | /INT7/P15 | kbd | Interrupt 7 or I/O port 15. On the TI: keyboard line 1 2 3 4 5 and joystick UP. |
| 35 | S2 | addr | CRU bit select. On the TI: from A12. |
| 36 | S1 | addr | CRU bit select. On the TI: from A11. |
| 37 | P1 | io | I/O port 1. Not used on the TI. |
| 38 | P0 | io | I/O port 0. Not used on the TI. |
| 39 | S0 | addr | CRU bit select, MSB of the 5-bit code. On the TI: from A10. |
| 40 | Vcc | power | +5 V supply. |
Fitted in
Sources
- TI-99/4A Servicing Manual, Fig. 22 TMS 9901 pin assignments, printed p. 57
- TI-99/4A Servicing Manual, Table 8 9901 input/output map, printed p. 58
- TI-99/4A Technical Data, A.4 9901 bit organization, pp. 10-11
- TI-99/4A Technical Data, schematic sheet 61 (U300, keyboard, joystick, cassette)
- TMS9901 data sheet (scan)