This is the second preview release of version 1.0 of DOSBox Pure.
A smaller update with 40 minor additions and fixes. Again, please test this release and provide feedback as we work towards a release we can call 1.0. Feedback is welcome here on GitHub as well as on Discord.
Large Changes
Save File Saving Improvements
Until now, when a file was changed on the C: drive in DOS (like saving in a DOS game), the entire content save file containing all changes made to the C: drive was written every time to the file GAMENAME.pure.zip into the Saves directory of the frontend (i.e. RetroArch). Now with the improvements made in #615 only the changes need to be rewritten. This is especially noticable when loading a CD of a game and then installing a large game to the C: drive. In that case the entire game installation becomes part of the content save file. This could fix short freezes of the core while it is writing larger save files, especially on devices with slower storage access.
Option to Fix the Frame Rate
The old core option "Force 60 FPS Output" was changed to "Force Output FPS" with many options to force output at a fixed rate.
Most DOS games run at a refresh rate of either 70 or 60 so by default the core also runs at these frame rates. But with this core option the core can be requested to draw a fixed rate to either match your diplay or to to enable frame skipping. The rate can be set as low as 10 FPS and as high as 360 FPS. Output will have frames skipped at lower rates and frames duplicated at higher rates. (#590, #616)
Removal of the Emulation core option "Input Latency"
As was announced in #588 the core option "Input Latency" has now been removed. If you relied on that option and now something that worked before doesn't work anymore, please write a message in #588 or leave a message on Discord.
Smaller Additions
- Removal of the Emulation core option "Input Latency" (#588)
- Don't write .SWP files filled with zero bytes to save data (temporary swap files) (ab406d5)
- Show an error notification if failing to write to the save file (30a6ba0)
- Default to more free space on the C: drive if the entire amount of data of the loaded content itself is already large (f642201)
- Keep core responsive even when running an infinitely looping batch file (#519)
- Support a legacy DOSBox .conf file to still automatically mount C: drive and CD/disk images when "automount = true" is specified in the .conf file (#586)
- Show a warning if modifying a core option that had its value fixed via config file (67c58fe)
- Re-order some core options (67c58fe)
- Remember last tab of on-screen display (67c58fe)
- Better on-screen-keyboard cursor movement with two analog sticks (ff0400a)
- Handle a change in fast forward rate while fast forwarding (f32c729)
- Make IMGMOUNT drives accessible in disc control menu (#594)
- Stricter validation for .IMG files if they are actually mountable file (#609)
- Zero initialize Voodoo ram on startup so the first frame drawn with 3dfx doesn't show garbage pixels (9c54b86)
- Support pressing letter keys in start menu to make cursor jump to item with that letter (bd7d154)
- Rename "Emulation" options category to "General" (186594c)
- Replace unicode characters in Start Menu title with generic symbol (92894e7)
- Rename "Enable On-Screen Keyboard" option to "Use L3 Button to Show Menu" (92894e7)
- Support switching tabs with the gamepad controlled cursor in the On-Screen Keyboard view (92894e7)
- On-Screen Keyboard: Map left face button to backspace, map top face button to shift (92894e7)
- Automatically switch to dynamic core when high cycles are requested in real mode (92894e7)
- Add a small delay between closing the action wheel and forwarding input events to DOS again (1e3574e)
- Also enable IDE CDROM when using boot from the command line (as opposed to using the Start Menu) (#622)
- Serialize IDE CD-ROM state so the same CD reappears inserted when loading a save state in a booted OS (#632)
- Store which CD/floppy image was mounted into the save state (#632)
Fixes
- Fix crash when using a .IMG file as the loaded content and enabling auto-startup (e7c880a)
- Reset video mode when returning to the start menu after a game quits or crashes (3f8642c)
- Clarify message in start menu when running an installed operating system with a .IMG file loaded as content (cfb7492)
- Increase the rate retro_run is called during multiplayer (to improve network performance of games running in lock-step) (9aab568)
- Fix potential crash with BOOT program (#584)
- Fix infinite loop when trying to boot an installed operating system while a .conf file with low memory setting is active (51ca512)
- Fix mouse jump after loading save state (5a4c439)
- Fix using analog functions (like mouse movement) bound to digital gamepad inputs (like d-pad) (#597)
- Fix on-screen-keyboard cursor movement with dpad sometimes not reacting to a quick direction switch (9b286ee)
- Fix release year of Columns from 1989 to 1988 to avoid it crashing with "integer divide by 0" (#603)
- Fix release year of Night Shift from 1990 to 1986 to avoid it freezing during startup (#600)
- Add missing cleanup of mo variable to avoid crash when restart with disney=false (#605)
- Fix rare chance of writing corrupted savestates while running a booted operating system (d3a5904)
- Fix soundfont based midi not playing drums on applications that don't set the MIDI channel preset (49d567d)
- Fix audio skips when emulated framerate and vsynced host framerate are close but not fully equal (8d2936b)
- Fix crash when swapping booter game floppy disks that don't contain a file system (8d2936b)
- Fix slight off aspect ratio when using both aspect ratio correction and overscan border (8d2936b)