TECH NICHE

Continuing his ongoing mission to find the perfect Spectrum system IAN CULL investigates another potential + basher — the new Swiftdisc II interface. Our resident techie also shows Clare Rayner a thing or two in answering readers’ embarrassing hardware problems.

SWIFT DISK LOADING
Sixword’s latest Spectrum add-on

FED UP waiting for tape-based programs to load? You might consider upgrading to a +3, but another option is to purchase an interface and 3.5 inch disk drive — a lot faster than the +3’s 3 inch drive.

Swiftdisc II is a new disk-drive interface from Sixword Ltd which allows you to use a wide variety of 3.5 inch disk drives with the Spectrum, and is an improved version of the original Swiftdisc interface.

Unlike its predecessor, which fitted underneath the Spectrum, the Swiftdisc II fits right behind the edge connector and has a through port allowing other peripherals to be used simultaneously. I had problems connecting the interface as it is quite large — there is just room on my 48K machine to connect to the tape and power sockets, but my fitted ON/OFF switch blocked access to the interface’s joystick port.

‘The interface is compatible with 48K and 128K machines’

The Swiftdisc II is compatible with both the 48K and 128K Spectrums, and has a built-in magic button which, unlike the Plus D, calls up a complete disk control program when pressed. The Swiftdisc II can, as well as controlling the disk drives, control a printer through standard RS232 or Centronics ports, and offers a Kempston joystick interface (however, all these ports are optional — see details of prices). The system I tested had a Centronics printer port, Kempston joystick and ‘Microdrive Hardware Mapping’ (more on this later).

The interface can be used in three completely different ways: from the magic button, from Spectrum Basic or from a microdrive emulation mode. Button control is the simplest and will be the preferred method for many users, especially those primarily using the drive just as a way of loading games more quickly than tape. When the magic button is pressed, part of the screen is cleared and a prompt appears. It is then possible to LOAD and SAVE machine code files, screens or ‘images’ (which are like Multiface snapshots). It is also possible to catalogue or format disks, erase, copy or rename files, or protect individual disks from erasure. A complete disk can also be backed up to a second disk but this is an operation that will rarely be used, since it apparently takes up to 30 disk swaps (I didn’t try it!). There are also magic button commands to enter pokes, reset the Spectrum and return to the interrupted program (the screen is restored first).

‘It can be used in three completely different ways’

The Spectrum Basic commands (for example LOAD %0;"file") largely duplicate the magic button functions — allowing running Basic programs full access to the disk. An additional feature is that Spectrum streams can be used — so the Disk Catalogue can be redirected to a printer (using CAT %3,0): either a ZX or Alphacom printer, or one connected to the Swiftdisc’s printer port (once it has been FORMATed). The Basic SAVE command can save machine code and screens, like the magic button function, but can also save Basic and data arrays, handling all the normal SAVE/LOAD options. There are also OPEN and CLOSE commands for setting up streams to files (allowing a file on disk to be PRINTed to or INPUT from), though the OPEN# %5;"file" syntax is a little hard to get used to.

One of the most powerful features, however, is the Swiftdisc’s option of ‘fixed length’ (or RANDOM ACCESS) files, as well as the normal ‘sequential’ files. Most Spectrum disk systems (including the +3 and Plus D) can only create ‘sequential’ files — a program can PRINT to a file (which puts data in it) or INPUT from one (which reads the data back). The Swiftdisc II has this facility — enhanced with functions to append to the disk file (for adding more data to an existing file) and to test for an end-of-file condition (which would normally result in an error).

‘A complete disk can be backed up to a second disk’

ANOTHER feature offered by Swiftdisc II is the ‘Fixed Length Record’ mode. This allows a program access to any individual record in the file almost instantly by referencing each entry by number according to its position in the file. The only disadvantage of this system is that all items in the file must be the same size. This facility is available to Spectrum Basic using IN% and OUT% commands and makes it possible to write database programs handling a full disk of data (more than 600K). The example program uses the commands to almost instantly recall from the disk file any pre-calculated prime number (after another program has created the file on disk). The only other Spectrum disk system I know of which can do this is Mallard Basic running under CP/M +3.

SWIFTDISC II EXAMPLE

 5 CLOSE# %4
