Files
oldlinux-files/docs/interrupts/int-html/rb-0290.htm
2024-02-19 00:23:35 -05:00

517 lines
24 KiB
HTML

<HTML>
<HEAD>
<TITLE>Int 10/AX=4F0Bh
</TITLE>
<META NAME="Description" CONTENT="
Int 10/AX=4F0Bh - VESA SuperVGA BIOS - GET VBE/AF v1.0P DEVICE CONTEXT BUFFER -
AX = 4F0Bh
BL = subfunction
00h get length of device context buffer
01h initialize device context buffer
ES:DI - real-mode address of buffer (see #00089)
Return: AL = 4Fh if function supported
AH = status
00h successful
CX = number of bytes required for buffer (if BL=00h on entry)
ES:DI buffer initialized (if BL=01h on entry)
">
<META NAME="robots" CONTENT="none">
</HEAD>
<BODY BGCOLOR="#FFD0A0">
<center>
<h2>Int 10/AX=4F0Bh
</h2>
</center><p>
<table border=1 cellpadding=3 cellspacing=1>
<td>
<a href="rb-0289.htm" tppabs="http://www.ctyme.com/intr/rb-0289.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-0291.htm" tppabs="http://www.ctyme.com/intr/rb-0291.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>VESA SuperVGA BIOS - GET VBE/AF v1.0P DEVICE CONTEXT BUFFER</font></h3>
<PRE>
AX = 4F0Bh
BL = subfunction
00h get length of device context buffer
01h initialize device context buffer
ES:DI -> real-mode address of buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a><br>
<p><b>Return:</b><br>AL = 4Fh if function supported
AH = status
00h successful
CX = number of bytes required for buffer (if BL=00h on entry)
ES:DI buffer initialized (if BL=01h on entry)
01h failed
</PRE>
<p><b>Note:</b>
This interface description is derived from the draft VBE/AF proposal
(version 1.0P, document revsion 0.12P, dated 13jan95)
<p><b>See Also:</b>
<a href="rb-0273.htm" tppabs="http://www.ctyme.com/intr/rb-0273.htm">AX=4F00h</a> - <a href="rb-0274.htm" tppabs="http://www.ctyme.com/intr/rb-0274.htm">AX=4F01h</a> - <a href="rb-0311.htm" tppabs="http://www.ctyme.com/intr/rb-0311.htm">AX=4F17h</a>
<PRE>
<p>
Format of VBE/AF v1.0P Device Context buffer:
<a name=table89></a>
Offset Size Description (Table 00089)
00h WORD maximum X coordinate in frame buffer (0 = left edge)
</PRE>
<p><b>Note:</b>
Application must never pass X coordinate greater than
this value to the SetClipRect function (values are
NOT range-checked!)
02h WORD maximum Y coordinate in frame buffer (0 = top edge)
<p><b>Note:</b>
Application must never pass Y coordinate greater than
this value to the SetClipRect function
04h DWORD -> "SetForeColor" to set foreground color/mix <a href="rb-0290.htm#Table91" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table91">(see #00091)</a>
08h DWORD -> "SetBackColor" to set background color/mix <a href="rb-0290.htm#Table92" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table92">(see #00092)</a>
0Ch DWORD -> "SetClipRect" set hardware clipping rectangle <a href="rb-0290.htm#Table93" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table93">(see #00093)</a>
10h DWORD -> function "DrawScan" to draw a single scan line
14h DWORD -> function "DrawScanList" to draw a list of scan lines
18h DWORD -> function "DrawRect" to draw a solid rectangle
1Ch DWORD -> function "DrawLine" to draw a solid line
20h DWORD -> function "DrawPattScan" to draw a patterned scan line
24h DWORD -> function "BitBlt" to perform screen-to-screen BitBLT
28h DWORD -> "TransBitBlt" to perform transparent screen-to-screen BitBLT
2Ch DWORD -> "MonoBitBlt" to monochrome expansion screen-to-screen BitBLT
30h DWORD -> function "SetCursor" to download hardware cursor image
34h DWORD -> function "SetCursorPos" to set hardware cursor position
38h DWORD -> function "SetCursorColor" to set hardware cursor color
3Ch DWORD -> function "ShowCursor" to show/hide hardware cursor
40h DWORD -> function "WaitTillIdle" to wait until graphics engine idle
44h DWORD -> "EnableDirectAccess" to enable direct framebuffer access
48h DWORD -> "DisableDirectAccess" to disable direct framebuffer access
4Ch DWORD -> "BankSwitchCB" bank-switching callback function
(set by application, may simply point at 32-bit VBE 2.0 bank
switching entry point)
50h WORD "VidMemSel" selector for video memory (must be set by app)
52h WORD "IOPortsOff" offset of I/O ports table in context buffer
54h WORD "IOMemoryOff" offset of I/O memory table in context buffer
56h WORD "IOMemSel1" selector for first I/O memory area specified by
I/O memory table (must be set by application)
58h WORD "IOMemSel2" selector for second I/O memory area
5Ah WORD "IOMemSel3" selector for third I/O memory area
5Ch WORD "IOMemSel4" selector for fourth I/O memory area
5Eh N BYTEs device-specific state buffer
N WORDs I/O port access table (list of ports, last entry is FFFFh)
N DWORDs I/O memory access table (list of physical-address/length pairs,
last entry is FFFFFFFFh)
N BYTEs 32-bit code for VBE/AF v1.0P function
<p><b>Notes:</b>
All function pointers are offsets into the 32-bit code within the
context buffer, and should be updated to point at the actual
functions after the application has copied the buffer from the
real-mode memory used for the interrupt call into its own flat-model
memory space.
Any functions which are not supported by the hardware have function
pointers which are set to 00000000h initially
<PRE>
<p>
<a name=table90></a>
(Table 00090)
Values for VBE/AF v1.0P color mixing mode:
00h replace
01h XOR with existing pixel
02h OR with existing pixel
03h AND with existing pixel
</PRE>
<p><b>See Also:</b>
#00091 - #00090
<PRE>
<p>
<a name=table91></a>
(Table 00091)
Call VBE/AF v1.0P function "SetForeColor" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
EAX = new foreground color (format varies by video mode).
BL = new foreground mixing mode <a href="rb-0290.htm#Table90" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table90">(see #00090)</a>
</PRE>
<p><b>See Also:</b>
#00089 - #00092 - #00107
<PRE>
<p>
<a name=table92></a>
(Table 00092)
Call VBE/AF v1.0P function "SetbackColor" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
EAX = new background color (format varies by video mode).
BL = new background mixing mode <a href="rb-0290.htm#Table90" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table90">(see #00090)</a>
</PRE>
<p><b>See Also:</b>
#00089 - #00091 - #00093
<PRE>
<p>
<a name=table93></a>
(Table 00093)
Call VBE/AF v1.0P function "SetClipRect" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
EAX = left clipping coordinate.
EBX = top clipping coordinate.
ECX = right clipping coordinate.
EDX = bottom clipping coordinate
</PRE>
<p><b>See Also:</b>
#00089 - #00092 - #00094 - #00107
<PRE>
<p>
<a name=table94></a>
(Table 00094)
Call VBE/AF v1.0P function "DrawScan" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
EAX = X1 coordinate.
EBX = Y coordinate.
ECX = X2 coordinate
</PRE>
<p><b>Desc:</b>
Draw a solid horizontal line from (X1,Y) to (X2,Y) in the currently-
active foreground color and mix, omitting the pixel at the largest
X coordinate
<p><b>See Also:</b>
#00089 - #00093 - #00095 - #00098 - #00107
<PRE>
<p>
<a name=table95></a>
(Table 00095)
Call VBE/AF v1.0P function "DrawScanList" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
EAX = Y coordinate of first line.
EBX = length of scan list.
DS:ESI -> scanline list X coordinates (2N WORDs)
</PRE>
<p><b>Desc:</b>
Draw multiple solid horizontal lines at successive Y coordinates,
using the currently-active foreground color and mix, omitting the
pixel at the largest X coordinate for each line
<p><b>Note:</b>
The scanline list consists of pairs of X coordinates; because the
last pixel is omitted, a scanline will be skipped if X1==X2
<p><b>See Also:</b>
#00089 - #00094 - #00096 - #00107
<PRE>
<p>
<a name=table96></a>
(Table 00096)
Call VBE/AF v1.0P function "DrawRect" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
EAX = left coordinate.
EBX = top coordinate.
ECX = right coordinate.
EDX = bottom coordinate
</PRE>
<p><b>Desc:</b>
Draw a solid rectangle in the currently-active foreground color and
mix, omitting the rightmost X coordinate and bottom-most scan line
<p><b>Note:</b>
Results are undefined if EAX>ECX or EBX>EDX; nothing will be drawn if
EAX=ECX or EBX=EDX
<p><b>See Also:</b>
#00089 - #00094 - #00095 - #00097
<PRE>
<p>
<a name=table97></a>
(Table 00097)
Call VBE/AF v1.0P function "DrawLine" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
EAX = ??? (specified this way in the draft documentation!).
EBX = ???.
ECX = ???.
EDX = ???.
ESI = ???
</PRE>
<p><b>Desc:</b>
Draw a solid line in the currently-active foreground color and mix,
given the Bresenham parameters
<p><b>See Also:</b>
#00089 - #00094 - #00096 - #00098
<PRE>
<p>
<a name=table98></a>
(Table 00098)
Call VBE/AF v1.0P function "DrawPattScan" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
EAX = X1 coordinate.
EBX = Y coordinate.
ECX = X2 coordinate.
DL = 8-bit stipple pattern
</PRE>
<p><b>Desc:</b>
Draw a patterned horizontal line from (X1,Y) to (X2,Y) in the
currently-active foreground color and mix, omitting the pixel at
the largest X coordinate
<p><b>Note:</b>
For each pixel in the line, if DL bit (X mod 8) is set, the pixel is
drawn, and left untouched if the bit is clear
<p><b>See Also:</b>
#00089 - #00096 - #00097 - #00094 - #00099 - #00107
<PRE>
<p>
<a name=table99></a>
(Table 00099)
Call VBE/AF v1.0P function "BitBlt" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
DS:ESI -> BitBlt parameter block <a href="rb-0290.htm#Table100" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table100">(see #00100)</a>.
BL = mix operation
00h replace
01h XOR
02h OR
03h AND
</PRE>
<p><b>See Also:</b>
#00089 - #00094 - #00098 - #00101 - #00107
<PRE>
<p>
Format of VBE/AF BitBlt parameter block:
<a name=table100></a>
Offset Size Description (Table 00100)
00h WORD left coordinate of source rectangle
02h WORD top coordinate of source rectangle
04h WORD right coordinate of source rectangle
06h WORD bottom coordinate of source rectangle
08h WORD left coordinate of destination rectangle
0Ah WORD top coordinate of destination rectangle
<p><b>0Ch BYTE horizontal direction:</b><br>00h = decrement X, 01h = increment X
<p><b>0Dh BYTE vertical direction:</b><br>00h = decrement Y, 01h = increment Y
</PRE>
<p><b>Notes:</b>
The rightmost pixel(s) and bottom-most scan line are not copied.
The horizontal/vertical direction flags are used to ensure correct
copies when the source and destination rectangles overlap
<p><b>See Also:</b>
#00099
<PRE>
<p>
<a name=table101></a>
(Table 00101)
Call VBE/AF v1.0P function "TransBitBlt" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
DS:ESI -> BitBlt parameter block <a href="rb-0290.htm#Table100" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table100">(see #00100)</a>.
BL = mix operation
00h replace
01h XOR
02h OR
03h AND.
ECX = transparent color
</PRE>
<p><b>Desc:</b>
Copy a rectangular area from one location to another, treating pixels
with the specified color as transparent (leaving the destination
unchanged)
<p><b>See Also:</b>
#00089 - #00099 - #00102 - #00107
<PRE>
<p>
<a name=table102></a>
(Table 00102)
Call VBE/AF v1.0P function "MonoBitBlt" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
DS:ESI -> BitBlt parameter block <a href="rb-0290.htm#Table100" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table100">(see #00100)</a>.
BL = mix operation
00h replace
01h XOR
02h OR
03h AND.
BH = bit-plane from which to read
</PRE>
<p><b>Desc:</b>
Copy a rectangular area from one location to another, expanding a
single bit of each source pixel
<p><b>See Also:</b>
#00089 - #00099 - #00101
<PRE>
<p>
<a name=table103></a>
(Table 00103)
Call VBE/AF v1.0P function "SetCursor" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
DS -> application's data segment.
ESI -> 32x32 cursor data, in Windows 3.1 cursor-file format
(32 DWORDs of XOR mask followed by 32 DWORDs of AND mask)
</PRE>
<p><b>See Also:</b>
#00089 - #00094 - #00104 - #00105
<PRE>
<p>
<a name=table104></a>
(Table 00104)
Call VBE/AF v1.0P function "SetCursorPos" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
EAX = cursor X coordinate.
EBX = cursor Y coordinate.
CL = cursor's X hotspot.
CH = cursor's Y hotspot
</PRE>
<p><b>See Also:</b>
#00089 - #00103 - #00105
<PRE>
<p>
<a name=table105></a>
(Table 00105)
Call VBE/AF v1.0P function "SetCursorColor" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
AL = 8-bit color index, or color's Red value.
AH = color's Green value (16-bpp, 24-bpp, 32-bpp modes).
BL = color's Blue value (16-bpp, 24-bpp, 32-bpp modes)
</PRE>
<p><b>See Also:</b>
#00089 - #00103 - #00104 - #00106
<PRE>
<p>
<a name=table106></a>
(Table 00106)
Call VBE/AF v1.0P function "ShowCursor" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>.
AL = new visibility (00h hide cursor, 01h show cursor)
</PRE>
<p><b>See Also:</b>
#00089 - #00103 - #00104 - #00105
<PRE>
<p>
<a name=table107></a>
(Table 00107)
Call VBE/AF v1.0P function "WaitTillIdle" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>
</PRE>
<p><b>Desc:</b>
Pause until the hardware accelerator has completed all pending
operations
<p><b>See Also:</b>
#00089 - #00108 - #00109
<PRE>
<p>
<a name=table108></a>
(Table 00108)
Call VBE/AF v1.0P function "EnableDirectAccess" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>
</PRE>
<p><b>See Also:</b>
#00089 - #00109 - #00107 - <a href="rb-0278.htm" tppabs="http://www.ctyme.com/intr/rb-0278.htm">AX=4F05h</a> - #00078 - #00080
<PRE>
<p>
<a name=table109></a>
(Table 00109)
Call VBE/AF v1.0P function "DisableDirectAccess" with:.
ES:EDI -> device context buffer <a href="rb-0290.htm#Table89" tppabs="http://www.ctyme.com/intr/rb-0290.htm#Table89">(see #00089)</a>
</PRE>
<p><b>See Also:</b>
#00089 - #00108
<p>
<b>Category: <a href="cat-046.htm" tppabs="http://www.ctyme.com/intr/cat-046.htm">
Video</a>
- <a href="int-10.htm" tppabs="http://www.ctyme.com/intr/int-10.htm">
Int 10h</a>
- <a href="alpha-v.htm" tppabs="http://www.ctyme.com/intr/alpha-v.htm">
V</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-0289.htm" tppabs="http://www.ctyme.com/intr/rb-0289.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-0291.htm" tppabs="http://www.ctyme.com/intr/rb-0291.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>