Projects

Romantic Robot Multiface 128 Re-Creation

A while ago, I remembered what fun I had on the Sinclair Spectrum, an AT&Y SPEC-MATE and Microdrives, hacking games for infinite lives and such. Sadly, try as I might, I can’t find a SPEC-MATE for sale anywhere (please contact me if you have one!). This led me on to the Multiface. A device produced by a company called Romantic Robot. With one attached, the user is able to freeze a program, save it to a variety of formats (Tape, Microdrive, Disk etc.) and add ‘pokes’ (change RAM values) for said infinite lives.

I first tried to re-create a simpler interface, the Spanish Phoenix III. My prototype appears to work with the Phoenix ROM but can’t page out at the moment. It also seems to work with the SPEC-MATE ROM but with the same issue. Research on that one continues.

In the meantime, I sought to investigate how these interfaces work and see if I could re-create one from the hardware itself. I chose to work on the Multiface 128 since it is compatible with the 48K/128K and +2 models of Spectrum and I am in contact with someone re-creating the Multiface 3 which is compatible with the +2A/B and +3 models. Between us, all the models are covered!

The first step was to photograph the board in detail to use as a reference for re-building later and for chip placements etc. I will post the images I captured along with the design files below.

Following this, I stripped my Multiface down to bare board. I acheived this using a de-solder gun, a most useful piece of equipment. I tried very carefully to de-solder all the chips without damage. Sadly, the 74LS27 was very stubborn and got a bit mangled! On the positive side, the PCB wasn’t damaged at all during the process which means I should be able to re-build the interface at a later date.

MF128 Stripped

MF128 Stripped

I placed all the chips on an non-conductive sponge in a box, along with the rest of the components. The only part I didn’t remove was the edge connector and passthrough board. This would have been a difficult job to do without causing unnecessary damage.

I then proceeded to lay out a set of components in the EDA Program KiCad. A free Schematic capture and PCB Layout program. I recently converted from EagleCAD and I have grown used to the different methodology without too much difficulty. Once I had laid out a full set of components, some of which I had to draw from scratch, I added the connections for the edge connector. I prefer to use net labels to indicate connections rather than the more conventional bus lines. I find it makes for a cleaner diagram.

When I had completed the edge connector, I traced each connection along it. I started with the upper connections since they were easier to access. I followed the tracks with a pointing device, in this case a pencil! Where I was unsure a connection got to a particular destination due to interconnecting vias, I would double check with a multimeter set on it’s lowest resistance range. Most modern meters have a continuity/diode check that can be used for this purpose. My aged Fluke 73 has to make do with resistance ranges.

This process was quit painstaking but essential to get correct. Lots of the connections go to more than one chip’s pin so checking multiple times is essential. When I had gone through all the edge connector connections, I continued by tracing every chip pin one by one. The board isn’t marked so I added my own component designations to one of the images I had captured and copied those in KiCad.

Component Designations

Component Designations

Each chip pin was traced and gradually, I assembled the circuit diagram, line by line. Again, checking, double checking and even triple checking was necessary to avoid mistakes. After all the chips were done, I added the two resistors, NMI button and the protection diode on the edge connector. This diode is ommited on the prototype since I wasn’t intending to put a passthrough on it but can easily be added. Finally, after a good few man hours, the job was done.

Recreated Multiface 128 v1.00 Schematic

Recreated Multiface 128 v1.00 Schematic

Time to design a PCB. I intended to get the prototype PCBs fabricated by EasyEDA due to the fairly fast turnaround and good price point for prototype boards. The final boards I will have made by Hackvana since they are of very high quality. To hit EasyEDAs Prototype price point, the PCBs needed to be within 100mm x 100mm in size. The original Multiface board is 114mm x 70mm, so I shuffled it around slightly. Later on I will expand the board out to fit the original case.

The PCB was quite challenging to lay out. It required mutiple vias and some creative routing. I hand routed all of the connections one by one. This is my favorite part of any design though.

Spectrum Multiface 128 v1.00 KiCad Preview

Spectrum Multiface 128 v1.00 KiCad Preview

Having routed the board, I did a DRC check to make sure the connections were all complient with the design rules I had set up. All was fine. I then plotted Gerbers and drill files which would be submitted to the fabricator. Rather than trust these files are OK, it’s good practice to check them externally to KiCad. I use Gerblook at the moment but I have noticed a message on the site to say it has been bought. Hopefully the service will remain free of charge.

Spectrum Multiface 128 v1.00 Gerblook Front

Spectrum Multiface 128 v1.00 Gerblook Front

Having checked the board looked correct on Gerblook, I uploaded the ZIP of Gerber files and drill file to EasyEDA and ordered the prototype boards. Time passes….

…And the boards arrive. they took around 2 weeks from the time I ordered them. Not bad for a budget service.

Recreated Multiface PCB Front and Back

Recreated Multiface 128 PCB Front and Back

A quick visual check found the boards in good order. I assembled all the components, including a few from the original device since I had none of those particular ones in stock. I soldered the de-coupling capacitors first since they are the lowest profile. I followed these with the resistors and NMI button, then all of the chip sockets.

Fully Built Interface

Fully Built Interface

The above image is the completed interface mounted on the rear of a 48K Spectrum Plus. You will note that the edge connector faces the Spectrum and the chips are on the reverse of the board. This is in keeping with the original design. It also means that the board has extra room behind between it and the Spectrum. You will also notice that the ROM chip U1 has no Erase window. This is because I had no 27C64 EPROMs in stock. This is an OTP chip (One Time Programmable).

I was very pleasently surprised to see the interface work first time!

Multiface 128 Menu

Multiface 128 Menu

One press of the NMI button brings up the familiar menu. I have gone through the motions of testing the unit by initiating a tape save and poking 16384 with 255. It all seems OK. I can’t test with Microdrives as yet since I have none working. I will update when I have the chance. I have since tested the interface with both a standard Microdrive and the fantastic vDrive ZX and both work properly.

In the meantime, if you would like to investigate this first iteration of the design or build one for yourself in it’s present state, the design files are below. I will probably be updating the design in due course by extending the PCB to fit the original case.

Here are all the files for fabricating the Recreated Multiface 128 PCB v1:

  • Recreated Multiface 128 PCB .SCH schematic file
  • Recreated Multiface 128 PCB .PCB board file
  • Recreated Multiface 128 PCB .PRO file
  • Recreated Multiface 128 PCB .LIB file
  • Recreated Multiface 128 PCB Gerber .ZIP file
  • Recreated Multiface 128 PCB Schematic .PDF file
  • Recreated Multiface 128 PCB BOM .TXT File

The entire directory of resources is available at: Recreated Multiface 128 PCB

Please note, due to the way the website server stores and accesses files, I have added underscores to filenames. Also, early versons of the Schematic PDF and the Schematic image above contained an error showing pin 11 of the SRAM chip being connected to A0 instead of D0. These files have since been replaced. The error never got to the gerber files.

I haven’t included the ROM file due to the unknown copyright status. however, it is available from multiple sites. The version that works in this hardware is 87.12 Search for ‘Multiface 128 ROM version 87.12’

This project was a proof of concept for me. I wanted to challenge myself in re-creating a fairly complicated piece of retro hardware and use it to aid in my understanding of how such hardware worked. I also wanted to preserve the design for retro enthusiasts enabling them to re-create their own. I’d welcome any contact with the original IP holder/s In the meantime, I make no claim as to the validity of my re-creation or fitness for purpose. I have checked it to a point on my own hardware but this is no guarantee of it working on any other hardware. In short, you use these files at your own risk and any loss or damage caused is entirely your own responsibility.

If you do make one of these interfaces, I’d love to know.

Multiface 128 recreations in the wild.

I have been contacted by several enthusiasts who have successfully built and are using the design. I’d love to see images of any interfaces in action. Please send them to info (at) projectspeccy (dot)(com) and I’ll add some to this page.

6 Boards by Claudius

6 Boards by Claudius

More Of Claudius's Boards

More Of Claudius’s Boards

Claudius Fatla had 6 boards made and visited me after requesting I autograph the boards for him and his Speccy friends. One of them is Paweł Osipowicz who built this one:

Paweł Osipowicz's MF128

Paweł Osipowicz’s MF128

Stefan Schomberg successfully built a recreated MF128. Apparently, he ordered ten PCBs and sold the spares off so there should be nine more out in the wild 🙂

Stefan Schomburg's MF128

Stefan Schomburg’s MF128

One of which is Erwin Rattinger’s:

Erwin.Rattinger's Multiface 128

Erwin Rattinger’s MF 128

Erwin's Interface In Action

Erwin’s Interface In Action

Guenter Bruetting is building a couple of MF128s and a simple 8-bit IDE interface (see below). Guenter has added a throughport on the back of one of the MF128s but is yet to add the diode as on the original.

Guenter Bruetting's Interfaces

Guenter Bruetting’s Interfaces

 


TZXDuino Compact

Because of the Spectrum Next, I got interested in Sinclair Spectrums after a long (15 year) break. I have acquired a few of the original models and enjoyed reaquainting myself with the Spectrum system and programming. Although I have a DivIDE and other such interfaces, there’s nothing like the nostalgia you get when you load an original program from tape.

Although I own several Spectrum tapes from the old days, there are files available online in TAP and TZX formats which can be played as if you had the original tapes. These are redily loaded into Spectrum emulators but not so easily into the real thing. However, a couple of very clever guys, Duncan Edwards and Andrew Beer came up with a device to do just that. The TAP or TZX files are copied onto a Micro SD Card and placed in the device which, via a menu, you can play the files into a real Spectrum machine. The device can be used with several other 8-bit micro computers but I will be concentrating on the TZXDuino for Sinclair Spectrum.

TZXDuino Compact v1.01 (Gerblook.com)

TZXDuino Compact v1.01 (Gerblook.com)

The circuit is fairly simple. An ATMEGA328 is connected via I2C to an SD1306 OLED Display and via SPI to a commonly available Micro SD Card module. Five tact switches are used for selecting the file to play and an audio output is driven directly from pin D9 of the microcontroller. The audio output seems adequate for most files but occasionally fails. I will be looking into adding a small amplifier of some sort to boost the audio a little.

The PCB was designed to be easily mounted in a box with 3.2mm holes in each corner. The display and micro-sd card module sit on the top. I have found it necessary to put a small piece of foam behind each to prevent them from bending towards the components mounted on the PCB.

TZXDuino Compact v1.01 PCB

TZXDuino Compact v1.01 PCB

I had the PCB fabricated by the ever excellent Hackvana.com who always give a great service and produce really good quality boards.

As per normal with building any project, start with the low profile components first, Resistor, Diode, Crystal etc. And gradually build up to the higher components. The only difficult part to solder is the USB Mini port, in this application it is there just to supply power. You can use the two header connections directly behind the SMD pads if you prefer. The diode is for polarity protection.

The SD-Card module I purchased had a straight header already soldered on so it required de-soldering and replacing with a strip facing down, under the board. The display came without a header strip installed so it was an easy case to add one.

Programming the ATMEGA328 is made easier if you have an Arduino Uno. I extracted my Uno’s ATMEGA328 and temporarily installed a new one. I then programmed it with the ICSP header on the Uno’s board. If you have an ATMEGA328 with a bootloader, you can use the USB input as normal. If neither of these options is available, you will need to make a small adaptor board for ICSP programming, use a breadboard or perhaps, use a minDUINO as a base.

Here are all the files necessary for fabricating the TZXDuino Compact v1.01:

  • TZXDuino Compact v1.01 Schematic .PDF file
  • TZXDuino Compact v1.01 KiCad files
  • TTXDuino Compact v1.01 Gerber .ZIP file
  • TZXDuino Compact v1.01 Sketch .INO file
  • TZXDuino Compact v1.01 Images .ZIP file
  • TZXDuino Compact v1.01 Parts List TXT file

The entire directory of resources is available at: TZXDuino Compact v1.01

Because I used a previous version of the KiCad files, the newer v1.01 directory requires the older ‘rescue’ files. If you intend to use the KiCad files, include all the items in the zip file.

Future development may result in an amplified version of this board.

Many thanks to Duncan Edwards and Andrew Beer for designing the original.


Sinclair Spectrum Composite Mod PCB

I designed a PCB to house several versions of the Spectrum Composite Mod. Details of how to implement the PCB can be found in my series on Refurbishing a 48K Rubber Keyed Spectrum on my companion site, Projectavr.com. The PCB simply replaces the existing Modulator PCB. I would recommend that you remove the original carefully and put it in storage, in case you ever wish to re-install it for authenticity.

The PCB itself is very simple, requiring just a few components to operate. Choose which of the three options you would like to use.

