Jump to content

Nuked-SC55 emulator (source code)


Recommended Posts

posting this here because I think port devs would be more interested in this than the general user

https://github.com/nukeykt/Nuked-SC55

https://www.vogons.org/viewtopic.php?t=99447

 

 

@nukeykt unveils this new emulation project, born by reverse engineering the original hardware

unlike OPL3, rom dumps are required so this can possibly prevent (or slow down) its adoption?

 

a great accomplishment nonetheless

 

 

 

Share this post


Link to post

I tested it with some Roland midis.

 

This is, in fact, a historical moment in SC-55 emulation, we finally got the actual 55mkii sound with 100% accuracy.

 

My main grip, is the fact is really resource intensive (at least for my 2009 dual core CPU). I understand is a low level emulation, but it lags too much with some midis, and other low level emulators works perfectly in my old PC... I suppose Nuke will optimize it in near future since is still W.I.P.

 

Anyways, I can finally die. True SC-55mkII emulation exists!

Share this post


Link to post
On mercredi 3 avril 2024 at 11:08 AM, liPillON said:

uh in yesterday's excitement I forgot to check the licensing terms

 

it's under the original MAME license

https://github.com/nukeykt/Nuked-SC55/blob/master/LICENSE

 

Explicitly non-commercial, making it incompatible with all the GPL-licensed source ports as well as things like ZMusic. Too bad.

 

Still a very interesting project, but it can't be integrated directly into a port, so you need a port that can send MIDI to an external device (external to the port, I mean).

Share this post


Link to post
Posted (edited)

damn, id like to play around with this but can not for the life of me figure out how to use the sc55emu.exe to actually open and play anything..\

 

edit: apparently needs sc-55 firmware rom dumps. there were links on the vogons page, but their admins removed them and they seem to exist nowhere else on the internet as far as i can tell....awesome...

Edited by kaleb.

Share this post


Link to post
On 4/6/2024 at 8:26 AM, kaleb. said:

damn, id like to play around with this but can not for the life of me figure out how to use the sc55emu.exe to actually open and play anything..\

 

edit: apparently needs sc-55 firmware rom dumps. there were links on the vogons page, but their admins removed them and they seem to exist nowhere else on the internet as far as i can tell....awesome... 

I'll give you a clue to find the ROMs: "MAME 0.264 romset"

Share this post


Link to post
Posted (edited)
On 4/5/2024 at 7:33 AM, Gez said:

Still a very interesting project, but it can't be integrated directly into a port, so you need a port that can send MIDI to an external device (external to the port, I mean).

Chocolate/Crispy Doom and even GZDoom can do it, that about covers all bases doesn't it?

[url=https://github.com/chocolate-doom/chocolate-doom/blob/master/README.Music.md#other-options](Weirdly, Chocolate/Crispy is the less out-of-the-box one between the two)[/url]

 

I'm stunned at how differently this sounds to all of those "SC-55 soundfonts". What have I been listening to all this time? The non-mkII samples, perhaps? If I happened to have the "waverom" dumps from earlier versions of the card (and assumably commented out any checksums in the software), would that sound authentic to earlier versions of the card? Would it sound more similar to the bootleg soundfont experience?

 

Edit: (G)ZDoom's hardware/system-wide MIDI support is mentioned in the wiki, but it seems to have always been Windows-only: 

 

Edited by houston
Github brain

Share this post


Link to post
26 minutes ago, houston said:

Chocolate/Crispy Doom and even GZDoom can do it, that about covers all bases doesn't it?

It's nice that Chocolate and Crispy have that option, but in my experience it's not as good as properly-integrated midi playback. There's a bit of a delay when playing music, and more importantly, the music volume control inside Chocolate does nothing.

 

SDL lacks a way to interface with any kind of system midi on Linux, which is probably why GZDoom (and other ports) don't have a way to use it.

 

30 minutes ago, houston said:

I'm stunned at how differently this sounds to all of those "SC-55 soundfonts". What have I been listening to all this time? The non-mkII samples, perhaps? If I happened to have the "waverom" dumps from earlier versions of the card (and assumably commented out any checksums in the software), would that sound authentic to earlier versions of the card? Would it sound more similar to the bootleg soundfont experience?

Haven't tried the SC-55 emulator yet, but you could listen to recordings of the Doom soundtrack made on an actual SC-55 and compare.

https://web.archive.org/web/20230324093928/http://sc55.duke4.net/games.php#doom

 

One difference will definitely be the way a softsynth soundfont player (especially fluidsynth) will handle reverb and chorus compared to a real SC-55, but I'm unsure how much this will affect your personal perception of the differences.

Share this post


Link to post
10 minutes ago, plums said:

It's nice that Chocolate and Crispy have that option, but in my experience it's not as good as properly-integrated midi playback. There's a bit of a delay when playing music, and more importantly, the music volume control inside Chocolate does nothing.

The specific method they propose has an issue with stuck notes, too. To get around that, you should add a command beforehand either sending an "AllNotesOff"/CC123 signal (or playing a .mid with just that signal in it), or find some other method of clearing out those held notes.

https://stackoverflow.com/questions/38687774

amidi's got no support for software synths (run amidi -l: nothing will show), so I'm still looking into that first method.

Share this post


Link to post

Cool stuff, so I can throw away the Roland VST plugin, at least for SC55. 

 

The only problem is to find the SC55 firmware :/

Share this post


Link to post
On 4/7/2024 at 7:57 AM, houston said:

I'm stunned at how differently this sounds to all of those "SC-55 soundfonts". What have I been listening to all this time? The non-mkII samples, perhaps?

I don't think the samples sound very different between the two SC-55 releases, but I only have the mkII and listened to recordings made on the original (the samples do sound very different in the SC-88Pro and up, which is probably why Roland's own emulator is so inaccurate since IIRC it uses the SC-8820 samples). The problem has always been that the GS modules apply a lot of postprocessing to the samples and before this nobody really understood how this worked, so even perfect ROM dumps from a real SC-55 were always inaccurate when converted into a soundfont, programs like Fluidsynth just didn't know how to emulate the SC firmware.

 

