Commit graph

134 commits

Author SHA1 Message Date
Eric Kohl
df18b87eab Added PnP-BIOS detection.
svn path=/trunk/; revision=4651
2003-05-06 16:36:42 +00:00
Eric Kohl
8e7f49204c Added .cvsignore files. Patch by Mihcael Fritscher.
svn path=/trunk/; revision=4638
2003-05-03 13:11:39 +00:00
Eric Kohl
62d7fe29c6 Added CPU detection for multiprocessor systems.
svn path=/trunk/; revision=4630
2003-05-01 15:46:06 +00:00
Eric Kohl
5fd8b65697 Fixed disk geometry detection bug.
Added CPU detection for uniprocessor systems.

svn path=/trunk/; revision=4621
2003-04-30 18:10:46 +00:00
Eric Kohl
43ab2f61b4 - Added DiskGetExtendedDriveParameters()
- Moved hardware detection into the arch directory
- Rewrote/completed harddisk detection
- Removed PCI and IDE detection
- Added basic CPU detection

svn path=/trunk/; revision=4619
2003-04-30 14:08:04 +00:00
Casper Hornstrup
371b0fd87e - Query BIOS for supported disk drives
svn path=/trunk/; revision=4604
2003-04-27 18:18:51 +00:00
Hartmut Birr
4b11a99bfe - Fixed the offset in ReadPciConfigUshort.
svn path=/trunk/; revision=4586
2003-04-26 07:09:26 +00:00
Casper Hornstrup
b119bad3fa - Detect PCI busses
- Detect IDE controllers and devices
- Improved RegEnumValue()

svn path=/trunk/; revision=4581
2003-04-25 19:32:51 +00:00
Hartmut Birr
37339cbf6b - Fixed the detection of a fat32 boot sector.
svn path=/trunk/; revision=4580
2003-04-25 18:45:06 +00:00
Eric Kohl
80b2784520 - Added memmove().
- Added hardware hive export.

svn path=/trunk/; revision=4576
2003-04-25 09:54:52 +00:00
Eric Kohl
323bc49a36 - Added memmove().
- Added hardware hive export.

svn path=/trunk/; revision=4575
2003-04-25 09:45:17 +00:00
Brian Palmer
fb8745e1ef Turned the FreeLoader debugger into a GUI app.
Basically just a terminal program that logs the RS232 data to a file.

svn path=/trunk/; revision=4567
2003-04-23 20:59:30 +00:00
Brian Palmer
201324d607 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.

svn path=/trunk/; revision=4565
2003-04-23 16:47:24 +00:00
Brian Palmer
273b6dd69f Fixed the EXT2/3 boot sector code so that it only uses the boot drive in the boot sector if it exists (i.e. not 0xff)
Otherwise it uses the boot drive passed in the DL register.
Updated the EXT2/3 installer to reflect the changes in the boot sector code for EXT2/3.

svn path=/trunk/; revision=4540
2003-04-15 22:48:06 +00:00
Brian Palmer
b4d0aca25a 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.

svn path=/trunk/; revision=4539
2003-04-15 02:15:54 +00:00
Brian Palmer
b4581c2c95 Added simple utility to read the FreeLoader debug output
from the serial port and display it on the console.
Someday I will turn this into a GUI app.

svn path=/trunk/; revision=4530
2003-04-13 04:14:20 +00:00
Eric Kohl
c26ce9f93b Added support for binary system hive.
svn path=/trunk/; revision=4518
2003-04-10 18:51:22 +00:00
Eric Kohl
55a31c6b98 Added support for binary system hive.
svn path=/trunk/; revision=4517
2003-04-10 18:43:14 +00:00
Eric Kohl
4aa447d8d2 Added missing boot signature.
svn path=/trunk/; revision=4512
2003-04-06 20:01:09 +00:00
Casper Hornstrup
d44d6e392a Added DOS compatible Master Boot Record (MBR)
svn path=/trunk/; revision=4497
2003-04-05 15:28:45 +00:00
Brian Palmer
958c16b6d9 Only compile if running win32 version of gcc.
svn path=/trunk/; revision=4343
2003-03-18 22:53:05 +00:00
Brian Palmer
1c8640a836 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

svn path=/trunk/; revision=4342
2003-03-18 22:32:30 +00:00
Brian Palmer
8ae622059e Updated freeldr.ini to work with latest .ini file changes.
svn path=/trunk/; revision=4088
2003-01-31 02:44:32 +00:00
Eric Kohl
1ce736a133 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. :-/

svn path=/trunk/; revision=4057
2003-01-24 11:25:56 +00:00
Eric Kohl
e1cf009871 Changes in v1.8.1 (1/20/2003) (ekohl)
- Fixed the ISO filesystem detection code.
- Removed IsSetupLdr.

svn path=/trunk/; revision=4047
2003-01-20 18:39:53 +00:00
Eric Kohl
3960f23e28 Copy second sector of the fat32 bootsector instead of the fat(12/16) bootsector.
Fixed several compiler warnings.

svn path=/trunk/; revision=4046
2003-01-19 17:01:38 +00:00
Brian Palmer
59f1842f56 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.

svn path=/trunk/; revision=4038
2003-01-19 01:04:01 +00:00
Rex Jolliff
3b71d9191e a test
svn path=/trunk/; revision=4032
2003-01-18 20:26:20 +00:00
Brian Palmer
4fb2283421 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.

svn path=/trunk/; revision=4030
2003-01-18 10:21:23 +00:00
Hartmut Birr
a39bff34c3 Set the hidden sector value from boot sector with the correct partition offset.
svn path=/trunk/; revision=3924
2003-01-02 21:43:52 +00:00
Hartmut Birr
8c7e8c4bbc Recalculate the partition value for freeldr. Freeldr uses a different partition numbering like linux.
svn path=/trunk/; revision=3923
2003-01-02 21:42:56 +00:00
Eric Kohl
afe60dcdbf Add bootsectors and FREELDR.SYS to bootcd.
svn path=/trunk/; revision=3884
2002-12-21 14:54:47 +00:00
Brian Palmer
0853d8cf3d 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.

svn path=/trunk/; revision=3824
2002-12-06 04:43:02 +00:00
Brian Palmer
f54c214e8e 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.

svn path=/trunk/; revision=3823
2002-12-06 04:00:41 +00:00
Hartmut Birr
6dc09f22d2 Initialize the registers for the next call to Int386 in GetBiosMemoryMap.
svn path=/trunk/; revision=3797
2002-11-27 20:31:17 +00:00
Hartmut Birr
dd6e3b8b31 Intialize the size for the bios memory map.
svn path=/trunk/; revision=3796
2002-11-27 20:29:43 +00:00
Brian Palmer
425bbb1543 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'

svn path=/trunk/; revision=3782
2002-11-24 19:10:06 +00:00
Brian Palmer
39204fdedc Fix for MS's idiocy on a Win98 boot disk I have.
Apparently they use ESP without initializing anything more than SP.

svn path=/trunk/; revision=3677
2002-10-30 23:05:17 +00:00
Hartmut Birr
50d4270639 Fixed the initializing of the memory map for reactos.
svn path=/trunk/; revision=3634
2002-10-16 16:39:15 +00:00
Brian Palmer
784dc1a198 Changes in v1.7.9 (9/30/2002) (brianp)
- Fix for bug in BiosInt13ReadExtended() (biosdisk.S)
  by Christophe Bothamy & Mike Lerwill

svn path=/trunk/; revision=3589
2002-09-30 23:30:32 +00:00
Brian Palmer
c3457c3890 Added more compiler flags
svn path=/trunk/; revision=3564
2002-09-25 04:22:37 +00:00
Eric Kohl
fb29fa8a10 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.

svn path=/trunk/; revision=3465
2002-09-06 22:38:10 +00:00
Eric Kohl
28da6203e2 Got iso-fs working again.
Implemented very simple setup loader.

svn path=/trunk/; revision=3460
2002-09-05 15:31:45 +00:00
Eric Kohl
fd7d5a399f Build FREELDR.SYS and SETUPLDR.SYS in a single make run.
Fixed build process for SETUPLDR.SYS.

svn path=/trunk/; revision=3445
2002-08-31 18:09:31 +00:00
Eric Kohl
bd3e14d1f7 Added a workaround for broken BIOSes.
Load SETUPLDR.SYS instead of FREELDR.SYS.
Disabled waiting for key.

svn path=/trunk/; revision=3444
2002-08-31 18:00:25 +00:00
Brian Palmer
0f2ad47bfb Fix for disk error while Loading FreeLoader... discovered by Dave Albert
In ReadSectorsCHS it was pop'ing values off the stack that hadn't been push'ed

svn path=/trunk/; revision=3417
2002-08-28 04:46:17 +00:00
Brian Palmer
d3991649c5 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.

svn path=/trunk/; revision=3374
2002-08-22 05:33:59 +00:00
Brian Palmer
f64597ef92 Initial commit for utility to install FreeLoader under Linux
svn path=/trunk/; revision=3373
2002-08-21 03:34:01 +00:00
Brian Palmer
367cfa7085 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).

svn path=/trunk/; revision=3372
2002-08-21 03:32:49 +00:00
Brian Palmer
10e943e65d Preliminary EXT2 boot sector code
Fixed bug in FAT32 boot sector where it wasn't properly updating the sector load address

svn path=/trunk/; revision=3325
2002-08-09 17:34:24 +00:00