MAMETesters Bugs Fixed
headon0117u2ora [Aaron Giles]
numpadremap0117u2gra [Aaron Giles]
joystick0117u2gra [Aaron Giles]
NewUI0117u2ora [Aaron Giles]
mtrap0117u2ora [Aaron Giles]
verifyroms0117u2ora [Aaron Giles]

Source Changes
Added some more setup code for the Naomi driver. [R. Belmont]

Improved DIP switches in powerins driver. [BisonSAS]

Added some basic cdrom switching to the system 573 driver. Hooked it
up for best of cool dancers to work and the Club versions. Added
DIP locations. Moved fake switches to the configuration menu. [smf]

Added preliminary video hw emulation and sound support to the
2 Minute Drill driver. [Tomasz Slanina]

Added an optional vsync callback to the TIA emulation to allow a
driver to dynamically change the screen configuration. [Wilbert Pol]

Cleaned up redundant function names. [Atari Ace]

Changed CreateWindowEx() call to be win_create_window_ex_utf8(),
removing the need for a string conversion. [Nathan Woods]

Fixed running the konamigx BIOS on its own do what it should:
display a scrolling marquee telling the operator to attach
a ROM board. [Alex Jackson]

Added new debugger commands for hardreset and softreset.
[Nathan Woods]

Added built-in support for 14-segment and 16-segment LEDs with
comma/period additions. Split vacfdisp into component specific
drivers. The system now supports the Rockwell 10937 (aka MSC1937)
and 10957, as well as the BD1. All relevant drivers have been
updated with the new code, and new layouts have been prepared.
[James Wallace]

Fixed a few more 64-bit build errors. [Aaron Giles]

Separated build tools from general tools. Build tools are now located
in the build/ subdirectory. [Aaron Giles]

Added new general library module astring.c, which supports allocated
strings of arbitrary length and a number of basic functions on them.
[Aaron Giles]

Replaced assemble_x_strings() functions with the astring equivalents.
Updated code in several places to use astrings where appropriate.
[Aaron Giles]

Added new tool src2html which is used to convert the MAME source tree
to HTML format with linked include files and color coded keywords
and comments. [Aaron Giles]

Converted the memory pool code to a more generic resource pool.
Changed internal MAME tracking of timers and save state registrations
over to using the new system. [Aaron Giles]

Removed underscores from some keycode token names. Thus,
KEYCODE_0_PAD now becomes KEYCODE_0PAD. This is to prevent confusion
when parsing multiple keyboard items. Due to this change, also removed
imperfect backward compatibility with older configs; some mappings
will still work, but some won't. Note that this change will also
break some existing ctrlr files; new ones will be provided.
[Aaron Giles]

Did some cleanup of the tilemap interfaces. Changed tilemap type
constants to be an enum prefixed by TILEMAP_TYPE_* instead of simply
TILEMAP_*. Removed unused members from the tile_info structure.
[Aaron Giles]

New clones added
Cross Blades! (Japan) [Stefan Lindberg]
Shadow Force (Japan Version 2) [Stefan Lindberg]
Dig Dug (Sidam bootleg) [David Haywood]
Dance Dance Revolution Best of Cool Dancers [smf]

New games marked as GAME_NOT_WORKING
Astron Belt [Andrew Gardner]
Cobra Command (Sega LaserDisc Hardware) [Andrew Gardner]
Galaxy Ranger [Andrew Gardner]
Star Blazer [Andrew Gardner]


Source Changes
Changed INI parsing so that mame.ini is parsed twice, picking up
changes to the inipath. [Aaron Giles]

Fixed bug in options handling introduced with recent changes.
[Nathan Woods]

Fixed macros in stvcd.c to work with C89 compilers. [Mike Haaland]

Fixed some more 64-bit warnings and unused functions.
[Oliver Stoneberg]

Fixed DIP switch "Difficulty" in fstarfrc. Also added DIP locations
to the tecmo16 driver. [BisonSAS]

Simplified the nemesis video driver code. [Atari Ace]

Modularized the TMS5220 code. [Lord Nightmare]

Fixed issues with recent R-Type ROMset. [Brian Troha]

Fixed a number of issues in the HD6309 core. [Darren Atkinson]

Sync with AGEMAME: [James Wallace]
* removed the 'lamps.c' module from the source tree
* cleaned up names in the BFM BD1 driver
* moved VFD drawing functions out of the video update
* overhauled the sound system in the MPU4 driver

Changed windows builds so that all tools use the utf8_main entry
point consistently. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Dancing Stage Euro Mix 2 [smf]

New clones added
Maximum Force (No Gore version) [Brian Troha]


MAMETesters Bugs Fixed
boogwing0118yel [Aaron Giles]

Source Changes
Fixed behavior of auto_realloc() so that it always reallocs from its
original pool. [Atari Ace]

Fixed divide-by-zero when running with -video none in some cases.
[Atari Ace]

ARM7 core fixes: [R. Belmont, Ryan Holtz]
- Fixed behavior when R15 is the source of a MOV
- Fixed flags calc for ADC/SBC
- Fixed flags calc for NEG
- Fixed flags calc for CMP
- Fixed time running backwards on Thumb instructions
- Fixed some ARM instructions doing indiscriminate change_pc()s

Fixed converting CD's containing audio that were ripped by cdrdao,
which was broken recently. The code is cleaner and more maintainable
now. [smf]

Fixed chdman_open() "w" to always create/truncate the file, leaving
"r+" to try opening first and then truncating. This matches behavior
in the core. [smf]

Added missing port 3/4 to M6803 cpu core. [Curt Coder]

Changed 6850ACIA to use MSB/LSB read handlers. [Curt Coder]

Fixed two minor bugs in the COP400 CPU disassembler. Hooked up the
internal 64 bytes of DATA RAM to the core. [Andrew Gardner]

Added support in the debugger for reading/writing memory without
translation. [Olivier Galibert]

MSM6242 updates: [Ernesto Corvi]
- Added support for 12/24 hour mode
- Added support for the HOLD bit

Galaxian driver updates: [stephh]
- fixed 'spcdraga' GFX ROMS loading
- 100% verified Dip Switches for all sets
- added long notes for all sets

Significantly revamped the tilemap rendering code. There are now only
two tilemap types, based on whether or not you want transparency
based on pen or color. All existing tilemap effects are built on top
of these two modes. The internal tilemap handling code has been
reorganized and simplified in a number of cases. For most games, this
change is transparent (har har), apart from the change in tilemap
type values. Several concepts within the tilemap system now have
different terminology for clarity and to remove some ambiguous naming
('priority', for example, was overloaded). A small tutorial and better
documentation is now present at the top of tilemap.h and provides
more details of the changes. [Aaron Giles]

New games marked as GAME_NOT_WORKING
Mahjong Almond Pinky [BET] (Roberto Fresca)
Jack Potten's Poker (bootleg 2) (Roberto Fresca)


NOTE: If you are experiencing sound stuttering due to not being able
to run your display at >60Hz, please give the -speed option a try.
You should be able to run MAME at a small emulation speed decrease
in order to get the game under your monitor's refresh rate.

MAMETesters Bugs Fixed
boogwing0118yel [Aaron Giles]
starblad0113u3red [Atari Ace]
mgakuen0106u1red [Atari Ace]

Source Changes
Fixed recently introduced regression in nemesis driver. [Atari Ace]

Improved fixes to the chdman CD creating code. [smf]

Updated amspdwy.c driver to fix the DIP Switches for 'amspdwy' which
are slightly different than the ones for 'amspdwya' which were
correct. [stephh]

Fixed HP Saturn CPU core disassembler. [Wilbert Pol]

Fixed clock speed and colors in Trivia Genius. [Lord Nightmare]

Cleaned up Taito drivers to use common defines for common input
ports across drivers. [stephh]

Removed redundant hard-coded definitions for Pole Position pedals.
[Alex Jackson]

Improved DIP switches for bombjack. [stephh]

Changed default layouts in BFM games to hide VFD by default since it
is not visible. [James Wallace]

Further improvements to the TMS5220 emulation and more unification
with the TMS5110 core. [Lord Nightmare]

Changed INI parsing to look for source file INIs in <inipath>/source
first. This is to disambiguate INIs where the game name matches the
source filename. If the INI file is not found in <inipath>/source,
then it is looked for in the <inipath> as before. [Aaron Giles]

Merged Raiden memory maps. Cleaned up the COP emulation code in
Raiden 2. [Aaron Giles]

Added new experimental control for overall emulation speed. This
lets you specify how fast/slow the gameplay should happen relative to
the original. -speed 1.0 means run at normal speed. -speed 2.0 means
run at 2x speed. -speed 0.5 means run at half speed. Note that the
sound pitch is shifted as a result. If you are running early Namco
games that normally run at 60.60Hz, you can run them at -speed 0.99
and it should run at under 60Hz, which should prevent sound stuttering
if your monitor is not capable of greater than 60Hz refresh rates.
If this turns out to be useful, future versions may support a
-speed refresh parameter that automatically tweaks the speed to keep
you under your monitor's refresh rate. [Aaron Giles]

Fixed disassembly of V30 bit instructions. [Aaron Giles]

New games added or promoted from NOT_WORKING status
El Grande - 5 Card Draw [Roberto Fresca]

New clones added
Kickman [Aaron Giles]
Trivia ? Whiz (Edition 3 - Vertical) [Pierpaolo Prazzoli]

New games marked as GAME_NOT_WORKING
Big Apple Games [Pierpaolo Prazzoli]
Thayer's Quest [Andrew Gardner]


MAMETesters Bugs Fixed
qbert0118u2gra [Aaron Giles]
zoom909_0118u2ora [Aaron Giles]

Source Changes
Updated dacholer.c driver with now all known Dip Switches. [stephh]

Changed MDRV_VBLANK_DURATION macro to accept subseconds directly
instead of converting from double. Added new macro USEC_TO_SUBSECONDS
to assist in this. Converted all drivers over to using it.
[Atari Ace]

Improved/fixed validation of memory maps to match current logic in
memory.c. Fixed a few problems that were identified this way.
Also removed construct_map_0 and isolated map construction to a
single function. [Atari Ace]

Added new AM_READ_PORT() macro which lets you define an input port
read callback based on a port tag. This is now preferred over the
previous technique of calling port_tag_to_handler() within an
AM_READ() macro. Updated all drivers that were using the latter
pattern to the new system. [Atari Ace]

Fixed subtle monymony regression from 0.36b10(!) [Atari Ace]

Fixed F8 CPU core to not clobbert the irq_callback on a reset.
[Wilbert Pol]

Amiga system updates: [Ernesto Corvi]
- Implemented the ECS-only BLTSIZV and BLTSIZH custom registers,
    and modified BLTSIZE and the blitter to use them.
- Properly implemented the bit in VPOSR that indicates if we're
    running on a PAL or NTSC Amiga.
- Fixed the PAL clock on the Pictomatic driver in alg.c

Added counter emulation to the COP420 CPU core. Hooked it up to
Thayer's Quest and added an alternate set. [Andrew Gardner]

Added missing PROMs to the Status Trivia driver. [Brian Troha]

Cleaned up several Taito drivers (opwolf.c, othunder.c, topspeed.c,
warriorb.c, wgp.c, rastan.c, rainbow.c, volfied.c) to use common
input port macros. Fixed the Dip Switches for all games (a few still
remain unknown though) and added many notes. Also fixed a couple of
things which were wrong in ninjaw.c driver. Improved the C-chip
emulation for "Operation Wolf" and its clones so it can now handle
multiple coinage settings. [stephh]

Improved the MCU simulation for aladbl so now the game handles coins
correctly. Fixed the Inputs to match an arcade cabinet and added
Dip Switches according to the game M68000 code. [stephh]

Added build tool to extract version information and add it to the
Windows version resource. [Nathan Woods]

Added a fairly complete WD33C93 SCSI controller emulation, and also
updated the cps3.c driver to use it. [Ernesto Corvi]

Hooked up lamps in Chase HQ. [R. Belmont, couriersud]

Changed NEC V30 CPU core to use a 16-bit data bus. Updated affected
drivers: raiden, raiden2, m72, m90, m92, m107, segas32, hng64,
deadang, dynduke, sengokmj, shanghai, lockon, tatsumi, fantland,
twins, gunpey, ttchamp. Separated V-series disassembler from the
i386 disassembler and updated it to use proper register and
opcode terminology. [Aaron Giles, Philip Bennett, Pierpaolo Prazzoli]

Changed I8086 CPU core to use a 16-bit data bus. Updated affected
drivers: gottlieb, leland, tx1, fantland, tetriunk. Cleaned up
naming of CPUs (i86 -> i8086, etc.) [Aaron Giles]

Added 16-bit handlers to a number of the shared PC components.
[Nathan Woods]

Consolidated common code between drc and non-drc MIPS cores.
[Aaron Giles]

New games added or promoted from NOT_WORKING status
Aladdin (bootleg of Japanese Megadrive version) [stephh]

New clones added
Raiden Fighters (Italy) [Corrado Tomaselli]


Source Changes
Converted the inputs in galaga.c to tags, using INCLUDE/MODIFY for
clones, and fixing the conditional extra lives dips in xevious and
digdug (bosco and galaga still need doing). Also added much more
information on the digdug sets, thanks to some excellent work by
stephh. [Alex Jackson]

Fixed sound chip frequency in the superdq driver. [Jim Hernandez]

chdman improvements: [smf]
* Fixed toc parsing to allow spaces and quotes in file names
* Supports "offset start length" track syntax that cdrdao creates
    if you don't read subcode
* Tracks are always padded with zeros & not whatever data happens
    to follow
* Moved cdrom_track_input_info out of src/lib/util/cdrom.h and
    into src/tools/chdcd.h
* Added audio byte swapping support

Fixed DIP switches for Oscar (Japan Revision 0). [Corrado Tomaselli]

Added DIP locations to the aerofgt driver. [Fabio Priuli]

Amiga updates: [Erneso Corvi]
- Implemented ECS-Only BLTCON0L register
- Modified the amiga_interface structure to add a nmi callback and
    a flags variable.
