abse/gameboy-advance
A tscircuit package created by abse.
- Version
- 0.0.45
- License
- unset
- Stars
- 0
firmware/game-console/CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
if(NOT PICO_SDK_PATH)
set(PICO_SDK_PATH "$ENV{PICO_SDK_PATH}" CACHE PATH "Pico SDK")
endif()
include(${PICO_SDK_PATH}/external/pico_sdk_import.cmake)
project(gba_console C CXX ASM)
set(CMAKE_C_STANDARD 11)
pico_sdk_init()
add_subdirectory(sd-fatfs)
add_executable(gba_console main.c board.c hw_config.c dirty_regions.c asset_diagnostics.c)
target_link_libraries(gba_console pico_stdlib hardware_spi hardware_pio hardware_pwm hardware_psram hardware_xip_cache hardware_watchdog pico_multicore no-OS-FatFS-SD-SDIO-SPI-RPi-Pico)
target_compile_definitions(gba_console PRIVATE PICO_PSRAM_CS_PIN=8 PICO_AUTO_DETECT_PSRAM_SIZE=1 PICO_DEFAULT_PSRAM_MAX_FREQ=66000000 PICO_STACK_SIZE=16384 PICO_CORE1_STACK_SIZE=4096)
pico_enable_stdio_usb(gba_console 1)
pico_enable_stdio_uart(gba_console 0)
pico_set_program_name(gba_console "GBA game console")
pico_set_program_version(gba_console "0.3")
pico_add_extra_outputs(gba_console)
target_sources(gba_console PRIVATE filesystem.c doom_port.c
doomgeneric/dummy.c
doomgeneric/am_map.c
doomgeneric/doomdef.c
doomgeneric/doomstat.c
doomgeneric/dstrings.c
doomgeneric/d_event.c
doomgeneric/d_items.c
doomgeneric/d_iwad.c
doomgeneric/d_loop.c
doomgeneric/d_main.c
doomgeneric/d_mode.c
doomgeneric/d_net.c
doomgeneric/f_finale.c
doomgeneric/f_wipe.c
doomgeneric/g_game.c
doomgeneric/hu_lib.c
doomgeneric/hu_stuff.c
doomgeneric/info.c
doomgeneric/i_cdmus.c
doomgeneric/i_endoom.c
doomgeneric/i_joystick.c
doomgeneric/i_scale.c
doomgeneric/i_sound.c
doomgeneric/i_system.c
doomgeneric/i_timer.c
doomgeneric/memio.c
doomgeneric/m_argv.c
doomgeneric/m_bbox.c
doomgeneric/m_cheat.c
doomgeneric/m_config.c
doomgeneric/m_controls.c
doomgeneric/m_fixed.c
doomgeneric/m_menu.c
doomgeneric/m_misc.c
doomgeneric/m_random.c
doomgeneric/p_ceilng.c
doomgeneric/p_doors.c
doomgeneric/p_enemy.c
doomgeneric/p_floor.c
doomgeneric/p_inter.c
doomgeneric/p_lights.c
doomgeneric/p_map.c
doomgeneric/p_maputl.c
doomgeneric/p_mobj.c
doomgeneric/p_plats.c
doomgeneric/p_pspr.c
doomgeneric/p_saveg.c
doomgeneric/p_setup.c
doomgeneric/p_sight.c
doomgeneric/p_spec.c
doomgeneric/p_switch.c
doomgeneric/p_telept.c
doomgeneric/p_tick.c
doomgeneric/p_user.c
doomgeneric/r_bsp.c
doomgeneric/r_data.c
doomgeneric/r_draw.c
doomgeneric/r_main.c
doomgeneric/r_plane.c
doomgeneric/r_segs.c
doomgeneric/r_sky.c
doomgeneric/r_things.c
doomgeneric/sha1.c
doomgeneric/sounds.c
doomgeneric/statdump.c
doomgeneric/st_lib.c
doomgeneric/st_stuff.c
doomgeneric/s_sound.c
doomgeneric/tables.c
doomgeneric/v_video.c
doomgeneric/wi_stuff.c
doomgeneric/w_checksum.c
doomgeneric/w_file.c
doomgeneric/w_main.c
doomgeneric/w_wad.c
doomgeneric/z_zone.c
doomgeneric/w_file_stdc.c
doomgeneric/i_input.c
doomgeneric/i_video.c
doomgeneric/doomgeneric.c
)
target_include_directories(gba_console PRIVATE doomgeneric)
target_compile_definitions(gba_console PRIVATE CMAP256 DOOMGENERIC_RESX=320 DOOMGENERIC_RESY=200 NORMALUNIX PICO_MALLOC_PANIC=0 USE_PRINTF USE_DBG_PRINTF)
target_link_libraries(gba_console m)
pico_add_linker_script_override_path(gba_console ${CMAKE_CURRENT_SOURCE_DIR}/linker FILES sections_stack.incl section_end.incl section_heap.incl)
option(BUILD_GAME_EXAMPLE "Build the shared browser/Pico example game" OFF)
if(BUILD_GAME_EXAMPLE)
set(GAME_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../games)
add_executable(star_test board.c ${GAME_ROOT}/platform/pico_main.c ${GAME_ROOT}/star-test/game.c)
target_include_directories(star_test PRIVATE . ${GAME_ROOT}/platform)
target_link_libraries(star_test pico_stdlib hardware_spi hardware_pio hardware_pwm hardware_dma)
pico_enable_stdio_usb(star_test 1)
pico_enable_stdio_uart(star_test 0)
pico_add_extra_outputs(star_test)
endif()