lol its in c
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

39 lines
983 B

#ifndef IS_VRAM_H_
#define IS_VRAM_H_
#include <stdint.h>
#define MAX_XFERS 5
typedef enum { XFER_TYPE_ROW, XFER_TYPE_COL } MEM_XFER_TYPE;
typedef struct {
uint8_t type;
uint16_t dest;
const uint8_t *source;
uint8_t size;
} mem_xfer_t;
extern mem_xfer_t mem_xfer_queue[MAX_XFERS];
extern uint8_t mem_xfer_queue_size;
/**
* @brief Initialize VRAM engine
*/
void vram_init(void);
/**
* @brief Process VRAM memory transfers
*/
void vram_update(void);
#define vram_enqueue_mem_xfer(_type, _dest, _source, _size) \
do { \
mem_xfer_t *node = &mem_xfer_queue[mem_xfer_queue_size++]; \
node->type = (_type); \
node->dest = (_dest); \
node->source = (_source); \
node->size = (_size); \
} while (0)
#endif