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

📄 general.h

📁 阿基米德操作系统的源代码
💻 H
字号:

///////////////////////////////////////////////////////////
#define NULL			0
///////////////////////////////////////////////////////////
#define MINUTE			60
#define HOUR			(60  * MINUTE)
#define DAY				(24  * HOUR)
#define YEAR			(365 * DAY)
///////////////////////////////////////////////////////////
#define SCREEN_START	0xb8000
///////////////////////////////////////////////////////////
#define PAGE_SIZE		4096

#define LOW_MEM			0x200000	///have problem!!!
#define HIGH_MEM		0x400000	///have problem!!!
#define PAGING_PAGES	((HIGH_MEM - LOW_MEM) / 4096)
///////////////////////////////////////////////////////////
#define NR_HASH			256			       
#define BLOCK_SIZE		1024		       
#define BUFFER_START	0x200000	       
#define BUFFER_END		0x800000	       

#define SYNC_BUFFERS	64
///////////////////////////////////////////////////////////
#define SECTOR_SIZE			512
///////////////////////////////////////////////////////////
#define O_EXEONLY				0x01		
#define O_RDONLY				0x02
#define O_WRONLY				0x04
#define O_RDWR					0x06
#define O_CREAT					0x08	
#define O_EXCL					0x10	
#define O_TRUNC					0x20
#define O_APPEND				0x40

#define I_EXE					0x01
#define I_READ					0x02
#define I_WRITE					0x04
#define I_REGULAR				0x40
#define I_DIRECTORY				0x80
///////////////////////////////////////////////////////////
#define NR_INODE				64
#define INODES_PER_BLOCK		16	
///////////////////////////////////////////////////////////
#define NAME_LEN				12
#define DIR_ENTRIES_PER_BLOCK	64
///////////////////////////////////////////////////////////
#define NR_FILE					64
///////////////////////////////////////////////////////////
#define HD_TYPE  { 16,255,19710,0,19710,8 } 
///////////////////////////////////////////////////////////
#define NR_SUPER				26
#define SUPER_MAGIC				0x19680124
///////////////////////////////////////////////////////////
#define NR_REQUEST		64

#define HD_DATA			0x1f0	
#define HD_ERROR		0x1f1	
#define HD_NSECTOR		0x1f2	
#define HD_SECTOR		0x1f3	
#define HD_LCYL			0x1f4	
#define HD_HCYL			0x1f5	
#define HD_CURRENT		0x1f6	
#define HD_STATUS		0x1f7	
#define HD_PRECOMP		HD_ERROR	
#define HD_COMMAND		HD_STATUS

#define HD_CMD			0x3f6

#define ERR_STAT		0x01
#define INDEX_STAT		0x02
#define ECC_STAT		0x04	
#define DRQ_STAT		0x08
#define SEEK_STAT		0x10
#define WRERR_STAT		0x20
#define READY_STAT		0x40
#define BUSY_STAT		0x80

#define WIN_RESTORE		0x10
#define WIN_READ		0x20
#define WIN_WRITE		0x30
#define WIN_VERIFY		0x40
#define WIN_FORMAT		0x50
#define WIN_INIT		0x60
#define WIN_SEEK 		0x70
#define WIN_DIAGNOSE	0x90
#define WIN_SPECIFY		0x91
///////////////////////////////////////////////////////////
#define MSDOS_ROOT_INO	1
#define	MSDOS_NAME_LEN	11

#define FAT_CACHE		64
///////////////////////////////////////////////////////////
#define	IO_DMA_BASE         0x00

#define	DMA_ADDR_0          0x00
#define	DMA_CNT_0           0x01
#define	DMA_ADDR_1          0x02
#define	DMA_CNT_1           0x03
#define	DMA_ADDR_2          0x04
#define	DMA_CNT_2           0x05
#define	DMA_ADDR_3          0x06
#define	DMA_CNT_3           0x07

#define	DMA_CMD_REG         0x08
#define	DMA_STAT_REG        0x08
#define	DMA_REQ_REG         0x09
#define	DMA_MASK_REG        0x0A
#define	DMA_MODE_REG        0x0B
#define	DMA_CLEAR_FF_REG    0x0C
#define	DMA_RESET_REG       0x0D
#define	DMA_TEMP_REG        0x0D
#define	DMA_CLR_MASK_REG    0x0E
#define	DMA_MASK_ALL_REG    0x0F

#define	DMA_PAGE_0          0x87
#define	DMA_PAGE_1          0x83
#define	DMA_PAGE_2          0x81
#define	DMA_PAGE_3          0x82

#define	DMA_MODE_READ       0x46
#define	DMA_MODE_WRITE      0x4A
///////////////////////////////////////////////////////////
#define	FD_DOR              0x3F2
#define	FD_STATUS           0x3F4
#define	FD_DATA             0x3F5
#define	FD_DIR              0x3F7
#define	FD_DCR              0x3F7

#define	STATUS_BUSYMASK     0x0F
#define	STATUS_BUSY         0x10
#define	STATUS_DMA          0x20
#define	STATUS_DIR          0x40
#define	STATUS_READY        0x80

#define	FD_SPECIFY          0x03
#define	FD_RECALIBRATE      0x07
#define	FD_SEEK             0x0F
#define	FD_SENSEI           0x08
#define	FD_READ             0xE6
#define	FD_WRITE            0xC5
#define	FD_FORMAT           0x4D
///////////////////////////////////////////////////////////
#define FD_DRIVER_UP		50
#define FD_DRIVER_DOWN		300
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////!!!!!
///////////////////////////////////////////////////////////!!!!!

#define PT_NULL    0
#define PT_LOAD    1
#define PT_DYNAMIC 2
#define PT_INTERP  3
#define PT_NOTE    4
#define PT_SHLIB   5
#define PT_PHDR    6
#define PT_LOPROC  0x70000000
#define PT_HIPROC  0x7fffffff

#define ET_NONE   0
#define ET_REL    1
#define ET_EXEC   2
#define ET_DYN    3
#define ET_CORE   4
#define ET_LOPROC 5
#define ET_HIPROC 6

#define EM_NONE  0
#define EM_M32   1
#define EM_SPARC 2
#define EM_386   3
#define EM_68K   4
#define EM_88K   5
#define EM_486   6   
#define EM_860   7

///////////////////////////////////////////////////////////!!!!!
///////////////////////////////////////////////////////////!!!!!

///////////////////////////////////////////////////////////
#define NR_COMMAND			9
///////////////////////////////////////////////////////////


⌨️ 快捷键说明

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