B board · sheet 6/6 · manual page 37

The second line buffer sheet

A near-exact mirror of the previous sheet. Same circuit, different chips, alternate scanlines - and the reason the sprite engine never has to keep up with the beam.

This sheet is part ofHow sprites work

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

What this sheet is for

This drawing looks so like sheet 5/6 because it is the same circuit built a second time. 6L, 6M and 6K are the X counter, 7L and 7M the flip XORs, 9L and 9M the buffer memory, 8L and 8M the write-back muxes, 10L and 10M the playback latches.

The two buffers alternate. While one is being filled with the sprites for the next scanline, the other is being read out to the screen for the current one, and at the end of every line they swap. The signal doing the swapping is LV1, which is simply the bottom bit of the scanline counter: odd lines use one buffer, even lines the other.

That is what buys the engine its time. It never has to keep up with the beam, only stay one line ahead of it, and one line is sixty-four microseconds of breathing room.

What is genuinely different

Not everything is duplicated. The transparency test is shared: both sheets use the same '20 at 1L to ask whether a pixel slot is still empty, because only one buffer is ever being written at a time.

The output muxes live on sheet 5/6 too, so this buffer's playback latches send their pixels back across to 2L and 2M over there rather than driving the cable directly. If you are tracing signals between these two sheets, that asymmetry is the thing that catches people out.

The strobes that control this buffer - its clear, its write, its load - all come from sheet 4/6, generated as the second-buffer copies alongside the first buffer's set.

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