ZX screen

ZXNet echo conference «real.speccy»

From Aleksey Tarasow To All 27 July 2003

Hello All!

Somehow in the echo of zx.spectrum I raised the question of what kind of extended screens there are for speckies.
I received several answers, here is the result:

* Standard 256x192 - 8 colors per space.
* Profi 512x240 - monochrome, you can set any color in hardware
ink/paper from 8 colors (on old versions).
* Profi 512x240 - attribute per byte 8 colors.
* Profi 512x240 - attribute per byte 16 colors (starting from version 3.x).
* Profi 512x240 - attribute per byte 16 of 256 colors (versions 5.x, 4.x (???)).
* ATM 1 640x200 - attribute per byte (hardware multicolor).
* ATM 1 320x200 - each point in its own color, 16 colors.
* ATM 2 80x25 - hardware console (text mode).
* 512x192 - black and white, can be installed on any machine.
* 384x304 - AloneCoder's like (???).
* 256x192 - multicolor (???).
* 256x192 - software multicolor, 4 colors per dot.
* 128x192 - software multicolor, 16 colors per dot.
* 256x192 - hardware multicolor (???).
* 256x192 - without border (???).
* Sprinter 320x256 - 256 colors per dot.
* Sprinter 640x256 - 16 colors per dot.
* Sprinter ??х?? - hardware console (text mode).
* GMX 640x200 - no more data (???).
* GMX ??x?? - hardware console (textmode) (???????).
* ZXNEXT 640x240 - monochrome color ink/paper can be any.
* Quorum ???х??? - ??????

Please add and correct. If anyone has any scheme for installing an
advanced graphic screen on a computer, please share with me. We also
need information about the structure and placement of all screens (except Profi and
standard :).

From Nikolaj Amosov To All 28 July 2003

July 27, 03 (and it was then 21:45)
Aleksey Tarasow in his letter to All wrote:

AT> Somehow in the echo of zx.spectrum I raised the question of what kind of
AT> there are extended screens for Speccy. I received several
AT> replies, here is the result:

[...skipped...]

AT> * GMX 640x200 - no more data (???).

[...skipped...]

AT> Please add and correct. If anyone has any
AT> scheme for installing an extended graphic screen on a
AT> computer, please share with me. You also need
AT> information about the structure and placement of all screens (except
AT> Profi and standard :).

Here's more about GMX for you:

The number of colors is the same as in the regular ZX Spectrum, but unlike
ZX, each byte of graphics corresponds to a byte of attributes.
In order for the image to be color, it is necessary
to have 2 SIMMs, i.e. at least 512K. The addressing of the graphic screen starts from C000h, and is completely linear, i.e. the first 80 bytes are the first line of the screen, the next 80 bytes are the second line, etc. The graphic screen itself is located in bank #39(SCR=0)
or #3A(SCR=1). In total, the screen has 200 graphic lines and takes up 16,000 bytes of memory for graphics and the same amount for attributes.
Screen attributes are stored in a similar page of extended memory (SM2=1, D2-port DFFD), i.e. #79 or #7A. Addressingattribute bytes is the same as for graphics bytes, the attribute byte structure is standard.
The main purpose of extended graphics is a standard
text screen of 80*25 characters (character 8*8 pixels), necessary for working with text editors and terminal programs.
To speed up work in text mode, it is used hardware scrolling up and down. To shift the image vertically by any number of lines, you only need to write
two bytes to the “scroller” ports, which specify the starting address in the video RAM area for image output. Ports #7AFD (low byte)
and #7CFD (high byte) are like a single 14-bit register. Thus, in order to shift the image down one graphic line, you need to write the number 80d into this register, one text line - 640d, N text lines
- 640*N(N<=25). Note that the minimum scrolling step is
one graphic line, since the lower four bits are reset by hardware.

From Vassili Klimov To All 28 July 2003

Hello Aleksey!


AT> * Profi 512x240 - monochrome, you can set any color in hardware
AT> ink/paper of 8 colors (on older versions).
AT> * Profi 512x240 - attribute per byte 8 colors.
AT> * Profi 512x240 - attribute per byte 16 colors (starting from version 3.x).
1. all versions 3.x were monochrome (another thing is that there was a modification for these
boards that made the digital digital display screen)
2. Has anyone seen pros with boards version less than 3.xx??

AT> * Profi 512x240 - attribute per byte 16 out of 256 colors (versions 5.x,
AT> 4.x (???)).
^^^^^^^^^^^^^^^^^^^^^^ these palettes were never available

AT> * 384x304 - AloneCoder's kind (???).
yes, terribly crooked :]
AT> * GMX ??x?? - hardware console (text mode) (???????).
there is no such thing, at least it is not mentioned anywhere

there is also flashcolor

Pokekova Aleksey
jtn\\4d

From Aleksey Tarasow To All 29 July 2003


AT>> Please add and correct. If anyone has any
AT>> scheme for installing an extended graphic screen on a
AT>> computer, please share with me. You also need
AT>> information about the structure and placement of all screens (except
AT>> Profi and standard :).

From Aleksey Tarasow To All 29 July 2003

