Metropoli BBS
VIEWER: readme.1st MODE: TEXT (ASCII)
This is the RPL48 v2.02 kit - it's a sys-RPL/assembler development system
that runs on any HP48 SX or GX (ROM rev A-M) calculators w/ at least one
addtional 32k RAM card installed.

[Note: This RPL48 directory is an updated version of the RPL48 system that was
 in the DETLEF directory on Goodies Disk #7.  Use this one; it's better.  If
 you're not sure what System RPL is, or whether you need it, please read
 RPL.DOC in the POSTINGS directory on Goodies Disk #7.  It's my attempt to
 make the whole subject understandable.  -jkh-]

It contains along w/ some other files mainly two libraries, <-RPL-> v5.00
and <-LIB-> v2.0:

<-RPL-> is ~28k in size, it contains a sys-RPL compiler/decompiler, a Saturn
assembler/disassembler, an entries browser, a character set catalog, and a
sys-RPL 5/7 level stack environment. IT MUST BE STORED IN A FREED PORT; on a
SX this may be either port 1 or 2, but on a GX this must be port 1.

<-LIB-> is ~7k in size, it contains a library maker, a library splitter,
many commands to handle libraries, and many commands to handle 'unsupported'
objects. It may be stored in any port, *expect* ports 2-33 on a GX.

RPL48 consists of the following files:

README   1ST - this file
RPL48    DOC - RPL48 toolkit documentation, plain ASCII
RPL      LIB - the <-RPL->:5.00 library
LIB      LIB - the <-LIB->:2.0 library
RPL-G    TAB - a reference table containing entries valid for ROM rev A-M
RPLXMPL  DIR - various sources of small sys-RPL programs (see below)
CNFLIB   DIR - warmstart configuration/configs abort library source directory
GENTAB   C   - ANSI C source of the reference table generator

If you register, you'll also receive on disk:

RPL-S    TAB - a reference table containing entries valid for ROM rev A-J
DEBUG    DOC - sys-RPL debugger library documentation, (c) Mika Heiskanen
DEBUG    LIB - sys-RPL debugger library, (c) Mika Heiskanen *SX ONLY VERSION*
LIBXMPL  DIR - D->LIB example directory, user-RPL
BINTS    DIR - D->LIB example directory, sys-RPL
QIX      DIR - ->RPL example, sys-RPL/assembler
LINE     A   - ->COD example, assembler
CNFLIB   DOC - warmstart configuration/configs abort library documentation
BNF      DOC - BNF parser generator library documentation, (c) HP
BNF      DIR - BNF parser generator library source directory *not tested on G*
SNOOP    DOC - library for identifying wacky programs documentation
SNOOP    DIR - library for identifying wacky programs source directory
RPL-S    ASC - source of RPL-S.TAB
RPL-G    ASC - source of RPL-G.TAB
GENTAB   EXE - MesS-DOS executable of the reference table generator
LIBRARY  DOC - text about libraries and how they are used, (c) Charlie Patton
RPL      DOC - text about sys-RPL and how it's executed on a '48

The <-RPL-> library is branded to 'Joseph K. Horn', serial no 159.

RPL48 is GiftWare; please refer to RPL48.DOC, chapter 1.1 and appendix C for
further information.

There're two reasons for releasing a stripped version of RPL48 to the world:

    - Detlef has an an e-mail limitation of ~30k/day, and the whole
      RPL48 package is ~360k in size (uncompressed)

    - we would like to receive more registrations, but on the other hand
      we don't like the idea of ShareWare (especially Detlef *hates* share-
      ware)


Here's a brief description for the programs of the RPLXMPL.DIR directory:

SETUP	( --> dir )
    compiles the entire directory
    [Note: RPL48 must be installed first! -jkh-]

Cst	( --> {} )
    a sample CST menu

LIBMENU	( --> {} )
    a menu for quicker access to the <-LIB-> library. You may add the list
    to your CST menu definition

->Rpl	( $ --> ob )
    a simple shell for ->RPL

DCD	( dir --> dir' )
    DeCompile Directory. Useful for dirs generated by L->DIR

CCD	( --> dir )
    Compile Current Directory (SETUP compiles this program 1st and uses
    it for compiling the whole dir)

DAR	( hxs --> $ )
    DisAssemble Rom. More or less interactive disassembling of ROM based code

DBG	( --> )
    displays a 7 line stack and waits for a keypress. Any other key than
    <ENTER> causes an ABORT to be executed. Usefull for taking a look at
    the stack from within a program

Types	( --> )
   displays a little table of CK<n>... dispatch values

tEVAL	( ob --> ? unit )
    returns the execution time of ob in ms

MON	( --> $ )
    a little memory monitor

PBYTES	( % --> %' )
    returns the amount of memory used in a port (even of a Write-Protected
    port)

FIXIT	( $ --> ob )
    tries to fix bad d/l string (the junk that starts with 'HPHP48-x..'
    after d/l). Based on Joe Horn's FIXIT.

GetKO	( --> ob % )
    waits for a full keystroke and returns its key object and the key value

Strip	( ob --> ob' )
    strips the superfluous words from user-RPL programs

F&R	( $s $f $r --> $' )
    search $s for all $f and replace them by $r

DIFF	( {1} {2} --> {}' )
    lisp Diff, returns {1} w/o the elements that're also in {2}. Set Fast
    EQU 0 to use EQUALPOSCOMP, set Fast EQU 1 to use EPC instead

EPC	( comp ob --> #i | #0 )
    EQUALPOSCOMP rewritten in assembler. Used by DIFF

Time	( --> )
   a running BIG digital clock. Press any key to quit it

LBLD	( --> grob grob )
    a little menu label drawing utility


Enjoy,
	8-Detlef & Raymond
[ RETURN TO DIRECTORY ]