256 lines
14 KiB
HTML
256 lines
14 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Int 2F/AX=4A12h/CX=5354h
|
|
</TITLE>
|
|
<META NAME="Description" CONTENT="
|
|
Int 2F/AX=4A12h/CX=5354h - Stacker 4 LZS Compression Interface (LZSAPI) -
|
|
AX = 4A12h
|
|
CX = 5354h (ST)
|
|
DX = 4143h (AC)
|
|
Return: AX = 4F4Bh (OK) if installed
|
|
CX = 7374h (st) if installed
|
|
DX = 6163h (ac) if installed
|
|
ES:DI - entry point in LZSAPI server (usually, driver
|
|
STACKER.COM) containing far address of an actual
|
|
LZSINFO structure (see #02808)
|
|
SeeAlso: AX=4A12h/CX=4D52h,INT 25/AX=CDCDh
|
|
">
|
|
<META NAME="robots" CONTENT="none">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFD0A0">
|
|
<center>
|
|
<h2>Int 2F/AX=4A12h/CX=5354h
|
|
</h2>
|
|
</center><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-4849.htm" tppabs="http://www.ctyme.com/intr/rb-4849.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-4851.htm" tppabs="http://www.ctyme.com/intr/rb-4851.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>Stacker 4 LZS Compression Interface (LZSAPI)</font></h3>
|
|
<PRE>
|
|
AX = 4A12h
|
|
CX = 5354h ("ST")
|
|
DX = 4143h ("AC")<br>
|
|
<p><b>Return:</b><br>AX = 4F4Bh ("OK") if installed
|
|
CX = 7374h ("st") if installed
|
|
DX = 6163h ("ac") if installed
|
|
ES:DI -> entry point in LZSAPI server (usually, driver
|
|
STACKER.COM) containing far address of an actual
|
|
LZSINFO structure <a href="rb-4850.htm#Table2808" tppabs="http://www.ctyme.com/intr/rb-4850.htm#Table2808">(see #02808)</a>
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
<a href="rb-4849.htm" tppabs="http://www.ctyme.com/intr/rb-4849.htm">AX=4A12h/CX=4D52h</a> - <a href="rb-4115.htm" tppabs="http://www.ctyme.com/intr/rb-4115.htm">INT 25/AX=CDCDh</a>
|
|
<PRE>
|
|
<p>
|
|
Format of LZSINFO structure:
|
|
<a name=table2808></a>
|
|
Offset Size Description (Table 02808)
|
|
00h 6 BYTEs signature "LZSAPI"
|
|
06h WORD server version (200 (0C8h) for Stacker 4 and Stacker Anywhere)
|
|
08h 4 BYTEs vendor signature
|
|
"STAC" = Stac Electronics, Inc.
|
|
0Ch 6 BYTEs ???
|
|
<p><b>12h WORD bit flags:</b><br>Server status/capabilities (see #02809)
|
|
14h DWORD -> Stacker 3.X-compatible compression procedure
|
|
18h DWORD -> Stacker 3.X-compatible decompression procedure
|
|
1Ch 4 BYTEs reserved (always set to 0)
|
|
20h DWORD -> incremental Stacker 3.x-compatible compression procedure
|
|
<a href="rb-4850.htm#Table2810" tppabs="http://www.ctyme.com/intr/rb-4850.htm#Table2810">(see #02810)</a>
|
|
24h 4 BYTEs ???
|
|
28h DWORD -> incremental Stacker 3.x-compatible decompression procedure
|
|
<a href="rb-4850.htm#Table2811" tppabs="http://www.ctyme.com/intr/rb-4850.htm#Table2811">(see #02811)</a>
|
|
2Ch 4 BYTES ???
|
|
30h DWORD -> new (Stacker 4) compression procedure
|
|
34h 4 BYTEs ???
|
|
38h DWORD -> new (Stacker 4) decompression procedure
|
|
</PRE>
|
|
<p><b>Notes:</b>
|
|
Stacker 4 usally keeps two different data-compression algorithms in
|
|
memory (preferably in XMA):
|
|
1) new (Stacker 4) data compression algorithm (4K LZ77 with hashing
|
|
and static Huffman encoding), and
|
|
2) old (Stacker 3.x-compatible) one (2K LZ77 with hashing), which
|
|
is used to work with STACVOL files created under older
|
|
versions of Stacker.
|
|
<PRE>
|
|
<p>
|
|
Bitfields for LZSAPI capabilities:
|
|
<a name=table2809></a>
|
|
Bit(s) Description (Table 02809)
|
|
0 ???
|
|
1 busy/error flag
|
|
2-10 ???
|
|
11 maximum compressor/decompressor presented
|
|
<p>
|
|
<a name=table2810></a>
|
|
(Table 02810)
|
|
Call Stacker 3.x-style non-incremental functions with:.
|
|
<p><b>STACK:</b><br>DWORD return address for compress/decompress procedure
|
|
WORD compression algorithm parameters <a href="rb-4850.htm#Table2812" tppabs="http://www.ctyme.com/intr/rb-4850.htm#Table2812">(see #02812)</a>
|
|
WORD size of destination buffer (in bytes)
|
|
DWORD address of destination buffer
|
|
WORD size of source buffer (in bytes)
|
|
DWORD address of source buffer<br>
|
|
<p><b>Return:</b><br>(compression/decompression procedure)
|
|
AX = size of resulting data in destination buffer
|
|
0000h if error (either destination buffer too small or error in
|
|
compressed data)
|
|
<p>
|
|
<a name=table2811></a>
|
|
(Table 02811)
|
|
Call Stacker 4-style incremental procedures with:.
|
|
<p><b>STACK:</b><br>DWORD return address for compr./decompr. procedure
|
|
DWORD address of LZSSWAP structure <a href="rb-4850.htm#Table2813" tppabs="http://www.ctyme.com/intr/rb-4850.htm#Table2813">(see #02813)</a>
|
|
if 0000:0000, procedure uses non-incremental technique
|
|
WORD compression algorithm parameters <a href="rb-4850.htm#Table2812" tppabs="http://www.ctyme.com/intr/rb-4850.htm#Table2812">(see #02812)</a>
|
|
WORD size of destination buffer (in bytes)
|
|
DWORD address of destination buffer
|
|
WORD size of source buffer (in bytes)
|
|
DWORD address of source buffer
|
|
<p>
|
|
<a name=table2812></a>
|
|
(Table 02812)
|
|
Values for Compression algorithm parameters:
|
|
Value Compression level (/P=xx parameter)
|
|
07F9h 1
|
|
0621h 2
|
|
0625h 3
|
|
0665h 4
|
|
0669h 5
|
|
06E9h 6
|
|
06EDh 7
|
|
07D1h 8
|
|
07D9h 9
|
|
<p>
|
|
Format of LZSSWAP structure:
|
|
<a name=table2813></a>
|
|
Offset Size Description (Table 02813)
|
|
00h 2 BYTEs signature "CS"
|
|
02h 6 BYTEs reserved
|
|
08h DWORD address of destination buffer swapping procedure
|
|
0Ch DWORD address of stack swapping procedure
|
|
</PRE>
|
|
<p>
|
|
<b>Category: <a href="cat-017.htm" tppabs="http://www.ctyme.com/intr/cat-017.htm">
|
|
File/Disk Compression</a>
|
|
- <a href="int-2f-1.htm" tppabs="http://www.ctyme.com/intr/int-2F.htm">
|
|
Int 2Fh</a>
|
|
- <a href="alpha-s.htm" tppabs="http://www.ctyme.com/intr/alpha-s.htm">
|
|
S</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-4849.htm" tppabs="http://www.ctyme.com/intr/rb-4849.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-4851.htm" tppabs="http://www.ctyme.com/intr/rb-4851.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>
|