VOGONS


Doom 'MBF' for DOS, Maintenance release 2.04

Topic actions

Reply 200 of 219, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

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 219, 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 219, 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 219, 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 219, by Scandy

User metadata
Rank Member
Rank
Member

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 219, 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 219, by Scandy

User metadata
Rank Member
Rank
Member

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 219, 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 219, by Scandy

User metadata
Rank Member
Rank
Member

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 219, 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 219, by Scandy

User metadata
Rank Member
Rank
Member

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 219, 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

Reply 212 of 219, by zyzzle

User metadata
Rank Newbie
Rank
Newbie

Strangely, with MBF HPDPMI32 version posted above, running in pure DOS, not DOSBOX, not Windows, I'm always getting "segmentation fault" on loading even the stock Doom 2 WAD. This version loads, the demos play, but always "Segmentation Fault" when I go to start a new game. With the previous DOS compiles, I can run all WADs, even the Brigantine.WAD which is huge ( 51206 sidedefs, according to this thread: https://www.doomworld.com/forum/topic/121951- … for-dos-exists/). The version of MBF posted there works wonderfully for me as well.

Why should this latest HDPMI32 compile, apparently with bugfixes, etc be causing me such trouble (SegFaults) in plain old DOS? I'm running this on a very modern system i5 8250u (3.4 Ghz), 8GB RAM, so speed isn't an issue with the Brigantine.WAD, either.

One further issue: When I switch MBF to run in "high resolution" under options, the screen just goes gray and the game totally crashes, hard lockup requiring system reboot. Zdoom, Boom, etc work just fine under 640x480 so why MBF crashes when I attempt to enable "high" resolution is a mystery. This happens on multiple systems, again in DOS, using DOOM2.WAD and others.

Reply 213 of 219, by crvs

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2021-07-19, 00:51:

Strangely, with MBF HPDPMI32 version posted above, running in pure DOS, not DOSBOX, not Windows, I'm always getting "segmentation fault" on loading even the stock Doom 2 WAD. This version loads, the demos play, but always "Segmentation Fault" when I go to start a new game. With the previous DOS compiles, I can run all WADs, even the Brigantine.WAD which is huge ( 51206 sidedefs, according to this thread: https://www.doomworld.com/forum/topic/121951- … for-dos-exists/). The version of MBF posted there works wonderfully for me as well.

Why should this latest HDPMI32 compile, apparently with bugfixes, etc be causing me such trouble (SegFaults) in plain old DOS? I'm running this on a very modern system i5 8250u (3.4 Ghz), 8GB RAM, so speed isn't an issue with the Brigantine.WAD, either.

One further issue: When I switch MBF to run in "high resolution" under options, the screen just goes gray and the game totally crashes, hard lockup requiring system reboot. Zdoom, Boom, etc work just fine under 640x480 so why MBF crashes when I attempt to enable "high" resolution is a mystery. This happens on multiple systems, again in DOS, using DOOM2.WAD and others.

Thank you for reporting

For SegFaults, my first guess would be to check if it may be caused by your RAM size (8Gb) not typical for DOS. AFAIK cwsdpmi is ignoring RAM over 256M, meanwhile HDPMI should be able to address up to 4Gb but it's not mentioned in the doc whether larger RAM can be handled. Could you try one of the following:

  • reduce physical RAM in your machine
  • if you're loading EMS/XMS manager in CONFIG.SYS (EMM386, JEMMEX etc.) - restrict EMS/XMS size to 64M explicitly, DOS apps normally shouldn't need more
  • try another DMPI server with MBFHDPMI - you can even take CWSDPMI.EXE from the original MBF, rename it to HDPMI32.EXE and copy it over in MBFHDPMI folder (while losing some compatibility, the newest build should still work)

For high res - please try if it works in MBFHDPMI, my build contains a fix for incorrect VESA mode selection, with original MBF I also had issues with some ATI video cards.

Reply 214 of 219, by badmojo

User metadata
Rank l33t
Rank
l33t

I'm trying this out for the first time and it's very cool - I love the high res option. I'm not having much luck with sound though, specifically the volume is low and seems to be variable - sometimes it's so low that I can barely hear anything.

I'm using a socket 7 machine in pure DOS 7, with an ISA YMF719 card that does both SB Pro and WSS. Both modes are detected but with maximum volume in the setup app (255 or -1) and max volume in-game it's still too quiet. Sound is working fine and the quality is OK, just low and at times barely even audible.

