• Please review our updated Terms and Rules here

Windows 3.1 and TCP/IP over Ethernet

I had come from a world where it too me an hour, and cost over $50 of my employers phone bill, just to download some drivers for an ASUS PC from their bulletin board on a 2400 baud modem.... And it took a couple of tries on some files due to timeouts.
I ran an early BBS later which is a story unto itself, but then I got hold of an internet connection and even though it was UUCP, I could dial in at times when they uplinked and get a live connection, and even if it was several seconds between the ### of FTP, it was *fast*. They had a 64Kbps link.

So I went to the University and negotiated a permanent dial-up service. I was their first and last customer. They needed a terminal server and I offered to buy it for them so they could add the extra modems, with the only obligation that they leave one of the modems ( which I also purchased for them ) for me alone... It was an incredible deal, and they only charged me $50 per month for the service, and I think I sucked nearly a third of what the University consumed in total for about a year. As well as helping them find the odd security issue in their system.

And it was one day I was down there discussing subnetting and one of them got Mosaic working, and I saw graphics and text on the screen. At this point, I was working for a magazine and was close to working for a major newspaper, and I saw the future of publishing there and then.

How much? I got a call from my employers legal team one day asking to buy the newspaper's domain names from me, since I had already registered them, and domain squatting was in it's infancy, but clearly starting to happen... They just pulled out their checkbooks and wondered why I was laughing so hard... "Guys. I'm Staff. I work for you. You already own the domains. Just ask my editor to forward the request to me and I'll transfer ownership"... Though I still wonder what price they would have offered. But even without that, I was using Gopher to find stuff and it was incredible. Then Alta-Vista started up, and the concept of a search engine emerged... I still recall people wondering what this traffic from their site was, and whether it was some kind of attack, and then BANG! They were up and running...

And then people started uploading porn to the Internet, and I began getting calls from my customers freaking out because this happened while they were browsing said sites, no doubt for funny kitten videos in 160x120 resolution...

1703676158125.png

I miss the old days, when a 9600 baud connection could download a website in less time than I can get most sites to respond to. When a 2 Mbps service could deliver 10,000 concurrent connections without failing ( while now I've seen sites fail with as few as 100 concurrent connections )... And when people used to think the FBI were coming because their computer crashed from watching kitten videos... ( It was always kitten videos... Never porn sites )... When Archie was your friend, and google was an idea that hadn't even formed and was far from becoming the intentionally evil company it is today.
 
We are getting way off the thread topic here, but the Windows/386 Virtual Machine Manager that is the basis of Enhanced Mode Windows 3.* is in fact a preemptive scheduler of its VMs. The Win16 environment running as one of its VMs is what is cooperative. The ring 0 environment in which the VMM and VxDs run gives you full access to the machine and is really where you want to be if you want to bring this circus to a standstill.

Windows 3, so many ways to screw up and take other work with you!

No problem for the offtopic, I guess mods would move if it were. The discussion is what forums are for :)

Looks like software OP wants to use is Win16 so the cooperation remarks still apply. Windows 3.1 is a really flexible quasi-OS. Win32s existed which was a subset of formal Windows API from NT. WinG existed as DirectX predecessor. So they envisioned people backporting 32-bit software and people porting DOS 16-bit to Win16.

I always found it pretty good. Sometimes it could fail, but generally cooperative multitasking is very efficient if the system is written that way. I started writing Co-operative Multitasking systems in the 1980s for embedded systems, and they were designed to deal with a lot of issues.

A lot of flak Windows itself got because software wasn't written "up to the times".

Also TCP Keepalives are optional. They are not needed. Well, they weren't needed... Who knows who modern firewalls all over the web do nowadays. But with pure TCP, there's no issue keeping a connection open forever without packets... if the reset is never received, the socket never closes. It's a good thing we got 65000 of them... Who knows what this did to memory allocations in Windows 3.1 all that time ago. Probably accounted for the odd crash :)

Router could also flush out a NAT entry because it thinks it's stale. But that's something under user's control. That's why I think its worth that OP gives it a try and hopefully reports back.

I think the desire for pre-emptive multitasking came from the fact it was used as a differentiator to Windows... "Yeah, but Windows isn't real multitasking... It's not pre-emptive multitasking" was heard a lot, mostly from people explaining why they didn't get a PC. Multitasking is multitasking. How you do it is an architectural decision... I don't recall too many problems with Windows 3.1, but it was from an era when you tended to do one thing at a time on your PC.

Yeah, that's exactly my recollection of it. It suited the task fine. You did one thing and you could keep other things minimized. OLE, drag and drop, were killer features. Also Visual Basic 3/4. I don't know whether people agree with me on this but I think it was huge. In the most popular but consumer oriented computer magazine here, there were sections dedicated to current hot VBX/OCX plugins.

I did not like Windows 95 when it came out. I was a heavy DOS user, it was unstable and did not mesh as well with DOS as 3.x. I used 3.x as far as I could.
 
So I got out the Toshiba Satellite 2100CS that I used to use daily from about 1995 to 2001, running its Windows 3.1 for the duration; the news is not good as I cannot get it to boot from its hard disk which sounds like it is spinning but maybe doesn't have fine motor control on its head. I had been kinda hoping to transcribe its CONFIG.SYS and AUTOEXEC.BAT to get a worked example of card and socket services from the Windows 3.1 days, even if it would be differently vendor-peculiar from Compaq.

I can't remember the details of using this system for Internet stuff although I think I did. Not e-mail or netnews, at the time I was running those on a Sun 3/60 or a desktop PC with FreeBSD. Maybe web browsing with Emissary but I better remember Netscape on another FreeBSD desktop, and then later a Windows Me Toshiba laptop that I got in 2001. 10Mb/s Ethernet at home through all this, much thin coax, yet another FreeBSD box doing dial-on-demand PPP if something wanted to get on the Internet. DSL happened after that Windows Me laptop.
 
We are getting way off the thread topic here, but the Windows/386 Virtual Machine Manager that is the basis of Enhanced Mode Windows 3.* is in fact a preemptive scheduler of its VMs. The Win16 environment running as one of its VMs is what is cooperative. The ring 0 environment in which the VMM and VxDs run gives you full access to the machine and is really where you want to be if you want to bring this circus to a standstill.

Windows 3, so many ways to screw up and take other work with you!
And it did but I was a massocist back then ;)
 
Hello!

So I have great news. Mission accomplished! My vintage laptop Compaq LTE 5000, sporting a Pentium 75, 24 MB of RAM, and a 800x600 screen, is surfing the Internet from Windows 3.1, thanks to a Linksys (Ovislink rebranded) PCMCIA ethernet card, its DOS packet driver, and Trumpet Winsock.

Obligatory screenshots:

index.php


index.php


index.php


index.php


index.php




To help anyone interested in doing the same, here I share my CONFIG.SYS and AUTOEXEC.BAT files:

Code:
[MENU]
REM * Config.sys Boot Menu for DOS 6.xx
MENUITEM=DOS, DOS without networking
MENUITEM=NETBIOS, DOS + networkig NetBIOS over TCP/IP over Ethernet
MENUITEM=PACKETD, DOS + networking Packet Driver Ethernet
MENUITEM=WINDOWS, Windows 3.1 (autoload, without networking)
MENUDEFAULT=DOS,20

[COMMON]
REM * This sections loads several generic DOS drivers.
device=c:\dos\himem.sys /testmem:off
devicehigh=c:\dos\emm386.exe noems /x=d000-dfff
files=40
dos=high,umb
BUFFERS=20
stacks=9,256
lastdrive=z
REM * The next line sets Spain's custom date format and 24 hour style.
COUNTRY=034,,C:\DOS\COUNTRY.SYS
DEVICEhigh=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
REM * CD-ROM disabled * devicehigh=c:\dos\actcd.sys /d:mscd001

[NETBIOS]
REM * THe next line loads the Socket Services driver specific to the...
REM ** ... Intel i82365SL PCMCIA chipset.
DEVICEHIGH=c:\CARDSOFT\SS365SL.EXE
REM * The next line loads the generic PCMCIA Card Services driver.
DEVICEHIGH=c:\CARDSOFT\CS.EXE
REM * This line crashes in DOS 5.0 * DEVICEHIGH=c:\CARDSOFT\CSALLOC.EXE
REM * The next line loads the generic driver for Plug-n-Play PCMCIA Services
DEVICEHIGH=c:\CARDSOFT\CSALLOC.EXE
REM * The next line loads the generic driver to initialize the Ethernet card
devicehigh=c:\net\lanen.exe
REM * The next line loads the generic NDIS 2.0 network driver for DOS.
devicehigh=c:\net\protman.dos /i:c:\net
REM * The next line loads the specific NDIS 2.0 driver for the Linksys...
REM ** ...PCMCIA ethernet card which I have.
devicehigh=c:\net\le10nds.dos
REM * The next line loads the generic NetBIOS over TPC/IP network driver.
devicehigh=c:\net\ntsts.dos
REM * The next line loads the generic LAN Manager client driver for DOS.
devicehigh=c:\net\dlshelp.sys

[PACKETD]
REM * Refer to the [NETBIOS] section for explanation of these drivers.
DEVICEHIGH=c:\CARDSOFT\SS365SL.EXE
DEVICEHIGH=c:\CARDSOFT\CS.EXE
REM * This line causes crash in DOS 5.0 * DEVICEHIGH=c:\CARDSOFT\CSALLOC.EXE
DEVICEHIGH=c:\CARDSOFT\CSALLOC.EXE
devicehigh=c:\net\lanen.exe

[DOS]
REM * No special driver needed here for plain DOS *

[WINDOWS]
REM * No special driver needed here for Windows 3.1 *

And the above CONFIG.SYS file looks like this while booting:
index.php


Code:
@ECHO OFF
REM * This is the COMMON section of Autoexec.Bat *
ECHO Now running Autoexec.Bat...
C:\DOS\SMARTDRV.EXE /X
PROMPT $p$g
set temp=c:\temp
REM * Next 3 lines prepare the screen and keyboard for ASCII Spanish mode.
LH C:\DOS\MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)
LH C:\DOS\MODE CON CODEPAGE SELECT=850
LH C:\DOS\KEYB SP,,C:\DOS\KEYBOARD.SYS
REM * CD-ROM disabled as I don't have any * LH c:\dos\MSCDEX.EXE /d:mscd001
REM
REM Essvol:Ensure master and Audio CD volume turned up for DOS CDPLAYER.EXE
REM * Not needed, therefore I disable it * C:\AUDIO_CD\ESSVOL /V:15 /C:15

GOTO %CONFIG%
:DOS
path=c:\windows;c:\dos;c:\programs
GOTO END

:NETBIOS
path=c:\windows;c:\dos;c:\net;c:\programs
set tcphelp=c:\net
set etcdir=c:\net
REM * The next line loads NetBEUI support, which is needed for NetBIOS.
c:\net\net start
REM * The next line does the login/authentication against the SMB Server.
c:\net\cmds logon
REM * Next lines maps a network drive against a shared folder in SMB Server.
c:\net\cmds.exe use z: \\server\docs
GOTO END

:PACKETD
path=c:\trumpet;C:\MSIE40;c:\windows;c:\dos;c:\programs
REM * Next line loads the Ethernet Packet Driver for my Linksys PCMCIA Card.
LH c:\pktdrv\LE10PD 0x62 11 0x320
REM * The next line loads the driver which makes the DOS Packet driver...
REM ** ...available to the Windows 3.1 Enviroment.
c:\trumpet\winpkt.com 0x62
REM * The next line is for PuTTY (SSH client for Win32s) configuration.
SET HOME=C:\PUTTY\HOME
GOTO END

:WINDOWS
path=c:\windows;c:\dos;c:\programs
REM * The next line was added by the Display Driver setup in Windows 3.1 ...
REM ** ...but is not really needed, so I comment it out.
REM C:\WINDOWS\VGAUTIL\winmode.exe t640=60 t800=60 t1024=0 t1280=0
REM * The next line autoloads Windows 3.1
win
GOTO END

:END
REM * End of Autoexec.Bat *

And the above AUTOEXEC.BAT looks like this at boot time:
index.php



