无忧启动论坛

标题: grub4dos支持VBE 显示模式的外部命令(阶段性完美版) [打印本页]

作者: chenall    时间: 2011-10-14 00:24
标题: grub4dos支持VBE 显示模式的外部命令(阶段性完美版)
下载最新版本附件。

直接在GRUB4DOS下作为外部命令运行即可。。

支持带字库参数(为了方便编程测试只支持VTEDIT生成的字库)。比如

vbe vfont=/vt.exe

效果图看附件。

执行之后会进入VBE 0x101 640*480*8的模式.

使用terminal console命令退出。

执行VESA之后不可以使用FONT/UNIFONT/SPLASHIMAGE/GFXMENU等图形界面的命令,可能会导致死机。

代码修改自这里

http://bbs.znpc.net/viewthread.php?tid=6136&extra=page%3D1

这边也有一个测试的版本
http://bbs.znpc.net/viewthread.php?tid=6139&page=2#pid48977

要使用VFONT字体需要加VFONT参数

例子:

vbe vfont=/vt.exe

为了便于测试,支持指定模式比如

vbe mode=0x101 (默认)640x480x8
vbe mode=0x103 800x600x8
vbe mode=0x107 1280x1024x8

具体的可以自己使用vbeprobe命令查看。

最新版本的参数介绍
vbe mode=[mode] vfont=[vfont] demo

1.vbe demo(vbe界面演示)
2.vbe mode=[mode] 进入指定的vbe 模式,配合vfont参数可以显示中文。

使用以下命令返回。
terminal console

最新版本可以使用color命令设置颜色。
color NORMAL [HIGHLIGHT [HELPTEXT [HEADING]]]

和console模式中的一样可以指定不同的地方显示不同的颜色。
例子:
color 0xff00 0xffffff 0xff00ff 0xffff00

颜色代码格式:0xRRGGBB
注:颜色代码是一个32位的数值(只有后面24位有效)。

另外还可以使用color 设置光标颜色和背景色
color -1 背景色 光标色
color -1 0 0xff0000

注:背景色只有x8(256色)的模式下有效。

2011-11-05  自动检测并使用800X600X32/24模式.
配合最新版GRUB4DOS使用2011-11-04以上的版本.
支持调用用GRUB4DOS的FONT命令加载的字库.
例子,如下两行就可以了.
font /unifont.hex
vbe

可以使用这里的工具生成小字库.
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=180142&page=151#pid2332577


2011-10-17
阶段性完美版。修复所有已知的BUG,支持显示一个启动图片。
例子:
vbe bmp=/test.bmp (效果看附件)

注:这个图片必需是BMP格式,24位色,并且是系统所支持的分辨率才可以使用。
比如800x600x24或1024x768x24等.

2011-10-16 更新
进入实用性阶段。支持设置颜色(包括光标的颜色)

2011-10-14 晚上11点更新
基本上可以作为日常使用了,尝试支持所有支持的模式,支持滚屏等。

注:如果发现执行之后是一片黑屏这时是没有死机的,可能是颜色不对。
输入以下命令回车后就可以返回了(盲打),一次不行就再输几次一般都可以正常退出的。
terminal console

[ 本帖最后由 chenall 于 2011-11-5 21:44 编辑 ]

20111014.png (3.91 KB, 下载次数: 349)

20111014.png

20111016170643289.png (13.86 KB, 下载次数: 265)

800x600x24 的效果图

800x600x24 的效果图

20111017222051352.jpg (84.37 KB, 下载次数: 261)

20111017222051352.jpg

vesa.rar

4.11 KB, 下载次数: 181, 下载积分: 无忧币 -2

vesa-2011-10-14.zip

5.17 KB, 下载次数: 121, 下载积分: 无忧币 -2

vbe-2011-10-16.zip

4.84 KB, 下载次数: 106, 下载积分: 无忧币 -2

vbe-2011-10-17.zip

5.46 KB, 下载次数: 79, 下载积分: 无忧币 -2

vbe-2011-10-19.zip

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

vbe-2011-11-05.zip

4.39 KB, 下载次数: 251, 下载积分: 无忧币 -2

必须配合2011-11-04以上的版本使用.


