I just did something neat- I tried out the install of Windows 3.1, which has a version of Visual Basic installed. I created a small program in Visual Basic, with a window and some buttons to press, and then saved the program as an .exe (remember how easy this used to be! you could make your program and then just... save the executable out of VB! No compiler knowledge needed!)

I then saved this .exe to a disk image, and then saved that disk image back to my modern mac that I'm doing this on via downloading that in the browser.

I then took that .exe and the only dependency - vbrun100.dll - and put it on a floppy (a real one) and then took that floppy over to a vintage computer I have that has Windows 3.1 on it still (an old 25 MHz Intel486 DX industrial computer I have sitting in a closet with no real use for). Popped in the floppy, copied the .exe and .dll.

And ran the program, no problem! A real GUI windows program, made in VB running in Windows 3.1, inside an entire emulated machine in Javascript in a browser window running on an Apple Silicon macbook in 2026....

Exported and saved to disk and then ran without issue on a piece of hardware made in *1992*!

Now I need to do the reverse... make some software with a copy of VB installed on this old machine of mine and run it on my mac inside the browser.

Odds are good that EXE you made will run on 32-bit Windows 10, too.

Can run on modern 64-bit windows too with otvdm: https://github.com/otya128/winevdm

Yes, just tried this, and my little exe ran on a Windows 10 64 bit machine just fine.

Which means I just built a demo of a tiny 16 bit windows GUI applet, using emulated VB in Win 3.1 in a browser and got it to run on modern Windows in a shorter amount of time than it would have likely taken me to get the same type of demo up and running natively in Windows 10 today.