[hatari-devel] Hatari patches for bitplane conversion

Kåre Andersen kareandersen at gmail.com
Sun Jul 26 04:07:47 CEST 2009


On Sun, Jul 26, 2009 at 12:19 AM, <npomarede at corp.free.fr> wrote:
> On Sat, 25 Jul 2009, Eero Tamminen wrote:
>
>>> Regarding the names shifter.[ch], in real STs and TTs, the SHIFTER is
>>> the decoder from bitplanes to analog RGB data, while the MMU and GLUE
>>> are handling the register stuff. So i dont think its that far off...
>>
>> Fair enough, but Hatari Shifter handling is in video.c.
>>
>> Also, as the files handle only certain (target) bit-depth, that should be
>> in the file name too.  Maybe convert/32bit.c?
>>
>
> The shifter is decoding bitplane to RGB, but what the conversion functions
> are doing is to adapt these RGB value to a given bit depth / screen
> resolution, but all the "hard" work required to determine overscan for
> example was really made in video.c. In some way, video.c is generating RGB
> values, it's just that the info is splitted between the bitplanes and the
> hbl palette / spec512 palette. Nitpicking again :)

I am not saying the hard work is not getting the timing right - of
course it is! I am saying that the timing has to do with GLUE and the
video registers with MMU - the SHIFTER chip does not even decode
addresses on its own...

But tbh its not really that important :) Rename the file as you see
fit. I dont think 32bit.c is the proper name for it tho, since i will
fit 16 bit converters in there as well as the spectrum512 stuff -
tomorrow unless there are too much stuff to fix with the current
version - which i am enclosing now.

The code size seems to have increased a bit after removing my ugly
file scope variables, but perhaps its not really noticeable anyway.

I changed the calling in screen.s to

if (pDrawFunction)
{
	blitFrom = BLITFROM_INIT;
	blitTo = BLITTO_INIT;

	if(!bUseHighRes)
		Convert_StartFrame();            /* Start frame, track palettes */

	CALL_VAR(pDrawFunction);
	bScreenContentsChanged = (blitTo > blitFrom);
}


but once the spectrum conversion goes in there, things change a bit again...

Don't be afraid to tell me when my code sucks :)

/Kåre
-------------- next part --------------
A non-text attachment was scrubbed...
Name: shifter.c
Type: application/octet-stream
Size: 7704 bytes
Desc: not available
URL: <https://lists.berlios.de/pipermail/hatari-devel/attachments/20090726/a6b664ee/attachment.obj>


More information about the hatari-devel mailing list