The Atari 5200 release!
A new major feature: now the FastBasic PC compiler can produce Atari 5200 cartridge images.
This version uses a new PC compiler, rewritten to support multiple targets with one binary, you can specify the target with the new option -t:
, the available targets are:
- atari-fp: produces Atari 800 XEX programs, with support for floating-point.
- atari-int: the old "integer only" version, produces Atari 800 XEX programs that don't use the floating-point package.
- a5200: produces cartridges for the Atari 5200
- atari-cart: the same as atari-fp, but producing cartridge images for the Atari 800.
- atari-cart-int: the same as atari-int, but producing cartridge images for the Atari 800.
Read more about the Atari 5200 port in https://github.com/dmsc/fastbasic/blob/master/a5200.md
New language additions
- There are now
PRINT
functions that allows formatting the output for PRINT command:TAB()
function, moves to a column multiple of a number.RTAB()
function to right-align the next argument to a specified column.COLOR()
function to specify the text color (or inverse mode) of the text, see #47.
DIM
can be used to declare normal variables (likeDIM X$, Z
), the variables are automatically initialized to 0 or empty strings.DATA
statements can be placed in ROM instead of RAM (useful for Atari 800 cartridges or Atari 5200).- Allows writing to more than one register in a DLI, see #45
Changes in the runtime
- The comma in prints now uses the TAB function internally, so it behaves more consistently in screen output (but in a different way that Atari BASIC).
MOVE
and-MOVE
are faster, using code in zero-page.- Fixes crash when setting DLI, #49
- More size optimizations, integer IDE is still less than 8kB of size.
Changes to the cross-compiler
- Rewritten to allow multiple targets by configuration files.
- Allows building Windows version native and ports the cross-compiler test-suite to Windows.
- Prints better compiler error messages.
- Allows defining symbols for the linker and passing arbitrary arguments.