Light Show

Developer(s): David Hoshor, Paul Munro
Date: 198x
Type: Program
Platform(s): TS 2068
Tags: Graphics

Light Show listens to music played into the computer through the EAR socket and draws a pattern that responds to what it “hears”. While it runs, s and f slow down and speed up the sampling, p changes the pattern, 1–4 change the paper colour at various levels, 0 resets the paper to black and SPACE ends the show.

The title screen reads “Based on a program in Oct. ’85 issue of Sinclair User by Paul Munro. Souped up by David Hoshor”. It came on RMG Enterprises’ public-domain disk of August 1991. ZX-Appeal printed Spectrum versions of the light show program in December 1985 and February 1986 (see the related articles).

Program Analysis

The BASIC prints the instructions and calls the 750 bytes of machine code at 60000 with RANDOMIZE USR 60000; line 110 loads the code. The code reads the keys through LAST_K (23560) and samples the EAR input with IN from port 254, so the pattern follows the sound on the tape input.

Notable Techniques

  • The tape input port is used as a crude audio sampler.

This copy came from a Larken disk. The disk prefixes on its LOAD and SAVE lines were removed so it loads from tape, and it was tested in ZEsarUX, where the pattern needs a sound source on the EAR input.

Related Articles

Monitors audio input (EAR) jack and generates colorful display.
Short graphic program.

Image Gallery

Source Code

   10 BORDER 0: PAPER 1: INK 7: CLS : PRINT TAB 10;"LIGHT SHOW"''"Based on a program in Oct.'85   issue of Sinclair User by Paul  Munro. Souped up by David Hoshor"
   20 PRINT '"Play music in to your computer  throught the earphone jack. A   pattern will be displayed in    response to what the computer   ""hears""."
   30 PRINT '"s) Slows down the frequency     f) Speeds up the frequency      p) Changes the pattern          1-4 Changes the paper color at      various levels."'"0) Reset paper to black."'"Space to end."
   40 PRINT '"Press any key to begin.": PAUSE 0: RANDOMIZE USR 60000: GO TO 10
  100 SAVE "LITSHW" LINE 110
  101 SAVE "LSCODE"CODE 60000,750
  110 LOAD "LSCODE"CODE 60000,750: GO TO 10

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.