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

📄 cdrom.h

📁 XOSL 多操作系统管理工具 源代码 多系统引导工具
💻 H
字号:
/*
 * Extended Operating System Loader (XOSL)
 * Copyright (c) 1999 by Geurt Vos
 *
 * This code is distributed under GNU General Public License (GPL)
 *
 * The full text of the license can be found in the GPL.TXT file,
 * or at http://www.gnu.org
 *
 * This code is based on the CD-ROM booting support of Smart Boot Manager
 *
 */


#ifndef CDROM_H
#define CDROM_H

#include <newdefs.h>

class CFileSystem;
class CExtDriveParams;

class CCdRom {
public:
	CCdRom(CFileSystem &FileSystem);
	~CCdRom();

	int Install(short IdePort1, short IdePort2);
	void Uninstall();

	bool IsDriveCdRom(int Drive);

private:
	enum TBootExtFunc {
		funcInstInt13 = 0, funcUninstInt13, funcInitAtapi, 
		funcSwapDrives, funcSetIoPorts
	};

	CFileSystem &FileSystem;
	unsigned short &BaseMemSize;
	unsigned long BootExtensionAddr;

	unsigned long AllocConvMem(int KbCount);
	void FreeConvMem(int KbCount);

	int LoadBootExtension();
	void CallBootExtension(unsigned long Address, int Func, 
						   unsigned short BX, unsigned short CX);

	int GetExtDriveParams(int Drive, CExtDriveParams &Params);
};


#endif

⌨️ 快捷键说明

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