
Microsoft Word for Windows Version 1.1a Source Code (2014) - rmason
http://www.computerhistory.org/atchm/microsoft-word-for-windows-1-1a-source-code
======
coldcode
The article is missing a bit, since Word for Mac (1985) was more the model for
the eventual Windows 1.X version, but isn't even mentioned in the article.
There were also versions for other "windowed" OS's during the same 5 year
period before Windows was sufficiently viable to make it work. People often
forget that new apps appeared first on the Mac until around 1990 or so when
Windows 3.0 shipped (Word appeared a bit before); basically MacOS was much
more advanced than Windows up until that point. After Windows 3 the first
platform flipped completely to Windows. I shipped my first MacOS app in 1987.

~~~
bluedino
I'd be interested in learning about the DOS version. I remember using it but
it was a text mode application as far as I can remember (2.0?)

~~~
lobster_johnson
It was text only. The article says it was WYSIWYG, but that was only the later
Mac and Windows versions. The early text versions only did some stuff like
underlining, bold and alignment.

Microsoft released Word for DOS even after the Windows version came out, and I
remember a lot of people were surprised that they bothered -- 5.5 was even
transformed into a curses-style "graphical" DOS app [1] with colour, drop down
menus (with shadows!) and mouse support (but drawn with ASCII characters),
similar to Borland's DOS apps, but it seemed like a perfunctory release -- at
that point it was obvious DOS was legacy and that Windows was the future of
Microsoft.

[1]
[https://www.google.com/search?q=microsoft+word+5.5+dos&num=3...](https://www.google.com/search?q=microsoft+word+5.5+dos&num=30&safe=off&client=safari&hl=en-
us&prmd=sivn&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiy3PCcpZjRAhUP6WMKHVcMB1IQ_AUICCgC&biw=375&bih=559)

~~~
anonymfus
>similar to Borland's DOS apps

And to Visual Basic for DOS.

~~~
int_19h
This one was more similar to QBASIC and QuickBASIC, and also EDIT.COM. All of
these used the same UI toolkit, so far as I know.

VB for DOS was a bit different, and tried harder to look like Windows (3.x).
You can tell by looking at push buttons and window decorations:
[http://toastytech.com/guis/textvbdos.png](http://toastytech.com/guis/textvbdos.png)

~~~
kalleboo
EDIT.COM was actually just a shortcut to QBASIC.EXE with the /EDITOR flag

~~~
int_19h
If I remember correctly, EDIT.COM was a separate binary back when QBASIC
didn't ship with DOS. When they started shipping the latter in the box (DOS
5.0?), it became a shortcut.

~~~
kalleboo
Wikipedia says it was the other way around - EDIT didn't even exist until they
bundled QBASIC in DOS 5.0, but after they killed QBASIC in the DOS bundled
with Windows 95 it became it's own binary.

------
eb0la
Is this the first source code with Hungarian notation released to the
public?([https://en.m.wikipedia.org/wiki/Hungarian_notation](https://en.m.wikipedia.org/wiki/Hungarian_notation))

~~~
bprieto
The oldest maybe, unless there is other code written previously by Simony on
the wild. It's called hungarian notation because Charles Simony is hungarian
and he was the father of both hungarian notation and Word's source code.

~~~
WaxProlix
Simonyi, I think he goes by. His example code from his dissertation where
(again - I _think_ ) he first espoused the theory would have earlier examples
still. Word was his first major project, though, and probably the most
canonical "first exemplar", if such a thing is meaningful.

~~~
pmcjones
The Bravo text editor grew out of the second example in his thesis, and was
one of the first WYSIWYG editors. Its source code is available here:
[http://xeroxalto.computerhistory.org/Indigo/AltoSource/BRAVO...](http://xeroxalto.computerhistory.org/Indigo/AltoSource/BRAVOSOURCES.DM!1_/.index.html)
. Start here for more background: [http://www.computerhistory.org/atchm/xerox-
alto-source-code/](http://www.computerhistory.org/atchm/xerox-alto-source-
code/) .

------
davidw

        Morristown, NJ  07960
    

That's Bell Labs isn't it?

The 'obscure language' used is troff:
[https://en.wikipedia.org/wiki/Troff](https://en.wikipedia.org/wiki/Troff)

~~~
vdnkh
Bell Labs is in Murray Hill, Morristown is ~30mins away.

~~~
davidw
This mentions Morristown:

[https://en.wikipedia.org/wiki/Telcordia_Technologies](https://en.wikipedia.org/wiki/Telcordia_Technologies)

Seems somehow related though, what with the troff commands.

Here's where the example is from, it appears:

[http://cmd.inp.nsk.su/old/cmd2/manuals/unix/UNIX_Unleashed/c...](http://cmd.inp.nsk.su/old/cmd2/manuals/unix/UNIX_Unleashed/ch08.htm)

Also:
[http://articles.chicagotribune.com/1986-05-14/business/86020...](http://articles.chicagotribune.com/1986-05-14/business/8602030927_1_bellcore-
bell-communications-research-bell-labs)

So... not Bell Labs, I guess, but maybe something related?

~~~
nemild
See my comment in this thread.

Telcordia/Bellcore was a spinout from Bell Labs after the DOJ antitrust action
in the early 1980s. Bell Labs stayed with AT&T and Bellcore was the R&D lab
for the newly created Baby Bells composed of many staff from Bell Labs.

------
pcunite
A file "filewin.c" has the following comment:

 _FUTURE: MacWord does a DoJump( &venvMainLoop) !! (which,according to DavidLu
is "guaranteed to crash soon there after"). we should really figure out a
better way..._

Who is DavidLu and did this ever get fixed?

:-)

~~~
pcunite
Looks like it was David Luebbert.

[https://storify.com/leonzandman/ex-microsoft-engineer-
insigh...](https://storify.com/leonzandman/ex-microsoft-engineer-insightful-
comments)

------
dsp1234
sp2tab.bat which calls tabify.sed to replace spaces with tabs. Nice to know
that some things never change.

Edit: Also a 16bit windows executable version of GREP, just tested on a 32bit
version of Windows and it still works (but not on 64bit)

~~~
umanwizard
Unfortunately no 16-bit Windows executables work on 64 bit, since x86-64
processors lack the ability to run in 16-bit mode.

~~~
derefr
I keep seeing this statement, and it's making me wonder: how hard would it
have been for Windows 10 to simply ship with a 16-bit WinAPI-binary transpiler
(ala Rosetta) or emulator (ala DOSBox)?

~~~
0x0
Pretty hard. It's not just a matter of executing 16bit assembly, you also need
to handle mapping every single window message and callback between 16bit
handles and the real native handles, of which there are thousands and the
meaning/interpretation of parameters are unique for each one.

This guy is doing just that in .NET. While he uses a full blown CPU emulator
for executing 16bit x86, the hard part is all the thunking and bidirectional
mapping of handles and memory pointers and stuff:
[https://medium.com/@CantabileApp/implementing-window-
messagi...](https://medium.com/@CantabileApp/implementing-window-messaging-in-
win3mu-979a0ea31571)

~~~
derefr
This seems like the harder strategy of the two. What about simply having a
small Windows 3.1 or 95 VM that gets run in the background under HyperV, with
fresh VXDs written for it to allow it to use paravirtualized resources, so as
to allow it to do the same sort of "infinite framebuffer canvas used to back
native windows for the compositor" tricks VMWare's Unity mode and the like do?

~~~
0x0
Doesn't MS already ship this as a "Virtual Windows XP Mode" based on
VirtualPC?

The huge downside is of course the lack of integration with your main OS -
copy&paste and drag&drop of rich/dynamic content, OLE embedding, keyboard
settings, shared file systems and drive letters, printer drivers, all sorts of
windows preferences, applications installing random global windows hooks, etc
etc.

------
lewisjoe
Naive question: Is it possible to build/run this source in a simulator, VM or
something?

Is there any way, we can run windows 1.1, and get this up and running as of
today?

~~~
kyberias
Yes. You can take ms-dos with Windows 1.1, run it in a VM and build this using
the compiler tools included in the package. I've done it and it works. If I
remember correctly, there are instructions in some blogs to do this.

UPDATE: This is the thread from the time of the release:
[https://www.betaarchive.com/forum/viewtopic.php?t=31096](https://www.betaarchive.com/forum/viewtopic.php?t=31096)

(see my question in the thread)

------
xurukefi
Profanity check:

    
    
      $ grep -i fuck * -r
      Opus/asm/wordgrep.asm:; BP  is used as always, the other registers are free to fuck with.
      Opus/asm/wordgrep.asm:  je      another_fucking_out_of_range_jump
      Opus/asm/wordgrep.asm:another_fucking_out_of_range_jump:

~~~
erdemozg
haha, good one.

------
mizzao
> We are grateful to Roy Levin, Managing Director of Microsoft Research,
> Silicon Valley, for working hard to find the source code and getting
> permission for us to release it.

Ironic as MSR-SVC was shut down a few months after this article was written.

------
ungzd
It's still dark ages of word processing today but "cryptic commands" are in
markdown and html.

------
olav
I remember the joy of writing a 200 page book in FrameMaker on a smallish
SPARCstation in 1994. Even in 1998 it was easy to convince my boss to license
FrameMaker for Windows as writing software. Word was still too buggy to write
anything exceeding a few pages or with embedded images with it. Sadly, Adobe
never marketed FrameMaker to a mass market.

~~~
dragonwriter
They didn't because competing with the numerous low-end DTP solutions at a
price that would make it remotely competitive in the mass market would have
been fairly pointless for them.

And they still would probably have lost that market to Word for the same
reason the whole stack of players that did compete in that market did: no one
in the mass market is regularly writing and laying out books, they are either
mostly writing documents of a few pages with the occasional longer work, or
preparing copy and art.that ia going to be fed into some publisher's layout
system.

------
the_mitsuhiko
I wonder how much of this code still lives on in current generation Word.

------
mark-r
Word 1.1 is the catalyst that got me to try Windows. I was familiar with word
for DOS at the time, and the potential of proportional fonts and OS-level
printer drivers caught my imagination - it was the future, I was sure. It
didn't hurt that I got a promotional copy for cheap with Windows bundled. I
still have the floppies around somewhere.

Many years later, and I'm still writing Windows programs. Excellent strategy
on Microsoft's part.

Nice to see this hugely transformative software available in an archive.

------
iconjack
Comes on 33 disks, 28 of which are printer drivers.

------
faragon
Opus/sort.c implements Merge Sort, limited to 16383 records.

------
peterburkimsher
"Will Office be open source in future?"

"Yes. I give you my Word."

------
eggoa
_The 1984 BYTE magazine review said it was "clever, put together well, and
performs some extraordinary feats" but "extremely frustrating to learn and
operate efficiently."_

This still describes Word, 32 years later.

~~~
simonjgreen
Something Word does, for better or worse, is encourage lazy behaviour which
produces hard to maintain documents. This is fine if you have a one page
letter or a one off simple text document. However if you are trying to manage
something sizeable then it can be hellish to make document wide changes. It's
like the php of document editors, easy to start and forgiving, but hard to do
correctly.

Compare this to, for example, in design, and you'll see why Word is hated by
the print industry.

~~~
roxya
In both Word and InDesign, it's up to the user to create styles and use them.
The only difference is that InDesign users are a little more knowledgeable and
are more likely to stick to best practices. I have seen large InDesign
documents with everything manually formatted, no styles whatsoever.

------
x0
There's a whole bunch of sed files in the source code!

------
cja
What was "PC Word" and how did it relate to "Microsoft Word"? Was it also for
Windows?

(References to both found in
[http://antitrust.slated.org/www.iowaconsumercase.org/011607/...](http://antitrust.slated.org/www.iowaconsumercase.org/011607/8000/PX08875.pdf))

------
sytelus
It seems that Microsoft Word unseated far more established player WordPerfect
even before OS dominance. Any insights on how this happened?

~~~
raesene9
So I was an IT manager (well the only IT person for a ~50 person accountancy
firm) back in 1995 and I can tell you how it unseated wordperfect in my org.
Easy really... it was free!

So basically if you bought Gateway PCs with Windows 95 you got Office 95 Pro
for free with them. In a cost-constrained environment it was a no brainer
compared to spending money on Wordperfect licenses.

When I got there it was mainly Wordperfect for DOS and Lotus 1,2,3 for
spreadsheets but when we rolled out new PCs with Windows 95 we migrated to
Excel and Word.

In terms of productivity there was a definite hit for "pro" users where they
were faster with Wordperfect than Word but it was possible to get past that
and Word used to have a pretty useful compatibility layer so you cold use
Wordperfect commands in Word.

------
chris_wot
This actually might be useful in rendering old documents for The Document
Foundation's file format project.

------
TAForObvReasons
> To access this material you must agree to the terms of the license displayed
> here, which permits only non-commercial use and does not give you the right
> to license it to third parties by posting copies elsewhere on the web.

Does this conflict with the terms of the Open Specification Promise?
[https://en.wikipedia.org/wiki/Microsoft_Open_Specification_P...](https://en.wikipedia.org/wiki/Microsoft_Open_Specification_Promise)
If so, does that taint anyone working on a project involving DOC word
documents?

~~~
my123
Those early Word version didn't use the 97-2003 Word format, so it doesn't
matter ;)

~~~
yuhong
Which also reminds me that I wish that MS shipped PP4X322.DLL and PP7X32.DLL
separately from PowerPoint 2003.

------
jaclaz
[2014]

[http://www.computerhistory.org/press/ms-source-
code.html](http://www.computerhistory.org/press/ms-source-code.html)

------
albertgao
reading comments gave me a illusion that only the smartest people deserve to
use Word. seems I can get a Mensa certification on using every editions of
Word well without too much learning.....God I need to test my IQ, should be
9999.

------
pritambarhate
We use GSuite (Google Apps and Email) at work. Though I have MS Word installed
on my machine, I find that I increasingly use Google Docs for most of my
document needs. Only when I need to something that just can't be done in
Google Docs, I open MS Word. This is becoming increasingly rare.

I mainly use MS Word to open documents shared by Clients and to check the
resumes of candidates which are generally in MS Word format in India.

Google Sheets also have improved a lot over the past year or so.

