Internet Archive Upgrades To Windows 3.1 With Over 1,000 Programs

Status
Not open for further replies.


The two are essentially the same. Windows 3.11 was just a free upgrade to Windows 3.1 that fixed a few bugs in the OS. Otherwise they are the same, so I just used that image. The cover image to both are also nearly identical with the exception of the additional "1".
 

jasonkaler

Distinguished


The two are essentially the same. Windows 3.11 was just a free upgrade to Windows 3.1 that fixed a few bugs in the OS. Otherwise they are the same, so I just used that image. The cover image to both are also nearly identical with the exception of the additional "1".

Actually, windows 3.11 for workgroups and windows 3.1 were pretty different.
3.1 could run on 16 bit machines, wfw 3.11 required a 32 bit machine. It included 32 bit file access and a 32 bit network stack.
 


Or, you are completely wrong.
https://archive.org/details/win3_stock
https://support.microsoft.com/en-us/kb/126746
http://windows.microsoft.com/en-us/windows/history#T1=era3

Windows 3.1 and 3.11 are 16-bit operating systems, with extremely limited ability to use 32-bit hardware or software. Archive.org, the same organization that just hosted these 1000 programs and hired a software developer to build the emulator it uses on its site states that both Windows 3.1 and 3.11 are 16-bit operating systems. Microsoft's own website also confirms that its Windows 3.1/3.11 are 16-bit operating systems, and that Windows NT was its first commercial OS that was 32-bit.

Finally, both of the Microsoft links I included above indicate that the changes are relatively minor. There is a larger network update, and a few minor performance and stability tweaks. A modern Windows OS has been known to get more than that from a single update.
 

Alexandru Pop

Reputable
Feb 12, 2016
3
0
4,510
Jasonkaler knows way more about this than you. If you read the second link that you posted, you can see that Win 3.11 requires at least an Intel 386, which is 32 bit, while Win 3.1 can run even on an Intel 286 (which is 16 bit). Also in the second link you posted you can see that:
- Performance Enhancements (VFAT and VCACHE). WFW 3.11 includes VFAT, a
32-bit file system that processes INT21h calls for file I/O on local
disk volumes in protect mode. WFW 3.11 also includes a unified protect-
mode cache, VCACHE, for both network files accessed by the network
redirector and local files accessed through VFAT.
- NWLink (and NWNBLink): 32-bit protect-mode protocol for the IPX/SPX
transport. Routable. NWNBLink adds a NetBIOS layer.
- Enhanced Communication Architecture. The architecture of the
communications interface is more modular. Its components are COMM.DRV,
*VCD, VCOMM.386, SERIAL.386, and LPT.386. With this new modular design,
vendors can write device-specific drivers for serial or LPT ports to
interface with VCOMM.386. It uses the 32-bit interface directly with
VCOMM.386.
When you're wrong, admit it, and then move on...
 

jasonkaler

Distinguished


Perhaps you missed the "workgroups" part about "windows for workgroups 3.11", which is the edition in the photo, not the original win 3.11, which you appear to be talking about, for some unknown reason.


 

OzDracula

Honorable
Sep 24, 2012
9
0
10,510
I installed Windows 3.11 on my AMD 386 DX40 years ago, then wiped my hard drive and went back to just using DOS 6.22 for my games.
 

Windows 3.11 and Windows for Workgroups 3.11 are 2 completely different products.

Windows 3.11 was all 16-bit and ran on a 286.
Windows for Workgroups 3.11 required a 386 due to Microsoft dropping standard mode and adding 32-bit only features.

The article refers to Windows 3.11 (16-bit).
 

bit_user

Polypheme
Ambassador
By any chance, would this emulator run in your web browser, itself? Or is it running on the cloud, somewhere? I think it should probably be possible to emulate a 25 MHz i386 in Javascript, on a 3+ GHz 64-bit CPU, without much of a perceived performance hit.

Actually, the best way to do it would probably be to code the emulator in C++ and compile it to Web Assembly, if/when that's sufficiently well-supported.
 
Let's hope there are some treasures buried in there --- it might be a Pipe Dream (remember that?). I keep an original Win/DOS rig to run an old office suite called 'PFS' from back in the early '80s --- I still get inquires :lol:

I don't recall a great deal about Windows for Workgroups, but would be interested in seeing someone try to 'virtually' run a modern multi-core processor and software on Win-NT.

edit:
You can still find images of the 3.1 splash.
There is an image on the archive page.








 

alextheblue

