VOGONS

Common searches


VIDEO - Experimental VGA patch (vgaonly commited)

Topic actions

Reply 80 of 90, by TraxxAmigaEP

User metadata
Rank Newbie
Rank
Newbie
h-a-l-9000 wrote:

An improved version has been in DOSBox source for a long time now. machine=vgaonly

Really 😳

In the Off. Release 0.74 and current svn 3636. Wish logo (and logo roatate/zoom) is not centered. I take from your code "wish_memory2.diff" and added only the missing lines from "vga.draw.cpp" (vga.draw.linear_mask = 0x1ffff)
for Transgression 2 i adapt your hack and it is possible to stretch the screenwidth.
I looked in your Megabuild 5 "vga.draw.cpp" ...ufff 😵 this is completly different to the svn sources.It is possible to make patch for Linewise/Multiscan.

Attachments

  • Snap1.png
    Filename
    Snap1.png
    File size
    35.02 KiB
    Views
    1185 views
    File license
    Fair use/fair dealing exception

Reply 82 of 90, by Yushatak

User metadata
Rank Member
Rank
Member

In regards to "VGAONLY" being the evolution of this work, does this mean that the SVGA variants do not emulate as accurately for purposes of hardware-reliant code like demos? If so, perhaps a footnote in the config file would be helpful.

Reply 84 of 90, by rarefluid

User metadata
Rank Newbie
Rank
Newbie

I've done a lot of capturing and tinkering with DOSBox and have disassembled a number of DOS demos. I think that the problem with SVGA demos is not that VSYNC isn't working, but that a lot of them actually time the VBLANK and then synchronize themselves to that time they have measured. They don't test for VBLANK every frame anymore... The timing of DOSBox is / The timers DOSBox uses are not precise enough compared to hardware so you see tearing etc.
You can probably not work 'round this without using more precise timers to start with...

I see this is a problem with the demos, but I'd really love to have proper captures of those '98-2001ish DOS demos for me and the scene.

Btw. I came here again through the VOODOO-Thread 😀 Nice work, DOSBox guys and community! DOSBox is an awesome piece of software! Thanks for that.

...find some video captures of old DOS demos here...

Reply 85 of 90, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The problem is not timer precision but the delayed frame rate change if at all. Will have to think of something at some point...

A list of affected demos would be nice.

1+1=10

Reply 86 of 90, by rarefluid

User metadata
Rank Newbie
Rank
Newbie

What exactly do you mean with "delayed frame rate change"?

I had a small application that could show tearing by redrawing the screen in adjustable intervals. If timing would have been precise the tearing "line" would have been adjustable and could have been "pushed out of the screen" in to the vblank area (I hope you get what I mean...). But that was not the case. It jumped all over the place...

Examples... From the top of my head: Bomb - "State of mind" http://pouet.net/prod.php?which=26. Tearing is not very visible, but can be seen in the capture. Another (better) example may be Satori - "Tao" http://pouet.net/prod.php?which=303

...find some video captures of old DOS demos here...

Reply 87 of 90, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

When switching screen modes - reprogramming the CRTC - the DOSBox video hardware keeps running (and signalling retraces) at the old refresh rate for 50 more milliseconds before switching to the new rate. Reason is some games/demos change the width/height in short intervals to achieve certain effects, and others switch video modes rapidly (mode X setup) which would cause the DOSBox window to flicker.

If you change your small application to wait 4 or 5 frames before synchronizing to the retrace pulse it should work.

1+1=10

Reply 88 of 90, by Yushatak

User metadata
Rank Member
Rank
Member

wd:

I didn't mean to imply that SVGA-requiring games would need precise hardware emulation. I, for one, thought that "vgaonly" mode existed to reduce resource usage by skipping SVGA features. It's a very unclear name, and I thought suggesting a footnote to clarify it's purpose and difference from SVGA would be helpful for those who might get that impression.