db49ca6aab
- Renamed #pragma far() to #pragma bank() upon design recommendations of @jesper. - renamed #pragma near to #pragma nobank, to avoid using bank(-1). - renamed __far directive to __bank directive. - introduced bank area upon design recommendation of jesper, and replaced this with the already present code segment linkage to banking. So the structured stayed the same, only the naming changed! This unlink from segment indeed makes things easier when no segments are in scope of the program. - added bank area as part of the fragment signature, so now call_far_[platform]_[bankarea]_prepare.asm, call_far_[platform]_[bankarea]_execute.asm, call_far_[platform]_[bankarea]_finalize.asm are expected to be present in the compiler. - removed the c code prepare, execute, finalize idea. The fragments seem to be enough for the moment. - added ram and rom fragments for far calls for the cx16. - Cleaned banking logic from Statement level. |
||
---|---|---|
gen | ||
repo | ||
src | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
Makefile | ||
NOTICE.txt | ||
pom.xml | ||
README.md |
KickC - Optimizing C-compiler for 6502 platforms
KickC is a C-compiler for 6502-based platforms creating optimized and readable assembler code.
The language is 95% standard C99 with a few limitations, and a few extensions to ensure an optimal fit for creating 6502 assembler code.
The KickC-compiler includes all necessary linker and header files to makes it easy to create and test binaries for the following 6502-based platforms out-of-the-box:
- Commodore VIC 20
- Commodore 64
- Commodore Plus/4 (Commodore 16 , Commodore 116)
- Atari 2600
- Atari XL/XE
- Nintendo NES
- MEGA65
- Commander X16
KickC uses the very versatile Kick Assembler. The KickC Compiler produces assembler code for the MOS Technology 6502 processor family. Specifically the compiler supports 6502, 65C02, 65CE02 and 45GS02 CPUs.
Resources
-
Download the newest Release
-
Download a nightly build
-
Read the Reference Manual
-
See the included C standard library
-
Follow the features being developed
-
Discuss the compiler and receive news on facebook
-
Chat on discord
-
Examine the Compiler Source Code
-
Contribute to the development of KickC
BETA
KickC is currently in beta, and at times crash or creates ASM code that does not work properly. Feel free to test it and report any problems or errors you encounter, but do not expect it to produce production quality code. Also, be prepared that breaking changes (to syntax, to semantics, etc.) may be implemented in the next versions.