[HN Gopher] Windows 11 will happily execute a binary compiled 30...
___________________________________________________________________
Windows 11 will happily execute a binary compiled 30 years ago
Author : mikkohypponen
Score : 150 points
Date : 2023-08-18 15:04 UTC (7 hours ago)
(HTM) web link (twitter.com)
(TXT) w3m dump (twitter.com)
| xhkkffbf wrote:
| I've always been sad that my old Mac software just won't run.
| It's one thing for Apple to move to new architectures. Maybe that
| was necessary. But when the emulators break after a few years,
| well, that's the part that bugs me.
|
| Microsoft's devotion to its customers shouldn't be so amazing--
| it's the way that every company should behave.
| agumonkey wrote:
| Apple had a time where they would allow even 1st gen iMacs
| (300MHz?) to get the latest MacOS X. You might have to max out
| ram but that was it, and it was very usable.
| [deleted]
| Dwedit wrote:
| That would have to be a Win32 Console App made for Windows NT
| 3.1?
| freitzkriesler2 wrote:
| I'm ashamed to admit I really like windows 11.
|
| Telometry and other questionable things aside, I've loathed and
| detested every UI change that Microsoft has done since Windows 7.
|
| I unequivocally believe that windows 7 was peak windows UX. Every
| subsequent version, I've limped by using classicshell and then
| openshell.
|
| Windows 11 is the first windows release where I didn't feel the
| need to install something to bring me back to the late 2000s.
|
| My only pet peeve is not allowing me to create accounts that
| don't tie into outlook. Yes I know there are tricks to bypass
| this but I shouldnt have to do that.
| knallfrosch wrote:
| See also
|
| https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost...
|
| one of the developers of the hit game SimCity, who told me that
| there was a critical bug in his application: it used memory right
| after freeing it, a major no-no that happened to work OK on DOS
| but would not work under Windows where memory that is freed is
| likely to be snatched up by another running application right
| away. The testers on the Windows team were going through various
| popular applications, testing them to make sure they worked OK,
| but SimCity kept crashing. They reported this to the Windows
| developers, who disassembled SimCity, stepped through it in a
| debugger, found the bug, and added special code that checked if
| SimCity was running, and if it did, ran the memory allocator in a
| special mode in which you could still use memory after freeing
| it.
| lamontcg wrote:
| From where I'm sitting this looks like an excellent argument
| for breaking backwards compatibility. All those bullshit hacks
| are a maintenance and debugging burden for someone and a tax on
| the whole rest of the operating system -- and I'd argue that it
| really shows.
| ohgodplsno wrote:
| You're sitting on the point of view of a software developer.
|
| Microsoft's point of view is that the underlying software
| doesn't matter. The user's software _has_ to run. The
| Application Compatibility Database
| (https://learn.microsoft.com/en-
| us/windows/win32/devnotes/app...) is, overall, a relatively
| small component, and all it does is apply some shims if your
| executable is in that list. Performance issues in Windows do
| not stem from anywhere near the kernel. The kernel team is
| absolutely top tier. The kernel itself is of much higher
| quality than what you'd find on Linux, or MacOS.
|
| Now, the upper layers however...
| lamontcg wrote:
| > The kernel team is absolutely top tier. The kernel itself
| is of much higher quality than what you'd find on Linux, or
| MacOS. > > Now, the upper layers however...
|
| You're not selling me on the idea that the compatibility
| layer has no cost by pointing out that the upper layers
| that reside over it are a mess.
|
| That would actually be my argument.
| ohgodplsno wrote:
| Would you consider LDPRELOAD a massive cost to Linux ?
| Because that's basically what it is.
|
| You could give me the best kernel in the world, if I end
| up reading a file whenever I push a pixel to the screen,
| my performance will be dogshit. Windows's performance
| problems are not due to the kernel (or rather, not due to
| problems/bugs: some performance issues are just a choice.
| See NTFS's dreadful performance with Git: NTFS simply
| wasn't thought out for having thousands of very small
| files all being touched at the same time.)
| rbanffy wrote:
| > The user's software _has_ to run.
|
| My concern is that a lot of security issues may have come
| from this. A clever attacker could grab recently freed
| memory from one of these programs and inject malicious code
| to enjoy whatever other weird privileges the original
| program has, because marketing said it can't crash.
| ohgodplsno wrote:
| The compatibility hacks are not "revert to old, terribly
| unsafe behavior". Rather, "use current, good behavior,
| lie to the application about what happened."
| everial wrote:
| > The kernel team is absolutely top tier. The kernel itself
| is of much higher quality than what you'd find on Linux, or
| MacOS.
|
| Have recommended sources for this or learning more? My
| experience with Windows doesn't match this at all, though
| from my perspective it's hard to tell if it's kernel as
| opposed to any of the layers above it.
| ohgodplsno wrote:
| There's an absurd number of components to the Windows
| Kernel, so here's a kind of disjointed list of various
| things, from different time frames.
|
| Windows Research Kernel -
| https://github.com/HighSchoolSoftwareClub/Windows-
| Research-K... - More or less Windows XP
|
| I/O Completion ports - https://learn.microsoft.com/en-
| us/windows/win32/fileio/i-o-c... - io_uring, but mostly
| better, since NT 3.5
|
| General architecture info:
| https://en.wikipedia.org/wiki/Architecture_of_Windows_NT
|
| A bunch of things you'll find in Windows Internals, which
| is pretty much the bible for Windows
| (https://empyreal96.github.io/nt-info-depot/Windows-
| Internals..., or buy it online. Mark Russinovich is a
| treasure trove of Windows knowledge)
|
| The various Windows subsystems - Windows is built from
| the start to be able to impersonate other OSes. While the
| most obvious one is WSL (despite WSL2 being just a VM),
| there's an OS/2 Subsystem, a POSIX Subsystem, a Win32
| subsystem...
|
| Very few things actually run in kernel mode. There exists
| a almost-kernel-but-not-quite mode called executive mode,
| which is a much better option than Linux's all or nothing
| user-or-kernel (and, as far as I know, Mach has the same
| problem)
|
| NT is a hybrid kernel: not quite monolithic, not quite
| micro. This allows Windows to do things like swapping
| your video drivers live as it's running, unlike Linux and
| Mach which would miserably crash. Hell, it can even
| recover from a video driver crash and restart it safely,
| and all you'll see is a few seconds of black screen.
|
| The breadth of devices it supports is absolutely
| breathtaking. (well, in part because they very much have
| a hand in forcing manufacturers to respect the standards
| that they write)
|
| All of Sysinternals (Mark Russinovich's work, again) is
| also an amazing resource: https://learn.microsoft.com/en-
| us/sysinternals/
|
| Now, mind you, this is purely about technical merits: the
| NT Kernel is a miracle of technology. The APIs it
| exposes, and that most Microsoft products expose are
| downright batshit insane sometimes. But that's also what
| happens when you support 35 years of software. Also, the
| HANDLE pattern that most Win32 API uses is the superior
| alternative to dumb pointers
| (https://floooh.github.io/2018/06/17/handles-vs-
| pointers.html)
|
| Oh and a bunch of The Old New Things articles, but I
| can't be arsed to look them up right now, sorry.
| PaulHoule wrote:
| Notably Microsoft _does not_ document an API to the
| kernel, the official userspace interface in Windows is
| the DLLs they provide. In that since, Wine, which
| provides DLLs that implement the same interface over the
| Linux kernel is conforming to the way windows works, and
| Cygwin, which provided a POSIX-like libc that ran on the
| Windows kernel is a Windows-centric way to implement
| POSIX.
|
| (That said, the path of WSL 1, which emulated the Linux
| syscall interface on Windows, takes advantage of the idea
| Windows NT had from the very beginning which was
| implementing "personalities" that could pretend to be
| other OS, such as the original plan for Windows NT to be
| OS/2 compatible.)
| ClumsyPilot wrote:
| > All those bullshit hacks are a maintenance and debugging
| burden for someone
|
| That's why that someone is getting paid -it's their job.
|
| If you want software to power important things in society,
| like transport and energy, you need to have a certain level
| of responsibility for reliability.
|
| As this post demonstrates, Right now we have immature
| children who are used to breaking things for the sake of a
| new fad, in charge of critical systems.
| darklycan51 wrote:
| This really bothers me and I'm young, I am TIRED of
| applications FORCING restarts, and other garbage as a
| software culture. You are doing something? Oh sorry our
| developer team thought it would be smart to crash your
| whatever task you are doing by force to give you a 2 line
| changelog.
|
| Typing a dm on discord or talking to people? boom random
| restart to force update, using firefox nightly? sorry you
| cannot use it as your main browser because they can decide
| to brick your browser randomly to force you to restart. for
| no reason whatsoever, what is the downside of just warning
| people but not FORCE restarting? none.
|
| Doing critical stuff on your pc that requires long term
| uptime? sorry Windows will decide for you to restart
| forcefully (at least these can be turned off, for now, via
| group policy)
| caycep wrote:
| I think that's why they invented containers/virtual machines
| PaulHoule wrote:
| The thing about Microsoft is that they developed a framework
| for doing that kind of thing in a systematic way so it is not
| so hackish as it sounds.
|
| That's an innocent example but do recall that circa 1995-2005
| or so, Microsoft looked like a dangerous monopolist and could
| have been in legal jeopardy if a product that competes with
| office (say WordPerfect) quit working when they went from Win
| 95 to Win 98 or Win 2k to Win XP.
|
| I'd also add that more than once I've had web pages and
| applications I've made been used as test cases by Microsoft
| and been contacted by people from Microsoft about
| compatibility issues. (... and I've never been an advocate of
| Microsoft browsers, often I've been quite the opposite.) I
| haven't heard once from Netscape, Mozilla, Apple, Opera or
| Google about something like this.
| Cthulhu_ wrote:
| From a sales point of view though, if your operating system
| can run one of the most popular games at the time, it means
| people won't just keep using the existing one.
|
| It had to be a step forward, not a step back. I mean I don't
| know what you're using at the moment, but if your favorite
| application didn't work on the next version, would you
| upgrade?
|
| This is why Apple spent so much on Rosetta, first when going
| from PowerPC or whatever to x86/64, then from that to ARM /
| M1, while in the meantime building a developer and
| application ecosystem that allows for easier transition
| between CPU architectures and environments.
| charonn0 wrote:
| Breaking backwards compatibility was one of the biggest
| customer criticisms of Windows Vista.
| candiddevmike wrote:
| This seems like an interesting vector for a virus.
| AnotherGoodName wrote:
| These older games will all work in 640kb so the fix would
| likely just have been to fence off 640kb completely from
| other apps while SimCity was running.
| binkHN wrote:
| Nice. OpenBSD does something similar, with the difference being
| that there are no exemptions for specific software--they expect
| developers to fix their broken programs.
| GhostWhisperer wrote:
| you had me
| [deleted]
| housemusicfan wrote:
| Clearly missing the point. The OP mentions DOS, so this was
| the mid-90s. OpenBSD didn't exist (Theo hadn't burned all his
| bridges with NetBSD yet). There were NO updates. You bought
| software, games especially, in a shrink wrapped box at a
| brick and mortar store. Most people outside universities did
| not have internet access. If you were an extremely privileged
| few, you could download small patches from a BBS or online
| service but this was extremely rare. You got what you got.
| The development model was different. It _had_ to work under
| any circumstances. There was no "we'll fix it in the next
| sprint!" and push it to the app store. Developers had no way
| to contact their customers.
|
| Regarding that hobbyist OS OpenBSD, where the developers care
| about nothing besides security, there were no proprietary
| application packages available. Most retailed applications in
| those days ran on SunOS/Solaris or HP/UX.
| anthk wrote:
| Gaming magazines shipped diskettes with game updates and
| patches.
| kibibu wrote:
| > There were NO updates
|
| I distinctly remember patching DOOM from 1.1 through 1.2,
| 1.4, 1.666 to 1.9
| pradn wrote:
| That's not similar at all! Windows takes the "Linux way" of
| "not breaking userspace" seriously. OpenBSD has other goals -
| some sense of minimality and clarity, but this is not one.
| vasco wrote:
| > That's not similar at all!
|
| That was the joke, friend.
| pradn wrote:
| If it was a joke, my bad !
| nullindividual wrote:
| And unlike Linux, has a stable ABI.
| blibble wrote:
| Linux has a stable userland ABI
|
| OpenBSD doesn't even have that: if you don't reboot
| quickly after installing a major upgrade you're going to
| have a bad time
|
| whereas you can run ancient userland on more modern Linux
| kernels (as evidenced by the container ecosystem)
| PlutoIsAPlanet wrote:
| The Linux kernel has a stable userland ABI.
|
| Other core components that makes up most Linux distros
| (e.g. libc, gtk, libc, curl, ssl etc) however do not.
| [deleted]
| failuser wrote:
| Counter-example: Soldier of Fortune is broken on modern windows
| because of a misapplied compatibility hack. Rename the binary
| and it works with no problems.
|
| This is an awful way to implement backwards compatibility.
| Opaque and ad-hoc. They have been using similar toolset to
| break competitors applications.
|
| The choice of what old version of windows to run the program on
| is typically to try them one by one.
|
| Linux is no better with no stable ABI. Mac is a mixed bag of
| excellent Rosetta and breaking apps for no reason. Who did it
| better? FreeBSD? Some extinct "grown-up" OS like VMS?
| belltaco wrote:
| > They have been using similar toolset to break competitors
| applications
|
| Source(s) ?
| failuser wrote:
| This, for example. And they got caught. How many times they
| did not?
|
| https://www.theregister.com/1999/11/05/how_ms_played_the_in
| c...
| lsaferite wrote:
| Your evidence is an article from 24 years ago about
| behavior that happened 32 year ago? And it's not even
| about them breaking competitors applications, it's about
| them refusing to run on a competing OS (in a bit of a
| sleezy way).
|
| Do you have more evidence of your claimed behavior?
|
| I dislike MSFT, a lot, but that's a _very_ big claim and
| needs to be backed up with evidence.
| TylerE wrote:
| Plus, let's be real, the Register is basically the tech
| equivalent of the Daily Mail. Often amusing, occasionally
| occurate.
| failuser wrote:
| Sure, but the DR DOS case is well known. Is ZDnet better?
| It also lists other cases related to efforts to destroy
| Novell.
|
| https://www.zdnet.com/article/caldera-unlocks-microsoft-
| evid...
| failuser wrote:
| My claim is that Microsoft operating system was silently
| detecting competitors software and changing behavior to
| break compatibility. That is proven. The war on
| WordPerfect was equally shady.
|
| Did Microsoft clean its act at some point and stopped
| doing so? They force Edge at every opportunity, so even
| the behavior that almost got them forcefully partitioned
| is back.
|
| I don't think we have caught them outright sabotaging
| e.g. Chrome aside from the default browser shenanigans,
| but who would bother to check unless it's a repeatable
| crash? Aside from Chrome what app do they even have a
| need to sabotage? Steam?
| Tijdreiziger wrote:
| > Mac is a mixed bag of excellent Rosetta and breaking apps
| for no reason.
|
| They will probably retire Rosetta2 in a few years, like they
| did with Rosetta.
|
| Apple usually seems to care about getting the bulk of
| applications to transition over, and the rest is just
| collateral damage/the devs should've just updated their
| software.
| duskwuff wrote:
| > They will probably retire Rosetta2 in a few years, like
| they did with Rosetta.
|
| Counterpoint: The PPC-to-Intel version of Rosetta was
| licensed technology (QuickTransit); Apple was undoubtedly
| paying for it, possibly even per user, so there were
| financial reasons for them to get users off of it ASAP.
|
| Rosetta 2 was developed in-house by Apple, so there isn't
| the same hard timeline to get users to stop using it. I
| wouldn't expect it to survive long beyond support for
| running the OS on x86, though.
| Tijdreiziger wrote:
| Yes, just like they had valid technical reasons to kill
| 32-bit iOS apps. The point is that they don't go above
| and beyond like Microsoft (although of course even MS has
| deprecated e.g. 16-bit apps).
| tinus_hn wrote:
| On the bright side, the end result is that on Mac there
| are only apps that have been updated this decade.
| BirAdam wrote:
| It could last longer if gaming with their game porting
| toolkit gets big enough to drive more Mac sales. Money
| talks.
| failuser wrote:
| Definitely. All Intel Mac apps will be abandoned. Even tiny
| apps like Spectacle will cause pain.
| Cthulhu_ wrote:
| I've found Rectangle to be a good substitute / in-place
| replacement.
| failuser wrote:
| Thanks, it actually makes sense to switch. And Spectacle
| is even open source, so the amount of pain is minimal.
| rbanffy wrote:
| > Linux is no better with no stable ABI.
|
| I'm confused. Linus has repeatedly stated that the ABI should
| be stable, "we don't break user space". There are exceptions,
| but any proposal that makes a breaking change to the kernel's
| external symbols is very hard to push through.
|
| I don't remember anything breaking because of a new kernel
| version except device drivers, which are part of the kernel
| anyway and should be compiled for a specific kernel version.
| They are not applications, so they shouldn't rely on
| assumptions about the ABI.
|
| Most Linux distros offer mechanisms to compile a version-
| dependent interface to isolate a version-independent driver
| or program that messes too closely with the kernel.
|
| > Some extinct "grown-up" OS like VMS?
|
| I'd say the age of binary compatibility ended with most of
| those "grown-up" OSs becoming legacy. I usually test (compile
| and test) my C code on multiple platforms, ranging from
| Windows to Solaris on SPARC (emulated these days, sadly). I
| haven't yet figured out a cost-effective way to test it under
| IBM z/OS's USS (which makes z/OS a certified UNIX).
| aleph_minus_one wrote:
| > Linus has repeatedly stated that the ABI should be
| stable, "we don't break user space".
|
| Linus said that the _kernel_ API should be stable, which
| mostly is. But a GNU /Linux system contains a lot more APIs
| (in user mode) than a kernel API.
| mrguyorama wrote:
| Search for the bonus chapters to Raymond Chen's "Old new
| thing", which goes through MANY examples of how there was an
| entire team who's job was to go through popular applications
| and hack windows to make them work on the new OS
| shortlived wrote:
| Even more "insanity":
|
| z/OS (aka OS360 aka MVS) supports programs going back to the 60s
| and I just talked with a DE at IBM who is still using a program
| compiled circa Apollo 11 mission.
| armchairhacker wrote:
| Does Linux have this backwards compatibility? What about macOS?
|
| I know instruction sets changed from PowerPC to Intel to ARM, so
| probably not macOS at least. But this is a CLI and I doubt old
| system calls changed
| anthk wrote:
| Linux will just compile 30 yo binaries.
| no_time wrote:
| So much so that even only linux, the most stable API arguably is
| win32 through wine. Atleast for desktop related tasks.
| doublepg23 wrote:
| Are the compatibility issues on Linux really an API issue or
| having incompatible, newer versions of libraries? The effect is
| the same, your old program doesn't run, but the cause is very
| different.
| Asooka wrote:
| The latter. Old versions of libraries aren't maintained and
| you're on your own to compile effectively from scratch an
| entire distro's worth of libraries. Ironically, it should be
| easier to have as strong backwards compatibility on Linux as
| Windows, since all .so files are versioned and almost never
| break the API within the same major version, so you're spared
| the DLL hell of a program linking with blah.dll expecting it
| to be version 1, but you have version 7 installed. On Linux
| the program would link with libblah.so.1, not the
| libblah.so.7 you have installed.
| fredoralive wrote:
| Incompatible, newer versions of libraries is an API issue? An
| OS is more than a kernel, and on Windows if you link to the
| standard set of libraries provided with the Windows,
| Microsoft tries not to break them.
| davidcollantes wrote:
| Is there a link someone could share (other than the one to the
| post)?
| snickerbockers wrote:
| That's cute and all, but it's fucking gzip. It doesn't have
| complex dependencies.
|
| Pretty sure Linux could run a 30 year old gzip binary too. I've
| never needed to do that with gzip but I have definitely run
| binaries of a similar vintage without issue.
|
| Windows backwards-compatibility fails miserably on non-trivial
| programs, you're generally pretty lucky if you can get something
| from the XP-era or older to work out of the box.
| herpderperator wrote:
| Someone ran the gzip binary on Linux just fine:
| https://twitter.com/stderrdk/status/1692652013711221045
| veave wrote:
| It's not really insane, what's insane is Apple refusing to run
| 32-bit executables.
| baal80spam wrote:
| And that's why Microsoft will dominate corporate PC market for
| the foreseeable future.
| Sohcahtoa82 wrote:
| I dunno, based on my anecdata of my last two jobs, Mac is
| starting to take over.
|
| Shit, at my current job, we're developing software that runs
| solely on x86-64 Linux (And our output is an entire VM image,
| not just an executable), yet we're running on M1 Macs. TBH,
| it's quite painful and I wish I understood what the hell the
| engineering department is thinking, since you can't run x86-64
| VMs on M1 hardware.
|
| But for gamers, Windows's backwards compatibility makes it
| king. I can usually easily run 15+ year old games without a
| hitch.
| pjmlp wrote:
| I bet you're located on North America.
|
| Across the rest of the world macOS numbers aren't that high,
| still better than "Desktop Linux" though.
| pjmlp wrote:
| Yeah, only beaten by IBM and Unisys compatibility on their
| UNIX, mainframe and micro systems.
| afavour wrote:
| Eh. More and more native software is being replaced by web
| versions (or versions that run inside a web _view_ ). I'd argue
| that is going to be the more important compatibility test in
| the coming years.
| jbluepolarbear wrote:
| Even so, a lot of those corporate web applications rely on
| .net frameworks for integrating with shared point, ad, and
| many other established enterprises services and applications
| so they're still stuck to windows. An example, all my
| partners medical software is through a browser but requires
| multiple system frameworks to function. Also they're all
| using Remote Desktop to Amazon workspaces that are running
| windows.
| c7DJTLrn wrote:
| Not really, the average user doesn't give a shit about
| backwards compatibility, they care about being able to create
| slideshows and send emails. Windows will dominate for the
| foreseeable future because of deals with manufacturers.
| hx8 wrote:
| Corporate IT cares about managing all of the devices inside
| an organization. If a sizable portion of the workforce needs
| windows for access to platform specific programs then having
| non-Windows systems for other users that achieve what Windows
| can do is just overhead for IT and can see pushback.
| 40yearoldman wrote:
| Is it? Maybe insane in a bad way.
|
| Right click on windows desktop had what now 3 different menus
| that might show depending on what you want to do. Oh. And let's
| not talk about how much of what you see just covers the stuff up
| from 1998. Still rendering the old stuff only to have a slightly
| larger menu render right on top of it.
| gotoeleven wrote:
| The Windows 11 UI experience is opening up new markets for
| Microsoft. For example, Windows 11 is sold to medical schools
| as Microsoft Stroke Simulator 2023.
| baal80spam wrote:
| You raise a valid point. Still, I'd rather be able to run
| software I need than not.
| Supermancho wrote:
| We have containers now. You can still run it.
| bastardoperator wrote:
| Agreed. I would say backwards compatibility at this point
| hinders development and it shows in windows when you're looking
| at 5 different UI's. I have a 4k monitor, and the installers
| all look blurry because they can't scale up. We can't even get
| decent looking icons that were created in the last decade.
|
| Honestly, I think a barebones, absolute minimist windows OS
| would be something that interest a lot of technical users. You
| can only stack shit so high.
| binkHN wrote:
| > ...absolute minimist windows OS...
|
| https://support.microsoft.com/en-
| us/windows/windows-10-and-w...
| bastardoperator wrote:
| "it allows only apps from Microsoft Store"
|
| That's a showstopper... but cool, ty for sharing
| iknowstuff wrote:
| > Still rendering the old stuff only to have a slightly larger
| menu render right on top of it
|
| Hahah no way? Is this documented somewhere? And the new UIs are
| slooow!
| pdpi wrote:
| Microsoft's commitment to backwards compatibility is definitely
| one of the strengths of the Windows platform. On the flipside,
| it's also at the root at the insanity that is the forbidden word
| list in MS Teams channel names.
|
| https://learn.microsoft.com/en-us/microsoftteams/limits-spec...
| vb6sp6 wrote:
| [dead]
| mrwnmonm wrote:
| I clicked on it thinking something else :(
| [deleted]
| badrabbit wrote:
| But it is also this compatibility that makes it slower for
| certain programs.
| [deleted]
| rkagerer wrote:
| It's not insane, it's my expectation for a tool. My hammer still
| works perfectly well with nails I bought 30 years ago.
|
| It's impossible to build on shifting foundations that are
| constantly breaking backward compatibility. You eventually spend
| all your time maintaining instead of creating.
|
| Then you have to go reinvent your wheel, and in my experience as
| a user your shiny new one isn't necessarily better.
|
| Most of the software I use is more than 10 years old. Some is
| still updated, some is not (or went cloud and left me happily
| behind).
| 38 wrote:
| Non crap link
|
| http://farside.link/twitter.com/mikko/status/169250324959558...
| dartharva wrote:
| Nitter hasn't been working for me since a few days ago. Is it
| just me or did X break it?
| joos3 wrote:
| https://news.ycombinator.com/item?id=37131559
| blibble wrote:
| yes it can run things that don't use much of the API surface
| (just using libc? probably fine)
|
| however try running a game from the Windows 95/98 days and you've
| got a maybe 50/50 chance of it working
|
| e.g. they changed the return code from BitBlt from 95/98 -> XP,
| they used to return the number of scanlines but switched it to a
| boolean
|
| same with the heap management functions, directory traversal
| functions, etc
| mikkohypponen wrote:
| Some stuff works fine. See
| https://twitter.com/mikko/status/1692552661374005450
| blibble wrote:
| just don't try anything that used safedisc
| pjmlp wrote:
| Those issues only apply to Windows 9x linage.
|
| Current Windows versions trace back to Windows NT 3.51/2000
| linage.
|
| Naturally 9X => XP don't work flawlessly, they are two
| different OS stacks.
| blibble wrote:
| well yes
|
| however it sort of undermines the "insane compatibility" /
| "stable API" point if mass-market Windows software produced
| before the 2001 release of XP mostly doesn't work on modern
| Windows
|
| NT effectively forked Win32 (introduced with Windows 3.1)
| into something incompatible
|
| (meanwhile it all runs on Wine perfectly fine)
| pjmlp wrote:
| What? Windows NT never forked anything.
|
| Windows 3.1 introduced Win16 protected mode with segmented
| memory.
|
| Win32s was a backport from a Win32 subset from Windows NT
| 4.0.
|
| Windows NT linage exists since 1993.
| eternityforest wrote:
| Try running something from only ONE year ago on Linux and it
| very often won't work, unless it's an Appimage or Flatpak, or
| you're on Nix,
|
| They might not break userland but Qt and GTK do the breaking
| for you. Python joined the party recently. Random DBus daemons
| might be missing, etc.
| znpy wrote:
| Someone's gonna come and say that linux has that too, and while
| technically true it's quite hard in practice.
|
| The kernel abi is stable, everything else is pure chaos, and this
| is mostly due to how applications are usually packaged in linux:
| your app could load (as long as it's not in a.out format) but
| then would fail at loading most libraries. So effectively you
| _need_ a whole chroot with the reference linux distro (or other
| runtime in general) and I'm not so sure you could find archives
| of 30 years old distros.
|
| And I'm assuming that the kernel abi hasn't actually changed a
| single bit and that no other interfaces changed either (stuff
| like /proc or /sys - /sys wasn't even there 30 years ago i
| think).
|
| And if you're running an Xorg app, I wouldn't bet my lunch on
| that level of protocol-level compatibility.
| msla wrote:
| It works in Linux the same way it works on Windows: If you
| don't have the dynamic libraries and configuration you need, it
| won't work.
|
| Why this is a mark against Linux and not Windows is beyond me.
| znpy wrote:
| Eh, kinda. On linux you can only assume kernel abi
| compatibility whereas pn windoes you can assume the basic
| runtime (win32 or whatever) to be present and available.
| rco8786 wrote:
| I remember hearing that Windows 7 (XP?) had some code
| specifically to support the original SimCity game in it.
| kmoser wrote:
| I have a command line Windows binary compiled over 30 years ago
| (June 1996) that _won 't_ run on Windows 10 (64 bit). Windows
| complains, "ANAGRAMS.EXE is not compatible with the version of
| Windows you're running. Check your computer's system information
| and then contact the software publisher."
|
| Is this issue specific to Windows 10, and would it work on
| Windows 11?
| brailsafe wrote:
| Almost 30 years ago*
| rootw0rm wrote:
| have you tried various compatibility options? right click ->
| properties -> compatibility
|
| there's a troubleshooter there, too
| NullPrefix wrote:
| XP games don't work on Win7. Doubt they fixed it for Win10 or
| whatever the current version is.
| sumtechguy wrote:
| That is very hit or miss. Out of the 1200 or so I own I have
| maybe 20 or so that do not run because the game did something
| weird with the APIs (or starforce).
| alaxapta7 wrote:
| I don't have nearly as large sample size, but all the games I
| used to play on XP work fine on W10. And I don't think I've
| used the compatibility mode, ever.
|
| Actually yes, C&C Red Alert 2 was running slow, but the
| community came up with patches that make it play nice,
| including the multiplayer which now works better than it did
| back in 2000.
| bartread wrote:
| All the people on that Twitter thread getting butthurt about it
| and complaining that Windows' backwards compatibility is a bad
| thing... WTF koolaid have they been drinking?
|
| I don't often sing Microsoft's praises but backwards
| compatibility is something they get absolutely right: something
| they've _always_ got right. Everything doesn 't have to be
| changing and breaking all the time and, to me, it's a mark of
| maturity when an organisation can maintain compatibility so as
| not to inconvenience - and introduce unbudgeted (and sometimes
| very high) costs to - users, integrators, and consumers. Top
| marks, Microsoft.
| galleywest200 wrote:
| I agree.
|
| As an example: The Xbox Series X, their newest flagship model,
| is fully backwards compatible with all of the Xbox physical CD
| games from all Xbox systems. Just pop the CD in and you are
| good to go.
| Asooka wrote:
| The Linux world would benefit strongly from having a much
| bigger commitment to backwards compatibility in foundational
| libraries. Obviously there is nobody who can force e.g. OpenSSL
| to keep supporting old versions or to provide them as wrappers
| over the latest version, or to force GTK to keep around working
| versions of libraries exposing all interfaces dating from GTK
| 1.0 onwards. But if we could have a project to do just that,
| that would be great. We all want people to move with the times
| and adopt new versions of their dependencies so security
| exploits can be patched, but right now if you're writing
| software for Linux, either you package all your dependencies
| with it (forever calcifying all security exploits), or you keep
| on top of all updates of everything you use, or your software
| simply won't run within a couple of years. The open source
| community lives and dies by the ability of users to run
| existing software. Effectively continually deleting open source
| software from existence, while windows keeps supporting every
| single program written since 30 years ago, means we're always
| falling behind in usefulness. There ought to exist an
| organisation dedicated to maintaining old versions of widely
| used system libraries either in their original form, or as
| wrappers over the new versions (to the extent possible), so
| that people can rely on their existing software. Since we're
| talking about open source, that would mean maintaining the
| development kits as well, so old source can be built on new
| systems. It makes no sense to just let all this work rot, it is
| our greatest treasure.
| PlutoIsAPlanet wrote:
| > The Linux world would benefit strongly from having a much
| bigger commitment to backwards compatibility in foundational
| libraries
|
| No point when this problem has been solved with containers
| (docker, flatpak etc).
| bryanlarsen wrote:
| That's pretty much exactly what Red Hat does with their
| Enterprise Linux.
| paxys wrote:
| I'm going to go ahead and say operating systems that _don 't_
| work this way are the exception. Running a 30 year old binary
| isn't all that big a deal. Pretty much every mainstream system
| does so every day in its day to day operation.
| sitzkrieg wrote:
| try running a plain c linux userspace program from the 90s
| without recompiling it on any modern distro of your choice
| AnotherGoodName wrote:
| Specifically you can't run a.out binaries anymore and ELF
| came about in 98.
|
| So that's a pretty hard limit. Linux can run binaries that
| were compiled to the latest binary standard in 98.
| sitzkrieg wrote:
| how about the oldest elf on the latest x86 distro
| available? please dont ruin my contrived abi changes
| example!
| pjmlp wrote:
| ELF came out in 1994, kernel 1.0.9.
|
| Slackware 2.0 was one of the first distributions to ship
| it.
| housemusicfan wrote:
| macOS won't let me run binaries from 5 years ago, let alone 30.
| toast0 wrote:
| iOS and Android aren't 30 years old, so that's not possible.
| Assuming you get by signing/appstore/etc, I don't think you can
| take a compiled app from early iOS and run it on an iPhone now;
| Apple removes old apis and there's the whole 64-bit transition
| too.
|
| Google isn't as aggressive and most? apps are bytecode only,
| but I kind of don't expect an apk for Android 1.0 to function
| properly if run on an Android today. At least if it does
| anything advanced with networking or needs permissions that
| changed a lot.
|
| Linux should work if it was static compiled, and probably helps
| if it doesn't use audio; because Linux audio has changed a lot
| in 30 years. A dynamically linked Linux binary from 30 years
| ago is nearly hopeless, because it would have been linked
| against a different libc that's in common use today, and I
| doubt that will be on your system today. If you had the full
| filesystem, it _should_ run in a chroot.
|
| MacOS was System 7 in 1993, on 68k, not power pc. Those
| applications aren't running on your M2 without emulation.
| Dropping 32-bit support doesn't help either, of course.
|
| FreeBSD 1.0 was released in November 1993, so it's not quite 30
| years old, but I suspect a static compiled app may work, but
| libraries will be hard. FreeBSD makes compat packages to get
| libraries to run older software, but I don't see one for 1.x or
| 2.x, the package for 3.x was marked expired in 2010, but
| compat4x seems alive and well; that gets you 20 years of
| probable compatability.
| robomartin wrote:
| I have always believed this has been one of the primary reasons
| for which Windows won decisively against MacOS.
|
| Apple has never had a problem throwing away their customers'
| investment in their ecosystem. I was at a company with several
| hundred Macs when the transition away from PowerPC happened. It
| was just brutal. And costly. Not just hardware, software too.
|
| And, what for? From a business perspective, you can do the same
| fundamental work woth both systems. The difference are: My
| investment is protected in one case and not the other. We have a
| bunch of Macs here. Only where absolutely necessary and for
| multi-platform testing.
|
| As much as MS is maligned by purists, the truth of the matter is
| they have always protected their customers by having a remarkable
| degree if backwards compatibility, which isn't easy to achieve
| and maintain.
| Pxtl wrote:
| Meanwhile my new Android Pixel phone will run literally none of
| the Android apks I bought 5 years ago on humble bundle because
| it's 64-bit only and they're all 32-bit.
| esalman wrote:
| My windows 11 upgrade experience was one of the smoothest ever. I
| was playing AOE, got a notification that my machine is eligible
| for upgrade, paused and saved the game, did the update and
| resumed.
| jmkni wrote:
| What I find so frustrating is that Windows, under the hood, is so
| solid.
|
| It's just the UI with Bing/Ads/telemetrics/etc integration is so
| crap, like they've ruined a solid OS with crappy surface level
| stuff.
| FirmwareBurner wrote:
| It's as if, it's a product made by a giant corporation with
| over a dozen different teams of skilled people, with different
| managers and different visons on how their own team's work
| should impact the final product for their own career
| advancement purposes.
| 6D794163636F756 wrote:
| I would like to refer you to Conway's law for business which
| states that, "Organizations, who design systems, are
| constrained to produce designs which are copies of the
| communication structures of these organizations."
| FirmwareBurner wrote:
| My point.
| veec_cas_tant wrote:
| Sure. Apple is also giant and (probably?) fits those
| descriptors as well. Why is Mac so solid under similar
| circumstances?
| pjmlp wrote:
| I suggest hearing to ATP Podcast or Upgrade rants regarding
| how "solid" macOS happens to be.
| FirmwareBurner wrote:
| _> Why is Mac so solid under similar circumstances?_
|
| Where do you see MacOS ruining 30 year old binaries?
| rchaud wrote:
| There's B2B Windows and B2C Windows. B2C is the license
| sold to OEMs, who will fill up the OS image with bloatware
| anyway to make a few extra bucks. Microsoft is just getting
| in on that now.
|
| B2B Windows is the stuff you would see for enterprise
| buyers with strict IT policies. Your experience will be
| mostly unchanged from "classic Windows".
| necovek wrote:
| I've only used MacOS for a year and only recently (maybe
| that matters), and I get all the same crappy inconsistent
| behaviour I do on Linux and did on Windows ~20 years ago
| when I last used it.
|
| Apple has the benefit of controlling both hw and sw and
| still manage to mess it up.
|
| Random crashes, slowdowns for long running sessions, crappy
| UI (eg those labels not checking their checkboxes in
| Settings), network weirdness (both USB ethernet
| dongles/hubs and internal WiFi), my USB audio interface
| picking up garbled audio which requires reselecting audio
| interface for it to fix itself...
|
| Maybe I am doing something different, but it's even worse
| than Linux for the most part.
| moonchrome wrote:
| You haven't used Windows in quite a while have you ? Past
| Windows 7 it's been sliding downhill into bullshit UX,
| crapware, backend migration to Linux almost exclusively,
| etc.
|
| Random things on top of my head :
|
| MacOS doesn't come with candy crush, Instagram, TikTok,
| Spotify etc. prepopulating your start menu. Phone home
| telemetry and ads in OS ? Yummy
|
| Dealing with Windows dev environment is always a PITA
| eventually - unless you're doing stuff where Windows is
| first class citizen (like games). For backend stuff it's
| almost implicit that you're running on Linux in prod and
| macos is well supported because it's fairly similar. On
| Windows it's always some path issues, stuff randomly
| breaking between updates, missing/incompatible CLI, etc.
|
| Brew is pretty good. Chocolatey is garbage.
|
| MacOS is fairly visually consistent. Windows regularly
| has me in Windows XP era screens, reached through 3
| inconsistent UX steps developed along the way. Even Linux
| is better in this regard.
|
| I like Linux when it works. Mac works more often. Windows
| is just a dumpster fire at this point.
| nelsondev wrote:
| Apple employs "Release Managers", where a single person is
| ultimately responsible for deciding which features ship in
| new projects.
|
| Apple also, due to the hardware business, adheres to a
| release schedule where features must all be consolidated
| onto single branches ("convergence"), rather than letting
| individual teams ship incrementally.
| roneythomas6 wrote:
| Not to mention Apple only has to support a limited number
| of hardware and they regularly drop support for older
| hardware with each new major release.
| vladvasiliu wrote:
| That may be so, but all the annoyances I have with
| windows don't seem hardware-support related. The laggy
| menus, the clock in the taskbar that slides to the right
| outside of view, etc. This can't possibly be related to
| the fact I have a shiny, brand-new Wi-Fi card.
| FirmwareBurner wrote:
| _> the clock in the taskbar that slides to the right
| outside of view, etc._
|
| What? I've never seen the taskbar clock ever move.
| vladvasiliu wrote:
| How this usually happens is that there's a notification
| indication. I'd click on the clock to show the
| notification center, dismiss the notification, and the
| clock would slide "too much" to the right, so that almost
| half of it is outside the screen.
|
| A quick google search doesn't bring my issue up (I'll try
| to take a screenshot next time it happens, but I'm
| usually too annoyed of having to use windows to think
| about it). But it did bring up a separate issue, where
| the right-hand side icons area (system tray?) and the
| clock are moved _down_ so that only the top of the date
| is showing. I 've never had that one.
|
| I think these are lag-related, as in things move when
| something opens. But if the thing before didn't complete
| or something, the new thing happening doesn't get to
| remove the old one as expected.
|
| The other day, on a PC that was doing whatever it is that
| windows does when the CPU fan goes full tilt while
| pretending to be asleep (complete with the blinking power
| light), after waking it up, I managed to have both the
| notification center and the quick settings displayed. I
| mistakenly clicked on the notification, then immediately
| on the settings. The notification panel took forever to
| show up, and it showed while the settings panel was still
| showing.
| veec_cas_tant wrote:
| These issues from the original comment are not related to
| Microsoft supporting a wide variety of hardware:
|
| > ...the UI with Bing/Ads/telemetrics/etc integration is
| so crap...
| FirmwareBurner wrote:
| Those issues are because some exec in Microsoft decided
| that they can monetize user data and since users already
| don't care their data being monetized by Google, then
| they themselves not monetizing it as well, means leaving
| money on the table since users don't care anyway.
|
| That's the logic. Using Windows web components is similar
| to using Google products.
| Krasnol wrote:
| Apple is not even on the same "giant" shelf as Windows, so
| the circumstances are not similar either.
| BirAdam wrote:
| This. I use Tiny11 for this reason. The UI is still super
| inconsistent, but otherwise it's fine. Mac bothered me by
| likewise becoming inconsistent, but also soldering everything
| so the machine is bricked when an SSD or battery dies. In the
| Linux world the UI has never been consistent, but what really
| bothers me is that everything is constantly changing unless one
| uses enterprise Linux, but then I don't get hardware support
| so... Winders it is.
| e40 wrote:
| Really? Filesystem performance on Windows is absolutely
| horrible compared to Linux. It blows me away how, even using
| SSDs, the performance of git over large repos is at least 10x
| slower than a Linux box with the same CPU. It is the bane of my
| existence. It's not just git. rsync of a large directory takes
| >10x as long. This is with Server 2016 (and 2012 r2). My 2012
| r2 machine had spinning disks and when I tested on 2016 with
| SSDs I was shocked the situation did not improve.
| adzm wrote:
| This is true. I'm not sure what the obstacle is, and I know a
| lot of smart people have worked on it, but opening a ton of
| files and traversing a bunch of them in directories is very
| slow. Once the file is open, IO is just as fast though.
| amlib wrote:
| Unless you have antivirus software and god knows what
| analyzing the files, then IO is actually slower...
| martinald wrote:
| My guess is ACLs, which are enabled by default on NTFS but
| not (afiak) on most linux distros using ext4.
| e40 wrote:
| Extended attributes are definitely turned on in my ext4
| filesystems and to my knowledge I didn't do anything to
| turn them on.
| WorldMaker wrote:
| Filesystems are a database and have to deal with CAP
| Theorem trade-offs like everything else. Windows and NTFS
| both took a heavy focus on Consistency/(lack of) Partitions
| over Availability. Most POSIX operating systems and their
| filesystems took a heavy focus on Availability at the
| expense of Eventual Consistency and Sometimes Partitions.
|
| Neither approach is wrong, they are just very different
| approaches with very different performance trade-offs.
|
| Also Windows' filesystem supports an entire plugin stack
| including user-space plugins, to support things like anti-
| virus scanners and virtual filesystems and all sorts of
| other things. Not all of Windows' "slow" filesystem is
| first-party problems, a lot of it can be third-party
| drivers and tools that are installed.
| godshatter wrote:
| I remember hearing that allocating space on NTFS on
| Windows takes a long time for a large amount of files
| and/or disk space compared to ext4 and the like on linux.
| Presumably they are built to write out 0's or something
| when they do that whereas in linux you're just updating
| inodes or whatever. I remember this was in reference to
| Steam allocating file system space for game files before
| downloading them.
|
| I don't know if it was the views of the designers of NTFS
| taking a different set of priorities or if it's more that
| NTFS wasn't designed as well as some linux file systems
| were.
| blibble wrote:
| a local filesystem that can only be mounted once and of
| which state is 100% controlled by one entity (the local
| kernel) is not a distributed system
|
| the CAP theorem simply does not apply
|
| Windows IO subsystem was simply designed for
| extensibility over performance
| WorldMaker wrote:
| A) It's a _useful_ analogy whether or not you think it
| technically applies or is a perfect analogy.
|
| B) The Windows filesystem (and to an extent the POSIX)
| isn't just "local", it also includes transparent and
| semi-transparent network file storage.
|
| C) Windows and POSIX are both _multi-user_ and _multi-
| process_. They operate over multiple cores and multiple I
| /O buses.
|
| Even if it just one system API centralized in charge of
| all that, it still needs to be built on top of complex
| distributed dance of mutexes/locks/semaphores/other
| distributed control structures. Because of the nature of
| I/O control there are complex caches involved and
| transaction semantics of when data is actually pulled
| from/flushed to low level data stores. The transaction
| model in turn is reflected in what the files look like to
| other users or processes running at the same time.
|
| Windows and NTFS combined have strong transaction
| guarantees that other users and processes _must_ see a
| highly consistent view of the same files. It makes heavy
| uses of locks by default even for cached data. POSIX
| favors the "inode" approach that favors high
| availability and fewer locks at the cost of eventual
| consistency and the occasional partition (the "same" file
| can and will sometimes have multiple "inodes" between
| different processes/users, many common Linux tools rely
| heavily on that).
|
| Those two different transaction models are most easily
| explained in analogy to CAP Theorem. They _are_ very
| different transaction models with different trade-offs.
| Whether or not you see a single "local machine" or you
| see a distributed system of cores, processes, users,
| diverse I/O buses is partly a matter of perspective and
| will reflect how well you personally think CAP Theorem is
| a "perfect" analogy for a filesystem.
| blibble wrote:
| an NTFS volume can only be mounted by one entity at a
| time, the same as a zfs volume, ext4 volume, btrfs volume
| with 100% of the state managed by a single entity
|
| it is almost the definition of "not a distributed system"
|
| the fact there might be nfs/smb/ceph/... volumes bolted
| into the same namespace that happens to include it does
| not make it one (and neither does requiring transactions)
|
| > Windows and NTFS combined have strong transaction
| guarantees that other users and processes must see a
| highly consistent view of the same files. It makes heavy
| uses of locks by default even for cached data. POSIX
| favors the "inode" approach that favors high availability
| and fewer locks at the cost of eventual consistency and
| the occasional partition (the "same" file can and will
| sometimes have multiple "inodes" between different
| processes/users, many common Linux tools rely heavily on
| that).
|
| this is literally is not true, they are different
| abstractions
|
| and I suggest you observe the size of a large file being
| copied if you want to see how "strong" NTFS "highly
| consistent views" are
|
| https://devblogs.microsoft.com/oldnewthing/20111226-00/?p
| =88...
| pjmlp wrote:
| Sadly a consequence of how NTFS plugin architecture works.
|
| Using Windows 11 the answer is ReFS.
| FreshStart wrote:
| Did they not try to fix that user attention gets resources
| Bug called a scheduler?
| ZanyProgrammer wrote:
| You forgot the mandatory MSFT accounts to sign in with no way
| around last I checked (a few months ago).
| terminous wrote:
| Use the email no@thankyou.com with any password. It will let
| you install on Win 11 with a local account.
| [deleted]
| bakuninsbart wrote:
| Is this Windows 11? On 10 Pro you were just able to click
| past it. Need it for office though, I think.
| zamadatix wrote:
| Windows 11 Home requires you to get a working internet
| connection to continue. Windows 11 Pro doesn't as of the
| 22H2 version but it still has dark patterns. For Office you
| can still use other licensing methods, even for O365, but
| as a typical consumer getting it legitimately you'll de
| facto need a Microsoft account.
|
| Using "no@thankyou.com" for your Microsoft account (and any
| made up value for the password) allows you to skip this
| requirement in any version of 10/11 as someone got that
| account banned and the Microsoft workflow bails out since
| they naturally don't want to force onboard a banned user to
| a new account. This still requires internet during install
| though, it just works around needing to make an actual
| account.
|
| It's a shame how much of a dance the install process has
| become.
| darknavi wrote:
| Last time I checked you could log in locally if the install
| process never detected an internet connection. A terrible
| work around but (at the time) a functional one.
| Tijdreiziger wrote:
| I've also heard that the following trick still works: enter
| the email address no@thankyou.com with any password, this
| account has been tried so many times that it's been locked
| out, so the installer will let you continue with a local
| account
| alpaca128 wrote:
| Afaik this doesn't work anymore on Windows 11 unless you
| change some configuration in the shell and reboot before
| doing the setup.
| jwells89 wrote:
| It's a bit surprising that there isn't a project that takes the
| old Windows "shell replacement" (LiteStep, etc) idea a bit
| further and replaces the majority of the Windows userland.
| That's probably more challenging now than it was in the XP-
| Vista-7 days but should still be doable.
| kjellsbells wrote:
| Its famously determined, but I feel that a DOS CLI app isnt much
| of a challenge since the DOS subsystem is essentially ossified.
| What would be the result if, say, you tried to run something
| DOS-y that was demanding or an early Win16 app? Say, Zortech C++
| from 1986 with the Pharlap DOS extender or Minesweeper from
| windows 3.1. Would they work?
| touseol wrote:
| That's not a DOS app, it's a Win32 console app. DOS apps
| (16-bit or 32-bit) or Win16 apps would not run natively.
| sumtechguy wrote:
| That depends on if they are using 64 bit or not. The 16bit
| VDM was deprecated on that move from 32 to 64. Which is the
| majority of most installs these days.
|
| What is kind of neat is every windows application/dll is a
| valid DOS application. The first part of all of them is a
| valid MZ DOS 16 EXEcutable. Windows just treats it as a
| skippable header and reads the real header that is about 100
| bytes in and then decides which subsystem to fire up (win3x,
| win32, OS/2, etc). But if you take a exe compiled today with
| current tools and put it on a DOS 3.3 box it would run the
| exe and print out it can not run (the exe has that in there).
|
| Also from that era not all DOS applications were exclusively
| 16 bit. Many were hybrid. Just to have better control over
| the memory space instead of using segmentation was usually
| worth the speed boost (as well as the bigger registers).
| Windows from that era usually had extra 'pid' file where you
| could basically tag the executable as 'hey you are about to
| run a 32 bit app get out of the way windows oh and support
| dpmi while you are at it'.
| Dwedit wrote:
| OTVDM will allow running 16-bit windows programs on modern
| 64-bit windows.
| TillE wrote:
| OTVDM is great, but it's just using Wine. Windows really
| ripped out the whole 16-bit compatibility layer, which is
| a little sad.
| touseol wrote:
| If that was a Windows 10 screenshot then yes there would
| have been the possibility of it being the 32-bit edition
| running a DOS app through NTVDM. But the poster says
| Windows 11, which does not have a 32-bit edition.
|
| I'm not aware of 64-bit Windows being able to run 32-bit
| DPMI DOS apps natively, I think those still required NTVDM.
| sumtechguy wrote:
| > I think those still required NTVDM
|
| Pretty sure you are right. As I think that is what setup
| the interrupts for it. Win9x did it very differently and
| would basically just put command.com back in charge of
| stuff to sort of make it work with a sys file. NT with
| DPMI programs was usually _very_ hit or or miss (more
| miss). If they did not play just right with windows the
| thing would just crash out.
|
| Think there might be a win11 32 bit out there. But
| nothing that MS sells to normal end customers. But my
| brain may be playing tricks on me and I am confusing
| different articles I have read. But that would probably
| be some sort of weird kiosk ODM build. Not what most
| normal people would have (like in that post).
| RajT88 wrote:
| Win16 got dropped at some point, probably because keeping it
| didn't add up financially. I have little doubt they could
| have kept support for much older stuff.
| EvanAnderson wrote:
| There's a "pirate" port of NTVDM to 64-bit Windows (from
| leaked NT 4.0 source) so it's certainly not technically
| infeasible: https://github.com/leecher1337/ntvdmx64
| AnotherGoodName wrote:
| Something that confuses me is that this states it's running a
| binary compiled 30years ago. How is this not 16bit?
|
| I'm aware of win32s, I used to run it but still it seems
| unlikely this is a win32 console app unless there's an
| incredibly unlikely set of circumstances behind this.
|
| Or perhaps it was simply recompiled after all despite what
| the Twitter post states?
| AnotherGoodName wrote:
| In fact looking into this further the only thing windows 11
| lacks is the ntvdm which allows some dos api calls. If your
| binary is straightforward and not tied to msdos which this
| is it's fine. So I think the idea that this is a 32bit
| windows console application is completely untrue. It's also
| intuitively untrue when you consider the age of the app
| being run here.
| touseol wrote:
| The fact that there is no Windows 11 version with NTVDM
| is why this must be a Win32 console app, assuming the
| poster is truthful. Windows NT 3.1 came out in 1993. This
| being in a directory called "ntbin" gives another hint.
| AnotherGoodName wrote:
| I see that makes sense. I feel it's also a little
| misleading from the original post. An exceptionally
| specific binary from 1993 works but the implication here
| is that the compatibility is more than this.
| mikkohypponen wrote:
| Author here. I've been running Windows since 3.0 and I
| copy my old tool folders with me whenever I change
| machines or upgrade the OS. This GZIP.EXE is the oldest
| EXE I have in my \ntbin tool folder that still works. The
| folder has 579 EXE files.
| justinpaulson wrote:
| > that still works.
|
| I think that is the point being made. This exe is cherry
| picked as the oldest working exe, it isn't like every 30
| year old exe in that folder still works.
| touseol wrote:
| Windows NT 3.1 was released on July 27, 1993.
| asveikau wrote:
| 9x wasn't the only Windows OS.
|
| The path contains the phrase "ntbin". It was compiled for
| NT.
| sumtechguy wrote:
| My guess is this is a PE format type windows application.
| Though I suppose you could get a NE format file to work
| correctly if the binary was compiled as 32 bit. My memory
| is a bit fuzzy on this but I think you did have the
| option to compile either way.
| mikkohypponen wrote:
| Correct, it's a PE file.
| zwieback wrote:
| Zortech C++ was my rig for a good while - great memories.
| Pharlap is way too intrusive, my guess, to run on current
| Windows but would be an interesting experiment. Probably any
| extended/expanded memory thing doesn't work anymore.
| ls612 wrote:
| I wish there was a backwards compatibility option to give
| applications a "virtual display" which runs in a window, for old
| programs which only know how to run fullscreen at 1024x768.
| evmar wrote:
| Working on https://github.com/evmar/retrowin32, I disassembled
| one old demo that wouldn't run on my native Windows machine --
| turns out it was requesting 320x200 fullscreen resolution and
| aborting if it couldn't get it. (Not sure why the Windows
| machine wouldn't do it...)
| Dwedit wrote:
| I once made a program (Intended for Games only, doesn't support
| standard windows controls) that allows you to stretch an
| otherwise fixed-size window. Uses D3D9 and Pixel Shaders to
| draw the upscaled window.
|
| https://github.com/Dwedit/GameStretcher
| Sohcahtoa82 wrote:
| Oh, where was this when I really needed it a few years ago...
|
| I was playing an old MMORPG called The Realm. It's been live
| since 1995 and ran until just a couple months ago. It only
| knew how to run in 640x480.
|
| I tried to write a program that would create a scaled up
| version, but it didn't work well, especially since the game
| would create child windows for certain UI elements. I was
| writing it in C, which isn't my strongest language, simply so
| I could call Win32 APIs more easily.
| smoldesu wrote:
| Wine does this, it's a lifesaver for older games like Diablo 2.
| swozey wrote:
| I can't find it right now, and no idea if it'd work on older
| things but there's some 3rd party app for Windows that will put
| a full screen game/app into a stretchable windowed mode.
| akx wrote:
| DxWnd (https://sourceforge.net/projects/dxwnd/) comes to
| mind.
| colejohnson66 wrote:
| Does the built-in "compatibility mode" not work?
| https://support.microsoft.com/en-us/windows/make-older-apps-...
| brailsafe wrote:
| [delayed]
| TkTech wrote:
| A fun side-effect of the "general" stability of Windows APIs is
| that Win32/DX has become a very stable and reliable "universal"
| API for Linux (and other OSes) via the massive amount of work put
| into Wine/Proton. I keep seeing games drop their Linux-native
| releases in favor of just shipping for proton.
| hx8 wrote:
| The Proton-aware releases often are easier to setup and run
| better than the Linux-native releases.
| TkTech wrote:
| That's been my experience as well. EU4's Linux-native release
| has issues with scaling and cursors on ultrawide monitors.
| Proton version is flawless.
|
| There's been quite a few cases for me, like Star Citizen for
| example, where games perform significantly better under
| Proton with DXVK than it does on Windows!
| chrchang523 wrote:
| Raymond Chen has been providing an inside perspective on this for
| decades: https://devblogs.microsoft.com/oldnewthing/
| kevinsync wrote:
| FWIW, Beavis and Butthead in Virtual Stupidity (1995) runs
| perfectly fine in Windows 10/11 with compatibility mode enabled.
| No need to test anything else as that's arguably the apex of
| software (and humanity's collective output).
|
| https://www.myabandonware.com/game/mtv-s-beavis-and-butt-hea...
___________________________________________________________________
(page generated 2023-08-18 23:01 UTC)