[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DHGR Video Riddle Solved!!!



Jeff Blakeney <CUTblakeney@home.com> wrote in message
news:39bd390c.5995845@24.9.0.17...
>
> I don't know the exact details of how everything works but I have
> never seen a half pixel shift in 80 column or DHR mode.  If you can
> get a half pixel shift, then it should be possible to write a program
> that will display 1120 pixels across the screen (just like you can get
> 560 pixels on a regular HR screen).  This requires using a monochrome
> monitor, though.

1120 pixels? Not possible since all 560 pixels are shifted. There is simply
no place to draw any more pixels, not to mention no data to associate with
them. Remember, this is a phase shift(a delay in the timing) not a move to
new discrete set of 1/2 pixels. Not to mention that the display would have
to be driven by at least a 28MHz clock!

> The reason you get colour fringes on text in mixed graphics/text mode
> is because the colour burst signal is on.

Correct. The color burst signal produces timing delays in the pixels that
are shifted onto the screen. These shifts are what produces the colors. The
140x192 mode of DHGR fetches it's pixel data from character ROM based on the
patterns stored in the data stream. This is why both aux and main memory
bytes are fetched simultaneously. This allows 140x192 to use the same color
tables that 40x48 uses, and thus produce the same colors.

> When you are in text only
> mode, the colour burst signal is turned off so you don't see any
> colour fringes.  However, there is no way to control the colour burst
> using software.  It is done automatically by the hardware.

Also correct. Now here's the fun part. Although the 140x192 is called
"double high-resolultion" because it is effectively 140x192x16 where hires
is only effectively 140x192x6(or 8) it actually acts more like a Super LoRes
because it runs using the same output method as 40x48 lores graphics. When
bit 7 of the aux byte in an even column is turned on, the display switches
from using the lores display method to using the hires display method. This
560x192 mode acts just like hires with the exception that the PAL unit
always receives a 0 for data bit 7 so you can only expect either purple or
blue fringes, if any at all.

Why only bit 7 from an even byte? This is mostly speculation from the tests
I've done but...

Since using the lores color data in character ROM requires it to fetch a
different pattern depending on the address of the byte(even or odd), the low
bit of the address A0 is used to signify which pattern block to fetch the
color pattern from. On the way to the block, A0 is used to latch aux bit 7
if A0 is low. The contents of the latch go on to select the lores hardware
if the latch bit is low or the hires hardware if the latch bit is high.

This is hte only model I can think of that is cheap, fast, and produces the
effects I have been seeing on my TV screen.

Arkain