mirror of
https://github.com/holub/mame
synced 2025-06-30 16:00:01 +03:00
huc6202_device: converted to devcb2 (nw)
This commit is contained in:
parent
54cad04041
commit
1e59725e47
@ -12,34 +12,20 @@
|
||||
const device_type HUC6202 = &device_creator<huc6202_device>;
|
||||
|
||||
|
||||
void huc6202_device::device_config_complete()
|
||||
{
|
||||
const huc6202_interface *intf = reinterpret_cast<const huc6202_interface *>(static_config());
|
||||
|
||||
if ( intf != NULL )
|
||||
{
|
||||
*static_cast<huc6202_interface *>(this) = *intf;
|
||||
}
|
||||
else
|
||||
{
|
||||
memset(&m_next_pixel_0, 0, sizeof(m_next_pixel_0));
|
||||
memset(&m_get_time_til_next_event_0, 0, sizeof(m_get_time_til_next_event_0));
|
||||
memset(&m_hsync_changed_0, 0, sizeof(m_hsync_changed_0));
|
||||
memset(&m_vsync_changed_0, 0, sizeof(m_vsync_changed_0));
|
||||
memset(&m_read_0, 0, sizeof(m_read_0));
|
||||
memset(&m_write_0, 0, sizeof(m_write_0));
|
||||
memset(&m_next_pixel_1, 0, sizeof(m_next_pixel_1));
|
||||
memset(&m_get_time_til_next_event_1, 0, sizeof(m_get_time_til_next_event_1));
|
||||
memset(&m_hsync_changed_1, 0, sizeof(m_hsync_changed_1));
|
||||
memset(&m_vsync_changed_1, 0, sizeof(m_vsync_changed_1));
|
||||
memset(&m_read_1, 0, sizeof(m_read_1));
|
||||
memset(&m_write_1, 0, sizeof(m_write_1));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
huc6202_device::huc6202_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, HUC6202, "HuC6202 VPC", tag, owner, clock, "huc6202", __FILE__)
|
||||
: device_t(mconfig, HUC6202, "HuC6202 VPC", tag, owner, clock, "huc6202", __FILE__),
|
||||
m_next_pixel_0_cb(*this),
|
||||
m_time_til_next_event_0_cb(*this),
|
||||
m_vsync_changed_0_cb(*this),
|
||||
m_hsync_changed_0_cb(*this),
|
||||
m_read_0_cb(*this),
|
||||
m_write_0_cb(*this),
|
||||
m_next_pixel_1_cb(*this),
|
||||
m_time_til_next_event_1_cb(*this),
|
||||
m_vsync_changed_1_cb(*this),
|
||||
m_hsync_changed_1_cb(*this),
|
||||
m_read_1_cb(*this),
|
||||
m_write_1_cb(*this)
|
||||
{
|
||||
}
|
||||
|
||||
@ -48,8 +34,8 @@ READ16_MEMBER( huc6202_device::next_pixel )
|
||||
{
|
||||
UINT16 data = huc6270_device::HUC6270_BACKGROUND;
|
||||
|
||||
UINT16 data_0 = m_next_pixel_0( 0, 0xffff );
|
||||
UINT16 data_1 = m_next_pixel_1( 0, 0xffff );
|
||||
UINT16 data_0 = m_next_pixel_0_cb( 0, 0xffff );
|
||||
UINT16 data_1 = m_next_pixel_1_cb( 0, 0xffff );
|
||||
|
||||
if ( data_0 == huc6270_device::HUC6270_SPRITE && data_1 == huc6270_device::HUC6270_SPRITE )
|
||||
{
|
||||
@ -164,8 +150,8 @@ READ16_MEMBER( huc6202_device::next_pixel )
|
||||
|
||||
READ16_MEMBER( huc6202_device::time_until_next_event )
|
||||
{
|
||||
UINT16 next_event_clocks_0 = m_get_time_til_next_event_0( 0, 0xffff );
|
||||
UINT16 next_event_clocks_1 = m_get_time_til_next_event_1( 0, 0xffff );
|
||||
UINT16 next_event_clocks_0 = m_time_til_next_event_0_cb( 0, 0xffff );
|
||||
UINT16 next_event_clocks_1 = m_time_til_next_event_1_cb( 0, 0xffff );
|
||||
|
||||
return MIN( next_event_clocks_0, next_event_clocks_1 );
|
||||
}
|
||||
@ -173,15 +159,15 @@ READ16_MEMBER( huc6202_device::time_until_next_event )
|
||||
|
||||
WRITE_LINE_MEMBER( huc6202_device::vsync_changed )
|
||||
{
|
||||
m_vsync_changed_0( state );
|
||||
m_vsync_changed_1( state );
|
||||
m_vsync_changed_0_cb( state );
|
||||
m_vsync_changed_1_cb( state );
|
||||
}
|
||||
|
||||
|
||||
WRITE_LINE_MEMBER( huc6202_device::hsync_changed )
|
||||
{
|
||||
m_hsync_changed_0( state );
|
||||
m_hsync_changed_1( state );
|
||||
m_hsync_changed_0_cb( state );
|
||||
m_hsync_changed_1_cb( state );
|
||||
}
|
||||
|
||||
|
||||
@ -283,11 +269,11 @@ READ8_MEMBER( huc6202_device::io_read )
|
||||
{
|
||||
if ( m_io_device )
|
||||
{
|
||||
return m_read_1( offset );
|
||||
return m_read_1_cb( offset );
|
||||
}
|
||||
else
|
||||
{
|
||||
return m_read_0( offset );
|
||||
return m_read_0_cb( offset );
|
||||
}
|
||||
}
|
||||
|
||||
@ -296,11 +282,11 @@ WRITE8_MEMBER( huc6202_device::io_write )
|
||||
{
|
||||
if ( m_io_device )
|
||||
{
|
||||
m_write_1( offset, data );
|
||||
m_write_1_cb( offset, data );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_write_0( offset, data );
|
||||
m_write_0_cb( offset, data );
|
||||
}
|
||||
}
|
||||
|
||||
@ -308,33 +294,33 @@ WRITE8_MEMBER( huc6202_device::io_write )
|
||||
void huc6202_device::device_start()
|
||||
{
|
||||
/* Resolve callbacks */
|
||||
m_next_pixel_0.resolve( device_0_next_pixel, *this );
|
||||
m_get_time_til_next_event_0.resolve( get_time_til_next_event_0, *this );
|
||||
m_hsync_changed_0.resolve( hsync_0_changed, *this );
|
||||
m_vsync_changed_0.resolve( vsync_0_changed, *this );
|
||||
m_read_0.resolve( read_0, *this );
|
||||
m_write_0.resolve( write_0, *this );
|
||||
m_next_pixel_0_cb.resolve();
|
||||
m_time_til_next_event_0_cb.resolve();
|
||||
m_hsync_changed_0_cb.resolve();
|
||||
m_vsync_changed_0_cb.resolve();
|
||||
m_read_0_cb.resolve();
|
||||
m_write_0_cb.resolve();
|
||||
|
||||
m_next_pixel_1.resolve( device_1_next_pixel, *this );
|
||||
m_get_time_til_next_event_1.resolve( get_time_til_next_event_1, *this );
|
||||
m_hsync_changed_1.resolve( hsync_1_changed, *this );
|
||||
m_vsync_changed_1.resolve( vsync_1_changed, *this );
|
||||
m_read_1.resolve( read_1, *this );
|
||||
m_write_1.resolve( write_1, *this );
|
||||
m_next_pixel_1_cb.resolve();
|
||||
m_time_til_next_event_1_cb.resolve();
|
||||
m_hsync_changed_1_cb.resolve();
|
||||
m_vsync_changed_1_cb.resolve();
|
||||
m_read_1_cb.resolve();
|
||||
m_write_1_cb.resolve();
|
||||
|
||||
/* We want all our callbacks to be resolved */
|
||||
assert( ! m_next_pixel_0.isnull() );
|
||||
assert( ! m_get_time_til_next_event_0.isnull() );
|
||||
assert( ! m_hsync_changed_0.isnull() );
|
||||
assert( ! m_vsync_changed_0.isnull() );
|
||||
assert( ! m_read_0.isnull() );
|
||||
assert( ! m_write_0.isnull() );
|
||||
assert( ! m_next_pixel_1.isnull() );
|
||||
assert( ! m_get_time_til_next_event_1.isnull() );
|
||||
assert( ! m_hsync_changed_1.isnull() );
|
||||
assert( ! m_vsync_changed_1.isnull() );
|
||||
assert( ! m_read_1.isnull() );
|
||||
assert( ! m_write_1.isnull() );
|
||||
assert( ! m_next_pixel_0_cb.isnull() );
|
||||
assert( ! m_time_til_next_event_0_cb.isnull() );
|
||||
assert( ! m_hsync_changed_0_cb.isnull() );
|
||||
assert( ! m_vsync_changed_0_cb.isnull() );
|
||||
assert( ! m_read_0_cb.isnull() );
|
||||
assert( ! m_write_0_cb.isnull() );
|
||||
assert( ! m_next_pixel_1_cb.isnull() );
|
||||
assert( ! m_time_til_next_event_1_cb.isnull() );
|
||||
assert( ! m_hsync_changed_1_cb.isnull() );
|
||||
assert( ! m_vsync_changed_1_cb.isnull() );
|
||||
assert( ! m_read_1_cb.isnull() );
|
||||
assert( ! m_write_1_cb.isnull() );
|
||||
|
||||
/* Register save items */
|
||||
save_item(NAME(m_prio[0].prio_type));
|
||||
|
@ -10,46 +10,62 @@
|
||||
#include "emu.h"
|
||||
|
||||
|
||||
#define MCFG_HUC6202_ADD( _tag, _intrf ) \
|
||||
MCFG_DEVICE_ADD( _tag, HUC6202, 0 ) \
|
||||
MCFG_DEVICE_CONFIG( _intrf )
|
||||
#define MCFG_HUC6202_NEXT_PIXEL_0_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_next_pixel_0_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_HUC6202_TIME_TIL_NEXT_EVENT_0_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_time_til_next_event_0_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
struct huc6202_interface
|
||||
{
|
||||
/* First gfx input device */
|
||||
devcb_read16 device_0_next_pixel;
|
||||
#define MCFG_HUC6202_VSYNC_CHANGED_0_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_vsync_changed_0_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
/* TODO: Choose proper types */
|
||||
/* Callback function to get time until next event */
|
||||
devcb_read16 get_time_til_next_event_0;
|
||||
#define MCFG_HUC6202_HSYNC_CHANGED_0_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_hsync_changed_0_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
devcb_write_line vsync_0_changed;
|
||||
devcb_write_line hsync_0_changed;
|
||||
devcb_read8 read_0;
|
||||
devcb_write8 write_0;
|
||||
#define MCFG_HUC6202_READ_0_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_read_0_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_HUC6202_WRITE_0_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_write_0_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
/* Second gfx input device */
|
||||
devcb_read16 device_1_next_pixel;
|
||||
#define MCFG_HUC6202_NEXT_PIXEL_1_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_next_pixel_1_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
/* TODO: Choose proper types */
|
||||
/* Callback function to get time until next event */
|
||||
devcb_read16 get_time_til_next_event_1;
|
||||
#define MCFG_HUC6202_TIME_TIL_NEXT_EVENT_1_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_time_til_next_event_1_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
devcb_write_line vsync_1_changed;
|
||||
devcb_write_line hsync_1_changed;
|
||||
devcb_read8 read_1;
|
||||
devcb_write8 write_1;
|
||||
};
|
||||
#define MCFG_HUC6202_VSYNC_CHANGED_1_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_vsync_changed_1_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_HUC6202_HSYNC_CHANGED_1_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_hsync_changed_1_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
class huc6202_device : public device_t,
|
||||
public huc6202_interface
|
||||
#define MCFG_HUC6202_READ_1_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_read_1_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_HUC6202_WRITE_1_CB(_devcb) \
|
||||
devcb = &huc6202_device::set_write_1_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
|
||||
class huc6202_device : public device_t
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
huc6202_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_next_pixel_0_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_next_pixel_0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_time_til_next_event_0_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_time_til_next_event_0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vsync_changed_0_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_vsync_changed_0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_hsync_changed_0_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_hsync_changed_0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_read_0_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_read_0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_write_0_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_write_0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_next_pixel_1_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_next_pixel_1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_time_til_next_event_1_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_time_til_next_event_1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_vsync_changed_1_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_vsync_changed_1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_hsync_changed_1_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_hsync_changed_1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_read_1_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_read_1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_write_1_callback(device_t &device, _Object object) { return downcast<huc6202_device &>(device).m_write_1_cb.set_callback(object); }
|
||||
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
DECLARE_READ8_MEMBER( io_read );
|
||||
@ -61,24 +77,35 @@ public:
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete();
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
private:
|
||||
/* callbacks */
|
||||
devcb_resolved_read16 m_next_pixel_0;
|
||||
devcb_resolved_read16 m_get_time_til_next_event_0;
|
||||
devcb_resolved_write_line m_hsync_changed_0;
|
||||
devcb_resolved_write_line m_vsync_changed_0;
|
||||
devcb_resolved_read8 m_read_0;
|
||||
devcb_resolved_write8 m_write_0;
|
||||
devcb_resolved_read16 m_next_pixel_1;
|
||||
devcb_resolved_read16 m_get_time_til_next_event_1;
|
||||
devcb_resolved_write_line m_hsync_changed_1;
|
||||
devcb_resolved_write_line m_vsync_changed_1;
|
||||
devcb_resolved_read8 m_read_1;
|
||||
devcb_resolved_write8 m_write_1;
|
||||
/* First gfx input device */
|
||||
devcb2_read16 m_next_pixel_0_cb;
|
||||
|
||||
/* TODO: Choose proper types */
|
||||
/* Callback function to get time until next event */
|
||||
devcb2_read16 m_time_til_next_event_0_cb;
|
||||
|
||||
devcb2_write_line m_vsync_changed_0_cb;
|
||||
devcb2_write_line m_hsync_changed_0_cb;
|
||||
devcb2_read8 m_read_0_cb;
|
||||
devcb2_write8 m_write_0_cb;
|
||||
|
||||
|
||||
/* Second gfx input device */
|
||||
devcb2_read16 m_next_pixel_1_cb;
|
||||
|
||||
/* TODO: Choose proper types */
|
||||
/* Callback function to get time until next event */
|
||||
devcb2_read16 m_time_til_next_event_1_cb;
|
||||
|
||||
devcb2_write_line m_vsync_changed_1_cb;
|
||||
devcb2_write_line m_hsync_changed_1_cb;
|
||||
devcb2_read8 m_read_1_cb;
|
||||
devcb2_write8 m_write_1_cb;
|
||||
|
||||
struct {
|
||||
UINT8 prio_type;
|
||||
|
@ -180,23 +180,6 @@ static const c6280_interface c6280_config =
|
||||
"maincpu"
|
||||
};
|
||||
|
||||
static const huc6202_interface sgx_huc6202_config =
|
||||
{
|
||||
DEVCB_DEVICE_MEMBER16( "huc6270_0", huc6270_device, next_pixel ),
|
||||
DEVCB_DEVICE_MEMBER16( "huc6270_0", huc6270_device, time_until_next_event ),
|
||||
DEVCB_DEVICE_LINE_MEMBER( "huc6270_0", huc6270_device, vsync_changed ),
|
||||
DEVCB_DEVICE_LINE_MEMBER( "huc6270_0", huc6270_device, hsync_changed ),
|
||||
DEVCB_DEVICE_MEMBER( "huc6270_0", huc6270_device, read ),
|
||||
DEVCB_DEVICE_MEMBER( "huc6270_0", huc6270_device, write ),
|
||||
DEVCB_DEVICE_MEMBER16( "huc6270_1", huc6270_device, next_pixel ),
|
||||
DEVCB_DEVICE_MEMBER16( "huc6270_1", huc6270_device, time_until_next_event ),
|
||||
DEVCB_DEVICE_LINE_MEMBER( "huc6270_1", huc6270_device, vsync_changed ),
|
||||
DEVCB_DEVICE_LINE_MEMBER( "huc6270_1", huc6270_device, hsync_changed ),
|
||||
DEVCB_DEVICE_MEMBER( "huc6270_1", huc6270_device, read ),
|
||||
DEVCB_DEVICE_MEMBER( "huc6270_1", huc6270_device, write ),
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( ggconnie, ggconnie_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3)
|
||||
@ -220,7 +203,19 @@ static MACHINE_CONFIG_START( ggconnie, ggconnie_state )
|
||||
MCFG_DEVICE_ADD( "huc6270_1", HUC6270, 0 )
|
||||
MCFG_HUC6270_VRAM_SIZE(0x10000)
|
||||
MCFG_HUC6270_IRQ_CHANGED_CB(WRITELINE(pce_common_state, pce_irq_changed))
|
||||
MCFG_HUC6202_ADD( "huc6202", sgx_huc6202_config )
|
||||
MCFG_DEVICE_ADD( "huc6202", HUC6202, 0 )
|
||||
MCFG_HUC6202_NEXT_PIXEL_0_CB(DEVREAD16("huc6270_0", huc6270_device, next_pixel))
|
||||
MCFG_HUC6202_TIME_TIL_NEXT_EVENT_0_CB(DEVREAD16("huc6270_0", huc6270_device, time_until_next_event))
|
||||
MCFG_HUC6202_VSYNC_CHANGED_0_CB(DEVWRITELINE("huc6270_0", huc6270_device, vsync_changed))
|
||||
MCFG_HUC6202_HSYNC_CHANGED_0_CB(DEVWRITELINE("huc6270_0", huc6270_device, hsync_changed))
|
||||
MCFG_HUC6202_READ_0_CB(DEVREAD8("huc6270_0", huc6270_device, read))
|
||||
MCFG_HUC6202_WRITE_0_CB(DEVWRITE8("huc6270_0", huc6270_device, write))
|
||||
MCFG_HUC6202_NEXT_PIXEL_1_CB(DEVREAD16("huc6270_1", huc6270_device, next_pixel))
|
||||
MCFG_HUC6202_TIME_TIL_NEXT_EVENT_1_CB(DEVREAD16("huc6270_1", huc6270_device, time_until_next_event))
|
||||
MCFG_HUC6202_VSYNC_CHANGED_1_CB(DEVWRITELINE("huc6270_1", huc6270_device, vsync_changed))
|
||||
MCFG_HUC6202_HSYNC_CHANGED_1_CB(DEVWRITELINE("huc6270_1", huc6270_device, hsync_changed))
|
||||
MCFG_HUC6202_READ_1_CB(DEVREAD8("huc6270_1", huc6270_device, read))
|
||||
MCFG_HUC6202_WRITE_1_CB(DEVWRITE8("huc6270_1", huc6270_device, write))
|
||||
|
||||
MCFG_DEVICE_ADD("rtc", MSM6242, XTAL_32_768kHz)
|
||||
|
||||
|
@ -302,23 +302,6 @@ WRITE_LINE_MEMBER(pce_state::pce_irq_changed)
|
||||
}
|
||||
|
||||
|
||||
static const huc6202_interface sgx_huc6202_config =
|
||||
{
|
||||
DEVCB_DEVICE_MEMBER16( "huc6270_0", huc6270_device, next_pixel ),
|
||||
DEVCB_DEVICE_MEMBER16( "huc6270_0", huc6270_device, time_until_next_event ),
|
||||
DEVCB_DEVICE_LINE_MEMBER( "huc6270_0", huc6270_device, vsync_changed ),
|
||||
DEVCB_DEVICE_LINE_MEMBER( "huc6270_0", huc6270_device, hsync_changed ),
|
||||
DEVCB_DEVICE_MEMBER( "huc6270_0", huc6270_device, read ),
|
||||
DEVCB_DEVICE_MEMBER( "huc6270_0", huc6270_device, write ),
|
||||
DEVCB_DEVICE_MEMBER16( "huc6270_1", huc6270_device, next_pixel ),
|
||||
DEVCB_DEVICE_MEMBER16( "huc6270_1", huc6270_device, time_until_next_event ),
|
||||
DEVCB_DEVICE_LINE_MEMBER( "huc6270_1", huc6270_device, vsync_changed ),
|
||||
DEVCB_DEVICE_LINE_MEMBER( "huc6270_1", huc6270_device, hsync_changed ),
|
||||
DEVCB_DEVICE_MEMBER( "huc6270_1", huc6270_device, read ),
|
||||
DEVCB_DEVICE_MEMBER( "huc6270_1", huc6270_device, write ),
|
||||
};
|
||||
|
||||
|
||||
static SLOT_INTERFACE_START(pce_cart)
|
||||
SLOT_INTERFACE_INTERNAL("rom", PCE_ROM_STD)
|
||||
SLOT_INTERFACE_INTERNAL("cdsys3u", PCE_ROM_CDSYS3)
|
||||
@ -403,7 +386,19 @@ static MACHINE_CONFIG_START( sgx, pce_state )
|
||||
MCFG_DEVICE_ADD( "huc6270_1", HUC6270, 0 )
|
||||
MCFG_HUC6270_VRAM_SIZE(0x10000)
|
||||
MCFG_HUC6270_IRQ_CHANGED_CB(WRITELINE(pce_state, pce_irq_changed))
|
||||
MCFG_HUC6202_ADD( "huc6202", sgx_huc6202_config )
|
||||
MCFG_DEVICE_ADD( "huc6202", HUC6202, 0 )
|
||||
MCFG_HUC6202_NEXT_PIXEL_0_CB(DEVREAD16("huc6270_0", huc6270_device, next_pixel))
|
||||
MCFG_HUC6202_TIME_TIL_NEXT_EVENT_0_CB(DEVREAD16("huc6270_0", huc6270_device, time_until_next_event))
|
||||
MCFG_HUC6202_VSYNC_CHANGED_0_CB(DEVWRITELINE("huc6270_0", huc6270_device, vsync_changed))
|
||||
MCFG_HUC6202_HSYNC_CHANGED_0_CB(DEVWRITELINE("huc6270_0", huc6270_device, hsync_changed))
|
||||
MCFG_HUC6202_READ_0_CB(DEVREAD8("huc6270_0", huc6270_device, read))
|
||||
MCFG_HUC6202_WRITE_0_CB(DEVWRITE8("huc6270_0", huc6270_device, write))
|
||||
MCFG_HUC6202_NEXT_PIXEL_1_CB(DEVREAD16("huc6270_1", huc6270_device, next_pixel))
|
||||
MCFG_HUC6202_TIME_TIL_NEXT_EVENT_1_CB(DEVREAD16("huc6270_1", huc6270_device, time_until_next_event))
|
||||
MCFG_HUC6202_VSYNC_CHANGED_1_CB(DEVWRITELINE("huc6270_1", huc6270_device, vsync_changed))
|
||||
MCFG_HUC6202_HSYNC_CHANGED_1_CB(DEVWRITELINE("huc6270_1", huc6270_device, hsync_changed))
|
||||
MCFG_HUC6202_READ_1_CB(DEVREAD8("huc6270_1", huc6270_device, read))
|
||||
MCFG_HUC6202_WRITE_1_CB(DEVWRITE8("huc6270_1", huc6270_device, write))
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD(C6280_TAG, C6280, MAIN_CLOCK/6)
|
||||
|
Loading…
Reference in New Issue
Block a user