viti95 / FastDoom

Doom port for DOS, optimized to be as fast as possible!
512 stars 33 forks source link

Any chance to make it work with SBEMU? #159

Closed Ethaniel-404 closed 7 months ago

Ethaniel-404 commented 9 months ago

I know SBEMU is a weird creature, but it has reached a decent level of compatibility. Now, FastDoom is a much more convenient way to execute Doom under MS-DOS, but every time I try to configure the emulated sound card on setup, FastDoom can't find it. Could you check this in the future? Thanks, as always.

viti95 commented 9 months ago

Good question. Initially, I attempted to incorporate native AC-97 audio support into FastDoom, but it proved to be too complex for my current skill level. The idea was to avoid any kind of emulation. I plan to explore adding support for it; I now have a SBEMU compatible device, allowing me to conduct tests.

Nevertheless, any help on this matter would be greatly appreciated.

dougvj commented 9 months ago

This would pair well with my test playing at 1280x1024, which requires hardware at the level the ISA bus becomes scarce

viti95 commented 8 months ago

Baron von Riedesel (VOGONS): Well, I played a bit with Fastdoom and can say that it partially works with both SBEMU and VSBHDA. There are a few issues:

I also compiled Fastdoom with Watcom v1.9, creating a HX binary instead of DOS32A - it works.

viti95 commented 8 months ago

I've tested this myself using this method and DOS32A, it works but OPL music crashes (both Adlib and Sound Blaster). PCM music works though.

https://youtu.be/lwKfzuXirxY?si=I4sM6JCd_JPZYr7_

Ethaniel-404 commented 8 months ago

Baron von Riedesel (VOGONS): Well, I played a bit with Fastdoom and can say that it partially works with both SBEMU and VSBHDA. There are a few issues:

  • hdpmi32i should be loaded with the -x option, since the DOS32A extender isn't happy if too much free memory is offered
  • if Soundblaster FM music is enabled, a crash will happen. Soundblaster SFX works, though!
  • It must be ensured that hdpmi is used as DPMI host for Fastdoom. I achieved this by entering "JEMMEX NOVCPI" before launching fastdoom.

I also compiled Fastdoom with Watcom v1.9, creating a HX binary instead of DOS32A - it works.

Yes! This actually works. I didn't understood at first: The idea is to start SBEMU normally, and then execute «JEMMEX NOVCPI» before FastDoom, instead of adding NOVCPI to Jemmex inside config.sys. That's how it worked for me.

Not only that, I was able to combine FastDoom, SBEMU and the USB mouse driver by Bret Johnson.

Enhanced, high speed Doom launcher + Sound Blaster emulation + USB mouse, all under pure DOS. This is insane, and I love it. All I need right now is the sound package for PCM mode.

viti95 commented 7 months ago

Crazii has fixed SBEMU support, it will be available on the next release