VOGONS


Reply 520 of 533, by Karmeck

User metadata
Rank Member
Rank
Member

Managed to compile using MSYS2 MINGW64 in admin mode:

# Install necessary packages pacman -S --needed git mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-gcc ninja […]
Show full quote

# Install necessary packages
pacman -S --needed git mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-gcc ninja

# Clone the repository
git clone https://github.com/jcmoyer/Nuked-SC55.git

# Navigate to the project directory
cd Nuked-SC55

# Create and enter the build directory
mkdir build && cd build

# Run CMake with ASIO support and static linking
CXXFLAGS="-static" cmake -G Ninja \
-DNUKED_ENABLE_ASIO=ON \
-DNUKED_ASIO_SDK_DIR="C:/asio" \
-DCMAKE_EXE_LINKER_FLAGS="-static" ..

# Compile the project
ninja

instal dir for me is "C:\msys64\home\qwert\Nuked-sc55\build"

I had to crate the Nuked-sc55 folder inside the qwert directory, im guessing that is my username, so you will have something else there.

The sdl2.dll was not was not crated, had to get that from the pre-made build.

now, what is asio?

Reply 521 of 533, by valnar

User metadata
Rank Oldbie
Rank
Oldbie

I couldn't figure out how to compile it, unfortunately.

Reply 522 of 533, by Karmeck

User metadata
Rank Member
Rank
Member
valnar wrote on 2025-03-30, 19:11:

I couldn't figure out how to compile it, unfortunately.

The above code should give you all you need.

I used chatgpt for feedback on any errors. And it gave me code for it all to work.

might have to restart the compiler after installing the dependencies and then remove that line from code you give the compiler.

Reply 523 of 533, by sndwv

User metadata
Rank Member
Rank
Member

Can someone explain what ASIO support adds, or specifically if it adds something for emulation? Tried Googling it, didn't give me a clear answer. People here seem to be quite happy with it though, so was wondering if I'm missing out on something.

Reply 524 of 533, by SScorpio

User metadata
Rank Oldbie
Rank
Oldbie
sndwv wrote on 2025-03-30, 19:31:

Can someone explain what ASIO support adds, or specifically if it adds something for emulation? Tried Googling it, didn't give me a clear answer. People here seem to be quite happy with it though, so was wondering if I'm missing out on something.

It's basically an ultra low latency audio protocol. For games you'll be just fine. If you were using Nuked-SC55 in place of a real MIDI module to create music with MIDI instruments. You might want it so the sounds play back more quickly. But for emulation you're unlikely to notice a difference.

Reply 525 of 533, by sndwv

User metadata
Rank Member
Rank
Member
SScorpio wrote on 2025-03-30, 19:41:

It's basically an ultra low latency audio protocol. For games you'll be just fine. If you were using Nuked-SC55 in place of a real MIDI module to create music with MIDI instruments. You might want it so the sounds play back more quickly. But for emulation you're unlikely to notice a difference.

Thanks!

Reply 526 of 533, by ssjkakaroto

User metadata
Rank Newbie
Rank
Newbie

