ferris@tcville.HAC.COM (05/23/91)
I'm looking to get into some graphics programming on VGA boards, but I know very little about the subject. So, are there are books especially recommended for VGA graphics programming? I know of several books, but I figure there might be one or two that stand above the rest of the crowd. If people would like, I will summarize to the net the findings I get from this. Thanks, Mark Ferris smart: ferris@tcville.edsg.hac.com Image and Signal Processing Lab dumb: ferris%tcville@hac2arpa.hac.com Hughes Aircraft Co., EDSG uucp: hacgate!tcville!ferris
raymond@math.berkeley.edu (Raymond Chen) (05/23/91)
[The following prerecorded message is archived on math.princeton.edu:pub/rjc/csip/books.Z] [$Id: books 2.9 90/08/19 00:02:41 raymond Exp Locker: raymond $] Here follows a collection of book recommendations, drawn from years of comp.sys.ibm.pc discussions. All recommendations are due to the original authors. (Unfortunately, most of the original attributions have been lost.) Books are listed alphabetically by author, in BibTeX format. Many of the bibliographical entries are incomplete. If you can help to complete any of the entries, or have suggestions of your own, send email to raymond@math.berkeley.edu. @book{ma:zen author = "Michael Abrash", title = "The {Z}en of Assembler", publisher = {Scott, Foresman and Company}, address = {Glenview, Illinois}, year = 1990, ISBN = {0-673-38602-3} } Volume 2 is scheduled for sometime in 1990. "A good discussion of reprogramming timer 0 in Chapter 2." -- David J. Birnbaum (djb@wjh12.harvard.edu) "A super accurate timer is presented (actually a short- and a long-term timer) along with an explanation of their operation." -- John Mitchell (johnm@sim.Berkeley.EDU) "Abrash actually develops two timers in his book. The higher accuracy timer requires you to turn off all interupts. Its primary purpose is to time small sections of assembly code. For timing full programs Abrash has a long term timer of more questionable accuracy. However, it is still a book that anyone with more than a passing interest in assembly should read. ... If you are considering learning assembly you might look at this series." --- Tom Webb (webb@uhccux.uhcc.Hawaii.Edu) @book{waite:msc, author = "Nabajyoti Barkakati", title = "The {W}aite {G}roup's Essential Guide to {M}icrosoft {C}", publisher = {Howard W. Sams \& Company, A Division of Macmillan, Inc.}, address = {4300 West 62nd Street, Indianapolis, Indiana 46268}, year = 1989, price = "$8" } "An *excellent* reference." -- Michael J. Saletnik (msaletni@jade.tufts.edu) @book{jc:serial, author = "Joseph Campbell", title = "C Programmer's Guide to Serial Communications", publisher = {Howard W. Sams \& Company}, phone = "1-800-428-SAMS" } "A must get if you are going to do any serial programming. It contains information for the beginner/advanced user that explains the serial interface." -- James Symolon (SYMOLON@CTSTATEU.BITNET) "An excellent reference... This book covers interrupt driven communications on the IBM PC and the Kaypro (why I dunno, but it does...). This should at least get you going on the right path." -- Steve Resnick (stever@Octopus.COM) @book{cg:386, author = "Crawford and Gelsinger", title = "Programming the 80386", publisher = {Sybex} } "... invaluable ... Includes C-like code for every instruction on the chip." -- Jay B. Harlow (uunet!ogicse!plains.harlow) "This book is probably the most useful `instruction set list' book that I have ever seen. The inclusion of non-trivial examples (how about the base for a 386 OS?), the level of information is excellent particularly the description of tasks and OS level software considerations." -- Mike Percy (F: grimlok@hubcap.clemson.edu) @book{td:dos, author = "Terry R. Dettman", title = "{DOS} Programmer's Reference" publisher = "Que", address = {Carmel, IN}, year = 1988, price = "$23", ISBN = "0-88022-327-8" } "Lists almost any interrupt a guy could want." [In response to a question about writing a device driver] "I recommend reading chapter 12." -- Neal A. Belair (nab@sppy00.UUCP) @book{rd:dos, author = "Ray Duncan", title = "Advanced {MS-DOS} Programming", publisher = {Microsoft Press} price = "$25", } "I strongly recommend the Advanced DOS guide from Microsoft Press. It's very informative." "... very good if you are either writing in C or Assembly language. In section one, he covers many areas such as keyboard/mouse input, video display, printer and serial ports, file management, disk directories, memory management, interrupt handlers, device drivers, filters and compatibility. He discribes the concepts and gives source code (C and assembler) to be used as an example. In sections 2, 3 and 4 describes all the DOS function calls. He gives all inputs and outputs, and gives examples. There are also notes. These give you an idea of what and how DOS does things as well as things to watch out for. His second edition is current through DOS version 4.0." -- Mark Kallas (mkallas@digi.lonestar.org) @book{rd:encyclo, editor = "Ray Duncan", title = "The {MSDOS} Encyclopedia", publisher = {Microsoft Press}, price = "$70", ISBN = "1-55615-174-8" } "Even more informative is the MSDOS Encylopedia. ... The book goes more in depth than any other books I've seen. The 50 page chapters on TSRs has the best documentation on the topic to ever come out. The list price of $70 for the paperback edition may seem steep, but it is worth it. Compare that to the price of a TechRef from IBM and it's a real deal!" @book{be:tp, author = "Ben Ezzel", title = "Programming the {IBM} User Interface Using {T}urbo {P}ascal", publisher = {Addison-Wesley} } @book{be:gptc, author = "Ben Ezzel", title = "Graphics Programming in Turbo C 2.0" } "talks about how to print a graphics image on dot matrix and laser printers. It includes a grey scale feature." -- Steve Breuer (sab@engr.uark.edu) @book{rf:ega, author = "Richard F. Ferraro", title = "Programmer's Guide to the {EGA} and {VGA} Cards", publisher = {Addison-Wesley} } "... more detailed and harder to read (info is scattered everywhere), compared to Wilton's book. However, it has a lot of information in very good detail." "I have found MANY typographical errors in Ferraro's book. Lots of sentences contradict others..." @book{jf:memory, author = "James Forney", title = "{MS-DOS} Beyond 640{K}: Working with extended and expanded memory", publisher = {Windcrest Books (TAB books division)}, year = 1989, ISBN = {0-8306-3239-5}, price = "$20" } "Comprehensive review of expanded/extended memory clearly laid out for novice also very useful for advanced users. Covers LIM specs including 4.0 and operating modes of 286 and 386 chips and how the modes dictate memory access as well as problems of interfacing the memory with DOS. Also talks about true multitasking and high memory management. Not strong on details for writing code ie talks about the 2 methods of returning to real mode in the 286 via undocumented loadall or triple fault route but no code to accomplish the task via either route. However with the info provided you get a good idea of what you need to do and where to look for the details." -- Jerry M. Wright (BUMY@VAX5.CIT.CORNELL.EDU) @book{cg:kermit, author = "Christine M. Gianone", title = "Using {MS-DOS} {K}ermit", publisher = {Digital Press}, year = 1990, ISBN = {DP ISBN 1-555558-048-3, PH ISBN 0-13-932476-3}, phone = "1-800-343-8321", order_number = "EY-C204E-DP", remarks = "5.25 inch MS-DOS Kermit 3.0 disk comes with the book" } @book{th:source, author = "Thom Hogan", title = "The Programmer's {PC} Sourcebook", publisher = {Microsoft Press}, year = 1988 } "For those who need lots of information and have little time for reading." "A whole book with nothing but reference tables that answer quick questions like, `What is the memory layout of the EGA in mode 15?' " "Walk, no.. RUN to your local computer shop and buy/order a copy today. WARNING: This is not a book for novices.. it contains very little in the way of English or Swahilie [sic] writings for the hand-holding set. Instead, it is crammed full of technical facts on just about everything to do with IBM/MICROSOFT pinouts/interfaces/standards etc.." -- Mark S. Lord (uunet!bnrgate!carrsc!mlord) @book{rj:pps, title = "Programmer's Problem Solver for the {IBM PC}, {XT} and {AT}", author = "Robert Jourdain", publisher = {Brady Books}, ISBN = "0-89303-787-7" } "I recommend the book [for information on programming the timer]." -- Tris Orendorff (tris@alzabo.uucp) @book{bdk:ega, author = "Bradley Dyck Kliewer", title = "{EGA/VGA} A Programmer's Reference Guide", publisher = {McGraw-Hill} } "... a reference, good for the details but I find it hard to learn from. Best save it for after you have the basics well in hand." -- Edward Kalenda (ekalenda@cup.portal.com) @book{rl:device, author = "Robert S. Lai", title = "Writing {MS-DOS} Device Drivers", publisher = {Addison-Wesley}, ISBN = "0-201-13185-4", } "Lots of examples in assembly language." "Recommended highly." "Examples include Console, Printer, Clock, RAM Disk, and a `Complete Full-function Device Driver'. Chapter on debugging. Diskette available." @book{lb:format, title = "Lotus File Formats for 1-2-3 {S}ymphony and {J}azz: File Structure Descriptions for Developers", publisher = {Lotus Books}, address = {Lotus Development Corporation, 55 Cambridge Parkway, Cambridge, MA 02142 USA} } "Has 1-2-3 and more." @book{ms:mouse, title = "Microsoft Mouse Programmer's Reference", publisher = {Microsoft Press}, year = 1989 } "The easy way to approach a mouse is with a large book in hand. This tome describes the calls one can make upon the standard MS mouse driver Int 33h interface. An advantage of seeing things from the book handler's side is not being bitten by the sundry ways physical mice talk to computers." -- Joe Doupnik (jrd@cc.usu.edu) "When I bought that book, I was extremely disappointed with it. It is not anywhere near the standard of the DOS tech ref manuals (and those aren't so great, either). For example: All calls are described in Basic, with parameters being called things like M1, M2, etc.; you have to wade through lots of conditional branches in the source code for the mouse interface routine to find which registers the Mx arguments end up in. The copy I have must be 3 or 4 years old now (I bought it 2 years ago, but it looked old then); does MS sell something useful now?" -- Duncan Murdoch (dmurdoch@watstat.waterloo.edu) "My copy of the Microsoft Mouse book is brand new, and has all programming information in several languages, including assembler. It also has a diskette attached. I found this edition to be quite clear and useful, but limited to Microsoft mice (i.e., really two buttons) and clones." -- Joe Doupnik (jrd@cc.usu.edu) @book{so:tp, author = "Stephen K. O'Brien", title = "Turbo {P}ascal---Advanced Programmer's Guide", publishes = {Borland-Osbourne}, ISBN = "ISBN 0-07-881420-0" } Includes several units, including a TSR unit. "I have used it [the TSR unit] many times, and have only one complaint about it: perhaps because it _is_ so thorough, it is also fairly large." -- Mitch Gorman (silk@dhw68k.cts.com) @book{mp:quickref, title = "{MSDOS} Extensions Programmers Quick Reference", publisher = {Microsoft Press} } "Contains all the interrupt calls for the expanded and extended memory, CD-ROM and the Microsoft Mouse (which is very much compatible with Logitech). I've found that it seems to have all the information I need." @book{pn:guide, author = "Peter Norton", title = "The {P}eter {N}orton Programmer's Guide to the {IBM} {PC}", publisher = {Microsoft Press}, year = 1985, ISBN = "0-914845-46-2" } Note: I have received reports that this book is in its second edition, but I have not yet received bibliographical information. @book{pnrw:guide, author = "Peter Norton and Richard Wilton", title = "The Programmer's Guide to the {IBM} {PC} and {PS/2}", publisher = {Microsoft Press}, price = "$23" } @book{jq:matrix, author = "John S. Quarterman", title = "The Matrix: Computer Networks and Conferencing Systems Worldwide", publisher = {Digital Press}, address = {Bedford, MA}, year = 1990, price = "$50", order_info = { Digital order number EY-C176E-DP-SS Digital Press ISBN 1-55558-033-5 Prentice-Hall ISBN 0-13-565607-9 } } Whenever somebody asks a question about networking, somebody invariable says "Buy a copy of `The Matrix'. It's a thorough guide to networks and conferencing systems around the world. If you can send mail from here to there, this book will show you how. @book{sr:bmg, author = "Steven Rimmer", title = "Bit-Mapped Graphics", publisher = {Windcrest}, ISBN = "0-8306-3558-0" } "Covers many of the graphics formats, including code for file viewers. It is rather light on TIFF. It also covers how the PC wants graphics data. I found this book very useful, even though I only wanted to write graphics to an unsupported VGA mode." -- John Stanley (stanley@phoenix.com) @book{sr:dexch author = "Steven Ross", title = "Data Exchange", publisher = {McGraw Hill}, ISBN = "0-07-053923-5" } "... lighter technically ... It covers some info on many word processors and a few spreadsheets." -- John Stanley (stanley@phoenix.com) @book{hs:C author = "Herbert Schildt", title = "Born to Code in {C}", ISBN = "0-07-881468-5" } "contains a chapter on a TSR written entirely in Turbo C. ... It seems to be a very good explanation of TSR's, in only 60 pages with source for a complete TSR at that, too!" -- Dave Morash (morash@ug.cs.dal.ca) @book{ms:rsme, author = "Martin D. Seyer", title = "{RS}-232 Made Easy: Connecting Computers, Printers, Terminals, and Modems", publisher = {Prentice-Hall, Inc.} } @book{ms:cgrs, author = "Martin D. Seyer", title = "Complete Guide to {RS}-232 and Parallel Connections", publisher = {Prentice-Hall, Inc.} } @book{ps:pcmag, author = "Paul Somerson", title = "{PC} {M}agazine {DOS} Power Tools: Techniques, Tricks and Utilities", publisher = {Bantam Computer Books and Ziff Communications}, year = 1988, price = "$45", pages = 1274, remarks = "comes with a disk including many of PC Magazine's programs" } "...an excellent reference manual covering most of the DOS tricks. It contains an appendix which lists all the DOS commands as in the DOS manual, but gives a much better explanation. ... I learned a lot from this book." -- Jack Rupert (2634rupertj@mucsd.bitnet) @book{as:TC author = "Al Stevens", title = "Turbo {C}: Memory-Resident Utilities, Screen {I/O}, and Programming Techniques", publisher = {Management Information Sources Press}, address = {P.O. Box 5277, Portland, OR 97208--5277}, phone = {(503) 282-5215} } "Try to get the 2nd edition if possible. The code in the book is available on disk. ... well-explained." -- Doug Sewell (doug@ysub.ysu.edu) @book{as:ETC author = "Al Stevens", title = "Extending Turbo {C} Professional", ISBN = "1-55828-013-8", year = 1989, publisher = {Management Information Sources Press} address = {P.O. Box 5277, Portland, OR 97208--5277}, phone = {(503) 282-5215}, remarks = "Book can be purchased with disk containing source code." } "[Includes] source code for ``The Poor Man's Overlay Manager''. ... Many of the things which I have used from the book have been quite helpful and accurate." -- Dion Hollenbeck (uunet!megatek!hollen) @book{rs:graphics, author = "Roger T. Stevens", title = "Graphics Programming in {C}", publisher = {M \& T Books} } "Very good for programming displays and it taught me a few things too. The author set up a whole graphics tool, but I found the individual pieces much more useful." @book{rs:fractpas, author = "Roger T. Stevens", title = "Fractal Programming in {P}ascal" } @book{rs:fractC, author = "Roger T. Stevens", title = "Fractal Programming in {C}" } "One source you may want to consult is a pair of books by Roger T. Stevens. [rs:fractpas and rs:fractC] The books come with a disk of software that contains source code in the major flavors of Pascal and C (MS and Turbo). In both books you'll find that one of the first orders of business is a detailed description of the contents of *.PCX files." -- Ricardo Salvador (A1.RJS@ISUMVS.BITNET) @book{jw:format1, author = "Jeff Walden", title = "File Formats for Popular {PC} Software", publisher = {Wiley Books}, ISBN = "0-471-83671-0", price = "$25" } @book{jw:format2, author = "Jeff Walden", title = "More File Formats for Popular {PC} Software", publisher = {Wiley Books}, ISBN = "0-471-85077-2", price = "$25" } "Should be on every PC programmer's bookshelf." @book{rw:progvideo, author = "Richard Wilton", title = "Programmer's Guide to {PC} \& {PS/2} Video Systems", publisher = {Microsoft Press}, year = 1987, ISBN = "1-55615-103-9", price = "$25" } "A great book." "A first-rate practical book." "Covers hardware; programming the hardware; text & graphic modes; pixel, line, arc, fill routines; text in graphics; font capabilities; animation; BIOS summary; screen printing; identifying video subsystems. Quite comprehensive (even shows how to true pixel graphics in text mode) and readable, with lots of code and optional disk. Only real drawback is an adequate, but not excellent index." "Read the one by Wilton first to get a better overall understanding." "A good, fairly easy reading book. ... [It] is in a tutorial type format, good for reading and learning." -- Edward Kalenda (ekalenda@cup.portal.com) "An excellent coverage of video programming on PC's with ready-to-use optimized assembly routines which interface to `C'." -- Andras Kovacs (andras@alzabo.uucp) @article{rw:bytevideo, author = "Richard Wilton", title = "{PS/2} Video Programming", journal = {BYTE}, year = 1987, volume = 12, number = 12, note = "The 1987 Inside the IBM PCs issue" } "An overview of PC and PS/2 video programming." @article{rw:bytevga, author = "Richard Wilton", title = "{VGA} Video Modes", journal = {BYTE}, year = 1988, volume = 13, number = 11, note = "The 1988 IBM Special Edition" } "Information on non-standard video modes and programming the VGA hard- ware. Code in the article is not complete, but complete code is available on BYTEnet (617)861-9764 or BIX." @article{byte:vga, journal = {BYTE}, year = 1990, month = Mar } "Reviews VGA monitors, articles on expanded and extended memory, archivers, history of the 8086..." @book{waite:286, author = "The Waite Group", title = "Inside the 80286", publisher = {Brady Books, Prentice Hall Press} } @book{waite:msdos, author = "The Waite Group", title = "The Waite Group's {MS-DOS} Developer's Guide", } "A good (I mean really good) book on MS-DOS." -- John Reynolds (trsvax!reyn) --- In September 1990, the question was asked, "If you could have only one DOS programmer's reference..." "It's a toss up between Ray Duncan's `Advanced MS-DOS' and the `MS-DOS Technical Encyclopedia'." -- Larry Jones (sdrc!thor!scjones) "Definitely, positively, without a doubt [the MSDOS Encyclopedia]. Has everything. A bit scanty on DOS 4.0 and above, though." -- Joel Spolsky (spolsky@cs.yale.edu)