VOGONS


Doom 'MBF' for DOS, Maintenance release 2.04

Topic actions

Reply 180 of 193, by Pablo_Doom_Guy

User metadata
Rank Newbie
Rank
Newbie
Sakitoshi wrote:
thanks for the heads up. just published the fix for level 7. I accidentally broke tag 666 and 667 while implementing the master […]
Show full quote
Pablo_Doom_Guy wrote:
hi , i've downloaded your "sigil" MBF version and it runs super fine , the problems i've found so far are : […]
Show full quote
Sakitoshi wrote:

so I was doing something wrong.
well, I don't think I'm going to change it back, is good enough for me and I'm too lazy to do it.

hi , i've downloaded your "sigil" MBF version and it runs super fine , the problems i've found so far are :

1- Plutonia Map 07 softlocks after killing the enemies on the first part of the level (after you kill the first monsters the door should automatically open and this is not happening)
2- It's cool to be able to play Eviternity on dosbox, the only problem is that maps 15, 31 and 32 wont load , idclev or -warp will crash the game giving a "segmentation violation" error

i was also able to run mutiny with your latest mbf version =) .

thanks for the heads up. just published the fix for level 7.
I accidentally broke tag 666 and 667 while implementing the master levels behavior.

regarding eviternity, I believe that the seg faults are due to the sheer size of that wad. it's just too much for dos mbf to take. maybe there is a way to fix it, but I lack the knowledge.

after my testings , the only little bug i found (that was on "sigil 1.2 version") is that if you enable "Show framerate + mode indicator" MBF crashes , other than that there's no problem

Once again thanks for the fix =)

PS: a question that has nothing to do with MBF itself , but with a recent Doom 2016 demake (D4V aka Doom 4 Vanilla) the "problem" with this mod is that it doesn't properly work with maps with 666/667 sectors , this softlocks the map if the modder deesnt add a bypasser , as far as i know this is no related to the port itself but to the mod , my question is if there is any chance of making a fix so the mod can be properly played on those levels (e2m8 and e3m8 , and some map 7 from doom pwads)

ps2: do you think it could be possible to make map 33 from doom2 playable on mbf ??? It plays on doom+ if you add the nerve files , it doesn't if you do the same with mbf .

Reply 181 of 193, by crvs

User metadata
Rank Newbie
Rank
Newbie

I managed to link MBF and SETUP with HDPMI32 (replacing CWSDPMI).
This build is working in pure DOS with Vortex 2 soundcard.

EDIT: It was a quick fix and it has issues, better use next build from this post

Attachments

  • Filename
    MBFHDPMI.7z
    File size
    643.06 KiB
    Downloads
    42 downloads
    File comment
    MBF HDPMI32
    File license
    Fair use/fair dealing exception
Last edited by crvs on 2020-06-13, 20:28. Edited 1 time in total.

Reply 182 of 193, by Grunt

User metadata
Rank Newbie
Rank
Newbie
//-----------------------------------------------------------------------------
// killough 10/98: init disk icon
// GB had to disable for now, since allegro drawing routines are no longer used.
// and the new libraries lack a universal read-from and blit-to screen procedure.
static void I_InitDiskFlash(void)
{
/*
byte temp[32*32];

if (diskflash)
{
destroy_bitmap(diskflash);
destroy_bitmap(old_data);
}

Great. Any suggestion what should I use instead? There was no "allegro blitting" in vanilla Doom and floppy flashing worked perfectly.

Reply 183 of 193, by gerwin

User metadata
Rank l33t
Rank
l33t

Yeah. Add the "universal read-from and blit-to screen procedure" by writing code from scratch. For every mode. Thus expanding VGAVESA.C.

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

Reply 185 of 193, by Grunt

User metadata
Rank Newbie
Rank
Newbie

gerwin: Hmm. How was the thing then done in vanilla doom? There is no source code? I can do it through V_DrawPatchDirect() as it is done in I_InitDiskFlash but blitter would be nicer.

Reply 186 of 193, by gerwin

User metadata
Rank l33t
Rank
l33t

Original Doom had only one graphics mode to support. MBF has VGA 320x200, Mode-X 320x200, VESA 320x200 and 640x400 with different methods of paging. MBF 2.04 has routines for transferring complete screens to video memory in these modes, and it requires different code in each case. MBF 2.04 does not yet have code to transfer a small image to video memory directly : Blitting. MBF 2.03 Allegro 3 library had support for blitting with most of these modes, but for 2.04 there were reasons to prefer a clean slate and rewrite all VGA/VESA hardware access in one compact library. Actually I already had done so, and only afterwards realised it needed blitting routines for just that darn floppy symbol...

Edit: IIRC Allegro 3 graphics routines are now set to disabled when compiling MBF 2.04. Thus none of that is in MBF 2.04. One could enable it and use it maybe, but it would not be desirable for stability and compatibility.

As my note from years ago states. It does not only need blitting to video memory: In the MBF 2.03 way it also needs code to read from it, in order to save and restore the old screen state in the bottom right corner. Though on second thought, why not avoid all that and use the existing main memory buffer instead...

In any case, since the floppy image is illustrating a disk transfer stall, it is not proper to transfer entire screens with the floppy image on it, since such transfers would stall the system even more at the worst possible time.

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

Reply 188 of 193, by crvs

User metadata
Rank Newbie
Rank
Newbie

This is my new build of MBF / HDPMI32

It's still fairly experimental but already tested in more configs and should be good for most cases
I do not recommend using version from my previous post any more

List of changes vs. the baseline in start topic:

  1. Generic improvements
    • CWSDPMI (DMPI host) replaced by HDPMI32 - fewer issues with device drivers and other apps
    • DJP (code packer) replaced by UPX - better compression, no more random crashes at build time
    • MBF and Allegro upgraded to the latest toolchain (DGJPP 2.05 + GCC 9.30)
    • 100% compiler warnings addressed (old and new, with more strict compiler), number of bugs fixed
  2. Better hardware support
    • Aureal Vortex2 sound cards in pure DOS (via "AU30DOS.COM" SBPRO emulation)
      Was: system freeze at sound init
    • Creative SB Live!/Audigy/Audigy2 sound cards in pure DOS (via "SBEINIT.COM" for SB16 emulation)
      Was: no Digital Sound, only MIDI
      Note: Environment variable "SET HDPMI=512" is required to use these cards , root cause - constraint of Creative's drivers
    • ATI Rage series video cards
      Was: ok with high resolution but broken picture in 320x200
  3. Notable bugfixes
    • Was: incorrect handling of VESA modes exceeding 1FF (wrong video mode could be selected)
    • Was: Insufficient RAM reserve for drivers (no sound in some configurations)
    • Was: SIGSEGV on Quit in WinNT family
  4. Integrated Sigil and other patches from this thread

Attachments

  • Filename
    MBFHDPMI.7z
    File size
    798.26 KiB
    Downloads
    24 downloads
    File comment
    MBF HDPMI32 rev. 1
    File license
    Fair use/fair dealing exception
Last edited by crvs on 2020-06-27, 14:39. Edited 1 time in total.

Reply 190 of 193, by crvs

User metadata
Rank Newbie
Rank
Newbie
gerwin wrote on 2020-06-20, 21:36:

Thanks for the effort, and for sharing. Can you also provide the source code please?

Sure! Sorry for delay, didn't have time to clean-up the project.
Meanwhile, added support of GCC 10.10 -> more warnings resolved + new executables are somewhat smaller.

+ Attached latest builds and sources.

Attachments

  • Filename
    MBFHDPMI.7z
    File size
    735.87 KiB
    Downloads
    28 downloads
    File comment
    MBF HDPMI32 rev. 2
    File license
    Fair use/fair dealing exception
  • Filename
    MBFHDPMI_SRC.7z
    File size
    2.13 MiB
    Downloads
    16 downloads
    File comment
    MBF HDPMI32 rev. 2 - source code
    File license
    Fair use/fair dealing exception

Reply 193 of 193, by Scandy

User metadata
Rank Newbie
Rank
Newbie
leileilol wrote on 2020-09-28, 13:02:

Maintenance release.

Scopecreeping to support additional non-Doom doom engine games (with the same MBF feature set provided) is no trivial task by any means.

True. Sorry!