static void REGPARM2 magicdesk_io1_store(WORD addr, BYTE value) { cart_romlbank_set_slotmain(value & 0x3f); cart_set_port_game_slotmain(0); if (value & 0x80) { cart_set_port_exrom_slotmain(0); } else { /* turn off cart ROM */ cart_set_port_exrom_slotmain(1); } currbank = value & (0x3f | 0x80); cart_port_config_changed_slotmain(); }
static void magicdesk_io1_store(WORD addr, BYTE value) { regval = value & 0x8f; cart_romlbank_set_slotmain(value & 0x0f); cart_set_port_game_slotmain(0); if (value & 0x80) { /* turn off cart ROM */ cart_set_port_exrom_slotmain(0); } else { cart_set_port_exrom_slotmain(1); } cart_port_config_changed_slotmain(); DBG(("MAGICDESK: Reg: %02x (Bank: %d, %s)\n", regval, (regval & 0x0f), (regval & 0x80) ? "disabled" : "enabled")); }
static void magicdesk_io1_store(uint16_t addr, uint8_t value) { regval = value & (0x80 | bankmask); cart_romlbank_set_slotmain(value & bankmask); cart_set_port_game_slotmain(0); if (value & 0x80) { /* turn off cart ROM */ cart_set_port_exrom_slotmain(0); } else { cart_set_port_exrom_slotmain(1); } cart_port_config_changed_slotmain(); DBG(("MAGICDESK: Reg: %02x (Bank: %d of %d, %s)\n", regval, (regval & bankmask), bankmask + 1, (regval & 0x80) ? "disabled" : "enabled")); }
static uint8_t ross_io2_read(uint16_t addr) { cart_set_port_exrom_slotmain(0); cart_set_port_game_slotmain(0); cart_port_config_changed_slotmain(); return 0; }
static BYTE REGPARM1 ross_io2_read(WORD addr) { cart_set_port_exrom_slotmain(0); cart_set_port_game_slotmain(0); cart_port_config_changed_slotmain(); return 0; }
static void REGPARM2 supergames_io2_store(WORD addr, BYTE value) { cart_romhbank_set_slotmain(value & 3); cart_romlbank_set_slotmain(value & 3); currbank = value & 3; if (value & 0x4) { cart_set_port_exrom_slotmain(1); cart_set_port_game_slotmain(0); } else { cart_set_port_exrom_slotmain(1); cart_set_port_game_slotmain(1); } if (value == 0xc) { cart_set_port_exrom_slotmain(0); cart_set_port_game_slotmain(0); } cart_port_config_changed_slotmain(); }
static void ocean_io1_store(WORD addr, BYTE value) { regval = value; currbank = value & 0x3f; cart_romhbank_set_slotmain(currbank); cart_romlbank_set_slotmain(currbank); cart_set_port_exrom_slotmain(1); cart_set_port_game_slotmain(1); cart_set_port_phi1_slotmain(0); cart_set_port_phi2_slotmain(0); cart_port_config_changed_slotmain(); }