←back to thread

84 points starkparker | 4 comments | | HN request time: 0.73s | source
1. RedShift1 ◴[] No.44538638[source]
There's probably a way to do this in software? Like some cars simulating engine noises through the speakers...
replies(2): >>44538813 #>>44540080 #
2. bn-l ◴[] No.44538813[source]
But then you need to install something. Probably give it some perm.
replies(1): >>44539311 #
3. palmotea ◴[] No.44539311[source]
Not necessarily. You could do it in a similar form factor, you'd just probably need a bigger speaker and more complicated acoustic model.

Though maybe instead of keying of an HDD LED, it should sit on the IDE/SCSI bus and generate sounds based on the actual access commands. That shouldn't be impossible, since the main market would be in retro-computing, and there are already devices that emulate those disks. Instead of figuring out what block to return, it would instead figure out of how long of a seek would have been needed and play the right sound.

If someone produces something that can simulate the sound of a 20MB Miniscribe drive, I'd buy it in a heartbeat:

https://youtu.be/9gTiBYEY02E?si=arGdgyI7hCnmJgN4&t=1866

4. rzzzt ◴[] No.44540080[source]
Under MS-DOS such utilities existed and it was also used to demonstrate interrupt hooks in assembly tutorials. To do this, they'd:

- change INT 13h (the disk access routines in the BIOS) handler address

- write a handler that clicks the speaker or draws something to video memory without modifying any input registers

- pass the input over to the original handler which will complete the disk operation

- return or remove the return address of the inserted snippet from the stack and let the original handler do an IRET

The end result is e.g. an ASCII smiley face blinking in one of the corners of the screen in text mode or a similar style of crackling/screetching from the PC speaker.

Here is a full-featured example: https://github.com/MobyGamer/softhddi