Sprinter (Video)

ZXNet echo conference «zx.spectrum»

From Ivan Mak To All 16 January 1998


░▒▓██ I am glad to welcome you, Vsevolod! ██▓▒░

█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░
█ Once upon a time, Tuesday January 13 1998 13:21, Vsevolod Potapov
█ wrote for All:

...
VP> you are on the right course, comrades. only now I realized that this is not
VP> Spectrum, but Spectrum is only one of the possible options.... COOL
VP>! I take all my *bad* words back. I'm sorry.......
"The company doesn't knit brooms." :)) By the way, in that letter I did not yet describe all the capabilities of the Sprinter video.


░▒▓██ Best regards, Ivan. ██▓▒░

TR-DOS 5.04Ei


From Andrey Khristov To All 17 January 1998

Hi, Ivan!

16 Jan 98, Ivan Mak writes to Vsevolod Potapov:

IM> “The company doesn’t knit brooms.” :)) By the way, in that letter I still didn’t describe all the possibilities of Sprinter’s video.

So describe more.
I threw just one article, but I stirred up so many people!

No - Zonov’s monopoly!!!!

With best wishes - Andrey Khristov (ha...@robin.alt.ru)

[Team Horse Aviation] [Team beer, girls & sofa]
[Team Electric Welding Must Die!] [Team Khasan Border Guards]

From Ivan Mak To All 18 January 1998


░▒▓██ I am glad to welcome you, Andrey! ██▓▒░

█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░
█ Once upon a time, Saturday January 17 1998 00:48, Andrey Khristov
█ wrote for Ivan Mak:

AK> So describe more.
AK> I threw just one article, but I stirred up so many people!

BOUND screen mode.

Mode 320x256 pixels 255 colors per pixel from palette 16 million colors.
Exactly 255, not 256. The 256th color (code FF) is special. The video controller meets
this code and leaves the output in the same color as it displayed the previous point in the line.
What does this give?
First we fill the screen with the FF code, and then we begin to output lines in different
colors. Colored planes will appear on the screen!
To change the color of the planes, you only need to change the colors of the lines. To
move a plane, you need to paint its previous boundaries with the value FF and draw
new boundaries, which means that the processor does not need to spend time filling the planes with colors. This mode will allow you to easily convert a game like ELITE to Sprinter and get filled planes in ship drawings. Using this mode you can write a game similar to DOOM. To draw
pictures, you will need to draw only the frame images of corridors and
rooms.
And the use of two screen graphic pages will allow you to completelyget rid
of cropping pictures when displaying them on the screen.

From Evgeny Onishko To All 19 January 1998

Yeah! I'm in trouble....

AK> No - Zonov's monopoly!!!!
No - harmful mutations!

AK> With best wishes - Andrey Khristov (ha...@robin.alt.ru)


Evgeny


From Vyacheslav Mednonogov To All 20 January 1998


Get Msg, Ivan!

18 Jan 98 08:04, Ivan Mak reported to Andrey Khristov about {Sprinter (Video)}:

IM> point in the line. What does this give? First we fill the screen with the FF code, and then
IM> we begin to draw lines in different colors. Filled
IM> planes will appear on the screen!

Cool idea!

Although surely not everything is simple? Well, like contour lines that are “to the left”
should “turn on” the color, and those that are “to the right” should return to the background color. That is, some kind of sorting of all contour lines will be needed, as well as partial cutting and
checking for intersections of different contours (well, if we are talking about the “Elite”). Or do you already have a counter move in mind for this case?


Warm greetings, Slava!


From Ivan Mak To All 25 January 1998


░▒▓██ I am glad to welcome you, Vyacheslav! ██▓▒░

█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░
█ Once upon a time, Tuesday January 20 1998 03:09, Vyacheslav Mednonogov
█ wrote for Ivan Mak:

[about BOUND]
VM> Cool idea!

