Live data from Hacker News

What’s up with the Beep driver in Windows 7? (2010)

blogs.msdn.microsoft.com

31–40 of 106 posts

Re: What’s up with the Beep driver in Windows 7? (2010)

#31

Earlier quoted context omitted.

Almost nothing, there are some components that are emulated in software/firmware.

Well a certain amount of it is emulated in SMM, but from the fact that its still possible to boot DOS on most modern machines, a lot of the core hardware is still there emulated or otherwise. I was just reading a review on the Asus X99-A II, board where they were talking about the super-io chip's PS2 keyboard port. And IIRC, a couple years ago someone (IBM IIRC) dared to ship a machine without an 8042 keyboard contro…

Can you talk about your firmware work on the X99-A board? Any coreboot tips?

Re: What’s up with the Beep driver in Windows 7? (2010)

#32

Earlier quoted context omitted.

Intel finally got rid of hardware A20 gating in Haskell. Real mode still exists, and iirc, the processor still defaults to it. You just can't jump into real mode from x64 mode, you need a virtualized environment in 32 bit mode to do that.

I'm pretty sure you don't need to virtualize anything. You can switch out of long mode and then use all the pre-64 modes as normal.

On first few AMD's original AMD64 microarchitectures, 16 bit segments (both vm86 and 16b protected mode) were not working when the CPU was in long mode. The fact that they do on many modern CPUs is one of the Intel's extensions to AMD64. Also this is the reason why 64b windows do not support NTVDM and 16b windows applications, while the current hardware can support that. Another of these backward compatibility Intel's extensions concern whether x87-style FPU instructions are valid in long mode 64b code segment.

Re: What’s up with the Beep driver in Windows 7? (2010)

#33

This 8254 mention made me curious. Does anyone know which other parts of the original PC hardware are still present in modern machines for compatibility? (Real mode in CPUs, A20, ...)

Almost nothing, there are some components that are emulated in software/firmware.

I think most motherboards actually still support all of these crusty old GPIOs in hardware, but on a SuperIO https://en.wikipedia.org/wiki/Super_I/O chip. One of these will usually hang off your southbridge/PCH via the Low Pin Count connector https://en.wikipedia.org/wiki/Low_Pin_Count, which was specifically designed as the compatibility interface for these things.

In a modern PC, almost none of these are used - why would anyone want to use the crummy old AT 24-bit DMA controller when you can use PCIe bus mastering - but they're there if want to boot into an old real-mode OS.

Re: What’s up with the Beep driver in Windows 7? (2010)

#34

That is a pretty awesome tour de force. Somewhere deep inside your computer is an (emulated) PC/AT trying to get out :-). An interesting lesson about the use of 'beep' for the assistive technologies. I see those sorts of things in architectures which have grown up over time and I wonder whether or not you could know at the time "Hey we're using this weird thing, please deprecated at your earliest convenience" or if i…

"feeping"? Feeble beeping? :)

Re: What’s up with the Beep driver in Windows 7? (2010)

#35

That is a pretty awesome tour de force. Somewhere deep inside your computer is an (emulated) PC/AT trying to get out :-). An interesting lesson about the use of 'beep' for the assistive technologies. I see those sorts of things in architectures which have grown up over time and I wonder whether or not you could know at the time "Hey we're using this weird thing, please deprecated at your earliest convenience" or if i…

"feeping"? Feeble beeping? :)

It’s a quote from the HACTRN, the explanatory notes of which explains: “the TTY's bell […] on the CRT in the poem above is a particularly obnoxious flavor of "beep", […]”

http://www.csd.uwo.ca/~magi/personal/humour/Computer_Audienc...

Re: What’s up with the Beep driver in Windows 7? (2010)

#36

That is a pretty awesome tour de force. Somewhere deep inside your computer is an (emulated) PC/AT trying to get out :-). An interesting lesson about the use of 'beep' for the assistive technologies. I see those sorts of things in architectures which have grown up over time and I wonder whether or not you could know at the time "Hey we're using this weird thing, please deprecated at your earliest convenience" or if i…

  "So," say I, "what is the madness, The state of awful system sadness,
  That would cause Linux such distress?"
  After all, the days of yore, from which this reference came before, those days are long since gone.
  Yes, the PDP is long since gone, and though it legacy carries on, the once-great HACTRN is no more.
  So once again this begs the question, which I ask through my HN session, what did feep upon your console's bell?

  --qwertyuiop924 (with apologies to The Great Quux (with apologies to Edgar Allan Poe))
...I have nothing to apologize for.

Re: What’s up with the Beep driver in Windows 7? (2010)

#37

Earlier quoted context omitted.

Almost nothing, there are some components that are emulated in software/firmware.

Well a certain amount of it is emulated in SMM, but from the fact that its still possible to boot DOS on most modern machines, a lot of the core hardware is still there emulated or otherwise. I was just reading a review on the Asus X99-A II, board where they were talking about the super-io chip's PS2 keyboard port. And IIRC, a couple years ago someone (IBM IIRC) dared to ship a machine without an 8042 keyboard contro…

> Especially given the love for all things ARM, which tend to implement their peripherals in a very 1980's way with simple fixed MMIO ports punched into the address map, but without the standardization that form the basis of PC/AT hardware.

Isn't that a source of flexibility, though? The fact that that stuff is not standardized and is instead hidden behind a hardware abstraction layer (the OS kernel) means that ARM systems get the freedom to drop the legacy interfaces and centralize the hardware abstraction where it belongs: in the kernel.

Re: What’s up with the Beep driver in Windows 7? (2010)

#38
post #6

Earlier quoted context omitted.

Not even chipset pins devoted to AT keyboards?

Good luck using an AT keyboard today :P there are some USB converters. Some motherboards that offer PS/2 connectivity (rare, mostly "gaming motherboards" for n-Key rollover fanatics) but I don't even know if that chipset would do AT.

I got the cheapest motherboard available that would work with the components I was getting and it happened to have ps/2 ports.

Re: What’s up with the Beep driver in Windows 7? (2010)

#39
post #13
post #2

Anyone else remember that driver that allowed the internal speaker to output wave sound? I remember days of playing SimCity 2000 and Doom without a sound card, so it was just beeps and buzzes. Then one day I discovered that driver and started to enjoy small sounding wave sound

Not exactly that but a similar story for you. I was a huge dork in high school and figured out the sound API on my HP-48G which was just really a way to play a sound from the internal speaker at a frequency and duration. I programmed the first parts of Holst's Jupiter using my calculator and a friend's calculator. Man that was real fun to do. Created an API on top of that to simplify it to play notes at a certain len…

I did something similar with an Arduino. I managed to get an okay Star Wars out of it.

As for calculators, my school unfortunately standardized in TI: You guys had RPL, we have TI-Basic, which is worse than actual BASIC. And our calculators cost more! (Second-hand, anyways, because let's face it, nobody buys their calculators new)

Re: What’s up with the Beep driver in Windows 7? (2010)

#40
post #32

Earlier quoted context omitted.

I'm pretty sure you don't need to virtualize anything. You can switch out of long mode and then use all the pre-64 modes as normal.

On first few AMD's original AMD64 microarchitectures, 16 bit segments (both vm86 and 16b protected mode) were not working when the CPU was in long mode. The fact that they do on many modern CPUs is one of the Intel's extensions to AMD64. Also this is the reason why 64b windows do not support NTVDM and 16b windows applications, while the current hardware can support that. Another of these backward compatibility Intel'…

AFAIK that is not true as far as I know.
Post reply on HN