initial import
[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 int Host_Data;\r
11         unsigned int DMA_Adr;\r
12         unsigned int Stop_Watch;\r
13         unsigned int COMIN;\r
14         unsigned int IFSTAT;\r
15         union\r
16         {\r
17                 struct\r
18                 {\r
19                         unsigned char L;\r
20                         unsigned char H;\r
21                         unsigned short unused;\r
22                 } B;\r
23                 int N;\r
24         } DBC;\r
25         union\r
26         {\r
27                 struct\r
28                 {\r
29                         unsigned char L;\r
30                         unsigned char H;\r
31                         unsigned short unused;\r
32                 } B;\r
33                 int N;\r
34         } DAC;\r
35         union\r
36         {\r
37                 struct\r
38                 {\r
39                         unsigned char B0;\r
40                         unsigned char B1;\r
41                         unsigned char B2;\r
42                         unsigned char B3;\r
43                 } B;\r
44                 unsigned int N;\r
45         } HEAD;\r
46         union\r
47         {\r
48                 struct\r
49                 {\r
50                         unsigned char L;\r
51                         unsigned char H;\r
52                         unsigned short unused;\r
53                 } B;\r
54                 int N;\r
55         } PT;\r
56         union\r
57         {\r
58                 struct\r
59                 {\r
60                         unsigned char L;\r
61                         unsigned char H;\r
62                         unsigned short unused;\r
63                 } B;\r
64                 int N;\r
65         } WA;\r
66         union\r
67         {\r
68                 struct\r
69                 {\r
70                         unsigned char B0;\r
71                         unsigned char B1;\r
72                         unsigned char B2;\r
73                         unsigned char B3;\r
74                 } B;\r
75                 unsigned int N;\r
76         } STAT;\r
77         unsigned int SBOUT;\r
78         unsigned int IFCTRL;\r
79         union\r
80         {\r
81                 struct\r
82                 {\r
83                         unsigned char B0;\r
84                         unsigned char B1;\r
85                         unsigned char B2;\r
86                         unsigned char B3;\r
87                 } B;\r
88                 unsigned int N;\r
89         } CTRL;\r
90         unsigned char Buffer[(32 * 1024 * 2) + 2352];\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(void);\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 unsigned char SCD_Read_Byte(unsigned int Adr);\r
123 unsigned short SCD_Read_Word(unsigned int Adr);\r
124 \r
125 #ifdef __cplusplus\r
126 };\r
127 #endif\r
128 \r
129 #endif\r
130 \r