VOGONS


First post, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Hello
I have just read through the forum a bit and looked on CANADACOW's page and I am not clear about one thing (or I missed it somewhere 😀 ):
Since now standalone driver is being made, does it mean that DOSBOX integration was dropped completely? (there is "DosBox Binary (discontinued)" on the page).
Of course driver is more usefull now, but I think that potentially the DOSBOX integration could be very usefull as well (because as a part of DOSBOX it would be independent on any new operating system and usable on all platforms supported by DOSBOX). Without needing to install anything else. As a driver it does not have that much independency.

In short: I think it would be good to have both versions (perhaps the driver version as the the base one, but to have the functionality integrated in DOSBOX as well).

Mirek

Reply 1 of 10, by canadacow

User metadata
Rank Member
Rank
Member

Point well made, but one of my primary reasons for taking the code out of DosBox is because DosBox doesn't play fair. With the sound emulation code in a driver, the delagation of resources is left to the domain of the operating system. The MT-32 emulator is very CPU intensive and needs constant attention to prevent sound skips. The other reason is that I anticipate convincing all the DosBox developers into including my source code prove to be a challange, as my driver requires several external files (and one copyrighted one) in order to operate. This complicates the DosBox install beyond simply the inclusion and maintenance of code. With the emulation in a driver, users are free to use the emulator with whatever game/emulator they like.

Understandably, keeping the driver up to date with OS driver requirements will prove to be a large task, but it outweighs the amount of work required to update specific emulation projects. Of course, if the DosBox developers are genuinuely interested in including my emulation code, the source is always available and interfacing with the code is relatively easy, only I'm not going to take the time to code it in for them since its already available in a driver format.

Last edited by canadacow on 2003-09-10, 06:08. Edited 1 time in total.

Reply 2 of 10, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Copyrighted files: I think these could be be downloadable separately (and if user would not download them, MT-32 emulation just would not be available). There is absolutely no need for them to be a part of the DOSBOX package.

Something similar to the way Exult (Ultima 7 engine) handles sampled sounds: when you want them, you must download file with sampled sounds (otherwise you can run it without it).

As for integration: I will put a link to this message on the DOSBOX betaboard, so hopefully either Harekiet or QBIX answer.

Mirek

Last edited by mirekluza on 2003-09-10, 06:05. Edited 1 time in total.

Reply 3 of 10, by psz

User metadata
Rank Newbie
Rank
Newbie

Difference being that Exult is including pre-recorded sound samples and music. Not patches that are designed to be used with a specific driver or program in a specific way.

It's closer to downloading a game, and getting the music files seperately, vs downloading a game, and getting the DRIVER seperately. One is much easier to impliment (DLing music) than the other (DLing and configuring the driver)

Time is a plaything,
But if it breaks,
You're f*****.

Reply 4 of 10, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

PSZ: You misunderstood me a bit. As far as I know MT-32 emulation needs some copyrighted *data* file. In other words, the CANADACOW'S code has no copyright problem. What I meant was that the code would look for the copyrighted file during startup (very simple check) and if it would found nothing, it would not just provide the functionality (so it is like in Exult 😀 ).

It is similar like with with emulators (WinUAE etc.). Authors provide just working programm, saying users that they should get ROMs separately.
Anyway, I do not know how much copyright holders do care in this case, so the above mentioned can be unnecessary.

Mirek

Reply 5 of 10, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

I see Dosboxes authors line of thought though. The problem is not that the file is copyrighted, it is that it is not legal to distribute it. As long as that issue is not resolved I can understand the authors.
Especially if they want to try and keep the emulator as clean as possible (legal issues wise).

OTOH it's kind of sad to see development on the dosox integration halted.
A windows driver is nice but the full-range open-source cross-platform usability is much better.

But that is all cc's decision anyway.

Side note: the legality of the sfx files for Exult is a very different thing. The digital music files are very dubios and could bring us a lot of trouble. The sfx files though are different. Long explanation by J.M. who recorded the sb-sfx:

Firstly, as you may or may not be aware, the sound effects in U7 and SI are synthesized. There are no samples for each little e […]
Show full quote

Firstly, as you may or may not be aware, the sound effects in U7 and SI are
synthesized. There are no samples for each little effect, they are created
on-the-fly by the audio hardware, with a process something like this:

Oscillator 1
Cross-modulation -> DCF -> DCA -> output
Oscillator 2

So, to make those sounds we have to program all the components of the
synthesizer and make it work.
Of course we have to HAVE an FM synthesizer in the first place.

In DOS, there is one, it's the Adlib chip. In Linux or Windows or the Mac,
we don't have this luxury. For Exult to produce the sound effects we will have
to bring the synthesizer with us, on all platforms. I haven't been paying
huge attention to Exult lately, but I understand that there have been experiments
with the MAME OPL2 emulator, which provides the synthesis in DOSbox among
other Adlib-dependent projects.

It gets more complicated, in that for SI, the synthesizer programming is
(apparently) included in the datafiles, but in U7 it's inside the EXE.
I think. That makes it horribly more complicated but still doable.

Now for the MT32. The MT32 is a Sample+Synthesis synthesizer. I'm a little
flakey about whether it uses a PCM source or a single-cycle table (like the
PPG Wave 2.x and the Waldorf MicroWave). I'm assuming it uses a PCM source.

