Downloads: SPLat/PC 32-bit

SPLat is a system of industrial strength, professional quality embedded controllers designed for Original Equipment Manufacturers. SPLat has been an major enabler for many companies worldwide, thanks to cost effective designs, excellent support and the ability to transition painlessly from off the shelf products for early-stage work to a custom SPLat for volume production.

SPLat:PC 32-bit

SPLat/PC is a free integrated development environment for our proprietary SPLat programming language. It provides all the tools you need to program SPLat: An editor with syntax highlighting, a complete simulator and a download manager to transfer programs to the SPLat controller.

The editor is where you type in your program. Our FastTrack instruction set lets you get started making useful programs after learning just 14 instructions. Our programming language is the easiest controls language in the world to learn. SPLat/PC also contains interactive Mini Tutorials to get you started even faster than before!

The simulator lets you test your program without running it in an actual controller. It includes simulation of external inputs and outputs, and lets you give your program a thorough workout under safe, controlled conditions.

System requirements

SPLat/PC works on all Windows versions from Windows XP to Windows 10. Requires a serial (COM) port (you may require a USB to serial adaptor). See our accessories page.

Full details of the above are provided in the help file that comes with our SPLatOS package.

The latest version should be compatible with your existing SPLat application. If you encounter problems, please contact us and download an older version.

Installation
  1. Click the link above, download and save the file where you can find it. You will get an exe file with a name similar to “splat32_setup-11-bbb.exe“. bbb is the build number, unique to every release.
  2. Double-click the file
  3. Follow the prompts. The program will install in default folder C:\Program Files\SPLat\SPLat32. (Earlier 32-bit releases installed in C:\Program Files\SPLat32)
  4. In 64-bit operating systems some users have reported that the program may only run if, the first time you run it, you right-click the icon and run it as administrator.
    Our testing does not show this problem. Please let us know if you encounter this problem.
  5. Others have reported the following way to make it run in Vista 64:
    • Right click the short cut icon
    • Select Properties
    • In properties, select the Compatibility tab
    • Select XP
Revision History

The revision history for SPLat/PC is available here

'V12.343        07JUL16
'* Feature Doubled to 10 the number of preprogrammed message strings in Module->SIO->Terminal. Grew the SIO window a bit in the process

'V12.342 30APR16
'* Feature Doubled allowable number of program address labels to 3000

'V12.341 10FEB16
'* Bug Changed COMRx_StrFind 0 to COMRx_StrFind 1 in code emitted for identifying a SimpleHMI button (VERY subtle!!)
'
'V12.338 27feb15
'* Feature Added new baudrates to #OpenSerial: 57600, 76800, 115200, 230400, 460800
'* Feature Added instructions to dialect 101: COMRunScript, COMHaltScript, COMResumeScript
'* Feature Added parameters to ModBusMaster and ModBusSlave hash functions.

'V12.333 10Feb15
'* Feature #SetFont() argument is now optional (HMI430 and any descendents). Controller will respond to no argument by reverting to default (Compliant firmware required in the controller)
'* Feature #ButtonEvent2 now has an additional argument 'V' for Value, a number that can be retrieved by the event handler. (Compliant firmware required in the controller)
'* Bug Fixed misbehaviour of auto-repeat mode in ButtonEvent (SimpleHMI Android) caused by improper code generation
'* Bug Crash with error message about modal forms (may not have caught all of them)
'
'V12.331
'* Feature mEQU directives can now be anywhere
'* Feature NVEM data directives (NV0Byte, NV0fNum, NV0Ptr) can now be anywhere
'* Feature Dialect 101 ("Classic" timer support in 32-bit boards)
'* Removed CommandPad and TSP windows.
'* Bug Failed to detect too few #ENDIF
'* Bug "Run time error 9" crashes on startup

'V12.328 27Nov14
'* Bug The new #IF was failing to filter out regular Hash commands.
'
'V12.327 24Nov14
'* Feature Conditional translation with Hash functions #IF, #ELSEIF, #ELSE and #ENDIF and companion qualifying functions EQ, NE, GT, GE, LT, LE
'
'V12.325 10Nov14
'* Bug Version tracking and reporting was upset by the new version numbering scheme
'
'V12.324 10Nov14
'* Added Optional V for variable or F for fixed width field in F() formatting function. Default is F.
' *** CHANGE *** Henceforth installer files will have simplfied numbering MajorVersion.BuildNumber e.g. splat32_setup-12-324.exe
' (dropping dialect from the number, because there are now two branches of dialect for 8-bit and 32-bit products)
'
'V12.323 05NOV14
'* Added HMI430
'* Added HMXC14 (custom board)

