[hatari-devel] Videl changes
Nicolas Pomarède
npomarede at corp.free.fr
Sat Feb 5 13:18:38 CET 2011
Le 05/02/2011 13:11, Laurent Sallafranque a écrit :
> Hi,
>
> I'm not that sure to agree with all of this :
>
> Videl part :
>
> The Falcon is not an STe or ST : It has no Shifter but a Videl, and not
> a DMA with LM192 but a crossbar.
>
> There's no need to try to implement ST's Shifter specific code.
> In "STe compatibility mode", the Falcon Behave like a STe, but it's only
> """"emulation"""".
>
> In Ste graphical mode, Videl is given some frequencies, width and height
> of pixels to generate a 320x200 screen.
> If you want to remove the borders in this mode, you have to play with
> Videl registers (Border begin, border end, ...)
>
> There's not special "tricks" used in STe to remove the borders.
> I'm nearly sure that none of the ST overscan demos would run natively on
> the Falcon.
>
> Another proves : nearly all Falcon specific demos and programs are
> running well by only copying the full screen (as done actually in videl.c).
>
> Falcon plasmas are all running well (from what I know), which mean they
> don't use video tricks but colors "rotations" or something else.
>
> Only a few programs are playing with the "border color (color 0)" like
> Reeking Rubber, or with the video pointer (like pinball dream).
>
> The best doc to understand the Videl is to read Mikro's videl
> documentation.
> Everything is explained.
>
> The main problem is the VBL/HBL timers that are dependant of all the
> Videl's hardware registers (horizontal and vertical registers) + BPP +
> frequency + monitor + ST palette or Falcon Palette.
>
> If we use the "Shifter" HBL, as it is done actually, we've got wrong
> timers in the Falcon emulation.
> The same for the VBL.
>
> (Another program that have a strange display I can't explain for now is
> UFO_WAR.
> It's using all the Videl registers to use Overscan mode.
>
> Last point : I haven't found a program that changes the palette except
> in the left border. If you know one...
>
>
> So, what I want to do is :
>
> - computing the correct border begin, border end and display them
> - compute HBL and VBL accordingly to Videl registers
> - take into account the video position registers (like in pinball dream).
> - take into account the half frame (videl works with half frame, not
> full frame).
>
> I think I've got at least one example of program for each of these
> problems.
> But if you encounter any graphical problem with a falcon programm,
> please tell me, I'll have a look and see if it's because of a known
> problem or a new one.
>
>
>
> Falcon "ST compatible mode".
>
> This mode is not magic ;)
> It only involve running the 68030 at 8 Mhz without cache, running the
> blitter at 8 Mhz and playing the sound in crossbar Ste compatibility mode.
>
> Everything is in register $ffff8007.b
>
> (It's a TODO in stMemory.c), but it should be somewhere else, as one can
> change from 16 to 8 Mhz when he wants in a program.
>
> This doesn't mean shifter or anything else.
>
>
> Best regards
>
> Laurent
>
>
Well, I think we agree then ; my point is exactly "let's forget how the
shifter works in STF/STE mode, don't reuse the code of video.c in
videl.c" (we'll see later if some program still don't work in STE mode
under falcon)
Nicolas
More information about the hatari-devel
mailing list