Article View: comp.sys.atari.st
Article #4144BSS-Bit feature of TOS 1.4 (Was: Re: PACK vs. reserved header elements
From: VBRANDT
Date: Tue, 19 Sep 1989 11:54
Date: Tue, 19 Sep 1989 11:54
45 lines
2961 bytes
2961 bytes
In Info-Atari16 Digest #457, mailrus!cwjcc!dsrgsun.ces.cwru.edu@purdue.edu
(Jwahar R. Bammi) says:
>if it is the second longword following symb_size that is non-zero, then
>TC is using a (yet undocumented i guess) feature of TOS 1.4. If this
>long has its lowest bit set, then when launching a process TOS will not
>clear all of TPA, just the BSS area. If it is zero, then it will behave
>as normal, ie. clear all of TPA including the BSS area of the process.
Well, if you have the right documents, this feature *is* documented. To
quote from the 'Rainbow TOS Release Notes - August 7, 1989', page 38:
"The second of the two reserved longwords in a PRG file header is no longer
reserved: it is now defined as a bitmap of requests for new features.
When the lowest-order bit, 0x00000001, is set, it indicates that Pexec
should not bother to clear the program's entire heap, only the declared
BSS. This shaves up to one second off program load time on a Mega 4. Many
programs can have this bit set with no ill effects: it is generally
considered bad practice to assume that "stack + heap" space is clear when
you start up. Some programs cannot have the bit set, and this is why the
default (zero) case is to clear the heap."
I'm surprised that this little gem hasn't been brought up here before.
The part about PRG is a bit misleading; it works for accessories as well.
I have a Mega 4 with five little binaries in the \AUTO folder, and three
accessories on the boot partition. My boot process is now FOUR TIMES FASTER!
WELL DONE ATARI !!!!! Note that you have to have TOS 1.4 of April 6, 1989
or better. It will not work with the February 22 release.
I will post a little progam next week that allows you to set that "BSS-bit"
comfortably, instead of having to fiddle around in program headers with a
disk editor.
Could someone at Atari please post a list of known programs that don't work
with the BSS bit set ? I have found only one so far, namely QUICK-ST 1.4.
Greetings -- Volker
----------------------------------------------------------------------------
Bitnet: VBRANDT@DBNUAMA1 (will go away late '89) Volker A. Brandt
UNM409@DBNRHRZ1 (soon) Angewandte Mathematik
UUCP: ...!unido!DBNUAMA1.bitnet!vbrandt (Bonn, West Germany)
ARPAnet: VBRANDT%DBNUAMA1.BITNET@CUNYVM.CUNY.EDU
Technical Details
Message-ID:
<8909191154.AA12663@ucbvax.Berkeley.EDU>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!DBNUAMA1.BITNET!VBRANDTShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!DBNUAMA1.BITNET!VBRANDT From: VBRANDT@DBNUAMA1.BITNET Newsgroups: comp.sys.atari.st Subject: BSS-Bit feature of TOS 1.4 (Was: Re: PACK vs. reserved header elements Message-ID: <8909191154.AA12663@ucbvax.Berkeley.EDU> Date: 19 Sep 89 11:54:33 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 45 X-Unparsable-Date: Tue, 19 Sep 89 13:48:59 SET