Dosbox-Staging 0.81.1 Has Been Released

Started by CrystalCore, May 13, 2024, 12:54:49 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

CrystalCore

https://dosbox-staging.github.io/releases/release-notes/0.81.1/

https://dosbox-staging.github.io/#feature-highlights

https://dosbox-staging.github.io/getting-started/introduction/

https://github.com/dosbox-staging/dosbox-staging/wiki/Frequently-asked-questions#where-is-the-config-file

https://github.com/dosbox-staging/dosbox-staging/issues/new/choose for creating bug reports.

Dosbox-Staging - Discord Chat Channel


QuoteRegression fixes

The release fixes the following 0.81.0 regressions:

Fix Wing Commander 3 videos and cutscenes appearing height-doubled.

Introduce vga_render_per_scanline = off workaround to fix the crash-at-startup regression in Deus, Ishar 3, Robinson's Requiem, and Time Warriors.

Fix the Tandy version of Impossible Mission II crashing at startup.

Fix regression in Tyrian where pressing the arrow keys get registered twice in menus.

Fix starting In Extremis resulting in a black screen.

Fix wrong colours in Spell It Plus! (needs machine = svga_paradise).

Fix wrong colours and garbled graphics in Spong and Exobius.

Fix squashed video output in the text mode game Indenture.

Fix the DOSBox Staging window gaining focus on every emulated video mode change.

Fix crash when exiting DOSBox Staging while in fullscreen mode on macOS and Linux.

Fix not being able to disable OPL emulation with oplmode = none.

Enhancements and fixes

We've also backported a number of enhancements and fixes for long-standing issues:

Introduce vmem_delay = on to help with flickering graphics and speed issues in Hercules, CGA, EGA, and early VGA games. This has proven to improve compatibility with Future Wars, Operation Stealth, Quest for Glory II, Hostages, The Gold of the Aztecs, Crazy Brix, Corncob Deluxe, and Corncob 3-D so far.

Improve support for multiple joysticks/game controllers (the mapper could behave erratically if you had more than one controller connected).

Emulate a memory-expanded PCjr machine more faithfully. This improves game compatibility; for example, Space Quest (v1.0x and v2.2) and King's Quest (1986 PCjr DOS version) now work instead of hanging the emulator.

CD Audio is no longer muted in certain parts of Time Warriors and Alpha Storm.

The batch file installer of Alpha Storm no longer fails.

Forcing single scanning via crt-auto-arcade should now work with more programs.

Fix various VGA double scanning related edge cases in demoscene productions.

Detecting "repurposed" EGA video modes with 18-bit VGA DAC colours has been made more robust when using the crt-auto shader (should result in a double-scanned VGA shader being picked).

Spanish and Brazilian Portuguese translations have been added, and most of the other translations have been updated.


Graphics-related changes


VGA double scanning fixes & improvements


The SVGA/VESA double scanning criteria has been refined, which fixes a Wing Commander 3 regression where the videos and cutscenes appeared height-doubled.

Some 320×200, 320×240 and similar tweaked double-scanned VGA modes were incorrectly identified as 320×400, 320×480, etc., which was confusing in the logs and single scanning could not be forced on them (e.g., with glshader = crt-auto-arcade). Affected programs include Pinball Dreams, Show by Majic 12, and the Copper demo (see the issue ticket for the exact details).

Support "unorthodox" scanline repeats on VGA in forced single scanning mode. This improves compatibility with demoscene productions; for example, Show by Majic 12 sets up a custom 320×40 mode and then uses scanline-quintupling to repeat every line 5 times in the zoom-rotator part in the intro.

Support for double-scanned text modes was removed by mistake, which we're now restoring. This resulted in the text mode game Indenture appearing squashed (half-height). The game sets up a custom 640×200 text mode using the 8×8 pixel CGA font with double scanning enabled.

Detecting "repurposed" EGA video modes with 18-bit VGA DAC colours on emulated VGA adapters has been made more robust. In these scenarios, the crt-auto shader should more reliably choose a double-scanned VGA shader instead of a single-scanned EGA shader.


Option to emulate video memory access delays


We've added the new vmem_delay setting to the [dosbox] section to more closely emulate the behaviour of old video cards. This approximates the CPU-throttling effect of accessing slow video memory via the ISA bus. The feature was adapted from DOSBox-X based on a tip by MX9000. Thanks man!


To enable the feature, just set vmem_delay to on in your config. This can help reduce or eliminate flicker in Hercules, CGA, EGA, and early VGA games and "even out" emulation speed in speed-sensitive titles.


We recommend enabling this only when necessary on a per-game basis, as it slows down the emulation. You can also fine-tune the delay by specifying the access delay in nanoseconds (on sets 3000 ns).


vmem_delay = on fixes the flashing graphics and various speed issues in at least the following titles:

