[comp.sys.atari.st] TT PROGRAM 24BIT.PRG -- USE FOR GFA BASIC PROGRAMS

apratt@atari.UUCP (Allan Pratt) (10/06/90)

david@bdt.UUCP (David Beckemeyer) writes:
>I know GFA programs don't run on the TT.

This is not exactly true.  Programs compiled with GFA 2.x will run on
the TT if you use the program 24BIT.PRG (included below) in your AUTO
folder.  What that program does is use the MMU to cause the CPU to
ignore the high byte of all addresses.  GFA BASIC uses the high bytes
of addresses for something, like a type value, and therefore isn't
"32-bit clean." 24BIT.PRG lets you run those programs.  You should also
run with the cache OFF, because the cache uses all 32 bits: $01xxxxxx
doesn't appear to be the same address as $02xxxxxx, even though they
are after they get through the MMU.

24BIT.PRG must run in your AUTO folder.  It has to run before any TSR's
that have their "alternative RAM load/alloc" bits set, so alternative
RAM is empty.  24BIT gobbles up your alternative RAM, so your system
runs as if you don't have any.  (If you *really* don't have any, this
is a no-op.)  You lose access to the VMEbus, too.  This is the price
you pay to run non-32-bit-clean programs.  GFA is working on their
problem.

GFA BASIC itself doesn't run on a TT, even under 24BIT.PRG.  I don't
know about programs compiled with other versions of the compiler, or
whether the compiler itself runs.

In addition to not being 32-bit clean, GFA BASIC uses memory it doesn't
own.  This means they are very sensitive to having other things in
memory (like another process if you're multitasking), and sensitive to
the TOS version (because they rely on certain undefined behavior of
Malloc.)  These practices are Not a Good Thing, and I yelled at them
about this when I was in Dusseldorf.

24BIT will run, but complain, if you're not on a TT, if your TT RAM
isn't empty, or if anything else is funky.

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt

begin 644 24bit.arc
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
313!%QUD0B(```QQ(8($$=P$:`*"@
`
end