'V12.319 28OCT14
'* Bug Handling of Open_Serial was broken in a recent change.

'V12.318 02OCT14
'* Feature The colour picker now returns an RGB-Hex value rather than a comma separated triplet.
'* Feature New dialect setting dialog in support of 32-bit controllers with dialect numbers 100 or over.
'* Feature Help>Dialect Listing gives a web page with clickable links for all instructions in the current dialect. Links to SPLat Knowledge Base.
'* Feature Module window expanded to have a COM port selection button. Added a hint window to assist in getting started connecting to a board
'* Bugs Various minor bugs fixed

'V11.28.303 10JUL14
'* Bug In NV0Byte confused an unquoted string with a reference to an undefined symbol. Strings must be quoted!
'
'V11.28.299 3JUL14
'* Feature Custom message box for errors, allows copying the error message text to the clipboard.
'* Feature #EQU directive - associates a string with a symbol. Enclose multi-word strings in quotes. e.g.
' Greet #EQU "Hello World"
' OBLCD_Text Greet
'* Feature The .lst file cleaned up a bit, and now includes original comments.
'* Feature Error reporting tries to pinpoint the file name and line number of an error. Intended for multi-file projects with Builder/#Include
'* Feature defBLOCK can now have a label
'* CHANGED *** The keyword HBar has been "redeployed" to a new syntax. Old code using HBar should be changed to
' read HBarOld. HBar in the old syntax will fail, with no warning. Sorry - the cost of shiny new features in beta!
'* Bug HMI event handler code had NVSetPtr and NVSetPage in the wrong order
'
' New features, not yet documented(in-house use only), in preparation for an upcoming product release ;-)
'* Feature B() formatting function now recognises I, e.g. b(=I {, f | v | h | 2}), for the I-register
'* Feature Added forground/background colour specifiers to ButtonEvent2
'
'V11.28.275 31Jan14
'* Feature New formatting function L(...) (literal) for #HMI, #HMI_Trace, #HMI_Log.
' Whatever is in () is passed through literally as-is to the resulting serial print instruction.
' Usedful for things like new line e.g. #HMI Print("Hello", L('0D, '0A), "World")
'* Bug User() hash function is now case-insensitive.
'V11.28.274 26Jan14
'* Feature Persistent editor font selection through File->Configure->Font. Only mono-spaced fonts are supported.
'* Feature Editor now allows column-wise selection/editing. Hold down ALT while dragging mouse up and down.
'* Feature Removed requirement that arguments in NV0Byte be separated by commas but no spaces. NVByte 2, 3, "Hello", '0A ; is now legal
'
'New features, not yet documented(in-house use only), in preparation for an upcoming product release ;-)
'* Feature Name-Value pairs in #HMI hash functions
'* Feature Introduced Formatting functions for some #HMI hash function
'* Feature Highly flexible Print hash function for #HMI
'* Feature Removed the need for # to be in column 1 of a hash command line
'
'V11.28.255 31Oct13
'* Added MMi203, MS121 support
'* Modified Asterisk as a comment indicator is deprecated. It will no longer turn the rest of a source line green.
' Done in support of upcoming extended syntax for hash function arguments.
'
'V11.28.251 21Sep13
'Bug Enables hash function generated translation error
'
'V11.28.250 17Sep12
'* Feature Added "Set RTC" button to SimpleHMI
'* Bug Failure to recognise ColourWheelEvent and ColorWheelEvent
'* Bug #Include fails if the main file is double clicked to launch SPLat/PC

