7 ms·
Compiling Word for Windows v1.1a
- mmphosis 6y agoThe first Microsoft Word was released in 1983. It featured graphics video mode and mouse support in a WYSIWYG interface. It could run in text mode or graphics mode but the visual difference between the two was minor. In graphics mode, the document and interface were rendered in a fixed font size monospace character grid with italic, bold and underline features that was not available in text mode. It had support for style sheets in separate files (.STY). The first version of Word was a 16 bits PC DOS/MS-DOS application. A Macintosh 68000 version named Word 1.0 was released in 1985 and a Microsoft Windows version was released in 1989. The three products shared the same Microsoft Word name, the same version numbers but were very different products built on different code bases. Three product lines co-existed: Word 1.0 to Word 5.1a[6] for Macintosh, Word 1.0 to Word 2.0 for Windows and Word 1.0 to Word 5.5 for DOS. https://en.wikipedia.org/wiki/History_of_Microsoft_Word#Word_for_DOS https://en.wikipedia.org/wiki/History_of_Microsoft_Word#Word...
- twoodfin 6y agoThis stirred my memory of another terrific HN post on the history of Word for Windows 1.0: https://news.ycombinator.com/item?id=18764790 https://news.ycombinator.com/item?id=18764790
- thelazydogsback 6y agoI still have my green & white steel-balled mouse somewhere :) CGA/EGA gfx mode was pretty bad though, so still used EGA text mode in WW until final editing. (But it beat Electric Pencil in all upper case lol.) I really miss the slow-burn green screen w/the Hercules text card though -- esp. as a 2nd screen for debugging.
- core-questions 6y agoI've heard tell of the dual-screen DOS machine with a Hercules. How did this actually work? Did special debuggers support it, or something?
- limmeau 6y agoThe reason why this works is that IBM CGA/EGA/VGA map their text-mode video-RAM at segment 0xB800..0xBFFF, and in graphics-mode at 0xA000..0xAFFF. MDA and Hercules, on the other hand, map the video memory at 0xB000..0xB7FF, for reasons I never fully understood. So, if you plug a Hercules card and a VGA card, you can have two screens. Some debuggers supported it. I never got it to work back in the day with my ET4000 and an MDA scavenged from a PC-XT, but I was just a teenager with no access to StackOverflow.
- Narishma 6y agoLack of contrast makes this impossible to read without reader mode.
- Rochus 6y agoInteresting article, thanks for sharing. > Development on the word processor called Microsoft Word for DOS was started by Richard Brodie and others in 1982 Wasn't it rather Charles Simonyi and others?
- cardiffspaceman 6y agoBoth? https://www.core.co.uk/blog/blog/history-microsoft-word https://www.core.co.uk/blog/blog/history-microsoft-word
- Chris_Newton 6y agoThanks for the little trip down memory lane. Despite the much greater scale that modern tech gives us in almost every way, there is still something special about the early PC era, when an enthusiastic geek really could know every command that DOS provided (because your PC came with a manual that described them all and you could read it cover to cover in a few hours) and understand how the OS worked all the way down and what all the DOS and BIOS APIs (as we’d call them today) were for. In those days, you could write your own toy programs by running your debugger, manually entering assembly language into some memory, and then writing the memory from that address verbatim to a .com file, which DOS would happily load and run similarly verbatim (so make sure you remembered to exit at the end, or you’d end up executing whatever was randomly in the memory just after your program). Given luxuries like a higher level programming language, a real compiler and an interactive text editor, a single programmer could even write a useful application like a compiler or word processor or game to a professional standard within a reasonable amount of time. Though, as this article reminds us, sometimes you had to jump through some hoops that seem quite eccentric by modern standards to do it. For the record, I have never been a fan of pink shirts on book covers, though as defining moments in your life go, getting that book as a curious and very nerdy teenager was probably one of mine. I guess today the equivalent would be finding some tutorial videos on YT or copying and pasting lots of code from SO, but somehow I doubt any of the kids learning to program like that ever enjoys the same feeling of truly understanding your PC and how you can use it that we had back then. Or maybe there are secretly clubs of 13-year-olds making a ground-up Linux distribution that will take over the world running on Raspberry Pi supercomputers and open hardware smartphones in 10 years and I’m just too out of touch to know about it. ;-)
- yetihehe 6y ago> I doubt any of the kids learning to program like that ever enjoys the same feeling of truly understanding your PC and how you can use it that we had back then. I still have that feeling programming for small microcontrollers today. Stepping through some disassembled code and comparing/changing registers on the fly is just pure bliss.
- pjmlp 6y agoAnd a couple of books from Peter Norton or stuff like "PC Intern: System Programming : The Encyclopedia of DOS Programming Know How".
- tom_ 6y agoThis is dredging up some long-unused memories but you should be able to get a bit more memory by supplying the RAM parameter to emm386. Get yourself some upper memory blocks (UMBs) - usable memory above the 640 K mark. DEVICE=C:\DOS\HIMEM.SYS RAM HIGHSCAN (HIGHSCAN directs EMM386 to try harder to find upper memory blocks.) Then use FILESHIGH to set the file count. FILESHIGH=30 MEM should show you now have some upper memory (some of it now used by the files area), and slightly more conventional memory free.
- gcb0 6y agoTempted to download the source just to look if the interface code was done for both dos/windows. Anyone knows if there's an analysis on that?
- ssh_wintermute 6y agoRead it as "Compiling World of Warcraft", reading first paragraph wondering what the hell does Word has to do with it.
- phendrenad2 6y agoI wonder how much work it would be to compile this in the latest Visual C++. Probably all of the assembly stuff would need to be wrapped in something to tell a modern x64 CPU to go into 16-bit mode temporarily? Other than that, seems like a pretty standard win32 app. I smiled when I saw the familiar "winmain" procedure...
- oceanswave 6y agoI wonder how hard the is going to be when Apple Silicon forces us back to non-apple laptops