0.124
-----


MAMETesters Bugs Fixed
----------------------
01586: [Multisession] bluehawk: Graphics corruption (Reip)
01433: [Graphics] marvins: If you play player 2, the maze remains 
       unchanged. (Reip)
01601: [Misc.] orbit: Game doesn't start. Watchdog/reset problem? 
       (Aaron Giles)
01584: [Misc.] exerion, exerionb, exeriont: Assertion (Aaron Giles)
01560: [DIP/Input] turpin: Cannot coin up in either slot. (RansAckeR)
01525: [Misc.] wilytowr, atomboy: watchdog resets (RansAckeR)
01524: [Misc.] btoads: Assertion (Zsolt Vasvari)
01557: [Misc.] dealem: Assertion (Zsolt Vasvari)
00059: [Graphics] commsega, locomotn, tactcian: They exhibit a problem 
       with screen area. (Nicola Salmoria)
00406: [Graphics] qadj: When playing as the ninja, there is one broken 
       frame in his animation loop when walking. (Nicola Salmoria)



Source Changes
--------------
bbusters: Fixed sprite wrapping -- this is used on the gun calibration 
screen, at least. The game still hangs on a black screen after service 
mode is turned off. Even exiting MAME and restarting doesn't fix it, 
so it's probably a EEPROM issue. [Zsolt Vasvari]

Added Noise Output to the MSM5232 emulation. [Nicola Salmoria]

Added placeholder effects for cymbal and hihat to equites.c. These 
will need further work to properly emulate the discrete circuitry.
[Nicola Salmoria]

Cleaned cidelsa driver up to the latest spec. [Curt Coder]

Added NVRAM to Gekisou. Fixed inputs and promoted to working.
[Nicola Salmoria]

Explicitly fixed unmapped handler masks so that we don't report all 
unmapped addresses as 0. [Aaron Giles]

Centralized definitions of _WIN32_WINNT. Removed malloc/calloc/
realloc/free link-time overrides; we now rely exclusively on compile-
time overrides. Made a few tweaks toward getting mingw-w64 working, 
but there are still linker issues. [Aaron Giles]

Fixed assertions in skullxbo and exerion. [Aaron Giles]

De-deprecat-ed ui.c. [Aaron Giles]

Changed xmlfile.c to pass in memory handlers to expat so that
our memory overrides are properly managed. [Aaron Giles]

Fixed wbbc97 regression. [Zsolt Vasvari]

Fixed crospang.c regression. Not sure why this needed to be RGB15, 
works fine with INDEXED16. [Zsolt Vasvari]

[GTICLUB] Fixed crash. [R. Belmont]

[SCSI] Fixed case when no device exists (e.g. running the sys573 BIOS 
directly). [R. Belmont]

Got most of the Konami PPC games running again. [R. Belmont]

Fixed crash running "kviper" BIOS. [R. Belmont]

Changed crystal.c from RGB15 to RGB32. RGB15 is not enough bits to 
hold the 5-6-5 colorspace. [Zsolt Vasvari]

Updated astrof.c to use the timer device. [Zsolt Vasvari]

dgpix and eolith: Converted to INDEXED16. Removed temp bitmaps. 
Changed ugly recursive video RAM code. [Zsolt Vasvari]

ddz: Removed RGB15 -- it's a "skeleton" driver, so why have it?
[Zsolt Vasvari]

video\generic.c: Added PALETTE_INIT functions for common 16-bit RGB
patterns. [Zsolt Vasvari]

Converted f-32, kinst, lethalj, ultrsprt, gamecstl, taitowlf to use 
INDEXED16. [Zsolt Vasvari]

Added option in MC6845 to programatically set the clock pin. This is 
needed by at least one MESS driver. Added 
mc6845_set_hpixels_per_column() for the Hercules gfx adapter.
[Zsolt Vasvari]

Fixed video timing in xtheball. Still don't know why it changed
recently, but the new parameters reproduce the old values. 
[Aaron Giles]

Removed unnecessary assert in video.c that broke screenless games.
[Dirk Best]

Changed the zombraid gun input ports to work with the calibrated 
settings. [Derrick Renaud]

Fixed malzak2 from crashing. [Zsolt Vasvari]

Fixed graphics ROMs in gnga. [Cesare Falco]

Added validity check to ensure input port tags don't have duplicates.
Fixed several drivers where there were duplicates. [Aaron Giles]

Corrected clocks on Cabal bootleg. [Corrado Tomaselli]

blockhl.c, blockout.c: Added dip locations, fixed unknown dip 
switches. [RansAckeR]

Removed improper use of PERIODIC_INT in mpu4, to use new timer 
devices. Also corrected 50Hz timer in MPU4 Video games. 
[James Wallace]

Fixed bug in tx1.c spotted by new compiler warnings in gcc 4.3.0.
[Atari Ace]

Another batch of pedantic static/const/include fixes. [Atari Ace]

Redid video timing in orbit with raw parameters. Added full memory map 
and a few other cleanups. [Aaron Giles]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Gekisou [Nicola Salmoria]
Mermaid [robiza]



New clones added
----------------
Ridge Racer (Rev. RR3, World) [Andrea Turci]



0.123u6
-------


MAMETesters Bugs Fixed
----------------------
- 01520: [DIP/Input] wilytowr, atomboy: dipswitch info
- 01236: [DIP/Input] psurge: Power Surge isn't coining up.
- 01521: [Gameplay] ar_sdwr: Game hangs on title screen
- 01477: [Gameplay] metamrph, metamrpj, metamrpu: Game doesn't start
- 01452: [Misc.] boobhack: Crashes
- 01474: [Sound] ninjakd2, ninjak2a, ninjak2b, rdaction: Ninja-Kid II 
         sound problem
- 01461: [Misc.] mazinger: reset caused by the watchedog message
- 01440: [Speed] mazingar, agallet: Terrible slow down in some scenes.
- 01087: [Misc.] spbactn, spbactnj: Crash in debug build. Corrupted 
         graphics in normal build.
- 00223: [Graphics] splndrbt: On the first level when you pass the 
         asteroid belt the star road should be light blue instead of 
         black like mam
- 00220: [Graphics] splndrbt: Concerning the gfx, on the pcb the 
         background is not linear as shown in mame.
- 00217: [Graphics] splndrbt: On boot the pcb displays a clean light 
         blu screen while in mame there is a black road.
- 01531: [Misc.] polygon-based drivers: winwork.c memory leak
- 00150: [Misc.] alpinr2b, alpinesa : Assertion with -debug
- 01462: [Save/Restore] atarimo_render-based drivers: Crash when 
         loading an autosave save state
- 01538: [Core] -verifysamples: Inconsistent handling of missing 
         sample sets
- 01491: [Interface] switchres causes Exception at EIP=009413BF: 
         ACCESS VIOLATION
- 01529: [Misc.] AICA memory leak
- 01511: [Save/Restore] batman: Fails to load autosave state
- 01536: [Misc.] uballoon: Access Violation with -debug
- 01535: [Misc.] usclssic: Access Violation with -debug
- 01465: [Misc.] topgunnr: Crashes
- 01534: [Misc.] ajax, ajaxj, typhoon: Access Violation with -debug
- 01019: [Sound] Various Drivers: List of drivers with sound clipping
- 01499: [Multisession] Various Drivers: Launching games from in-game 
         [TAB] menu 2-3 times in a row throws access violation.
- 01453: [Misc.] troangel, newtangl: Crashes
- 01463: [Misc.] connect4, mpu4met0, mpu4tst2, mpu4utst, bctvidbs: 
         Assertion
- 01475: [Misc.] Screenless systems are broken because of a vblank 
         callback
- 01486: [Gameplay] meritm.c: access violation for all games
- 01530: [Misc.] Various Drivers: bitmap memory leaks
- 01508: [Misc.] most vector-based drivers: Assertions
- 01527: [Misc.] all meritm.c drivers: Assertion
- 01528: [Misc.] pzlestar, sexyboom: Assertion
- 01522: [Misc.] all ddragon.c drivers: Assertion
- 01523: [Misc.] nkdodge, nkdodgeb, spdodgeb: Assertion
- 01524: [Misc.] btoads: Assertion
- 01526: [Misc.] futflash, laserbas, laserbsa: Assertion
- 01507: [Misc.] all naomi.c drivers: Assertion
- 01503: [Misc.] sidearjp, sidearmr, sidearms: Assertion
- 01509: [Misc.] backfire, backfira: Assertion
- 01501: [Misc.] all m107.c drivers: assertion
- 01504: [Misc.] all leland.c drivers: Assertion
- 01506: [Misc.] all ataxx.c drivers: Assertion
- 01500: [Misc.] all astrocde.c drivers: assertion
- 01514: [Misc.] all cyberbal.c drivers: Assertion
- 01515: [Misc.] all atarig42.c drivers: Assertion
- 01516: [Misc.] all atarigx2.c drivers: Assertion
- 01517: [Misc.] all atarigt.c drivers: Assertion
- 01505: [Misc.] all vicdual.c drivers: Assertion
- 01512: [Misc.] beathead: Assertion
- 01496: [Misc.] all segae.c drivers: Crashing with Access Violation
- 01498: [Gameplay] otwalls: Hangs before the game starts.



Source Changes
--------------
Added a new device type for timers. Where applicable, added a parallel
set of timer functions that take a device_config instead of an
emu_timer. Added MDRV_TIMER_* macros to define the timers in the
machine driver. Implemented both periodic and scanline-based timer
variants. Modified Space Encounters and Centipede to make use of this 
feature. Going forward, this is the preferred way of creating periodic 
timers. [Zsolt Vasvari]

Renamed *_vbl_cb to *_vblank_callback. [Aaron Giles]

Magicfly updates: [Roberto Fresca]
 - Completed the component list & PCB layout.
 - Added technical references to register $63 (magicfly).
 - Switched crystal to new predefined format.

Funworld updates: [Roberto Fresca]
 - Added proper inputs to jolyc980.
 - Added temporary patch to allow bypass the "code" screen in jolyc980.
 - Updated technical notes.

Changed exidy440_sound_command back to "UINT8." Since it's used by 
both 8-bit and 16-bit systems, the automatic allocation is not worth 
it if you need an ugly UINT16 ** cast. Removed deprecat.h from some of 
the exidy files. [Zsolt Vasvari]

Fixed Air Buster bootleg from reseting because of the watchdog.
[Zsolt Vasvari]

The on-screen "Reset by watchdog" message only appears in debug 
builds now. [Zsolt Vasvari]

Fixed the top screen in the megatech games. [Zsolt Vasvari]

Added internal artwork for Gorf. [Mr. Do!]

Fixed memory leak in clifront.c. [Zsolt Vasvari]

Added a crosshair_set_screen() to allow drivers to control which 
screen(s) on which crosshairs are displayed. [Nathan Woods]

Made it a fatalerror to registr save state callbacks at the wrong time
if the current driver claims to support save states. [Aaron Giles]

Fixed chicken and egg problem with device_start callbacks: 
[Aaron Giles]
 
 - Added DEVINFO_INT_TOKEN_BYTES, which is queried before device
   startup. It should return the size of the structure that will
   be hung off of device->token. It must not return 0.

 - Changed the core device interface to allocate and zero a block
   of memory the size of DEVINFO_INT_TOKEN_BYTES before calling
   device_start. The pointer to this memory is already attached
   to device->token at the time device_start is called.

 - The primary motivation for this is to allow the device_start
   function to make internal calls and pass the device_config *
   around as if the object were fully constructed. Since the token
   is used to indicate whether or not a device is live, this makes
   the device "live" at the time device_start is called rather
   than after it completes.

Moved per-screen initialization into DEVICE_START and per-screen 
cleanup into DEVICE_STOP in the core video implementation. 
[Aaron Giles]

Fixed render_target_get_minimum_size() to return nominal values
if no screens are found. [Aaron Giles]

