windows 3.1 (wfw) on vintage and modern hardware
TRANSCRIPT
![Page 1: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/1.jpg)
Windows 3.1 (WFW)on
vintage and modern hardware
Hackware v2.2 (7 Sept 2016) By: Yeo Kheng Meng ([email protected])http://yeokhengmeng.com/2016/09/windows-for-workgroups-3-11-on-vintage-and-modern-hardware-in-2016/
1
![Page 2: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/2.jpg)
So what is Windows 3.1x?
• Windows 3.1x is a series of 16-bit operating systems by Microsoft for use on PCs.
• Windows 3.1 was released on April 6, 1992
• Windows for Workgroups 3.11 was released on August 11, 1993
• WFW first to have inbuilt networking facilities
• All Windows 3.1x versions requires ≥MS-DOS 3.1 to be installed first
• https://en.wikipedia.org/wiki/Windows_3.1x
2
![Page 3: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/3.jpg)
Quick demo• Win3.1 user interface• Clock is an external app Winclock
• Graphics and Network Configuration• Play music with sound recorder• Internet access with IE5
3
![Page 4: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/4.jpg)
Challenge Motivation
4
![Page 5: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/5.jpg)
Microsoft Timeline of DOS/Windows
5
• New Technology (NT) • DOS-based and Windows 9x• PC-DOS (IBM Personal Computer Disk Operating System)• MS-DOS (Microsoft Disk Operating System)• Source 1: https://en.wikipedia.org/wiki/Timeline_of_Microsoft_Windows• Source 2: https://en.wikipedia.org/wiki/Timeline_of_DOS_operating_systems
PC-DOS1.0
(1981)
PC-DOS1.1
(1982)
PC-DOS2.0
(1983)
PC-DOS2.1
(1983)
PC-DOS3.0
(1984)
PC-DOS3.1
(1985)
PC/MS-DOS 3.2(1986)
MS-DOS3.3
(1987)
MS-DOS5.0
(1991)
MS-DOS6.0-6.2(1993)
MS-DOS6.22
(1994)
MS-DOS4.0
(1988)MS-DOS3.0-3.1(1984)
![Page 6: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/6.jpg)
Installation Goals
1. No Virtual Machines. That’s cheating!2. Video driver. No 640x4803. Sound4. Network, for web-surfing
6
![Page 7: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/7.jpg)
WFW3.11 system requirements• MS-DOS 3.1 or later• Intel 80386 (12 – 40 Mhz)• 5.25-inch (high density) or 3.5-inch floppy drive• EGA, VGA, SVGA, XGA, 8514/A, or Hercules video card or 100%
compatible card, and monitor• 3 MiB RAM (4 MB is recommended)
• 640K Conventional memory• 2048K Extended memory
• 6.2 MiB disk space (14.5 MiB recommended)• Mouse recommended
• Source1: https://support.microsoft.com/en-us/kb/32905• Source2: https://support.microsoft.com/en-us/kb/89333
7
![Page 8: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/8.jpg)
Understanding the Memory Layout
• Intel 8086/8088 CPUs have 20 address lines• Max 220 bytes = 1MiB memory
• Conventional memory (640KiB)• Executable code• Very precious
• Upper Memory Area (384KiB)• System device addresses• Additional Expanded Memory (EMS) via bank-switching
• Extended Memory (XMS) (Everything else)• Includes 64KiB High Memory Area (HMA) due to loophole• Can put DOS code here to conserve conventional memory
8Image Source: https://en.wikipedia.org/wiki/File:IBM_PC_Memory_areas.svg
![Page 9: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/9.jpg)
IBM Thinkpad 390e• Released in 1999 with Windows 98
• Win3.1 drivers provided by IBM
• Specifications• Intel Mobile Pentium II 300Mhz• Intel 440BX chipset• NeoMagic Media256AV 2.5MB VRAM• 384MB SDRAM• ESS Solo-1 Audio• 13.1” 1024×768• PATA hard drive (I used an SD card with SD-PATA converter)• CDROM + Floppy combo• Serial, Parallel, PS/2, USB 1.0, IrDA• 2x Cardbus slots
• No Ethernet• 4.5cm thickness• 3.4kg weight
• US$2700 in 1999• US$3900 today• SG$5300 today
9
![Page 10: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/10.jpg)
Preparing the install media
• 4x DOS 6.22 diskettes
• 8x WFW 3.11 diskettes
• Mac OS X El Capitan does not support USB Floppy drives
• Download links:
• https://winworldpc.com/product/ms-dos/622
• https://winworldpc.com/product/windows-3/wfw-311 10
![Page 11: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/11.jpg)
Video and Audio drivers?
11
• Video and audio drivers provided by IBM works flawlessly
• http://thinkpads.com/support/Thinkpad-Drivers/download.lenovo.com/lenovo/content/ddfm/390e.html
![Page 12: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/12.jpg)
Network?
12
• First attempt: PCMCIA/Cardbus network adapter• Xircom Realport Cardbus Ethernet 10/100• Intel hosts Xircom drivers till today• https://downloadcenter.intel.com/product/50588/Xircom-CardBus-Ethernet-
10-100-Adapter-CBE-10-100BTX-
• IBM’s Cardbus’s drivers DID NOT WORK!!!
• Second attempt: Parallel Port network adapter• Xircom Pocket Ethernet PE3-10BT• Powered by PS/2 passthrough cable• DOS drivers from Intel’s website• https://downloadcenter.intel.com/product/50622/Xircom-Pocket-Ethernet-
III-Adapter-PE3-10Bx-
![Page 13: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/13.jpg)
But where is the challenge?
13
![Page 14: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/14.jpg)
Modern Lenovo Thinkpad T400
14
• Released in 2009 with Windows 7• Specifications
• Intel® Core™2 Duo processor T9400, 2.53 Ghz• Intel GM45 chipset• Intel GMA 4500MHD• 8 GB DDR3 RAM• Conexant HD Audio• 14.1” LED matte display with 1440×900• 240GB Samsung 850 Evo • SATA DVD-RW Multi• 3 USB2.0 ports, 1 IEEE1394, Gigabit Ethernet• Intel Wireless-AC 7260 2×2 dual-band with
Bluetooth 4 via mini-PCIe• 1 Cardbus slot and 1 ExpressCard slot• Last to support Thinkpad Advanced Mini Dock
• Thinkpad Advanced Mini Dock• 4x USB• PS/2 keyboard/mouse• LAN• Native Serial and Parallel• VGA, DVI
![Page 15: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/15.jpg)
Universal Video driver for VMs
• Patched driver for VMware• 1024 x 768 with 256 colours (XGA)• Source: https://sites.google.com/site/chitchatvmback/misc 15
![Page 16: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/16.jpg)
My sound card• Designed and assembled by yours truly• Based on 1989 Covox Speech Thing, parallel port sound card• CPU-driven R-2R resistor-ladder
16https://github.com/yeokm1/pcb-covox-amp-v2
![Page 17: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/17.jpg)
Network• Intel Gigabit Ethernet DOS drivers
17
![Page 18: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/18.jpg)
CONFIG.SYS and AUTOEXEC.BAT• Important DOS configuration files
• CONFIG.SYS• Loads drivers on startup
• HIMEM.SYS/HIMEX.EXE: Extended Memory Manager• DOS=HIGH: Load DOS to HMA to save conventional memory• CDROMDRV.SYS: Toshiba CD driver• POWER.EXE: Sends x86 HALT instruction to save CPU power when idle
• AUTOEXEC.BAT• Stands for automatic execution• Batch files that starts at end of DOS boot process
• MSCDEX.EXE/SHCDX33F.COM: Assign CD drive letter to driver• DOSKEY.COM: Terminal history, auto-completion• CTMOUSE: Modern DOS mouse drive for PS/2 mouse
• devicehigh and loadhigh -> HMA
18
![Page 19: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/19.jpg)
HTTPS support• Obsolete: SSLv1 – SSLv3• In use: TLSv1.0 – TLSv1.2
• Problems• IE5 only supports SSLv3• Expired certificates
• Solution1.Use a proxy to “upgrade” SSL connection2.Use SSLStrip to replace HTTPS links as HTTP URLs• Both are man-in-the-middle (MITM) attacks
19
![Page 20: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/20.jpg)
HTTPS solution 1: SSL upgrade• Use Squid proxy’s SSL BUMP• Did not complete due to complications and lack of time
20
TLS 1.1
Typical
MITMSSLv3 TLS 1.1
Client Web Server (s)
![Page 21: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/21.jpg)
HTTPS solution 2: SSLstrip
• Modern browsers use HTTP Strict Transport Security (HSTS)• A website tells client must use HTTPS
• Some servers enforce HTTPS-only connection21
Client Web Server (s)
MITMRaspberry Pi 3
Google “Wikipedia”
Reply from Google:https://en.wikipedia.org/https://www.wikipedia.org/https://www.facebook.com/wikipedia/Reply from Google:
http://en.wikipedia.org/http://www.wikipedia.org/http://www.facebook.com/wikipedia/
http://en.wikipedia.org/
Google “Wikipedia”
http://en.wikipedia.org/
Replaces HTTPS links as HTTP URLs
![Page 22: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/22.jpg)
Bonus section: Windows 1.0• Oldest Windows version released in 1985• Used updated version 1.04 released in 1987• I could not run the programs, causes system hang
22
![Page 23: Windows 3.1 (WFW) on vintage and modern hardware](https://reader035.vdocument.in/reader035/viewer/2022062316/587a21361a28abb4238b79cb/html5/thumbnails/23.jpg)
Conclusion• External comments• Massive waste of time• Money down the drain• Hugely impractical
• My takeaways• Greater appreciation for modern computing• Intel and Microsoft spent lots of effort to maintain
backward compatibility.
• Visit my blog post for more details• http://yeokhengmeng.com/2016/09/windows-for-workgroups-3-11-on-
vintage-and-modern-hardware-in-2016/
23