Download Latest Version terminal-basic-2.3-b1-1361-arduino-sketch.tar.gz (490.7 kB)
Email in envelope

Get an email when there's a new version of Terminal-BASIC

Home
Name Modified Size InfoDownloads / Week
2.3 2022-04-13
2.2 2021-04-06
2.1 2019-10-14
2.0 2019-05-10
r1.2 2019-02-15
r1.1 2017-12-14
r1.0 2017-08-21
r0.8 2017-05-09
r0.6 2017-04-13
r0.7 2017-03-23
r0.5 2017-01-27
r0.4 2016-12-26
r0.3 2016-12-07
README.txt 2022-04-13 16.1 kB
Totals: 14 Items   16.1 kB 1
r.2.3-rc1 (12.04.2022)

  * Program text output changed: extra spaces were removed
  * Fix AVR8 external memory support
  * Fix support of the SD-card on Arduino platforms
  * Fix Arduino library-based implementation of the NOTONE command
  * Fix control of the active terminal on multiple I/O devices systems
  * Fix regression in AUTORUN.BAS support

r2.3-b2 (22.11.2021)

  * Add VAL function
  * Fix DATA ... READ with non-quoted strings
  * Fix bug in ABS function with long REAL values

r2.3-b1 (06.04.2021)

  // Platforms
  * Arduino: add support of PS/2 keyboard as input device
  * Add initial support of ODROID-GO device  with optional QWERTY keyboard

  // Bug fixes:
  * Fix bug in Lexer, which causes fake string overflow errors
  * Fix bug in matrix assignment in the program line with colon separator
  * Fix buffer overflow in printing of double precision constants

r2.3-a2 (26.02.2021) Release, dedicated to 4 years of TB and 4k downloads from sourceforge.net

  * Output to SPI TFT screens via Adafruit_ILI9341 and TFT_eSPI libs
  * ESP32: add DTONE/NOTONE implementation
  * Working MS Windows port

r2.3-a1 (18.10.2020)

  * Introduction of HAL layer, simplifying the process of porting to different platforms
  * Add double precision math functions

r2.2.2 (06.04.2021)

  * Fix bug in Lexer, which causes fake string overflow errors (backport from
    2.3 branch)
  * Fix bug in matrix assignment in the program line with colon separator
     (backport from 2.3 branch)
  * Fix buffer overflow in printing of double precision constants (backport from
    2.3 branch)

r2.2.1 (08.03.2020) As always dedicated to International women day.
    Thank you, our sweets for frendship, love and children

  * Fix bug with printing first command in module with fast module call mode
  * Fix wrong order of GFX commands with explicit color commands enabled

r2.2 (23.02.2020) Release, dedicated tpo the Day of the Soviet army and NAVY

  * Add support of the string arrays
  * TVout output uses cp866 code page font by default

r2.2-rc1 (18.02.2020)

  * Fix bug with multidimentional arrays with one of the dimensions >= 255
  * Implement optional compilation of the GFX commands with explicit color setting

r2.2-beta3 (16.02.2020)

  * Add parameters to DIRECTORY command (optional 1st and last file numbers
    to output)
  * Fix bugs with alignmnent. ESP8266 platform has reasonable suppot.

r2.2-beta2 (12.02.2020)

  * ESP8266 and ESP32 supports SAVE/LOAD commands in SPIFFS
  * improved optional alignment of values and function parameters

r2.2-beta1 (7.02.2020) Release, dedicated to my sisters Birthday

  * Fix error with fast modules calling on some 32-bit platforms

r2.2-alpha3 (5.02.2020)

  * Add optional feature of aligned variable and array frames (step
    towards optional removal of unaligned memory access)
  * Basic support of esp8266
  * Add support of long real datatype in matrix operations

r2.2-alpha2 (24.01.2020)

  * Fix multiple regressions

r2.2-alpha1 (22.01.2020)

  * Speedup of the commands from modules calling (ArduinoIO, GFX ...), using translation
      of the calling construct into buinary optimized format

r2.1.1 (15.10.2019)

  * Fix error in configuratyion parameters on tiny systems
  * Basic support of ESP32

r2.1 (23.09.2019)

  * Add rudimentary support of french keywords
  * Fix RETURN, called from FOR LOOP
  * Add ELLIPSE and ELLIPSEC commands to gfx module

