The "Undocumented" Bookstore
Andrew Schulman
in association with amazon.com
This page last updated February 9, 1997
I'll be expanding this page into what I hope will become a full-scale
online "store" (in association with amazon.com) for books on
operating-system internals and undocumented features, plus related topics
such as reverse engineering, intellectual property, interoperability, innovation,
antitrust, and the history of technology. I'll be updating this frequently,
so you might want to check in often (you can register
for update notices via email). I'll also be trying to figure out how to
fit in software development for the web (which possibly eliminates the
need for most of this operating-systems internals stuff!).
Books on undocumented interfaces and operating
system internals
Books on intellectual property (copyright,
patents, trade secrets, reverse-engineering law, etc.)
Books on antitrust, competition, monopoly,
and innovation
Undocumented Interfaces and Operating System Internals
-
Second edition! The
Undocumented PC: A Programmer's Guide to I/O, CPUs, and Fixed Memory Areas
by Frank van Gilluwe. The new second edition includes coverage of undocumented
Pentium, Pentium Pro, and MMX instructions; coverage of 5x86 and 6x86 processors
from AMD and Cyrix; information on Windows 95 keyboard functions. An excerpt,
Chapter 17 on interrupt control and NMI, is available
online. Frank is author of the famous Sourcer
disassembler, available from his company, V Communications.
-
Matt Pietrek's new book, Windows 95 System Programming Secrets.
Matt has given me permission to reprint a brief excerpt from this excellent
book: "Dirty Little Secrets about Windows 95".
A review from Dr. Dobb's Journal is available
online, as is Ron Burk's review from Windows
Developer's Journal.
-
MFC Internals: Inside the Microsoft Foundation Class Architecture
by George Shepherd and Scott Wingo.
See long review ("Telling It Like It Is, Not How It Should Be"),
excerpts, and table of contents available
online at Ray Duncan's Electronic Review
of Computer Books. One of the authors maintains the MFC
FAQ.
-
Walter Oney's System
Programming for Windows 95 (Microsoft Press). See review
online (Windows Developer's Journal).
-
DOS Internals by Geoff Chappell. Don't be fooled by the title:
this brilliant book is as much about Windows as it is about DOS. Chappell's
book is the natural follow-on to Undocumented DOS, covering many
topics in more detail (and more accurately!) than that book does. Includes
system configuration and startup, the system "footprint," extensive
coverage of INT 19h, the IO.SYS loader, the INT 2Fh function 13h interface,
DOS is ROM, Windows/DOS interaction, the INT 21h function 4B05h set-execution-state
function, writing TSRs and device drivers in C, XMS, an entire chapter
on the A20 line, LOADALL, a close look at HIMEM.SYS, SmartDrive, low-level
disk access, boot sectors, generic IOCTL, and an entire chapter on error
codes. An amazing book! Ok, so it's a little out of date, and in 1997 few
people may still care about INT 19h or A20, but this is still an awesome
book.
- Windows
Internals by Matt Pietrek (The Implementation of the Windows Operating
Environment)
- 80x86
Architecture and Programming by Rakesh Agarwal. This is actually
volume 2 (Architecture Reference); I don't think volume 1 was ever published.
See my review
from Dr. Dobb's Journal a few years ago:
- Agarwal presents extremely detailed C (and pseudo-C) code for each
Intel instruction. These in turn use a library of functions such as LA_rdChk()
(linear-address read), LA_wrChk() linear-address write), priv_lev_switch_CALL()
(privilege-level switch), enter_new_task(), and the sickeningly complex
read_descr() (read-descriptor)....
If you've ever asked what really happens when you MOV ES, AX in protected
mode, or how Windows ... traps IN and OUT instructions using Virtual 8086
mode, this is the book to get. When you're finished, you may be sorry you
asked, but that's a different story.
-
John Lions' Commentary
on UNIX 6th Edition, with Source Code. This is the famous "Lions
Book, as described in the online jargon
file and in the superb New
Hacker's Dictionary compiled by Eric Raymond:
- Lions Book n. "Source Code and Commentary on UNIX level 6",
by John Lions. The two parts of this book contained (1) the entire source
listing of the UNIX Version 6 kernel, and (2) a commentary on the source
discussing the algorithms. These were circulated internally at the University
of New South Wales beginning 1976--77, and were, for years after, the *only*
detailed kernel documentation available to anyone outside Bell Labs. Because
Western Electric wished to maintain trade secret status on the kernel,
the Lions book was never formally published and was only supposed to be
distributed to affiliates of source licensees (it is still possible to
get a Bell Labs reprint of the book by sending a copy of a V6 source license
to the right person at Bellcore, but *real* insiders have the UNSW edition).
In spite of this, it soon spread by samizdat to a good many of the early
UNIX hackers.
- Unauthorized
Windows 95 by Andrew Schulman (with disk). While the book is slightly
out of date (it did come out in 1994, before Windows 95 itself!), I have
posted updates
on the web. A review by Al Stevens in Dr. Dobb's Review is available
online at Ray Duncan's Electronic Review
of Computer Books; also see Jon Udell's review in Byte.
- Unauthorized
Windows 95 by Andrew Schulman (without disk). I've posted updates
on the web.
- Undocumented
Windows by Schulman, Maxey, and Pietrek. This book is in some sense
hopelessly outdated, but the first four chapters are still a good description
of examining operating-system internals. See Ray Duncan's Dr. Dobb's
Journal review, available
online.
- Undocumented
DOS, 2nd edition, by Schulman, Maxey, Brown, Kyle, and Michels.
Errata is available
online.
- Dissecting
DOS by Mike Podanoffsky. The author's
web site has more information about RxDOS (the DOS-compatible operating
system described and distributed with Dissecting DOS) and about
his other projects, and includes the table
of contents for the book.
- Extending
DOS, 2nd edition, by Ray Duncan et al.
- Windows++:
Writing Reusable Windows Code in C++ by Paul Dilascia. I don't
care that it's about Windows 3.x: this is still a great book, containing
many general lessons about user-interface programming (particularly about
the need to separate the program from its data).
- The Personal Computer from the Inside Out: The
Programmer's Guide to Low-Level PC Hardware and Software by
Murray Sargent III and Richard L. Shoemaker (3rd edition). Murray
Sargent was directly involved in the original (1988) porting of
Windows to protected mode; you can read all about this (and a lot of
other important Microsoft history) in the great book Gates: How Microsoft's Mogul Reinvented an Industry -- and
Made Himself the Richest Man in American by Stephen Manes and
Paul Andrews. That such a book contains a detailed discussion of how
Windows was ported to protected mode, indicates it is really a book
about Microsoft and not (thankfully) a book about Bill Gates;
it is the one book to get if you're interested in the history of
Microsoft.;
- Windows Network Programming by Ralph
Davis
Intellectual Property
(Copyright, patents, trade secrets, reverse-engineering law, etc.)
- The
Software Developer's and Marketer's Legal Companion by Gene K.
Landy. This book/disk package (the disk contains sample forms, letters,
and agreements) has superb discussions of trade-secret law, reverse engineering,
fair use, shrink-wrap licenses, warranties, and just about everything else
a software engineer might want to know about the law. Gene helped write
some of the legal discussions in the 2nd edition of Undocumented DOS.
A follow-on book is The
Software Publishers Association Legal Guide to Multimedia by Thomas
J. Smedinghoff.
- Who
Owns Information?: From Privacy to Public Access by Anne Wells
Branscomb. A readable survey that reveals the fundamental tension in intellectual
property between public and private rights. The chapter "Who Owns
Religious Information?" includes a hilarious description of reverse-
engineering the Dead Sea Scrolls from a concordance! Other chapters include
"Who owns your name and address?", "Who owns your telephone
number?", "Who owns your image?", "Who owns your electronic
messages?", "Who owns computer software?", etc. An excerpt
is available
online; also see online
review.
- Secrets:
On the Ethics of Concealment and Revelation by Sissela Bok. A wonderful
book on a topic with obvious relevance for anyone interested in reverse
engineering. Chapter 10 deals specifically with trade and corporate secrecy.
Also see her brilliant Lying:
Moral Choice in Public and Private Life, another book whose subject
has clear relevance for the computer software industry. :-)
- Legal
Secrets: Equality and Efficiency in the Common Law by Kim Lane
Scheppelle. (Hardback only: very expensive.) Has excellent discussion of
trade secrets and reverse engineering. Also see the chapter on "caveat
emptor," which of course is the principle underlying the warranties
of the computer software industry: "Caveat emptor, requiring that
the buyer beware, seems to be difficult to square with rules about equal
access to information.... if the goods were impossible to inspect, then
perhaps the rule ought to be relaxed... this rule provides incentives for
merchants to deliberately remain ignorant of the qualities of their wares..."
- Interfaces
on Trial: Intellectual Property and Interoperability in the Global Software
Industry by Jonathan Band and Masanobu Katoh. (Hardback only; very
expensive.) Excellent discussion of reverse engineering, disassembly, and
"decompilation" to uncover undocumented interfaces for the purposes
of interoperability. Extensive coverage of Microsoft's position, including
for example Nathan Myhrvold's testimony during the set-top box debates:
"Myhrvold's testimony also reflects the ultraprotectionist penchant
for misrepresenting the position of the interoperable developers...."
- Contested
Culture: The Image, the Voice, and the Law by Jane M. Gaines. A
fascinating look at "intellectual property" of pop-culture images,
with in-depth examinations of cases involving Oscar Wilde, Jackie Onassis,
Nancy Sinatra, Bela Lugosi's Dracula, and the DC Comics Superman
character. Explores the paradox of "pop culture" that is widely
disseminated but closely owned.
There's an interesting article
online that discusses this book: "'Humanipulation': Legal
Considerations in the Computer Animated Manipulation of the Human
Image in Feature Film," by Lorene M. Duran.
- Copyright's
Highway: The Law and Lore of Copyright from Gutenberg to the Celestial
Jukebox by Paul Goldstein. See the long review
online (High Technology Law Review, Spring 1995).
- The
Nature of Copyright: A Law of Users' Rights by L. Ray Patterson
and Stanley W. Lindberg. A provocative and well-argued assertion that the
rights of "authors" (in actuality, owners) is only an incidental
function of copyright, which exists primarily for the users' benefit. Contains
a lot of good material on "fair use," on the monopolostic origins
of copyright in 16-17th century England, and on how publishers and owners
often hide behind the label of "authors."
- Authors
and Owners: The Invention of Copyright by Mark Rose. A detailed
look at the early history of copyright, showing its early connection with
monopoly and state censorship, and clarifying the important distinction
between authors and owners. Interestingly, the author's previous works
include Alien Encounters: Anatomy of Science Fiction.
Antitrust, competition, monopoly, and innovation
- Steven P. Schnaars,
Managing Imitation Strategies: How Later
Entrants Seize Markets from Pioneers. Contains 28 case studies of
"Imitators Who Surpassed Pioneers," including 35mm cameras, ATMs,
computerized ticketing services, credit/charge cards, money- market
mutual funds, light beer, nonalcoholic beer, paperback books, pocket
calculators, PCs, PC spreadsheets, warehouse clubs, VCRs, videogames,
and -- not surprisingly -- two cases involving Microsoft: PC
operating systems, and PC word processors.
See the small
slide slow based on the book, using the case example of "Ball Point
Pens: First Mover vs. Later Entry." Hmm, possible implications here for
Microsoft's attempts to
catch up to the Internet?.
- James M. Utterback, Mastering
the Dynamics of Innovation: How Companies Can Seize Opportunities
in the Face of Technological Change. Contains a fascinating case
study of the typewriter industry (including the history of the QWERTY
keyboard layout); the chapter on "Invasion of a Stable Business by a
Radical Innovation" discusses the impact of mechanically-made ice on
the natural-ice industry in the 19th century.
- Richard N. Langlois and Paul L. Robertson, Firms,
Markets, and Economic Change: A Dynamic Theory of Business
Institutions. The long chapter on "External Capabilities andd
Modular Systems" discusses not only the PC industry, but other
industries where success depends on wide adaptation (on building a
"network," in fact) and compatibility: for example, the development
of hi-fi and stereo systems, the origin of 33 rpm records, LP
records, FM broadcasting.
Also see the Internet Site
for the Economics of Networks.
- Walter Adams and James W. Brock, Antitrust
Economics on Trial: A Dialogue on the New Laissez-Faire. A
brief, entertaining polemic (in the form of a play!) against the
Chicago School of Economics' defense of tying arrangements and other
predatory practices discussed in chapter 1 of Undocumented
DOS. Pages 30-37 on "the predation problem" are particularly
useful.
- W. Brian Arthur, Increasing
Returns and Path Dependence in the Economy. Why does one
product such as VHS "win out" over another product such as VHS? Why
did the QWERTY keyboard win? How does an operating system such as
MS-DOS or Windows "lock-in" its customors? Using Polya urns, random
walks, and so on, the author tries to develop a formal model to
explain some paradoxes of the hi-tech economy. These paradoxes
involve "path dependence," a phrase which clearly helps describe
Microsoft's dominance of the PC software industry (not surprisingly,
Arthur was involved as an "expert" in the Microsoft antitrust case;
see the Gary
Reback amicus brief).
Arthur's work is discussed in Mitchell
Waldrop's excellent book Complexity:
The Emerging Science at the Edge of Order and Chaos.
The
author's home page has
PostScript copies of many of his papers, including "Positive
Feedbacks in the Economy" (Scientific American, Feb. 1990).
For an interesting counterpoint, see the article "We Don't Know Why
She Swallowed the Fly: Policy and Path Dependence" online,
especially the section "Typewriter Keyboards and Other Fables."
Also see the Bibliography on the Economics of Standards and
Standardization online.
The O'Reilly Windows Center
Unauthorized Windows 95 Update