Commit graph

198 commits

Author SHA1 Message Date
Eric Kohl
a547aaf0c5 Added checksum calculation to PnPBiosSupported().
Patch by Petr Matousek.

svn path=/trunk/; revision=4964
2003-06-25 13:56:04 +00:00
Eric Kohl
b6b732c937 Removed unused variable.
svn path=/trunk/; revision=4956
2003-06-24 12:22:14 +00:00
Gé van Geldorp
59a5712e45 Start scan for PnP$ signature at low end (0xf0000)
svn path=/trunk/; revision=4955
2003-06-24 11:41:58 +00:00
Steven Edwards
e752a43c37 Gcc 3.x end of line warning fixes
svn path=/trunk/; revision=4896
2003-06-15 21:20:34 +00:00
Brian Palmer
5320d2eb3f Changes in v1.8.13 (6/05/2003) (brianp)
- Added support for booting Linux 2.4.x kernels
- i386 exception handler now reports FreeLoader version number

svn path=/trunk/; revision=4844
2003-06-05 20:06:48 +00:00
Eric Kohl
28c98fe9b4 Get codepage and casetable files from txtsetup.sif.
svn path=/trunk/; revision=4768
2003-05-27 14:13:41 +00:00
Eric Kohl
939d5316af - Added .inf-file parser
- SetupLdr loads and uses txtsetup.sif
- Removed .hiv (text-hive) parser

svn path=/trunk/; revision=4758
2003-05-25 21:20:43 +00:00
Brian Palmer
f152732d04 Lot's of fixes for the FAT12/16 boot sector code.
svn path=/trunk/; revision=4737
2003-05-21 20:28:13 +00:00
Eric Kohl
e76752c103 Load NLS files.
Add basic support for installing ReactOS from floppy disks.

svn path=/trunk/; revision=4725
2003-05-19 09:58:50 +00:00
Eric Kohl
031f55682e Removed obsolete settings.
svn path=/trunk/; revision=4724
2003-05-19 09:51:34 +00:00
Eric Kohl
e35e42758a Remove the INSTALL directory of the Boot-CD.
svn path=/trunk/; revision=4711
2003-05-18 15:21:30 +00:00
Eric Kohl
3e708e6c79 Detect hardware before ntoskrnl.exe will be loaded.
svn path=/trunk/; revision=4662
2003-05-10 09:26:59 +00:00
Eric Kohl
7f6db59b55 - Fixed counting the number of available harddisks for broken BIOSes.
- Enable/disable the display of read error messages.

svn path=/trunk/; revision=4661
2003-05-10 09:25:35 +00:00
Eric Kohl
d882e9a38b Reworked and fixed most of the CPU and PnP code.
svn path=/trunk/; revision=4658
2003-05-08 18:35:46 +00:00
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
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
Brian Palmer
63ea3fb94c Cross-platform tools added to Makefiles.
svn path=/trunk/; revision=3061
2002-06-13 00:39:49 +00:00
Casper Hornstrup
669a991546 Add multi and expand registry key type support.
svn path=/trunk/; revision=3049
2002-06-11 20:10:36 +00:00
Brian Palmer
a89e08d368 Caches the current FAT sector so it doesn't read again if it doesn't have to.
svn path=/trunk/; revision=3047
2002-06-11 16:58:31 +00:00
Casper Hornstrup
65ae3074e9 Kill warnings.\n Use DbgPrint for debugging registry.
svn path=/trunk/; revision=3046
2002-06-11 16:23:20 +00:00
Brian Palmer
8bab1a8f2d Optimized FAT32 bootsector to read more than 1 sector at a time on systems supporting LBA calls.
svn path=/trunk/; revision=3045
2002-06-11 05:41:45 +00:00
Eric Kohl
c9e12ce035 Handle multi-string group order list properly.
svn path=/trunk/; revision=3030
2002-06-09 13:28:49 +00:00
Brian Palmer
662162a601 Fixed bug that was preventing FreeLoader from booting on FAT32 systems.
svn path=/trunk/; revision=3028
2002-06-09 00:03:58 +00:00
Brian Palmer
20327bf11a Changes in v1.3.1 (6/8/2002)
- Implemented MmAllocateMemoryAtAddress()
- Fixed Linux boot code to go through the memory manager to allocate memory at 1MB

svn path=/trunk/; revision=3027
2002-06-08 19:20:01 +00:00
Brian Palmer
0bb513eddf Makefile fixes
svn path=/trunk/; revision=3018
2002-06-06 21:33:13 +00:00
Brian Palmer
ac99fa1fdc Changes in v1.3 (6/5/2002)
- Added protected mode exception handling in case FreeLoader crashes
- Reworked memory manager to use all of extended memory
- Reworked UI code, now supports multiple text-mode resolutions

svn path=/trunk/; revision=3010
2002-06-06 05:58:37 +00:00
Brian Palmer
e5423f156b Compared the output of fat.asm from nasm v0.98 and nasm v0.98.32.
Modified fat.asm to produce the same output under both versions.

svn path=/trunk/; revision=2973
2002-05-22 22:15:28 +00:00
Brian Palmer
86b351ce41 Changes in v1.2.2 (5/4/2002)
- Fixed memory leak in menu.c

svn path=/trunk/; revision=2906
2002-05-04 09:25:47 +00:00
Brian Palmer
5d75740eea Quick Makefile fix
svn path=/trunk/; revision=2905
2002-05-04 08:19:22 +00:00
Brian Palmer
ab6d9f2a6b Changes in v1.2.1 (5/3/2002)
- Makefile updates
- Optimized the Makefile
- Removed recursive make functionality (builds much faster now)
- Places all output into one single directory
- Added automagically generated dependencies

svn path=/trunk/; revision=2904
2002-05-03 23:56:18 +00:00
Brian Palmer
467e8c55cc Changes in v1.2 (4/30/2002)
- All Linux kernels are supported (zImage & bzImage, loaded high & low)
- Initrd support
- FreeLoader now compiles under Mingw32 instead of just DJGPP, but
  the Mingw32 linker seems to output a corrupt binary.

svn path=/trunk/; revision=2899
2002-04-30 06:26:33 +00:00
Brian Palmer
a28d727f4e Fixed FAT short file name buffer overflow that was causing some long filenames not to work correctly.
svn path=/trunk/; revision=2892
2002-04-28 20:31:42 +00:00
Eric Kohl
8ae62fd2db Removed direct debug output.
Replaced direct calls to bios routines.

svn path=/trunk/; revision=2869
2002-04-25 22:24:24 +00:00
Eric Kohl
7111fc6bfa Added the original copyright from isolinux.
Added 'Press any key to boot from CD' feature.
Changed load path to '\REACTOS\FREELDR.SYS'.

svn path=/trunk/; revision=2868
2002-04-25 14:22:25 +00:00
Brian Palmer
a9450f5a72 FreeLoader version 1.0!
Supports booting Linux bzImage kernels
No initrd support (yet)
No zImage support (yet)
No ext2 file system support (yet)
Forward slashes '/' as well as backslashes '\' can be used for path names in FAT & ISO-9660
Fixed bug in LBA code where is was only reading one sector even if you asked for more
Fixed bug in FAT code, was also present in ISO-9660 code

svn path=/trunk/; revision=2867
2002-04-25 02:48:15 +00:00
Eric Kohl
c1e3c3d7fe Added ISO-9660 support.
svn path=/trunk/; revision=2865
2002-04-23 09:08:59 +00:00
Eric Kohl
13206a61a1 Added ISO-9660 boot sector description.
svn path=/trunk/; revision=2864
2002-04-22 12:05:07 +00:00