r2.1-beta1 (29.05.2019)

  * Add support for implicit arrays with indexes from 0 to 10
  * Add command FSEEK to SD module
  * Fix bug with function calls using long real parameters
  * Fix bug with confirmation of SCRATCH/HEADER

r2.1-alpha2 (22.04.2019)

  * Fix regression in functions call when using long reals

r2.1-alpha1 (22.04.2019)

  * Fix FOR loop limit and increment evaluation order (ANSI standad 11.2, 11.4)
  * Change logical variables and arrays ending from "!" to "@"
  * Change long integer variables and arrays ending from "%%" to "%!"
  * Change GET$ function to more common INKEY$
  * Add partial support of long reals (variable/array name ends with "!")
  * Add functions MID$/SEG$

r2.0.3 (9.05.2019 Release, dedicated to the USSR Victory Day

  * Fix error in confirmation of the file operations
  * Fix regression in SD functions while reading the files with "CR LF" line endings
  * Output reals with 6 significant decimal digits

r2.0.2 (24.04.2019)

  * Fix bugs in building with ArduinoIDE, using TVOUT output

r2.0.1 (21.04.2019)

  * Fix bug with parsing real constants with E/e and w/o decimal point
  * Fix bug wirh saving program by DSAVE with REM lines

r2.0 (11.04.2019)

  * Reduce unnecessary spaces, generated in source file with DSAVE
  * Fix undefined behaviour when load from file with long lines

r2.0-rc1 (24.03.2019)

  * Add binary file operations to SD module
  * Add HEX$ function
  * Update libsdcard (No more dependency on arduino SD lib)

r2.0-beta-3 (15.03.2019)

  * Fix 2.0 regression in parsing reals with E and e exponent chars

r2.0-beta-2 (9.03.2019)

  * Fix lexer bug with input errors handling

r2.0-beta-1 (8.03.2019) Release, dedicated to the international women day

  * Add autostart of the AUTORUN.BAS program if SD support is enabled
  * Fix SD module DSAVE regression
  * Fix incorrect matrix multiplication restriction
  * Fix scanning of identifiers with char codes greater then 127

r2.0-alpha-3 (23.02.2019) Release, dedicated to the Defender of the Fatherlad Day

  * Fix commands and functions parameters passing
  * Fix a conflict of GET$() FUNCTION and DELAY command
  * Fix some lexer regressions
  * Add more russian keywords from BASIC-6 system for BESM-6 computer

r2.0-alpha-2 (19.02.2019)

  * Fix some lexer-related regressions

r2.0-alpha-1 (17.02.2019)

  * New lexical analyzer, written in pure C. Ability to localize keywords.
    Currently English and Russian keywords  available.

r1.2 (16.02.2019) Release, dedicated to 43 anniversary of the first built KAMAZ truck

  * Add CURSOR gfx command (switch blinking cursor on and off)
  * Add PEEK function and POKE command

r1.2-rc2 (13.12.2018)

  * User defined functions may have the names of existing variables
  * Code size was slightly optimized
  * AVR 8-bit: Fix usage of the SerialL I/O on ports, other then USART0

r1.2-rc1 (20.11.2018) Release, dedicated to the World Children's Day

  Complete functionality for the 1.2 release.
  Current limitations:
    - DATA ... READ statements do not support string variables and constants
    - DEF FN x functions can not use the name of the existing scalar variables
  Such limitations will be removed in the release 2.0

  * Complete implementation of the 1-line user defined functions with arbitrary parameters number
  * One byte tokens saved as indexed ones to save some RAM

r1.2-beta4 (22.10.2018)

  * Add RIGHT$ function
  * Default configuration suitable to run on tiny Arduino boards (Atmega328). Sorry, but it seems TB becomes
    too fat to run on Atmega168

r1.2-beta3 (13.09.2018) Release, dedicated to my birthday

  * Add BEEP command
  * Add configurable real numbers precision
  * Add LEFT$ function
  * RND function has optional parameter
  * Fix bug with concatenation of sequential identifiers
  * Fix bug with unnecessary output
  * Fix bug with INPUT command in multioperator lines

r1.2-beta2 (21.06.2018)

  * Add ON .. GOTO control structure
  * FOR .. NEXT implementation update: loop body can modify control variable,
      it's possible to GOTO from nested FOR loop body to outer loop
  * Logical operators presedence become lower then arithmetic ones.
  * Add INPUT with printed text feature (INPUT "Message"; VAR1, VAR2..)
  * Add gfx_serial implementation: graphics drawing protocol over serial VT100/ANSI connection
  * Fix bug with multioperator strings with FOR ..  TO .. STEP operator
  * Add parameterless user defined functions DEF FNx
  * Add hyperbolic functions to math module

r1.2-beta1 (06.06.2018)

  * Add STR$ function
  * Add optional errror message strings
  * Add rudimentary localisation support (currently English, Russian)
  * Fix AUTOCAPITALIZE option
  * Some code size optimizations in matrix handling routines

r1.1 (14.12.2017) Release, dedicated to the Russian Constitution Day

  * Fix multiterminal mode
  * Add binary form to store real constants in memory

r1.1-rc1 (24.11.2017)

  * Fix regression in command mode
  * Fix some Arduino DUE incompatabilities
  * FOR loop fixed according to Minimal BASIC standart
  * Unary operators priority reduced
  * Add MAT READ implementation

r1.1-beta3 (15.11.2017) - Release, dedicated to Proclamation of the Republic in Brasil

  * Add DATA, READ, RESTORE support
  * Add conditional setting of printing zones width
  * Fix matrix operations in IF ... THEN statement
  * Remove limitation on functions name length
  * Fix string operations bug

r1.1-beta2 (29.10.2017) - Release, dedicated to the World Stroke Day

  * Add LiquidCrystal library output support
  * Fix comparision of real numbers
  * Fix TAB() indention

r1.1-beta1 (17.10.2017) - Release, dedicated to the International Day for the Eradication of Poverty

  * Fix bug in saving the program to SD card
  * Add SDL-based emulator and autotools linux package

r1.1-alpha2 (03.10.2017) - Release, dedicated to The International Day of Non-Violence

  * Netbeans project updated for usage of Arduino IDE 1.8.4
  * Add LOCATE command
  * GO TO (instead GOTO) is condition compilable
  * Fix loop body indention with the presence of REM lines
  * Fix TAB and SPC print commands
  * Fix comparision of boolean values
  * Alternative equals symbol ("><") and "_" in identifiers are condition compilable
  * Fix loading programs with CR symbol at the line end
  * Fix long integers logical operations
  * Some FLASH and SRAM optimisations

r1.1-alpha1 (28.08.2017) - Release, dedicated to the Great March on Washington

  * Add support of Atmega1284-based single chip computers by Dan
    https://hackaday.io/project/2428-single-chip-avr-basic-computer-v03
  * Add GFX module with drawing functions and commands, currently
    supports output using TVoutEx and UTFT libraries on Arduino and
    TVoutEx SDL2 emulation on Linux
  * Add DELAY function with obvious semantics (in multiterminal mode is unblocking)
  * Add ASC (char code), LEN (string length) and GET$ (user input) functions
  * Add CBR (qubic root) math function
  * Add optional alignment of the line numbers in LIST command
  * Boolean arrays (name ends with ! symbol) are bit-packed, providing
    significant memory saving
  * Errors in functions and commands treated as Dynamic vs Static semantic
    errors
  * Some bug fixes and code cleanup
  * As usual, some hard-to-find bugs were added

r1.0-beta1 (20.08.2017) - Release, dedicated to the Russian Day of Air Fleet and
                          the Belarussian Day of Air Forces

  * Fix bug with matrix multiplication
  * Fix bug with unary plus support
  * Fix conflict with Arduino DUE libset when matrix support is enabled
  * Code cleanup and removal of the unfinished features, deferred to 1.1 branch

r1.0-alpha4 (26.07.2017) - Release, dedicated to the Cuba National Rebellion Day
                           ¡Salud camaradas!

  * Fix regression with print real 0
  * Add condition compilable loop body indention

r1.0-alpha3 (26.06.2017) - Release, dedicated to the Skydiver day

  * Single terminal mode optimisation
  * Different code size optimisations
  * STOP/CONT works and are condition compilable
  * Fix bug with TAB() expression under a false IF THEN branch

r1.0-alpha2 (12.06.2017) - Release, dedicated to the Russia day

  * Synchronized with tvoutex library
  * Fix the i2c eeprom operations
  * Fix output of the reals, less then 1.0 in absolute value
  * Fix generation of the arduino sketch
  * Fix build with Arduino IDE

r1.0-alpha1 (01.06.2017) - Release, dedicated to International day of protection of children

   * Darthmouth BASIC-style matrix operations
   * I2C eeprom module with functions ESAVE, ELOAD, ECHAIN
   * Corrections to fix Arduino DUE build
   * Interpreter FSM rewritten for fix bugs in multioperator lines processing

r0.8.2 (9.05.2017) - Release, dedicated to Victory Day.

   * Fix buffer overflow in real numbers output.
   * Real numbers output in the for of fixed or floating point.
     in order to use the shortest form.
   * Fix parsing of real numbers, now understands exponentioal form.
   * Optimisations and more configuration options  allow reducing
     code size.

r0.8.1 (28.04.2017) - Release, dedicated to my wedding anniversary
                      :).

   * Add deletion of the program lines by entering line number with
     empty string.
   * Add functions INT, SGN, CHR$.
   * Add string overflow errors (passes test 7 ANSI MINIMAL BASIC).
   * Add TAB argument exceptions (passes test 8 ANSI MINIMAL BASIC).
   * Optimisations, reducing FLASH/SRAM requirements. The smallest
     (and almost useless :) ) variant can be forced into Atmega 168...
   * Add string equality operator.
   * Add many condition compilation options.
   * Fix a couple of bugs.

