--------------------------------------------
The Last Starfighter (prototype) [Phil Bennett, Ken Van Mersbergen]
Air Race (prototype) [Phil Bennett, Ken Van Mersbergen]
--
From: Atari Ace <atari_ace@frontier.com>
Date: Tue, Aug 3, 2010 at 3:03 PM
Subject: [patch] Convert seta/seta2/ssv to driver_data
To: submit@mamedev.org
Cc: atariace@hotmail.com
Hi mamedev,
This patch removes all global variables from seta.c, seta2.c and
ssv.c. The number of AM_BASE() macros drops by 4% from 3111 to 2989.
Note: ssv.h and seta2.h are new files.
~aa
[Atari Ace]
--
From: Atari Ace <atari_ace@frontier.net>
Date: Mon, Aug 2, 2010 at 5:07 AM
Subject: [patch] Remove globals from gaelco, namco and nile sound cores
To: submit@mamedev.org
Cc: atariace@hotmail.com
Hi mamedev,
This patch removes some global variables from the gaelco, namco and
nile sound cores. Properly implemented devices should have
all their variables in their device state to allow for multiple
instances.
~aa
Defined new class driver_data_t, which all driver_data classes must
derive from. Updated all class definitions to inherit from the new
class, and to call it in the constructor. Also changed the alloc()
signature to return a driver_data_t pointer instead of a void *.
Renamed and hid machine->driver_data as machine->m_driver_data.
Added a new templatized method machine->driver_data<class> which returns
a properly downcast'ed version of the driver data. Updated all code
which looked like this:
mydriver_state *state = (mydriver_state *)machine->driver_data;
to this:
mydriver_state *state = machine->driver_data<mydriver_state>();
The new function does a downcast<> which in debug builds dynamically
verifies that you're actually casting to the right type.
Changed atarigen_state to be a base class from which all the related
Atari drivers derive their state from.
For MESS: this was mostly a bulk search/replace, in 4 steps in
src/mame:
1. Add ": public driver_data_t" to each driver state class definition:
Search: (class [a-z0-9_]+_state)$
Replace: \1 : public driver_data_t
2. Change the static alloc function to return a driver_data_t *:
Search: static void \*alloc\(
Replace: static driver_data_t \*alloc\(
3. Change the constructor to initialize driver_data_t:
Search: ([a-z0-9_]+_state\(running_machine \&machine\)) { }
Replace: \1\r\n\t\t: driver_data_t(machine) { }
4. Replace the state fetchers to use the new templatized function:
Search: \(([a-z0-9_]+_state) \*\)(.*)machine->driver_data
Replace: \2machine->driver_data<\1>()
New Clones Added
------------------------------------
Super Megatouch IV Turnier Version (9255-51-50 ROA, Bi-Lingual ENG/GER version) [bodger319, Smitdogg, The Dumping Union]
Megatouch 5 Turnier Version (9255-70-50 RON, Bi-Lingual ENG/GER version) [bodger319, Smitdogg, The Dumping Union]
up the definition, rather than the whole tokenizing system, which lost type
checking. Added a new module addrmap.c which implements the address map
classes, and changed the macros to call methods on the address_map and
address_map_entry classes which are strongly typed.
Fixed a few incorrectly specified memory map entries along the way. Please
double-check to make sure the behavior is expected in: twincobr.c, lordgun.c,
galaxold.c.
This change also means that since the address_maps are now constructor
functions, they are detected when not used, so a number of #ifdef UNUSED_CODE
were added around dangling address map definitions.
Also included with this change:
- removed cputag_clocks_to_attotime() and cputag_attotime_to_clocks() in
favor of just expanding the class
- same for cputag_suspend() and cputag_resume()
Since it's driven by a HD647180X0CP6 (Subsino - SS9600)
plus SS9601 and SS9602 (for video and I/O respectively),
it's possible that needs to be moved to a new driver in
a near future. Also added technical notes. [Roberto Fresca]
New games marked as GAME_NOT_WORKING
------------------------------------
Magic Train [Roberto Fresca]
* Initial release.
* Preliminary memory map.
* Hooked both PIAs, but need more analysis to confirm the offsets.
* Accurate graphics and color decode.
* Added main PCB and daughterboard layouts.
* Added partial docs and diagrams about the CPU/MCU/ROMs addressing.
* Added debug and technical notes.
New games marked as GAME_NOT_WORKING
------------------------------------
Mega Double Poker (conversion kit) [Roberto Fresca, ChrisQC, Smitdogg]
* Added a new complete set. Now set as parent.
* Corrected Xtal frequency.
* Mapped the PIA MC6821 (not wired since is not totally understood).
* Preliminary attempt to decode the color PROM.
* Mapped the AY-3-8910, but still needs ports and some checks.
* Added debug and technical notes.
New games marked as GAME_NOT_WORKING
------------------------------------
Mini Boy 7 (set 1) [Roberto Fresca, Siftware]
* Identified several more sets as MVS / AES Version and tagged them properly
* Updated game PCB info
* bakatono: Removed BAD_DUMP from m1 - is correct, corrected game name
* mahretsu: Added correct s1, corrected game name
* strhoop: Added correct v2
* sdodgeb: Replaced 16mbit v1/v2 with 32mbit v1 as found on two original cards
* Added Japan J3 bios
New clones added
================
Quiz King of Fighters (Korean release)
Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special (Korean release)
Quiz Daisousa Sen - The Last Count Down (Korean release)
-----------------------------------------------------------------------------------------------
Submission from Johnboy for Mame v0.138u4
Changed files:
===============
src\mame\mamedriv.c
src\mame\drivers\neodrvr.c
Changes:
========
. Identified several more sets as MVS / AES Version and tagged them properly
. Updated game pcb info
. bakatono: Removed BAD_DUMP from m1 - is correct, corrected game name
. mahretsu: Added correct s1, corrected game name
. strhoop: Added correct v2
. sdodgeb: Replaced 16mbit v1/v2 with 32mbit v1 as found on two original cards
. Added Japan J3 bios
----------------
NOTE: I ported three Korean sets from WinKawaks. I do NOT want to be named/credited for these sets (quizdaisk, quizkofk, rbffspeck).
----------------
The required binaries can be found here (too big to attach): http://www.sendspace.com/file/4e84ph