metropeak wrote:

This is very cool, so does GENMDM already support this sort of HBlank trick to reproduce this effect?

AFAIK, no.
but I think it could be implemented directly in the firmware smile
You can still make this kind of PWM with two PSG channel slightly detuned.

TylerBarnes wrote:

What cart was used for the megadrive?

Not sure what you mean...but if you want to know what is running on the MD, it is a custom made rom I made for testing the timer feature, loaded in an everdrive card smile

defiantsystems wrote:

Whoa. Awesome.

Are you selling this separately from FMdrive?

It is a totally different/separate Vsti totally dedicated to the PSG smile so yeah, should be out before the end of September!

Basically the main features of SPSG are:
SN76489 Sega Master System/ Genesis Version Emulation

-NO aliasing on the tone channels at high frequencies!
-Master clock setting : NTSC, PAL, 1Mhz, 4Mhz or anything in between (can be modulated in realtime)
-1 to 64 Steps envelope from Amplitude and Pitch, with delay, clock speed, loop, ping pong etc...
-2 modes arpegiattor (programmable or MIDI controlled)
-8 memory slots per envelope, arp and advanced waveforms than can be internaly sequenced at any available clock speed
-Z80 Timer Pulse Width emulation (SID) Sound or custom waveforms
-Optional AY3-8910 Envelope Buzzers (not available on the real chip but nice to have smile )
-PWM sample import/play
-Each envelope clock master speed can be syncronized or independent
-Noise channel LFSR extended feature: tweakable in realtime (tapped bit masks and feedback bit)
etc...
A PSG envelope logging feature might be added allowing to save the envelope instrument data to later import it in some MD music engine like echo for example...
Works with GenMDM however very high speed are not supported and the current Volume data in GenMDM PSG is tied to velocity only witch is not desirable in this case(might be better with Scale's SMS interface as there is a separate CC for volume..)
EDIT: GenMDM accept CC11 as Volume Control! tested and works super fine smile
However I will try to make something out of his open source SN76489 interface at some point in the future to support Timer stuff smile

That is for the main features, I will make a proper thread when it is out anyway.
Snippet, here of the Timer PWM feature

Simple proof of concept that we can add the "SID" sound feature to a simple SN76489 PSG tone channel...
I have tested the Z80 Hblank interrupt and use it as a Timer to write Volume data to the PSG register at audio rate...
As far as the pitch resolution goes (HBlank is nearly 64µs) we can synchronize the Tone period in near 1 useful octave range for NTSC or PAL and 2 octave for a discrete down clocked SN76489.
Or we can also use the Timer waveform alone to play below the 10bit frequency limitation of the PSG (109Hz for NTSC, 108 for PAL)
As for any clocked frequency method the pitch resolution increase as you increase the wave period. good for bass!

Anyway, this feature will be available on my upcoming Super PSG Vsti smile

Here is a test on emulator then on the Sega Megadrive PSG:
Only 1 channel is used.

101

(13 replies, posted in Sega)

genesisega wrote:

Thanks.

Is the thing plugged in the Genesis the same as the one Little Scale uses? Are those for sale from him yet? Or can I buy them elsewhere?

Yep, unfortunately Little Scale does not made them too often, the hardware part is based on an easily available PIC (Teensy) and maybe at some point Scale will decide to make them more often or make the firmware open source like his other projects so anybody could make is own...
You can still use FMDrive alone anyway and still got the sound + features from the YM2612 not already supported by GenMDM smile

TylerBarnes wrote:

To Aly James and Dalek:

Still no love for the PPC mac?

Not sure for PPC but MAC intel will be supported at some point next year for FMDrive smile

102

(13 replies, posted in Sega)

Yes VOPM is a totally different chip with more built in LFO and a better DAC system (not include in the chip) missing certain features of YM2612
As I always said when ask:
If you want a tracker >> Deflemask
If you want a VST >> FMDrive
If you do not know about FMDrive there is a thread in the SEGA forum.
Legendary Genesis composer of Bare Knucle (Street of Rage) Yuzo Koshiro himself uses it when needed a Vst and He damn knows well how a YM2612 should sound smile
The advantage are:
-Easy programming tricks, more than 100 parameters MIDI automatable + built in additional software LFOs (witch you have to program on the real system)
- A global rate multiplier/divider for the envelope registers
-Accurate emulation of the typical "Ladder effect" (distortion of the DAC on the Model 1 Genesis)
-CSM mode (early speech synthesis system built in the YM2612)
-Easy programming of CH3 special mode (different frequencies per operator)
-DAC tricks like waveform programming in real time.
-Import and Export .tfi
-etc

if you want to go further you can optionally switch to HD mode witch make the all FM processing High resolution and up to 96Khz pushing the aliasing limit higher then YM2612...

The FMDrive also work with the GenMDM system witch let you control the Genesis in realtime via MIDI.
The PSG is not supported by FMDrive because and entirely Vsti will be used only for it, included HBlank Timer tricks...
Here is what you can do with a Genesis...

Might not be 100% LFSR only related but I will release my SN76489 (sega master system version) Vsti extended emulation in September...
The Super Portable Sound Generator aka Supa PSG.
One of the feature is the ability to tweak the noise channel smile
More technically you will be able to change the 16bit LFSR configuration in real time.
Changing the tapped bits and the feedback bit input can make the noise more or less tonal like switching between SN79489, Atari2600 etc..Noise types
smile
that type of sound you give in your example is totally achievable.
Worth mentioning that the master clock of the system is not particularly tied to PAL or NTSC and can be set(also in realtime) from 1 to 4Mhz.

104

(29 replies, posted in Sega)

akira^8GB wrote:

Just noticed you posted the ROM. Thanks! I'll give it a play this weekend and hopefully sample some fear-inducing sounds big_smile

Yep ^_^ let me hear those samples when done

defiantsystems wrote:

I wanted to share what I've been doing with this VST.

This is my ambient/drone/noise project I'm working on. Fade to White has a comb filter on one channel but everything else was made with FMDrive alone.

https://soundcloud.com/awokenfromstasis

This is a cyberpunk jawn I've almost completed. A few delay effects and drum samples but the rest is all FMDrive.

https://soundcloud.com/defiantsystems/junker

Anyone else been using this VST heavily?

Junker is a Great cyberpunk track! smile  I hope to do some Nice Stuff too as soon I will finish the Super PSG vsti in september! smile  FMDrive + Crazy PSG stuff...

dubroutine wrote:

OK the two main issues i'm having are that sometimes notes kind of "misfire" randomly, i think mainly on channel 3. this could just be my system (MD1) of course, haven't tested it with others yet, but i was wondering if it was something to do with it being a special channel. the clip below will demonstrate, with buggy kick drum.

Did you use the special mode on CH3?
because there is a small mistake in the firmware(v102 tested), in special mode TL is only controlled by velocity (witch should be changed optionally IMO because velocity is only sent with a note on event preventing some smooth effect, this is the same problem with the PSG volume by the way)
CH11 velocity controls = M2( bug here >> TL M1 affects M2 volume control)
CH12 velocity controls = M1
CH13 velocity controls = C1

maybe this could also affect normal mode in certain case...
However I assume it will be corrected in v103 certainly smile

smile Guitars are sooooo great on YM2612!  I also specially like the work of IIRC " Jesper KYD "

cyberic wrote:

So how do you proceed?
Once you've got your track ready, you just change the midi output to go to the genMDM instead of FMDrive?
It it working as is?

thesimplicity wrote:

So for the past two weeks straight I've been doing nothing but play with this plugin. It's amazing! There's so much going on. It's also sort of a lifesaver, because I can use use it as a placeholder for my GenMDM when I'm working on a track and only bust out the hardware when I'm ready to record.

Yes with FMDrive 1.2 you can control GENMDM but you have to assign manually the MIDI CC to the corresponding parameter on the GUI first, following the GenMDM MIDI mapping and some current limitation (witch can still be accessed externally).
>>   http://www.alyjameslab.com/tutorials/GE … MDrive.pdf

FMDrive will send all assigned MIDI CC's on init, patch loading or patch change to the selected
MIDI OUT channel. However FMDrive do not transfers MIDI NOTES.
So the connection in your DAW should be:

For example: control over YM2612 Channel 1

1 MIDI TRACK  >> (NOTES DATA) SEND to CH1 >> GENMDM
1 VST TRACK (With FMDrive) CC AUTOMATION SEND to CH1 >> GENMDM
and so on...

Please note that this version of FMDrive is mainly optimized as a Vsti and not as a dedicated controller, that is why, when GENMDM v103 will be out (with anything corrected and maybe CSM support) I will release a special "controller only" version of FMDrive with already assigned MIDI CC and no audio engine.

smile

Best

Nice landscape! smile

DUNGEONMASTER wrote:

Hey everyone !

After finally spending some serious time with this,
I was wondering how you all are creating envelopes
On the psg channels.

Im using ableton, but it feels like im spending too much
Time building racks.

Any good ideas?


IIRC It seems that PSG volume is only tied to velocity in the current GENMDM firmware, that means that you will be able to create a sort of envelope by setting rapid note on/off at different velocity (has velocity is tied to note on/off MIDI event) however it is not the same as proper PSG volume change.
Seb's SN76489 interface code feature a dedicated MIDI CC for amplitude and I think that it should be added to GENMDM too smile

(I am actually working on the Super PSG vsti and I am pretty on the point by now smile I will add some features that you only find on the Atari ST scene...like interrupt generated waveforms and effects, a real time tweak-able noise channel, [1 - 127] steps volume and pitch envelopes, arp, pcm read, master clock setting etc...it will be released in August if everything goes well)

111

(53 replies, posted in Sega)

Worth mentioning that as we lower the master clock , we gain access to lower notes but we also reduce the pitch resolution on higher octaves smile

Hi Seb,
As I was checking SPECIAL MODE control with FMDrive as a controller, I have found these following errors:

First it seems that you use the incorrect operators order as found in the sega doc (this error is present in the sega doc but has been corrected since then) and that could be the main reason of the special mode problem. This do not impact the current implementation except maybe the special mode...

Operator 2 and 3 must be swapped

GenMDM docs says:
* The 8 FM algorithms are as follows:
* Algorithm 00: OP1 (m) --> OP2(m)  --> OP3 (m) --> OP4 (c)
* Algorithm 01: OP1 (m) && OP2 (m) --> OP3 (m) --> OP4 (c)
* Algorithm 02: (OP1 (m) && (OP2 (m) --> OP3 (m))) --> OP4 (c)
* Algorithm 03: ((OP1 (m) --> OP2 (m)) && OP3 (m)) --> OP4 (c)
* Algorithm 04: OP1 (m) --> OP2 (c) && OP3 (m) --> OP4 (c)
* Algorithm 05: OP1 (m) --> (OP2 (c) && OP3 (c) && OP4 (c))
* Algorithm 06: OP1 (m) --> OP2 (c) && OP3 (c) && OP4 (c)
* Algorithm 07: OP1 (c) && OP2 (c) && OP3 (c) && OP4 (c)

This should be
* The 8 FM algorithms are as follows:
* Algorithm 00: OP1 (m) --> OP3(m)  --> OP2 (m) --> OP4 (c)
* Algorithm 01: OP1 (m) && OP3 (m) --> OP2 (m) --> OP4 (c)
* Algorithm 02: ((OP3 (m) --> OP2 (m)) && OP1 (m)) --> OP4 (c)
* Algorithm 03: ((OP1 (m) --> OP3 (m)) && OP2 (m)) --> OP4 (c)
* Algorithm 04: OP1 (m) --> OP3 (c) && OP2 (m) --> OP4 (c)
* Algorithm 05: OP1 (m) --> (OP2 (c) && OP3 (c) && OP4 (c))
* Algorithm 06: OP1 (m) --> OP2 (c) && OP3 (c) && OP4 (c)
* Algorithm 07: OP1 (c) && OP2 (c) && OP3 (c) && OP4 (c)

So when in special mode, GenMDM do the following:
CH13 controls OP3 //works fine
CH12 controls OP1 // works fine
CH11 controls OP2 // velocity do not map to the volume except if TL volume of OP1 is set.

Also one last thing on all channels (11,12,13) the velocity mapping do not cover the entire range of TL (velocity 127 is not equal to TL 0 but more like TL 15 or so).

Should be easy to correct
Keep me posted if you got a firmware update with the secondary decay correction too smile

Best