83
edits
(→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) |
edits