Shop OBEX P1 Docs P2 Docs Learn Events
Propeller and Operating System — Parallax Forums

Propeller and Operating System

Jeff MartinJeff Martin Posts: 751
edited 2007-06-23 04:09 in Propeller 1
Hi,

There are many questions floating around regarding the Propeller Tool software, compiler and operating systems.· This post is meant to tell you our plans regarding this.

The Propeller Tool is designed specifically for Windows 2K and later.· It relies heavily on a number of operating system-level APIs to achieve many of the demanding goals we had for the software.· The Propeller Compiler itself is written in 32-bit assembly language for speed in execution and development (as we are very familiar with Intel x86 assembly).

We realized early on that to·develop this software for multiple platforms from the start would be nice, but would have delayed the release of the Propeller product line significantly.· Since many of the features of the software were instrumental in aiding final touches of the hardware itself, we chose to focus on Windows-based software in order to get it done more quickly and release the product to our customers earlier.

Like with the BASIC Stamp, however, we do intend to develop and provide a Propeller Compiler library that third parties may use to compile Propeller applications on Macs and Linux operating systems.· The timeline for this has not been set at this point, but we will likely be working on this solution the latter half of this year.

Thank you.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Jeff Martin

· Sr. Software Engineer
· Parallax, Inc.
«1

