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); }
static void perform_vbank_switch(int vbank) { if (c64_256k_enabled) { c64_256k_cia_set_vbank(vbank); } else { mem_set_vbank(vbank); } }
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)); }
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); }
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); }
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); } }
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); } }
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); } }
static void perform_vbank_switch(int vbank) { mem_set_vbank(vbank); }