Changes in v1.8.9 (4/25/2003) (chorns) - Detect PCI busses - Detect IDE controllers and devices - Improved RegEnumValue() Changes in v1.8.8 (4/25/2003) (ekohl) - Added memmove(). - Added hardware hive export. Changes in v1.8.7 (4/22/2003) (brianp) - Added a file system recognizer to get around problems where the partition id did not match the file system type. Changes in v1.8.6 (4/14/2003) (brianp) - Fixed a bug in fathelp.asm where is wasn't adding the hidden sector count before performing a subtraction. Changes in v1.8.5 (4/10/2003) (ekohl) - Added support for binary system hive. Changes in v1.8.4 (4/5/2003) (chorns) - Added DOS compatible Master Boot Record (MBR) Changes in v1.8.3 (3/18/2003) (brianp) - Added _alloca() function because Mingw32 generates code that needs it - Defined _mainCRTStartup in fathelp.asm because Mingw32 looks for that symbol Changes in v1.8.2 (1/24/2003) (ekohl) - Relaxed check for Int13-Extension support. Some BIOSes have a strange opinion about what is supported. :-/ Changes in v1.8.1 (1/20/2003) (ekohl) - Fixed the ISO filesystem detection code. - Removed IsSetupLdr. Changes in v1.8 (1/18/2003) (brianp) - Added F8 options menu - Added custom Boot functionality - Moved all OS= settings from [FreeLoader] section to [Operating Systems] section. - Removed MessageLine= setting. MessageBox= now accepts "\n" as an escape character for newlines. - Added descriptions for disk error codes returned by the BIOS. - Device names like "fd0" and "hd0" and "hd1" as well as BIOS drive numbers can now be used as BootDrive= settings. Changes in v1.7.12 (12/05/2002) (brianp) - Minor tweak to UI code to allow description text to be displayed along with the progress bar. Changes in v1.7.11 (12/05/2002) (brianp) - Added memory map count to GetBiosMemoryMap() so that it doesn't just assume the size of the array. - Fix so that we use the continuation value that the BIOS returns. Changes in v1.7.10 (11/24/2002) (brianp) - Added assembler versions of memcmp() memcpy() memset() - Implemented Int386() so that real-mode interrupts can be called from C-code - Removed unnecessary call in DbgPrint() macro (freeldr.sys is ~16k smaller now) - 64-bit lba sector addressing for disk calls - Re-coded biosdisk.S as i386disk.c - Re-coded mem.S as i386mem.c - Re-coded rtlcode.S as i386rtl.c - Cleaned up i386trap.S so that it only saves the registers once. - Re-coded biosvid.S as i386vid.c - Video fade in/out - VESA text modes supported now - Offscreen buffering to remove flicker - Standardized format of boot sector so that BootPartition is stored right before 0xaa55 - Prefixed all file system functions with 'Fs' Changes in v1.7.9 (9/30/2002) (brianp) - Fix for bug in BiosInt13ReadExtended() (biosdisk.S) by Christophe Bothamy & Mike Lerwill Changes in v1.7.8 (9/7/2002) (ekohl) - Added new 'bootcd' target. - Removed/disabled debugging code. - SetupLdr must not call BiosInt13ExtensionsSupported to check extended int13 capabilities because they are already used to boot a CD and some BIOSes return incorrect results when a CD-ROM drive is checked. Changes in v1.7.7 (9/5/2002) (ekohl) - fs/iso.c: Got iso-fs working again. - reactos/setupldr.c: Implemented very simple setup loader. Changes in v1.7.6 (8/31/2002) (ekohl) - bootsect/isoboot.asm: Reduced read transfer size to ensure that the read buffer for an int13/ah=42h (exended read) does not cross a segment boundary. - freeldr.c, bootmgr.c, setupldr.c, makefile: Renamed LoadBootManager() and ReactOSRunSetupLoader() to RunLoader(). Either bootmgr.o or setupldr.o is used to build freeldr.sys or setupldr.sys Changes in v1.7.5 (8/21/2002) (brianp) - biosvid.S (BiosVideoDisableBlinkBit): Added code to disable the blink bit in the text mode character attribute byte so that the full range of background colors can be used. Changes in v1.7.4 (8/20/2002) (brianp) - Boot sector code now reports to freeldr.sys the partition that it was installed on. This is specified by a byte value in the boot sector code. By default the boot partition is set to zero which indicates the active (bootable) partition, unless the installer sets the value to non-zero. If FreeLoader is installed on a partition other than the active (bootable) partition then the installer must set this byte to that partition number. Otherwise FreeLoader will not be able to find freeldr.ini. - i386trap.S: Added debug macros BREAKPOINT(), INSTRUCTION_BREAKPOINTX(), MEMORY_READWRITE_BREAKPOINTX(), & MEMORY_WRITE_BREAKPOINTX(). - partition.c (DiskGetPartitionEntry): Add the relative offset of the extended partition to the partitions start sector. - ext2.c (Ext2ReadBlockPointerList, Ext2CopyIndirectBlockPointers, Ext2CopyDoubleIndirectBlockPointers, Ext2CopyTripleIndirectBlockPointers): Rewrote the block pointer functions so they actually work. - ini_init.c (IniFileInitialize, IniOpenIniFile): Looks for freeldr.ini on both the active (bootable) partition and the partition passed in from the boot sector code. - meminit.c (MmInitializeMemoryManager, MmFixupSystemMemoryMap, MmGetEndAddressOfAnyMemory, MmGetAddressablePageCountIncludingHoles, MmInitPageLookupTable): Fixed bug that would cause FreeLoader to have an off-by-one error when accessing the last entry in the page lookup table on systems with 4GB of memory (or memory mapped at the end of the address space). Changes in v1.7.2 (8/7/2002) (brianp) - Fragment size must be equal to the block size Changes in v1.7.1 (8/7/2002) (brianp) - Symbolic links on EXT2/3 are now supported Changes in v1.7 (8/6/2002) (brianp) - EXT2/EXT3 file system support. - Does not yet support symbolic links or booting from an EXT2/3 partition. - Fixed bug in UI code. - Added '%%' format specifier to printf()-like functions. - Added functions __udivdi3 & __umoddi3 so that 64-bit division is now supported. - Changed types BYTE, WORD, DWORD, LONG, ULONG to U8, U16, U32, S32, U32 so that you know the size of the variable across different architectures with different sized words & dwords, etc. - Types CHAR, UCHAR, PCHAR, PUCHAR, WCHAR, PWCHAR have not been changed yet (I haven't decided exactly how I'm going to handle unicode) Changes in v1.6.2 (7/28/2002) (brianp) - Fix for GetFatEntry16 bug (fathelp.asm) by Mike Lerwill Changes in v1.6.1 (7/22/2002) (brianp) - Fix for disk caching while doing drive remapping Changes in v1.6 (7/21/2002) (brianp) - Added BIOS drive mapping functionality Changes in v1.5 (7/13/2002) - If symbols are available then pass them to the OS as multiboot modules Changes in v1.4 (6/27/2002) - Added separate configuration for a SETUPLDR version Changes in v1.3.1 (6/8/2002) - Implemented MmAllocateMemoryAtAddress() - Fixed Linux boot code to go through the memory manager to allocate memory at 1MB Changes in v1.3 (6/5/2002) - Added protected mode exception handling in case FreeLoader crashes - Reworked memory manager to use all of extended memory - Reworked UI code, now supports multiple text-mode resolutions Changes in v1.2.2 (5/4/2002) - Fixed memory leak in menu.c Changes in v1.2.1 (5/3/2002) - Makefile updates - Optimized the Makefile - Removed recursive make functionality (builds much faster now) - Places all output into one single directory - Added automagically generated dependencies Changes in v1.2 (4/30/2002) - All Linux kernels are supported (zImage & bzImage, loaded high & low) - Initrd support - FreeLoader now compiles under Mingw32 instead of just DJGPP, but the Mingw32 linker seems to output a corrupt binary. Changes in v1.01 (4/28/2002) - Fixed FAT short file name buffer overflow that was causing some long filenames not to work correctly. Changes in v1.0 (4/24/2002) - FreeLoader version 1.0! - Supports booting ReactOS - Supports booting Linux bzImage kernels - No initrd support (yet) - No zImage support (yet) - No ext2 file system support (yet) - Supports FAT & ISO-9660 file systems - Forward slashes '/' as well as backslashes '\' can be used for path names in FAT & ISO-9600 - Fixed bug in LBA code where it was only reading one sector even if you asked for more - Fixed bug in FAT code, was also present in ISO-9660 code where it wasn't incrementing the buffer address correctly