http://www.ultimateb...php?f=13&t=4077
(and not without many troubles ) I managed to carry out a few experiments with FreeDOS SYS.COM.
Note:
The ONLY version of SYS.COM that actually behaves like it's doc page suggests:
http://www.freedos.org/kernel/sys.txt
is the one you can access by following EXACTLY Icecube's instructions:
Attach the FreeDOS base ISO (fdbasecd.iso)
In FreeDOS, select "Continue to boot FreeDOS from CD-ROM" (press [ENTER] or type "1" [ENTER])
Then select:
2. FreeDOS Safe Mode (don't load any drivers)
On the actual fdbasecd.iso you can get from here:
http://www.freedos.org/freedos/files/
http://mirrors.bbnx.....0/fdbasecd.iso
if you look hard enough, you will find 3 (THREE) different versions of SYS.COM (ALL obviously named SYS.COM to help disambiguate ) :
- \fdbasecd.iso\freedos\setup\odin\sys.com (10021 bytes 2006-07-13) <- NO GOOD, it misses two options, marked in red in #3
- \fdbasecd.iso\freedos\packages\base\sysx.zip\bin\sys.com (14561 bytes 2006-08-18) <- NO GOOD, it is a COMPLETELY different tool, and it is the one that will be installed to hard disk
- \fdbasecd.iso\isolinux\data\fdboot.img\image\freedos\sys.com (11459 bytes 2006-08-11) <- the actual GOOD one
#2 (running SYS without parameters):FreeDOS System Installer v3.4, Nov 12 2004
Usage:
SYS [source] drive: [bootsect [BOTH]] [/BOOTONLY] [/OEM] [/K name] [/L segm]
source = A:,B:,C:\KERNEL\BIN\,etc., or current directory if not given
drive = A,B,etc.
bootsect = name of 512-byte boot sector file image for drive:
to write to *instead* of real boot sector
BOTH : write to *both* the real boot sector and the image file
/BOOTONLY: do *not* copy kernel / shell, only update boot sector or image
/OEM : indicates kernel is IBMBIO.COM/IBMDOS.COM loaded at 0x70
/OEM:DR use IBMBIO.COM/IBMDOS.COM and FD boot sector (default)
/OEM:PC use PC-DOS compatible boot sector
/OEM:MS use PC-DOS compatible boot sector with IO.SYS/MSDOS.SYS
/K name : name of kernel to use instead of KERNEL.SYS
/L segm : hex load segment to use instead of 60
/B btdrv : hex BIOS # of boot drive, FF=BIOS provided, 0=A:, 80=1st hd,...
SYS CONFIG /help
#3 (running SYS without parameters):FreeDOS System Installer v3.2, Aug 18 2006
Usage: SYS [source] drive: [bootsect [BOTH]] [BOOTONLY] [/K name] [/L segm]
source = A:,B:,C:\KERNEL\BIN\,etc., or current directory if not given
drive = A,B,etc.
bootsect = name of 512-byte boot sector file image for drive:
to write to *instead* of real boot sector
BOTH : write to *both* the real boot sector and the image file
BOOTONLY : do *not* copy kernel / shell, only update boot sector or image
/K name : name of kernel to use instead of KERNEL.SYS
/L segm : hex load segment to use instead of 60
SYS CONFIG /help
FreeDOS System Installer v3.6, Aug 04 2005
Usage:
SYS [source] drive: [bootsect] [{option}]
source = A:,B:,C:\DOS\,etc., or current directory if not given
drive = A,B,etc.
bootsect = name of 512-byte boot sector file image for drive:
to write to *instead* of real boot sector
{option} is one or more of the following:
/BOTH : write to *both* the real boot sector and the image file
/BOOTONLY: do *not* copy kernel / shell, only update boot sector or image
/UPDATE : copy kernel and update boot sector (do *not* copy shell)
/OEM : indicates boot sector, filenames, and load segment to use
/OEM:FD use FreeDOS compatible settings
/OEM:EDR use Enhanced DR DOS 7+ compatible settings
/OEM:DR use DR DOS 7+ compatible settings
/OEM:PC use PC-DOS compatible settings
/OEM:MS use MS-DOS compatible settings
/OEM:W9x use MS Win9x DOS compatible settings
default is /OEM[:AUTO], select DOS based on existing files
/K name : name of kernel to use in boot sector instead of KERNEL.SYS
/L segm : hex load segment to use in boot sector instead of 60
/B btdrv : hex BIOS # of boot drive set in bs, 0=A:, 80=1st hd,...
/FORCEDRV: force use of drive # set in bs instead of BIOS boot value
/NOBAKBS : skips copying boot sector to backup bs, FAT32 only else ignored
SYS CONFIG /help
OT , but not much , if you compare output with file dates and version numbering, you will understand how past (and current AND future ) versioning nightmare we have on Winbuilder is nothing compared to what the good FreeDOS guys managed to put together :
- FreeDOS System Installer v3.4, Nov 12 2004 (10021 bytes 2006-07-13)
- FreeDOS System Installer v3.2, Aug 18 2006 (14561 bytes 2006-08-18)
- FreeDOS System Installer v3.6, Aug 04 2005 (11459 bytes 2006-08-11)
Anyway, once got hold of the "good" file, (BTW please note how if you use the way suggested by Icecube you need an already formatted floppy image, since in the "2. FreeDOS Safe Mode (don't load any drivers)" seemingly there is NO FORMAT command available )
I ran:
- SYS B: /BOOTONLY /OEM:FD
- SYS B: /BOOTONLY /OEM:EDR
- SYS B: /BOOTONLY /OEM:DR
- SYS B: /BOOTONLY /OEM:PC
- SYS B: /BOOTONLY /OEM:MS
- SYS B: /BOOTONLY /OEM:W9x
- FRDOS41FD.bin
- FRDOS41EDR.bin
- FRDOS41DR.bin
- FRDOS41PC.bin
- FRDOS41MS.bin
- FRDOS41W9x.bin
FRDOS41FD.bin<->FRDOS41EDR.bin SAME boot code; Byte at Offset 0x5C respectively 0x60 and 0x70; system file invoked KERNEL.SYS and DRBIO.SYS
FRDOS41FD.bin<->FRDOS41DR.bin SAME boot code; Byte at Offset 0x5C respectively 0x60 and 0x70; system file invoked KERNEL.SYS and IBMBIO.COM
FRDOS41FD.bin<->FRDOS41PC.bin completely different boot code.
FRDOS41FD.bin<->FRDOS41MS.bin completely different boot code.
FRDOS41FD.bin<->FRDOS41W9x.bin completely different boot code.
FRDOS41MS.bin<->FRDOS41PC.bin SAME boot code; system file invoked IO.SYS and IBMBIO.COM
FRDOS41MS.bin<->FRDOS41W9x.bin SAME boot code; system file invoked IO.SYS and IO.SYS ; Byte at Offset 0x11D respectively 0x00 and 0x02
If anyone could contribute explaining WHAT is the reason of the byte change at offset 0x11D it would be appreciated.
Wonko