It took a long time for those in the sport of running to first break the four minute mile. Until it actually happened, there were those who actually considered it impossible. Once done though, the feat was repeated again and again until today, where the act is almost commonplace.
This microdrive interface is not the first. As in the example of the four minute mile, it follows on the heels of the success of others. But the “state of the art” is still in its infancy. This interface includes some features not found in earlier designs and those new features will hopefully keep it from being grouped amoung the “also rans”.
We’ll see.
One thing it has in common with all of its predecessors is that it’s an excellent way to destroy an expensive computer through a careless mistake. If you want to build this or any other microdrive interface, then for heaven’s sake, BE CAREFUL!
For those looking for a bit of background, Sinclair’s ZX Microdrive is a small closed loop tape recorder that runs very VERY fast, in comparison to cassettes. Sinclair tries to compare them to floppy disks, but your friends with Apples or IBM PCs would find the comparison amusing, so don’t take it too seriously.
TIMEX had planned to introduce microdrives for the TS2068, but never got around to it. The Sinclair microdrives are intended only for use with the Sinclair Spectrum, and then only when plugged into another peripheral called Interface One. (Sinclair has also sold an unrelated gadget called the Interface Two, but they try not to call attention to the fact! Now do you see how this article got it’s name?)
Unfortunately, the Spectrum Interface One will not get along unaided with a TS2068. When Sinclair designed the Spectrum, its rear connector signals got arranged quite differently from its predecessor, the ZX-81 (that’s like the TS1000, for you new kids.) TIMEX’s design included an attempt to put things back the way they were, to allow for compatability with more types of peripherals (the modem, for instance). Furthermore the use of newer memory technology allowed TIMEX to discard some of the Spectrum power supply voltages; they’re not at the rear connector at all.
There are more problems. Differences in ROM code cause several conflicts, particularly in the ways RAM is allocated. TIMEX’s addition of bank switching capabilities complicates certain memory control problems. Lastly, Sinclair has not completely decoded the Interface One I/O ports. Because of this, use of the TS2068 ports for joysticks, sound, and bank switching might inadvertantly mess up the microdrives.
Although the INTERFACE ZERO is an electronics project, it might be more aptly described as an exercise in advanced art of macrame! This is because the wires between the TS2068 and INTERFACE ONE connectors zig-zag around so. Nazir Pashtoon of the L.I.S.T. group calls his interface the “twistor”. Only after actually playing with the interconnections can one understand how appropriate the name is. (If you’ve read this far, you’ll probably be interested in Mr. Pashtoon’s excellent articles on the subject. They’re in the December and February newsletters from L.I.S.T. Check the club library.) In any case, if your soldering skills could do with some improvement, you might want to get some more practice before starting a project like this one. Remember, if anything burns up, you’re on your own!!!
Before starting, you’ll need some sort of Spectrum Emulator. This circuit has been tested and works with Doug Dewey’s EMU-1 emulator, which he’ll be glad to sell you. Of course, it also works with my “Extra Simple Spectrum Emulator”, SINCUS NEWS, Feb 1985. If you’d rather build one on the ITERFACE ZERO board rather than on a cartridge board, please first see “UPDATES” in the TIMEXly Tips Section following this article.
The INTERFACE ZERO plugs between the TS2068 and the Sinclair INTERFACE ONE. Taking a look at the INTERFACE ONE,we see that its female input connector angles downward rather sharply. This is because the unit was intended to be permanently screwed to a Spectrum, and give it a downward slope, somewhat like a typewriter keyboard. While this is all very nice for a Spectrum, it means that you’ll have lots of trouble extending a rigid circuit board between it and your TS2068.
I’d suggest that the board of INTERFACE ZERO circuitry be firmly attached to the female TS2068 connector, while the male connector to the INTERFACE ONE be attached at the end of a 5 – 6 inch ribbon cable. Because of the large number of connections involved, multicolored ribbon cable is well worth the extra expense. The connector pinouts in the diagram were laid out to give you sufficient room to write in the color of each wire. Note that the insulation of some ribbon cables will curl back when the wire is soldered.
By the way the TS2068 takes a double sided, 64 pin female edge connector with .1 inch spacing between the pins. Note that the most commonly available edge connectors have a different spacing, so check carefully, before you buy. It would be a good idea for you to remove two of the pins and glue in a plastic key to match the slot on the TS2068 board. The INTER- FACE ONE takes a double sided 56 pin male edge connector (I used a piece cut off of a scrap P.C. board) with a slot sawed through the proper pin to accomodate the key on the INTERFACE ONE connector. The spacing here is also .1 inch. Those who plan to raid their “junk boxes” for parts may proceed to do so It should be perfectly O.K. to pervert a TS2068 protyping board for the task, but be careful to get one that handles a full width TS2068 connector. Some “TS2068 Prototyping boards” are only as wide as a TS1000 connector, and they can’t contact all of the necessary pins.
An explanation of the two connector pinouts is in order. Both TIMEX and Sinclair prefer to show the locations as if you were viewing the female connector. This means that the picture shown may be a mirror immage of what you’d prefer. Be sure to note which are the solder and component sides, and where the slot is, and you shouldn’t have any trouble.
INTERFACE ZERO-adding Microdrives to your TS2068
My diagrams also group the pins into four different types Some just have signal names, some also have small lines coming out, some instead have arrows, and some are completely black. The black pins should not have any wires attached to them when constructing this project. The pins with names but neither lines nor arrows should be connected directly to the pin of the same name on the other connector. The pins with lines coming out go directly to the other connector, but also go to the accompanying schematic diagram. The pins with arrows coming out don’t go to the opposite connector at all; they only go to the schematic diagram. I know these directions are complicated, but please be sure you understand them completely before you plug in your soldering iron. Mistakes can be costly!
One very important tip in construction is to make sure that you have some way of physically securing all wires to the connector in addition to their electrical connection. They must be secured so that even when the ribbon cable is flexed, the wires will not move at the points where they’re joined to the connector pins. If this isn’t done, then moving the ribbon cable will eventually cause wires to break off at the connector. Since the INTERFACE ONE is not cheap, you don’t want to risk damaging it with a short circuit, or just having the headache of an unreliable microdrive system. Coming up with a good way of physically securing everything probably delayed my project by a day or two, but it was worth it.
When it’s wired up, except for the regulators, and before inserting the chips in their sockets(don’t build it without sockets!!!) check for shorts on adjacent connector pins with an ohmmeter. Next, check for continuity on all connections. This done, insert the chips and regulators, plug it all into your TS2068 and “fire it up” (hopefully, without a real fire)! Make sure you get the copyright message and check the regulator voltages. The 7812 should give 12V and the 7806 with the resistor in its common lead should give somewhere from 8 to 10 volts. Shut it off again.
Now it gets interesting. Plug in the INTERFACE ONE, but without the microdrive, for now. Make sure the switch is in the Spectrum position, and make sure your Spectrum Emulator is in place. Bring it up in the Spectrum mode, or in the case of my “Extra Simple, etc.”, type in the commands that will switch it to the Spectrum mode. When you get the single copyright message, type CLS # and press ENTER. Normally, this is improper syntax, and the machine won’t accept it. If the INTERFACE ONE is working, however, it will be recognized as a new BASIC command, and will give you an “O.K.” message.
Now for the moment of truth. Shut it down, plug in the microdrive and bring it all back up in the Spectrum mode. Insert a BLANK microdrive cartridge (no need to risk ruining any of the nifty software that comes with your hardware), press RUN and then ENTER. If the microdrive light comes ON and you get the message “Microdrive Not Present” then CONGRATULATIONS! You’ve done excellent!! It’s time to insert one of the programs they’ve given you, go into fits of ecstasy from the rapid loading, and start sneering at your old casette recorder. Your computer will never be the same!!
So why another microdrive to TS2068 interface? Why not use one of the other published circuits? You can. They’re simpler, but in some ways they’re less versatile.
With this circuit, for the first time, the INTERFACE ONE won’t interfere with the computer when it’s operating under the TIMEX ROM, and the I/O ports that TIMEX added won’t confuse the microdrives. (In this case, the switch should be in the TS2068 position.) None of the commands for the microdrives work in this mode, but I’ve been able to get the microdrives light and motor to come on, giving hope that the proper software can be developed.
This circuit will also be compatible with the memory expansion banks I’m developing. (An ideal place for the microdrive software, come to think of it.) An arbiter to prevent the INTERFACE ONE and the expansion banks from conflicting can be readily added though the connections labeled “for future expansion”.
INTERFACE ZERO-adding Microdrives to your TS 2968 (cont.)
The circuit works fine both with the EMU-1 and my “Extra Simple Spectrum Emulator”. Since it successfully uses the BE line, it will probably also work with a ROMSWITCH, or with a Spectrum ROM plugged into the TS2068 board, but these haven’t yet been tried.
A quick explanation of the cicuitry is in order. The INTERFACE ONE contains its own ROM, which it pages into the lower 8K of memory when an instruction is executed from memory location 0008. It “observes” this when the address bus contains 0008, MREQ is in low, and MI is low. With the switch in the TS2068 position, it never sees MI going low, and so it is effectively disabled. This is necessary when the TIMEX ROM is active, since they’re not compatible. As such, our own machine code may someday be able to cotrol the microdrives when the computer is in the TS2068 mode.
If the switch is in the Spectrum mode however, (a Spectrum emulator should also be active, in this case) the above situation will cause ROMCS on the INTERFACE ONE to latch high. In a “real Spectrum” this merely “shuts off” its internal ROM, allowing the INTERFACE ONE ROM to take control. Since we don’t have ROMCS on the TS2068, we use BE, which disables all memory when pulled low. Since we only want it to disable the ROM, we introduce additional address decoding so that BE is only low when the address bus points to the ROM. Using line A13 is unnecessary, since the INTERFACE ONE normally disables the whole 16K Spectrum ROM, even though it only replaces 8K. Including MREQ in the decoding is not only unnecessary, but it will also cause BE to go active one half clock cycle later. Depending on how much extra leeway is allowed in the computer’s memory timing, this may be unacceptable. As it is now, BE goes active long before the memory can ever be enabled, so we don’t have to concern ourselves with this unknown timing specification.
The 1K pulldown resistor on ROMCS is there because ROMCS is normally either high or in the high-impedance state. To a normal TTL circuit, this always appears to be high. Unfortunately, pull-down resistors are not as general purpose as pull up resistors. The value used depends on the number and type of TTL gates connected to the point. (Although we try to hide the fact, digital electronics still has an analog side.) Unless the resistor is made somewhat smaller, we can’t guarantee that the circuit will work if more than one additional LS-TTL load is attached there, so BE CAREFUL if you’re planning additional modifications.
The 74LS30 and LS04 combination maps the INTERFACE ONE only into ports F7 and EF, which are all they need. (Port E7 is also mapped in by this circuit; but don’t use it!) It turns out that Sinclair has the disgusting habit of only decoding a single bit in its I/O ports, so that a single port will erroneously resond to many port numbers! TIMEX corrected this in the TS2068, and assigned many such numbers to new functions that they added! The new I/O map accomodates this by selectively gating out IORQ.
Unfortunately, this means that any other Spectrum peripheral plugged into the back of the INTERFACE ONE won’t get the proper I/O signals, unless you run the IORQ to it from the TS2068. This is sad, but the intent of this circuit is to provide an environment that tolerates the presence of the INTER- FACE ONE, no matter what. (If you take a close look at the low quality connector built into the INTERFACE ONE, you’ll ever after hesitate to unplug it.)
The reset button is just a handy thing to have, as long as you’re putting in some wires. Note that it won’t work with an EMU-1 active, since RESET causes code to be executed starting at memory location zero. The EMU-1 EPROM doesn’t contain executable code at this point. Doug Dewey tells me that his OMNI-EMU can be outfitted with a Spectrum ROM. The reset switch should work with this, or any other emulators based on an actual Spectrum ROM. (But I’ve only actually seen it work with my “Extra Simple…etc”).
The regulators are just that. They provide some of the Spectrum voltages absent at the TS2068 connector. The 680 ohm resistor under the 7806 is a kludge that turns a 6 volt regulator in something like a 9 volt regulator. If you can obtain a 7885 (8.5 regulator), you can probably get rid of the resistor, and try this instead.
The resistor marked “see text” has yet to be determined. A simple wire will work, but the regulator will run a little hot. When a manufacturer rates a regulator at one amp, this is usually just clever specsmanship. That one amp is valid only under ideal conditions (infinite heat sink, minimum input output differential voltage, etc.) that you can’t possibly duplicate. As such, an additional one or few tens of ohms may help keep things cooler. Since I haven’t yet come up with a good value, I won’t give any numbers, yet. But, I’ll tell you what works for me if you’ll tell me what works for you! The cooler the regulator, the greater the chance it’ll keep working. If someone out there has the spec. for the motor current we can probably solve this once and for all. In any case,this like all “Spectrum adaptor” circuits, is still experimental. It works beautifully, but it may yet need some fine tuning.
This article is not copyrighted. You are free to build 1 or 1000 of this gadget. If anyone wants to sell them I’d appreciate you sending me one or two units as a courtesy, but you are under no obligation to do so. I’d like to hear from any and all folks who’d like to swap ideas!
PLEASE SEND YOUR QUESTIONS OR COMMENTS TO ME
Wes Brzozowski
[address omitted]
Endicott, New York 13760
PLEASE enclose a stamped, self addressed envelope if you wish a reply. I’d also be pleased to speak to you on the phone [phone number omitted], as long as you call, don’t call collect, and call before 9:00 P.M. Eastern time. Stay tuned to this space for future devlopments!