Comments

  • Mark RiordanMark Riordan Posts: 1
    edited 2006-04-28 02:23
    Wow... I never thought I'd see a significant project being written in assembly language for speed of development.
    Especially not for Windows, which has very mature and usable compilers.
    You folks must be even more old-timey than I am.
    Well, more power to you.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-04-28 04:32
    Chip the writer of the compiler thinks in assembly, its quicker for him to pound things out in it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    1+1=10
  • cocokiwicocokiwi Posts: 75
    edited 2006-05-05 01:48
    Jeff Martin said...
    Hi,

    There are many questions floating around regarding the Propeller Tool software, compiler and operating systems.· This post is meant to tell you our plans regarding this.

    The Propeller Tool is designed specifically for Windows 2K and later.· It relies heavily on a number of operating system-level APIs to achieve many of the demanding goals we had for the software.· The Propeller Compiler itself is written in 32-bit assembly language for speed in execution and development (as we are very familiar with Intel x86 assembly).

    We realized early on that to·develop this software for multiple platforms from the start would be nice, but would have delayed the release of the Propeller product line significantly.· Since many of the features of the software were instrumental in aiding final touches of the hardware itself, we chose to focus on Windows-based software in order to get it done more quickly and release the product to our customers earlier.

    Like with the BASIC Stamp, however, we do intend to develop and provide a Propeller Compiler library that third parties may use to compile Propeller applications on Macs and Linux operating systems.· The timeline for this has not been set at this point, but we will likely be working on this solution the latter half of this year.

    Thank you.

    ·Jeff,

    ·· One little titbit of info here, I use a 64bit computer now and the IDE works fine on it,just so you know(grin),BUT missing from the USB drivers is the 64bit one,one has to have it when using the 32bit emulator on 64bit computers,I found it on the USB chip site,both versions..DLL and Com port.

    my Pchip·arrived in the mail the other day!

    Cheers· Dennis

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://people.delphiforums.com/cocokiwi/Image/picture.jpg
  • EdKirkEdKirk Posts: 27
    edited 2006-05-07 16:02
    I have been unable to locate the IDE software for download since completing my new PropStick two hours ago.

    where can I find it?

    EdKirk
  • Mike CookMike Cook Posts: 829
    edited 2006-05-07 16:16
    http://www.parallax.com/dl/sw/propeller/Setup-Propeller-Tool-v0.95.exe

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Mike
  • EdKirkEdKirk Posts: 27
    edited 2006-05-07 19:50
    thanks Mike,

    I have it now. I will now download Dave beginners examples.

    Edkirk

    EdK@wi.rr.com
  • Cliff L. BiffleCliff L. Biffle Posts: 206
    edited 2006-06-14 15:32
    Well, as a professional cross-platform software developer, I have to say this is mindboggling and unfortunate in this day and age. Finding out that I'd have to go buy a type of computer I don't own to use the chip has considerably dampened my enthusiasm.

    Five years after my initial request, I still don't have good support for the BASIC Stamps on FreeBSD, only third-party reverse-engineered solutions. I finally got Mac support when you deigned to release a tokenizer, but even that doesn't appear to be OSS -- so porting it to e.g. my embedded ARM Linux system for field programming? Riiiiight.

    I hope this Propeller Compiler library will be open-source, or that you'll at least document the system well enough for us to write a library without reverse-engineering. Hiding from your customers doesn't get you anything, it just causes us to look elsewhere (at micros with good gcc backends, for example).

    (Yes, I'm sure I'll get some sort of semantically-null "amazing proprietary trade secrets would be revealed if we told you how to talk to the chip" nonsense in response. But I wanted to speak up.)
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-06-14 19:10
    All the information you need to create your own libary is located on the parallax web site.

    http://www.parallax.com/propeller/index.asp

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Just tossing my two bits worth into the bit bucket


    KK
    ·
  • Cliff L. BiffleCliff L. Biffle Posts: 206
    edited 2006-06-14 19:40
    Kaos Kidd said...
    All the information you need to create your own libary is located on the parallax web site.

    Oh? I can't seem to find the line protocol for programming, the format for the binaries, the SPIN pcode encoding, the SPIN memory layout, or even the machine instruction format.

    Honestly, I'm not all that worried about SPIN; just enough to support assembly would suffice. (Though I gather a snippet of generated SPIN code is required to bootstrap assembly.)

    If you can point me toward the docs you're referring to (rather than the main Propeller page), I'd appreciate it.
  • acantostegaacantostega Posts: 105
    edited 2006-06-19 07:28
    Hi,
    as a Linux snob I have to agree that having to use windows is a major turn down. In fact that is one of the reasons I switched to using Atmel AVRs, which work nicely with gcc and uisp, from Microchip PICs. It would be nice if the tools to use the propellers from linux were available. No fancy GUIs are needed, really -- and to me actually inconvenient. A command line app to assemble propeller code and another to load this code into the propeller itself would be all I needed.
  • Cliff L. BiffleCliff L. Biffle Posts: 206
    edited 2006-06-19 15:41
    acantostega said...
    A command line app to assemble propeller code and another to load this code into the propeller itself would be all I needed.

    Working on it. smile.gif
  • acantostegaacantostega Posts: 105
    edited 2006-06-23 04:51
    Yeah, that would be great. The windows ide works fine on win2k (I bought a Propstick and have been playing with it) but I keep putting :w and jjjj on the code. Too used to vi smile.gif
  • David CarrierDavid Carrier Posts: 294
    edited 2006-06-28 21:04
    Cliff, et al.,
    I have been using FreeBSD exclusively on my home computers since version 4. (This is quite a while, considering I was just starting high school then.) I have recently been playing around with WINE, and have had great success. The most recent version of the BASIC Stamp software works perfectly with it, along with version 3.0 of the SX-Key software. Initially I tried the Propeller software, but with no success. I recently bought a new laptop, and I decided to dedicate a small, 4GB, (that’s small?!) partition to Windows XP. This is the first time I have had Windows XP installed on a machine that I own and, having given tech support to my family for years, I figured I might as well have a copy of it available. (Besides, I couldn’t get a laptop without it anyway.)
    I made sure to use a FAT32 partition, so that I could read from, and write to, it from FreeBSD. (Microsoft’s NTFS patent prevents anyone else from legally writing to the filesystem.) I placed a symbolic link from ~/.wine/drive_c to my Windows partition, then I tried launching the Propeller tool, and it worked perfectly! (See attached image.)
    The reason that it did not work initially was a problem with, or a lack of, the DLL that supports the Parallax font. When I get some time I’ll poke around with WINE and see if I can figure out which DLLs are needed so that someone can run the Propeller tool in Unix/Linux without needing Windows installed at all.
    I do not have a serial port on my new laptop, (and my desktop is only half put together,) so I have not been able to try to program with any of the editors, but they can all compile/assemble in WINE.
    I do not have a newer Macintosh, but I have heard that WINE is being ported to the Intel powered Macs. Even without an Intel Mac, an emulator like bochs would allow any of these programs to run on any computer.

    I hope this helps,
    David Carrier
    1280 x 768 - 55K
  • acantostegaacantostega Posts: 105
    edited 2006-06-29 01:04
    That's good news, Dave! I've been meaning to try Wine but I have been away from my computer for the last couple of weeks [noparse]:([/noparse] When I get home I'll try it out and let you know how it goes.
  • Cliff L. BiffleCliff L. Biffle Posts: 206
    edited 2006-06-30 14:46
    Dave,

    v4 was about when I initially contacted Parallax and was summarily blown off. smile.gif (I was a FreeBSD kernel dev in a past life. I have to admit that I've switched to Mac since then.)

    Wine is not a solution for me, for a number of reasons.
    1. It gets you really poorly integrated apps that feel like Windows, which is really confusing to those of us who have never really used the OS.
    2. It works only on x86.
    3. It still leaves me stuck in a proprietary IDE. (Some of us actually *like* being able to work in vi or Eclipse and build with make or ant.)

    But, rock on -- glad that works for you.

    Emulators like bochs or VirtualPC require a Windows license and more money.

    (Compare: the AVR toolchain is open-source and has a C compiler. Which processor do you think my development is going faster on? The Propellers are neat, but I'm spending my time writing an assembler instead of a servo control library.)
  • acantostegaacantostega Posts: 105
    edited 2006-07-05 21:08
    Hm, no luck with WINE. The app complains about the procedure "AddFontMemResourceEx" not being in gdi32.dll. I can't try David's solution (using a win partition instead of a "fake" windows partition on the filesystem where linux is) because my partition is NTFS -- I can read it but not write on it. The WINE docs somewhere said that David's solution *might* be dangerous (although unlikely anything will happen).
    I'm no expert in WINE (I've never had to do anything with it before) so if someone that knows it better knows how to make it work it would be nice (rebooting is a drag).
    And Cliff, I recognize you from the gumstix/robostix maillist! Yeah, avr-gcc is *great*. I can code and upload my program to the robostix from vi, the one true editor. I would guess anyone used to Eclipse would also like to program from there, too.
  • ravuyaravuya Posts: 1
    edited 2006-07-07 23:17
    I really would like an IDE and compiler/assembler for OSX, but I realize that there's a business being run here first. Hopefully the serial-link software runs properly on Parallels; has anyone tried it out yet? I'd prefer not to have to dual-boot if possible, if only because I prefer the editors and associated tools on OS X.

    It really looks like a fantastic piece of hardware/software and I can't wait to get mine, particularly so I can play with SPIN. It reminds me a lot of the NUON CPU in a way.

    Post Edited (ravuya) : 7/7/2006 11:22:16 PM GMT
  • FruttenboelFruttenboel Posts: 7
    edited 2006-07-16 23:13
    If I understand right, the SPIN source code is loaded into the COG directly for interpretation. So a compiler is not required.

    I took a look at a SPIN source file. Let's put it mildly: the arallax engineers experienced some inspiration by the works of Professor Niklaus Wirth.... [noparse]:o[/noparse])
    Well done. It looks like a nice version of Oberon or Modula-2.
  • Martin HebelMartin Hebel Posts: 1,239
    edited 2006-07-17 00:05
    Fruttenboel said...

    If I understand right, the SPIN source code is loaded into the COG directly for interpretation. So a compiler is not required.

    Spin code is stored as byte code in the 32KB of shared RAM. The interpreter is loaded into the Cog to read the byte code and act on it.

    Assembler code is stored in general RAM when downloaded and transferred into the COG for direct operation when called.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Martin Hebel
    Southern Illinois University Carbondale - Electronic Systems Technologies

    Personal Links with plenty of BASIC Stamp info
    StampPlot - Graphical Data Acquisition and Control
  • parskoparsko Posts: 501
    edited 2006-07-27 20:44
    Jeff,

    I was just thinking about a dockable character chart in the next IDE? Or am I missing how to do it now?

    Thanks,

    -Parsko
  • daveedavee Posts: 35
    edited 2006-10-11 15:05
    Looks like somebody(parallax) shot themselves in the foot. Who in the world writes high level applications for windows in assembly language these days? Nobody in their right mind! Assembly languge is fine for writing drivers, but even someone who thinks in assembly language can't type a hundred times faster than someone who thinks in C, or VB, or just about anything else for that matter.

    Performance? who cares if it takes 10 microseconds or 13 microseconds to complie a an aaplication? SINP is not really any so much more complicated than that the development headaches will outweigh what little preformance would be gained. For crying out loud, a 5 MB C or VB program only takes a few seconds to ompile. You lose more time waiting for the download to happenthan the compiler takes(or would if written in C or VB).

    As a long time fan of Paralaxx, I'll love the propeller, but really, get with it boys. Develop the compiler in java and be done with it. Unless you're so paranoid that people are going to steal it and you think nobidy else thinks in assembly.

    There are a lot of reasons that almost nobody uses assembly language for hat sort of thing anymore. PS. anybody who knows debug can figure it out and since there wouldn't be a lot of overhead, that whoud make it simler.

    So tell me, just what is it about the Spin compiler that requires assembly languges, that couldn't be done in say, python, even?

    Back in the day when we ALL wrote compilers, ASM was pretty much the only language to use. That was 30 years ago. Times have changed. This is the TWENTY-FIRST century. Get with it. Or maybe you need to admit that you need better programmers.

    By the way, what are the questions and answers this thread alluded to?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Dave Evartt

    People don't hate computers, they just hate lousy programmers.

    http://wehali.com
  • parskoparsko Posts: 501
    edited 2006-10-13 14:25
    Jeff,

    I hate to be a dingus, but it has been a while since someone has bugged you for an update on the timeline for availability of the next IDE?

    I know I know, "if one more dude asks me when this thing is available I'm gonna·skull.gifskull.gif·......"

    I also understand that you don't want to commit to any date (which·most industry folk would easily understand), but a WAG would do.

    -Parsko

    PS- I have·been waiting to see if someone else would ask blush.gif
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-10-13 20:07
    Soon, very soon.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • Zack BloomZack Bloom Posts: 7
    edited 2006-10-20 16:21
    It would really simplify things if you could port the IDE to java.
  • Cliff L. BiffleCliff L. Biffle Posts: 206
    edited 2006-10-20 16:25
    Zack Bloom said...
    It would really simplify things if you could port the IDE to java.

    Or just make an Eclipse plugin. That'd really simplify things, and save them the trouble of writing their own IDEs. (I don't know why everyone doesn't do it this way nowadays.)

    Though if the IDE is written in Delphi, as has been suggested, it may very well compile on other platforms using Kylix.
  • FranklinFranklin Posts: 4,747
    edited 2006-10-27 22:39
    davee, it would be great if you could build us a propeller compiler in java and while you are at it could you develop a clone of the IDE?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
  • vandysvandys Posts: 4
    edited 2006-11-02 02:22
    Just document the CPU and protocol to feed things into the serial port. We'll take it from there. :->
  • yerpa58yerpa58 Posts: 25
    edited 2006-11-06 00:12
    davee said...
    Who in the world writes high level applications for windows in assembly language these days? Nobody in their right mind!
    <snip>
    Get with it boys. Develop the compiler in java
    <snip>

    JAVA! Nooooooooooooooo!! Too horrible to contemplate.
    I guess you can't please everybody.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2006-11-26 21:01
    Jeff,

    I'm wondering why the Propeller tool requires that a virtual serial (USB) port have the Serial Enumerator turned on to be recognized. I much prefer to disable this "feature" so Windows won't mistake the port for a mouse if it begins spewing characters on reset. The BASIC Stamp editor doesn't seem to suffer this same restriction.

    I know you're trying to play by Microsoft's rules in recognizing and using the available serial ports. But, frankly, it's just not working out very well. I'd much rather see the methods (including coercing a difficult-to-recognize port) used in the BASIC Stamp tool being deployed here as well.

    Thanks,
    Phil
  • satanbanesatanbane Posts: 1
    edited 2006-12-07 22:19
    Hello. I'd like to put in my two cents, as yet another
    interested potential user of the Propeller who's put off
    by the lack of Linux tools (and/or open-source documentation
    sufficient to write such tools myself).

    I understand that you are wed to the Windows platform
    (my condolences) in terms of the fancy graphical world
    which is there used for developing Propeller code, but I'd
    echo the comments of others here that all "we" really
    need under Linux (or other POSIX platforms) is a textmode
    assembler and download tool. Shouldn't be that hard:
    in fact, I should think you might want to maintain control
    and initiative by putting out an official suite of such tools,
    before frustrated users reverse-engineer the same for
    themselves, thus stealing your fire as it were.

    Anyway, you referred to a Propeller Compiler library, which might
    be in the works as of now, given that we are certainly well into
    the "latter half" of this year. Any news or updates on this
    project? I'll be choosing a chip by the "first half" of next year;
    I'd sure like it to be a Propeller, but it can't be if there are no tools!

    --Benjamin
Sign In or Register to comment.