PR4HP

PR4HP


Up

    Welcome.jpg (9955 Byte)AUSWAHL.jpg (3211 Byte)Screen.jpg (4690 Byte)

What is PR for HP48?

  • PR for HP is a USER RPL written software for the famous handheld
    Calculator HP48. It has a ytalk-looking user-front-end.
    You can connect your HP48 by a 1:1-serial-cable (not a null-modem one !)
    to a Terminal Node Controller, like TNC 2, in order to access the Packet Radio
    Network.
  • The program is also capable to control a hayes compatible telephone-modem
    (600 ohms).

Setup

  • Download PR for HP48 out of the archive with the FILER from HP
    (or with a common terminal program like TELEMATE) in binary mode to your HP48.
  • After having done that, there is a new directory, named PR (Size 4.5 kb).
  • To download, just follow the steps 1 through 9.
  1. Switch HP48 on
  2. Go to IO-Mode by typing SHIFT-LEFT and PRG-Button
  3. Go to setup-menu (`f`-hot-key)
  4. Switch HP48 to wire - input (`a`-hot-key)
  5. Go back to IO-Mode (as described in 2.)
  6. Hit SERVE (`c`-hot-key)
  7. HP 48 says, it is awaiting server-cmds ... (you switch back to normal
    modus with SHIFT-RIGHT)
  8. Start downloading the file PR (out of archive pr_hp48new.exe)
    with KERMIT-protocol.
  9. After a successful download go to Getting started - Section
 

 

