
Small C++ (SC++), is a C-based compiler allowing you to create programs for the 68HC11 (and potentially other microprocessors*) in an object orientated language.
You can download Small C++ here (237KB)
Update August 10, 2006: Small C++ BETA is now available for download! Features include:
- Support for classes, inheritance, and polymorphism
- Pointers
- Templates
- Operator Overloading - design your own data types
- Easily modified to work on different platforms (for example a different processor)
- Several support libraries giving you easy access to dynamic memory and linked lists
- Several sample programs and a user manual to get you started
- And much more...
Keep in mind that this is a BETA version so there are bound to be bugs. Should you spot one, please email me with all the pertinent information. Thanks!
To use this compiler, I recommend you have an HC11 with at least 2KB of memory - preferably at least 8KB as the final programs can get quite large.
* Using this compiler on another processor requires the modification of the AOC file (Assembler Object Code). This is a text file that specifies which assembler commands to use when compiling a program.
Update September 1, 2005: So far things seem to be working well. For the past week I've been using it to compile actual robotics programs (besides the standard turn on an LED, turn off an LED). Basically what happened during this week was I would write up a new program, compile it, find out there was a problem with the compiler, fix that, compile again, find out there was yet another problem, and so on. Right now however it actually seems stable and working! On top of all this I started working on the manual and have also decided on a name: Small C++ (or SC++) since the syntax closely resembles C++ however on a smaller scale.
Update August 21, 2005: I'm very close to releasing the first BETA version of the compiler, all that's really needed right now is more testing. Just recently the following features were added:
- Arrays
- Inheritance
- virtual functions
Since the compiler now supports inheritance and v. functions, you can now run a program similar to the following:
Of course now with the above features implemented, I can call this an actual Object Orientated compiler (not just object-based).
Below is a code sample giving you an idea as to what the compiler's syntax is like. The following is a working program that can send and recv single bytes over an HC11's SCI port: