home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / amiga / programm / 17323 < prev    next >
Encoding:
Internet Message Format  |  1992-12-13  |  1.8 KB

  1. Path: sparky!uunet!cbmvax!jesup
  2. From: jesup@cbmvax.commodore.com (Randell Jesup)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: Getting a valid FileSysStartupMsg pointers.
  5. Message-ID: <37848@cbmvax.commodore.com>
  6. Date: 14 Dec 92 04:04:25 GMT
  7. References: <1992Dec13.030020.13319@mail.cornell.edu>
  8. Reply-To: jesup@cbmvax.commodore.com (Randell Jesup)
  9. Organization: Commodore, West Chester, PA
  10. Lines: 30
  11.  
  12. chris@alchemy.tn.cornell.edu writes:
  13. >However, apparently dol_StartUp does NOT always point to a valid
  14. >FileSystemStartupMsg (hereafter abbreviated FSSM) even though IsFileSystem()
  15. >returns true.  I have particularly found this to be the case on devices
  16. >which are not physical disks such as RAM disks or remotely mounted
  17. >network devices.
  18.  
  19.     This is an ugly area.  Unfortunately, early in the Amiga days (or
  20. perhaps back in tripos), someone though strings would be neat to hold
  21. parameters for handler startups.  So they implemented BSTRs as an alternative
  22. to FSSMs.  They also thought that passing small integers would make it slightly
  23. easier on whoever was writing the port-handler (SER/PAR/PRT).  So they also
  24. added support to pass an integer.  So, startup can hold 3 things: an integer,
  25. an BPTR to a BSTR, or a pointer to an FSSM (actually I think it's a BPTR).
  26. Ugly, eh?
  27.  
  28.     A heuristic approach: first, filter out values <64 (64*4 = the size of
  29. the 680x0 vector table, no pointer can be here).  Next, see if TypeOfMem
  30. on startup<<2 says it's real memory.  Next, see if the various FSSM pointers
  31. (or BPTRs) point to real memory (TypeOfMem again).  That should catch almost
  32. all cases.  (UGLY!!!!).
  33.  
  34.     Isn't compatibility grand?
  35.  
  36. -- 
  37. To be or not to be = 0xff
  38. -
  39. Randell Jesup, Jack-of-quite-a-few-trades, Commodore Engineering.
  40. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com  BIX: rjesup  
  41. Disclaimer: Nothing I say is anything other than my personal opinion.
  42.