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.