Distinguished
I don't recall a great deal about Windows for Workgroups, but would be interested in seeing someone try to 'virtually' run a modern multi-core processor and software on Win-NT.
Your best bet is a full emulated PC, which is how DOSbox works (though I have only used it for DOS myself and haven't tested installing Windows on top of it). You can adjust what you emulate, so you could run it at high settings (cycles/effective clockspeed) and scale them down as needed for clockspeed-sensitive programs.
You can still find images of the 3.1 splash.
There is an image on the archive page.

That's cool, I was just linking to the first image I found at a glance since the article uses the wrong image.
 

in_the_loop

Distinguished
Dec 15, 2007
153
15
18,685
Jasonkaler knows way more about this than you. If you read the second link that you posted, you can see that Win 3.11 requires at least an Intel 386, which is 32 bit, while Win 3.1 can run even on an Intel 286 (which is 16 bit). Also in the second link you posted you can see that:
- Performance Enhancements (VFAT and VCACHE). WFW 3.11 includes VFAT, a
32-bit file system that processes INT21h calls for file I/O on local
disk volumes in protect mode. WFW 3.11 also includes a unified protect-
mode cache, VCACHE, for both network files accessed by the network
redirector and local files accessed through VFAT.
- NWLink (and NWNBLink): 32-bit protect-mode protocol for the IPX/SPX
transport. Routable. NWNBLink adds a NetBIOS layer.
- Enhanced Communication Architecture. The architecture of the
communications interface is more modular. Its components are COMM.DRV,
*VCD, VCOMM.386, SERIAL.386, and LPT.386. With this new modular design,
vendors can write device-specific drivers for serial or LPT ports to
interface with VCOMM.386. It uses the 32-bit interface directly with
VCOMM.386.
When you're wrong, admit it, and then move on...

No, you are wrong and he is right.
All Win 3.x (including Win for workgroups) were 16 bit operating systems.
https://en.wikipedia.org/wiki/Windows_3.1x
"Windows 3.1x (codenamed Janus)[2][3][4] is a series of 16-bit operating systems produced by Microsoft for use on personal computers.

Windows NT was the first FULL 32 bit system:
https://en.wikipedia.org/wiki/Windows_NT
"NT was the first purely 32-bit version of Windows, whereas its consumer-oriented counterparts, Windows 3.1x and Windows 9x, were 16-bit/32-bit hybrids."

Windows 95 was the first 32 bit OS for home use (NT was first 32 bit for corporate use).
Just because that it supported SOME 32 bit features (network, files system) didn't mean that it was an all around 32 bit OS.
And just because it required a 386 (which was 32 bit) didn't mean that the OS was 32 bit.
Almost all processors after say 2005 was 64 bit. If an application required any of these processors (that were 64 bit capable) it didn't mean that the app (or the OS itself) was running in 64 bit mode. Same thing with the 386;s for Win 3.11 workgroups.
 
Windows 3.1, 3.11 and 3.11 WfW are all 16-bit OS's that utilize some fancy memory tricks in the 80386 to operate a few 32-bit components.

The reason WfW requires a 386 is because the 386 was the first CPU capable of cleanly returning from protected mode, the 80286 requires the CPU to be reset which isn't something you want in a multi-tasking environment. Protected mode is required in order to run the 32-bit disk / file access and network stack and though you could turn off the disk access (it was broke on most machines anyway) the network layer was the entire point of Windows for Workgroups. Windows 3.x was still a 16-bit MS-DOS program and loaded on top of it, while Win95 and beyond used MS-DOS as a boot loader and then switched out the kernel for it's own 32-bit one.

The difference between all of this is how memory is managed. 16-bit real mode memory management has the 1024KB memory cap and use's some tricks involving the A20 memory line and EMS/XMS memory managers to read and write to memory past the 1MB wall. 16-bit protected mode works just like real mode but has protection against memory faults and enables cleaner access to XMS memory. 32-bit protected mode is capable of using a flat memory model and accessing all of it linearly. Some helper programs (DOS extenders) were capable of entering the 80386 CPU into a 32-bit protected mode where it got a new base memory address, executing the program and then when finished it exited the mode cleanly and returned the system to it's previous state. Those programs didn't mean MS-DOS wasn't 16-bit natively.

Win32S was the expansion package that enabled some partial 32-bit execution capability on Windows 3.11.

https://blogs.msdn.microsoft.com/oldnewthing/20100517-00/?p=14013

A bit more explanation behind it. Technically there was a 32-bit supervisor that run everything else as a "virtual machine" using the V86 mode of the 80386, that then loaded the 16-bit Windows 3.11 components and ran everything as 16-bit. Gets into some real arcane terminology that would only make sense to my fellow ASM programmers.
 

bit_user

Polypheme
Ambassador
You had me until this.

DOS, itself, was 16-bit. It could only use the first megabyte of RAM, and programs running under DOS could were subject to the same limitations unless they used the extended memory managers to go behind its back.

In case anyone is wondering how 16-bit = 1 MB, the 8086 introduced a so-called segmented memory model where you'd access a 64 kB window of memory, selected by a segment register. Addresses were computed as segment * 16 + offset.

With PAE (Paged Address Extensions), Intel re-introduced a similar mechanism to extend 36-bit addressing to 32-bit CPUs.
 

bit_user

Polypheme
Ambassador
Thanks for the clarification. I don't consider that a nitpick - it was a pretty fundamental statement you made. I found it confusing, but I thought it unlikely to be a mistake.

In any case, at least my reply gave you a chance to clear things up for anyone else who was confused by it. It wasn't meant to be sharp shooting. I'm sorry, if my message gave that impression.

BTW, if you check the timestamp on my upvote of your message, it preceded my reply. I did that to show support for everything else you said.
 

boomermage

Distinguished
Oct 3, 2008
4
0
18,510
I can't believe you all remember this stuff. I don't think I could optimize an autoexec.bat for games anymore if my life depended on it.
 

bit_user

Polypheme
Ambassador
Anyone who was writing code on PCs, back then, probably has a few battle scars that haven't much faded. Even moreso, for those of us who wrote asm. I can still remember reading a book about the 80386 and marveling at the power and glory of protected mode.

OMG, Yes! This thread had me remembering with dread the battle to free up enough base memory for my games and demos. Switching between different config.sys & autoexec.bat, himem.sys, XMS, EMM386... not to mention various IRQ & DMA conflicts.

So glad to leave that all in the past.
 
Status
Not open for further replies.