mirror of
				https://github.com/RaySollium99/picodrive.git
				synced 2025-10-27 00:29:39 -04:00 
			
		
		
		
	 1cfc5cc4ce
			
		
	
	
		1cfc5cc4ce
		
	
	
	
	
		
			
			git-svn-id: file:///home/notaz/opt/svn/PicoDrive@576 be3aeb3a-fb24-0410-a615-afba39da0efa
		
			
				
	
	
		
			135 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /***********************************************************
 | |
|  *                                                         *
 | |
|  * This source was taken from the Gens project             *
 | |
|  * Written by Stéphane Dallongeville                       *
 | |
|  * Copyright (c) 2002 by Stéphane Dallongeville            *
 | |
|  * Modified/adapted for PicoDrive by notaz, 2007           *
 | |
|  *                                                         *
 | |
|  ***********************************************************/
 | |
| 
 | |
| #ifndef _LC89510_H
 | |
| #define _LC89510_H
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	unsigned char Buffer[(32 * 1024 * 2) + 2352];
 | |
| //	unsigned int Host_Data;		// unused
 | |
| //	unsigned int DMA_Adr;		// 0A
 | |
| //	unsigned int Stop_Watch;	// 0C
 | |
| 	unsigned int COMIN;
 | |
| 	unsigned int IFSTAT;
 | |
| 	union
 | |
| 	{
 | |
| 		struct
 | |
| 		{
 | |
| 			unsigned char L;
 | |
| 			unsigned char H;
 | |
| 			unsigned short unused;
 | |
| 		} B;
 | |
| 		int N;
 | |
| 	} DBC;
 | |
| 	union
 | |
| 	{
 | |
| 		struct
 | |
| 		{
 | |
| 			unsigned char L;
 | |
| 			unsigned char H;
 | |
| 			unsigned short unused;
 | |
| 		} B;
 | |
| 		int N;
 | |
| 	} DAC;
 | |
| 	union
 | |
| 	{
 | |
| 		struct
 | |
| 		{
 | |
| 			unsigned char B0;
 | |
| 			unsigned char B1;
 | |
| 			unsigned char B2;
 | |
| 			unsigned char B3;
 | |
| 		} B;
 | |
| 		unsigned int N;
 | |
| 	} HEAD;
 | |
| 	union
 | |
| 	{
 | |
| 		struct
 | |
| 		{
 | |
| 			unsigned char L;
 | |
| 			unsigned char H;
 | |
| 			unsigned short unused;
 | |
| 		} B;
 | |
| 		int N;
 | |
| 	} PT;
 | |
| 	union
 | |
| 	{
 | |
| 		struct
 | |
| 		{
 | |
| 			unsigned char L;
 | |
| 			unsigned char H;
 | |
| 			unsigned short unused;
 | |
| 		} B;
 | |
| 		int N;
 | |
| 	} WA;
 | |
| 	union
 | |
| 	{
 | |
| 		struct
 | |
| 		{
 | |
| 			unsigned char B0;
 | |
| 			unsigned char B1;
 | |
| 			unsigned char B2;
 | |
| 			unsigned char B3;
 | |
| 		} B;
 | |
| 		unsigned int N;
 | |
| 	} STAT;
 | |
| 	unsigned int SBOUT;
 | |
| 	unsigned int IFCTRL;
 | |
| 	union
 | |
| 	{
 | |
| 		struct
 | |
| 		{
 | |
| 			unsigned char B0;
 | |
| 			unsigned char B1;
 | |
| 			unsigned char B2;
 | |
| 			unsigned char B3;
 | |
| 		} B;
 | |
| 		unsigned int N;
 | |
| 	} CTRL;
 | |
| 	unsigned int Decode_Reg_Read;
 | |
| } CDC;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| //	unsigned short Fader;	// 34
 | |
| //	unsigned short Control;	// 36
 | |
| //	unsigned short Cur_Comm;// unused
 | |
| 
 | |
| 	// "Receive status"
 | |
| 	unsigned short Status;
 | |
| 	unsigned short Minute;
 | |
| 	unsigned short Seconde;
 | |
| 	unsigned short Frame;
 | |
| 	unsigned char  Ext;
 | |
| 	unsigned char  pad[3];
 | |
| } CDD;
 | |
| 
 | |
| 
 | |
| PICO_INTERNAL_ASM unsigned short Read_CDC_Host(int is_sub);
 | |
| PICO_INTERNAL void LC89510_Reset(void);
 | |
| PICO_INTERNAL void Update_CDC_TRansfer(int which);
 | |
| PICO_INTERNAL void CDC_Update_Header(void);
 | |
| 
 | |
| PICO_INTERNAL unsigned char CDC_Read_Reg(void);
 | |
| PICO_INTERNAL void CDC_Write_Reg(unsigned char Data);
 | |
| 
 | |
| PICO_INTERNAL void CDD_Export_Status(void);
 | |
| PICO_INTERNAL void CDD_Import_Command(void);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| };
 | |
| #endif
 | |
| 
 | |
| #endif
 | |
| 
 |