Shop OBEX P1 Docs P2 Docs Learn Events
Good old BST (Brad's Spin Tool) — Parallax Forums

Good old BST (Brad's Spin Tool)

I recently re-imaged my laptop with the Fedora 22 Linux distro - I'm planning on setting it up for FPGA work (and of course Propeller Programming)
After installing the latest Quartus II and turning a DE)-Nano into a P1V, I needed a way to code some Spin.

Ok, I should use PropellerIDE, right? It only comes in a .deb package well, Fedora, being from the "hat" side of the Linux family really wants a .rpm package to install. OK, so let's build PropellerIDE. (I may actually have forgotten some steps)

1) install QT5 and all the dependencies
2) grab PropellerIDE from Github
3) Use QtCreator to build PropellerIDE
4) grab PropMan and Propterm from Github
5) use QtCreator to build those
6) grab OpenSpin from Github
7) build OpenSpin
8) put all the pieces in a single nice bin file some place
9) startup PropellerIDE and configure it so it knows where to find OpenSpin, PropMan and Propterm
10) plugin a Propeller (yay! PropellerIDE sees it!)
11) write some Spin and load it to the Prop - PropMan does something, talks to the prop but the program doesn't run - Hmmmmm
12) spend time screwing around with Propman - no joy
13) grab p1load from github and build it
14) recompile the spin program with OpenSpin
15) use p1load to program the prop.....nothing happens....hmmmm...press RESET...Shazzam! The Spin program runs
16) at this point, I was too disgruntled to try SimpleIDE

OK, I guess that's workable just use an editor, a compiler and a loader like I did 30 years ago!

Decide to try BST:

1) grab the 2009 vintage .zip file from Brad's site
2) unzip it
3) execute ./bst.linux (it starts up just fine on Fedora22 with 32 bit support) - dang! forgot the font file, so it's a bit ugly
4) code some spin and load it to the Prop that it immediately regcognized
5) sit back and watch Propeller lights blink after one download and maybe 5 minutes.
6) install the font file and it is pretty AND working!!

I'm still not sure what is up with my PropellerIDE build or my p1load build but way back in 2009, someone created an IDE that still runs (at least on every system I've used it on) and is EFFORTLESS to set up....in 5 minutes time!

To be fair, I'm going to fire up a Ubuntu VM and give the PropellerIDE .deb a second chance on a proper Linux.


