davids@epicb.truevision.com (David Spoelstra) (03/12/91)
Program Id: TODO Description: To-Do Reminder List Programmer: David Cook - Cookware Welcome to Version 1.0 of TODO, a To-Do list reminder system. This program was written for a friend of mine who refused to buy a HP48SX unless it had a TODO program, scheduler (with calendar) and Rolodex (he would rather have a HP48SX instead of a Wizard etc.., but needed that functionality). Since I already have a rolodex and calendar program for my 48SX I only needed to provide this function. Disclaimer: I have had my 48SX only about 3 months, so I am sure that this program can be written better, smaller and faster. I would have used SYSEVAL statements, but was unsure about compatibility with other revisions (can anyone out there answer this question?). Shareware Notice: Feel free to use this program and redistribute it. I ask that if you redistribute the program, please keep it named TODO, and please keep the title screen intact. If you make significant changes, please add you name to the title screen - but keep my name as well. If you find this program invaluable, a $5 donation would be appreciated. Send any money or comments to: David Cook, RR #1 Box 351, Whitestown Indiana 46075 - Thank you! Installing And Running TODO: The program can be found at the bottom of this post. It is in ->ASC format and you will need ASC-> to unscramble it. ASC-> is openly available on this forum as well as the HP BBS. (The ASC routines were written by Bill Wickes.) I'm sure that if you don't have them, an open letter to the NET would produce them rather quickly! (1) Cut the code at the bottom of the document, AFTER the CUT HERE line. Remove the final CUT HERE line at the bottom. (2) Send this file to your HP48SX, via the Serial Cable, into the file 'TODO' (3) Hit the TODO button (eg., place the contents of TODO on the command line) (4) Execute ASC-> (which you already should have loaded, or load it now) (5) Store the result back to 'TODO' - it will become a directory Running... (6) Simply enter the TODO directory and hit the RUN button which will be the very first button you see. From here on out, simply follow (6) to run it. Features: * Unlimited number of lists - up to the memory of your machine * Unlimited size for the lists - up to the memory of your machine * Ability to scroll the lists by the line or page * Ability to jump to the beginning or end of any list * Ability to change lists via a catalog * Ability to create new lists or delete old lists * Ability to MARK and UNMARK items on the list * Ability to UNMARK ALL items on the list * Ability to delete any single item on the list * Ability to delete ALL MARKED items on the list * Ability to insert a new item anywhere in the list * Ability to sort any list of information GROCERY LIST I have created a large (though somewhat incomplete) grocery lists, as a default. It is large so it does take a bit of time to compile the GROB. Use this list as an example list, and delete it if you need the memory or find it unusable. How To Use TODO --------------- When the program begins to run, it will display six menu items assigned to the menu keys. These six items are: LIST - Catalog of all lists OR create a new list OR delete a list ADD - Adds a new item to the end of the list OR inserts a blank item EDIT - Edits the text of an existing item SORT - Sort any particular list MARK - Marks an item OR Unmarks an item OR Unmarks all marked items EXIT - Exits the program and returns you to the HOME directory The following lists the available KEYSTROKES from the main menu level: UP ARROW - Scroll the current list towards the top - one item ORANGE SHIFT UP ARROW - Move the current list toward the top - one page BLUE SHIFT UP ARROW - Move the current list to the top DOWN ARROW - Scroll the current list toward the bottom - one item ORANGE SHIFT DOWN ARROW - Move the current list toward the bottom - one page BLUE SHIFT DOWN ARROW - Move the current list to the bottom DEL (keyboard key) - Deletes the current item ORANGE SHIFT DEL (purge)- Deletes ALL marked items LIST (menu key) - Get a catalog of all lists BLUE SHIFT LIST - Enter the name for a brand new list ADD (menu key) - Add an item to the end of the current list BLUE SHIFT ADD - Insert a blank line ABOVE the current item EDIT (menu key) - Edit the text of the current line SORT - Sort the current list in alphabetical order MARK (menu key) - Mark OR Unmark the current item BLUE SHIFT MARK - Unmark ALL marked items ORANGE SHIFT MARK - Same as MARK without the Startrek sound EXIT - Stop the program and return to the HOME directory BLUE SHIFT EXIT - Turn the calculate off (turning it on returns to TODO automatically with no delay) Here are some general comments about a couple of the commands... CURRENT ITEM The current item (eg., the item you are going to MARK, UNMARK, DELETE etc..) is the one at the TOP OF THE DISPLAY. To move an item into the current item area, simply scroll (UP/DOWN arrow) until it is the top item on the list. This goes for catalog lists (LIST) as well. LIST When in LIST, all current lists in the current directory will be displayed, in alphabetical order (eg., sorted). WHILE you are in this mode, UP and DOWN arrow work (but PAGE UP and PAGE DOWN and GO TO TOP and GO TO END do not work). The DEL keyboard key will DELETE a list completely from memory. MARK The MARK command allows you to place a marker next to items which you have completed (eg., check 'em off). Hit MARK the first time to place the marker, Hit MARK a second time (on the same item) to unmark. When you MARK or UNMARK a 'startrek' type beep will occur to signify the mark. If you do not wish to hear the sound, hit ORANGE SHIFT MARK instead. BLUE SHIFT MARK will UNMARK ALL currently marked entries WITHOUT deleting them from the list. DEL The normal 48SX DEL key serves to DELETE the current item, when hit under the normal menu (when hit while in LIST, it deletes entire lists). If you hit ORANGE SHIFT DEL, the program will delete ALL marked entries - useful for purging information you have already done. STARTING UP If you start the program, and the current list is not found by the program (eg., you deleted it from the operating system level), the LIST command will automatically be run by the program. If the LIST command does not see any lists in memory, the BLUE SHIFT LIST command will automatically be run, allowing you to create a new list. OTHER KEYBOARD KEYS If you hit an unknown key (eg., not known to the program), the program will issue a very low tone. Try again! Internals: This posting is already too long to give you full details of the program. Feel free to rip it apart and improve it - just post it back! One routine you will probably want to add to your 'favorites' list is the routine named R2D2. This, standalone, routine takes a single number from the stack and makes your HP48SX sound like a device on Star Trek. The best values, for the most convincing sound are the values 4 or 5. Simply type 5 R2D2 for a demo. The number indicates the length of time (eg., number of chirps) for the speaker to make). Another routine you will find useful is the SORT routine. To use SORT independently of the program, simply place a LIST of STRINGS on Level 1 and run SORT. This is NOT a bubble sort, but an insertion sort, and it only takes as long to sort the data as it does to read the data one time (plus the linear count to find the place to put the data). Other items you will find useful, if reverse engineering the routines... The variable 'DATA' contains the name of the current to-do list database. The system creates TEMPORARY variables (only will be seen if you abort the program while it is running). 'W' contains a number which signifies which item is the current iten (1 - S). 'S' contains the total number of items in the list. If you abort during a catalog, you will see CATTEMP which contains a list of all you to-do lists. 'W', 'S' and 'CATTEMP' are all deleted and rebuilt by the program. Here is a brief listing of what the other routines do: RUN - Runs the TODO program SORT - Sorts a LIST of STRINGS in level 1 MON - High speed GROB editor, used to turn a Mark ON MOFF - High speed GROB editor, used to turn a Mark OFF INSTD - INSerts a blank item into the ToDo list above the current item EDITD - EDIts the current item of the current ToDo list NEWTD - Creates a NEW ToDo list CATTD - Handles the LIST command catalog of lists SEETD - Displays the current list (does NOT build it) MAKTD - Makes the GROB associated with the current list ADDTD - Adds a new item to the END of the current list MARTD - Handles Marking and Unmarking of the current item UNMTD - Unmarks ALL marked items in the list WIPTD - Deletes ALL marked items in the list DELTD - Deletes the current item in the list R2D2 - Takes a repeat value from level 1 and issues StarTrek sounds AGAIN... these routines should only be used for editing and changing the program. Use the RUN routine to execute the program (just hit RUN) and the program will automatically issues these routines for you in responce to the menu keys you hit (as described above). I provided the details above only for those who want to see how it runs! ENJOY!!!!! ------------------------ C U T H E R E ------------------------ %%HP: T(1)A(D)F(.); "69A20FF74522000000402523442340D9D20E16329C2A2DBBF1301329B1C13392 03000000000000040EEDA133920300000000000005076BA19B1C133920899000 0000000020EEDA14C5A1C423293632B213019000504454C4454450D9D20E1632 3CE2284E2010359C2A2279E1AFE22D9D2047A20C2A20900000202B2130456328 4E2040441445149763204B02DCC029C2A24563284E20103597632DCC029C2A24 563284E20107597632DCC02B21305BF22D9D2047A20B21309C2A284E2010350A 132D6E2010E63CE22D6E2010E684E201075D9AE1AFE22D9D2084E20404414451 4D6E2010E66C7D19C2A2387C176BA1B21305DF22C42324563284E20404414451 49763204B02DCC0284E2010359C2A290DA14563284E20103597632DCC029C2A2 4563284E20107597632DCC02B21305DF2284E2050D414B4454493632B21305D1 0050759405454450D9D20E163247A20B21309C2A284E2010350A132D6E2010E6 3CE2284E204044144514D6E2010E66C7D19C2A29C2A2C58C1C2A207000002279 E1AFE22D9D2084E204044144514D6E2010E66C7D19C2A2387C176BA1B21305DF 22C42323CE2278BF18B9C19C2A2EBBE1AFE22D9D208DBF147A20C2A209000002 02B2130B21305DF224563284E2040441445149763204B02DCC0284E204044144 5148B9C14563284E20103597632DCC029C2A24563284E20107597632DCC0284E 2050D414B4454493632B2130691005055E4D4454450D9D20E163284E20404414 45149C2A284E2010350A132D6E2010E678BF1D6E2010E66C7D19C2A2C2A20700 0002AE8C1D6E2010E6DBBF19C2A2387C1AE8C1D6E2010E684E2040D4F46464C4 2324563284E2040441445149763204B02DCC0284E2050355454454493632B213 04E00050D41425454450D9D20E163284E20404414451484E2010756C7D178BF1 9C2A29C2A2C58C13CE22C2A207000002279E1AFE22D9D209C2A2C2A207000038 84E20107584E2030D4F4E4B21305BF22D9D209C2A2C2A20700000284E2010758 4E2040D4F46464B21305DF22AE8C184E204044144514DBBF184E201075DBBF19 C2A2387C1AE8C14563284E2040441445149763204B02DCC0284E205035545445 4493632B21306410050144444454450D9D20E1632858A184E204044144514C2A 20900000202C2A2075000459707560296E60247865602E656874702964756D6A 08496470254E445542502778656E60246F6E65647A2084E2010C8B2130AC4227 6BA19C2A2387C176BA14563284E2040441445149763204B02DCC0284E2010359 C2A276BA14563284E20103597632DCC0284E2050D414B4454493632B2130B210 050D414B4454450D9D20E1632606E1C2A20BA000020202020202020245F6D244 F6A0020205562737F6E616C6022556D696E6465627A0A0A0E2E2E275169647C2 02245796C64696E67602C4963747A0A0655627A30213E20302D2D20244166796 460234F6F6B6A09C2A2485A1E4A2051000380000000000000084E20103533920 100000000000011076BA1743A2EEDA1B9691614E19C2A284E2010350A132D6E2 010E6E4A20510000000000000000000D6E2010E6743A2EEDA1B9691ED2A2387C 184E204044144514D6E2010E66C7D19C2A2DA5E1AE8C1C4232858A1606E1634E 1DCC0284E2050355454454493632B21300E10050355454454450D9D20E163284 E201075743A2EEDA1B9691E4A20510000000000000000000DBBF1ED2A2387C10 F2E193632B21308600050341445454450D9D20E16329C2A24563284E20107597 632DCC02D13A2FA1A178BF18B9C13CE2278BF14B2A2279E1AFE22D9D2084E205 0E4547545448DBF18DBF1B21305BF22D9D209C2A2DBBF10A132D6E2010E678BF 1D6E2010E66C7D1B0BC19C2A2387C1D6E2010E6DBBF1AE8C1C423284E204035F 425454563284E20703414454554D40597632DCC024563284E20703414454554D 405976324563284E20404414451497632DCC0284E2040441445148B9C1456328 4E20103597632DCC0284E2050D414B445444B2A24563284E20104597632DCC02 330328BA2084E2010454B2A2279E1B2130D5032D9D204B2A2F17A1D8732D9D20 78BF1339201000000000001530279E18A732D9D203CE228BA2084E20107584E2 01035EBBE1B2130AFE22D9D2084E2010759C2A276BA14563284E20107597632D CC0284E20503554544544B21305DF22B21305DF2278BF1339201000000000001 520279E18A732D9D203CE228BA2084E2010759C2A2D5CE1B2130AFE22D9D2084 E2010759C2A290DA14563284E20107597632DCC0284E20503554544544B21305 DF22B21305DF2278BF1339201000000000001450279E18A732D9D2084E204044 14451484E2010756C7D1B7FC1EFE0284E20504454C44544D13A2FA1A18B9C13C E229C2A2279E1AFE22D9D2084E2050E454754544ED2A24563284E20104597632 DCC02B21305DF22B21305DF2278BF1339201000000000001150279E18A732D9D 2084E20404414451484E2010756C7D1B7FC14563284E20404414451497632DCC 029C2A24563284E20107597632DCC0284E2040441445148B9C14563284E20103 597632DCC029C2A24563284E20104597632DCC02B21305DF22B21305DF228DBF 1B2130496324563284E20104597632EFE024563284E20703414454554D405976 32EFE02B21305DF2284E2050D414B4454493632B21309550050E45475454450D 9D20E1632858A1C2A20150004597075602E6567702C696374702E616D656A084 96470254E445542502778656E60246F6E65647A2084E2010C8B2130AC422C2A2 0900000202DBBF176BA1C2A20F0000E2C494354576BA178BF19C2A2387C1DBBF 1B7FC178BF1E0CF1DBBF1DCC024563284E20404414451497632DCC0284E20404 41445148B9C14563284E20103597632DCC029C2A24563284E20107597632DCC0 284E2050D414B4454493632B2130B610050544494454450D9D20E1632858A1C2 A20740005446964796E67602D4F64656A08496470254E445542502778656E602 46F6E656A084E20404414451484E2010756C7D176BA147A2084E2010C8B2130A C422C2A20900000202DBBF176BA19C2A2387C184E204044144514DBBF184E201 075DBBF1AE8C14563284E2040441445149763204B02DCC0284E2050D414B4454 493632B2130A21005094E435454450D9D20E16323CE2284E2010759C2A2D5CE1 AFE22D9D2084E2040441445149C2A284E2010759C2A290DA1C58C147A20C2A20 900000202B213076BA184E20404414451484E20107584E201035C58C176BA1B2 1305BF22D9D2047A20C2A20900000202B213084E20404414451476BA1B21305D F224563284E2040441445149763204B02DCC0284E2010359C2A276BA14563284 E20103597632DCC0284E2050D414B4454493632B2130C510040D4F4646440D9D 20E1632743A2EEDA1B9691E4A20510000000000000000000DBBF1ED2A2387C16 34E1DBBF1C2A2070000029C2A2DA5E1AE8C193632B2130D700030D4F4E430D9D 20E1632743A2EEDA1B9691E4A20510000000000000000000DBBF1ED2A2387C16 34E1DBBF1C2A2070000389C2A2DA5E1AE8C193632B2130B70004044144514408 4E20C07425F434542595E2C4943545B20004035F4254540D9D20E1632606E1C2 A2035000A005C6561637560277169647E2E2E2A0A002020235F6274796E67602 47865602C6963747A0A0A09C2A2485A178BF18B9C147A20B21304B2A24B2A21C 432D6E201044D6E201035D6E201045D6E201034D6E201064E16323CE22D6E201 0359C2A2D5CE1AFE22D9D20D6E2010449C2A26C7D19C2A2387C145632D6E2010 4597632DCC029C2A245632D6E20103497632DCC02ED2A2D6E2010350A132D6E2 010E6D6E201044D6E2010E66C7D14B2A245632D6E20106497632DCC029C2A2D6 E2010340A132D6E2010D678BF1D6E201045D6E2010D66C7D13CE22EBBE1D6E20 10644B2A2279E1387E1AFE22D9D20D6E2010D645632D6E20106497632DCC02D6 E20103445632D6E2010D697632DCC02B21305DF22C42329C2A2387C13CE22D6E 2010644B2A2279E1AFE22D9D20D6E201045DBBF176BA1B21305BF22D9D203CE2 2D6E2010649C2A2279E1AFE22D9D20D6E20104576BA1B21305BF22D9D20D6E20 10459C2A2D6E2010649C2A290DA1C58C1DBBF176BA1D6E201045D6E201064D6E 201034C58C176BA1B21305DF22B21305DF2245632D6E20104597632DCC02D6E2 010349C2A276BA145632D6E20103497632DCC02C4232D6E201045B21305BF22D 6E2010445DF22EF53293632B21309B300C07425F434542595E2C4943545C047A 20C2A20F10000202642555944535E2C4943545C2A209100002020202140707C6 5637C2A20B10000202020224562727965637C2A2012000020202027427160756 6627579647C2A209100002020202742716075637C2A205100002020202B49677 96C2A209100002020202C456D6F6E637C2A207100002020202C496D65637C2A2 09100002020202D456C6F6E637C2A20B100002020202F42716E6765637C2A20B 10000202020205561636865637C2A2071000020202020556162737C2A20F1000 020202020596E656160707C656C2A2072000020265547454451424C45435E2C4 943545C2A20B20000202020214C46414C4641402350525F4554535C2A2012000 02020202142545943484F4B45435C2A20B100002020202146514341444F4C2A2 07100002020202245414E435C2A205200002020202245414E402350525F45545 35C2A20D1000020202022425F4343455C494C2A20B2000020202022425553535 54C402350525F4554535C2A20B10000202020234142424147454C2A201200002 0202023414C49464C4F4755425C2A20B10000202020234142525F44535C2A209 1000020202023454C4542595C2A20D10000202020254747405C414E445C2A209 100002020202741627C69636C2A2052000020202028454252435C20264255435 84C2A20B100002020202C4544545553454C2A20F100002020202D455358425F4 F4D435C2A207100002020202F4E696F6E6C2A20510000202020205561637C2A2 0B10000202020205540505542535C2A20D10000202020205F6471647F65637C2 A20B100002020202350594E4943484C2A20510000202020245F46455C2A20910 000202020245F4D41445F4C2A20B100002020202A555343494E494C2A20F1000 020274251494E435E2C4943545C2A2071000020202022425541444C2A2051000 020202023414B454C2A2091000020202023454255414C4C2A20D100002020202 34251434B4542535C2A20910000202020244F4E4554535C2A207100002020202 64C4F45525C2A2071000020202020514354514C2A20910000202020205143545 2595C2A203100002020202059454C2A20510000202020225943454C2A2071000 0202020225F4C4C435C2A201200002020202451434F402358454C4C4C2A20B20 000202020245F4254594C4C41402358454C4C435C2A20D10000202D454144535 E2C4943545C2A207100002020202241434F4E4C2A20510000202020224545464 C2A20B10000202020234849434B454E4C2A2092000020202024454C4940234F4 C4440234554535C2A205100002020202445534B4C2A20F1000020202028414D4 245525745425C2A20B10000202020284F44544F47435C2A20510000202020205 F425B4C2A20510000202020225942435C2A20710000202020225F4143545C2A2 0B10000202020235145535147454C2A20910000202020235455414B435C2A209 100002020202455525B45495C2A2011000020264943584C2A207100002020202 34C414D435C2A20310000202020234F444C2A2071000020202023425142435C2 A20B100002020202C4F42435455425C2A20B100002020202D455353554C435C2 A2091000020202023514C4D4F4E4C2A20D100002020202353414C4C4F40535C2 A20910000202020235842594D405C2A20710000202020235D454C445C2A20F10 00020202023575F4254464943584C2A2071000020202023515559444C2A20710 00020202024525F45545C2A2051000020202024555E414C2A20F100002020202 758494455464943584B213063A00302555E430D9D20E1632FD332D9D2084E204 0441445149C2A26C7D1B2130F1732D9D2084E205034144545448DBF1B21305DF 228DBF19C2A24563284E20107597632DCC0284E2040441445148B9C14563284E 20103597632DCC0247A20C2A20D0000C4943545C2A20B0000144444C2A20D000 054449445C2A20D000035F42545C2A20D0000D41425B4C2A20D000054859445B 2130D511284E2050D414B44544330328BA204B2A24B2A2279E1B2130D5032D9D 20683A2F17A1D8732D9D2078BF1339201000000000001210279E18A73284E205 014444445445DF2278BF1339201000000000001110279E18A73284E205034144 545445DF2278BF1339201000000000003110279E18A73284E2050E4547545445 DF2278BF1339201000000000001530279E18A732D9D203CE228BA2084E201075 84E201035EBBE1B2130AFE22D9D2084E2010759C2A276BA14563284E20107597 632DCC0284E20503554544544B21305BF22D9D20339201000000000000050339 2099900000000000204C5A1B21305DF22B21305DF2278BF13392010000000000 01520279E18A732D9D203CE228BA2084E2010759C2A2D5CE1B2130AFE22D9D20 84E2010759C2A290DA14563284E20107597632DCC0284E20503554544544B213 05BF22D9D203392010000000000000503392099900000000000204C5A1B21305 DF22B21305DF2278BF1339201000000000003530279E18A732D9D2084E201035 4563284E20107597632DCC0284E20503554544544B21305DF2278BF133920100 0000000003520279E18A732D9D209C2A24563284E20107597632DCC0284E2050 3554544544B21305DF2278BF1339201000000000001510279E18A732D9D20803 A284E20402523442384E2050D414254544B21305DF2278BF1339201000000000 002510279E18A73284E2050D4142545445DF2278BF1339201000000000003510 279E18A73284E205055E4D445445DF2278BF1339201000000000001410279E18 A732D9D2084E20404414451484E204035F425454563284E20404414451497632 04B02DCC0284E2050D414B44544B21305DF2278BF13392010000000000014502 79E18A73284E20504454C445445DF2278BF1339201000000000002450279E18A 73284E205075940545445DF2278BF1339201000000000001310279E18A73284E 205054449445445DF2278BF1339201000000000002520279E18A732D9D203CE2 284E201075C53A2D5CE1AFE22D9D2084E201075C53A290DA1B21305BF229C2A2 5DF224563284E20107597632DCC0284E20503554544544B21305DF2278BF1339 201000000000002530279E18A732D9D203CE2284E201035C53A290DA184E2010 75D5CE1AFE22D9D2084E201075C53A276BA1B21305BF2284E2010355DF224563 284E20107597632DCC0284E20503554544544B21305DF2278BF1339201000000 000003210279E18A73284E205094E43545445DF2278BF1339201000000000003 610279E18A732E13A15DF2278BF1339201000000000001610279E18A732D9D20 4563284E20103597632EFE024563284E20107597632EFE028DBF147A2084E203 02555E4B21309DF024B2A269112041A1303A1B21305DF2233920100000000000 00503392099900000000000204C5A1B21305DF228DBF1B21304963293632B213 09FAA" ------------------------ C U T H E R E ------------------------
diamant@hpfcbig.SDE.HP.COM (John Diamant) (03/15/91)
David Spoelstra (davids@epicb.truevision.com) writes: > Program Id: TODO > Description: To-Do Reminder List > Programmer: David Cook - Cookware Neat program! Thanks for posting it. > If you make significant changes, please add you name > to the title screen - but keep my name as well. If you find this program > invaluable, a $5 donation would be appreciated. Send any money or comments > to: David Cook, RR #1 Box 351, Whitestown Indiana 46075 - Thank you! In case other people have the same comments, I'm posting my comments here rather than sending them directly to you. Just in case this wouldn't get to you otherwise, I'm also mailing this directly to your email address. Please let me know if you're interested in making the below changes. If not, I will make them myself, and can send them back to you (for a repost by one of us). > Installing And Running TODO: > How To Use TODO > When the program begins to run, it will display six menu items assigned > to the menu keys. These six items are: > LIST - Catalog of all lists OR create a new list OR delete a list I found the list screen confusing because I couldn't figure out how to add or delete lists until I read through all the instructions. It might be a little more intuitive if the LIST screen provided the add and delete as function keys. By the way, when I created a new list, I tried to use the name "WORK-TODO" and it aborted the program (probably the "-" is an illegal variable name. You might want to check the variable names for validity before trying to use them. Also, having delete list be a single keystroke (DEL) without confirmation seems dangerous. I could wipe out a large amount of data by accident with a single button. How about a confirmation question ("Really Delete" with a default -- already in the input buffer of "no".) > DEL (keyboard key) - Deletes the current item Again, a confirmation would be nice. Actually, I'd be happy with just disabling the DEL key completely and requiring MARK followed by PURGE to do any delete (since it's two keystrokes, it's unlikely to happen by mistake, especially since PURGE requires a shift key as well. > BLUE SHIFT LIST - Enter the name for a brand new list If this were a function key in the LIST screen, it wouldn't require a separate keystroke to remember. > EDIT (menu key) - Edit the text of the current line It would be great if you would include the original contents of the item in the input buffer so editing would not always require a complete retype for minor changes. I believe it's just a variant on the INPUT command. > BLUE SHIFT EXIT - Turn the calculate off (turning it on returns to > TODO automatically with no delay) How about defining BLUE SHIFT ON to have this function instead? That way it would be the normal OFF function with nothing special to remember. Also, how about defining ON/ATTN to be the same as EXIT, so if that key is accidentally hit, everything is left in a clean state. This would be especially nice if it worked in all contexts. > Here are some general comments about a couple of the commands... > When you MARK or UNMARK > a 'startrek' type beep will occur to signify the mark. If you do not wish > to hear the sound, hit ORANGE SHIFT MARK instead. BLUE SHIFT MARK will UNMARK This is just a small cosmetic suggestion, but why not have some sort of toggle instead which controls whether the beep happens or not? If the toggle state were maintained in a variable in the directory, then it would be persistent and people wouldn't have to type extra keys regardless of which they preferred. > OTHER KEYBOARD KEYS > If you hit an unknown key (eg., not known to the program), the program will > issue a very low tone. Try again! > 'W', 'S' and 'CATTEMP' are all deleted and rebuilt by the program. I don't have my manual handy right now so I can't check this, but I think if you use lower case letters for the local variables, they will be deleted when the function exits thus avoiding the cleanup problem (if you need them in several functions, this may not work for you, though). Is there a font as small as the one you use which can display both upper and lower case? It's (mildly) annoying to get everthing displayed in upper case when I typed it in in lower case. By the way, where is the font set (so I can change it to one that displays lower case if I want to)? Please don't interpret these comments as critical. I'm really glad you wrote and posted this program. It's extremely close to what I've been looking for for a few months (and haven't had the time to write myself). If you agree with the suggestions but don't have time to do some of them, I'll do them myself and send them back. Anyway, thanks for the great new tool! John Diamant Software Engineering Systems Division Hewlett Packard Co. ARPA Internet: diamant@hpfclp.sde.hp.com Fort Collins, CO UUCP: {hpfcla,hplabs}!hpfclp!diamant This response does not represent the official position of, or statement by, the Hewlett-Packard Company. The above data is provided for informational purposes only. It is supplied without warranty of any kind. Note that I'm just a 48SX user like you -- I just happen to work for HP. I do not work in the division that makes these calculators.
diamant@hpfcbig.SDE.HP.COM (John Diamant) (03/19/91)
I (diamant@hpfcbig.SDE.HP.COM) wrote: > Program Id: TODO > Description: To-Do Reminder List > Programmer: David Cook - Cookware > Please let me know if you're interested in making the below changes. If not, > I will make them myself, and can send them back to you (for a repost by one > of us). I decided to go ahead and make some of the changes. I will post a new copy (ASC format) in another couple days when I finish the changes. The changes I've made so far are the following: Made the OFF key turn the calculator off while in TODO (instead of BLUE SHIFT [EXIT]) Made the [EDIT] menu key return the current text as the default value for the new text (which also makes it easy to cancel an edit simply by pressing ENTER without making any changes). Made the program font-size independent (with a table for the font sizes for the 3 builtin available fonts) and provided a binding (+ and - keys) for dynamically changing the size of the font while the program is running. I did this because the small font is good when you want lots of data, but is hard on the eyes since it's all uppercase, so I want different fonts at different times (depends on how wide the data is I'm viewing. Implemented horizontal scrolling (by character, 10 characters at a time, and beginning and end of line). I also increased the width of the GROB to 2 screens (adjustable with a local variable in the TODO directory). I also would like to change the LIST mode to be function key driven like the normal interface, but haven't implemented that yet. In addition, I'd like to trap the ATTN key using Bill Wickes IFERR routine. I'll post either when I get all the changes finished or I expect it to be awhile before I get the rest done (I'll probably post in a couple of days). > > 'W', 'S' and 'CATTEMP' are all deleted and rebuilt by the program. > I don't have my manual handy right now so I can't check this, but I think > if you use lower case letters for the local variables, they will be deleted > when the function exits thus avoiding the cleanup problem (if you need them > in several functions, this may not work for you, though). Sorry, I was confused. I withdraw the suggestion. The lower versus upper case issue is just convention. Local variables will only work if the variables are not shared between functions and they are, so they won't address this problem. John Diamant Software Engineering Systems Division Hewlett Packard Co. ARPA Internet: diamant@hpfclp.sde.hp.com Fort Collins, CO UUCP: {hpfcla,hplabs}!hpfclp!diamant This response does not represent the official position of, or statement by, the Hewlett-Packard Company. The above data is provided for informational purposes only. It is supplied without warranty of any kind. Note that I'm just a 48SX user like you -- I just happen to work for HP. I do not work in the division that makes these calculators.
John_Diamant@f170.n771.z3.fidonet.org (John Diamant) (03/27/91)
From: diamant@hpfcbig.SDE.HP.COM (John Diamant) Lines: 610 Organization: HP SESD, Fort Collins, CO Program Id: TODO Description: To-Do Reminder List Programmer: David Cook - Cookware Modified: John Diamant (modifications version 1.0) This program is a generic list manager for the 48SX calculator. It works not only on todo lists, but any other type of list you care to manage in the calculator (limited by memory of the calculator). I'm not going to repeat most of the general announcements from the original posting as I'm including it at the bottom of this message. Please note in particular the shareware notice in David's original comments. Installation instructions are the same as the original (see David's note at the bottom if you don't know how to install an ASC format program). If you can't download via ASC and need a cleartext posting (translate code 3), let me know (email would be fine) and I'll post that as well. However, to avoid further delay, I'm posting this now in ASC format. If you use this new TODO version and like it, I'd like to hear from you (especially if you're using the new features I added to it). If anybody knows David Cook's email address, I'd like to get in touch with him to merge my changes into his master version. The next response to this note will be a question I have regarding memory efficiency and PICT. If I find out how to improve the memory efficiency, I'll probably post a modified version, so you'll have to decide whether you want to wait or download this version. However, the lists you build with this version should work just fine for a more memory efficient version and I may be able to provide a simple patch (by the way, the memory usage problem is not something I introduced with my changes but my increasing the width of the PICT made it more likely to occur). To run the program, simply press the RUN button in the variables menu in the TODO directory (I use the following entry in my CST menu to start up the program: { "LIST" << TODO RUN >> }) By the way, I have truncated the grocery list substantially from the originalposting due to it's taking too much space. If you want the full one, download the original posting. The changes from David's version 1.0 are as follows: Made the OFF key turn the calculator off while in TODO (instead of BLUE SHIFT [EXIT]) Made the [EDIT] menu key return the current text as the default value for the new text (which also makes it easy to cancel an edit simply by pressing ENTER without making any changes). Made the program font-size independent (with a table for the font sizes for the 3 builtin available fonts) and provided a binding (+ and - keys) for dynamically changing the size of the font while the program is running. I did this because the small font is good when you want lots of data, but is hard on the eyes since it's all uppercase, so I want different fonts at different times (depends on how wide the data is I'm viewing. Implemented horizontal scrolling (by character, 10 characters at a time, and beginning and end of line). I also increased the width of the virtual screen (adjustable with a local variable in the TODO directory). LIST mode (choose which list to make active) has been extended to support USE, NEW, and DEL menu buttons rather than requiring obscure keystrokes for these functions. Made LIST mode more robust (added beeps for incorrect keystrokes). Deleting a list asks for confirmation (default is no). Changed the keybinding for deleting an item from a list from DEL to BLUE SHIFT DEL to avoid risk of accidental deletion. The ATTN key is trapped via IFERR and appropriate cleanup is done (note that I do not rely on Bill Wickes special version of IFERR -- the builtin was sufficient for my purpose -- to make sure the program cleaned up if I accidentally used ATTN instead of EXIT) Disables clock display during program execution and restores initial state of clock (displayed or not) on exit (even with ATTN key). Made the function which create new lists do some error checking on legal names (using "V" mode for INPUT). Removed reordering of vars on exit to put RUN at beginning since I run the program from CST and I don't want to pay the run-time cost every time I exit to reorder the VARS menu. > I'll post either when I get all the changes finished or I expect it to be > awhile before I get the rest done (I'll probably post in a couple of days). Sorry it was more than a couple of days, but I think you'll be glad I waited as I did add some functionality almost each day I delayed posting. How To Use TODO (modified from David's original instructions) --------------- When the program begins to run, it will display six menu items assigned to the menu keys. These six items are: LIST - Catalog of all lists OR create a new list OR delete a list ADD - Adds a new item to the end of the list OR inserts a blank item EDIT - Edits the text of an existing item SORT - Sort any particular list MARK - Marks an item OR Unmarks an item OR Unmarks all marked items EXIT - Exits the program and returns you to the HOME directory The following lists the available KEYSTROKES from the main menu level: UP ARROW - Scroll the current list towards the top - one item ORANGE SHIFT UP ARROW - Move the current list toward the top - one page BLUE SHIFT UP ARROW - Move the current list to the top DOWN ARROW - Scroll the current list toward the bottom - one item ORANGE SHIFT DOWN ARROW - Move the current list toward the bottom - one page BLUE SHIFT DOWN ARROW - Move the current list to the bottom LEFT ARROW - scroll the current list towards the left - one char ORANGE SHIFT LEFT ARROW - scroll the current list towards the left - 10 charsBLUE SHIFT LEFT ARROW - scroll the current list to the left edge RIGHT ARROW - scroll the current list towards the right - one char ORANGE SHIFT RIGHT ARROW- scroll the current list towards the right - 10 chars BLUE SHIFT RIGHT ARROW - scroll the current list to the right edge BLUE SHIFT DEL - Deletes the current item ORANGE SHIFT DEL (purge)- Deletes ALL marked items LIST (menu key) - Get a catalog of all lists BLUE SHIFT LIST - Enter the name for a brand new list (also available in LIST environment as function key) ADD (menu key) - Add an item to the end of the current list BLUE SHIFT ADD - Insert a blank line ABOVE the current item EDIT (menu key) - Edit the text of the current line SORT - Sort the current list in alphabetical order MARK (menu key) - Mark OR Unmark the current item BLUE SHIFT MARK - Unmark ALL marked items ORANGE SHIFT MARK - Same as MARK without the Startrek sound EXIT - Stop the program and return to the HOME directory BLUE SHIFT ON (OFF) - Turn the calculate off (turning it on returns to TODO automatically with no delay) + - Increase font to next larger size - - Decrease font to next smaller size KEYSTROKES available from LIST screen (entered via LIST menu key): UP ARROW - Scroll the current list towards the top - one item DOWN ARROW - Scroll the current list toward the bottom - one item USE (menu key) - make top list on screen currently viewed list ENTER - same as USE NEW (menu key) - Create new list (same as BLUE SHIFT LIST above) DEL (menu key) - Delete top list on screen (will ask for confirmation) + - Increase font to next larger size - - Decrease font to next smaller size Note the setting of PW below to change the width of your virtual screen. The one I posted is set to 200 but you might prefer 262 (2 screens)if you have sufficient memory. New Internals (see the original posting for other internals): Here is a brief listing of what the other routines do: PW - page width. Number of pixels of width to make the PICT display. The screen is 131 wide, so use no less than 131, but larger than 131 is required to get any horizontal scrolling. EXIT - function used to clean up and exit (called from a few places) CHFONT - takes delta for font number as argument and sets up CHARH, CHARW, FONT, and H for selected font. Values of 1, -1, and 0 are useful (increase font size by one, decrease font size by one, and set up font attributes for initialization respectively) FNTATTR - list containing font attributes (width and height in pixels) for the 3 builtin fonts. Note that the list is stored as a string and converted on the fly to avoid it being seen by the TODO program as a user-specified list. CHARH - character height in pixels of currently selected font CHARW - character width in pixels of currently selected font H - number of items which can be displayed on one screen in current font FONT - number of currently selected font (used in ->GROB call) Only PW should be changed by a user of the program. The rest are only documented if you want to change the program. They are managed internally. John Diamant Software Engineering Systems Division Hewlett Packard Co. ARPA Internet: diamant@hpfclp.sde.hp.com Fort Collins, CO UUCP: {hpfcla,hplabs}!hpfclp!diamant This code does not come with any warranty express or implied. It's suitability for any purpose is not the responsibility of the authors. This response does not represent the official position of, or statement by, the Hewlett-Packard Company. The above data is provided for informational purposes only. Note that I'm just a 48SX user like you -- I just happen to work for HP. I do not work in the division that makes these calculators. -------- ASC encoding of new todo program (original TODO 1.0 docs follow) %%HP: T(3)A(D)F(.); "69A20FF75462000000402523442340D9D20E16329C2A2DBBF1301329B1C13392 03000000000000040EEDA133920300000000000005076BA19B1C133920899000 0000000020EEDA14C5A1C423293632B213019000504454C4454450D9D20E1632 3CE2284E2010359C2A2279E1AFE22D9D2047A20C2A20900000202B2130456328 4E2040441445149763204B02DCC029C2A24563284E20103597632DCC029C2A24 563284E20107597632DCC02B21305BF22D9D2047A20B21309C2A284E2010350A 132D6E2010E63CE22D6E2010E684E201075D9AE1AFE22D9D2084E20404414451 4D6E2010E66C7D19C2A2387C176BA1B21305DF22C42324563284E20404414451 49763204B02DCC0284E2010359C2A290DA14563284E20103597632DCC029C2A2 4563284E20107597632DCC02B21305DF2284E2050D414B4454493632B21305D1 0050759405454450D9D20E163247A20B21309C2A284E2010350A132D6E2010E6 3CE2284E204044144514D6E2010E66C7D19C2A29C2A2C58C1C2A207000002279 E1AFE22D9D2084E204044144514D6E2010E66C7D19C2A2387C176BA1B21305DF 22C42323CE2278BF18B9C19C2A2EBBE1AFE22D9D208DBF147A20C2A209000002 02B2130B21305DF224563284E2040441445149763204B02DCC0284E204044144 5148B9C14563284E20103597632DCC029C2A24563284E20107597632DCC0284E 2050D414B4454493632B2130691005055E4D4454450D9D20E163284E20404414 45149C2A284E2010350A132D6E2010E678BF1D6E2010E66C7D19C2A2C2A20700 0002AE8C1D6E2010E6DBBF19C2A2387C1AE8C1D6E2010E684E2040D4F46464C4 2324563284E2040441445149763204B02DCC0284E2050355454454493632B213 04E00050D41425454450D9D20E163284E20404414451484E2010756C7D178BF1 9C2A29C2A2C58C13CE22C2A207000002279E1AFE22D9D209C2A2C2A207000038 84E20107584E2030D4F4E4B21305BF22D9D209C2A2C2A20700000284E2010758 4E2040D4F46464B21305DF22AE8C184E204044144514DBBF184E201075DBBF19 C2A2387C1AE8C14563284E2040441445149763204B02DCC0284E205035545445 4493632B21306410050144444454450D9D20E1632858A184E204044144514C2A 20900000202C2A2075000459707560296E60247865602E656874702964756D6A 08496470254E445542502778656E60246F6E65647A2084E2010C8B2130AC4227 6BA19C2A2387C176BA14563284E2040441445149763204B02DCC0284E2010359 C2A276BA14563284E20103597632DCC0284E2050D414B4454493632B2130B210 050D414B4454450D9D20E1632606E1C2A207D000020202020202020245F6D244 F6A0020205562737F6E616C6022556D696E6465627A0A0E2E2E275169647C202 245796C64696E67602C4963747A0A0655627A30213E20302D2D2024416679646 0234F6F6B6A0D6F646A30213E2030202A4F686E602449616D616E647A09C2A24 85A184E20200575B969184E20103533920100000000000011076BA184E205034 84142584EEDA1B9691614E19C2A284E2010350A132D6E2010E6E4A2051000000 0000000000000D6E2010E684E20503484142584EEDA1B9691ED2A2387C184E20 4044144514D6E2010E66C7D184E204064F4E445DA5E1AE8C1C4232858A1606E1 634E1DCC0284E2050355454454493632B21304220050355454454450D9D20E16 3284E20107584E20503484142584EEDA1B969184E2010C4DBBF1ED2A2387C10F 2E193632B21303600050341445454450D9D20E16329C2A24563284E201075976 32DCC02D13A2FA1A178BF18B9C13CE2278BF14B2A2279E1AFE22D9D2084E2050 E4547545448DBF18DBF1B21305BF22D9D209C2A2DBBF10A132D6E2010E678BF1 D6E2010E66C7D1B0BC19C2A2387C1D6E2010E6DBBF1AE8C1C423284E204035F4 25454563284E20703414454554D40597632DCC024563284E20703414454554D4 05976324563284E20404414451497632DCC0284E2040441445148B9C14563284 E20103597632DCC024B2A24563284E20104597632DCC024B2A26911247A20C2A 20B0000553554C2A20B0000E45475C2A20B00004454C4B2130D511284E2050D4 14B44544330328BA2084E2010454B2A2279E1B2130D5032D9D20683A2F17A1D8 732D9D2078BF1339201000000000001210279E18A732D9D203F2A24563284E20 104597632DCC0284E2050E454754544B21305DF2278BF1339201000000000001 580279E18A732D9D20683A284E2060348464F4E44584E2050D414B44544B2130 5DF2278BF1339201000000000001590279E18A732D9D209C2A284E2060348464 F4E44584E2050D414B44544B21305DF2278BF1339201000000000001530279E1 8A732D9D203CE228BA2084E20107584E201035EBBE1B2130AFE22D9D2084E201 0759C2A276BA14563284E20107597632DCC0284E20503554544544B21305BF22 D9D203392010000000000000503392099900000000000204C5A1B21305DF22B2 1305DF2278BF1339201000000000001520279E18A732D9D203CE228BA2084E20 10759C2A2D5CE1B2130AFE22D9D2084E2010759C2A290DA14563284E20107597 632DCC0284E20503554544544B21305BF22D9D20339201000000000000050339 2099900000000000204C5A1B21305DF22B21305DF2278BF13392010000000000 01310279E18A732D9D2084E20404414451484E2010756C7D178BF1C2A2071000 4456C6564756A00202DBBF176BA147A20C2A2070000E484E2010C8B2130AC422 3CE22C2A207000095279E1AFE22D9D20B7FC1EFE0284E20504454C44544D13A2 FA1A18B9C13CE229C2A2279E1AFE22D9D2084E2050E454754544ED2A24563284 E20104597632DCC02B21305DF22B21305BF22D9D2084E205035545445448DBF1 B21305DF22B21305DF2278BF178BF1339201000000000001110279E1DBBF1339 201000000000001150279E1908E18A732D9D2084E20404414451484E2010756C 7D1B7FC14563284E20404414451497632DCC029C2A24563284E20107597632DC C0284E2040441445148B9C14563284E20103597632DCC029C2A24563284E2010 4597632DCC02B21305DF22339201000000000000050339209990000000000020 4C5A1B21305DF228DBF1B2130496324563284E20104597632EFE024563284E20 703414454554D40597632EFE02B21305DF224B2A26911247A20C2A20D0000C49 43545C2A20B0000144444C2A20D000054449445C2A20D000035F42545C2A20D0 000D41425B4C2A20D000054859445B2130D511284E2050D414B4454493632B21 300B80050E45475454450D9D20E1632858A1C2A20150004597075602E6567702 C696374702E616D656A08496470254E445542502778656E60246F6E65647A208 4E20106584E2010C8B2130AC422C2A20900000202DBBF176BA1C2A20F0000E2C 494354576BA178BF19C2A2387C1DBBF1B7FC178BF1E0CF1DBBF1DCC024563284 E20404414451497632DCC0284E2040441445148B9C14563284E20103597632DC C029C2A24563284E20107597632DCC0284E2050D414B4454493632B213047100 50544494454450D9D20E1632858A1C2A20740005446964796E67602D4F64656A 08496470254E445542502778656E60246F6E656A084E20404414451484E20107 56C7D13F2A292CF18B9C1C58C184E2010C8ED2A2387C1AC422C2A20900000202 DBBF176BA19C2A2387C184E204044144514DBBF184E201075DBBF1AE8C145632 84E2040441445149763204B02DCC0284E2050D414B4454493632B21309310050 94E435454450D9D20E16323CE2284E2010759C2A2D5CE1AFE22D9D2084E20404 41445149C2A284E2010759C2A290DA1C58C147A20C2A20900000202B213076BA 184E20404414451484E20107584E201035C58C176BA1B21305BF22D9D2047A20 C2A20900000202B213084E20404414451476BA1B21305DF224563284E2040441 445149763204B02DCC0284E2010359C2A276BA14563284E20103597632DCC028 4E2050D414B4454493632B2130C510040D4F4646440D9D20E163284E20503484 142584EEDA1B9691E4A20510000000000000000000DBBF1ED2A2387C1634E1DB BF1C2A20700000284E204064F4E445DA5E1AE8C193632B21303900030D4F4E43 0D9D20E163284E20503484142584EEDA1B9691E4A20510000000000000000000 DBBF1ED2A2387C1634E1DBBF1C2A20700003884E204064F4E445DA5E1AE8C193 632B21301900040441445144084E20C07425F434542595E2C4943545B2000403 5F4254540D9D20E1632606E1C2A2035000A005C6561637560277169647E2E2E2 A0A002020235F6274796E6760247865602C6963747A0A0A09C2A2485A178BF18 B9C147A20B21304B2A24B2A21C432D6E201044D6E201035D6E201045D6E20103 4D6E201064E16323CE22D6E2010359C2A2D5CE1AFE22D9D20D6E2010449C2A26 C7D19C2A2387C145632D6E20104597632DCC029C2A245632D6E20103497632DC C02ED2A2D6E2010350A132D6E2010E6D6E201044D6E2010E66C7D14B2A245632 D6E20106497632DCC029C2A2D6E2010340A132D6E2010D678BF1D6E201045D6E 2010D66C7D13CE22EBBE1D6E2010644B2A2279E1387E1AFE22D9D20D6E2010D6 45632D6E20106497632DCC02D6E20103445632D6E2010D697632DCC02B21305D F22C42329C2A2387C13CE22D6E2010644B2A2279E1AFE22D9D20D6E201045DBB F176BA1B21305BF22D9D203CE22D6E2010649C2A2279E1AFE22D9D20D6E20104 576BA1B21305BF22D9D20D6E2010459C2A2D6E2010649C2A290DA1C58C1DBBF1 76BA1D6E201045D6E201064D6E201034C58C176BA1B21305DF22B21305DF2245 632D6E20104597632DCC02D6E2010349C2A276BA145632D6E20103497632DCC0 2C4232D6E201045B21305BF22D6E2010445DF22EF53293632B21309B30020057 520339202000000000000020D10007084353425F4C4C470D9D20E163278BF184 E2010C4BB69176BA1C9432D9D20E16321C432D6E2010E6E16323CE228BA20D6E 2010E684E2020057533920200000000000131090DA1CFCE1B21308BA20D6E201 0E64B2A2B9DE1B2130387E1AFE22D9D2084E2010C4BB69176BA1B96914563284 E2010C497632DCC0284E20503554544544B21305BF22D9D208DBF13392010000 000000000503392099900000000000204C5A1B21305DF22EF53293632B2130EB 3A193632B2130071004064F4E445403392000000000000000201200050348414 2575503392000000000000000603200050348414258450339200000000000000 080320007064E4451445452570C2A20D3000B702B70243027302D702B7026302 8302D702B7026302130302D702D74500060348464F4E44560D9D20E16321C432 D6E201029E16323CE228BA2084E204064F4E445D6E20102976BA19C2A2B9DE1B 21308BA2084E204064F4E445D6E20102976BA13F2A2CFCE1B2130387E1AFE22D 9D2084E207064E44514454525B7FC184E204064F4E445D6E20102976BA178BF1 4563284E204064F4E44597632DCC026C7D1B7FC18DBF14563284E20503484142 58497632DCC024563284E2050348414257597632DCC023392010000000000004 6084E2050348414258450FA19DBB19C2A290DA14563284E20108497632DCC02B 21305BF22D9D203392010000000000000503392099900000000000204C5A1B21 305DF22EF53293632B21305F100405485944540D9D20E16323CE2284E202034C 49C2A2279E1AFE22D9D20339201000000000000049472C1B21305DF228DBF14B 2A269112858A1606E147A2084E20103584E20107584E2010C484E20108484E20 2034C4634E1B2130EFE02041A1303A193632B2130EC000C07425F434542595E2 C4943545C047A20C2A20F10000202642555944535E2C4943545C2A2091000020 20202140707C65637C2A20B10000202020224562727965637C2A201200002020 20274271607566627579647C2A209100002020202742716075637C2A20510000 2020202B4967796C2A209100002020202C456D6F6E637C2A207100002020202C 496D65637C2A209100002020202D456C6F6E637C2A20B100002020202F42716E 6765637C2A20B10000202020205561636865637C2A2071000020202020556162 737C2A20F1000020202020596E656160707C656C2A2072000020265547454451 424C45435E2C4943545C2A20B20000202020214C46414C4641402350525F4554 535C2A201200002020202142545943484F4B45435C2A20B10000202020214651 4341444F4C2A207100002020202245414E435C2A205200002020202245414E40 2350525F4554535C2A20D1000020202022425F4343455C494C2A20B200002020 202242555353554C402350525F4554535C2A20B1000020202023414242414745 4C2A2012000020202023414C49464C4F4755425C2A20B1000020202023414252 5F44535C2A2091000020202023454C4542595C2A20D10000202020254747405C 414E445C2A209100002020202741627C69636C2A205200002020202845425243 5C2026425543584C2A20B100002020202C4544545553454C2A20F10000202020 2D455358425F4F4D435C2A207100002020202F4E696F6E6C2A20510000202020 205561637C2A20B10000202020205540505542535C2A20D10000202020205F64 71647F65637C2A20B100002020202350594E4943484C2A20510000202020245F 46455C2A20910000202020245F4D41445F4C2A20B100002020202A555343494E 494B2130A1500302555E430D9D20E1632339201000000000000049313C145632 84E202034C497632DCC023392010000000000000495D2C14B2A284E206034846 4F4E445E4A205100000000000000000004563284E2010C497632DCC02FD332D9 D2084E2040441445149C2A26C7D1B2130F1732D9D2084E205034144545448DBF 1B21305DF228DBF19C2A24563284E20107597632DCC0284E2040441445148B9C 14563284E20103597632DCC0247A20C2A20D0000C4943545C2A20B0000144444 C2A20D000054449445C2A20D000035F42545C2A20D0000D41425B4C2A20D0000 54859445B2130D511284E2050D414B44544D63A1FD332D9D20330328BA204B2A 24B2A2279E1B2130D5032D9D20683A2F17A1D8732D9D2078BF13392010000000 00001590279E18A732D9D209C2A284E2060348464F4E44584E2050D414B44544 B21305DF2278BF1339201000000000001580279E18A732D9D20683A284E20603 48464F4E44584E2050D414B44544B21305DF2278BF1339201000000000001210 279E18A73284E205014444445445DF2278BF1339201000000000001430279E18 A732D9D2084E20503484142575599A184E207084353425F4C4C4B21305DF2278 BF1339201000000000001630279E18A732D9D2084E2050348414257584E20708 4353425F4C4C4B21305DF2278BF1339201000000000003630279E18A732D9D20 84E2020057533920200000000000131090DA184E2010C4BB69190DA184E20708 4353425F4C4C4B21305DF2278BF1339201000000000002630279E18A732D9D20 84E20503484142575339201000000000000010EEDA184E207084353425F4C4C4 B21305DF2278BF1339201000000000003430279E18A732D9D2084E2010C4BB69 1599A184E207084353425F4C4C4B21305DF2278BF13392010000000000024302 79E18A732D9D2084E20503484142575339201000000000000019EEDA184E2070 84353425F4C4C4B21305DF2278BF1339201000000000001110279E18A73284E2 05034144545445DF2278BF1339201000000000003110279E18A73284E2050E45 47545445DF2278BF1339201000000000001530279E18A732D9D203CE228BA208 4E20107584E201035EBBE1B2130AFE22D9D2084E2010759C2A276BA14563284E 20107597632DCC0284E20503554544544B21305BF22D9D203392010000000000 000503392099900000000000204C5A1B21305DF22B21305DF2278BF133920100 0000000001520279E18A732D9D203CE228BA2084E2010759C2A2D5CE1B2130AF E22D9D2084E2010759C2A290DA14563284E20107597632DCC0284E2050355454 4544B21305BF22D9D203392010000000000000503392099900000000000204C5 A1B21305DF22B21305DF2278BF1339201000000000003530279E18A732D9D208 4E2010354563284E20107597632DCC0284E20503554544544B21305DF2278BF1 339201000000000003520279E18A732D9D209C2A24563284E20107597632DCC0 284E20503554544544B21305DF2278BF1339201000000000001510279E18A732 D9D20803A284E20402523442384E2050D414254544B21305DF2278BF13392010 00000000002510279E18A73284E2050D4142545445DF2278BF13392010000000 00003510279E18A73284E205055E4D445445DF2278BF13392010000000000014 10279E18A732D9D2084E20404414451484E204035F425454563284E204044144 5149763204B02DCC0284E2050D414B44544B21305DF2278BF133920100000000 0003450279E18A73284E20504454C445445DF2278BF133920100000000000245 0279E18A73284E205075940545445DF2278BF1339201000000000001310279E1 8A73284E205054449445445DF2278BF1339201000000000002520279E18A732D 9D203CE2284E20107584E201084D5CE1AFE22D9D2084E20107584E20108490DA 1B21305BF229C2A25DF224563284E20107597632DCC0284E20503554544544B2 1305DF2278BF1339201000000000002530279E18A732D9D203CE2284E2010358 4E20108490DA184E201075D5CE1AFE22D9D2084E20107584E20108476BA1B213 05BF2284E2010355DF224563284E20107597632DCC0284E20503554544544B21 305DF2278BF1339201000000000003210279E18A73284E205094E43545445DF2 278BF1339201000000000003190279E18A732E13A15DF2278BF1339201000000 000001610279E18A73284E2040548594455DF223392010000000000000503392 099900000000000204C5A1B21305DF228DBF1B213049632B2130F1732D9D208D BF13CE22883A1BB6914B2A2279E1AFE22D9D209C2A284E204054859445B21305 BF22D9D20606E13A3A19C2A2485A14B2A2F17A18DBF19C2A284E204054859445 B21305DF22B21305DF2293632B2130B463" ---------------------- original (unmodified) announcement from David -------- Program Id: TODO Description: To-Do Reminder List Programmer: David Cook - Cookware Welcome to Version 1.0 of TODO, a To-Do list reminder system. This program was written for a friend of mine who refused to buy a HP48SX unless it had a TODO program, scheduler (with calendar) and Rolodex (he would rather have a HP48SX instead of a Wizard etc.., but needed that functionality). Since I already have a rolodex and calendar program for my 48SX I only needed to provide this function. Disclaimer: I have had my 48SX only about 3 months, so I am sure that this program can be written better, smaller and faster. I would have used SYSEVAL statements, but was unsure about compatibility with other revisions (can anyone out thereanswer this question?). Shareware Notice: Feel free to use this program and redistribute it. I ask that if you redistribute the program, please keep it named TODO, and please keep the title screen intact. If you make significant changes, please add you name to the title screen - but keep my name as well. If you find this program invaluable, a $5 donation would be appreciated. Send any money or comments to: David Cook, RR #1 Box 351, Whitestown Indiana 46075 - Thank you! Installing And Running TODO: The program can be found at the bottom of this post. It is in ->ASC formatand you will need ASC-> to unscramble it. ASC-> is openly available on this forum as well as the HP BBS. (The ASC routines were written by Bill Wickes.) I'm sure that if you don't have them, an open letter to the NET would producethem rather quickly! (1) Cut the code at the bottom of the document, AFTER the CUT HERE line. Remove the final CUT HERE line at the bottom. (2) Send this file to your HP48SX, via the Serial Cable, into the file ' TODO' (3) Hit the TODO button (eg., place the contents of TODO on the command line) (4) Execute ASC-> (which you already should have loaded, or load it now) (5) Store the result back to 'TODO' - it will become a directory Running... (6) Simply enter the TODO directory and hit the RUN button which will be the very first button you see. From here on out, simply follow (6) to run it. Features: * Unlimited number of lists - up to the memory of your machine * Unlimited size for the lists - up to the memory of your machine * Ability to scroll the lists by the line or page * Ability to jump to the beginning or end of any list * Ability to change lists via a catalog * Ability to create new lists or delete old lists * Ability to MARK and UNMARK items on the list * Ability to UNMARK ALL items on the list * Ability to delete any single item on the list * Ability to delete ALL MARKED items on the list * Ability to insert a new item anywhere in the list * Ability to sort any list of information GROCERY LIST I have created a large (though somewhat incomplete) grocery lists, as a default. It is large so it does take a bit of time to compile the GROB. Usethis list as an example list, and delete it if you need the memory or find it unusable. How To Use TODO --------------- When the program begins to run, it will display six menu items assigned to the menu keys. These six items are: LIST - Catalog of all lists OR create a new list OR delete a list ADD - Adds a new item to the end of the list OR inserts a blank item EDIT - Edits the text of an existing item SORT - Sort any particular list MARK - Marks an item OR Unmarks an item OR Unmarks all marked items EXIT - Exits the program and returns you to the HOME directory The following lists the available KEYSTROKES from the main menu level: UP ARROW - Scroll the current list towards the top - one item ORANGE SHIFT UP ARROW - Move the current list toward the top - one page BLUE SHIFT UP ARROW - Move the current list to the top DOWN ARROW - Scroll the current list toward the bottom - one item ORANGE SHIFT DOWN ARROW - Move the current list toward the bottom - one page BLUE SHIFT DOWN ARROW - Move the current list to the bottom DEL (keyboard key) - Deletes the current item ORANGE SHIFT DEL (purge)- Deletes ALL marked items LIST (menu key) - Get a catalog of all lists BLUE SHIFT LIST - Enter the name for a brand new list ADD (menu key) - Add an item to the end of the current list BLUE SHIFT ADD - Insert a blank line ABOVE the current item EDIT (menu key) - Edit the text of the current line SORT - Sort the current list in alphabetical order MARK (menu key) - Mark OR Unmark the current item BLUE SHIFT MARK - Unmark ALL marked items ORANGE SHIFT MARK - Same as MARK without the Startrek sound EXIT - Stop the program and return to the HOME directory BLUE SHIFT EXIT - Turn the calculate off (turning it on returns to TODO automatically with no delay) Here are some general comments about a couple of the commands... CURRENT ITEM The current item (eg., the item you are going to MARK, UNMARK, DELETE etc..) is the one at the TOP OF THE DISPLAY. To move an item into the current item area, simply scroll (UP/DOWN arrow) until it is the top item on the list. This goes for catalog lists (LIST) as well. LIST When in LIST, all current lists in the current directory will be displayed, in alphabetical order (eg., sorted). WHILE you are in this mode, UP and DOWN arrow work (but PAGE UP and PAGE DOWN and GO TO TOP and GO TO END do not work). The DEL keyboard key will DELETE a list completely from memory. MARK The MARK command allows you to place a marker next to items which you have completed (eg., check 'em off). Hit MARK the first time to place the marker, Hit MARK a second time (on the same item) to unmark. When you MARK or UNMARKa 'startrek' type beep will occur to signify the mark. If you do not wish to hear the sound, hit ORANGE SHIFT MARK instead. BLUE SHIFT MARK will UNMARK ALL currently marked entries WITHOUT deleting them from the list. DEL The normal 48SX DEL key serves to DELETE the current item, when hit under the normal menu (when hit while in LIST, it deletes entire lists). If you hit ORANGE SHIFT DEL, the program will delete ALL marked entries - useful for purging information you have already done. STARTING UP If you start the program, and the current list is not found by the program (eg., you deleted it from the operating system level), the LIST command will automatically be run by the program. If the LIST command does not see any lists in memory, the BLUE SHIFT LIST command will automatically be run, allowing you to create a new list. OTHER KEYBOARD KEYS If you hit an unknown key (eg., not known to the program), the program will issue a very low tone. Try again! Internals: This posting is already too long to give you full details of the program. Feel free to rip it apart and improve it - just post it back! One routine you will probably want to add to your 'favorites' list is the routine named R2D2. This, standalone, routine takes a single number from the stack and makes your HP48SX sound like a device on Star Trek. The best values, for the most convincing sound are the values 4 or 5. Simply type 5 R2D2 for a demo. The number indicates the length of time (eg., number of chirps) for the speaker to make). Another routine you will find useful is the SORT routine. To use SORT independently of the program, simply place a LIST of STRINGS on Level 1 and run SORT. This is NOT a bubble sort, but an insertion sort, and it only takes as long to sort the data as it does to read the data one time (plus the linear count to find the place to put the data). Other items you will find useful, if reverse engineering the routines... Thevariable 'DATA' contains the name of the current to-do list database. Thesystem creates TEMPORARY variables (only will be seen if you abort the program while it is running). 'W' contains a number which signifies which item is the current iten (1 - S). 'S' contains the total number of items in the list. If you abort during a catalog, you will see CATTEMP which contains a list of all you to-do lists. 'W', 'S' and 'CATTEMP' are all deleted and rebuilt by the program. Here is a brief listing of what the other routines do: RUN - Runs the TODO program SORT - Sorts a LIST of STRINGS in level 1 MON - High speed GROB editor, used to turn a Mark ON MOFF - High speed GROB editor, used to turn a Mark OFF INSTD - INSerts a blank item into the ToDo list above the current item EDITD - EDIts the current item of the current ToDo list NEWTD - Creates a NEW ToDo list CATTD - Handles the LIST command catalog of lists SEETD - Displays the current list (does NOT build it) MAKTD - Makes the GROB associated with the current list ADDTD - Adds a new item to the END of the current list MARTD - Handles Marking and Unmarking of the current item UNMTD - Unmarks ALL marked items in the list WIPTD - Deletes ALL marked items in the list DELTD - Deletes the current item in the list R2D2 - Takes a repeat value from level 1 and issues StarTrek sounds AGAIN... these routines should only be used for editing and changing the program. Use the RUN routine to execute the program (just hit RUN) and the program will automatically issues these routines for you in responce to the menu keys you hit (as described above). I provided the details above only for those who want to see how it runs! ENJOY!!!!! --- rfmail 0.3.9 * Origin: Bonafido Usenet <====> Fido Gateway. (3:771/170.0) SEEN-BY: 771/110 170 180 FSC-Control: PATH: 771/110
diamant@hpfcbig.SDE.HP.COM (John Diamant) (03/27/91)
Program Id: TODO Description: To-Do Reminder List Programmer: David Cook - Cookware Modified: John Diamant (modifications version 1.0) This program is a generic list manager for the 48SX calculator. It works not only on todo lists, but any other type of list you care to manage in the calculator (limited by memory of the calculator). I'm not going to repeat most of the general announcements from the original posting as I'm including it at the bottom of this message. Please note in particular the shareware notice in David's original comments. Installation instructions are the same as the original (see David's note at the bottom if you don't know how to install an ASC format program). If you can't download via ASC and need a cleartext posting (translate code 3), let me know (email would be fine) and I'll post that as well. However, to avoid further delay, I'm posting this now in ASC format. If you use this new TODO version and like it, I'd like to hear from you (especially if you're using the new features I added to it). If anybody knows David Cook's email address, I'd like to get in touch with him to merge my changes into his master version. The next response to this note will be a question I have regarding memory efficiency and PICT. If I find out how to improve the memory efficiency, I'll probably post a modified version, so you'll have to decide whether you want to wait or download this version. However, the lists you build with this version should work just fine for a more memory efficient version and I may be able to provide a simple patch (by the way, the memory usage problem is not something I introduced with my changes but my increasing the width of the PICT made it more likely to occur). To run the program, simply press the RUN button in the variables menu in the TODO directory (I use the following entry in my CST menu to start up the program: { "LIST" << TODO RUN >> }) By the way, I have truncated the grocery list substantially from the original posting due to it's taking too much space. If you want the full one, download the original posting. The changes from David's version 1.0 are as follows: Made the OFF key turn the calculator off while in TODO (instead of BLUE SHIFT [EXIT]) Made the [EDIT] menu key return the current text as the default value for the new text (which also makes it easy to cancel an edit simply by pressing ENTER without making any changes). Made the program font-size independent (with a table for the font sizes for the 3 builtin available fonts) and provided a binding (+ and - keys) for dynamically changing the size of the font while the program is running. I did this because the small font is good when you want lots of data, but is hard on the eyes since it's all uppercase, so I want different fonts at different times (depends on how wide the data is I'm viewing. Implemented horizontal scrolling (by character, 10 characters at a time, and beginning and end of line). I also increased the width of the virtual screen (adjustable with a local variable in the TODO directory). LIST mode (choose which list to make active) has been extended to support USE, NEW, and DEL menu buttons rather than requiring obscure keystrokes for these functions. Made LIST mode more robust (added beeps for incorrect keystrokes). Deleting a list asks for confirmation (default is no). Changed the keybinding for deleting an item from a list from DEL to BLUE SHIFT DEL to avoid risk of accidental deletion. The ATTN key is trapped via IFERR and appropriate cleanup is done (note that I do not rely on Bill Wickes special version of IFERR -- the builtin was sufficient for my purpose -- to make sure the program cleaned up if I accidentally used ATTN instead of EXIT) Disables clock display during program execution and restores initial state of clock (displayed or not) on exit (even with ATTN key). Made the function which create new lists do some error checking on legal names (using "V" mode for INPUT). Removed reordering of vars on exit to put RUN at beginning since I run the program from CST and I don't want to pay the run-time cost every time I exit to reorder the VARS menu. > I'll post either when I get all the changes finished or I expect it to be > awhile before I get the rest done (I'll probably post in a couple of days). Sorry it was more than a couple of days, but I think you'll be glad I waited as I did add some functionality almost each day I delayed posting. How To Use TODO (modified from David's original instructions) --------------- When the program begins to run, it will display six menu items assigned to the menu keys. These six items are: LIST - Catalog of all lists OR create a new list OR delete a list ADD - Adds a new item to the end of the list OR inserts a blank item EDIT - Edits the text of an existing item SORT - Sort any particular list MARK - Marks an item OR Unmarks an item OR Unmarks all marked items EXIT - Exits the program and returns you to the HOME directory The following lists the available KEYSTROKES from the main menu level: UP ARROW - Scroll the current list towards the top - one item ORANGE SHIFT UP ARROW - Move the current list toward the top - one page BLUE SHIFT UP ARROW - Move the current list to the top DOWN ARROW - Scroll the current list toward the bottom - one item ORANGE SHIFT DOWN ARROW - Move the current list toward the bottom - one page BLUE SHIFT DOWN ARROW - Move the current list to the bottom LEFT ARROW - scroll the current list towards the left - one char ORANGE SHIFT LEFT ARROW - scroll the current list towards the left - 10 chars BLUE SHIFT LEFT ARROW - scroll the current list to the left edge RIGHT ARROW - scroll the current list towards the right - one char ORANGE SHIFT RIGHT ARROW- scroll the current list towards the right - 10 chars BLUE SHIFT RIGHT ARROW - scroll the current list to the right edge BLUE SHIFT DEL - Deletes the current item ORANGE SHIFT DEL (purge)- Deletes ALL marked items LIST (menu key) - Get a catalog of all lists BLUE SHIFT LIST - Enter the name for a brand new list (also available in LIST environment as function key) ADD (menu key) - Add an item to the end of the current list BLUE SHIFT ADD - Insert a blank line ABOVE the current item EDIT (menu key) - Edit the text of the current line SORT - Sort the current list in alphabetical order MARK (menu key) - Mark OR Unmark the current item BLUE SHIFT MARK - Unmark ALL marked items ORANGE SHIFT MARK - Same as MARK without the Startrek sound EXIT - Stop the program and return to the HOME directory BLUE SHIFT ON (OFF) - Turn the calculate off (turning it on returns to TODO automatically with no delay) + - Increase font to next larger size - - Decrease font to next smaller size KEYSTROKES available from LIST screen (entered via LIST menu key): UP ARROW - Scroll the current list towards the top - one item DOWN ARROW - Scroll the current list toward the bottom - one item USE (menu key) - make top list on screen currently viewed list ENTER - same as USE NEW (menu key) - Create new list (same as BLUE SHIFT LIST above) DEL (menu key) - Delete top list on screen (will ask for confirmation) + - Increase font to next larger size - - Decrease font to next smaller size Note the setting of PW below to change the width of your virtual screen. The one I posted is set to 200 but you might prefer 262 (2 screens)if you have sufficient memory. New Internals (see the original posting for other internals): Here is a brief listing of what the other routines do: PW - page width. Number of pixels of width to make the PICT display. The screen is 131 wide, so use no less than 131, but larger than 131 is required to get any horizontal scrolling. EXIT - function used to clean up and exit (called from a few places) CHFONT - takes delta for font number as argument and sets up CHARH, CHARW, FONT, and H for selected font. Values of 1, -1, and 0 are useful (increase font size by one, decrease font size by one, and set up font attributes for initialization respectively) FNTATTR - list containing font attributes (width and height in pixels) for the 3 builtin fonts. Note that the list is stored as a string and converted on the fly to avoid it being seen by the TODO program as a user-specified list. CHARH - character height in pixels of currently selected font CHARW - character width in pixels of currently selected font H - number of items which can be displayed on one screen in current font FONT - number of currently selected font (used in ->GROB call) Only PW should be changed by a user of the program. The rest are only documented if you want to change the program. They are managed internally. John Diamant Software Engineering Systems Division Hewlett Packard Co. ARPA Internet: diamant@hpfclp.sde.hp.com Fort Collins, CO UUCP: {hpfcla,hplabs}!hpfclp!diamant This code does not come with any warranty express or implied. It's suitability for any purpose is not the responsibility of the authors. This response does not represent the official position of, or statement by, the Hewlett-Packard Company. The above data is provided for informational purposes only. Note that I'm just a 48SX user like you -- I just happen to work for HP. I do not work in the division that makes these calculators. -------- ASC encoding of new todo program (original TODO 1.0 docs follow) %%HP: T(3)A(D)F(.); "69A20FF75462000000402523442340D9D20E16329C2A2DBBF1301329B1C13392 03000000000000040EEDA133920300000000000005076BA19B1C133920899000 0000000020EEDA14C5A1C423293632B213019000504454C4454450D9D20E1632 3CE2284E2010359C2A2279E1AFE22D9D2047A20C2A20900000202B2130456328 4E2040441445149763204B02DCC029C2A24563284E20103597632DCC029C2A24 563284E20107597632DCC02B21305BF22D9D2047A20B21309C2A284E2010350A 132D6E2010E63CE22D6E2010E684E201075D9AE1AFE22D9D2084E20404414451 4D6E2010E66C7D19C2A2387C176BA1B21305DF22C42324563284E20404414451 49763204B02DCC0284E2010359C2A290DA14563284E20103597632DCC029C2A2 4563284E20107597632DCC02B21305DF2284E2050D414B4454493632B21305D1 0050759405454450D9D20E163247A20B21309C2A284E2010350A132D6E2010E6 3CE2284E204044144514D6E2010E66C7D19C2A29C2A2C58C1C2A207000002279 E1AFE22D9D2084E204044144514D6E2010E66C7D19C2A2387C176BA1B21305DF 22C42323CE2278BF18B9C19C2A2EBBE1AFE22D9D208DBF147A20C2A209000002 02B2130B21305DF224563284E2040441445149763204B02DCC0284E204044144 5148B9C14563284E20103597632DCC029C2A24563284E20107597632DCC0284E 2050D414B4454493632B2130691005055E4D4454450D9D20E163284E20404414 45149C2A284E2010350A132D6E2010E678BF1D6E2010E66C7D19C2A2C2A20700 0002AE8C1D6E2010E6DBBF19C2A2387C1AE8C1D6E2010E684E2040D4F46464C4 2324563284E2040441445149763204B02DCC0284E2050355454454493632B213 04E00050D41425454450D9D20E163284E20404414451484E2010756C7D178BF1 9C2A29C2A2C58C13CE22C2A207000002279E1AFE22D9D209C2A2C2A207000038 84E20107584E2030D4F4E4B21305BF22D9D209C2A2C2A20700000284E2010758 4E2040D4F46464B21305DF22AE8C184E204044144514DBBF184E201075DBBF19 C2A2387C1AE8C14563284E2040441445149763204B02DCC0284E205035545445 4493632B21306410050144444454450D9D20E1632858A184E204044144514C2A 20900000202C2A2075000459707560296E60247865602E656874702964756D6A 08496470254E445542502778656E60246F6E65647A2084E2010C8B2130AC4227 6BA19C2A2387C176BA14563284E2040441445149763204B02DCC0284E2010359 C2A276BA14563284E20103597632DCC0284E2050D414B4454493632B2130B210 050D414B4454450D9D20E1632606E1C2A207D000020202020202020245F6D244 F6A0020205562737F6E616C6022556D696E6465627A0A0E2E2E275169647C202 245796C64696E67602C4963747A0A0655627A30213E20302D2D2024416679646 0234F6F6B6A0D6F646A30213E2030202A4F686E602449616D616E647A09C2A24 85A184E20200575B969184E20103533920100000000000011076BA184E205034 84142584EEDA1B9691614E19C2A284E2010350A132D6E2010E6E4A2051000000 0000000000000D6E2010E684E20503484142584EEDA1B9691ED2A2387C184E20 4044144514D6E2010E66C7D184E204064F4E445DA5E1AE8C1C4232858A1606E1 634E1DCC0284E2050355454454493632B21304220050355454454450D9D20E16 3284E20107584E20503484142584EEDA1B969184E2010C4DBBF1ED2A2387C10F 2E193632B21303600050341445454450D9D20E16329C2A24563284E201075976 32DCC02D13A2FA1A178BF18B9C13CE2278BF14B2A2279E1AFE22D9D2084E2050 E4547545448DBF18DBF1B21305BF22D9D209C2A2DBBF10A132D6E2010E678BF1 D6E2010E66C7D1B0BC19C2A2387C1D6E2010E6DBBF1AE8C1C423284E204035F4 25454563284E20703414454554D40597632DCC024563284E20703414454554D4 05976324563284E20404414451497632DCC0284E2040441445148B9C14563284 E20103597632DCC024B2A24563284E20104597632DCC024B2A26911247A20C2A 20B0000553554C2A20B0000E45475C2A20B00004454C4B2130D511284E2050D4 14B44544330328BA2084E2010454B2A2279E1B2130D5032D9D20683A2F17A1D8 732D9D2078BF1339201000000000001210279E18A732D9D203F2A24563284E20 104597632DCC0284E2050E454754544B21305DF2278BF1339201000000000001 580279E18A732D9D20683A284E2060348464F4E44584E2050D414B44544B2130 5DF2278BF1339201000000000001590279E18A732D9D209C2A284E2060348464 F4E44584E2050D414B44544B21305DF2278BF1339201000000000001530279E1 8A732D9D203CE228BA2084E20107584E201035EBBE1B2130AFE22D9D2084E201 0759C2A276BA14563284E20107597632DCC0284E20503554544544B21305BF22 D9D203392010000000000000503392099900000000000204C5A1B21305DF22B2 1305DF2278BF1339201000000000001520279E18A732D9D203CE228BA2084E20 10759C2A2D5CE1B2130AFE22D9D2084E2010759C2A290DA14563284E20107597 632DCC0284E20503554544544B21305BF22D9D20339201000000000000050339 2099900000000000204C5A1B21305DF22B21305DF2278BF13392010000000000 01310279E18A732D9D2084E20404414451484E2010756C7D178BF1C2A2071000 4456C6564756A00202DBBF176BA147A20C2A2070000E484E2010C8B2130AC422 3CE22C2A207000095279E1AFE22D9D20B7FC1EFE0284E20504454C44544D13A2 FA1A18B9C13CE229C2A2279E1AFE22D9D2084E2050E454754544ED2A24563284 E20104597632DCC02B21305DF22B21305BF22D9D2084E205035545445448DBF1 B21305DF22B21305DF2278BF178BF1339201000000000001110279E1DBBF1339 201000000000001150279E1908E18A732D9D2084E20404414451484E2010756C 7D1B7FC14563284E20404414451497632DCC029C2A24563284E20107597632DC C0284E2040441445148B9C14563284E20103597632DCC029C2A24563284E2010 4597632DCC02B21305DF22339201000000000000050339209990000000000020 4C5A1B21305DF228DBF1B2130496324563284E20104597632EFE024563284E20 703414454554D40597632EFE02B21305DF224B2A26911247A20C2A20D0000C49 43545C2A20B0000144444C2A20D000054449445C2A20D000035F42545C2A20D0 000D41425B4C2A20D000054859445B2130D511284E2050D414B4454493632B21 300B80050E45475454450D9D20E1632858A1C2A20150004597075602E6567702 C696374702E616D656A08496470254E445542502778656E60246F6E65647A208 4E20106584E2010C8B2130AC422C2A20900000202DBBF176BA1C2A20F0000E2C 494354576BA178BF19C2A2387C1DBBF1B7FC178BF1E0CF1DBBF1DCC024563284 E20404414451497632DCC0284E2040441445148B9C14563284E20103597632DC C029C2A24563284E20107597632DCC0284E2050D414B4454493632B213047100 50544494454450D9D20E1632858A1C2A20740005446964796E67602D4F64656A 08496470254E445542502778656E60246F6E656A084E20404414451484E20107 56C7D13F2A292CF18B9C1C58C184E2010C8ED2A2387C1AC422C2A20900000202 DBBF176BA19C2A2387C184E204044144514DBBF184E201075DBBF1AE8C145632 84E2040441445149763204B02DCC0284E2050D414B4454493632B21309310050 94E435454450D9D20E16323CE2284E2010759C2A2D5CE1AFE22D9D2084E20404 41445149C2A284E2010759C2A290DA1C58C147A20C2A20900000202B213076BA 184E20404414451484E20107584E201035C58C176BA1B21305BF22D9D2047A20 C2A20900000202B213084E20404414451476BA1B21305DF224563284E2040441 445149763204B02DCC0284E2010359C2A276BA14563284E20103597632DCC028 4E2050D414B4454493632B2130C510040D4F4646440D9D20E163284E20503484 142584EEDA1B9691E4A20510000000000000000000DBBF1ED2A2387C1634E1DB BF1C2A20700000284E204064F4E445DA5E1AE8C193632B21303900030D4F4E43 0D9D20E163284E20503484142584EEDA1B9691E4A20510000000000000000000 DBBF1ED2A2387C1634E1DBBF1C2A20700003884E204064F4E445DA5E1AE8C193 632B21301900040441445144084E20C07425F434542595E2C4943545B2000403 5F4254540D9D20E1632606E1C2A2035000A005C6561637560277169647E2E2E2 A0A002020235F6274796E6760247865602C6963747A0A0A09C2A2485A178BF18 B9C147A20B21304B2A24B2A21C432D6E201044D6E201035D6E201045D6E20103 4D6E201064E16323CE22D6E2010359C2A2D5CE1AFE22D9D20D6E2010449C2A26 C7D19C2A2387C145632D6E20104597632DCC029C2A245632D6E20103497632DC C02ED2A2D6E2010350A132D6E2010E6D6E201044D6E2010E66C7D14B2A245632 D6E20106497632DCC029C2A2D6E2010340A132D6E2010D678BF1D6E201045D6E 2010D66C7D13CE22EBBE1D6E2010644B2A2279E1387E1AFE22D9D20D6E2010D6 45632D6E20106497632DCC02D6E20103445632D6E2010D697632DCC02B21305D F22C42329C2A2387C13CE22D6E2010644B2A2279E1AFE22D9D20D6E201045DBB F176BA1B21305BF22D9D203CE22D6E2010649C2A2279E1AFE22D9D20D6E20104 576BA1B21305BF22D9D20D6E2010459C2A2D6E2010649C2A290DA1C58C1DBBF1 76BA1D6E201045D6E201064D6E201034C58C176BA1B21305DF22B21305DF2245 632D6E20104597632DCC02D6E2010349C2A276BA145632D6E20103497632DCC0 2C4232D6E201045B21305BF22D6E2010445DF22EF53293632B21309B30020057 520339202000000000000020D10007084353425F4C4C470D9D20E163278BF184 E2010C4BB69176BA1C9432D9D20E16321C432D6E2010E6E16323CE228BA20D6E 2010E684E2020057533920200000000000131090DA1CFCE1B21308BA20D6E201 0E64B2A2B9DE1B2130387E1AFE22D9D2084E2010C4BB69176BA1B96914563284 E2010C497632DCC0284E20503554544544B21305BF22D9D208DBF13392010000 000000000503392099900000000000204C5A1B21305DF22EF53293632B2130EB 3A193632B2130071004064F4E445403392000000000000000201200050348414 2575503392000000000000000603200050348414258450339200000000000000 080320007064E4451445452570C2A20D3000B702B70243027302D702B7026302 8302D702B7026302130302D702D74500060348464F4E44560D9D20E16321C432 D6E201029E16323CE228BA2084E204064F4E445D6E20102976BA19C2A2B9DE1B 21308BA2084E204064F4E445D6E20102976BA13F2A2CFCE1B2130387E1AFE22D 9D2084E207064E44514454525B7FC184E204064F4E445D6E20102976BA178BF1 4563284E204064F4E44597632DCC026C7D1B7FC18DBF14563284E20503484142 58497632DCC024563284E2050348414257597632DCC023392010000000000004 6084E2050348414258450FA19DBB19C2A290DA14563284E20108497632DCC02B 21305BF22D9D203392010000000000000503392099900000000000204C5A1B21 305DF22EF53293632B21305F100405485944540D9D20E16323CE2284E202034C 49C2A2279E1AFE22D9D20339201000000000000049472C1B21305DF228DBF14B 2A269112858A1606E147A2084E20103584E20107584E2010C484E20108484E20 2034C4634E1B2130EFE02041A1303A193632B2130EC000C07425F434542595E2 C4943545C047A20C2A20F10000202642555944535E2C4943545C2A2091000020 20202140707C65637C2A20B10000202020224562727965637C2A201200002020 20274271607566627579647C2A209100002020202742716075637C2A20510000 2020202B4967796C2A209100002020202C456D6F6E637C2A207100002020202C 496D65637C2A209100002020202D456C6F6E637C2A20B100002020202F42716E 6765637C2A20B10000202020205561636865637C2A2071000020202020556162 737C2A20F1000020202020596E656160707C656C2A2072000020265547454451 424C45435E2C4943545C2A20B20000202020214C46414C4641402350525F4554 535C2A201200002020202142545943484F4B45435C2A20B10000202020214651 4341444F4C2A207100002020202245414E435C2A205200002020202245414E40 2350525F4554535C2A20D1000020202022425F4343455C494C2A20B200002020 202242555353554C402350525F4554535C2A20B1000020202023414242414745 4C2A2012000020202023414C49464C4F4755425C2A20B1000020202023414252 5F44535C2A2091000020202023454C4542595C2A20D10000202020254747405C 414E445C2A209100002020202741627C69636C2A205200002020202845425243 5C2026425543584C2A20B100002020202C4544545553454C2A20F10000202020 2D455358425F4F4D435C2A207100002020202F4E696F6E6C2A20510000202020 205561637C2A20B10000202020205540505542535C2A20D10000202020205F64 71647F65637C2A20B100002020202350594E4943484C2A20510000202020245F 46455C2A20910000202020245F4D41445F4C2A20B100002020202A555343494E 494B2130A1500302555E430D9D20E1632339201000000000000049313C145632 84E202034C497632DCC023392010000000000000495D2C14B2A284E206034846 4F4E445E4A205100000000000000000004563284E2010C497632DCC02FD332D9 D2084E2040441445149C2A26C7D1B2130F1732D9D2084E205034144545448DBF 1B21305DF228DBF19C2A24563284E20107597632DCC0284E2040441445148B9C 14563284E20103597632DCC0247A20C2A20D0000C4943545C2A20B0000144444 C2A20D000054449445C2A20D000035F42545C2A20D0000D41425B4C2A20D0000 54859445B2130D511284E2050D414B44544D63A1FD332D9D20330328BA204B2A 24B2A2279E1B2130D5032D9D20683A2F17A1D8732D9D2078BF13392010000000 00001590279E18A732D9D209C2A284E2060348464F4E44584E2050D414B44544 B21305DF2278BF1339201000000000001580279E18A732D9D20683A284E20603 48464F4E44584E2050D414B44544B21305DF2278BF1339201000000000001210 279E18A73284E205014444445445DF2278BF1339201000000000001430279E18 A732D9D2084E20503484142575599A184E207084353425F4C4C4B21305DF2278 BF1339201000000000001630279E18A732D9D2084E2050348414257584E20708 4353425F4C4C4B21305DF2278BF1339201000000000003630279E18A732D9D20 84E2020057533920200000000000131090DA184E2010C4BB69190DA184E20708 4353425F4C4C4B21305DF2278BF1339201000000000002630279E18A732D9D20 84E20503484142575339201000000000000010EEDA184E207084353425F4C4C4 B21305DF2278BF1339201000000000003430279E18A732D9D2084E2010C4BB69 1599A184E207084353425F4C4C4B21305DF2278BF13392010000000000024302 79E18A732D9D2084E20503484142575339201000000000000019EEDA184E2070 84353425F4C4C4B21305DF2278BF1339201000000000001110279E18A73284E2 05034144545445DF2278BF1339201000000000003110279E18A73284E2050E45 47545445DF2278BF1339201000000000001530279E18A732D9D203CE228BA208 4E20107584E201035EBBE1B2130AFE22D9D2084E2010759C2A276BA14563284E 20107597632DCC0284E20503554544544B21305BF22D9D203392010000000000 000503392099900000000000204C5A1B21305DF22B21305DF2278BF133920100 0000000001520279E18A732D9D203CE228BA2084E2010759C2A2D5CE1B2130AF E22D9D2084E2010759C2A290DA14563284E20107597632DCC0284E2050355454 4544B21305BF22D9D203392010000000000000503392099900000000000204C5 A1B21305DF22B21305DF2278BF1339201000000000003530279E18A732D9D208 4E2010354563284E20107597632DCC0284E20503554544544B21305DF2278BF1 339201000000000003520279E18A732D9D209C2A24563284E20107597632DCC0 284E20503554544544B21305DF2278BF1339201000000000001510279E18A732 D9D20803A284E20402523442384E2050D414254544B21305DF2278BF13392010 00000000002510279E18A73284E2050D4142545445DF2278BF13392010000000 00003510279E18A73284E205055E4D445445DF2278BF13392010000000000014 10279E18A732D9D2084E20404414451484E204035F425454563284E204044144 5149763204B02DCC0284E2050D414B44544B21305DF2278BF133920100000000 0003450279E18A73284E20504454C445445DF2278BF133920100000000000245 0279E18A73284E205075940545445DF2278BF1339201000000000001310279E1 8A73284E205054449445445DF2278BF1339201000000000002520279E18A732D 9D203CE2284E20107584E201084D5CE1AFE22D9D2084E20107584E20108490DA 1B21305BF229C2A25DF224563284E20107597632DCC0284E20503554544544B2 1305DF2278BF1339201000000000002530279E18A732D9D203CE2284E2010358 4E20108490DA184E201075D5CE1AFE22D9D2084E20107584E20108476BA1B213 05BF2284E2010355DF224563284E20107597632DCC0284E20503554544544B21 305DF2278BF1339201000000000003210279E18A73284E205094E43545445DF2 278BF1339201000000000003190279E18A732E13A15DF2278BF1339201000000 000001610279E18A73284E2040548594455DF223392010000000000000503392 099900000000000204C5A1B21305DF228DBF1B213049632B2130F1732D9D208D BF13CE22883A1BB6914B2A2279E1AFE22D9D209C2A284E204054859445B21305 BF22D9D20606E13A3A19C2A2485A14B2A2F17A18DBF19C2A284E204054859445 B21305DF22B21305DF2293632B2130B463" ---------------------- original (unmodified) announcement from David -------- Program Id: TODO Description: To-Do Reminder List Programmer: David Cook - Cookware Welcome to Version 1.0 of TODO, a To-Do list reminder system. This program was written for a friend of mine who refused to buy a HP48SX unless it had a TODO program, scheduler (with calendar) and Rolodex (he would rather have a HP48SX instead of a Wizard etc.., but needed that functionality). Since I already have a rolodex and calendar program for my 48SX I only needed to provide this function. Disclaimer: I have had my 48SX only about 3 months, so I am sure that this program can be written better, smaller and faster. I would have used SYSEVAL statements, but was unsure about compatibility with other revisions (can anyone out there answer this question?). Shareware Notice: Feel free to use this program and redistribute it. I ask that if you redistribute the program, please keep it named TODO, and please keep the title screen intact. If you make significant changes, please add you name to the title screen - but keep my name as well. If you find this program invaluable, a $5 donation would be appreciated. Send any money or comments to: David Cook, RR #1 Box 351, Whitestown Indiana 46075 - Thank you! Installing And Running TODO: The program can be found at the bottom of this post. It is in ->ASC format and you will need ASC-> to unscramble it. ASC-> is openly available on this forum as well as the HP BBS. (The ASC routines were written by Bill Wickes.) I'm sure that if you don't have them, an open letter to the NET would produce them rather quickly! (1) Cut the code at the bottom of the document, AFTER the CUT HERE line. Remove the final CUT HERE line at the bottom. (2) Send this file to your HP48SX, via the Serial Cable, into the file 'TODO' (3) Hit the TODO button (eg., place the contents of TODO on the command line) (4) Execute ASC-> (which you already should have loaded, or load it now) (5) Store the result back to 'TODO' - it will become a directory Running... (6) Simply enter the TODO directory and hit the RUN button which will be the very first button you see. From here on out, simply follow (6) to run it. Features: * Unlimited number of lists - up to the memory of your machine * Unlimited size for the lists - up to the memory of your machine * Ability to scroll the lists by the line or page * Ability to jump to the beginning or end of any list * Ability to change lists via a catalog * Ability to create new lists or delete old lists * Ability to MARK and UNMARK items on the list * Ability to UNMARK ALL items on the list * Ability to delete any single item on the list * Ability to delete ALL MARKED items on the list * Ability to insert a new item anywhere in the list * Ability to sort any list of information GROCERY LIST I have created a large (though somewhat incomplete) grocery lists, as a default. It is large so it does take a bit of time to compile the GROB. Use this list as an example list, and delete it if you need the memory or find it unusable. How To Use TODO --------------- When the program begins to run, it will display six menu items assigned to the menu keys. These six items are: LIST - Catalog of all lists OR create a new list OR delete a list ADD - Adds a new item to the end of the list OR inserts a blank item EDIT - Edits the text of an existing item SORT - Sort any particular list MARK - Marks an item OR Unmarks an item OR Unmarks all marked items EXIT - Exits the program and returns you to the HOME directory The following lists the available KEYSTROKES from the main menu level: UP ARROW - Scroll the current list towards the top - one item ORANGE SHIFT UP ARROW - Move the current list toward the top - one page BLUE SHIFT UP ARROW - Move the current list to the top DOWN ARROW - Scroll the current list toward the bottom - one item ORANGE SHIFT DOWN ARROW - Move the current list toward the bottom - one page BLUE SHIFT DOWN ARROW - Move the current list to the bottom DEL (keyboard key) - Deletes the current item ORANGE SHIFT DEL (purge)- Deletes ALL marked items LIST (menu key) - Get a catalog of all lists BLUE SHIFT LIST - Enter the name for a brand new list ADD (menu key) - Add an item to the end of the current list BLUE SHIFT ADD - Insert a blank line ABOVE the current item EDIT (menu key) - Edit the text of the current line SORT - Sort the current list in alphabetical order MARK (menu key) - Mark OR Unmark the current item BLUE SHIFT MARK - Unmark ALL marked items ORANGE SHIFT MARK - Same as MARK without the Startrek sound EXIT - Stop the program and return to the HOME directory BLUE SHIFT EXIT - Turn the calculate off (turning it on returns to TODO automatically with no delay) Here are some general comments about a couple of the commands... CURRENT ITEM The current item (eg., the item you are going to MARK, UNMARK, DELETE etc..) is the one at the TOP OF THE DISPLAY. To move an item into the current item area, simply scroll (UP/DOWN arrow) until it is the top item on the list. This goes for catalog lists (LIST) as well. LIST When in LIST, all current lists in the current directory will be displayed, in alphabetical order (eg., sorted). WHILE you are in this mode, UP and DOWN arrow work (but PAGE UP and PAGE DOWN and GO TO TOP and GO TO END do not work). The DEL keyboard key will DELETE a list completely from memory. MARK The MARK command allows you to place a marker next to items which you have completed (eg., check 'em off). Hit MARK the first time to place the marker, Hit MARK a second time (on the same item) to unmark. When you MARK or UNMARK a 'startrek' type beep will occur to signify the mark. If you do not wish to hear the sound, hit ORANGE SHIFT MARK instead. BLUE SHIFT MARK will UNMARK ALL currently marked entries WITHOUT deleting them from the list. DEL The normal 48SX DEL key serves to DELETE the current item, when hit under the normal menu (when hit while in LIST, it deletes entire lists). If you hit ORANGE SHIFT DEL, the program will delete ALL marked entries - useful for purging information you have already done. STARTING UP If you start the program, and the current list is not found by the program (eg., you deleted it from the operating system level), the LIST command will automatically be run by the program. If the LIST command does not see any lists in memory, the BLUE SHIFT LIST command will automatically be run, allowing you to create a new list. OTHER KEYBOARD KEYS If you hit an unknown key (eg., not known to the program), the program will issue a very low tone. Try again! Internals: This posting is already too long to give you full details of the program. Feel free to rip it apart and improve it - just post it back! One routine you will probably want to add to your 'favorites' list is the routine named R2D2. This, standalone, routine takes a single number from the stack and makes your HP48SX sound like a device on Star Trek. The best values, for the most convincing sound are the values 4 or 5. Simply type 5 R2D2 for a demo. The number indicates the length of time (eg., number of chirps) for the speaker to make). Another routine you will find useful is the SORT routine. To use SORT independently of the program, simply place a LIST of STRINGS on Level 1 and run SORT. This is NOT a bubble sort, but an insertion sort, and it only takes as long to sort the data as it does to read the data one time (plus the linear count to find the place to put the data). Other items you will find useful, if reverse engineering the routines... The variable 'DATA' contains the name of the current to-do list database. The system creates TEMPORARY variables (only will be seen if you abort the program while it is running). 'W' contains a number which signifies which item is the current iten (1 - S). 'S' contains the total number of items in the list. If you abort during a catalog, you will see CATTEMP which contains a list of all you to-do lists. 'W', 'S' and 'CATTEMP' are all deleted and rebuilt by the program. Here is a brief listing of what the other routines do: RUN - Runs the TODO program SORT - Sorts a LIST of STRINGS in level 1 MON - High speed GROB editor, used to turn a Mark ON MOFF - High speed GROB editor, used to turn a Mark OFF INSTD - INSerts a blank item into the ToDo list above the current item EDITD - EDIts the current item of the current ToDo list NEWTD - Creates a NEW ToDo list CATTD - Handles the LIST command catalog of lists SEETD - Displays the current list (does NOT build it) MAKTD - Makes the GROB associated with the current list ADDTD - Adds a new item to the END of the current list MARTD - Handles Marking and Unmarking of the current item UNMTD - Unmarks ALL marked items in the list WIPTD - Deletes ALL marked items in the list DELTD - Deletes the current item in the list R2D2 - Takes a repeat value from level 1 and issues StarTrek sounds AGAIN... these routines should only be used for editing and changing the program. Use the RUN routine to execute the program (just hit RUN) and the program will automatically issues these routines for you in responce to the menu keys you hit (as described above). I provided the details above only for those who want to see how it runs! ENJOY!!!!!
diamant@hpfcbig.SDE.HP.COM (John Diamant) (03/27/91)
In my previous note (announcing my 1.0 mods to the TODO program), I mentioned a memory usage program I encountered while working on TODO. I'd like to find out what solutions are available to this problem. The TODO program manipulates a large GROB which it creates with BLANK, modifies one line at a time with REPL and then stores in PICT. My problem is that the GROB may be larger than half of remaining memory, and the above approach causes two copies to appear in memory at once. I need a way to manipulate the PICT directly. One solution I see is as follows: Use PDIM to create the correct size PICT Use a version of REPL (syseval?) which operates directly on the PICT instead of on the stack Another would be to somehow move the large GROB from the stack to PICT rather than copying it (so that at any one time, only one copy existed on the stack). From what I can tell, STO requires twice the memory of the object being stored. This is either because the store doesn't remove from the stack until the copy succeeds or because the LAST STACK memory retained another copy of the stack object. If this second guess is true, then I need a way to turn off LAST STACK. I can turn off LASTARG, but haven't found out how to turn off LAST STACK. A solution to this problem would make TODO be able to operate on lists twice as large for any given amount of free memory as it can now. If any of the proposed solutions involve a SYSEVAL, do they work for all versions for the 48? Thanks in advance, John Diamant Software Engineering Systems Division Hewlett Packard Co. ARPA Internet: diamant@hpfclp.sde.hp.com Fort Collins, CO UUCP: {hpfcla,hplabs}!hpfclp!diamant This response does not represent the official position of, or statement by, the Hewlett-Packard Company.
diamant@hpfcbig.SDE.HP.COM (John Diamant) (04/03/91)
Norman Walsh (NORM%IONAACAD.BITNET@CUNYVM.CUNY.EDU) writes: > > Has anybody else had troubles with the TODO program that has shown > >up here lately? When I run it through ASC, I get CRC error, bad string. > >Frustrating... > Probably your d/l. I did test downloading, converting and running the ASC file before I posted it so I would imagine it was your kermit settings. > I had no trouble getting into my calc, 'cept for > having to do an ON-A-F to get enough memory ;-). If you have only 32kb > of RAM, it isn't worth bothering, you don't have enough memory to use > it. Actually, I think it will be possible to run in 32Kb with some careful space-savings. Here are 3 things which will help: 1) If someone answers my question regarding how to manipulate a PICT without having to have two copies of the PICT in memory, it should double the size of lists that can fit in any given amount of free memory. 2) Set the PW variable in the TODO directory to have a value of 131 instead of the 200 I shipped it with or 262 which I recommend. That will turn off horizontal scrolling and make the PICT only as wide as the screen. 3) Delete GROCERY.LIST or make it much smaller. It is still quite large even though I already truncated it once. If all the lists you're going to maintain are smaller than the GROCERY.LIST, then you should not be constrained to fit the large list in memory when you don't need it. 4) Use the smallest font ("-" key while displaying a list) as you'll be able to see more at once and the number of extra lines at the bottom of the GROB will use less space. Also, a couple other comments. Once I get #1 fixed, I will post the new version. My inclination is to post in clear text (and possibly ASC) so that machines with limited memory can download. There isn't much point in doing that now since the program is not that space-efficient yet and will be much better after #1. The TODO directory is about 6K and a list occupying 1 screen is about 2.3K (including blank space at the end of the list in the GROB). You should be able to manage with 32K, though fixing #1 should help a lot (because without #1, that same list would require 4.6K free to display). John
rrd@hpfcso.FC.HP.COM (Ray Depew) (04/04/91)
> 1) If someone answers my question regarding how to manipulate a PICT without > having to have two copies of the PICT in memory, it should double the > size of lists that can fit in any given amount of free memory. hey John, Bring your 48 over to my desk and we'll see what we can do. Ray