The Internet software I am running is:
-The DOS-based packet driver for my PCMCIA NIC, which came with its original driver's floppy 3.5" disk.
-Trumpet Winsock 2.0 Revision B (from the ZIP file "TWSK20B.ZIP", which is inside the file "internet.zip", located here: http://www.k7tty.com/Utilities/Windows31/ )
-Netscape Navigator 4.08 for Windows 3.1 (quite stable once you disable it's obsolete Javascript support).
-FTP client: WS FTP LE 5.06.
-mIRC 5.91 for Window 3.1.
-Microsoft Internet Explorer 4.01 for Windows 3.1 (with Outlook Express, which supports POP3, IMAP and NNTP).
-SSH client: PuTTY 0.76 for Windows 3.1 (with its dependency the library Win32s v1.30c), available here: https://github.com/Toyoyo/putty-win32s
-Plain old Telnet client: EWAN Winsock Telnet 1.02 for Windows 3.1.
 

Attachments

  • autoexec.png
    autoexec.png
    13.8 KB · Views: 80
  • config.png
    config.png
    15.3 KB · Views: 77
  • _ie4.png
    _ie4.png
    5.8 KB · Views: 78
  • _mirc.png
    _mirc.png
    35.1 KB · Views: 78
  • _putty.png
    _putty.png
    35.6 KB · Views: 78
  • _netscape.png
    _netscape.png
    31.2 KB · Views: 78
  • screen.png
    screen.png
    50.2 KB · Views: 89
Last edited:
Hello!

So I have great news. Mission accomplished! My vintage laptop Compaq LTE 5000, sporting a Pentium 75, 24 MB of RAM, and a 800x600 screen, is surfing de Internet from Windows 3.1, thanks to a Linksys (Ovislink rebranded) PCMCIA ethernet card, its DOS packet driver, and Trumpet Winsock.

Obligatory screenshots:

index.php


index.php


index.php


index.php


index.php




To help anyone interested in doing the same, here I share my CONFIG.SYS and AUTOEXEC.BAT files:

Code:
[MENU]
REM * Config.sys Boot Menu for DOS 6.xx
MENUITEM=DOS, DOS without networking
MENUITEM=NETBIOS, DOS + networkig NetBIOS over TCP/IP over Ethernet
MENUITEM=PACKETD, DOS + networking Packet Driver Ethernet
MENUITEM=WINDOWS, Windows 3.1 (autoload, without networking)
MENUDEFAULT=DOS,20

[COMMON]
REM * This sections loads several generic DOS drivers.
device=c:\dos\himem.sys /testmem:off
devicehigh=c:\dos\emm386.exe noems /x=d000-dfff
files=40
dos=high,umb
BUFFERS=20
stacks=9,256
lastdrive=z
REM * The next line sets Spain's custom date format and 24 hour style.
COUNTRY=034,,C:\DOS\COUNTRY.SYS
DEVICEhigh=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
REM * CD-ROM disabled * devicehigh=c:\dos\actcd.sys /d:mscd001

[NETBIOS]
REM * THe next line loads the Socket Services driver specific to the...
REM ** ... Intel i82365SL PCMCIA chipset.
DEVICEHIGH=c:\CARDSOFT\SS365SL.EXE
REM * The next line loads the generic PCMCIA Card Services driver.
DEVICEHIGH=c:\CARDSOFT\CS.EXE
REM * This line crashes in DOS 5.0 * DEVICEHIGH=c:\CARDSOFT\CSALLOC.EXE
REM * The next line loads the generic driver for Plug-n-Play PCMCIA Services
DEVICEHIGH=c:\CARDSOFT\CSALLOC.EXE
REM * The next line loads the generic driver to initialize the Ethernet card
devicehigh=c:\net\lanen.exe
REM * The next line loads the generic NDIS 2.0 network driver for DOS.
devicehigh=c:\net\protman.dos /i:c:\net
REM * The next line loads the specific NDIS 2.0 driver for the Linksys...
REM ** ...PCMCIA ethernet card which I have.
devicehigh=c:\net\le10nds.dos
REM * The next line loads the generic NetBIOS over TPC/IP network driver.
devicehigh=c:\net\ntsts.dos
REM * The next line loads the generic LAN Manager client driver for DOS.
devicehigh=c:\net\dlshelp.sys

[PACKETD]
REM * Refer to the [NETBIOS] section for explanation of these drivers.
DEVICEHIGH=c:\CARDSOFT\SS365SL.EXE
DEVICEHIGH=c:\CARDSOFT\CS.EXE
REM * This line causes crash in DOS 5.0 * DEVICEHIGH=c:\CARDSOFT\CSALLOC.EXE
DEVICEHIGH=c:\CARDSOFT\CSALLOC.EXE
devicehigh=c:\net\lanen.exe

[DOS]
REM * No special driver needed here for plain DOS *

[WINDOWS]
REM * No special driver needed here for Windows 3.1 *

And the above CONFIG.SYS file looks like this while booting:
index.php


Code:
@ECHO OFF
REM * This is the COMMON section of Autoexec.Bat *
ECHO Now running Autoexec.Bat...
C:\DOS\SMARTDRV.EXE /X
PROMPT $p$g
set temp=c:\temp
REM * Next 3 lines prepare the screen and keyboard for ASCII Spanish mode.
LH C:\DOS\MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)
LH C:\DOS\MODE CON CODEPAGE SELECT=850
LH C:\DOS\KEYB SP,,C:\DOS\KEYBOARD.SYS
REM * CD-ROM disabled as I don't have any * LH c:\dos\MSCDEX.EXE /d:mscd001
REM
REM Essvol:Ensure master and Audio CD volume turned up for DOS CDPLAYER.EXE
REM * Not needed, therefore I disable it * C:\AUDIO_CD\ESSVOL /V:15 /C:15

GOTO %CONFIG%
:DOS
path=c:\windows;c:\dos;c:\programs
GOTO END

:NETBIOS
path=c:\windows;c:\dos;c:\net;c:\programs
set tcphelp=c:\net
set etcdir=c:\net
REM * The next line loads NetBEUI support, which is needed for NetBIOS.
c:\net\net start
REM * The next line does the login/authentication against the SMB Server.
c:\net\cmds logon
REM * Next lines maps a network drive against a shared folder in SMB Server.
c:\net\cmds.exe use z: \\server\docs
GOTO END

:PACKETD
path=c:\trumpet;C:\MSIE40;c:\windows;c:\dos;c:\programs
REM * Next line loads the Ethernet Packet Driver for my Linksys PCMCIA Card.
LH c:\pktdrv\LE10PD 0x62 11 0x320
REM * The next line loads the driver which makes the DOS Packet driver...
REM ** ...available to the Windows 3.1 Enviroment.
c:\trumpet\winpkt.com 0x62
REM * The next line is for PuTTY (SSH client for Win32s) configuration.
SET HOME=C:\PUTTY\HOME
GOTO END

:WINDOWS
path=c:\windows;c:\dos;c:\programs
REM * The next line was added by the Display Driver setup in Windows 3.1 ...
REM ** ...but is not really needed, so I comment it out.
REM C:\WINDOWS\VGAUTIL\winmode.exe t640=60 t800=60 t1024=0 t1280=0
REM * The next line autoloads Windows 3.1
win
GOTO END

:END
REM * End of Autoexec.Bat *

And the above AUTOEXEC.BAT looks like this at boot time:
index.php



The Internet software I am running is:
-The DOS-based packet driver for my PCMCIA NIC, which came with its original driver's floppy 3.5" disk.
-Trumpet Winsock 2.0 Revision B (from the ZIP file "TWSK20B.ZIP", which is inside the file "internet.zip", located here: http://www.k7tty.com/Utilities/Windows31/ )
-Netscape Navigator 4.08 for Windows 3.1 (quite stable once you disable it's obsolete Javascript support).
-FTP client: WS FTP LE 5.06.
-mIRC 5.91 for Window 3.1.
-Microsoft Internet Explorer 4.01 for Windows 3.1 (with Outlook Express, which supports POP3, IMAP and NNTP).
-SSH client: PuTTY 0.76 for Windows 3.1 (with its dependency the library Win32s v1.30c), available here: https://github.com/Toyoyo/putty-win32s
-Plain old Telnet client: EWAN Winsock Telnet 1.02 for Windows 3.1.
Great stuff! Frogfind is a search engine for use on old web browsers and works great. ;)
 
That's excellent! I've been wondering about gopher recently, never having seen it before. Current browsers won't work, so looks like I will need get an old one on my WFW install.
 
Great stuff! Frogfind is a search engine for use on old web browsers and works great. ;)

Yeah but the results it serves are ordinary results. Search "CGA games" and youtube is one of the first hits.

@Pepinno your setup looks great. How did you take screenshots tho?
 
@Pepinno your setup looks great. How did you take screenshots tho?
For the DOS screenshots I used the DOS-based "Snarf" TSR, from here: https://pixelmetrics.com/Snarf/index.htm

For the Windows 3.1 snapshots, I found the PrtScreen key was only putting in the Windows clipboard a part of the whole screen (i.e., not the whole screen), so I had to use the "WINPTR" utility for Windows 3.1, from here: https://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/simtelnet/win3/util/wprt104.zip
 
For the DOS screenshots I used the DOS-based "Snarf" TSR, from here: https://pixelmetrics.com/Snarf/index.htm

For the Windows 3.1 snapshots, I found the PrtScreen key was only putting in the Windows clipboard a part of the whole screen (i.e., not the whole screen), so I had to use the "WINPTR" utility for Windows 3.1, from here: https://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/simtelnet/win3/util/wprt104.zip
Thank for those links. I'll ad them to my software arsenal ;)
 
Concurrently is not a given. Windows 3.1 doesn't have a real process scheduler. Applications that can cooperatively multitask actually do that themselves - by using message queue and manual yielding. If you have two networking applications where one isn't written with that in mind, there will be problems with TCP connection keepalive because the process could be frozen until you manually switch to it.

(...)

IMO multitasking networking on Windows 3.1 sounds painful but I'm open to hearing your experiences about it.
Multitasking *network applications* in Windows 3.1 works fine, just because in Windows 3.1 you can only use the "SmolNet" also known as the "Slow Net". Heavy web pages with 500 KB of constantly-running JavaScript are NOT going to happen no matter what - firstly, because the web browsers available for WIndows 3.1 don't have any modem JavaScript Engine to allow for that, and then because the memory model of Windows 3.1 would crash to a hard reboot even before the problem of scheduling such heavy web applications would be a consideration at all. Also, my Windows 3.1 install is running it's ethernet at 10 Mbps (16 bit PCMCIA NIC), so the bottleneck for network apps would be the bandwidth before the CPU.

In Windows 3.1, I can browse the gopher-sphere in Netscape Navigator while doing IRC and simultaneously having a PuTTY/SSH/Telnet session active, and even run a (slow) big FTP download in the background, no problem at all - because none of those operation are CPU-intensive, nor are they memory-hungry.

However, the CPU scheduling indeed is lacklustre in Window 3.1 when *CPU-intensive apps* are fighting for that resource, which becomes even more noticeable considering that Windows 3.1 is usually run on weak/vintage CPUs (by today's standards).

For example, when in Windows 3.1 I launch PuTTY to connect to a SSH server, the initial cryto negotiation (*before* even the login prompt appears on PuTTY's window) takes 1 minute and 12 seconds (measured with a stopwatch in hand) - although once the SSH connection is established PuTTY works smoothly. During that time doing the crypto negotiation, this Intel Pentium 75 MHz CPU is maxxed out.

Now, let's consider that this Pentium 75 CPU *cannot* play a stereo 192 kbps MP3 file of size 2.20 MB without stuttering and producing crackling sounds, using the official WinPlay3 v2.3 application for Win16 from the Fraunhofer Institute. However, if I configure that MP3 player's options to use "Frequency: Half", then that MP3 file plays nicely without any audible defects (at least, without any defects audible through the laptop's integrated stereo speakers). So we can assume that the reproduction of that MP3 file was also maxxing the CPU.

And then, if I play that MP3 file in the background while I launch a new SSH session in PuTTY, I see this happen: sound stops playing completely after 10 seconds of PuTTY running, and it's totally silent until second 41, when it is heard up until second 49, and then goes totally silent again until the 1 minute and 25 seconds mark, when PuTTY has finalized the crypto negotiation and is displaying the login prompt, and from that point on the MP3 sound is heard normally in the background while I work in the PuTTY's SSH session.

A fair CPU scheduler would have made the PuTTY negotiation in that scenario take much longer while allowing more CPU time to the MP3 player. But notice how here the PuTTY crypto negotiation only took 13 seconds longer than usual while the MP3 was playing-close-to-maxxing-the-CPU in the background. Clearly, the CPU scheduler in Windows 3.1 is NOT preemptive multitasking, and that is indeed *felt* with CPU-bound apps when the CPU is maxxed out.


Obligatory screenshot:
index.php
 

Attachments

  • multita2.png
    multita2.png
    41.6 KB · Views: 83
Last edited:
I remember using a program called "Net-Tamer" in Windows 3.1, along with Trumpet Winsock. I used it for mostly text based sites, checking email and information services like CompuServe. It would dial and login, download messages, then hang up. I would read messages and make replies, then it would dial up login, send the replies and grab any new messages and then hang up. I also had Gopher and Bulletin board access. No Web browsing and all through Dial up. No LAN connection.

I was also slow to adopt Windows 95. Stayed with DOS 5.0 and Win for a long time. The used WFW 3.11 a long time before Win95. Thanks for sharing this. I may try to do this on my Compaq LTE5400 which still has DOS 5.0.

Seaken
 
Now, let's consider that this Pentium 75 CPU *cannot* play a stereo 192 kbps MP3 file of size 2.20 MB without stuttering and producing crackling sounds, using the official WinPlay3 v2.3 application for Win16 from the Fraunhofer Institute. However, if I configure that MP3 player's options to use "Frequency: Half", then that MP3 file plays nicely without any audible defects (at least, without any defects audible through the laptop's integrated stereo speakers). So we can assume that the reproduction of that MP3 file was also maxxing the CPU.

And then, if I play that MP3 file in the background while I launch a new SSH session in PuTTY, I see this happen: sound stops playing completely after 10 seconds of PuTTY running, and it's totally silent until second 41, when it is heard up until second 49, and then goes totally silent again until the 1 minute and 25 seconds mark, when PuTTY has finalized the crypto negotiation and is displaying the login prompt, and from that point on the MP3 sound is heard normally in the background while I work in the PuTTY's SSH session.

Did you try having one of the network programs download something?
Also I think P75 should be able to do those MP3s. I've multitasked on P100 while listening to WinAmp. Those were probably 128kbps mp3s.


I remember using a program called "Net-Tamer" in Windows 3.1, along with Trumpet Winsock. I used it for mostly text based sites, checking email and information services like CompuServe. It would dial and login, download messages, then hang up. I would read messages and make replies, then it would dial up login, send the replies and grab any new messages and then hang up. I also had Gopher and Bulletin board access. No Web browsing and all through Dial up. No LAN connection.

I was also slow to adopt Windows 95. Stayed with DOS 5.0 and Win for a long time. The used WFW 3.11 a long time before Win95. Thanks for sharing this. I may try to do this on my Compaq LTE5400 which still has DOS 5.0.

Seaken

I remember reading about that program in a magazine, possibly I still have it on shelf somewhere.

Count me in to for slow adoption of Win 95. As a heavy DOS user I did not like switching. WFW3.11 did most of the stuff and integrated with DOS better.
But alas I think Win95 OSR2 is one of their best OSes. I've used it instead of Windows 98 in Windows 98 era. I ran 98 for a brief period of time in Y2K when some games and cutting edge emulators weren't running that well on 95 - moved soon to 2000, the best MS OS as far as I'm concerned.
 
I suspect there were are a ton of us that didn't buy into the whole "Start me up!" campaign. i remember a Usenet group called Survivalist PC or similar who members were predominantly Dos based.PC users. Ole Juul(may he RIP ) was a member.

May first Gui internet experience was using MS Windows 3.1 using IE 3.x with dail up TCP/IP driver via an external modem. When I got my IBM PC 300GL mini tower system with MS Windows 98RTM loaded on it I was using that as a dial up gateway machine for a 486DX 2/66 system running Linux Red Hat 6.2 and a OS/2 v 4 system I had back then via 10Base 2 network. Fun times and learnt a ton in the process.
 
Last edited:
WinPlay3 wasn't exactly an optimized player of MP3 files. Winamp took over the market mostly because it had a slick interface AND it was fast at decoding. A P75 had zero issue running it with its superior FPU. It was 486 class machines that struggled. Also, you could easily "step-up" Windows 3.1 to WfW 3.11. Its worth it due to its additional 32-bit internals (adds 32-bit file access and the 32-bit network stack) and it would be period correct for the machine.
 
Re gopher that I mentioned earlier. If you do a simple registry patch, then IE6 can visit gopher sites. I tried it and it works.
 
As we were on the topic earlier, these appear to be the Windows 3.1 upgrade files to 32 bit operation.


( Technically, you will have Windows 3.11 after you change the files, but there's not as many files as you may think. )

Also, as was noted earlier in the conversation, this only pertains to 386's, and not 286s.

Files were created 31/12/1993 and the readme on 2/3/1994.

Since it requires executing an EXE to decode the files, here's the readme in the archive.

====================================================================== Microsoft(R) Product Support Services Application Note (Text File) WW0981: WINDOWS(TM) 3.11 REFRESH FILES ====================================================================== Revision Date: 2/94 1 Disk Included The following information applies to the version Windows 3.11 update for Windows 3.10 users. ----------------------------------------------------------------------- | INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY | | ACCOMPANY THIS DOCUMENT (collectively referred to as an Application | | Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER | | EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED | | WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR | | PURPOSE. The user assumes the entire risk as to the accuracy and | | the use of this Application Note. This Application Note may be | | copied and distributed subject to the following conditions: 1) All | | text must be copied without modification and all pages must be | | included; 2) If software is included, all files on the disk(s) | | must be copied without modification (the MS-DOS(R) utility | | diskcopy is appropriate for this purpose); 3) All components of | | this Application Note must be distributed together; and 4) This | | Application Note may not be distributed for profit. | | | | Copyright (C) 1994 Microsoft Corporation. All Rights Reserved. | | Microsoft and MS-DOS are registered trademarks and Windows is a | | trademark of Microsoft Corporation. | |---------------------------------------------------------------------| ADDENDUM TO THE MICROSOFT SOFTWARE LICENSE AGREEMENT ==================================================== FOR MICROSOFT WINDOWS OPERATING SYSTEM VERSION 3.10 =================================================== The files provided in this Application Note are intended to replace the corresponding files provided with Microsoft Windows 3.10. Upon installation, these files become a part of the Windows operating system and are subject to the same license terms and conditions as the Windows 3.10 product you previously acquired from Microsoft Corporation. Any other use of these files is prohibited. MICROSOFT WINDOWS VERSION 3.11 FILES ==================================== This Application Note includes updated versions of eight core Windows 3.10 files. To update these files to version 3.11, follow the procedure below that is appropriate to your configuration. To update a local installation of Windows 3.10 to Windows 3.11 -------------------------------------------------------------- 1. Quit Microsoft Windows. 2. Create a backup directory. For example, to create a backup directory off the root of drive C, type MD C:\BACKUP at the MS-DOS command prompt and then press ENTER. 3. Copy the files listed below from your Windows SYSTEM subdirectory to the backup directory or a floppy disk. COMMDLG.DLL GDI.EXE KRNL386.EXE PSCRIPT.DRV UNIDRV.DLL SHELL.DLL USER.EXE To do this, use the following syntax copy <drive>:\<windir>\system\<filename> <drive>:\<backdir> where <drive> is your hard disk drive, <windir> is your Windows directory, <filename> is the file you are copying, and <backdir> is your backup directory. For example, if your hard disk drive is C, your Windows directory is named WINDOWS, and you are copying COMMDLG.DLL, type the following: copy c:\windows\system\commdlg.dll c:\backup Repeat this command for the remaining files. 4. Insert the enclosed WW0981 disk in the appropriate floppy disk drive. At the MS-DOS command prompt, type the following and then press ENTER copy <drive>:\*.* <destination> where <drive> is your floppy disk drive and <destination> is your Windows SYSTEM subdirectory. For example: copy a:\*.* c:\windows\system 5. If you use Novell NetWare connectivity, do the following: a. Use a text editor (such as Windows Notepad) to open your SYSTEM.INI file, which is located in your Windows directory. b. In the [386Enh] section, change DEVICE=*VTD to DEVICE=VTDA.386. c. Save the file and quit the text editor. To update a network installation of Windows 3.10 to Windows 3.11 ---------------------------------------------------------------- 1. Determine the location of your SYSTEM.INI file and the network share that contains your shared Windows files. For example, if the network drive containing your Windows program files is Q, the location of your shared Windows files may be Q:\WINSHARE and your user directory may be Q:\USER\<YOURNAME> (or your user directory may be located on your local hard disk drive). 2. Quit Microsoft Windows. 3. Create a backup directory. For example, to create a backup directory off the root of drive C, type MD C:\BACKUP at the MS-DOS command prompt and then press ENTER. 4. Copy the following files from the network share to the backup directory on your hard disk drive using the following syntax at the MS-DOS command prompt and then press ENTER copy <netdrive>:\<netshare>\<filename> <harddrive>:\<backdir> where <netdrive> is the network drive,<netshare> is the network share containing your SYSTEM.INI file, <filename> is the file you are copying, <harddrive> is your hard disk drive, and <backdir> is your backup directory. For example, if your network drive is Q, the network share is WINSHARE, the file you want to copy is COMMDLG.DLL, your hard disk drive is C, and your backup directory is called BACKUP, type the following: copy q:\winshare\commdlg.dll c:\backup Repeat this command for the remaining files: COMMDLG.DLL GDI.EXE KRNL386.EXE PSCRIPT.DRV UNIDRV.DLL SHELL.DLL USER.EXE 5. Remove the read-only file attributes on the shared Windows files using the MS-DOS ATTRIB command. 6. Insert the enclosed WW0981 disk in the appropriate floppy disk drive. At the MS-DOS command prompt, type the following and then press ENTER copy <drive>:\*.* <destination> where <drive> is your floppy disk drive and <destination> is the network drive and share. For example: copy a:\*.* q:\winshare 7. Reset the read-only file attributes on the shared Windows files using the MS-DOS ATTRIB command. 8. If you use Novell NetWare connectivity, do the following: a. Use a text editor (such as Windows Notepad) to open your SYSTEM.INI file. b. In the [386Enh] section, change DEVICE=*VTD to DEVICE=VTDA.386. c. Save the file and quit the text editor.
 
As we were on the topic earlier, these appear to be the Windows 3.1 upgrade files to 32 bit operation.


( Technically, you will have Windows 3.11 after you change the files, but there's not as many files as you may think. )

Also, as was noted earlier in the conversation, this only pertains to 386's, and not 286s.

Files were created 31/12/1993 and the readme on 2/3/1994.

Since it requires executing an EXE to decode the files, here's the readme in the archive.

====================================================================== Microsoft(R) Product Support Services Application Note (Text File) WW0981: WINDOWS(TM) 3.11 REFRESH FILES ====================================================================== Revision Date: 2/94 1 Disk Included The following information applies to the version Windows 3.11 update for Windows 3.10 users. ----------------------------------------------------------------------- | INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY | | ACCOMPANY THIS DOCUMENT (collectively referred to as an Application | | Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER | | EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED | | WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR | | PURPOSE. The user assumes the entire risk as to the accuracy and | | the use of this Application Note. This Application Note may be | | copied and distributed subject to the following conditions: 1) All | | text must be copied without modification and all pages must be | | included; 2) If software is included, all files on the disk(s) | | must be copied without modification (the MS-DOS(R) utility | | diskcopy is appropriate for this purpose); 3) All components of | | this Application Note must be distributed together; and 4) This | | Application Note may not be distributed for profit. | | | | Copyright (C) 1994 Microsoft Corporation. All Rights Reserved. | | Microsoft and MS-DOS are registered trademarks and Windows is a | | trademark of Microsoft Corporation. | |---------------------------------------------------------------------| ADDENDUM TO THE MICROSOFT SOFTWARE LICENSE AGREEMENT ==================================================== FOR MICROSOFT WINDOWS OPERATING SYSTEM VERSION 3.10 =================================================== The files provided in this Application Note are intended to replace the corresponding files provided with Microsoft Windows 3.10. Upon installation, these files become a part of the Windows operating system and are subject to the same license terms and conditions as the Windows 3.10 product you previously acquired from Microsoft Corporation. Any other use of these files is prohibited. MICROSOFT WINDOWS VERSION 3.11 FILES ==================================== This Application Note includes updated versions of eight core Windows 3.10 files. To update these files to version 3.11, follow the procedure below that is appropriate to your configuration. To update a local installation of Windows 3.10 to Windows 3.11 -------------------------------------------------------------- 1. Quit Microsoft Windows. 2. Create a backup directory. For example, to create a backup directory off the root of drive C, type MD C:\BACKUP at the MS-DOS command prompt and then press ENTER. 3. Copy the files listed below from your Windows SYSTEM subdirectory to the backup directory or a floppy disk. COMMDLG.DLL GDI.EXE KRNL386.EXE PSCRIPT.DRV UNIDRV.DLL SHELL.DLL USER.EXE To do this, use the following syntax copy <drive>:\<windir>\system\<filename> <drive>:\<backdir> where <drive> is your hard disk drive, <windir> is your Windows directory, <filename> is the file you are copying, and <backdir> is your backup directory. For example, if your hard disk drive is C, your Windows directory is named WINDOWS, and you are copying COMMDLG.DLL, type the following: copy c:\windows\system\commdlg.dll c:\backup Repeat this command for the remaining files. 4. Insert the enclosed WW0981 disk in the appropriate floppy disk drive. At the MS-DOS command prompt, type the following and then press ENTER copy <drive>:\*.* <destination> where <drive> is your floppy disk drive and <destination> is your Windows SYSTEM subdirectory. For example: copy a:\*.* c:\windows\system 5. If you use Novell NetWare connectivity, do the following: a. Use a text editor (such as Windows Notepad) to open your SYSTEM.INI file, which is located in your Windows directory. b. In the [386Enh] section, change DEVICE=*VTD to DEVICE=VTDA.386. c. Save the file and quit the text editor. To update a network installation of Windows 3.10 to Windows 3.11 ---------------------------------------------------------------- 1. Determine the location of your SYSTEM.INI file and the network share that contains your shared Windows files. For example, if the network drive containing your Windows program files is Q, the location of your shared Windows files may be Q:\WINSHARE and your user directory may be Q:\USER\<YOURNAME> (or your user directory may be located on your local hard disk drive). 2. Quit Microsoft Windows. 3. Create a backup directory. For example, to create a backup directory off the root of drive C, type MD C:\BACKUP at the MS-DOS command prompt and then press ENTER. 4. Copy the following files from the network share to the backup directory on your hard disk drive using the following syntax at the MS-DOS command prompt and then press ENTER copy <netdrive>:\<netshare>\<filename> <harddrive>:\<backdir> where <netdrive> is the network drive,<netshare> is the network share containing your SYSTEM.INI file, <filename> is the file you are copying, <harddrive> is your hard disk drive, and <backdir> is your backup directory. For example, if your network drive is Q, the network share is WINSHARE, the file you want to copy is COMMDLG.DLL, your hard disk drive is C, and your backup directory is called BACKUP, type the following: copy q:\winshare\commdlg.dll c:\backup Repeat this command for the remaining files: COMMDLG.DLL GDI.EXE KRNL386.EXE PSCRIPT.DRV UNIDRV.DLL SHELL.DLL USER.EXE 5. Remove the read-only file attributes on the shared Windows files using the MS-DOS ATTRIB command. 6. Insert the enclosed WW0981 disk in the appropriate floppy disk drive. At the MS-DOS command prompt, type the following and then press ENTER copy <drive>:\*.* <destination> where <drive> is your floppy disk drive and <destination> is the network drive and share. For example: copy a:\*.* q:\winshare 7. Reset the read-only file attributes on the shared Windows files using the MS-DOS ATTRIB command. 8. If you use Novell NetWare connectivity, do the following: a. Use a text editor (such as Windows Notepad) to open your SYSTEM.INI file. b. In the [386Enh] section, change DEVICE=*VTD to DEVICE=VTDA.386. c. Save the file and quit the text editor.
No just upgrade from version 3.1 to 3.11. It's just half a dozen or so core files. 3.1 can do 32-bit enhanced mode but needs help on the networking side. There is a Windows 3.1/3.11 Workgroups upgade to WfW 3.11IMAG0030.JPG
 
Last edited:
Nice find.
Btw, isn't splash screen in VGALOGO.RLE? Seems like no change there, so you still have 3.1 image.
Curious to what OS reports after that official upgrade procedure.
 
Back
Top