mirror of
https://github.com/fruit-bat/pico-zxspectrum.git
synced 2025-04-19 00:04:01 +03:00
analogue mix of AY and buzzer
This commit is contained in:
parent
64abc61ae2
commit
c13c4378bc
@ -80,6 +80,7 @@ zxspectrum/kiosk.txt
|
||||
| GP14 | | 14 | 19 | | | TXC+ | Clock + |
|
||||
| GP15 | | 15 | 20 | | | TXC- | Clock - |
|
||||
| GP20 | | 20 | 26 | | | | PWM audio out |
|
||||
| GP21 | | 21 | 27 | | | | Digital audio out |
|
||||
|
||||
|
||||

|
||||
@ -88,8 +89,11 @@ zxspectrum/kiosk.txt
|
||||
<img src="docs/pico_zxspectrum_prototype_1.jpg" height="200"/>
|
||||
|
||||
### Audio filter
|
||||
It's a good idea to filter out high frequencies from the PWM audio output.
|
||||
The following components were chosen as I found them in a draw... but it sounds ok.
|
||||
High frequencies need to be filtered out of the PWM audio output and mixed with the Spectrum's digital audio.
|
||||
|
||||

|
||||
|
||||
Designs that only have a single GPIO pin available can still have the audio mixed digitally.
|
||||
|
||||

|
||||
|
||||
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
BIN
docs/audio_filter_mk2.cddx
Normal file
BIN
docs/audio_filter_mk2.cddx
Normal file
Binary file not shown.
BIN
docs/audio_filter_mk2.png
Normal file
BIN
docs/audio_filter_mk2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
52
docs/audio_filter_mk2.svg
Normal file
52
docs/audio_filter_mk2.svg
Normal file
@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Circuit Diagram, cdlibrary.dll 4.0.0.0 -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" width="540" height="260" xmlns="http://www.w3.org/2000/svg">
|
||||
<line x1="270" y1="60" x2="300" y2="60" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="300" y1="60" x2="300" y2="120" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="300" y1="120" x2="300" y2="130" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="220" y1="60" x2="225" y2="60" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="265" y1="60" x2="270" y2="60" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<rect x="225" y="52" width="40" height="16" style="fill-opacity:0;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<text x="245" y="46" style="font-family:Arial;font-size:11px;text-anchor:middle" dominant-baseline="baseline" transform="rotate(0, 245, 46)">15 kΩ</text>
|
||||
<text x="162" y="60" style="font-family:Arial;font-size:12px;text-anchor:end" dominant-baseline="middle" transform="rotate(0, 162, 60)">Pico pin 27 (GPIO21)</text>
|
||||
<line x1="173" y1="60" x2="220" y2="60" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<ellipse cx="170" cy="60" rx="3" ry="3" style="fill-opacity:0;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<line x1="300" y1="210" x2="300" y2="210" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="300" y1="210" x2="300" y2="218" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<path d="M 292,218 L 308,218 L 300,226 L 292,218" style="fill-opacity:0;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="380" y1="190" x2="380" y2="210" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="300" y1="190" x2="300" y2="210" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="380" y1="120" x2="380" y2="140" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="300" y1="120" x2="300" y2="140" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="270" y1="120" x2="400" y2="120" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="300" y1="140" x2="300" y2="145" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="300" y1="185" x2="300" y2="190" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<rect x="292" y="145" width="16" height="40" style="fill-opacity:0;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<text x="286" y="165" style="font-family:Arial;font-size:11px;text-anchor:end" dominant-baseline="middle" transform="rotate(0, 286, 165)">4.9 kΩ</text>
|
||||
<line x1="220" y1="120" x2="225" y2="120" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="265" y1="120" x2="270" y2="120" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<rect x="225" y="112" width="40" height="16" style="fill-opacity:0;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<text x="245" y="106" style="font-family:Arial;font-size:11px;text-anchor:middle" dominant-baseline="baseline" transform="rotate(0, 245, 106)">1.2 kΩ</text>
|
||||
<line x1="380" y1="140" x2="380" y2="161" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="380" y1="169" x2="380" y2="190" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="366" y1="161" x2="394" y2="161" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<line x1="366" y1="169" x2="394" y2="169" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<text x="360" y="165" style="font-family:Arial;font-size:11px;text-anchor:end" dominant-baseline="middle" transform="rotate(0, 360, 165)">100 nF</text>
|
||||
<text x="448" y="210" style="font-family:Arial;font-size:12px;text-anchor:start" dominant-baseline="middle" transform="rotate(0, 448, 210)">Audio out -</text>
|
||||
<line x1="380" y1="210" x2="437" y2="210" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<ellipse cx="440" cy="210" rx="3" ry="3" style="fill-opacity:0;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<text x="448" y="120" style="font-family:Arial;font-size:12px;text-anchor:start" dominant-baseline="middle" transform="rotate(0, 448, 120)">Audio out +</text>
|
||||
<line x1="400" y1="120" x2="437" y2="120" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<ellipse cx="440" cy="120" rx="3" ry="3" style="fill-opacity:0;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<text x="162" y="210" style="font-family:Arial;font-size:12px;text-anchor:end" dominant-baseline="middle" transform="rotate(0, 162, 210)">Pico pin 22 (GND)</text>
|
||||
<line x1="173" y1="210" x2="380" y2="210" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<ellipse cx="170" cy="210" rx="3" ry="3" style="fill-opacity:0;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<text x="162" y="120" style="font-family:Arial;font-size:12px;text-anchor:end" dominant-baseline="middle" transform="rotate(0, 162, 120)">Pico pin 26 (GPIO20)</text>
|
||||
<line x1="173" y1="120" x2="220" y2="120" style="stroke:rgb(0, 0, 0);stroke-linecap:square;stroke-width:2" />
|
||||
<ellipse cx="170" cy="120" rx="3" ry="3" style="fill-opacity:0;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<ellipse cx="300" cy="120" rx="2" ry="2" style="fill-opacity:1;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<ellipse cx="300" cy="210" rx="2" ry="2" style="fill-opacity:1;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<ellipse cx="380" cy="210" rx="2" ry="2" style="fill-opacity:1;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
<ellipse cx="380" cy="120" rx="2" ry="2" style="fill-opacity:1;fill:rgb(0, 0, 0);stroke:rgb(0, 0, 0);stroke-width:2" />
|
||||
</svg>
|
Loading…
x
Reference in New Issue
Block a user