# Foxdisk1
**Repository Path**: macrofun/foxdisk1
## Basic Information
- **Project Name**: Foxdisk1
- **Description**: 我早期编写的图形多系统引导软件foxdisk1,使用汇编程序编写(适用于X86以及Legacy BIOS下)
- **Primary Language**: 汇编
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2025-01-12
- **Last Updated**: 2025-01-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Foxdisk1
#### 介绍
我早期编写的图形多系统引导软件foxdisk1,使用汇编程序编写(适用于X86以及Legacy BIOS下)。如下是基本的显示界面:

#### 软件架构
修改MBR区,指向Foxdisk1代码所存储的扇区。存储扇区包括LBA1至LBA62(一个磁道内),以保证不影响到操作系统区。
也即LBA0~LBA62共63个扇区为foxdisk1所用,以管理两个Windows系操作系统。
#### 安装教程
1. 编译源码,比如:
```
masm fox1.asm
link fox1.obj
exe2bin fox1.exe fox1.bin
```
2. 使用工具setin(源码在/tools/setin下)进行安装:
` setin.exe -y fox1.bin`
覆盖原始mbr:
` setin.exe -r fox1.bin`
#### 使用说明
本程序是在MASM6.11下开发的,也支持TASM编译。请尽量在虚拟机下使用学习,没有足够的硬盘知识,不要在实际的机器下操作。
**Foxdisk1是会把你的分区表清除掉的** ,我主要也是用来练手的,并且用它进行双系统管理过一段时间。
#### 源码结构
当前仓库中所放置的是英文版的Foxdisk1。实际上,我是从中文版开始编写代码的,之后才改为英文版。
- /tools:
```
+/HZTOOL: 汉字提取工具
+/setin: 安装工具。将Foxdisk1安装到硬盘上,使用bcc3.1编译
+/showlogo:显示图像的实验程序
+/TillHeadPic:提取图像的工具
```
- /Foxdisk中文版:Foxdisk1的中文版本,包含了编译好的foxdisk文件FOX.bin。
#### 编程日志
- 2007-3-2 终于完成了管理系统。也找到了那个烦人的错误,原来push ax,pop eax 破坏了堆栈。气死了,找了三个小时。
- 2007-3-3 计算硬盘分区CHS->LBA LBA->CHS的也完成了,真是舒畅。
- 2007-3-6 重新改写了提取logo的程序,真是麻烦。改成直接提取24X24的了,晕
- 2007-3-7 汉化完成后,发现子管理系统少了一个删除分区的选项,再晕
完成了初步功能,取名为九星瓢虫工作室,满漂亮的,呵呵。
唔,必须把英文版的做出来,修改修改就行了吧
- 2007-3-7 安装程序要稍微改改,startsector+2 startsector+3存放的是内外网的分区,非常重要,不能随便安装,很可能把其消除掉的,换个名字,称为setin吧。
- 2007-3-9 不想改了,还有串口的卡都没有调试,郁闷死了,就这样用吧
- 2007-3-11 想想还是不甘心,新添了一个显示:关于Foxdisk的界面。好不容易压缩了头像数据到原来的1/8。
去南理工玩的时候,女友和我谈起我的个人网站,取的名字叫知更鸟的小屋,那这个程序突然取名为九星瓢虫工作室,想想真的很奇怪。
基本上完成了,硬盘空间也是不够,还是把startsector移到6扇区了。
还是有很多事情没做完的:
很多冗余代码
内外网分区不应该占用那么多的空间(两个扇区哪),其实只要64个字节就够了,多了8倍啊。