At the end of last year I visited the Decode: Digital Design Sensations exhibtion, held at the V&A in London. The event “showcases the latest developments in digital and interactive design, from small, screen-based, graphics to large-scale interactive installations”. There were certainly some great pieces at the event (such as the works by flight 404 and Matt Pyke, for example) but a lot of it really left me with the feeling that I could have done it. In fact, I began thinking that I should be doing it.

One of the pieces at the event was the exhibition’s digital signature itself, designed by Karsten Schmidt. The piece is written in the Processing language and the code is available for download. This means that the piece is open for remixing. Actually, both the author and the event’s organisers actively encourage you to remix the piece and submit your results for inclusion in their online gallery.

After a discussion with Matt “Smash” Swoboda we both decided we’d have a go, but as we didn’t like the look of any of the existing remixes (change the colours, change the camera, job done..) we thought we’d recode them ourselves from scratch instead. Matt went for an incredibly high-end PC version, while I went in the complete opposite direction and produced a 512byte ZX Spectrum version.

The important part of this project for me was to produce the work on the same 1980’s technology that I used for my first experiments in digital art all those years ago. I think that back in those days, almost everyone who had a home computer was inspired to produce art with it to some degree – even if it was just typing in a program listing from the back of the manual. Others were inspired to copy what computer graphics we saw on TV or in the cinema. Of course the end results were nothing like the amazingly advanced (for their time!) inspirations, but they took on a charm of their own. These investigations and experiments were what eventually led me to the demoscene.

I took what I considered to be the key elements of the original piece (the obscured logo, the angular graphics, and the waves of vibrant colour) and boiled them down into the smallest amount of code that I could. The end result fits into just 512 bytes and runs on an original 48k ZX Spectrum.. or an emulator.

You can find the video over on: Vimeo

You can also download the executable and full source code from:

This entry was posted in atebit, Computers, Demoscene, Development. Bookmark the permalink.

2 Responses to decode_recode

  1. Jim Tripp says:

    cooool demo
    Save a few cycles in the decode-recode demo.
    copy loop
    ld hl,ATTR_BUFFER
    ld de,16384+2048*3
    ld bc,32*24/6
    _copy ldi
    jp pe,_copy

    more bites but smidge quicker

  2. evilpaul says:

    Yup, that would indeed make it a bit faster but a bit longer.

    I could have shaved off a few more bytes to give me back some space to spend on speeding the whole thing up but I wanted to keep the code fairly readable. I always find it hard to decide when to stop optimising these things!

Leave a Reply

Your email address will not be published. Required fields are marked *