* Added support for reference current (multiplying capability).
* Added support for voltage output.
* Added support for streaming reference current.
* Used those capabilities in oberheim/dmx.cpp and linn/linndrum.cpp.
* cpu/uml.cpp: Fixed some cases where simplifying multiplication
instructons incorrectly changed output flags.
* cpu/drcbex64.cpp: Fixed some cases where a ROLC/RORC with zero shift
count could incorrectly clear the carry flag.
* cpu/drcbex86.cpp: Made 64-bit ROLC/RORC with zero bit count preserve
the carry flag.
* cpu/drcbec.cpp: Fixed FSMOV/FDMOV turning things that look like
signalling NaNs into quiet NaNs on i686.
* cpu/drcbex64.cpp: Greatly reduced copy/paste in the code generation
for multiply instructions.
* cpu/drcbec.cpp: Don't clear carry flag on a zero-bit rotate through
carry.
* cpu/drcbex86.cpp: Don't clear carry flag on a word-sized zero-bit
rotate through carry (64-bit case is more involved).
* cpu/drcbex64.cpp: Removed code for another special case of ROLAND that
the simplifier deals with.
-konami/ksys573.cpp, bus/pccard/linflash.cpp: Corrected "Gacha Gachamp".
* Actually take a voltage snapshot when R or C change. This was being attempted, but didn't work because set_target_v would exit early if the target V was not changing. Made the snapshoting more explicit.
* Consider the EG done based on elapsed time, instead of proximity to target value. Some low volume DMX sounds were affected by this.
* video/mb_vcu.cpp:
- Implement device_palette_interface for palette functionality.
- Use an address space finder to access the host address space.
- Use logmacro.h helpers for configurable logging.
- Added a VRAM addressing helper.
- Suppress side effects for debugger reads.
- Cleanup 2bpp graphics drawing and screen update function.
* stern/mazerbla.cpp:
- Reduced run-time tag lookups and preprocessor macros.
- Reduced duplication and unnecessary trampolines.
- Updated comments.
* bandai/wswan.cpp:
- Remove unused graphics decoding layout.
- Fixed sound DMA, implemented DMA direction, moved DMA-related code into WonderSwan color state class.
- Make some variables constant, reformatted code.
* bandai/wswan_v.cpp:
- Split wonderswan color VDP device class into a separate class.
- Move palette functionality from system driver into VDP device.
- Corrected VRAM size.
- Use bool for Boolean values.
- Use logmacro.h helpers for configurable logging.
- Reduced duplicated code.
- Remove unused variables and code, reduced duplication, reformatted code.
* shared/wswansound.cpp:
- Implemented Hypervoice.
- Added mono speaker/stereo headphones selection.
- Fixed some emulation issues and corrected output rate and volume.
- Use logmacro.h helpers for configurable logging.
* virtual/vgmplay.cpp: Added Hypervoice support and stereo output for WonderSwan sound.
* Fixed save state support.
* Use indirect palette for color palette.
* Implemented full screen update function.
* Reduced a lot of duplication.
* Use more appropriate integer types, made some variables const, reformatted code.
-snk/ngp.cpp: Fixed save state support
* Also reduced literal tag usage and removed unnecessary screen update trampoline function.
New working software list items (neogeo.xml)
--------------------------------------------
Double Dragon One (demo) [OzzyOuzo]
Double Dragon One (prototype 1) [Casa de Ruivo]
Double Dragon One (prototype 2) [Casa de Ruivo]
Xeno Crisis [O'Cara-do-Sei-lá]
* Implement device_palette_interface for color palette functionality.
* Added some missing members to save states, and use fixed-size integer types for members that need to be saved.
* Moved many internal functions into protected: and private: sections.
* Use more appropriate integer types, made many local variables const.
* machine/ie15_kbd.cpp: Reassigned keys on the IE15 keyboard to match the layout of a VT52 keypad.
* ussr/ms0515.cpp, ussr/dvk_ksm.cpp: Removed keyboard serial speed workaround.
-emu/diexec.cpp: If a shorter input line pulse overlaps a longer pulse, don't shorten the pulse.
-cpu/e132xs: Added named input line number constants.
-video/sprite.cpp: Got rid of simple_list and fixed_allocator.
------------------------------
Bio Rhythm [Siftware]
Janken Man Ganso 2 [buffi]
Jipin Dou Di Zhu (set 1) [little0]
San Da Yi [little0]
New clones marked not working
-----------------------------
Feng Kuang Dou Di Zhu II [little0]
Jipin Dou Di Zhu (set 2) [little0]
- bmc/koftball.cpp: identified a couple of inputs for jxzh [little0]
- igs/igspoker.cpp: added NVRAM support, split driver in subclasses, small cleanups
- kaneko/airbustr.cpp: added PLD dumps for the original sets [PLD Archive, f205v]
This was "working" on x86-64 due to the backend treating shift/rotate
instructions with zero immediate bit count as a no-op even if the source
and destination registaer aren't the same. Fixing the bug in the
back-end caused it to break the same way on x86-64 as it does on the
other three back-ends that didn't have this bug.
* Fixed many cases that could cause the upper bits of a register not to
cleared following a 32-bit operation.
* Added more simplifications.
* Allow many simplifications when flag updates are requested.
* Fixed various bits of unreachable code.
* cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Removed code for special-casing
some situations the simplifier can now take care of consistently.
-cpu/drcbex64.cpp: Fixed a bug causing some shifts to be treated as a
no-op when the destination and source are not the same.
-cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Added a special case for
comparing something to itself.
-cpu/e132xs: Use the CARRY instruction rather than a right shift to set
up carry in.
- Working RAM through PPI 8155 internal RAM and handlers.
- Extended the PPI 8166 to support the 14bit timer + 2bit control.
- Hooked the i8257 DMA controller.
- Demuxed the digital inputs.
- Adjusted screen visible area.
- Worked the DMA support to get registers in the correct addressing.
- Hooked the analogic inputs.
- Added inputs for two players.
- Added DIP switches for coinage, difficulty, and lives.
- Added and demuxed spinner controls.
- Added NVRAM support.
- Sound support.
- Adjusted the spinners parameters to general purpose.
- Sound level control circuitry.
- Wired players lamps.
- Added technical notes.
- Rewrote the enhanced no documented i8085 RDEL & DSUB
instructions and their own flags.
Systems promoted to working
---------------------------
Paracaidista [Roberto Fresca, Grull Osgo]
* sound/c6280.cpp: Improved accuracy of volume control and LFO.
* video/huc6260.cpp: Suppress side effects for debugger reads, fixed save state issues.
* video/huc6270.cpp: Suppress side effects for debugger reads.
* Chose better types for member variables, made more local variables const, reformatted code.
* Corrected the calculation of the voice DC-block HPF.
* Audio streams are in voltages.
* Cross-checked component values with parts list, and corrected a couple of them.
* Also updating master volume and pitch adjustments on reset.
* There are no byte enable or write strobe signals for I/O, and there's
only a single operand size, so word addresses make more sense.
* Also changed STBS/STWS to allow any valid signed or unsigned value of
the applicable size. This allows vamphalf attract mode to work as
well as the storage test.
-misc/limenko.cpp: Better input types for spotty.