I've been a true computer lover since the first time I touched one of them, back in 1981. This means two things - the first being that I'm quite old! The second thing though, is that I know almost every single model ever released, its capabilities, its games, its legacy. So, I'm having a blast every time a revolutional add-on is released for any of the computers of my youth - ever more if I have the change to have one of my own. That being said, I present you one of the latest add-ons/expansions/peripherals/whatever for the Sinclair ZX Spectrum line of microcomputers, the "DivMMC"!
|The (short) manual that comes with DivMMC|
passed, and the cost of memory cards has gone from "expensive" to "close-to-none" so, it's more than obvious that a memory card is a far better solution for transferring and storing files on the Spectrum than a, let's say, 160GB 3,5" hard disk drive (let's not forget that the production of IDE hard disk drives has almost ended worldwide). So, DivMMC is equipped with a SD/MMC flash memory card slot rather than the IDE controller port of its predecessor. Another disadvantage of DivIDE that has been, let's say, "corrected" in DivMMC is the lack of a joystick port. Well, this isn't a problem anymore as DicMMC comes with a fully functional Kempston-like joystick interface and port giving the user the ability to load his games from a SD card and play them with any 9pin joystick instead of using the "dead skin" membrane keyboard (OK, this applies only to the original 16K/48K model but that's the Spectrum that first comes in mind, isn't it?).
Other than the SD/MMC card support and the Kempston joystick interface, DivMMC has some other goodies under its hood, so let's take a look at them - shall we?
|The Spectrum "booting" with DivMMC connected|
DivMMC is compatible with any Spectrum model - the choice of the model can be made via a DIP switch. With the said DIP switch the user can also enable/disable the joystick interface or enter the "flash programming mode" where the flash memory of DivMMC can be re-programmed. The interface is also equipped with 2 LEDs (power and SD card access) and two push buttons, the "Reset" and the "NMI". The function of the "Reset" button is self-explanatory but a push on the "NMI" button reveals all the magic (well, almost!) the DivMMC is able to do. With the use of "ESXDOS" which is the operating system of DivMMC (currently on version 0.8.5) one car read/write any SD card formatted with FAT16/FAT32 filesystem. Via the press of the "NMI" button the user can navigate between the folders and sub-folders of the SD card (yep! sub-folders are supported!) and load any file of the supported formats (.TAP, .SNA, .Z80 and even .SCR). The "TZX" format is not supported (yet?) but the "TAP" format is fully supported, thus fully emulating a tape recorder with the ability to "write" virtual tape files.
|The ESXDOS help screen|
Needless to say, the DivMMC can operate as a "classic" Freeze-Frame type device by saving snapshots of the
program that's currently running, allowing the user to store a game exactly at the point (or stage) he's in. More than this, DivMMC also emulates the +3DOS operation, so the use of the SD card is possible via BASIC commands. Even on a 48K Spectrum, the "CAT" command (which was meant for use with the ill-fated Sinclair ZX Microdrives) displays the contents of the root directory of the SD card! Moreover, DivMMC adds new BASIC commands for fully using the SD card and also emulates Betadisk & TR-DOS operation via .TRD files.
|DivMMC connected to my 48K Speccy|
So, is everything perfect with DivMMC? Unfortunately, no. There are some things DivMMC (or better, ESXDOS to be precise) is lacking support, as are the long filenames, the inability to use wildcards and some known bugs as the "selective" ignorance of the read-only attribute. But, these things are known and will be solved/fixed in the near future. The main issue I encountered is the not-so-firm connection between DivMMC and the Spectrum, resulting in hangs, loss of data, even DivMMC not working at all! I used some spacers to lift the device a little and everything seemed to work fine, until I pressed one of the interface's buttons, a move that resulted in moving DivMMC by a millimeter or two and, consequently, halting and hanging the device. Probably this whole thing isn't an issue of DivMMC at all, because my Spectrum is a 31-years old machine and, although I tried to clean the motherboard lines of the expansion port, there's a good chance the loose connection I'm getting is caused by the Spectrum itself. I'm thinking of buying a case for the DivMMC, probably it will stabilize the device enough to operate smoothly - I really don't want to replace my beloved Speccy!
In conclusion, I have to say that I really believe that DivMMC is an exceptional device, with lots of abilities and a potential yet to be fully discovered. Its price, at about 75 euros, is quite reasonable as DivMMC will give the user the opportunity to get rid of all the tapes he stored all over the years, and transfer all the software he wants in a SD card. If the issues with the loose connection aren't a common thing and are caused mainly by my particular computer of my particular interface, then the verdict is "go and buy one. Now!"
Panagiotis Plemmenos © RETRO PLANET