emu/schedule.cpp: Fixed a few more pessimising assumptions. Gains a few
percent in Ketsui and SNES SuperFX.
util/endianness.h: Added some more operations on endian-swizzlers.
Changed a few more drivers to use them.
sun2.cpp: Fixed uninitialised variable that could cause corrupt video.
Fixed some issues with Visual Studio project generation after the
changes to Windows resource creation.
----------------------------
Borderline (Tranquillizer Gun conversion) [anonymous]
New working clones
------------------
Beta Force [anonymous]
- astinvad.cpp, rollerg.cpp, shootout.cpp: used finders, derived classes and other minor cleanups
------------------
Butterfly Video Game (version A00) [Ioannis Bampoulas]
New machines marked as NOT_WORKING
----------------------------------
Sea Devil [Ioannis Bampoulas]
Space Liner [Ioannis Bampoulas]
New clones marked as NOT_WORKING
--------------------------------
Speedway (set 2) [Ioannis Bampoulas]
- namcos23.cpp: confirmed set finfurl2j is FFS1 Ver.A [Guru]
Optimised the scheduler's handling of unscheduled timers - gives a 50%
performance improvement in some timer-heavy drivers.
Added better endianness swizzling helpers.
Got rid of some of the OSD input modules' dependence on concrete input
classes from emu.
* sound.cpp: Fix missed samples due to state save (#9917)
The PR address #9917. A save state may occur between time slices.
Sound devices through sound.cpp are updated during a timer call every
20ms. When the state is saved, these devices are not updated to the
current machine time. Consequently after a state load the devices have
have a "time lag" since in postload buffer end time is forced to
machine time.
This change will save the last buffer end time so that all outstanding
samples are processed.
This is a core change. I tested it on some drivers. This needs a very
thorough review and I post the PR primarily to document a possible
solution.
* sound.cpp: use "stream.sound_stream" as module name for save_item
* sound.cpp: use presave handler to store end_time()
* Moved protection simulation to devices, and got more games to boot.
* Corrected lamp output mapping for most games.
* Correctly identified more games, and removed bad dumps.
* Organised sets better, and cleaned up some of the implementation.
spectrum.cpp: Removed a member from the base state class that's only
used by certain Soviet clones. There seems to be some copy/pasted code
in the clone drivers - pehaps they can share some of the implementation.
spec128.cpp: Moved the Spectrum 128 state class declaration to the
corresponding header.
Reduced redundancy in a few fruit machine layouts.
- Add helper functions for double-word register accesses and multiplication
- Make 16-bit multiplications signed for EHCMULD and EHCMACD
- Correct typo in comments