Jump to content

Talk:ZX Spectrum graphic modes

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Incomplete and possibly wrong statement about video memory address bitpattern

[edit]

The article says under ZX Spectrum graphic modes#Graphics memory structure and pixel coordinates:

The address bitpattern contains two more bitpattern transpositions than necessary. The fastest and the simplest bitpattern would have been 0, 1, 0, x7, x6, x5, x4, x3, y7, y6, y5, y4, y3, y2, y1, y0, which makes the pixel addresses increase by the column first. Unfortunately, the ZX Spectrum designers were working under extreme time pressure, and failed to notice this simple improvement.

I do not have access to the cited book on ULA, but this statement ist at least incomplete. Given the Spectrum’s resolution of 256x192, the proposed bitpattern would leave 1/4 of the video memory unused: Each 192 bytes (corresponding to one column of 8 pixel width) would be followed by 64 unused bytes.

If the Spectrum’s resolution could have been made 320x256 instead, the proposed bitpattern might have worked well. (I am not sure because of timing and 66% higher video memory usage.) But then the article should say so. Spheniscus (talk) 19:41, 11 May 2025 (UTC)[reply]

The proposed bitpattern is 16 bits wide, of which the last 13 bits are affected by coordinates (x, y). Those 13 bits can address exactly 2^13 = 8 KiB of RAM.
Yes, that leaves a quarter of those 8 KiB supposedly “unused,” although color attributes or various BASIC and system variables could have easily been placed in the 64-byte gaps. The bitpattern is faster because it involves fewer transpositions, requiring less shifting and bitmasking when computing pixel addresses, at the expense of less than 2 KiB of RAM lost to gaps.
In modern computer systems, there is a similar feature, where the screen pitch (let’s say 2048 pixels) is typically wider than the visible screen width (let’s say 1920 pixels). The remaining pixels after line ends are unused. 95.178.134.236 (talk) 10:34, 5 August 2025 (UTC)[reply]
PS: Your "66% higher video memory usage" is an incorrect statement. Also, the proposed bitpattern actually requires minimal changes to the ULA, even with attributes placed in the "gaps". There is no reason why it couldn't work. 95.178.134.236 (talk) 10:53, 5 August 2025 (UTC)[reply]

Split Proposal

[edit]

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


In my opinion, the article should be split into two, because it is extremely confusing as it is. One article should be titled "ZX Spectrum Basic Graphics Mode", and the second article "ZX Spectrum Non-Basic Graphics Modes" (note: the split is not related to the BASIC programming language). The first article should contain everything up to the "Hicolour 8x1" section.

This second article can contain the descriptions of both the graphics modes of the ZX Spectrum's successors, and the various software-assisted modes, and other quirks that were used to enhance the output image. 02:19, 2 February 2024 (UTC)

Posted on behalf of Z80Spectrum per their request at [1]. VQuakr (talk) 02:19, 2 February 2024 (UTC)[reply]

Also: at the time when my proposal was originally made, the section Dithering and Blur was in the top half of the article. So, I believe that the "Dithering and Blur" should go into the first half of the split ("ZX Spectrum Basic Graphics Mode").
I'm also unsure about the title of the first part. Perhaps a better title would be "ZX Spectrum Standard Graphics Mode". Z80Spectrum (talk) 02:59, 2 February 2024 (UTC)[reply]
  • Oppose. This is already a quite overly detailed subarticle from ZX Spectrum, and at 3400 words of prose is it not approaching the "too long" region of WP:SIZERULE. The concern about it being confusing is better addressed by pruning, editing, and otherwise improving the article. In any case, the substantial issues with sourcing and original research should be addressed before they are propagated into an article split. Personally I am unconvinced that much of the emulated or otherwise kludged "non-basic modes" merit mention anywhere in Wikipedia, but that's beyond the scope of this split discussion. I would likely support a move to the more generalist ZX Spectrum graphics, but again that's beyond the scope of this discussion I think. VQuakr (talk) 03:48, 2 February 2024 (UTC)[reply]
  • Oppose. The pages and "see also" sections of comparable computers of the era, such as the Commodore VIC-20 and the Atari 400/800 series, do not have separate pages for the graphics mode, character set or specifications of the memory. Splitting the page up will just add more pages about the technical side of the ZX Spectrum that aren't exactly necessary. Keep this page as is. GarethBaloney (talk) 23:40, 16 February 2024 (UTC)[reply]
  • Oppose Page is too small for a size split, and I see no case for a WP:CONTENTSPLIT. If the article is confusing, and a split is really the only remedy to make it not confusing, then the same effect can be achieved by creating two sections ZX Spectrum graphic modes § Basic modes and ZX Spectrum graphic modes § Advanced modes, or somesuch. Paradoctor (talk) 08:11, 26 March 2024 (UTC)[reply]
The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

Just plain wrong!

[edit]

The Spectrum doesn't have 16K of "display memory". It's actually around 8K. In 16K models, that 16K is all there is, programs use the remaining 8K-or-so for code. The first half of the RAM is display memory, the rest isn't. So claiming you can write to "display memory" from 16384 to 32767 is just wrong.

And yes, most of this article looks like original research, bad research at that.

2A00:23C5:2E2:1A01:B2:618A:DA6A:6FF5 (talk) 11:21, 21 August 2025 (UTC)[reply]