NovitÓ nella versione 0.130


MAMETesters Bugs Fixed
- 00421: [Graphics] fghthist, fghthsta, fghthstj, fghthstu: Some
priority problems in Ryoko's stage. Namely, the old man, the
cat and the kid. (Pierpaolo Prazzoli)
- 02854: [Graphics] hypreact: Buggy text in scoring screen
(Pierpaolo Prazzoli)
- 00826: [Graphics] wc90b, wc90: Some players are cut at left and
bottom of the screen. (robiza)
- 00268: [Graphics] captaven: In attract mode, the small pictures of
the heroes appear before they should. (Pierpaolo Prazzoli)
- 03006: [Graphics] blocken: Color / Missing gfx (Phil Bennett)
- 02057: [Graphics] buckrog, buckrogn, zoom909, subroc3d: Graphics
Corruption on Title Screen + in game (using -AFS)
(Aaron Giles)
- 03001: [Interface] "Working clones" display problem (Aaron Giles)

Source Changes
Fixed a paletteram entry bug in GP World [Angelo Salese]

Fixed sprite positioning bug in Zero Target [Angelo Salese]

Added new graphic roms to the 1999 head panic set. Also added sprite
flicker flag, based on tumble pop etc. [David Haywood]

Add locations to rom names for Mazer Blazer (and alt) roms. Add
NO_DUMP entries for undumped voice roms, video prom, and pal.
[Lord Nightmare]

Preliminary proper roz effects hooked up for Zero Target
[Olivier Galibert, Angelo Salese]

Added function calls to replace the MIPS3 and PowerPC DRC's various
CPU_SET_INFO bits. [Aaron Giles]

Fixed DCS2 speedup handler so it doesn't get lost during a memory
remap. This should give a slight speed bump to the Seattle/Vegas games
and to War Gods. [Aaron Giles]

Added service1 button tested in Dynamite Bomber (but doesn't work in
game) and fixed little sprites priority problems in limenko.c
[Pierpaolo Prazzoli]

Fixed a sprite bug when flip y flag is used and cleaned-up the whole
routine in Zero Target. [Angelo Salese]

Fixed sound regression in Tryout and removed deprecat.h dependancy
[Angelo Salese]

tms57002: Add two missing instructions and hack up the coef update.
The real way coefficient updates are handled is a little too complex
for now, but the hack throttles the update speed to the real rate
given the way konami uses it (once per sync). It's near impossible to
use it in a different way anyway. [Olivier Galibert]

Fixed bug that caused 64-bit PowerPC systems to fetch opcodes in the
wrong order. [Aaron Giles]

Fixed Analog settings so Digital and Autocenter Speeds are applied
properly in real time. Fixed Digital Speed = 0 so it increments in
single steps per button press. [Derrick Renaud]

Merged memory maps in the rpunch driver. [Aaron Giles]

Fixed PSX CPU disassembly of -$8000, it was showing up as -$0. [smf]

Allow chds to be directly in the rom directory without a subdirectory.
[Olivier Galibert]

wc90b1 and wc90b2 improvements: [robiza]
- sprite priorities
- sprite x position
- fixed y sprite wrapping
- fixed bg and fg scroll
- fixed bg and fg offsets

Fixed colors in Cultures (Jibun wo Migaku Culture School Mahjong Hen)
[Tomasz Slanina]

Refactored sfbonus and improved the inputs. [David Haywood]

Hooked up paletteram in Midnight Landing [Angelo Salese]

royalmah update: [Uki]
- added some notes
- fixed DIPSW of makaijan
- fixed visible area
- fixed CPU clock

Add muting just before saving the NVRAM, and de-mute just after
loading the NVRAM. Should cure the stuck sound issue for games
with large NVRAM. [Aaron Giles]

Added placeholders for the two PAL's on Atari's version of Pole
Position 1 and 2 (I could not read the last digit of the PAL at 5c.)
[Kevin Eshbach]

Added board numbers to SEGA's Quartet 2 documentation. [Kevin Eshbach]

Corrected the rom names for Tutankham. [Kevin Eshbach]

Hooked up 2D layer in Driver's Eyes. [Naibo Zhang]

Fixed Konami zr-107, GTI Club hardware, background layer lost (black
sky). [Naibo Zhang]

New games added or promoted from NOT_WORKING status
Puzzle Time (Prototype) [Angelo Salese, Pierpaolo Prazzoli, Yoshi]

New clones added
Gals Panic S2 (Asia) [Andy Henderson]
Jansou (alt) [Uki]


MAMETesters Bugs Fixed
- 02963: [Documentation] All games in aristmk5.c: Added region info
to all games (Heihachi_73)
- 00015: [Sound] Noticeable static in OKI 6295 audio. (Aaron Giles)
- 02698: [DIP/Input] royalmah.c: BET games: Bet button does not work
by default. (Angelo Salese)
- 02180: [Core] Corrupt archives are read without problems (couriersud)
- 02694: [DIP/Input] demoderb, demoderm: Duplicated input definitions
for P1 and P2 buttons. (couriersud)
- 02983: [Crash/Freeze] racedriv and clones: Race Drivin' and clones
loop after "downloading DSP" screen (Phil Bennett)
- 02998: [Crash/Freeze] pkunwar, ninjakun, raiders5: These games don't
make it through their rom checks. (Phil Bennett)
- 02368: [DIP/Input] fourtrax: Controls are glitched (Phil Bennett)
- 02996: [Crash/Freeze] hotchase: [debug] Access Violation
(Phil Bennett)
- 02894: [Graphics] cprosocc: Ingame graphics corruption.
(Phil Bennett)
- 02711: [DIP/Input] spacegun: EE-ROM error after gun calibration.
(Phil Bennett)
- 02478: [Graphics] finalapr, finalapo, finalapb, speedrcr: Some
graphics are not displayed. (Phil Bennett)
- 02877: [Sound] deadang, leadang, ghunter: Music drowns out sound
effects (Phil Bennett)
- 02995: [Crash/Freeze] liberate, dualaslt: Black screen shows after
disclaimer (Phil Bennett)
- 02994: [Crash/Freeze] labyrunr, labyrunk, tricktrp: Booting is never
completed (Phil Bennett)
- 02991: [Graphics] polyplay: Broken graphics when playing
(Phil Bennett)
- 02526: [Graphics] mahmajn2: Missing 'special' linescroll mode.
(Olivier Galibert)
- 02979: [Graphics] All sets in m10.c: Dialog box on all sets in m10.c
- 02988: [Crash/Freeze] blswhstl, detatwin: ROM RAM EEPROM Check fails
at startup (Phil Bennett)
- 02980: [Documentation] wsbbgd: Year is listed as 200?, flyer
confirms as 2001 (incog)
- 02986: [Documentation] ggxx: Year listed as 200?, confirmed as 2002
- 02985: [Documentation] ggxxrl: Year is listed as 200?, confirmed as
2003. (incog)
- 02973: [Crash/Freeze] chmplst2: Access Violation (Phil Bennett)
- 02964: [Sound] dingo: No Audio (Phil Bennett)
- 02965: [Crash/Freeze] gradius, gwarrior, rf2, twinbee: Bootup
process is never completed/No Sound (Phil Bennett)
- 02909: [Original Reference] boothill: Specification of discrete
filters for shot and hit sounds doesn't agree with schematic.
(Derrick Renaud)

Source Changes
Added built-in layouts for a large number of games: 280zzzap,
buggyboy, buggychl, cbombers, changela, chasehq, chqflag, contcirc,
dblaxle, finallap, grchamp, hotchase, lagunar, outrun, overdriv,
pdrift, polepos, radr, roundup5, sci, slipstrm, stocker, superchs,
topspeed, toutrun, turbotag, tx1, wecleman. [Mr. Do!]

Merged memory maps in nemesis.c. [Aaron Giles]

Scramble now is a lot closer to reports and recordings (background
sound, sound of bullets). [couriersud]

Fixed descriptions of the games running on NAOMI series hardware,
and NAOMI game list. [Yasuhiro Ogawa]

Input ports clean-up for the jangou driver. [Angelo Salese]

Finally low pass filtering on channel 2A in btime driver: [couriersud]
* Changed resistor to bill of material value
* Adjusted volume level and added more documentation

Fixed regression (missing graphics) in ipminvad (m10). [couriersud]

Added support for System 24 tilemap linescroll modes.
[Olivier Galibert]

Various improvements to Heavy Unit:
[Angelo Salese, Tomasz Slanina, David Haywood]
- Added a VERY preliminary simulation of the protection, just enough to get the game to boot, not make it playable
- Corrected CPU communication, IRQ/NMI generation etc.
- Fixed some video emulation issues (added tilemap scroll etc.)
- Corrected GFX rom loading (at least for the graphics used in attract mode)

