2012-05-23 (tinybit)change BUFFERLEN to 64K; use 64-bit sector number for block-list files.
2012-05-04 (tinybit)fixed a bug in biosdisk(); extend sector number to 64-bit.
2012-04-25 (tinybit)fixed a bug on failed dd argument of "buf=".
2012-04-18 (tinybit)trust low mem size at 0x413 instead of int15 report.
2012-04-16 (tinybit)enable floppy partition access for parttype etc.
2012-04-12 (tinybit)removed low-mem holes for konboot to run ok.
2012-03-26 (tinybit)fix int15 handler, add bootlace64.com for Linux x86_64.
2012-02-13 (tinybit)bugfix on initrd issue (issue 74).
2012-01-15 (tinybit)fixed failure loading multi-boot kernel(issue 66).
2011-12-24 (tinybit)Added preliminary interrupt mechanism.
2011-12-05 Issue 53: add new command 'iftitle' for menu.(thanks @Steve6375).
2011-11-17 (tinybit)supported utf8 and unicode char printing.
2011-11-04 (tinybit)added new argument of max_width for putchar; various fixes.
2011-10-29 (tinybit)add new command 'font' for vesa fonts.(Not yet complete). 
2011-10-22 (tinybit)bug fix on failed loading multi-boot kernel(issue 44).
2011-10-20 (tinybit)increased SYSTEM_RESERVED_MEMORY upto 0x2000000(i.e., 32M).
2011-10-19 (tinybit)merged console/graphics setcolor functions.
2011-10-18 (tinybit)rearranged memory usage and preparing for vbe support. merged console/graphics setcolor functions.
2011-10-03 (tinybit)changed buf_addr from 0x20000 to 0x100000 to avoid possible conflict between dd_func and get_diskinfo.
2011-10-01 (tinybit)resolved conflicts between gfxmenu and configfile.
2011-09-28 (chenall)fixed partition enumeration problem(important!)(disk_io.c).
2011-09-16 (tinybit)disabled ELCR code for ASUS eee PC 1215B.
2011-09-06 (tinybit)fixed pxe_detect to handle long bootfile name.
2011-08-05 (tinybit)added a map option --e820cycles for Dell Laptop N4030.
2011-07-27 (tinybit)fixed a careless mistake in clean_entry().
2011-07-21 (tinybit)added a map option --int15nolow. Some changes on handler.
2011-07-10 (tinybit)re-enabled int13/ah=16h floppy detection in int13_handler.
2011-07-27 (tinybit)fixed a careless mistake in clean_entry().
2011-07-21 (tinybit)added a map option --int15nolow. Some changes on handler.
2011-07-10 (tinybit)re-enabled int13/ah=16h floppy detection in int13_handler.
2011-06-28 (tinybit)fixed a careless mistake in probe_mbr(missing evaluation on C/H/S). fixed a bug in clean_entry() which return the address of a local variable.
2011-06-27 (tinybit)added wee_skip_to as a replacement for skip_to.
2011-06-22 (tinybit)better probe_mbr handling abnormal partition tables.
2011-06-19 (karyonix)int15 fix. (tinybit)remove code to save handler room.
2011-06-10 (tinybit)trust CHS in floppy BPB for GRUB.EXE to run under DOS.
2011-06-09 (tinybit)trust CHS in floppy BPB for GRUB.EXE to boot via NTLDR.
2011-06-04 (namiltd)added exFAT filesystem accessibility.
2011-06-02 (tinybit)better handling loading grub.exe from NTLDR in floppy
2011-05-31 (tinybit)fix chainloading grub.exe from Grub4DOS
2011-05-31 (tinybit)make grub.exe loadable by NTLDR
2011-05-24 (tinybit)make grub.exe chainloadable
2011-05-19 applied Roy's patch(Issue 27: adding PC-DOS/MS-DOS chainloading support).
2011-05-14 (tinybit)use HLT command in key detection
2011-05-09 applied steve6375's patch( Issue 23:	Improve grub4dos menu item numbering).
2011-05-07 applied Roy's patch(Issue 25: Add chainloading DELL DRMK DELLBIO.BIN support).
2011-05-06 applied Roy's patch(issue 24: Add ReactOS freeldr chainloading support).
2011-04-29 (tinybit)exclude ntfs short filename.allow space in fb_filename.
2011-03-22 fixed a bug on case sensitivity in filename completion. added a new parameter "case_insensitive" to print_a_completion().
2011-03-19 fixed a bug on NTFS unicode filename handling. let unicode_to_utf8() return string length after convertion.
2011-03-05 fixed a bug on "cdrom --add-io-ports=...".
2011-03-04 setup a byte at offset 0x1F0 of GRUB.EXE to indicate number of
	   sectors used by the DOSSTART.S; change boot_drive to -1 so that
	   external programs can set it up before transfer control to grub4dos;
	   when grub.exe is loaded as a kernel, the default boot device of
	   grub.exe will be set to the current root device of current grub4dos.
