The Compiler


RCC16 is an Oric targeted version of the LCC Compiler.

This compiler is decently ANSI compliant, and event support C++ comments as well as standard C comments.

Optimisation level can be modified using the OSDKCOMP variable. By default this variable will be initialized to -O2 value, but you can try -O3 for more aggresive optimizations.

Data types

Since the 6502 is an 8 bit processor, the data size are as follow:

  • Pointers are 16 bits long
  • char and shorts are 8 bits long
  • int are 16 bits long

Some standard functions (memcpy, printf, ...) are implemented, but most of the standard library is not available.

Some functions are just quick hacks done by directly calling the ROM functions. Unfortunately, ROM releases are different, and thus any code calling these functions will work only on ATMOS.

Known issues

Reported by NekoNoNiaow the Thu 28th March 2019

Issue #33: Compiler.exe crashes
Details: Compiler.exe crashes when compiling the following source:
void main(void)
 int returnValue;
 char* argv[] = { "dhrystone" };
 returnValue = main( sizeof(argv) / sizeof(*argv), argv );
Compile with:
%OSDK%\BIN\compiler.exe -Nlibc -O0 source.c >source.c2

Resolved issues

Reported by Waskol the Wed 29th August 2018
Fixed in OSDK 1.13

Issue #27: Missing EQ0W_C code generator macro
Details: When compiling some C programs, the code generator creates EQ0W_C instructions which unfortunately are missing from the macro file. (See: topic)

comments powered by Disqus
Coverity Scan Build Status