Kempston Disc Interface
Hardware: Disk
Kempston Micro Electronics Ltd · 1985 · Pound sterling 85.00
Also known as KDOS Disc Interface (English)
Disc interface for the Speccy that allows 3", 3.5" or 5.25" drives to be used (any compatible BBC drives). Software uses the Microdrive commands and also adds a few of its own, including a compressor that simply turns all numbers into there VAL equivalent.
Discussion
Nobody has started a thread about this yet.
Remarks
An updated version of {Watford SP-DOS|Watford Electronics|1000458} (but running KDOS).
Documents
- KempstonDiscInterface_Manual.pdfInstructions 48 KB
Other files
- roms.htmlRemote link English
Files and rights
No permission is on record either way. Screens and pictures are copied here on a take-down basis: if you hold the rights and want something removed, say so and it goes.
Credits
- Dimitri Koveoscredited
- Dave Farmboroughcredited
Sign in to credit somebody, or say what these people did.
In the magazines 12
Crash #23Dec 1985 · p.108
Franco Frey
THE EXPRESS GANG PART 3 Following the excellent Rotronics Wafadrive, and the Beta Plus (TR-DOS V4) interface of last issue, here's a look at two further units, the Kempston Disc Interface and the Opus Discovery 1. The Kempston belongs to the Shugart compatible interfaces and can run with any Shugart standard 3", 3.5" or 5.25" disk drive which incorporate a power supply unit. The drives must however, be capable of double density recording. The K-DOS operating system displays itself as an extended BASIC, where commands have to be called up via a PRINT #4 command. This proves to be laborious and a lot more effort is required when comparing with the simple Beta operating commands or even the Rotronics and Microdrive extended commands. A nice feature for BASIC programmers is the BASIC OVERLAY facility using the excellent MERGE with autorun, and the line definable CLEAR functions. The Kempston unit must be the smallest disk interface for the Spectrum, but this isn't necessarily a plus, as there is no extension port for other peripherals. The Opus Discovery 1 is probably the most comprehensive add-on for the Spectrum next to the Timex drive. It incorporates a 3.5" disk drive, a parallel printer interface, a Kempston compatible joystick interface and a monitor output port and provides an expansion port for any further peripherals. The Opus Discovery 1 comes as a fully integrated unit, into which the Spectrum 48K or Spectrum Plus plugs. Provision is made to incorporate a second drive, but for this the unit has to be returned to the factory. The operating system is similar to the microdrive extended BASIC and the various ports for printer and joystick are accessed via separate streams. The Opus Discovery 1 is the ideal unit for users who abhor a multitude of separate enclosures and cables littering their precious desk space. The next issue will feature the Timex disk drive and a complete comparison table featuring all the fast storage devices looked at in this series will summarise the various findings. KEMPSTON DISC INTERFACE HARDWARE: The Kempston disc interface must be the smallest unit of the series, measuring only 100 x 67mm. It has no expansion port and must therefore be connected as last in the chain of addons. Up to four disc drives (40 or 80 track, single or double sided) may be connected via a Shugart compatible 34-way IDC cable. To save space or cost the 34-way plug is not polarised, which means a trial and error connection. No harm can be done, as the Shugart pin layout only uses one side of the connector. A power indicator and a reset button are incorporated in the unit. SYSTEM DESCRIPTION: On powering up the system, the Spectrum will display the copyright message to indicate the presence of the Kempston DOS. This K-DOS can be included on the same line as BASIC statements, but care should be taken with standard PRINT statements, as these must be separated by use of a double colon to distinguish them from the parameter passing PRINT statements. SYSTEM DESCRIPTION: On powering up the system, the Spectrum will display the copyright message to indicate the presence of the Kempston DOS. This K-DOS is an extension of the Sinclair BASIC and is implemented via a software switch triggered by a PRINT 4 command. Parameters are passed on via a further PRINT statement. K-DOS can be included on the same line as BASIC statements, but care should be taken with standard PRINT statements, as these must be separated by use of a double colon to distinguish them from the parameter passing PRINT statements. OPERATING SYSTEM: Kempston DOS Version 2.0 SYSTEM COMMANDS: All commands with the exception of INPUT#, PRINT# and INKEY$# are preceded by PRINT # 4: CAT: PRINT d gives a catalogue of all files of drive d (1-4). CAT:PRINT d, "string" gives a catalogue of all files on drive d, whose name contains "string". CLEAR:PRINT m1, m2 deletes a block of BASIC lines starting at m1 and ending with m2. COPY:PRINT d is a tape to disc transfer utility which allows the transfer of post unprotected cassette programs to disc. The command batch processes the tape files until a BREAK is detected. The tape must be stopped on a command prompt to allow block storage to disc. On saving, the command displays the filename, the start address and the length of file in decimal notation. Headerless blocks are saved using a "default n" filename. A break into the BASIC loader allows the modification of LOAD, SAVE and MERGE to K-DOS syntax. The transfer of tape programs obviously requires some knowledge of BASIC and possibly machine code. ERASE "filename" erases "filename" from the directory of the current drive. The UP ARROW acts as a WILD CARD character. ERASE "filename":PRINT d erases "filename" from the directory on drive d FORMAT "diskname":PRINT i,j,k,l formats a disc on drive i (1-4) with j tracks (35, 40 or 80), k sides (1 or 2) and stepping rate (6, 12, 20 or 30ms delay). GOTO m forces a BASIC program to jump to line m on any error (Error trapping). INKEY$ # n reads the next character of a sequential file opened to stream n (n can be 0 to 15 with the exclusion of 4) INPUT #n; var1; var2; reads the next record of a sequential file opened to stream n. LOAD "filename" file type: PRINT d loads a program from the specified drive. The drive specifier is optional. The filetype may be CODE, SCREEN$, DATA a(), DATA a$() etc. Programs will AUTO-BOOT after a reset or power on if they are saved as file "AUTO" with a line number. MERGE "filename":PRINT d loads a BASIC file from the specified drive and merges it with the program currently in memory. This function provides the use of BASIC overlays to reduce the memory requirement of large BASIC programs by autorunning from the line number specified in the SAVE function after having been merged in the main program residing in RAM. K-DOS's CLEAR acts as a block delete to prevent the execution of lines from the previous program. MOVE "filel","fi1e2":PRINT d1,d2 copies files from a specified drive to another specified drive. It can also rename files or discs on the specified drive (Back-up on same disc). For single drive users d1 equals d2 and prompts for disc change are displayed automatically. If filename2 is a nullstring, then a copy with the same name as the source file (filename1) is created. Block copy is performed if filename1 is the nullstring. This option allows the back-up of a complete disc to be made. With filename1 a nullstring and a specified filename2 any files on the specified drive with the substring filename2 will be copied to the specified drive. This is useful for file extension systems (MOVE"", "/BAS";PRINT d1,d2 copies all files on drivel with the extension /BAS to drive 2). NEW is similar to BASIC NEW with the exception that K-DOS remains enabled (K-DOS variables are not cleared). OPEN#n,"filename":PRINT d opens a stream n to a sequential file "filename" of the specified drive d and assigns a buffer to it. If the file already exists, it is opened for reading, otherwise for writing. PRINT# n; var1' var2' writes records var1, var2 etc. into buffer n for transfer to a sequential file. SAVE "filename" LINE m :PRINT d saves the BASIC program "filename" onto the specified drive d. The drive specification can be omitted if it is the current drive. The optional line number will provide autorun from the specified line. If the filename is "AUTO" the program will autoboot when loaded. SAVE "filename" file type: PRINT d saves CODE, SCREEN$, DATA a(), DATA a$() etc. ERROR REPORTS: 27 error reports EXTRA FACILITIES: None MANUAL: 24 page manual with introduction, installation, explanation of disc interface commands, error messages and K-DOS summary. APPLICATION PROGRAMS: None CRITICISM: Slow access times. Complicated command structure with PRINT#4 calls. Complicated handling of variables with the use of PRINT statements. No machine code access to the DOS commands due to lack of information. COMMENTS: Average disc interface with good CLEAR and MERGE commands enabling simple BASIC OVERLAY system configuration. MEDIA: Depends on drives connected. TECHNICAL SPECIFICATIONS: Number of drives supported per system: 4 Storage capacity depending on drives connected. PRICE: £85 including VAT OPUS DISCOVERY 1 HARDWARE: The disk drive is integrated in a large metal housing painted in black and incorporates the 3.5" disk drive and the large interface card with a parallel printer interface, a software switchable Kempston protocol joystick interface and a monochrome composite video output. The unit also features an extension port for further peripherals, but the NMI line on A14 is not brought out, which means further ROM based peripherals cannot be connected. Provision is made for a second disc drive which may be fitted into the unit by purchasing the Discovery Plus package. This, however, must be installed by the Opus factory. Discovery 1 accommodates both the Spectrum and the Spectrum Plus, and both computers may be screwed permanently to the unit. SYSTEM DESCRIPTION: Except for minor differences, the Discovery 1 system is completely software compatible at command level with the microdrive system and includes some extra extensions to various commands. Streams and channels are used for the access to the individual input and output devices. The main channels are: K for input from keyboard and output to the lower part of the screen; S output to the upper part of the screen; P for output to the ZX printer; M for input and output to a disk file; B for binary input or output to the parallel port; T for ASCII input or output to the parallel port; CAT for access to the disk catalogue file; CODE for writing or reading directly to memory; D for disk access used in conjunction with a MOVE command; J for switching the joystick port on and off and # to open one stream to another. An excellent feature provided by Discovery 1 is the possibility of creating a RAM disk within the Spectrum RAM area for fast file handling. To this purpose the RAM area needs to be formatted similar to a normal disk and files created o r transferred to the RAM disk area for processing. When the processing is completed, the files may be moved back onto disk for permanent storage. Data storage can be performed via serial or random access files. An existing datafile may be extended with the use of the EXP command extension, random access requires the setting up of fixed record lengths when opening a new random access file. The Discovery 1 is a 2 drive system using only one drive. By using drive 1 and drive 3 the operating system remembers which disk is currently in the drive and asks for a change of disks whenever it needs to write or read from the other disk. The Discovery 1 has a socket for a 2K RAM chip and this may optionally be fitted. All the operating system tables get copied into it and this means the whole drive system may be configured. New commands and channels may be added and error messages changed. All the floppy disk parameters are stored in the RAM chip and this means that Discovery can be used with any sized disk. The sector size may be changed to 1024 bytes for very fast operation or to 128 bytes for memory saving applications. The RAM disk may also be reconfigured to reside anywhere in memory, be of any length and even have a variable block size. Programming expertise is a requirement for this kind of configuring, but Opus will provide technical information for machine code programming. SYSTEM COMMANDS1: CAT(drive) displays the catalogue of the disk in the specified drive. CAT#(stream); (drive) sends the catalogue of the disk in the specified drive to the given stream. CLEAR# clears out all open streams and makes them available for further use. CLEAR# (stream) clears out the specified stream. CLOSE# (stream) closes the specified stream. CLS# clears the screen and sets the display attributes to their defaults CODE(start address), (no. of bytes) is an extension to the LOAD*, VERIFY* and SAVE* commands which allows a block of memory to be saved, loaded or verified. DATA(array name) () is an extension to the LOAD*, VERIFY* and SAVE* commands which can be used to save and load numeric or string arrays. ERASE(file spec.) erases the specified file. FORMAT is used to set up channels "j", " m" and "d". FORMAT "j"; (status) is used to turn the joystick on or off. FORMAT"m"; (drive); "(drive title)" is used to format a disk. "m" may be omitted since it is the default channel. To set up a RAM disk a RAM area has to be cleared and drive number 5 used: CLEAR 32767 ENTER followed by FORMAT 5; "ramd" after which the disk system will recognize RAM disk as disk number 5. INKEY$# (stream) reads one character from the specified stream. If the stream is associated with an "m" channel the command will only return a null string when EOF has been reached. Other slow channels ("K", "t" and "b") will return a null string when a character is not available. INPUT#(stream); var1; var2;... inputs values from the specified stream. If used when inputting from a file, the variable list must be separated by semicolons and not commas to make sure there is no output to the stream. In the file the values to be read must be separated by the ENTER character. LOAD*(channel spec.) loads a programme and variables from the channel specified. LPRINT#(stream); var1, var2, prints the values of variables in the variable list to the specified stream. LPRINT sends the variables to the stream 3 (the ZX printer). LLIST lists the programme to stream 3 (the ZX printer). To list programmes using the parallel port stream 3 must be opened to the "t" channel. MERGE*(channel spec.) merges a programme and variables with the programme and variables already in the memory. MOVE A TO B transfers information from an input channel or stream A to an output channel or stream B. The process is terminated with an End Of File. For input from a slow channel, an End of File must be generated by pressing SHIFT and ENTER simultaneously. OPEN#(stream); (channel spec.) (access) associates the specified stream with the channel given. Possible types of access are IN or OUT. For the "m" channel the following options are available: EXP expands a serial file for output only and AND allows input and output for random access files OPEN#4; "m"; 1 ; "sample" RND 15,10 creates a random access file "sample" with a record length of 15 bytes and with room for 10 records. For the "t" channel a printer width can be specified: OPEN#4; "t"; 0 RND 80. POINT#(stream); (record number) sets the file pointer to the start of the given record in random access files. PRINT# (stream); var1 ; var2;... prints the values in the variable list to the specified strea. SAVE*(channel spec.) saves the current programme and variables to the specified channel. If a BASIC programme is saved with the filename "RUN" followed by the LINE extension, the programme will automatically run after being loaded. USR 0 resets the Spectrum, but not the disk system. USR 14070 resets the Spectrum and the disk system. USR 8 returns the version number of the disk software. USR 432 returns the number of bytes remaining in the current stream. ERROR REPORTS: 13 error reports. EXTRA FACILITIES: Centronics parallel printer port, software switchable Kempston type joystick port and monochrome composite video output. MANUAL: Comprehensive 34 page manual with extensive introduction to the disk system, detailed description of the operating procedures, command reference guide, error reports description and connector details. APPLICATION PROGRAMS: None included. Selection of disk software available from Boots. CRITICISM: None COMMENTS: Comprehensive disk system with good extended BASIC commands, excellent file-handling facilities including random access file management, time saving RAM DISK feature and host of extras such as the parallel printer port, joystick interface and monochrome video output. MEDIA: 3,5" hard cased disks as used with Amstrad and Tatung computers. Price of media: Single sided from £2.40 to £4.10 excl. VAT, double sided from £3.60 to £4.75. TECHNICAL SPECIFICATION: Number of drives per system: 2 Storage capacity: 180 Kbytes per side Number of tracks: 40 Number of sectors per track: 18 Sector size: 256 bytes TIMING: Formatting: approx. 17.5 sec Cataloguing: approx. 4sec Loading a screen: approx. 4sec PRICE: £99.95 including VAT
Sinclair User #44Nov 1985 · p.47
SYSTEM SWITCH THE NEW Kempston disc interface, a development of the Watford SPDOS, is one of the fastest interfaces we have seen for the Spectrum and it has some useful features. Reliability proved to be a problem as the interface refused to work with either our own drives - used on all other Spectrum disc interfaces - or the Opus drive. That problem was eventually identified after trying three interfaces, and subsequent units should not suffer the same fate. If possible, either check with your own drive or buy the combined interface/disc drive package from Kempston. The interface was subjected to one of the longest tests we have ever given and it passed with flying colours. At its simplest level, you can use the interface as you would a tape deck, to load or save a Basic program, Code or Data. You use the same commands as you would for tape but precede them by PRINT £4. One useful byproduct of the system is that you can open channel three to a file on the disc. That means as this channel normally points to the ZX Printer, you can LPRINT to the disc and then later print out the file. As well as Format, to initialise the disc, the usual Cat (display what is on the disc), Erase (delete a file from the disc) and Move (a file from one disc to another) are provided. They allow the use of wild-cards. The interface has a number of extensions to Sinclair Basic. Clear can be used in two ways: Clear 0 will look through a Basic program and change all numbers to VAL "number", which saves three bytes per number. It also changes zero to NOT PI, one to SGN PI and three to INT PI which saves five bytes a time. On Tasword that saves about 1200 bytes, more than enough to offset the 703 bytes taken up by the interface. The Kempston interface provides a fast and usable system. Provided Kempston can ensure the interface will work with a wide range of drives it should do well. The interface alone costs £85, and a system including a 40-track drive is £185, both inclusive. It is not compatible with Interface 1. Kempston MicroElectronics, [redacted].
News/Note5
- Sinclair User #44Nov 1985 · p.47
- ZX Computing #20Aug 1985 · p.12
- Your Spectrum #16Jul 1985 · p.5
- Home Computing Weekly #115Jun 1985 · p.6
- Personal Computer News #109May 1985 · p.2
Feature2
- Crash #23Dec 1985 · p.108
- Your Computer #11Nov 1985 · p.48
Full-page ad2
- Sinclair User #41Aug 1985 · p.2
- Sinclair User #40Jul 1985 · p.12
Review1
- Popular Computing Weekly #45Nov 1985 · p.14
Related
- Versions
- Watford SP-DOS (Derived from)
- Same entry at
- Spectrum ComputingZXInfo
Reviews from people here
Sign in to write about this, or make an account. It takes a minute and lets you correct the catalogue too.
Everything ZXDB can hold about this is here.
Sign in to correct or add to this.
Hold the rights to this and want it taken down?