OpenSNES
Modern Open-Source SNES Development SDK
Loading...
Searching...
No Matches
vramqueue.h
Go to the documentation of this file.
1
40
41#ifndef OPENSNES_VRAMQUEUE_H
42#define OPENSNES_VRAMQUEUE_H
43
44#include <snes/types.h>
45
47#define VRAM_QUEUE_MAX 32
48
50#define VRAM_QUEUE_ROW 0x80
52#define VRAM_QUEUE_COLUMN 0x81
53
54/* The queue itself (vramqueue.asm): five arrays of words, one entry each. */
61
63#define vramQueueFree() (VRAM_QUEUE_MAX - vram_queue_count)
64
78u16 vramQueuePush(const u8 *src, u16 addr, u16 size, u16 step);
79
98u16 vramQueuePushSprite(const u8 *src, u16 addr, u16 size_px);
99
111void vramQueueFlush(void);
112
113#endif /* OPENSNES_VRAMQUEUE_H */
unsigned short u16
16-bit unsigned integer (0 to 65535)
Definition types.h:53
unsigned char u8
8-bit unsigned integer (0 to 255)
Definition types.h:47
OpenSNES Standard Types.
#define VRAM_QUEUE_MAX
Transfers the queue holds.
Definition vramqueue.h:47
u16 vram_queue_src[32]
u16 vram_queue_addr[32]
u16 vram_queue_step[32]
u16 vram_queue_bank[32]
u16 vram_queue_count
u16 vramQueuePushSprite(const u8 *src, u16 addr, u16 size_px)
Note one frame of a streamed sprite: all its strips in one call.
u16 vram_queue_size[32]
u16 vramQueuePush(const u8 *src, u16 addr, u16 size, u16 step)
Note one transfer for the next vramQueueFlush().
void vramQueueFlush(void)
Send every queued transfer to VRAM and empty the queue.