[comp.sys.amiga] Caution about OpenDevice

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