nukeykt / Nuked-SC55

Roland SC-55 series emulation
Other
285 stars 33 forks source link

BUILDING.md #44

Open 000MDK opened 2 months ago

000MDK commented 2 months ago

Will add "Ready to title" after adding linux and some more testing on clean systems

added BUILDING.md as per https://github.com/nukeykt/Nuked-SC55/issues/28

done:

todo:

Kappa971 commented 2 months ago

Note: add /ENTRY:WinMainCRTStartup to the linker flags of "nuked-sc55" This needs to be fixed in the code, add /ENTRY:WinMainCRTStartup is a workaround I think.

000MDK commented 2 months ago

Note: add /ENTRY:WinMainCRTStartup to the linker flags of "nuked-sc55" This needs to be fixed in the code, add /ENTRY:WinMainCRTStartup is a workaround I think.

done, build guide updated

000MDK commented 2 months ago

just tested the msvc-built .exe with roms too and looks like the window is just black and app stops responding, might just be a case of not enough SDL - investigating and updating

Kappa971 commented 2 months ago

I think you're getting confused. vcpkg is for downloading dependencies. If you download SDL2 separately and compile it, vcpkg is useless. You don't have to download SDL2 separately.

I compiled a 64 bit build with Visual Studio a day ago, it works https://github.com/nukeykt/Nuked-SC55/issues/28#issuecomment-2050685617 In the project you need to add /ENTRY:WinMainCRTStartup in the linker, but I think this is a problem to be solved in the Nuked-SC55 code, so that you no longer need to add anything.

000MDK commented 2 months ago

yeah found that on my own in the mean time regarding vcpkg - changing example right now edit: also found the previous mistake, wrong SDL2_DIR was set - so might add the no-vcpkg msvc way as a bonus since it's mostly written already

the change in CMakeList.txt is so you don't need to add anything anymore to the project if you did not notice btw

Axis4s commented 2 months ago

i think its best to not rely on scripts (sh)

Axis4s commented 2 months ago

image The Mingw script isn't working

Axis4s commented 2 months ago

managed to fix my issues, now it compiles perfectly

Axis4s commented 2 months ago

image @000MDK Btw tell the users to add these lines in their Cmakelists, or otherwise the build MingW scripts fail to properly compile

000MDK commented 2 months ago

@000MDK Btw tell the users to add these lines in their Cmakelists, or otherwise the build MingW scripts fail to properly compile

looking into it, thanks for the test and the feedback

Kappa971 commented 2 months ago

I think the guide for MSVC is a little too complex... It's easier than that. An advice:

First time only

  1. Download and install Git for Windows;
  2. Install vcpkg (for example in C:\ ) from PowerShell:
git clone https://github.com/microsoft/vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat -disableMetrics
.\vcpkg integrate install
  1. Install dependencies:
    .\vcpkg install sdl2 pkgconf

    End

4a. Open Developer PowerShell for VS 2022 instance, navigate to a folder with write permissions and run:

git clone --recurse-submodules https://github.com/nukeykt/Nuked-SC55.git
cd Nuked-SC55
cmake --toolchain C:/vcpkg/scripts/buildsystems/vcpkg.cmake -A x64 -B build
cmake --build build --config Release

4b. Run everything from Visual Studio GUI.

000MDK commented 2 months ago

this is a great addition 'cmake --toolchain C:/vcpkg/scripts/buildsystems/vcpkg.cmake -A x64 -B build` that I was overlooking

today I'll install some VMs for having clean build/test systems (that's what the scripts are really for, they will go away eventually) and improve things from there in the next days

arrowgent commented 1 month ago

added linux PR on your fork.

output:

