]> Shamusworld >> Repos - virtualjaguar/blob - src/include/gpu.h
New SDLEmu stuff (slightly modified) ;-)
[virtualjaguar] / src / include / gpu.h
1 //
2 // GPU.H: Header file
3 //
4
5 #ifndef __GPU_H__
6 #define __GPU_H__
7
8 #include "jaguar.h"
9
10 #define GPU_CONTROL_RAM_BASE    0x00F02100
11 #define GPU_WORK_RAM_BASE               0x00F03000
12
13 void gpu_init(void);
14 void gpu_reset(void);
15 void gpu_exec(int32);
16 void gpu_done(void);
17 void gpu_update_register_banks(void);
18 void GPUHandleIRQs(void);
19 void GPUSetIRQLine(int irqline, int state);
20
21 uint8 GPUReadByte(uint32 offset, uint32 who = UNKNOWN);
22 uint16 GPUReadWord(uint32 offset, uint32 who = UNKNOWN);
23 uint32 GPUReadLong(uint32 offset, uint32 who = UNKNOWN);
24 void GPUWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN);
25 void GPUWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN);
26 void GPUWriteLong(uint32 offset, uint32 data, uint32 who = UNKNOWN);
27
28 uint32 gpu_get_pc(void);
29 void gpu_releaseTimeslice(void);
30 void gpu_reset_stats(void);
31 uint32 gpu_read_pc(void);
32
33 // GPU interrupt numbers (from $F00100, bits 4-8)
34
35 enum { GPUIRQ_CPU = 0, GPUIRQ_DSP, GPUIRQ_TIMER, GPUIRQ_OBJECT, GPUIRQ_BLITTER };
36
37 #endif  // __GPU_H__