Shop OBEX P1 Docs P2 Docs Learn Events
Catalina 3.10 - Black is Back! — Parallax Forums

Catalina 3.10 - Black is Back!

RossHRossH Posts: 5,462
edited 2013-08-29 20:28 in Propeller 1
NOTE: Catalina 3.11 is now available (here) - it is a full release that replaces all previous releases.

I've just posted a new release of
Catalina (3.10) to SourceForge. I've posted the usual Windows "one touch" installer (here). Linux 32 bit and 64 bit versions will be posted soon. This release re-introduces Bob Anderson's BlackCat - a fully functional graphical source-level debugger for Windows. BlackCat is not open source, but a binary release is now included in the Catalina distribution.

Catalina remains the only complete and self-contained development environment for C programs on the Propeller, with support for the Code::Blocks graphical IDE, the BlackCat source level debugger (plus of course the BlackBox command line debugger) and the Payload program loader - which can now load any program, whether to Hub RAM, EEPROM, SRAM or FLASH.

Here is a brief list of the improvements in this release. For a full list, see the README.WhatsNew file or the Catalina Reference Manual.
  • Fixed a bug in the CMM Code Optimizer that could lead to optimized programs that behaved differently to non-optimized program.
  • Added the new EEPROM load option to Payload, for loading programs into EEPROMs larger than 32Kb.
  • Added a new utility program for building the EEPROM, SRAM, FLASH and MOUSE loaders for any supported platform.
  • Fully integrated the new sound plugin and library. Also, updated the SpaceWar sound and vgraphics demo to work on the C3 as well as the Hydra.
  • Generalized the Gamepad plugin to work on any platform.
  • Added support for the Propeller Platform (and the 'El Jugador' expansion board).
  • Added an SPI plugin, which can be used to read and write EEPROMs from C, or talk to SPI devices such as SD cards.
  • Added CMM support to the BlackCat source level debugger. BlackCat can be invoked from the command line, or from within Code::Blocks.
Ross.
«1345

