* documentation
* (Hopefully) requested changes.
* More updated info
I forgot MAME has the Voodoo device recalculate the screen size and timing so I removed all the "EGA" stuff.
I can confirm Midway Graphite uses a different motherboard verified on the first boot screen. The BIOS ID on that game redirects to a BMC GT694VP motherboard using a VIA Pro133A chipset. I edited the machine configs to use the "correct" CPU type and clock speeds but Midway Graphite may be its own separate driver due to the different chipset hardware.
* mm5740 X pins are numbered starting from 1, also fix typo in pinout comment (Y10, not Y0)
* make more members protected/private as appropriate
* got rid of one more video start override in a clean way
- Get rid of the hardcoded FLOPPY_n tags as much as practical, mostly adding device finder arrays in their place
- Move remaining functions using FLOPPY_n down into appldriv and sonydriv (both of which may be eliminated once FDC emulation is modernized)
- Replace CLEAR_LINE and ASSERT_LINE with 0 and 1 (these were being inaccurately used to represent active-low control line states)
- 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.