无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 20965|回复: 93
打印 上一主题 下一主题

如果在 grub4dos 中集成 DOS 运行环境,哪个开源的 DOS 比较好,请推荐

  [复制链接]
1#
发表于 2015-1-11 11:33:39 | 显示全部楼层
不点 发表于 2015-1-3 11:11
反复考虑,觉得不容易解决与原有的功能相冲突的问题。

有两个方案,大家讨论一下,哪个更好?

新增一个参数 --return 表示 退出 dos 返回到 grub 环境
比较好。 更贴切。 用起来感觉更顺。
回复

使用道具 举报

2#
发表于 2015-1-11 11:54:55 | 显示全部楼层
本帖最后由 mdyblog 于 2015-1-11 11:56 编辑
pcs2006 发表于 2014-12-31 18:22
这似乎和ax,1c00h那缓冲区没有关系,因为那个只是表格而己,不是真正的视讯资料。
bios千差万别,有些机 ...


>>bios千差万别,有些机子ok但有些不成,为什么视讯资料回存了,但偏偏没有显示,随便按一下Enter,
屏幕上卷,原来的画面出来了,其实视讯资料都在,只是中文系统不知道
,我在这里用一个笨办法,
利用ah=0601h,int10h,屏幕上卷一行,告诉中文系统我回来了...

----------
是这样的,
1) 这些中文系统,本身有画面缓冲机制,在自己的程序内存—— “2级软显存” 中。
你按<Endter>, 他会根据“2级软显存”,重汇屏幕——执行滚屏驱动函数,
“2级软显存”,不受BIOS控制的。同时也不用OS来保护了。
所以上面显示不是INT10/1C恢复的,而是中文系统的TSR重绘的结果。

2)
中文系统会检测使系统,采用什么样的底层显示驱动。

下面的说的VirtualBox中,可能选择了FrameBuffer技术, 那么是图形模式——会占用很大的。
64K一般来说不够的。

1024*768*16/8=1.5M
这么大,只有保存到扩展内存了。
INT10/1C估计无能为力了。
你可以找到FrameBuffer 的地址,和格式,根据格式计算大小, 在保护模式中直接拷贝内存来恢复/保存。
注意实际的内存必上面计算1.5M的方法要大,因为规范中,内存不是连续完全 使用的,line间有些会丢弃不用的少量内存。

VRAM= line字节数 * 行数


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-18 12:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表