SPLat Logo

Programming reference

NOTICE: Our web site is being updated, but is currently experiencing extreme slowness due to host issues. Please contact us directly.
NOTICE: SPLat Controls has moved. We are now at 1/85 Brunel Rd, Seaford, 3198. map
SPLat will be shut down for the Christmas Holiday season from Friday 20 December 2024 through Tuesday 7 January 2025. We will check emails periodically and will continue to process orders but at a slower pace. Santa hat

Programming reference

If you are just starting out programming SPLat for the first time, this is not the place to start unless you are a seasoned programmer. SPLat has a rich repertoire comprising over 400 instructions, and trying to tackle them head-on all at once would be quite overwhelming. The best place to start instead is with FastTrack, which allows you to perform simple sequencing and timing tasks using just 14 instructions. FastTrack will have you producing results in a couple of hours. Within and beyond FastTrack there are a number of tutorials and guides to assist you along the way. Just remember, as you advance your skills and confidence SPLat has all the power you may need for really sophisticated control tasks.

This programming reference provides definitions of all SPLat instructions, directives, precodes, hash commands and functions, communications control block items, and result codes. Most of the sections contain instructions listed against various criteria: Alphabetically, I/O, counting etc. Most instructions will appear in several categories. They have been placed in categories with the intention of helping you find something to fit a particular situation. For example, under Numerical comparison instructions you will find instructions for floating point comparisons as well as for testing a number and doing a conditional GoTo based on the result.

Instructions that can be used in indexed mode have, in the headings, an asterisk ( * ) after the instruction argument that gets the index register added to it, for example ShadowRead mm*,cc

Instructions that get jndexed in a MultiTrack task and/or are affected by the IasJ: precode, have, in the headings, a plus sign ( + ) after the address operand that gets affected.

Instructions that use automatic indexing have, in the headings, a hash sign ( # ) after the argument that gets the index register added to it.

Hash commands and hash functions have, in the headings, a hash sign at the start of the heading.

For the more recently introduced instructions the applicable language dialect is noted in square brackets, e.g. [D>=16].

Please note that not all instructions are available in all SPLat boards, even if the dialect matches. There can be hardware differences between boards (such as having LCD support or RTC) in addition to dialect differences. The availability is noted in each instruction description. See also reFlashing regarding possibly upgrading a board to a more recent dialect.

This reference does not replace the tutorial style presentation in the Classic help file that is part of the SPLat/PC programming software.

Every SPLat board has a set of registers as per the following diagram. Note that for 8-bit boards, the "per-task" registers are actually global. Also, 8-bit boards only have 20 U registers.

Registers

Most instructions use the registers (mostly X and W). The following diagram shows how some of the instructions read and write data through the registers.

Instruction Map

For reference, a less incomplete version is this one (we recommend you copy the image or open it in a new tab and scale it up):

Complete Instruction Map