Esempio n. 1
0
static void store_ciapb(cia_context_t *cia_context, CLOCK rclk, BYTE byte)
{
    store_userport_pbx(byte);

    /* The functions below will gradually be removed as the functionality is added to the new userport system. */
    parallel_cable_cpu_write(DRIVE_PC_STANDARD, (BYTE)byte);
#if defined(HAVE_RS232DEV) || defined(HAVE_RS232NET)
    rsuser_write_ctrl((BYTE)byte);
#endif
}
Esempio n. 2
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);
}
Esempio n. 3
0
void cia2_store(WORD addr, BYTE data)
{
    if ((addr & 0x1f) == 1) {
        store_userport_pbx(data);

        /* The functions below will gradually be removed as the functionality is added to the new userport system. */
        if (c64dtv_hummer_adc_enabled) {
            hummeradc_store(data);
        }
        if (ps2mouse_enabled) {
            ps2mouse_store(data);
        }
    }

    ciacore_store(machine_context.cia2, addr, data);
}
Esempio n. 4
0
void pio1_store(WORD addr, BYTE value)
{
    BYTE pio1_outline;

    /*  Correct clock */
    ted_handle_pending_alarms(maincpu_rmw_flag + 1);

    pio1_data = value;

    pio1_outline = value;

    if (tape_sense) {
        pio1_outline &= ~4;
    }

    store_userport_pbx(pio1_outline);

    /* The functions below will gradually be removed as the functionality is added to the new userport system. */
    if (drive_context[0]->drive->parallel_cable
        || drive_context[1]->drive->parallel_cable) {
        parallel_cable_cpu_write(DRIVE_PC_STANDARD, pio1_outline);
    }
}