📄 cd.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
int do_cd_esp(void);
#endif __CD_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -