ISO loading, menus, LEDs
[picodrive.git] / Pico / cd / LC89510.h
1 #ifndef _LC89510_H\r
2 #define _LC89510_H\r
3 \r
4 #ifdef __cplusplus\r
5 extern "C" {\r
6 #endif\r
7 \r
8 typedef struct\r
9 {\r
10         unsigned char Buffer[(32 * 1024 * 2) + 2352];\r
11         unsigned int Host_Data;\r
12         unsigned int DMA_Adr;\r
13         unsigned int Stop_Watch;\r
14         unsigned int COMIN;\r
15         unsigned int IFSTAT;\r
16         union\r
17         {\r
18                 struct\r
19                 {\r
20                         unsigned char L;\r
21                         unsigned char H;\r
22                         unsigned short unused;\r
23                 } B;\r
24                 int N;\r
25         } DBC;\r
26         union\r
27         {\r
28                 struct\r
29                 {\r
30                         unsigned char L;\r
31                         unsigned char H;\r
32                         unsigned short unused;\r
33                 } B;\r
34                 int N;\r
35         } DAC;\r
36         union\r
37         {\r
38                 struct\r
39                 {\r
40                         unsigned char B0;\r
41                         unsigned char B1;\r
42                         unsigned char B2;\r
43                         unsigned char B3;\r
44                 } B;\r
45                 unsigned int N;\r
46         } HEAD;\r
47         union\r
48         {\r
49                 struct\r
50                 {\r
51                         unsigned char L;\r
52                         unsigned char H;\r
53                         unsigned short unused;\r
54                 } B;\r
55                 int N;\r
56         } PT;\r
57         union\r
58         {\r
59                 struct\r
60                 {\r
61                         unsigned char L;\r
62                         unsigned char H;\r
63                         unsigned short unused;\r
64                 } B;\r
65                 int N;\r
66         } WA;\r
67         union\r
68         {\r
69                 struct\r
70                 {\r
71                         unsigned char B0;\r
72                         unsigned char B1;\r
73                         unsigned char B2;\r
74                         unsigned char B3;\r
75                 } B;\r
76                 unsigned int N;\r
77         } STAT;\r
78         unsigned int SBOUT;\r
79         unsigned int IFCTRL;\r
80         union\r
81         {\r
82                 struct\r
83                 {\r
84                         unsigned char B0;\r
85                         unsigned char B1;\r
86                         unsigned char B2;\r
87                         unsigned char B3;\r
88                 } B;\r
89                 unsigned int N;\r
90         } CTRL;\r
91 } CDC;\r
92 \r
93 typedef struct\r
94 {\r
95 //      unsigned short Fader;   // 34\r
96 //      unsigned short Control; // 36\r
97 //      unsigned short Cur_Comm;// unused\r
98 \r
99         // "Receive status"\r
100         unsigned short Status;\r
101         unsigned short Minute;\r
102         unsigned short Seconde;\r
103         unsigned short Frame;\r
104         unsigned char  Ext;\r
105 } CDD;\r
106 \r
107 \r
108 extern int CDC_Decode_Reg_Read;\r
109 \r
110 \r
111 void LC89510_Reset(void);\r
112 unsigned short Read_CDC_Host(int is_sub);\r
113 void Update_CDC_TRansfer(int which);\r
114 void CDC_Update_Header(void);\r
115 \r
116 unsigned char CDC_Read_Reg(void);\r
117 void CDC_Write_Reg(unsigned char Data);\r
118 \r
119 void CDD_Export_Status(void);\r
120 void CDD_Import_Command(void);\r
121 \r
122 #ifdef __cplusplus\r
123 };\r
124 #endif\r
125 \r
126 #endif\r
127 \r