2011-02-20 prevent IO.SYS from wiping out int32-3F.
2011-02-17 fixed a bug of "0xEA not properly restored" in realmode_run(asm.S).
2011-02-16 fixed a bug on stack checking in realmode_run(asm.S).
2011-02-16 changed real_to_prot(asm.S) and related calls according to WEE.
2011-01-22 fixed "map (hd1) (0xFF)" issue of failed cdrom emulation.
2011-01-18 set "APM BIOS call" as default halt method(see http://reboot.pro/13632/).
2011-01-16 clear preset_menu before enter_cmdline. uncomment the required "default entry number" resolving code(stage2.c).
2011-01-15 trying to fix ELF executable loading problem(issue 14). (confirmed by the reporter).
2011-01-07 applied karyonix's patch (issue 9: fix geometry_tune function)
2011-01-07 applied Roy's patch(supported packed DR-DOS).
2010-12-29 applied Roy's patch(fixed build issue).
2010-12-25 applied Roy's patch(issue 13: fix autoconf and gcc issues in Linux).
2010-12-11 (r73)applied karyonix's patch(issue 11: Wrong data read USB)
2010-11-30 (r69)applied karyonix's patch(support lzma decompression).
2010-12-07 (r68)applied karyonix's patch(issue 9).
2010-11-15 improved ACPI halt code(patched by zw2312914,Thanks for MR.rockrock99 and MR.xianglang reports their different and special hardware response mechanism ).
2010-11-04 finally fixed the ACPI halt failure on AMI netbook(by commenting out ACPI-enable code).
2010-11-03 partially go back to ACPI halt code of 2010-10-29.
2010-11-02 deleted a duplicate code snip which could cause halt failure.
2010-10-31 fixed the find issue. changed ACPI halt code(based on zw2312914).
2010-10-29 improved ACPI halt code(patched by zw2312914).
2010-10-22 fixed AMI netbook gray-screen-of-death problem on halt.
2010-10-19 allow BSD primary partitions to be made active.
2010-10-12 fixed grub.exe issues when booting off Linux/kexec. Only comments added compared to 2010-10-11.
2010-10-11 try to fix grub.exe issues when booting off Linux/kexec(enabled system timer 0 init).
2010-10-09 try to fix grub.exe issues when booting off Linux/kexec(enabled writing ELCR port 4D0/4D1).
2010-10-08 try to fix grub.exe issues when booting off Linux/kexec(enabled coprocessor init by writing port F0/F1).
2010-10-07 try to fix grub.exe issues when booting off Linux/kexec(disabled writing ELCR port 4D0/4D1).
2010-10-04 improved halt with ACPI. try to fix grub.exe issues when booting off Linux/kexec(by sending 100 EOIs to PICs).
2010-09-22 let chainloader recognize isolinux.bin 4.02.
2010-09-19 added support for 800x600 graphics mode(SVGA mode 6A).
2010-08-09 improved CHS probing code of map command on ISO9660 images.
2010-08-04 finally find out the missing-extended-partition problem is caused by a gcc bug, and workarounds are created.
2010-07-25 re-enabled the extended partition with logical partitions in disorder.
2010-07-24 patch by chenall: cat --length=0 will return the size of the compressed file if it is gzipped; fix memory-not-enough problem when mapping a gzipped memory-file with a high compression ratio.
2010-07-23 improved next_pc_slice() to cope with the partition-loop problem.
2010-07-22 try to solve the problem of missing Linux extended partitions in Tab-completion.
2010-07-21 improved next_pc_slice() to cope with the partition-loop problem.
2010-07-20 changed code about pxe_basemem to solve the problem that pxe_unload fail to release memory.
2010-07-12 fixed a bug in guess_dos_versions(for DOS executable grub.exe).
2010-06-21 applied bean's patch(supported new (ud) device created with fbinst1.6).
2010-06-09 applied karyonix's patch(fixes on grub_read and blocklist).
2010-06-07 adjusted probe_int(dosstart.S) to deal with HP DV3-2309TX on its garbage int76 vector.
2010-06-03 adjusted restore_BDA_EBDA(dosstart.S) to deal with HP on its garbage EBDA size byte.
2010-05-31 unhook int13 before hooking it in load_initrd() to avoid duplicate hooking.
2010-05-29 resolved conflict between drives_addr and mmap_addr for multiboot kernels.
2010-05-27 adjusted probe_int(dosstart.S) to deal with DELL on its garbage int05 vector.
2010-05-23 change /main.lst back to /menu.lst, and the original /menu.lst dir to /menu for pxe booting.
2010-05-21 changed initial config filename from /menu.lst to /main.lst for pxe booting.
2010-05-19 fixed problem of mapping small file(<512B) to (rd).
2010-05-15 added --keep-pxe option for grub.exe running under DOS.
2010-05-14 (chenall)fixed ntfs small file(<4KB) access problem.
2010-05-13 added --off option for hiddenmenu. added nokeep subcommand for pxe. let halt return on failure.
2010-05-03 hopefully non-linux kernels could get loaded now. version number changed to 0.4.5b.
2010-03-14 fixed problems in set_bootdev and others.
2010-03-13 fixed a (possible)bug in init_pic(affect grub.exe as a linux kernel format). applied Icecube's patch(curr_part_start).
2010-01-22 applied karyonix's patch(PAE).
2010-01-07 fixed problem of "command-line length limited to 15" on external executables.
2010-01-03 applied karyonix's patch(PAE paging).
2010-01-02 applied karyonix's patch(map improvements).
2009-12-30 fixed the failed find. note that the kernel command could hang while loading non-linux kernels, which is a known bug on newish 0.4.5 versions. 
2009-12-28 initial implementation of program execution. fixed a bug causing FAT16 search hang(grldrstart.S). version number changed to 0.4.5a. 
2009-12-12 moved up 32-bit grub kernel code at above physical addess 3M. moved down buffer for dd and geometry-tune at 0x20000. moved down raw disk buffer at 0x30000. version number changed to 0.4.5. 
2009-12-02 (chenall)fixed a bug in color_func(builtins.c).
2009-12-01 (chenall)fixed a bug which caused dd/write to write onto the wrong sector of the disk(fsys_ntfs.c).
2009-11-29 (chenall)fixed a bug when using (md) to access memory at 2G and above(bios.c). improved memmove64 to support overlap(asm.S).

2009-11-25 Caution! Reports say build 2009-11-08 and later will write wrong data onto disk when using dd and/or write commands.

2009-11-13 (chenall)added --replace option for cat. This will write to file. Caution!
2009-11-11 let PXE_BUF use BUFFERADDR. cancelled (hd+) support. added (hd) and (hd-N) support.
2009-11-09 moved FSYS_BUF and some other buffers up at 0x3E0000. (chenall)added (hd+) support for map.
2009-11-08 map memdrive images at memory address above 4GB(only for 64-bit CPU). deleted SETUP, INSTALL and EMBED commands.

2009-10-16 Turned off int13/AX=4B01/DL=7F cdrom query which may hang on some machines. Commented out DMA code related to running via KEXEC. Implemented 64-bit int13 memdrive block moving code.
2009-06-20(r68) add (ud) device to access space created with fbinst.
2009-06-11 fixed a bug of missing assignment of ES and BX registers in int13_handler(asm.S).
2009-05-13 fixed size-wrap-to-0 infinite loop issue in grub_read()(disk_io.c).
2009-05-07(r67) resolved conflict between int10 stack and BIOS Data Area(grldrstart.S).
2009-05-03 fixed a bug in geometry_tune(grldrstart.S, asm.S). zw2312914 report.
2009-04-30 triple mbr without bpb also bootable as a floppy(grldrstart.S).
2009-04-26 added ending CHS calculation for partition entry in mbr of the triple mbr(bootlace.inc).
2009-04-25 bug fix in dd about device length calculation(builtins.c).
2009-04-24 save and restore GDTR in int13_handler(asm.S).
2009-04-06 accept partitions starting in the mbr track(probe_mbr, builtins.c).
2009-04-05 triple mbr floppy partition (fdX,Y) support for some USB BIOSes(disk_io.c).
2009-04-04 fixed partition table entries in the 2nd and 3rd mbr of the triple mbr(bootlace.inc).
2009-03-31(r66) 0.4.4 official release.
2009-03-28 removed the problematic global variable "i"; reduced one open-file step for configfile on cdrom.
2009-03-27 fixed memory overlap issue on "map --rehook".
2009-03-25 disabled the search for DEFAULT file on cdrom(in cmain, stage2.c).
2009-03-24 fixed problem of WRITE/DD on modifying internal variables. added dd options for user-defined buffer.
2009-03-21 bug fix: turned errorcheck on in run_script and enter_cmdline.
2009-03-20(r65) fixed `configfile not working in menu init command group'.
2009-03-19 trying to fix problem of `configfile running slowly'.
2009-03-18 fixed problem of `geometry-tune too slow' on vmware.
2009-03-17 fixed endless loop problem while running "configfile (md)4+8".
2009-03-15 added new option --sync for geometry command.
2009-03-14 added new option --tune for geometry command.
2009-03-12 rearranged preset-menu items.
2009-03-11 changed geometry-tune code(aim to solve problem on vmware).
2009-03-07 fixed a bug(in grldrstart.S) brought in since 2009-02-05.
2009-03-03 fixed memory overflow issue with (rd). canceled restrictions on some disk write commands.
2009-02-26 fixed geometry-tune issue(reportedly with Virtual PC).
2009-02-21 changes made according to Simon's hiddenmenu patches.
2009-02-20 documented the command line needed for chainloading stage2 of grub legacy.
2009-02-19 now a range of drives can be unmapped.
2009-02-18 possibility to run another menu.lst after gfxmenu.
2009-02-17 fix graphics display issue generated last time.
2009-02-15 improved color command to set color for help text and heading line.
2009-02-13 fix problems booting Linux when there are mappings.
2009-02-11 added ext4 support(in fsys_ext2fs.c).
2009-02-09 isolinux.bin(version 3.73) gets chainloaded again.
2009-02-08 Move some variables to a known address. The read command returns value at addess.
2009-02-03 New initrd syntax loading multiple cpio files for Linux 2.6 kernels.
2009-01-30 Supported per-menu-item help text.
2009-01-28 Fixed printf issue. Allowed non-block files to be written with dd and write.
2009-01-24 New syntax of WRITE support writing string to file.
2009-01-16(r64) Added gfxmenu support
2009-01-09 New commands dd and uuid. fixed a bug in disk emulation.
2008-12-30 Work around for BIOSes lacking INT15/E820 support.
2008-12-29(r63) Now the preset menu holds the highest priority. MSYS/MinGW support.
2008-12-24 Added "detect" sub-command for the "pxe" command.
2008-12-21 Fixed several bootlace bugs when running under DOS.
2008-12-20 bootlace is now able to create triple MBR.
2008-12-19 fixed problem of Disk Read Error on the last track.
2008-12-16 under DOS bootlace can use a parameter file for its command-line arguments.
2008-12-12 added a new option --chs-no-tune for bootlace.com.
2008-12-07 workaround for buggy no-emulation-mode cdrom BIOSes.
2008-12-04 fixed ext3 inode size issue on bootlace. fixed partition table check issue on bootlace.
2008-12-03 cut off the MENU_BUF. removed the TESTLOAD command. added TITLES array.
2008-12-01 added new program badgrub.exe. changed syntax of the find command.
2008-11-19(r62) enable interrupt when DELAY. avoid disabling CPU cache in a20_test(a20.inc).
2008-11-18p added STIs to better respond hardware interrupt(a20.inc, asm.S).
2008-11-18 changed DELAY code(a20.inc). added JMPs in unreal mode for RAM disk emulation(asm.S).
2008-11-15 loosened the check of the first FAT entry(fsys_fat.c). avoid using OUT instruction in DELAY(a20.inc).
2008-11-11(r61) added --ignore-cd option for the find command.
2008-11-08 read the boot file to determin the pxe block size. avoid running pxe_detect for non-pxe booting.
2008-11-02 added a new option --mbr-no-bpb for bootlace.com.
2008-11-01 changed PXE_MIN_BLKSIZE and PXE_MAX_BLKSIZE. allowed FAT cluster size larger than 32K.
2008-10-26 fixed pxe block size issue.
2008-10-21 fixed cylinder issue in int13/ah=8. Fixed stack conflict in bootlace.
2008-10-17 added command line options --serial-number=SN and --restore-mbr to bootlace.
2008-10-12 fixed a bug in fsys_fat.c causing FAT32 mount failure.
2008-10-03 cancelled unnecessary initialisations for the root device.
2008-10-02 improved int15 probing in probe_int.
2008-10-01 before booting GRLDR, give the user a chance to boot previous mbr.
2008-09-30 fixed a big bug in set_bootdev causing extra rawread executed and the geometry messed up.
2008-09-29 fixed a big bug in get_diskinfo causing duplicate geometry calculation for each IO request on floppy.
2008-09-27 fixed a new bug intrduced recently in get_diskinfo.
2008-09-25 fixed an issue of uninitialised current_term in boot.c, causing the failure of the kernel command in graphics mode.
2008-09-24 fixed the issue of "$BITMAP should be non-resident when in attribute list" in fsys_ntfs.c.
2008-09-23 fixed virtual cdrom sector read issue(64K at a time) for a non-mem mapping.
2008-09-21 added a new command "tpm --init".
2008-09-21 fixed memory conflicts between graphics mode and linux kernel.
2008-09-20 fixed a serious problem in grldrstart causing boot failure on FAT.
2008-09-19 fixed a new bug intrduced last in get_diskinfo.
2008-09-15 fixed a problem when different action occurs on a drive between chs and lba.
2008-09-13 fixed a problem of reentering int13 handler from a virtual device on a real cdrom device driven by the builtin cdrom driver.
2008-09-12 fixed an issue of whole cdrom mapping.
2008-09-09 fixed virtual cdrom sector read issue when it is not a mem-mapping.
2008-09-07 title delimitors(or comments) can be used in menu now.
2008-08-27 save stack space occupation by the int13_handler.
2008-08-26 fixed a bug relevant to iso emulation, causing disk read error.
2008-08-24 save stack space occupation by the int13_handler.
2008-08-14 enlarged stage2 stack space.
2008-08-13 fixed again the bug on the root command.
2008-08-12 fixed int5 in probe_int.
2008-08-10 added a new command checkrange; fixed a bug on the root command.
2008-08-08 added builtin stack for int13_handler to avoid stack overflow.
2008-08-06 fixed a suspicious problem on the SCRATCH buffer in get_diskinfo.
2008-08-04 fixed again error handling problem about operator && and ||; added STIs to better respond hardware interrupt.
2008-08-03 fixed error handling problem about operator && and ||; grldr.mbr structure change; other small alterations.
2008-07-28 added STIs to better respond hardware interrupt or to feed watchdog.
2008-07-10(r60) let KEY_UP(KEY_DOWN) loop to the last(first) menu entry.
2008-07-06 added backup_int13 and restore_int13 for a buggy usb bios f24a ver 1.00parttbl on compaq v5235tu(reporter: uleak). turn a20 debug on for memdrives.
2008-06-28 fixed ext3-inode-size issue in grldr boot sector and bootlace.inc.
2008-06-26 fixed int4C-4F in probe_int for Lenovo A6900.
2008-06-24 fixed "256-byte ext3 inode size" issue in fsys_ext2fs.c.
2008-06-23 added command ls.
2008-06-22 disabled safe_int13 code for a buggy usb bios f24a ver 1.00parttbl on compaq v5235tu(reporter: uleak).
2008-06-21 add A20 debug code to help locate a20 failure.
2008-06-18 A20 test begins. Update version number to 0.4.4.
2008-06-12 Let HIDE and UNHIDE respond with a message.
2008-06-10 Let ROOT show correct filesystem info.
2008-06-07 Let MAKEACTIVE and GEOMETRY show active partitions.
2008-06-01 commented out the terminal-switching code in run_menu.
2008-05-31 changed asm.S to avoid clearing out bss for the configfile command.
2008-05-27 initialize saved_videomode/font8x16 for working across configfile.
2008-05-25 fixed int76 in probe_int for a Tongfang.
2008-05-22 fixed an issue of CPU cache wrongly disabled in GRUB.EXE for long.
2008-05-21 fixed an issue of stack-overflow in real_get_cmdline.
2008-05-17 enable the geometry_tune code for test only.
2008-05-14 fix int5 and int8 in probe_int.
2008-05-06 adjustment on probe_int for "pxe keep".
2008-05-03 fixed problem on the commands setup and install.
2008-05-02(r59) add new command checktime.
2008-05-01 fixes on int vector probing, A20 control, configfile, find, etc.
2008-03-14(r58) commented out the geometry-tune code. other fixes.
2008-01-01(r57): mini build support
2007-12-25(r56): created the test branch
2007-12-25(r55) removed commands uppermem, ioprobe, impsprobe and displayapm.
2007-12-14 test 3 of the geometry-tune.
2007-12-10 cleanups on chainloader and errorcheck.
2007-12-05 fixed a bug in ntfs file system module.
2007-12-04 fixes on gzipped (rd) image support.
2007-12-02 int13 emulation workaround for buggy BIOSes('Disk read error').
2007-11-23 implemented cdrom emulation.
2007-10-15(r54) version 0.4.3
2007-10-08 implemented chainloading isolinux.
2007-10-04 changed drive number of (md) to 0xffff.
2007-10-02 reduced output messages for "debug off".
2007-09-27 added a new map option of --a20-keep-on.
2007-09-26 a workaround for buggy USB floppy BIOSes(hang at INT13/AH=48h).
2007-08-27(r53) new notation () standing for the current root device.
2007-08-26 new feature of root prefix for support of relative path.
2007-08-25 fixed one more possible issue on A20.
2007-08-24 fixed another possible issue on A20 for memdrives.
2007-08-23 fixed a possible issue on A20 for memdrives.
2007-08-21 expand memdrive size according to the probed CHS.
2007-08-17 test A20 control for memory mapped disks.

	Updated code for hmload.
	Fixed a major problem of endless loop on enumeration of partitions.
	Fixed an issue in probe_mbr.
	Fixed a bug on compressed NTFS volume.
	Fixed a problem in probe_int by capturing int10.

2007-07-25 version 0.4.3pre2

	Added a new command OUTLINE, and a new option --duce for GRUB.EXE.
	Changed PARTNEW syntax. Fixed a problem of OPEN_PARTITION.
	The arguments of PARTTYPE have changed to be optional.
	
	A Fault-Recovery-Handler was imposed on probe_int to fight against
	some very serious BIOS bugs(reportedly of DELL machines).

	The DEBUG command syntax was changed for verbosity control.

2007-06-22 version 0.4.3pre1

	Fixed two problems on GRUB.EXE: preset_menu and FreeDOS related.
	Added a new command `hiddenflag'; Added BPB in GRLDR.MBR; Ignored the
	partition-ID check in filesystem modules; other fixes.

	PXE and NTFS fixes.
	Fixed a bug in probe_int for GRUB.EXE running in VM86 mode.
	Rewrite fsys_ntfs.c
	Fixed probe_int and init_pic in GRUB.EXE. Reduced warnings in bios.c.
	Added PXE support.
	NTFS code update for bootlace. Fixed timing functions.
	fix a bug in get_diskinfo; protect the MBR of an in-situ-mapped drive.
	Insert-key to debug on startup; polish graphics. NTFS boot record fix.
	Bugfixes on STAGE2_SIZE, arrow keys, and handling `&&'/`||' in menu.
	Move preset menu to the end/tail of pre_stage2.
	Numeric keys to select menu entry; fixed a bug of int13 harddrives.
	Code clean-ups on build script and keycode translation. 
	F11/F12 hotkey handling.
	Added builtin NTFS boot sectors into GRLDR.
	Added 3 commands is64bit, errnum and errorcheck.
	Applied Robert Millan's patch of check_64bit.
	Implemented two syntactic operators `&&' and `||'.
	Added a new option --in-situ for the map command.

	Fixed an auto-probe-int problem of GRUB.EXE under "EMM386 noems".

	Workaround for buggy VirtualPC on a issue of floppy-emulation-mode
	bootable CDROM.

2006-12-28 version 0.4.2

	Fixed a bug hidden deeply in memcheck.
	Fixed a bug hidden deeply in get_diskinfo.
	Fixed a bug in load_image.
	GRLDR(as a no-emulation-mode bootable CDROM image) was adapted to
	cope with some buggy BIOSes(e.g., VirtualPC).
	Added LBA-to-CHS geometry translation(in int13_handler) to simulate
	LBA(EBIOS)-enabled drives on CHS-only drives.
	Added a new feature of Unconditional Command-line Entrance.
	Applied Beverly Brown's patch to load_initrd.
	Added two new options to the map command to better serve Win9x.
	The default config file search path for GRUB.EXE was changed to
	(DOS file) .\menu.lst and then (DOS file) \menu.lst and then
	(GRUB file) /menu.lst.
	Other bug fixes.

2006-10-24 version 0.4.2pre11

	Made a workaround for buggy USB-bootable board QDI 848E.
	Made a workaround for buggy 965 board with SATA CDROM connected.

2006-10-07 version 0.4.2pre10

	Fixed a problem in GRUB shell which causes failure in grub-install.
	Enabled GRUB.EXE to run under FreeDOS with memdrives in use.
	Implemented an auto-probe mechanism to support all kinds of DOSes.

2006-09-19 version 0.4.2pre9

	Resolved several problems:
	1. (about kexec)Dropped the problematic kexec-tools-1.101-patch.
	2. (about stack)Adjusted code in C files to use less stack.
	3. (about cdrom)Fixed a few bugs in the cdrom driver. 

2006-08-29 version 0.4.2pre8

	Added a new command `setvbe'.
	Dropped the obsolete EZ-BIOS(with signature `AERMH') support.
	Fixed a bug in parsing Rock-Ridge extension.
	No-emulation-mode Bootable CD can be chainloaded now.
	Some work was done to improve remote/diskless boot.
	Fixed one more USB/Floppy EBIOS problem(in get_diskinfo).
	Merged protected mode stack into real mode stack at 0x2000.
	Code clean-up.

2006-07-31 version 0.4.2pre7

	Imported ATAPI CDROM driver from Smart Boot Manager.

	Dropped the previous implementation of SCDROM/BIOSCDROM.

	Fixed a USB/Floppy EBIOS problem that could cause media access failure
	or even hang the machine when using USB storage devices.

	Fixed a bug in BOOTLACE.COM that had improperly set the LBA indicator
	byte(which is at offset 0x02 of the boot sector).

	Fixed a bug in GRLDR that caused failure in finding the associated
	MENU.LST config-file(which should be in the same directory as GRLDR).

2006-06-18 version 0.4.2pre6

	Dropped the obsolete EZD disk map support.
	Fixed several bugs that may hang or slow the qemu virtual machine.
	Fixed a bug that causes the pause command not to respond any key-press.
	Fixed a bug that causes a command to accidentally fail if in a menu.
	Fixed a bug that causes the menu not to work once a cdrom had booted.

2006-06-05 version 0.4.2pre5

	Added a static-linked binary executable file GRUB(a Linux utility).

	Fixed a gateA20 problem related to memdrive emulation.

	Boot GRUB.EXE directly off Windows9x/Me(experimental; might hang).

2006-04-03 version 0.4.2pre4

	Made GRUB.EXE run under EMM386.
	Fixed a bug in splashimage_func().
	Made `ignore error' constant and removed the `--ignore-error' option,
	and renamed the option `--seconds=T' to `--wait=T' for savedefault.
	The sample menu.lst was modified accordingly.

2006-03-28 version 0.4.2pre3

	New syntax for the `default' and `savedefault' commands was
	implemented.

	Changed `int' to `unsigned long' for filemax, filepos and fsmax, and
	modified all fsys_*.c files in order to open large files(2GB or
	longer).

2006-03-09 version 0.4.2pre2

	The directory `boot/grub/' was removed from the release tree(GRUB4DOS
	does not use the stage files at boot time). The default config file for
	GRUB.EXE was changed to (hd0,0)/menu.lst(but preset_menu still locates
	(hd0,0)/boot/grub/menu.lst when (hd0,0)/menu.lst does not exist).

	Added DOS command-line options --bypass, --time-out=T and --hot-key=K
	for GRUB.EXE.

2006-02-24 version 0.4.2pre1
	gcc-4 support by VirusCamp.
	
	Limited support for returning to DOS from GRUB.EXE.
	
	Implemented a new feature that GRUB.EXE can be used as a DOS device
	driver and be started in CONFIG.SYS with a DEVICE line.
	
	Better IODELAY was made for initialization of PIC to fix the
	keyboard-not-responding problem when running through KEXEC.

	Better A20 gate control was made to help fix various problems on the
	boot of grub.
	
2005-12-14 version 0.4.1
	Fixed a partition enumeration bug(in disk_io.c). Fixed a bug of mapping
	partitions to harddrives(in builtins.c). Fixed a bug that causes
	failure when `find --set-root' on a CD-ROM device(in builtins.c). Added
	a new feature of directly chainloading ntldr and some dos kernels.

2005-11-14 version 0.4.1pre32
	Fixed more bugs.

2005-11-02 version 0.4.1pre31
	A few bugs were fixed.

2005-10-23 version 0.4.1pre30
	A bug about "bootlace.com --floppy" was fixed.

2005-10-18 version 0.4.1pre29
	Added ram disk device (rd) to access, typically, the initrd image.
	Added many new command-line options for bootlace.com to install GRLDR
	boot record onto the boot sector of a floppy. A few bugs about
	"map --mem" were fixed. Another bug about finding grldr in NTFS was
	also fixed. It may cause the machine to hang up when there is no ntfs
	boot record in the boot area of the NTFS partition.

2005-09-25 version 0.4.1pre28
	Commandline option --config-file="FILENAME_OR_RAW_COMMANDS" was added
	for GRUB.EXE where GRUB.EXE is treated as a Linux kernel.
	Fixed a bug which causes installation failure when BOOTLACE.COM is
	used for large disks.

2005-09-21 version 0.4.1pre27
	Added a patch to the kexec-tools-1.101. Kexec might fail to load
	grub.exe without this patch.

2005-09-14 version 0.4.1pre26
	Fixed a bug for the DOS part of BOOTLACE.COM

2005-09-11 version 0.4.1pre25
	GRUB4LIN has merged into GRUB.EXE; A new command-line option
	--read-only was added for BOOTLACE.COM; A few bug fixes.
	
2005-09-01 version 0.4.1pre24
	BOOTLACE.COM runs under both DOS and Linux.

2005-08-27 version 0.4.1pre23
	Added a utility BOOTLACE.COM for installing grldr bootstrap code to MBR

2005-07-30 version 0.4.1pre22
	Added bootstrap file GRLDR.MBR for launching grldr from MBR.

2005-07-24 version 0.4.1pre21
	Added Windows NT 4.0 support(actually fixed a bug reported by Stefan
	Baur). For other new features, see README.txt.

2005-07-20 version 0.4.1pre20
	Added ext2/ext3 boot record code for loading grldr from the beginning
	sector of a floppy or a partition. 

2005-05-25 version 0.4.1pre5
	GRUB commands can be embedded into the command line of GRUB.EXE

2005-05-20 version 0.4.1pre4
	Bug fixes: When the system has no floppies, some operations,
	e.g., the find command, will hang the machine.

2005-05-17 version 0.4.1pre3
	Search for cdrom_drive from drive 0x88 to drive 0xff

2005-05-11 version 0.4.1pre2
	Our base is now upgraded to GNU GRUB 0.97.

2005-04-25 version 0.4.1pre
	Fixed a bug reported by Gilles van Ruymbeke
	<gvr_no_spam_123@ruymbeke.com> <gvr_grub4dos123@ruymbeke.ch>:
	
	The map_func improperly opened the emulation image for 3 times, that
	might slow down the load speed heavily, especially for gzipped files.

2005-04-15 version 0.4.0
	Add /boot/grub/menu.lst in preset menu. This is final.

2005-04-07 version 0.4.0pre7
	config_file takes precedence over preset_menu.

2005-04-06 version 0.4.0pre6
	GRLDR can be used with no-emulation-mode bootable CD-ROM.

2005-03-09 version 0.4.0pre4
	Now preset menu find /menu.lst, no longer support /boot/grub/menu.lst

	Partition images can emulate a partition (hd?,0) with --mem option.

2005-03-02 version 0.4.0pre3
	GRLDR startup code search all partitions in all harddrives for GRLDR.

	chainloader can boot images larger than 512 bytes, and can load image
	to a different location than 0000:7C00.

2005-02-06 version 0.4.0pre
	Switched to GNU GRUB 0.96
	The --mem option of MAP command was added for memdrive emulation.

	Also announced 0.2.0 final.

2004-10-23 version 0.2.0pre13
	GRUB.EXE runs in DOSBOX.
	GRUB4LIN is introduced to boot off LINUX.
	Fixed a bug reported by windrv: NTFS check contiguity failure
	Rearranged the patches.

2004-08-31 version 0.2.0pre12
	Fixed a bug reported by szwp: cannot load GRLDR on partition that is
	not CHS-accessible.

	Fixed a bug reported by windrv: take too much time to check contiguity

2004-08-15 version 0.2.0pre11
	Mark the scdrom module as experimental.

2004-07-13 version 0.2.0pre9
	Merged GNU GRUB 0.95

	BOOTGRUB removed. Use BOOT.INI line C:\GRLDR="Start GRUB" instead.

	Patches from Gandalf: NTFS and ATAPI CDROM support(also thanks to
	Tobias Svensson <tobiassvensson@home.se>)

	Patches from Chris Semler <csemler@mail.com>: findroot

2004-04-12 version 0.2.0pre6
	Now GRUB.EXE can be used in CONFIG.SYS this way:

	shell=C:\some\where\grub.exe --config-file=(hd0,0)/boot/grub/menu.lst

	or

	shell=C:\some\where\grub.exe

	No other changes.

2004-04-09 version 0.2.0pre5
	Now BOOTGRUB contains 4 sectors, i.e., 2048 bytes. Optionally, you may
	copy the 2nd, 3rd and 4th sectors of BOOTGRUB to the three sectors that
	immediately follow the MBR. Also Optionally, you may copy 446 bytes
	from the very beginning of BOOTGRUB to the very beginning of MBR. In
	this way, the GRLDR can be started out of MBR, without the presence of
	NTLDR.

	CAUTION: Don't copy 512 bytes to MBR. The partition table should not
	be overwritten. The partition table is in the end of MBR. If you make
	a mistake, you will lose your whole system!!

2004-02-18 version 0.2.0pre4
	Arbitrary-size floppy and hard disk emulation finally implemented.
	GRUB for NTLDR is included. See README file.
	Splash image version is available in the SPLASH directory.
	
2003-09-23 version 0.1.4 -- development unstable release
	Unfortunately 0.1.3 has an ugly bug. Fixed.

2003-09-01 version 0.1.3 -- development unstable release
	Rewrite the code for guessing FreeDOS int vectors. Hopefully it works
	for all the future versions of FreeDOS :-)

