BASIC FRE Function - fvdhoef/aquarius-plus GitHub Wiki

FRE

TYPE: BASIC System Function

FORMAT: FRE ( number )

Action: Returns the amount of RAM available to a BASIC program and its variables.

  • In Aquarius BASIC and plusBASIC prior to v0.22y, the value of number does not affect the result (see below for more).
  • Returns a [signed integer] (see below for other options).
  • If a program tries to use more space than is available, Out of memory results.

Examples:

PRINT FRE(0)

Displays the current amount of memory available to BASIC

950 IF FRE(0)< 100 THEN PRINT "Not enough room":END

Displays message and terminates program if there is less than 100 bytes of available memory.

FORMAT: FRE ( string )

Action: Returns the amount of space available for string variables.

  • Forces a garbage collection (removing all unused strings) before calculating the available space.
  • The expression in parentheses can have any valid string, and it is not used in the calculation.
  • If a program tries to use more string space than is available, Out of string space results.

Examples:

PRINT FRE("")

Displays the current amount of available string space

10 IF FRE("")<255 THEN PRINT "Not enough string space":END

Displays message and terminates program if there is less than 255 bytes of available string space.


plusBASIC v0.22y enhancement

FORMAT: FRE ( number )

  • If number < 0, works as above, but always returns a positive number.
    • It is preferable to use FRE(-1) rather than FRE(0).
  • If number = 0, works as above.
  • If number = 1, returns the total size of string space (as set by the first argument of CLEAR).
  • If number = 2, returns the top of BASIC memory (as set by the second argument of CLEAR).
  • Any other numeric argument results in Illegal quantity.