作者: chenall    时间: 2011-10-14 00:33
标题: 回复 #1 chenall 的帖子
这个只是个半成品。。还需要完善,有时间我再慢慢完善,顺便可以学习一下VBE的编程

很多东西都得临时学,如果有人可以给GRUB4DOS打一个补丁完美支持VBE的话就再好不过了,嘿嘿。
作者: pseudo    时间: 2011-10-14 00:33
试试新玩意。              
作者: yechengzhou    时间: 2011-10-14 02:33
越来越强大了,支持一下....
作者: chenall    时间: 2011-10-14 18:00
再上传一下,参数有变化。

要使用VFONT字体需要加VFONT参数

例子:

vesa vfont=/vt.exe

为了便于测试,支持指定模式比如

vesa mode=0x101 (默认)640x480x8
vesa mode=0x103 800x600x8
vesa mode=0x107 1280x1024x8

具体的可以自己使用vbeprobe命令查看。

目前的版本只适应8位的颜色。其它的模式可以会显示异常。

另外这个版本支持光标显示了。滚屏的还没有处理,目前显示满一页就自动清屏。

vesa-2011-10-14.zip

4.79 KB, 下载次数: 51, 下载积分: 无忧币 -2


作者: zxw    时间: 2011-10-14 18:22
c大动作真快,前几天还在猜测什么时候实现

===========================
测试了一下,对vmare支持不太好。貌似死机。
qemu测试正常。

呵,要是以后支持utf-8格式就好了。

[ 本帖最后由 zxw 于 2011-10-14 18:58 编辑 ]
作者: wangziqiang    时间: 2011-10-14 20:50
新东东啊   辛苦了C大 目前不会用啊  留位学习
作者: Plantsoot    时间: 2011-10-14 21:04
C大的脚步越来越快,又有新的好东西了。
作者: chenall    时间: 2011-10-14 23:51
再更新了一下,基本上可以作为日常的使用了,可以代替默认的CONSOLE模式。

使用了字库之后,这个目前可以支持显示64个不同的字,VFONT只支持30个。
作者: zxw    时间: 2011-10-15 00:01
在vmare还是黑屏,盲打输入一次terminal console后,能正常退出。重复几次,还是黑屏。
作者: chenall    时间: 2011-10-15 00:15
标题: 回复 #10 zxw 的帖子
你可以换一个显示模式看看。

用vbeprobe查看支持的模式。

然后使用类似如下的命令。
vesa mode=0x114
作者: zxw    时间: 2011-10-15 00:36
标题: 回复 #11 chenall 的帖子
用vbeprobe查看如附件,反复测试所有*8的模式,依旧黑屏。其它模式呈现不正常彩色。
再看,支持的模式与你给出的有出入。
如,你提供的:vesa mode=0x101 (默认)640x480x8


作者: chenall    时间: 2011-10-15 00:48
重新上传了一个,强制指定颜色为纯白色。。

这下应该正常了,顺便把cls功能也修改了一下,用内存清零的方法来清屏。
作者: chenall    时间: 2011-10-15 00:49
标题: 回复 #12 zxw 的帖子
你注意看一下应该在后面,vmware也有支持0x101模式的。


新的版本应该支持所有模式,一般情况下文字应该是白色的,光标颜色不同模式可能会不太一样。

[ 本帖最后由 chenall 于 2011-10-15 00:52 编辑 ]
作者: zxw    时间: 2011-10-15 00:56
标题: 回复 #14 chenall 的帖子
OK,默认模式显示、字体加载测试正常了。后期加上字体颜色支持就比较完美了。

另,不知能否继续改造以支持utf-8格式?

========================
继续“贪得无厌”地臆想:
如能获得类似天汇的源代码,再改造个中文输入法,嘿嘿!!

[ 本帖最后由 zxw 于 2011-10-15 01:16 编辑 ]
作者: chenall    时间: 2011-10-16 17:23
更新了一下,进入实用性阶段,,,,

具体见一楼介绍。

另外有一个问题,我不知如何处理,麻烦知道的朋友提供一些资料。
对于背景色的设置,8位色的模式色只要调用int 10修改调色板0的颜色就可以了。