- Added AGA chipmem mask definition
- Added 32 bit data bus support to chipram. It's automatically used
    if the chipset is AGA.
- Added clock chip constants in machine/amiga.h for 68k PAL and NTSC,
    and 68EC00 NTSC. Updates drivers to use those constants.
- Added convenience macros to determine wether we're running with an
    ECS chipset, AGA chipset, or 'ECS or AGA chipset'.
- Changed autoconfig reads to return 0x0000 instead of 0xffff.
- Fixed MSB value timer reads on the 8520 cia. We were previously only
    updating the count for the timer when the LSB value was read.
- Added basic Akiko emulation to the cubocd32 driver. Both the Chunky
    to Planar converter, and the I2C NVRAM should be fully implemented,
    however, the CDROM functionality is not complete. It's only enough
    to make the kickstart pass the Akiko checks.

Taito input ports cleanup, continued: [stephh]
- Updated includes/taitoipt.h with macros for games with only 1 button
- Converted the following drivers and added more documentation, fixing
    incorrect inputs and DIP switches along the way: taitoair.c,
    taito_h.c, taito_x.c
- Slightly changed the C-Chip emulation for 'superman' to behave in a
    similar way as other Taito games
- Corrected some notes in some other Taito drivers

Changed verinfo code to parse the version.c file instead of relying
on linking against version.o. This appears to fix the link ordering
problem and also prevents it from being constantly regenerated on
each build. [Aaron Giles]

Significantly improved the i386 disassembler. Changed it so that it
no longer outputs 'byte ptr' except for ambiguous cases. Updated for
full 64-bit disassembly support. Added support for the full IA32
opcode matrix as specified by recent Intel manuals, including all
SSE opcodes and variants. [Aaron Giles]

Updated the x86 drc helper code to support externally-allocated cache.
Also added support for allocating data structures out of the cache.
Modified initialization so that it does not immediately generate code
but rather waits for a reset to do that. Fixed code generation bug
when generating [reg*scale] modrm forms. [Aaron Giles]

Added new functions to the memory system to support CPU cores
explicitly specifying the access mask on 32-bit and 64-bit data bus
systems. This enables the MIPS core to handle SWL/SWR and SDL/SDR
without a read/modify/write cycle. Updated the C and DRC MIPS cores
to use this new mechanism. [Aaron Giles]

Added new module x86emit.h which supports dynamic code generation for
both x86 and x64 systems. This new system is a far more complete
solution, though not all opcodes are defined yet. The interface for
this is also cleaner than the previous one defined in x86drc.h.
Existing DRC cores are still using the old interface, but the new one
is preferred for new development. [Aaron Giles]

Fixed recently introduced bug in the mips3 core that caused the C
core to launch off into nowhere after the first instruction.
[Aaron Giles]

New clones added
Undercover Cops (Alpha Renewal Version) [Guru]
Final Fight (US) [Corrado Tomaselli]

New games marked as GAME_NOT_WORKING
Interstellar Laser Fantasy [Andrew Gardner]


MAMETesters Bugs Fixed
mappyc0118u1red [Aaron Giles]
mappy0116u2gre [Aaron Giles]
namcona1c057red [Atari Ace]
9ballsh3097red [Atari Ace]

Source Changes
Updated memconv.h to convert from basically any to any widths
(8/16/32/64), on both little and big endian. Also added macros to
create the stubs for the most commonly used mappings, both in the
1:1 fashion, or the LSB/MSB/LSW/MSW style. [Ernesto Corvi]

CuboCD32/Amiga updates: [Ernesto Corvi]
- Finished implementing the CDROM controller, so now the games boot
- Moved the entire Akiko code to machine/cubocd32.c to make things
    a little more easier to work with
- Added CDDA audio support to the CDROM controller and driver
- Systems with the AGA chipset no longer connect bit 0 of the CIA
    that was previously connected to the Overlay pin not connected
- Made BLTDDAT return it's value. This is a readable register which
    we were not handling.
- Initialized the SERDATR register upon reset to reflect that the
    transfer buffer/shift reg is empty.

Added support for the PowerPC 601. [Ville Linde]

Fixed missing PLD region in -listxml. [MASH]

Changed all comparison for CPU and sound chip types to compare
against CPU_DUMMY or SOUND_DUMMY instead of 0. Also updated usages
of sndti_to_sndnum() so that they use sndti_exists() where appropriate.
[Atari Ace]

Removed CHD interface structure. CHDs now rely on the corefile
routines to perform file I/O. Updated the rest of the system to
handle this reality. A side-effect is that "split" CHDs, which never
got much play, have now been deprecated. [Nathan Woods]

Added new core library utility module palette.c for managing palettes.
Renamed emulator-specific palette code to emupal.c and restructured
to live on top of the core library code. [Aaron Giles]

Added support for attaching palettes to bitmaps in the core. Removed
support for the 16-pixel bitmap "safety" zone by default, since most
drivers do not need it. Added new function bitmap_alloc_slop() which
supports creating bitmaps with caller-specified slop values.
[Aaron Giles]

Removed the gfx_element.colortable element and replaced it with a new
element color_base which specifies the global color offset. This
breaks an awkward dependency between the palette and graphics code,
and removes a lot of odd pointer arithmetic in the system.
[Aaron Giles]

Tagged Machine->pens, Machine->colortable, and
Machine->remapped_colortable as const to prevent their abuse. Fixed
several abusing drivers, and tagged the remainder for future
cleanup. [Aaron Giles]

Added new colortable management functions in emupal.c. These functions
can be used to manage a colortable on top of the core palette in
cases where TRANSPARENCY_COLOR is currently used (essentially mapping
to a pen mask for TRANSPARENCY_PENS). Updated pacman, mappy, toypop,
and several other drivers to use the new functions. [Aaron Giles]

Vastly simplified the rendering code in docastle. [Aaron Giles]

Fixed remaining errors and warnings when building under gcc 4.2.1.
[Aaron Giles]

Added new function render_target_set_max_update_rate() which allows
the OSD layer to inform MAME of the target's refresh rate (or 0 if
there is no maximum). This is used to allow for the dynamic speed
adjustment parameter below. [Aaron Giles]

Added new parameter -refreshspeed (-rs for short) which dynamically
adjusts the -speed parameter to keep the effective refresh rate below
that of the lowest screen refresh rate. [Aaron Giles]

Added more opcode emitters to x86emit.h. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Last Fighting [Luca Elia]
Bishou Jan [Luca Elia]
Almond Pinky [Luca Elia]
Mahjong Cafe Time [Luca Elia]
Mahjong Comic Gekijou Vol.1 [Luca Elia]
Super Eagle Shot [Tomasz Slanina, pSXAuthor]
Date Quiz Go Go Episode 2 [Pierpaolo Prazzoli]
Dancing Stage featuring Dreams Come True [smf]

New clones added
X-Men: Children of the Atom (Japan 941222) [Nicola Salmoria]
Quintoon (UK, Game Card 95-750-206) [James Wallace]

New games marked as GAME_NOT_WORKING
Super Real Mahjong Part 1 [Luca Elia]
Dance Dance Revolution Extreme [smf]


MAMETesters Bugs Fixed
cave0118u5red [Aaron Giles]
radikalb0118u5red [Aaron Giles]
chdrewrite0118u5red [smf]
pacland0118u5yel [Aaron Giles]
sspaceat0118u1red [Aaron Giles]
yamato0118u5red [Aaron Giles]
ym2203_0118u1yel [Aaron Giles]
profiler0116u2yel (maybe) [Aaron Giles]

Source Changes
Updated TMS5220 core to use shifts instead of divides for the
parameter interpolation. Also added support for internal clamping to
8-bit output when using the internal DAC. [Lord Nightmare]

Fixed regression that caused CHD games to crash if the CHD was not
present. Also fixed change that required write access to CHDs. [smf]

Fixed CHD search paths again so that they look in parent
subdirectories. [Aaron Giles]

Fixed security cassette contents to get Guitar Freaks 3rd Mix
(GE949 VER. JAB) in game. [smf]

Exposed core_vfprintf(), and implemented mame_vfprintf() in terms of
that call. [Nathan Woods]

Some improvements to the Wheels + Fire driver. Still not right.
[David Haywood]

Added SCSIOP_GET_INQUIRY_BUFFER to scsicd & scsihd. [smf]

MB86233 core changes: [ElSemi]
* fixed a double move opcode
* added a previously unknown double move opcode

Changed the way MAME handles options internally. Changed
mame_options_init() to return a core_options object, which is now
passed into mame_execute(). Moved mame_options() to mame.c, which is
now only valid while the emulation is running. Audit functions now
take a core_options parameter. [Nathan Woods]

More HD6309 fixes: [Tim Lindner]
* the SEXW instruction not longer clears the overflow flag
* now generating an illegal instruction trap if invalid registers
    specified for TFM

Changed Windows message filtering to only apply to MAME game windows.
[Nathan Woods]

Improved graphics and cleaned up driver for srmp6.
[David Haywood, Tomasz Slanina]

Made a cleanup pass through the new x86emit.h code emitters, changing
the way memory is referenced and replacing macros with inline
functions. [Aaron Giles]

Updated MIPS and PowerPC drc cores to use the new emitters. Removed
the old macro-based ones in x86drc.h. [Aaron Giles]

Added save state support to pacland. [Aaron Giles]

Made -autoframeskip aware of the -speed setting. [Aaron Giles]

Fixed stack buffer overrun in install_mem_handler() that broke the
Hyperstone-based games under gcc 4.2.1. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Yukon [Al Kossow, Aaron Giles]
Mega Man - The Power Battle [Nicola Salmoria, David Haywood]

New clones added
Hard Times (set 2) [David Haywood]
Scorpion (set 3) [David Haywood]
Satan of Saturn (set 2) [David Haywood]
Street Fighter Alpha 3 (Euro 980904) [David Haywood]
Dimahoo (Euro 000121) [David Haywood]
Crush Roller (bootleg) [David Haywood]
Crush Roller (Sidam bootleg) [David Haywood]
Moon War (Moon Cresta bootleg) [David Haywood]
Port Man (bootleg on Moon Cresta hardware) [David Haywood]
Turpin (bootleg on Scramble hardware) [David Haywood]
Operation Wolf (World, set 2) [David Haywood]
Star Force (encrypted, bootleg) [David Haywood]

New games marked as GAME_NOT_WORKING
Astropal [David Haywood]
Come On Baby [MooglyGuy]


MAMETesters Bugs Fixed
vr0118u6yel [Aaron Giles]

Source Changes
Improved graphics and cleaned up driver for srmp6.
[David Haywood, Tomasz Slanina]

Fixed bug in model 2 polygon clipping. [Ernesto Corvi]

Fixed input port so that shadfrcj doesn't skip straight to the end
sequence. [stephh]

Fixed recent changes to the MB86233 core that broke Virtua Racing.
[Aaron Giles]

Added intelligence around the UPDATE_HAS_NOT_CHANGED flag, which is
returned from VIDEO_UPDATE. If all screens in the game return
UPDATE_HAS_NOT_CHANGED, then that frame is effectively skipped (up
to 3 frames in a row) in terms of throttling. This allows games that
render every other frame to not throttle during their "off frames".
Updated the midvunit driver to return UPDATE_HAS_NOT_CHANGED. You
should see an improvement in framerate with throttling enabled for
these games. Note that this only kicks in if frameskip is set to 0.
[Aaron Giles]

New clones added
Turpin (bootleg on Scramble hardware) [David Haywood]
Operation Wolf (World, set 2) [David Haywood]
Star Force (encrypted, bootleg) [David Haywood]
Galaxian (bootleg) [David Haywood]
Crazy Kong (bootleg on Galaxian hardware, set 2) [David Haywood]
Vandyke (bootleg with PIC16c57) [David Haywood]


MAMETesters Bugs Fixed
createconfig+debug0119yel [Nathan Woods]
jrpacman0119gre [Aaron Giles]

Source Changes
Fixed crash/display corruption in System C2 and System 18 games.
[David Haywood]

Synchronized the MB86233 core with ElSemi's, fixing a few bugs
along the way. [Ernesto Corvi]

Fixed synchronization code in the Model 2 driver. [Ernesto Corvi]

Fixed SCALER, SCALERL, and ATANRL opcodes in the i960 core.
[Ernesto Corvi]

Updates to the gdrawpkr driver: [Roberto Fresca]
- Added sound support to "El Grande - 5 Card Draw".
- All CPU and sound clocks derived from #defined crystal values.
- Some minor input cleanups.

ARM7 core fixes: [R. Belmont]
- Fixed unaligned reads/writes (again)
- Fixed minimum instruction bytes to account for Thumb mode
- Fixed missing dependency in ARM7 build rule
- Fixed Thumb mode ASR instruction

Added newly-dumped BIOS ROMs and preliminary emulation of the SPU
board in Pop'n Music 7 to the Firebeat driver. [Ville Linde]

Cleaned up input ports in the taito_z.c driver. [Brian Troha]

Updated the sources to support removing -wno-unused-function. Dead
code has been identified with #ifdef UNUSED_FUNCTION to allow for
further analysis and potential future removal. [Atari Ace]

Fixed a number of issues in the h6280 CPU core: [Wilbert Pol]
- Taking of interrupts is delayed to respect a pending instruction
    already in the instruction pipeline.
- Added 1 cycle for decimal mode ADC and SBC instructions.
- Changed cycle counts for CSH and CSL instructions to 3.
- Added T flag support to the SBC instruction.
- Fixed ADC T flag to set the Z flag based on the value read.
- Added 3 cycle penalty to ADC, AND, EOR, ORA, and SBC instructions
    when the T flag is set.
- Fixed cycle count and support for 65536 byte blocks for the TAI,
    TDD, TIA, TII, and TIN instructions.
- Fixed RDWORD macro in the disassembler.
- Fixed setting of N and V flags in the TST instructions.
- Removed unneeded debug_mmr code.
- Fixed TSB and TRB instructions.
- Added 1 delay when accessing the VDC or VCE areas.
- Implemented low and high speed cpu modes.

Moved srmp5 (Super Real Mahjong P5) to separate driver (from
st0016.c). Preliminary video hw emulation. Not playable, no sound.
[Tomasz Slanina]

