Convertir la pantalla de carga se intentó de 42 maneras, simuladas con un modelo del TIA: el rótulo se leía y el resto quedaba en manchas. La portada se compuso a mano, pensando en lo que cada objeto del TIA sabe pintar: el muro y las ventanas en playfield; el cielo con un color de fondo por línea; la luna con los dos jugadores juntos; las estrellas y el chapitel con la bola; el rótulo en la ventana de 48 píxeles con un degradado por línea; las llamas con tres copias de un jugador y las velas con un misil de 4 píxeles; la pluma con el misil 0 desplazado en diagonal con HMOVE; el hábito y el sillón con el fondo. Cada objeto se reutiliza varias veces por frame, y su RES va en una línea en la que no pinta.
La portada
Una imagen compuesta línea a línea como un programa de escrituras.
Redibujada para el TIA

Colores de depuración de Stella: jugador 0, misil 0, jugador 1, misil 1, playfield, bola y fondo. A la izquierda el campo 0 y a la derecha el 1.
Un programa por línea
No hay bitmap ni bucle de dibujo. Cada línea visible es una lista de escrituras al TIA, cada una con su ciclo, y en la ROM ocupa un byte de cuenta y tres por instrucción: espera previa, operación y registro, valor. El ARM lee la tripleta y la inyecta, sin calcular nada. El generador (en Python) describe cada línea por capas, la compila a escrituras con un planificador como el de la sala y simula el resultado con los tiempos medidos en Stella. Con eso, la imagen de Stella y la del simulador coinciden píxel a píxel. El fondo solo puede cambiar cada 9 píxeles o más, así que una programación dinámica elige los tramos de color contando solo los píxeles en que el fondo se ve.
Sin bus stuffing, cada escritura cuesta 5 ciclos (o 3 si el valor ya está en A, X o Y): caben unas 12 por línea. El programa actual tiene de 1 a 15 escrituras por línea, 7,1 de media.
Colores, compresión y menú
Los colores están calibrados en NTSC. En PAL 50 y PAL 60 el programa se descomprime en RAM y se traducen los valores que acaban en un registro de color, también los que pasan por lda, ldx o ldy. El programa va comprimido con un LZSS propio (ventana de 2 KB, troceado óptimo por programación dinámica) y se descomprime una vez, sobre la RAM de los datos de línea de la partida, que en la portada no se usa.
Al pulsar el botón, las 53 últimas líneas (63 con SALIR) pasan a un menú en una ventana de 48 píxeles sin bus stuffing, con la fuente estrecha del marcador: los rótulos de los cuatro ajustes (sistema, idioma, modo y HMOVE), el elegido en amarillo y, debajo, su valor en blanco. Los valores no dan la vuelta al llegar al final, y unas flechas que parpadean indican hacia qué lado se puede cambiar. Son playfield reflejado: PF1 se reescribe a mitad de línea para que solo salga la flecha de ese lado.