The DOSBox-Staging Git (2026/01/18) aims to modernize the DOSBox project through improved development practices, addressing issues, and adding features compatible with contemporary systems. Key updates include enhancing the safety of cache handling, introducing new utility functions, refactoring data structures, and improving memory management. The changelog highlights changes such as renaming and removing deprecated macros, streamlining render processes, and ensuring consistency in naming conventions. Additionally, improvements were made to the command line API and documentation. Overall, these enhancements contribute to better performance and maintainability of the DOSBox platform.
(HEY YOU!! We hope you enjoy! We try not to run ads. So basically, this is a very expensive hobby running this site. Please consider joining us for updates, forums, and more. Network w/ us to make some cash or friends while retro gaming, and you can win some free retro games for posting. Okay, carry on ๐)
DOSBox-Staging Git (2026/01/18) has been compiled. This repository aims to modernize the DOSBox project by adopting contemporary development practices and tools, resolving issues, introducing features that enhance compatibility with todayโs systems, and contributing patches upstream.
DOSBox-Staging Git Changelog:
* Ensure `clear_cache_handler()` is UB-safe
* Introduce `round_to_multiple_of()` mathematical utility function
* Implement enum usage
* Utilize const arguments
* Transform `scaler_changed_lines` into `std::array`
* Include explanatory comments
* Correct header guard
* Add extra padding to `ScalerMaxWidth`
* Save output image dimensions in the `Render` struct
* Remove uint from `Render` struct
* Replace manual scaler cache management with `memcmp` & `memcpy`
* Relocate scaler source cache into `render.scale`
* Eliminate magic constant
* Preserve OpenGL texture staging areas as `uint32_t` vectors
* Rename `line0/1` to `out_line0/1` in the scaler
* Correct `PixelsPerStep` calculation
* Refine scaler implementation
* Standardize constexpr names
* Delete unused & redundant scaler macro definitions
* Remove `BituMove()` & associated extraneous code
* Change `ScalerAddLines()` to `scaler_add_lines()`
* Eliminate `ScalerMode`
* Drop big-endian support from scaler macros
* Remove `PSIZE` and `PTYPE` in scaler templates
* De-Bitu & de-uint scalers
* Standardize casing of `ScalerMaxWidth` & `ScalerMaxHeight`
* Align `templine_buffer` to an 8-byte boundary
* Clean up constant names
* Rename `xscale`/`yscale` to `x_scale`/`y_scale`
* Eliminate unnecessary (and incorrect) output size asserts
* Remove unused `scale.in_line` & `out_line` members
* Delete redundant `scaler_aspect` table
* De-Bitu `render.cpp`
* Refine casting in `render.cpp`
* Extract `handle_capture_frame()`
* Add `render.updating_frame` flag
* Include explanatory comments for `GFX_StartUpdate()`
* Eliminate unused members in `Render` struct & associated dead code
* Standardize naming of `Render` struct members
* Rename `render.updating` to `render.render_in_progress`
* Remove `render.fullFrame` and related code paths
* Delete `VGA_KEEP_CHANGES` code paths in `vga_draw.cpp`
* Move `viewport_settings` into `render`
* Relocate `aspect_correction_mode` into `render`
* Simplify `set_integer_scaling()`
* Streamline `set_aspect_ratio_correction()`
* Handle uppercase “-V” argument for version (#1472)
* Standardize command line API, as per review
* Enhance help text for `window_size` and `window_position`
Retro Replay Retro Replay gaming reviews, news, emulation, geek stuff and more!