VOGONS


First post, by Azami

User metadata
Rank Newbie
Rank
Newbie

The windows 3.1 sound blaster 2.0 driver suffers from a potential divide per zero error if two successive calls to timeGetTime() returns the same value during the driver initialization.

The attachment sb20snd.png is no longer available

This is a patch to fix this, changing the driver to act as if the difference between the two calls was 1ms.

I needed it so I can use LPTDAC.386 on my Armada M700, so let's share it.

Reply 1 of 5, by Kahenraz

User metadata
Rank l33t
Rank
l33t

Very cool! What is the program there you used to fix the problem that can disassemble and patch a 16-bit binary?

Reply 2 of 5, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
Kahenraz wrote on 2022-07-29, 23:23:

Very cool! What is the program there you used to fix the problem that can disassemble and patch a 16-bit binary?

Looks like Ghidra.

Reply 3 of 5, by Azami

User metadata
Rank Newbie
Rank
Newbie

Yes, it's Ghidra.
Then manual patching with an hex editor.

Reply 4 of 5, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
Azami wrote on 2022-07-29, 23:28:

Yes, it's Ghidra.
Then manual patching with an hex editor.

Nice. I've used IDA a lot but always been frustrated when I attempt Ghidra, particularly with code that doesn't cleanly lie inside any function.
I also just saw your adjustments to PuTTY for Win32s; very nice.

Reply 5 of 5, by Azami

User metadata
Rank Newbie
Rank
Newbie

Thanks!