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
5 hours ago
1
@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
4 hours ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
1 hour 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 13 hours ago
elzellelzell
1262
1262
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
5 hours ago
1
@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
4 hours ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
1 hour 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
5 hours ago
1
@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
4 hours ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
1 hour 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
5 hours 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
5 hours ago
1
1
@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
4 hours 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
4 hours ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
1 hour ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
1 hour ago
add a comment |
1 Answer
1
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.
3
...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
8 hours 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
7 hours 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
6 hours 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
5 hours ago
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
1 Answer
1
active
oldest
votes
1 Answer
1
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.
3
...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
8 hours 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
7 hours 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
6 hours 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
5 hours 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.
3
...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
8 hours 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
7 hours 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
6 hours 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
5 hours 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 10 hours ago
answered 11 hours ago
tofrotofro
16.6k33493
16.6k33493
3
...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
8 hours 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
7 hours 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
6 hours 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
5 hours ago
add a comment |
3
...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
8 hours 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
7 hours 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
6 hours 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
5 hours ago
3
3
...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
8 hours 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
8 hours 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
7 hours 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
7 hours 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
6 hours 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
6 hours 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
5 hours 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
5 hours ago
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
5 hours ago
1
@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
4 hours ago
@void_ptr - the real trick is to be able to smell the triangles. :-)
– Bob Jarvis
1 hour ago