无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: chenall

[发布] grub4dos支持VBE 显示模式的外部命令(阶段性完美版)

[复制链接]
发表于 2011-10-18 00:21:25 | 显示全部楼层
这下,真是可以直接同硬件打交道了。。。。
强悍!方便。
回复

使用道具 举报

发表于 2011-10-18 00:50:13 | 显示全部楼层
outb/outw/outl 与 inb/inw/inl
这些具体表示什么意思呢?
回复

使用道具 举报

发表于 2011-10-18 04:03:02 | 显示全部楼层
原帖由 chenall 于 2011-10-17 23:44 发表
明天再试试看看把UNIFONT的字库移植过来。。。



chenall,你的 unifont 字库全不全?如果不全的话,你暂缓一下,先做一做别的工作。

我正在研究这个非常全的字库: http://unifoundry.com/unifont-5.1.20080820.hex

它的主页上有详细说明: http://unifoundry.com/unifont.html

你也可以参考一下。

有了这么一个完整的字库,全球的语言都可以支持了。

我正在考虑实现这一目标的路线图。

回复

使用道具 举报

发表于 2011-10-18 08:32:56 | 显示全部楼层

回复 #33 不点 的帖子

不点大师看来真的打算把G4D发展成OS
回复

使用道具 举报

发表于 2011-10-18 08:39:09 | 显示全部楼层
英文版下完美支持中文、完美支持图形,又是一个里程碑!
建议grub4dos0.4.5终结,直接到grub4dos0.5.0,新的版本去掉原中文版,vbe代替原fontfile,也废除gfxmenu。
回复

使用道具 举报

发表于 2011-10-18 08:47:17 | 显示全部楼层

回复 #35 zhaohj 的帖子

晕``废除gfxmenu?这个不建议……
回复

使用道具 举报

发表于 2011-10-18 09:04:06 | 显示全部楼层

回复 #35 zhaohj 的帖子

不知为什么要废除grxmenu?如喜欢不用不就得了。有人想用呢!
回复

使用道具 举报

发表于 2011-10-18 10:05:40 | 显示全部楼层
如果能作为界面壁纸形式就可以放弃gfxmenu了。
回复

使用道具 举报

 楼主| 发表于 2011-10-18 11:20:35 | 显示全部楼层

回复 #35 zhaohj 的帖子

我也有类似的想法,所以新的GRUB4DOS将不会再增加功能,最多只是BUG修复。

差不多到年底如果没有发现BUG的话就可以正式发布0.4.5版了。

GFXMENU在新版里面也许会考虑作为外部命令。不过这些都是后话。

新的功能测试目前可以通过外部命令来先实现。
回复

使用道具 举报

 楼主| 发表于 2011-10-18 11:22:52 | 显示全部楼层

回复 #33 不点 的帖子

嗯,就等你的成果了,以前的UNIFONT字库是可以直接使用,不过新的字库生成软件要收费,正在考虑查找新的方案呢,本来还想考虑移GRUB2的字库过来。。。
回复

使用道具 举报

 楼主| 发表于 2011-10-18 11:30:40 | 显示全部楼层
原帖由 135956 于 2011-10-18 00:50 发表
outb/outw/outl 与 inb/inw/inl
这些具体表示什么意思呢?


这些自己上Google搜一下,直接和硬件打交道用的,可以通过读写指定端口来控制。

比如一个比较简单的

使用vbe mode=0x101的模式时

可以执行以下命令改变背景色

bios outb 0x3c8 0
bios outb 0x3c9 0x55
bios outb 0x3c9 0x55
bios outb 0x3c9 0x55

第一句就是告诉计算机接下来我要修改第0个调色板。
第二句是红色值
第三句是绿色
第四句是蓝色
回复

使用道具 举报

发表于 2011-10-18 12:00:22 | 显示全部楼层

回复 #35 zhaohj 的帖子

我也是这个想法。另外,最好编码最好统一utf-8,国际化。
回复

使用道具 举报

发表于 2011-10-18 16:48:18 | 显示全部楼层
今天在一台实机上测试,vbe bmp=/test.bmp (800*600*24),竟然提示不支持。
返回到菜单运行PE,在检测硬件上差不多死机,无法进入桌面。terminal console后运行PE正常。
VM虚拟机测试都正常。
回复

使用道具 举报

发表于 2011-10-18 17:03:09 | 显示全部楼层
有可能不支持

800x600x24

而支持 32 位色深:

800x600x32

用时空上我制作的 vesa.zip 测试一下,或者用 vbeprobe 来显示一下,就知道是否支持 800x600x24 了。
回复

使用道具 举报

发表于 2011-10-18 17:24:50 | 显示全部楼层
期待下一个能做背景的阶段
回复

使用道具 举报

发表于 2011-10-18 17:40:23 | 显示全部楼层
原帖由 不点 于 2011-10-18 17:03 发表
有可能不支持

800x600x24

而支持 32 位色深:



在本机上vbeprobe查看了一下,确实不支持800*600*24。看了一下,基本上没有24位的支持值。
建议vbe bmp=/xxx.bmp时自动匹配最佳模式。(如图片是24位色,但机器不支持24位色时从32位色匹配...)
回复

使用道具 举报

发表于 2011-10-18 18:13:04 | 显示全部楼层
VBE 规范已经指出,有些厂家的实现只支持 24 位,而有些则只支持 32 位。软件必须同时支持 24 和 32 位才能保持良好的兼容性。