New update from jcmoyer (https://github.com/jcmoyer/Nuked-SC55/releases):

Version 0.6.0 (2025-06-09)

This release contains bugfixes and a couple quality of life enhancements.

Enhancements

  • Both frontends now default to locating roms by hashing files in the rom directory instead of requiring specific filenames. The old behavior can be enabled by passing --legacy-romset-detection to either program.
  • Added more informative messages for loaded and missing roms.
  • Added new command line parameters to override specific roms. These are meant for advanced users who have roms with unknown hashes. The parameters are: --override-rom1 <path>, --override-rom2 <path>, --override-smrom <path>, --override-waverom1 <path>, --override-waverom2 <path>, --override-waverom3 <path>, --override-waverom-card <path>, --override-waverom-exp <path>. Each parameter takes the rom filename to load.
  • Added an --nvram <filename> parameter to both frontends. This is only used by the JV-880 and can be used to persist and reload JV-880 settings. (#36)
  • Both frontends now send a GS reset by default when using a SC-55mk2 romset in order to work around a firmware bug that causes instrument pitch to be initialized incorrectly. Upstream defaults to not sending a reset, so this is a divergence in behavior. To get the old behavior, pass --reset none. (#38)
  • Added the ability to route emulator audio to specific ASIO channels. (#39)

Bugfixes

  • Fixed crash on startup when the directory containing the executable had non-English characters. (#30)
  • Fixed renderer desync when using multiple instances and one of the instances received midi data starting later than tick 0. (#42)

Breaking changes for developers

  • The emulator backend no longer depends on SDL. Emulator::Init now accepts an LCD backend pointer that can be used to customize the behavior of the LCD on a per-application basis. The old SDL backend has been moved to the standard frontend.
  • Emulator::LoadRoms now requires rom data to be loaded into an instance of AllRomsetInfo by the caller. Several functions have been added to help with this. See emu.h for more information. A complete example can be found under common/rom_loader.h and its accompanying source file.

Reply 527 of 533, by KainXVIII

User metadata
Rank Oldbie
Rank
Oldbie

Let's decouple this fork discussion from main thread, i was so excited when this thread updated until i realized it was not updated after all 😅

Reply 528 of 533, by valnar

User metadata
Rank Oldbie
Rank
Oldbie
KainXVIII wrote on 2025-06-10, 09:08:

Let's decouple this fork discussion from main thread, i was so excited when this thread updated until i realized it was not updated after all 😅

I prefer it here.

Reply 529 of 533, by ssjkakaroto

User metadata
Rank Newbie
Rank
Newbie
KainXVIII wrote on 2025-06-10, 09:08:

Let's decouple this fork discussion from main thread, i was so excited when this thread updated until i realized it was not updated after all 😅

Why? The forks are improving the main branch. Many of the changes are PRs to nukeykt's code base and might be merged to it.

Reply 530 of 533, by KainXVIII

User metadata
Rank Oldbie
Rank
Oldbie
ssjkakaroto wrote on 2025-06-10, 16:20:
KainXVIII wrote on 2025-06-10, 09:08:

Let's decouple this fork discussion from main thread, i was so excited when this thread updated until i realized it was not updated after all 😅

Why? The forks are improving the main branch. Many of the changes are PRs to nukeykt's code base and might be merged to it.

Ah, didn't knew that, so be it!

Reply 532 of 533, by EmperorGrieferus

User metadata
Rank Newbie
Rank
Newbie
markanini wrote on 2025-06-14, 16:08:

Am I getting this right? Running the following fork https://github.com/linoshkmalayil/Nuked-SC55- … tation/USAGE.md with -n 2 should double the mk1 polyphony, with the drawback of doubling CPU resource demand? Or does this require additional routing to work?

What it does is essentially launching another instance of an emulator assigned to, presumably, the same port. And yes, it doubles the CPU demand.

Reply 533 of 533, by Falcosoft

User metadata
Rank l33t
Rank
l33t
EmperorGrieferus wrote on Today, 01:39:
markanini wrote on 2025-06-14, 16:08:

Am I getting this right? Running the following fork https://github.com/linoshkmalayil/Nuked-SC55- … tation/USAGE.md with -n 2 should double the mk1 polyphony, with the drawback of doubling CPU resource demand? Or does this require additional routing to work?

What it does is essentially launching another instance of an emulator assigned to, presumably, the same port. And yes, it doubles the CPU demand.

Since it launches other instances to achieve better polyphony it can lessen single core demand on multi-core CPUs so actually it can improve performance. The reason is the emulator's bottleneck is that the costly part of the emulation runs on a single thread.
When you lunch 2 instances the costly part can run on 2 threads and 1 thread has to do only a smaller part of the job.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper