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

📄 gscd.h

📁 还有没有人研究过cdrom 的驱动源码啊
💻 H
字号:
/* * Definitions for a GoldStar R420 CD-ROM interface * *   Copyright (C) 1995  Oliver Raupach <raupach@nwfs1.rz.fh-hannover.de> *                       Eberhard Moenkeberg <emoenke@gwdg.de> * *  Published under the GPL. * *//* The Interface Card default address is 0x340. This will work for most   applications. Address selection is accomplished by jumpers PN801-1 to   PN801-4 on the GoldStar Interface Card.   Appropriate settings are: 0x300, 0x310, 0x320, 0x330, 0x340, 0x350, 0x360   0x370, 0x380, 0x390, 0x3A0, 0x3B0, 0x3C0, 0x3D0, 0x3E0, 0x3F0             *//* insert here the I/O port address */#define GSCD_BASE_ADDR	        0x340/* change this to set the dma-channel */#define GSCD_DMA_CHANNEL        3                  /* not used */ /************** nothing to set up below here *********************//* port access macro */#define GSCDPORT(x)		(gscd_port + (x))/* * commands * the lower nibble holds the command length */#define CMD_STATUS     0x01#define CMD_READSUBQ   0x02 /* 1: ?, 2: UPC, 5: ? */#define CMD_SEEK       0x05 /* read_mode M-S-F */#define CMD_READ       0x07 /* read_mode M-S-F nsec_h nsec_l */#define CMD_RESET      0x11#define CMD_SETMODE    0x15#define CMD_PLAY       0x17 /* M-S-F M-S-F */#define CMD_LOCK_CTL   0x22 /* 0: unlock, 1: lock */#define CMD_IDENT      0x31#define CMD_SETSPEED   0x32 /* 0: auto */ /* ??? */#define CMD_GETMODE    0x41#define CMD_PAUSE      0x51#define CMD_READTOC    0x61#define CMD_DISKINFO   0x71#define CMD_TRAY_CTL   0x81/* * disk_state: */#define ST_PLAYING	0x80#define ST_UNLOCKED	0x40#define ST_NO_DISK	0x20#define ST_DOOR_OPEN	0x10#define ST_x08  0x08#define ST_x04	0x04#define ST_INVALID	0x02#define ST_x01	0x01/* * cmd_type: */#define TYPE_INFO	0x01#define TYPE_DATA	0x02/* * read_mode: */#define MOD_POLLED	0x80#define MOD_x08	0x08#define MOD_RAW	0x04#define READ_DATA(port, buf, nr) insb(port, buf, nr)#define SET_TIMER(func, jifs) \	((mod_timer(&gscd_timer, jiffies + jifs)), \	(gscd_timer.function = func))#define CLEAR_TIMER		del_timer_sync(&gscd_timer)#define MAX_TRACKS		104struct msf {	unsigned char	min;	unsigned char	sec;	unsigned char	frame;};struct gscd_Play_msf {	struct msf	start;	struct msf	end;};struct gscd_DiskInfo {	unsigned char	first;	unsigned char	last;	struct msf	diskLength;	struct msf	firstTrack;};struct gscd_Toc {	unsigned char	ctrl_addr;	unsigned char	track;	unsigned char	pointIndex;	struct msf	trackTime;	struct msf	diskTime;};

⌨️ 快捷键说明

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