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