What Does It Take To Port 16-Bit Windows 1.0 Applications Into Native Windows 11 Programs?

Channel:
Subscribers:
46,500
Published on ● Video Link: https://www.youtube.com/watch?v=kh0CdLPkJVE



Duration: 21:15
224,543 views
7,836


Windows has been around for 36 years now, and it's changed a lot since it's early days. However, one question I had to wonder is: what does it take to port a legacy Windows 1.0 application to the modern day. After all, computers in 1985 were 16-bit, while modern computers are now 64-bit. For those of us who lived through the 90s, you'll remember that upgrading to then new Windows 95, and NT 4 were very much a big deal.

My socials:
Patreon: https://www.patreon.com/ncommander
Twitter: https://twitter.com/FOSSfirefighter
Discord: https://discord.gg/V8esNah
Blog: https://casadevall.pro

For the sake of my curiosity, I decided to find out. Starting with the example applications from the Windows 1.0 SDK, i started by porting them forward to Windows 3.1 and modifying them to compile under Microsoft Visual C++ 1.52. After ensuring I had working project files, I then ported then to Visual C++ 6 under Windows NT 4. This provided a 32-bit baseline, and let me resolve API issues such as changed to hPrevInstance, and the removal of certain non-Ex variants of functions from 16 to 32 bits.

This then extended to porting to Server 2005 and Visual Studio 2005, where I did an initial x64 port, and tried to create an Itanium based ported, but failed, due to Microsoft's annoying policies of gating off developer tools behind an absurd paywall.

After gnashing my heath, we hopped ahead to Windows 11, and Visual Studio 11, where, after importing the project files, we had everything running just fine on 64-bit platforms. This of course encouraged chat to make me take it further. First I ended getting the applications running on WINE, then we hopped into ReactOS, OS/2, and well, we transcended the world of x86 programming entirely, and ended up on NT4 on MIPS, which involved using a special edition of Visual C++ 4 to compile the binaries for the never realized non-x86 world.

Afterwords, we wrapped itup, and I decided to re-edit this stream into a full fledged video, with the third NCommander in Realtime event.
#ncommander #retrocomputing #window1 #16bit




Other Videos By NCommander


2022-06-26NNAF FUNDRAISER: Exploring GNU/Hurd LIVE!
2022-05-20What Does It Take To Run DOOM On A $10,000 IBM RS/6000 From 2001?
2022-05-15ROE FUNDRAISER: 3D's Movie Maker Resurrection LIVE! (Part 2)
2022-05-07ROE FUNDRAISER: Trying To Compile 3D's Movie Maker's Source Code LIVE!
2022-05-01STREAM: Commodore Had UNIX On Amiga?!
2022-03-13CHARITY STREAM: Building Linux From Scratch - CDE, Firefox, and More (Part 3)
2022-02-18The Forgotten Secrets of the First Linux LiveCD (Yggdrasil Linux)
2022-01-08CHARITY STREAM: Building Linux From Scratch, the Road To X (Part 2)
2021-12-25STREAM: END OF 2021! Exploring A Bunch Of Vintage Hardware LIVE!
2021-12-19CHARITY STREAM: Building Linux (and Firefox) From Scratch (Part 1)
2021-11-26What Does It Take To Port 16-Bit Windows 1.0 Applications Into Native Windows 11 Programs?
2021-11-14STREAM: Porting 16-bit Windows 1.0 Applications to 64-Bit Windows 11
2021-10-25Cursed Apple IIgs, Odd Windows 1.0, iMac Prototypes, the AT&T UNIX PC, And More (VCF East 2021)
2021-09-03STREAM: Space Cadet Pinball AFTERSHOW! (ft. Windows on Itanium)
2021-09-03The REAL Story On Why Space Cadet Pinball Was Removed (ft. Windows on Itanium)
2021-08-15STREAM: Making A Windows 10 to Solaris 7 Cross-Compiler LIVE!
2021-08-02THINGS THAT SHOULDN'T EXIST: Internet Explorer for UNIX
2021-07-28Rendering Complex Images On A 39-Year Old PC With BASIC
2021-07-23The Version of Windows NT That Fits in 10 MiB (Embedded Edition)
2021-07-11STREAM: Experimenting with Windows NT 4 Embedded
2021-06-28Exploring Sun Solaris 7 for SPARC



Tags:
ncommander
retrocomputing
windows 1.0
hello world
visual studio
visual c++
16-bit
32-bit
64-bit
windows 3.1
windows nt 4
server 2003
windows 11
porting
retrodevelopment
risc
windows nt on risc
k&r c
example code porting
windows api
c development
win32
win64
itanium
visual c++ 6
visual c++ 2005
visual c++ 2022
porting software
backward compatibility
win16
masm
cardfile
interface manager
windows development