Skip to main content

So be it
Threaten no more
To secure peace of to prepare for war
So be it
Settle the score
Touch me again for the words that you'll hear evermore...
                                  "Don't tread on me" - Metallica

                   HOW TO MAKE YOUR ST FASTER
   (And how to make an article that spits on structure rules)

                      by Richard Karsmakers

 It's truly unimaginable that,  after about one year of using the
ST with TOS 1.4 or higher, I have never actually found out how to
make  file  loading  faster.  I have been  experimenting  like  a
lunatic  with Cache programs and a strange little program  called
"Pinhed".
 But  let  me  not  stray before I  have  explained  to  you  the
principle of the 'fast load bit'.

The fast load bit

 I  suppose  most of you have at least heard  of  the  mysterious
'fast load bit',  and most of you will probably also know that it
is located in an executable file's header (the first $1C bytes of
e.g. a .PRG or .TOS file).
 Atari  seems to have refused to document this feature  properly,
but if you have a look at the table below you'll see where it  is
located exactly.

 ---------------------------------------------------------------
 Offset:          Contains:
 ---------------------------------------------------------------
  $00             BRA.S ($601A; BRanch Always instruction)
  $02             Bytes in text segment
  $06             Bytes in data segment
  $0A             Bytes in BSS (Block Storage Segment)
  $0E             Bytes in symbol table
  $12             Zero (reserved)
  $16             ph_flag (longword)
                  ST/STE/TT:
                  Bit 0 = Fastload bit   (<----- There it is!!)
                  TT only:
                  Bit 1 = Load program into TT Ram bit
                  Bit 2 = Use TT Ram only bit
  $1A             Zero if no relocation bits
 ---------------------------------------------------------------
  $1C             Start of program text segment
 ---------------------------------------------------------------

                      File header contents

 Now.  What  does  the  fast load bit actually  do  besides  just
sitting there?
 In  TOS 1.4 and up,  the Operating System checks if this bit  is
set each time a file is loaded and executed.  If it is,  then  it
does not clear all memory (which can be up to 4 Mb on MEGA ST 4),
but only a part that is needed by the program the run. This saves
time.  If  the bit is cleared,  everything remains the  same  and
memory is cleared as usual. This does make things slower.

Pinhed

 An  American  chap by the name of Charles  F.  Johnson  wrote  a
little program called "Pinhed".  "Pinhed" does nothing more  than
allowing  the  fast load bit principle to work  on  TOS  versions
lower   than  1.4.   With  TOS  1.4  and  higher,   it   improved
compatibility  of  programs that would otherwise maybe  not  work
with the fast-load bit set.  All in all, a clever little piece of
programming.  When  you have a TOS version lower than  1.4,  your
computer will NOT load any faster unless you used "Pinhed"!
 "Pinhed", by the way, is Shareware.
 More  info about it is contained in the (English) text  file  in
the PROGRAMS folder.

Yes! Let's have a look at the PROGRAMS folder

 In the PROGRAMS folder, there is another folder called MAKEFAST.
This contains three program files.
 With the aid of the programs in this folder,  you can make  your
system a lot faster,  specially if you've got an AUTO folder with
lots  of stuff on it (which is usually the case if you've  got  a
harddisk  and  a fair bit of memory).  I've got  almost  15  AUTO
folder programs installed usually,  and I've got 4 meg. Count the
profit!
 Anyway. The files.

 MAKEFAST.PRG  A program that can manipulate ONE file's FLoad-bit
 MF      .TOS  A program that can manipulate ALL Fload-bits
 PINHED  .PRG  The program mentioned above

Makefast

 This  program was written in 1989 by Ken Badertscher from  Atari
Corp.,  Sunnyvale,  Ustated Nites. With the help of this program,
it is possible to set or clear the fast load bit of an individual
file (or several files), or check what the status of a file is.
 It is Public Domain.

 When you run "Makefast" from the desktop,  it presents you  with
(surprise!) an alert box.   The first one asks you if you want to
Continue  or  Quit.   If you bravely  select  Continue,  you  are
presented  with  an alert box which asks you which  function  you
want  to  perform:   MakeFast  (set a  program's  fastload  bit),
MakeSlow  (clear a program's fastload bit),  or Check (see  if  a
program is set for fastload).  Make a selection, and use the file
selector  which appears to select the program  to  check.   Don't
worry  if  you  make a mistake and select  a  "Spectrum"  picture
instead  of a program - "Makefast" won't do anything  with  files
that aren't executable.   It will let you know if you selected  a
file which was not an executable program.   Also,  if you try  to
"Makefast"  a  program  which is already  set  for  fastload  (or
MakeSlow  one which is not set for fastload),  it will leave  the
program alone and tell you that there was no change.   After  the
function  is complete,  you're back to the "Continue/Quit"  alert
box.
 When installed as a TOS Takes Parameters application (i.e.  when
it  has  the extension .TTP),  or when run from  a  command  line
shell, "Makefast" can be used to manipulate more than one file at
a time.  From a command line shell, type:

 makefast -h

to get a message describing the usage. A user manual, thus.
 Note that if you are using "Makefast" as a TTP application,  you
don't  have  to type "makefast" at the beginning of  the  command
line - the desktop fills in that part of the command for you.
 To set the fastload bit in file1,  file2,  and file3, you are to
use the command:

 makefast file1 file2 file3

 To  clear  the fastload bit in filea and fileb,  use  the  -Slow
option:

 makefast -s filea fileb

 To check the fastload bit in all files in a directory, use the -
Check option:

 makefast -c *.*

 If any of the files are not executable,  "Makefast" will  inform
you  of  that  fact.  Note that filename wildcards  will  NOT  be
expanded if you are running makefast from the Desktop TTP dialog. 
If  you  are  using the TTP dialog,  you must type  out  all  the
filenames to check.

MF

 "MF" is an enhanced version of "Makefast".  It was also  written
in 1989, but by Marcel Waldvogel of Germany.
 It is Public Domain.
 Principally,  is is the same as "Makefast" but it has one  major
exception.  Whereas "Makefast" is difficult to use with  multiple
files, "MF" works on all files in a given partition or on a given
disk that have the extension .PR?, .APP, .TOS or .TTP (the '?' in
.PR? is a wildcard).
 Just  like  "Makefast",  several  options can be  given  to  the
program:

 -h  (help)  Shows a short user manual
 -c  (check) Shows the fastload status
 -s  (slow)  Clears the fast load bit

 When nothing is specified, the fast load bit will be set.

Problems, or: Why the fast load bit can be cleared as well

 Some  programs are programmed rather clumsily - or  rather,  the
programs  do  not anticipate the user suddenly not  clearing  all
memory  before  they start.  This causes these programs  to  work
incorrectly, or even crash, when the fast load bit it set.
 No panic,  however: Just revert the fast load bit, i.e. clear it
again.
 Problems like this are known to occur with "GfA Basic" (as  well
as  many  compiled  GfA programs),  the  original  "ARC.TTP"  and
"MicroSoft Write".  Also, using accessories that have their fast-
load-bits set can give various problems.
 Do note that these may work when using "Pinhed"!

Well...

 What's stopping you? Go and make your system a lot faster! NOW!

Disclaimer
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.