Comments

  • RossHRossH Posts: 5,462
    edited 2012-11-20 14:13
    < ... reserved for updates ...>
  • Bill HenningBill Henning Posts: 6,445
    edited 2012-11-20 14:18
    Nice work Ross - as always!

    I'll have to download it and play with BlackCat...
  • jazzedjazzed Posts: 11,803
    edited 2012-11-20 14:21
    RossH wrote: »
    Catalina remains the only complete ...
    I suppose it's complete for Catalina. If folks find value in Catalina, that's fine by me.
  • Mike_GTNMike_GTN Posts: 106
    edited 2012-11-20 15:57
    Hi Ross,

    As a mere hobbyist that wishes to dabble with the Propeller and C, I do know that you have put in so much work on this
    before GCC appeared. Now Jazzed is flying high with Parallax backing - hope the package can be delivered and that
    Parallax will inspire the mere mortals to pick up the language and be able to learn. I believe that when Imagecraft dropped
    out all panic set in. All projects have the same merit and users will use what suits them. I see it as such a shame that
    Parallax did not invest more in Propbasic, but possibly because the Basic Stamp range still sell so well. Parallax does
    very well what fits the business model they own and run. It is actually a good fit for everything they do.

    Mike.
  • Cluso99Cluso99 Posts: 18,069
    edited 2012-11-20 16:12
    Well done Ross!
  • RossHRossH Posts: 5,462
    edited 2012-11-20 16:22
    jazzed wrote: »
    I suppose it's complete for Catalina. If folks find value in Catalina, that's fine by me.

    Hi Jazzed,

    I'm sure the day will come when PropGCC can do everything Catalina can do ... but that day is not yet here.

    Ross.
  • RossHRossH Posts: 5,462
    edited 2012-11-20 16:30
    Mike_GTN wrote: »
    Hi Ross,

    As a mere hobbyist that wishes to dabble with the Propeller and C, I do know that you have put in so much work on this
    before GCC appeared. Now Jazzed is flying high with Parallax backing - hope the package can be delivered and that
    Parallax will inspire the mere mortals to pick up the language and be able to learn. I believe that when Imagecraft dropped
    out all panic set in. All projects have the same merit and users will use what suits them. I see it as such a shame that
    Parallax did not invest more in Propbasic, but possibly because the Basic Stamp range still sell so well. Parallax does
    very well what fits the business model they own and run. It is actually a good fit for everything they do.

    Mike.

    I don't know much about PropBasic, but I agree Imagecraft was a severe disappointment for those of us looking for C support. PropGCC holds more promise - but PropGCC seems increasingly focused on the Prop v2. Understandable perhaps, with the useful lifetime of the Prop v1 now visibly drawing to a close, but waiting for either the Prop v2 or PropGCC to be complete is not really a viable option for those of us who just want to write real-world applications for the Prop in C - and do it now!

    Ross.
  • David BetzDavid Betz Posts: 14,516
    edited 2012-11-20 17:05
    RossH wrote: »
    Hi Jazzed,

    I'm sure the day will come when PropGCC can do everything Catalina can do ... but that day is not yet here.

    Ross.
    Of course, the same can be said of Catalina. Maybe someday it will be able to handle C++. Let's just drop this silly competition and concentrate on making both of these tools as good as possible.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-11-20 17:13
    RossH wrote:
    ... with the useful lifetime of the Prop v1 now visibly drawing to a close, ...
    Really? Huh, I guess I've been left out of the misinformation loop.

    -Phil
  • David BetzDavid Betz Posts: 14,516
    edited 2012-11-20 17:21
    RossH wrote: »
    I don't know much about PropBasic, but I agree Imagecraft was a severe disappointment for those of us looking for C support. PropGCC holds more promise - but PropGCC seems increasingly focused on the Prop v2. Understandable perhaps, with the useful lifetime of the Prop v1 now visibly drawing to a close, but waiting for either the Prop v2 or PropGCC to be complete is not really a viable option for those of us who just want to write real-world applications for the Prop in C - and do it now!

    Ross.

    Not sure where you got the idea that PropGCC was entirely focused on P2. There is actually no code currently in PropGCC to support P2 that I know of. That project hasn't started yet. We're still waiting for detailed information on P2 just like you are.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-11-20 18:15
    @Ross, brainstorming here, do you think it would be possible to do textboxes and buttons from Catalina?

    I've been doing some research and these things seem to be called "widgets". eg http://en.wikipedia.org/wiki/List_of_widget_toolkits

    And take a look at the widget toolkit comparison table and excluding all the C++ ones it looks like there are 3 that work in C. Of these, GTK+ looks interesting. There is a hello world tutorial http://developer.gnome.org/gtk-tutorial/2.90/c39.html#SEC-HELLOWORLD that doesn't look too complex. Tutorial index http://developer.gnome.org/gtk-tutorial/2.90/

    There is quite a bit of code cf, say, C#, and in a way that is a good thing as it is getting close to the metal with creating and destroying windows, and the way windows interface with each other. That may make it easier to write drivers for a propeller version for (say) gray scale VGA or TV.

    The really low level stuff like drawing a font to a screen or the lines around a button are all in the obex in various forms already.

    GTK is all command line rather than a GUI which could simplify things.

    Your thoughts would be most appreciated!
  • Cluso99Cluso99 Posts: 18,069
    edited 2012-11-20 18:48
    I thought this may be of use to others - it is nothing special

    I keep older versions of catalina on my windoze laptop. I have the following directories...
    c:\catalina36 (for version 3.6)
    c:\catalina310 (for version 3.10)

    I create the following batch file in each of these folders with the appropriate LCCDIR setting...

    u.bat
    @echo off
    echo.
    echo    ===================
    echo    SETTING UP CATALINA 3.10
    echo    ===================
    echo.
    SET LCCDIR=C:\Catalina310
    if "%LCCDIR%" == "" goto default_lccdir
    PATH=%LCCDIR%\bin;%PATH%
    goto done
    :default_lccdir
    PATH=C:\Program Files\Catalina\bin;%PATH%
    :done
    call catalina_env.bat
    

    When I perform a RUN CMD I then do...
    cd c:\catalinavvv (where vvv = 36 or 310 etc)
    u (runs the local u.bat file as shown above to set the LCCDIR variable)
  • Cluso99Cluso99 Posts: 18,069
    edited 2012-11-20 18:52
    Really? Huh, I guess I've been left out of the misinformation loop.

    -Phil
    Me toooo!
    I don't see the P1 vanishing anytime soon. In fact, I can only see the P2 release increasing the sales of P1 as well because of the better visibility of Parallax.
    In fact, I am still developing a number of P1 boards - it is just that I have had to do other things that has delayed some of these.
  • Cluso99Cluso99 Posts: 18,069
    edited 2012-11-20 18:55
    Dr_Acula wrote: »
    @Ross, brainstorming here, do you think it would be possible to do textboxes and buttons from Catalina?

    I've been doing some research and these things seem to be called "widgets". eg http://en.wikipedia.org/wiki/List_of_widget_toolkits

    And take a look at the widget toolkit comparison table and excluding all the C++ ones it looks like there are 3 that work in C. Of these, GTK+ looks interesting. There is a hello world tutorial http://developer.gnome.org/gtk-tutorial/2.90/c39.html#SEC-HELLOWORLD that doesn't look too complex. Tutorial index http://developer.gnome.org/gtk-tutorial/2.90/

    There is quite a bit of code cf, say, C#, and in a way that is a good thing as it is getting close to the metal with creating and destroying windows, and the way windows interface with each other. That may make it easier to write drivers for a propeller version for (say) gray scale VGA or TV.

    The really low level stuff like drawing a font to a screen or the lines around a button are all in the obex in various forms already.

    GTK is all command line rather than a GUI which could simplify things.

    Your thoughts would be most appreciated!

    Drac:
    Wouldn't these be done via a screen driver (a plugin) with calls to the plugin to do the various functions, like create a button/box/etc? Am I missing something?
    Or have you found some fantastic way to integrate all these things into catalina?
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-11-20 19:26
    @Cluso, I think all the bits of code are already there eg buttons, text boxes, radio boxes. But they are in Spin and once you add in all the code needed and then the ram for the display buffer, there isn't enough room. So it needs to be ported to a program that can run cached from external ram like C.

    But the catch there is that programs very quickly get big and the download time gets a real pain over 200k. So to get around that, one solution would be to be able to run and debug the code on a PC without doing a download ever time.

    So that means some sort of widget driver that can work on a PC (multiple platforms) and with similar functions written for C. And you can either write that yourself, or find one that is already written. I've been looking at both but if there are simple widget drivers already out there it is going to be much simpler.

    Just some crazy thoughts, anyway.
  • RossHRossH Posts: 5,462
    edited 2012-11-20 19:45
    David Betz wrote: »
    Not sure where you got the idea that PropGCC was entirely focused on P2. There is actually no code currently in PropGCC to support P2 that I know of. That project hasn't started yet. We're still waiting for detailed information on P2 just like you are.

    I saw a post from Jazzed that things like GDB support were being deferred till the P2 version of PropGCC. Has something changed again?

    Ross.
  • RossHRossH Posts: 5,462
    edited 2012-11-20 19:47
    David Betz wrote: »
    Of course, the same can be said of Catalina. Maybe someday it will be able to handle C++. Let's just drop this silly competition and concentrate on making both of these tools as good as possible.

    Hmmm. I don't recall ever claiming that Catalina would ever support C++. But I do remember quite a few claims about PropGCC that have not yet come to fruition.

    Ross.
  • RossHRossH Posts: 5,462
    edited 2012-11-20 19:59
    Cluso99 wrote: »
    Me toooo!
    I don't see the P1 vanishing anytime soon. In fact, I can only see the P2 release increasing the sales of P1 as well because of the better visibility of Parallax.
    In fact, I am still developing a number of P1 boards - it is just that I have had to do other things that has delayed some of these.

    No, I didn't mean the P1 was vanishing, and I didn't think my comments would be at all controversial - I surely must not be the only one who has noticed the decline in interest and new forum posters here over the last year or so. I'm sure the P2 will generate a significant flurry of renewed interest in both the P1 and the P2, but the advent of things like the Raspberry Pi in the meantime mean that a lot of things the Prop used to be used for for are now going elsewhere. For hobbyists, the price of the Pi is just unbelievably low - bang for buck, it really challenges both the Arduino and the Propeller.

    Ross.
  • David BetzDavid Betz Posts: 14,516
    edited 2012-11-20 20:14
    RossH wrote: »
    I saw a post from Jazzed that things like GDB support were being deferred till the P2 version of PropGCC. Has something changed again?

    Ross.
    I guess that was true of gdb but there isn't really anything about gdb that couldn't be done on P1. It's just the way Parallax decided to do it. In fact, I think Eric has gdb working on P1 now.
  • jazzedjazzed Posts: 11,803
    edited 2012-11-20 20:36
    RossH wrote: »
    I saw a post from Jazzed that things like GDB support were being deferred till the P2 version of PropGCC. Has something changed again?

    That is true, and no nothing has changed from the original Propeller-GCC plan except that Parallax decided it was not necessary to have GDB to complete the P1 product.

    Propeller GCC is complete for P1 and has been for since the summer. It meets all of Parallax's requirements.

    We are updating SimpleIDE for some key customer deployments this month and will do a general release soon.

    We are moving on to the P2 phase soon.
  • RossHRossH Posts: 5,462
    edited 2012-11-20 20:55
    jazzed wrote: »
    That is true, and no nothing has changed from the original Propeller-GCC plan except that Parallax decided it was not necessary to have GDB to complete the P1 product.

    Nor was Eclipse necessary, presumably?

    So it seems my original claim was accurate then? Catalina is a fully self-contained C development environment, requiring no additional tools to develop Propeller software. It has full IDE support (Code::Blocks), source level debugger support (BlackBox & BlackCat), and serial and SD card loader support (Payload, Catalyst) ... and all tools support all the available memory models - LMM, XMM and CMM.

    And it is currently the only development environment that can make such claims.

    Ross.
  • RossHRossH Posts: 5,462
    edited 2012-11-20 21:08
    Dr_Acula wrote: »
    @Ross, brainstorming here, do you think it would be possible to do textboxes and buttons from Catalina?

    I've been doing some research and these things seem to be called "widgets". eg http://en.wikipedia.org/wiki/List_of_widget_toolkits

    And take a look at the widget toolkit comparison table and excluding all the C++ ones it looks like there are 3 that work in C. Of these, GTK+ looks interesting. There is a hello world tutorial http://developer.gnome.org/gtk-tutorial/2.90/c39.html#SEC-HELLOWORLD that doesn't look too complex. Tutorial index http://developer.gnome.org/gtk-tutorial/2.90/

    There is quite a bit of code cf, say, C#, and in a way that is a good thing as it is getting close to the metal with creating and destroying windows, and the way windows interface with each other. That may make it easier to write drivers for a propeller version for (say) gray scale VGA or TV.

    The really low level stuff like drawing a font to a screen or the lines around a button are all in the obex in various forms already.

    GTK is all command line rather than a GUI which could simplify things.

    Your thoughts would be most appreciated!

    Hi Dr_A,

    Could it be done? Yes! Does it makes sense to do it? No!

    Languages like C++ and C# (especially C#) were designed with this kind of thing in mind - but such applications would generally be too expensive in code size to run on the Propeller - even the simplest widget libraries can get very large. Also, the performance required would challenge even the Prop 2, let alone the Prop 1 - and this also tends to rule out XMM solutions.

    This is a classic case where the Raspberry Pi would be a better fit.

    Ross.
  • David BetzDavid Betz Posts: 14,516
    edited 2012-11-20 21:08
    RossH wrote: »
    Nor was Eclipse necessary, presumably?

    So it seems my original claim was accurate then? Catalina is a fully self-contained C development environment, requiring no additional tools to develop Propeller software. It has full IDE support (Code::Blocks), source level debugger support (BlackBox & BlackCat), and serial and SD card loader support (Payload, Catalyst) ... and all tools support all the available memory models - LMM, XMM and CMM.

    And it is currently the only development environment that can make such claims.

    Ross.

    Congratulations on achieving all of your self-defined goals.

    Propeller GCC is the only C/C++ development environment available for the Propeller. Parallax has defined and achieved that goal as well.

    This is a silly war and doesn't really help anyone.
  • RossHRossH Posts: 5,462
    edited 2012-11-20 21:17
    David Betz wrote: »
    Congratulations on achieving all of your self-defined goals.

    Thanks, David :smile:

    I just get a bit tired of some of the people in these forums who seem to think I have to meet their goals for them.

    Ross.
  • TinkersALotTinkersALot Posts: 535
    edited 2012-11-20 21:17
    not to get in the way of this discussion, but, personally, I've never liked the phrase "tool chains", because we too oft get chained to them.
  • jazzedjazzed Posts: 11,803
    edited 2012-11-20 21:35
    Ross, you can claim anything you want as you often do - sometimes with out-right lies. I'm happy to have the discussion here rather than in the sticky.

    Catalina is your idea of what a C compiler package should be. I'm glad you're satisfied with it. If people want to use it that's great. I don't use it because I prefer a solution model that is embraced by the software industry and provides methodologies that I'm much more satisfied using. Catalina may be useful, but it doesn't have several things: 1) COG code generation, 2) linker for trimming code in libraries, 3) simple solution for dealing with board parameters, 4) simple interface for external memory solutions, 5) C++ support, 6) a tool chain that most C programmers understand.

    Propeller GCC works with Eclipse in a similar way that it works with Netbeans, Code::Blocks, Geany, and other IDEs. We have not focused on making an installer for it because we have another, simpler solution.

    Propeller GCC meets all Parallax requirements. SimpleIDE and Propeller-GCC provide a full service IDE and tools solution that many have been using for months. Some users still prefer VIM, and I don't blame them one bit for it.

    GCC has a long lineage and history. We provide all the C/C++ tools that GCC provides except GDB, and it works just fine as it is regardless of your attempts to denigrate it.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2012-11-20 21:54
    Could it be done? Yes! Does it makes sense to do it? No!

    Languages like C++ and C# (especially C#) were designed with this kind of thing in mind - but such applications would generally be too expensive in code size to run on the Propeller - even the simplest widget libraries can get very large. Also, the performance required would challenge even the Prop 2, let alone the Prop 1 - and this also tends to rule out XMM solutions.

    Probably good advice there. Spent an hour trying to get GTK to compile a program. My program is now only one line
    #include <gtk/gtk.h>
    

    but it still won't compile. There are various path commands one needs to add and if I add a path telling it where gcc is then it gives an error saying it can't find gtk.h, but if I also add a path saying where gtk is, then it errors and says it can't find gcc.

    I find the whole path thing very confusing. It goes back to the days of dos, and the official fix is to get into windows and set paths globally, but I know then what happens is years down the track you forget you did that and upgrade to a new computer and all the programs don't run. And then you get on a help forum and someone says "well it runs on my computer" and it doesn't run because there is a hidden parameter there that is an essential part of the program /end rant.

    In the past I have cheated and found every file in a toolchain and copied the whole lot into one common directory. That always does work but it is a terrible solution.

    In my new language I think I need to fix this. The commands to talk about directory tree structures are going to be in the code rather than in a help file (which in the case of GTK is incorrect as the sub directory is now "gtk-2.0"). Ditto command line options and path commands. Everything needed to run the program is distilled into one standard text file.

    But I still think that widgets in C on the propeller are easier than we think they are. As I say, it all works in Spin. Just can't run very many widgets at once due to memory constraints (eg a text box needs memory to hold the text, so out goes the button...)
  • jazzedjazzed Posts: 11,803
    edited 2012-11-20 22:09
    jazzed wrote: »
    Ross, you can claim anything you want as you often do - sometimes with out-right lies.

    Ok, I take that back. The specific case I was thinking about was addressed here. It turned out to be ignorance rather than malice.
  • rod1963rod1963 Posts: 752
    edited 2012-11-20 23:12
    Dr. Acula

    With the advent of the Raspberry it's shifted focus away from using a constricted MCU like the Prop as a personal computer. You can't compete on price or performance. Nobody is going to waste their time writing libraries and reworking compilers to cross compile a GUI app to a Prop with maybe a 128k of Ram that costs 2x-3x as much as a ARM board with 1/10th the performance.

    And whose your target audience, some hobbyists? The market isn't big enough with all the other retro and homebrew users who aren't into making the Prop their centerpiece.
  • RossHRossH Posts: 5,462
    edited 2012-11-20 23:43
    jazzed wrote: »
    jazzed wrote: »
    Ross, you can claim anything you want as you often do - sometimes with out-right lies.
    Ok, I take that back. The specific case I was thinking about was addressed here. It turned out to be ignorance rather than malice.

    Jazzed,

    I make huge allowances for your obvious and long-standing bitterness and frustration, but sometimes you simply go too far.

    If you want to dispute anything I have claimed, feel free to do so - but I would appreciate it if you would remove your libellous postings.

    Ross.
Sign In or Register to comment.