B board · sheet 3/9 · manual page 13

The object data control sheet

The widest sheet in the machine: twenty-seven chips turning an accepted object into an address, a row and a set of pixels.

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 sprites work

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

What this sheet is for

Once the controller has accepted an object for this line, something has to work out which row of which tile to fetch, where in the line buffer it goes, and what happens if it is flipped. That is this sheet.

It has more chips than any other sheet on either board, and more of the model's pin data than any other — three hundred and forty-four pins.

Adders again, for a different reason

The 74LS283s at 7F, 7H, 8F and 8H are doing position arithmetic: the object's X plus the pixel offset gives the line buffer address to write to.

The 2114s at 11H, 11J, 12H and 12J are the working store for the accepted objects, holding the twenty-four survivors while their pixels are fetched.

Flipping an object

Objects can be drawn mirrored, and doing that in software would mean storing every sprite twice. Instead the XOR gates at 4J and 5D invert the row or column index on the way to the ROM.

Same artwork, read backwards. It is the same controllable-inverter trick the character generator uses for the screen flip, applied per object rather than per screen.

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