1
0
mirror of https://github.com/fruit-bat/pico-zxspectrum.git synced 2025-04-19 00:04:01 +03:00
This commit is contained in:
Phil 2024-12-18 22:00:28 +00:00
parent e22bc4cd6c
commit 0eac75f694
2 changed files with 53 additions and 49 deletions

View File

@ -20,9 +20,14 @@ foreach(target
${zxspectrum_hdmi_src}
)
pico_generate_pio_header(${target}
pico_generate_pio_header(${target}
${zxspectrum_ear_in_pio}
)
pico_generate_pio_header(${target}
${zxspectrum_pwm_pio}
)
endforeach()
add_executable(ZxSpectrumBreadboardHdmiKbd1PinAudio
@ -38,7 +43,7 @@ set(zxspectrum_hdmi_defines
DVI_N_TMDS_BUFFERS=3
DVI_1BPP_BIT_REVERSE=1
# Tell FATFS we want to find files
FF_USE_FIND=1
FF_USE_FIND=1
# Configure the SPI sd card to use SPI0
SDCARD_PIN_SPI0_CS=5
SDCARD_PIN_SPI0_SCK=2
@ -57,6 +62,8 @@ set(zxspectrum_hdmi_640x480x60Hz_defines
DISPLAY_HEIGHT_PIXELS=480
# The default interrupt source
ZX_SPECTRUM_INT_SRC=SyncToCpu
# Speaker pin audio (@252MHz 252000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=42000
)
set(zxspectrum_hdmi_720x540x50Hz_defines
@ -71,6 +78,8 @@ set(zxspectrum_hdmi_720x540x50Hz_defines
DISPLAY_HEIGHT_PIXELS=540
# The default interrupt source
ZX_SPECTRUM_INT_SRC=SyncToDisplay
# Speaker pin audio (@270MHz 270000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=45000
)
set(zxspectrum_hdmi_720x576x50Hz_defines
@ -85,6 +94,8 @@ set(zxspectrum_hdmi_720x576x50Hz_defines
DISPLAY_HEIGHT_PIXELS=576
# The default interrupt source
ZX_SPECTRUM_INT_SRC=SyncToDisplay
# Speaker pin audio (@270MHz 270000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=45000
)
set(zxspectrum_hdmi_nespad_defines
@ -101,7 +112,7 @@ target_compile_definitions(ZxSpectrumBreadboardHdmiAudio PRIVATE
${zxspectrum_hdmi_640x480x60Hz_defines}
${zxspectrum_hdmi_nespad_defines}
EAR_PIN=11
PICO_HDMI_AUDIO
PICO_HDMI_AUDIO
# Enable the PS/2 keyboard
USE_PS2_KBD
)
@ -111,7 +122,7 @@ target_compile_definitions(ZxSpectrumBreadboardHdmiAudio720x540x50Hz PRIVATE
${zxspectrum_hdmi_720x540x50Hz_defines}
${zxspectrum_hdmi_nespad_defines}
EAR_PIN=11
PICO_HDMI_AUDIO
PICO_HDMI_AUDIO
# Enable the PS/2 keyboard
USE_PS2_KBD
)
@ -121,7 +132,7 @@ target_compile_definitions(ZxSpectrumBreadboardHdmiAudio720x576x50Hz PRIVATE
${zxspectrum_hdmi_720x576x50Hz_defines}
# ${zxspectrum_hdmi_nespad_defines}
# EAR_PIN=11
PICO_HDMI_AUDIO
PICO_HDMI_AUDIO
# Enable the PS/2 keyboard
USE_PS2_KBD
)
@ -167,7 +178,7 @@ target_compile_definitions(ZxSpectrumBreadboardHdmiKbd1PinAudio PRIVATE
PCS_COLS=80
PCS_ROWS=30
# Tell FATFS we want to find files
FF_USE_FIND=1
FF_USE_FIND=1
# Single pin audio for now
SPK_PIN=20
# 21 is also free
@ -177,7 +188,7 @@ target_compile_definitions(ZxSpectrumBreadboardHdmiKbd1PinAudio PRIVATE
SDCARD_PIN_SPI0_CS=28
SDCARD_PIN_SPI0_SCK=22
SDCARD_PIN_SPI0_MOSI=26
SDCARD_PIN_SPI0_MISO=27
SDCARD_PIN_SPI0_MISO=27
USE_KEY_MATRIX
)
@ -233,7 +244,7 @@ set (zxspectrum_pico_dv_defines
)
set (zxspectrum_pico_dv_i2saudio_defines
# Configure the I2S audio
# Configure the I2S audio
PICO_AUDIO_I2S=1
PICO_AUDIO_I2S_PIO=pio1
PICO_AUDIO_I2S_PIO_FUNC=GPIO_FUNC_PIO1
@ -252,11 +263,11 @@ foreach(target
${zxspectrum_hdmi_src}
)
pico_generate_pio_header(${target}
pico_generate_pio_header(${target}
${zxspectrum_audio_i2s_pio}
)
target_link_libraries(${target}
target_link_libraries(${target}
${zxspectrum_common_libs}
${zxspectrum_hdmi_libs}
)
@ -294,7 +305,7 @@ target_compile_definitions(ZxSpectrumPicoDv_HdmiAudio_720x576x50Hz PRIVATE
########################################################################
# cmake -DPICO_COPY_TO_RAM=0 -DPICO_SDK_PATH=../../pico-sdk -DPICO_BOARD=adafruit_feather_rp2040 ..
# make -j4 ZxSpectrumAdafruitFeatherHdmi
# make -j4 ZxSpectrumAdafruitFeatherHdmi
foreach(target
ZxSpectrumAdafruitFeatherHdmi
)
@ -320,10 +331,10 @@ set(zx_spectrum_adafuit_feather_hdmi_defines
DVI_N_TMDS_BUFFERS=3
DVI_1BPP_BIT_REVERSE=1
# Tell FATFS we want to find files
FF_USE_FIND=1
FF_USE_FIND=1
# Configure the SPI sd card to use SPI0
SDCARD_PIO=pio1
SDCARD_PIO_SM=1
SDCARD_PIO_SM=1
SDCARD_PIN_SPI0_CS=13
SDCARD_PIN_SPI0_SCK=10
SDCARD_PIN_SPI0_MOSI=11
@ -348,7 +359,7 @@ target_compile_definitions(ZxSpectrumAdafruitFeatherHdmi PRIVATE
# Waveshare - RP2040 - PicoZero
########################################################################
foreach(target
foreach(target
ZxSpectrumPiZero_640x480x60Hz
ZxSpectrumPiZero_720x576x50Hz
)
@ -384,7 +395,7 @@ set (ZxSpectrumPiZero_defines
SDCARD_PIN_SPI0_SCK=18
SDCARD_PIN_SPI0_MOSI=19
SDCARD_PIN_SPI0_MISO=20
# HDMI audio
# HDMI audio
PICO_HDMI_AUDIO
)
@ -434,7 +445,7 @@ set(murmulator_common_defines
SDCARD_PIN_SPI0_MOSI=3
SDCARD_PIN_SPI0_MISO=4
# Use the alternate volume map
AY8912_ALT_VOL_MAP
AY8912_ALT_VOL_MAP
# Tape audio in
EAR_PIN=22
# Enable the PS/2 keyboard
@ -460,7 +471,7 @@ set(murmulator_hdmi_audio_defines
PICO_HDMI_AUDIO
)
foreach(target
foreach(target
ZX-MURMULATOR_HDMI_PWM_AUDIO_640x480x60Hz
ZX-MURMULATOR_HDMI_PWM_AUDIO_720x576x50Hz
ZX-MURMULATOR_HDMI_HDMI_AUDIO_640x480x60Hz
@ -482,13 +493,17 @@ foreach(target
${zxspectrum_ear_in_pio}
)
pico_generate_pio_header(${target}
pico_generate_pio_header(${target}
${zxspectrum_audio_i2s_pio}
)
pico_generate_pio_header(${target}
${zxspectrum_pwm_pio}
)
# create map/bin/hex file etc.
pico_add_extra_outputs(${target})
pico_add_extra_outputs(${target})
endforeach()
target_compile_definitions(ZX-MURMULATOR_HDMI_HDMI_AUDIO_640x480x60Hz PRIVATE
@ -568,7 +583,7 @@ set(murmulator2_common_defines
SDCARD_PIN_SPI0_MOSI=7
SDCARD_PIN_SPI0_MISO=4
# Use the alternate volume map
AY8912_ALT_VOL_MAP
AY8912_ALT_VOL_MAP
# Tape audio in
EAR_PIN=22
# Enable the PS/2 keyboard
@ -587,7 +602,7 @@ set(murmulator2_pwm_audio_defines
)
set (zxspectrum_murmulator2_i2saudio_defines
# Configure the I2S audio
# Configure the I2S audio
PICO_AUDIO_I2S=1
PICO_AUDIO_I2S_PIO=pio1
PICO_AUDIO_I2S_PIO_FUNC=GPIO_FUNC_PIO1
@ -600,7 +615,7 @@ set(murmulator2_hdmi_audio_defines
PICO_HDMI_AUDIO
)
foreach(target
foreach(target
ZX-MURMULATOR2_HDMI_PWM_AUDIO_640x480x60Hz
ZX-MURMULATOR2_HDMI_PWM_AUDIO_720x576x50Hz
ZX-MURMULATOR2_HDMI_HDMI_AUDIO_640x480x60Hz
@ -622,17 +637,17 @@ foreach(target
${zxspectrum_ear_in_pio}
)
pico_generate_pio_header(${target}
pico_generate_pio_header(${target}
${zxspectrum_audio_i2s_pio}
)
pico_generate_pio_header(${target}
pico_generate_pio_header(${target}
${zxspectrum_pwm_pio}
)
# create map/bin/hex file etc.
pico_add_extra_outputs(${target})
pico_add_extra_outputs(${target})
pico_enable_stdio_usb(${target} 0)
pico_enable_stdio_uart(${target} 1)
@ -649,7 +664,7 @@ target_compile_definitions(ZX-MURMULATOR2_HDMI_HDMI_AUDIO_720x576x50Hz PRIVATE
${murmulator2_common_defines}
${murmulator2_hdmi_audio_defines}
${zxspectrum_hdmi_720x576x50Hz_defines}
${zxspectrum_murmulator2_hdmi_nespad_defines}
${zxspectrum_murmulator2_hdmi_nespad_defines}
)
target_compile_definitions(ZX-MURMULATOR2_HDMI_PWM_AUDIO_640x480x60Hz PRIVATE
@ -657,8 +672,6 @@ target_compile_definitions(ZX-MURMULATOR2_HDMI_PWM_AUDIO_640x480x60Hz PRIVATE
${murmulator2_pwm_audio_defines}
${zxspectrum_hdmi_640x480x60Hz_defines}
${zxspectrum_murmulator2_hdmi_nespad_defines}
# Speaker pin audio (@252MHz 252000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=42000
)
target_compile_definitions(ZX-MURMULATOR2_HDMI_PWM_AUDIO_720x576x50Hz PRIVATE
@ -666,8 +679,6 @@ target_compile_definitions(ZX-MURMULATOR2_HDMI_PWM_AUDIO_720x576x50Hz PRIVATE
${murmulator2_pwm_audio_defines}
${zxspectrum_hdmi_720x576x50Hz_defines}
${zxspectrum_murmulator2_hdmi_nespad_defines}
# Speaker pin audio (@270MHz 270000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=45000
)
target_compile_definitions(ZX-MURMULATOR2_HDMI_I2S_AUDIO_640x480x60Hz PRIVATE
@ -716,7 +727,7 @@ set(olimex_pc_hdmi_audio_defines
PICO_HDMI_AUDIO
)
foreach(target
foreach(target
ZxSpectrumOlimexPcHdmiAudio640x480x60Hz
ZxSpectrumOlimexPcHdmiAudio720x576x50Hz
)
@ -731,8 +742,8 @@ foreach(target
)
# create map/bin/hex file etc.
pico_add_extra_outputs(${target})
pico_add_extra_outputs(${target})
pico_enable_stdio_usb(${target} 0)
pico_enable_stdio_uart(${target} 1)

View File

@ -122,6 +122,8 @@ set(zxspectrum_zx_lcd_640x480x60Hz_defines
ZX_SPECTRUM_INT_SRC=SyncToCpu
# TODO work what this is
PICO_SCANVIDEO_MAX_SCANLINE_BUFFER_WORDS=700
# Speaker pin audio (@250MHz 250000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=41666
)
set(zxspectrum_zx_lcd_720x576x50Hz_defines
@ -138,11 +140,13 @@ set(zxspectrum_zx_lcd_720x576x50Hz_defines
ZX_SPECTRUM_INT_SRC=SyncToDisplay
# TODO work what this is
PICO_SCANVIDEO_MAX_SCANLINE_BUFFER_WORDS=800
# Speaker pin audio (@270MHz 270000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=45000
)
set(picomputer_zx_lcd_common_defines PRIVATE
${picomputer_common_defines}
PICO_PIO_PWM_AUDIO
PICO_PIO_PWM_AUDIO
PICO_AUDIO_PWM_PIO=pio1
SPK_PIN=7
PICOMPUTER_PICOZX
@ -193,7 +197,7 @@ foreach(target
${CMAKE_CURRENT_LIST_DIR}/st7789_lcd.pio
)
pico_generate_pio_header(${target}
pico_generate_pio_header(${target}
${zxspectrum_pwm_pio}
)
@ -213,16 +217,12 @@ target_compile_definitions(ZxSpectrumPicomputerZxLcd_720x576x50Hz PRIVATE
${picomputer_zx_lcd_common_defines}
${zxspectrum_zx_lcd_720x576x50Hz_defines}
LCD_MIRROR_X
# Speaker pin audio (@270MHz 270000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=45000
)
target_compile_definitions(ZxSpectrumPicomputerZxLcd_640x480x60Hz PRIVATE
${picomputer_zx_lcd_common_defines}
${zxspectrum_zx_lcd_640x480x60Hz_defines}
LCD_MIRROR_X
# Speaker pin audio (@250MHz 250000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=41666
)
target_compile_definitions(ZxSpectrumPicomputerZxInverseLcd_720x576x50Hz PRIVATE
@ -230,8 +230,6 @@ target_compile_definitions(ZxSpectrumPicomputerZxInverseLcd_720x576x50Hz PRIVATE
${zxspectrum_zx_lcd_720x576x50Hz_defines}
LCD_MIRROR_X
LCD_INVERSE
# Speaker pin audio (@270MHz 270000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=45000
)
target_compile_definitions(ZxSpectrumPicomputerZxInverseLcd_640x480x60Hz PRIVATE
@ -239,8 +237,6 @@ target_compile_definitions(ZxSpectrumPicomputerZxInverseLcd_640x480x60Hz PRIVATE
${zxspectrum_zx_lcd_640x480x60Hz_defines}
LCD_MIRROR_X
LCD_INVERSE
# Speaker pin audio (@250MHz 250000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=41666
)
target_compile_definitions(ZxSpectrumPicomputerZxILI9341Lcd_720x576x50Hz PRIVATE
@ -248,8 +244,6 @@ target_compile_definitions(ZxSpectrumPicomputerZxILI9341Lcd_720x576x50Hz PRIVATE
${zxspectrum_zx_lcd_720x576x50Hz_defines}
LCD_INVERSE
LCD_RGB
# Speaker pin audio (@270MHz 270000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=45000
)
target_compile_definitions(ZxSpectrumPicomputerZxILI9341Lcd_640x480x60Hz PRIVATE
@ -257,6 +251,5 @@ target_compile_definitions(ZxSpectrumPicomputerZxILI9341Lcd_640x480x60Hz PRIVATE
${zxspectrum_zx_lcd_640x480x60Hz_defines}
LCD_INVERSE
LCD_RGB
# Speaker pin audio (@250MHz 250000000 / (1000 * 3 * 2))
PICO_PWM_AUDIO_FREQ=41666
)