Commit Graph

10727 Commits

Author SHA1 Message Date
Roberto Zandona
34192f3f64 [SSV] implemented visible area registers; now the resolution for all the games is the max visible area (the values of the registers after the boot process) 2010-09-07 19:10:34 +00:00
Angelo Salese
0cbb217cdb Fixed a bogus Hu6280 CPU core bug with timer latch division values readings [Angelo Salese] 2010-09-07 17:26:42 +00:00
Aaron Giles
7e98d6e583 Put the state list in a simple_list<>. 2010-09-07 04:51:51 +00:00
Aaron Giles
2dbd6f67f8 Converted ASAP CPU core from a legacy CPU core to a modern device.
Renamed device_execute_interface::m_icount to m_icountptr to avoid
commonly-named device values of m_icount.
2010-09-07 00:32:49 +00:00
Scott Stone
a8c12bd3df Corrected or clarified a number of duplicated inputs for drivers up through G [Tafoid] 2010-09-07 00:12:57 +00:00
Angelo Salese
4139b8c690 Fixed sprite OV flag behaviour in PC Engine VDC emulation [Angelo Salese, Charles MacDonald] 2010-09-06 23:11:29 +00:00
Aaron Giles
85d240c04c Move debug_setup() call to after the device_debug class is created. 2010-09-06 19:05:34 +00:00
Angelo Salese
1f7f4877e4 Haze: attempt to fix MT 4044 2010-09-06 18:58:31 +00:00
Angelo Salese
17a3a88ada new WORKING games
-------------