But the basic idea is this:

Wave-Table source -> DCF -> DCA -> output

That is, instead of using oscillators to generate the basic sound, digital
samples are played back and then fed through the filter and
amplifier stages.

And

As regards the legal matter, as I said it's convoluted. U7 is copyrighted. That means the instructions sent to the synthesizer […]
Show full quote

As regards the legal matter, as I said it's convoluted. U7 is copyrighted.
That means the instructions sent to the synthesizer to reproduce each sound
effect are copyrighted.

However the sound effects don't become sound effects until they are actually
run through the synthesizer, and the synthesizer is the property of the
person who owns the computer.

I don't believe Origin can copyright the resulting sound because it depends
on the actual synthesizer used, and there are lots of variations. An adlib
card (OPL2) will sound noticably different to the chip on an SB16 (OPL3),
which sounds very different to the clone chips, such as the ESS Maestro.
The Aureal Vortex OPL implementation is actually buggy, such that OSC1
on certain channels has a greatly diminished volume, and it sounds very
different.
I'm pretty sure that you can't use wildcards in copyrights, even under US law.

Reply 6 of 10, by canadacow

User metadata
Rank Member
Rank
Member
Dominus wrote:

OTOH it's kind of sad to see development on the dosox integration halted.
A windows driver is nice but the full-range open-source cross-platform usability is much better.

I'll be rereleasing a DosBox/Open-Source version along with a driver with the next release.

Long explanation by J.M. who recorded the sb-sfx: Now for the MT32. The MT32 is a Sample+Synthesis synthesizer. I'm a little fl […]
Show full quote

Long explanation by J.M. who recorded the sb-sfx:

Now for the MT32. The MT32 is a Sample+Synthesis synthesizer. I'm a little flakey about whether it uses a PCM source or a single-cycle table (like the PPG Wave 2.x and the Waldorf MicroWave). I'm assuming it uses a PCM source.

But the basic idea is this:

Wave-Table source -> DCF -> DCA -> output

That is, instead of using oscillators to generate the basic sound, digital samples are played back and then fed through the filter and
amplifier stages.



Heh... Its fun to hear all the theories of the MT-32's operation. In reality, its both a Wavetable and Analogue synthesizer in one. The PCM samples never see a DCF, the analogue sounds do. The real order of operation is:

Wave-Table source -> Time Variant Pitch -> LFO -> Time Variant Amplitude (DCA) -> Output
Square or Sawtooth -> Time Variant Pitch -> LFO -> Time Variant Filter (DCF) -> Time Variant Amplitude -> Output

Each of these PCM or analogue sounds is considered one "partial" by the MT-32, and up to four partials make up any one given instrument.

Reply 7 of 10, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator
canadacow wrote:

I'll be rereleasing a DosBox/Open-Source version along with a driver with the next release.
...

Good to see you changed your opinion. 😀 Anyway, I think that if code is well written its core can be used without modifications in different projects. Project specific things would be in one or a few interface files which would probably stay the same (just the core would be developed).
BTW: Since the next release of DOSBOX is coming closer (just one major feature planned for 0.60 is still being prepared), it would be perhaps good to contact Harekiet by mail whether he thinks it can be added already to 0.60 or whether it will have to wait for later.

Mirek

Reply 8 of 10, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I think the MT32 emulator developed by Canadacow is of good quality and is very usefull. But personally I'm not a big fan of files of which the license is unclear.

For this purpose we used to have a module system. We removed as no one wrote a module for DOSBox. I'm not sure if it can be added again in it's current design.
(you could register functions which got called on irq/dma/io)

I personally think the MT32 might be benifit from speedups. Although i know it quite a complex thingie. I'm getting quite some knowledge about signal construction and filtering and optimalization including one of things canadacow wanted help with (I didn't have them at that moment though)

Anyway. I like the emulator, but as far as I'm concerned the inclusion of it, is a matter of the copyrighted material. (I like the dosbox package as selfcontaining as possible)

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

Reply 9 of 10, by canadacow

User metadata
Rank Member
Rank
Member

I've made several attempts to get back in contact with Roland. As of the present, they are either ignoring me or consider me (and the MT-32) too insignificant to spend time coming to an agreement on the copyrighted material. Eventually I will complete a documentation of all the attempts I have made to contact them. If they continue to not respond, I will mark for myself as a good faith effort in trying to contact them. As such, if they later send me a cease and desist letter I can respond with evidence to the fact that I tried to reach a prior agreement.

Reply 10 of 10, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

It's good that you are trying and that you keep record, but in the end you can't fo anything once they decided to get rid of your project. I guess they are doing the same as Electronic Arts is doing with Exult and all the other Utliam fan projects. If they neither give their ok or reject it they don't have to handle legal matters.
If they ignore it they can easily take action any time they want.
We [Exult] tried to contact EA a couple of times but never got a response (except for a now ex-employee of Origin).

As long as Roland doesn't give their ok, you are in legal limbo. I'm not trying to discourage you though. I understand Dosbox' decision to not incorporate your code in this regard.
The plug-in way would be a good alternative though!