I'm really excited about this development, I've spent the past decade worried just how long my SC-55 would last and that once it died, as all electronics eventually do, I'd never get the right sound on games specifically composed on it (including Doom). I'm super happy that everyone will now be able to experience the music this way, I know a lot of people prefer more elaborate soundfonts or newer modules with better samples, but it's just so nice to have more options. All I need now is to find some ROMs so I can test NUked out myself. I would just get dump the ROMs out of my own device but what I read once involved opening it up and resoldering the chips and I'm... not doing that.

Share this post


Link to post
On 4/6/2024 at 2:26 AM, kaleb. said:

damn, id like to play around with this but can not for the life of me figure out how to use the sc55emu.exe to actually open and play anything..\

  

edit: apparently needs sc-55 firmware rom dumps. there were links on the vogons page, but their admins removed them and they seem to exist nowhere else on the internet as far as i can tell....awesome...

Check the internet archive. If you did already, check again.

Share this post


Link to post
Posted (edited)

How do I set this up right? Midiplayer doesn't seem to want me to manually assign input or output ports

I currently got Midiplayer, WinAmp with Nullsoft MIDI Player v3.57, the aforementioned latest versions of VMS and CS-MM, and all the required roms to get this NUKED emulator to work

Edited by No-Man Baugh

Share this post


Link to post
Posted (edited)
4 hours ago, No-Man Baugh said:

How do I set this up right? Midiplayer doesn't seem to want me to manually assign input or output ports

 

I use the loopMIDI software, which I think is the easiest way. Just install it and add a MIDI port, the Nuked SC-55 will find it automatically. Also loopMIDI ports will be visible in the latest version of Crispy Doom/Woof and in the dev build of Chocolate Doom.

Edited by rfomin

Share this post


Link to post
On 4/6/2024 at 2:26 AM, kaleb. said:

damn, id like to play around with this but can not for the life of me figure out how to use the sc55emu.exe to actually open and play anything..\

 

edit: apparently needs sc-55 firmware rom dumps. there were links on the vogons page, but their admins removed them and they seem to exist nowhere else on the internet as far as i can tell....awesome...

 

On 4/8/2024 at 8:04 AM, LuciferSam86 said:

Cool stuff, so I can throw away the Roland VST plugin, at least for SC55. 

 

The only problem is to find the SC55 firmware :/

Because other people no doubt have the same trouble I did, let me help out.

 

For the SC-55MKII ROMs, a Youtuber by the name of Triaxis uploaded them (already renamed correctly) in the description of a Youtube video they made showcasing Nuked-SC55.

Youtube Video Link / Direct Link to the ROMs

 

As for the other ROMs that Nuked-SC55 is working on, I admit I'm having a bit of trouble with that.

However, there is a very nice site that has a huge dump of ROMs called DBWBP - Download Section of the DBWBP Site

 

Currently, I think that I've found the necessary CM-300/SCC-1 ROMs, but I could be wrong since when I renamed and try to use them the program starts up, but has a blank space where the numbers and bars and whatnot are supposed to be. Don't know if it just isn't implemented yet or if the file I'm using from there isn't the correct R15199774 (H8/532 mcu) one needs. I THINK it's the 'SCC1A_R00128567_GS4-PRM_v4_(program).BIN' file in the pack, but don't know for sure.

There is a download that directly states it is "Roland SCC1 Control Rom", but I believe it's just the aforementioned file given they are the exact same size.

Anyway, here is a direct link to that material - Roland SCC1-SCC1A Roms

 

There are potential ROMs on that site to help with the other cards as well, just haven't had time to really look into that stuff yet.

 

In any case, hope that it helps to at least have the files for the SC-55mk2 (v1.01).

Share this post


Link to post

Yeah I got everything working now with loopMidi. Managed to get GZDoom and Nugget Doom to use it. Nugget Doom is my port of choice so I'm very happy to get this all working.

Share this post


Link to post

