qlwiki:software_production_kit

Software Production Kit

SuperBASIC Production Kit by Sinclair Research
The Software Production Kit (SPK) is designed to help commercialise software products. It is called 'QL SuperBASIC Production Kit' in the boot file.

The kit provides several machine code routines to extend SuperBASIC which could be incorporated into programs published under licence from Sinclair.

The tools included new SuperBASIC keywords for fast image loading of programs written in SuperBASIC, which could add standard copy protection to these programs (requiring the user to have the original key cartridge in either mdv1_ or mdv2_). The commands also prevented the user from using BREAK to get at a program (although it also meant that error messages were not displayed if the user found a bug in the program).

The full SPK included the commands FLOAD (Fast Load), FSAVE (Save the Fast Image) and FBOOT (Create key cartridge). A runtime version was provided which could be included with released software, containing the FLOAD routine. We have also come across a version of the SPK with the command FMERGE (Fast Merge).

Other functions (taken from the later launched QL Toolkit) included fixed decimal point conversion, error trapped input / output and random file access.

The kit includes the GST linker and a pre-assembled SROFF file. A SuperBASIC program then starts the linker with pre-defined command lines to produce the user defined toolkit (the well known filename "_").

The first version of SPK saved the main program as a file with no name, so "copy mdv1_ to scr" gave a result. This was changed in a later version to "mdv1_ " (mdv1_ &CHR$(32)) to give the file a real name, even it was a space.

The kit also includes a few SuperBASIC programs for bulk copying the user defined toolkit, the "magic number" of the microdrive (for copy protection) and the corresponding user programs.

Programs, which are FSAVEd with this kit will run successfully on QLs and Atari Level up to D. They do not run on QPC2. FSAVEd programs have the nametable saved in the program image (a bit similar to QSAVE), this crashes in modern SMSQ/E systems because the name table gets overwritten during loading.

Quite a few of the programs sold under the Sinclair label were produced using this kit.

There seem to be other versions of SPK, as there are toolkit files ("_") which contained other procedures, not included in the standard SPK. An example is the range of programs from Triptych, where the procedure "UDG" is contained in the toolkit file to print bullets and squares on the screen, although it may of course be that they just merged additional machine code functions into the toolkit file. It is not known, whether this was done by Tony Tebby himself or the various software companies.

SPK was an early and quick way from Sinclair Research Ltd for software companies to protect their software, but unfortunately it was cracked, as soon as the programs were launched, which was then a problem because the software all used the same protection method. Other companies, e.g. Sellasoft with Tankbusters or Talent Computer Systems with Cartridge Doctor developed much better ways to protect their programs.


Title: Software Production Kit
Language: 68000 Machine Code and SuperBASIC
Author: Tony Tebby
Publisher: Sinclair Research Ltd
Year of Publication: 1985
Platforms Suitable for: All Sinclair QLs
Commercial Status: Commercial
Price as at March 1985: £100
Reviews: Unknown
Sources Available from: Unknown
Latest Version available from: Unknown

  • qlwiki/software_production_kit.txt
  • Last modified: 2017/09/04 09:53
  • (external edit)