Added i8749 CPU type for MESS.
This commit is contained in:
parent
aad4c81ac4
commit
1424fce298
@ -524,17 +524,18 @@ $(CPUOBJ)/i8085/i8085.o: $(CPUSRC)/i8085/i8085.c \
|
|||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
# Intel 8039 and derivatives
|
# Intel MCS-48 (8039 and derivatives)
|
||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
|
||||||
CPUDEFS += -DHAS_I8035=$(if $(filter I8035,$(CPUS)),1,0)
|
CPUDEFS += -DHAS_I8035=$(if $(filter I8035,$(CPUS)),1,0)
|
||||||
CPUDEFS += -DHAS_I8039=$(if $(filter I8039,$(CPUS)),1,0)
|
CPUDEFS += -DHAS_I8039=$(if $(filter I8039,$(CPUS)),1,0)
|
||||||
CPUDEFS += -DHAS_I8048=$(if $(filter I8048,$(CPUS)),1,0)
|
CPUDEFS += -DHAS_I8048=$(if $(filter I8048,$(CPUS)),1,0)
|
||||||
|
CPUDEFS += -DHAS_I8749=$(if $(filter I8749,$(CPUS)),1,0)
|
||||||
CPUDEFS += -DHAS_N7751=$(if $(filter N7751,$(CPUS)),1,0)
|
CPUDEFS += -DHAS_N7751=$(if $(filter N7751,$(CPUS)),1,0)
|
||||||
CPUDEFS += -DHAS_MB8884=$(if $(filter MB8884,$(CPUS)),1,0)
|
CPUDEFS += -DHAS_MB8884=$(if $(filter MB8884,$(CPUS)),1,0)
|
||||||
CPUDEFS += -DHAS_M58715=$(if $(filter M58715,$(CPUS)),1,0)
|
CPUDEFS += -DHAS_M58715=$(if $(filter M58715,$(CPUS)),1,0)
|
||||||
|
|
||||||
ifneq ($(filter I8035 I8039 I8048 N7751 MB8884 M58715,$(CPUS)),)
|
ifneq ($(filter I8035 I8039 I8048 I8749 N7751 MB8884 M58715,$(CPUS)),)
|
||||||
OBJDIRS += $(CPUOBJ)/i8039
|
OBJDIRS += $(CPUOBJ)/i8039
|
||||||
CPUOBJS += $(CPUOBJ)/i8039/i8039.o
|
CPUOBJS += $(CPUOBJ)/i8039/i8039.o
|
||||||
DBGOBJS += $(CPUOBJ)/i8039/8039dasm.o
|
DBGOBJS += $(CPUOBJ)/i8039/8039dasm.o
|
||||||
|
@ -629,6 +629,16 @@ static void i8035_init (int index, int clock, const void *config, int (*irqcallb
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (HAS_I8749)
|
||||||
|
static void i8749_init (int index, int clock, const void *config, int (*irqcallback)(int))
|
||||||
|
{
|
||||||
|
i8039_init(index, clock, config, irqcallback);
|
||||||
|
|
||||||
|
R.ram_mask = 0x7f;
|
||||||
|
R.int_rom_size = 0x800;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if (HAS_M58715)
|
#if (HAS_M58715)
|
||||||
static void m58715_init (int index, int clock, const void *config, int (*irqcallback)(int))
|
static void m58715_init (int index, int clock, const void *config, int (*irqcallback)(int))
|
||||||
{
|
{
|
||||||
@ -1024,6 +1034,22 @@ void i8048_get_info(UINT32 state, cpuinfo *info)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (HAS_I8749)
|
||||||
|
/**************************************************************************
|
||||||
|
* CPU-specific get_info/set_info
|
||||||
|
**************************************************************************/
|
||||||
|
void i8749_get_info(UINT32 state, cpuinfo *info)
|
||||||
|
{
|
||||||
|
switch (state)
|
||||||
|
{
|
||||||
|
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
||||||
|
case CPUINFO_STR_NAME: strcpy(info->s, "I8749"); break;
|
||||||
|
case CPUINFO_PTR_INIT: info->init = i8749_init; break;
|
||||||
|
|
||||||
|
default: i8039_get_info(state, info); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if (HAS_N7751)
|
#if (HAS_N7751)
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@ -102,6 +102,31 @@ extern void i8035_get_info(UINT32 state, cpuinfo *info);
|
|||||||
extern void i8048_get_info(UINT32 state, cpuinfo *info);
|
extern void i8048_get_info(UINT32 state, cpuinfo *info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* I8749 section
|
||||||
|
**************************************************************************/
|
||||||
|
#if (HAS_I8749)
|
||||||
|
#define I8749_PC I8039_PC
|
||||||
|
#define I8749_SP I8039_SP
|
||||||
|
#define I8749_PSW I8039_PSW
|
||||||
|
#define I8749_A I8039_A
|
||||||
|
#define I8749_TC I8039_TC
|
||||||
|
#define I8749_P1 I8039_P1
|
||||||
|
#define I8749_P2 I8039_P2
|
||||||
|
#define I8749_R0 I8039_R0
|
||||||
|
#define I8749_R1 I8039_R1
|
||||||
|
#define I8749_R2 I8039_R2
|
||||||
|
#define I8749_R3 I8039_R3
|
||||||
|
#define I8749_R4 I8039_R4
|
||||||
|
#define I8749_R5 I8039_R5
|
||||||
|
#define I8749_R6 I8039_R6
|
||||||
|
#define I8749_R7 I8039_R7
|
||||||
|
|
||||||
|
#define i8749_ICount i8039_ICount
|
||||||
|
|
||||||
|
extern void i8749_get_info(UINT32 state, cpuinfo *info);
|
||||||
|
#endif
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* N7751 section
|
* N7751 section
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
@ -79,6 +79,7 @@ enum _cpu_type
|
|||||||
CPU_I8035,
|
CPU_I8035,
|
||||||
CPU_I8039,
|
CPU_I8039,
|
||||||
CPU_I8048,
|
CPU_I8048,
|
||||||
|
CPU_I8749,
|
||||||
CPU_N7751,
|
CPU_N7751,
|
||||||
CPU_MB8884,
|
CPU_MB8884,
|
||||||
CPU_M58715,
|
CPU_M58715,
|
||||||
|
@ -52,6 +52,7 @@ void v70_get_info(UINT32 state, cpuinfo *info);
|
|||||||
void i8035_get_info(UINT32 state, cpuinfo *info);
|
void i8035_get_info(UINT32 state, cpuinfo *info);
|
||||||
void i8039_get_info(UINT32 state, cpuinfo *info);
|
void i8039_get_info(UINT32 state, cpuinfo *info);
|
||||||
void i8048_get_info(UINT32 state, cpuinfo *info);
|
void i8048_get_info(UINT32 state, cpuinfo *info);
|
||||||
|
void i8749_get_info(UINT32 state, cpuinfo *info);
|
||||||
void n7751_get_info(UINT32 state, cpuinfo *info);
|
void n7751_get_info(UINT32 state, cpuinfo *info);
|
||||||
void mb8884_get_info(UINT32 state, cpuinfo *info);
|
void mb8884_get_info(UINT32 state, cpuinfo *info);
|
||||||
void m58715_get_info(UINT32 state, cpuinfo *info);
|
void m58715_get_info(UINT32 state, cpuinfo *info);
|
||||||
@ -369,6 +370,9 @@ static const struct
|
|||||||
#if (HAS_I8048)
|
#if (HAS_I8048)
|
||||||
{ CPU_I8048, i8048_get_info },
|
{ CPU_I8048, i8048_get_info },
|
||||||
#endif
|
#endif
|
||||||
|
#if (HAS_I8749)
|
||||||
|
{ CPU_I8749, i8749_get_info },
|
||||||
|
#endif
|
||||||
#if (HAS_N7751)
|
#if (HAS_N7751)
|
||||||
{ CPU_N7751, n7751_get_info },
|
{ CPU_N7751, n7751_get_info },
|
||||||
#endif
|
#endif
|
||||||
|
@ -65,6 +65,7 @@ CPUS += V70
|
|||||||
CPUS += I8035
|
CPUS += I8035
|
||||||
CPUS += I8039
|
CPUS += I8039
|
||||||
CPUS += I8048
|
CPUS += I8048
|
||||||
|
CPUS += I8749
|
||||||
CPUS += N7751
|
CPUS += N7751
|
||||||
CPUS += MB8884
|
CPUS += MB8884
|
||||||
CPUS += M58715
|
CPUS += M58715
|
||||||
|
Loading…
Reference in New Issue
Block a user