millfork/include/vic20_hardware.mfk

43 lines
905 B
Plaintext

#if not(CBM_VIC)
#warn vic20_hardware module should be only used on VIC-20-compatible targets
#endif
volatile byte vic_raster @$9004
byte vic_freq1 @$900a
byte vic_freq2 @$900b
byte vic_freq3 @$900c
byte vic_volume @$900e
byte vic_colors @$900f
macro void set_volume(byte volume) {
vic_volume &= $f0
vic_volume |= volume & $f
}
macro void set_bg_color(byte color) {
vic_colors &= $f
vic_colors |= color << 4
}
macro void set_border(byte color) {
vic_colors &= $f8
vic_colors |= color & 7
}
const byte black = 0
const byte white = 1
const byte red = 2
const byte cyan = 3
const byte purple = 4
const byte green = 5
const byte blue = 6
const byte yellow = 7
const byte orange = 8
const byte light_orange = 9
const byte light_red = 10
const byte light_cyan = 11
const byte light_purple = 12
const byte light_green = 13
const byte light_blue = 14
const byte light_yellow = 15