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

509 lines
28 KiB
HTML

<HTML>
<HEAD>
<TITLE>Int 21/AX=4452h
</TITLE>
<META NAME="Description" CONTENT="
Int 21/AX=4452h - DR DOS 3.41+ - DETERMINE DOS TYPE/GET DR DOS VERSION -
AX = 4452h (DR)
CF set
Return: CF set if not DR DOS
AX = error code (see #01680 at AH=59h/BX=0000h)
CF clear if DR DOS
AX = version code
AH = single-user/multiuser nature (see #01581)
10h single-user
AL = operating system version ID (see #01580)
14h multiuser
">
<META NAME="robots" CONTENT="none">
</HEAD>
<BODY BGCOLOR="#FFD0A0">
<center>
<h2>Int 21/AX=4452h
</h2>
</center><p>
<table border=1 cellpadding=3 cellspacing=1>
<td>
<a href="rb-2919.htm" tppabs="http://www.ctyme.com/intr/rb-2919.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-2921.htm" tppabs="http://www.ctyme.com/intr/rb-2921.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>DR DOS 3.41+ - DETERMINE DOS TYPE/GET DR DOS VERSION</font></h3>
<PRE>
AX = 4452h ("DR")
CF set<br>
<p><b>Return:</b><br>CF set if not DR DOS
AX = error code <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 #01680 at AH=59h/BX=0000h)
CF clear if DR DOS
AX = version code
AH = single-user/multiuser nature <a href="rb-2920.htm#Table1581" tppabs="http://www.ctyme.com/intr/rb-2920.htm#Table1581">(see #01581)</a>
10h single-user
AL = operating system version ID <a href="rb-2920.htm#Table1580" tppabs="http://www.ctyme.com/intr/rb-2920.htm#Table1580">(see #01580)</a>
14h multiuser
AL = operating system version ID <a href="rb-2919.htm#Table1579" tppabs="http://www.ctyme.com/intr/rb-2919.htm#Table1579">(see #01579)</a>
DX modified (refer to note below)
</PRE>
<p><b>Notes:</b>
The DR DOS version is stored in the environment variable VER.
Use this function if looking for single-user capabilities, AX=4451h
if looking for multiuser; this call should never return multiuser
values.
In DR DOS 3.41-6.0, DX=AX on return; for Novell DOS 7, DH=AH but DL=00h
(reportedly, DH=00h when booting NWDOS7 from installation disks).
Novell DOS 7 returns error code 0001h if SETVER x.255 is in effect for
the calling program, or SETVER /G x.255 is in effect.
Although based on DR DOS, CCI Multiuser DOS 7.xx,
IMS Multiuser DOS 7.x, and IMS REAL/32 7.50+ do not support this call.
With OpenDOS 7.02 BETA 2 and DR-OpenDOS 7.02+, the install check
in most tools has been changed to run with both, AH=10h and AH=14h
to support possible future "client side" multiuser releases of
DR-DOS which may return 14h instead of 10h. Tools should also strip
off the CP/Net bit before checking the kernel version.
Often used version checks like >= 1070h are invalid, therefore,
hence the AH and AL must be checked seperately..
In DR DOS 3.31-6.0, and DR PalmDOS, DX=AX on return..
For Novell DOS 7 - DR DOS 7.03 the DX value returned by this function
is the same as the DX value returned by INT 21/AX=3306h, and
represents the DOS revision (bits 7-0, currently always DL=00h) and
the version flags (bits 15-8, with bit 12 = DOS in HMA, bit 11 = DOS
in ROM) of the "patch_version" field in the PCM_HEADER structure in
the IBMDOS.COM file. The version flags, however, are updated at
runtime to reflect the actual system status, resulting, for example,
in DH=10h for DOS in HMA, and DH=0 when booting Novell DOS 7 from
installation disks..
The operating system version ID represents the BDOS (Basic Disk
Operating System) kernel version (of the DRBDOS.SYS aka IBMDOS.COM
file), and the two nibbles can actually be read as CP/M version
and sub-version, that is DR-DOS 7.03 (version code 1073h) is
actually CP/M-86 version 7.3..
Due to lost original patch sources from the backups, Caldera OpenDOS
7.01 merely represented Novell DOS 7 Update 10 with minor changes..
For Caldera DR-OpenDOS 7.02, all the Novell DOS 7 patches up to
including Update 15.2 have been re-incorporated into the system
from other sources, while the missing patches for IBMBIO.COM were
independently re-implemented by Matthias Paul in 07/1997-10/1997..
Novell DOS 7 (since 1993-11-08), OpenDOS 7.01 and OpenDOS 7.02 BETA
IBMDOS.COM return error code 0001h if SETVER x.255 is in effect
for the calling program, or SETVER /G x.255 is in effect..
Since Caldera DR-OpenDOS 7.02 the SHARE 2.05+ (1998-01-05) driver
<PRE>
<p><b>uses INT 21/AX=65A2h as an *additional* BDOS version check:</b><br>If the
"FUCASE char" function is functional on a DR-DOS BDOS kernel 72h+,
SHARE assumes it is running on an OpenDOS 7.02 BETA 1 (73h) kernel
(or later) even if the BDOS version returned by INT 21/AX=4452h would
indicate an earlier issue of the kernel. Some 3rd party drivers
(like HPFS_DOS.EXE) were hardwired to detect Novell DOS 7 only,
and so the kernel version had to be patched back on such systems
to allow such drivers to work properly. The BDOS version and DOS
revision are stored in PCM_HEADER of the IBMDOS.COM file, see
table XXXX below..
However, this is no longer necessary with the introduction of the
DR-DOS 7.02+ IBMDOS.COM (since 1998-01-10) and SETVER 1.01+
(since 1998-01-12) because they allow to fake BDOS versions as well
as faking DOS versions. In /X mode, a set sub-version of y = 100..127
will be used as BDOS version instead (64h..7Fh), while the DOS
revision will be used to report the DOS sub-version instead. For
example, given a DOS revision of 0, SETVER 6.114 would be the proper
value to fake Novell DOS 7 (114=72h) on a DR-DOS 7.02+ system,
reporting a DOS version of "IBM" 6.00. Sub-versions 128..255 will
completely disable this BDOS version check, and report a DOS sub-
version of 0..127. This is to work around problems with possibly
hostile programs, that try to detect DR-DOS to not run on this OS..
<p><b>Additional version check for 1072h kernels:</b><br>At API level, there
is no known way to distinguish Novell DOS 7 from OpenDOS 7.01,
however, an IBMBIO.COM/IBMDOS.COM file date since 1997 and the
existance of an environment variable %OS%=OPENDOS usually indicates
an OpenDOS system (but not the other way around; some OpenDOS
BETAs still used %OS%=NWDOS!)..
<p><b>Additional version checks for 1073h kernels:</b><br>A functional test of
INT 21/AX=65A2h (see above for SHARE) can be used to distinguish
OpenDOS 7.02 BETA 1 from the later (OpenDOS 7.02 BETA 2+ and)
DR-OpenDOS 7.02 and DR-DOS 7.02 releases, which are both the
same, except for the name change and minor bug fixes. Testing
for the INT 21/AX=6601h/BX=0000h bug can be used to differentiate the
original release of DR-DOS 7.02 from later 7.02 updates and
DR-DOS 7.03..
The DR DOS version is stored in the environment variable VER.
</PRE>
<p><b>See Also:</b>
<a href="rb-2913.htm" tppabs="http://www.ctyme.com/intr/rb-2913.htm">AX=4412h</a> - <a href="rb-2919.htm" tppabs="http://www.ctyme.com/intr/rb-2919.htm">AX=4451h</a> - <a href="rb-2926.htm" tppabs="http://www.ctyme.com/intr/rb-2926.htm">AX=4459h</a>
<PRE>
<p>
<a name=table1580></a>
(Table 01580)
Values for Digital Research operating system version ID:
41h DOS Plus 1.2
60h DOS Plus 2.0 or 2.1
63h DR DOS 3.41
64h DR DOS 3.42
65h DR DOS 5.0
67h DR DOS 6.0
70h PalmDOS
71h DR DOS 6.0 March 1993 "business update"
72h Novell DOS 7.0
73h OpenDOS 7.02
</PRE>
<p><b>See Also:</b>
#01579 - #01581 - #04088 - #04023
<PRE>
<p>
<a name=table4088></a>
(Table 04088)
Values for Digital Research operating system ID codes (full AX return value):
??41h - DOS Plus 1.2
1060h - DOS Plus 2.0 or 2.1 (1988-03-09???)
(this was basically a Concurrent CP/M-86 with built-in DOS emulation
developed between 1983-1986)
1060h - DR DOS 3.31 (OEM) (1988-04-27???, 06/1988).
- DR DOS 3.32 (OEM) (1988-08-17).
- DR DOS 3.33 (OEM) (1988-09-01).
- DR DOS 3.34 (OEM).
- DR DOS 3.35 (OEM) (1988-10-21)
<p><b>for example:</b><br>At least an issue for "Prism System 232" (10/1988)
and a French issue existed.
106?h - DR DOS 3.40 BETA 1 (1988-11-11).
- DR DOS 3.40
(This is the first issue for sure known to be ROMmable, although
DR DOS should have been ROMmable right from the start (1987).)
1063h - DR DOS 3.41 various OEM and retail releases (06/1989-07/1989).
- DR DOS 3.41T
1064h - DR DOS 3.42
(It is not clear, if this issue was actually released, since Lineo
recently (fall 1999) released some historical kernels, and one of
them is sailing under the name DR DOS 5.0 "Leopard" BETA 1 and has
copyright strings from 1990, while it still identifies itself as
being DR DOS 3.41... Unfortunately the uploaded archive is broken,
hence it is not possible to find out easily. Maybe DR DOS 3.42 was
nothing more than this early "Leopard" BETA???)
1065h - DR DOS ??? (1990-02-01).
- DR DOS 5.0 "Leopard" BETA 2 (1990-03-16),.
- DR DOS 5.0 "Leopard" BETA 2B
(This was the first issue to use the new IBMBIO.COM/IBMDOS.COM
names instead of DRBIOS.SYS/DRBDOS.SYS.).
- DR DOS 5.0 "Leopard" BETA 3
(This issue still uses separate boot sectors for floppies and
harddisks. The boot sector OEM label is still "DIGITAL".).
- DR DOS 5.0 release (06/1990, 08/1990)
(This issue has a combined boot sector for both, floppies and
harddisks. The boot sector OEM label has changed to "IBM 3.3".
DR DOS 5.0 was the first DOS to introduce high-load capabilities.)
1066h - DR DOS ??? (1990-08-09).
- DR DOS 6.0 "Buxton" ALPHA (02/1991-03/1991)
1067h - DR DOS ??? (1991-03-15)
106?h - DR DOS 6.0 "Buxton" BETA 2 (??/1991)
106?h - DR DOS 6.0 "Buxton" BETA 3 (05/1991, 1991-06-27, 1991-06-28)
1067h - DR DOS 6.0 release (05/1991, 08/1991).
<p><b>- DR DOS 6.0 BDOS patch "PAT304" English (1991-11-29, XDIR /C:</b><br>9D8Ch)
fix for "\\" in cmdline by Quick Basic 4.5/MS PDS 7.1 on Lantastic 4.0.
<p><b>- DR DOS 6.0 BDOS patch "PAT303" English (1991-12-03, XDIR /C:</b><br>66B0h)
This patch makes INT 21/AH=4Eh (Search First) compatible with MS-DOS
when the Volume Label attribute is set. Previously under DR DOS the
volume label was only searched for if bit 3 was the only bit set in
the attribute whereas MS-DOS searches for the volume label if bit 3
is set, irrespective of any other bits in the attribute..
<p><b>- DR DOS 6.0 BDOS patch "PAT306" English (1991-12-11, XDIR /C:</b><br>8DE5h)
This patch fixes a problem with OPTASM which would give error 8
if there were not enough handles available. This patch forces the
system to check for available handles before it opens a file..
<p><b>- DR DOS 6.0 BDOS patch "PAT312" English (1992-01-07, XDIR /C:</b><br>A0C6h)
This patch fixes a problem with INT 21/AH=26h (create PSP) the
segment from which the PSP was copied was incorrect so the the PSP
was not filled correctly and did not contain the command tail..
<p><b>- DR DOS 6.0 BDOS patch "PAT314" English (1992-01-10, XDIR /C:</b><br>C964h)
This patch modifies INT 21/AX=33xxh, the Ctrl Break handler to
support undocumented MS-DOS function INT 21/AX=3302h..
<p><b>- DR DOS 6.0 BIOS patch "PAT315" English (1992-01-10, XDIR /C:</b><br>DBAAh)
This patch fixes a problem where, when booting from a Bernoulli
drive, any DEVICE= statement in CONFIG.SYS failed if it was placed
after the device driver RCD.SYS v7.x and DOSOAD.SYS v1.x.
<p><b>- DR DOS 6.0 BDOS patch "PAT317" English (1992-01-27, XDIR /C:</b><br>B701h)
This patch fixes a problem where attempting to close a changed file
on a write protected disk seems to work after the first retry.
This was caused because when the retry is attempted the file has been
marked as not changed, so the attempt to write to disk is not made..
<p><b>- DR DOS 6.0 BDOS patch "PAT321" English (1992-02-19, XDIR /C:</b><br>947Bh)
This patch fixes a problem where the error codes returned from
INT 25h and INT 26h for "drive not ready" and "write protect"
errors were incorrect..
<p><b>- DR DOS 6.0 BDOS patch "PAT323" English (1992-02-20, XDIR /C:</b><br>E1B0h)
This patch fixes a problem where, if the first command entered after
booting the machine is a single character, any use of the command
line recall keys will only recall the first command..
- DR DOS 6.0 ??? German (1992-02-21).
- DR DOS 6.0 update (02/1992).
<p><b>- DR DOS 6.0 BDOS patch "PAT326" English (1992-03-05, XDIR /C:</b><br>8EF2h)
This is an optional patch to prevent DRDOS from padding the
environment of EXEPACKed applications or utilities..
- DR DOS 6.0 ??? German (1992-03-27).
<p><b>- DR DOS 6.0 BDOS patch "PAT334" English (1992-03-27, XDIR /C:</b><br>2AFEh)
This patch fixes a problem where selecting (R)etry after hitting ^P
while the printer is offline caused the system to hang..
- DR DOS 6.0 "Windows 3.1 update, April 1992" "dr6win" (03/1992,
1992-04-07). This public update only includes patches addressing
full Windows 3.1 compatiblity. There should have been a full
"business update" for registered users, shipping a little bit later..
- DR DOS 6.0 ??? English (1992-04-07).
<p><b>- DR DOS 6.0 BDOS patch "pat354" English (1992-07-28, XDIR /C:</b><br>3398h)
<p><b>This patch for Beame and Whiteside Networks:</b><br>On opening a duplicate
file handle which describes a device, a device open call is made to
inform the device driver that a new file handle has been opened.
This patch is current and up to date as of 1992-11-10..
- DR DOS 6.0 update (07/1992).
<p><b>- DR DOS 6.0 BDOS patch "PAT301" English (1992-10-28, XDIR /C:</b><br>959Bh)
This patch fixes a problem with apps that opens a file, with Share
loaded, but then cannot delete the file until the file is closed.
This causes "Money Manager" to fail..
- DR DOS 6.0 update (11/1992).
</PRE>
<p><b>Note:</b>
There is no known method to distinguish these different kernels
at runtime, except for - maybe - checksumming the IBMBIO.COM/
IBMDOS.COM files.
The listed patches only address a single problem, while the
listed updates are full rebuilds, also including all previous
fixes.
1070h - multitasking "Vladivar" kernel architecture and introduction of
DOS-like structures (1991-07-26, 08/1991).
- DR DOS ??? (1991-09-26).
- DR PalmDOS "Merlin" BETA 1-2.
- DR PalmDOS "Merlin" BETA 3 (1992-06-23).
- DR PalmDOS "Merlin" Evaluation Release (1992-08-25).
- DR PalmDOS Release Candidates 1-2 (1992-08-26).
- DR PalmDOS/NetWare PalmDOS 1.0 (06/1992-11/1992)
(DR PalmDOS was the first DR DOS re-incarnation that supported
a genuine CDS, but still pretended to be DOS 3.31. Much of the
former CP/M stuff was stripped out to reduce the code size to meet
early Palmtop PC requirements. It introduced the patented dynamic
idle detection method (by Roger Gross), a special issue of the
TASKMAX program switcher (MINIMAX) to support Personal Information
Modules (PIM) plug-in executables, supported Flash/ROM disk,
XIP "Execute in Place" applications, and came with PCMCIA Card
Services and Service Stack (SS) partially written by Ian Cullimore
(ex-Poquet Computer Corporation founder)..
- DR DOS "Panther" BETA 1 (1992-10-16)
(This issue already supported DPMS, had the "Vladivar" pre-emptive
multitasker, DPMS-SuperStor disk compression, Multiuser-security
(World/Group/Owner), and much improved multi-windowing ViewMAX/3 GUI
which looked alot more like Windows than GEM. It pretended to be
PC DOS 5. However, this issue was never released and later partially
merged into the Novell DOS 7 project (without Multiuser-security and
ViewMAX/3). In 1999, Caldera Thin Clients released ViewMAX/3 under
GPL, see http://www.gemworld.com.)
1070h??? - DR DOS "StarTrek" (STDOS) (07/1992-05/1993)
(A never released, though reportedly fully functional result of
a Novell and Apple team-up utilizing the DR DOS "Vladivar" multi-
tasker to run Apple's Intel-port of MacOS 7.1 on an issue of DR DOS
"Panther", even emulating HFS and Mac resources on DOS FAT file-
systems.)
1071h - DR DOS ??? (1992-11-26).
- DR DOS 6.0 "business update" "DRDOS493" English for
Windows for Workgroups 3.1 (1993-03-19).
- DR DOS 6.0 patch "PATDR6" English (1993-03-19) for NetWare.
- DR DOS 6.0 patch "PAT394" English (1993-09-17).
- Apparently also some issues of DR DOS "Panther"???
1072h - Novell DOS 7/PNW "Smirnoff" BETA 1 (??/1993, probably 1993-04-26).
- Novell DOS 7 "Panther" BETA 2 (08/1993)
(This "Panther" issue is much different from the early 10/1992
"Panther" BETA 1.).
- Novell DOS 7 "Panther/Smirnoff" BETA 2 (08/1993).
- Novell DOS 7 "Panther/Smirnoff" BETA 3 (09/1993)
(This issue does not have workarounds for Windows 3.1 "AARD" code).
- Novell DOS 7 "Panther/Smirnoff" BETA 4 (10/1993).
- Novell DOS 7 code freeze 1993-12-03???).
- Novell DOS 7 release (12/1993-04/1994)
(also known as NWDOS or ND7, sometimes erroneously called NDOS).
- Novell DOS 7 German release (1994-02-22)
(This issue is known to have workarounds for Windows 3.1 "AARD" code).
- Novell DOS 7 updates 1-3 (???/1994).
- Novell DOS 7 update 4 (1994-05-31).
- Novell DOS 7 updates 5-9 (???/1994).
- Novell DOS 7 update 10 (12/1994).
- Novell DOS 7 update 11 (01/1995).
- Novell DOS 7 update 12 (04/1995).
- Novell DOS 7 update 13 (05/1995).
- Novell DOS 7 update 14 (08-09/1995).
- Novell DOS 7 update 15 (12/1995).
- Novell DOS 7 update 15.2 (01/1996)
<p><b>Note:</b>
The Novell DOS 7 updates 4-15.2 are full rebuilds, not patched
binaries..
- Caldera OpenDOS 7.01 BETA (02/1997)
(basically representing Novell DOS 7 update 10 with minor
changes here and there).
- Caldera OpenDOS 7.01 (02-03/1997).
- Caldera OpenDOS 7.01 M.R.S. (05/1997)
(release of the kernel source code).
- Matthias Paul's enhanced OpenDOS 7.02 ALPHA 1-4 kernels (07-11/1997)
1073h - Caldera OpenDOS 7.02 BETA 1 (09/1997)
(incorporating most the Novell DOS 7 update 15.2 changes,
except for IBMBIO.COM changes, plus a few other enhancements).
- Caldera OpenDOS 7.02 BETA 2 (11/1997)
(now also incorporating Matthias Paul's ALPHA 4 enhancements,
the Novell DOS update 15.2 IBMBIO.COM patches have been
re-implemented).
- Caldera OpenDOS 7.02 BETA 2A (12/1997)
(now incorporating all Novell DOS 7 update 15.2 changes).
- Caldera DR-OpenDOS 7.02 (1997-12-2x)
(now for the first time the product name is written with a hyphen!!!).
- Caldera DR-DOS 7.02 internal build (02/1998).
- Caldera DR-DOS 7.02 release (03/1998).
- Caldera DR-DOS 7.02A release (06/1998).
- DR-DOS 7.02 Update 1 (08/1998).
- DR-DOS 7.02 Update 2 (09/1998).
- Caldera (Thin Clients) DR-DOS 7.03 BETA (1998-12-03),
sometimes referred to as "DR-DOS 7.03 BETA 3".
- Caldera (Thin Clients) DR-DOS 7.03 release (1998-12-24, 1999-01-06).
- Lineo DR-DOS 7.03 release (1999-06-07, 1999-09-09)
(this issue has no functional changes compared to the 1999-01-06
issue of DR-DOS 7.03)
<p><b>See Also:</b>
#01580 - #01579 - #01581 - #04023
<PRE>
<p>
Bitfields for CP/M type indicator:
<a name=table1581></a>
Bit(s) Description (Table 01581)
7-4 CPU type.
0000 = 8080.
0001 = 8086
3-0 OS type.
0000 = CP/M.
0001 = MP/M.
0002 = CP/Net.
0004 = multiuser
</PRE>
<p><b>Notes:</b>
Usually 10h (single-user) or 14h (multi-user)..
While earlier releases of the system utilities performed a test for
a version code of (>)= (10)xxh, this was changed with
DR-OpenDOS 7.02+ (now taking a possible multi-user version into
<PRE>
<p><b>account):</b><br>Most utilities now test for AH being either 10h or 14h,
and a BDOS version >=xxh to allow them to properly run on possible
future multi-user releases of DR-DOS. Before doing this test, some
of them strip off the CP/Net bit.
</PRE>
<p><b>See Also:</b>
#01580
<p>
<b>Category: <a href="cat-030.htm" tppabs="http://www.ctyme.com/intr/cat-030.htm">
Other Operating Systems</a>
- <a href="int-21.htm" tppabs="http://www.ctyme.com/intr/int-21.htm">
Int 21h</a>
- <a href="alpha-d.htm" tppabs="http://www.ctyme.com/intr/alpha-d.htm">
D</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-2919.htm" tppabs="http://www.ctyme.com/intr/rb-2919.htm">
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
<a href="rb-2921.htm" tppabs="http://www.ctyme.com/intr/rb-2921.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>