Catalina 3.17 is now available

I just posted this in the Propeller 2 forums:

http://forums.parallax.com/discussion/170523/catalina-3-17-is-now-available#latest

However, Catalina 3.17 supports both the Propeller 1 and the Propeller 2, so I am posting this here as well!
Catalina - a FREE ANSI C compiler for the Propeller.
Download it from http://catalina-c.sourceforge.net/

Comments

  • Well that didn't take long. Great job, now all I need is a Prop 2 to play with. :D
    Joshua Donelson
    http://jdpresents.com/
  • RossH wrote: »
    I guess I should point out that Catalina 3.17 was not intended to be a major release. I really only released this version because @Wingineer19 wanted the s4_txcheck() function and the XEPROM support, so I figured that (along with the CORDIC support and the propeller2.h support) there was enough new functionality to warrant a release.

    I intend Catalina 4.0 to be the first new major release, once I have updated all the documentation.
    Yes, and @Wingineer19 is very happy that you decided to do this interim release :smiley:

    Fortunately for me the latest 4-Port serial driver with this release also fixed the HubRam memory corruption problem we discovered last week.

    The new s4_txcheck() function has now been implemented in my ongoing application code, which is currently running XMM directly from the EEPROM.

    Efforts are now underway to streamline my application code to speedup program execution where possible. If this proves successful then it will eliminate the necessity of adding FLASH or SRAM chips to run the XMM code. I will simply look at replacing the existing 64KB EEPROM with a larger 128KB one on the FLiP.

    I don't know if anyone else but me finds the possibility of running XMM code directly from EEPROM, without the need for any additional FLASH or SRAM additions, intriguing.

    For now I'm keeping my fingers crossed and my mind focused on what I can do to improve XMM code efficiency while running from EEPROM . But, if the streamlining effort to run from EEPROM isn't successful, then just adding some external FLASH chips and running XMM from them instead, should definitely get the job done. So I consider the effort worthwhile regardless of the outcome.

    One very, very, very minor omission was noted in Code::Blocks. The ability to use the EEPROM Loader to store XMM code, then execute it from there upon bootup was missing, so I simply added it:
    CodeBlocksTools.jpg
  • RossHRossH Posts: 4,452
    edited 2019-09-17 - 03:16:25
    One very, very, very minor omission was noted in Code::Blocks. The ability to use the EEPROM Loader to store XMM code, then execute it from there upon bootup was missing, so I simply added it

    Good point. I completely forgot about adding XEPROM support to Code::Blocks. I will add it to the next release.
    Catalina - a FREE ANSI C compiler for the Propeller.
    Download it from http://catalina-c.sourceforge.net/
  • Good Evening, Ross!
    Would it be possible for you to kind of run down the downloads needed to get back into Catalina and CodeBlocks with the latest upgrades? It has been quite a while since I have used Catalina and I have really become interested in pursuing this avenue for programming my Propeller 1's in C. I tried BlocklyProp but find it a little difficult to use since I've always enjoyed using text based programming. I get a little confused trying to get CodeBlocks and Catalina to work together since there have been so many updates to both. My apologies if you have already done so recently, I just can't seem to locate it. My hope is that this will also help others get onto Catalina.
    Thank you for your time and all the work you have put into this.

    Hal
    Florida, between St. Petersburg and the Gulf of Mexico

    Do not look directly into laser with remaining good eye...
  • Hal Albach wrote: »
    Would it be possible for you to kind of run down the downloads needed to get back into Catalina and CodeBlocks with the latest upgrades?

    Hello @Hal Albach

    You can download the latest release from here: https://sourceforge.net/projects/catalina-c/files/releases/3.17/

    If you are on Windows, just run the Setup program and it should install everything for you.

    If you are on Linux, you have to download and manually unzip/untar the Linux distribution. You can do this anywhere by setting your LCCDIR environment variable appropriately, but the recommended location is to copy it to /opt/catalina (you may need root permission to do that). You may also have to run the "Set_Linux_Permission" file (you will find this in the bin subdirectory).

    Let me know if you have any problems.
    Catalina - a FREE ANSI C compiler for the Propeller.
    Download it from http://catalina-c.sourceforge.net/
  • Hi @RossH,

    I'm continuing to experiment with my various Menus using your latest release of Catalina while running in XMM mode.

    I'm using a continuous loop that calls functions to display a selected screen based upon user input. Within this loop is a loop counter that counts the number of times per second the loop is executed.

    The loop counter is showing that the loop is executing 1033 times per second when displaying the GPS Command Screen while using s4_txcheck() prior to calling s4_tx(). Without using s4_txcheck() prior to calling s4_tx(), the counter shows 962 times per second. That's a little bit more than a 7% difference.

    What this means is that program execution is halted while s4_tx() is waiting for the TX buffer to empty when not using s4_txcheck(), whereas program execution isn't halted while using s4_txcheck() prior to calling s4_tx(). Hence other functions can be called within the loop to perform other tasks, with the code calling s4_txcheck() during the next iteration to determine if the TX buffer is ready to accept additional characters, and if so then calling s4_tx() to output the data.

    Bottom line, the s4_txcheck() function works perfectly. I would highly recommend its use by anyone concerned about having their code halted while waiting for the transmit buffer to empty when sending a continuous stream of output characters.

    As noted above, the program delay doesn't sound all that critical while running at 115.2K and not using s4_txcheck() prior to calling s4_tx(). But the delay will become much more pronounced at lower baud rates. Using s4_txcheck() prior to calling s4_tx() will allow the program to continue at full speed without waiting for the TX buffer to empty, regardless of baud rate.

    Have you considered adding a tty_txcheck() and tty256_txcheck() function to a future version of Catalina to maintain function equivalency across the tty, tty256, and s4 serial libraries?

    I scanned through the various files and folders within this latest release of Catalina and couldn't find these functions...
  • Have you considered adding a tty_txcheck() and tty256_txcheck() function to a future version of Catalina to maintain function equivalency across the tty, tty256, and s4 serial libraries?

    Just had a quick look, and it seems this would not be all that difficult. I will add it to a future release.

    Ross.
    Catalina - a FREE ANSI C compiler for the Propeller.
    Download it from http://catalina-c.sourceforge.net/
Sign In or Register to comment.