VM> Although surely not everything is simple? Well, like contour lines that are
VM> “to the left” should “turn on” the color, and those that are “to the right” should return
VM> to the background color. Those. you will need some kind of sorting of all the contour lines, and
VM> as well as partial cutting and checking for intersections of different contours (well,
VM> if we are talking about the “Elite”).
Exactly so.
VM> Or do you already have a counter move in stock for this case?
No, but I’m thinking about it. So far I don’t see anything other than a direct calculation.
However, with direct pouring, these calculations are also needed. So it’s still faster.
Although, if you fill it directly, you can fill it with more than just one color.

From Alexey Mednonogov To All 27 January 1998

IM> No, but I’m thinking about it. So far I don’t see anything other than a direct calculation.
IM> However, with direct filling these calculations are also needed. So it’s still
IM> faster. Although, if you fill it directly, you can fill it with more than just one
IM> color.

When pouring it directly, ships can be sorted by range and
displayed accordingly, although it may turn out to be a little uneconomical. Whereas with such a scheme
calculations of intersections must be carried out _obligatory_, which is not always easy.

Cordially Yours, Alexey


From Ivan Mak To All 28 January 1998


░▒▓██ I am glad to welcome you, Alexey! ██▓▒░

█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░
█ Once upon a time, Tuesday January 27 1998 02:45, Alexey Mednonogov
█ wrote for Ivan Mak:
...
AM> With direct filling, ships can be sorted by range and
AM> displayed accordingly, although it may turn out to be a little uneconomical.
AM> Whereas with such a scheme, calculations of intersections need to be carried out
AM> _necessarily_, which is not always the case simple.
There is one thought. Carry out intersection calculations at the time of construction.
Draw all the lines with your own colors, when intersections of lines appear, “think” what
to do, and then do the coloring by setting the palette.
Although, this idea still needs to be carefully thought out.

From Max Romanoff To All 29 January 1998


Ivan is that you?
...why did you tell Alexey Mednonogov about Sprinter (Video)?

IM> There is one thought. Carry out intersection calculations at the moment of
IM> construction. Draw all the lines with your own colors, when
IM> intersections of lines appear, 'think' what to do, and then carry out
IM> coloring by setting the palette. Although, this idea still needs to be thoroughly
IM> thought through.

Why think about it? the lines must not intersect, i.e. hidden lines
must be removed. Everything was invented a long time ago.

Good Luck...


... Using a single-tasking computer is a sign of low self esteem.

From Alexey Mednonogov To All 30 January 1998

IM> There is one thought. Carry out intersection calculations at the moment of
IM> construction. Draw all the lines with your own colors when intersections appear

Relying on a raster rather than a logical representation of objects is, IMHO, a perversion, and unreliable. For example, when drawing, the boundary line of one polygon can overwrite the boundary line of another - then when an intersection appears, how will you take into account the second polygon if there is no line left from it? Naturally, other problems will arise. Therefore, you will have to do everything honestly. The question is how quickly it will turn out.

Cordially Yours, Alexey


From Andrey Khristov To All 4 February 1998

AM> With direct filling, ships can be sorted by range and
AM> displayed accordingly, although it may turn out to be a little uneconomical.
AM> Whereas with such a scheme, calculations of intersections need to be carried out
AM> _necessarily_, which is not always easy.

From Ivan Mak To All 5 February 1998

█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░
█ Once upon a time, Friday January 30 1998 14:50, Alexey Mednonogov
█ wrote for Ivan Mak:

AM> Relying on a raster rather than a logical representation of objects -
AM> IMHO, perverted, and unreliable. For example, when drawing, the bounding
AM> line of one polygon can overwrite the bounding line of another -
AM> then when an intersection appears, how will you take into account the second
AM> polygon if there is no line left from it? Naturally, other problems will arise. Therefore, you will have to do everything honestly. The question in
AM> is how quickly this will turn out.
I think it will be faster than with direct filling of planes. Although, who knows?
We have to try. (Only, not for me. I have never done such things.)

From Alexey Mednonogov To All 9 February 1998