r0.8.0 (12.04.2017) - Release, dedicated to International Day of
                      Human Space Flight.

   * Add support of modified TVout library to output to composite video
     and get 32x24 tv image and blinking cursor.
   * Add support of color highlighted output on HX8357B based 480x320
     TFT displays, using UTFT library.

   Language core:
   * Add CHAIN command, loading program from internal EEPROM, preserving
     the state (variables and arrays).
   * More flexible configuration helps save SRAM and FLASH
   * PRINT command accepts TAB construct, ';' symbol, empty strings and
     void print list. Passes first 6 tests from ANSI minimal basic test
     set.

   SDFS module:
   * Add DCHAIN command, loading program from SD file, preserving
     the state (variables and arrays).

r0.7.1 (22.03.2017) Fix bug with real arrays declaration Fix dependency
      on libarduinoemulator repo

r0.7 (19.03.2017) Fix integer constants parsing bug; Fix arithmetic
      operation presedence; Add condition compilation of real numbers
      support; Use lightweight serail port Stream to save FLASH/SRAM
      space; Extend PRINT command to pass MINIMAL BASIC tests; SD card
      module uses sources in textual form to save and load programs.

r0.6.3 (28.02.2017) Fix Atmega2560 with external memory build
			FIx input/output boundary objects usage
			Fix listing of variables ids
			Fix string variables input

