mirror of
https://github.com/holub/mame
synced 2025-05-21 21:29:15 +03:00
Placeholder for the Zilog Z8001 CPU core
This commit is contained in:
parent
82293e597c
commit
3f3cf7748d
@ -367,7 +367,15 @@ static CPU_RESET( z8000 )
|
||||
cpustate->program = device->space(AS_PROGRAM);
|
||||
cpustate->io = device->space(AS_IO);
|
||||
cpustate->fcw = RDMEM_W(cpustate, 2); /* get reset cpustate->fcw */
|
||||
cpustate->pc = RDMEM_W(cpustate, 4); /* get reset cpustate->pc */
|
||||
if(cpustate->fcw & F_SEG)
|
||||
{
|
||||
//cpustate->seg_pc = RDMEM_W(cpustate, 4);
|
||||
cpustate->pc = RDMEM_W(cpustate, 6);
|
||||
}
|
||||
else
|
||||
{
|
||||
cpustate->pc = RDMEM_W(cpustate, 4); /* get reset cpustate->pc */
|
||||
}
|
||||
}
|
||||
|
||||
static CPU_EXIT( z8000 )
|
||||
@ -468,7 +476,7 @@ static void set_irq_line(z8000_state *cpustate, int irqline, int state)
|
||||
* Generic set_info
|
||||
**************************************************************************/
|
||||
|
||||
static CPU_SET_INFO( z8000 )
|
||||
static CPU_SET_INFO( z8002 )
|
||||
{
|
||||
z8000_state *cpustate = get_safe_token(device);
|
||||
|
||||
@ -514,7 +522,7 @@ static CPU_SET_INFO( z8000 )
|
||||
* Generic get_info
|
||||
**************************************************************************/
|
||||
|
||||
CPU_GET_INFO( z8000 )
|
||||
CPU_GET_INFO( z8002 )
|
||||
{
|
||||
z8000_state *cpustate = (device != NULL && device->token != NULL) ? get_safe_token(device) : NULL;
|
||||
|
||||
@ -576,7 +584,7 @@ CPU_GET_INFO( z8000 )
|
||||
case CPUINFO_INT_REGISTER + Z8000_R15: info->i = cpustate->RW(15); break;
|
||||
|
||||
/* --- the following bits of info are returned as pointers to data or functions --- */
|
||||
case CPUINFO_FCT_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(z8000); break;
|
||||
case CPUINFO_FCT_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(z8002); break;
|
||||
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(z8000); break;
|
||||
case CPUINFO_FCT_RESET: info->reset = CPU_RESET_NAME(z8000); break;
|
||||
case CPUINFO_FCT_EXIT: info->exit = CPU_EXIT_NAME(z8000); break;
|
||||
@ -638,3 +646,20 @@ CPU_GET_INFO( z8000 )
|
||||
case CPUINFO_STR_REGISTER + Z8000_R15: sprintf(info->s, "R15:%04X", cpustate->RW(15)); break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
handling for the z8001
|
||||
*/
|
||||
|
||||
CPU_GET_INFO( z8001 )
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
/* --- the following bits of info are returned as pointers to data or functions --- */
|
||||
|
||||
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "Zilog Z8001"); break;
|
||||
|
||||
default: CPU_GET_INFO_CALL(z8002); break;
|
||||
}
|
||||
}
|
||||
|
@ -24,8 +24,10 @@ enum
|
||||
#define Z8000_HALT 0x0100 /* halted flag */
|
||||
|
||||
/* PUBLIC FUNCTIONS */
|
||||
extern CPU_GET_INFO( z8000 );
|
||||
#define CPU_Z8000 CPU_GET_INFO_NAME( z8000 )
|
||||
extern CPU_GET_INFO( z8001 );
|
||||
#define CPU_Z8001 CPU_GET_INFO_NAME( z8001 )
|
||||
extern CPU_GET_INFO( z8002 );
|
||||
#define CPU_Z8002 CPU_GET_INFO_NAME( z8002 )
|
||||
|
||||
CPU_DISASSEMBLE( z8000 );
|
||||
|
||||
|
@ -922,11 +922,11 @@ static MACHINE_DRIVER_START( polepos )
|
||||
MDRV_CPU_IO_MAP(z80_io)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_assert,2) /* 64V */
|
||||
|
||||
MDRV_CPU_ADD("sub", Z8000, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("sub", Z8002, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z8002_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
|
||||
|
||||
MDRV_CPU_ADD("sub2", Z8000, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("sub2", Z8002, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z8002_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
|
||||
|
||||
@ -1005,11 +1005,11 @@ static MACHINE_DRIVER_START( topracern )
|
||||
MDRV_CPU_IO_MAP(z80_io)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_assert,2) /* 64V */
|
||||
|
||||
MDRV_CPU_ADD("sub", Z8000, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("sub", Z8002, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z8002_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
|
||||
|
||||
MDRV_CPU_ADD("sub2", Z8000, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_ADD("sub2", Z8002, 24576000/8) /* 3.072 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(z8002_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user