From: Franc Zabkar on
On Fri, 17 Nov 2006 16:25:01 GMT,
a?n?g?e?l(a)lovergirl.lrigrevol.moc.com (The little lost angel) put
finger to keyboard and composed:

>On Fri, 17 Nov 2006 05:20:07 -0500, Trent <none(a)dev.nul.pissoff>
>wrote:
>
>>On 16 Nov 2006 15:02:04 GMT Arno Wagner <me(a)privacy.net> wrote in Message
>>id: <4s3crcFthuckU1(a)mid.individual.net>:
>>
>>>That is wrong. The beep codes are produced by the keyboard
>>>MCU and that will beep a "CPU not present" if it is not
>>>contacted by the CPU after a certain time.
>>
>>Proof please. The beep codes are generated from the 8254 timer chip, which
>>must be programmed by the processor. If the processor is missing or cannot
>>do code/data fetches from the BIOS ROM, there are *no* post codes. Period.
>
>I had seen modern motherboards which are able to tell if the CPU is
>not working. Specifically on an older AOpen K7 board, I had the
>occasion where the board was able to tell me "Your CPU may have a
>problem" using the beeper as a voice speaker.

If the speaker was talking to you, then clearly the code that does
this is being executed by some kind of CPU. I'd be very surprised if
such intelligence was incorporated into the chipset. Perhaps your CPU
was only partially bad.

>My older MSI Socket A board also had a diagnostic LED that had codes
>for a improperly installed or non-functional CPU, basically equates to
>a dead CPU.

If it's just a single LED, then that's a lot easier than generating a
beep code.

>My current one probably has beep codes for that as well but I'm too
>lazy to dig up the manual :ppPp

All BIOSes appear to have beep codes for malfunctioning CPUs. However,
AFAICS, these require that the CPU has enough functionality to execute
BIOS code. A totally dead CPU cannot execute anything.

Having said the above, I *could* envisage a scenario where a spare pin
on the keyboard MCU could be used to drive the speaker by ORing it
with the normal data path. Such a design *could* detect an empty CPU
socket, but none of your anecdotes confirm that this is what was
happening in your case.

- Franc Zabkar
--
Please remove one 'i' from my address when replying by email.
From: Franc Zabkar on
On 17 Nov 2006 23:54:02 GMT, Arno Wagner <me(a)privacy.net> put finger
to keyboard and composed:

>In comp.sys.ibm.pc.hardware.misc Trent <none(a)dev.nul.pissoff> wrote:
>> On 16 Nov 2006 15:02:04 GMT Arno Wagner <me(a)privacy.net> wrote in Message
>> id: <4s3crcFthuckU1(a)mid.individual.net>:
>
>>>That is wrong. The beep codes are produced by the keyboard
>>>MCU and that will beep a "CPU not present" if it is not
>>>contacted by the CPU after a certain time.
>
>> Proof please. The beep codes are generated from the 8254 timer chip, which
>> must be programmed by the processor. If the processor is missing or cannot
>> do code/data fetches from the BIOS ROM, there are *no* post codes. Period.
>
>Since your information is wrong, I don't feel I have to proof
>anything.

Yes, you do.

>But please remain unenlightened, if you want.
>
>Otherwise have a look at the schematics again. Should be at least PC-AT,
>since I think the original PC and XT actually could not do this AFAIK.
>
>Arno

I have the original IBM PC/AT Technical Reference Manual.

Here are scans of the relevant circuits:
http://www.users.on.net/~fzabkar/PC-AT/

Note that the speaker is driven by an 8254 timer gated with speaker
data from "Port B", ie I/O port 61h.

There is no connection between the 8042 keyboard controller and the
speaker.

- Franc Zabkar
--
Please remove one 'i' from my address when replying by email.
From: Arno Wagner on
In comp.sys.ibm.pc.hardware.misc Franc Zabkar <fzabkar(a)iinternode.on.net> wrote:
> On 17 Nov 2006 23:54:02 GMT, Arno Wagner <me(a)privacy.net> put finger
> to keyboard and composed:

>>In comp.sys.ibm.pc.hardware.misc Trent <none(a)dev.nul.pissoff> wrote:
>>> On 16 Nov 2006 15:02:04 GMT Arno Wagner <me(a)privacy.net> wrote in Message
>>> id: <4s3crcFthuckU1(a)mid.individual.net>:
>>
>>>>That is wrong. The beep codes are produced by the keyboard
>>>>MCU and that will beep a "CPU not present" if it is not
>>>>contacted by the CPU after a certain time.
>>
>>> Proof please. The beep codes are generated from the 8254 timer chip, which
>>> must be programmed by the processor. If the processor is missing or cannot
>>> do code/data fetches from the BIOS ROM, there are *no* post codes. Period.
>>
>>Since your information is wrong, I don't feel I have to proof
>>anything.

> Yes, you do.

