Everything on the edges
| Ref | What it is | Connector |
| J6 | JOYSTICK A | DB-9 male — Atari 2600 style |
| J8 | JOYSTICK B | DB-9 male — Atari 2600 style |
| J12 | SERIAL (DTE) | DB-9 male — RS-232 |
| J13 | PS/2 | 6-pin mini-DIN |
| J11 / J15 | AUDIO L / R | RCA jacks |
| J17 | 5V DC | Barrel jack, 5 V, 2–3 A |
| J18 | CART | 2×20 card edge, 2.54 mm |
| J19 | BUS | 2×20 box header, 2.54 mm |
| J22 | STORAGE | 2×10 socket — the CF adapter |
| J14 | KEYBOARD | 1×16 header, 2.00 mm |
| J9 / J10 | PORT B / PORT A | 2×6 box headers — VIA GPIO |
| J7 | PADDLES | 1×4 header — SID paddle inputs |
The small three-pin headers — J1 PHI2 SELECT, J2 CTS EN,
J4 DCD EN — are build-time jumpers, not things to plug into.
J3 brings the reset switch out for a panel-mounted button.
Joystick — DB-9 male
| Pin | Joystick A | Joystick B | Meaning |
| 1 | PA4 | PB4 | Up |
| 2 | PA5 | PB5 | Down |
| 3 | PA6 | PB6 | Left |
| 4 | PA7 | PB7 | Right |
| 5 | PA3 | PB3 | Y |
| 6 | PA0 | PB0 | A / fire |
| 7 | PA1 | PB1 | B |
| 8 | GND | GND | Ground |
| 9 | PA2 | PB2 | X |
Active low. A direction being held pulls its line to 0.
An untouched stick reads $FF, which is why the test is
IF (JOY(1) AND 16) = 0 and not <> 0.
Serial — DB-9 male, DTE
| Pin | Signal | Direction |
| 1 | DCD | In — carrier detect |
| 2 | RXD | In — the ACE receives here |
| 3 | TXD | Out — the ACE transmits here |
| 4 | DTR | Out |
| 5 | GND | Ground |
| 6 | DSR | In |
| 7 | RTS | Out |
| 8 | CTS | In |
| 9 | — | Not connected |
19200 8-N-1. The ACE is wired as data terminal equipment, the
same as a PC, so reaching a laptop takes a null-modem cable or adapter
— a straight-through one leaves both ends talking on the same wire.
PS/2 — 6-pin mini-DIN
| Pin | Signal |
| 1 | PS2DATA |
| 2 | Not connected |
| 3 | GND |
| 4 | VCC |
| 5 | PS2CLK |
| 6 | Not connected |
A PS/2 keyboard plugged in here works alongside the board's own keys, not
instead of them. Both feed the same ring buffer.
The bus — J19 and the cartridge edge J18
Both carry the same forty signals in the same order: the whole 65C02 bus, brought out
twice. Odd pins down the left, even pins down the right.
| Pin | Signal | Pin | Signal |
| 1 | GND | 2 | VCC |
| 3 | RESB | 4 | EXP0 — HRDB |
| 5 | IRQB | 6 | EXP1 — HRDB |
| 7 | NMIB | 8 | A15 |
| 9 | RDY | 10 | A14 |
| 11 | BE | 12 | A13 |
| 13 | RWB | 14 | A12 |
| 15 | SYNC | 16 | A11 |
| 17 | PHI2 | 18 | A10 |
| 19 | EXP3 | 20 | A9 |
| 21 | EXP2 | 22 | A8 |
| 23 | D7 | 24 | A7 |
| 25 | D6 | 26 | A6 |
| 27 | D5 | 28 | A5 |
| 29 | D4 | 30 | A4 |
| 31 | D3 | 32 | A3 |
| 33 | D2 | 34 | A2 |
| 35 | D1 | 36 | A1 |
| 37 | D0 | 38 | A0 |
| 39 | VCC | 40 | GND |
Four expansion pins, two of them spoken for. The family bus calls pins
4, 6, 21 and 19 EXP0–EXP3. The ACE ties
EXP0 and EXP1 to HRDB, its hard-reset line;
EXP2 and EXP3 are free. A COB card that expects all four to
be free will not behave on an ACE.
PORT A — J10 · PORT B — J9
| Pin | Signal | Pin | Signal |
| 1 | VCC | 2 | GND |
| 3 | PA7 | 4 | PA0 |
| 5 | PA6 | 6 | PA1 |
| 7 | PA5 | 8 | PA2 |
| 9 | PA4 | 10 | PA3 |
| 11 | CA1 | 12 | CA2 |
Port B's header is wired the same way with PB0–PB7,
CB1 and CB2. Both are the 65C22 VIA's ports — the same
sixteen lines the keyboard matrix and the two joysticks share, so anything you hang
here has to take turns with them.
Keyboard — J14 · Storage — J22
| Header | Pins |
| KEYBOARD | 1–8: PA0–PA7 (matrix rows) · 9–16: PB0–PB7 (columns) |
| STORAGE | Odd 1–19: GND, D7–D0, VCC · Even 2–20: VCC, RESB, RDY, RB, WB, IO4B, A2, A1, A0, GND |
The storage header is a small bus of its own: eight data lines, three address lines, a
read strobe, a write strobe and one chip select — IO4B, which is I/O
slot 4. That is exactly what an 8-bit CompactFlash card in True IDE mode wants, and it
is the whole of what the CF adapter board is.