'V11.28.249 22Jul13
'* Feature Added Hash commands and functions in support of 4D Systems displays
'* Bug Failed to recognise #include files if launched by double-clicking a .spt file
'
'V11.28.245 25Jun13
'* Bug Goofed on the installation of the USB .inf file
'
'V11.28.244 22Jun13
'* Feature Redesigned Analog window in preparation for boards with dynamically reconfigurable I/O, like EC1 "EasyOne"
'* Feature Port() hash function, to allow access to multiple serial ports
'* Feature Installs splat_serial.inf to Windows/inf to support USB driver in EC1 "EasyOne" and future ST/ARM boards
'* Feature Added RGB colour picker under Window menu, to assist with SimpleHMI
'* Feature Added custom character designer to OBLCD window in anticipation of instructions to allow setting of custom characters.
'* Bug Unable to download to really old boards
'* Bug HexVar() hash function was generating illegal code
'
'V11.28.242 2May13
'* Bug Incorrect opcode from aCOM___ group of instructions
'
'V11.28.239 11Mar13
'* Bug Unable to download to really old boards
'
'V11.28.237 07Jan13 ***** New Major Version ******
'* Feature Updated to allow addressing of a full 64K of User Flash
'* Feature More detailed reporting of memory useage and space left after translation
'* Bug Tendency to crash if a USB adaptor is unplugged and plugged back when the COM port is open.
'
'
'V10.28.230 18Oct12
'* Feature Allow hex literals as immediate args in fp instructions
'* Feature Added XWirePhys instruction as dialect 28.
' Allow selection of electrical (physical) interface (TTL or RS485)
' for serial port on controllers with electronic selection (e.g. UI420).
' XWire 0 -> TTL XWire 1 -> RS485
'* Feature EQU constants can now be used in fp instructions
'* Altered Allow more time for Flash burning, to accomodate newer chip
'* Bug In SimpleHMI button auto-repeat
'* Bug Incorrect handling of device address in SPx commands
'* Bug Compiler could crash if the program contains a symbol with the letter D or E followed by a numeral, e.g. "D8"
'* Bug In simulator, after attempting to access an illegal analog i/o, all acceses are flagged as error
'* Bug Regional settings with comma as the decimal mark can cause bad floating point values.
'* Added DAC-CE board types
'
'V10.28.211 4Jun12
'* Improved Made more space for a prompt in SimpleHMI integer data input dialog
'
'V10.28.210 1Jun12
'* Bug Issue with boards with older firmware failing to respond as expected to RUN button.
'* Improved handling of update webpage
'
'V10.28.208 25May12
'* Feature Altered configuration of AC24 to reflect as-built boards
'
'V10.28.205 8May12
'* Feature Support for speech to text in SimpleHMI/Android (SpeakText and SpeakNumb hash functions)
'* Bug Cleared up further issues with the new comms control
'
'V10.28.203 3May12
'* Bug OBLCD_Dim generates incorrect code
'
'V10.28.202 2May12
'* Major! Replaced MSCOMM32 with SuperCom to allow access to COM ports up to COM255
'* Feature Added OBLCD_Dim Lo,Hi,Delay instruction for simplified dimming of LCD (Internal macro, not dialect-specific).
'* Feature ESC key exits out of change-data mode in Data Memory window
'* Feature Bluetooth ports can be filtered out (hidden) from the serial port selector list
'* Feature SimpleHMI buttons can now be made to autorepeat. ButtonEvent hash function updated to reflect this.
'* Feature SHIFT+Double-click a line to set as next instruction in simulator
'* Feature + and - keys will alter the analog output value in the analog window, if it has focus
'* Feature Warning against running two copies of SPLat/PC
'* Feature Can double click a .spt file on a network drive and launch SPLat/PC
'* Feature Files can be drag/dropped into the editor (though not into the text area)
'* Improve Handling of keyboard shortcuts
'* Improve Handling of multiple monitors
'* Improve Various cosmetic improvements
'* Bug Menu Items Edit|Copy, Edit|Cut, Edit|Paste fixed
'* Bug Menu item Edit|Select All fixed for Win7
'* Bug Menu item Edit|Select All stays on the same line
'* Bug Crashes if illegal output value sent from analog window to board
'* Bug Sometimes incorrect number of trailing zeroes in OBLCD_fDisp on LCD simulator.
'
'V10.28.193 03Mar12
'* Change Minitute advisory screen will not re-appear with every new version of the program
'
'V10.28.192 16Mar12
'* Bug #Thermistor hash command stored polynomial coefficient in the wrong order.
'
'V10.28.191 12Mar12
'* Feature SimpleHMI: Optional automatic allocation of buttons
'
'V10.28.190 11Mar12
'* Change Default SimpleHMI key codes now "1" through "8" (Was "F1" ... ) to simplify programming of hobby boards
'* Improve The IntInputEvent event now extracts the endusers input to W before calling user's event handler. X indicates success.

'V10.28.189 7Mar12
'* Renamed SimpleHMI logging to tracing
'* Added Data logging in SimpleHMI
'* Added # HMI_Log and associated functions
'* Added Connecting to an unkown board type number generates an I/O screen without labels (for short-run/custom boards)
'* Bug Unable to change Data Memory (RAM) location 0 in simulator.
'
'V10.28.183 24Feb12
'* Added INCLUDE hash command. Provide a nestable file include capability
'* Added New menu item File>Pre-process to run preprocessor and display the resultant code

