Hello, Guest the thread was called248 times and contains 2 replays

last post from ubik at the

vbcc optimizing C compiler for 6502 now with MEGA65 support

  • Hi,

    I have uploaded an update of vbcc with first support for the MEGA65: http://www.compilers.de/vbcc.html

    It does not yet make much use of MEGA65 CPU apart from map instruction (update is under work) and there are probably still quite a number of problems (there are some areas where I do not yet understand the requirements regarding mapping when calling kernel functions). But it should be well worth a try. At least I did have to change the loop counter of the dhrystone benchmark to unsigned because 30000 iterations would not take enough time.

    A few of the good things:

    - compiler is under active development

    - supports C99 (variable-length arrays, designated initializers etc.)

    - generates optimized code (see dhrystones in sample directory)

    - supports banked memory and far-pointers

    - (limited) floating point support based on Steve Wozniaks code

    - (pretty good) 32/64bit IEEE floating point support based on SANE

    - support for 65C02 extensions

    - support for writing interrupt handlers

    - attributes for putting variables into zero page

    - supports stack-frames > 256 bytes

    Changes since r1:

    - new target: MEGA65 (native mode, some banking support)

    - new target: Commander X16 (thanks András Péteri)

    - new options -prefer-statics/-force-statics (allocate local variables in static memory rather than on the stack)

    - new option -range-opt (first implementation of some range-based optimizations changing induction variables to smaller types)

    - added support for o65 object file format

    - added support for Oric target format

    - better use of x register

    - improved cross-module function-inlining

    - IEEE math library works with 65c02

    - several code generation improvements

    - fixed several bugs

    - slightly reworked examples

  • WOW,

    thanks for the update !