PowerPC no longer clears its own IRQ line; it is now cleared by the IRQ controller when there are no more pending interrupts. Not all games clear DMA interrupts so it was necessary to tweak the 53C810 SCSI controller and the Real3D DMA interface to only fire interrupts if a certain register is correctly set. 53C810 has the documented DIEN (DMA Interrupt Enable) register; Real3D DMA seems to use the low bit of the dmaConfig register.
Also I removed the net IRQ as no games seem to actually use it.
Virtua Striker 2 '99.1 (Step 1.5, Export, USA, Revision B)
Virtua Striker 2 '99.1 (Step 1.5, Japan, Revision B)
Thanks to Brian Troha and The Dumping Union
music timing in Daytona USA 2 and Sega Rally 2. DSB1 CPU timing
increased from 1MHz to 4MHz, improving music fade timing in Scud Race.
Thanks to gm_matthew for these discoveries.
-Separate each possible boards (wheel, joystick, skipad, billboard).
-Defined a Driveboard type in Games.xml for each games.
-Due to the refactoring, Driveboard Savestates have changed (a common base data + a specific board data are saved).
-Backwards compatibility with previous save states is maintained.
-Driveboard rom section is no longer required anymore. This disables Driveboard emulation in case the rom is not found.
-Added Billboard emulation (vf3, vs2, fvipers2, von2). 7 segments and lamps Outputs are redirected to Supermodel outputs.
-Changes project to C++ 17 standard.
In xinput mode, lets the choice to have left and right gamepad motors vibrate together.
XInputStereoVibration = 1 (both motors) [default]
XInputStereoVibration = 0 (separate motors)
In sdl input mode, new control option to set minimum strength above which a Model 3 constant force command will be simulated on an sdl gamepad device.
SDLConstForceThreshold = 30 [default]
note : the vibration strength can be mod with SDLConstForceMax = [val]
New clones
-Sega Bass Fishing Deluxe (USA) (Brian Troha)
-Dirt Devils (USA, Revision A) (Brian Troha)
------------
Note/Warning:
This will match future Mame 0.228 changes.
Please Check/Edit carefully all your rom set because there are many changes (e.g. set name).
Thinking of delete or rename your nvram, or restart from the start.
This is only a simulation (cmd are interpreted), not an emulation because we lack informations on the game itself and its driveboard (does it have dedicated cpu/rom ?).
This was due to the initial audio buffer write position being aligned to the middle of a 4 byte (2 byte left, 2 byte right) audio sample.
In multi-threaded mode, some sort of race condition caused this alignment to be fixed until audio playback was temporarily paused (via pausing, loading a state, etc.)
Audio playback should now be fixed and work consistently in all cases.