>>But please remain unenlightened, if you want.
>>
>>Otherwise have a look at the schematics again. Should be at least PC-AT,
>>since I think the original PC and XT actually could not do this AFAIK.
>>
>>Arno

> I have the original IBM PC/AT Technical Reference Manual.

> Here are scans of the relevant circuits:
> http://www.users.on.net/~fzabkar/PC-AT/

> Note that the speaker is driven by an 8254 timer gated with speaker
> data from "Port B", ie I/O port 61h.

> There is no connection between the 8042 keyboard controller and the
> speaker.

Ok, so you did actually look. In my PC-AT schematics, I/O D1 from
the 8042 (U126) is connected to the Speaker via U127 (ALS175,
a quad D-Flip flop) and mixed together with the output of the 8254
(U103) in U92. Yes, ordinarily the AND-gate acts as a gate. But it
can be used as mixer as well, if the signal from the 8254 is "1".

Arno


> - Franc Zabkar
> --
> Please remove one 'i' from my address when replying by email.
From: Franc Zabkar on
On 18 Nov 2006 02:38:27 GMT, Arno Wagner <me(a)privacy.net> put finger
to keyboard and composed:

>In comp.sys.ibm.pc.hardware.misc Franc Zabkar <fzabkar(a)iinternode.on.net> wrote:
>> On 17 Nov 2006 23:54:02 GMT, Arno Wagner <me(a)privacy.net> put finger
>> to keyboard and composed:
>
>>>In comp.sys.ibm.pc.hardware.misc Trent <none(a)dev.nul.pissoff> wrote:
>>>> On 16 Nov 2006 15:02:04 GMT Arno Wagner <me(a)privacy.net> wrote in Message
>>>> id: <4s3crcFthuckU1(a)mid.individual.net>:
>>>
>>>>>That is wrong. The beep codes are produced by the keyboard
>>>>>MCU and that will beep a "CPU not present" if it is not
>>>>>contacted by the CPU after a certain time.
>>>
>>>> Proof please. The beep codes are generated from the 8254 timer chip, which
>>>> must be programmed by the processor. If the processor is missing or cannot
>>>> do code/data fetches from the BIOS ROM, there are *no* post codes. Period.
>>>
>>>Since your information is wrong, I don't feel I have to proof
>>>anything.
>
>> Yes, you do.
>
>>>But please remain unenlightened, if you want.
>>>
>>>Otherwise have a look at the schematics again. Should be at least PC-AT,
>>>since I think the original PC and XT actually could not do this AFAIK.
>>>
>>>Arno
>
>> I have the original IBM PC/AT Technical Reference Manual.
>
>> Here are scans of the relevant circuits:
>> http://www.users.on.net/~fzabkar/PC-AT/
>
>> Note that the speaker is driven by an 8254 timer gated with speaker
>> data from "Port B", ie I/O port 61h.
>
>> There is no connection between the 8042 keyboard controller and the
>> speaker.
>
>Ok, so you did actually look. In my PC-AT schematics, I/O D1 from
>the 8042 (U126) is connected to the Speaker via U127 (ALS175,
>a quad D-Flip flop) and mixed together with the output of the 8254
>(U103) in U92. Yes, ordinarily the AND-gate acts as a gate. But it
>can be used as mixer as well, if the signal from the 8254 is "1".
>
>Arno

Look again. I/O D1 from the 8042 is connected to a shared data bus.
This data bus is controlled by the host CPU, not the 8042. In any case
the clock for U127 is "-PortB WR" which is also generated by the host
CPU via an Out instruction to port 61h. The 8042 has *no way* of
clocking data through U127.

Page 1-30 of the manual states:

=====================================================================
The system unit has a 2-1/4 inch permanent-magnet speaker which can be
drive from:

. The I/O-port output bit
. The timer/counter's clock out
. Both
=====================================================================

Page 1-10 has a simplified circuit diagram which may be easier for you
to understand:
http://www.users.on.net/~fzabkar/PC-AT/TimerCounter.jpg

- Franc Zabkar
--
Please remove one 'i' from my address when replying by email.
From: The little lost angel on
On Sat, 18 Nov 2006 11:09:32 +1100, Franc Zabkar
<fzabkar(a)iinternode.on.net> wrote:

>>My older MSI Socket A board also had a diagnostic LED that had codes
>>for a improperly installed or non-functional CPU, basically equates to
>>a dead CPU.
>
>If it's just a single LED, then that's a lot easier than generating a
>beep code.

It's a set of 4 dual colour (red/green) LED so it's a bit more
complicated than just lighting up one LED if the board doesn't see a
CPU?

Wouldn't it be possible that the chipset has included "intelligence"
to be used for controlling the speaker or such a diagnostic function?

I'll try to see if anybody I know has a spare system and willing to
try a little test by pulling out the CPU totally. :p

--
A Lost Angel, fallen from heaven
Lost in dreams, Lost in aspirations,
Lost to the world, Lost to myself