无忧启动论坛

标题: 增强 GRUB4DOS 菜单编辑功能,支持动画,支持精简字库,支持图形菜单 [打印本页]

作者: 2011yaya2007777    时间: 2015-7-9 20:57
标题: 增强 GRUB4DOS 菜单编辑功能,支持动画,支持精简字库,支持图形菜单
[ 本帖最后由 2011yaya2007777 于 2023-3-29 16:11 编辑 ]\n\n

2023-03-29
  增加外部定时器应用:进度条(ProgressBar)。
  使用方式:ProgressBar [--no-box] 左上角x 左上角y x尺寸 y尺寸 颜色 模式
  颜色:24位色  0x红红绿绿蓝蓝
  模式(0-3):1.水平从左到右  2.水平从右到左  3.垂直从上到下  4.垂直从下到上
  模式(4-7):0.递增  1.递减
  x与y采用像素表示
  --no-box: 在递增模式不显示边框

2021-10-13
  增强菜单项目、项目注释以及菜单字符串的文字颜色功能。例如:
    title boot $[0xff00ff]Windows $[]10x64
2019-12-20
  1. 改进 setmenu 字符串功能,增加索引和菜单区域内居中。字符串可以使用背景色。
     setmenu --string[=iINDEX]=[X|s|m]=[-]Y=COLOR="STRING"
  iINDEX 范围是 i0-i15. 如果没有 =iINDEX 索引自动递增。
  如果水平位置是 s 则字符串在全屏居中; 如果水平位置是 m 则字符串在菜单区域内居中。  2. 动态更新日期时间增加标题,可显示中文。
     例如:“date&time日期时间:  =MMM.dd.yyyy  HH:mm:ss”
2019-9-9
  setmenu 函数增加 --keyhelp-on* --keyhelp-off 参数。  

2019-8-8
  菜单每秒动态更新日期时间。
  1. 指定日期时间格式
  setmenu --string=x=y=color="date&time=FORMAT"
  例如:“date&time=MMM.dd.yyyy  HH:mm:ss”
        “date&time=dd/MMM/yy  hh:mm:ss AP"
  2. 隐含ISO8601标准日期时间格式(yyyy-MM-dd  HH:mm:ss)
  setmenu --string=x=y=color="date&time”
  3. 清除日期时间
  setmenu --string=date&time

2019-3-25
    条件菜单项目(iftitle )支持图形菜单。
    图形菜单改进:支持背景高亮、支持图文混排。
        
    setmenu --graphic-entry=图形类型=图形菜单行数=图形菜单列数=图形宽=图形高=图形行间隙 图形文件
    图文混排时,图形与文本选中项(高亮项)的设置,是各种独立的,可以单独设置。
    如果高亮只需要通过文本实现,图形类型可设置为0x90.
    图形类型:
    位0:前景高亮    位1:前景色翻转    位2:图形加框    位3:背景高亮   位4:图文混排     位7:背景透明
    图形行间隙在图文混排模式,不能实现随意调整。如果间隙不理想,可以设置图形间隙为零。然后使用增加字符间距实现。(setmenu --font-spacing=0:n)

2018-8-21
  增加 setmenu --auto-num-all-on 参数。
  给所有标题编号。(--auto-num-on 参数仅给引导标题编号)
  注释:0x8274 00/01/02=禁止自动编号/仅给引导标题编号/给所有标题编号
        0x8275 标题编号与标题内容之间的字符。如:0x20=' '   0x2d='-'
        0x8276 返回当前标题编号。(按所有标题计)

2018-07-01
  增加 setmenu --triangle-on --triangle-off 参数,打开/关闭菜单三角形指示器。默认打开。
  增加 setmenu --middle-align 参数。菜单项目及菜单项目帮助居中。

