BizHawk/waterbox/virtualjaguar/src/gpu.h

36 lines
942 B
C

//
// GPU.H: Header file
//
#ifndef __GPU_H__
#define __GPU_H__
#include "memory.h"
#define GPU_CONTROL_RAM_BASE 0x00F02100
#define GPU_WORK_RAM_BASE 0x00F03000
void GPUInit(void);
void GPUReset(void);
void GPUExec(int32_t);
void GPUSetIRQLine(int irqline, int state);
uint8_t GPUReadByte(uint32_t offset, uint32_t who = UNKNOWN);
uint16_t GPUReadWord(uint32_t offset, uint32_t who = UNKNOWN);
uint32_t GPUReadLong(uint32_t offset, uint32_t who = UNKNOWN);
void GPUWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN);
void GPUWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN);
void GPUWriteLong(uint32_t offset, uint32_t data, uint32_t who = UNKNOWN);
bool GPUIsRunning(void);
// GPU interrupt numbers (from $F00100, bits 4-8)
enum { GPUIRQ_CPU = 0, GPUIRQ_DSP, GPUIRQ_TIMER, GPUIRQ_OBJECT, GPUIRQ_BLITTER };
// Exported vars
extern uint32_t gpu_reg_bank_0[], gpu_reg_bank_1[];
#endif // __GPU_H__