I was looking through some old photos the other day and was reminded of a thing I built back in the mid-80s. I had become obsessed by the idea of building a device to capture and display photographic images at a time when no normal computer could do it. Your standard home computer like a BBC micro, for example, could only display a small number of colours and couldn’t even display a smoothly-graduated monochrome image. Later, more sophisticated computers like the Commodore Amiga couldn’t do it without strange restrictions on which colours could be adjacent to others.
I was fully aware of the basic idea of digitising waveforms and storing the results in RAM, having played around with audio sampling prior to this. I found that it was possible to buy chips that could generate frame and line sync pulses from a composite video stream i.e. the output of a standard video recorder or camcorder, and also to split composite video into R, G and B analogue components suitable for sampling. A standard computer monitor could take in separate sync & RGB signals so it wasn’t then necessary to do the reverse and generate composite video again.
Putting it all together, I could build a device that would enable me to grab a single video frame and store it in RAM. I could then replay the frame over and over, reconstituting it via three DACs, to be fed to a standard RGB monitor. I could also stop this process, and allow a computer (a BBC Micro) to read the contents of the RAM for storage on disk. The computer could also upload stored images into the RAM for display – and this would also allow for the possibility of ‘Photoshopping’ images or synthesising them in software.
The pièce de résistance was that what fell out of this arrangement was a live digitised image on the monitor that could be frozen by pressing a button.
As I recall, the main technical hurdles were:
- High speed ADCs and DACs were expensive and/or outside my comfort zone. In the end, I used three 6-bit ‘flash’ ADCs, and my own home-made R-2R DACs. Consequently, I could capture and display 262,144 colours which doesn’t sound much compared to today’s standard 16 million but was adequate. In monochrome I could display a 64 grey scale image which was sufficient to be called ‘photographic’.
- How to lock my pixel clock to the incoming video stream. As a stopgap while I thought of something better, I made a super-simple analogue oscillator out of CMOS Schmitt triggers that could be started (as opposed to its output being gated) by setting an input logic level.
- RAM was pretty expensive – except for dynamic RAM, and I thought this was too complicated to contemplate. In the end I used a bunch of static RAM chips to give me a resolution of 256×256 pixels. Again it doesn’t sound like much, but with the relatively fine colour graduations, it was not too bad at the time.
- A standard UK PAL video frame has 625 lines (although only 576 lines are visible) comprising two interlaced fields of half that number of lines. If I was aiming for a resolution of 256 pixels, I clearly could not digitise the whole frame. In the end I think I sampled and displayed just one of the fields, cropping the middle 256 lines out of the 288 visible lines by starting to digitise once a certain line count was reached after the top of the field. When displaying a sampled image, the same image was in effect displayed in each field.
- I needed to make double-sided PCBs for at least part of this device in order to simplify its construction. This involved arduous work with acetate sheets, self-adhesive tape and transfer symbols, and a scalpel.
I eventually made it work pretty well. I started with a single channel of monochrome, and I remember that the first time I ‘froze’ a perfect monochrome image was one of those moments that I probably live for.
I didn’t progress beyond the simple analogue pixel clock – which effectively meant that I set the image’s horizontal width with a potentiometer. It seemed to work perfectly well.
Of course, as so often happens, once the initial thrill was over I didn’t use it much after that, eventually putting the thing to the back of a cupboard and never touching it again – it is still there!
Here are a few of the images I grabbed, mainly from broadcast TV or pointing a camera at magazines. As you can see, it actually worked.
(I seem to remember transferring the images from the BBC Micro via serial cable to a PC in 1998 – the datestamp on the images – and, knowing me, probably substituted the raw image data into a 256×256 image created in Photoshop or similar so I never had to actually understand the image header. I would then have resized the images from their non-square pixels to what looked right on the PC monitor using Photoshop. There would have been no more image manipulation after that, so these are effectively the raw images).