Liber VII · Capitulum V

The scoreboards

Three scoreboards for four modes, each with its own kernel.

FULL: the Spectrum one

In FULL the scoreboard is the whole Spectrum one at 1/2 scale, exactly 128 × 32, drawn as if it were rows 160 to 191 of the room, with the same checkerboard kernel. The fixed part ("Día" in gothic, the frame, the slots, "obsequium") is generated by a tool from the Spectrum screen. The colours only change where each section starts: background and ink on row 0, with cyan ink, and yellow ink from row 16. The red bars are mirrored PF1 and the ball: a 2-pixel ball stretches the hour bar up to the first slot, as on the Spectrum, and on the bar rows PF1 changes mid-line so that this end is not mirrored onto the obsequium one. The inventory slots sit closer together than in the original to make room for the bars. The icons are the objects themselves: they come from the same reduced graphic used to draw them in the room, with the ink lit, inverted as on the Spectrum. A slot holding an object clears the pixel on each side, so the icon does not run into the background ornament or the next slot. Only the rows that change are rebuilt.

Since the checkerboard does not need the ball for the room, the bars appear on every frame. The scoreboard changes (colours, PF1 and the ball) go on its rows 0, 1, 2, 16 and 25, placed on their cycle by the same tool that solves the checkerboard. The filigree under the sentence frame is redrawn at 128 pixels, symmetrical as on the Spectrum.

FULL scoreboard with debug colours, fields 0 and 1
FULL. Field 0 on top and field 1 below: the scoreboard comes out in a checkerboard, like the room, and the bars are in both.
Stella debug colours: player 0, missile 0, player 1, missile 1, playfield, ball and background. Field 0 on top and field 1 below.

DOUBLE: 96 pixels

A narrow version of the previous one: the central inventory gap and the separations at 1 pixel, without the decorations of the obsequium bar (16 pixels), the time bar at 26, and "D." and "ob." instead of "Día" and "obsequium", so that the sentence fits with 14 letters. Its kernel is fixed, without bus stuffing: it writes background, playfield, ball, colours and graphics on specific cycles, with Y = 0 and X prepared so that every write costs 3 cycles.

DOUBLE scoreboard with debug colours, fields 0 and 1
DOUBLE. Fields 0 and 1.
Stella debug colours: player 0, missile 0, player 1, missile 1, playfield, ball and background. Field 0 on top and field 1 below.

STRIP and STRIP+: no bus stuffing

Redesigned to look like the original without bus stuffing. The sentence goes in a cyan box of mirrored playfield, with six 8-pixel letters in the 48 window. Below, six 8-pixel slots every 16, which are the players themselves: the object in yellow on black and in the same order as in the original, and an empty slot all yellow. Each player has three copies side by side (NUSIZ = 3), placed without HMOVE, and the graphic changes between copies with a 3-cycle sta/stx. Between slots, on two rows, the missiles draw the original's double connectors: 4 pixels with 2 of air on each side and the same copies as the players (missile 0 at 46, 62 and 78; missile 1 at 78, 94 and 110, its first copy on top of missile 0's last). They are placed with a RESM after each RESP and an HMOVE on the first line of the slots, and ENAM0 and ENAM1 take bit 1 of the same values as PF0, at no extra cycles. On the same line the playfield draws the day in Roman numerals (green, on the left, centred in its first seven pixels) and the obsequium bar (red, on the right). Below, after a black line, the time in cyan over another red bar.

STRIP+ scoreboard with debug colours, fields 0 and 1
STRIP and STRIP+. The slots are copies of players 0 (red) and 1 (yellow); the connectors, of missiles 0 (orange) and 1 (green).
Stella debug colours: player 0, missile 0, player 1, missile 1, playfield, ball and background. Field 0 on top and field 1 below.
The Spectrum scoreboard and the demake ones
What you see on the TV. The Spectrum scoreboard and, below, those of FULL, DOUBLE and STRIP, in Spanish and in English.