[hatari-devel] Alive demo (fun industries) works well now
Eero Tamminen
eerot at users.berlios.de
Thu Mar 4 00:55:39 CET 2010
Hi,
> Konador, Cyprian a écrit :
>> Unfortunatelly, under WinXP, watching this nice demo is realy painfull.
>> It very often change screen resolution, and on my configuration it
>> looks like: - first effect
>> - change resolution to 320x100 - I see windows destkop and icons
>> - second effect
>> - change resolution to 320x200 - I see windows destkop and icons
>> - first effect
>> - change resolution to 320x100 - I see windows destkop and icons
On Saturday 27 February 2010, Laurent Sallafranque wrote:
> For me, under linux, there are 2 behaviours :
>
> - if I look at the demo in windowed mode, no problem, it's perfect.
>
> - if I look at it in fullscreen mode, the resolution change make the
> demo stops for a few ms, then run, then freeze for a few ms, ... after
> each resolution change
I've tried this demo to see whether my video mode bits based scaling patch
helps (attached). While the patch helps with desktop RGB & VGA resolution
changes (except for something funny Hatari does at bootup) and should fix
the fullscreen/non-fullscreen switching, it doesn't help with the above
discussed issue (in that demo, or with the "Terrorize your soul" demo).
When I took the VIDEL registers every Alive demo changed time video mode:
lock videl
b ($FF82C2).w ! ($FF82C2).w
I noticed that what the demo does is:
* toggling the double line video mode (VMD) bit on RGB monitor[1]...
* change line width between these:
$FF8210 : VWRAP - line width : 00a0
$FF8210 : VWRAP - line width : 0140
* change display start and end between these:
$FF8288 : HDB - Horizontal Display Begin : 0003
$FF828A : HDE - Horizontal Display End : 009b
$FF8288 : HDB - Horizontal Display Begin : 02ba
$FF828A : HDE - Horizontal Display End : 0089
Latter seemed strange, how the first HDB can be smaller than
the corresponding HDE value?
[1] videl.c does this in VIDEL_getScreenHeight() regardless of monitor type:
int yres = vde - vdb;
if (!(vmode & 0x02)) // interlace
yres >>= 1;
if (vmode & 0x01) // double
yres >>= 1;
Should the double line bit be ignored with RGB monitor?
VIDEL_getScreenWidth() checks just line width, it doesn't take into account:
- horizontal display beginning and end, is line width really enough?
- quarter/half pixel video mode setting although yres takes into
account double/interlace mode settings.
TYS demo was also toggling double line mode on RGB monitor...
Any comments / advise?
- Eero
-------------- next part --------------
A non-text attachment was scrubbed...
Name: videl-scale.diff
Type: text/x-diff
Size: 9092 bytes
Desc: not available
URL: <https://lists.berlios.de/pipermail/hatari-devel/attachments/20100304/96e3d511/attachment.diff>
More information about the hatari-devel
mailing list