[net.micro.pc] Ramdisk and self-booting floppies

dsc@drutx.UUCP (DavisCS) (08/26/86)

I have a couple of programs that boot from floppy diskette, but
apparently do not contain MS-DOS files. It would certainly speed things
up during subsequent execution if I could boot MS-DOS, install my
ramdisk, transfer information from the program diskette to the ramdisk
and then do a "warm re-start" from the ramdisk as if it were drive A:.
Is such a thing possible?

Thanks,
Scott    ...!ihnp4!drutx!dsc

bill@hp-pcd.UUCP (bill) (08/28/86)

Not very likely since your RAM disk is installed and runs *under* DOS
as a block device driver.  Your bootable non-DOS floppy neither knows
nor expects anything of DOS; it relies on Int 13h in your ROM BIOS
for diskette reads and writes.

What you need is some way to catch all diskette drive 0 requests
without letting them get to the ROM BIOS (which in turn almost always
trys to talk to the "first" mechanical floppy drive).
To do what you want, you could do one of several things:

* Build a dedicated RAM disk card, containing as much RAM as you
  feel you need (probably 360K or so) and a BIOS extension ROM to
  intercept Int 13h calls and, depending on whether or not the
  card is enabled, access the RAM or pass the requests on to the
  original BIOS ROM's Int 13h handler.

* Create some sort of device driver or terminate-and-stay-resident
  program that intercepts Int 13h (as above) and sets up and manages
  its own RAM disk partition, which must be set aside in some relatively
  safe section of memory.  By "safe", I mean that during the reboot
  process, the RAM occupied by this program and its "disk" buffer must
  not be stomped upon by memory tests, boot code, stack, or anything
  else that could conceivably be written into memory while your
  non-DOS program is loading.  This may mean that once you've installed
  this new RAM disk "driver", it may have to relocate itself to some
  safer area in memory (good luck finding one).  It would also have
  to be "safe", of course, while DOS is running.

In short, you can't do what you want to do -- at least, not in an *easy*
guaranteed-to-work-under-all-conditions manner.

bill frolik
hp-pcd!bill