VOGONS


First post, by ONIXLabs

User metadata
Rank Newbie
Rank
Newbie

Hi all! Apologies if I've asked this in the wrong part of the forum. It's my first post.

A few years ago, I set out to build a retro (ish) PC. Whilst I'm actually old enough to just about remember Windows 3.1, what I mean by "ish" in this instance is Windows XP and Windows 7.

My rationale for wanting these operating systems is...

Windows XP
Just plain awesome. I still love it. It was fast and stable compared to previous versions of Windows (at least those that were MS-DOS based). It was also the last version of Windows to support 16 bit MS-DOS applications via NTVDM. I wanted this so I could play some older MS-DOS games like Doom, and lesser known Skyroads. Okay, I know NTVDM's Sound Blaster emulation sucks, but I can get around that at least somewhat with VDMSound.

Windows 7
Slightly more modern looking, and in my opinion, one of the best looking versions of Windows. Whilst it doesn't fully support running 16 bit MS-DOS applications (maybe it supports text mode 0...I don't remember), at least modern browsers still work in Windows 7.

Games installed on Windows XP
Doom (of course)
Heretic
Hexen
Skyroads
Fusion (Sega Mega Drive emulator)

Games installed on Windows 7
Need For Speed Underground (1 and 2)
Need For Speed Most Wanted
Half Life (1 and 2)
CS:Source

Side note: Another reason for Windows XP, or more specifically a reason that I want support for screen modes 12h and 13h is that I am a software engineer. I began programming in QBasic when I was 14, and I still enjoy playing around with QBasic today. The maximum resolutions in QBasic are 12h (640x480x16), and 13h (320x200x256)

I should probably elaborate a little in terms of the build:
Dell Optiplex 760 (the last of the Dell Optiplex series that had a Floppy Drive header)
Intel Core 2 Duo E8600 3.33GHz
4GB DDR2 RAM
256GB SSD (configured to dual boot Windows XP and Windows 7)
1TB HDD (spinning magnet for general storage)
SB X-Fi PCI
DVD-RW + 3.5" Floppy Drive
Dell U3023E 30" 2560x1600 (16:10) display

Side note: The reason I chose the Dell U3023E is because it was the largest and most modern looking 16:10 display I could find. The reason I wanted 16:10 as opposed to 16:9 is because its a reasonable compromise between 4:3 and 16:9; for example; MS-DOS games look less stretched at 16:10 than they do at 16:9

You might notice that I have (deliberately) omitted details about the graphics card, because that's what this post is about.

I need a graphics card with the following properties:

