Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sound emulators don't work with NTVDM #40

Closed
WindowsNinetyTen opened this issue Jul 11, 2019 · 17 comments
Closed

Sound emulators don't work with NTVDM #40

WindowsNinetyTen opened this issue Jul 11, 2019 · 17 comments

Comments

@WindowsNinetyTen
Copy link

After installing VDMSound and then trying to open a progam with that, I just get a "bad command or file name" message. Why is this?

And also, for SoundFX, I can't use it at all, because it's a "time-limited" evaluation version.

@leecher1337
Copy link
Owner

Did you even read their homepage?
http://www.softsystem.co.uk/products/soundfx.htm

There is a .reg file that disables time limitation right on the download page.

@leecher1337
Copy link
Owner

sndfx420.zip
This version works fine here.

@WindowsNinetyTen
Copy link
Author

WindowsNinetyTen commented Jul 11, 2019

Did you even read their homepage?
http://www.softsystem.co.uk/products/soundfx.htm

Yes, I did read their homepage and tried to apply the fix. But I still got the "time-limited evaluation" message even after applying the notime.reg file to the registry.

I tried the file which you posted, but even that still gets the "time-limited evaluation" message.

@peter8777555
Copy link

peter8777555 commented Jul 11, 2019

The Source Code sbvdd.c

/*

  • Start evaluation timeout
    */
    extern void StartEvalTimeout( void)
    {
    static MMRESULT s_hTimer;

TRACE( 9, ("StartEvalTimeout()\n"));

if ( !s_hTimer)
{
DWORD dwTimeout;

/* Start the evaluation timeout */
dwTimeout = 3 * 60 * 1000;
s_hTimer = timeSetEvent( dwTimeout, 1000, &EvalTimeout, 0, TIME_ONESHOT);
if ( !s_hTimer)
  {
  TRACE( 0, ("!!! StartEvalTimeout() timeSetEvent failed\n"));
  /* Immediate timeout */
  EvalTimeout( 0, 0, 0, 0, 0);
  }
else if ( ReadRegValue( "PSQR@+,<", REG_DWORD, sizeof( dwTimeout), &dwTimeout)
  && 0x19541009 == dwTimeout
) {
  timeKillEvent( s_hTimer);
  }
}

}

The reg file:
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\SoftSystems\SoundFX]
"PSQR@+,<"=dword:19541009

@leecher1337
Copy link
Owner

Recompiled sbvdd.dll free build for you, this one should work out of the box (replace it in your SysWOW64 directory):
sbvdd.zip

@leecher1337
Copy link
Owner

leecher1337 commented Jul 12, 2019

Btw: Reg-file probably doesn't work because it must go to WOW64 node on 64bit machines (NTVDM is 32bit application):

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\WOW6432Node\SoftSystems\SoundFX]
"PSQR@+,<"=dword:19541009

notime.zip

@peter8777555
Copy link

sbvdd.zip WORK.
notime.zip Failed.

@WindowsNinetyTen
Copy link
Author

The sbvdd file worked and the problem is now gone. Thanks for your help!

@peter8777555
Copy link

It seem do NOT support Ad Lib ??

@leecher1337
Copy link
Owner

Which application did you try with? Also did you set FM Synthesis to emulation,because most PCI hardware soundcards don't prvide AdLib support.

@peter8777555
Copy link

peter8777555 commented Jul 14, 2019

Please refer to the Sample.zip for more details.

SnapShot01.png
SnapShot02.png
SnapShot03.png
SnapShot04.png
SnapShot05.png
SnapShot06_IBM_PC_Sound_OK.png

@leecher1337
Copy link
Owner

I found out that there are some weird issues with SoundFX and NTVDMx64. If it is enabled, some applications tend to hang on startup sometimes. As soon as SoundFX is disabled, applications work fine again. Not sure, if this is a bug in SoundFX2000 or NTVDMx64.

@AbdullahTrees
Copy link

AbdullahTrees commented May 2, 2020

I found out that there are some weird issues with SoundFX and NTVDMx64. If it is enabled, some applications tend to hang on startup sometimes. As soon as SoundFX is disabled, applications work fine again. Not sure, if this is a bug in SoundFX2000 or NTVDMx64.

It's been some months... Have you been able to figure out where the bug is? (I'm just curious BTW)

@leecher1337
Copy link
Owner

Has been fixed in 13fa209

Uninstall SoundFX2000 and just use NTVDMx64, as it now incorporates Adlib Mousic and Soundblaster Sound emulation in core.

@AbdullahTrees
Copy link

AbdullahTrees commented May 6, 2020

Uninstall SoundFX2000 and just use NTVDMx64, as it now incorporates Adlib Mousic and Soundblaster Sound emulation in core.

Awesome! Behold the power of open source! That explains why my Mavis Typing Tutor (uses only PC speaker) was making sound in Windows 10, I initially expected it to be totally quiet.
Btw, if you are incorporating SoundFX2000 into NTVDMx64, how do I change sound settings on DOS applications so that sound will work? (Basically asking for the IRQ number, channel, etc...)

@leecher1337
Copy link
Owner

If your application only supports PC speaker and no Soundcard, you may want to install the PC Speaker driver mentioned in NTVDMx64 FAQ, as Windows 7 and higher ruined PC speaker output by replacing it with a totally unusable sine wave generator that doesn't abide timing constraints for output (the mentioned driver replaces BEEP.SYS and restores Windows XP behaviour that usese the real PC Speaker hardware. Of course,a PC Speaker needs to be connected to your mainboard in order to work).

Regarding Soundcard settings, see the BLASTER= variable in autoexec.nt
For music playback, Adlib Soundcard must be chosen, for Sound effects device, SoundBlaster (2.0).
Most DOS applications obey the setting of the BLASTER environment variable. In most cases, it worked out of the box for me.

@leecher1337
Copy link
Owner

Assuming Soundblaster support works for you via BLASTER= environment variable as described.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants