Anonymous

ZX Spectrum 16K/48K: Difference between revisions

From Sinclair Wiki
m
→‎ULA: Dot crawl was known about
m (Link to newer archive of old NVG pages)
m (→‎ULA: Dot crawl was known about)
Line 25: Line 25:
It was later noticed that the ULA contended all I/O access, not just that to its own I/O port. This was presumably avoidable, as the ULA uses the Z80's A0 line to determine whether to respond to I/O port requests. This issue was partially resolved by means of the "spider" modification, which gates the ULA's {{overline|IORQ}} input with A0.
It was later noticed that the ULA contended all I/O access, not just that to its own I/O port. This was presumably avoidable, as the ULA uses the Z80's A0 line to determine whether to respond to I/O port requests. This issue was partially resolved by means of the "spider" modification, which gates the ULA's {{overline|IORQ}} input with A0.


The 48K Spectrum suffers from severe dot crawl, as it was not realised that synchronising the pixel clock with the PAL colour subcarrier would help to minimise this.  The ULA outputs {{overline|Y}}, U and V signals without modulation with a carrier, so this can be avoided entirely, but the pixel clock cannot be adjusted without adversely affecting video timings. This issue was fixed in later models of the Spectrum.
The 48K Spectrum suffers from severe dot crawl, as it was the pixel clock is not synchronised with the PAL colour subcarrier.  This was known about before release, and was a deliberate compromise in the design.  The ULA outputs {{overline|Y}}, U and V signals without modulation with a carrier, so this can be avoided entirely, but the pixel clock cannot be adjusted without adversely affecting video timings. This issue was fixed in later models of the Spectrum.


The "flash" attribute of the ZX Spectrum's display, designed to swap ink (foreground) and paper (background) colours in any 8×8 attribute block that enable it, suffers from a timing issue, in that the inversion of the display's bitmap data is not properly synchronised with pixel boundaries. This results in a thin edge in cases where the combination of the flash effect together with swapping of ink and paper in successive attribute bytes (or, alternatively, inversion of the bitmap) ought to cancel out, leaving no visible change between the right of one attribute block and the left of the next.
The "flash" attribute of the ZX Spectrum's display, designed to swap ink (foreground) and paper (background) colours in any 8×8 attribute block that enable it, suffers from a timing issue, in that the inversion of the display's bitmap data is not properly synchronised with pixel boundaries. This results in a thin edge in cases where the combination of the flash effect together with swapping of ink and paper in successive attribute bytes (or, alternatively, inversion of the bitmap) ought to cancel out, leaving no visible change between the right of one attribute block and the left of the next.