Awesome! my Mod has just been added into the official release by Naruto smile
So the last Hoot Voice Ripper Rev08 features FMDrive support, English translated language and optional color scheme (original or AJMOD)
PMD support is also added.
The .FMD (FMDrive format) will also reflect the state of the Channel 3 Mode (Normal, Special or CSM) excepted for YM2151.
>> http://nrtdrv.sakura.ne.jp/arc/hvr/HVR08beta5.ZIP

As FMDrive VST can also import registers data line directly...
I have recently made a mod with FMDrive support for the Naruto's Hoot Voice Ripper which now let you dump the current track FM presets from Japanese computer FM music, X68000, PC88, PC98 etc..

This will output an .FMD file with a DATA LINE you can directly import into FMDrive smile

available at the download page >> http://www.alyjameslab.com/download.html

Hoot Player (translated page): http://translate.google.fr/translate?sl … %23program
Hoot Music Archive: http://snesmusic.org/hoot/v2/

Doing the other way around; FMDrive made track(MIDI) >> X68000 (MDX format) is not easy as one click but is POSSIBLE smile

short version :

long version detailed process:

If you use FMDrive, simply use the "vgm2tfi 2.0" tools which is on the download page at the website alyjameslab.com and drop the chemical plant zone vgm/vgz onto it, it will outputs .tfi presets from the track that you can load into FMDrive smile
Another way to check and dump a particular tone is to use Regen or GenKmod emulator that can also dump .tfi preset of a particular channel.

As a more general dump import features, FMDrive can also import registers data line directly...
I have recently made a mod with FMDrive support for the Hoot Voice Ripper which let you dump the current track FM presets from Japanese computer FM music, X68000, PC88, PC98 etc..

This will output an .FMD file with a DATA LINE you can directly import into FMDrive smile

Also available at the download page >> http://www.alyjameslab.com/download.html

Hoot Player (translated page): http://translate.google.fr/translate?sl … %23program
Hoot Music Archive: http://snesmusic.org/hoot/v2/

SPSG VST SID effect >> MIDI >> VGM  proof of concept...!
Here we go, this is a quick test with the PSG clocked at 1Mhz, only one channel and SID modulation..
http://www.alyjameslab.com/tempdata/midi_export2.vgz
you never got an SN76489 vgm with that smile
the greatest accuracy for exporting a midi file with the SPSG modulation as been made through Reaper at 22050 PPQN.

To keep you all waiting a bit more... smile
YM2612インストゥルメントエディタ - セガジェネシス - メガドライブのROM
(YM2612 Instrument Editor - Sega Genesis -Megadrive ROM)

http://chipmusic.org/forums/topic/13310 … ompatible/

Enjoy!

YM2612インストゥルメントエディタ - セガジェネシス - メガドライブのROM

(YM2612 Instrument Editor - Sega Genesis -Megadrive ROM)
----------------------------------------------------------------------------------------------------------------------------------
Tested on Emulators and Hardware.
Free download at http://www.alyjameslab.com/download.html

If you want to save your created sounds or use them into YM2612 emulators
synths or trackers (FMDrive VST, Deflemask, VGMM), you can use an emulator like
Regen or Gens to dump the channel as a .tfi file which can be loaded into capable VST or Trackers.
SRAM support or Flashcard support could be added in the future to directly dump to SD card from the hardware.

This brand new ROM was created and coded by
Matt "MrD", creator of Gravity Beam: Master Gaiden SMS Homebrew game
http://www.smspower.org/Homebrew/Gravit … Gaiden-SMS
and enhanced by Aly James, creator of FMDrive 2612 Vsti & SPSg Vsti
http://www.alyjameslab.com

YM2612 Instrument editor lets you control the Sega Genesis FM sound chip in real time,
access the main parameters of the Channel 1 and select which note to play.
If you want to save your created sounds or use them into YM2612 emulators
synths or trackers (FMDrive VST, Deflemask, VGMM), you can use an emulator like
Regen or Gens to dump the channel as a .tfi file which can be loaded into capable VST or Trackers.

It is also a useful tool for YM2612 musicians or Genesis developers to quickly test a sound
directly on the hardware in a friendly way.

Usage
----------------------------------------------------------------------------------------------------------------------------------

A and B increase or decrease the values
C does a note on
Start does a note off

e= will enable or disable an operator
CONST = If it's enabled, it reloads the FM registers every frame, so you can trigger the note and then
alter the options in real-time.
If it's disabled, you trigger the note once and the registers stay the same until you trigger the note again.

If you don't know how to program the YM2612 FM synthesizer chip
The freely download-able FMDrive VST manual will helps you to understand this powerful sound chip.
http://www.alyjameslab.com/wa_files/FMD … MANUAL.pdf

