中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-16 12:26
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [求助]有没有对 IBM F11的提示 做成中文 感兴趣的? 查看 3,702 回复 12
楼 主 [求助]有没有对 IBM F11的提示 做成中文 感兴趣的? 发表于 2007-03-14 13:05 ·  中国 新疆 塔城地区 电信
中级用户
★★
积分 354
发帖 83
注册 2003-03-23 00:00
UID 1232
性别 男
状态 离线
2年前,我曾经 得到过一个 小程序


  它有 在 IBM  的 F11 一键恢复的 英文提示 基础上


  修改成 显示 中文提法 功能

 如附件所示



  但现在 想修改里面的 汉字 提示, 由于DOS 实在不太会,不知道这里有没有人对这个感兴趣


 

  

  
[已使用 Gemini 解答]
Gemini 解答

IBM F11一键恢复的英文提示通常由MBR(主引导记录)或引导扇区中的引导代码直接输出,其显示逻辑依赖于BIOS提供的文本模式(如80×25字符)和系统默认的ASCII字符集。将其修改为中文提示的核心技术前提与实现逻辑如下:

1. 中文显示的技术基础:字模嵌入与BIOS调用

DOS/引导阶段的中文显示无法直接使用系统字体(如宋体),必须通过以下方式实现:

  • 嵌入汉字字模:将需要显示的汉字(如“一键恢复”)的16×16或24×24点阵字模(通常为GB2312编码对应的点阵数据)硬编码到引导代码的空闲空间(MBR共512字节,引导扇区通常保留部分空间用于自定义数据)。
  • BIOS中断调用输出点阵:通过INT 10h中断的图形模式功能(如设置像素、绘制点阵)逐行输出汉字字模——因为BIOS的文本模式(INT 10h/AH=0Eh)仅支持ASCII字符,无法直接显示中文。

2. 原程序的修改限制与当年的实现方式

你提到的“小程序”本质是引导扇区/MBR的二进制补丁工具,其工作逻辑为:

  • 定位引导代码中输出英文提示的字符串位置(如"Press F11 to start recovery...");
  • 替换该位置为汉字字模的存储地址指针
  • 修改原有的ASCII输出逻辑(INT 10h/AH=0Eh)为点阵输出函数,读取字模并调用INT 10h的图形功能绘制汉字。

若要修改其中的汉字提示,需:

  • 提取工具中已嵌入的字模数据,替换为新汉字的点阵(需保证字模格式、大小与原程序一致,如16×16点阵需32字节/字);
  • 若原程序的字模存储区有大小限制(如仅预留了10个汉字的空间),则无法添加更多字符。

3. 当年该需求的常见误解与局限

  • “DOS不太会”的本质:修改引导阶段的中文提示与DOS编程无关,而是直接操作裸机环境下的BIOS中断和二进制数据,需要掌握汇编语言(如8086汇编)和引导代码结构,这是当年多数用户的技术门槛。
  • 通用性问题:不同版本的IBM F11引导代码结构可能不同(如提示字符串位置、空闲空间大小),因此这类工具通常是针对特定版本的定制补丁,无法直接用于所有机型——这也是Post #6中提到“定制的F11提示”的原因。

