> We have a custom pc with a pcmcia flash card and no floppy. The flash card
> appears to the computer as hard drive d:
> The flash has a problem. The first sector from the flash gets read in and
> executed ok. But the code that comes from the flash attempts to read the
> rest of the loader from floppy. Looking at the source, it seems clear, the
> boot sector code just assumes it comes from diskette on drive a and that
it
> should get the rest of the code from the same place.
I am going to assume that since you state above that "The first sector from
the flash gets read in and executed ok.", that your custom PC supports the
PCMCIA card through the BIOS (i.e., INT 0x13) as drive 0x81 (which would
then be mapped as drive "D:" by an OS such as (MS)DOS, and that your "custom
pc" allows you to boot from BIOS drive 0x81 (curious..."A:" and "C:" are the
common options)
You should be able to modify "floppyload.S" to ensure the DL register
contains 0x81 on all INT 0x13 calls. Note that this might require a bit of
creativity, since the existing code is getting close to the 512 byte limit
for one sector.
If this was of much use, you could provide a patchable byte just prior to
the 0xAA55 at the end of the sector, which would default to 0x00 (first
floppy drive), but could be easily patched.
Good Luck,
Robb Main.
|