PropTool: Object Files Exceed 64K
localroger
Posts: 3,451
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?
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
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
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.
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.