Alpha Denshi major update: [Nicola Salmoria]
 - Fixed Alpha 8201/830x MCU simulation.
   - all hacks from the equites driver removed
   - fixed equites restart position after going underground
   - fixed hvolume, splndrbt 2 players
   - removed hacks from exctsccr2
   - fixed CPU gameplay in shougi
 - added dump of Alpha 8201 MCU to games that use it 
   (the ROM isn't used yet, HMCS44 CPU core needs to be written first)
 - major cleanup of the mess in equites.c:
   - many thanks to Corrado Tomaselli for precious hardware info.
   - implemented bg perspective scrolling using PROMs
   - fixed sprite flip & disable
   - fixed bg color
   - converted bg to tilemaps
   - fixed fg banking
   - fixed screen flip
   - removed meaningless banking of player inputs
   - added UI adjuster for MSM5232 frequency
   - MSM5232 volume control
 - fixed MSM5232 noise LFSR formula (done by Jarek Burczynski; 
    thanks to Corrado Tomaselli for samples)
 - changed MSM5232 emulator to output channels separately
 - added output of SOLO channels to MSM5232 emulator.
 - fixed champbas inputs
 - merged talbot with champbas, some driver clenaup
 - fixed shougi inputs
 - switched exctsccb to use the correct gfx ROMs (matches screenshot 
    found in 01058 exctsccb: Exciting soccer bootleg should be placed 
    in champbas.c.)
 - fixed sprite bpp in exctscrr, removed the horrible hacks that were 
    used to fix colors and transparency.
 - fixed sound clipping in exctsccr
 - added percussions to the equites.c games using samples; sound board 
    emulation is still not complete. Cymbal hit and hi-hat are 
    missing; bassline is incorrect, and DAC output should be filtered

Fixed crash in spbactn. [Zsolt Vasvari]

In drawgfx, removed unneeded pen lookups. Did some code formatting 
clean-up. [Zsolt Vasvari]

Fixed ninjakd2 PCM sample rate to match pcb measurement. 
[Nicola Salmoria]

Fixed chdman -extract to a physical drive on Windows. [Aaron Giles]

Added return value to video_screen_update_partial() indicating whether
or not the VIDEO_UPDATE was called as a result. [Aaron Giles]

Fixed typo in pitnrun frequency. [Corrado Tomaselli]

DIP switch improvements: [RansAckeR]
 1945kiii.c, 88games.c and 40love.c: Made use of PORT_DIPUNKNOWN_DIPLOC
 40love.c: Made use of PORT_INCLUDE
 8080bw.c: Added more dip locations; Made use of PORT_INCLUDE
 wilytowr.c: Added dip locations for atomboy/wilytowr; Fixed coin modes
 battlane.c, battlera.c, battlnts.c, bbusters.c: added dip locations
 battlnts.c: made use of PORT_INCLUDE; fixed unknown dip switch
 bbusters.c: added note regarding correct gun calibration
 bionicc.c: Added dip locations
 bladestl.c: Added dip locations, made use of PORT_INCLUDE
 blockade.c: made use of PORT_INCLUDE
 beezer.c: Added dip locations
 bfm_sc2.c: dip switch improvements, made use of PORT_INCLUDE

Conerted the MPU4 driver to use an HD6845, as the Hitachi part was on the
PCB, while also using it to generate the VBLANK, rather than hardcoding
a value. Added the pulldown resistor to the network, and added all the
conditional inputs. Please note that on the later Cabinet Types (Ready
Steady Go-1 onwards), the 10p slot is locked out (location of the true
register for this is unknown), but the input setting is correct - you
have to use Coin 2 or higher to get money in. [James Wallace]

Fixed "garbage" (newlines) in the debugger window when debugging the 
SH-4 CPU. [Oliver Stoenberg]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Gekisou [Nicola Salmoria]
Pot Game (italian) [Roberto Fresca]


New clones added
----------------
Pitfall II (315-5093, Flicky Conversion) [Corrado Tomaselli]
Thunder Dragon (4th Jun. 1991) [Corrado Tomaselli]



0.123u5
-------


MAMETesters Bugs Fixed
----------------------
01216 [Tomasz Slanina]
00898 [couriersud]
01436 [Aaron Giles]
01480 [robiza]
01482 [Zsolt Vasvari]
01429 [RansAckeR]
00593 [RansAckeR]
01478 [RansAckeR]



Source Changes
--------------
Fixed flickering in Electric Yo-Yo. Changed qix driver to use the
MC6845's VSYNC notification for interrupts. [Zsolt Vasvari]

Removed machine from the parameters of some of the device_get_info
and device_set_info calls because that information is stored
with the device now. [Aaron Giles]

Changed device interfaces to pass the device_config * rather
than tokens and individual bits to the device callbacks. Updated
all existing devices accordingly. [Aaron Giles]

A number of changes to remove references to screens by index and
make the video system based strictly upon the screen devices:
[Zsolt Vasvari]

 * changed vblank_state_changed_func to now have a device_config 
    argument
 * removed runnning_machine as the first parameter of a VBLANK 
    callback
 * removed video_data from running_machine
 * private state screen information now hangs off the public one, 
    instead of the other way around
 * combined video_global and video_private into a single structure
 * moved populating screen_state from mame.c to video.c
 * removed defstate; the default screen parameters live in 
    screen_config directly
 * moved 'refresh' from public to internal video state and renamed 
    it to 'frame_period'
 * changed all drivers that previously accessed 'refresh' to use 
    video_screen_get_frame_period()
 * changed VIDEO_UPDATE signature to pass the screen device
 * added const device_config *primary_screen to running_machine
 * changed first argument of video_screen_* functions to take a 
    device_config; all callers that used 0 for the screen number now 
    use machine->primary_screen
 * changed game info screen and overlay UI to display the screen tag 
    instead of screen number
 * added video_screen_get_visible_area()
 * changed render.c to use screen devices
 * removed direct driver access to machine->screen[] array
 * added video_screen_auto_bitmap_alloc(screen)
 * the Dynax/Don Den Lover games now do their updating in VIDEO_UPDATE 
    instead of VIDEO_EOF. Seems to have fixed the palette problems
 * hooked up swapped videoram in Karnov properly -- same idea as 
    Burger Time
 * removed the public screen_state object -- all access is via 
    functions
 * removed screen[] object from running_machine
 * removed MAX_SCREENS constant -- there is no longer a hardcoded 
    upper bound
 
Changed the MC6845 to take and pass device_config's only. The 
following shook out from this that are applicable to other devices 
as well: [Zsolt Vasvari]
 - running_machine is no longer taken, passed or stored
 - mc6845_t is now private
 - since passing device_config's is not device type safe, I added a
    get_safe_token() to mc6845.c to check the device passed in for 
    the valid type.

Removed video_data from running_machine. Private state screen 
information now hangs off the public one, instead of the other way 
around. Combined video_global and video_private into a single 
structure. [Zsolt Vasvari]

Fixed the crash in Galaga caused by the slightly altered video timing.
[Zsolt Vasvari]

Converted address maps to tokens. Changed the address_map structure
to house global map-wide information and hung a list of entries off
of it corresponding to each address range. Introduced new functions
address_map_alloc() and address_map_free() to build/destroy these
structures. Updated all code as necessary. [Aaron Giles]

Fixed several instances of porttagtohandler*() in the address maps.
Drivers should use AM_READ_PORT() macros instead. [Aaron Giles]

ADDRESS_MAP_EXTERN() now is required to specify the number of 
databits, just like ADDRESS_MAP_START. [Aaron Giles]

Removed ADDRESS_MAP_FLAGS() grossness. There are now three new macros
which replace its former usage. ADDRESS_MAP_GLOBAL_MASK(mask)
specifies a global address-space-wide mask on all addresses. Useful
for cases where one or more address lines simply are not used at
all. And ADDRESS_MAP_UNMAP_LOW/HIGH specifies the behavior of
unmapped reads (do they come back as 0 or ~0). [Aaron Giles]

Changed internal memory mapping behavior to keep only a single
address map and store the byte-adjusted values next in the address
map entries rather than maintaining two separate maps. Many other
small internal changes/cleanups. [Aaron Giles]

Changed MC6845 to take a screen tag instead of a screen number.
[Zsolt Vasvari]

Voodoo now takes a device_config for the screen. [Zsolt Vasvari]

Changed TMS34010 to take a screen tag instead of screen number.
[Zsolt Vasvari]

Replaced the following macros (SMH == static memory handler)

   MRA*_BANK*/MRA*_BANK* -> SMH_BANK*
   MRA*_RAM/MRA*_ROM     -> SMH_RAM
   MRA*_ROM/MWA*_ROM     -> SMH_ROM
   MRA*_NOP/MWA*_NOP     -> SMH_NOP
   MRA*_UNMAP/MWA*_UNMAP -> SMH_UNMAP

This removes the silly need for a bunch of redundant constants
with faux type definitions that didn't buy anything. [Aaron Giles]

Moved some memory system constants into memory.c. [Aaron Giles]

Converted atarigen and tms34061 to be handle based. [Zsolt Vasvari]

Changed how the PowerPC MMU is enabled at compile time, to cut down 
on the amount of unused functions in MAME. [Nathan Woods]

Some additional memory system cleanups: [Aaron Giles]
 * Made address versus byte offsets explicit throughout.
 * Removed some unused parameters.
 * Consolidated initialization process.
 * Removed maximum memory block count.
 * Centralized bank management.
 * Added masked handlers and change_pc to the accessors.
 * Added memory_get_accessors() to return a pointer to the accessors
   for a given address space/databus width/endian configuration.

Adds some new 6845 varieties: MC6845-1, H46505, HD6845 and SY6545-1.
[Zsolt Vasvari]

Moved crosshair code from video.c into its own module. Simplified 
crosshair logic and made it screen device based. [Zsolt Vasvari]

Saturate MultiPCM on clip and fix envelope discontinuity. [ElSemi]

Fixed loading mixer settings when the driver default value is 
calculated. [Nicola Salmoria]

Removed cpu_scalebyfcount(). Changed input ports to register a frame 
callback, which is called immediately after throttling and updating. 
This is the proper "sync point" between emulated time and real time. 
Moved all analog and digital port processing into a central place
here. Added tracking of time since the previous frame update and use 
that as an estimate for the time of the current frame. This is used 
to scale analog ports without the use of cpu_scalebyfcount(). This 
is not perfect in the case where frame rates are dynamic (vector 
games), but works well for other cases. [Aaron Giles]

Fixed VBLANK end time computation and video_screen_get_vblank() -- 
they weren't taking into account games that use 
MDRV_SCREEN_VBLANK_TIME. [Zsolt Vasvari]

Fixed 68000 prefetching operation. Previous behavior was incorrect.
[Aaron Giles]

Changed slapstic management to always install an opbase handler to 
more aggressively catch code executing in the slapstic region. 
Updated all drivers to separate the slapstic region of ROM into a 
different ROM section from the fixed ROM. [Aaron Giles]

superqix.c changes: [Mike Haaland]
 - Changed vblank interrupts to 3 to fix screen drawing issues.
 - Used memory_configure_bank() to configure memory.
 - Added save states.

Added some clock frequency changes which were documented in u4 but
which did not apply due to operator error. [Corrado Tomaselli]

Added layout to crop corners in Electric Yo-Yo. [Mr. Do!]

Added support for Sega Virtua Processor, to run Genesis/MegaDrive 
version of Virtua Racing, intended to be used by MESS. It consists 
of a CPU core SSP1601, and updates in megadriv.c: [notaz]
 * SSP1601 replaces SSP1610, as it has been confirmed that SVP 
    actually contains SSP1601. The current SSP1610 is only a 
    placeholder (nearly completely unimplemented) anyway.
 * Changed megadriv.c add a new driver for Genesis/MegaDrive+SVP
    combination, also add SVP memory controller logic and memory map.

Phase 2 of the Deal 'Em input changes (these work well with the 
default cabinet type, I need to do some conditional input work 
to fix them fully), and also a conversion to the resnet code. 
Unfortunately, this still doesn't fix the apparently needed 
transparency. [James Wallace]

