Example #1
0
/* VIC20-specific reset sequence.  */
void machine_specific_reset(void)
{
    serial_traps_reset();

    viacore_reset(machine_context.via1);
    viacore_reset(machine_context.via2);
    vic_reset();
    sid_reset();

    viacore_reset(machine_context.ieeevia1);
    viacore_reset(machine_context.ieeevia2);

    rs232drv_reset();
    rsuser_reset();
#ifdef HAVE_MIDI
    midi_reset();
#endif

    printer_reset();

    cartridge_reset();
    drive_reset();
    datasette_reset();

    sampler_reset();
}
Example #2
0
/* Initialization. */
raster_t *vic_init(void)
{
    vic.log = log_open("VIC");

    vic.raster_draw_alarm = alarm_new(maincpu_alarm_context, "VicIRasterDraw",
                                      vic_raster_draw_alarm_handler, NULL);

    clk_guard_add_callback(maincpu_clk_guard, clk_overflow_callback, NULL);

    vic_change_timing();

    if (init_raster() < 0)
        return NULL;

    vic.auxiliary_color = 0;
    vic.mc_border_color = 0;

    vic.color_ptr = mem_ram;
    vic.screen_ptr = mem_ram;
    vic.chargen_ptr = vic20memrom_chargen_rom + 0x400;

    /* FIXME: Where do these values come from? */
    vic.light_pen.triggered = 0;
    vic.light_pen.x = 87;
    vic.light_pen.y = 234;

    /* FIXME */
    vic.char_height = 8;
    vic.row_increase_line = 8;
    vic.text_cols = 22;
    vic.text_lines = 23;

    vic_reset();

    vic_draw_init();

    vic_update_memory_ptrs();

    vic.initialized = 1;

    resources_touch("VICDoubleSize");
    /*vic_resize();*/

    return &vic.raster;
}
Example #3
0
/* VIC20-specific reset sequence.  */
void machine_specific_reset(void)
{
    serial_traps_reset();

    viacore_reset(machine_context.via1);
    viacore_reset(machine_context.via2);
    vic_reset();
    vic_sound_reset();
    sid_reset();

    viacore_reset(machine_context.ieeevia1);
    viacore_reset(machine_context.ieeevia2);

    rs232drv_reset();
    rsuser_reset();

    printer_reset();
    drive_reset();
    datasette_reset();
}