Corncob 3-D
Corncob Deluxe
Crazy Brix (vmem_delay = 2000 and cycles = 70000 makes the game run smoothly)
Future Wars (also needs cycles = 1000)
Gold of the Aztecs, The
Hostages (also needs cycles = 1500)
Operation Stealth (when VGA or EGA is selected in the game's setup)
Quest for Glory II (fixes the too-fast vertical scrolling in the intro)


Option for legacy VGA rendering


In 0.81.0, we made accurate per-scanline VGA rendering the only rendering option available (previously, you could only enable this via machine = vgaonly). A minority of games, however, have regressed by this and would crash at startup.

As a workaround, until we improve the accuracy of the VGA emulation, we're introducing the vga_render_per_scanline setting in the [dosbox] section. The setting is enabled by default, but you can disable it to restore the legacy rendering behaviour on a per-game basis.


Disabling vga_render_per_scanline fixes the crash-at-startup regression in the following Silmarils titles:

Deus
Ishar 3
Robinson's Requiem
Time Warriors

Note that these games are also CPU speed sensitive and would crash with high cycles settings—see the issue ticket for config recommendations.


Option for legacy palette behaviour


The svga_paradise machine type now uses the legacy non-vgaonly palette behaviour. This fixes the wrong colours in some rare titles (e.g., Spell It Plus!).


Tandy graphics fixes


Fixed a regression where the Tandy version of Impossible Mission II would crash when starting a new game. This fix should restore our general compatibility with non-standard Tandy graphics modes as well.


Other fixes


Fixed the DOSBox Staging window gaining focus on emulated video mode changes.

Fixed crash when exiting DOSBox Staging while in fullscreen mode on macOS and Linux.

Fixed wrong colours and garbled graphics in Spong and Exobius.

Full PR list of graphics-related changes

Sound-related changes

Implement seeking in MSCDEX

A few games use the seek function of the CD-ROM but this was not previously implemented in our emulated MSCDEX driver. This resulted in CD Audio playing only sometimes in a few games.

The new seek implementation fixes CD Audio music in at least these titles:

Time Warriors — CD Audio music is now playing during the main menu and gameplay.
Alpha Storm — CD Audio music is now playing in the opening movie.

Fix not being able to disable OPL emulation

Fixed a regression where you could not disable OPL emulation with oplmode = none anymore (sbtype = none still worked, but that disabled the Sound Blaster as well).

Other fixes

Fixed crash when output filter cutoff frequencies are not below half the sample rate (e.g., by setting rate = 11025 and sbtype = sbpro1 which selects a 8 kHz low-pass filter by default).

Fixed FluidSynth and MT-32 crashing the emulator when the host sample rate is set to 8000 Hz.

Full PR list of sound-related changes

Input-related changes

Fixed a keyboard handling regression in Tyrian where pressing the arrow keys get registered twice, making the menus very hard to use.

Fixed a keyboard handling regression in In Extremis where starting the game only resulted in a black screen.

Fixed various problems in the mapper when using more than a single game controller (e.g., with two joysticks connected, mapping the controls of the first joystick could randomly target the mappings of the second one and vice versa).

Fixed obscure regression where the timed = on joystick setting messed up the available free memory reported by the FreeDOS MEM.EXE command.

DOS integration related changes

Improved expanded PCjr emulation

Now we're emulating a memory-expanded PCjr machine more faithfully. This improves game compatibility; for example, Space Quest (v1.0x and v2.2) and King's Quest (1986 PCjr DOS version) now work fine—these games resulted in the emulator hanging previously.

A new pcjr_memory_config setting has been introduced to the [dosbox] section, defaulting to expanded (the new improved behaviour). Setting this to standard restores the legacy memory model. You should only need this for a handful of titles, such as the DOS conversions of the Jumpman and Troll PC Booter games.


DOS shell improvements


Fixed a bug that caused the batch file installer of Alpha Storm to fail.

The help text of the IMGMOUNT command now mentions the very handy wildcard mounting option. E.g., you can use the IMGMOUNT A floppy*.img -t floppy command to mount multiple floppy images, then cycle between them with Ctrl+F4 at runtime (Cmd+F4 on macOS).

The LOADFIX command's help text is more complete now (some options were not documented previously).

When a batch file was being instantiated, the echo state from the parent was not being transferred correctly if the parent was another batch file.

Localisation-related changes

Spanish and Brazilian Portuguese translations have been added.

Updates to the Dutch, German, and Polish translations.

Miscellaneous changes


Attempting to change unchangeable settings via the CONFIG command at runtime is no longer silently accepted (without doing anything) but an error is raised instead.

Unknown command-line switches starting with dashes are now ignored and a warning is logged—DOSBox Staging will not try to execute them anymore. As a side effect, the current working directory was mounted as the C drive, which led to very non-intuitive behaviour.

The Windows installer now creates a Start Menu shortcut to launch DOSBox Staging without showing the console window (DOSBox Staging (no console window) menu item).

The Windows installer no longer starts DOSBox Staging automatically when the installation is completed.

Most config settings are now correctly reverted to their defaults when an invalid value is set, and their values are kept in sync with the active setting.