X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Finclude%2Fgpu.h;h=1b83d74c2e7eea137aa398731eb3c84531639812;hb=d1f771d16daa368e567adc10e2b1868ab86be204;hp=83758041c6034e2ea52c6318addf9644e3a175c9;hpb=135a0c52a2bcbcc37192c61801de6e9c80aeebff;p=virtualjaguar diff --git a/src/include/gpu.h b/src/include/gpu.h index 8375804..1b83d74 100644 --- a/src/include/gpu.h +++ b/src/include/gpu.h @@ -10,9 +10,6 @@ #define GPU_CONTROL_RAM_BASE 0x00F02100 #define GPU_WORK_RAM_BASE 0x00F03000 -#define ASSERT_LINE 1 -#define CLEAR_LINE 0 - void gpu_init(void); void gpu_reset(void); void gpu_exec(int32); @@ -20,15 +17,21 @@ void gpu_done(void); void gpu_update_register_banks(void); void GPUHandleIRQs(void); void GPUSetIRQLine(int irqline, int state); -unsigned gpu_byte_read(unsigned int offset); -unsigned gpu_word_read(unsigned int offset); -unsigned gpu_long_read(unsigned int offset); -void gpu_byte_write(unsigned offset, unsigned data); -void gpu_word_write(unsigned offset, unsigned data); -void gpu_long_write(unsigned offset, unsigned data); + +uint8 GPUReadByte(uint32 offset, uint32 who = UNKNOWN); +uint16 GPUReadWord(uint32 offset, uint32 who = UNKNOWN); +uint32 GPUReadLong(uint32 offset, uint32 who = UNKNOWN); +void GPUWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); +void GPUWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); +void GPUWriteLong(uint32 offset, uint32 data, uint32 who = UNKNOWN); + uint32 gpu_get_pc(void); void gpu_releaseTimeslice(void); void gpu_reset_stats(void); uint32 gpu_read_pc(void); +// GPU interrupt numbers (from $F00100, bits 4-8) + +enum { GPUIRQ_CPU = 0, GPUIRQ_DSP, GPUIRQ_TIMER, GPUIRQ_OBJECT, GPUIRQ_BLITTER }; + #endif // __GPU_H__