video

Table of Contents

1 Home Micro 1000

The Home Micro 1000 video circuitry is greatly simplified from that of the Home Micro 2000 and provides only a single video mode: 320x200 pixels in a single color. This corresponds to mode 0 of the Home Micro 2000. As with the Home Micro 2000, the video is output as a VGA signal.

2 Home Micro 2000

The Home Micro 2000 was designed to generate a VGA signal with up to 16 colors. VGA was chosen because it is relatively easy to generate, easy to add color to, and can be displayed on modern displays either natively or with commonly availabe adapters.

The video the Home Micro 2000 generates consists of 320 pixels horizontally and 200 vertically, for a total of 64,000 pixels. To allow every pixel to be individually set to one of the 16 colors would require 4 bits per pixel, for a total of 32,000 bytes, just under half the addressable memory. Instead of sacrificing that much address space, the Home Micro offers a number of different video modes that offer more compact, albeit also less flexible encodings.

Mode Bit/Char Pixels Colors Tiles
0 bitmap 320x200 2 no
1 bitmap 160x200 4 no
2 bitmap 320x200 2 yes
3 bitmap 160x200 4 yes
4 character 320x200 2 no
5 character 160x200 4 no
6 character 320x200 2 yes
7 character 160x200 4 yes
-        
9 character 160x200 16 no

In other words: bit 0: extra color mode (0: disabled, 1: enabled) bit 1: color tiles (0: disabled, 1: enabled) bits 2 and 3: 00 bitmap mode, 01 character mode, 10 color character mode

if bit 7 is 1, it adds $4000 to video addresses. the meaning of bits 5 and 6 is as follows: 00: use character set in ROM 01: use character set at $2800 10: use character set at $6800

bit 4 is reserved and must be set to 0.

The bus arbiter provides 4 cycles. One of these is used by the CPU, leaving 3 for video.

In character mode, the first cycle is used to fetch the character. This uses bits 13..3 from the video address generator as bits 10..0 of the video address (providing for 1K addresses).

When color tiles are enabled, the second cycle is used to fetch the colors. This uses bits 13..3 as 10..0, again providing for 1K addresses.

In color character mode, the second cycle is used to fetch the first half of the character data.

The third cycle is used to fetch pixel data. In graphics mode, this uses bits 13..0. In character mode, this uses the text from cycle 1 as bits 10..3 and bits 2..0 of the video address as bits 2..0.

Bit 15 is always 1, and bit 14 is equal to the alternate graphics bit.