VOGONS


First post, by Gourd

User metadata
Rank Newbie
Rank
Newbie

I have a Socket 7 PC (Pentium MMX 233, ECS P5VX-BE 2.0 motherboard with 430VX chipset, S3 Virge 4 MB) with an ESS Audiodrive 1868 PNP sound card with a Serdashop Dreamblaster S2 MIDI daughtercard. This card works fine under FreeDOS 1.4 for all functionality using unisound to configure it. However, under any other OS I have tried so far (Windows 98 SE, MS-DOS 6.22), the sound blaster functionality does not work with either Unisound or the official drivers.

For FreeDOS I have been using the following configuration lines in my FDAUTO.BAT:
set BLASTER=A220 I5 D1 T4 J201 P330
C:\DRIVERS\UNISOUND\UNISOUND.COM /VC80

Putting these in my MS-DOS 6.22 autoexec.bat results in working MIDI and FM Synthesis audio, but Sound Blaster audio has not worked under anything I've tried (Doom, Quake, Duke 3D, Tempest 2000...). The official drivers refuse to initialize to any other configuration due to it being a PNP card.

Any suggestions?

Avatar by Sam's Studio on VGen

Reply 1 of 20, by jakethompson1

User metadata
Rank l33t
Rank
l33t

FreeDOS vs. MS-DOS definitely should not have a discrepancy.

In what order did you try these OSes? If FreeDOS was first, then 98SE, then MS-DOS 6.22, then 98SE may have rearranged everything ISAPNP/ESCD related such that FreeDOS may not work any longer. If you want to be totally sure and don't feel like reinstalling yet again, you could make a FreeDOS boot disk and boot from that before running your games from C:.

If you've set the parallel port to ECP in the BIOS, switch it back to SPP as ECP may cause it to take DMA1.

Reply 2 of 20, by Gourd

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on Today, 01:51:

FreeDOS vs. MS-DOS definitely should not have a discrepancy.

In what order did you try these OSes? If FreeDOS was first, then 98SE, then MS-DOS 6.22, then 98SE may have rearranged everything ISAPNP/ESCD related such that FreeDOS may not work any longer. If you want to be totally sure and don't feel like reinstalling yet again, you could make a FreeDOS boot disk and boot from that before running your games from C:.

If you've set the parallel port to ECP in the BIOS, switch it back to SPP as ECP may cause it to take DMA1.

I regularly switch between the FreeDOS and Windows 98 SE installs on a case by case basis, so that's not the issue.

The main reason I want to have MS-DOS 6.22 working is so I can run Windows 3.1 and try some stuff that doesn't work under FreeDOS but might work under real MS-DOS.

Avatar by Sam's Studio on VGen

Reply 3 of 20, by jakethompson1

User metadata
Rank l33t
Rank
l33t

I see.

EMM386 has to virtualize the DMA controller and Sound Blaster playback is what uses DMA. So you might try 6.22 without EMM386, or using FreeDOS EMM386 instead of the DOS one. However, ESS audio on 430VX is such a routine configuration that there is no excuse for this not to work and no one to not know about it already.

isapnp https://theretroweb.com/drivers/771 is quite intense to configure but does give you absolute control over the resource assignments.

Reply 4 of 20, by Gourd

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on Today, 02:00:

I see.

EMM386 has to virtualize the DMA controller and Sound Blaster playback is what uses DMA. So you might try 6.22 without EMM386, or using FreeDOS EMM386 instead of the DOS one. However, ESS audio on 430VX is such a routine configuration that there is no excuse for this not to work and no one to not know about it already.

isapnp https://theretroweb.com/drivers/771 is quite intense to configure but does give you absolute control over the resource assignments.

That doesn't come with any documentation on how to use it. Any links?

Avatar by Sam's Studio on VGen

Reply 5 of 20, by jakethompson1

User metadata
Rank l33t
Rank
l33t

There is http://www.roestockfox.co.uk/isapnptools/pnpdump.8.html http://www.roestockfox.co.uk/isapnptools/isapnp.conf.5.html http://www.roestockfox.co.uk/isapnptools/isapnp.8.html , but it isn't very good. Here is an overview of operation.

1. You run PNPDUMP and dump its output to a file eg pnpdump > isapnp.in
2. isapnp.in is a template configuration file that will not work yet. Where you have multiple choices, they are all commented out. You have to pick what you want and uncomment it. The line to commit the configuration is also commented out. Copy isapnp.in to isapnp.cfg and edit as you wish.
3. You run ISAPNP ISAPNP.CFG to actually apply the configuration to the cards. This has to be done on each boot. You wouldn't rerun pnpdump and re-edit the config file unless you make a hardware change or are troubleshooting.
4. From here either set blaster by hand, use unisound, etc.

