27#define REG_GSU_R0 (*(volatile u16*)0x3000)
28#define REG_GSU_R1 (*(volatile u16*)0x3002)
29#define REG_GSU_R2 (*(volatile u16*)0x3004)
30#define REG_GSU_R3 (*(volatile u16*)0x3006)
31#define REG_GSU_R4 (*(volatile u16*)0x3008)
32#define REG_GSU_R5 (*(volatile u16*)0x300A)
33#define REG_GSU_R6 (*(volatile u16*)0x300C)
34#define REG_GSU_R7 (*(volatile u16*)0x300E)
35#define REG_GSU_R8 (*(volatile u16*)0x3010)
36#define REG_GSU_R9 (*(volatile u16*)0x3012)
37#define REG_GSU_R10 (*(volatile u16*)0x3014)
38#define REG_GSU_R11 (*(volatile u16*)0x3016)
39#define REG_GSU_R12 (*(volatile u16*)0x3018)
40#define REG_GSU_R13 (*(volatile u16*)0x301A)
41#define REG_GSU_R14 (*(volatile u16*)0x301C)
42#define REG_GSU_R15 (*(volatile u16*)0x301E)
44#define REG_SFR (*(volatile u16*)0x3030)
45#define REG_SFR_L (*(volatile u8*)0x3030)
48#define REG_BRAMR (*(volatile u8*)0x3033)
49#define REG_PBR (*(volatile u8*)0x3034)
50#define REG_ROMBR (*(volatile u8*)0x3036)
51#define REG_SCBR (*(volatile u8*)0x3038)
52#define REG_CLSR (*(volatile u8*)0x3039)
53#define REG_SCMR (*(volatile u8*)0x303A)
54#define REG_VCR (*(volatile u8*)0x303B)
55#define REG_RAMBR (*(volatile u8*)0x303C)
56#define REG_CBR (*(volatile u16*)0x303E)
58#define CLSR_10MHZ 0x00
59#define CLSR_21MHZ 0x01
70#define GSU_SRAM_BASE 0x700000
unsigned short u16
16-bit unsigned integer (0 to 65535)
Definition types.h:52
unsigned char u8
8-bit unsigned integer (0 to 255)
Definition types.h:46
u8 gsu_dma_src_hi
DMA source high byte ($00=buffer A at $70:0000, $40=buffer B at $70:4000)
void gsuSetupBitmapTilemap(u16 vramAddr)
Setup column-major tilemap for SuperFX PLOT framebuffer.
u8 gsu_cfgr
CFGR register value ($80=IRQ mask, $A0=IRQ mask + fast multiply)
u8 gsu_prog_bank
GSU program bank byte (set by gsuSetProgram)
u16 gsu_prog_addr
GSU program 16-bit address (set by gsuSetProgram)
u8 gsu_scbr
SCBR screen base ($00=buffer A, $10=buffer B)
u8 gsuInit(void)
Initialize SuperFX — detect hardware, set default config.
void gsuDmaFullFrame(void)
Scanline-polled 16KB DMA from SRAM to VRAM (60 FPS)
void gsuSetupHdmaBlanking(u16 topBlank, u16 bottomBlank)
Setup HDMA screen blanking for DMA bandwidth.
u8 superfx_status
SuperFX status from crt0 init (VCR chip version, 0=not detected)
u8 gsu_scmr
SCMR register value ($18=RAN+RON, $19=4bpp+RAN+RON)
void gsuLaunch(void)
Launch GSU program and wait for completion (WRAM-safe)