0dc77fb381b869dc16064609936391ed47e7d71d
[reactos.git] / freeldr / freeldr / CHANGELOG
1 Changes in v1.8.22 (21/05/2004) (navaraf)
2
3 - Fixed lots of bugs in NTFS code and added correct update sequence
4 fixups handling and untested NTFS 3+ sparse file support.
5
6 Changes in v1.8.21 (21/05/2004) (navaraf)
7
8 - Experimental NTFS reading support with no boot code yet.
9 - Adjusted detection timeouts for PS/2 and RS232 to the minimum
10 allowed by the specifications.
11 - Enabled the 'Press any key to boot from CD' message in the ISO
12 boot code and show it only when some hard disk is present.
13
14 Changes in v1.8.20 (21/05/2004) (navaraf)
15
16 - Added support for special value "LiveCD" of SystemPath option
17 for loading ReactOS. It uses the known boot drive information
18 as the boot path.
19
20 Changes in v1.8.19 (12/20/2003) (ekohl)
21
22 - Detect PS/2 Port and Pointer Device (Mouse).
23 - Calculate CPU speed.
24 - Fixed delay counter overrun.
25
26 Changes in v1.8.18 (12/14/2003) (ekohl)
27
28 - Detect serial ports and serial pointer devices (Mice/Trackballs)
29
30 Changes in v1.8.17 (10/19/2003) (ekohl)
31
32 - Ignore case of registry key and value names
33
34 Changes in v1.8.16 (10/12/2003) (ekohl)
35
36 - Renamed a lot of variables and functions in the registry
37 - Fixed buggy cell size calculation
38
39 Changes in v1.8.15 (8/29/2003) (chorns)
40
41 - Add top-level makefile
42 - Add fdebug/.cvsignore
43 - Don't use rdel to remove files in tools/Makefile
44 - Remove warning in freeldr/mm/meminit.c
45
46 Changes in v1.8.14 (8/10/2003) (chorns)
47
48 - Clear screen to black when booting ReactOS
49
50 Changes in v1.8.13 (6/05/2003) (brianp)
51
52 - Added support for booting Linux 2.4.x kernels
53 - i386 exception handler now reports FreeLoader version number
54
55 Changes in v1.8.12 (5/25/2003) (ekohl)
56
57 - Added .inf-file parser
58 - SetupLdr loads and uses txtsetup.sif
59 - Removed .hiv (text-hive) parser
60
61 Changes in v1.8.11 (4/30/2003) (ekohl)
62
63 - Added DiskGetExtendedDriveParameters()
64 - Moved hardware detection into the arch directory
65 - Rewrote/completed harddisk detection
66 - Removed PCI and IDE detection
67 - Added basic CPU detection
68
69 Changes in v1.8.10 (4/27/2003) (chorns)
70
71 - Query BIOS for supported disk drives
72
73 Changes in v1.8.9 (4/25/2003) (chorns)
74
75 - Detect PCI busses
76 - Detect IDE controllers and devices
77 - Improved RegEnumValue()
78
79 Changes in v1.8.8 (4/25/2003) (ekohl)
80
81 - Added memmove().
82 - Added hardware hive export.
83
84 Changes in v1.8.7 (4/22/2003) (brianp)
85
86 - Added a file system recognizer to get around problems where
87 the partition id did not match the file system type.
88
89 Changes in v1.8.6 (4/14/2003) (brianp)
90
91 - Fixed a bug in fathelp.asm where is wasn't adding the hidden sector
92 count before performing a subtraction.
93
94 Changes in v1.8.5 (4/10/2003) (ekohl)
95
96 - Added support for binary system hive.
97
98 Changes in v1.8.4 (4/5/2003) (chorns)
99
100 - Added DOS compatible Master Boot Record (MBR)
101
102 Changes in v1.8.3 (3/18/2003) (brianp)
103
104 - Added _alloca() function because Mingw32 generates code that needs it
105 - Defined _mainCRTStartup in fathelp.asm because Mingw32 looks for that symbol
106
107 Changes in v1.8.2 (1/24/2003) (ekohl)
108
109 - Relaxed check for Int13-Extension support.
110 Some BIOSes have a strange opinion about what is supported. :-/
111
112 Changes in v1.8.1 (1/20/2003) (ekohl)
113
114 - Fixed the ISO filesystem detection code.
115 - Removed IsSetupLdr.
116
117 Changes in v1.8 (1/18/2003) (brianp)
118
119 - Added F8 options menu
120 - Added custom Boot functionality
121 - Moved all OS= settings from [FreeLoader] section to [Operating Systems] section.
122 - Removed MessageLine= setting. MessageBox= now accepts "\n" as an escape character for newlines.
123 - Added descriptions for disk error codes returned by the BIOS.
124 - Device names like "fd0" and "hd0" and "hd1" as well as BIOS drive numbers can now be used as BootDrive= settings.
125
126 Changes in v1.7.12 (12/05/2002) (brianp)
127
128 - Minor tweak to UI code to allow description
129 text to be displayed along with the progress
130 bar.
131
132 Changes in v1.7.11 (12/05/2002) (brianp)
133
134 - Added memory map count to GetBiosMemoryMap() so that
135 it doesn't just assume the size of the array.
136 - Fix so that we use the continuation value that
137 the BIOS returns.
138
139 Changes in v1.7.10 (11/24/2002) (brianp)
140
141 - Added assembler versions of memcmp() memcpy() memset()
142 - Implemented Int386() so that real-mode interrupts can be called from C-code
143 - Removed unnecessary call in DbgPrint() macro (freeldr.sys is ~16k smaller now)
144 - 64-bit lba sector addressing for disk calls
145 - Re-coded biosdisk.S as i386disk.c
146 - Re-coded mem.S as i386mem.c
147 - Re-coded rtlcode.S as i386rtl.c
148 - Cleaned up i386trap.S so that it only saves the registers once.
149 - Re-coded biosvid.S as i386vid.c
150 - Video fade in/out
151 - VESA text modes supported now
152 - Offscreen buffering to remove flicker
153 - Standardized format of boot sector so that BootPartition is stored right before 0xaa55
154 - Prefixed all file system functions with 'Fs'
155
156 Changes in v1.7.9 (9/30/2002) (brianp)
157
158 - Fix for bug in BiosInt13ReadExtended() (biosdisk.S)
159 by Christophe Bothamy & Mike Lerwill
160
161 Changes in v1.7.8 (9/7/2002) (ekohl)
162
163 - Added new 'bootcd' target.
164 - Removed/disabled debugging code.
165 - SetupLdr must not call BiosInt13ExtensionsSupported to check
166 extended int13 capabilities because they are already used to
167 boot a CD and some BIOSes return incorrect results when a CD-ROM
168 drive is checked.
169
170 Changes in v1.7.7 (9/5/2002) (ekohl)
171
172 - fs/iso.c: Got iso-fs working again.
173 - reactos/setupldr.c: Implemented very simple setup loader.
174
175 Changes in v1.7.6 (8/31/2002) (ekohl)
176
177 - bootsect/isoboot.asm: Reduced read transfer size to ensure that
178 the read buffer for an int13/ah=42h (exended read) does not
179 cross a segment boundary.
180 - freeldr.c, bootmgr.c, setupldr.c, makefile: Renamed
181 LoadBootManager() and ReactOSRunSetupLoader() to RunLoader().
182 Either bootmgr.o or setupldr.o is used to build freeldr.sys or
183 setupldr.sys
184
185 Changes in v1.7.5 (8/21/2002) (brianp)
186
187 - biosvid.S (BiosVideoDisableBlinkBit): Added code to
188 disable the blink bit in the text mode character
189 attribute byte so that the full range of
190 background colors can be used.
191
192 Changes in v1.7.4 (8/20/2002) (brianp)
193
194 - Boot sector code now reports to freeldr.sys the partition
195 that it was installed on. This is specified by a byte
196 value in the boot sector code. By default the boot partition
197 is set to zero which indicates the active (bootable)
198 partition, unless the installer sets the value to non-zero.
199 If FreeLoader is installed on a partition other than
200 the active (bootable) partition then the installer must
201 set this byte to that partition number. Otherwise
202 FreeLoader will not be able to find freeldr.ini.
203 - i386trap.S: Added debug macros BREAKPOINT(),
204 INSTRUCTION_BREAKPOINTX(), MEMORY_READWRITE_BREAKPOINTX(), &
205 MEMORY_WRITE_BREAKPOINTX().
206 - partition.c (DiskGetPartitionEntry): Add the relative offset
207 of the extended partition to the partitions start sector.
208 - ext2.c (Ext2ReadBlockPointerList, Ext2CopyIndirectBlockPointers,
209 Ext2CopyDoubleIndirectBlockPointers, Ext2CopyTripleIndirectBlockPointers):
210 Rewrote the block pointer functions so they actually work.
211 - ini_init.c (IniFileInitialize, IniOpenIniFile): Looks for freeldr.ini
212 on both the active (bootable) partition and the partition
213 passed in from the boot sector code.
214 - meminit.c (MmInitializeMemoryManager, MmFixupSystemMemoryMap,
215 MmGetEndAddressOfAnyMemory, MmGetAddressablePageCountIncludingHoles,
216 MmInitPageLookupTable): Fixed bug that would cause FreeLoader to
217 have an off-by-one error when accessing the last entry in the
218 page lookup table on systems with 4GB of memory (or memory mapped
219 at the end of the address space).
220
221 Changes in v1.7.2 (8/7/2002) (brianp)
222
223 - Fragment size must be equal to the block size
224
225 Changes in v1.7.1 (8/7/2002) (brianp)
226
227 - Symbolic links on EXT2/3 are now supported
228
229 Changes in v1.7 (8/6/2002) (brianp)
230
231 - EXT2/EXT3 file system support.
232 - Does not yet support symbolic links or booting from an EXT2/3 partition.
233 - Fixed bug in UI code.
234 - Added '%%' format specifier to printf()-like functions.
235 - Added functions __udivdi3 & __umoddi3 so that 64-bit division is now supported.
236 - Changed types BYTE, WORD, DWORD, LONG, ULONG to U8, U16, U32, S32, U32
237 so that you know the size of the variable across different
238 architectures with different sized words & dwords, etc.
239 - Types CHAR, UCHAR, PCHAR, PUCHAR, WCHAR, PWCHAR have not been
240 changed yet (I haven't decided exactly how I'm going to handle unicode)
241
242 Changes in v1.6.2 (7/28/2002) (brianp)
243
244 - Fix for GetFatEntry16 bug (fathelp.asm) by Mike Lerwill
245
246 Changes in v1.6.1 (7/22/2002) (brianp)
247
248 - Fix for disk caching while doing drive remapping
249
250 Changes in v1.6 (7/21/2002) (brianp)
251
252 - Added BIOS drive mapping functionality
253
254 Changes in v1.5 (7/13/2002)
255
256 - If symbols are available then pass them to the OS as multiboot modules
257
258 Changes in v1.4 (6/27/2002)
259
260 - Added separate configuration for a SETUPLDR version
261
262 Changes in v1.3.1 (6/8/2002)
263
264 - Implemented MmAllocateMemoryAtAddress()
265 - Fixed Linux boot code to go through the memory manager to allocate memory at 1MB
266
267 Changes in v1.3 (6/5/2002)
268
269 - Added protected mode exception handling in case FreeLoader crashes
270 - Reworked memory manager to use all of extended memory
271 - Reworked UI code, now supports multiple text-mode resolutions
272
273 Changes in v1.2.2 (5/4/2002)
274
275 - Fixed memory leak in menu.c
276
277 Changes in v1.2.1 (5/3/2002)
278
279 - Makefile updates
280 - Optimized the Makefile
281 - Removed recursive make functionality (builds much faster now)
282 - Places all output into one single directory
283 - Added automagically generated dependencies
284
285 Changes in v1.2 (4/30/2002)
286
287 - All Linux kernels are supported (zImage & bzImage, loaded high & low)
288 - Initrd support
289 - FreeLoader now compiles under Mingw32 instead of just DJGPP, but
290 the Mingw32 linker seems to output a corrupt binary.
291
292 Changes in v1.01 (4/28/2002)
293
294 - Fixed FAT short file name buffer overflow that was causing
295 some long filenames not to work correctly.
296
297 Changes in v1.0 (4/24/2002)
298
299 - FreeLoader version 1.0!
300 - Supports booting ReactOS
301 - Supports booting Linux bzImage kernels
302 - No initrd support (yet)
303 - No zImage support (yet)
304 - No ext2 file system support (yet)
305 - Supports FAT & ISO-9660 file systems
306 - Forward slashes '/' as well as backslashes '\' can be used
307 for path names in FAT & ISO-9600
308 - Fixed bug in LBA code where it was only reading one sector
309 even if you asked for more
310 - Fixed bug in FAT code, was also present in ISO-9660 code where
311 it wasn't incrementing the buffer address correctly