Spectrum Video Modes: Difference between revisions

Jump to navigation Jump to search
m
→‎ZX Spectrum Video Mode: tag the display file bit with copyedit
(→‎ULAplus: hatnote magic)
m (→‎ZX Spectrum Video Mode: tag the display file bit with copyedit)
Line 2: Line 2:


== ZX Spectrum Video Mode ==
== ZX Spectrum Video Mode ==
The display is actually quite strangely made:
The display is actually quite strangely made:
* First there's the pixel data; this just has a single bit for each pixel.  Also it's laid out quite oddly; see below.
* First there's the pixel data; this just has a single bit for each pixel.  Also it's laid out quite oddly; see below.
Line 11: Line 10:


=== Display file layout ===
=== Display file layout ===
{{Copyedit}}
The pixel data appear starting at address 4000h (16384); the screen is divided vertically into thirds, then lines modulo 8, then rows (blocks of 8 lines).  This might become clearer if you look at how the address lines are 'jumbled': if we write L4-L0 for the bits of the Line number (0-23), P2-P0 for the bits of the Pixel row within the line (0-7), and C4-C0 for the bits of the Column number (0-31), we get the following...
The pixel data appear starting at address 4000h (16384); the screen is divided vertically into thirds, then lines modulo 8, then rows (blocks of 8 lines).  This might become clearer if you look at how the address lines are 'jumbled': if we write L4-L0 for the bits of the Line number (0-23), P2-P0 for the bits of the Pixel row within the line (0-7), and C4-C0 for the bits of the Column number (0-31), we get the following...
pixelByteAddr = (msb)| 0 | 1 | 0 |L4|L3|P2|P1|P0| || |L2|L1|L0|C4|C3|C2|C1|C0|(lsb)
pixelByteAddr = (msb)| 0 | 1 | 0 |L4|L3|P2|P1|P0| || |L2|L1|L0|C4|C3|C2|C1|C0|(lsb)
83

edits

Navigation menu