IMPORTANT NOTE: As of this release of MAME, several important things about the system have changed. Please read the following items before attempting to compile this new version.

1. A new tool chain for Windows, based off of gcc 4.4.3 prerelease, is now REQUIRED. Go to http://mamedev.org/tools to get the new tools. The updated included with 0.136u1 WILL NOT BUILD with the old tools. The new tool chain has support for building 64-bit MAME builds with gcc, as well as built-in DirectX headers, and C++ support, which was missing from the old tools.

2. Non-Unicode builds of Windows MAME are no longer supported. The options to turn this off in the makefile have been removed, and future changes are likely to solidify this requirement. If you are still (God forbid) running on Win9x, you will need the unicows.dll library to run MAME. Download unicows from Microsoft.

3. All code in MAME is now compiled as C++, plus there have been a few small changes that take advantage of the C++ language. For the most part, there is no effect on how drivers are written, except for some nicer accessors to devices and address spaces. Future improvements to take advantage of the C++ syntax will evolve slowly, and will be done internally. We are not interest in outside attempts to do this work for now.

4. The SDL OSD for MAME is now shipped as part of the main source package. SDL builds for Windows are now regularly built as part of the validation sequence for a new release. Thanks to R. Belmont, couriersud, and Olivier Galibert for their work on the SDL port over the years.

MAMETesters Bugs Fixed
- 00660: [DIP/Input] zoar: The cabinet UPRIGHT dipswitch is not working. (stephh)
- 03233: [Multisession] All sets in crystal.c: Multisession Crash
- 00111: [Crash/Freeze] gunbird2: crashes during the 4th level boss fight (North Pole) when using Vampiro. (PsikyoFan)
- 03649: [Crash/Freeze] gekisha: Unknown DIP 4-2 toggles Auto Tsumo after Reach. If it is enabled and declare Reach, MAME crashes. (Angelo Salese)
- 02154: [DIP/Input] ckongg: Coinage settings are wrong. (stephh)
- 02157: [DIP/Input] ckongg: Coinage settings shown on screen don't correspond to actual settings (stephh)
- 03653: [Graphics] crzrally, crzrallya, crzrallyg: Default high scores are incorrect (Pierpaolo Prazzoli)
- 03651: [Graphics] matmania: Graphical corruption (M.A.S.H.)
- 03620: [Speed] quasar: Massive slowdown (Quench)
- 03623: [Speed] laserbat, catnmous: Massive slowdown (Quench)
- 03621: [Interface] Hitting F6 without -cheat trigger causes crash (smf)
- 03626: [Graphics] raiders, spacefrt: Background star field is missing (Fabio Priuli)
- 03637: [Core] dino, punisher, wof and clones: NVRAM saves correctly, but doesn't reload any changes made (Fabio Priuli)
- 03415: [Compiling] unidasm fails to link when ldplayer is the specified target (Aaron Giles)
- 03485: [Graphics] mikie, mikiej, mikiehs: Possible priority issue on game completion (robiza)
- 00266: [Graphics] daraku: Graphic Issues at region warning and during super move. (PsikyoFan)
- 00892: [Misc.] s1945iii: At the very last boss, MAME popup a message (PsikyoFan)
- 03632: [Crash/Freeze] kinst, kinst2: Game hangs at black screen with 32-bit build (Aaron Giles)
- 03630: [Core] Any EEPROM with an 8-bit data bus is not being saved correctly (Aaron Giles)
- 03622: [Graphics] solomon, solomonj: Graphics Bugs (Pierpaolo Prazzoli)

Source Changes
hng64 improvments [Andrew Gardner]
- bbust2 now has 3d geometry.
- fixed improperly loaded ROMs in sams64* games.
- hacked 3d acknowledge in a slightly different manner. Sams64 games now show 3d.
- found the 'explicit palette' word in bbust2.  Colors are now correct Implemented what looks like a 'dynamic palette' bit. Fixes the colors in sams64 games, but not roadedge or buriki.

RSP DRC changes: [Aaron Giles]
- fixed misaligned 32-bit accesses
- disabled DRC_SQV implementation as it breaks music in mtetrisc

Converted RSP callbacks into device callbacks. Removed a ton of tag-based queries in favor of using the device passed. [Aaron Giles]

Added profiler_mark() calls around rdp_process_list() so that the RDP time is separated from the RSP time. [Aaron Giles]

Added more decrypted opcodes to cb2001. [robiza]

Added driver data struct to cave.c. [Fabio Priuli]

Changed inline_config to be allocated separately to avoid alignment issues. [Aaron Giles]

uPD7801 core changes: [Wilbert Pol]
- Fixed incorrect disassembly of some instructions.
- Updated the handling of interrupts to match the documentation.
- Implemented uPD7801 timers.
- Configured port A on the uPD7801 to an output port.

Removed the various HAS_xxxx for sound cores. To select sound cores, just choose them in the make system. Further granularity is not necessary. This also means that the samples core is always required. [Aaron Giles]

Base tilemap hook-up for cb2001. [Angelo Salese]

Fixed the gfx rom loading for Race Drivin' Panorama [David Haywood]

Vs. Net Soccer improvements:
- Emulated DMA protection for startup-checks [Olivier Galibert]
- Fixed Data ROM loading, game now boots [David Haywood]
- Marked Sprite + Sound ROMs as BAD_DUMP [David Haywood]

Converted the goldstar, liberate, sidearms and sidepckt drivers to use driver_data [Atari Ace]

Makefile changes: [Aaron Giles]
- Removed CPP_COMPILE flag; all code is now compiled as C++ except for zlib and expat
- Mapped INLINE to "static inline" since C++ has real inlining
- Added new 'default' make target which just builds the emulator. Use 'make tools' to build the tools, or 'make all' to build the whole thing.
- 64-bit builds now get a '64' suffix on them.
- Removed UNICODE flag from Windows; UNICODE is always enabled now.
- If OSD is not defined, we look for the built-in Windows environment variable 'OS' and if it is set to 'Windows_NT', we assume OSD=windows; otherwise we assume OSD=sdl.
- If TARGETOS is not defined, we look for the same variable and set TARGETOS=win32 if it is set to 'Windows_NT'.
- Windows SDL builds have an 'sdl' prefix on the executable so they can live side-by-side.
- Added cheesy auto-detection of 64-bit Windows builds (based on the PATH including 'mingw64-w64')

Removed hacks surrounding unicode handling in main(). They are no longer necessary with the new tools. [Aaron Giles]

Fixed typo in 8-bit eeprom case that broke operation in some games. [Aaron Giles]

Fixed x86 DRC backend codegen bug that broke kinst. [Aaron Giles]

Got rid of setjmp/longjmp for error handling in favor of exceptions. Fatalerror now maps to throwing an exception. [Aaron Giles]

[PIT8253] Update PIT counter even if there was no elapsed cycles (this only affects fast drivers like at586 in MESS). [Miodrag Milanovic]

Fixed a bunch of minor quirks, and fixed gfxs in the dwarfd driver. [Angelo Salese]

Changed berlwall, arkanoid, bakubrkr, mgcrystl to use YM2149. [Corrado Tomaselli]

Verified and corrected clocks in halleys and exctsccr. [Corrado Tomaselli]

Add support for Mahjong panel for mjgtaste. Makes this the default input and alters the default eeprom accordingly to match factory default. Note that you need to change both the game and the controller setting from the driver configuration when switching input sources since the two are mutually exclusive. [PsikyoFan]

Fix zeroize protection simulation in lieu of proper dongle dump. [Bryan McPhail]

Adds missing sample rom to Gals Panic 4 (Korea) [Brian Troha, Dumping Union]

misc Konami wip: [Fabio Priuli]
* moved a few routines (used for sorting graphics layers) to konicdev.c since they are shared by several drivers
* added driver data struct to ajax.c and aliens.c
* added driver data struct + save states to: asterix.c, bishi.c, blockhl.c, bottom9.c, chqflag.c, crimfght.c, dbz.c, gbusters.c, gijoe.c, lethal.c, mainevt.c, moo.c, overdriv.c, parodius.c, rollerg.c, rungun.c, simpsons.c, spy.c, surpratk.c, tail2nos.c, thunderx.c, tmnt.c, ultraman.c, vendetta.c, xexex.c and xmen.c
* updated some Konami drivers above to separately allocate palette/extra/work RAM instead of appending them to maincpu ROM; also, reduced maincpu rom regions where appropriate
* replaced memory_set_bankptr with memory_set_bank where necessary
* added driver data struct & save states to gradius3.c

Converted taitosnd (aka tc0140syt) to be a device and updated the related drivers to use the new code. [Fabio Priuli]

Replaced all occurrences of cputag_get_cpu with devtag_get_device: the former function was just an alias and now cpus are no different from other devices. Also removed cputag_get_cpu and cputag_reset (another alias, not even used in the source) from cpuexec.h. [Fabio Priuli]

Fixed knights rom labels [Dlfrsilver]

Metal Maniax improvements [Phil Bennett/luigi30]
* Fixed frame buffer display
* Started to add the other CPUs
* Added PCB layouts for layers 1 and 2
* Hooked up TMS34020
* Started to implement the ADSP-2105 network CPU and the CAGE audio system [Phil Bennett]

Added some missing header declarations and static qualifiers. Added validity.h to the core for consistency as well as an explicit foo.h in each foo.c. [Atari Ace]

Added driver data struct to taitoair.c and taito_b.c. [Fabio Priuli]

VIA6522: Refactored interface to use READ/WRITE_LINE. [Curt Coder]

Cyber Tank improvements: [Angelo Salese]
* Fixed bitplane order
* Decoded sprite gfx format
* Hooked up the two bg tilemaps
* Wrote bare-bones video emulation for the Cyber Tank sprite chip / blitter
* Added video boundary checks for the blitter

The starting value for an output port is now the default value, which is based on whether it is active high or low. So the device will be called the first time the line becomes active. Changed the eeprom device to assume that the reset and clock are cleared until it's told otherwise. [smf]

Added driver data struct to taito_l.c & opwolf.c. [Fabio Priuli]

Added driver data struct + save states to asuka.c (cadash was not supporting saves), rainbow.c, rastan.c, taito_f2.c, taito_h.c, taito_o.c, taito_z.c, topspeed.c & volfied.c. [Fabio Priuli]

Renamed mamecore.h -> emucore.h. [Aaron Giles]

New C++-aware memory manager: [Aaron Giles]

  This is a simple manager that allows you to add any type of object to a resource pool. Most commonly, allocated objects are added, and so a set of allocation macros is provided to allow you to manage objects in a particular pool:

    pool_alloc(p, t) = allocate object of type 't' and add to pool 'p'
    pool_alloc_clear(p, t) = same as above, but clear the memory first
    pool_alloc_array(p, t, c) = allocate an array of 'c' objects of type 't' and add to pool 'p'
    pool_alloc_array_clear(p, t, c) = same, but with clearing
    pool_free(p, v) = free object 'v' and remove it from the pool

  Note that pool_alloc[_clear] is roughly equivalent to "new t" and pool_alloc_array[_clear] is roughly equivalent to "new t[c]". Also note that pool_free works for single objects and arrays.

  There is a single global_resource_pool defined which should be used for any global allocations. It has equivalent macros to the pool_* macros above that automatically target the global pool.

  In addition, the memory module defines global new/delete overrides that access file and line number parameters so that allocations can be tracked. Currently this tracking is only done if MAME_DEBUG is enabled. In debug builds, any unfreed memory will be printed at the end of the session.

  emualloc.h also has #defines to disable malloc/free/realloc/calloc. Since emualloc.h is included by emucore.h, this means pretty much all code within the emulator is forced to use the new allocators. Although straight new/delete do work, their use is discouraged, as any allocations made with them will not be tracked.

  Changed the familar auto_alloc_* macros to map to the resource pool model described above. The running_machine is now a class and contains a resource pool which is automatically destructed upon deletion. If you are a driver writer, all your allocations should be done with auto_alloc_*.

  Changed all drivers and files in the core using malloc/realloc or the old alloc_*_or_die macros to use (preferably) the auto_alloc_* macros instead, or the global_alloc_* macros if necessary.

  Added simple C++ wrappers for astring and bitmap_t, as these need proper constructors/destructors to be used for auto_alloc_astring and auto_alloc_bitmap.

  Removed references to the winalloc prefix file. Most of its functionality has moved into the core, save for the guard page allocations, which are now implemented in osd_alloc and osd_free.

Added driver data struct + save states to darius.c & othunder.c. [Fabio Priuli]

Added driver data struct to ninjaw.c, slapshot.c, warriorb.c, wgp.c. [Fabio Priuli]

Extended the astring class wrapper into something useful, and useable as a stack object. Also designed the interfaces to allow for chaining operations. And added a casting operator to const char * for seamless use in most functions that take plain old C strings. [Aaron Giles]

Changed all uses of astring to use the object directly on the stack or embedded in objects instead of explicitly allocating and deallocating it. Removed a lot of annoying memory management code as a result. [Aaron Giles]

Changed interfaces that accepted/returned an astring * to use an astring & instead. [Aaron Giles]

Removed auto_alloc_astring(machine). Use auto_alloc(machine, astring) instead. [Aaron Giles]

Major header file cleanup: [Aaron Giles]
- Created new central header "emu.h"; this should be included by pretty much any driver or device as the first include. This file in turn includes pretty much everything a driver or device will need, minus any other devices it references. Note that emu.h should *never* be included by another header file.
- Updated all files in the core (src/emu) to use emu.h.
- Removed a ton of redundant and poorly-tracked header includes from within other header files.
- Temporarily changed driver.h to map to emu.h until we update files outside of the core.

Added class wrapper around tagmap so it can be directly included and accessed within objects that need it. Updated all users to embed tagmap objects and changed them to call through the class. [Aaron Giles]

Added nicer functions for finding devices, ports, and regions in a machine: [Aaron Giles]

   machine->device("tag") -- return the named device, or NULL
   machine->port("tag") -- return the named port, or NULL
   machine->region("tag") -- return the named region

(Note that machine->region() returns a pointer to a region_info class which describes a region, not a pointer to the region's memory.)

Made the device tag an astring. This required touching a lot of code that printed the device to explicitly fetch the C-string from it. (Thank you gcc for flagging that issue!) [Aaron Giles]

Added a PCM sample end/loop callback to the RF5C68 core [Barry Rodewald]

galaxold update: [stephh]
- Renamed set kkgalax to ckongmc
- Changed descriptions for ckongg and ckongmc
- Fixed dip switches and inputs for ckongg and ckongmc
- Updated ckongmc memory map

Added the mameconfig version to the -listxml output [Oliver Stoneberg]

Implemented inputs and sound in Gunpey [Luca Elia]

Added new member function space() to the device_config, along with shorter constants to be used (AS_PROGRAM, AS_DATA, AS_IO). With no parameters, space() returns the first address space, which is commonly the only space present. Updated a few devices that referenced the old space[] array to call the new function instead. [Aaron Giles]

Implemented basic blitter support in Gunpey [Tomasz Slanina]

Converted Gunpey to use RGB pens instead of hardcoded palette table [Angelo Salese]

Enforce that numbers are all the same exact width when loading fonts. [Aaron Giles]

Fixed a bogus protection check in Victor 21 [Angelo Salese]

Fix assert for prmrsocr + clones - no whatsnew needed [Fabio Priuli]

Redumped program and sprite roms in Cyber Tank [Antonio Gonzalez Jr.]

Added a mostly-complete SunPlus u'nSP core based on the one in Segher's "Unununium". [Harmony]

Add lots of comments relating to 56-pin Mahjong interface and Psikyo SK-G001 interface pcb based on discussion with alien_mame and documents from other Mahjong PCBs. [PsikyoFan]

Verified clocks on Poker Ladies and changed Z80 clock of Mahjong Gakuen from 6Mhz to 8MHz to match the other Mitchell hardware games [Corrado Tomaselli]

i386: Improved accuracy of the various emulated models, makes CPU detection programs detect the correct CPU (in MESS). [Dirk Best]
- eflags mask added
- Initial values for the EAX and EDX registers fixed
- cpuid values improved
- feature flags improved
- initial value for the cr0 register improved
- changed 486 to not support the cpuid instruction by default
- take a trap on invalid instructions instead of throwing a fatalerror
- emulated the undefined flag behavior for the DIV/IDIV instructions on Intel CPUs

SDLMAME: improved OS X and SDL 1.3 SVN support, try to autodetect SDLMAME targets [Couriersud]

SDLMAME: add BGRA support to -video soft [couriersud]

Fixed period for both sn76489 and sn76489A periodic noise; fixes pitch in 'smooth criminal' demo for colecovision and fixes pitch (but not the waveform, which will require more work) of music in dorunrun; More work is required before the code will be bit accurate due to the way the real LFSR and periodic generator work. [Lord Nightmare, Kold666, PlgDavid]

SDLMAME makefile improvements: [couriersud]
- Fix TARGETOS detection on OS X.
- Do not try to check TARGETOS when cross-compiling
- For non-windows targets, try to auto-detect PTR64
- testkeys now builds again
- for unix targets, added a depend rule to sdl.mak which builds a .depend file.

Fixed a number of compiler bugs found by PowerPC MacOS X. [R. Belmont]

Added casting operators to the region_info class so you can assign a region to a generic type pointer and have it automatically convert. Also added a bytes() method which is safe if the region is NULL (useful for saying machine->region("foo")->bytes() and not crashing if foo doesn't exist). [Aaron Giles]

Changed the region field in the device_config to be a region_info *, and removed the regionbytes field. Updated all users of these fields to use the new casting operators and bytes() methods instead. [Aaron Giles]

Added subdevice and subregion methods to the device_config class, so you can easily query for devices and regions that are device-specific. The device prefix ("devicename:") is automatically prepended. [Aaron Giles]

YM2612: More accurate LFO implementation and channel clipping [Eke-Eke, Nemesis, R. Belmont]

New games added or promoted from NOT_WORKING status
Second Chance [Siftware]
Multi Game (Tung Sheng Electronics) [Mariusz Wojcieszek]

New clones added
Exciting Soccer (Japan set 2) [Corrado Tomaselli]
Super Bar [Brian Troha, David Haywood, Dumping Union]
Mega Blast (US) [D. Beneke, hap, Smitdogg, Dumping Union]

New games marked as GAME_NOT_WORKING
Fun Station Spielekoffer 9 Spiele [Tomasz Slanina]
Vega [David Haywood]
Monza GP [Tomasz Slanina]
Quarter Horse [Ruben Panossian, Angelo Salese]
Vortex [tormod, Team Europe, Smitdogg, The Dumping Union]
Bega's Battle [Angelo Salese]
Computer Quiz Atama no Taisou [Chack'n, Team Japump]
Track & Field (NZ Bootleg?) [Siftware, Tafoid]


MAMETesters Bugs Fixed
- 03667: [Interface] All default/per-game .cfg files are not saved correctly (Aaron Giles)
- 03671: [Sound] fcrash: Bad sound ingame (Mamesick)
- 03663: [Graphics] tgm2, tgm2p: The warning boot screen has a black background which should be blue.

Source Changes
Replaced vsnetscr GFX ROMs with correct dumps [Team Japump, Dumping Union]

Fixed memory allocation issue in debug builds. [Aaron Giles]

Added makefile autotest for BIGENDIAN. A bit hacked, though. [couriersud]

Redumped sound roms in Cyber Tank [Antonio Gonzalez Jr., Dumping Union]

psikyosh improvements: [PsikyoFan]
* Add support for per-scanline scroll/zoom and per-column effects. This is adds a significant performance penalty when enabled. Removed warning flag from s1945ii and s1945iii. s1945iii needs confirmation of correctness and x-zoom is a guess.
* Virtually completed video rendering. Only flipscreen missing (and conversion to tilemaps one day). Per-line effects now respect per-line alpha, priority and bank. As a result daraku text works without any hacks.
* Added various optimisations to get back all games to a playable speed.
* Fixed missing soldivid effect on final boss that was broken due to above daraku hack.
* Added accurate scaling effects based on measurements from hardware.

cybertnk improvements: [Angelo Salese]
* Fixed sprite height
* Implemented flip x and negative y offsets
* Implemented preliminary zooming

sdl.mak rewrite [couriersud]
- TARGETOS=freebsd may now be given on make invocation
- modular approach, separate sections for opengl, x11, debugger
- most target specific settings parametrized.
- Added GTL_INSTLL_ROOT to optionally build win32 with the mame debugger.
- On targets supporting "-m64" and "-m32" use them.
- On unix ppc targets, add -Dpowerpc automatically

Improved stack walking on crash in Windows. Now using StackWalk64 to do the stack walk, resulting in cleaner logs. Also will try to use system function to look up symbol and source/line information if present. [Aaron Giles]

Improvements to subsino.c [Roberto Fresca]
- Lowered CPU clock to 1.5 MHz.
- Reworked former inputs.
- Added specific game and technical notes.
- Added lamps support.
- Cleaned-up a bit the driver.

Victor 5:
- Mapped the M6295 but commented out due to missing sample roms.
- Added keyin, keyout, payout, stats and settings inputs.
- Added coin/keyin/keyout counters.
- Limited the bet and coin pulses to avoid repeats and coin jams.
- Added complete coinage and keyin DIP switches.
- Added main game and double-up rates DIP switches.
- Added minimum bet DIP switches.
- Added maximum bet DIP switches.
- Added attract music DIP switch.
- Added button-lamps layout.

Victor 21:
- Mapped the M6295 but commented out due to missing sample roms.
- Added bet x10, keyin, keyout, stats and settings inputs.
- Added coin/keyin/keyout/payout counters.
- Limited the bet and coin pulses to avoid repeats and coin jams.
- Added complete coinage and keyin DIP switches.
- Added main game rate DIP switches.
- Added minimum bet DIP switches.
- Added attract music DIP switch.
- Added button-lamps layout.

Poker Carnival (crsbingo):
- Added change card, keyin, keyout, stats and settings inputs.
- Added coin/keyin/keyout/payout counters.
- Limited the bet and coin pulses to avoid repeats and coin jams.
- Added complete coinage and keyin DIP switches.
- Added double-up rate DIP switches.
- Added minimum bet DIP switches.
- Added maximum bet DIP switches.
- Added cards graphics DIP switches.
- Added double-up type DIP switches.
- Added button-lamps layout.

Super Rider, Super Moto:
- Added stats and settings inputs.
- Added coin counters.
- Added main game and double-up rates DIP switches.
- Added double-up and control type DIP switches.
- Added coinage and demo sounds DIP switches.
- Added button-lamps layout.

Shark Party:
- Added stats and settings inputs.
- Added coin counters.
- Added main game and double-up rates DIP switches.
- Added double-up, coinage and demo sounds DIP switches.
- Added button-lamps layout.

Created new template class tagged_list which manages a simple list along with a tagmap. Changed memory regions, input ports, and devices to use this class. For devices, converted typenext and classnext fields into methods which dynamically search for the next item. Changed a number of macros to use the features of the class, removing the need for a bunch of helper functions. [Aaron Giles]

Replaced device_find_child_by_tag() -> device->subdevice().

Added Am29000 CPU core [Phil Bennett]

Removed stdlib.h from osdcomm.h. [couriersud]
- Added #include stdlib.h where now necessary
- Fixed Solaris build
- Fixed building unidasm for OSD=sdl on win32

Tools now include stdlib.h where needed. [couriersud]

Changed core library files to use osd_malloc/osd_free where appropriate. [couriersud]

Added checkautodetect target to makefile. [couriersud]

Permit zlib and expat to be linked dynamically without changing the makefile by specifying "=0": make BUILD_ZLIB=0 BUILD_EXPAT=0 [couriersud]

Improved vsnet sprite/roz alignment [David Haywood]

Converted the following drivers to use a driver_data structure: [Atari Ace]
- bigstrkb, mugsmash, pass, sbugger, sderby, shadfrce, shootout, silkroad, spbactn, sslam, stlforce, taitojc, tunhunt, welltris, wwfsstar, xyonix
- 39in1, safarir, sbowling, shougi, skeetsht, skyarmy, sliver, spoker, spool99, srmp5, srmp6, ssingles, sstrangr, sub, supdrapo, superdq, supertnk, suprgolf

hng64 : Implemented low-res texture decoding.  All red/green polygons should now be textured. [Andrew Gardner]

Correct a long-standing design flaw: device configuration state is now separate from runtime device state: [Aaron Giles]

* There is a new class 'running_device' which represents the state of a live device. A list of these running_devices sits in machine->devicelist and is created when a running_machine is instantiated.

* To access the configuration state, use device->baseconfig() which returns a reference to the configuration.

* The list of running_devices in machine->devicelist has a 1:1 correspondance with the list of device configurations in machine->config->devicelist, and most navigation options work equally on either (scanning by class, type, etc.)

* For the most part, drivers will now deal with running_device objects instead of const device_config objects. In fact, in order to do this patch, I did the following global search & replace:

      const device_config -> running_device
      device->static_config -> device->baseconfig().static_config
      device->inline_config -> device->baseconfig().inline_config

    and then fixed up the compiler errors that fell out.

* Removed device_get_info_* functions and replaced them with methods called get_config_*.
* Added methods for get_runtime_* to access runtime state from the running_device.
* DEVICE_GET_INFO callbacks are only passed a device_config *. This means they have no access to the token or runtime state at all. For most cases this is fine.
* Added new DEVICE_GET_RUNTIME_INFO callback that is passed the running_device for accessing data that is live at runtime. In the future this will go away to make room for a cleaner mechanism.
* Cleaned up the handoff of memory regions from the memory subsystem to the devices.

Fix bug introduced with astring changes that caused malformed tokens when writing out cfg files. [Aaron Giles]

Fix bug where memory regions were not properly enumerated for the debugger memory view. Also, stop creating empty regions for disk regions. [Aaron Giles]

Added Guru(TM)-readme to trackfld. [Curt Coder]

Refactored the CIA 6526 interface, adding SP/CNT callbacks. Fixed serial transfer. [Curt Coder]

Convrted the rest of devintrf to classes and moved management functions into methods of those classes. The most wide-ranging change was converting device_reset() to device->reset(). Apart from that it was mostly internal shuffling in the core. [Aaron Giles]

Added OS/2 autodetect to makefile. [couriersud]

Autodetection of PTR64 can be inhibited now by specifying PTR64=0. On mixed 32bit/64bit targets identifying themselves as 64bit this can be used to build a 32bit executable. [couriersud]

Added OpenBSD support in makefile/sdl.mak. Fixed XBSD detection of PTR64 (uses amd64). [couriersud]

Fix bug that mistook a non-NULL token to mean that a device was started. Fixes -video ddraw issue. [Aaron Giles]

Replaced vsnes bank installs with RAM installs, since the banks were never changed. [Aaron Giles]

Exit from the unhandled exception filter cleanly now. Use SetErrorMode() to disable the appearance of dialog boxes when crashes occur. [Aaron Giles]

Fixed a typo in pgm.c that was causing a memory test error and corrected some comments [XingXing]

Made direct accessors for device configuration state. Currently they just call through to the get info function. Removed old macros that wrapped calls. [Aaron Giles]

Removed some aliases between CPUINFO_ and DEVINFO_ to help clarify usage. Also converted a few more places to use the new accessors. [Aaron Giles]

Replaced drgninja set with one dumped from a genuine Data East PCB [dlfrsilver]

Added MEC-M1 PCB layout to the dec0 driver and updated some clocks and ROM names [Guru]

hng64 : Partially decodes translation-only geometry type 0102. This makes the road appear in the racing games, the edge of the ring in buriki, and a hallway during the buriki attract. [Andrew Gardner]

The return of the "misc" [couriersud]
- Added sdlmisc_<targetos>.c again. This was necessary since certain tools create stubs for e.g. osd_break_into_debugger. If we do not have this in a separate file, the link stage may break.
- Applied OS/2 patch [Credit: KO Myung-Hun]
- Cleaned up #includes. Removed stdlib.h were possible.
- More malloc to osd_malloc rename.
- SDL monitor modes are read now when they are needed. This is now consistent across platforms.

GTK Debugger work [couriersud]
- glade-2 can now be used again to edit the debug.glade file.
- No more need to edit the files created by glade-2
- All "activate" handlers now pass the parent window pointer.
- malloc ==> osd_malloc to prevent mixed c++/c window allocations.
- Run to cursor (main view)
- In place memory editing (memory view)
- implement key handling (Up, down, ..) like in windows
- Tab and ESC not yet handled
- Functionality now matches win32 debugger
- Further code review/rewrite/simplification
- Added more comment headings
- fix a compile warning for gcc-4.4 (not detected by gcc-4.2)
- Horizontal divider bar to individually size views.
- minimum height aligned to win32 debugger

ARM: preliminary SA-1110 support [R. Belmont]

Verified all deco32 clocks and corrected HuC6280 clock following old Charles McDonald notes I had about internal divisor. Added a note on the Arm cpu used by this game: it's a Data East 101 custom [Corrado Tomaselli]

Changed the following games to use the 76489A variant (verified on my pcbs): Green Beret, Do Run Run, Mr.Do's Castle, Jail Break, Shaolin's Road, Yie Ar Kung-Fu [Corrado Tomaselli]

Fixed sn76489a periodic noise once again (and simplified a bit of code), now should be closer to or match real chips as sampled. Added true clock divider emulation, so emulation may be a bit slower. [Lord Nightmare, PlgDavid, Kold666]

Popmessages can now be used in drivers which have an MC6845. [Curt Coder]

Ensure that RAM and bitmaps are cleared when the ms32 driver is started to avoid 64-bit build crashes [David Haywood]

Converted HD63484 ACRTC to be device. [Fabio Priuli]

hng64 : Hacks the camera to work in sams64.  [Andrew Gardner]

Fixed crash issues with mchampdx [Fabio Priuli]

s14001a: updated comments; got rid of the squealing noise (hidden behind a #define now, code is still there) until some other issues can be resolved. [Lord Nightmare]

Dumped the proms in D-Day (Jaleco) [Chack'n, Team Japump]

Fixed background and sprites colors in D-Day (Jaleco) [Angelo Salese]

UI menu interface changes [couriersud]
- all ui functions now expect a render_container
- removed all macros referencing render_container_get_ui
- ui_menu_alloc now is passed a container to which to render the menu.

New games added or promoted from NOT_WORKING status
F-15 Strike Eagle (2 sets) [Phil Bennett]
Battle of the Solar System (rev. 1.1) [Phil Bennett]
Tank Battle (prototype rev. 4/21/92) [Phil Bennett]
Fortune I (PK485-S) Draw Poker [Jim Stolis]
Versus Net Soccer (5 sets) [David Haywood]
Island 2 (060529, banking address hack) [David Haywood]

New clones added
Insector X (Japan) [Gyrovision, Gatinho, Smitdogg, Dumping Union]
Viper Phase 1 =U.S.A= [Keven Eshbach, Dumping Union]
Cube Quest (12/30/83) [Bill K]

New games marked as GAME_NOT_WORKING
King Tut (Australia) [David Haywood]
Money Bank (Australia) [David Haywood]
Penguin Adventure (bootleg) [Mariusz Wojcieszek]
Quarter Horse Classic [Siftware, Mariusz Wojcieszek]
Pinkiri 8 [Gyrovision, Smitdogg, The Dumping Union]
Poker Ladies (Censored bootleg) [David Haywood]
Gundam Wing: Endless Duel (SNES bootleg) [N. Francfort, manliodp, Smitdogg, The Dumping Union]
Mortal Kombat 3 (bootleg of Megadrive version) [Patrick McCarron, Smitdogg, The Dumping Union]


MAMETesters Bugs Fixed
- 03724: [Speed] mrdo: Incorrect XTALs cause for problems with refresh rate and game speed. (Tafoid)
- 03706: [Sound] lastday, gulfstrm: Audio Regression (M.A.S.H.)
- 03704: [Sound] evilston: Missing sound (M.A.S.H.)
- 00993: [Crash/Freeze] sharrier: [debug] Crashes when a specific sample is being played during gameplay. (Phil Bennett)
- 03692: [Crash/Freeze] kurikint: Service Switch error (M.A.S.H.)

Source Changes
Fixed Dip Switches and Inputs (after verification of the Z80 code) for 'scramblb', 'scramb2', 'bagmanmc', 'dkongjrm', 'rockclim' (also updated memory map for this last game). [stephh]

am29k: fix PPC GCC compile error [R. Belmont]

Added Sega ID# for newly added version of INDY 500 and correct the spelling of attract. [Brian Troha]

minor information update for Viper 1 games in seibuspi.c. [Brian Troha]

Fixed disassembly of PDP1,TX0 and APEXC [Robbbert]

Fix immediate crash on startup of GTK debugger. [R. Belmont]

namcos11: use real C76 BIOS for audio and I/O [R. Belmont, Olivier Galibert, Guru]

Cleaned up comments refering to old driver names, and updated clone names in drivers from 0-K. [Tafoid]

[APEXC] 1. Added pseudo PC register for the debugger, it will now highlight the next instruction to be executed. 2. Added "normal" addresses to disassembler output, so anyone can see the program flow. [Robbbert]

Sega misc wip: [Fabio Priuli]
- split dependences of system16 games from bootleg ones
- moved some .h files to includes/
- removed some unneeded include
- removed some dead code
- added driver data struct to segahang.c, segaorun.c, segas16a.c, sega16b.c, segas18.c, segaxbd.c & segaybd.c
- added save states to segas16a.c

Fixed Dip Switches and Inputs (after verification of the Z80 code) for 'ozon1', 'ladybugg', 'vpool'. [stephh]

Added driver data struct to system 16/18 bootlegs and removed most unused code. [Fabio Priuli]

Implemented reels in Treasure Island (Subsino), same as goldstar.c [David Haywood]

Converted Sega 315-5248, 315-5249 and 315-5250 custom ICs to be devices and updated drivers accordingly. [Fabio Priuli]

[PDP1] Display the PC in hex as well as octal. [Robbbert]

Converted hornet.c to use the Konami 037122 device and removed the old code. [Fabio Priuli]

Converted gticlub.c, nwk-tr.c and zr107.c to use the Konami 001604 device and removed the old code. [Fabio Priuli]

carjmbre.c - Added XTAL, corrected second z80 speed and added DIP LOCATIONS for driver. [Tafoid]

Improvements to Treasure Island: [Roberto Fresca]
- Added proper inputs.
- Added coin/keyin/keyout/payout counters.
- Limited the bet and coin pulses to avoid repeats and coin jams.
- Added complete coinage and keyin DIP switches.
- Added main game and double-up rates DIP switches.
- Added minimum bet DIP switches.
- Added maximum bet DIP switches.
- Added main game and double-up limit DIP switches.
- Added payout mode and auto take DIP switches.
- Added DIP locations as seen in the settings mode.
- Added demo sounds DIP switch.
- Created proper button-lamps layout.
- Added technical notes.
- Some clean-ups...

Dumped IC1 from Giant Gram 2000 [Joerg Hartenberger]

Fixed bonus game gfxs in Treasure Island (Subsino) [Angelo Salese]

Fix os2 auto-detect [KO Myung-Hun]

Preliminary Panasonic MN10200 CPU core and Taito ZOOM ZSG-1 sound system [Olivier Galibert]

Document FPGA-provided "ic1" data in gram2000 [Joerg Hartenberger]

Implemented flip screen in Hanaroku [Angelo Salese]

Fixed video emulation in Best League (World Cup version) [Angelo Salese]

Fix DISTRO=gcc44-generic make shortcut to use gcc-4.4 properly (-V 4.4 does not work for linking) [couriersud]

Minor changes for internal render debugger [couriersud]
- ui_input_frame_update is now global
- moved element_component from rendlay.c to rendlay.h
- added ability to rendlay.c to define "container" components. These simply provide a render_container.

Added DEBUG_FLAG_OSD_ENABLED to allow coexistence of debuggers going forward. Replaced all occurrences of OPTION_DEBUG in src/osd/* by checking machine->debug_flags. Replaced all occurrences of DEBUG_FLAG_ENABLED in src/osd/* by DEBUG_FLAG_OSD_ENABLED For the time being, DEBUG_FLAG_OSD_ENABLED is default (set in mame.c). [couriersud]

Fixed Dip Switches and Inputs (after verification of the Z80 code) for 'bongo', 'porter'. [stephh]

Implemented Actel FPGA ID, used by some Naomi games for accessing a special ROM check mode [Deunan Knute, Angelo Salese]

Documentation update for Hotdog Storm, IE: The PCB ID number and tile map chip info. [Brian Troha]

Add and hook up ZOOM ZSG-2 skeleton [Olivier Galibert]

Doesn't do much at the moment, but the increase in documentation value is significant (we're documenting the sample compression format, for one thing).

New driver for Sigma B52 system. ACRTC implementation is a bit hacky due to its preliminary emulation status. [Roberto Fresca]

lethal.c - Verified clocks and vsync from orginal PCB [Corrado Tomaselli]

astrocorp.c update: [Luca Elia]
- Added frame buffer
- Fixed sprite list end, negative coordinates, wrap around
- Added battery backed RAM

adp.c: hooked up (with a hack) gfx rom in hd63484 memory map [robiza]

Hooked up coin input and start input in skattv. [robiza]

astrocde.c - Fixed the Bonus Life dipswitch for gorf and clones. It's state was inverted. [Tafoid]

[I8255] Clear output lines to 0 on write to mode register, and float input lines to 1. [Curt Coder]

Simplified/combined MAME and MESS code: [Miodrag Milanovic]
- Moved compatibility validation into MAME core from MESS.
- Made GAME_NO_SOUND check done on MESS too.
- Removed MESS dependent checks
- Renamed GAME_COMPUTER_MODIFIED to GAME_UNOFFICIAL to mark unofficial hardware modifications
- Removed GAME_COMPUTER it is distinct by IPT_KEYBOARD
- Added GAME_NO_SOUND_HW (to mark that there is no sound hardware) and marked drivers in dotrikun.c, minivadr.c and tgtpanic.c as such
- Removed GAME_SHARE_ROMS flag and commented old check for duplicate ROM entries
- Moved natural keyboard support from MESS to MAME
- Moved OSD file functions and clipboard access functions into OSD core
- Significantly reduced the number of new OSD functions needed by MESS [with couriersud]

Fixed Dip Switches and Inputs (after verification of the Z80 code) for 'tazzmang'. [stephh]

snes wip: [Fabio Priuli]
* added a couple of registers to snes_ppu struct
* moved color blending (background & subscreen color addition/subtraction) at the end of the drawing process.
* removed some unused (and not working anymore) debug code
* fixed the remaining debug functionalities
* moved colour struct to be another layer (simplifying some code)
* updated hires blending to work with two pixel at time.
* fixed clipmasks with hires modes

hng64 : Initial implementation of 0x10-sized palette pages for 3d objects. This makes most environment colors correct in sams64. [Andrew Gardner]

[VIA6522] Read port A/B only if some pins are inputs. [Curt Coder]

Fixed Dip Switches and Inputs (after verification of the Z80 code) for 'dambustr' and clones. [stephh]

Internal debugger using the mame rendering infrastructure [couriersud]
- added support for arbitrary number of containers for render_target
- added command-line parameter -debug_internal (-di) to use the internal debugger when in debug mode
- internal debugger supports all views except memory view
- added "Debug" view to layout/vertical.lay to create more place for debug views in vertical games.

NOTE: The colors are ugly. Font rendering needs improvement. There are no shortcut keys right now. There is still a lot of room for more improvements. However, it works and does not depend on any ui toolkit. The interface has been designed to support displaying views programmatically e.g. from the ui.

Short HowTo:
  - Start MAME with "-debug -di"
  - Console, register and disasm views will be shown. Place them by dragging the view on the title bar.
  - Views can be resized by dragging the bottom-right yellow square.
  - The view having the focus has a green background title bar.
  - Hit "Tab" (IPT_UI_CONFIGURE) to show the menu.
  - Console and disasm views support a very simple facility to support entering commands and addresses. Just start typing. Hit "enter" when finished.

irobot.c - Added XTAL values from manual and hooked up to driver for main/sound CPU.  [Phil Bennett/Tafoid]

rungun: fix text tilemap lookup for big-endian targets. [R. Belmont]

Added Intel 8021/8022 CPU types. [Curt Coder]

irobot.c - Added/verified Dip Locations per manual and test mode. [Tafoid]

Workaround for gcc-4.3 reporting a false warning on solaris: disable
-Werror for this file only. [couriersud]

Cleaned up SDL OSD functions after merging in code from MESS. [couriersud]

wrally.c - Added/verified DIP Locations for World Rally [Guru]

Fixed long-standing (day one?) bug with ADPCM samples in Trojan / Tatakai no Banka [Mamesick, Angelo Salese]

Fixed Dip Switches and Inputs (after verification of the Z80 code) for 'espial', 'espialu' and 'netwars". [stephh]

Got Mortal Kombat 3 (bootleg of Megadrive version) to boot. Still missing some key inputs. [Mariusz Wojcieszek]

New games added or promoted from NOT_WORKING status
Midnight Resistance (bootleg with 68705) [IQ_132]
Sexy Boom [Mariusz Wojcieszek]
Treasure Island (Subsino) [Team Europe, Dumping Union, Angelo Salese, David Haywood, Roberto Fresca]
Ghost Chaser Densei (SNES bootleg) [Tomasz Slanina, XingXing]
Skill Drop Georgia [Luca Elia, Smitdogg, Brian Troha, The Dumping Union]
Logic Pro Adventure [Guru, D. Beneke, snoopy, pongplaya, W. Belk, hap, S. S. Neilson, JacKc, The Dumping Union]
Pachifever [Tomasz Slanina]

New clones added
INDY 500 Twin (Revision A, Newer) [Brian Troha, Dumping Union]
Fantastic Journey (ver AAA) [Tirino73]
Name That Tune (3-23-86) [Kevin Eshbach]
E.D.F. : Earth Defense Force (bootleg) [Team Europe, Rene Single, Dumping Union] - not working
Out Zone (set 5) [Corrado Tomaselli]
Ghosts'n Goblins (World? set 3) [Corrado Tomaselli]
Bagman (bootleg on Crazy Kong hardware) [Team Europe & Volker Hahn] - not working
Magical Tonic / Magical Odds? [David Haywood] - not working
Spiders (set 3) [Team Europe]
Raiden (US, SEI8904 + SEI9008 PCBs) [tormod, Smitdogg, The Dumping Union, David Haywood]
Asterix (ver AAD) [Luis "Datasat"]
Pang! 3 (Euro 950601) [Gerald (COY), B. Sparks, Smitdogg, The Dumping Union]

New games marked as GAME_NOT_WORKING
Mr. Kicker [krick, MrGoodwraith, Smitdogg, The Dumping Union]
Crackin' DJ [Guru, R. Belmont]
Joker's Wild (B52 system, set 1) [Roberto Fresca, Tomasz Slanina, Gerald Vanderick]
Joker's Wild (B52 system, set 2) [Roberto Fresca, Tomasz Slanina]
Joker's Wild (B52 system, Harrah's GFX) [Roberto Fresca, Tomasz Slanina, Gerald Vanderick]


MAMETesters Bugs Fixed
- 03268: [Save/Restore] All sets in galaga.c: Problem with Savestates (couriersud)
- 03698: [Compiling] NOWERROR=1 casues -fno-strict-aliasing to be dropped (couriersud)
- 03749: [Crash/Freeze] All sets in micro3d.c : [debug] Assert in debug build (couriersud)
- 03746: [Core] [debug] Overloaded C++ operator new/operator delete is too restrictive (couriersud)
- 03748: [Documentation] ncv1, ncv2 and clones: Namco 'Classics' Collection description incorrect (Tafoid)
- 03634: [Graphics] quantum: Draws wrong lines (MathisRosenhauer)
- 03739: [Crash/Freeze] backgamn: Access Violation after OK (Fabio Priuli)
- 03249: [Misc.] motoxgo, timecrs2b: H8/3xx: Unknown opcode (PC=2) 100 (R. Belmont)
- 03740: [Crash/Freeze] atomicp, snapper: Duplicate save state entry (Tafoid)
- 03699: [Crash/Freeze] masterw: Game freezes (Fabio Priuli)
- 03697: [Misc.] bigrun: Missing gfx and terrible music (Mamesick)
- 02960: [Graphics] speglsht: Regression in Super Eagle Shot, looping broken attract mode (Mamesick)
- 03034: [DIP/Input] scross, scrossu: Control Issues (M.A.S.H.)
- 03731: [DIP/Input] ixion: Unable to rotate cannon clockwise (M.A.S.H.)
- 03727: [Misc.] spiders: Source typo in discrete sound system (M.A.S.H.)

Source Changes
Removed window config from video_config [couriersud]

Mapped player 2 inputs and buttons 4-6 in Mortal Kombat 3 (bootleg of Megadrive version) [Mariusz Wojcieszek].

{megadriv} Fixed compile by removing "static" [Miodrag Milanovic]

Moved global new/delete operators into inlines in emualloc.h to avoid link errors with certain architectures. [couriersud]

Some minor cleanup/normalizing of emualloc in general. [Aaron Giles]

namcops2 updates [Guru]
* Moved Kinnikuman Muscle Grand Prix and Taiko No Tatsujin 9 to System 256
* Added DVD images for netchu02, soulcl2a, tekken4b, tekken51, sukuinuf, and soulclb3

Fixed TI PSG (sn76489 and friends) noise and square-wave period to be maximum length when period register is set to 0. Fixed white-noise phase/XOR issue: got rid of noise XOR/XNOR select, as all chips seem to use XOR. [Lord Nightmare, Michael Zapf, PlgDavid]

Preliminary DIP coverage (lives/coinage/test mode) and Player 2 control fix for unclepoo. [Tafoid]

Implemented Z80-DMA interrupts. [Curt Coder]

Fixed a bug in emu/sound/disc_mth.c. This affected spiders.c fire sound. [MASH]

Minor fix to sn76489: sn76489 wasn't using the correct noise taps (now matches sn94624, still need to test a real chip) Removed a piece of useless code, and fixed a comment. [Lord Nightmare]

ui.c,ui.h,windows/input.c: [Miodrag Milanovic]
* removed ui_use_new_ui check used by MESS code
* moved ui_mess_handler_ingame call in proper place, so device UI callbacks works again
* removed toggle of menu bar (MESS related)

info.c: Moved print_game_categories into info.c, since it can be used by any driver anyway. [Miodrag Milanovic]

Fresh driver notes added for unclepoo based analysis of the Z80 code. [Stephh]

k051649.c: fixed bogus for loop in device reset [Fabio Priuli]

z80ctc: Fixed Z80CTC read handler [Tim Schuerewegen]

Complete rewrite of the Z80-PIO implementation. The handshaking signals are now more accurately emulated. As a result, the Merit Megatouch games are no longer working since they relied on the earlier incorrect behavior. [Curt Coder]

attckufo: Imported MOS6560 device emulation from MESS and removed the existent custom audio/video emulation [Fabio Priuli]

Corrected visible area and timer speeds to make the fix up some audio/video problems. [Angelo Salese]

Preliminary merging of hexa.c into the arkanoid.c driver. [Tafoid]

meritm.c: Added scanline timer-based vblank interrupt to work around the broken V9938 interrupts. Megatouch games are now working again. [Curt Coder]

zaxxon.c: Fixed Ixion (prototype) inputs [MASH]

i386: Small fix for the i386 core, correcting the LLDT instruction. This fix sets up the LDTR base and limit values correctly, fixing use of the LDT. [Barry Rodewald]

Implemented proper irq ack to the deniam.c driver [Angelo Salese]

Implemented irq ack to Big 10 [Angelo Salese]

Implemented irq ack to Aeroboto / Formation Z [Angelo Salese]

segas32.c: Fixed Stadium Cross inputs [MASH]

hexa: merged the remaining code into arkanoid.c [Fabio Priuli]

skyfox.c: added driver data struct and save states [Fabio Priuli]

Hooked up bare bones z180 communication CPU in Cadash [Angelo Salese]

Make mips register names accessible in the debugger expressions [Olivier Galibert]

Some improvements to Lucky Girl (New HW) [Angelo Salese]

Fixed a bug in debugint.c: Actually make Del and BS delete the last character. [sz72]

Added driver_data struct and save states to the following drivers: lkage.c, lockon.c & lsasquad.c. [Fabio Priuli]

Added save states to liberate.c. [Fabio Priuli]

Moved ins8154 emulation from MESS to MAME, needed by future drivers. [Dirk Best]

H8: fix stack trashing when simultaneous IRQ sources asserted [R. Belmont]

namcos23 update: [R. Belmont, Olivier Galibert]
* motoxgo and timecrs2 are now able to sync up and communicate with the emulated JVS I/O board
* Fixed all games to run VBL toggle
* Documented data and point ROM checks for future use

es5506.c: added save state to both ES5505 and ES5506 [Fabio Priuli]

added driver_data struct and save states to the following drivers: attckufo.c, m79amb.c, macrossp.c, marinedt.c, markham.c, mayumi.c and mcatadv.c. [Fabio Priuli]

Added driver_data struct and save states to the following drivers: madmotor.c, mazerbla.c, mikie.c, mjsister.c, mogura.c, mole.c and momoko.c. [Fabio Priuli]

namcos23: Panic Park uses the motoxgo I/O board, now it syncs too [R. Belmont]

namcos23 update: improved "Gorgon" h/w support [R. Belmont]

Added driver_data struct and save states to the following drivers: megazone.c, meijinsn.c and mermaid.c. [Fabio Priuli]

namcos23: improved documentation, fixed a few POST fails [R. Belmont]

exerion, exeriont, exerionb (exerion.c driver) : [stephh]
* Fixed Dip Switches and Inputs (after verification of the Z80 code)

namcos23 updates: [R. Belmont]
* Documented clocks and syncs measured by Guru
* Added Gorgon JVS I/O board.  Final Furlong now gets farther

H8: add bild and bist opcodes [R. Belmont]

namcos23: added nvram for Gorgon.  finlflng gets farther. [R. Belmont]

ins8154: Updated to use devcb calls, cleaned up. [Dirk Best]

Namco Super System 23: Add a whole bunch of ram, chips and data roms mappings [O. Galibert, R. Belmont]

Changed Tecmo World Cup 90 main z80 cpus to 8mhz and vsync to 59.17hz / Hard Head sound z80 to 3mhz and vsync to 59.10hz to match original PCB readings. [Corrado Tomaselli]

Fixed inverted buttons 1 and 2 on f1gp, f1gp2 and Super Formula.  They are Jamma standards boards: brake button is wired to pin 22 and acceleration button to pin 23 which are respectively button 1 and 2 in a jamma standard pinout. [Corrado Tomaselli]

Added driver_data struct and save states to the following drivers: matmania.c, metlclsh.c, mexico86.c, mouser.c, mrflea.c, mrjong.c, munchmo.c and mwarr.c. [Fabio Priuli]

Added driver_data struct to the following drivers: mgolf.c, minivadr.c, mosaic.c and mrdo.c. [Fabio Priuli]

Enabled save states to mugsmash.c (everything was already saved) [Fabio Priuli]

hng64: Added sub-page texture indexing.  Fixes many texture lookups in roadedge and xrally.  [Andrew Gardner]

Added driver_data struct and save states to the following drivers: news.c, nightgal.c and nycaptor.c. [Fabio Priuli]

Added driver_data struct to the following drivers: nitedrvr.c and nmg5.c. [Fabio Priuli]

enabled save flag in othunder.c (everything is properly saved, but it seems I forgot about this driver when I device-fied Taito video chips) [Fabio Priuli]

pic8259: replaced pic8259_set_irq_line with pic8259_irX_w write line handlers. [Dirk Best]

pic8259: updated to use devcb calls. [Dirk Best]

Improved gfxs in Lucky Girl (New version) [David Haywood]

Implemented device version of the deco16ic tilemap chip [Fabio Priuli]

Converted backfire.c, boogwing.c, dietgo.c, mirage.c, pktgaldx.c, simpl156.c, supbtime.c, tumblep.c to use the device-fied video chips [Fabio Priuli]

Added driver data struct and save states to the following drivers: dietgo.c, mirage.c, pktgaldx.c, supbtime.c and tumblep.c [Fabio Priuli]

hng64 : More accurately emulated intrinsic camera matrix. [Andrew Gardner]

Changed all driver_data structs into classes with a simple constructor and a static allocation function. [Aaron Giles]

Changed MDRV_DRIVER_DATA to reference driver_data::alloc instead of just providing a size. This function is called to allocate the driver data. This allows objects to be embedded in the state data and be properly initialized. [Aaron Giles]

Moved driver data allocation after device list construction so that devices can be found when the driver data is constructed. [Aaron Giles]

wardner, wardnerj, pyros (wardner.c driver) : [stephh]
* Fixed Dip Switches and Inputs (after verification of the Z80 code)

Converted cbuster.c, cninja.c, dassault.c, funkyjet.c, rohga.c and vaportra.c to use device versions of the deco16 video chips [Fabio Priuli]

Made deco32.c independent of deco16ic.c (it only needed a drawing routine) and removed deco16ic.c now that it is not needed anymore [Fabio Priuli]

avgdvg: Fixed mametesters bug 03634. Reduced flickering in Tempest/Quantum. [Mathis Rosenhauer]

pit8253: Updated to use devcb calls, cleanups. [Dirk Bst]

Renamed decodev->deco16ic [Fabio Priuli]

Added driver data class to funkyjet.c [Fabio Priuli]

Added driver data class and save states to vaportra.c and tumbleb.c [Fabio Priuli]

Added driver_data class and save states to the following drivers: backfire.c, boogwing.c, cbuster.c, cninja.c, dassault.c, dblewing.c, deco156.c, rohga.c, simpl156.c [Fabio Priuli]

twincobr, twincobru, ktiger, gulfwar2 (twincobr.c driver) : [stephh]
* Fixed Dip Switches and Inputs (after verification of the M68000 and Z80 code)

fshark, skyshark, hishouza, fsharkbt (twincobr.c driver) : [stephh]
* Fixed Dip Switches and Inputs (after verification of the M68000 code)

Corrected default assignment of F10 as the default throttle on/off key for MAME.  The #ifdef MESS is needed here due to it's unique old/new UI setup.  [Miodrag Milanovic]

Naomi updates: [R. Belmont, David Haywood, Andreas Naive, Deunan Knute, Guru, ANY]
* Fix ROM mirroring in gram2000 and friends
* Preliminary hookup of live decryption.  Decryption + decompression is not yet supported so some games still load trojaned data instead.

naomi: Fixed decrypt method 2, added many more game keys [Deunan Knute, R. Belmont]

namcos23.c: Add comments about the irq testing code [O. Galibert]

Tidied up includes in a number of files in src/osd/sdl. [couriersud]

Hook up vblank and just enough controls to pass error screens [O. Galibert]

namcos23: get Gorgon games out of service mode, fix finlflng sound ROM loading [R. Belmont]

namcos23: comment the probable dips a tad better [O. Galibert]

Added driver_data class and save states to the following drivers: ohmygod.c, ojankohs.c and olibochu.c. [Fabio Priuli]

Added driver_data class and save states to the following drivers: oneshot.c, onetwo.c, orbit.c, othello.c and othldrby.c. [Fabio Priuli]

Added driver_data class to the following drivers: nemesis.c and nyny.c [Fabio Priuli]

Improvements to Funworld driver. [Roberto Fresca]
* Fixed Jolly Joker graphics and colors.
* Changed Jolly Joker description to Jolly Joker (98bet).
* Added a new croatian set of Jolly Joker with maximum bet = 40.
* Moved the hardware description and tech notes to the ROM_LOAD section.
* Added a external default NVRAM for Jolly Card Professional 2.0.
* Updated technical notes.

Implemented proper BIOS/Cart ROM bankswitch in the MACS driver, this improves program logic in Kisekae Mahjong [Angelo Salese]

Removed the coin latch kludge in the MACS driver [Angelo Salese]

snes.c: minor refactorization [Fabio Priuli]

namcos23: fix the data rom mappings [O. Galibert]

rallybik, truxton (toaplan1.c driver)  [stephh]:
* Fixed Dip Switches and Inputs (after verification of the M68000 and Z80 code)

snes.c: temporarily reverted implementation of mult/div through timers since it breaks some SNES games on the MESS side [Fabio Priuli]

namcos23: timecrs2c reaches the test mode [O. Galibert]

Fixed MT3698 (NOWERROR=1 casues -fno-strict-aliasing  to be dropped). [couriersud]

Fixed save state support in custom namco devices (50,51,53) and galaga.c. Also resolves MT03268: All sets in galaga.c: Problem with Savestates. [couriersud]

naomi: convert GD-ROM games to use real PIC dumps [David Haywood]

Add MAME-ified version of SoftFloat library [John R. Hauser]

Merged kingdrby.c and cowrace.c drivers [Angelo Salese]

namcos23: working inputs for TC2 test mode [R. Belmont]

namcos23: Document gun I/O boards [Guru]

hng64 : An initial implementation of hardware lighting. [Andrew Gardner]

zerowing, zerowing2 (toaplan1.c driver) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the M68000 and Z80 code)

namcos23: fix Time Crisis 2 coin input [R. Belmont]

New games added or promoted from NOT_WORKING status
Mortal Kombat 3 (bootleg of Megadrive version) [Mariusz Wojcieszek, Patrick McCarron, Smitdogg, The Dumping Union]
Bug Fever (5 sets) [Brian Troha, Dumping Union]
Uncle Poo [Team Europe, Dumping Union, Rene Single, David Haywood, Angelo Salese]
Champion Number [f205v, David Haywood, Angelo Salese]

New clones added
Pit Fighter (rev 9) [B. Sparks, Smitdogg, The Dumping Union]
Time Crisis 2 (TSS4 Ver.A, Super System 23) [Guru]
Pushman (Top Tronic license) [MrGoodwraith, Ren?\195?\169 Single, Smitdogg, The Dumping Union]
Blades of Steel (Version L) [R. Mucciarelli, Phil Bennett, Smitdogg, The Dumping Union]
Touchmaster 4000 (v6.03 Standard) [jeremymtc, Brian Troha, Smitdogg, The Dumping Union]
Alien Invasion [Andrew Welburn, Brian Troha, The Dumping Union]
Soul Calibur (SOC14/VER.B) [Guru]
Jolly Joker (40bet, croatian hack) [Roberto Fresca, Team Europe]
Touchmaster (v2.2-01 Standard) [S. Austin, Smitdogg, The Dumping Union]
Smash [Trevor Brown]
X-Men: Children of the Atom (Japan 950105) [Razoola]
Maya (set 1) [Team Europe, Dumping Union, Rene Single, David Haywood]
King Derby (Taiwan bootleg) [Team Europe, Dumping Union] (not working)
Cherry Master (Watermelon bootleg / hack) [William Ostronic]
Cherry Master (Fun USA v2.5 bootleg / hack) [William Ostronic]
Aracnis (bootleg of Scorpion on Moon Cresta hardware) [f205v]
The Pit (bootleg on Moon Quasar hardware) [Andrew Welburn, David Haywood]
Safari (set 2, bootleg?) [f205v]
Moon Cresta (Nichibutsu UK) [Andrew Welburn]
Armed Police Batrider (Taiwan Revision A) [Anonymous]

New games marked as GAME_NOT_WORKING
L.A. Machineguns [ANY]
The Ocean Hunter [ANY]
Royal Gum [Siftware]


IMPORTANT NOTE: As of this release of MAME, several important things about the system have changed. Please read the following items before attempting to compile this new version.

1. A new tool chain for Windows, based off of gcc 4.4.3 prerelease, is now REQUIRED. Go to http://mamedev.org/tools to get the new tools. The code included with 0.137 WILL NOT BUILD with the old tools. The new tool chain has support for building 64-bit MAME builds with gcc, as well as built-in DirectX headers, and C++ support, which was missing from the old tools.

2. Non-Unicode builds of Windows MAME are no longer supported. The options to turn this off in the makefile have been removed, and future changes are likely to solidify this requirement. If you are still (God forbid) running on Win9x, you will need the unicows.dll library to run MAME. Download unicows from Microsoft.

3. All code in MAME is now compiled as C++, plus there have been a few small changes that take advantage of the C++ language. For the most part, there is no effect on how drivers are written, except for some nicer accessors to devices and address spaces. Future improvements to take advantage of the C++ syntax will evolve slowly, and will be done internally. We are not interested in outside attempts to do this work for now.

4. The SDL OSD for MAME is now shipped as part of the main source package. SDL builds for Windows are now regularly built as part of the validation sequence for a new release. Thanks to R. Belmont, couriersud, and Olivier Galibert for their work on the SDL port over the years.

MAMETesters Bugs Fixed
- 03533: [Debugger] All 68020 cpu based drivers: 68020 disassembler bug: a 32-bit address displacement's upper 16-bit is desappear (R. Belmont)

Source Changes
snes.c: simplified drawing routines, added support for offset-per-tile, cleaned up the code [Fabio Priuli]

H8/3334: add analog input ports [R. Belmont]

snes.c: fixed remaining issues in hires modes [Fabio Priuli]

snes.c: fixed serial joystick reads [Fabio Priuli]

snes.c: slightly simplified palette handling [Fabio Priuli]

Re-dumped oceanhun CROMs 5-16 as 64Mb [ANY]

namcos23: Cleanups [O. Galibert]

namcos23: Add dips [O. Galibert]

snes.c: Added very preliminary driver_data class for snes based drivers (it only contains input-related items for the moment, because these are needed to add support for additional controller types in MESS) [Fabio Priuli]

snes.c: Fixed Offset-per-tile graphics [jbo_85]

snes.c: Fixed scrolling problems [Fabio Priuli]

namcos23: More cleanups [O. Galibert]

Implemented default EEPROMs to the following drivers [David Haywood]
* deco_mlc.c
* esd16.c
* gijoe.c
* konamigx.c
* moo.c
* mystwarr.c
* rabbit.c
* rungun.c
* tmnt.c
* vendetta.c
* xexex.c

Added support for the 'simple' rowscroll mode used by sams64_2 [David Haywood]

Fixed Z80 DMA ready signal handling. [Curt Coder]

namcos23 update: [R. Belmont, Guru]
* Updated Guru Readme
* More IRQ tests pass
* Gunmen Wars I/O board runs and syncs
* SH-2 shared RAM added for Gunmen Wars

Implemented default EEPROMs to Bubble Memories, Lethal Enforcers and Puzzle Time [David Haywood]

Implemented default EEPROMs for GTIClub, Hang Pilot, Asterix, X-Men and Polygonet Commanders [David Haywood]

Fixed the texture ROM loading/order in Wave Shark.  Textures look better now, and the ROM check passes [David Haywood]

namcos23: pass C422 IRQ test [R. Belmont]

Added ARDY/BRDY signal read handlers to Z80 PIO. [Curt Coder]

Implemented 'key matrix' inputs in King Derby (1986 version) [Angelo Salese]

namcos23 updates: [R. Belmont]
* Preliminary SH-2 hookup for GMEN games.  SH-2 boots and copies the loader to private RAM then jumps to it.  Transfer protocol for main program not yet understood.
* Final Furlong 2 has a GMEN board and camera; update it to use that subdriver.

Implemented sound to King Derby (1986 version) [Angelo Salese]

Implemented coins to King Derby (1986 version), game can be considered as working right now [Angelo Salese]

namcos23 updates: [R. Belmont]
* Hooked up start/coin/buttons for Gorgon
* Fixed Panic Park crash
* Enabled I/O board for timecrs2c so it can coin up
* Cleanup

SDL: fix Fortify-reported stack smash [Belegdol]

New driver for Five Clown, from IGS. This is a dual 6502 system with CRT controller, AY8910 and OKI M6295. Main program, graphics and sound samples are encrypted. [Roberto Fresca, Grull Osgo]
* Hooked both 6502 CPU's.
* Hooked the M6845 CRT.
* Decrypted main program and bulk GFX.
* Decoded GFX and color PROM.
* Hooked both PIA's 6821.
* Worked inputs from the scratch.
* Hooked DIP Switches banks 2 & 4.
* Hooked proper interrupts for audio CPU.
* Hooked the AY8910 latches...
* Hooked the OKI6295.
* Hooked DIP switches ports $C400 & $CC00.
* Found the sound samples decryption algorithm.
* Added NVRAM support.
* Added a complete PCB layout.
* Added game notes.
* Added technical notes.

z80sio: Added register access functions to prevent trampoline functions [Dirk Best]

Fixed debugger memdump command [Robbbert]

Improvements to the unkch1/4 sets [David Haywood]

Decrypted the color prom in King Derby (1986 version) [Angelo Salese]

Made device->tag and devconfig->tag into private member variables (m_tag). Added inline tag() function to return a const char * version. Updated callers to use this instead of directly accessing tag.cstr() which was awkward. [Aaron Giles]

snes.c: Fixed OAM overflow [jbo_85, Fabio Priuli]

Improvements to funworld.c driver. [Roberto Fresca]
* Added external default NVRAM support to the following games: bottle10, bottl10b, elephfam, elephfmb, jollycrd, jolyc3x3, jolyccra, jolyccrb, jolycdev, jolycdib, jolycdit, jolyjokr, jolyjokra, jolyjokrb, lluck3x3, lluck4x1, magicrd2, pool10, pool10b, pool10c, pool10d, potgame, royalcrd, royalcdb, sjcd2kx3, tortufam, vegasfst, vegasfte and vegasslw.
* Changed default settings for some games, now that NVRAM is loaded externally.

Confirmed and hooked up i/o ports in Magical Tonic / Odds, doesn't work due of nested NMI [Angelo Salese]

snes.c: refactored joypad inputs to be consistent with other input devices (used in MESS) [Fabio Priuli]

Implemented NMI enable flag in Lucky 8 Lines and Magical Odds, fixes logic quirks in the latter [Angelo Salese]

Improvements to Magical Odds graphics [David Haywood]

Written a per-pixel function for the irq system in the ST-V driver, disabled by default [Angelo Salese]

vimana, vimanan, vimana1 (toaplan1.c driver) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the M68000 code)
* Improved MCU emulation to correctly handle coinage based on Dip Switches settings and Territory Jumper

Implemented sound NMI enable flag to the Munch Mobile driver [Angelo Salese]

m680x0: show FPU registers in the debugger for 030+ [R. Belmont]

680x0: Improve disassembly for various FMOVE forms [R. Belmont]

Slightly fixed interrupt handling and added SBIC and MUL opcodes to the Atmel AVR8 core. [Harmony]

Added FJMP/JMPF opcode to the SunPlus u'nSP core. [Segher, Harmony]

Performed an initial code cleanup pass on the N64 rendering code to make use of booleans and inline variable instantiation, and removed a number of unused variables that were exposed as a result of the latter. [Harmony]

New games added or promoted from NOT_WORKING status
Five Clown (english, set 1) [Roberto Fresca, Grull Osgo]
Five Clown (english, set 2) [Roberto Fresca, Grull Osgo]
Five Clown (spanish hack) [Roberto Fresca, Grull Osgo]
Magical Odds [David Haywood, Angelo Salese]

New clones added
Dinosaur Hunter (Chinese bootleg of Cadillacs and Dinosaurs) [Anonymous] (not working)
Biaofeng Zhanjing (Chinese bootleg of The Punisher) [Anonymous]
Cherry Master I (E-Z Spin bootleg / hack) [William Ostronic]
Lethal Enforcers II: The Western (ver JAA) [David Haywood]
Fantastic Journey (ver AAA) [David Haywood, Tirino73]
Smash T.V. (rev 3.01) [Brian Troha, The Dumping Union]

New games marked as GAME_NOT_WORKING
Joker Master / Poker Master [William Ostronic] (incomplete + encrypted)
Gunmen Wars [Guru]


MAMETesters Bugs Fixed
- 03793: [Compiling] Build for G4 (altivec) is broken.
- 03792: [Compiling] Support for kFreeBSD
- 03371: [Sound] yiear, yiear2: Music pitch is lower than PCB (Tafoid)
- 03550: [DIP/Input] moonwar: Missing "Hyper Flip" Button (Lord Nightmare)
- 00304: [Graphics] All sets in toaplan1.c: In cocktail mode player 2 screen is not correct or flip screen on the players screen is not correct. (Quench)
- 03775: [Interface] primglex: Missing buttons (R. Belmont)
- 03762: [DIP/Input] tekken and clones: Kick button does not work (R. Belmont)

Source Changes
Added default nvrams to the ST-V driver [David Haywood]

Improve text layer in LE2: [David Haywood]
* set display enable to be ON by default.  LE2 doesn't turn it on until after the test screens, which would seem to indicate that the register should default to on, otherwise they're always invisible.
* added a kludge to use the right palette for the text layer in LE2, I haven't checked, but I wonder if this could also be related to internal defaults for the mixer chip which the game doesn't change. This allows you to see the ram/rom tests anyway, which is better than an invisible startup.

680x0 FPU updates [R. Belmont]
* Rewritten to use SoftFloat instead of unportable native FP math
* Support added for Motorola 96-bit extended floats
* More addressing modes and conditions supported

Updates to toaplan1.c driver: [Quench]
* Fixed flipscreen support for all toaplan1 games
* Added minimal Z180 place holder for SameSame/Fireshrk/Vimana

500gp title screen says 1998, change driver to match [Guru]

namcos23: Hook the 3D commands DMA [O. Galibert]

Updates to Twincobr/Wardner drivers: [Quench] twincobr.c
* Added 6845 CRTC interface
* Restored correct DSP roms loads and proms for 'fsharkbt' wardner.c
* Added 6845 CRTC interface
* Corrected some clock speeds

namcos23 housekeeping: move months to mamedriv, fix 500 GP name [Guru]

taitojc: fix landgear crash, game now enters attract mode [R. Belmont]

65816: fix decimal mode ADC/SBC behavior [blargg, byuu, R. Belmont]

Improvements to Funworld driver. [Roberto Fresca]
* Removed all hacks in the rom load section. Now the involved sets are properly loaded in the same way the hardware does.
* Replaced hardcoded values on graphics decode routines with proper RGN_FRAC calculations.
* Fixed graphics bitplanes to involved games.
* Added more hardware/technical info.
* Modify the mongolnw machine driver. Now can see it starts.
* Added Multi Win, from Funworld. The set is encrypted and use a custom CPU. Seems similar hardware than (multi) Joker Card.
* Added Fun World Quiz. Needs proper banking, and both graphics and bipolar PROM redumps.

680x0 FPU update: [R. Belmont]
* Implemented FMOVECR
* Added load extended PC relative indexed support
* Cleanup some duplicated code

Added Fun World Quiz description, and hardware notes. [Roberto Fresca]

More improvements to Funworld driver. [Roberto Fresca, David Haywood]
* Improved inputs for Fun World Quiz.
* Proper handlers and banking for Fun World Quiz questions.
* Partial decryption for royalcdc and multiwin.
* Complete Fun World Quiz DIP switches with dip locations.
* Promoted Fun World Quiz to working state.
* Added Fun World Quiz bookkeeping instructions notes.

Added default NVRAM for Namco FL games and some Namco System 2 games [David Haywood]

Implemented player 2 input buffer protection in Winning Spike [Angelo Salese]

Implemented irq ack in the Pastel Gal driver and implemented gfx rom readback in Three Dealers Casino House [Angelo Salese]

More improvements to Funworld driver. [Roberto Fresca]
* Reworked button-lamps layouts per game. Cleaned-up the code.
* Added specific button-lamps layout for bigdeal games.
* Added specific button-lamps layout for royalcrd & jolycdit, but there is a bug in the d-up select code that lights the wrong lamp. This is a leftover from jollycrd routines.
* Flagged vegasfte as GAME_NOT_WORKING, since is not receiving any coins or remote credits anymore.

hng64 : Lighting calculations are now more accurate. [Andrew Gardner]

Added driver data class and save states to: paradise.c, pasha2.c and pbaction.c. [Fabio Priuli]

Enabled saves states in pass.c (everything was already saved) [Fabio Priuli]

snes.c: reworked OAM drawing routines, implemented correct range over and time over flags (sprite limits), implemented FirstSprite priority [Fabio Priuli]

snes.c: moving more variables to driver data class and refactoring/cleaning up some code [Fabio Priuli]

NamcoS21 cleanups [David Haywood]
* Added default NVRAM to Cybersled
* Limited the range of the analog inputs in Cybersled (the game glitches, causing you to move backwards if they hit the minimum / maximum)
* Setup default key mapping in Cybersled to be similar to other dual joystick 'tank' style games, eg. Assault, rather than the default keyboard mapping where the sticks appear to be swapped.
* Reworked the input ports a bit so that they include a common base rather than duplicating common inupts
* Renamed aircombu to aircomb, and made it the parent instead of the Japanese set.

Cave cleanups [David Haywood]
* Removed fake Region dipswitch that modified the region byte in the EEPROM each reset for Sailor Moon, Air Gallet and Mazinger Z
* Split out different regions into clones with different default EEPROMs instead, and ensured all EEPROMs are factory default for that region. (this is a cleaner solution and more accurately represents the PCBs)

dynax.c, ddenlovr.c: Added driver data class [Fabio Priuli]

tlcs90.c: added save states [Fabio Priuli]

ddenlovr.c, dynax.c: replaced memory_set_bankptr with memory_set_bankp and added save state support [Fabio Priuli]

spc700.c: Added save states [Fabio Priuli]

snes.c: Updated the snes sound device to use device handlers, to store its internals in a struct, and to save them [Fabio Priuli]

i386: fixed unaligned memory accesses and opcode fetches when they cross a page boundary. Previously, if pages were not ordered in contiguous RAM, then a cross-boundary read or write would read partially incorrect data or write some of the data in the wrong page. [Barry Rodewald]

png2bdc.c: When the usage is printed, the name displayed was "png2bdf" instead of "png2bdc"; this changes it by retrieving the name of the executable at runtime, so it will always be correct now. [Christophe Jaillet]

several cleanups based on cppcheck and VS2008 Code Analysis [Oliver Stoeneberg]

split.c: made the "split" return the actual result instead of just 0. [Oliver Stoeneberg]

clifront.c: made the identation of the CPU device in -listdevices the same like the others [Oliver Stoeneberg]

i386.c: gave some fatalerror() calls in the i386 proper messages [Oliver Stoeneberg]

ssem.c: fixed compilation of SSEM core with SSEM_DISASM_ON_UNIMPL [Oliver Stoeneberg]

sdl/window.c: fixed a potential memory leak in sdlwindow_video_window_create() [Oliver Stoeneberg]

metro.c: added driver data class [Fabio Priuli]

vmetal: added driver data class and save states [Fabio Priuli]

Verified all the clocks from Super Contra PCB as well as the vsync. [Corrado Tomaselli]

Implemented VRAM color bank select in Uncle Poo [Angelo Salese, Iq_132]

Added default nvram to Cyber Commando, and improved the default control mapping in it [David Haywood]

Implemented pal bank in Three Dealers Casino House [Angelo Salese]

Updated DIPs based on Stephh's notes and fixed location status.  Added GAME_NO_COCKTAIL flag until flip screen is implemented. [Tafoid]

Fixed spinner input in moonwarp, added notes about spinner board, marked game as working. [Lord Nightmare]

Imported the same implementation of moon war proto's spinner to moon war 2; works much more smoothly now. [Lord Nightmare]

Fix very minor occasional glitches in moonwar/moonwara/moonwarp spinners caused by IPT_DIAL crossing the 0x00<->0xFF border. Added conditional Hyperflip button to moonwar, only seems present in upright mode? (in cocktail mode the same input is used by player 2 for a different button) [Lord Nightmare]

Implement many of the dipswitches for moonwarp, and re-add the color test mode to frenzy; Cocktail/upright select is still missing from moonwarp, though I managed to trigger cocktail mode a few times by accident. Needs code study to see what it actually depends on. The p2 controls are separate in cocktail mode. [Lord Nightmare]

Fixed for good trasparency issues in Three Dealers Casino House [Angelo Salese]

snes.c: some internal refactoring, some new debug functions and a small mode7 fix [Fabio Priuli]

Changed default initial state of PIC8259 to STATE_READY [Miodrag Milanovic]

First step in refactoring the video system in metro.c driver [David Haywood]

Corrected typo in Yie Ar Kung-Fu verified clock rates and tweaked the tempo slightly to better match reference recordings. [Corrado Tomaselli, Tafoid]

Final step in refactoring the video system in metro.c driver, replaced the video code with custom renderer functions [David Haywood]

Improvements to funworld.c driver. [Roberto Fresca]
* Added dual-state palette (addressable through PLDs). This allow to choose which half of the palette will be addressed.
* Splitted the main machine driver to cover both palette states.
* Reworked inputs / DIP switches for vegasslw, vagasfst and vegasfte.
* Created new default NVRAM for Royal Vegas Joker Card sets. These need to be configurated to be valid ones. Now vegasfte can receive remote credits, and all three in the family have valid min-max bet value and payout.
* Removed the not working flag from vegasfte.
* Improved colors for Big Deal sets.
* Correct colors for Royal Vegas Joker Card sets.

Hooked up default NVRAM in Five A Side Soccer [David Haywood]

MN10200 updates: [R. Belmont]
* Better IRQ generation and hookup to MAME IRQ system
* Preliminary 8-bit timer hookup including prescalers and IRQs
* Fixed issue with debugger not showing registers correctly

metro.c: added save states [David Haywood, Fabio Priuli]

snes.c: updated DSP1, DSP2, DSP3, DSP4, OBC1, SRTC and ST010 addon chips to store their variables in struct and to save them [Fabio Priuli]

More improvements to funworld.c driver [Roberto Fresca]
* Added a second set of Jolly Card Professional. Documented the code differences.
* Added another Royal Vegas Joker Card set, from Mile. These sets aren't intended to work with coins. Only remote credits are allowed. There are external modules that can manage up to 4 machines simultaneously, adding/removing/watching credits.
* Added default NVRAM to the above sets.
* Added proper inputs and DIP switches to vegasmil.
* Replaced the jolyc980 default NVRAM with one totally clean. Temporal and total meters are cleared to zero.

Fixed Z80-DMA Load and Continue commands. [Curt Coder]

namcos23: Roms reorganization [O. Galibert]

MC68HC11: Implemented SUBD DIR & SUBD EXT opcodes [Angelo Salese]

snes.c progress: [Fabio Priuli]
* Added proper sprite priorities
* Added pseudo-hires effect

Added preliminary layer clearance in Puzzlet [Angelo Salese]

New games added or promoted from NOT_WORKING status
Mr. Dig [Kevin Eshback, Brian Troha, David Haywood, The Dumping Union]
Mouse Shooter GoGo [Stefan Lindberg, Luca Elia, The Dumping Union]
Fun World Quiz (austrian) [Roberto Fresca, David Haywood]
Crusher Makochan [tormod, R. Gatto, S. Rietscha, krick, jeremymtc, Smitdogg, The Dumping Union]
Video Quiz [f205v, Mariusz Wojcieszek]
Tobikose! Jumpman [tormod, R. Howard, K. Svensson, D. Beneke, Smitdogg, Luca Elia, The Dumping Union]
Spider-Man vs The Kingpin (Mega-Tech) [Tormod, Smitdogg, The Dumping Union]
Moon War (prototype on Frenzy hardware) [Team Europe, Volker Hann, David Haywood, Lord Nightmare]

New clones added
Raiden DX (US, Fabtek license) [tormod, Smitdogg, The Dumping Union] (not working)
Berzerk (Germany) [Team Europe, Volker Hann, David Haywood]
Final Lap 3 (World, set 2) [Charles MacDonald, hap, Smitdogg, The Dumping Union]
Star Gladiator (JAPAN 960627) [tormod, W. Belk, ranger_lennier, R. Howard, R. Mucciarelli, Smitdogg, The Dumping Union]
Virtua Striker 2 '99 (Revision A) [The Dumping Union]
Hot Shocker [The Dumping Union]
Knights of Valour 2 / Sangoku Senki 2 (ver. 107) [XingXing]
Knights of Valour 2 / Sangoku Senki 2 (ver. 103) [XingXing]
Knights of Valour 2 / Sangoku Senki 2 (ver. 102) [XingXing]
Jolly Card Professional 2.0 (MZS Tech) [Roberto Fresca]
Royal Vegas Joker Card (fast deal, Mile) [Roberto Fresca]

New games marked as GAME_NOT_WORKING
Downhill Bikers (DH3 Ver. A) [Guru]
Multi Win (Ver.0167, encrypted) [Roberto Fresca]
Rapid River (RD2 Ver. C) [Guru]
Crisis Zone (CSZO3 Ver. B) [Guru]


MAMETesters Bugs Fixed
- 02134: [Graphics] ffight2b: Graphics glitch (Angelo Salese)
- 03396: [Crash/Freeze] nss_aten: Game does not progress past initial text screen (Angelo Salese)
- 03397: [DIP/Input] nss_skin: Input is completely non-working (Angelo Salese)
- 03116: [Crash/Freeze] nss_actr: Emulation hangs up after hitting start. (Angelo Salese)
- 03227: [Debugger] When setting A register in 8080 CPU, it sets F register

Source Changes
Hooked up default NVRAM and fixed sample rom loading order in Championship Bowling [David Haywood]

snes.c: greatly simplified tile drawing routines, fixed a couple of small bugs in mosaic support, reworked debug functions to be detected properly in all games [Fabio Priuli]

snes.c: improved VRAM accesses (they're invalid during active display) and DMA transfers (not all addresses can be accessed) [Fabio Priuli]

snes.c: enabled PPU->CPU hdma transfer and moved hdma variables to snes_state [Fabio Priuli]

snes.c: updated HDMA to init/update according to Anomie's docs [Fabio Priuli]

namcos23: First extremely rough 3D hookup [O. Galibert]

Changed the killing blade parent to the pgm bios. [smf]

namcos23: Add some lighting. [O. Galibert, Naibo]

namcos23: hooked up tilemap scroll, improved raster IRQ [R. Belmont]

snes.c: enforced abus validity check on dma reads, fixed possible tile and vram out of bounds bugs [Fabio Priuli]

Replaced Stocker dump with a good set [Kevin Eshbach]

Hooked up default NVRAM for Golly Ghost / Bubble Trouble [David Haywood]

namcos23: Add 3D model scaling [O. Galibert]

Heavily improved the slot 72 - poker game, it's now known to be actually Poker Monarch. [Angelo Salese]

m680x0 FPU updates: [R. Belmont]
* BCD packed decimal now supported, including k-factor
* Improved FSAVE/FRESTORE including FPU reset when restoring a NULL frame
* FREM instruction supported
* Better disassembly of FPU instructions

superfx.c: added save states to the CPU [Fabio Priuli]

snes.c: moved some more variables to driver state, set a few addresses as open bus and slightly changed SuperFX handlers not to access SNES WRAM [Fabio Priuli]

namcos23: c361 fixes and address auto-increment [O. Galibert]

further snes.c wip: [Fabio Priuli]
* Fixed a bug in SPC7110 handlers (now Tengai Makyou Zero test reaches RTC tests and fails them, instead of getting stuck at MUL/DIV tests)
* Implemented very preliminary (and currently broken) SPC7110 RTC emulation
* Updated DSP2 handlers to better reflect Overload's docs (problem and fix actually found by byuu)
- Updated add-on chips handlers to reflect byuu's findings

snes.c wip: fixed reserved memory address read not returning open_bus; fixed a few add-on chip reads not returning open_bus [Fabio Priuli]

Made input_device pointers non-volatile. Since we return pointers to them in response to input_device_add(), ensure that the pointers don't change after subsequent adds. [Aaron Giles]

snes.c: fixed a SRAM size problem and moved PPU registers handling to video/snes.c [Fabio Priuli]

ppu2c0x.c: added save states to NES PPU and performed some minor cleanups [Fabio Priuli]

i386+ core updates: [Samuele Zannoli]
* Added CR4 register
* Added bswap instruction
* Added support for 4MB pages

chihiro.c: Minor memory map update for running the BIOS [Samuele Zannoli]

Gun output cleanups/hookups [Howard Casto]:
* drivers\othunder.c:  Changed Operation Thunderbolt output names to
    something more appropriate. (They were routed to LEDs.)
* video\rastan.c:  Hooked up output for Operation Wolf.
* machine\midwunit.c:  Hooked up outputs for Revolution X.
* machine\midyunit.c:  Hooked up outputs for Terminator 2.
* drivers\seta.c:  Hooked up outputs for Zombie Raid.

i386/NEC disassembler updates: [Alex Jackson]
* Made "MOV AL, offset" etc (opcodes A0-A3) properly indicate a segment override prefix.
* Corrected the disassembly of various NEC-only instructions (mainly V25/V35-only instructions)
* Changed CPUINFO_INT_MAX_INSTRUCTION_BYTES on i86 and NEC from 15 to 8.

Added correct ROMs to 'Dragon's Lair (Italian)' (dlital) [f205v]

Improvements to supdrapo.c driver [Roberto Fresca]
* Reworked inputs to match the standard poker inputs names/layout.
* Hooked the payout switch.
* Hooked a watchdog circuitery, that seems intended to reset the game and/or an external device.
* Added machine start & reset.
* All clocks pre defined.
* Added ay8910 interfase as a preliminary attempt to analyze the unknown port writes when these ports are set as input.
* Figured out the following DIP switches: Auto Bet (No, Yes). Allow Raise (No, Yes). Double-Up (No, Yes). Minimal Winner Hand (Jacks or Better, Two Pair). Deal Speed (Slow, Fast). Aces Type (Normal Aces, Number 1). Cards Deck Type (english cards, french cards). Max Bet (5, 10, 15, 20).
* Added NVRAM support.
* Reorganized and cleaned-up the driver.

hng64: Fix sound ROM loading. [Andrew Gardner]

Reworked the entire Nintendo 64 renderer to be class-based.  More cleanup to follow. [Harmony]

Removing texture_rectangle_32bit and fill_rectangle_32bit to hopefully generate a bug report which indicates any games using the modes. [Harmony]

Applied some cppcheck fixes. [Oliver Stoneberg]

Clear pending IRQ if the IRQ enable flag is disabled in the SNES driver [Angelo Salese]

midtunit.c: Fixed TMS340 parameter [Alex Jackson]

namcos23: Fix the zoom value [O. Galibert]

namcos23: First stab at z-sorting [O. Galibert]

[8080/8085 CPU] Fix of mametester bug 3227. [Robbbert]

Moved the i/o update status inside a timer in the SNES driver [Angelo Salese]

Disabled unused variables and code based on cppcheck and VS2008 Code Analysis [Oliver Stoneberg]

Fixed some massive texturing issues in the new Nintendo 64 / RDP renderer. [Harmony]

Disabled DRC versions of certain vector load/store operations in the RSP core in order to avoid geometry issues. [Harmony]

Improved Rectangle drawing in the RDP core. [Harmony]

poly.c: Make the parameter interpolation more robust [O. Galibert]

namcos23: Push the zclip a little to avoid poly.c issues for now. [O. Galibert]

Added boundary checks for MVN and MVP opcodes when in M mode in the G65816 CPU core [Angelo Salese]

Added a new input type IPT_KEYPAD for MESS, to distinguish between fully featured keyboards and keypad controllers [Fabio Priuli]

skyarmy (skyarmy.c)  [stephh] :
* Fixed Dip Switches and Inputs (after verification of the Z80 code)
* Updated memory map to partially handle screen flipping

scobra, scobrase, scobras, scobrab, suprheli, moonwar, moonwara, armorcar, armorcar2, tazmania, anteater, calipso, losttomb, losttombh, spdcoin, superbon (galaxian.c driver + galdrvr.c)  [stephh] :
* Fixed Dip Switches and Inputs (after verification of the Z80 code)

namcos23: Found "force poly to front" bit [O. Galibert]

info.c: added keyboard and keypad controls to xml output [Fabio Priuli]

First step in supporting master cycle delays in the SNES driver [Angelo Salese]

Basic implementation of the DMA master cycles steals in the SNES driver [Angelo Salese]

Basic implementation of the memory map master cycle steals in the SNES driver [Angelo Salese]

snes.c: fixed to the DMA issue with S-DD1 games [Fabio Priuli]

1943.c: Corrected rom names [Bill D, The Dumping Union]

segaybd.c: Redumped IC26 for Rail Chase, added PCB board ID numbers and corrected the rom names for Rail Chase [ANY]

Added gprof support to the makefile. [Bryan Ischo]

Added a check for the OPTION_READCONFIG option before executing the code which would attempt to incorporate configuration file settings into the current configuration, because if OPTION_READCONFIG is set to false, then there is no reason to even try to do this as every single configuration file will be ignored (because config files have been turned off by OPTION_READCONFIG). [Bryan Ischo]

Fixed small memory leak in mame.c. [Bryan Ischo]

Fixed double-free error in render.c. [Bryan Ischo]

Made core_strdup use osd_malloc instead of malloc. [Bryan Ischo]

New clones added
Rail Chase (World) [Dumping Union]
High Impact Football (rev LA2 12/26/90) [A. Hoekman, tormod, Smitdogg, The Dumping Union]
Shark Party (english, alpha license) [Kevin Eshbach, Smitdogg, The Dumping Union]
Touchmaster 8000 (v9.02 Standard) [Bill D., The Dumping Union]
Ridge Racer (Full Scale, 1993-12-13, World) [tormod, Smitdogg, The Dumping Union] (not working, incomplete boardset)
Super Draw Poker (set 2) [Roberto Fresca, Team Europe, Dumping Union]
Super Football Champ (Ver 2.4O) [Caius]
Street Fighter (US, set 2) (protected) [Bill D & the Dumping Union]
Thrill Drive (JAB) [The Dumping Union]
Moon Base (set 2) [jmurjr, D. Maeby, Charles MacDonald, The Dumping Union]
Vapor Trail - Hyper Offence Formation (World revision 3?) [f205v, Tirino73]
Cherry Bonus III (alt, set 2) [Anonymous]

New games marked as GAME_NOT_WORKING
Lucky Boy / Poker 72 [David Haywood]
Print Club Pokemon B [Guru]


MAMETesters Bugs Fixed
- 03813: [Graphics] shadoww, shadowwa, gaiden, ryukendn, ryukendna: Lost blending effect (David Haywood)
- 00803: [Color/Palette] All vsnes.c games: Colors are wrong.
- 00270: [Graphics] cstlevna, vsgradus, suprmrio, goonies: Black startup screens are now gray.
- 00889: [Color/Palette] pc_smb: The colors of the characters, fire flower, etc. on the top screen are wrong.
- 01097: [Color/Palette] cstlevna: Colors of the first enemies you encounter are wrong.
- 02457: [DIP/Input] tkoboxng: Unable to coin/start game properly.

Source Changes
Fixed a bug with un-inited DMA regs in the SNES driver, fixes at least a long-standing bug with nss_ssoc dimmed team selection screen [Angelo Salese]

Added the Airline Pilot (USA) Naomi BIOS rom [The Dumping Union]

sauro, trckydoc, trckydoca (sauro.c)  [stephh] :
* Fixed Dip Switches and Inputs (after verification of the Z80 code)

ppu2c0x.c: Removed the bogus "color remap tables" in favor of external palettes containing data reverse-engineered (several years ago) from original hardware. Each vsnes set, as well as the playch10 bios, now requires one of these palettes. [Alex Jackson]

vsnes.c improvements: [Alex Jackson]
* Moved RC2C05 PPU-based protection into the PPU itself, rather than hacking it in at the driver level.
* After exhaustive testing, completely sorted out the "palette" dipswitches (which are actually PPU type selection) on all games that have them.  Added notes about these games in the comments.
* Removed GAME_IMPERFECT_COLORS and GAME_WRONG_COLORS from all games, as they should all be 100% correct now.
* Fixed coin inputs in tkoboxng. Removed IMPERFECT_GRAPHICS flag since there's no legitimate reason I can see for it. Also, fixed manufacturer and description to match the title screen.
* Added a bit more information about the missing sets in the comments.

add partial 6840ptm readback support to exidy.c [Lord Nightmare]

Convert Atari System 1 to use the 'new' TMS5220 interface. [Lord Nightmare]

Switch Escape from the Planet of the Robot Monsters to use the new TMS5220 interface. [Lord Nightmare]

snes.c: Fixed clipmasks in hires modes [Fabio Priuli]

Fixed RTL opcode in-bank issue in the G65816 CPU core [Angelo Salese]

sm8500d.c: Fixed disassembly of extended instructions (1A, 1B, 4F). [Oliver Stoeneberg]

lr35902.c: Fixed possible issue when checking for enabled irqs. [Oliver Stoeneberg]

rf5c68.c: corrected the point at which the sample callbacks are triggered, and what channel is returned.  The interrupts are masked or enabled based on what PCM memory bank is used, rather than the physical channel that was used. [Barry Rodewald]

Converted Atari System 2 to use the 'new' TMS5220 interface. Switched TMS5220 type to 5220C. [Lord Nightmare]

Further refining of the Atari JSA speech and audio modifications. Hooked up the reset line for the ym2151. [Lord Nightmare]

inptport.c: fixed keyboard detection (mainly for MESS) [Fabio Priuli]

Hooked up correct proms, corrected gfx rom order and added bank select / enabled for the reels in Treasure Island (Subsino) [David Haywood]

updated Star Wars to use proper clocks for the tms5220 and the pokeys. [Lord Nightmare]

MASSIVE merge of TMS5110 and TMS5220 cores, TMS5220 side only so far. Much code by Jarek Burczynski merged. Lattice Filter, Multiplier, and clipping redone. TMS5220C multi-rate feature added. Now using the same LPC table file (and format, as created by couriersud) as the TMS51xx is. Unvoiced-Voiced transitioning adjusted to match patent. Command handling redone to better match patent. Reasonably significant speech quality improvements: Separate tables for TMS5200, TMS5220 and TMS5220C are implemented, though all still need to be verified from hardware. Fixes: Garbled speech in Escape from the Planet of the Robot Monster's Canal Mazes is fixed, as well as some other garbled speech in game (when saying 'throwing switch' for instance). Known Regressions (being worked on): Victory fails its startup self test with an error 5, but speech works in-game. [Lord Nightmare]

Fixed victory self-test issue (FIFO must NOT be cleared on processing of a STOP frame, only on a new speak external command. victory is pedantic about this.), and in the process also fixed a bug regarding reading /READY state when not in speak external mode (the FIFO being full should NOT force /READY inactive in that case!) [Lord Nightmare]

Fixed various SNES SRAM issues [Fabio Priuli, Angelo Salese]

Fixed Wai Wai Jockey Gate-In title screen colors [Angelo Salese]

mk3ghw (aladbl.c driver + megadriv.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the M68000 code) ssgbl (ssgbl.c driver + megadriv.c) [stephh] :
* Fixed stack vector so coins are now correctly handled (the game shall be fully playable now)
* Fixed Dip Switches and Inputs (after verification of the M68000 code)

Added makefile PPC64 autodetection [Julian Sikorski]

6840PTM: Fixed interrupt flag behaviour and now allow fractional input clocks. [Phil Bennett]

6850ACIA: Improved handling of /CTS signal and fixed issue with transmission parity generation. [Phil Bennett]

MPU4+Video updates: [Phil Bennett, David Haywood]
* Fixed serial comms. As a result, most games actually boot now.
* Fixed colours.
* Fixed SAA1099 sound.
* Added Characteriser tables for all games (a complete implementation is still needed for most games).

Supported the 1555 fb format in the Naomi driver, needed by Cleopatra Fortune Plus [David Haywood]

Fixed ext latch behaviour in the SNES driver [Angelo Salese]

vmetal, vmetaln (vmetal.c driver) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the M68000 code)

Fix 5220C pitch table so unvoiced speech actually works. Oops. Should be a further quality improvement. [Lord Nightmare]

Tentative fix for tms5220 VSM support. [Lord Nightmsre]

F8 cpu disassembler improvements [Curt Coder]:
* fixed branch target PC
* added BP,BC,BZ,BR,BM,BNC,BNZ,BNO mnemonics
- removed extraneous $ from 2 byte hex values

Implemented various PVR TA registers hook-ups in the Naomi driver [Angelo Salese]

mpu4drvr.c: Fixed 68000 device resets [Phil Bennett]

Naomi: Implemented more regs, test mode now properly sets 640x240 resolution. Implemented fb pixel double, Naomi test mode looks now correct. [Angelo Salese]

i386dasm.c: Corrected display of debug registers (D0-D7) in disassembly listings [Barry Rodewald]

video/nemesis.c: Removed palette gamma hack [Alex Jackson]

Subsino driver improvements: [Roberto Fresca]
* Added another Treasure Island set.
* Added technical notes about the CPU box.
* Minor clean-ups.
Revision 8866 by robertof

full schematics made from the real PCB connections. They include Hex D-type flip-flops, Bipolar PROM, 3-STATE Octal D-Type latches and resnet connections. [Roberto Fresca, Aleksandar Spasojevic]

Partly implemented 'stereo' gating (using ym2151 ctX lines) to POKEY and TMS5220 on Atari JSA-i sound board. (currently it is just 'mono' gating). Add TODOs for complete stereo gating and for the low-pass filter. [Lord Nightmare]

Improvements to Funworld driver: [Roberto Fresca]
* Replaced the Fun World Quiz bad ROMs with good ones.
* Fixed the Fun World Quiz graphics and colors.
* Cleaned-up the flags for non working games.
* Modified the default lamps layout to include the bet lamp.
* Cleaned-up the Fun World Quiz inputs.
* Added 4 new Royal Card sets. Reworked parent/clone relationship. (delete the old .cfg and .nv files to have them working properly).
* Splitted the Royal Card machine driver. This is needed to access different halves of the bipolar PROM.
* Now principal Royal Card sets have a working bet button.
* Added default NVRAM to the new sets.

Improved video rendering in MPU4 [David Haywood]

Implemented 15/31 kHz selector in the Naomi driver, makes Strike Fighter and Shootout Pool Prize to be bootable by the common user [Angelo Salese]

Clean up interpolation inhibit logic, may sound slightly better now. Minor fix to TMS5220C table so zero-energy frames are correctly detected. [Lord Nightmare]

Added driver data class and save states to playmark.c, powerbal.c, pushman.c and pzletime.c [Fabio Priuli]

Improvements to Shark Party (English, Alpha license): [Roberto Fresca]
* Created complete inputs from the scratch.
* Added coin/keyin/keyout counters.
* Added main game and double-up rates DIP switches.
* Added minimum bet DIP switches.
* Added maximum bet DIP switches.
* Added complete coinage and remote credits DIP switches.
* Added jokers and demo sounds DIP switches.
* Figured out and documented all the game outputs.
* Created proper button-lamps layout.
Now the game is in full-working state.

Added a RAM mirror that fixes The Typing of the Dead booting [Angelo Salese]

New games added or promoted from NOT_WORKING status
Senko No Ronde Special (GDL-0038) [tormod, The Dumping Union]
Guilty Gear XX Accent Core (GDL-0041) [Joerg Hartenberger]
Cleopatra Fortune Plus (GDL-0012) [Joerg Hartenberger]
Hammer [Guru, Smitdogg, Luca Elia, The Dumping Union]
Royal Card (4 new sets) [Roberto Fresca]
Treasure Bonus [Team Europe, The Dumping Union, David Haywood, Angelo Salese]

New clones added
Iron Fortress (Japan) [F205V, The Dumping Union]
Super Shanghai 2005 (GDL-0031) [tormod, Gerald, The Dumping Union]
Megatouch IV Tournament Edition (9255-50-01 ROA, Standard version) [Phil Bennett, MikeDX, Smitdogg, The Dumping Union]
Teenage Mutant Hero Turtles (UK 4 Players, set 2) [porchy]
Carnival (Head On hardware) [Andrew Welburn, Dumping Union] (2 sets)
Double Dragon (US Set 3) [Corrado Tomaselli]
Touchmaster 2000 (v4.00 Standard) [Brian Troha, The Dumping Union]
Phraze Craze (two sets) [D. Beneke, Smitdogg, The Dumping Union]
Treasure Island (Subsino, set 2) [Roberto Fresca, Team Europe, 9ofzeven]
Vs 10-Yard Fight (US, Taito license) [ranger_lennier, W. Belk, Smitdogg, The Dumping Union]
10-Yard Fight '85 (US, Taito license) [Kevin Eshbach, Smitdogg, The Dumping Union]

New games marked as GAME_NOT_WORKING
Adders and Ladders [Phil Bennett, David Haywood]
Strike it Lucky [4 sets] [Phil Bennett, David Haywood]
Quiz Grid [4 sets] [Phil Bennett, David Haywood]
Eyes Down [2 sets] [Phil Bennett, David Haywood]
Blox [2 sets] [Phil Bennett, David Haywood]
Prize Space Invaders [2 sets] [Phil Bennett, David Haywood]
Sega Strike Fighter [f205v, The Dumping Union]
Derby Owner's Club (Ver. C) [f205v, The Dumping Union]
Kick '4' Cash [f205v, The Dumping Union]
Happy Tour [Guru, jmurjr, JacKc, gingertom, Rene Single, Smitdogg, The Dumping Union]


MAMETesters Bugs Fixed
- 03684: [Graphics] skyarmy: [possible] Screen Offset issue (hap)
- 03736: [Graphics] scontra, scontraj: Super Contra main character shadows (hap)
- 03102: [Side-by-side] finalizr: The "lives" statusbar is shown at bottom of the screen in MAME and on the PCB it's on the top (hap)
- 03822: [Speed] lwings and clones: Gameplay slows during game (Tafoid)
- 03818: [Crash/Freeze] mightybj, vsgshoe: Grey Screen (Not booting) (Andrew Jackson)

Source Changes

Replaced TMS5200 table with table extracted using PROMOUT from actual chip. monymony sounds much better. [Lord Nightmare]

Improvements to Treasure Bonus (Subsino) [Roberto Fresca]
* Reworked and cleaned-up the inputs. Most buttons have more than one single function.
* Added DIP locations.
* Figured out the following DIP Switches: Complete Coinage (1/2/5/10/20/25/50/100). Remote Credits (1/2/5/10/20/25/50/100). Minimum Bet (1/8/16/32). Max Bet (16/32/64/80). Demo Sounds (Off/On). Game Limit (10000/20000/30000/60000). Double-Up (No/Yes). Win Rate (84/86/88/90/92/94/96%). Double-Up Level (0/1/2/3/4/5/6/7). Double-Up Game (Dancers / Panties Colors / Cards / Seven-Bingo).
* Fixed inverted functions and buggy inputs.
* Added lamps support.
* Created button-lamps layout.
* Remapped inputs to reflect the controls layout. This way is more user-friendly since controls are straight with button-lamps.
* Added coin/keyin/keyout/payout counters.
* Removed the pulse limitation in the BET input. This allow it to work as BET and STOP2 properly.
* Added technical notes.

Status Fun Casino improvements: [Roberto Fresca]
* Reworked inputs to match the standard.
* Lowered the CPU clock to get it working properly.
* Added technical notes.

Output Cleanup/Hookup (Part 2) [Howard Casto]:
* segas32.c:  Hooked up all digital outputs for all games (radm, alien3, radr, f1en, arescue, f1lap, jpark, slipstrm, orunners, harddunk, scross, titlef) Emulation needs to progress more on the analog output data before those outputs can be hooked up.
* audio\mw8080bw.c:  Changed output name for desertgn to something more descriptive (Player1_Gun_Recoil)
* bbusters.c:  Added new output handling functions and hooked up outputs for bbusters and mechatt
* opwolf3.c:  Added gun outputs for opwolf3 (man that game is terrible)
* machine\williams.c:  Fixed existing outputs in tshoot (they needed inverted) and hooked up the rest, including the feather blower. :-D
* gunbustr.c:  Hooked up all outputs for gunbstr
* namcos12.c:  Hooked up outputs for all system 11 gun games (ptblank2, ghlpanic, tenkomor)
* segaybd.c:  Hooked up all digital outputs (gloc, glocr360, gforce2, pdrift, rchase, strkfghtr), also hooked up motor/analog outputs for Power Drift and G-Loc/ Strike Fighter The remaining games with motors could be hooked up as well assuming emulation can progress enough to get past the error messages.
* namcos2.c:  Hooked up gun recoils for golly ghost.  Also noted that the outputs for the remaining gun games are also in that area. Someone who can find the offsets should be able to hook them up.
* segas18.c:  Hooked up gun recoils for lghost.
* taito_z.c:  Hooked up outputs for spacegun and made a few prototype functions to help in hooking up the remaining games.  Someone familiar with the driver should take a look. I hooked up a few, but they don't work like they should according to the comments.

toutrun.c: corrected dipswitches in the most recently added Turbo Out Run set, and reorganized the sets so that the parent is the FD1094 317-0118 set, the "newest" set based on both EPROM and security chip part numbers. [Andrew Jackson]

Fix two VS2008 warnings (namcos23.c and rdpfb.c) [Oliver Stoneberg]

Remove some stray invalid code in start_profiler() [Oliver Stoneberg]

Have srcclean add missing newlines to end of .c files [Atari Ace]

Fix the memory leaks with the strconv.c function by using osd_malloc() instead.  Fixed other memory leaks as well.  [Oliver Stoneberg]

"Replaced" TMS5220 table with table extracted using PROMOUT from actual chip. By 'Replaced', I mean documented, as the actual extracted table exactly matched the table already in MAME. Changed TMS5220C to use the same energy table as 5220 does, since my previous assumption based on the Quadravox tables was probably wrong. Updated the ranout condition code of tms5220.c to be slightly more accurate to the chip, and added TODOs. Re-enabled the timers for deactivating the READY line on /WS or /RS as this is probably slightly more accurate to hardware, but the difference is 2 or 3 clock cycles max. [Lord Nightmare]

Fixed linking of chdman.exe and romcmp.exe with Visual Studio. [Oliver Stoneberg]

Fixed incorrect DSK ROM size, shuffled around some ROM mapping, added new ROMs that were incorrectly assumed to be identical to than racedriv. The previously bad ROM checksums are now correct. Now the watchdog resets it instead of getting an address error.  [Luigi30]

Added a screen layout for Space Stranger based on photos [M.A.S.H]

Added redumped sound ROM to Vs. Net Soccer (vsnetscr) [Team Japump]

Disable many unused variables as identifed by cppcheck. [Oliver Stoneberg]

Naomi: Added rounding to the GD-ROM DMA transfers, will be need for Virtua Tennis to make it boot [Deunan Knute, Angelo Salese]

AICA updates: [PluginNinja]
* Implemented slot monitor
* Improved ADPCM looping
* General cleanup

SCSP updates [PluginNinja]
* Improved slot monitor function
* Various cleanups

namcos23: Varied stuff, isolate PIO, pcb test works on timecrs2c [O. Galibert]

namcos23: Quick hack to make 500gp boot [O. Galibert]

namcos23: Increase the main ram size so that crszone goes into POST [O. Galibert]

Implemented Sort-DMA irq firing [Angelo Salese]

Naomi: implemented Wave DMA HW trigger and added Wave DMA IRQ firing [Angelo Salese]

Naomi: implemented PVR-DMA HW trigger [Angelo Salese]

Fix compile error when DEBUG_GENERATION is defined [Oliver Stoneberg]

cdrom: correct header length for form 2 raw sectors [R. Belmont]

namcos23: Mirror, mirror v2 [A. Giles, O. Galibert]

Naomi: implemented mahjong panel support [Angelo Salese]

TMS5220: Made /READY timing accurate to the real chip as best as possible. Note that on the zaccaria games, possibly due to a bug in the CA2 line handler of the PIA which reads the /READY state, speech usually won't work until midway through the first game played, but works fine afterward. Not sure if that's a MAME bug or an original game bug. [Lord Nightmare]

Replaced the DEBUG_FRAME_DUMP define with a new DEBUG_PARSE_FRAME_DUMP which produces binary listings of each frame parsed. [Lord Nightmare]

Added newer Area51: Site 4 BIOS. [Guru]

sega system16 and later: first pass in the conversion of video ICs to be devices [David Haywood]

Fix swapped stereo in gauntlet and gauntlet 2. Thor (warrior)'s/red player's coin slot is toward the left, and specific sounds for that player (coin insert gong, death ditty, etc) should come from the left speaker, not the right. Verified with schematics. TODO: merge gauntlet audio into atarijsa.c since the gauntlet audio hardware is clearly the direct ancestor of the Atari JSA-i audio board, and currently is missing most of the chip specific volume controls, etc which are already implemented in atarijsa.c. [Lord Nightmare]

Improved Killing Blade encrypted DMA mode 3 [XingXing, David Haywood]

vrender0.c: converted to be a device [Fabio Priuli]

crystal.c: added driver data class [Fabio Priuli]

Improved DMA modes 1+2 in killbld, allowing all DMA operations used by the game to work and the RAM dump to be removed [XingXing, David Haywood]

added save states to the following CPU: apexc, asap, avr8, cp1610, dsp32 and f8 [Fabio Priuli]

Documentation improvements to the Sega Naomi HW games [f205v]

Added a protection RAM dump for Dragon World 3 [XingXing]

Added a delay to the GDROM DMA transfers, allows KOF Neowave to boot [Angelo Salese]

Redumped one program rom in Killing Blade [XingXing, David Haywood]

Hook up the ym2151 reset bit to the sound cpu in gauntlet, and fixed sound reset to properly reset all the sound chips and volume latches. [Lord Nightmare]

Fix race condition involving tms52xx status register which broke victory/victorba self test. Updated debug routines a bit, and improved the non-NORMALMODE a bit. [Lord Nightmare]

Improvements to Pachifever driver [Tomasz Slanina, maruwa]
* replaced ic48.50 ROM with correct dump
* added correct MSM clock value
* added second SN76489A chip (used for sfx)
* updated hw notes

Cleaned up ranout (FIFO running out mid-frame) to be accurate to hardware; Cleaned up talk status clearing to be more accurate to hardware; Cleaned up parse_frame function significantly. Added some more comments. [Lord Nightmare]

aristmk4: Hooked up the two AY8910s [Fr45h3r]

snes_snd: fix Linux 64-bit compile issues [R. Belmont]

Naomi: Improved the YUV FIFO IRQ firing, now it should be possible to emulate the YUV decoding properly [Angelo Salese]

PGM: added support for newer bios ROM [XingXing]

Corrected mask ROM numbers for HOTD2 [f205v]

Fix ZPAR (zeroed k parameters 5-10) behavior for unvoiced frames. Updated comments and debug functions. [Lord Nightmare]

Naomi: work-around for an int32 overflow bug in the renderer, makes The House of the Dead 2 / The Typing of the Dead to not crash during attract mode [Angelo Salese]

Naomi: improved Vblank-In irq timings [Angelo Salese]

Redid parameter interpolation and frame load logic so new frames don't immediately force all the Energy/Pitch/K values to the values of the old frame, but wait until their first interpolation to do so. This fix improves speech quality considerably. [Lord Nightmare]

Naomi: implemented RTC start-up values [Angelo Salese]

astrocorp.c: Added PCB layout and board information for the Skill Drop Georgia set [Brian Troha]

New games added or promoted from NOT_WORKING status
Klad / Labyrinth [Black1972]

New clones added
Dragon World 3 (ver.105) [XingXing]
Killing Blade (ver. 104) [XingXing, David Haywood]
Battle of the Solar System (rev. 1.1a 7/23/92) [blib, Smitdogg, The Dumping Union]
Street Fighter II - The World Warrior (Thunder Edition) [Smitdogg, The Dumping Union]
Polaris (Original version) [Siftware]
Seibu Cup Soccer :Selection: (bootleg, set 2) [Fabrizio Vasile]
Draw Poker Joker's Wild (02-11) (NOT WORKING) [Siftware]
Reel Fun (Version 7.03) [Siftware]

New games marked as GAME_NOT_WORKING
War of the Bugs or Monsterous Manouvers in a Mushroom Maze (German) [Irongiant]
Fighting Mania (918 xx B02) [f205v, The Dumping Union]
Frog & Spiders (bootleg) [Siftware]
House of the Dead 2 (original) [Wouter]
Time Crisis 3 (TST1) [Guru]


MAMETesters Bugs Fixed
- 03683: [Crash/Freeze] topgunnr: Crashes MAME after INSERT COIN/GAME START (hap)
- 02878: [Speed] simpsons and clones: Vertical refresh rate (hap)
- 03273: [Original Reference] brubber, bnj, caractn: Incorrect screen resolution for Burnin' Rubber and clones (hap)
- 03492: [Crash/Freeze] hunchbkg: Does not boot (couriersud)
- 03657: [Crash/Freeze] All sets in maxaflex.c: Random crashes (Firewave)
- 03765: [Crash/Freeze] qdrmfgp2: ASSERT after OK (hap)
- 03823: [Color/Palette] pc_miket: Bad colours (Alex Jackson)
- 03047: [Graphics] elevator, elevatorb: Some graphics on the escalators shift when you ride on them (hap)
- 03628: [Graphics] alpine: Red point on the title screen (M.A.S.H.)
- 03033: [Graphics] vendetta: Sprite priority problem in the 3rd stage (hap)
- 03647: [Graphics] All games in vendetta.c: Graphical error in the intro scene of the game. (hap)
- 03834: [Sound] qtheater: No sound (hap)
- 03830: [Crash/Freeze] All sets in harddriv.c: Message: Duplicate save state registration entry (DSP32C/dsp32/0/cpustate->pin) (Tafoid)
- 00390: [DIP/Input] spaceftr: does not allow you to turn to the right. (hap)

Source Changes
New Lucky 8 Lines hardware: [Roberto Fresca]
* Added lamps support to lucky8, lucky8a, lucky8b, ns8liner, ns8linew and kkojnoli.
* Created lamps layout for the above sets.
* New inputs for ns8linew. This set has a second set of inputs, and can be switched between them. No lamps activity or Big/Small buttons are present while this alternative controls are used. Maybe is a leftover.
* Some DIP switches were figured out. Coinage and limits are still a real mystery since all DIP switches are reflected in the test mode.
* Remapped inputs to be straightforward with the control panel.
* Added the type (W-4/F-5) to the sets description.
* General inputs clean-up.

suna8.c: Updated documentation for Strike Fighter to include the game number, PCB number and epoxy CPU [Fabrizio Vasile]

Jaguar: fixed RGB VARMOD mode [Angelo Salese]

namcops2: add DVD image for taiko10 [Guru]

Added DIP Locations for all games in the jack.c driver.  Changed copyright on joinem to match displayed year.  [Tafoid]

More cleanup of the lpc tables; Replaced tms5220C pitch table with the tms5220 one as that one is more likely to be correct. [Lord Nightmare]

Add 'Unrealistically Perfect Interpolation' debug mode; Fix a potential issue with 16 bit overflow in the lattice filter; Made idle state emulation more accurate to real chip; Clean out variables before VSM speech starts; Mask out low 4 bits of 14 bit lattice result before output. [Lord Nightmare]

Fix a mistake in the interpolation logic, it should now properly delay interpolation until the final cycle of each frame when INHIBIT is set. [Lord Nightmare]

tms5220: Remove unnecessary interpolation code; Add extra check to make unvoiced mode trigger at the correct sample. [Lord Nightmare]

Fixed up tms52xx clip/wrap function arrangement to be much more sane, and properly handled range extension. [Lord Nightmare]

Made tms5220 DEBUG_GENERATION more useful and simplified the code in the process. [Lord Nightmare]

lib/util/cdrom.c: Fixed stack corruption in CHD code [Oliver Stoeneberg]

Implemented default EEPROMs for GTIClub, Hang Pilot, Asterix, X-Men and Polygonet Commanders [David Haywood]

Fixed the texture ROM loading/order in Wave Shark.  Textures look better now, and the ROM check passes [David Haywood]

Fix for Target Hits missing sound. [Tafoid]

fspiderb: Added projectiles, game is playable now [hap]

General cleanup of PGM code [David Haywood]

Removed ROM Patch in Killing Blade and replaced with correct IGS025 return sequence fo China region (other sequences still unknown) [XingXing]

pengadvb: Improved inputs, the game can now be coined up. It magically has sound too now. [hap]

S2650_SENSE_PORT is now active when data written is != 0 and inactive when data == 0. It now acts as a line in a mame-sense. [Couriersud]

btime: Background vertical offset was off by one pixel, burger parts positions are correct now. This also means Peter Pepper awkwardly walks in the air, which is the way it is on the PCB. [hap]

fixed ROM names of tp84a (tp84 needs confirmation) [Team Japump]

Fixed hunchbkg ports. [Couriersud]

sprtmtch: Added Intermissions dipswitch [David Bain]

Fixed coinage of desertbr [yasuhiro]

Fixed ROM labels for Pac-Land, Scramble Egg, and Straight Flush [Team Japump]

New games added or promoted from NOT_WORKING status
New Lucky 8 Lines / New Super 8 Lines (F-5, Witch Bonus) [Roberto Fresca, incog, Smitdogg, The Dumping Union]
International Team Laser (prototype) [ranger_lennier, genieta1, J. Ferneborg, Smitdogg, italie, David Haywood, The Dumping Union]

New clones added
Desert Breaker (Japan) [Team Japump, Dumping Union]
Youma Ninpouchou (Japan, alt) [Takahiro Nogi]
Armed F (Japan) [Takahiro Nogi]
Champion Baseball II (Japan, not working) [Takahiro Nogi]
Wing War (Japan) [Team Japump, The Dumping Union]
Street Fighter EX 2 (HISPANIC 980312) [Layne, J. Bijl, Smitdogg, The Dumping Union]
Giga Wing (Hispanic 990222) [dopefishjustin, A. Hoekman, Smitdogg, David Haywood, The Dumping Union]
Street Fighter Alpha 3 (Hispanic 980629) [dopefishjustin, Smitdogg, David Haywood, The Dumping Union]
Eco Fighters (Hispanic 931203) [Kevin Eshbach, wild eyed, Smitdogg, David Haywood, The Dumping Union]
X-Men: Children of the Atom (Hispanic 950105) [ranger_lennier, tormod, Smitdogg, The Dumping Union]
Dungeons & Dragons: Tower of Doom (Hispanic 940113) [Kevin Eshbach, Layne, Gor, blokey, Smitdogg, The Dumping Union]
Pac-land (Japan, older) [Team Japump]
Photo Y2K (ver. 105) [XingXing]

New games marked as GAME_NOT_WORKING
Taiko no Tatsujin 10 (T101001-NA-A) [Guru]
Dragon World 3 EX (ver. 100) [Guru]
Dragon World 2001 [Guru]
Royal Queen [Hikari, Spyder, S. S. Neilson, Smitdogg, The Dumping Union]
Chance Kun [ranger_lennier, incog, Smitdogg, The Dumping Union]
Photo Y2K 2 [Guru]


MAMETesters Bugs Fixed
- 00948: [Graphics] batsugun: The ending and credits text is in gibberish language. (David Haywood)
- 03832: [Sound] monymony, jackrabt: Missing speech (couriersud)
- 00946: [Graphics] batsugun, batsuguna, batsugunsp: Some graphics garbage at level one start and first boss. (David Haywood)
- 03445: [Crash/Freeze] znpwfv: Segmentation Fault (Angelo Salese)
- 02642: [Crash/Freeze] myfairld: [possible] Black screen in Virtual Mahjong 2 MFL (Angelo Salese)
- 01009: [Crash/Freeze] grdforce: Test mode doesn't work. (Angelo Salese)
- 03710: [Crash/Freeze] sokyugrt: Game crash after player select (Angelo Salese)
- 02567: [Color/Palette] All Sets in zaccaria.c: Minor color issues (hap)
- 00799: [Graphics] monymony: Sprite priority is incorrect when the player is pulled underwater. (hap)
- 03474: [Sound] wilytowr: Background music is very low. (hap)
- 03853: [Graphics] ssriders and clones: Sprites stuck error. (hap)
- 03817: [Graphics] popflame + clones: Color regression (Angelo Salese)
- 03816: [Crash/Freeze] popflame: The game resets after the third round. (Angelo Salese)
- 03852: [Gameplay] 20pacgal, 20pacgala: Severe slowdown after initials are entered. (couriersud)
- 03476: [Crash/Freeze] quartet, quarteta, dumpmtmt: Games do not start. (Alex Jackson)

Source Changes
Remove all references to the nonexistent "premov" instruction from the NEC-V core.  [Alex Jackson]

Corrected stack walk by using UNICODE_POSTFIX.  Fixed some incorrect function declarations in winmain.c.  [Oliver Stoneberg]

cps2: Made ssf2t a parent set [Alex Jackson]

New driver: sigmab98.c [Luca Elia]

astrocorp.c: Added PCB layout for Astro M1.1 & M1.2 PCBs [Brian Troha]

Documented an energy bar debug switch in aladbl, disabled by default [Angelo Salese]

Fixed crashes when you fall into pitfalls in aladbl [Angelo Salese]

Improved Z180 timer and HALT processing. This fixes MT03852. [Couriersud]

Konami devices: Fixed sprite Z code rejection regression [hap]

Basic hook-ups of the Nintendo Super System BIOS [Angelo Salese]

namcos2: Optimized pixmap rotation, improving performance of Assault and other games that use it [Bryan Ischo]

tecmo.c: Included Rygar PCB documentation [Guru]

Documented and worked around a long standing level 3 protection fault in Pop Flamer [Angelo Salese]

Rewritten palette initialization in Naughty Boy HW by using the RESNET [Angelo Salese]

Rewrote Z180 cycle accounting to create a basis for more exact internal I/O and timer operations as well as implementing interrupt priorities. Removed unused BIG_SWITCH code as well. [Couriersud]

MPU4 Updates [James Wallace]:
* Added trackball support
* Fixed quiz game controls
* Restructured AWP games' characteriser handling

Added photo y2k2 decryption table [iq132]

Improved Z180 interrupt and timer handling. Added some missing save state entries and fixed HALT. [Couriersud]

Rewrote rom/ram banking. 20pacgal now supports save state. [Couriersud]

Added DIP LOCATIONS to Pengo, Jr. Pac-Man and clones.  [Tafoid]

zaccaria.c: Improved sprite drawing, added DIP locations [hap]

Ported Super Famicom Box from MESS to MAME [Angelo Salese]

Modified the naomi clipping a bit to avoid so many black lines  at the bottom [David Haywood]

New Super 3D Golf Simulation - Waialae No Kiseki / Super Mahjong 2 (Super Famicom Box) [Angelo Salese]

Removed Groove on Fight boot hack, not anymore needed [Angelo Salese]

Added x/y boundary checking to ST-V bitmaps [Angelo Salese]

atarigx2.c: More rom name corrections as verified against a Moto Frenzy Mini Deluxe PCB. Added ROM for the "Clarn" game link sub PCB. [Charles MacDonald, P. Sealy, Smitdogg, The Dumping Union]

Added lfsr-driven starfield to 20pacgal. The general principle is understood now but star set selection and the star drawing condition are guesses. [Couriersud]

Moved global and static variables in driver galaga into a machine class. Renamed some variables, e.g. galaga_videoram and bosco_videoram to just videoram. [Couriersud]

Added new DECO Cassette bios set and updated rom names/locations/types to be more accurate. [Lord Nightmare, The Dumping Union]

micro3d.c : Added some PLD dumps to botssa [Phil Bennett, Smitdogg]

Removed unneeded danchih title screen hack [Angelo Salese]

Reverified TMS5200 clock and measured Vsync clocks from Zaccaria hardware [Corrado Tomaselli]

Added debug_global_input_code_pressed_once() function to input.c [Angelo Salese]

Added a readyq callback to the TMS5220 interface. This is needed to solve MT #3832. In zaccaria games, the intq and readyq are connected to pia 6821 lines ca2 and cb1 which are edge driven. Just reading readyq would miss to detect a state change if between reads readyq went 0-1-0. Updated zaccaria.c and looping.c. Fixes MT #3832. [Couriersud]

Reworked rendering in toaplan2 to render tilemaps / sprites in a single pass, should be more accurate to hardware. Note, this further breaks the mixing in Batsugun and Dogyuun because the previous hacks can no longer work with the new rendering code. These games have been demoted to NOT_WORKING status until a better solution is found; they never worked properly anyway due to the extent of the video hacks needed to support them [David Haywood]

documentation: Cleaned up company names [hap]

Added NSC800 CPU emulation to the Z80 core [Sandro Ronco]

Updated Legendary Wings with actual PCB speed readings. [Corrado Tomaselli]

Update decocass comments/bios names with more info from D.Widel's page. [Lord Nightmare, David Widel]

toaplan2: fixed sprite-sprite priorities in batsugun and dogyuun [robiza]

Added bare-bones work around for the Network board in Super GT 24h and Over Rev, they now enters into attract mode [Angelo Salese]

Revision 9295 by rbelmont
SDL: fix compilation for GTK+ 2.20 and later [R. Belmont, Wingman]

New games added or promoted from NOT_WORKING status
GeGeGe no Kitarou Youkai Slot [A. Hoekman, ranger_lennier, Smitdogg, The Dumping Union, Luca Elia]
Video Carnival / Super Royal Card [f205v, Angelo Salese]
Mouse Attack [Phil Bennett, Smitdogg]
Super Game III [Mariusz Wojcieszek, Guru]

New clones added
Golden Tee 2K (v1.00) (alt protection) [Guru, Brian Troha]
1943 (Euro) [Stefan Lindberg]
Fantasy Zone (NEC 0317-5000 encrypted Z80) [Cools, Andrew Welburn, The Dumping Union]
X-Men Vs. Street Fighter (Asia 960910) [ANY, The Dumping Union]
X Multiply (Japan, M81) [hap, porchy]
The Crystal Maze (2 sets) [James Wallace]
The Crystsl Maze Team Challenge (2 sets) [James Wallace]
The New Crystal Maze Featuring Ocean Zone (2 sets) [James Wallace]
Road Riot's Revenge (prototype, set 3) [Siftware]
Indoor Soccer (set 2) [Siftware]
Ms. Pacman Champion Edition / Zola-Puc Gal [Andrew Welburn, The Dumping Union]
Heavyweight Champ (Japan, FD1094) [Team Japump, Dumping Union]
Super Draw Poker (bootleg) [f205v]
Ms. Pac-Man/Galaga - 20 Year Reunion (2 sets) [Brian Troha, The Dumping Union]

New games marked as GAME_NOT_WORKING
Win Win Bingo (2 sets) [f205v, Filippo Tarderia]
Zoo [Brian Troha, The Dumping Union]
X Five Jokers [f205v]
Magic Number (Italian Gambling Game) [f205v]
Magic Class [f205v]
Abacus [f205v]
Euro Class [f205v]
Book Theatre [f205v]
Super Famicom Box BIOS [Angelo Salese]


IMPORTANT NOTE: The way devices are handled internally in MAME has changed significantly. There are likely to be short-term compatibility and performance effects. Please report any errors or *significant* performance decreases (>20%) to mametesters.org. Full documentation on the new device handling is in progress at http://mamedev.org/devwiki/index.php/MAME_Device_Basics

MAMETesters Bugs Fixed
- 03878: [Crash/Freeze] mimonscr: Hangs at Post (Tafoid)
- 02362: [Speed] block: Ball speed is erratic. (hap)
- 03579: [Crash/Freeze] rbibb, rbibba, vsskykid: Severe graphic corruption/Access Voilation (Fabio Priuli)
- 01839: [Color/Palette] battlex: Incorrect colors and/or palette (Tafoid)
- 03747: [Graphics] ckong: One pixel gap is missing between Kong and level (hap)
- 03866: [Graphics] prehisle, prehisleu, gensitou: Lack of graphics (David Haywood)

Source Changes
A small update for the YM2610 core, which resets the PCM and Delta-T memory regions when the chip is reset.  This is needed for MESS, where being able to change the size and existence of the sample regions on the Neo Geo AES is necessary for the sound to work right, especially for games that don't have a specific Delta-T region.  [Barry Rodewald]

Increased number of coinslots to 12, and tilt inputs to 4, required by in-progress gambling driver [David Haywood]

Fixed various hangs and NVRAM init in the Model 2 driver [Angelo Salese]

Add partial decrypt function for vortex (0x0000-0x1FFF is decrypted properly, 0x4000-0x5FFF is probably not), still much work to be done especially regarding memory maps (which are affected by the epoxy block address inverts as well). [Lord Nightmare, The Dumping Union]

Fixed a warning in Visual Studio 2010 that was introduced by a previous commit.  [Oliver Stoneberg]

Added some missing static qualifiers to MAME.  Also, renamed some generically named exports from segaic16.c.  [Atari Ace]

batsugun: fixed layer-layer priorities; sprite-sprite priorities are wrong [robiza]

dogyuun: fixed layer-layer priorities; sprite priorities are wrong [robiza]

hal21: cabinet DIPSW was reversed btlfield: DIAL was used instead of rotary joystick [/SftiKDL0]

namconb1.c: Replaced sound data rom for the Point Blank sets that was incorrectly dumped.  The new dump has been verified on 3 different PCBs. [Guru, Smitdogg, The Dumping Union]

kongambl.c updates: [R. Belmont]
* Mapped ROMs correctly to processors
* Started mapping out Konami customs
* EEPROM hooked up

lordgun.c update [Luca Elia]
* Implemented RAM based priorities
* Added multi-sprite, fixed sprite list end
* Corrected tilemap 2 size (wrong backgrounds in the final stage)
* Fixed crosshair position

chdman/cdrom updates: [R. Belmont]
* CDRWIN .bin/.cue images now supported for both input and output
* Pregap and postgap information is now preserved in the format
* Output of CDRDAO images is significantly improved
Existing CHD-CDs will continue to work fine and for data-only discs no action needs to be taken.  For mixed data/audio discs (e.g. analog 573/Bemani games) they should be re-converted for better preservation.

kongambl: Support unpaged 056832 VRAM access [R. Belmont]

Hooked up ad sticks to Rail Chase 2 [Angelo Salese]

Documented Drive I/O BD commands in Rail Chase 2 [Angelo Salese]

Added a new cycle exact VMS interface to TMS5110 emulating M0, M1 and ADD1 to ADD8 lines. Added TMS6100 memory controller device. Also added TMSPROM device emulating bagman and ad2083 prom controlled speech logic. Switched bagman, ad2083 (scramble.c) and radarscp1 to use the new interface and devices. [Couriersud]

buggychl: Improved sky, the in-game foreground statusbar and speedometer don't clip it anymore, and it's a gradient of azure->turquoise now instead of azure->black. [hap]

Moved tms6100 code into emu/machine/tms6100.[ch]. Added pinouts for TMS6100 and M58819. [Couriersud]

Added palette DAC handling, reel layers and removed NMI patch in Lucky Girl (Z180 HW) [David Haywood]

Added clock information and timing from schematics to bagman.c
Improved interrupt timing and handling to follow schematics. [Couriersud]

SDL: remove problematic live render type toggle and default OS X to OpenGL [R. Belmont]

Hooked up basic Drive i/o board CPU in Sega Rally [Guru, Angelo Salese]

Adjusted default volumes to normalize audio and better present the original output for bagman.c  [Tafoid]

Fixed dips in Dragon World [Luca Elia]

Fixed NVRAM handling in Diamond Derby [Angelo Salese]

Convert 7474 handlers to (READ|WRITE)_LINE_DEVICE_HANDLERS. [Couriersud]

Added macros for inline device handler initialization to devcb.h. [Couriersud]

Changed 7474 to only use devcb callbacks and handlers. Updated game drivers. [Couriersud]

X2212 now uses device template. Also changed all handlers to use devcb prototypes. Default nvram contents should be in region named same like device tag. Hooked up X2212 in starwars. [Couriersud]

Basic M6502 hook-up in Royal Gum [David Haywood]

Moved Miracle Derby inside homedata.c driver [David Haywood]

Removed r5h01_config. Memory region now has to have same tag as r5h01 device. Update playch10 driver. [Couriersud]

Addd documentation about tms5110 prom interface used by bagman and ad2083. [Couriersud]

SDLMAME now compiles against SDL 1.3 up to HG rev 4464. Everything beyond that revision is completely broken since Sam ripped out multi-keyboard and multi-mice support. Further information in README_SDL13.txt [Couriersud]

Splitted the ST-V protection handlings by per-game [Angelo Salese]

Added proper RTC support to the ST-V driver [Angelo Salese]

pcat_nit.c update [Mariusz Wojcieszek]
* added VGA emulation from MESS
* added INS8250 emulation from MESS
* added format decimal support to Microtouch
* added rom banking and inputs to pcat_nit games
* streetg(2) now boot properly

Moved some common PC code to machine/pcshare.c [Mariusz Wojcieszek]

vsnes.c: Reworked VROM banking  to avoid pointing beyond the last bank. Also, changed the use of memory_set_bankptr into memory_set_bank. [Fabio Priuli]

Add Bonus Life dipswitches to Moon War (prototype on frenzy hardware) [Lord Nightmare, stephh]

Improvements to Lucky Girl (newer Z80 based hardware): [Roberto Fresca]
* Improved the input system, added missing buttons.
* Figured out the full coinage DIP switches. (Coins A, B, C, Key In)
* Found and documented the output ports.
* Added full lamps support.
* Created a new button-lamps layout.
* Hooked the coin and key in counters.
* Added technical notes.
* Figured out the following DIP switches:
   * Auto Hold (No / Yes)
   * Game Type (Hold Game / Discard Game).
   * Adult Content (No / Yes).
   * Minimal Winning Hand (Jacks or Better / 2 Pairs).
   * Minimum Bet (1 / 5).
   * Double-Up (Normal / Poker / Bingo / No D-Up).

Massive Space Invaders related comment update, documenting various sets, and the various Taito PCBs used by Space Invaders/Tabletop SI/Tabletop SI Color/Tabletop SI II/etc. [Andrew Welburn, Lord Nightmare]

Hooked up color prom in Kick Boy [Angelo Salese]

Defined two new casting helpers: [Aaron Giles]

  downcast<type>(value) should be used for safe and efficient downcasting from a base class to a derived class. It wraps static_cast<> by adding an assert that a matching dynamic_cast<> returns the same result in debug builds.

  crosscast<type>(value) should be used for safe casting from one type to another in multiple inheritance scenarios. It compiles to a dynamic_cast<> plus an assert on the result. Since it does not optimize down to static_cast<>, you should prefer downcast<> over crosscast<> when you can.

Redefined running_device to be a proper C++ class (now called device_t). Same for device_config (still called device_config). All devices and device_configs must now be derived from these base classes. This means each device type now has a pair of its own unique classes that describe the device. Drivers are encouraged to use the specific device types instead of the generic running_device or device_t classes. Drivers that have a state class defined in their header file are encouraged to use initializers off the constructor to locate devices. [Aaron Giles]

Removed the following fields from the device and device configuration classes as they never were necessary or provided any use: device class, device family, source file, version, credits. [Aaron Giles]

Added templatized variant of machine->device() which performs a downcast as part of the device fetch. Thus machine->device<timer_device>("timer") will locate a device named "timer", downcast it to a timer_device, and assert if the downcast fails. [Aaron Giles]

Removed most publically accessible members of running_device/device_t in favor of inline accessor functions. The only remaining public member is machine. Thus all references to device->type are now device->type(), etc. [Aaron Giles]

Created a number of device interface classes which are designed to be mix- ins for the device classes, providing specific extended functionality and information. There are standard interface classes for sound, execution, state, nvram, memory, and disassembly. Devices can opt into 0 or more of these classes. [Aaron Giles]

Converted the classic CPU device to a standard device that uses the execution, state, memory, and disassembly interfaces. Used this new class (cpu_device) to implement the existing CPU device interface. In the future it will be possible to convert each CPU core to its own device type, but for now they are still all CPU devices with a cpu_type() that specifies exactly which kind of CPU. [Aaron Giles]

Created a new header devlegcy.h which wraps the old device interface using some special template classes. To use these with an existing device, simply remove from the device header the DEVICE_GET_INFO() declaration and the #define mapping the ALL_CAPS name to the DEVICE_GET_INFO. In their place #include "devlegcy.h" and use the DECLARE_LEGACY_DEVICE() macro. In addition, there is a DECLARE_LEGACY_SOUND_DEVICE() macro for wrapping existing sound devices into new-style devices, and a DECLARE_LEGACY_NVRAM_DEVICE() for wrapping NVRAM devices. Also moved the token and inline_config members to the legacy device class, as these are not used in modern devices. [Aaron Giles]

Converted the standard base devices (VIDEO_SCREEN, SPEAKER, and TIMER) from legacy devices to the new C++ style. Also renamed VIDEO_SCREEN to simply SCREEN. The various global functions that were previously used to access information or modify the state of these devices are now replaced by methods on the device classes. Specifically:

  video_screen_configure()             == screen->configure()
  video_screen_set_visarea()           == screen->set_visible_area()
  video_screen_update_partial()        == screen->update_partial()
  video_screen_update_now()            == screen->update_now()
  video_screen_get_vpos()              == screen->vpos()
  video_screen_get_hpos()              == screen->hpos()
  video_screen_get_vblank()            == screen->vblank()
  video_screen_get_hblank()            == screen->hblank()
  video_screen_get_width()             == screen->width()
  video_screen_get_height()            == screen->height()
  video_screen_get_visible_area()      == screen->visible_area()
  video_screen_get_time_until_pos()    == screen->time_until_pos()
  video_screen_get_time_until_vblank_start() == screen->time_until_vblank_start()
  video_screen_get_time_until_vblank_end() == screen->time_until_vblank_end()
  video_screen_get_time_until_update() == screen->time_until_update()
  video_screen_get_scan_period()       == screen->scan_period()
  video_screen_get_frame_period()      == screen->frame_period()
  video_screen_get_frame_number()      == screen->frame_number()

  timer_device_adjust_oneshot()        == timer->adjust()
  timer_device_adjust_periodic()       == timer->adjust()
  timer_device_reset()                 == timer->reset()
  timer_device_enable()                == timer->enable()
  timer_device_enabled()               == timer->enabled()
  timer_device_get_param()             == timer->param()
  timer_device_set_param()             == timer->set_param()
  timer_device_get_ptr()               == timer->get_ptr()
  timer_device_set_ptr()               == timer->set_ptr()
  timer_device_timeelapsed()           == timer->time_elapsed()
  timer_device_timeleft()              == timer->time_left()
  timer_device_starttime()             == timer->start_time()
  timer_device_firetime()              == timer->fire_time()

Updated all drivers that use the above functions to fetch the specific device type (timer_device or screen_device) and call the appropriate method. [Aaron Giles]

Changed machine->primary_screen and the 'screen' parameter to VIDEO_UPDATE to specifically pass in a screen_device object. [Aaron Giles]

Defined a new custom interface for the Z80 daisy chain. This interface behaves like the standard interfaces, and can be added to any device that implements the Z80 daisy chain behavior. Converted all existing Z80 daisy chain devices to new-style devices that inherit this interface. [Aaron Giles]

Changed the way CPU state tables are built up. Previously, these were data structures defined by a CPU core which described all the registers and how to output them. This functionality is now part of the state interface and is implemented via the device_state_entry class. Updated all CPU cores which were using the old data structure to use the new form. The syntax is currently awkward, but will be cleaner for CPUs that are native new devices. [Aaron Giles]

Converted the okim6295 and eeprom devices to the new model. These were necessary because they both require multiple interfaces to operate and it didn't make sense to create legacy device templates for these single cases. (okim6295 needs the sound interface and the memory interface, while eeprom requires both the nvram and memory interfaces). [Aaron Giles]

Changed parameters in a few callback functions from pointers to references in situations where they are guaranteed to never be NULL. [Aaron Giles]

Removed MDRV_CPU_FLAGS() which was only used for disabling a CPU. Changed it to MDRV_DEVICE_DISABLE() instead. Updated drivers. [Aaron Giles]

Reorganized the token parsing for machine configurations. The core parsing code knows how to create/replace/remove devices, but all device token parsing is now handled in the device_config class, which in turn will make use of any interface classes or device-specific token handling for custom token processing. [Aaron Giles]

Moved many validity checks out of validity.c and into the device interface classes. For example, address space validation is now part of the memory interface class. [Aaron Giles]

Consolidated address space parameters (bus width, endianness, etc.) into a single address_space_config class. Updated all code that queried for address space parameters to use the new mechanism. [Aaron Giles]

Fixed palette / priority handling in Lucky Girl (Newer Z180 hardware) [David Haywood]

Update/Correct Space Invaders Comments, particularly regarding Midway Boards [Andrew Welburn, Lord Nightmare]

Fixed priorities in Frog & Spiders [Angelo Salese]

Fixed crash regression with spangbl / pangba [Angelo Salese]

Updated galivan.c with DIP LOCATIONS and verified setting via Service Mode.  Added comments about missing text layer in Ninja Emaki and flagged those sets with missing protection emulation.  [Tafoid]

Fix audio cpu banking in Raiden 2 (add a missing mirror to banking register) [trap15, R. Belmont]

Corrected Raiden II audio banking - it's only at 401a [R. Belmont]

Flash: 4k sectors should erase in 1/8th the time of 64k. extend core to support GBA chip types. [R.Belmont]

Clean up profiling flags in the makefile. Removed GPROF flag, it is now just PROFILE. When enabled, automatically turn on basic symbols. Also added new SYMLEVEL option to control the symbols level (defaults to 2). [Aaron Giles]

Dumped internal ROM for Pinkiri 8 [Charles MacDonald]

Dumped internal ROM for Janshi [Charles MacDonald]

Documentation update [Stefan Lindberg, Dumping Union]
segas16b.c, taito_f2.c, taito_f3.c & taito_x.c: Corrected rom names and or added PCB locations to Ray Force, Arabian Magic, Liquid Kids, Twin Hawk. Added additional Sega game ID info for an Alien Syndrome set.

model3.c: Correct sound rom loading for the Scud & Scud Plus sets [Alex's Blog]

devlegacy.c,clifront.c,info.c [Miodrag Milanovic]
* Created legacy image device
* Moved opresolv implementation from MESS
* listmedia is option is available in MAME too
* listxml output now contains image devices

-romident can now identify chd's [smf]

Emulated protection check in Ron Jan [Angelo Salese]

Added default NVRAM to G-Stream [David Haywood]

Fixed default EEPROM for 1 on 1 Government [David Haywood]

Added default EEPROMs for each Brave Blade region [David Haywood]

Improvements to the Pinkiri 8 video emulation [David Haywood, Angelo Salese]

emuopts - added support for image devices parameters [Miodrag Milanovic]

Deviceized the VDP used by Pinkiri 8 HW [David Haywood]

Fixes for OS X PowerPC compile [R. Belmont]

Added color PROM of kickboy and corrected ROM filename [Team Japump, The Dumping Union]

New games added or promoted from NOT_WORKING status
Alien Challenge (2 sets) [Luca Elia, XingXing]
Lucky Girl (Z180-based HW) [David Haywood, Angelo Salese, Charles MacDonald]
Vortex [Lord Nightmare, David Haywood, Smitdogg, The Dumping Union]
The Berenstain Bears in Big Paw's Cave [B Zeidler]
Royal Queen [Charles MacDonald, Angelo Salese]
Night Gal [Charles MacDonald, Angelo Salese]
Night Bunny / Royal Night [Charles MacDonald, Angelo Salese]

New clones added
Wai Wai Animal Land Jr.(Japan)[Team Japump, The Dumping Union]
Phantoms II (Space Invaders hardware) [Andrew Welburn]  (enigma2b)
Toki (US, set 2) [Corrado Tomaselli] (tokiua)
Ooedo Fight (Japan) [Team Japump, The Dumping Union]

New games marked as GAME_NOT_WORKING
Battle Gear [R. Belmont]
Battle Gear 2 [R. Belmont]
Pop n' Music 5 [Guru]
Unknown Meyco Game [Trevor Brown, Antwon Barajas] (unkmeyco)
Puzzle Break [Smitdogg, The Dumping Union]
Ron Jan [Charles MacDonald, Brian A. Troha]

MAMETesters Bugs Fixed
- 03910: [Sound] All sets using stereo sound: Right speaker is louder than left speaker (hap)
- 03913: [Graphics] arcadecl: Playfield is offset to characters in both games. (hap)
- 03912: [Sound] kyros, kyrosj: Once you throw a punch, there is a white noise which lasts throughout the game (hap)
- 02572: [Known Issues/To-Do's] All Sets in xain.c: 68705 MCU is not dumped, behavior patched out (Phil Bennett, Dr. Decapitator)
- 02462: [Known Issues/To-Do's] storming: Supposed to be a bootleg without mcu. (hap)
- 03899: [Sound] All sets in cloak.c: Music pitch is higher than PCB (Tafoid)
- 03888: [DIP/Input] mstadium: Third button mapping missing. (Tafoid)

Source Changes
Added many instances of missing static and const qualifiers to MAME, and disabled a fair chunk of dead code in konamiic.c.  [Atari Ace]

Confirmation (with frequency counter) of proper 68000 clock speeds (16 MHz) for Premier Soccer and Golfing Greats.  [Fabrizio Vasile]

Updated expat library match the latest released version. (2.0.1) [Oliver Stoneberg]

Natural keyboard status saved in options when changed [Robbbert]

Improvements to the Pinkiri 8 video emulation [David Haywood]

Hooked up inputs and Dip-SW for Ron Jan and Pinkiri 8 [Angelo Salese]

Simplified vram access in Pinkiri 8 HW [David Haywood]

Added a skeleton driver for Philips CD-i-based arcade series, Quizard [Harmony]

Moved softlist implementation from MESS [Miodrag Milanovic]
* Moved image related UI from MESS to emu core
* Reimplemented filename related image device calls

Moved listsofware command line option from MESS, and added softlist in XML output [Miodrag Milanovic]

TMS52xx now uses proper IP/PC/Subcycle counting for audio generation. [Lord Nightmare]

video/cclimber.c: cclimber/ckong sprite X was off by 1 [hap]

Rewrote video emulation to use the device system in Little Robin [David Haywood]

Decrypted Double Dragon Italian bootleg char roms [Angelo Salese]

Super Game III: added handling for two consecutive writes for MMC1 making Snow Bros playable [Mariusz Wojcieszek, Fabio Pruli]

Moved ioproc implementation from MESS [Miodrag Milanovic]

Fixed bad cassette wave sound [Robbbert]

Super Game III: fixed Tom & Jerry [Mariusz Wojcieszek]

Added proper i8751H MCU dump to Legend of Hero Tonma (Japan) [Dr. Decapitator]

C++-ified the debugger views. Split implementation of individual view types out to separate files. Updated all callers. [Aaron Giles]

Changed emualloc to free resource pools from earliest to latest so that early objects can safely clean up stuff they allocated. [Aaron Giles]

Changed device name from an overridable function to a parameter passed to the device_config constructor. In situations where the proper name is not known at construction time, a generic name can be specified and then overridden later once the configuration is complete. [Aaron Giles]

Decapped 89C51 MCU in Real Battle Mahjong King [Dr. Decapitator, Guru]

metro.c: Added Puzzlet's MCU internal ROM. Zilog Z8 8-bit family MCU requires a new CPU core to be written. [Dr. Decapitator]

Hooked up Renegade 68705 MCU [Phil Bennett, Dr. Decapitator]

Made redufo Artic version the parent and bootleg version a clone [hap]

Hooked up Xain d'Sleena/Solar Warrior 68705 MCU [Phil Bennett, Dr. Decapitator]

Hooked up Daikaiju no Gyakushu 68705 MCU and removed MCU simulation code [Phil Bennett, Dr. Decapitator]

Added DIP LOCATIONS for xain.c  [Tafoid]

aristmk4: various improvements: [FrasheR, Palindrome]
* Fixed VIA for good. 5010 - 501F
* Hooked up push button inputs
* Hooked up ports for the PML 2852 U3
* Implemented coin input
* Lamp output and button layout
* NVRAM backup
* Connected SW7 for BG colour map select
* Added LK13. 3MHz or 1.5 MHz CPU speed select
* Added sound sample for mechanical meter pulse
* Replaced custom RTC code with MC146818

naomi.c: Corrected and updated some game names and cartridge descriptions [f205v]

neodrvr.c updates: [Johnboy]
* Tagged kof2003h AES VERSION
* Tagged the following sets as MVS AND AES VERSION: aodk, lbowling
* Renamed P1 in sengoku3 to correct chip label
* Marked v2 in strhoop BAD_DUMP
* Marked P1 in flipshot BAD_DUMP
* Identified kof98n as AES version, renamed to kof98h

Improved v25 logging for Batsugun [David Haywood]

igs011.c update [Luca Elia]
* Emulated IGS011 protection
* Emulated IGS012 protection
* Removed 149 rom patches

Hooked up Slap Fight/Alcon 68705 MCU [Phil Bennett, Dr. Decapitator]

Hooked up MCUs for Tough Turf (US) and Wrestle War; removed Wrestle War MCU simulation. [Aaron Giles, Dr. Decapitator]

cps2.c: Correct the release order for the Xmen: Cota (Hispanic) sets [gregf]

Made the machine_config a proper object. Added detokenize method to this object which can be called multiple times to append new devices after the initial machine configuration is set up. Updated member variables to match new naming convention. [Aaron Giles]

Changed the running_machine to take a constructed machine_config object in the constructor, instead of creating one itself, for consistency. Also added machine->total_colors() as a shortcut to machine->config->m_total_colors. [Aaron Giles]

firetrap.c: Added PCB documentation, corrected ROM names, corrected clocks [Guru]

idsoccer: Improved DIP locations, confirmed MSM5205 clock [Kevin Eshbach]

Fixed title screen colors in Bogey Manor [Angelo Salese, Stefan Lindberg]

Modified way device_type constants are defined in order to get unidasm compile [Miodrag Milanovic]

Changed autmoon (aristmk4) romload to proper crc/sha hashes.  The submitted romset contained a 32kb (u87.bin) which actually appeared to be an 8k overdumped. [Tafoid]

slapfght.c: Corrected rom names for the Slap Fight sets and added PCB locations to any set where possible. Added Dipswitch locations to Slap Fight.  Moved PCB information down to matching rom sets. [Brian Troha, Guru]

Split mame.c into mame.c and machine.c, the latter containing the running_machine definition and implementation. [Aaron Giles]

Moved global machine-level operations and accessors into methods on the running_machine class. For the most part, this doesn't affect drivers except for a few occasional bits: [Aaron Giles]

  mame_get_phase() == machine->phase()
  add_reset_callback() == machine->add_notifier(MACHINE_NOTIFY_RESET, ...)
  add_exit_callback() == machine->add_notifier(MACHINE_NOTIFY_EXIT, ...)
  mame_get_base_datetime() == machine->base_datetime()
  mame_get_current_datetime() == machine->current_datetime()

Cleaned up the region_info class, removing most global region accessors except for memory_region() and memory_region_length(). Again, this doesn't generally affect drivers. [Aaron Giles]

Resurrect the old sampling profiler, and improve it to be useful: [Aaron Giles]
* always available now, just specify -profile <n> to enable it
* supports stack walking to uniquely identify call chains; the <n> parameter to the -profile option specifies how deep to go
* automatically turns off throttling and multithreading, and sets the number of processors available to 1 (since we only sample the main thread)
* output now uses the common symbol lookup, which actually uses the PDB for MSVC builds and sym files for gcc builds
* the top 30 unique call chains are output

Fix performance regression for PowerPC games. The timing made heavy use of cpu_get_total_cycles() which is now slow. Better to use the legacy_cpu_device directly and call device->total_cycles() which avoids the dynamic_cast to find the execute interface from a generic device. [Aaron Giles]

Added cycles_to_attotime() and attotime_to_cycles() which is more often what is requested. (Clocks are the raw input clock, while cycles are internal clock after dividers/multipliers.) [Aaron Giles]

Removed most other instances of cpu_get_total_cycles. [Aaron Giles]

Removed the following functions: [Aaron Giles]
  cpu_get_total_cycles()   == cpudevice->total_cycles()
  cpu_clocks_to_attotime() == cpudevice->cycles_to_attotime()
  cpu_attotime_to_clocks() == cpudevice->attotime_to_cycles()

Correct dipswitch location order in World Rally to match actual dips as seen by the game / service menu. [Brian Troha]

namcos22.c: updated ridgerac, raveracw and acedrvrw to use keys instead of dipswitches for shifters [Fabio Priuli]

Added COPX romloading for sets that didn't have it, marked as BAD_DUMP until the assumption that they're the same is (un)confirmed. [hap]

Winmain cleanup: [Aaron Giles]
* created dynamic_bind<> template class to handle dynamically binding to optionally-supported functions
* wrapped stack walking code in a class
* wrapped symbol lookup code in a class
* added support for parsing objdump-produced symbol dumps which include non-global functions for much better stack dumps and profiling in gcc builds

Modified makefile for win32 targets to automatically run objdump and produce a .sym file if SYMBOLS is enabled. [Aaron Giles]

Update cheat loading to support image devices (moved implementation from MESS), use only CRC of first found image. [Miodrag Milanovic]

Removed cpu_get_sp(). [Aaron Giles]

Added overrides to fetch the execute, memory and state interfaces without doing a dynamic_cast<> to speed up common legacy operations. [Aaron Giles]

Created CPU-specific device types for all CPUs, using new macros DECLARE_LEGACY_CPU_DEVICE and DEFINE_LEGACY_CPU_DEVICE. Changed CPUs to be their own device types, rather than all of type CPU with a special internal subtype. Note that as part of this process I removed the CPU_ prefix from the ALL-CAPS device name, so CPU_Z80 is just plain old Z80 now. This required changing a couple of names like 8080 to I8080 so that there was an alphabetic first character. [Aaron Giles]

Hooked up Heavy Barrel I8751 MCU [Bryan McPhail, Dr. Decapitator]

[cb2001] added 2 new opcodes [robiza]

Hooked up Gondomania I8751 MCU [Bryan McPhail, Dr. Decapitator]

Reimplemented Meikyuu Hunter G I8751 MCU according to schematics [Bryan McPhail]

Software list update: [Wilbert Pol]
- Software list xml files are now read in full such that information for clone and parent sets is available.
- Added validity check to check for existence of parent sets.

Imported image related utils from MESS into /lib/util [Miodrag Milanovic]

Improved video emulation in cb2001 [David Haywood]

Added support for Sega 317-5000 decryption (same as 315-5177).
Reorganised decryption code. [Nicola Salmoria]

Moved debugging structure away from CPUs only and attached to all devices. Debugger now creates one for each device. C++-ified most debugger operations to hang off the debugging class, and updated most callers. [Aaron Giles]

Got rid of cpu_count, cpu_first, cpu_next, etc. as they were badly broken. Also removed cpu_is_executing, cpu_is_suspended, cpu_get_local_time, and cpu_abort_timeslice. [Aaron Giles]

Software list improvements: [Miodrag Milanovic]
- Support for multiple software list per driver
- Added MDRV_SOFTWARE_LIST_COMPATIBLE_ADD for adding compatible software lists (for documentation purposes) [Miodrag Milanovic]
- listsoftware option now return only original software lists
- UI is updated to enable mounting software items per device, it will display only items from list that are for specific device
- Separate compatible software lists in UI

New games added or promoted from NOT_WORKING status
Slap Fight (set 1) [Phil Bennett, Dr. Decapitator]
Alcon [Phil Bennett, Dr. Decapitator]

New clones added
The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board 2) [Johnboy]
Looping (Video Games GMBH) [Andrew Welburn]
Defend the Terra Attack on the Red UFO (Artic) [The Dumping Union]
Crazy Kong (Falcon?) [Fred O.]
Exciting Animal Land Jr. (USA) [Smitdogg, The Dumping Union]
American Soccer [Kevin Eshbach]
Virtua Striker 2 '99 (Revision B) [Guru]
Fire Trap (Japan) [Guru]
Marvel Vs. Capcom: Clash of Super Heroes (USA 971222) [Razoola]
Raiden DX (UK) [Irongiant]
Boggy '84 (original Kaneko) [Klaus Sommer, Team Europe, The Dumping Union]
Exerizer (Japan) [N. Francfort, blib, Smitdogg, The Dumping Union]

New games marked as GAME_NOT_WORKING
Quizard (1.7) [ANY, The Dumping Union, Harmony]
Quizard (2.2) [ANY, The Dumping Union, Harmony]
Quizard (3.2) [ANY, The Dumping Union, Harmony]
Quizard Rainbow (4.1) [ANY, The Dumping Union, Harmony]
Model Racing Shooting Game (unknown title) [Luigi, Volker Hann, Team Europe]
Out Run 2 (Rev. A) [GDX-0004A]  [Team Europe, The Dumping Union, Alex]


MAMETesters Bugs Fixed
- 02813: [Sound] amerdart, amerdart2: No sound due to missing ROM (Quench)
- 03606: [Multisession] altbeast, aliensyn3: Graphic corruption on multiple segas16b.c launches in single session. (Atari Ace)
- 03536: [Misc.] PowerPC core: Overlapping data buffers (Atari Ace)
- 03943: [Graphics] tknight, wildfang: The screen shaking effect is missing in MAME. (hap)
- 00790: [Documentation] armwrest: DIP switch inspection. (hap)
- 03938: [Crash/Freeze] torus: Crash after completing Level 1 (Fabio Priuli)
- 03928: [Crash/Freeze] Many sets: Out of memory crash using -cheat (Aaron Giles)

Source Changes
Fix SH-2 interpreter [Atari Ace]

fix xmcotah/xmcotahr1 ROMs [Razoola]

turned i2cmem into a c++ device & ditched the unused legacy device. [smf]

Added per-device image softlist loading routine [Miodrag Milanovic]

Renamed feof to image_feof (in device_image_interface) in order to compile on FreeBSD [El Barto]

Removed devtag_get_device(); use machine->device() instead. [Aaron Giles]

Removed the global clock accessors and cpu_* aliases: [Aaron Giles]

   cpu_get_clock == device->unscaled_clock
   cpu_set_clock == device->set_unscaled_clock
   cpu_get_clockscale == device->get_clock_scale
   cpu_set_clockscale == device->set_clock_scale

Fix bad loop condition that shows up with -cheat enabled. [Aaron Giles]

Adding ability to support other types of software lists, so floppies, cassettes, cd-roms are now possible to be used [Miodrag Milanovic]

MAMEdev kant spel (Ubuntu/Canonical cares about this) [wallyweek]

Add *IX man pages for MAME and utils [wallyweek]

Clean up some files without a newline at the end for GCC [wallyweek]

Added second button (Hyper Jump) to be used after cued via speech to allow jumping to other phases without finishing the current mission. Volume adjusted to better levels (AY was way too low in comparison to speech)  [gravilidavide, Tafoid]

snowbros.c: Add Dipswitch locations to Puzzle King, Hyper Pacman, Cookie & Bibi 2, Cookie & Bibi 3, More More.  Filled in dips with Dipswitch locations for Puzzle Break. [Brian Troha]

Load (but don't yet use) the decapped MCUs for several sets [Dr. Decapitator]
* kyros
* kyros (alt, original MCU dump?)
* arkanoid (I think the supported MCUs are bootlegs..)
* blackt96
* amerdarts
* cshooter
* josvolly (there are other chips still need decapping)
* invasnab (i'm not convinced this one is good)
* pasha2
* empcity
* topshoot
* topbladv (no CPU core for this yet)
* officeye (no CPU core for this yet)
* revx

Added the proms to Magical Odds [Smitdogg, The Dumping Union]

converted at28c16 to a c++ device. [smf]

arkanoid.c: Added or corrected the PCB location for the genuine Arkanoid rom sets and documented the MCU Taito ID number [Brian Troha]

Replaced the old MCU dump with the decapped version for Kick Start Wheelie King [Dr. Decapitator]

Replaced the old MCU dump with the decapped version for Pipeline [Dr. Decapitator]

[cb2001] new opcodes [robiza]

Fixed image unload and creation [Sandro Ronco, Miodrag Milanovic]

cb2001: hooked up reels [David Haywood]

Rewrite of 'Wheels & Fire' driver [Tomasz Slanina]
* new rendering code
* preliminary zooming (based on lookup table)
* preliminary communication between main and sound cpu
* scanline interrupts and scroll

segas16b.c: Removed 2 obsolete "USER2 Work space" and changed remaining USER2 to MCU to maintain consistence throughout the driver. [Brian Troha]

Added information on the Naomi 171-8346C cartridge type [f205v]

'Massive' Neo Geo documentation update [Johnboy]:
* Added official SNK Playmore title catalogue
* Identified and tagged all MVS sets which were not officially released for the AES system (according to official SNK Playmore title catalogue and Neo-Geo Masterlist)
* Several sets have been identified (AES / MVS VERSION) and tagged properly
* Documented MULTI PLAY MODE (unemulated); Missing MCU
* Updated game PCB information
* Renamed kof99n to kof99k (KOREAN VERSION)
* Renamed P's in mslug3 to correct chip label, added SMA comment
* Renamed ROMs in jockeygp according to original cart, added some comments
* Renamed ROMs in vliner/vlinero according to original cart, added some comments
* neodrvr.c cleanup

Fixed some bugs in the MB88xx CPU core [Alex Jackson]

Various improvements to polepos.c [Alex Jackson]:
* Corrected the way the steering wheel is hooked up, fixing the jittery steering in the sets with MCUs.
* Added a new layout file for the bootleg sets without MCUs (topracern and polepos2bi).
* Converted clock frequencies to crystal values from xtal.c.
* Added correct ROM names for the Namco-manufactured sets (polepos and polepos2).
* Completely removed the unused global variable polepos_gear_bit.
* Fixed a couple of bootleg ROMs that were very likely bit-rotted.

Added some missing makefile dependencies [Atari Ace]

Allow the non-DRC RSP core to build again (controlled by a #define like the SH-2 core) [Atari Ace]

segas16b.c: Corrected the rom names for the FD1094 317-0120 Golden Axe set and verified the dump as good. [Brian Troha]

lr35902.c: Added the speed register to the register list to allow it to be changed and retrieved again. [Sandro Ronco]

converted mb3773 from a legacy device to a c++ device. tidied up comments in at28c16 [smf]

djboy.c: Added unverified Beast MCU internal ROM image [Dr Decapitator, Tomasz Slanina, Lord Nightmare, Phil Bennett]

sfbonus.c: Added the Amcoe "Classic Edition Compact Format" PCB layout. [Brian Troha]

Added TMS32015 and TMS32016 CPU variants to the TMS32010 core. Fixed LST instruction which was sometimes adjusting internal RAM banking incorrectly.  [Quench]

Added Ameri Darts internal DSP dump and TMS32015 support to the Amerdart driver. Also added savestate support to the game. [Dr Decapitator, Quench]

RSP: Fix sign issue in VCL opcode [angrylion]

New games added or promoted from NOT_WORKING status
Puzzle Break [David Haywood, Smitdogg, The Dumping Union]

New clones added
Mystic Riders (bootleg?)  [David Raingeard]
Magical Odds (set 2) [W. Herve, Smitdogg, The Dumping Union]
Raiden Fighters Jet - 2000 (China) [Brian Troha, Guru]
Wonder Boy III - Monster Lair (set 6, System 16A, FD1089A 317-xxxx) (better dump?) [Team Europe]
Street Fighter Zero (Hispanic 950718) [Layne, N. Francfort, R. Mucciarelli, Smitdogg, The Dumping Union]
Captain Commando (World 911202) [Stefan Lindberg, The Dumping Union]
Space Ship [f4brice]
Juuouki (set 5, Japan, FD1094 317-0069, not working) [Stefan Lindberg, The Dumping Union]
Wild Fang [Stefan Lindberg, The Dumping Union]
Fruit Bonus '06 - 10th anniversary (Version 1.3R CGA) [Brian Troha, The Dumping Union]
Terminator 2 - Judgment Day (rev LA4 08/03/92) [Gor, Smitdogg, The Dumping Union]

New games marked as GAME_NOT_WORKING
Gundam Battle Operating Simulator (GDX-0013) [Team Europe, Joerg Hartenberger]
Sega Club Golf 2006 Next Tours (Rev A) (GDX-0018A) [Team Europe, Joerg Hartenberger]
Ollie King (GDX-0007) [Team Europe, Joerg Hartenberger]
Tokio/Scramble Formation (japanese?, newer) [Guru, Roger Coltrane, Smitdogg, The Dumping Union]

MAMETesters Bugs Fixed
- 03898: [Crash/Freeze] Atomiswave-based games in naomi.c: Game gets stuck in boot process. (Aaron Giles)
- 03957: [Documentation] samsh5sp & clones: according to title, year is 2004 not 2003 (moa)
- 03318: [Crash/Freeze] -burnin causes crash in vector games (Atari Ace)
- 03777: [Multisession] a51site4: Hang after loading via internal UI (multisession) (Atari Ace)

Source Changes
arm.c: Added big endian mode support to the LDRB and STRB instructions. [Wilbert Pol]

CPS-1 update [Team CPS-1]:
* Added missing PALs as reference to most of remaining sets
* Dumped and added TK24B1.1A to dynwar [Corrado Tomaselli]
* Fixed LW-13.10D rom loading in forgottn to match real pcb
* Identified, verified and documented a ton of pcbs, adding/fixing missing/wrong infos as ROMs labels and positions, B-Board, C-Board and CPSB IDs, PALs [Stefan Lindberg, Dlfrsilver, MKL]
* Reordered all sets per release date in cps1.c and video\cps1.c
* Updated games table in video\cps1.c and added some notes on PALs table
* Minor cleanups

djboy.c: Hooked up Beast MCU and removed simulation code. [Phil Bennett]

arm.c: Fixed word reading from non-aligned address in big endian mode. [Wilbert Pol]

skyfox.c: Corrected clocks and Vsync for the Sky Fox & Exerizer sets based on actual OSCs and measurements taken from a real PCB [Corrado Tomaselli]

arm.c: Added a big endian version of the arm2/3/6 cpu core and cleaned up the little/big endian handling. [Wilbert Pol]

djboy.c: Added DIP switch locations and corrected the vsync to 57.5Hz as per the readme info listed at the top of the driver. [Brian Troha]

mediagx.c: Converted to use driver_data [Atari Ace]

Fixed sprite coordinates in astrocorp.c [Luca Elia]

Corrected Ameri Darts audio playback rate. This exposed some cycle timing errors in the TMS32010 CPU core which are also fixed. [Quench]

Added support for Southern Systems Joker Poker (1982), from Southern Systems & Assembly, Ltd. Figured out the memory map. Also added technical notes about the hardware. [Roberto Fresca]

Corrected the address for the freezing of the movies for the Terminator 2 LA4 set [stephh]

emu/info.c: Search all parents of a clone for merged ROMs [Atari Ace]

Fixed HD63701 SLP opcode [Sandro Ronco]

mpu4.c: Added splitscreen support to SCN2674 for MPU4 Video. [AGEMAME]

neodrv.c updates: [Johnboy]
* Identified several more sets as MVS / AES Version and tagged them properly
* Updated game PCB info
* bakatono: Removed BAD_DUMP from m1 - is correct, corrected game name
* mahretsu: Added correct s1, corrected game name
* strhoop: Added correct v2
* sdodgeb: Replaced 16mbit v1/v2 with 32mbit v1 as found on two original cards
* Added Japan J3 bios

neogeo.c changes:
* Documented AES mode and 1-slot (MVS/AES) settings [Barry Rodewald]
* Documented MVS 4-slot and 6-slot settings [Johnboy]
* Changed 6-slot setting (old default) to 1-slot [Johnboy]

Add notification of orientation of all monitors at startup via the output system. [Laszlo Schulteisz]

New games added or promoted from NOT_WORKING status
Speed Drop [Brian Troha, Luca Elia, The Dumping Union]

New clones added
Mystic Warriors (ver AAA) [J. Wilke, Smitdogg, The Dumping Union]
AmeriDarts (set 3) [Brian Troha, The Dumping Union]
Captain Commando (Japan 910928) [john666, Dr. Spankenstein, Smitdogg, The Dumping Union]
Forgotten Worlds (USA, 88621B B-Board) [Corrado Tomaselli, The Dumping Union]
Galaxy Force II (Japan, Newer) [Team Japump, The Dumping Union]
Quiz King of Fighters (Korean release)
Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special (Korean release)
Quiz Daisousa Sen - The Last Count Down (Korean release)

New games marked as GAME_NOT_WORKING
Southern Systems Joker Poker [Roberto Fresca, Siftware]

MAMETesters Bugs Fixed
- 03969: [Crash/Freeze] All sets and drivers using OKI audio: Eventual crash using Save States (Aaron Giles)
- 03981: [Crash/Freeze] bosco, xevious and clones: Game reboots or hangs (Alex Jackson)
- 03977: [Graphics] tceptor2: Graphics are incorrect, the top and bottom roads are displayed with grids and it looks like there should be 4 instead of 2. (Phil Bennett)
- 03964: [Documentation] shangonro: Year is wrong (Smitdogg)

Source Changes
raiden2.c: Add missing "VOICE2" sample rom to Raiden 2 sets where it was missing.  Corrected rom names for MASK roms soldered to the PCB. [Brian Troha]

Southern Systems Joker Poker: Added missing CPU IO map to the machine driver. This allow boot the game and enter into the attract mode. [Roberto Fresca]

Mini Boy 7 improvements: [Roberto Fresca]
* Added a new complete set. Now set as parent.
* Corrected Xtal frequency.
* Mapped the PIA MC6821 (not wired since is not totally understood).
* Preliminary attempt to decode the color PROM.
* Mapped the AY-3-8910, but still needs ports and some checks.
* Added debug and technical notes.

New driver for Mega Double Poker, from Blitz System Inc. [Roberto Fresca]
* Initial release.
* Preliminary memory map.
* Hooked both PIAs, but need more analysis to confirm the offsets.
* Accurate graphics and color decode.
* Added main PCB and daughterboard layouts.
* Added partial docs and diagrams about the CPU/MCU/ROMs addressing.
* Added debug and technical notes.

Added Magic Train, from Subsino. Since it's driven by a HD647180X0CP6 (Subsino - SS9600) plus SS9601 and SS9602 (for video and I/O respectively), it's possible that needs to be moved to a new driver in a near future. Also added technical notes. [Roberto Fresca]

mpu4drvr.c: Fixed mid-screen palette updates [David Haywood]

segas16b.c: Documented the Sega game ID for the Heavyweight Champ rom board as well as corrected the rom names. [Brian Troha]

Return to type safety. Changed address maps back into functions that build up the definition, rather than the whole tokenizing system, which lost type checking. Added a new module addrmap.c which implements the address map classes, and changed the macros to call methods on the address_map and address_map_entry classes which are strongly typed. Fixed a few incorrectly specified memory map entries along the way in twincobr.c, lordgun.c, galaxold.c. [Aaron Giles]

More API cleanup: [Aaron Giles]
* removed cputag_clocks_to_attotime() and cputag_attotime_to_clocks() in favor of just expanding the class
* same for cputag_suspend() and cputag_resume()

Fix crash when exiting the debugger if breakpoints are set. [Aaron Giles]

The dsp561xx CPU core now generates accurate disassembly for Konami Polygonet hardware (verified against Motorola's reference disassembler). [Andrew Gardner, Stiletto]

Fixed image device error handling [ShimaPong, Miodrag Milanovic]

Defined new class driver_data_t, which all driver_data classes must derive from. Updated all class definitions to inherit from the new class, and to call it in the constructor. Also changed the alloc() signature to return a driver_data_t pointer instead of a void *. Renamed and hid machine->driver_data as machine->m_driver_data. Added a new templatized method machine->driver_data<class> which returns a properly downcast'ed version of the driver data. Updated all code which looked like this:

  mydriver_state *state = (mydriver_state *)machine->driver_data;

to this:

  mydriver_state *state = machine->driver_data<mydriver_state>();

The new function does a downcast<> which in debug builds dynamically verifies that you're actually casting to the right type. [Aaron Giles]

Changed atarigen_state to be a base class from which all the related Atari drivers derive their state from. [Aaron Giles]

Removed global variables from gaelco, namco, and nile sound cores. [Atari Ace]

Converted seta.c, seta2.c, and ssv.c to driver_data. [Atari Ace]

Updated SAA5050 to form 12x20 chars as noted in documentation. Updated malzak driver to support SAA5050 changes. [Miodrag Milanovic]

taitotz: add HDD image for Battle Gear 2 (2.04J) [gtbb08, R. Belmont]

namcoic.c: Fixed incorrect road colours in tceptor2, finallap and others [Phil Bennett]

Fixed road transparency in Thunder Ceptor [Phil Bennett]

Fixed Z80 SIO interrupts by clearing them at constructor time so Z80 daisy chain works properly and doesn't stall on a non-existant IEO condition. [Curt Coder]

Z80 DMA changes: [Curt Coder]
- Fixed DMA by re-adding a status update call to ENABLE DMA command
- Allowed illegal mode 0 DMA operation since trs80m2 in MESS is abusing this
- Fixed ready signal handling by adding a check for ready condition on each byte

Started converting the Toaplan2 VDP into a device [David Haywood]

dsp56k : Hooked up new execution engine. [Andrew Gardner]

plygonet.c : Updates Polygonet driver to use driver_data class. [Atari Ace]

More refactoring to the Toaplan 2 / GP9001 VDP device [David Haywood]

CPS-1 update [Team CPS-1]:
* Expanded and updated games table in video\cps1.c
* Confirmed B-Board # for 3wondersu, varth
* Fixed labels in ghouls, ghoulsu to match real pcbs
* Removed 14.bin in dynwarj, it was a bad dump
* Marked nm_23.12b in nemoj BAD_DUMP
* Removed knightsja set (roms were split & hacked to work on a suicided board)
* Added roms relationship between parent/clones where missing
* Fixed some incorrect notes added in previous update
* dynwaru -> dynwara forgottnua -> forgottnu, forgottnu -> forgottnua wofhfb -> wofhfh as real name Huo Feng Huang
* Reordered some sets
* Minor cleanups
* Fixed sf2ceua labels and added pcb infos
* Fixed sf2ceub labels and added pcb infos, removed 1 incorrect rom and replaced with proper redump done by Dumping Union
* Fixed punisher, punisheru Q-Sound labels and added D-Board PALs

dsp56k.c : Remove globals from dsp56k cpu core. [AtariAce]

cps1.c: Documentation update for some CPS1 sets (B-Board chip information) verified via Team Japump PCB photos. [Brian Troha]

Improved memory banking in Puzzle Star (Sang Ho Soft) [Mariusz Wojcieszek]

Fixed term2 (rev. LA4) freeze during the Cyberdyne stage opening cinematic [Phil Bennett]

Merged aladbl.c and ssf2md.c to create genesisb.c [Sonikos]

video/astrocde.c: Limited the number of timers potentially produced by astrocade_trigger_lightpen() [ranger_lennier]

cps1.c: Set correct B-Board mapper for "resale" kits.  This fixes missing graphics in Area 88 (Japan Resale). [Brian Troha]

New games added or promoted from NOT_WORKING status
Pacman - 25th Anniversary Edition (V2.0) [Sara S.]
The Last Starfighter (prototype) [Phil Bennett, Ken Van Mersbergen]
Air Race (prototype) [Phil Bennett, Ken Van Mersbergen]

New clones added
Clash-Road (Data East license) [Tirino 73]
Quizard v1.2 [Team Europe, The Dumping Union]
Quizard Rainbow 4.2 [Team Europe, The Dumping Union]
Super Megatouch IV Turnier Version (9255-51-50 ROA, Bi-Lingual ENG/GER version) [bodger319, Smitdogg, The Dumping Union]
Megatouch 5 Turnier Version (9255-70-50 RON, Bi-Lingual ENG/GER version) [bodger319, Smitdogg, The Dumping Union]
Knights of the Round (Japan 911127, 91634B-2 B-Board) [Team Japump, The Dumping Union]
Area 88 (Japan Resale Ver.) [Team Japump]
Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.00) [Mark F.]
Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.03) [Sara S.]

New games marked as GAME_NOT_WORKING
Mini Boy 7 (set 1) [Roberto Fresca, Siftware]
Mega Double Poker (conversion kit) [Roberto Fresca, ChrisQC, Smitdogg]
Magic Train [Roberto Fresca]
Gundam Seed: Federation vs. Z.A.F.T. (SED1 Ver. A) [Guru, Smitdogg]


MAMETesters Bugs Fixed
- 02449: [Graphics] lethalen: Can't find the flip bits used for the tiles.. (p2 start screen, reload indicator).
- 04026: [Graphics] combatscb: Experiences various graphics glitches. (robiza)
- 01215: [Crash/Freeze] combatscb: Crashes on level 3 and experiences various graphics glitches.
- 00229: [Color/Palette] truxton: The background colour on the title screen of Truxton should be green. (robiza)
- 00949: [Graphics] outzone: In stage 6 there are two blank box on the background. (robiza)
- 03203: [Misc.] All sets in docastle.c and mrdo.c: Unable to enter Service Mode (Phil Bennett)
- 04009: [Save/Restore] pacland and clones: Reload of state cause game issues (Phil Bennett)
- 03858: [Graphics] batsugun, batsuguna, batsugunsp, dogyuun: tiles/ tiles and tiles/sprites priorities problems (David Haywood)
- 03718: [Crash/Freeze] shdancer: Freeze on stage 2-4 (Phil Bennett)
- 03881: [Crash/Freeze] minefld, rescue, aponow: Hangs at Post (Phil Bennett)
- 03961: [Crash/Freeze] racedriv and clones: Game resets itself before game start (Phil Bennett)
- 04006: [Graphics] fixeightb: Graphic glitches (David Haywood)
- 03755: [Sound] soldivid: No music after loading savestate (or -autosave) (Phil Bennett)
- 03820: [Save/Restore] batlbubl, bangball: Using -autosave causes audio to malfunction (Phil Bennett)
- 04004: [Graphics] pballoon: Screen is shifted left. (David Haywood)
- 03986: [DIP/Input] All sets in enigma2.c: Most Dip Switches no longer function (Phil Bennett)
- 03730: [Save/Restore] parodius: The game freeze or reboot when using -autosave/save state (Phil Bennett)
- 04001: [Save/Restore] All sets in mappy.c: Reload of state causes audio corruption (Phil Bennett)
- 03994: [Save/Restore] All sets in dcheese.c: Reload of state causes audio corruption (Phil Bennett)
- 03992: [Save/Restore] btoads: Reload of state cause major graphic corruption (Phil Bennett)
- 03991: [Save/Restore] bigevglf : Reload of state cause audio corruption (Phil Bennett)
- 03993: [Save/Restore] All sets in crshrace.c: Reload of state cause loss of audio (Phil Bennett)
- 03989: [Save/Restore] asterix and clones: Reload of state causes loss of audio (Phil Bennett)
- 03998: [Documentation] bmiidx3: Game name description. (M.A.S.H.)
- 03978: [DIP/Input] cyclshtg, bronx: Dipswitches are wrong (stephh)
- 03988: [Save/Restore] ace: Reload of state causes a graphic problem (hap)
- 03996: [Crash/Freeze] All games in taito_x.c: Crash before OK (Atari Ace)

Source Changes
Added sound support to Signetics S2636 (by using VC4000 sound support from MESS). Hooked up sound to Malzak, Galaxia and Astro Wars [Mariusz Wojcieszek]

Corrected rom names for Raiden Fighters 2 (Asia, Metrotainment License) set based on pcb pictures [Lord Nightmare, Tormod]

Hooked up S2636 sound to zac2650.c [Mariusz Wojcieszek]

seibuspi.c: Fixes the "FIX" graphics load. May require specific ENDIAN to work on all platforms. Both new Asian sets now work correctly. [Brian Troha]

seibuspi.c: Add default EEPROM to the Raiden Fighters Jet (US, Single Board) set so it will boot correctly the first time run. [Brian Troha]

Removed several exported non-const global variables from the core [Atari Ace]

nycaptor, colt, cyclshtg, bronx (nycaptor.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the Z80 code)

Golden Poker driver: Fixed tilemap issues with games using 60Hz/50Hz modes, selectable through DIP switches. [Roberto Fresca]

Added support for 'Genie'. An old magic-lamp themed game from Video Fun Games Ltd. [Roberto Fresca]
* Decoded graphics and colors.
* Accurate inputs.
* Discrete sound.
* Default NVRAM support.
Xtal, CPU clock, and some discrete components values need to be checked from PCB.

Changed Noraut Joker Poker (Prologic HW) manufacturer to Video Fun Games Ltd. [Roberto Fresca]

Added save-state support to the K053260 sound core [Phil Bennett]

Added save-state support to the MSM5232 sound core [Phil Bennett]

Converted TLC34076 to a device [Phil Bennett]

Cleaned up toaplan2 driver and converted it to use driver_data [Atari Ace]

Merged topshoot into the megadrvb driver (formerly genesisb) [Sonikos]

Hooked up some quick and dirty video routine to Aristocrat Mk-5 [Angelo Salese]

Acorn Archimedes / Aristocrat MK-5: Added Force IRQ/FIRQ hook-up and hooked up an undefined behaviour for a timer check, fixes CPU check during POST [Angelo Salese]

Implemented I2C accesses to the Acorn Archimedes / Aristocrat MK-5 HW, fixing SRAM check [Angelo Salese]

Added clock read-back register to the I2C device [Angelo Salese]

Fixed the Sound DMA in Acorn Archimedes / Aristocrat MK-5, adding sound support to the drivers [Angelo Salese]

Add IC pinout to VLM5030 driver. Still need translation of the datasheet for VCU, RST (which does more than just reset) and MTE. [Lord Nightmare]

Added sound hook-up to the Erotictac HW, sound doesn't yet work due of missing memory management hook-up [Angelo Salese]

Added 2KHz timer to Aristocrat MK-5 HW [Angelo Salese]

Attempt to fix reported GCC 4.5 problems [R. Belmont]

Fixed a fatal bug in MEMC handling and removed the mapping kludge for Aristocrat MK-5 [Angelo Salese]

Improved video emulation to the Aristocrat MK-5, added bare-bones VIDC DMA transfer and timings, added 8bpp mode [Angelo Salese]

Added save-state support to the YMF278B core [Phil Bennett]

Rewritten I/O device r/w accesses in Acorn Archimedes/Aristocrat MK-5 [Angelo Salese]

Added missing save-state registration entries to the SH-2 core [Phil Bennett]

Converted address_space to a class, and moved most members behind accessor methods, apart from space->machine and space->cpu. Removed external references to 8le/8be/16le/16be/32le/32be/64le/64be. All external access is now done via virtual functions read_byte()/read_word()/etc. Moved differentiation between the endianness and the bus width internal to memory.c, and also added a new axis to support small/large address spaces, which allows for faster lookups on spaces smaller than 18 bits. [Aaron Giles]

Provided methods for most global memory operations within the new address_space class. Updated callers to use these instead of the old global functions. [Aaron Giles]

Created new module delegate.h which implements C++ delegates in a form that works for MAME. Details are in the opening comment. Delegates allow member functions of certain classes to be used as callbacks, which will hopefully be the beginning of the end of fetching the driver_data field in most callbacks. All classes that host delegates must derive from bindable_object. Today, all devices and driver_data do implicitly via their base class. [Aaron Giles]

Added an alternate set of address map macros. Now, if you #define ADDRESS_MAP_MODERN prior to #including "emu.h", you will get the new macros, which have the following properties: [Aaron Giles]
* ADDRESS_MAP_START takes a 4th parameter, which is the name of the driver_data class the other macros will reference
* AM_READ/AM_WRITE/etc. all assume you are providing method names off of the driver_data class you originally specified
* AM_READ_LEGACY/AM_WRITE_LEGACY macros are provided for calling global static functions of yore
* AM_BASE/AM_SIZE all assume you are providing member names off of the driver_Data class
* AM_BASE_LEGACY/AM_SIZE_LEGACY are provided to reference globals if necessary

Defined delegates for read/write handlers. The new delegates are always passed an address_space reference, along with offset, data, and mask. Delegates can refer to methods either in the driver_data class or in a device class. To specify a delegate in an address map, you must #define ADDRESS_MAP_MODERN before including emu.h, at which point the AM_READ/AM_WRITE macros will require member function pointers into your driver_data class. Delegates that are specified in an address map are proto-delegates which have no object; they are bound to their object when the corresponding address_space is created. [Aaron Giles]

Added machine->m_nonspecific_space which can be passed as the required address_space parameter to the new read/write methods in legacy situations where the space is not provided. Eventually this can go away but we will need it for a while yet. [Aaron Giles]

Added methods to the new address_space class to dynamically install delegates just like you can dynamically install handlers today. Delegates installed this way must be pre-bound to their object. [Aaron Giles]

Moved beathead's read/write handlers into members of beathead_state as an example of using the new delegates. This provides examples of both static (via an address_map) and dynamic (via install_handler calls) mapping using delegates. [Aaron Giles]

Changed the DIRECT_UPDATE_CALLBACKs into delegates as well. Updated all users to the new function format. Added methods on direct_read_data for configuring the parameters in a standard way to make the implementation clearer. Updated all users. [Aaron Giles]

Created a simple_list template container class for managing the common singly-linked lists we use all over in the project. [Aaron Giles]

Replaced "const address_space" with "address_space" throughout the system. The purpose of making it const before was to discourage direct tampering, but private/protected does a better job of that anyhow, and it is annoying now. [Aaron Giles]

neodrvr.c updates: [Johnboy]
* Renamed the following sets: sengokh -> sengokuh, fatfursa -> fatfurspa, shocktra -> shocktroa kof99 -> kof99h, kof99a -> kof99
* Removed wh2j (only diff. C-ROM arrangement; same data)
* Added correct m1 to sengoku3
* Corrected ROM_REGION "maincpu" for . twinspri, ghostlop, aof2, aof2a, fightfev, fightfeva
* Added correct p1 ROM to irrmaze

Changed GP9001 (toaplan VDP device) to use DEVICE_SELF [David Haywood]

Added 3 Bags Full - 5VXFC790 (Victorian). Set is now parent. Replaced the bad dumped GFX from NZ set with the new ones, since they match 4 of 6 bitplanes. [Roberto Fresca]

Improvements to calomega.c driver [Roberto Fresca]
* Added Game 24.0 (Gaming Draw Poker, hold). The game is playable.
* Added missing 50/60Hz output frequency selector to systems 903-905. However, I dunno how it looks physically (switch/jumper/bridge?)
* Injected missing start and NMI vectors to comg080 (Arcade Black Jack), from an exhaustive program ROM analysis / reverse engineering. The game now starts ok and is triggering proper NMI's.
* Inputs from the scratch for comg080 (Arcade Black Jack).
* Added workaround to pass the vector-check protection.
* Reworked the lamps circuitry by system-basis.
* Updated games list and technical notes.
* Promoted comg080 (Arcade Black Jack) to working state.
* Added support for system 906III:
* Accurate memory map, CRTC, and PIAs mapped.
* Preliminary PIAs support (no multiplexion yet).
* Added proper machine driver, with correct R65C02 CPU.
* Documented the hardware specs.
* Added Game 51.08 (CEI Video Poker, Jacks or Better), running in CEI 906III hardware. The game is not working.

Various sm8500 CPU core fixes [Robbbert]

Improvements to CEI 906 III system. [Roberto Fresca]
* Corrected docs about the 906III memory map.
* Mapped the AY8912.
* Added AY8912 proper interfase. Tied SW2 to AY8912 port.
* PIA0, portA is polled constantly. Tied some debug handlers to understand how the input system works.
* Added notes about the PIAs R/W.

Clear Z80 DART interrupts at constructor time. [Curt Coder]

Imported the Hitachi HCD62121 CPU core from MESS. [Curt Coder]

crospang, heuksun, bestri (crospang.c) [stephh] :
* Improved Dip Switches (after verification of the M68000 code)

Expanded the Z80-DART interface to allow future implementation of Z80-SIO features: [Curt Coder]
* added separate clock inputs for channel B
* added SYNC inputs/outputs for both channels

Toaplan2: Attempted to implement dual VDP mixing with the equations provided by Quench, doesn't yet work [David Haywood]

added correct GFX roms for Gang Wars, renamed bootleg set as Euro set (and new parent),made note about bootleg GFX roms [David Raingeard]

Documented unemulated protection in Super Champion Baseball, marked the game with GAME_UNEMULATED_PROTECTION due of that [Angelo Salese]

segaic16.c: Treat unsupported read and write accesses to defined devices/memory as open-bus reads or unmapped writes instead of falling through to the memory-mapping registers [Phil Bennett]

Added mask-free versions of read_word/read_dword/read_qword to address_space. Also added unaligned variants that can read unaligned values. Rewrote the core handler as a template that handles all cases, along with a simple unit test to verify that everything is correct. [Aaron Giles]

Updated 68k, v60, i86, and nec cores to use unaligned read/ write instead of their own stubs for handling misalinged reads. [Aaron Giles]

Fixed memory management of ga2 decryption. [Aaron Giles]

Fixed Toaplan2 VDP mixing in Batsugun [David Haywood]

Toaplan2: Removed tile limit hack, not needed now since VDP is mixed properly [David Haywood]

Correct the rom labels for the atari version of Arabian [The Dumping Union]

Cleaned up internal profiler code. [Aaron Giles]

All American Football set updates: [Phil Bennett]
* aafb: Added missing 03-28008.u93 GFX ROM
* aafbb: Marked 24015-02.u59 BAD_DUMP and demoted set to GAME_NOT_WORKING

Declared virtual functions in driver_data_t for:
* machine_start, machine_reset
* sound_start, sound_reset
* palette_init, video_start, video_reset, video_update, video_eof The default implementations of these call through the machine configuration's functions as before. However, if a driver_data_t overrides them, it will be called instead. [Aaron Giles]

Also added virtual functions for pre_save() and post_load(), which can be overridden to implement machine driver-specific pre-save/post-load functionality instead of registering with the save state system. [Aaron Giles]

Updated beathead to use these new virtual functions instead of specifying callbacks in the MACHINE_DRIVER. [Aaron Giles]

CPS-1 update [Team CPS-1]:
* Added proper willowj roms to match real pcb, it was using incorrect roms copied from parent set
* Added an old pcb rev of knightsj, using split roms
* Added an old pcb rev of kodj, using split roms
* Added newer Street Fighter II CE set
* Fixed kodj labels and confirmed pcb infos
* Fixed qadj labels, added PALs and pcb infos
* Fixed sf2ua labels and added pcb infos
* Minor cleanups and fixes

fastlane (fastlane.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the HD6309 code)

Fixed various issues in the AA emulation, this makes Poizone to
theoretically work as current ertictac.c emulation (not yet enabled) [Angelo Salese]

firetrap, firetrapj, firetrapbl (firetrap.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the Z80 code)
* Fixed coin insertion which now correctly supports "Coin A" and "Coin B" settings
* Fixed MCU simulation for 'firetrapj' (only the initialisation was different) so the game is now playable

Z80DART changes: [Curt Coder]
* added SIO specific constants
* added sync character write registers

Z80: Set IFF1 and IFF2 to 0 on a reset [Phil Bennett]

Updated the 7474 device to no longer be legacy. [Harmony]

Updated the 6522 VIA device to no longer be legacy. [Harmony]

Updated the 6532 RIOT device to no longer be legacy. [Harmony]

Updated the 6821 PIA device to no longer be legacy. [Harmony]

Updated the 74123 device to no longer be legacy. [Harmony]

Converted toaplan1/2 drivers to use driver_data [Atari Ace]

fixing listxml year output (it was skipped if the year contains a '?') [Fabio Priuli]

karnov, karnovj, wndrplnt, chelnov, chelnovu, chelnovj (karnov.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the M68000 code)
* Fixed coin insertion which now correctly supports "Coin A" and "Coin B" settings

Updated VIA 6522 to generate interrupt on T2 Pulse counting mode too, according to documentation [Miodrag Milanovic]

flytiger: fixed colors [Roberto Zandona', Angelo Salese]

Fixed timers and irq clears in Acorn Archimedes / Aristocrat MK-5 / Erotictac drivers [Angelo Salese]

mikie, mikiej, mikiehs (mikie.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the M6809 code)

Updated the 6526 CIA device to no longer be legacy. [Harmony]

Updated the M48T02, M48T35, M48T58 and MK48T08 devices to no longer be legacy. [Harmony]

6255via: added support for shift mode 5 (shift out under T2 control) [Miodrag Milanovic]

mrflea (mrflea.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the Z80 code)

Converted ertictac / poizone driver to use shared AA devices [Angelo Salese]

Added a set of macros to minimize the amount of copy/pasting necessary to convert a device to the new style. [Harmony]

Updated the ACIA 6850 device to no longer be legacy. [Harmony]

Updated the PTM 6840 device to no longer be legacy. [Harmony]

naomi.c: Added information about the Namco MASK B-F2X cartridge [f205v]

Improved sound in Erotictac / Poizone [Angelo Salese, Phil Bennett]

De-converted MACHINE_DRIVER from tokens back to constructor functions, regaining type safety. If legacy devices still use inline data, those types are not checked. However, new devices no longer have access to the generic m_inline_data. Instead their MDRV_* macros should map to calls to static functions in the device config class which downcast a generic device_config to the specific device config, and then set the appropriate values. This is not to be done inline in order to prevent further code bloat in the constructors. See eeprom/7474/i2cmem/okim6295 for examples. [Aaron Giles]

Updated the i8237 DMA device to no longer be legacy. [Harmony]

Updated the 8255 PPI device to no longer be legacy. [Harmony]

Updated the PCI bus device so that PCI buses can be arranged in a tree like in real hardware  [Samuele Zannoli]

Chihiro.c Improvements:  [Samuele Zannoli]
* Fixed the mapping of the bios at the top of the cpu addrsss space
* Updated the ram size to 128 megabytes
* Added some SMBus handling, to let the bios run
* Added placeholders for a few devices on the PCI bus
* Added the "jamdis StartAddress,Length" command to the debugger that lets you disassemble the "jam table" instructions used by the bios to do some basic hardware initialization.

Updated the i8257 DMA device to no longer be legacy. [Harmony]

Updated the Dallas DS1302 RTC device to no longer be legacy. [Harmony]

pachifev (pachifev.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the TMS9995 code)

Updated the Dallas DS2404 RTC device to no longer be legacy. [Harmony]

Updated the Fairchild F3853 SMI device to no longer be legacy. [Harmony]

Various snk drivers now use driver_data.  [Atari Ace]

Updated the i8243 Port Expander device to no longer be legacy. [Harmony]

Updated the INS 8154 RAM I/O device to no longer be legacy. [Harmony]

Updated the PCI bus device so that PCI buses can be arranged in a tree like in real hardware  [Samuele Zannoli]

m6800 - Fixed initial state of bit 7 and 6 of flag registers (according to documentation) [Miodrag Milanovic]

[toaplan1] modified the mix for the tilemaps (like rallybik and demonwld); this fix outzone bug and vimana bug [Robert Zandona']

Fixed rom mapping in Super Poker. Removed "bad dump" flag from e2 roms, they pass self test now. [Mariusz Wojcieszek]

toaplan1: removed custum video update for demonwld; now it's the same of toaplan1. [Robert Zandona']

Updated the K033906 PCI Bridge device to no longer be legacy. [Harmony]

Updated the K056230 LANC device to no longer be legacy. [Harmony]

combatscb: fixed offset and priorities [Roberto Zandona']

lethalen: hooked up some k053244 register; [Roberto Zandona']

New games added or promoted from NOT_WORKING status
Raiden Fighters (Asia?, Metrotainment license) [anondumper]
Genie [Roberto Fresca, Ogoun]
Doki Doki Idol Star Seeker [Hurray Banana, cacis, Team Japump, David Haywood, The Dumping Union]
3 Bags Full - 5VXFC790 (Victorian) [Roberto Fresca, Ogoun]
Cal Omega - Game 8.0 (Arcade Black Jack) [Roberto Fresca]
Cal Omega - Game 24.0 (Gaming Draw Poker, hold) [Roberto Fresca]
Fire Trap (Japan) [stephh]
Royal Card (Nichibutsu) [Roberto Fresca, Tomasz Slanina, Ogoun]

New clones added
Pioneer Balloon (Rock-Ola license) [gamerfan, Smitdogg, The Dumping Union]
Legion (bootleg of Legend) [Team Europe]
Eco Fighters (Phoenix Edition)
Knights of the Round (Japan 911127, B-Board 89625B-1) [Layne, john666, Ricky74, ranger_lennier, Smitdogg, The Dumping Union]
The King of Dragons (Japan 910805, B-Board 89625B-1) [Kevin Eshbach, takearushfan, M. De Pasquale, Smitdogg, The Dumping Union]
Street Fighter II': Champion Edition (World 920513) [john666, Smitdogg, The Dumping Union]
Willow (Japan, Japanese) [Layne, john666, C. Trutmann, Smitdogg, The Dumping Union]
Yie Ar Kung-Fu (GX361 conversion) [Team Europe]
Super Poker (Version 10.15S) [anondumper]

New games marked as GAME_NOT_WORKING
Olympic Hot Stuff [Ogoun]
Cal Omega - Game 51.08 (CEI Video Poker, Jacks or Better) [Roberto Fresca, Dave Ormiston]
Savage Quest [TrevEB]


MAMETesters Bugs Fixed
- 04030: [Misc.] All sets in taito_f3.c, taito_z.c, kaneko16.c, konamigq.c, overdriv.c: "16-bit EEPROM set with 8-bit data" (Aaron Giles)
- 04034: [Crash/Freeze] All sets in viper.c: [debug] Assert in Debug build (Aaron Giles)
- 01993: [Graphics] stmblade: Graphical corruption on left side of screen beginining stage 3 (robiza)
- 04050: [Graphics] twineag2: Missing graphic effect in screen transitions (robiza)
- 04044: [Graphics] batsugun and clones: [possible] batsugun VDP mixing still not correct (David Haywood)
- 00945: [Graphics] bkraidu: Text glitch in the flip screen mode. (robiza)
- 00944: [Graphics] ghox: There are gfx glitches on the background in the ending scene. (robiza)
- 03952: [Graphics] gaiden, wildfang, raiga: Screen is shifted 32 pixels down with flip-screen. (robiza)
- 04036: [Graphics] astrowar: [debug] Severe graphic corruption (Fabio Priuli)
- 04035: [Crash/Freeze] All sets in chihiro.c: Assert before OK (Fabio Priuli)

Source Changes
mc6845.c: Rewritten to allow mid frame changes to the counter registers. This enables drivers to use advanced split screen and scrolling effects using a regular mc6845. [Wilbert Pol]

Changed the MACHINE_DRIVER_* macros, as follows: [Aaron Giles]

  1. Renamed MACHINE_DRIVER_* to MACHINE_CONFIG_* to match the name of the object it actually describes. The MDRV_* prefix may eventually be bulk updated at some point, but not now.

  2. MACHINE_CONFIG_START() now takes a driver_data_t-derived class as a required second parameter. This means that MDRV_DRIVER_DATA() is no longer required, and every "root" machine config *must* specify a driver data class (or driver_data_t itself if the driver has not yet been updated to use driver data).

  3. New MACHINE_CONFIG_DERIVED() macro defines a machine_config that is derived from another machine_config. This takes the place of the very typical MACHINE_DRIVER_START()/MDRV_IMPORT_FROM() combination.

  4. New MACHINE_CONFIG_FRAGMENT() macro defines a partial machine_config that can only be included in another "root" machine_config. This is also used for machine_configs that are specified as part of a device.

  5. Changed MDRV_IMPORT_FROM() to MDRV_FRAGMENT_ADD() to more accurately describe what is happening.

  6. Added asserts to the above three macros to ensure they are properly used.

Updated all machine drivers to use the new macros. Search & replace lists below cover 99% of the changes, with just a few manual fixups. [Aaron Giles]

timer.c: timers get rescheduled only if enable state has changed [Christophe Jaillet]

bfm_dm01 improvements: replaced the video screen hack used for the
dotmatrix display with a more accurate, artwork-based version. The
BFM_DM01 clocks data in one byte at a time, and the new dotmatrix
render object represents the 8 dots powered by each byte. [AGEMAME]

* Cashcade workaround for topgear [Frasher]
* Improved a few memory handlers [Palindrome]

Changed driver_data objects to be devices. Replaced the driver_data_t class with a new driver_device class, which is the base class for all driver_data objects now. The new driver devices are added as the first device in the device list, with a tag of "root"; all other devices are now owned by the driver device. [Aaron Giles]

Moved core callbacks (machine_start/_reset, sound_start/_reset, video_start/_reset/_eof/_update, and palette_init) into device configuration parameters on these new devices. The driver_device base class overrides device_start(), ensures all other devices have been started, and then calls, in order, the following overridable methods:

  1. DRIVER_INIT function from the game driver
  2. palette_init() - by default calls the MDRV_PALETTE_INIT function
  3. driver_start() - new
  4. machine_start() - by default calls the MDRV_MACHINE_START function
  5. sound_start() - by default calls the MDRV_SOUND_START function
  6. video_start() - by default calls the MDRV_VIDEO_START function

Similarly, the driver_device class overrides device_reset() and then calls these methods in order:

  driver_reset() - new
  machine_reset() - by default calls the MDRV_MACHINE_RESET function
  sound_reset() - by default calls the MDRV_SOUND_RESET function
  video_reset() - by default calls the MDRV_VIDEO_RESET function

To accommodate these changes, initialization order is slightly altered from before. The tilemap, video, sound, and debug systems are now initialized prior to the devices' start. And the user callbacks for DRIVER_INIT, PALETTE_INIT, MACHINE_START, SOUND_START, and VIDEO_START are all called back-to-back. The net effect should be similar, however. [Aaron Giles]

Changed device_t::subtag to only prepend a prefix if the device is not the 'root' device, in order to keep compatibility with existing tag searching. [Aaron Giles]

Changed device startup to actively reorder devices when they report missing dependencies. This ensures that the reset functions get called in the same order that the start functions did. [Aaron Giles]

Remove artificial SOUND_ prefix from sound device names. [Atari Ace]

Converted sauro, scotrsht, segald, seicross, senjyo, shangha3, shaolins, shisen, skyraid, solomon, spcforce, speekatk, splash, sprcros2, ssozumo, suna16, suna8 to driver_data. [Atari Ace]

Added include files for all remaining drivers with multiple source files. [Atari Ace]

Corrected or clarified a number of duplicated inputs for drivers up through A  [Tafoid]

Changed driver_device to expose the game_driver's ROMs through the device interface. This means all ROMs are now exposed via devices, and thus the process of enumerating ROMs gets simpler. [Aaron Giles]

Changed all instances of temporarily allocating machine_config objects to just put them on the stack for simplicity, letting the destructor handle the cleanup work automatically. [Aaron Giles]

Changed machine_config constructor to take a game_driver, from which the machine_config constructor is obtained. This also means the resulting machine_config holds a reference to the game_driver. [Aaron Giles]

Changed running_machine constructor to no longer take a game_driver, since the game_driver is now obtainable via the machine_config. [Aaron Giles]

Added two new template classes optional_device<> and required_device<>. Use these to declare the device pointers in the class. The only difference between the two is that required will fatalerror if the device is not found. These new classes are "pass- through" so the underlying pointer can be passed anywhere a regular device pointer would work. [Aaron Giles]

Fix compiling on older GCCs (including OS X PowerPC) [Aaron Giles]

Change shared memory regions to track their size. Added memory_get_shared() functions to retrieve a pointer to a shared region and optionally the size. [Aaron Giles]

pipeline (pipeline.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the Z80 code)

Added templates required_shared_ptr<> and optional_shared_ptr<> which work just like required_device<> and optional_device<> for retrieving a pointer by tag from an address space that specifies AM_SHARE("tag"). Also added templates required_shared_size<> and optional_shared_size<> for retrieving the size of the AM_SHARE region. [Aaron Giles]

Created a new generic NVRAM device. It can be configured to default to 0-fill, 1-fill, random-fill, or custom fill. In all cases, a same-named memory region overrides the default fill. The address range where the NVRAM can be found is now identified by an AM_SHARE() region of the same tag as the NVRAM device. Drivers can also explicitly configure a separately-allocated NVRAM region via nvram_device::set_base(). [Aaron Giles]

Replaced all instances of MDRV_NVRAM_HANDLER(generic_*) with MDRV_NVRAM_ADD_*("nvram"). Replaced all AM_BASE_GENERIC/AM_SIZE_GENERIC(nvram) with AM_SHARE("nvram"). For all remaining drivers that referenced the generic.nvram directly, changed them to hold a required_shared_ptr<UINTx> to the NVRAM in their driver state, and use that instead. Removed nvram and nvram_size from the generic_ptrs. [Aaron Giles]

Have each device create its own device_debug instead of letting the debugger do it. This allows the device to start itself up before the debugger tries to figure out what to do with it. Fixes the problem where register names were not populated into the symbol table correctly after I shuffled the initialization order. [Aaron Giles]

multfish.c: Updated driver with new information and several new sets as well as several new bootlegs. [MetalliC]

New driver for Jubilee's Double-Up Poker. Decoded graphics and colors properly. Hooked the correct TMS9980 CPU, added a preliminary memory map and some technical notes. [Roberto Fresca]

Integrated comments into debugcpu.c, and removed debugcmt.c. Modernized the code and updated so it actually works with the modern debug classes. [Aaron Giles]

Added AM_DEVREAD_MODERN/AM_DEVWRITE_MODERN/etc. macros for the non-modern address map case so that updated devices can shed their old-style read/write handlers in favor of member functions. [Aaron Giles]

Bulk converted all okim6295_r/okim6295_w references in the address maps to call to the modern member functions. [Aaron Giles]

quizpani (quizpani.c) [stephh] :
* Improved Dip Switches and fixed Inputs (after verification of the M68000 code)

Renamed namcops2 DVDs to match labels [Guru]

Added read_status() and write_command() methods to the okim6295_device for the common case where these are done outside the context of a read or write handler (it was annoying to pass in the fake address space for these cases). [Aaron Giles]

Added DEVCB_DEVICE_MEMBER() macros which allow you to specify a READ8_MEMBER or WRITE8_MEMBER in a device callback (via dynamically generated trampolines). [Aaron Giles]

Replaced all remaining calls to okim6295_r/okim6295_w with calls to the new methods, and removed the static functions. [Aaron Giles]

namcops2: added dongle dump for Federation vs. Z.A.F.T. [Guru]

Corrected or clarified a number of duplicated inputs for drivers up through C  [Tafoid]

Fixed sprite OV flag behaviour in PC Engine VDC emulation [Angelo Salese, Charles MacDonald]

Corrected or clarified a number of duplicated inputs for drivers up through G  [Tafoid]

Converted ASAP CPU core from a legacy CPU core to a modern device. [Aaron Giles]

Renamed device_execute_interface::m_icount to m_icountptr to avoid commonly-named device values of m_icount. [Aaron Giles]

Fixed a bogus Hu6280 CPU core bug with timer latch division values readings [Angelo Salese]

[SSV] implemented visible area registers; now the resolution for all the games is the max visible area (the values of the registers after the boot process) [Robert Zandona']

Fixed missing VRAM > VRAM DMA flag clearance in PC Engine emulation [Angelo Salese]

strnskil.c: Added MCU dump for banbam. [Pete Ogoun, Andrew Gardner]

Moved sound routing for non-speaker devices over to the sound interface's post-start method. Routing from one sound device to another was broken when sound_init() was moved ahead of device startup. [Aaron Giles]

Removed vestigial NVRAM from starwars, which is now covered by the x2212 device. [Aaron Giles]

CHDMAN: rewrote bin/cue support from specs, more images now work. [R. Belmont]

Removed generic.videoram and generic.videoram_size. These generics have no core use, they are simply there for the convenience of drivers. Now that drivers are required to have devices, the data should move there. [Atari Ace]

Added proper handling of the SRAM in Aristocrat MK-5 [Palindrome]

Removed usage of I2C in Aristocrat MK-5 [Angelo Salese]

Added -bench <emulated-seconds> option to standardize benchmarking. [Aaron Giles]

Added DECLARE/DEFINE_TRIVIAL_DERIVED_DEVICE macros to simplify the definition of devices that are based off of a parent device, but which differ in name and a single parameter. [Aaron Giles]

Convert ADSP21xx core to a modern CPU device. [Aaron Giles]

On Windows, osd_break_into_debugger() will now dump a stack crawl if there's no debugger attached. This means that asserts should have a full crawl now, for easier debugging. [Aaron Giles]

Replaced NVRAM_HANDLER in leland with an NVRAM device. [Aaron Giles]

* implemented y tilemap offset register; (Roberto Zandona')
* implemented x and y visible area register; (Roberto Zandona')
* disabled tilemap draw when mode=0; (Roberto Zandona')
* confirmed visible area register with a twin eagle II PCB (Corrado Tomaselli)

Replaced largely redundant NVRAM handlers with NVRAM devices for namcos2 and a bunch of the Nichibutsu mahjong games. Also did it for the Atari games, moving the old hard-coded EEPROM data out into files finally. [Aaron Giles]

Merged ssgbl.c into megadrvb.c and moved bootleg input definitions out of megadriv.c [Sonikos]

Made the mc146818 a proper device, modernized it, and added an NVRAM interface so that drivers don't have to ask it to be manually saved. [Aaron Giles]

Added definitions for [DECLARE_]READ_LINE_MEMBER and [DECLARE_]WRITE_LINE_MEMBER so that read/write line callbacks can be defined as member functions. [Aaron Giles]

Added stubs and new macro DEVCB_DEVICE_LINE_MEMBER to allow these to be referenced from device callbacks. [Aaron Giles]

Modernized the 6522 VIA device: [Aaron Giles]
* changed to use the new device timer mechanism
* removed all trampolines in favor of modern methods

ssv: removed kludge for sprite x offset and implemented 1 bit of 7a-7b register [Roberto Zandona']

* implemented y sprite inversion CRT register;
* added a kludge for dynagear
* used CRT registers to get the sprite x offset [Roberto Zandona']

ssv: removed offset values from the init; the offset now are handled by the CRT registers [Roberto Zandona']

ssv: fixed bit #a of 7a-7b CRT register [Roberto Zandona']

Converted intelfsh to a device, updated all users. [Aaron Giles]

ssv: fixed background disable condition [Roberto Zandona']

New build tool makedep.c, derived from src2html.c (really!). Does basic dependency analysis and supports excluding paths. [Aaron Giles]

Makefile now supports a depend target which will run makedep on the src/$(TARGET) tree and create dependencies. It deliberately excludes the root of src/emu as well as the osd directories in order to keep the dependency file down to a reasonable size, so if a core header file changes, you still need to clean and build all. [Aaron Giles]

CHDMAN: improved -extractcd bin/cue output, improved error handling. [R. Belmont]

Added memory interface to the intelfsh device so you can access/view the data in the debugger and via the standard memory interfaces. Removed the old memory() method in favor of new functions read_raw()/write_raw() which do direct reads/writes of the data. [Aaron Giles]

Cleaned up CPS3 No-CD sets to break up the "ROMs" into individual flash pieces which are automatically loaded by the intelfsh device on initialization. Also split the MACHINE_CONFIG to only populate the number of SIMMs actually present for each game, as documented in the top of the file. And replaced the NVRAM_HANDLER with an NVRAM device. [Aaron Giles]

CHDMAN: support for .WAV tracks in bin/cue images [R. Belmont]

neogeo.c: misc updates [Johnboy]
* viewpoint - Renamed v's to correct chip label
* ghostlop - Renamed roms to match proto naming sheme
* savagere, kizuna - Added correct c1
* crsword - Tagged MVS AND AES VERSION, added correct m1
* legendos - Added correct m1

Triple Punch/Knock Out AY-3-8910 clock speed was incorrect, fixed and verified from real hardware. [plgDavid] Verified clocks and oki pin on quiz channel question boardset. [plgDavid]

Added an integral device_timer_id to device timers. This is a cleaner way to differentiate between multiple timers rather than relying on the pointers. These values are also saved with the timers. Updated the few devices using device timers to leverage this. [Aaron Giles]

Added new function device_timer_call_after_resynch() which creates a temporary 0-length timer that calls back through the device's device_timer() method with a given device_timer_id. [Aaron Giles]

Added a function to change the MSM5205 frequency dynamically [Angelo Salese]

Added a set volume function for CD-DA [Angelo Salese]

New games added or promoted from NOT_WORKING status
Shinobi / FZ-2006 (Korean System 16 bootleg) (ISG Selection Master Type 2006) [Angelo Salese]
Poker Master (Tony-Poker V3.A, hack?) [David Haywood, William Ostronic]

New clones added
Vigilante (World, set 2) [porchy]
Sega Rally Championship (Revision B) [Alex's Blog]
Touchmaster 2000 Plus (v4.63 Standard) [Brian Troha, The Dumping Union]
Touchmaster 4000 (v6.01 Standard) [Brian Troha, The Dumping Union]

New games marked as GAME_NOT_WORKING
Jubilee Double-Up Poker [Roberto Fresca]
Piccolo Poker [Roberto Fresca, Team Europe & Housi]
Crisis Zone (CSZO2 Ver. A) [Guru]
Soul Calibur 2 (SC22 Ver. A) [Guru]
White Tiger [Palindrome]
Swiss Poker ('50 SG-.10', V2.5) [Roberto Fresca, Tomasz Slanina, Team Europe & Housi]
Movie Card [Roberto Fresca, Team Europe & Housi]
Maximum Speed [Guru]


MAMETesters Bugs Fixed
- 04060: [Crash/Freeze] All sets in taitogn.c: NVRAM written incorrectly - games never start. (Aaron Giles)
- 04068: [DIP/Input] viofight: Missing Player 2 button 3 (Tafoid)
- 04063: [Gameplay] All sets in solomon.c: All characters in the game are missing (player and enemies) (hap)

Source Changes
Converted amiga drivers to use driver_devices. Merged common code between legacy Amiga and AGA video systems. [Atari Ace]

Death to more NVRAM_HANDLERS. [Aaron Giles]

cdda - Added a per-channel volume setting function [Barry Rodewald]

M68k: Add more conditionals and FGETEXP instruction [R. Belmont]

Converted x2212 to a modern device. Changed x2212 device to return unmapped bits for the upper 4 bits. Added e2prom address space to x2212 so that the latched contents can be viewed. Updated starwars and firefox. Hooked up x2212 in foodf. [Aaron Giles]

Changed ccastles and cloud9 to use the x2212 instead of the hacked-up fake version they had. [Aaron Giles]

Enable vertical scroll bars in debugger comboboxes, and resize them to show the full text. [Aaron Giles]

Changed memory width stubs to fill unpopulated regions with the appropriate portion of the unmap value. [Aaron Giles]

Added ER2055 device. Changed liberator over to using it. Other Atari games to follow. [Aaron Giles]

Modernized liberator driver, added save state support. Moved generalized EAROM handling to atarigen. [Aaron Giles]

Added new (modern) address map macros for referencing member functions in base classes: AM_READ_BASE(_class, _member), AM_WRITE_BASE, AM_READWRITE_BASE, etc. [Aaron Giles]

Debugger (SDL) : Window locations in the SDL debugger are now saved and loaded at exit and startup. [Andrew Gardner]

Modified Z80-DMA reset command (C3) to not randomly clear registers. [Curt Coder]

raiden2: checkpoint current state [Olivier Galibert]

Removed IRQ hack in Niyanpai HW [Angelo Salese]

Ported over CD-i cleanup from MESS. [Harmony]

Put the SH2 DMA on a timer.  This is needed because Knuckles Chaotix on the 32X can't be done with 'Instant DMA' due the SH2 DMA is used to read from a FIFO port which is being filled by the 68k during the transfer.  [David Haywood]

Fixed 8-bit dram (framebuffer) access for 32x [David Haywood]

Added sprite buffering to Mirage Youjuu Mahjongden, confirmed by a real PCB video [Angelo Salese]

680x0: '030 MMU now emulates translation cache; fixed misinterpreted MMU opcodes [R. Belmont]

Megadrive: changed way the z80 window into 68k space works so that it automatically can handle things like the 32x. [David Haywood]

Improvements to Piccolo Poker 100. [Roberto Fresca]
* Added a workaround to get the game booting.
* Created inputs from the scratch.
* Promoted to 'working'.
* Added technical and game notes.

Fixed Fairchild F8 CPU interrupt handling. [Curt Coder]

Implemented support for SH-2 cycle steal mode, used by Fever Soccer [David Haywood]

Fixed a SH-2 with TSTM opcode [R.Belmont]

Neo-Geo updates [Johnboy]:
* savagere, kizuna - Reverted C1 change from u2 (chip was bad, C1 was correct)
* gururin - Added correct M1 ROM
* quizdai2 - Tagged as MVS and AES version
* Started to document mask ROM types

naomi.c: Added Mamonoro cartridge description [f205v]

viper.c: Added the 941a01 BIOS and p911e missing NVRAM dump [John Bud @ Jamma+]

Golden Poker driver updates... [Roberto Fresca]
* Added 3 new Witch Card sets.
* Added 3 new Falcons Wild sets (from 3 different hardwares).
* Hooked the second CPU (still encrypted) to the Falcon hardware.
* Partially decrypted the second CPU program from Falcon hardware.
* Figured out the Falcons Wild (Video Klein) memory map and machine.
* Defeated the evil Video Klein's Witch Card hardware.
* Reworked inputs for some sets.
* Added lamps layouts/connections to the new sets.
* Figured out the multiplexed data/address from Falcon's boards sound.
* Added full sound support to Falcon hardware.
* Reorganized and partially cleaned-up the driver.
* Added more technical notes.

Fixed unaligned 16 and 32-bit i/o accesses in i386 CPU core [Barry Rodewald]

Fix bug where multiple sampleof attributes could be output, resulting in invalid XML. [Aaron Giles]

Enable wavwrite (and aviwrite) sound even if -nosound is specified. [Aaron Giles]

Since PNG writing is used for MNG as well, switch back to default compression instead of best compression in order to keep the performance reasonable. [Aaron Giles]

Fix another Clang issue [Balrog]

SH2DRC: Fix BSRF and JSR so delay slot insns can trash the calculated PR if they want [R. Belmont]

v9938 - Set default value for status register 4 and 6  [Michael Zapf]

Added INT1, INT2, INT3, DRQ0, DRQ1, TMRIN0, TMRIN1 input and TMROUT0, TMROUT1 output lines to the Intel 80186 CPU interface. [Curt Coder]

SH2: fix PC relative MOV in delay slot
SH2: Further improvements to PC_relative loads in the delay slot. [R. Belmont]

Improvements to vpoker.c driver [Roberto Fresca]
* Added 5-Aces Poker.
* Fixed, improved and merged memory map.
* Fixed the ROM loading.
* Removed the mame rnd hack from the blitter read handler.
* Preliminary inputs.
* Fixed visible screen.

Added new driver for NSM TMS9995 based hardware. [Roberto Fresca]

Added UART Tx/Rx framework to the CD-i 68070 implementation, necessary for Quizard protection. [Harmony] Changed default CD-i SLAVE video setting to PAL, necessary for Quizard to boot. [Harmony]

Naomi: added protection key for gundmct, it boots now [Cah4e3]

Changed visible area and resolution of CD-i based arcade games. [Harmony]

Got Quizard 1.7 to boot with a targeted hack. Still not playable. [Harmony]

New driver for Advanced Video Technology (AVT) platform [Roberto Fresca]
* Almost accurate memory map.
* Decoded graphics.
* Decoded the bipolar PROM.
* Detected a CRTC (MC6845 type) reversing the code.
* Guessed the CRTC clock to get proper values.
* Hooked the AY-3-8910.
* Added games notes.
* Added technical notes.

Patched out the majority of the Quizard 1.7 protection check and emulated the game's inputs. [Harmony]

Patched out the majority of the Quizard 1.2 protection check and made the patch more generic. [Harmony]

Added incomplete protection patches to Quizard 3.2 and Quizard Rainbow 4.1; both now run through attract mode and coin up, but crash when going in-game. [Harmony]

video/neogeo.c: Call optimize_sprite_data() at VIDEO_RESET (for the convenience of Neo Geo CD) [Barry Rodewald]

Attempt to untie the shared mapping for all games in zr107.c (midnrun, windheat, waveshrk).  Buttons now have labels and match up to test mode, even if you cannot play the games.  [Tafoid]

Fixed vspinbalj (vsnes.c) flipper control and eliminated duplicated inputs. [Tafoid]

Converted render.c objects into C++ objects. Updated all callers. [Aaron Giles]

Improvements to Subsino driver. [Roberto Fresca]
* Created proper inputs for all Victor 6 sets.
* Fixed/extended Magic Train technical notes.
* Eliminated the 3 undumped bipolar PROMs from Magic Train since these are in fact Darlington Arrays instead of bipolar PROMs.

Replaced the excessively large Quizard patch scheme with a much smaller 4-byte patch plus basic protection obfuscation simulation. [Harmony]

Found the appropriate patch values for Quizard 2.2 and promoted it to working. [Harmony]

Removed RAM protection patches from Quizard games.  All games now at least boot with simulated protection, and the ones that were playable before remain playable. [Harmony]

Changes LIVES to use only a single DIP instead of being split up between two input ports by using a CUSTOM_INPUT. [Tafoid, Fabio Priuli]

Eliminated non-functioning service mode mapping which was a duplicate (ssridersb - tmnt.c).  Added new labels to bombkick (yunsun16.c) to better describe the status required for each DIP, rather than the duplicate label "DON"T CHANGE IT!". [Tafoid]

8237dma.c: Initialize the command register to 0 on reset. [Wilbert Pol]

Update psx drivers to use a driver_device. [Atari Ace]

Update driver-specific sound devices to use tokens and store their state like other devices. [Atari Ace]

New games added or promoted from NOT_WORKING status
Tetris / Bloxeed (Korean System 16 bootleg) (ISG Selection Master Type 2006) [Anonymous]
Mallet Madness v2.1 [Brian Troha, The Dumping Union]
Piccolo Poker 100 [Roberto Fresca]
Witch Card (Falcon, enhanced sound) [Roberto Fresca, Team Europe]
Witch Card (German, set 3, alt gfx) [Roberto Fresca, Team Europe]
Witch Game (Video Klein) [Roberto Fresca, Team Europe]
Falcons Wild - Wild Card 1991 (TVG) [Roberto Fresca, Team Europe]
Falcons Wild - World Wide Poker (Video Klein) [Roberto Fresca, Team Europe]
Victor 6 [Smitdogg, The Dumping Union]
Quizard 1.7 [Harmony]
Quizard 1.2 [Harmony]
Quizard 2.2 [Harmony]

New clones added
Sea Wolf (older?) [Siftware]
Gun Fight (older?) [Siftware]
Puckman Pockimon (set 2) [Guru]
Hit Me [Siftware]
X-Men: Children of the Atom (Asia 950105) [Razoola]
Final Lap 3 (Japan - Rev C) [Smitdogg, Guru, The Dumping Union]
Omega Race (set 2) [Dave France, The Dumping Union]
Star Raker [Andreas Kraemer, Steffen & Laschek]

New games marked as GAME_NOT_WORKING
Cosplay Heaven 5 [alien_mame, Angelo Salese]
Game stops working due to "BAD" RAMDAC at u12 [briantro]
Falcons Wild - World Wide Poker (Falcon original)
  [Roberto Fresca, Darran]
Faster Than Speed [Cah4e3, R. Belmont]
Wave Runner GP [Cah4e3, R. Belmont]
5-Aces Poker [Roberto Fresca]
NSM Poker (TMS9995) [Roberto Fresca, Team Europe]
Dual Games (prototype) [Smitdogg, The Dumping Union]
Symbols (ver 1.4) [Roberto Fresca, Dave Ormiston]
Symbols (ver 2.5) [Roberto Fresca, Dave Ormiston]
Arrow Bingo [Roberto Fresca, Dave Ormiston]
NFL (ver 109) [Roberto Fresca, Dave Ormiston]
Virtua Striker 3 (rev. B) [ANY]
Puyo Puyo DA! [Guru, f205v]
Mobile Suit Gundam: Federation vs. Zeon [Guru]


MAMETesters Bugs Fixed
- 04091: [Misc.] simpbowl: NVRAM is not created correctly. (Aaron Giles)
- 03770: [Interface] Setting 'snapname %g' does not allow snap to be saved with F12. (Aaron Giles)
- 03835: [Compiling] Visual Studio compiler warning in src\mame\video\n64.c
- 03937: [Misc.] Using CTRL-C to end MAME no longer works reliably (Aaron Giles)
- 03915: [Interface] All sets using -autosave: "auto.sta" can mistakenly be erased (Aaron Giles)
- 03930: [Compiling] LDPLAYER fails to link (Aaron Giles)
- 04065: [Compiling] Default 'tiny' does not build (Aaron Giles)
- 03074: [Sound] dkongjr and clones: Discrete audio output is lower pitched than normal (Derrick Renaud)
- 04085: [Sound] All sets in seibuspi.c: sound issue
- 04081: [Crash/Freeze] Games/drivers with no screen: When you exit MAME, you do not get control back (Aaron Giles)
- 04059: [Graphics] qix, zookeep and clones: Player's character disappears during gameplay. (Aaron Giles)
- 04080: [Crash/Freeze] [debug] Massive memory leaks + crash upon exit in debug build (Aaron Giles)
- 03800: [Debugger] Many sets in snk.c: Viewing c000-c700 in debugger for "SUB" Z-80 causes memory corruption (MooglyGuy)
- 04083: [Graphics] All sets in balsente.c: Black screen corruption (missing graphics) (MooglyGuy)
- 04075: [Crash/Freeze] All sets in cps3.c: Black screen/Hang (Aaron Giles)
- 04077: [Misc.] Crash when -effect is used (Aaron Giles)
- 04078: [Crash/Freeze] mtrap + clones: Crash/Assert after OK (Aaron Giles)
- 04076: [Misc.] Artwork cropping not working correctly (Aaron Giles)

Source Changes
- Considerably improved UART communications in the CD-i 68070 implementation, increasing Quizard stability as a result. [Harmony]

Fixed use of the sign bits on the SegaCD Roz parameters, improves the SegaCD intro rotations etc. which now appear correct. Clamp Roz stuff to 24-bit, seems to fix the remaining issues with the Sega logos. [David Haywood]

Moved -effect implementation out of OSD code and into core since the implementations were identical across Windows/SDL and implemented in the core itself. [Aaron Giles]

More Clang fixes (verified OK with GCC) [Balrog]

Correctly free textures when screen size dynamically changes. Fixes texture assert when exiting on a number of games. [Aaron Giles]

Attempt to provide a correct M50458 char rom, used by the Nintendo Super System [Pat Dardenko, Angelo Salese]

Re-worked Quizard MCU communications handling to be more easily expanded. [Harmony]

Convert rendlay objects into C++, reduce the number of unused textures allocated. [Aaron Giles]

Fix texture leak in crsshair.c. [Aaron Giles]

Added new method reset_origin() to screen devices to allow manual synchronization of VBLANK start against an external timing source. Updated the MC6845 device to call reset_origin() on its screen at the start of each frame if a screen is present. [Aaron Giles]

Converted the RCA CDP1802 CPU into a C++ device. Refactored cidelsa.c to use the new RCA COSMAC CPU. [Curt Coder]

Added new devcb type DEVCB_TYPE_DRIVER, which implies the driver_device. [Aaron Giles]

Added new macros DEVCB_DRIVER_LINE_MEMBER and DEVCB_DRIVER_MEMBER to specify member functions of the driver device in callbacks. [Aaron Giles]

Reworked NMK16 irqs by not using cpu_getiloops() function [Angelo Salese]

Fix custom mapping for dsp56k internal memory. [Aaron Giles]

Refactored the CDP1869 chip into a C++ device. [Curt Coder]

Added explicit control handler for the console. Ctrl+C/Ctrl+Break now explicitly terminate the process forcefully, rather than unwinding through the system in an unexpected state. Other console events (exit, shutdown, logoff) request a graceful exit. [Aaron Giles]

Reworked 1942 interrupts by not using cpu_getiloops() function [Angelo Salese]

Removed deprecat.h usage from 1943 driver [Angelo Salese]

Removed deprecat.h usage from 40love driver [Angelo Salese]

Removed deprecat.h usage and did some minor clean-ups to the 4enraya driver [Angelo Salese]

Rewrote Alien Command irqs by not using cpu_getiloops() function [Angelo Salese]

New games added or promoted from NOT_WORKING status
Devil Island (2 sets) [Brian Troha, The Dumping Union]

New clones added
Streaking (set 2) [Roberto Fresca]

New games marked as GAME_NOT_WORKING
Magical Touch [Siftware, Mariusz Wojcieszek]


MAMETesters Bugs Fixed
- 04096: [DIP/Input] sjryuko: Most inputs do not work (Angelo Salese)
- 02561: [Interface] Ability to choose a different name for the UI font (Aaron Giles)

Source Changes
Create new class osd_interface to house OSD callbacks. Added new module osdepend.c with default empty implementations. Changed mame_execute() and cli_execute() to accept a reference to an osd_interface which is provided by the caller. [Aaron Giles]

Updated SDL and Windows OSD to create an osd_interface-derived class and moved their OSD callbacks to be members. [Aaron Giles]

Make osdmini build again. [Aaron Giles]

Discrete Sound - Added DISCRETE_XTIME_xxx logic modules.  These allow you to do logic operations on nodes that use x_time anti-alias info. Added the ability to decode x_time to the DISCRETE_BIT_DECODE module. This means you can have an oscillator pass x_time onto a counter, get the counter bits decoded, pass that through the new logic modules and also have them convert the x_time to energy/anti-alaised voltage. Updated Donkey Kong Jr. to use these new modules. [Derrick Renaud]

Convert rendfont to C++. [Aaron Giles]

[SDL Debugger] Removed an unnecessary assert and brought focus back to the main debugger window on startup. [Andrew Gardner]

Added support for OSD-generated fonts. The OSD is queried first to see if it owns a given font (based on the name), and if it does, it is responsible for generating bitmaps on the fly as characters are requested. [Aaron Giles]

Added new option -uifont to specify the UI font. It can be set to a filename, in which case a BDF font will be loaded. It can also be set to a font name (assuming the OSD support is present), in which case the OSD font by that name is used. The default value is 'default' which can be used by the OSD to substitute a default font or by the OSD, which will default to ui.bdf as before. In all cases, it falls back to the built-in font by default if none of the previous options works. [Aaron Giles]

  NOTE: On Windows, the OSD will default to Tahoma as the font name. Also on Windows, font names can be specified with to indicate bold or to indicate italic.

Use "default" font for artwork elements as well. Make UI backgrounds a bit more opaque. Fix crash when passing NULL filename to OSD code. [Aaron Giles]

Fixed and verified with Test Mode the few System 18 bootlegs located in the system16.c driver for Inputs and Dip Switches. [Tafoid]

Discrete Updates [Derrick Renaud]
* Removed old DISCRETE_74LS624 code and replaced it with new 74LS629 based code. Updated Mario to use new DISCRETE_74LS624 and DISCRETE_XTIME_logic modules.

C++-ified the cheat engine. [Aaron Giles]

Naomi updates:
* Redumped Kick 4 Cash to fix bad dumps [f205v]
* Completed dump of Neo Geo Battle Coliseum [Guru]

i286.c: Moved call of i80286_urinit to CPU_INIT. Fixed display of PC in the debugger.  [Wilbert Pol]

M6805: Add extremely preliminary 68HC05EG support. [R. Belmont]

i80186/i80286: Fixed bound instruction restart when prefixed with a segment.  [Wilbert Pol]

i286.c: Partially implemented protected mode. Fixed verw, verr, lar, lsl, and arpl instructions.  [Wilbert Pol]

Atari Cops'n Robbers Updates [Derrick Renaud]
* Converted controls to Positional type.
* Started Discrete sounds. (Motor 2 & 3, Crash sounds implemented)
* Added Motor 0 & 1, and Zings sounds. Zings sound not hooked up until address for Fires & Zings is found.

Optimized speed of DISCRETE_DAC_R1 [Derrick Renaud]

Converted the expression engine to C++, did the usual cleanup. [Aaron Giles]

Neo Geo Changes: [Johnboy]
* maglord/maglordh - Mixed up crc's, fixed
* flipshot - Added correct p1
* kotm2 - Tagged MVS AND AES VERSION
* miexchng - Added correct c3/c4
* Updated game pcb info
* Continued to document mask ROM types

Fixed crash in cubocd32/akiko [Mariusz Wojcieszek]

Atari Cops'n Robbers Updates [Derrick Renaud]

Fixed operation of DISCRETE_COUNTER_7492 [Derrick Renaud]

kofxi: Redumped mask ROMs due to error in TSOP70 adaptor [Cah4e3]

Added UTF-8 constants for cursor key arrows, and accented characters on the Swedish/Finnish keyboard layout. [Curt Coder]

Removed deprecat.h usage and rewritten irq routines in DJ Boy [Angelo Salese]

New games added or promoted from NOT_WORKING status
Pit Boss Megatouch II [Mariusz Wojcieszek, f205v, Smitdogg, The Dumping Union]
Royal Card (TAB original) [Roberto Fresca]
Janputer Special [gamerfan, ranger_lennier, Smitdogg, The Dumping Union]
Bygone [Cananas, Mr. Do, S. Brown, J. Bijl,ranger_lennier, F. Xerri, Gor, Kevin Eshbach, Smitdogg, Tormod, Guru, Tomasz Slanina, The Dumping Union]

New clones added
Mega Double Poker (conversion kit, set 2) [Roberto Fresca]
Mahjong Neruton Haikujiradan (Japan, Rev. A?) [Smitdogg, The Dumping Union]

New games marked as GAME_NOT_WORKING
Odeon Twister 2 [XoreX, Mariusz Wojcieszek]
The King of Fighters XI (Cah4e3) [rbelmont]
Shooting Star [Tomasz Slanina]
Zero Gunner 2 [The Dumping Union]


MAMETesters Bugs Fixed
- 04027: [Crash/Freeze] All sets in 20pacgal.c: Game does not successfully boot (Aaron Giles)
- 04111: [DIP/Input] timesold, timesold1, btlfield: Coins are not reacting correctly (MCU problem) (stephh)
- 03879: [Crash/Freeze] pbst30, pbst30b, pitbossm, pitbossma: Game does not boot (Mariusz Wojcieszek)

Source Changes
Fixed problems with i2cmem. Cubo CD32 games now save and load settings properly. [Mariusz Wojcieszek]

Cleaned up many duplicate inputs and fixed others in a number of drivers.  [Tafoid]

SDL: Support -uifont for using arbitrary TrueType fonts on Linux/BSD builds. This takes full pathname/filename to the font, and the name can have styles appended as in Windows: {b} for bold, {i} for italic, {s} for strikethrough, and {u} for underlined.  Fonts are rendered at a size of 120 points and scaled down by the core, which looks superb on high-res displays.  (Liberation Sans that comes with most recent distros looks really good). [R. Belmont]

   Warning: Linux/BSD builds now require SDL_ttf 2.x.  On Fedora the required package names are "SDL_ttf" and "SDL_ttf-devel".

tms7000: Corrected two opcodes: typo in inv_b and JPZ was wrong in official TI document. [Gilles Fetis]

SDL: -uifont now can also look up system font families like Windows [R. Belmont]

Take some driver_device classes that cover multiple drivers and split them so that each driver gets their own driver_device class. In most cases, these drivers got entangled because of audio/mcu code that was shared between multiple drivers: [Atari Ace]

* espial/marineb/zodiak - common code duplicated
* m52/m57/m58/m62/travrusa - common code in audio/irem.c
* junofrst/pooyan/rallyx/rocnrope/timeplt/tutankm - common code in audio/timeplt.c
* hyperspt/sbasketb/trackfld/yiear - common code in audio/trackfld and audio/hyprolyb.c
* 40love/bking/buggychl/msisaac - common code in machine/buggychl.c

SDL: OS X support for -uifont [Tim Lindner]

SDL: Build fixes for Ubuntu, -uifont non-ASCII rendering fix [R. Belmont, Barry Rodewald]

SDL: Mac compile warning fix [Wilbert Pol]

Added bare bones irq support to V810 CPU [Miodrag Milanovic]

Updated Naomi's M2/M3 decryption. On the fly decryption of Virtua Striker III is now possible. [Andreas Naive]

Fixed interrupt handing in V810 core,and flag position in PCW [Miodrag Milanovic]

SDL: add ptty (*IX/OS X) and sockets (all SDL builds) capability [Tim Lindner, R. Belmont]

Added Button 3 to the original Yie Ar Kung-Fu boardsets.  While not shown in manual, there is function for these buttons and the emulation should account for this possibility. Mapping is off by default. [Tafoid]

CPS-1 updates [Team CPS-1]:
* Added The King of Dragons (World 910805) and set as new parent
* Minor cleanups and fixes
* Added Mega Man: The Power Battle (CPS1, USA 951006) and set as new parent
* Fixed slammast, slammastu labels, added D-Board PALs and pcb infos
* mercs -> mercsr1, mercsua -> mercs
* Added Street Fighter II: The World Warrior (World 910228)
* Added missing notes about roms sockets to megaman
* Confirmed B-Board # for forgottnua, willowje, cawingu, fixed their labels where wrong and added pcb infos to video\cps1.c
* Removed incorrect roms relationship between parent/clones in ffightj, ffightj1, ffightj2 and cawingj
* Minor cleanups and fixes

Replaced smgolfb with correct dump [D. Beneke, M. David, Smitdogg, The Dumping Union]

MESS fixes: [Miodrag Milanovic]
* Fixed issue with image empty slot
* Default for writeconfig is now 0 for MESS since it is not needed anymore
* Fixed handling of mounted devices on hard reset
* Unified some emuopts code, and removed ifdefs

Corrected several rom names in the Sega System32 driver.  Most notably the correct revision for Spider-man & Golden Axe II US sets. [The Dumping Union]

Hooked up MSM5205 sample playback routines to Rougien, disabled by default because sample start write handler is still a mystery [Angelo Salese]

Updated Naomi/Naomi2 M2/M3 encryption. [Andreas Naive]

Fix F4 shortcut so it explicitly labels the address as a number by preceding it with "0x". This allows F4 to work properly, for example, on the 68000 stepping to address a6, which also happens to be a register name. [Aaron Giles]

More updates to Naomi/Naomi2 M2/M3 decryption. [Andreas Naive]

Added proper sample playback in Rougien [Andrew Welburn, Angelo Salese]

Split the screen device into a separate module. Converted global video routines into a video_manager. Moved video manager initialization earlier in startup. [Aaron Giles]

Allowed the use of either decimal or hexadecimal values for <dataarea> size, <rom> size, and <rom> offset in software lists. [Curt Coder]

Fixed array bounds problems found by GCC 4.5.x [qmc2, R. Belmont]

Fixed BSD compile [ElBarto]

m680x0: Many FPU and PMMU fixes and enhancements [Hans Ostermeyer]

Various device fixes/enhancements [Hans Ostermeyer]
* mc146818: Add UTC mode, various enhancements and fixes
* 68681: Fixes for loopback mode
* 6840ptm: Status register update fixes
* pic8259: IRQ semantics fixes
* 8237dma: Added memory-to-memory transfers

CPS-3 update [Team CPS-1]:
* Added JoJo's Venture USA bios rom CD version
* Reordered some CPS sets per release date in mamedriv.c
* Minor cleanups and fixes

Updated the Space Stranger overlay layout by adding the overlay for the Upright version, which looks different to the Cocktail. [M.A.S.H.]

Added support for Karateco's "Super Double" to the goldnpkr driver. [Gerrit Volkenborn]

Improved PGM Video RAM mirroring [David Haywood]

New games added or promoted from NOT_WORKING status
Pac-Slot [Bicycle Repair Man, Luca Elia]
Super Double (French) [Gerrit Volkenborn]

New clones added
The King of Dragons (World 910805) [cacis, Smitdogg, The Dumping Union]
Mega Man: The Power Battle (CPS1, USA 951006) [john666, gamerfan, Smitdogg, The Dumping Union]
Street Fighter II: The World Warrior (World 910228) [Layne, Smitdogg, The Dumping Union]
Super Space Invaders '91 [Irongiant]
Megatouch III (9255-20-06 ROD, California version) [f205v, Smitdogg, The Dumping Union]
Megatouch IV (9255-40-01 ROB, Standard version) [Kevin Eshbach, Smitdogg, The Dumping Union]
Super Megatouch IV (9255-41-01 ROG, Standard version) [N. Francfort, Smitdogg, The Dumping Union]
Mortal Kombat (prototype, rev 4.0 07/14/92) [xDisciplex]
Mortal Kombat II (rev L1.1) [TerryMasters]
Buccaneer [Gerald (COY), Smitdogg, The Dumping Union]
Jungle Boy [Andrew Welburn]
Bee Storm - DoDonpachi II (ver 101) [JackC] (not working)
Sunset Riders 2 (bootleg) [f205v, Smitdogg, The Dumping Union]
Buck Rogers: Planet of Zoom (not encrypted, set 2) [Smitdogg, The Dumping Union]
Time Killers (v1.21) [Gnoppi, Smitdogg, The Dumping Union]
Dogyuun (test location version) [Andrew Welburn]
Pit Boss Megatouch II 9255-10-01 R0E [Smitdogg, The Dumping Union]
JoJo's Venture (USA 990108) [Layne, Smitdogg, The Dumping Union]
JoJo's Venture (USA 981202) [Layne, Smitdogg, The Dumping Union]
Moon Shuttle (US? set 2) [robcfg]
Also from previous submit: [tafoid]

New games marked as GAME_NOT_WORKING
Virtual On Oratorio Tangram M.S.B.S. ver5.66 2000 Edition [Anonymous]
Ringout 4x4 [Anonymous]
Inu no Osanpo [Anonymous]
King of Route 66 [Anonymous]
Barroom Baseball (prototype) [Mariusz Wojcieszek]
Samba de Amigo ver. 2000 [Anonymous]
Derby Owner's Club 2000 [Anonymous, f205v]
Shootout Pool Medal [Anonymous]
Dream Crown [Charles MacDonald, Smitdogg, The Dumping Union]
X Tom 3D [Guru]
NeoPrint V1 [ANY]
World Kicks [The Dumping Union]
Shakatto Tambourine Cho Powerup Chu [The Dumping Union]
Dirty Pigskin Football [Cah4e3]
Outrun 2 Special Tours [Heywood Floyd, The Dumping Union]
Crazy Taxi High Roller [The Dumping Union]
Ridge Racer V Arcade Battle [Guru]
Smash Court Pro Tournament [Guru]
Funny Fruit (Version 1.13) [Luca Elia, Smitdogg, The Dumping Union]
Dragon World II (ver. 100X, Export) [Arzeno Fabrice, zozo]


MAMETesters Bugs Fixed
- 03791: [Sound] pandoras: Missing elements in emulated audio (Phil Bennett)
- 04074: [Crash/Freeze] raidndxa2: Segmentation Fault after OK (Angelo Salese)
- 04073: [Crash/Freeze] nzerotea: Segmentation Fault after OK (Angelo Salese)
- 04150: [Documentation] shrike: Year is 1986. (Tafoid)
- 04142: [Interface] Multiple escapes keypresses needed to exit MAME (Miodrag Milanovic)
- 03467: [Graphics] firebarr: Extensive issues with Tilemaps/Sprites (Angelo Salese)
- 03723: [Gameplay] schaser: Screen is upsidedown (hap)
- 04144: [DIP/Input] mazeinv: Incorrect amount of buttons (Tafoid)
- 04051: [Sound] hunchbks: No sound (hap)
- 04126: [Sound] minefld, rescue, aponow: Sound is missing (hap)
- 04145: [Documentation] strtheat: Game name description. (M.A.S.H.)
- 04137: [Color/Palette] rpatrol, rpatrolb: Wrong sprite colors. (M.A.S.H.)
- 04103: [Save/Restore] pesadelo: Complete graphic breakage on save (hap)
- 02942: [Crash/Freeze] wpksoc: Freeze after the "Recycle" screen (Angelo Salese)
- 04121: [Debugger] Debugger cannot set 8bit registers with 'do' command (Robbbert)
- 04130: [Debugger] Debugger print command does not behave as per the help (Robbbert)
- 04131: [Debugger] Debugger symlist command crashes MAME (Robbbert)

Source Changes
Adjust MC6850 receive/transmit timer periods when clocks are changed. [Curt Coder]

Fixed (?) end of spritelist marker in PGM [David Haywood]

Assorted accuracy updates: [Corrado Tomaselli]
* pacmania roms relabeled with the correct names.
* chaknpop changed clocks to PCB verified levels.
* tankbust changed clocks to PCB verified levels.
* kyros clocks changed to match bootleg PCB.
* mshuttlej (Japan - Set 1) sample rom MY06 should match US set.

Updates to Naomi/Naomi2 M2/M3 decryption. [Andreas Naive]

Add key for vf4cart [Andreas Naive]

Fixed debug command symlist (bug #4131) [Robbbert]

Hand tuned Z80 clock divider in Pastel Gal driver, needed to correct galds sound sample pitch [Angelo Salese]

Added correct refresh rate for PGM games [Zakk]

Fixed service mode in Tatakae Big Fighter [Angelo Salese]

Removed ROM patches to Tatakae Big Fighter [Angelo Salese]

Added reset line trigger from main to sound CPU in Irem M107 driver, fixing Fire Barrel sound [Angelo Salese]

Added a preliminary hook-up for an alternative rowscroll effect in Irem M107 HW, noticeable in Fire Barrel stage 2 and 6 and World PK Soccer goal scrolling [Angelo Salese]

Fixed regressed gameplay speed in Dream Soccer '94 (M107 version) [Angelo Salese]

Added preliminary row select effect in Irem M107, fixes for good the start-up transitioning in Fire Barrel [Angelo Salese, David Haywood]

Added Synertek SY6845E subtype to mc6845.c [Curt Coder]

Ported row select to every other tilemap in Irem M107 and fixed a bug in it, gives correct stretching gfxs at the end of level 1 and at the start of level 8 in Fire Barrel [Angelo Salese]

Fixed a title screen color bug in World PK Soccer [Angelo Salese]

forte2.c, pengadvb.c: fixed savestates [ShimaPong]

cb2001: fixed 2 opcodes [Roberto Zandona']

Fixed rowscroll effect in Fire Barrel  [David Haywood]

SDL: Clear and flip 3 times on resolution changes instead of twice, required by some OpenGL drivers [Chris Kennedy]

Removed static variables in FM sound cores. [Atari Ace]

Fixed sprite wrap-around y in Irem M107 HW [Angelo Salese]

Correct clocks documented from original PCB (galpani2i) for Gal Panic 2 [Corrado Tomaselli]

Fixed a misplaced sprite bug in Fire Barrel [Angelo Salese]

Fixed sprite-sprite priorities and fixed a sprite sticking bug on game over screen in Fire Barrel [Angelo Salese, David Haywood]

Fixed up Maze Invaders inputs, adding notes (Fixed MT#4144).  Fixed up Dip Locations to match open/closed states shown in service modes for the centiped.c driver. [Tafoid]

Fixed an un-inited bankswitch problem in the Seibu Audio driver, gives preliminary working sound in Denjin Makai [Angelo Salese]

missile.c: Corrected Missile Attack ROM locations and added PROMs to Super Missile Attack [Kevin Eshbach]

scobra.c: Added Super Cobra and Lost Tomb DIP switch locations [Kevin Eshbach]

Commented out a bogus irq ack in Seibu Audio HW, fixes sound for good in Denjin Makai and removes a cheesy kludge for Denjin Makai and SD Gundam Psycho Salamander no Kyoui [Angelo Salese]

H8: implement ldc #imm, ccr and rotr.w Rx for csplayh5 [R. Belmont]

Added a 'changed by' search to the cheat engine [Pugsy]

ics2115: Fix the timer [O. Galibert]

raiden2: Advance the cop code a little [O. Galibert]

Added key dump for scptour [Guru]

i8085 cpu Fixed loading of reg A from debugger 'do' command [Robbbert]

Add DEVICE_SELF_OWNER which allows an address map to refer to the owner of its owning device. Useful for CPU address map handlers for CPU's that are part of a device. [Aaron Giles]

Added sound comms in Raiden 2, giving working sound to it [Angelo Salese]

Added receive byte function to MC6850 ACIA for MESS generic terminal emulation. [Curt Coder]

Updated the PALs that need to be dumped for Puyo Puyo and Bloxeed [Kevin Eshbach]

vsnes.c: Corrected the Vs. Super Mario Bros (Alt) set name and added the Vs. Castlevania ROM location [Kevin Eshbach]

Z80DART changes: [Curt Coder]
* fixed asynchronous transmit mode
* fixed channel A interrupt vector
* improved logging

multfish.c update: [MetalliC]
* full save-states support
* changed to use timekeeper-device instead of mvram + custom code
* now  use  timekeeper as Z80 banked RAM (verified with hardware, now full game stats saved on power on/off as on real machine)
* graphics roms naming scheme changed as on Irgrosoft's hash-lists
* Roll Fruit's always-locked-coinlock bug fixed
* few old missing roms found and added: Fruit Cocktail 030623 fcockt_3 Lucky Haunter 030804  lhaunt_2 Resident 040415 resdnt
* all known hashes added (entertainment, lottery, etc)
* misc cleanup

Decoded GFX roms in Seibu Cup Soccer bootleg sets [David Haywood]

Added a preliminary DMA to the Legionnaire driver, fixes some color issues in Legionnaire and Denjin Makai [Angelo Salese]

Fixed BK3 bitplane order in Legionnaire, fixes the map screen colors in it [Angelo Salese]

Naomi updates:
* Added Rev. C Naomi 2 Export BIOS [The Dumping Union]
* Fixed some rom filenames that didn't fit MAME standard [Cah4e3]

Corrected game clock for dai3wksi as verified on PCB [Guru]

Added DMA mode 0x0e in seicop.c, used by Seibu Cup Soccer, Godzilla and SD Gundam [Angelo Salese]

Fixed sound comms in Seibu Cup Soccer sets [Angelo Salese]

Added idle skip for Ghost Eolith driver [David Haywood]

Made Zero Team and X Se Dae to boot [Angelo Salese]

Implemented a preliminary V25/V35 CPU core [Alex Jackson]

New games added or promoted from NOT_WORKING status
Bullet [Aaron Giles, Charles MacDonald, Chris Hardy]
Rumba Lumber [Corrado Tomaselli, David Haywood, Angelo Salese]
Deluxe Trivia ? Whiz (Edition 5) [Mariusz Wojcieszek, Smitdogg, The Dumping Union]
Denjin Makai [Angelo Salese, David Haywood, Tomasz Slanina]
Balloon & Balloon (BnB Arcade) [Tim Schuerewegen]
Happy Tour [Tim Schuerewegen]
Dai San Wakusei Meteor [Hau, Chack'n]

New clones added
World Class Bowling v1.4 [Brian Troha, The Dumping Union]
Ataxx (Europe) [Corrado Tomaselli]
Gals Ds - Three Dealers Casino House (bootleg?) [Team Europe & catSushi]
Gyruss (bootleg) [Darran]
Parodius DA! (World, set 2) [Corrado Tomaselli, The Dumping Union]
Gals Panic 2 (Italy) [Corrado Tomaselli]
Quester Special Edition (Japan) [taka-e]
Tic Tac Trivia (Vertical) [Smitdogg, The Dumping Union]
Raiden II (set 7, US Fabtek) [Smitdogg, The Dumping Union] (not working)

New games marked as GAME_NOT_WORKING
Race On! (RO2 Ver. A) [Guru]
Crisis Zone (CSZ04 Ver. B) [Guru]
Hydro Thunder [Mr. Do]
Offroad Thunder [Tom, gamerfan, Smitdogg, The Dumping Union]
Derby Owner's Club World Edition (Rev. D) [f205v, Cah4e3]


MAMETesters Bugs Fixed
- 04161: [Crash/Freeze] nibbler and clones: Mame crashes after pressing OK (Aaron Giles)
- 00859: [Color/Palette] blandia, blandiap: Tilemap colors issue. (Pierpaolo Prazzoli)
- 00860: [Color/Palette] blandia, blandiap: Incorrect colors (Pierpaolo Prazzoli)
- 04120: [Misc.] SDLMAME for Windows does not work unless you use -window (couriersud)
- 04156: [Crash/Freeze] cabal, cabala, cabalbl2, cabalus, cabalus2, tharrier, tharrierj: memory_set_bank called for unknown bank 'bank1' (hap)
- 04153: [Misc.] hydrthnd: SHA1 of CHD reported incorrectly. (David Haywood)
- 03916: [Graphics] arabian: Missing bird at top of the screen. (Phil Bennett)

Source Changes
Redumped sprite roms in X Se Dae Quiz [Guru]

Added preliminary (disabled by default) discrete sound emulation to Dai San Wakusei Meteor [Derrick Renaud, Andy Welburn]

Added DMA slots to Legionnaire HW, fixes Godzilla regression [Angelo Salese]

Fixed Bullet key back to what we dumped from original PCB. [Aaron Giles]

Improved sprite GFX ROM order in Godzilla [Angelo Salese]

AY-3-8910 unused bits in registers read back as 0 [hap]

Fixed Seibu logo tilemap colors in Seibu Cup Soccer [Angelo Salese]

s3c24xx.c: Fixing compiling process on Linux and MacOSX [qmc2]

Assigned MB88xx interrupt sources unique vectors, as expected by the Arabian MCU program [Phil Bennett]

Hooked up Arabian MB8841 MCU and removed obsolete simulation code [Phil Bennett]

Adjusted ym2203 clock speed and added XTAL for goindol.c based on a reference video recording.  [Tafoid, Rogerio]

Rewrote ics2115 sound core using modern device standards, improving audio in Oriental Legend, Killing Blade and other PGM titles in the process.  [austere, nimitz, trap15]

Implemented pdrawgfx for sprite routines in Legionnaire HW, and added wraparound for horizontal area smaller than 320, fixing left-border sprites in Legionnaire and Heated Barrel [David Haywood]

Implemented a preliminary sort-DMA in Seibu COP routines, fixes sprite-sprite priorities in Seibu Cup Soccer [Angelo Salese]

z80dart.c: [Wilbert Pol]
* The channel B modified interrupt vector can be read immediately after setting it.
* Reading from a read register other than 0 also masks out the register index.

Fixed RAM fill in Seibu DMA COP command 0x116, allowing Godzilla to boot [Angelo Salese]

Neo-Geo updates [Johnboy]:
* burningfh - Renamed p1 to hp1
* gowcaizr - Added correct C8 ROM
* 8man - Tagged MVS and AES version
* jockeygpa - Added alternate jockeygp set
* mslug5h - Corrected chip labels

Hooked up cocktail mode and proper controls for both players in Maze Invaders, adding button labels to describe the action of each. [sxevious, Tafoid]

Fixed LDM opcode register writeback in ARM CPU core [Tim Schuerewegen]

General stability issues with 64-bit builds fixed for cybertnk.c [David Haywood]

Implemented palette DMA brightness algorythm mode 5 in Seibu COP games, used by Seibu Cup Soccer, Godzilla, SD Gundam Rainbow Tairiku Senki and Legionnaire for fading effects [Angelo Salese]

hvyunit.c: Hooked up Mermaid protection MCU and removed obsolete simulation code. Also updated the driver to use a state class. [Phil Bennett, Dr. Decapitator, Andrew Gardner]

Implemented preliminary road emulation in Cyber Tank [David Haywood]

Renamed ilpag.c as blitz68k.c and added several games to the driver [Luca Elia]

sdlmame now also looks for fonts in "-fontpath". In addition, moved font config stuff into function search_font_config. This is in preparation to add ttf support to windows sdlmame build. [couriersud]

Fixed an ARM CPU core bug with pre-indexed addressing opcodes, that was preventing Poizone to boot [Tim Schuerewegen]

Fix most-likely-to-fail SDL_TTF version check. Added a warning if strikethrough is specified but not supported. [Couriersud]

Reimplemented scatter-gather Sprite DMA in Seibu COP used by SD Gundam Rainbow Tairiku Senki, also improving the functionality in it. [Angelo Salese]

Greatly improved inputs and dip switches for ertictac.c  [Tafoid]

Fixed playfield color issues in Seibu Cup Soccer [David Haywood]

Fixed *BSD compilation for SDLMAME. [ElBarto]

Fixed sfx in Chouji Meikyuu Legion [Tomasz Slanina]

Implemented preliminary Seibu COP macro command 0xdde5, used by Seibu Cup Soccer x/y radar positions [Angelo Salese]

Implemented ROM banking support in Raiden 2 HW, improving Raiden 2 and Zero Team behaviour [O.Galibert]

plygonet.c : Fixed save state & device handler regressions. [Andrew Gardner]

Golden Poker driver: Added new sets, and some notes about ipc-1 daughterboard encryption [Roberto Fresca]

Preliminary simulation of text layer protection in Chouji Meikyuu Legion [Tomasz Slanina]

Further ICS2115 work [austere, nimitz, trap15]

mpu4drvr.c: Account for the 45 degree trackball mounting [James Wallace]

Adds the recent 87C52 MCU decaps to Wonder League Star and Wonder League '96 [Dr. Decapitator]

superchs.c - Moved Button 6 assignment to a DIP selection which is more appropriate for "Freeze Screen" behavior and added some missing port names.  [Tafoid]

Updated the RSP and RDP implementations to be largely bit-perfect and pixel-accurate. [angrylion, Harmony]

Fixed alpha compare in the N64 RDP implementation. [Harmony]

More Golden Poker driver cleanup. Added more references and reorganized some parent-clone relationship. Added some new sets. [Roberto Fresca]

Implemented Seibu COP macro 0x905, used for ark movements in Legionnaire / Zero Team when a knock down occurs [Angelo Salese]

ARM7+ updates: [Tim Schuerewegen]
* Enhanced MMU with page fault support
* Preliminary 26-bit mode support
* Fixed bugs with S-flag operations on R15
* Fixed STRH involving R15
* Support for ARM models 7500 and 920T.

Add directxor parameter to direct memory accessors. Update all callers that manually XORed addresses to pass the XOR instead. This improves behavior when direct accessors hit non-RAM regions, or when watchpoints are used, because we now know the original, un-xored address and can fall back to standard read/write handlers properly. Also fixes glitched disassembly when read watchpoints are enabled. [Aaron Giles]

s3c24xx: some improvements and fixes [Tim Schuerewegen]

Removed public decodechar function. [Aaron Giles]

Fixed writes in the MIPS III interpreter. [MooglyGuy]

Some bulk naming cleanups across the whole source base: [Aaron Giles]
1. MDRV_* -> MCFG_*
2. running_device -> device_t
3. mame_rand() -> machine->rand()
4. memory_region() -> machine->region()->base()
5. memory_region_length() -> machine->region()->bytes()
6. region_info -> memory_region

New games added or promoted from NOT_WORKING status
Heavy Unit [Phil Bennett, Dr. Decapitator, Andrew Gardner]
Poizone [Tim Schuerewegen]
Silver Game [Roberto Fresca, Team Europe & HAL9K]
Jack Potten's Poker (NGold) (3 sets) [Roberto Fresca, Darran]

New clones added
Multi Champ Deluxe (ver. 1114, 14/11/1999) [caius] (not working)
Gran Tesoro? / Play 2000 (v4.0) (Italy) [Corrado Tomaselli] (not working)
Raiden (US, set 2)  [Smitdogg, The Dumping Union]
Golden Tee Golf (Trackball, v2.0)  [Smitdogg, The Dumping Union]
Relief Pitcher (set 2, 26 Apr 1992 / 08 Apr 1992) [Smitdogg, The Dumping Union]
G.I. Joe (World, EB8, prototype?) [caius]
Space Firebird (2 sets) [Andrew Welburn]

New games marked as GAME_NOT_WORKING
Bank Robbery (Ver. 2.00) [ChrisQC, Smitdogg, Luca Elia, The Dumping Union]
Bank Robbery (Ver. 3.32) [ChrisQC, Smitdogg, Luca Elia, The Dumping Union]
Deuces Wild 2 - American Heritage (Ver. 2.02F) [ChrisQC, Smitdogg, Luca Elia, The Dumping Union]
Maxi Double Poker (Ver. 1.10) [ChrisQC, Smitdogg, Luca Elia, The Dumping Union]
Mega Double Poker (Ver. 1.63 Espagnol) [ChrisQC, Smitdogg, Luca Elia, The Dumping Union]
Mega Double Poker Jackpot (Ver. 1.26) [ChrisQC, Smitdogg, Luca Elia, The Dumping Union]
Poker 52 (Ver. 1.2) [ChrisQC, Smitdogg, Luca Elia, The Dumping Union]
The Hermit (Ver. 1.14) [ChrisQC, Smitdogg, Luca Elia, The Dumping Union]
Mambo A Go-Go (GQA40 VER. JAB) [Kevin Eshbach, Tormod, gatt9, Smitdogg, The Dumping Union, smf]
"Unknown french poker game" [Roberto Fresca, Team Europe & HAL9K]
"Unknown encrypted poker game" [Roberto Fresca, Team Europe & HAL9K]


MAMETesters Bugs Fixed
- 04199: [Documentation] barbball: Typo in title
- 01879: [Graphics] All sets in toaplan2.c: Cocktail mode (Player 2) has no background images (David Haywood)
- 01004: [Graphics] chinhero, chinhero2, chinherot: There is a bad sprite on level 7 of the game. (Pierpaolo Prazzoli)
- 02111: [Graphics] madalien, madaliena: Missing lightup when enemies explode in dark
- 02041: [Sound] smgp and clones: Voice samples incorrectly played (hap)
- 00992: [Sound] hangon: The pitch of the engine sound is wrong (hap)
- 03460: [Color/Palette] starfire, starfirea: Incorrect color at bottom of screen
- 04190: [Color/Palette] heiankyo: wrong colors (hap)
- 02080: [Sound] armedf: DAC Chip playing Orchestra Hit Sample too low (hap)
- 03501: [Sound] batsugun, batsuguna, batsugunsp: Missing music and some sound effects (Alex Jackson)
- 04147: [Crash/Freeze] raiden: crashes if you use -debug switch (Alex Jackson)
- 03808: [Graphics] starsldr, vivdolls: Garbled screen (MooglyGuy)
- 04079: [Crash/Freeze] mtrain: Access Violation before OK (Luca Elia)
- 04178: [Documentation] cmmb162: Year should be 2002
- 00865: [Graphics] blandia: In Jurane stage, the whole bottom of the screen is filled with solid gray. (Pierpaolo Prazzoli)
- 04180: [Crash/Freeze] dunkmniaj: To key press "OK" the game has only a blue screen. (Tafoid)
- 02883: [Debugger] debugger: Pressing F10 (Step Over) occasionally causes Debug menu to light up (hap)
- 04165: [Crash/Freeze] vbowl, vbowlj: Crash after OK
- 04166: [Crash/Freeze] arabian, arabiana: After several cycles of the attact mode, the game halts (Phil Bennett)

Source Changes
Added Rockwell PPS4 CPU core (not finished) [Miodrag Milanovic]

Added GAME_MECHANICAL flag to mark games having mechanical interface (such as pinball, redemption, bowling games ...) Imported games from PinMAME as skeletons. [Miodrag Milanovic]

Removed fast IMEM and DMEM handlers from the RSP DRC in favor of the core memory system; fixes RSP DRC on 32-bit targets. [Harmony]

Changed DMADAC interleave in the Aleck 64 driver from 2 to 1; fixes monaural and poppy audio. [Harmony]

ARM7: fix for "39in1" (MAME) and removed a duplicate line [Tim Schuerewegen]

Hooked up preliminary Seibu COP macro command 0x6200, used on SD Gundam Rainbow Tairiku Senki for the Homing weapon [Angelo Salese]

ARM7+: Various cycle timing fixups [Tim Schuerewegen]

39in1: Fix to work with newer ARM7 cores [Tim Schuerewegen]

MIPS: make DRC selectable by #ifdef [R. Belmont]

Fixed BADCOP exception handling in the MIPS III interpreter. [MooglyGuy]

Fixed midground banking in Raiden 2 [Angelo Salese]

Implemented DMA slot concept to the Raiden 2 driver, giving correct sprite tables for X Se Dae and Zero Team [Angelo Salese]

Fixed start-up banking in Raiden DX [O. Galibert]

Implemented Seibu COP macro command 0x904 (variant of 0x905), used on X Se Dae and Zero Team. [Angelo Salese]

Implemented program bank read-back in Raiden 2, allowing it to not crash anymore during attract / gameplay [Angelo Salese]

Fixed Compare interrupts in the MIPS III interpreter core.  Aleck 64 games can now run under the MIPS III interpreter. [Harmony]

Implemented proper TLB handling in the MIPS III interpreter. [Harmony]

cb2001: some gfx improvements [David Haywood]

Fixed Seibu COP command 0x7e05, used by Raiden DX fg video banking [Angelo Salese]

osd/sdl again compiles against latest SDL 1.3 svn. [Couriersud]

Enabled flipscreen in Mr. Dig [Pierpaolo Prazzoli]

Implemented "-watchdog" option for SDLMame. [Couriersud]

"Copy-and-Paste" the "-bench" option from win32 to sdl. [Couriersud]

Add uPD7725 16-bit DSP core and hookups for SNES hardware [byuu, R. Belmont]

Removed no longer needed SNES HLE code [R. Belmont]

Added support for MSB shadows in STV VDP2. This improves Soukyugurentai shadows [Mariusz Wojcieszek]

Fixed RSP core VRSQL implementation. [Harmony]

spaceg.c improvements: [hap]
* less garbage trails, though it's not completely good yet
* fixed jerky x-movement
* fixed crash on loadstate
* marked color proms as undumped

New Namco 62xx device with internal ROM. [Dr. Decapitator, Phil Bennett, Andrew Gardner]

MIPS3 DRC: Fix case where branch delay slot straddles a page boundary and the page check confirms that the block is paged in. [Aaron Giles]

Correct Coin Mode & Coinage for Heavy Unit (World) [Brian Troha, Guru]

makedep now ignores "-include" which is used by sdlmame to include sdlprefix.h before all other includes. [Couriersud]

Remove "makedep" stuff from sdl.mak now that the core supports it. Also split sdl-config output between INCPATH and CCOMFLAGS for linux targets. makedepend now works. [Couriersud]

Fixed rendering of not rotated RBG layer in STV VDP2. This fixes garbage on level 4 of Soukyugurentai [Mariusz Wojcieszek]

Added dipswitch locations to moo.c, mystston.c, mystwarr.c, prehisle.c and pushman.c drivers [Brian Troha]

Added dipswitch locations to jchan.c driver [Brian Troha]

MIPS3 DRC: Include delay slots in checksum calculations. [Aaron Giles]

C++-ified drcfe and the associated frontends. You now create a frontend by deriving from drc_frontend and implementing the describe method. [Aaron Giles]

Added support for MSB enabled color calculation for sprites in STV. This improves some sprites in Soukyugurentai [Mariusz Wojcieszek]

Start moving the discrete subsystem towards C++. Changed some structs to classes and most of the list processing now uses a linked list template which is type-safe. [Couriersud]

Improved sprite-tile priorities in SD Gundam Sangokushi Rainbow Tairiku Senki [David Haywood]

V25: fix false warnings from some GCC versions [R. Belmont]

Improve TLB mismatch handling in PPC DRC, so that if we fill from an empty entry, we re-dispatch to previously compiled code instead of always recompiling the target. This greatly reduces the DRC overhead on 603-based games. [Aaron Giles]

Moved MESS RAM device into emu core. Added COMP and CONS macros in driver.h [Miodrag Milanovic]

Marking mechanical games as such in XML [Miodrag Milanovic]

Moved image devices implementation and related UI functions to emu section from MESS [Miodrag Milanovic]

Converted drccache to C++. [Aaron Giles]

Flagged a number of existing gamesi n MAME with GAME_MECHANICAL to indicate the presence of un-emulatable mechanical parts. [Tafoid]

Preliminary implementation of the Seibu COP palette brightness mode 4, used by Denjin Makai fade in/out effects [Angelo Salese]

Redumped PSAC2 rom in Rushing Heroes [Smitdogg, The Dumping Union]

z80.c: Allow daisy chain functionality to be used in a situation where there are more interrupt sources besides the daisy chain devices. [Wilbert Pol]

Redumped sprite roms in Rushing Heroes [Smitdogg, The Dumping Union]

Added HD61700 CPU core used for emulate Casio PB-1000/PB-2000c in MESS [Sandro Ronco]

Work around for Seibu COP command 0x8100 / 0x8900, used in all games for direction of objects. Fixes many sync bugs in all legionna.c / raiden2.c games [Angelo Salese, Tomasz Slanina]

Fixed sprite flickering and stage 5 crash in Raiden 2 [Angelo Salese]

Build vconv in all circumstances as part of win32 build. Always use gcc to build vconv. Add missing extern "C" to intrinsic definitions. Change vconv to call link.exe instead of lib.exe for libraries. [Aaron Giles]

Fixed background gfx issues in later levels of Raiden 2 [Angelo Salese]

Added SBY line read to SP0256 interface. [Curt Coder]

Implemented Seibu Audio variant with a single YM2151 sound chip, giving working sound to Air Raid [Angelo Salese]

bishjan.c update [Luca Elia]
* Implemented dynamic tile sizes
* Generalized video routines to support more layers
* Moved mtrain in from subsino.c

Fixed BCD score display bug in Raiden 2 and Zero Team [Angelo Salese]

naomi.c: Documentation additions [f205v]

Added dipswitch locations for Zodiack [Brian Troha]

Corrected play speed on Mr. Kicker.  [David Haywood]

Added CHD support in softlists [Miodrag Milanovic]

Fixed handling 80186 instructions [Phill Harvey-Smith]

SDL OS/2 fixes [K.O. Myung-Hun]

naomi: support texture stride selection [O. Galibert]

Corrected bitmap palette number for RBG0 in STV VDP2. This fixes colors in boss gfx in Soukyugurentai level 4 & 5 [Mariusz Wojcieszek]

Fixed some input issues in meosism, vasara, vasara2 and twineag2 (ssv.c)  [Tafoid]

Correct grom01.bin BAD_DUMP in Golden Par Golf [MASH]

Discrete sound system:
* all nodes are now class based
* removed all support for "legacy", i.e. procedural node functions.
* nodes are created using a class factory whose instances are set up in discrete blocks. There is no separation of node vs. module any longer.
* Custom modules are now just implemented like "normal" nodes.
* Converted all custom modules.
- Context variables can now be migrated to be private class members. [Couriersud]

cheat.c: added support for cheats with software list shortnames [Fabio Priuli]

video.c: added support for a new template to -snapname so that it is possible to use the name of images mounted in the devices (for MESS). Namely, it is now possible to use %d_XXXX to prescribe usage of the image mounted in the device XXXX. [Fabio Priuli]

clifront.c: improved the behavior of -listsoftware by updating DTD, by adding output of most missing elements and attributes (softlist description, features & diskdata) and by fixing size and offset formats [Fabio Priuli]

clifront.c: added remaining loadflags to -listsoftware output [Fabio Priuli]

Fixed an ARM7 R15 bit ignoring behaviour while in ARM state, fixes Lupin the Third: the Typing ARM crashing when you coin it up. [Tim Schuerewegen]

softlist.c: added best match suggestions to software lists [Fabio Priuli]

softlist.c: only output best match if a list is present, limit the scan for best match to the devices with the same interface and fixed a corner case with shortname=listname [Miodrag Milanovic]

romload.c: added support for split set to softlist (for cart, cd and hd) [Fabio Priuli]

devimage.c: added support for split set to softlist for cass and flop too [Fabio Priuli]

allow software lists to look for files in the rompath too [Fabio Priuli]

Figured out and made comments of math tables in roms 14/15 of Seibu Cup Soccer bootleg inside machine/seicop.c [O. Galibert]

SSV: improvements to flipscreen support [Roberto Zandona']

H8: Fix unterminated string buffer [R. Belmont, Belegdol]

clifront.c: added "-lsoft" option as short version of "-listsoftware" [Fabio Priuli]

clifront.c: prevented -lsoft from output DTD if no list is found [Fabio Priuli]

Placed full megadrive code in MAME section [David Haywood]

softlists: added WARNING if loading a software with supported="partial" or "no" [Fabio Priuli]

model3: redumped Daytona 2 Battle on the Edge CROMs [Guru]

Added FSAVE mode 2 support to the M68040 FPU. [Barry Rodewald]

ssv: improvements to the sprite position [Roberto Zandona']

SH4: cleanup and better common/interpreter separation [R. Belmont]

Documentation update to beezer driver for facilitating future sound work [Lord Nightmare]

Add missing XYZ latch readback on beezer, gets sound closer to working [Lord Nightmare]

SH4: Port preliminary SH3 support from DRC.  [R. Belmont]

Discrete subsystem: [couriersud]
* all list handling now based on dynamic_array_t (discrete.h)
* more code rewrite to get rid of fixed allocations.
* performance about the same as 0.140

Added a mostly complete NEC V25/V35 CPU core, added working sound to Batsugun and hooked up proper V35-controlled interrupts in Cosmic Cop / Gallop and Kengo [Alex Jackson]

Implemented proper RNG mechanism in Seibu COP emulation [Tomasz Slanina, Angelo Salese]

romload.c: implemented handling of parent-clone CHDs in software lists [Fabio Priuli]

bfm_sc2.c: Removed old-style NVRAM handlers in preparation for mechanical game support [AGEMAME]

MPU4 Changes: [AGEMAME]
* Added fix for lamp 'open circuit' errors which in turn make Connect 4 work better.
* Fixed layout typo that caused the wrong piece to be displayed in Connect 4.
* Documented the DUART and PTM better in MPU4 to allow for sampled sound changes later.
* Changed 'serial_card_connected_ to link 7a, as it is the jumper on the ROM card that changes the IRQ priority, not the serial interface itself.

dogyuun: decrypted some opcodes [Roberto Zandona']

raiden2: Command 0205 changes data at +1c too [dox, O. Galibert]

raiden2: First stab at a cop "disassembler" [trap15, O. Galibert]

Redo most of the DRC/backend support as C++. Yes, it is intentional that the x86/x64 backends compile everywhere. Backends are now derived from drcbe_interface and implement several required overrides. x86emit.h now uses namespaces so that the x86/x64 emitters can co-exist. New file uml.h/uml.c actually describes the UML language, separating out several concepts from drcuml.c. [Aaron Giles]

Cleaned up clocks of mid to late 80s Nichibutsu non-Mahjong games. Though not completely accurate yet, this should improve music speed and DAC audio pitch a bit. [hap]

romload.c: made -bios option case insensitive [Fabio Priuli]

starfire.c: Improved color emulation and added driver data [Qwi Jibo]

* found a lot more kbash opcodes by matching code with batsugun's [Alex Jackson]
* correct m68k and v25 address maps for kbash [Alex Jackson]
* corrected truxton2 program ROM [Alex Jackson]

fixeight: added several opcodes [Roberto Zandona']

Simplified UML parameters, as follows: [Aaron Giles]
* immediates can be passed raw, no IMM() wrapper required (and it's gone now)
* fixed integer registers now use constants I0,I1,I2,etc instead of IREG(0),...
* same for float registers F0,F1,F2,etc instead of FREG(0)
* dynamic integer/float regs use inline functions ireg(),freg()
* MEM macro is now a lower-case inline function mem()

Fixed a trivial boot vector program init bug in Lethal Thunder / Thunder Blaster [Angelo Salese]

Added an opcode in Mystic Riders decryption table, makes BGMs to work in mysticrib [Angelo Salese]

Added sound reset line for Irem M92 HW, and safely removed GAME_IMPEFECT_SOUND flag to Perfect Soldiers [Angelo Salese]

Fix a bug in makedep which will caused includes on the first line of the file like in skyraid.h to be ignored. [Couriersud]

Added working sound to Dogyuun and V-Five [Roberto Zandona', Alex Jackson]

toaplan2 improvements  [Alex Jackson]
* Figured out which bit controls V25 RESET in each game by comparing the 68000 code
* Added a comment about fixeight's I/O map, which we'll have to determine once we start decrypting it
* Put #ifndef USE_ENCRYPTED_V25S around some simulation crap that was hiding in fixeight's DRIVER_INIT

segapcm.c: Fixed loop address, hangon engine sounds better now. Also included documentation in source of known register functions. [hap]

madalien.c: Fixed highlighting in tunnel. [Qwi Jibo]

Fixed regressed flip screen support in Toaplan 2 games [David Haywood]

Changed the discrete sound system to be class based: [Couriersud]
* Former modules are now classes being derived from discrete_base_node
* Moved all context variables to be private class members.
* For "standard nodes", DISCRETE_CLASS_STEP_RESET provides a simple way to implement a node.
* All information around a node (additional info struct, constants and input mappings may be defined on a class level centralizing all information. An example is dss_inverter_osc.
* Significantly simplified the task handling.
* Fixed a bug which would not buffer secondary outputs.
* All lists in sound/disc_* are now based on dynamic_array_t (discrete.h)
* Changed all drivers to reflect the changes.
* Custom modules are now just another node class.
* No performance hit observed due to these changes.

Improvements to goldnpkr.c [Roberto Fresca]
* Lots of changes to get working the Video Klein games.
* Renamed witchcde to witchjol --> Jolly Witch (Export, 6T/12T ver1.57D).
* Added Wild Witch (Export, 6T/12T ver 1.74A).
* New video hardware and machine driver for Video Klein's extended tiles games.
* Added Dallas DS1210 + battery backed RAM support to the Video Klein CPU boxed games.
* Improved inputs for Jolli Witch and Wild Witch. Added the game selector switch.
* Cleaned up some witch card sets.
* Added technical and game notes.

m90: modified interrupt [Alex Jackson]

Replaced BSMT2000 HLE emulator with emulation of the original TMS32015. [Dr. Decapitator, Andrew Gardner, Quench, Guru, Ernesto Corvi, Peter Grounds, Lord Nightmare, Aaron Giles]

M6801 changes: [Curt Coder]
* added operating mode enum
* fixed port writes
* implemented SCI status follower bits

* Found a few more fixeight opcodes, by matching code in the interrupt routines with batsugun [Alex Jackson]
* Corrected fixeight V25 address map (the YM2151 and OKI6295 are at a different location than the other games) [Alex Jackson]
* Preliminary implementation of V25/V35 port output [Alex Jackson]

Optimized RC_INTEGRATE and TRANSFORM. Nice improvement. [Couriersud]

Changed all "output[0] = ..." into "set_output(0, ..)" calls. Rewrote modules using "output[0]" as a latch as well. The purpose is to decouple nodes from the discrete infrastructure implementation. [Couriersud]

Added a virtual stream update function to the device sound interface. Added a new stream_create that takes fewer parameters and calls the device's stream update. Removed the stream update stub template. Updated BSMT2000 and OKIM6295 to use the new interface for their streams. [Aaron Giles]

fixeight: hooked up EEPROM [David Haywood]

Added preliminary working sound to beezer. [Lord Nightmare]

M6801 changes: [Curt Coder]
* implemented port 3 strobed mode
* fixed port writes some more

Discrete subsystem now uses the sound_device stream_update function. [Couriersud]

Improve nmi handling in mouser. [Couriersud]

i8085.c: Fixed inte callback not being called when the IE flag was cleared after the CPU received an interrupt. This fixes interrupts in n8080.c helifire and spacelnc. [Qwi Jibo]

raiden2: Write down the rather weird results of a series of tests [dox, O. Galibert]

Added "-syncrefresh" option to osd/sdl. This will *limit* the game speed to the video refresh rate and works in -mt mode as well. The option has an effect only if "-waitsync" is specified. [Couriersud, Chris Kennedy]

Fixed 01004: chinhero, chinhero2, chinherot: There is a bad sprite on level 7 of the game. [Corrado Tomaselli, Pierpaolo Prazzoli] Added sprites wrap around-y in Chinese Hero to fix gorilla sprites entering from the left [Pierpaolo Prazzoli]

fixeight: decrypted all used opcodes and added EEPROMS for all countries; now the sound works [Andrew Jackson, David Haywood, Roberto Zandona']

fixeight: cleaned up the inputport for fixeight (no dips) [David Haywood]

ARM7 updates [Tim Schuerewegen]:
* Disable 26-bit back compatibility for ARM7 variants other than ARM7500
* Fix carry flag issue on add/subtract in ARM mode

cb2001: reworked interrupt [Alex Jackson]

720 - added Driver Configuration option to allow the controls to be set to Real 720 Controller Input; fake joystick; or fake spinner.  It defaults to fake spinner for mouse/spinner use. [Derrick Renaud]

Changed the Analog Controls menu to only list controls selected in the Driver Configuration. [Derrick Renaud]

ARM7 updates [Tim Schuerewegen]:
* Fixed "MOV x, R15, LSL #y" form as tested by ARMWrestler
* Added unimplemented Thumb MOV variant used by GBA Moto GP

Reorganized megadrive/sms sourcefiles for better sharing between MAME/MESS. [Fabio Priuli]

NEC DSP updates [R. Belmont, byuu, Dr. Decapitator]:
* Now supports uPD7725 and uPD96050
* Hooked up SNES common code to use uPD96050 for ST-010/011
* Removed ST-010 HLE simulation

Display suggestions in case commands that require game name are called and there were no matching games  [Miodrag Milanovic]

Carved out a discrete_sound_device from discrete_device. This now has all the stream related code. discrete_device thus now contains all the generic code and may be used going forward to implement not sound related use cases. [Couriersud]

New games added or promoted from NOT_WORKING status
Mr. Kicker [Pierpaolo Prazzoli]
X-Plan [Bicycle Repair Man, Luca Elia]
Penfan Girls [hap, N. Francfort, Smitdogg, The Dumping Union]
Witch Card (Video Klein CPU box) [Roberto Fresca]
Jolli Witch (Export, 6T/12T ver 1.57D) [Roberto Fresca]
Wild Witch (Export, 6T/12T ver 1.74A) [Roberto Fresca, Team Europe]

New clones added
Sega Touring Car Championship (Newer) [briantro]
Sega Touring Car Championship (Unknown Revision) [Brian Troha]
Mahjong Man Guan Da Heng (Taiwan, V125T1) [Luca Elia]
Zero Team Suicide Revival Kit [Angelo Salese]
Bombjack Twin (prototype? with adult pictures) [ranger_lennier, Smitdogg, The Dumping Union]
Sexy Parodius (ver AAA) [Tormod]
Ring of Destruction: Slammasters II (Asia 940831) [john666, Smitdogg, David Haywood, The Dumping Union]
Street Fighter Alpha 2 (USA 960430) [Ricky74, Layne, Smitdogg, The Dumping Union]
Football Champ (World, bootleg) [Clawgrip] (not working)
Gekirindan (Ver 2.30 1995/09/21) [Corrado Tomaselli, J. Bijl, The Dumping Union]
1943: Battle of Midway (bootleg, hack of Japan set) [Smitdogg, The Dumping Union]
Road Riot 4WD (set 1, 13 Nov 1991)  (not working) [Smitdogg, The Dumping Union]
Scramble (bootleg?) [Roberto Fresca, Team Europe & Hal9k]
Zero Target (World, CW) [ranger_lennier, B. Sparks, Kevin Eshbach, Smitdogg, The Dumping Union]

New games marked as GAME_NOT_WORKING
X-Plan [Bicycle Repairman]
Fantasy Zone (Mega-Tech, SMS based) [Ace]
Brave Fire Fighters [Guru]
NASCAR Racing [Guru]
Lucky Lady (Wing, encrypted) [Roberto Fresca, Team Europe & Willi.O]
ATV Track [hap, ANY, ranger_lennier, dopefishjustin, gamerfan, gatt9, N. Francfort, Smitdogg, The Dumping Union, David Haywood]


MAMETesters Bugs Fixed
- 04225: [Sound] gangwars: Samples incorrectly played (Tafoid)
- 04221: [Misc.] chryangl: Incorrect sizes listed in source.
- 04215: [Graphics] quizf1: missing graphics in a startup screen (robiza)
- 04214: [DIP/Input] grobda, motos, phozon: No directional controls available for second player (Tafoid)
- 04107: [Save/Restore] All sets in aristmk4.c: Unable to write save state (Fabio Priuli)
- 04202: [Sound] asteroid, llander and clones (+ others): Discrete sound missing/broken (Derrick Renaud)

Source Changes
arm7: Fix for "MOV LR, Rx" (where Rx bit 0 = 1) + "F800" situation. This fixes the lockup in GBA "Golden Sun: The Lost Age". [Tim Schuerewegen]

SSV: Hook up uPD96050 (ST-010) math/protection DSP [R. Belmont]

[mysticrib] added one opcode and fixed music and sound [Roberto Zandona']

Fixed DISCRETE_WAVLOG & DISCRETE_RCFILTER fixing dkongjr and likely other sounds. [Derrick Renaud]

intelfsh: Support flash ROMs that have a bankswitch command [Tim Schuerewegen]

Fixed banking in daytona2 by adding a second aperture to CROM at 0xc3000000. A couple of CROMs checksum as bad, but most come out good. [Aaron Giles]

A new WE DSP16A cpu disassembler.  [Andrew Gardner]

Added a preliminary Softlist support for Sega Megatech, that allows multi-cart support. syntax is (similar to the MESS one) mame megatech -cart1 mt_beast -cart2 mt_soni2 ... -cart8 mt_shar2 SMS games have issues when moving between games, so stick to only a single SMS game for now or the z80 will crash. [David Haywood]

Fix missing sound channel in beezer; sound should now be more or less correct, but the noise source still isn't accurate yet. [Lord Nightmare]

Improved beezer volume DAC handling to be accurate to hardware. [Lord Nightmare]

quizf1: added opcodes [Roberto Zandona']

C++-ified the sound and streams interfaces. Combined sound.c and streams.c into one file, and separated the speaker device into its own file. Generalized the concept of dynamically assigned inputs and re-wired the speaker to work this way, so it is now treated just like any other sound device. Added methods to the device_sound_interface for controlling output gain and mapping device inputs/outputs to stream inputs/outputs. Also made the sound_stream_update() method pure virtual, so all modern sound devices must use the new mechanism for stream updates. [Aaron Giles]

Clean up megatech.xml. [Fabio Priuli, David Haywood]

Clean up natural keyboard support. [Atari Ace]

Eliminated static/global variables in a number of Atari drivers by moving them into a driver_device. [Atari Ace]

Fixed Metal Slug 6 ROM mirror, game is fully playable [Cah4e3]

Fix a bug in palette_normalize_range which caused color distortion. The luminance normalization now converts r,g,b to y,u,v and normalizes y prior to converting back to r,g,b. This affects e.g. radarscp, dkong and mario drivers. [Couriersud]

Modernized the DSP32 core. [Aaron Giles]

Rewrote video routines and fixed partial updates in the Dottori Kun driver [Angelo Salese]

Added all CPU and sound devices in emu folder to the MAME build. [Curt Coder]

arm7: [Tim Schuerewegen]
- Improved LDM/STM unaligned word access in THUMB mode.
- Fixed LDM unaligned read in THUMB mode.

Imported the MC68901 device from MESS so it can be shared with micro3d.c. [Curt Coder]

ksys573: Hook up part of the i2c communication with the mas3507d. [O. Galibert]

Renamed bishjan.c to subsino2.c [Luca Elia]
* Implemented reel layer
* Fixed rogue tiles in xplan
* Hopper emulation in bishjan

m90: fixed line scroll [Roberto Zandona]

ARM7: Fix an LDM base register write-back bug. [Tim Schuerewegen]

Added correct LA revision levels to the Pigskin 621AD rom set as well as including the date in the game titles of Arch Rivals and Pigskin 621AD sets. [The Dumping Union]

Fixed interrupt vector in F8 CPU core [Sandro Ronco]

namcops2: Added dumped key for Ridge Racer V RRV3 Ver. A [Guru]

Converted TMS3203X to a modern device. [Aaron Giles]

Removed redundant m_machine from the state and execute interfaces to fix ambiguity when using m_machine from within a device that inherits from these. [Aaron Giles]

beezer now uses correct mm5837 noise source (clock may be a bit off though), and now has mm5837 properly hooked to audio via. May still be some issues with intermittent noise updating which need fixing. [Lord Nightmare]

Improvements to Magic's 10 driver. [Roberto Fresca]
* New inputs from the scratch for Music Sort.
* Complete DIP Switches and DIP locations for Music Sort.
* Added a new button-lamps layout for Music Sort.
* Created a default NVRAM that allow Music Sort work properly.

NetBSD support [Thomas Klausner]

pollux: fixed sprite flip x and y and removed old comments [Roberto Zandona']

Converted attotime to a class, with proper operators. Removed old global functions which are now superceded by the operators and methods on the class. [Aaron Giles]

Eliminated global/static variables in a number of Taito/Irem drivers  by introducing/using driver_device classes. [Atari Ace]

Cleaned up shared implementation of CDi [David Haywood]
* merged MESS CDi driver file with the MAME CDi driver file (used for Quizard)
* the cdimono1 system is now the parent / bios of Quizard, the Quizard games run on a retail CDi unit with Jamma adapter / dongle for protection so this is a logical step.

Replaced anonymous timers used in video/segaic16.c, drivers/segaorun.c and drivers/segaxbd.c with allocated timers, making it possible to add save state support to these drivers.  [Alex Jackson]

Updates to cave.c and toaplan2.c: [Alex Jackson]
* Added savestate support to all games in cave.c. Most of the work was already done by someone else; the blocker was a perpetually-running anonymous timer, which I converted to an allocated timer.
* Changed OKI sample banking to use device address maps instead of memcpy() in all cave.c games except the nmk112-based games. If someone wants to try to convert nmk112.c to use device address maps and bank pointers, be my guest--you'll need 8 banks of varying sizes per OKI chip...
* Fixed description of the Japanese Air Gallet set--the game's Japanese title is "Akuu Gallet".
* Made machine/nmk112.c actually restore its state properly. Also refactored it a little (if you can talk about refactoring a source file that almost fits on one screen)
* Fixed bgaregga's nmk112 interface to work with the refactored nmk112.c.
* Removed excessive CPU interleaving from batsugun, left over from when I was initially hooking up the V25.
* Removed a useless printf and some obsolete comments, more leftovers from the process of hooking up the V25.

Added MCFG_SCREEN_RAW_PARAMS to twincobr.c and wardner.c, correcting their refresh rates.  [Alex Jackson]

Add basic LOAD function to the debugger to complement the existing SAVE function. It allows you to load a binary file straight into writeable memory.  The format is the same as the SAVE function with the exception that the <length> can be handled differently.  [Pugsy]

68681 patch to fix dectalk's startup test in MESS [Hans Ostermeyer]

drcuml: fix compile on systems that use the C backend [R. Belmont]

Reimplemented fruit-machine mechanical meters to use timers [AGEMAME]

Various MPU4 changes [AGEMAME]:
* Revised timing/input system to stop flickering
* Tidied up the LED drawing code to remove flicker
* Support for all known extenders and reel multiplex boards used in MPU4 H/W
* Partial support for OKI sampled sound card, need for some titles
* Fixed Old Timer characteriser
* Some general tidying up to allow better study of the BwB titles

Implemented proper mouse wheel event handling in the Windows debugger. [Curt Coder]

Convert emu_timers to objects. Moved implementation and management of timers into the scheduler. Retain TIMER devices as a separate wrapper in timer.c/.h. Rather than using macros which hide generation of a string-ified name for callback functions, the new methods require passing both a function pointer plus a name string. A new macro FUNC() can be used to output both, and another macro MSTUB() can be used to output a stub-wrapped class member as a callback. [Aaron Giles]

Added a time() method on the machine, so that machine->time() gives the current emulated time. [Aaron Giles]

Added methods to the device_t class that make creating and managing device timers much simpler. Modern devices were updated to use these. [Aaron Giles]

Ensured that the debugger disassembly PC cursor is visible on startup. [Curt Coder]

Made changes to the PORT_ADJUSTER values for MSM5232 clocks in all games in drivers to best match PCB recordings.  [Fujix, Tafoid]

Removed cpuexec_describe_context, cpuexec_boost_interleave, cpuexec_trigger, and cpuexec_triggertime in favor of calls to the scheduler. [Aaron Giles]

tms57002: significantly improved build speed on lower-end h/w [R. Belmont]

G65816: fixed operation on PowerPC Linux where char is unsigned [R. Belmont, billb]

Move generic templates from emucore.h to emutempl.h. Normalize the tagged_list template to wrap a regular standard_list and have similar semantics. Updated a few direct callers to handle the changes. [Aaron Giles]

sigmab98: fixed zooming, added priorities and flipping [Luca Elia]

Moved the state saving system to C++. For now the registration macros are still intact. The new state_manager class has templatized methods for saving the various types, and through template specialization can save more complex system types cleanly (like bitmaps and attotimes). Added NAME() macro which is a generalization of FUNC() and can be used to wrap variables that are registered when directly using the new methods as opposed to the previous macros. [Aaron Giles]

Added new mechanism to detect proper state save types. This is much more strict and there will likely be some games/devices that fatalerror at startup until they are remedied. Spot checking has caught the more common situations. [Aaron Giles]

Added methods in the device_t class that implicitly register state against the current device, making for a cleaner interface. Bulk updated existing devices and drivers with driver_device classes to use these methods. [Aaron Giles]

cps1.c: CPS-1 update [Team CPS-1]:
* Added Tenchi wo Kurau (Japan Resale Ver.)
* Confirmed B-Board # for chikij, added ROMs positions, PALs and some pcb infos to video\cps1.c
* Fixed sf2uk labels and added pcb infos
* Identified and documented willowje as an early and genuine USA release, added a note and renamed willowje -> willowo
* Verified and fixed XTALs of Japan Resale Versions to work at 12MHz, they all use DASH A-Boards
* Minor cleanups and fixes

Migrated allocated buffers to arrays in the driver_data classes of several drivers. [Aaron Giles]

Made "run to next CPU" more reliable. [Aaron Giles]

Fix memory manager bug when calling 32-bit handlers on a 64-bit address space. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Express Card / Top Card [Smitdogg, The Dumping Union, Luca Elia]
Magic Train [Grull Osgo, Roberto Fresca, David Haywood, Luca Elia]
X-Train [Smitdogg, The Dumping Union, Luca Elia]
Music Sort (ver 2.02, English) [Roberto Fresca, Team Europe]
18 Wheeler [hap, Siftware]
Animal Catch [Luca Elia, Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Itazura Monkey [Luca Elia, Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
California Games (Mega-Tech) [f205v, incog, Smitdogg, The Dumping Union]

New clones added
Space Bomber [hap, N. Francfort, Smitdogg, The Dumping Union]
Top Skater (Japan) [Pat Daderko]
Prehistoric Isle in 1930 (Korea) [Artemio Urbina
Zero Hour (set 2) [Andrew Welburn, The Dumping Union]
Prehistoric Isle in 1930 (Korea) [Artemio Urbina
Hidden Catch 2 (pcb ver 1.00) (Kor/Eng/Jpn/Chi) [Yohji, Smitdogg, The Dumping Union]
Tenchi wo Kurau (Japan Resale Ver.) [J. Finney, italie, john666, Yohji, Smitdogg, The Dumping Union]
Red Earth / Warzard (961023) [Smitdogg, The Dumping Union]
Double Dribble (prototype?) [Smitdogg, The Dumping Union]
Tetris Plus 2 (Japan, V2.1) [Yohji, Smitdogg, The Dumping Union]
Violent Storm (ver AAB) [Denis Lechevalier]
Black Tiger (older) [David Raingeard]

New games marked as GAME_NOT_WORKING
Metal Slug 6 [Guru]
Evil Night (ver UBA) [Guru]
Oinori-daimyoujin Matsuri [Yohji, Kevin Eshbach, R. Mucciarelli, Cah4e3, The Dumping Union]
Funky Ball [krick, incog, Smitdogg, Guru, The Dumping Union]
Reno Reels (20p/10GBP Cash, release A) [AGEMAME]
BwB Tetris v 2.2 [AGEMAME]
Red Hot Poker (20p/10GBP Cash, release 3) [AGEMAME]
Samurai Spirits Tenkaichi Kenkakuden [Guru]
Pye-nage Taikai [Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Hae Hae Ka Ka Ka [Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Taihou de Doboon [Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Dream Fruit [Yohji, Smitdogg, The Dumping Union]
NeopriSP Retro Collection [Yohji, Smitdogg, The Dumping Union]
Last Bank [Yohji, Smitdogg, The Dumping Union]


MAMETesters Bugs Fixed
- 03660: [Graphics] pengo and clones: Player 2 cocktail graphics are offset. (hap)
- 03907: [Graphics] All sets in xain.c: Cocktail (2P) view offset (hap)
- 04224: [Graphics] All sets in snk6502.c: Cocktail screen offset (hap)
- 04260: [Graphics] nyny and clones: Starfield is missing (hap)
- 02856: [Color/Palette] comotion, hustle: Overlay color looks wrong compared to game flyers. (hap)
- 04114: [Documentation] thepit and clones: The parent/clone relationship needs fixing (hap)
- 04257: [Documentation] ewf: Misdescription of the game.
- 03789: [Graphics] ambush, ambusht, ambushv: Incorrect colors (hap)
- 03945: [Color/Palette] cosmica and clones: Sprite colors for alien formations are incorrect (hap)
- 02997: [Sound] hotsmash: Inconsistant audio during demonstration play (hap)
- 03785: [Sound] pbillian: Samples played incorrectly (hap)
- 00939: [Graphics] rjammer: Various graphic errors (hap)
- 04243: [Crash/Freeze] ddrsbm: Crash just before NVRAM format (Olivier Galibert)
- 03766: [Crash/Freeze] cartfury, roadburn, sf2049 + clones: Crash before OK (Atari Ace)
- 03428: [Sound] sfx: Sound missing. (hap)
- 03194: [Documentation] tsamuraih: Samurai nihon-ichi (set 3 harder) comes from a bootleg board (f205v)
- 03686: [Sound] superbug: Extended play sound hangs (hap)
- 03617: [Sound] barricad: Collision sound is missing (hap)
- 03486: [Sound] hitme and clones: Sound tones never stop playing (hap)
- 01122: [Graphics] circus: [possible] When you first time run a game your jumper float to the upper edge of screen. (hap)
- 00391: [Misc.] circus: During the game and demo, there seem to be invisible walls lined up with the edges of the platforms where the guy (hap)
- 04241: [Crash/Freeze] egghunt: Crash: "Called save_item on a pointer with no count!" before OK screen. (hap)
- 04240: [Crash/Freeze] All sets using TLCS90 CPU; all sets using MultiPCM: Crash: "Called save_item on a non-fundamental type!" before OK screen.
- 03279: [Sound] psyvaria, psyvarrv: sound effect loops infinitely (R. Belmont)
- 03107: [Sound] Drivers using emu/sound/psx.c: Sound effects are cut abruptly/clipped (R. Belmont)
- 00313: [Graphics] speedatk: When you activate the flip screen the graphics are moved over to one side. (Angelo Salese)
- 04227: [Misc.] Multiple Typos with Receive spelled Recieve
- 04226: [Documentation] sfiii2: Typing errors for SFIII2_970204 used instead of the right SFIII2_970930 (David Haywood)

Source Changes
Rewrote IOX key matrix device implementation, used by Super Real Mahjong Part 2/3 [Angelo Salese]

Removed ROM patches and added working player 2 inputs in Super Real Mahjong Part 3 [Angelo Salese]

Fix compiling on GCC 4.6 prerelease [Belegdol]

Added information screen output for any game known to have bad or missing data in order to better inform the user as to the reason their emulation may not work as expected.  [Alex Jackson]

Removed ROM patch in Super Real Mahjong Part 2 [Angelo Salese]

Cleaned up iox implementation in Speed Attack [Angelo Salese]

Rewritten Speed Attack video routines from scratch, also fixed screen flipping in it [Angelo Salese]

Define new macro ALLOW_SAVE_TYPE which can be used to declare enums as valid save types on a case-by-case basis. Updated the cosmac CPU core to do this for its mode and state enums, which were previously failing. [Aaron Giles]

Added a new sound device: Oki MSM9810: [Andrew Gardner]
* Added and hooked up volume table.
* Added preliminary ADPCM2 support.
* Added sub-table lookups.
* Added OPT command.
* Implemented on-chip interpolation & status read.
* Implemented PAN command and stereo mixing.

destroyr.c driver minor improvements [hap]:
* proper addressmap masks
* added 30132-01.k4 rom, duplicate of 30132-01.f4
* added version O1 romset, dumped by Siftware

Added shortname to devices in order to make ROM loading per device possible. [Miodrag Milanovic]

ksys573, naomi: Device-ify the security flashes and the dallas id chip. [O. Galibert]

Fix the interpolation coefficient shifts for the tms5xxx chips based on results of simulating the circuit from the patent. [Lord Nightmare]

mame_file is now emu_file and is a class. It is required to pass a core_options object to the constructor, along with a search path. This required pushing either a running_machine or a core_options through some code that wasn't previously ready to handle it. emu_files can be reused over multiple open/close sessions, and a lot of core code cleaned up nicely as things were converted to them. [Aaron Giles]

Created a file_enumerator class for iterating over files in a searchpath. This replaces the old mame_openpath functions. [Aaron Giles]

Changed machine->options() to return a reference. [Aaron Giles]

Removed public nvram_open() and fixed jchan/kaneko16 to stop directly saving NVRAM. [Aaron Giles]

Removed mame_options() calls; options can only be queried from the running_machine, or by passing them along. [Aaron Giles]

Added core_options to device_validity_check() so they can be used to validate things. [Aaron Giles]

chdman: experimental incomplete .nrg disc image import [R. Belmont]

First (small) step towards driver class for megadrive-based drivers [Fabio Priuli]

Fixed LLDT [reg], LTR and LMSW instructions, and added preliminary implementations of VERR, VERW and LAR in the i386 CPU core. [Barry Rodewald]

megadriv.c: Rewritten SegaCD/MegaCD emulation [David Haywood]

cdrom.h: Added alt lba_to_msf conversion needed by SegaCD/MegaCD [David Haywood]

Replaced PSX SPU with a much more complete implementation. [pSXAuthor, R. Belmont]

Eliminated global/static variables in a number of Konami/Sega drivers by introducing/using driver_device classes. [Atari Ace]

Eliminated global/static variables in a aristocr/atlus/bfm/bmc/capcom/cinemat/dataeast drivers by introducing/using driver_device classes. [Atari Ace]

Converted atarirle to a device. [Atari Ace]

Correct SPU IRQ notification in all drivers.  Fixes streaming audio in Simpsons Bowling. [R. Belmont]

Implemented address readback position registers in rf5c68 sound core [Angelo Salese]

Added HD6301 subtype to the M6800 CPU core. [Curt Coder]

Delete symbols file if defined when invoking clean target. [Curt Coder]

Used the common MC68901 device in micro3d.c. [Curt Coder]

salarymc: CD redumped [Roberto Malone, Yohji, Smitdogg, The Dumping Union]

sigmab98: added preliminary sound to the Sammy medal games [Andrew Gardner]

tms9928a.c: Fixed colors in multicolor mode [Michael Zapf]

i386: Changed READ/WRITEPORT macros to inline functions to properly support aligned vs. unaligned writes. Fixes regressions in MESS for all drivers using the PCI bus and possibly others.  [Dirk Best]

Input ports can now be added to device, names are formed as sub tags from parent device tag. [Miodrag Milanovic]

OKI MSM9810 : Added preliminary ADPCM2 support. [Andrew Gardner, Lord Nightmare]

PSX: add DMA mode used for CD transfers on home system, fix DMA bug that caused home system to freeze. [pSXAuthor, Harmony, R. Belmont]

Hash generation and general cleanup. New class hash_collection holds and manages a collection of hashes, and can be built from an internal format string which is stored with each ROM. Also compacted the form of the hash strings used for ROMs, and fixed verification/hashing of non-ZIPped files. [Aaron Giles]

snes_snd.c: fixed save state error [Fabio Priuli]

circus.c: Improved interrupt handling: circus generates them the same way as ripcord (based on sprite-bg collision), robotbwl doesn't generate interrupts at all. [hap]

Updated DIPS and Dip Locations based on documents posted by Laschek at KLOV.  [Tafoid]

SDL: GLSL now works for all pixel formats; fixed memory leak on textures [cgwg]

Eliminate statics/globals in drivers jpm/kaneko/maygay/meadows/merit/metro/midcoin/midw8080/midway/msx/namco. [Atari Ace]

Convert dooyong/edevices/eolith/exidy/gaelco/gottlieb/igs/itech/jaleco drivers to driver_device. [Atari Ace]

Decoupled some entagled drivers: [Atari Ace]
* Removed unneeded #include lines (gal3.c galaxold.c asic65.c)
* Split part of the driver include into a separate multi-driver include file (audio/exidy.h audio/exidy440.h audio/wiping.h machine/segag80.h)
* Moved code to a new file/include to be referenced in multiple drivers (ms32crpt.[ch] opwolf.c rainbow.c)
* Duplicated some code (palette related) between drivers (mainsnk rollrace sslam)
* Moved a driver specific routine to a generic device file (atarimo)
* Cleaned up a few include files (cubocd32 cidelsa metalmx seicross thoop2).

Fixed sound issues in Pollux, Gulf Storm and The Last Day [Tomasz Slanina]

Updated LH5801 CPU core [Sandro Ronco]
* Added IO_SPACE and updated all access in ME1 memory for use it.
* Implemented interrupts.
* Fixed the flags in the ROL/ROR/SHL/SHR opcodes.
* Fixed decimal add/sub opcodes.

i386 - Fix for exceptions that require the return address to point to the instruction at fault. [Barry Rodewald]

Fix disassembler override hook [Aaron Giles]

Fix reads for 32-bit handlers on 64-bit CPUs too. [R. Belmont]

Amiga fixes: [Roberto Zandona]
* removed additional 2 cycles, in move operation, for non-Agnus registers
* set to #0 the start cycle in the copper operation

PSX updates: [smf]
* Fixed DICR handling.
* Removed non existant root counter 3 IRQ.
* Ignore root counter stop when reset is also set.
* Removed custom root counters in Konami 573 driver.

DS2401: Fixed timer intervals. [smf]

Correct background color in Rougien [Angelo Salese]

M680x0 updates [Hans Ostermeyer]
* Instruction cache emulated on '020 and later
* Fixed interaction between MMU and bfextu/bfexts/bfins
* Added fsgldiv, fsglmul, and fscc FPU instructions
* Fixed fault address in stack frame
* Fixed supervisor violation bit in MMU status register
* Add fmovem modes 1 and 3
* Various other MMU fixes

Fixed ROM name and driver description for blkdrgon [Team Japump]

Make DEVICE_SELF work in ports. [O. Galibert]

Add specific support for the fact that setting frequency to 0 does not behave as if frequency was set to 0x400 on the Sega-manufactured PSG clone chips, whereas it does on the original TI-made ones. Fixes Sega Master System 'Vigilante' music [Lord Nightmare, Enik]

Modified video update system: [Miodrag Milanovic]
* Screen update function is now per screen device (it was before but was attached to machine driver)


* EOF is now executed for all screens, so for all existing it is defined just for one screen. This part will be updated in future.

Refactored the CD32 code base to eliminate duplicate code between MAME and MESS [David Haywood]

Added overloaded input_port_read() for reading device owned input ports. [Curt Coder]

fix global flipscreen. [hap]

Naomi: implemented live M2/M3 decryption and decompression & removed trojaned data from more games. [Andreas Naive, Olivier Galibert, Deunan Knute, Cah4e3, R. Belmont]

Naomi: DMA on-the-fly decompression+XOR support [Deunan Knute, R. Belmont]

softlist wip code to add more info nodes [Fabio Priuli]

seta2.c update: [Luca Elia]
* Horizontal clipping of "tilemap" sprites
* Shadows emulation

sigmab98: added sammymdl BIOS and hardware info [Smitdogg, The Dumping Union]

Updated pangofun.c and pcat_dyn.c to use common PC emulation [Mariusz Wojcieszek]

AICA: Correct slotmon readback.  Streaming sounds now advance in e.g. capsnk. [R. Belmont]

Converted nichibut/nintendo/nix drivers to use a driver_device. [Atari Ace]

Fixed attotime max() function to not be a copy of min(). Fixes several regressions in the scheduler after the recent attotime object conversion. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Hae Hae Ka Ka Ka [Luca Elia, Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Pye-nage Taikai [Luca Elia, Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Taihou de Doboon [Luca Elia, Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAB) [smf]
Guilty Gear X 1.5 [gamerfan, TrevEB, Falcone, M. Viste, john666, Cah4e3, Smitdogg, The Dumping Union]
Tetris Fighters (not working) [Kevin Eshbach, Smitdogg, The Dumping Union]
Brasil 86 [Roberto Fresca, Rob Ragon]
Brasil 87 [Roberto Fresca, Rob Ragon]
Brasil 89 (set 2) [Roberto Fresca, Rob Ragon]
Brasil 93 [Roberto Fresca, Rob Ragon]
Reel'N Quake [Luca Elia, Smitdogg, The Dumping Union]

New clones added
Whirlwind (LG-3) [desturk]
Real Mahjong Gold Yumehai (BET version of Super Real Mahjong Part 3) [Chackn] (not working)
Real Mahjong Gold Yumehai / Super Real Mahjong GOLD part.2 (BET version of Super Real Mahjong Part 3) [Chackn, Angelo Salese]
Video Hustler (Dynamo Games)  [TrevEB]
Hot Memory (V1.1, Germany) [Smitdogg, The Dumping Union]
Pigskin 621AD (rev 2.0 7/06/90) [Smitdogg, The Dumping Union]
Wild West C.O.W.-Boys of Moo Mesa (ver UA, set 1) [Irongiant]
Bubble Pong Pong (clone of Miss Bubble 2) [David Haywood, Smitdogg, The Dumping Union]
Knights of Valour 2 / Sangoku Senki 2 (ver. 101, 101, 100HK) [tafoid]
Monopoly (3.01) [Miodrag Milanovic]
Monopoly (2.51) [destruk]
Monopoly (2.33) [destruk]
Austin Powers (3.01) [destruk]
Austin Powers (3.00) [Miodrag Milanovic]
Austin Powers (2.01) [Miodrag Milanovic]
Maverick (Display Rev. 4.00) [destruk]
Cut The Cheese (Redemption)[destruk]
Cut The Cheese Deluxe (Redemption)[destruk]
Night Rider (rev. 21) [destruk]
Eight Ball Deluxe (rev. 14) [destruk]
Lord Of The Rings, The (9,8,7,401)(En,Sp,Ger,Fr,It) [destruk, Miodrag Milanovic]
Elvis (4.00,3.03,3.02) (En,Sp,It,Fr,Ger) [destruk, Miodrag Milanovic]
Ripley's Believe It or Not! (3.10,3.02,3.00) (En,Sp,It,Fr,Ger) [destruk, Miodrag Milanovic]
Sharkey's Shootout (2.07) (En,Ger,Fr,It) [Miodrag Milanovic]
Terminator 3: Rise of the Machines (2.05) (En,Sp,Fr,It) [Miodrag Milanovic]
Playboy (3.03,3.00) (En,Sp,Fr,It,Ger) [Miodrag Milanovic]
Roller Coaster Tycoon (7.01,4.00) (En,Sp,Fr,It,Ger) [Miodrag Milanovic]
Magic Train (Clear NVRAM ROM?) (not working) [Grull Osgo, Roberto Fresca]

New games marked as GAME_NOT_WORKING
GunMania (GL906 VER. JAA) [smf]
Fighting Mania (QG918 VER. EAA) [smf]
Fighting Mania (QG918 VER. AAA) [smf]
Punch Mania: Hokuto No Ken (GQ918 VER. JAB) [smf]
Punch Mania: Hokuto No Ken (GQ918 VER. JAB, ALT CD) [smf]
Fighting Mania (QG918 VER. KAA) [smf]
Fighting Mania (QG918 VER. UAA) [smf]
Punch Mania 2: Hokuto No Ken (GQA09 JAA) [smf]
DrumMania 4th Mix (G*A25 VER. JAA) [smf]
DrumMania 5th Mix (G*B05 VER. JAA) [smf]
Guitar Freaks 7th Mix (G*B17 VER. JAA) [smf]
Martial Beat (Martial Beat (G*B47 VER. JBA) [smf]
DrumMania 7th Mix power-up ver. (G*C07 VER. JBA) [smf]
DrumMania 7th Mix (G*C07 VER. JAA) [smf]
Guitar Freaks 8th Mix power-up ver. (G*C08 VER. JBA) [smf]
Guitar Freaks 8th Mix (G*C08 VER. JAA) [smf]
DrumMania 8th Mix (G*C38 VER. JAA) [smf]
Guitar Freaks 9th Mix (G*C39 VER. JAA) [smf]
DrumMania 9th Mix (G*D09 VER. JAA) [smf]
Guitar Freaks 10th Mix (G*D10 VER. JAB) [smf]
Guitar Freaks 10th Mix (G*D10 VER. JAA) [smf]
Guitar Freaks 10th Mix eAmusement (G*D10 VER. JBA) [smf]
DrumMania 10th Mix (G*D40 VER. JAA) [smf]
Initial D Arcade Stage Ver. 2 (Japan) (Rev. B) (GDS-0026B) [The Dumping Union]
Initial D Arcade Stage Ver. 2 (Export) (GDS-0027) [Gerald, The Dumping Union]
Initial D Arcade Stage Ver. 3 (Japan) (Rev. C) (GDS-0032C) [f205v, The Dumping Union]
The Rumble Fish 2 [Guru, R. Belmont]
Point Blank 3 (GNN2 Ver. A) [Kevin Eshbach, hap, D. Edwardson, Paratech, ranger_lennier, M. Ponweiser, T. Petersen, Smitdogg, The Dumping Union]
Uchuu Daisakusen: Chocovader Contactee (CVC1 Ver. A) [R. Mucciarelli, W. Belk, Yohji, Roberto Malone, Smitdogg, The Dumping Union]


MAMETesters Bugs Fixed
- 01555: [Graphics] vanvan, vanvanb, vanvank: Graphics are corrupted. (hap)
- 02841: [Graphics] pacnpal, pacnpal2, pacnchmp: Monster's eyes are not displayed. (hap)
- 02175: [Graphics] drgnbstr: Priority problems (hap)
- 03870: [Graphics] battlex: Wrong title highlighting (hap)
- 03206: [Color/Palette] sshangha: Tile colors are wrong when you select them (David Haywood)
- 01665: [Graphics] zigzag, zigzag2: Animation of hose does not show properly when attempting to pump enemies. (hap)
- 03821: [Crash/Freeze] contra, contraj, gryzor: Game freeze after the 2nd 3d stage's boss, before the level with horizontal scroll. (hap)
- 02509: [Graphics] bagmans: Glitches missing during scene change. (hap)
- 03454: [Documentation] xeviousa, xeviousb, xeviousc: Xevious set information
- 03225: [Misc.] razmataz: Unable to enter Service Mode (hap)
- 03745: [Color/Palette] anteaterg, anteateruk: Underground background color is incorrect (hap)
- 04271: [Misc.] Wrong merge data in -listxml output for some sets (Aaron Giles)
- 03670: [Save/Restore] Many sets in toaplan2.c: Graphic corruption when using -autosave/save state (Alex Jackson)
- 02807: [Documentation] dogyuunk: Description is wrong (Alex Jackson)
- 03764: [Sound] kuniokun, kuniokunb: PCM sound base line gets shifted little by little.
- 03172: [Sound] amspdwy, amspdwya: Audio quality regression (hap)
- 04093: [Sound] spiders and clones: High tone never stop playing (hap)
- 04029: [Graphics] All sets in murogem.c: Severe graphic corruption (hap)
- 04270: [Graphics] commsega, locomotn and clones: Vertical screen offsets (hap)
- 04269: [Graphics] All sets in bagman.c: Vertical screen offsets (hap)
- 04002: [Graphics] bagman, sbagman, botanic, pickin: Screen is shifted 1 pixel left (hap)
- 04264: [Crash/Freeze] gtfrk3ma, gtrfrk3m, gtrfrk4m, pcnfrk3m: Crash just before NVRAM format (Olivier Galibert)
- 04267: [Interface] -verifyroms list nonexistent roms as bad (Aaron Giles)
- 04263: [Crash/Freeze] pf2012: Crash after OK (hap)

Source Changes
Decreased color saturation and alpha of internal fake shifter layout to make it less distracting. [hap]

Fix OS/2 compile [K.O. Myung-Hun]

Various Aristocrat Mk4 / Mk5 fixes [Palindrome]

Documented Aristocrat Mk4 init procedure [Heihachi_73]

Implemented proper vblank read-back on Aristocrat Mk-4 HW [Angelo Salese]

naomi: Reorganized the driver to put games in order by type and put similar functionality together [f205v]

New driver for Winners Circle (Corona), dual CPU hardware. [Roberto Fresca]

Exposed the M68000 supervisor flag for external MMUs to determine the current address space. [Curt Coder]

Removed unnecessary machine parameter from device-specific input_port_read. [Curt Coder]

Exposed the complete Function Code of the M68000 (instead of just FC2 as previously). [Curt Coder]

Corona.c: Fixed the visible screen area to improve the Winners Circle aspect. Also fixed visible screen area and rotate properly the RE-800 sets. Minor clean-ups. [Roberto Fresca]

Converted core_options to a class. Removed a bunch of marginal functionality in favor of alternate mechanisms. Errors are now reported via an astring rather than via callbacks. Every option must now specify a type (command, integer, float, string, boolean, etc). Command behavior has changed so that only one command is permitted. [Aaron Giles]

Changed fileio system to accept just a raw searchpath instead of an options/option name combination. [Aaron Giles]

Created emu_options class dervied from core_options which wraps core emulator options. Added mechanisms to cleanly change the system name and add/remove system-specific options, versus the old way using callbacks. Also added read accessors for all the options, to ensure consistency in how parameters are handled. Changed most core systems to access emu_options instead of core_options. Also changed machine->options() to return emu_options. [Aaron Giles]

Created cli_options class derived from emu_options which adds the command-line specific options. Updated clifront code to leverage the new class and the new core behaviors. cli_execute() now accepts a cli_options object when called. [Aaron Giles]

Updated both SDL and Windows to have their own options classes, derived from cli_options, which add the OSD-specific options on top of everything else. Added accessors for all the options so that queries are strongly typed and simplified. [Aaron Giles]

Updated nmk/olympia/pacific/pce/phoenix/rare/seibu/seta to driver_devices. [Atari Ace]

Updated sigma/stern/subsino/tatsumi/tch/tecfri/technos/tehkan to driver_devices. [Atari Ace]

roul (roul.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the Z80 code)

ksys573: Fix some wrong machine driver selections [O. Galibert]

Allow serial receive without ES enabled. [Couriersud]

sgnascar: Added dump of mask ROMs [Guru, R. Belmont]

Added correct bitswap for point blank 3 [smf].

inptport: Add existence and used bits interface for automatic controller adaptation [O. Galibert]

Converted psx cpu core to c++ [smf]

Corona.c driver improvements. A lot of input/output work, accurate periodic interrupt timing for sound CPU, meters, DIP switches, and other minor things. We got Winners Circle 82 playable. [Roberto Fresca]

More improvements to corona.c driver. Splitted new machine, memory map, and complete multiplexed inputs/outputs for Lucky Roulette type games. Also added NVRAM and inverted blitter [Roberto Fresca]

Implemented MC6845 row/column addressing mode. [Curt Coder]

Make shift/alt+right work on channel volume sliders (fractions between 0 and 1 were always rounded down) [hap]

splash.c driver improvements. [Tomasz Slanina]
* The Return of Lady Frog : added sound
* Funny Strip : added sound, patched few more protection checks, fixed sprite ram access

Added inputs to Tetris Fighters - game now boots. [Tomasz Slanina]

Lot of improvements/changes to corona.c driver. Input/output work and new set supported. Redumped the winner82 sound program. [Roberto Fresca]

SDL: Fix uimodekey for MESS [Barry Rodewald, R. Belmont]

More work on corona.c driver. [Roberto Fresca]
- Cleaned up and improved memory maps
- Added NVRAM to all winners circle sets
- Fixed the ay8910 clock for winners circle 82 type to match the other hardware.
- Fixed a blitter buffer to bitmap problem.
- Reparented the sets.
- Added new technical notes.

carjmbre: [hap]
* use 4 bit clut instead of 3 bit
* calculate palette with resnet info from Popper (same year, same company, very similar hardware)
* make bgcolor emulation more logical
* small cleanups

Use correct roms for the Japanese 1941 set [Brian Troha]

Fixed sound regression with Mission 660 [Angelo Salese]

Major toaplan2.c updates  [Alex Jackson]
* Some sets reparented and renamed as well as a cleanup of source comments: grindstm (parent), vfive (clone) kingdmgp (parent), shippumd (clone) The set formerly known as "sstrikera" is now "sstriker" and is now the parent of mahoudai (clone). Reverted batrid to batrider and bkraid to bbakraid.
* Put common init code into MACHINE_START, leaving DRIVER_INITs only for games that actually need unique initialization.
* Dead code cleanup: Removed old hacks and some no-longer-used used member variables from the driver class.
* ROM banking cleanup: Added a device address map for the OKI in fixeightbl. Stopped misusing the bank system for memory that isn't actually bankswitched (fixeightbl again) Simplified the Z80 ROM banking (and loading) in the Raizing games.
* Address map cleanup: Unified 8-bit shared RAM handling between the Z80-based and the V25-based games. Replaced lots of pointless READ_HANDLERs with AM_RAM_WRITE. Moved fixeight EEPROM handling into the input ports instead of using READ/WRITE_HANDLERs. Incidentally, this makes toaplan2.c the very first MAME driver to use the AM_READWRITE_PORT macro.
* Removed IPT_VBLANK input ports (no longer used since the video rewrite)
* Removed Truxton 2 player 2 "button 4" (after confirming that the game never reads it) and changed player 1 "button 4" to an IPT_OTHER not bound to any key by default, since it's clearly some kind of test/debug input not meant to be hooked up in a regular cabinet (for one thing, it works whether you're actually playing or in attract mode)
* Added button 3 to Batsugun Special Version. It's a full auto fire button like Cave games have. The service mode input test doesn't show it, presumably because Toaplan didn't bother to update the service mode code from the original version of the game.
* Fixed region jumpers and dipswitches in many sets, based on analysis of the program code and strings in the ROMs.
* Added a #define to optionally make Truxton 2 stereo (commented out by default). See the comments at the top of the driver and in the MACHINE_CONFIG.
* Corrected kbash ROM names, thanks to information from Charles MacDonald. Also fixed inconsistent ROM naming between some of the batrider clones.
* Loaded bbakraid default EEPROM as a ROM rather than hardcoding the contents into the driver.
* Completely removed audio/toaplan2.c, which isn't needed any more now that all the V25s are decrypted and hooked up.

Technical changes to reel games.  [James Wallace]
* Fixed lamp timing in MPU4 and laid groundwork for MPU3 support in the steppers (I've also cleared up the reel code in drivers).
* Removed some unneeded timing code.
* BwB support is here, but preliminary, it's mainly to show people how the CHR chip might work in those games.

Fixed enormous memory consumption when iterating through all drivers like -romident does. [Aaron Giles]

Converted namco/thepit/toaplan/unico/upl/valadon/veltmjr/venture/vsystem/zaccaria to driver_device. Also simplified unico and  disentangled gridlee from balsente. [Atari Ace]

Breaks some driver entanglements to simplify future driver_device
conversion efforts: [Atari Ace]
* taito_f3 is disentangled from a number of other drivers by using an AM_SHARE tag instead of a common variable.
* Several drivers are made into explicit subclasses of other drivers: 8080bw from mw8080bw, missb2 from bublbobl, quasar from cvs, taito_x from seta.
* arcadecl is separated from rampart by duplicating the bitmap rendering code.
* jaleco decryption code is moved to jalcrpt.c.
* cischeat is separated from megasys1 by duplicating some video code.
* mcr3 is partly separated from mcr.
* machine/midwunit.c is split into wunit and xunit files with some code duplication.
* midtunit gfx_rom variables are made distinct from midyunit variables, making midyunit independent of midtunit.
* contants in namconb1 are duplicated/renamed in namcofl.
* namcos2 uses of namcos21 are eliminated by introducing namcos2_kickstart.
* toypop is separated from mappy by duplicating some video code.

Move non-buffered spriteram drivers away from using the generic spriteram in favor of using spriteram in their own driver_device classes. [Atari Ace]

Fix long-standing bug in ABS flags in ADSP21xx core. [Christophe Jaillet]

Removed some legacy NVRAM_HANDLERs in favor of NVRAM devices. [Aaron Giles]

Added M48T37 variant to timekpr.c. Fixed some bugs that caused registers to be initialized to 0xff and caused odd behavior. Updated to modern device timers. [Aaron Giles]

Converted vegas to use M48T37 instead of its own implementation. [Aaron Giles]

Attached emu_options to the machine_config, and the running_machine inherits it now. [Aaron Giles]

Mapped KEYCODE_BACKSLASH2 to the OEM_102 key (located between LShift and Z on international keyboard layouts). [Curt Coder]

Fix micro3d 8051 serial RX, todo: still needs CLEAR behind a 1 cycle callback [Lord Nightmare]

Fixed parsing of uimodekey from .ini on SDL [Fabio Priuli]

Improved inputs and complete DIP switches to Lucky Roulette Plus. Also, added new support for Ruleta RCI. [Roberto Fresca]

model3: add protection data for oceanhun (game still doesn't boot) [Ville Linde]

galdrvr.c: Added background color split to Anteater. [hap]

Convert a number of drivers to use their own private spriteram instead of the generic one. Only drivers needing buffered spriteram should use the shared generic version for now. [Atari Ace]

Continued eliminating global/static variables by moving them to the driver_device classes.  Mostly drivers from misc.a, and some drivers recently which had dependencies removed. [Atari Ace]

Fixed Z80-DART transmit word length. [Curt Coder]

Decouple memory_region parameters from the ROMREGION flags. [Aaron Giles]

path_iterator::next() now takes an optional filename to append to the path. [Aaron Giles]

Fix pleiades colours (high/low palette bits exchanged). [Couriersud]

Added DEVICE_SELF_OWNER support for device callbacks. [Curt Coder]

Moved anteateruk/anteaterg to galdrvr.c [hap]

Added possibility of altering default input port setting for devices. [Miodrag Milanovic]

Galaxian driver: Fixed sprite X offset. [hap]

Continued moving global/static variables to the driver_device classes. [Atari Ace]

Remove unused static handler entries. Also ensure that subsequent mapping/ unmapping of static memory types does not change the memory parameters. This fixes the case where dynamically unmapping memory could lead to incorrectly reported offsets. [Aaron Giles]

Remove some straggling const address_space references, and get rid of explicit const_casts in memory.h. [Aaron Giles]

Dedicated galxwars cabs are not b/w but have color maps For now, use proms from another game and mark sets as bad dump/wrong colors [hap]

contra.c: Changed main CPU to HD6309 as seen on PCB, and set interrupt source to k007121. [hap]

Add driver_device classes for drivers that don't have any variables, for consistency (and future development). [Atari Ace]

Further decoupled some driver files to help driver_device conversions. [Atari Ace]
1. cclimber and galaxian audio code and seibuspi decryption code get their own includes.
2. galpani2 video declarations are moved from kaneko16.h to their own file.
3. cchance and champbwl subclass from tnzs, xevious/bosco/digdug subclass from galaga and vmetal subclasses from metro.
4. yvg608 is made independent of namcond1
5. ettrivia duplicates the palette code from naughtyb
6. mshuttle decryption code is moved into galaxian.
7. tetrisp2_draw_sprites is split into two versions, one for ms32.c, one for tetrisp2.c.

Converted asteroid/bzone/funworld/itech8/kongambl/legionna/leland/quakeat/quizpun2/segas24/twincobr/warpwarp to driver_device. [Atari Ace]

Moved Kaneko Super Nova sprite chip emulation inside its own file [David Haywood]

Put Deco 56 video sprite chip inside its own file [David Haywood]

Deco 56: Allow rendering to a bitmap, with priority data intact, for manual mixing [David Haywood]

battlex.c: Some driver cleanups, most importantly: [hap]
* made interrupt generation more logical (assert/clear instead of hold)
* removed hacky hardcoded palette for background tiles, let it use palette ram

Changed clocks based on confirmed XTAL and dumper's notes for Ambush and clones.  Audio changed to AY8912 as well. [Tafoid / Tomasz Slanina]

Fixed decrementing transfers in z80dma core [Angelo Salese]

Converted Tattoo Assassins (and Night Slashers) to use deco16ic.c, fixing some corrupt graphics in Tattoo Assassins (which have been there since it was first added)  [David Haywood]

Removed globals from a number of device-like shared systems and made them either statics or actual device variables. [Atari Ace]

Convert cclimber/galpani2/gticlub/namcond1/pacman/seibuspi/tetrisp2/vicdual to driver_device. [Atari Ace]

New games added or promoted from NOT_WORKING status
Ruleta RE-800 (earlier) [Roberto Fresca]
Ruleta RE-800 (v1.0) [Roberto Fresca]
Ruleta RE-800 (v3.0) [Roberto Fresca, Grull Osgo]
Galactica (Marcello Mancini, Silvio Finotti, Augusto Garcia, hap]
Lucky Roulette (6-players, Spanish) [Roberto Fresca, Rob Ragon]
Super Twenty One [Siftware, gregf, hap]
Ruleta RCI (6-players, Spanish) [Roberto Fresca, Rob Ragon]
Winners Circle 82 [Roberto Fresca, Angelo Salese, Rob Ragon]
Winners Circle (81, 28*28 PCB) [Roberto Fresca, Rob Ragon]
Winners Circle (81, 18*22 PCB) [Roberto Fresca, Rob Ragon]

New clones added
Big Twin (No Girls Conversion) [Andrew Welburn, Pierpaolo Prazzoli]
Super Star Crest [Marcello Mancini, Silvio Finotti, Augusto Garcia, hap]
1941: Counter Attack (USA 900227) [Kevin Eshbach, Team CPS-1]
Simpsons Pinball Party (4.00,2.04) (En,Sp,Fr,It,Ger) [Miodrag Milanovic]
Grand Prix (4.00,3.40,3.01) (En,Sp,Fr,It,Ger) [Miodrag Milanovic]
Nascar (4.00,3.50,3.40, 3.01) (En,Sp) [destruk, Miodrag Milanovic]
Sopranos (3.00, 2.04, 1.07) (En,Sp,Fr,It,Ger) [Miodrag Milanovic]
High Roller Casino (2.10) [destruk]
Playboy (4.01,2.03) (En,Sp,Fr,It,Ger) [destruk]
Roller Coaster Tycoon (6.00) (En,Sp,Fr,It) [destruk]
Street Fighter Alpha 3 (Hispanic 980904) [Layne, Dr. Spankenstein, ranger_lennier, Smitdogg, The Dumping Union]
Zing Zing Zip (bootleg) [ANY] (not working)
Empire City: 1931 (Italy) [ANY]
Thunder & Lightning (bootleg with Tetris sound) [ANY]
The Pit (US, set 2) [Siftware]
Terra Cresta (newer PCB) [Siftware]
Speak & Rescue (bootleg) [Siftware]
Heavy Unit -U.S.A. Version- [Hurray Banana, Tormod, hotaru, Dna Disturber, F. Marsaud, N. Francfort, Smitdogg, The Dumping Union]
ATV Track (Set 2) [Guru] (not working)
Ropeman (bootleg of Roc'n Rope) [Tafoid]

New games marked as GAME_NOT_WORKING
Catch (prototype) [Siftware, hap]
Wangan Midnight Maximum Tune 2 Ver. B (Japan) (GDX-0016A) [Guru, R. Belmont]


MAMETesters Bugs Fixed
- 04286: [Sound] deadang and clones: Missing ADPCM Audio (Aaron Giles)
- 04288: [Crash/Freeze] goodejan, goodejana, totmejan, sengokmi: Crash after OK (Aaron Giles)
- 04290: [Crash/Freeze] honeydol: Crash after OK (Aaron Giles)
- 04291: [Crash/Freeze] Many sets in 8080bw.c: [debug] Assert before OK (Aaron Giles)
- 04289: [Crash/Freeze] twinadv, twinadvk: Crash after OK (Aaron Giles)
- 04287: [Graphics] wintbob: Video missing (Aaron Giles)
- 04295: [Documentation] stdragon: The game description is "Saint Dragon". (Fujix)
- 04285: [Misc.] tenkaid: Missing NO_DUMP label for rom tydg002.u8 (hap)
- 04294: [Graphics] jrpacman, jrpacmbl: pac-man and the ghosts are not visable. (hap)

Source Changes
Converted Super Shanghai Dragon's Eye to use the common deco video files functions, fixing a rowscroll bug in it [David Haywood]

Fix font loading in sdlmame. BDF files are just loaded as TTF by TTF_OpenFont. Load is now protected by a magic check. Also fixed a bug in SDL1.3 keyboard mapping and changed SDL1.3 code to be compatible with recent 1.3 API changes. [Couriersud]

sdl-config flags are now separated into INCFLAGS and COMFLAGS in sdl.mak. This fixes "make depend". [Couriersud]

softlist.c: split the <info> field (added some time ago to handle compatibility requirements) into  <info> and <sharedfeat>. the former stays tied to the whole software entry, the latter gets inherited by each part. [Fabio Priuli]

Added device_t::memory() to fetch a reference to the memory interface, or assert if not present. [Aaron Giles]

Split address_space::install_[legacy_]handler into install_[legacy_]read_handler, install_[legacy_]write_handler, and install_[legacy_]readwrite_handler. [Aaron Giles]

Added variants of address_space handler installers which don't take mirror or mask parameters, since this is by far the most common case. [Aaron Giles]

Deprecated API cleanup. [Aaron Giles]
   cpu_suspend                   ==> device_suspend
   cpu_resume                    ==> device_resume
   cpu_yield                     ==> device_yield
   cpu_spin                      ==> device_spin
   cpu_spinuntil_trigger         ==> device_spin_until_trigger
   cpu_spinuntil_time            ==> device_spin_until_time
   cpu_spinuntil_int             ==> device_spin_until_interrupt
   cpu_eat_cycles                ==> device_eat_cycles
   cpu_adjust_icount             ==> device_adjust_icount
   cpu_triggerint                ==> device_triggerint
   cpu_set_input_line            ==> device_set_input_line
   cpu_set_input_line_vector     ==> device_set_input_line_vector
   cpu_set_input_line_and_vector ==> device_set_input_line_and_vector
   cpu_set_irq_callback          ==> device_set_irq_callback

   device_memory(device)                ==> device->memory()
   device_get_space(device, spacenum)   ==> device->memory().space(spacenum)
   cpu_get_address_space(cpu, spacenum) ==> cpu->memory().space(spacenum)
   cputag_get_address_space(mach, tag, spacenum) ==> mach->device("tag")->memory().space(spacenum)
   cputag_get_clock(mach, tag)          ==> mach->device("tag")->unscaled_clock()
   cputag_set_clock(mach, tag, hz)      ==> mach->device("tag")->set_unscaled_clock(hz)

Created new enum type address_spacenum for specifying an address space by index. Update functions and methods that accepted an address space index to take an address_spacenum instead. Note that this means you can't use a raw integer in ADDRESS_SPACE macros, so instead of 0 use the enumerated AS_0. [Aaron Giles]

Standardized the project on the shortened constants AS_* over the older ADDRESS_SPACE_*. Removed the latter to prevent confusion. Also centralized the location of these definitions to memory.h. [Aaron Giles]

Converted DECO BAC06 tilemap (used by dec0.c) to be a device, reducing code duplication [David Haywood]

Deprecate the old memory_install_* macros. Dynamic installation is now handled directly by calling methods on the address_space, which have been expanded with aliases to cover all previous situations. In addition, variants with no mirror or mask value are provided to cover the common cases: [Aaron Giles]

   memory_install_read*_handler(space, begin, end, mirror, mask, handler)
     ==> space->install_legacy_read_handler(begin, end [, mirror, mask], FUNC(handler))

   memory_install_write*_handler(space, begin, end, mirror, mask, handler)
     ==> space->install_legacy_write_handler(begin, end [, mirror, mask], FUNC(handler))

   memory_install_readwrite*_handler(space, begin, end, mirror, mask, rhandler, whandler)
     ==> space->install_legacy_readwrite_handler(begin, end [, mirror, mask], FUNC(rhandler), FUNC(whandler))

   memory_install_read*_device_handler(space, device, begin, end, mirror, mask, handler)
     ==> space->install_legacy_read_handler(*device, begin, end [, mirror, mask], FUNC(handler))

   memory_install_write*_device_handler(space, device, begin, end, mirror, mask, handler)
     ==> space->install_legacy_write_handler(*device, begin, end [, mirror, mask], FUNC(handler))

   memory_install_readwrite*_device_handler(space, device, begin, end, mirror, mask, rhandler, whandler)
     ==> space->install_legacy_readwrite_handler(*device, begin, end [, mirror, mask], FUNC(rhandler), FUNC(whandler))

   memory_install_read_port(space, begin, end, mirror, mask, port)
     ==> space->install_read_port(begin, end [, mirror, mask], port)

   memory_install_read_bank(space, begin, end, mirror, mask, bank)
     ==> space->install_read_bank(begin, end [, mirror, mask], bank)

   memory_install_rom(space, begin, end, mirror, mask, ptr)
     ==> space->install_rom(begin, end [, mirror, mask], ptr)

   memory_install_ram(space, begin, end, mirror, mask, ptr)
     ==> space->install_ram(begin, end [, mirror, mask], ptr)

   memory_unmap_read(space, begin, end, mirror, mask)
     ==> space->unmap_read(begin, end [, mirror, mask])

   memory_nop_read(space, begin, end, mirror, mask)
     ==> space->nop_read(begin, end [, mirror, mask])

uiimage.c: Improved File Manager usage (in the internal UI) by catching char inputs and searching for matching names among files and directories [Fabio Priuli]

some work on the 3 games in dec8.c which use the bac06 tilemaps[David Haywood]

Converted Act Fancer, Trio the Punch and Mad Motor to use the common deco video functions [David Haywood]

Converted Stadium Hero driver to use the common Deco video functions [David Haywood]

Cleanup of machine.h. Shuffled some fields around, and moved several to private member variables with accessors: [Aaron Giles]

   machine->m_respool     ==> machine->respool()
   machine->config        ==> machine->config()
   machine->gamedrv       ==> machine->system()
   machine->m_regionlist  ==> machine->first_region()
   machine->sample_rate   ==> machine->sample_rate()

Converted Pocket Gal to use the common deco video routines [David Haywood]

Started moving common deco MXC06 sprite controller code to it's own device files, reducing code duplication [David Haywood]

Converted Act Fancer to use common deco sprite code [David Haywood]

Converted Vapor Trail to use the common deco sprite functions [David Haywood]

Converted Stadium Hero, Cobra-Command, Psycho-Nics Oscar to use the common deco sprite functions [David Haywood]

Removed redundant machine items from address_space and device_t. Neither machine nor m_machine are directly accessible anymore. Instead a new getter machine() is available which returns a machine reference: [Aaron Giles]

   space->machine->xxx   ==>  space->machine().xxx
   device->machine->yyy  ==>  device->machine().yyy

Globally changed all running_machine pointers to running_machine references. Any function/method that takes a running_machine takes it as a required parameter (1 or 2 exceptions). Being consistent here gets rid of a lot of odd &machine or *machine, but it does mean a very large bulk change across the project. [Aaron Giles]

Remove redundant item cpu from address_space, in favor of space->device(). [Aaron Giles]

Two hash_collections can only match if they have at least one matching hash. [Aaron Giles]

If we get an error parsing options, see if there was no command and what looks like an invalid system name. In that case, provide suggestions for the system name instead of reporting the options error. [Aaron Giles]

Move overridable device->rom_region(), device->machine_config_additions(), and device->input_ports() to protected methods. Added non-virtual wrappers around them. [Aaron Giles]

Implemented karnov style sprites in its own file, shared with karnov and dec8 drivers [David Haywood]

Fixed multiwidth sprites in decmxc06.c, removed code which appeared to serve no purpose other than to break the birdtry gfxdecode in machine/dec0.c [David Haywood]

Added new macro MACHINE_CONFIG_DERIVED_CLASS() which works just like MACHINE_CONFIG_DERIVED() except you can specify an alternate driver_device class. Used this in the 8080bw.c games which require an_8080bw_state, but derive from mw8080bw_root which has the base class mw8080bw_state. [Aaron Giles]

lordgun.c: Corrected Dipswitch names and added dipswitch locations to Lord of Gun & Alien Challenge [Brian Troha]

tumbleb.c: Corrected Dipswitch names and locations for Choky! Choky! [Brian Troha]

New clones added
Fashion Gambler (Set 2)  [Team Europe]
AAcrobatic Dog-Fight (USA) [Tirino73]

New games marked as GAME_NOT_WORKING
Jyunai - Manatsu no First Kiss [The Dumping Union, alien_mame]
BiKiNikko - Okinawa de Ippai Shityaimashita [The Dumping Union, alien_mame]


MAMETesters Bugs Fixed
- 01994: [Crash/Freeze] birdtry: Birdie Try - Game locks up after
         first hole. (Angelo Salese)

Source Changes
Added screen raw params and irq ack to the dec0 driver, fixing hole 1
hang in Birdie Try and improving fade in/out effects for Boulder Dash
[Angelo Salese]

Funworld driver updates: [Roberto Fresca]
* Complete support for Witch Royal, from Video Klein.
* Reworked the button-lamps layout to get the hold buttons more

Eliminates the extern variables from atarimo video core, in order to
remove a significant source of AM_BASE macros. [Atari Ace]

Converted astrocde/kaneko16/namcos23/suprnova to driver_device
[Atari Ace]

Converted Taito F3 video chip (TC0630FDP) to have a parallelism of
16-bit [Angelo Salese]

Converted 2 Minutes Drill driver to use Taito F3 video chip, this
hugely improves graphics in it [Angelo Salese]

Added irq ack and fixed sound chip type to be YM2610B for 2 Minutes
Drill [Angelo Salese]

Dumped the DVD image for bikiniko [alien_mame, The Dumping Union]

Added work-around for crowd gfxs in Taito F3 football games (Taito Cup
Finals, International Cup '94, Taito Power Goal and clones), until a
better information is found about it [David Haywood]

softlist: moved software list handling (in the Internal UI) to a
separate source, and made the code more similar to the File Manager
handling code. [Fabio Priuli]

CPS-3 update [Team CPS-1]:
* Added Street Fighter III: New Generation Hispanic BIOS rom CD
* Added a detailed table of all known releases until now with usefull
    notes to identify new Cart Regions/CD Revisions
* Renamed some CHDs to use the new Catalog # standard

uiswlist.c: added a switch to choose between shortname order or
description order for softlist entries (in the Internal UI), and
adapted the char input code to match shortnames or descriptions
accordingly [Fabio Priuli]

sc61860 cpu - fix for crash and cleanup, replace for internal ram
accesses with function calls to help further debug the core in the
future [Atari Ace]

cartslot.c/chd_cd.c: added support for a callback function to test
softlist sharedfeat (e.g. 'compatibility') and display a warning
message accordingly. updated cdi.c as an example [Fabio Priuli]

Decrypted 3 Super 8 program ROM [Lord Nightmare, Kevtris]

cassette.c/flopdrv.c: added support for a display info callback
function [Miodrag Milanovic]

corona/galaxian/namcos21/namcos22/namcos23/psikyosh/quizo/sigmab98 to
driver_device.  [Atari Ace]

Convert scramble/galaxold to driver_device  [Atari Ace]

Audio device additions:  [Atari Ace]
* exidy440/m72/segasnd are converted to legacy devices.
* cage/dcs/williams variables are restructured internally to resemble
    a device, simplifying a future device conversion.  Some AM_BASE
    macros are eliminated as well.
* taito_en has minor changes to eliminate an AM_BASE macro.

Heavily improved 3 Super 8 emulation, and implemented NMI acknowledge
mechanism into the Super Poker driver [Angelo Salese]

i286 - Fixed protected mode boundary check [Miodrag Milanovic]

naomibd: Fix collision with system macro on NetBSD [Thomas Klausner]

Implemented PAL-like prom read-back in 4 En Raya [Angelo Salese]

Fixed Pururun's audio pitch/speed to match that of a reference video.

tms5220.c: updates to comments and nonstandard feature defines.
[Lord Nightmare]

8237dma - Added cascade mode support [Wilbert Pol]

pic8259 - Added support for cascade mode, updated interface in all
drivers [Miodrag Milanovic]

upd7725.c: Implementation of the p0 and p1 output bits as device
lines; preliminary implementation of INT input line. [Lord Nightmare]

Replaced mamedriv.c with a new driver list mechanism that is generated
by the build tools. The emulator core now expects the presence of a
file called src/$(TARGET)/$(SUBTARGET).lst which is just a raw list of
driver names, one per line. C and C++ comments are still permitted.
This file is parsed by a new build tool makelist which extracts the
driver names, sorts them, and generates a file called drivlist.c,
which is consumed by the core. [Aaron Giles]

Added new osdcore function osd_malloc_array() which is identical to
osd_malloc() but obviously hints that the underlying allocation is for
an array. Updated all callers to use the appropriate form. Modified
the Windows allocator to only use guard pages for array-style
allocations, allowing us to enable them once again in debug builds.
[Aaron Giles]

Created new static class driver_list to wrap accesses to the list of
available drivers. Improved speed of driver lookups by relying on the
presorting done by makelist. [Aaron Giles]

Created helper class driver_enumerator as a helper for iterating
through the list of drivers. This class supports basic filtering and
iteration, and also serves as a temporary cache of machine_configs.
[Aaron Giles]

Created cli_frontend object to wrap all the CLI handling code in
clifront.c. Updated/simplified all the code to take advantage of the
driver_enumerator. [Aaron Giles]

Created media_auditor object to wrap all the auditing functions in
audit.c. Updated all users to the new interface. Note that the new
auditing mechanism is slightly out of sync with the romload code in
terms of finding ROMs owned by devices, so it may mis-report some
issues until the new ROM loading code is in. [Aaron Giles]

Added concept of a per-device searchpath. For most devices, their
searchpath is just the short name of the device. For driver_devices,
the searchpath is driver[;parent[;bios]]. This searchpath will
eventually be used by the rom loader to find ROMs. For now it is used
by the media auditor only. [Aaron Giles]

Created info_xml_creator object to wrap all the info generation
functions in info.c. Converted the file to C++ and cleaned up the
input processing code. [Aaron Giles]

model2.c: Corrected the revision level for Top Skater (USA) set
[The Dumping Union]

Various improvements to the Konami Viper driver [Ville Linde]

midqslvr: Add some hardware information [O. Galibert]

Added reverse-spin support to the stepper motor simulator
[James Wallace]

mpu4.c: Documented MOD 4 OKI program card ROM banking and improved the
BwB characteriser emulation. [James Wallace]

Fixed the I/O address in Intel 8257 DMA operations. [Curt Coder]

Fixes for non-native SDL builds on OS X [Paulo Cabral]

Added "Mandatory artwork is missing" error [Oliver St霵eberg]

Implemented 16-bit device callbacks. [Curt Coder]

Fix loading fonts on MacOSX. [Couriersud]

Delegates 2.0 implementation. Resdesigned how delegates work to make
them more flexible and simpler to use. Got rid of the proto_delegates
altogether in favor of supporting delegates that are bound to NULL
objects. Added a front-end template that supports "natural" syntax
favored by libraries like boost. Added support for static functions
that take reference parameters instead of pointer parameters for the
object type. Updated all delegate users in the system to the new
syntax. [Aaron Giles]

Changed the DIRECT_UPDATE_HANDLER to take a machine reference like
everything else in the system. Updated all users. [Aaron Giles]

Changed the FUNC() macro to automatically put an & in front of the
item passed. In general this works transparently, however it does have
the nice side-effect of catching situations where a variable is passed
instead of a function name. Fixed those cases to push the naming
upstream so that the name is now provided properly. Also added a
FUNC_NULL macro since FUNC(NULL) no longer works. [Aaron Giles]

tms5220.c: partially fixed perfect interpolation hack, disabled by
default. [Lord Nightmare]

segas24: Start untangling the Vogon poetry Atari Ace left is his wake.
Apply the new timing implementation per cgfm's analysis. Gain ground
is going to be stuck in free play mode. [O. Galibert]

tms5220.c: fixed perfect interpolation hack the rest of the way, now
it works as it did before 0.140 or so. [Lord Nightmare]

tms5220.c: improve perfect interpolation hack slightly, should be less
noisy after inhibit frames. [Lord Nightmare]

New games added or promoted from NOT_WORKING status
Major Poker (v2.0) [Roberto Fresca, Tomasz Slanina, Rob Ragon]
Witch Royal (Export version 2.1) [Roberto Fresca, Team Europe]
Water-Nymph (Ver. 1.4) [Team Europe, Luca Elia]

New clones added
Silent Scope (ver xxC, Ver 1.30)  (not working) [Alex Romero]
Street Fighter III: New Generation (Hispanic 970204)
[Bill D., The Dumping Union]

New games marked as GAME_NOT_WORKING
Racing Jam: Chapter 2 (EAE) [RetroRepair]
Thrill Drive (EAA) [RetroRepair]
Alien: The Arcade Medal Edition
  [Yohji, Tormod, Smitdogg, The Dumping Union]
Home Run Classic [Mariusz Wojcieszek]
Country Club Classic [Mariusz Wojcieszek]
Trap Shoot Classic [Mariusz Wojcieszek]
Nintendo FamicomBox  [Kevin Horton]
MPU3 Unit Test (Program 5) [James Wallace]
Hyper Viper [James Wallace]