Ejemplo n.º 1
0
int VezInit(int nCount, unsigned int * typelist)
{
	VezCPUContext = (struct VezContext *)malloc(nCount * sizeof(struct VezContext));
	if (VezCPUContext == NULL) return 1;

	memset(VezCPUContext, 0, nCount * sizeof(struct VezContext));
	
	for(int i=0;i<nCount;i++) {
		VezCPUContext[i].reg.cpu_type = typelist[i];
		VezCPUContext[i].reg.irq_callback = VezDummyIrqCallBack;
		
		VezCPUContext[i].ReadHandler = VezDummyReadHandler;
		VezCPUContext[i].WriteHandler = VezDummyWriteHandler;
		VezCPUContext[i].ReadPort = VezDummyReadPort;
		VezCPUContext[i].WritePort = VezDummyWritePort;
	}
	
	nVezCount = nCPUCount = nCount;

	for (int i = 0; i < nCount; i++)
		CpuCheatRegister(0x0001, i);

	for (int i = 0; i < 0x10; i++) {
		nOpenedCPU = i;
		VezSetDecode(VezFakeDecode);
	}
	nOpenedCPU = -1;

	for (int i = 0; i < 0x100; i++)
		VezFakeDecode[i] = i;

	return 0;
}
Ejemplo n.º 2
0
void s2650Init(INT32 num)
{
	DebugCPU_S2650Initted = 1;
	
	s2650Count = num;
	memset (&sHandler, 0, sizeof (s2650_handler) * (num % MAX_S2650));
	s2650_init(num);

	for (INT32 i = 0; i < num; i++)
		CpuCheatRegister(i, &s2650CheatCpuConfig);
}
Ejemplo n.º 3
0
void konamiInit(int num) // only 1 cpu (No examples exist of multi-cpu konami games)
{
	nKonamiCpuCount = 1;
	konami_init(konamiDummyIrqCallback);

	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < (MEMORY_SPACE / PAGE_SIZE); j++) {
			mem[i][j] = NULL;
		}
	}

	CpuCheatRegister(0x0009, num);
}
Ejemplo n.º 4
0
void ArmInit(INT32 num ) // only one cpu supported
{
	for (INT32 i = 0; i < 3; i++) {
		membase[i] = (UINT8**)malloc(PAGE_COUNT * sizeof(UINT8**));
		memset (membase[i], 0, PAGE_COUNT * sizeof(UINT8**));
	}

	pWriteLongHandler = NULL;
	pWriteByteHandler = NULL;
	pReadLongHandler = NULL;
	pReadByteHandler = NULL;

	CpuCheatRegister(0x0b, num);

	pArmSpeedHackCallback = NULL;
	ArmSpeedHackAddress = ~0;
}
Ejemplo n.º 5
0
void m6805Init(INT32 num, INT32 max)
{
	DebugCPU_M6805Initted = 1;
	
	ADDRESS_MAX  = max;
	ADDRESS_MASK = ADDRESS_MAX - 1;
	MPAGE	     = ADDRESS_MAX / 0x100;
	MPAGE_MASK    = MPAGE - 1;
	MPAGE_SHIFT   = 0;
	for (MPAGE_SHIFT = 0; (1 << MPAGE_SHIFT) < MPAGE; MPAGE_SHIFT++) {}

	memset (mem[0], 0, MPAGE * sizeof(UINT8 *));
	memset (mem[1], 0, MPAGE * sizeof(UINT8 *));
	memset (mem[2], 0, MPAGE * sizeof(UINT8 *));

	for (INT32 i = 0; i < num; i++)
		CpuCheatRegister(i, &M6805CheatCpuConfig);
}