Shop OBEX P1 Docs P2 Docs Learn Events
PropTool: Object Files Exceed 64K — Parallax Forums

PropTool: Object Files Exceed 64K

localrogerlocalroger Posts: 3,451
edited 2013-07-27 14:33 in Propeller 1
Elsewhere I've demoed a technique for breaking up high level code into multiple objects while allowing simultaneous access to common high-level functions, by radically abusing the ability to use multiple copies of an object that exclusively uses DAT for storage, making all instances common:

http://forums.parallax.com/showthread.php/149189-UPDATED-X2-with-examples-Modular-Programming-in-Spin

Well, it turns out this gives the PropTool heartburn. It compiles the second demo I uploaded but takes nearly 10 seconds to do so, hilariously thrashing the bytes used bargraph on the F8 display. And after adding the serial controls for the instrument interface, bringing the compiled code size to about 4400 longs, it crashes out with a msgbox displaying the titular error message.

So, after years of loyalty to the PropTool, I downloaded Brad's Spin Tool to try it. It compiles the expanded version of my app successfully and only takes a fraction of a second to do so, which is how I know the compiled code size. So it looks like I'll have to learn new keyboard shortcuts. The sharing technique is far too useful to abandon; this application is twice as complex as anything I'd dare try without it, since I can use procedural techniques with background processes handled by common sub-objects instead of building state machines and putting all the business logic in a single object over the I/O.

This leaves me kind of wondering whether I should try it out with SimpleIDE. Does it use the same compiler engine as the PropTool?

Comments

  • Dave HeinDave Hein Posts: 6,347
    edited 2013-07-26 10:37
    PropGCC uses BST, so I believe that SimpleIDE would use BST also.
  • localrogerlocalroger Posts: 3,451
    edited 2013-07-26 18:20
    Dave Hein wrote: »
    PropGCC uses BST, so I believe that SimpleIDE would use BST also.

    That seems bizzarre. Word on the street is that BST is unsupported since 2011 because of people here giving Brad flack. Why would not one but two critical Parallax products be based on a closed-source solution by someone else for which there is no current support?
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2013-07-26 20:28
    IIRC, the official Spin compiler is destined to be Roy's open-source compiler, not bst.

    -Phil
  • localrogerlocalroger Posts: 3,451
    edited 2013-07-27 06:30
    Phil, do you have a link? Or should I just try it out in SimpleIDE?
  • Dave HeinDave Hein Posts: 6,347
    edited 2013-07-27 06:42
    The thread on the OpenSpin compiler is at http://forums.parallax.com/showthread.php/137452-Open-source-Spin-PASM-compiler-in-C-C/page11 . Post #208 also mentions the 64K problem in the Prop Tool, and it looks like OpenSpin may have the same problem. It appears that the next version of SimpleIDE will use OpenSpin instead of BST.
  • jazzedjazzed Posts: 11,803
    edited 2013-07-27 09:14
    localroger wrote: »
    Why would not one but two critical Parallax products be based on a closed-source solution by someone else for which there is no current support?

    We have implied and explicit license from Brad to use BSTC.

    Parallax does want to move to Roy's port of the Spin compiler entirely, but that won't happen until after the Education release.
  • localrogerlocalroger Posts: 3,451
    edited 2013-07-27 14:33
    jazzed wrote: »
    We have implied and explicit license from Brad to use BSTC

    Well I guess that means "no support" doesn't mean "no support for Parallax," just "no support for end users." Which I suppose is good enough for a proven mature product.

    The 64K problem is a deal killer for me now. I've hit that wall at 4400 longs. And this is the *ONLY* way to write a Spin program with a deep menu system and multiple user interface modules. I guess the focus is now on GCC because standards and stuff, but GCC is not a RAD environment in the way Spin and VB are, and it's not a good introductory experience for n00b programmers for the same reasons.
Sign In or Register to comment.