SPSHEET
-------
"THE" Spread-sheet for the HP48
-------------------------------
programmed by : Mike Ortega
docs and stuff: Marc Moline
MISCELANEOUS INFORMATION------------------------------------------------
It's finally here!!! One of the little pieces of software that NO ONE
had posted yet! We had compliers, editors, rollodex and tetris but as
far as I know this is the only Spread sheet no the HP market to date.
Oddly this software was programmed about 3 years ago!!! It was
programmed by a friend of mine MIKE ORTEGA and all the credit should be
for him. I found a copy of SPSHEET on a floppy but I couldn't load it
because of one of those stupid errors that FIXIT can't fix... But after
a few hours I fixed it to upload on my GX. This soft was written on a
SX in USR-RPL. It could be improved for the GX (starting with the SORT
routine, but the most interesting one would be the redraw of the cells,
not just the calculus, but the PHISICAL draw of the A-B-C... 1-2-3...
cells) and of course re-written in sys-RPL! If someone is interested in
the project, please contact me!( MarcM@iese.es)
Three more disgraces follow this software:
First is that Mike never wrote a line of documentation and now he is
working away and I hardly see him, so the documentation will not be
complete.
The Second problem is that I hate spread-sheets, so I don't think I'll
spend the time to fully understand how the SORT command fully works. If
some one ever sends me an e-Mail explaining me how this command works
I'll include his explanation in the documentation (And his name in the
credits!).
Third and more important is that the software does little checking to
speed up things, altough the information remains, the execution may
crash down sometimes. Read "Troubleshooting" at the end of this
documentation.
STARTING THE PROGRAM----------------------------------------------------
Frist load SPSHEET into your HP48. When you enter into the directory,
you should see [NEW] on the menu. Press it to create a new sheet. It
will ask you a dir name, number of rows and number of columns. This will
create a sub-dir with the necesary vars for the sheet to work. Minumum
size 5x3. Minumum recomended 5x5.
Now you are in the Sheet. You can move arround it with the cursor keys.
Left and Right-shifting the cursor arrows works like in the editor( i.e.
up == one row up, Lsfht+up == top of the screen, Rsfht+up == Top row)
The special keys:
+ Rshft+ON turns the calc OFF, the
+ ENTER key saves an argument on the stack. Those arguments are
used for executing the comands in the MENU.
+ Lshft+ENTER Same as CELL( see below)
+ Rshft+BackSpc clears whatever is on the stack( The arguments)
+ BackSpc shows the MENU.
THE MENU----------------------------------------------------------------
Now this is neat!! a three line menu! well it works as the regular
menu. The A letter corresponds to CELL and the R to QUIT ( i.e.
obviously MOVE is the I letter). What does each option do?
Remeber that all arguments could be entered via keyboard or on the
MENU-less view of the sheet pressing the ENTER key.
[CELL]
This option is for entering values, labels or formulas on the cell
where the the cursor is located. This option can be also activated with
Lshft+ENTER on the manu-less view of the sheet.
EXAMPLES
Values : 7, 8, 5000
Labels : "Total", "Tax %"
Formulas: '(A1+B1)*100/C1'
[ROW]
Use ROW to enter some values into the same row starting at the
cursor position. It HALTS the program, lets you enter the values on the
stack and then YOU should press [CONT] (Lshft+ON) to go on. Does error
checking for too much parameters, but not for zero.
[COL]
Use COL to enter some values into the same column starting at the
cursor position. It HALTS the program, lets you enter the values on the
stack and then YOU should press [CONT] (Lshft+ON) to go on. Does error
checking for too much parameters, but not for zero.
[GO]
The GO function is for placing the cursor at some specific location
on the sheet. The 'X9' notation should be used, where X is a Letter and
9 is any number. Does not check for out of bounds. Go outside the size
of the sheet and you are dead.
[HOME]
Goes to A1 cell
[->NUM]
Needs two arguments that define an area. All the formulas contained
within that area turn into a value, result of calculating the formula.
[DEL]
Yes! It deletes the value of all the cells contained within the
range of cells. Don't delete out of bounds. It errors. BE CAREFUL if you
delete a cell which is referenced in a formula the program will crash
down!
EXAMPLE
DEL from A1 to B3 will delete A1, A2, A3, B1, B2, B3
[COPY]
A misterious command. It works in several ways. It asks for 3
arguments: A, B, C. I'd say that it copies A to the area defined within
B and C. Be careful with the bounds.
IF A is a formula, the copy will be a relative copy of that forumla! The
"relativeness" is taken within the arguments of the formula
and the cell it's placed. See the second example.
EXAMPLE
C1 = 'A1+B1' COPY C1,C2,Cn => C2 = 'A2+B2', ... , Cn = 'An+Bn'
C1 = 'A1+B1' COPY C1,D1,Z1 => D1 = 'B2+C2', ... , Z1 = 'X1+Y1'
A1 = 3 COPY A1,A2,C4 => A2,A3,A4,B2,B3,B4,C2,C3,C4 = 3
[MOVE]
Asks for 3 arguments the first two define and area, the third
defines the starting point of where to place the cells defined with the
first two parameters. It asks you for a confirmation if you want to
delete the original cells. BE CAREFUL if you delete a cell which is
referenced in a formula the program will crash down!
[SORT]
I don't know much how this works. Sorry. PLEASE IF YOU FIND OUT WHAT
IT DOES E-MAIL ME!!! (MarcM@Iese.es)
[IMPO]
Imports the data contained on a matrix stored in "SigmaDAT"( äDAT)
You tell the spread-sheet where it should start placing the data( Cell
X9)
[EXPO]
Exports the data( without formulas nor labels) and saves the
information on "SigmaDAT" var. This Instruction needs 2 arguments: A
starting point and an ending one.
[DIM]
Use DIM for redimensioning the sheet.
[CLEAR]
Deletes ALL data from the sheet. Asks for confirmation.
[PRINT]
Sends the selected data within two cells to the printer via PR1
[<-WID]
Makes the cells thinner so you can see more cells at a time.
[WID->]
Makes the cells wider so you can see more info in each cell.
[QUIT]
Exits the program.
TROUBLESHOOTING---------------------------------------------------------
I've added some keyboard checking so the program didn't blow up every
mistyped key. I also added a [reset] function, but the rest of the
program is "AS WAS" when Mike gave it to me.
Here is a guide for resolving problems when the spreadsheet program
crashes. Follow the recipie until something works!
1) press START in the CST menu.
2) If the calculator gives an "Undefined Name" error and shows some 'X9'
cell, it's most likely that we deleted a cell referenced by a
formula. Give 'X9' a value( 0, 1, what ever, but the calculation of
the fromula may not be correct) and go to step 1.
3) If you get a "GXOR Error" and you have strange coordinate on the
stack( negative or very big) then press [reset] on the [cst] menu.
This error is likely to happen when you [go] to a cell out of bounds.
Goto step 1.
4) You found an error I did not find!! please tell me what you did and
what error the program gives you that steps 1-2-3 do not cure. Write
to MarcM@Iese.es
HAPPY ENDING------------------------------------------------------------
Well I think that's all folks! As soon as I get some interesting new
instructions I'll post this again. I'll wait to upload this on
CBS.CIS.COM until I have documentation on the SORT command.
This is Nothing-ware. The program is not mine!! But if you post me
(MarcM@Iese.es) some nice lines to MIKE ORTEGA (the father of the beast)
I'll compile them for him!!
Enjoy it, use it, show it off and spread it, if possible with the docs!!
Author: Mike Ortega, ??? 1991
Poster: Marc Moline, Oct 1994
--------------------------------------------------MarcM@IESE.es---------