Skip to content

Release 4.6

Latest
Compare
Choose a tag to compare
@dmsc dmsc released this 02 Aug 04:41
· 112 commits to master since this release

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 (like DIM 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.