Altirra BASIC#

Copyright (C) 2014 Avery Lee, All Rights Reserved.#

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.#

Atari Wiki is proud to have the license to publish Avery Lee's outstanding Altirra Basic. Avery has done a marvelous job in creating this Basic. Further, he has published the source code, too. :-) Avery, the Atari community say thank you so much for your contribution, we all appreciate very much. Please go ahead with your fantastic work.#

CAR-Image:#

Altirra BASIC 1.29: atbasic.car(info) ; size: 12 KB

BIN-Image:#

Altirra BASIC 1.29: atbasic.bin(info) ; size: 8 KB

ATR-Image:#

Altirra BASIC 1.29: Altirra Basic 1.29 with DOS II 2.5.atr(info) ; ATR-Image with DOS 2.5 and Altirra BASIC 1.29 as AUTORUN.SYS file

Images:#

Altirra BASIC 1.29 after starting from the ATR-image

Sectors needed for Altirra BASIC 1.29 on the SD-ATR-image above

Reference:#

The original, actual version and the source code of Altirra Basic can be found can be found here:

Altirra at virtualdub.org

The source code itself is published within the Altirra source code package (src/ATBasic/*). For the license please see at the top of the page.

Manual:#

Avery has given us the following infos:
a)
Added CP, HSTICK() and VSTICK() to ATBasic, then found a bunch of bugs to fix, like bitwise operators not listing properly and a regression in nested precedence handling. Extensions supported: $hhhh, %, !, &, HEX$(), DPEEK(), HSTICK(), VSTICK(), DPOKE, BPUT, BGET, CP, ERASE, PROTECT, UNPROTECT, DIR, RENAME, MOVE.
b)
From the tokens.inc-file we find:
Altirra BASIC - Token definitions
Copyright (C) 2014 Avery Lee, All Rights Reserved.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

TOK_EOS = $14 ;end of statement
TOK_EOL = $16 ;end of line

TOK_REM = $00
TOK_DATA = $01
TOK_INPUT = $02
TOK_COLOR = $03
TOK_LIST = $04
TOK_ENTER = $05
TOK_LET = $06
TOK_IF = $07
TOK_FOR = $08
TOK_NEXT = $09
TOK_GOTO = $0A
TOK_GOTO2 = $0B
TOK_GOSUB = $0C
TOK_TRAP = $0D
TOK_BYE = $0E
TOK_CONT = $0F
TOK_COM = $10
TOK_CLOSE = $11
TOK_CLR = $12
TOK_DEG = $13
TOK_DIM = $14
TOK_END = $15
TOK_NEW = $16
TOK_OPEN = $17
TOK_LOAD = $18
TOK_SAVE = $19
TOK_STATUS = $1A
TOK_NOTE = $1B
TOK_POINT = $1C
TOK_XIO = $1D
TOK_ON = $1E
TOK_POKE = $1F
TOK_PRINT = $20
TOK_RAD = $21
TOK_READ = $22
TOK_RESTORE = $23
TOK_RETURN = $24
TOK_RUN = $25
TOK_STOP = $26
TOK_POP = $27
TOK_QMARK = $28
TOK_GET = $29
TOK_PUT = $2A
TOK_GRAPHICS= $2B
TOK_PLOT = $2C
TOK_POSITION= $2D
TOK_DOS = $2E
TOK_DRAWTO = $2F
TOK_SETCOLOR= $30
TOK_LOCATE = $31
TOK_SOUND = $32
TOK_LPRINT = $33
TOK_CSAVE = $34
TOK_CLOAD = $35
TOK_ILET = $36
TOK_SXERROR = $37

TOK_EXP_CNUM = $0E ;constant float number
TOK_EXP_CSTR = $0F ;constant string
TOK_EXP_COMMA = $12 ;comma
TOK_EXP_SEMI = $15 ;semicolon
TOK_EXP_GOTO = $17
TOK_EXP_GOSUB = $18
TOK_EXP_TO = $19
TOK_EXP_STEP = $1A
TOK_EXP_THEN = $1B
TOK_EXP_HASH = $1C
TOK_EXP_LE = $1D
TOK_EXP_NE = $1E
TOK_EXP_GE = $1F
TOK_EXP_LT = $20
TOK_EXP_GT = $21
TOK_EXP_EQUAL = $22
TOK_EXP_POWER = $23
TOK_EXP_MULTIPLY = $24
TOK_EXP_ADD = $25
TOK_EXP_SUBTRACT = $26
TOK_EXP_DIVIDE = $27
TOK_EXP_NOT = $28
TOK_EXP_OR = $29
TOK_EXP_AND = $2A
TOK_EXP_OPENPAREN = $2B
TOK_EXP_CLOSEPAREN = $2C
TOK_EXP_ASSIGNNUM = $2D
TOK_EXP_ASSIGNSTR = $2E
TOK_EXP_STR_LE = $2F
TOK_EXP_STR_NE = $30
TOK_EXP_STR_GE = $31
TOK_EXP_STR_LT = $32
TOK_EXP_STR_GT = $33
TOK_EXP_STR_EQ = $34
TOK_EXP_UNPLUS = $35 ;unary plus
TOK_EXP_UNMINUS = $36 ;unary minus
TOK_EXP_OPEN_STR = $37 ;open parens, string array
TOK_EXP_OPEN_ARY = $38 ;open parens, numerical array
TOK_EXP_OPEN_DIMARY = $39 ;open parens, dim numerical array
TOK_EXP_OPEN_FUN = $3A ;open parens, function
TOK_EXP_OPEN_DIMSTR = $3B ;open parens, dim string array
TOK_EXP_ARRAY_COMMA = $3C ;array subscript comma