bump this shit out smile

Fatal Labyrinth wrote:
el-bee wrote:

Just for the record, everyone who hasn't yet received their GenMDM, please reply to this! Who knows, maybe we can have a separate thread for all the delivery complaints smile

Still waiting over here, though I ordered my GenMDM with an email I don't have access to at the moment so for all I know it may be in the mail right now.

Not that frustrated since Aly James' VSTs have held me over in the meantime, but it's still kind of a bummer to glance at my modded, unused Genesis on the shelf.

If it can keeps you waiting a bit mo' your Genesis will soon awake smile  I will point you all to a FMDrive >> vgm converter >> ROM , very soon!

last but not least... SPOILER...
MID2VGM will now support FMDrive MIDI CC automation, basically all YM2612 registers... but what I have in mind for the future will be the reverse!
VGM2MID with register to FMDrive MIDI CC conversion, this way a track with constantly moving registers like Jesper Kyd "Gotham by Night" could be completely redone in no time...

smile

neologix wrote:
Aly James wrote:

knowing your YM2612 involvement, If you want to help at some point, just PM me wink

No problem, and if/when I get my MacBook Pro up and running again I'll definitely be doing something along the lines of a YM2612 AU myself smile

IIRC I remember to tweak your java web based operators one years ago smile .I'll b glad to share my CSM documentation if needed wink
by the way it can be cool to add tfi >> opm and opm >> tfi to your converter smile in this case your blank windows on the right could display whats in the presets...

Yuzo Koshiro has just remade his Etrian Odyssey Battle Theme 1 on Super PSG VST !
This is how it would have sounded on a Master System PSG smile
https://soundcloud.com/yuzo_koshiro/etr … le_theme_1

neologix wrote:

@Aly James - for porting to Mac you'll basically need a "programmed completely in C++ and/or Obj-C" solution since there's nothing like SynthEdit (though IIRC there might be a Mac version of Outsim SynthMaker, a tool far superior to SynthEdit). Given how much custom code you've made from scratch it might actually be easier to port since the syntax is almost one-to-one. XCode is free and almost any SDK you choose (Apple's Audio Unit SDK, JUCE, VST) will be free.

Definitely, btw: SPSG is 95% custom C++ because i have learned a lot along the way of making FMDrive smile
GUI C++ drawing is my main lack of knowledge, this is why SE comes in handy with the help of some ASM coded curves from Chris Kerry..., plus I like to support the effort of the dev who actually got an apha SE VSt3 ready and Xcode compatible...
Also I will add that everything I have coded so far is 64bit compatible, this is just my current built of SE which is not...yet smile
I will definitely ends in full C++ at some point, this is a logic evolution.
3 years ago I was buying my first breadboard with a couple of transistors, learned all that along the way, still making music,
this is a fantastic journey with great people here and there all over the world.

knowing your YM2612 involvement, If you want to help at some point, just PM me wink

