From
jtn
→
To
All
15 January 2006
Hello, lvd
in #z80-06 76kb of text, music, mountain of tables, 4x7 font and
proportional Xx7 deployed 8 times.
The code is expanded to a horizontal line - called 8 times.
push screen output (in the push buffer +2 lines - next, upper and lower,
first, the entire new screen is built, then the new line is decompressed into the buffer -
so that the beam does not cut).
acceleration, I don’t know if it turned out strong, but in turbo mode the entire screen without the top
three acquaintances have time (24 text lines), without turbo - 9 lines (with music included
like) - lines 7 pixels high
From
lvd
→
To
All
15 January 2006
Hello, captain cobalt
cap> It’s true that the letters of a monospace font are 6 pixels. may occupy
cap> only 4 different positions relative to familiarity? ;)
Is it true that you don’t know what exactly I was talking about? Hostages will come out from
3umf+mayhem - you'll find out.
From
lvd
→
To
All
15 January 2006
Hello, Witch Doctor
> Alas, the registers are a lantern... There are 16 of them on the Amiga :(
The Z80 also has 16 registers! And if you split the indexes into halves, then
18 =)
From
van Yu Shinn
→
To
All
15 January 2006
Hello fk0
lvd> 8 procedures for displaying letters. Of these, 3 are output in 1 byte, the rest in 2
lvd> bytes (font 6 pixels wide).
But it’s true that the letters of a monospace font are 6 pixels. can only occupy 4
different positions relative to familiarity? ;)
From
van Yu Shinn
→
To
All
15 January 2006
Hello fk0
Letters are, in a sense, chunks. :)
In chunk demos, the image is first rendered into the chunk buffer, and then
redrawn in pixels on the screen.
The most evil c2p are able to draw the screen in less than 2 ints. Maybe
some ideas from there would be helpful?
From
van Yu Shinn
→
To
All
15 January 2006
Hello fk0
If the cut letters have many elements repeated, then why not when drawing
one letter, its most frequent element is not put in case and written from
register?...
From
Vladimir Kladov
→
To
All
15 January 2006
Hello jtn
if you print character by character, it will be very slow. But for some reason everything
are going exactly this way. Traditional thinking.
What is there to change the output order? To display the page, text first
letters are viewed and marked, which can be displayed without a mask, simply
“put” into memory, and the offset is calculated for each letter. Offset by the way
can also be variable if the font is not monospaced, for example for wide
There are 5 letters, and for narrower ones there are 4, but i can generally take 2. Shift table for
a maximum width of 5 (i.e. 6 with a gap) will take 32x8 = 256 bytes. She needs it
place 256 bytes on a block boundary. On the second pass, the remaining
letters, already with a mask. If you do it through a buffer, then on one frame you need
fill the buffer, and on the second throw it moving behind the beam.
From
Gavrilov Vitaly
→
To
All
15 January 2006
Hello, Vladimir Kladov
Vla> What is there to change the order of output? To display the page text first
Vla> is viewed and marked letters that can be displayed without
Vla> masks, simply “put” in memory, and for each letter it is calculated
Vla> offset.
yeah. and how much will the initial viewing of the line with calculation “cost”
position of the current character (I'm talking about a proportional font), then the output
(required by OR/XOR) remaining with a shift?
From
Gavrilov Vitaly
→
To
All
15 January 2006
Hello, Witch Doctor
> PUT does this mean you just printed a byte and that’s it?
>
> Hmmm... So, only the classics come out???
it turns out like this (c) Winnie the Pooh%)
Well, that’s what I did at QHTV. Everything flies quite quickly. especially considering
that first the print goes to the buffer and then is displayed on the screen. despite the fact that the buffer
still pre-cleaned (not entirely true)
From
Witch Doctor
→
To
All
15 January 2006
Hello Vitamin
PUT does this mean it just outputted a byte and that’s it?
Hmmm... So, only the classics come out???
From
Witch Doctor
→
To
All
15 January 2006
Hello, captain cobalt
Alas, there are 16 registers here... There are 16 registers on the Amiga :( There were attempts to do something like
caching or smart printing and other terribly smart words... I.e. at after
The rotation of the bytes is preserved and the stripe code is preserved. Then everything is printed and
etc. and during the next cycle we check whether this stripe is repeated. In order to
so as not to rotate, but simply take what was saved.
Well, it also ends up being slower :(