Video logic accelerator.
ZXNet echo conference «hardware.zx»
From Ivan Kuvshinov → To All 3 June 2005
If we’re going to make an extended screen for the Spectrum, then
why not put it in the ROM address space? This
same 16 KB of blank screen and even with the release of the address
space, which is quite decent!
The arguments are as follows - the screen is rarely readable and you can get by
without this, there is no need to write to the ROM, so you can
separate reading and writing: reading from ROM and writing to
screen at the same addresses. The video controller can
read directly. There are no problems with compatibility, because
the recording does not affect the reading in any way, and I don’t care what
The ROM is slipped in, the main thing is that it is a ROM, and there is no need for banks
click.
> How to add one bit to a byte (draw a line)? For this
>should it be read or not? And if necessary, a copy of this
>bytes should be done somewhere else in advance? Maybe
>make it possible in hardware to write not all bits into a byte for
>saving those that do not need to be written (then it will become possible
>set to remove one bit without reading)? How then to deal with
>compatibility and performance?
Think about it, I came to this conclusion - everything will be fine,
if in order to put an end to it you don’t need anything
read, which means a byte (or several) per point orplace only color attributes there.
For 16Kb we have somewhere around 128*128 or 160*102 with 256 colors
(just watch the video clips :-)). Or just attributes
(byte per byte) for a resolution of 512*240 - we’ll just fit it in
(15360).
By and large, video memory is required only for
records, if we consider it from the point of view of programs.
Of course, we are talking only about quantitative assessment, and not about
absolute statement, but nevertheless it may turn out to be
useful.
So an idea was given on how to use the benefits
one-way reading, but.. - it does not take into account SPECIAL
structure of the screen on the Spectrum, thanks to which, what would
you should put a regular point, make a logical
operation with a value in video memory, which is inconceivable without
reading. However, the principles of working with the screen themselves do not change and
if such logical operations could be carried out without
reading, then everything would fit very well into the proposed idea.
But the solution lies on the surface - after all, logical operations
There are very few of them elementary and they are very easily implemented in
gland, and the direct meaning of video memory cells
programs are not needed, that is, you can make them switchable
modes of operation with video memory that will implement
logical operations with data copied there. It may
significantly increase the speed of working with graphics bySpectrum and makes it possible to apply the main idea
stated at the very beginning.
Question for experienced programmers: how much faster?
(approximately.. so - off the top of my head) would be working with video
possessing such regimes? Or is the game not worth the candle?
KIA