Oh and I forgot to tell you all that JESPER KYD ( http://project2612.org/search.php?query … d=composer )
composer of some of the craziest Megadrive BGM has joined the FMDrive & SPSG users! smile
If you don't know these tracks, check the link above!

Jesper:
"Hi Aly, I have been using both programs and they are great. The SPSG is really cool, especially digging the slot sequencer with the clock and speed."

Yeah I have removed the part where he said that he has got occasionally some 64bit cubase internal bridging issue with SPSG...
Everybody knows that Cubase internal bridge 32/64 pretty sucks ! smile smile
more seriously, hopefully he will find some good use of these vintage tools in his current productions and maybe make a full FM + PSG track like in the good ol' days!

Domu wrote:

can we reverse the fb01 compatible patch dumps? like use fmdrive to export fb-01 compatible patches from the large range of patches ripped from mega drive games?!?! il donate twicew if thats possible / can be added!

YES!
Keep in mind that FB01 is YM2164 chip, closer to YM2151 than Sega's YM2612.
There is some subtle differences and more obvious ones like:
only YM2612 has the SSG envelopes...not even talking of non-FM features like build-in DAC and PCM support.
FB01 also has built in filtering that darken the sound a bit which YM2612 don't do (at least on direct chip output).

However if you disable some of the velocity and level adjusters on the FB01, you can definitely load some FMDrive presets on it!
It is not a direct one click solution, you have to convert .tfi exported presets into .opm first then you can convert that to a FB01 .sys file

To convert a tfi or a bunch of tfi presets into an .opm (simple text file for VOPM) you can use Shiru's vopmxtfi with this command line:
vopmxtfi.exe filename.opm filename.tfi and so on if you have many tfi presets
then,the tool I use is a python script called DXCONVERT/TXCONVERT version 2.1.4 (google it)
this is a great tool that tries with pretty great success to convert between DX100,DX27, DX21, TX81Z, WT11, DX11, FB01, YS100, YS200, TQ5, B200, DS55, V50 and OPM formats.

I will probably get in touch with the developer to add direct .tfi support at some point smile
I have made a test for FMDrive .tfi to FB01 ,trying to remake the famous Sonic the Hedgehog 1 track "Spring Yard Zone"  on the FB01...
The result is pretty good although it lacks PSG part (PCM drums added on top of the FB01 FM)
>> http://www.alyjameslab.com/tutorials/So … 1_test.wav

Once the FMDrive to VGM converter will be out, I think I will make a new add on manual called FMDrive & SPSG "Advanced manual" that will explain in detail everything related to data conversion and formats and this will also cover the famous X68000 MDX format, ADPCM etc... smile smile

Hopefully this will be pretty soon, in between my current research and work on the famous Linn Drum LM-1 recreation...

btw: if you just discovered this thread or haven't checked it for a while, you might take a look at my soundcloud
https://soundcloud.com/alyjameslab
the tracks with (vgm) in the name showcases some of the FMDrive & SPSG to VGM conversion success smile

gopal_metro wrote:

Absolutely beautiful piece of software!  I'm a Mac user, but I think I'm going to pick this up just to support the cause!

Thank you for the amazing work, Aly!

thanks!
maybe a "parallel desktop" solution could work on mac, I have seen a couple of solution to run windows VST in OSX environment...
until I got a mac myself I kind test anything, btw: I am waiting for some people who have working crossover systems to send me test results...

yay! this is awesome smile
haven't tested it yet but does it loads midi files and perform operation based on the content?
for example I would need to take every midi notes in the midi file, analyze each note (0 -127) one by one.
Previously setting the PPQ to something like 960,
The goal is to write a square wave on the volume for every note, the square wave correspond to the note frequency + (some slight detuning)...

For every new note encountered I calculate the frequency in Hz to find the period and deduct the closer PPQ wait time
then for every note, while note on, I will add CC#7 (volume) 127, PPQ/2 wait time corresponding the period, 0 and so on until note off.

For a 440Hz note, this should adds 880 CC informations per second ( 440 times  value =127 and 440 times value =0).
Knowing that MIDI baud rate is 31250 and a MIDI CC is 3 bytes long + start and stop bit for every bytes,
this gives us 26 bits serially sent for every CCs and a max possibility of 1200 CCs per seconds (31250/26)
then to write a square waves on the volume CC a max frequency of 600 Hz (as their is 2 states per period and 2 MIDI CC messages are needed).
I think that baud rate limitation do not apply if you use MIDI internally in a DAW...

At 120 BPM a quarter note is equal to 2Hz, if PPQ is 960 this gives us 960 Hz max resolution for writing a square wave on the volume CC ((2Hz * 960)/2 states of the square wave).
If you slightly vary the CC modulation frequency from the actual note this will give you a kind of pulse width modulation especially if the sound source is a square wave too.
This is a technique I have used to make timer modulation on the Sega PSG square wave and the technique used for a long time on Atari ST (known as "SID" sound) because these chips had no pulse width control built in...
I have implemented this technique in my SPSG VST too.
Your program might do the job to convert any midi file or if it can't, as is, at least I can make a list of midi file per note that I can later import smile

looking forward to your answer.

Here are possible frequencies for BPM 120 and PPQ 1920.
BPM= 120
PPQ = 1920
(Square waves takes 2 PPQ waits per cycle)
---------------------------------------------------------------------
wait value (PPQ) >> frequency of modulation (Hz)
wait 1 PPQ = 960
wait 2 PPQ = 480
wait 3 PPQ = 320
wait 4 PPQ = 240
wait 5 PPQ = 192
wait 6 PPQ = 160
wait 7 PPQ = 137
wait 8 PPQ = 120
wait 9 PPQ = 107
wait 10 PPQ = 96
wait 11 PPQ = 87.3
wait 12 PPQ = 80
wait 13 PPQ = 73.8
wait 14 PPQ = 68.6
wait 15 PPQ = 64
wait 16 PPQ = 60
wait 17 PPQ = 56.5
wait 18 PPQ = 53.3
wait 19 PPQ = 50.5
wait 20 PPQ = 48
wait 21 PPQ = 45.7
wait 22 PPQ = 43.6
wait 23 PPQ = 41.7
wait 24 PPQ = 40
wait 25 PPQ = 38.4
wait 26 PPQ = 36.9
wait 27 PPQ = 35.6
wait 28 PPQ = 34.3
wait 29 PPQ = 33.1
wait 30 PPQ = 32
wait 31 PPQ = 31
wait 32 PPQ = 30
and so on...