Key: ! =new Q/A + =revised answer
PART 2:
V. Questions about programs
40. Where can I get programs and information for the HP 48SX?
41. What are the Goodies Disks and where do I get them?
42. How do I get access to the HP Calculator BBS?
43. What are files that end with ".zip", ".Z" or ".z"?
44. What is a "ship" file?
45. What is \->ASC or ASC\->?
46. How can I get \->ASC and \->ASC?
47. How do I get rid of the HYDE library?
VI. Questions about programing and advanced user functions
+ 48. I've heard the names "RPL", "Saturn", "STAR", "Voyager", etc.. What
do they mean?
49. Why do SysRPL programs run faster than UserRPL programs?
50. What library ID numbers have already been used?
51. What information is there on the internals of the HP 48?
52. Are there any viruses for the HP48?
53. How do I store fields of variable length string data in a compact,
rapidly accessible manner that does not require the overhead of
storing strings in lists?
54. What is "Vectored Enter", and how do I use it?
55. What is "WSLOG"?
******************************************************************
V. Questions about programs
******************************************************************
41. What are the Goodies Disks and where do I get them?
See Appendix 4 of Appendix H for more info.
******************************************************************
42. How do I get access to the HP Calculator BBS?
You can access the HP Calculator BBS via a modem (note that this is
a long distance call for most people):
(503)-750-4448 2400 baud, 8N1
(503)-750-3277 9600 baud, 8N1
For those people who have access to the Internet, you can also
access the BBS via telnet to hpcvbbs.cv.hp.com [15.255.72.16].
See Appendix H for more BBS sites.
******************************************************************
43. What are files that end with ".zip", ".Z" or ".z"?
Files that end with ".zip" are PKZIP archives, which originated in
the MSDOS world. One program that can extract the files in ".zip"
archives is the Info Zip "unzip" program. An MSDOS binary can be
found as:
wuarchive.wustl.edu:/systems/hp/hp48/Posting/unz50p1.exe
Sources for the unzip program can be found as:
wuarchive.wustl.edu:/systems/hp/hp48/Posting/unz50p1.zip
For binaries for other machines, see the file:
wuarchive.wustl.edu:/systems/hp/hp48/Posting/README
Files that end with ".Z" have been compressed using the Unix
"compress" command. To uncompress these files, you must use the
"uncompress" command on Unix.
Files that end with ".z" have *probably* been compressed using the
new "gzip" compression command. To uncompress these files, you must
use either the "gunzip" or "gzip -d" command. These commands are
not a standard part of Unix, and so you'll probably have to get the
sources via anonymous ftp from prep.ai.mit.edu (as /pub/gnu/gzip*).
Again, versions are supposedly available for non-Unix platforms.
******************************************************************
44. What is a "ship" file?
In the past, programs for the HP 48 posted on comp.sources.hp48 were
posted in the "ship" format. This format made it easier for the
comp.sources.hp48 moderator to distribute programs, but makes it
difficult for users to extract and use these programs. Many people
still use ship.
To extract programs distributed in the "ship" format, you need the
following:
1. A copy of the "ship" program, compiled for your PC, Macintosh,
Amiga, Unix workstation, or whatever. The sources to "ship" can
be found at:
cbs.cis.com: /pub/hp48g/dos/unship.zip
This zip file also includes the dos executable.
Binaries for MSDOS machines, Amigas, and some Unix workstations
can be also be found on wuarchive.wustl.edu, in the directory
"/systems/hp/hp48/Posting/ship_executables".
2. A copy of the latest Info Zip "unzip" program, or a .ZIP
unarchiver that understands the new PKUNZIP V2.04g format. Note
that you *CANNOT* use old unzip programs, as old unzip programs
do not understand the new compression formats. An MSDOS binary
can be found as:
wuarchive.wustl.edu:/systems/hp/hp48/Posting/unz50p1.exe
Sources for the unzip program can be found as:
wuarchive.wustl.edu:/systems/hp/hp48/Posting/unz50p1.zip
For binaries for other machines, see the file:
wuarchive.wustl.edu:/systems/hp/hp48/Posting/README
Once you have a copy of the "ship" and "unzip" programs, you use
"ship" to convert the ship-encoded file into a .ZIP file, and you
use the "unzip" program to extract the HP 48 files from the .ZIP
file.
******************************************************************
45. What is \->ASC or ASC\->?
These functions were written by William Wickes to facilitate
transferring HP 48 binary objects in an ASCII format (useful when
transferring objects via electronic mail or bulletin boards). Some
HP 48 objects, like libraries, cannot normally be converted into
ASCII, unlike program objects, and these functions make it possible to
do so.
The \->ASC function converts the object in level 1 into an ASCII
string, which can then be uploaded to a computer for mailing.
The ASC\-> function converts the string object in level 1 back into an
object. A checksum is used to ensure that the decoding is correct.
******************************************************************
46. How can I get \->ASC and \->ASC?
A copy of these programs are given in Appendix A, near the end of this
file.
******************************************************************
47. How do I get rid of the HYDE library?
Getting rid of the HYDE library can be fun. Here's how to do it:
1. Go the HOME directory.
2. Press left-shift (orange) LIBRARY. The calculator is now
displaying a menu of libraries attached to the HOME directory.
3. Press the menu key that says "STRA". You are now accessing the
HYDE library.
4. Press the menu key that says "JEKY". You have now disabled the
HYDE library and restored the old (standard) set of messages.
5. Make sure that a pointer to the library is not on the stack. The
easiest way to do this is to clear the stack using CLR.
6. Detach the library using:
:0:998 DETACH
7. Purge the library using:
:0:998 PURGE
When you execute the PURGE, the screen will "jump" or "be messed
up" for a brief moment. Don't worry about it -- it doesn't
hurt.
******************************************************************
VI. Questions about programming and advanced user functions
******************************************************************
48. I've heard the names "RPL", "Saturn", "STAR", "Voyager", etc.. What
do they mean?
ASAP
This is a simple Saturn assembler, written in the Perl language.
Chip8, Chip48, Schip, Schip8
This is a machine-code program that was inspired by the chip8
video game interpreter for the RCA CDP1802 microprocessor
several years back. Chip8 allows you to write a simple
graphics-based video game for the HP 48SX. Among the games
written are "clones" of breakout, pacman, and pong, to name a
few (about half?).
Chip48, Schip and Schip8 are two different names for an enhanced
version of chip8 specifically designed for the HP 48SX. People
have written programs to assemble Schip assembly language into a
form directly usable by Schip on an HP 48. Schip interpreters are
available for both G and S series.
HYDE
This is the "HYDE" library, whose only purpose is to change the
error messages in the HP 48SX to make it "user unfriendly".
ML
Machine Language. This is usually used in reference to HP 48
assembly language programming.
MLDL
Machine Language Development Library. This is a library that
allows you to debug machine language programs with only an HP
48.
PDL
"Program Development Link". This is an MSDOS program, sold by
Hewlett-Packard, that allows you to write and develop HP 48SX
applications from your IBM PC clone. Programs are written on
your PC, transferred to the HP 48SX, and tested from your *PC*
(and *not* the HP 48SX).
NOTE: The GX version was not out in the May #63 Educalc Catalog,
but is probably coming soon...
RPL
RPL is the name of the language used to program the HP 48 and
HP-28 series calculators. RPL stands for "Reverse Polish Lisp".
It's interesting to note that an HP Journal article incorrectly
described RPL as "ROM-based Procedural Language".
SASS
SASS is a simple Saturn assembler, written in C/yacc (BSD Unix &
Bison). It uses Alonzo Gariepy's mnemonics.
Saturn
"Saturn" is the internal code name for the processor used in the
HP 48, HP-28 series, and many other calculators (just about all
HP calculators since the HP 18/28 series).
STAR
This is the "Saturn Macro Assembler" (how "STAR" comes from
this, I don't know), an assembler that mostly uses Alonzo
Gariepy's mnemonics. It's written in C and runs on many
different machines (PCs, Amigas, Unices, etc.). STAR is
available via anonymous ftp from ftp.ai.mit.edu in
"/pub/star-1.04.4.tar.Z". It's also available from various
bulletin boards (the HP handhelds forum on CompuServe also has a
copy). The latest version is "1.04.4".
SWING
SWING is a library program that displays a graphical tree
structure of the directory hierarchy in your HP 48SX, and allows
you to move from directory to directory using the arrow keys (it
is supposedly based upon an old PD VMS utility).
System RPL
This is the name for the custom "operating system/language" used
to program the CPU used in the HP 48 calculator. System RPL
is a superset of the normal user RPL commands; in addition to
the normal, user-accessible RPL commands, system RPL includes
many lower-level functions. System RPL is a language one step
higher than assembly language.
HP has released a system development toolkit (for the IBM PC)
containing a system RPL compiler, assembler, and loader,
complete with a couple hundred pages of documentation. This
toolkit, while copyrighted, is, for the most part, freely
copyable. If you can find a BBS or archive site that has it,
you can download all of the system RPL files and documentation.
The HP development toolkit only runs on the MS-DOS operating
system. Alex Ramos has written a portable system RPL compiler
which runs primarily on Unix systems, and can emulate most of the
features available on the HP kit. The program is called RPL#+ (in
an analogy to 'C++'). RPL#+ is available from Ramos's email
server: send a message to ra...@engr.latech.edu with a Subject
line that reads:
"send hp48/rpp199c.zip"
without the quotes, and a daemon program will reply.
The program currently runs fine on Sun/OS 4.x, but bugs have been
reported on other systems, including Linux (bugfixes welcome).
USRLIB
USRLIB is a program that takes the contents of an HP 48
directory and turns it into a library object. It currently runs
under MSDOS.
Voyager
Voyager is an "interactive disassembler" for IBM PC clones that
disassembles HP 48SX RPL and machine code. You download a copy
of the RAM *and* ROM in your HP 48SX to your PC, and run
Voyager. Using Voyager, you can then view the disassembled or
unthreaded code. Unfortunately (or fortunately), Voyager uses
the HP mnemonics, and not Alonzo Gariepy's mnemonics. Voyager
is available from the HP BBS (I think), via anonymous ftp from
the HP BBS (hpcvbbs.cv.hp.com [15.255.72.16]), and from various
bulletin boards (the HP handhelds forum in CompuServe also has a
copy). The latest version is "1.07".
******************************************************************
49. Why do SysRPL programs run faster than UserRPL programs?
SysRPL is the built in language, custom designed for the Saturn
processor used the HP48 family. UserRPL is a "subset" of SysRPL. The
main reason for the speed difference is the fact that UserRPL commands
have built in argument and error checking. In SysRPL, the programmer
is responsible for all error checking to avoid memory clears.
******************************************************************
50. What library ID numbers have already been used?
This list was compiled from Joe Horn, and from the contributions of
others.
* * * * * * * * * * * * * * * * * * * * *
* *
* HP 48 LIBRARY ID'S CURRENTLY IN USE *
* *
* 16 FEBRUARY 1993 *
* *
* *** Unofficial *** *
* (Corresponds to Reality) *
* Compiled by Joseph K. Horn *
* *
* * * * * * * * * * * * * * * * * * * * *
ID BYTES #CRC REVIEW Name (comment) Where Available
---- -------- ---- ----------------------------- -------------------
0004 103.0 3CB5 (Selectable config aborter) GD8:HACKER
0014 135.0 5329 X.PUB :Configs Aborter GD7:FRANCE
0262 125.5 6AD9 (powerup -> warmstart) GD7:UTILS
0262 105307.5 4B6E DEMO :Demo Start 0.0 EduCALC #2804
0266 4209.0 0414 (Catalog Utility) HP 82211A/B
0267 63011.0 BB68 (Equation Reference) HP 82211B
0267 70074.5 40CC (Equation Reference) HP 82211A
0268 6926.5 F89F UTILS :Utilities HP 82211A
0268 16093.0 5742 UTILS :Utilities HP 82211B
0269 6131.5 1BD9 MES :Mult Eqn Solver HP 82211A
0269 6203.5 F4CC MES :Mult Eqn Solver HP 82211B
0270 3184.0 7022 FIN :Finance HP 82211A/B
0271 3751.5 E1F1 COLIB :Constants Libr HP 82211A/B
0272 26964.5 F6E6 PRTBL :Periodic Table HP 82211B
0272 27391.5 7922 PRTBL :Periodic Table HP 82211A
0273 7168.0 0580 EQLIB :Equation Libr HP 82211A
0273 7363.5 CC86 EQLIB :Equation Libr HP 82211B
0364 ? ???? HP16C Emulator (ID=16C) (under development)
0448 15721.5 D5C0 Super Car V1.0 (for G/GX) HAY
0501 4393.5 83C9 CLK GD3
0700 14538.0 3B6A BoulderDasHP par ORUS GD8:GAMES
0752 2203.5 7A6A PDLXFER PDL Xfer Util HP 82208B
0764 2122.5 38C9 XFLIB: X Functions GD8:PROGRAMR
0765 5145.5 EB7F CATLIB:Catalog Library HPCVBBS
0766 1221.0 7C4D EPPRT :Graphic->Epson A HP 82208/9
0767 1127.5 FEE2 HPPRT :Graphic->PCL A HP 82208/9
0768 2822.5 706C SW-A (stopwatch) HP 82208/9
0769 2862.0 49FA TETRIS:1.3,(c)DM'91 GD6:GAMES
0769 8277.0 3FF2 DB48 (Data Base v2.11) GD5:WORK
0769 8984.5 E2CB DB48 (Data Base v2.30) GD7:WORK
0769 9945.5 44C8 DB48 (Data Base v2.42) GD8:WORK
0769 32761.5 9703 CAS48: Casino 48S 1.02 EduCALC #2259
0770 9597.5 3DF0 (PIM Utils & Data Browser) EduCALC #2323
0771 111436.5 9589 EEREF :EE Reference EduCALC #2293
0772 117511.5 8CE8 EEAPP :EE Application EduCALC #2292
0773 23124.0 01CF PIM :Pers Info Mgr EduCALC #2323
0774 113708.0 FF57 MEREF :ME Reference EduCALC #2291
0775 6007.0 3BEE FCLIB :Flag Catalog EduCALC #2283/4
0775 6409.5 2665 ECHR (Character catalog) GD7:PROGRAMR
0775 7348.5 71A7 ECHR - Ver 2.50 HAY
0776 8424.5 4B46 (Short Tool Library) (commercial cards)
0776 9407.5 AEFF TLLIB :Tool Library (ver B) EduCALC #2283/4
0777 3704.0 ???? (Short Title Browser) (commercial cards)
0777 3746.5 8512 TBLIB :Title Browser EduCALC #2283/4
0777 10406.0 ???? (TenK Game) HPCVBBS
0778 4787.0 1D26 DBLIB :Data Browser EduCALC #2283/4
0782 116317.5 5EF0 MEAPP :ME Application EduCALC #2290
0783 117627.0 425D GCAPP :GC Application EduCALC #2294
0784 126049.0 463C GCREF: GC Reference EduCALC #2295
0785 117053.0 0488 MATH :Mathematics EduCALC #2324
0786 4745.5 6BED (Short Data Browser) (commercial cards)
0798 1842.0 97FF SounderKit GD8:TUNES
0799 4277.0 3B00 TIMER.APPLICATIONS GD6:WORK
0800 39509.5 58EB util (used by STRUCT) \ EduCALC
0801 90479.5 6B47 STRUCT (TDS card) / #2487
0803 2073.5 B8AB SWITCH (bank switcher) EduCALC #2365 etc.
0804 10730.5 AE71 finutil (used by TDSFIN) \ EduCALC #2365,
0805 14300.5 99EC TDSFIN (financial tools) / 2475, 2476, 2482
0807 3700.5 8F69 ROLDX :Rolodex ver 1.0 GD1, GD2:HORN2
0809 269.5 6D06 MSGTST: v0.0,DM'91 GD6:HACKER
0810 91634.0 49E1 EZ (E.Z. Math Card) EduCALC #2443
0815 633.5 9961 CHKIT :1.0 (c) DM'93 GD8:UTILS
0817 65248.0 7185 SPC48 (State Plane Coord) SMI
0820 10238.0 4390 VADERS (Space Invaders game) GD7:GAMES
0821 25305.0 ???? SmartROM 1991 Flavio Casetta \ EduCALC
0822 4706.0 ???? Matrix Writer Plus / #2574
0823 ? ???? SmartConverter Printer Driver EduCALC #?
0825 4708.0 00E5 FILER : Memory Filer Brian Maguire
0826 2588.5 4653 CTBL : Character Table Brian Maguire
0826 4170.5 13E4 ARYTL: Array Tools Brian Maguire
0827 7292.0 BFE8 UITOOLS:User Infc. Tools GD8:PROGRAMR
0828 9122.5 251D OBJTL: Object Tools Brian Maguire
0829 2576.5 4720 META : Meta-Objects Brian Maguire
0830 5002.5 E33A PAINT : Graphic Appl. Brian Maguire
0830 56350.0 E47A SRPL :System RPL Tools Brian Maguire
0832 8502.5 520C FMGR :File Manager EduCALC #2474?
* 0833 131043.0 ???? NAV48 :Navigation Pac EduCALC #2636
0834 8427.0 1E67 (browser utilities?) (commercial cards)
* 0835 112488.0 ???? CALCU :Calculus EduCALC #2691
* 0836 62282.0 ???? STAT :Statistics EduCALC #2743
* 0837 93083.0 ???? GAMES :Games48 Pac EduCALC #????
0839 95837.5 ???? SPICE48: Ckt. Simulator EduCALC #2589
0841 5027.0 A1A9 DL+ CH.D 91 GD7:FRANCE
* 0844 116760.0 ???? PHYS :Physics EduCALC #2599
0845 116240.0 ???? SSELE :Solid State EduCALC #2590
0850 33805.5 FF5B CONST1 Mike Seidl (SMI)
0858 28673.5 FC38 Zephyr Games Pak I SMI
0860 ? ???? Diamonds (game) Doug Cannon
0861 ? ???? DCS (Diamonds Constr. Set) Doug Cannon
0873 1768.5 1D9D GATEWAY-48 GD3
0873 1932.0 18C4 Code-Lock GD7:UTILS
0873 2192.0 20F3 GATEWAY-48 GD7:UTILS
0874 3782.0 36B5 REVERSI GD7:GAMES
0874 8327.5 E262 FMLIB :File Manager EduCALC #2474?
0874 8351.5 F592 FMLIB :File Manager EduCALC #2474?
0876 ? ???? DB48LB:Database James Donnelly
0879 1141.0 OD1E FATCAL Calendar HAY
0880 4117.5 DFD1 ASM Library 0.0 E GD7:FRANCE
0880 4231.0 AD9C TLBOX :ToolBox 1.0A GD7:FRANCE
0888 9401.5 13C0 PTE Periodic Table v1 GD6:WORK
0889 711.0 D9FF HKEY :HardKeys v2.0 HAY
0898 19617.5 4609 DASM_V1.0 GD3
0900 701.5 37C6 HSTACK: Hyper Stack V1.1 GD7:UTILS
0903 2078.5 296C RF: Chuck Renner GD8:UTILS
0906 ? ???? Enhanced Saturn Assembler EduCALC #?
0908 1036.0 61FF _5/7_:Display Utility GD8:UTILS
0910 75441.0 ???? Sun Finder Scott Ferry
0911 ? ???? (under development) Scott Ferry
0912 8688.0 B8E3 TRON (Paris, 1991) GD7:FRANCE
0912 9186.0 F2CC TRON 2+ (c) Christophe Nguyen GD8:GAMES
0958 16508.0 97F9 NUM GD8:MATH
0960 2109.5 AD53 MIND (5 columns, 8 colors) GD7:GAMES
0960 2185.5 9C15 MIND (4 columns, 6 colors) GD7:GAMES
0960 4405.5 1AB1 MIND (both of the above) GD7:GAMES
0961 ? ???? ALGB (math & matrix routines) ?
0966 20552.0 D49E HELP :Online GD8:PROGRAMR
0968 11139.5 CFB9 ANT (game w/ SCHIP) GD5:GAMES
0970 4008.5 3460 FLATTN: Flatten HELPdir, 1.0 GD8:PROGRAMR
0986 7805.0 D9CA P.C.T. V3.14 (PC-Tools?) GD8:UTILS
0998 3679.5 5FAE Strange Case 998 (JEKYL/HYDE) GD2:DNICKEL
0999 ? ???? (Examples in Insights Vol 1) Bill Wickes
1000 10166.0 72D3 POKR :HP-48 POKER 1.0 GD7:GAMES
1001 42559.0 ???? DANCER (animated striptease) ?
1011 2191.0 F931 Fraction GD7:MATH
1012 3752.5 F6E7 (CRASH library, unnamed) GD5:HACKER
1013 1811.5 5CC7 Matrix GD7:MATH
1030 32759.5 1AF6 48BC (SMI) EduCALC #2296
1030 66741.0 491E 48SC (SMI) EduCALC #2298
1030 98285.0 1A8E 48AC (SMI) EduCALC #2299
1031 2933.5 0CD6 iNB :0.02j 910718 GD7:WORK
1031 5828.5 4229 DITCH (SMI) \
1032 7629.0 4378 HYDRA (SMI) \
1033 1662.5 EF50 EARTH (SMI) > EduCALC #2297
1034 2729.0 0E59 HORC (SMI) /
1035 3271.0 F029 VERT (SMI) /
1041 2757.0 7CF5 BREAKLIB V.00 1992 (c) GD8:HACKER
1092 6930.0 6411 Saturn MLDL a1.01 GD3
1092 10734.0 BB75 MLDL 1.04B EduCALC #2359
1092 10745.0 2491 MLDL 1.05B EduCALC #2359
1092 10763.0 3E8D MLDL 1.06A GD8:HACKER
1092 10763.0 3E8D MLDL 1.06B EduCALC #2359
1093 ? ???? Poker 1.01 (game) ?
1101 1011.5 FC15 TLORG: TLLIB organizer GD5:PROGRAMR
1103 4638.5 4935 TELE V3.0 (c)'92 David Bal GD8:UTILS
1111 7602.0 F5FB Garbage (Sokoban; Box Jockey) GD6:GAMES
1122 2550.0 E734 CD :Change Directory HAY
1160 6508.0 3CAD AWARI-Ver-1.1 GD8:GAMES
1188 7268.5 8C78 Poly_mh : V1.2 GD8:MATH
1189 5616.0 B454 Arit :V1.1 GD8:MATH
1200 5816.5 109F LIBMKR:Library Maker V GD8:HACKER
1200 5958.0 53A2 LIBMKR:Library Maker + GD7:FRANCE
1201 6213.5 3FC4 PACMAN:BOUHP Version GD7:FRANCE
1210 10541.0 50BF DBUG :HP UnAssembler GD7:FRANCE
1214 2712.0 F675 HACKIT (v 1.04) GD3
1214 3021.0 9F5B HACKIT (v 2.04) GD5:HACKER
1214 3168.0 B8DF HACKIT (v 2.05) GD8:HACKER
1217 13854.0 B02D ASM :HP Asm 6.1 ?
1219 9123.0 D4DC VPOKER BY D SPRENKLE GD8:GAMES
1220 2373.0 793A HP<->HP FAST LINK GD7:FRANCE
1221 5033.5 14C2 <-LIB-> :1.3,(c)DM&RH'92 GD7:HACKER
1221 7041.0 4A50 <-LIB-> :1.7,(c)DM,RH,RG'93 GD8:HACKER
1224 2084.0 3B88 POLY : 3.3 Carlos '93 GD8:MATH
1234 4829.5 8FAA RPL :2.2 (c)DM'92 GD8:HACKER
1234 22896.5 4D76 <-RPL-> :4.0b,(c)DM&RH'92 GD8:HACKER
1234 31471.5 65BA RPL :3.21 (c)DM&RH'92 GD8:HACKER
1275 3372.0 64CA X-Y Modem v2.0 GD7:UTILS
1275 3550.0 65E9 X-Y Modem v2.2 GD8:UTILS
1280 8554.5 2713 ARKANOID : By HP mad GD8:GAMES
1281 29506.5 EF39 XENNON : By Hp mad GD8:GAMES
1303 15597.0 8684 StringWriter v3.0 GR8:PROGRAMMER
1314 4313.5 2120 BMXL Binary Matrix Algebra GD6:MATH
1402 n/a n/a HP-41C Emulator card HP 82210A
1402 3026.5 82E3 Bode GD7:WORK
1403 n/a n/a HP-41C Emulator card HP 82210A
1403 4906.5 C25F Biport GD7:WORK
1404 n/a n/a HP-41C Emulator card HP 82210A
1424 4152.5 405C COPY-ROM GD5:UTILS
1433 2648.0 AE3A Rat Rational Number Package GD3
1433 5664.5 09B0 Chip 48 (collection) GD3
1492 3112.0 9860 SCH48v1.2 HP48 SCHEDULER GD8:UTILS
1492 17860.0 3E6F Opinionmeter V, 1.0 Opinionmeter Inc.
1531 91.0 D371 (bare-bones :&:AUTOEXEC) GD7:UTILS
1537 ? ???? FRACT :Fraction Units (under development)
1555 5447.0 8429 Vector Lib. HAY
1616 2999.0 8D01 SMTK: SmartKeys by RAP GD7:UTILS
1616 5675.0 6DE4 SMTK: SmartKeys [1.59] GD8:UTILS
1617 495.5 421F Complex FACT GD3
1634 4607.5 A07C ESCO v3.01 (c) 1992 J.M. GD8:WORK
1644 ? ???? (SWING directory browser) HPCVBBS
1671 3278.5 9AA8 FCTR 1.2 Factoring GD8:MATH
1672 12161.5 F3F4 NTL2 2.8 Number Theory GD8:MATH
1696 2448.0 8191 UTIL:C Brian Walsh GD2:HORN2
1697 1566.5 DC1E List:B Brian Walsh ?
1700 2703.5 EFC3 TETRIS (ML version) GD3
1785 4665.0 4275 TIMER LIB GD6:WORK
1786 29070.5 2622 FLIGHT LIB GD6:WORK
1791 8436.0 93CD TOOLS System Utilities GD2:HORN2
1791 13519.0 0141 CSINO PLUS (Demo) GD7:GAMES
1793 275.0 331C IF ERROR (ver. A) GD2:HORN2
1793 434.0 9CA1 IF ERROR ver. B GD3
1795 1017.0 B2AB (LIB1795, Programmer's tools) GD7:FRANCE
2000 124.5 97F9 (Runs AUTOEXEC at warmstart) GD7:UTILS
2046 n/a n/a HP-41C Emulator card HP 82210A
---- -------- ---- ----------------------------- -------------------
BYTES and CRC are calculated by the HP 48 BYTES command on the library
object itself, not its name. The ID and bytes are in decimal; the CRC
is in hex.
The 41 Emulator Card's libraries are not proper RPL objects.
Their size and CRC cannot be computed by the BYTES command.
"GD7:FRANCE" means "in the FRANCE subdirectory on EduCALC Goodies Disk
#7". GD1 and GD3 had only one subdirectory each.
"HAY" means Hither And Yon. Files in the "HAY stack" can be found at
various ftp archive sites, such as seq.uncwil.edu, and at various
BBS's, such as HPCVBBS. HAY is a polite way of saying: "It's
everywhere, so I'm not going to help you find it." The obvious
analogy to the proverbial needle and haystack, however, is apt.
+---------------------------------------------------+
| HP 48 Resource Allocation Guideline: Library ID's |
+---------------------------------------------------+
| 0000 - 0256 Take-over libraries; do not use! |
| 0257 - 0512 HP ROM-based libraries; do not use! |
| 0513 - 0768 HP RAM-based libraries; do not use! |
| 0769 - 1536 3rd Party (assigned by HP) |
| 1537 - 1792 3rd Party (assigned by HP) |
| 1793 - 2047 Command-line; do not use! |
+---------------------------------------------------+
Notice to programmers: User Flags 1 through 32 are reserved for end
users' applications. Do not use them in libraries. User Flags 33
through 64 may be used by libraries, but there is no HP channel
through which they are officially allocated. Use them with caution and
only if necessary. (Cf. "HP 48 Insights" by Bill Wickes, page 176).
Note: EduCALC #'s are Stock Numbers; for further info call EduCALC at
(800) 677-7001 or (714) 582-2637, Mon-Fri 8am-5pm California Time.
Goodies Disks' stock numbers are #GD1A, #GD1B, #GD2A, #GD2B, etc,
where "GD" means Goodies Disk, "1" ("2", etc.) is the number of the
disk, and "A" means 5.25 inch, "B" means 3.5 inch.
HP #'s are HP part numbers, which EduCALC uses as their stock numbers.
******************************************************************
51. What information is there on the internals of the HP 48?
The most important documents are part of the "System RPL" development
tools, a completely unsupported set of IBM PC tools created by HP
Corvallis (the creators of the HP 48). The tools, which run on
MSDOS machines only, contain documentation on:
* System RPL (which includes information on HP 48SX display
graphics, keyboard control, etc.).
* Saturn assembly language ("Saturn" is the name of the CPU in
the HP 48), including information on a Saturn assembler.
* A system RPL compiler.
* A Saturn object file linker.
The completely unsupported system RPL development tools and
documentation are available to customers free of charge to help them
in HP 48 application development, subject to certain legal terms,
which are given with the tools (they're too long and detailed to
give here).
You can get a copy in one of the following ways:
* Anonymous ftp to hpcvbbs.cv.hp.com [15.255.72.16].
* Get Goodies Disk #4. For info, see Appendix H.
******************************************************************
52. Are there any viruses for the HP48?
There are several, and most are French. In the United States, a
virus called the "Michigan virus" erupted a couple of years ago.
There is a program on Goodies Disk #8 that checks for the Michigan
Virus. Currently, viruses do not pose an appreciable threat on HP48's
******************************************************************
53. How do I store fields of variable length string data in a compact,
rapidly accessible manner that does not require the overhead of
storing strings in lists?
See Appendix E, "Compact Data Storage", near the end of this file.
******************************************************************
54. What is "Vectored Enter", and how do I use it?
Note: This works on the SX, but I have no idea whether or not this
works on a G/GX. Use at your own risk :-). If you try it, let me
know one way or the other so I can say if it works or not here in the
FAQ!
From: bi...@hpcvra.CV.HP.COM (William C Wickes)
The HP 48SX manuals do not document a very powerful feature that we call
"Vectored ENTER," that allows you in effect to redefine or bypass the
command line parser and to have a shot at the stack etc. after the command
line has been executed.
Keys that execute an automatic ENTER perform a two-step process:
1. The command line is parsed and evaluated.
2. The key definition is executed.
When flags -62 and -63 are both set, the system extends this process as
follows:
1. The current path is searched for a global variable named *aENTER
(here "*a" is the Greek alpha character--character 140). If present,
the command line is entered as a string object and *aENTER is
executed. If absent, the command line is parsed and evaluated
normally.
2. The key definition is executed.
3. The current path is searched for a global variable named *bENTER
("*b" is Greek beta--character 223).
If present, then a string representing the key definition is put on the
stack, and *bENTER is executed. The string is the key definition
object's name if it is a command, XLIB name, global or local name, or
an empty string for other object types; its primary purpose is to implement
things like the TRACE mode on other calcs, where you can print a running
record of what you do.
A simple example of the use of *aENTER is to create a more convenient
binary calculator, where *aENTER slaps a "#" on the front of the command
line so you don't have to bother when entering numbers.
******************************************************************
55. What is "WSLOG"?
It is an undocumented feature which stands for "Warm Start LOG".
Type in WSLOG in caps, and calc will list the time and cause of the
last four warm starts. This feature helps HP tech to fix your baby,
in case it crashes.
0 - log cleared by <ON> <SPC> then <ON>
1 - low battery condition, auto deep sleep mode invoked to save battery
2 - hardware failed during IR (time out)
3 - run through address 0
4 - system time corrupt
5 - deep sleep mode wake up (alarm?)
6 - unused
7 - CMOS test word in ram was corrupted
8 - abnormality was detected about device config
9 - corrupt alarm list
A - unused
B - card module pulled
C - hardware reset
D - system RPL error handler not found in run stream
E - corrupt config table
F - system RAM card pulled
******************************************************************
END PART 2 OF 4
--------------------------------------------------------------------------
kei...@pchaos.dev.com --==>aka<==-- Keith Maddock
\ / From Raleigh Hills(between Beaverton & Portland), Oregon USA \ /
---><--- "Of course I'm crazy, but that doesn't mean ---><---
/ \ I'm wrong. I'm mad but not ill" -><- R.A.W. / \
KeyWords: HP48 FAQ Maintainer(SX-E), Eagle Scout, GMI, Legacy/Corolla, :-)