HPPORT31.DOC NOTICE: Programs HPPORT.LIB, HPPORT.BIN and documentation HPPORT31.DOC are copyright (C) 1995-96 Ludvik Krulik, all rights reserved. This version of HPPORT is NOT public domain or free software, but is being distributed as SHAREWARE. You are granted a limited license to use this shareware for a two week evaluation period. If after the two week evaluation period you determine that HPPORT meets your needs, you are required to register HPPORT. If you distribute this software to others, you are required to distribute the entire unmodified package (ZIP file). Commercial use of this material is not allowed without prior permission from the author. WARRANTY: Following library/binary works ONLY on G/GX series HP48 calculators. It contains unsupported code. Even though it has been extensively tested on various ROM revisions, USE AT YOUR OWN RISK. THIS SOFTWARE IS PROVIDED WITHOUT ANY WARRANTY. AUTHOR SHALL NOT BE LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO, LOSS OF PROFIT, DATA OR USE OF THE SOFTWARE, OR INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR OTHER SIMILAR CLAIMS. NOTE TO HACKERS: This program is shareware. If you can take it apart and remove shareware pause, keep this to yourself. If you have any questions, suggestions or bug reports, e-mail me at Ludvik.Krulik@snet.fer.uni-lj.si 1. Overview HPPORT v3.1 = HP48 PORT manager. HPPORT is similar to built-in Memory Application, except it works on port objects. 2. Revision history - Version 3.0 * Renamed program from LIBAPP to HPPORT. * Fixed bug: HPLIB wouldn't recognize anything beyond port 1. * Added saving of 'TRANSFER VIA' and 'INTO PORT' parameters into HPPORTpar in hidden directory. * Also added program in library format and fix for owners of revisions L through P. * Added move, archive/restore HOME, mem to port, port to mem. * Added on the fly W.P. switching. - Version 3.1 * Removed some graphic menu keys. * Handles faster up/down arrow scrolls. * Selection now follows object, added to port. 3. Using HPPORT 3.1 Display Install library or binary version of HPPORT in your HP48 and run it. Display should look similar to: +--------------------------------------+ | ***** 6 OBJECTS IN SOURCE PORT ***** | <- Title | 1500 Library One | <| 4 Browser Lines: | 1501 Library Two | <| 'LibNum LibName' | BACK BackUpObject | <| or | 1502 Library Three | <| 'BACK BackUpName' | .O>o : 0(SYS) .|\| .o>O : 2(W.E) | <- Source/Target ports | .FREE: 42.3K .<-S .FREE: 112.8K | <- Source/Target Free | [PURG][RCL ][MOVE][VIEW][A.'V][OPTS] | space +--------------------------------------+ AAAAAAAAAAAA AAA AAAAAAAAAAAAA ------------ --- ------------- | | | Source Port I/O Target Port Device 0..9 Selection Source/Target ports can be: * 0(SYS) - Port 0 in System RAM, * X(W.P.) - Port X, Write Protected, * X(W.E.) - Port X, Write Enabled or * X(N/A) - Port X, Not Available, * 1(MRG) - Port 1, Merged. I/O Device can be: - Wire - A small icon in the shape of "|\|" representing wire or - IR - A small icon in the shape of "DE" representing infra red light emitting diode. 0..9 Selection can be (see 3.2 below): - "<-S" - 0..9 selects source port - "S->" - 0..9 selects target port Browser lines: Libraries and backup objects are not sorted. Instead, they appear in the same order they are stored in port. You can search for specified library/backup object. See 3.2 below. 3.2 Key Bindings * Up/Down Arrows: Move Up/Down. * RightShift + Up/Down Arrows: Go to Beginning/End. * Left/Right Arrow: Page Up/Page Down. * 0..9: select port. * +: 0..9 will select source port in the future. * -: 0..9 will select target port in the future. * ENTER exits HPPORT and: - if last selected object was library, enters it's menu, - otherwise recalls and evaluates backup object. * EVAL evaluates object. If it's a library or any other kind of data, it will simply be pushed on the stack. If it's a program, pressing this key will run it. * CANCEL during XModem transfer aborts it. * A..Z (alpha locked): search for library/backup that starts with specified letter. If you didn't get what you were looking for, press the same key again. Note: For easy access it's best to bind HPPORT to LeftShift+2. If you are using HPSTACK library (1502), you can take advantage of it's entry mode sensitive user keys. 3.2 Menu keys - [PURG ] purges selected object. ! NOTE: [PURG] DETACHES LIBRARIES FROM HOME ONLY. IF YOU MANUALLY ATTACHED LIBRARY TO DIFFERENT DIRECTORY (NOT VERY LIKELY), YOU WILL HAVE TO DETACH IT YOURSELF FIRST. - [ RCL ] recalls selected object on stack. - [MOVE ] moves selected object from source into target port. Moved library becomes unconfigured. Therefore, HPPORT will issue warm start after you exit to reconfigure all unconfigured libraries. ! NOTE: IF LIBRARY CANNOT BE PURGED, IT IS COPIED INSTEAD OF MOVED. EXIT HPPORT, WARMSTART HP48 AND PURGE ORIGINAL. ! Note: You must have enough free system RAM to hold the whole object to be moved. - [VIEW ] displays library size (in bytes) and name or backup object's contents in a message box. - [A. 'V] (actually two arrows). This is a split label. * Down arrow (right part of the label) is default. It is accessible through unshifted menu key 5 and represents XModem download. To download library into HP48 from PC or another HP48: _ - Adjust source port. Also press [OPTS] and adjust I/O device if necessary. - Send library from PC or another HP48 via XModem. - Press unshifted menu key 5. - Wait until transfer has finished. - You should see new entry that looks similar to: "xxxx Not Configured". - When you exit HPPORT, it will automatically issue a warm start to configure the library. * Up arrow (left part of the label) is accessible through left shifted menu key 5 and represents XModem upload. To upload object into PC or another HP48: - Select object. - Press [OPTS] and adjust I/O device if necessary. - Press left shifted menu key 5. - * issue XModem receive on PC or another HP48 or * if you have HPPORT installed on another HP48, press Download (see above). - Wait until transfer has finished. _ - [OPTS ] runs configuration menu: [ I/O ] switches between wire and infra red transfer. [ S++ ] increases source port number. [ S-- ] decreases source port number. [ T++ ] increases target port number. [ T-- ] decreases target port number. [EXIT ] exits to main menu. ! NOTE: See 3.2 on how to select ports 0..9 faster. - [```v ] (actually down arrow) continuously runs XModem download until you press CANCEL. It is useful when sending libraries in a batch from PC. (after your memory was wiped out and you have no RAM cards) It also delays HP48 for one second before each download. See SENDLIBS.BAT file to see how to send all libraries in current directory to HP48 via XModem under MSDOS. - [[o ] ] (actually DIP switch) enables you to switch RAM card's write protect switch on the fly. Press [[o ]] (busy annunciator goes on) and make a change. Press any key to abort. - [RESTO] restores HOME. It searches for 'HOME Backup' backup object in source port and restores HOME and sub directories out of it. HPPORT also issues warm start. - [ARCHI] archives HOME, hidden directory and all sub directories into 'HOME Backup' backup object in source port. Old 'HOME Backup' (if exists) is deleted. - [->PRT] copies variable form main RAM into source port. Press [ CD ] to change directory, [ OK ] or ENTER to confirm selection, [CANCL] or CANCEL to cancel. If variable contains library, it is installed as such. If it doesn't contain library, it is copied as backup object. - [->VAR] copies port object into main RAM. Libraries are stored under 'LXXXX' name, where XXXX is library number (library ID). - [VARB ] runs built-in Variable Browser (Memory Application). - [MERG ] merges port 1. - [FREE ] frees port 1. - [ABOUT] this program. - [EXIT ] exits program. 4. Notes - In HP48 G/GX revisions L through P is a bug in XModem receive that requires free memory twice the amount of the receiving object size. There is a way around the problem, used in HPPORT. HPPORT will detect ROM revision and use fix accordingly. See also FXRECV.DOC in Goodies Disk #9 for more info. - If you do not have RAM cards, you can store HPPORT in HOME directory. In this way it is easy accessible after clearing HP48's memory and restoring HOME directory. If you have RAM cards, library format is probably more convenient. - If you can't purge a library, exit HPPORT, issue warm start (ON+C) and try again. - Program creates HPPORTpar variable in hidden directory. YOU CAN DELETE IT BUT DON'T MODIFY IT! 5. Credits Thanks to the following people for suggestions and beta testing: Francois Vignon (100333.700@compuserve.com) Andrej Sila (asil@ltk6.fer.uni-lj.si) Erik Wever (ew@p20.wharfrat.fido.de) Makoto Miyamoto (Makoto.Miyamoto@rz.ruhr-uni-bochum.de) 6. Information about program HPPORT.BIN: - Version: 3.1 - Size: 4613.5 bytes - Checksum: #CC6Eh HPPORT.LIB - Version: 3.1 - Library ID: 1505 - Size: 4757.5 bytes - Checksum: #3549h 6. Registering information If you decide to register this program, you will * receive the latest version without "SHAREWARE PAUSE" message via Internet e-mail, uuencoded. * receive future upgrades free of charge via Internet e-mail, uuencoded. You can register more than one program. If you decide to register three or more, registration fee is for three programs only. Payment method: In cash, US$ only. Registration form: ===================================================================== TO: Date: _____________________ Ludvik Krulik Sela 49a, 8257 DOBOVA SLOVENIA Ludvik.Krulik@snet.fer.uni-lj.si FROM: Name: _______________________________________________________ Address: _______________________________________________________ Country: _______________________________________________________ Internet E-mail address (obligatory) : ________________________________________________________________ ORDER: HPTODO v3.1 ........................................ (5 US$) [ ] HPAPPA v3.0 ........................................ (5 US$) [ ] HPCALENDAR v3.1 .................................... (5 US$) [ ] HPLOCK v3.1 ........................................ (5 US$) [ ] HPPORT v3.1 ........................................ (5 US$) [ ] ================================================================ TOTAL (three if more than three checked)..............__ x 5 US$ =====================================================================