Revert "Delete file.cpp"
[clinton/Virtual-Jaguar-Rx.git] / src / gpu.h
CommitLineData
cf76e892
JPM
1//
2// GPU.H: Header file
3//
4
5#ifndef __GPU_H__
6#define __GPU_H__
7
8//#include "types.h"
9#include "memory.h"
10
11#define GPU_CONTROL_RAM_BASE 0x00F02100
12#define GPU_WORK_RAM_BASE 0x00F03000
13
14void GPUInit(void);
15void GPUReset(void);
16void GPUExec(int32_t);
17void GPUDone(void);
18void GPUUpdateRegisterBanks(void);
19void GPUHandleIRQs(void);
20void GPUSetIRQLine(int irqline, int state);
21
22uint8_t GPUReadByte(uint32_t offset, uint32_t who = UNKNOWN);
23uint16_t GPUReadWord(uint32_t offset, uint32_t who = UNKNOWN);
24uint32_t GPUReadLong(uint32_t offset, uint32_t who = UNKNOWN);
25void GPUWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN);
26void GPUWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN);
27void GPUWriteLong(uint32_t offset, uint32_t data, uint32_t who = UNKNOWN);
28
29uint32_t GPUGetPC(void);
30void GPUReleaseTimeslice(void);
31void GPUResetStats(void);
32uint32_t GPUReadPC(void);
33bool GPUIsRunning(void);
34
35// GPU interrupt numbers (from $F00100, bits 4-8)
36
37enum { GPUIRQ_CPU = 0, GPUIRQ_DSP, GPUIRQ_TIMER, GPUIRQ_OBJECT, GPUIRQ_BLITTER };
38
39// Exported vars
40
41extern uint32_t gpu_reg_bank_0[], gpu_reg_bank_1[];
42
43#endif // __GPU_H__