Fixed King Derby sprite colors [Stefan Lindberg, Angelo Salese]

Merged tetrisp2 memory maps. Renamed teplus2->tetrisp2j. [Aaron Giles]

Merged labyrunr memory maps. [Phil Bennett]

Added GAME_IMPERFECT_GRAPHICS to Tutankham & clones. [couriersud]

Hooked up layer enables in goldstar.c driver, fixes 'girl' in Cherry
Master. [David Haywood]

Scaled up renegade and mjkjidai ADPCM levels in line with recent
clock_adpcm() change. [Phil Bennett]

Converted all drivers to the new device-based 6821 PIA. [Aaron Giles]

Added new function memory_install_read_port_handler() to more
easily allow you to install read handlers for ports based on tag.
[Aaron Giles]

Removed input_port_read_handler8/16/32/64 functions, since they
were really only used for getting a memory handler for a port by
tag, and this is no longer necessary. [Aaron Giles]

Moved input port handlers to internal code in the memory system.
[Aaron Giles]

Added port names to the taito8741 device pending its proper
devicification. [Aaron Giles]

Removed all remaining uses of input_port_n_r() functions, and
purged them from src/emu/machine/generic. [Aaron Giles]

Removed device types from device queries that use tags, under the
assumption that all device tags are unique. Specifically, the
following no longer need to provide a device type:


as well as several device interfaces that referenced other devices.
[Aaron Giles]

Moved SH2 set info functions to direct calls. [Aaron Giles]

Various improvements to the Zero Target / Counter Steer HW and
cleaned-up the driver. Fixed foreground & background colors and
hand-tuned sound in Zero Target based on a side-by-side test.
Fixed sprite colors. [Angelo Salese]

Fixed pedals in Final Lap 3. [Phil Bennett]

Hooked up correct C75 MCU in namcofl.c (based on RB's namconb1.c
implementation) [Phil Bennett]

Corrected Dip-Switch settings for Zero Target.
[Yasuhiro Ogawa, Angelo Salese]

maketms: Free strings on exit. [Olivier Galibert]

tms57002 - don't abort on unimplemented instructions.
[Olivier Galibert]

Changed eeprom erase command to write 0xff values.
[Pierpaolo Prazzoli]

Fixed handling of corrupt archives: [couriersud]
* corrupt files in archives now generate an error
* archive files ending in "/" will not be tested for crc - skip path entries
* add new flag FILE_OPEN_NO_PRELOAD to skip decompressing on open
This is used in audit.c, which only tests whether files exist
* added error checking to all calls to load_file_zipped

Added flags to the CHD metadata entries, encoded in the top bit. Right
now it is a no-op, but eventually will be used to indicate which bits
of metadata are included in the overall checksum. [Aaron Giles]

Fixed gcc 4.4 compilation error. [Belegdol]

Fixed auditing of ROM-less systems (for MESS). [Rene Reucher]

Another round of static/const qualifier additions, plus a rename of
has_addon_chip to snes_has_addon_chip. Notably a number of
z80ctc_interface are now const (devicification must have removed the
cases where it was dynamically modified). [Atari Ace]

Added the correct gfx roms to jjsquawkers bootleg. [David Haywood]

sfbonus version cleanups part 1. [David Haywood]

New games added or promoted from NOT_WORKING status
Great Sluggers 94 (Japan) [Phil Bennett]
Daisyarin [Yasuhiro Ogawa]
Mahjong Club [Yasuhiro Ogawa]

New clones added
Violence Fight (Japan)
Joker Poker (Version 16.03BI) [Jim Stolis] (not working)
Scud Race (Japan) [Leif Hurst] (not working)
Splatter House (World new version) [Andy Henderson]
New clones: T-MEK (3 sets) [Lars Bull]

New games marked as GAME_NOT_WORKING
Tokimeki Mahjong Paradise Doki Doki Hen [Uki]
E-Jan Sakurasou [Uki]


MAMETesters Bugs Fixed
- 02923: [Misc.] sonicbom: [debug] Writes extensively to the console
(Aaron Giles)
- 02930: [Compiling] cpu.mak typo and fix (emuman)
- 02825: [Crash/Freeze] crossbow: Crash on "Crossing Bridge" stage
(Aaron Giles)
- 02949: [Documentation] chocomk: Year is 2002 and the manufacturer is
Ecole Software. (incog)
- 02950: [Documentation] bestri: Year of release is 1998. (incog)
- 02958: [Documentation] magictg, magictga: The year is 1997 according
to flyer (incog)
- 02951: [Documentation] vgoalsoc, vgoalsca: The year is 1994. (incog)
- 02952: [Documentation] nss_sten: Year is shown on title screen as
1991. (incog)
- 02955: [Documentation] parentj: Year is 1989 according to the title
screen. (incog)
- 02939: [Documentation] gp98: Year and manufacturer are 1998, Romtec
Co. LTD according to the title screen. (incog)
- 02938: [Documentation] mblkjack: Black Jack (Mirco) is actually
Called 21 and the year is 1976. (incog)
- 02956: [Documentation] bigkong: Year is 1981 according to the title
screen. (incog)
- 02962: [Sound] All Sets in thepit.c: No Audio (Aaron Giles)
- 02954: [Crash/Freeze] sfiii: SFIII crashes when it hits the Capcom
logo on load. (David Haywood)
- 02944: [Crash/Freeze] mustangb, tdragonb: Access Violation
(Phil Bennett)
- 02946: [Crash/Freeze] pachifev: [debug] Assertion (Angelo Salese)
- 02947: [Crash/Freeze] turbosb6, turbosb7: [debug] Assertion
(Phil Bennett)
- 02927: [Crash/Freeze] Many Sets using segaic16.c: Crash/Freeze while
starting (Atari Ace)
- 02943: [Crash/Freeze] majxtal7, mjelct3, mjelct3a, mjelctrb,
mjelctrn, neruton : Unable to locate input port 'DSW2'
(Fabio Priuli)
- 01059: [Sound] brubber: Low pass filtering on engine and explosion
sounds is not emulated in MAME. (couriersud)
- 02935: [Crash/Freeze] All Sets in zn.c: Various Freeze/Hang/Reset
Issues (smf)
- 02920: [Crash/Freeze] tetrsark: devcb_resolve_read8 error
(Fabio Priuli)
- 02940: [Crash/Freeze] horshoes, plotting and clones: Game Hangs upon
startup (Fabio Priuli)
- 02937: [Sound] silkroad: Sound not playing. (Angelo Salese)
- 02212: [Save/Restore] bzone: vector drawing corruption when using a
save state (couriersud)
- 02931: [Sound] Many sets using YM2151 Sound Core: Distorted or
otherwise incorrect sound (Phil Bennett)
- 02921: [Crash/Freeze] bkraidj, bkraidu, bkraiduj: [debug]
Assertion (Phil Bennett)
- 02924: [Crash/Freeze] frogs: [debug] Assertion (Phil Bennett)
- 02929: [Sound] All sets using k007232.c Sound Core: Garbled Music
(Phil Bennett)
- 02928: [Sound] prehisle, gensitou: Many sound FX are missing
(Phil Bennett)
- 02922: [Crash/Freeze] Most sets in cave.c: Game Freeze during
demontration/Intro (Phil Bennett)

Source Changes
Fixed Pachi Fever ADPCM test regression. [Angelo Salese]

Added ATTR_NOTNULL to DAC sound calls. [Nathan Woods]

Decrypted new opcodes for Fire Barrel. [Chris Hardy]

Fixed regressed rowscroll effect for Fire Barrel [Angelo Salese]

Corrected gfx bitplane for Astro Wars [Angelo Salese]

Device-ized the SID code. [Nathan Woods]

Apache 3 improvements [Phil Bennett/Guru]:
* Experimental road layer emulation (currently disabled).
* Fixed text layer alignment.
* Corrected CPU clock frequencies.
* Fixed YM-2151 volume.
* Added road stripe PROM.

Removed earom from bzone. [couriersud]

Impemented CRCL command in hd63484 (used in skattv test mode).

Added save state support to tomcat, tempest, quantum, asteroid,
bwidow, mhavoc, omegrace. [couriersud]

Device-ified the Atari mathbox. [couriersud]

Device-ified the Atari vector generators. [couriersud]

Added register SXFER (0x05) to the 53c810 - Nothing more. This reg
determines SCSI transfer speeds. scud / scuda now fatalerror with
writes to reg # 0x70. [couriersud]

Added mtonic decryption. [Olivier Galibert]

Provided color prom to Cow Race [Tomasz Slanina, Angelo Salese]

Quick hack to delay installing the spu dma handler until the first
write to the spu as driver init is now called after the devices are
created. [smf]

