dosbox-staging:jn/vmem-delay

Last commit made on 2024-04-12
Get this branch:
git clone -b jn/vmem-delay https://git.launchpad.net/dosbox-staging

Branch merges

Branch information

Name:
jn/vmem-delay
Repository:
lp:dosbox-staging

Recent commits

1043ce5... by John Novak <email address hidden>

Port video memory I/O delay tweak from DOSBox-X

This is an adaptation of the `vmemdelay` feature from DOSBox-X.

The auto settings have been removed as they were not particularly useful
for games; a static setting of 3000 ns does the job much better for
problematic titles.

Co-authored-by: Jonathan Campbell <email address hidden>

Below is the first relevant commit from the DOSBox-X project
(https://github.com/joncampbell123/dosbox-x).

---
commit 417998f7286a3ffc0b9d8908ae3a6203a97e4c43
Author: Jonathan Campbell <email address hidden>
Date: Thu Feb 5 14:06:06 2015 -0800

    Make I/O delay configurable, instead of just CPU_CyclesMax/1024 as
    hardcoded in iohandler.cpp. Add code to VGA emulation to emulate memory
    I/O delay. Default value emulates an average delay that represents ISA
    bus delays combined with 386/486/Pentium pipelining that seems to
    represent the slowness of the ISA bus overall. The same code picks a
    much shorter delay if PCI bus emulation is enabled, as if the VGA is
    connected to PCI.

    The reason for this addition is that some demos and games are sensitive
    to VGA memory access speeds, especially parts that involve
    raster/warping effects. These demos work best if the VGA memory is
    slowed down to ISA bus speeds and the effects will not work properly
    otherwise.

    Majic 12 "Show": ISA VGA memio delay fixes the raster errors during the
    "RealPlasma" and the truecolor rotating effect parts of the demo.

    The Good, The Bad, The Ugly: VGA memio delay seems to stabilize the
    plasma effect just after the credits, plasma effect no longer rolls like
    an unstable television picture. Unfortunately, it also causes the demo
    to immediately skip the next part and jump directly to the 3D wireframe
    object part.

    Future Crew "Panic": VGA memory IO delay slows the shadebob effect down
    enough that the 3D dot object part can finish on time and on cue to
    become the FC logo instead of completing, then sitting for 3-5 seconds
    doing nothing.

    You can disable the iodelays if you want, to gain speed in your DOS game
    if the DOS game is not sensitive to I/O or VGA memory speeds.

49ac9df... by John Novak <email address hidden>

Improve the description of the `dos_rate` and `vesa_modes` settings

d1891ad... by Kirk Klobe <email address hidden>

Pin CMake version for MSVC runner

CMake 3.29.1 contained a regression causing vcpkg to fail on opusfile for the
Windows runner, so let's pin the version of CMake to prevent future surprises.

75e9209... by japsmits <email address hidden>

Update en.lng

eee8e2c... by japsmits <email address hidden>

Allow inactive sections that also don't show in help-texts

5fa3cb9... by japsmits <email address hidden>

Split out compile-time and run-time differences

680098c... by japsmits <email address hidden>

Manual split up of command-line help

fc89b27... by japsmits <email address hidden>

Add default value to help-text if it contains '%s'

9d75c0e... by japsmits <email address hidden>

Allow optional help topics

1a0d7cc... by japsmits <email address hidden>

Unify property pointer naming