[comp.sys.atari.st] Basepage

psurge@cs.utexas.edu (Troy Carpenter) (01/07/91)

Ok, I have had many people tell me that the image of the Command arguments is
in Basepage + 128.  Could someone please tell me what address is the pointer to
Basepage held in?  I have TOS 1.0, and cannot find anything about Basepage in
the ST Internals.  Thanks a bunch.

By the way, does anyone know of a good memory map of the ST?  Something like
"Mapping the Atari" for the 8 bits, which was a good memory map of those 
computers...anything like that for the ST?

Thanks..

                                Troy Carpenter
                        Department of Computer Sciences
                        THE University of Texas, Austin
                              psurge@cs.utexas.edu

"You're so open minded that your brain leaked out" - Steve Taylor

*>>>>>>>>>>>>>>>>>> The best thing in life costs exactly that <<<<<<<<<<<<<<<*

 

steve@thelake.mn.org (Steve Yelvington) (01/07/91)

[psurge@cs.utexas.edu writes ... ]

> Ok, I have had many people tell me that the image of the Command arguments is
> in Basepage + 128.  Could someone please tell me what address is the pointer 
> to Basepage held in?  I have TOS 1.0, and cannot find anything about Basepage in
> the ST Internals.  Thanks a bunch.
> 
> By the way, does anyone know of a good memory map of the ST?  Something like
> "Mapping the Atari" for the 8 bits, which was a good memory map of those 
> computers...anything like that for the ST?

What sort of compiler are you using? The basepage stuff and parsing the
command line should be managed by the standard program startup code. If
you want to see how it's done, the dLibs sources are free. If you're using
Pascal and can't talk yourself into C and asm, try to track down the
Tackle Box ST package. (I can't help you; I sold my copy many months ago.)

As for mapping the ST's memory -- in general, it's bad magic to think
8-bit thoughts about the ST. There are good reasons for restricting
user-mode access to system variables. Besides the fact that you may wound
innocent bystanders, you may produce a program that breaks on later
versions of TOS and newer members of the ST family. If you want to muck
around in the system, use the documented system calls. 

For the few cases in which you need to examine or replace system
variables, 0x400 through 0x4FE are documented in the Mark Williams C
manual and in Bantam's ``Atari ST Applications Programming.'' I think
``Internals'' documents device addresses, although you should slap
yourself for even thinking about it .... :-)

----
  Steve Yelvington / P. O. Box 38 / Marine on St. Croix, MN 55047 USA
  INTERNET: steve@thelake.mn.org    UUCP: plains!umn-cs!thelake!steve

psurge@cs.utexas.edu (Troy Carpenter) (01/07/91)

This is to all who have helped me about finding out about Basepage, but I
have the solution already.  I found in my Modula 2 Library a procedure that
takes an Integer and returns the address of that argument in the command line.
(minus one, since the first argument is #0).  All I did is create a pointer to
a string and then used the pointer as the address parameter in the call.

For those curious persons, this is with ana-systems Modula 2 compiler, in the
GEMDOS Module.

Thanks for all the help!

                                Troy Carpenter
                        Department of Computer Sciences
                        THE University of Texas, Austin
                              psurge@cs.utexas.edu

"You're so open minded that your brain leaked out" - Steve Taylor

*>>>>>>>>>>>>>>>>>> The best thing in life costs exactly that <<<<<<<<<<<<<<<*