Esempio n. 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);
}
Esempio n. 2
0
void plus256k_reset(void)
{
    plus256k_reg = 0;
    plus256k_video_bank = 0;
    plus256k_low_bank = 0;
    plus256k_high_bank = 0;
    plus256k_protected = 0;
    if (plus256k_enabled) {
        vicii_set_ram_base(plus256k_ram);
    }
}
Esempio n. 3
0
void REGPARM2 plus256k_vicii_store(WORD addr, BYTE value)
{
    int new_bank;

    if (plus256k_protected == 0) {
        plus256k_reg = value;
        plus256k_high_bank = (value & 0xc0) >> 6;
        plus256k_low_bank = value & 3;
        plus256k_protected = (value & 0x10) >> 4;
        new_bank = (value & 0xc) >> 2;
        if (new_bank != plus256k_video_bank) {
            vicii_set_ram_base(plus256k_ram + (new_bank * 0x10000));
            plus256k_video_bank = new_bank;
        }
    }
Esempio n. 4
0
static int plus256k_deactivate(void)
{
    if (!util_check_null_string(plus256k_filename)) {
        if (util_file_save(plus256k_filename, plus256k_ram, 0x40000) < 0) {
            log_message(plus256k_log, "Writing PLUS256K image %s failed.", plus256k_filename);
            return -1;
        }
        log_message(plus256k_log, "Writing PLUS256K image %s.", plus256k_filename);
    }
    vicii_set_ram_base(mem_ram);
    lib_free(plus256k_ram);
    plus256k_ram = NULL;
    remove_cpu_lines_lock();
    return 0;
}
Esempio n. 5
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);
  }
}