HOW THE CODE WORKS

The program is implemented as a 16 KB ROM image starting at address $c000,
with required padding before the CPU reset vector at $fffe.

The code writes 14 rows of asterisk chars directly into the screen RAM.

Character counts are stored as negative values, so that the starting
column may be easily calculated by adding a constant and then dividing
by two.

The address of the next screen row is calculated by adding $10 to the last
used address and then discarding the lower five bits.

An infinite loop is entered when the code reads the first zero padding value
right after the char counts.

See also the source code with comments (source.asm), which may be assembled
using 'vasm' (http://sun.hasenbraten.de/vasm/).