其它模式下有没有类似的方法?
作者: hotdll    时间: 2011-10-16 18:35
标题: 回复 #1 chenall 的帖子
谢谢C大的劳动。
看来G4D支持32位色也是不远了。
晚上抽空测试下。好像体积可以小很多
作者: hotdll    时间: 2011-10-16 18:36
标题: 回复 #15 zxw 的帖子
这个想法非常好。我也有类似的想法。
作者: hotdll    时间: 2011-10-16 18:39
原帖由 chenall 于 2011-10-16 17:23 发表
更新了一下,进入实用性阶段,,,,

具体见一楼介绍。

另外有一个问题,我不知如何处理,麻烦知道的朋友提供一些资料。
对于背景色的设置,8位色的模式色只要调用int 10修改调色板0的颜色就可以了。

其它 ...

C大帮您找到了一点资料
http://www.dzsc.com/data/html/2010-7-6/83956.html
作者: 不点    时间: 2011-10-16 20:05
8位颜色需要设置 Palette,本来就是个很落后的技术,应该淘汰。它只是为了兼容以前的 VGA/EGA 等而存在的技术。

新的 15/16/24/32 位不需要设置调色板就能直接使用颜色,这难道不好吗?
作者: roytam1    时间: 2011-10-16 21:35
原帖由 不点 于 2011-10-16 20:05 发表
8位颜色需要设置 Palette,本来就是个很落后的技术,应该淘汰。它只是为了兼容以前的 VGA/EGA 等而存在的技术。

新的 15/16/24/32 位不需要设置调色板就能直接使用颜色,这难道不好吗?

不對。
Palette 是為了節省記憶體(及頻寬)的做法,並不存在「落後」與否的說法。
要不要支持8位元色深我也沒意見,我只是來糾正這個錯誤的想法的。
作者: 不点    时间: 2011-10-16 23:00
你说得对,Roy。

我的意思还有一层:8 位根据 “下标” 来寻找真正的颜色,这 “拐弯” 了,不爽。这个 “不爽”,就转换成 “落后” 了。

而 Direct Color 是 “直接着色”,不需要利用下标这个 “中转站”,是最简单的着色方案。简单就是 “美”。
作者: zhuyoucheng    时间: 2011-10-17 12:40
测试了下,光标上的中文菜单显示会乱码。
作者: zxw    时间: 2011-10-17 17:36
标题: 回复 #23 zhuyoucheng 的帖子
菜单必须是ansi格式,其中的文字,必须用vtedit生成。

[ 本帖最后由 zxw 于 2011-10-17 17:38 编辑 ]
作者: zhuyoucheng    时间: 2011-10-17 19:12
标题: 回复 #24 zxw 的帖子
是用VTEDIT生成的菜单,我的意思是不在光标上的菜单中文显示正常,当光标移动到哪个菜单哪个菜单上的中文字就是乱码
作者: chenall    时间: 2011-10-17 22:24
标题: 回复 #25 zhuyoucheng 的帖子
谢谢报告,已经修复,请从一楼下载新的版本测试。

新的版本修正了在VMWARE或实机中显示字符可能会乱码的问题。

新的版本默认是800x600x24,如果不支持该模式则使用800x600x16,如果还是不支持必须手工指定。

如果有带bmp参数,会自动设置一个和BMP文件一样分辨率的模式。

[ 本帖最后由 chenall 于 2011-10-17 22:26 编辑 ]
作者: chenall    时间: 2011-10-17 22:31
学不点一样,阶段性完美版。。。

也许以后我也不考虑8/15/16,特别是8位色。编程太麻烦了。去除这些的支持可以使得程序更小巧。方便以后移值到GRUB4DOS里面去。

目前对于设置背景图片我还没有任何头绪,不知有没有什么比较好有办法?

要显示一个图片比较简单,新的测试中就支持BMP格式,要支持其它格式也很简单。

问题是我不知道如何把这个图片设为背景。

难道要分配一块内存存放图片,然后输出字符的时候和这个进行比较运算。这样感觉效率太低了。
作者: 不点    时间: 2011-10-17 23:24
@chenall

不幸的是,grub4dos 中的 splashimage 图片,就是按照你所说的最后一句话来处理的。

目前可以先考虑国际化问题,暂时不要考虑背景图片问题。
作者: chenall    时间: 2011-10-17 23:44
明天再试试看看把UNIFONT的字库移植过来。。。

