Ralf Brown's Interrupt List

Last updated

Ralf Brown's Interrupt List (aka RBIL, x86 Interrupt List, MS-DOS Interrupt List or INTER) is a comprehensive list of interrupts, calls, hooks, interfaces, data structures, CMOS settings, memory and port addresses, as well as processor opcodes for x86 machines from the 1981 IBM PC up to 2000 (including many clones), [1] [2] [nb 1] most of it still applying to IBM PC compatibles today. It also lists some special function registers for the NEC V25 and V35 microcontrollers.

Contents

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. [3] [4] [5] 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. [3] [6]

It has been a widely used resource by IBM PC system developers, [7] [4] [5] analysts, [8] as well as application programmers in the pre-Windows era. [3] [6] Parts of the compiled information have been used for and in the creation of several books on systems programming, [3] [6] [9] [10] [11] [12] some of which have also been translated into Chinese, [13] [14] [15] [6] Japanese [3] and Russian. [16] [17] As such the compilation has proven to be an important resource in developing various closed and open source operating systems, including Linux and FreeDOS. [18] 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 (and some 55 of them even more than once). [1] The original list was created in January 1985 by Janet Jack and others, [19] and, named "Interrupt List for MS-DOS", it was subsequently maintained and mailed to requestors on Usenet by Ross M. Greenberg until 1986. [20] [21] [22] Since October 1987 it is maintained by Ralf D. Brown, [23] a researcher at Carnegie Mellon University's Language Technologies Institute. [3] [6] [24] 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 Douglas Howard Walker, Wolfgang Lierz and Tamura Jones became major contributors to the project, providing information all over the list. [1] 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 (by Wim Osterholt and Matthias R. Paul), BIOS CMOS memory contents (by Atley Padgett Peterson), processor opcodes (by Alex V. Potemkin) and bugs (by Harald Feldmann). [1] [nb 1] 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. [25] [26] [27]

Originally, the list was distributed in an archive named INTERRUP in various compression formats as well as in the form of diffs. The distribution file name was changed to include a version in the form INTERnyy (with n = issue number, and yy = 2-digit release year) in 1988. In mid 1989 the distribution settled to only use ZIP compression. [28] 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 (with rr = revision starting with 26 for version 91.3, and p = part indicator of the package starting with letter A). Officially named "MS-DOS Interrupt List" and "x86 Interrupt List" (abbreviated as "INTER") by its maintainer, the community coined the unofficial name "Ralf Brown's Interrupt List" (abbreviated as "RBIL") 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 9600 entries plus about 5400 tables, [1] fully cross linked, which would result in more than 3700 pages (at 60 lines per page) of condensed information when printed. Of this, the interrupt list itself makes up some 5.5 MB for more than 2500 pages printed. [nb 1]

While the project is not officially abandoned and the website is still maintained (as of 2023), 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. [29] New releases were planned for at several times in 2001 [30] [31] and 2002, [32] [33] [34] [35] [26] [27] 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. [31] [36] [37] [33] [38] [39] [40] [41] [26] [42] [43] [44] [45]

See also

Notes

  1. 1 2 3 Contents of INTER release 61 (as formatted ASCII text):
    INTERRUP.LST  5.700.679 bytes,  151.173 lines FARCALL.LST      81.446 bytes,    2.178 lines MEMORY.LST      144.149 bytes,    3.606 lines PORTS.LST       879.133 bytes,   23.893 lines CMOS.LST         77.175 bytes,    2.015 lines I2C.LST         141.061 bytes,    3.563 lines OPCODES.LST     624.174 bytes,   33.936 lines MSR.LST          81.345 bytes,    2.190 lines SMM.LST           7.939 bytes,      291 lines 86BUGS.LST      119.004 bytes,    3.004 lines                7.856.105 bytes,  225.849 lines

Related Research Articles

<span class="mw-page-title-main">DR-DOS</span> MSDOS-like operating system

DR-DOS is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS that attempted to be compatible with IBM PC DOS and MS-DOS.

Bytecode is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references that encode the result of compiler parsing and performing semantic analysis of things like type, scope, and nesting depths of program objects.

<span class="mw-page-title-main">A20 line</span> Signal in the system bus of an x86-based computer system

The A20, or address line 20, is one of the electrical lines that make up the system bus of an x86-based computer system. The A20 line in particular is used to transmit the 21st bit on the address bus.

<span class="mw-page-title-main">High memory area</span> RAM area of an IBM AT or compatible computer

In DOS memory management, the high memory area (HMA) is the RAM area consisting of the first 65520 bytes above the one megabyte in an IBM AT or compatible computer.

In compiler theory, dead-code elimination is a compiler optimization to remove dead code. Removing such code has several benefits: it shrinks program size, an important consideration in some contexts, it reduces resource usage such as the number of bytes to be transferred and it allows the running program to avoid executing irrelevant operations, which reduces its running time. It can also enable further optimizations by simplifying program structure. Dead code includes code that can never be executed, and code that only affects dead variables, that is, irrelevant to the program.

Star Trek is the code name that was given to a secret prototype project, running a port of Macintosh System 7 and its applications on Intel-compatible x86 personal computers. The project, starting in February 1992, was conceived in collaboration between Apple Computer, who provided the majority of engineers, and Novell, who at the time was one of the leaders of cross-platform file-servers. The plan was that Novell would market the resulting OS as a challenge to Microsoft Windows, but the project was discontinued in 1993 and never released, although components were reused in other projects. The project was named after the Star Trek science fiction franchise with the slogan "To boldly go where no Mac has gone before".

A fat binary is a computer executable program or library which has been expanded with code native to multiple instruction sets which can consequently be run on multiple processor types. This results in a file larger than a normal one-architecture binary file, thus the name.

In x86 computing, unreal mode, also big real mode, flat real mode, or voodoo mode is a variant of real mode, in which one or more segment descriptors has been loaded with non-standard values, like 32-bit limits allowing access to the entire memory. Contrary to its name, it is not a separate addressing mode that the x86 processors can operate in. It is used in the 80286 and later x86 processors.

The Program Segment Prefix (PSP) is a data structure used in DOS systems to store the state of a program. It resembles the Zero Page in the CP/M operating system. The PSP has the following structure:

In computing, the BIOS parameter block, often shortened to BPB, is a data structure in the volume boot record (VBR) describing the physical layout of a data storage volume. On partitioned devices, such as hard disks, the BPB describes the volume partition, whereas, on unpartitioned devices, such as floppy disks, it describes the entire medium. A basic BPB can appear and be used on any partition, including floppy disks where its presence is often necessary; however, certain filesystems also make use of it in describing basic filesystem structures. Filesystems making use of a BIOS parameter block include FAT12, FAT16, FAT32, HPFS, and NTFS. Due to different types of fields and the amount of data they contain, the length of the BPB is different for FAT16, FAT32, and NTFS boot sectors. Combined with the 11-byte data structure at the very start of volume boot records immediately preceding the BPB or EBPB, this is also called FDC descriptor or extended FDC descriptor in ECMA-107 or ISO/IEC 9293.

<span class="mw-page-title-main">ViewMAX</span> File manager

ViewMAX is a CUA-compliant file manager supplied with DR DOS versions 5.0 and 6.0. It is based on a cut-down runtime version of Digital Research's GEM/3 graphical user interface modified to run only a single statically built application, the ViewMAX desktop. Support for some unneeded functions has been removed whilst some new functions were added at the same time. Nevertheless, the systems remained close enough for ViewMAX to recognize GEM desktop accessories automatically and to allow some native GEM applications to be run inside the ViewMAX environment. Many display drivers for GEM 3.xx could be used by ViewMAX as well, enabling ViewMAX to be used with non-standard display adapters and higher resolutions than possible using the default set of ViewMAX drivers. Also, Digital Research's SID86, the symbolic instruction debugger that shipped with DR DOS 3.xx and provided dedicated functions to debug GEM applications, could be used for ViewMAX as well.

Long filename (LFN) support is Microsoft's backward-compatible extension of the 8.3 filename naming scheme used in MS-DOS. Long filenames can be more descriptive, including longer filename extensions such as .jpeg, .tiff, and .html that are common on other operating systems, rather than specialized shortened names such as .jpg, .tif, or .htm. The standard has been common with File Allocation Table (FAT) filesystems since its first implementation in Windows NT 3.5 of 1994.

Remote Initial Program Load is a protocol for starting a computer and loading its operating system from a server via a network. Such a server runs a network operating system such as LAN Manager, LAN Server, Windows NT Server, Novell NetWare, LANtastic, Solaris or Linux.

.sys is a filename extension used in MS-DOS applications and Microsoft Windows operating systems. They are system files that contain device drivers or hardware configurations for the system.

Computer hardware or software is said to be bug compatible if it exactly replicates an undesirable feature of a previous version. The phrase is found in the Jargon File.

The DOS API is an API which originated with 86-DOS and is used in MS-DOS/PC DOS and other DOS-compatible operating systems. Most calls to the DOS API are invoked using software interrupt 21h. By calling INT 21h with a subfunction number in the AH processor register and other parameters in other registers, various DOS services can be invoked. These include handling keyboard input, video output, disk file access, program execution, memory allocation, and various other activities. In the late 1980s, DOS extenders along with the DOS Protected Mode Interface (DPMI) allow the programs to run in either 16-bit or 32-bit protected mode and still have access to the DOS API.

A master boot record (MBR) is a type of boot sector in the first block of partitioned computer mass storage devices like fixed disks or removable drives intended for use with IBM PC-compatible systems and beyond. The concept of MBRs was publicly introduced in 1983 with PC DOS 2.0.

DOS Protected Mode Services (DPMS) is a set of extended DOS memory management services to allow DPMS-enabled DOS drivers to load and execute in extended memory and protected mode.

Control-Alt-Delete is a computer keyboard command on IBM PC compatible computers, invoked by pressing the Delete key while holding the Control and Alt keys: Ctrl+Alt+Delete. The function of the key combination differs depending on the context but it generally interrupts or facilitates interrupting a function. For instance, in pre-boot environment or in MS-DOS, Windows 3.0 and earlier versions of Windows or OS/2, the key combination reboots the computer. Starting with Windows 95, the key combination invokes a task manager or security related component that facilitates ending a Windows session or killing a frozen application.

In computing, a hardware code page (HWCP) refers to a code page supported natively by a hardware device such as a display adapter or printer. The glyphs to present the characters are stored in the alphanumeric character generator's resident read-only memory and are thus not user-changeable. They are available for use by the system without having to load any font definitions into the device first. Startup messages issued by a PC's System BIOS or displayed by an operating system before initializing its own code page switching logic and font management and before switching to graphics mode are displayed in a computer's default hardware code page.

References

  1. 1 2 3 4 5 Brown, Ralf D. [at Wikidata], ed. (2002-12-29) [2000-07-17, 1985]. "The x86 Interrupt List" (61 ed.). Archived from the original on 2017-08-22. Retrieved 2011-10-14.
  2. Stiller, Andreas; Paul, Matthias R. (1996-05-12). "Prozessorgeflüster". c't – magazin für computertechnik . Trends & News / aktuell - Prozessoren (in German). Vol. 1996, no. 6. Verlag Heinz Heise GmbH & Co KG. p. 20. ISSN   0724-8679. Archived from the original on 2017-08-28. Retrieved 2017-08-28.
  3. 1 2 3 4 5 6 Schulman, Andrew; Brown, Ralf D. [at Wikidata]; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Addison Wesley. ISBN   978-0-201-63287-3. ark:/13960/t5z646257. Retrieved 2022-11-26. (xviii+856+vi pages, 3.5-inch floppy) Errata: (NB. This includes a repackaged version of INTER36. For the first edition see here. A Japanese translation exists under ISBN   4-89052-629-3.)
  4. 1 2 Vias, John P., SNOOPER documentation (SNOOPER.DOC), 1.07, An enormous listing of DOS and BIOS interrupt calls, many undocumented and program-specific. Quite simply, some of Snooper's reports wouldn't be there without it. Very useful in that it reports bugs and incompatibilities books rarely mention. And it's free!
  5. 1 2 Davis, Robert Curtis, TBONES07.DOC, Ralf Brown maintains an astounding file which is chock-full of detailed, absolutely-indispensable information for DOS programmers on Hardware, BIOS, DOS, and other interrupts. […] You should not be without this file, which is widely-known as "Ralf Brown's Interrupt List". Ask about it. You will find it."
  6. 1 2 3 4 5 Schulman, Andrew; Michels, Raymond J.; Kyle, Jim; Paterson, Tim; Maxey, David; Brown, Ralf D. [at Wikidata] (1990). Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures (1 ed.). Addison Wesley. ISBN   978-0-201-57064-9. ark:/13960/t14n8vs6f. Retrieved 2022-11-26. (xviii+694+viii pages, two 5.25-inch floppies) Errata: (NB. Won a Jolt Productivity Award. Contains a hypertext version of INTER490 aka INTER22. A Chinese translation exist under ISBN   7-302-01071-4. A second edition is available as well.)
  7. "TURBO C: INTER.ARC". Turbo Resources. Turbo Technix - the Borland Language Journal. 1 (5). Scotts Valley, California, USA: Borland Communications / Borland International, Inc.: 157–158. July–August 1988. ISSN   0893-827X. OCLC   15650918. ark:/13960/s280w71575k. Retrieved 2023-06-23. p. 157: 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. (NB. About the 1988-01-30 version (73728 bytes) of the interrupt list.)
  8. Szőr, Péter (February 2005). "15.2.2 Knowledge Base". The Art of Computer Virus Research and Defense (1 ed.). Symantec Press / Pearson Education. p. 690. ISBN   0-67233390-2. LCCN   2004114972. Archived from the original on 2020-03-06. Retrieved 2020-03-06. In the past, the Ralf Brown interrupt list was the Bible of DOS virus analysis.{{cite book}}: |work= ignored (help)
  9. Brown, Ralf D. [at Wikidata]; Kyle, Jim (January 1994). PC Interrupts: A Programmer's Reference to BIOS, DOS, and Third-Party Calls (2 ed.). Addison Wesley. ISBN   0-201-62485-0. (1210 pages + floppy) Errata: (NB. This corresponds to the non-networking portions of INTER36 with some additions from INTER37. See here for the first edition.)
  10. Brown, Ralf D. [at Wikidata]; Kyle, Jim (1991). PC Interrupts: A Programmer's Reference to BIOS, DOS, and Third-Party Calls (1 ed.). Addison Wesley. ISBN   0-201-57797-6. Errata: (NB. A Russian translation of this edition is available in two volumes: 1, 2. A second edition is available as well.)
  11. Brown, Ralf D. [at Wikidata] (March 1994). Network Interrupts: A Programmer's Reference to Network APIs (1st ed.). Addison Wesley. ISBN   0-201-62644-6. (730 pages) Errata: (NB. This corresponds to the networking portions of INTER37 with some additions from INTER38.)
  12. Brown, Ralf D. [at Wikidata]; Kyle, Jim (1994-11-01). Uninterrupted Interrupts: A programmer's CD-ROM reference to network APIs and to BIOS, DOS, and third-party calls (CD-ROM). Addison Wesley. ISBN   0-201-40966-6. (NB. The CD-ROM contains the full text of both "PC Interrupts" (second edition) and "Network Interrupts", updated to include information added through INTER42.)
  13. 布朗 (1992). PC zhōngduàn fúwù cháng shì yìngyòng ruǎntǐ jièmiàn hūjiào dàquánPC中斷服務常式應用軟體介面呼叫大全[PC interrupt services and application program interfaces: INT 00h–1Fh] (in Chinese). Vol. 1 (1 ed.). 儒林出版. ISBN   957-652-272-2. (516 pages) (NB. This translation of INTER26 is part of a three-volume set: 2, 3.)
  14. 布朗 (1992). PC zhōngduàn fúwù cháng shì yìngyòng ruǎntǐ jièmiàn hūjiào dàquán (zuòyè xìtǒng piān)PC中斷服務常式應用軟體介面呼叫大全 (作業系統篇)[PC interrupt services and application program interfaces (Operating system entries): INT 20h–30h] (in Chinese). Vol. 2 (1 ed.). 儒林. ISBN   957-652-271-4. (704 pages) (NB. This translation of INTER26 is part of a three-volume set: 1, 3.)
  15. 布朗 (1992). PC zhōngduàn fúwù cháng shì yìngyòng ruǎntǐ jièmiàn hūjiào dàquán (gōngyòng chéngshì piān)PC中斷服務常式應用軟體介面呼叫大全 (公用程式篇)[PC interrupt services and application program interfaces (Utilities): INT 31h–FFh] (in Chinese). Vol. 3 (1 ed.). 儒林. ISBN   957-652-261-7. (488 pages) (NB. This translation of INTER26 is part of a three-volume set: 1, 2.)
  16. Brown, Ralf D. [at Wikidata]; Kyle, Jim (1994). Spravochnik po preryvaniyam dlya IBM PC: V 2 t. T.1Справочник по прерываниям для IBM РС: В 2 т. Т.1.[Interrupt handbook for IBM PCs] (in Russian). Vol. 1 (1 ed.). ISBN   5-03-002989-3. (NB. This translation of the first edition of "PC Interrupts" is part of a two-volume set.)
  17. Brown, Ralf D. [at Wikidata]; Kyle, Jim (1994). Spravochnik po preryvaniyam dlya IBM PC: V 2 t. T.2Справочник по прерываниям для IBM РС: В 2 т. Т.2.[Interrupt handbook for IBM PCs] (in Russian). Vol. 2 (1 ed.). ISBN   5-03-002990-7. (NB. This translation of the first edition of "PC Interrupts" is part of a two-volume set.)
  18. Hall, Jim (2002-03-25). "The past, present, and future of the FreeDOS Project". Archived from the original on 2017-08-22. Retrieved 2015-01-23.
  19. Jack, Janet; Weaver Jr., John; Cooper, John; Gilbrech, Skip; Kyle, Jim; Jack, Bob (April 1985) [January 1985]. "Interrupt Structure". Archived from the original on 2017-08-24. Retrieved 2017-08-24.
  20. Greenberg, Ross Matthew (1985-07-30). "List of DOS Interrupts (Interrupt List for MS-DOS (2.xx only - With some notes on DOS 3.xx))". Newsgroup:  net.micro.pc. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  21. Greenberg, Ross Matthew (1985-07-30). "New DOS Interrupt List Posted". Newsgroup:  net.micro.pc. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  22. Greenberg, Ross Matthew (1986-03-10). "Re: Help with SWITCHAR". Newsgroup:  net.micro.pc. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  23. Brown, Ralf D. [at Wikidata], ed. (November 1987) [October 1987]. "Interrupt List (INTERRUP.TXT)". Archived from the original on 2017-09-01. Retrieved 2017-09-01.
  24. Brown, Ralf D. [at Wikidata] (2008-04-04). "Ralf Brown's Home Page". Archived from the original on 2017-08-22. Retrieved 2011-10-14.
  25. Brown, Ralf D. [at Wikidata] (1989-04-07). "Call for Information". Newsgroup:  comp.sys.ibm.pc. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  26. 1 2 3 Paul, Matthias R. (2002-06-30). "Identifying various IBM machines for RBIL". Newsgroup:  comp.sys.ibm.ps2.hardware. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  27. 1 2 Paul, Matthias R. (2002-02-21). "GEOS/NDO info for RBIL62?". Newsgroup:  comp.os.geos.programmer. Archived from the original on 2019-04-20. Retrieved 2019-04-20.
  28. Brown, Ralf D. [at Wikidata] (1989-04-30). "Interrupt list diffs INTERRUP.1ST v89.1 -> v89.2". Archived from the original on 2017-09-02. Retrieved 2017-09-01.
  29. Paul, Matthias R. (2002-07-01). "Re: Tastatur-Problem" (in German). Newsgroup:  de.comp.lang.assembler.x86. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  30. Paul, Matthias R. (2001-05-27). "Re: A real or a RAM disk?". fd-dev. Topica. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  31. 1 2 Paul, Matthias R. (2001-10-25). "Re: Change \ to / in DOS". Newsgroup:  alt.msdos.programmer. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  32. Paul, Matthias R. (2002-02-19). "[fd-dev] FYI: RBIL62 schedule / Contributing to Ralf Brown's Interrupt List". freedos-dev. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  33. 1 2 Paul, Matthias R. (2002-04-03). "[fd-dev] Ctrl+Alt+Del". freedos-dev. Archived from the original on 2017-09-09. Retrieved 2017-09-09.
  34. Paul, Matthias R. (2002-05-15). "CP/M-86 info and ancient PC hardware stuff for RBIL62?". Newsgroup:  comp.os.cpm. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  35. Paul, Matthias R. (2002-10-05). "Re: Remote filesystem implementation in DOS". Newsgroup:  comp.os.msdos.programmer. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  36. Paul, Matthias R. (2001-08-18). "Re: [fd-dev] On GRAFTABL and DISPLAY.SYS (Was: Changing codepages in FreeDOS)". freedos-dev. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  37. Paul, Matthias R. (2002-09-06). "Re: Reading Ctrl, Alt and Shifts..." Newsgroup:  alt.lang.asm. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  38. Paul, Matthias R. (2002-08-13). "Re: Suche freien Speicherbereich unterhalb von 1 MB, der nicht von OS überschrieben wird" (in German). Newsgroup:  de.comp.lang.assembler.x86. Archived from the original on 2017-09-04. Retrieved 2017-09-03.
  39. Paul, Matthias R. (2002-10-07). "Re: Run a COM file". Newsgroup:  alt.msdos.programmer. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  40. Paul, Matthias R. (2002-10-07). "Re: masm .com (PSP) related trouble". Newsgroup:  alt.lang.asm. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  41. Paul, Matthias R. (2002-10-09). "Re: COM style files larger than 64 Kb?". Newsgroup:  alt.msdos.programmer. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  42. Paul, Matthias R. (2002-05-14). "Re: Probleme mit INT 9h" (in German). Newsgroup:  de.comp.lang.assembler.x86. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  43. Paul, Matthias R. (2002-11-21). "Re: [fd-dev] Codepage IDs". freedos-dev. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  44. Paul, Matthias R. (2002-09-05). "Re: [fd-dev] NLS and lowercase". freedos-dev. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  45. Paul, Matthias R. (2002-04-01). "Fix for CauseWay DOS extender under DR-DOS 7.0x EMM386.EXE". Newsgroup:  comp.os.msdos.programmer. Archived from the original on 2018-09-19. Retrieved 2018-09-19. (NB. Details some private DPMI/VCPI functions of DR-DOS EMM386.)