Recent technical history of Spike2 version 9 for Windows

Freely down-loadable for version 9 users.

Date Version Summary
09/17 9.01 New
  1. You can now create RealWave channels for sampling. When used with a programmable signal conditioner, you can apply gain changes during sampling that do not affect previously sampled data.
  2. The WEnv() virtual waveform can now use cosine and raised cosine functions for the rising and falling phases.
  3. When selecting a COM port for a signal conditioner, we now only offer ports that exist and give more information to identify the port.
  4. Talker channel numbers are no longer limited to the range 1-100.
  5. Talker-generated channels can now be used as triggers for triggered sampling.
  6. The total number of channels sampled by a 1401 interface is still limited to 100, but the channel numbers you assign to them are no longer limited to the range 1-100.
  7. When sampling, you can move the keyboard marker, TextMark and Digital marker channels so that they do not interrupt the channel range of other channels.
  8. When debugging a script, you can edit and display string variables in a multi-line editor.
  9. The FileApplyResources() script command is extended to give some control over the resources to apply. You can also apply the resources created by one view to the current view without creating a named resource file.
  10. The Spike2 Help menu About Spike2... dialog now includes the name of the computer that Spike2 is running on. This is the name needed by Talkers running across a network to access Spike2.
  11. The D440 signal conditioner now has a Reset Calibration button.
  12. The Biopac importer is now available in 64-bit builds of Spike2 and is updated to the latest version.
  13. The ColourSet() and ColourGet() script commands now have access to the colour scales, as used in sonograms.
  14. The DlgEnable() script command can be used to control the visibility of a bitmap in a user-defined dialog.
  15. CondSet() and OutputReset() script commands have new variants to reset the conditioner and output state.
  16. The System() script command is extended to report the CPU time used by the GUI thread.
  17. When a channel with no channel comment is saved to a disk file, Spike2 will add information to the comment such as the source channel number, virtual channel and channel process information.
  18. The tooltip that pops up when you hover the mouse over a time view channel y axis now has more information about channel processes and WaveMark traces.
  19. When the Cursor Regions and Cursor Values dialogs have the input focus (are selected), they no longer stop user-defined short-cut keys from working in the Toolbar, the Interact bar and user-defined dialogs.
  20. The SampleText() script command now returns the time at which the text marker was added.
  21. When using Ctrl+Alt + mouse-click to drag a line to select spikes in Overdraw WM and other drawing modes, you can now use the Shift key to constrain the line to be horizontal.
  22. In the clustering dialog, you can now use the F key to set selected (using ellipses or the user-defined shape) events to code FF. You can also set all visible events to code FF using Ctrl+Shift+F.
  23. In the clustering dialog, you can use the mouse wheel to scale the size of the user-defined ellipse or shape.
  24. The System$() script command has a new variant to read the command line that started Spike2.
  25. You can now save bitmaps using FileSaveAs() in GIF format, and GIF is offered when loading or saving images interactively. These are not animated GIFs.
  26. There are improvements to the script compiler error messages to help identify the cause of a script syntax error.
  1. Importing or exporting a data file with a lot of channels (>300) and many different channel Titles, Units or Comments, could result in a .smrx data file that would not open. Such a file can now be repaired by the S64Fix program.
  2. The script compiler system became confused if you compiled (and ran) one script, compiled a second script which generated a compiler error and finally ran the first script.
  3. The Graphical sequence editor gave an error if a marker item was added with a code of 00 (which is the default code).
  4. Attempting to open a corrupted sampling configuration file could crash Spike2.
  5. The code that adds messages to the Sampling Notes about channels that are sampled significantly slower or faster than requested always reported such channels as sampling slower, even if they sampled faster.
  6. The File menu Import command added channel titles to the start of all channel comments. It now only does this if a channel title is so long that it is truncated by the import system.
  7. The keyboard marker for the end of a timed sampling section was not written to disk.
  8. In version 9.00, the initial sampling state in timed or triggered sampling mode was incorrect.
  9. Paste of non-ASCII UNICODE characters into a grid view did not work.
  10. In the X Axis Range dialog, changing the axis Units repainted the Left and Right values in the previous axis mode, not the new one.
  11. If you sampled data in 32-bit format, then used the FileSaveAs("", -1) script command to save the file, the default file extension offered was .smrx (though the file was 32-bit and should have the .smr file extension). Spike2 can read 64-bit files with either extension, but rejects 32-bit files with the .smrx extension.
  12. If you sample without a 1401, the Trigger check box in the sampling control bar is disabled as triggered start is not (currently) supported without a 1401.
  13. When a script hit a break point or when Interacting with Spike2 in a script idle routine, if you opened the Cursor Values or Regions dialog, or any Spike-shape or Multimedia windows, this set the script current view, which could cause the running script to fail with a "Wrong View type" error.
  14. In the Channel setup dialog, changes to the D440 signal conditioner gain did not cause the y axis scale to update.
  15. In the Sample Bar, the Write to Disk state for Immediate Start mode now works. If Immediate Start is not enabled, Write to Disk changes are disabled.
  16. If you Reset sampling (to restart it), the Cursor Regions and Cursor Values dialogs were not reset.
  17. Recording XAxisMode() in a time view could generate strange mode% values if the x axis units were not seconds.
  18. The SampleWaveMark() script command failed if you used an array of ports as the second argument.
  19. The SampleClear() script command did not clear the name of the last read sampling configuration returned by SampleConfig$().
  20. The SampleClear() script command did not clear the name of the last read sampling configuration returned by SampleConfig$(). The Ec() and Et() virtual channel functions extended their search for events one data file clock tick forward more that they should. This could (in somewhat contrived circumstances) cause the Ec() function to generate a count that was 1 too large. The change to the Et() command output was usually too small to matter.
  21. The WSqu() virtual channel function could make the low phase one sample too long.
  22. If you double-clicked and edited an item in a TextMark channel, duplicates of the channel did not update.
  23. Several script commands would not accept const items as arguments when they should. For example, SampleTrigger(), YAxisAttrib() and YAxisStyle() would not accept a cSpc% argument that was declared const cSpc%[3]:={2,1,2}.
  24. The MemImport() command to create a WaveMark channel from a waveform and an event channel could miss the last waveform point if the event times were not aligned to the waveform samples.
  25. In a view with a logarithmic y axis, if you zoomed in by dragging a rectangle, the result displayed the wrong y axis range.
  1. The MatLabOpen() script command no longer stops a script with a fatal error if MatLab cannot be opened and now reports a negative error code.
  2. In the script debugger, when you open a window to edit a string variable, the initial string is no longer selected and the edit window will attempt to resize to accommodate the string text.
  3. The example Talkers are always installed unless excluded in a Custom installation.
  4. The maximum length of automatic names for files is increased from 23 to 40 characters. Older versions of Spike2 will limit the length to 23 characters if you edit the name.
  5. When you create a new channel, the default channel titles and channel comments are now set to an empty string rather than "untitled" and "No comment".
  6. The value returned by the SampleText() command has changed; previously it always returned 0.
