- more const
- explicitly raise exceptions instead of leaving this to log.fatal()
- correct a number of cppcheck findings.
- dead code removal
- clang lint corrections, e.g. include order
* elan eu3a05 / eu3a14 - identify some common bits (nw)
* some elan refactoring baed on current knowledge / standards (nw)
* elan refactoring (nw)
* elan splitting / refactoring (nw)
* validate (nw)
* note used areas (nw)
* register observations (nw)
* another observation (nw)
* add the sprite double feature (nw)
* rendering tweaks (nw)
* rendering improvements for air blaster 3d stages (nw)
* refactoring (nw)
This fixes a case where:
* m_soundbuf_samples == processedsamples
* processedsamples > 0
* processedsamples * stream->channels() == m_soundbuf.size()
In this scenario, the std::memmove() would do nothing (moving zero
bytes), but the operator[] on the second parameter to std::memmove()
overflows the array. This can be benign in optimized builds (because
the third parameter to std::memmove() is 0), but on debugging builds
this can cause an assert.
Both compiling the core and the shaders with __float128 now work.
The support was added to be ready to deal with academic edge cases.
Performance drops to 10% of double - thus disabled by default.
* galaga: Implement accurate starfield based on reverse eng. 05xx
----------------------------------------------------------------
This commit implements an accurate starfield for Galaga and
Bosconian based on reverse engineering the Namco 05xx chip.
Documentation and notes have been added inline to the code
for the galaga video driver.
Changes in this commit:
1. Regenerates starfield colors based on LFSR state for every frame
2. Pixel accurate to Namco original 05xx
3. Restores one line horizontal starfield shift for every 256
vertical pixel shifts
4. Properly handles LFSR reset (_STARCLR)
5. Restores missing 4 stars from previous implementations
6. Fixes potential issue with the number of stars on screen at any
one time
7. Restores 4 pixel/line scrolling capability (not currently used
for any driver)
* galaga: inplement accurate starfield - change request 1
-------------------------------------------------------
1. Remove stdlib.h from src/mame/video/galaga.cpp
* galaga: inplement accurate starfield - change request 2
-------------------------------------------------------
1. Refactor starfield generator into stand-alone video
device
2. Simplify Bosconian and Galaga video drivers
3. Add in documentation about different LFSR form used
by Wolfgang Scherr and Jindřich Makovička.
* galaga: inplement accurate starfield - change request 3
---------------------------------------------------------
Minor changes from pull request review
__float128 is a gnu extension delivering true 128 bit floating point
support. Currently not supported by clang. In addition, the quadmath
library needs to be linked. For the time being therefore disabled.