1. PCIe x16
2. Single-width card (Dell machines are built back-to-front. Double width cards conflict with the CPU shroud)
3. Driver support for Windows XP and Windows 7 (both 32bit)
4. Support for screen mode 13h and 12h under MS-DOS and NTVDM
5. Support for 2560x1600x32bpp resolution (although at a stretch, I'd be willing to drop to 1680x1050)
6. DisplayPort output
7. Ideally Nvidia, but open to other manufacturers
8. Era-reasonable 3D acceleration, on par with a GeForce 8600GT or 9800GT

Of these requirements, it is imperative that the card supports screen modes 13h and 12h.

Side note: whilst the Dell U3023E supports DisplayPort, HDMI and USB-C, I cannot use HDMI or USB-C because those ports are being used by other machines.

Here are some cards I have already tried:

GeForce 7800GTX
PRO: Good compatibility with Windows XP and Windows 7
PRO: Supports screen modes 12h and 13h
CON: Too weak in terms of 3D acceleration
CON: Only has DVI connectors

GeForce 8600GT
PRO: Good compatibility with Windows XP and Windows 7
PRO: Adequate 3D acceleration performance
CON: Only has DVI and HDMI connectors (Over HDMI, the maximum resolution is 1680x1050, and I can't use the HDMI port anyway)

GeForce 9800GT
PRO: Good compatibility with Windows XP and Windows 7
PRO: Good 3D acceleration
CON: Only has DVI connectors
CON: Does not support 12h and 13h screen modes.

Quadro FX 3800
PRO: Good compatibility with Windows XP and Windows 7
PRO: Good 3D acceleration
PRO: Has DisplayPort connectors
CON: Does not support 12h and 13h screen modes.

Quadro K4000
PRO: Good compatibility with Windows XP and Windows 7
PRO: Good 3D acceleration
PRO: Has DisplayPort connectors
PRO: Supports 12h and 13h screen modes *see below

Side note: Whilst the Quadro K4000 supports screen mode 12h, it draws uneven vertical black bars alongside vertical lines, suggesting that the card does not correctly address VGA bit-planes under 12h. I could probably live with it - I just don't want to!

ChatGPT suggested an 8800GT, but this won't work because of Dell's back-to-front architecture, and the 8800GT is a double-width card.

I think at this point I have exhausted all information about the build and system configuration I can think of.

Given this criteria and what I have already tried, what can you suggest?

Side note: As you've probably noticed, I'm firmly on the NVidia side of things, but at this stage, I would be open to trying an ATI card as well.

Thank you.

P.S. In an attempt to see if I could get the Quadro K4000 and Quadro FX 3800 working with screen modes 12h and 13h, I flashed the VBIOS firmware with both older and newer roms to see what would work. Unsuccessful on both counts. They are now bricked and can be donated to a museum. Hey-ho...at least they didn't cost much!

Reply 1 of 8, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

All those cards can do modes 12 and 13h. I can do it on a GTX 660. Doing it in QBASIC inside NTVDM is a different question. I think you need to clarify your requirements. What language version of Windows are you running and do you want DOS programs to run full screen or in a window?

Running QBASIC in NTVDM is kind of unpleasant in general because it pegs a CPU core at 100%. Dosbox might be better. (Or use QB64 or FreeBASIC.)

GBAJAM 2024 submission on itch: https://90soft90.itch.io/wreckage

Reply 2 of 8, by ONIXLabs

User metadata
Rank Newbie
Rank
Newbie
bakemono wrote on 2025-02-08, 08:41:

All those cards can do modes 12 and 13h. I can do it on a GTX 660. Doing it in QBASIC inside NTVDM is a different question. I think you need to clarify your requirements. What language version of Windows are you running and do you want DOS programs to run full screen or in a window?

Running QBASIC in NTVDM is kind of unpleasant in general because it pegs a CPU core at 100%. Dosbox might be better. (Or use QB64 or FreeBASIC.)

I had read somewhere that as UEFI was becoming more popular over the years that older VBIOS and VESA modes were being retired, but I will take your word for it re. a GTX 660. Perhaps there is something I have overlooked.

Typically what I would do is boot into Windows XP, and then run QBasic (4.5) fullscreen via NTVDM; Indeed, this would be the same for any 16 bit MS-DOS application or game, such as Doom or Skyroads (both 13h).

I want DOS programs to run fullscreen, as they would under real MS-DOS. As my original post suggests, this was all possible with the GeForce 8600GT, but failed with anything newer (except the Quadro K4000 which surprisingly sort of half worked).

There are reasons I have shied away from DosBox and QB64. Generally speaking, they don't feel like the real thing.

As you suggest, 12h and 13h work on a GTX 660. Maybe there are some more modern cards that maintain legacy VGA modes for a long time? Could you elaborate more on what I might have overlooked regarding 12h and 13h?

Reply 3 of 8, by GemCookie

User metadata
Rank Member
Rank
Member
ONIXLabs wrote on 2025-02-08, 10:18:

As you suggest, 12h and 13h work on a GTX 660. Maybe there are some more modern cards that maintain legacy VGA modes for a long time?

I just checked and both of these modes seem to work on my Nvidia T600 – a glorified GTX 1650. I was able to enter them from DR-DOS debug without issues.
3DBench, Quake, UltraForce's Vector Demo and Wolfenstein 3D ran perfectly. "Well, UltraForce did it on your PC!"
Even Mario & Luigi displayed without any artifacts, which surprised me - this game stutters on my GTX 750 Ti and fails horribly on recent AMD/Intel integrated graphics.
Impact Studios' Realtime mostly runs at 320×200 with 256 colours, but occasionally switches to mode 12h to display some fancy still images. The demo exhibited jerky scrolling in the intro, which happens to use text mode. Besides that, it ran fine.
LineWars II got past the logo, but then displayed a grey screen instead of the mission select menu.
Windows 3.1 works at 640×480 with 16 colours (mode 12h), albeit with plenty of artifacts.

P.S. In an attempt to see if I could get the Quadro K4000 and Quadro FX 3800 working with screen modes 12h and 13h, I flashed the VBIOS firmware with both older and newer roms to see what would work. Unsuccessful on both counts. They are now bricked and can be donated to a museum.

What's wrong with flashing them back?

Gigabyte GA-8I915P Duo Pro | P4 530J | GF 6600 | 2GiB | 120G HDD | 2k/Vista/10
MSI MS-5169 | K6-2/350 | TNT2 M64 | 384MiB | 120G HDD | DR-/MS-DOS/NT/2k/XP/Ubuntu
Dell Precision M6400 | C2D T9600 | FX 2700M | 16GiB | 128G SSD | 2k/Vista/11/Arch/OBSD

Reply 4 of 8, by ONIXLabs

User metadata
Rank Newbie
Rank
Newbie

I just checked and both of these modes seem to work on my Nvidia T600 – a glorified GTX 1650. I was able to enter them from DR-DOS *debug* without issues.

I wonder then what it is that I'm overlooking...perhaps it's more of an issue with NTVDM itself, than with the cards?

Windows 3.1 works at 640×480 with 16 colours (mode 12h), albeit with plenty of artifacts.

What sort of artifacts did you experience?

What's wrong with flashing them back?

I'd hazard a guess that to flash them back, I'd need a motherboard with more than one PCIe x16 slot. I don't have a PC like that anymore...well, I do, but it's a Mac Pro, and I very much doubt it would be a good idea trying to install Quadro cards in a Mac Pro.

Alternatively, if there is a way to script the flashing process, and perform it from a bootable floppy disk...that might work.

Reply 5 of 8, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie
ONIXLabs wrote on 2025-02-08, 21:10:

I wonder then what it is that I'm overlooking...perhaps it's more of an issue with NTVDM itself, than with the cards?

It depends on the video drivers, the language mode, and probably some other things. With US codepage, the text screens of QBASIC and QuickBASIC work for me both in a window and full screen. If I change to SCREEN 13 it goes full screen automatically. With Japanese code page, the programs have some wrong characters when running in a window, which is fixed when switching to full screen, but the programs won't launch at all if I'm already in full screen...

GBAJAM 2024 submission on itch: https://90soft90.itch.io/wreckage

Reply 6 of 8, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

You'll likely need to use the videoprt patch (2000/XP) if you are having issues with VESA resolutions under NTVDM that work find on DOS on the same machine.
Re: Memory for protected mode DOS games
Re: No video when running MS-DOS games in full screen

Whilst it doesn't fully support running 16 bit MS-DOS applications (maybe it supports text mode 0...I don't remember), at least modern browsers still work in Windows 7.

NTVDM in Windows Operating systems up to 10 32bit support 16bit applications just fine.

As long as you are using XPDM video drivers (not WDDM) in Windows 7 then fullscreen works. You might encounter the resolution issue that requires the videoprt patch but I don't remember if anyone coded an equivalent for a Windows OS higher than XP or if the issue still existed/exists. solvbe/dgvoodoo might work but they were flaky last time I tried years ago and since development never continued I don't see that as having changed.

There are reasons I have shied away from DosBox and QB64. Generally speaking, they don't feel like the real thing.

NTVDM isn't the real thing either. Use the tools that work best for what you want to do. Leave the feelings out of it.

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

Reply 7 of 8, by GemCookie

User metadata
Rank Member
Rank
Member
ONIXLabs wrote on 2025-02-08, 21:10:

I just checked and both of these modes seem to work on my Nvidia T600 – a glorified GTX 1650. I was able to enter them from DR-DOS *debug* without issues.

I wonder then what it is that I'm overlooking...perhaps it's more of an issue with NTVDM itself, than with the cards?

Nvidia most likely neglected the NTVDM in their later drivers. I also experienced graphical corruption upon entering these modes on a Quadro FX 2700M with Windows 2000.

What's wrong with flashing them back?

I'd hazard a guess that to flash them back, I'd need a motherboard with more than one PCIe x16 slot. I don't have a PC like that anymore...well, I do, but it's a Mac Pro, and I very much doubt it would be a good idea trying to install Quadro cards in a Mac Pro.

My original Asus Maximus Extreme has three PCIe ×16 slots. Not only that – each one can run at full speed! They simply don't make these boards like they used to...

Windows 3.1 works at 640×480 with 16 colours (mode 12h), albeit with plenty of artifacts.

What sort of artifacts did you experience?

Windows renders dark boxes in places where they shouldn't be – usually on the sides of each window. Windows 95 exhibits the same issue on recent video cards; I've seen it both in videos and on real hardware. Here's a mock-up of what it looks like:

Gigabyte GA-8I915P Duo Pro | P4 530J | GF 6600 | 2GiB | 120G HDD | 2k/Vista/10
MSI MS-5169 | K6-2/350 | TNT2 M64 | 384MiB | 120G HDD | DR-/MS-DOS/NT/2k/XP/Ubuntu
Dell Precision M6400 | C2D T9600 | FX 2700M | 16GiB | 128G SSD | 2k/Vista/11/Arch/OBSD

Reply 8 of 8, by ONIXLabs

User metadata
Rank Newbie
Rank
Newbie
GemCookie wrote on 2025-02-14, 18:00:
Nvidia most likely neglected the NTVDM in their later drivers. I also experienced graphical corruption upon entering these modes […]
Show full quote
ONIXLabs wrote on 2025-02-08, 21:10:

I just checked and both of these modes seem to work on my Nvidia T600 – a glorified GTX 1650. I was able to enter them from DR-DOS *debug* without issues.

I wonder then what it is that I'm overlooking...perhaps it's more of an issue with NTVDM itself, than with the cards?

Nvidia most likely neglected the NTVDM in their later drivers. I also experienced graphical corruption upon entering these modes on a Quadro FX 2700M with Windows 2000.

What's wrong with flashing them back?

I'd hazard a guess that to flash them back, I'd need a motherboard with more than one PCIe x16 slot. I don't have a PC like that anymore...well, I do, but it's a Mac Pro, and I very much doubt it would be a good idea trying to install Quadro cards in a Mac Pro.

My original Asus Maximus Extreme has three PCIe ×16 slots. Not only that – each one can run at full speed! They simply don't make these boards like they used to...

Windows 3.1 works at 640×480 with 16 colours (mode 12h), albeit with plenty of artifacts.

What sort of artifacts did you experience?

Windows renders dark boxes in places where they shouldn't be – usually on the sides of each window. Windows 95 exhibits the same issue on recent video cards; I've seen it both in videos and on real hardware. Here's a mock-up of what it looks like:

Those artefacts were exactly what I experienced with the Quadro K4000.

I've now installed a Quadro FX 1800, which is nowhere near as powerful, but for the era, it's certainly enough. I can run QBasic, and DOS applications in 12h and 13h without an issue, and it supports 2560x1600 over a DisplayPort cable.