-static void z80_out(unsigned short p,unsigned char d)\r
-{\r
- elprintf(EL_ANOMALY, "Z80 port %04x write %02x", p, d);\r
-}\r
-#endif\r
-\r
-\r
-// z80 functionality wrappers\r
-PICO_INTERNAL void z80_init(void)\r
-{\r
-#ifdef _USE_MZ80\r
- struct mz80context z80;\r
-\r
- // z80\r
- mz80init();\r
- // Modify the default context\r
- mz80GetContext(&z80);\r
-\r
- // point mz80 stuff\r
- z80.z80Base=Pico.zram;\r
- z80.z80MemRead=mz80_mem_read;\r
- z80.z80MemWrite=mz80_mem_write;\r
- z80.z80IoRead=mz80_io_read;\r
- z80.z80IoWrite=mz80_io_write;\r
-\r
- mz80SetContext(&z80);\r
-#endif\r
-#ifdef _USE_DRZ80\r
- memset(&drZ80, 0, sizeof(struct DrZ80));\r
- drZ80.z80_rebasePC=DrZ80_rebasePC;\r
- drZ80.z80_rebaseSP=DrZ80_rebaseSP;\r
- drZ80.z80_read8 =z80_read;\r
- drZ80.z80_read16 =NULL;\r
- drZ80.z80_write8 =z80_write;\r
- drZ80.z80_write16 =NULL;\r
- drZ80.z80_in =z80_in;\r
- drZ80.z80_out =z80_out;\r
- drZ80.z80_irq_callback=NULL;\r
-#endif\r
-#ifdef _USE_CZ80\r
- memset(&CZ80, 0, sizeof(CZ80));\r
- Cz80_Init(&CZ80);\r
- Cz80_Set_Fetch(&CZ80, 0x0000, 0x1fff, (UINT32)Pico.zram); // main RAM\r
- Cz80_Set_Fetch(&CZ80, 0x2000, 0x3fff, (UINT32)Pico.zram); // mirror\r
- Cz80_Set_ReadB(&CZ80, (UINT8 (*)(UINT32 address))z80_read); // unused (hacked in)\r
- Cz80_Set_WriteB(&CZ80, z80_write);\r
- Cz80_Set_INPort(&CZ80, z80_in);\r
- Cz80_Set_OUTPort(&CZ80, z80_out);\r
-#endif\r