r0.6.2 (24.02.2017)	Fix program string size when saving to internal memory
			Fix multivalue input
			Fix input of real numbers

r0.6.1 (21.02.2017)	Fix in the optional long integer support;
			Atmega128a build fix.

r0.6 (20.02.2017)	AWRITE command in ARduinoIO module;
			Tokenization of integer constants;
			Bug fixes;

r0.5 (27.01.2017)	4-byte integer optional datatype with %% variable name suffix;
			RANDOMIZE command was added;
			RND() function was added;
			Optional keyword tokenization;
			Script for make arduino ide sketch from netbeans-oriented sources.

r0.4 (26.12.2016)	LIST command outputs syntax-highlighted program text;
			Boolean datatype with TRUE and FALSE constants and ! variable name suffix;
			ArduinoIO module was  updated;
			SDCard program save/load module;

r0.3 (07.12.2016)	Interpreter rewrited as FSM with short-time step() method. This allows to implement
			time-sharing system with multiple terminals;
			ArduinoIO module was added;
			Darthmouth BASIC-style IF support;
			Commodore BASIC-style IF with multiple true branch operators;
			Add core command CLS (clear screen);
			Add math function ACS (arccos);
			Host sends echo symbols;
			Break (Ctrl-C) command;
			vt100 color/highlighted output supported;
			Bug fixes.

r0.2 (29.11.2016)	REM operator;
			Multioperator lines with operators separated by semicolons;
     Input both positive and negative numbers;
     Modular structure with math functions module;
     Bug fixes.

r0.1 (25.11.2016)	Initial release. Editing of the program in memory,
      simple program can be executed.
Source: README.txt, updated 2022-04-13