|
|
1.1 root 1: /*
2: DSP M56001 emulation
3: Dummy emulation, Hatari glue
4:
5: (C) 2001-2008 ARAnyM developer team
6: Adaption to Hatari (C) 2008 by Thomas Huth
7:
8: This program is free software; you can redistribute it and/or modify
9: it under the terms of the GNU General Public License as published by
10: the Free Software Foundation; either version 2 of the License, or
11: (at your option) any later version.
12:
13: This program is distributed in the hope that it will be useful,
14: but WITHOUT ANY WARRANTY; without even the implied warranty of
15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: GNU General Public License for more details.
17:
18: You should have received a copy of the GNU General Public License
19: along with this program; if not, write to the Free Software
20: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21: */
22:
23: #ifndef DSP_H
24: #define DSP_H
25:
26: #define ENABLE_DSP_EMU 1
27:
28: #if ENABLE_DSP_EMU
29: # include "dsp_core.h"
30: #endif
31:
32: #define DSP_FREQ (CPU_FREQ*4)
33:
34: extern bool bDspEnabled;
35: extern bool bDspHostInterruptPending;
36:
37: /* Dsp commands */
38: extern bool DSP_ProcessIRQ(void);
39: extern void DSP_Init(void);
40: extern void DSP_UnInit(void);
41: extern void DSP_Reset(void);
42: extern void DSP_Start(Uint8 mode);
43: extern void DSP_Run(int nHostCycles);
44:
45: /* Save Dsp state to snapshot */
46: extern void DSP_MemorySnapShot_Capture(bool bSave);
47:
48: /* Dsp Debugger commands */
49: extern void DSP_SetDebugging(bool enabled);
50: extern Uint16 DSP_GetPC(void);
51: extern Uint16 DSP_GetNextPC(Uint16 pc);
52: extern Uint16 DSP_GetInstrCycles(void);
53: extern Uint32 DSP_ReadMemory(Uint16 addr, char space, const char **mem_str);
54: extern Uint16 DSP_DisasmMemory(Uint16 dsp_memdump_addr, Uint16 dsp_memdump_upper, char space);
55: extern Uint16 DSP_DisasmAddress(FILE *out, Uint16 lowerAdr, Uint16 UpperAdr);
56: extern void DSP_Info(Uint32 dummy);
57: extern void DSP_DisasmRegisters(void);
58: extern int DSP_GetRegisterAddress(const char *arg, Uint32 **addr, Uint32 *mask);
59: extern bool DSP_Disasm_SetRegister(const char *arg, Uint32 value);
60:
61: /* Dsp SSI commands */
62: extern Uint32 DSP_SsiReadTxValue(void);
63: extern void DSP_SsiWriteRxValue(Uint32 value);
64: extern void DSP_SsiReceive_SC0(void);
65: extern void DSP_SsiReceive_SC1(Uint32 value);
66: extern void DSP_SsiReceive_SC2(Uint32 value);
67: extern void DSP_SsiReceive_SCK(void);
68: extern void DSP_SsiTransmit_SC0(void);
69: extern void DSP_SsiTransmit_SC1(void);
70: extern void DSP_SsiTransmit_SC2(Uint32 frame);
71: extern void DSP_SsiTransmit_SCK(void);
72:
73: /* Dsp SCI functions */
74: extern void DSP_HandleTXD(int set);
75:
76: /* Dsp Host interface commands */
77: extern void DSP_HandleReadAccess(void);
78: extern void DSP_HandleWriteAccess(void);
79: extern Uint16 DSP_Get_HREQ(void);
80:
81: void DSP_ICR_Read(void);
82: void DSP_ICR_Write(void);
83: void DSP_CVR_Read(void);
84: void DSP_CVR_Write(void);
85: void DSP_ISR_Read(void);
86: void DSP_ISR_Write(void);
87: void DSP_IVR_Read(void);
88: void DSP_IVR_Write(void);
89:
90: void DSP_Data0_Read(void);
91: void DSP_Data0_Write(void);
92: void DSP_Data1_Read(void);
93: void DSP_Data1_Write(void);
94: void DSP_Data2_Read(void);
95: void DSP_Data2_Write(void);
96: void DSP_Data3_Read(void);
97: void DSP_Data3_Write(void);
98:
99: Uint8 dsp_intr_at_block_end;
100: Uint8 dsp_dma_unpacked;
101: void DSP_SetIRQB(void);
102:
103: #endif /* DSP_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.