为了方便测试VBE的功能我写了一个BIOS的外部命令,这样就可以不用编程直接测试。(当然了这个BIOS命令不单单是用于测试VBE功能的)

有兴趣的朋友可以试试,如果对中断资料比较熟的话,配合批处理没有什么不可能的。^_^.

http://chenall.net/post/grub4dos_biosint/

[ 本帖最后由 chenall 于 2011-10-17 23:46 编辑 ]
作者: zxw    时间: 2011-10-18 00:00
标题: 回复 #29 chenall 的帖子
晕啊,太强大了。
作者: 135956    时间: 2011-10-18 00:21
这下,真是可以直接同硬件打交道了。。。。
强悍!方便。
作者: 135956    时间: 2011-10-18 00:50
outb/outw/outl 与 inb/inw/inl
这些具体表示什么意思呢?
作者: 不点    时间: 2011-10-18 04:03
原帖由 chenall 于 2011-10-17 23:44 发表
明天再试试看看把UNIFONT的字库移植过来。。。



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

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

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

你也可以参考一下。

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

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


作者: hotdll    时间: 2011-10-18 08:32
标题: 回复 #33 不点 的帖子
不点大师看来真的打算把G4D发展成OS
作者: zhaohj    时间: 2011-10-18 08:39
英文版下完美支持中文、完美支持图形,又是一个里程碑!
建议grub4dos0.4.5终结,直接到grub4dos0.5.0,新的版本去掉原中文版,vbe代替原fontfile,也废除gfxmenu。
作者: 527104427    时间: 2011-10-18 08:47
标题: 回复 #35 zhaohj 的帖子
晕``废除gfxmenu?这个不建议……
作者: 幸运的草    时间: 2011-10-18 09:04
标题: 回复 #35 zhaohj 的帖子
不知为什么要废除grxmenu?如喜欢不用不就得了。有人想用呢!
作者: mygamexxx    时间: 2011-10-18 10:05
如果能作为界面壁纸形式就可以放弃gfxmenu了。
作者: chenall    时间: 2011-10-18 11:20
标题: 回复 #35 zhaohj 的帖子
我也有类似的想法,所以新的GRUB4DOS将不会再增加功能,最多只是BUG修复。

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

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

新的功能测试目前可以通过外部命令来先实现。
作者: chenall    时间: 2011-10-18 11:22
标题: 回复 #33 不点 的帖子
嗯,就等你的成果了,以前的UNIFONT字库是可以直接使用,不过新的字库生成软件要收费,正在考虑查找新的方案呢,本来还想考虑移GRUB2的字库过来。。。
作者: chenall    时间: 2011-10-18 11:30
原帖由 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个调色板。
第二句是红色值
第三句是绿色
第四句是蓝色
作者: zxw    时间: 2011-10-18 12:00
标题: 回复 #35 zhaohj 的帖子
我也是这个想法。另外,最好编码最好统一utf-8,国际化。
作者: zhaohj    时间: 2011-10-18 16:48
今天在一台实机上测试,vbe bmp=/test.bmp (800*600*24),竟然提示不支持。
返回到菜单运行PE,在检测硬件上差不多死机,无法进入桌面。terminal console后运行PE正常。
VM虚拟机测试都正常。
作者: 不点    时间: 2011-10-18 17:03
有可能不支持

800x600x24

而支持 32 位色深:

800x600x32

用时空上我制作的 vesa.zip 测试一下,或者用 vbeprobe 来显示一下,就知道是否支持 800x600x24 了。
作者: bfgxp    时间: 2011-10-18 17:24
期待下一个能做背景的阶段
作者: zhaohj    时间: 2011-10-18 17:40
原帖由 不点 于 2011-10-18 17:03 发表
有可能不支持

800x600x24

而支持 32 位色深:



在本机上vbeprobe查看了一下,确实不支持800*600*24。看了一下,基本上没有24位的支持值。
建议vbe bmp=/xxx.bmp时自动匹配最佳模式。(如图片是24位色,但机器不支持24位色时从32位色匹配...)
作者: 不点    时间: 2011-10-18 18:13
VBE 规范已经指出,有些厂家的实现只支持 24 位,而有些则只支持 32 位。软件必须同时支持 24 和 32 位才能保持良好的兼容性。

支持 24 位的主要理由是节约内存。支持 32 位的主要理由是运算速度快。因此,有的厂家选择 24 位,有的选择 32 位。而把 24 和 32 位同时都选择的厂家,应该也有,但我还没有遇到过这种情况。
作者: chenall    时间: 2011-10-18 18:50
标题: 回复 #46 zhaohj 的帖子
本来就有自动匹配的啊。难道你的机器连32位也不支持?

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

用VMWARE测试通过,VMWARE就是32位的。
作者: zhaohj    时间: 2011-10-18 19:49
可能是我的错。
确实会自动匹配,我因为原先强制使用mode=0xYYY(24位色)。
坚信这次是一场质的飞跃。
作者: xianglang    时间: 2011-10-18 21:10
我在我的上网本上试了一下,只支持640*480*8、640*480*16、640*480*32这三种模式(上网本的分辨率是1024*576的),而有些电脑,只支持24或者32位色,不过就接触到的电脑,都全部支持16位色的——我觉得16位与24位、32位色,肉眼看起来也没太大区别,因此如果可能的话,VBE模式最好也支持16位色。
作者: chenall    时间: 2011-10-18 22:03
标题: 回复 #50 xianglang 的帖子
8/15/16都需要转换颜色,造成编程的不方便。

一般来说除非太老的机子,否则至少要支持24/32位其中的一种。
作者: 不点    时间: 2011-10-18 22:54
越新的电脑,就越是要支持 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 编辑 ]
作者: hotdll    时间: 2011-10-18 23:06
标题: 回复 #52 不点 的帖子
不点大师说的很对。建议先32位不行再24位。感觉24位的速度应该没有32位的快。
作者: hhh333    时间: 2011-10-18 23:35
看来chenall老大要解决grub4dos一直以来界面难看的问题了!期待!
作者: chenall    时间: 2011-10-19 18:03
最新进展,初步实现背景图片。。。。

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

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

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

20111019175942889.png (176.34 KB, 下载次数: 217)

20111019175942889.png

vbe-2011-10-19.zip

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


作者: chenall    时间: 2011-10-19 18:04
如果这个方案可行的话,以后再考虑怎么优化一下代码,加快执行的速度。

目前如果有带背景,滚屏速度会比较慢。
作者: chenall    时间: 2011-10-19 20:43
再上传一个。。

看看是否常。。。

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

20111019204452664.png (121.46 KB, 下载次数: 240)

20111019204452664.png

vbe-2011-10-19.zip

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


作者: zxw    时间: 2011-10-19 20:59
标题: 回复 #57 chenall 的帖子
测试了一下,支持很好。

作者: hotdll    时间: 2011-10-19 21:12
标题: 回复 #58 zxw 的帖子
这个颜色漂亮,不过好像是256色
作者: zhaohj    时间: 2011-10-20 08:01
二级菜单怎么处理为好?configfile目前对vbe设置的mode及bmp也初始化,我认为应该继承。
没测试字库,大家测试一下。
作者: chenall    时间: 2011-10-20 11:18
标题: 回复 #60 zhaohj 的帖子
这个应该是你自己菜单的问题吧。

我在VBE环境中执行configfile未见异常。
作者: zxw    时间: 2011-10-20 11:20
标题: 回复 #60 zhaohj 的帖子
可能你的二级菜单内有terminal console
作者: zhaohj    时间: 2011-10-20 11:30
sorry,没仔细看,二级菜单中真有terminal console,晕。
--------------
菜单转命令行模式,这个时候的图片有点眼花。

2011.10.09版本G4D测试,vbe bmp=/test.bmp,其中的图片是800*600*24,用vbeprobe查看VM支持8/16/32位色
PXE启动,显示菜单桌面正常,但一个正常能运行的PE,在下面卡住了(进桌面前),使用了外部命令FAT
在使用FAT前terminal console则正常。

[ 本帖最后由 zhaohj 于 2011-10-20 12:17 编辑 ]

Snap1.jpg (81.09 KB, 下载次数: 208)

Snap1.jpg

Snap2.jpg (5.52 KB, 下载次数: 202)

Snap2.jpg

作者: chenall    时间: 2011-10-20 12:19
这个比较奇怪,因为启动时会自动卸载的。你确定是在BOOT前TERMINAL CONSOLE?是指在该PE菜单的最后一句使用TERMINAL CONSOLE。


试试这个,只是改变了VBE程序驻留内存的位置改到5M位置。

vbe-2011-10-20.zip

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


作者: 2011yangg429    时间: 2011-10-20 12:26
囧 图片很霸气的说~~~~~~~~~~~
作者: zhaohj    时间: 2011-10-20 12:50
因为我是用P处理启动的PE,已经证明在FAT命令前terminal console就正常。
目前与FAT的使用内存有关
把临时内存22M移动到32M处,也解决问题:
map --mem=0xB000 /COOLG/IMG/TOOLS.WIM (rd)=》map --mem=0x10000 /COOLG/IMG/TOOLS.WIM (rd)
FAT copy (rd)+1 (fd0)/TOOLS.WIM

难道目前VBE使用22M处的内存?
我还是老实点,把临时内存全改成32M以上处。

[ 本帖最后由 zhaohj 于 2011-10-20 14:25 编辑 ]
作者: xianglang    时间: 2011-10-20 13:59
背景图能不能支持JPG或者PNG格式啊?BMP的实在是太占地方了。另外,我的上网本只支持640*480*32模式,但是用24位的1024*768的图不能显示图片——如果图片要与VBE模式的相同,那通胀性就差了。希望以后的版本,特别是整合到G4D的版本,可以解决这些问题。
作者: zhaohj    时间: 2011-10-20 15:11
我已经开始实机使用了(grub4dos-0.4.5b-20111020),望C大把vbe运行后的停顿去掉吧。
目前只要把临时内存放到32M以上处没有问题。
作者: roytam1    时间: 2011-10-20 15:16
原帖由 xianglang 于 2011-10-20 13:59 发表
背景图能不能支持JPG或者PNG格式啊?BMP的实在是太占地方了。另外,我的上网本只支持640*480*32模式,但是用24位的1024*768的图不能显示图片——如果图片要与VBE模式的相同,那通胀性就差了。希望以后的版本,特 ...

你可以把 BMP 用 gzip 或 lzma 壓縮。
加入支持 JPG 或 PNG 的話 G4D 就要大上 200KB 吧。
作者: chenall    时间: 2011-10-20 15:57
标题: 回复 #67 xianglang 的帖子
呵呵,因为BMP格式比较简单,特别是24/32位的图片。还有以前的XPM格式也很简单。

若要用PNG/JPG的话因为这些都是压缩的还需要额外的库支持,程序会变得很大。

不过这些都不是目前的重点。目前先保证稳定可以使用,图片的问题以后可以使用外部模块的方式来加载。

使用外部模块就不用考虑那么多了,内部使用的话要尽可能小巧一些。
作者: 不点    时间: 2011-10-20 17:26
标题: 回复 #66 zhaohj 的帖子
难道目前VBE使用22M处的内存?
我还是老实点,把临时内存全改成32M以上处。


你很不 “老实”。新版本保留 32M 供内核使用,你不可以靠近 32M。你要远离 32M,比如,用 64M 以后的内存。

在 32M 处,将是外部程序代码的 “进程空间”。你可不要与此冲突了哟!
作者: zhaohj    时间: 2011-10-20 17:49
呵呵,不点大说得有理,等C大把外部命令处理完毕再修改。
vbe别再停等了,直接出界面吧。我的环境很多人第一启动PXE啊。
作者: 不点    时间: 2011-10-20 18:18
我刚刚把 VBE 的基础平台准备好。你就不要太过于性急了吧。VBE 的事,慢慢来。chenall 已经做了不少工作,将来可以直接把 chenall 的代码用上。

我准备在现有的 graphics 模式中,实现 VBE。就是说,把 VBE 作为 graphics 里面的一个(子)模式,就像 graphics 现有的 0x12 和 0x6A 那样。

实现起来似乎也不太难。
作者: mygamexxx    时间: 2011-10-24 15:32
g4d搞美观了,赶快支持字库(现在的64个汉字还是太少啊)和UTF-8汉字字符显示吧,心动啊

