You are not permitted to download nor use the following updates unless you are
a registered owner of MAX_FAX.

max_card Priority Update
01-03-14 max_card 4.2l
This version changes the default O/S priority value
so that the idle priority (while waiting for an incoming call) is now
11 rather than 8, to prevent missing calls during heavy user
activity. Added P=rx,tx,idle parameter to allow advanced system
administrators the ability to tune the priorities.
The values are limited: 22 >= rx >= tx >= idle >=1
Download the executable max_card_42l

Y2K Update
While internally MAX_FAX uses time_t to store dates and times, the routine used
to convert the date to readable form to timestamp log file entries was faulty.
So for year 2000 dates, the date is incorrectly recorded as 100-MM-DD. The
following archive contains fixed versions of the offending programs.

You may use or copy the following application software and source code, for
personal or commercial use without charge, but you may
not resell it for profit. This statement must be included in any
copies you distribute. Qenesis Inc. and the author retain all rights and title
to this software and permit its use without any warranty whatsoever. The
examples provided in this software may not be suitable for your unique
situation, so suitability for use of this software or the concepts illustrated
is completely and entirely your own responsibility. By using it, you agree to
waive any right of claim against Qenesis Inc. and the author. Liabilities for
damages is limited to what you paid to use this software, which is zero. If you
live in a location where limitations on liabilities may not be restricted, then
you are not permitted to download this software.

MKLIB is a utility that allows creating a bunch of small .c source files and
then have them automatically put into a library that can be used when you link.
This does not create a shared library that lives in memory, but instead makes
maintenance of many .o files easier for inclusion in your programs.

Dev.arnet is a Dev driver to support the entire line of Arnet asynchronous serial cards.
There is a 32 bit version for QNX 4.23 and later and a 16 bit version for QNX 4.2x.
It supports the following cards:

ComSTAX ISA

ClusterPort ISA

ClusterPort EISA

ClusterPort MCA

SmartPort ISA

SmartPort Plus ISA

SmartPort Plus MCA

SmartPort Lite ISA

PortsPLUS ISA

Extensive help is included which covers the various aspects of configuring the cards
to avoid conflicts with other devices in your computer. Serial wiring diagrams for a
wide range of applications are also provided.

Please note that Arnet products are now available through Digi International.

PlayCD is an audio CD player application written in Photon to work together with
the Creative Labs SoundBlaster series of sound cards. It was written as a
sample application, so you can follow the well-commented source code to see how
things are done. The binary is also included, in case you do not have the
Watcom C compiler available.

PowerHouse X10 is a system for sending signals through the power lines in your
house to devices which can turn your lights and appliances on and off. A
low-level interface provides a square wave, synchronized to the zero crossings
of the mains 60Hz sine wave. It is necessary to provide a signal to this
interface within 10 microseconds of each zero crossing in order to produce the
packet used to signal the devices.

This is an excellent demonstration opportunity to show how a simple QNX and
Photon application can be interfaced with a short interrupt service routine
and showcase some of the graphical possibilities of Photon.

To provide a simple hardware interface, a standard serial port is used.
Conveniently, the modem status lines will provide an interrupt on both a rising
and falling edge, which is exactly what is required. The Dev.ser driver is not
used, and the UART bits are twiddled directly by the interrupt service routine.

The Photon user interface allows the user to select the address of one
device, command it to be turned on or off, and if on, command it to be dimmed or
brightened. Since the packets take almost 1 second to transmit each, it is
common for the user to get ahead of the device, so a current output status is
also displayed.

So this example illustrates the following:

How to write a short interrupt service routine

How to compile an interrupt service routine and link it with a Photon application

How to return a proxy to communicate the interrupt status to the application

How to accept QNX messages within Photon

How to detach the Photon interface from background processes that require time to complete
by queuing commands