Cz80_Init(&Cz80_struc);
Cz80_Set_Fetch(&Cz80_struc, 0x0000, 0x1fff, (u32)&ram[0x0000]);
Cz80_Set_ReadB(&Cz80_struc,(CZ80_READ *)&cpu_readmem8);
Cz80_Set_WriteB(&Cz80_struc,cpu_writemem8);
Cz80_Set_ReadW(&Cz80_struc,(CZ80_READ *)&cpu_readmem16);
Cz80_Set_WriteW(&Cz80_struc,cpu_writemem16);
Cz80_Set_INPort(&Cz80_struc,(CZ80_READ *)&cpu_readport16);
Cz80_Set_OUTPort(&Cz80_struc,(CZ80_WRITE *)&cpu_writeport16);
Cz80_Set_IRQ_Callback(&Cz80_struc,sms_irq_callback);
Cz80_Reset(&Cz80_struc);
...
Cz80_Exec(&Cz80_struc,228*262);
Cz80_Set_IRQ(&Cz80_struc, 1);
Cz80_Clear_IRQ(&Cz80_struc);
...
unsigned int cpu_readport16(unsigned int port)
{
return 0xFF;
}
void cpu_writeport16(unsigned int port, unsigned int data)
{
}
static u8 cpu_readmem8(unsigned int address)
{
return ram[address&0xffff];
}
static unsigned short cpu_readmem16(unsigned int address)
{
return cpu_readmem8(address) | (cpu_readmem8(address + 1) << 8);
}
static void cpu_writemem8(unsigned int address, unsigned int data)
{
ram[address&0xffff]=data;
}
static void cpu_writemem16(unsigned int address, unsigned int data)
{
cpu_writemem8(address, data & 0xFF);
cpu_writemem8(address + 1, data >> 8);
}