A board · sheet 6/8 · manual page 8

The character video RAM sheet

The text layer's memory, and the constant argument over who is allowed to read it.

Draft. This sheet was read from the original 1985 drawing and cross-checked against MAME, but it has not yet been walked pin by pin against a physical board. The logic described here is what the drawing shows.
This sheet is part ofHow a frame is drawn

The subsystem followed end to end, across every sheet that builds it.

What this sheet is for

7H, an M58725 static RAM, holds the character layer: which character sits in each cell of the text grid, and its colour attribute. Everything else on the sheet exists to decide who gets to talk to it.

Two masters want it. The CPU wants to write the score. The video hardware wants to read the next character, and unlike the CPU it cannot wait, because the beam is already moving.

Multiplexing, not arbitrating

The 74LS157 multiplexers at 3H, 4H and 5H are the answer, and the answer is not to arbitrate at all. The address the RAM sees is switched between the CPU's address and the video counter's address, on a timing signal, every single access.

There is no negotiation and no waiting. The video hardware gets the RAM during its half and the CPU gets it during the other half, forever, whether or not either actually wants it. Cheaper than arbitration and impossible to deadlock.

The flip

FLIP arrives from the I/O port and inverts the sense of the counters, mirroring the screen for the second player in a cocktail cabinet. It is not a software redraw: the same memory is read in the opposite order.

Every chip on this sheet

Click any of them to open the schematic with that chip selected in both panels.

← open the schematic for this sheet