Fixed DIP switches in the mario driver. [stephh]

Major Namco System 21 update. Changes include: [Phil Stroffolino]
- corrections to eprom handling (affects Namco System2 as well)
- scroll fix for sprite emulation in namcoic.c
- working Starblade, Cybersled, Solvalou with full 3d
- graphics should be 100% except for the depth cueing tables, which
    are internal and need to be reconstructed
- Air Combat is improved, but is locking up in 118s because of
    incomplete watchdog emulation
- Winning Run hardware is not yet working in this update

Fixed regression in undoukai caused by the REGION_CPU1 decoupling
from RAM. [Pierpaolo Prazzoli]

SCSP fixes: [R. Belmont]
* Fix writes to the hole in the SCSP address space (0x430 to 0x5ff)
    to not trash global registers
* Fixed SCSP DMA to not read random memory for its' registers

Added minimal built-in layout for showing the lamps in Video Pinball.
[Mr. Do!]

Big Model 2 update. There's so much stuff improved, I'm just going to
list what's not working: [Ernesto Corvi, El Semi]
- There's still a glitch on the triangle parser somewhere.
    Noticeable on the Sega logo in motoraid, the selection arrow in
    dynamcop's player select screen and many other games. It might be
    the culprit of the road in daytona looking wacky.
- There's a problem with the z clipping. Some tri's close to the
    camera are clipped before they should. Some others should be
    clipped but are not, and are blocking the viewport for a frame
    or two.
- Sub-windows are not implemented yet. Visible on dynacop's mission
    select, Sega Rally car select, and others.
- Most decal textures flicker on and off between frames. Maybe a z
    coordinate float resolution issue after projection?
- Textures wrap by default. They should only wrap when the
    appropriate flag is set only. Not sure what to do when we're not

Improvements to the Z180 core: [Pierpaolo Prazzoli]
- added the 2 Programmable Reload Timers
- fixed the Internal I/O Registers remapping
- added logical -> physical memory translation
- disabled loops hack
- removed "extra icount"
- changed interrupts handling. Now they're checked as in Z80 core
- simplified RETN and EI opcodes
- fixed PRT interrupts
- cleared both interrupts flip flops when taking any irq
- added _IFF2 = _IFF1; just before _IFF1 = 0; when taking an NMI

Removed kludge in 20pacgal which is no longer necessary with proper
Z180 emulation. Sound now works as well. [Pierpaolo Prazzoli]

Fixed some Dip Switches and added some extra notes to othunder.c
driver. Also added some notes to opwolf.c driver. [stephh]

Began moving the MegaTech/MegaPlay drivers over to the new Genesis
core code. [David Haywood]

Identified a number of additional new opcodes for Risky Challenge/
Gussun. [robiza]

Fixed Voodoo video timing according to the manual, including blanking
periods and vsync interrupts. This makes Carnevil and some other games
run once again at their proper speed. [Aaron Giles]

Updated Voodoo drawing code to track changes to the front buffer and
allow skipping unrendered frames for more even framerates.
[Aaron Giles]

Fixed hang when attempting to move windows with the debugger active
and multithreading enabled. [Aaron Giles]

Added preliminary attempt at a new x64 dynamic recompiler for the
MIPS 3/4 CPUs. The current version works enough to run a few basic
games (kinst, carnevil), but many others fail. Furthermore, this
version is already being supplanted by a more advanced version that
does register allocation and constant folding. For now it is disabled
by default. [Aaron Giles]

Fixed a few more 64-bit disassembler problems in i386dasm.c. Also
fixed several 64-bit errors in the code generators in x86emit.h.
[Aaron Giles]

Added support in the debugger memory view for 8-byte chunk sizes.
Fixed long-standing bug that failed to show unmapped logical addresses
as asterisks. Also added new menu items to the Windows debugger to
support viewing logical or physical memory. [Aaron Giles]

Removed limitation that tilemap tile widths must be divisible by
2, except in the 4bpp case, where an assert now catches this case.
[Aaron Giles]

Experimentally changed full screen behavior when using Direct3D so
that if -switchres is NOT enabled, then we don't create a fullscreen
Direct3D device. This minimizes large graphics card transitions (in
particular it does not disable glass in Vista) when you go full
screen. If you want the old behavior, run with -switchres and specify
a -resolution parameter equal to your desktop screen size.
[Aaron Giles]

New games added or promoted from NOT_WORKING status
Deer Hunting USA [Luca Elia]
Turkey Hunting USA [Luca Elia]
Wing Shooting Championship [Luca Elia]
Trophy Hunting - Bear & Moose [Luca Elia]
Panel & Variety Akamaru Q Jousyou Dont-R [Team Japump]
Cyber Sled [Phil Stroffolino]
Solvalou [Phil Stroffolino]
Super Real Mahjong P6 (Japan) [686]
Ippatsu Gyakuten [BET] (Japan) [Luca Elia]
Joryuu Syougi Kyoushitsu (Japan) [Luca Elia]
Mazin Wars / Mazin Saga (Mega Play) [David Haywood]
Grand Slam (Mega Play) [David Haywood]

New clones added
Scramble (bootleg) [David Haywood]
Alien Storm (bootleg, set 2) [David Haywood]
Zero Team Selection [David Haywood]
Passing Shot (Japan, 4 Players, System 16A, FD1094 317-0071)
  [Arzeno Fabrice, ShinobiZ, Gerald Coy]
Pound for Pound (Japan) [Team Japump]
Big Event Golf (Japan) [Team Japump]
Special Criminal Investigation (Japan) [Team Japump]
Royal Mahjong (Japan, v1.13) [Team Japump]
Cyber Sled (Japan) [Brian Troha]
Crowns Golf (new set) [Arzeno Fabrice]
Don Den Lover Vol. 1 - Shiro Kuro Tsukeyo! (Japan) [Team Jampump]
Mario Bros. (US, set 2) [stephh]
Puzznic (Italy) [Corrado Tomaselli]
Don Den Lover Vol. 1 (Korea, bootleg) [David Haywood]
Boomer Rang'r / Genesis (set 2) [Team Japump]
Narazumono Sentai Bloody Wolf (Japan) [Team Japump]
Open Mahjong [BET] (Japan) [Team Japump]

New games marked as GAME_NOT_WORKING
Laser Grand Prix [Andrew Gardner]
Saloon (France, encrypted) [Roberto Fresca]
Mahjong Cafe Doll (Japan) [Team Japump]


MAMETesters Bugs Fixed
model2c_crx0119u1red [R. Belmont]

Source Changes
Changed gfx_decode structures so that they are defined abstractly by macros rather than directly specifying the structures. Added new macros GFXDECODE_START/GFXDECODE_ENTRY/GFXDECODE_END to describe the gfx_decode information. Converted all drivers over to using the new macros. [Atari Ace]

Fixed NMI handling in h6280 CPU core. [Wilbert Pol]

Fixed vaportra to use an ASSERT/CLEAR mechanism instead of PULSE_LINE for interrupt signally. [Wilbert Pol]

Cleaned up input ports in sg1000a.c. Added DIP switch for the coins in dokidoki and service switch. Added DIP switch for flip screen in psychic5. [sonikos]

Cleans up the input port for macrossp.c driver and adds dip locations. [Brian Troha]

Adds dip locations and changes the Japanese inputs into PORT_INCLUDE and PORT_MODIFY. [Brian Troha]

Added macros to clean up definitions of the discrete sound interfaces. At the same time, made them all const. [Atari Ace]

Some miscellaneous changes to the megatech driver. [David Haywood]

More srmp6 improvements. [686]

Two small Model 2 fixes: [Ernesto Corvi]
- fixed triangle parser; all objects should be structurally correct now
- fixed normal transform to not use the translation vectors

Cleaned up code to make code and data static where possible and remove some dead code. [Atari Ace]

SCSP improvements: [R. Belmont, ElSemi]
- fixed issue with changing the pitch of an active voice set to backwards or bidirectional loop
- removed fake reverb
- fixed internal DSP to operate properly
- rewrote timers and interrupt handling
- fixed operation when 2 SCSPs are present

Fixed sound in almost all SCSP-equipped Model 2 games. [R. Belmont]

Added sound hardware and fixed sound ROM loading in Model 3 games. [R. Belmont]

Created an options_output_diff_ini_file() API, which is similar to options_output_ini_file(), but only outputs the options which are different than a base core_options. Changed INI outputting (and hence the -cc option) to omit headers that do not contain any options. [Nathan Woods]

Hooked up sound in discoboy. [Tomasz Slanina]

Renamed old gfx_decode structure to gfx_decode_entry in order to catch remaining/new drivers that aren't using the new macros. [Aaron Giles]

Changed profiler so that it is independently selected versus the debug build. Built with MAME_PROFILER=1 to enable the profiler on a non-debug build. [Aaron Giles]

Fixed MIPS3 disassembly of j/jal instructions. [Aaron Giles]

Switched MIPS3 64-bit DRC over to new system that is more aggressive about register allocation and mapping. Sadly, there is little to no obvious performance benefit, but the resulting code is better organized. [Aaron Giles]

Fixed nasty x86emit bug involving 16-bit opcodes on 64-bit systems. [Aaron Giles]

Created new generic x86/x64 logging system x86log, and updated both MIPS3 DRC cores to use it. [Aaron Giles]

Created new generic DRC frontend management. Future work involves retooling the MIPS3 frontend around this new architecture. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Loverboy [David Haywood]
Mahjong Shinkirou Deja Vu (Japan) [Luca Elia]
Final Godori (Korea, version 2.20.5915) [Pierpaolo Prazzoli]
Jibun wo Migaku cultures School Mahjon Hen [Pierpaolo Prazzoli]
Mahjong Fantastic Love (Japan) [Luca Elia]
Domino Block [Tomasz Slanina, David Haywood]

New clones added
Fighter's History (Japan ver 42-03) [Team Japump!]
Janyou Part II (ver 7.03, July 1 1983) [Team Japump!]

New games marked as GAME_NOT_WORKING
Jan Oh [Luca Elia]
Mahjong Vegas (Japan) [Luca Elia]
Esh's Aurunmilla [Andrew Gardner]
Mirage Youjuu Mahjongden (Japan) [Team Japump!]


IMPORTANT NOTE FOR OSD PORTERS: This build requires a pair of new
primitives in the OSD synchronization module, as well as some extended
functionality in the work item management. See below for details.

MAMETesters Bugs Fixed
cabal0119u2ora [David Haywood]

Source Changes
Fixed Cabal (joystick) submission from previous release.
[David Haywood]

Made a few improvements to dealem (well you can see the game now..)
[David Haywood]

Fixed broken SCSP from last update. [R. Belmont]

Changed parameters to read/write handlers from "address" to an
unmodified "original_address" parameter (having the passed parameter
being unmodified makes it easier to determine the original value while
debugging). [Nathan Woods]

Fixed colors in dynduke. [David Haywood]

Changed the following x86 instructions to read/write an entire word
rather than two separate bytes: [Philip Bennett]
- mov_axdisp
- mov_dispax
- stosw (8086 only)
- rep stosw (8086 only)
Also tweaked handling of x86 WAIT instruction.

Several more opcode fixes for Risky Challenge. [robiza]

Cleaned up the include file usage in the code: [Atari Ace]
- Removed dead prototypes
- Added missing self-#includes
- Added missing source comments in mame/includes
- Migrated the few #include "driver.h" lines from driver header
    files to source files (which is the common idiom).
- Eliminated #include "mame.h", "osdcore.h" et cetera from driver
    files where #include "driver.h" would suffice.
- Removed unused srmp6.h and 9900stat.h

Added the rom loading for the various 5*XX roms, which are dumped but
not yet hooked up. [David Haywood]

Fixed error messages output from option.c. [Christophe Jaillet]

gstream driver update: [Pierpaolo Prazzoli]
- Changed to use a default nvram handler
- Checked the inputs
- Aligned the sprites
- Added some comments about oki banking

Major Sega Model 2 rewrite: [Ernesto Corvi]
- Decoupled the geometry engine code from the hardware rasterizer.
    At this point, we could add emulation of the geometry DSPs for
    the 2B and 2C models, and hook them directly to the rasterizer.
    For the original and 2A models, an HLE geometry engine is provided
    (currently in use for all models).
- Full Geometry Engine simulation, including support for specular,
    multiple centers and dual polygon RAM.
- Support for all textured/transparent/checkered rendering modes.
- Improved texel/luma modulation
- Improved viewport clipping
- Improved z clipping
- Extensive notes and documentation.
- Greatly improved near Z-Clipping, still not perfect though.
- Improved perspective-correct texturing for large textures.
- Improved Z-Sorting

Changed Machine to machine in several places where feasible.
[Atari Ace]

Added decryption of Jongkyo. [Nicola Salmoria]

The OSD layer is now required to supply to additional synchronization
primitives: osd_compare_exchange32() and osd_compare_exchange64().
These primitives should implement an atomic compare and exchange of
32-bit and 64-bit values, respectively. Added implementations of these
functions to the Windows OSD layer. [Aaron Giles]

Defined two new inline functions that are built on the new OSD
primitives: osd_compare_exchange_ptr(), which performs an atomic
compare/exchange on a pointer of the appropriate size, and
osd_sync_add() which atomically adds a value to a location in memory.
[Aaron Giles]

Changed implementation of OSD work queues that are created with the
WORK_QUEUE_FLAG_MULTI hint. Such queues now create n-1 threads, where
n in the number of logical processors in the system. This allows the
main thread to continue accomplishing things while other threads
process the work. If the main thread subsequently calls
osd_work_queue_wait(), it will then dynamically "jump in" and help
the other threads complete all the work items. [Aaron Giles]

Added new work item flag WORK_ITEM_FLAG_SHARED. When specified on a
work item that is queued to a work queue created with the
WORK_QUEUE_FLAG_MULTI hint, it means that all threads will be
dispatched to process the one work item, instead of the first thread
removing it. These "shared" work items are only considered complete
when all processing threads have returned. [Aaron Giles]

Added support for controlling multithreading behavior through an
environment variable OSDPROCESSORS. To override the default behavior,
set OSDPROCESSORS equal to the number of logical processors you wish
the OSD layer to pretend you have. [Aaron Giles]

