--- /dev/null
+#include "pico_int.h"
+
+static unsigned char z80_sms_in(unsigned short p)
+{
+ elprintf(EL_ANOMALY, "Z80 port %04x read", p);
+ return 0xff;
+}
+
+static void z80_sms_out(unsigned short p, unsigned char d)
+{
+ elprintf(EL_ANOMALY, "Z80 port %04x write %02x", p, d);
+}
+
+static unsigned char MEMH_FUNC xread(unsigned short a)
+{
+ elprintf(EL_ANOMALY, "Z80 read [%04x]", a);
+ return 0;
+}
+
+static void MEMH_FUNC xwrite(unsigned int a, unsigned char data)
+{
+ elprintf(EL_ANOMALY, "Z80 write [%04x] %02x", a, data);
+}
+
+void PicoPowerMS(void)
+{
+}
+
+void PicoMemSetupMS(void)
+{
+ z80_map_set(z80_read_map, 0x0000, 0xbfff, Pico.rom, 0);
+ z80_map_set(z80_read_map, 0xc000, 0xdfff, Pico.zram, 0);
+ z80_map_set(z80_read_map, 0xe000, 0xffff, xread, 1);
+
+ z80_map_set(z80_write_map, 0x0000, 0xbfff, Pico.rom, 0);
+ z80_map_set(z80_write_map, 0xc000, 0xdfff, Pico.zram, 0);
+ z80_map_set(z80_write_map, 0xe000, 0xffff, xwrite, 1);
+
+#ifdef _USE_DRZ80
+ drZ80.z80_in = z80_sms_in;
+ drZ80.z80_out = z80_sms_out;
+#endif
+#ifdef _USE_CZ80
+ Cz80_Set_Fetch(&CZ80, 0x0000, 0xbfff, (UINT32)Pico.rom);
+ Cz80_Set_Fetch(&CZ80, 0xc000, 0xdfff, (UINT32)Pico.zram);
+ Cz80_Set_INPort(&CZ80, z80_sms_in);
+ Cz80_Set_OUTPort(&CZ80, z80_sms_out);
+#endif
+}
+
+void PicoFrameMS(void)
+{
+ z80_run(OSC_NTSC / 13 / 60);
+}
+