#if not(CBM_64)
#warn c64_hardware module should be only used on C64-compatible targets
#endif

import c64_vic
import c64_sid
import c64_cia
import cpu6510

array c64_color_ram [1000] @$D800

macro void c64_ram_only() {
    cpu6510_ddr = 7
    cpu6510_port = 0
}

macro void c64_ram_io() {
    cpu6510_ddr = 7
    cpu6510_port = 5
}

macro void c64_ram_io_kernal() {
    cpu6510_ddr = 7
    cpu6510_port = 6
}

macro void c64_ram_io_basic() {
    cpu6510_ddr = 7
    cpu6510_port = 7
}

macro void c64_ram_charset() {
    cpu6510_ddr = 7
    cpu6510_port = 1
}

macro void c64_ram_charset_kernal() {
    cpu6510_ddr = 7
    cpu6510_port = 2
}

macro void c64_ram_charset_basic() {
    cpu6510_ddr = 7
    cpu6510_port = 3
}