diff --git a/include/kernel/hardware/vera.h b/include/kernel/hardware/vera.h index 30ed7f8..103c1e8 100755 --- a/include/kernel/hardware/vera.h +++ b/include/kernel/hardware/vera.h @@ -352,9 +352,23 @@ void vera_init(void); void vera_reset(void); -void vera_address_select(uint8_t value); +static inline void vera_address_select(uint8_t value) { + uint8_t ctrl = vera_ctrl_read(); -void vera_address_set(uint32_t address); + if (value == 0) { + ctrl &= 0b11111110; + } else { + ctrl |= 0b00000001; + } + + vera_ctrl_write(ctrl); +} + +static inline void vera_address_set(uint32_t address) { + vera_addr_l_write(address & 0x0000FF); + vera_addr_m_write((address >> 8) & 0x0000FF); + vera_addr_h_write((address >> 16) & 0x0000FF); +} void vera_mem_write(uint32_t dest, void *src, size_t length); diff --git a/src/kernel/hardware/vera/vera.c b/src/kernel/hardware/vera/vera.c index c04c084..39deb50 100644 --- a/src/kernel/hardware/vera/vera.c +++ b/src/kernel/hardware/vera/vera.c @@ -14,24 +14,6 @@ extern uint16_t *vera_palette; extern uint8_t *vera_font_0; -void vera_address_select(uint8_t value) { - uint8_t ctrl = vera_ctrl_read(); - - if (value == 0) { - ctrl &= 0b11111110; - } else { - ctrl |= 0b00000001; - } - - vera_ctrl_write(ctrl); -} - -void vera_address_set(uint32_t address) { - vera_addr_l_write(address & 0x000000FF); - vera_addr_m_write((address >> 8) & 0x000000FF); - vera_addr_h_write((address >> 16) & 0x000000FF); -} - void vera_mem_read(void *dest, uint32_t src, size_t length) { uint8_t *destination = dest; @@ -78,6 +60,7 @@ void vera_reset(void) { } void vera_init(void) { + vera_mem_write(VERA_PALETTE_BASE, &vera_palette, 0x200); vera_mem_write(TEXT_CONSOLE_TILES, &vera_font_0, 0x1000); vera_mem_set(TEXT_CONSOLE0_VRAM, 0x00, 0x4000);