Hacker News new | ask | show | jobs
by jacquesm 4175 days ago
That is absolutely awesome. I used to have something like this: a pair of very fast dacs hooked up to the 16 address lines of my computer and another dac hooked up to the databus. It allowed me to look straight into the memory of the machine as the processor was accessing it, quite a powerful tool. Yours is nicer though (and with todays memory size I'd hate to think about the quantity of data that passes in a split second across the bus of a modern pc).
3 comments

That reminds me of the old story of people having a audio speaker connected to the address but of their mainframe so they could detect error conditions by the sounds being made.
As I recall, it was a radio that was tuned to the Kilohertz band. This was before the FCC was so careful about computers emitting radio waves. A computer that has a clock cycle measured in Kilohertz can emit radio waves in the Kilohertz band.

This makes "music" of a sort, especially when the program running does many things repetitiously. In the early days of computing, multiplication was implemented as repeated addition. Memory access also had a particular pattern of repetitive circuitry.

This provided a base repetition that humans recognize. When code was stuck in a loop, or repeatedly accessed the same range of memory locations, the operators could hear the pattern and know something was wrong.

That reminds me of the time I was poking (literally POKE'ing) around with my TRS-80 Color Computer. I (somehow) had changed it to one of the graphics modes and then set the base address to the start of RAM.

So on the screen you could sort of see the BASIC stack, other important system variables, and even a squashed representation of the text console. So when it was sitting idle you'd see one kind of pattern, and running programs produced other kinds of patterns.

Fun times.

I always thought that a something like this was how the computers on Star Trek worked.

"Computer! Run a level five diagnostic of the starboard nacelles!" bloop bloop bloop...

The foley artists did a pretty terrific job of using sound to differentiate between heavy computation, success, and failure etc. Makes me kinda wish my computer could play a minor third instead of just plopping up a dialog box when things go wrong.

Been pondering something like that for networking.

A while back i read about a guy who had set up his phone so that it would play certain tones when it detected APs while walking around town. This based on their signal strenght, security settings etc.

This got me thinking back to my analog modem days, and how i could tell if i was getting a good connection or not depending on the noise it would make during the handshake.

What i was thinking was setting up a sniffer, and hook that up so certain tones would play based on packets passing by.

I sometimes wonder if modern computing is too reliant on one human sense, vision. More mechanical devices can give us early warnings about developing issues based on sounds and vibrations.

For those who don't know:

Ping makes a ping sound on linux.

You can choose ping on success or ping on timeout (or silent.) Fantastic for live work.

Don't find anything about that in the docs for Gnu ping...
I found at least one old system that did this (although the version I heard related to the old mainframes Edinburgh University had decades ago):

EDSAC II had a speaker to help with debugging and this "feature" was also incorporated into versions of the LEO, the worlds first computer for business applications:

http://en.wikipedia.org/wiki/LEO_%28computer%29

I wonder if something similar could be created for the state machines in the article - giving each state it's own tone?

>giving each state it's own tone?

oh man that's such a good idea.

Could output midi events and defer the sound rendering to another process.
The Radio Shack TRS-80 Model 1 was legendary for the amount of radio interference it caused. I used this at age 7 along with my older brother to add sounds and victory music to pinball games. You could tune the FM radio to a harmonic of the frequency of the processor. Then you constructed loops with short delays to alter the frequency of the sound. You'd hear all kinds of processing garbage during the game loop, but the sounds came out fine.
> a pair of very fast dacs hooked up to the 16 address lines of my computer and another dac hooked up to the databus.

Here's an article about it, with photos [1]. I remember reading it in BYTE, years ago.

https://archive.org/stream/byte-magazine-1978-02/1978_02_BYT...

Edit: I'll bet it's no longer possible to do this on modern CPUs; either the memory busses are inaccessible (SoC) or so highly optimised (DDR4) that it's infeasible to probe them without disrupting the transmission line.

[1] Ciarcia, S. "A Penny Pinching Address State Analyzer". BYTE 3(2), pp. 6--12. February, 1978.

Bunnie Huang used an FPGA on a pretty fast bus to extract the XBox's ROM. Granted, that's no longer a "modern" CPU, but still interesting.

See the "Update on ROM extraction and decryption" section here: http://www.xenatera.com/bunnie/proj/anatak/xboxmod.html

More info here: http://www.xenatera.com/bunnie/proj/anatak/AIM-2002-008.pdf

And in his book: http://www.nostarch.com/xboxfree

Besides that you'd have a serious problem getting a DAC that is fast enough and with enough bits.
What did they drive?
X, Y, brightness on an army surplus scope.
damn, that's gangster
And you'll immediately see it when your program hangs in a loop ;-)
Spin cycle state :P