OpenSNES
Modern Open-Source SNES Development SDK
Loading...
Searching...
No Matches
dma.h
Go to the documentation of this file.
1
46
47#ifndef OPENSNES_DMA_H
48#define OPENSNES_DMA_H
49
50#include <snes/types.h>
51
52/*============================================================================
53 * VRAM Transfers
54 *============================================================================*/
55
92void dmaCopyVram(const u8 *source, u16 vramAddr, u16 size);
93
107void dmaCopyVramBank(const u8 *source, u8 bank, u16 vramAddr, u16 size);
108
126void dmaCopyVramMode7(const u8 *tilemap, u16 tilemapSize, const u8 *tiles, u16 tilesSize);
127
143void dmaFillVRAM(u16 value, u16 dest, u16 size);
144
150void dmaClearVRAM(void);
151
152/*============================================================================
153 * CGRAM (Palette) Transfers
154 *============================================================================*/
155
179void dmaCopyCGram(const u8 *source, u16 startColor, u16 size);
180
194void dmaCopyCGramBank(const u8 *source, u8 bank, u16 startColor, u16 size);
195
196/*============================================================================
197 * OAM Transfers
198 *============================================================================*/
199
210void dmaCopyOam(const u8 *source, u16 size);
211
212/*============================================================================
213 * Generic DMA
214 *============================================================================*/
215
226void dmaTransfer(u8 channel, u8 mode, u8 srcBank, u16 srcAddr, u8 destReg, u16 size);
227
228#endif /* OPENSNES_DMA_H */
u8 tilemap[]
u8 tiles[]
Assembly DMA loader for large 8bpp tile data (defined in data.asm).
void dmaClearVRAM(void)
Clear all VRAM to zero.
void dmaCopyVram(const u8 *source, u16 vramAddr, u16 size)
Copy data to VRAM (PVSnesLib compatible).
void dmaCopyOam(const u8 *source, u16 size)
Copy OAM data (PVSnesLib compatible).
void dmaCopyCGram(const u8 *source, u16 startColor, u16 size)
Copy palette data to CGRAM (PVSnesLib compatible).
void dmaCopyVramBank(const u8 *source, u8 bank, u16 vramAddr, u16 size)
Copy data to VRAM with explicit source bank byte.
void dmaCopyVramMode7(const u8 *tilemap, u16 tilemapSize, const u8 *tiles, u16 tilesSize)
Load Mode 7 interleaved data to VRAM.
void dmaTransfer(u8 channel, u8 mode, u8 srcBank, u16 srcAddr, u8 destReg, u16 size)
Perform generic DMA transfer.
void dmaCopyCGramBank(const u8 *source, u8 bank, u16 startColor, u16 size)
Copy palette data to CGRAM with explicit source bank byte.
void dmaFillVRAM(u16 value, u16 dest, u16 size)
Set VRAM to a value.
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.