Simplified inputs, improved DIP switches, and added DIP locations
to punchout.c, bankp.c, and baraduke.c. [RansAckeR]

In asuka.c, created MACHINE_START( asuka ) to configure cpu2 banks 
with memory_configure_bank(). All drivers support save states, with 
the exception of cadash and clones, the background does not load 
properly. [Mike Haaland]

Fixed M68000 build logic to only include it if enabled. [Fabio Priuli]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Amuse (Version 50.08 IBA) [Pierpaolo Prazzoli]
Joker Poker (Version 16.03B) [Pierpaolo Prazzoli]
Super Bowl (Version 16.03B) [Pierpaolo Prazzoli]
Pit Boss II [Mariusz Wojcieszek]
Super Pit Boss [Mariusz Wojcieszek]
Pit Boss Megastar [Mariusz Wojcieszek]
Megatouch IV [Mariusz Wojcieszek]
Megatouch IV Tournament Edition [Mariusz Wojcieszek]
Megatouch 6 [Mariusz Wojcieszek]



New clones added
----------------
Raiden Fighters (Austria) [Corrado Tomaselli]



0.123u4
-------


MAMETesters Bugs Fixed
----------------------
00817 [RansAckeR]



Source Changes
--------------
MC6845 updates: [Zsolt Vasvari]
 * now signalling both 0->1 and 1->0 transitions of synching pins
 * added mc6845_assert_light_pen_input; uses a timer for latching 
    the light pen address
 * added reset device function
 * implemented VSYNC height computation difference between the 
    Motorola and the Rockwell devices
 * since the Commodore 40xx computers program an HSYNC width that 
    extends past the end of the scanline, I am clamping it in lack 
    of anything better to do
 * added support for the Commodore 6545-1 device type
 * added support for the status register
 * better variable names
 * more asserts
 
Updated the "Input (This Game)" menu to support conditional inputs.
[stephh]

Converted Amiga based games to partial updating and proper scanline 
based timers. [Zsolt Vasvari]

Beginning of the clean-up of Space Guerilla - fixed rotation, some 
other stuff. [Zsolt Vasvari]

Removed use of tmpbitmap from some drivers. [Zsolt Vasvari]

Replaced mame_bitmap with direct use of bitmap_t. Removed mame_bitmap
typedef. [Zsolt Vasvari]

Fixed taitoic regression that caused crashes in several games.
[Zsolt Vasvari]

Changed the way VBLANK_INTs are handled:
 - Defined a new MDRV_CPU_VBLANK_INT_HACK() (in deprecat.h) which is 
    a copy of the current MDRV_CPU_VBLANK_INT()
 - Found all the places where VBLANK_INT is used with something other 
    than 1 interrupt per frame and changed it to the new macro
 - Removed the "# per frame" parameter from MDRV_SCREEN_VBLANK_INT() 
    and added a screen tag in its place; updated all callers 
    appropriately.
 - Added some validation of the interrupt setup to validate.c 

Fixed SH4 refresh ticks value of 0, makes awbios not blow up the 
timer system. [R. Belmont]

Updated dkong driver to use two discrete structs which were previously
not being used: [couriersud]
 * dkong walk using a jump struct 
 * radarscp using a dkong 555 struct

MACHINE_DRIVER_EXTERN now requires a semicolon. Removed a number of 
extra semicolons. [couriersud]

In memory.c: removed some code never to be executed: [couriersud]
 * removed "return 0" from READ* macros since it is unreachable
 * removed comparisons of type FPTR < 0 and FPTR >= 0

Identified code not used and marked with "#ifdef UNUSED_FUNCTION".
[couriersud]

Naomi: Use defines instead of magic numbers for IRQ sources, add 
VBL-out. [R. Belmont]

Improved (not perfect) ACIA slot monitoring. [kingshriek]

Changed parent/clone relationship to separate SSI Poker sets from 
Jackpot Joker Poker. [Roberto Fresca]

Removed a couple of unused items from the cpuexec_data structure.
Added validity check that screenless drivers cannot have a VBLANK
interrupt. [Zsolt Vasvari]

Added macros to define device functions. Updated existing devices
to use the macros. [Aaron Giles]

Added the concept of device classes. Devices specify their class
in their get_info function. Classes can be used to walk through
devices at a more general level than their type. Functions have
been added to iterate through devices by class just as you can
by type. [Aaron Giles]

Removed some unused fields from device_config. [Aaron Giles]

Moved all video timing logic from cpuexec.c to video.c. Added a 
video_screen_register_vbl_cb() function for registering VBLANK 
callbanks. Changed inptport.c and debugcpu.c to make use the VBLANK 
callbacks. Added video_screen_get_time_until_vblank_start(). I did 
some fairly extensive testing, but this is a very signficant internal 
change, so some things may have broke. [Zsolt Vasvari]

Removed use of cpu_scalebyfcount() from CVS driver. [Zsolt Vasvari]

Changed a number of global functions to being static. [couriersud]

Rewrote some potentially compiler specific code: [couriersud]
 * added ATTR_FORCE_INLINE to osdcomm.h
 * added ATTR_NONNULL
 * moved U64 S64 fram mamecore.h to osdcomm.h
 * define SETJMP_GNUC_PROTECT() in osdcomm.h for use in ppc602, ppc603

Removed cpu_getcurrentframe() and replaced it with 
video_screen_get_frame_number(int scrnum). Updated all callers.
[Zsolt Vasvari]

Moved watchdog processing logic into its own module. [Zsolt Vasvari]

Replaced sprite multiplexing hack in tp84.c with 
video_screen_update_now() on sprite RAM write. General driver 
clean-up. [Zsolt Vasvari]

Gyruss: Tilemap conversion, sprite multiplexing done properly, driver 
clean-up. [Zsolt Vasvari]

Changed z80dma to new device interface, updated mario.c and dkong.c 
to use new interface. Illustrates how to keep existing memory 
read/write handlers. This is slower than caching the device interface, 
but does not have an impact on devices accessed at a low frequency 
like in this case. [couriersud]

Added video_screen_get_time_until_vblank_end() and
video_screen_get_time_until_update(). [Aaron Giles]

Fixed CCPU and QB3 to no longer rely on cpu_scalebyfcount(). Fixed 
busted timing in the CCPU core. Changed watchdog to count internally 
rather than using external watchdog support. Altered CCPU to accept 
interrupt signals from the driver. Updated clocks in the cinemat 
driver to be derived from the clock crystal. [Aaron Giles]

Normalized function pointer typedefs: they are now all
suffixed with _func. Did this throughout the core and
drivers I was familiar with. [Aaron Giles]

Added PORT_CHANGED macro which calls a callback if the given port 
changes. Usage is very similar to PORT_CUSTOM. See the Astro Invader 
driver for an example. [Zsolt Vasvari]

Removed input_port_set_changed_callback and converted all users to 
PORT_CHANGED. The only difference between the old callback and the 
ones supplied by PORT_CHANGED is that values passed by PORT_CHANGED 
are normalized to start at bit 0, just like PORT_CUSTOM. 
[Zsolt Vasvari]

Added running_machine* to the CUSTOM_INPUT callback - updated drivers 
to use it. [Zsolt Vasvari]

Updated brkthru.c, btime.c, exerion.c, fcombat.c, astrof.c, 
cheekyms.c, cinemat.c to use PORT_CHANGED. Combined memory maps where 
applicable. Converted cheekyms.c to use tilemaps. [Zsolt Vasvari]

Merged memory maps for drivers X->Z. [Andrew Gardner]

Exidy440: modernized input port handling with CUSTOM_INPUT and 
INPUT_CHANGED. Cleaned-up special case handling. Created better
separation between driver and video code. [Zsolt Vasvari]

Verified clocks and oki pin7 for Peek-a-boo. [Mike Ellery]

Untangled the Fire Truck driver. Many uses of PORT_CUSTOM and 
PORT_CHANGED, including another good use case for the gear shift 
logic. [Zsolt Vasvari]

Updated ladybug.c, lasso.c, m10.c, madalien.c, maxaflex.c to use
PORT_CHANGED for coinage. [Zsolt Vasvari]

Added running_machine * parameter to the front of all read/write 
handlers. Updated all call-through handlers appropriately. Renamed 
read8_handler to read8_machine_func, replicating this pattern 
throughout. [Aaron Giles]

Defined new set of memory handler functions which are similar but 
which pass a const device_config * in place of the running_machine *. 
These are called read8_device_func, etc. Added macros 
READ8_DEVICE_HANDLER() for specifying functions of this type.
[Aaron Giles]

Added running_machine * to the device_config, live while the device
is live, and NULL otherwise, just like the token. [Aaron Giles]

Meadows driver updates: [Zsolt Vasvari]
 - Merged memory maps
 - Uses PORT_CHANGED for coins
 - Renamed 'Inferno (S2650) to 'Inferno (Meadows)'
 - Renamed 'Bowling 3D' to '3-D Bowling'
 - Added NO_DUMP entries for Gypsy Juggler's ball graphics and added GAME_IMPERFECT_GRAPHICS flag

Fixed sprite colors in Exerion. [Zsolt Vasvari]

Added new macros AM_DEVREAD, AM_DEVWRITE, and AM_DEVREADWRITE,
which specify device read/write handlers in address maps, along
with the type/tag of the device they reference. [Aaron Giles]

Converted MC6845 read/write handlers to READ/WRITE8_DEVICE_HANDLERs.
Updated all MC6845-using drivers to use the new macros and call
the updated functions. Removed the many little helper functions
that used to do this work. [Aaron Giles]

Added validity checks to ensure that the devices referenced
actually exist. [Aaron Giles]

Fixed display of screen information so that it shows live information,
not just the original configurations. [SailorSat]

Improved DIP switch definitions, added DIP locations, and simplified
input ports in atarisy2.c, atetris.c, avalnche.c, bagman.c, 
balsente.c, lasso.c, seta.c. [RasnAckeR]

Added DIPs and locations to onetwo.c. [Sonikos]

Corrected some glitches and fixed bank reading in Deal'Em.
[James Wallace]

Changed/verified clocks on the following pcbs: 1943, Arkanoid, Action 
Holliwood GalsPanic, Ben Bero Beh, 1000 Miglia, Pit and Run, 
Prehistoric Isle, Rastan, Hotmind, Hardtimes, Stagger1 and 
Tiger Road. [Corrado Tomaselli]

Changed/verified Oki pin 7 on the following pcbs: 1000 miglia, 
Galspanic, Action Holliwood, Hotmind, HardTimes, World Rally, 
Stagger1. [Corrado Tomaselli]

Added the new display types to the listxml DTD. [Oliver Stoneberg]

Internal address map constructor changes: [couriersud]
 * pass running_machine parameter to construct_map_##_name
 * change "Machine->" to "machine->" in AM_BASE_MEMBER, AM_SIZE_MEMBER
 * pass Machine in construct_address_map

Mysterious Stones gets the "full treatment". [Zsolt Vasvari]

Fix 8085 RST75 not working with PULSE_LINE. According to datasheet, 
RST7.5 is latched on rising edge, while the other maskable interrupts 
are sampled. [Nicola Salmoria]

Removed AM_SPACE and matchmask support. Updated relevant drivers
to use AM_MIRROR() and AM_MASK() to achieve the same thing. 
[Aaron Giles]



0.123u3
-------


MAMETesters Bugs Fixed
----------------------
connect4_0123u2red [Aaron Giles]
multiscreeninfo0123u2gre [Aaron Giles]



Source Changes
--------------
Corrected clock speeds for the megasys1.c boards. Yes, the games
actually ran _THAT_ slow! [Brian Troha]

Makefile & build system update: [couriersud]
 * verinfo: New syntax. verinfo now uses the following syntax: 
     verinfo.exe -b windows|winui|mess. 
   Does not depend on compile time defines any longer.
 * makefile will include src/osd/$(CROSS_BUILD_OSD)/build.mak if it 
   exists. This was necessary to enable cross builds for winui. 

Cloak & Dagger video code cleanup: [Zsolt Vasvari]
 - resnet conversion - colors are now signficantly less saturated 
    because of the 1K pull-ups. This is noticable in the agent's coat 
    and the sky color, for example.
 - Added bitmap palette selection based on the 128H line. Not sure 
    where this is actually used in the game.

Removed unnecessary machine->pens[] lookups in a large number of
drivers. [Zsolt Vasvari]

Added built-in layout to Space Tactics. Cleaned up and reorganized the
driver. [Mr. Do!, Zsolt Vasvari]

Switched the funworld color decoding routines to use resnet code.
[Roberto Fresca]

Fixed namcos2, namcos21 crashes due to nvram allocation in 
MACHINE_RESET. Created MACHINE_START and move allocation there.
[couriersud]

Updated info.c to output raw video parameters (pixclock, htotal, 
hbend, hbstart, vtotal, vbend, vbstart) via -listxml if they have 
been given. [couriersud]

Removed some deprecat.h includes from osd layer: [couriersud]
 * add machine as parameter to osd_update and osd_update_audio_stream
 * change Machine to machine and remove include deprecat.h

Added a rule in vconv.c to make VS2008 compile seamlessly. 
[Aaron Giles]

bionicc.c: [couriersud]
 * Added cpu clocks from schematics
 * Comment about z80 nmi generation

Fixed the DAC sound in X The Ball. [Zsolt Vasvari, Mamesick]

Removed the confirmed bad dump of Virtua striker 2 2000. [Brian Troha]

Fixes crash in Raiga. [Zsolt Vasvari, David Haywood]

drawgfx.c improvments: [Zsolt Vasvari]
 - Added some asserts to drawgfx and drawgfxzoom
 - Moved some variable declarations so that they are only visible 
    where they are actually used

Removed 8bpp bitmap support from drawgfx. [Zsolt Vasvari]

Removed MDRV_PALETTE_LENGTH from vector games, which would trigger 
an assert in emupal.c (debug build) [couriersud]

Added new module: tokenize.h. This centralizes the behavior of
tokenizing data structures, as currently used by the input port 
system. Redid the input port tokenization to be more compact and make 
use of the new macros. Added support for designated initializers in
C99 and GCC builds to enforce type safety. [Aaron Giles]

Removed bogus DIPs from the NSS driver. [R. Belmont]