2018-06-12
  1. 增加 beep 函数,播放音乐。(issues #175)(issues #176)
  beep [--start|--mid|--end] [--play=N] [--nowait] 频率 持续时间 ...
  频率: Hz    持续时间: ms     最大 126 音符.
  N:播放次数 0-255。0是停止播放,255是连续播放(按任何键停止播放)。
  当音节很多时,可以用不同的行书写。使用 [--start|--mid|--end] 指定.
  例1: 警报
  beep --play=10 400 20 500 20 600 20 700 20 800 20 900 20 1000 20 1100 20 1200 20 1300 20 1400 20 1500 20 1600 20
  例2: 茉莉花
  title beep
  !BAT
  beep --start 330 600 330 300 392 300 440 300 522 300 522 300 440 300 392 600 393 300 440 300 392 1200
  beep --mid 392 600 392 600 392 600 330 300 392 300 440 600 440 600 392 1200
  beep --mid 330 600 293 300 330 300 392 600 330 300 293 300 261 600 261 300 293 300 261 1200
  beep --mid 330 300 293 300 261 300 330 300 293 900 330 300 392 600 440 300 522 300 392 1200
  beep --mid 293 600 330 300 392 300 293 300 330 300 261 300 220 300 196 1200
  beep --end --play=255 --nowait 220 600 220 300 261 300 293 900 330 300 261 300 293 300 261 300 220 300 196 1800
  2. 改善图像透明背景的算法。
  3. 修改 grub_memmove 函数,提高运算速度。
  4. 修正 map 函数中碎片映射的错误。

2018-04-23  在菜单项首行增加 !BAT 可按批处理方式书写与执行,使用批处理的功能。比如:goto :label

2018-03-15  增强 setmenu --string 函数功能
   --string=[X]=[-]Y=COLOR="STRING"
   没有X, 表示水平居中.
   -Y表示从菜单底部计数.  -0就是最后一行.

2017-12-05  增强颜色赋值功能。修正color及echo帮助信息。
  1. 按目标分配颜色,顺序不能乱(未选菜单 被选菜单 帮助 标题)。颜色可用占位符n替换。
    例: color black/cyan yellow/cyan red/cyan light-green/cyan    字符颜色/背景颜色,使用符号颜色。
    例: color 0x30 0x3e 0x34 0x3a    高位背景色,低位字符颜色,8位数字。
    例: color 0x888800000000 0x888800ffff00 0x888800880000 0x88880000ff00    64位数字。
    例: color 0x30    其余同NORMAL。在命令行上使用,改变控制台颜色。
    例: color 0x30 0xe n 0xa    背景色取自NORMAL。使用占位符n。
  2. 可以给指定目标赋颜色,NORMAL应当在首位。
    例: color normal=0x888800000000    其余目标颜色同NORMAL。
    例: color normal=0x4444440000ffff helptext=0xc highlight=0xd heading=0xe border=0xa    背景色同NORMAL。
    例: color standard=0xFFFFFF    改变控制台颜色。
  3. 改变字符串的颜色
    例: echo $[0xCD]字符串    改变字符串的颜色(8或64位数字)。C=背景色,D=字符颜色。
    例: echo $[]字符串        字符串使用系统标准颜色。
  4. 具体颜色可在命令行查看。
    例: echo -h-rrggbb
    例: echo -rrggbb

2017-11-28  修正 setmenu 函数,并且增加下列参数:
  1. --draw-box=[索引]=[起始x]=[起始y]=[水平长度]=[垂直长度]=[线宽]=[颜色]
          划线或画框。其中:索引=1-16;颜色=24色;线宽=1-255;尺寸单位是像素。
          --draw-box=[索引]  清除指定的线或框。
          --draw-box=        清除所有的线或框。
  2. --string=  清除所有的字符串。

2016-04-04
  支持动画菜单
  setmenu --graphic-entry=类型=菜单行数=菜单列数=图形宽(像素)=图形高(像素)=菜单行间距(像素)  菜单项0的路径文件名
  类型: 位0:高亮指定颜色    位1:高亮颜色翻转    位2:高亮显示线框    位7:背景透明(最好使用黑色背景)
  文件名: *n.??? 格式    n=00-99
  高亮颜色由 color HIGHLIGHT=0xrrggbb 指定。
  字符可以使用任意字型、字高、颜色,可以辅以图标。

2016-03-25
  菜单字符可以使用不同字型。
  例如:"七" 使用不同字型,将 .hex 文件中的 unicode 码 “4e03” 修改为 “0080”,  
            将菜单中的 "七" 修改为 “\X0080”。

2016-03-15
  1.增加动画控制热键 F2:播放/停止。
  2.增加动画控制位 0x835b,位0:0/1=停止/播放。
  3.增加精简字库模式:--simp=起始0,终止0,...,起始3,终止3
    内置字库应当包含 DotSize=[font_h],['simp']
    中文可以使用 --simp=
    例如:font --font-high=24 --simp= /24_24.hex
             DotSize=24,simp
    不使用热键:              可以加载 32*32 unifont 全字库
    使用热键:                 可以加载 24*24 unifont 全字库
    使用精简字库:           可以加载 46*46 汉字全字库
    使用精简字库及热键: 可以加载 40*40 汉字全字库
  4.不再支持 bin 格式字库。

2016-02-26  
加载透明背景的图像    splashimage [--offset=[type]=[x]=[y]] FILE
类型[type]:bit 7: 透明背景

2016-02-21
  1.增加图像背景色设置方法。    splashimage --fill-color=[0xrrggbb]
    作用之一,作为小图像的背景。
    作用之二,直接作为菜单的背景(即不加载图像背景)。此时只设置字体的前景色即可。
  2.增加动画菜单。    splashimage --animated=[type]=[delay]=[last_num]=[x]=[y] START_FILE
    类型[type]:bit 0-3: 播放次数    bit 4: 永远重复    bit 7: 透明背景
                      type=00: 禁止播放
                播放n次:序列图像各显示n次,时间独占。可作为启动前导、序幕。
                永远重复:序列图像无限循环,时间与菜单共享。可作为菜单里的动画。
                背景透明:即抠像。要求4角像素为背景色。
                                背景色最好为白色或黑色,这样可以去除一些灰色杂波。若是彩色背景,则应当非常干净。
                提醒:请以16进制方式输入。否则易错。
    延迟[delay]:序列图像之间的延迟。单位是滴答,即1/18.2秒。
    序列数[last_num]:序列图像总数(2位数,从1开始计数)。
    偏移[x]、[y]:图像偏移,单位像素。
    起始文件名[START_FILE]命名规则:*n.???   n: 1-9 或 01-99 或 001-999。
   
附演示动画,把它复制到.img或者.iso文件。希望大家展示自己创作的动画菜单。

2012-02-14
setmenu函数增加参数:
--highlight-short   高亮菜单项背景色仅限于文字(默认)
--highlight-full      高亮菜单项背景色整行显示(有人偏爱老旧模式)


今天上传的版本,可以增强 GRUB4DOS 菜单的编辑功能。
1.支持每像素16位彩色模式(64K 5:6:5)。
2.支持 jpg(jpeg,jpe)图像格式。
3.在 vbe 模式,使用 echo -rrggbb 可以显示 216 种彩色样本。
4.使用 echo -v 可以显示版本、内存信息。
5.增加 setmenu 函数,增强图形菜单编辑功能。参数:
  --ver-on --ver-off 版本信息打开/关闭。默认打开;
  --lang=en --lang=zh 菜单帮助信息中英文切换。默认英文;
  --auto-num-off --auto-num-on 关闭/打开菜单自动编号。默认关闭;
  --left-align --right-align 菜单左对齐/右对齐。默认左对齐。
  --font-spacing=[font]:[line] 设置字符间距/行间距。单位:像素。默认0。应当位于下面的参数之前;
  --string=[x]=[y]=[color]=["string“] 字符串位置、颜色与内容,可用于标题,说明,帮助等。单位:列,行,24位色彩;
    注:如果省略颜色,位于菜单框以上按标题颜色,位于菜单框以下按帮助颜色;
          字符串头尾要加英文双引号;
          列数=图像水平像素/(字符宽+字符间距)   字符宽=8;
          行数=图像垂直像素/(字符高+行间距)      字符高=10;
  --help=[x]=[w]=[y] 帮助位置。单位:列,行;
    注:x=0 由边框确定(默认);w=0 水平居中;
  --keyhelp=[y_offset]=[color] 按键帮助位置,颜色。单位:列,行,24位色彩;
    注:y_offset=0,项目与按键帮助位于同一区域,项目帮助可以覆盖按键帮助(默认);
          y_offset != 0,按键帮助到项目帮助的行偏移,项目帮助与按键帮助共存;
          y_offset<=4,项目帮助的显示行数;
          color=0 默认 “color helptext";
  --box x=[x] y=[y] w=[w] h=[h] l=[l] 菜单项标题起始列,起始行,每行最大字符数,最大菜单项数,菜单框线条宽度(像素);
    注:w=0 表示水平居中。此时 w 应当在 x 之后;
       l=0 表示不显示菜单框;
  --u 恢复菜单原始状态;
  --timeout=[x]=[y]=[color] 倒计时位置、颜色。单位:列,行,24位色彩.
    注:x=y=0 默认位于选中项目的尾部;
          color=0 默认 "color highlight"。
6.在 font 函数增加参数:
    font [--font-high=24] [--simp=] 文件名
    例子:  font /my.hex
                font --font-high=24 --simp=  /24.hex
  内置字库,如果不是 16*16 字体,头部需声明:DotSize=24,simp

高亮颜色.jpg (146.48 KB, 下载次数: 552)

高亮颜色.jpg

颜色翻转.jpg (111.65 KB, 下载次数: 510)

颜色翻转.jpg

高亮线框.jpg (72.47 KB, 下载次数: 534)

高亮线框.jpg

图文混排.jpg (178.35 KB, 下载次数: 504)

图文混排.jpg

背景高亮.jpg (192.25 KB, 下载次数: 478)

背景高亮.jpg

动画演示.rar

1.49 MB, 下载次数: 2189, 下载积分: 无忧币 -2


作者: chenall    时间: 2015-7-9 21:43
太赞了,支持一下先...
作者: 2011yaya2007777    时间: 2015-7-9 22:02
本帖最后由 2011yaya2007777 于 2015-8-13 22:06 编辑

# 默认延迟时间(秒)
timeout 15

# 第三项为默认值
default 0

# 设置图形背景文件
graphicsmode -1 800
splashimage /lt.jpg

# 设置中文支持的字体文件
font /unifont.hex.gz

#设置菜单
color normal=0xff9933 highlight=0xff3300 helptext=0xff00ff heading=0x66ff00 border=0x006699
setmenu   --font-spacing=1:8  --string=35=3=="G4D  维  护  菜  单"

setmenu   --box x=8 w=0 y=6 h=7 l=2 --auto-num-on  --keyhelp=8= --ver-off

setmenu   --lang=zh  --string=23=4=0x00ff00= "=========================================="


setmenu  --help=8=0=14

title 运行0PE_NBv1.5.1.ISO\n1111\n2222\n3333\n4444\n5555\n6666
find --set-root /grub.id
map /boot/program/0PE_NBv1.5.1.ISO (0xff)
map --hook
chainloader (0xff)

title 计算机维护光盘.iso\n计算机维护光盘
find --set-root /grub.id
map /boot/program/计算机维护光盘.iso (0xff)
map --hook
chainloader (0xff)

title 本人Dos工具箱 \n中文MSDOS 7.1
map /boot/mydos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 启动 Windows 7\n启动本机硬盘
find --set-root /bootmgr
chainloader /bootmgr

title Grub命令行 \n执行命令
commandline

title 重启\n热重启
reboot

title 关机\n关闭计算机
halt


捕获.jpg (81.34 KB, 下载次数: 634)

捕获.jpg

cs.jpg (206.78 KB, 下载次数: 651)

cs.jpg

作者: xyzxp    时间: 2015-7-9 22:28
感谢yaya大分享。。。。。。。。
作者: devilma    时间: 2015-7-9 22:49
太牛了!果断拿下!
作者: 3ax31a    时间: 2015-7-10 08:31
大神出手果然强大……
作者: 3ax31a    时间: 2015-7-10 08:33
大神出手果然强大……
作者: 不点    时间: 2015-7-10 10:12
我提醒一下 yaya,在 http://reboot.pro 上,有人在想办法支持 “从右到左” 写的文字,如阿拉伯语、希伯来语等。

这些语言的特点是,语言字符是从右向左写的,但 UTF8 格式的记事本文件中,依旧是按字节地址增大的顺序来写的。windows 的记事本能够自动按逆序显示这些语言字符。然而 grub4dos 不能自动按逆序来显示这些语言字符。

需要说明的是,这些语言字符本身是逆序的,但其中夹杂的英文单词、ASCII 字符、文件路径,都是正常的顺序,不是逆序的。

假如我们的 grub4dos 要在内核中支持这样的语言文字,需要修改 put_char 之类的函数,让其能够判断出逆序的字符串,并自动用逆序来显示这个字符串。

目前 Steve6375 是在菜单批处理层面做这个工作。其实也够用了。

我的问题是:对于这些逆序的语言,倒计时的秒数在什么地方显示?如果按目前这样处理(在右端显示),则 Steve6375 所做的工作可能就要不适应了(倒计时的秒数会覆盖菜单开头的内容,因为菜单开头是在最右端)。


作者: 2011yaya2007777    时间: 2015-7-10 11:38
本帖最后由 2011yaya2007777 于 2015-7-10 13:03 编辑
如果按目前这样处理(在右端显示),则 Steve6375 所做的工作可能就要不适应了(倒计时的秒数会覆盖菜单开头的内容,因为菜单开头是在最右端)。

'逆序的语言'是左对齐?还是右对齐?
一个变通方法是:菜单开头是在最右端向左移动 2 列。即菜单项允许显示的最大列包含 2 字节的倒计时数字字符。

或者把倒计时数字放在菜单框外部?
作者: 不点    时间: 2015-7-10 12:56
2011yaya2007777 发表于 2015-7-10 11:38
'逆序的语言'是左对齐?还是右对齐?
一个变通方法是:菜单开头是在最右端向左移动 2 列。即菜单项允许 ...

当然是右边对齐了。就像我们港台的电影字幕那样,从右边向左。

其实你不用管了,我想,假如 Steve6375 发现了这个问题,他会生办法解决的。说不定解决的办法就和你说的一样。

另外,菜单自动编号,是 chenall 实现的功能。这在逆序的语言环境下也有问题,因为编号是在最左边,而最左边则相当于菜单行的尾部,很难看。
作者: 浅安3    时间: 2015-7-10 18:42
大神出手果然强大……
作者: 新建    时间: 2015-7-11 07:06
过来看看
作者: Roosevelt122007    时间: 2015-7-12 15:16
请问工具在哪下载?
好像没看到啊~
作者: 有阴也有阳    时间: 2015-7-12 15:38

请问工具在哪下载?
好像没看到啊~
作者: lgylgyxy    时间: 2015-7-12 21:17
本帖最后由 lgylgyxy 于 2015-7-12 21:19 编辑

几个问题,不知道是我使用有误,还是BUG,请大大查查
setmenu   --line-spacing=8 --font-spacing=1  --title=35=3=Multi-system maintenance CD boot menu
setmenu   --box x=8 w=0 y=6 h=10 l=2 --auto-num  --help=8 --ver-off

1.标题显示不全
2.菜单有重叠
3.提示信息能否改为行位可调?

作者: 2011yaya2007777    时间: 2015-7-12 22:21
请问工具在哪下载?
好像没看到啊~

从官网下载。
作者: 2011yaya2007777    时间: 2015-7-12 22:25
1.标题显示不全
2.菜单有重叠

把原始菜单复制过来,不要修改,才好判断。
作者: lgylgyxy    时间: 2015-7-13 08:11
本帖最后由 lgylgyxy 于 2015-7-13 08:15 编辑
2011yaya2007777 发表于 2015-7-12 22:25
把原始菜单复制过来,不要修改,才好判断。


最新测试如下,红色部分是改动
1.标题存在对一定字符显示不全现象,
标题为Multi-boot System Maintenance CD,显示不全
2.菜单重叠确实存在,如下图所示
即如果设定菜单显示行数为5,在实际菜单多于5的情况下,
下一屏显示会与上一屏相应位置信息重叠


建议:
1.提示信息行位改为可调
2.自动编号从0~9接着是A~Z,使用0~9,A~Z热键





------------------------------------------------------------------------------------------------------------------------------------------------
debug off
timeout 30
default 3
graphicsmode -1 800 600 24:32
splashimage /BOOT/GRUB/BACK.jpg
font ()/boot/grub/unifont.hex
color normal=0xff9933 highlight=0xff3300 helptext=0xff00ff heading=0x66ff00 border=0x006699 notes=0xcc99ff

setmenu   --line-spacing=8 --font-spacing=1  --title=24=3=Multi-boot System Maintenance CD

setmenu   --box x=8 w=0 y=6 h=5 l=2 --auto-num  --help=8 --ver-off

(此行被我删除)setmenu   --lang=zh  --title=23=4= ==========================================



title 运行0PE_NBv1.5.1.ISO\n1111\n2222\n3333\n4444\n5555\n6666
find --set-root /grub.id
map /boot/program/0PE_NBv1.5.1.ISO (0xff)
map --hook
chainloader (0xff)

title 计算机维护光盘.iso\n计算机维护光盘
find --set-root /grub.id
map /boot/program/计算机维护光盘.iso (0xff)
map --hook
chainloader (0xff)

title 本人Dos工具箱 \n中文MSDOS 7.1
map /boot/mydos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 启动 Windows 7\n启动本机硬盘
find --set-root /bootmgr
chainloader /bootmgr

title Grub命令行 \n执行命令
commandline

title 重启\n热重启
reboot

title 关机\n关闭计算机
halt
------------------------------------------------------------------------------------------------------------------------------------------------
作者: 有阴也有阳    时间: 2015-7-13 21:44
2011yaya2007777 发表于 2015-7-12 22:21
从官网下载。

http://grub4dos.chenall.net/——官网网址是这个吗?
作者: 2011yaya2007777    时间: 2015-7-13 21:55
http://grub4dos.chenall.net/——官网网址是这个吗?

是的。
作者: 2011yaya2007777    时间: 2015-7-13 22:12
帮助信息显示位置,恢复为 --help=[x]=[y] ,即可以调整列,行。
标题显示断在“-”的问题已经修正。
翻页显示混乱的问题已经更正。这是由于以前为了16位色,选中项反显时,不显示文字后面的空格(即不是整行反显),所打补丁引起的。这在0.4.5c版本同样存在。
作者: jianliulin    时间: 2015-7-13 22:21
本帖最后由 jianliulin 于 2015-7-13 22:24 编辑

1.按上下键圆圈中的数字不会变化



作者: 2011yaya2007777    时间: 2015-7-14 11:40
今天上传的版本做了修正。
作者: jianliulin    时间: 2015-7-14 17:29
菜单要是支持设置字体大小,就和gxfmenu 差不多了
作者: jianliulin    时间: 2015-7-16 08:25
@2011yaya2007777  

setmenu   --box x=8 w=0 y=6 h=7 l=2 --auto-num  中能否让当 h=0 的时候自动设置为菜单的个数?
作者: 2011yaya2007777    时间: 2015-7-16 19:50
setmenu   --box x=8 w=0 y=6 h=7 l=2 --auto-num  中能否让当 h=0 的时候自动设置为菜单的个数?

不能。函数 setmenu 现在只是读自己的参数,没有读菜单的其他部分。另外,有的菜单项大大超过菜单框的长度,需要滚屏显示,而菜单框的长度由 h 确定,不能超过屏幕宽。
作者: 2011yaya2007777    时间: 2015-7-16 21:48
今天上传的版本,有些参数做了更改,请注意。
作者: jianliulin    时间: 2015-7-17 10:14
@2011yaya2007777 菜单字体有没有办法设置大小?
作者: 2011yaya2007777    时间: 2015-7-17 19:44
@2011yaya2007777 菜单字体有没有办法设置大小?

现在不行。以后有可能。当前是如何获得不同尺寸、不同风格的utf-8点阵字体?
作者: jianliulin    时间: 2015-7-18 07:53
2011yaya2007777 发表于 2015-7-17 19:44
现在不行。以后有可能。当前是如何获得不同尺寸、不同风格的utf-8点阵字体?

我可以在fbinsttool添加产生任意在windows安装的字体的点阵字库,大小也可以自选
作者: chenall    时间: 2015-7-18 09:35
jianliulin 发表于 2015-7-17 10:14
@2011yaya2007777 菜单字体有没有办法设置大小?

目前要实现还是比较麻烦的,如果说整个菜单就一种字型还比较好说,有多种格式的话需要考虑的东西比较多
作者: 2011yaya2007777    时间: 2015-7-18 09:36
那太好了!
fbinsttool产生的字体的点阵字库,是否可以单独存在,即可以用于非ud区?
另外还有个信息流的问题。目前我还不知道unifont.hex是怎样存放点阵字库。从网上看,五花八门的。
作者: jianliulin    时间: 2015-7-18 10:54
本帖最后由 jianliulin 于 2015-7-18 11:00 编辑

1.箭头上下左右是调整字体的偏移量,因为有些字体汉字不是在正中间的,比如微软雅黑,
2.目前字体功能比较单一,是直接嵌入到菜单里面的,迟点再完善转换字体功能。
3.如果要转换自定义很多汉字的字体,可以把汉字以文本的形式放到ud,然后再菜单编辑的右键中“管理内嵌字库”弹出的窗口中,再右键产生字体文件,此字体可以导出来,放在任意地地方,字库是通用的。









FbinstTool v1.607.2015.0718.rar

1.71 MB, 下载次数: 237, 下载积分: 无忧币 -2

常用汉字.rar

7.89 KB, 下载次数: 98, 下载积分: 无忧币 -2


作者: 2011yaya2007777    时间: 2015-7-18 11:14
整个菜单只能是一种字型,否则太复杂了。
作者: jianliulin    时间: 2015-7-18 11:18
2011yaya2007777 发表于 2015-7-18 11:14
整个菜单只能是一种字型,否则太复杂了。

目前是这样的,只有一种。其实只要点阵一样大,不同字体应该没有什么影响的,都是根据字体打印点。
作者: 2011yaya2007777    时间: 2015-7-18 12:43
右键点击,出现菜单,"菜单字体"是灰色的.以管理员身份运行也不行.
作者: jianliulin    时间: 2015-7-18 16:43
2011yaya2007777 发表于 2015-7-18 12:43
右键点击,出现菜单,"菜单字体"是灰色的.以管理员身份运行也不行.

是不是你的grldr版本太低,用最新版试试
作者: bfgxp    时间: 2015-7-22 18:45
又进了一大步,终于找到了升级0.46的动力
作者: 假大空    时间: 2015-7-22 21:32
本帖最后由 假大空 于 2015-7-28 10:47 编辑

grub4dos-0.4.6a-2015-07-16背景图片反复刷屏,grub4dos-0.4.6a-2015-07-14正常。
28日测试发现注销掉外部setmenu命令就正常了。
作者: chenall    时间: 2015-7-31 11:32
最新版本的菜单如果不使用 setmenu 命令则默认的菜单界面离顶部有好几行.建议默认使用和旧版本一样的界面.
作者: 2011yaya2007777    时间: 2015-7-31 18:23
#1的测试版本已经修正。
作者: oskarger    时间: 2015-8-1 11:35
2011yaya2007777 发表于 2015-7-9 22:02
# 默认延迟时间(秒)
timeout 15

老师,你好。 咨询一个问题, 如何让ver显示的内容居中?
作者: 2011yaya2007777    时间: 2015-8-10 22:46
本帖最后由 2011yaya2007777 于 2015-8-12 10:09 编辑
菜单要是支持设置字体大小,就和gxfmenu 差不多了

今天上传的测试版本,已经可以支持设置任意尺寸的等高等宽字体。最好是设置成双数,以便显示窄字符。

问题是,菜单字体大了,控制台字体也大了。有些不爽。
字体大了,所带字库也大了。期待 jianliulin 进一步跟进开发小字库。小字库应当包含:
1. 00 - 0x7f 字符;
2. 菜单中的汉字;
3. grldr 内含的帮助汉字。
作者: pseudo    时间: 2015-8-10 23:26
太赞了!yaya贡献巨大
作者: IT砖家    时间: 2015-8-11 14:51
这一下可以去掉几个外部命令了
作者: jianliulin    时间: 2015-8-11 17:11
2011yaya2007777 发表于 2015-8-10 22:46
今天上传的测试版本,已经可以支持设置任意尺寸的等高等宽字体。最好是设置成双数,以便显示窄字符。

...

0xD9 复制到 0x13,0xBF 复制到 0x15,0xB3 复制到 0x0E,0xC4 复制到 0x0F。注意 0x10 是朝右的三角形(大多字库都不是)。

是什么意思??



另外我测试了一下是乱码的,字体不能内置吗??
作者: 2011yaya2007777    时间: 2015-8-12 10:31
0xD9 复制到 0x13

意思是使用 bios 的 8*16 字符集合的 0xd9 处的点阵字符,替换 0x13 处的点阵字符。现在没有必要做这项事情了。
测试版本上传时,测试了 20*20 的 dzk 模式。当时没有获得 20*20 的 hex 字符,故未测试。
今天测试 20*20 的 hex 字符,发现问题,待处理。
作者: oskarger    时间: 2015-8-12 12:45
本帖最后由 oskarger 于 2015-8-12 12:46 编辑

timeout 30
default 1
graphicsmode -1 100:1000 100:1000
font /oskar/oskarx.hex

color normal=0xff9933 highlight=0xff3300 helptext=0xff00ff heading=0x66ff00 border=0x006699 entryhelp=0xcc99ff
setmenu --font-spacing=1:6
setmenu --box x=8 w=0 y=5 h=10 l=2
setmenu --auto-num-on
setmenu --left-aglign
setmenu --keyhelp=3
setmenu --ver-on
setmenu --help=7=0=15

command --set-path=(ud)/
find --set-root (ud)/init.lst

我写的有问题吗?   为什么换成8.10版本后无法显示颜色了。。。
更改前:

更改后:



作者: 2011yaya2007777    时间: 2015-8-12 18:15
删除  entryhelp=0xcc99ff
作者: 2011yaya2007777    时间: 2015-8-12 21:47
本帖最后由 2011yaya2007777 于 2015-8-13 11:36 编辑
另外我测试了一下是乱码的,字体不能内置吗??


从 FbinstTool 导出的字库,只包含中文字符:
20*20字体,每字符 120 字节,以 0x0A 结束。正确。
22*22字体,每字符 88 字节,错误。应当是 120 字节。以 0x0A 结束。正确。

从 grldr 导出的字库:
20*20字体,包含中文、英文。中文每字符 120 字节,正确。英文每字符 80 字节,正确。以  0x0D、0x0A 结束,与 unifont.hex 不一致。有文件头  DotSize=20,可以确定字体尺寸。
22*22字体,只包含中文,每字符 88 字节,错误。应当是 120 字节。以  0x0D、0x0A 结束,与 unifont.hex 不一致。没有文件头。

是否可以去掉 '0x0d'?是否可以全部加文件头?看看 22*22字体是怎么搞错了。

刚才又从 grldr 导出 20*20 字体,结果同上面的 22*22 字体,错误的!不知何故。



作者: 3ax31a    时间: 2015-8-13 21:09
直接抄了楼主的菜单,菜单字体颜色怎么设置也无效果,看到楼主的回复才知道是 entryhelp= 参数引起的,删掉就好了,不知道这个参数为什么会使颜色设置失效?
作者: 2011yaya2007777    时间: 2015-8-13 22:00
不知道这个参数为什么会使颜色设置失效?

后来删除了这个参数。回头我修改一下菜单示例。
作者: shan    时间: 2015-8-14 00:49
哇,看图片已经支持哪是阿拉伯文?蒙文?
作者: 2011yaya2007777    时间: 2015-8-14 18:35
今天上传的版本,已经可以加载内置菜单的字库.
内置菜单的头部需有:
DotSize=20
是20*20 点阵字库.
作者: jianliulin    时间: 2015-8-14 19:56
32 * 32 的也可以哦


作者: 2011yaya2007777    时间: 2015-8-16 12:15
若支持32*32点阵字体,需要 0x800000 字节空间。
若支持48*48点阵字体,需要 0x1200000 字节空间。

目前 UNI 字体开始于 0x1800000,可用空间 0x700000。
GRUB_MOD_ADDR(builtins.c)占用 0x1f00000,长度 0x100000。
cmd_buffer(cmdline.c)命令缓存占用 0x1ff0000,长度 0x10000。

若支持到 32*32,则可以把 GRUB_MOD_ADDR 及 cmd_buffer 挪到其它地方。
若支持到 48*48,则只能把 UNI 字体移动到 0x2020000 ,即 PRINTF_BUFFER(cmdline.c)打印缓存之后。
请不点及 chenall 定夺。
作者: chenall    时间: 2015-8-16 17:15
本帖最后由 chenall 于 2015-8-16 17:22 编辑

可以考虑使用动态分配内存,一劳永逸.

但是需要先完善malloc和free函数

另外一点,如果这些功能占用的空间比较大,可能的话可以考虑用外部命令来实现,内核尽量不要太大.
作者: jianliulin    时间: 2015-8-16 22:23
chenall 发表于 2015-8-16 17:15
可以考虑使用动态分配内存,一劳永逸.

但是需要先完善malloc和free函数

外部命令方式不错,没用外部命令就默认还是16 *16 字体,如果有外部命令的情况就根据外面命令的设定来显示菜单,自定义的字体只需在用在菜单上外部命令可以自带字体(或者用一个尾续的批处理带上字体外部命令和字体),命令行还是固定为16 * 16 字体。
作者: 不点    时间: 2015-8-17 02:32
大家都谈了看法。我也说说我的观点。观点就是观点,不要拘泥于观点,不要太注重某个人的观点。开发者应该以自己的判断作为主要参考点。

字体字模占用的空间较大,动辄几十 M,上百M,都是很常见的。什么宋体、楷体、隶属、草书,多了去了。如果都装到内存,占用空间太庞大。所以,我同意楼上所说,用外部命令来实现新的字体。




最近我在研究 grub2,想移植它里面的一些驱动。硬盘驱动和键盘驱动已经有点眉目了,有可能成功移植过来。

如果硬盘驱动移植成功,那么 USB 驱动也应该一样可以移植成功。只是我个人的重点偏向于硬盘和键盘,而不是 usb 驱动。所以,我不去做 usb 的移植工作。

需要说明的是,移植以后,目的是让 grub4dos 摆脱 1M 实模式内存的限制,让 grub4dos 隐藏在扩展内存顶部。如此一来,驱动程序的空间就很大了,以后就不怕“常规内存不够用”的问题了。

目前的 grub4dos,其键盘和硬盘都是调用 BIOS,这使得 grub4dos 无法干净利索地隐藏在扩展内存顶部。如果我们不再调用 bios 了(因而不再占用低端常规内存了;只是 int13 处理程序占用几个 KB 的顶端常规内存),那就可以彻底地隐藏在扩展内存顶部了。

隐藏在扩展内存顶部之后,可以编写很大的 int13 处理程序,供 DOS 以及旧版的 Windows 使用。甚至还可以有足够的空间来编写(或移植) int21 的代码,让 grub4dos 直接能够运行 16 位的 DOS 程序。

这个工作完成以后,当然会与现在的 grub4dos 存在一些不兼容。普通用户可能感觉不到不兼容现象,但是,由于程序结构的变化,第三方开发者会感觉到不兼容现象。




目前的 grub4dos 有什么缺点?

很明显,内存管理、进程管理都有缺点,而且是最致命的缺点。有这样的缺点存在,它会给 grub4dos 的进一步开发造成阻力,产生瓶颈。我希望能够移植一个好的进程管理和内存管理系统,可以从 grub2 上移植,也可以从 Linux、Minix、BSD、kolibri 等系统上移植过来。

我对这些工作都不熟悉,所以,如果都由我一人来做,那可能需要很多年(需要学习相关知识才行,因此快不了)。所以,我私自意淫:假如 bean、chenall、Roy、yaya、karyonix 等一大批人都来一起干这事,那恐怕就比较顺利了。


作者: pseudo    时间: 2015-8-17 02:58
g4d越来越牛,不点大人保重身体。
作者: jianliulin    时间: 2015-8-17 08:10
不点 发表于 2015-8-17 02:32
大家都谈了看法。我也说说我的观点。观点就是观点,不要拘泥于观点,不要太注重某个人的观点。开发者应该以 ...

如果移植成功了,是否意味着grub4dos离uefi启动就不远了。
作者: 不点    时间: 2015-8-17 08:55
如果只是由我来做这些工作,肯定与 EFI 无关。我所提到的上述工作,就够我做一辈子了。

假如也有其他人参与,那就有可能增加 EFI 的支持。


作者: 2011yaya2007777    时间: 2015-8-17 13:49
我很愿意协助不点做此项开发.
作者: yifeimfd    时间: 2015-8-17 14:15
一楼附件引导时停在加载内置菜单处就不动了。下载的是15年8月14日版。下载8月7日版使用就没有问题。
作者: 不点    时间: 2015-8-17 15:28
本帖最后由 不点 于 2015-8-17 18:54 编辑
2011yaya2007777 发表于 2015-8-17 13:49
我很愿意协助不点做此项开发.


太好了,如此一来,进度就会加快一倍。

我已经在做的工作是把硬盘、键盘驱动引进来,让 grub4dos 的内核不再需要反复调用 int13 和 int16。

如果快的话,下个月就可能投入 alpha 测试。

yaya 可以根据自己的特长,选择某个领域的工作来做。




初步计划:准备为 grub4dos 的内核至少保留 256M 的内存空间,这样不至于很快用光。256M 是 grub4dos 内核的最小内存占用。不支持很低档的旧机器。
机器总内存应该至少有 1G。低档机器只能使用现在的版本。建议有 8G 以上的内存,以便加载很大的 IMG、VHD。

另外,我们仍以现在的版本为主要发行版本。新的版本主要只用于新的机器。新版本有可能缺少兼容性(需要长期锤炼以后才能作为主要版本),因此,我们仍然以目前的版本为主。




进程管理和内存管理是关键,目前我还没有自己的思路,唯一的思路就是从 grub2 以及别的操作系统移植相关的功能。

我对中断描述符表还算有点了解。将来实现的系统调用,应该可以兼容 Linux。就是说,在支持运行 16 位 DOS 程序的同时,也支持运行 32 位(甚至也支持 64 位)的 Linux 程序。


作者: 2011yaya2007777    时间: 2015-8-17 18:22
一楼附件引导时停在加载内置菜单处就不动了。

把菜单贴上来.
作者: 2011yaya2007777    时间: 2015-8-17 18:40
需要澄清一个概念。
字库本来就是外置的。无论是从菜单使用命令  font /unifont.hex.gz  显式加载,还是从菜单末尾以小字库的方式隐式加载。
小字库方式缩小了外置字库的体积,但是没有减少字库在内存的体积。
比如,小字库加载 2 个字:0x41 和 0x5940。以 32*32 点阵字符为例,内核把 0x41 存放在 0x41*0x80 处,把 0x5940 存放在 0x5940*0x80 处。似乎 2 字节应当占用 0x80*2 字节,实际结果却不是。
看来需要建立 1 种小字库存储模式,将 0x41 放在 0*0x80 处,将 0x5940 放在 1*0x80 处,等等。这并不难实现。
作者: 不点    时间: 2015-8-17 18:59
2011yaya2007777 发表于 2015-8-17 18:40
需要澄清一个概念。
字库本来就是外置的。无论是从菜单使用命令  font /unifont.hex.gz  显式加载,还是从 ...

目前的 32M 内核内存,不够使用。需要加大内核内存才行。

如果不增加内核内存占用,你可以暂时只支持 32×32 的字库,把 chenall 的 insmod 模块移动到别的地方。

或者干脆把保留内存增加到 64M 或 128M,这样会给第三方应用的开发者带来某些不兼容现象。

总之,你自己决断吧。


作者: yifeimfd    时间: 2015-8-17 21:00
本帖最后由 yifeimfd 于 2015-8-17 21:06 编辑
2011yaya2007777 发表于 2015-8-17 18:22
把菜单贴上来.


# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

find --set-root /grub/grubflag
graphicsmode -1 600:800
#font /grub/font/GB2312.gz
#黑体
font /grub/font/ht.gz
#仿宋
#font /grub/font/fs.gz

splashimage /grub/background/think.bmp

#foreground ffff00
#color black/cyan yellow/cyan

timeout 10
parttype 0x07

title 启动windows
        parttype 0x12
        find --set-root /Windows/win.ini
        chainloader +1

title 启动联想一键恢复
        parttype 0x12
        chainloader +1

title 新二合一PE(ISO)
        map --mem /grub/FIRADISK.IMG (fd0)
        map --mem /grub/boot/PE5.1/WinPE_5.1_32&64_4.26.iso (0xff)
        map --hook
        chainloader (0xff)

title 启动绝对PE(ISO)
        map --mem /grub/boot/AbsolutePE.iso (0xff)
        map --hook
        chainloader (0xff)
       
title 二合一PE(ISO)
        map --mem /grub/FIRADISK.IMG (fd0)
        map --mem /grub/boot/WIN7PE.ISO (0xff)
        map --hook
        chainloader (0xff)

title 启动memtest86+(ISO)
        map --mem /grub/memtest86+-5.01.iso (0xff)
        map --hook
        chainloader (0xff)

title 重启
        savedefault --wait=2
        reboot

title 关机
        savedefault --wait=2
        halt


同样这个配置文件,下载8月7日版的工作正常,换一楼附件8月14日版的就不正常,屏幕卡在“GRUB4DOS 0.4.6a 2015-08-14, root is (0x80,0)          processing the preset-menu ...”,U盘启动。

谢谢您抽空回复~


刚刚换为硬盘启动有一样问题,
作者: yifeimfd    时间: 2015-8-17 21:18
另外,刚刚还测试了使用三楼提供的菜单,只是改了图片和字体文件配置项(这两个应该没问题,因为8月7日版可以正常使用),启动的时候故障依旧。
作者: 2011yaya2007777    时间: 2015-8-18 07:18
ht.gz 是什么字库?16*16?请上传。
作者: yifeimfd    时间: 2015-8-18 09:34
本帖最后由 yifeimfd 于 2015-8-18 09:53 编辑
2011yaya2007777 发表于 2015-8-18 07:18
ht.gz 是什么字库?16*16?请上传。


论坛这个帖子中下的黑体字库:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=256198

黑体.part01.rar~黑体.part04.rar

************************************
刚刚将字体文件换成https://code.google.com/p/grub4d ... name=unifont.hex.gz下载的,故障依旧~

黑体.part01.rar

200 KB, 下载次数: 20, 下载积分: 无忧币 -2

黑体.part02.rar

200 KB, 下载次数: 16, 下载积分: 无忧币 -2

黑体.part03.rar

200 KB, 下载次数: 16, 下载积分: 无忧币 -2

黑体.part04.rar

69.42 KB, 下载次数: 16, 下载积分: 无忧币 -2


作者: yifeimfd    时间: 2015-8-18 10:28
本帖最后由 yifeimfd 于 2015-8-18 16:21 编辑

甚至测试了将配置中的背景都去掉也是一样。二楼那个菜单在8月7号版本的grldr下完全正常,一旦改为8月14日的就有问题。
E:\os\bootloader\src\grldr_2015_08_14>fciv -sha1 grldr
//
// File Checksum Integrity Verifier version 2.05.
//
459793b658101c9a45d1f2739d579795827e8aa9 grldr

不知道是不是文件有问题,现附上我本地文件的sha1以供核对。

******************************************

一楼8月17日grldr肯定有问题:(以下测试都是在virtualbox中进行的。)
menu.lst只有下面简单3行都遇到同样的问题
title windows
        find --set-root /Windows/win.ini
        chainloader +1

文件确认是utf-8编码。用winhex删除BOM也一样问题。

为了测试方便,我菜单加载时在命令行下进行的,输入命令后grub命令行即冻结,用CTRL+ALT+DEL可以重启虚拟机。
作者: 不点    时间: 2015-8-18 18:32
本帖最后由 不点 于 2015-8-18 18:44 编辑

又考虑了一下,觉得不要急于把整个 grub4dos 都隐藏在扩展内存顶部。可以分步骤、逐步实现。

先把 int13 代码隐藏于扩展内存顶端。主体的 grub4dos 内核仍旧在低端运行。待到以后时机成熟时,再把主体内核移动到扩展内存顶端。

目前来说,内存管理是关键。其次是进程管理。

内存管理并不难,但它是个细致活。昨天看了 grub2 的内存管理代码的注释说明,了解到 grub2 的内存管理类似于 DOS 的内存管理,是用链接表来实现内存链的。而 grub4dos 目前是用数组来管理。

我仔细考虑了两天,觉得还是数组管理更合适一些。链接表的头部占用 16 字节(或 32 字节),这不利于分配那些(例如按照扇区对齐的)内存。而数组就不存在头部,所分配到的内存是干净的,因此更有利于分配按照扇区或页面对齐的内存。那些头部的 16 字节(或 32 字节)其实是个浪费,而且更糟糕的是,它影响了所分配的内存的 “对齐性”。因此,得到的结论是,内存分配适合于用数组,不适合于用链接表。

举例来说,假如要分配 4K 内存,并且按照 4K 对齐。假定空闲空间的初始状态就是 4K 对齐的。如果用链接表,那么内存块的头部占用 16 字节,因此需要 8K 的空间才能满足 4K 对齐的要求。头部的 16 字节严重干扰了实际分配到的内存块的对齐性。

关于进程管理,觉得照样应该以简单为主要参考点。用户进程使用用户内存。内核和内核模块使用内核内存。

目前的用户进程管理模式可以继续沿用。内核的保留空间应该加大。折中一下,觉得保留 128M 给内核以及内核模块,差不多也就够用了。

内核模块的逻辑结构是由 chenall 设计的。chenall 负责有关的事宜(保证它能正常运转)。

所以,唯一需要解决的问题,便是编写 kmalloc 和 kfree 函数了。

我初步设计,0~32M 保持目前的使用状况不变。32 ~ 64M 的 32M 空间用于字体字模。64~128M 的 64M 空间用于内核的 kmalloc 分配内存。kmalloc 分配内存时,应该从顶端向下分配(就好像是堆栈那样)。因此这 64M 中的高端部分是 kmalloc 内存,而低端部分也可以被 insmod 或别的内核代码(或内核数据)占据,只要保证高端和低端不发生重叠便可。




另外想补充说明的是,既然 yaya 已经开始整理菜单界面,那么,继续支持 gfxmenu 已经没有意义了。所以新版本可以撤销对 gfxmenu 的支持。要知道,gfxmenu 占据了很大的内存开销,4M 和 6M 处各有 1M 都被保留给 gfxmenu。如果去除 gfxmenu 支持,则可以腾出宝贵的 2M 空间,供别的内核数据结构使用。


作者: 2011yaya2007777    时间: 2015-8-18 21:24
本帖最后由 2011yaya2007777 于 2015-8-19 07:10 编辑

赞成不点的意见,数组管理内存更合适一些。是不是将来使用内存,无论存续期长段,都要申请内存占用空间?
我觉得 unifont.hex 支持到 48*48,也就是占用 18Mb,应该够了。若支持到 64*64,则需要占用 32Mb。
下次发布时,注释掉 gfxmenu 。

一楼附件引导时停在加载内置菜单处就不动了

1#已经更新。
作者: yifeimfd    时间: 2015-8-18 22:17
2011yaya2007777 发表于 2015-8-18 21:24
赞成不点的意见,数组管理内存更合适一些。是不是将来使用内存,无论存续期长段,都要申请内存占用空间?
...

8月18日更新已经正常了,谢谢!
作者: 不点    时间: 2015-8-19 07:13
是不是将来使用内存,无论存续期长短,都要申请内存占用空间?


正相反,我不建议频繁使用 kmalloc 和 kfree。如果一个程序段只需要临时用用一片内存,用完之后马上又 free 掉,那么,我觉得这种情况就不应该使用 kmalloc 和 kfree,而应该使用所谓的“公共临时变量区”。

比如说,我们事先开辟一个固定的 8M 空间,这个空间,任何程序都可以写入。使用这个空间,无需申请。既然无需申请,也就无需释放。我估计很多使用 kmalloc 和 kfree 的情况,都可以改成使用“公共临时变量区”。

对 kmalloc 和 kfree 的使用次数,肯定是越少越好。能避免就应该尽量避免使用它们。如果使用了 kmalloc 而忘了使用 kfree,还可导致内存占用过多的问题,糟糕的是,这可能是个隐蔽的问题,不容易及时发现。

我觉得 unifont.hex 支持到 48*48,也就是占用 12Mb,足够了。


你觉得 32M 的内核空间,够不够用?是否需要加大内核保留内存量?我觉得如果考虑到将来的扩展,比如(有可能用 insmod 等方式)添加 usb 支持模块、网络支持模块、文件系统支持模块、键盘鼠标支持模块、显卡、声卡、硬盘的支持,等等,还是需要加大内核保留空间的。

所以我想,这一次就直接将内核保留空间加大到 128M,这就有足够的空间可以同时开辟“公共临时变量区”和 kmalloc 内存分配区,方便程序员的使用。程序员爱用哪种内存使用方式,就用哪种;很自由,很解放。


作者: UC11779470    时间: 2015-8-19 10:31
chenall 发表于 2015-7-9 21:43
太赞了,支持一下先...

为什么还没有更新到官网?
作者: yifeimfd    时间: 2015-8-19 10:35
UC11779470 发表于 2015-8-19 10:31
为什么还没有更新到官网?

估计还在bug排查。
作者: 不点    时间: 2015-8-19 14:19
我把有关 ahci 硬盘和键盘测试的版本上载到时空论坛 grub4dos 区了。有兴趣者可下载测试。

时空论坛网址是: http://bbs.znpc.net/


作者: 2011yaya2007777    时间: 2015-8-20 13:36
本帖最后由 2011yaya2007777 于 2015-8-21 10:51 编辑

从硬盘启动,依旧.
作者: 不点    时间: 2015-8-20 20:36
2011yaya2007777 发表于 2015-8-20 13:36
从硬盘启动,依旧.

测试文件已更新,请再测试。
作者: alex20092009    时间: 2015-8-22 17:33
请问color normal=0xff9933 highlight=0xff3300 helptext=0xff00ff heading=0x66ff00 border=0x006699, 是否有数字和颜色对照表,
作者: 李泽勇    时间: 2015-8-22 18:12
谢谢楼主,学习了。
作者: 2011yaya2007777    时间: 2015-8-22 18:34
请问color normal=0xff9933 highlight=0xff3300 helptext=0xff00ff heading=0x66ff00 border=0x006699, 是否有数字和颜色对照表,

echo -rrggbb
作者: ali88home    时间: 2015-8-24 17:51
大大最新版本已经制作好了,俺下载测试20150821版本情形,ok,谢谢!

2015-08-24_174741.png (256 KB, 下载次数: 428)

2015-08-24_174741.png

作者: 2011yaya2007777    时间: 2015-9-2 08:12
昨天上传的版本,官网没有自动编译发布,不知何故。
作者: 2011yaya2007777    时间: 2015-9-7 17:55
我上传到 https://github.com/yaya2007/grub4dos 的补丁,不能同步上传到 https://github.com/chenall/grub4dos/tree/0.4.6a
所以官网没有自动编译发布。请 chenall 帮忙处理一下。
作者: bfgxp    时间: 2015-9-14 10:03
为何我在测试时,每个汉字都只显示了一半呢,除了16*16的正常,其他都只显示一半?

QQ截图20150914100328.png (6.97 KB, 下载次数: 468)

QQ截图20150914100328.png

作者: bfgxp    时间: 2015-9-14 10:09
补充,15.8.20可以正常显示,之后的所有版本都试了,汉字都只显示了一半。
我是用的FbinstTool v1.607.2015.0718设置的字体测试。
作者: 2011yaya2007777    时间: 2015-9-14 18:13
把你的 grldr 传上来。menu.lst 中如果有字体描述的话,也打包上。
作者: bfgxp    时间: 2015-9-14 22:26
2011yaya2007777 发表于 2015-9-14 18:13
把你的 grldr 传上来。menu.lst 中如果有字体描述的话,也打包上。

grldr.zip (176.11 KB, 下载次数: 41)
来了,请yaya看看是什么情况
作者: 2011yaya2007777    时间: 2015-9-15 19:32
已经修正,官网下载。
作者: Debian    时间: 2015-9-29 19:15
行和列的坐标有没有直观一点 获取方法?
作者: peter1123    时间: 2015-9-29 19:22
bfgxp 发表于 2015-9-14 10:09
补充,15.8.20可以正常显示,之后的所有版本都试了,汉字都只显示了一半。
我是用的FbinstTool v1.607.201 ...

FbinstTool v1.607.2015.0718 请问这个版本从哪儿下载?
作者: peter1123    时间: 2015-9-30 13:36
peter1123 发表于 2015-9-29 19:22
FbinstTool v1.607.2015.0718 请问这个版本从哪儿下载?

谢谢
找到了,33楼
作者: 2011yaya2007777    时间: 2016-2-14 21:10
2012-02-14
setmenu函数增加参数:
--highlight-short   高亮菜单项背景色仅限于文字(默认)
--highlight-full      高亮菜单项背景色整行显示(有人偏爱老旧模式)

作者: fuldho    时间: 2016-2-16 12:38
怎样让背景图片自动拉伸


作者: devilma    时间: 2016-2-16 14:00
支持动画啦!牛逼呀
作者: 2011yaya2007777    时间: 2016-2-16 19:24
怎样让背景图片自动拉伸

现在做不到。
请按图像选择视频模式,或者按视频模式选择图像。




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