Example #1
0
static void enable_rom(int enable, int mode)
{
    romconfig = enable;
    if (enable == 0) {
        cart_config_changed_slotmain(2, 2, mode);
    } else {
        cart_config_changed_slotmain(3, 3, mode);
    }
}
Example #2
0
static BYTE rex_io2_read(WORD addr)
{
    if ((addr & 0xff) < 0xc0) {
        /* disable cartridge rom */
        cart_config_changed_slotmain(2, 2, CMODE_READ);
        rex_active = 0;
    } else {
        /* enable cartridge rom */
        cart_config_changed_slotmain(0, 0, CMODE_READ);
        rex_active = 1;
    }
    return 0;
}
Example #3
0
File: kcs.c Project: AreaScout/vice
static void kcs_io1_store(WORD addr, BYTE value)
{
    DBG(("io1 w %04x %02x (to 16k)", addr, value));
    config = CMODE_16KGAME;
    cart_config_changed_slotmain((BYTE)config, (BYTE)config, CMODE_WRITE);
    freeze_flag = 0;
}
Example #4
0
void snapshot64_freeze(void)
{
    DBG(("SNAPSHOT64: freeze\n"));
    romconfig = 1;
    cart_config_changed_slotmain(3, 3, CMODE_READ | CMODE_RELEASE_FREEZE);
/*    cart_config_changed_slotmain(3, 3, CMODE_READ); */
}
Example #5
0
static BYTE kcs_io1_read(WORD addr)
{
    config = (addr & 2) ? CMODE_RAM : CMODE_8KGAME;

    cart_config_changed_slotmain((BYTE)config, (BYTE)config, CMODE_READ);
    return roml_banks[0x1e00 + (addr & 0xff)];
}
void simon_config_setup(BYTE *rawcart)
{
    memcpy(roml_banks, rawcart, 0x2000);
    memcpy(romh_banks, &rawcart[0x2000], 0x2000);
    cart_config_changed_slotmain(1, 1, CMODE_READ);
    simon_a000 = 1;
}
Example #7
0
static void epyxfastload_alarm_handler(CLOCK offset, void *data)
{
    /* Virtual capacitor charged, disable rom */
    alarm_unset(epyxrom_alarm);
    epyxrom_alarm_time = CLOCK_MAX;
    cart_config_changed_slotmain(2, 2, CMODE_READ);
}
void freezeframe_freeze(void)
{
    DBG(("Freeze Frame: freeze\n"));
    cart_config_changed_slotmain(2, 3, CMODE_READ | CMODE_RELEASE_FREEZE);
    freezeframe_rom_8000 = 1;
    freezeframe_rom_e000 = 1;
}
Example #9
0
File: kcs.c Project: AreaScout/vice
void kcs_config_setup(BYTE *rawcart)
{
    memcpy(roml_banks, rawcart, 0x2000);
    memcpy(romh_banks, &rawcart[0x2000], 0x2000);
    config = CMODE_8KGAME;
    cart_config_changed_slotmain(CMODE_8KGAME, CMODE_8KGAME, CMODE_READ);
    freeze_flag = 0;
}
Example #10
0
File: stb.c Project: AreaScout/vice
void stb_config_setup(BYTE *rawcart)
{
    /* copy banks 0 and 1 */
    memcpy(roml_banks, rawcart, 0x4000);

    /* turn on normal config: bank 0 */
    cart_config_changed_slotmain(0, 0, CMODE_READ);
}
Example #11
0
static void epyxfastload_trigger_access(void)
{
    /* Discharge virtual capacitor, enable rom */
    alarm_unset(epyxrom_alarm);
    epyxrom_alarm_time = maincpu_clk + EPYX_ROM_CYCLES;
    alarm_set(epyxrom_alarm, epyxrom_alarm_time);
    cart_config_changed_slotmain(0, 0, CMODE_READ);
}
Example #12
0
void freezeframe_config_setup(BYTE *rawcart)
{
    memcpy(roml_banks, rawcart, FREEZE_FRAME_CART_SIZE);
    memcpy(romh_banks, rawcart, FREEZE_FRAME_CART_SIZE);
    cart_config_changed_slotmain(2, 0, CMODE_READ);
    freezeframe_rom_8000 = 1;
    freezeframe_rom_e000 = 0;
}
Example #13
0
void ross_config_setup(BYTE *rawcart)
{
    memcpy(&roml_banks[0x0000], &rawcart[0x0000], 0x2000);
    memcpy(&romh_banks[0x0000], &rawcart[0x2000], 0x2000);
    memcpy(&roml_banks[0x2000], &rawcart[0x4000], 0x2000);
    memcpy(&romh_banks[0x2000], &rawcart[0x6000], 0x2000);
    cart_config_changed_slotmain(0, 0, CMODE_READ);
}
static void dsm_io1_store(WORD addr, BYTE value)
{
    DBG(("io1 w %04x %02x\n", addr, value));
    if (addr == 0) {
        cart_config_changed_slotmain(CMODE_RAM, CMODE_RAM, CMODE_READ);
        DBG(("Diashow Maker disabled\n"));
    }
}
Example #15
0
void REGPARM2 snapshot64_io2_store(WORD addr, BYTE value)
{
    DBG(("io2 wr %04x %02x\n", addr, value));

    if ((addr & 0xff) == 0) {

        romconfig = value & 1;

        if (romconfig == 0) {
            cart_config_changed_slotmain(2, 2, CMODE_WRITE);
/*            cart_config_changed_slotmain(2, 2, CMODE_WRITE | CMODE_RELEASE_FREEZE); */
        } else {
            cart_config_changed_slotmain(3, 3, CMODE_WRITE);
/*            cart_config_changed_slotmain(3, 3, CMODE_WRITE | CMODE_RELEASE_FREEZE); */
        }
    }
}
Example #16
0
void ocean_config_setup(BYTE *rawcart)
{
    memcpy(roml_banks, rawcart, 0x2000 * 64);
    memcpy(romh_banks, &rawcart[0x2000 * 16], 0x2000 * 16);

    /* Hack: using 16kB configuration, but some carts are 8kB only */
    cart_config_changed_slotmain(1, 1, CMODE_READ);
}
Example #17
0
File: kcs.c Project: AreaScout/vice
static void kcs_io2_store(WORD addr, BYTE value)
{
    DBG(("io2 w %04x %02x (%s)", addr, value, (freeze_flag == 0) ? "to 16k" : "-"));
    if (freeze_flag == 0) {
        config = CMODE_16KGAME;
        cart_config_changed_slotmain((BYTE)config, (BYTE)config, CMODE_WRITE);
    }
    export_ram0[0x1f00 + (addr & 0x7f)] = value;
}
static BYTE dsm_io1_read(WORD addr)
{
    DBG(("io1 r %04x\n", addr));
    if (addr == 0) {
        cart_config_changed_slotmain(CMODE_RAM, CMODE_RAM, CMODE_READ);
        DBG(("Diashow Maker disabled\n"));
    }
    return 0; /* invalid */
}
Example #19
0
void actionreplay2_config_init(void)
{
    roml_bank = 1;
    ar_enabled = 1;
    ar_cap_enable = 0;
    ar_cap_disable = 0;
    DBG(("config init\n"));
    cart_config_changed_slotmain((BYTE)(0 | (roml_bank << CMODE_BANK_SHIFT)), (BYTE)(0 | (roml_bank << CMODE_BANK_SHIFT)), CMODE_READ);
}
Example #20
0
File: kcs.c Project: AreaScout/vice
static BYTE kcs_io2_read(WORD addr)
{
    DBG(("io2 r %04x (%s)", addr, (addr & 0x80) ? "release NMI" : "-"));
    if (addr & 0x80) {
        cart_config_changed_slotmain((BYTE)config, (BYTE)config, CMODE_READ | CMODE_RELEASE_FREEZE);
        freeze_flag = 1;
    }
    return export_ram0[0x1f00 + (addr & 0x7f)];
}
Example #21
0
static BYTE freezeframe_io2_read(WORD addr)
{
    DBG(("io2 r %04x\n", addr));
    if (addr == 0) {
        cart_config_changed_slotmain(2, 2, CMODE_READ);
        DBG(("Freeze Frame disabled\n"));
    }
    return 0; /* invalid */
}
Example #22
0
static BYTE freezeframe_io1_read(WORD addr)
{
    DBG(("io1 r %04x\n", addr));
    if (addr == 0) {
        cart_config_changed_slotmain(2, 1, CMODE_READ);
        DBG(("Freeze Frame: switching to 8k game mode\n"));
    }
    return 0; /* invalid */
}
Example #23
0
void freezemachine_reset(void)
{
    if (allow_toggle) {
        rom_A14 ^= 1; /* select other 16k ROM bank on every other reset */
    }
    roml_toggle = 0;
    cart_config_changed_slotmain(2, (BYTE)(0 | (rom_A14 << CMODE_BANK_SHIFT)), CMODE_READ);
    DBG(("Freeze Machine: reset (%d)\n", rom_A14));
}
Example #24
0
static BYTE REGPARM1 freezemachine_io2_read(WORD addr)
{
    DBG(("io2 r %04x\n", addr));
    if (addr == 0) {
        cart_config_changed_slotmain(2, 2, CMODE_READ);
        DBG(("Freeze Machine: disabled\n"));
    }

    return 0; /* invalid */
}
Example #25
0
static BYTE freezemachine_io1_read(WORD addr)
{
    DBG(("io1 r %04x\n", addr));
    if (addr == 0) {
        roml_toggle = 1;
        cart_config_changed_slotmain(2, (BYTE)(1 | (rom_A14 << CMODE_BANK_SHIFT)), CMODE_READ);
        DBG(("Freeze Machine: switching to 16k game mapping\n"));
    }
    return 0; /* invalid */
}
Example #26
0
void actionreplay2_freeze(void)
{
    roml_bank = 0;
    ar_enabled = 1;
    ar_cap_enable = 0;
    ar_cap_disable = 0;
    DBG(("freeze\n"));
    cart_config_changed_slotmain((BYTE)(3 | (roml_bank << CMODE_BANK_SHIFT)), (BYTE)(3 | (roml_bank << CMODE_BANK_SHIFT)), CMODE_READ);
    cartridge_release_freeze();
}
Example #27
0
void freezemachine_config_setup(BYTE *rawcart)
{
    rom_A14 = allow_toggle; /* the following first reset will turn it to 0 again */
    roml_toggle = 0;
    memcpy(roml_banks, rawcart, 0x2000);
    memcpy(romh_banks, &rawcart[0x2000], 0x2000);
    memcpy(&roml_banks[0x2000], &rawcart[0x4000], 0x2000);
    memcpy(&romh_banks[0x2000], &rawcart[0x6000], 0x2000);
    cart_config_changed_slotmain(2, 0 | (0 << CMODE_BANK_SHIFT), CMODE_READ);
}
Example #28
0
static void cap_charge(void)
{
    DBG(("cap_charge\n"));
    ar_cap_disable++;
    if (ar_cap_disable == CAPDISABLE) {
        ar_enabled = 0;
        ar_cap_enable = 0;
        cart_config_changed_slotmain((BYTE)(2 | (roml_bank << CMODE_BANK_SHIFT)), (BYTE)(2 | (roml_bank << CMODE_BANK_SHIFT)), CMODE_READ);
        DBG(("disabled\n"));
    }
}
Example #29
0
File: kcs.c Project: AreaScout/vice
static BYTE kcs_io1_read(WORD addr)
{
    DBG(("io1 r %04x (%s)", addr, (addr & 2) ? "cart off" : "to 8k"));

    /* A1 switches off roml/romh banks */
    config = (addr & 2) ? CMODE_RAM : CMODE_8KGAME;

    cart_config_changed_slotmain((BYTE)config, (BYTE)config, CMODE_READ);
    freeze_flag = 0;
    return roml_banks[0x1e00 + (addr & 0xff)];
}
Example #30
0
static void kcs_io2_store(WORD addr, BYTE value)
{
#if 0
    /* FIXME: nothing really is connected to addr bit7 according to the schematics */
    if (addr & 0x80) {
        cart_config_changed_slotmain((BYTE)config, (BYTE)config, CMODE_WRITE | CMODE_RELEASE_FREEZE);
    }
#endif
    /* FIXME: in the schematics A4 is connected to CS - this smells like a mistake */
    export_ram0[addr & 0x7f] = value;
}