Commit graph

119 commits

Author SHA1 Message Date
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
Brian Palmer
7cbe6176ad Defined FAST_SYMLINK_MAX_NAME_SIZE
svn path=/trunk/; revision=3322
2002-08-08 04:46:46 +00:00
Brian Palmer
793d60fcff Changes in v1.7.2 (8/7/2002) (brianp)
- Fragment size must be equal to the block size

svn path=/trunk/; revision=3321
2002-08-08 04:38:43 +00:00
Brian Palmer
3cb41fbb8b Changes in v1.7.1 (8/7/2002) (brianp)
- Symbolic links on EXT2/3 are now supported

svn path=/trunk/; revision=3320
2002-08-08 04:28:08 +00:00
Brian Palmer
f5ac842ed4 Fix for compiling in non-debug (release) mode. (Reduces binary size from 128k to 82k currently)
svn path=/trunk/; revision=3319
2002-08-07 05:37:07 +00:00
Brian Palmer
70d2e3812d Changes in v1.7 (8/6/2002) (brianp)
- EXT2/EXT3 file system support.
- Does not yet support symbolic links or booting from an EXT2/3 partition.
- Fixed bug in UI code.
- Added '%%' format specifier to printf()-like functions.
- Added functions __udivdi3 & __umoddi3 so that 64-bit division is now supported.
- Changed types BYTE, WORD, DWORD, LONG, ULONG to U8, U16, U32, S32, U32
  so that you know the size of the variable across different
  architectures with different sized words & dwords, etc.
- Types CHAR, UCHAR, PCHAR, PUCHAR, WCHAR, PWCHAR have not been
  changed yet (I haven't decided exactly how I'm going to handle unicode)

(isn't this an awesome commit? ;-) Just look at that list of files)

svn path=/trunk/; revision=3318
2002-08-07 05:13:18 +00:00
Brian Palmer
410b3629c3 Changes in v1.6.2 (7/28/2002) (brianp)
- Fix for GetFatEntry16 bug (fathelp.asm) by Mike Lerwill

svn path=/trunk/; revision=3306
2002-07-29 06:49:58 +00:00
Brian Palmer
ac37c58b98 Fix for disk caching while doing drive remapping
svn path=/trunk/; revision=3293
2002-07-23 06:46:55 +00:00
Brian Palmer
1aa76f94bd Added BIOS drive mapping functionality
svn path=/trunk/; revision=3284
2002-07-22 03:44:08 +00:00
Brian Palmer
17731321a4 *** empty log message ***
svn path=/trunk/; revision=3223
2002-07-14 22:33:06 +00:00
Casper Hornstrup
66b0087b28 If symbols are available then pass them to the OS as multiboot modules
svn path=/trunk/; revision=3213
2002-07-13 12:55:07 +00:00
Brian Palmer
7fc762dac1 Changes in v1.4 (6/27/2002)
- Added separate configuration for a SETUPLDR version

svn path=/trunk/; revision=3158
2002-06-28 00:50:16 +00:00
Brian Palmer
c2f51ccadd Makefile now generates a sorted symbol file - freeldr.sym
svn path=/trunk/; revision=3153
2002-06-26 22:44:07 +00:00
Brian Palmer
3d14932152 Fixed Makefile so it will work when you do a clean checkout and the tools aren't already built.
svn path=/trunk/; revision=3152
2002-06-26 22:32:43 +00:00
Eric Kohl
27a682e098 Fixed severe bugs in the default value handling of RegSetValue() and RegQueryValue().
Implemented simple registry links.
Added creation of the CurrentControlSet link.

svn path=/trunk/; revision=3132
2002-06-20 16:31:59 +00:00
Brian Palmer
3acd677b53 Fixed GetBiosMemoryMap() function.
svn path=/trunk/; revision=3117
2002-06-18 21:40:27 +00:00