2003-08-25 version 0.1.2 -- development unstable release
	Fixed a small bug that affects the read of the emulated floppy sectors.
	
	Added some files (including the menu.lst file) for installing GRUB to
	MBR from DOS. Usage:

	Copy the boot directory to C:\ ; You must do this on Windows, NOT dos,
	because DOS cannot deal with the long filenames.

	Run grub to access the menu.lst file in C:\boot\grub ; Of cause on DOS.

	When menu occurs, select a proper menu item for installing GRUB to MBR.

	If the menu does not appear, you should get the "grub>" prompt. At the
	prompt, type the following commands:

	grub> configfile (hd0,1)/boot/grub/menu.lst
	grub> configfile (hd0,2)/boot/grub/menu.lst
	grub> configfile (hd0,3)/boot/grub/menu.lst

	Then, the menu should occur.
	
2003-06-29 version 0.1.0.1 -- development unstable release
	Do some cleanups on 0.1.0, no important changes.
	BTW, it seems that the 0.1.0 is quite stable :-)
	
2003-06-29 version 0.0.8
	Restore mapped int13 to the unmapped state while grub is invoked
	after a previously performed drive map operation.

2003-05-29 version 0.1.0 -- development unstable release
	Floppy 1.44M drive emulation are OK. GOOD!!!! Usage:
	
	# boot Windows 98 SE
	map (hd1,0)/dos98se.img (fd0)
	chainloader (hd1,0)/dos98se.img
	rootnoverify (fd0)
	boot
	
	Another example:

	# boot Mandrake hard disk installer
	map (hd0,0)/hd.img (fd0)
	chainloader (hd0,0)/hd.img
	rootnoverify (fd0)
	boot

	Note that the floppy image file must size 1440KB, i.e., 1474560 bytes.
	_AND_ also, the file must consist of one contiguous disk area, no
	holes, no fragments. Use GRUB's blocklist command to determine whether
	or not an image file is contiguous. It is known that a 1440KB-file is
	always non-contiguous if it resides in an ext2 filesystem. But you may
	get a 1440KB contiguous file with an FAT32 partition(vfat filesystem).

	Floppy(and hard disk) with arbitrary sizes will be emulated in the
	future.

