Added a specific breakpoint for the M68K illegal instruction exception
[clinton/Virtual-Jaguar-Rx.git] / src / dsp.h
CommitLineData
cf76e892
JPM
1//
2// dsp.h
3//
4
5#ifndef __DSP_H__
6#define __DSP_H__
7
8#include "memory.h"
9
10#define DSP_CONTROL_RAM_BASE 0x00F1A100
11#define DSP_WORK_RAM_BASE 0x00F1B000
12
13void DSPInit(void);
14void DSPReset(void);
15void DSPExec(int32_t);
16void DSPDone(void);
17void DSPUpdateRegisterBanks(void);
18void DSPHandleIRQs(void);
19void DSPSetIRQLine(int irqline, int state);
20uint8_t DSPReadByte(uint32_t offset, uint32_t who = UNKNOWN);
21uint16_t DSPReadWord(uint32_t offset, uint32_t who = UNKNOWN);
22uint32_t DSPReadLong(uint32_t offset, uint32_t who = UNKNOWN);
23void DSPWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN);
24void DSPWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN);
25void DSPWriteLong(uint32_t offset, uint32_t data, uint32_t who = UNKNOWN);
26void DSPReleaseTimeslice(void);
27bool DSPIsRunning(void);
28
29void DSPExecP(int32_t cycles);
30void DSPExecP2(int32_t cycles);
31//void DSPExecP3(int32_t cycles);
32void DSPExecComp(int32_t cycles);
33
34// Exported vars
35
36extern bool doDSPDis;
37extern uint32_t dsp_reg_bank_0[], dsp_reg_bank_1[];
38
39// DSP interrupt numbers (in $F1A100, bits 4-8 & 16)
40
41enum { DSPIRQ_CPU = 0, DSPIRQ_SSI, DSPIRQ_TIMER0, DSPIRQ_TIMER1, DSPIRQ_EXT0, DSPIRQ_EXT1 };
42
43#endif // __DSP_H__