GitPedia
smallbasic

smallbasic/SmallBASIC

SmallBASIC is a fast and easy to learn BASIC language interpreter ideal for everyday calculations, scripts and prototypes. SmallBASIC includes trigonometric, matrices and algebra functions, a built in IDE, a powerful string library, system, sound, and graphic commands along with structured programming syntax

15 Releases
Latest: 3mo ago
SmallBASIC 12.33 for Windowsv12_33_winLatest
Joe7MJoe7M·3mo ago·March 2, 2026
GitHub

📋 Changes

  • SDL: Update to SDL3
  • SDL: Add editor tool bar
  • SDL: Updated to use modern desktop icon
  • SDL: Update help display
  • FLTK: Updated to use modern desktop icon
  • CONSOLE: Fix odd behavior with suppressing newline
  • COMMON: Add image scaling
  • COMMON: Fix bug with DELAY
  • + 5 more
v12_33Pre-release
chriswschrisws·5mo ago·January 24, 2026
GitHub

Fix some issues with initial flatpak release

12_32_FLATPAK_3Pre-release
chriswschrisws·5mo ago·January 22, 2026
GitHub
SmallBASIC for TeensyTeensy_v1.0
Joe7MJoe7M·6mo ago·December 6, 2025
GitHub

Firmware for Teensy 4.0 and 4.1.

12_27
chriswschrisws·2y ago·April 26, 2024
GitHub

COMMON: Add new function TRANSPOSE() COMMON: Allow modules to return objects with methods that take arguments COMMON: Fix TSAVE bug #205 COMMON: Fix bug #149: Problem with big hex numbers in windows COMMON: Fix bug: LINEQN tolerance COMMON: Fix building on Cygwin COMMON: Fix floating-point number round-precision bug when converting a floating-point number to string. COMMON: Fix for RoundPrecisionBug COMMON: Fix linking issue on MSYS2 COMMON: Fix parameter number error when calling a unit sub/func COMMON: Fix redim regression COMMON: Fix: RTRIM changes input string COMMON: Improvements for image.save() COMMON: Serial port improvements. COMMON: Show a runtime error if a module calls exit() CONSOLE: Bugfix for image.clip() and image.save() CONSOLE: Fix image save PLUGINS: Added mechanism for cleaning up resources when the associated map falls out of scope

12_26
chriswschrisws·3y ago·March 26, 2023
GitHub

FLTK and SDL version numbers now included in SBVER Fixed "0 IMP 0" returns now correct result 1 (Joe7M) Fixed BIN and changes to return values of POLYCENT and POLYAREA (Joe7M) Fixed DIM lower bound (Joe7M) Fixed EQV bug. "0 EQV 0" will return correct result "1" (Joe7M) Fixed an issue with window resizing #144 Fixed bug in BGETC when using sockets (Joe7M) Fixed editor display issues with DOS line-endings Fixed line-chart line drawing to use current foreground color Fixed printing chr(0) into a file or network interface INPUT #F; now supports up to 64 parameters Implemented STATMEDIAN() to calculate the median of a data sample in statistics (Joe7M) Implemented STATSTD() to calculate standard deviation (Joe7M) RGB and RGBF now clamp parameters (Joe7M)

SB_AndroidKitv12.25_pre2Pre-release
chriswschrisws·3y ago·August 20, 2022
GitHub

Android App Kit see: https://www.syntaxbomb.com/smallbasic/distribution-tool-for-smallbasic/

v12.24
chriswschrisws·4y ago·June 4, 2022
GitHub

EMCC: Implemented emscripten web version UI: add support for image.save("file.png") as per console WEB: Added simple REST server support COMMON: ARRAY now parses json with true/false correctly COMMON: Fix #131 - Scalar * Vector doesnt work COMMON: Fix array access with embedded strings #136 COMMON: Fixed hashmap access issue COMMON: Fixed http_read to handle large HTTP headers COMMON: Implemented window.setLocation(x,y) #102 COMMON: Removed 'Meaningless' CDBL, CINT, CREAL. These can be poly-filled with 'DEF' if required. COMMON: Update plugin system to allow loading to be driven by the IMPORT statement COMMON: m3Apply no longer crashes if the second argument is not an array COMMON: parse JSON with SB ";" dimension syntax CONSOLE: Added -i command switch for live mode This will run the BASIC program in a loop. It can be used with the debug module to rerun whenever the source code changes: import debug run("xdotool windowactivate `xdotool search --onlyvisible --name \"Emacs\"`") while (!debug.IsSourceModified()) rem main loop wend

v12.23
chriswschrisws·4y ago·August 29, 2021
GitHub

