from:
http://www.charlespetzold.com/code/CodeBibliography.html
Click Here: <A
HREF="http://www.charlespetzold.com/code/CodeBibliography.html">Code:
Annotated Bibliography</A>
-----
Chapter 19. Two Classic Microprocessors

A recent book that discusses the architecture or microprocessor and machine
code is:
Crisp, John. Introduction to Microprocessors. Oxford, England: Newnes
(Butterworth-Heinemann), 1998.
An older book first published in 1977 is also useful for its early look at
small computer systems:
Zaks, Rodney. Microprocessors: From Chips to Systems, 3rd edition. Berkeley,
CA: Sybex, 1980.
Many mid-1970s hobbyists (including me) learned lots about microprocessors
and assembly language from books by Adam Osborne and company:
Osborne, Adam. An Introduction to Microcomputers, Volume I: Basic Concepts.
Berkeley, CA: Adam Osborne and Associates, Inc., 1976.
Osborne, Adam. An Introduction to Microcomputers, Volume II: Some Real
Products. Berkeley, CA: Adam Osborne and Associates, Inc., 1976.
Osborne, Adam. 8080 Programming for Logic Design. Berkeley, CA: Adam Osborne
and Associates, Inc., 1976.
Osborne, Adam. 6800 Programming for Logic Design. Berkeley, CA: Adam Osborne
and Associates, Inc., 1977.
Later Intel publications I consulted cover both the 8080 and 8085
microprocessors:
Intel Corporation. The 8080/8085 Microprocessor Book. New York, NY: John
Wiley & Sons, 1980.
Intel Corporation. The MCS-80/85 Family User's Manual. 1986.
The Motorola 6800 books I consulted for this chapter were:
Motorola Semiconductor Products Inc. M6800 Microcomputer System Design Data.
1976.
Motorola Semiconductor Products Inc. M6800 Microprocessor Programming Manual,
Third Edition. 1976.
An idiosyncratic history of early small computers by the owner of New York
City's first computer store is:
Veit, Stan. Stan Veit's History of the Personal Computer. Asheville, NC:
WorldComm, 1993.
And then there's the wonderful:
Levy, Steven. Hackers: Heroes of the Computer Revolution. Garden City, NY:
Anchor Press/Doubleday, 1984.
Today's data books are often available as downloads from web sites:
Motorola PowerPC Library: http://www.mot.com/SPS/PowerPC/teksupport/teklibrary
/index.html
Intel Pentium III Processor Manuals: http://developer.intel.com/design/Pentium
III/manuals/
An online historical look at microprocessors is:
Bayko, John. "Great Microprocessors of the Past and Presemt": http://www.cs.ur
egina.ca/~bayko/cpu.html

Chapter 20. ASCII and a Cast of Characters

An extensively detailed book about the development of ASCII and EBCDIC is:
Mackenzie, Charles E. Coded Character Sets, History and Development. Reading,
MA: Addison-Wesley Publishing Company, 1980.
Nothing else comes close to this book. It's also out of print and very hard
to find. The Library of Congress has a copy but the New York Public Library
does not. Information on International Telegraph Alphabet #2 (Baudot) can be
found in:
International Telecommunication Union. ITU-T Recommendation S.1:
International Telegraph Alphabet #2. ITU, 1994.
This document is available for downloading (at a price) from the web site:
International Telecommunications Union: www.itu.org.
The original ASCII standard and the "Latin Alphabet No. 1" extension are
published as:
American National Standards Institute. ANSI X3.4-1986: Coded Character Sets -
7-Bit American National Standard Code for Information Interchange (7-Bit
ASCII). New York: ANSI, 1986.
American National Standards Institute. ANSI/ISO 8859-1-1987: 8-Bit
Single-Byte Coded Graphic Character Sets - Part 1: Latin Alphabet No. 1. New
York: ANSI, 1987.
These documents are available from ANSI:
American National Standards Institute: www.ansi.org.
The Hacker's Dictionary defines EBCDIC as