06/17 9.00 New
  1. The maximum number of channels that can be stored in a 64-bit smrx file is increased from 400 to 2000.
  2. The maximum number of virtual channels, memory channels and duplicate channels is increased to 2000.
  3. The maximum number of channels in an XY view is increased from 256 to 2000.
  4. The maximum number of channels in a Result view is increased from 400 to 2000.
  5. The maximum number of rows in a grid view is increased from 10000 to 1000000 (the maximum number of columns remains 1000).
  6. The number of arbitrary waveform areas that can be used during sampling is increased from 10 to 62 for Power1401 devices and to 20 for Micro1401 devices.
  7. There is a new Chan() script command that allows you to discover the channel number that matches a channel specification.
  8. The script language has new numeric operators for bitwise not (~) and for shifting integers (<<, >> and >>>) and allows the use of & for band, && for and, | for bor and || for or, % for mod and ! for not.
  9. The script language allows you to use * to multiply a string, for example "+-"*3 is "+-+-+-".
  10. The memory buffer import dialog and the MemImport() script command now allow import of a WaveMark channel to a waveform.
  11. The ArrHist() script command allows an integer source array.
  12. Edit menu Find and Replace dialogs and script language equivalents now support ECMAScript regular expressions.
  13. More dialogs are resizeable, usually to allow you to type longer text strings or to access long lists of item without scrolling: Virtual channel dialog, Evaluate dialog, Debugger edit variable dialog, graphical editor add arbitrary wave dialog, Change Colours dialog and several others.
  14. If you have the Edit TextMark dialog open, you can now click on TextMark items for that channel in the data view to move to them in the dialog. If the dialog is expanded to show the list of TextMark data items, the selected item is highlighted.
  15. You can sample data using Talkers without having a 1401 connected if you set a sampling configuration that does not make any use of a 1401 (no output sequence, arbitrary waveform output, waveform channels, WaveMark channels, event or digital marker inputs).
  16. The FileOpen() script command has a new mode% flag to open external text files in Unicode mode.
  17. SSOpen() allows the current view to be associated with a time view; in previous versions it had to be a time view.
  1. The channel numbers for memory channels, virtual channels and duplicate channels have changed (to make room for additional disk channels). Any scripts that relied on channel 401 being the first memory channel or 701 being the first virtual channel will now be broken. We have always stated that scripts should not do this. You can use Chan("m1") to get the first memory channel and Chan("v1") to get the first virtual channel. Use DupChan(0) to find the number of the first duplicate channel.
  2. We no longer read the old format configuration (*.s2c) or resource (*.s2r) format files. The last version to write these was Spike2 7.10, released in 2012. If you need to read these files, they can be converted into the modern *.s2cx and *.s2rx format using Spike2 version 8.

