# Foxdisk2
**Repository Path**: luobing4365/foxdisk2
## Basic Information
- **Project Name**: Foxdisk2
- **Description**: 练手用的Foxdisk2第二版,有意思的多系统图形引导程序。仍旧使用汇编语言编写,在1.0的版本上,增加了分区管理功能。实现了我一直比较迷恋的渐变式按钮,以及Winodws式的对话框。
- **Primary Language**: 汇编
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-09-19
- **Last Updated**: 2025-01-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Foxdisk2
#### 介绍
练手用的Foxdisk2第二版,有意思的多系统图形引导程序。仍旧使用汇编语言编写,在1.0的版本上,增加了分区管理功能。实现了我一直比较迷恋的渐变式按钮,以及Winodws式的对话框。
以下为Foxdisk2的基本界面和功能界面。
##### 1. 主界面

主界面用来选择需要进入的系统,目前可以管理两个Windows系统的引导。在此界面上,使用F1键将唤出帮助菜单。
##### 2. 分区管理

主界面上可以通过组合键ALT+P进入此功能菜单,可对分区进行磁道划分。以下为一个基本的分区管理菜单:

##### 3. 功能设置
在主界面上,使用组合键ALT+P可以进入此菜单。它提供了等待时间设置、倒计时结束进入的系统、内外网系统密码设置的功能。

以下为其中的密码设置功能:

#### 软件架构
修改MBR区,指向Foxdisk1代码所存储的扇区。存储扇区包括LBA1至LBA62(一个磁道内),以保证不影响到操作系统区。
也即LBA0~LBA62共63个扇区为foxdisk1所用,以管理两个Windows系操作系统。
为了在Foxdisk1的基础上实现新的功能,规划了基本的时间中断以实现GUI框架,如图所示:
.jpg")
在整个GUI框架中,最难处理的是鼠标部分。设计阶段对鼠标的规划如下图:
.jpg")
#### 安装教程
1. 编译源码,比如:
```
masm _60.asm
link _60.obj
exe2bin _60.exe _60.bin
```
2. 使用工具setin(源码在/tools/setin下)进行安装:
` setin.exe -y _60.bin`
覆盖原始mbr:
` setin.exe -r _60.bin`
#### 使用说明
本程序是在MASM6.11下开发的,也支持TASM编译。请尽量在虚拟机下使用学习,没有足够的硬盘知识,不要在实际的机器下操作。**Foxdisk2是会把你的分区表清除掉的** ,我主要也是用来练手的,并且用它进行双系统管理过一段时间。
#### 源码结构
根据需要的功能不同,对源代码进行了划分,比如mousedrv文件夹中是鼠标驱动,其他的文件夹就不一一解释了。
- /tools:
```
+/DisTillHZ: 汉字提取工具
+/setin: 安装工具。将Foxdisk1安装到硬盘上,使用bcc3.1编译
+/showlogo:显示图像的实验程序
```
- /outfiles:编译好了的foxdisk2文件_60.bin,以及DOS下的演示程序TEST.exe。
- CCDos.BAT: 编译Foxdisk2的演示程序TEST的批处理
- ccofx.bat: 编译Foxdisk2的批处理