[comp.sys.atari.st] The_env and system variables

apratt@atari.UUCP (Allan Pratt) (05/21/87)

K538915@CZHRZU1A.BITNET says:
> ... but as I was unable to find any reference
> to it in the system code it is probably safe to use it as a pointer.

This is not correct!  System variables with no use you can discern are NOT
available for developers' use.  There are two main reasons for this:

1. The variable could be referenced indirectly, as an offset from a register,
so you wouldn't see its address as an absolute value in the ROM.

2. Atari could re-use the variable.  This would be safe because we know
that NO LEGITIMATE PROGRAM HAS MADE USE OF IT, so we wouldn't have to
worry about breaking any existing (legitimate) programs.

These are the rules.  If you break the rules, you should be prepared to
have your programs break under new ROM releases (such as the Mega ST). 
Also under these rules, you have some recourse: suggest to Atari that a
given variable, which you believe to be unused, could be used for a
given purpose.  If we agree that the variable is unused, and that it is
a valuable use for the space, we may publish the new definition of the
variable.  Once we do so, we are committing ourselves to that use, and
you may code with that address, knowing that we will not change it.

In the particular case of the_env, this variable was used under RAM TOS.
It is no longer used, but that means WE (Atari) can use it for something
else, not that YOU (Developers) can.  If you care to submit suggestions
on its use, please send them to me directly.  I may or may not follow
discussions on the net, but I will surely read my mail.  

Note that this is not a vote: any decisions made by me or Atari will be
arbitrary, prejudiced, and final (:-).

Despite my usual disclaimer, for this purpose, Landon and I ARE Atari
Corp. 
						-- Allan Pratt, Atari Corp.
						   ...lll-lcc!atari!apratt

oyster@uwmacc.UUCP (Vicarious Oyster) (05/26/87)

In article <736@atari.UUCP> apratt@atari.UUCP (Allan Pratt) writes:
>This is not correct!  System variables with no use you can discern are NOT
>available for developers' use.  There are... reasons for this:

>2. Atari could re-use the variable.  This would be safe because we know
>that NO LEGITIMATE PROGRAM HAS MADE USE OF IT, so we wouldn't have to
>worry about breaking any existing (legitimate) programs.

   Well then, how about providing those who are developers, but don't want
to pay for all the bundled Dev Kit software, some official documentation
regarding these locations?

[Fnord.]