'V10.28.177 20Feb12
'* Added Enables() hash command
'* Added SimpleHMI function modified to "split out" a standalone version from a shared codebase

'V10.28.173 17Feb12
'* Changed Significantly enhanced SimpleHMI for more flexible scaling and item positioning
' and more faithful emulation of Android devices
'* Bug Preprocessor generating a spurious NVEM0, causing old dialects to fail translation

'V10.28.171 9Feb12
' Bug Datamem (RAM) window crashing when clicking in a cell
'
'V10.28.170 8Feb12
'* Added Hash command Hbar to SimpleHMI
'* Changed Prevent the LCD window from always hiding behind the editor
'* Bug Crashed on old boards with < 250 bytes user RAM.
'
'V10.28.167 2Feb12
'* Added Log to file for SIO Terminal, Hex and ASCII modes, in addition to the SimpleHMI disk logging
'* Changed Serial data received by the SIO function is now sent to both Terminal and SimpleHMI
' at all times (previously: Only the selected tab received the data)
'
'V10.28.165 30Jan12
'* Added Thermistor Hash function ... A new, easy way to program thermistors
'
'V10.28.163 27Jan12
'This is a very major upgrade in support of our new SimpleHMI and Hash commands.
'* Added SimpleHMI, easy to use Human Machine Interface for SPLat/PC and Android
'* Added Preprocessor in translator
'* Added Hash commands HMI, HMI_Log and Open_Serial.
'
'V10.28.158 2Jan12
'* Bug Lines containing # ignored by Translator.
'V10.28.156 5Dec11
'* Bug Failed to produce correct translated binary file, reported length 48 bytes too short.
'V10.28.155 1Dec11
'* Added The yellow highlighted line is now always the next one that will be single stepped
' or run in t he simulator.
' You can edit elsewhere in the program without moving the yellow "step point".
' The step point can be set with CTRL+F9
'* Added DataMemory window shows variable arrays and floating point values
'* Added Floating point constants, e.g.
' PI: fEQU 3.1415926 ;Defines the symbol PI as having the value 3.1415926
' ...
' fLoadW PI
' FP constants can be any legal FP number, including +INF, NaN, etc.
' Once defined, FPs constants can be used wherever a FP number is expected.
'* Bug Erroneous duplicate definitions
'* Bug Inaccurate "MultiTracking" indicator in status bar

'V10.28.153 27Nov11 **** withdrawn ****

'V10.28.150 24Nov11 **** withdrawn ****

'V10.28.148
'* Added: Symbolic labels displayed on Data Memory window
'* Added: Terminal emulator for testing user serial protocols - Term button on Module window.
' Documented at http://splatco.com/skb/5218.htm
'* Added: Generate vocab file suitable for import into Tabula
'* Added: Access serial (COM) port setup by SHIFT+Click on Module window's Connect button
'* Added: Display serial (COM) port number on Module window's Connect button
'* Added: Option, in comm port setting window, to disable shift to 38400Baud. Intended for future radio use.
'* Bug fixed: Incorrect simulation of ComRx_Peek
'* Bug fixed: Incorrect RAM allocation if the required number of bytes is specified as 0.

'V10.28.127 19Jul11
'* Added: Support for RFD18 controller
'* Added: Dialect 28: iifGetNum, iFindXInBuf, iiGetHex, iiStrFind, TestX??Y
'* Added: New menu item File>Reload and Go (CTL+SHFT+F11). Reloads the current file from disk, translates
' and runs in the board. Useful if you are using an external editor such as Source Insight.
'* Added: Single-byte instruction arguments can now be given as an ASCII character in quotes, e.g.
' LoadX "A"
'* Feature: Translation (compiler) will now flag too many arguments in /most/ instructions.
'* Feature: File open now adds .spt to the file name if nothing else is specified.
'* Bug fixed: Crashes with Runtime Error 35756 when doing check for updates, and Internet Explorer has
' been set to offline. The update check is now silently aborted.
'* Improved: Handling of more than one dot in a file path/name.

'V10.27.106 17May11
'* Added: Dialect 27: COMRX_StrFind, iiPrintNVText
'* Fixed Bug: Insists on "save changes" dialog on exit, even if the file has been saved.

