Optimizing Small memory C Compiler Assembler and Runtime for C64
Go to file
drmortalwombat 0b72e6b2f2 Force nop for breakpoint() to avoid elimination if alone in basic block 2025-05-16 17:25:58 +02:00
autotest Optimize shift code generation 2025-05-12 20:09:57 +02:00
include CTT file import 2025-05-15 17:50:59 +02:00
make Changed make target everywhere 2025-04-23 15:32:26 +02:00
oscar64 Force nop for breakpoint() to avoid elimination if alone in basic block 2025-05-16 17:25:58 +02:00
oscar64setup Improve conditional branch integer range propagation 2025-05-01 20:23:13 +02:00
samples Fixed minor typo 2025-05-02 16:46:27 +02:00
.gitattributes Initial commit 2021-09-06 18:34:52 +02:00
.gitignore Add interleave option for sectors in disk image 2024-06-05 22:21:21 +02:00
CMakeLists.txt Get target_sources through glob'ing instead of explicit filenames 2025-01-24 19:07:18 +01:00
LICENSE Initial commit 2021-09-06 18:34:52 +02:00
README.md Update README.md 2024-11-02 11:45:31 +01:00
makezip.bat Move zero page shift up to previous store 2024-08-01 22:19:16 +02:00
oscar64.md Add -ii option to change default include path 2025-05-11 18:29:57 +02:00
oscar64.sln Bump version number 2025-04-10 08:47:24 +02:00

oscar64

Oscar64 is a C/C++ cross compiler running on a modern system (such as a Windows PC, Mac or Linux machine) and targets the classic 6502 family of processors. It is mainly focused on Commodore systems such as the C64, PET or VIC20. The compiler supports C99 and many C++ features up to variadic templates and lambda functions.

The purpose of this compiler is to eliminate the need to write 6502 assembler code to achieve high code density and fast execution speed. It continues to improve with all the games, demos and tools written by it. It supports disk overlays and banked cartridges for larger projects.

The C64 executes 418 dhrystone V2.2 iteration per second, when compiled with Oscar64 and -O3 (which shows that the ancient dhrystone benchmark is no match to an optimizing compiler).

Full reference manual Additional samples and tutorials

References

This is a list of the games written with Oscar64, have a look if you are not convinced that fast paced action games can be written in C/C++ on a C64 (they are all free).

Ball and Chain

Balls like a Frog

cores4 Corescape

MetalMayhem

Mineshaft Gap

Minotrace

Missile Defence

cl1b Portal Buster

Roguebot

Shallow Domains

Veggies vs Undead