(Hey, at least I'm not complaining about the Forum!!!)


«134

Comments

  • Seriously? You have a enumerated list that makes it to 8 items and the "8" followed by a ")" turns into this guy 8)

    Yikes!!!
  • Lol it's like a photo bomb, but this time a post bomb :p  I'm pretty partial to Brad's BST too.  But then my mac is still back at Apple X Kitten or something like that from 6 years ago.
  • Maybe a PropellerIDE "lite" could be designed around the look/feel/operation of BST? 

    Please....
  • Cluso99Cluso99 Posts: 18,069
    edited 2015-07-02 22:45
    Yes, bst always works for me on Windoze.
    Supports #ifdef compilations too - which is why I use it!
    I also use homespun too - supports batch files to compile multiple files. (probably so does bst).


    However, for simple stuff, I just use PropTool.
  • I have a couple of experimental projects which use massively redundant instances of an object that provides standard string handling and using DAT storage so they are all really acting as the same unified pseudo-global thing.  PropTool won't compile it because it runs out of compile time memory, but BST does.  I use it under Windows and it works nicely, less slick than PropTool in some ways but more usefully capable in others.
  • For me, PropTool is no longer an option, so I need to make the tools work or fall back on trusty old BST. Now, as long as there are VM's and I keep an image that works, I can use BST FOREVER!!! (or until I need to program a P2)
  • Your itemized list of steps to get PropIDE running on Linux are EXACTLY why I end up quitting every single attempt to use Linux or C or Lazarus [FPC] and get so annoyed at the programming world which seems to be trying to out do lawyers in creating code and syntax so obtuse that it cannot be understood by the majority of programmers.
    The only thing missing is Step 17, turn the lights on. Step 18 turn the lights off, Step 19 click your heals 3 times.

    This is 2015 and with all this processing power computers have today, code should be working for us and not the other way around.
    The programming world will try to demean lesser languages like Basic, VB, SPIN, PASM but in reality, because we are basically working with nothing but a text file for source code how about letting the compiler figure it out. Every time I hear, well it is not a compiled language, I cringe because any language can be compiled for any OS as long as a compiler is written.
    Why are we doing so much work every time for every project chasing 16+ steps to satisfy some OS or language, when in reality a properly written compiler could make our end of programming so much simpler?
    SPIN, although not my favorite, coupled with PASM [love it] has allowed me to create numerous projects with extremely high I/O count [1500+] updated at high and deterministic speeds. 
    Off my soap box and I return you to the thread.


  • Spin can not be compiled for P1 any easier than C or C++ since you stil have to contend with the tiny COG memory for native code. If you want anything beyond what will fit in 2K, you have to use some sort of VM or LMM. Also, there is nothing stopping you from writing assembly code for any other processor if that's what you like. Chip wrote the Spin compiler in x86 assembly. Being able to write in assembly language isn't exclusive to the Propeller. Anyway, I agree that modern programming environments are too complex and cumbersome to install and use. That's why I usually stick to a decent editor (I use BBEdit on the Mac) and the command line compiler and assembler.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2015-07-03 19:43
    Your itemized list of steps to get PropIDE running on Linux are EXACTLY why I end up quitting every single attempt to use Linux or C or Lazarus [FPC] and get so annoyed at the programming world which seems to be trying to out do lawyers in creating code and syntax so obtuse that it cannot be understood by the majority of programmers.
    (some of the rant removed)

    Off my soap box and I return you to the thread.




    BST does not require a compile from source code.  In fact, Brad won't share the source code and won't update what it is. So it really isn't that hard to install in Linux --- Except it won't install in the most recent Ubuntu Linux, so I went to Debian.

    Your impression that everything in LInux requires setting up a tool chain and compiling the source code is a bit behind the times.

    BST and SimpleIDE seem to both install rather painlessly.   I personally retain BST because it has some really nice extra features.

    I have SimpleIDE to use C (which seems to get similar tantrums out of me) or to use SPIN.

    I also have Catalina C because it seems that it is better documented than the GCC in SimpleIDE.

    All three are in Linux, and not hard to install.

    ++++++++++++++
    Methinks we have too many IDEs for the Propeller at this point.   I have no idea about the Propeller IDE as I have learned that life is better for me if I adopt new software slowly.
  • Loopy, try SimpleIDE (or PropellerIDE in my case) on a Linux where you need to build it yourself and not use the .deb file someone else built for you. You might change your view a bit!
  • Heater.Heater. Posts: 21,230
    edited 2015-07-03 22:03
    Wurlitzer,
    At the end  of the day we would hope that SimpleIDE/PropellerIDE come with packages that can be installed on at least Debian, Ubuntu and RedHat. They don't seem to have matured that much yet. Still software  installation problems are not restricted to Linux based operating systems as far as I can tell.
    Why you would have a problem with C on Linux is beyond me. GCC has worked out of the box since forever.  FPC is of course a disaster zone though.
    It does not matter if you are talking BASIC or C or Spin or Pascal or Python or whatever. The problem is that every machine, very OS you want to run those compilers and tools on is a little bit different. Do you have a Mac, which OS version? Do you have a Windows machine, which OS version. Do you have a Linux machine, what distribution? Which version? Oh, and what hardware are you using with all of those?
    Every little variation breaks something here and there. What works for the package devs may not work for you. This is nothing to do with "Let the compiler figure it out". It's impossible for the compiler, or whatever program, to know all the details of all the environments where people may want to run it.
    I don't believe that it is possible for any language to be compiled for any OS. A language like JavaScript basically cannot be compiled to a static binary. Similarly for Lisp and such. There are indeed "not a compiled" languages by virtue of their design. You have had success with Spin. Of course, one language one target chip, very easy. Especially as it's compiler only had to run on one OS, Windows,  and one CPU architecture, x86.
    But wait, now, the Spin compiler itself is expected to run on Windows, Mac, Linux, BSD, in all their various versions.  It's OK to have a soap box, and I do share your dismay with the complexity of modern systems. 
    That is why I do most of my coding in JavaScript now. It just works everywhere :)

  • Cluso99Cluso99 Posts: 18,069
    I think you missed Wurlitzers point...
    He wants an .exe that just works. That's what we get with Windoze, although there are some issues with Windoze 8/8.1 where really old code does not run, and sometimes new drivers are required.
    What we get with Windoze here is an exe that just works. What is wanted is another exe for Mac, another for Linux (whatever flavour, even if it means more exe's). We don't want to have to compile the app on these computers.
    I have no intention of going Linux because I am past the old command line stuff - that's old school that went away in the mid 90's. Linux and its flavours hasn't grown up sufficiently for prime time use IMHO because it requires too much knowledge to keep it running.
  • I *THINK* the PropellerIDE that has been build as a .deb for Debian based distributions just works on systems that can handle a .deb file. The problem is, is you are on a RedHat based distribution, you can't (always) use a .deb file, and need a .rpm file. The products aren't mature enough apparently to warrant having someone build a .deb file and a .rpm file to cover most linux distributions.

    OK, I can handle building things (usually) but there is a lot of of information that it would be nice to have documented for people that aren't Linux wizards (me) so they could build the tools if need be until .deb adn .rpm files can be provided.

    As of now, it's either have a distribution that supports .deb or go through a lot of effort and frustration trying to build your own.

    The {favorite editor}/OpenSpin/p1load does work but it's a rather archaic tool chain compared to the competition.
  • Heater.Heater. Posts: 21,230
    edited 2015-07-04 02:04
    Clusso,
    I get Wurlitzer's point. Turn computer on, run program, it works. That's OK, there is a single machine architecture x86, there is basically a single OS, Windows. Fine, so I would expect after all these years of development that there is a SimpleIDE/PropellerIDE installer that has that down to a tee. 
    Then we have the Mac. That should be an even easier case. There is only one supplier of the machine, hardware variations are minimal. I have no idea how it goes on Mac but I guess there is a similar install mechanism.
    Then we have Linux. Well, no we don't. There is no such thing as a Linux operating system. Linux is a kernel. There is a Debian OS, an Ubuntu OS, a RedHat OS and a million others.
    Well that's crappy because you can't make an installer for all of them. Or at least nobody want's to. As you say "We don't want to compile an app". Well who then? Clearly Parallax cannot support everything. Nobody does.
    I think you are seriously mistaken if you think the command line has gone away. Many times a quick "apt-get install bla" is so much easier than surfing the net, registering to some software house, downloading the installer, running it, clickety clickety this than and the other. Bletch.
    When it's done use it. No more command line if you  don't want. 
    A Linux based OS may require some different knowledge than Windows or Mac. Given that Windows and Mac users come to me all the time asking for help with their machines I'm not convinced that it's any harder.
    Anyway, the bottom line for me is that if Parallax is serious about the open source tools, Openspin, prop-gcc, SimpleIDE, PropellerIDE, they should be making sure there are dead easy installation packages for Windows, Mac, Debian and RedHat that "just work" and are up to date. Somehow I don't see them being serious about this.
    Which leaves it up to us nerds to build it and share it, if the mood takes us.
  • evanhevanh Posts: 15,192
    WINE "just works" too. Of course, it also just won't work sometimes as well.
  • Whine??? we're good at that!!
    :lol:
  • Heater.Heater. Posts: 21,230
    evanh,
    I have never had much luck getting wine to run any Windows software correctly. Not that there is any Windows software I need so much. Except one thing.... LTSpice from Linear Technology. The SPICE circuit simulator and schematic editor.http://www.linear.com/designtools/software/
    Year after year, version after version, that program has always worked perfectly under wine. It's as if LT go out of their way to make it so. 
  • TorTor Posts: 2,010
    edited 2015-07-04 10:11
    When a tool reaches maturity and is open source it can easily become part of standard Linux distributions. I find that most tools are already part of Debian, for example. That makes things very easy. When I need "something" a quick 'apt-get install "something"' and I'm all set.
  • A tool won't reach maturity if it can't be easily found be users, can't be easily installed and/or can't be easily built from its open source repositories. 
    As someone looking to program a Propeller, I shouldn't need to spend hours building a tool chain and then possibly more hours debugging the tool chain just to program a Propeller. As a user, that is a big turnoff. 
    This is the state I am finding many of the Propeller tools in at this time. That is, assuming you can find the tools in the first place based on information you can find on the Parallax web site.
  • evanhevanh Posts: 15,192
    Ubuntu is targeted as the simple clicky option.
  • For many ages, we had only Debian .deb packages and Red Hat .rpm packages to acquire for simple, pre-compiled installations.

    Ubuntu seemed to conform wholely to the Debian side of that world until something like version 13.xx. But after that, Ubuntu diverged and BST wouldn't install.

    A lot of use asked Brad to fix this, but he had  already grown weary of what BST was demanding of his time for no reward except compliments.

    ++++++
    So I did what most of us BST lovers did. I left Ubuntu behind and installed Debian.  There were other issued with Ubuntu that I didn't like as well, but that just added incentive to do so.  Many people still love Ubuntu and wouldn't dare sacrifice it for BST.  But I would have to say they might be overly dependent on a Linux fork that will become more unique over time.

    Debian is at the core of open-source Linux.  As long as LInux is free and open-source, Debian will be there.  Ubuntu may fade away or become a commercialized half-breed, like Andriod.  That seems to be its ambition.
  • @Cluso99

    If you have a spare box laying around give "Linux Mint MATE" edition a shot.  You might be very pleasantly surprised by how far they have come with this.   It's the first linux distro that I've successfully used with several customers. 
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2015-07-05 01:23
    BST is all I use and I am very sad not only that Brad stopped developing this "labor of love" but also the manner in which he stopped everything to do with Parallax. Something for us to think about, if it's a labor of love then that is already our reward and anything above that is "cream" I say. btw, besides BST's many features the one I really love is the listing feature, I use it all the time to optimize Tachyon.

    I have used Linux Mint Cinnamon for years now and have never had a problem with running BST as long as I had the 32-bit libs installed. Lately I've been playing with OpenSuse Gnome and I am quite impressed by it too especially after 1-click codec install but BST doesn't run on it and I haven't had a chance to see what I need to do.
  • Cluso99Cluso99 Posts: 18,069
    I bought a Linux magazine at the airport and read it on the flight. IMHO what they say, even about Debian 8, means it's not ready for prime time with me.
    When it gets to simple, as in windoze, then I will give it a shot. Obviously no where near that yet for me.
  • AleAle Posts: 2,363
    I thought that I read somewhere here that Bard stopped BST development after he lost all his backups and his main copy due to drive crash and corrupted backups. Thus he no longer could develop it, but had to start from scratch :(. Quite Sad,
  • AleAle Posts: 2,363
    I am not a windows fan but I have no GNU/Linux anymore. Just a VM I fire up from time to time. Some things are just easier in a proper command line. But sadly I want to program my chips and everything has to work. W7 works ok, well this machine seems to have now a problem, the fans blow the whole time... w10 seems to work fine too, I'll move there soon. MinGW does also ok...
  • I bought a Linux magazine at the airport and read it on the flight. IMHO what they say, even about Debian 8, means it's not ready for prime time with me.
    When it gets to simple, as in windoze, then I will give it a shot. Obviously no where near that yet for me.

    I've never bought a Linux mag and I've never read a review either, I just use Linux. I find WIndows lags behind a lot of features that I take for granted in Linux, even something as simple as USB PnP just works immediately in Linux while WINx bings and bongs and carries on and even then you still need to cross your fingers. The software package manager in Linux is a bit like the app store, you can just click and install and as for UI I just said to add a printer in OpenSuse which it detected on the network and that was that, all done home and hosed. I cringe when I have to work on a Windows machine, usually to fix them that is.
  • David BetzDavid Betz Posts: 14,511
    edited 2015-07-05 11:35
    I thought that I read somewhere here that Bard stopped BST development after he lost all his backups and his main copy due to drive crash and corrupted backups. Thus he no longer could develop it, but had to start from scratch :(. Quite Sad,


    I hadn't heard this. It certainly explains a lot. What I don't understand about this discussion is why everyone is so upset with Parallax for not providing "proper" tool support. We sort of forced them into this position by demanding that they support cross-platform tools. Not only was Macintosh support demanded along with WIndows but every conceivable Linux variant has been asked for as well. Not only that, most people are unwilling to build the tools from source so click-and-go packages are demanded for every platform in addition to just insuring that the code has been ported. Parallax made every one of these new packages: SimpleIDE, PropellerIDE, and both the Spin and GCC toolchains available as open source. The way that the open source commmunity is supposed to work is that people who are interested in open source products are supposed to chip in to build and improve them. I've seen very little of that happening here. I hear lots of complaints but no one jumps in to help. The sources are all out there. Parallax has even collected most of them into an easy-to-use github account where they can easily be retrieved. If you want better tools, jump in and help make the exisiting tools better. As has been pointed out many times, Parallax has a tiny staff. If we were to let them go back to supporting only Windows, maybe they could limp along supporting the Propeller Tool. In a world where support is being asked for a multitude of platforms, they need help from us. If you want an easy-to-use installer for PropellerIDE, figure out how those are built for your favorite platform and volunteer to create one.
    (Edit: This is not addressed specifically to Ale. It's a comment on all of the messages complaining about lack of Propeller tool support.)
  • Heater.Heater. Posts: 21,230
    edited 2015-07-05 13:07
    Cluso99,

    I bought a Linux magazine at the airport and read it on the flight. IMHO what they say, even about Debian 8, means it's not ready for prime time with me.

    I'd be interested to hear what they did say about Debian 8. I use it exclusively on a bunch of machines and it all works just fine.

    When it gets to simple, as in windoze, then I will give it a shot. Obviously no where near that yet for me.

    I don't see Windows as simple. People approach me all the time to fix or configure or install stuff on their Windows machines. Then there are so many things that are just easier on a Linux machine, sometimes I wonder how anybody gets anything done on Windows.

    I'm really not wanting Debian to morph into a Windows alike.

    Ale,

    I thought that I read somewhere here that Bard stopped BST development after he lost all his backups and his main copy due to drive crash and corrupted backups. Thus he no longer could develop it, but had to start from scratch

    Never heard that before and I followed BST closely. I find it hard to believe. BST is a wonderful thing it's a shame we could never convince BradC to open source it. BradC's presence here is sorely missed.

    David Betz,

    You make good point's regarding the nature of Open Source. Although I'm not sure we can say "supposed to work" though. Open Source licenses are such that there is no feedback expected from users, it's just out there.

    I would not expect ready made packages for every one of the thousands of Linux distros. I would expect the build process to be streamlined and well documented to make it easy for people to get into it. The first steps to becoming a contributor to a project is actually being able to build it.

    There is just a vague feeling that Parallax is not enthusiastic about maintaining these projects.
  • David Betz,

    You make good point's regarding the nature of Open Source. Although I'm not sure we can say "supposed to work" though. Open Source licenses are such that there is no feedback expected from users, it's just out there.

    I would not expect ready made packages for every one of the thousands of Linux distros. I would expect the build process to be streamlined and well documented to make it easy for people to get into it. The first steps to becoming a contributor to a project is actually being able to build it.

    There is just a vague feeling that Parallax is not enthusiastic about maintaining these projects.

    If you want a well documented build process, work through the process yourself. I think you've done that at least once. Then write down what you did and add it to the README.md file in github so others can benefit. Isn't that the spirit of open source software? I know the open source licenses don't require every user to particpate in maintaining and improving the software. However, if no users do that then the software will die.
    By the way, one reason PropGCC is difficult to build is that we are still on an older release of GCC. Eric has done some work to update to the latest GCC but we haven't moved that into production yet because it requires extensive testing and bug fixing. If all or some of you would help with that then PropGCC might improve as a result.
Sign In or Register to comment.