1. USB/ATA/Firewire Disk created using APSoft enabler cannot be read using BIOS support.
  2. Cannot boot from USB/ATA/Firewire Disk created using APSoft enabler.
Reason: Different BIOS versions can use different algorithm of LBA translation.
Description: Computer can access Disk using 2 methods:
  1. Cylinder-Head-Sector (CHS) or
  2. Logical Block Access (LBA) accessing.

CHS addressing has many limitations. For the complete description please refer to excellent series of articles on site of DEW Associates Corporation:

  1. Hard Drive Size Limitations and Barriers. The Basics at http://www.dewassoc.com/kbase/hard_drives/drive_size_barrier_limitations.aspx
  2. Hard Drive Size Limitations and Barriers. The Basics (Cont) at http://www.dewassoc.com/kbase/hard_drives/drive_size_barrier_limitations_2.aspx
  3. Hard Drive Size Limitations and Barriers In Depth at http://www.dewassoc.com/kbase/hard_drives/hard_drive_size_barriers.aspx

In order to avoid disk barriers and limitations, other than those imposed by the operating systems themselves, today's hard drives no longer rely upon CHS geometry and instead use logical block addressing. However, for backward compatibility, CHS addressing is still used during the BOOT process and in the drive partitioning. Any BIOS or today's operating system will simulate a logical CHS structure in function of physical disk size. Unfortunately, there is no common standard which number of cylinders, heads and sectors should be emulated for particular disk size. Two algorithms are used most frequently (please refer to "BIOS Enhanced Disk Drive Specification, Version 1.1", May 9, 1995 by Phoenix Technologies Ltd. at http://www.phoenix.com/NR/rdonlyres/56E38DE2-3E6F-4743-835F-B4A53726ABED/0/specsbbs101.pdf):

  1. Phoenix simple bit-shift mapping scheme
  2. LBA assisted translation

If disk is already partitioned, the client software can check partition table in Master Boot Record (MBR) in order to determine simulated CHS values. All Windows versions and all APSoft Enablers are doing exactly that. However several BIOS versions (e.g. many of Dell BIOS) do not perform such checking and use hardcode algorithm. In such case if disk is formatted using e.g. "LBA assisted translation" and BIOS expects "Phoenix simple bit-shift mapping", the disk will be not readable and not bootable.

Therefore it's impossible to create fully universal disk format. This is not a problem of concrete software (such as APSoft Enabler), but problem of luck of standardization.

Additional Notes:

  1. Most of today's BIOS using "Phoenix simple bit-shift mapping scheme" are using however values of C=1024, H=255, S=63 for drives bigger as 8GB. Those values are the same as values used by "LBA assisted translation". Therefore compatibility problems appear most often on drives with size less as 8GB such as USB sticks.
  2. It was found that Windows (e.g. Windows XP) will emulate "LBA assisted translation" by default. Therefore if drive was not yet partitioned, then first format under Windows will create "LBA assisted translation". Otherwise Windows will use the values read from the MBR.
Solution: If any concrete BIOS with e.g. USB emulation doesn't recognize the USB device formatted under Windows or under APSoft enabler, please do as follow:
  1. Using any available disk utility erase MBR (first physical sector on the disk).
  2. Connect disk to the problem machine and boot into DOS.
  3. Run DOS FDisk to create primary partition of any size.

The disk prepared such way will be compatible with a particular BIOS as well as with APSoft Enabler and/or Windows.