Option 1 is an Inverted Emitter Follower recommended to me by Andrew Gostling in an attempt to get a Dell UltraSharp 2007FP Monitor to work with a 48K Spectrum. Sadly, the monitor is extremely picky about it’s composite input and is well documented for it. In this instance it didn’t work. However, the composite mod works with all the other monitors I have tried it with.

Option 2 is a simple NPN transistor and resistor mod. the NPN Transistor can be any general purpose device. I have used a BC547 in the past.

Option 3 is a single 100uF capacitor which is seen to be the minimum required.

I have had several conversations around the need for other components with regard to the composite mod. Some say that it is not necessary at all and others say that, in case the monitor goes faulty or is very badly designed, it can feed voltage back to the Spectrum. I recommend you do your own research and choose the option that best suits you (including a direct connection and/or suspending the components outside of the modulator box retaining the original PCB inside the modulator).

Spectrum Composite Video Mod PCB

Spectrum Composite Video Mod PCB

Here are all the files necessary for fabricating the Spectrum Composite Mod PCB:

  • Spectrum Composite Mod PCB .SCH schematic file
  • Spectrum Composite Mod PCB .PCB board file
  • Spectrum Composite Mod PCB .LIB file
  • Spectrum Composite Mod PCB Gerber .ZIP file
  • Spectrum Composite Mod PCB Schematic .PDF file

The entire directory of resources is available at: Spectrum Composite Mod PCB

To create the board, you can simply copy the Gerber ZIP file and submit to your favourite fabricator, I use Hackvana for my boards.

Spectrum Composite Mod PCB In Place

Spectrum Composite Mod PCB In Place

All these files are provided freely in the spirit of Open Hardware. Feel free to copy and modify the design for your needs. I have checked operation on my own hardware but this is no guarantee of it working on any other hardware. In short, you use these files at your own risk and any loss or damage caused is entirely your own responsibility.

Having said that, I’d love to know what option you have found to work best and in what combination of Sinclair Machine and display device.


Simple 8-Bit IDE Interface for Spectrum +3e

A long time ago (2002) I came across a design for an IDE interface for the +3e. I loved this idea, a Spectrum with a Hard Drive, even if this particular interface only gave you half the capacity of the hard drive. At the time, I was just getting into PCB design and, with a dodgy version of Ares/Proteus, I designed a gosh-awful board covered in links (since I couldn’t produce a double-sided PCB at home). However, it worked! I was very chuffed with myself and sent the design, along with an internal version to Garry Lancaster who kindly published it for me. I included images of my interface captured with the then brand new Casio QV-10 Digital Camera! You can still download the original archive from the WOS page.

Original Simple 8-bit IDE Interface (Casio QV-10 Image)

Original Simple 8-bit IDE Interface(Casio QV-10 Image)

Since getting to grips with KiCad, I have designed a few Spectrum related PCBs so I thought I’d re-design the IDE Interface with a double-sided board. The process was fairly simple since the interface only uses 3 components.

Simple 8-Bit IDE Interface KiCad 3D Preview

Simple 8-Bit IDE Interface KiCad 3D Preview

The board presented here was designed a while ago and bears the ProjectAVR logo rather than the newer ProjectSPECCY logo. I included holes for mounting the PCB in a case if required and the IDE and Spectrum Edge connectors can be straight or angled depending on the builders preference. To use this interface, you will need to replace the two ROM chips in your Spectrum +3 with versions on the WOS +3e pages. Full instructions are given there.

Completed Interface with Hard Drive

Completed Interface with Hard Drive

Here are all the files necessary for fabricating the Simple 8-Bit IDE Interface for +3e:

  • Simple 8-Bit IDE Interface for +3e Images .ZIP file
  • Simple 8-Bit IDE Interface for +3e KiCad .ZIP file
  • Simple 8-Bit IDE Interface for +3e Gerbers .ZIP file
  • Simple 8-Bit IDE Interface for +3e Schematic .PDF file

The entire directory of resources is available at: Simple 8-Bit IDE Interface for +3e

All these files are provided freely in the spirit of Open Hardware. Feel free to copy and modify the design for your needs. I have checked operation on my own hardware but this is no guarantee of it working on any other hardware. In short, you use these files at your own risk and any loss or damage caused is entirely your own responsibility.

[Update]
Originally, back in 2002, I did design an internal version of the interface which I didn’t fabricate myself. Now, Claudius Fatla has designed a neat internal solution. Files for this can be found on this WOS page.