I spent considerable time during 1998 converting SmallC to the AVR processors, and it served me well for over twelve months. However the required sophistication of the projects Jennaron Research became involved in, the usual pressures of time, and the basic limitations of SmallC itself, meant I had to move to a fully featured C compiler. As this website elsewhere shows, this was gcc.
Many people have downloaded sccavr and a few have reported bugs. While perhaps not very satisfactory, my response is to make the source available so everyone can make whatever fixes they deem necessary.
There is little info around on the structure of SmallC. I suggest a search of the web might be a suitable starting point. I have added considerably more comments as I sought to understand the code myself. The sccavr.c module is meant to encapsulate the AVR hardware, but there are a few places in other modules where code is generated.
There are two versions. Most of the development was done using the Borland look-alike IDE called rhide and DJ Delorie's excellent djgpp MSDOS version of gcc, both available from DJ Delorie's djgpp web site. I subsequently ported the code to Microsoft's Visual Studio C/C++ mainly for its more convenient windowed interface.
You can download the respective zipped version by selecting from the following links:
Download the DJGPP version.
Download the Microsoft MSC version.