VOGONS

Common searches


DosBox and Roland again...

Topic actions

  • This topic is locked. You cannot reply or edit posts.

First post, by Exaltor

User metadata

I have read some post in vogons and also i read that some people want support for Mt32 inside of dosbox. Well i want it too.
I read that this is not posible because it's illegal(?¿). Well, it's NOT ILLEGAL, Roland can't do anything against a free project like dosbox, also Roland has no PATENTS of any algorithms used in their hardware so there's no problem(Also we're in Europe so patents are no a problem, and even if they are approved they will no be retroactive). Only Roms are copyrighted(and only in some countries, in others are free to use and even to distribute).

Check for example Scummvm project, they're using Roland MT32 emulator for sound and there're no legal problem, even if Roland thinks different, they can't do anything. Check Sony vs Bleem guys as example, and that with a commercial emu and not so old HW, not like Roland. Also if you think that there can be legal problems, then Gravis can sue you, even Creative Labs...

I know that there's a project called Munt, but i want native support inside Dosbox(like Scummvm does), because it's a shit to change each time in XP sound propieties the Midi device when i want to use MT32 emulation.

Also Dosbox can use Munt as library, only need to add hocks to this, so no need to be supported at all or on the other hand even share/use code from summvm(i think that Scummvm's mt32 emulator is munt, but i'm not 100% sure).

Thanks, And Happy New Year 😜

Reply 1 of 44, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

dosbox can allready use it without hooks.

as munt provides a midi interface and dosbox can communicate with every midi interface.

This is how we always pictured it. A separete mt32 emulation. One that we could communicate with.

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

Reply 2 of 44, by Srecko

User metadata
Rank Member
Rank
Member

If you wish, You can compile it into dosbox yourself (I use it that way).

There was interface file with older versions of emulation which I modified to work with latest Munt.
File is uploaded in main thread in mt32 forum section (named midi_mt32.h).
Other than that, you only need files from /src and /freeverb
subdirectories of Munt (and to remove one unused header #include in source files).

Only thing configurable before compilation is mixing frequency. To enable emu in dosbox, replace in dosbox.conf [midi] device=win32 with device=mt32.

It won't be included in dosbox, though 😈

Reply 3 of 44, by Exaltor

User metadata

What i want to know is why is not added to dosbox CVS as Srecko said. I think that the need to use OS midi interface is worse, for example if i want to play Prince of persia 2 with MT32 sound, i need to change in XP the default midi device, because i can't tell Dosbox to use mt32(Dosbox always uses default), and when i want to use another program that doesn't allow to specify which midi interface to use i must change again in XP if i dont want mt32 sound.
But what's even worse is to those OS that don't have a MT32 driver(OSX for example, or other OS in which a Dosbox version exists). And in Linux i dont know if the driver supports OSS...

I think that it's more easy(to use and to port to other OS) if Dosbox can use mt32 natively(changing device=mt32 in [midi], it's more Frontend friendly thant having to do it manually in Windows Sound setup).

IMHO i dont know why you want to handle some sound devices at the OS layer intead inside Dosbox while other devices don't.

Canacow did a great work with dosbox.

Reply 4 of 44, by zorach

User metadata
Rank Newbie
Rank
Newbie
Exaltor wrote:

I think that the need to use OS midi interface is worse, for example if i want to play Prince of persia 2 with MT32 sound, i need to change in XP the default midi device, because i can't tell Dosbox to use mt32(Dosbox always uses default)

If there is an issue, this is it. The ability to specify a MIDI device on the command line, in the config file, or with an environment variable would handle your objections in a flexible manner. Future expandability, simple, doesn't reinvent the wheel, don't have to keep reintegrating code...

Reply 7 of 44, by icemann

User metadata
Rank Member
Rank
Member

Wrong again there. Sony lost their court case against Bleem. So Sony faced a dilema. "How do we get rid of them now? Hmmmm......"

"Well we could always buy them out and then disolve the company". And thats exactly what Sony did. That didn`t make a millimeter of difference in the psx emulation scene though if you take a look at pcsx or epsxe.

Two stones, two crosses, the rest is just icing. - 7th Guest

Reply 8 of 44, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

No, you're wrong. Sony did not buy Bleem!. They bought Connectix VGS (another commercial Playstation emulator). Later, Microsoft bought Connectix (they wanted Virtual PC).

Bleem! went bankrupt trying to make a Dreamcast version of their emulator. Also they payed their attitude about software support.

- First, they launched Bleem! for PC. They promised lifetime support (if you buy any version of Bleem all updates are supposed to be free). I bought Bleem! 1.5.

- Then, they promised Bleem! for Dreamcast, running all Playstation games.

- Later, they were about to launch Bleemcast!, but with "software packages". You buy a version of Bleemcast! that enables you to run a limited set of games.

- Some time later, it was rumoured Bleemcast! packages will only run one game each.

The story ends with Bleem! went bankrupt. Never was a 1.6 "official" release of Bleem! (there were 2 betas released). Bleemcast! never was released. Bleem! users were pissed off.

And Bleem! doesn't work in XP. Microsoft disabled it for an unknown reason.

Reply 9 of 44, by Exaltor

User metadata

Don't go off topic with Sony vs Blee, Bleem author has now a lot of money, but what's important is that Sony lost. And Mt32 HW is not like MPEG HW which is patented(the algorithm, but the patent expires in 2006), so there's no legal problems here.

@zorach

Yes, it is a issue, Linux users are happy, because if they are using alsa, they can specify the MIDI device to use so when they want mt32 support, no problem. But Windows users must go to control panel, and change midi device under soound properties each time. And this is a shit.

Also i'm not reiventing the wheel, simplely tell a MacOSX user that munt author needs to do a OS driver to get Mt32, because Dosbox team thinks that it's better to use a MPU-401 interface though the OS than emulating the MT32 and do all process inside Dosbox, can you imagine Mame doing that? Using externalsound device emulators and using MPU-401 calls though the OS (if there's some HW in arcade systems that do that).

Also see the poor munt author, i dont know why MacOSX users aren't mailing them to ask for MT32 support in their OS, or even BeOs users, imagine that Dosbox is ported to SkyOS, they must add a midi arch. to their OS to only support MT32....

Munt OS driver is good for playing some old midi files using Winamp, but i tihnk that it's better(to use and to port) to have it integrated in Dosbox.

I started the new year with a large post 😜

Reply 10 of 44, by Guest

User metadata
Srecko wrote:
If you wish, You can compile it into dosbox yourself (I use it that way). […]
Show full quote

If you wish, You can compile it into dosbox yourself (I use it that way).

There was interface file with older versions of emulation which I modified to work with latest Munt.
File is uploaded in main thread in mt32 forum section (named midi_mt32.h).
Other than that, you only need files from /src and /freeverb
subdirectories of Munt (and to remove one unused header #include in source files).

Sorry about this lame question but... can you please give exact instructions on how to compile latest DOSBox adding latest Munt to have MT32 support ? I can't find the midi_mt32.h in the MT32 forum (which MT32 forum ?), I don't know which files I must modify and which unused #include I have to remove.

I would REALLY apreciate it. Many thanks in advance!

Reply 11 of 44, by Srecko

User metadata
Rank Member
Rank
Member

File is here (in my reply)
SourceForge.net project ("Munt")
1. If you 're using visual studio, copy all needed Munt include files(*.h) -as well as midi_mt32.h- into dosbox include directory, and add cpp files as exinsting project items (if you're using gcc then add them to automake scripts before running autogen.sh on CVS, or edit makefile and/or makefile.in scripts on 0.63 source).

2. Edit midi.cpp, at line 99 insert
#inlclude "midi_mt32.h"

3.set sampling rate in midi_mt32.h to whatever you want.

4. Compiler will give you error about a missing header file which you can safely comment out.

Reply 15 of 44, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

How modular is the Munt code, I wonder? Would it be any harder to port the Munt code used in ScummVM over to DOSBox, the same way MAME's OPL emulation code was ported?

It might happen eventually, but it'd probably take interest from someone besides the DOSBox dev team who knows (or is willing/able to learn) the DOSBox source code.

EDIT: Heh, I never bothered to read the thread before posting this. In my opinion, MT-32 support should be added but disabled by default just like the GUS emulation because both need files that cannot be included with DOSBox.

Last edited by HunterZ on 2005-01-09, 16:39. Edited 1 time in total.

Reply 16 of 44, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Srecko: I can't get your code to work. I pulled latest Munt files from cvs, it compiled fine, but I always get a segmentation fault soon after the game tries to access mt32. Sorry for posting a screenshot, but dosbox didn't write a complete log before crashing (I did modify all Munt functions to use dosbox' own LOG_MSG).

edit: tested on sim city 2000 and ultima underworld 1.

Attachments

  • Image2.png
    Filename
    Image2.png
    File size
    10.62 KiB
    Views
    2241 views
    File license
    Fair use/fair dealing exception