Reply 6 of 20, by NeoG_

User metadata
Rank Oldbie
Rank
Oldbie

My recommendation is to hard code/hand set all of the values and minimise the area in which PnP operates.

1. Prevent other PnP devices from using the IRQ and DMA you want by setting them to Legacy ISA in the BIOS
2. Supply explicit address, IRQ and DMA command line values to Unisound or ESSINIT/ESSCFG
3. Use manual resource assignment in windows that matches the DOS configuration

With everything aligned and nailed in place it should start working pretty much flawlessly in all environments

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 7 of 20, by Gourd

User metadata
Rank Newbie
Rank
Newbie

Unfortunately between PNPDUMP and the BIOS, this is my only ISAPNP device. Which makes sense given every other card in the system (video, networking, USB) is PCI.

I have the settings above set explicitly for unisound because it is reading the blaster variable. I have tried changing the port, DMA, and and IRQ using that in the past to no effect.

Avatar by Sam's Studio on VGen

Reply 8 of 20, by jakethompson1

User metadata
Rank l33t
Rank
l33t

Well, if you upload what pnpdump generated we can look at it. The good thing is that isapnp will let you set configurations that win98 or the PNPBIOS won't allow because it thinks there is a conflict, or because some other configuration (like port 240h irq 7) has higher priority for some reason.

Reply 9 of 20, by Gourd

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on Today, 02:52:

Well, if you upload what pnpdump generated we can look at it. The good thing is that isapnp will let you set configurations that win98 or the PNPBIOS won't allow because it thinks there is a conflict, or because some other configuration (like port 240h irq 7) has higher priority for some reason.

Here you go. I couldn't really make heads or tails of what to do with it at first glance.

Avatar by Sam's Studio on VGen

Reply 10 of 20, by jakethompson1

User metadata
Rank l33t
Rank
l33t

Ok. The ESS card has four "logical devices" 0, 1, 2, and 3.

LD 0 doesn't have anything to configure -- so I just uncommented the only configuration allowed and the ACT Y to enable it.

LD 1 is the sound card. Its preferred configuration is primary DMA channel 1, secondary DMA channel 0, IRQ 5, Sound Blaster I/O port 220, AdLib port 388, and MPU401 port 330, so I uncommented those and uncommented ACT Y to enable it. The alternate configurations are still commented that allow these parameters to be changed. If you're familiar with configuration 0000, 0001, 0002, etc. in Device Manager, this is what's happening behind the scenes.

LD 2 is the joystick. I uncommented port 201 as that's the preferred configuration and what you were using anyway, and ACT Y.

LD 3 is tertiary IDE. I'm keeping this commented out (disabled) as I suspect you aren't using it.

After running ISAPNP ISAPNP.CFG, you can try UNISOUND /R, which says to dump the existing ISAPNP configurations, but don't try to overwrite them.

Reply 11 of 20, by Gourd

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on Today, 03:07:
Ok. The ESS card has four "logical devices" 0, 1, 2, and 3. […]
Show full quote

Ok. The ESS card has four "logical devices" 0, 1, 2, and 3.

LD 0 doesn't have anything to configure -- so I just uncommented the only configuration allowed and the ACT Y to enable it.

LD 1 is the sound card. Its preferred configuration is primary DMA channel 1, secondary DMA channel 0, IRQ 5, Sound Blaster I/O port 220, AdLib port 388, and MPU401 port 330, so I uncommented those and uncommented ACT Y to enable it. The alternate configurations are still commented that allow these parameters to be changed. If you're familiar with configuration 0000, 0001, 0002, etc. in Device Manager, this is what's happening behind the scenes.

LD 2 is the joystick. I uncommented port 201 as that's the preferred configuration and what you were using anyway, and ACT Y.

LD 3 is tertiary IDE. I'm keeping this commented out (disabled) as I suspect you aren't using it.

After running ISAPNP ISAPNP.CFG, you can try UNISOUND /R, which says to dump the existing ISAPNP configurations, but don't try to overwrite them.

SB audio still not working. I have tried FreeDOS to make sure that still has working SB audio and it does. 🙁

Avatar by Sam's Studio on VGen

Reply 12 of 20, by Gourd

User metadata
Rank Newbie
Rank
Newbie

I think my alternative at this point is to build the experimental FreeDOS support for Windows 3.1 so uh... hope I can figure out Open Watcom?

Avatar by Sam's Studio on VGen

Reply 13 of 20, by jakethompson1

User metadata
Rank l33t
Rank
l33t

I see. Well there is no logical explanation for that beyond the EMM386 issue I suggested above, or since this deals with environment variables, and we can't see all your other bat files, perhaps you need more environment space by putting in config.sys: SHELL=C:\COMMAND.COM /P /E:512

