2010-11-24 1.修正一个skip_to函数的bug。 fixed a bug in skip_to func,thanks tuxw. 2010-11-21 1.解决在(ud)上使用自动补全功能问题. http://bbs.znpc.net/viewthread.php?tid=5976 2010-11-19 supported pxe_dir list. 1.添加PXE(pd)文件列表的支持.TFTP ROOT 上的每个目录下都需要有dir.txt才支持. 可以使用以下命令生成dir.txt文件 for /r %i in (.) do (dir /a/b %i >%i\dir.txt) 2010-11-18 1.Fixed a bug in batch file,thanks Mr.zhaohj. http://bbs.wuyou.com/viewthread.php?tid=180142&page=9#pid2087407 2.Add a new variable at 0000:8278 for grub4dos version by date. e.g. read 0x8278 return 0x132B7FE (20101118) 3.Fixed a bug in find_func,thanks Mr.pseudo. 2010-11-17 1.重写command_func函数大部份代码。 为了方便外命命令的编写,修改主函数调用为以下格式。 int main (char *arg, int flags) 新的版本可以直接使用arg和flags参数,不需要再进行计算了。 2010-11-16 1.改进malloc/free函数。 2.允许执行多个外部命令(之前只允许一个),现在可以在外部命令里面调用其它外部命令。 外部命令调用方法使用builtin_cmd函数:builtin_cmd(char *cmd,char *arg,chat *flags); builtin_cmd(NULL,Command and parameters,flags); 2010-11-15 1.内置echo命令自动回车符改为"\r\n" 2.添加malloc/free函数. 2010-11-04 1.重写run_line(执行一行命令函数)。 支持操作符连用。例:  echo a | echo b | echo c | echo echo abcd > (md)0x300+1 && echo def 2.支持新的操作符">>"和">"一样,但这个会附加(附加在输出文件中的第一个字符串结束符'\0'后面)  注:目前这个操作符不会改变文件大小。 2.内置ECHO函数添加两个参数(默认回车不转义) -n 不自动添加回车符      -e 允许转义符 2010-10-28 1.some bug fixed. 2.find支持查找使用cdrom --init生成的光驱(只找第一个) 2010-10-27 1.修改printf函数,支持显示"%",和C语言的语法一样,使用"%%"来显示一个"%" 2.重写find的查询代码. 3.find新增参数--devices=[DEVICES],指定要查找的设备. 说明:DEVICES可以是以下字符的组合: u,p,n,h,c,f -->分别对应 ud,pd,nd,hd,cd,fd, 例子:--devices=hcf //只查找hd,cd,fd,从hd开始. 注:优先current root.然后再按上面的顺序.(current root必须在列表中,否则跳过) 可以使用这个参数来重新设定查找顺序,默认(find order):ud->pd->nd->hd->cd->fd 4.保留--ignore-cd和--ignore-floppies参数(会自动转换). 2010-10-26 1.find支持(fdx,y)的格式. 2.优先查找当前root. 2010-10-03 1.使用操作符"|"时默认自动添加空格,并解决使用"|"时可能导致死机或重启的问题。 2010-09-30 1.修正操作符号!失效的问题。 2.恢复内置菜单的大写MENU.LST为小写(保持兼容性)。 3.内置echo命令。 用法: echo [-P:[-]XX[-]YY] MESSAGE XX: Line number. YY: Column number. XXYY指定后面MESSAGE要显示的位置。 XX指定行号,YY指定列号。前导“-”,即倒数. 2010-09-25 1.修正calc计算的一个逻辑错误。 2.使用fbinst启动默认root设为ud set boot_drive to fb_drive(ud) if boot from fbinst. 3.添加一个新的命令initscript,只能用于菜单中。 initscript用于初始化菜单,每次返回菜单时在显示完菜单后执行。 有时候会需要这样的功能,比如执行某个菜单失败后返回菜单时重新执行一次初始化。 initscript /initscript.g4d 2010-09-25 1.简易计算器调整.如果没有"="则不保存计算结果,但++和--除外. 例子: calc *0x60000 + 4 不保存计算结果,所以内存指向*0x60000的值不会被改变. calc *0x60000++ 会保存计算结果到*0x60000中. calc *0x60000 = 1+2 同上. 2.如果当前已经是图形模式允许graphicsmode直接切换,而不用经过terminal console中转. 2010-09-16 1.修正一个产生Error 27的错误。 2010-09-06 1.添加操作符号"|" ">",输出重定向(有点类似DOS) Implemented two syntactic operators "|" and ">".Like Dos Output redirection. note: 1.use with "&&" and "||" ,the "|" and ">" must be at last. 2."|" and ">" can not use at same time. 例子: 1. pause abcd | pause efg output: efgabcd 2. pause 0x60000 | read #There is a space after the read. run read 0x60000 3.help > (hd0,0)/help.txt or help > (md)0x3000+2 help.txt must already exist,grub4dos cann't create file or change file size. 2010-09-05 1.修改TAB的显示方式,现在使用8个字节对齐显示。 2010-08-10 1.fixed a bug in disk_io.c,it may return error 25 when set root to a cd drive. 修正一个BUG,当设置root为cd设备时可能会提示Error 25的错误. 2.加快colinux下源码在cofs设备时编译的速度. 2010-06-21 1.打上支持新版FB的补丁 来源:http://www.burgloader.com/bbs/index.php?topic=37.30 2010-05-02 1.PXE启动时首先尝试加载root目录下的menu.lst。 2010-04-17 1.命令行自动完成调整.现在可以直接输入/+TAB显示当前目录下的文件或(hd0,0)/+TAB显示(hd0,0)/下面的文件列表 以前的版本必需要像以下命令才可以。 root /+TAB 2.get_cmdline函数调整,以方便外部命令直接调用。 2010-03-29 1.外部命令执行过程调整。 例子:默认path (bd)/grub/ echo abcd ## 优先使用(bd)/grub/echo 文件,如果没有再找 /echo 文件 /echo abcd ## 只查找/echo 文件。 (fd0)/echo abcd ## 只找 (fd0)/echo abcd 文件。 2.find 命令添加一个 --ignore-oem 参数。 http://code.google.com/p/grub4dos-ireneuszp/ 2010-03-10 1.边框位置自动调整。 2010-03-09 1.注释掉karyonix 4G GZIP MAP的部份代码。 2.添加UNIFONT外部命令,可以加载UNIFONT字库。当菜单文件是UTF8格式时可以显示多国语言。 Support multi-language menu with UNIFONT. 2010-03-01 1.打上了karyonix的4G map 补丁 http://bbs.znpc.net/viewthread.php?tid=5844 http://www.boot-land.net/forums/index.php?s=&showtopic=10096&view=findpost&p=91378 2.添加fontfile外部命令. 3.添加menuset外部命令. 2010-02-09 1.重写cmp部份代码(注:比较时可能会比较慢,因为只使用了1MB的缓存,之前的版本是完全缓存). 顺便添加了新参数 --skip= 可以指定在比较时跳过几个字节,用于cmp --hex时方便查看差异. 2010-02-05 1.添加calc简单计算器功能. calc [*INTEGER=] [*]INTEGER OPERATOR [[*]INTEGER] 具体使用方法参考这里的外部命令calc的用法,是一样的,只是内置了. http://www.chenall.com/blog/2010/02/grub4dos_calc.html 2010-01-13 修改设置默认可执行文件搜索路径参数为 --set-path=PATH 例子 command --set-path=(bd)/grub/ 2010-01-09 1.为command参数添加一个参数--set-root用于设置默认可执行文件的搜索路径。 add option --set-root for command sets a search PATH for executable files,default is (bd)/grub 2009-12-03 g@chenall.cn 1.修改了cat --hex代码,现在cat --hex会显示ascii>127的字符。 2.修改了cmp --hex代码,现在cmp --hex后面显示的字符同样可以显示中文。 并且添加了颜色控制,不同的地方使用了菜单的高亮色显示。 2009-12-01 g@chenall.cn 1.同步源码到2009-12-01版(修正了NTFS上DD或WRITE的问题) 2.修改调整了cat --replace,当使用--replace=*addr时允许使用--hex来指定读取长度。具体 http://bbs.znpc.net/viewthread.php?tid=5784&page=10&fromuid=29#pid42939 2009-11-29 g@chenall.cn 1.调整了chainloader功能,如果chainloader (rd)+1,并且没有指定edx设备,那将把当前设备设为EDX。 Changed chainloader_func,if use chainloader (rd)+1 then will set current_root to EDX 从光盘上的BOOTMGR启动硬盘上的VISTA/WIN7系统。 Boot VISTA/WIN7 from cdrom or any other device chainloader (cd)/BOOTMGR rootnoverify (hd0,0) dd if=(hd0,0)+1 of=(md)0x3E+1 现在可以直接使用以下方法来启动; You can now use the following commands.. map --mem=0xF000 /BOOTMGR find --set-root --ignore-cd --ignore-floppies /BOOT/BCD chainloader (rd)+1 http://bbs.znpc.net/viewthread.php?tid=5784&page=7&fromuid=29#pid42684 Tips:about EDX,please read README_GRUB4DOS.txt 2.源码同步到官方2009-11-29版。 2009-11-28 g@chenall.cn 1.修正了当内存>2G时访问可能会出错的问题. fixed a bug when access memory>2G problems. eg. cat --hex (md)0x40002F+1 map --mem (md)0x600000+0x19020 2009-11-26 g@chenall.cn 1.修改cmp_func代码,使用之使用十六进制显示差异偏移(为了方便对比使用)。 change cmp_func to show Differ at the offset with HEX 2.为cmp添加了一个参数--hex(直接显示十六进制) add --hex option for cmp 2009-11-24 g@chenall.cn 1.添加(bd)设备,即启动设备,注:使用configfile命令会改变启动设备。 added (bd) support.(bd):the boot drive. note:use configfile to change boot drive eg. boot from (hd0,0) now boot drive is (hd0,0) configfile (hd0,1)/menu.lst now boot drive is (hd0,1)