mirror of
https://github.com/holub/mame
synced 2025-07-06 02:18:09 +03:00
voodoo converted to devcb2, Aaron ignore this one :) (nw)
This commit is contained in:
parent
8e291797f2
commit
c1b7ad0ae5
@ -1447,7 +1447,6 @@ struct pci_state
|
||||
fifo_state fifo; /* PCI FIFO */
|
||||
UINT32 init_enable; /* initEnable value */
|
||||
UINT8 stall_state; /* state of the system if we're stalled */
|
||||
devcb_resolved_write_line stall_callback; /* callback for stalling/unstalling */
|
||||
UINT8 op_pending; /* true if an operation is pending */
|
||||
attotime op_end_time; /* time when the pending operation ends */
|
||||
emu_timer * continue_timer; /* timer to use to continue processing */
|
||||
@ -1563,7 +1562,6 @@ struct fbi_state
|
||||
UINT8 vblank_swap_pending; /* a swap is pending, waiting for a vblank */
|
||||
UINT8 vblank_swap; /* swap when we hit this count */
|
||||
UINT8 vblank_dont_swap; /* don't actually swap when we hit this point */
|
||||
devcb_resolved_write_line vblank_client; /* client callback */
|
||||
|
||||
/* triangle setup info */
|
||||
UINT8 cheating_allowed; /* allow cheating? */
|
||||
@ -1692,7 +1690,7 @@ struct banshee_info
|
||||
struct voodoo_state
|
||||
{
|
||||
UINT8 index; /* index of board */
|
||||
device_t *device; /* pointer to our containing device */
|
||||
voodoo_device *device; /* pointer to our containing device */
|
||||
screen_device *screen; /* the screen we are acting on */
|
||||
device_t *cpu; /* the CPU we interact with */
|
||||
UINT8 type; /* type of system */
|
||||
|
@ -977,15 +977,15 @@ static TIMER_CALLBACK( vblank_off_callback )
|
||||
{
|
||||
v->reg[intrCtrl].u |= 0x200; // VSYNC int (falling) active
|
||||
|
||||
if (!v->fbi.vblank_client.isnull())
|
||||
v->fbi.vblank_client(FALSE);
|
||||
if (!v->device->m_vblank.isnull())
|
||||
v->device->m_vblank(FALSE);
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!v->fbi.vblank_client.isnull())
|
||||
v->fbi.vblank_client(FALSE);
|
||||
if (!v->device->m_vblank.isnull())
|
||||
v->device->m_vblank(FALSE);
|
||||
}
|
||||
|
||||
/* go to the end of the next frame */
|
||||
@ -1033,14 +1033,14 @@ static TIMER_CALLBACK( vblank_callback )
|
||||
{
|
||||
v->reg[intrCtrl].u |= 0x100; // VSYNC int (rising) active
|
||||
|
||||
if (!v->fbi.vblank_client.isnull())
|
||||
v->fbi.vblank_client(TRUE);
|
||||
if (!v->device->m_vblank.isnull())
|
||||
v->device->m_vblank(TRUE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!v->fbi.vblank_client.isnull())
|
||||
v->fbi.vblank_client(TRUE);
|
||||
if (!v->device->m_vblank.isnull())
|
||||
v->device->m_vblank(TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2148,8 +2148,8 @@ static void check_stalled_cpu(voodoo_state *v, attotime current_time)
|
||||
v->pci.stall_state = NOT_STALLED;
|
||||
|
||||
/* either call the callback, or trigger the trigger */
|
||||
if (!v->pci.stall_callback.isnull())
|
||||
v->pci.stall_callback(FALSE);
|
||||
if (!v->device->m_stall.isnull())
|
||||
v->device->m_stall(FALSE);
|
||||
else
|
||||
v->device->machine().scheduler().trigger(v->trigger);
|
||||
}
|
||||
@ -2172,8 +2172,8 @@ static void stall_cpu(voodoo_state *v, int state, attotime current_time)
|
||||
v->stats.stalls++;
|
||||
|
||||
/* either call the callback, or spin the CPU */
|
||||
if (!v->pci.stall_callback.isnull())
|
||||
v->pci.stall_callback(TRUE);
|
||||
if (!v->device->m_stall.isnull())
|
||||
v->device->m_stall(TRUE);
|
||||
else
|
||||
v->cpu->execute().spin_until_trigger(v->trigger);
|
||||
|
||||
@ -2530,8 +2530,8 @@ static INT32 register_w(voodoo_state *v, offs_t offset, UINT32 data)
|
||||
v->reg[intrCtrl].u &= ~0x80000000;
|
||||
|
||||
// TODO: rename vblank_client for less confusion?
|
||||
if (!v->fbi.vblank_client.isnull())
|
||||
v->fbi.vblank_client(TRUE);
|
||||
if (!v->device->m_vblank.isnull())
|
||||
v->device->m_vblank(TRUE);
|
||||
break;
|
||||
|
||||
/* gamma table access -- Voodoo/Voodoo2 only */
|
||||
@ -4858,10 +4858,9 @@ WRITE32_MEMBER( voodoo_banshee_device::banshee_io_w )
|
||||
device start callback
|
||||
-------------------------------------------------*/
|
||||
|
||||
static void common_start_voodoo(device_t *device, UINT8 type)
|
||||
void voodoo_device::common_start_voodoo(UINT8 type)
|
||||
{
|
||||
const voodoo_config *config = (const voodoo_config *)device->static_config();
|
||||
voodoo_state *v = get_safe_token(device);
|
||||
voodoo_state *v = get_safe_token(this);
|
||||
const raster_info *info;
|
||||
void *fbmem, *tmumem[2];
|
||||
UINT32 tmumem0;
|
||||
@ -4873,17 +4872,17 @@ static void common_start_voodoo(device_t *device, UINT8 type)
|
||||
assert(config->fbmem > 0);
|
||||
|
||||
/* store a pointer back to the device */
|
||||
v->device = device;
|
||||
v->device = this;
|
||||
v->type = type;
|
||||
|
||||
/* copy config data */
|
||||
v->freq = device->clock();
|
||||
v->fbi.vblank_client.resolve(config->vblank,*device);
|
||||
v->pci.stall_callback.resolve(config->stall,*device);
|
||||
v->freq = clock();
|
||||
v->device->m_vblank.resolve();
|
||||
v->device->m_stall.resolve();
|
||||
|
||||
/* create a multiprocessor work queue */
|
||||
v->poly = poly_alloc(device->machine(), 64, sizeof(poly_extra_data), 0);
|
||||
v->thread_stats = auto_alloc_array(device->machine(), stats_block, WORK_MAX_THREADS);
|
||||
v->poly = poly_alloc(machine(), 64, sizeof(poly_extra_data), 0);
|
||||
v->thread_stats = auto_alloc_array(machine(), stats_block, WORK_MAX_THREADS);
|
||||
|
||||
/* create a table of precomputed 1/n and log2(n) values */
|
||||
/* n ranges from 1.0000 to 2.0000 */
|
||||
@ -4951,18 +4950,18 @@ static void common_start_voodoo(device_t *device, UINT8 type)
|
||||
}
|
||||
|
||||
/* set the type, and initialize the chip mask */
|
||||
device_iterator iter(device->machine().root_device());
|
||||
device_iterator iter(machine().root_device());
|
||||
v->index = 0;
|
||||
for (device_t *scan = iter.first(); scan != NULL; scan = iter.next())
|
||||
if (scan->type() == device->type())
|
||||
if (scan->type() == this->type())
|
||||
{
|
||||
if (scan == device)
|
||||
if (scan == this)
|
||||
break;
|
||||
v->index++;
|
||||
}
|
||||
v->screen = downcast<screen_device *>(device->machine().device(config->screen));
|
||||
v->screen = downcast<screen_device *>(machine().device(m_screen));
|
||||
assert_always(v->screen != NULL, "Unable to find screen attached to voodoo");
|
||||
v->cpu = device->machine().device(config->cputag);
|
||||
v->cpu = machine().device(m_cputag);
|
||||
assert_always(v->cpu != NULL, "Unable to find CPU attached to voodoo");
|
||||
v->chipmask = 0x01;
|
||||
v->attoseconds_per_cycle = ATTOSECONDS_PER_SECOND / v->freq;
|
||||
@ -4977,26 +4976,26 @@ static void common_start_voodoo(device_t *device, UINT8 type)
|
||||
v->pci.fifo.size = 64*2;
|
||||
v->pci.fifo.in = v->pci.fifo.out = 0;
|
||||
v->pci.stall_state = NOT_STALLED;
|
||||
v->pci.continue_timer = v->device->machine().scheduler().timer_alloc(FUNC(stall_cpu_callback), v);
|
||||
v->pci.continue_timer = machine().scheduler().timer_alloc(FUNC(stall_cpu_callback), v);
|
||||
|
||||
/* allocate memory */
|
||||
tmumem0 = config->tmumem0;
|
||||
tmumem0 = m_tmumem0;
|
||||
if (v->type <= TYPE_VOODOO_2)
|
||||
{
|
||||
/* separate FB/TMU memory */
|
||||
fbmem = auto_alloc_array(device->machine(), UINT8, config->fbmem << 20);
|
||||
tmumem[0] = auto_alloc_array(device->machine(), UINT8, config->tmumem0 << 20);
|
||||
tmumem[1] = (config->tmumem1 != 0) ? auto_alloc_array(device->machine(), UINT8, config->tmumem1 << 20) : NULL;
|
||||
fbmem = auto_alloc_array(machine(), UINT8, m_fbmem << 20);
|
||||
tmumem[0] = auto_alloc_array(machine(), UINT8, m_tmumem0 << 20);
|
||||
tmumem[1] = (m_tmumem1 != 0) ? auto_alloc_array(machine(), UINT8, m_tmumem1 << 20) : NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* shared memory */
|
||||
tmumem[0] = tmumem[1] = fbmem = auto_alloc_array(device->machine(), UINT8, config->fbmem << 20);
|
||||
tmumem0 = config->fbmem;
|
||||
tmumem[0] = tmumem[1] = fbmem = auto_alloc_array(machine(), UINT8, m_fbmem << 20);
|
||||
tmumem0 = m_fbmem;
|
||||
}
|
||||
|
||||
/* set up frame buffer */
|
||||
init_fbi(v, &v->fbi, fbmem, config->fbmem << 20);
|
||||
init_fbi(v, &v->fbi, fbmem, m_fbmem << 20);
|
||||
|
||||
/* build shared TMU tables */
|
||||
init_tmu_shared(&v->tmushare);
|
||||
@ -5004,9 +5003,9 @@ static void common_start_voodoo(device_t *device, UINT8 type)
|
||||
/* set up the TMUs */
|
||||
init_tmu(v, &v->tmu[0], &v->reg[0x100], tmumem[0], tmumem0 << 20);
|
||||
v->chipmask |= 0x02;
|
||||
if (config->tmumem1 != 0 || v->type == TYPE_VOODOO_3)
|
||||
if (m_tmumem1 != 0 || v->type == TYPE_VOODOO_3)
|
||||
{
|
||||
init_tmu(v, &v->tmu[1], &v->reg[0x200], tmumem[1], config->tmumem1 << 20);
|
||||
init_tmu(v, &v->tmu[1], &v->reg[0x200], tmumem[1], m_tmumem1 << 20);
|
||||
v->chipmask |= 0x04;
|
||||
}
|
||||
|
||||
@ -5033,7 +5032,7 @@ static void common_start_voodoo(device_t *device, UINT8 type)
|
||||
soft_reset(v);
|
||||
|
||||
/* register for save states */
|
||||
init_save_state(device);
|
||||
init_save_state(this);
|
||||
}
|
||||
|
||||
|
||||
@ -5666,7 +5665,14 @@ static void dump_rasterizer_stats(voodoo_state *v)
|
||||
}
|
||||
|
||||
voodoo_device::voodoo_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
|
||||
: device_t(mconfig, type, name, tag, owner, clock, shortname, source)
|
||||
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
m_fbmem(0),
|
||||
m_tmumem0(0),
|
||||
m_tmumem1(0),
|
||||
m_screen(NULL),
|
||||
m_cputag(NULL),
|
||||
m_vblank(*this),
|
||||
m_stall(*this)
|
||||
{
|
||||
m_token = global_alloc_clear(voodoo_state);
|
||||
}
|
||||
@ -5723,7 +5729,7 @@ voodoo_1_device::voodoo_1_device(const machine_config &mconfig, const char *tag,
|
||||
|
||||
void voodoo_1_device::device_start()
|
||||
{
|
||||
common_start_voodoo(this, TYPE_VOODOO_1);
|
||||
common_start_voodoo(TYPE_VOODOO_1);
|
||||
}
|
||||
|
||||
|
||||
@ -5740,7 +5746,7 @@ voodoo_2_device::voodoo_2_device(const machine_config &mconfig, const char *tag,
|
||||
|
||||
void voodoo_2_device::device_start()
|
||||
{
|
||||
common_start_voodoo(this, TYPE_VOODOO_2);
|
||||
common_start_voodoo(TYPE_VOODOO_2);
|
||||
}
|
||||
|
||||
|
||||
@ -5762,7 +5768,7 @@ voodoo_banshee_device::voodoo_banshee_device(const machine_config &mconfig, devi
|
||||
|
||||
void voodoo_banshee_device::device_start()
|
||||
{
|
||||
common_start_voodoo(this, TYPE_VOODOO_BANSHEE);
|
||||
common_start_voodoo(TYPE_VOODOO_BANSHEE);
|
||||
}
|
||||
|
||||
|
||||
@ -5779,7 +5785,7 @@ voodoo_3_device::voodoo_3_device(const machine_config &mconfig, const char *tag,
|
||||
|
||||
void voodoo_3_device::device_start()
|
||||
{
|
||||
common_start_voodoo(this, TYPE_VOODOO_3);
|
||||
common_start_voodoo(TYPE_VOODOO_3);
|
||||
}
|
||||
|
||||
|
||||
|
@ -39,13 +39,13 @@ enum
|
||||
|
||||
struct voodoo_config
|
||||
{
|
||||
UINT8 fbmem;
|
||||
UINT8 tmumem0;
|
||||
UINT8 tmumem1;
|
||||
const char * screen;
|
||||
const char * cputag;
|
||||
devcb_write_line vblank;
|
||||
devcb_write_line stall;
|
||||
UINT8 l_fbmem;
|
||||
UINT8 l_tmumem0;
|
||||
UINT8 l_tmumem1;
|
||||
const char * l_screen;
|
||||
const char * l_cputag;
|
||||
devcb_write_line l_vblank;
|
||||
devcb_write_line l_stall;
|
||||
};
|
||||
|
||||
|
||||
@ -54,21 +54,24 @@ struct voodoo_config
|
||||
DEVICE CONFIGURATION MACROS
|
||||
***************************************************************************/
|
||||
|
||||
#define MCFG_3DFX_VOODOO_1_ADD(_tag, _clock, _config) \
|
||||
MCFG_DEVICE_ADD(_tag, VOODOO_1, _clock) \
|
||||
MCFG_DEVICE_CONFIG(_config)
|
||||
#define MCFG_VOODOO_FBMEM(_value) \
|
||||
voodoo_device::static_set_fbmem(*device, _value);
|
||||
|
||||
#define MCFG_3DFX_VOODOO_2_ADD(_tag, _clock, _config) \
|
||||
MCFG_DEVICE_ADD(_tag, VOODOO_2, _clock) \
|
||||
MCFG_DEVICE_CONFIG(_config)
|
||||
#define MCFG_VOODOO_TMUMEM(_value1, _value2) \
|
||||
voodoo_device::static_set_tmumem(*device, _value1, _value2);
|
||||
|
||||
#define MCFG_3DFX_VOODOO_BANSHEE_ADD(_tag, _clock, _config) \
|
||||
MCFG_DEVICE_ADD(_tag, VOODOO_BANSHEE, _clock) \
|
||||
MCFG_DEVICE_CONFIG(_config)
|
||||
#define MCFG_VOODOO_SCREEN_TAG(_tag) \
|
||||
voodoo_device::static_set_screen_tag(*device, _tag);
|
||||
|
||||
#define MCFG_3DFX_VOODOO_3_ADD(_tag, _clock, _config) \
|
||||
MCFG_DEVICE_ADD(_tag, VOODOO_3, _clock) \
|
||||
MCFG_DEVICE_CONFIG(_config)
|
||||
#define MCFG_VOODOO_CPU_TAG(_tag) \
|
||||
voodoo_device::static_set_cpu_tag(*device, _tag);
|
||||
|
||||
#define MCFG_VOODOO_VBLANK_CB(_devcb) \
|
||||
devcb = &voodoo_device::static_set_vblank_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_VOODOO_STALL_CB(_devcb) \
|
||||
devcb = &voodoo_device::static_set_stall_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
FUNCTION PROTOTYPES
|
||||
@ -87,11 +90,29 @@ public:
|
||||
voodoo_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
~voodoo_device();
|
||||
|
||||
|
||||
static void static_set_fbmem(device_t &device, int value) { downcast<voodoo_device &>(device).m_fbmem = value; }
|
||||
static void static_set_tmumem(device_t &device, int value1, int value2) { downcast<voodoo_device &>(device).m_tmumem0 = value1; downcast<voodoo_device &>(device).m_tmumem1 = value2; }
|
||||
static void static_set_screen_tag(device_t &device, const char *tag) { downcast<voodoo_device &>(device).m_screen = tag; }
|
||||
static void static_set_cpu_tag(device_t &device, const char *tag) { downcast<voodoo_device &>(device).m_cputag = tag; }
|
||||
template<class _Object> static devcb2_base &static_set_vblank_callback(device_t &device, _Object object) { return downcast<voodoo_device &>(device).m_vblank.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &static_set_stall_callback(device_t &device, _Object object) { return downcast<voodoo_device &>(device).m_stall.set_callback(object); }
|
||||
|
||||
DECLARE_READ32_MEMBER( voodoo_r );
|
||||
DECLARE_WRITE32_MEMBER( voodoo_w );
|
||||
|
||||
// access to legacy token
|
||||
struct voodoo_state *token() const { assert(m_token != NULL); return m_token; }
|
||||
void common_start_voodoo(UINT8 type);
|
||||
|
||||
UINT8 m_fbmem;
|
||||
UINT8 m_tmumem0;
|
||||
UINT8 m_tmumem1;
|
||||
const char * m_screen;
|
||||
const char * m_cputag;
|
||||
devcb2_write_line m_vblank;
|
||||
devcb2_write_line m_stall;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete();
|
||||
|
@ -847,17 +847,6 @@ UINT32 funkball_state::screen_update_funkball(screen_device &screen, bitmap_rgb3
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const voodoo_config voodoo_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"screen",// screen;
|
||||
"maincpu",// cputag;
|
||||
DEVCB_NULL,// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( funkball, funkball_state )
|
||||
MCFG_CPU_ADD("maincpu", MEDIAGX, 66666666*3.5) // 66,6 MHz x 3.5
|
||||
MCFG_CPU_PROGRAM_MAP(funkball_map)
|
||||
@ -874,7 +863,11 @@ static MACHINE_CONFIG_START( funkball, funkball_state )
|
||||
MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w))
|
||||
|
||||
/* video hardware */
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo_0", STD_VOODOO_1_CLOCK, voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo_0", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,0)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -1038,28 +1038,6 @@ MACHINE_RESET_MEMBER(gticlub_state,hangplt)
|
||||
m_dsp2->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
|
||||
}
|
||||
|
||||
static const voodoo_config voodoo_l_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
2,// tmumem0;
|
||||
2,// tmumem1;
|
||||
"lscreen",// screen;
|
||||
"dsp",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(gticlub_state,voodoo_vblank_0),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static const voodoo_config voodoo_r_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
2,// tmumem0;
|
||||
2,// tmumem1;
|
||||
"rscreen",// screen;
|
||||
"dsp2",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(gticlub_state,voodoo_vblank_1),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( hangplt, gticlub_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -1090,8 +1068,19 @@ static MACHINE_CONFIG_START( hangplt, gticlub_state )
|
||||
MCFG_DEVICE_ADD("k056230", K056230, 0)
|
||||
MCFG_K056230_CPU("maincpu")
|
||||
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo0", STD_VOODOO_1_CLOCK, voodoo_l_intf)
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo1", STD_VOODOO_1_CLOCK, voodoo_r_intf)
|
||||
MCFG_DEVICE_ADD("voodoo0", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(2,2)
|
||||
MCFG_VOODOO_SCREEN_TAG("lscreen")
|
||||
MCFG_VOODOO_CPU_TAG("dsp")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(gticlub_state,voodoo_vblank_0))
|
||||
|
||||
MCFG_DEVICE_ADD("voodoo1", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(2,2)
|
||||
MCFG_VOODOO_SCREEN_TAG("rscreen")
|
||||
MCFG_VOODOO_CPU_TAG("dsp2")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(gticlub_state,voodoo_vblank_1))
|
||||
|
||||
MCFG_DEVICE_ADD("k033906_1", K033906, 0)
|
||||
MCFG_K033906_VOODOO("voodoo0")
|
||||
|
@ -960,17 +960,6 @@ ADC12138_IPT_CONVERT_CB(hornet_state::adc12138_input_callback)
|
||||
return (double)(value) / 2047.0;
|
||||
}
|
||||
|
||||
static const voodoo_config hornet_voodoo_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"screen",// screen;
|
||||
"dsp",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(hornet_state,voodoo_vblank_0),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( hornet, hornet_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -990,7 +979,12 @@ static MACHINE_CONFIG_START( hornet, hornet_state )
|
||||
|
||||
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
|
||||
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo0", STD_VOODOO_1_CLOCK, hornet_voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo0", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,0)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("dsp")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(hornet_state,voodoo_vblank_0))
|
||||
|
||||
MCFG_DEVICE_ADD("k033906_1", K033906, 0)
|
||||
MCFG_K033906_VOODOO("voodoo0")
|
||||
@ -1050,28 +1044,6 @@ MACHINE_RESET_MEMBER(hornet_state,hornet_2board)
|
||||
}
|
||||
}
|
||||
|
||||
static const voodoo_config voodoo_l_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"lscreen",// screen;
|
||||
"dsp",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(hornet_state,voodoo_vblank_0),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static const voodoo_config voodoo_r_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"rscreen",// screen;
|
||||
"dsp2",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(hornet_state,voodoo_vblank_1),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( hornet_2board, hornet )
|
||||
|
||||
MCFG_CPU_ADD("dsp2", ADSP21062, XTAL_36MHz)
|
||||
@ -1091,8 +1063,20 @@ static MACHINE_CONFIG_DERIVED( hornet_2board, hornet )
|
||||
MCFG_K037122_PALETTE("palette")
|
||||
|
||||
MCFG_DEVICE_REMOVE("voodoo0")
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo0", STD_VOODOO_1_CLOCK, voodoo_l_intf)
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo1", STD_VOODOO_1_CLOCK, voodoo_r_intf)
|
||||
|
||||
MCFG_DEVICE_ADD("voodoo0", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,0)
|
||||
MCFG_VOODOO_SCREEN_TAG("lscreen")
|
||||
MCFG_VOODOO_CPU_TAG("dsp")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(hornet_state,voodoo_vblank_0))
|
||||
|
||||
MCFG_DEVICE_ADD("voodoo1", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,0)
|
||||
MCFG_VOODOO_SCREEN_TAG("rscreen")
|
||||
MCFG_VOODOO_CPU_TAG("dsp2")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(hornet_state,voodoo_vblank_1))
|
||||
|
||||
MCFG_DEVICE_ADD("k033906_2", K033906, 0)
|
||||
MCFG_K033906_VOODOO("voodoo1")
|
||||
@ -1128,12 +1112,21 @@ static MACHINE_CONFIG_DERIVED( terabrst, hornet_2board )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( hornet_2board_v2, hornet_2board )
|
||||
|
||||
MCFG_DEVICE_REMOVE("voodoo0")
|
||||
MCFG_3DFX_VOODOO_2_ADD("voodoo0", STD_VOODOO_2_CLOCK, voodoo_l_intf)
|
||||
|
||||
MCFG_DEVICE_ADD("voodoo0", VOODOO_2, STD_VOODOO_2_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,0)
|
||||
MCFG_VOODOO_SCREEN_TAG("lscreen")
|
||||
MCFG_VOODOO_CPU_TAG("dsp")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(hornet_state,voodoo_vblank_0))
|
||||
|
||||
MCFG_DEVICE_REMOVE("voodoo1")
|
||||
MCFG_3DFX_VOODOO_2_ADD("voodoo1", STD_VOODOO_2_CLOCK, voodoo_r_intf)
|
||||
MCFG_DEVICE_ADD("voodoo1", VOODOO_2, STD_VOODOO_2_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,0)
|
||||
MCFG_VOODOO_SCREEN_TAG("rscreen")
|
||||
MCFG_VOODOO_CPU_TAG("dsp2")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(hornet_state,voodoo_vblank_1))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( sscope2, hornet_2board_v2)
|
||||
|
@ -181,17 +181,6 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const voodoo_config iteagle_voodoo_intf =
|
||||
{
|
||||
16, // fbmem;
|
||||
0,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"screen",// screen;
|
||||
"maincpu",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(iteagle_state,vblank_assert),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static const mips3_config r4310_config =
|
||||
{
|
||||
16384, /* code cache size */
|
||||
@ -217,7 +206,11 @@ static MACHINE_CONFIG_START( gtfore, iteagle_state )
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(iteagle_state, screen_update_iteagle)
|
||||
|
||||
MCFG_3DFX_VOODOO_BANSHEE_ADD("voodoo", STD_VOODOO_BANSHEE_CLOCK, iteagle_voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_BANSHEE, STD_VOODOO_BANSHEE_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(16)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(iteagle_state,vblank_assert))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -888,27 +888,6 @@ static const mips3_config config =
|
||||
};
|
||||
#endif
|
||||
|
||||
static const voodoo_config voodoo_1_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"screen",// screen;
|
||||
"mips",// cputag;
|
||||
DEVCB_NULL,// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static const voodoo_config voodoo_2_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"screen",// screen;
|
||||
"mips",// cputag;
|
||||
DEVCB_NULL,//vblank_assert vblank;
|
||||
DEVCB_NULL// voodoo_stall stall;
|
||||
};
|
||||
/*************************************
|
||||
*
|
||||
* Machine driver
|
||||
@ -942,9 +921,17 @@ static MACHINE_CONFIG_START( magictg, magictg_state )
|
||||
#endif
|
||||
MCFG_PCI_BUS_LEGACY_DEVICE(9, "zr36120", zr36120_pci_r, zr36120_pci_w)
|
||||
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo_0", STD_VOODOO_1_CLOCK, voodoo_1_intf)
|
||||
MCFG_DEVICE_ADD("voodoo_0", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,0)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("mips")
|
||||
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo_1", STD_VOODOO_1_CLOCK, voodoo_2_intf)
|
||||
MCFG_DEVICE_ADD("voodoo_1", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,0)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("mips")
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -721,17 +721,6 @@ void nwktr_state::machine_reset()
|
||||
m_dsp->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
|
||||
}
|
||||
|
||||
static const voodoo_config voodoo_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
2,// tmumem0;
|
||||
2,// tmumem1;
|
||||
"screen",// screen;
|
||||
"dsp",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(nwktr_state,voodoo_vblank_0),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( nwktr, nwktr_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -756,7 +745,12 @@ static MACHINE_CONFIG_START( nwktr, nwktr_state )
|
||||
MCFG_K033906_VOODOO("voodoo0")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo0", STD_VOODOO_1_CLOCK, voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo0", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(2,2)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("dsp")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(nwktr_state,voodoo_vblank_0))
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
|
@ -659,17 +659,6 @@ WRITE_LINE_MEMBER(savquest_state::vblank_assert)
|
||||
{
|
||||
}
|
||||
|
||||
static const voodoo_config voodoo_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
4,// tmumem1;
|
||||
"screen",// screen;
|
||||
"maincpu",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(savquest_state,vblank_assert),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( savquest, savquest_state )
|
||||
MCFG_CPU_ADD("maincpu", PENTIUM2, 450000000) // actually Pentium II 450
|
||||
MCFG_CPU_PROGRAM_MAP(savquest_map)
|
||||
@ -691,7 +680,12 @@ static MACHINE_CONFIG_START( savquest, savquest_state )
|
||||
/* video hardware */
|
||||
MCFG_FRAGMENT_ADD( pcvideo_s3_vga )
|
||||
|
||||
MCFG_3DFX_VOODOO_2_ADD("voodoo", STD_VOODOO_2_CLOCK, voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_2, STD_VOODOO_2_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,4)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(savquest_state,vblank_assert))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( savquest )
|
||||
|
@ -2513,17 +2513,6 @@ static const mips3_config r5000_config =
|
||||
SYSTEM_CLOCK /* system clock rate */
|
||||
};
|
||||
|
||||
static const voodoo_config voodoo_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"screen",// screen;
|
||||
"maincpu",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(seattle_state,vblank_assert),// vblank;
|
||||
DEVCB_DRIVER_LINE_MEMBER(seattle_state,voodoo_stall)// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( seattle_common, seattle_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -2537,7 +2526,13 @@ static MACHINE_CONFIG_START( seattle_common, seattle_state )
|
||||
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(seattle_state, ide_interrupt))
|
||||
MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE("maincpu", AS_PROGRAM)
|
||||
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo", STD_VOODOO_1_CLOCK, voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,0)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(seattle_state,vblank_assert))
|
||||
MCFG_VOODOO_STALL_CB(WRITELINE(seattle_state,voodoo_stall))
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -2581,17 +2576,6 @@ static MACHINE_CONFIG_DERIVED( seattle200_widget, seattle200 )
|
||||
MCFG_SMC91C94_IRQ_CALLBACK(WRITELINE(seattle_state, ethernet_interrupt))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static const voodoo_config voodoo_2_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
4,// tmumem1;
|
||||
"screen",// screen;
|
||||
"maincpu",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(seattle_state,vblank_assert),// vblank;
|
||||
DEVCB_DRIVER_LINE_MEMBER(seattle_state,voodoo_stall)// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( flagstaff, seattle_common )
|
||||
MCFG_CPU_REPLACE("maincpu", R5000LE, SYSTEM_CLOCK*4)
|
||||
MCFG_CPU_CONFIG(r5000_config)
|
||||
@ -2601,7 +2585,13 @@ static MACHINE_CONFIG_DERIVED( flagstaff, seattle_common )
|
||||
MCFG_SMC91C94_IRQ_CALLBACK(WRITELINE(seattle_state, ethernet_interrupt))
|
||||
|
||||
MCFG_DEVICE_REMOVE("voodoo")
|
||||
MCFG_3DFX_VOODOO_1_ADD("voodoo", STD_VOODOO_1_CLOCK, voodoo_2_intf)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_1, STD_VOODOO_1_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,4)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(seattle_state,vblank_assert))
|
||||
MCFG_VOODOO_STALL_CB(WRITELINE(seattle_state,voodoo_stall))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
// Per game configurations
|
||||
|
@ -2213,17 +2213,6 @@ static const mips3_config r5000_config =
|
||||
SYSTEM_CLOCK /* system clock rate */
|
||||
};
|
||||
|
||||
static const voodoo_config voodoo_intf =
|
||||
{
|
||||
2, // fbmem;
|
||||
4,// tmumem0;
|
||||
4,// tmumem1;
|
||||
"screen",// screen;
|
||||
"maincpu",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(vegas_state,vblank_assert),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( vegascore, vegas_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -2240,7 +2229,12 @@ static MACHINE_CONFIG_START( vegascore, vegas_state )
|
||||
MCFG_SMC91C94_ADD("ethernet")
|
||||
MCFG_SMC91C94_IRQ_CALLBACK(WRITELINE(vegas_state, ethernet_interrupt))
|
||||
|
||||
MCFG_3DFX_VOODOO_2_ADD("voodoo", STD_VOODOO_2_CLOCK, voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_2, STD_VOODOO_2_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(2)
|
||||
MCFG_VOODOO_TMUMEM(4,4)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(vegas_state,vblank_assert))
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -2267,22 +2261,16 @@ static MACHINE_CONFIG_DERIVED( vegas32m, vegascore )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static const voodoo_config vegasban_voodoo_intf =
|
||||
{
|
||||
16, // fbmem;
|
||||
0,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"screen",// screen;
|
||||
"maincpu",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(vegas_state,vblank_assert),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
static MACHINE_CONFIG_DERIVED( vegasban, vegascore )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(vegas_map_32mb)
|
||||
|
||||
MCFG_DEVICE_REMOVE("voodoo")
|
||||
MCFG_3DFX_VOODOO_BANSHEE_ADD("voodoo", STD_VOODOO_BANSHEE_CLOCK, vegasban_voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_BANSHEE, STD_VOODOO_BANSHEE_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(16)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(vegas_state,vblank_assert))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -2292,7 +2280,11 @@ static MACHINE_CONFIG_DERIVED( vegasv3, vegas32m )
|
||||
MCFG_CPU_PROGRAM_MAP(vegas_map_8mb)
|
||||
|
||||
MCFG_DEVICE_REMOVE("voodoo")
|
||||
MCFG_3DFX_VOODOO_3_ADD("voodoo", STD_VOODOO_3_CLOCK, vegasban_voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_3, STD_VOODOO_3_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(16)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(vegas_state,vblank_assert))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -2302,7 +2294,11 @@ static MACHINE_CONFIG_DERIVED( denver, vegascore )
|
||||
MCFG_CPU_PROGRAM_MAP(vegas_map_32mb)
|
||||
|
||||
MCFG_DEVICE_REMOVE("voodoo")
|
||||
MCFG_3DFX_VOODOO_3_ADD("voodoo", STD_VOODOO_3_CLOCK, vegasban_voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_3, STD_VOODOO_3_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(16)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(vegas_state,vblank_assert))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
// Per driver configs
|
||||
|
@ -2029,17 +2029,6 @@ void viper_state::machine_reset()
|
||||
identify_device[67] = 0x00f0; /* 67: minimum PIO transfer cycle time without flow control */
|
||||
}
|
||||
|
||||
static const voodoo_config voodoo_intf =
|
||||
{
|
||||
8, // fbmem;
|
||||
0,// tmumem0;
|
||||
0,// tmumem1;
|
||||
"screen",// screen;
|
||||
"maincpu",// cputag;
|
||||
DEVCB_DRIVER_LINE_MEMBER(viper_state,voodoo_vblank),// vblank;
|
||||
DEVCB_NULL// stall;
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( viper, viper_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -2054,7 +2043,11 @@ static MACHINE_CONFIG_START( viper, viper_state )
|
||||
|
||||
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true)
|
||||
|
||||
MCFG_3DFX_VOODOO_3_ADD("voodoo", STD_VOODOO_3_CLOCK, voodoo_intf)
|
||||
MCFG_DEVICE_ADD("voodoo", VOODOO_3, STD_VOODOO_3_CLOCK)
|
||||
MCFG_VOODOO_FBMEM(8)
|
||||
MCFG_VOODOO_SCREEN_TAG("screen")
|
||||
MCFG_VOODOO_CPU_TAG("maincpu")
|
||||
MCFG_VOODOO_VBLANK_CB(WRITELINE(viper_state,voodoo_vblank))
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
|
Loading…
Reference in New Issue
Block a user