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

  1. Path: sparky!uunet!haven.umd.edu!darwin.sura.net!jvnc.net!yale.edu!ira.uka.de!rz.uni-karlsruhe.de!rz.uni-karlsruhe.de!ry53
  2. From: ry53@rz.uni-karlsruhe.de (Angela Schmidt)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: Getting a valid FileSysStartupMsg pointers.
  5. Date: 14 Dec 1992 16:59:22 GMT
  6. Organization: Nessyhoehle@I501.NessyNet.de
  7. Lines: 58
  8. Distribution: world
  9. Message-ID: <1giehaINN497@nz12.rz.uni-karlsruhe.de>
  10. References: <1992Dec13.030020.13319@mail.cornell.edu> <37848@cbmvax.commodore.com>
  11. Reply-To: Angela@rz.uni-karlsruhe.de
  12. NNTP-Posting-Host: tp70.rz.uni-karlsruhe.de
  13.  
  14. In article <37848@cbmvax.commodore.com>, jesup@cbmvax.commodore.com (Randell Jesup) writes:
  15. > chris@alchemy.tn.cornell.edu writes:
  16. > >However, apparently dol_StartUp does NOT always point to a valid
  17. > >FileSystemStartupMsg (hereafter abbreviated FSSM) even though IsFileSystem()
  18. > >returns true.  I have particularly found this to be the case on devices
  19. > >which are not physical disks such as RAM disks or remotely mounted
  20. > >network devices.
  21.  
  22. Here is a part of <dos/dosextens.h>. Please have a look at the commented
  23. line. Doesn't this say, that there has to be a fssm in dol_Startup?
  24. Or are there disks which are no real disks...?
  25.  
  26. | struct DosList {
  27. |     [...]
  28. |     union {
  29. |         struct {
  30. |         [...]
  31. |         ULONG   dol_Startup;    /* startup msg: FileSysStartupMsg for disks */
  32. |      [...]
  33. |      } dol_handler;
  34. |         [...]
  35. |     } dol_misc;
  36. |     [...]
  37. |     };
  38.  
  39. >     This is an ugly area.  Unfortunately, early in the Amiga days (or
  40. > perhaps back in tripos), someone though strings would be neat to hold
  41. > parameters for handler startups.
  42.  
  43. Grmpf. Programs like DiskCopy _need_ a fssm in dol_startup - otherwise
  44. they cannot work correctely. Why do programmers make their handler 
  45. doing bad things with dol_startup? To annoy the user by causing his
  46. machine to crash or hang up?
  47.  
  48. >     A heuristic approach: first, filter out values <64 (64*4 = the size of
  49. > the 680x0 vector table, no pointer can be here).  Next, see if TypeOfMem
  50. > on startup<<2 says it's real memory.  Next, see if the various FSSM pointers
  51. > (or BPTRs) point to real memory (TypeOfMem again).  That should catch almost
  52. > all cases.  (UGLY!!!!).
  53.  
  54. TypeOfMem() will return 0 if the pointer points to the ROM or to
  55. RAM which holds the remapped ROM. Since e.g. fssm_Device and
  56. fssm_Environ may and _do_ point into ROM area, you do have to
  57. check this. But how shall I do this? Testing for an absolute
  58. adress like 0x00F80000 will fail on softkicked machines.
  59.  
  60. And what will happen if fssm_Device or fssm_Environ point into
  61. the expansion space...?
  62.  
  63.  
  64.      V v
  65.   @/@@=\   Salut,
  66.     00 &=-      Angela 
  67. oOoO_/` \\_
  68.     \ /&\   Angela Schmidt cand. inf. (Nessy@IRC) | Amiga //
  69.   |>O<|         EMail: Angela@rz.uni-karlsruhe.de | 1000 // 
  70.    / \_/\/\/v,  Weekend: +49 731 712316 (9am-9pm) |  \\ // since 
  71.   /___________\ Weekdays: 721 6904263 (10am-11pm) |   \X/ 1986 
  72.