An implementation of BASIC for the BBC micro:bit, written in Micropython.
This is a fast interpreter for the BASIC language on the Atari 8-bit computers and the Atari 5200 console. Support for Atari floating point and 16bit integer variables. Support for string arrays, substrings and concatenation. Small size (currently the full floating point IDE is 9.3k, the integer IDE is 8k, and the runtime is less than 3k). Fast execution (currently, 2 times faster than compiled TurboBasicXL in the "sieve.bas" benchmark, 6 times faster than OSS Integer Basic). Modern syntax (no line numbers, many control structures). Procedures with parameters and short calling syntax. Feels "alike" TurboBasicXL, with many of the extended statements. Integrated editor and compiler running in the Atari 8-bit. A cross-compiler is available that directly compiles sources to Atari executables on any modern PC. Statements for Player/Missile graphics and Display List Interrupts.
TensorFlow Lite for Microcontrollers is an open-source machine learning framework in which a TensorFlow model is built and trained on a host computer. That model is then reduced in size and computational complexity by an exporter that converts it to the TensorFlow Lite format. For the tiniest of compute platforms — microcontrollers — that model is then converted to a C array containing the model structure and any trained parameters, like weights and biases. On the microcontroller, an interpreter parses the C array to extract operations and data to run inferences against new input data.
Given that TF Lite for Microcontrollers runs on some heavily resource-constrained devices, I got to wondering whether or not I could run inferences against these models on a Commodore 64.
The official, canonical documentation for batari BASIC.
batari Basic (bB) is a BASIC-like language for creating Atari 2600 games. It is a compiled language that runs on a computer, and it creates a binary file that can be run on an Atari 2600 emulator or the binary file may be used to make a cartridge that will operate on a real Atari 2600.
A reference for batari BASIC, a compiled dialect of BASIC for the Atari 2600.
A simple interactive BASIC interpreter written in Python 3. It is based heavily on material in the excellent book Writing Interpreters and Compilers for the Raspberry Pi Using Python by Anthony J. Dos Reis. However, I have had to adapt the Python interpreter presented in the book, both to work with the BASIC programming language and to produce an interactive command line interface. The interpreter therefore adopts the key techniques for interpreter and compiler writing, the use of a lexical analysis stage followed by a recursive descent parser which implements the context free grammar representing the target programming language.
The interpreter is a homage to the home computers of the early 1980s, and when executed, presents an interactive prompt ('>') typical of such a home computer. Commands to run, list, save and load BASIC programs can be entered at the prompt as well as program statements themselves.
The BASIC dialect that has been implemented is slightly simplified, and naturally avoids machine specific instructions, such as those concerned with sound and graphics for example.
This repository collects the original source code of various Commodore Business Machines (CBM) computers converted to a modern encoding (ASCII, LF, indentation).
Using kernalemu and cbm6502asm, almost all source in this repo can be built from the UNIX command line. To build everything, run build.sh from the Unix command line, on a case-insensitive filesystem.
In the repo:
A lightweight BASIC interpreter written in standard C. It's aimed to be embeddable, extendable and portable. It is a dynamic typed programming language, reserves structured syntax, supports a style of prototype-based programming (OOP), also implements a functional paradigm by lambda abstraction. The core is written in a C source file and an associated header file. It's easy to either use it as a standalone interpreter or embed it with existing projects.
A version of it is embedded in WWIV these days.
An interactive explorer of the disassemblies of the BASIC ROMs and kernels for the various versions of the Commodore 64. Each ROM is disassembled and lined up side by side so you can see what's different between versions and hardware releases.
The classic book BASIC Computer Games, published by Creative Computing, inspired a generation of programmers. The games were written by many people, and compiled by David H. Ahl. The fabulous illustrations accompanying each game were done by George Beker.
I've included all the games here for your tinkering pleasure. I've tested and tweaked each one of them to make sure they'll run with Vintage BASIC, though you may see a few oddities. That's part of the fun of playing with BASIC: it never works quite the same on two machines. The games will play better if you keep CAPS LOCK on, as they were designed to be used with capital-letter input.
"Commodore BASIC" (cbmbasic) is a 100% compatible version of Commodore's version of Microsoft BASIC 6502 as found on the Commodore 64. You can use it in interactive mode or pass a BASIC file as a command line parameter.
This source does not emulate 6502 code; all code is completely native. On a 1 GHz CPU you get about 1000x speed compared to a 1 MHz 6502.
The BASIC Engine is a very low-cost single-board home computer with advanced 2D color graphics and sound capabilities, roughly comparable to late-1980s or early-1990s computers and video game consoles. It can be built at home without special skills or tools and using readily available components for under 10 Euros in parts, or mass-produced for even less.
Might be a fun thing to write a version of.
A concise overview of electronic theory for geeks.