mirror of
https://github.com/fruit-bat/pico-zxspectrum.git
synced 2025-04-19 00:04:01 +03:00
4 pin audio
This commit is contained in:
parent
77a9c87055
commit
1fb8346e6d
27
README.md
27
README.md
@ -147,12 +147,14 @@ https://github.com/fruit-bat/tinyusb/tree/hid_micro_parser_and_hub
|
||||
## Try it
|
||||
Pre-built binaries can be copied directly to a Pico Pi. Connect your Pico Pi with a USB cable, while holding down the program button.
|
||||
|
||||
| Board | Binary |
|
||||
| ------ | -------- |
|
||||
| HDMI breadboard | ZxSpectrumBreadboardHdmi.uf2 |
|
||||
| RetroVGA | ZxSpectrumPicocomputerVga.uf2 |
|
||||
| PicomputerMax | ZxSpectrumPicocomputerMax.uf2 |
|
||||
| PicomputerZX | ZxSpectrumPicocomputerZX.uf2 |
|
||||
| Board | Binary | Audio |
|
||||
| ------ | -------- | ----- |
|
||||
| HDMI breadboard | ZxSpectrumBreadboardHdmi1PinAudio.uf2 | Digially mixed PWM audio |
|
||||
| HDMI breadboard | ZxSpectrumBreadboardHdmi2PinAudio.uf2 | Buzzer pin and digially mixed AY-3-8912 PWM audio |
|
||||
| HDMI breadboard | ZxSpectrumBreadboardHdmi4PinAudio.uf2 | Buzzer pin and separate PWM pins for AY-3-8912 A, B & C channles |
|
||||
| RetroVGA | ZxSpectrumPicocomputerVga.uf2 | Digially mixed PWM audio |
|
||||
| PicomputerMax | ZxSpectrumPicocomputerMax.uf2 | Digially mixed PWM audio |
|
||||
| PicomputerZX | ZxSpectrumPicocomputerZX.uf2 | Digially mixed PWM audio |
|
||||
|
||||
e.g. for the HDMI breadboard wiring show above use:
|
||||
```sh
|
||||
@ -278,7 +280,7 @@ The following folders need to be created on the SD card:
|
||||
tio -m ODELBS /dev/ttyUSB0
|
||||
```
|
||||
## Thanks to
|
||||
[CarlK](https://github.com/carlk3/) for the super [no OS FAT FS for Pico](https://github.com/carlk3/no-OS-FatFS-SD-SPI-RPi-Pico)<br/>
|
||||
[CarlK](https://github.com/carlk3/) for the super [no OS FAT FS for Pico](https://github.com/carlk3/no-OS-FatFS-SD-SST7789_Datasheet.pdfPI-RPi-Pico)<br/>
|
||||
[Damien G](https://damieng.com/) for maintaining and publishing some wonderful [8-bit fonts](https://damieng.com/typography/zx-origins/)<br/>
|
||||
[Wren](https://github.com/Wren6991/) for the amazing [PicoDVI](https://github.com/Wren6991/PicoDVI)<br/>
|
||||
[hathach](https://github.com/hathach) for the embeded USB library [TinyUSB](https://github.com/hathach/tinyusb)<br/>
|
||||
@ -288,9 +290,9 @@ tio -m ODELBS /dev/ttyUSB0
|
||||
[Wren's Amazing PicoDVI](https://github.com/Wren6991/PicoDVI)<br/>
|
||||
[Z80 file format documentation](https://worldofspectrum.org/faq/reference/z80format.htm)<br/>
|
||||
[Fonts by DamienG](https://damieng.com/typography/zx-origins/)<br/>
|
||||
http://www.breakintoprogram.co.uk/computers/zx-spectrum/screen-memory-layout<br/>
|
||||
http://www.breakintoprogram.co.uk/computers/zx-spectrum/keyboard<br/>
|
||||
http://www.breakintoprogram.co.uk/computers/zx-spectrum/interrupts<br/>
|
||||
[breakintoprogram - Screen memory layout](http://www.breakintoprogram.co.uk/computers/zx-spectrum/screen-memory-layout)<br/>
|
||||
[breakintoprogram - keyboard layout](http://www.breakintoprogram.co.uk/computers/zx-spectrum/keyboard)<br/>
|
||||
[breakintoprogram - interrupts](http://www.breakintoprogram.co.uk/computers/zx-spectrum/interrupts)<br/>
|
||||
http://mdfs.net/Software/Spectrum/Harston/<br/>
|
||||
https://www.1000bit.it/support/manuali/sinclair/zxspectrum/sm/section1.html<br/>
|
||||
https://k1.spdns.de/Vintage/Sinclair/82/Sinclair%20ZX%20Spectrum/ROMs/gw03%20'gosh%2C%20wonderful'%20(Geoff%20Wearmouth)/gw03%20info.htm<br/>
|
||||
@ -300,6 +302,7 @@ http://www.zxdesign.info/cassette.shtml<br/>
|
||||
https://uelectronics.info/2015/03/21/zx-spectrum-and-loaders-part-one/<br/>
|
||||
https://mdfs.net/Software/Spectrum/ROMImages/<br/>
|
||||
https://worldofspectrum.org/ZXSpectrum128Manual/sp128p13.html<br/>
|
||||
https://cpctech.cpc-live.com/docs/ay38912/psgspec.htm<br/>
|
||||
http://www.armory.com/~rstevew/Public/SoundSynth/Novelty/AY3-8910/start.html<br/>
|
||||
[AY-3-8912 - manual](https://cpctech.cpc-live.com/docs/ay38912/psgspec.htm)<br/>
|
||||
[AY-3-8912 - synth](http://www.armory.com/~rstevew/Public/SoundSynth/Novelty/AY3-8910/start.html)<br/>
|
||||
[USB HID 1.1](https://www.usb.org/sites/default/files/hid1_11.pdf)<br/>
|
||||
[ST7789 LCD driver reference](docs/ST7789_Datasheet.pdf)<br/>
|
||||
|
Binary file not shown.
BIN
ZxSpectrumBreadboardHdmi2PinAudio.uf2
Normal file
BIN
ZxSpectrumBreadboardHdmi2PinAudio.uf2
Normal file
Binary file not shown.
BIN
ZxSpectrumBreadboardHdmi4PinAudio.uf2
Normal file
BIN
ZxSpectrumBreadboardHdmi4PinAudio.uf2
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
docs/ST7789_Datasheet.pdf
Normal file
BIN
docs/ST7789_Datasheet.pdf
Normal file
Binary file not shown.
@ -16,12 +16,8 @@
|
||||
//
|
||||
// Split output from AY-3-8912
|
||||
//
|
||||
|
||||
|
||||
// #define SPK_PIN 20
|
||||
// #define AY8912_A_PIN 20
|
||||
// #define AY8912_B_PIN 26
|
||||
// #define AY8912_C_PIN 27
|
||||
// See CMakeLists.txt files for configurations
|
||||
//
|
||||
|
||||
#ifdef BZR_PIN
|
||||
#ifdef AY8912_A_PIN
|
||||
|
@ -1,28 +1,60 @@
|
||||
|
||||
add_executable(ZxSpectrumBreadboardHdmi
|
||||
${zxspectrum_common_src}
|
||||
set(zxspectrum_hdmi_src
|
||||
main.cpp
|
||||
tmds_encode_zxspectrum.S
|
||||
tmds_encode_zxspectrum.h
|
||||
hw_config.c
|
||||
)
|
||||
|
||||
target_compile_definitions(ZxSpectrumBreadboardHdmi PRIVATE
|
||||
add_executable(ZxSpectrumBreadboardHdmi1PinAudio
|
||||
${zxspectrum_common_src}
|
||||
${zxspectrum_hdmi_src}
|
||||
)
|
||||
|
||||
add_executable(ZxSpectrumBreadboardHdmi2PinAudio
|
||||
${zxspectrum_common_src}
|
||||
${zxspectrum_hdmi_src}
|
||||
)
|
||||
|
||||
add_executable(ZxSpectrumBreadboardHdmi4PinAudio
|
||||
${zxspectrum_common_src}
|
||||
${zxspectrum_hdmi_src}
|
||||
)
|
||||
|
||||
target_compile_definitions(ZxSpectrumBreadboardHdmi1PinAudio PRIVATE
|
||||
DVI_DEFAULT_SERIAL_CONFIG=${DVI_DEFAULT_SERIAL_CONFIG}
|
||||
DVI_VERTICAL_REPEAT=2
|
||||
DVI_N_TMDS_BUFFERS=3
|
||||
DVI_1BPP_BIT_REVERSE=1
|
||||
PCS_COLS=80
|
||||
PCS_ROWS=30
|
||||
SPK_PIN=20
|
||||
)
|
||||
|
||||
target_compile_definitions(ZxSpectrumBreadboardHdmi2PinAudio PRIVATE
|
||||
DVI_DEFAULT_SERIAL_CONFIG=${DVI_DEFAULT_SERIAL_CONFIG}
|
||||
DVI_VERTICAL_REPEAT=2
|
||||
DVI_N_TMDS_BUFFERS=3
|
||||
DVI_1BPP_BIT_REVERSE=1
|
||||
PCS_COLS=80
|
||||
PCS_ROWS=30
|
||||
SPK_PIN=20
|
||||
BZR_PIN=21
|
||||
)
|
||||
|
||||
target_compile_definitions(ZxSpectrumBreadboardHdmi4PinAudio PRIVATE
|
||||
DVI_DEFAULT_SERIAL_CONFIG=${DVI_DEFAULT_SERIAL_CONFIG}
|
||||
DVI_VERTICAL_REPEAT=2
|
||||
DVI_N_TMDS_BUFFERS=3
|
||||
DVI_1BPP_BIT_REVERSE=1
|
||||
PCS_COLS=80
|
||||
PCS_ROWS=30
|
||||
# Comment BZR_PIN definition for single pin audio
|
||||
BZR_PIN=21
|
||||
AY8912_A_PIN=20
|
||||
AY8912_B_PIN=26
|
||||
AY8912_C_PIN=27
|
||||
)
|
||||
|
||||
target_link_libraries(ZxSpectrumBreadboardHdmi
|
||||
${zxspectrum_common_libs}
|
||||
set(zxspectrum_hdmi_libs
|
||||
libdvi
|
||||
tinyusb_host
|
||||
tinyusb_board
|
||||
@ -30,6 +62,23 @@ target_link_libraries(ZxSpectrumBreadboardHdmi
|
||||
pico_dvi_menu
|
||||
)
|
||||
|
||||
# create map/bin/hex file etc.
|
||||
pico_add_extra_outputs(ZxSpectrumBreadboardHdmi)
|
||||
target_link_libraries(ZxSpectrumBreadboardHdmi1PinAudio
|
||||
${zxspectrum_common_libs}
|
||||
${zxspectrum_hdmi_libs}
|
||||
)
|
||||
|
||||
target_link_libraries(ZxSpectrumBreadboardHdmi2PinAudio
|
||||
${zxspectrum_common_libs}
|
||||
${zxspectrum_hdmi_libs}
|
||||
)
|
||||
|
||||
target_link_libraries(ZxSpectrumBreadboardHdmi4PinAudio
|
||||
${zxspectrum_common_libs}
|
||||
${zxspectrum_hdmi_libs}
|
||||
)
|
||||
|
||||
# create map/bin/hex file etc.
|
||||
pico_add_extra_outputs(ZxSpectrumBreadboardHdmi1PinAudio)
|
||||
pico_add_extra_outputs(ZxSpectrumBreadboardHdmi2PinAudio)
|
||||
pico_add_extra_outputs(ZxSpectrumBreadboardHdmi4PinAudio)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user