X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdsp.h;h=e1d77dd704f7b7d29f63c49cf5a8f15aef894431;hb=32f569e1bd09f5d7f07005d119f6408805106381;hp=4dbb2f86e1980e543d3610dba15054ad43fc85dd;hpb=6c19e4098a43c47f8cd1824902f7335e124b834f;p=virtualjaguar diff --git a/src/dsp.h b/src/dsp.h index 4dbb2f8..e1d77dd 100644 --- a/src/dsp.h +++ b/src/dsp.h @@ -1,35 +1,40 @@ // -// DSP.H +// dsp.h // #ifndef __DSP_H__ #define __DSP_H__ -//#include "jaguar.h" -#include "types.h" +#include "memory.h" #define DSP_CONTROL_RAM_BASE 0x00F1A100 #define DSP_WORK_RAM_BASE 0x00F1B000 void DSPInit(void); void DSPReset(void); -void DSPExec(int32); +void DSPExec(int32_t); void DSPDone(void); void DSPUpdateRegisterBanks(void); void DSPHandleIRQs(void); void DSPSetIRQLine(int irqline, int state); -uint8 DSPReadByte(uint32 offset, uint32 who = UNKNOWN); -uint16 DSPReadWord(uint32 offset, uint32 who = UNKNOWN); -uint32 DSPReadLong(uint32 offset, uint32 who = UNKNOWN); -void DSPWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); -void DSPWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); -void DSPWriteLong(uint32 offset, uint32 data, uint32 who = UNKNOWN); -void dsp_releaseTimeslice(void); - -void DSPExecP(int32 cycles); -void DSPExecP2(int32 cycles); -//void DSPExecP3(int32 cycles); -void DSPExecComp(int32 cycles); +uint8_t DSPReadByte(uint32_t offset, uint32_t who = UNKNOWN); +uint16_t DSPReadWord(uint32_t offset, uint32_t who = UNKNOWN); +uint32_t DSPReadLong(uint32_t offset, uint32_t who = UNKNOWN); +void DSPWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN); +void DSPWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN); +void DSPWriteLong(uint32_t offset, uint32_t data, uint32_t who = UNKNOWN); +void DSPReleaseTimeslice(void); +bool DSPIsRunning(void); + +void DSPExecP(int32_t cycles); +void DSPExecP2(int32_t cycles); +//void DSPExecP3(int32_t cycles); +void DSPExecComp(int32_t cycles); + +// Exported vars + +extern bool doDSPDis; +extern uint32_t dsp_reg_bank_0[], dsp_reg_bank_1[]; // DSP interrupt numbers (in $F1A100, bits 4-8 & 16)