Top
Best
New

Posted by enlyth 14 hours ago

Oldest GUI application that still runs on Windows 11(blog.enlyth.com)
387 points | 220 commentspage 2
sedatk 10 hours ago|
I remember having installed Win32s package to our Windows for Workgroups 3.11 machines at Osmangazi University in 1995. The idea was that Windows, as a 16-bit operating system, could run a subset of Win32 apps that were compatible with the Win32s API surface. However, the release of Windows 95 had almost immediately made it obsolete. I'm sure it was useful in certain scenarios, but our only win was Freecell. :)
toast0 8 hours ago|
> The idea was that Windows, as a 16-bit operating system, could run a subset of Win32 apps that were compatible with the Win32s API surface.

386 mode in Windows 2 (sold as Windows/386) and 3 was really a 32-bit operating system for 16-bit applications.

Win32s allowed some 32-bit apps to run on windows 3.1 and up. Including many versions of Internet Explorer (Microsoft also released ie as a 16-bit application, though).

Mogzol 9 hours ago||
> That is because, duh, my computer doesn’t have a CD-ROM drive. But you can use a small DLL (cdemu.dll) to emulate one with some fake audio data and actually get it to play audio

This makes me curious to know if CDPLAYER.EXE would still work (unmodified, without extra DLLs) with a real CD-ROM drive if you ran it on a Windows 11 machine with one installed.

unleaded 6 hours ago||
Tried it. If I open it with a disc in, it shows the "No CDROM devices found" message. If I open it without a disc in, it shows the menu, then when I put in a disc in Windows shows a weird error: https://files.catbox.moe/6y3qpy.png

It acts generally weird (buy a £10 dvd drive from ebay and try it yourself if you want any more detail, useful thing to have anyway) and obviously I can't get it to play anything.

The RTM version gets a bit further, doesn't show that weird Explorer error, but I still can't get it to play anything and opening the playlist crashes it vs on the Beta version where it actually listed the tracks.

I suspect the cd player is trying to take control of the drive and fighting with Windows trying to be helpful, don't know if there's a way to turn it off.

queenkjuul 8 hours ago||
I can't say for certain but recently having done some work on windows with CDROM drives, i strongly suspect it would. I bet you could mount a music CD BIN/CUE with ImgDrive and it would work... Shit i guess i have to go try it don't I

Edit: i meant ImgDrive as a suggestion for those without optical drives. I have several, I'll test em out

tgma 8 hours ago||
"Can you believe it... Reversi" reminded me of the Steve Ballmer ad for Windows 1.0: https://www.youtube.com/watch?v=DgJS2tQPGKQ
andai 11 hours ago||
EasyToon (from 1998, I believe, built for Windows 95) runs on Windows 11. One of my favorite pieces of software.

It's a thing for making little black and white animations. (With GIF export.)

It was popular in the early 2000s and there was a subculture around it on animation forums.

English version (hey, still online!):

https://www.superfundungeonrun.com/easytoon/

Original version (Japanese, w/ screenshots):

https://web.archive.org/web/20020111185602/http://www.radium...

There's also a forked version on a French website (also available in English) with some extra features. But I like to keep it simple :)

https://www.flat2d.com/easytoon.html

vondur 9 hours ago||
Microsoft is known for making Windows run older programs. Apple not so much.
Aldipower 13 hours ago||
https://solitairealonetogether.com/
kevin_thibedeau 7 hours ago||
You don't even have to find old binaries. The ODBC manager is still shipped with Win11 and has Win3.0 / NT3.5 dialogs with 16-color icons.
xacky 13 hours ago||
There's probably an old X11 app from the 1980s that could be executed through xwayland somewhere.
jpablo 13 hours ago||
I can't even run a binary from one Linux distro to the other, let alone one from a random Unix from the 80s. If a rebuild from source is allowed (which would need to allow modifications to the build system) that's a completely different game.
xattt 13 hours ago|||

    > I can't even run a binary from one Linux distro to the other
Is this actually a thing?
kragen 7 hours ago|||
Yesterday I built a binary in an Ubuntu 24.04 Podman container and tried to run it on my Debian Bookworm system:

    [filename]: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by [filename])
Because I have glibc 2.36, you see.

The other way around works fine, though, and you can avoid it by statically linking the binary when you build it.

jeroenhd 10 hours ago||||
I had to run a Linux binary compiled for Ubuntu 10.something a few years ago. I couldn't get the drivers to work properly in libvirt and getting the binary to run on modern Linux was practically impossible, even with 32 bit support installed.

The downside of dynamically linked binaries: every tool of medium complexity needs a close-enough version of a common library, and once those get upgraded, the tool dies.

Most statically compiled version should work with a compatible enough libc, but I haven't seen many old programs like that.

Wine, on the other hand, runs tools from the 90s just fine, as long as they're 32 bit.

boomlinde 38 minutes ago||
AFAIK Wine will run 16-bit applications just fine now, through WoW64.
0x0203 12 hours ago||||
Many programs are dynamically linked to at the very least, libc. If the system libc is older than what the binary was developed for, it will often fail. Failures going the other direction are less common, but can and do still happen. If the binary was statically linked with everything it needs, you've got a pretty good chance it'll work, but that's a bit harder to do with GUI programs that need to interact with X or Wayland.
the__alchemist 12 hours ago|||
It depends. I've found for example, if i compile on Ubuntu or Debian, it will probably work on any Ubuntu, Debian, or Debian-based distro released at or newer than the one I compiled it on. There are other cross-compatible examples.

More broadly, there are things like manylinux and MUSL which allow cross-distro applications.

martijnvds 12 hours ago||
Containers fix this.

As long as the container bundles the right libc, the program should work.

mrheosuper 4 hours ago|||
Just like Python venv, The system is too broken that it's the only real practical fix
the__alchemist 11 hours ago|||
I agree - the model I use for why containers (Docker etc) exist is to abstract over Linux ABI incompatibility. I don't think they're a great solution, as it complicates software distribution. I should be able to distribute an executable and have it just work.
Rohansi 3 hours ago|||
Linux isn't the source of the incompatibility. The kernel itself is very strict about not breaking userspace. Your userspace is breaking compatibility on its own, containers fix it by shipping the userspace components within the container, which only works because the kernel maintained compatibility. If the kernel broke compatibility you would need to use a VM so you can run a different kernel version.
toast0 7 hours ago|||
That's what win32 is for...
the__alchemist 6 hours ago||
Hah well yes for Windows. This is a mercy, but my mindset is still "Works on Windows, Linux and Mac". (The last being dropped for anything that requires Cuda...)
toast0 5 hours ago||
Win32 is the stable ABI for Linux, too.
dekhn 11 hours ago|||
I've had static binaries on linux machines that worked across distributions for decades.
layer8 13 hours ago|||
As an unmodified binary from the 1980s on current Linux/Unix? Highly unlikely.
ndiddy 12 hours ago||
From the article, the time to beat is November 16, 1992. This might be possible on one of the BSDs, as FreeBSD and NetBSD both document support for running a.out executables with the 4.3BSD ABI. I guess it would depend on whether anyone had ported X11 to run on a BSD on i386 before then. Alternatively, maybe you'd be able to get something running on SCO OpenServer (if you count that as a current OS, it IS still getting security patches). It documents support for XENIX x.out binaries ( https://www.scosales.com/ta/kb/126704.html ) so you might be able to run software compiled in the late 1980s for XENIX/386.
spijdar 12 hours ago||
NetBSD has excellent binary compatible with 80s "unix", the problem is most (all?) of the 80s unix platforms it supports aren't x86.

Current NetBSD still has good support for running SunOS binaries, though, including graphical ones. I'm certain you could get a SunOS 4.x binary from pre-1992 to run on NetBSD/SPARC. I've no idea how far back you could potentially go on NetBSD/m68k -- probably quite a ways, especially if the binaries are statically linked. SunOS pre-1988 was all static linking!

(Running "real" 4.3BSD binaries might be hard -- I think NetBSD/VAX defaults to ULTRIX compat, which is an either/or thing versus strict Berkeley Unix compatibility. Same binary format, similar but incompatible syscalls/data structures.)

dvh 13 hours ago|||
Just used xev today (bought new mouse few days ago and it wasn't responding in chrome so I wanted to be sure).
LeFantome 9 hours ago|||
xwm from 1984 and twm from 1989 will still execute on Xorg today.

And if you want to run them on Wayland, Worg will do that for you. https://github.com/jmalcolm137/Worg

MisterTea 12 hours ago||
> And although using otvdm does feel like cheating, I thought it was cool enough to include in this post.

Honestly, if NTVDM was part of Windows then it seems fair to use it, even 3rd party clones.

enlyth 11 hours ago|
Yeah I was kind of on the fence with this, but since the last version of Windows that shipped with NTVDM was Windows 10 32bit, and Windows 11 doesn't have a 32bit edition, I decided that using 3rd party tools would be cheating

I was aiming for something you could double click on vanilla Windows and would just work out of the box

userbinator 13 hours ago|
Wrote a few small utilities in Win32 in the early 90s; still use them today unmodified, but most recently in WINE. I have some slightly older DOS utilities that are also quite usable.
More comments...