Unlike most other
consoles which have freely
addressable Video RAM (
VRAM), the
Colecovision has a
TMS9918a style video chip. Even though the chip has 16k of VRAM, it cannot be directly addressed. The
programmer has to first write the desired starting
address in VRAM to a specific port, latch it, and then feed graphics data to the chip a single
byte at a time (the video chip will auto-increment the VRAM address each time a write is made). This method is first and foremost
slow, because the video chip itself isn't fast enough to keep up with the write speed of the
Z80. So, you guessed it:
write a byte
NOP
write some more
NOP
hang self with rope
Ever notice why very few Colecovision games scroll very well?