in article
7ee55ec2-6a9a-4950...@googlegroups.com,
aiia...@gmail.com at
aiia...@gmail.com wrote on 7/30/12 11:01 AM:
Rich,
Funny you should ask ...
There is a quirk that appears when the file COMPILER is started from
versions of BASIC.SYSTEM _later_ than version 1.1. (Version 1.1 is on the
Beagle Disk)
IIRC, the quirk results in receiving File Type Error messages when
attempting to compile.
Anyway, I use the Beagle Compiler on a relatively large multiple module
accounting system I have. Every few years or so, I make some change to the
BASIC code and have to re-compile, and the doggone 'quirk' hits me in the
face.
So, about 5 years ago I made the following 'NOTES' file to myself to keep me
straight in an attempt to avoid it.
Frankly, these NOTES could be more clear (I wrote them for an audience of
one), but I'll pass them on in hopes of helping others who encounter the
same thing.
In short, to avoid problems, use method #1 below, and then you don't have to
worry about versions of BASIC.SYSTEM. Method #2 below, probably has some
files I created myself, and I just can't remember exactly what I did. Ever
had that happen?
The ProDOS version used doesn't appear to be important, BTW.
Hugh Hood
P.S. While we're discussing the Beagle Compiler's expanded memory versions,
note that there is an 'issue' with the GS.SYSTEM expanded memory version
when used under a ProDOS 8-booted ROM 3 GS.
On a ROM 3 GS, under GS.SYSTEM on ProDOS 8, upon quitting a compiled
program, the memory blocks and ID assigned by the GS memory manager are not
fully 'disposed' of. Subsequent starts of compiled programs then yield a
smaller available memory, particularly on the 1 MB Rom 3 IIGS. You can
confirm this behavior for yourself by using the 'Memory Peeker' CDA and
examining the Free and Used memory blocks listed.
The more times you launch GS.SYSTEM, the smaller your Free Memory becomes.
Strangely, I do _not_ think this is an Beagle Compiler bug, because the
GS.SYSTEM quit routine seems to be coded in the manner required by the
Toolbox Reference, except for neglecting to delete the ID#. Rather, there
seems to be a quirk (bug?) in the ROM3 (maybe ROM1?) Memory Manager Tool
Set. For some reason, the DisposeAll tool does not seem to work if the
assigned memory has an aux ID of 1 (the second digit in (11xx), _unless_ an
aux ID of 0 (wildcard) is used in the DisposeAll call. Oddly, if the
assigned memory has an aux ID of 0, even an aux ID of 0 used in the
DisposeAll call will not work.
This same behavior occurs with AppleWorks 5.1 on a ROM 3 GS booted into
ProDOS 8, probably because it shares some of the same routines for using GS
memory as the Beagle Compiler does. (I think Alan Bird wrote those
AppleWorks routines, as well as the Beagle Compiler, BTW).
Years ago, I came up with an AppleWorks patch to correct this 'issue', and
uploaded it to most of the online services. It is called 'FRESH.IT.PATCH'. I
included some more explanatory material with it (if you're into that sort of
tedium).
I had planned to do the same patch for the Beagle Compiler's GS.SYSTEM, but
never got around to it.
Because of this, I just use the AUXSLOT.SYSTEM expanded memory version on my
compiled programs with my ROM 3 IIGS's booted into ProDOS 8. The extra 48K
of memory offered by AUXSLOT.SYSTEM for variables/arrays comes in handy, and
is more than sufficient for my needs.
Due to insufficient testing, I really can't say if this affects ROM 1
machines, or whether booting in GS/OS (to load the latest patched Tools)
eliminates the issue.
----------------------- START NOTES -------------------------------
Notes on Using Beagle Compiler without receiving File Type Errors.
May 31, 2007
Either:
1. From ProDOS selector (NOT from BASIC.SYSTEM) launch file
"COMPILER.SYSTEM". {Alternatively, launch file "AUXSLOT.SYSTEM" for more
memory space}. This runs the compiled file "STARTUP".
Then, when Menu appears, select to install COMPILER.
Then, quit program. You may then set directory via the PREFIX command and
then compile your file(s).
The command is: COMPILE OLDFILE, NEWFILE.
Or,
2. From ProDOS selector launch file "BASIC1.1.SYSTEM" in the
BEAGLE.COMPILER directory. This is version 1.1 of BASIC.SYSTEM that has been
modified to launch the file "STARTUP.BASIC". [NOTE: Newer versions of
BASIC.SYSTEM do NOT work with the Beagle Compiler.]
{Alternatively, this version of BASIC.SYSTEM (1.1) can be launched with a
dummy STARTUP.BASIC program. When the ']' prompt appears, start the file
'COMPILER' by typing '-COMPILER'.}
Then, when the Menu appears, select to install COMPILER.
Then, quit program. You may then set directory via the PREFIX command and
then compile your file(s).
The command is: COMPILE OLDFILE, NEWFILE.
----------------------- END NOTES -------------------------------