VOGONS


First post, by Ancient Exile

User metadata
Rank Newbie
Rank
Newbie

Hello, I'm very interested in the old Yamaha soundchips for a personal project of mine.
I'm somewhat familiar with the inner workings of the OPL chips, as there is tons of documentation on them, ranging from reference manuals to reverse engineered ICs (though of course, hard to understand because of the complexity). According to my knowledge, these chips would output their data as serial data, which then needs to be processed by another chip, that would also convert the signal from digital to analog (DAC). However, it's very hard to find any information on the typically used DAC chips aside from reference manuals. I'm talking about the YAC-51X chips, such as the YAC-516, which is used for the OPL-4 soundchips for example. Were these chips used in soundblaster cards (or derivatives) as well or did these cards implement a custom solution for the task of converting the digital audio to analog audio? And how did the mixing work in those chips? Were they just adding the signals together and then hard clip the resulting audio or was there some kind of compression or soft clipping involved? Was there any other post-processing? I know that some DACs oversample and then apply a filter for frequencies above 20 kHz to avoid aliasing.
Another curiousity is the PCM capability of the OPL-4 soundchip. It was possible to connect an external ROM or RAM to it, to directly play samples from it. However, I found little information on the access times of said external memory (of the chip itself I mean, not the interface on the chip which is accessed via CPU).
Does anybody here know more about this or can point me to a place where there is more information about it?

Reply 1 of 2, by SuperDeadite

User metadata
Rank Member
Rank
Member

If you want to learn more about OPL4, you should check out MSX forums and communities. By far the most active group of OPL4 users you will find.

CM-64, CM-500, SC-55MkII, SC-88 Pro, SY22, TG100, MU2000EX, PLG100-SG, PLG150-DR, PLG150-AN, SG01k, NS5R, GZ-50M, SN-U110-07, SN-U110-10, Pocket Studio 5, DreamBlaster S2, X2, McFly, E-Wave, QWave, CrystalBlaster C2, Yucatan FX, BeepBlaster, SuperOctet!

Reply 2 of 2, by Tiido

User metadata
Rank l33t
Rank
l33t

OPL4 output is standard RJ16 format that you can use with almost any modern audio DAC. The mix is 16bit linear PCM at 44100Hz with 33.8688MHz master clock (44100 x 768). Each channel is simply summed and clipped to +32767/-32768, that includes OPL3 output too. There's also additional mix register to control relative levels of the two sound sources which outputs to a dedicated pin. There are 3x sound outputs total, one for FM, one for PCM and one for both.

To access memory, you got to stop sound pipeline to have access to the memory via bit0 in register $02. Then you can write address (which auto-increments) into $03+$04+$05 and then data to register $06. The manual says it takes 28 MCLK cycles (~0.827µs) for reads and 38 (~1.122µs) for writes. So basically just around 1MB/sec is at most you can hope for as far as memory updates go.

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 😜