Standardization of video processor development principles.
ZXNet echo conference «hardware.zx»
From Valery Tkachuck → To All 31 October 2006
Hello, Black_Cat
Standardization of video processor development principles.
Spectrum is 90% a video processor. And it is not surprising that the main criteria,
defining the computer as a - these are the parameters of the video processor.
The main parameters of the video processor are:
- screen structure and screen area resolution;
- structure of color display and number of colors;
- frame and line frequency;
1.0 Screen structure and screen area resolution.
The structure of the ZX Spectrum screen area is quite unique. From which
considerations, the projection of the screen area onto video memory was done precisely
So, now it’s hard to say. But for ZX this is an undisputed standard and a retreat
rejecting it is tantamount to rejecting ZX compatibility as a whole (no matter how
like supporters of linear addressing). ZX screen structure
involves dividing it into three areas, within each of which it is used
same imaging cycle. From this we can conclude that
the minimum indivisible discrete in the structure of the screen is its third.
Consequently, with a scalable change in the proportions of the screen area, one
from the compatibility conditions there must be a multiple of thirds of the ZX screen. This condition
automatically generates a grid of acceptable resolutions when used
evolutionary scaling:- vertical: 192, 256, 320, 384, 448, 512, 576, 640, 704, 768, etc.
- horizontal: 256, 512, 768, 1024, etc.
1.1 Restriction on scaling proportionality.
If the condition is imposed on the resulting grid of permissible resolutions
proportionality of scaling in both coordinates, we get the following
screen resolution grid:
- 256x192, 512x384, 768x576, 1024x768, etc.
Is it legal to impose a scaling proportionality condition?
Yes and no - depending on the goals pursued. For example, working with such
integral part of the ZX, as the built-in BASIC assumes proportional
scaling, without which it is impossible to use its standard
graphic functions. Working with text imposes completely different requirements,
here the generally accepted standard is 80 characters per line, and the matrix
The familiarity of the characters can be any that satisfies this condition (for example
6x8). Thus, based on the purpose, the resulting permission grid can be
conditionally divided into (proportional) and (80
symbolic) modes*.
* Attention!! The division into and modes is conditional, because by
method of image formation by the ZX Spectrum video processor, all modes -
graphic.
1.2 Limitation on video scanning standards.
Another limitation imposed by the television video scanning standard isis 312 lines per frame with progressive scan (television standard
- 312.5 with interlaced). Imposing this condition limits the mesh
vertical resolutions when played back on TV and CGA monitor
the following modes:
- graphic: 256x192;
- text: (6x8)512x192, (6x8)512x256;
1.3 Is there life behind 312 lines? Frame rate limitation.
From the point of view of the technical implementation of C, this is possible, although there are
certain restrictions. Let's look at them.
1) Myth N8; .
11/26/98 Nemo
05.21.99 th Nemo
The Spectrum was indeed developed exclusively for TV, but...
a quarter of a century ago. And in 2012, on the territory of Russia, broadcasting for
television receivers for which the ZX C was designed to work will be
completely stopped. Since 2006, the import of imported analogue television receivers into
Russia is prohibited. Estimated design operating time of household appliances is ~6 years.
For a long time now, repairing a 6 year old TV is more expensive than buying a used one, the same with CGA, EGA andVGA (up to 17F) CRT monitors - they are not repaired, they are thrown away. It doesn't mean
Of course, that a thousand “real-life people” will not be able to find a TV for themselves, this means
another thing is that the average person will never buy a ZX again, because... in his
there won’t be anything to connect it to in the apartment, and a brand new guy will have to worry about it
digital, now they won’t even take it to the studio.
Conclusions:
- any historically time-bound postulates make sense only in
historical context;
- analogue television is already a thing of the past;
- ZX, only with an analog TV as a monitor; the center is dead
a design without a future.
2) Limitation on frame rate.
Is there an affordable analogue TV replacement? Yes, now you can with
confidently say C is C TFT computer monitor.
Why only ?
Because ZX was designed for television scanning, then its frame rate
=50Hz, and TFT monitors were originally designed for the VGA standard, for which
minimum frame rate =60Hz. Until now this has been an obstacle on the way
connecting the ZX to VGA monitors (albeit surmountable with certain hemorrhoids and
loss of image quality). But over time, electronics for many monitors
began to produce a unified dual-use VGA/TV and, accordingly,
Such monitors have learned to synchronize frames* at 50Hz.*Attention!! The frame synchronization frequency should not be confused with the frequency
image updates on a TFT monitor are mutually independent
characteristics.
Conclusion: when purchasing a TFT monitor, pay attention to its minimum frame rate
synchronization frequency.
1.4 VGA compatible ZX modes.
What is the essence of ZX->VGA signal conversion? Very simplified - if the duration
image lines ZX=Tzx, then the duration of the image line
VGA(640x480@60Hz)~Tzx/2, SVGA(800x600@72Hz)~Tzx/3, XGA(1024x768@75Hz)~Tzx/4.
Those. compressing the ZX string 2, 3 or 4 times respectively, we get the VGA, SVGA string
or XGA. Accordingly, to synchronize the duration of frames, each
The shortened line is played 2, 3 or 4 times in a row. The only one
a significant inconsistency in this method is the frame rate, it will remain
unchanged 50Hz, but this is exactly what is corrected by the TFT monitor. The point is that
the true resolution of a TFT monitor is determined by the resolution of its matrix, and all
resolutions that do not coincide with the true one are generated using recalculation.
In fact, the analog signal at the input of such a monitor is converted line by line
to digital using an ADC, and then displayed on the TFT matrix at that frequency
update, which is convenient for the matrix. Therefore, for such a monitor the frame rate
the frequency of the input signal does not matter, as long as its digitization circuit can
synchronize with it.Thus, we can have the following possible resolutions for ZX output
signal:
1) VGA(640x480)=[256x2]x[192x2]with border,
2) VGA(640x480)=512x[192x2]with border,
3) VGA(640x480)=512x256 with border,
4) VGA(640x480)=512x384 with border,
5) SVGA(800x600)=[256x3]x[192x3]with border,
6) SVGA(800x600)=[512x1.5]x[192x3]with border,
7) SVGA(800x600)=[512x1.5]x[256x2]with border,
8) SVGA(800x600)=512x384 with border,
9) SVGA(800x600)=768x576 with border,
10) XGA(1024x768)=[256x4]x[192x4]no border,
11) XGA(1024x768)=[512x2]x[192x4]no border,
12) XGA(1024x768)=[512x2]x[256x3]no border,
13) XGA(1024x768)=[512x2]x[384x2]no border,
14) XGA(1024x768)=1024x768 without border.
1.5 Aspect ratio limitation.
An important condition is the repeatability of the aspect ratio when forming
image areas at different monitor resolutions. Having analyzed
the resulting options can be said that the resolution proposed by ZX is 512x256 at
playback in each of the monitor resolutions under consideration has different
aspect ratio, which means it does not satisfy the verification criterion and is excluded
from further consideration (options 3), 7), 12)).
1.6 Architectural restrictions.
One of the standard features of video processor architecture is
Converting video modes according to the color depth> criterion withinallocated amount of memory. In this regard, it is of fundamental importance
video resolution scaling factor. In the considered options it is not difficult
note that for VGA and XGA modes, video resolution scaling is multiple
powers of radix 2, and for SVGA mode - respectively, powers of radix 2 and
3. That is for VGA and XGA modes we have:
1024x768x1bit=1024x384x2bit=512x384x4bit=512x192x8bit=256x192x16bit. For mode
SVGA; 768x576x1bit=512x384x2bit*=512x192x4bit*=256x192x9bit; (* - in these
modes, video memory is not fully used).
Another standard feature of video processor architecture is
dividing video memory into foreground and background bit planes. B
regarding VGA and XGA modes it is very easy to produce uniform for all
modes division into 2 bit planes foreground and background, which is not
can you say in relation to the SVGA mode, where modes that are multiples of powers are used?
different reasons. In SVGA mode, make this uniform for all modes
division is possible only by bringing the modes to a common multiple factor by
increasing the bit rate by 2 or 3 times, which will allow division accordingly
for 2 or 3 bitplanes.
Conclusions:
- taking into account the complete use of the allocated memory volume, less
demanding memory capacity, as well as the fact that manufactured DACs forvideo signal generation have a bit depth that is a multiple of base 2
the best options are to use VGA and XGA modes;
- SVGA mode, as non-optimal in terms of resource requirements, from
exclude further consideration.