Beispiel #1
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;
}
Beispiel #2
0
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;
}
Beispiel #3
0
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();
}
Beispiel #4
0
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"));
}
Beispiel #6
0
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"));
}
Beispiel #7
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();
}
Beispiel #8
0
static void easyflash_io1_store(WORD addr, BYTE value)
{
    BYTE mem_mode;

    switch (addr & 2) {
        case 0:
            /* bank register */
            easyflash_register_00 = (BYTE)(value & EASYFLASH_BANK_MASK);
            break;
        default:
            /* mode register */
            easyflash_register_02 = value & 0x87; /* we only remember led, mode, exrom, game */
            mem_mode = easyflash_memconfig[(easyflash_jumper << 3) | (easyflash_register_02 & 0x07)];
            cart_config_changed_slotmain(mem_mode, mem_mode, CMODE_READ);
            /* TODO: change led */
            /* (value & 0x80) -> led on if true, led off if false */
    }
    cart_romhbank_set_slotmain(easyflash_register_00);
    cart_romlbank_set_slotmain(easyflash_register_00);
    cart_port_config_changed_slotmain();
}