Some extended Sega Genesis BGM covers with FMDrive.... classic FM smile

dubroutine wrote:

Aly, would that bug impact how .tfi instruments sound when imported? or does it map correctly... I haven't been getting great results for the most part with the tfi imports

The problems you might have with .tfi is not with the algorithm and operator's connection as this is just a typo error in the GenMDM doc but mainly from the Second decay rate (D2R) mapping error in GenMDM 102 I related a while ago. This parameters greatly influence the final sound.
You also need to take in account that velocity is assigned to TL levels in GenMDM and this also affect the final sound a lot in FM.

That is why you might often end up with a different patch than the one you should when D2R is involved.

Until a small fix is available (maybe this as been addressed since, but not publicly here by Seb) a workaround is to set Sustain level to max attenuation (this disables the second decay rate).
By default GenMDM seems to have Second decay rate set high with a long decay and only OP1 (M1 the one with feedback) accept control over it in a limited way (only goes from max to middle rate instead of min).

Hope that helps,
between this does not impact to much what you can do sound-wise smile

reminder for the EG :

Wireless hand control test!...using leapmotion controller >>FMdrive VSTi and GenMDM

Here is a small tutorial on how you can quickly create a simple drum loop pattern on only one mono FM channel within FMDrive vst...you can even be way more complicated by sending program changes and around 100 registers that can be automated! Here we use Cubase 5 as a DAW.
All the data can be transfered in real time to the Sega Genesis hardware via GenMDM Midi Interface or will be trans-coded into a VGM File (soon).
FMDrive vst is available at  http://www.alyjameslab.com smile

85

(3 replies, posted in Sega)

http://chipmusic.org/forums/topic/2112/ … cspymf292/

There is this thing: Techno Motor Music Maker... http://segasaturngroup.proboards.com/thread/5097
but It is way too limited IMO

Hardware side there is this http://www.ebay.fr/itm/SEGA-SATURN-YAMA … 53fea00b3d
comes with MIDI 2 SATURN cable, but this should only work with the driver provided in the software, again limited.

I have made a vsti limited prototype of the SCSP FM concept with external audio entry to accept external audio as modulation source...this could be public at some point.
Worth mentioning that FM modulation from complex harmonic content as to be very subtle, or serve as a transient part of the final sound.
There is far more registers as you got 32 operators...and there is also the DSP side with a lots of FX.

I don't know it is worth the work as there is this technology in yamaha's SY-77 for example...

dubroutine wrote:

for some reason in mine the channel modulation order seems to be 1->3->2->4 in the channel strip, has this been noted by anyone else before?

Yes I reported this here a few pages back smile >> http://chipmusic.org/forums/post/171808/#p171808
for example you shown algorithm 0 in your example :  1->3->2->4  where only OP 4 is the carrier.

It is a typical typo error in some documentations, OP 3 & 2 are often swapped.

native mac could be possible over next year... smile

Just to let you know that FMDrive vst got updated to 1.23!
-added extra features and corrections.
-accuracy improved again.
-GenMDM midi mapping already done on startup for those who have one.

Free for all registered user  smile head over to alyjameslab.com and drop me a mail
I have posted an update log at the beginning of the thread so you can check your version against
(GenMDM owners>> let me know, so I can send the pre mapped version)

UPDATE


what I usually do is making the song with FMDrive (and lately Super PSG beta).If I want the hardware output, I then hook up GenMDM and route the MIDI content to it and voila!

for now on it is damn close Smile

DIRECT AUDIO COMPARISON

So far I have always been using FMDrive to control the hardware so I have no clue for M4L tools...
102 Firmware needs the correction I previously reported here but for the rest it works fine smile
waiting for working VGM logger and user PCM sample memory tools!

I have just updated FMDrive to 1.23 and improved again my audio engine, what I usually do is making the song with FMDrive (and lately Super PSG beta), clean up the live recorded poly notes to be sure everything sent to a channel is mono, set velocity to max, record automation etc...If I want the hardware output, I then hook up GenMDM and route the MIDI content to it smile

