VOGONS


First post, by silikone

User metadata
Rank Member
Rank
Member

Because refresh rates differ slightly depending on the resolution, I am wondering how this can affect games. VGA monitors running natively at 640x480 should refresh at 59.94Hz, which I assume is also the exact frame rate that some old games are V-synced to. Now how would this work if a game whose speed is tied to the frame rate was made to run in a higher resolution with a V-sync slightly above 60Hz? If there isn't a hard frame rate lock, the game would run insignificantly faster. If there is a hard lock, that extra refresh rate surely wouldn't sync up with the game, and thus microstutter or tear, even if speed isn't tied to the frame rate.

Do not refrain from refusing to stop hindering yourself from the opposite of watching nothing other than that which is by no means porn.

Reply 1 of 6, by firage

User metadata
Rank Oldbie
Rank
Oldbie

Related to this, many DVI outputs are limited to 60 Hz in their attempt to serve the LCD EDID and cause timing issues with 70 Hz display modes that were more common in DOS.

My big-red-switch 486

Reply 4 of 6, by Scali

User metadata
Rank l33t
Rank
l33t

Most games, if synced to the refresh-rate, do so by polling for the vblank status in the CRTC status register. They assume that this refresh-rate is fixed (70 Hz for 320x200, 60 Hz for most others), so if the videocard is tweaked to a different rate, this polling mechanism will speed up or slow down.
Depending on how much they tie directly to this refresh-rate (audio, video, game logic etc), various parts of the game may speed up or slow down along with it.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 5 of 6, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

If I recall correctly, many C64 games use a vertical blank interrupt to time their game audio. This gives a 50Hz or 60Hz time base to the music. Others use the more flexible CIA timer.

Standard VGA fixes the refresh rate to 70Hz for all supported text and graphics modes except Modes 11h and 12h, the 640x480 graphics modes.

True CGA and EGA runs at 60Hz, but I do not recall any games where the music plays faster when run on VGA even when the refresh for those modes becomes 70Hz. Of course, not many games from the CGA and EGA eras really bothered to sync with the display. They used the 8253 timer to base their music.

Very, very few pre-VGA games relied on the VBI provided by the EGA, Tandy or PCjr and they tend not to run with VGA anyway. I do not know of any MCGA and VGA games that utilize the VBI provided by these adapters.

Maybe Phil can provide more details, but I'm not sure you can buy anything these days at any affordable price that would capture 320x200 VGA at a true 70Hz. (DOSBox doesn't count!)

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 6 of 6, by Scali

User metadata
Rank l33t
Rank
l33t
Great Hierophant wrote:

If I recall correctly, many C64 games use a vertical blank interrupt to time their game audio. This gives a 50Hz or 60Hz time base to the music. Others use the more flexible CIA timer.

The C64 doesn't have a vbl interrupt as such, but rather a raster interrupt: you specify on which scanline the interrupt should be triggered (the raster-interrupt can be re-set as many times per frame as you want).
But yes, most music routines are triggered once per frame, always on the same scanline, usually in the vblank-area.
Some music routines are known as 'multispeed', meaning the routine is triggered multiple times per frame, eg 2x or 4x.
The reason for this is that you get more granular control over the SID registers, allowing sounds and effects that aren't possible at 1x speed.

Great Hierophant wrote:

True CGA and EGA runs at 60Hz, but I do not recall any games where the music plays faster when run on VGA even when the refresh for those modes becomes 70Hz. Of course, not many games from the CGA and EGA eras really bothered to sync with the display. They used the 8253 timer to base their music.

MDA/Hercules run at 50 Hz, so the problem of syncing music to the display existed from day 1 on PC, which is probably why it was rarely done that way.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/