FMDrive VST / YM2612 + Extended Vsti (Some News!)

For anything related to sound (YM2612, PSG, Z80, PCM...)

Moderator: BigEvilCorporation

Aly James
Very interested
Posts: 74
Joined: Sun Mar 31, 2013 11:34 pm
Location: FRANCE
Contact:

Post by Aly James » Wed Mar 19, 2014 5:41 am

I forgot to drop some news in here...

So here we go!

SOUNDCLOUD CHANNEL:
https://soundcloud.com/alyjameslab/sets/fmdrive-vsti

FMDrive VST (YM2612) and SPSG (SN76489) VST ...VGM conversion with registers automation support! available very soon :) I am currently debugging the tool with Valley Bell and so far it works fine.
VGM can then be turned into ROM files to play on the console via available VGM players.
Here is some previews :
>> (.VGM links in tracks description)
https://soundcloud.com/alyjameslab/wand ... drive-spsg
https://soundcloud.com/alyjameslab/big- ... sg-vst-now

X68000, PC88, PC98 etc FM voices Dump --FMDrive VST support added--
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..
Naruto has just included my mod into the official HVR release btw.
Image

This will output an .FMD file with a DATA LINE that you can directly copy/paste into FMDrive
Image

available at the download page >> http://www.alyjameslab.com/download.html
Hoot Player (translated page): Hoot Player
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 :)

short version : http://www.youtube.com/watch?v=0hMk6F-Z ... r_embedded
long version detailed process: http://www.youtube.com/watch?feature=pl ... MhtBxuwlxE

SPSG VST (SN76489 PSG-- SID voice effect) >> MIDI >> VGM proof of concept...!
The SID effect is a way of modulating the pulse width of the PSG square wave, which is impossible as the chip do not provide this function.
The trick is to write on the volume "another square wave" at a slightly detuned frequency and of course, at audio rate.
The SID name comes from the similar C64 type of sound this produce, this is a common trick on Atari ST but has never been use AFAIK on the Master System or Genesis.

This has been tested on the Genesis PSG and also on a discrete PSG chip.
It was kind of hard to log the modulation because the MIDI PPQN needed to be very high, not the standard 480...
So far, the greatest accuracy for exporting a midi file with the SPSG modulation as been made through Reaper at 22050 PPQN.
This is a quick test with the PSG clocked here at 1Mhz, only one channel and SID modulation..
http://www.alyjameslab.com/tempdata/midi_export2.vgz
you never got an SN76489 vgm with that effect :)

foobat
Very interested
Posts: 92
Joined: Fri Sep 14, 2012 1:06 pm

Post by foobat » Mon Mar 31, 2014 11:14 am

How are you running the hardware SN76489 through SuperPSG? Is it just the little-scale sn76489 + teensy code you use or do you have custom firmware?

Aly James
Very interested
Posts: 74
Joined: Sun Mar 31, 2013 11:34 pm
Location: FRANCE
Contact:

Post by Aly James » Mon Mar 31, 2014 1:20 pm

The hardware is running on a modified Littlescale Open Source Teensy code for the SN76489. (which is not the GenMDM nor the SMS device one)
I have modified how the voices are handled to avoid the cutting of the notes when you press a new key without releasing the previous and some other tweaks here and there.
I have not touched it since the SPSG dev state as the VST is more handy , sounds identical and got the correct Sega Noise bit configuration which the stock SN76489 hadn't.
The hardware is clocked @ 2Mhz in my build.
The problem is for the Timer modulation trick and emulated AY envelope, the baud rate is really too slow to handle MIDI messages from SPSG VST to the hardware so I had to implement this directly in the teensy code :)

The timer trick is still in a debug test, working, but needs to be rewritten correctly using the teensy interrupt mode (for now I use a for loop and the delay() function to calculate and generate the square wave written on the volume register which also freeze any parallel processing resulting in a lag on the hardware side when the timer modulation "SID sound" is on...
http://youtu.be/pm8b83xhCoE

I find it easier to log the SPSG MIDI output and convert the VGM >> Hardware for real playback.
Anyway it is working for any other features and will receive pitch and volume modulation :)
If you want the hardware code just tell me, it is definitely open to enhancement !

foobat
Very interested
Posts: 92
Joined: Fri Sep 14, 2012 1:06 pm

Post by foobat » Tue Apr 01, 2014 6:49 am

Yeah, I'm interested! I've been fiddling with a Teensy-operated ym2612 for a couple years off and on and I've been meaning to get a PSG working to go with it. Controlling it via SPSG would be a massive timesaver.

I might be able to come up with a good way to do the SID sound without lag via hardware. I have some ideas I'm kicking around. I ran into a similar problem with the ym2612 and PCM audio samples, where the vast number of samples overwhelms the Teensy's ability to play audio and also receive control messages via USB simultaneously. The easy way might be to just migrate to the Teensy 3.0 (which has a whopping 96mhz top speed), the hard way might be a PIC coprocessor dedicated to PCM playback and some shared SRAM.

Either way, the solution for the YM2612 would be a solution for the PSG too.

Aly James
Very interested
Posts: 74
Joined: Sun Mar 31, 2013 11:34 pm
Location: FRANCE
Contact:

Post by Aly James » Mon Apr 07, 2014 10:55 pm

For sure :) I have replied on your Hardware thread check it out. :arrow:

Aly James
Very interested
Posts: 74
Joined: Sun Mar 31, 2013 11:34 pm
Location: FRANCE
Contact:

Post by Aly James » Fri Apr 18, 2014 7:48 am

Quick info!
while I am busy finishing my VLinn Drum VST with some Roger Linn (himself :) ) informations I can spoil that we are working on FMDrive + Open Hardware compatibility, the interface has been designed by Ralnix (Foobat)
viewtopic.php?t=1470

We will try to implement all the features of the YM2612 supported by FMDrive VST (including, Special Mode and CSM) and improve the hardware on the go :D

Post Reply