** Programmer's Technical Reference for MSDOS and the IBM PC ** USA copyright TXG 392-616 ALL RIGHTS RESERVED ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ DOSREF (tm) ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ISBN 1-878830-02-3 (disk-based text) Copyright (c) 1987, 1994 Dave Williams ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Shareware Version, 01/20/94 ³ ³ Please Register Your Copy ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ C R E D I T S 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. I've been selling copies of the Reference since October 1987. The original basis for the Reference came from Peter Norton's "Programmer's Guide to the IBM PC" and the original Janet Jack interrupt list circa sometime 1986, as updated by Ross Greenberg, plus a copy of the IBM DOS 3.1 Technical Reference. It's grown a bit, eh? Anyway, I've prepared a list of the sources I've used for the Reference to clear up any curiosity as to where the material came from. Tools used in preparing this book: Microsoft SymDeb, the final gasp of venerable DEBUG.COM and a fine program. Microsoft CodeView, huge and awkward though it may be. V Communications Sourcer, the only effective disassembler I've found. References used in preparing this book: An Introduction to the DOS Protected Mode Interface Software Focus Group Intel Corp, March 1991 order # 240787-002 AST EEMS Technical Reference Manual v3.2 documents 020022-001B and 000408-001B provided by AST Corporation, 1987 AT&T 6300 Plus Hardware Reference Manual p/n 999-300-194IS from AT&T Corp, 1985 (before the Death Star logo, yet...) Calculus EZ-FAX Developer's Toolkit copy 1990, Calculus Creative Labs Sound Blaster User Reference Manual copr. 1989 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 Digital Research DR-DOS Users and Reference Guide v3.40 Digital Research Corporation, January 1989 Digital Research DR Multiuser DOS Users and Reference Guide v5.0 Digital Research Corporation, 1991 Digital Research DR-DOS Users and Reference Guide v5.0 Digital Research Corporation, 1991 DPMI 0.9 Specification Intel Corp, 1990 DPMI 1.0 Specification Intel Corp, 1991 G-Host S3 Enhanced Video Graphic Adapter User's Manual G-Host, 1992 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 DOS Technical Reference, Version 4.0 IBM Corp, 1988 IBM DOS Command Reference, Version 4.0 p/n 6280254 IBM Corp, 1988 IBM PC 3270 Emulation Program Entry Level Version 1.10 User's Guide pn 84X0280 IBM Corp, 1986 IBM PC 3270 Emulation Program Entry Level Version 1.10 HLLAPI Programmer's Guide pn 84X0301 IBM Corp, 1986 IBM PC Local Area Network Program Version 1.20 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 LANtastic Programmer's Information Package, 2/21/89 Logitech Mouse Programmer's Toolkit Logitech Corp. 1986 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 Lotus-Intel-Microsoft Expanded Memory Specification 4.0 EMS Toolkit for C Developers document 302243-001 provided by Intel Corp, February 1990 Microsoft - various documents provided to MS 5.0 beta testers Microsoft Extended Memory Specification v2.00 provided by Microsoft Corporation, 1988 Microsoft Mouse Technical Reference Microsoft Press, 1989 Microsoft Virtual DMA Specification 1.0 Microsoft Part # 098-10869 May 1, 1990 Mouse Systems Programmer's Toolkit p/n 302449-001 Rev A, 1989 p/n 302375-100, 1989 p/n 302446-100, 1989 MS-DOS Programmer's Reference (covers through DOS 2.00) by Microsoft p/n 135555-001 Intel Corp. 1984 MS-DOS 5.0 Programmer's Reference (covers DOS 5.0 only) by Microsoft Microsoft Press 1991, ISBN 1-55615-329-5 Novell Netware 2.19 SFT/Advanced manual set by Novell, Incorporated Novell, 1988 Phar Lap Virtual Control Program Interface (VCPI) Specification v1.0 Phar Lap Software 1989 Phoenix System BIOS for PC/XT/AT and Compatibles Addison Wesley, 1987 Phoenix System BIOS for PC/XT/AT and Compatibles (Second edition) Addison Wesley, 1991 Tandy 1000 TX Technical Reference Manual Tandy Corp. p/n 25-1514 Tandy Corp 1987 The Software Link PC-MOS 4.1 Programmer's Reference (1990) Toshiba 1000 Technical Reference Manual Toshiba Corp. of America 1987 Tseng Labs EVA Chipset Programming Guide Tseng Labs, 1986 X3.4-1977: American National Standard Code for Information Interchange by American National Standards Institute (ANSI) New York, NY 1977 Weitek ABACUS Software Designer's Guide, Doc 8967 September 1989 Wendin-DOS Programmer's Reference Wendin, Inc, 1987 ********************** 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 2.46 Installation Guide Artisoft, 1988 LANtastic 3.01 Installation Guide Artisoft, 1990 LANtastic 4.0 beta Installation Guide Artisoft, 1991 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 Mirage Super VGA TVGA-8900 User's Manual 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. Novell Advanced Netware System Manager's Reference pcAnywhere User's Guide v2.00 Dynamic Microprocessor Associates, Inc 1986 S-286 User Manual, version 2 Link Computer, 1988 STB VGA Extra/EM EM-16 BIOS Features STB Corp. TesSeRact v1.0 documentation TCXL 5.1 documentation Toshiba ND352/356 3.5" Diskette Drive Installation Notes document number 87019 March 1988 Toshiba America Corporation Tseng Labs EVA, EVA/480 BIOS Guide November 10, 1988 VESA Toolkit v2.0 summer 1991 VideoTrax Installation Guide Alpha Micro, 1987 ****************** Advanced MSDOS Ray Duncan Microsoft Press 1986 Assembly Language Programming for the (written by one of the ) IBM Personal Computer (IBM PC's original ) David J. Bradley (developers - and one of) Prentice-Hall 1984 (the few good 8087 refs ) 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 Discovering the IBM PCjr Peter Norton Microsoft Press 1984 DOS 5: A Developer's Guide Al Williams M&T Books, 1991 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 Memory Resident Utilities, Interrupts, and Disk Management With MS & PC DOS Michael Hyman MIS Press 1987 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 MS-DOS Encyclopedia Ray Duncan Microsoft Press 1988 (first edition) Modern Operating Systems (this is an updated and revised ) Arthur S. Tanenbaum (version of the OSD&I book below) Prentice Hall 1991 Network Programming in C (excellent resource for IPX ) Barry Nance (barryn on BIX) (and NETBIOS API info ) Que, 1990 Operating Systems Design and Implementation (this is one of your ) Arthur S. Tanenbaum (OS design references) 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 Programming Windows Charles Petzold Microsoft Press, 1987 Programming Windows, Second Edition Charles Petzold Microsoft Press, 1990 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 (strange - though it's been ) Russell Rector and George Alexy (through a couple of releases) Osborne/McGraw-Hill 1980 (it's basically just a bunch ) (of old Intel data sheets ) (stamped "PRELIMINARY" ) 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 (prehistoric stuff, but ) Charles A. Crayne and Dian Gerard (some tricks you don't see) Baen Books 1985 (any more ) Tricks of the MS-DOS Masters Waite Group Howard W. Sams 1987 Turbo Pascal Express (lots of ASM routine for TP3) Robert Jourdain Brady Books, 1987 Writing DOS Device Drivers in C (this one is a real turkey) Adams/Tondo Prentice Hall, 1990 *********************** Microsoft Macro Assembler 4.0, 5.1 documentation Microsoft C 4.0, 5.0, 5.1, 6.0, 7.0 documentation Borland Turbo Pascal 3.02a and 6.0, Borland Pascal 7.0, TPW 1.0 and 1.1, Turbo C 2.0 documentation Novell SFT System Administrator's Reference *************************** Western Digital, Rodime, Miniscribe, Microscience, Adaptec, Storage Technologies, and Connor Peripherals were kind enough to send spec sheets on most of their products which helped to expand and verify the hard drive information in Appendix 6. *************************** 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, Jim Prosise, and Charles Petzold of PC Magazine, and Neil Rubenking, Jeff Duntemann, and Ray Duncan, who get around a lot. Byte ( Byte's kinda weird. They have some really neat, well- researched stuff interspersed with mindless drivel. Still, they print some stuff you absolutely, positively won't find anywhere else. ) C Users Journal ( Despite the name, it's mainly about programming DOS machines) C'T (Computer Technik) ( If you read German, this one is sorta like PC Magazine was in its heyday. ) Computer Language ( I never decided if I liked CL or not. Maybe I'm not the sort of programmer they're writing for... ) (04/93 - just got word CL is dead. Maybe nobody else knew who they were writing for either) Computer Shopper ( Though primarily advertising, some information sneaks in from time to time. ) 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. ) InfoWorld ( I never really figured out how a weekly magazine could so often be both late *and* wrong with their stories, but IW tries hard. Still, you often hear about rumblings you'd never find out about in the slicks. The National Enquirer of the computer world? ) Micro Cornucopia ( R.I.P - it was great while it lasted. ) Microsoft Systems Journal ( Hideously expensive and mostly oriented to Windows, the early issues had some really good stuff ) Midnight Engineering ( This one's hard to classify. It's hardcore computer with a dash of entrepreneurship, bizarre as the combination may sound. I like it when I can find it. ) PC Magazine ( Despite their new "management format" in mid '89, PC Mag still has some good techie stuff from time to time. I guess the bean counters thought managers were more important than programmers. ) PC Resource ( There was rarely anything of interest in PC Resource, but every now and then I found something. Now defunct. ) 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 referred to it as "PC Tech Urinal," an apt monicker. Now defunct. ) PC Techniques ( This is the magazine PC Tech Journal tried to advertise itself as. Pure programming, written by programmers for programmers, without too many "journalists" pissing in the text. Try it! ) PC Week ( This one used to be a clone of InfoWorld, but since their takeover by PC Magazine they've become a sort of mutant cross between IW and PCMag. ) Programmer's Journal ( This is a nice magazine, though expensive. - now defunct ) Tech Specialist (now Windows/DOS Developer's Journal) ( One of the few really good magazines for bit-twiddlers. Haven't seen a GUI phone-dialer shootout yet! ) Windows Tech Journal ( This one is sort of neat even if you don't like Windows. It's another "by programmers, for programmers" rag, lots of code with a dash of humor.) **************************** various computer bulletin board systems, including Byte Information Exchange (BIX) (check out ibm.dos/old.secrets.2 and ibm.dos/secrets.3) Effusive thanks to the gang in the ibm.exchange - these guys are *sharp*. In alphabetic order: barryn, billn, bkep, bscherry, bstrauss, daiken, dgh, dmick, dnanian, dondumitru, drifkind, geary, glass, gmussar, greenber, hfishman, j_vanderbilt, jfleming, jndunlap, jlussmeyer, johnf, jsloman, jsprowl, jswitzer, jrichards, karenk, killer1, kquirk, mabrash, matt.trask, mcowley, mfsargent, mike123, mheller, mlavelle, rbabcock, rbrukardt, rduncan, roedy, ronlepine, sbc, sjgrant, skluger, tanj, terjem, twagner, wardc, wcowley, and all the guys whose names I forgot... Compuserve's Microsoft beta forums FIDOnet international network (various technical echos) GEnie IBM RT and Borland RT NorthAmericaNet (NaNet) programming echos Canada Remote Systems (Toronto, Canada) RIME PCRelay international network (IBM, Technical, Programming echos) TelePath (M&T Publishing) usenet ibm*.* groups ...plus I hit the various Wildnet, and GT-Net echos from time to time! ********************************* 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). As you can see, this stuff predated the ARC-vs-ZIP wars... 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 2_JOYSTK.ZIP 723 17/4/89 dual joystick adapter pinout 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 ASM-ADRS ARC 6144 20/12/87 low memory vectors Malcolm McCorquodale ATCMDS ARC 3072 20/03/88 Hayes 1200 baud command set BACKDOOR UPL 26115 11/12/89 "back door" through PSP John Switzer 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 CCPM86 ARC 68238 14/10/89 list of Concurrent CP/M calls CDOS ARC 35584 18/07/89 list of Concurrent DOS calls Guy Scharf CDOS2_ ARC 227200 18/07/89 list of Concurrent DOS calls J.F. Jankura CDOSCALL ARC 19968 18/07/89 list of Concurrent DOS calls J.F. Jankura CNBDOC ZIP 32012 9/02/91 CBIS Net Bios Programmer's Ref. Tom Thompson CUFEXT ARC 13228 13/03/90 common file extensions J.W. Rider 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 DOS3TXT ARX 9168 31/07/85 list of DOS/BIOS ints, data areas Dan Rollins 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 IBMTAB ARC 7882 15/03/88 general IBM PC tech info John S. Lou 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 INTER189 LZH 156368 25/06/89 interrupt list Ralf Brown 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 LE_MCLCK.ASM 3489 3/27/86 undoc'd Leading Edge BIOS fns Bob Plouffe 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 MIDIBOOK ZIP 1338 09/08/89 MIDI book bibliography Chris Bosshardt 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 MDOSDOC EXE 47104 4/21/91 MultiDos Plus 4.00 Prog. Ref. Nanosoft Inc. 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 PORTDIAG ZIP 2261 27/05/89 pinouts of various connectors PRNBIOS ZIP 7519 29/10/89 programming info on printer Michael Day 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 SERIAL TXT 1091 07/04/87 PCjr serial cable pinout Don Watkins SM2400 ARC 2296 9/08/86 Hayes 2400 baud command set SPOOL DOC 29704 03/28/89 Versa-Spool API Jeff Newbro SSTEP ARC 2300 11/07/89 explanation of CPU single-step Ed Burnette 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? TOOLS C 14032 8/10/89 Grid laptop special functions Fredrick Coffman TOS 938 24/03/88 TOS function calls Mike Crawford TOSHTEAC ZIP 624 9/07/89 pinout for ext. drive on T1100 "Dave" TRYST ARC 29312 29/10/88 DOS and hard disk info Amy Goebel UNDOCINT 21H 7168 14/04/87 undocumented DOS calls Peter Holzmann VESA TXT 41269 01/17/90 VESA standard VESA VGAKIT DOC 7634 05/04/90 VGA programming kit John Bridges 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 XGADEMO LZH 23552 01/27/91 IBM XGA programming info v.50 Bert Tyler XMS ARC 75776 1/08/88 Microsoft Extended Memory Specification 1.0 Microsoft Corporation XTCHARTS ARC 12416 4/11/88 ports, charts ********************************** 4DOS.DOC Tom Rawson 4DOS int 2Eh, 2Fh calls, SHELL= bug APARDOS4.TXT IBM Corp. bug reports for DOS 4.0 APARDOS5.TXT IBM Corp. bug reports for DOS 5.0 BOOKS.TXT Chriss Bosshardt bibliography of MIDI references BMP.HDR Jim Kent MS .BMP format CED10D Chris Dunford CED interrupt calls DESQ10.ASM James H. LeMay DESQview API calls GLOSSARY.ARC no author name computer terms LANTSTIC.DOC LANtastic adware peer-to-peer LAN calls NBRCV.C Paul McGinnis NetBIOS API calls NETTUT.DOC Charles L. Hedrick TCP/IP network DOSREF isn't a tutorial, and sometimes you need a tutorial. Microsoft has finally written a half-decent one - The MS-DOS Programmer's Reference, Microsoft Press, 1991, ISBN 1-55615-329-5. This is the DOS 5.0 Tech Ref. It covers data structures and DOS programming concepts clearly. However, it has no information on other DOS versions, nor does it (of course) cover undocumented calls. ------------------------------------ Nothing gets written in a vacuum, and I'd like to express my thanks to all the people who have been good enough to furnish information and support: (in alphabetical order) Tommy Apple, Mike Crawford, Herman Diagostino, Joe Felix, Ron Melson, Denis Murphy, & Ben Sansing, who all loaned me documentation and reference material for so long that some of them have forgotten to ask for their stuff back And those people who were kind enough to help out: Mike Blaszczak, MA: BIX: blaszczak who went rampaging through work and client's sites to find and document various model ID bytes, plus plenty of information on MS OBJ file formats Carl Bretteville, Drammen Norway: who sent me a complete Concurrent DOS Programmer's Reference, considerably enriching the Norwegian postal service thereby William Cravener CIS: 72230,1306 who allowed me to include his PORT-IN.OUT file John Dallman jgd@cix.clink.co.uk more information on eDOS 4.0 Herman Diagostino, Manassas VA: who worked up the TECHMENU menu file and provided a copy of the rare IBM DOS 4.0 Technical Reference and a copy of the original MSDOS Encyclopedia from Microsoft, info on the Pelican 5.5mb floppy drive, IBM DOS 4.0 command reference, many hard drive specs, OS/2 DOS Box differences James Drenter, Davenport IA: additional info on int 1Ch David Dorling, Buderim, Australia: found one embarrassing error in the device driver info and provided many expansions and clarifications Chris Dunford, Columbia MD: CIS: 76703,2002 who sent me a copy of the PCED 2.0 API and let me use his INTPROTO.TXT Sean Goggin sean@u36.kwnet.on.ca several partition table ID bytes from his usenet ID byte list Steve Grant, Jersey City NJ: BIX: sjgrant who granted permission to include his excellent SYSID program with my distribution disks, furnished several model IDs Roedy Green, Vancouver BC Canada: BIX: roedy many names and addresses for Appendix 5, serial and parallel port details and cabling, granted permission to include some of his very educational essays with my distribution disks, plus many details on DOS disk I/O David Holm BIX: dgh Reported minor error in int 15h/4Fh and some TI Pro oddities Brad Kepley BIX: bkep furnished copy of Davis' DESQview Programming book Michael Koepke, Wood Dale IL: pinouts on EGA feature connector, PS/2 keyboard connector, DR- DOS programming information, much info on Digital's DR-DOS, and the loan of some of his books Tom Jeffries, Oakland CA: BIX: tjeffries furnished a copy of the Sound Blaster SDK Curt Lankford, Little Rock, AR: loaned his copy of the AT&T 6300 Plus Hardware Technical Reference Ron Lepine BIX: ronlepine much TI Professional keyboard/video programming info Alan R. Levinstone, Garland TX: 80286 LOADALL instruction BIOS Data Area floppy control parameters 40:8B, 40:8F, 40:90 Brian Long, Twyford UK: provided a copy of the then-nearly-unavailable DPMI 0.9 specification, plus port and address info John Man, Brighton UK: JHL14@phx.cam.ac.uk Consensys V4 partition ID byte Keith Meade, Rochester MN: BIX: keithm who provided a Microsoft Windows 2.11 SDK, copy of IBM TopView Feico Nater, Hengelo, Netherlands: additions to FCB calls, several pages of expansions and clarifications Bruce Nevins, Tucson AZ: BIX: bnevins Irwin low-level tape drive info, DEC PC info Patrick O'Riva, San Jose CA: info on what happens to the interleave when the BIOS is finished, and for his interesting online assembly-language magazine Klaus Overhage, Stuttgart Germany: FANSI-CONSOLE system calls, and translating the TechRef into German August C. Quint, Germany: CIS: 100023,1545 bug reports on 8250 information, disassembly of DOS 3.1, and many useful comments Tom Rawson, MD: BIX: trawson DOS device driver loading information Peter Rejto, Minneapolis MN: rejto@math.umn.edu many C.A.R.E. packages of documentation and data sheets - hardly a month goes by without something from Peter! John Richards, England: BIX: jrichards European DOS 4.0 information Chris Rutkowski, Botswana: Chris donated the list of Epson printer codes that appear in Appendix 36 Ben Sansing, Little Rock AR: ben.sansing@chaos.lrk.ar.us ANSI.SYS information, documentation for the NEC V20/30 chips, reported error in register chart in Chapter 4, loaned his copy of PC-MOS/386 for testing Mike Sargent, Canada: BIX: mfsargent sent a copy of the IBM AT Technical Reference with BIOS listings Hans Schleichert, Marburg Germany: information on int 2Fh, fn OAEh (internal DOS commands). Good thing I took some German in high school... Paul Slootman, Borne, Netherlands RealTek VGA board video modes John Switzer, CA: BIX: jswitzer who allowed me to include his discoveries on alternate DOS entries and file mysteries. (see BACKDOOR.ZIP on BIX, or Oct 1990 Dr. Dobbs') Fred Thompson, Rapid City SD: loaned his Sound Blaster manual, provided much info on graphics programming Matt Trask: BIX: matt.trask who provided a complete copy of the TopView Programmer's Reference and some OS/2 programming information Richard Vogh, Marietta GA: found several embarrassing errors in the boot sector chart in Chapter 8. The shame! The shame! Jim Wenzel, North Little Rock AR: jim.wenzel@grapevne.lrk.ar.us more PC model ID codes, loaned his copy of the Windows 3.0 SDK ...and these companies: Alloy Computer Products, Marlborough MA: Joe Souza and Frank Gladu, who provided detailed information on the APIs for NTNX, ANSK, and 386 Multiware. Artisoft, Tucson AZ: Eileen, Sherri, and the beta support people Digital Research, Monterey CA: provided review copies of DR-DOS 5.0 and DRMDOS H&R Block / Compuserve CIS: 70003,4100 Michael Finney, who gave permission to reproduce the GIF89a standard Microsoft Corporation, Redmond WA: for beta-test versions of DOS 5.0, Windows 3.1, other products, information on DOS 5 and the DOSSHELL API NanoSoft, Natick MA: Jack van Schouwen, allowed the use of their API materials verbatim The Software Link, Atlanta GA: provided a review copy of PC/MOS-386 and the programming guide Qualitas, Bethesda MD: Bill, Andy, and all the gang Quarterdeck, Santa Monica CA: Russ, Bob, Michael, and the guys in beta and tech support 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 Macin...uh... something else; and to Haruyasu Yoshizaki for allowing unrestricted use of his LHarc program used to compress the files on these diskettes. Dave Williams -------------------- Jacksonville, AR