mirror of
https://github.com/holub/mame
synced 2025-07-04 09:28:51 +03:00
Added very basic SCC68070 implementation, currently is just a basic m68k with 32-bits of address lines.
The plan is to add the on-chip peripherals on the magicard.c driver then, when I get some consistency, hardwire it to the cpu core. Please check this modification asap (should be fine, but I haven't compiled with a clean build)
This commit is contained in:
parent
fa2917a857
commit
66ff5a084a
@ -27,7 +27,8 @@ enum
|
||||
M68K_CPU_TYPE_68EC020,
|
||||
M68K_CPU_TYPE_68020,
|
||||
M68K_CPU_TYPE_68030, /* Supported by disassembler ONLY */
|
||||
M68K_CPU_TYPE_68040 /* Supported by disassembler ONLY */
|
||||
M68K_CPU_TYPE_68040,
|
||||
M68K_CPU_TYPE_SCC68070
|
||||
};
|
||||
|
||||
|
||||
@ -75,6 +76,8 @@ CPU_GET_INFO( m68ec020 );
|
||||
CPU_GET_INFO( m68020 );
|
||||
CPU_GET_INFO( m68040 );
|
||||
|
||||
CPU_GET_INFO( scc68070 );
|
||||
|
||||
#define CPU_M68000 CPU_GET_INFO_NAME( m68000 )
|
||||
#define CPU_M68008 CPU_GET_INFO_NAME( m68008 )
|
||||
#define CPU_M68010 CPU_GET_INFO_NAME( m68010 )
|
||||
@ -82,6 +85,8 @@ CPU_GET_INFO( m68040 );
|
||||
#define CPU_M68020 CPU_GET_INFO_NAME( m68020 )
|
||||
#define CPU_M68040 CPU_GET_INFO_NAME( m68040 )
|
||||
|
||||
#define CPU_SCC68070 CPU_GET_INFO_NAME( scc68070 )
|
||||
|
||||
void m68k_set_encrypted_opcode_range(const device_config *device, offs_t start, offs_t end);
|
||||
|
||||
unsigned int m68k_disassemble_raw(char* str_buff, unsigned int pc, const unsigned char* opdata, const unsigned char* argdata, unsigned int cpu_type);
|
||||
|
@ -484,7 +484,8 @@ INLINE m68ki_cpu_core *get_safe_token(const device_config *device)
|
||||
cpu_get_type(device) == CPU_M68010 ||
|
||||
cpu_get_type(device) == CPU_M68EC020 ||
|
||||
cpu_get_type(device) == CPU_M68020 ||
|
||||
cpu_get_type(device) == CPU_M68040);
|
||||
cpu_get_type(device) == CPU_M68040 ||
|
||||
cpu_get_type(device) == CPU_SCC68070);
|
||||
return (m68ki_cpu_core *)device->token;
|
||||
}
|
||||
|
||||
@ -1334,3 +1335,25 @@ CPU_GET_INFO( m68040 )
|
||||
default: CPU_GET_INFO_CALL(m68k); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* SCC-68070 section
|
||||
****************************************************************************/
|
||||
|
||||
CPU_GET_INFO( scc68070 )
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
/* --- the following bits of info are returned as 64-bit signed integers --- */
|
||||
case CPUINFO_INT_ADDRBUS_WIDTH_PROGRAM: info->i = 32; break;
|
||||
|
||||
/* --- the following bits of info are returned as pointers to data or functions --- */
|
||||
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(m68000); break; //todo
|
||||
|
||||
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
||||
case CPUINFO_STR_NAME: strcpy(info->s, "SCC68070"); break;
|
||||
|
||||
default: CPU_GET_INFO_CALL(m68k); break;
|
||||
}
|
||||
}
|
||||
|
@ -416,7 +416,7 @@ static INTERRUPT_GEN( magicard_irq )
|
||||
}
|
||||
|
||||
static MACHINE_DRIVER_START( magicard )
|
||||
MDRV_CPU_ADD("maincpu", M68000, CLOCK_A/2) /* SCC-68070 CCA84 datasheet */
|
||||
MDRV_CPU_ADD("maincpu", SCC68070, CLOCK_A/2) /* SCC-68070 CCA84 datasheet */
|
||||
MDRV_CPU_PROGRAM_MAP(magicard_mem)
|
||||
MDRV_CPU_VBLANK_INT("screen", magicard_irq) /* no interrupts? (it erases the vectors..) */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user