Would someone help to replace the Z80 core with cz80 ? I tried but it crashes before displaying the big invader. Here is what i did :
| | | 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(&am p;Cz80_struc,cpu_wri temem8); Cz80_Set_ReadW(&Cz80_struc,(CZ80_READ *)&cpu_readmem16); Cz80_Set_WriteW(&am p;Cz80_struc,cpu_wri temem16); Cz80_Set_INPort(&Cz80_struc,(CZ80_READ *)&cpu_readport16); Cz80_Set_OUTPort(&Cz80_struc,(CZ80_WRITE *)&cpu_writeport16); Cz80_Set_IRQ_Callba ck(&Cz80_struc,s ms_irq_callback); Cz80_Reset(&Cz8 0_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&0xf fff]=data; } static void cpu_writemem16(unsigned int address, unsigned int data) { cpu_writemem8(address, data & 0xFF); cpu_writemem8(address + 1, data >> 8); } |
instead of
| | | z80_reset(0); ... z80_execute(228*262 ); z80_set_irq_line(0, ASSERT_LINE); z80_set_irq_line(0, CLEAR_LINE); ... #define cpu_readop(a) ram[(a)] #define cpu_readop_arg(a) ram[(a)] #define cpu_readmem16(a) ram[(a)] #define cpu_writemem16(a,v) ram[(a)]=(v) |
|