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
You can still make this kind of PWM with two PSG channel slightly detuned.
chipmusic.org is an online community in respect and relation to chip music, art and its parallels.
You are not logged in. Please login or register.
ChipMusic.org / Forums / Posts by Aly James
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
You can still make this kind of PWM with two PSG channel slightly detuned.
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
Whoa. Awesome.
Are you selling this separately from FMdrive?
It is a totally different/separate Vsti totally dedicated to the PSG 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 )
-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
However I will try to make something out of his open source SN76489 interface at some point in the future to support Timer stuff
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
Here is a test on emulator then on the Sega Megadrive PSG:
Only 1 channel is used.
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
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
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
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
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
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.
Just noticed you posted the ROM. Thanks! I'll give it a play this weekend and hopefully sample some fear-inducing sounds
Yep ^_^ let me hear those samples when done
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! I hope to do some Nice Stuff too as soon I will finish the Super PSG vsti in september! FMDrive + Crazy PSG stuff...
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
Guitars are sooooo great on YM2612! I also specially like the work of IIRC " Jesper KYD "
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...
Best
Nice landscape!
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
(I am actually working on the Super PSG vsti and I am pretty on the point by now 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)
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
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
Best
ChipMusic.org / Forums / Posts by Aly James