"An alleged character set used on IBM dinosaurs. [dinosuar: "Any hardware
requiring raised flooring and special power."] It exists in at least six
mutually incompatible versions, all featuring such delights as non-contiguous
letter sequences and the absence of several ASCII punctuation characters
fairly important for modern computer languages (exactly which characters are
absent varies according to which version of EBCDIC you're looking at). IBM
adapted EBCDIC from punched card code in the early 1960s and promulgated it
as a customer-control tactic (see connector conspiracy), spuring the already
established ASCII standard. Today, IBM claims to be an open-systems company,
but IBM's own description of the EBCDIC variants and how to convert between
them is still internally classified top-secret, burn-before-reading. Hackers
blanch at the very name of EBCDIC and consider it a manifestation of purest ev
il. See also fear and loathing."
Unicode is documented in:
The Unicode Standard, Version 2.0. Reading, MA: Addison-Wesley Developers
Press, 1996.
This book is worth looking at just to get a view of all the different
alphabets and ideographs used around the world. (The third addition was
published in February, 2000.) Updated information on Unicode can be found at
Unicode, Inc: www.unicode.org

Chapter 21. Get on the Bus

The S-100 bus is discussed in:
Poe, Elmer C. and James C. Goodwin. The S-100 & Other Micro Buses, 2nd
edition. Indianapolis, IN: Howard W. Sams & Co., Inc., 1981.
The IBM PC buses (and other hardware interfaces of the Mac and PC) are
discussed in:
Hordeski, Michael. Personal Computer Interfaces: Macs to Pentiums. New York,
NY: McGraw-Hill, Inc., 1995.
And then there's the encyclopedic:
Rosch, Winn L. The Winn L. Rosch Hardware Bible, 5th edition. Indianapolis,
IN: Que, 1999.
An online version is:
Winn L. Rosch Hardware Bible, Electronic Edition: http://204.56.132.222/course
s/CIS312J/EBOOK/httoc.htm
More technically-detailed discussions of PC buses are books such as these:
Shanley, Tom and Don Anderson. ISA System Architecture, 3rd edition. Reading,
MA: Addison-Wesley, 1995.
Shanley, Tom and Don Anderson. PCI System Architecture, 3rd edition. Reading,
MA: Addison-Wesley, 1995.
Also useful are books such as:
Pilgrim, Aubrey. Build Your Own Pentium II PC. New York, NY: McGraw-Hill
Inc., 1998.
Page 310: The concept of bandwidth is explored in:
Lu, Cary. The Race for Bandwidth: Understanding Data Transmission. Redmond,
WA: Microsoft Press, 1998.
Some early books on building small computer video displays are:
Lancaster, Don. TV Typewriter Cookbook. Indianapolis, IN: Howard W. Sams &
Co., Inc., 1976.
Lancaster, Don. The Cheap Video Cookbook. Indianapolis, IN: Howard W. Sams &
Co., Inc., 1978.
An early book on "putting it all together" is:
Haviland, Robert P. How to Design, Build & Program Your Own Working Computer
System. Blue Ridge Summit, PA: Tab Books, 1979.
Circuit diagrams of ALTAIR boards can be found at the web site:
Altair Boards: http://www.hyperweb.com/altair/boards.html
A history of magnetic recording that includes disk drives is:
Daniel, Eric D., C. Denis Mee, and Mark H. Clark. Magnetic Recording: The
First Hundred Years. New York, NY: IEEE Press, 1999.
One early and highly influential book on the IBM PC is the classic:
Norton, Peter. Inside the IBM PC: Access to Advanced Features and Programming.
 Bowie, MD: Robert J. Brady Co., 1983.
Subsequent editions targeted a wider audience and tended to tone down the
book's gonzo hacker appeal.

Chapter 22. The Operating System

My references at the beginning of this chapter are obviously to the movie
versions of Frankenstein and Pinocchio. The original novel of Pinocchio in
both Italian and English can be found at:
Pinocchio by Caro Collodi: http://www.castle.net/~rfrone/Lit/1106/1106-00.htm
A number of textbooks discuss the theories behind operating systems. I
consulted:
Silberschatz, Abraham and Peter Baer Galvin. Operating System Concepts, 5th
edition. Reading, MA: Addison-Wesley, 1998.
and:
Tanenbaum, Andrew S. and Albert S. Woodhull. Operating Systems: Design and
Implementation, 2nd edition. Upper Saddle River, NJ: Prentice-Hall, 1997.
Helpful for its chapter on CP/M was:
Deitel, Harvey M. An Introduction to Operating Systems, revised 1st edition.
Reading, MA: Addison-Wesley, 1984.
The second edition doesn't include that chapter, but does include chapters on
DOS, Macintosh, and OS/2:
Deitel, Harvey M. An Introduction to Operating Systems, 2nd edition. Reading,
MA: Addison-Wesley, 1990.
Manuals on CP/M for both users and programmers were distributed with
CP/M-based computers. I used a manual distributed with the Kaypro in 1982:
Digital Research, CP/M Operating System Manual. Pacific Grove, CA: Digital
Research, 1982.
Also useful were two books published in the same period:
Hogan, Thom. Osborne CP/M User Guide. Berkeley, CA: Osborne/McGraw-Hill,
1981.
Johnson-Laird, Andy. The Programmer's CP/M Handbook. Berkeley, CA:
Osborne/McGraw-Hill, 1983.
A large reference to all aspects of MS-DOS is:
Duncan, Ray. The MS-DOS Encyclopedia. Redmond, WA: Microosoft Press, 1988.
There are many books on UNIX. Two that proved helpful for Code were:
Salus, Peter H. A Quarter Century of UNIX. Reading, MA: Addison-Wesley, 1994.
Gancarz, Mike. The UNIX Philosophy. Boston, MA: Digital Press, 1995.
Information on GNU and the Free Software Foundation can be found at:
GNU's Not Unix!: http://www.gnu.org

Chapter 23. Fixed Point, Floating Point

The IEEE floating point standard is published by ANSI:
American National Standards Institute. ANSI/IEEE Std 754-1985: IEEE Standard
for Floating-Point Arithmetic. New York: ANSI, 1985.
Donald Knuth has much information on floating point in The Art of Computer
Programming, Volume 2 (cited in Chapter 17).

Chapter 24. Languages High and Low

A fascinating survey of programming languages before 1957 can be found in:
Knuth, Donald E. and Luis Trabb Pardo, "Early Development of Programming
Languages," Encyclopedia of Computer Science and Technology, Volume 7. New
York, NY: Marcel Dekker, Inc., 1977. Pages 419-493.
It includes an extensive bibliography and is reprinted in Metropolis A
History of Computing in the Twentieth Century cited in Chapter 18. Reprinted
Knuth articles such as "Ancient Babylonian Algorithms" and "Von Neumann's
First Computer Program" are collected in:
Knuth, Donald E. Selected Papers on Computer Science. Cambridge, MA:
Cambridge University Press, 1996.
My historical discussions of high-level programming languages are primarily
drawn from three books. The classic history of programming languages is:
Sammet, Jean B. Programming Languages: History and Fundamentals. Englewood
Cliffs, NJ: Prentice-Hall, Inc., 1969.
The only real problem is that it's over 30 years old. One shudders to think
how much longer this 785-page book would be if updated!
In 1978, the Association for Computing Machinery (ACM) Special Interest Group
on Programming Languages (SIGPLAN) sponsored a Conference on the History of
Programming Languages (HOPL). Papers from that conference are collected in:
Wexelblat, Richard L. History of Programming Languages. New York, NY:
Academic Press, 1981.
In many cases, the papers regarding each language are by people involved in
the actual invention and development of the language. This volume has papers
on FORTRAN, ALGOL, LISP, COBOL, BASIC, PL/I, APL, and other languages. The
second HOPL conference was held in 1993. Papers from that conference are
collected in:
Bergin, Thomas J. Jr. and Richard G. Gibson Jr. History of Programming
Languages-II. New York, NY: ACM Press, 1996.
Languages featured are Pascal, Ada, Smalltalk, C, and C++. Dennis Ritchie's
paper on the origins of C is reprinted in:
Salus, Peter H., ed. Handbook of Programming Languages, Volume 2: Imperative
Programming Languages. Indianapolis, Indiana: Macmillan Technical Publishing,
1998.
An interesting volume of collected papers is:
Horowitz, Ellis, ed. Programming Languages: A Grand Tour. 1983.
No publisher is indicated. I largely took my description of Algol from:
Baumann, R., M. Feliciano, F. L. Bauer, and K. Samelson. Introduction to Algol
. Englewood Cliffs, NJ: Prentice-Hall, Inc., 1964.
and:
Meek, Brian. Fortran, PL/I and the Algols. London, England: The Macmillan
Press Ltd, 1978.
The former book has an appendix includes the complete Revised Report on the
Algorithmic Language Algol 60. Bauer and Samelson were part of the committee
that put this document together. This document is also included in Horowitz,
op. cit. and Laplante, Great Papers in Computer Science, cited in Chapter 18.
In preparing the Algol programs in this chapter, I used a free MS-DOS-based
Algol-60 compiler available from RHA (Minisystems) Ltd.:
RHA (Minisystems) Ltd.: http://www.angelfire.com/biz/rhaminisys
However, the programs as shown in this chapter cannot be compiled directly.
The RHA compiler requires that keywords be in uppercase (or, alternatively,
in quotation marks) and non-keywords not. Also, the RHA compiler uses
different input and output functions from those described in the Baumann book
and used in this chapter. An Algol-60 prime number program that you can
actually compile using the RHA compiler is:

     BEGIN
          BOOLEAN ARRAY a[2:10000];
          INTEGER i, j;

          FOR i := 2 STEP 1 UNTIL 10000 DO
               a[i] := TRUE;

          FOR i := 2 STEP 1 UNTIL 100 DO
               IF a[i] THEN
                    FOR j := 2 STEP 1 UNTIL 10000 % i DO
                         a[i * j] := FALSE;

          FOR i := 2 STEP 1 UNTIL 10000 DO
               IF a[i] THEN
                    write (1, i);

     END
     FINISH

The earlist manual on BASIC I have is:
Kemeny, John G. and Thomas E. Kurtz. BASIC Programming. New York: John Wiley
& Sons, 1967.
Although not indicated, this book seems to describe the "Third Edition" of
BASIC described by Kurtz in Wexelblat, op. cit. Kemeny and Kurtz later became
distressed at the many dialects of BASIC that resulted during the personal
computer revolution. They describe the problems and possible solutions in:
Kemeny, John G. and Thomas E. Kurtz. Back to BASIC: The History, Corruption,
and Future of the Language. Reading, MA: Addison-Wesley Publishing Company,
Inc., 1985.
These concepts live on in books and products available from the web site:
True BASIC Inc: www.truebasic.com
Niklaus Wirth's ideas about programming can best be approached in his classic
books:
Wirth, Niklaus. Systematic Programming: An Introduction. Englewood Cliffs,
NJ: Prentice-Hall, Inc., 1973.
and the wonderfully-titled:
Wirth, Niklaus. Algorithms + Data Structures = Programs. Englewood Cliffs,
NJ: Prentice-Hall, Inc., 1976.
Wirth is also the author of a recent book on compilers that is much smaller
(176 pages) than every other book about compilers:
Wirth, Niklaus. Compiler Construction. Harlow, England: Addison-Wesley, 1996.
That's even shorter than the classic book on C:
Kernighan, Brian W. and Dennis M. Ritchie. The C Programming Language.
Englewood Cliffs, NJ: Prentice-Hall, Inc., 1978.
The second edition was published ten years later:
Kernighan, Brian W. and Dennis M. Ritchie. The C Programming Language, 2nd
edition. Englewood Cliffs, NJ: Prentice-Hall, Inc., 1988.
Views inside the heads of 19 noteworthy programmers can be found in the
marvelous collection of interviews:
Lammers, Susan. Programmers at Work. Redmond, Washington: Microsoft Press,
1986.

Chapter 25. The Graphical Revolution

Although Vannevar Bush's original article on Memex was originally published
in:
Bush, Vannevar. "As We May Think," Atlantic Monthly, Vol. 176, No. 1, July,
1945, pages 101-108.
and in an abridged form in:
Bush, Vannevar. "As We May Think: A Top U.S. Scientist Forsees a Possible
Future World in Which Man-Made Machines Will Start to Think," LIFE, Vol. 19,
No. 11, September 10, 1945, pages 112-124.
and is available on-line at the web site of the Intelligent Software Group at
Simon Fraser University:
http://www.isg.sfu.ca/~duchier/misc/vbush
and at the web site of the World Wide Web Consortium (W3C):
http://www.w3.org/History/1945/vbush
it is most usefully read today in the indispensable volume:
Nyce, James M. and Paul Kahn, eds. From Memex to Hypertext: Vannevar Bush and
the Mind's Machine. San Diego, CA: Academic Press, Inc., 1991.
This book contains other essays by Bush on the Memex, and essays by the
editors and others about Bush's concepts. Bush's autobiography is:
Bush, Vannevar. Pieces of the Action. New York, NY: William Morrow and
Company, Inc., 1970.
A recent biography is:
Zachary, G. Pascal. Endless Frontier: Vannevar Bush, Engineer of the American
Century. Cambridge, MA: The MIT Press, 1999. Originally published by The Free
Press in 1997.
Page 366: The ANSI standard on video escape codes is:
American National Standards Institute. ANSI X3.64-1979: Additional Controls
for Use with American National Standard Code for Information Interchange. New
York: ANSI, 1979.
Page 366: Dan Bricklin and Bob Frankston are interviewd in Lammers, Programmer
s at Work, cited in Chapter 24. Alan Kay and others are profiled in:
Shasha, Dennis and Kathy Lazere. Out of Their Minds: The Lives and
Discoveries of 15 Great Computer Scientists. New York, NY: Compernicus
(Springer-Verlag), 1995.
A recent history of Xerox PARC is:
Hiltzik, Michael. Dealers of Lightening: Xerox PARC and the Dawn of the
Computer Age. New York, NY: Harper Business, 1999.
Much PARC-related history was collected in:
Goldberg, Adele. A History of the Personal Workstation. New York, NY: ACM
Press, 1988.
A good description of the Alto is available in:
Wadlow, Thomas A., "The Xerox Alto Computer," BYTE, Vol. 6, No. 9, September,
1981.
Another is included in Laplante, Great Papers in Computer Science, cited in
Chapter 18. An online collection of Alto manuals and such is:
Xerox Alto Archive: http://www.spies.com/aek/alto/index.html
An early description of the Apple Macintosh is:
Williams, Gregg, "The Apple Macintosh Computer," BYTE, Vol. 9, No. 2,
February 1984.
An entertaining history is:
Levy, Steven. Insanely Great: The Life and Times of Macintosh, the Computer
That Changed Everything. New York, NY: Penquin Books, 1994.
Many books discuss programming for the Macintosh. Apple's publications are
titled Inside Macintosh. The place to begin is:
Apple Computer, Inc. Inside Macintosh: Overview. Reading, MA: Addison-Wesley
Publishing Company, 1992.
The Inside Macintosh books can also be downloaded from Apple's web site:
Mac OS 8 Developer Documentation: http://developer.apple.com/techpubs/macos8/m
ac8.html
A background into the development of Windows is included in the biography:
Manes, Stephen and Paul Andrews. Gates: How Microsoft's Mogul Reinvented an
Industry -- and Made Himself the Richest Man in America. New York, NY:
Doubleday, 1993.
An early look at competing windowing environments for the IBM PC is the PC
Magazine cover story "Window Wars!":
Petzold, Charles. "Operating in a New Envionment," PC Magazine, Vol. 5, No.
4, February 25, 1986.
The Windows API is documented at the Microsoft web site:
Microsoft Developer Network Online Library: http://msdn.microsoft.com/library

One of many books that discuss programming for Windows is:
Petzold, Charles. Programming Windows, 5th edition. Redmond, WA: Microsoft
Press, 1998.
Histories of the Internet have cropped up recently.
Salus, Peter H. Casting the Net: From Arpanet to Internet and Beyond....
Reading, MA: Addison-Wesley Publishing Company, 1995.
Hafner, Katie and Matthew Lyon. Where Wizards Stay Up Late: The Origins of
the Internet. New York, NY: Simon & Schuster, 1996.
Segaller, Stephen. Nerds 2.0.1: A Brief History of the Internet. New York,
NY: TV Books, 1998.
Abbate, Janet. Inventing the Internet. Cambridge, MA: The MIT Press, 1999.
Wilde, Erik. Wilde's WWW: Technical Foundations of the World Wide Web.
Berlin, Germany: Springer-Verlag, 1999.

Acknowledgements

The first hint I had that the workings of logic gates might be made
comprehensible to a general audience was the experience of writing:
Petzold, Charles. "PC Tutor: Chomping At The Bits," PC Magazine, Vol. 6, No.
14, August, 1987.
PC Tutor was a column in PC Magazine that attempted to answer readers'
queries about their computers.

© Charles Petzold, 2000
[EMAIL PROTECTED]
This page last updated April, 2000
-----
Aloha, He'Ping,
Om, Shalom, Salaam.
Em Hotep, Peace Be,
All My Relations.
Omnia Bona Bonis,
Adieu, Adios, Aloha.
Amen.
Roads End

<A HREF="http://www.ctrl.org/">www.ctrl.org</A>
DECLARATION & DISCLAIMER
==========
CTRL is a discussion & informational exchange list. Proselytizing propagandic
screeds are unwelcomed. Substance—not soap-boxing—please!  These are
sordid matters and 'conspiracy theory'—with its many half-truths, mis-
directions and outright frauds—is used politically by different groups with
major and minor effects spread throughout the spectrum of time and thought.
That being said, CTRLgives no endorsement to the validity of posts, and
always suggests to readers; be wary of what you read. CTRL gives no
credence to Holocaust denial and nazi's need not apply.

Let us please be civil and as always, Caveat Lector.
========================================================================
Archives Available at:
http://peach.ease.lsoft.com/archives/ctrl.html
 <A HREF="http://peach.ease.lsoft.com/archives/ctrl.html">Archives of
[EMAIL PROTECTED]</A>

http:[EMAIL PROTECTED]/
 <A HREF="http:[EMAIL PROTECTED]/">ctrl</A>
========================================================================
To subscribe to Conspiracy Theory Research List[CTRL] send email:
SUBSCRIBE CTRL [to:] [EMAIL PROTECTED]

To UNsubscribe to Conspiracy Theory Research List[CTRL] send email:
SIGNOFF CTRL [to:] [EMAIL PROTECTED]

Om

Reply via email to