2003-05-06 version 0.0.7

		Fixed a huge bug!! Read the following carefully!
	
	Using the drive map command(just as many distributions currently do)
	
			map TO_DRIVE FROM_DRIVE
	
	to boot your system could seriously _damage_ your hard disk data,
	
	totally and thoroughly!! This bug has just been fixed in 0.0.7 :-)
	
	This bug is not specific to grub_for_dos, but caused by the original
	
	grub-0.93 release. So do _NOT_ use map command any more until my fix is

	accepted by GRUB maintainers or a similar fix is made by other
	
	people. For now, do _NOT_ use map command in any kind of Linux
	
	distributions such as Red Hat or Mandrake or any others.

		Because GRUB_FOR_DOS-0.0.7 already applied the fix, so it
	
	should be safe to use the map command.

		Another small bug was also fixed in grub_for_dos-0.0.7 :-)

2003-04-29 version 0.0.6
	Runs also on MS-DOS 3.30. No other changes.

2003-04-26 version 0.0.5
	Runs on MS-DOS 4.0, 5.0, 6.0, 6.20, 6.21, 6.22, 7.0, 7.10, 8.0 and
	FreeDOS(build 2029). GOOD!!

2003-04-20 version 0.0.4
	Running on FreeDOS(build 2029), GOOD!! (But currently GRUB.EXE only
	has limited FreeDOS support, maybe unstable.)

	Add a "Guess DOS Version" feature. The program now exit to DOS when
	guess failed. The previous versions of GRUB.EXE always hang when
	running on an unsupported DOS version.
	
2003-04-13 version 0.0.3
	The option "--config-file=FILE" was added.
	
2003-04-11 version 0.0.2
	Also runs on MS-DOS 8.0 (i.e., the DOS with WinMe/2000/XP), GOOD!!
	The GRUB.PIF file included, so GRUB.EXE can be started from Windows 9x

2003-04-10 version 0.0.1
	Runs on MS-DOS 7.10(Win98)
