1.1 --- a/ULA.txt Sun Aug 23 22:26:14 2020 +0200
1.2 +++ b/ULA.txt Wed Nov 11 01:33:16 2020 +0100
1.3 @@ -1382,6 +1382,41 @@
1.4 character. When no attribute information is provided, the colours are defined
1.5 globally.
1.6
1.7 +Enhancement: Character Generator Support and Vertical Scaling
1.8 +-------------------------------------------------------------
1.9 +
1.10 +When generating a picture, the ULA traverses screen memory, obtaining 40 or 80
1.11 +bytes of pixel data for each scanline. It then proceeds to the next row of
1.12 +pixel data for each successive scanline, with the exception of the text modes
1.13 +where scanlines may be blank (for which the row address does not advance).
1.14 +This arrangement provides a conventional bitmapped graphics display.
1.15 +
1.16 +However, the ULA could instead facilitate the use of character generators. The
1.17 +principles involved can be demonstrated by the Jafa Mode 7 Mark 2 Display Unit
1.18 +expansion for the Electron which feeds the pixel data from a MODE 4 screen to
1.19 +a SAA5050 character generator to create a MODE 7 display. The solution adopted
1.20 +involves the replication of 40 bytes of character data across as many pixel
1.21 +rows as is necessary for the character generator to receive the appropriate
1.22 +character data for all scanlines in any given character row. If only a single
1.23 +40-byte row of character data were to be present for the first scanline of a
1.24 +character row, the character generator would only produce the first scanline
1.25 +(or the uppermost pixels of the characters) correctly, with the rest of the
1.26 +character shapes being ill-defined.
1.27 +
1.28 +Here, the ULA could facilitate the use of memory-efficient character mode
1.29 +representations (such as MODE 7) by holding the row address for a number of
1.30 +scanlines, thus providing the same row of screen data for those scanlines,
1.31 +then advancing to the next row. Visualised in terms of pixel data, it would be
1.32 +like providing a display with a very low vertical resolution. Indeed, being
1.33 +able to reduce the vertical resolution of a display mode by a factor of eight
1.34 +or ten would be equivalent to the above character generation technique in
1.35 +terms of the ULA's screen reading activities.
1.36 +
1.37 +By combining this vertical scaling or scanline replication with a circuit
1.38 +switchable between bitmapped graphics output and character graphics output,
1.39 +MODE 7 support could be made available, potentially as a hardware option
1.40 +separate from the ULA.
1.41 +
1.42 Enhancement: Compressed Character Data
1.43 --------------------------------------
1.44