Added discrete filtering and fixing to bking.c. [couriersud]

Added some missing robadv2 sets to sfbonus.c. [David Haywood]

Partially fixed asurabld/asurabus sound regression. [Phil Bennett]

XTAL and divisors for rocnrope verified in schematics. [couriersud]

Added a debug viewer for the blitter-based gfxs in the itgambl3.c.
[Angelo Salese]

Added a debug viewer for the blitter-based gfxs in the itgambl2.c.
[Angelo Salese]

Renamed a number of commonly-used but confusing device tags. The plan
is to move away from generic names like "main" to names that capture
the device type as well. This will allow searches for devices to be
based on tags alone. Added validity checks to prevent the continuance
of this pattern (which I started :), and to ensure that all devices
have unique tags, regardless of type. [Aaron Giles]

CPU/"main" -> "maincpu"
CPU/"audio" -> "audiocpu"
CPU/"sound" -> "soundcpu"
SCREEN/main -> "screen" (since it's the only one)
SPEAKER/"left" -> "lspeaker"
SPEAKER/"right" -> "rspeaker"
SCREEN/"left" -> "lscreen"
SCREEN/"right" -> "rscreen"
SCREEN/"middle" -> "mscreen"
SCREEN/"center" -> "cscreen"

Corrected rom names in tnzs.c for older TNZS sets. [Brian Troha]

Hooked up the reel background colour writes to cherry master / new
fruit bonus '96 etc. [David Haywood]

Fixed rom loading in secretab. [Angelo Salese]

Added BellFruit Scorpion 1, Bellfruit System 85, Maygay M1B and
Maygay M2 systems from AGEMAME. MPU4 Mechanical improvements have been
made, making mpu4.c the mechanical driver, and mpu4drvr the non-
mechanical one. This only leaves JPM impact (mechanical skeleton),
Maygay M2 and MPU3 (mechanical skeleton) to be ported from the
AGEMAME codebase. There's also been a cleanup sweep on Scorpion2, we
were declaring too many versions of the same function, and the reel
drawing code had stopped working. Both of these are now fixed.
[James Wallace]

Improved note about cherry master girl display [David Haywood]

M79-Ambush - Added Discrete sounds, fixed DIPs and added Self Test
Lamp Output. [Derrick Renaud]

Fixed oki frequency in galhustl. [Sonikos]

Optimized the rendering loop in mcatadv. [Christophe Jaillet]

Added missing static qualifiers to the code. [Atari Ace]

Added correct ROMs for Super Triv III. [Smitdogg]

Fixed mjelctrn DSW read handler to agree with new tags. [Fabio Priuli]

Added support for the /PC output pin to the CIA emulation. [Dirk Best]

New games added or promoted from NOT_WORKING status
Monoshiri Quiz Osyaberi Macha [Yasuhiro Ogawa]
Gals Panic S3 [Uki, David Haywood]
(see for details)
King Derby
[Stefan Lindberg, Andrew Gardner, Angelo Salese, Roberto Fresca]
Makaijan [Yasuhiro Ogawa]

New clones added
The Pit Boss (set 4) [Brian Troha]
Apache 3 (Kana Corporation license) [Guru]
Great Sluggers 94 (Japan) (not working) [Yasuhiro Ogawa]
Dangerous Dungeons (The Game Room) (newer?) [Smitdogg]
Automat (bootleg of Robocop)
[Andrew Welburn, Philip Bennett, David Haywood]
10's or Better [Gyrovision]
Super Heli (Super Cobra bootleg) [Smitdogg]
The New Zealand Story (World, old version, older pcb) [Corrado Tomaselli]
Pipe Dream (World) [Corrado Tomaselli]
U.S. Championship V'ball (US) [Smitdogg]

New games marked as GAME_NOT_WORKING
Gran Tesoro? [f205v]
Heavy Unit (3 sets) [Tomasz Slanina, Corrado Tomaselli]
Kung-Fu Roushi [Angelo Salese, Roberto Fresca]
Diamond Touch (E - 30-06-97, Local) [Heihachi_73]
Adonis (A - 25-05-98, NSW/ACT) [Heihachi_73]
Super Jolly [f205v]


WARNING: This build has a major change in it (sound chips are now
devices) that may lead to some unexpected errors or sound problems.
Please report any issues you find over at

MAMETesters Bugs Fixed
- 02893: [Crash/Freeze] Most sets in galdrvr.c: Crashes with devcb
dialog. (Aaron Giles)
- 02890: [Crash/Freeze] pitboss, pitbossa: Pit Boss and clone crashes
with devcb dialog (Roberto Fresca)
- 00754: [Sound] mikie: Background music problem in the locker room
level. (Nicola Salmoria)
- 02918: [Graphics] psychosj psychos: Title screen graphic glitch
(Nicola Salmoria)
- 02907: [Gameplay] spnchout, spnchotj: Time count on insert coin screen
runs out very quickly - Play buttons not working
(Nicola Salmoria)
- 02917: [Misc.] himesiki: Array index out of bound (Phil Bennett)
- 02895: [Color/Palette] macrossp: Wrong colors in "area clear" screen
(Angelo Salese)
- 02860: [Crash/Freeze] mach3, usvsthem: Error at the start (Aaron Giles)
- 00808: [Graphics] xsleena: There appears to be a small line of
graphics missing on a couple of characters.
- 02801: [Misc.] cafetime: Clock shows AM instead of PM (couriersud)
- 01785: [Misc.] mjmyornt and more: AM/PM is ignored when the clock time
is retrieved from RTC (couriersud)
- 02896: [Misc.] Drivers using MSM6242.h: MSM6242 ignores AM/PM bit
- 02897: [Sound] soldivid: Audio regression (Haze)

Source Changes
Fixed Casino 5 hang on the Horse Racing game [Angelo Salese]

Fixed compile quirk with Funcube2/4 [Angelo Salese]

Added minor additional information and OSC info to volfied driver.
Also added two BPROMs not included before. [Brian Troha]

Opcode accesses are now marked debugger_access. This is important
with the recent changes to automatically call the read handler if the
opcode base cannot be found. Changed logging for non-RAM opcode bases
so that it does not output in the case of debugger_access being set.
[Aaron Giles]

Fixed logic for deriving direct ranges so that it uses the non-
watchpoint-infected tables for its lookups. [Aaron Giles]

Changed memory_set_direct_region to pass the address returned from
the DIRECT_UPDATE_HANDLER back to the memory read function. [smf]

6850acia: Only adjust the rx/tx bit timers on a control write if the
divide ratios have changed. [Phil Bennett]

Added the ability to invoke CPU input lines with devcb callbacks.
Changed sp0256 to use devcb callbacks. Updated sauro driver to use
this new feature. [Nathan Woods]

Added PCB layout for Funcube and corrected rom names based on a hi-
res photo of the PCB. [Brian Troha]

Improve disassembly of R3000 code that uses the TLB or FPU.
[R. Belmont]

Added new game Number Dieci [Mirko Buffoni]
- Seems a IGS poker hack to comply with 2000's Italian law
- Sound synthesys have been replaced by OKIM Adpcm samples
- Some patched out routines have been recovered to allow test mode
dsw mapping
- Mapped Stelle e Cubi to this memory map, something shows but
graphic is from a bad dump

Added new game PK Tetris [Mirko Buffoni]
- Strange game with an amusement part (sort of Tetris mixed with
- Amuse input not mapped, may be necessary for the amusement part
which can be disabled via DSW

Fixed various issues with "Il Pagliaccio" driver: [Angelo Salese]
* Fixed rom source reading for the blitter;
* Properly use height/width params for the blitter;
* Hooked up the backup ram;
* Added basic inputs;
* Removed deprecat.h dependancy;

Moved over some of the AGEMAME drivers
[David Haywood, thanks to James Wallace / ageMAME]

Further fixes with "Il Pagliaccio" blitter: [Angelo Salese]
* Fixed Transparency pens;
* Fixed color pens for the charset;

Merged Strip Teaser and Il Pagliaccio driver, fixed the layer
clearance for both and added a preliminary MCU simulation for the
former. [Angelo Salese]

Relaxed 8 letter setname limitation for clone sets - this is designed
to make it easier to add simple suffixes to clone names without
truncating the original set name, it isn't designed to be abused and
used as an alternate description. [Olivier Galibert]

Made the 6522 VIA implementation use devcb. [Nathan Woods]

Changed 6526cia to use devcb. [Nathan Woods]

Added redumped sound CPU rom for Sega Water Ski. [Brian Troha]

Added original Super Poker 115IT [Mirko Buffoni]
* Added because 3 Super 8 have SUPER POKER 115IT string inside.
3Super8 may be a hack, strings are the same, but code is different
though still partially encrypted

Added "global column coloring" for Super Draw Poker, colors are now
100% accurate [Angelo Salese]

Fixed disassembler for CPUs with address bus shifts. [Aaron Giles]

TMS57002 preliminary implementation. [Olivier Galibert]

Added digital i/o board layout & initial information on the memory
card board to the Konami System 573 driver. [smf]

Added redumped non JEDEC roms to Rock 'n Rage (World).
[Corrado Tomaselli]

Added extensive readme doc to the Sega X Board driver. [Guru]

Decrypted a large number of games in goldstar.c and sfbonus.c.
[Olivier Galibert]

WIP mario update with some FIXMEs [Couriersud, Smitdogg]
- Created custom module for run sounds. Running the discrete sound
system at 480KHz was not really optimal.
- Reviewed parts list, schematics and pcb pictures
- Brought mario run sound in line with recordings from Smitdogg
- VCO voltage needs to be 0V for this to happen. Verification
- Capacitors needed some ageing applied as well. To be removed once
the VCO issue is clarified.

Refactored the ACIA6850 to use devcb. [Curt Coder]

Added a patch to Jackie driver, game now works [Mirko Buffoni]
* Added complete reel emulation (thanks to Luca, Angelo and David
drivers studied to better understand hardware similarities).
* Press T to toggle amuse game, used to mask gambling activities.

Added Champion League [Mirko Buffoni]
* Same encryption and patches used in Numero10, but on standard IGS
Poker V220I board
* Reworked expansion rom memory map handler

Added effect sound banking, coin counters and sprites - sprites
priority to silkroad. [Pierpaolo Prazzoli]

Made a bunch of improvements to the goldstar driver now that the sets
are decrypted. [David Haywood]

Revisited seibu decryption. [Nicola Salmoria]

Converted all sound chips into proper devices. Merged the sound chip
interface into the device interface, removing any differences (such
as the whole ALIASing concept). [Aaron Giles]

Modified every sound chip in the following ways: [Aaron Giles]
* updated to match the device interface
* reduced read/write handlers down to the minimal number
* added the use of get_safe_token() for ensuring correctness
* other minor cleanup

Removed the custom sound device. The additional work to just make
custom sound cases into full devices is minimal, so I just converted
them all over to be actual devices. [Aaron Giles]

Vastly simplified the sound interfaces, removing the ghastly
sndti_* business and moving everyone over to using tags for
sound identity. sndintrf, like cpuintrf, is now just a header
file with no implementation. [Aaron Giles]

Modified each and every driver that references a sound chip:
[Aaron Giles]
* all memory maps explicitly reference the targeted device via
* 16-bit and 32-bit accesses to 8-bit chips no longer use
trampoline functions but instead use the 8-bit AM_DEVREAD/WRITE
* all references to sound chips are now done via tags
* note that these changes are brute force, not optimal; in many
cases drivers should grab pointers to devices in MACHINE_START
and stash them away

Fixed a couple of dipswitches for Progress. [Brian Troha]

goldstar improvements: [Roberto Fresca]
- Full inputs & DIP switches from the scratch for schery97, schery97a
and skill98.
- Changed the sets description to match the program version.
- Cleaned-up the game driver zone for better organization purposes.
- Added GAME_NO_SOUND flag to schery97, schery97a and skill98.
- Added some program version notes.

Fixed a contact MAMEDEV message in cps1.c. [Nicola Salmoria]

Changed sfbonus to use tilemaps. [David Haywood]

Added sound and some scrolling registers to the sfbonus driver.
Added flipx and basic inputs to the sfbonus.c driver. [Angelo Salese]

Updated the wheelfir.c driver with some additional information.
[Brian Troha]

Correct rom names and PCB locations in the twincobr driver. Corrected
and added missing proms for Flying Shark (and clones).
[Brian Troha, Stefan Lindberg]

Merged brasil.c and highvdeo.c drivers [Angelo Salese]

Added basic support of RP5C01 to remove (most) protection kludges in
Super Punchout. [Nicola Salmoria, Bob Seidel]

Added correct Midnight Run ROM names [Guru]

Added Read Parameter Register support to the hd63484. Moved logging
behind a define. [Phil Bennett]

Added PCB layout for Zoar. Corrected AY-3-8910 clocks and added
missing PROM. [Guru]

More improvements to goldstar.c: [Roberto Fresca]
- Added 3 new machine drivers for the different Amcoe games hardware.
- Added OKI M6295 support for speech/sounds to schery97, schery97a,
skill98, pokonl97 and match98.
- Fixed sound support to nfb96, nfb96a, nfb96b, nfb96c, nfb96txt,
roypok96, roypok96a, roypok96b, nc96, nc96a, nc96b, nc96c,
nc96txt, nfb96se, nfb96sea, nfb96seb, carb2002 and carb2003.
- Full inputs & DIP switches from the scratch for pokonl97, match98,
nfb96, nfb96a, nfb96b, nfb96c, nfb96txt, roypok96, roypok96a,
roypok96b, nc96, nc96a, nc96b, nc96c, nc96txt, nfb96se, nfb96sea,
nfb96seb, carb2002 and carb2003. All these were promoted to
working state.
- Fixed size and position of tilemaps visible area to match98.
- More driver cleanups.

Cidelsa changes: [Curt Coder]
- Combined CDP1869 video and sound parts to one device
- Refactored CDP1852 to use devcb

Fixed input in hanaawas (note: for the second playere used mahjong
input like A,B,C....), also fixed yes/no button in hanaroku.

Changes safarir CPU to 8085A, the disassembly has 8085A-specific code
that an 8080 can't execute. [Luigi30]

Removed some unused code from deco_mlc.c. [Christophe Jaillet]

Added PALs and readme to midxunit.c. [Guru]

Properly added the PPI8255 devices to Pit Boss and reorganized the
inputs in these two games. [Angelo Salese]

Corrected memory map for gardiab and promoted it to working.
[Angelo Salese]

Added the ability for devices to have their own custom inline config
management. This was primarily added to allow for sound routes to be
supported in a way that is compatible with the current driver
structure. A device can now define a DEVICE_CUSTOM_CONFIG callback
which is called whenever one of the
MCONFIG_TOKEN_DEVICE_CONFIG_CUSTOM_* tokens is encountered. A special
token MCONFIG_TOKEN_DEVICE_CONFIG_CUSTOM_FREE is defined to clean up
memory allocated and/or reset the custom configuration, and is called
when the device is torn down to allow for memory cleanup.
[Aaron Giles]

Various improvements to Far West (Iron Horse bootleg) [Tomasz Slanina]

New games added or promoted from NOT_WORKING status
Monopoly [Phil Bennett]
Monopoly Classic [Phil Bennett]
Monopoly Deluxe [Phil Bennett]
Player's Edge Plus (XMP00024) Multi-Poker [Gyrovision]
Super Draw Poker [Angelo Salese]
Squash (Itisa) [Angelo Salese]
Age Of Heroes - Silkroad 2 (v0.63 - 2001/02/07) [Pierpaolo Prazzoli]
Fever Soccer [Nicola Salmoria, Angelo Salese]
Jackie [Mirko Buffoni]
TomCat (prototype) [Mariusz Wojcieszek]
Go 2000 [Angelo Salese]
Dakkochan House [Angelo Salese]
Skill Cherry '97 (two sets)
[Roberto Fresca, Olivier Galibert, David Haywood]
Skill '98 [Roberto Fresca, Olivier Galibert, David Haywood]
Poker Only '97 [Roberto Fresca, Olivier Galibert, David Haywood]
Match '98 [Roberto Fresca, Olivier Galibert, David Haywood]
New Fruit Bonus '96 Special Edition (5 sets)
[Roberto Fresca, Olivier Galibert, David Haywood]
Royal Poker '96 (3 sets)
[Roberto Fresca, Olivier Galibert, David Haywood]
New Cherry '96 Special Edition (5 sets)
[Roberto Fresca, Olivier Galibert, David Haywood]
New Fruit Bonus '96 Special Edition (bootleg, 3 sets)
[Roberto Fresca, Olivier Galibert, David Haywood]
Carriage Bonus 2003 (bootleg)
[Roberto Fresca, Olivier Galibert, David Haywood]

New clones added
Magic Card (set 3) [Chris Hardy]
Volfied (Japan, older) [Brian Troha]
Tecmo World Cup '90 (Euro set 2) [Tomasz Slanina]
Extermination (World) [Stefan Lindberg]
Pyschic 5 (set 2) [Dazzer]
Head Panic (15/06/1999) [Corrado Tomaselli] (not working)
Image Fight (revision A, Japan) [Arzeno Fabrice]
Skull Fang (World) [Mexa]
GTI Club (EAA) [Mexa]
Operation Thunder Hurricane (ver EAA) [Mexa]
Heavy Smash (Europe version -2) [Mexa]
Phoenix (Taito Japan Ver.) [Team Japump!!!]
Virtua Striker 3 (Cart) (USA, EXP, KOR, AUS) [Andrea Turci]
Raiden Fighters 2 (Japan set 2, SPI) [Corrado Tomaselli]
Master of Weapon (Japan) [Team Japump!!!]
Mahjong If...? (2 sets) [Uki]
Mahjong Shinkirou 2 [Uki]
Pit Boss (Set 3) [Brian Troha]
American Poker II (iamp2 v28) [Roberto Fresca]

New games marked as GAME_NOT_WORKING
Pachi Fever [Angelo Salese]
Sweet Hearts II (C - 07/09/95, Venezuela version) [Heihachi_73]
Margarita Magic (A - 07/07/2000) [Heihachi_73]
Ciclone [f205v, Mirko Buffoni]


MAMETesters Bugs Fixed
- 01017: [Sound] nslasher: The music stops at some points in the game
when fighting bosses and some points in level 2. (Mamesick)
- 02862: [Graphics] Many sets in taitosj.c: During the scroling the
lower part of the screen becomes black (Aaron Giles)
- 02860: [Crash/Freeze] mach3, usvsthem: Error at the start
(Aaron Giles)
- 02880: [Original Reference] stactics: Scratchpad RAM is too large
(currently 2 KB, should be 256 bytes with mirroring).
- 02843: [Original Reference] schaser, schasrcv, polaris: Only half
the color RAM is emulated. (chowell)
- 02884: [Original Reference] kopunch: CPU is specified as a 4 MHz
8080 when it should be a 4 MHz Z80. (Tomasz Slanina)
- 02888: [Graphics] All sets in megaplay.c: Large black box obscuring
game (Aaron Giles)
- 02827: [Compiling] 64-bit build fails (Phil Bennett)
- 02804: [Documentation] dkongf: In game information: year should be
2004, not 1981. (Fabio Priuli)
- 02803: [DIP/Input] dkongf: "5 Coins/1 Credit" coinage dipswitch is
freeplay. (Fabio Priuli)
- 02719: [DIP/Input] arkbloc2, arkgcbl, paddle2: you can't go to the
left (Fabio Priuli)
- 02697: [DIP/Input] hkagerou: Inputs apparently incorrectly mapped or
not mapped (Fabio Priuli)
- 02574: [DIP/Input] yumefuda: Game controls are not fully implemented
(Fabio Priuli)
- 02873: [Graphics] Many sets in system1.c: Missing text layer
(David Haywood)
- 02866: [Misc.] bublbobl and clones: Bubble Bobble vertical sync value
seems slightly off (Phil Bennett)
- 02792: [DIP/Input] Missing HARDDIP settings in 'STANDARD_DIPS' for
DIP's 4,5 and 6 ("COMM Setting") (Fabio Priuli)

Source Changes
Cleaned up and remapped Big 10 inputs. Updated the game notes. Added
other minor changes. [Roberto Fresca]

Improved the sound in Double Wings by appling the same handling of
Night Slashers (they are actually similar if not same memory map)
[Angelo Salese]

Fixed scrolling layer in Magic's 10 [Angelo Salese]

Added NO_DUMP for the H8/330 MCU for Magic's 10 2, Super Pool, Hot
Slot and Magic Colors. [Angelo Salese]

Several discrete sound refinements, mainly targeted at mario:

* Use formula derived from figures 2 and 3 in LS624 datasheet.
Coefficients were calculated using least square approximation.
This approach gives a bit better audible results compared to the
prior approach.

* Fixed energy calculation for LS624

* Use energy values as input for XOR. This seems to better reflect
the superimposition of the two signals. On the long term, both
LS629 and the XOR need to be converted into a custom module to
properly model mixing if the two frequencies are close to each

* Adjusted C41 to 60% for skid sound.

Fixed the remaining CPS3 sets that were left broken from the previous
half-done set renames. Also reworked the code a bit to make it harder
for somebody to break it in future (removed the config table & moved
keys to driver inits, define region sizes, allocate memory in init
for CD based games.) Should be no functional changes, although it
might be a fraction of a % faster due to there being less region
lookups. [David Haywood]

Added preliminary sound for the Aero Fighters bootlegs (aerfboot &
aerfboo2) [Angelo Salese]

Added some 'new fruit bonus '96' sets, unsure what they are.
[David Haywood]

Added a mess of sets marked as 'time dog' to the goldstar driver.
These seem to be mismatched, and some lack program roms. One set has
encrypted code, the other appears to have plain code. These will need
some tidy-up work. I've added them, because there is no doubt at
least one valid set in here but the dumps contain no useful info at
all. [David Haywood]

Preliminary protection hook-up for Sexy Gal/Sweet Gal [Angelo Salese]

Fixed colors, visible area and soft resets in the Magic Card 68k
version. Started to convert the Magic Card 68k version driver with
proper infos & added some basic video registers. It actually runs on
more or less modified Philips CD-i architecture. [Angelo Salese]

Imported Archimedes code from MESS. [R. Belmont]

Fixed foreground tilemap colors in Diamond Derby [Angelo Salese]

Added new module devcb, which can generically handle conversions
between device read/write functions and various other types of
functions. Introduced new structures and macros to make this possible:
[Aaron Giles]

To take advantage of this, a device must change its interface to
replace any read/write callbacks with the new devcb_read/write
structures. During device start time, the device then uses this new
devcb module to resolve the information in the devcb_read/write
structures into a more efficient form. When the device needs to call
one of the callbacks, it uses the inline devcb_call_read/write

Once a device has defined its callbacks as devcb_read/write
structures, users of the device must use the DEVCB_* macros to
specify the type and information about the handler to use:

DEVCB_NULL = no handler
DEVCB_HANDLER = a standard device read/write handler
DEVCB_MEMORY_HANDLER = a memory address space read/write handler
DEVCB_DEVICE_HANDLER = a device read/write handler for a different
DEVCB_INPUT_PORT = an input port

Converted the 8255PPI device to use this new structure, and updated all
users to use the DEVCB macros, removing some unnecessary trampoline
functions along the way. [Aaron Giles]

Added calculation for caps >= 100pf to buck rogers LS626 frequency
calculation. Formula was derived from figure 6 of LS624/628/629 &
625/626/627 datasheet. "BUCK ROGERS" is now centered and big ship
appears centered over br's ship. [couriersud, Guru]

Converted 6821new device to use devcb. Updated Williams drivers to
remove trampoline functions. [Nathan Woods]

Improvements to norautp.c driver: [Roberto Fresca]
- Merged GTI Poker (gtipoker.c) with this driver.
- Added new memory map and machine driver for gtipoker.
- Hooked 2x PPI 8255 to gtipoker.
- Hooked the video RAM access ports to gtipoker.
- Changed norautpn description from Noraut Poker (No Payout),
to Noraut Poker (bootleg), since the game has payout system.
- Some clean-ups.

Fixed encryption in Cabaret and added sound emulation [Mirko Buffoni]
- Moved to a separate driver
- Not fully playable, press reset to exit from pitfalls

Implemented a few more H8/3xx instructions, and added funcube to
seta2.c [Luca Elia]

Added a default backup ram for the jolyc980 set, to get it boot to
the end-user. [Angelo Salese]

New games added or promoted from NOT_WORKING status
Big 10 [Angelo Salese, Roberto Fresca, Tomasz Slanina]
Bottle 10 (italian, 2 sets) [Roberto Fresca]
Super Poker (v116IT) [Mirko Buffoni]
Casino Five [Mariusz Wojcieszek]
Big Apple Games [Mariusz Wojcieszek]
Funcube 2 [Luca Elia]
Funcube 4 [Luca Elia]

New clones added
Turbo Sub (prototype rev. TSC7) [Jay Gallagher]
Noboranka (Japan) (NOT WORKING, undumped 8751 MCU)
Battle Bakraid - Unlimited Version (U.S.A.) [Josh W.]
Armed Police Batrider (several versions) [Josh W.]
Mortal Kombat (prototype, rev 8.0 07/21/92) [Brian Troha]

New games marked as GAME_NOT_WORKING
Noraut Poker [Roberto Fresca, Angelo Salese]


MAMETesters Bugs Fixed
- 02810: [DIP/Input] hanaroku,hanaawas: Input keys are
inconsistent with other hanafuda games [Sonikos]
- 02852: [Known Issues/To-Do's] cloak and clones: Message "SLAVE
COM BAD" flashes before game startup (Phil Bennett)
- 02847: [Crash/Freeze] all cloak.c and midzeus.c sets: [debug]
Access Violation (Phil Bennett)
- 02842: [Graphics] logger: gfx issue (Aaron Giles)

Source Changes
Fixed compilation errors if HAS_SAMPLES is 0. [Nathan Woods]

Stop crash/assert when trying to decrease the debugger memory window
bytes per line to 0. [Phil Bennett]

Improved implementations for undocumented instructions 63, 67, 6f, 73,
77, 7b, 7f, 9c, 9e, ab, e3, e7, ef, f3, f7, fb, and ff in the n2a3
cpu core. [Wilbert Pol]

Force recalculation of screen parameters when only the MC6845 input
clock changes. [Wilbert Pol]

Seibu CRTC part 1: [Angelo Salese]
* Merged Sengoku Mahjong & Good e Jong video HWs
* Added correct scrolling functions for Sengoku Mahjong
* Removed some positioning kludges in both drivers

Fixed Sengoku Mahjong hopper error after first winning match.
[Angelo Salese]

Removed deprecat dependancy from Good e Jong, one irq wasn't needed
at all (points to a reti). [Angelo Salese]

Fixed cpu reset for upd78c06. [Wilbert Pol]

Added new #define ENDIANNESS_NATIVE, which maps to either
Unlink LSB_FIRST, ENDIANNESS_NATIVE always exists and can be used in
expressions without invoking the preprocessor. [Aaron Giles]

Added macro ENDIAN_VALUE_LE_BE() which selects one of two values based
on the endianness passed in. Also added NATIVE_ENDIAN_VALUE_LE_BE()
which calls ENDIAN_VALUE_LE_BE with ENDIANNESS_NATIVE. [Aaron Giles]

Updated a number of drivers and call sites to use these macros in
favor of #ifdef LSB_FIRST. [Aaron Giles]

Removed some stray ADDR2BYTE/BYTE2ADDR macros that have been replaced
by inline functions. [Aaron Giles]

DRC frontends must now do their own opcode fetching unfortunately.
Updated all DRC cores to do this. Also tweaked a few oddities in the
SH2 DRC. [Aaron Giles]

drw80pkr changes: [Jim Stolis]
- Added bankswitching to program memory
- Partial graphics support
- Partial sound support

Preliminary ADPCM hook-up to Jantotsu, it plays something but it's
not yet right. [Angelo Salese]

Removed redundant config parameter from SND_START. [Aaron Giles]

Fixed gfx regression with 18 Holes Pro Golf and added proper memory
map for the second cpu. [Angelo Salese]

Sound cores no longer allocate their own tokens. Instead they return
a new integer value indicating the size of token they want, and the
core allocates it for them. This mirrors the standard device behavior.
[Aaron Giles]

SRMP5 update [tsBTN0640]
- sound pitch is low with current st0016 driver.

Fixed Perfect Soldiers input (added missing button3) [a3SEybxT0]

Added missing key for sfiiij and sfiii2j [swzp1Dp/0]

Tidied up the micro3d driver and fixed sound. [Phil Bennett]

Increased Cloak & Dagger interleave quantum to eliminate 'SLAVE COM
BAD' startup message. [Phil Bennett]

Major cleanup to IGS poker games [Mirko Buffoni]
- Renamed csk driver to igspoker. This includes Champion Poker,
Champion Skill, New Champion Skill
- Converted drivers to tilemap system and unified video section
- Unified memory maps and checked all input ports
- Removed obsolete palette handlers and made use of generic handlers
- Added layout for lamps handling
- Added hopper simulation
- Added New Champion Skill (different set, maybe original
international release) and renamed current igs_ncs to igs_ncs2
(2000 version for italian market)
- Promoted igs_ncs2 to working state, but set GAME_IMPERFECT_GRAPHICS
(missing initial notice screen)
- Moved Jackie to a separate driver (it's a slot machine game)
- Made some progress on Jackie which now boots (toggle mode to play,
but work still needs to be done)

Virtual Combat and Shadow Fighters update. [Phil Bennett]
* Fixed framebuffer handling & screen parameters.
* Added sound.
* Corrected RAM sizes to match what is present on the PCBs.
* Hooked up NVRAM.

Fixed clamping to 12 bit range to Okim6376, and adjusted volume
attenuation accordingly. [Mirko Buffoni]

Fixed TMS5220 speech in Turbo Sub [Phil Bennett, Jay Gallagher]

adp improvements: [robiza]
- implemented p1 inputs in skattv and fashiong (service mode is

Defined ROM_LOAD64_WORD/ROM_LOAD64_WORD_SWAP in emu/romload.h.
[Phil Bennett]

cb2001: mapped two more opcodes. [robiza]

Fixed Soul Calibur (vs. Inferno) [4oj9/xJ+0]

Added custom 3-screen layout to Stepping Stage driver. [Naibo Zhang]

Changed yunsung8 oki xtal to 400khz, verified on pcb. Unfortunately
I couldn't verify the main xtal which was missing on my pcb.
[Corrado Tomaselli]

Restored previous cycle eating behavior in gstream. [Mamesick]

Changed device start routines to no longer return a status. Instead,
if a device needs to delay its initialization pending the startup
of another device, it must call the new function device_delay_init().
[Olivier Galibert]

New games added or promoted from NOT_WORKING status
Give us a Break (2 sets) [Phil Bennett]
Ten Up (2 sets) [Phil Bennett]
Himeshikibu (Japan) [Uki]
Super Othello [Tomasz Slanina]

New clones added
Cannon Ball (Yun Sung) (vertical) [David Haywood]
Sega Water Ski (Japan, Revision A) [Smitdogg Jones]
Raiden Fighters 2 (USA, SPI) [Arzeno Fabrice]
Stepping 3 Surperior [Naibo Zhang]


MAMETesters Bugs Fixed
- 02731: [Sound] various: List of games that have OKI6295 volume
messages appear. (Phil Bennett)
- 00976: [Crash/Freeze] vaportrx: Crashes during the results section
immediately after the race. (Aaron Giles)
- 02823: [Misc.] astorm, shdancer and clones: Error Messages
(Aaron Giles)
- 02824: [Save/Restore] deadlock when using -state with -mngwrite/
-aviwrite (Aaron Giles)
- 02820: [Graphics] sf2ue: Scrambled graphics in Street Fighter II
set: sf2ue (Phil Bennett)
- 02805: [Graphics] turbosub, turbosba: Dropped lines in video output
rendering (Phil Bennett)
- 02371: [Misc.] All Sets in namcos12.c: day, date, and year from the
RTC appear to be ignored. (R. Belmont)
- 02802: [Gameplay] parodius, parodisj: ram rom check fails
(R. Belmont)
- 02815: [Crash/Freeze] zaryavos: Game never reaches title screen.
(Angelo Salese)
- 02787: [Original Reference] nratechu: DIP switch settings from
manual. (Tafoid)

Source Changes
cb2001 improvements: [robiza]
- Decoded "gfx" rom region

Added a validity check to the 6526 CIA emulation. [Nathan Woods]

Added savestate support to the games in 8080bw.c, ace.c, actfancr.c,
aerofgt.c, airbustr.c, ajax.c and alpha68k.c: [MooglyGuy]
- sitv, sicv, sisv, sisv2, galxwars, galxwar2, galxwart, starw,
lrescue, mlander, lrescuem, grescue, dsterth, invadpt2, invaddlx,
cosmo, schaser, schasrcv, sflush, lupin3, polaris, polarisa,
ballbomb, indianbt, searthin, searthia, invadrmr, spaceatt,
spaceat2, sinvzen, sinvemag, tst_invd, alieninv, spceking, spcewars,
astropal, spacewr3, invaderl, invader4, jspecter, jspectr2,
cosmicmo, cosmicm2, superinv, invasion, darthvdr, moonbase,
invrvnge, invrvnga, spclaser, laser, spcewarl, rollingc, ozmawars,
ozmawar2, solfight, spaceph, yosakdon, yosakdoa, shuttlei, ace,
actfancr, actfanc1, actfancj, triothep, triothej, spinlbrk,
spinlbru, spinlbrj, pspikes, pspikesk, svolly91, pspikesb,
spikes91, pspikesc, karatblz, karatblu, karatblj, turbofrc,
aerofgt, aerofgtb, aerofgtc, sonicwi, aerfboot, aerfboo2, wbbc97,
airbustr, airbustj, airbusb, ajax, typhoon, ajaxj, sstingry, kyros,
kyrosj, jongbou, paddlema, timesold, timesol1, btlfield, btlfildb,
skysoldr, goldmedl, goldmeda, goldmedb, skyadvnt, skyadvnu,
skyadvnj, gangwars, gangwarb, sbasebal, tnexspce

Fixed multisession bug in the Jaguar implementation. [Nathan Woods]

Added savestate support to the games in ambush.c and ampoker2.c:
- ambush, ambushv, ambusht, ampoker2, ampkr2b1, ampkr2b2, ampkr2b3,
ampkr95, pkrdewin, videomat, sigmapkr, sigma2k

Added check to debug_cpu_set_dasm_override(), because callers do not
know if we are in debug mode or not. [Nathan Woods]

goldstar improvements: [Roberto Fresca]
- Added Kkuj Nol-i / Kkoj Noli (better romanization). It runs on a
reduced/modified version of lucky8 hardware.
- Added proper memory map, machine driver, PPI interfaces and inputs.
- Added placeholder for the 4 undumped cmast91's PLD's
- Removed the imperfect colors flag from lucky8 sets (colors look a
bit dark, but seems properly decoded).
- Added full inputs / DIP switches to the Cherry Master II sets.
- Started a tedious clean-up to all driver inputs.
- Added a new set based on Cherry Master V4. The game is supposed to
boot as a Tetris game (there are Tetris graphics inside), and can
be turned into Cherry Master (probably designed for countries
where gambling games are/were illegal). The game is booting into
Cherry Master and is working properly. Still flagged as
GAME_NOT_WORKING till can figure out how to switch games.
- Added notes about the Tetris/Cmaster game.
- fixed some default DIP switches.
- Splitted the cmaster gfxdecode to cover different sets.
- Created a new machine driver for sets without the extra bitmap.
- Renamed the old sets cm2v841 and cm2841a to cmasterb and cmasterc
respectively, since they are in fact different sets of Cherry
Master I (ver.1.01).
- Promoted cmasterb & cmasterc to working state. The last one was
flagged as GAME_IMPERFECT_GRAPHICS, since reels graphics have a
different decode, or simply are bad dumps.
- Reparented some sets.
- Switched to use pre-defined clocks (CPU, PSG, AY and OKI) for all
machine drivers.
- Changed all z80's CPU frequency to 3 MHz (Xtal/4).

Decoded the extra bitmap for Cherry Master I and V4 sets. Still
need to figure out how is called. [David Haywood]

Fixed sloppy rendering in CDP1869 that caused occasional crashes.
[Curt Coder]

Improvements to Cherry 10: [Roberto Fresca]
- Decrypted the program ROM.
- Bypassed the PIC protection.
- Hooked proper inputs & DIP switches.
- Promoted to working state.

Changes to peplus driver: [Jim Stolis]
- Added wingboard (5-n-1 daughterboard) support
- Added E16/E17 jumper support
- Sound clock changed to global
- Removed graphics layout and replaced with generic gfx_8x8x4_planar
- Increased palette lengths
- Adjusted incorrect ROM_REGION sizes
- Correct color prom length definitions

Renamed filetto.c to pcxt.c and made several improvements to the
driver [Angelo Salese]
* Merged tetriunk.c and filetto.c, and renamed tetriunk set to
* Fixed inputs & gameplay quirks in tetriskr,so it's now playable;
* Added preliminary external graphics emulation hook-up for the
backgrounds in tetriskr;
* Rearranged & cleaned up the palette initialization, now 0x000-0x1ff
offsets are for the char modes and 0x200-0x2ff are for the bitmap
* Fixed color attributes bits;
* Cleaned up and fixed colors in CGA bitmap mode for Filetto;

Fixed most graphic banking bugs & colors in the coinmaster driver.
[David Haywood]

Converted the CDP1802 cpu core to use a state table. [Curt Coder]

Cherry Master '91: [Roberto Fresca]
- Fixed memory map.
- Added proper PPI 8255 devices.
- Worked inputs / DIP switches from the scratch.
- Fixed reels tilemaps visible area.
- Fixed reels colors.
- Removed all the flags and promoted to working status.

Fixed 64-bit issue in the k053260 emulation. [R. Belmont]

Introduced a parallel 6821 PIA implementation, as a MAME device
(6821new.c). Ported the Williams drivers over to use this new PIA
implementation. [Nathan Woods]

Fixed clock used in Namco systems 12 & 23. [R. Belmont]

Added savestate support to the games in amspdwy.c, angelkds.c,
appoooh.c, aquarium.c, arabian.c, and arcadecl.c: [MooglyGuy]
- amspdwy, amspdwya, angelkds, spcpostn, appoooh, robowres, robowrb,
aquarium, arabian, arabiana, arcadecl, sparkz

Improved the rom loading in tenkai and clones. [Luca Elia]

Various improvements to the Jackpool driver [Angelo Salese]
* Added a second screen for some extra gfxs that are displayed on it;
* Fixed colors;
* Preliminary implementation of the transparency pens for the
graphics, might not be correct;
* Added inputs;
* Cleaned-up the driver;

Added save state support to the turbosub driver. [Phil Bennett]

Improvements to coinmastr.c driver: [David Haywood, Roberto Fresca]
- Added maximum intensity to the color decode.
- Switched pokeroul to use global memory map and eliminated the
redundant one.
- Eliminated the GAME_WRONG_COLORS flag to all games.
- Some clean-ups.

Added OKIM6376 emulation ADPCM Speech Synthesizer.
[Mirko Buffoni, Phil Bennett]

Added OKIM6376 sound emulation to High Video games [Mirko Buffoni]
* Removed GAME_NO_SOUND from newmcard, brasil and fashion
* Sound frequency may be incorrect

Major drawgfx cleanup, global removal, and feature enhancements:
[Aaron Giles]

- Added built-in dirty tile tracking to the gfx_element. This removes
the need for all drivers that had dynamically populated graphics
to do their own dirty tracking. Tiles are marked dirty via the
new function gfx_element_mark_dirty(). Any driver that needs
access to the decoded data must call gfx_element_get_data() in
order to ensure that the referenced tile is clean before

- In order to support dirty tracking, the gfx_element was enhanced to
keep track of the original source pointer, so that it can go back
and regenerate tiles on demand. For systems that set NULL for the
region in the gfxdecode, they must use gfx_element_set_source()
to specify a pointer to the raw data before drawing anything.

- Changed allocgfx() to gfx_element_alloc(), and added parameters to
specify the source data pointer, base color index, and total
colors. Many drivers had to whack these values in after the fact,
so this allowed for some minor additional cleanup.

- Added a dirtyseq member to the gfx_element struct. This is
incremented on each tile dirty, and can be used to sniff if
something has changed.

- Added logic in the tilemap engine to track which gfx_elements are
used for a given tilemap, and automatically detect changes to the
tiles so that drivers no longer have to explicitly invalidate the
tilemap when tiles change. In the future, this may grow smarter to
only invalidate the affected tiles, but for now it invalidates the
entire tilemap.

- Updated a number of drivers to remove their own dirty handling and
leverage the new internal dirty marking.

- Because the source data must always be present, updated the
atarigen zwackery and mystwarr graphics handing code to support

- Thanks to the dirty tracking, this actually allows all gfx decoding
to happen on the fly instead of all at once up front. Since there
was some concern that this would cause undesirable behavior due to
decoding lots of tiles on the fly, it is controlled with a
compile-time constant in mame.h (PREDECODE_GFX). Set this to 1 to
get the old behavior back.

- Moved decodechar() and decodegfx() to deprecat.h. All drivers in
MAME have been updated to simply mark tiles dirty and let the
rendering system decode them as needed, so these functions may go
away in the future.

- Rewrote entirely the rendering code in drawgfx. This code
previously used extensive recursive #includes and tricks to build,
and was very difficult to understand. The new code is based off of
a set of macros defined in drawgfxm.h. These new macros separate
the core rendering logic from the per-pixel operation, allowing
the operation to be easily "plugged" into any of the renderers.
These macros are also available to any driver that wants custom
rendering behavior that is similar to existing core behavior,
without needing to populate the core with esoteric one-off
rendering behaviors.

- Added a set of new functions for [p]drawgfx[zoom], one for each
transparency type. The old [p]drawgfx[zoom] functions are still
present, but now switch off the transparency type and call through
to one of these new transparency-specific functions. The old
functions are also now reduced to only supporting
other rendering types must use the new functions.

- All new rendering functions have extensive asserts to catch
improper clipping rectangles and other common errors.

- All new rendering functions automatically downgrade to optimized
versions where appropriate. For example, calling drawgfx_transpen
with an out-of-range pen automatically falls back to
drawgfx_opaque. And drawgfxzoom_* with xscale=yscale=1.0
automatically falls back to drawgfx_*. And many other examples.
In general, this relieves drivers from needing to make these
sorts of decisions.

- All new rendering functions have a consistent parameter order that
is a bit different from the existing functions. The cliprect
parameter is now specified immediately after the destination
bitmap, to match the convention used throughout the rest of the
system. The core parameters are followed by the scale parameters
(for the zoom functions), and then followed by the priority
parameters (for the pdrawgfx* functions), finally followed by any
PIXEL_OP*-specific parameters (such as transparent pen, alpha,
drawing tables, etc.)

- Removed drawgfx_alpha_cache, alpha_set_level(), and the inline
functions alpha_blend16() and alpha_blend32(). To render graphics
with alpha, use the new [p]drawgfx[zoom]_alpha functions, which
take an explicit alpha value. To render tilemaps with alpha, the
TILEMAP_DRAW_ALPHA option now takes an explicit alpha parameter.
And to do you own alpha blending, use the alpha_blend_r16() and
alpha_blend_r32() functions, which take an explicit alpha.

- Updated a number of drivers as a result of removing the implicit
alpha in the drawgfx_alpha_cache.

- Removed drawgfx_pen_table and TRANSPARENCY_PEN_TABLE. To achieve
the same effect, build your own table and pass it to
[p]drawgfx[zoom]_transtable, along with a pointer to the
machine->shadow_table to use for shadows. Eventually
machine->shadow_table is likely to go away, and drivers will need
to fetch the shadow table from the palette directly.

- Updated a number of drivers to remove use of drawgfx_pen_table.

- Removed TRANSPARENCY_ALPHARANGE; it was only used by the psikyosh
driver, so it is now moved locally into that driver and built
using the macros in drawgfxm.h.

- Removed TRANSPARENCY_PEN_RAW; to achieve the same effect, call the
new [p]drawgfx[zoom]_transpen_raw() functions. Updated drivers to
make this change.

- Removed the unused mdrawgfx* functions entirely.

- Added new function gfx_element_set_source_clip() to specify a
source clipping rectangle for any element. This replaces the nasty
hacks that were being used in bnstars, ms32, namcos86, and namcos1
to achieve similar behaviors.

- Added new function gfx_element_build_temporary() to safely build a
temporary gfx_element. Updated the drivers that did this to use
the new function.

- Simplified the copyrozbitmap() functions to match the copybitmap()
functions in having separate opaque and transparent versions. Also
removed the 'priority' parameter which was only used by one driver,
and moved that logic into a custom renderer built using macros in
drawgfxm.h. Updated copyrozbitmap* to use the destbitmap, cliprect
parameter ordering convention as well.

- Simplified the draw_scanline*() functions to always render opaque.
Only one driver was doing otherwise, and it now does its work
internally (draw_scanline is dead-simple ever since we moved
rotation to the OSD code; I almost just removed it entirely).

Added a cliprect to the bitmap_t type, which describes the full
bitmap. [Aaron Giles]

Removed tilemap_set_pen_data_offset; unfortunately, this adds a
random tile offset behind the scenes and goes against the dirty
tile detection and invalidation. Updated the mainsnk, snk, and
snk68 drivers to use old fashioned tile banking. [Aaron Giles]

Changed zac2650 gfxdecode to use scale factors. [Aaron Giles]

Added function video_assert_out_of_range_pixels() to help find
the source of invalid pixels (generally out-of-range palette
entries due to invalid data or sloppy calculations). Place this
after each step in your rendering in a debug build to discover
which code is generating improper pixels. [Aaron Giles]

COP400 cpu core refactoring: [Curt Coder]
- added state table for the debugger
- grouped all cpu types under a single makefile entry
- removed duplicate code

CDP1802 cpu core: [Curt Coder]
- improved register layout
- randomized register contents on initialization

Made the treatment of SOUND_xxx the same as that of CPU_xxx. That is,
they are function pointers to the SND_GET_INFO routine for the sound.
[Atari Ace]

Made direct (opcode) access more robust. Direct access now crawls the
memory table to find its ranges, and caches them for fast access in
the future. It invalidates intersecting regions when new ones are
installed, and now properly handles mirrored ranges. [Aaron Giles]

Changed the disassembly view to call the decrypted read routines
for each opcode byte/word instead of fetching from a pointer, which
prevented opcodes that crossed range boundaries from working correctly,
even though they would execute correctly. [Aaron Giles]

Improvements to skylncr.c driver. [Roberto Fresca]
- Hooked all the PPI 8255 devices.
- Reworked the inputs based on them.
- Fixed the reels visible area.
- Reorganized and cleaned-up the driver.
(only remains to split in driver + video)

Added ROM_DEFAULT_BIOS to diehard, critcrsh, and smleague.
[Aaron Giles]

Removed extraneous bitmap clear in the deco32 driver.
[Christophe Jaillet]

Added static/const where appropriate, updated out-of-sync header
files, and fixed some minor source confusion/abuse: [Atari Ace]
- arm7core.[ch],segas24.[ch]: Rewrote some abuses of the HANDLER
macros to use _func types instead.
- m37710: Removed some long dead state save functions.
- spc700: Removed the interface declarations and functions. Most of
it is handled by CPU_GET_INFO, some of it was no longer
implemented, and since pointerization it wasn't possible to call
it externally anyhow.
- segac2: removed the palette variables aliasing the megadrive ones
and just used the megadrive ones directly.
- snes: All the obc1_, DSP1_, DSP2_ exports were made static.

Added DIPs for Naratte Chu. Added DIP locations for all games in the
st0016 driver. [Tafoid]

Removed the sndindex parameter from SND_START, in favor of using the
device pointer or tag as appropriate. [Atari Ace]

Removed several useless occurrences of "#define INLINE" in CPU and
sound cores. [Dirk Best]

Hooked up the preliminary decryption code for Tarzan, but it is not
complete. [David Haywood]

Added digitalker speech emulation. [Olivier Galibert]

Added digitalker support to scorpion driver. [Olivier Galibert]

Cleaned up a bunch of unreachable bits of code. [Oliver Stoeneberg]

Fixed the 3rd graphics bank decode of cmast91. [David Haywood]

Pre-Seibu CRTC update: [Angelo Salese]
* Fixed gfx banking in goodejan/totmejan;
* Fixed vertical scrolling in Sengoku Mahjong (check title screen);
* Made some clean-ups in either drivers;

Updated OKIM6295 volume table to reflect actual chip behaviour.
Removed "contact MAMEDEV" message. [Phil Bennett]

Virtual Combat driver improvements: [Jason Eckhardt, Andrew Gardner]
* Graphics decoded, video improved, inputs mapped.

Intel i860 CPU core added. [Jason Eckhardt]

Reorganized and simplified the megasys1.c inputs. [Sonikos]

New games added or promoted from NOT_WORKING status
Lady Liner [Roberto Fresca]
Kkoj Noli (Kill the Bees) [Roberto Fresca]
Cherry 10 (bootleg with PIC16F84)
[Roberto Fresca, Andreas Naive, David Haywood]
Player's Edge Plus (XMP00017) 5-in-1 Wingboard [Jim Stolis]
Tetris (bootleg of Mirrorsoft PC-XT Tetris version) [Angelo Salese]
Cherry Master '91 (ver.1.30) [Roberto Fresca]
Cherry Master (ver.4, set 2) [Roberto Fresca, Angelo Salese]
Cherry Master I (ver.1.01, set 2) [Roberto Fresca]
Cherry Master I (ver.1.01, set 3) [Roberto Fresca]
Mahjong Tenkaigen (3 sets) [Wei Mingzhi, Luca Elia]
Tour 4000 [Mirko Buffoni]
Casino Fever 4.0 [Mirko Buffoni]
Casino Fever 5.0 [Mirko Buffoni]
Tour 4010 [Mirko Buffoni]
Casino Fever 5.1 [Mirko Buffoni]
Casino Fever 6.1 [Mirko Buffoni]
Casino Fever 1k [Mirko Buffoni]
GiroTutto [Mirko Buffoni]
Trivia Hangup [Mariusz Wojcieszek]
Sure Shot [Mariusz Wojcieszek, ranger_lennier]

New clones added
Hit the Ice (Japan) [Phil Bennett]
New clones: Salamander 2 (ver AAB) [Corrado Tomaselli]

New games marked as GAME_NOT_WORKING
Skill Cherry '98 [David Haywood]
Skill Cherry '97 [David Haywood]
Skill Fruit Bonus [David Haywood]
86 Lions [Chris Hardy, Angelo Salese, Roberto Fresca]
Lucky Girl [David Haywood]
Poker Roulette
[Chris Hardy, Angelo Salese, Roberto Fresca, David Haywood]
Magical Tonic [Roberto Fresca]
3 Super 8 (Italy) [David Haywood]
New Champion Skill (v100n) [David Haywood]
Buster [David Haywood]
Unknown ACE Fruits Game [David Haywood]
Spiel Bude (German) [David Haywood, Roberto Fresca]