Here is a direct audio comparison...

REMINDER of my last little GenMDM bug/questions report smile

-PSG side: channels 1,2,3,4

Not mentioned in the CC list but:
CC#11 (expression)
can control the PSG volume too, witch is great but it only affect PSG channel 1 and 2.
PSG channel 3 CC#11 seems to affect volume on PSG channel 1
CC#85 do not work on either.
CC#42 on channel 1 : seems to change the TET tunning on channel 1 but also affect channel 02
CC#42 on channel 2 : seems to change the TET but only affect channel 03
CC#42 on channel 3 : seems to change the TET but only affect channel 01

-YM2612 side:
See previous posts.

VGM Logger:
CC#114 set above 65
GenMDM do not output any CC Message.

Anybody who can send informations on this is welcomed
Seb, PM me about this when you got some time, I would really loved the logging feature smile

Sounds nice, keep this project coming!
"Defunct Bytzz" introducing "Zee-8 Board" smile

Of course I will add that you can also write to the volume register at CPU speed without using Hblank timing.
Writing this sequence of data for a 16 data point sinewave,
.db 04,02,01,00,00,01,02,04,11,13,14,15,15,14,13,11
gave me something like 1978Hz without any wait...
this gives us roughly a 31,648 KHz sample rate, it should be the same thing for PWM or PCM sample reading...assuming there isn't any other code going round then the audio stuff.
So it is twice as fast as Hblank with near 32µs against 64µs
the simplest square wave could be .db 00,15 as high as 15824Hz
anyway at high rate things get screwed up easily smile

LazloPsylus wrote:

Just making sure. As a guy working on a sound driver (or three) and enjoys doing research on the MD and co., I've been more than a little surprised at how few people are even remotely familiar with the YM2612's timers, so I'm glad you're familiar with them and at least made an informed design decision.

I'll probably chime in again if I find something useful to contribute. Otherwise, good luck on your project.

Thanks smile I had to dig into YM2612 Timers for The FMDrive Vsti witch features CSM mode "speech synthesis control" ^_^
PM me  what you are working on unless it is top secret smile

If it can help...I have never read a story about somebody being screwed up by Seb, I know it will not make your device delivered faster and the delivery/making/answering is reaaaaaly long smile but I am sure it will come at some point and Seb will provide a solution for the undelivered ones.
smile

nitro2k01 wrote:

I'm working on... something like this... for the Gameboy and I'm wondering if there aren't more flexible timers than HBlank on the MD Z80? Also, does the HBlank interrupt keep triggering during the VBlank period?

VBlank happens 50 times per second (for PAL)
HBlank happens 15625 times per second
So it should keep triggering

I have read that the Master System often use the Interrupt mode 1, meaning that when an interrupt occurs the Z80's PC register is set to $0038.
As you get only one entry, you have to choose whether you want VBlank or Hblank...

LazloPsylus wrote:

So good to see that there are more people taking some serious interest in the capabilities of the MD in terms of sound. Been a bit lonely in the MD scene to see everyone using the same drivers and never try new stuff with the hardware, and I applaud your efforts.

I am curious, though: Why did you choose to use the HBlank for timing? Could instead use one of the YM2612's internal timers to provide a much more flexible berth for timing than the HBlank's rigid timing.

First reason is because I tried to emulate the Master System features smile
However AFAIK, YM2612 Timers do not cause interrupts and we must check the counting elsewhere.
Timer A is the only one fast enough, it is 10bits and goes as fast as 18µs at 1111111111 but only goes down to 54Hz at 0000000000
slightly better then Hblank 64µs.
Timer A can also be in use by the CSM mode witch screw up the ability to have both.

Keep in mind that my aim here was to check what could be done on the real thing before integrating the feature in my Super PSG Vsti.
I am in no way an expert on the Z80 side and if someone got a better way to increase the artificial waveform pitch resolution, let me know smile