Shop OBEX P1 Docs P2 Docs Learn Events
Catalina - a C compiler for the Propeller — Parallax Forums

Catalina - a C compiler for the Propeller

RossHRossH Posts: 5,511
edited 2009-05-22 02:35 in Propeller 1
All,

Just in case none of your many heads ever reads the other propeller forums, I've released a beta version of my C compiler developed on the Hydra. In keeping with the Hydra spirit, it even includes a demo game - a version of Othello written in C.

Se the main Catalina thread at http://forums.parallax.com/showthread.php?p=795326

Ross.

Post Edited (RossH) : 5/18/2009 6:55:23 AM GMT

Comments

  • JT CookJT Cook Posts: 487
    edited 2009-04-01 15:25
    Since I started doing programming on another micro (for a different project I am working on) I didn't notice how much easier it is to develop for. It is also nice prototyping something on the PC, set a few #ifdef's to have it work on different platforms. When I get some time I will have to check it out.
  • RossHRossH Posts: 5,511
    edited 2009-05-18 06:52
    All,

    I've released a new beta of the Catalina C compiler, developed on the Hydra - see http://forums.parallax.com/showthread.php?p=795326.

    For those of you with the Hydra Xtreme 512K card, the latest release now supports C programs larger than 32K.

    Ross.
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-05-18 08:47
    Congratulations Ross! I look forward to implementing this and integrating it into a new Hydra based project, which is based on running as many different languages as possible. It will be interesting to program in C language again and the provided demo programs will be helpful in getting up to speed. It was a good idea to post a reference your Hydra C project Propeller thread in the Hydra Forum. [noparse]:)[/noparse]

    humanoido

    Post Edited (humanoido) : 5/18/2009 8:59:43 AM GMT
  • RossHRossH Posts: 5,511
    edited 2009-05-20 00:34
    @Humanoido

    Okay, I'm intrigued - why do you want to run as many different languages as possible?

    And do you mean you want to run them all at once (perhaps each using a separate cog?) do you just want a system capable of running them all?

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-05-20 13:45
    Ross - it's all about the learning experience. In the past, I wrote
    some programs that used 3 languages to run some very large
    pneumatic robots almost the size of a house.

    Three languages added together gave capabilities of each and
    the final program was amazing, at least in my mind. Prior to that,
    I wrote AI programs that used multiple languages for adding
    thinking functions to Japanese CNC machines. It was successful
    and I've kept the method ever since.

    Now I starting thinking about the challenge of putting as many
    languages as possible into the Hydra. I already started the
    language collection and have two successfully running. But
    your idea is better, to put a language in each cog. But I don't
    know how to do that. Do you? If you can open the door for me,
    I'm willing to step through.

    humanoido
  • RossHRossH Posts: 5,511
    edited 2009-05-21 03:21
    Hi humanoido

    It will take me some time yet, but I'm working on adding true cog-based parallel processing (not simple mutithreading) to Catalina. This would means that each cog could either execute a completely independent Catalina program - or they could all co-operate. Also, I've started looking at adding other languages to Catalina. I can already do BASIC, since there are quite a few simple BASIC interpreters written in C. I may release one shortly as a demo.

    Now that Catalina programs are no longer restricted to the Propeller's 32K RAM limit, lots of things have suddenly become possible.

    So just wait a while, and check in on the progress of Catalina from time to time!

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-05-22 01:17
    I look forward to seeing languages being run under the C implementation
    with BASIC language as the first version. Running multiple programs and
    languages in cogs will be very useful. But do all these cogs share the same
    memory? How will that be handled?

    humanoido
  • RossHRossH Posts: 5,511
    edited 2009-05-22 02:35
    Hi humanoido,

    The programs will not share memory except when two programs agree to synchronize. At the time of synchronization the programs agree on a set of variables that will be visible to both for the duration of synchronization. This is a model adopted in some multitasking languages (e.g. in Ada it is called a 'rendezvous'). It is a very neat solution that I hope will map efficiently to the Propeller architecture. But it is not built yet [noparse]:)[/noparse]

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
Sign In or Register to comment.