• Mac OS X

    Alexey Frunze10/17/2017 at 08:01 0 comments

    The compiler can now self-host on Mac OS X and cross-compile for it, hooray!

  • Getting closer to completeness

    Alexey Frunze08/30/2017 at 04:05 0 comments

    Just added strtof(), strtod(), atof() and float parsing in *scanf()!

  • D-Flat Windowing System

    Alexey Frunze02/04/2017 at 10:02 0 comments

    I've adapted the D-Flat Windowing System for compilation with Smaller C.

    Here's a screenshot of a demo application, MemoPad, using it.

  • Unreal (AKA Big Real) mode!

    Alexey Frunze11/19/2016 at 07:44 0 comments

    Unreal mode is now supported in the compiler! This is a screen capture from DOSBox running tests/vesalfb.c compiled using the -dosu option. VirtualBox produces similar results (different color palette, no text message).


  • Preprocessor!

    Alexey Frunze07/13/2016 at 08:25 0 comments

    I've adapted ucpp 1.3.2 for use with Smaller C. No need for workarounds such as invoking gcc (e.g. with the -ppg option). smlrpp should now be invoked automatically and it should just work.

  • SDL Clock Demo

    Alexey Frunze03/21/2016 at 03:33 0 comments

    Just added an SDL clock demo for Windows.

  • Floats on x86

    Alexey Frunze03/14/2016 at 07:15 2 comments

    I've merged the work-in-progress branch into master and now most of floating point support is available on x86 too (this includes functions from <math.h>).

    The Mandelbrot set image you're seeing here has been generated by a new test/demo program, which uses floating point.

  • It floats!

    Alexey Frunze01/17/2016 at 09:29 0 comments

    Late last year we made a series of improvements in RetroBSD and Smaller C (switched to compiling apps and libraries as MIPS16e, made numerous fixes and improvements in the emulator (including MIPS16e support) and shrank one large array in the compiler), which significantly reduced the compiler in size, like by 20+ KB. That extra space made me think of what else could be implemented or improved in Smaller C.

    Of the largest language debts stood out floating point. I looked at it and decided to give it a try and it was perfect timing as the long Xmas/NY break was approaching. So, over the period of several weeks I've implemented and tested basic support for float. RetroBSD builds with double equivalent to float (32-bit single precision, software implementation as the PIC32MX CPU does not contain an FPU) and Smaller C follows suit.

    This still is a work in progress and there are a few other limitations like several operators still unsupported with floats (++, --, +=, -=, *=, /=), but other than that things seem to be working quite well.

    Hooray!

  • Evolution of Smaller C

    Alexey Frunze12/23/2015 at 10:08 0 comments

    Evolution / source code visualization of Smaller C. I have no idea why someone would make one for my project.

  • Tetris on RetroBSD

    Alexey Frunze10/15/2015 at 10:44 0 comments

    I've adapted João André Esteves Vilaça's Arduino Tetris for compilation with Smaller C on RetroBSD. Here it is running on the PICadillo-35T board with the Funduino joystick shield v1.a attached (invisible because it's on the back).

    Teh codez.