
Examining Windows 1.0 Hello.c - Narishma
https://virtuallyfun.com/wordpress/2020/05/22/examining-windows-1-0-hello-c/
======
pantalaimon
It's pretty impressive that binaries from Windows 1.0 still manage to run on
Windows 10.

I wish desktop Linux had even a fraction of that level of backwards
compatibility.

~~~
eddieroger
Devil’s Advocate counterpoint - being able to still run Win1.0 is evidence of
the baggage that Windows is carrying around, and maybe it would do them some
good to eventually cull out some old cruft. The transitions will naturally be
painful, but how much further and faster could they go if maybe they stopped
supporting code from 35 years ago?

~~~
NCommander
IBM Mainframes laugh at Windows backward compatibility. 50-60+ years isn't
unheard of. I actually want to at some point climb that cliff but my next
write up is exploring Windows 3.11's networking features, and then Novell
NetWare; the Windows one should go up tomorrow on SN, and NetWare next week.

~~~
amaccuish
I look forward to the NetWare one!

------
mmoez
This is a copy from an original article which was already posted on HN a few
days ago and which did not get any traction.

[https://news.ycombinator.com/item?id=23237045](https://news.ycombinator.com/item?id=23237045)

Could you please refer to the original article below and credit the original
site it was published on:

[https://soylentnews.org/article.pl?sid=20/05/10/1753203](https://soylentnews.org/article.pl?sid=20/05/10/1753203)

~~~
BalinKing
OP's article starts with "The following is a guest post by NCommander of
SoylentNews fame!", so I don't think there are any real attribution issues
here.

~~~
NCommander
I'm fine with either showing up, although it originally was posted to
SoylentNews (which I'm a site administrator), and then sent to neozeed to post
as SN deals with news more like HN and I didn't want it to get lost in the
archives. It's also on DEFCON 201's blog.

------
heinrich5991
The article links to a place where you can run Windows 1.0 in a browser:
[https://www.pcjs.org/software/pcx86/sys/windows/1.01/](https://www.pcjs.org/software/pcx86/sys/windows/1.01/).

Interestingly, even Windows 1.0's notepad had "Insert Time/Date (F5)". I
always wondered where that came from, but apparently it's backward
compatibility to Windows 1.0.

~~~
speps
I wonder if it's to support the fact that Windows 1.0 bugs were tracked in a
text file.

Source:
[https://devblogs.microsoft.com/oldnewthing/20200317-00/?p=10...](https://devblogs.microsoft.com/oldnewthing/20200317-00/?p=103566)

> The history of defect tracking in the Windows team goes back to Windows 1.0,
> which used a text file.

------
smitty1e
> I was inspired to investigate the original HELLO.C for Windows 1.0, a 125
> line behemoth that was talked about in hush tones.

Should that have been "125k line"? Not to get too pedantic, but the units seem
needful for "behemoth".

~~~
CyberDildonics
No, windows did not require a 125 thousand line program to display hello
world.

~~~
smitty1e
The question was serious; the repercussions, severe; the message, received.

~~~
billforsternz
Very nice, grace under pressure. Upvoted, along with the original question.

~~~
smitty1e
Thanks!

------
chkaloon
Amazing work. Thanks for the trip down memory lane

~~~
NCommander
You're welcome. I just got tipped off on this ending up here. The rabbit hole
was incredibly deep, but by time I was out of it, I was determined to share
the pain with the rest of the world :)

------
dblohm7
PASCAL != stdcall

~~~
NCommander
It does in Microsoft's world who #define it like that.

As I remember, and if I'm wrong, I'll correct it, the different on 32-bit was
that stdcall and pascal change the order of how arguments are injected.

~~~
dblohm7
That's because PASCAL was used for 16-bit Windows. They only define it as
stdcall in 32-bit and 64-bit compilers for source compatibility reasons.

The 16-bit Windows SDK does not define PASCAL as stdcall.

PASCAL pushes arguments left to right. stdcall pushes arguments right to left.

