[comp.sys.amiga] POKEL 0,0

lphillips@lpami.wimsey.bc.ca (Larry Phillips) (02/28/90)

In <2622@leah.Albany.Edu>, wfh58@leah.Albany.Edu (William F. Hammond) writes:
>The RKM's are pretty specific on the point that there is only one
>absolute address in memory -- and it's not 00000000.  I would be very
>unhappy with a software product that required me to poke something into
>that location.    -- Bill

There are two simple errors thet lead to the need for a program to zero out the
longword at locatin 0. One error is a programmer storing a value using an
uninitialized pointer, or a pointer that has not been checked for validity.
Normally, this would not bother anything, except that the second error is that
some programs fetch a value from a location pointed to by an uninitialized
pointer, or one that has not been checked for validity. Depending on the use to
which the value is put, the results can be innocuous, irritating, or fatal.

So, you can either use a program to zero out the longword in location 0,m or
toss the programs that cause and/or are broken by the errors in them.

-larry

--
Gallium Arsenide is the technology of the future;
  always has been, always will be.
+-----------------------------------------------------------------------+ 
|   //   Larry Phillips                                                 |
| \X/    lphillips@lpami.wimsey.bc.ca -or- uunet!van-bc!lpami!lphillips |
|        COMPUSERVE: 76703,4322  -or-  76703.4322@compuserve.com        |
+-----------------------------------------------------------------------+

wfh58@leah.Albany.Edu (William F. Hammond) (02/28/90)

The RKM's are pretty specific on the point that there is only one
absolute address in memory -- and it's not 00000000.  I would be very
unhappy with a software product that required me to poke something into
that location.    -- Bill

riley@batcomputer.tn.cornell.edu (Daniel S. Riley) (03/01/90)

In article <2622@leah.Albany.Edu> wfh58@leah.Albany.Edu (William F. Hammond) writes:
>The RKM's are pretty specific on the point that there is only one
>absolute address in memory -- and it's not 00000000.  I would be very
>unhappy with a software product that required me to poke something into
>that location.    -- Bill

[This might be a good candidate for some discussion in the intro to c.s.a,
or the extended topics.]

Location 0 is unallocated.  Some broken software writes to it, either due
to debugging code that wasn't removed in the release version, or because
the code is dereferencing null pointers when it shouldn't.

Some versions of the AmigaDOS fast file system fall into the former class:
they write the string 'GDOS' to location 0.  The version of fast file
system shipped with the A2091 and A590 seems to have this problem.  I
believe it can be fixed by using the HDTools to install a later version
of FFS (I don't have an A2091 or A590, so I can't speak from experience,
but I seem to recall Andy Finkel giving detailed instructions on how to
do this some time in the past).

From the comments I've seen here, some MSS software seems to fall into the
latter class, so it breaks when it is run with a version of FFS which writes
'GDOS' into location 0.  Don't be fooled--such software is broken, and 
should be fixed.  It's also true that the older versions of FFS are broken 
in this respect, but at least Commodore has admitted the bug and fixed it 
in a subsequent release.

-Dan Riley (riley@tcgould.tn.cornell.edu, cornell!batcomputer!riley)
-Wilson Lab, Cornell University