Why could you hear an Amstrad CPC working?
I had my first programming experience in the late 80s / early 90s on a Schneider (Amstrad) CPC 464 in Basic.
I remember that when a program was running, depending on the current workload of the processor you could hear a faint buzzing sound from the integrated speakers.
Especially when an empty for
loop was running (like for i = 1 to 500 : next
) which was regularly used to get short waiting times (as there was no sleep
command IIRC), you could hear this buzzing which gradually changed its frequency during the loop.
My question is: Was this a feature (as an audible feedback that the computer was working) or a consequence from insufficient decoupling of circuits?
cpc464
New contributor
add a comment |
I had my first programming experience in the late 80s / early 90s on a Schneider (Amstrad) CPC 464 in Basic.
I remember that when a program was running, depending on the current workload of the processor you could hear a faint buzzing sound from the integrated speakers.
Especially when an empty for
loop was running (like for i = 1 to 500 : next
) which was regularly used to get short waiting times (as there was no sleep
command IIRC), you could hear this buzzing which gradually changed its frequency during the loop.
My question is: Was this a feature (as an audible feedback that the computer was working) or a consequence from insufficient decoupling of circuits?
cpc464
New contributor
1
True story, I was writing some 3D graphics code on Sinclair PC200, and could hear the loop skipping triangles or processing them. That guided my optimization efforts for a more efficient hash.
– void_ptr
2 days ago
2
@void_ptr On my (comparatively) modern laptop, I can tell the difference between scrolling up and down on a page, creating a tarball vs creating a compressed tarball, and encrypting with AES128 vs AES256, entirely by the sound it makes. From an information security perspective, this is a nightmare...
– forest
2 days ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
2 days ago
add a comment |
I had my first programming experience in the late 80s / early 90s on a Schneider (Amstrad) CPC 464 in Basic.
I remember that when a program was running, depending on the current workload of the processor you could hear a faint buzzing sound from the integrated speakers.
Especially when an empty for
loop was running (like for i = 1 to 500 : next
) which was regularly used to get short waiting times (as there was no sleep
command IIRC), you could hear this buzzing which gradually changed its frequency during the loop.
My question is: Was this a feature (as an audible feedback that the computer was working) or a consequence from insufficient decoupling of circuits?
cpc464
New contributor
I had my first programming experience in the late 80s / early 90s on a Schneider (Amstrad) CPC 464 in Basic.
I remember that when a program was running, depending on the current workload of the processor you could hear a faint buzzing sound from the integrated speakers.
Especially when an empty for
loop was running (like for i = 1 to 500 : next
) which was regularly used to get short waiting times (as there was no sleep
command IIRC), you could hear this buzzing which gradually changed its frequency during the loop.
My question is: Was this a feature (as an audible feedback that the computer was working) or a consequence from insufficient decoupling of circuits?
cpc464
cpc464
New contributor
New contributor
New contributor
asked 2 days ago
elzellelzell
1383
1383
New contributor
New contributor
1
True story, I was writing some 3D graphics code on Sinclair PC200, and could hear the loop skipping triangles or processing them. That guided my optimization efforts for a more efficient hash.
– void_ptr
2 days ago
2
@void_ptr On my (comparatively) modern laptop, I can tell the difference between scrolling up and down on a page, creating a tarball vs creating a compressed tarball, and encrypting with AES128 vs AES256, entirely by the sound it makes. From an information security perspective, this is a nightmare...
– forest
2 days ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
2 days ago
add a comment |
1
True story, I was writing some 3D graphics code on Sinclair PC200, and could hear the loop skipping triangles or processing them. That guided my optimization efforts for a more efficient hash.
– void_ptr
2 days ago
2
@void_ptr On my (comparatively) modern laptop, I can tell the difference between scrolling up and down on a page, creating a tarball vs creating a compressed tarball, and encrypting with AES128 vs AES256, entirely by the sound it makes. From an information security perspective, this is a nightmare...
– forest
2 days ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
2 days ago
1
1
True story, I was writing some 3D graphics code on Sinclair PC200, and could hear the loop skipping triangles or processing them. That guided my optimization efforts for a more efficient hash.
– void_ptr
2 days ago
True story, I was writing some 3D graphics code on Sinclair PC200, and could hear the loop skipping triangles or processing them. That guided my optimization efforts for a more efficient hash.
– void_ptr
2 days ago
2
2
@void_ptr On my (comparatively) modern laptop, I can tell the difference between scrolling up and down on a page, creating a tarball vs creating a compressed tarball, and encrypting with AES128 vs AES256, entirely by the sound it makes. From an information security perspective, this is a nightmare...
– forest
2 days ago
@void_ptr On my (comparatively) modern laptop, I can tell the difference between scrolling up and down on a page, creating a tarball vs creating a compressed tarball, and encrypting with AES128 vs AES256, entirely by the sound it makes. From an information security perspective, this is a nightmare...
– forest
2 days ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
2 days ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
2 days ago
add a comment |
2 Answers
2
active
oldest
votes
There seems to be a slight misunderstanding: The CPU in a computer is (almost) never doing nothing (excluding power save states which was largely unknown at times the Amstrad was en vogue). So there's no such thing as "workload of a processor" going up or down - The CPU in an Amstrad is constantly running at 4 MHz, constantly under the same workload. If there's nothing do do, like executing a BASIC program), the CPU is, well, busy idling around at the same speed with the same "workload".
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature.
Operators of mainframes sometimes could hear whether their machines were running properly (or had crashed) by listening to the interference noise they produced, sometimes even tried to amplify the noise. (See this book, page 161ff)
You were experiencing some similar effect.
Today, the sound of historic computers operating can even be marketed as art.
4
...or, by placing a cheap AM radio near the CPU. I knew a guy in college who programmed his Altair 8800 to play recognizable tunes through a nearby AM radio. Computers back in the day did not exactly comply with FCC regulations.
– Solomon Slow
2 days ago
1
"Workload" certainly is meaningful, even in the days of the Amstrad. If you're just executing a sequence ofnop
s, that means a whole lot of CPU circuits are sitting there idle, not drawing significant power. (An empty loop in BASIC is very much not a case of the CPU being idle, though.)
– Mark
2 days ago
Even if that is not a "normal" use case, I pretty much doubt a Z80 on NOPs draws significantly less current than when executing any other instruction. Have you got proof of that? Pretty much the only circuit not required for NOPs is the ALU - And my guess would be that is not responsible for the most significant power consumption. A Z80 in HALT state might have a measurable difference in current draw, but most probably NOPs will not lower that.
– tofro
2 days ago
1
Even a halted Z80 will run through the refresh cycle, so it's still doing something. Most likely it's only going to be certain instruction patterns that cause a resonance in an audible range, and I'd suspect that the traces on the board act as the transmitters rather than the CPU itself.
– Matthew Barber
2 days ago
add a comment |
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature. - tofro
In addition to what tofro has answered, I'd like to point out that some types of interference is a result from multiple activities and/or subsystems in a computer, but others may have a direct correlation to a simple operation of the machine, such as running a special sequence of instructions or toggling the data inside in RAM.
In some cases, the nature of this interference can be completely understood by the programmer, and renders it controllable. This possibility was well-known back to the era of mainframes and minicomputers, and I'd like to give several examples.
Here's the video of a 1971 DEC LAB-8/e minicomputer playing music. The music is generated by generating noise induced into an AM radio receiver near the CPU.
Later, it was rediscovered by the members of the Homebrew Computer Club on the Altair 8800. Quote What the Dormouse Said: How the 60s Counterculture Shaped the Personal Computer.
Dompier started again, and this time he succeeded. Previously he had
discovered that the unshielded computer could be programmed to generate
tones by interfering with a transistor radio. He spent hours figuring out
how to create a musical scale. Then he used the radio as an output device
for the computer. At the Homebrew meeting lightning struck when,
unexpectedly, strains from the Beatles' "Fool on the Hill" emerged. When the song ended, the crowd crammed into the room jumped to their feet offering thunderous applause. After the audience calmed down, the song was repeated and then, foreshadowing a world of vastly more powerful computers, the Altair broke into a rendition of "Daisy," raising the specter of the almost conscious HAL from the movie 2001: A Space Odyssey. For the first time there was a computer that you could build yourself that actually did something! Felsenstein eventually calmed the crowd down and noted, "Okay, there is music, but we're not exactly changing the world." Nobody cared. Everyone wanted to hear it again, and so Dompier hit the button, and the music started all over again. When it ended, he received another round of applause.
The same technique was again repopularized and reimplemented by various projects. For example, compile and run this program using a 2015 model MacBook Air. Then use a Sony STR-K670P radio receiver with the included antenna and tune it to 1580 kHz on AM You should hear the "Mary Had a Little Lamb" tune playing repeatedly. The actual emissions are caused by the
_mm_stream_si128
instruction that writes through to a memory address.The above examples all exploited radio-frequency interference. But mechanical noise is also exploitable in some cases. For example, this program can generate a faint musical tones (Imperial March, but easily modifiable) from the coil whine of a Thinkpad T550 by rapidly changing the Intel CPU P-state, thus stressing the power supply and induces a coil whine with controllable frequency. I've personally tested it on other "classical" Thinkpads, such as Thinkpad X200 and Thinkpad X220, and it also works.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "648"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
elzell is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f9634%2fwhy-could-you-hear-an-amstrad-cpc-working%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
There seems to be a slight misunderstanding: The CPU in a computer is (almost) never doing nothing (excluding power save states which was largely unknown at times the Amstrad was en vogue). So there's no such thing as "workload of a processor" going up or down - The CPU in an Amstrad is constantly running at 4 MHz, constantly under the same workload. If there's nothing do do, like executing a BASIC program), the CPU is, well, busy idling around at the same speed with the same "workload".
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature.
Operators of mainframes sometimes could hear whether their machines were running properly (or had crashed) by listening to the interference noise they produced, sometimes even tried to amplify the noise. (See this book, page 161ff)
You were experiencing some similar effect.
Today, the sound of historic computers operating can even be marketed as art.
4
...or, by placing a cheap AM radio near the CPU. I knew a guy in college who programmed his Altair 8800 to play recognizable tunes through a nearby AM radio. Computers back in the day did not exactly comply with FCC regulations.
– Solomon Slow
2 days ago
1
"Workload" certainly is meaningful, even in the days of the Amstrad. If you're just executing a sequence ofnop
s, that means a whole lot of CPU circuits are sitting there idle, not drawing significant power. (An empty loop in BASIC is very much not a case of the CPU being idle, though.)
– Mark
2 days ago
Even if that is not a "normal" use case, I pretty much doubt a Z80 on NOPs draws significantly less current than when executing any other instruction. Have you got proof of that? Pretty much the only circuit not required for NOPs is the ALU - And my guess would be that is not responsible for the most significant power consumption. A Z80 in HALT state might have a measurable difference in current draw, but most probably NOPs will not lower that.
– tofro
2 days ago
1
Even a halted Z80 will run through the refresh cycle, so it's still doing something. Most likely it's only going to be certain instruction patterns that cause a resonance in an audible range, and I'd suspect that the traces on the board act as the transmitters rather than the CPU itself.
– Matthew Barber
2 days ago
add a comment |
There seems to be a slight misunderstanding: The CPU in a computer is (almost) never doing nothing (excluding power save states which was largely unknown at times the Amstrad was en vogue). So there's no such thing as "workload of a processor" going up or down - The CPU in an Amstrad is constantly running at 4 MHz, constantly under the same workload. If there's nothing do do, like executing a BASIC program), the CPU is, well, busy idling around at the same speed with the same "workload".
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature.
Operators of mainframes sometimes could hear whether their machines were running properly (or had crashed) by listening to the interference noise they produced, sometimes even tried to amplify the noise. (See this book, page 161ff)
You were experiencing some similar effect.
Today, the sound of historic computers operating can even be marketed as art.
4
...or, by placing a cheap AM radio near the CPU. I knew a guy in college who programmed his Altair 8800 to play recognizable tunes through a nearby AM radio. Computers back in the day did not exactly comply with FCC regulations.
– Solomon Slow
2 days ago
1
"Workload" certainly is meaningful, even in the days of the Amstrad. If you're just executing a sequence ofnop
s, that means a whole lot of CPU circuits are sitting there idle, not drawing significant power. (An empty loop in BASIC is very much not a case of the CPU being idle, though.)
– Mark
2 days ago
Even if that is not a "normal" use case, I pretty much doubt a Z80 on NOPs draws significantly less current than when executing any other instruction. Have you got proof of that? Pretty much the only circuit not required for NOPs is the ALU - And my guess would be that is not responsible for the most significant power consumption. A Z80 in HALT state might have a measurable difference in current draw, but most probably NOPs will not lower that.
– tofro
2 days ago
1
Even a halted Z80 will run through the refresh cycle, so it's still doing something. Most likely it's only going to be certain instruction patterns that cause a resonance in an audible range, and I'd suspect that the traces on the board act as the transmitters rather than the CPU itself.
– Matthew Barber
2 days ago
add a comment |
There seems to be a slight misunderstanding: The CPU in a computer is (almost) never doing nothing (excluding power save states which was largely unknown at times the Amstrad was en vogue). So there's no such thing as "workload of a processor" going up or down - The CPU in an Amstrad is constantly running at 4 MHz, constantly under the same workload. If there's nothing do do, like executing a BASIC program), the CPU is, well, busy idling around at the same speed with the same "workload".
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature.
Operators of mainframes sometimes could hear whether their machines were running properly (or had crashed) by listening to the interference noise they produced, sometimes even tried to amplify the noise. (See this book, page 161ff)
You were experiencing some similar effect.
Today, the sound of historic computers operating can even be marketed as art.
There seems to be a slight misunderstanding: The CPU in a computer is (almost) never doing nothing (excluding power save states which was largely unknown at times the Amstrad was en vogue). So there's no such thing as "workload of a processor" going up or down - The CPU in an Amstrad is constantly running at 4 MHz, constantly under the same workload. If there's nothing do do, like executing a BASIC program), the CPU is, well, busy idling around at the same speed with the same "workload".
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature.
Operators of mainframes sometimes could hear whether their machines were running properly (or had crashed) by listening to the interference noise they produced, sometimes even tried to amplify the noise. (See this book, page 161ff)
You were experiencing some similar effect.
Today, the sound of historic computers operating can even be marketed as art.
edited 2 days ago
answered 2 days ago
tofrotofro
16.8k33596
16.8k33596
4
...or, by placing a cheap AM radio near the CPU. I knew a guy in college who programmed his Altair 8800 to play recognizable tunes through a nearby AM radio. Computers back in the day did not exactly comply with FCC regulations.
– Solomon Slow
2 days ago
1
"Workload" certainly is meaningful, even in the days of the Amstrad. If you're just executing a sequence ofnop
s, that means a whole lot of CPU circuits are sitting there idle, not drawing significant power. (An empty loop in BASIC is very much not a case of the CPU being idle, though.)
– Mark
2 days ago
Even if that is not a "normal" use case, I pretty much doubt a Z80 on NOPs draws significantly less current than when executing any other instruction. Have you got proof of that? Pretty much the only circuit not required for NOPs is the ALU - And my guess would be that is not responsible for the most significant power consumption. A Z80 in HALT state might have a measurable difference in current draw, but most probably NOPs will not lower that.
– tofro
2 days ago
1
Even a halted Z80 will run through the refresh cycle, so it's still doing something. Most likely it's only going to be certain instruction patterns that cause a resonance in an audible range, and I'd suspect that the traces on the board act as the transmitters rather than the CPU itself.
– Matthew Barber
2 days ago
add a comment |
4
...or, by placing a cheap AM radio near the CPU. I knew a guy in college who programmed his Altair 8800 to play recognizable tunes through a nearby AM radio. Computers back in the day did not exactly comply with FCC regulations.
– Solomon Slow
2 days ago
1
"Workload" certainly is meaningful, even in the days of the Amstrad. If you're just executing a sequence ofnop
s, that means a whole lot of CPU circuits are sitting there idle, not drawing significant power. (An empty loop in BASIC is very much not a case of the CPU being idle, though.)
– Mark
2 days ago
Even if that is not a "normal" use case, I pretty much doubt a Z80 on NOPs draws significantly less current than when executing any other instruction. Have you got proof of that? Pretty much the only circuit not required for NOPs is the ALU - And my guess would be that is not responsible for the most significant power consumption. A Z80 in HALT state might have a measurable difference in current draw, but most probably NOPs will not lower that.
– tofro
2 days ago
1
Even a halted Z80 will run through the refresh cycle, so it's still doing something. Most likely it's only going to be certain instruction patterns that cause a resonance in an audible range, and I'd suspect that the traces on the board act as the transmitters rather than the CPU itself.
– Matthew Barber
2 days ago
4
4
...or, by placing a cheap AM radio near the CPU. I knew a guy in college who programmed his Altair 8800 to play recognizable tunes through a nearby AM radio. Computers back in the day did not exactly comply with FCC regulations.
– Solomon Slow
2 days ago
...or, by placing a cheap AM radio near the CPU. I knew a guy in college who programmed his Altair 8800 to play recognizable tunes through a nearby AM radio. Computers back in the day did not exactly comply with FCC regulations.
– Solomon Slow
2 days ago
1
1
"Workload" certainly is meaningful, even in the days of the Amstrad. If you're just executing a sequence of
nop
s, that means a whole lot of CPU circuits are sitting there idle, not drawing significant power. (An empty loop in BASIC is very much not a case of the CPU being idle, though.)– Mark
2 days ago
"Workload" certainly is meaningful, even in the days of the Amstrad. If you're just executing a sequence of
nop
s, that means a whole lot of CPU circuits are sitting there idle, not drawing significant power. (An empty loop in BASIC is very much not a case of the CPU being idle, though.)– Mark
2 days ago
Even if that is not a "normal" use case, I pretty much doubt a Z80 on NOPs draws significantly less current than when executing any other instruction. Have you got proof of that? Pretty much the only circuit not required for NOPs is the ALU - And my guess would be that is not responsible for the most significant power consumption. A Z80 in HALT state might have a measurable difference in current draw, but most probably NOPs will not lower that.
– tofro
2 days ago
Even if that is not a "normal" use case, I pretty much doubt a Z80 on NOPs draws significantly less current than when executing any other instruction. Have you got proof of that? Pretty much the only circuit not required for NOPs is the ALU - And my guess would be that is not responsible for the most significant power consumption. A Z80 in HALT state might have a measurable difference in current draw, but most probably NOPs will not lower that.
– tofro
2 days ago
1
1
Even a halted Z80 will run through the refresh cycle, so it's still doing something. Most likely it's only going to be certain instruction patterns that cause a resonance in an audible range, and I'd suspect that the traces on the board act as the transmitters rather than the CPU itself.
– Matthew Barber
2 days ago
Even a halted Z80 will run through the refresh cycle, so it's still doing something. Most likely it's only going to be certain instruction patterns that cause a resonance in an audible range, and I'd suspect that the traces on the board act as the transmitters rather than the CPU itself.
– Matthew Barber
2 days ago
add a comment |
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature. - tofro
In addition to what tofro has answered, I'd like to point out that some types of interference is a result from multiple activities and/or subsystems in a computer, but others may have a direct correlation to a simple operation of the machine, such as running a special sequence of instructions or toggling the data inside in RAM.
In some cases, the nature of this interference can be completely understood by the programmer, and renders it controllable. This possibility was well-known back to the era of mainframes and minicomputers, and I'd like to give several examples.
Here's the video of a 1971 DEC LAB-8/e minicomputer playing music. The music is generated by generating noise induced into an AM radio receiver near the CPU.
Later, it was rediscovered by the members of the Homebrew Computer Club on the Altair 8800. Quote What the Dormouse Said: How the 60s Counterculture Shaped the Personal Computer.
Dompier started again, and this time he succeeded. Previously he had
discovered that the unshielded computer could be programmed to generate
tones by interfering with a transistor radio. He spent hours figuring out
how to create a musical scale. Then he used the radio as an output device
for the computer. At the Homebrew meeting lightning struck when,
unexpectedly, strains from the Beatles' "Fool on the Hill" emerged. When the song ended, the crowd crammed into the room jumped to their feet offering thunderous applause. After the audience calmed down, the song was repeated and then, foreshadowing a world of vastly more powerful computers, the Altair broke into a rendition of "Daisy," raising the specter of the almost conscious HAL from the movie 2001: A Space Odyssey. For the first time there was a computer that you could build yourself that actually did something! Felsenstein eventually calmed the crowd down and noted, "Okay, there is music, but we're not exactly changing the world." Nobody cared. Everyone wanted to hear it again, and so Dompier hit the button, and the music started all over again. When it ended, he received another round of applause.
The same technique was again repopularized and reimplemented by various projects. For example, compile and run this program using a 2015 model MacBook Air. Then use a Sony STR-K670P radio receiver with the included antenna and tune it to 1580 kHz on AM You should hear the "Mary Had a Little Lamb" tune playing repeatedly. The actual emissions are caused by the
_mm_stream_si128
instruction that writes through to a memory address.The above examples all exploited radio-frequency interference. But mechanical noise is also exploitable in some cases. For example, this program can generate a faint musical tones (Imperial March, but easily modifiable) from the coil whine of a Thinkpad T550 by rapidly changing the Intel CPU P-state, thus stressing the power supply and induces a coil whine with controllable frequency. I've personally tested it on other "classical" Thinkpads, such as Thinkpad X200 and Thinkpad X220, and it also works.
add a comment |
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature. - tofro
In addition to what tofro has answered, I'd like to point out that some types of interference is a result from multiple activities and/or subsystems in a computer, but others may have a direct correlation to a simple operation of the machine, such as running a special sequence of instructions or toggling the data inside in RAM.
In some cases, the nature of this interference can be completely understood by the programmer, and renders it controllable. This possibility was well-known back to the era of mainframes and minicomputers, and I'd like to give several examples.
Here's the video of a 1971 DEC LAB-8/e minicomputer playing music. The music is generated by generating noise induced into an AM radio receiver near the CPU.
Later, it was rediscovered by the members of the Homebrew Computer Club on the Altair 8800. Quote What the Dormouse Said: How the 60s Counterculture Shaped the Personal Computer.
Dompier started again, and this time he succeeded. Previously he had
discovered that the unshielded computer could be programmed to generate
tones by interfering with a transistor radio. He spent hours figuring out
how to create a musical scale. Then he used the radio as an output device
for the computer. At the Homebrew meeting lightning struck when,
unexpectedly, strains from the Beatles' "Fool on the Hill" emerged. When the song ended, the crowd crammed into the room jumped to their feet offering thunderous applause. After the audience calmed down, the song was repeated and then, foreshadowing a world of vastly more powerful computers, the Altair broke into a rendition of "Daisy," raising the specter of the almost conscious HAL from the movie 2001: A Space Odyssey. For the first time there was a computer that you could build yourself that actually did something! Felsenstein eventually calmed the crowd down and noted, "Okay, there is music, but we're not exactly changing the world." Nobody cared. Everyone wanted to hear it again, and so Dompier hit the button, and the music started all over again. When it ended, he received another round of applause.
The same technique was again repopularized and reimplemented by various projects. For example, compile and run this program using a 2015 model MacBook Air. Then use a Sony STR-K670P radio receiver with the included antenna and tune it to 1580 kHz on AM You should hear the "Mary Had a Little Lamb" tune playing repeatedly. The actual emissions are caused by the
_mm_stream_si128
instruction that writes through to a memory address.The above examples all exploited radio-frequency interference. But mechanical noise is also exploitable in some cases. For example, this program can generate a faint musical tones (Imperial March, but easily modifiable) from the coil whine of a Thinkpad T550 by rapidly changing the Intel CPU P-state, thus stressing the power supply and induces a coil whine with controllable frequency. I've personally tested it on other "classical" Thinkpads, such as Thinkpad X200 and Thinkpad X220, and it also works.
add a comment |
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature. - tofro
In addition to what tofro has answered, I'd like to point out that some types of interference is a result from multiple activities and/or subsystems in a computer, but others may have a direct correlation to a simple operation of the machine, such as running a special sequence of instructions or toggling the data inside in RAM.
In some cases, the nature of this interference can be completely understood by the programmer, and renders it controllable. This possibility was well-known back to the era of mainframes and minicomputers, and I'd like to give several examples.
Here's the video of a 1971 DEC LAB-8/e minicomputer playing music. The music is generated by generating noise induced into an AM radio receiver near the CPU.
Later, it was rediscovered by the members of the Homebrew Computer Club on the Altair 8800. Quote What the Dormouse Said: How the 60s Counterculture Shaped the Personal Computer.
Dompier started again, and this time he succeeded. Previously he had
discovered that the unshielded computer could be programmed to generate
tones by interfering with a transistor radio. He spent hours figuring out
how to create a musical scale. Then he used the radio as an output device
for the computer. At the Homebrew meeting lightning struck when,
unexpectedly, strains from the Beatles' "Fool on the Hill" emerged. When the song ended, the crowd crammed into the room jumped to their feet offering thunderous applause. After the audience calmed down, the song was repeated and then, foreshadowing a world of vastly more powerful computers, the Altair broke into a rendition of "Daisy," raising the specter of the almost conscious HAL from the movie 2001: A Space Odyssey. For the first time there was a computer that you could build yourself that actually did something! Felsenstein eventually calmed the crowd down and noted, "Okay, there is music, but we're not exactly changing the world." Nobody cared. Everyone wanted to hear it again, and so Dompier hit the button, and the music started all over again. When it ended, he received another round of applause.
The same technique was again repopularized and reimplemented by various projects. For example, compile and run this program using a 2015 model MacBook Air. Then use a Sony STR-K670P radio receiver with the included antenna and tune it to 1580 kHz on AM You should hear the "Mary Had a Little Lamb" tune playing repeatedly. The actual emissions are caused by the
_mm_stream_si128
instruction that writes through to a memory address.The above examples all exploited radio-frequency interference. But mechanical noise is also exploitable in some cases. For example, this program can generate a faint musical tones (Imperial March, but easily modifiable) from the coil whine of a Thinkpad T550 by rapidly changing the Intel CPU P-state, thus stressing the power supply and induces a coil whine with controllable frequency. I've personally tested it on other "classical" Thinkpads, such as Thinkpad X200 and Thinkpad X220, and it also works.
What you possibly can hear, however, is the CPU repeatedly doing the same thing, like operating in tight loops that can, through electrical or mechanical interference (with the monitor or audio signal, for example), create audible frequencies that you may hear. That was definitely not an intended feature. - tofro
In addition to what tofro has answered, I'd like to point out that some types of interference is a result from multiple activities and/or subsystems in a computer, but others may have a direct correlation to a simple operation of the machine, such as running a special sequence of instructions or toggling the data inside in RAM.
In some cases, the nature of this interference can be completely understood by the programmer, and renders it controllable. This possibility was well-known back to the era of mainframes and minicomputers, and I'd like to give several examples.
Here's the video of a 1971 DEC LAB-8/e minicomputer playing music. The music is generated by generating noise induced into an AM radio receiver near the CPU.
Later, it was rediscovered by the members of the Homebrew Computer Club on the Altair 8800. Quote What the Dormouse Said: How the 60s Counterculture Shaped the Personal Computer.
Dompier started again, and this time he succeeded. Previously he had
discovered that the unshielded computer could be programmed to generate
tones by interfering with a transistor radio. He spent hours figuring out
how to create a musical scale. Then he used the radio as an output device
for the computer. At the Homebrew meeting lightning struck when,
unexpectedly, strains from the Beatles' "Fool on the Hill" emerged. When the song ended, the crowd crammed into the room jumped to their feet offering thunderous applause. After the audience calmed down, the song was repeated and then, foreshadowing a world of vastly more powerful computers, the Altair broke into a rendition of "Daisy," raising the specter of the almost conscious HAL from the movie 2001: A Space Odyssey. For the first time there was a computer that you could build yourself that actually did something! Felsenstein eventually calmed the crowd down and noted, "Okay, there is music, but we're not exactly changing the world." Nobody cared. Everyone wanted to hear it again, and so Dompier hit the button, and the music started all over again. When it ended, he received another round of applause.
The same technique was again repopularized and reimplemented by various projects. For example, compile and run this program using a 2015 model MacBook Air. Then use a Sony STR-K670P radio receiver with the included antenna and tune it to 1580 kHz on AM You should hear the "Mary Had a Little Lamb" tune playing repeatedly. The actual emissions are caused by the
_mm_stream_si128
instruction that writes through to a memory address.The above examples all exploited radio-frequency interference. But mechanical noise is also exploitable in some cases. For example, this program can generate a faint musical tones (Imperial March, but easily modifiable) from the coil whine of a Thinkpad T550 by rapidly changing the Intel CPU P-state, thus stressing the power supply and induces a coil whine with controllable frequency. I've personally tested it on other "classical" Thinkpads, such as Thinkpad X200 and Thinkpad X220, and it also works.
edited yesterday
answered yesterday
比尔盖子比尔盖子
2438
2438
add a comment |
add a comment |
elzell is a new contributor. Be nice, and check out our Code of Conduct.
elzell is a new contributor. Be nice, and check out our Code of Conduct.
elzell is a new contributor. Be nice, and check out our Code of Conduct.
elzell is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Retrocomputing Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f9634%2fwhy-could-you-hear-an-amstrad-cpc-working%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
True story, I was writing some 3D graphics code on Sinclair PC200, and could hear the loop skipping triangles or processing them. That guided my optimization efforts for a more efficient hash.
– void_ptr
2 days ago
2
@void_ptr On my (comparatively) modern laptop, I can tell the difference between scrolling up and down on a page, creating a tarball vs creating a compressed tarball, and encrypting with AES128 vs AES256, entirely by the sound it makes. From an information security perspective, this is a nightmare...
– forest
2 days ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
2 days ago