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