10 OPEN# %4;0;"primelist","R","R",5
15 REM opens primes file - each number takes 5 bytes
20 DIM P(1)
25 REM all IN/OUT is via arrays of numbers of characters
30 INPUT "Which prime?";X
40 IN %4;P(1),X
45 REM get entry X into P(1) array
50 PRINT P(1)
60 GO TO 30

Other Basic functions include error handling (%ERR and %LINE give the error code and the line on which it occurred) and a file date stamping facility (use LET %DATE = "dd/mm/yy" on power up).

The final way to use the Swiftdisc II interface is via ZX Interface One emulation. This is initiated by loading an emulator program (LOAD %0;"EMUL") purchased separately at £12. Once loaded, the Magic Button is disabled and the emulation gives up to 4 pseudo-microdrives on one disk (numbered as you choose from 1 to 8) — each is 127K in size and can hold up to 50 microdrive files. The emulation (of a version one ZX Interface One) is very compatible with existing Spectrum software — especially if the optional Hardware Mapping facility is purchased (this is £11 on top of the microdrive software, or free with either printer port). The hardware simulates the circuits of the Interface One so that even software which directly accesses the interface (to check whether a cartridge is inserted for example) will run correctly — the hardware also fixes the CLOSE# bug (a bug in the Spectrum ROM itself).

For tests, I ran Hisoft’s Devpac (versions 3M21 and 4), Oasis Software’s Laser Genius (a superb package — bring it back on the market, someone!), Beta Basic (version 3.0), Supercode 3.5 (another useful package) and Imbos 2.0. I also ran, without problems, an extended catalogue program (modified from listings in the Hisoft manuals) and the *MOVE copier program that came free with the Microdrive Expansion Kit. In fact, the only program that I could not get to work was Microdrive Doctor from PIPEQ.

‘Fully compatible with ZX Interface One’

The Swiftdisc II is also fully compatible with ZX Interface One, allowing microdrives to be used even while it is connected. A program supplied with the microdrive emulator disk automatically transfers whole cartridges to pseudo-microdrives on the disk (though it omits ‘hidden’ files starting with CHR$ 0, and gets confused if files are multiply-saved using the POKE 27391,x trick). Loading the same 48K image program took about 7.5 seconds, compared with 3.7 seconds on the Plus D and 30 seconds on the +3 with Multiface 3 — this shows that the Swiftdisc doesn’t quite live up to its name!

‘The Swiftdisc doesn’t quite live up to its name’

The Swiftdisc II is compatible with normal Multiface Ones, except in microdrive emulation mode — but my Disciple-compatible Multiface worked fine all the time, and saved images onto the pseudo-microdrive correctly. It is difficult to decide how fast the microdrive emulation is compared with the ZX microdrives — since microdrive loading time varies enormously, depending on how the files are laid out on the cartridge. At a guess I would say that SAVEing is quicker than cartridges, and LOADing is slightly slower — however, the disks are much more reliable! FORMATing (after the first, which sets up the disk) is almost instant, and the RAMTOP bug (which crashed the Spectrum if a LOAD was attempted when there was too little free memory) has been cured.

‘The RAMTOP bug has been cured’

Prices for the Swiftdisc II vary from £50 for the basic interface to £172 for the interface, drive (which has a built-in power supply and formats 3.5inch disks to more than 600K), RS232 port, microdrive emulator software and hardware, and Kempston joystick port. If you want one of the interface write off to Sixword Ltd. I recommend the Swiftdisc II system to any serious Spectrum user wishing to upgrade from microdrives — games players and non-microdrive users may wish to compare prices with the MGT Plus D system.

Z80 LEARNERS

FOLLOWING THE recent proliferation of tape-based magazines and newsletters, comes one on ‘old-fashioned’ paper, from Nicholas Lewis. He has sent me issues 1 and 2 of the Advanced Z80 machine code newsletter. Issue 1 begins somewhat patronisingly ('our friend the ROM chip...') but settles into a quite useful two page discussion on calling ROM routines to plot/unplot a single point on screen, and to draw arcs. Issue 2 expands on these routines, combining them into a complete program to draw shapes using a general point/line/curve table. Colour and sound is promised for future issues.

