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. SmallBASIC is licensed under the GPL.

Welcome to SmallBASIC

Featured sample program: gaussj.bas

'''gaussj.bas
''version 1.0
''by adolfo leon sepulveda
'' 20/08/2004
''solve a nxn equation system with gauss jordan method
''It''s equivatent to LinEqn function of SmallBASIC
''example:
'' 0x+1y=1
'' 1x+1y=2
''
''Input:
'' Nro Equat: 2
''  a(1,1) : ? 0
''  a(1,2) : ? 1
''  b(1) : ? 1
''  a(2,1) : ? 1
''  a(2,1) : ? 1
''  b(2) : ? 2

'' result:
'' x=1
'' y=1
'' invert matrix:
'' -1 1
''  1 0

n=0
dim a(50,50)
dim x(5

GNU

fractal_fern.bas


CLS
iii=0
RANDOMIZE TIMER
'x = 60
'y = 60
WHILE iii<100000
r = RND
IF (r <= .01) THEN
a = 0: b = 0: c = 0: d = .16: e = 0: f = 0
ELSEIF r > .01 AND r <= .86 THEN
a = .85: b = .04: c = -.04: d = .85: e = 0: f = 1.6
ELSEIF r > .86 AND r <= .93 THEN
a = .2: b = -.26: c = .23: d = .22: e = 0: f = 1.6
ELSE
a = -.15: b = .28: c = .26: d = .24: e = 0: f = .44
END IF
newx = (a * x) + (b * y) + e
newy = (c * x) + (d * y) + f
x = newx
y = newy
PSET x*50+150, y*50, 2

SmallBASIC version 0.10.6 has been released

SmallBASIC version 0.10.6 is now available for both Linux and Windows.

The changes include:
- Fix for Matrix inversion bug
- Fix for Scientific notation bug
- Updated editor tool-bar
- Implemented a new log window which can also be used as the output window when working with text only programs.

Please report any bugs you happen to find. Enjoy !

lakeshore_demo.bas


' A small water waving/flickering program
' For SB(fltk) 2 Jan 2009 , by Keijo Koskinen
' You can download lakeshore1.jpg from:
' http://users.csolve.net/~keiko/smallbasic/lakeshore1.jpg
' When lakeshore1.jpg appears to screen,
' ..right clic it and choose save as
' ..to your bas_home directory

' *** load image ***
'img= env("C:\sb_fltk_97\FLTK_0.9.7\Bas-Home")+"lakeshore1.jpg"
' or
img= env("Bas-Home")+"lakeshore1.jpg"
if (!exist(img)) then
?

sphere.bas


' A small 3D globe rotation program
' Converted to SB(fltk) 23,may 2006, from an old basic code
' by Keijo koskinen
' You can download sphere.gif from:
' http://users.csolve.net/~keiko/smallbasic/sphere.gif
' When sphere.gif appears to screen, ..right clic it and shoose save as ..to your bas_home directory

img= env("Bas_Home")+"sphere.gif"
if
(!exist(img)) then
? "Sphere.gif does not exist "
? "then we are rolling this text"
?

conrec-sb-v01.bas


' CONREC - A Contouring Routine
'
' by Paul Bourke, Byte, June 1987
' Homepage http://ozviz.wasp.uwa.edu.au/~pbourke/papers/conrec/
' (See webpage for details of the method.)
' Adapted for SmallBasic-v0.9.5 by Ted Clayton
'
' CONREC avoids the advanced math & heavy computation
' of more-formal contour-generation methods, by using
' a series of geometric tests within a local 'box'
' around & above each point in a data-grid.
' Each contour-segment is generated independently
' of other segments while scanning the grid
' raster-fashion.
Syndicate content