'V10.26.102 07Mar11
'* Feature: Added COMRX_fGetNum instruction as dialect 26

'V10.25.100 28Jan11
'* Feature: Added facility for #directives as start of .b1d file, in support of Tabula
' Implemented ;#SILENT (no msg boxes during automatic processing)
'* Feature: Changed version numbering to Major.Dialect.Build where build never resets.
' (Initialised build to 100)

'V10.25.0 12Jan11
'* Feature: Generates .spt file and .lst file more readily when doing a re-build, named after the build file.
'* Added: Dialect 25: RTCDecHH, RTCDecMM, RTCDecSS, fTestW**Q, fTESTW**Z
'* Added: OBLCD_CharX (new "macro" that will work back to dialect 9 boards)

V10.24.4 3Dec10
* Feature: New menu selection File>Rebuild re-runs Builder on the assumption of modified source files on disk.
Automatically downloads if a board is connected. This provides better workflow on large projects
if you are using an external editor such as Source Insight.
* Fixed bug: Simulator rejected a semicolon embedded in a iiPrintText text argument.
* Fixed bug: iiPrintText in certain locations in a program gives an incorrect dupe def error
* Fixed bug: Sloppy handling of editor Insert/Overwrite modes

V10.24.3 9Nov10
* Fixed bug: Simulator failing to correctly simulate NVEM instructions..

V10.24.2 6Oct10
* Fixed bug: Simulator incorrectly pops stack on GosubIfXEQ, GosubIfXGE, GosubIfXGT, GosubIfXLE, GosubIfXLT, GosubIfXNE.

V10.24.1, 6Oct10
* Fixed bug: Fails to query for save when exiting with an un-saved file.

V10.24.0, 1Oct10
* Dialect 24
* Prohibited mixing IasJ: with indexed semaphore instructions
* Addressed chance of hangup if a connected board generates line break

V10.23.0, 11Aug10
* Dialect 23 support
* Added simulator window for custom serial protocol.
* Added simulator window for Xwire
* Fixed various bugs and added minor enhancements

V10.21.7, 15Apr10
* Support for HD8 controller
* Fixed incorrect reporting (wrong error line) in NVEM
* Fixed problem in using COM ports past COM16
* Fixed problem of simulator sometimes skipping the first instruction in a program.
* Fixed problem of sometime missing the first line of NVEM0 data

V10.21.6, 21Feb10
* Fixed translation bug inadvertently introduced in 10.21.5 - Instructions with simple 8-bit operands (Recall, Store etc) were not being included in the translated program.

V10.21.5, 19Feb10
* NVEM compilation bug
* Intermittent crash when switching board type
* Improved handling of mEQU close to top of RAM
* More accurate error reporting during symbol table build

V10.21.4, 18Feb10
* Fixed erroneous download failure message

V10.21.3, 02Feb10
* Moved housekeeping files out of "My Documents" to Application Data and Temp areas. Made handling of these files more robust, to minimize crashes if the operating system resists the automatic file and folder creation.

V10.21.2, 25Jan10
* Improved handling of "housekeeping" files written by the program, to reduce problems with running under user (non-Administrator) Windows accounts
* Fixed bugs in CTRL+Z (undo) and CTRL+Y (redo)

V10.21.1, 14JAN10
* Program download nearly 30x faster than SPLat/PC 16-bit when used with controllers with compatible firmware.
* Fixed bug where the simulator fails to set or clear semaphores

V10.21.0, 19DEC09
* Dialect 21 support
* Faster program translation (~6x)
* Colour syntax highlighting makes it easier to spot typos
* Easy instruction lookup. Double click on an instruction key word and press CTRL+F1 to access the instruction's help page online.
* Split screen editing with horizontal and vertical dividers.
* Improved printing from the editor
* Long file names
* Automatic online update check
* New icon design and splash screen to differentiate from the 16-bit version.
* New license handling


The last version of the 16-bit variant of SPLat/PC was V8.20.3, 04AUG08. This has been superseded by the 32-bit variant.

If you’re not sure what you want, give us a call: +61 3 9773 5082

Do you want to know more?

icon
Head to our
Knowledge Base.

For more information on product detail, software, references and lots more.

learn More
icon
Ready to buy?
Go to the Order Form.

If you already know what you’re after head straight to our full product order form.

Order Now
icon
Need support?
Get in touch.

If you’re unsure what you want or need, or have any questions contact us, we’re here to help.

Let’s chat

If you’re not sure what you want, give us a call: +61 3 9773 5082