NovitÓ nella versione 0.128


MAMETesters Bugs Fixed
- 02539: [Crash/Freeze] phrcraze, phrcrazs: [debug] Access Violation
- 02531: [Sound] mshuttle, mshuttlj, mshutlj2: Moon shuttle speech
wrong (Corrado Tomaselli)

Source Changes
Connected firefox audio enables and improved volume balance so you
can hear the speech chip. Also fixed speech chip frequency.
[Aaron Giles, Philip Bennett]

marked Hacha Mecha Fighter (nmk16.c) BG rom as a bad dump.
[David Haywood]

Improved the poker41 and pulltabs button-lamps layouts to look more
realistic. [Roberto Fresca]

Fixed the colors of Yumefuda. Added two new palette functions in
generic.c: paletteram_xRRRRRGGGGGBBBBB_split1_w() and
paletteram_xRRRRRGGGGGBBBBB_split2_w() (used by Yumefuda).
[Angelo Salese]

Added function to get the status of CA2 on the 6821 PIA emulator.
[Phill Harvey-Smith]

Added new tool ldresample to assist in resynchronizing audio tracks in
a CHD with frames. Currently still WIP but useful if you know what
you're doing. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Good [David Haywood, Angelo Salese]

New clones added
Giga Wing (Brazil 990222) [Luis]


MAMETesters Bugs Fixed
- 02522: [Graphics] cubeqst: Cubequest showing its laserdisc footage under
black regular graphics in demo. (Aaron Giles)
- 01867: [DIP/Input] plygonet: Duplicated Inputs (R. Belmont)
- 01716: [DIP/Input] backfire, backfira: Coin 1+2, Service1 and Service
Mode mapped twice. (Couriersud)
- 00106: [DIP/Input] le2: Impossible to reload. (R. Belmont)
- 01708: [DIP/Input] stargrds: stargrds duplicate inputs (Couriersud)
- 02532: [DIP/Input] lunarba1: Unable to locate input port 'DSW2'
(Aaron Giles)
- 02533: [Crash/Freeze] nbapbp: CPU audio: PULSE_LINE used with level-
detected IRQ 1 (Aaron Giles)
- 02530: [Crash/Freeze] Various: Assertion in cpuint.c (Couriersud)
- 01821: [Crash/Freeze] lohtb2: Game stops at PCB test (Couriersud)
- 02529: [DIP/Input] catch22: Credits do not register in game. (Couriersud)
- 02528: [Core] xexex and clones: Game checks halt with "VERSION ERROR"
(R. Belmont)
- 01447: [DIP/Input] propcycl: Analog input roll over problem. (R. Belmont)
- 02211: [Sound] soldivid: missing music (R. Belmont)
- 00978: [Graphics] columns2: There is some garbage on the place where you
drop the 2 small squares at the bottom, after the Game Over
image drops down. (David Haywood)
- 02521: [Color/Palette] ichir and clones, tantr and clones: Some colors
are missing and other graphics errors (David Haywood)
- 02511: [Crash/Freeze] dkong: Donkey Kong crashes after quiting.
(Aaron Giles)
- 02512: [Misc.] dkong: Artwork and gameplay area are getting squished/
distorted. (Aaron Giles)

Source Changes
Updated Dip Switches and Inputs for 'yesnoj' (taito_f2.c driver).

Fixed several things in the jalmah.c driver: [Angelo Salese]
* Fixed Mahjong Daireikai pseudo-random number generator;
* Fixed Otogizoushi Urashima Mahjong to make it playable;
* Fixed a start-up crashing bug in mjzoomin/urashima/daireika

Simplified expro02 decryption. [Nicola Salmoria]

Completed general NeoGeo cleanup: [JohnBoy]
* Sorted OEM / bootleg sets
* Renamed roms on non OEM / bootleg sets to ONE naming sheme
* Renamed functions
* Cleaned up bootleg sets
* Added some comments
* Renamed sma in garou/garouo, added comment

Changed Cube Quest laserdisc override logic. It's still a little hacky
but this works better than the previous attempt. [Aaron Giles]

Updated segac2 driver to use updated megadriv code. [David Haywood]

Moved fantasia -> expro02.c, however, the extra layer is misplaced on
it. Scroll regs probably differ from the original. [David Haywood]

PsikyoSH: hook up VBL IRQ ack [R. Belmont]

SH2: fix DRC's handling of internally generated IRQs, and fix
compiling in interpreter mode. [R. Belmont]

