- New games: Akai Katana (2010/ 8/13 MASTER VER.) and The Big Joke (Version 0.00)
- New clones: Gunbird 2 (set 2) and Gran Trak 10/Trak 10/Formula K (older) [TTL]
- New devices: i8156 and teac_fd_30a
- ARM7 CPU
. Added rudimentary instruction prefetch buffer. Fixes (MESS) GBA NES Classics games.
. Added 32- and 64-bit population count utilities. Only used in ARM7 core for now. Requires -msse4.2 or -mpopcnt to use CPU feature on x86 and -mpopcntb to use CPU feature on POWER (cpu\arm7\arm7ops.cpp and osd\eminline.h).
. Fixed ARM7_BE and ARM7 MMU regressions
- HuC6280 CPU: Fixed brk logerror
- Hyperstone CPUs: Some minor optimization (cpu\e132xs\e132xs.cpp), Elfin (dgPIX Entertainment Inc. 1999) benches roughly 11% faster.
- M6800 CPU: Reinstated registration of SR for debug expressions (cpu\m68000\m68kcpu.cpp)
- M68010/68020/68030 CPUs: Added stack frames formats support. This make work this very common CPU type detection routine based on the bus error frame stack size: http://www.easy68k.com/EASy68Kforum/viewtopic.php?p=1105#p1105
(cpu\m68000\m68kcpu.h) [Jean-Francois DEL NERO].
- MCS-48 CPU: The MCS-48 core needs to be re-written so it works at S-cycle level (if not clock cycle level), but for now I've worked around this case in the least intrusive way possible.
- MIPS CPUs: Minor MIPS DRC fastram optimization and simplification (cpu\mips\mips3drc.cpp)
- SH-3/4 CPU: Added some changes that got lost. It fixes an issue where futaribl sound would cut out if left in attract mode on first boot due to timer irq 0 being missed and then never refiring due to the way the DRC code blocks work.
- Z80 CPU: Implemented Z80 HALT output and clear HALT condition during reset. Wakeup (MESS) Ritam 'Monty Plays Scrabble' and 'Master Monty' from HALT instruction using reset.
- YMZ770 sound: Added pan, main volume level and clip limit control.
- 6522 VIA: Added some interrupt LOGs
- 74LS259 TTL: Added descriptive names for 74LS259 nibble write handlers to mjsister and rallybik
- 8155 RIOT: Substantial rewrite of timer emulation. Modernized logging. Abandon "RIOT" name properly belonging to MOS 6532. Provided separate device type for 8156. Regression fix for Golden Arrow.
- DECO Custom: Fully handle sound latch internal in the DECO 146 device (boogwing.cpp, cninja.cpp, dblewing.cpp, deco32.cpp, dietgo.cpp, funkyjet.cpp, lemmings.cpp and rohga.cpp)
- DS12885 RTC: Fixed DS128X/DS1288X main frequency divider. The output frequency must be fixed to 1HZ with these devices. In the MC146818, DV2-DV0 were used to select the input frequency to provide a proper time base. Since the DS12885/87 and DS1685/87 use only the 32.768kHz crystal these 3 bits are used to turn the oscillator on or off and to reset the countdown chain. There are not used anymore to select the main clock divider value.
. Don't segfault on empty tracks, fixes (MESS) Einstein 4game (formats\dsk_dsk.cpp)
. Converted line handlers to READ/WRITE_LINE_MEMBER to make them devcb-accessible (machine\wd_fdc.cpp; drivers\guab.cpp)
. Added TEAC FD-30A 3 inch floppy drive (MESS) Tatung Einstein
- I8275 video: Added check to avoid buffer overflow. Removed assert now that buffer overflow is guarded against in non-debug builds.
- RS232: Changed 9615 baud configurations to the nominal 9600 baud now that Z80SIO is more tolerant. Removed 9615 baud setting.
- Z80 SIO
. Moved object finder resolution before device_start (emu\device.cpp and machine.cpp). This fixed Z80SIO not safe with attached RS232 port. MAME can crash if a device sets the initial state of the input lines for a z80sio_device at device_start time.
. Made async receive behave more like real device. Check that start bit persists for half a clock interval. Sample data bits mid-interval. Handle invalid stop bit as described in Zilog manual. Check parity and latch overrun and parity errors. This fixes the issues with corrupt characters being typed on the Kaypro. Synchronous modes are still broken. The channels are still using device_serial_interface to transmit frames, but receiving is handled entirely in the device class itself. Overruns still aren't handled properly.
. Better handling of Rx FIFO and interrupts in async mode. Framing error should always generate interrupt in interrupt-on-first mode.
. Moved dlair.cpp and proconn.cpp driver from z80dart.h to z80sio.h
. First stab at WRDY emulation. Some logging improvements.
- cb2001.cpp: IRQ acknowledgment
. Demoted all sets to imperfect speed, set audio output to mono
. Added pan, main volume level and clip limit control to YMZ770.
. Emulated sound protection state machine for Secret Agent/Sly Spy and get rid of ROM patch. Emulated Sly Spy RNG device at $31c00d. This makes gameplay to behave very differently than before, game extensively uses this port to mix up stuff especially with the bosses.
. Fixed sound randomly speeds up and eventually dies in bouldash and secretag/slyspy (ID 06740)
- dgpix.cpp: Some minor optimization, Elfin benches roughly 11% faster
- dwarfd.cpp: Added check to avoid buffer overflow. Removed assert now that buffer overflow is guarded against in non-debug builds (video\i8275.cpp). This fixed debug assert shortly after start (ID 05761).
. Moved 'signatures' out of the source and into a ROM, as suggested.
. Switched to configured banking
. Added save state support
. Added default NVRAMs to avoid errors on first boot and signature roms to findout, gtsers15, reelfun, reelfun1, sexappl, sprtauth, suprpokr, suprpokra and suprpokrb.
- n8080.cpp: Directly set 8035 IRQ line rather than generate fake pulses, restores some sounds in HeliFire.
. Fixed rotation and scrolling. Small cleanups (video\ygv608.cpp).
. Added scrolling-by-row used in NCV1 'Xevious Arrangement'
. Fixed scaling effect used in NCV2 'Pac-Man Arrangement' staffroll
- piggypas.cpp: XTAL-derived clocks. Focumented some chip types. Added NVRAM. More documentation.
- playmark.cpp: Make games in driver respect common/separate Coin slot. Issue: DIPs where defined as "SW1" and conditional statements where looking for DSW1. Also makes coinage into a DEFINE statement and uses PORT_INCLUDE & PORT_MODIFY for clone Big Twin (No Girls Conversion) which only has 1 dipswitch deference.
- segahang.cpp and segas16b.cpp: Use MCFG_SCREEN_VBLANK_CALLBACK instead of irq0_line_pulse for Sega i8751 interrupt
. Fixed line/polyline drawing ('Die Hard Arcade' wireframe map) (video\stvvdp1.cpp)
. Moved internal SCUDSP program/data maps (machine\sega_scu.cpp) into CPU core (cpu\scudsp\scudsp.cpp)
. Fixed shanhigw and sokyugrt starts with 2 credits inserted (video\stvvdp2.cpp) (ID 04366)
- techno.cpp: IRQ modernization. Reimplement IRQ generation based on an educated guess.
- vegas.cpp: Improved debug messaging for serial port (machine\vrc5074.cpp)
- Double Wings: Added save item (soundlatch pending)
- King of Boxer: NMI gate was misconfigured in clones Ring King (US set 1/2); works again now.
- Marine Date
. Rewrote Marine Date driver from scratch and improvements
. Added sea bitmap and flashing when shark appears. Improved sprite/tilemap colors, now more accurate to the references. Fixed priority, both sprite layers are actually above text tilemap. Added player 2 trackball inputs, and global coin lockout. Streamlined and improved collision detection (still not perfect therefore game still marked NOT_WORKING).
. Fixed MAME crashed when starting game (ID 06745)
- Paint & Puzzle: Added 6522 VIA interface
- Perfect Billiard: Minor doc update & rom label correction
- SD Gundam Psycho Salamander no Kyoui: Replaced rom patch with a slightly less gross hack. Note: Routine at $134C sends no sound commands if lowest bit is 0.
- Super Othello: Very minor cleanups + preparation for save state support
- Thunder Ceptor: Properly hooked up 3D scope view
- Time Crisis 3: Added dump of V291 I/O board
- Wave Runner GP: Dumped motor board rom
- Input port
. Lower beeper volume (machine\terminal.cpp)
. Added a little logging to machine\input_merger.cpp
- Dipswitch fixes in marinedt.cpp and playmark.cpp
- Fixed rom names in freekick.cpp and naomi.cpp
- Description changes of 3-D Thunder Ceptor II, Gunbird 2 (set 1), unknown Fun World A0-1 game, unknown Fun World A7-11 game 1, unknown Fun World A7-11 game 2, unknown Inter Games poker, unknown game (MAC #1808), unknown poker game PKII/DM, unknown Sega gambling game (M1 Satellite board), unknown 'VIP 2000' game,
. DEVICE: Moved object finder resolution before device_start (emu\device.cpp and machine.cpp)
. Removed irqN_line_pulse interrupt generators. Vestigial commented-out uses remain in cdi.cpp. This does not affect nmi_line_pulse (emu\driver.cpp/h).
. Merged popcount implementation in emucore.h with the new osd\eminline.h (see namcona1.cpp driver; printf("popcount ...population_count_32(m_keyval...))
. Multi-Language: Updated Greek and Portuguese (PT-PT) translations
- SDLMAME: Make SDL input less eager to generate double-click events when mouse doesn't move between clicks (input\input_sdl.cpp)