mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
Modernized the Konami 053252 device [Osso]
This commit is contained in:
parent
9ee1f6004e
commit
32c70b6849
@ -55,187 +55,12 @@ TODO:
|
||||
#include "emu.h"
|
||||
#include "k053252.h"
|
||||
|
||||
struct k053252_state
|
||||
{
|
||||
UINT8 regs[16];
|
||||
UINT16 hc,hfp,hbp;
|
||||
UINT16 vc,vfp,vbp;
|
||||
UINT8 vsw,hsw;
|
||||
|
||||
screen_device *screen;
|
||||
devcb_resolved_write_line int1_en;
|
||||
devcb_resolved_write_line int2_en;
|
||||
devcb_resolved_write_line int1_ack;
|
||||
devcb_resolved_write_line int2_ack;
|
||||
//devcb_resolved_write8 int_time;
|
||||
int offsx,offsy;
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
INLINE FUNCTIONS
|
||||
*****************************************************************************/
|
||||
|
||||
INLINE k053252_state *k053252_get_safe_token( device_t *device )
|
||||
{
|
||||
assert(device != NULL);
|
||||
assert(device->type() == K053252);
|
||||
|
||||
return (k053252_state *)downcast<k053252_device *>(device)->token();
|
||||
}
|
||||
|
||||
INLINE const k053252_interface *k053252_get_interface( device_t *device )
|
||||
{
|
||||
assert(device != NULL);
|
||||
assert(device->type() == K053252);
|
||||
|
||||
return (const k053252_interface *) device->static_config();
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
DEVICE HANDLERS
|
||||
*****************************************************************************/
|
||||
|
||||
READ8_DEVICE_HANDLER( k053252_r )
|
||||
{
|
||||
k053252_state *k053252 = k053252_get_safe_token(device);
|
||||
|
||||
//TODO: debugger_access()
|
||||
popmessage("Warning: k053252 read %02x, contact MAMEdev",offset);
|
||||
|
||||
return k053252->regs[offset];
|
||||
}
|
||||
|
||||
static void k053252_res_change( device_t *device )
|
||||
{
|
||||
k053252_state *k053252 = k053252_get_safe_token(device);
|
||||
|
||||
if(k053252->screen != NULL)
|
||||
{
|
||||
if(k053252->hc && k053252->vc &&
|
||||
k053252->hbp && k053252->hfp &&
|
||||
k053252->vbp && k053252->vfp &&
|
||||
k053252->hsw && k053252->vsw) //safety checks
|
||||
{
|
||||
rectangle visarea;
|
||||
//(HC+1) - HFP - HBP - 8*(HSW+1)
|
||||
//VC - VFP - VBP - (VSW+1)
|
||||
attoseconds_t refresh = HZ_TO_ATTOSECONDS(device->clock()) * (k053252->hc) * k053252->vc;
|
||||
|
||||
//printf("H %d %d %d %d\n",k053252->hc,k053252->hfp,k053252->hbp,k053252->hsw);
|
||||
//printf("V %d %d %d %d\n",k053252->vc,k053252->vfp,k053252->vbp,k053252->vsw);
|
||||
|
||||
visarea.min_x = k053252->offsx;
|
||||
visarea.min_y = k053252->offsy;
|
||||
visarea.max_x = k053252->offsx + k053252->hc - k053252->hfp - k053252->hbp - 8*(k053252->hsw) - 1;
|
||||
visarea.max_y = k053252->offsy + k053252->vc - k053252->vfp - k053252->vbp - (k053252->vsw) - 1;
|
||||
|
||||
k053252->screen->configure(k053252->hc, k053252->vc, visarea, refresh);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_DEVICE_HANDLER( k053252_w )
|
||||
{
|
||||
k053252_state *k053252 = k053252_get_safe_token(device);
|
||||
|
||||
k053252->regs[offset] = data;
|
||||
|
||||
switch(offset)
|
||||
{
|
||||
case 0x00:
|
||||
case 0x01:
|
||||
k053252->hc = (k053252->regs[1]&0xff);
|
||||
k053252->hc |= ((k053252->regs[0]&0x03)<<8);
|
||||
k053252->hc ++;
|
||||
logerror("%d (%04x) HC set\n",k053252->hc,k053252->hc);
|
||||
k053252_res_change(device);
|
||||
break;
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
k053252->hfp = (k053252->regs[3]&0xff);
|
||||
k053252->hfp |= ((k053252->regs[2]&0x01)<<8);
|
||||
logerror("%d (%04x) HFP set\n",k053252->hfp,k053252->hfp);
|
||||
k053252_res_change(device);
|
||||
break;
|
||||
case 0x04:
|
||||
case 0x05:
|
||||
k053252->hbp = (k053252->regs[5]&0xff);
|
||||
k053252->hbp |= ((k053252->regs[4]&0x01)<<8);
|
||||
logerror("%d (%04x) HBP set\n",k053252->hbp,k053252->hbp);
|
||||
k053252_res_change(device);
|
||||
break;
|
||||
case 0x06: k053252->int1_en(data); break;
|
||||
case 0x07: k053252->int2_en(data); break;
|
||||
case 0x08:
|
||||
case 0x09:
|
||||
k053252->vc = (k053252->regs[9]&0xff);
|
||||
k053252->vc |= ((k053252->regs[8]&0x01)<<8);
|
||||
logerror("%d (%04x) VC set\n",k053252->vc,k053252->vc);
|
||||
k053252_res_change(device);
|
||||
break;
|
||||
case 0x0a:
|
||||
k053252->vfp = (k053252->regs[0x0a]&0xff);
|
||||
logerror("%d (%04x) VFP set\n",k053252->vfp,k053252->vfp);
|
||||
k053252_res_change(device);
|
||||
break;
|
||||
case 0x0b:
|
||||
k053252->vbp = (k053252->regs[0x0b]&0xff);
|
||||
logerror("%d (%04x) VBP set\n",k053252->vbp,k053252->vbp);
|
||||
k053252_res_change(device);
|
||||
break;
|
||||
case 0x0c:
|
||||
k053252->vsw = ((k053252->regs[0x0c]&0xf0) >> 4) + 1;
|
||||
k053252->hsw = ((k053252->regs[0x0c]&0x0f) >> 0) + 1;
|
||||
logerror("%02x VSW / %02x HSW set\n",k053252->vsw,k053252->hsw);
|
||||
k053252_res_change(device);
|
||||
break;
|
||||
//case 0x0d: k053252->int_time(data); break;
|
||||
case 0x0e: k053252->int1_ack(1); break;
|
||||
case 0x0f: k053252->int2_ack(1); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
DEVICE INTERFACE
|
||||
*****************************************************************************/
|
||||
|
||||
static DEVICE_START( k053252 )
|
||||
{
|
||||
k053252_state *k053252 = k053252_get_safe_token(device);
|
||||
const k053252_interface *intf = k053252_get_interface(device);
|
||||
|
||||
device->save_item(NAME(k053252->regs));
|
||||
k053252->screen = device->machine().device<screen_device>(intf->screen);
|
||||
k053252->int1_en.resolve(intf->int1_en, *device);
|
||||
k053252->int2_en.resolve(intf->int2_en, *device);
|
||||
k053252->int1_ack.resolve(intf->int1_ack, *device);
|
||||
k053252->int2_ack.resolve(intf->int2_ack, *device);
|
||||
//k053252->int_time.resolve(intf->int_time, *device);
|
||||
k053252->offsx = intf->offsx;
|
||||
k053252->offsy = intf->offsy;
|
||||
}
|
||||
|
||||
static DEVICE_RESET( k053252 )
|
||||
{
|
||||
k053252_state *k053252 = k053252_get_safe_token(device);
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
k053252->regs[i] = 0;
|
||||
|
||||
k053252->regs[0x08] = 1; // Xexex apparently does a wrong assignment for VC (sets up the INT enable register instead)
|
||||
}
|
||||
|
||||
|
||||
const device_type K053252 = &device_creator<k053252_device>;
|
||||
|
||||
k053252_device::k053252_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, K053252, "Konami 053252", tag, owner, clock)
|
||||
{
|
||||
m_token = global_alloc_clear(k053252_state);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -246,6 +71,21 @@ k053252_device::k053252_device(const machine_config &mconfig, const char *tag, d
|
||||
|
||||
void k053252_device::device_config_complete()
|
||||
{
|
||||
// inherit a copy of the static data
|
||||
const k053252_interface *intf = reinterpret_cast<const k053252_interface *>(static_config());
|
||||
if (intf != NULL)
|
||||
*static_cast<k053252_interface *>(this) = *intf;
|
||||
|
||||
// or initialize to defaults if none provided
|
||||
else
|
||||
{
|
||||
m_screen_tag = "";
|
||||
memset(&m_int1_en, 0, sizeof(m_int1_en));
|
||||
memset(&m_int2_en, 0, sizeof(m_int2_en));
|
||||
memset(&m_int1_ack, 0, sizeof(m_int1_ack));
|
||||
memset(&m_int2_ack, 0, sizeof(m_int2_ack));
|
||||
//memset(&m_int_time, 0, sizeof(m_int_time));
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -254,7 +94,13 @@ void k053252_device::device_config_complete()
|
||||
|
||||
void k053252_device::device_start()
|
||||
{
|
||||
DEVICE_START_NAME( k053252 )(this);
|
||||
save_item(NAME(m_regs));
|
||||
m_screen = machine().device<screen_device>(m_screen_tag);
|
||||
m_int1_en_func.resolve(m_int1_en, *this);
|
||||
m_int2_en_func.resolve(m_int2_en, *this);
|
||||
m_int1_ack_func.resolve(m_int1_ack, *this);
|
||||
m_int2_ack_func.resolve(m_int2_ack, *this);
|
||||
//m_int_time_func.resolve(m_int_time, *this);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -263,5 +109,118 @@ void k053252_device::device_start()
|
||||
|
||||
void k053252_device::device_reset()
|
||||
{
|
||||
DEVICE_RESET_NAME( k053252 )(this);
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
m_regs[i] = 0;
|
||||
|
||||
m_regs[0x08] = 1; // Xexex apparently does a wrong assignment for VC (sets up the INT enable register instead)
|
||||
|
||||
m_hc=0;
|
||||
m_hfp=0;
|
||||
m_hbp=0;
|
||||
m_vc=0;
|
||||
m_vfp=0;
|
||||
m_vbp=0;
|
||||
m_vsw=0;
|
||||
m_hsw=0;
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
DEVICE HANDLERS
|
||||
*****************************************************************************/
|
||||
|
||||
READ8_MEMBER( k053252_device::read )
|
||||
{
|
||||
//TODO: debugger_access()
|
||||
popmessage("Warning: k053252 read %02x, contact MAMEdev",offset);
|
||||
|
||||
return m_regs[offset];
|
||||
}
|
||||
|
||||
void k053252_device::res_change()
|
||||
{
|
||||
if(m_screen != NULL)
|
||||
{
|
||||
if(m_hc && m_vc &&
|
||||
m_hbp && m_hfp &&
|
||||
m_vbp && m_vfp &&
|
||||
m_hsw && m_vsw) //safety checks
|
||||
{
|
||||
rectangle visarea;
|
||||
//(HC+1) - HFP - HBP - 8*(HSW+1)
|
||||
//VC - VFP - VBP - (VSW+1)
|
||||
attoseconds_t refresh = HZ_TO_ATTOSECONDS(clock()) * (m_hc) * m_vc;
|
||||
|
||||
//printf("H %d %d %d %d\n",m_hc,m_hfp,m_hbp,m_hsw);
|
||||
//printf("V %d %d %d %d\n",m_vc,m_vfp,m_vbp,m_vsw);
|
||||
|
||||
visarea.min_x = m_offsx;
|
||||
visarea.min_y = m_offsy;
|
||||
visarea.max_x = m_offsx + m_hc - m_hfp - m_hbp - 8*(m_hsw) - 1;
|
||||
visarea.max_y = m_offsy + m_vc - m_vfp - m_vbp - (m_vsw) - 1;
|
||||
|
||||
m_screen->configure(m_hc, m_vc, visarea, refresh);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( k053252_device::write )
|
||||
{
|
||||
m_regs[offset] = data;
|
||||
|
||||
switch(offset)
|
||||
{
|
||||
case 0x00:
|
||||
case 0x01:
|
||||
m_hc = (m_regs[1]&0xff);
|
||||
m_hc |= ((m_regs[0]&0x03)<<8);
|
||||
m_hc ++;
|
||||
logerror("%d (%04x) HC set\n",m_hc,m_hc);
|
||||
res_change();
|
||||
break;
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
m_hfp = (m_regs[3]&0xff);
|
||||
m_hfp |= ((m_regs[2]&0x01)<<8);
|
||||
logerror("%d (%04x) HFP set\n",m_hfp,m_hfp);
|
||||
res_change();
|
||||
break;
|
||||
case 0x04:
|
||||
case 0x05:
|
||||
m_hbp = (m_regs[5]&0xff);
|
||||
m_hbp |= ((m_regs[4]&0x01)<<8);
|
||||
logerror("%d (%04x) HBP set\n",m_hbp,m_hbp);
|
||||
res_change();
|
||||
break;
|
||||
case 0x06: m_int1_en_func(data); break;
|
||||
case 0x07: m_int2_en_func(data); break;
|
||||
case 0x08:
|
||||
case 0x09:
|
||||
m_vc = (m_regs[9]&0xff);
|
||||
m_vc |= ((m_regs[8]&0x01)<<8);
|
||||
logerror("%d (%04x) VC set\n",m_vc,m_vc);
|
||||
res_change();
|
||||
break;
|
||||
case 0x0a:
|
||||
m_vfp = (m_regs[0x0a]&0xff);
|
||||
logerror("%d (%04x) VFP set\n",m_vfp,m_vfp);
|
||||
res_change();
|
||||
break;
|
||||
case 0x0b:
|
||||
m_vbp = (m_regs[0x0b]&0xff);
|
||||
logerror("%d (%04x) VBP set\n",m_vbp,m_vbp);
|
||||
res_change();
|
||||
break;
|
||||
case 0x0c:
|
||||
m_vsw = ((m_regs[0x0c]&0xf0) >> 4) + 1;
|
||||
m_hsw = ((m_regs[0x0c]&0x0f) >> 0) + 1;
|
||||
logerror("%02x VSW / %02x HSW set\n",m_vsw,m_hsw);
|
||||
res_change();
|
||||
break;
|
||||
//case 0x0d: m_int_time(data); break;
|
||||
case 0x0e: m_int1_ack_func(1); break;
|
||||
case 0x0f: m_int2_ack_func(1); break;
|
||||
}
|
||||
}
|
||||
|
@ -5,53 +5,57 @@
|
||||
#ifndef __K053252_H__
|
||||
#define __K053252_H__
|
||||
|
||||
#include "devlegcy.h"
|
||||
|
||||
class k053252_device : public device_t
|
||||
struct k053252_interface
|
||||
{
|
||||
const char *m_screen_tag;
|
||||
devcb_write_line m_int1_en;
|
||||
devcb_write_line m_int2_en;
|
||||
devcb_write_line m_int1_ack;
|
||||
devcb_write_line m_int2_ack;
|
||||
// devcb_write8 m_int_time;
|
||||
int m_offsx;
|
||||
int m_offsy;
|
||||
};
|
||||
|
||||
class k053252_device : public device_t,
|
||||
public k053252_interface
|
||||
{
|
||||
public:
|
||||
k053252_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
~k053252_device() { global_free(m_token); }
|
||||
|
||||
// access to legacy token
|
||||
void *token() const { assert(m_token != NULL); return m_token; }
|
||||
~k053252_device() {}
|
||||
|
||||
DECLARE_READ8_MEMBER( read ); // CCU registers
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
|
||||
void res_change();
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_config_complete();
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
private:
|
||||
|
||||
private:
|
||||
// internal state
|
||||
void *m_token;
|
||||
UINT8 m_regs[16];
|
||||
UINT16 m_hc,m_hfp,m_hbp;
|
||||
UINT16 m_vc,m_vfp,m_vbp;
|
||||
UINT8 m_vsw,m_hsw;
|
||||
|
||||
screen_device *m_screen;
|
||||
devcb_resolved_write_line m_int1_en_func;
|
||||
devcb_resolved_write_line m_int2_en_func;
|
||||
devcb_resolved_write_line m_int1_ack_func;
|
||||
devcb_resolved_write_line m_int2_ack_func;
|
||||
//devcb_resolved_write8 m_int_time_func;
|
||||
};
|
||||
|
||||
extern const device_type K053252;
|
||||
|
||||
|
||||
|
||||
|
||||
struct k053252_interface
|
||||
{
|
||||
const char *screen;
|
||||
devcb_write_line int1_en;
|
||||
devcb_write_line int2_en;
|
||||
devcb_write_line int1_ack;
|
||||
devcb_write_line int2_ack;
|
||||
// devcb_write8 int_time;
|
||||
int offsx;
|
||||
int offsy;
|
||||
};
|
||||
|
||||
|
||||
#define MCFG_K053252_ADD(_tag, _clock, _interface) \
|
||||
MCFG_DEVICE_ADD(_tag, K053252, _clock) \
|
||||
MCFG_DEVICE_CONFIG(_interface)
|
||||
|
||||
/** Konami 053252 **/
|
||||
/* CRT and interrupt control unit */
|
||||
DECLARE_READ8_DEVICE_HANDLER( k053252_r ); // CCU registers
|
||||
DECLARE_WRITE8_DEVICE_HANDLER( k053252_w );
|
||||
|
||||
|
||||
|
||||
#endif /* __K033906_H__ */
|
||||
|
@ -57,7 +57,6 @@ Notes:
|
||||
#include "sound/okim6295.h"
|
||||
#include "includes/dbz.h"
|
||||
#include "video/konicdev.h"
|
||||
#include "machine/k053252.h"
|
||||
|
||||
|
||||
|
||||
@ -128,7 +127,7 @@ static ADDRESS_MAP_START( dbz_map, AS_PROGRAM, 16, dbz_state )
|
||||
AM_RANGE(0x4ec000, 0x4ec001) AM_WRITE(dbzcontrol_w)
|
||||
AM_RANGE(0x4f0000, 0x4f0001) AM_WRITE(dbz_sound_command_w)
|
||||
AM_RANGE(0x4f4000, 0x4f4001) AM_WRITE(dbz_sound_cause_nmi)
|
||||
AM_RANGE(0x4f8000, 0x4f801f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0xff00) // 251 #1
|
||||
AM_RANGE(0x4f8000, 0x4f801f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) // 251 #1
|
||||
AM_RANGE(0x4fc000, 0x4fc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) // 251 #2
|
||||
|
||||
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(dbz_bg2_videoram_w) AM_SHARE("bg2_videoram")
|
||||
|
@ -84,7 +84,6 @@ Notes:
|
||||
#include "sound/k051649.h"
|
||||
#include "includes/konamipt.h"
|
||||
#include "includes/hexion.h"
|
||||
#include "machine/k053252.h"
|
||||
|
||||
|
||||
WRITE8_MEMBER(hexion_state::coincntr_w)
|
||||
@ -123,7 +122,7 @@ static ADDRESS_MAP_START( hexion_map, AS_PROGRAM, 8, hexion_state )
|
||||
AM_RANGE(0xe88a, 0xe88e) AM_DEVWRITE("k051649", k051649_device, k051649_volume_w)
|
||||
AM_RANGE(0xe88f, 0xe88f) AM_DEVWRITE("k051649", k051649_device, k051649_keyonoff_w)
|
||||
AM_RANGE(0xe8e0, 0xe8ff) AM_DEVREADWRITE("k051649", k051649_device, k051649_test_r, k051649_test_w)
|
||||
AM_RANGE(0xf000, 0xf00f) AM_DEVREADWRITE_LEGACY("k053252",k053252_r,k053252_w)
|
||||
AM_RANGE(0xf000, 0xf00f) AM_DEVREADWRITE("k053252", k053252_device, read, write)
|
||||
AM_RANGE(0xf200, 0xf200) AM_DEVWRITE("oki", okim6295_device, write)
|
||||
AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0xf401, 0xf401) AM_READ_PORT("DSW2")
|
||||
|
@ -46,7 +46,6 @@ Bucky:
|
||||
#include "sound/okim6295.h"
|
||||
#include "sound/k054539.h"
|
||||
#include "video/konicdev.h"
|
||||
#include "machine/k053252.h"
|
||||
#include "includes/konamipt.h"
|
||||
#include "includes/moo.h"
|
||||
|
||||
@ -263,7 +262,7 @@ static ADDRESS_MAP_START( moo_map, AS_PROGRAM, 16, moo_state )
|
||||
AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) /* K054338 alpha blending engine */
|
||||
AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
|
||||
AM_RANGE(0x0ce000, 0x0ce01f) AM_WRITE(moo_prot_w)
|
||||
AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff) /* CCU regs (ignored) */
|
||||
AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* CCU regs (ignored) */
|
||||
AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w)
|
||||
AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w)
|
||||
AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w)
|
||||
@ -328,7 +327,7 @@ static ADDRESS_MAP_START( bucky_map, AS_PROGRAM, 16, moo_state )
|
||||
AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) /* K054338 alpha blending engine */
|
||||
AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
|
||||
AM_RANGE(0x0ce000, 0x0ce01f) AM_WRITE(moo_prot_w)
|
||||
AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff) /* CCU regs (ignored) */
|
||||
AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* CCU regs (ignored) */
|
||||
AM_RANGE(0x0d2000, 0x0d20ff) AM_DEVREADWRITE_LEGACY("k054000", k054000_lsb_r, k054000_lsb_w)
|
||||
AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w)
|
||||
AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w)
|
||||
|
@ -24,7 +24,6 @@
|
||||
#include "emu.h"
|
||||
#include "video/konamiic.h"
|
||||
#include "video/k053250.h"
|
||||
#include "machine/k053252.h"
|
||||
#include "includes/konamigx.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
@ -266,7 +265,7 @@ static ADDRESS_MAP_START( mystwarr_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x498014, 0x498015) AM_READ(sound_status_r)
|
||||
AM_RANGE(0x498000, 0x49801f) AM_RAM
|
||||
AM_RANGE(0x49a000, 0x49a001) AM_WRITE(sound_irq_w)
|
||||
AM_RANGE(0x49c000, 0x49c01f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff)
|
||||
AM_RANGE(0x49c000, 0x49c01f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x49e000, 0x49e007) AM_WRITE(irq_ack_w) // VSCCS (custom)
|
||||
AM_RANGE(0x600000, 0x601fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w)
|
||||
AM_RANGE(0x602000, 0x603fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read(essential)
|
||||
@ -294,7 +293,7 @@ static ADDRESS_MAP_START( metamrph_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x250000, 0x25000f) AM_DEVREADWRITE("k053250_1", k053250_device, reg_r, reg_w)
|
||||
AM_RANGE(0x254000, 0x25401f) AM_WRITE_LEGACY(K054338_word_w)
|
||||
AM_RANGE(0x258000, 0x2580ff) AM_WRITE_LEGACY(K055555_word_w)
|
||||
AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff)
|
||||
AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x264000, 0x264001) AM_WRITE(sound_irq_w)
|
||||
AM_RANGE(0x26800c, 0x26800d) AM_WRITE(sound_cmd1_w)
|
||||
AM_RANGE(0x26800e, 0x26800f) AM_WRITE(sound_cmd2_w)
|
||||
@ -337,7 +336,7 @@ static ADDRESS_MAP_START( viostorm_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x254000, 0x25401f) AM_WRITE_LEGACY(K054338_word_w)
|
||||
AM_RANGE(0x258000, 0x2580ff) AM_WRITE_LEGACY(K055555_word_w)
|
||||
AM_RANGE(0x25c000, 0x25c03f) AM_READWRITE(K055550_word_r,K055550_word_w)
|
||||
AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff)
|
||||
AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x264000, 0x264001) AM_WRITE(sound_irq_w)
|
||||
AM_RANGE(0x26800c, 0x26800d) AM_WRITE(sound_cmd1_w)
|
||||
AM_RANGE(0x26800e, 0x26800f) AM_WRITE(sound_cmd2_w)
|
||||
@ -439,7 +438,7 @@ static ADDRESS_MAP_START( martchmp_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x41800e, 0x41800f) AM_WRITE(sound_cmd2_w)
|
||||
AM_RANGE(0x418000, 0x41801f) AM_RAM // sound regs fall through
|
||||
AM_RANGE(0x41a000, 0x41a001) AM_WRITE(sound_irq_w)
|
||||
AM_RANGE(0x41c000, 0x41c01f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff) // CCU
|
||||
AM_RANGE(0x41c000, 0x41c01f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU
|
||||
AM_RANGE(0x41e000, 0x41e007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS
|
||||
AM_RANGE(0x480000, 0x483fff) AM_READWRITE(K053247_martchmp_word_r,K053247_martchmp_word_w) AM_SHARE("spriteram") // sprite RAM
|
||||
AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram_xrgb_word_be_w) AM_SHARE("paletteram") // palette RAM
|
||||
@ -473,7 +472,7 @@ static ADDRESS_MAP_START( dadandrn_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x480000, 0x48003f) AM_WRITE_LEGACY(K056832_word_w) // VACSET
|
||||
AM_RANGE(0x482000, 0x482007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS
|
||||
AM_RANGE(0x484000, 0x484003) AM_WRITE(ddd_053936_clip_w)
|
||||
AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff)
|
||||
AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x488000, 0x4880ff) AM_WRITE_LEGACY(K055555_word_w)
|
||||
AM_RANGE(0x48a00c, 0x48a00d) AM_WRITE(sound_cmd1_msb_w)
|
||||
AM_RANGE(0x48a00e, 0x48a00f) AM_WRITE(sound_cmd2_msb_w)
|
||||
@ -520,7 +519,7 @@ static ADDRESS_MAP_START( gaiapols_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x480000, 0x48003f) AM_WRITE_LEGACY(K056832_word_w) // VACSET
|
||||
AM_RANGE(0x482000, 0x482007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS
|
||||
AM_RANGE(0x484000, 0x484003) AM_WRITE(ddd_053936_clip_w)
|
||||
AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff)
|
||||
AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff)
|
||||
AM_RANGE(0x488000, 0x4880ff) AM_WRITE_LEGACY(K055555_word_w)
|
||||
AM_RANGE(0x48a00c, 0x48a00d) AM_WRITE(sound_cmd1_msb_w)
|
||||
AM_RANGE(0x48a00e, 0x48a00f) AM_WRITE(sound_cmd2_msb_w)
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "video/konicdev.h"
|
||||
#include "video/k053250.h"
|
||||
#include "machine/k053252.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "sound/2151intf.h"
|
||||
@ -163,7 +162,7 @@ static ADDRESS_MAP_START( overdriv_master_map, AS_PROGRAM, 16, overdriv_state )
|
||||
AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("INPUTS")
|
||||
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x0e0000, 0x0e0001) AM_WRITENOP /* unknown (always 0x30) */
|
||||
AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE8_LEGACY("k053252",k053252_r,k053252_w,0x00ff) /* 053252? (LSB) */
|
||||
AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* 053252? (LSB) */
|
||||
AM_RANGE(0x140000, 0x140001) AM_WRITENOP //watchdog reset?
|
||||
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("PADDLE")
|
||||
AM_RANGE(0x1c0000, 0x1c001f) AM_DEVWRITE8_LEGACY("k051316_1", k051316_ctrl_w, 0xff00)
|
||||
|
@ -26,7 +26,6 @@ GP1 HDD data contents:
|
||||
#include "machine/ataintf.h"
|
||||
#include "sound/k054539.h"
|
||||
#include "video/konicdev.h"
|
||||
#include "machine/k053252.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "includes/qdrmfgp.h"
|
||||
|
||||
@ -280,7 +279,7 @@ static ADDRESS_MAP_START( qdrmfgp_map, AS_PROGRAM, 16, qdrmfgp_state )
|
||||
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
|
||||
AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */
|
||||
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8_LEGACY("k053252", k053252_r, k053252_w,0x00ff) /* ccu */
|
||||
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* ccu */
|
||||
AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service sw */
|
||||
AM_RANGE(0x340000, 0x340001) AM_READ_PORT("340000") /* inputport */
|
||||
AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* unknown */
|
||||
@ -303,7 +302,7 @@ static ADDRESS_MAP_START( qdrmfgp2_map, AS_PROGRAM, 16, qdrmfgp_state )
|
||||
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
|
||||
AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */
|
||||
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8_LEGACY("k053252", k053252_r, k053252_w,0xff00) /* ccu */
|
||||
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) /* ccu */
|
||||
AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service */
|
||||
AM_RANGE(0x340000, 0x340001) AM_READ_PORT("340000") /* inputport */
|
||||
AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* unknown */
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "video/konicdev.h"
|
||||
#include "machine/k053252.h"
|
||||
#include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */
|
||||
#include "sound/3812intf.h"
|
||||
#include "sound/k053260.h"
|
||||
@ -93,7 +92,7 @@ static ADDRESS_MAP_START( rollerg_map, AS_PROGRAM, 8, rollerg_state )
|
||||
AM_RANGE(0x0053, 0x0053) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x0060, 0x0060) AM_READ_PORT("DSW2")
|
||||
AM_RANGE(0x0061, 0x0061) AM_READ(pip_r) /* ????? */
|
||||
AM_RANGE(0x0100, 0x010f) AM_DEVREADWRITE_LEGACY("k053252",k053252_r,k053252_w) /* 053252? */
|
||||
AM_RANGE(0x0100, 0x010f) AM_DEVREADWRITE("k053252", k053252_device, read, write) /* 053252? */
|
||||
AM_RANGE(0x0200, 0x020f) AM_DEVWRITE_LEGACY("k051316", k051316_ctrl_w)
|
||||
AM_RANGE(0x0300, 0x030f) AM_DEVREADWRITE_LEGACY("k053244", k053244_r, k053244_w)
|
||||
AM_RANGE(0x0800, 0x0fff) AM_READ(rollerg_k051316_r) AM_DEVWRITE_LEGACY("k051316", k051316_w)
|
||||
|
@ -43,7 +43,6 @@
|
||||
#include "emu.h"
|
||||
|
||||
#include "video/konicdev.h"
|
||||
#include "machine/k053252.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/eeprom.h"
|
||||
@ -180,7 +179,7 @@ static ADDRESS_MAP_START( rungun_map, AS_PROGRAM, 16, rungun_state )
|
||||
AM_RANGE(0x380000, 0x39ffff) AM_RAM // work RAM
|
||||
AM_RANGE(0x400000, 0x43ffff) AM_READNOP // AM_READ(K053936_0_rom_r ) // '936 ROM readback window
|
||||
AM_RANGE(0x480000, 0x48001f) AM_READWRITE(rng_sysregs_r, rng_sysregs_w) AM_SHARE("sysreg")
|
||||
AM_RANGE(0x4c0000, 0x4c001f) AM_DEVREADWRITE8_LEGACY("k053252", k053252_r, k053252_w,0x00ff) // CCU (for scanline and vblank polling)
|
||||
AM_RANGE(0x4c0000, 0x4c001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU (for scanline and vblank polling)
|
||||
AM_RANGE(0x540000, 0x540001) AM_WRITE(sound_irq_w)
|
||||
AM_RANGE(0x58000c, 0x58000d) AM_WRITE(sound_cmd1_w)
|
||||
AM_RANGE(0x58000e, 0x58000f) AM_WRITE(sound_cmd2_w)
|
||||
|
@ -89,7 +89,6 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "video/konicdev.h"
|
||||
#include "machine/k053252.h"
|
||||
#include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */
|
||||
#include "machine/eeprom.h"
|
||||
#include "sound/2151intf.h"
|
||||
@ -266,7 +265,7 @@ static ADDRESS_MAP_START( esckids_map, AS_PROGRAM, 8, vendetta_state )
|
||||
AM_RANGE(0x3f93, 0x3f93) AM_READ_PORT("SERVICE")
|
||||
AM_RANGE(0x3fa0, 0x3fa7) AM_DEVWRITE_LEGACY("k053246", k053246_w) // 053246 (Sprite)
|
||||
AM_RANGE(0x3fb0, 0x3fbf) AM_DEVWRITE_LEGACY("k053251", k053251_w) // 053251 (Priority Encoder)
|
||||
AM_RANGE(0x3fc0, 0x3fcf) AM_DEVREADWRITE_LEGACY("k053252",k053252_r,k053252_w) // Not Emulated (053252 ???)
|
||||
AM_RANGE(0x3fc0, 0x3fcf) AM_DEVREADWRITE("k053252", k053252_device, read, write) // Not Emulated (053252 ???)
|
||||
AM_RANGE(0x3fd0, 0x3fd0) AM_WRITE(vendetta_5fe0_w) // Coin Counter, 052109 RMRD, 053246 OBJCHA
|
||||
AM_RANGE(0x3fd2, 0x3fd2) AM_WRITE(vendetta_eeprom_w) // EEPROM, Video banking
|
||||
AM_RANGE(0x3fd4, 0x3fd4) AM_READWRITE(vendetta_sound_interrupt_r, z80_irq_w) // Sound
|
||||
|
@ -318,7 +318,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xexex_state )
|
||||
AM_RANGE(0x0c8000, 0x0c800f) AM_DEVREADWRITE("k053250", k053250_device, reg_r, reg_w)
|
||||
AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) // CLTC
|
||||
AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) // priority encoder
|
||||
// AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8_LEGACY("k053252", k053252_r,k053252_w,0x00ff) // CCU
|
||||
// AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU
|
||||
AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w)
|
||||
AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w)
|
||||
AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w)
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
*************************************************************************/
|
||||
#include "video/konicdev.h"
|
||||
#include "machine/k053252.h"
|
||||
|
||||
class dbz_state : public driver_device
|
||||
{
|
||||
@ -16,6 +17,7 @@ public:
|
||||
m_audiocpu(*this, "audiocpu"),
|
||||
m_k053246(*this, "k053246"),
|
||||
m_k053251(*this, "k053251"),
|
||||
m_k053252(*this, "k053252"),
|
||||
m_k056832(*this, "k056832"),
|
||||
m_k053936_1(*this, "k053936_1"),
|
||||
m_k053936_2(*this, "k053936_2") { }
|
||||
@ -40,6 +42,7 @@ public:
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
required_device<k053247_device> m_k053246;
|
||||
required_device<k053251_device> m_k053251;
|
||||
required_device<k053252_device> m_k053252;
|
||||
required_device<k056832_device> m_k056832;
|
||||
required_device<k053936_device> m_k053936_1;
|
||||
required_device<k053936_device> m_k053936_2;
|
||||
|
@ -1,10 +1,16 @@
|
||||
#include "machine/k053252.h"
|
||||
|
||||
class hexion_state : public driver_device
|
||||
{
|
||||
public:
|
||||
hexion_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag) ,
|
||||
m_maincpu(*this, "maincpu") { }
|
||||
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_k053252(*this, "k053252")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<k053252_device> m_k053252;
|
||||
UINT8 *m_vram[2];
|
||||
UINT8 *m_unkram;
|
||||
int m_bankctrl;
|
||||
@ -26,5 +32,4 @@ public:
|
||||
UINT32 screen_update_hexion(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(hexion_scanline);
|
||||
inline void get_tile_info(tile_data &tileinfo,int tile_index,UINT8 *ram);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
};
|
||||
|
@ -5,6 +5,7 @@
|
||||
*************************************************************************/
|
||||
#include "sound/okim6295.h"
|
||||
#include "sound/k054539.h"
|
||||
#include "machine/k053252.h"
|
||||
|
||||
class moo_state : public driver_device
|
||||
{
|
||||
@ -19,6 +20,7 @@ public:
|
||||
m_k054539(*this, "k054539"),
|
||||
m_k053246(*this, "k053246"),
|
||||
m_k053251(*this, "k053251"),
|
||||
m_k053252(*this, "k053252"),
|
||||
m_k056832(*this, "k056832"),
|
||||
m_k054338(*this, "k054338") { }
|
||||
|
||||
@ -45,6 +47,7 @@ public:
|
||||
optional_device<k054539_device> m_k054539;
|
||||
required_device<k053247_device> m_k053246;
|
||||
required_device<k053251_device> m_k053251;
|
||||
optional_device<k053252_device> m_k053252;
|
||||
required_device<k056832_device> m_k056832;
|
||||
required_device<k054338_device> m_k054338;
|
||||
|
||||
|
@ -1,15 +1,21 @@
|
||||
#include "sound/k054539.h"
|
||||
#include "machine/k053252.h"
|
||||
|
||||
class mystwarr_state : public konamigx_state
|
||||
{
|
||||
public:
|
||||
mystwarr_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: konamigx_state(mconfig, type, tag),
|
||||
m_maincpu(*this,"maincpu"),
|
||||
m_k053252(*this, "k053252"),
|
||||
m_gx_workram(*this,"gx_workram"),
|
||||
m_spriteram(*this,"spriteram"),
|
||||
m_maincpu(*this,"maincpu") { }
|
||||
m_spriteram(*this,"spriteram")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<k053252_device> m_k053252;
|
||||
required_shared_ptr<UINT16> m_gx_workram;
|
||||
optional_shared_ptr<UINT16> m_spriteram;
|
||||
UINT8 m_mw_irq_control;
|
||||
int m_cur_sound_region;
|
||||
int m_layer_colorbase[6];
|
||||
@ -23,9 +29,7 @@ public:
|
||||
int m_roz_rombank;
|
||||
tilemap_t *m_ult_936_tilemap;
|
||||
UINT16 m_clip;
|
||||
optional_shared_ptr<UINT16> m_spriteram;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
|
||||
DECLARE_READ16_MEMBER(eeprom_r);
|
||||
DECLARE_WRITE16_MEMBER(mweeprom_w);
|
||||
DECLARE_READ16_MEMBER(dddeeprom_r);
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
*************************************************************************/
|
||||
#include "sound/k053260.h"
|
||||
#include "machine/k053252.h"
|
||||
|
||||
class overdriv_state : public driver_device
|
||||
{
|
||||
@ -18,7 +19,8 @@ public:
|
||||
m_k051316_1(*this, "k051316_1"),
|
||||
m_k051316_2(*this, "k051316_2"),
|
||||
m_k053246(*this, "k053246"),
|
||||
m_k053251(*this, "k053251") { }
|
||||
m_k053251(*this, "k053251"),
|
||||
m_k053252(*this, "k053252"){ }
|
||||
|
||||
/* memory pointers */
|
||||
// UINT16 * m_paletteram; // currently this uses generic palette handling
|
||||
@ -41,6 +43,7 @@ public:
|
||||
required_device<k051316_device> m_k051316_2;
|
||||
required_device<k053247_device> m_k053246;
|
||||
required_device<k053251_device> m_k053251;
|
||||
required_device<k053252_device> m_k053252;
|
||||
DECLARE_WRITE16_MEMBER(eeprom_w);
|
||||
DECLARE_WRITE16_MEMBER(cpuA_ctrl_w);
|
||||
DECLARE_READ16_MEMBER(cpuB_ctrl_r);
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "machine/ataintf.h"
|
||||
#include "sound/k054539.h"
|
||||
#include "machine/k053252.h"
|
||||
|
||||
class qdrmfgp_state : public driver_device
|
||||
{
|
||||
@ -11,6 +12,7 @@ public:
|
||||
m_workram(*this, "workram"),
|
||||
m_k056832(*this, "k056832"),
|
||||
m_k054539(*this, "k054539"),
|
||||
m_k053252(*this, "k053252"),
|
||||
m_ata(*this, "ata")
|
||||
{
|
||||
}
|
||||
@ -21,6 +23,7 @@ public:
|
||||
required_shared_ptr<UINT16> m_workram;
|
||||
required_device<k056832_device> m_k056832;
|
||||
required_device<k054539_device> m_k054539;
|
||||
required_device<k053252_device> m_k053252;
|
||||
required_device<ata_interface_device> m_ata;
|
||||
UINT16 m_control;
|
||||
INT32 m_gp2_irq_control;
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
*************************************************************************/
|
||||
#include "sound/k053260.h"
|
||||
#include "machine/k053252.h"
|
||||
|
||||
class rollerg_state : public driver_device
|
||||
{
|
||||
@ -19,7 +20,9 @@ public:
|
||||
m_audiocpu(*this, "audiocpu"),
|
||||
m_k053260(*this, "k053260"),
|
||||
m_k053244(*this, "k053244"),
|
||||
m_k051316(*this, "k051316") { }
|
||||
m_k051316(*this, "k051316"),
|
||||
m_k053252(*this, "k053252")
|
||||
{ }
|
||||
|
||||
/* memory pointers */
|
||||
// UINT8 * m_paletteram; // currently this uses generic palette handling
|
||||
@ -37,6 +40,7 @@ public:
|
||||
required_device<k053260_device> m_k053260;
|
||||
required_device<k05324x_device> m_k053244;
|
||||
required_device<k051316_device> m_k051316;
|
||||
required_device<k053252_device> m_k053252;
|
||||
DECLARE_WRITE8_MEMBER(rollerg_0010_w);
|
||||
DECLARE_READ8_MEMBER(rollerg_k051316_r);
|
||||
DECLARE_WRITE8_MEMBER(soundirq_w);
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
*************************************************************************/
|
||||
#include "sound/k053260.h"
|
||||
#include "machine/k053252.h"
|
||||
|
||||
class vendetta_state : public driver_device
|
||||
{
|
||||
@ -21,6 +22,7 @@ public:
|
||||
m_k052109(*this, "k052109"),
|
||||
m_k053246(*this, "k053246"),
|
||||
m_k053251(*this, "k053251"),
|
||||
m_k053252(*this, "k053252"),
|
||||
m_k054000(*this, "k054000") { }
|
||||
|
||||
/* memory pointers */
|
||||
@ -43,6 +45,7 @@ public:
|
||||
required_device<k052109_device> m_k052109;
|
||||
required_device<k053247_device> m_k053246;
|
||||
required_device<k053251_device> m_k053251;
|
||||
optional_device<k053252_device> m_k053252;
|
||||
optional_device<k054000_device> m_k054000;
|
||||
DECLARE_WRITE8_MEMBER(vendetta_eeprom_w);
|
||||
DECLARE_READ8_MEMBER(vendetta_K052109_r);
|
||||
|
Loading…
Reference in New Issue
Block a user