X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Finclude%2Fdsp.h;h=c43b634ddd2081ca9a1e025cc482485e7c156cd1;hb=5c366a13aeb0ebb8c18a28616732e058466191af;hp=8c6c35dd0f4ccfa48af2b12bd418025c1eb1567b;hpb=fa566a2c8ec532eb5325b4d5a663fb2a7d72adc6;p=virtualjaguar diff --git a/src/include/dsp.h b/src/include/dsp.h index 8c6c35d..c43b634 100644 --- a/src/include/dsp.h +++ b/src/include/dsp.h @@ -1,4 +1,6 @@ +// // DSP.H +// #ifndef __DSP_H__ #define __DSP_H__ @@ -8,20 +10,23 @@ #define DSP_CONTROL_RAM_BASE 0x00F1A100 #define DSP_WORK_RAM_BASE 0x00F1B000 -void dsp_init(void); -void dsp_reset(void); -void dsp_exec(int32); -void dsp_done(void); -void dsp_update_register_banks(void); -void dsp_check_irqs(void); -void dsp_set_irq_line(int irqline, int state); -unsigned dsp_byte_read(unsigned int offset); -unsigned dsp_word_read(unsigned int offset); -unsigned dsp_long_read(unsigned int offset); -void dsp_byte_write(unsigned offset, unsigned data); -void dsp_word_write(unsigned offset, unsigned data); -void dsp_long_write(unsigned offset, unsigned data); -void dsp_check_if_i2s_interrupt_needed(void); +void DSPInit(void); +void DSPReset(void); +void DSPExec(int32); +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); -#endif // #ifndef __DSP_H__ +// DSP interrupt numbers (in $F1A100, bits 4-8 & 16) + +enum { DSPIRQ_CPU = 0, DSPIRQ_SSI, DSPIRQ_TIMER0, DSPIRQ_TIMER1, DSPIRQ_EXT0, DSPIRQ_EXT1 }; + +#endif // __DSP_H__