Improved the global "flip_screen" macros and variables: [couriersud]
 * fix issues related to flip_screen being a define
 * add "int flip_screen_get(void)"
 * clean up drivers with collisions 
 * remove flip_screen macro
 * flip_screen_x and flip_screen_y made static
 * add flip_screen_x_get() and flip_screen_y_get()
 * change writes to flip_screen_x to flip_screen_set_no_update()
 * added save state calls for flip_screen_x and flip_screen_y

Converted MACHINE_DRIVER definitions from function constructors to 
tokenized lists. For the most part this is a non-invasive change, 
except for those drivers using MDRV_WATCHDOG_TIME_INIT. In order to 
allow for tokenization of attotimes, a set of new macros is provided 
called UINT64_ATTOTIME_IN_x() which follows the same pattern as 
ATTOTIME_IN_x() but packs the attotime down into a single 64-bit 
value for easier tokenization. Fixed several errors in the machine 
drivers which were caught by the additional checks now done in the 
machine config detokenization code. [Aaron Giles]

Separated MDRV_DEVICE_CONFIG_DATA into 32-bit and 64-bit versions. 
Added floating-point versions with configurable resolutions. 
[Aaron Giles]

Converted speakers into devices. Machine->config no longer houses 
an array of speakers; instead they are iterated through using the 
new macros (defined in sound.h) speaker_output_first() and 
speaker_output_next(). Updated all relevant code to do this.
[Aaron Giles]

Added typedefs for all the machine config callback functions at the 
top of driver.h. [Aaron Giles]

Big changes to Cal Omega driver: [Roberto Fresca]
 - Renamed the driver to calomega.c.
 - Extended the driver to support all the other Cal Omega systems.
 - Switched to XTAL def.
 - Fixed CPU & sound clocks based on official diagrams.
 - Replaced the AY-8910 with AY-8912 to match the real hardware.
 - Unified some memory maps.
 - Splitted machine in sys903 and sys905.
 - Fixed memory map offsets for sys905.
 - Added a list of official/unofficial games, and their states.
 - Fixed a bug introduced when extended the color PROM region to 
    eliminate colortable length.
 - Updated technical notes.

Merged memory maps for a number of drivers beginning with a digit or
the letter 'a'. [Aaron Giles]

Cleaned up the Crazy Climber video driver, mainly via tilemap 
conversion. This fixes the ape sprite positioning in Crazy Kong - no 
more gap between feet and platform. Merged Yamato driver with Crazy 
Climber. [Zsolt Vasvari]

Converted XX Mission to tilemaps. [Zsolt Vasvari]

Removed VIDEO_START(generic) - no longer used. [Zsolt Vasvari]

Added PGM.c EEPROM/hiscore saving. [Creamymami]

Added support for original Omega Race state PROM. [Mathis Rosenhauer]

Added support in the MC6845 emulation for cursors. All 4 blinking 
modes are supported. [Zsolt Vasvari]

Added a stub implementation of the Rockwell 6545. [Nathan Woods]

Added basic support for the NEC uPD7801, uPD78C05, and uPD78C06 CPUs 
to the uPD7810 cpu core. [Wilbert Pol]

Some improvements to the 6850 ACIA CTS pin checking logic and the MPU4
ACIA clock logic. [James Wallace]

Another Risky Challenge opcode to fix a sprite bug and a general 
clean up of the remarks in the driver. [robiza]

Added dip locations to astinvad, bonzeadv, cadash, asuka, mofflott, 
galmedes, atarifb, atarifb4, abaseb, soccer. Added DIP locations and 
improved DIP switches in seawolf2, wow, gorf, robby, profpac. 
[RansAckeR]

One-line fix for the z80pio. At the moment when the interrupt control 
word is sent (with interrupts enabled), an interrupt occurs. In 
reality, interrupts are disabled until the interrupt mask byte is 
sent. [Robert]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Jolly Joker [Roberto Fresca]
Cal Omega - Game 7.6 (Arcade Poker) [Roberto Fresca]
Cal Omega - Game 7.9 (Arcade Poker) [Roberto Fresca]
Cal Omega - Game 12.8 (Arcade Game) [Roberto Fresca]
Cal Omega - Game 17.51 (Gaming Draw Poker) [Roberto Fresca]
Cal Omega - Game 23.9 (Gaming Draw Poker) [Roberto Fresca]
El Grande - 5 Card Draw (New) [Roberto Fresca]
Jackpot Joker Poker (5 sets) [Roberto Fresca]



New clones added
----------------
Cosmic Smash (JPN, USA, EXP, KOR, AUS) (original) [icronnya77]
Jolly Card (Evona Electronic) [Roberto Fresca]
Jolly Card (croatian, set 2) [Roberto Fresca]
Super Joly 2000 - 3x [Roberto Fresca]
Royal Vegas Joker Card (fast deal, english gfx) [Roberto Fresca]
Dungeons and Dragons Tower of Doom (Japan 940412) [Razoola]
Real Bout Fatal Fury (bug fix revision) [Razoola]
Metal Slug 5 (AES Cart) [Razoola]



New games marked as GAME_NOT_WORKING
------------------------------------
A large number of Cal Omega games [Roberto Fresca]



0.123u2
-------


MAMETesters Bugs Fixed
----------------------
progear0123u1gra [stephh]



Source Changes
--------------
csk.c driver improvements: [Mirko Buffoni]
 * Added DIPLOCATION macros to all Dip Switches. All DSW are verified 
    through test mode.
 * Fixed custom_io_r which is used for protection but also for 
    keyboard input.

Fixed build with external zlib. [R. Belmont]

Completed old-style colortable removal. Removed 
MDRV_COLORTABLE_LENGTH macro. Updated uigfx to display new-style
color tables if present. [Zsolt Vasvari]

Reorganized/minor clean-ups to Mad Alien driver. [Zsolt Vasvari]

Fixed Xenophobe sprite aligment. [Derek Ledbetter]

Converted SNES (except debug code) to RGB32 as it was a serious 
abuser of the palette system. [Zsolt Vasvari]

Added colortable_palette_get_size() to emupal. Added some more 
asserts to catch errors. [Zsolt Vasvari]

Fixed Dip Switches (especially coinage) and inputs for 'mpatrol' and 
'troangl' (and their clones). Tried to "unify" the two drivers (I 
still think that some things can be merged). Added iremipt.h source 
file (same purpose as taitoipt.h). Fixed Dip Switches and inputs for 
'alpha1v'. The game is now more playable to me but I left the 
GAME_NOT_WORKING flag as I think there are still some things to look 
at). [stephh]

Changed IREM cpu decryption to be 'real-time' (it's a feature of the 
CPU). Moved decryption table setup to 'config' struct for the CPU.
Added latest tables from robiza, making Risky Challenge playable, 
promoted it to working. Told CPU core to not decrypt code after 
brkn instruction, enabling it again on iret, allowing me to remove 
several 'don't decrypt range' hacks in the code. Updated all drivers 
accordingly. Currently the disassembly is a bit weird now, this will 
need looking at. [David Haywood, robiza]

Added and hooked up AICA (Naomi sound chip). Naomi boot sounds now 
play. Since it's an SCSPx2 with ADPCM instead of FM it's already 
feature-complete except filter envelopes. A bug in the ARM7 core 
causes incorrect pan/level values to be computed in e.g. the Naomi 
SOUND TEST menu. This is not a defect in the AICA.
[ElSemi, Deunan Knute, kingshriek, R. Belmont]

Fixed Dip Switches (especially coinage) and inputs for '10yard' (and 
its clones). Tried to "unify" the driver with m52 and m57 drivers 
(I still think that some things can be merged). [stephh]

Fixed unaligned 32-bit reads in the ARM7 core. [R. Belmont]

Fixed misaligned backgrounds in mpatrol caused by recent changes.
[Zsolt Vasvari]

Minor code cleanups. Added static/const where appropriate, plus some 
include fixes. Reverted some of the changes to build.mak from u1 
which made some MSVC builds fail, and adjusted/optimized an m10.c 
gfx_layout. Added some missing cores to cpuintrf.c, sndintrf.c and 
added some missing #if's to 5220intf.c. [Atari Ace]

Fixed one or two dips in the mirage.c driver and found the "service" 
switch and likely start of inputs. [Brian Troha]

Removed expand_machine_driver(). Replaced with machine_config_alloc() 
and machine_config_free(). Updated all call sites. Normalized info.c 
style and simplified some of the code. [Aaron Giles]

Renamed machine->drv to machine->config to reduce overloading of the
term "driver". [Aaron Giles]

Simplified collision detection in taitosj and tank8. [Zsolt Vasvari]

New module: devintrf.c/.h. Implements a generic device interface 
similar to the sound and CPU interfaces. [Aaron Giles]

New module: mconfig.c/.h. Moved all machine_config and MDRV_* macros 
here, out of driver.c/.h. Added MDRV macros for adding/removing/
configuring devices. [Aaron Giles]

Deprecated the following constants because global constants that 
pretend to document things but which are only guesses are dumb:
  - DEFAULT_60HZ_VBLANK_DURATION
  - DEFAULT_30HZ_VBLANK_DURATION
  - DEFAULT_REAL_60HZ_VBLANK_DURATION
  - DEFAULT_REAL_30HZ_VBLANK_DURATION
  - DEFAULT_60HZ_3S_VBLANK_WATCHDOG
  - DEFAULT_30HZ_3S_VBLANK_WATCHDOG
Updated all drivers to explicitly specify the equivalent bogus 
times. Added comments for the "REAL" VBLANK durations to indicate 
that they are not accurate. [Aaron Giles]

Improved some DIP switches, added some DIP locations, replaced 
IPT_COINx with IPT_SERVICE1 where appropiate, and simplified some 
control definitions in the following drivers: alpha68k.c, actfancr.c,
aeroboto.c, aerofgt.c, aliens.c, ambush.c, amidar.c, amspdwy.c,
angelkds.c, appoooh.c, arabian.c, argus.c, arkanoid.c. [RansAckeR]

Connected the Shadow Warriors buttons like they are wired on the 
original pcb (which is jamma). [Corrado Tomaselli]

Added DIP locations to: cclimbr2 , legion, terraf, ultennis, cheesech,
stonebal, stoneba2,  scessjoe, ashnojoe, asteroid, llander, llander1,
astdelux. [RansAckeR]

Fixed multi-session crash with Namco System 2 games. [Atari Ace]

Improved Print Club DIP switches. [Edward Swiftwood]

Fixed a few corner cases in the 6840 emulation based on running the 
MPU4 test ROMs, and added the ability to dynamically alter the 
external clock frequencies in game. [James Wallace]

Changed the 6850 core to allow dynamic RX and TX clock alteration, 
to at least try to remove a few of the MPU4 timing problems.
[James Wallace]

Updated documentation of the MPU4 Video board. Added documentation of
the Cosmic Chasm crystals, and merged the memory maps. [James Wallace]

Fixed validation fail of '_mul_32x32_hi()' and '_mulu_32x32_hi()' 
inline function when compiled GCC v3.3.5 with I686 optimization.
[KO Myung-Hun]

Verified clocks on Rainbow Islands and Rambo 3 and Raiden 2. Reverted 
sound OSC of Truxton 2 to 27mhz/8 since the original OST runs at this 
speed. The pcb I measured the previous clock was 28mhz/8 and it's a 
different pcb version from the common one. Since mame doesn't support 
multiple OSC I prefer to use the 27mhz one. [Corrado Tomaselli]

Fixed some incorrect rom dumps for Double Dragon 3 (Some of the dumps 
were based of the bootleg and not the original.) and updated the name 
and location to actually match that of a real board. [Kevin Eshbach]

Added DIP locations to Combatribes and Battletoads. [Kevin Eshbach]

Added video_screen_update_now(int scrnum) to force a screen update up 
to the current beam position. [Zsolt Vasvari]

Pulled remaining vestiges of old-style colortables: [Aaron Giles]
 * PALETTE_INIT no longer has a colortable parameter
 * removed game_colortable and remapped_colortable from machine_config
 * updated a few stragglers that still referenced these fields
 * removed tile_draw_colortable from tilemap.c

Changed the input port tokens to use a union instead of casting 
everything to FPTR. In the future, C99-enabled compilers will be able 
to achieve type safety with designated initializers. [Aaron Giles]

Added i8749 CPU variant for MESS. [Curt Coder]

Added missing SH4 instructions and bugfixed the FPU. Improved Naomi
I/O board emulation and added working controls. [Samuele Zannoli]

jedi.c improvements: [Zsolt Vasvari]
 - Complete memory map
 - Crystals
 - Driver state structure
 - Text layer is rendered at the same time as the background

Reorganized Qix driver (driver state, decoupled audio section, etc.)
[Zsolt Vasvari]

Changed all drivers using the MC6845 chip to use the new device 
interface. Removed mc6845_config. [Zsolt Vasvari]

Reorganized Gameplan driver. Changed Trivia Quest use the Gameplan 
video code. Added crystal for Gameplan pixel clock. [Zsolt Vasvari]

Removed the unnecessary pen array lookup from some INDEXED16 drivers.
[Zsolt Vasvari]

Removed the per-screen palette_base. This was an idea that never
really worked out, nor have we really needed it. [Aaron Giles]

Defined a new device type VIDEO_SCREEN. Currently this has no
live functionality, but merely serves as a placeholder/identifier
for video screens. Eventually some of the screen management code
may move into the start/stop/reset functions. [Aaron Giles]

Changed MDRV_SCREEN_ADD to specify a screen type (RASTER, VECTOR,
LCD for the moment). Removed the older VIDEO_TYPE_RASTER and 
VIDEO_TYPE_VECTOR; this information is now determined by walking 
the screen list. [Aaron Giles]

Changed MDRV_SCREEN_* macros to build up VIDEO_SCREEN devices
rather than storing values in the screen[] array. Removed the 
screen[] array from machine_config. Modified all code referencing 
Machine->config->screen[] and changed it to iterate over the devices 
using the new video_screen_first() and video_screen_next() 
functions. [Aaron Giles]

Removed implicit screen #0. This means that ALL DRIVERS MUST
EXPLICITLY DECLARE THEIR SCREENS. Updated all drivers to do
so. While there, grouped all MDRV_SCREEN_* parameters together.
Also removed unnecessary VIDEO_TYPE_RASTER and VIDEO_TYPE_VECTOR.
Also removed VBLANK and bitmap format information from vector
games. This was painful and very tedious. [Aaron Giles]

Changed game information to display info about all screens. 
[Aaron Giles]

Changed Beathead driver to use partial updates instead of caching 
scanline level information. [Zsolt Vasvari]

Added state_save_combine_module_and_tag(). Its purpose is to create 
a unique name for state saving purposes in modules that are tag 
based (no index). [Zsolt Vasvari]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Champion Poker [Mirko Buffoni]
Risky Challenge [robiza]



New clones added
----------------
Fighting Soccer (Japan) [Yasuhiro Ogawa]
Red Hawk (Excellent Co., Ltd) [Brian Troha]



New games marked as GAME_NOT_WORKING
------------------------------------
Toy Fighter [Corrado Tomaselli]



0.123u1
-------


