summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/backfire.c
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2011-03-29 15:50:04 +0000
committer Aaron Giles <aaron@aarongiles.com>2011-03-29 15:50:04 +0000
commit2ad50720237fdd19cf5ab45b8cb6bb21119c00b8 (patch)
treedb21eee69668a06abc3f310ebbd51f5dbadf2de7 /src/mame/drivers/backfire.c
parentb72cf3c5702b749c7bf26383ff05a9ab55022d31 (diff)
BIG update.
Remove redundant machine items from address_space and device_t. Neither machine nor m_machine are directly accessible anymore. Instead a new getter machine() is available which returns a machine reference. So: space->machine->xxx ==> space->machine().xxx device->machine->yyy ==> device->machine().yyy Globally changed all running_machine pointers to running_machine references. Any function/method that takes a running_machine takes it as a required parameter (1 or 2 exceptions). Being consistent here gets rid of a lot of odd &machine or *machine, but it does mean a very large bulk change across the project. Structs which have a running_machine * now have that variable renamed to m_machine, and now have a shiny new machine() method that works like the space and device methods above. Since most of these are things that should eventually be devices anyway, consider this a step in that direction. 98% of the update was done with regex searches. The changes are architected such that the compiler will catch the remaining errors: // find things that use an embedded machine directly and replace // with a machine() getter call S: ->machine-> R: ->machine\(\)\. // do the same if via a reference S: \.machine-> R: \.machine\(\)\. // convert function parameters to running_machine & S: running_machine \*machine([^;]) R: running_machine \&machine\1 // replace machine-> with machine. S: machine-> R: machine\. // replace &machine() with machine() S: \&([()->a-z0-9_]+machine\(\)) R: \1 // sanity check: look for this used as a cast (running_machine &) // and change to this: *(running_machine *)
Diffstat (limited to 'src/mame/drivers/backfire.c')
-rw-r--r--src/mame/drivers/backfire.c96
1 files changed, 48 insertions, 48 deletions
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index bc86e0d1e7a..318cf502ae0 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -59,7 +59,7 @@ public:
/* I'm using the functions in deco16ic.c ... same chips, why duplicate code? */
static VIDEO_START( backfire )
{
- backfire_state *state = machine->driver_data<backfire_state>();
+ backfire_state *state = machine.driver_data<backfire_state>();
state->spriteram_1 = auto_alloc_array(machine, UINT16, 0x2000/2);
state->spriteram_2 = auto_alloc_array(machine, UINT16, 0x2000/2);
@@ -84,10 +84,10 @@ static VIDEO_START( backfire )
static SCREEN_UPDATE( backfire )
{
- backfire_state *state = screen->machine->driver_data<backfire_state>();
+ backfire_state *state = screen->machine().driver_data<backfire_state>();
//FIXME: flip_screen_x should not be written!
- flip_screen_set_no_update(screen->machine, 1);
+ flip_screen_set_no_update(screen->machine(), 1);
/* screen 1 uses pf1 as the forground and pf3 as the background */
/* screen 2 uses pf2 as the foreground and pf4 as the background */
@@ -97,40 +97,40 @@ static SCREEN_UPDATE( backfire )
if (screen == state->lscreen)
{
- bitmap_fill(screen->machine->priority_bitmap, NULL, 0);
+ bitmap_fill(screen->machine().priority_bitmap, NULL, 0);
bitmap_fill(bitmap, cliprect, 0x100);
if (state->left_priority[0] == 0)
{
deco16ic_tilemap_1_draw(state->deco_tilegen2, bitmap, cliprect, 0, 1);
deco16ic_tilemap_1_draw(state->deco_tilegen1, bitmap, cliprect, 0, 2);
- screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram_1, 0x800);
+ screen->machine().device<decospr_device>("spritegen")->draw_sprites(screen->machine(), bitmap, cliprect, state->spriteram_1, 0x800);
}
else if (state->left_priority[0] == 2)
{
deco16ic_tilemap_1_draw(state->deco_tilegen1, bitmap, cliprect, 0, 2);
deco16ic_tilemap_1_draw(state->deco_tilegen2, bitmap, cliprect, 0, 4);
- screen->machine->device<decospr_device>("spritegen")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram_1, 0x800);
+ screen->machine().device<decospr_device>("spritegen")->draw_sprites(screen->machine(), bitmap, cliprect, state->spriteram_1, 0x800);
}
else
popmessage( "unknown left priority %08x", state->left_priority[0]);
}
else if (screen == state->rscreen)
{
- bitmap_fill(screen->machine->priority_bitmap, NULL, 0);
+ bitmap_fill(screen->machine().priority_bitmap, NULL, 0);
bitmap_fill(bitmap, cliprect, 0x500);
if (state->right_priority[0] == 0)
{
deco16ic_tilemap_2_draw(state->deco_tilegen2, bitmap, cliprect, 0, 1);
deco16ic_tilemap_2_draw(state->deco_tilegen1, bitmap, cliprect, 0, 2);
- screen->machine->device<decospr_device>("spritegen2")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram_2, 0x800);
+ screen->machine().device<decospr_device>("spritegen2")->draw_sprites(screen->machine(), bitmap, cliprect, state->spriteram_2, 0x800);
}
else if (state->right_priority[0] == 2)
{
deco16ic_tilemap_2_draw(state->deco_tilegen1, bitmap, cliprect, 0, 2);
deco16ic_tilemap_2_draw(state->deco_tilegen2, bitmap, cliprect, 0, 4);
- screen->machine->device<decospr_device>("spritegen2")->draw_sprites(screen->machine, bitmap, cliprect, state->spriteram_2, 0x800);
+ screen->machine().device<decospr_device>("spritegen2")->draw_sprites(screen->machine(), bitmap, cliprect, state->spriteram_2, 0x800);
}
else
popmessage( "unknown right priority %08x", state->right_priority[0]);
@@ -143,34 +143,34 @@ static SCREEN_UPDATE( backfire )
static READ32_DEVICE_HANDLER( backfire_eeprom_r )
{
/* some kind of screen indicator? checked by backfirea set before it will boot */
- int backfire_screen = device->machine->rand() & 1;
- return ((eeprom_read_bit(device) << 24) | input_port_read(device->machine, "IN0")
- | ((input_port_read(device->machine, "IN2") & 0xbf) << 16)
- | ((input_port_read(device->machine, "IN3") & 0x40) << 16)) ^ (backfire_screen << 26) ;
+ int backfire_screen = device->machine().rand() & 1;
+ return ((eeprom_read_bit(device) << 24) | input_port_read(device->machine(), "IN0")
+ | ((input_port_read(device->machine(), "IN2") & 0xbf) << 16)
+ | ((input_port_read(device->machine(), "IN3") & 0x40) << 16)) ^ (backfire_screen << 26) ;
}
static READ32_HANDLER( backfire_control2_r )
{
- backfire_state *state = space->machine->driver_data<backfire_state>();
+ backfire_state *state = space->machine().driver_data<backfire_state>();
// logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(space->cpu), offset << 1, mem_mask);
- return (eeprom_read_bit(state->eeprom) << 24) | input_port_read(space->machine, "IN1") | (input_port_read(space->machine, "IN1") << 16);
+ return (eeprom_read_bit(state->eeprom) << 24) | input_port_read(space->machine(), "IN1") | (input_port_read(space->machine(), "IN1") << 16);
}
#ifdef UNUSED_FUNCTION
static READ32_HANDLER(backfire_control3_r)
{
- backfire_state *state = space->machine->driver_data<backfire_state>();
+ backfire_state *state = space->machine().driver_data<backfire_state>();
// logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(space->cpu), offset << 1, mem_mask);
- return (eeprom_read_bit(state->eeprom) << 24) | input_port_read(space->machine, "IN2") | (input_port_read(space->machine, "IN2") << 16);
+ return (eeprom_read_bit(state->eeprom) << 24) | input_port_read(space->machine(), "IN2") | (input_port_read(space->machine(), "IN2") << 16);
}
#endif
static WRITE32_DEVICE_HANDLER(backfire_eeprom_w)
{
- logerror("%s:write eprom %08x (%08x) %08x\n",device->machine->describe_context(),offset<<1,mem_mask,data);
+ logerror("%s:write eprom %08x (%08x) %08x\n",device->machine().describe_context(),offset<<1,mem_mask,data);
if (ACCESSING_BITS_0_7)
{
eeprom_set_clock_line(device, BIT(data, 1) ? ASSERT_LINE : CLEAR_LINE);
@@ -182,49 +182,49 @@ static WRITE32_DEVICE_HANDLER(backfire_eeprom_w)
static WRITE32_HANDLER(backfire_nonbuffered_palette_w)
{
- COMBINE_DATA(&space->machine->generic.paletteram.u32[offset]);
- palette_set_color_rgb(space->machine,offset,pal5bit(space->machine->generic.paletteram.u32[offset] >> 0),pal5bit(space->machine->generic.paletteram.u32[offset] >> 5),pal5bit(space->machine->generic.paletteram.u32[offset] >> 10));
+ COMBINE_DATA(&space->machine().generic.paletteram.u32[offset]);
+ palette_set_color_rgb(space->machine(),offset,pal5bit(space->machine().generic.paletteram.u32[offset] >> 0),pal5bit(space->machine().generic.paletteram.u32[offset] >> 5),pal5bit(space->machine().generic.paletteram.u32[offset] >> 10));
}
/* map 32-bit writes to 16-bit */
-static READ32_HANDLER( backfire_pf1_rowscroll_r ) { backfire_state *state = space->machine->driver_data<backfire_state>(); return state->pf1_rowscroll[offset] ^ 0xffff0000; }
-static READ32_HANDLER( backfire_pf2_rowscroll_r ) { backfire_state *state = space->machine->driver_data<backfire_state>(); return state->pf2_rowscroll[offset] ^ 0xffff0000; }
-static READ32_HANDLER( backfire_pf3_rowscroll_r ) { backfire_state *state = space->machine->driver_data<backfire_state>(); return state->pf3_rowscroll[offset] ^ 0xffff0000; }
-static READ32_HANDLER( backfire_pf4_rowscroll_r ) { backfire_state *state = space->machine->driver_data<backfire_state>(); return state->pf4_rowscroll[offset] ^ 0xffff0000; }
-static WRITE32_HANDLER( backfire_pf1_rowscroll_w ) { backfire_state *state = space->machine->driver_data<backfire_state>(); data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&state->pf1_rowscroll[offset]); }
-static WRITE32_HANDLER( backfire_pf2_rowscroll_w ) { backfire_state *state = space->machine->driver_data<backfire_state>(); data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&state->pf2_rowscroll[offset]); }
-static WRITE32_HANDLER( backfire_pf3_rowscroll_w ) { backfire_state *state = space->machine->driver_data<backfire_state>(); data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&state->pf3_rowscroll[offset]); }
-static WRITE32_HANDLER( backfire_pf4_rowscroll_w ) { backfire_state *state = space->machine->driver_data<backfire_state>(); data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&state->pf4_rowscroll[offset]); }
+static READ32_HANDLER( backfire_pf1_rowscroll_r ) { backfire_state *state = space->machine().driver_data<backfire_state>(); return state->pf1_rowscroll[offset] ^ 0xffff0000; }
+static READ32_HANDLER( backfire_pf2_rowscroll_r ) { backfire_state *state = space->machine().driver_data<backfire_state>(); return state->pf2_rowscroll[offset] ^ 0xffff0000; }
+static READ32_HANDLER( backfire_pf3_rowscroll_r ) { backfire_state *state = space->machine().driver_data<backfire_state>(); return state->pf3_rowscroll[offset] ^ 0xffff0000; }
+static READ32_HANDLER( backfire_pf4_rowscroll_r ) { backfire_state *state = space->machine().driver_data<backfire_state>(); return state->pf4_rowscroll[offset] ^ 0xffff0000; }
+static WRITE32_HANDLER( backfire_pf1_rowscroll_w ) { backfire_state *state = space->machine().driver_data<backfire_state>(); data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&state->pf1_rowscroll[offset]); }
+static WRITE32_HANDLER( backfire_pf2_rowscroll_w ) { backfire_state *state = space->machine().driver_data<backfire_state>(); data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&state->pf2_rowscroll[offset]); }
+static WRITE32_HANDLER( backfire_pf3_rowscroll_w ) { backfire_state *state = space->machine().driver_data<backfire_state>(); data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&state->pf3_rowscroll[offset]); }
+static WRITE32_HANDLER( backfire_pf4_rowscroll_w ) { backfire_state *state = space->machine().driver_data<backfire_state>(); data &= 0x0000ffff; mem_mask &= 0x0000ffff; COMBINE_DATA(&state->pf4_rowscroll[offset]); }
#ifdef UNUSED_FUNCTION
READ32_HANDLER( backfire_unknown_wheel_r )
{
- return input_port_read(space->machine, "PADDLE0");
+ return input_port_read(space->machine(), "PADDLE0");
}
READ32_HANDLER( backfire_wheel1_r )
{
- return space->machine->rand();
+ return space->machine().rand();
}
READ32_HANDLER( backfire_wheel2_r )
{
- return space->machine->rand();
+ return space->machine().rand();
}
#endif
static READ32_HANDLER( backfire_spriteram1_r )
{
- backfire_state *state = space->machine->driver_data<backfire_state>();
+ backfire_state *state = space->machine().driver_data<backfire_state>();
return state->spriteram_1[offset] ^ 0xffff0000;
}
static WRITE32_HANDLER( backfire_spriteram1_w )
{
- backfire_state *state = space->machine->driver_data<backfire_state>();
+ backfire_state *state = space->machine().driver_data<backfire_state>();
data &= 0x0000ffff;
mem_mask &= 0x0000ffff;
@@ -233,13 +233,13 @@ static WRITE32_HANDLER( backfire_spriteram1_w )
static READ32_HANDLER( backfire_spriteram2_r )
{
- backfire_state *state = space->machine->driver_data<backfire_state>();
+ backfire_state *state = space->machine().driver_data<backfire_state>();
return state->spriteram_2[offset] ^ 0xffff0000;
}
static WRITE32_HANDLER( backfire_spriteram2_w )
{
- backfire_state *state = space->machine->driver_data<backfire_state>();
+ backfire_state *state = space->machine().driver_data<backfire_state>();
data &= 0x0000ffff;
mem_mask &= 0x0000ffff;
@@ -440,14 +440,14 @@ static const deco16ic_interface backfire_deco16ic_tilegen2_intf =
static MACHINE_START( backfire )
{
- backfire_state *state = machine->driver_data<backfire_state>();
-
- state->maincpu = machine->device("maincpu");
- state->deco_tilegen1 = machine->device("tilegen1");
- state->deco_tilegen2 = machine->device("tilegen2");
- state->lscreen = machine->device("lscreen");
- state->rscreen = machine->device("rscreen");
- state->eeprom = machine->device("eeprom");
+ backfire_state *state = machine.driver_data<backfire_state>();
+
+ state->maincpu = machine.device("maincpu");
+ state->deco_tilegen1 = machine.device("tilegen1");
+ state->deco_tilegen2 = machine.device("tilegen2");
+ state->lscreen = machine.device("lscreen");
+ state->rscreen = machine.device("rscreen");
+ state->eeprom = machine.device("eeprom");
}
UINT16 backfire_pri_callback(UINT16 x)
@@ -639,9 +639,9 @@ ROM_START( backfirea )
ROM_LOAD( "mbz-06.19l", 0x200000, 0x080000, CRC(4a38c635) SHA1(7f0fb6a7a4aa6774c04fa38e53ceff8744fe1e9f) )
ROM_END
-static void descramble_sound( running_machine *machine )
+static void descramble_sound( running_machine &machine )
{
- UINT8 *rom = machine->region("ymz")->base();
+ UINT8 *rom = machine.region("ymz")->base();
int length = 0x200000; // only the first rom is swapped on backfire!
UINT8 *buf1 = auto_alloc_array(machine, UINT8, length);
UINT32 x;
@@ -667,7 +667,7 @@ static void descramble_sound( running_machine *machine )
static READ32_HANDLER( backfire_speedup_r )
{
- backfire_state *state = space->machine->driver_data<backfire_state>();
+ backfire_state *state = space->machine().driver_data<backfire_state>();
//mame_printf_debug( "%08x\n",cpu_get_pc(space->cpu));
@@ -683,9 +683,9 @@ static DRIVER_INIT( backfire )
deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
deco56_decrypt_gfx(machine, "gfx2"); /* 141 */
deco156_decrypt(machine);
- machine->device("maincpu")->set_clock_scale(4.0f); /* core timings aren't accurate */
+ machine.device("maincpu")->set_clock_scale(4.0f); /* core timings aren't accurate */
descramble_sound(machine);
- machine->device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x0170018, 0x017001b, FUNC(backfire_speedup_r) );
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x0170018, 0x017001b, FUNC(backfire_speedup_r) );
}
GAME( 1995, backfire, 0, backfire, backfire, backfire, ROT0, "Data East Corporation", "Backfire! (set 1)", GAME_SUPPORTS_SAVE )