Molto interessante davvero! Una scacchiera a schermo pieno in una manciata di byte!
Ho un dubbio. Io avrei messo una lda #$00 prima della sta $d011. Ai fini della visualizzazione della scacchiera è ridondante, sono d'accordo, ma se prima della SYS 4096 si effettua una POKE 780,16 non avviene il blanking del video. Aggiugendo quella lda, invece, a prescindere dal valore contenuto in 780 decimale il programma funziona comunque correttamente. Non vorrei dire un'inesattezza, sinceramente ho molta ruggine e comunque avevo conoscenze modeste dell'assembly, ma con questa modifica secondo me il programma è più robusto perché non risente del valore contenuto in 780, valore che ovviamente viene messo nell'accumulatore dall'istruzione SYS.
EDIT: però aggiungendo quell'istruzione si superano logicamente i 64 bytes...