Home | Forums | What's new | Resources | |
Project : convert yamaha YMxxx FM to saturn scsp FM |
vbt - Sep 18, 2016 |
< Prev | 1 | 2 | 3 | 4 | Next> |
antime | Apr 3, 2018 | |||
You use the MIDI Direct Control command to send MIDI messages to the sound driver. For basic sample playback, directly controlling the SCSP is also pretty straightforward (I posted an old basic example earlier in the thread...). |
XL2 | Apr 4, 2018 | ||||||||
Ok, thanks for your help! I got it working using SBL and Midi direct control commands. It seems to lose some sounds once in a while, but it works fine with the data generated using the Tone editor and it can playback way more sounds than using PCM streaming from main RAM. My test function (after loading the sound driver, the map and the tone data in the sound RAM) :
Code:
|
vbt | Apr 15, 2018 | |||||
Great job, XL2!!! any more details (or just source code) ? I may use that way if it allows to override the 8 PCMs limit. |
XL2 | Apr 18, 2018 | |||||||
I'm working on my engine to open source it, so I quickly create a guide but I didn't put much work in it.
Code:
For the commands, by using 1 voice and multiple layers (16 max) it should be like that :
Code:
So to call it you could do something like : ztPlaySound(60+soundID); Your base note is 60, so all subsequent sounds should add 1 to it (so 60 will play sound 0, 61 plays sound 1, 62 plays sound 2, etc.). I hope this makes sense! |
XL2 | May 8, 2018 | |||||
Anyone, by any chances, managed to convert midi files (other than the Sega demos) to sequences? I always get error messages about program change being first or something, so I can't use midi music. |
vbt | May 9, 2018 | |||
are you speaking about that tool ? i don't even manage to display a midi file into the list. There is some limitations but it doesn't explain why i can't my midi files, i tried .mid & .midi extensions. |
XL2 | May 9, 2018 | |||||
Thanks for the info, I forgot about that powerpoint, it's quite useful! I have the same problem as you do, but I downloaded a MIDI editor for Mac and used it to read Midi files and save them with it, which allows me to get the files on the list, but I get errors when I try to convert to the Sega format. Maybe I'll have to find a way to get the programs Sega suggested, but since we don't have all the needed hardware maybe it can't be done. |
vbt | May 10, 2018 | |||
XL2, you're right, i installed a midi player and can add midi files to the converter, then the error happens. I will try multiple midi generators and see if something works. EDIT : after using a converter from TYPE 0 to TYPE 1 |
XL2 | May 10, 2018 | |||||
Yeah, I get the exact same error. Having midi audio would be great to allow streaming other stuff (such as visibility data) and it doesn't have SH2 overhead, unlike PCM streaming. Creating an audio converter would be the best option, but it's not a small task! |
vbt | May 10, 2018 | |||
working midi here : https://ufile.io/phjo9... check the differences between the working file : and the not working one : |
XL2 | May 10, 2018 | |||||
Interesting. Did you just download one that worked or you converted it? Or did you change it yourself? |
vbt | May 10, 2018 | |||
I've just did manually a working midi from the file i took on internet Thanks to the CyberWarriorX tool (recently updated by MistyM), i compared working an not working files. The result is you need to add 1 event before each first "Program Change" of a track, the type must be "Control Change" and the Value "32-Bank Select LSB" Try the two files : first one is Type 0, second one is Type 1 with the bank selection. https://ufile.io/1pvw1... |
XL2 | May 10, 2018 | |||||
Nice! Does it also convert the sound bank (the instruments)? Or does that also need to be done manually ? |
Ponut | Jan 4, 2020 | |||
m68k-elf... Development: Thanks cWx for linker script and help Includes gcc 4.8 elf compiler environment compiles main.c in PROJ folder to a binary file the 68k_test is a jo engine demo which will load the binary to sound RAM and run it it will print the memory written by the program on-screen. I will be going further.... |
DamageX | Feb 23, 2020 | ||||||||
I did this a long time ago. You need to have a sine wave sample that is 3 cycles long. I used a 6KB sample (1024 16-bit points times 3). The address pointer of the SCSP should point to the middle one (because the address shifts forward or backward by up to 1 cycle length during phase modulation). Set the frequency/volume/envelope according to YM2203 settings. Then setup the algorithm by connecting the slots together with the $0E register. Here is one example of some register settings:
Code:
|
vbt | Feb 24, 2020 | |||||
wow i'm impressed maybe for you it's easy, would you mind helping me on such thing ? do you have a working sample ? actually, i moved to streaming pcm which is not so good. |
DamageX | Feb 24, 2020 | |||
I posted assembly source for the demo that used it here: http://www.hyakushiki.net/thedung.zip... But at the time (2013) it didn't work in any emulator, only by transferring it to the Saturn with Saturn USB. Is there an emulator that handles FM sound now? If so then I could try to make a simpler program to demonstrate FM sound. |
< Prev | 1 | 2 | 3 | 4 | Next> |