Category : Miscellaneous Language Source Code
Archive   : ALTMPX35.ZIP
Filename : MULTIPLX.1ST

 
Output of file : MULTIPLX.1ST contained in archive : ALTMPX35.ZIP
ALTERNATE MULTIPLEX INTERRUPT SPECIFICATION

The other file in this archive, ALTMPX.TXT, contains a proposal for an
alternative multiplex interrupt to supplement INT 2Fh.

The existing multiplex interrupt suffers from a number of problems.
First, there is no real standard for the installation check; although
the convention is to use subfuntion 00h as the installation check and
return AL=FFh if installed, many programs ignore this convention or
destroy additional registers which the caller may expect to remain
unchanged. Second, and more seriously, there is no way to determine
*which* program has hooked a particular multiplex number, though there
are a number of ad hoc solutions attempting to address the problem. As
the number of programs using INT 2Fh grows, the number of conflicts
between programs using the same multiplex number increases; with no
standardized method for determining the actual user of a multiplex
number, it becomes likely that a program will issue INT 2Fh calls which
are actually processed by a different (unexpected) program, leading to
unexpected or undesired results. Finally, a number of systems make very
frequent calls to INT 2Fh and are thus slowed by the increasing length
of the INT 2Fh chain; for example, network redirectors using INT
2Fh/AH=11h, CD-ROMs using INT 2Fh/AH=15h, and DESQview using INT
2Fh/AH=DEh. Offloading many of the current INT 2Fh users onto an
alternate interrupt will increase the performance of those programs.

The alternate multiplex interrupt proposal addresses these problems by
providing a standardized installation check and standardized method for
determining the user of a multiplex number, and providing a standardized
method for callers to determine an entry point with which to bypass the
interrupt chain if performance is important. This installation check
will allow up to 256 arbitrary TSRs following the specification to be
loaded simultaneously without conflicts, more than enough for the
foreseeable future. Since the programs following this proposal will not
be using INT 2Fh for their programming interface, the third problem
outlined above is also addressed. Finally, the alternate multiplex
interrupt specification has been tailored to minimize the amount of code
and data required in the resident portion of the TSR; a minimal
implementation requires less than 80 bytes while a full implementation
will use an estimated 350-500 bytes.


Ralf Brown [valid until November 1, 1993]
813 Copeland Way, Suite 26
Pittsburgh, PA 15232

[email protected]
Ralf Brown 1:129/26.1


  3 Responses to “Category : Miscellaneous Language Source Code
Archive   : ALTMPX35.ZIP
Filename : MULTIPLX.1ST

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/