0.108
-----


MAMETesters Bugs Fixed
----------------------
darius2056gre [robiza]



Source Changes
--------------
Fixed bug that prevented in-game MNG recording from working.
[Rene Single]

Added more extensive documentation to several of the Sega 16-bit
drivers. [Brian Troha]

Fixed color decoding in Cheeky Mouse. [Nicola Salmoria]

Improved DIP switches for headoni and spacbeam. [wolf676]

More debugger comments fixes: [Andrew Gardner]
 - adding a comment no longer redefines the disasm range.
 - comments properly save and load special characters (&,", etc)

Added sample_get_base_freq() to allow for querying to the base
frequency of samples. [Aaron Giles]

More G80 work: [Aaron Giles]
 - finished video cleanup
 - fixed Space Odyssey controls
 - added crude support for Astro Blaster attack rate
 - hooked up 005 melody generator, but missing sound PROM
 - finished sound cleanup

Changed debugger to default to 'on' in debug builds. [Aaron Giles]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Konek-Gorbunok [Eugene Sandulenko]



New clones added
----------------
Teenage Mutant Hero Turtles (UK 2 Players, set 2) [Patrik Styrnell]
Teenage Mutant Hero Turtles - Turtles in Time (2 Players ver EBA)
   [Patrik Styrnell]
Wonder Boy (set 4) [Nicola Salmoria]



0.107u4
-------


MAMETesters Bugs Fixed
----------------------
mngrecording0107u1ora [Aaron Giles]
vectorsnapshot0107u1red [Aaron Giles]
tdfever087u4gra [Canim]
quizmeku087u4gra [Canim]



Source Changes
--------------
Fixed the dips for Apache 3 and Dark Mist. [Brian Troha]

Added built-in overlays for clowns and maze. [Mr. Do!]

Converted Final Romance 2 to be dual screen. [David Haywood]

Converted the VFD display in the BFM games to use a second screen
rather than hacking onto the main screen. [El Condor]

Fixed detection of left/right modifier keys when paused. Also added
support for recently added keys so they are detected by MAME when
paused. [Ben Rudiak-Gould]

Changed render_target_alloc() to take a bitmask of flags. In addition
to loading a single file, targets can also be marked "hidden", and
only non-artwork views can be made visible. [Aaron Giles]

Added new render target layer config flag to disable screen overlays.
[Aaron Giles]

Changed snapshot taking code to render the particular screen to a
temporary render target. This allows vector games to have snapshots
again. [Aaron Giles]

Normalized the naming of several functions in video.c, most 
importantly: [Aaron Giles]

   force_partial_update -> video_screen_update_partial
   configure_screen -> video_screen_configure
   set_visible_area -> video_screen_set_visarea

Added new functions that do accurate per-screen timing based on
video parameters: [Aaron Giles]

   video_screen_get_hpos
   video_screen_get_vpos
   video_screen_get_hblank
   video_screen_get_vblank
   video_screen_get_time_until_pos

Fixed bug that caused the VIDEO_EOF to be called repeatedly while in
the debugger. [Aaron Giles]

Split render.c into rendutil.c, rendlay.c, and render.c to keep the
code more organized. [Aaron Giles]

Abstracted the notion of outputs. A new module, output.c, now controls
all outputs. Each output is tagged with a name; some standardization
eventually needs to happen on these names, but at the moment it's
fully open. The OSD layer can register with output.c to be notified
when outputs change. From there, it is free to do what it wants. LEDs
have now been converted to outputs with the name "led0", "led1", etc.
[Aaron Giles]

Added support for notifying external clients of changes in output
states in the Windows OSD system. See windows/output.h for a list of
messages that external clients can register to receive. Removed the
built-in hacky LED support in the Windows OSD layer. Created a sample
application ledutil.exe which subscribes to the external events and
routes the "led0", "led1", and "led2" outputs to the keyboard LEDs
just like before. If you want to continue to have LED support, simply
copy ledutil.exe into your startup folder and let it run in the
background. [Aaron Giles]

Modified the Q*Bert driver to signal a "knocker0" output when the
knocker is triggered. [Aaron Giles]

Added new layout element component type "text", which lets you draw
text in the built-in MAME font onto an element in a layout. This
can be used for basic lamps and built-in layouts. See maxaflex.c for
an example. [Aaron Giles]

Added new layout element component type "led7seg", which constructs
a 7-segment LED in an element in a layout. This is commonly used for
external score and timer displays. See maxaflex.c for an example.
[Aaron Giles]

Added built-in layouts for Turbo, Subroc 3D, Buck Rogers, Atari
Football, Atari Baseball, and Super Speed Racer using the new 
primitives. [Aaron Giles]

Fixed overflow computation in the S2650 core. [Aaron Giles]

More Sega G-80 raster cleanup: [Aaron Giles]
 * consolidated the video hardware implementations
 * fixed cocktail mode video and controls in all games
 * fixed Monster Bash (2 board version) video
 * revived Sindbad Mystery and fixed sound chip frequencies



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Trivia Quest [Pierpaolo Prazzoli]
SunA Quiz 6000 Academy [David Haywood]



New clones added
----------------
Zero (set 2) [David Haywood]



0.107u3
-------


MAMETesters Bugs Fixed
----------------------
pignewt0106u3gre [Aaron Giles]
ui_draw_text0.107u2red [Aaron Giles]
blueprnt0107u2red [Aaron Giles]



Source Changes
--------------
Improved DIP switches in benberob. [Brian Troha]

Added support for real Bubble Bobble MCU. [Trinity, Nicola Salmoria]

Fixed track lookup implementation in Virtua Racing, bringing the
game much closer to playable. [Olivier Galibert]

Minor cleanup and speed hack removal in the konamigx.c [R. Belmont]

Improved magicfly driver. All graphics are properly decoded / banked 
now. [Roberto Fresca]

More improvements to the 6840 timer module. Updated the MPU4 driver
to the most recent implementation. Convert Cosmic Chasm over to
using the new system. [El Condor]

65816/377xx update: [R. Belmont]
 * Made block transfer instructions interruptable as they are on 
    both actual chips (previously a single opcode could eat >400,000 
    cycles with obvious consequences for interrupt timing)
 * M377xx block transfers move one less byte than the 65816, fixed

Adjusted the DAC sound level on the 2612 to something more 
reasonable. [David Haywood]

Taito JC update: [Ville Linde]
 * Some general improvements to the driver
 * Added some more opcodes to the TMS320C51 core

Improved the M2 driver so that the M2 kernel starts to boot, but it 
hangs quite soon due to some multiprocessor issues. [Ville Linde]

Updated several games' input ports to use IPT_BILL1 for bill 
acceptors. [ClawGrip]

Properly documented and connected the MCU code in the Namco System 1,
System 86, Baraduke, Pacland, and Sky Kid drivers. [Brian Troha]

Renamed "Native" views to "Pixel Aspect" views to avoid the confusion
that they are anything but artificial aspect ratios. [Aaron Giles]

Added beam width control to the UI sliders. [Aaron Giles]

More Zaxxon driver cleanups/fixes: [Aaron Giles]
 * fixed sound problems in Razmataz
 * corrected background and sprite positioning
 * fixed bugs introduced in sample handling
 * bootlegs and alternate versions work again
 * added state saving support to the Sega universal sound board

Added several common generic graphics layouts to vidhrdw/generic.c, 
for use by multiple drivers. [Aaron Giles]

Added new option -video none which can be used for CPU benchmarking
without the overhead of the video system. [Aaron Giles]

Fixed remaining crashes in GDI/ddraw mode when drawing vector games.
[Aaron Giles]

Removed the -artwork option to avoid confusion. If you want to run
without any artwork, use -view standard instead. [Aaron Giles]

Added options -screen, -aspect, -resolution, and -view which apply
to all windows. These values can be individually overridden for each
specific window by using the existing -screen<n>, -aspect<n>,
-resolution<n>, and -view<n> options. [Aaron Giles]

Fixed bug that caused the sound sampling code to not track changes in
the refresh rate. [Aaron Giles]

Began cleanup/rewrite of the Sega G-80 raster games. This is still
very much a WIP, so don't report any bugs: [Aaron Giles]
 * cleaned up input port handling similar to the G-80 vectors
 * proper clock and video speeds
 * reimplemented Space Odyssey background including collision detect
 * fully implemented Pig Newton background
 * connected 2-board Monster Bash more correctly

Added new macro PORT_SERVICE_DIPLOC for specifying a PORT_SERVICE
and a DIPLOCATION. [Aaron Giles]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Trivia ? Whiz (Edition 3) [Pierpaolo Prazzoli]
Legend of Heroes [Pierpaolo Prazzoli]
Super Bubble 2003 [Pierpaolo Prazzoli]
Dambusters [Norbert Kehrer]
Catacomb [Mike Coates]



New clones added
----------------
Galaga (Midway set 1 with fast shoot hack) [David Widel]
Versus Net Soccer (3 new versions) [R. Belmont, f205v]
Ace Attacker (System 16A) [Arzeno Fabrice]
Arm Champs II v2.6 [Gerald Coy]



New games marked as GAME_NOT_WORKING
------------------------------------
Casino 5 [Pierpaolo Prazzoli]



0.107u2
-------


MAMETesters Bugs Fixed
----------------------
savestate0104u7ora [Adam Bousley]
ripoff097gre [Adam Bousley]
cuebrckj0104u2gra_fix [Canim]



Source Changes
--------------
Massive cleanup/fixing of 16-bit Sega drivers: [AWJ]
 * many corrections to descriptive set names, adding revision letters,
    cabinet types, etc.
 * fixed many DIP switches and added PORT_DIPLOCATION support
 * adjusted min/max values for analog controls to improve response
 * fixed button ordering between System 16A/B
 * cleaned up a number of ROM names and fixed some incorrect guesses
 * some cleanup of turbo.c as well
 * fixed visible area in Hang-On hardware
 * actually disabling 8751 in games that have a fake replacement
 * hooked up 8255 PPI correctly now that it has mode 2 support
 * fixed behavior of NMI line in later sega sound boards
 * fixed addressing in the SegaPCM sound system
 * some hardware/documentation cleanup

Some cleanups in the new UI/video code to make MESS happy.
[Nathan Woods]

Added macros to prevent use of strcasecmp and strncasecmp for
better cross-platform compatibility. [Nathan Woods]

Connected unimplemented opcode $01 on the 6809 core. [Antoine Mine]

Implemented CNT pin and some serial features of the 6526 CIA chip.
[Nathan Woods]

Mapped service button in slammast. [Canim]

Fixed bug in 8039 CPU handling of A11 latch. [Aaron Giles]

Rewrote Zaxxon driver from the schematics. This is still a WIP (not
finished yet): [Aaron Giles]
 * correct clock speeds and video timing
 * complete memory maps
 * connected universal sound board to Ixion and Razmataz
 * simplified video code and merged common cases together
 * palette derived from resistor weights
 * background positioning still a little off

Added service_coin_lockout_w() to lockout service coins. [Aaron Giles]

Added MDRV_SCREEN_RAW_PARAMS() which lets you specify a pixel clock,
horizontal, and vertical video timing values in place of the usual
screen size, visible area, refresh rate, and VBLANK timing values.
[Aaron Giles]

Fixed bug that prevented save/restore from working in the UI.
[Aaron Giles]

Changed mode selection logic so that refresh is weighted more strongly
when picking a mode. This allows you to specify -resolution 0x0@60 to
force MAME to pick a 60Hz screen refresh while allowing it to choose
the best resolution. [Aaron Giles]



New clones added
----------------
Viper Phase 1 (World, New Version) [Corrado Tomaselli]
Wonder Boy in Monster Land (Galaxy Electronics English bootleg)
Gals Panic II (Asia) [Patrik Styrnell]



0.107u1
-------


MAMETesters Bugs Fixed
----------------------
timecrsa0100u1gra [Luigi30]
inputduplication0106u7gra (nyny, joust, lghost, hyhoo) [Luigi30]
lastduel0106u7gra [Luigi30]
jdreddp0106u1gra [Luigi30]
bzone0104u7gra [Aaron Giles]
pturn0104u7gra [ShimaPong]
tsamurai0103gra [Aaron Giles]
pause0102gra [BUT]
mameini0107ora [Aaron Giles]
omegafc0107yel [Aaron Giles]
s2650_0106u11ora [Minuous]
syvalion0107yel [Aaron Giles]
congo0107red [Aaron Giles]



Source Changes
--------------
Removed hard core dependency on samples. [Andrew Gardner]

Added what seems to be a proper fix for the background transparency 
flag that was needed by champbwl to show the green background.
[Pierpaolo Prazzoli]

Updates to the MagicFly driver: [Robert Fresca]
 - Figured out the MC6845 (mapped at $0800-$0801)
 - Fixed the screen size based on MC6845 registers.
 - Fixed the visible area based on MC6845 registers.
 - Corrected the gfx rom region.
 - Solved the NMI/vblank issue. Now attract works.
 - Changed CPU clock to 625khz.
 - Added new findings to the technical notes.
 - Marked magicfly PAL as NO_DUMP (read protected).

Fixed memory write ordering bug in the 68000 core. [Charles MacDonald]

Added some PPC602 specific opcodes and registers. [Ville Linde]

Removed NEW_RENDER definition and all support for the old rendering
system from the core. Cleaned up a bunch of useless and deprecated
code as a result. [Aaron Giles]

Massively rewrote the user interface to rely on the new rendering
systems. Broke the UI into multiple pieces (ui.c, uimenu.c, uigfx.c).
The code is now verging on readable. [Aaron Giles]

Renamed ui_popup to popmessage across the code, and implemented
popmessage in mame.c. This breaks the dependency between the core 
driver code and the user interface in almost all cases. [Aaron Giles]

Added a red background to serious warning messages in the vain hope
that people might take better notice. [Aaron Giles]

Fixed vector game crashes with DirectDraw rendering. [Aaron Giles]

Consolidated live screen parameters into a screen_state structure.
Machine->visible_area[num] is now Machine->screen[num].visarea.
Machine->refresh_rate[num] is now Machine->screen[num].refresh.
[Aaron Giles]

Added new function configure_screen() which can control the width,
height, visible area, and refresh rate of each screen. This function
allows for widths and heights larger than what were specified in the
game driver, so you no longer have to specify the maximum width and
height in the driver, but can instead specify a typical width and
height. This function supercedes the old set_visible_area() and
set_refresh_rate() functions. The former has been rewritten to call
configure_screen(), while the latter has been removed entirely.
[Aaron Giles]

Changed the behavior for supporting overscan and other effects. The
width and height of a screen control the overall bitmap size. The
visible area of a screen specify its non-blanked boundaries (and 
default visible area, as before). [Aaron Giles]

Moved line-to-quad conversion routine into the core render.c as
another utility function. [Aaron Giles]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
TomCat (Star Wars hardware, prototype) [Mathis Rosenhauer]
Poke Champ [David Haywood]



New clones added
----------------
Dungeons & Dragons: Shadow over Mystara (Brazil 960223) [Brian Troha]
