📄 dsa.h
字号:
#ifndef __DSA_H
#define __DSA_H
/*
**
** DSA commands (parameter in low-byte)
**
*/
/*
** Session-number: # of recording times, starting from 0.
** Title-number: track-num, starting from 0
*/
#define DSA_PLAY 0x0100 /* parameter: title-number (hex) */
#define DSA_STOP 0x0200
#define DSA_READ_TOC 0x0300 /* parameter: session-number (hex) */
#define DSA_PAUSE 0x0400
#define DSA_PAUSE_RELEASE 0x0500
#define DSA_GET_TITLE_LENGTH 0x0900 /* parameter: track-number (hex) */
#define DSA_OPEN_TRAY 0x0a00
#define DSA_CLOSE_TRAY 0x0b00
#define DSA_GET_COMPLETE_TIME 0x0d00
#define DSA_GOTO_MM 0x1000 /* parameter: absolute min. (hex) */
#define DSA_GOTO_SS 0x1100 /* parameter: absolute sec. (hex) */
#define DSA_GOTO_FF 0x1200 /* parameter: absolute frm. (hex) */
#define DSA_READ_LONG_TOC 0x1400
#define DSA_SET_MODE 0x1500 /* parameter: mode settings. */
#define DSA_SET1_MODE 0x8000
#define DSA_SLEDGE_OFF_CMD 0x8100
/* Play A-time till B-time */
#define DSA_PLAY_A_MM 0x2000 /* parameter: absolute start min. (hex) */
#define DSA_PLAY_A_SS 0x2100 /* parameter: absolute start sec. (hex) */
#define DSA_PLAY_A_FF 0x2200 /* parameter: absolute start frm. (hex) */
#define DSA_PLAY_B_MM 0x2300 /* parameter: absolute end min. (hex) */
#define DSA_PLAY_B_SS 0x2400 /* parameter: absolute end sec. (hex) */
#define DSA_PLAY_B_FF 0x2500 /* parameter: absolute end frm. (hex) start! */
#define DSA_PLAY_AB_RELEASE 0x2600
#define DSA_GET_DISC_STATUS 0x5000
#define DSA_SET_VOLUME 0x5100
#define DSA_GET_SESSION_INFO 0x5400
#define DSA_SET_DAC_MODE 0x7000
#define DSA_SERVICE_CMD 0xF000
/*
** CDKIT response (some-low-byte is information)
*/
#define CDKIT_FOUND 0x0100
#define CDKIT_STOPPED 0x0200
#define CDKIT_DISC_STATUS 0x0300 /* 0-no-disc 1-disc-present */
#define CDKIT_ERROR 0x0400 /* # error code */
#define CDKIT_FOCUS_ERR 0x0002 /* focus error */
#define CDKIT_RECOVER_ERR 0x0004 /* servo recover error */
#define CDKIT_MOVING 0x0b00 /* 0-moving-inside 1-moving-outside */
#define CDKIT_OPEN 0x0c00
#define CDKIT_CLOSE 0x0d00
#define CDKIT_ACT_TRK 0x1000 /* actual playing time relative */
#define CDKIT_ACT_IDX 0x1100
#define CDKIT_ACT_MM 0x1200
#define CDKIT_ACT_SS 0x1300
#define CDKIT_ABS_MM 0x1400
#define CDKIT_ABS_SS 0x1500
#define CDKIT_ABS_FF 0x1600
#define CDKIT_MODE 0x1700
#define CDKIT_TOC_MIN_TRK 0x2000
#define CDKIT_TOC_MAX_TRK 0x2100
#define CDKIT_TOC_LEADOUT_MM 0x2200
#define CDKIT_TOC_LEADOUT_SS 0x2300
#define CDKIT_TOC_LEADOUT_FF 0x2400
#define CDKIT_AB_RELEASED 0x2600
#define CDKIT_SESSION_INFO 0x5400 /* # number of sessions (hex) */
/*
** While reading LONG_TOC, DSA should send from 0x60 to 0x64 in order.
** Since DSA interface malfunction mostly, we try to compensate this.
**/
#define CDKIT_LONG_TOC_TRK 0x6000 /* TOC TRKNO */
#define CDKIT_LONG_TOC_CnA 0x6100 /* TOC CnA */
#define CDKIT_LONG_TOC_MM 0x6200 /* TOC MM */
#define CDKIT_LONG_TOC_SS 0x6300 /* TOC SS */
#define CDKIT_LONG_TOC_FF 0x6400 /* TOC FF */
/*
#define CNA_MASK_TYPE 0x00d0
*/
#define CNA_MASK_COPYABLE 0x0020
#define CNA_AUDIO_2CHANNEL 0x00
#define CNA_AUDIO_2CHANNEL_PREEMP 0x80
#define CNA_AUDIO_4CHANNEL 0x10
#define CNA_AUDIO_4CHANNEL_PREEMP 0x90
#define CNA_DATA 0x40
/*
**
*/
#define CDKIT_DAC_MODE 0x7000
#define CDKIT_SERVO_VERSION 0xf000
/*
** For DSA_SET_MODE set-mode-command
*/
#define CDDA_SPEED_1x 0x01
#define CDDA_SPEED_2x 0x02
#define CDDA_SPEED_4x 0x04 /* um? */
#define CDDA_CDROM (0x01 << 3)
#define CDDA_AUDIO (0x00 << 3)
#define CDDA_ATTI_none (0x00 << 4)
#define CDDA_ATTI_abs (0x01 << 4)
#define CDDA_ATTI_rel (0x02 << 4)
#define CDDAC_I2S_FS 0x01
#define CDDAC_I2S_2FS 0x02
#define CDDAC_I2S_4FS 0x03
#define CDDAC_SONY_16_FS 0x04
#define CDDAC_SONY_16_2FS 0x05
#define CDDAC_SONY_16_4FS 0x06
#define CDDAC_SONY_18_FS 0x07
#define CDDAC_SONY_18_2FS 0x08
#define CDDAC_SONY_18_4FS 0x09
/*
** For CDKIT_ERROR cdkit error message
*/
#define CDKIT_ERR_NONE 0
#define CDKIT_ERR_FOCUS 2
#define CDKIT_ERR_SUBCODE 7
#define CDKIT_ERR_TOC 8
#define CDKIT_ERR_RADIAL 0x0a
#define CDKIT_ERR_SLEDGE 0x0c
#define CDKIT_ERR_MOTOR 0x0d
#define CDKIT_ERR_SEARCH_TIMEOUT 0x1f
#define CDKIT_ERR_SEARCH_BINARY 0x20
#define CDKIT_ERR_SEARCH_INDEX 0x21
#define CDKIT_ERR_SEARCH_TIME 0x22
#define CDKIT_ERR_ILLEGAL_COMMAND 0x28
#define CDKIT_ERR_ILLEGAL_VALUE 0x29
#define CDKIT_ERR_ILLEGAL_TIME 0x2a
#define CDKIT_ERR_COMMUNICATION 0x2b
#define CDKIT_ERR_TRAY 0x2c
#define CDKIT_ERR_HF_DETECTOR 0x2d
#define DSA_SET_MODE_DEFAULT_1x (DSA_SET_MODE | CDDA_SPEED_1x | CDDA_CDROM | CDDA_ATTI_abs)
#define DSA_SET_MODE_DEFAULT_2x (DSA_SET_MODE | CDDA_SPEED_2x | CDDA_CDROM | CDDA_ATTI_abs)
#define DSA_SET_MODE_DEFAULT_4x (DSA_SET_MODE | CDDA_SPEED_4x | CDDA_CDROM | CDDA_ATTI_abs)
#define DSA_SET_MODE_DEFAULT DSA_SET_MODE_DEFAULT_1x
#define DSA_SET_MODE_DEFAULT_LO DSA_SET_MODE_DEFAULT_1x
#define DSA_SET_MODE_DEFAULT_HI DSA_SET_MODE_DEFAULT_4x
/*
** Functions.
*/
void dsaSendCommand(UINT32 cmd);
int reset_dsa(void);
int polling_dsar(int);
int polling_dsat(int);
#endif __DSA_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -