TealMaster
User's Manual
Program Version 2.22
Last Updated:
Introduction
Contents
Installing
Chapter 1 – Overview
Background
Hacks
TealMaster
Chapter 2 – Using the Program
Controls
How hacks work
An Issue of Priority
Preferences
Profile Mapping
Special Menus
Show Active Patches
Analyze Patches
Activation after Reset
PalmOS 5.0 Emulation
Chapter 3 – Hacks
Where do I get Hacks?
Updating/Deleting Hacks
Chapter 4 – Troubleshooting
PalmOS 5.0 Emulation
Crashes
“Dead” Hacks
Compatibility
Appendix A – External Calling Mechanism
Appendix B – Revision History
Appendix C – Credits
Appendix D – Contact Info
Appendix E – Registering
Appendix F – Products
Appendix G – Disclaimer
TealMaster is a Hackmaster-compatible system extensions manager. It provides a standard way to safely enhance the functionality of the Palm through third-party add-on system extensions, commonly called “hacks”, and the only way to run selected hacks under PalmOS 5.0 and higher and the new PalmOS handhelds based on ARM processors.
This archive contains the following files:
Program Files:
TEALMSTR.PRC The
"TealMaster" program file
SETUP.EXE Easy installer program (Windows only)
Manual files:
MSTRDOC.PDF This manual in Adobe PDF format
MSTRDOC.HTM This manual in HTML format
MSTRDOC.PRC This manual in TealDoc Palm-readable format
REGISTER.TXT TealPoint Registration form in text format
REGISTER.HTM TealPoint Registration form in HTML
format
Use the Palm install tool to install the program file TEALMSTR.PRC. The Palm install tool can be found as an icon on the left hand side of the Palm Desktop program on the desktop PC.
In order to be useful, you’ll also need to install some system extensions, commonly called “Hacks”. A number of these are available on the TealPoint Software web site, including TealMagnify, TealGlance, TealNotes, and TealEcho. Dozens of other shareware or free hacks are available online at Palm archive sites like PalmGear HQ.
If you have an external SD/MMC or similar expansion card capability, please note that TealMaster and system extensions must all be installed directly to main handheld memory and not to external expansion cards which might be removed.
You may also optionally install MSTRDOC.PRC, which is this manual in Palm-readable format, which can be read on the handheld with our program TealDoc.
On a
Windows PC: you
can also alternatively use quick setup installer by double clicking on the SETUP.EXE
installer program, and following the on screen prompts.
Important note:
Before updating or deleting any system extension loaded into TealMaster, be
sure to uncheck the extension first in the TealMaster control screen, or your
Palm will likely crash. If you are running another system extensions manager
such as Hackmaster, you MUST first turn off all hacks in that other
program as well before running TealMaster.
Lastly, before updating or deleting the TealMaster program itself, you
must turn off the “Protect from delete” option in TealMaster’s preferences
screen, “Profile switching”, and all hacks, as they will keep the program from
being overwritten or deleted.
TealMaster provides a standard interface to manage and run Palm system extensions, called “hacks”. These extensions provide special functionality not possible with a standard Palm app, such as adding additional fonts, providing pop-up tools, enhancing the find mechanism, extending the text entry keyboard, replacing the system sounds, or adding basic program multitasking, something not supported by the PalmOS.
The PalmOS operating system provides a standard, easy-to-use interface and well thought-out programming framework for applications. Soon after its premiere on the original 128k Pilot organizer, however, ingenious developers started to see a need to enhance the system’s functionality beyond its original design. Most operating systems provide ways to safely extend functionality while offering a central interface for configuration and minimizing the possibility of conflicts. The Palm OS, however, does not.
In 1996, Edward Keyes saw this need and designed the hack extension mechanism for his program Hackmaster, the first system extensions manager for the Palm OS. It provided a standard way to write OS-enhancing programs that don’t accidentally turn each other off, a common activation interface, and centralized configuration panels.
TealMaster improves on the original extensions manager, adding additional device compatibility, improved stability, extra configuration options, automatic activation, and new status and debug information tools.
With TealMaster 2.0’s exclusive “PalmOS 5.0 trap emulation”, many hacks can also be run on the new handhelds based on ARM processors, a feature available nowhere else.
After installing TealMaster and the Hacks you want to run, start TealMaster by tapping on its icon on the Palm applications launcher screen.
An alphabetical list of installed hacks will appear, as well as their size, priority, and active state.
To the left of each Hack’s name is a checkbox indicating whether the current hack is currently activated, and a number indicating the Hack’s current priority. The priority can be set to a value ranging from 1 (highest priority) to 5 (lowest priority), and determines the order in which competing hacks are hooked into operating system functions. See the next section of this document to see how priority can be used to tune hack performance.
To the right of each name are two buttons. Tapping the “?” (question mark) button brings up an “about” window put up by the hack. The “+” (plus) button, if present, brings up the configuration and control panel specific to the hack.
Profile Selector
At the top right corner of the screen is the profile selector, which can take two forms. In it’s first form, it appears as six pushbuttons, marked Off, A, B, C, D, and E. In its second form, it appears as a drop-down list similar to the one used to choose categories, and also contains six entries in addition to one used to change the names of profiles.
The entries represent the one inactive and five active pages of settings “snapshots” which can independently adjusted and saved. On each page, you can select which hacks are activated and what their priorities are. The profile pages let you save different settings combinations you can quickly swap between for different activities, say, normal use and playing games. When the “disable” (off) profile is selected, all hacks are turned off. Before any hacks can be activated, an alternate active profile must be selected.
Actions
At the bottom of the screen are three pushbuttons: Info,
Lastly, to the right of the two selectors are Reset, All On, and All Off buttons, which can be used to soft reset the Palm or easily activate or deactivate all hacks at once.
PalmOS provides approximately 1000 system functions, or traps where applications can call the OS to ask for a service or implement a particular task, such as writing text to the screen or allocating memory. Hacks extend the OS by capturing, or patching, the entry point of a function, so when the current application calls the OS function, it calls the hack instead. Some hacks replace one or more OS functions entirely, while others only use the function simply as a way of starting their own code, calling the original function so it maintains its original behavior.
For instance, FindHack replaces the system Find command, so when you press on the silkscreened “Find” button you get FindHack’s window instead of the standard system find window. Popup programs are examples of the second type of system patch. Many of these patch the SysHandleEvent function, which applications use to see if the screen has been tapped, a button pressed, or other events have occurred. By patching this function and then calling the standard OS function most of the time, hacks can monitor events as they occur and do nothing most of the time but popup up their windows when a specific button or pen stroke is detected.
When multiple hacks want to patch the same function, they typically chain together in a list, which each hack passing on the original call to the next hack when it is done. Sometimes, the order in which the hacks are chained will alter how they behave. For instance, if two hacks both patch SysHandleEvent waiting for the same pen stroke, the one which is earlier in the chain will see the stroke first, and may not pass on the stroke to the second hack if it does.
In these cases, you can often manually manipulate the order in which the hacks respond by setting the relative priorities of the hacks. Higher priority hacks (with a lower number) will be linked earlier in the chain and will thus be activated first. This will not be effective, however, when the hacks patch different system functions to perform similar tasks.
This issue is even more important when a hack, by design, does not pass on the original function call because they entirely replace the standard system trap. In these cases, the hack must always be linked last in the list of patches for that function, as other hacks patching that function will not otherwise get called.
Advanced note: Sometimes, when two hacks are patching the same trap, the hack with the lower priority will actually activate sooner rather than later. This can occasionally occur if the hacks are written internally to activate after they’ve chained to the next hack in the list. When this is the case, the hack later in the chain will actually activate first, because it will be able to perform its functions while the hack which called it is still waiting for it to return and relinquish control of the CPU. When this occurs, reverse the priorities to achieve the desired results.
The Preferences Menu brings up a dialog screen that lets you set various options.
Auto-Activate Delay
If hacks are active when a system reset is executed, TealMaster will bring up a dialog box allowing you to reactivate those hacks. With the auto-activate delay, you can automatically reactivate after a specified number of seconds of inactivity.
Add version numbers in
list
If set, this option adds version numbers next to the displayed hack names on the list of hacks.
Show profile selector
as pop list
If this option is set, the profile selector is shown as a popup list of named profiles. If unchecked, profiles are selected by tapping on one of six pushbuttons.
Protect Hacks
The “protect hacks” option keeps someone from accidentally deleting an active hack from outside TealMaster or installing a newer version of the hack while the old version is still running. When active, note that TealMaster is itself protected, so that it cannot be deleted or overwritten with a newer version.
With profile mapping, the active profile can automatically be changed whenever you start a new application. To set it, choose the Profile Mapping item from TealMaster’s drop down menu.
Activate profile mapping by checking the activation checkbox at the top of the window. Note that when this option is set, delete-protection is also activated to keep TealMaster from being deleted or overwritten while it is still hooked into the operating system.
Mapping Options
If the “Beep on profile change” option is set, TealMaster will beep twice quickly whenever the standard profile is automatically changed or restored due to profile mapping.
Mapping Choices
Any of the five profile pages can be mapped to an
application, or the “Hacks off” option can be set to turn off all hacks
when starting that app. With the “Default”
option, the active profile reverts to the last profile manually set within
TealMaster, while with the “No Change” option the current profile is
left unchanged from its value in the previous app.
Without both an intimate knowledge of the PalmOS and some knowledge of the inner workings of a hack, it’s often not be possible to diagnose an interaction between two hacks, but TealMaster provides some powerful tools to help diagnose possible problems and learn a little bit about the PalmOS in the process.
This menu shows a list of all OS functions patched by active hacks, sorted by system function number and hack link order. Next to each hack name is its priority number to help aide in resorting hacks by adjusting priority. Tapping on the Copy button will copy the screen text to the system clipboard, where it can be pasted into a MemoPad memo or other program, while the Print button will send the text to a printer if TealPrint is installed.
This menu shows a quick count of the hacks installed on your Palm and the functions they patch. Its most useful feature, however, is the ability to detect lost or stolen patches.
For various reasons, some programs such as security programs or hardware drivers patch system functions outside the hack standard. Sometimes, if written poorly, when they remove their patches, they can cut off active hacks from the functions they patch, leaving hacks inactive or malfunctioning. Incidentally, this is the type of interaction the hack mechanism was designed to prevent.
When this occurs, the Patch Analysis will show a stolen patch and the first hack in the chain to be cut off. In fact, if more than one hack patches the same OS function, then they are likely all cut off as well. When this occurs, it’s important to note that the system may be unstable, and no hacks should be enabled or disabled until the external program is identified and the stolen patch restored. As a last resort, a Palm can be reset using the pinhole in the back of the Palm, with no data loss if the conflicting program did no permanent damage.
When the Palm is reset either manually or due to a system crash, TealMaster brings up a dialog afterwards to reactivate whatever hacks were running prior to the reset. You may choose to reactivate the hacks or not, or alternately select the Choose option, which will leave the “Off” profile set, and thus all hacks off, but will launch TealMaster, where you can select a profile to activate and manually choose hacks. Lastly, if you have set an automatic reactivate time in TealMaster’s preferences, a countdown number will appear after a reset and the Reactivate option will automatically be selected if no button is tapped before time runs out.
Under PalmOS 5.0 and the newer ARM-based handhelds,
the standard system trap-patching mechanism has been obsoleted, leaving a vast
library of useful hacks unsupported and up to now, useless.
Instead, PalmSource has provided a new
system-extension mechanism that can be
used to implement much of the functionality currently used by simple hacks, but
this is not compatible with the current hack standard.
TealMaster, however, uses the new mechanism to emulate
the old one, enabling many hacks to run, even under OS 5.0 and the new
devices. This functionality works with
major classes of hacks, but only if those hacks use emulated
functions and don't do things which are otherwise incompatible with the new
operating system. Still, very many
hacks fall into these categories, leaving much promise for the new
compatibility mode.
The compatibility system works with hacks which patch
any of seven common operating system functions.
The “PalmOS 5.0 Emulation” menu can be used to select which of these
traps are emulated.
Supported
Hacks
Under OS5,
the main hack list displays icons next to hacks which may not run because they
use one or more non-emulated system traps.
Hacks requiring exclusively non-emulated traps will definitely not run
and will be marked by a red “X” icon.
Hacks which
display a yellow triangle icon indicate that the hack uses a combination of emulated
and unsupported traps, indicating that some or all features of the hack may not
work properly. Some hacks may display
the warning icon and still function perfectly well because they use additional
traps solely for functionality needed on older devices.
The absence of an icon does not by itself indicate OS5
compatibility either, as the hack may have other problems associated with
running under OS5, but is usually a good indicator that the hack can be made
OS5-compatible if it is not already.
System
Events
The first two functions, 'SysHandleEvent' and 'EvtGetEvent',
are typically patched by some hacks to detect user-initiated events such as pen
taps and button presses. This includes
most launchers and pop-up utility hacks.
TealMaster can simulate both function calls fairly well, though the
emulation may be imperfect for hacks which rely on changing the system idle
sleep time passed to ‘EvtGetEvent’ or
hacks which patch ‘SysHandleEvent’
but manipulate how the data is passed to the system and underlying application.
Application
Launching
TealMaster also supports emulation of the system
function ‘SysUIAppSwitch’. This function is typically used by hacks to
detect switching of applications, possibly to, say, password protect specified
programs or activate or deactivate certain companion programs.
Find Button
A number of hacks, such as TealMagnify, trap the PalmOS ‘Find’
function as a way of detecting a tap on the silkscreened “find” button. TealMaster can emulate this function to
duplicate this behaviour. Note, however, that this is not enough to
allow enhanced-search hacks such as “FindHack” to run, as they require
replacement of other PalmOS functions not currently possible under PalmOS 5.0.
Graffiti Pen
Strokes
While System Event functions can also be used, many
hacks use ‘EvtProcessSoftKeyStroke’
to detect custom pen strokes in the silkscreened area, typically from a
silkscreened button to the graffiti writing area or to another button. These are often used to open a pop-up window
or set a background setting, and are emulated in TealMaster under PalmOS 5.0.
Keyboard Activation
Other popular hacks utilize the PalmOS ‘SysKeyboardDialog‘ function to detect
and replace the system pop-up keyboard.
This emulation is supported in TealMaster under PalmOS 5.0 too.
Sleep/Wake
Detection
A final function, ‘SysSleep’,
is normally trapped by hacks to detect either turning on or turning off of the device. Under PalmOS 5.0, separate notifications are
sent for turning on (waking) or turning off (sleeping) of the device, while
hack running under older versions of PalmOS could do both at the same time.
TealMaster uses the new notification mechanism to
simulate one action or the other, but cannot do both simultaneously due to the
system differences. Thus, this emulation
works well with hacks which need to detect either one action or the other, but
both types of hacks typically cannot run simultaneously. Also, hacks which rely on code running both
before turning off the unit and after turning it back on will encounter one
limitation; the hack cannot correctly detect the length of time the unit has
been asleep, and will always act as if the unit was turned on immediately after
being turned off.
A few hacks use two alternate mechanisms ‘HwrDisplayWake’ and ‘HwrDisplaySleep’. These are similar to the newer mechanisms,
and they are emulated too.
An amazing number of useful and entertaining hacks are currently available for low cost or free download. The best source for them major Palm software archives like PalmGear HQ (www.palmgear.com), or, of course, our site (www.tealpoint.com).
When deleting a hack, you must always first uncheck it to unhook it from the operating system and avoid a likely crash. If you use the delete mechanism in TealMaster instead of the Palm launcher delete menu, this will be done for you automatically. You must also disable a hack before HotSyncing a new version of that hack on top of the new one. The Protect Hacks option in TealMaster preferences can be used to prevent this accidental deletion from happening, and will protect TealMaster itself too.
TealMaster is a system extensions manager designed to manage other hack applications. As we cannot control the robustness of other products, we cannot guarantee or control their quality or stability, but we try to resolve or identify issues where we can.
In order for hacks to run properly
under PalmOS 5.0, not only do the traps they need fall under those supported by
emulation, but the hacks must also be compatible with the new screen and
processor limitations and rules which come under PalmOS 5.0 and ARM processors.
As hacks were previously impossible to
run at all on the new devices, there was little point for developers to update
their hacks to follow the new rules. Now
that TealMaster makes it possible, however, hopefully these developers will
update their hacks where necessary and possible.
While hacks are generally safe and reliable to use, crashes sometimes occur, but rarely with any serious consequences. By far the most common causes of crashes running hacks are due to conflicts between hacks and programs or between hacks and each other.
Stack Space
Usually, the problem is due to resource limitations in the PalmOS. PalmOS has no memory management between programs and hacks, and the current program and all active hacks must share common system resources, such as stack space, which is limited to 2 kilobytes in some versions of the Palm OS.
Programs and hacks, if well written, use the minimum system resources necessary to do their jobs. No matter how well written, however, there is a finite limit on how many and what combination of hacks may be simultaneously run. Hacks or programs that are particularly ambitious tend to use more system resources, as do programs written by companies unfamiliar with the Palm platform, many of whom do not take hacks into account as part of their testing or design.
Debugging Conflicts
Thus, if you run into a crash running a hack, the first thing to do is to turn off all other hacks and system-patching program to diagnose the problem. If it works, start turning on other hacks until the crash can be replicated and the maximum stable configuration is determined. If no alternative hacks can be located to alleviate the problem, you may need to make the difficult choice of running only certain combinations of hacks at a time.
First choose the Analyze Patches menu to determine if an external program has cut off the active hack. If so, check to see if an update of that program is available. For instance, the version 1.0 of the Palm Portable Keyboard driver was notorious for both slowing down the system and cutting off hacks, but this has been fixed in version 1.1, downloadable off the Palm web site.
If this does not work, try turning off all other hacks. If some of the hacks are competing for the same system functions, you may need to adjust the priority of the dead hack to bring it to the top of the patch chain. To aid in diagnosing this situation, use the Show Active Patches menu.
A few hacks have been written which interact directly with the Hackmaster program. These hacks explicitly look for Hackmaster by name, and some rely on Hackmaster’s particular workings beyond the system extensions standard interface. For example, some security hacks are written try keep someone from turning them off and expect the Hackmaster interface when doing so. In these cases, the hacks may not work properly with TealMaster until they are modified to expect TealMaster as well.
TealMaster supports custom launch codes for external application support. Launch codes exist to allow programs to query or change the current profile, or to query or set the active state or priority of a specific hack. For more information, check out the developer page at http://www.tealpoint.com/developr.htm for developer information, when available, or contact support@tealpoint.com.
Version
2.22
Version
2.18 March 1. 2004
Version
2.16 July 29. 2003
Version
2.15 May 23. 2003
Version
2.11 May 13. 2003
Version
2.10 April 18. 2003
Version
2.01
Version
2.00
Version 1.00 –
Manual
by Vince Lee,
TealMaster
by TealPoint Software
©1999-2003 All Rights Reserved.
TealPoint
Software
We
look forward to hearing from you.
Please visit us at
www.tealpoint.com, or email us at contact@tealpoint.com.
Registering allows you to use the program
past the 30 day expiration period and turns off registration reminders.
Currently, you may register by
snail mail or online with a credit card and a secured server from the store
where you downloaded the software. For
the first option, send the following information on a sheet of paper separate
from your payment.
·
Product Name
·
E-Mail Address
·
HotSync User ID (Pilot Name
Required for Passkey generation. It can be found on the main screen of the
HotSync application on the Pilot as "Welcome ________" or in the
corner on a PalmIII or higher)
·
Check (drawn off a US Bank) or
Money Order for ($9.95 US). No
international checks or money orders please.
Visit us online for our complete
product line, including:
TEALAGENT ( http://www.tealpoint.com/softagnt.htm
)
A
PC-based Palm data converter, installer, and web clipper which formats local,
network, and web-resident data into standard Palm formats.
TEALALIAS (
http://www.tealpoint.com/softalia.htm )
Making
the most of expansion memory, TealAlias creates placeholder alias files that
automatically find, load, and launch apps and data from external SD cards,
freeing precious main memory.
TEALAUTO (
http://www.tealpoint.com/softauto.htm )
The
complete automobile mileage, service, and expense tracking program, TealAuto
supports unmatched features and customization options.
TEALDOC (
http://www.tealpoint.com/softdoc.htm )
Powerful
reader for Palm documents, e-books, and newspapers, supporting advanced
features such as pictures, links, and flash cards.
TEALECHO (
http://www.tealpoint.com/softecho.htm )
Digital
"ink" lets you see what you write, vastly increasing graffiti writing
speed and accuracy. No more writing
blind!
TEALGLANCE (
http://www.tealpoint.com/softglnc.htm )
Pop-up
utility shows time, date, appointments and to-dos, and other useful information
at power-up. See your day at a glance.
TEALINFO (
http://www.tealpoint.com/softinfo.htm )
A
system for creating and displaying interactive databases, reference works, and
mini-application folios; a handheld reference library.
TEALLAUNCH (
http://www.tealpoint.com/softlnch.htm )
A
pop-up application launcher and mapping utility for launching apps and special
functions from pen taps, graffiti strokes, or button presses.
TEALLOCK ( http://www.tealpoint.com/softlock.htm
)
Secure
automatic locking program with optional data encryption and numerous activation
and customization options.
TEALMAGNIFY (
http://www.tealpoint.com/softlens.htm )
An
ever-ready magnifying glass that works with most any program, TealMagnify saves
your eyes when looking at tiny text.
TEALMASTER (
http://www.tealpoint.com/softmstr.htm )
A
supercharged Hackmaster replacement with 100%-compatibility and enhanced
stability, configuration, diagnostic and activation features, and PalmOS 5.0
support.
TEALMEAL (
http://www.tealpoint.com/softmeal.htm )
A
personal restaurant database and selection wizard. Keep a database of your favorites and easily
find them by type or category.
TEALMEMBRAIN ( http://www.tealpoint.com/softmemb.htm
)
Memory
monitor and stack manager which helps identify conflicts and greatly improves
stability running multiple hacks and drivers.
TEALMOVER (
http://www.tealpoint.com/softmovr.htm )
File
management utility for beaming, deleting, renaming, and copying files both in
memory and on VFS-compatible storage cards.
TEALMOVIE (
http://www.tealpoint.com/softmovi.htm )
High-quality
multimedia system with video and synchronized sound. Includes audio/video player and Windows
AVI/Quicktime converter program.
TEALNOTES (
http://www.tealpoint.com/softnote.htm )
Insert
freehand graphic "Sticky Notes" into memos, to-do lists, address book
entries--almost anywhere you currently have editable text.
TEALPAINT (
http://www.tealpoint.com/softpnt.htm )
The
most powerful paint and sketch app on Palm OS handhelds, featuring 16 tools, 16
patterns, 12 brushes, color, and desktop image conversion.
TEALPHONE (
http://www.tealpoint.com/softphon.htm )
A
powerful Address Book replacement with superior interface, display, search, and
indexing options.
TEALPRINT (
http://www.tealpoint.com/softprnt.htm )
The
all-in-one text and graphic printing solution for Palm OS, supporting infrared,
serial, and HotSync printing to any Windows printer.
TEALSCRIPT ( http://www.tealpoint.com/softscrp.htm
)
An
improved, tunable, Graffiti replacement that supports custom strokes, macros,
better accuracy, and full screen writing under OS5
TEALTOOLS (
http://www.tealpoint.com/softtool.htm )
Six
pop-up desk accessories, including a calculator, clock/stopwatch, preferences
panel, editing panel, memopad, and a file/backup manager.
We at TealPoint Software are
committed to providing quality, easy-to-use software. However, this product is
provided without warranty and the user accepts full responsibility for any
damages, consequential or otherwise, resulting from its use.
This archive is freely
redistributable, provided it is made available only in its complete, unmodified
form with no additional files and for noncommercial purposes only. Any other
use must have prior written authorization from TealPoint Software.
Unauthorized commercial use
includes, but is not limited to:
§
A product for sale.
§
Accompanying a product for sale.
§
Accompanying a magazine, book or
other publication for sale.
§
Distribution with
"Media", "Copying" or other incidental costs.
§
Available for download with access
or download fees.
This program may be used on a trial
basis for 30 days. The program will continue to function afterwards. However, if
after this time you wish to continue using it, please register with us for the
nominal fee listed in the program.
Thank you.
CUSTOMER LICENSE AGREEMENT
YOU ARE ABOUT TO DOWNLOAD, INSTALL, OPEN OR USE PROPRIETARY SOFTWARE OWNED BY TEALPOINT SOFTWARE, INC. CAREFULLY READ THE TERMS AND CONDITIONS OF THIS END USER LICENSE BEFORE DOING SO, AND CLICK BELOW THAT YOU ACCEPT THESE TERMS.
1. License. You are authorized to use the Software Product owned and developed by TealPoint Software, Inc. on a single hand-held computing device on a trial basis for thirty (30) days. If after 30 days you wish to continue using it, you are required to register with TealPoint and pay the specified fee. This license is not exclusive and may not be transferred. You may make one copy of the Software for back-up and archival purposes only.
2. Ownership. You acknowledge that the Software Product is the exclusive property of TealPoint Software, Inc, which owns all copyright, trade secret, patent and other proprietary rights in the Software Product.
3. Restrictions. You may NOT: (a) decompile or reverse engineer the Software Product; (b) copy (except as provided in 1 above) sell, distribute or commercially exploit the Software product; or (c) transfer, assign or sublicense this license.
4. Disclaimer of Warranty and Liability. TEALPOINT MAKES NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY, COMPLETENESS OR FUNCTIONING OF THE LICENSED SOFTWARE, INCLUDING WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE, ALL OF WHICH TEALPOINT DISCLAIMS. ALL LIABILITY IS DISCLAIMED AND TEALPOINT ASSUMES NO RESPONSIBILITY OR LIABILITY FOR LOSS OR DAMAGES OF ANY KIND, DIRECT OR INDIRECT, INCIDENTIAL, CONSEQUENTIAL OR SPECIAL, ARISING OUT OF YOUR USE OF THE LICENSED SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
5. Termination. You may terminate this Agreement at any time by destroying your copy(ies) of the Software Product. The Agreement will also terminate if you do not comply with any of its terms and conditions, at which time you are required to destroy your copy(ies) of the Software Product and cease all use.
6. Applicable Law. This Agreement is governed by the laws of
the State of