2011jan28 - Paulo Silva (nitrofurano_at_gmail_dot_com)
This page describes my experiments on how to send webcam pictures to 8bit computers using their sound input interface.
These pictures are then shown just like the presentation graphics usually displayed while loading a program from a cassette player.
In order to do it you need to capture a picture from a webcam, convert it into a binary tape file and play it back. This is a relatively simple process as you can do all these steps by using existing, easy to use, command-line applications.
The complicated part was actually developing the necessary algorithms for converting the picture into a binary file that followed the characteristics of the 8bit computer display.
Until now, only the zx-spectrum scripts were fully working, since only there i know exactly how tho create the tape file, and having the suitable tools for converting the tape file into audio file. The command-line tools used were fswebcam, imagemagick, sox, and tape2wav (from fuse zx-spectrum emulator tools). These .sdlbas scripts runs on sdlBasic.
I'm also working on the CoCo2 version (that should support machines like TrsColor2, Cp400, Dragon32, etc.), and the latest stable version uses pmode 4, 2, 0, screen0 (text mode) as 1-bitdepth, as well as pmode 3 and 1 using screen ',1' and ',0' palettes (used to display colors from the gray-scale). These .sdlbas scripts depend on fswebcam, imagemagick, sox, perl and python and runs on sdlBasic.
In the above download link, you will also find scripts for other other 8bit (and 16bit) systems. These are currently not complete but the idea is that they will enable you to send audio data the the following systems: AppleII (hires), C64 (mpic, hpic), MSX (screen 2 and 4), ZX81, TRS80, Elektronika-BK, Atari800, Mattel Aquarius, Sharp MZ700 and Amiga (ham6-laced). Other systems, like SamCoupé (mode 1 and 2), Thomson (MO5, TO7, etc.), TrsColor3, VG5000, Exelvision, SinclairQL and others, are also being planned for.
(please don't mind about the quality of the videos, captured with a cell phone)