支持 24 位的主要理由是节约内存。支持 32 位的主要理由是运算速度快。因此,有的厂家选择 24 位,有的选择 32 位。而把 24 和 32 位同时都选择的厂家,应该也有,但我还没有遇到过这种情况。
回复

使用道具 举报

 楼主| 发表于 2011-10-18 18:50:30 | 显示全部楼层

回复 #46 zhaohj 的帖子

本来就有自动匹配的啊。难道你的机器连32位也不支持?

24位的不支持会自动使用32位的。

用VMWARE测试通过,VMWARE就是32位的。
回复

使用道具 举报

发表于 2011-10-18 19:49:03 | 显示全部楼层
可能是我的错。
确实会自动匹配,我因为原先强制使用mode=0xYYY(24位色)。
坚信这次是一场质的飞跃。
回复

使用道具 举报

发表于 2011-10-18 21:10:19 | 显示全部楼层
我在我的上网本上试了一下,只支持640*480*8、640*480*16、640*480*32这三种模式(上网本的分辨率是1024*576的),而有些电脑,只支持24或者32位色,不过就接触到的电脑,都全部支持16位色的——我觉得16位与24位、32位色,肉眼看起来也没太大区别,因此如果可能的话,VBE模式最好也支持16位色。
回复

使用道具 举报

 楼主| 发表于 2011-10-18 22:03:59 | 显示全部楼层

回复 #50 xianglang 的帖子

8/15/16都需要转换颜色,造成编程的不方便。

一般来说除非太老的机子,否则至少要支持24/32位其中的一种。
回复

使用道具 举报

发表于 2011-10-18 22:54:26 | 显示全部楼层
越新的电脑,就越是要支持 24 位/32位颜色。因为内存便宜了,用户需求也高了。

老式的电脑(古董机),用用老版本的 grub4dos 也就行了,没必要非得跟上 grub4dos 的新版本。老爷机运行 XP 也困难呢。运行 Win7、win8 就更没有希望了。运行 Linux 也没太大的乐趣,因为 Linux 也需要一个档次相对较好的配置。因此,老版本的 grub4dos 足够用了。

chenall 应该首先尝试 32 位,只有当 32 位不支持的时候,才退回到 24 位。这样更合理,因为毕竟 32 位是最好的模式。

假如机器支持 24/32 位颜色深度,放着不用,转而去用更低的 15/16 位颜色,这是不是应该算是 “脑子有问题”?

顺便说,grub4dos 的老版本,连 8 位都不支持。只支持 4 位的颜色深度。这就是通常所说的 16 色。

只有像目前测试版本这样,用 VESA 编程,才开始支持 8 位以上的颜色(即 256 色或更多)。但时代变化太快了,我们早都该实现 8 位以上的支持了,而迟至今日才开始考虑。而我们这个时代,硬件已经很超前了,软件却依旧停留在远古时代。比如,CPU 早都 64 位了,但操作系统以及外围工具却盛行 32 位,致使 64 位的 Win7 在普通用户中难以普及。

我们这个时代,已经没有不支持 24 位以上“真彩色” 的设备了。

[ 本帖最后由 不点 于 2011-10-18 23:06 编辑 ]
回复

使用道具 举报

发表于 2011-10-18 23:06:55 | 显示全部楼层

回复 #52 不点 的帖子

不点大师说的很对。建议先32位不行再24位。感觉24位的速度应该没有32位的快。
回复

使用道具 举报

发表于 2011-10-18 23:35:46 | 显示全部楼层
看来chenall老大要解决grub4dos一直以来界面难看的问题了!期待!
回复

使用道具 举报

 楼主| 发表于 2011-10-19 18:03:49 | 显示全部楼层
最新进展,初步实现背景图片。。。。

注:只是先按照我的思路去实现了一下。

目前状态是勉强可以使用.^_^

新的版本只支持23/24位。光标显示有问题,暂时禁用光标显示。其它的应该一切正常。
20111019175942889.png

vbe-2011-10-19.zip

5.03 KB, 下载次数: 30, 下载积分: 无忧币 -2

回复

使用道具 举报

 楼主| 发表于 2011-10-19 18:04:59 | 显示全部楼层
如果这个方案可行的话,以后再考虑怎么优化一下代码,加快执行的速度。

目前如果有带背景,滚屏速度会比较慢。
回复

使用道具 举报

 楼主| 发表于 2011-10-19 20:43:01 | 显示全部楼层
再上传一个。。

看看是否常。。。

[ 本帖最后由 chenall 于 2011-10-19 20:46 编辑 ]
20111019204452664.png

vbe-2011-10-19.zip

3.76 KB, 下载次数: 31, 下载积分: 无忧币 -2

回复

使用道具 举报

发表于 2011-10-19 20:59:05 | 显示全部楼层

回复 #57 chenall 的帖子

测试了一下,支持很好。
1.png
回复

使用道具 举报

发表于 2011-10-19 21:12:28 | 显示全部楼层

回复 #58 zxw 的帖子

这个颜色漂亮,不过好像是256色
回复

使用道具 举报

发表于 2011-10-20 08:01:18 | 显示全部楼层
二级菜单怎么处理为好?configfile目前对vbe设置的mode及bmp也初始化,我认为应该继承。
没测试字库,大家测试一下。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 07:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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