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

📄 aplif.h

📁 FS7805 使用ATA硬盘的demo
💻 H
字号:
/*
*********************************************************************************************************
* File:     aplif.h
* Contents:
*
* $Date:    04/06/06    Kimi    v0.1
*           01/05/07    kevin   v0.2
*           01/08/07    kevin   v0.3
*
* Copyright (c) 2007 Fameg, Inc. All rights reserved
*********************************************************************************************************
*/

#ifndef __APLIF_H__
#define __APLIF_H__

#define AplifIdle()             (APLIFTS & bmAPLIF_STATUS)

#define OUTATAPI                APLIFARL

#define ATAPI_RESET_BIT         (0x40)
#define DA(x)                   (x << 1)
#define CS(x)                   (x << 4)

#define ATAPI_ADDR_MASK         (DA(7) | CS(3))
#define ATAPI_IDLE_VALUE        (ATAPI_RESET_BIT | DA(7) | CS(3))

#define ATAPI_DATA_REG          (DA(0) | CS(2))
#define ATAPI_ERROR_REG         (DA(1) | CS(2))
#define ATAPI_FEATURE_REG       (DA(1) | CS(2))
#define ATAPI_INT_CAUSE_REG     (DA(2) | CS(2))
#define ATAPI_BYTE_COUNT_LSB    (DA(4) | CS(2))
#define ATAPI_BYTE_COUNT_MSB    (DA(5) | CS(2))
#define ATAPI_DRIVESEL_REG      (DA(6) | CS(2))
#define ATAPI_STATUS_REG        (DA(7) | CS(2))
#define ATAPI_COMMAND_REG       (DA(7) | CS(2))

#define ATAPI_ALT_STATUS_REG    (DA(6) | CS(1))
#define ATAPI_CONTROL_REG       (DA(6) | CS(1))

#define ATA_DATA_REG            (DA(0) | CS(2))
#define ATA_ERROR_REG           (DA(1) | CS(2))
#define ATA_FEATURE_REG         (DA(1) | CS(2))
#define ATA_SECTOR_COUNT_REG    (DA(2) | CS(2))
#define ATA_LBA_LSB_REG         (DA(3) | CS(2))
#define ATA_LBA_2SB_REG         (DA(4) | CS(2))
#define ATA_LBA_MSB_REG         (DA(5) | CS(2))
#define ATA_DRIVESEL_REG        (DA(6) | CS(2))
#define ATA_STATUS_REG          (DA(7) | CS(2))
#define ATA_COMMAND_REG         (DA(7) | CS(2))

#define ATA_ALT_STATUS_REG      (DA(6) | CS(1))
#define ATA_CONTROL_REG         (DA(6) | CS(1))

#define CMD_IDENTIFY_DRIVE      0xec
#define CMD_READ_SECTOR         0x20
#define CMD_WRITE_SECTOR        0x30

#define ATAPI_STATUS_DRQ_BIT    0x08

#endif

extern void  PassOut (void);
extern void  PassIn (void);
extern void  UsbInit (void);
extern UINT16 SectorCount;
extern bit BusResetFlag ;

⌨️ 快捷键说明

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