Output I2S audio with PIO/DMA

Requires a MAX98357A amplifier and a 2W 8ohms speaker
This commit is contained in:
Vincent Mistler
2022-12-02 17:24:39 +00:00
parent a9f54dc37d
commit 29a04ad832
8 changed files with 285 additions and 31 deletions
+13 -13
View File
@@ -1,24 +1,24 @@
cmake_minimum_required(VERSION 3.13...3.23)
# initialize the SDK based on PICO_SDK_PATH
include(pico_sdk_import.cmake)
project(RP2040_GB C CXX)
project(RP2040_GB C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
# Initialize the Raspberry Pi Pico SDK
pico_sdk_init()
add_executable(RP2040_GB src/main.c src/rom.c src/mk_ili9225.c)
target_include_directories(RP2040_GB PRIVATE inc)
add_executable(RP2040_GB
src/main.c
src/rom.c
src/mk_ili9225.c
ext/minigb_apu/minigb_apu.c
ext/i2s/i2s.c
)
SET(ENABLE_SOUND FALSE CACHE BOOL "Enable Sound emulation")
if(ENABLE_SOUND)
ADD_COMPILE_DEFINITIONS(ENABLE_SOUND=1)
target_sources(RP2040_GB PRIVATE ext/minigb_apu/minigb_apu.c)
target_include_directories(RP2040_GB PRIVATE ext/minigb_apu)
else()
ADD_COMPILE_DEFINITIONS(ENABLE_SOUND=0)
endif()
pico_generate_pio_header(RP2040_GB ${CMAKE_CURRENT_LIST_DIR}/ext/i2s/audio_i2s.pio)
target_include_directories(RP2040_GB PRIVATE inc ext/minigb_apu ext/i2s)
target_link_libraries(RP2040_GB
pico_stdlib pico_stdio pico_bootrom pico_multicore pico_stdio pico_multicore