** Programmer's Technical Reference for MSDOS and the IBM PC ** 컴컴컴컴컴컴컴컴컴컴컴컴캑 Shareware User Version 쳐컴컴컴컴컴컴컴컴컴컴컴컴컴 Copyright (c) 1987, 1990 Dave Williams B I B L I O G R A P H Y The information presented here was gathered from megabytes of files found on BBS systems, conversations on a dozen different BBS systems, correspondence, and every reference book I could get my hands on. On occasion, a number of prestigious references didn't agree with each other. Where this has happened, I have used the latest references. There is too much information here for me to verify every fact personally. I have used my own judgement as to the reliability of the sources. References used in preparing this book: AST EEMS Technical Reference Manual v3.2 documents 020022-001B and 000408-001B provided by AST Corporation, 1987 Data General Programmer's Reference for MS-DOS, Rev.3 Data General Corporation (covers through DOS 3.0) p/n 069-100157 rev 00 May 1986 Digital Research DR-DOS System and Programmer's Guide v3.32 Digital Research Corporation 1988 comment: This manual does not cover the extended disk partition access, file password protection, or any of the other goodies provided in DR-DOS. In fact, it not only doesn't cover the extended features, it doesn't completely cover DOS calls documented by IBM. It does have an extensive section on customizing DR-DOS for use from ROM. Digital Research DR-DOS User's Guide v3.32 Digital Research Corporation 1988 Digital Research DR-DOS Reference Guide v3.32 Digital Research Corporation 1988 IBM DOS Operations Manual Version 2.00 IBM Corp, 1983 IBM DOS Operations Manual Version 2.10 IBM Corp, 1983 IBM DOS Operations Manual Version 3.1 IBM Corp, November 1984 IBM DOS Operations Manual Version 3.3 IBM Corp, April 1987 IBM Technical Reference Options and Adapters - Enhanced Graphics Adapter p/n 6280131 IBM Publications Aug 1984 IBM Technical Reference Personal Computer p/n 6322507 IBM Publications IBM Technical Reference Personal Computer - PCjr p/n 1502293 IBM Publications Lotus-Intel-Microsoft Expanded Memory Specification Version 3.20 part number 300275-003 provided by Intel Corp. September, 1985 Lotus-Intel-Microsoft Expanded Memory Specification 4.0 document 300275-005 provided by Intel Corp. October 1987 Microsoft Extended Memory Specification v2.00 provided by Microsoft Corporation, 1988 MS-DOS Programmer's Reference (covers through DOS 2.00) by Microsoft p/n 135555-001 Intel Corp. 1984 Phar Lap Virtual Control Program Interface (VCPI) Specification v1.0 Phar Lap Software 1989 Tandy 1000 TX Technical Reference Manual Tandy Corp. p/n 25-1514 Tandy Corp 1987 Toshiba 1000 Technical Reference Manual Toshiba Corp. of America 1987 X3.4-1977: American National Standard Code for Information Interchange by American National Standards Institute (ANSI) New York, NY 1977 ********************** ATI EGA Wonder Operation Manual ATI Technologies, 1987 Everex EV-650 EGA Reference Guide, Version 1.00 Everex Computer, 1986 FastCard IV User Manual Peripheral Marketing Inc. p/n 0527 Jan 1987 Hercules Graphics Card User's Manual Hercules Computer Technology 1983 Hercules Graphics Card Plus Owner's Manual Hercules Computer Technology Model GB112 1987 JDR B-3101 FLoppy Disk Drive Card User's Guide 470.03002 version 1.00 1988 LANtastic Programmer's Information Package, 2/21/89 LANtastic 2.46 Installation Guide Artisoft, 1988 LapLink Release 2 User's Manual Traveling Software, 1987 LapLink Release 3 User's Manual Traveling Software, 1989 Logitech EGA Reference Manual, EGA+Mouse Board MPC Operations Guide, Manual #1023 Columbia Data Products, Inc. CDP 1983 Microcomputer Products - 1987 Data Book NEC Electronics, Inc. p/n 500105 Aug 1987 NEC uPD70108/70116 Microprocessor User's Manual p/n 500350 October 1986 provided by NEC Electronics, Inc. S-286 User Manual, version 2 Link Computer, 1988 TesSeRact v1.0 documentation Toshiba ND352/356 3.5" Diskette Drive Installation Notes document number 87019 March 1988 Toshiba America Corporation VideoTrax Installation Guide Alpha Micro, 1987 ****************** Advanced MSDOS Ray Duncan Microsoft Press 1986 Assembly Language Programming for the IBM Personal Computer David J. Bradley Prentice-Hall 1984 Assembly Language Subroutines for MSDOS Computers Leo J. Scanlon TAB Books 1986 Atari ST Internals Gerits, English, & Bruckmann Abacus Software 1985 Compute!'s Guide to Assembly Language Programming on the IBM PC COMPUTE! Publications Compute!'s Mapping the IBM PC and PCjr Russ Davis COMPUTE! Publications DOS Power Tools Paul Somerson Bantam Books 1988 DOS: The Complete Reference Kris Jamsa Osborne/McGraw-Hill 1987 Exploring the IBM PCjr Peter Norton Microsoft Press 1984 IBM Video Subsystems Richard Wilton Microsoft Press 1988 Inside the IBM PC Peter Norton Mapping the IBM PC Russ Davies/Compute! Magazine Compute! Books 1986 Microcomputer Interfacing Bruce A. Artwick Prentice Hall 1980 Microsoft Systems Journal - March 1987 "Expanded Memory: Writing Programs that Break the 640k Barrier" Marion Hansen, Bill Krueger, Nick Stuecklen Operating Systems Design and Implementation Arthur S. Tanenbaum Prentice Hall 1987 Programmer's Guide to the IBM PC Peter Norton Microsoft Press 1985 Programmer's Problem Solver for the IBM PC, XT, & AT Robert Jourdain Prentice Hall 1986 Running MS-DOS Van Wolverton Microsoft Press Supercharging MS-DOS Van Volverton Microsoft Press 1986 The 8080a Bugbook Tony-Larsen-Titus Howard W. Sams 1977 The 8086 Book Russell Rector and George Alexy Osborne/McGraw-Hill 1980 The IBM Personal Computer from the Inside Out Murray Sargent III and Richard L. Shoemaker Addison-Wesley 1984 The IBM ROM BIOS Ray Duncan Microsoft Press 1988 The Serious Assembler Charles A. Crayne and Dian Gerard Baen Books 1985 Tricks of the MS-DOS Masters Waite Group Howard W. Sams 1987 Turbo Pascal Express Robert Jourdain Brady Books, 1987 *********************** Microsoft Macro Assembler 4.0, 5.1 documentation Microsoft C 4.0 documentation Borland Turbo Pascal 3.02a and 5.0 documentation, Turbo C 2.0 documentation *************************** A large amount of miscellaneous information came from various computer magazines. Documenting what came from where would be an experience all its own. A great deal of information came from articles by Michael Mefford, Charles Petzold, and Neil Rubenking of PC Magazine, and Ray Duncan, who gets around a lot. Dr. Dobb's Journal ( I always thought the old title, "Doctor Dobbs' Journal of Computer Calisthenics and Orthodontia - Running Light Without Overbyte" was a killer name, but nobody asked me. ) PC Magazine PC Resource PC Tech Journal ( "Tell 'em what you're going to say, tell 'em what you're saying, tell 'em what you just said." - and don't send us no steenking submissions unless they're in WordPerfect format! Despite their fascist policies, every now and then they printed something useful. The Little Rock Wild Bunch refered to it as "PC Tech Urinal," an apt monicker. Now defunct ) Computer Language Programmer's Journal ( This is a nice magazine, though expensive. ) Byte Magazine Computer Shopper InfoWorld **************************** various computer bulletin board systems, including Byte Information Exchange (BIX) - thanks to information posted by rduncan, geary, domdumitru, roedy, skluger, jsprowl, dmick, greenber, barryn, johnf, mike123, billn, jswitzer, and others Compuserve IBM SIG GEnie IBM RT and Borland RT GT Net international network FIDO Net international network PCanada BBS system (Toronto, Canada) Pecan Pi RBBS (404) 454-8756 (Atlanta, GA) Stan Young, sysop (R.I.P) College Corner BBS (206) 643-0804 (Seattle, WA) Jerry Houston, sysop Poverty Rock BBS (206) 232-1763 (Seattle WA) Rick Kunz, sysop Night Modulator BBS (408) 728-5598 (San Jose CA) Jim Bready, sysop Now that I no longer subscribe to PC-Pursuit, I'm not on any of these boards now, but they're still fine places to call. ********************************* The following text files were of use. Bear in mind that some of them may be seen under several different names. The author's name is given as it appears in the documentation (if any). 10H-BUG ASM 4680 29/01/87 bug in 2.x int 21h/fn10h Ray Duncan 1PT4MB INF 5120 3/10/87 1.44Mb drives Clyde Washburn 70305,1211 2EH ASM 2969 3/03/87 info on undoc'd int 2Eh David Gwillim 386BUG ARC 9216 15/10/87 bug in early 80386 chips Compaq Corp. 8086 3 10572 5/12/88 dump of Fidonet?? 8086 conf?? 8259 ARC 2826 15/03/88 info on 8259 chip APICALLS ARC 11481 8/01/88 OS/2 API function call list Bill Earle ASM-ADRS ARC 6144 20/12/87 low memory vectors Malcolm McCorquodale ATCMDS ARC 3072 20/03/88 Hayes 1200 baud command set BIOSDOC ARC 34816 3/11/87 very good function list David E. Powell BIXDOS1 ARC 155648 14/12/87 BIX "MSDOS Secrets" #1 BUG40DOS ARC 3200 18/08/88 bugs in DOS 4.0 "Doug" CAS ARC 33792 27/10/88 Communicating Applications Standard 1.0A DCA, Intel Corp DEBUGTUT ARC 15655 23/04/88 DEBUG tutorial possibly David Whitman? DIAGNOSE ARC 14336 1/01/86 memory errcodes Jerry Schneider, Arnold Kischi DISK144 ARC 23086 16/10/88 info on 1.44Mb diskettes DISKTYPE ARC 5073 14/04/88 IBM floppy formats DOOM ARC 9216 29/09/88 hard drive information DOS-SIZE ARC 787 27/03/88 size of DOS files 1.1-3.1 DOS32 ARC 17408 31/05/88 command list for DOS 3.2 DOS3BUGS ARC 5639 15/10/87 acknowledged bugs in DOS 3.0-3.2 IBM Corp. DOS40 ARC 15625 22/07/88 IBM announcement of DOS 4.0 IBM Corp. DOS401 ARC 18178 19/10/88 errors in DOS 4.0 IBM Corp. DOS40B ARC 27008 26/08/88 Compuserve thread on DOS 4.0 DOS40FAT ARC 1510 11/09/88 DOS 4.0 File Allocation Table Mike Austin DOS40FUN ZOO 3410 31/12/99 DOS 4.0 int 24, 25, etc Pat Myrto DOS40HLP ARC 53376 28/08/88 DOS 4.0 command set DOS40TXT ARC 46169 16/10/88 DOS 4.0 problems & info DOS4TIPS ARC 1735 19/09/88 problems with DOS 4.0 IBM Corp. DOSBUG TXT 1024 15/10/87 info on 2.0 volume label DOSGUIDE ARC 21344 21/02/88 DOS tutorial Carrington B. Dixon DOSINT ARC 4201 15/03/88 list of DOS 2.0 function calls John Chapman DOSNOTES ARC 5052 15/03/88 info on DOS undoc fns. DOSREF ARC 9216 21/01/87 partial list of PC BIOS calls DOSREF ARC 62052 23/08/86 device driver info "Cracker" DOSTIPS ARC 28926 15/03/88 info on DOS John Chapman DOSTIPS1 ARC 159657 25/11/85 various DOS info Dean R. Wood DOSTIPS3 ARC 59264 25/01/88 various DOS tips (different) Dean R. Wood DOSUNDOC ARC 3840 03/05/86 one of the very first interrupt lists Spyros Sakellariadis DRIVPARM ARC 11264 7/01/88 info on DRIVPARM parameters Joan Friendman EGATEK ARC 8704 15/03/88 IBM EGA registers Bill Frantz EMS40BIX ARC 3802 21/09/87 BIX announcement of EMS 4.0 BIX ENVIRONM ARC 4255 18/09/88 info on DOS environment Jan Fagerholm ESC_CODE ARC 3072 3/10/88 Laserjet setup codes S. Noh FILEIO ARC 8192 24/07/88 TSRs and INDOS flag FLOPPIES ARC 9216 2/11/87 info on floppy media Ted Jensen FOSSIL ARC 9031 15/07/87 list of FOSSIL functions Vincent Periello FXN4BH ASM 4503 1/01/80 odd 4Bh behavior Ray Duncan HAYESET2 ARC 6479 4/09/86 modem commands Ruth Lubow, Fowler Brown HD-DATA ARC 4096 19/07/87 list of hard drives & specs I've seen many similar files. I believe the original may have been a file or bulletin on Sparta BBS HDINFO ARC 11264 19/11/87 updated version of above, evidently by someone else HDNOISE ARC 4159 11/11/87 hard disk information Clancy Malloy HDTIPS ARC 9660 11/10/87 hard disk information Barry Gordon IBMTECH ARC 136064 4/11/88 error codes, other info IBM Corp. INT-MDOS ARC 20682 31/07/85 one of the original INT lists Ross Greenberg INTERRUP ARC 157440 19/09/88 interrupt vector list Ralf Brown INTERRPT ARC 42632 4/04/88 interrupt vector list Marshall Presnell this is a very nice list and some programming information. If I'd come across it way back then it would have saved a ton of typing JARGON ARC 49274 16/07/88 dictionary of computer terms LIM-40 ARC 21504 15/10/87 info on LIM 4.0 Stephen Satchell LISTINTS ARC 6144 3/12/87 small interrupt list MCB ARC 5120 24/07/88 info on DOS Memory Control Blocks David Gwillim MNP-TEXT ARC 6144 30/09/88 MNP modem info Mike Focke MOUSENG ARC 10240 13/08/88 Norton Guide file for mouse programming, with C examples MSLOOKUP ARC 58368 25/12/87 interrupt and function listing Frank Bonita MS-OS2 ARC 25600 15/10/87 MS press release on OS/2 Microsoft Corp. MSINT125 ARC 48128 12/01/88 interrupt vector listing Ralf Brown NETBIOS ARC 17280 29/10/88 NetBIOS tutorial & summary Tom Thompson NOVELINT ARC 4531 18/10/88 NetBIOS calls Marc Guyot OCOM_520 ARC 53632 19/08/88 FOSSIL tutorial and functions Rick Moore ODDITY ARC 3072 24/07/88 int 2Eh description Daniel Briggs PINS ARC 3072 18/01/88 pinouts of various connectors QUES40 ARC 9081 1/09/88 info on DOS 4.0 IBM Corp. RAW_COOK ARC 2048 15/10/87 info on DOS raw and cooked modes RESETSWT TXT 3584 23/01/86 add a reset switch to a PC Don Jenkins RLLHINTS ARC 12288 17/10/87 RLL controller info Steve Sneed RLLMISC ARC 5120 17/10/87 info on RLL controllers Richard Driggers RLLSTORY ARC 9718 31/07/88 good info on RLL coding Pete Holzmann SEAGATE ARC 2048 3/03/88 specs for many Seagate drives Jim McKown SECRETS2 ARC 179625 17/04/88 BIX "MS-DOS Secrets" #2 SERCBL2 ARC 4372 16/10/88 serial cable pinouts Lee Zeis SM2400 ARC 2296 9/08/86 Hayes 2400 baud command set ST225 ARC 11264 7/10/87 optimizing ST225 and WD cont. Neil Erbe TANDON ARC 3612 21/02/88 info on Tandon drives David Welcher TECH ARC 27827 8/05/88 misc tech info - Fidonet? TOS 938 24/03/88 TOS function calls Mike Crawford TRYST ARC 29312 29/10/88 DOS and hard disk info Amy Goebel UNDOCINT 21H 7168 14/04/87 undocumented DOS calls Peter Holzmann VGAPIN ARC 1252 24/10/88 VGA pinout "Mike" WD-27X ARC 6144 10/10/87 WD 27X HD controller setup Steve Shelton WDCONFIG ARC 5504 11/10/87 WD-1002 WXS setup Richard Driggers WDCONT ARC 11264 25/12/87 info on WD hard disk controllers Peter Fales XEB1210 ARC 7947 18/07/87 Xebec HD controller setup Richard Driggers XEBEC ARC 1036 30/04/88 setup for Xebec HD controller Richard Driggers XEBECTEC ARC 1834 30/04/88 setup for Xebec 1210 XMS ARC 75776 1/08/88 Microsoft Extended Memory Specification 1.0 Microsoft Corporation XTCHARTS ARC 12416 4/11/88 ports, charts ********************************** NBRCV.C Paul McGinnis NetBIOS API calls DESQ10.ASM James H. LeMay DesqView API calls NETTUT.DOC Charles L. Hedrick TCP/IP network CED10D Chris Dunford CED interrupt calls INTER189.ARC Ralf Brown interrupt list LANTSTIC.DOC LANTastic adware peer-to-peer LAN calls GLOSSARY.ARC no author name computer terms Special thanks to Chris Dunford, who donated his "CED" program to the public domain. If it wasn't for CED, I would likely have abandoned MSDOS machines entirely and bought a Mac...uh... something else. Dave Williams -------------------- Jacksonville, AR