The newsletters are short (just two A4 sides each) but not too expensive (50p per issue, including postage). Most of the assembly code written is quite well documented, line by line, though this will become less detailed as the programs increase in size. If you are planning on getting serious about machine code, give these newsletters a try. However, please note that you will need an assembler program to make use of the examples.

For those in need of more basic machine code programming details, Nicholas also produces a Beginner’s Guild (sic). Part 1 is well presented and consists of eight A4 pages. In it, Nick first gives a background on machine code programming and the Z80, then leaps straight in with code sections and descriptions of how the chip inside your Spectrum really calculates things. It seems to me to be rather heavy going for a beginner, but it may get you learning fast. I was not informed of the price (naughty, Nick) so write to him for details, and get to the heart of your Spectrum.

ASK IAN

THIS MONTH Tech Niche catches up on readers’ letters — revealing the painful and often heartbreaking side of living with a Spectrum that has personal problems. If you too are suffering with your Sinclair masterpiece please write in and I’ll try to print a solution. Personal replies are not always possible, but if you’re really desperate enclose an SAE and I’ll see what I can do.

Our first problem comes from MJ Hopper who is having difficulties getting his 8056 printer copy routine to work on his Spectrum +2 — it simply feeds blank lines! Well, MJ, the program you are using is not designed to work on the +2, but make sure that the printer port is set up to send all characters — ie in Binary/Unformatted mode, not Text mode. In text mode the printer control sequences are filtered out by the Spectrum.

Paul Squires wants to know how good the 8056 printer is for use with his +3 — the simple answer is ‘almost usable’ if it is free! Screen dumps are difficult and it uses expensive, difficult to obtain, paper. Much better to buy a ‘real’ printer, if you can afford it.

John Jones has a faulty Alphacom 32 printer which he wishes to repair himself! I would recommend having it done properly, but if you want to try, send me an SAE and details of what is wrong.

Tim Lewis has a 128K Spectrum which goes out of tune with the television after only a few minutes. This sort of problem is normally caused by something overheating. Try swapping your television lead and power supply with that of a friend with another Spectrum. If that doesn’t cure it then — if you feel brave enough — dismantle the machine and check that the regulator is attached securely to the large heatsink inside the Spectrum.

Craig Dobson wants to do word processing on his Spectrum +2, as does D Lasselles. The most expensive item is always the printer (which will cost £150–£200 for a reasonable one) — second hand ones will still cost around £100. A disk system will cost around £150, but for a really cheap solution buy a Rotronics Wafadrive. This costs under £20 for two drives, and also has a printer port built in — it’s nowhere near as fast as a ‘real’ disk drive, but does work! Also, Spectral Writer is a word processor program written specially for the wafadrives and may still be available — try Logic Sales Ltd or Microsnips. Other word processing programs include Tasman Software’s Tasword series (a popular program) which can do almost everything except mix text and graphics — for that look at PCG’s WordMaster/Typeliner/Headliner suite which is complex but very powerful (a full review soon).

Scott Stemp asks whether the SAM Coupé will be able to use Spectrum +3 disks and 128K games. Unfortunately not, Scott. The SAM Coupé will use much faster, higher capacity 3.5 inch disks, and has a very special arrangement for using its extra memory which is different to the method used by 128K Spectrums.

Brian Gawthorpe wants to know if the SAM Coupé will be compatible with the Swiftdisc interface — possibly, but not for certain. If you want to keep up to date with details of the SAM project, consider joining MGT’s user group, INDUG.

‘Buzby’ wrote asking about getting more than one life with CRL’s 3D Game Maker, then sent in a solution to the same problem! The program, which allows 1 to 255 lives on a game, is too long to print here — anyone interested should send an SAE.

Finally, Bernhard Lutz has written to see if Powerprint II, from Buttercraft Software (CRASH Issue 30) is still available. Does anyone have an address for them? Alternatively, Bernhard, you could try Bradway Software’s Letta Head Plus (which is similar I believe).

PROBLEM SOLVED!

TESTS HAVE proven that no matter which other magazines people read, they always know where to turn for help: CRASH, of course! One such person is Darren Blackett. He has sent in a listing from a rival magazine for a screen dump program (for his Tandy DMP 106 printer) which he cannot assemble (doesn’t say why). Sorry, Darren, but I can’t print the other magazine’s program here (copyright and all that). Send details of your assembler problem and an SAE and I’ll sort it out.

HEAR DRUMS

Gary McCloskey has sent in a short machine code program which gives a drum-like sound to any Spectrum. Type in and run the listing and get down to that beat!

 5 CLEAR 59999
10 DATA 1, 160, 0, 17, 1, 0, 10, 38, 0, 111,197,205
20 DATA 181, 3, 193, 11, 120, 177, 200, 24, 241
30 FOR X=60000 TO 60020: READ a: POKE x,a: NEXT
40 RANDOMIZE USR 60000
50 PAUSE 20
60 GO TO 40

+3 CORNER

MARK THOMPSON has sent in a program which allows the Spectrum +3 editor screen colours to be altered to give black characters on a green screen, which may be easier to work with than the normal colours.

 5 CLEAR 29999
10 RESTORE 10: FOR f=32788 TO 32792: READ s: POKE f,s: NEXT f
20 DATA 243, 62, 23, 1, 253, 127, 237, 121, 62
25 DATA 32: REM Editor Attributes
30 DATA 50, 17, 236, 50, 15, 236, 62, 16, 1, 253, 127, 237, 121, 251, 201
40 RANDOMIZE USR 32768
50 BORDER 4

Dorian Rodney wrote, some time ago, about connecting an Amstrad CTM640 colour monitor (the one that comes with the Amstrad CPC6128) to his Spectrum +3. I have now got this system working on my machine, using a cable that I made specially (see wiring picture for details). You will need an 8-pin male 180 degree DIN plug and a 6-pin female 240 degree inline socket. The five connections between the two should be made (use four core screened cable, the screen being used for pin 2 to pin 5). You should be able to get the monitor working perfectly without any internal adjustments — though the display may be rather bright (if this is the case, there is an internal ‘sub-bright’ adjustment — have a qualified electrician set this up for you). DO NOT, under any circumstances, open the monitor even if it is switched off! There are extremely high voltages present within, which remain for many hours even when the monitor is unplugged! The only problem with this monitor is that there is no sound; I built up a Maplin Electronics kit (LM76H, under £5) which gives ample sound when run off the (now redundant) 5 volt supply from the CTM640.

Ian Collier has written in to point out that my ZX Print program (Crash issue 60) can’t work on the ZX Printer since there is no 9 volt power signal for it to run from — true (the Alphacom works fine, which is what I tested it on) unless you try using MGT’s Fixer. He also gives details of un-SPECTRUMing. After typing SPECTRUM from +3 Basic, if you type in RANDOMIZE USR 23354 you will be back in +3 Basic. This should work on the +2A too, but probably not on earlier Spectrums. Don’t use LPRINT/LLIST/COPY while in 48K Basic, though...

For some fun with your Spectrum +3, Ian suggests the following: type in COPY RANDOMIZE and press ENTER. After a short delay, the error cursor will appear (obviously). Now press ENTER again, but hold down P, L, Z and C during the delay — you’ll need to be quick (keep trying if nothing happens the first time)! After the fun, RESET is the only exit, so make sure there’s nothing loaded! Also, from the test screen (hold down BREAK while pressing RESET) press E, U and A then play a tape. Finally, try typing FLASH 1 then pressing ENTER from the +3 Basic editor, the press EDIT — yuk!

IMPROVED PLUS D HACKER

A NEW VERSION of Plus D Hacker has arrived at CRASH, and is now available from Bettabytes for £12.95 on 3.5 inch disk. Changes from the version reviewed in CRASH Issue 62 include a disk test/repair program (which takes 35 minutes to run — I didn’t try it!), a file restore command (an UNERASE), and an automatic tape to disk transfer routine. There are also routines to compress snapshots — they take quite a time (up to 5 mins per file and are awkward to use (reloading is no longer a simple LOAD) but they certainly work, eg a Nebulus Snapshot was reduced to 32K. The actual ‘hacking’ routines now use the full screen display (rather than just one third) but seem otherwise unchanged. One final point — Plus D Hacker is no longer compatible with version 1 Plus D interfaces.