[ 本帖最后由 mygamexxx 于 2011-10-24 15:35 编辑 ]
作者: 2011bloodflood    时间: 2011-10-28 13:58
能不能说的简单点啊?这个vbe vfont=/vt.exe, vbe bmp=/test.bmp是放到menu.lst里面运行的指令么?
作者: zhaohj    时间: 2011-11-2 10:16
不使用VBE之前,CSPE运行很正常。
使用VBE之后(即使后面terminal console),运行CSPE出现图示
取消VBE就正常。怀疑VBE对内存的处理有问题。
目前还没有发现运行其他PE出现问题。就这个vmscsi的虚拟机出现问题,很奇怪。

Snap1.jpg (5.65 KB, 下载次数: 264)

Snap1.jpg

作者: chenall    时间: 2011-11-2 16:13
可能是CSPE使用到的内存比较多有冲突了,
作者: zhaohj    时间: 2011-11-3 11:27
C大有空更新一下VBE,把getxy调整一下。
-------------
已按不点提供的方法修改,测试OK!

[ 本帖最后由 zhaohj 于 2011-11-3 17:39 编辑 ]
作者: chenall    时间: 2011-11-3 23:32
再上传一个可以使用UTF-8显示文字的VBE

使用新版grub4dos的font命令加载字库之后就可以了.

效果自己看...

采用的是类似于UNIFONT的处理方法,但去掉了许多的检测.偷了懒,省去了许多判断代码.只要不显示满一整行,应该没有什么问题.

适用于在菜单上显示汉字..只是一个过渡的版本.接下来就等不点的新版成品了..

[ 本帖最后由 chenall 于 2011-11-4 19:04 编辑 ]

test.png (51.75 KB, 下载次数: 208)

test.png

vbe-2011-11-03.zip

4.29 KB, 下载次数: 28, 下载积分: 无忧币 -2


作者: zhaohj    时间: 2011-11-4 15:07
font加载不了字库,C大上次一个字库看看。或告诉这个字库是怎么生存的?
作者: chenall    时间: 2011-11-4 15:58
字库格式必须符合要求.

http://bbs.znpc.net/viewthread.p ... fromuid=29#pid49164
作者: xianglang    时间: 2011-11-4 18:09
原帖由 chenall 于 2011-11-3 23:32 发表
再上传一个可以使用UTF-8显示文字的VBE

使用新版grub4dos的font命令加载字库之后就可以了.

效果自己看...

采用的是类似于UNIFONT的处理方法,但去掉了许多的检测.偷了懒,省去了许多判断代码.只要不显示 ...


这个 vbefont 是怎么使用的?我用了以下命令,UTF-8格式的菜单,显示中文仍然是乱码啊。G4D版本是2011-11-03中文版的GRLDR,菜单中的相关命令如下(如果按C进入命令下,再输入font /grub/unifont-5.1.20080820.hex会提示已经加载,因此字库应该已经成功加载了):

font /grub/unifont-5.1.20080820.hex
/grub/vbefont
作者: chenall    时间: 2011-11-4 18:56
抱歉,传错了.

是这个VBE.

可以启动VBE模式之后再加载字库,也可以先加载字库再启动VBE

用以下命令加载字库

font /unifont.hex

这个也可以替代UNIFONT了.

vbe-2011-11-04.zip

4.36 KB, 下载次数: 25, 下载积分: 无忧币 -2


作者: chenall    时间: 2011-11-4 19:05
再上传一个配合最新测试版本使用的VBE.

如果使用的是今天的测试版GRUB4DOS需要配合这个VBE程序使用才正常 ..

附上24位图片效果图.



[ 本帖最后由 chenall 于 2011-11-4 19:14 编辑 ]

vbe-2011-11-04.zip

4.36 KB, 下载次数: 40, 下载积分: 无忧币 -2


作者: 讯极天度    时间: 2011-11-4 23:31
呵呵 不错 这样就更好了!
作者: xianglang    时间: 2011-11-5 01:52
原帖由 chenall 于 2011-11-4 19:05 发表
再上传一个配合最新测试版本使用的VBE.

如果使用的是今天的测试版GRUB4DOS需要配合这个VBE程序使用才正常 ..

附上24位图片效果图.

http://photo.staticsdo.com/a1/218/214/275/78928-49499083-8.png



