@@ -71,12 +71,44 @@ set(PIN_AUDIO_PWM 41 CACHE STRING "Pin for PWM audio")
7171
7272# See below, -DMEMSIZE=<size in KB> will configure umac's memory size,
7373# overriding defaults.
74+ set (MEMSIZE 128 CACHE STRING "Memory size, in KB" )
75+
76+ if (USE_HSTX)
77+ add_compile_definitions (USE_VGA_RES=1)
78+ add_compile_definitions (HSTX_CKP=${HSTX_CKP} HSTX_D0P=${HSTX_D0P} HSTX_D1P=${HSTX_D1P} HSTX_D2P=${HSTX_D2P} )
79+ set (VIDEO_SRC src/video_hstx.c)
80+ else ()
81+ add_compile_definitions (GPIO_VID_BASE=${VIDEO_PIN} )
82+ set (VIDEO_SRC src/video_vga.c)
83+ endif ()
84+
85+ if (USE_VGA_RES)
86+ add_compile_definitions (USE_VGA_RES=1)
87+ add_compile_definitions (DISP_WIDTH=640)
88+ add_compile_definitions (DISP_HEIGHT=480)
89+ set (RES "640x480" )
90+ else ()
91+ add_compile_definitions (DISP_WIDTH=512)
92+ add_compile_definitions (DISP_HEIGHT=342)
93+ set (RES "512x342" )
94+ endif ()
95+
96+ if (USE_PSRAM)
97+ add_compile_definitions (PIN_PSRAM_CS=${PSRAM_CS} USE_PSRAM=1)
98+ set (OPT_PSRAM "-psram" )
99+ else ()
100+ add_compile_definitions (USE_PSRAM=0)
101+ set (OPT_PSRAM "" )
102+ endif ()
103+
104+ set (FIRMWARE "pico-mac-${PICO_BOARD} -${MEMSIZE} k-${RES}${OPT_PSRAM} " )
105+
74106
75107# initialize the SDK based on PICO_SDK_PATH
76108# note: this must happen before project()
77109include (pico_sdk_import.cmake)
78110
79- project (firmware )
111+ project (${FIRMWARE} )
80112
81113# initialize the Raspberry Pi Pico SDK
82114pico_sdk_init()
@@ -103,9 +135,9 @@ set(UMAC_SOURCES
103135 ${UMAC_MUSASHI_PATH} /softfloat/softfloat.c
104136 )
105137
106- set (MEMSIZE 128 CACHE STRING "Memory size, in KB" )
107138set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb -g3 -O3 -DPICO -DMUSASHI_CNF=\\\" ../include/m68kconf.h\\\" -DUMAC_MEMSIZE=${MEMSIZE} " )
108139
140+
109141if (USE_SD)
110142 add_compile_definitions (USE_SD=1)
111143 set (FF_DISABLE_RTC ${PICO_RP2350} ) # RP2350 doesn't have RTC, so disable it
@@ -115,23 +147,6 @@ if (USE_SD)
115147 add_compile_definitions (SD_TX=${SD_TX} SD_RX=${SD_RX} SD_SCK=${SD_SCK} SD_CS=${SD_CS} SD_MHZ=${SD_MHZ} )
116148endif ()
117149
118- if (USE_HSTX)
119- add_compile_definitions (USE_VGA_RES=1)
120- add_compile_definitions (HSTX_CKP=${HSTX_CKP} HSTX_D0P=${HSTX_D0P} HSTX_D1P=${HSTX_D1P} HSTX_D2P=${HSTX_D2P} )
121- set (VIDEO_SRC src/video_hstx.c)
122- else ()
123- add_compile_definitions (GPIO_VID_BASE=${VIDEO_PIN} )
124- set (VIDEO_SRC src/video_vga.c)
125- endif ()
126- if (USE_VGA_RES)
127- add_compile_definitions (USE_VGA_RES=1)
128- add_compile_definitions (DISP_WIDTH=640)
129- add_compile_definitions (DISP_HEIGHT=480)
130- else ()
131- add_compile_definitions (DISP_WIDTH=512)
132- add_compile_definitions (DISP_HEIGHT=342)
133- endif ()
134-
135150add_compile_definitions (PIN_USB_HOST_DP=${PIN_USB_HOST_DP} )
136151add_compile_definitions (PIN_USB_HOST_DM=${PIN_USB_HOST_DM} )
137152add_compile_definitions (PICO_DEFAULT_PIO_USB_DP_PIN=${PIN_USB_HOST_DP} )
@@ -147,12 +162,6 @@ if (NOT UART_RX STREQUAL "")
147162 add_compile_definitions (PICO_DEFAULT_UART_RX_PIN=${UART_RX} )
148163endif ()
149164
150- if (USE_PSRAM)
151- add_compile_definitions (PIN_PSRAM_CS=${PSRAM_CS} USE_PSRAM=1)
152- else ()
153- add_compile_definitions (USE_PSRAM=0)
154- endif ()
155-
156165if (USE_AUDIO)
157166 add_subdirectory (external/pico-extras/src/rp2_common/pico_audio_i2s)
158167 add_subdirectory (external/pico-extras/src/common/pico_audio)
@@ -162,7 +171,7 @@ if (USE_AUDIO)
162171endif ()
163172
164173if (TARGET tinyusb_device)
165- add_executable (firmware
174+ add_executable (${FIRMWARE}
166175 src/main.c
167176 ${VIDEO_SRC}
168177 src/kbd.c
@@ -185,9 +194,9 @@ if (TARGET tinyusb_device)
185194 add_custom_target (prepare_umac
186195 DEPENDS ${UMAC_MUSASHI_PATH} /m68kops.c
187196 )
188- add_dependencies (firmware prepare_umac)
197+ add_dependencies (${FIRMWARE} prepare_umac)
189198
190- target_link_libraries (firmware
199+ target_link_libraries (${FIRMWARE}
191200 pico_stdlib
192201 pico_multicore
193202 tinyusb_host
@@ -199,7 +208,7 @@ if (TARGET tinyusb_device)
199208 ${EXTRA_AUDIO_LIB}
200209 )
201210
202- target_include_directories (firmware PRIVATE
211+ target_include_directories (${FIRMWARE} PRIVATE
203212 ${CMAKE_CURRENT_LIST_DIR} /include
204213 ${PICO_TINYUSB_PATH} /hw
205214 ${PICO_TINYUSB_PATH} /src
@@ -210,13 +219,13 @@ if (TARGET tinyusb_device)
210219 )
211220
212221 if (NOT USE_HSTX)
213- pico_generate_pio_header(firmware ${CMAKE_CURRENT_LIST_DIR} /src/pio_video.pio)
222+ pico_generate_pio_header(${FIRMWARE} ${CMAKE_CURRENT_LIST_DIR} /src/pio_video.pio)
214223 endif ()
215224
216- pico_enable_stdio_uart(firmware 1)
225+ pico_enable_stdio_uart(${FIRMWARE} 1)
217226
218227 # Needed for UF2:
219- pico_add_extra_outputs(firmware )
228+ pico_add_extra_outputs(${FIRMWARE} )
220229
221230elseif (PICO_ON_DEVICE)
222231 message (WARNING "not building firmware because TinyUSB submodule is not initialized in the SDK" )
0 commit comments