The color V-RAM
The information of the color for each character and its background is available in the color V-RAM and stored in one byte for each character. The character V-RAM is from $D000 to $D7FF, whereas the color V-RAM is from $D800 to $DFFF.
To find the address of the color byte within the color V-RAM you can add $800 to the address of the character located in the character V-RAM. The result is the address of the color information byte in the color V-RAM associated with its character in the character V-RAM.
This table shows the meaning of the color information byte. For example, D0 means bit 0 of the byte and is the least significant bit, while D7 is the most significant bit.
|D7||Used to activate the
2nd character set
|D6||Green||color of the
( foreground )
|D2||Green||Color of the
There are 3 bits only for the background and 3 bits only for the foreground. The possible values of 3 bits are 000 to 111 and thus means 8 values are possible. Each value is associated to one color. That’s the cause why the MZ-700 can display 8 different colors only.
|The table shows all possible
colors and its associated values.
Notes and tips
The MZ-700 can display 512 different characters by 2 character sets and each one has 256 characters. Reset D7 to use a character related to the display code of the 1st character set or set D7 to use a character related to the display code of the 2nd character set.
The display code of the MZ-700 differs from its ASCII code. For further information of the contents of the character sets click here.
The bit D3 has no meaning, it is unused by MZ-700, but it is stored into the color V-RAM! You can use these bits of the 2 Kbytes color V-Ram for your own purposes. They will not be displayed and nothing will happen by setting/resetting these 2048 bits.
There are 2000 bytes used by scrolling for 25 lines and each line has 40 characters. The remaining 48 bytes of the character V-RAM and the remaining 48 bytes of the color V-RAM are unused too. I’m not sure if some BASIC commands like CLR and so on will delete these unused bytes.
The bits of the color information bytes will be sent to / received from IC# AD ( type LS245 ) while the bits of the character bytes will be sent to / received from IC# BD ( type LS245 ).
Download a programming example for the color V-RAM ( written in S-BASIC, 8 Kbytes )