# 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下)。如下是基本的显示界面: ![foxdisk1](https://images.gitee.com/uploads/images/2021/0918/222133_dbe54e50_791211.png "foxdisk1.PNG") #### 软件架构 修改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倍啊。