这次成功了!不过,运行 VBE 之后的那个暂停如果取消了,就更实用了。
作者: tingyue-wu    时间: 2011-11-5 06:25
标题: 回复 #86 xianglang 的帖子
http://bbs.wuyou.net/forum.php?m ... page=150#pid2331899

这里有取消暂停的版本。
作者: tingyue-wu    时间: 2011-11-5 19:56
vbe不支持cd还是用的字体不支持cd呀 我用0pe中的打包iso文件批处理“把DEMO目录下内容重新生成DEMO.ISO的批处理.cmd”打包成iso后,用简易启动测试器启动,图片可以载入 但是中文是乱码 。我的字体文件用的是小写,菜单里边也是小写。
作者: chenall    时间: 2011-11-5 20:36
先在命令行下使用以下命令加载字库看看.

font /xxx/unifont.hex

另外0PE附带的GRLDR可能是旧版的,不支持.

喜欢小字库的可以试试这个小程序.

http://bbs.wuyou.net/forum.php?m ... page=151#pid2332577

可以生成足够小的字库.
作者: tingyue-wu    时间: 2011-11-5 20:40
标题: 回复 #89 chenall 的帖子
刚仔细检查了0pe的cmd文件 是参数问题。
添加-U -max-iso9660-filenames之后生成的iso文件用启动器启动就可以加载中文,正常显示了。

另外谢谢这个生成字库的小工具。
作者: hotdll    时间: 2011-11-5 21:16
标题: 回复 #89 chenall 的帖子
我用VM虚拟机测试的结果怎么是这样的?

作者: chenall    时间: 2011-11-5 21:28
标题: 回复 #91 hotdll 的帖子
默认是0x115或0x114,可能是VMWARE不支持这两种模式.

稍后修改一下,自动检测一个800X600X32的模式.
作者: hotdll    时间: 2011-11-5 21:42
标题: 回复 #92 chenall 的帖子
我用简易启动器测试的更不可思议
黑乎乎的什么都看不清
我测试的代码如下:
font /BOOT/GRUB/MENU.HEX
vbe
作者: chenall    时间: 2011-11-5 21:46
标题: 回复 #93 hotdll 的帖子
试试刚上传的版本有没有顺便解决了?
作者: tingyue-wu    时间: 2011-11-5 21:48
标题: 回复 #93 hotdll 的帖子
是的 你的模块的颜色设置和vbe'背景色产生的问题
我试过了zxw的run列表也是黑乎乎 看不清 你的也是 zhao*大的srsf6可以显示出来,但是也不是很清楚。

还有一个办法 就是在vbe里用一个颜色明快的背景图。

看run模块运行后的图 你的也是这样的。

[ 本帖最后由 tingyue-wu 于 2011-11-5 21:53 编辑 ]

未命名.jpg (10.57 KB, 下载次数: 163)

未命名.jpg

作者: chenall    时间: 2011-11-5 21:51
标题: 回复 #93 hotdll 的帖子
你们有使用color命令设置颜色吗,否则默认情况下的颜色是可以看得清的.

使用color设置颜色要注意..VBE的颜色代码是32位的,如果使用像控制台一样的
color 11 12 13 14那肯定是黑色一片了.

另外看你的截图是11-03版,的建议换成11-04版的,后面上传的都是对应11-04版的GRUB4DOS

如果版本对应也是不行的.

[ 本帖最后由 chenall 于 2011-11-5 21:52 编辑 ]
作者: hotdll    时间: 2011-11-5 21:53
原帖由 chenall 于 2011-11-5 21:46 发表
试试刚上传的版本有没有顺便解决了?

刚刚更新了GRLDR 11-04  奇怪,明明更新了grldr 11-04怎么还是1103
更新了vbe 11-05
背景正常了,为什么字体乱码?


[ 本帖最后由 hotdll 于 2011-11-5 21:58 编辑 ]
作者: tingyue-wu    时间: 2011-11-5 21:55
我的颜色设置 color 0x00366D 0xFF4A4A 0xFF4AFF 0xFFFFFF
用的最新版本vbe
作者: tingyue-wu    时间: 2011-11-5 21:56
标题: 回复 #97 hotdll 的帖子
乱码是iso制作的问题。90楼有答案
作者: hotdll    时间: 2011-11-5 21:56
标题: 回复 #99 tingyue-wu 的帖子
我没有用iso,我用的是ud




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3