?? ideio.h
字號:
/*H**************************************************************************
* NAME: ideio.h
*----------------------------------------------------------------------------
* Copyright (c) 2004 Toplow.
*----------------------------------------------------------------------------
* RELEASE:
* REVISION:
*----------------------------------------------------------------------------
* PURPOSE:
*
*
* NOTES:
* Global Variables:
* - gl_sbc_wr_protect: write protect flag for SCSI disk
*****************************************************************************/
#ifndef _IDEIO_DRV_H_
#define _IDEIO_DRV_H_
#include <absacc.h>
#define FILE0 XBYTE[0x7000] //硬盤數據寄存器
#define FILE1 XBYTE[0x7001] //錯誤/特征寄存器
#define FILE2 XBYTE[0x7002] //扇區數寄存器
#define FILE3 XBYTE[0x7003] //扇區號寄存器
#define FILE4 XBYTE[0x7004] //柱面號寄存器L
#define FILE5 XBYTE[0x7005] //柱面號寄存器H
#define FILE6 XBYTE[0x7006] //驅動器/磁頭寄存器
#define FILE7 XBYTE[0x7007] //狀態/命令寄存器
///////////////////位設置///////////////////////////
sbit BSY = ACC^7;
sbit DRDY = ACC^6;
sbit DRQ = ACC^3;
sbit ERR = ACC^0;
/************************************************************
* D7 D6 D5 D4 D3 D2 D1 D0 *
BSY DRDY DWF DSC DRQ CORR IDX ERR *
BSY:驅動器忙; *
DRDY:驅動器準備好; *
DWF:驅動器寫失敗; *
DSC:尋道結束; *
DRQ:請求服務,驅動器希望通過數據寄存器與CPU交換一字節數據;*
CORR:當可以糾正的讀錯誤發生時,該位置1,數據傳輸將繼續進行 *
IDX:收到綜引信號; *
ERR:命令執行出錯。 *
*************************************************************/
sbit ARST = P5^3;
sbit INTQ = P5^1;
void HardDiskSleep(void);
bit ata_install(void);
bit hdd_uninstall(void);
Byte hdd_read_byte(void);
bit hdd_read_open(Uint32);
bit hdd_read_close(void);
bit hdd_write_byte(Byte);
bit hdd_write_open(Uint32);
bit hdd_write_close(void);
Uint32 hdd_read_long_big_endian(void);
bit hdd_read_one_sector(Uint32);
bit hdd_write_usb_sector(Uint32);
s_format *hdd_format(void);
void DriveID(void);
extern Uint32 (hdd_mem_size);
#define delay(time) {uint i; for(i=0;i<time;i++);}
#endif /* _IDEIO_DRV_H_ */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -