VOGONS


ESFM reverse-engineered

Topic actions

Reply 21 of 24, by Tiido

User metadata
Rank l33t
Rank
l33t

ESFM is still made to be OPL family compatible part, and OPL family lacks some of the parameters of other families (OPN, OPM in particular) and the range they got. Freq register and TL are smaller for example, while SL and Detune are missing altogether and this alone will make it difficult to get many of the sounds to be correct.
Detune could be done in software since every op has its own freq register on ESFM although I am unsure what the precision limit will be since detune applies to the Phase Generator directly rather than to the freq and then to PG. But in the end it will only be an approximation and exact results are not going to be possible to achieve and many sounds do need the exact pathway to sound right.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 22 of 24, by mkarcher

User metadata
Rank l33t
Rank
l33t
bakemono wrote on 2023-06-08, 13:14:

it's also a bit disappointing that the ESFM still doesn't have the ability to reproduce algorithms 2,3,4 from the 4-op Yamaha chips [...] but it looks like there is still no way to feed two modulators into a single carrier.

If you are refererring to algorithms 2, 3 and 4 of the OPL3 and https://www.fit.vutbr.cz/~arnost/opl/opl3.html#chapter2-2 is correct about the 4-op OPL3 modes, I don't think your statement is true. None of these modes have two modulators affecting one carrier. Instead, the OPL3 modes are:

  • A chain of 4 operators (OP1 modulates OP2. The modulated OP2 modulates OP3. The modulated OP3 modulates OP4. OP4 is the output of the channel).
  • The sum of two chains of two operators each (OP1 modulates OP2. OP3 modulates OP4. The sum of OP2 and OP4 is the output of the channel).
  • The sum of one operator and a chain of three operators
  • The sum of two individual (unmodulated) operators and a chain of two operators

In ESFM, you get a chain of 4 operators, but it can be interrupted, i.e. split into multiple chains, at any point by setting "MOD" in operator register 6 to zero on the operator you want to be the start of a new subchain. You can only apply feedback to the first of the four operators in the ESFM chain, but this also is the same as it is in 4op OPL3 synthesis.

Reply 24 of 24, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2023-06-08, 14:45:

If you are refererring to algorithms 2, 3 and 4 of the OPL3

No, I was referring to the ones on the OPM/OPN chips, and keyboards like the DX-100, etc.
https://routenote.com/blog/wp-content/uploads … algorithims.jpg

GBAJAM 2024 submission on itch: https://90soft90.itch.io/wreckage