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---------