joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.65k stars 376 forks source link

How necessary is it to add Pentium 4 today? #4730

Open BridgeHeadland opened 8 months ago

BridgeHeadland commented 8 months ago

Question

Personally, I think it will be necessary if Pentium 2 and Pentium 3 are fully finished, I don't think P2 and P3 are complete yet, because Windows NT generally crashes if one of these is set as the CPU type value, whether the format is FAT16, FAT32 or NTFS. Now that I understand that WNT cannot be run in real DOS, although they can be run in DOSBox-X, in the form of dual-boot or multi-boot options, which for some reason can be run in DOSBox-X. Because support for Windows ME, which is the last real DOS-based operating system, ended on December 31, 2003, when the Pentium M was still the very latest CPU type, I see no reason for Pentium D or later to be added, unless it becomes relevant to focus on support for Windows NT operating systems, until the limit is reached, and if so I believe it is, that the prompt will not be able to continue the installation of Windows Vista from step 2, because the installation and setup files may not be able to run in DOS mode (time will tell), probably won't need Intel i10 or higher, since Intel i9 was the latest CPU type when the last update of Windows XP occurred, May 26, 2019 - I am unsure whether Windows Server 2003 and Windows Home Server are still updated or not.

Have you checked that no similar question(s) exist?

Code of Conduct & Contributing Guidelines

Torinde commented 8 months ago

TLDR: Yes. I think adding P4/SSE2 emulation today would be useful.

Both current P2 and P3 support are useful by themselves, even if there are some things to improve in each of them. Adding P3 before P2 is "perfect" was useful. Same is for P4. The major addition in P4 is SSE2 and that's useful by itself.

NT ... can be run in DOSBox-X, in the form of dual-boot or multi-boot options, which for some reason can be run in DOSBox-X.

NT can be run when using the DOSbox feature to "boot a guest OS". When doing that DOS (neither DOSbox shell nor real DOS) is not involved at all. At most you use some kind of DOS floppy boot image or DOS+Win9x HDD image to start the installation, but after the first reboot or so - no DOS is involved anymore and the operating system is NT. Ideally even for the installation you won't need DOS when DOSbox supports booting directly from the CD image.

For DOS/Win3x/Win9x (and in some sense, for the DOSbox shell) - the operating system ("kernel"?) is DOS For WinNT/2K/XP/Vista/7/8/10/11 - the operating system ("kernel"?) is NT

DOSbox emulates PC hardware allowing you to "boot a guest OS" (DOS-based, NT-based and others, "just like a real PC") and also emulates DOS kernel and DOS "external" commands (aka "DOSbox shell"), so you can run DOS programs directly, without booting any OS. The DOSbox shell always starts first (problem for 16KB RAM) and from there you can invoke the commands to "boot a guest OS", so it may look as if "WinNT runs in DOS[box shell]", but that's incorrect - actually WinNT runs in the hardware-emulated-by-DOSbox, not in the emulated-DOS-kernel.

(I try to explain that multiple times already in other issues, hopefully correctly, but maybe somebody else should try explaining better...)

Dual/Multi-boot is when you have two or more operating systems on the same computer and you can choose which to start when booting. Probably you can do that via DOSbox "boot a guest OS", but I don't think such complicated configuration is required for what you discuss.

WinME 2003-12-31, Pentium M, Pentium D Vista ... the installation and setup files may not be able to run in DOS mode

WinME extended support/updates ended 2006-7-11, but that doesn't mean all hardware released till then works with ME. Pentium M can be looked at as P3 + SSE2 = P4 Pentium D is just a dual core P4 (using later cores with SSE3). I don't know if DOSbox can be adapted to emulate multiple cores at all?

If Vista installation can't be started from a guest DOS, then you can start it from guest Win9x/XP - you did that already? Vista requirement that DOSbox-X doesn't fulfill is not CPU-related, but the lack of ACPI emulation.

until the limit is reached

The limit, without ACPI, is one of these or these. It's interesting to see where exactly it falls - what's the last build that works and what's the first that doesn't work:

Intel i10

There is no i10. There is "10th generation Core i", which includes i3/i5/i7/i9 like other generations. Multi GHz, multicore, AVX2 or even AVX512... none of that is requirement for even the latest Windows versions.

last update of Windows XP

Windows POSReady 2009 - 2019-4-9 official EOL, but afterwards there is the May 2019 update you mention and also others, unrelated to any CPU or hardware:

Windows Server 2003 and Windows Home Server are still updated or not.

Windows Home Server - 2013-1-8 Windows Storage Server 2003 - 2016-10-9 all Windows XP/2003 editions, with various efforts (POSready registry change, legacyupdate.net, etc.) can be updated up to the 2019-7-16 XP update.

Windows XP/2003 normally don't require SSE2, but some of the updates released in 2018/2019 do require SSE2 (and the same is true for Vista/2008/7)

tazok81 commented 8 months ago

As wrote @BridgeHeadland, p2, p3 cpu emulation make win9.x to crash soon or later. If they work then i feel faster (or fluent, or something like that) emulation. But, only p1 from pentium family works fine. That's my experience.

BridgeHeadland commented 8 months ago

@Torinde

If Vista installation can't be started from a guest DOS, then you can start it from guest Win9x/XP - https://github.com/joncampbell123/dosbox-x/issues/3538#issuecomment-1712944713?

Yes, I have tried but it crashed. I've done more research and found that Windows XP is the last operating system to use NTLDR and that it was replaced by Windows Boot Manager (BOOTMGR) starting with Windows Vista. Now, I don't know if the Windows Boot Manager is included in DOSBox-X, or has the ability to be included, but I doubt it, although I could be wrong. Even if DOSBox-X won't add, or has Windows Boot Manager added already, it may be that Windows Vista can be installed 100%, and run in DOSBox-X, under NTLDR, only that it will then behave in a limited way, perhaps like the last Windows Longhorn version that is based on Windows XP (Which is apparently bootable from NTDLR), but that's just pure guesswork on my part, and nothing I can confirm. If it so that DOSBox-X can only emulate NTDLR, and not Windows Boot Manager, and NTLDR is not DOS (I think), I would personally call DOSBox-X for NTLDR-Box+, and by + I mean that it works so for me that DOSBox-X is an emulator that emulates NTDLR which behaves like MS-DOS in general, in addition to itself, with FAT12 as file system, since you cannot run Scandisk in DOSBox-X, unless you do not run it in some image file with a better file system format.

Torinde commented 8 months ago

if the Windows Boot Manager is included in DOSBox-X

It's not included. What can be asked is "if the Windows Boot Manager (from the Vista installation) will work in DOSBox-X?" - I think it requires ACPI and since DOSBox-X doesn't support that yet, then the answer is No as well.

DOSBox-X can only emulate NTDLR, and not Windows Boot Manager

DOSBox is not emulating any of that. NTLDR/BOOTMGR are part of the NT operating system. And thus, yes, they "are not DOS". DOSBox-X allows you to boot a guest OS, in this case WinNT with NTLDR. DOSBox-X is not emulating those, but is providing emulated environment (mimicking the hardware of that era) where they can run as if they're running on a real PC.

I don't see a need to emulate NTLDR - isn't it enough if you can boot the actual NTLDR from a WinNT installation?