---------- Forwarded message ----------
From: Alex Jackson <awj_in_japan@hotmail.com>
Date: Tue, Aug 10, 2010 at 1:58 AM
Subject: RE: MT 03981: bosco, xevious and clones: Game reboots or hangs
To: p.j.bennett@gmail.com, submit@mamedev.org
This patch fixes both affected games, as far as I can tell. Thanks for
the heads-up.
--AWJ
---------- Forwarded message ----------
From: Paul Thacker <lennier_of_the_minbari@yahoo.com>
- Hide quoted text -
Date: Tue, Aug 10, 2010 at 4:50 AM
Subject: Re: Astrocade video update
To: submit@mamedev.org
Phil (or whoever else checks this),
Sorry for missing the Gorf case. I've hashed out the problem some
more on the message boards, and I now see that while Astrocade BASIC
calls the lightpen function on every scanline, Gorf calls it several
times per vblank on seemingly random scanlines. So, that explains why
the first fix didn't work. Looking at the code more closely, I see
why Astrocade BASIC was running out of timers. The
astrocade_trigger_lightpen function has a timer that doesn't expire
until the end of vblank. Since this can be called many times per
vblank, a bunch of timers could pile up. This happened on Gorf to
some extent, but not enough to reach the MAX_TIMERS of 256. But
Astrocade BASIC crashes every time. I changed the timer to only last
for that scanline, and this seems to work.
I tested this change in MAME and was able to play Gorf, Robby Roto,
Wizard of Wor, Extra Bases, Space Zap, Seawolf II, Professor Pac-Man,
and Demons & Dragons. In MESS, Astrocade BASIC is now usable, as well
as some of the BASIC-carts like Candyman and Super Slope. (Road Toad
doesn't run out of timers anymore, but is still unplayable for some
reason.) And I've tested lots of other carts with no problems.
Thanks,
Paul aka ranger_lennier
---------- Forwarded message ----------
From: abcd efgh <cix_999@yahoo.it>
Date: Mon, Aug 9, 2010 at 7:51 PM
Subject: genesisb.c
To: submit@mamedev.org
Hi everybody !
I made just a little work, i moved ssf2md in to aladinb.c driver and
renamed this one genesisb.c for create a new driver for all the
Genesis\Megadrive bootleg.
Bye Sonikos.
* Fixed sf2ceua labels and added pcb infos
* Fixed sf2ceub labels and added pcb infos,
removed 1 incorrect rom and replaced with
proper redump done by Dumping Union
* Fixed punisher, punisheru Q-Sound labels
and added D-Board PALs
* Expanded and updated games table in video\cps1.c
* Confirmed B-Board # for 3wondersu, varth
* Fixed labels in ghouls, ghoulsu to match real pcbs
* Removed 14.bin in dynwarj, it was a bad dump
* Marked nm_23.12b in nemoj BAD_DUMP
* Removed knightsja set (roms were split & hacked to work on a suicided board)
* Added roms relationship between parent/clones where missing
* Fixed some incorrect notes added in previous update
* dynwaru -> dynwara
forgottnua -> forgottnu, forgottnu -> forgottnua
wofhfb -> wofhfh as real name Huo Feng Huang
* Reordered some sets
* Minor cleanups
--------------------------------------------
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>()