void cia1_setup_context(machine_context_t *machine_context) { cia_context_t *cia; machine_context->cia1 = lib_calloc(1, sizeof(cia_context_t)); cia = machine_context->cia1; cia->prv = NULL; cia->context = NULL; cia->rmw_flag = &maincpu_rmw_flag; cia->clk_ptr = &maincpu_clk; cia1_set_timing(cia, C64_PAL_CYCLES_PER_SEC, 50); ciacore_setup_context(cia); if (machine_class == VICE_MACHINE_C64SC || machine_class == VICE_MACHINE_SCPU64) { cia->write_offset = 0; } cia->model = cia1_model; cia->debugFlag = 0; cia->irq_line = IK_IRQ; cia->myname = lib_msprintf("CIA1"); cia->undump_ciapa = undump_ciapa; cia->undump_ciapb = undump_ciapb; cia->store_ciapa = store_ciapa; cia->store_ciapb = store_ciapb; cia->store_sdr = store_sdr; cia->read_ciapa = read_ciapa; cia->read_ciapb = read_ciapb; cia->read_ciaicr = read_ciaicr; cia->read_sdr = read_sdr; cia->cia_set_int_clk = cia_set_int_clk; cia->cia_restore_int = cia_restore_int; cia->do_reset_cia = do_reset_cia; cia->pulse_ciapc = pulse_ciapc; cia->pre_store = pre_store; cia->pre_read = pre_read; cia->pre_peek = pre_peek; }
void cia1571_setup_context(drive_context_t *ctxptr) { drivecia1571_context_t *cia1571p; cia_context_t *cia; ctxptr->cia1571 = lib_calloc(1, sizeof(cia_context_t)); cia = ctxptr->cia1571; cia->prv = lib_malloc(sizeof(drivecia1571_context_t)); cia1571p = (drivecia1571_context_t *)(cia->prv); cia1571p->number = ctxptr->mynumber; cia->context = (void *)ctxptr; cia->rmw_flag = &(ctxptr->cpu->rmw_flag); cia->clk_ptr = ctxptr->clk_ptr; cia->todticks = 100000; ciacore_setup_context(cia); cia->debugFlag = 0; cia->irq_line = IK_IRQ; cia->myname = lib_msprintf("CIA1571D%d", ctxptr->mynumber); cia1571p->drive = ctxptr->drive; cia->undump_ciapa = undump_ciapa; cia->undump_ciapb = undump_ciapb; cia->store_ciapa = store_ciapa; cia->store_ciapb = store_ciapb; cia->store_sdr = store_sdr; cia->read_ciapa = read_ciapa; cia->read_ciapb = read_ciapb; cia->read_ciaicr = read_ciaicr; cia->read_sdr = read_sdr; cia->cia_set_int_clk = cia_set_int_clk; cia->cia_restore_int = cia_restore_int; cia->do_reset_cia = do_reset_cia; cia->pulse_ciapc = pulse_ciapc; cia->pre_store = NULL; cia->pre_read = NULL; cia->pre_peek = NULL; }
void cia1_setup_context(machine_context_t *machine_context) { cia_context_t *cia; machine_context->cia1 = lib_calloc(1, sizeof(cia_context_t)); cia = machine_context->cia1; cia->prv = NULL; cia->context = NULL; cia->rmw_flag = &maincpu_rmw_flag; cia->clk_ptr = &maincpu_clk; cia->todticks = C64_PAL_CYCLES_PER_RFSH; ciacore_setup_context(cia); cia->model = cia1_model; cia->debugFlag = 0; cia->irq_line = IK_IRQ; cia->myname = lib_msprintf("CIA1"); cia->undump_ciapa = undump_ciapa; cia->undump_ciapb = undump_ciapb; cia->store_ciapa = store_ciapa; cia->store_ciapb = store_ciapb; cia->store_sdr = store_sdr; cia->read_ciapa = read_ciapa; cia->read_ciapb = read_ciapb; cia->read_ciaicr = read_ciaicr; cia->read_sdr = read_sdr; cia->cia_set_int_clk = cia_set_int_clk; cia->cia_restore_int = cia_restore_int; cia->do_reset_cia = do_reset_cia; cia->pulse_ciapc = pulse_ciapc; cia->pre_store = pre_store; cia->pre_read = pre_read; cia->pre_peek = pre_peek; }
void cia2_setup_context(machine_context_t *machine_ctx) { cia_context_t *cia; machine_ctx->cia2 = lib_calloc(1, sizeof(cia_context_t)); cia = machine_ctx->cia2; cia->prv = NULL; cia->context = NULL; cia->rmw_flag = &maincpu_rmw_flag; cia->clk_ptr = &maincpu_clk; cia2_set_timing(cia, C64_PAL_CYCLES_PER_SEC, 50); ciacore_setup_context(cia); cia->model = cia2_model; cia->debugFlag = 0; cia->irq_line = IK_NMI; cia->myname = lib_msprintf("CIA2"); cia->undump_ciapa = undump_ciapa; cia->undump_ciapb = undump_ciapb; cia->store_ciapa = store_ciapa; cia->store_ciapb = store_ciapb; cia->store_sdr = store_sdr; cia->read_ciapa = read_ciapa; cia->read_ciapb = read_ciapb; cia->read_ciaicr = read_ciaicr; cia->read_sdr = read_sdr; cia->cia_set_int_clk = cia_set_int_clk; cia->cia_restore_int = cia_restore_int; cia->do_reset_cia = do_reset_cia; cia->pulse_ciapc = pulse_ciapc; cia->pre_store = pre_store; cia->pre_read = pre_read; cia->pre_peek = pre_peek; }