12

When I was a child, I had a Commodore 64 always connected to a TV via the RF Out. I remember that when running a BASIC program, there were certain noises to be heard. Especially when a longer FOR loop was run, a breathing noise which was initially rising then falling again could be heard. What is the cause for this? Do CPU and the RF modulator interfere in some way here? Also, the classic noises during flash loads - do they have the same reason?

Addendum

I noticed that the term flash load is actually not common. I mean loaders (usually used on the tape drive) which showed flashing stripes on the screen during loading.

2
  • 2
    What are "flash loads"?
    – Brian H
    Commented Oct 20, 2022 at 18:43
  • 1
    The tape drive loads have a different reason; that's the actual signal stored on the tape. The graphical flashes are just to make the loading process more interesting, or detect if something stalled because you reached a blank part of the tape.
    – Miral
    Commented Oct 21, 2022 at 6:02

3 Answers 3

18

The program running on the computer accesses memory and data bus. The address bus and data bus have varying patterns on them, depending on what the program under execution does.

If the program (does not really matter if it is an high level Basic program or low level assembly program) runs in a loop, that's repeating the same program pattern multiple times.

Now, the audio chip and the amplifier run on same power supply and the rest of the system. The audio chip is also on same data bus as other components.

The noise that is caused by changing patterns on buses gets coupled as noise to other circuits either via data bus or power supplies.

That's why some computers have audible tone or noise patterns on audio output when it is running a program.

Sometimes people have called it "computer thinking noise".

In the early days of computing, people noticed computers send out radiofrequency noise and this can be heard on a nearby radio. This led to people making programs to loop at various rates to play tunes out of the radio.

The problem can also be how the RF modulator modulates audio and video, some interference from video signal can leak to audio carrier so it's just the video signal causing periodic interference in the audio.

4
  • 2
    "This led to people making programs to loop at various rates to play tunes out of the radio." Indeed, in 1977 I and a friend toggled in the Star Wars theme on a homebrew computer using just such a program. We played it over a nearby AM radio, recording it on a cassette player. I've still got the clip. We had to enter the program using front panel switches in BCD, least significant digit first. There was no storage, if you kicked over the power cord, all gone. Commented Oct 21, 2022 at 15:19
  • I seem to recall an anecdote from Levy's book Hackers about an early blob of code someone wrote that played some tunes on a transistor radio when held close to the computer. It might have been at Homebrew, or maybe earlier with the PDP - I don't have the reference, but it's a famous "Holy-Cr4p!" moment in computer history.
    – Geo...
    Commented Oct 21, 2022 at 17:35
  • Ahh, found it, it was at Homebrew - digibarn.com/collections/movies/digibarn-tv/…
    – Geo...
    Commented Oct 21, 2022 at 17:40
  • Another example is Richard James aka electronic music pioneer Aphex Twin who at age 11 produced sound on a Sinclair ZX81, a home computer with no sound hardware: "I played around with machine code and found some codes that retuned the TV signal so that it made this really weird noise when you turned the volume up"
    – Alan B
    Commented Oct 27, 2022 at 9:18
12

This phenomenon was observable in at least some early model C64s whose power supply filtering and RF shielding was less than ideal. Different instructions and sequences of memory accesses will draw slightly more or less power than others, and this may cause the power supply voltage to vary slightly in response. Since the SID chip uses the supply rail as its analog voltage reference, any noise on the supply is apt to be coupled through to the audio output.

This phenomenon was observable on my C64 in the 1980s, even when using the audio output, and empty "FOR" loops tended to form most recognizable audio patterns. Because of the way Commodore BASIC stores floating-point values, the time required to add 1 to a number will increase slightly each time the number passes the next larger power of 2. Thus, a loop like "FOR D=1 TO 15000" will generate a whine that drops in pitch slightly when D reaches 32, 64, 128, 256, 512, 1024, 2048, 4096, and 8192, with each pitch lasting just over twice as long as the previous. The time required for D to progress through 2, 3, 8, 16, and 32 would be short enough that discerning a stable pitch would be difficult, but the pitch would linger through the larger ranges long enough to be recognizable.

4
  • the same happened on Oric. A kind of FOR LOOP melody Commented Oct 21, 2022 at 8:20
  • This does not really answer the question. If you have a different question, you can ask it by clicking Ask Question. To get notified when this question gets new answers, you can follow this question. You can also add a bounty to draw more attention to this question. - From Review
    – Raffzahn
    Commented Oct 21, 2022 at 11:51
  • 2
    @Raffzahn: Better? In discussing many such effects, I think it's useful to know not just the physical means, but also help add a distinction between effects that existed "back in the day", versus those that have come to exist more recently. For example, I wouldn't be surprised if there were some computers whose audio would have been clean in the 1980s, and would be clean again if filter capacitors were replaced, but would be noisy in systems with degraded filter caps. The fact that that the phenomenon was observable on early-model machines when they were new indicates that it's...
    – supercat
    Commented Oct 21, 2022 at 15:30
  • ...a design issue rather than a component degradation issue.
    – supercat
    Commented Oct 21, 2022 at 15:30
1

As a child of that time, I had access to different models; including Speccy, VC20 (German name of Vic-20), a PET 2001 amongst others. The German devices were equipped according to the PAL standard. Later I also saw - and heard - C64 for NTSC. Interestingly, due to the different frame rates, both the effect of the loading screen and the sound were different. In addition, the main voltage in the US and in Germany was different. The built-in cables were shielded in a rudimentary manner, but due to the higher voltage in the computer itself, which was common at the time, there was interference, especially with the loudspeaker signal. Back then, the parallel cables provided the specific 'thinking sound' and 'loading sound' that sounded similar to the telephones and modems of the time. That's why the data transmission from modem and datasette sounds so similar (they were also supplied with baud values in the description)

In addition, a very subtle clicking could often be heard on the old tube screens when the display changed. Since most computers at that time were connected to the television, you could also hear this switching click

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .