Пример #1
0
void c64_256k_cia_set_vbank(int ciabank)
{
  cia_vbank=ciabank;
  video_bank_segment=((c64_256k_PRB&0xc0)>>4)+cia_vbank;
  vicii_set_ram_base(c64_256k_ram+(video_bank_segment*0x4000));
  mem_set_vbank(0);
}
Пример #2
0
static void perform_vbank_switch(int vbank)
{
    if (c64_256k_enabled) {
        c64_256k_cia_set_vbank(vbank);
    } else {
        mem_set_vbank(vbank);
    }
}
Пример #3
0
static void undump_ciapa(cia_context_t *cia_context, CLOCK rclk, BYTE byte)
{
#ifdef HAVE_RS232
    if (rsuser_enabled) {
        rsuser_set_tx_bit((int)(byte & 4));
    }
#endif
    vbank = (byte ^ 3) & 3;
    mem_set_vbank(vbank);
    iecbus_cpu_undump((BYTE)(byte ^ 0xff));
}
Пример #4
0
static void do_reset_cia(cia_context_t *cia_context)
{
    printer_userport_write_strobe(1);
    printer_userport_write_data((BYTE)0xff);
#ifdef HAVE_RS232
    rsuser_write_ctrl((BYTE)0xff);
    rsuser_set_tx_bit(1);
#endif

    vbank = 0;
    mem_set_vbank(vbank);
}
Пример #5
0
static void do_reset_cia(cia_context_t *cia_context)
{
    store_userport_pbx(0xff);

    /* The functions below will gradually be removed as the functionality is added to the new userport system. */
#if defined(HAVE_RS232DEV) || defined(HAVE_RS232NET)
    rsuser_write_ctrl((BYTE)0xff);
    rsuser_set_tx_bit(1);
#endif

    vbank = 0;
    mem_set_vbank(vbank);
}
Пример #6
0
static void store_ciapa(cia_context_t *cia_context, CLOCK rclk, BYTE byte)
{
    if (cia_context->old_pa != byte) {
        BYTE tmp;
        int new_vbank;

#if defined(HAVE_RS232DEV) || defined(HAVE_RS232NET)
        if (rsuser_enabled && ((cia_context->old_pa ^ byte) & 0x04)) {
            rsuser_set_tx_bit(byte & 4);
        }
#endif
        tmp = ~byte;
        new_vbank = tmp & 3;
        if (new_vbank != vbank) {
            vbank = new_vbank;
            mem_set_vbank(new_vbank);
        }
        (*iecbus_callback_write)((BYTE)tmp, maincpu_clk);
    }
}
Пример #7
0
void c64_256k_reset(void)
{
  c64_256k_DDA=0;
  c64_256k_DDB=0;
  c64_256k_PRA=0xdc;
  c64_256k_PRB=0xfe;
  c64_256k_CRA=4;
  c64_256k_CRB=4;
  cia_vbank=0;
  video_bank_segment=0xc;
  c64_256k_segment0=0xc;
  c64_256k_segment1=0xd;
  c64_256k_segment2=0xe;
  c64_256k_segment3=0xf;
  if (c64_256k_enabled)
  {
    vicii_set_ram_base(c64_256k_ram+0x30000);
    mem_set_vbank(0);
  }
}
Пример #8
0
static void store_ciapa(cia_context_t *cia_context, CLOCK rclk, BYTE byte)
{
    if (cia_context->old_pa != byte) {
        BYTE tmp;
        int new_vbank;

#ifdef HAVE_RS232
        if (rsuser_enabled && ((cia_context->old_pa ^ byte) & 0x04)) {
            rsuser_set_tx_bit(byte & 4);
        }
#endif
        tmp = ~byte;
        new_vbank = tmp & 3;
        if (new_vbank != vbank) {
            vbank = new_vbank;
            if (c64_256k_enabled)
                c64_256k_cia_set_vbank(new_vbank);
            else
                mem_set_vbank(new_vbank);
        }
        (*iecbus_callback_write)((BYTE)tmp, maincpu_clk);
        printer_userport_write_strobe(tmp & 0x04);
    }
}
Пример #9
0
static void perform_vbank_switch(int vbank)
{
    mem_set_vbank(vbank);
}