What's new

Darksoft

Staff member
Immortal
Joined
Jun 12, 2015
Messages
11,412
Reaction score
16,774
Location
Poland
Hello everyone!

I got these tools from NeoCPS1 some time ago with his permission to release. This very talented guy is since some time gone from the scene. He was responsible among other things for the creation of the emulator Callus in the 90's which was a complete hit at that time.

Here is some information about this tool.

I've used a librery called libmod to play modfiles. On NeoGeo you can't adjust the pitch, only the volume, so you change the notes using the volume. Sample must be memory aligned to 256 bytes
In order to simplify the output file, we look for duplicated and make a list to know which samples to play when.
About the channels, you can play 2 channels and this tool handles that, it knows when to play a note from a channel or from other, because NeoGeo can't play 2 voice channels very well.

This tools convert from mod to ngt, which is the format being used here. This format contains ALL the information needed, which samples should be played when, with which volumen, etc.
You also have a ngt to wav tool, but this is just to check if all is properly converted (optional).

What he achieved was really something. Sample hardware is limited on mvs. You can choose a sample which must start at multiples of 256 bytes in vrom.
The duration is also a problem. Duration has a maximum, and a sample cannot cross some vrom address boundaries, so you loose space because they must be 256 bytes aligned.
And not to mention that you lose space because a sample cannot cross some adress boundaries. Also you can't adjust the picth, you can only adjust the volume. On the top of that, we have to consider the issue about the 16MB limit of vroms. We were considering using compression, but it would kill the timing.

You can get all the files here. Hopefully someone wants to make a mod player for NeoGeo. I'm not considering right now to change the mods played in the multi as I'm not very familiar with this and can take a lot of time to create a simple way to replace these.

You can get the tools from here: https://mega.nz/file/pY1TlJpR#ZiO8P9837-t0emIOeewwzaY0T-tS-gHgcsU6dl5rKTA
 
Interesting - I'm sure I've seen a mod converter as part of a NeoGeo "homebrew" SDK many years ago. You could probably trade some extra storage by precomputing chords or even short stems.

Of course if you don't care about compatibility with original cartridges you could generate audio with a Raspberry Pi Pico or one of the various other embedded ARM CPUs, then stream it through FIFO to the motherboard.
 
Last edited:
Back
Top