GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - 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

BranchesTags
Open more actions menu

Latest commit

 

History

2,836 Commits
2,836 Commits

Folders and files

NameName
Last commit message
Last commit date
documentation
documentation
 
 
ide
ide
 
 
images
images
 
 
keypad
keypad
 
 
packaging
packaging
 
 
samples
samples
 
 
src
src
 
 
web
web
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
AUTHORS
AUTHORS
 
 
CMakeLists.txt
CMakeLists.txt
 
 
COPYING
COPYING
 
 
ChangeLog
ChangeLog
 
 
Makefile.am
Makefile.am
 
 
NEWS
NEWS
 
 
README.md
README.md
 
 
autogen.sh
autogen.sh
 
 
configure.ac
configure.ac
 
 

Repository files navigation

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.

Building the SDL version

LINUX

Install packages

Ubuntu (25.04)

sudo apt install git autotools-dev automake make gcc g++ libsdl3-dev libfreetype-dev libfontconfig-dev xxd

Manjaro (Arch)

sudo pacman -S gcc make autoconf automake sdl3 freetype2 fontconfig pkgconf vim

Initial setup

 $ git clone https://github.com/smallbasic/SmallBASIC.git
 $ cd SmallBASIC
 $ sh autogen.sh

Build

 $ ./configure --enable-sdl
 $ make

Install (optional)

 $ sudo make install 

This will install sbasicg in /usr/local/bin

Run

 $ cd ./src/platform/sdl/
 $ sbasicg

Build the Debian package (optional)

 $ sudo apt-get install dpkg-dev build-essential debhelper
 $ make deb

WINDOWS

Install tools: https://www.gtk.org/download/windows.php

 $ ./configure --host=i686-w64-mingw32 --enable-sdl
 $ make

Cross-compiling for Windows under Linux

 $ sudo apt-get install mingw-w64
 $ ./configure --host=i686-w64-mingw32 --prefix=/devsw/mingw --enable-sdl

Note: requires building SDL2 and freetype-2 into the prefix folder

MacOSX

Install packages

Open the terminal window, then type the following commands at the prompt:

$ brew install sdl2
$ brew install freetype
$ brew link --overwrite freetype
$ brew install fontconfig
$ brew install autotools
$ brew install automake
$ brew install autoconf

Initial setup

$ git clone https://github.com/smallbasic/SmallBASIC.git
$ cd SmallBASIC
$ sh autogen.sh

Build

$ ./configure --enable-sdl
$ make

Run

$ cd /src/platform/sdl
$ ./sbasicg

Building the non-graphical console version (cygwin or linux)

 $ ./configure && make

Windows 32 bit mingw console:

 $./configure --host=i686-w64-mingw32 && make

Windows 64 bit mingw console:

 $./configure --host=x86_64-w64-mingw32 && make

Building web-server sbasicw

Linux

Install microhttp library

Ubuntu

 $ sudo apt install libmicrohttpd-dev

Manjaro

 $ sudo pacman -S libmicrohttpd

Build

 $ ./configure --enable-web
 $ make

Building the Android port

  1. Setup .bashrc
export PATH=$PATH:~/android-sdk/depot_tools:~/android-sdk/android-sdk-linux/platform-tools/
export ANDROID_SDK_ROOT=~/android-sdk/android-sdk-linux
export TARGET_DEVICE=arm
export PLATFORM_PREFIX=~/android-sdk/android-ext/
export PATH=${PLATFORM_PREFIX}/bin:${PATH}
export NDK=~/android-sdk/android-ndk-r10d
export NDK_PLATFORM=android-19
export ANDROID_LOG_TAGS="DEBUG:I smallbasic:I AndroidRuntime:E *:S"
  1. Build FreeType First, prepare the cross-compiler from the NDK:
  $NDK_PATH/build/tools/make-standalone-toolchain.sh \
      --platform=$NDK_PLATFORM --install-dir=$PLATFORM_PREFIX --arch=arm

Then use it to cross-compile the tools:

  cd freetype-2.5.3/
  CFLAGS="-std=gnu99" ./configure --host=arm-linux-androideabi --prefix=/freetype --without-zlib --without-png --without-harfbuzz
  make
  make install DESTDIR=$(pwd)
  1. setup config.h
./configure --enable-android
  1. Build the native activity
$ cd src/platform/andoid/jni && $NDK/ndk-build NDK_DEBUG=0
$ cd - && cd ide/android/ && ant release install

Useful adb commands for debugging: adb shell dumpsys cpuinfo adb shell top -m 10

Building the FLTK version

Install and build FLTK 1.4

$ cd ~/github
$ git clone https://github.com/fltk/fltk.git
$ sudo make install

Build

$ cd ~/github/SmallBASIC
$ ./configure --enable-fltk
$ make -s

.indent.pro settings

 -brf -nbap -br -brs -cdb -cdw -ce -cli0 -fca -i2 -l110 -lc110 -lp
 -nbbo -nbc -ncs -nip -npcs -npsl -nut -ppi0 -sc

About

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.github.io

Topics

basicbasic-programminginterpretermatricespixel-artscripting-languagesmallbasic

Resources

Readme
GPL-3.0 license
Activity
Custom properties

Stars

253 stars

Watchers

10 watching

Forks

42 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.