2020-08-24

DOSBox-Staging Git (2020/08/24)

EmuCR: DOSBoxDOSBox-Staging Git (2020/08/24) is released. This repository attempts to modernize the DOSBox project by using current development practices and tools, fixing issues, adding features that better support today's systems, and sending patches upstream.

DOSBox Git Changelog:
* Update allowed warnings limits
* Convert DOS_SDA to using new field access macros
* Convert DOS_DTA to using new field access macros
* Convert DOS_FCB to using new field access macros
* Fix a CD-DA roll-over bug when calculating PCM frames
* Add GUS Enhancements to the table of changes
* Fix a boundary-check in the GUS voice volume register
* Update allowed warnings limits
* Format "wrap cache early" check for core_dynrec
* Fix effc++ warnings in CodePageHandler class
* Decorate CodePageHandler with override keyword
* Move core_dyn_x86/cache.h to dyn_cache.h
* Copy diff between caches into core_dyn_x86
* Use 1024x1024 for GUS RAM size and IEC unit symbols
* Assert GUS configuration pointers before use
* Mark GUS local variables const when possible
* Prefer using the bound-checked at(x) in GUS non-hot-path code
* Add default cases in GUS read and write switches
* Initialize a couple GUS variables
* Iterate over the GUS voices array instead of indexing
* Up-cast GUS arithmetic vals to resulting size before operating
* Separate GUS timer-array into two standalone timers
* Attribute more GUS member functions with noexcept
* Move a couple more GUS constants to their point-of-use
* Move the GUS vol_scalars array to a std::arrays
* Move GUS conf and init definition to hardware header
* Move the GUS RAM to a std::array
* Move the GUS pan scalars to a std::array
* Move the GUS accumulator and output arrays to containers
* Eliminate casting in GUS wave updaters
* Fix an implicit cast warning in GUS
* Move definition closers to point-of-use in GUS
* Attribute GUS functions with noexcept
* Silence setting of GUS ULTRA* env variable
* Adjust order of state assignment to be less misleading in GUS
* Adjust allowed warning limits
* Eliminate unecessary cast in GUS comparison
* Create GUS ULTRASND using snprintf instead of sstream
* Use consistent bracing in GUS DMA routine
* Round the GUS playback rate instead of using + 0.5
* Define GUS address masks using bit-syntax
* Use lowercase hex constants in GUS
* Define GUS type bit-sizes in separate variables
* Improve documentation in the GUS PopWave position function
* Correct GUS lower-bound DMA and IRQ values (zero is valid)
* Remove an unused GUS function and some extra whitespace
* Reorganize GUS constants and use the wave masks locally
* Configure the GUS conf-file settings locally
* Fix copyright banner spacing in GUS
* Cleanup a couple GUS comments and whitespace
* Cleanup GUS log messages
* Let GUS DMA transfers naturally expire
* Cleanup GUS DMA transfer functions
* Recombine GUS header and body into one cpp
* Add 'Pop' functions to get the current GUS control position and increment it
* Reseparate the shared IRQ state into volume and wave parts
* Cleanup warnings in GUS DMA and sample callback
* Simplify GUS DMA callback
* Quantify GUS maximum DMA rate and timings
* Hoist DMA bit-size determination to a function
* Clamp configured DMA and IRQ to defined limits
* Add PIC-controlled DMA handling authored by the DOSBox-X project
* Cleanup GUS DMA transfer related code
* Make GUS runtime reset & init more thorough
* Show all (positive and negative) optimization result in GCC's build optinfo target
* Replace some std::arrays w C-arrays for aligned SIMD vectorization
* Move GUS peak amplitude update into the soft limiter
* Compartmentalize long GUS GenerateSamples func, and vectorize others
* Vector-optimize GUS SoftLimit and GenerateSample calls
* Define 16-bit audio limits as a constexpr float value
* Move GUS sample-passthru into SoftLimit
* Pass std:arrays as references and assert their sizes
* Document the GUS structs and classes
* Update allowed warnings limits
* Refactor the GUS wave, volume, and runtime state control
* Clarify the GUS stop-init-play Reset states
* [WIP] reset handling
* Simlify GUS reset by assigning the default Timer{} structs
* Rename global object myGUS to 'gus'
* Include inout.h in dma.h as it depends on IO_ReadHandleObject
* Break out GUS prototypes into a header
* Capitalize GUS voice control states
* Rename the GUS current_voice* to simply voice
* Rename GUS wave and volume control members
* Eliminate need to pass irq check fn into each GUS voice
* Generalize GUS wave and volume read, write, and IRQ control functions
* Collapse GUS Wave and Volume update functions into one
* Collapse wave and volume index control into a common struct
* Simplify the interface to GUS GenerateSamples
* Migrate the GUS wave addresses to integers
* Migrate the GUS volume indexes to integers
* Eliminate the defunct IS_EGAVGA_ARCH check in GUS
* Use a unique_ptr to hold the static GUS object
* Vectorize GUS sample pass-through when not soft limiting
* Move more default values to constexpr in GUS
* Cleanup effc++ warnings in GUS
* Rollover requested GUS voices at 31 instead of 63
* Move magic-number #defines to constexpr, and drop GUS_ prefix
* Simplify GUS temporary variable names
* Scale the GUS volume index variables
* Stop the GUS audio channel when resetting
* Initilize GUS timers and mix control with reset values
* Refactor GUS
* Cleanup GUS by dropping use of 'using namespace std'
* Further streamline GUS sample generation
* Include dosbox-staging team in copyright header
* Only update GUS channel details when needed
* Bound the GUS pan request instead of asserting
* Print GUS bit-depth and volume info on close
* Gather GUS bit-depth usage from voice channels
* Soft-limit the GUS accumulated stream as-needed
* Track peak amplitude of the accumulated samples
* Operate the GUS mixer channel at the internal playback rate
* Cleanup GUS by eliminating redundant casts
* Cleanup GUS remaining small formatting issues
* Cleanup GUS by replacing INLINE with inline
* Cleanup GUS by applying const when possible
* Cleanup GUS by initializing member variables
* Cleanup GUS by replacing (void)s with ()
* Cleanup GUS by moving Bit32s to int32_t
* Cleanup GUS by reformatting updated uint32_t (squash after review)
* Cleanup GUS by moving Bit32u to uint32_t (no formatting)
* Cleanup GUS by reformatting updated uint16_t (squash after review)
* Cleanup GUS by moving Bit16u to uint16_t (no formatting)
* Cleanup GUS by reformatting updated uint8_t (squash after review)
* Cleanup GUS by moving Bit8u to uint8_t (no formatting)
* Define and initialize the GUS memory
* Eliminate redundant volume bit-shifting up and down
* Simplify GUS wave addition calculation
* Streamline GUS sample generation
* Clarify GUS volume state-variable names
* Retain the fractional interwave-portion of GUS samples
* Implement 16 constant-power pan positions
* Eliminate redundant RAMP_FRAC multiplier in GUS
* Synchronize comments in cache structs in both dynrec cores
* Synchronize comments in CodePageHandler classes
* Synchronize static functions' comments in dyn caches
* Synchronize comments in CacheBlock classes
* Synchronize comments in CacheBlock declarations
* Use write_unaligned* in cache_add* functions
* Don't report backspace and escape as illegal characters in batch files
* Fix capture_mouse's middlegame configuration state
* Clarify the mouse capture configuration names

Download: DOSBox-Staging Git (2020/08/24) x64
Source: Here

0 Comments

Post a Comment