Rewrote pmpoker.c driver (first part). [Roberto Fresca, Grull Osgo]
- Added discrete sound support to Golden Poker hardware games based
on schematics.
- Added discrete sound support to Potten's Poker hardware games based
on PCB analysis.
- Added discrete circuitry diagrams for both hardware types.
- Adjusted the CPU adressing to 15 bits for pmpoker/goldenpkr
- Adjusted the CPU adressing to 14 bits for pottnpkr hardware.
- Rewrote all the ROM loads based on these changes.
- Defined MASTER Xtal & CPU clock.
- Fixed the visible area based on M6845 registers.
- Improved the lamps layouts to be more realistic.
- Added Good Luck (potten's poker hybrid running in goldnpkr hardware).
- Added Buena Suerte (spanish) x 2 sets.
- Added set Royale.
- Added Witch Card and spanish variants.
- Added Super Loco 93 (spanish) x 2 sets.
- Renamed set goldnpkc to pottnpkr (parent Jack Potten's Poker set).
- Renamed set jokerpkr to potnpkra, since is another Jack Potten's
Poker set.
- Added other 2 clones of Jack Potten's Poker.
- Renamed/cleaned all sets based on code/hardware analysis.
- Added intensity bit to the color system.
- Implemented the blue killer bit for Witch Card hardware.
- Implemented the extended graphics addressing bit for Witch Card
- Added proper visible area to sloco93.
- Rewrote the graphics & color decode system based on schematics. No
more patched codes.
- Changed the char gfx bank structure and rom load according to the
new routines.
- Adjusted the amount of color codes and PROM region size accordingly.
- Updated all notes.

Large update to comments in smstrv.c for SMS Manufacturing boards.
Documented how the input/output ports are hooked up, and what the PALS
do, still need to document the video output port and add the smssshot
roms, and actually hook stuff up (like the z80) based on the comments.
[Lord Nightmare]

Removed speedups from sokyugrt, they break the game (make it too slow)
the SH2 DRC is sufficient. [David Haywood]

Did most of the protection work for Double Dealer. It appears to use
a funky video register setting involving locations $8c1e0-8c1ef range
for cards movements so it isn't playable yet. [Angelo Salese]

Added DIP LOCATIONS to items in the driver and cleaned up some of the
comments mentioning duplicate dips configurations. Not fully
understanding how the FREE PLAY was implemented, I left that not to
show a location. [Tafoid]

cubeqst changes: [Aaron Giles]
* removed custom sound in favor of individual DACs
* simplified palette management logic
* hooked up the "disc on" signal

Cleaned up Firefox video implementation: [Aaron Giles]
- proper sprite/tile priorities
- adjusted X offset to match screenshots
- converted to tilemaps

Added cawing B-Board PAL dumps [Corrado Tomaselli]

New games added or promoted from NOT_WORKING status
Mahjong Daireikai [Angelo Salese]
Otogizoushi Urashima Mahjong [Angelo Salese]
Good Luck! [Roberto Fresca]
Buena Suerte! (spanish) [Roberto Fresca]
Witch Card (english) [Roberto Fresca]
Super Loco 93 (spanish) [Roberto Fresca]

New clones added
Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg) [Kawaks]
Jack Potten's Poker (2 sets) [Roberto Fresca]
Witch Card (spanish)(2 sets) [Roberto Fresca]
Buena Suerte (spanish, set 2) [Roberto Fresca]
Super Loco 93 (spanish, set 2) [Roberto Fresca]

New games marked as GAME_NOT_WORKING
Royale [Roberto Fresca]


MAMETesters Bugs Fixed
- 02482: [Graphics] bubblemj: Demonstration screen trouble
- 02483: [Graphics] gunlock, rayforcj: Title screen trouble
- 02498: [Graphics] lightbr: Trouble of title screen (Couriersud)
- 02221: [Sound] blzntrnd: Sound is almost completely broken
(Aaron Giles)
- 02467: [Crash/Freeze] qsww: Game Crashes (Olivier Galibert)
- 02479: [Misc.] Various: Memory leak (Aaron Giles)
- 02266: [Multisession] tceptor: Thunder Ceptor crashes out when run
as the second game. (Aaron Giles)
- 02439: [Multisession] tx1: TX1 quits out on second launch.
(Aaron Giles)
- 02488: [Multisession] All sets with using 2+ monitors: Crash to
desktop on second play. (Aaron Giles)
- 02321: [Crash/Freeze] mpu4utst, mpu4tst2, mpu4met0: Screenless
systems crash due to problems in some display core functions
(Aaron Giles)
- 02476: [Misc.] some neodrvr.c sets: Memory leak
- 02324: [Gameplay] dokyusei, dokyusp, gakusai, gakusai2: Game doesn't
start (Aaron Giles)
- 02292: [Crash/Freeze] dcclubfd, gground, ggroundj, roughrac,
sgmastc, sgmastj : Game doesn't start (Olivier Galibert)
- 02480: [Crash/Freeze] Various: CPU x: PULSE_LINE used with level-
detected IRQ y (Aaron Giles)
- 02489: [Color/Palette] All Sets in namcos22.c: Garbled colours and
graphics (Aaron Giles)
- 02470: [Crash/Freeze] Various: Access Violation (Aaron Giles)
- 02475: [Crash/Freeze] kf10thep: Access Violation (Johnboy)
- 02502: [Crash/Freeze] fax, hardhat, mtrap, pepper2, teetert,
venture and clones: Accessing a certain portion of memory in
the debugger causes crash. (Aaron Giles)
- 00998: [Crash/Freeze] dcclubfd: Hangs during playing with an access
violation error. (Olivier Galibert)
- 02460: [DIP/Input] qrouka: Coin 1+2 no longer work. (David Haywood)
- 00081: [Crash/Freeze] dcclub: Game crash and freeze.
(Olivier Galibert)
- 00989: [Graphics] qgh: If you do a metamorphose, the screen turns
black without displaying words/pictures. (David Haywood)
- 02458: [Color/Palette] enforce: Road layer colors are wrong.
(M.A.S.H., Phil Bennett)
- 02469: [Graphics] geebee and clones: Appears to be missing its
middle swinging gate (Couriersud)
- 02477: [DIP/Input] most merit.c sets: Unable to locate input port
- 02468: [Compiling] 64 bit build fails (Aaron Giles)

Source Changes
Removed unneeded UI keys by removing the constants. Readded
UI_ON_SCREEN_DISPLAY to be changed again in the "Inputs" menu.

Added missing support of normal joystick for player 2 in 'gwarb'.

Fixed a number of regressions due to recent 68000 IRQ changes.
[Aaron Giles]

Added new functions for building device-relative tags. Changed machine
configuration builder to use these functions. Also changed the
laserdisc player devices to use them. Updated Z80 CTC/SIO code to
assume that the CPU provided for the clock is relative to the device
that the CTC/SIO belong to. Updated memory code to assume that regions
and devices referenced by the memory map are relative to the device
the associated CPU belongs to. [Aaron Giles]

Neo-Geo cleanups (still in progress): [Johnboy]
- Sorted OEM / Bootleg sets
- Renamed roms on non OEM / Bootleg sets to ONE naming sheme
- Renamed functions
- Added some comments

System 24 cleanups: [Aaron Giles, Olivier Galibert]
* correct memory map for both CPUs
* reduced RAM size to 256k
* correct video timings
* renamed regions
* proper interrupt handling
* fixed dcclub magic latch

Checked, via Z80 code analysis, inputs and Dip Switches for the
following games in snk.c driver: [stephh]
- ikari, ikaria, ikarinc, ikarijp, ikarijpb
- victroad, dogosoke, dogosokb
- bermudat, bermudaj
- worldwar, bermudaa
- psychos, psychosj

Added correct overlay positioning, font, and behavior to PR-8210
emulation. [Aaron Giles, Warren Ondras]

Sonic Blast Man 2 Special Turbo (SNES bootleg) changes:
[Andreas Naive, Tomasz Slanina]
- added rom decryption
- patched protection checks
- mapped extra inputs

Fixed timers in i8051 core. [Grull Osgo]

Fixed the i8051 AJMP opcode to take 2 bytes instead of 3. [Grull Osgo]

Improved the button-lamps layout to all games in ampoker2.c driver.
Now buttons are more realistic. Also improved the Lucky 74 button-
lamps layout to be more realistic.[Roberto Fresca]

Improvements to InterFlip / Recreativos Franco driver: [Grull Osgo, Roberto Fresca]
- Added Baby Poker Game.
- Added sound support to Baby Poker Game.
- Reworked the color routines.
- Added Baby Dado Game.
- Added new color routines for Baby Games.
- Redumped the videocba color PROM.
- Added color switch. (It changes background color in some games).
- Added "hopper full" switch support (for diverter function).
- Added diverter function decoder.
- Added full functional mechanical counters decoding.
- Added 7 Segment decoder and 7 Digit Counter functions.
- Added button-lamps layout & mechanical counters simulation on
layout. Mechanical counters to layout: Coin-In, Coin-Out and Coin
to Drop.
- Added NVRAM support to mechanical counters.
- Mapped "Hand Pay" button for Baby Games.
- Added decoder to Jackpot mechanical counter.
- Added tower lamps to Baby Games layouts.
- Reworked layouts for Baby Games.

Fixed old regression bug in Sengoku Mahjong that made the controls
not work when the V30 CPU core was converted to 16-bit. Specifically,
the game accesses the multiplexer with a word write instead of a byte
write. [Angelo Salese]

Checked, via Z80 code analysis, inputs and Dip Switches for the
following games in snk.c driver: [stephh]
- gwar, gwarj, gwara, gwarb
- chopper, choppera, chopperb, legofair
- tdfever, tdfeverj, tdfever2
- fsoccer, fsoccerj, fsoccerb

MCU protection now working for lohtb2 (m72.c) [Couriersud]
* Hooked up 6751
* Synchronized protection ram writes with timer callbacks
* Removed speed hack from NEC CPU emulation, which breaks the
protection code

snes.c - Fixed problem with OAM address reset at start of vblank.
[Tomasz Slanina]

Made the Z80 daisy chain aware of referencing device-specific devices.
[Aaron Giles]

Added preliminary LD-V1000 emulation. Not fully working yet, but
mostly there. [Aaron Giles]

Cleaned up and normalized the three existing laserdisc emulations.
Removed obsolete code from the laserdisc core. [Aaron Giles]

Optimized st0016 RAM tile behavior to lazy decode the graphics,
giving a big speed boost to some of the mahjong games. [Aaron Giles]

Space Duel: Added the P10/11 dip switch (only 4 switches instead of
the standard 8) [Franklin Bowen]

Improvements to Sandii' games (snookr10, apple10 & tenballs):
[Roberto Fresca]
- Reworked the button-lamps matrix system.
- Documented both output ports.
- Connected coin in, key in and payout counters.
- Improved the lamps layout to be more realistic.
- Updated technical notes.

Minor optimization to the Neo-Geo sprite clearing code.
[Christophe Jaillet]

Added emulation for snes special chips DSP-2 & OBC-1.
[Fabio Priuli, byuu]
- added sources snesdsp2.c & snesobc1.c
- removed special chips detection from MAME
- modified memory handlers to account for the new chips

New games added or promoted from NOT_WORKING status
Megatouch 5 (9255-60-07 RON, New Jersey version) [Brian Troha]
Astropal (Sidam?) [Couriersud]
Baby Poker [Grull Osgo, Roberto Fresca]
Baby Dado [Grull Osgo, Roberto Fresca]
Sonic Blast Man 2 Special Turbo (SNES bootleg)
[Andreas Naive, Tomasz Slanina]

New clones added
Megatouch III (9255-20-07 ROG, New Jersey version) [Brian Troha]
Super Megatouch IV (9255-41-07 ROG, New Jersey version) [Brian Troha] (Not Working)
Armored Warriors (US 940920) [Razoola]
Mortal Kombat 3 (rev 1 chip label p4.0) [Andrea Turci]
Decathlete V1.001 [Andrea Turci]


MAMETesters Bugs Fixed
- 02323: [DIP/Input] geebeeb: Unable to coin - Always coin lockout
- 01090: [Crash/Freeze] invadpt2, sicv: Watchdog reset. (couriersud)
- 02440: [Crash/Freeze] abcop, gprider1, rachero: abcop just shows a
black flickering screen, rachero gives an error and crashes
on exit (couriersud)
- 02442: [Core] -aviwrite produces faulty files (Aaron Giles)
- 02441: [Crash/Freeze] rdft22kc: rdft22kc just shows a black screen
and fails to boot (couriersud)
- 02194: [Misc.] All Sets in othunder.c: Black screen, game does not
start (couriersud)
- 02410: [Misc.] -aviwrite: files over 2 gigs sometimes get cut off
(Aaron Giles)
- 02024: [Color/Palette] pbobble3, pbobble4, ringrage and clones:
Color Regression (Nicola Salmoria)

Source Changes
NeoGeo Update: [Johnboy]
* Updated Neo-Geo game pcb infos
* 2020bba: Marked MVS and AES version
* sonicwi2: Added correct sized v2
* kof95 / kof95a:
. Renamed kof95 to kof95h
. Renamed p1 to correct chip label
. Added note
. Renamed kof95a to kof95
. Renamed p1
* samsho3 / samsho3a:
. Renamed samsho3a to samsho3
. Renamed samsho3 to samsho3h
. Renamed p1 to correct chip label
. Marked AES version
* kof98 / kof98n:
. Renamed m1 in kof98 to correct chip label
. Renamed m1 in kof98n to correct chip label
(kof98n should be latest revision, cart had very high SN
* kof97: Marked MVS version
* samsho5 / samsho5h:
. Correct text layer size
. Marked samsho5h AES version
* neogeo:
. Updated system set to what is found on NEO-MVH MV1FS
. Added note
* ms5pcb:
. Hooked up bios dip
. Renamed bios to correct chip label
. Renamed p1 / p2 to correct chip label, marked NO_DUMP
. Added note

Added pen_mask tile attribute to the tilemap system. Implemented
dynamic tile & sprite bit depth in the Taito F3 driver.
[Nicola Salmoria]

Changed MAKE_RGB macro to set the alpha to 255 instead of 0. Updated
palette.c to preserve the alpha when transforming palette values.
These changes should be transparent to almost all drivers and
rendering (ha-ha), but there may be an occasional instance where a
driver relied on the alpha being 0 in the system palette. This also
means that the palette_set_color() function preserves any alpha value
that is set. [Aaron Giles]

Changed Firefox to RGB32 to allow for mid-screen palette changes.
Because of the above change, the hacky alpha manipulation that was
previously required is no longer necessary; the alpha is set directly
in the palette entry. [Aaron Giles]

Removed render_container_set_palette_alpha() hack. Now the alpha value
can be set directly in the palette entry and will be respected for
laserdisc overlays. [Aaron Giles]

Minor NSS/SNES cleanups [Fabio Priuli]

Updated warpwarp.c driver: [stephh]
- reworked 'geebee', 'navarone' and 'warpwarp' INPUT_PORTS
definitions by using conditional Dip Switches.
- added 'geebeeb' INPUT_PORTS definition (this game has specific
"Replay" settings).

Removed unneeded keys: [stephh]
- UI_ON_SCREEN_DISPLAY (there is now a "Slider Controls" menu)
UI_EDIT_CHEAT, UI_RELOAD_CHEAT (these keys belonged to the old
cheat engine)

Converted the z80pio implementation into a device. [Wilbert Pol]

Verified watchdog behaviour in schematics for 8080bw.c. [couriersud]

ldverify improvements: [Aaron Giles]
- uses back-end decoding for CHDs directly to bitmaps
- changed min/max detection to only check 0/255
- fixed off-by-one bug in min/max computation
- separated white code detection from frame number detection
- track cadence with frame numbers as well as white codes
- use vbiparse.h constants where appropriate

Plumbed machine parameters through the renderer. Removed need for
deprecat.h. [Aaron Giles]

Changed render_texture_set_bitmap() to accept a palette object
instead of a palette index. The renderer remains optimized for the
system palette but will work if objects have their own palette as
well. [Aaron Giles]

Changed renderer to permit palettes for RGB and YUY textures. If
specified, these palettes specify a 32-entry (RGB15) or 256-entry
(others) lookup for applying additional brightness/contrast/gamma
on a per-texture basis. [Aaron Giles]

Removed rescale notification. It never really worked that well and
violated proper layering. [Aaron Giles]

Renamed palette_set_brightness() to palette_set_pen_contrast() for
clarity. [Aaron Giles]

Changed palette objects to support global brightness/contrast/gamma
in addition to per-group and per-entry controls. [Aaron Giles]

Simplified core deinterlacing logic based on availability of pre-
decoded VBI data. Added plumbing for allowing for overall brightness/
contrast/gamma corrections on laserdisc video. Fixed bug when
combining brightness values in the palette logic. [Aaron Giles]

Converted Z80 CTC to a proper device. Updated all drivers. Added new
item to the interface which is the tag of a CPU to take the base clock
from. [Aaron Giles]

Changed Z80 daisy chain interface to simply be a list of devices in
the chain. Interrupt callback functions are now fetched via the
standard device interface and referenced by the daisy chain code.
[Aaron Giles]

Changed Z80 PIO interrupt callback to pass a device instead of the
machine. All device callbacks should provide the device. [Aaron Giles]

merit.c: [couriersud]
* Implemented palette & colour decoding from crt 200 schematics.
* Hooked up 6845
* Hooked up lscnblk line
* Fixed Phraze Craze gfx rom ordering
* Clocks from schematics
* Ram palette moved to static var. This should not be in RAM.
* Added save state support

expro02.c: [DITraI4D0]
- fixed DIPSW
- added graphics decode routine (probably it can be simpler)

video/kaneko16.c [DITraI4D0]
- tilemap scroll position is different for expro02, so added new
function (is it better to fix current one?)

Converted Z80 SIO to device. Updated drivers accordingly.
[Aaron Giles]

Added additional Motorola DSP56k reset behavior. [Andrew Gardner]

Added mechanism to generically specify input port tags in place of
machine/device handlers. Unfortunately, the implementation relies on
sentinel values to distinguish a port tag versus a pointer to function
code. However, since this is a very common situation, it will
hopefully be worth the slight grossness. New macros are defined in

DEVICE8_PORT(name) - use this to specify the name of a port to read
wherever a read8_device_func would normally be used

MACHINE8_PORT(name) - same as DEVICE8_PORT except it can be used
wherever a read8_machine_func would normally be used

IS_HANDLER_PORT(ptr) - accepts a read8_device_func or
read8_machine_func and determines if it is an actual function or
a reference to a port; intended for use by devices that accept
DEVICE8_PORT-style functions

CALL_DEVICE8_READ(ptr,device,offset) - either calls through the
given read8_device_func, or calls input_port_read with the
appropriate tag, depending on the result of IS_HANDLER_PORT;
intended for use by devices that accept DEVICE8_PORT-style

CALL_MACHINE8_READ(ptr,machine,offset) - same as CALL_DEVICE8_READ
except for read8_machine_func

Note that in order for these to be useful, the consumer of the
function pointer must be enhanced to use the CALL_* macros above
instead of directly calling through the function. So far, only the
8255 PPI is set up to do this, as part of the cleanup below. Also
note that the sentinel value is currently 4 consecutive 0 bytes; this
may need to change in the future, in either length or value, so it is
important to stick to the macros above. [Aaron Giles]

8255 PPI interface cleanup: [Aaron Giles]
- added MDRV_PPI8255_ADD, MDRV_PPI8255_RECONFIG and
MDRV_PPI8255_REMOVE macros; updated all drivers to use them
- changed callbacks to device read/write handlers intead of
machine read/write handlers; updated all drivers accordingly
- normalized function and variable names to be lower_under
- removed a number of redundant interfaces from the galaxian/
scamble line of games

LD-V1000: added some (compile-time removed) information about the
ROM and memory map [Aaron Giles]

Changed 68000 interrupts to only trigger during execution. This
means that multiple changes without any execution will be seen as
atomic. It also means that PULSE_LINE no longer works for signalling
IRQs. [Aaron Giles]

Added checks in the debug build to catch people who try to use
PULSE_LINE for non-NMI and non-RESET input lines on CPUs that no
longer support direct interrupt generation. Over time expect this
list to increase. [Aaron Giles]

Fixed edge case bug in the Cube Quest line CPU involving adding with
carry. [Matt Ownby]

Fixed sbasketb DIP switch reading. [Fabio Priuli]

Continued work on System1 inputs: [Sonikos]
- Added dips location in all game
- Moved in generic Cabinet dip for eliminate the redundancy
- Better implementation of generic input

Changed the NSS/SNES loading code to support more cart/memory layouts
and generally be more in line with the MESS way of handling SNES
cartridges. [Fabio Priuli]

New games added or promoted from NOT_WORKING status
Gals Panic (US, EXPRO-02 PCB)
Pit Boss [Couriersud]

New clones added
20 Year Reunion (V1.04) [Johan Samuelsson]
Capcom Sports Club (EURO 971017) [Corrado Tomaselli]


MAMETesters Bugs Fixed
- 01187: [Graphics] gseeker: In attract mode, there is a priority
error where a stealth bomber is coming out of a hanger.
- 02381: [DIP/Input] peke1012: Lightpen not mapped in option
(Fabio Priuli)
- 02191: [Sound] wseries, basebal2, dblplay, strkzone: Speech quality
regression (couriersud)
- 02322: [Core] All Drivers using 8080 CPU: 8080 Core problem with
score/credit counts and other variables (Miodrag Milanovic)
- 02254: [DIP/Input] All Sets in namcond1.c: Unable to coin/start
game properly (Fabio Priuli)
- 02156: [Color/Palette] naughtyb: Wrong RESNET calculation of the
green component. (couriersud)
- 02280: [Misc.] any set with multiple CPUs: Disassembler freezes when
doing a Run on any CPU other than CPU 0 (Aaron Giles)
- 02259: [Misc.] tinklpit: Debug messages displayed on exit
(Phil Bennett)
- 02258: [Crash/Freeze] srmp6: Game displays black screen, plays two
NiLe samples every three seconds over and over again
(Fabio Priuli)

Source Changes
Added newest Naomi 2 BIOS. [Brian Troha]

Correct NeoGeo M1 decryption for all CMC50 sets [Andreas Naive]

Rewrite of the Motorola DSP56k disassembler. [Andrew Gardner]
* Removes arbitrary opcode groupings in favor of flat decode model.
* Fixes a number of small issues with unknown opcodes.
* Added the final ALU parallel move ops.
* Fixes branch relative offset decoding.

NB1/NB2: fix default dips, added diplocations, used latest idioms.
IMPORTANT: you must delete all cfg and nv files for these games!
[R. Belmont]

Removed sprite to tile priority in firefox, it doesn't exist. [smf]

System 23 updates: [R. Belmont]
* Fixed text layer to show (colors are wrong)
* Added very preliminary support for Gorgon h/w
* Added Rapid River readme
* Adjusted Gorgon h/w MIPS clock to 133 MHz based on readme
* Renamed GP500 to 500GP, which is it's correct name
* Fixed sound CPU shared RAM. Comms not yet correct.

65816/377xx: fix disassembly of BRL [ShimaPong]

Fixed AF calculation in mcs48. [Aaron Giles]

Fixed Leland ay8910/12 output combining. [couriersud]

rescale_notifier() changed to always allow rescaling for screenless
drivers. [Wilbert Pol]

Added 22VP931 emulation, which is mostly working. Communication works
fine and basic searching/playback/skipping is functional. Still a bit
glitchy. [Aaron Giles]

Firefox improvements: [Aaron Giles]
- memory map is complete from schematics
- gutted laserdisc hacks in favor of actual laserdisc implementation
- fixed all CPU and sound clocks
- removed need for deprecat.h

Added generic timer devices, which simply allocate a timer but don't
prime it. This is the preferred method for allocating timers, and may
eventually be the only mechanism for doing so in the future.
[Aaron Giles]

Fixed copy + paste error in geebeeg romset. [David Haywood]

Move dkong memory_region calls into initialization routines.

Fixed -listroms to know about device-specific ROMs. [Aaron Giles]

Another pass to make static functions static, almost entirely
affecting code added in the last few months to MAME. The fixes are
the usual lot, changing enum definitions so they aren't declared,
decorating dead code/declarations with #if...#endif, and of course,
adding static where appropriate. In addition, I fixed a bunch of
UNUSED_FUNCTON symbols to be spelled correctly (I didn't introduce
this). [Atari Ace]

More system1.c input cleanups. [Sonikos]

Naomi update: [Samuele Zannoli]
* now show the contents of the framebuffer if the 3d accelerator is
not used so that now the atomiswave logo and messages are shown
(if you wait enough).
* removed a maple bug (no more strange messages in cvs2gd).
* improveed documentation of the communication registers with the
dimm board
* if DEBUG_VERTICES is defined as 1 the vertices sent to the tile
accelerator are collected and then drawn connected by a segment to
give a wireframe-like view of the scene.

Minor optimization to fillbitmap when non-zero fills are done.
[Christophe Jaillet]

Moved memory_region() call (which is slow) out of core sprite loop in
the neogeo renderer, giving a dramatic speed boost.
[Christophe Jaillet]

New games added or promoted from NOT_WORKING status
TX-1 (Atari/Namco/Taito license) [Phil Bennett, Guru]
Chanbara [Tomasz Slanina, David Haywood]
Paradise Deluxe 2 [Chris Hardy]

New games marked as GAME_NOT_WORKING
Rapid River (RD3 Ver. C) [Guru, R. Belmont]
Time Crisis 2 (TSS2 Ver. B) [Guru]
GameCristal (version 2.613) [ANY, f205v]


MAMETesters Bugs Fixed
- 02210: [Misc.] fieldday, undoukai: Game doesn't start. Source typo in
0.126u2. (MASH)
- 02240: [Crash/Freeze] All Sets in namcos12.c: Game Freeze (Aaron Giles)
- 02241: [Sound] kncljoe, kncljoea: Missing AY-3-8910A sound effects.
(Aaron Giles)
- 02248: [Sound] All sets in m58.c: No sound in game (Aaron Giles)
- 02239: [Sound] stunrun: No OKI6295 sound. (Aaron Giles)
- 02249: [Crash/Freeze] All Sets in zn.c: Game Hangs (Aaron Giles)
- 02233: [Speed] chboxing, chwrestl, dokidoki: Game Speed/Timing issue
(Curt Coder)
- 01897: [Original Reference] birdtry: DIP switch settings from manual.
- 02242: [Gameplay] ikarijp, ikarijpb: Test screen now required to be
cycled to enter game. (Nicola Salmoria)

Source Changes
Added redump of indytemc. There's sprite/playfield flipping issues,

Improvements to Funworld driver: [Roberto Fresca]
- Added new clone: Pool 10 (italian, set 4).
- Improved lamps layout for all games.
- Added Pool 10 pinout and DIP switches info.
- Updated technical notes.

Continued I/O map merging. [Andrew Gardner]

Changed Namco NB-x to use real C75 BIOS, read controls the real
hardware way. [R. Belmont]

Added lamps support + layout to magjoker and galaxi. Magjoker has a
good lamps sequence in the attract. [Roberto Fresca]

Fixed crash when hitting watchpoints on static handlers. [Aaron Giles]

Changed Namco NA-2 to use real C70 BIOS. Removed sound and input
simulation code. Changed the NA-1/2 MCU type to M37702. [Phil Bennett]

Added correct colour PROMS to arkatour. [Dazzer]

Fixed inputs in Main Event (SNK) based on the info in [9IEM1smI0]

Jaleco 'Bomb's Away' Improvements [aDG4W+qp0]

Fixed refresh rate and interrupts in sg1000a driver, added 8255PPI and
coin counter. [Curt Coder]

Changed requirements for laserdisc CHDs to require a new chunk of
metadata with pre-decoded frame information. Modified chdman to
automatically produce this for CHDs that are of the appropriate
parameters. To fix up existing CHDs, use chdman -fixavdata on the
CHD. [Aaron Giles]

Modified the laserdisc core to leverage the pre-decoded frame
metadata, which is now required. This improves seek times when
searching and allows the player-specific emulation access to the
VBI data as soon as it would really be available. Changed update
callback timing to fire just before the first line of VBI data
would be read; at that point, the frame selection is assumed to
be committed. [Aaron Giles]

Converted PR-8210 emulation over to using the actual MCU from the
laserdisc player. This MCU controls low-level functions such as
slider position and laser on/off, and receives decoded vertical
blanking data in order to make decisions. Removed old HLE behavior.
Note that the overlay text is displayed via the UI; this is
temporary and will be fixed shortly. [Aaron Giles]

Converted Simutrek-hacked laserdisc emulation to using the actual
MCU from the game, which in turn hands off commands to the PR-8210
MCU. This is still not 100% but is pretty close at this point and
achieves the correct behaviors in most cases. [Aaron Giles]

Fixed Cube Quest overlay scaling to cover the whole screen.
[Aaron Giles]

Changed laserdisc video parameters to position the screen area at
the bottom rather than the top, since this corresponds more closely
to standard line numbering. [Aaron Giles]

Extended the vbiparse code to support pack/unpack, and to more
fully document all the meanings of the VBI codes. [Aaron Giles]

Updated ldplayer to support slow/fast forward movement, frame/chapter
display, and separate controls for scanning/stepping. [Aaron Giles]

Added new built-in variable "frame" to the debugger. [Aaron Giles]

Fixed device-based ROM loading to support loading ROMs from the
game's ZIP as well. [Aaron Giles]

CPU-internal regions now have priority again. Fixed mario by installing
a handler in the SOUND_START function. [Aaron Giles]

Improved DIP switch handling and added DIP locations in epos.c. [Tafoid]

Added DIP locations to the dec0 driver. [Tafoid]

Separate NBA Jam TE from NBA Jam as they are not technically clones of
each other. [Atari Ace]

Verified cpu clocks and corrected/verified OKI M6295 frequencies and pin
for Shadow Force. [Corrado Tomaselli]

New games added or promoted from NOT_WORKING status
Fire Fox (still needs proper laserdisc support) [smf]

New clones added
Tengai (World) [Jet Black / Tormod]
Pool 10 (italian, set 4) [Roberto Fresca]
Hot Mind (adjustable prize) [David Haywood, Roberto Fresca]
Marvel Vs. Capcom: Clash of Super Heroes (Euro 980123) [bonky_0013]
Three Wonders (hack?) [EMMA team]

New games marked as GAME_NOT_WORKING
Funny Land de Luxe [Tomasz Slanina]


MAMETesters Bugs Fixed
- 00614: [DIP/Input] sspeedr: The pedal controls don't work at all,
in game or in the test. (Mike Green)
- 02198: [DIP/Input] stocker: Coinage Dip Switch has incorrect
configuration (Mike Green)
- 02206: [Sound] cubeqst: Cubequest now missing narrator and music
during attract mode. (Aaron Giles)
- 02166: [Cheat System] garou and clones: Work RAM Error (Aaron Giles)
- 02200: [Cheat System] galaga: Locks up (Aaron Giles)
- 02189: [Cheat System] gradius4: C'ant pass Setup (Aaron Giles)
- 02214: [Cheat System] rchase: Player's lorry doesn't move at all.
(Aaron Giles)
- 02177: [Cheat System] All lethal.c sets: T 4 EEPROM error(BAD)
(Aaron Giles)
- 02188: [Cheat System] Many sets in neodrvr.c: Freeze on start up
with a Work RAM Error. (Aaron Giles)
- 02207: [Crash/Freeze] marioj, marioo: Access Violation (Aaron Giles)
- 02204: [Crash/Freeze] masao: Memory bank error (Aaron Giles)
- 02202: [Crash/Freeze] Many Sets in segas16a.c: Access Violation
(Aaron Giles)
- 02222: [Crash/Freeze] monsterb, monster2: Monster Bash crashes on
launch. (Aaron Giles)
- 02205: [Graphics] jackal, jackalj, topgunbl, topgunr: Enemy tank
colors are wrong (Nicola Salmoria)
- 02201: [Compiling] 64 bit compiling error (Aaron Giles)
- 01689: [Graphics] riskchal, gussun: Missing raster effect
(Pierpaolo Prazzoli)

Source Changes
Implemented m90 playfield 1 and playfield 2 y-offset table. This
fixes, at least, the water effect in riskchal and the text fading
effect in the matchit2 demo. [Pierpaolo Prazzoli, Tomasz Slanina]

Started changing naomi gdrom sets to load the CHDs. [David Haywood]

Additional documentation for Egg Venture & Lethal Justice:
[Brian Troha]
- Added JAMMA pinout
- Gun Connector pinout
- Sound & Amp information

snk.c coin inputs seem to be active high (except for jcross)
[Nicola Salmoria]

Fixed bg tile banking in Canvas Croquis. Removed snkwave since it
doesn't seem to be used and might not be present on the pcb at all.
General driver cleanup, bringing it in line with snk.c but not
merging it since somthing doesn't quite fit. [Nicola Salmoria]

Merged memory maps in munchmo.c. [Nicola Salmoria]

Changes to magic10 driver: [Roberto Fresca]
- Better structure and organization.
- Added Super Gran Safari.
- Added improved lamps layout to Super Gran Safari and Magic's 10.

Added new device interface selector: DEVINFO_PTR_ROM_REGION. This
allows a device to provide a set of ROM regions to be loaded along
with the game ROMs. It is expected that most regions defined for
devices will use the ROMREGION_LOADBYNAME flag to enable the ROMs to
live in a central location. [Aaron Giles]

Added new device interface selector: DEVINFO_PTR_MACHINE_CONFIG. This
allows a device to specify a partial machine driver which is appended
to the end of the machine driver for any game using that device. The
intention for this is to allow devices which have their own BIOS logic
to specify CPUs and other characteristics common to all systems using
the device. [Aaron Giles]

Added new ROMREGION flag: ROMREGION_LOADBYNAME, which means that if
the ROMs in that region are not found in the usual driver files, then
the name of the region will be used as a driver filename for loading.
[Aaron Giles]

Extended the ldcore interface structure to allow each player type to
provide its own ROM region and partial machine driver. [Aaron Giles]

Moved preliminary PR-8210 emulation code from ldplayer.c to
ldpr8210.c. It is currently disabled behind the EMULATE_PR8210_ROM
compile time flag. [Aaron Giles]

Added built-in "Off" states to the cheats with parameters. This is
also the default state, obviating the need for a default value.
Removed the "default" attribute as a result. Switching from "Off" to
another state first executes the "on" script followed by the "change"
script. Switching to "Off" from another state executes the "off"
script. While not off, the "run" script is executed each frame.
[Aaron Giles]

Moved reset to default behavior in the cheat menu to IPT_UI_CLEAR.
[Aaron Giles]

Moved all naomi-gd keys to external. [David Haywood]

Cleaned up shadfrce.c input port mapping. [David Haywood]

Merged I/O maps in a number of drivers. [Andrew Gardner]

Fixed sprites in imago [Pierpaolo Prazzoli, Tomasz Slanina]

Added concept of rom sources to the rom loader. Updated auditing,
CLI utilities, validity checks, and ROM loading to use these new
functions so that device-specific ROMs are handled properly.
[Aaron Giles]

Added a core_fopen_ram_copy() call, similar to core_fopen_ram()
except that it copies the memory. [Nathan Woods]

Added redumped welltris program ROMs. [Dazzer]

CPUs, sound chips, devices, and ROM-regions which are specified by
devices now have their tags auto-prefixed with the device's tag. This
allows for multiple instances to be present. For example, the PR-8210
laserdisc player has a CPU with a tag of "pr8210". When it is included
as a device by a driver, the driver may tag the device "laserdisc".
The resulting final CPU tag name will be "laserdisc:pr8210". Also
updated the debugger expression engine to support names with embedded
colons. [Aaron Giles]

Added checks to ensure that tags used for CPUs, sound chips, regions,
and devices follow some basic rules: they should be less than 15
characters long, be all lower-case, and only contain letters, numbers,
underscores, or dots (no spaces). This is to ensure that they can be
used properly in debugger expressions and don't get too long or
unwieldy to type (even 15 chars is rather long). Fixed up all tags in
the system that failed these checks. [Aaron Giles]

Space Win changes: [Roberto Fresca]
- Some corrections to the memory map.
- Added proper working RAM.
- Added Dallas DS1220Y NVRAM.
- Added output port.
- Added lamps layout.
- Added complete inputs.
- Changed description to "Scacco Matto / Space Win" since the
default game is Scacco Matto.
- Fixed memory maps.
- Documented Super Derby outputs.
- Added lamps support + layout to Super Derby.
- Fixed the phisical RAM size to all games.
- Fixed the wrong NVRAM size to spacewin (16Kb instead of 16KB).
- Added proper NVRAM to sderby and pmroulet.
- Added the missing 3rd input to pmroulet (needed for 3-button mode).
- Cleaned up the driver.
You must enter the service mode and change graphics in order to
switch the game.

Changed DEVICE_START functions to return an error code. Currently
The latter should be returned by a device if there is another device
it depends on which hasn't been started yet. Added new flag in the
device interface to indicate whether a device has been started.
[Aaron Giles]

Changed laserdisc interface to explicitly specify the screen and sound
devices it should route to. Drivers no longer have to manually call
laserdisc_vsync(). Instead, the laserdisc code connects up to the
routed screen device and works based on that screen's VBLANK timing.
Removed all existing calls to laserdisc_vsync(). [Aaron Giles]

Changed laserdisc behavior so that it completes the previous video
read and initiates the next read at the end of VBLANK instead of the
beginning. This gives player logic time during VBLANK to alter the
slider position prior to fetching the next frame. [Aaron Giles]

Added new laserdisc callback for vsync begin and changed the update
callback to be called at the end of VBLANK. Also added functions to
set the slider speed, advance the slider, and directly control the
video/audio squelch. In addition, there is a new status function to
get the slider position in general terms. [Aaron Giles]

Added parameter to the VBLANK callbacks supported in emu/video.c.
Updated all callers to provide a callback value. [Aaron Giles]

Fixed bug that would cause watchpoints to trigger if you had a memory
window open to the watchpoint address. [Aaron Giles]

Further updates to the PR-8210 ROM simulation. Still not quite there
but the system is much better understood now. Added layout to the
PR-8210 which displays the state of the front-panel LEDs.
[Aaron Giles]

Clickable input support. Layouts can now have items which when clicked
will alter the state of an input port. This is done via the new
attributes 'inputtag' and 'inputmask', which specify an input port tag
and mask. When the given element is clicked, the state of the element
changes to 1 and the given bits in the input port are set the same as
if you had pressed the equivalent switch. [Nathan Woods]

Started adding naomi2 sets. [David Haywood]

Added sprites buffering to Limenko driver and removed imperfect video
flag from spotty. [Pierpaolo Prazzoli]

Improvements to Croupier (Playmark Roulette): [Roberto Fresca]
- Simulated the MCU communication/protection.
The game seems to work properly, but is hard to win.
I conserved the game flags till we have the MCU decapped,
and emulated properly.
- Added full sound support.
- Added lamps support + layout.

Fixed memory handling of internal banks. They should be LOWER priority
than the driver's memory maps. Reverted recent changes to MCS-48 core
that were very hacky and which crashed many games. You can now
properly override the internal memory map and do your own banking.
[Aaron Giles]

8080/8085 CPU core updates: [Miodrag Milanovic]
1. ANA/ANI instruction, HF flag was not set right because error in
calculation of it (missing brackets)
2. 8080 have NF flag always set (it is not used flag but bit is
always set)
3. Added support for status output lines.

Moved more static data into const and added some more explicit
initialization. [Atari Ace]

Added LSI BIOS to the Atari System 1 driver. Made the System 1 BIOS
a proper BIOS. Removed restriction that BIOS-related ROMs must
immediately follow the BIOS definition. [Kevin Eshbach, Aaron Giles]

cave.c changes: [Kevin Eshbach]
* Changed the hardcoded MHz values in the Cave driver to the XTAL
* Updated the Cave driver for the game Guwange with gals that need
to be dumped

Jail Break changes: [Kevin Eshbach]
* Updated the Jail Break driver with the dip locations
* Corrected the Jail Break driver sound chip from a SN76496 to a
* Corrected the Jail Break rom names
* Redumped the Jail Break VLM rom dump

Super Basketball changes: [Kevin Eshbach]
* Corrected the Super Basketball Revision H rom dump
* Updated the Super Basketball driver with the dip locations
* Corrected the Super Basketball VLM XTAL
* Corrected the Super Basketball parent/child relationships by making
the Revision H the parent
* Turned on save state support for the Super Basketball driver

Updated the Sega System 1 driver with more board information on the
Choplifter bootleg and updated the placeholders for the pals that need
to be dumped. [Kevin Eshbach]

Updated the WWF Wrestlefest driver rom names. Added save state support
to the WWF Wrestlefest driver. [Kevin Eshbach]

C352 cleanup: Removed an unused volume table dating from before the
volume was (correctly) implemented as linear. [Olivier Galibert]

Added memory checking and error logic to ledutil.c.
[Christophe Jaillet]

Added running_machine * to some more locations in the system. Updated
drivers accordingly. [Oliver Stoeneberg]

New games added or promoted from NOT_WORKING status
Super Gran Safari [Roberto Fresca]
Scacco Matto / Space Win [David Haywood, Roberto Fresca]

New clones added
The Great Ragtime Show (Japan v1.3, 92.11.26) [Stefan Lindberg]
Imago (cocktail set) [Chris Hardy]
The NewZealand Story (Japan, newer) [Tirino73]
Marble Madness (set 5 - LSI Cartridge) [Kevin Eshbach]


MAMETesters Bugs Fixed
- 00596: [DIP/Input] pocketrc: The car turns only to the right and
there is no way to calibrate controls. (smf)
- 02075: [DIP/Input] mooncrgx: Cabinet DIP setting is duplicated.
- 02137: [DIP/Input] rockduck: DIP setting for LIVES is incorrect
- 02179: [DIP/Input] lethalej: lethalej crosshairs backwards
(Luigi30, MikeDX)
- 02035: [DIP/Input] gwarb: Guerrilla War bootleg doesn't need a
rotary joy (robiza)
- 02174: [Sound] dkongjr and clones + mario and clones + pestplce:
Music speed regression (Aaron Giles)
- 02173: [Crash/Freeze] radarscp, radarsc1: Hang or Reset before game
start. (Aaron Giles)

Source Changes
Optimized DISCRETE_RCDISC_MODULATED. Added X_TALs to circus. Optimized
The 555 and mixer changes also speed up just about every current
discrete game. [Derrick Renaud]

Added updated information about Sorcer Striker and moved Fix Eight
bootleg PCB layout down by the roms like the other layouts in the
driver. [Brian Troha]

Added redumped roms for the Bubble Symphony (bootleg with OKI6295)
set. [Brian Troha]

Started removing extraneous enable lines from the discrete modules.
Most modules are always enabled anyways. [Derrick Renaud]

Changed MCS-48 core to write p1 and p2 on reset. [couriersud]

dkong/dkongjr: use MB8884 as sound cpu / verified on schematics.

mcs48.c: Use banking to handle ea line: [couriersud]
* Adds MCS48_INTERNAL_ROMBANK define to header
* Drivers which need to control the ea line have to initialize
banking for internal/external rom
This is not yet optimal but works as expected with existing drivers
and modified mario.c

Changed MCS-48 EA line handling to use an explicit bank for now.

Added EggVenture readme to lethalj.c. [Guru]

Changed sound cpu type in saiyugb1 to I8748. [couriersud]

dkong.c: S2650 based games consolidated [couriersud]
* consolidated memory maps for S2650 based games
* renamed handlers to s2650_*
* joined protection handlers

Added Cruis'n USA and new Raiden DX/2 readme. Cleaned up some
documentation in raiden2.c. Renamed "Raiden DX (set 2)" to "Raiden DX
(Tuning license)", and renamed ROMs to match the actual PCB.

Updated documentation and disk/ROM names in segas24 based on new
information. [Brian Troha, T.Fujita]

Removed "game_no_sound" from the 2 Hotrod games (in segas24.c) as all
3 seem to have the same sound capabilities. [Brian Troha]

toaplan2: [Brian Troha]
* removed duplicate info
* changed most speeds to "xtal_xxMHz" define
* corrected Battle Battle Bakraid Z80 clock based on readme info

Fixed Dip Switches and Inputs for 'aso', 'alphamis', 'arian' (same as
'alphamis'), 'tnk3', 'tnk3j' (same as 'tnk3') and 'athena'. [stephh]

Improvements to galaxi driver... [Roberto Fresca]
- Added Magic Joker.
- Fixed the 3rd background offset to Galaxi.
- Remapped inputs to match the standard poker games.

Began the "big IO_MAP merge of 2008". A number of drivers have had
their I/O space address maps merged. [Andrew Gardner]

Changed the default bootleg gwar pcb to be joystick only, and removed
code duplication. Fixed jcross cabinet dip switches. [Nicola Salmoria]

M377xx: 8-bit I/O port reads no longer cause bogus reads of
neighboring ports. [R. Belmont]

Removed unnecessary ARM7 hooks so MRC and MCR disassemble properly.
[R. Belmont]

Updated TMS5100 LPC tables based on mathematical analysis of 1st and
2nd derivatives of the values and comparison to the best quality
patent image, which nearly always showed which values were in error.
Some off-by-one issues may remain, but it is now nearly perfect.
Further perfection will require PROMOUT dumping, which is planned.
[Lord Nightmare]

snk update: [Nicola Salmoria]
* added another ikari us clone
* renamed ikaria to ikarinc (for Ikari No Continues)
* ikari is the JAMMA board, with conitnues
* ikaria is the non-JAMMA board, with continues
* ikarinc is the non-JAMMA board, without continues
* fixed sound in Jumping Cross
* adjusted some input bits in several games
* merged hal21.c into snk.c
* removed hacks and kludges
* fixed colors (I think--though some sprites do look weird)
* fixed emulation of the "SNK Wave" custom sound used by Marvin's
Maze and Vanguard II and made it into a proper sound core
* fixed palette decoding of early SNK games (from marvins to
athena + fitegolf). The least significan bits were assigned
* merged marvins.c into snk.c, with all resulting fixes (removed
hacks, correct shadows, scroll offsets etc)

Replaced aso ROMs (which were possibly from a bootleg) with split ones
that are definitely from an original. Renamed ROMs across sets
accordingly. [Nicola Salmoria]

Converted timekeeper to a device, all default contents are loaded from
disk. slapshot & opwolf3 read/write memory map have been merged.

Shadow Force changes: [Pierpaolo Prazzoli]
- Added irqs ack
- Implemented raster irq
- Fixed coin2 and service input not working during the game
- Added watchdog
- Fixed visible area
- Added video enable and irqs enable flags

Added decryption of 39in1. Doesn't get far due to very odd RAM check
routine. [Andreas Naive]

Changed all MCS-48 chips to have a 12-bit address space, regardless
of internal ROM size. [Aaron Giles]

Enabled internal COP410 program map. [Curt Coder]

Fixed Dip Switches and Inputs for 'hal21', 'hal21j' (same as 'hal'),
'fitegolf', 'fitegol2' (same as 'fitegolf') and 'countryc'. [stephh]

Changed refreshspeed target to 0.25Hz below rate provided, in order to
guarantee that inexact timings do not lead to sound stuttering.
[Aaron Giles]

Added Fist of the North Star and (partial) Demolish Fist sets
(Atomiswave) and decryption. [Andreas Naive]

Added PCB info for Hard Yardage & earlier World Class Bowling.
Corrected a few rom names. [Brian Troha]

Split core laserdisc functionality into separate file ldcore.c.
Each player now gets its own source file, along with new hooks
which enable more precise control over the behavior. Updated the
PR-8210 and LD-V1000 implementations to the new spec. Other
players will come online shortly. [Aaron Giles]

Changed laserdisc scan behavior so that it requires a constant stream
of signals to continue scanning. Updated ldplayer accordingly.
[Aaron Giles]

Updated debugger to pass running_machine around where appropriate.
Added running_machine to several devices which really should
eventually be converted into proper devices. [Oliver Stoenberg]

Concluded input port cleanups for drivers W->Z. Changed Primal Rage
start buttons into input buttons. Removed unused protection bit in
Driver's Edge. Introduced a new PORT_CUSTOM which returns a tagged
input that can be used to route bits from one port into another.
[Fabio Priuli]

Added the missing SHA1 checksums to the atrowar set.
[Oliver Stoenberg]

Added basic implementation of the "update ended" interrupt flag to the
MC146818. [Barry Rodewald]

New games added or promoted from NOT_WORKING status
Video Poker [Grull Osgo, Roberto Fresca]
Black Jack [Grull Osgo, Roberto Fresca]
Video Dado [Grull Osgo, Roberto Fresca]
Video Cordoba [Grull Osgo, Roberto Fresca]
Magic Joker (v1.25.10.2000) [Roberto Fresca]

New clones added
Egg Venture (A.L. Release) [Guru]
Ikari Warriors (US) [Nicola Salmoria]
Double Dragon (bootleg) [Sonikos]

New games marked as GAME_NOT_WORKING
Mad Zoo [Roberto Fresca]


MAMETesters Bugs Fixed
- 00228: [Graphics] sgladiat: Emulation is missing some enemy sprites
that are present on the pcb. (Nicola Salmoria)
- 02147: [Interface] Annoying behaviour of highlighted entries in
minimal UI (Aaron Giles)
- 02159: [Crash/Freeze] cubeqst: Cubequest crashes on ATI hardware
w/ prescale > 1 (Aaron Giles)
- 02035: [DIP/Input] gwarb: Guerrilla War bootleg doesn't need a
rotary joy (Nicola Salmoria)
- 00650: [DIP/Input] stv.c games: P1 and P2 Button 4 are duplicated.
(Fabio Priuli)
- 02154: [DIP/Input] ckongg: Coinage settings are wrong.
(Fabio Priuli)
- 02143: [Graphics] ozmawars, ozmawar2, solfight, spaceph: Streaks
and dashes appear on screen after playing awhile
(Fabio Priuli)
- 02142: [Sound] centipdb, magworm, millpac: No Sound (couriersud)
- 02150: [DIP/Input] spacegun: Missing crosshairs (Nicola Salmoria)
- 02144: [DIP/Input] ozmawars, ozmawar2, solfight, spaceph: DIP
settings for coinage are incorrect (Fabio Priuli)
- 02126: [Core] corrupt CHDs are reported as missing (Aaron Giles)
- 02133: [Misc.] chindrah: The title of Zhong Guo Long?(Hong Kong,
V011H) is Dong Fang Zhi Zhu(Hong Kong, V011H) (Aaron Giles)
- 02139: [Misc.] In audio/system16.c, there is a reference to
REGION_SOUND1 (Aaron Giles)
- 02138: [Cheat System] flamegun: Debugger/Cheat System upper case
cpu tag of MAIN doesn't work (Aaron Giles)
- 02110: [Side-by-side] All sets in cps3.c: video from a DV cam
proves the refresh rate of CPS3 in MAME is wrong (Aaron Giles)
- 02127: [Documentation] xymg: The game name should be Xing Yun Man
Guan and "Pin Yin:"should be omitted (Aaron Giles)
- 02136: [Interface] cubeqst: from minimal UI cubeqst requires the
optional CHD (Aaron Giles)
- 00869: [Graphics] ikari: The title screen and high score screen do
not have a black background, as MAME displays.
(Nicola Salmoria)
- 02135: [DIP/Input] rtypej: DIP Switch "Demo Sounds" is wrong
(Fabio Priuli)
- 00429: [Gameplay] fastlane: the random function of this doesn't work
well and always gives a "no bonus"... (ShimaPong)

Source Changes
Changed DIRECTINPUT & DIRECT3D handling, so they can be overridden by
environment variables. [smf]

Readded generic calls to install memory handlers that were in long
before 0.126u5 - these are useful on the MESS side for things like
the PC driver. [Nathan Woods]

HD63484 improvements: [robiza]
* fixed cpx and cpy when a ptn or a agcpy command is executed
* fixed for PTN command: copy direction and dot color
* first implementation of PAINT command (for now only 4bpp and 8bpp
supported and the pattern is not supported)

Cleaned up the discrete code and fixed discrete logging.
[Derrick Renaud]

Fixed handling of a number of static variables to avoid multisession
issues. [Atari Ace]

Moved FD1089 decryption keys to external files. [Atari Ace]

Changed 68000 IRQ support so that the IRQ lines explicitly simulate
a standard demux chip connected to the IRQ lines. This means that the

cpunum_set_input_line(5, ASSERT_LINE);
cpunum_set_input_line(3, ASSERT_LINE);
cpunum_set_input_line(3, CLEAR_LINE);

now works as expected. This required fixes to several Atari and other
drivers. [Olivier Galibert]

Input port cleanup pass over drivers from N-V, leveraging
AM_READ_PORT, converting to full 32-bit inputs where suitable, using
CUSTOM_PORTs for EEPROM bits, etc. [Fabio Priuli]

Additional input port cleanups in the cps1, deco, pgm, psikyo, nbmj,
and jaleco drivers. [Fabio Priuli]

snk.c rewrite: [Nicola Salmoria]
- fixed sprite-sprite priorities
- TNK3, Athena, Fighting Golf, Country Club
- converted to tilemaps
- removed hacks
- proper memory maps
- screen flip / cocktail mode support
- DIP locations
- better implementation of sound CPU communication
- hooked sound CPU interrupts to YM chips
- fitegolf hax 1xYM3812, not 2xYM3526
- Ikari Warriors, Victory Road
- removed ROM patches
- simulated "hard flags" behaviour
- proper memory maps
- fixed ikarijp color test
- renamed dogosokj to dogosokb and loaded the correct palette PROMs
- inputs, dip locations, etc.
- removed NO_COCKTAIL flag since these games don't have a flip
screen dip switch
- Guerrilla War, Psycho Soldier, Chopper I, TouchDown Fever /
Fighting Soccer
- tilemaps
- proper memory map
- input, dip locations, etc.
- Bermuda Triangle / World Wars
- removed ROM patches
- simulated "turbo front" check
- renamed bermudao->bermudaj
- clarified the relationship between the four sets
- made World Wars a main set instead of a clone of Bermuda Triangle
- tliemaps, proper memory maps, inputs, etc.
- moved from hal21.c to snk.c
- removed hacks, fixed bg color
- Gladiator
- moved from sgladiat.c to snk.c
- fixed shadows, visible area, tilemaps, inputs, etc.
- Jumping Cross
- moved from jcross.c to snk.c
- fixed fg layer and visible area
- the game seems to be ok now? is there still something wrong?

Added 8303 ROM to the games using it and updated MCU simulation to
match the new findings. [Nicola Salmoria]

Removed duplicate buttons in sf2hack. Promoted sf2m2 clone to
working. [robiza]

Added helper function devtag_get_device(machine, type, tag) to
retrieve the device_config for (type, tag). [couriersud]

Hooked up sound CPU comms in Power Instinct 2. This enables
synchronized dancing for the background characters. [ShimaPong]

Fixed bug when writing AVI files with more than one RIFF chunk.
Added missing chdman error messages when extracting to an AVI file.
[Aaron Giles]

Derived CPS2/CPS3 video timing based on measurements. These are
educated guesses. The logic behind the derivations is shown in the
source. [Aaron Giles]

Game-A-Tron gambling hardware updates: [Roberto Fresca]
- Added sound support to "Poker 4-1" and "Pull Tabs".
- Figured out the output ports. Documented each bit accessed.
- Added button lamps support. Created layouts for both games.
- Switched the 8255 port C to be used as output port.
- Adjusted the coin pulse timing.
- Updated technical notes.
- Splitted the driver to driver + video.
- Final clean-up.

Fixed problem that would cause the "Return To Prior Menu" menu item to
not stick if one is calling ui_menu_reset() with
UI_MENU_RESET_REMEMBER_POSITION, and that menu item is selected.
[Nathan Woods]

Added PR-8210 support to the ldplayer. Fixed step forward command on
the PR-8210. [Aaron Giles]

Changed Journey and Domino Man to 4-way joysticks. [John Rieman]

Added Discrete Sound for Starship 1. Still need to properly emulate
the MC3340. [Derrick Renaud]

Changed some decryptions in igs_blit.c to use program roms loaded
byteswapped. Decrypted Mahjong Man Guan Cai Shen, Mahjong Long
Hu Zheng Ba 2, Mahjong Shuang Long Qiang Zhu 2, and Mahjong Super
Da Man Guan 2. [Pierpaolo Prazzoli]

Added save state for discrete node->output to ensure that input nodes
save states. [couriersud]

Added a new generic latch device. Generic emulation of 74LS174/175,
74LS259 and other latches. Apart from providing synched latch
operation, these latches can be configured to read their input
bitwise from other devices as well and individual bits can be
connected to discrete nodes. Please see audio/dkong.c for examples.

dkong & friends: Use new latch device [couriersud]
* adds new latch device where appropriate
* increased accuracy since now all main/sound cpu communications
are properly latched
* removed quite some code as a consequence
* minor cosmetic edits

Updated adp memory map. [robiza]

m4510 core fixes: [robiza]
- banking in read and write operations
- jsr and jsrx instruction
- fixed TSY instruction

Optimized ycc_to_rgb conversion code. [couriersud]

Added readme for The Simpsons. [Guru]

zn.c improvements: [smf]
- Improved dip switch emulation, ram hacks to get games booting are
no longer required.
- Added gun emulation for judge dredd.
- Fixed judge dredd ide emulation when building with visual studio.
- Mapped primal rage 2 inputs
- Mapped player 3 & 4 inputs for 1 on 1 government, these are now
the default with the 6 button inputs only mapped for games that
need them.
- Converted AT28C16 to a device.
- Added preliminary support for devices to load/save nvram.

Added some initial logic to boot and run the PR-8210 ROM (i8049)
in ldplayer.c. Currently this is disabled behind a compile-time
switch. Once this is working, the plan is to incorporate this into
the existing PR-8210 emulation, but we're not there yet. [Aaron Giles]

Changed Trivia Quest clocks based on some really old information.
[Pierpaolo Prazzoli]

Added new function tilemap_set_pen_data_offset(). While this isn't
'free' as tilemap_set_palette_offset() is (when the offset changes,
the pixmap cache needs to be invalidated), it helps removing some
redundant code from drivers. Updated snk.c and snk68.c to take
advantage of the new function. [Nicola Salmoria]

Significant cleanup/rewrite of the MCS-48 CPU core:
* renamed from i8039 to mcs48
* changed to use data address space for internal RAM
* added internal memory maps for variants with internal RAM/ROM
* added a number of variants from documentation
* removed redundant and unused definitions from header file
* renamed constants and functions to be MCS48* prefixed
* re-verified all opcode behaviors and timing
* changed illegal opcodes to count 1 cycle to avoid infinite loops
* changed EA behavior so that it is a push from the driver instead of a pull on each opcode fetch
(this may change further in the future).
* reimplemented IRQ generation and timer behavior according to documentation
* updated all drivers accordingly
* fixed several uses of PULSE_LINE, which no longer works

SH4, Naomi, and Hikaru updates [Samuele Zannoli]
- Fixed SH-4 core to support multiple SH-4s
- Fixed LDCSR instruction
- Fixed SH-4 I/O ports
- Skeleton Hikaru driver with memory maps and both SH-4s
- Fixed JVS/Maple translation so Naomi 2 BIOS runs

Fixed Dip Switches and Inputs for 'jcross' and 'sgladiat'. [stephh]

Changed slider controls into a menu. For now, removed the old direct
access mechanism; instead, you must access the sliders via the main
menu. While in the menu, you can use the ~ key to turn off the menu
display and leave only the bar display, in order to see more of the
screen. [Aaron Giles]

Namco NB 1/2 work: [Olivier Galibert]
- Shares the memory with the c75.
- Renames the c75 region to c7x from user4.
- Implements the c75 reset/halt control.
- Implements the irqs more correctly.

Small optimization to memory handling for 68000 core.
[Christophe Jaillet]

Fixed input port confusion in the 8080bw driver. Connected AVGDVG
status bits via PORT_CUSTOM. [Fabio Priuli]

Updated stepper motor code to use a MAME-style config interface,
rather than a load of setting functions. Changed optic functions to
use clearly defined start and end points. Added standard layout for
Starpoint units used in many machines. Updated all affected drivers.
[James Wallace]

Removed useless backslashes lurking throughout the code. [Atari Ace]

Improvements to magic10.c driver: [Roberto Fresca]
- Added Magic's 10 version 16.15
- Remapped all inputs to match other poker games.
- Added a missing input to Magic's 10 games.

New games added or promoted from NOT_WORKING status
Aero Fighters Special (Tiawan) [smf]
Super Football Champ [smf]
Magical Date / Magical Date - dokidoki kokuhaku daisakusen [smf]
Fighters' Impact [smf]
Judge Dredd [smf]

New clones added
Top Skater (USA) [Gerald (COY)]
Ikari Warriors (US) [Corrado Tomaselli]
Magic's 10 (ver. 16.15) [Roberto Fresca]