Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/trevorjay/atinybasic
A Tiny Basic: An Actually Tiny BASIC for Arduino
https://github.com/trevorjay/atinybasic
Last synced: 16 days ago
JSON representation
A Tiny Basic: An Actually Tiny BASIC for Arduino
- Host: GitHub
- URL: https://github.com/trevorjay/atinybasic
- Owner: trevorjay
- License: cc0-1.0
- Created: 2020-07-27T08:27:11.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-08-13T13:27:16.000Z (over 4 years ago)
- Last Synced: 2024-08-01T04:02:11.879Z (3 months ago)
- Language: C++
- Homepage:
- Size: 18.6 KB
- Stars: 25
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-basic - atinybasic - An Actually Tiny BASIC for Arduino. (Dialects)
README
# atinybasic
`atinybasic` is a straight-forward port of Dennis Allison's famous ["Tiny BASIC"](https://en.wikipedia.org/wiki/Tiny_BASIC) from ["The People's Computer Company"](https://en.wikipedia.org/wiki/People%27s_Computer_Company) [newsletter circa September 1975](https://archive.org/details/1975-09-peoples-computer-company). In the spirit of the original, `atinybasic` does not attempt to be a complete BASIC environment per se. Instead it's meant to be a starting point for building a BASIC suited for a particular project or task. I have added `RND`, `ABS` and an array to the basic feature set, but this is more to show how you might add more features than anything else.
# Video
[![Alt text](https://img.youtube.com/vi/GVN8z__guZE/0.jpg)](https://www.youtube.com/watch?v=GVN8z__guZE)
# Installation
Copy the `basic_blink` folder to where you keep your Arduino sketch folders.
# Setup
By default, the included `basic_blink` sketch will start a headless BASIC interpreter running a (flash stored) program that blinks the LED attached to pin 13 on Arduino Uno boards. To enable a serial console, change the `#define CONSOLE 0` line of `config.ino` to `#define CONSOLE 1`. Also change `#define RAM 0` to `#define RAM 1` and `#define FLASH 1` to `#define FLASH 0` (this changes the program source from being the onboard flash to the onboard RAM).
# Size
Headless, the interpreter only takes up 348 bytes of RAM, leaving the rest for BASIC programs themselves.