Shop OBEX P1 Docs P2 Docs Learn Events
Changes in PropTool 2.9.2 — Parallax Forums

Changes in PropTool 2.9.2

@"Jeff Martin" Is there a full list of changes between 2.6.2 (The last stable release) and 2.9.2? I know there is a list of high level feature additions, but is there a log of the low level changes to interpreter/peanut?

Thanks in advance.
--Terry

Comments

  • At some point I started including the compiler changes I knew about, or saw Chip document, within the Propeller Tool release notes... indented underneath the mention of the compiler/PNut version, or just among other listed items. Look in the Enhancements and Fixes sections of the various version release notes here (if this isn't what you've already looked at)... https://github.com/parallaxinc/Propeller-Tool/releases

    Also, on the P2_PNut_Public repo releases page, I've started generating releases there, with notes, but that's a relatively new effort. There's also brief notes at the top of Chip's "latest PNut" thread (don't have them link handy).

  • Thank you sir! I will dig into it.

  • PS @"Jeff Martin" thank you for fixing the debug window!

  • AribaAriba Posts: 2,682

    One thing that has changed is the repeat from to loop behavior.
    This is a very dangerous change, that gives no errors, just brakes old working code:
    https://forums.parallax.com/discussion/comment/1532499/#Comment_1532499

    I don't know in which version this was added to PropTool, and if at all.

    Andy

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2023-01-13 15:55

    Ariba, I checked the link you pointed to. IMO, it's bad practice to assume anything about the value of a loop index outside the scope of a repeat from to loop. To remove all ambiguity, either use a separate flag variable to indicate loop completion or recast the loop as a repeat while or repeat until. That way, nothing is hidden, and no post-loop behavior has to be assumed.

    Adding to that, the documentation should state that the value of the loop index outside the loop is "unspecified."

    -Phil

  • @Ariba said:
    I don't know in which version this was added to PropTool, and if at all.

    That change was made to the P2 compiler (and PNut) in PNut v35n, May '21 and appears to have been included in Propeller Tool since v2.6.0, Dec '21.

  • @ke4pjw said:
    Thank you sir! I will dig into it.

    Today I listed all the documented updates to PNut (from the Spin2 doc) in the release notes in the repository. https://github.com/parallaxinc/P2_PNut_Public/releases/tag/PNut_v37

    Future releases will describe themselves as they go.

  • @"Jeff Martin" I think I found a bug in 2.9.2 using POLXY, but I can't find any changes since 2.7.0 that seems to explain it.

  • Small bug report: decrement does not highlight.

    Example:

  • Jeff MartinJeff Martin Posts: 751
    edited 2023-01-16 23:05

    @jrullan said:
    @"Jeff Martin" I think I found a bug in 2.9.2 using POLXY, but I can't find any changes since 2.7.0 that seems to explain it.

    Yes, it sure looks like it. Thanks for reporting. I don't remember seeing anything about that as an intentional change. We'll figure out what happened. See Issue 5.

  • @ke4pjw said:
    Small bug report: decrement does not highlight.

    Example:

    Thank you! It looks like += isn't fully highlighting either. I'll log this for fixing.

  • @"Jeff Martin" said:

    @jrullan said:
    @"Jeff Martin" I think I found a bug in 2.9.2 using POLXY, but I can't find any changes since 2.7.0 that seems to explain it.

    Yes, it sure looks like it. Thanks for reporting. I don't remember seeing anything about that as an intentional change. We'll figure out what happened. See Issue 5.

    Thanks Jeff for looking into it.

  • JonnyMacJonnyMac Posts: 8,926
    edited 2023-01-18 17:04

    I found another syntax highlight "gotcha" in 2.9.2 that affects PRI blocks: the dot separators are use the PUB block background color.

  • DiverBobDiverBob Posts: 1,097
    edited 2023-01-19 20:53

    I just updated from Prop Tool 2.6 to 2.9.2. A spin2 file that I was working on using the older Prop Tool comes up with a Communications Error dialog box, Debug Communication lost when using F10 to compile. Just before this happens I get a momentary windows box pops up on the upper left side of the screen and disappears before anything actually loads in it, then the Debug output listing shows up. The bottom line on the Prop Tool says "Compile Successful. Download Failed". Load Flash (F11) does the same thing.
    Suggestions on how to proceed?

    Edit: did a full restart of the Windows 10 computer, no change. If I turn off P2 debugging then the program compiles and runs as expected.

    Edit2: I put "Debug_Main" as a CON and the Debug window popped up without an error. I thought we only had to put the word 'debug' without () to enable the window?

    Edit3: I am getting what I believe is normal debug operation but how do I use just the Debug Output window? Commenting out 'Debug_main' in the code gives me the same Communications error noted earlier. At this point I just need the Debug output and not the full debug window

    Edit 4: Rolled back to PropTool version 2.6.3 so I can just run the Debug Output window by itself. I'll keep this installed until I find out how to properly use debug single stepping window - don't need to single step through everything at this point, the Debug Output window is adequate for me right now.

  • Jeff MartinJeff Martin Posts: 751
    edited 2023-01-19 21:15

    @DiverBob - The intent is that you can use just DEBUG, with no parentheses, to display the PASM-Level debugger and cause a break condition at that point in the code execution; however, specifying the constants DEBUG_MAIN or DEBUG_COGINIT will display the same and will halt the code earlier. That's the intent, but it sounds like DEBUG by itself, or DEBUG with other DEBUG() statements is not working for you.

    Since it reports that there's a debug communications error, please try one or both of the following and let us know if that solves the problem you first experienced.

    • Delay the start of DEBUG() communication (after download) by defining DEBUG_DELAY = 500 in a CON block (for a 500 ms delay, for example, after download)
    • Slow down the rate of debug communication by defining DEBUG_BAUD = 1_000_000 in a CON block (for 1 MB, for example, instead of the default 2 MB)

    You can also try other values (longer delay and/or different baud rate) if those don't solve it.

Sign In or Register to comment.