AM>> IMHO, perverted, and unreliable. Therefore, you will have to do everything
AM>> honestly. The question is how quickly it will turn out.
IM> I think it will be faster than with direct filling of planes. Although, who
IM> knows? We must try. (Only, not for me. I have never done such things
IM>.)

Yes, in general, if you think about it - indeed, in the _overwhelming_
cases, the sprinter hardware fill scheme will significantly speed up the
rendering process. This, at least, applies to games and applications of
medium complexity with a relatively small number of facets, like “Elite”.

Cordially Yours, Alexey


From Paul Falcon To All 12 February 1998

AM> Yes, in general, if you think about it - indeed, in the _overwhelming_
AM> majority of cases, the sprinter hardware fill scheme will
AM> significantly speed up the rendering process. This, at least
AM> applies to games and applications of average complexity with a relatively
AM> small number of edges, like “Elite”.

if the entire edge is one-color, then yes, 3.5 million pixels is good.

for example, the lighting can be screwed on.

2Ivan and how does the filling happen directly? Well, throw a tiny source
like filling a square n by m.

just if the object is small, it’s good to a certain extent. if the object
is large? more than 256 pixels, can you fill more than 256 pixels in a row?


▌█▐▐║▌█▐▐▌▐ W!7h 7he Be$7 W!$he$ fR0M CREATOR product
▌812/03.00▐ Powered by Cyrix 6x86L 200+/16DIMM/S3TrV2 2mb/SBpro/Q1.6Gb/USR28.8

... The glitch is not a sparrow, it crashed - kill it!

From Ivan Mak To All 12 February 1998


AM> in most cases, the sprinter hardware fill scheme will
AM> significantly speed up the rendering process. This, at least
AM> applies to games and applications of average complexity with a relatively
AM> small number of facets, like “Elite”.

From Vladimir Yudin To All 14 February 1998


Hi Paul!

12 Feb 98 00:29, Paul Falcon wrote to Alexey Mednonogov:

PF> 2Ivan and how does the filling actually take place? Well, the source
PF> throw a tiny one like filling a square n by m.

As far as I remember, one of the 256 colors is different in that it repeats
the color of the pixel located on the left. The result is a kind of pseudo-fill.

Sincerely
┬ ┬┌┐┬┐ ┐┬┬
╨╜╨╙╜╨╙ ╨ ╨


From Ivan Mak To All 14 February 1998


░▒▓██ I am glad to welcome you, Paul! ██▓▒░

█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░
█ Once upon a time, Thursday February 12 1998 00:29, Paul Falcon
█ wrote for Alexey Mednonogov:

PF> 2Ivan and how does the filling actually take place? Well, throw the source
PF> tiny, like filling a square n by m.

Program for filling a rectangle n x m, at xy coordinates:
;
; HL - coordinate x
; D - y
coordinate; E - fill color
; B - m, C - n
;
Fill: LD A,D
AND 0Fh
OR 50h
OUT (PAGE3),A ; page to start with
EX AF,AF' ; hide page number
LD A,D
RRCA
RRCA
AND 3Ch
ADD H ; row offset
LD H,A
PUSH BC
LD BC,0C040H ; row address offset for window 3
ADD HL,BC
POP BC
; here HL is set to the desired address and the required page is set.
Loop1: DI ; for the accelerator to work you need DI
LD D,D ; turn on the accelerator
LD (HL),C ; set the number of points to be sent
LD C,C ; enable accelerator filling mode
LD (HL),E ; color the line with byte E
LD B,B ; disable accelerator
EI
EXAF,AF'
INC A ; next line.
CP 60H ; check what didn't work from the video pages
JR NZ,lab1
LD A,50H
INC H
INC H
INC H
INC H
SET 7,H
SET 6,H
lab1:
OUT (PAGE3),A ; page
EX AF,AF'
DJNZ loop1:
RET

Maybe I’ve gone a little overboard, but the gist seems to be clear.