AT>> color ink/paper of 8 colors (on older
AT>> versions). * Profi 512x240 - attribute per byte of 8 colors. * Profi
AT>> 512x240 - attribute per byte of 16 colors (starting from version 3.x).
VK> 1. all versions 3.x were monochrome (another thing is that there was a modification
VK> for these boards, making the digital digital display screen color)

Not with everything. In the beginning, as soon as they appeared, yes. But the latter were already being finalized (if I’m not mistaken, there were three versions of the third board). One of my
friends has Pro 3.2 with a color screen right away.

VK> 2. Has anyone seen Pro with boards version less than 3.xx??

I haven’t seen it.

From Vassili Klimov To All 31 July 2003

AT>
AT> Was there an expanded palette? I have very little idea of ​​how version 4 of
AT> differs from the others.
well, you say you know everything about the pros, so
1. differences between boards versions 3 and 4:
a) color cpm, in theory 16 colors inc and 16 colors paper independently of each other! (on some 4.x boards there is a glitch, bright remains the same as in the original Spectrum mode)
b) the idiotic clock generator on version 4.x (it is eliminated by downgrading it to
similar to the 3rd version)
c) cmos clock, and full rs232 (with an interrupt controller), plus mikruhi 556rt4
powered dynamically (as on scorp, but why the hell is this necessary? there is no version of this).

2. now the differences between versions 4 and 5 (the chips are now horizontal)
a) a completely new synchronizer, one of the best of all the zx clones
b) a palette of 256 colors, in reality there is still a maximum of 16 colors on the screen (on
static pictures), you can see at least everything on the screen 256
c) field for 32 ru5/ru7 microcircuits
d) IDE

AT> controller

From Aleksey Tarasow To All 1 August 2003

VK> you need to look in zx-gude for old ones (number 2 or 3)

I’ll look.

VK> or ask the author, he lives here permanently :]

Author AU-U-U!!! :) We need information on your creation!!

VK>> is there also flashcolor
AT>> Is there data on it?
VK> this is not additional at all. mode a alternative use of the flash signal,
VK> i.e. it is not used for its intended purpose, but to enhance
VK> the displayed palette (if flash is turned on in a familiar place, then paper
VK> is always = 0, and the color of the ink is determined by a mixture of real values in this
VK> attribute of ink and paper)

It doesn’t matter, it’s still an expansion of graphic capabilities.

VK> all this has already been written 5 times in different newspapers/magazines, recently in
VK> the last krnews there was a similar scheme

I'll look.

VK> and there is also a gigaskrin, but this is also not a special mode, but just
VK> hardware switching of screens through the image line

And I forgot about this one. :) I have the diagram, and I even ordered the installation myself.

From Dima Bystrov To All 3 August 2003

Hello Aleksey!

01 Aug 03 23:53, Aleksey Tarasow wrote to Vassili Klimov:

/=== Begin Windows Clipboard ===/
The goals that I pursued were the following: to allow the use of the entire area of ​​the screen, including the border, without adding a single chip to the computer circuit; free the processor from the exhausting work of switching/moving screen buffers; In all this, use a serial double
switch to turn on/off the resulting rulez.
What should we do first? Naturally, find the curb signal
(here is a characteristic section of the circuit)...

║ │ D10 ║
─┐ ║ │ D9 +5v 13┌─┬─┬─┐ ║
1├B3Є │ 4┌───┐ ___<┬──oR│T│ │ ║
2├B4Є ├────┤ & │6 BOR │12├─┤ │Q│ ║
4├B5Є │ 5│ ├───x──┼──┤D│ │ │ ║
8├──Ґ─┘ ┌──┤ 1 │ ┌┼──/C│ │_│ C5║
│ ║ │ └───┘ ││11├─┤ │Q├───────Є
>├┐ ║B1 │ │└──oS│ │ │ ║
─┘│ ╟───┼────────────┘ 10└─┴─┴─┘ C6║
──┘ ║

...and cut it (where the cross is placed).
Naturally, do this is necessary when the computer is turned off :).The first rulez will be visible
when you turn on the computer: no, not the characteristic smoke, but the fact that the border will disappear and the following things will appear in its place:

┌───┬───┬───┬───┬───┬───┐
│ ││ │ │ │ │
│ d │ a │ b │ c │ d │ b │
│___╔═══╪═══╪═══╪═══╗___│
│ ║ │ │ │ ║ │
│ d ║ A │ B │ C │ D ║ b │
│___║___│___│___│___║___│
│ ║ │ │ │ ║ │
│ h ║ E │ F │ G │ H ║ f │
│___║___│___│___│___║___│
│ ║ │ │ │ ║ │
│ l ║ I │ J │ K │ L ║ j │
│___║ │ │ │ ║___│
│ ╚═══╪═══╪═══╪═══ў │
│ │ all kinds of dirt │ │

