Skip to content

Releases: parallaxinc/Propeller-Tool

v2.9.3

15 Feb 19:42
3f22d3f
Compare
Choose a tag to compare

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

Enhancements

  • Updated compiler to match that of PNut v38
  • Updated debugger to use gamma-corrected alpha blending for anti-aliasing

Fixes

  • Bug fixed in Spin2 interpreter which caused ROTXY/POLXY/XYPOL to work incorrectly
  • REPEAT-var returned to original behavior where var = (final value +/- step) after REPEAT
  • Applications built with subobject parameterization (introduced in v2.9.0) are now compiled properly even with multiple references and configurations of the same subobject

v2.9.2

10 Jan 15:39
0ee9fff
Compare
Choose a tag to compare

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

IMPORTANT: This is a bug fix to v2.9.0/1; use v2.9.2 instead of previous version

Enhancements

Fixes

v2.9.1

05 Jan 23:53
5cd4f9a
Compare
Choose a tag to compare

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

IMPORTANT: This is a critical bug fix to v2.9.0; use v2.9.1 instead of v2.9.0

Enhancements

Fixes

v2.9.0

04 Jan 19:11
c034ac1
Compare
Choose a tag to compare

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

IMPORTANT: If you have v2.4+ installed, see the "upgrading" instructions below.

  • Follow the Debugging Tips below if this is your first time using v2.5 or later.*

Enhancements

  • Integrated compiler and debugger updates from PNut v37 (which includes the following)
    • Parameterization added to child-object instantiations.
      • Up to 16 parameters are passable to each child object.
      • Parameters override CON symbols by the same name within the child object.
      • Useful for hard-coding child objects with buffer sizes, pin numbers, etc.
      • ObjName : "ObjFile" | ParameterA = 1, ParameterB = 2, …
    • Spin2 local variables now get zeroed upon method entry.
    • New ^@variable returns a field pointer for any hub byte/word/long OR registers, including any bit field.
    • New FIELD[ptr] variable alias uses ^@variable pointers, making all variables passable as parameters.
    • New '...' symbol can be used to ignore the rest of the line and continue parsing into the next line.
    • New Spin2 GETCRC(dataptr,crcpoly,bytecount) method computes a CRC of bytes using any polynomial.
    • New Spin2 STRCOPY(destination,source,maxsize) method copies z-strings, including the zero.
    • DEBUG display BITMAP now has SPARSE color to plot large round pixels against a background color.
    • GRAY, in addition to GREY, is now recognized as a color in DEBUG displays.
    • Debugger's Go/Stop/Break button now temporarily inverses when clicked.
  • Added syntax highlighting rules for:
    • New STRCOPY and GETCRC Spin2 commands
    • Line continuation symbol: ...
    • Field address operator: ^@
    • Field address accessor: FIELD()
    • GRAY and SPARSE debug keywords
    • Clock and Debug mode constants
      • CLKMODE_, CLKFREQ_, _ERRFREQ, _CLKFREQ, _XTLFREQ, _XINFREQ, _RCFAST, and _RCSLOW
      • DOWNLOAD_BAUD, DEBUG_PIN, DEBUG_PIN_TX, DEBUG_PIN_RX, DEBUG_BAUD, DEBUG_LEFT, DEBUG_TOP, DEBUG_WIDTH, DEBUG_HEIGHT, DEBUG_DISPLAY_LEFT, DEBUG_DISPLAY_TOP, DEBUG_LOG_SIZE, DEBUG_WINDOWS_OFF, DEBUG_COGS, DEBUG_COGINIT, DEBUG_MAIN, DEBUG_DELAY, and DEBUG_TIMESTAMP
  • Enhanced to autoset P1 or P2 syntax/compiling mode when starting a new object from P1 or P2 template; File>New (From Px Template) or Ctrl+Alt+1 or 2
  • Enhanced Info View window to...
    • Add Initialization and Clock Setter components
    • Gray-out components that are 0 longs/bytes in size; drawing focus to included components
    • Show proper P2 clock frequency and mode
    • Show proper P2 Debugger and Stack/Free size components
    • Show P2 Spin Interpreter and user code properly in hex view
    • Show P2 Debugger reserved location in mem map and hex view
    • Scroll by 32x in hex view with Shift + PgUp/PgDown/CrsrUp/CrsrDown/MouseWheelUp/Down
    • Make component legends (text and color box) clickable to instantly jump the hex view to that region of application image
    • Display redundant object removal in bytes (P2) or longs (P1)
    • Remove Info View's Show/Hide Hex button; now hex view is always visible
  • Included updates to many P2 library/demo objects

Fixes

  • Fixed a v37 compiler error that had prevented CON symbols from child objects from being accessible in parent CON blocks
  • Fixed first-time-run documentation view bug causing filename (in source) to reference previous instead of current source
  • Fixed archive bug that converts LF line endings to CR when source file not open in editor.

Upgrading From v2.4+

The current installer will not update your existing Documents\Propeller Tool folder (where Propeller Libraries, examples, and perhaps your projects-in-progress). To get the additional libraries included with this release, perform the following steps:

  1. Install the new release
  2. Close Propeller Tool (if running after install)
  3. Use Windows Explorer to navigate to your Documents folder
  4. Rename the Propeller Tool folder (or any subfolder within it that you want to be replaced/updated) to preserve the original
  5. Run the newly-installed Propeller Tool; it will rebuild your Documents\Propeller Tool* folder(s) and include new libraries
  6. You may wish to copy your projects from your renamed/archive folder back into the new Propeller Tool folder
    A future version will make this more automatic.

Debugging Tips

Latest version of Propeller Tool supports P2 debugging. Here are some tips for use.

  • In Propeller Tool, Debug (for P2) is a mode that is toggled on or off (at user's will) and affects all further P2-compiled code accordingly
  • Use the Run > Enable DEBUG menu item (or press the shortcut key CTRL+D) to toggle Debug Mode on/off, then compile and download
    • Look at the yellow message on the status bar to realize the new debug mode
  • Upon download of debug-enabled code, debug displays will automatically appear and receive information from the running P2 code
  • Close the main Debug window (or press the ESC key with the main Debug window focused or the Editor focused) to close all debug displays and automatically close the serial port
  • While debugging, you can adjust your code and download again (without closing debug displays)
  • See [Spin2 Language Documentation]'s "DEBUG" section for more information
  • Try out and study the examples in Documents\Propeller Tool\Examples (see "Upgrading" instructions, if necessary)

Known Issues

  • [WARNING] Object Info only partially supports P2 (currently). Application components, hex view, and save binary/flash supported. Does not yet support Open P2 binary/flash (treats it as a P1 image) nor downloads of opened P2 image to Propeller 2.

Future Plans

  • Add deeper auto-detection of source type (Spin1/Spin2)
  • Finalize Object Info (View Info function) window to fully support P2 objects
  • Add graphic button toolbar
  • Address various customer requests
  • Add fast-loading protocol for P1 (currently in use by SimpleIDE, PropGCC, and BlocklyProp)
  • Address internal questions and code cleanup tasks

v2.8.0 Beta

01 Oct 18:00
08a99bf
Compare
Choose a tag to compare
v2.8.0 Beta Pre-release
Pre-release

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

IMPORTANT: This is a beta release without installer or supporting files. See notes below for use.

Enhancements

  • Updated compiler and debugger core to match PNut v36
    • This includes low-level single-step debugging of multiple cogs
  • Some examples included to demonstrate low-level debugger

Installation

This is a temporary release, without installer. A later release will include a full installer.

  • For the best experience, make sure v2.7.0 Beta or prior recent release is installed
  • Extract the archive into a folder of your choice
  • Move the Propeller_v2.8.0(Beta).exe_ file into the installation folder
  • Make a manual shortcut to that executable in a convenient place, such as your desktop
  • Move the example *.spin2 files into your workspace
  • Run Propeller Tool v2.8.0 (Beta) from the shortcut you created earlier

Keep in mind that the example files mention PNut-specific shortcuts (for example Ctrl+F10 is really just F10 with Debugging enabled in the Propeller Tool).

SHA Hash on Propeller Tool Exe: 6f0145a96c73305152d377674243ff7b75238b689b3133ac87b6c542bbd46b16

v2.7.0 Beta

22 Mar 00:14
f454da0
Compare
Choose a tag to compare
v2.7.0 Beta Pre-release
Pre-release

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

IMPORTANT: If you have v2.4+ installed, see the "upgrading" instructions below.

See Debugging Tips below if this is your first time using v2.5 or later.

Enhancements

  • Updated compiler and debugger core to match PNut v35s
    • This includes adding support for bi-directional debugging; PC_KEY() and PC_MOUSE()
  • Changed shortcut key for closing current debug window from Esc to Shift+Esc, since Esc is captured by new debug PC_KEY() feature
  • Some examples updated to include keyboard and mouse
  • Added syntax highlighting rules for BYTEFIT, WORDFIT, HIDEXY, PC_KEY, and PC_MOUSE
  • Added syntax highlighting rules to properly display the following operators, when contextually appropriate, in DEBUG() statements within PUB and PRI Spin2 code, PUB and PRI in-line assembly code and tables, and also DAT assembly code and tables.
    • @, @@, ~, ~~, ++, --, ??, !, >>, <<, &, ^, |, *, /, +/, //, +//, +, -, #>, <#, <, +<, <=, <=., +<=, ==, ==., <>, <>., >=, >=., +>=, >, +>, <=>, !!, &&, ^^, ||, <., >., +., -., *., /., ? :, :=, ABS, FABS, ENCOD, DECOD, BMASK, ONES, SQRT, FSQRT, QLOG, QEXP, SAR, ROR, ROL, REV, ZEROX, SIGNX, SCA, SCAS, FRAC, ADDBITS, ADDPINS, NOT, AND, XOR, OR, FLOAT(), ROUND(), TRUNC(), NAN()
  • Added # syntax highlighting in DAT/PUB/PRI assembly/inline-assembly DEBUG() statements
  • Added special registers to inline assembly syntax highlighting

##Fixes

  • Fixed syntax highlight bug with ROUND and TRUNC; they previously showed as operators instead of as directives

Upgrading From v2.4+

The current installer will not update your existing Documents\Propeller Tool folder (where Propeller Libraries, examples, and perhaps your projects-in-progress). To get the additional libraries included with this release, perform the following steps:

  1. Install the new release
  2. Close Propeller Tool (if running after install)
  3. Use Windows Explorer to navigate to your Documents folder
  4. Rename the Propeller Tool folder (or any subfolder within it that you want to be replaced/updated) to preserve the original
  5. Run the newly-installed Propeller Tool; it will rebuild your Documents\Propeller Tool* folder(s) and include new libraries
  6. You may wish to copy your projects from your renamed/archive folder back into the new Propeller Tool folder
    A future version will make this more automatic.

Debugging Tips

This version of Propeller Tool supports P2 debugging. Here are some tips for use.

  • In Propeller Tool, Debug (for P2) is a mode that is toggled on or off (at user's will) and affects all further P2-compiled code accordingly
  • Use the Run > Enable DEBUG menu item (or press the shortcut key CTRL+D) to toggle Debug Mode on/off, then compile and download
    • Look at the yellow message on the status bar to realize the new debug mode
  • Upon download of debug-enabled code, debug displays will automatically appear and receive information from the running P2 code
  • Close the main Debug window (or press the ESC key with the main Debug window focused or the Editor focused) to close all debug displays and automatically close the serial port
  • While debugging, you can adjust your code and download again (without closing debug displays)
  • Try out and study the examples in Documents\Propeller Tool\Examples (see "Upgrading" instructions below, if necessary)

Known Issues

  • [WARNING] Object Info only partially supports P2 (currently). Application components, hex view, and save binary/flash supported. Does not yet support P2 clock metrics or Open binary/eeprom/flash.
  • [WARNING] Archive feature is not supported for P2 (currently).

Future Plans

  • Add Spin 2 syntax scheme selection and editing (via Preferences)
  • Finish Object Info (View Info function) window to fully support P2 objects
  • Add graphic button toolbar
  • Add deeper auto-detection of source type (Spin1/Spin2)
  • Address various customer requests
  • Various fixes and enhancements for internal verifications and optimizations
  • Add fast-loading protocol for P1 (currently in use by SimpleIDE, PropGCC, and BlocklyProp)
  • Address internal questions and code cleanup tasks

v2.6.3

10 Feb 22:54
f1caf32
Compare
Choose a tag to compare

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

IMPORTANT: If you have v2.4+ installed, see the "upgrading" instructions below.

See Debugging Tips below if this is your first time using v2.5 or later.

Enhancement

  • Added preference setting "Disallow downloads to EEPROM or Flash" (which is unchecked by default) to give classrooms or prototypers a safety mechanism that prevents accidental EE/Flash updates in situations or circuitry where that could cause conceptual problems or damage.

Upgrading From v2.4+

The current installer will not update your existing Documents\Propeller Tool folder (where Propeller Libraries, examples, and perhaps your projects-in-progress). To get the additional libraries included with this release, perform the following steps:

  1. Install the new release
  2. Close Propeller Tool (if running after install)
  3. Use Windows Explorer to navigate to your Documents folder
  4. Rename the Propeller Tool folder (or any subfolder within it that you want to be replaced/updated) to preserve the original
  5. Run the newly-installed Propeller Tool; it will rebuild your Documents\Propeller Tool* folder(s) and include new libraries
  6. You may wish to copy your projects from your renamed/archive folder back into the new Propeller Tool folder
    A future version will make this more automatic.

Debugging Tips

This version of Propeller Tool supports P2 debugging. Here are some tips for use.

  • In Propeller Tool, Debug (for P2) is a mode that is toggled on or off (at user's will) and affects all further P2-compiled code accordingly
  • Use the Run > Enable DEBUG menu item (or press the shortcut key CTRL+D) to toggle Debug Mode on/off, then compile and download
    • Look at the yellow message on the status bar to realize the new debug mode
  • Upon download of debug-enabled code, debug displays will automatically appear and receive information from the running P2 code
  • Close the main Debug window (or press the ESC key with the main Debug window focused or the Editor focused) to close all debug displays and automatically close the serial port
  • While debugging, you can adjust your code and download again (without closing debug displays)
  • Try out and study the examples in Documents\Propeller Tool\Examples (see "Upgrading" instructions below, if necessary)

Known Issues

  • [WARNING] Object Info only partially supports P2 (currently). Application components, hex view, and save binary/flash supported. Does not yet support P2 clock metrics or Open binary/eeprom/flash.
  • [WARNING] Archive feature is not supported for P2 (currently).

Future Plans

  • Add Spin 2 syntax scheme selection and editing (via Preferences)
  • Finish Object Info (View Info function) window to fully support P2 objects
  • Add graphic button toolbar
  • Add deeper auto-detection of source type (Spin1/Spin2)
  • Address various customer requests
  • Various fixes and enhancements for internal verifications and optimizations
  • Add fast-loading protocol for P1 (currently in use by SimpleIDE, PropGCC, and BlocklyProp)
  • Address internal questions and code cleanup tasks

v2.6.2

29 Dec 20:02
2c9bb35
Compare
Choose a tag to compare

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

IMPORTANT: If you have v2.4+ installed, see the "upgrading" instructions below.

See Debugging Tips below if this is your first time using v2.5 or later.

Fixes

Upgrading From v2.4+

The current installer will not update your existing Documents\Propeller Tool folder (where Propeller Libraries, examples, and perhaps your projects-in-progress). To get the additional libraries included with this release, perform the following steps:

  1. Install the new release
  2. Close Propeller Tool (if running after install)
  3. Use Windows Explorer to navigate to your Documents folder
  4. Rename the Propeller Tool folder (or any subfolder within it that you want to be replaced/updated) to preserve the original
  5. Run the newly-installed Propeller Tool; it will rebuild your Documents\Propeller Tool* folder(s) and include new libraries
  6. You may wish to copy your projects from your renamed/archive folder back into the new Propeller Tool folder
    A future version will make this more automatic.

Debugging Tips

This version of Propeller Tool supports P2 debugging. Here are some tips for use.

  • In Propeller Tool, Debug (for P2) is a mode that is toggled on or off (at user's will) and affects all further P2-compiled code accordingly
  • Use the Run > Enable DEBUG menu item (or press the shortcut key CTRL+D) to toggle Debug Mode on/off, then compile and download
    • Look at the yellow message on the status bar to realize the new debug mode
  • Upon download of debug-enabled code, debug displays will automatically appear and receive information from the running P2 code
  • Close the main Debug window (or press the ESC key with the main Debug window focused or the Editor focused) to close all debug displays and automatically close the serial port
  • While debugging, you can adjust your code and download again (without closing debug displays)
  • Try out and study the examples in Documents\Propeller Tool\Examples (see "Upgrading" instructions below, if necessary)

Known Issues

  • [WARNING] Object Info only partially supports P2 (currently). Application components, hex view, and save binary/flash supported. Does not yet support P2 clock metrics or Open binary/eeprom/flash.
  • [WARNING] Archive feature is not supported for P2 (currently).

Future Plans

  • Add Spin 2 syntax scheme selection and editing (via Preferences)
  • Finish Object Info (View Info function) window to fully support P2 objects
  • Add graphic button toolbar
  • Add deeper auto-detection of source type (Spin1/Spin2)
  • Address various customer requests
  • Various fixes and enhancements for internal verifications and optimizations
  • Add fast-loading protocol for P1 (currently in use by SimpleIDE, PropGCC, and BlocklyProp)
  • Address internal questions and code cleanup tasks

v2.6.1

22 Dec 19:56
9a1e98a
Compare
Choose a tag to compare

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

IMPORTANT: If you have v2.4+ installed, see the "upgrading" instructions below.

See Debugging Tips below if this is your first time using v2.5 or later.

Enhancements

  • Updated syntax highlighting to support all sprite plot and floating point instructions and operators
  • Enhanced numeric syntax highlighting to fix negative "-" highlight, and add "e", and positive/negative "+"/"-" exponent highlighting

Fixes

  • Fixed P2 rule error that was preventing dozens of DEBUG keywords from highlighting properly
  • Fixed P1 rule causing letters b and c to highlight as operators when followed by = in a CON block
  • Removed alpha-based operator syntax rules that conflict with same-named PASM2 instructions for certain usage scenarios

Upgrading From v2.4+

The current installer will not update your existing Documents\Propeller Tool folder (where Propeller Libraries, examples, and perhaps your projects-in-progress). To get the additional libraries included with v2.5.2, perform the following steps:

  1. Install v2.5.2
  2. Close Propeller Tool v2.5.2 (if running after install)
  3. Use Windows Explorer to navigate to your Documents folder
  4. Rename the Propeller Tool folder (or any subfolder within it that you want to be replaced/updated) to preserve the original
  5. Run Propeller Tool v2.5.2; it will rebuild your Documents\Propeller Tool* folder(s) and include new libraries
  6. You may wish to copy your projects from your renamed/archive folder back into the new Propeller Tool folder
    A future version will make this more automatic.

Debugging Tips

This version of Propeller Tool supports P2 debugging. Here are some tips for use.

  • In Propeller Tool, Debug (for P2) is a mode that is toggled on or off (at user's will) and affects all further P2-compiled code accordingly
  • Use the Run > Enable DEBUG menu item (or press the shortcut key CTRL+D) to toggle Debug Mode on/off, then compile and download
    • Look at the yellow message on the status bar to realize the new debug mode
  • Upon download of debug-enabled code, debug displays will automatically appear and receive information from the running P2 code
  • Close the main Debug window (or press the ESC key with the main Debug window focused or the Editor focused) to close all debug displays and automatically close the serial port
  • While debugging, you can adjust your code and download again (without closing debug displays)
  • Try out and study the examples in Documents\Propeller Tool\Examples (see "Upgrading" instructions below, if necessary)

Known Issues

  • [WARNING] Object Info only partially supports P2 (currently). Application components, hex view, and save binary/flash supported. Does not yet support P2 clock metrics or Open binary/eeprom/flash.
  • [WARNING] Archive feature is not supported for P2 (currently).

Future Plans

  • Add Spin 2 syntax scheme selection and editing (via Preferences)
  • Finish Object Info (View Info function) window to fully support P2 objects
  • Add graphic button toolbar
  • Add deeper auto-detection of source type (Spin1/Spin2)
  • Address various customer requests
  • Various fixes and enhancements for internal verifications and optimizations
  • Add fast-loading protocol for P1 (currently in use by SimpleIDE, PropGCC, and BlocklyProp)
  • Address internal questions and code cleanup tasks

v2.6.0

09 Dec 00:11
cb7eb4a
Compare
Choose a tag to compare

Supports P1 (P8X32A) and P2 (P2X8C4M64P Rev B & C)

IMPORTANT: If you have v2.4+ installed, see the "upgrading" instructions below.

See Debugging Tips below if this is your first time using v2.5 or later.

Enhancements

  • Includes P2 Compiler released 10/13/2021 which brings some of the features noted below
  • Adds Spin2 floating point support (except syntax highlighting; coming next release); operators include "+.", "-.", "*.", "/.", and more
  • Adds Sprite support (in Debug Plot window)
  • Reorganized and enhanced Help menu links
  • Compiler-related items:
    • First 16 LUT registers freed for streamer "imm->LUT" usage.
    • DEBUG_WINDOWS_OFF symbol added.
    • Added DEBUG_BAUD and DOWNLOAD_BAUD (See "...Changes" video above).
    • Main symbol table increased from 64KB to 256KB, others from 4KB to 32KB

Fixes

  • Exceptions due to floating point errors in DEBUG Displays
  • Line clipping works now
  • Fixed REPEAT-var so that var = last value after loop

Upgrading From v2.4+

The current installer will not update your existing Documents\Propeller Tool folder (where Propeller Libraries, examples, and perhaps your projects-in-progress). To get the additional libraries included with v2.5.2, perform the following steps:

  1. Install v2.5.2
  2. Close Propeller Tool v2.5.2 (if running after install)
  3. Use Windows Explorer to navigate to your Documents folder
  4. Rename the Propeller Tool folder (or any subfolder within it that you want to be replaced/updated) to preserve the original
  5. Run Propeller Tool v2.5.2; it will rebuild your Documents\Propeller Tool* folder(s) and include new libraries
  6. You may wish to copy your projects from your renamed/archive folder back into the new Propeller Tool folder
    A future version will make this more automatic.

Debugging Tips

This version of Propeller Tool supports P2 debugging. Here are some tips for use.

  • In Propeller Tool, Debug (for P2) is a mode that is toggled on or off (at user's will) and affects all further P2-compiled code accordingly
  • Use the Run > Enable DEBUG menu item (or press the shortcut key CTRL+D) to toggle Debug Mode on/off, then compile and download
    • Look at the yellow message on the status bar to realize the new debug mode
  • Upon download of debug-enabled code, debug displays will automatically appear and receive information from the running P2 code
  • Close the main Debug window (or press the ESC key with the main Debug window focused or the Editor focused) to close all debug displays and automatically close the serial port
  • While debugging, you can adjust your code and download again (without closing debug displays)
  • Try out and study the examples in Documents\Propeller Tool\Examples (see "Upgrading" instructions below, if necessary)

Known Issues

  • [WARNING] Object Info only partially supports P2 (currently). Application components, hex view, and save binary/flash supported. Does not yet support P2 clock metrics or Open binary/eeprom/flash.
  • [WARNING] Archive feature is not supported for P2 (currently).

Future Plans

  • Add Spin 2 syntax scheme selection and editing (via Preferences)
  • Finish Object Info (View Info function) window to fully support P2 objects
  • Add graphic button toolbar
  • Add deeper auto-detection of source type (Spin1/Spin2)
  • Address various customer requests
  • Various fixes and enhancements for internal verifications and optimizations
  • Add fast-loading protocol for P1 (currently in use by SimpleIDE, PropGCC, and BlocklyProp)
  • Address internal questions and code cleanup tasks