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

624 lines
29 KiB
HTML

<HTML>
<HEAD>
<TITLE>Int 15/AX=1016h
</TITLE>
<META NAME="Description" CONTENT="
Int 15/AX=1016h - TopView - ISOBJ - VERIFY OBJECT HANDLE -
AX = 1016h
ES:DI = possible object handle
Return: BX = status
FFFFh if ES:DI is a valid object handle (see #00414)
0000h if ES:DI is not
Note: under DESQview versions prior to 2.50, an object handle is always a
pointer to the object; for versions 2.50 and up, only task handles
are always pointers--other handles may consist of a unique object
number and offset into DESQview's common memory (see #00423)
SeeAlso: AX=DE14h,AX=DE2Bh,AX=DE2Ch
">
<META NAME="robots" CONTENT="none">
</HEAD>
<BODY BGCOLOR="#FFD0A0">
<center>
<h2>Int 15/AX=1016h
</h2>
</center><p>
<table border=1 cellpadding=3 cellspacing=1>
<td>
<a href="rb-1199.htm" tppabs="http://www.ctyme.com/intr/rb-1199.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-1201.htm" tppabs="http://www.ctyme.com/intr/rb-1201.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>TopView - ISOBJ - VERIFY OBJECT HANDLE</font></h3>
<PRE>
AX = 1016h
ES:DI = possible object handle<br>
<p><b>Return:</b><br>BX = status
FFFFh if ES:DI is a valid object handle <a href="rb-1200.htm#Table414" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table414">(see #00414)</a>
0000h if ES:DI is not
</PRE>
<p><b>Note:</b>
Under DESQview versions prior to 2.50, an object handle is always a
pointer to the object; for versions 2.50 and up, only task handles
are always pointers--other handles may consist of a unique object
number and offset into DESQview's common memory <a href="rb-1200.htm#Table423" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table423">(see #00423)</a>
<p><b>See Also:</b>
<a href="rb-1694.htm" tppabs="http://www.ctyme.com/intr/rb-1694.htm">AX=DE14h</a> - <a href="rb-1723.htm" tppabs="http://www.ctyme.com/intr/rb-1723.htm">AX=DE2Bh</a> - <a href="rb-1724.htm" tppabs="http://www.ctyme.com/intr/rb-1724.htm">AX=DE2Ch</a>
<PRE>
<p>
<a name=table413></a>
(Table 00413)
Values for DESQview object type:
00h window/task
01h mailbox
02h keyboard
03h timer
04h pointer
05h panel
06h objectq
<p>
Format of DESQview object:
<a name=table414></a>
Offset Size Description (Table 00414)
00h WORD offset in common memory of previous object of same type
02h WORD offset in common memory of next object of same type
04h WORD signature FEDCh (DV 2.42-)
signature FEDCh or object number (DV 2.50+)
06h WORD object type <a href="rb-1200.htm#Table413" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table413">(see #00413)</a>
08h DWORD object handle to return to caller
0Ch DWORD canonicalized object address (segment = common memory)
10h WORD offset in common memory of owning task
(0000h for unowned OBJECTQs)
12h WORD mapping context
offset in common memory of mapping context record <a href="rb-1200.htm#Table416" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table416">(see #00416)</a>.
Remainder varies by object type and DESQview version
---v2.42 keyboard object---
14h WORD flag bits (see also AH=12h/BH=0Ah"OBJECT")
<p><b>bit 15:</b><br>Keyboard opened
16h 4 BYTEs ???
1Ah WORD priority in OBJECTQ???
1Ch ...
25h WORD offset in common memory of ??? task
27h 4 BYTEs ???
---v2.42 objectq object---
14h WORD flag bits (see also AH=12h/BH=0Ah"OBJECT")
<p><b>bit 15:</b><br>OBJECTQ opened
16h 2 BYTEs ???
18h WORD offset in common memory of ??? task
1Ah 6 BYTEs ???
---v2.42 mailbox object---
14h WORD flag bits (see also AH=12h/BH=0Ah"OBJECT")
<p><b>bit 15:</b><br>Mailbox opened
1Ah WORD priority in OBJECTQ???
1Ch 6 BYTEs ???
22h WORD offset in common memory of mailbox name (counted string)
0000h if no name
<= 5 BYTEs ???
---v2.22-2.42,2.52,2.60 window/task object---
14h BYTE 00h window, 01h task
15h BYTE internal (not Switch menu) window number???
16h BYTE internal (not Switch menu) window number???
17h WORD segment of internal window record <a href="rb-1200.htm#Table417" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table417">(see #00417)</a>
19h 2 BYTEs ???
1Bh BYTE cursor row
1Ch BYTE cursor column
1Dh BYTE visible window origin, row
1Eh BYTE visible window origin, column
1Fh BYTE window height (logical)
20h BYTE window width (logical)
21h BYTE window position, row
22h BYTE window position, column
23h BYTE window height (visible)
24h BYTE window width (visible)
25h BYTE row of top of frame (or window if unframed)
26h BYTE column of left of frame (or window if unframed)
27h BYTE window height (physical, including frame)
28h BYTE window width (physical, including frame)
29h BYTE unzoomed visible origin, row (00h before first zoom)
2Ah BYTE unzoomed visible origin, column (00h before first zoom)
2Bh BYTE unzoomed window position, row (00h before first zoom)
2Ch BYTE unzoomed window position, column (00h before first zoom)
2Dh BYTE unzoomed window height (00h before first zoom)
2Eh BYTE unzoomed window width (00h before first zoom)
unzoomed parameters above are updated when window is zoomed
to full screen
2Fh BYTE ??? initially logical window height
30h BYTE ??? initially logical window width
31h 2 BYTEs ???
33h BYTE minimum height of window
34h BYTE minimum width of window
35h BYTE maximum height of window
36h BYTE maximum width of window
37h 3 BYTEs ???
<p><b>3Ah 8 BYTEs window frame characters:</b><br>Ul,ur,ll,lr,t,b,l,r
42h 24 BYTEs attributes???
<p><b>5Ah 8 BYTEs window frame characters:</b><br>Ul,ur,ll,lr,t,b,l,r
62h 3 BYTEs ???
65h BYTE ??? bitflags
<p><b>66h BYTE bit 0:</b><br>Window is zoomed
67h BYTE ???
68h WORD offset in common memory of window name or 0000h if untitled
6Ah WORD length of window name
6Ch 2 BYTEs ???
6Eh WORD offset of logical cursor in window (in character cells)
70h DWORD pointer to field table for window
74h BYTE ???
75h 2 BYTEs ???
77h BYTE number of last-visited field
78h DWORD pointer to field table entry for last-visited field
7Ch 3 BYTEs ???
7Fh BYTE select field marker character
80h BYTE ??? bit flags
<p><b>bit 0:</b><br>Allow ECh window stream opcode to change reverse logattr
<p><b>bit 1:</b><br>Alternate field processing mode selected
81h BYTE ???
82h DWORD notification function (manager stream opcode 8Ah)
no notification if segment = 0000h
86h DWORD notification argument (manager stream opcode 8Bh)
8Ah WORD offset in common memory of ??? window object or 0000h
8Ch WORD offset in common memory of ??? window object or 0000h
8Eh WORD offset in common memory of ??? window object or 0000h
90h BYTE ??? bitflags
91h BYTE ???
---task object only
92h BYTE bit flags (bits 0-4)
93h BYTE character for ??? (default 20h)
94h BYTE ??? flag
95h WORD offset in common memory of ???
97h 2 BYTEs ???
99h WORD ???
9Bh BYTE ??? bit flags
<p><b>bit 3:</b><br>???
<p><b>bit 6:</b><br>Perform protected-attribute processing on select fields
9Ch BYTE ???
9Dh WORD offset in common memory of current register save record
<a href="rb-1200.htm#Table415" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table415">(see #00415)</a>. No register save record in use if < 01C0h
9Fh WORD offset in common memory of task's keyboard object
A1h WORD offset in common memory of task's OBJECTQ object
A3h WORD offset in common memory of task's mailbox object
<p><b>A5h WORD semaphore:</b><br>FFFFh if on user stack, else on task's private stack
A7h DWORD user's SS:SP
ABh WORD task's private SP (SS read from offset 0Ah)
ADh 6 BYTEs ???
B3h BYTE ??? bit flags
<p><b>bit 0:</b><br>Run in foreground only
B4h BYTE ???
B5h BYTE ??? bitflags
B6h BYTE task status <a href="javascript:if(confirm('http://www.ctyme.com/intr/rb-0000.htm \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/intr/rb-0000.htm#Table0'" tppabs="http://www.ctyme.com/intr/rb-0000.htm#Table0"></a>(see #00555 at AX=DE2Ch)
B7h 9 BYTEs ???
C0h WORD head pointer for keyboard buffer (wraps back to 00h after 80h)
C2h WORD tail pointer for keyboard buffer (wraps back to 00h after 80h)
C4h 2 BYTEs ??? (0000h)
C6h WORD segment of keyboard buffer for task
C8h WORD offset in common memory of ??? keyboard object
CAh BYTE ???
---v2.22-2.42
CBh WORD offset in common memory of ??? object
CEh BYTE ??? flag
CFh WORD offset in common memory of default notify window for task
or 0000h if none
D1h 4 BYTEs ???
D5h BYTE window number on Switch Window menu
D6h 5 BYTEs ???
DBh WORD offset in common memory of ??? object
DDh 2 BYTEs ???
DFh WORD API level for task
E1h WORD offset in common memory of object task is waiting on if task
status is 'waiting', else 0000h
E7h WORD segment of ???
E9h 4 BYTEs ???
EDh WORD EMS handle of virtualization buffer, 0000h if no virtualization
F1h 12 BYTEs ???
FBh WORD ???
FDh BYTE ???
FFh 12 BYTEs ???
10Bh DWORD pointer to process record <a href="javascript:if(confirm('http://www.ctyme.com/intr/rb-0000.htm \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/intr/rb-0000.htm#Table0'" tppabs="http://www.ctyme.com/intr/rb-0000.htm#Table0"></a>(see #00418,#00419)
10Dh 10 BYTEs ???
119h DWORD SS:SP for ???
11Dh 4 BYTEs ???
121h DWORD pointer to ???
125h 25 BYTEs ???
13Eh DWORD pointer to ??? in system memory
---v2.22
142h 3 BYTEs ???
145h task's default keyboard object
---v2.42
142h DWORD pointer to first task instance data record in system memory
148h DWORD pointer to last task instance data record in system memory
<a href="rb-1200.htm#Table420" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table420">(see #00420)</a>
14Ah BYTE ???
14Dh 42 BYTEs task's default keyboard object
177h 32 BYTEs task's ObjectQ object
197h 41 BYTEs task's default mailbox object
1C0h 24 BYTEs first register save record
450h -- default top of private stack
---v2.52 (probably all DV/X)
Same as v2.60 below except there is an extra 29 bytes inserted somewhere
before offset 9Fh, but not yet known exactly where. Also, for the WAIT_ON
field (v2.60 offset E3h), some X apps (probably waiting on a socket) have
0000h even when waiting.
---v2.60
CBh WORD ??? (added in 2.50 - rest is same as 2.42)
CDh WORD offset in common memory of ??? object
D0h BYTE ??? flag
D1h WORD offset in common memory of default notify window for task
or 0000h if none
D3h 4 BYTEs ???
D7h BYTE window number on Switch Window menu
D8h 5 BYTEs ???
DDh WORD offset in common memory of ??? object
DFh 2 BYTEs ???
E1h WORD API level for task
E3h WORD If status at B6h=waiting, offset in common memory of object
that task is waiting on, else 0000h. (Task with CPU also
has 0000h here)
E9h WORD segment of ???
EBh 4 BYTEs ???
EFh WORD EMS handle of virtualization buffer, 0 if no virtualization
F3h 12 BYTEs ???
FDh WORD ???
FFh BYTE ???
101h 8 BYTEs ???
109h DWORD pointer to process record in system memory
10Dh 14 BYTEs ???
11Bh DWORD SS:SP for ???
11Fh 4 BYTEs ???
123h DWORD pointer to ???
127h 25 BYTEs ???
140h DWORD pointer to ??? in system memory
144h DWORD pointer to first task instance data record in system memory
148h DWORD pointer to last task instance data record in system memory
(from INT 15/AX=DE27h) <a href="rb-1200.htm#Table420" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table420">(see #00420)</a>
14Ch BYTE ???
14Eh 42 BYTEs task's default keyboard object
179h 32 BYTEs task's ObjectQ object
199h 41 BYTEs task's default mailbox object
1C2h 24 BYTEs first register save record
452h -- default top of private stack
<p>
Format of DESQview Register Save Record:
<a name=table415></a>
Offset Size Description (Table 00415)
00h WORD AX
02h WORD BX
04h WORD CX
06h WORD DX
08h WORD DI
0Ah WORD SI
0Eh WORD DS
10h WORD ES
12h DWORD return address
16h WORD original flags
<p>
Format of DESQview mapping context record:
<a name=table416></a>
Offset Size Description (Table 00416)
00h WORD lowest segment in process's memory
(often start of system memory chain)
02h WORD size of process's memory in paragraphs
<p><b>04h BYTE flag:</b><br>00h if process swapped out, 01h otherwise
<p><b>05h BYTE flag:</b><br>00h if allocated in conventional memory, 01h if EMS
06h 2 BYTEs ???
08h WORD EMS handle if in EMS, else 0
0Ah 2 BYTEs ??? (nonzero if system memory resides in shared mem???)
0Ch WORD segment of system memory block that contains process record,
referenced from segment of start of system memory chain
0Eh BYTE ???
0Fh WORD size of system memory block that contains process record
and DOS memory in paragraphs
11h BYTE bit flags
<p><b>Bit 0:</b><br>Swapped out???
<p><b>Bit 1:</b><br>???
<p><b>Bit 2:</b><br>Swapped out???
12h BYTE ???
13h BYTE reference count
---v2.31
14h 10 BYTEs ???
1Eh WORD segment of process record
20h 2 BYTEs ???
22h WORD segment of ??? (in first free system memory block???)
24h WORD segment of end of system memory chain
26h WORD segment of start of system memory chain
28h 8 BYTEs ???
2Ah DWORD pointer to ??? (process record???)
2Dh 10 BYTEs ???
37h BYTE lowest interrupt vector to save on context switch
38h BYTE highest interrupt vector to save on context switch
39h WORD offset in common memory of main task with this context
3Ah 12 BYTEs ???
46h BYTE internal mapping context number
47h 12 BYTEs ???
---v2.5x-2.60
14h 6 BYTEs ???
1Ah WORD segment of process record
1Ch 2 BYTEs ???
1Eh WORD segment of first free system memory block
20h WORD segment of start of system memory chain
22h WORD segment of end of system memory chain
24h 8 BYTEs ???
2Ch DWORD pointer to ??? (1 segment into process record???)
30h 3 BYTEs ???
33h WORD Offset in common memory of main task with this context
35h 7 BYTEs ???
3Ch BYTE internal mapping context number
3Dh 14 BYTEs ???
4Bh WORD first DOS memory segment (first MCB segment+1)
4Dh BYTE ??? (flag???)
---v2.53 (2.5x???)
4Eh 12 BYTEs ???
---v2.60
4Eh WORD segment of script buffer <a href="rb-1200.htm#Table421" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table421">(see #00421)</a>
50h 6 BYTEs ???
<p>
Format of DESQview Internal Window Record (v2.31-2.60):
<a name=table417></a>
Offset Size Description (Table 00417)
00h BYTE internal window number???
01h BYTE display page???
02h BYTE video mode
03h 3 BYTEs ???
06h BYTE logical window height
07h BYTE logical window width
08h DWORD pointer to text video buffer
0Ch 116 BYTEs ???
<p>
Format of DESQview process record (v2.31):
<a name=table418></a>
Offset Size Description (Table 00418)
-470h 13 BYTEs filename of ??? Script
-463h 1117 BYTEs ??? (script buffer???)
-6h 6 BYTEs ???
00h WORD segment of parent PSP in process
02h 5 BYTEs ???
07h WORD segment of current PSP in process
09h WORD segment of first MCB in process
0Bh 13 BYTEs ???
18h 1024 BYTEs process's interrupt vector table
418h 376 BYTEs ???
590h first MCB in process
</PRE>
<p><b>See Also:</b>
#00419
<PRE>
<p>
Format of DESQview process record (v2.52-v2.60) (probably also 2.5x):
<a name=table419></a>
Offset Size Description (Table 00419)
00h 28 BYTEs EXE header of last EXE, ??? if last program run was COM
1Ch ??? BYTEs overwritten with ASCIZ filename of last program run (EXE/COM)
11Ch WORD segment of parent PSP in process
11Eh 4 BYTEs ???
122h WORD segment of current PSP
124h WORD segment of current PSP
126h WORD segment of first MCB in process
128h 4 BYTEs ???
12Ch DWORD pointer to first process instance data record in system memory
130h DWORD pointer to last process instance data record in system memory
(from INT 15/AX=DE27h) <a href="rb-1200.htm#Table420" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table420">(see #00420)</a>
134h 8 BYTEs ???
13Ch WORD size of current environment
13Eh WORD segment of current environment
140h WORD segment of current PSP
142h DWORD entry point of current program
146h 10 BYTEs ???
---v2.52 (v2.5x???)
150h BYTE ???
151h WORD segment of parent PSP in process
153h WORD ???
155h WORD ???
157h WORD ???
159h 4 BYTEs ???
15Dh WORD segment of current environment
15Fh WORD segment of current PSP
161h WORD segment of ???
162h WORD ???
164h 3 BYTEs ???
168h 1024 BYTEs process's interrupt vector table
568h 120 BYTEs ???
5E0h first MCB in process
---v2.60
150h WORD segment of parent PSP in process
152h WORD ???
154h WORD ???
156h WORD ???
158h 4 BYTEs ???
15Ch WORD segment of current environment
15Eh WORD segment of current PSP
160h WORD segment of ???
162h WORD ???
164h 1024 BYTEs process's interrupt vector table
564h 108 BYTEs ???
5D0h first MCB in process
</PRE>
<p><b>See Also:</b>
#00418
<PRE>
<p>
Format of DESQview task or process instance data record (v2.5x???, v2.60):
<a name=table420></a>
Offset Size Description (Table 00420)
00h DWORD pointer to next record of same type or 00000000
04h DWORD pointer to previous record of same type or 00000000
08h DWORD pointer to source area of memory during restore state
0Ch WORD number of bytes to save/restore
0Eh DWORD pointer to destination area of memory during restore state
12h WORD ??? (0)
14h N BYTEs source memory buffer during restore state
<p>
Format of DESQview script buffer (v2.60):
<a name=table421></a>
Offset Size Description (Table 00421)
00h 13 BYTEs ASCIZ Script filename
0Dh 80 BYTEs ???
5Eh N BYTEs script records <a href="rb-1200.htm#Table422" tppabs="http://www.ctyme.com/intr/rb-1200.htm#Table422">(see #00422)</a>
<p>
Format of one DESQview script record (v2.60):
<a name=table422></a>
Offset Size Description (Table 00422)
00h BYTE signature 12h
01h 18 BYTEs blank-padded script name
13h BYTE ASCII code of key attached to script or 0 if non-ASCII key
14h BYTE scan code of key attached to script if non-ASCII, else 0
15h BYTE ???
16h WORD size of script in bytes
18h N BYTEs script (ASCII code of each keystroke; if 0, next byte is
scan code of non-ASCII key)
</PRE>
<p><b>See Also:</b>
#00421
<PRE>
<p>
Format of DESQview Common Memory Header (v2.31-2.60):
<a name=table423></a>
Offset Size Description (Table 00423)
00h WORD offset of lowest used block
02h WORD bytes of commom memory, including header
04h WORD offset of first free block
06h N BYTEs size depends of DV version, ??? (DVP buffer???)
</PRE>
<p><b>Note:</b>
The above is located at the beginning of the commom memory segment
<p><b>See Also:</b>
#00424 - #00425 - #00433
<PRE>
<p>
Format of DESQview Free block header:
<a name=table424></a>
Offset Size Description (Table 00424)
00h WORD size of block in bytes including header
02h WORD offset of next free block
04h N BYTEs free block
</PRE>
<p><b>See Also:</b>
#00423 - #00425
<PRE>
<p>
Format of DESQview Used block header:
<a name=table425></a>
Offset Size Description (Table 00425)
00h WORD size of block in bytes including header
02h N BYTEs used block
</PRE>
<p><b>See Also:</b>
#00423 - #00424
<p>
<b>Category: <a href="cat-007.htm" tppabs="http://www.ctyme.com/intr/cat-007.htm">
DESQview/TopView and Quarterdeck Programs</a>
- <a href="int-15.htm" tppabs="http://www.ctyme.com/intr/int-15.htm">
Int 15h</a>
- <a href="alpha-t.htm" tppabs="http://www.ctyme.com/intr/alpha-t.htm">
T</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-1199.htm" tppabs="http://www.ctyme.com/intr/rb-1199.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-1201.htm" tppabs="http://www.ctyme.com/intr/rb-1201.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>