I have released versions 3.24 (color and black and white).  

This is a FREE upgrade and is available at:

http://www.palmgear.com/software/showsoftware.cfm?prodID=3584

REMEMBER: Only install the APCalc.prc file.  If you install the 
APCalDB.pdb file, you will overwrite your existing program database.  
You will find only the demo at this link.  Your existing key will 
make the demo, the full registered version.

CHANGE
--------------------------------------------------------------------
This was a maintenance release to 3.23 to add functions to menu.

It has been some time since I have had an update.  This update adds
matrix routines.  Right now they just allow some basic operations. I
plan to add add, mult, etc + inverse, determinent and other matrix 
operations in the near future, including copy, move, etc.

I appreciate hearing any feedback you have on these.  I know that these
are preliminary but I will add more capability, as quickly as I can.

These functions will allow manipulation of up to 3 matrices (0 to 3).
The default value for all 3 matrices is 3x3.  Matrices can be sized,
for now, to 5x5 size.  The matrices use the existing storage
registers.  Matrix parameters range are:

# of matrices      -  3
number of rows     -  0 to 5
number of cols     -  0 to 5
row index          -  0 to 4
col index          -  0 to 4

These functions include:
InitMatrix        mtxi(matrix, row, col, start)
-----------------------------------------------
Use this function to size a matrix.  Matirces are not checked for
overlap, as yet, so that will be up to the user to make sure that
matrices do not overlap.

Ex: mati(0, 4, 5, 20) defines matrix 0 as 4x5 and starts at reg 20
    mati(1, 2, 2, 50) defines matrix 1 as 2x2 and starts at reg 50
	
Return value is the dimension + start register in the following format:
r.cSR where r is row, c is col and SR is starting register.

GetMatrixValue    matg(matrix, row, col)
----------------------------------------
Use this function to get a matrix value.
Ex: mtxg(2, 3, 4) returns the value of matrix 2 at row=2, col=3


SetMatrixValue    mats(matrix, row, col, value)
-----------------------------------------------
FillMatrix        matf(matrix, value)
Use this function to set a matrix value.
Ex: mtxs(2, 3, 4, number) the value of matrix 2 row=2, col=3 to number

DispSizeMatrix    matz(matrix)
------------------------------
Mostly used for debug.  This function returns the size of the matrix
as specified in mtxi but sets nothing.  Reg 97=row, 98=col, 99=start

Also note:  If you prefer to use values like Matrix A, B, C, you can
create a variable A=0, B=1, C=2 and use the variables in any location
in any of these functions.

--------------------------------------------------------------------
Coming:

I will be adding math functions for matrices, inverse, determinent,
move, copy, error checking and whatever else you like.  I will also
make matrix declaration and manipulation easier, in future versions.

--------------------------------------------------------------------


Mike Davis