Basically, this is a repetition of an already existing image. The lower part is read from
address #5800, and the attributes for it are from address
#5B00. (It follows from this that it cannot be used for now.)
For a start, this is not bad. I even wrote a running line across the entire screen, switching the screen buffers with crazy speed (and pinpoint accuracy). You can, of course, entrust this to automation,
sending, for example, the former curb signal instead of the screen number on 13/D17. oh, believe
me, this is a dead-end path.
Let's better find out what the curb signal consists of:
000000
111111
111111 D9
111111 4┌───┐ ___ 000000
000000 ─────┤ & │6 BOR 011110
5│ ├───── 011110
011110 ─────┤ │ 011110
011110 └───┘ 000000
011110 LI1
011110
011110
SoHere, we will send a signal from the fourth leg... uh-uh... to what address should we send it?
Let's enter names for all addresses (not processor addresses, but address inputs of the memory management device - UUP):

A0,A1,A2,A3,A4,A5,A6,A7,
A8, A9, A10, A11, A12, A13,
P0, P1, P2.

Signals P0-P2 are in the usual sense
bits of the page number we are accessing. Signals A0-A12 have already been used. We won’t bother with the pages for now. That leaves
A13. More precisely - A13V, i.e. that A13, which
is supplied to the video controller UUP (D16-D17),
in contrast to the processor UUP (D18-D19). Normally, the ground hangs on A13V. And our signal in
the field of the main screen is one. You'll have to
set the switch:
___
BOR in ___
───────── \ BOR out
+5v ║\──────────────
( <───)║
║
┌── \ A13V (11/D17)
4/D9 ┴ \──────────────
─────────

Now the central part of the screen will
be read from address #6000, and what's on the edges will
remain at the old address #4000.
Do you think that's it? But no! After all, the upper third is still duplicated, and in the lower third the attributes and mask are read from the same place. Let's look again at the pentagon diagram and find the signal P0V (14/D17), to which +5v is applied. What? So, we will cut these five
volts (cutobscenities of those who ran this track under the microcircuit) and instead of them we will throw a signal 5/D9. What we got:

│ │
4th page #C018│ #E000 │#C008 4th page
____╔════════╗____
║ ║
#4018║ #6000 ║#4008
║ ║
────╚════════ў────
4th page #D818│ #F800 │#D808 4th page
│ │

It remains to make the final push: to untie the attribute and mask addresses from each other so that the lower third can be used not only for attribute scrolls. Locate on the diagram the multiplexer that switches these addresses:

D14 ║
┌──┬──┬──┐ ║
─B12──────2┤A0│ │ │ ║
─B13──────5┤A1│ │Y0├4───B14─Є (A8V)
+5v ├──11┤A2│ │ │ ║
<──────14┤A3│ │Y1├7───B15─Є (A9V)
─B6───────3┤B0│ │ │ ║
─B7───────6┤B1│ │Y2├9───B16─Є (A10V)
─B8──────10┤B2│ │ │ ║
─B12─────13┤B3│ │Y3├12──B17─Є (A11V)
├──KP11 │ ║
─C30──────1┤V │ │ │ ║
├──┤ │ │ ║
├──15┤W │ │ │ ║
└──┴──┴──┘ ║

Cut off +5v from 14/D14 (be careful not to cut off the power from the chip itself)
and give the same signal
5/D9 instead. All! Nowattributes in the top
and bottom thirds are taken not from the calculation “all attributes are stored at the addresses of the 4th
third”, but from the calculation “all attributes are stored
at the addresses of the 2nd third”, that is, for the top
third at addresses #D000 and #F000, and for the bottom
third - #D300 and #F300. Of course, in the 4th page of RAM.
The second screen can also be used -
it is scattered across the 7th and 6th pages.
/=== End Windows Clipboard ===/

- Alone Coder [ZX-Guide] [Inferno4] [AlCoNews] [ACE0.74lt] [PT3.65] [Chip1.3]
[STS5.6rus] [ANSI0.3G] [8col0.04] [ZXRARdem07] [ZXUNRAR0.49c7]

From Vassili Klimov To All 4 August 2003

VK> at least all 256
AT>
AT> More details here, please. You need _any_ information about the expanded palette.
there seems to be some information in the manual, you can try to crack the ROM (there
the palette is programmed immediately after the reset), I could write but I'm afraid
I'll be wrong - there are a lot of different nuances there

VK> d) IDE controller
AT>
AT> Is there any information on the screw? If you have one, throw it at me.
only ports and their programming, information on using cpm screws, data structures
and other things are not available

From Aleksey Tarasow To All 5 August 2003

Hello Dima!

04 Aug 03 00:01, Dima Bystrov -> Aleksey Tarasow:

DB> /=== Begin Windows Clipboard ===/
DB> /=== End Windows Clipboard ===/

Thank you. It is already necessary to prepare a corrected list.

From Aleksey Tarasow To All 5 August 2003

AT>> on 1 standard screen + there is a lot of empty space. I don’t remember what there is,
AT>> but I’ll risk lying that there are almost two capacitors hanging there and
AT>> you need to cut two tracks.
VK> that’s exactly a “lie”, the modification is several pieces of small circuits and
VK> registers, soldered on the second floor and at the same time everything is entangled in a bunch of mgtfa

We don’t have these circuits at hand, so we’ll put this one aside for now conversation.