Nuked-SC55-Sharp 0.7.0

dotnet add package Nuked-SC55-Sharp --version 0.7.0
                    
NuGet\Install-Package Nuked-SC55-Sharp -Version 0.7.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nuked-SC55-Sharp" Version="0.7.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nuked-SC55-Sharp" Version="0.7.0" />
                    
Directory.Packages.props
<PackageReference Include="Nuked-SC55-Sharp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nuked-SC55-Sharp --version 0.7.0
                    
#r "nuget: Nuked-SC55-Sharp, 0.7.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nuked-SC55-Sharp@0.7.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nuked-SC55-Sharp&version=0.7.0
                    
Install as a Cake Addin
#tool nuget:?package=Nuked-SC55-Sharp&version=0.7.0
                    
Install as a Cake Tool

Nuked-SC55-Sharp

Nuked-SC55-Sharp provides managed .NET bindings and packaged native binaries for Nuked-SC55. It accepts raw MIDI bytes and renders native-rate interleaved stereo PCM without owning an audio device, mixer, thread, resampler, or visual LCD renderer.

The native component uses Nuked-SC55's MAME-derived license. It may not be sold or used in a commercial product or activity. See LICENSE.

Supported runtimes

The managed assembly targets netstandard2.1, net8.0, and net10.0. The single package contains native assets for:

  • Windows x64 and ARM64
  • Linux glibc x64 and ARM64
  • macOS x64 and ARM64

ROM images are not distributed. The loader identifies files by SHA-256 content, so their filenames do not select the emulated revision.

Basic use

using NukedSC55Sharp;

var options = new NukedSc55Options("path/to/roms", NukedSc55RomSet.Mk1V121);
using var sc55 = new NukedSc55(options);

const int frames = 512;
var pcm = new float[frames * NukedSc55.ChannelCount];

sc55.QueueMidi(stackalloc byte[] { 0x90, 60, 100 }, frameOffset: 0);
sc55.QueueMidi(stackalloc byte[] { 0x80, 60, 0 }, frameOffset: 400);
sc55.Render(pcm);

// Resample sc55.SampleRate to your mixer rate, then mix or play pcm.

QueueMidi copies raw UART bytes. A system-exclusive message must include its complete wire representation, including F0 and F7. Frame offsets are relative to the next Render call and equal offsets retain enqueue order.

Use Render(Span<float>) for normalized floating-point samples or Render(Span<short>) for clamped signed 16-bit samples. Each destination is interleaved left/right stereo and must contain an even number of samples.

Instances are independent but not thread-safe. The caller must serialize all operations on each instance.

Rates and startup

The default output is the native 32,000 or 33,103 Hz rate. Set EnableOversampling before creating the instance to use the core's 64,000 or 66,207 Hz mode. SampleRate reports the exact selected rate.

InitialReset = Automatic applies the model-specific reference behavior. Construction and Reset() perform model-specific startup settling before returning, so these operations can take noticeable time.

JV-880 NVRAM

Set NvramPath only with Jv880V100 or Jv880V101. Nuked-SC55 loads that file during initialization and saves it when the instance is cleanly disposed.

Exact ROM sets

NukedSc55RomSet exposes every exact standard and CTF-patched set registered by the pinned Nuked-SC55 core. The CTF variants are deprecated upstream patches but remain first-class values in version 0.7.0 of this package.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.7.0 75 8/17/2026