Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
580a9da
WIP: Remove global mcu
jcmoyer Apr 24, 2024
a299648
WIP: move global memory into mcu_t
jcmoyer Apr 24, 2024
123ca81
Move more mcu state into mcu_t
jcmoyer Apr 24, 2024
5ddb771
Remove sm global
jcmoyer Apr 24, 2024
d23df55
Finish removing globals from submcu and uart
jcmoyer Apr 24, 2024
6213222
Remove romset and pcm globals
jcmoyer Apr 24, 2024
40546d4
Move waveroms into pcm_t
jcmoyer Apr 24, 2024
2778362
Remove mcu_timer global state
jcmoyer Apr 24, 2024
3889ef7
Move ga_* globals into mcu_t
jcmoyer Apr 24, 2024
c77cfe9
Move mcu_button_pressed into mcu_t
jcmoyer Apr 24, 2024
3a5a4cf
Move mcu_p0_data, mcu_p1_data into mcu_t
jcmoyer Apr 24, 2024
93bf4fc
Make midi_rtmidi conform to new interface
jcmoyer Apr 24, 2024
65630d5
Move global lcd state into lcd_t
jcmoyer Apr 25, 2024
2b1d521
Move adf_rd, analog_end_time, ssr_rd into mcu_t
jcmoyer Apr 25, 2024
a89ddb1
Move operand globals into mcu_t
jcmoyer Apr 25, 2024
c7d8f25
Move window, renderer, texture into lcd_t
jcmoyer Apr 25, 2024
17d2429
Extract event loop from LCD update in preparation for multi-LCD
jcmoyer Apr 25, 2024
94f248b
Split into frontend and backend
jcmoyer Apr 25, 2024
e5314a9
Introduce emu abstraction
jcmoyer Apr 28, 2024
c65d338
Turn global sample buffer into proper ringbuffer
jcmoyer Apr 29, 2024
2ba5205
Support for multiple instances
jcmoyer Apr 29, 2024
73e9824
Fix sysex handling
jcmoyer Apr 29, 2024
5fae2bc
Remove global_fe and the last of the global state
jcmoyer Apr 29, 2024
d5a6382
Last minute cleanup
jcmoyer May 1, 2024
6a5255e
Remove lcd_init
jcmoyer May 1, 2024
aa214ce
Remove global state from rom loader
jcmoyer May 1, 2024
109fa7f
Check EMU_Init return
jcmoyer May 1, 2024
4059d32
Add license headers
jcmoyer May 1, 2024
75836b3
Shorten emu_backend_t to emu_t
jcmoyer May 1, 2024
51e204e
Fix race condition that was causing UB
jcmoyer May 1, 2024
6d2a6c6
Remove work_thread_run global
jcmoyer May 2, 2024
43a09ff
Finalize callback situation
jcmoyer May 2, 2024
5166d2e
Fix UAF freeing things in the wrong order
jcmoyer May 2, 2024
4733550
Work in frames instead of samples
jcmoyer May 5, 2024
ca10a55
Create window after loading roms
jcmoyer May 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 17 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -187,36 +187,48 @@ if(USE_RTMIDI)
endif()


set(SC55_SRC
src/mcu.cpp src/mcu.h # main() is here!
set(SC55_BACKEND_SRC
src/mcu.cpp src/mcu.h
src/lcd.cpp src/lcd.h src/lcd_font.h
src/mcu_interrupt.cpp src/mcu_interrupt.h
src/mcu_opcodes.cpp src/mcu_opcodes.h
src/mcu_timer.cpp src/mcu_timer.h
src/midi.h
src/pcm.cpp src/pcm.h
src/submcu.cpp src/submcu.h
src/emu.cpp src/emu.h
src/ringbuffer.h
src/math_util.h

src/utils/files.cpp src/utils/files.h
)

set(SC55_FRONTEND_SRC
src/main_frontend.cpp # main() is here!
)

if(USE_RTMIDI)
list(APPEND SC55_SRC src/midi_rtmidi.cpp)
list(APPEND SC55_FRONTEND_SRC src/midi_rtmidi.cpp)
elseif(WIN32)
list(APPEND SC55_SRC src/midi_win32.cpp)
list(APPEND SC55_FRONTEND_SRC src/midi_win32.cpp)
endif()

add_executable(nuked-sc55 ${SC55_SRC} ${UTF8MAIN_SRCS})
add_library(nuked-sc55-backend ${SC55_BACKEND_SRC})
add_executable(nuked-sc55 ${SC55_FRONTEND_SRC} ${UTF8MAIN_SRCS})
target_link_libraries(nuked-sc55 PRIVATE nuked-sc55-backend)
set_nopie(nuked-sc55)

if(MSVC)
target_compile_definitions(nuked-sc55 PRIVATE WIN32_CONSOLE)
endif()

if(TARGET SDL2::SDL2)
target_link_libraries(nuked-sc55-backend PRIVATE SDL2::SDL2)
target_link_libraries(nuked-sc55 PRIVATE SDL2::SDL2)
else()
string(STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES)
target_include_directories(nuked-sc55-backend PRIVATE ${SDL2_INCLUDE_DIRS})
target_link_libraries(nuked-sc55-backend PRIVATE ${SDL2_LIBRARIES})
target_include_directories(nuked-sc55 PRIVATE ${SDL2_INCLUDE_DIRS})
target_link_libraries(nuked-sc55 PRIVATE ${SDL2_LIBRARIES})
endif()
Expand Down
Loading