Public Files on FTP.CS.CMU.EDU

The x86 Interrupt List

aka "Ralf Brown's Interrupt List", "RBIL"

The interrupt list is a comprehensive listing of interrupt calls, I/O ports, memory locations, far-call interfaces, and more for IBM PCs and compatible machines, both documented and undocumented. Nearly eight megabytes of information in ASCII text files!

System Requirements: a computer which can extract ZIP files and display plain vanilla ASCII text files. Some of the enclosed utilities are slightly pickier :-).

The following links point at the most current version of the x86/MS-DOS Interrupt List (Release 61, 16jul00). In Microsoft Internet Explorer, right-click on the link and select Save Target As; in Firefox, right-click on the link and select Save Link As; in Lynx, select Download while highlighting one of the links;

Note that people have found many creative ways of mis-spelling "interrupt", such as: interups, interrups, innterupt, interupts, interuppt, intterupt, interapt, interup, inturpt, interupt (the most common), inturrupt, and intrupt.

Contributed files
The following interrupt list-related files have been contributed by others:

Some people have reported trouble retrieving files from the above; if so, try old-fashioned FTP to get the interrupt list.

A number of people have converted some or all of the interrupt list files into HTML format, for example Marc Perkel and DJ Delorie. Note that the HTML conversions will often lag behind the current release. Please do not send me mail about any problems with the above Web sites, as I have no control over them.

The interrupt list has been [ Selected by PC Webopaedia ]

Open-Source Projects


The main object of my research since 1995, CMU-EBMT is a complete end-to-end example-based machine translation system, including word alignment, training, and parameter tuning. Feed it some parallel text to generate a translator.

Hosted on SourceForge as project "cmu-ebmt".


A ZIP-archive recovery program which also supports gzip files and zlib streams compressed with the DEFLATE algorithm. In addition to the usual capabilities of listing the members of a corrupted archive and extracting intact member files, ZipRec can also perform a partial recovery of corrupted members. For partially-recovered text files, it can additionally perform language-based reconstruction to infer a majority of the bytes which were not actually present in the uncorrupted part of the compressed data.

Hosted on SourceForge as project "ziprec".


A language-aware replacement for the standard Unix strings(1) utility, LA-Strings knows about dozens of character encodings and can be trained to identify the language of each string extracted, using an initial rough identification to determine which character encoding to extract. The current release comes with models for over 800 languages in over 2600 language/encoding pairs.

Hosted on SourceForge as project "la-strings".

A Python library wrapping the API for the Canvas LMS system, allowing you to retrieve rosters, update grades, compute class statistics, etc.

Hosted on GitHub as project "canvaslms".


A C++ program to find clusters of similar words in text.

Hosted on GitHub as project "wordclus".

Programming Libraries


A swapping replacement for the C runtime library's spawn..() functions. Swaps the program to disk, EMS, XMS, or raw extended memory, leaving less than 300 bytes in memory while the child program executes. [Download version 4.13] (12/12/92). This archive also includes a swapping replacement for the Turbo Pascal Exec() function.

System Requirements: Compatible 16-bit C compiler (known to work with Turbo/Borland C and MS C v6/7), or Turbo Pascal.


A function library to write self-highloading, removable TSRs in assembler. The TSRs automatically avoid conflicts and can be unloaded in any order (provided no non-AMIS TSR has hooked interrupts afterwards). You may download AMISLIB version 0.92 (117k), or just the AMIS v3.5 specification to which the TSRs created with AMISLIB conform.

System Requirements: DOS 2.0+, MASM-compatible assembler.


A function library to take advantage of the DESQview API (as well as portions of the QEMM private API). Includes complete source code, mainly in assembler, as well as precompiled libraries in all six major memory models. Freeware. Click to download version 1.72 (374k).

System Requirements: DESQview v2.0+ and a compatible compiler (Turbo C, MS C, probably other 16-bit compilers).



A small, fast, DESQview-aware terminal program with VT100/VT52/ANSI and AVATAR emulations, seamless Zmodem downloads, keyboard macros, scrollback, etc. Runs in only 64K. [Download version 3.46] (1/29/95).

System Requirements: MS/PC DOS 2.0 or higher, 64K available RAM, IBM-compatible serial port, MDA/HGC/CGA/EGA/VGA/+. File transfers require an external program such as PDZM or DSZ.


This package contains PCICFG, a program to display lots of information about the PCI-bus devices inside a computer. All device-specific data is stored in editable text files for ease of updates (submissions welcome!). [Download version 1.19] (125k, 10jan99). Check back here regularly for updates to the vendor/device ID list.

System Requirements: a computer with a PCI expansion bus.


A program for loading device drivers inside of DESQview windows. While DESQview v2.40+ includes an equivalent program, DVdevload uses much less memory, and includes a special small TSR to work around an incompatibility between device loaders and the 4DOS/NDOS shells running inside DESQview windows. [Download version 1.2] (11k).

System Requirements: DESQview 2.0 or higher.


A program for modifying the DESQview program information files (*.DVP) to limit the number of times a program may poll the keyboard for keystrokes before DESQview takes away its CPU time. Download DVPTAME here (3.2k).

System Requirements: DESQview v1.0+.


A set of programs for using two color SuperVGA cards in one PC. You can download the beta version 0.9 (19K). Includes a TSR for swapping between displays and blanking both screens when the system is not being used. By popular demand, the source code (52k) is now available as well (but it ain't pretty yet :-).

System Requirements: A PCI-bus computer with two PCI-bus VGA cards installed.


A small TSR to swap the CapsLock and Left Control keys, as well as the Esc and backquote/tilde keys. Uses only 64 bytes in a UMB. RBKEYSWP.ZIP is just 4K to download.

System Requirements: DOS 2.0+


Set the speed of an Intel Neptune motherboard chipset from the command line. Click to download RBSPEED1 now (6K).

System Requirements: Computer with an Intel Neptune chipset; may also work on Intel Saturn chipsets.

Obsolete Programs


A simple IDE for using Borland's Turbo compilers from Borland's Sprint word processor. Click to download SPTURBO now (10K).


DVKPOLL is a small shared program to limit the number of keyboard polls a program may make under DESQview.

Programs Written by Others

Various EEL code for Epsilon.
VT100-related text files, as well as a VT100-compatibility checker.

This page passes the WAVE Web Accessibility Evaluation Tool checks.
[Home Page] [Ralf's Papers] [Books] [Usage Statistics] [PGP Keys]
(Last updated 28-Feb-2018)