First working VERA driver
This commit is contained in:
parent
b28dad5bf1
commit
9568958f90
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue