Modern toolchain for Commodore 64 BASIC v2 cross-development
BPP+ is a source-to-source compiler that transpiles enhanced BASIC syntax into standard Commodore BASIC v2. It provides label-based control flow, lexical scoping, modular compilation, and comprehensive static analysis.
Extended from the original BPP preprocessor by Henning Liebenau.
Part of the C*Base Larry Mod v3.1 development package.
Source - Enhanced syntax with labels, scopes and statement chaining (.bpp)
goto main
screen: {
init:
poke 53280,0\
poke 53281,0\
return
}
screen: {
welcome:
print "hello bpp+"\
return
}
main:
gosub screen.init
gosub screen.welcomeTarget - Standard BASIC v2 with line numbers (.bas)
1 goto 4
2 poke53280,0:poke53281,0:return
3 print"hello bpp+":return
4 gosub2
5 gosub3Complete documentation is available on C*Base Reference Guide - BPP+ Preprocessor
# Install
git clone https://github.com/cbase-larrymod/bpp-plus.git
cd bpp-plus
chmod +x bpp
# Use
bpp source.bpp > output.bas
petcat -w2 -o program.prg -- output.bas
x64 program.prgSee the Installation page for detailed setup instructions.
Issues and pull requests are welcome. Please maintain consistency with existing patterns when adding new features.
- New build placeholders for flexible timestamping
{builddate}- Current date in YYYY-MM-DD format{buildtime}- Current time in HH:MM format- Complements existing
{buildstamp}for more granular control
- C*Base Reference Guide integration
- Complete documentation now in
docs/manual.md - Mirrors C*Base Reference Guide
- Comprehensive examples and usage patterns
- Installation and compilation instructions
- Complete documentation now in
-
{buildstamp}format updated- Now includes both date and time in YYYY-MM-DD HH:MM format
- Consistent timestamp format across all build modes
-
Help message improvements
- Updated
--help/-houtput for clarity
- Updated
-
Documentation restructuring
- Primary documentation moved from GitHub Wiki to C*Base Reference Guide
See CHANGELOG.md for complete history.
Commodore BASIC v2 Specification:
Petcat Documentation:
See LICENSE file for details.
GitHub: cbase-larrymod/bpp-plus
Original BPP: github.com/hbekel/bpp