leecher1337 / ntvdmx64

Run Microsoft Windows NTVDM (DOS) on 64bit Editions
780 stars 80 forks source link

NTVDMX64 current build fails to work with my BBS fossil driver #186

Closed pcmicro closed 2 years ago

pcmicro commented 2 years ago

I have written a fossil driver to allow DOS BBS software to run under Windows 32-bit using NTVDM. A few years ago I made a special version named NetFos64 which supports NTVDMX64. It works fine using older versions of NTVDMX64 that I downloaded from the Columbia University site, but it fails to work with the version that was uploaded to that site in January 2022. The previous build on the Columbia U site was dated 06/06/2021 and this version (and earlier ones) worked fine.

Today I used Autobuild to create the current version of NTVDMX64 but this version also fails to work with NetFos64.

NetFos64 contains the following components: NETFOS64.COM - a DOS TSR that redirects to the DLL NETFOS64.DLL - The Win32 Virtual DOS Driver (VDD) NETCOM.EXE - The telnet communication engine.

The issue I am seeing is that when the batch file NF64.BAT loads the TSR, the batch file immediately aborts rather then loading the BBS Software. I have tested it with several different DOS BBS software, including ProBoard BBS which is included in the testbed.

You can download the testbed from here: https://pcmicro.com/netfoss/ntvdmx64_bbs_testbed.zip [Edit: URL typo]

Regards, Mike

leecher1337 commented 2 years ago

Hi,

Sorry, I cannot reproduce your problem. I tried with Windows XP 64 and Windows 7 with a build from January 2022. As soon as I ensure that NETFOS64.DLL is located in Windows\syswow64 directory, it still works as expected for me:

image

(Otherwise, it fails that it cannot find the DLL, but that's expected behaviour)

Here are the files in use:

C:\Windows\System32>dir ldntvdm.dll Volume in Laufwerk C: hat keine Bezeichnung. Volumeseriennummer: 2AB1-F33E

Verzeichnis von C:\Windows\System32

05.03.2022 20:06 46.080 ldntvdm.dll 1 Datei(en), 46.080 Bytes 0 Verzeichnis(se), 2.912.690.176 Bytes frei

C:\Windows\System32>cd ..\SysWOW64

C:\Windows\SysWOW64>dir ldntvdm.dll Volume in Laufwerk C: hat keine Bezeichnung. Volumeseriennummer: 2AB1-F33E

Verzeichnis von C:\Windows\SysWOW64

05.03.2022 20:06 36.352 ldntvdm.dll 1 Datei(en), 36.352 Bytes 0 Verzeichnis(se), 2.912.690.176 Bytes frei

C:\Windows\SysWOW64>dir ntvdm.exe Volume in Laufwerk C: hat keine Bezeichnung. Volumeseriennummer: 2AB1-F33E

Verzeichnis von C:\Windows\SysWOW64

25.01.2022 16:06 1.427.968 ntvdm.exe 1 Datei(en), 1.427.968 Bytes 0 Verzeichnis(se), 2.912.690.176 Bytes frei

C:\Windows\SysWOW64>

pcmicro commented 2 years ago

The screen shot you provided shows that the NF64.bat batch file successfully loaded Netfos64, but then the batch file existed to the Command Prompt instead of loading ProBoard BBS as it should have. If ProBoard had loaded, you would see the log-on screen where it asks for a username/password.

My testing was under Windows 10 x64 but it appears to happen in other versions of Windows as well.

leecher1337 commented 2 years ago

Aha, now I understand, if I do:

@echo off
rem do not load ANSI.COM before NetFoss64! 
echo Step 1
c:\netfoss\netfos64.com %1
rem ** If running a DOS based BBS, add " %1" to the end of above line **
if errorlevel 1 goto end
echo Step 2
c:\netfoss\netcom.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
echo Step 3
c:\netfoss\netfos64.com /u
echo Step 4
:end
echo End

I get Step1, the driver loiads and then I never get to "Step 2" or "End" but I'm stuck in the ntvdm showing the prompt. If I abort the NTVDM, script continues (wihtout the TSR). Strange

pcmicro commented 2 years ago

I ran autobuild again and the new commit solved the issue. Thanks!

pcmicro commented 2 years ago

Today I tested the new NTVDMx64 build under Windows XP x64 SP2, and under this OS the issue is still present! Yesterday I tested the same build under Windows 10 x64 and there was no issue.

pcmicro commented 2 years ago

That solved it for Windows XP x64. Thanks again!