GFA-BASIC Compiler  Version 3.6  Revision 15
GFA-BASIC Linker    Version 3.6  Revision 08
GFA-BASIC Library   Version 3.6  Revision 03

Released Nov 18, 2007
Modifications by Lonny Pursell
http:\\www.bright.net\~gfabasic\


This package contains updated binary releases.  Due to the serious nature
of some of these bugs, simply patching them just wasn't possible anymore.
They have been fully dis-assembled and repaired/recoded and re-assembled from
the ground up.  Some of these corrections are based on some older patches,
namely the Deep Sleep patch (aka GFA-Patch v1.07).  Deep Sleep was
contacted, promised me the source code to their patches, but what seems to be
typical when it comes to GFA matters, they did NOT deliver the goods.  That is
when more extensive research was put into the problems, and the repairs have
mutated into something I feel is far more than just a clone of the old
GFA-Patch.


Also you will notice that there are no extra copyrights or other
messages displayed.  I do not claim to have written this software, only that
I have spent the time to recode portions of it.  The idea is to make minimal
changes, that is, only what is required to solve the problems.


These binaries can be used with the following libraries:
  GBE Library (included in the archive)
  GFA-Patch library
  RUN! Software library
  LicomLIB is not supported!  You have been warned!!
  GFA-Basic library (original)  This is also not supported!!!

Note: The old binaries automatically appended extenders.  This caused nothing
but problems under MiNT and so this behavior has been removed.  The path that
is passed will be used 'as is'.


If you have a problem with this software, please contact me.  I cannot fix
what I do not know about.  :o)

Memo: This package is only available in English.  Due to lack of feedback I
have dropped all the other translations.  The only real feedback I get is
from the ones that do the translations, which on average is one person per
language.  There isn't that much text in these binaries anyway.


------------------------------------------------------------------------------


GFA-BASIC Compiler release notes:

r15
  Reverted the '$F%' and '$X' modification, fixed the code which skips spaces
    The command '$  F%' is now valid per the manual (extra white spaces)

r14
  Missing procedures and labels are now detected
    RESTORE missing_label                                   !fixed
      Program would still run, but the wrong DATA line was restored
    GOTO/RESUME missing_label                               !fixed
    ON ERROR/ON BREAK GOSUB missing_proc                    !fixed
    EVERY/AFTER x GOSUB missing_proc                        !fixed
    ON MENU GOSUB missing_proc                              !fixed
    ON MENU KEY/IBOX/OBOX/BUTTON/MESSAGE GOSUB missing_proc !fixed
    ON x GOSUB missing_proc1,missing_proc2                  !fixed
      These were all fatal! -> JSR 0.L or JMP 0.L
  Code removed which was suppose to skip spaces in '$F%' and '$X'
    Code always failed anyway, thus this never worked '$  F%'    
  Added error code -3 (Procedure or label undefined)
    If this error ever occurs, please contact me!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

r13
  Optimized GRAF_MKSTATE() fix (saved a few bytes)
  Unused code identified and removed (smaller binary)
  Unreleased

r12
  Program exit code is now a standard MiNT error code
    Disk full error code (-1) changed to -91
    Not enough memory error code (-8) changed to -39
    File type/format error code (-100) changed to -26

r11
  $X with FUNCTIONs (with no parameters) sometimes added a stack correction
    Incorrectly tested a filler byte (one token to far) at the end of the line
    If the routine was called enough, it would eventually crash

r10
  $X with VAR parameters calculated the wrong amount of stack correction
    If VAR was used the calculation was always too small
    Caused the stack space to be slowly eaten away
    If the routine was called enough, it would eventually crash
  $X with FUNCTIONs (with parameters) produced no stack correction at all
    Caused the stack space to be eaten away even faster
  Norwegian/NO translation added

r9
  GRAF_MKSTATE() bug fixed
    GRAF_MKSTATE() with no parameters whatsoever was fatal
  DIM bug fixed
    A line such as DIM (1,2,3,4,5,6,7,8) was fatal
    This will now generate a logical error message
  MAT INPUT bug fixed
    A line such as MAT INPUT x() was fatal
    This will cause input to be accepted on the console as expected
  MAT DET/QDET/RANG bug fixed
    A line such as MAT DET a(1,1),float was fatal
  Crashes related to undefined functions within structure commands fixed
    A line such as IF @my_func(params)=0 could be fatal, but not always
    It will now halt at the first undefined function
  MSHRINK() always failed (returned error code -40)
    This command now works as it should
  Slightly cleaner start up code in the compiled application (NOP replaced)
    The NOP caused a weird problem with MagicPC + JIT compiler enabled  (Ingo)
  ILLEGAL instructions in various parts of the code replaced
    Should any of these errors occur it will report the error and exit cleanly
  Header flags are preset to use fastram if you have it
    This actually speeds up the compile process
  Recompiled with Devpac's optimizations enabled

r8
  Added a new real time line counter option
    The old interrupt method is still in place, but should be avoided
      Would crashed sometimes on my 060 with MiNT, as it was rather unstable
    The new counter is only available via GBE (v1.4 and up)

r7
  Pdomain() call added for better long file name support

r6
  Swedish/SE an Slovenian/SI translations added

r5
  French/FR translation added

r4
  German/DE translation added

r3
  Typos and incorrect wording in text strings corrected
    It would appear nobody at GFA did any proof reading  ;o)

r2
  Crash under MagiC (and MagiC-PC/Magic-Mac) fixed
    MCB was destroyed, thew out the DeepSleep fix, reworked the statup code

r1
  Double extender bug fixed (*.gfa.gfa)
    This occured on certain file systems, mostly those that support long names
  File names default to lower case
    All the default file names stored in the binary are now lower case

r0
  Disassembly started with the English/US version
    A binary match was established


------------------------------------------------------------------------------


GFA-BASIC Linker release notes:

r8
  Program exit code is now a standard MiNT error code
    Disk full error code (-1) changed to -91
    Fatal error code (-2) changed to -12

r7
  Norwegian/NO translation added

r6
  ILLEGAL instructions in various parts of the code replaced
    See compiler notes, same changes made
  Header flags are preset to use fastram if you have it
    See compiler notes, same changes made
  Recompiled with Devpac's optimizations enabled

r5
  Libraries with extenders didn't work (*.lib)
    It will now properly handle libraries such as 'custom.lib'

r4
  Failure under MagiC corrected (gemdos error)
    This was related to how the linker determines file sizes
  Swedish/SE an Slovenian/SI translations added

r3
  French/FR translation added

r2
  German/DE translation added

r1
  Double extender bug fixed (*.o.o)
    This only occured if linking additional object files into a project
    See compiler notes, same exact problem
  File names default to lower case
    See compiler notes, same changes made

r0
  Disassembly started with the English/US version
    A binary match was established


------------------------------------------------------------------------------


GFA-BASIC Library release notes:

r3
  Famous string handling bug related to FRE() fixed
    Thanks to some unknown person and Ingo's tip
  
r2
  Fixed some badly worded error messages
  Started to add several translations: 
    German/DE, French/FR, Slovenian/SI (completed)
    Swedish/SE (incomplete), Norwegian/NO (missing)

r1
  Cleaned up init.o/hidem.o (Line-A patches)

r0
  Disassembly started with the English/US version + GFA Patch v1.07
    A binary match was established


------------------------------------------------------------------------------


Helped with translations:
    English: lp
     German: Curly and rtc
     French: kellis and MystikShadows
    Swedish: PeP and GokMasE
  Slovenian: SWE, Vido, and Curly
  Norwegian: ozk


eof
