⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cd.h

📁 代码有点长,需细心阅读,仅供影音视听类产品的开发人员参考
💻 H
字号:
#ifndef __CD_H
#define __CD_H

/*
** CD state
*/
extern BYTE cd_state;                       /* .. */

#define CDST_OPEN       (1<<0)
#define CDST_STOP       (1<<1)
#define CDST_PLAY       (1<<2)
#define CDST_PAUSE      (1<<3)
#define CDST_CHKCRC     (1<<4)
#define CDST_NOGIVEUP   (1<<5)
#define CDST_BUFFER     (1<<7)

//?#define  CDChkCRC()      (cd_state & CDST_CHKCRC)
#define CDOpened()      (cd_state & CDST_OPEN)
#define CDStopped()     (cd_state & CDST_STOP)
#define CDPaused()      (cd_state & CDST_PAUSE)
#define CDActive()      (cd_state & CDST_PLAY)

#define IsCDCheckCRC()      (cd_state & CDST_CHKCRC)
#define IsCDNoGiveup()      (cd_state & CDST_NOGIVEUP)
#define IsCDPaused()        (cd_state & CDST_PAUSE)


#define CDSetOpen()         (cd_state = CDST_OPEN)
#define CDSetStop()         (cd_state = CDST_STOP)
#define CDSetPause()        (cd_state |= CDST_PAUSE)
#define CDSetPauseRelease() (cd_state &= ~CDST_PAUSE)
#define CDSetPlayCDDA()     (cd_state = CDST_PLAY)
#define CDSetPlay()         (cd_state = CDST_PLAY|CDST_BUFFER)
//?#define  CDSetPlayOk()       (cd_state = CDST_PLAY|CDST_BUFFER)
#define CDSetPlayGood()     (cd_state = CDST_PLAY|CDST_BUFFER|CDST_CHKCRC)
//?#define  CDSetPlayOnlyGood() (cd_state = CDST_PLAY|CDST_BUFFER)
//#define   CDSetPlayOnlyGood() (cd_state = CDST_PLAY|CDST_BUFFER|CDST_CHKCRC|CDST_NOGIVEUP)

#define IsCDBufferControl() (cd_state & CDST_BUFFER)

/*
** MSF addressing
*/
#define CDMSF_FINDFIRST     ((UINT32)0xffffffff)
#define CDMSF_FINDNEXT      ((UINT32)0xfffffffe)
#define IsValidMSF(msf)     (((UINT32)(msf)>>24)!=0x00ff)

/*
** SECTOR cache (DMA row.)
*/
#define SECT_CACHE(i)       ((cd_type_loaded==CDROM) ? CDROM_CACHE_START+2*(i) : VCD_CACHE_START+2*(i))

/*
** ESP shock state
*/
#define SHOCK_FOUND      0x01
#define SHOCK_CONNECT    0x02
#define SHOCK_PROCESS    0x04
#define SHOCK_ENABLE     0x08
#define SHOCK_FF_PROCESS 0x10
#define SHOCK_RESTART    0x20
#define SHOCK_PAUSE      0x40
#define SHOCK_ENABLE_VCD 0x80

#ifdef SUPPORT_ESP
int do_cdda_esp(void);
int do_vcd_esp(void);
#endif
//typedef   struct {
//  UINT32      sync[2];
//} esp_header;

#endif/*__CD_H*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -