571a9744525499a803fb7a25f63d03bb6098654c
[reactos.git] / freeldr / freeldr / CHANGELOG
1 Changes in v1.8.6 (4/14/2003) (brianp)
2
3 - Fixed a bug in fathelp.asm where is wasn't adding the hidden sector
4 count before performing a subtraction.
5
6 Changes in v1.8.5 (4/10/2003) (ekohl)
7
8 - Added support for binary system hive.
9
10 Changes in v1.8.4 (4/5/2003) (chorns)
11
12 - Added DOS compatible Master Boot Record (MBR)
13
14 Changes in v1.8.3 (3/18/2003) (brianp)
15
16 - Added _alloca() function because Mingw32 generates code that needs it
17 - Defined _mainCRTStartup in fathelp.asm because Mingw32 looks for that symbol
18
19 Changes in v1.8.2 (1/24/2003) (ekohl)
20
21 - Relaxed check for Int13-Extension support.
22 Some BIOSes have a strange opinion about what is supported. :-/
23
24 Changes in v1.8.1 (1/20/2003) (ekohl)
25
26 - Fixed the ISO filesystem detection code.
27 - Removed IsSetupLdr.
28
29 Changes in v1.8 (1/18/2003) (brianp)
30
31 - Added F8 options menu
32 - Added custom Boot functionality
33 - Moved all OS= settings from [FreeLoader] section to [Operating Systems] section.
34 - Removed MessageLine= setting. MessageBox= now accepts "\n" as an escape character for newlines.
35 - Added descriptions for disk error codes returned by the BIOS.
36 - Device names like "fd0" and "hd0" and "hd1" as well as BIOS drive numbers can now be used as BootDrive= settings.
37
38 Changes in v1.7.12 (12/05/2002) (brianp)
39
40 - Minor tweak to UI code to allow description
41 text to be displayed along with the progress
42 bar.
43
44 Changes in v1.7.11 (12/05/2002) (brianp)
45
46 - Added memory map count to GetBiosMemoryMap() so that
47 it doesn't just assume the size of the array.
48 - Fix so that we use the continuation value that
49 the BIOS returns.
50
51 Changes in v1.7.10 (11/24/2002) (brianp)
52
53 - Added assembler versions of memcmp() memcpy() memset()
54 - Implemented Int386() so that real-mode interrupts can be called from C-code
55 - Removed unnecessary call in DbgPrint() macro (freeldr.sys is ~16k smaller now)
56 - 64-bit lba sector addressing for disk calls
57 - Re-coded biosdisk.S as i386disk.c
58 - Re-coded mem.S as i386mem.c
59 - Re-coded rtlcode.S as i386rtl.c
60 - Cleaned up i386trap.S so that it only saves the registers once.
61 - Re-coded biosvid.S as i386vid.c
62 - Video fade in/out
63 - VESA text modes supported now
64 - Offscreen buffering to remove flicker
65 - Standardized format of boot sector so that BootPartition is stored right before 0xaa55
66 - Prefixed all file system functions with 'Fs'
67
68 Changes in v1.7.9 (9/30/2002) (brianp)
69
70 - Fix for bug in BiosInt13ReadExtended() (biosdisk.S)
71 by Christophe Bothamy & Mike Lerwill
72
73 Changes in v1.7.8 (9/7/2002) (ekohl)
74
75 - Added new 'bootcd' target.
76 - Removed/disabled debugging code.
77 - SetupLdr must not call BiosInt13ExtensionsSupported to check
78 extended int13 capabilities because they are already used to
79 boot a CD and some BIOSes return incorrect results when a CD-ROM
80 drive is checked.
81
82 Changes in v1.7.7 (9/5/2002) (ekohl)
83
84 - fs/iso.c: Got iso-fs working again.
85 - reactos/setupldr.c: Implemented very simple setup loader.
86
87 Changes in v1.7.6 (8/31/2002) (ekohl)
88
89 - bootsect/isoboot.asm: Reduced read transfer size to ensure that
90 the read buffer for an int13/ah=42h (exended read) does not
91 cross a segment boundary.
92 - freeldr.c, bootmgr.c, setupldr.c, makefile: Renamed
93 LoadBootManager() and ReactOSRunSetupLoader() to RunLoader().
94 Either bootmgr.o or setupldr.o is used to build freeldr.sys or
95 setupldr.sys
96
97 Changes in v1.7.5 (8/21/2002) (brianp)
98
99 - biosvid.S (BiosVideoDisableBlinkBit): Added code to
100 disable the blink bit in the text mode character
101 attribute byte so that the full range of
102 background colors can be used.
103
104 Changes in v1.7.4 (8/20/2002) (brianp)
105
106 - Boot sector code now reports to freeldr.sys the partition
107 that it was installed on. This is specified by a byte
108 value in the boot sector code. By default the boot partition
109 is set to zero which indicates the active (bootable)
110 partition, unless the installer sets the value to non-zero.
111 If FreeLoader is installed on a partition other than
112 the active (bootable) partition then the installer must
113 set this byte to that partition number. Otherwise
114 FreeLoader will not be able to find freeldr.ini.
115 - i386trap.S: Added debug macros BREAKPOINT(),
116 INSTRUCTION_BREAKPOINTX(), MEMORY_READWRITE_BREAKPOINTX(), &
117 MEMORY_WRITE_BREAKPOINTX().
118 - partition.c (DiskGetPartitionEntry): Add the relative offset
119 of the extended partition to the partitions start sector.
120 - ext2.c (Ext2ReadBlockPointerList, Ext2CopyIndirectBlockPointers,
121 Ext2CopyDoubleIndirectBlockPointers, Ext2CopyTripleIndirectBlockPointers):
122 Rewrote the block pointer functions so they actually work.
123 - ini_init.c (IniFileInitialize, IniOpenIniFile): Looks for freeldr.ini
124 on both the active (bootable) partition and the partition
125 passed in from the boot sector code.
126 - meminit.c (MmInitializeMemoryManager, MmFixupSystemMemoryMap,
127 MmGetEndAddressOfAnyMemory, MmGetAddressablePageCountIncludingHoles,
128 MmInitPageLookupTable): Fixed bug that would cause FreeLoader to
129 have an off-by-one error when accessing the last entry in the
130 page lookup table on systems with 4GB of memory (or memory mapped
131 at the end of the address space).
132
133 Changes in v1.7.2 (8/7/2002) (brianp)
134
135 - Fragment size must be equal to the block size
136
137 Changes in v1.7.1 (8/7/2002) (brianp)
138
139 - Symbolic links on EXT2/3 are now supported
140
141 Changes in v1.7 (8/6/2002) (brianp)
142
143 - EXT2/EXT3 file system support.
144 - Does not yet support symbolic links or booting from an EXT2/3 partition.
145 - Fixed bug in UI code.
146 - Added '%%' format specifier to printf()-like functions.
147 - Added functions __udivdi3 & __umoddi3 so that 64-bit division is now supported.
148 - Changed types BYTE, WORD, DWORD, LONG, ULONG to U8, U16, U32, S32, U32
149 so that you know the size of the variable across different
150 architectures with different sized words & dwords, etc.
151 - Types CHAR, UCHAR, PCHAR, PUCHAR, WCHAR, PWCHAR have not been
152 changed yet (I haven't decided exactly how I'm going to handle unicode)
153
154 Changes in v1.6.2 (7/28/2002) (brianp)
155
156 - Fix for GetFatEntry16 bug (fathelp.asm) by Mike Lerwill
157
158 Changes in v1.6.1 (7/22/2002) (brianp)
159
160 - Fix for disk caching while doing drive remapping
161
162 Changes in v1.6 (7/21/2002) (brianp)
163
164 - Added BIOS drive mapping functionality
165
166 Changes in v1.5 (7/13/2002)
167
168 - If symbols are available then pass them to the OS as multiboot modules
169
170 Changes in v1.4 (6/27/2002)
171
172 - Added separate configuration for a SETUPLDR version
173
174 Changes in v1.3.1 (6/8/2002)
175
176 - Implemented MmAllocateMemoryAtAddress()
177 - Fixed Linux boot code to go through the memory manager to allocate memory at 1MB
178
179 Changes in v1.3 (6/5/2002)
180
181 - Added protected mode exception handling in case FreeLoader crashes
182 - Reworked memory manager to use all of extended memory
183 - Reworked UI code, now supports multiple text-mode resolutions
184
185 Changes in v1.2.2 (5/4/2002)
186
187 - Fixed memory leak in menu.c
188
189 Changes in v1.2.1 (5/3/2002)
190
191 - Makefile updates
192 - Optimized the Makefile
193 - Removed recursive make functionality (builds much faster now)
194 - Places all output into one single directory
195 - Added automagically generated dependencies
196
197 Changes in v1.2 (4/30/2002)
198
199 - All Linux kernels are supported (zImage & bzImage, loaded high & low)
200 - Initrd support
201 - FreeLoader now compiles under Mingw32 instead of just DJGPP, but
202 the Mingw32 linker seems to output a corrupt binary.
203
204 Changes in v1.01 (4/28/2002)
205
206 - Fixed FAT short file name buffer overflow that was causing
207 some long filenames not to work correctly.
208
209 Changes in v1.0 (4/24/2002)
210
211 - FreeLoader version 1.0!
212 - Supports booting ReactOS
213 - Supports booting Linux bzImage kernels
214 - No initrd support (yet)
215 - No zImage support (yet)
216 - No ext2 file system support (yet)
217 - Supports FAT & ISO-9660 file systems
218 - Forward slashes '/' as well as backslashes '\' can be used
219 for path names in FAT & ISO-9600
220 - Fixed bug in LBA code where it was only reading one sector
221 even if you asked for more
222 - Fixed bug in FAT code, was also present in ISO-9660 code where
223 it wasn't incrementing the buffer address correctly