[comp.sys.amiga.tech] ATOM

bartonr@psu-cs.cs.pdx.edu (Bob Barton) (05/03/89)

Matt Dillon:
>   Of course, none of this is mentioned in the old tech ref (unless I
>missed something).

  There are a few pages on ATOM, beginning on p. 282, but the explanation is
confusing.  At the top of p. 283 it mentions changing the hunk type, but toward
the bottom of the same page it refers to using the upper 2 bits of the hunk size.

bartonr@psu-cs.cs.pdx.edu (Bob Barton) (05/07/89)

In article <247@medusa.informatik.uni-erlangen.de> mlelstv@immd4.informatik.uni-erlangen.de (Michael van Elst ) writes:
>
>The only thing that I want to point on is, that memory type information
>isn't placed in the hunk type fields BUT in the hunk size field.

  It does say that in the AmigaDOS 1.1 manual, but I don't think it's correct.
I have seen executables with hunks of type 400003EA (hunk_data_chip) and
haven't noticed any alteration of the hunk size.

bartonr@psu-cs.cs.pdx.edu (Bob Barton) (05/09/89)

  Whoops!  I should have looked at those load files a little more before
posting that last message.  It seems that the sizes given in the hunk_header
block do use the upper two bits for type information, even if the sizes in
the individual hunks don't.  This apparently allows the loader to go ahead
and allocate space for each hunk in the appropriate area of memory without
having to first scan the file to look at the type of each hunk.

nichiren@glyph.UUCP (Andy Heffernan) (05/09/89)

In article <1158@psueea.UUCP> bartonr@psu-cs.cs.pdx.edu (Bob Barton) writes:
>
>  Whoops!  I should have looked at those load files a little more before
>posting that last message.  It seems that the sizes given in the hunk_header
>block do use the upper two bits for type information, even if the sizes in
>the individual hunks don't.  This apparently allows the loader to go ahead
>and allocate space for each hunk in the appropriate area of memory without
>having to first scan the file to look at the type of each hunk.

Hmmmm... I was talking about object files.

But load files have the type information on both places.

The addition of the bits to the hunk size information in hunk_header
is where that comment about "Old versions of the LOADER will interpret
the new hunk types as VERY large hunk[s] and not load [them]..,"
in the Bantam AmigaDOS manual comes from.  By "new hunk types"
they mean "hunk size words with high-order bits holding type information."
The actual hunk types still carry the information, though.

-- 
-------------------------------------------------------------------------
Andy Heffernan              uunet!glyph!nichiren            [1222 - 1282]
-------------------------------------------------------------------------