When I worked at Orange Micro, we used a sound chip and its corresponding driver in a Pentium coprocessor board for Macs. When we used Windows 95, the sound would play one time (just the startup sound), then it would be forever silent. I was assigned the task of fixing this problem.
Shortly after I started working on it, we received a report from one of our customers saying it suspected a bad memory SIMM on one of our boards. It replaced the SIMM with an 8MB SIMM. Sound always worked with that SIMM in place and failed with larger SIMMs, which we verified at our facility.
I gained access to our company's only logic analyzer and found that the sound driver was accessing the sound buffer at the wrong memory address. There was no data, so there was no sound. After spending about a week single-stepping with the DOS debugger through the sound driver code, I found the place where it requested the sound buffer from the Windows 95 OS. I changed a few bytes of code to force it to allocate the buffer in the first 8MB of RAM, and sound worked fine after that.
Fortunately, I made notes on the byte pattern in the critical section of the driver, because soon after I worked through this problem, the manufacturer updated the driver. The buffer allocation code had moved, but we were able to find the pattern and again apply the modification to keep our sound playing.
This entry was submitted by Cliff Harris and edited by Rob Spiegel.
Cliff Harris received formal electronics training in the Army and later went to California State College at Fullerton to get his BSEE degree. He is now semi-retired and still involved in electronic projects at home.
Tell us your experience in solving a knotty engineering problem. Send stories to Rob Spiegel for Sherlock Ohms.
Brilliant detective work, and a great interpretation of the clues. BUt after reading the story it is still not fully clear as to if the actual fault was in software or in hardware, or in address assignment. Changing code was the fix, of course, but I am not sure that was the actual problem.
This sounds like a simple case of software debugging, not a particularly esoteric problem. I will add that there are all sorts of ongoing issues with PC sound. For example, when my Windows Vista machine goes to sleep, after it wakes up the sound system is down cause it can't see any of the hardware.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 3
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
A quick look into the merger of two powerhouse 3D printing OEMs and the new leader in rapid prototyping solutions, Stratasys. The industrial revolution is now led by 3D printing and engineers are given the opportunity to fully maximize their design capabilities, reduce their time-to-market and functionally test prototypes cheaper, faster and easier. Bruce Bradshaw, Director of Marketing in North America, will explore the large product offering and variety of materials that will help CAD designers articulate their product design with actual, physical prototypes. This broadcast will dive deep into technical information including application specific stories from real world customers and their experiences with 3D printing. 3D Printing is
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.