Getting Started

  • A welcome-screen is being display.
  • Hit any key to proceed.
  • Choose the transfer-mode, either WIRE or I(nfra)R(ed).
  • (fixed) Flowcontrol-settings are:
  • Change to the directory PR and call object PR.

    baud:        9k6
    data bit:     8
    stop bit:     1
    parity:       no

    • Put TNC to WA8DED-Mode and disable ECHO by TNC (e0) (strike: -e0 enter). Skip this if a hayes-modem is used.
    • That's it.
     

    Using PR for HP48

    After having done the steps in section Getting Started & Setup, a screen appears,
    which is divided in 2 parts.

    Screen.jpg (4690 Byte)

    On the top of screen, your input is being displayed.

    A the bottom of screen the output of the QSO-partner is being displayed.

    The commands are being sent to the TNC by a ESC-character and a command with a parameter.

    ESC E0 disables the echo-mode of the TNC. This is being achieved by typing: -e0 and enter.
    The minus-character produces an ESC-character.

    There is also the possibility to control a hayes compatible modem by typing
    AT-commands like ATDT ..., just try.

    You can exit the program "PR for HP48" by hitting "+".

    Input of data is being done by using HP-keyboard, which is not very comfortable.

    See Control-Section for further instructions.

     

    Control

    Keyboard-Layout

    - produces an ESC character for control functions
    + terminates "PR for HP48", please use this to exit,
    because old flag-status (befor starting PR) is rebuild
    after hitting "+'
    a to z sends character (a..z) to com-interface
    1...0 ends number (1..0) to com
    x (multiplication-character sends a "?" to com (multiplication-key)
    ÷ (division-character) sends a "!" to com (division-key)
    ENTER creats a CR an LF and sends it to com
    BACKSPACE ( <- ) deletes last character (of input)

     

    Download

    PR4HP48.EXE [8kb, V 1.01, May 1998]

    Source Code

    Source-Code of PR for HP48 in USER RPL

    Version 1.01 from May 1998

    %%HP: T(3)A(D)F(.);
    DIR
    PR
    \<< INIT
    DO RXTD KEYD
    SUSPEND
    UNTIL 1 FS?
    END ED
    \>>
    IOSET
    \<< ERASE
    (6.5,-3.1)
    (-6.5,3.2) BOX PICT
    (-1.6,.7) "select"
    3 \->GROB GOR PICT
    (-4,-2.3)
    "IR WIRE"
    1 \->GROB GOR 0 WAIT
    IF 12.1 ==
    THEN -33 SF
    ELSE -33 CF
    END
    \>>
    KEYD
    \<<
    IF BUFLEN
    DROP 180 <
    THEN KEY
    DO DUP
    IF 0 \=/
    THEN DROP
    \-> k
    \<<
    CASE
    k 50 <
    THEN k DUP 10 / IP
    1 - 4 * - 54 +
    END k 54 < k 51 >
    AND
    THEN k 37 +
    END k 61 == k 71 ==
    k 81 == OR OR
    THEN 0
    END k 65 ==
    THEN 33
    END k 75 ==
    THEN 63
    END k 61 > k 85 <
    AND
    THEN k k 10 / IP 6
    - 13 * - 7 -
    END k 51 ==
    THEN 13 END
    k 54 == THEN 47
    END k 55 ==
    THEN 8
    END k 95 ==
    THEN 1 SF 0
    END k 94 ==
    THEN 32
    END k 85 ==
    THEN 27
    END k 92 ==
    THEN 48
    END k 93 ==
    THEN 44
    END 0
    END
    \>>
    END
    IF DUP 0
    \=/
    THEN DUP
    CHR \-> VXSTR
    \<< DUP
    IF 13
    == CS 5.9 > OR
    THEN
    0 ROll -6.1 'CS'
    STO
    END
    IF
    DUP 13 \=/
    THEN
    IF 8 ==
    THEN BKSPC
    ELSE PICT CS
    (0,1.1) + VXSTR 1
    \->GROB DUP SIZE DROP
    B\->R DUP 'CSO' STO+
    10 / 'CS' STO+ REPL
    END VXSTR XMIT DROP
    ELSE
    13 CHR XMIT DROP
    END
    DROP 0
    \>>
    ELSE DROP
    1 +
    END KEY
    UNTIL DUP 0
    == BUFLEN DROP 180
    > OR
    END DROP
    END
    \>>
    RXTD
    \<< 1 SRECV DROP
    DUP \-> VRSTR
    \<<
    IF "" \=/
    VRSTR NUM 10 \=/ AND
    THEN DROP 0
    IF VRSTR
    NUM 13 == Cr 5.9 >
    OR
    THEN 1
    ROll -6.1 'Cr' STO
    END
    IF VRSTR
    NUM 13 \=/
    THEN
    IF
    VRSTR NUM 8 ==
    THEN
    BKSP
    ELSE
    PICT Cr (0,-1.8) +
    VRSTR 1 \->GROB DUP
    SIZE DROP B\->R DUP
    'CRO' STO+ 10 /
    'Cr' STO+ REPL
    END
    END
    END
    \>>
    \>>
    ED
    \<< CLOSEIO 0
    STIME PATH IO HOME
    IF 2 FS?
    THEN 'IOPAR'
    PURGE DROP
    ELSE 'IOPAR'
    STO
    END EVAL
    IF 'INFO'
    VTYPE 11 ==
    THEN ERASE
    PICT (-6.5,2.8)
    INFO REPL 0 WAIT
    END fl STOF {
    PPAR CRO CSO IO CS
    Cr fl } PURGE CLEAR
    "questions to:
    [email protected]"
    DOERR
    \>>
    ROll
    \<< PICT
    IF SWAP 1 ==
    THEN
    (-6.5,.1) PICT
    (-6.5,-.8)
    (6.5,-2.7) SUB PICT
    (-6.4,-1.8) # 129d
    # 9d BLANK REPL ""
    'CRO' STO
    ELSE
    (-6.5,3.1) PICT
    (6.5,.3) (-6.5,2.2)
    SUB PICT (-6.4,1.1)
    # 129d # 9d BLANK
    REPL "" 'CSO' STO
    END REPL
    \>>
    SUSPEND
    \<<
    IF DUP 600 >
    THEN DROP 0
    CLOSEIO PICT
    (6.5,-3.1)
    (-6.5,3.2) SUB
    ERASE
    IF 'INFO'
    VTYPE 11 ==
    THEN PICT
    (-6.5,2.8) INFO
    REPL
    ELSE PICT
    (-3.8,.2)
    "press any key" 2
    \->GROB GOR
    END 0 WAIT
    DROP PICT SWAP {
    # 0d # 0d } SWAP
    REPL
    END
    \>>
    INIT
    \<<
    27 CHR XMIT DROP
    69 CHR XMIT DROP
    48 CHR XMIT DROP
    13 CHR XMIT DROP
    CLEAR RCLF
    'fl' STO -19 SF -11
    CF -12 CF 1 CF -40
    CF -6.1 DUP 'Cr'
    STO 'CS' STO "" ""
    'CRO' STO 'CSO' STO
    .1 STIME ERASE {
    # 0d # 0d } PVIEW
    'INFO'
    IF VTYPE 11
    ==
    THEN PICT
    (-6.5,2.8) INFO GOR
    0 WAIT DROP
    END IOSET
    ERASE (-6.5,.2)
    (6.5,.2) LINE
    (6.5,-2.8)
    (-6.5,3.2) BOX PATH
    HOME 'IOPAR' VTYPE
    IF -1 ==
    THEN 2 SF 0
    ELSE IOPAR
    END { 9600 0
    0 0 3 1 } 'IOPAR'
    STO SWAP EVAL 'IO'
    STO 0
    \>>
    BKSP
    \<<
    IF Cr -6.1 \=/
    THEN CRO 1 1
    SUB OBJ\-> 10 / NEG
    'Cr' STO+ PICT Cr
    (0,-1.8) + CRO 1 1
    SUB OBJ\-> R\->B # 7d
    BLANK REPL CRO DUP
    SIZE 2 SWAP SUB
    'CRO' STO
    END
    \>>
    BKSPC
    \<<
    IF CS -6.1 \=/
    THEN CSO 1 1
    SUB OBJ\-> 10 / NEG
    'CS' STO+ PICT CS
    (0,1.1) + CSO 1 1
    SUB OBJ\-> R\->B # 7d
    BLANK REPL CSO DUP
    SIZE 2 SWAP SUB
    'CSO' STO
    END
    \>>
    INFO
    GROB 131 59 000EFFFFFFFFFFFFFFFFFFFFFFFFF3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C10000000000000000000000000CF1EF10610000C3C3F7081C10000000000C036810300000C0C03C0C0B10000000000C066030300000C0C0381E8130000000000603381C70000060681C07C81000000000060338181C3C6060681C86C9000910000003C8160C013F30303C0343C700052000000F38F30C816620FF3CF023870007200000810C8106C0330818160091670000000000810C0306C03308181608F336000E100000C006810368910C0C030CF9130009200000C006030368910C0C0300C81300092000006003818164C00606810068F00006000000F08703C3C3E10F0FC30060700000000000000000000000000000000000000E1000000000000000000000000000000009200000000000000000000000000000000920000000000000000000000000000000060000EFFFFFFFFFFFFFFFFFFFFFFFFF30000000000000000000000000000000000000200000000000000000000000000000000F3000000040010000100008F00018000002200000004001000010000020080800000000000C8176072210913770262D990000000000025A490941005A494029294A0000000000024A4F0941005A79402F29CB0000000000025A410941025A094021294800000E70000C817E07801E8171702EC98B000001800000000000800000084000000000000000000000000040000000300000000000042000000000000000000000000000000004200000000000000800000700002000000810000000000000080000090000200000000000000000000008CC1709EEE833E00001800000000000000825A00F2825A410000E7000000000000008E523092E25A760000000000000000000092424092925A08000000000000000000007C5A3072F293770000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000010000002100000000200000000000200001000000200000200817CC8B383722299883306C83793213C004094254002941A425094092942942940108194E99183941EC3509401294294297C000294202242941A405094092942942902000074CCD1C3980293203306C84694C1700000100000000800002000000000000000000010000000040000100000000000000000
    END

     

    Send Questions to: [email protected]. As of: 03/04/01 , Best viewed with your eyes wide open.
     

    DL3SJB's World


    What's new ?
    Projects
    DB0SAO
    DL3SJB
    Feedback
    Impressum


    Last updated 04/21/03. Best viewed with your eyes wide open. All information provided is of a general nature and is not intended to address the circumstances of any particular individual or entity. Although I endeavor to provide accurate information, there can be no guarantee that such information is accurate as of the date it is received or that it will continue to be accurate in the future. No one should act upon such information without appropriate professional advice after a thorough examination of the facts of the particular situation. You are visitor number