VOGONS


Doom 'MBF' for DOS, Maintenance release 2.04

Topic actions

Reply 200 of 211, by MrFlibble

User metadata
Rank Member
Rank
Member

Apologies for a noobish question, but what other advantages does the version with HDPMI32 have apart from solving certain hardware compatibility issues (if I understood that part correctly)?

Also, which build (I've noticed binaries optimised for specific processors in previous posts here) would be recommended for use in DOSBox?

DOS Games Archive | Free open source games | RGB Classic Games

Reply 201 of 211, by crvs

User metadata
Rank Newbie
Rank
Newbie
MrFlibble wrote on 2021-01-07, 16:22:

Apologies for a noobish question, but what other advantages does the version with HDPMI32 have apart from solving certain hardware compatibility issues (if I understood that part correctly)?

Also, which build (I've noticed binaries optimised for specific processors in previous posts here) would be recommended for use in DOSBox?

Comparing to MBF 2.04 from start topic, MBF HDPMI also includes other user patches (in particular Sigil) and several small bug fixes, and is using newer compiler. Target processor of my builds is 486. In my tests in DosBox (with default settings) latest MBF HDPMI is also slightly faster, giving avg 183fps (vs 178 fps) in low-res, and 68.3fps (vs 66.5fps) in hi-res in demo3.

Reply 202 of 211, by RaVeN-05

User metadata
Rank Member
Rank
Member

maybe you can also suggest something for FastDoom source port to be faster?
FastDoom. A new Doom port for DOS, optimized to be as fast as possible for 386/486 personal computers!

https://hexenworld.org/forum/index.php (Heretic's & HeXen's forum)
https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 203 of 211, by gerwin

User metadata
Rank l33t
Rank
l33t

I applaud the changed by crvs,
- He seems to have fixed the issue I had with more modern compilers, so with these issues fixed, fine with me. (Indeed I have no memory warning when exitting the game in Windows 98. IIRC that was what made me revert at the time.)
- He fixed a memory bug with a sound driver. Did not check it, but fine.
- The SegFault error message when exitting in windows XP is gone - Great!
- Sigil support - good.
- CWSDPMI replacement was something on my todo list - fine as well.

So I tested crvs latest mbf today on retro hardware:
i440BX, Pentium 2, 3DFX Voodoo 3, Crystal CS4232 Sound with Midi board (SB Pro or WSS mode), CRT screen.
All was well. Had a few issues with sound, but seems OK now after moving the ISA card one slot down.

Just one remark. The mbf.cfg of the crvs version needs different keycodes. You cannot use the previous mbf.cfg with it. And I do not know what causes this.

I will update the entry page of this topic to link to the latest crvs version as well. (Edit: Done)

RaVeN-05 wrote on 2021-01-07, 22:18:

maybe you can also suggest something for FastDoom source port to be faster?
FastDoom. A new Doom port for DOS, optimized to be as fast as possible for 386/486 personal computers!

ViTi95 went full into planar mode X there. AFAIK not just by using the video mode but buffering everything in planar as the original DOS doom did. I don't see benefit in mixing that approach with the different linear modes of MBF. It is quite different internally. Just pick the one that works best on a particular system..

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul

Reply 204 of 211, by Scandy

User metadata
Rank Newbie
Rank
Newbie

Hello,
may I ask if MBF could work with SOFTMPU?

I have a MT32-PI connected on the serial port of my thin client (HP T5710) that I use with SOFTMPU to enjoy many Roland MT-32 soundtracks in games.
The new release of MT32-PI allows also to switch to Fluidsynth mode and enjoy different Soundfonts. I've tried with Doom/Hexen but it seems that games with DOS extenders doesn't work with SOFTMPU, so I wonder if MBF could be somehow different.

Thank you!

THE NIGHTLAND is my board + video game for Commodore 64.

Reply 205 of 211, by gerwin

User metadata
Rank l33t
Rank
l33t
Scandy wrote on 2021-03-21, 08:15:

may I ask if MBF could work with SOFTMPU?

Sure. But I don't use SoftMPU myself. I tried to look up the situation regarding SoftMPU and the DOS Extenders / Protected mode games. Indeed most say it should not work. But I also read about such a game (Warcraft 2) actually working.
I suppose you could just try it, the normal MBF with CWSDMPI extender, and also the one by crvs with a different HDPMI32 extender.

Using extenders to get the game in protected mode is pretty much required to be able to access the necessary amount of memory. There are other methods to obtain memory above 1MB, but these have their issues as well.

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul

Reply 206 of 211, by Scandy

User metadata
Rank Newbie
Rank
Newbie

Hello gerwin,
thank you very much for your kind feedback (and I really hope you are fine during these strange days).
Before writing the post I tried indeed, but MBF couldn't find any MIDI device even though SOFTMPU was running on port 330. But I just did a quick test, I'll try again this night.

Thank you

THE NIGHTLAND is my board + video game for Commodore 64.

Reply 207 of 211, by Grunt

User metadata
Rank Newbie
Rank
Newbie

Scandy: I have no idea what you're trying to achieve but look at MPU code in Allegro linked into MBF:

static void mpu_output(unsigned char data)
{
int timeout;

if (wait_for_mpu(0x40, _mpu_port+1))
if (_sb_irq>0) // If timed out: Digital section active?
{
_enable_irq(_sb_irq); // GB 2017, to prevent crash on older models of SB16, like CT1740 and CT2290.
for (timeout=0; timeout<99; timeout++); // Allow SB16 digital section to service interrupt if necessary
}
outportb(_mpu_port, data);
}

// mpu_init: Initialises the MPU-401 midi interface. Modified GB 24-8-2017
static int mpu_init(int voices)
{
unsigned char timeout=0;
if (wait_for_mpu (0x40,_mpu_port+1)) return -1; // Ready to receive?
outportb(_mpu_port+1, 0x3F); // Put MPU in UART mode
if (wait_for_mpu (0x80,_mpu_port+1)) return -1; // Data available for reading?
if (!(inportb (_mpu_port)==0xFE)) return -1; // Succesful mode switch? also: clear interrupt by reading data port.

First thing it does is switching MPU in UART mode, clear everything and then just simply pushing notes into predetermined port (outportb(_mpu_port, data)). As long as device is reading data and it keeps switching ready flag (0x40) on predetermined port+1 it will work. There is no fancy logic or anything. Same part for FluidSynth.
I've got fluidsynth hacked right into DosBox and it works with custom soundfont and MBF pecfectly.

Reply 208 of 211, by Scandy

User metadata
Rank Newbie
Rank
Newbie

OK so I've done some tests and actually it seems that MBF doesn't work with SoftMPU and MT32-pi.

My setup:

- HP T5710 with MS-DOS 7
- SoftMPU running on port 330 and outputting on COM1
- MT32-Pi connected to COM1 via serial adapter (works *perfectly* in Monkey Island, Elvira, Lands of Lore and other titles that support MT32 or Sound Canvas)

If I run the MBF2.04 and I search for MIDI on port 330 no device is detected. Any hint? 😉
Thanks!

THE NIGHTLAND is my board + video game for Commodore 64.

Reply 209 of 211, by gerwin

User metadata
Rank l33t
Rank
l33t

Scandy,

Grunt made a fair point that there is AFAIK no reason to use SoftMPU with Doom MBF. But now i understand you are using softMPU to use its "additional functionality" to route music to you COM1 serial-port sound device. A modern and exotic work-around.

Your system "HP T5710 with MS-DOS 7" Seems like VIA C3 box 1,2GHz, with one PCI slot only. Maybe it has an onboard sound chip, on the PCI bus? If you are lucky the system came with a DOS emulation driver that pretends the onboard sound chip to be on the ISA bus instead. Probably very limited without MPU support.

Some things come to mind:
- Obtain an ESS Solo PCI sound card and use it in your system instead. Or maybe a YMF-724 based one.
- Add a separate music sound driver to doom MBF, that uses COM1. The person that feels like writing this should have such a device for testing.
- Find an MPU to COM1 rerouting TSR that works with protected mode games. Does it exist, or is this even possible? I don't know.

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul

Reply 210 of 211, by Scandy

User metadata
Rank Newbie
Rank
Newbie

Thank you for your kind feedback.
Indeed I have yet music and SFX in MBF DOS via Sound Blaster emulation (VIASBCFG and VIAFMTSR) but I'd like to improve the music quality using MT32-PI in SC55 mode.
But vanilla DOOM doesn't support SOFTMPU, so I was asking for MBF.

THE NIGHTLAND is my board + video game for Commodore 64.

Reply 211 of 211, by gerwin

User metadata
Rank l33t
Rank
l33t

My pleasure,

The pictures on the internet show that although this HP T5710 has a PCI slot, the case has no room for any normal PCI card. Basically the compactness of your system has its advantages, but of course the downside is that you can not add a true DOS-Friendly sound card, and have to mess with work-arounds instead.

Adding a COM music driver to Doom MBF is certainly not gonna happen quickly, if only because I have no experience with it, and no such device to test.

The only thing, that may quickly shine some more light on this situation, is asking the SoftMPU author. About what he recommends. I suggest you do that.

Edit: I also just remembered that MBF has a DigMid driver. Which should allow for better quality music through software mixing. https://liballeg.org/digmid.html I don't think I ever tested it.
Edit2: In this topic, on 19-10-2019, user hail-to-the-ryzen reported using the DigMid driver succesfully (But with a problem in MAP06).

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul