Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Add to github
C++ C Makefile
Branch: master

Unused Method Fix

My last fix included two changes to handle multiple instances of the
same object being included. One only fixed arrays of objects, the later
one actually handles all cases, but the first one interferes with the
second one, so I removed the first one and it resolved things.
Bumped to version 1.00.77
latest commit e0b9479587
@reltham reltham authored

README.md

Introduction

OpenSpin is an open source compiler for the Spin/PASM language of the Parallax Propeller. It was ported from Chip Gracey's original x86 assembler code.

There is a solution/project files for VS 2013, and there are make files for use with GCC. Tested on MinGW, linux, and Mac OSX so far. It should work with any recent version of GCC. I've compiled with GCC 4.6 and 4.8.

They build the PropellerCompiler library and openspin.exe.

The code successfully compiles all of the Library files shipped with PropTool as well as all of the files available in the OBEX as of August 2012. That's approximately 1450 spin files.

The only binary differences are from the corrected handling of floating point numbers (which is now IEEE compliant).

As of version r41, it supports a basic preprocessor.

PropellerCompiler library

PropellerCompiler.cpp/h contain the interface to the compiler. Look at openspin.cpp for an example of how to work with the interface.

openspin.exe

openspin.exe is a command line wrapper for the compiler library. You give it a spin file and it passes it through the compiler and produces a .binary (or optional .eeprom) file with the same base name as the passed in spin file. There are several command line options available. Run openspin.exe with no arguments to get a usage description.

Binary Downloads

Binary build downloads are available.

Thanks

  • Thanks to Steve Denson, for the Makefile and testing on linux!
  • Thanks to David Betz for testing on Mac OSX.
  • Thanks to Eric Smith for providing the code and helping with integrating the preprocessor.
Something went wrong with that request. Please try again.