If anyone build Roy's compiler for Mac OSX (10.6.8), I'd sure like to try it. I don't have the tools or knowledge to do that. As I understand it, it is currently a command line compiler, not an IDE, is that right?
I do like so many aspects of bst as an IDE and expect to stick with it as long as possible. I'm not a C programmer, and pin/pasm remains a great fit for my projects.
Tracy, I've attached a compiled copy of spin. It is a gzipped tar file so you'll need to unzip in terminal with:
(navigate to the folder containing the file)
$ tar -xzvf spin.tar.gz
then I'd recommend placing it you you usr bin directory with:
(working from the directory containing spin)
$ sudo mv spin /usr/local/bin/spin
then for good measure fix permissions on the file with:
Tracy, I've attached a compiled copy of spin. It is a gzipped tar file so you'll need to unzip in terminal with:
(navigate to the folder containing the file)
$ tar -xzvf spin.tar.gz
then I'd recommend placing it you you usr bin directory with:
(working from the directory containing spin)
$ sudo mv spin /usr/local/bin/spin
then for good measure fix permissions on the file with:
Thanks, I've downloaded and will give it a whirl, rather, a spin. I've used Terminal, but I'm going in a bit blind on what those commands are doing and how to use it after I've finished installing it. Exuse my ignorance. I'm minimally compiler-savvy and also surface level in Mac internals.
Roy hit several nails on the head. There are several old power-pc apps that I use. For one, I still use macBS2 extensively, and Murat's build depends on the Parallax tokenizer library, AFAIK powerPC only. There are a couple of others. I started using Deneba/ACD Canvas starting with version 1 back in 1987, and it is going to be hard to give that up. Nothing quite like it. I have hundreds and hundreds of documents in Canvas. Ah, progress.
Thanks, I've downloaded and will give it a whirl, rather, a spin. I've used Terminal, but I'm going in a bit blind on what those commands are doing and how to use it after I've finished installing it. Exuse my ignorance. I'm minimally compiler-savvy and also surface level in Mac internals.
Roy hit several nails on the head. There are several old power-pc apps that I use. For one, I still use macBS2 extensively, and Murat's build depends on the Parallax tokenizer library, AFAIK powerPC only. There are a couple of others. I started using Deneba/ACD Canvas starting with version 1 back in 1987, and it is going to be hard to give that up. Nothing quite like it. I have hundreds and hundreds of documents in Canvas. Ah, progress.
I've confirmed the binary is good on my 1st-ish generation macbook pro 10.6.8 FYI, this machine is fantastic now with a new SSD drive installed, the matte screen is the best screen Apple ever made IMHO. I keep looking for another one online, nobody seems to want to part with this matte screen version. Best hardware I've owned to date.
David, Paul, Roy, thanks for the help. I've taken a quick wiki refresher on unix commands. I'm still in modus operandi of dragging file icons onto the terminal window in order to let the Mac figure out the file path.
No problem with the unzip: Thomas-Allens-MacBook-Air-2:~ thomasallen$ tar -xzvf /Users/thomasallen/Desktop/spin.tar.gz
spin
However, no joy with moving the file and changing the permissions. Thomas-Allens-MacBook-Air-2:~ thomasallen$ sudo mv /Users/thomasallen/Desktop/spinRoyCompiler/spin /usr/local/bin/spin Password: mv: rename /Users/thomasallen/Desktop/spinRoyCompiler/spin to /usr/local/bin/spin: No such file or directory
I suspect I need something more specific rather than the generic /usr/local/bin/spin?
Nonetheless, happily the compiler works fine without moving it or changing permissions, running it from the folder where it first landed after unzipping: Thomas-Allens-MacBook-Air-2:~ thomasallen$ /Users/thomasallen/Desktop/spinRoyCompiler/spin /Users/thomasallen/Desktop/spinRoyCompiler/RGLED_flash_indicator.spin
Propeller Spin/PASM Compiler (c)2012 Parallax Inc. DBA Parallax Semiconductor.
Compiled on Apr 6 2013
Compiling /Users/thomasallen/Desktop/spinRoyCompiler/RGLED_flash_indicator.spin...
Done.
Program size is 268 bytes
Then I successfully loaded the file into the Prop using bstl: Thomas-Allens-MacBook-Air-2:~ thomasallen$ /Users/thomasallen/Desktop/spinRoyCompiler/bstl.osx -p3 /Users/thomasallen/Desktop/spinRoyCompiler/RGLED_flash_indicator.binary
Brads SpinTool Loader v0.05 - Copyright 2008,2009 All rights reserved
Compiled for i386 Darwin at 09:34:59 on 2009/07/03
Found a USB Serial Device
Propeller Version 1 Found!
Thomas-Allens-MacBook-Air-2:~ thomasallen$
Are you'all also using bstl for loading the binary?
It is possible that you have a typo in the source path. You may have better results by navigating to the desktop folder from the command line first and using inferred path for source instead of an absolute path.
When you first open a terminal window it should log you into your home directory. You can use the command 'cd' to change directories one at a time until you get to the folder with the spin binary. You can enter 'ls' in each directory to list the files and directories to aid your decent into the file structure.
Another possible issue could be that I presumed that '/usr/local/bin' already exists or that Mac OSX would create it automatically. Try this first:
$ sudo mkdir /usr/local/bin
The reason I prefer to put it there is because you can type 'spin filename.spin' to execute from any directory instead of './spin filename.spin' with it just in the current directory.
I'm ignoring people calling it SpinRoy. Sorry, but I don't like it. If you must associated with me in the name then use RSC. I prefer OpenSpin or Open Source Spin Compiler (OSSC).
I'll delve back into that thread, and it will probably answer most of my questions. I'd dipped into it last year a few times but had forgotton.
The name is catchy, yet Parallax will have the official say. A name is useful for search purposes. I didn't have a hook to help me search back for the thread in question, and all the "similar threads" contained the word "dead"!
Still would like to see revival of bst, or an IDE like it.
Tracy, Have you tried SimpleIDE? Pretty sure that it'll work on the Mac. It has Spin support, and will eventually use OpenSpin/OSSC if it doesn't already.
I'm ignoring people calling it SpinRoy. Sorry, but I don't like it. If you must associated with me in the name then use RSC. I prefer OpenSpin or Open Source Spin Compiler (OSSC).
OK Roy, as you are really ag'in' it I'll give it up as well. I quite like "OpenSpin". It's short and to the point. More like a name Parallax might use as well. The computing industry is full of "OpenThis" and "OpenThat".
OK Roy, as you are really ag'in' it I'll give it up as well. I quite like "OpenSpin". It's short and to the point. More like a name Parallax might use as well. The computing industry is full of "OpenThis" and "OpenThat".
I'm ignoring people calling it SpinRoy. Sorry, but I don't like it. If you must associated with me in the name then use RSC. I prefer OpenSpin or Open Source Spin Compiler (OSSC).
I'm a huge fan of BST as well, but will be looking at Roy's Spin compiler (Spin-Who-Must-Not-Be-Named? SpinCycle? Let the Naming War begin!). Thanks to everybody on this thread.
Respin has a negative connotation in some circles. The third respin (Respin3) for example would mean that a company had to fab their chip 3 times after the initial prototype to make it work. I suspect however Parallax would ignore that sentiment like they have ignored many, many other things.
I'm going with OpenSpin for now. If Parallax decides they don't like it, then they can come up with their choice of a better name, but I am really starting to like OpenSpin.
OpenSpin as a noun describes the design philosopy, and I like that it can double as a verb, a good thing for what it does from the command line. I also like GoSpin, but that is more verb than noun.
One feature I really like about bst, extraordinarily useful, is the compiler listing. I know OpenSpin has the -v for the verbose option that kicks out a Hex listing of the eeprom contents. and the -d that documents variable usage. I understand that OpenSpin is a straight translation of the original Parallax version. But there is a long way to go to match the kitchen sink full of options that Brad put into bstc:
Brads Spin Tool Compiler v0.15.4-pre8 - Copyright 2008,2009,2010 All rights reserved
Compiled for i386 Linux at 14:43:25 on 2010/04/20
Program Usage :- bstc (Options) Filename[.spin]
-a - Create Propeller object archive zipfile
-b - Write .binary file
-c - Write .dat file for C-Compiler (Drops a <filename.dat> file)
-d <device> - Device to load to (Default : )
-D <define> - Define a pre-processor symbol (may be used multiple times)
-e - Write .eeprom file
-f - Double download baud rate
-h - Display this help information
-l[sma] - Generate listfile (s) For source code / (m) for Machine readable - Debugger style
listing / (a) standard boring listfile
-L <Lib Path> - Add a library path or file holding library path(s) to the searchpath (may be used
multiple times)
-o <filename> - Output [.list/.eeprom/.binary/.zip] Filename (Defaults to input Filename without .spin)
-O <options> - Optimise Binary (HIGHLY EXPERIMENTAL!!!!!)
a - Enable all optmisations (Be careful! No, really)
b - Bigger constants (should be slightly faster at the expense of code size)
c - Fold Constants
g - Generic "safe" size optimisations for smaller/faster code, however not what the Parallax
compiler will generate
r - Remove unused Spin Methods
u - Fold Unary "-" Operations on Constants if it will make the code smaller
x - Non-Parallax compatible extensions
-p[012] - Program Chip on device (-d)
0 - Load Ram and run
1 - Load EEProm and shutdown
2 - Load EEProm and run
-w[012] - Error/Warning level - 0 - Errors only / 1 - Error/Warning / 2 -
Error/Warning/Information (Default 0)
-q - Be silent except for GCC style errors and warnings
-v - Get program version information
Comments
Tracy, I've attached a compiled copy of spin. It is a gzipped tar file so you'll need to unzip in terminal with:
(navigate to the folder containing the file)
then I'd recommend placing it you you usr bin directory with:
(working from the directory containing spin) then for good measure fix permissions on the file with:
Hope this helps.
Paul
Spin
Compiler
Ala
Roy
= OSCAR
Ok, I had to stretch a bit with the "ala Roy" bit!
EDIT: I forgot to mention how cool Martin's SpinRoy logo. Well done!
Worked here on 10.8.2, I'll check on 10.6.x later
Thanks
Roy hit several nails on the head. There are several old power-pc apps that I use. For one, I still use macBS2 extensively, and Murat's build depends on the Parallax tokenizer library, AFAIK powerPC only. There are a couple of others. I started using Deneba/ACD Canvas starting with version 1 back in 1987, and it is going to be hard to give that up. Nothing quite like it. I have hundreds and hundreds of documents in Canvas. Ah, progress.
I know Parallax want's to hide the beanie but we can be a bit subversive can't we:)
I've confirmed the binary is good on my 1st-ish generation macbook pro 10.6.8 FYI, this machine is fantastic now with a new SSD drive installed, the matte screen is the best screen Apple ever made IMHO. I keep looking for another one online, nobody seems to want to part with this matte screen version. Best hardware I've owned to date.
dp
No problem with the unzip:
Thomas-Allens-MacBook-Air-2:~ thomasallen$ tar -xzvf /Users/thomasallen/Desktop/spin.tar.gz
spin
However, no joy with moving the file and changing the permissions.
Thomas-Allens-MacBook-Air-2:~ thomasallen$ sudo mv /Users/thomasallen/Desktop/spinRoyCompiler/spin /usr/local/bin/spin
Password:
mv: rename /Users/thomasallen/Desktop/spinRoyCompiler/spin to /usr/local/bin/spin: No such file or directory
I suspect I need something more specific rather than the generic /usr/local/bin/spin?
Nonetheless, happily the compiler works fine without moving it or changing permissions, running it from the folder where it first landed after unzipping:
Thomas-Allens-MacBook-Air-2:~ thomasallen$ /Users/thomasallen/Desktop/spinRoyCompiler/spin /Users/thomasallen/Desktop/spinRoyCompiler/RGLED_flash_indicator.spin
Propeller Spin/PASM Compiler (c)2012 Parallax Inc. DBA Parallax Semiconductor.
Compiled on Apr 6 2013
Compiling /Users/thomasallen/Desktop/spinRoyCompiler/RGLED_flash_indicator.spin...
Done.
Program size is 268 bytes
Then I successfully loaded the file into the Prop using bstl:
Thomas-Allens-MacBook-Air-2:~ thomasallen$ /Users/thomasallen/Desktop/spinRoyCompiler/bstl.osx -p3 /Users/thomasallen/Desktop/spinRoyCompiler/RGLED_flash_indicator.binary
Brads SpinTool Loader v0.05 - Copyright 2008,2009 All rights reserved
Compiled for i386 Darwin at 09:34:59 on 2009/07/03
Found a USB Serial Device
Propeller Version 1 Found!
Thomas-Allens-MacBook-Air-2:~ thomasallen$
Are you'all also using bstl for loading the binary?
When you first open a terminal window it should log you into your home directory. You can use the command 'cd' to change directories one at a time until you get to the folder with the spin binary. You can enter 'ls' in each directory to list the files and directories to aid your decent into the file structure.
Another possible issue could be that I presumed that '/usr/local/bin' already exists or that Mac OSX would create it automatically. Try this first:
The reason I prefer to put it there is because you can type 'spin filename.spin' to execute from any directory instead of './spin filename.spin' with it just in the current directory.
Hope this helps.
Paul
Is there another thread extant for questions about the compiler and its development? Getting off topic here.
This was the original thread I made for it: http://forums.parallax.com/showthread.php/137452-Open-source-Spin-PASM-compiler-in-C-C
I just updated the first post there with some info, and will do as it says there. You can use that post for further discussion about the compiler.
Roy
The name is catchy, yet Parallax will have the official say. A name is useful for search purposes. I didn't have a hook to help me search back for the thread in question, and all the "similar threads" contained the word "dead"!
Still would like to see revival of bst, or an IDE like it.
(at least nobody just came up with a symbol and refers to it as "the program formerly known as SpinRoy")
Or OsSpin ? ( or o'Spin ?)
Jonathan
-Phil
One feature I really like about bst, extraordinarily useful, is the compiler listing. I know OpenSpin has the -v for the verbose option that kicks out a Hex listing of the eeprom contents. and the -d that documents variable usage. I understand that OpenSpin is a straight translation of the original Parallax version. But there is a long way to go to match the kitchen sink full of options that Brad put into bstc:
Brads Spin Tool Compiler v0.15.4-pre8 - Copyright 2008,2009,2010 All rights reserved
Compiled for i386 Linux at 14:43:25 on 2010/04/20
Program Usage :- bstc (Options) Filename[.spin]
-a - Create Propeller object archive zipfile
-b - Write .binary file
-c - Write .dat file for C-Compiler (Drops a <filename.dat> file)
-d <device> - Device to load to (Default : )
-D <define> - Define a pre-processor symbol (may be used multiple times)
-e - Write .eeprom file
-f - Double download baud rate
-h - Display this help information
-l[sma] - Generate listfile (s) For source code / (m) for Machine readable - Debugger style
listing / (a) standard boring listfile
-L <Lib Path> - Add a library path or file holding library path(s) to the searchpath (may be used
multiple times)
-o <filename> - Output [.list/.eeprom/.binary/.zip] Filename (Defaults to input Filename without .spin)
-O <options> - Optimise Binary (HIGHLY EXPERIMENTAL!!!!!)
a - Enable all optmisations (Be careful! No, really)
b - Bigger constants (should be slightly faster at the expense of code size)
c - Fold Constants
g - Generic "safe" size optimisations for smaller/faster code, however not what the Parallax
compiler will generate
r - Remove unused Spin Methods
u - Fold Unary "-" Operations on Constants if it will make the code smaller
x - Non-Parallax compatible extensions
-p[012] - Program Chip on device (-d)
0 - Load Ram and run
1 - Load EEProm and shutdown
2 - Load EEProm and run
-w[012] - Error/Warning level - 0 - Errors only / 1 - Error/Warning / 2 -
Error/Warning/Information (Default 0)
-q - Be silent except for GCC style errors and warnings
-v - Get program version information
Did you also notice that it has some offensive connotations. Never heard of "go swivel on it"?