- New games: Keirin Ou
- New Working games: Capcom Vs. SNK Millennium Fight 2000 Pro (Japan) (GDL-0004), Cleopatra Fortune Plus, Coco Loco (set 3), Genius 6 (V110F), IQ Block (V113FR, Gambling), Shuzi Leyuan (V127M, Gambling) and 'unknown Sidam poker'
- New Non-Working games: Air Hockey (6.03, encrypted), Donkey Kong Banana Kingdom (host), The King of Fighters - Road to Revenge / The King of Fighters 2002 Unlimited Match, Multi Game V (AMGHU_V83.65), Pop'n Run - The Videogame (set 1) and War Mission (WM 4/6/87)
- New clones: Bow & Arrow (Prototype, rev. 22), Centipede (Japan, revision 3), Donkey Kong Junior (US, bootleg?), Final Fight (Japan 900405), Grand Champion (set 2), Grand Champion (set 3), Karate Blazers (World, Tecmo license), Last Mission (World revision
, Marvel Super Heroes (Brazil 951024), Naughty Boy (bootleg, set 2), Pit Boss Superstar III 30 (9233-00-06, California version), Pop'n Run - The Videogame (set 2), Real Puncher (Japan, v2.12J), Sengoku 3 / Sengoku Densho 2001 (set 2), Strider 2 (Euro 991213), Street Fighter II': Champion Edition (bootleg with level selection), Tapper (Budweiser, 1/27/84), Trophy Hunting - Bear & Moose V1.0 (Location Test), V-Liner (v0.53), V-Liner (v0.7e), V-Liner (v0.7a) and World Heroes 2 (ALH-006)
- New drivers: dynamoah.cpp and y2.cpp
- New devices: 315_5649, dckb, igs_bitswap, igs_incdec, lba_enhancer, locomotn_audio, model1io2, tms32030 and zn428e
- Hitachi SH-4 CPU: UML implementations of FABS, FCMP_EQ, FCMP_GT, FLDI0, FLDI1, FLOAT, FNEG, FRCHG, FSCHG, FSTS and FTRC. Optimized some implemented UML. Fixed SR state in new CMP implementations.
- Intel I8086 CPU: Fixed HALT state
- MCS-51 MCU
. Added more interrupt and timer registers to debug state
. Eliminated atrocious hack for breaking out of INT0 polling loops
. Minor DASM fix for case 0x95
- NEC V60 CPU: Fixed disassembly of branch opcodes (displacement is signed)
- Texas Instruments TMS9995 CPU: Fixed latching of pulsed interrupts
- Toshiba TMPZ84C015 CPU: Added missing callback for CTC ZC3
- AICA sound: Correct register name from development manual. Added docs of unimplemented registers. Added imperfect_features because emulation isn't perfect (DSP, etc..).
- HuC626x video: Use required_device instead of explicit lookups for HuC6261 and HuC6272. Internalized palette HuC6260.
- Hudson HuC6280 sound: Added LFO. Fixed channel check when lfo is enable. Added notes.
- NEC uPD7759 sound: Fixed uPD7759 class hierarchy, and reset callback before resolving it.
- QSound (HLE): Better rnd on negative (dsp16\dsp16core.ipp). Fixed condition mask in disassembler (dsp16\dsp16dis.cpp).
- Ricoh RF5C68 sound: Added save states. Added device_rom_interface, because Datasheet says it's can connect with ROM. Added rom_bank_updated and device_memory_interface instead device_rom_interface.
- Sound stream: If stream->update() is done going back in time (originating from different devices at a different execution point), don't try to generate a negative number of samples (emu\sound.cpp).
- ADC0808 A/D Converter: Reduced CPU overhead by smarter timer usage and accurate to the datasheet
- ATA Interface: Get abstract_ata_device working again - needs a better solution long-term (machine\ataintf.cpp)
- Data East Custom
. Internalize palette for boogwing.cpp and deco32.cpp (video\deco_ace.cpp)
. Splitted supbtime.cpp driver into video and includes
. Cleanup driver and duplicates. Fixed address map for readable internal register (boogwing.cpp, cbuster.cpp, cninja.cpp, darkseal.cpp, dassault.cpp, deco32.cpp, dietgo.cpp, funkyjet.cpp, madmotor.cpp, rohga.cpp, supbtime.cpp and vaportra.cpp)
. Moved dragngun*/lockload* specific m_sprgenzoom into dragngun_state (deco32.cpp)
- EEPROM: Set default EEPROM clock to zero (machine\eepromser.h and drivers\popeye.cpp)
- Intel 8255 PPI: Hopefully improved readback of port C high output latches when port A is in Mode 1 (see https://github.com/mamedev/mame/pull/3544)
- Intel 8259 PIC: Use device_resolve_objects
- ISA: ISA devices now have the possibility to remap themselves. * ISA bus managers have a list of their slots. * ISA bus managers and device base classes have a new virtual method remap(). * Modify the ET4000 ISA device to support the new method. Currently ISA devices map themselves in their address space ranges only in device_start() and if something unmaps them, they are not visible anymore remap(int space_id, offs_t start, offs_t end) of the isa bus manager can be called to tell devices that if they have mapped something in address space space_id from start to end they should remap themselves [Samuele Zannoli].
- Konami PowerPC Common Functions: Use device finders and eliminated machine().device(tag) (machine\konppc.cpp)
- Nintendo Custom: Make palette internal to device (video\ppu2c0x.cpp). Changed NMI to line callback.
. PCI devices now have the possibility to remap themselves. Like in the ISA bus remap (int space_id, offs_t start, offs_t end) of the PCI bus manager can be called to tell devices that if they have mapped something in address space space_id from start to end they should remap themselves. It will be used with system management mode.
. PCI devices can ask to be mapped before the others. Will be used by the ISA bridge in the southbridge.
- Sega Custom: Converted Sega 315-5649 I/O Controller to device. Allow side effects of analog read to be disabled (machine\315_5649.cpp).
- TI TLC34076 video: Converted implementation to use device_palette_interface. m_pens is unnecessary now.
- VGA: Cleanup machine().device
- Z80 CTC: Disabling a channel interrupt also turns it off
- Z80 DAISY: Implemented independent RETI decoding. Moved z80daisy* to devices\machine.
- alpha68k.cpp: Cleanups and clock corrections (gangwars, sbasebal and skyadvnt). Sound interrupt frequency correction.
- argus.cpp: Fixed sound writes (second YM2203 has not implemented). Cleanup duplicates. Reduced runtime tag lookups.
. Swap start LEDs and suppress logging for many spurious writes
. Configure all lamp/LED outputs as line callbacks in asteroid, astdelux and llander.
. Added cocktail configuration that flips screen for 2nd Player
- astrocde.cpp: Driver and device modernization. Renamed sound device, documented pinout and added input and output callbacks. Added addressable and non-addressable output latch devices. Added watchdog timers for most games. Use memory maps instead of hacking in handlers in DRIVER_INIT. Split up base class a little.
- atarigt.cpp: Removed some calls to state()
- atarisy4.cpp: Get rid of static state
- atlantis.cpp: Added missing MCFG_VIDEO_SET_SCREEN. This fixed Fatal error: No screen specified for device ':zeus2' (ID 06962)
- cinemat.cpp: Splitted out stuff unique to Demon and QB-3 (prototype), use virtual methods a bit more. Cleanup/separation - no longer needs a selector member or start overrides.
- coolridr.cpp: Use 315-5649 I/O Controller device
- dooyong.cpp: Cleanup. Changed sprite layouts. Added input_merger_any_high_device for YM2203 irq handler.
- f1gp.cpp: Added some undocumented dipswitches and the possibility to use 4-way joysticks
- fuukifg2.cpp: Minor cleanups. Fixed gfxdecodes and spacing.
- fuukifg3.cpp: Minor cleanups. Fixed YMF278B handler and spacing.
. Verified Dallas DS5002FP clock for World Rally 2. No serial EEPROM for this game.
. Updated some PCB layouts to be more accurate
. Verified MCU clock for Touch & Go
- goldngam.cpp: Added devices
- highvdeo.cpp: Cleanup drawing (related by cliprect). Splitted machine config and address map per each games. Cleanup duplicates. Added output finder. Cleanup ROM loading. Added precalculated color for game with drawing directly RGB565 [cam900].
- jaguar.cpp: Cleanups. Added address maps related from rom board (for cojags). Reduced runtime tag lookups. Moved bankswitch configurations into machine_start.
- jpmsys5sw.cpp: Fixed uPD7759 class hierarchy, and reset callback before resolving it. This fixed debug assert in all JPM System 5 sets (ID 05484).
- kinst.cpp: Fixed driver screw-up that effectively prevented loading non default BIOSes
. Cleanup duplicates. Added generic_latch_16_device for maincpu to soundcpu comms. Improved tags. Reduced runtime tag lookups. Make drawing function relate to cliprect. Background is tilemap.
. Moved audiocpu to device and removed frequent tag lookup
- ltcasino.cpp: Preliminary palette hookup. Added "Demo Sounds". Added PCB layout for clone 'Mini Vegas 4in1'.
- m72.cpp: Simplified gfx layout
- m90.cpp: Cleanup duplicates. Added user_data for tilemap ram base. Reduced runtime tag lookups. Fixed rowscroll bias between layers.
- magictg.cpp: Cleanup driver
- model1.cpp and model2.cpp
. Improved Model 1 I/O board interface and drive board read/write callbacks (machine\model1io.cpp)
. Acknowledge IRQs explicitly; use MB8421 DPRAM device.
. Emulated the I/O board used by Wing War and Netmerc
. Improved Model 1 I/O board interface and drive board read/write callbacks (machine\model1io.cpp)
. Use 315-5649 I/O Controller device. Improved and clean up all inputs. Fixed input issue with srallyc (possibly others)
. Use MB8421 DPRAM device
- namcond1.cpp: Eliminated some explicit device tag lookups (namcond1.cpp and video\ygv608.cpp)
- namcos21.cpp: Demoted Cyber Sled and Solvalou to not working, added notes describing the issue
. Preliminary keyboard emulation, hooked up to 'The Typing of the Dead', 'La Keyboard' and 'Lupin The Third - The Typing' (machine\dc-ctrl.cpp).
. New Working games: Capcom Vs. SNK Millennium Fight 2000 Pro (Japan) (GDL-0004) and Cleopatra Fortune Plus
. Fixed dreamcast controller ID values in fixed_status, makes it possible to surpass VMU not found errors in DC games by pressing start (machine\dc-ctrl.cpp).
. Added US MVS (U3), Japan MVS (J3, alt) and UniBios 3.3.
. Moved start buttons to controllers, clean up NEO-FTC1B board a little.
. SIT and FTC1B are only compatible with MV-1B/MV-1C cost-reduced boards
. Allow AES joystick to be connected to arcade systems with D-sub connectors (common for "consolised" use)
. Pass through Select input from D-sub connectors on JAMMA variants
. Default to Japan BIOS for fixed software using mahjong panel (Euro BIOS doesn't support mahjong panel)
. Use JAMMA joystick panel for 'Mahjong Kyo Retsuden' since (doesn't support mahjong panel in MVS mode)
. Allow controls to be changed for MVS mahjong games (only BIOS and bakatono support joysticks, but still useful)
- nmk16.cpp: Simplified gfx layout. Fixed spacing.
- redalert.cpp: All games have the same sound start anyway (audio\redalert.cpp)
- sangho.cpp: Get rid of some MACHINE_(START|RESET)_MEMBER
- sanremo.cpp: Use output finder and added save state support
- segac2.cpp: Fixed uPD7759 class hierarchy, and reset callback before resolving it (fixed assert in Sega C2).
- segas18.cpp: Reduced runtime tag lookups. Added output finders.
- segas32.cpp: Reduced runtime tag lookups. Fixed bit manipulations.
- seibuspi.cpp: Fixed middle layer row scroll (video\seibuspi.cpp)
. Disable ROZ optimization if mode is either 2 or 3, fixes at least (MESS) 'Bulk Slash' and 'Death Crimson' ROZ layer bugs.
. ROZ fixes for Radiant SilverGun Xiga stage
. Support for line windows. Undocumented behaviour: Rotation parameter read control seems to mirror/have a correlation in the subsequent register.
. Don't repeat ROZ when screen over process is equal to 1, fixes (MESS) D-Xhird practice stage.
. Implemented vertical cell scroll ((MESS) Sonic Jam)
. Fixed potential bug with window Y sizes when double density interlace is enabled
. Fixed transparent sprite shadows (Game Tengoku and (MESS) Pretty Fighter X)
. Disable transmask code for mode 2 sprites, fix Sasissu racing stage background clouds color.
. Fixed illegal sprite mode in diehard and dnmtdeka (ID 04539)
- system16.cpp: Reduced runtime tag lookups. Fixed bit manipulations. Reduced duplicates.
. Dumped motor CPU ROM for Chase H.Q. and added detailed hardware description
. Put subwoofer closer to observer than front centre in chasehq and nightstr
- taitogn.cpp: Cleanup duplicates
- tatsumi.cpp: Reduced runtime tag lookups. Fixed region tags. Move CLUT'ed tile expand functions into video_start. Reduced duplicates.
. Reduced duplicates. Removed unnecessary things. Reduced runtime tag lookups. Fixed DMA'd palette/text things. Added input_merger_any_high_device for batrider sound IRQ.
. GP9001 Video: Minor cleanups. Reduced duplicates. Make sprite draw function related by MAX_SPRITE (it's possibly lower than 256 at real hardware).
- vectrex.cpp: Fixed probable bug with lightpen-triggered interrupt (video\vectrex.cpp)
- 39 in 1 MAME bootleg: Use finder array for DMADAC
- Blomby Car: Added opt and pot wheel input schemes
- Centipede: Correct PSG type in clone Magic Worm (bootleg of Centipede, set 1)
- Coco Loco: Redumped the bitrotten rom c1.bin in clone Coco Loco (set 3) (Game now playable)
- Crazy Rally: Documentend PALs for clone Crazy Rally (Gecas license)
- Cube Quest: Fixed cache endianness
- Cyber Commando: Put rear speakers behind
- Dragon Master: Fixed output because both PCB and chip doesn't support stereo
- Genius 6: Emulated the protection (Game now playable)
- Godzilla: Kludge a few weird Godzilla collision checks
. Implemented emulation of AG-1 real sprite decompression agorithm. Avoid intermediate buffer.
. Minor cleanups. Fixed object finder. Converted VRAM into std::unique_ptr. Cleanup duplicates.
- High Seas Havoc: Decapped PIC16C55
- IQ-Block: Emulated the protection in clones IQ Block (V113FR, Gambling) and Shuzi Leyuan (V127M, Gambling) (Games now playable)
- The Irritating Maze: Added color lamps to layout. On the real cabinet, these are behind the marquee. Fixed timer lamp order. They now follow the order of the test menu and match recorded footage. Changed size of screen, and most lamps to better match the real cabinet. Changed CPO button/trackball color to better match the real controls. Fixed clickable start button.
- Lucky Girl: Updated decryption. Plaintext seems correct, but needs quite a lot more work.
- Mighty Guy: Hooked up NB1412M2 protection. Improved sound capabilities, makes Mighty Guy to have a sense sound wise. Added DAC sound.
- Missile Command: Fixed displayed DIP to match actual/manual display for R8 (ID 06966)
- Pesadelo (bootleg of Knightmare on MSX): Fixed address line swap
- Pingu's Ice Block: Redumped CF card. Note: Sectors 2-255 is empty (2 sectors of header / file list and 252 sectors of main.abs ELF executable), which makes this dump almost useless.
- Renegade: Fixed bit manipulations
- Rohga Armor Force: Fixed background color of title screen in clone Wolf Fang
- Seibu Cup Soccer bootlegs: Fixed device chip endianness (machine\seicopbl.cpp). Jumping is done with case 0x0905. Hookup layer disable. Fixed some sprite priorities.
- Simpsons Bowling: Separated state class and use required_device_array
- Space Invaders: Correct clone Space War (Sanritsu) romset
- Submarine (Sigma): Added flip screen support and splitted friver into video and includes files
- Subs: Eliminated set_led_value by binding outputs directly to callbacks
- Super Lup Lup Puzzle: Secured a second PCB and redumped the graphics roms for clone Lup Lup Puzzle v1.05
- Tapper: Latest version of Tapper known to come with "standard" graphics roms. Created the version with alternate graphics. Unknown if those graphics are hacked or a later revision.
- Top Speed: Dumped motor CPU ROM. Minor cleanups. Added arrays for reduce duplicates.
- unknown Sidam Poker: Added decryption and make the cards appear (background tilemap) (Game now playable).
- Venture: Added proms
. Fixed colors
. Merged memory maps and moved state machine data into header file
- X the Ball: Correct latch type
- Fixed year info for groovef, popn2 and popn3
- Dipswitch fixes in aerofgt.cpp, coolridr.cpp, f1gp.cpp, iqblock.cpp, missile.cpp, model1.cpp, model2.cpp and wallc.cpp
- Fixed rom names in aerofgt.cpp, bionicc.cpp, gaelco2.cpp, galaxian.cpp, namcos2.cpp, pgm.cpp, pgm2.cpp and starwars.cpp
- Description changes of Bow & Arrow (Prototype, rev. 23), F1 Grand Prix (Nuova Bell Games), Final Lap 3 (World, Rev C), Final Lap 3 (Japan, Rev C), Fire Hawk (World) / Huohu Chuanshuo (China) (horizontal), Fire Hawk (World) / Huohu Chuanshuo (China) (switchable orientation), Grand Champion (set 1), Grand Tour (V100U), Got-Ya (12/24/1981), Hong Tian Lei (A-Blast) (Japan), Hong Tian Lei (A-Blast) (bootleg), IQ-Block (V100U), IQ Block (V113FR, Gambling), Kuai Da Shizi Huangdi (China?, Revised Hardware), Naughty Boy (bootleg, set 1), pgm.cpp games (over 100), Pit Boss Superstar III 30 (9233-00-01, Standard version), Real Puncher (World, v2.12O), Sengoku 3 / Sengoku Densho 2001 (set 1), Shuzi Leyuan (V127M, Gambling), Super Contra - Alien no Gyakushuu (Japan), Toushin Blazers (Japan, Tecmo license), V-Liner (v0.6e) and V-Liner (v0.54)
- Renamed (ffightj3) to (ffightj4), (lastmisn) to (lastmisnu6), (lastmisno) to (lastmisnu5), (strider2) to (strider2u), (tapper) to (tapperg), (vliner) to (vliner6e) and (vlinero) to (vliner54)
. Concrete device types now have a call operator that instantiates a device. This change means you *must* use DECLARE_DEVICE_TYPE to declare the public interface of your device, even if it's device_t. If you want to use private implementation classes, use DEFINE_DEVICE_TYPE_PRIVATE and instantiate the object finders.
. Make devopt menu localisable (ui\devopt.cpp). Make machine_config aware of device being configured so owner doesn't need to be passed everywhere.
. Device callback (emu\devcb.cpp)
. Write callbacks can now be configured as 'OUTPUT("item_name")'. This behaves equivalently to a zero-dimensional 'output_finder', while eliminating the need to instantiate and resolve this in driver classes separately from the callback itself.
. The width of a callback's default mask now properly depends on its type (as was half-implemented before), instead of always being reset to 0xffffffffffffffff when actually configured. This allows MCFG_DEVCB_INVERT to work with line write callbacks as one might logically expect.
. Use new OUTPUT callback object in various (mostly Atari) drivers (atarisy1.cpp, avalnche.cpp, bsktball.cpp, canyon.cpp, centiped.cpp, cloak.cpp, cloud9.cpp, destroyr.cpp, dragrace.cpp, firefox.cpp, gridlee.cpp, liberatr.cpp, mcr3.cpp, orbit.cpp, pacman.cpp, rallyx.cpp, sbrkout.cpp, sprint2.cpp, sprint4.cpp, starwars.cpp, suprloco.cpp, tankbatt.cpp, tomcat.cpp, ultratnk.cpp and warpwarp.cpp)
. Set finder tag relative to current device being configured rather than the finder's owner. This meand you no longer need to care about the your relationship to the object being configured and a lot of ^ and : can disappear. There's a bit reduction in string pasting in macros from this.
. Bind devcb relative to current device. This is probably going to break plenty of things with late bind errors.
. Route sound relative to current device. Slot card additions run in the context of the slot itself, which isn't entirely intuitive. Slot configuration needs a bunch of other cleanup anyway (emu\disound.cpp).
. Use device_resolve_objects to resolve callbacks in output_latch_device. Renamed machine\latch.cpp/h to machine\output_latch.cpp/h.
. Allow devcb to be bound to a device/mixin or the target of a device finder. This works outside machine configuration context so the workarounds in ATA HLE and MSX slots are no longer necessary. It also allows reduction in tag repetition in machine configuration (see converted (MESS) osborne1.cpp, zorba.cpp or the more extreme tranz330.cpp). Allow reimagined device instantiation to take a device finder based on current device being configured to reduce repetition (see tranz330.cpp).
. Make MCFG_DEVICE_ADD and callable device types more flexible:
. Allows defaulted clocks (see subtle example with vboy)
. Allows additional constructors (see RS232 port in tranz330)
. Allows use of device finder in place of tag in MCFG_DEVICE_ADD
. Requires out-of-line destructor for devices using incomplete types
. Requires XTAL or explicit u32 for clocks for devices with private types
. Devices must still define the standard constructor. When writing additional constructors, be aware that the constructor runs before device_add_mconfig in the context of the existing device, not the new device. See osborne1, zorba, tranz330, and vboy for examples of this in use. Compilation is a bit slower, but this is temporary while refactoring is in progress.
. Eliminated the need for MCFG_SOUND_ROUTE_EX
. Removed macros from slot option configuration - they just obfuscated code and slowed it down with needless dynamic casts, but didn't actually simplify it.
. Streamline machine configuration macros - everyone's a device edition.
. Start replacing special device macros with additional constructors, starting with ISA, INTELLEC 4 and RS-232 buses.
. Allow an object finder to take on the target of another object finder. For a combination of the previous two things in action, see either theINTELLEC 4 driver, or the Apple 2 PC Exporter card. Also check out looping over a device finder array to instantiate devices in some places. Lots of things no longer need to pass tags around.
. Start supplying default clocks for things that have a standard clock or have all clocks internal.
. Eliminated the separate DEV versions of the DEVCB_ macros. Previously, the plain versions were a shortcut for DEVICE_SELF as the target. You can now supply a string tag (relative to current device beingconfigured), an object finder (takes on the base and relative tag), or a reference to a device/interface (only do this if you know the device won't be replaced out from under it, but that's a safe assumption for your subdevices). In almost all cases, you can get the effect you want by supplying *this as the target.
. Eliminated sound and CPU versions of macros. They serve no useful purpose, provide no extra checks, make error messages longer, added indirection, and mislead newbies into thinking there's a difference.
. Removed a lot of now-unnecessary ":" prefixes binding things relative to machine root. Clean up some miscellaneous rot.
. Make cards inherit clock from slot by default. Make speaker config more explicit. Added a couple more constructor options.
. Get rid of implicit prefix for GFX decode names and prefix them all. Get rid of special macro for adding GFXDECODE in favour of constructor. Make empty GFX decode a static member of interface. Allow palette to be specified to GFXDECODE as a device finder. Removed diserial.h from emu.h as it's used relatively infrequently.
. Added support for custom device constructors when replacing devices. Current syntax: MCFG_DEVICE_REPLACE(tag_or_finder, TYPE, ...). Next-generation syntax: TYPE(config.replace(), tag_or_finder, ...). Get rid of the token-pasting voodoo and casts in the discrete sound macros.
. Eliminated some explicit device tag lookups (drivers\namcond1.cpp, machine\nb1413m3.cpp, video\antic.cpp, video\tia.cpp and video\ygv608.cpp)
. Eliminated non-diexec PULSE_LINE hacks and disable some side effects
. Interrupt API changes (emu\diexec.cpp): PULSE_LINE is no longer a value. Existing uses have been changed to pulse_input_line with attotime::zero as the second argument. Formerly only INPUT_LINE_NMI and INPUT_LINE_RESET were allowed with PULSE_LINE. INPUT_LINE_NMI no longer receives special handling; instead, CPU devices must specify which of their input lines are edge-triggered and thus may be used with zero-width pulses by overriding the execute_input_edge_triggered predicate. INPUT_LINE_RESET is still special-cased, however. execute_default_irq_vector now allows a different default vector to be specified for each input line. This added flexibility may or may not prove useful.
. Replaced MCFG_CPU_VBLANK_INT with line callbacks in jantotsu.cpp and mrjong.cpp
. Use output finder for 30test.cpp, berzerk.cpp, caswin.cpp, dblcrown.cpp, fortecar.cpp, funtech.cpp, galaxi.cpp, gatron.cpp, highvdeo.cpp, mappy.cpp, meyc8088.cpp, mil4000.cpp, pacland.cpp, sanremo.cpp, segas18.cpp, subsino.cpp, tenpindx, usgames.cpp and machine\ticket.cpp
. Get rid of the assert replacement (emu\emucore.h). It prevents you from using assert in a destructor for a literal type due to the implicit nothrow. It's just not worth the trouble it's causing.
. Clean up some line write handlers (sound\namco.cpp and audio\polepos.cpp; gaplus.cpp, jrpacman.cpp, mappy.cpp, pacman.cpp, pengo.cpp and polepos.cpp)
. Fixed faulty assertion that was breaking (MESS) nes_vt.cpp in debug builds (emu\dipalette.cpp)
. Output system changes: Cleaned up syntax for network provider. Added pause and savestate commands to both network and win32 providers (output\network.cpp, output_module.h and win32_output.cpp).
. Renamed direct_read_handler to memory_access_cache. Parametrize the template on more information (data width, endianness) to make it possible to turn it into an handler cache eventually, and not just a memory block cache. Make it capable of large and unaligned accesses (emu\emumem.cpp).
. Removed DRIVER_INIT-related macros in favor of explicitly-named member functions. Made init_ prefix on driver initializers explicit. Fixed up GAME/COMP/CONS macro spacing.
. 3rdparty: Initial import of SoftFloat release 3E. This is a pre-usage import so everyone can get things in line for various compilers. GCC/Clang should be OK on most targets as-is. MSVC may need to edit 3rdparty/softfloat3/build/MAME/build.h to conform. Please report failure/success with various compilers.
. Fixed opcode space (plugins\cheat\cheat_xml.lua)
. Translate debugger expressions by space index as the debugger does (plugins\cheat\cheat_xml.lua)
. Handle the case where the ui prepends the list name to the list entry name
. Updated hiscore.dat (plugins\hiscore\hiscore.dat)
. Added Korean translation. There're still tons of lines to do, but it's a start.
. Updated Brazilian Portuguese, Chinese, Dutch, German, Greek and Japanese translations
- SDLMAME: Disabled multithreading on the Emscripten target (osd\osdsync.cpp)
. Begin preliminary GCC 8 support
. Don't use C++ flags on plain C files (scripts\genie.lua)
. set_tag can now take things other than C strings
. Replaced references to 'decrypted opcodes' with 'opcodes' (debug\debughlp.cpp)
. Simplify now obsolete and buggy memory access code (debug\debugcpu.cpp)
. Make debugger dump command work with unaligned addresses (debug\debugcmd.cpp)
. Debugger show save state items in alphabetical order in the debugger view