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