Interrupt List Release 89.5 Last change 10/7/89 Please distribute all of the following files (unmodified) together in an archive called INTER589: INTERRUP.1ST this file INTERRUP.A INT 00 through INT 27 \ total 242 pages at 60 lines INTERRUP.B INT 28 through INT FF / per page, 263 with INTPRINT -p INTERRUP.PRI a brief primer on interrupts INTPRINT.COM a simple formatter that also generates the list summary INTPRINT.DOC instructions for INTPRINT INTPRINT.C source code for INTPRINT Concatenate INTERRUP.A and INTERRUP.B with COPY /B INTERRUP.A+INTERRUP.B INTERRUP.LST to create an interrupt list file identical to my master copy. Use INTPRINT to generate the INTERRUP.SUM which used to be included in the archive, or to generate a new file containing only data structure formats. See INTPRINT.DOC for details. --------------------------------------------- NOTICE NOTICE NOTICE NOTICE This compilation is (c) Copyright 1989 Ralf Brown Permission is granted to use and redistribute the files comprising the interrupt listing in any way, provided my name and addresses and the names of all contributers are preserved, as well as the information on how to obtain new releases. This version of the list reverts to the public domain one year after the date of its release, with the sincere hope that the credits and availability information are retained. --------------------------------------------- If the list is more than three months old by the time you get it, there is probably a newer release out already (next is planned for mid-Dec/early Jan). The newest release of this list is available in these places (please do not ask me to email it, it is just too large for that): On the ARPAnet, by standard anonymous FTP from CS.CMU.EDU [128.2.222.173]. Change to directory /afs/cs.cmu.edu/user/ralf/pub and get the file interrup.zip which is a link to the current version. You MUST change directory first because of the way CMU's anonymous FTP works. ZIP unarchivers for MSDOS and BSD Unix are available in the "zip" subdirectory. On FIDOnet, from The Gas Passer BBS 1:129/46 1-412-648-6326 1200/2400/9600 HST as file INTERnyy.ZIP, where nyy stands for release 'n' of year 'yy', in file area #18 (User Uploads) or #9 (Miscellaneous Goodies). ZIP executables are in file area #19. First-time callers may download. The list is also posted to USEnet in comp.binaries.ibm.pc about three times per year, concurrent with a new release of the list. Since comp.binaries.ibm.pc is archived, you will be able to find a fairly recent release in the various UUCP archives. Secondary Distribution Points (the list will be available here within a day or so of release): ARPA: on WSMR-SIMTEL20.ARMY.MIL [26.2.0.74] as file INTERnyy.ARC in directory PD1:, where nyy stands for release n of year yy. Note that you must use mode "tenex" or "type L 8" to successfully FTP the file. FIDO: SyncPoint BBS 1-301-529-2584 (new number!) File Requests. First-time callers may download. Additional Distribution Points: BITnet: you may retrieve the copy on WSMR-SIMTEL20.ARMY.MIL via the following automated mail servers: (in the US) LISTSERV@RPIECS (alias VM.ECS.RPI.EDU) LISTSERV@NDSUVM1 (alias VM1.NODAK.EDU) (in Europe) TRICKLE at TREARN (Turkey) TRICKLE at IMIPOLI (Italy) TRICKLE at DB0FUB11 (Germany) TRICKLE at DKTC11 (Denmark) TRICKLE at AWIWUW11 (Austria) LISTSERV at FINTUVM (Finland) (alias MAMMUTTI.UTU.FI) CompuServe: in the IBM Programming Forum Library 6 as INTnyy.* According to Mark Seiffert, the list is available >on MostAnyNet via mail from my archive server as file >"other/dos/interrup.zip". Send the following message to; > >uucp: rex!mgse!archive >bitnet: archive%mgse@REX.CS.TULANE.EDU >internet: archive%mgse@rex.cs.tulane.edu > >The message; >------------------------------------------------------------------------- >SET UUENCODE >SEND other/dos/interrup.zip >------------------------------------------------------------------------- > >The file will be uuencoded, chopped up and sent. Btoa may be used instead >of uuencode, use SET BTOA instead of SET UUENCODE. I am looking for volunteers with FTP to upload new releases to BBSs on the West Coast or outside the US on a regular basis (preferably boards which allow first-time callers to download and support file requests). I would send you mail as soon as the new list is available for FTP on CS.CMU.EDU. --------------------------------------------- DISCLAIMER: I verify the information contained in this list to the best of my ability, but I cannot be held responsible for any problems caused by use or misuse of the information, especially for those functions not officially documented. If it is marked "internal", you should check it carefully to make sure it works the same way in your version of the software (and please let me know whether or not it works the same way). Information marked with "???" is known to be incomplete or guesswork. --------------------------------------------- This list is the result of the time and effort of a large number of people, among them 1/85 Janet Jack (original list) 1/85 J. Weaver Jr. 2/85 John Cooper 2/85 Skip Gilbrech Bob Jack 4/85 Jim Kyle 8/85 John Ruschmeyer ihnp4!vax135!petsd!moncol!john 8/85 Bill Frolik ihnp4!hplabs!hp-pcd!bill 8/85 Ross M. Greenberg uunet!utoday!greenber 87 Mike Morearty ...!ucbvax!cory!morearty \ early 1987 Ed Nather ...!ut-sally!nather > several undocumented DOS Pete Holzmann ...!pyramid!octopus!pete / calls in another list 87 Dan Lanciani ddl@harvard.harvard.edu various, incl. NetBIOS 7/87 Ralf Brown ralf@cs.cmu.edu INT 24h and DOS func 59h 10/87 Ralf Brown ralf@cs.cmu.edu become list maintainer 11/87 Dan Davison dd@lanl.gov DOS 3.3 function calls 11/87 Bill White wwhite@teknowledge-vaxc.arpa DOS 3.3 11/87 Richard Hargrove harvard!killer!richardh EGA 12/87 Vincent Broman broman@bugs.nosc.mil Cordata BIOS/Minix 12/87 Dennis Grinberg grinberg@bimacs.bitnet MCGA/VGA 1/88 Brad Davis tektronix!sequent!gssc!bradd GSS, DGIS 2/88 D. Spinellis dds%cc.imperial.ac.uk Herc GRAFIX Dev Toolkit 3/88 Michael A. Moran Michael@cup.portal.com VGA INT 10h 3/88 Ralf Brown ralf@cs.cmu.edu DESQview API 4/88 Richard Marks rmarks@KSP.Unisys.COM undoc dir search fields 5/88 Robert Goldsmith rpg%security@mitre-bedford.arpa AT&T DEB adapter 7/88 Gary E. Miller Gary_Edmunds_Miller@cup.portal.com Paradise VGA 8/88 John Lefor jal@ee.rochester.edu XMS spec 9/88 Dan Lanciani ddl@harvard.harvard.edu miscellaneous 9/88 Howard Johnson Howard_Reed_Johnson@cup.portal.com NetWare overview 9/88 Finn Thoegerson via mcvax!daimi!fab 10-NET, miscellaneous 9/88 Michael Shiels mshiels@watmath.waterloo.edu FOSSIL spec 9/88 Ralf Brown ralf@cs.cmu.edu Microsoft CD-ROM API 10/88 Michael Shiels mshiels@ziebmef.uucp ATI VIP INT 10h BMB Compuscience Canada Ltd. 10/88 Michael Shiels mshiels@ziebmef.uucp FTP Driver spec 10/88 Helmut Waelder ZRWA001@DTUZDV1.BITNET data structures, misc 10/88 Helmut Waelder ZRWA001@DTUZDV1.BITNET more 10-NET functions 10/88 Ge van Geldorp VLRUO02@HDETUD1.BITNET Novell NetWare 10/88 Ralf Brown ralf@cs.cmu.edu INT 2F/AH=12h 11/88 Clarence A Dold cdold@starfish.Convergent.COM Compaq386 speed settings 11/88 Ralf Brown ralf@cs.cmu.edu TesSeRact API 12/88 Ying-Kuen K. Hwang khwang@wyse.com ESDI fixed disk calls 1/89 Ari Huttunen mcvax!saha.hut.fi!t36273c additional INT 33 calls 1/89 Duncan Murdoch dmurdoch@watdcsu.waterloo.edu undoc fields in DOS data 2/89 Ralf Brown ralf@cs.cmu.edu VCPI API 3/89 Helmut Waelder ZRWA001@DTUZDV1.BITNET more DOS 4.0 calls 4/89 Robert Seals rds95@leah.Albany.EDU ATI VGA Wonder modes 4/89 Ge van Geldorp VLRUO02@HDETUD1.BITNET pcANYWHERE API 4/89 Robin Walker rdhw@uk.ac.cam.phx undoc DOS 4 data struc 4/89 Robin Walker rdhw@uk.ac.cam.phx DOS 4.0 shell API 4/89 Ralf Brown ralf@cs.cmu.edu DCA/Intel CAS API 4/89 Ralf Brown ralf@cs.cmu.edu Intel Image Proc Interf 5/89 Robin Walker rdhw@uk.ac.cam.phx multiplex int calls 6/89 Peter Sawatzki FE617@DHAFEU11.BITNET Video7 extended INT 10 7/89 Wes Cowley wes@cup.portal.com SHARE.EXE hooks 9/89 Robin Walker rdhw@uk.ac.cam.phx more DOS 4 data struc 9/89 Stuart R. Kemp kemp@umn-cs.cs.umn.edu Halo88 9/89 Urs Zurbuchen mcvax!norad!netto!uzurbuch Btrieve API 9/89 Dan Lanciani ddl@husc6.harvard.edu Z100, Taxan video BIOS 9/89 Robin Walker rdhw@uk.ac.cambridge.phoenix more DOS 4 data struc 10/89 Robin Walker rdhw@uk.ac.cambridge.phoenix DOS 3.0 data struc Also contributing: Dan Crocker , George Smith , Shalom Krischer , Greg Pasquariello , Rich Goldschmidt , Marty Leisner , Dave Guggisberg ,Jonathan Story , Thomas Hundt , Brad Templeton , John Werner , Pete Fales , David Herron , Otto J. Makela , Risto Lankinen via Markku Savela , Darryl Gregorash 1:140/86, Skule Johansen , Everett Kaser , David Dyck , Mark Davis , Sergio Fogel , James P. Kiely , W.F. Schroeder , , Russ Nelson , Michael Ho , Ralph Heredia , Nelluri Reddy , Stuart R. Kemp , Les Moskowitz 1:261/1055, Peter Sawatzki , Victor Poon , Richard D. Morris , RS Tse 3:700/1, John DesRosiers via Marc Bertrand 1:167/1,Mark Scase , Mark Seiffert , Marco Lumachi , Dave Bennett <74635.1671@CompuServe.COM> --------------------------------------------- Information on Tseng/Ahead/Paradise EGA video modes from a list posted by Dan Kegel 3/87. Information on the INT 10h functions supported by the EGA BIOS was derived from the article "Graphic Enhancement" found in the April 1985 _PC Tech Journal_, pages 58ff., and is marked with the string (EGA). jrh. Information on functions unique to the Portable PC and the Convertible was derived from a similar list compiled by David E. Powell, and added by Ralf Brown 11/14/87. Information on LIM EMS 3.2 functions was derived from _Advanced_MSDOS_, by Ray Duncan. Added by Ralf Brown 11/19/87. Information on LIM EMS 4.0 functions was derived from the transcription of the specification by Dick Flanagan. Added by Ralf Brown, 11/20/87 Some of the information on MCGA/VGA BIOS calls was derived from _Byte_, Volume 12 Number 12. Various and sundry info on which machines support which calls was derived from the BIOS comparison in _Byte_, Volume 12 Number 12 and added by Ralf Brown, 1/4/88. COMPAQ DOS 3.31 INT 25/26 from a posting by John Lefor, 1/25/88. TopView INT 15/AH=12h info from macro definitions by Daniel T. Travison Jr. Added 3/4/88. Some additional TopView INT 15 info gleaned from "glue" routines by John Navas. Quarterdeck's flyer on its overpriced API specs and tools provided sufficient clues as to functionality to allow figuring out a large number of DESQview INT 15h calls. MS Mouse driver calls derived from PC Magazine, Vol 6 #13. Added 3/29/88. Non-video PS/2 BIOS calls derived from _IBM_ROM_BIOS_ by Ray Duncan. Added by Ralf Brown, 7/6/88. EEMS function calls derived from PC Tech Journal, May 1987. Added by Ralf Brown, 7/11/88. The list of functions used by Novell NetWare was taken from Novell's "NetWare Function Call Reference". PC Mouse information derived from the "PC Mouse Reference Manual version 4.00" 10-Net INT 6Fh information derived from "10-Net Reference Manual version 2.0" APPC/PC INT 68h information derived from "Advanced Program-to-Program Communication for the IBM Personal Computer, Programming Guide", second edition, Dec 1986. CD-ROM function call information derived from "Microsoft MS-DOS CD-ROM Extensions Function Requests", dated May 28, 1988. Added by Ralf Brown, 9/19/88. Novell NetWare function names from a 9/23/88 post by Marc Guyott . Added by Ralf Brown, 9/30/88. Miscellaneous data structures contributed by Helmut Waelder derived from descriptions in _MS-DOS_Encyclopedia_. Additional 10-Net INT 6F info from 10-Net version 3.3.10. Additional Novell NetWare info from "Advanced NetWare 2.0 Reference". Three miscellaneous calls from an info package by Dave Williams. I do wish he'd given this list more credit than "various text files downloaded from BBS systems - INTERRUP.ARC, BIOSDOS.ZOO, DOSINFO.ARC, DOSERROR.DOC, DOSTIPS.TXT, etc." considering that most of his interrupt listing is derived from this one (a majority of that with only formatting changes), AND he's asking a $15 shareware registration. Compaq speed setting calls derived from the Compaq DeskPro 386 Technical Reference Guide. TesSeRact RAM-resident API calls derived from the documentation to the TesSeRact library v1.0, available on BBSs as TESS_10.ARC. Added by Ralf Brown, 11/29/88. Various extended VGA video modes from PC Tech Journal, Jan 1989. Added by Ralf Brown, 1/6/89. HLLAPI functions derived from PC Tech Journal, Jan 1989. Added by Ralf Brown, 1/7/89. Virtual Control Program Interface functions derived from "Virtual Control Program Interface, Revision 1.0, December 1987", copyright Phar Lap Software and Quarterdeck Office Systems. Added by Ralf Brown, 2/21/89. Available for free by writing to Bob Moote, VCPI Coordinator, Phar Lap Software, Inc., 60 Aberdeen Ave, Cambridge, MA 02138. DOS 4.0 calls submitted by Helmut Waelder are largely derived from _Advanced_ _MSDOS_Programming_, by Ray Duncan, Second Edition. pcANYWHERE API functions derived from the pcANYWHERE v2.10 User's Guide. 4/7/89 Communicating Applications Specification API derived from "DCA/Intel Communicating Applications Specification, Version 1.0A", Sep 1988, copyright Digital Communications Associates, Inc and Intel Corp. Added by Ralf Brown, 4/18/89. Available on Intel's BBS at 503-645-6275. Image Processing Interface API derived from "Intel Image Processing Interface Specification, Version 1.0", copyright 1989 Intel Corp. Added by Ralf Brown, 4/19/89. Available on Intel's BBS at 503-645-6275. More TesSeRact RAM-resident API calls derived from the documentation to the TesSeRact library v1.1. Added by Ralf Brown, 4/30/89. CD-ROM 2.10 function calls derived from "Microsoft MS-DOS CD-ROM Extensions Function Requests Specification, 29 March 1989". Added by Ralf Brown, 6/2/89. Video7 VGA extended INT 10 calls derived from Video Seven VGA Technical Reference Manual, dated 6/30/88. Additional video modes gleaned from configuration file for FRACTINT v8.0. Added by Ralf Brown, 6/26/89. A variety of notes inspired by the 12/16/88 version of the MSDOS reference by Dave Williams. Added 7/30/89. Additional video modes gleaned from configuration file for VPIC v2.0. Added by Ralf Brown, 9/2/89. Btrieve API derived from the Btrieve Reference Manual, Rev. 2.0. Added 9/7/89. The Hercules GraphX manual, edition 2.1. Aug 1986, was used to fill in gaps in coverage. Info added 9/7/89. --------------------------------------------- Key to system abbreviations (unless otherwise indicated, a function is available on all systems) PC IBM PC XT IBM PC XT PORT IBM PC Portable (uses same BIOS as XT) Jr IBM PCjr AT IBM PC AT XT2 IBM PC XT 2 XT286 IBM PC XT/286 CONV IBM Convertible PS IBM PS/2, any model PS30 IBM PS/2 Model 30 and below PS50+ IBM PS/2 Models 50,60,70,80 CGA Color Graphics Adapter EGA Enhanced Graphics Adapter VGA Video Graphics Array MCGA Multi-Color Graphics Array TopView TopView/DESQview/TaskView/OmniView/other compatibles --------------------------------------------- To keep the lawyers happy: Microsoft, MS, MS DOS, OS/2 are trademarks of Microsoft Corp. IBM, PC, PCjr, PC/XT, PC/AT, XT/286, PS/2, TopView are trademarks of IBM Corp. Compaq is a registered trademark of Compaq Corp. Turbo C and Turbo Pascal are registered trademarks of Borland International Tandy 1000 is a registered trademark of Tandy Corp. DESQview is a trademark of Quarterdeck Office Systems TaskView and OmniView are trademarks of Sunny Hill Software 10-Net is a trademark of Fox Research, Inc. Mouse Systems is a trademark of Mouse Systems Corp. NetWare is a registered trademark of Novell, Inc. TesSeRact is a trademark of the TesSeRact Development Team. PC Tools is a trademark of Central Point Software, Inc. Various other names are trademarks or registered trademarks of their respective holders --------------------------------------------- What they're saying about this list: "A cornucopia of descriptions of interrupt and function calls on the IBM PC. A great thing to have on your hard disk if you don't have a Ray Duncan or Peter Norton book handy." _Turbo_Technix_, July/August 1988, p. 157. [and that was about the 1/30/88 version, which is about one-fourth the size of the current version....] --------------------------------------------- If you know of any information not in the list, or which is stated incorrectly, please let me know! This list would be a pale shadow of its current self if it weren't for everybody's input. Software developers are encouraged to check the list before assigning interrupts, and to provide me with a list of interrupt calls used (to help prevent future interrupt conflicts). Ralf Brown Address e-mail to: ARPA: ralf@cs.cmu.edu \ UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf > preferred BIT: ralf%cs.cmu.edu@cmuccvb / FIDO: Ralf Brown 1:129/46 (new address!) or post a message to the DR_DEBUG echo CompuServe: >INTERNET:ralf@cs.cmu.edu is supposed to work Snail mail: Ralf Brown School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (please enclose a SASE or e-mail address if you want a speedy reply) I reply to all submissions and inquiries. If you do not receive a reply within a reasonable time, send your message again, giving a better return path (on UUCP, a bang path starting at harvard or ucbvax; elsewhere, a path starting from the ARPA Internet).