SMART card for ZX Spectrum
Firmware last updated: 20-04-2015
The SMART Card is a new expansion board for the Sinclair ZX Spectrum. I designed it mainly as a low-cost, simple to use game loader and as such it features a Kempston compatible joystick interface, SD card slot and reset button – making it simple to pick and play your favourite games from a menu right from power on. (A snapshot file takes about 5 seconds to load from SD card).
For the more technical user, it is also a multi-ROM switcher – the onboard flashRAM can hold sixteen 16K ROMs and these can be selected from a menu, with the default ROM being freely selectable. The supplied firmware includes a ROM manager program to load, copy and erase the ROM images in the flashRAM. The interface also features 128 KB of SRAM and an NMI button.
My own Spectrum diagnostic ROM is also pre-installed, this means the card can be used to test faulty Spectrums (bad RAM chips are identified etc).
The interface is intended for use with the 48K model Spectrums (both rubber key and Plus versions) and is supplied assembled (it is uncased) and installed with firmware ready to go – you just need to connect an SD card containing some game files (preferably .sna types, though many .tap files work too) – which can be found at worldofspectrum.org . Full details including manual, firmware files etc can be downloaded here.
If you’re interested in buying a SMART card they are available from my retro spares store. I should add my standard disclaimer that I am a mere hobbyist and this is just one of my projects that I’ve decided to make available to the retro-fan community (EG: I hand-solder the PCBs, there may be software bugs and so on. Of course, each board is tested before dispatch).
Screen shots etc:
Games and general stuff:
Q. What model Spectrums is the SMART Card compatible with?
A. It was designed to fit the original Spectrum 48K and Spectrum+ and run 48K Spectrum games. It will not physically fit the Spectrum 128 +2, or +3 as their cases are much taller. It is electrically compatible however, and can be used as a diagnostic cartridge when the upper case of these machines is removed – for details see the documentation in the link above. The firmware and gameloader are not compatible with 16K Spectrums, but you can use the DiagROM mode to test those early machines.
Q. What type of game files will it run?
A. It runs 48K Snapshot (.sna) files and many .tap files too. If you can’t find a .sna version of a game you could always load the .tap or .tzx version into a PC-based Spectrum emulator and save it as a .sna file from there.
Q. What’s the difference between .sna and .tap / .tzx files?
A. .sna files are ‘snapshots’ of the Spectrum’s memory taken whilst a program/game was running (usually at the title screen). These files can be quickly re-loaded and the game will continue running from that point. .Tap/.tzx files are more of a digital archive of the entire cassette tape recording (so for example, they can be played with a suitable app on the PC to produce the familiar loading sounds etc.. .tzx files are more complicated and support the encoding of non-standard loaders).
Q. Can you supply a SD card full of games?
A. Although most Spectrum games are freely available at World Of Spectrum, I’d prefer not to risk offending anyone by appearing to cash in on their work. Therefore I think it’s best if you download your favourites yourself.
Q. What does the SMART Card acronym stand for?
A. Nothing definite – let’s go for Snapshot (loader) Multiple Alternate ROMs & Test.. Card. (I realize I’ve made myself a hostage to fortune calling it SMART:)
Q. Will there be updates etc?
A. Sure, I update the project archive with improvements from time to time, usually without much fanfare.
Q. Is the SMART Card a clone of DivMMC? Can it run esxDOS etc?
A. No – and as far as I know – no. The PCB, logic and software are my own unique designs. The SMART Card is a low-cost, user-friendly game snapshot loader which has some useful extra features such as the diagnostic ROM. I made it from scratch as a hobby project so it was not designed to accommodate any existing interface specifications (apart from the Kempston joystick port of course).
Q. How is the onboard memory organized?
A. The SMART Card’s EEPROM is paged in 16KB banks which can appear at Z80 $0000-$3FFF (IE: the Spectrum ROM area). Optionally, an 8KB bank of SMART Card RAM can be paged in at $2000-$3FFF (sixteen such banks of RAM are available, selectable via port registers.)
Q. Can the SMART Card be used in conjunction with any other interface (IE: those with through-ports)?
A. I would not recommend it – it has not been designed with this in mind.
Q. Is the project open source?
A. Not at present – but this may change. Details about its pins, port registers etc are in the documentation. I will obviously help users with any technical questions.
Q. Will it work on all 48K Spectrums? (I read that certain Spectrums had faulty signals that mean some interfaces don’t work.)
A. It should do, yes. The SMART Card does not use the troublesome signals “M1 “and “Clock” from the Spectrum’s motherboard.
Q. Can the SMART card SAVE snapshots?
A. Not at present – it’s something I may look into at some point.