233 lines
14 KiB
HTML
233 lines
14 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Int 2D
|
|
</TITLE>
|
|
<META NAME="Description" CONTENT="
|
|
Int 2D - ALTERNATE MULTIPLEX INTERRUPT SPECIFICATION (AMIS) [v3.6] -
|
|
AH = multiplex number
|
|
AL = function
|
|
00h installation check
|
|
01h get private entry point
|
|
02h uninstall
|
|
03h request popup
|
|
04h determine chained interrupts
|
|
05h get hotkey list
|
|
06h get device-driver information
|
|
07h-0Fh reserved for future enhancements
|
|
">
|
|
<META NAME="robots" CONTENT="none">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFD0A0">
|
|
<center>
|
|
<h2>Int 2D
|
|
</h2>
|
|
</center><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-4213.htm" tppabs="http://www.ctyme.com/intr/rb-4213.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-4215.htm" tppabs="http://www.ctyme.com/intr/rb-4215.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<h3><font color=#C00040>ALTERNATE MULTIPLEX INTERRUPT SPECIFICATION (AMIS) [v3.6]</font></h3>
|
|
<PRE>
|
|
AH = multiplex number
|
|
AL = function
|
|
00h installation check
|
|
01h get private entry point
|
|
02h uninstall
|
|
03h request popup
|
|
04h determine chained interrupts
|
|
05h get hotkey list
|
|
06h get device-driver information
|
|
07h-0Fh reserved for future enhancements
|
|
<p><b>Return:</b><br>AL = 00h (not implemented)
|
|
other application-dependent.
|
|
Other registers vary by function (also see individual entries below)<br>
|
|
<p><b>Return:</b><br>Varies by function
|
|
</PRE>
|
|
<p><b>Notes:</b>
|
|
Programs should not use fixed multiplex numbers; rather, a program
|
|
should scan all multiplex numbers from 00h to FFh, remembering the
|
|
first unused multiplex in case the program is not yet installed.
|
|
For multiplex numbers which are in use, the program should compare
|
|
the first 16 bytes of the signature string to determine whether it
|
|
is already installed on that multiplex number. If not previously
|
|
installed, it should use the first free multiplex number..
|
|
Functions other than 00h are not valid unless a program is installed
|
|
on the selected multiplex number.
|
|
To be considered fully compliant with version 3.6 of the specification,
|
|
programs must implement at least functions 00h, 02h (no resident
|
|
uninstall code required), and 04h (return value 04h). TSRs that
|
|
provide hotkeys with which the user can activate them must also
|
|
implement function 05h. TSRs which provide DOS device drivers must
|
|
also implement function 06h. The absolute minimum fully-compliant
|
|
implementation has an overhead of 64 bytes (80 bytes with function
|
|
05h) plus 22 bytes per hooked interrupt (for the interrupt sharing
|
|
protocol header and hook list entry)..
|
|
The signature string and description may be used by memory mappers
|
|
to display the installed programs.
|
|
To be considered fully compliant, users of this specification must
|
|
adhere to the IBM interrupt sharing protocol <a href="rb-4214.htm#Table2568" tppabs="http://www.ctyme.com/intr/rb-4214.htm#Table2568">(see #02568)</a>, which will
|
|
permit removal of TSRs in arbitrary order and interrupt handler
|
|
reordering. All TSRs following this specification should be
|
|
removable unless they are loaded from CONFIG.SYS, though they need
|
|
not keep the code for removing themselves resident; it is acceptable
|
|
for a separate program to perform the interrupt unhooking and
|
|
memory-freeing steps of removal..
|
|
A sample public-domain implementation including example TSRs and
|
|
utility programs may be found in a separate package distributed as
|
|
AMISLnnn.ZIP (AMISL092.ZIP as of this writing)..
|
|
Please let me know if you choose to follow this proposal. The
|
|
signature and a list of the private API calls you use would be
|
|
appreciated, as well.
|
|
<p><b>See Also:</b>
|
|
INT 2D/AL=00h - INT 2D/AL=01h - INT 2D/AL=02h - INT 2D/AL=03h - INT 2D/AL=04h
|
|
<p><b>See Also:</b>
|
|
INT 2D/AL=05h - INT 2D/AL=06h - <a href="rb-4251.htm" tppabs="http://www.ctyme.com/intr/rb-4251.htm">INT 2F"NOTES"</a>
|
|
<PRE>
|
|
<p>
|
|
Format of interrupt sharing protocol interrupt handler entry point:
|
|
<a name=table2568></a>
|
|
Offset Size Description (Table 02568)
|
|
00h 2 BYTEs short jump to actual start of interrupt handler, immediately
|
|
following this data block (EBh 10h)
|
|
02h DWORD address of next handler in chain
|
|
06h WORD signature 424Bh
|
|
08h BYTE EOI flag
|
|
00h software interrupt or secondary hardware interrupt handler
|
|
80h primary hardware interrupt handler (will issue EOI to
|
|
interrupt controller)
|
|
09h 2 BYTEs short jump to hardware reset routine
|
|
must point at a valid FAR procedure (may be just RETF)
|
|
0Bh 7 BYTEs reserved (0) by IBM for future expansion
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
When chaining to the prior handler, the interrupt handler must perform
|
|
an indirect jump/call using the address at offset 02h in the
|
|
ISP header. This permits another AMIS TSR to hook itself into
|
|
the chain at a position other than as the first handler to receive
|
|
an interrupt.
|
|
<p><b>See Also:</b>
|
|
<a href="rb-8674.htm" tppabs="http://www.ctyme.com/intr/rb-8674.htm">INT F1/AH=01h"Common ISDN API"</a> - <a href="rb-8674.htm" tppabs="http://www.ctyme.com/intr/rb-8674.htm">INT F1/AH=06h"CAPI"</a> - #04068
|
|
<p>
|
|
<b>Category: <a href="cat-042.htm" tppabs="http://www.ctyme.com/intr/cat-042.htm">
|
|
TSR Libraries</a>
|
|
- <a href="int-2d-1.htm" tppabs="http://www.ctyme.com/intr/int-2D.htm">
|
|
Int 2Dh</a>
|
|
- <a href="alpha-a.htm" tppabs="http://www.ctyme.com/intr/alpha-a.htm">
|
|
A</a>
|
|
</b><p><p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-4213.htm" tppabs="http://www.ctyme.com/intr/rb-4213.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-4215.htm" tppabs="http://www.ctyme.com/intr/rb-4215.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
|
|
<!-- Bottom Link Start -->
|
|
|
|
<center>
|
|
|
|
<p><table border=1 bgcolor="#ffff99"><tr><td>
|
|
<table border=0 height=80>
|
|
<tr align=center><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">
|
|
<img src="tip.gif" tppabs="http://graphics.ctyme.com/gif/tip.gif" ALT="Sponsors" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">Shopping</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">
|
|
<img src="comment.gif" tppabs="http://graphics.ctyme.com/gif/comment.gif" ALT="Forum" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">Forum</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">
|
|
<img src="mail.gif" tppabs="http://graphics.ctyme.com/gif/mail.gif" ALT="email" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">EMail</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">
|
|
<img src="toc.gif" tppabs="http://graphics.ctyme.com/gif/toc.gif" ALT="Index" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">Index</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">
|
|
<img src="home.gif" tppabs="http://graphics.ctyme.com/gif/home.gif" ALT="Home" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">Home</a>
|
|
|
|
</td><td width="90">
|
|
|
|
<center>
|
|
<FORM ACTION="https://secure.paypal.com/cgi-bin/webscr" tppabs="https://secure.paypal.com/cgi-bin/webscr" METHOD="POST" traget="_blank">
|
|
<INPUT TYPE="hidden" NAME="cmd" VALUE="_xclick">
|
|
<INPUT TYPE="hidden" NAME="business" VALUE="marc@perkel.com">
|
|
<INPUT TYPE="hidden" NAME="return" VALUE="http://www.perkel.com">
|
|
<INPUT TYPE="hidden" NAME="item_name" VALUE="Donation To Support this Site">
|
|
<INPUT TYPE="hidden" NAME="no_intl" VALUE="1">
|
|
<INPUT TYPE="image" SRC="x-click-but7.gif" tppabs="http://images.paypal.com/images/x-click-but7.gif" vspace=9
|
|
NAME="submit" ALT="Make payments with PayPal - it's fast, free and secure!">
|
|
</FORM>
|
|
|
|
</td></tr></table></td></tr></table><p>
|
|
|
|
|
|
<center>
|
|
<p>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/hosting/index.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/hosting/index.htm'" tppabs="http://www.ctyme.com/hosting/index.htm" target="_blank">
|
|
<img src="ctymehost.gif" tppabs="http://graphics.ctyme.com/gif/ctymehost.gif"
|
|
border=3 height=60 width=468></a>
|
|
<p>
|
|
<!-- Ad End --->
|
|
|
|
</center>
|
|
<FORM ACTION="http://service.bfast.com/bfast/click" target="_blank">
|
|
<INPUT TYPE="hidden" NAME="siteid" VALUE="30472466" >
|
|
<INPUT TYPE="hidden" NAME="bfpage" VALUE="horizontal">
|
|
<INPUT TYPE="hidden" NAME="bfmid" VALUE="27253343" >
|
|
<INPUT TYPE="hidden" NAME="num" VALUE="30">
|
|
|
|
<table bgcolor=white border=3><tr><td>
|
|
<table bgcolor=white border=0>
|
|
<tr><td>
|
|
<IMG SRC="serve-bfmid=27253343&siteid=30472466&bfpage=horizontal.gif" tppabs="http://service.bfast.com/bfast/serve?bfmid=27253343&siteid=30472466&bfpage=horizontal" BORDER="0" WIDTH="1" HEIGHT="1" align=right NOSAVE >
|
|
<center><b>Search the web with Google</b></center>
|
|
</td></tr><tr><td>
|
|
<TABLE cellpadding=0 cellspacing=5 bgcolor="#FFFFFF">
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr><tr><td>
|
|
<IMG SRC="affiliate_logo.gif" tppabs="http://www.google.com/affiliates/affiliate_logo.gif" border="0" ALT="Google" align="center">
|
|
<INPUT TYPE=text name=q size=30 maxlength=255 value="">
|
|
<INPUT type=submit name=sa VALUE="Go">
|
|
</td></tr>
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr></TABLE>
|
|
</td></tr></table>
|
|
</tr></td></table>
|
|
</FORM>
|
|
|
|
</center>
|
|
|
|
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
|
|
<!-- Bottom Link End -->
|
|
|
|
</BODY>
|
|
</HTML>
|