Cambridge Electronic Design Limited

Registered in England: 972132

Registered office:

  • Cambridge Electronic Design Limited,
  • Technical Centre,
  • 139 Cambridge Road,
  • Milton,
  • Cambridge CB24 6AZ

VAT: GB 214 2617 96

Producer Registration number: WEE/BD0050TZ

Terms and Conditions of Sale

For our US customers, we can provide tax form W-8BEN, that identifies us as a UK company.

DUNS: 219151016
NAICS: 423490
Commodity codes
Hardware: 84716070
Software: 85234945

By email:

By post:
  • Cambridge Electronic Design Limited,
  • Technical Centre,
  • 139 Cambridge Road,
  • Milton,
  • Cambridge CB24 6AZ
By telephone:

(Int.+44) (0)1223 420186

From North America (Toll Free):

1 800 345 7794


Privacy policy

CED, through this site, does two things that relate to privacy. We would like to explain them.

Emails from down-loads

We offer free down-loads of many files on our site, from test programs to complete install files for updated versions of major packages like Spike2 and Signal.

When customers wish to take a down-load of a major package, we ask a few questions, including their name, email address, the serial number of the software for which they seek an upgrade and whether they would like an automatic email whenever we update the product. This information is emailed back to CED when they access the final down-load screen. Within this email, your browser transmits the type and version of browser you are using, and the screen resolution you are running.

The reasons why we take and keep this information are that it is useful for our software development team to know who has taken the latest versions, and it is useful for our web site development team to know which browsers people are using to view our site, and what resolution they have their screens set to.


When people down-load a major package, we try to write a cookie, a small file in your computer, that records your name, serial number of the software package, and the version you are down-loading. These files have a lifetime of one year.

The reasons for storing this information are firstly that if you ask for another down-load some other time, your details are read from the cookie and are pre-written into the form, to save you looking them up again. The other reason is that next time you access our site, your browser looks through your CED cookies and compares the versions down-loaded with the latest version numbers read from our site. If there is a later version of a product you have already down-loaded, we tell you on the home page screen, so you know that it is worth going to the down-load page again.

None of this information is ever given to anyone outside CED. ×