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 | |
14 | struct 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 | |
23 | struct 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 | |
36 | struct 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 | |
51 | extern struct SST010 ST010; |
52 | extern struct SST011 ST011; |
53 | extern struct SST018 ST018; |
54 | |
55 | uint8 S9xGetST010 (uint32); |
56 | void S9xSetST010 (uint32, uint8); |
57 | uint8 S9xGetST011 (uint32); |
58 | void S9xSetST011 (uint32, uint8); |
59 | uint8 S9xGetST018 (uint32); |
60 | void S9xSetST018 (uint8, uint32); |
61 | uint8 S9xGetSetaDSP (uint32); |
62 | void S9xSetSetaDSP (uint8, uint32); |
63 | |
64 | extern uint8 (*GetSETA) (uint32); |
65 | extern void (*SetSETA) (uint32, uint8); |
66 | |
67 | #endif |
68 | |