MAMETesters Bugs Fixed
----------------------
jantouki0121u3gra [RansAckeR]
mcnpshnt0120u3gra [RansAckeR]
mjdialq2_0120u3gra [RansAckeR]
mjifb0111u2gra [RansAckeR]
goldbug0105u4gra [stephh]
zn.c0122u8yel [smf]
pwrinst2_0122u8gra [Sonikos]



Source Changes
--------------
Removed 'type' parameter from tilemap_create. [Zsolt Vasvari]

audio/dkong.c: [couriersud]
 * fix dkong audio over-modulation issue with DAC sound
 * surround the fix with a DK_REVIEW define for later review.

Changed the use of machine->remapped_colortable to machine->pens where
the drivers weren't using color tables. [Zsolt Vasvari]

Corrected the clocks on the following pcbs: Formation Z, MagMax, 
SlapFight and Tiger Heli. Changed Oki m6295 pin 7 to "high" on Toki 
and Blood Bros. [Corrado Tomaselli]

Improve build independence for CPU/sound cores. Rescued the M65CE02 
core from bitrot hell, and fixed some MESS cores that were broken by 
the deprecat.h changes. [Atari Ace]

Corrected the initial detection of extended INP files. 
[Barry Rodewald]

Moved Galaxy Games emulation to tmaster.c. [Luca Elia]

makefile/build updates: [couriersud, Aaron Giles]
 * moved verinfo.c to src/build
 * moved rules for verinfo to src/build/build.mak
 * removed osdcore.h from file2str.c, verinfo.c, png2bdc.c

Removed color tables from gsword, hyperspt, jailbrek, magmax, 
konamigx, markham, megazone, pandoras, rocnrope, strnskil, trackfld,
tp84, shaolins, scotrsht, pingpong, skykid, wiping, punchout, ikki,
rallyx, fastfred, fcombat, finalizr, flower, funworld, galivan,
gdrawpkr, goldstar, hanaawas, higemaru, ironhors, jackal, kchamp.
Added resnet.c color computations where appropriate. [Zsolt Vasvari]

Simplfied Mag Max background drawing code. [Zsolt Vasvari]

Further altered the Exidy 440 code in preparation for moving to proper
sound chip emulation. [Zsolt Vasvari]

Unified transparency handling between scotrsht, shaolins, tp84.
[Zsolt Vasvari]

Split timer_adjust() into timer_adjust_oneshot() and 
timer_adjust_periodic(). Updated all call sites. [Aaron Giles]

Fixed some arkanoid clones INPUT_PORTS definitions that were curiously 
using PORT_START_TAG("DSW") instead of PORT_MODIFY("DSW"). [stephh]

Fixed DIP switches and inputs for all games in cvs.c. [stephh]

Added HOTD2-specific BIOSes. [Arzeno Fabrice]

Added more accurate emulation of the priority system and the beam
logic in stactics. Removed color table. Centered crosshair. Used
proper game orientation. Unified memory maps. Switched game to use the
artwork system. Set GAME_IMPERFECT_GRAPHICS until artwork is created.
[Zsolt Vasvari]

Added sound support to Champion Skill. Removed GAME_NO_SOUND flags.
Increased interrupts per frame, music was too slow. Minor comments 
adjustment. [Mirko Buffoni]

Used PORT_SERVICE and PORT_SERVICE_NO_TOGGLE macros when it was 
possible. [stephh]

In the cps2 driver, Changed the GAME definitions to reflect how many 
players and how many buttons there are for each game. Rewrote the 
INPUT_PORTS definitions to use PORT_INCLUDE, PORT_MODIFY and 
PORT_CUSTOM macros. Added a few notes about the inputs when I thought 
they were needed to avoid wrong bug reports. Started to clean the 
driver. [stephh]

Added PCB and/or chip docs updates for Blaze On (kaneko16.c),
Sand Scorpion (sandscrp.c), Flash Point (segas16b.c). [Brian Troha]

Fixed kangaroo colors by assuming an inversion not present in the
schematics. [Nicola Salmoria]

Added the ability to pass absolute paths to mame_schedule_save() and 
mame_schedule_load(). [Nathan Woods]

Naomi/DC updates: [Samuele Zannoli]
 - Add SH4 I/O ports
 - Connected the 93C46 of the naomi and the x76f100 of the rom board 
    and filled them with dummy data to satisfy the BIOS
 - Implemented some of the JVS transfers that will be needed to use 
    the controls
 - Implemented ROM board DMA
 - Set proper NAOMI RAM sizes (32 MB main, 8 MB for AICA)
 - Improved PVR-TA graphics emulation

Set proper ARM7 clock for Naomi. [Deunan Knute]

ARM7 updates: [Anonymous]
 - correct mode at reset (it's always 0b1....)
 - HandlePSRTransfer: remove wrong code, correct detection of 
    privileged mode
 - correct carry output for ROR
 - Thumb ASR Rd,Rs: correct carry computation
 - Thumb ldmia/stmia: correct value for writeback when the writeback 
    reg is in the list
 - ARM ldm/stm ignore lower bits of the address
 - most of the exceptions force the I bit
 - ignore some flag bits in the CPSR

Some improvements to the Funworld driver and new games added. 
[Roberto Fresca]
 - Switched to XTAL def.
 - Fixed Magic Card II graphics issues.
 - Fixed Magic Card II inputs.
 - Fixed screen and visible area to snooker10.
 - Renamed set monglfir to mongolnw.
 - Renamed sets description based on languages instead of countries.
 - Fixed some years and manufacturers.
 - Updated technical notes.
 - Cleaned up the driver.
 
Did some cleanup of the 'special case' mess that the rallyx driver
has become. [Zsolt Vasvari]

Removed no longer used TRANSPARENCY_COLOR. [Zsolt Vasvari]

MC6845 updates: [Zsolt Vasvari]
 - changed the 6845 to be handle based -- adjusted all drivers
 - renamed crtc6845 to mc6845
 - allow reading registers 12 and 13
 - reading write-only registers return 0
 - updated comments in header
 
Changed qix.c to RGB32 mode and made its videoram_w do the partial 
updating instead of a per scanline timer. [Zsolt Vasvari]

Fixed 'mario' and 'masao' memory maps to match the Dip Switches port 
name. [stephh]

Fixed pooyan transparency. Updated to use resnet code. [Zsolt Vasvari]

Changed ZN2 clock speed to 100MHz to match board notes. [smf]

Added DIP locations for sitv, sicv, invadpt2, lrescue, invasion. Fixed 
coin2 for superinv & invasion. [RansAckeR]

Added initialization to machine/nmk112.c. This resolves a multi-
session audio problem reported for donpachi. Also added some variable 
initialization to machine/n64.c to fix running starsldr multi-session.
[Atari Ace]

Added diplocations to policetr and marked some as unused based on 
manual and schematics. [Mike Ellery]

Fixed fatal error in the maxaflex, mf_bdash and mf_achas drivers.
[Atari Ace]

Several more risky challenge opcodes. You can now see "gameplay".
[robiza]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Galaxy Games (BIOS v1.90) [Luca Elia]
Royal Vegas Joker Card [Roberto Fresca]



New clones added
----------------
Contra (US, Set 2) [Brian Troha]
Zero Wing (2 player simultaneous ver.) [Brian Troha]
Sand Scorpion (Revised Hardware) [Stefan Lindberg]
Galaxian (Taito) [Stefan Lindberg]
Jolly Card (3x3 deal) [Roberto Fresca]
Jolly Card Professional 2.0 [Roberto Fresca]
Lucky Lady (3x3 deal) [Roberto Fresca]
Lucky Lady (4x1 aces) [Roberto Fresca]



New games marked as GAME_NOT_WORKING
------------------------------------
World PK Soccer V2 (ver 1.1) [David Haywood]