4. 后续方案的补充(Post #12的“无忧一键恢复”)

Post #12提到的“无忧一键恢复”本质是重新编写的引导程序,而非对IBM原版的补丁:它直接在引导阶段实现了完整的中文点阵输出逻辑,支持自定义提示文字,且不依赖IBM原版的引导代码结构,因此更灵活通用。

结论

修改IBM F11提示为中文的核心是引导代码的二进制补丁+汉字字模嵌入,技术门槛在于汇编与引导结构的理解;若需自定义汉字,需提取原程序的字模区并替换为新点阵数据(需保证格式与大小匹配)。当年这类工具的局限性在于通用性差,而后续的第三方一键恢复工具(如无忧)通过重新编写引导程序解决了这一问题。

附件
IBM F11 有更多提示.jpg
ibm 有中文提示.jpg
2 发表于 2007-03-14 16:27 ·  中国 新疆 塔城地区 电信
中级用户
★★
积分 354
发帖 83
注册 2003-03-23 00:00
UID 1232
性别 男
状态 离线
文本模式的话,就采用替换字模法;图形方式就随意了,图片、作图、字模等等都行。

说实在的,搞这个没啥意义,钻牛角尖了。如果出于学习的目的,普通的应用程序就行,因为要掌握的是算法。



 这是我 能找到的 点资料
3 发表于 2007-03-15 00:23 ·  中国 福建 宁德 电信
初级用户
★★
积分 178
发帖 85
注册 2006-07-06 15:25
UID 58125
状态 离线
楼主不妨找找本是大师如何?
他有空一定能搞定!
4 发表于 2007-03-15 04:46 ·  中国 新疆 塔城地区 电信
中级用户
★★
积分 354
发帖 83
注册 2003-03-23 00:00
UID 1232
性别 男
状态 离线
Originally posted by zqlcch at 2007-3-15 12:23 AM:
楼主不妨找找本是大师如何?
他有空一定能搞定!




谢谢,俺来这里时间不长, 本是大师 有联系方式吗?


  谢谢您了
5 发表于 2007-03-16 01:56 ·  中国 天津 电信
初级用户
★★
积分 178
发帖 85
注册 2006-07-06 15:25
UID 58125
状态 离线
他就在本论坛啊。。。。
6 发表于 2007-03-24 00:48 ·  中国 河南 安阳 联通
初级用户
积分 88
发帖 45
注册 2005-09-07 22:43
UID 42336
性别 男
状态 离线
这个是弄潮儿定制的F11一键恢复的中文提示~~
渴望有一个软件自己能够制作
希望本论坛的高手如果不能做出这样的软件的话
请修改成通用的不带个人信息的标志
7 发表于 2007-03-25 10:39 ·  中国 河南 洛阳 联通
中级用户
积分 245
发帖 43
注册 2003-08-05 00:00
UID 8139
性别 男
状态 离线
再发一个帖子,标题为“本是大师请进!”

:)
8 发表于 2007-07-07 04:46 ·  中国 澳门 澳门电讯
新手上路
积分 10
发帖 5
注册 2006-07-16 05:23
UID 58640
性别 男
状态 离线
看了.謝謝.
9 发表于 2008-04-03 14:06 ·  中国 广东 深圳 福田区 电信
初级用户
★★
积分 188
发帖 96
注册 2008-03-11 00:59
UID 112592
性别 男
状态 离线
没有人懂改吗
10 发表于 2008-04-08 11:10 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
UID 46500
性别 男
状态 离线
我估计方法是,先把汉字的字模放到一个固定位置。
之后在显示出来即可。
11 发表于 2008-04-16 11:16 ·  中国 广东 深圳 福田区 电信
初级用户
★★
积分 188
发帖 96
注册 2008-03-11 00:59
UID 112592
性别 男
状态 离线
关键是怎么弄
12 需要用的话,比这个更好,改进更多 发表于 2008-04-21 19:02 ·  中国 广西 玉林 电信
新手上路
积分 10
发帖 4
注册 2007-05-03 19:06
UID 87386
性别 男
状态 离线
无忧一键恢复 V 2008。4。8

中文提示,闪动。

具体看:

http://bbs.wuyou.com/viewthread.php?tid=119734&extra=page%3D2
13 发表于 2010-05-19 12:18 ·  中国 山东 烟台 联通
中级用户
★★
积分 231
发帖 110
注册 2008-03-24 16:22
UID 113876
性别 男
来自 中国大陆
状态 离线
Originally posted by ww111222 at 2007-3-14 01:05 PM:
2年前,我曾经 得到过一个 小程序
  它有 在 IBM  的 F11 一键恢复的 英文提示 基础上
  修改成 显示 中文提法 功能 ...


》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
这个如何实现呀》》》》》》》》》》》》》》》》》》》》》》》
论坛跳转: