mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
Hooked up DSP/GPU interrupt to tom that was missed when modernizing jaguar core in r24736. Fixes Area 51 issue mentioned in mametesters 05256, but 0.149u1 was released before the modernizing and maxf_ng still has the problem mentioned in the bug report. [smf]
This commit is contained in:
parent
d0406ad5e0
commit
7206ae51d0
@ -70,17 +70,11 @@ enum
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
CONFIGURATION STRUCTURE
|
||||
CONFIGURATION
|
||||
***************************************************************************/
|
||||
|
||||
typedef void (*jaguar_int_func)(device_t *device);
|
||||
|
||||
|
||||
struct jaguar_cpu_config
|
||||
{
|
||||
jaguar_int_func cpu_int_callback;
|
||||
};
|
||||
|
||||
#define MCFG_JAGUAR_IRQ_HANDLER(_devcb) \
|
||||
devcb = &jaguar_cpu_device::set_int_func(*device, DEVCB2_##_devcb);
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -1530,17 +1530,6 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const jaguar_cpu_config gpu_config =
|
||||
{
|
||||
&jaguar_state::gpu_cpu_int
|
||||
};
|
||||
|
||||
|
||||
static const jaguar_cpu_config dsp_config =
|
||||
{
|
||||
&jaguar_state::dsp_cpu_int
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( cojagr3k, jaguar_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -1549,11 +1538,11 @@ static MACHINE_CONFIG_START( cojagr3k, jaguar_state )
|
||||
MCFG_CPU_PROGRAM_MAP(r3000_map)
|
||||
|
||||
MCFG_CPU_ADD("gpu", JAGUARGPU, COJAG_CLOCK/2)
|
||||
MCFG_CPU_CONFIG(gpu_config)
|
||||
MCFG_JAGUAR_IRQ_HANDLER(WRITELINE(jaguar_state, gpu_cpu_int))
|
||||
MCFG_CPU_PROGRAM_MAP(gpu_map)
|
||||
|
||||
MCFG_CPU_ADD("dsp", JAGUARDSP, COJAG_CLOCK/2)
|
||||
MCFG_CPU_CONFIG(dsp_config)
|
||||
MCFG_JAGUAR_IRQ_HANDLER(WRITELINE(jaguar_state, dsp_cpu_int))
|
||||
MCFG_CPU_PROGRAM_MAP(dsp_map)
|
||||
|
||||
MCFG_NVRAM_ADD_1FILL("nvram")
|
||||
@ -1598,11 +1587,11 @@ static MACHINE_CONFIG_START( jaguar, jaguar_state )
|
||||
MCFG_CPU_PROGRAM_MAP(jaguar_map)
|
||||
|
||||
MCFG_CPU_ADD("gpu", JAGUARGPU, JAGUAR_CLOCK)
|
||||
MCFG_CPU_CONFIG(gpu_config)
|
||||
MCFG_JAGUAR_IRQ_HANDLER(WRITELINE(jaguar_state, gpu_cpu_int))
|
||||
MCFG_CPU_PROGRAM_MAP(jag_gpu_map)
|
||||
|
||||
MCFG_CPU_ADD("dsp", JAGUARDSP, JAGUAR_CLOCK)
|
||||
MCFG_CPU_CONFIG(dsp_config)
|
||||
MCFG_JAGUAR_IRQ_HANDLER(WRITELINE(jaguar_state, dsp_cpu_int))
|
||||
MCFG_CPU_PROGRAM_MAP(jag_dsp_map)
|
||||
|
||||
// MCFG_NVRAM_HANDLER(jaguar)
|
||||
|
@ -216,8 +216,8 @@ public:
|
||||
DECLARE_READ32_MEMBER( cojag_gun_input_r );
|
||||
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
static void gpu_cpu_int(device_t *device);
|
||||
static void dsp_cpu_int(device_t *device);
|
||||
DECLARE_WRITE_LINE_MEMBER( gpu_cpu_int );
|
||||
DECLARE_WRITE_LINE_MEMBER( dsp_cpu_int );
|
||||
DECLARE_WRITE_LINE_MEMBER( external_int );
|
||||
|
||||
int quickload(device_image_interface &image, const char *file_type, int quickload_size);
|
||||
|
@ -276,18 +276,16 @@ void jaguar_state::update_cpu_irq()
|
||||
}
|
||||
|
||||
|
||||
void jaguar_state::gpu_cpu_int(device_t *device)
|
||||
WRITE_LINE_MEMBER( jaguar_state::gpu_cpu_int )
|
||||
{
|
||||
jaguar_state &state = *device->machine().driver_data<jaguar_state>();
|
||||
state.m_cpu_irq_state |= 2;
|
||||
state.update_cpu_irq();
|
||||
m_cpu_irq_state |= 2;
|
||||
update_cpu_irq();
|
||||
}
|
||||
|
||||
void jaguar_state::dsp_cpu_int(device_t *device)
|
||||
WRITE_LINE_MEMBER( jaguar_state::dsp_cpu_int )
|
||||
{
|
||||
jaguar_state &state = *device->machine().driver_data<jaguar_state>();
|
||||
state.m_cpu_irq_state |= 16;
|
||||
state.update_cpu_irq();
|
||||
m_cpu_irq_state |= 16;
|
||||
update_cpu_irq();
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user