ULTIMATE List of Propeller Languages

1356713

Comments

  • Mike GreenMike Green Posts: 21,987
    edited August 2009 Vote Up0Vote Down
    humanoido,
    You don't really have a list of languages. You have a list of implementations of languages. For example, there is only one FemtoBasic language and several implementations, one for each of several hardware configurations. The underlying interpreter is the same. Similarly, there is only one Meta2 language and two implementations, one stand-alone, and the other using Sphinx's I/O. The underlying compiler is the same.
  • HumanoidoHumanoido Posts: 5,770
    edited August 2009 Vote Up0Vote Down
    Dr_Acula: You're right about it being all over the place!
    If these links surface, feel free to post in this thread, thank you.
    I viewed the one link given, and don't even know which version to download!
    This could be a big project getting it to work. Nice printout - I see you have
    yours working excellent! Great job on the software and wiring!
    I'll keep at it!
  • LeonLeon Posts: 7,483
    edited August 2009 Vote Up0Vote Down
    Here's a nice Meta II tutorial:

    www.bayfronttechnologies.com/mc_tutorial.html

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
    Leon Heller<br>G1HSM
  • HumanoidoHumanoido Posts: 5,770
    edited August 2009 Vote Up0Vote Down
    Mike Green said...
    You don't really have a list of languages. You have a list of implementations of languages.
    For example, there is only one FemtoBasic language and several implementations, one for
    each of several hardware configurations. The underlying interpreter is the same. Similarly,
    there is only one Meta2 language and two implementations, one stand-alone, and the other
    using Sphinx's I/O. The underlying compiler is the same.
    Technically, could you call these various implementations with the same underlying interpreter,
    different versions? ...So mainly this could be a list of various language versions?...
  • Dr_AculaDr_Acula Posts: 5,447
    edited August 2009 Vote Up0Vote Down
    Yes, sorry about the lack of links. Either myself or others can fill them in. I always seem to lose Cluso's website and have to find it again from the thread. Just worked a 16 hour day and it is 1am here. Down the track I'll write this up as an Instructable in a step by step guide that anyone can follow. But for the moment, I just can't wait to jump to the next bit, which is speeding up the sd card access. Do you need the links? I'd hate to see a language left out on a technicality *grin*
    Answers: 1) A quadcopter. 2) Very high. 3) The internet. 4) A lot. 5) No.
  • Mike GreenMike Green Posts: 21,987
    edited August 2009 Vote Up0Vote Down
    Leon,
    Thanks a lot for that Meta2 tutorial link. I've never seen it. The tutorial is very well done.
  • Dr_AculaDr_Acula Posts: 5,447
    edited August 2009 Vote Up0Vote Down
    After some late night coding, and with great excitement, can you pls add BDS C to your list?

    This language is a bit unique in that the author (Leor Zolman) has given it away for free, and also actively posts on his discussion forum and is available for support.

    forum thread here with photos of it running on a zicog bdsoft.proboards.com/index.cgi?board=talk2&action=display&thread=69

    The entire documentation here www.bdsoft.com/dist/bdsc-guide-full.pdf

    Picture attached of it running in an IDE. This is similar to the Spin environment, where you write in a text box and then hit a button to compile and run. 9 seconds to compile and run that program on a real propeller.
    1020 x 742 - 50K
    Answers: 1) A quadcopter. 2) Very high. 3) The internet. 4) A lot. 5) No.
  • heaterheater Posts: 3,370
    edited August 2009 Vote Up0Vote Down
    Dr_A: That's fantastic, I love your IDE, shame I can't use it in Linux. Or perhaps it runs under Wine...

    Only one problem, Humanoido has some rules for this game: "...collecting as many working languages as
    possible for the Propeller Demo Board and/or HYDRA Board. The only criteria is they must be in working condition and runnable."

    I guess that means he will only count something if he can down load a ready to run package that works on a platform he actually has. Fair enough.

    So either we have more work to do getting ZiCog to run a Hydra, unlikely for me, or Humanoido please, please get a TriBlade[noparse]:)[/noparse]

    Still BDS C compiled code will run under ZiCog on a Demo Board so it could be included if we could provide a package that just "works". That implies shipping a ready to go SIMH AltairZ80 simulator to run the compiler on with ZiCog. Not impossible.

    Humaoido: I now have the goal of getting my 6809 emulator finished so it can run a PDP 8 emulator (written in 6809 assembler) which will then run FOCAL on the Prop.

    www.cs.uiowa.edu/~jones/pdp8/focal/

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 10,826
    edited August 2009 Vote Up0Vote Down
    As soon as I do RamBlade it will be a cheap plugin for the ProtoBoard smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80), MoCog (6809)
    · Search the Propeller forums (via Google)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
    My Prop boards: CpuBlade, TriBlade, RamBlade, www.clusos.com
    Prop Tools (Index)
    Emulators (Index) ZiCog (Z80)
    Prop OS (also see Sphinx, PropDos, PropCmd)
  • Dr_AculaDr_Acula Posts: 5,447
    edited August 2009 Vote Up0Vote Down
    Ah, is that what the ramblade is? Please tell us more.
    Answers: 1) A quadcopter. 2) Very high. 3) The internet. 4) A lot. 5) No.
  • heaterheater Posts: 3,370
    edited August 2009 Vote Up0Vote Down
    Humanoido: If you were to download MoCog v0.6 from here:http://forums.parallax.com/showthread.php?p=811043 you would be able to run some Motorola 6809 Assembly language on your Prop Demo Board and add an other notch to your belt. The 6809 asm source, listing and binary files are included in the package.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • HumanoidoHumanoido Posts: 5,770
    edited August 2009 Vote Up0Vote Down
    Can you add more working language downloads?

    Thank you very much for adding new working downloadable languages to the list.
    There is no problem in adding languages to run on multiple prop platforms.
    If the install is complicated, show instructions. All software to run the program
    is required by download.

    Languages can run on:
    Parallax Propeller demo board
    Parallax Hydra
    Parallax Propeller Proto Board
    Parallax Prop RPM Board
    Parallax Propeller Professional Development Board
    Parallax Prop Chip Minimum Circuit
    Multiple Prop boards (with build schematics & details)
    (suggest others)

    Third party multiple propeller boards included
    only if schematics are included or linked and
    enough build information is provided.

    33 Propeller Language Implementations

    PARALLAX ASSEMBLER
    PARALLAX SPIN
    PROPASM
    FEMTOBASIC
    FEMTOBASIC COLOR
    FEMTOBASIC PROPTERMINAL
    FEMTOBASIC PROTOBOARD
    BOEBOT BASIC
    DONGLE BASIC
    UOLED PROP BASIC
    MITS ALTAIR 4K BASIC
    TINY BASIC
    ALTAIR MINOL TINY BASIC
    PBASIC
    C IMAGECRAFT ICCV7 45 DAYS
    C CATALINA
    C BDS COMPILER
    TINY
    TINY V1.2 CRENSHAW
    LOGO
    LISP
    LISP BY ROSS
    PASCAL
    JAVA
    SPHINX SPIN COMPILER
    FORTH BIFFLE
    FORTH
    SPIN FORTH SALSANCI
    THUMB
    META2
    META2 SPHINX
    12BLOCKS (FORMERLY SPINNER)
    MOCOG V0.60

    Now adding demo languages. If they are free downloads with
    some life span, they will be listed along with the operable time
    duration.

    Also possible for qualification are beta languages.

    Tiny languages are desirable. They can be some subset of a larger
    language or a complete standalone.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    humanoido
    *Stamp SEED Supercomputer *Basic Stamp Supercomputer *TriCore Stamp Supercomputer
    *Minuscule Stamp Supercomputer *Three Dimensional Computer *Penguin with 12 Brains
    *Penguin Tech *StampOne News! *Penguin Robot Society

    Post Edited (humanoido) : 8/28/2009 5:48:44 AM GMT
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 19,552
    edited August 2009 Vote Up0Vote Down
    humanoido,

    It would be helpful, if you're going to collect them in one location like that, to convert your list to a set of links where people can actually download the working compilers/interpreters.

    Thanks,
    -Phil
    “Impossible is just a big word thrown around by small men who find it easier to live in the world they'’ve been given than to explore the power they have to change it. Impossible is not a fact. It’'s an opinion. Impossible is not a declaration. It'’s a dare. Impossible is potential. Impossible is temporary. Impossible is nothing.” –Muhammad Ali
  • HumanoidoHumanoido Posts: 5,770
    edited August 2009 Vote Up0Vote Down
    Thanks for the suggestion Phil. I plan to collect all 50 languages
    and then make them available for a special propeller platform
    posted in the Project Forum for everyone. But first, I want to
    collect all the bits and pieces to the languages over some time
    as new supporting things tend to show up gradually. There is
    also an opportunity to post the complete project at the Penguin
    Robot web site. I want to open up a special Propeller page,
    along with Penguin robot, Basic Stamps, Stamp supercomputers,
    and other Parallax projects. For now, this thread can provide the links
    because this is my primary source of information about languages.

    humanoido
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,079
    edited August 2009 Vote Up0Vote Down
    Don't forget to add "12 Blocks" when it gets released... [noparse]:)[/noparse]

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
    <br>
  • hover1hover1 Posts: 1,927
    edited August 2009 Vote Up0Vote Down
    @OBC - Jeff, he has it in the list as Spinner.

    @humanoido - ·Hanno has changed the name of "Spinner" to "12Blocks"

    Thanks for being the keeper of the list!

    Jim
    Oldbitcollector said...
    Don't forget to add "12 Blocks" when it gets released... [noparse]:)[/noparse]

    OBC

    I have three propellers
  • w8anw8an Posts: 171
    edited August 2009 Vote Up0Vote Down
    There was a great CPM Lisp called Waltz Lisp. I wrote many programs with it in the '80s for an alarm company I worked for at the time. I still have the manual, but if I have any binaries they're on 8" floppies.

    Another interesting language to port would be Whitespace compsoc.dur.ac.uk/whitespace Although Whitespace is considered an imperative stack-based language, it would be fun to simulate.

    ..Steve
  • HumanoidoHumanoido Posts: 5,770
    edited August 2009 Vote Up0Vote Down
    OBC and hover1:
    Thanks - the name change is now made to the most recent list posted on page 3.

    w8an:
    Hope we can get some takers to port and simulate these and other languages.

    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited August 2009 Vote Up0Vote Down
    The recent list is updated. Now accepting demo programs
    and beta tests.

    There are now 33 Propeller language implementations.
    How can we get this up to 50?

    humanoido

    Post Edited (humanoido) : 8/28/2009 5:50:43 AM GMT
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 19,552
    edited August 2009 Vote Up0Vote Down
    humanoido,

    You might consider adding an asterisk to those languages in the list that require emulating a different processor to compile, interpret, and/or execute.

    -Phil
    “Impossible is just a big word thrown around by small men who find it easier to live in the world they'’ve been given than to explore the power they have to change it. Impossible is not a fact. It’'s an opinion. Impossible is not a declaration. It'’s a dare. Impossible is potential. Impossible is temporary. Impossible is nothing.” –Muhammad Ali
  • heaterheater Posts: 3,370
    edited August 2009 Vote Up0Vote Down
    Phil: Let's put the asterisks on the languages that DON'T require emulating a different processor to run.

    As far as I know there are only two: PASM and now Bean's PropBasic.

    That's right, I consider Spin byte code and LMM as different "virtual machines" than the Prop itself.

    So BDS C under Z80 emulation is as "authentic" Propeller code as Spin in my mind.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 10,826
    edited August 2009 Vote Up0Vote Down
    Heater: Respectfully, I disagree.

    That would be to say that many IBM Mainframes, and other mainframes, do not support any languages other than microcode, because in fact, even the assembler is emulated in microcode.

    Basic was an interpreted language on the PC until about VB5 and now I understand VB.net is in fact an interpreted 'p-code' type again. However, this would always fit into humanoido's list.

    I agree with Phil, that an asterist to identify emulating a different processor to run is quite reasonable. It is still a language under the definition.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
    My Prop boards: CpuBlade, TriBlade, RamBlade, www.clusos.com
    Prop Tools (Index)
    Emulators (Index) ZiCog (Z80)
    Prop OS (also see Sphinx, PropDos, PropCmd)
  • heaterheater Posts: 3,370
    edited August 2009 Vote Up0Vote Down
    Clusso: Good point. But I'm not totally convinced.

    What you're saying is that the Spin interpreter in the Propeller ROM is analogous to the micro-code in the ROMs (or RAM) of mainframes and other non-hardwired logic processors. In one case the microcode implements the mainframe assembly language in the other it implements the Prop assembly language which is Spin byte code.

    BUT on main frames I believe it was possible to download different microcode to change the instruction set. At least that was doable on bit-slice technology processors in the 70s-80s.

    So it is with the Propeller, just fill up a COG with ZiCog or MoCog or whatever and you have a different instruction set.
    Apart from the fact that the Spin interpreter comes burned into an out of the box Propeller they are all logically on the same level. In fact all PASM programs are then just different microcodes executing some instruction set from HUB RAM.

    As for compilers versus interpreters, that has long since been a gray area. C was compiled BASIC was interpreted. But then BASIC got byte codes and eventually compiled. Java had byte codes which now get compiled to native at run time. etc etc.

    So I still maintain that Z80 opcodes are just as native to the Prop as Spin byte codes in a logical taxonomy, just that spin byte codes are supplied as default.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • heaterheater Posts: 3,370
    edited August 2009 Vote Up0Vote Down
    humanoido: What are your criteria for accepting new languages? Have you actually, for example, done the compilations of each of all the languages that need compilation to convince your self that they work?

    I think we can easily get to 50 if I start supplying demos and instructions for compilation of all the Z80 compiled languages.
    Then we can add the GCC C compiler at some point as it can compile code for the 6809 which we have an emulator for.
    One can count GCCs C as a different language as it has features not present in other C's. Perhaps then even FORTRAN.

    Might take a little while....

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Cluso99Cluso99 Posts: 10,826
    edited August 2009 Vote Up0Vote Down
    Heater:
    The mainframe microcode was changed to do bugfixes. When the customer upgraded his machine to a faster processor, it was often just an engineer coming out to remove a few nops from the microcode smile.gif Or removing a pcb to double the disk drive capacity, or cut a capacitor to speed up a printer smile.gif

    As for the languages, I think if a processor is being emulated, it should be flagged. That does not mean it is not a valid language, as it truly is, period. Spin is just another language, but it does not require a processor emulation.

    If we ever emulate a PC with 16MB ram (even caching to SD) then I can add a mini-computer emulation with ICL System 25 Assembler.

    BTW I believe Fortran is available on Z80/CPM.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
    My Prop boards: CpuBlade, TriBlade, RamBlade, www.clusos.com
    Prop Tools (Index)
    Emulators (Index) ZiCog (Z80)
    Prop OS (also see Sphinx, PropDos, PropCmd)
  • LeonLeon Posts: 7,483
    edited August 2009 Vote Up0Vote Down
    The Burroughs mainframes used to use different microcode for different languages, to optimise performance. The ICL PERQ mini had user-programmable microcode.

    I once used Microsoft Fortran on a Z80 CP/M system.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
    Leon Heller<br>G1HSM
  • Cluso99Cluso99 Posts: 10,826
    edited August 2009 Vote Up0Vote Down
    Leon, haven't heard the PERQ in a long time smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBladeProp, RamBlade, TwinBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
    My Prop boards: CpuBlade, TriBlade, RamBlade, www.clusos.com
    Prop Tools (Index)
    Emulators (Index) ZiCog (Z80)
    Prop OS (also see Sphinx, PropDos, PropCmd)
  • heaterheater Posts: 3,370
    edited August 2009 Vote Up0Vote Down
    I'm sure there have been processors that could have a total personality transplant by downloading new micro-code. Can't conjure up an example just now. In 1979 I worked on 16 bit CPU's designed in house by Marconi Radar that used bit slice technolgy www.donnamaie.com/AMD_Vintage/AMD_2900_ED2900A.html. The Marconi guys had designed it and written the microcode to be compatible with TTL implementations of the Marconi Locus 16. They could "easily" have written some different instruction set.

    At the end of the day we are quibbling about taxonomy. Logic is still logic if you do it in hardware or software. Languages are languages if they are compiled or interpreted, native or otherwise.

    I'm not much bothered where the asterisks go.

    If I ever get MoCog of the ground there is a PDP-8 emulator written for the 6809 then we can run Focal. Very slowly.....
    An interpreted language running on an emulated PDP-8 on top of an emulated 6809.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • LeonLeon Posts: 7,483
    edited August 2009 Vote Up0Vote Down
    I remember seeing the PERQ when it first came out, at a computer show. I lusted after one! It only had a mono display but I knew someone at a university who was trying to get a project off the ground using three of them for colour - one each for R, G and B!

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
    Leon Heller<br>G1HSM
  • HumanoidoHumanoido Posts: 5,770
    edited August 2009 Vote Up0Vote Down
    heater said...
    humanoido: What are your criteria for accepting new languages?
    Acceptance Criteria for a New Language
    1) Various language implementations qualify
    2) Languages may run in RAM or EEPROM
    3) If the install is complicated, provide instructions
    4) All software to run the program is required by download links
    ....or posting attachments at the Parallax Forum (preferred)
    5) Language may run on 3rd party prop boards if schematics
    and build info is provided
    6) Languages may run on single or multiple prop platforms
    ....Parallax Propeller demo board
    ....Parallax Hydra
    ....Parallax Propeller Proto Board
    ....Parallax Prop RPM Board
    ....Parallax Propeller Professional Development Board
    ....Parallax P8X32A-Q44 SchmartBoard
    ....Parallax Prop Chip Minimum Circuit
    7) Accurately describe which board it runs on and any requirements
    8) Demo languages with or without expiration dates will qualify
    9) Beta languages qualify
    10) Tiny languages qualify - can be a subset of a full language
    11) Assembler variants will qualify (z80, 6502, etc.)
    12) Receive credit by inventing a new Prop language
    heater said...
    Have you actually, for example, done the compilations
    of each of all the languages that need compilation to convince your self
    that they work?
    When time becomes available, languages are loaded and tested, and
    languages will be made available so everyone may do testing and provide
    comments, guarantee the work, create small sample programs, examples, etc.
    This is an open source project. Yes, someone must guarantee the language will
    work on the Propeller chip. Although I am a keeper of all languages, I envision
    a keeper of each individual language who may be able to reply to questions
    about the install and getting things up and running on the Prop.

    What is provided for each language? The goal is:

    1) A folder is created for the language
    2) The forum language post link is saved
    3) The language information thread is saved
    4) The language download link is saved
    5) The language is downloaded and saved
    6) Supporting instructions, sample programs, tutorials, tools, etc. are saved
    heater said...
    I think we can easily get to 50 if I start supplying demos and instructions for compilation of all the Z80 compiled languages.
    This would be very exciting!
    heater said...
    Then we can add the GCC C compiler at some point as it can compile code for the 6809 which we have an emulator for. One can count GCCs C as a different language as it has features not present in other C's. Perhaps then even FORTRAN.
    FORTRAN would be extremely exciting! GCCs C would be a tremendous addition too!

    humanoido

    Post Edited (humanoido) : 9/1/2009 11:33:04 AM GMT
Sign In or Register to comment.