VOGONS


NTVDM on "new" PC

Topic actions

First post, by RetroMaster137

User metadata
Rank Newbie
Rank
Newbie

Hope it's in the right section, I'm a new user.

For reasons difficult to describe, I'll be deliberately experimenting with NTVDM, so please don't point me to DosBox. If something is just "not possible", so be it. Years ago I'd deal with it in its default setup, and I just learnt about VDMSound and related compatibility patches today.
My specs... AMD A8-6600K APU; Quad-core CPU @3.90 GHz; On-board "GPU" AMD Radeon HD 8570D

- What is the "best" NTVDM version? Windows XP pre-SP2?
- This PC is so "new" it doesn't play any "PC speaker" sound, is there any way to redirect that to DirectSound or so?
- I found that some new GPUs lack a couple features, such as an "interrupt #10 vector" or something like that. This PC is just 6 years old I think, maybe too "new" for this, how do I know if I lack any of that?
- Under NTVDM, Pinball Fantasies always played at like 5 FPS on every PC I tried years ago, and today on my PC as well. I'd understand it for some sections (the menus do mid-frame palette swapping; NTVDM doesn't emulate that and instead blinks both palettes in full screen), but the tables are simply unplayable. Is there any "magic setup" to get a decent gameplay, with or without palette effects?
- On some PCs, No$GMB's debug window displays at a slightly larger resolution, and displays the current GB frame at the top-right (white on startup). On other PCs (same WinXP edition!), GB frame from top-right doesn't display, and the resolution doesn't change (so the bottom is invisible). It used to work in an old DELL Pentium 3, it doesn't on my PC. It's fine in DosBox though, and I remember seeing it work on VirtualBox time ago (need yet to re-check). I have vague memories of it giving different results according to Screen, not PC (so I wonder if No$GMB simply sets a non-standard resolution that the system rejects), but I could be wrong... instead, what if is anything related to GPU interrupts or VESA? Speaking about VESA, Kgen98 requires VESA 2.0 (NOT 1.2 as far as I know!!) in order to switch to 16bit color mode, so it can play the mid-frame palette swapping tricks (ha!). Any hopes for getting this to work? I understand there's a lot of patches and re-versions of said patches, videoprt, vgafix, winxpfix, nolfb... the list is big. Big enough that I'm lost past the VDMSound project. What can I try? Definitely not SolVBE though, VESA version won't work, and already doesn't work in regular 8bit mode.

Thanks for your patience!

EDIT: (Discarding specifics such as SoundBlaster emulation for both cases) Am I correct to think that, DosBox is an interpeter, and NTVDM just executes the raw code but captures/handles I/O?

Reply 1 of 12, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

1.
There is no "best" NTVDM version. NTVDM never changed that much as far as game compatibility from NT3.x to Windows 10.
I supposed you could say that 2000 and XP NTVDM are the "best". I did notice some slight compatibility issues with NTVDM on Vista and 7 compared to 2000 and XP.

Windows NT3,4,2000 - No built-in SB emulation. Use SoundFX or VDMSound. Use NOLFB, vgafix, Solvbe,dgvoodoo 1 if video issues.
Windows XP - Inferior SB emulation compared to VDMSound. Use NOLFB, vgafix, Solvbe,dgvoodoo 1 if video issues.
Windows Vista/7 - Use XPDM drivers otherwise you can't use fullscreen. Use NOLFB, Solvbe,dgvoodoo 1 if video issues.
Windows 10 - Can only use WDDM drivers so no fullscreen. Possibly solvbe or dgvoodoo1 can work. Try Solvbe,dgvoodoo 1 if video issues.

There is also the issue with EMS so may need to disable\take out hardware although I could have sworn the nglide author had a utility for expanded memory for NTVDM once.

I started NTVDM game compatibility testing when Beta 3 of Windows 2000 came out and then stopped testing it around the XP/vista timeframe for the most part. NTVDM can be used for playing games but when DOSBox came out it was a lifesaver. Only use NTVDM when you have to.

2.
Does your PC have a PC speaker?
If it does have a PC speaker can you hear any audible audio from it?
Does your soundcard have the ability to be accept pc speaker input?

3. NTVDM doesn't emulate video it uses your video card directly which is why WDDM breaks compatibility but it's also bad since the possibility of your PC freezing increases. I was testing DN3D on 2000 on my C2Q this week, couldn't get video working with NTVDM with my 980ti, didn't work with solvbe so had to use dgvoodoo1 but switching back and forth between the desktop and the game froze the pc. BuildGDX works though so no need for NTVDM.

4 and 5.
I'm not familiar with what tricks pinball fantasies or NO$GMB is trying to do. Try different video cards and different video drivers. Try booting Windows with just VGA.
Is there any reason you don't want to play Pinball Fantasies or NO$GMB in real DOS or DOSBox? Are you a glutton for punishment? NTVDM is horrible.

Last edited by DosFreak on 2020-05-22, 18:06. Edited 4 times in total.

How To Ask Questions The Smart Way
Make your games work offline

Reply 2 of 12, by xcomcmdr

User metadata
Rank Oldbie
Rank
Oldbie

The best NTVDM is WineVDM.

Reply 3 of 12, by collector

User metadata
Rank l33t
Rank
l33t

