1/*****************************************************************************\
2 Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
3 This file is licensed under the Snes9x License.
4 For further information, consult the LICENSE file in the root directory.
5\*****************************************************************************/
6
7#ifndef _SETA_H_
8#define _SETA_H_
9
10#define ST_010 0x01
11#define ST_011 0x02
12#define ST_018 0x03
13
14struct SST010
15{
16 uint8 input_params[16];
17 uint8 output_params[16];
18 uint8 op_reg;
19 uint8 execute;
20 bool8 control_enable;
21};
22
23struct SST011
24{
25 bool8 waiting4command;
26 uint8 status;
27 uint8 command;
28 uint32 in_count;
29 uint32 in_index;
30 uint32 out_count;
31 uint32 out_index;
32 uint8 parameters[512];
33 uint8 output[512];
34};
35
36struct SST018
37{
38 bool8 waiting4command;
39 uint8 status;
40 uint8 part_command;
41 uint8 pass;
42 uint32 command;
43 uint32 in_count;
44 uint32 in_index;
45 uint32 out_count;
46 uint32 out_index;
47 uint8 parameters[512];
48 uint8 output[512];
49};
50
51extern struct SST010 ST010;
52extern struct SST011 ST011;
53extern struct SST018 ST018;
54
55uint8 S9xGetST010 (uint32);
56void S9xSetST010 (uint32, uint8);
57uint8 S9xGetST011 (uint32);
58void S9xSetST011 (uint32, uint8);
59uint8 S9xGetST018 (uint32);
60void S9xSetST018 (uint8, uint32);
61uint8 S9xGetSetaDSP (uint32);
62void S9xSetSetaDSP (uint8, uint32);
63
64extern uint8 (*GetSETA) (uint32);
65extern void (*SetSETA) (uint32, uint8);
66
67#endif
68