VOGONS


Reply 25 of 33, by deeped

User metadata
Rank Newbie
Rank
Newbie

yes.... then I just dont get it yet 😖 lets see what I see: ymf262 changes the chip's states and YM3812UpdateOne puts the whole thing into a buffer (what is allways being played) but someone must call that update function (as it is happens inside OPL_CallBack). As I see:

opl.chan=MixerChan.Install(OPL_CallBack,rate,"FM");

this installs that callback function but, to make it simple: as I browsed the code, it turned out for me, it only gives an object. Hm, who calls that CallBack function and when (how frequency, how often)?

I ashame of all "stupid" thing I might said, I know youre programers mainly and not here to deal with stupid users's stupid problems, and thanx your patient in advance

Reply 26 of 33, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

but someone must call that update function

Think you can call that function at millisecond (==tick) resolution.
The length parameter of that function is the number of samples
you want to read, set that to freq/1000 or so (freq==samples/second).

Reply 30 of 33, by deeped

User metadata
Rank Newbie
Rank
Newbie

sadly Im delphi/pascal expert and yes I know about the compiler's differences. I just heard that its a legendary, well used C++ compiler so I tried to compile this and debug the DOSbox. 😁

One more question: the last editing in fmopl.c was in 14-06-2003 but... DOSbox's sound emulation was improved. (the differences are hearable by versions to versions). Then I dont get it. And as I see DOSBOX doesnt use this unit... Im wrong? Anyone clear me up =)

Reply 31 of 33, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

the opl part hasn't been changed since that date.
Offcourse the soundblaster stuff regarding dma transfers and the internal mixer of dosbox has had several changes since then

Water flows down the stream
How to ask questions the smart way!