06/14/2019 at 21:01 •
Just a little note.
Last week Terminal-BASIC achieved 2000 file downloads on Sourceforge.
Congratulations and thanks to all its users and contributors!
04/30/2019 at 20:57 •
Upcoming Terminal-BASIC 2.1 introduce double precision floating point datatype on 32+ -bit platforms (Arduino DUE and PC) and changes other datatype conventions for naming the variables and arrays.
Default type is single precision float, ! suffix - double precision float, % - 2-byte integer, %! - 4-byte integer, @ - logical, $ string:
04/10/2019 at 22:03 •
As I wrote earlier, TB 2.0 (rc1 for now) has the ability to use different keyword sets in any single-byte encoding. If you are a TB user and if you consider useful some alternative keyword set in your native language, it can be included in future release of Terminal-BASIC. Now there was created a Russian keyword set, based on such, used in BASIC-6 system for БЭСМ-6 mainframe.
03/26/2019 at 07:39 •
I think about Terminal-BASIC based programmable calculator, like MK-90
Actually, I'v just tried it on my risk. Screen itself works well with UTFT library with the same C++ code as for Arduino MEGA, but SD card doesn't. On MEGA both screen and SD card slot do work. And what about slot for a small FLASH chip?
02/15/2019 at 23:14 •
New 1.2 release adds well-known command POKE and function PEEK. On AVR mcus these features allow to work with peripheral control registers directly.
This release will be LTS, receiving minor updates (stability and standard compliant) for many months.
Now I'm preparing the 2.0 release, which has completely rewritten in pure C lexical analyzer. New lexer can be configured to use single byte encoding national languages keywords and identifiers. Here you can see the russian lexical variant, close to lexems, used by the Soviet language РАПИРА (rapier):
01/02/2019 at 22:32 •
Some OpenSource/DIY software projects, containing legacy C code have been rewritten into C++. There is no any reasons to stay on C if C++ available on target platform. It has everything that C has and many "free" features, which cost 0 extra bytes and 0 extra instructions.
But I think Terminal-BASIC must go through a reverse transformation. I'm rewriting core components in pure C.
The 8-bit AVR microcontrollers were primary target at the project starting point. G++ supports this architecture, as well as 32-bit ARM versions of Arduino DUE, etc.
But many interesting architextures do not support C++. I think about running Terminal-BASIC on Z80 with SDCC, PIC uCs and... SEGA Genesis consoles (MC68000 has G++ port, but the popular SDK SGEN does not support C++).
11/27/2018 at 15:25 •
Terminal-BASIC 1.2rc1 finally acquires an important feature of one-line user defined functions with arbitrary number of arguments.
This is a short example:
08/24/2018 at 12:02 •
This example uses 2 arduino DUE as h/w platform for TB.
First arduino board with SD card reader (host) runs TB with 64kb available BASIC memory.
Second one makes VGA output using modified DUE VGA library, implementing part of the ANSI terminal control protocol and custom graphics binary protocol.
It suffers from minor bugs and incompatabilities, but Terminal-BASIC TETRIS from SD card runs much more acceptable.
06/20/2018 at 22:45 •
I'v implement the ON .. GOTO control structure and fixed FOR .. LOOP details, and Terminal-BASIC made one more step towards the ANSI Minimal BASIC standart.
BTW last features allow to run many old games from "BASIC Computer games":
12/15/2017 at 13:23 •
If the hardware platform supports multiple UARTs, like Atmega 1284/128/2560, terminal-basic can function as simple time-sharing system.
It doesn't use any OS, even FreeRTOS. The main interpreting context object is designed as finite state machine instead, which state-chart looks like this:
The FSM has very short step method and main loop executes many interpreters in order, thus implementing primitive non-preemptive Round-Robin scheduling algorithm.
This time-sharing mode can be enabled by the BASIC_MULTITERMINAL option in the config_arduino.hpp or config_linux.hpp, depending on the version, being built.
Terminal-BASIC 1.1 (link) has working implementation of this mode.