Poker Master (Tony-Poker V3.A, hack?) [David Haywood, William Ostronic]
2010-09-06 14:08:52 +00:00
Scott Stone
6fa63431e2 Identified FREE PLAY dip in grudge 2010-09-06 08:18:56 +00:00
Scott Stone
165e4cf94b Corrected or clarified a number of duplicated inputs for drivers up through C [Tafoid] 2010-09-06 01:21:56 +00:00
Brian Troha
612aed93b9 New Clone: Sega Rally Championship (Revision B)
New Clone Added
--------------------------------------
Sega Rally Championship (Revision B) [Alex's Blog]
2010-09-05 17:19:54 +00:00
R. Belmont
896d5044f6 namcops2: added dongle dump for Federation vs. Z.A.F.T. [Guru]
New games added as GAME_NOT_WORKING
-----------------------------------
Soul Calibur 2 (SC22 Ver. A) [Guru]
2010-09-05 17:10:35 +00:00
Aaron Giles
8826428120 Added read_status() and write_command() methods to the okim6295_device
for the common case where these are done outside the context of a read
or write handler (it was annoying to pass in the fake address space
for these cases).

Added DEVCB_DEVICE_MEMBER() macros which allow you to specify a
READ8_MEMBER or WRITE8_MEMBER in a device callback (via dynamically
generated trampolines).

Replaced all remaining calls to okim6295_r/okim6295_w with calls to
the new methods, and removed the static functions.
2010-09-05 17:07:31 +00:00
R. Belmont
e4de6b7bd9 Renamed namcops2 DVDs to match labels [Guru] 2010-09-05 17:01:47 +00:00
R. Belmont
4546df9f8e New games marked as GAME_NOT_WORKING
------------------------------------
Crisis Zone (CSZO2 Ver. A) [Guru]
2010-09-05 16:52:18 +00:00
stephh
00c5f4dca5 quizpani (quizpani.c) [stephh] :
- Improved Dip Switches and fixed Inputs (after verification of the
    M68000 code)
2010-09-05 09:54:23 +00:00
Roberto Fresca
6e74fa24c9 New not working game...
New games marked as GAME_NOT_WORKING
------------------------------------
Piccolo Poker [Roberto Fresca, Team Europe & Housi]
2010-09-05 07:03:16 +00:00
Aaron Giles
c971dd5b03 Added AM_DEVREAD_MODERN/AM_DEVWRITE_MODERN/etc. macros for the non-modern
address map case so that updated devices can shed their old-style read/write
handlers in favor of member functions.

Bulk converted all okim6295_r/okim6295_w references in the address maps to
call to the modern member functions.
2010-09-05 06:30:20 +00:00
Aaron Giles
6fe9fe53f4 Integrated comments into debugcpu.c, and removed debugcmt.c. Modernized
the code and updated so it actually works with the modern debug classes.
2010-09-05 06:12:47 +00:00
Roberto Fresca
d5f94fa913 New driver for Jubilee's Double-Up Poker. Decoded graphics and colors
properly. Hooked the correct TMS9980 CPU, added a preliminary memory
map and some technical notes. [Roberto Fresca]


New games marked as GAME_NOT_WORKING
------------------------------------
Jubilee Double-Up Poker [Roberto Fresca]
2010-09-05 05:20:43 +00:00
Brian Troha
cb25e8746a multfish.c: Updated driver with new information and several new sets as well as several new bootlegs. [MetalliC] 2010-09-05 04:25:14 +00:00
Roberto Zandona
627e08c052 00945: bkraidu: Text glitch in the flip screen mode. [Roberto Zandona'] 2010-09-04 23:58:32 +00:00
Aaron Giles
820fc8f8ea Whoops, one more reference.... 2010-09-04 20:55:22 +00:00
Aaron Giles
15ec9dd390 Remove unused debug_comment_exit 2010-09-04 20:44:53 +00:00
Aaron Giles
b954eccd7e Last 2 regressions. 2010-09-04 20:38:52 +00:00
Aaron Giles
1359ea15b1 Have each device create its own device_debug instead of letting the
debugger do it. This allows the device to start itself up before the
debugger tries to figure out what to do with it. Fixes the problem
where register names were not populated into the symbol table
correctly after I shuffled the initialization order.
2010-09-04 19:47:54 +00:00
Aaron Giles
53b7d019e2 Remaining regressions. 2010-09-04 19:15:28 +00:00
Aaron Giles
c97d6bcfe0 Fix most reported regressions. A few more still to come. 2010-09-04 17:30:45 +00:00
Aaron Giles
5b6c078aeb Added templates required_shared_ptr<> and optional_shared_ptr<> which
work just like required_device<> and optional_device<> for retrieving a
pointer by tag from an address space that specifies AM_SHARE("tag").
Also added templates required_shared_size<> and optional_shared_size<>
for retrieving the size of the AM_SHARE region.

Created a new generic NVRAM device. It can be configured to default to
0-fill, 1-fill, random-fill, or custom fill. In all cases, a same-named
memory region overrides the default fill. The address range where the
NVRAM can be found is now identified by an AM_SHARE() region of the
same tag as the NVRAM device. Drivers can also explicitly configure a
separately-allocated NVRAM region via nvram_device::set_base().

Replaced all instances of MDRV_NVRAM_HANDLER(generic_*) with
MDRV_NVRAM_ADD_*("nvram"). Replaced all AM_BASE_GENERIC/AM_SIZE_GENERIC(nvram)
with AM_SHARE("nvram"). For all remaining drivers that referenced the
generic.nvram directly, changed them to hold a required_shared_ptr<UINTx>
to the NVRAM in their driver state, and use that instead. Removed
nvram and nvram_size from the generic_ptrs.
2010-09-04 17:01:46 +00:00
Scott Stone
8969b0b7ee Quick fix to relegate the eeprom warnings to debug build only. (no whatsnew.txt)
Comment:
There is still a major issue where this printf shows up when using many of the output commands -listxml, -romident and more.  It should only show up when emulating the game, right?
2010-09-04 16:51:25 +00:00
Angelo Salese
bcf5b7a661 Revert previous z80dma fix (made it specific to the MESS driver), not worth 2010-09-04 16:01:16 +00:00
Roberto Zandona
1ca12dce6f 03952: gaiden, wildfang, raiga: Screen is shifted 32 pixels down with flip-screen. [Roberto Zandona'] 2010-09-04 14:09:06 +00:00
Angelo Salese
0f68f0fc2b new clones
----------
Vigilante (World, set 2) [porchy]

(just a minor random driver clean-up, because I've forgot to write the aforementioned whatsnew string in my previous commit ...)
2010-09-04 12:30:07 +00:00
Angelo Salese
da8511a089 new WORKING games
-----------------
Shinobi / FZ-2006 (Korean System 16 bootleg) (ISG Selection Master Type 2006)


new clones
----------
2010-09-04 12:23:58 +00:00
stephh
b43c05c970 pipeline (pipeline.c) [stephh] :
- Fixed Dip Switches and Inputs (after verification of the Z80 code)
2010-09-04 08:18:15 +00:00
Aaron Giles
8ac0be666e Change shared memory regions to track their size. Added memory_get_shared()
functions to retrieve a pointer to a shared region and optionally the size.
2010-09-04 02:26:32 +00:00
R. Belmont
92812cc132 Fix compiling on older GCCs (including OS X PowerPC) [Aaron Giles] 2010-09-04 01:15:01 +00:00
Aaron Giles
046250f179 New model for populating devices in a driver_device class. Removed the
recently-introduced find_devices() method.

There are two new template classes optional_device<> and required_device<>.
Use these to declare the device pointers in the class. The only difference 
between the two is that required will fatalerror if the device is not found.

These new classes are "pass-through" so m_oki can be passed anywhere an
okim6295_device would work, and you can use m_oki->x to reference methods
or variables.

Each of these new classes needs to be specified in the initializer,
passing a reference to the driver_device object and the device tag. So,
for example:

class example_state : public driver_device
{
public:
    example_state(running_machine &machine, const driver_device_config_base &config)
		: driver_device(machine, config),
		  m_maincpu(*this, "maincpu"),
		  m_oki(*this, "oki") { }

    required_device<okim6295_device> m_oki;
    optional_device<cpu_device> m_maincpu;
};

Given that, the driver_device will auto-populate each device with a
pointer to the device prior to calling any of the initialization methods.
2010-09-03 20:57:19 +00:00
Angelo Salese
093c2682a2 Fixed z80dma ready state callback when it's configured as active low [Angelo Salese] 2010-09-03 18:38:40 +00:00
Angelo Salese
b27a103bc7 Small log fix, not worth 2010-09-03 14:31:19 +00:00
Aaron Giles
e4d8baf401 Changed driver_device to expose the game_driver's ROMs through the
device interface. This means all ROMs are now exposed via devices,
and thus the process of enumerating ROMs gets simpler.

Changed all instances of temporarily allocating machine_config objects 
to just put them on the stack for simplicity, letting the destructor 
handle the cleanup work automatically.

Changed machine_config constructor to take a game_driver, from which
the machine_config constructor is obtained. This also means the
resulting machine_config holds a reference to the game_driver.

Changed running_machine constructor to no longer take a game_driver,
since the game_driver is now obtainable via the machine_config.
2010-09-03 05:21:46 +00:00
Scott Stone
36b6a9d651 Corrected or clarified a number of duplicated inputs for drivers up through A [Tafoid] 2010-09-02 23:27:03 +00:00
Miodrag Milanovic
4202b43d60 Fixed compile. sorry for this (no whatsnew) 2010-09-02 09:47:54 +00:00
Miodrag Milanovic
e4dbd5dc83 Updated sound devices not cover with previous patches (used only by MESS) (no whatsnew) 2010-09-02 09:40:58 +00:00
Aaron Giles
420e1e0ad5 Added include files for all remaining drivers with multiple source files.
[Atari Ace]

---------- Forwarded message ----------
From: Atari Ace <atari_ace@frontier.com>
Date: Sun, Aug 29, 2010 at 10:35 PM
Subject: [patch] Add missing include files for multi-file drivers
To: submit@mamedev.org
Cc: atariace@hotmail.com


Hi mamdev,

Converting a driver to use driver_data requires that multi-file
drivers have a common include file to host the driver_data class. Thus
this patch, which gets ahead of the curve and adds missing include
files to all multi-file drivers (minus ones covered by my last
driver_data patch).  The first patch is include-related cleanup of the
existing drivers.  The second patch then adds ~100 files to
mame/includes.

~aa
2010-09-02 09:13:01 +00:00
Aaron Giles
a7313263b3 Converted sauro, scotrsht, segald, seicross, senjyo, shangha3,
shaolins, shisen, skyraid, solomon, spcforce, speekatk, splash, 
sprcros2, ssozumo, suna16, suna8 to driver_data. [Atari Ace]


---------- Forwarded message ----------
From: Atari Ace <atari_ace@frontier.com>
Date: Sat, Aug 28, 2010 at 9:39 PM
Subject: [patch] Convert various s drivers to driver_data
To: submit@mamedev.org
Cc: atariace@hotmail.com


Hi mamedev,

Another round of driver_data conversions...

sauro, scotrsht, segald, seicross, senjyo, shangha3, shaolins, shisen,
skyraid, solomon, spcforce, speekatk, splash, sprcros2, ssozumo,
suna16, suna8

~aa
2010-09-02 09:04:26 +00:00
Aaron Giles
a9befd7970 Remove artificial SOUND_ prefix from sound device names.
[Atari Ace]

---------- Forwarded message ----------
From: Atari Ace <atari_ace@frontier.com>
Date: Tue, Aug 31, 2010 at 5:50 AM
Subject: [patch] Despecialize legacy sound devices
To: submit@mamedev.org
Cc: atariace@hotmail.com


Hi mamedev,

While poking around in the MAME source code, I came across the odd
type snes_sound_sound_device, which led me to the fact that legacy
sound devices are named a bit differently than other legacy devices,
probably a kludge intended to be changed later but forgotten.  Anyhow,
this patch fixes it.  The first patch goes part way, changing all but
the tag (which fixes the weird type issue).  It also changes type
names in the scsp and msm5232 cores to avoid a name collision if/when
the second patch is applied.  The second patch then touches a lot of
files, mostly removing the SOUND_ prefix from type asserts, but it
also needed to change the tags for the LASERDISC, S2636 and SPEAKER
sound cores to avoid collisions with other devices with the same name.

~aa
2010-09-02 08:14:41 +00:00
Aaron Giles
066e54b69f Changed driver_data objects to be devices. Replaced the driver_data_t
class with a new driver_device class, which is the base class for all 
driver_data objects now. The new driver devices are added as the
first device in the device list, with a tag of "root"; all other
devices are now owned by the driver device.

Moved core callbacks (machine_start/_reset, sound_start/_reset, 
video_start/_reset/_eof/_update, and palette_init) into device 
configuration parameters on these new devices. The driver_device
base class overrides device_start(), ensures all other devices have
been started, and then calls, in order, the following overridable 
methods:

  find_devices() - new, used to locate devices prior to DRIVER_INIT
  DRIVER_INIT function from the game driver
  palette_init() - by default calls the MDRV_PALETTE_INIT function
  driver_start() - new
  machine_start() - by default calls the MDRV_MACHINE_START function
  sound_start() - by default calls the MDRV_SOUND_START function
  video_start() - by default calls the MDRV_VIDEO_START function

Similarly, the driver_device class overrides device_reset() and then
calls these methods in order:

  driver_reset() - new
  machine_reset() - by default calls the MDRV_MACHINE_RESET function
  sound_reset() - by default calls the MDRV_SOUND_RESET function
  video_reset() - by default calls the MDRV_VIDEO_RESET function

To accommodate these changes, initialization order is slightly
altered from before. The tilemap, video, sound, and debug systems 
are now initialized prior to the devices' start. And the user
callbacks for DRIVER_INIT, PALETTE_INIT, MACHINE_START, SOUND_START, 
and VIDEO_START are all called back-to-back. The net effect should 
be similar, however.

Added methods (optional_device and required_device) to the new 
driver_device class to find devices, intended to be used from the 
find_devices() callback. See harddriv.h and beathead.h for examples 
of usage.

Changed device_t::subtag to only prepend a prefix if the device is
not the 'root' device, in order to keep compatibility with existing
tag searching.

Changed device startup to actively reorder devices when they report
missing dependencies. This ensures that the reset functions get
called in the same order that the start functions did.

Bulk updated drivers as follows:

First removed the old static alloc function from the driver_data_t:
S: [ \t]*static driver_device \*alloc *\( *running_machine *\&machine *\) *\{ *return auto_alloc_clear *\( *\&machine *, *[a-zA-Z0-9_]+_state *\( *machine *\) *\); *\}[\r\n]*
R: 

Then switched from driver_data_t to driver_device:
S: driver_data_t
R: driver_device

Then changed the constructors to pass the correct parameters:
S: ([a-zA-Z0-9_]+)_state *\( *running_machine *\&machine *\)([\r\n\t ]+): *driver_device *\( *machine *\)
R: \1_state\(running_machine \&machine, const driver_device_config_base \&config\)\2: driver_device\(machine, config\)
2010-09-02 07:57:50 +00:00
Fabio Priuli
1d194df33a aristmk4.c:
* Cashcade workaround for topgear [Frasher]
* Improved a few memory handlers [Palindrome]


out of whatsnew: the original patch contained more changes so probably someone might want to contact Palindrome & c. about these.
1. the way ticket output was handled has been rejected (MAME should not print out files like they did)
2. they changed a rom in autmoon and another PROM: since I'm not sure if the roms are available and the commit message did not mention them at all, I cannot judge if the change is fine
3. the way they implemented Robot Test is debatable, but I know nothing about the hardware, so someone should review that part
4. if they want to remap Jackpot inputs, they should choose a key not already in use ('I' is taken as well) and possibly use the common IPT_GAMBLE we have
2010-09-01 10:29:19 +00:00