Is there a reason that you do not want to use DOSBox? NTVDM is horrible and with no sound emulation. DOSBox is simple and easy to use and is far more compatible than NTVDM, tat is unless you are glutton for punishment as DosFreak said.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 4 of 12, by collector

User metadata
Rank l33t
Rank
l33t
xcomcmdr wrote on 2020-05-22, 13:09:

The best NTVDM is WineVDM.

I agree if what you are trying to run is a Win16 app/game and it is getting better, too. If it is a DOS game then DOSBox is the obvious best solution.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 5 of 12, by xcomcmdr

User metadata
Rank Oldbie
Rank
Oldbie

I'm a big fan of Windows 3.11 inside DOSBox myself, but WineVDM is great too.

Reply 6 of 12, by RetroMaster137

User metadata
Rank Newbie
Rank
Newbie

Thanks for the replies! I don't have a 486 anymore, but I wanted to try out something, which as long as it works on both DosBox AND NTVDM alike, I can assume it should in theory, work on intended hardware. At least in its initial phase, if I ever get lucky to find the "real hardware" to test it on. I like low level programming in other consoles, but I'm still a noob here...

Reply 7 of 12, by xcomcmdr

User metadata
Rank Oldbie
Rank
Oldbie

If I want to be sure how it runs / behave, I use Windows 3.11 inside PCem. Quite a few times games refused to install inside DOSBox, but installed fine in PCem, for example.

Reply 8 of 12, by robertmo

User metadata
Rank l33t++
Rank
l33t++

and for dosbox/winevdm you don't have to use xp-time pc

Reply 9 of 12, by hwh

User metadata
Rank Member
Rank
Member
DosFreak wrote on 2020-05-22, 12:42:

Windows XP - Inferior SB emulation compared to VDMSound. Use NOLFB, vgafix, Solvbe,dgvoodoo 1 if video issues.

In XP NTVDM doesn't have SB emulation. It's speaker only.

I never tried installing an actual SB with it.

Reply 10 of 12, by Jo22

User metadata
Rank l33t++
Rank
l33t++
hwh wrote on 2020-06-24, 21:36:
DosFreak wrote on 2020-05-22, 12:42:

Windows XP - Inferior SB emulation compared to VDMSound. Use NOLFB, vgafix, Solvbe,dgvoodoo 1 if video issues.

In XP NTVDM doesn't have SB emulation. It's speaker only.

I never tried installing an actual SB with it.

Windows XP has SB 2.0 Emulation, according to its Autoexec.nt file.

@echo off […]
Show full quote

@echo off

REM AUTOEXEC.BAT is not used to initialize the MS-DOS environment.
REM AUTOEXEC.NT is used to initialize the MS-DOS environment unless a
REM different startup file is specified in an application's PIF.

REM Install CD ROM extensions
lh %SystemRoot%\system32\mscdexnt.exe

REM Install network redirector (load before dosx.exe)
lh %SystemRoot%\system32\redir

REM Install DPMI support
lh %SystemRoot%\system32\dosx

REM The following line enables Sound Blaster 2.0 support on NTVDM.
REM The command for setting the BLASTER environment is as follows:
REM SET BLASTER=A220 I5 D1 P330
REM where:
REM A specifies the sound blaster's base I/O port
REM I specifies the interrupt request line
REM D specifies the 8-bit DMA channel
REM P specifies the MPU-401 base I/O port
REM T specifies the type of sound blaster card
REM 1 - Sound Blaster 1.5
REM 2 - Sound Blaster Pro I
REM 3 - Sound Blaster 2.0
REM 4 - Sound Blaster Pro II
REM 6 - SOund Blaster 16/AWE 32/32/64
REM
REM The default value is A220 I5 D1 T3 and P330. If any of the switches is
REM left unspecified, the default value will be used. (NOTE, since all the
REM ports are virtualized, the information provided here does not have to
REM match the real hardware setting.) NTVDM supports Sound Blaster 2.0 only.
REM The T switch must be set to 3, if specified.
SET BLASTER=A220 I5 D1 P330 T3

REM To disable the sound blaster 2.0 support on NTVDM, specify an invalid
REM SB base I/O port address. For example:
REM SET BLASTER=A0
%SystemRoot%\system32\vipx.exe
%SystemRoot%\system32\vlmsup.exe

https://montcs.bloomu.edu/Software/Software-T … toexec_nt.shtml

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 11 of 12, by hwh

User metadata
Rank Member
Rank
Member
Jo22 wrote on 2020-07-05, 16:10:

Windows XP has SB 2.0 Emulation, according to its Autoexec.nt file.

That's interesting. I see that in the file, but I cannot get it to work.

Reply 12 of 12, by leecher

User metadata
Rank Newbie
Rank
Newbie

I can confirm that it has SB 2.0 support implemented, but it's a lousy implementation, that's why SoundFX 2000 etc. are preferred by most users.
The support originates from a DDK sample for NTVDM VDDs (Virtual Devicedrivers) named VSBD (Virtual Soundblaster Driver) which existed back in NT4 days. It was improved a bit with some additional functionality and then - together with MIDI support - integrated into the NTVDM.
Very simple applications using Soundblaster sound do work. If you want to test MIDI support in NTVDM, you can i.e. try megamid and play Midi files, forks fine on my Windows XP workstation 😀
https://www.sac.sk/download/sound/megam166.zip

If you have further questions, feel free to ask.