MiSTer-devel / MacPlus_MiSTer

Macintosh Plus for MiSTer
40 stars 17 forks source link

Simple fix for audio - when sound output is disabled, drive output high instead of zero #12

Closed darylrichards closed 2 months ago

darylrichards commented 2 months ago

The original sound hardware is TTL - so can only ever be 0 or 1. We're driving it more like a DAC here, so drive it to the highest value when disabled

sorgelig commented 2 months ago

Driving to 0 while muted is more friendly to modern hardware. Setting to 1 may produce pops/clicks and other unwanted result. What this fix exactly fixes?

darylrichards commented 2 months ago

The original sound hardware was PWM TTL. So the output was only ever zero or one. Many programs ignored the PWM aspect and just drove the enable pin on and off to produce sound. When the original hardware disabled the sound it went to a TTL '1'. So, driving the analog value high when disabled emulates this properly, and produces sound in all the software than doesn't have sound now. This fixes bug #7

Also see https://misterfpga.org/viewtopic.php?t=8087 for confirmation of fix...