コード例 #1
0
ファイル: vic20mem.c プロジェクト: SMTDDR/droidsound
static void via_store(WORD addr, BYTE value)
{
    vic20_cpu_last_data = value;

    if (addr & 0x10) {          /* $911x (VIA2) */
        via2_store(addr, value);
    }
    if (addr & 0x20) {          /* $912x (VIA1) */
        via1_store(addr, value);
    }
    vic20_mem_v_bus_store(addr);
}
コード例 #2
0
ファイル: vic20io.c プロジェクト: SMTDDR/droidsound
static inline void io_store(io_source_list_t *list, WORD addr, BYTE value)
{
    io_source_list_t *current = list->next;

    vic20_cpu_last_data = value;

    while (current) {
        if (current->device->store != NULL) {
            if (addr >= current->device->start_address && addr <= current->device->end_address) {
                current->device->store((WORD)(addr & current->device->address_mask), value);
            }
        }
        current = current->next;
    }
    vic20_mem_v_bus_store(addr);
}
コード例 #3
0
void cartridge_store_ram123(WORD addr, BYTE value)
{
    vic20_cpu_last_data = value;
    switch (mem_cartridge_type) {
        case CARTRIDGE_VIC20_GENERIC:
            generic_ram123_store(addr, value);
            break;
        case CARTRIDGE_VIC20_FP:
            vic_fp_ram123_store(addr, value);
            break;
        case CARTRIDGE_VIC20_MEGACART:
            megacart_ram123_store(addr, value);
            break;
        case CARTRIDGE_VIC20_FINAL_EXPANSION:
            finalexpansion_ram123_store(addr, value);
            break;
    }
    vic20_mem_v_bus_store(addr);
}
コード例 #4
0
ファイル: vic20mem.c プロジェクト: SMTDDR/droidsound
static void store_dummy_v_bus(WORD addr, BYTE value)
{
    vic20_cpu_last_data = value;
    vic20_mem_v_bus_store(addr);
}
コード例 #5
0
ファイル: vic20mem.c プロジェクト: SMTDDR/droidsound
static void ram_store_v_bus(WORD addr, BYTE value)
{
    vic20_cpu_last_data = value;
    vic20_mem_v_bus_store(addr);
    mem_ram[addr & (VIC20_RAM_SIZE - 1)] = value;
}
コード例 #6
0
ファイル: vic20mem.c プロジェクト: SMTDDR/droidsound
void zero_store(WORD addr, BYTE value)
{
    vic20_cpu_last_data = value;
    vic20_mem_v_bus_store(addr);
    mem_ram[addr & 0xff] = value;
}