Date post: | 14-Jan-2017 |
Category: |
Technology |
Upload: | yeokm1 |
View: | 998 times |
Download: | 0 times |
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
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
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
Challenge Motivation
4
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)
Installation Goals
1. No Virtual Machines. That’s cheating!2. Video driver. No 640x4803. Sound4. Network, for web-surfing
6
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
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
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
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
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
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-
But where is the challenge?
13
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
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
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
Network• Intel Gigabit Ethernet DOS drivers
17
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
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
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)
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
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
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