Changed the 3dfx Voodoo emulation code to take advantage of the new
threading mechanisms above. It now creates a work queue with the
WORK_QUEUE_FLAG_MULTI flag set, and uses shared work items to spread
rasterization work across multiple processors. Note that this support
should be considered experimental; under some circumstances it is
known to deadlock. If you encounter problems, set OSDPROCESSORS to 1
to effectively produce the previous behavior. [Aaron Giles]

Added "top 20" dedicated rasterizers for all the Seattle games and
Gauntlet Legends/Dark Legacy. These improve rasterization performance
by another 10-20%. [Aaron Giles]

Fixed several more bugs in the 64-bit MIPS recompiler. It is now
capable of running the Seattle games and the 3D Gauntlets.
[Aaron Giles]

New games added or promoted from NOT_WORKING status
Super Hana Paradise [Luca Elia]
Hanafuda Hana Gokou [Luca Elia]
Mahjong Tian Jiang Shen Bing [Pierpaolo Prazzoli]

New clones added
Nekketsu Koukou Dodgeball Bu (Japan) [David Haywood, Team Japump!]
Puzzle Game Rong Rong (Japan) [Luca Elia]
Legend of Hero Tonma (Japan) [David Haywood]
Legend of Hero Tonma (bootleg, set 2) [David Haywood]
IQ-Block (V127M, V113FR) [Pierpaolo Prazzoli]
Cabal (Alpha Trading) [David Haywood]
Puzzle & Action: Tant-R (Japan) (bootleg set 3) [David Haywood]
Shinobi (Datsu bootleg) [David Haywood]
Shinobi (Star bootleg, System 16A) [David Haywood]
Crack Down (World, FD1094 317-0058-04c) [Arzeno Fabrice, Chris Hardy]
Super Pang (World 900914, bootleg) [David Haywood]
Pang (bootleg, set 2) [David Haywood]
Tehkan World Cup (set 2, bootleg?) [David Haywood]
DJ Boy (set 2) [David Haywood]
Hunchback (set 2) [David Haywood]
Double Dragon (bootleg with M6803) [David Haywood]
Cannon Ball (Pacman Hardware) [David Haywood]

New games marked as GAME_NOT_WORKING
Jongkyo [David Haywood, Nicola Salmoria]
Vs. Janshi Brandnew Stars [David Haywood]


NOTE TO OSD PORTERS: The work interfaces have changed again. Please
read details below. The updated interfaces remove functionality, so
in the end it should be simpler(!) to port.

MAMETesters Bugs Fixed
parodius0111u3gra [Mike Green]
ghostb0105u4gra [Mike Green]
seibuspisingle099u9yel [couriersud]
futspy0114gra [Mike Green]
finalizr0102u5gra [Mike Green]
gijoe0114gra [Mike Green]
playch10_0109gre [Mike Green]

Source Changes
Moved Hayaoshi Quiz Ouza Ketteisen to its own driver. [David Haywood]

Added coin counters to cabal bootleg and hooked up the 2 sample player
CPUs in cabal bootleg. It seems there still are some problems, because
the coin up music is played during the game. [Pierpaolo Prazzoli]

More improvements to the Vs. Janshi Brandnew Stars driver.
[David Haywood]

More SCSP improvements: [El Semi]
- Fixed endianness issue on 8-bit samples and added interpolation
- Disabled modulation attempt (should fix the crash problems)
- Tweeked pitch calculation

Added the repeat count register (reg 0x34) access and immediate value
load to the MB86233 core (needed by Pilot kids). [El Semi]

Cleaned up the inputs, and fixed flipscreen in dynax.c. [Luca Elia]

Fixed several issues in seibuspi.c: [couriersud]
- added sound to rdft2us
- added coin-handling to single board games
- fix interrupt handling
- for rfjetus, adds a hack to enable Test-Switch to enter testmode
    if no nvram exists

Fixed several issues in the i386 core: [couriersud]
- the INTR-line for i386 is a "level" line; changed interrupt
    handling to trigger on asserted line
- in 32bit mode, determine trap/interrupt from gate-header
- interrupt line is read during two bus cycles. Adjust CYCLES

Added coin DIP switches and "teleport hole" DIP switch to crushs.

Bug fixes for the z80gb cpu core: [Wilbert Pol]
- Fixed cycle count for taking an interrupt
- Fixed cycle count for BIT X,(HL) instructions
- Fixed flags in RRCA instruction
- Fixed DAA instruction
- Fixed flags in ADD SP,n8 instruction
- Fixed flags in LD HL,SP+n8 instruction

Fixed the linking issues when specifying MSVC_BUILD=1 and DEBUG=1.
[Oliver Stoneberg]

Fixed a compile error on architectures where "char" is unsigned
(notably some PowerPC configurations). [Bill Blake]

Added two more filters to the headon crash sound. Now, only the
envelopes for the crash sound filters are missing. [couriersud]

Loverboy input fixes: [wolf676]
- added and verified all DSW
- added and verified Button1 for both players

Added color PROMs for Cannon Ball. [Rob Walmsley]

Fixed several out-of-bounds array accesses in the code. [Andi]

Fixed mask rom test in prmrsocr. [Pierpaolo Prazzoli]

Fixed 64-bit DRC bug that broke kinst in the previous release.
[Aaron Giles]

Added code to detect potential hotspots in the 64-bit DRC. Added
hotspots to all the seattle.c games and several of the vegas.c games.
[Aaron Giles]

Simplified the osd_work implementation. Removed the concept of shared
work items. Added new function osd_work_item_queue_multiple() which
allows efficient queueing of large numbers of work items. Changed
previous osd_work_item_queue() function into an inline that calls the
new function. [Aaron Giles]

Updated Voodoo code to use the new work functions. It now queues
small scanline chunks as independent items rather than using shared
items. Updated code to also copy some parameters to allow for greater
overlapping of emulation and rendering. [Aaron Giles]

For Windows work functions, added new scalable lock implementation
that hopefully has better performance characteristics when scaling
above 2 CPUs. [Aaron Giles]

For Windows work functions, added statistics gathering code. This is
on by default for the moment to help point to problems that might be
encountered with this version. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Jongkyo [David Haywood, Nicola Salmoria]
Hayaoshi Quiz Grand Champion Taikai [David Haywood]
Hayaoshi Quiz Nettou Namahousou [David Haywood]
Super Real Mahjong Part 1 (Japan) [David Haywood]
Hana wo Yaraneba! (Japan) [Luca Elia]
Hanafuda Hana Tengoku (Japan) [Luca Elia]
Player's Edge Plus (PP0516) Double Bonus Poker [Jim Stolis]

New clones added
Toride II Adauchi Gaiden (Japan) [David Haywood]
Pang (bootleg, set 3) [David Haywood]
Super Bobble Bobble (set 1) [David Haywood]
Airwolf (US) [David Haywood]
Golden Tee '97 Tournament (v2.43) [Brian Troha]

New games marked as GAME_NOT_WORKING
GTI Poker [David Haywood]
Poker? (IGS) [David Haywood]
Hanajingi [Luca Elia]
GP World [Andrew Gardner]


MAMETesters Bugs Fixed

Source Changes
Added "native" architecture option to the makefile. Use this to have
gcc automatically pick the most appropriate architecture based on
the system that it is compiling on. [Christophe Jaillet]

Hooked up the KL5C80 communications CPU to the HNG64 BIOS and emulated
some of its features. [Andrew Gardner, Justin Kerk]

Fixed a few pointer truncation bugs in the Windows 64-bit code.
Enabled warnings for 64-bit pointer truncations. Merged the x86 and
x64 manifests. [Atari Ace]

Changed 6821 PIA logging so that it only logs core messages once.
[Tim Lindner]

Updates to various NeoGeo ROMsets. Some ROM names updated to match
verified names from chip labels. A lot of "older" sets have been
redumped to investigate the "64k m1/s1 issue" (also the m1
"overdumps"). Result was, ALL m1 ARE at least 128kx8; ALL s1 ARE
128kx8. The old m1 "overdumps" were incomplete dumps. In addition,
it has been discovered that all "p-roms" do have a minimum size of
4mbit. A number of sets have been restored to their "original"
state, and a number of others have been marked as bad dumps where
appropriate. Specific changes include: [Johnboy]
- bjourney: readded 128k m1 from Mame v0.34b5
- bstars: fully redumped, added correct m1
- bstars2: fully redumped, added correct m1
- goalx3: readded 128k m1 from Mame v0.34b5
- janshin: readded 128k m1 from Mame v0.34b5
- joyjoy: added correct m1
- legendos: readded 128k m1 from Mame v0.34b5
- maglord: fully redumped, added correct m1
- mutnat: partially redumped, added correct m1
- nam1975: fully redumped, added correct m1/s1
- ncombata: fully redumped, renamed set to ncombath
- neomrdo: readded 128k s1 from Mame v0.34b5
- pbobblen: readded 128k m1 from Mame v0.34b5
- puzzledp: readded 128k s1 from Mame v0.34b5
- ridhero: fully redumped, added correct s1
- socbrawl: readded 128k s1 from Mame v0.34b5
- ssideki2: fully redumped
- strhoop: readded 128k m1 from Mame v0.34b5
- svc: removed MVS tag, only one version exists (AES/MVS/PCB)
- svcboot: removed MVS tag
- tws96: readded 128k m1 from Mame v0.34b5
- viewpoin: readded 128k m1/s1 from Mame v0.34b5
- wh2j: partially redumped, renamed to wh2jh, is verified AES version
- wh2j: fully redumped, is verified MVS version
- wh1h: fully redumped, is verified AES version
- wh1ha: renamed from wh1h to wh1ha

Made several more traditional optimizations to the voodoo emulations,
gaining a few percent improvement. [Aaron Giles]

Further tweaked the work code to appropriately check for work items
versus checking for the number of outstanding items. [Aaron Giles]

Simplified some of the model2 rendering code. [Aaron Giles]

Moved a number of files from mame/machine and mame/video to
emu/machine and emu/video. In general, files that emulate a common
industry standard chip (as opposed to custom, manufacturer-specific
chips) were moved. Further moves may happen in the future to
isolate common system-level components (such as amiga, snes, etc.).
[Aaron Giles, Curt Coder]

New games added or promoted from NOT_WORKING status
Hayaoshi Quiz Ouza Ketteisen - The King Of Quiz [Luca Elia]

New clones added
World Heroes (set 3) [Johnboy]
World Heroes 2 Jet (set 2) [Johnboy]
Nightmare in the Dark (bootleg) [Johnboy]


MAMETesters Bugs Fixed
ikki0120yel [robiza]
buckrog0118u2yel [couriersud]

Source Changes
Documented information about the various Cannonball sets.

Hooked up the roz layer, fg layer and sprites to f1gpb. Still
missing some video offsets, oki banking and sprites priority.
[Pierpaolo Prazzoli]

Updates for the dominob.c driver: [stephh]
- fixed dip switches
- fixed inputs
- added a couple of notes

Updated peplus driver and related components: [Jim Stolis]
- added internal layouts for the games
- fixed several i8051 issues...
    * Fixed a bug with some opcodes having the wrong cycle counts
    * Fixed a bug where determining the proper timer mode
    * Fixed a bug where determining the proper serial transmit mode
    * Added support for split timer mode

Improved multiprocessor Voodoo performance by reducing contention
during rendering. Extended the system to allow for more overlap
between rendering and emulation. [couriersud, Aaron Giles]

Fixed a crash in the input system when you configure joypads and
then unplug them and press Esc on the system info screen.
[R. Belmont]

Defined strict types for CPU and sound chips. Removed unnecessary
cpu_ prefix from several structure members. [Atari Ace]

Fixed the m4510 cpu core from not updating the instruction cycle
counter. [Wilbert Pol]

Fixed memory access for m6509 instructions 91 and b1. [Wilbert Pol]

Changed osdcore.h to include osinline.h and allow for external
inline definitions of synchronization primitives. Also added a new
work queue hint WORK_QUEUE_FLAG_HIGH_FREQ which indicates that we
should spin aggressively waiting for new items.
[couriersud, Vas Crabb]

Enabled common linker warnings in the makefile. [Oliver Stoneberg]

Fixed a corner case in the SCSP involving timers which are polled
with their IRQ enable shut off. [R. Belmont]

Namco System 21 update: [Phil Stroffolino]
- namconb1 sprites no longer broken
- fixed missing 3d gfx in Cybersled
- gradient colors in starblade
- more accurate depth cueing
- fixed crash in 2nd stage of Starblade
- fixed lockups in Air Combat and Solvalou
- fixes to sprite priority (see Solvalou mountain range)
- hooked up translucency (palette shift) effect

Changed Model 2 rendering to use pre-clipped Z values for sorting.
[Aaron Giles]

Properly identified bill inputs in Midway Y-unit driver games.
[Aaron Giles]

Added more instrumentation and added some extra paranoia to the
winwork code. [Aaron Giles]

Fixed some incorrect code in the ADSP2100 external flag handling.
[Aaron Giles]

Created new module polynew.c which combines triangle setup,
rasterization, and Voodoo-like multiprocessor support. Coverted
Gaelco3D, Midway V-Unit, Namco System 22, and Voodoo drivers over
to the new system. [Aaron Giles]

Added threadid parameter to work item callbacks. This allows for
keeping per-thread information by the callbacks. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Mahjong Hot Gimmick Integral (Japan) [Guru, David Haywood]
Tottemo E Jong [David Haywood, Team Japump!]
Good E Jong -Kachinuki Mahjong Syoukin Oh!!-
  [David Haywood, Team Japump!]
Teraburst [icronnya77, Ville Linde]

New clones added
Tube Panic (bootleg) [sonikos]
Player's Edge Plus (PP0188) Standard Draw Poker [Jim Stolis]
Player's Edge Plus (Set038) Set Chip [Jim Stolis]
Mortal Kombat 4 (set 2) [icronnya77]
Meteor [Andreas]

New games marked as GAME_NOT_WORKING
GameCristal [f205v, R. Belmont]


