** Programmer's Technical Reference for MSDOS and the IBM PC ** ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ Shareware User Version ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Copyright (c) 1987, 1990 Dave Williams Registered, United States Copyright Office I N T R O D U C T I O N This book is a technical reference. It is NOT a tutorial. Hopefully, this book is what you'll reach for when you want find out what Peter Norton or the "official" references glossed over. This manual is intended to replace the various (expensive) references needed to program for the DOS environment, that stack of magazines threatening to take over your work area, and those odd tables and charts you can never find when you need them. The various Microsoft and IBM publications and references don't always have the same information. This has caused some consternation about the "undocumented" features to be found in DOS. In general, if a call doesn't appear in the IBM DOS Technical Reference it is considered "undocumented" although it may be in common use. Microsoft's offical policy toward DOS has been to put the burden of documenting and supporting their product to their vendors. Microsoft will not answer any questions concerning DOS directly since they don't officially support it. This leaves what information IBM and other OEMs (DEC, Zenith, et al) have chosen to publish, and the information obtained from programmers who've poked around inside it. Now that Microsoft is selling MSDOS 3.3 and 4.0 over the counter they seem to be dragging their feet over whether they will have to support the generic version since it doesn't have an OEM name on it anymore. In view of their push to OS/2 (OS/2! Just Say No!) further support of DOS seems unlikely. The information here is valid for DOS 2.x and 3.x. Where there are differences between the two versions there are notes in the text. No great effort was expended on DOS 1.x or networking features. This proved to be a mistake (at least on the networking stuff) since networks are becoming more prevalent. As I write this there is still considerable furor over incompatibilities with DOS 4.0. Since a Technical Reference for 4.0 isn't available yet, I don't have a whole lot of info on it. When I started writing this book, it was originally for my own personal use. Then I began expanding it with the idea of getting it published, since at that time there was *nothing* in print like it. If I had managed to send it off to the publishers early enough, I would have had it made. As it was I lost six months having a nice steel rod put in my leg after being run over by a car, and half a dozen similar books were published by then, and nobody was interested in mine. Six months is a long time in the PC world. That's why I'm uploading this file as "user-supported." It gives me a chance to recoup a few bucks for the time I've been working on this thing, and it gives some advantages that a printed book can't - first, you can load it on your hard disk and use Vern Buerg's LIST or SideKick to scan through text. You can grab a piece of something and paste it into a document, etc. If you help support the PC Programmer's Reference you will always have the latest version available; you can't "upgrade" books. A project this size takes a LOT of time and effort. I've tried to verify as much of the information I've received as I could, but there's just too much for absolute certainty. If you find any typos, incorrect information, or want to see something else, let me know. If you have any more detailed information on something, PLEASE let me know! Dave Williams D I S C L A I M E R As is common these days, I have to make a "Notice of Disclaimer". I take no responsibility for anything, and if anything you do with this book ruins you for life or makes your dog bite you, or anything else, that's just tough. I hope you find much use for this reference. It was a trip to write, too. Dave Williams (C) Copyright 1987, 1988, 1989, 1990 ______________________________________________________________________________ Copyrights and trademarks: (Allied Telephone and Telegraph) UNIX, AT&T (AST Corporation) AST, RAMpage! (Atari Computer) Atari, ST, TOS (Borland) Borland, Turbo C, Turbo Pascal, Turbo Lightning, Turbo Assembler (Commodore Business Machines) Amiga 2000 (Compaq Computer Corp.) Compaq, Deskpro (Cordata Computer) Corona, Cordata (Digital Equipment Company) DEC, Rainbow, DECMate (Fox Research, Inc.) 10-Net (Graphic Software Systems) GSS, DGIS (Hayes) Smartmodem (IBM Corp.) IBM, PC, PCjr, PC/XT, PC/AT, XT/286, PS/2, TopView, DOS, PC-DOS, Micro Channel 3270 PC, RT PC, Token Ring (Intel Corp.) Intel, iAPX286, iAPX386, LIM EMS, Communicating Applications Standard (CAS) (Logitech, Inc) Logitech, Logimouse (Microsoft Corp.) Microsoft, MS, MS DOS, OS/2, Xenix, Windows, Windows/286, Windows/386, Microsoft Networks, LIM EMS, XMA (Mouse Systems Corp.) Mouse Systems (Novell Corp.) Novell, NetWare (Quarterdeck Office Systems) DesQview, QEMM (SEAware, Inc) ARC (Softlogic) DoubleDOS (Sunny Hill Software) TaskView (Tandy Corp.) Tandy (Texas Instruments) TI, TI Professional, Business Professional, TIGA (TI Graphics Interface) (Phar Lap) VCPI, Virtual Control Program Interface (Zenith Radio Corporation) Zenith, Z-100, Z-248 (ZSoft Corporation) ShowPartner, Paintbrush "LIM 4.0" and "Expanded Memory Specification" are copyright Lotus Development Corp, Intel Corp, and Microsoft Corp. "EEMS", "AQA 3.1" and "Enhanced Expanded Memory Specification" are copyright by Ashton-Tate, Quadram, and AST Various other names are trademarks of their respective companies