All Projects â†’ EgonOlsen71 â†’ basicv2

EgonOlsen71 / basicv2

Licence: Unlicense license
A Commodore (CBM) BASIC V2 interpreter/compiler written in Java

Programming Languages

java
68154 projects - #9 most used programming language
basic
69 projects
assembly
5116 projects
javascript
184084 projects - #8 most used programming language
FreeBasic
24 projects
powershell
5483 projects

Projects that are alternatives of or similar to basicv2

cbmtapepi
Use a Raspberry Pi as fast mass storage solution for your Commodore 8-bit computer using just the datassette port.
Stars: ✭ 41 (-43.84%)
Mutual labels:  commodore, c64, 6502, vic20
retro-computing
🤓🕹💾 This hobby project contains software implementations of old microprocessors and complete computer systems. I'm very interested in retrocomputing and this is how I learn about the inner workings of these old, classic and amazing computers and game consoles.
Stars: ✭ 15 (-79.45%)
Mutual labels:  commodore, c64, 6502
C64-WiFi-Modem-User-Port
A NodeMCU (ESP8266) based WiFi modem for the C64's user port
Stars: ✭ 49 (-32.88%)
Mutual labels:  commodore, c64
pettil
6502 Forth-83 dialect for the Commodore PET 2001
Stars: ✭ 31 (-57.53%)
Mutual labels:  commodore, 6502
fastbasic
FastBasic - Fast BASIC interpreter for the Atari 8-bit computers
Stars: ✭ 108 (+47.95%)
Mutual labels:  interpreter, 6502
cc64
cc64 is a small-C compiler written in Forth, hosted on the Commodore C64, Plus4 and C16 with 64k, and on the Commander X16. It is targeting the 6502 CPU.
Stars: ✭ 57 (-21.92%)
Mutual labels:  c64, 6502
vchar64
editor for the Commodore 64
Stars: ✭ 81 (+10.96%)
Mutual labels:  commodore, c64
retrore
A curated list of original and reverse-engineered vintage 6502 game sourcecode.
Stars: ✭ 22 (-69.86%)
Mutual labels:  c64, 6502
C64-Keyboard-Controlled-Kernal-Switch
No description or website provided.
Stars: ✭ 23 (-68.49%)
Mutual labels:  commodore, c64
Lbforth
Self-hosting metacompiled Forth, bootstrapping from a few lines of C; targets Linux, Windows, ARM, RISC-V, 68000, PDP-11, asm.js.
Stars: ✭ 293 (+301.37%)
Mutual labels:  interpreter, 6502
petscii-bbs
A Java framework for building highly customizable PETSCII-enabled BBS, accessible from Commodore 64/128
Stars: ✭ 84 (+15.07%)
Mutual labels:  commodore, c64
c64-game
A horizontal space shooter for Commodore 64.
Stars: ✭ 17 (-76.71%)
Mutual labels:  c64, 6502
6502-npp-syntax
Notepad++ Syntax Highlighting for 6502 Assembly (and NESASM)
Stars: ✭ 21 (-71.23%)
Mutual labels:  c64, 6502
Pi1541-HAT
A HAT for the Raspberry Pi, that allows to emulate the Commodore C64 floppy disk drive 1541. Switches and IEC-Bus detachable.
Stars: ✭ 26 (-64.38%)
Mutual labels:  commodore, c64
Mad-Pascal
Mad Pascal Compiler for 6502 (Atari XE/XL, C64, C4Plus)
Stars: ✭ 46 (-36.99%)
Mutual labels:  c64, 6502
apultra
Free open-source compressor for apLib with 5-7% better ratios
Stars: ✭ 84 (+15.07%)
Mutual labels:  c64, 6502
6502.Net
A .Net-based Cross-Assembler for Several 8-Bit Microprocessors
Stars: ✭ 44 (-39.73%)
Mutual labels:  6502, vic20
c64adventures
Adventures into retro 8 bit Commodore 64 programming
Stars: ✭ 14 (-80.82%)
Mutual labels:  c64, 6502
C64-replacement-PSU-230VAC-
This is a replacement PSU (230VAC input) for the Commodore C64.
Stars: ✭ 43 (-41.1%)
Mutual labels:  commodore, c64
Pi1541io
Raspberry Pi extension board for the PI1541 project.
Stars: ✭ 69 (-5.48%)
Mutual labels:  commodore, c64

basicv2

A Commodore BASIC V2 interpreter/compiler written in Java with some 6502 assembler on top.

BasicV2 is an attempt to write a BASIC interpreter/compiler in Java that is compatible with the BASIC dialect that older Commodore home computers like the C64 or VIC 20 were using. It can run BASIC programs written in BASIC V2 or ANSI BASIC. It doesn't use any parts of the implementation of the original Commodore BASIC like similar projects do. It's a complete reimplementation in Java.

It's basically two solutions in one. You can either compile the BASIC programs so that you can run them inside a Java environment/application using the runtime that the project provides. Or you can use the native cross compiler to compile it for the real C64, VIC20 or Commander X16 (not(!) Commodore 16) and run it on the actual machine or in an emulator. You'll find this compiler called MoSpeed as a command line application in the dist-directory (here: https://github.com/EgonOlsen71/basicv2/tree/master/dist ) of the project. It can be run on its own, you don't have to download/clone the whole project for this. There's also an experimental BASIC V2 -> Javascript compiler included. The result of that one is a set of html/js files that can be run in a browser. Even more experimental is the BASIC V2 -> Powershell/-script compiler that creates a .ps1 file as output.

The native compiler is documented in this wiki as well: https://www.c64-wiki.com/wiki/MOSpeed

There's also an online version available: https://jpct.de/mospeed

In addition, it offers a symbolic assembler that compiles assembly code into actual 6502 machine code. To execute these programs, it comes with a 6502 cpu emulation.

The sources come in a basic Maven project structure as an Eclipse project. It has no dependencies to any other Java libraries. It's a stand-alone thing.

It can run BASIC programs from inside your application or from the command line. You can even use it to process HTML-templates as it comes with a basic templating implementation.

In addition to normal BASIC V2, it features a BASIC extension named GRAPHICS BASIC, which adds some commands for...graphics. The graphics capabilities aren't limited by some artifical C64 specs but take full advantage of a modern PC's capabilities.

Thanks to nietoperz809's efforts, there's a simple BASIC shell/editor available as well (see basicshell-package) that lets you load/save/edit/run BASIC programs in a C64-like editor. Or you can have a look at this second approach on this topic: https://github.com/nietoperz809/C64Screen

The native 6502 runtime code includes floating point optimizations based on Michael Jørgensen's work. See https://github.com/MJoergen

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].