COMMON: Fix CIRCLE command to ensure radius uses the WINDOW coordinate system COMMON: Fix array append regression #122 COMMON: Fix crash when line length limit exceeded COMMON: Fix square bracket field access issue COMMON: Fix to ensure the default VIEW is maintained during resizing COMMON: Fixes 'Socket Client doesn't receive byte with value 13' #112 COMMON: Fixes TSAVE of arrays includes extra null character. #119 COMMON: Handle octal escapes correctly COMMON: rand() replacment using PCG COMMON: updated sub-modules FLTK: Fix PSET display of extra pixel FLTK: Implemented image opacity handling SDL: Fix live edit when start path contains unicode characters #123 SDL: Update editor to handle unit errors SDL: Validate window dimensions on loading to prevent hidden window UI: Allow RGB to be used with image array passed to IMAGE UI: Fix RGB handling with IMAGE UI: Fix maDrawRGB() buffer overflow UI: Fix potential memory leak using IMAGE UI: Fix to make image save and load compatible UI: Implemented image.clip(left,top,right,bottom) UI: added window hideKeypad #125 UI: added xpm validation check. UI: fix image placement when using img.clip() UI: implemented image.draw() UI: make image save and load compatible. UI: prevent invalid char input with ALT+ESC keystroke

12.20v12.20
chriswschrisws·5y ago·January 8, 2021
GitHub

COMMON: Fix to allow c-modules to be called from units COMMON: Fix to allow multiple modules and units within same program COMMON: Implemented c-styles escape sequences COMMON: Add support for inline assignment of export variables COMMON: Add support for unit alias names COMMON: ensure INT datatype is always 64 bits CONSOLE: give error when file not found SDL: Update editor popup appearance SDL: Implemented restoring the cursor position ANDROID: add option to preserve user data when app uninstalled ANDROID: change path label when displaying project folder MODULES: added raylib, nuklear, websocket, glfw and clipboard modules.

12.1912_19
chriswschrisws·5y ago·July 16, 2020
GitHub

Fix ABSMIN/ABSMAX transposed #96 Fix crash when passing non-array to CHART Fix image.save() to array destination Fix INPUT crash #99 Fix integration with latest version of miniaudio library #90 Implement DEFINEKEY undo #92 Implement colour themes FLTK: Implement line numbers colours #93 SDL: Restore window size #95 Show icon in linux build

0_12_18
chriswschrisws·6y ago·March 15, 2020
GitHub

SDL: fix issue #81 - numlock handling FLTK: added live editing menu item COMMON: increase stack size to 1024 COMMON: Fix path for HOME constant

0_12_17
chriswschrisws·6y ago·December 22, 2019
GitHub

Release 0.12.17 COMMON: Implement select case by func. Issue #83 COMMON: fix dirwalk error handling FLTK: version recreated for FLTK v1.4.0 SDL: add menu control key indicators SDL: fix issue #81 - numlock handling SDL: now uses miniaudio library for sound Changes from 0.12.15 / 0.12.16 (android only) SDL: added -n command line option to run then not pause for back key SDL: update editor find and replace COMMON: Implemented - FOR character IN string COMMON: Fix crash when using GOTO with a non-existent label UI: ALT+F4 from edit/run now returns to edit UI: avoid flicker from with ALT+F4 -e edit startup UI: Edit enter now continues prior line comment UI: added kill-word editor command (alt+d) UI: added select-word editor command (alt+w) UI: find command primed from editor selection

SmallBASIC version 0.12.6v0.12.6
chriswschrisws·10y ago·May 14, 2016
GitHub

``` Fix to prevent const overwriting another const Updated MID and REPLACE for performance POINT(0) and POINT(1) values now reset with each program run POINT(-x, -y) now provides access to the base screen image. For better performance use the IMAGE.SAVE sub command Fixes for unit case sensitivity Fixes for RUN/EXEC Fixed memory handling issues with UNITs Fixed memory issue related to SUB/FUNC pointers Removed TICKSPERSEC Removed BALLOC, MALLOC and VADR keywords. Removed duplicate ENVIRON Removed system constants BPP and VIDADR, OSNAME, LINECHART, BARCHART Added TIMESTAMP to return the modified-datetime of a file Added LSHIFT and RSHIFT bit shift operators SBVER now includes build information TICKS now returns millisecond intervals Refactor eval() for performance Fixed some memory leaks in the ui handler Editor now restores cursor when returning from run Editor now displays the correct filename in the title bar Added "industrial" editor theme from Shian (slot 2) Fixed editor highlighting Runtime errors now show source screen with red error highlighter Form refresh command now takes an boolean arg, true=push ui state to vars The IMAGE argument can now be PNG data stored in an INT array The IMAGE argument can now be x,y,w,h screen corordinates The IMAGE argument can now be a 2-D array of POINTS Updated IMAGE sub-command to save 2-D array of POINT Added window.setFont command to set font size, bold and italic. example: w = window():w.setFont(10, "pt", false, true) TRUE is now always returned as 1 Added file manager to main shell program Fixed problem with escaped chars using FORMAT Fixed problem with XNOR command result Fixed problem with IMP and EQV command result Fixed issues with INKEY command to allow ALT/SHIFT/CTRL states to be returned Fixed capslock handling Fixed issues with TRY/CATCH Fixed using POINT to retrieve IMAGE data Fixed issues with CHAIN Fixed TLOAD to work correctly with TRY/CATCH Fixed XPOS and YPOS to return 0 based values Fixed compiler checking for redundant symbols, for example: let a = 1 2 3 ```

Linux 0.11.170.11.17_Linux
chriswschrisws·11y ago·May 2, 2015
GitHub

SmallBASIC for Linux (contains 64 + 32 bit binaries) This is the first release of a new port using SDL2.