MAMETesters Bugs Fixed
hornet0120u1red [Ville Linde]
srmp6_0120u1ora [Aaron Giles]

Source Changes
Rewrote ACIA6850 implementation. [Curt Coder]

Did a complete overhaul of the Mad Alien driver. [Stefan Jokish]
- merged memory maps and added mirror addresses
- doubled sound chip frequency
- implemented IRQ acknowledge for the sound CPU
- added stub functions for missing discrete sounds
- re-implemented tilemaps (now the tunnel walls scroll into view)
- hooked up 6845 CRT controller
- made several fixes related to color handling
- cleaned up inputs and added dip switch locations
- raised main CPU speed (guesswork)
- added save state support

Repaired the IC24 timer behaviour to fix some of Deal 'Em's bugs,
and also added inputs. [James Wallace]

Added save state support to skykid. [Mike Haaland]

Fixed tiny.mak based on new source reorg. [Tiago Pierezan Camargo]

Added support for CR-589 firmware to the System 573 driver. Made
substantial changes to the SCSI support, making it require fewer
hacks, and allowing one device to be derived from another. Also
added save state support. [smf]

Added SCI support to M6803/HD63701. [Curt Coder]

Fixed several misnamed sound samples interfaces. [Atari Ace]

Switched model1 lookup functions to be index based rather than
requiring a linear scan. [Atari Ace]

Added generic I2C bus memory support. Hooked up to the cubocd32
driver. [smf]

Cleaned up inline assembly support: [Aaron Giles]
* moved all inlinable functions into new module eminline.h
* defined a number of new inline functions, including:
    - 32x32 -> 64 bit multiply
    - fast approximate floating point reciprocal
* removed old inline definitions from osinline.h, osd_cpu.h, etc.
* eminline.h contains C implementations of everything
* new module eigccx86.h contains GCC-compatible x86/64 versions
* new module eigccppc.h contains GCC-compatible PowerPC versions
* eminline.h automatically detects GCC environments and includes
    appropriate file
* osinline.h now only used in non-GCC environments
* updated osd/windows/osinline.h to contain MSVC-compatible versions

Added NORM implementation to the TMS32031 core. [Aaron Giles]

Created new rgbutil module which consists of inline functions for
common RGB manipulation. This module can be accelerated with SSE2 or
other SIMD operations. By default, only 64-bit Intel builds make use
of SSE, since it can be assumed on those platforms. Reimplemented the
namcos22 rasterizer in terms of these inline functions. Also updated
the gaelco3d rasterizer to use this module for faster bilinear
filtering. [Aaron Giles]

Made some progress on the Midway Zeus-based system. The 3d command
stream is now parsed and the format is partially understood, enough to
display some polygons but with incorrect textures in Mortal Kombat 4.
[Aaron Giles]

New games added or promoted from NOT_WORKING status
Konami CD-ROM Drive Updater (700A04) [smf]
Vs. Janshi Brandnew Stars [sonikos]

New clones added
Eco Fighters (USA 940215) [Nicola Salmoria, Razoola]

New games marked as GAME_NOT_WORKING
Time Machine v2.0 [James Wallace]
Jet Wave [Ville Linde, Guru]


MAMETesters Bugs Fixed
neodriv0117u3red [Hairu]
kof10th0120u2yel [Robbbert]
6800basedgames0120u2red [Curt Coder]
mpatrol0120u2yel [Curt Coder]

Source Changes
Cleaned up the inline assembly for both x86 and PPC, enabled the mul32 family assembly stuff on 32-bit x86, and fixed some compiler warnings on 64-bit GCC. In addition: [Vas Crabb]
* Provided single-precision reciprocal approximation code for PowerPC and x86 with SSE2.
* Filled in all other TBD functions in eigccx86.h for completeness.
* Conditionalised some code in eigccppc.h so that it isn't used when the compiler has 64-bit instructions available.

Added static qualifiers and renamed symbols in MAME in an effort to further tidy up the global namespace. Generally generic names were targeted and some symbols that were both static and extern. Some
specifics: [Atari Ace]
* K053247_ram was made static throughout and the existing K053247_export_config was used to obtain the value in xmen.c.
* The enums DS1991_STATE and DSP_TYPE were unused and were therefore removed.
* Dead code in cps3.c and thayers.c was discovered and commented out.

Made almost all input port definitions static. [Aaron Giles]

Obsoleted the GAMEB macro, which is no longer necessary. [Atari Ace]

Fixed casting issues in new inline validity checks. [R. Belmont]

Some build-related improvements to the sound cores: [Atari Ace]
* The SCSP dependency on mame/drivers/stv.c was removed allowing it to built independent of the driver.
* The WAVE dependency on MESS code was made explicit, so it can be built independentally of MESS.
* VOTRAX can now be built independentally of SAMPLES.
* The YM2612 core now can be built without including the YM3438 core.
* Unnecessary uses of BUILD_ and HAS_ macros have been removed.
* BUILD_ instead of HAS_ macros are used in 3812intf.c for consistency with the other fm cores.

Added DIP locations to several SSV games (in ssv.c). [Vas Crabb]

Corrected some errors in the SH4 core and implemented store queues and the basics of DMA. Added a call to simulate dma transfers with external devices. [Samuele Zannoli]

Expanded polynew.c to support quad rendering. Converted midvunit.cover to using the new quad rendering, which fixes a number of rendering issues that have plagued the driver since the start. [Aaron Giles]

Added Z-clipping logic to polynew.c. Converted namcos22 over to usingthat code. Simplified namcos22 significantly, working in quadsthroughout the lower-level pipeline and then handing the results off to polynew.c. [Aaron Giles]

Updated model3.c to use the new poly code, and changed much of the low-level implementation to make things easier. [Aaron Giles]

Defined a couple of new functions in eminline.h: atomic_increment32 and atomic_decrement32. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Every Second Counts [Philip Bennett]
Treble Top [Philip Bennett]
Quizvaders [Philip Bennett]

New clones added
Extermination (Japan) [Corrado Tomaselli]
Gang Busters (set 2) [Patrik Styrnell]
Trog (rev LA5 03/29/91) [icronnya77]

New games marked as GAME_NOT_WORKING
Inquizitor [Philip Bennett]


MAMETesters Bugs Fixed
gradius4_0120u3yel [Aaron Giles]
vegas.c0120u3yel [Aaron Giles]

Source Changes
Made some minor changes in the inline code. The result of atomic_add32 isn't used a lot of the time, so the final addition was brought out to allow it to be optimized away. Removed the unnecessary delta argument from atomic_increment32 and atomic_decrement32 in eminline.h, and added implementations.  Changed the condition for
using rgbsse.h to include 32-bit platforms with SSE enabled. [Vas Crabb]

Did a major clean-up of the input ports in ssv.c. Brought out the common joystick, mahjong and quiz input setups, and then used PORT_INCLUDE to pull them in when needed. Also brought out the common coinage settings, to avoid needless repetition. [Vas Crabb]

Analyzed all driver interfaces (DRIVER_INIT, READ8_HANDLER, etc.) to determine which ones should be made static and properly tagged them all to reduce global namespace pollution. Some cases turned out to be dead code, which was also properly tagged. [Atari Ace]

