Eight bits should be enough for anyone..
RSS icon Email icon Home icon
  • SMART Card software updates

    Posted on April 20th, 2015 Phil

    I’ve updated the SMART Card software archive again. Most notably, I’ve added an alternate version of the patched Sinclair ROM by Aitor Pelaez which has an NMI handler allowing pokes to be entered. The diagROM has also been updated to better detect 16K machines and also now allows the main menu items to be selected with a joystick for when the keyboard has failed or is not connected.

  • DiagROM Improvements

    Posted on December 4th, 2014 Phil

    Some particularly vexing Spectrum hardware faults lately have led to improvements to my DiagROM program. It now attempts to detect faults with the 74LS157 multiplexors which can falsely suggest RAM is faulty. There is a also an upper RAM scanner that shows the RAM as a bitmap window, allowing visual inspection of its content – a picture is worth a 1000 words after all! The latest version is in my SMART Card software archive.

  • .Tap support added to SMART Card

    Posted on November 16th, 2014 Phil

    I’ve added .tap file loading to my Spectrum SD Card Interface. This required a patched ROM to intercept the usual Sinclair loading routines and fetch the bytes from files on SD Card instead.   Amstrad appear to have a legal caveat that prevents the Sinclair ROM being distributed with new hardware, but it wasn’t a big deal to add an option to read in the user’s own onboard ROM, patch it and write to the SMART Card‘s EEPROM as required. The .tap loader is still in beta at present, I know of some files that don’t work, but this is largely par for the course with the .tap format: Although most have been modified to use the standard Sinclair loading routines in place of their native custom loaders etc, there’s still a lot of weird variations out there.


  • I’ve made a ZX Spectrum Interface Card.. As you do.

    Posted on October 18th, 2014 Phil


    A while ago I made a home-brew diagnostic ROM cartridge to help me test faulty Spectrums – it was a very simple circuit based on a FlashROM and a discrete logic chip. Of course, the project slowly morphed into something bigger and I ended up creating my own multi-function Spectrum interface card!

    The SMART Card as it’s called (decode the acronym any way you want:) is now based on a CPLD and has 256KB of flash memory, 128KB of RAM, an SD card connector,  Kempston joystick interface, reset and NMI buttons. It’s really aimed at retro gamers who just want a simple, low cost way to load and play snapshot game files from a menu, right from power on (but it has some more advanced features too).

    I’m currently just gauging interest really but have the parts to build a few of these boards for sale.  There’s more info on the SMART Card here.


  • Trying out the PIC16F1829

    Posted on July 27th, 2014 Phil

    I recently bought some PICs for a project – the devices in question being the fairly recent 16F1829 variety.  (Reasons: Cheap, 32MHz, 20 pins, can self-program, 8K code RAM, 1K data, 2 x SPI ports – all good stuff). Having used the 16f627 for quite some time, a few things were immediately noticeable:

    1. These things are packed with peripherals and the datasheet goes on forever!

    2. A new-ish version of MPLAB is required. At first I downloaded MPLAB X – Oh man.. What a bloated,  over-complicated, C-orientated mess.  Sorry Microchip, it’s awful! Fortunately older versions of MPLAB are still available and v8.92 did the trick. The trick being, you know, ” Enter some code, click build, burn to chip”.  Simples.

    3. My venerable DIY Tait Classic parallel port programmer wont do. WinPIC800 supports the 16F1829 but only with their proprietary hardware so I ended up buying a clone of the PICkit3 which included a ZIF adapter for standalone programming. Check Ebay etc.

    4. There wasn’t a massive amount of example code on the net, so the first thing I did was make my own template. It’s here if you want to use it.

    Anyway, the chip appears to do what I need so hopefully development can now begin..