Anyone else experiencing that? I've tried both regular MBF and the CRVS version.

Life? Don't talk to me about life.

Reply 215 of 219, by crvs

User metadata
Rank Newbie
Rank
Newbie
badmojo wrote on 2021-07-22, 07:28:

I'm trying this out for the first time and it's very cool - I love the high res option. I'm not having much luck with sound though, specifically the volume is low and seems to be variable - sometimes it's so low that I can barely hear anything.

I'm using a socket 7 machine in pure DOS 7, with an ISA YMF719 card that does both SB Pro and WSS. Both modes are detected but with maximum volume in the setup app (255 or -1) and max volume in-game it's still too quiet. Sound is working fine and the quality is OK, just low and at times barely even audible.

Anyone else experiencing that? I've tried both regular MBF and the CRVS version.

The volume is ok in my YMF719, with both builds. It could make sense to check your sound card configuration, in particular - mixer settings defined at PC startup. For this card's setup in pure DOS, I personally prefer an 'alternative' SETYMF.EXE config tool by Tiido (where you can test sound volume when playing with the mixer), but SETUPSA.EXE from the Yamaha win9x reference driver pack should also work.

Reply 216 of 219, by badmojo

User metadata
Rank l33t
Rank
l33t
crvs wrote on 2021-07-22, 09:11:

The volume is ok in my YMF719, with both builds. It could make sense to check your sound card configuration, in particular - mixer settings defined at PC startup. For this card's setup in pure DOS, I personally prefer an 'alternative' SETYMF.EXE config tool by Tiido (where you can test sound volume when playing with the mixer), but SETUPSA.EXE from the Yamaha win9x reference driver pack should also work.

Thanks for the reply - yes it's strange, this is a long standing setup I'm using that sounds fine with all of the other games I have installed. I use SETUPSA but have tried Tiido's util too, same result. MBF digital FX are maybe half as loud as stock DOOM. My SETUPSA mixer is up as far as it will go (7), for the SB Pro emulation anyway. If anything games are usually too loud and I need to run them with a BAT file which reduces the mixer for those games before they load.

I've tried everything I can think of - SB Pro, WSS, deleting the setup cfg file and starting again, editing the config file manually for different values, using the DOOM1.WAD included in the download instead of my full version WAD.

Not a big deal I can just crank up the volume.

Life? Don't talk to me about life.

Reply 217 of 219, by crvs

User metadata
Rank Newbie
Rank
Newbie
badmojo wrote on 2021-07-22, 11:58:

Thanks for the reply - yes it's strange, this is a long standing setup I'm using that sounds fine with all of the other games I have installed. I use SETUPSA but have tried Tiido's util too, same result. MBF digital FX are maybe half as loud as stock DOOM. My SETUPSA mixer is up as far as it will go (7), for the SB Pro emulation anyway. If anything games are usually too loud and I need to run them with a BAT file which reduces the mixer for those games before they load.

I've tried everything I can think of - SB Pro, WSS, deleting the setup cfg file and starting again, editing the config file manually for different values, using the DOOM1.WAD included in the download instead of my full version WAD.

Not a big deal I can just crank up the volume.

In fact, you are right. I compared MBF with vanilla DOOM at max volumes, and SFX in the latter is really louder. Not sure I will be able to dig it, but good to know.

Reply 218 of 219, by badmojo

User metadata
Rank l33t
Rank
l33t

Good to know it's not just me, thanks for confirming. It's actually fine, I'm just being pedantic I think. With max volume settings in the setup program and in-game it's almost at the level I'd play with usually - I've set myself a personal challenge to get every game at the correct level so that I never have to reach for the volume knob on my speakers 😀

This is awesome though I can't believe it's taken me so long to try it - once you see that high res mode it's hard to un-see it, so this might be my preferred way to play DOOM 👍

Life? Don't talk to me about life.

Reply 219 of 219, by dr_st

User metadata
Rank l33t
Rank
l33t
badmojo wrote on 2021-07-23, 11:32:

This is awesome though I can't believe it's taken me so long to try it - once you see that high res mode it's hard to un-see it, so this might be my preferred way to play DOOM 👍

Same here. I use MBF almost exclusively now to play DOOM in DOS. Too bad it does not extend to Heretic/Hexen. 😀

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys