Paul Farrow's Cartridge for the Sinclair ZX Interface 2

Introduction

Only recently I found out the web page of Paul Farrow1 while checing some links to games that never saw the light: Montezuma's Revenge, Star Wars ... It was a big surprise for me to find that this guy was offering his own cartridges at a ver reasonable price, as well as quick assembling and shipping. I'm talking about a big surprise , because it is not very frequent to find an electronics expert willing to assemble circuits for people (like me) who are unable to pick up a soldering iron without having their hands trembling. It is true that, for someone with electronics knowledge, it is not apparently difficult to build Spectrum cartridges, but it is not something doable for average people.
    The case for a cartridge even gets stronger when one concludes that it is quite easy to acquire Interface 2 accessories, while it is very very difficult to acquire any of the original cartridges that were published for it.

Interface 2

The Interface 22,3 was a cartridge interface developed by Sinclair in order to power up the game market for the Spectrum. Although Sinclair would have liked people to use its computer for "serious" works, it was quite obvious, even at that time, that most people was using the computer for playing.
Cartucho de Paul Farrow y ZX Interface 2
Cartucho de Paul Farrow and ZX Interface 2
    The newest possiblity that this interface was offering is that programs were no longer loaded from tapes, instead they "appeared" instantly through the use of small cased chips called cartridges, a concept similar to the MSX ones (while smaller). Actually, the ZX Interface 2 only carried out the signals from the expansion port of the ZX Spectrum to a connector more adequate to these cartridges, and integrated a Sinclair Joystick controller.
    Some games were also released, ready to be used with this interface. However, not all of them were available at the very beginning, at least there where two publicatiom phases. A total of ten games was definitely available, which are listed below.

  1. Planetoids
  2. Space Raiders
  3. Backgammon
  4. Pssst
  5. Cookie
  6. Jetpac
  7. Tranz am
  8. Hungry Horace
  9. Horace and the Spiders
  10. Chess
    It is also known the existence of a testing cartridge7(never relased for selling), for this Interface 2, used in order to verify the correction of the speccy capabilities.
El Spectrum, una potente máquina para juegos.
The Spectrum, a powerful game machine (the cassette player is now hiding in a corner).

Detalle del cartucho conectado a la IF2 (y ésta a la máquina).
Cartridge plugged to the IF2 (which is itself plugged to the computer, an Spanish ZX Spectrum 128K).

Otro detalle del cartucho conectado a la IF2 (y ésta a la máquina).
Another detail of the cartridge connected to the IF2 (again, the IF2 is also plugged to the computer).

The cartridge

It is presented in a plastic case perfectly assembled, though it is also possible to acquire the cartridge without the it. The one being shown is the cartridge assembled for me. I remark this because it is possible to customize the number of programs present in the cartridge, as well as the programs themselves. Units of 16k mark the slots availabe for programs. For example, in a 256k unit (the one I bought), you can have up to fifteen programs, plus the booting menu, allowing to choose among them. It is therefore possible to buy smaller (and cheaper) boards if one is interested in less programs.
    The options shown by the booting menu are the following ones:
Program Type Needed RAM
Planetoids Asteroids-like arcade (originally sold as a retail cartridge, 16K) 16K
Space Raiders Galaga-type arcade (originally sold as a retail cartridge, 16K) 16K
Backgammon Board game (originally sold as a retail cartridge, 16K) 16K
Pssst Arcade (originally sold as a retail cartridge, 16K) 16K
Cookie Arcade (originally sold as a retail cartridge, 16K) 16K
Jetpac Arcade (originally sold as a retail cartridge, 16K) 16K
Tranz am Arcade (originally sold as a retail cartridge, 16K) 16K
Hungry Horace Arcade(originally sold as a retail cartridge, 16K) 16K
Horace and the Spiders Arcade (originally sold as a retail cartridge, 16K) 16K
Chess Board game (originally sold as a retail cartridge16K) 16K
Montezuma's revenge Platforms arcade (never released game, 16K) 48K
Star Wars Arcade (never released game, 16K) 48K
Emulador de ZX80 Emulator, 16K 128K
Emulador de ZX81 Emulator, 16K 128K
Emulador de Jupiter ACE Emulator, 16K 48K

Menú de arranque
Menú de arranque
    The first ten ones are the original cartridges that were sold for the Interface 22,3, while the next two ones are totally playable games but they were never released (about copyright issues, see the disclaimer; also it is worth noting that I was able to convince the author to include that games by scanning the original covers, and hence demonstrating that I owned those titles). Finally (yes, it is true!), there are some emulator available, specifically for the ZX80, ZX81 and Jupiter ACE. These emulator work on the Spectrum itself, emulating less-capable computers.

Games

As expected, games load instantly. The comfortability in that sense is absolute. The cartridge is inserted, the IF2 plugged, the computer is turned on, and then you can start playing, without waitings or tedious problems of any kind. If you want to reset the game, you can use the Spectrum's reset button (available depending on the Spectrum model used). In order to choose another program, it will be needed to unplug and plug again the Spectrum to the power means.
Chess in action.
Chessin action.

Emulators (ZX80, ZX81, and Jupiter Ace)

The velocity and quick answering of the Jupiter Ace, is a sweet surprise, while there is also an important lack the absence of any help introducing commands: it is very difficult to do anything if you don't have a good FORTH manual (better a Jupiter Ace one) at hand. It is obvious that the reason behind this is the use of the FORTH programming language instead of BASIC (a lot more popular). However, a reworked editor (maybe using a similar style to the Spectrum 128K models) with some word writing aids would have been very interesting.
    About the ZX80 and ZX81 emulators, the Spectrum is downgraded to that machines when these emulators are triggered. The main difference is that you can select the main RAM availabe at the beginning (as well as the possibility of loading a program). The total available memory can be used up to 32K.
    The typical screen blinks present in the ZX80 and the ZX81 are perfectly emulated (suffered), along with the use of the SLOW and FAST modes).

Cartucho de Paul Farrow
Cartrdge created by Paul Farrow

ZX80 and ZX81

The history of the ZX804 and ZX815 computers is probably perfectly known by everybody. They paved the way for the Sinclair Spectrum, and they originally were sold as kits. With minimum RAM memory, and low quality components (specially the box (very small in the specific case of the ZX80), and the keyboard), they were cheap enough to be able to be bought by average citizens, so they had a computer at home for the very first time. They came with BASIC as programming languge and also a sort of Operating System.
    The emulator boots with a menu that lets you choose the amount of memory to emulate.
Arranque del emulador para ZX81
ZX81 emulator booting menu.

Once the memory model is selected, it is possible to begin working with the emulator.

Trabajando con el ZX81

Working with the ZX81 emulator

The ZX81 did not have capital letters, nor colors. The editor is the same one as in late models suchas the Spectrum 16K/48K. Its best utility was for numeric calculus.

Ejecución del programa

Program execution.

Jupiter Ace

The Jupiter Ace6 computer was created by the firm Jupiter Cantab Computers in 1982. Its founders, Richard Altwasser and Steven Vickers, were ex-Sinclair Ltd. employees. In fact, the most distinctive part of the Jupiter Ace is that it uses the FORTH programming language instead of BASIC, when the rest of the computer's architecture is nearly exact to the ZX81.
Emulador del Jupiter Ace en acción.
Jupiter Ace emulator in action.

    Programming the Jupiter Ace (or, at least, its flavour of FORTH), is very curious. In order to build programs in FORTH you need to create words, which are more or less to procedures and functions in other languages. There are some predefined words, which allow to deal basically with the machine. By composing on top of these predefined words (with compiled code), you could build more complex procedures which are also compiled (interpretation is only carried out in word's input), so the performance and memory consumption rations are excellent when compared to others programming languages.

    The result shown in the image was obtained by using the word ." (dot-double quotes). Words must be preceded and followed by spaces, and some of them such as the previous one commented must always be inside of another word definition. Word definition is achieved by using a colon ':' preceding the sequence of word calls. An example:

: url ." www.zonadepruebas.com" ;

    Does that by writing the new URL word the message "www.zonadepruebas.com" gets printed on the screen. It is vital to take detailed noteof  the spaces  found a) after ':', b) after URL, c) after ." and d) after the closing doble-quotes. Without these delimiters, the prcedure URL does not compile.

    FORTH is a very interesting language. Its focus in minimalism in terms of syntax makes it very simple to get compiled, obtaining a very quick program. The space needed in order to store the program is very short, so the 3K included RAM amount was not so small as it could seems at first. It is perfectly comparable to the ZX81 with 16K RAM.

    Again, it is a pitty to find the programming environment of the Jupiter ACE so unfiendly, although this probably would have been solved "only" if Jupiter Cantab had survived enough to be able to develop a new Jupiter Ace with more RAM memory (the Jupiter Ace can only cope with a total RAM of 19K [= 3K internal RAM + 16K expansion]). Though there was a revision of the Jupiter Ace (the 4000 model), changes were more related to aesthetics and keyboard comfortability than improving its technical characteristics. A RAM expansion of 16K, was going to be sold along with the Jupiter Ace under the name Jupiter Ace 16+: however, this never saw the light, as Jupiter Cantab had to close due to bankrupt. The 16K expansion RAM was going to be available separatedly.

Conclusions

The cartridge is professionally presented. The box wrapping the cartrisge is solid, and it is inserted and extracted without any problem from the Interface 2. Indeed, the few times I had the opportunity to see an original cartridge working, they seemd to be plagued by problems such as false contacts, and booting errors. In this sense, it is more trustable as the original ones: it booted correctly 100% of the times. Although pricing depends on the size of chips (which is proportional to the amount of programs you could have inside a single cartridge), they are quite inexpensive: around forty euros for the one described in this review8.
    The cartridge is decorated with two stickers: one shows the programs included in the cartridge itslef, and the other one, in the reverse side, the copyright holders of the programs.
    About cartridges and the Interface 2, it is a shame that its use was not extended. They would not only be a great help for games, but also for management applications, programming languages, disk controllers, ... However, its high price, and the higher price of cartridges in contrast to the same games in tape, made the whole idea of software-in-cartridges for the ZX Spectrum to be absolutely forgotten.

Links

  1. http://www.fruitcake.plus.com/
  2. http://www.fruitcake.plus.com/Sinclair/Interface2/Interface2_Introduction.htm
  3. http://es.wikipedia.org/wiki/ZX_Interface_2, http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=530
  4. http://es.wikipedia.org/wiki/Sinclair_ZX80, http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=759
  5. http://es.wikipedia.org/wiki/Sinclair_ZX81, http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=31
  6. http://es.wikipedia.org/wiki/Jupiter_Ace, http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=1026
  7. http://www.zonadepruebas.com/modules/smartsection/item.php?itemid=912

Comments