Product specifications
OR L ;OUTBLK else drop through to
JR NZ,OUTBLK ;to OUTBL1
OUTBL1: RET ;Return to calling routine
Multicolour Mode
2.7
Multicolour mode is not normally allowed from BASIC, but like graphics 1 mode it can
be enabled with ease in assembler. Although I cannot see much use for it, it is
available on the machine and so I will attempt to describe it.
The features it provides are summarised in the table below:
Screen An unrestricted 48 row by 64 column display consisting of blocks
of 4 (Horizontal) by 4 (Vertical) pixels in any one of 15 colours
plus transparent.
The character pattern colours can be dynamically changed to
provide colour animated displays.
The backdrop or border colour can be any one of 15 plus
transparent.
Sprites are available up to a maximum of 32.
The VDP is in multicolour mode, when mode bits M1 = 0, M2 = 1 and M3 = 0 (see
section 2.2 register 1 bits 3 and 4).
Multicolour mode occupies a total of 1728 VRAM bytes in a complete set-up divided
into two tables, but because the tables are not contiguous and begin on even 1K and
2K boundaries a total of 3K is needed. 768 bytes are used for the name table and
1536 bytes (24 rows by 32 columns by 8 bytes per pattern position), for the pattern
generator table.
Like the graphic modes, multicolour mode has a screen consisting of 768 character
positions. The character label value contained within any one of the positions on the
display screen does not point to a character shape because this is always a 2
(Horizontal) by 2 (Vertical) block of 4 (Horizontal) by 4 (Vertical) pixels all set to 1,s.
Instead it points to a colour reference held within what would normally be the pattern
generator table. As in other modes each cell within the pattern generator table
consists of eight bytes. Multicolour mode only uses two of these bytes within each
pattern generator cell for each label on screen.
These two bytes specify four colours, each colour being related to each of the 4 by 4
pixels blocks within a character position on screen. The four MSB,s of the first byte
define the colour of the upper left quarter of the multicolour pattern. The four LSB,s of
the first byte define the colour of the upper right quarter. The second byte similarly
defines the lower left and right hand corner of the multicolour pattern.
This is shown in the diagram below: