395 lines
17 KiB
HTML
395 lines
17 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Int 78/AX=0001h
|
|
</TITLE>
|
|
<META NAME="Description" CONTENT="
|
|
Int 78/AX=0001h - HugeRealMode Driver - GET ENTRY POINT -
|
|
AX = 0001h
|
|
Return: ES:BX - far call entry point (see #03788,#03803)
|
|
SeeAlso: AX=0000h
|
|
(Table 03787)
|
|
Values for HugeRealMode Server error code:
|
|
00h successful
|
|
01h unknown function
|
|
02h A20 disabled
|
|
03h A20 enabled
|
|
">
|
|
<META NAME="robots" CONTENT="none">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFD0A0">
|
|
<center>
|
|
<h2>Int 78/AX=0001h
|
|
</h2>
|
|
</center><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-7814.htm" tppabs="http://www.ctyme.com/intr/rb-7814.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-7816.htm" tppabs="http://www.ctyme.com/intr/rb-7816.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>HugeRealMode Driver - GET ENTRY POINT</font></h3>
|
|
<PRE>
|
|
AX = 0001h<br>
|
|
<p><b>Return:</b><br>ES:BX -> far call entry point (see #03788,#03803)
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
<a href="rb-7814.htm" tppabs="http://www.ctyme.com/intr/rb-7814.htm">AX=0000h</a>
|
|
<PRE>
|
|
<p>
|
|
<a name=table3787></a>
|
|
(Table 03787)
|
|
Values for HugeRealMode Server error code:
|
|
00h successful
|
|
01h unknown function
|
|
02h A20 disabled
|
|
03h A20 enabled
|
|
04h memory allocation error
|
|
05h memory not fixeable (LOCK)
|
|
06h memory not deallocaable
|
|
07h memory not moveable (UNLOCK)
|
|
08h change in memory allocation size not possible
|
|
09h file error (with .XMF-file)
|
|
0Ah memory error (with .XMF-file)
|
|
0Bh unknown procedure (currently Turbo Pascal unit only)
|
|
<p>
|
|
<a name=table3788></a>
|
|
(Table 03788)
|
|
Call HugeRealMode Server "Enable A20" function with:.
|
|
AL = 00h<br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
The HugeRealMode Server requires an XMS-driver like HIMEM.SYS loaded
|
|
before HUGEREAL (for XMS-memory allocation and A20 control). It
|
|
utilizes some undocumented 386+ features to enable 4G code and data
|
|
segments (flat memory model) in the CPUs real-mode. It is not
|
|
compatible with V86-mode (as with most EMM386). For maximum speed
|
|
and compatibility with DOS it uses a two stage interrupt model
|
|
<a href="rb-7815.htm#Table3791" tppabs="http://www.ctyme.com/intr/rb-7815.htm#Table3791">(see #03791)</a>
|
|
<p><b>See Also:</b>
|
|
#03789 - #03790 - #03791
|
|
<PRE>
|
|
<p>
|
|
<a name=table3789></a>
|
|
(Table 03789)
|
|
Call HugeRealMode Server "Disable A20" function with:.
|
|
AL = 01h<br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03788 - #03790
|
|
<PRE>
|
|
<p>
|
|
<a name=table3790></a>
|
|
(Table 03790)
|
|
Call HugeRealMode Server "Query A20 State" function with:.
|
|
AL = 02h<br>
|
|
<p><b>Return:</b><br>AX = A20 state (0000h disabled, 0001h enabled)
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03788 - #03789
|
|
<PRE>
|
|
<p>
|
|
<a name=table3791></a>
|
|
(Table 03791)
|
|
Call HugeRealMode Server "Enable Two-Stage Interrupt Model" function with:.
|
|
AL = 03h<br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
</PRE>
|
|
<p><b>Notes:</b>
|
|
If the two stage interrupt model is disabled, the IP must stay below
|
|
1MB, because the high word of EIP is not saved correctly by the
|
|
standard interrupt management in real mode. Routines in extended
|
|
memory may only be called with interrupts disabled (only usable for
|
|
very short routines)..
|
|
If the two stage interupt model is enabled, these conventions are not
|
|
required. The outer (transparent) ISRs save the higher word of EIP
|
|
<PRE>
|
|
<p><b>in the high word of CR3 (possible modification:</b><br>In memory, if this
|
|
is not safe) and then invoke the standard ISRs..
|
|
Because of this handling, one should use pseudo segmented code even in
|
|
extended memory (64K blocks located on 64K boundaries) to avoid the
|
|
misalignment of the saved EIP (in CR3). Another way is to track and
|
|
realign CR3 each time when jumping over a 64K boundary in extended
|
|
memory
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03788 - #03792
|
|
<PRE>
|
|
<p>
|
|
<a name=table3792></a>
|
|
(Table 03792)
|
|
Call HugeRealMode Server "Disable Two-Stage Interrupt Model" function with:.
|
|
AL = 04h<br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03788 - #03791
|
|
<PRE>
|
|
<p>
|
|
<a name=table3793></a>
|
|
(Table 03793)
|
|
Call HugeRealMode Server "Get Segment Address Of Server-Management Range" with:.
|
|
AL = 05h<br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
ES = segment address
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03803
|
|
<PRE>
|
|
<p>
|
|
<a name=table3794></a>
|
|
(Table 03794)
|
|
Call HugeRealMode Server "Allocate Memory" function with:.
|
|
AL = 06h.
|
|
DX = length in KB<br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
DX = handle
|
|
EBX = start address of allocated block
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03795 - #03796
|
|
<PRE>
|
|
<p>
|
|
<a name=table3795></a>
|
|
(Table 03795)
|
|
Call HugeRealMode Server "Deallocate Memory" function with:.
|
|
AL = 07h.
|
|
DX = handle<br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03794 - #03796
|
|
<PRE>
|
|
<p>
|
|
<a name=table3796></a>
|
|
(Table 03796)
|
|
Call HugeRealMode Server "Modify Allocated Memory Size" function with:.
|
|
AL = 08h.
|
|
DX = handle.
|
|
BX = new size in KB<br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
EBX = new address
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03794 - #03795
|
|
<PRE>
|
|
<p>
|
|
<a name=table3797></a>
|
|
(Table 03797)
|
|
Call HugeRealMode Server "Load .XMF-file" function with:.
|
|
AL = 09h.
|
|
ES:BX -> filename <a href="rb-7815.htm#Table3798" tppabs="http://www.ctyme.com/intr/rb-7815.htm#Table3798">(see #03798)</a><br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
ECX = target address
|
|
</PRE>
|
|
<p><b>Notes:</b>
|
|
Memory must be allocated before loading.
|
|
.XMF file format (eXtended Memory executable File format) is supported
|
|
by the HugeRealMode server for easier handling of XMS-code..
|
|
The utility CONFXMF converts .OBJ-files (.COM 'tiny' model) to
|
|
.XMF-format
|
|
<p><b>See Also:</b>
|
|
#03794
|
|
<PRE>
|
|
<p>
|
|
Format of .XMF program file header:
|
|
<a name=table3798></a>
|
|
Offset Size Description (Table 03798)
|
|
00h DWORD signature "XMF_"
|
|
04h WORD length of programs code
|
|
06h WORD count of 32bit addresses to relocate
|
|
08h WORD offset to code start (releative to file start) <a href="rb-7815.htm#Table3799" tppabs="http://www.ctyme.com/intr/rb-7815.htm#Table3799">(see #03799)</a>
|
|
0Ah WORD relocation table
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
Each word contains a 16bit address, where a relocation has to be
|
|
performed
|
|
<p><b>See Also:</b>
|
|
#03797 - #03799
|
|
<PRE>
|
|
<p>
|
|
Format of .XMF-file code header:
|
|
<a name=table3799></a>
|
|
Offset Size Description (Table 03799)
|
|
00h WORD count of exported functions
|
|
02h N PWORDs 48bit pointers (16bit segment+32bit offset) to each function
|
|
(16bit segment is always zero)
|
|
var start of program's code
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03797 - #03798
|
|
<PRE>
|
|
<p>
|
|
<a name=table3800></a>
|
|
(Table 03800)
|
|
Call HugeRealMode Server "Set Segment Limits" function with:.
|
|
AL = 0Ah.
|
|
BL = segment limits <a href="rb-7815.htm#Table3801" tppabs="http://www.ctyme.com/intr/rb-7815.htm#Table3801">(see #03801)</a><br>
|
|
<p><b>Return:</b><br>AX = error code (see #03787)
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03793
|
|
<PRE>
|
|
<p>
|
|
Bitfields for HugeRealMode Server segment limits:
|
|
<a name=table3801></a>
|
|
Bit(s) Description (Table 03801)
|
|
<p><b>7 CS size:</b><br>1=4GB, 0=64KB
|
|
6-5 not used
|
|
<p><b>4 SS size:</b><br>1=4GB, 0=64KB
|
|
3 GS size
|
|
2 FS size
|
|
1 ES size
|
|
0 DS size
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03800
|
|
<PRE>
|
|
<p>
|
|
<a name=table3802></a>
|
|
(Table 03802)
|
|
Call HugeRealMode Server "Transfer Memory From DOS To XMS" function with:.
|
|
AL = 0Bh.
|
|
ES:SI = source address.
|
|
EDI = target address.
|
|
ECX = length<br>
|
|
<p><b>Return:</b><br>AX = error code
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03803
|
|
<PRE>
|
|
<p>
|
|
<a name=table3803></a>
|
|
(Table 03803)
|
|
Call HugeRealMode Server "Transfer Memory From XMS To DOS" function with:.
|
|
AL = 0Ch.
|
|
ESI = source address.
|
|
ES:DI = target address.
|
|
ECX = length<br>
|
|
<p><b>Return:</b><br>AX = error code
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#03802
|
|
<p>
|
|
<b>Category: <a href="cat-009.htm" tppabs="http://www.ctyme.com/intr/cat-009.htm">
|
|
DOS Extenders</a>
|
|
- <a href="int-78.htm" tppabs="http://www.ctyme.com/intr/int-78.htm">
|
|
Int 78h</a>
|
|
- <a href="alpha-h.htm" tppabs="http://www.ctyme.com/intr/alpha-h.htm">
|
|
H</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-7814.htm" tppabs="http://www.ctyme.com/intr/rb-7814.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-7816.htm" tppabs="http://www.ctyme.com/intr/rb-7816.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>
|