Got this to work and oh my goodness this is beautiful

Share this post


Link to post

With the last update, it now supports most SC-55 models (SC-55mk1, CM-300/SCC-1, SC-55st)
 

And JV-880 support is coming soon, and with that, it will support all models.

Share this post


Link to post
Posted (edited)
20 hours ago, Herr Dethnout said:

With the last update, it now supports most SC-55 models (SC-55mk1, CM-300/SCC-1, SC-55st)
 

And JV-880 support is coming soon, and with that, it will support all models.

Oh, very interesting. Looks like Nukey published a method to dumping the missing bits of the ROM for some machines which haven't been fully dumped (i.e. everything but the mk2) either.

 

Looks like he's still hogging them, but I'm sure it'll crop up one of these days...

 

EDIT: Nevermind all of that stuff I said about how different/much lower-pitched it sounds by the way, it turns out that was just an oddity with generic MIDI drivers/aplaymidi instead of using a proper Roland driver, where the card doesn't get "initialised" or something. More info here: https://www.vogons.org/viewtopic.php?p=1249528#p1249528

"It's some kind of init bug, it appears to happen based on what game you ran first, it's like some of them don't initialize SC-55 properly. You need to do the reset procedure if you run into this:
1) Press Q to turn it off.
2) Press and hold Y and U, then press Q to turn it back on.
3) Press W to answer affirmative to the reset prompt."

Edited by houston

Share this post


Link to post

Has anyone found a way to adjust the volume control within Nuked? It seems to set very low by default, and it's making it a bit more difficult to make comparisons without resorting to post-processing (which I'm trying to avoid). I tried making adjustments through Windows but the sound mixer there is not the best.

 

1 hour ago, houston said:

2) Press and hold Y and U, then press Q to turn it back on.

Correction: hold Y OR U, for MT-32 or GS reset respectively. This is also how it works on the SC-55 itself. I didn't try it on the hardware but in Nuked holding both does nothing.

This makes me realize I haven't tested the MT-32 mode, I should go play with it for the hell of it....

Share this post


Link to post

Finally JV-880 mode is merged into the master branch!

 

It uses different button commands and has not GM support as it was made for profesional composing in mind. Great day to be alive.

Share this post


Link to post
Posted (edited)
On 4/14/2024 at 9:08 PM, brick said:

Has anyone found a way to adjust the volume control within Nuked? It seems to set very low by default, and it's making it a bit more difficult to make comparisons without resorting to post-processing (which I'm trying to avoid). I tried making adjustments through Windows but the sound mixer there is not the best.

 

Correction: hold Y OR U, for MT-32 or GS reset respectively. This is also how it works on the SC-55 itself. I didn't try it on the hardware but in Nuked holding both does nothing.

This makes me realize I haven't tested the MT-32 mode, I should go play with it for the hell of it....

I also find it too quiet. Pity. The music sounds excellent- perhaps there is another program besides loopmidi?

 

edit: I found a slightly better program. it has no frontend, just a driver. I had to uninstall loopmidi and all coolsoft software to get the volume right but it works now. and you don't need a program to be open.

 

VirtualMIDI Windows Driver (springbeats.com)

Edited by schiz0id

Share this post


Link to post
12 hours ago, schiz0id said:

I also find it too quiet. Pity. The music sounds excellent- perhaps there is another program besides loopmidi?

 

edit: I found a slightly better program. it has no frontend, just a driver. I had to uninstall loopmidi and all coolsoft software to get the volume right but it works now. and you don't need a program to be open.

 

VirtualMIDI Windows Driver (springbeats.com)

Doesn't work for me. Is there some kind of magic?

Share this post


Link to post

you just install it on windows 10 or 11 and restart then select the option for the springbeats vmidi1 if you select any of the ones after it, say, vmidi2 or vmidi3 it won't work. it has to be the first channel

Share this post


Link to post
12 hours ago, schiz0id said:

you just install it on windows 10 or 11 and restart then select the option for the springbeats vmidi1 if you select any of the ones after it, say, vmidi2 or vmidi3 it won't work. it has to be the first channel

Might test it out.

Share this post


Link to post
12 hours ago, schiz0id said:

you just install it on windows 10 or 11 and restart then select the option for the springbeats vmidi1 if you select any of the ones after it, say, vmidi2 or vmidi3 it won't work. it has to be the first channel

Still, doesn't work when I try to play MIDIs through Windows Media Player.

Share this post


Link to post
1 hour ago, Blast_Brothers said:

Doesn't Media Player need its MIDI port specified explicitly? I know Coolsoft has a separate toggle for it.

Exactly, but schiz0id tells that, in order to get the volume right, he had to delete all Coolsoft apps and loopMIDI.

Share this post


Link to post
29 minutes ago, Grieferus said:

Exactly, but schiz0id tells that, in order to get the volume right, he had to delete all Coolsoft apps and loopMIDI.

 

I don't mind the low volume, personally. It's not actually that much quieter in my experience - I just turn down the SFX in the mixer a little bit and it's fine.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...