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
<PackageReference Include="Nuked-SC55-Sharp" Version="0.7.0" />
<PackageVersion Include="Nuked-SC55-Sharp" Version="0.7.0" />
<PackageReference Include="Nuked-SC55-Sharp" />
paket add Nuked-SC55-Sharp --version 0.7.0
#r "nuget: Nuked-SC55-Sharp, 0.7.0"
#:package Nuked-SC55-Sharp@0.7.0
#addin nuget:?package=Nuked-SC55-Sharp&version=0.7.0
#tool nuget:?package=Nuked-SC55-Sharp&version=0.7.0
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 | Versions 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. |
-
.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 | 78 | 8/17/2026 |