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

513 lines
24 KiB
HTML

<HTML>
<HEAD>
<TITLE>Int 14/AX=8101h
</TITLE>
<META NAME="Description" CONTENT="
Int 14/AX=8101h - VIDEO FOSSIL - OPEN VFOSSIL -
AX = 8101h
ES:DI - buffer for application function table (see #00369)
CX = length of buffer in bytes
Return: AX = 1954h if installed
BH = highest VFOSSIL application function supported
Note: the number of initialized pointers in the application function table
will never exceed CX/4; if the buffer is large enough, BH+1 pointers
will be initialized
SeeAlso: AX=8102h
">
<META NAME="robots" CONTENT="none">
</HEAD>
<BODY BGCOLOR="#FFD0A0">
<center>
<h2>Int 14/AX=8101h
</h2>
</center><p>
<table border=1 cellpadding=3 cellspacing=1>
<td>
<a href="rb-1028.htm" tppabs="http://www.ctyme.com/intr/rb-1028.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-1030.htm" tppabs="http://www.ctyme.com/intr/rb-1030.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>VIDEO FOSSIL - OPEN VFOSSIL</font></h3>
<PRE>
AX = 8101h
ES:DI -> buffer for application function table <a href="rb-1029.htm#Table369" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table369">(see #00369)</a>
CX = length of buffer in bytes<br>
<p><b>Return:</b><br>AX = 1954h if installed
BH = highest VFOSSIL application function supported
</PRE>
<p><b>Note:</b>
The number of initialized pointers in the application function table
will never exceed CX/4; if the buffer is large enough, BH+1 pointers
will be initialized
<p><b>See Also:</b>
<a href="rb-1030.htm" tppabs="http://www.ctyme.com/intr/rb-1030.htm">AX=8102h</a>
<PRE>
<p>
Format of VFOSSIL application function table:
<a name=table369></a>
Offset Size Description (Table 00369)
00h DWORD -> function to query current video mode (VioGetMode)<a href="rb-1029.htm#Table374" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table374">(see #00374)</a>
04h DWORD -> function to set video mode (VioSetMode) <a href="rb-1029.htm#Table375" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table375">(see #00375)</a>
08h DWORD -> function to query hardware config (VioGetConfig) <a href="rb-1029.htm#Table376" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table376">(see #00376)</a>
0Ch DWORD -> function to write data in TTY mode (VioWrtTTY) <a href="rb-1029.htm#Table377" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table377">(see #00377)</a>
10h DWORD -> function to get current ANSI state (VioGetANSI) <a href="rb-1029.htm#Table378" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table378">(see #00378)</a>
14h DWORD -> function to set new ANSI state (VioSetANSI) <a href="rb-1029.htm#Table379" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table379">(see #00379)</a>
18h DWORD -> function to get curr cursor position (VioGetCurPos)
<a href="rb-1029.htm#Table380" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table380">(see #00380)</a>
1Ch DWORD -> function to set cursor position (VioSetCurPos) <a href="rb-1029.htm#Table381" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table381">(see #00381)</a>
20h DWORD -> function to get cursor shape (VioGetCurType) <a href="rb-1029.htm#Table382" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table382">(see #00382)</a>
24h DWORD -> function to set cursor shape (VioSetCurType) <a href="rb-1029.htm#Table383" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table383">(see #00383)</a>
28h DWORD -> function to scroll screen up (VioScrollUp) <a href="rb-1029.htm#Table384" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table384">(see #00384)</a>
2Ch DWORD -> function to scroll screen down (VioScrollDn) <a href="rb-1029.htm#Table385" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table385">(see #00385)</a>
30h DWORD -> function to read cell string from screen (VioReadCellStr)
<a href="rb-1029.htm#Table386" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table386">(see #00386)</a>
34h DWORD -> function to read char string from screen (VioReadCharStr)
<a href="rb-1029.htm#Table387" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table387">(see #00387)</a>
38h DWORD -> function to write a cell string (VioWrtCellStr)
<a href="rb-1029.htm#Table388" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table388">(see #00388)</a>
3Ch DWORD -> function to write char string, leaving attr (VioWrtCharStr)
<a href="rb-1029.htm#Table389" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table389">(see #00389)</a>
40h DWORD -> function to write char string,const attr (VioWrtCharStrAttr)
<a href="rb-1029.htm#Table390" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table390">(see #00390)</a>
44h DWORD -> function to replicate an attribute (VioWrtNAttr)
<a href="rb-1029.htm#Table391" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table391">(see #00391)</a>
48h DWORD -> function to replicate a cell (VioWrtNCell)
<a href="rb-1029.htm#Table392" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table392">(see #00392)</a>
4Ch DWORD -> function to replicate a character (VioWrtNChar)
<a href="rb-1029.htm#Table393" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table393">(see #00393)</a>
<p>
Format of VFOSSIL video mode data structure:
<a name=table370></a>
Offset Size Description (Table 00370)
00h WORD length of structure including this field
02h BYTE mode characteristics
<p><b>bit 0:</b><br>Clear if MDA, set otherwise
<p><b>bit 1:</b><br>Graphics mode
<p><b>bit 2:</b><br>Color disabled (black-and-white)
03h BYTE number of colors supported (1=2 colors, 4=16 colors, etc)
04h WORD number of text columns
06h WORD number of text rows
08h WORD reserved
0Ah WORD reserved
0Ch DWORD reserved
</PRE>
<p><b>See Also:</b>
#00374 - #00375
<PRE>
<p>
Format of VFOSSIL video configuration data:
<a name=table371></a>
Offset Size Description (Table 00371)
00h WORD structure length including this field
02h WORD adapter type
00h monochrome/printer
01h CGA
02h EGA
03h VGA
07h 8514/A
04h WORD display type
00h monochrome
01h color
02h enhanced color
09h 8514
06h DWORD adapter memory size
</PRE>
<p><b>See Also:</b>
#00376
<PRE>
<p>
Format of VFOSSIL cursor type record:
<a name=table372></a>
Offset Size Description (Table 00372)
00h WORD cursor start line
02h WORD cursor end line
04h WORD cursor width (always 01h)
06h WORD cursor attribute (FFFFh = hidden)
<p>
<a name=table373></a>
(Table 00373)
Values for VFOSSIL error code:
0000h successful
0074h internal VIO failure
0163h unsupported mode
0166h invalid row value
0167h invalid column value
017Eh buffer too small
01A5h invalid VIO parameter
01B4h invalid VIO handle
<p>
<a name=table374></a>
(Table 00374)
Call VioGetMode with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to video mode data structure <a href="rb-1029.htm#Table370" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table370">(see #00370)</a><br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 17Eh, 1B4h) (see #00373)
</PRE>
<p><b>See Also:</b>
#00375
<PRE>
<p>
<a name=table375></a>
(Table 00375)
Call VioSetMode with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to video mode data structure <a href="rb-1029.htm#Table370" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table370">(see #00370)</a><br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 163h, 17Eh, 1A5h, 1B4h) (see #00373)
</PRE>
<p><b>See Also:</b>
#00374
<PRE>
<p>
<a name=table376></a>
(Table 00376)
Call VioGetConfig with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to video configuration data buffer <a href="rb-1029.htm#Table371" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table371">(see #00371)</a><br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 17Eh, 1B4h) (see #00373)
<p>
<a name=table377></a>
(Table 00377)
Call VioWrtTTY with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
WORD length of string
DWORD pointer to character string to be written to screen<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 1B4h) (see #00373)
</PRE>
<p><b>Notes:</b>
Write wraps at end of line and terminates if it reaches end of screen.
In ANSI mode, ANSI control sequences are interpreted, and this func is
not required to be reentrant; in non-ANSI mode, the function is
reentrant and may be called from within an MS-DOS function call
<PRE>
<p>
<a name=table378></a>
(Table 00378)
Call VioGetANSI with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to WORD which will be set to 00h if ANSI is off
or 01h if ANSI is on<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 1B4h) (see #00373)
</PRE>
<p><b>See Also:</b>
#00379
<PRE>
<p>
<a name=table379></a>
(Table 00379)
Call VioSetANSI with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to WORD indicating new state of ANSI
00h off, 01h on<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 1A4h, 1B4h) (see #00373)
</PRE>
<p><b>See Also:</b>
#00378
<PRE>
<p>
<a name=table380></a>
(Table 00380)
Call VioGetCurPos with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to WORD to hold current cursor column (0-based)
DWORD pointer to WORD to hold current cursor row (0-based)<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 1B4h) (see #00373)
</PRE>
<p><b>See Also:</b>
#00381
<PRE>
<p>
<a name=table381></a>
(Table 00381)
Call VioSetCurPos with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
WORD cursor column
WORD cursor row<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
</PRE>
<p><b>Note:</b>
If either coordinate is invalid, the cursor is not moved
<p><b>See Also:</b>
#00380
<PRE>
<p>
<a name=table382></a>
(Table 00382)
Call VioGetCurType with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to cursor type record <a href="rb-1029.htm#Table372" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table372">(see #00372)</a><br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 1B4h) (see #00373)
</PRE>
<p><b>See Also:</b>
#00383
<PRE>
<p>
<a name=table383></a>
(Table 00383)
Call VioSetCurType with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to cursor type record <a href="rb-1029.htm#Table372" tppabs="http://www.ctyme.com/intr/rb-1029.htm#Table372">(see #00372)</a><br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 1A4h, 1B4h) (see #00373)
</PRE>
<p><b>See Also:</b>
#00384
<PRE>
<p>
<a name=table384></a>
(Table 00384)
Call VioScrollUp with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to char/attr cell for filling emptied rows
WORD number or rows to scroll (FFFFh = clear area)
WORD right column of scroll area
WORD bottom row of scroll area
WORD left column of scroll area
WORD top row of scroll area<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
</PRE>
<p><b>See Also:</b>
#00385 - <a href="rb-0096.htm" tppabs="http://www.ctyme.com/intr/rb-0096.htm">INT 10/AH=06h</a>
<PRE>
<p>
<a name=table385></a>
(Table 00385)
Call VioScrollDn with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to char/attr cell for filling emptied rows
WORD number or rows to scroll (FFFFh = clear area)
WORD right column of scroll area
WORD bottom row of scroll area
WORD left column of scroll area
WORD top row of scroll area<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
</PRE>
<p><b>See Also:</b>
#00384 - <a href="rb-0097.htm" tppabs="http://www.ctyme.com/intr/rb-0097.htm">INT 10/AH=07h</a>
<PRE>
<p>
<a name=table386></a>
(Table 00386)
Call VioReadCellStr with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
WORD column at which to start reading
WORD row at which to start reading
DWORD pointer to WORD containing length of buffer in bytes
on return, WORD contains number of bytes actually read
DWORD pointer to buffer for cell string<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h ,167h, 1B4h) (see #00373)
<p>
<a name=table387></a>
(Table 00387)
Call VioReadCharStr with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
WORD column at which to start reading
WORD row at which to start reading
DWORD pointer to WORD containing length of buffer in bytes
on return, WORD contains number of bytes actually read
DWORD pointer to buffer for character string<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h ,167h, 1B4h) (see #00373)
<p>
<a name=table388></a>
(Table 00388)
Call VioWrtCellStr with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
WORD column at which to start writing
WORD row at which to start writing
WORD length of cell string in bytes
DWORD pointer to cell string to write<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
</PRE>
<p><b>Note:</b>
Write wraps at end of line and terminates if it reaches end of screen
<PRE>
<p>
<a name=table389></a>
(Table 00389)
Call VioWrtCharStr with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
WORD column at which to start writing
WORD row at which to start writing
WORD length of character string
DWORD pointer to character string to write<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
</PRE>
<p><b>Note:</b>
Write wraps at end of line and terminates if it reaches end of screen
<PRE>
<p>
<a name=table390></a>
(Table 00390)
Call VioWrtCharStrAttr with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
DWORD pointer to attribute to be applied to each character
WORD column at which to start writing
WORD row at which to start writing
WORD length of character string
DWORD pointer to character string to write<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
</PRE>
<p><b>Note:</b>
Write wraps at end of line and terminates if it reaches end of screen
<PRE>
<p>
<a name=table391></a>
(Table 00391)
Call VioWrtNAttr with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
WORD column at which to start writing
WORD row at which to start writing
WORD number of times to write attribute
DWORD pointer to display attribute to replicate<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
</PRE>
<p><b>Note:</b>
Write wraps at end of line and terminates if it reaches end of screen
<PRE>
<p>
<a name=table392></a>
(Table 00392)
Call VioWrtNCell with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
WORD column at which to start writing
WORD row at which to start writing
WORD number of times to write cell
DWORD pointer to cell to replicate<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
</PRE>
<p><b>Note:</b>
Write wraps at end of line and terminates if it reaches end of screen
<PRE>
<p>
<a name=table393></a>
(Table 00393)
Call VioWrtNChar with:.
<p><b>STACK:</b><br>WORD VIO handle (must be 00h)
WORD column at which to start writing
WORD row at which to start writing
WORD number of times to write character
DWORD pointer to character to replicate<br>
<p><b>Return:</b><br>AX = error code (00h, 74h, 166h, 167h, 1B4h) (see #00373)
</PRE>
<p><b>Note:</b>
Write wraps at end of line and terminates if it reaches end of screen
<p>
<b>Category: <a href="cat-046.htm" tppabs="http://www.ctyme.com/intr/cat-046.htm">
Video</a>
- <a href="int-14.htm" tppabs="http://www.ctyme.com/intr/int-14.htm">
Int 14h</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-1028.htm" tppabs="http://www.ctyme.com/intr/rb-1028.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-1030.htm" tppabs="http://www.ctyme.com/intr/rb-1030.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>