Page 1 of 1

vbcc optimizing C compiler now with VIC-20 support

Posted: Wed Mar 19, 2025 10:33 am
by vbc
Hello,

I have uploaded version 4p2 of the vbcc distribution for 6502 targets at http://www.compilers.de/vbcc.html

This release now comes with target integrations for VIC-20, among many others. It contains a C compiler, assembler, linker and ports of a C Library for a variety of 6502 systems.

Some features of vbcc for 6502:

- comes with ready-to-use C library for the following targets: C64, C128, C16, VIC-20, PET, Atari 8bit, BBC Micro/Master, NES, SNES, MEGA65, Apple I, Apple II, Oric Atmos, Commander X16, Simulator/Freestanding
- supports C99 (variable-length arrays, designated initializers etc.)
- generates optimized code (see dhrystones in sample directory)
- supports far-pointers and banked memory with automated bank-switching
- (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 CSG65CE02 extensions
- support for MEGA65 extensions
- support for writing interrupt handlers
- attributes for putting variables into zero page
- supports stack-frames > 256 bytes
- supports file I/O on selected targets

Re: vbcc optimizing C compiler now with VIC-20 support (was: VBCC (C compiler) now has vic20 support.)

Posted: Thu Mar 20, 2025 6:29 am
by orac81
The latest version of VBCC now supports the vic20 as a target. see:
http://www.compilers.de/vbcc.html

Development thread here:
http://forum.6502.org/viewtopic.php?t=6100



My own tests on CONNEX indicate its about twice as fast as cc65, see:

viewtopic.php?t=11146


starting sconnex155, new game, iq7, go:

vbcc/c16:iq7,n,g :mv4,84sec,16489nod (196 node/sec)
cc65/c16:iq7,n,g :mv4,176sec,16489nod (94 node/sec)

(One thing i did in sconnex was use a typedef XINT set as byte, and use that for any int variables that are in the 0-255 range. this is a big speedup for vbcc.)


(mod: post/thread moved from Programming to Emulation and Cross Development section, and merged)