Updated the Tube Panic driver, fixing the background scroll-in (it's smooth again now). The problem was caused by wrong synchronization between main and slave CPUs. Also modified the video driver to be scanline accurate and implemented more accurate interrupt handling. [Jarek Burczynski]

Altered TTL low high levels in res_net.c. This will broaden the color range a bit. Since the results are normalized, there is only a limited effect visible. [couriersud]

Cleaned up inputs and added dip locations in ms32.c. Also fixed dips in "47pie2" and "akiss". [Sonikos]

Fixed bug that caused incorrect input to be read if multiple inputs were mapped to the same mouse input under Windows. [Nathan Woods]

Fixed a bug in the i8051 core that improperly fired the Timer2 interrupt when it wasn't enabled. [Jim Stolis]

Updates to the peplus driver: [Jim Stolis]
* Added lightpen support
* Added PE+ Superboard support
* Added ABC coin optics support
* Added full I2C eeprom support
* Added NVRAM support
* Corrected door closure issues
* Removed most memory hacks
* Consolidated machines and inputs
* New layout for pepp0158

Split up the MPU4 driver into a core and driver set up a la NeoGeo. Also made some timer fixes, and added some new ROMs added. [James Wallace]

Fixed problems introduced when the junofrst blitter code was simplified. [Chris Hardy]

American Poker II major rewrite: [Roberto Fresca]
- Properly dervied clocks from crystals
- Reworked TILE_GET_INFO to handle the proper tiles/color codes.
- Fixed interrupts (NMI).
- Corrected AY8910 frequency to 1.5 MHz to match the real thing.
- Arranged the AY8910 volume in all games avoiding clips.
- Corrected the screen visible area.
- Added NVRAM support.
- Reworked the memory map, mapping all the hardware I/O ports.
- Reworked the Inputs for all sets.
- Added implementation of Operator and Supervisor Keys.
- Fixed some timing troubles.
- Added partial DIP switch support with diplocations to all sets.
- Removed the hack in DRIVER_INIT.
- Hooked write handlers for output ports.
- Added watchdog routines.
- Dumped, hooked, wired and decoded the color PROM in all sets.
- Modified the refresh rate according to hardware measurements.
- Wired the lamps for all sets. Created their respective layouts.
- Splitted the driver to driver/video.
- Other minor fixes.

SCSP fixes: [kingshriek]
* Fixed DECAY1 envelope state to not exit immediately
* Improved support for LPSLNK and SBCTL
* Fixed panning calculation bug
* Fixed case where key-rate scaling is off

Added support for indicating that DIP switches are reversed in the DIP locations view. [Vas Crabb]

Added DIP locations for Midway Tron and the Nintendo Donkey Kong series (dkong.c). [Vas Crabb]

Added an Altivec/VMX implementation of the RGB utilities for our friends with G4, G5 and POWER5 CPUs (rgbvmx.h) and added rgbint_bilinear_filter and rgbaint_bilinear_filter to rgbsse.h (based on rgb_bilinear_filter/rgba_bilinear_filter) for completeness, as these functions exist in rgbgen.h. [Vas Crabb]

Updated model2.c, taitojc.c, and gticlub.c to use the new polygon routines. Deprecated the old poly.c and renamed polynew.* to poly.*. [Aaron Giles]

Unified poly.c callbacks so that tri and quad callbacks work the same way. [Aaron Giles]

Fixed display of floating point TMS32031 registers in the debugger. [Aaron Giles]

Fixed TMS32031 ABSF opcode to work as documented and not produce a proper negative. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Player's Edge Plus (PP0516) Double Bonus Poker [Jim Stolis]
Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker [Jim Stolis]
Player's Edge Plus (PP0188) Standard Draw Poker [Jim Stolis]
Player's Edge Plus (Set038) Set Chip [Jim Stolis]
Player's Edge Plus (BE0014) Blackjack [Jim Stolis]
Player's Edge Plus (KE1012) Keno [Jim Stolis]
Player's Edge Plus (PS0615) Video Slots [Jim Stolis]
Player's Edge Plus (PS0716) Video Slots [Jim Stolis]
Player's Edge Plus (XP000019) Deuces Wild Poker [Jim Stolis]
Player's Edge Plus (XS000006) Triple Triple Diamond Slots [Jim Stolis]
MPU4 Unit Test [James Wallace]
Sigma Poker [Roberto Fresca]

New clones added
Slipstream (950515 HISPANIC) [Guru]
Kick and Run (US) [Brian Troha]
American Poker 95 [Roberto Fresca]
Poker De Win [Roberto Fresca]

New games marked as GAME_NOT_WORKING
Vegas Poker (Prototype) [James Wallace]
Sigma Poker 2000 [Roberto Fresca]


MAMETesters Bugs Fixed
dunhuang0120u3gra [Vas Crabb]

Source Changes
Updated DIP locations in the following drivers: [Vas Crabb]
- bublbobl.c: bublbobl, tokio
- cps1.c: all games
- dunhuang.c: dunhuang
- mario.c: marked all as active high (confirmed from manuals)
- segag80r.c: astrob2, astrob1, spaceod and pignewt
- segag80v.c: all games, fixed switch ordering

Made more functions static to reduce namespace pollution.
[Atari Ace]

Improvements to the Touchmaster driver, still labelled not working.
You can actually play tm and tm3k, but sometimes you have to reset
because they stop registering the touchscreen input. tm4k is
protected and hence totally unplayable. [Luca Elia]

Fixed compilation problems with altivec accelerators. [Vas Crabb]

Fixed bug in Voodoo statistics accumulation. [Atari Ace]

Reverted to old behavior where even with -switchres disabled,
MAME will use exclusive mode when rendering with Direct3D. This
means some of the switching to/from fullscreen mode problems will
come back, but should prevent confusion over poor performance by
default. [Aaron Giles]

Made it a non-fatal error if we are unable to change a joystick to
absolute mode in the Windows input code. Some drivers apparently
freak out about this. [Aaron Giles]

Defined a couple more inline functions: div_64x32_rem and the
unsigned equivalent divu_64x32_rem. Added inline implementations
for GCC x86 and MSVC. [Aaron Giles, Vas Crabb]

Cleaned up timer interfaces. Created new module attotime which manages
a new structure type attotime, equivalent to the old mame_time. All
time math functions are now implemented in attotime and have been
removed from timer.h. The following search/replace over the code has
been made:

   mame_time              -> attotime
   subseconds_t           -> attoseconds_t
   time_zero              -> attotime_zero
   time_never             -> attotime_never
   make_mame_make         -> attotime_make
   mame_time_to_subseconds-> attotime_to_attoseconds
   mame_time_to_double    -> attotime_to_double
   double_to_mame_time    -> double_to_attotime
   add_mame_times         -> attotime_add
   add_subseconds_to_mame_time -> attotime_add_subseconds
   sub_mame_times         -> attotime_sub
   sub_subseconds_from_mame_time -> attotime_sub_subseconds
   scale_up_mame_time     -> attotime_mul
   scale_down_mame_time   -> attotime_div
   compare_mame_times     -> attotime_compare

In addition, all the mame_timer_* functions have been renamed back to
their original names timer_*, so it is timer_set() instead of
mame_timer_set() once again. The mame_timer object itself has been
renamed to emu_timer.

New games added or promoted from NOT_WORKING status
Best Of Best [Luca Elia]

New clones added
Cluedo (prod. 2) [James Wallace]


Source Changes
Added an API to access the current amiga_machine_interface.
[Nathan Woods]

Added more static qualifiers to core files. [Atari Ace]

Fixed reversed clock speeds in mexico86. [Brian Troha]

Changed malloc tracking to be decided at runtime in a function
use_malloc_tracking(). This makes it easy to turn it on or off by
recompiling only a single file. [Nathan Woods]

Split up MSVC inline assembler functions into MSVC specific headers,
and removed the assumption that Window's osinline.h would only be
used by MSVC. [Nathan Woods]

Optimized the hyperstone core, gaining ~50% speed improvement in most
games. Implemented clock prescaling and corrected interrupt priority
handling. Then fixed the clock speeds on the most of the games and
killed most of the speed gains in quite a number of them. (Sorry!)
[Aaron Giles]

Added explicit Core2 architecuture support to the makefile (CORE2=1).
Note that gcc 4.2.0 doesn't understand core 2, so this is equivalent
to compiling with pentium-m architecture and -sse3. Also note that
compiling native on a Core2 is not what you want because native will
think you are on a Prescott, which is P4-era hardware. [Aaron Giles]

Changed alignment of rgbint values in the namcos22 driver to work
around 32-bit gcc's lack of proper alignment handling. [Aaron Giles]

Fixed attotime routines to use unsigned math for multiply/divide,
solving problems with some games which errantly passed in -1 for the
factor. The new behavior matches the original behavior. [Aaron Giles]

Renamed colortable to colortable_t. Added a Machine->colortable
entry to hold the global colortable for games that use it. Updated
several more drivers to just use palettes directly rather than
hacking colortables. [Aaron Giles]

New clones added
Fighting Soccer (version 4) [Corrado Tomaselli]
Stadium Cross (US) [Arzeno Fabrice]


Source Changes
Fixed colors in loverboy. [David Haywood]

Fixed buffer overflow in K054539. [BUT]

SCSP improvements: [kingshriek]
- Added logarithmic envelope table
- Set envelope level to start at 0x17f in the ATTACK state
    (0x3ff-0x280) as per Neill's notes
- Changed EG_SHIFT from 8 to 16 - more precision is needed to
    differentiate the longer decay envelope times
- In the DECAY1-->DECAY2 transition, changed the "<=" to "<"
- Decreased the output of the effect out mixer a bit
- Fixed unaligned 16-bit samples
- Prevented keyoffs from killing slots when already in the release
- Envelope steps in the attack state are apparently exponential. To
    account for this, I change the envelope output to linear for
- Change the release rate calculation to use the decay table instead
    of the attack one.

Fixed uninitialized variable in h6280 core. [Wilbert Pol]

Added meter support to the Cobra games. Cleaned up some of the
steppers code. [James Wallace]

Const-ified a number of data structures in the MAME system.
[Atari Ace]

Added PowerPC 604 processor support. Moved PowerPC opcode tables to
the CPU context to allow multiple simultaneous processors with
different opcode tables. [Ville Linde]

dkong driver updates: [couriersud]
- Added configuration switch to change palette between TKG02
    (radarscp conversion) and TKG04 (dkong 2board)
- Added speech support (samples) to radarsc1
- Fixed sound for drakton and strtheat
- Hooked up and written 8257 dma controller
    All dkong and dkongjr based games now use the 8257
    All epos and 2650 based games now use the 8257
- Fixed 2650 games to use dkong audio as well - only cpu replaced
    by addon board ...
- Updated game flags and added missing rom entries
- straightened memory maps
- Fixed bug in dkong3b memory map
- Externalized sound drivers to MACHINE_START in audio/dkong.c
- DAC Filter now uses lowpass sallen key filter
- Reorganized INPUT_PORTS
- Added Dip-Switch locations to 8ballact
- Fixed 8ballact according to conversion manual
- Reorganized code

Corrected a potential issue if more than one 8039/8035 is used by
a driver. Also should fix a potential inconsistency between saving
and loading a state. [couriersud]

Added an assert to ensure that the sound clear latch value is only
set at init time, since its value is not saved. [Aaron Giles]

Modified src2html to sort by filename rather than assuming that the
osd file finding routines would do so. [Aaron Giles]

Fix memory system regression caused by recent optimization. Fixed
another bug uncovered as a result in the decrypted opcode management.
[Aaron Giles]

More Zeus improvements. Converted over to 64-bit data and simplified
the logic to work more like the hardware. [Aaron Giles]

New games added or promoted from NOT_WORKING status
The Block Kuzushi (JAPAN) [Guru, smf]
Wrestle War (Mega-Tech) [Mame Italia]

New clones added
Puzzle & Action: BoMulEul Chajara (Korea) [Guru, David Haywood]
DaeJeon! SanJeon SuJeon (Korea) [Guru, David Haywood]
Success Joe (World) [Corrado Tomaselli]

New games marked as GAME_NOT_WORKING
Stress Busters [Guru, David Haywood]
Magical Zunou Power [Guru, David Haywood]
Draw 80 Poker [Jim Stolis]
1 on 1 Government (JAPAN) [Guru, smf]


MAMETesters Bugs Fixed
namcos22.c_0121u1red [Aaron Giles]

Source Changes
Added new option -update_in_pause which enables updating the screen
bitmap while the game is paused. This is useful for debuggin in
some scenarios (and gets in the way in others). [Olivier Galibert]

Added new VIDEO_TYPE_NONE to indicate that there is no screen, and
fixed internal UI displays to ignore resolution parameters if it is
specified. [Dirk Best]

Added missing consts to the files in the emu, lib, and osd
directories. [Atari Ace]

Updated drivers to use const structs and arrays where possible.
[Atari Ace]

shisen improvements: [Sonikos]
- added dips location
- added dips condition
- remove fake dips coinage
- fix tow dips in matchit

Updated inputs in qrouka to support the 3rd and 4th stick. [Sonikos]

Fixed crash in mngwrite if the game does not have a palette.
[Nathan Woods]

SCSP updates: [kingshriek]
- Added effect-in mixer
- Added DSP floating-point support
- Added bounds check to the DECAY1 EG output
- Fixed the saw PLFO waveform
- Fixed loop points so loops no longer go out of tune/include
    garbage samples

Fixed missing profiler call in video.c. [Christophe Jaillet]

Implemented status flag in Star Wars matrix processor, which affects
gameplay speed. [Mathis Rosenhauer]

Changed M37710 CPU to use the CPU clock for its internal timer rather
than a hard-coded value. Fixes tempo in Namco NA-1 games.
[Phillip Bennett]

Fixed accidentally included change that allowed MAME to run in
windowed mode if switchres was off. [Aaron Giles]

Midway Zeus improvements: [Aaron Giles]
* Cleaned up video code, removed unnecessary math
* Added bilinear filtering
* Removed perspective correction
* Added proper video timing configuration
* Added lightgun support to invasn
* Increased resolution on fixed point math to prevent overflows
* Fixed texture addresses to only count even rows
* Added missing U/V scale factors
* Added solid polygon rendering support
* Fixed screen clear trigger
* Implemented fade out effect
* Added Z offsets
* Added support for splitting model commands
* Hooked up FIFO empty IRQ to make invasn work nicely
* Correct PIC values for invasn
* Implemented per-quad texture offsets
* Hooked up writes to registers during model data processing

New games added or promoted from NOT_WORKING status
Mortal Kombat 4 [Aaron Giles]
Shin Nihon Pro Wrestling Toukon Retsuden 3 Arcade Edition
   [R. Belmont, smf, Guru]
Super World Stadium '98 [R. Belmont, smf, Guru]

New clones added
Trivia Master (set 3) [Eric Marks]

New games marked as GAME_NOT_WORKING
Kaiun Quiz [R. Belmont, smf, Guru]
Super World Stadium 2000 [R. Belmont, smf, Guru]


MAMETesters Bugs Fixed
fightfev37b2gre [johnboy]
shootgal0121u4red [couriersud]
mk4_0121u4ora [Aaron Giles]
tmnt2_0121u4ora [Aaron Giles]
lcdlightgun0121u3gra [Aaron Giles]

Source Changes
Continued to add const qualifiers on remaining items in the project.
[Atari Ace]

Added explicit clears on Neo Geo initialization. [Haze]

Neo Geo updates: [johnboy]
* Added Neo-Geo game pcb info
* Corrected a number of incorrect ROMs
* Added MVS VERSION tag to fightfva, renamed 'P'-rom
* Added MVS AND AES VERSION tag to joyjoy
* Added AES VERSION tag to kof99
* Added MVS VERSION tag to kof99a

Cleaned up input ports for cave.c and rpunch.c. [Sonikos]

Another big dkong.c driver update: [couriersud]
- wrote M58817 sound driver and hooked it up
     Uses tms5110 speech synthesis. LPC format is identical, however
     coefficients seem to be different. Until coefficients are known,
     samples are used.
- changed dkong/radarscp based games to use hardware-conformant
    I8035 memory maps
- Added drakton clone drktnjr on dkongjr hardware
- moved address remapping proms to REGION_USER1 (hunchbkd & co)
- Service now adds credit
- Hooked up coin_counters
- dkongjr: mapped more interface lines between sound and cpu boards
- tagged all inputs, all reads use tag names
- moved more static vars into dkong_state

More major SCSP fixes: [kingshriek]
- Rewrote much of the interpolation code
- Improved key-rate scaling calculation
- Fixed playback of non-looping samples with a zero loop-end address
- Fixed backwards looping mode so that it initially reads forward
    until encountering the loop-start address
- Preliminary but reasonable-sounding FM support
- Fixed overflow in frequency calculation
- Improved FM, but it's disabled for now because it doesn't sound
    right yet
- Improved DSP wet/dry mix (should be correct now)
- Fixed a minor LPSLNK problem

Fixed Hopper Empty and Coin-Out Timeout issues in the peplus.c driver.
[Jim Stolis]

Removed obsolete crosshair code. [Oliver Stoneberg]

Fixed several minor memory leaks. [Oliver Stoneberg]

New games added or promoted from NOT_WORKING status
Orbs (10/7/94 prototype?) [Tomasz Slanina]

New clones added
Soccer Brawl (set 2) [johnboy]
Drakton (DKJr conversion) [couriersud]


MAMETesters Bugs Fixed
ym2610_0119u2gre [Philip Bennett]

Source Changes
Zeus updates: [Aaron Giles]
* Figured out data format of 2 matrix form.
* Extracted data for lights.
* Added backface culling which mostly works but fails sometimes, so
    it is disabled.
* Started on some initial lighting calculations.
* Cleaned up zeus wave RAM accessors.
* Changed rendering code to allow for greater parallelism on multicore
* Removed some vestigial zeus 2 hacks.
* Reduced visible area to remove artifacts.
* Made right/bottom vertices inclusive to fix some gapping issues.
* Fixed invasn lightgun offset.

Zeus 2 hardware:
* Fixed ROM loading, added banking support.
* Separated zeus 2 video implementation from zeus implementation.
* Implemented direct pixel accesses; enough to get startup screens
    to show.
* Hooked up ZPRAM.
* Fixed digital inputs for crusnexo.
* Fixed default screen parameters to match the games.

Afega/nmk16 cleanups: [David Haywood, Tomasz Slanina]
* Merged afega.c and nmk16.c drivers
* Removed many hacks from both.
* Fixed a number of games

Fixed C219 sample read order and implemented sign+magnitude format.
Removed GAME_IMPERFECT_SOUND flag from all Namco NA-1 games.
[Philip Bennett]

Fixed ROM-based DCS2 system to ignore HLE transfers. (Fixes broken
sound in invasn.) Properly reduced internal memory on the ADSP-2104
variants. [Aaron Giles]

Fixed bug that would cause events to leak through to the game when the
debugger was up. [Aaron Giles]

Verified some cpu clocks of original boards using a frequency counter:
[Corrado Tomaselli]
* Changed Success Joe Ym2203 clock from 3mhz to 4mhz
* Changed Pang M6295 clock from 990khz to 1Mhz
* Changed Halley Comet main cpu clock to 1.664mhz (it's not a
    mistake, the clock is very low)
* Besides confirming clocks on some games, I modified:
* Aerofighters and Turbo Force sound z80 to 5mhz
* Midnight Resitance 68k cpu to 10mhz (20mhz crystal) and modified
    m6295 clock to 1mhz. Also confirmed pin 7 is high.
    (Midnight resistance has a lot of slow downs on the pcb too)

Minor "code quality" improvements: [Atari Ace]
* fixed some remaining static/const qualifier missed cases
* fixed some missing #include "foo.h"
* a few global names were modified to make them less generic/more
    consistent (voodoo.c, vrender0.c, lethal.c, rungun.c, zac2650.c)
* some dead/useless code was removed (i8051.c,model1.c,romcmp.c)

New games added or promoted from NOT_WORKING status
Invasion [Aaron Giles]
Buggy Boy Junior/Speed Buggy (Upright) [Philip Bennett]
Task Force Harrier [David Haywood, Tomasz Slanina]
US AAF Mustang [David Haywood, Tomasz Slanina]
Black Heart [David Haywood, Tomasz Slanina]
Red Hawk [David Haywood, Tomasz Slanina]
Stagger I [David Haywood, Tomasz Slanina]
Sen Jin - Guardian Storm [David Haywood, Tomasz Slanina]
Spectrum 2000 [David Haywood, Tomasz Slanina]
Fire Hawk [David Haywood, Tomasz Slanina]

New clones added
World Class Bowling (v1.3) [Brian Troha]


MAMETesters Bugs Fixed
pestplce0122red [couriersud]
hunchbkd0122red [couriersud]
radarscp0122yel [couriersud]
mwalk0122red [couriersud]
qtheater0122u1ora [Philip Bennett]

Source Changes
Fixed M65C02 optimization. [Peter Trauner]

TMS51xx and M58817 speech updates: [couriersud]
- radarsc1 uses tms5110 speech synth
- cvs games: according to PCBInfos speech chip is TMS5100.
    Changed driver to use TMS5100 and "game system operational" now
    sounds more natural
- removed sound/m58817.*
- added support for multiple coefficients maps to tms5110.*
- added coefficient maps for TMS5100 and M58817 from documented
    sources to tms5110r.c
- fixed interpolation factors (see tms5110r.c for reason)
- made lattice calculation precision 9bit
- added support for READBIT and LOADADDRESS commands to tms5110.c
- more changes in line with various patents
- documented TRS-02, TKG-02/03 "voice" interface

Completed the addition of static qualifiers to all MAME symbols that
aren't explicitly exported. [Atari Ace]

Named the input_seq_type enumeration and used it explicitly in several
places. [Nathan Woods]

Corrected tx1 and tx1a coinage DSW assignments. Reversed buggyboy/
buggybjr 'Game Time' settings. [Philip Bennett]

TMS3203x core updates: [Aaron Giles]
* fixed interrupt handling
* added support for edge-triggered interrupts on '32
* expanded interrupt support for the '32
* updated drivers using TMS3203x core to deassert interrupts
* added externally accessible functions for converting '3x floating point
* updated gaelco3d driver to use new functions

Zeus2 (+related) updates: [Aaron Giles]
* fixed save states for DCS games
* cleaned up Zeus2 waveram handling
* added Zeus2 save state support
* added preliminary model and quad rendering support for Zeus2
* added support to timekpr for the ZPRAM used on Zeus2
* hooked up ZPRAM in Zeus2 games
* hooked up controls in Zeus2 games
* updated poly.c to ensure it is idle before saving state
* Added artifical Z offset of -2 to make the full screen show in crusnexo

Replaced tekken2/tekken2a/tekken2b 'tes1wave.8k' ROM with the
correct, non-byte-swapped dump. [Philip Bennett]

Added discrete 74LS624(56789) implementation [couriersud]
- DISCRETE_74LS624 is a VCO needed for dkongjr
- Supports Logic, Energy and Count outputs

dkong updates: [couriersud]
- Added dkongjr discrete sound
- Proper interface Z80 - I8035 for dkongjr
- Changed discrete sound output factors
- removed samples support for dkongjr
- Cosmetic changes
- Fixed regression in radarscp sound
- Added dipswitch locations to dkong3b

Documentation and clock frequency improvements for seta.c: [Brian Troha]
- Added the Guru's readme info for Thundercade
- Corrected rom name for Thundercade
- changed clocks to OSC by divider IE: 16000000/2 /* 8MHz */
- Changed Orbs clock to 16MHz with note about 14.xx MHz
- Changed Meta Fox's x0-006 (65c02) to same as Thundercade
- Changed the YM3438 in Ultra Toukond Densetsu from 6MHz to 1600000/4
    /* 4MHz */ as there is no mention of 6MHz OSC on PCB

Verified a number of clock frequencies from real PCBs.
[Corrado Tomaselli, Zsolt Vasvari]

Fixed several memory leaks related to SCSI CD emulation.
[Oliver Stoneberg]

Removed the increasing of the R register from each IX/IY related
(FD xx or DD xx) instruction on the Z80. According to documentation
and the behavior of the Amstrad CPC driver, this is incorrect.
[Barry Rodewald]

Added initial FPU support to the SH4 core. [Samuele Zannoli]

Adjusted most conditional logging in MAME to use the idiom
"do { if (VERBOSE) logerror x; } while (0)". This has the benefit that
the compiler checks the syntax of the logging even in the case it will
be eliminated, and in fact a number of cases here needed adjustments
to compile because of this. [Atari Ace]


MAMETesters Bugs Fixed
hstennis0103u2gra [Brian Troha]
edrandy0113gra [Brian Troha]
robocop2_0106u3gra [Brian Troha, Bryan McPhail]
mario0110u1gre [couriersud]
sbrkout0118yel [R. Belmont, Adam Bousley]
pestplce0122red [couriersud]
funkyjet055yel [Bryan McPhail]
liberate074u1gre [Bryan McPhail]
tokiu056gre [Bryan McPhail]
powerbls0112u4red [Pierpaolo Prazzoli]
wwestern0115u1yel [Atari Ace]
namcos1_0118u2yel [Atari Ace]
victnine0116u2red [Pierpaolo Prazzoli]
btoads0103gre [Aaron Giles]

Source Changes
Fixes clocks for Orbs. [David Haywood, Tomasz Slanina]

Fixed various 64-bit GCC warnings. [R. Belmont]

Improves accuracy and documentation of NSS/SNES DSP-1.
[Andreas Naive, R. Belmont]

Added new file xtal.h, documenting all known arcade PCB clock cystals.
Drivers should be updated to use these as a basis for their clocks,
and the list should be augmented as additional crystals are found.
[Guru, Aaron Giles]

suprloco improvements: [Pierpaolo Prazzoli]
* Fixed IC.34 memory test
* Fixed 2nd player cocktail mode
* Changed coin3 to service1

Cleaned up inputs/DIP switches in cninja driver. [Brian Troha]

Rewrote mario.c: [couriersud]
- rewrote driver, separate MACHINE_DRIVER(mario_audio)
- palette from schematics
- video timing from schematics
- driver configuration switch Nintendo/Std Monitor
- got rid of COLORTABLE

Fixed typo for IO1 irq callback in hyperstone core.
[Pierpaolo Prazzoli]

Added memory_get_bank() function. Fixed logging in memory.c to to use
%p for pointer values. [Aaron Giles]

Fixed save states in i8051 cpu core [Pierpaolo Prazzoli]

Implemented a few SysCtrl, Maple, and PVR/HOLLY bits for Naomi. The
BIOS gets slightly further but is nowhere near starting up.
[R. Belmont]

Zeus updates: [Aaron Giles]
* Better documented various bit latches.
* Hooked up crusnexo lamp board (added layout).
* Fixed year in MK4 startup test.

Fixed TMS5110 tables. [couriersud, Lord Nightmare]

Removed ui_popup(). Drivers should always be using popmessage()
instead (has been this way for a while). Augmented popmessage() so
that you can pass NULL to immediately dismiss any messages.
[Aaron Giles, thanks to Oliver Stoneberg's suggestion]

Added ATTR_PRINTF to a number of functions that have printf semantics.
[Oliver Stoneberg]

Rewrote sbrkout driver based on schematics: [Aaron Giles]
* XTAL-based timing
* Correct video timing
* Full memory map
* Correct memory usage ("zero page" RAM is shared with videoram)
* Removed all input hacks
* Fixed interrupt generation
* Connected coin counters
* Added save state support

Fixed several UNICODE=1 issues in the debugger. Changed the Windows
build process to always enable UNICODE=1 for 64-bit builds.
[Oliver Stoneberg, Aaron Giles]

Added save state support to btoads. [Aaron Giles]

Fixed onna34ro mcu simulation properly. [Pierpaolo Prazzoli]

New clones added
Mutant Fighter (World, EM-3) [Stefan Lindberg]
The Simpsons (2 Players Asia) [Arzeno Fabrice]


MAMETesters Bugs Fixed
gui0121u1gre [Aaron Giles]
drivedge0121u4gre [Aaron Giles]
bking3076u2red [Pierpaolo Prazzoli]
btoads0102u5gre [Aaron Giles]
btoads0103u1gre [Aaron Giles]
editableui0120u4red [Aaron Giles]
cheat0118red [Aaron Giles]
altf4_0111u4gre [Aaron Giles]
beastrzb097u2red [Oliver Stoneberg]
memoryleak0118u1ora [Oliver Stoneberg]
memory_leak0111u6ora [Oliver Stoneberg]
mahoudai0106u7yel [Philip Bennett]
gridiron079gre [David Haywood]
maniach37b11gre [David Haywood]
matmaniac37b14gre [David Haywood]
qzkklgy2_0106u6red [David Haywood]
warriorb0109u2gre [David Haywood]
vball071u1gre [Bryan McPhail]
d3dwindow0117u3red [Aaron Giles, Emuman]
arkanoid061gre [Bryan McPhail]
flkatck058gre [David Haywood]
memleak0119u3ora [Oliver Stoneberg]
system24_0120u3red [Atari Ace, Aaron Giles]
aleck64_0120red [Aaron Giles]
mtetrisc0115u1red [Aaron Giles]
suratk0122u3gra [Pierpaolo Prazzoli]
suratk0122u3ora [Pierpaolo Prazzoli]
skychut37b1yel [couriersud]
skychut37b6gre [couriersud]
darius2_0114gre [Bryan McPhail]
ad2083_0111u5gra [couriersud]
abaseb0122u3red [Zsolt Vasvari]
ladybug080u1gre [Zsolt Vasvari]
suprridr0122u2gra [Zsolt Vasvari]
invho2_0122u3red [Zsolt Vasvari]
narc37b16yel [Aaron Giles]
kingofb37b6gre [robiza]
stonebal0117u2gre [Aaron Giles]
wotw36b1gre [Zsolt Vasvari]
wallst071gre [Zsolt Vasvari]
mtrap37b14gre [Zsolt Vasvari]
pitfight0109u2gre [Aaron Giles]

Source Changes
Corrected btoads clocks according XTALs on the PCB. [Aaron Giles]

"Simplified" MC8123 decryption, though it's still more complicated
than I'd like it to be. [Nicola Salmoria]

Cleaned up clocks in the itech32 driver. [Aaron Giles]

Added partial key for FD1089B 317-0037. [Nicola Salmoria]

Fixed bking3 clocks as per Guru readme. Added GAME_WRONG_COLORS flag
to bking3. [Pierpaolo Prazzoli]

TMS34020 fixes: [Aaron Giles]
* Allowed 32-bit pixel sizes
* Fixed RPIX instruction

Added new function input_poll_keyboard_switches to poll for only key
events. Expanded the size of the maximum simultaneously pressed
switches. [Aaron Giles]

Removed GAME_IMPERFECT_GRAPHICS from all jpmimpct games bar Cluedo
(see driver note). [Philip Bennett]

mario driver improvements: [couriersud]
- Hooked up flipscreen
- Changed monitor orientation to ROT0

Added Z80 DMA chip [couriersud]
- only implements intelligence to emulate dkong3
- fixed a misleading comment in 8257dma.h

dkong driver improvements: [couriersud]
- hooked up z80dma
- removed 2nd player inputs from sdbk input_ports
- fixed some dump "copy/paste" bugs in dip locations

Added redumped Turkey USA to the seta2.c driver. [Brian Troha]

Fixed bad ram pages errors in stactics service mode.
[Pierpaolo Prazzoli]

Atari updates: [Aaron Giles]
- Added save state support to slapstic.
- Added save state support to YM2413.
- Modified slapstic code to support address range mirrors.
- Cleaned up Rampart driver:
    - simplified rendering code
    - full memory map
    - added save state support

Implemented decent-sounding FM in the SCSP. [kingshriek]

Updated Naomi driver, now boots and shows some test menus (press F2
to get into test, use 9 to navigate). Also hooked up ROM board PIO
and skeleton for DMA. [R. Belmont, Samuele Zannoli, ElSemi]

N64 improvements: [SGINut]
- Move texture masking to occur after coordinate adjustment
- Fix 32-bit texturing in load_tile (Mario Kart 64 title screen)
- Add zero-alpha early-out (Mario 64 trees/stars, Mario Kart 64

ad2083 improvements: [couriersud]
* completed tms5110A code
* working speech synthesis
* documented analysis done on pcb pictures and findings
* as a consequence, marked all sound roms as BAD DUMP
* created sound driver in scramble.c

Cleaned up graphics layouts in preparation for new format. Added new
GFXLAYOUT_RAW() macro to normalize definition. Added new validation
code. Made all remaining instances of gfx_layouts const. [Atari Ace]

Updated Amiga driver to use formal XTALs. [Dirk Best]

Changed 6522 emulation such that when writing to the ACR register with
the timer 1 in continuous counting mode, the timer 1 value should not
be reloaded but keep on counting. [Wilbert Pol]

Added XTAL defines to bfm_sc2.c and cleaned up lvcards.c.
[James Wallace]

Added default layout to neogeo games allowing for either cropping or
stretching to the alternate 304x224 layout. Removed default cropping
in the driver. [David Haywood, Aaron Giles]

Fixed crash when saving state of older DCS-based games. Added save
state support to the midvunit driver. [Aaron Giles]

Major improvements to Cycle Warriors video code (still not perfect,
but road layer works now). [Bryan McPhail]

Major rewrite of skychut.c. There are still some glitches and it is
not perfect but the following has been achieved: [couriersud]
* adds samples to ipm invaders - just rename your old invaders
    samples to ipminvad to test
* added - amongst others - "capsule" dip switch to ipm invaders
* sound ports identified
* demo sound and cabinet type driver configuration

Updated memory configuration for Superboard game versions in peplus
driver. Fixes CMOS DATA errors on reload. [Jim Stolis]

Rewrote the CVS system video code. [Zsolt Vasvari]

Fixed S2650 register window display. [Zsolt Vasvari]

Added sound to Cycle Warriors and Big Fight. Corrected OKI M6295
clock values. [Philip Bennett]

Fixed missing arrow in Venture on the zoomed out map, and the
incorrect fading twister in Hard Hat. [Zsolt Vasvari]

New games added or promoted from NOT_WORKING status
Dangerous Curves [Philip Bennett, Dazzer]
Big Fight [Bryan McPhail]

New clones added
Invasion - The Abductors (version 5.0) [Brian Troha]
Alien Syndrome (set 5, System 16A, FD1089B 317-0037) [Nicola Salmoria]
Dragon Spirit (Atari license) [Satoshi Suzuki]


MAMETesters Bugs Fixed
scorpion0111u5gra [couriersud]
qbert37b14gre1 [Zsolt Vasvari]
blktiger060gre [robiza]
kinstc081u7gre [Aaron Giles]
kinst2083gre [Aaron Giles]
umk3059gre [Aaron Giles]
umk3137b5gre [Aaron Giles]
lasso056gre_1 [Zsolt Vasvari]
lasso056gre_2 [Zsolt Vasvari]
term20103u4gre [Aaron Giles]
term20104u2gre [Aaron Giles]
m72_0115u3yel [Mamesick, Aaron Giles]
deadang0119u2red [David Haywood]
tmnt095gre [Zsolt Vasvari]
memleak0122u2ora [Atari Ace]
junglek055gre [Zsolt Vasvari]

Source Changes
Fixed flipped tilemap offset for scramble and clones (playable
cocktail mode). [couriersud]

Changed Exidy driver to draws the background directly from memory
avoiding having to decode the gfx repeadately. [Zsolt Vasvari]

Added machine and cpunum parameters to INTERRUPT_GEN callbacks. Fixed
several places that were not using INTERRUPT_GEN or OPBASE_HANDLER
macros. [Atari Ace]

Minor bugfixes to the gfxlayout cleanups included in u4. [Atari Ace]

Added code to debug 64-bit builds to allocate all address space below
4GB to help find 64-bit errors. Added environment variable
OSDDEBUGMALLOC which, if set, explicitly overrides the debug malloc
debug settings. Added environment variable OSDDEBUG4GB which, if set,
explicitly overrides the new 64-bit address space allocations. (Sadly
this is necessary due to some D3D drivers being 64-bit unclean....)
[Aaron Giles]

Fixed winwork to use proper tchar functions for getenv. [Aaron Giles]

Fixed bug where the 64-bit DRC was not saving rbp. [Aaron Giles]

Cleaned up the lasso driver. [Zsolt Vasvari]

Simplified Y-unit DMA rendering, fixing bugs and removing the macro
voodoo. [Aaron Giles]

Removed a bunch of dead code from othunder.c. [Zsolt Vasvari]

Implemented proper video timing and scanline interrupts in the m72
driver. [Mamesick, Aaron Giles]

mario.c improvements: [couriersud]
* discrete sound
* hooked up z80dma
* combined memory maps
* statics in mario_state struct
* fixed save state issues
* combine sh_* writes into one routine

audio/dkong.c: [couriersud]
* fixed LS123 constant to match TI datasheet diode circuit constant

TX-1 improvements [Philip Bennett, Guru]:
* Fixed remaining arithmetic unit issues
* Added correct object colour pixel LUT PROM to tx1a
* Fixed x-flipping
* Added engine sounds

Added correct DIP switch settings for Big Fight. Also corrected Cycle
Warriors DIP switches. [Philip Bennett]

Changed and verified frequencies on Ikari Warriors h/w, Tnk3, Hyper
Sports, Jackal and S.A.R. [Corrado Tomaselli]

Verified and corrected a lot of frequencies and oki6295 pin 7 on pcbs:
Double Dribble, Chequered Flag, Diet gogo, Boulderdash, Sly Spy,
Psycho Nics Oscar, Captain Silver, Magical Cat Adventure, Raiden,
Superman, Twin Hawk, Vimana, Ghox, Dogyunn, truxton2, Pipi and Bibis,
Fix Eight and Money Money. [Corrado Tomaselli]

Cleaned up brkthru/darwin memory maps. Changed both games to use
identical video timing parameters based on measurements of darwin.
Guessed based on available information at the master clock and
derived all game clocks from it. [Aaron Giles]

Reogranized and started to clean up the CVS driver. Added emulation
of the speech CPU. Removed CVS BIOS entry. Removed unnecessary
patching. [Zsolt Vasvari]

sauro.c: [couriersud]
* Hooked up sp0256 sound
* analyzed and commented some ports
* added palette_bank support without real success

Reorganized the Raiden 2 driver.. a bit of extra documentation of the
'V33' based set, which has been renamed. Nothing new working.
[David Haywood]

Fixed scan functions for kickgoal background, which were swapped.
[David Haywood]

Fixed 2650 disassembly of the sense and flag bits. Fixed incorrect
argument order in OUT instruction. Corrected spacing. [Zsolt Vasvari]

Fixed hang/crash on empty config file. [Wilbert Pol]

Cleaned up tceptor memory maps. [Zsolt Vasvari]

Atari System 2 driver cleanup: [Aaron Giles]
* Proper video timing.
* Full memory maps.
* Save state support.
* Removed 720 sound CPU hack in favor of prepopulated EEPROM like
    the other games.

Added support for outputting 64-bit target addresses in the i386dasm.
[Aaron Giles]

Added MESS PC-Engine emulatation system. Fixed MAME debug build under
VC2003. [David Haywood]

Unified memory maps in tmnt.c and twin16.c. Reversed ROM set names
of Cuebrick World and Japan versions. Changed some function names to
reflect parent set. [Zsolt Vasvari]

Changed Konami drivers to allocate and decode graphics using the same
layouts. Removed the layout parameter from the decodechar() calls.
[Atari Ace]

Fixed C++ compilation errors. [Dave Dribin]

Made INPs compatible between 64-bit MAME and 32-bit MAME. [Chad]

Complete taitosj memory map from Nicola's ancient notes. General code
clean-up. [Zsolt Vasvari]

src2html improvments: [Aaron Giles]
- added line numbers
- added link to the raw file if the src and dst dirs are the same

"Fix" for full screen switch, which makes no sense, but is included
based on empirical evidence that is somehow works. [Emuman]

New games added or promoted from NOT_WORKING status
Name Club Ver.3 (J 970723 V1.000) [David Haywood]
Blazing Lazers [David Haywood, Charles MacDonald, Mr. Do]

New clones added
Lead Angle (Japan) [Guru]
A Question of Sport (39-960-107) [Highwayman]
Gee Bee (F.lli Bertolino license) [Corrado Tomaselli]

New games marked as GAME_NOT_WORKING
Road Runner (Midway) [Zsolt Vasvari, Guru]
Paranoia [David Haywood]


MAMETesters Bugs Fixed
pangpoms098u3ora [Brian Troha]
cuebrckj0102u5gre [Zsolt Vasvari]
astinvad0106u11gre [Aaron Giles]
victory137b4gre [Zsolt Vasvari]
victory37b16gre [Zsolt Vasvari]
dcs057ora [Aaron Giles]
pleiads0111u4gre [Robbert]
armwrest35b9yel [David Haywood]
gstrik20105u4gra [Brian Troha]
narc060gra [Aaron Giles]
mia0106u5gra [RansAckeR]
nss_smw0115ora [Atari Ace]
darkplnt0119u3yel [Atari Ace]
mhhonban0120u3gra [RansAckeR]
rollerg0111u5gra [RansAckeR]
bionicc0109ora [RansAckeR]
lcasino0111ora [RansAckeR]
megaplay.c0122u4red [Atari Ace]
nmnlnd0122u3yel [Mamesick]
cocktail0119yel [Robbert]
tokisens0122u3gra [RansAckeR]
alleymas0119u3gre [RansAckeR]
crbaloon36finalgre [Zsolt Vasvari]
topsecrt0109gre2 [Bryan McPhail]
quasar0122u5red [Zsolt Vasvari]
stadhero0122u3gra [RansAckeR]

Source Changes
Swinging Singles cleanup: [Tomasz Slanina]
- hooked up crt6845
- converted to tilemaps
- simplified protection(?) emulation
- removed tilemap, a bit more low level video hw emulation
- fake colors

Lowerd FPS in lasso.c to avoid corrupting Chameleon's high score
table. [Zsolt Vasvari]

Removed obsolete uitext.c and all references to it. [Aaron Giles]

Some more modernization/clean-up in the exidy driver. [Zsolt Vasvari]

Added VIDEO_ALWAYS_UPDATED for reliable collision detection in the
CVS driver. [Zsolt Vasvari]

Cleaned up astinvad driver: [Aaron Giles]
* Proper video timing
* Hooked up 8255 PPIs
* Correct interrupt timing
* Consolidated code into single file

i8039.c/mario.c updates: [couriersud]
* fixed movd instructions
* add MB8884 and M58715 cpu types
* moved timer hack to M58715
* added ram_mask for internal ram access
* added R.A11 as 'M' to dasm flags
* added EA "IO" port
* mario now uses M58715 as sound cpu
* hooked up EA line for M58715
* fixed portA startup value
* documented hardware changes to use a I8039 on a mario board

sauro.c: [couriersud]
* revert promsize to 256 for trckydoc

Added XTAL clocks to zaxxon.c. [Aaron Giles]

Cleaned up cojag/jaguar driver: [Aaron Giles]
* proper video timing, configured by the chipset
* 32-bit rendering, removing 16bpp hacks
* support for borders
* proper object processor timing, including multiple passes per line
* added R3041 as a clone of the R3000
* fixed XTALs based on documentation

Consolidated exidy and victory drivers. Removed complicated dirty
tracking from victory.c. Reorganized the exidy audio hardware code.
Changed Targ to use a loaded PROM instead of a hard-coded one. Renamed
Side Trak to Side Track as per the title screen. [Zsolt Vasvari]

6821 PIA changes: [Zsolt Vasvari]
- Added orthogonal accessors
- Removed hacky update_shared_irq_handler(), now the same
   IRQ callback maybe called multiple times, but this shouldn't
   be a problem
- IRQ lines are cleared on a reset

Disabled code in the TMS5220 that set the Buffer Empty flag after a
stop frame. This fixes Victory. This might be the incorrect fix but
the old code wasn't working either. [Zsolt Vasvari]

Hooked up revx dcs reset line. Signaled IRQ on correct CPU when DCS
sends data back (duh). [Aaron Giles]

Removed unnecessary check that could cause SCSP hangs in grdforce.

Tweaked deco156 clock speed to be 28 to prevent the games from running
in slow motion. I suspect the 156 chip has an internal multiplier, the
usual input pin is 7Mhz IIRC. [David Haywood]

dkong.c changes: [couriersud]
* added equivalence circuit for Sanyo EZV audio amplifier
* Set DK_C159 = 0 to avoid over-aggressive high-pass filter. Solely
    based on observations.
* added comment on above to source
* Added define DK_NO_FILTERS to turn of DAC filters and post-mixer
    filters for debugging

Adds dips for Water Balls. Adds dip port locations to all dips.
[Brian Troha]

Added CPUINFO_INT_CLOCK_MULTIPLIER to support CPU clock multipliers.
Updated all CPU cores to return a CPUINFO_INT_CLOCK_MULTIPLIER of 1.
Changed the core to actually respect both CPUINFO_INT_CLOCK_MULTIPLIER
and CPUINFO_INT_CLOCK_DIVIDER. Updated a number of drivers to use
cpunum_get_clock() instead of Machine->drv->cpu[x].clock. Raw input
clock speeds should now be specified for all CPUs in the

Changed TLC43076 and games using it to RGB32. Removed global Machine
variable where possible. [Zsolt Vasvari]

Removed dirtybuffer from video/generic.c and all drivers still using
it. Good riddance... Removed videoram_w, colorram_w and spriteram_w
and changed all drivers using it to access RAM directly. Removed
videoram_r, colorram_r, spriteram_r, spriteram16_r and spriteram16_w
from video/generic.c and changed all games to use (possibly shared)
RAM. [Zsolt Vasvari]

Cleaned up memory maps in the seibu sound interfaces. Changed to use
shared sound configs instead of statically copying them in each
driver. [Aaron Giles]

Verified and changed cpu frequencies and oki m6295 pin 7 on the
following pcbs: Asuka&Asuka, Cadash, Equites h/w games and sound
board, F1GP, Super Formula, Gladiator, Ping Pong king, Great
Swordsman, Irem m52 sound board, Tropical Angel, Explosive Breakers,
Magical Crystal, Mad Gear, Roller Aces, Chinese Hero, Simpsons,
Golfing Greats, Time Pilot 84. [Corrado Tomaselli]

Added some more static qualifiers on recent new/changed code.
[Atari Ace]

Fixed dbreed72 crash introduced in 0.122u5. [Mamesick]

Fixed HuC6280 low-speed mode so it uses 4 cycles instead of 3.
[Charles MacDonald]

Hand fixed Road Runner's corrupted ROM. We are 99.99% sure that the
bad bytes are the same as the Desert Gun ones. [Zsolt Vasvari]

Cleaned up leland clocks a little. Made the i186 divide-by-2 clock
internal. [Aaron Giles]

Added clocks to the MCR sound boards and some of the MCR games. Added
TMS5220 variants TMS5200 and TMC0285 as proper chips. Changed MCR
squawk & talk to use the TMS5200 as documented. [Aaron Giles]

Cleaned up Crazy Baloon driver: proper memory maps, crystals, etc.
Implemented the missing features of the collision detector custom IC.
[Zsolt Vasvari]

First pass at fixing the cpu clock speeds on the playstation based
hardware. The system 10 & 12 clock speeds have been raised as they
run on an upgraded chipset. The internal divide in the CPU core has
been set to 4 as we have no wait states, incorrect dma timing,
no gpu timing, no dma bus stealing and no gte timing. [smf]

Fixed RET instruction on the i960 core. [Ernesto Corvi, ElSemi]

Removed speedups in the gstream and limenko drivers which were
breaking the games. [David Haywood]

Fixed regression on i8039 T1 counter mode. [couriersud]

Added CUSTOM_INPUT macro for defining input port callbacks. Pushed
its usage throughout the code. [Aaron Giles]

phoenix and clones: [couriersud]
* video timing from schematics
* palette from schematics (resnet.h)
* no more colortable
* added save state

Minor RSP fixes: [SGINut]
- Fixed accumulator state on powerup by testing against real hardware
- Fixed single-step behavior by testing against real hardware

Added save state support to atetris.c. [Svante Gerhard]

Fixed up atetris memory maps and clocks according to schematics.
[Aaron Giles]

Added targ and spectar to TinyMAME. [neoforma]

New games added or promoted from NOT_WORKING status
Ripper Ribbit [Aaron Giles]
Chicken Farm [Aaron Giles]
Crazzy Clownz [Aaron Giles]
Space Fighter Mark II [Zsolt Vasvari, Guru]

New clones added
Heated Barrel (US set 2) [Corrado Tomaselli]
Player's Edge Plus (XMP00006) Multi-Poker [Jim Stolis]

New games marked as GAME_NOT_WORKING
International Toote (Germany) [Luca Elia]
Dodge City [Roberto Fresca]