Reply 14 of 20, by Gourd

User metadata
Rank Newbie
Rank
Newbie
jakethompson1 wrote on Today, 04:52:

I see. Well there is no logical explanation for that beyond the EMM386 issue I suggested above, or since this deals with environment variables, and we can't see all your other bat files, perhaps you need more environment space by putting in config.sys: SHELL=C:\COMMAND.COM /P /E:512

I already have /E:512 set.

Unfortunately, FreeDOS's EMM386 clone, jemm386, doesn't support data structures needed by Windows 3.1 Enhanced Mode. Even if you can get the experimental kernel support, you have to use a different memory management solution. That said, it is worth trying jemm386 on MS-DOS as a troubleshooting step. I'll try that and DR-DOS tomorrow (since DR-DOS is a different DOS that still has 3.1 compatibility).

Avatar by Sam's Studio on VGen

Reply 15 of 20, by jakethompson1

User metadata
Rank l33t
Rank
l33t

386max, another "emm386" with a ton of bells and whistles, got open sourced a few years back and should support GEMMIS. I'm not sure if anyone has packaged it in a convenient way without having to dig through their github for a binary copy (which was in there, registered to some airport if you dig hard enough), though.

I just installed FreeDOS 1.4 into a VM, and I noticed their fdauto.bat already has a set blaster= in it, even though they have no idea if you have a card or not.

I still think it's not the fact you're on FreeDOS, but some other side effect that happens to make the sound card work.

Reply 16 of 20, by Falcosoft

User metadata
Rank l33t
Rank
l33t

Actually ESS 1868 does not need any drivers under DOS. The only thing why you need to run something is the Dreamblaster S2 since by default on ESS cards the AuxB source is muted (so the DB S2 is muted).
But since currently your problem is not the muted MIDI, first I would try to use the card under DOS without any drivers or config utility loaded.
Then I would try ESSVOL instead of Unisound to raise the volume of AuxB.

You can run ESSCFG without any parameters to get info about how PnP BIOS configured your card.

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 17 of 20, by NeoG_

User metadata
Rank Oldbie
Rank
Oldbie
Falcosoft wrote on Today, 06:41:
Actually ESS 1868 does not need any drivers under DOS. The only thing why you need to run something is the Dreamblaster S2 si […]
Show full quote

Actually ESS 1868 does not need any drivers under DOS. The only thing why you need to run something is the Dreamblaster S2 since by default on ESS cards the AuxB source is muted (so the DB S2 is muted).
But since currently your problem is not the muted MIDI, first I would try to use the card under DOS without any drivers or config utility loaded.
Then I would try ESSVOL instead of Unisound to raise the volume of AuxB.

You can run ESSCFG without any parameters to get info about how PnP BIOS configured your card.

It depends if it's hard jumper, soft jumper or PnP - Hard jumper and soft jumper will not require any configuration utility, but PnP type cards will not be active until the configuration utility is run

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 18 of 20, by Falcosoft

User metadata
Rank l33t
Rank
l33t
NeoG_ wrote on Today, 09:16:
Falcosoft wrote on Today, 06:41:
Actually ESS 1868 does not need any drivers under DOS. The only thing why you need to run something is the Dreamblaster S2 si […]
Show full quote

Actually ESS 1868 does not need any drivers under DOS. The only thing why you need to run something is the Dreamblaster S2 since by default on ESS cards the AuxB source is muted (so the DB S2 is muted).
But since currently your problem is not the muted MIDI, first I would try to use the card under DOS without any drivers or config utility loaded.
Then I would try ESSVOL instead of Unisound to raise the volume of AuxB.

You can run ESSCFG without any parameters to get info about how PnP BIOS configured your card.

It depends if it's hard jumper, soft jumper or PnP - Hard jumper and soft jumper will not require any configuration utility, but PnP type cards will not be active until the configuration utility is run

This is not true. There is no need for any 'configuration utility' if the settings configured by PnP Bios are the right ones. I have an ESS 1868f PnP in my Abit KT7a and I only need to run ESSVOL in order Dreamblaster X2 to work.

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 19 of 20, by jakethompson1

User metadata
Rank l33t
Rank
l33t
Falcosoft wrote on Today, 11:15:

This is not true. There is no need for any 'configuration utility' if the settings configured by PnP Bios are the right ones. I have an ESS 1868f PnP in my Abit KT7a and I only need to run ESSVOL in order Dreamblaster X2 to work.

The "Plug and Play Operating System" setting in the BIOS (if any) can be a factor here, too. If it's set to "Yes" then theoretically the BIOS tries to stay hands off of cards not needed for booting.