cmake -DCMAKE_BUILD_TYPE=Release -GNinja ..
cmake --build .
-- The CXX compiler identification is GNU 12.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Performing Test HAS_NO_PIE
-- Performing Test HAS_NO_PIE - Success
-- Looking for fstatat
-- Looking for fstatat - found
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/build/nuked-sc55/Nuked-SC55/build55sc
[3/13] Building CXX object CMakeFiles/nuked-sc55.dir/src/mcu_timer.cpp.o
/home/build/nuked-sc55/Nuked-SC55/src/mcu_timer.cpp: In function ‘void TIMER_Clock(uint64_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_timer.cpp:230:22: warning: unused variable ‘offset’ [-Wunused-variable]
  230 |             uint32_t offset = 0x10 * i;
      |                      ^~~~~~
[4/13] Building CXX object CMakeFiles/nuked-sc55.dir/src/midi_rtmidi.cpp.o
/home/build/nuked-sc55/Nuked-SC55/src/midi_rtmidi.cpp: In function ‘int MIDI_Init(int)’:
/home/build/nuked-sc55/Nuked-SC55/src/midi_rtmidi.cpp:47:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
   47 |     if (port < 0 || port >= count)
      |                     ~~~~~^~~~~~~~
[6/13] Building CXX object CMakeFiles/nuked-sc55.dir/src/submcu.cpp.o
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_NotImplemented(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:377:39: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  377 | void SM_Opcode_NotImplemented(uint8_t opcode)
      |                               ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_SEI(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:382:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  382 | void SM_Opcode_SEI(uint8_t opcode) // 78
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_CLD(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:387:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  387 | void SM_Opcode_CLD(uint8_t opcode) // d8
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_CLT(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:392:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  392 | void SM_Opcode_CLT(uint8_t opcode) // 12
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_TXS(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:447:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  447 | void SM_Opcode_TXS(uint8_t opcode) // 9a
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_TXA(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:452:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  452 | void SM_Opcode_TXA(uint8_t opcode) // 8a
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_INX(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:489:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  489 | void SM_Opcode_INX(uint8_t opcode) // e8
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_INY(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:495:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  495 | void SM_Opcode_INY(uint8_t opcode) // c8
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_BEQ(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:565:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  565 | void SM_Opcode_BEQ(uint8_t opcode) // f0
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_BCC(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:572:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  572 | void SM_Opcode_BCC(uint8_t opcode) // 90
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_BCS(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:579:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  579 | void SM_Opcode_BCS(uint8_t opcode) // b0
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_LDM(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:586:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  586 | void SM_Opcode_LDM(uint8_t opcode) // 3c
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_CLI(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:635:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  635 | void SM_Opcode_CLI(uint8_t opcode) // 58
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_STP(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:640:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  640 | void SM_Opcode_STP(uint8_t opcode) // 42
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_PHA(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:645:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  645 | void SM_Opcode_PHA(uint8_t opcode) // 48
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_RTI(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:683:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  683 | void SM_Opcode_RTI(uint8_t opcode) // 40
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_PLA(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:690:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  690 | void SM_Opcode_PLA(uint8_t opcode) // 68
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_BRA(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:696:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  696 | void SM_Opcode_BRA(uint8_t opcode) // 80
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_BNE(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:758:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  758 | void SM_Opcode_BNE(uint8_t opcode) // d0
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_RTS(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:765:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  765 | void SM_Opcode_RTS(uint8_t opcode) // 60
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_TAX(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:874:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  874 | void SM_Opcode_TAX(uint8_t opcode) // aa
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_SEC(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:918:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  918 | void SM_Opcode_SEC(uint8_t opcode) // 38
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_NOP(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:923:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  923 | void SM_Opcode_NOP(uint8_t opcode) // EA
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_BPL(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:927:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  927 | void SM_Opcode_BPL(uint8_t opcode) // 10
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp: In function ‘void SM_Opcode_CLC(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/submcu.cpp:934:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  934 | void SM_Opcode_CLC(uint8_t opcode) // 18
      |                    ~~~~~~~~^~~~~~
[7/13] Building CXX object CMakeFiles/nuked-sc55.dir/src/mcu_opcodes.cpp.o
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Operand_Nop(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:139:30: warning: unused parameter ‘operand’ [-Wunused-parameter]
  139 | void MCU_Operand_Nop(uint8_t operand)
      |                      ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Operand_Sleep(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:143:32: warning: unused parameter ‘operand’ [-Wunused-parameter]
  143 | void MCU_Operand_Sleep(uint8_t operand)
      |                        ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Operand_NotImplemented(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:148:41: warning: unused parameter ‘operand’ [-Wunused-parameter]
  148 | void MCU_Operand_NotImplemented(uint8_t operand)
      |                                 ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_LDM(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:171:22: warning: unused parameter ‘operand’ [-Wunused-parameter]
  171 | void MCU_LDM(uint8_t operand)
      |              ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_STM(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:186:22: warning: unused parameter ‘operand’ [-Wunused-parameter]
  186 | void MCU_STM(uint8_t operand)
      |              ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_TRAPA(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:202:24: warning: unused parameter ‘operand’ [-Wunused-parameter]
  202 | void MCU_TRAPA(uint8_t operand)
      |                ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Jump_PJSR(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:217:14: warning: unused variable ‘ocp’ [-Wunused-variable]
  217 |     uint32_t ocp = mcu.cp;
      |              ^~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:218:14: warning: unused variable ‘opc’ [-Wunused-variable]
  218 |     uint32_t opc = mcu.pc;
      |              ^~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:215:28: warning: unused parameter ‘operand’ [-Wunused-parameter]
  215 | void MCU_Jump_PJSR(uint8_t operand)
      |                    ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Jump_JSR(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:231:27: warning: unused parameter ‘operand’ [-Wunused-parameter]
  231 | void MCU_Jump_JSR(uint8_t operand)
      |                   ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Jump_RTE(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:240:27: warning: unused parameter ‘operand’ [-Wunused-parameter]
  240 | void MCU_Jump_RTE(uint8_t operand)
      |                   ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Jump_RTS(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:328:27: warning: unused parameter ‘operand’ [-Wunused-parameter]
  328 | void MCU_Jump_RTS(uint8_t operand)
      |                   ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Jump_PJMP(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:483:28: warning: unused parameter ‘operand’ [-Wunused-parameter]
  483 | void MCU_Jump_PJMP(uint8_t operand)
      |                    ~~~~~~~~^~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Operand_General(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:565:14: warning: unused variable ‘absolute’ [-Wunused-variable]
  565 |     uint32_t absolute = 0;
      |              ^~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_Short_NotImplemented(uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:706:46: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  706 | void MCU_Opcode_Short_NotImplemented(uint8_t opcode)
      |                                      ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_NotImplemented(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:837:40: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  837 | void MCU_Opcode_NotImplemented(uint8_t opcode, uint8_t opcode_reg)
      |                                ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:837:56: warning: unused parameter ‘opcode_reg’ [-Wunused-parameter]
  837 | void MCU_Opcode_NotImplemented(uint8_t opcode, uint8_t opcode_reg)
      |                                                ~~~~~~~~^~~~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_MOVG_Immediate(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:842:40: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  842 | void MCU_Opcode_MOVG_Immediate(uint8_t opcode, uint8_t opcode_reg)
      |                                ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_BSET_ORC(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:892:34: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  892 | void MCU_Opcode_BSET_ORC(uint8_t opcode, uint8_t opcode_reg)
      |                          ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_BCLR_ANDC(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:916:35: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  916 | void MCU_Opcode_BCLR_ANDC(uint8_t opcode, uint8_t opcode_reg)
      |                           ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_BTST(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:940:30: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  940 | void MCU_Opcode_BTST(uint8_t opcode, uint8_t opcode_reg)
      |                      ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_CLR(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:954:29: warning: unused parameter ‘opcode’ [-Wunused-parameter]
  954 | void MCU_Opcode_CLR(uint8_t opcode, uint8_t opcode_reg)
      |                     ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_LDC(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1014:29: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1014 | void MCU_Opcode_LDC(uint8_t opcode, uint8_t opcode_reg)
      |                     ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_STC(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1021:29: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1021 | void MCU_Opcode_STC(uint8_t opcode, uint8_t opcode_reg)
      |                     ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_OR(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1145:28: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1145 | void MCU_Opcode_OR(uint8_t opcode, uint8_t opcode_reg)
      |                    ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_CMP(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1152:29: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1152 | void MCU_Opcode_CMP(uint8_t opcode, uint8_t opcode_reg)
      |                     ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_ADDQ(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1159:30: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1159 | void MCU_Opcode_ADDQ(uint8_t opcode, uint8_t opcode_reg)
      |                      ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_ADD(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1185:29: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1185 | void MCU_Opcode_ADD(uint8_t opcode, uint8_t opcode_reg)
      |                     ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_SUB(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1199:29: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1199 | void MCU_Opcode_SUB(uint8_t opcode, uint8_t opcode_reg)
      |                     ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_SUBS(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1213:30: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1213 | void MCU_Opcode_SUBS(uint8_t opcode, uint8_t opcode_reg)
      |                      ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_AND(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1223:29: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1223 | void MCU_Opcode_AND(uint8_t opcode, uint8_t opcode_reg)
      |                     ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_SHLR(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1237:30: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1237 | void MCU_Opcode_SHLR(uint8_t opcode, uint8_t opcode_reg)
      |                      ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_MULXU(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1343:31: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1343 | void MCU_Opcode_MULXU(uint8_t opcode, uint8_t opcode_reg)
      |                       ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_DIVXU(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1372:31: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1372 | void MCU_Opcode_DIVXU(uint8_t opcode, uint8_t opcode_reg)
      |                       ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_ADDS(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1437:30: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1437 | void MCU_Opcode_ADDS(uint8_t opcode, uint8_t opcode_reg)
      |                      ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_XOR(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1445:29: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1445 | void MCU_Opcode_XOR(uint8_t opcode, uint8_t opcode_reg)
      |                     ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_ADDX(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1452:30: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1452 | void MCU_Opcode_ADDX(uint8_t opcode, uint8_t opcode_reg)
      |                      ~~~~~~~~^~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp: In function ‘void MCU_Opcode_SUBX(uint8_t, uint8_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu_opcodes.cpp:1471:30: warning: unused parameter ‘opcode’ [-Wunused-parameter]
 1471 | void MCU_Opcode_SUBX(uint8_t opcode, uint8_t opcode_reg)
      |                      ~~~~~~~~^~~~~~
[9/13] Building CXX object CMakeFiles/nuked-sc55.dir/src/lcd.cpp.o
/home/build/nuked-sc55/Nuked-SC55/src/lcd.cpp: In function ‘void LCD_Update()’:
/home/build/nuked-sc55/Nuked-SC55/src/lcd.cpp:427:38: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  427 |                 for (size_t i = 0; i < lcd_height; i++) {
      |                                    ~~^~~~~~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/lcd.cpp:428:42: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  428 |                     for (size_t j = 0; j < lcd_width; j++) {
      |                                        ~~^~~~~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/lcd.cpp:435:38: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  435 |                 for (size_t i = 0; i < lcd_height; i++) {
      |                                    ~~^~~~~~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/lcd.cpp:436:42: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  436 |                     for (size_t j = 0; j < lcd_width; j++) {
      |                                        ~~^~~~~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/lcd.cpp: In function ‘void LCD_Init()’:
/home/build/nuked-sc55/Nuked-SC55/src/lcd.cpp:259:10: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  259 |     fread(lcd_background, 1, sizeof(lcd_background), raw);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/lcd.cpp: At global scope:
/home/build/nuked-sc55/Nuked-SC55/src/lcd.cpp:48:29: warning: ‘LCD_AC’ defined but not used [-Wunused-variable]
   48 | static uint32_t LCD_DD_RAM, LCD_AC, LCD_CG_RAM;
      |                             ^~~~~~
[11/13] Building CXX object CMakeFiles/nuked-sc55.dir/src/pcm.cpp.o
/home/build/nuked-sc55/Nuked-SC55/src/pcm.cpp: In function ‘void calc_tv(int, int, uint16_t*, int, int*)’:
/home/build/nuked-sc55/Nuked-SC55/src/pcm.cpp:423:13: warning: unused variable ‘neg’ [-Wunused-variable]
  423 |         int neg = (sum1 & 0x80000) != 0;
      |             ^~~
/home/build/nuked-sc55/Nuked-SC55/src/pcm.cpp: In function ‘void PCM_Update(uint64_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/pcm.cpp:537:17: warning: variable ‘dac_mask’ set but not used [-Wunused-but-set-variable]
  537 |             int dac_mask = 0;
      |                 ^~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/pcm.cpp:1027:25: warning: unused variable ‘old_nibble’ [-Wunused-variable]
 1027 |                     int old_nibble = (pcm.ram2[31][7] >> 12) & 15; // 1
      |                         ^~~~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/pcm.cpp:1034:25: warning: unused variable ‘interp_ratio’ [-Wunused-variable]
 1034 |                     int interp_ratio = (sub_phase >> 7) & 127;
      |                         ^~~~~~~~~~~~
[12/13] Building CXX object CMakeFiles/nuked-sc55.dir/src/mcu.cpp.o
/home/build/nuked-sc55/Nuked-SC55/src/mcu.cpp: In function ‘uint16_t MCU_SC155Sliders(uint32_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu.cpp:185:36: warning: unused parameter ‘index’ [-Wunused-parameter]
  185 | uint16_t MCU_SC155Sliders(uint32_t index)
      |                           ~~~~~~~~~^~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu.cpp: In function ‘int work_thread(void*)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu.cpp:1001:31: warning: unused parameter ‘data’ [-Wunused-parameter]
 1001 | int SDLCALL work_thread(void* data)
      |                         ~~~~~~^~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu.cpp: In function ‘uint16_t MCU_AnalogReadPin(uint32_t)’:
/home/build/nuked-sc55/Nuked-SC55/src/mcu.cpp:272:1: warning: control reaches end of non-void function [-Wreturn-type]
  272 | }
      | ^
/home/build/nuked-sc55/Nuked-SC55/src/mcu.cpp: At global scope:
/home/build/nuked-sc55/Nuked-SC55/src/mcu.cpp:164:16: warning: ‘ad_nibble’ defined but not used [-Wunused-variable]
  164 | static uint8_t ad_nibble = 0x00;
      |                ^~~~~~~~~
/home/build/nuked-sc55/Nuked-SC55/src/mcu.cpp:163:17: warning: ‘ad_val’ defined but not used [-Wunused-variable]
  163 | static uint16_t ad_val[4];
      |                 ^~~~~~
[13/13] Linking CXX executable nuked-sc55
/home/build/nuked-sc55/Nuked-SC55/build55sc $ ./nuked-sc55 
Base path is: ./nuked-sc55
ROM set autodetect: SC-55mk2
FATAL ERROR: One of required data ROM files is missing: /home/build/nuked-sc55/Nuked-SC55/build55sc/rom1.bin, /home/build/nuked-sc55/Nuked-SC55/build55sc/rom2.bin, /home/build/nuked-sc55/Nuked-SC55/build55sc/waverom1.bin, /home/build/nuked-sc55/Nuked-SC55/build55sc/waverom2.bin, /home/build/nuked-sc55/Nuked-SC55/build55sc/rom_sm.bin.