mirror of
https://github.com/holub/mame
synced 2025-04-26 18:23:08 +03:00
pc080sn: updated to use inline configs. nw.
This commit is contained in:
parent
0f4a1311ed
commit
92cb4e16d2
@ -784,12 +784,6 @@ static const ay8910_interface ay8910_config_2 =
|
|||||||
MACHINE DRIVERS
|
MACHINE DRIVERS
|
||||||
***********************************************************/
|
***********************************************************/
|
||||||
|
|
||||||
static const pc080sn_interface darius_pc080sn_intf =
|
|
||||||
{
|
|
||||||
1, /* gfxnum */
|
|
||||||
-16, 8, 0, 1 /* x_offset, y_offset, y_invert, dblwidth */
|
|
||||||
};
|
|
||||||
|
|
||||||
void darius_state::darius_postload()
|
void darius_state::darius_postload()
|
||||||
{
|
{
|
||||||
parse_control();
|
parse_control();
|
||||||
@ -891,8 +885,11 @@ static MACHINE_CONFIG_START( darius, darius_state )
|
|||||||
MCFG_SCREEN_UPDATE_DRIVER(darius_state, screen_update_darius_right)
|
MCFG_SCREEN_UPDATE_DRIVER(darius_state, screen_update_darius_right)
|
||||||
MCFG_SCREEN_PALETTE("palette")
|
MCFG_SCREEN_PALETTE("palette")
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("pc080sn", PC080SN, 0)
|
||||||
MCFG_PC080SN_ADD("pc080sn", darius_pc080sn_intf)
|
MCFG_PC080SN_GFX_REGION(1)
|
||||||
|
MCFG_PC080SN_OFFSETS(-16, 8)
|
||||||
|
MCFG_PC080SN_YINVERT(0)
|
||||||
|
MCFG_PC080SN_DBLWIDTH(1)
|
||||||
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
||||||
MCFG_PC080SN_PALETTE("palette")
|
MCFG_PC080SN_PALETTE("palette")
|
||||||
|
|
||||||
|
@ -680,12 +680,6 @@ GFXDECODE_END
|
|||||||
MACHINE DRIVERS
|
MACHINE DRIVERS
|
||||||
***********************************************************/
|
***********************************************************/
|
||||||
|
|
||||||
static const pc080sn_interface opwolf_pc080sn_intf =
|
|
||||||
{
|
|
||||||
1, /* gfxnum */
|
|
||||||
0, 0, 0, 0 /* x_offset, y_offset, y_invert, dblwidth */
|
|
||||||
};
|
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( opwolf, opwolf_state )
|
static MACHINE_CONFIG_START( opwolf, opwolf_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
@ -713,7 +707,8 @@ static MACHINE_CONFIG_START( opwolf, opwolf_state )
|
|||||||
MCFG_PALETTE_ADD("palette", 8192)
|
MCFG_PALETTE_ADD("palette", 8192)
|
||||||
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
|
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
|
||||||
|
|
||||||
MCFG_PC080SN_ADD("pc080sn", opwolf_pc080sn_intf)
|
MCFG_DEVICE_ADD("pc080sn", PC080SN, 0)
|
||||||
|
MCFG_PC080SN_GFX_REGION(1)
|
||||||
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
||||||
MCFG_PC080SN_PALETTE("palette")
|
MCFG_PC080SN_PALETTE("palette")
|
||||||
|
|
||||||
@ -778,7 +773,8 @@ static MACHINE_CONFIG_START( opwolfb, opwolf_state ) /* OSC clocks unknown for t
|
|||||||
MCFG_PALETTE_ADD("palette", 8192)
|
MCFG_PALETTE_ADD("palette", 8192)
|
||||||
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
|
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
|
||||||
|
|
||||||
MCFG_PC080SN_ADD("pc080sn", opwolf_pc080sn_intf)
|
MCFG_DEVICE_ADD("pc080sn", PC080SN, 0)
|
||||||
|
MCFG_PC080SN_GFX_REGION(1)
|
||||||
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
||||||
MCFG_PC080SN_PALETTE("palette")
|
MCFG_PC080SN_PALETTE("palette")
|
||||||
|
|
||||||
|
@ -619,18 +619,6 @@ GFXDECODE_END
|
|||||||
MACHINE DRIVERS
|
MACHINE DRIVERS
|
||||||
***********************************************************/
|
***********************************************************/
|
||||||
|
|
||||||
static const pc080sn_interface rbisland_pc080sn_intf =
|
|
||||||
{
|
|
||||||
1, /* gfxnum */
|
|
||||||
0, 0, 0, 0 /* x_offset, y_offset, y_invert, dblwidth */
|
|
||||||
};
|
|
||||||
|
|
||||||
static const pc080sn_interface jumping_pc080sn_intf =
|
|
||||||
{
|
|
||||||
1, /* gfxnum */
|
|
||||||
0, 0, 1, 0 /* x_offset, y_offset, y_invert, dblwidth */
|
|
||||||
};
|
|
||||||
|
|
||||||
void rbisland_state::machine_start()
|
void rbisland_state::machine_start()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -661,7 +649,8 @@ static MACHINE_CONFIG_START( rbisland, rbisland_state )
|
|||||||
MCFG_PALETTE_ADD("palette", 8192)
|
MCFG_PALETTE_ADD("palette", 8192)
|
||||||
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
|
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
|
||||||
|
|
||||||
MCFG_PC080SN_ADD("pc080sn", rbisland_pc080sn_intf)
|
MCFG_DEVICE_ADD("pc080sn", PC080SN, 0)
|
||||||
|
MCFG_PC080SN_GFX_REGION(1)
|
||||||
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
||||||
MCFG_PC080SN_PALETTE("palette")
|
MCFG_PC080SN_PALETTE("palette")
|
||||||
|
|
||||||
@ -713,7 +702,9 @@ static MACHINE_CONFIG_START( jumping, rbisland_state )
|
|||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(rbisland_state,jumping)
|
MCFG_VIDEO_START_OVERRIDE(rbisland_state,jumping)
|
||||||
|
|
||||||
MCFG_PC080SN_ADD("pc080sn", jumping_pc080sn_intf)
|
MCFG_DEVICE_ADD("pc080sn", PC080SN, 0)
|
||||||
|
MCFG_PC080SN_GFX_REGION(1)
|
||||||
|
MCFG_PC080SN_YINVERT(1)
|
||||||
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
||||||
MCFG_PC080SN_PALETTE("palette")
|
MCFG_PC080SN_PALETTE("palette")
|
||||||
|
|
||||||
|
@ -356,12 +356,6 @@ void rastan_state::machine_reset()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static const pc080sn_interface rastan_pc080sn_intf =
|
|
||||||
{
|
|
||||||
0, /* gfxnum */
|
|
||||||
0, 0, 0, 0 /* x_offset, y_offset, y_invert, dblwidth */
|
|
||||||
};
|
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( rastan, rastan_state )
|
static MACHINE_CONFIG_START( rastan, rastan_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
@ -388,7 +382,7 @@ static MACHINE_CONFIG_START( rastan, rastan_state )
|
|||||||
MCFG_PALETTE_ADD("palette", 8192)
|
MCFG_PALETTE_ADD("palette", 8192)
|
||||||
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
|
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
|
||||||
|
|
||||||
MCFG_PC080SN_ADD("pc080sn", rastan_pc080sn_intf)
|
MCFG_DEVICE_ADD("pc080sn", PC080SN, 0)
|
||||||
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
||||||
MCFG_PC080SN_PALETTE("palette")
|
MCFG_PC080SN_PALETTE("palette")
|
||||||
|
|
||||||
|
@ -525,12 +525,6 @@ GFXDECODE_END
|
|||||||
DEVICES
|
DEVICES
|
||||||
***********************************************************/
|
***********************************************************/
|
||||||
|
|
||||||
static const pc080sn_interface pc080sn_intf =
|
|
||||||
{
|
|
||||||
1, // gfxnum
|
|
||||||
0, 8, 0, 0 // x_offset, y_offset, y_invert, dblwidth
|
|
||||||
};
|
|
||||||
|
|
||||||
static Z80CTC_INTERFACE( ctc_intf )
|
static Z80CTC_INTERFACE( ctc_intf )
|
||||||
{
|
{
|
||||||
DEVCB_NULL, // Interrupt handler
|
DEVCB_NULL, // Interrupt handler
|
||||||
@ -591,10 +585,15 @@ static MACHINE_CONFIG_START( topspeed, topspeed_state )
|
|||||||
|
|
||||||
MCFG_Z80CTC_ADD("ctc", XTAL_16MHz / 4, ctc_intf)
|
MCFG_Z80CTC_ADD("ctc", XTAL_16MHz / 4, ctc_intf)
|
||||||
|
|
||||||
MCFG_PC080SN_ADD("pc080sn_1", pc080sn_intf)
|
MCFG_DEVICE_ADD("pc080sn_1", PC080SN, 0)
|
||||||
|
MCFG_PC080SN_GFX_REGION(1)
|
||||||
|
MCFG_PC080SN_OFFSETS(0, 8)
|
||||||
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
||||||
MCFG_PC080SN_PALETTE("palette")
|
MCFG_PC080SN_PALETTE("palette")
|
||||||
MCFG_PC080SN_ADD("pc080sn_2", pc080sn_intf)
|
|
||||||
|
MCFG_DEVICE_ADD("pc080sn_2", PC080SN, 0)
|
||||||
|
MCFG_PC080SN_GFX_REGION(1)
|
||||||
|
MCFG_PC080SN_OFFSETS(0, 8)
|
||||||
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
MCFG_PC080SN_GFXDECODE("gfxdecode")
|
||||||
MCFG_PC080SN_PALETTE("palette")
|
MCFG_PC080SN_PALETTE("palette")
|
||||||
|
|
||||||
|
@ -52,6 +52,11 @@ const device_type PC080SN = &device_creator<pc080sn_device>;
|
|||||||
pc080sn_device::pc080sn_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
pc080sn_device::pc080sn_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||||
: device_t(mconfig, PC080SN, "Taito PC080SN", tag, owner, clock, "pc080sn", __FILE__),
|
: device_t(mconfig, PC080SN, "Taito PC080SN", tag, owner, clock, "pc080sn", __FILE__),
|
||||||
m_ram(NULL),
|
m_ram(NULL),
|
||||||
|
m_gfxnum(0),
|
||||||
|
m_x_offset(0),
|
||||||
|
m_y_offset(0),
|
||||||
|
m_y_invert(0),
|
||||||
|
m_dblwidth(0),
|
||||||
m_gfxdecode(*this),
|
m_gfxdecode(*this),
|
||||||
m_palette(*this)
|
m_palette(*this)
|
||||||
//m_bg_ram[0](NULL),
|
//m_bg_ram[0](NULL),
|
||||||
@ -81,25 +86,6 @@ void pc080sn_device::static_set_palette_tag(device_t &device, const char *tag)
|
|||||||
downcast<pc080sn_device &>(device).m_palette.set_tag(tag);
|
downcast<pc080sn_device &>(device).m_palette.set_tag(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------
|
|
||||||
// device_config_complete - perform any
|
|
||||||
// operations now that the configuration is
|
|
||||||
// complete
|
|
||||||
//-------------------------------------------------
|
|
||||||
|
|
||||||
void pc080sn_device::device_config_complete()
|
|
||||||
{
|
|
||||||
// inherit a copy of the static data
|
|
||||||
const pc080sn_interface *intf = reinterpret_cast<const pc080sn_interface *>(static_config());
|
|
||||||
if (intf != NULL)
|
|
||||||
*static_cast<pc080sn_interface *>(this) = *intf;
|
|
||||||
|
|
||||||
// or initialize to defaults if none provided
|
|
||||||
else
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -1,17 +1,7 @@
|
|||||||
#ifndef __PC080SN_H__
|
#ifndef __PC080SN_H__
|
||||||
#define __PC080SN_H__
|
#define __PC080SN_H__
|
||||||
|
|
||||||
struct pc080sn_interface
|
class pc080sn_device : public device_t
|
||||||
{
|
|
||||||
int m_gfxnum;
|
|
||||||
|
|
||||||
int m_x_offset, m_y_offset;
|
|
||||||
int m_y_invert;
|
|
||||||
int m_dblwidth;
|
|
||||||
};
|
|
||||||
|
|
||||||
class pc080sn_device : public device_t,
|
|
||||||
public pc080sn_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
pc080sn_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
pc080sn_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||||
@ -20,7 +10,16 @@ public:
|
|||||||
// static configuration
|
// static configuration
|
||||||
static void static_set_gfxdecode_tag(device_t &device, const char *tag);
|
static void static_set_gfxdecode_tag(device_t &device, const char *tag);
|
||||||
static void static_set_palette_tag(device_t &device, const char *tag);
|
static void static_set_palette_tag(device_t &device, const char *tag);
|
||||||
|
static void set_gfx_region(device_t &device, int gfxregion) { downcast<pc080sn_device &>(device).m_gfxnum = gfxregion; }
|
||||||
|
static void set_yinvert(device_t &device, int y_inv) { downcast<pc080sn_device &>(device).m_y_invert = y_inv; }
|
||||||
|
static void set_dblwidth(device_t &device, int dblwidth) { downcast<pc080sn_device &>(device).m_dblwidth = dblwidth; }
|
||||||
|
static void set_offsets(device_t &device, int x_offset, int y_offset)
|
||||||
|
{
|
||||||
|
pc080sn_device &dev = downcast<pc080sn_device &>(device);
|
||||||
|
dev.m_x_offset = x_offset;
|
||||||
|
dev.m_y_offset = y_offset;
|
||||||
|
}
|
||||||
|
|
||||||
DECLARE_READ16_MEMBER( word_r );
|
DECLARE_READ16_MEMBER( word_r );
|
||||||
DECLARE_WRITE16_MEMBER( word_w );
|
DECLARE_WRITE16_MEMBER( word_w );
|
||||||
DECLARE_WRITE16_MEMBER( xscroll_word_w );
|
DECLARE_WRITE16_MEMBER( xscroll_word_w );
|
||||||
@ -48,7 +47,6 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
virtual void device_config_complete();
|
|
||||||
virtual void device_start();
|
virtual void device_start();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -62,15 +60,30 @@ public:
|
|||||||
int m_bgscrollx[2], m_bgscrolly[2];
|
int m_bgscrollx[2], m_bgscrolly[2];
|
||||||
|
|
||||||
tilemap_t *m_tilemap[2];
|
tilemap_t *m_tilemap[2];
|
||||||
|
|
||||||
|
int m_gfxnum;
|
||||||
|
int m_x_offset, m_y_offset;
|
||||||
|
int m_y_invert;
|
||||||
|
int m_dblwidth;
|
||||||
|
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
required_device<palette_device> m_palette;
|
required_device<palette_device> m_palette;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern const device_type PC080SN;
|
extern const device_type PC080SN;
|
||||||
|
|
||||||
#define MCFG_PC080SN_ADD(_tag, _interface) \
|
|
||||||
MCFG_DEVICE_ADD(_tag, PC080SN, 0) \
|
#define MCFG_PC080SN_GFX_REGION(_region) \
|
||||||
MCFG_DEVICE_CONFIG(_interface)
|
pc080sn_device::set_gfx_region(*device, _region);
|
||||||
|
|
||||||
|
#define MCFG_PC080SN_OFFSETS(_xoffs, _yoffs) \
|
||||||
|
pc080sn_device::set_offsets(*device, _xoffs, _yoffs);
|
||||||
|
|
||||||
|
#define MCFG_PC080SN_YINVERT(_yinv) \
|
||||||
|
pc080sn_device::set_yinvert(*device, _yinv);
|
||||||
|
|
||||||
|
#define MCFG_PC080SN_DBLWIDTH(_dbl) \
|
||||||
|
pc080sn_device::set_dblwidth(*device, _dbl);
|
||||||
|
|
||||||
#define MCFG_PC080SN_GFXDECODE(_gfxtag) \
|
#define MCFG_PC080SN_GFXDECODE(_gfxtag) \
|
||||||
pc080sn_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
|
pc080sn_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
|
||||||
|
Loading…
Reference in New Issue
Block a user