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