Topic : The GFA-Basic Compendium Author : GFA Systemtechnik GmbH Version : GFABasic.HYP v2.98 (12/31/2023) Subject : Documentation/Programming Nodes : 899 Index Size : 28056 HCP-Version : 3 Compiled on : Atari @charset : atarist @lang : @default : Document not found @help : Help @options : +g -i -s +z @width : 75 @hostname : STRNGSRV @hostname : CAB @hostname : HIGHWIRE @hostname : THING View Ref-FileOverview of Compiler Options This section will first briefly describe which compiler options are available and how you can set them. After that, each option is described in a section of its own. $B+ ERROR messages instead of bombs. $C+ C:()/CALL should save/restore registers A3 to A6 on the stack. $C- C:()/CALL shouldn't save/restore registers A3 to A6 on the stack. $E$ ERROR messages displayed as text. $E# ERROR messages displayed as numbers. $F% RETURN value of a FUNCTION will be any integer type. $F> Enable ENDFUNC checking. $F< Disable ENDFUNC checking. $I+ Enable interrupt routines. $I- Disable interrupt routines. $M xxxx The program should only use xxxx bytes of ram. $N+ Enable FOR-NEXT range checking. $N- Disable FOR-NEXT range checking. $P> Do not optimize subroutines that have no parameters/LOCALs. $P< Optimize subroutines that have no parameters/LOCALs. $RC& RC_INTERSECT() parameters treated as 2 byte values. $RC% RC_INTERSECT() parameters treated as 4 byte values. $S> Optimize SELECT-CASE for execution time. $S< Optimize SELECT-CASE for program length. $S| Treat SELECT-CASE parameters as 1 byte values. $S& Treat SELECT-CASE parameters as 2 byte values. $S% Treat SELECT-CASE parameters as 4 byte values. $U Check EVERY/AFTER and Break Keys once. $U+ Enable EVERY/AFTER and Break Keys after each instruction. $U- Disable EVERY/AFTER and Break Keys checking. $X name The routine name to be taken from a linked file. $*& Longword multiplication with muls. $*% Longword multiplication without muls. $%0 Variables are converted to floating point and then divided. $%3 Always execute integer division as an integer division. $%6 Round integers up. Memo: These commands must be placed in the source code itself and do not always work as expected via the command line: $B+ !always fails $F% !not supported $I+ !only works if its the very first command $Ux !locks up the compiler! $X !not supported