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