Ralf Brown's Interrupt List is a comprehensive list of interrupts, calls, hooks, interfaces, data structures, CMOS settings, memory and port addresses, as well as processor opcodes and special function registers for x86 machines from the very start of the PC era in 1981 up to 2000, most of it still applying to PCs today.
Overview
The list covers operating systems, device drivers, and application software; both documented and undocumented information including bugs, incompatibilities, shortcomings, and workarounds, with version, locale, and date information, often at a detail level far beyond that found in the contemporary literature. A large part of it covers system BIOSes and internals of operating systems such as DOS, OS/2, and Windows, as well as their interactions. It has been a widely used resource by IBM PC system developers, analysts, as well as application programmers in the pre-Windows era. Parts of the compiled information have been used for and in the creation of several books on systems programming. some of which have also been translated into Chinese, Japanese and Russian. As such the compilation has proven to be an important resource in developing various closed and open source operating systems, including Linux and FreeDOS. Today it is still used as a reference to BIOS calls and to develop programs for DOS as well as other system-level software. The project is the result of the research and collaborative effort of more than 650 listed contributors worldwide over a period of 15 years, of which about 290 provided significant information. The original list was created in January 1985 by Janet Jack and others, and, named "Interrupt List for MS-DOS", it was subsequently maintained and mailed to requestors on Usenet by Ross M. Greenberg until 1986. Since October 1987 it is maintained by Ralf D. Brown, a researcher at Carnegie Mellon University's Language Technologies Institute. Information from several other interrupt listings was merged into the list in order to establish one comprehensive reference compilation. Over the years, Michael A. Shiels, Timothy Patrick Farley, Matthias R. Paul, Robin D. H. Walker, Wolfgang Lierz and Tamura Jones became major contributors to the project, providing information all over the list. The project was also expanded to include other PC development related information and therefore absorbed a number of independently maintained lists on PC I/O ports, BIOS CMOS memory contents, processor opcodes and bugs. Brown and Paul also conducted several systematic surveys on specific hard- and software details among a number of dedicated user groups in order to validate some info and to help fill some gaps in the list. Originally, the list was distributed in an archive named INTERRUP in various compression formats as well as in form of diffs. The distribution file name was changed to include a version in the form INTERnyy in 1988. In mid 1989 the distribution settled to only use ZIP compression. When the archive reached the size of a 360 KB floppy in June 1991, the distribution split into several files following an INTERrrp.ZIP naming scheme. Officially named "MS-DOS Interrupt List" and "x86 Interrupt List" by its maintainer, the community coined the unofficial name "Ralf Brown's Interrupt List" in the 1990s. The publication is currently at revision 61 as of 17 July 2000 with almost 8 MB of ASCII text including close to entries plus about tables, fully cross linked, which would result in more than 3700 pages of condensed information when printed. Of this, the interrupt list itself makes up some 5.5 MB for more than 2500 pages printed. While the project is not officially abandoned and the website is still maintained, new releases have not been forthcoming for a very long time, despite the fact that information was still pending for release even before the INTER61 release in 2000. New releases were planned for at several times in 2001 and 2002, but when they did not materialize, portions of the new information on DOS and PC internals provided by Paul were circulated in preliminary form in the development community for peer-review and to assist in operating system development.