gclark@utcsri.UUCP (04/09/87)
Sender: I just learned the hard way that OpenDevice() can be used safely to open a disk-resident device (the serial.device, for example) only from AmigaDOS processes, not from plain exec tasks. This is the case because the "Open" code (at least for some devices) assumes it can just call DOS routines such as LoadSeg() to read in the driver code if it is not present, and DOS routines expect to be called by DOS processes. This restriction was quite surprising to me, and not documented anywhere as far as I could tell. Graeme Clark -- Dept. of Computer Science, Univ. of Toronto, Canada M5S 1A4 {allegra,cornell,decvax,ihnp4,linus,utzoo}!utcsri!gclark
billk@pnet01.CTS.COM (Bill Kelly) (04/14/87)
>...OpenDevice() can be used safely to open a disk-resident device...only >from AmigaDOS processes, not from plain exec tasks. Really? Arrrrgh! I'm running into more and more problems trying to make a self-booting, stand-alone application. I want it to boot without having to load AmigaDOS first. (Like the EA games) Now, I know how to write my own boot code, but if I can't call DOS routines or Exec routines that depend on DOS without being a DOS task, it sounds sortof hopeless. Still, it's being done. Anyone care to speculate on how the games self-boot and what would be a nice way to do it myself? Since I'm not using DOS files I'm already going to have to write my own loader... (no huge job, I know, but still...) Bill Kelly {akgua, hplabs!hp-sdd, sdcsvax}!crash!pnet01!billk