🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sources.hp48
1 messages
1 total messages Started by Craig A. Finseth Mon, 25 Jan 1993 05:01
v08i023: hp16cemu.caf - Partial HP-16C Emulator v1.0, Part01/01
#83
Author: Craig A. Finseth
Date: Mon, 25 Jan 1993 05:01
301 lines
9140 bytes
Checksum:  965356985 (verify with brik -cv)
Submitted-by: Craig A. Finseth <fin@unet.umn.edu>
Posting-number: Volume 8, Issue 23
Archive-name: hp16cemu.caf


BEGIN_DOC hp16cemu.doc
Written by: Craig Finseth, University of Minnesota
When: 24 Mar 1990
What: Partial HP-16C Emulator

ON16	Turn on our special ENTER key.
OFF16	Turn off our special ENTER key.
BASE	MATH:BASE menu.
LJ	Left Justify
MSKL	Mask Left
MSKR	Mask Right

RLn	Rotate Left by n
RRn	Rotate Right by n
RLC	Rotate Left through Carry
RRC	Rotate Right through Carry
RLCn	Rotate Left by n through Carry
RRCn	Rotate Right by n through Carry

CNTB	Count the number of "1" bits
SB	Set a bit
CB	Clear a bit
TB	Test a bit
TOBIN	Convert an expression to a binary number.
TOREAL	Convert an expression to a real number.

TRIMN	Trim N to the current word size.
SWAPC	Swap the bottom bit of the current value with the carry bit.
CARRY	The carry bit.
alphaENTER	Our vectored Enter key.  This key checks to see if the
		first character of the command string is a digit ("0"
		through "9").  If so, it prepends a "#" character to the
		command line.

		Note: The USER mode must be active for this to work.

HP-16C Functions Not Emulated:

	RMD
	DBLR
	DBL/
	DBL*
	1's mode
	UNSGN mode

All other HP-16C functions exist in the HP-48SX (e.g., RR, RL, ASR) or
are implemented in a better way in the HP-48SX (e.g., program
control).

Checksum: #17d
Size: 1420.5
------------------------------------------------------------
END_DOC

BEGIN_RPL hp16cemu.rpl
%%HP: T(3)A(D)F(.);
DIR
  ON16
    \<< -62 SF -63 SF
    \>>
  OFF16
    \<< -62 CF -63 CF
    \>>
  BASE
    \<< 9 MENU
    \>>
  LJ
    \<< DUP
      IF TOREAL
      THEN TOBIN
        DO RL DUP
        UNTIL # 1d
AND TOREAL
        END RR
      ELSE # 0d
      END
    \>>
  MSKL
    \<< TRIMN \-> n
      \<< # 0d 1 n
        START RR
# 1d RR OR
        NEXT
      \>>
    \>>
  MSKR
    \<< TRIMN \-> n
      \<< # 0d 1 n
        START SL
# 1d OR
        NEXT
      \>>
    \>>
  RLn
    \<< \-> X n
      \<< X TOBIN 1 n
TRIMN
        START RL
        NEXT
      \>>
    \>>
  RRn
    \<< \-> X n
      \<< X TOBIN 1 n
TRIMN
        START RR
        NEXT
      \>>
    \>>
  RLC
    \<< TOBIN RL
SWAPC
    \>>
  RRC
    \<< TOBIN SWAPC
RR
    \>>
  RLCn
    \<< \-> X n
      \<< X TOBIN 1 n
TRIMN
        START RLC
        NEXT
      \>>
    \>>
  RRCn
    \<< \-> X n
      \<< X TOBIN 1 n
TRIMN
        START RRC
        NEXT
      \>>
    \>>
  CNTB
    \<< 0 SWAP TOBIN
1 RCWS
      START
        IF DUP # 1d
AND TOREAL
        THEN SWAP 1
+ SWAP
        END RR
      NEXT DROP
    \>>
  SB
    \<< # 1d SWAP RLn
OR
    \>>
  CB
    \<< # 1d NOT SWAP
RLn AND
    \>>
  TB
    \<< RRn # 1d AND
    \>>
  TOBIN
    \<< \->NUM \-> X
      \<<
        IF X TYPE
10 \=/
        THEN X RE
R\->B
        ELSE X
        END
      \>>
    \>>
  TOREAL
    \<< \->NUM \-> X
      \<<
        IF X TYPE
10 ==
        THEN X B\->R
        ELSE X
        END
      \>>
    \>>
  TRIMN
    \<< TOREAL ABS
RCWS MOD
    \>>
  SWAPC
    \<< DUP CARRY
SWAP # 1d AND
'CARRY' STO SWAP
# 1d NOT AND OR
    \>>
  CARRY # 0d
  \GaENTER
    \<< \-> X
      \<< X 1 1 SUB
NUM \-> Y
        \<<
          IF Y 48 \>=
Y 57 \<= AND
          THEN "#"
X +
          ELSE X
          END
        \>>
      \>> OBJ\->
    \>>
END
END_RPL

BEGIN_ASC hp16cemu.asc
%%HP: T(1);
"69A20FF78BA000000060C854E445542560D9D20E16321C432D6E201085E1632D
6E2010859C2A29C2A2C58C164BC11C432D6E201095E16323CE22D6E201095339
201000000000000840B9DE1D6E201095339201000000000000750CFCE1387E1A
FE22D9D20C2A207000032D6E20108576BA1B21305BF22D6E2010855DF22EF532
EF532B7FC193632B21302010050341425259550E4A2051000000000000000000
08200050357514053450D9D20E163278BF184E20503414252595DBBF1E4A2051
0001000000000000000387E14563284E2050341425259597632DCC02DBBF1E4A
20510001000000000000000F88E1387E1908E193632B2130AA00050452594D4E
450D9D20E163284E206045F4255414C4F1AA1EF5C1D4EB193632B21304400060
45F4255414C460D9D20E16324E5A11C432D6E201085E16323CE22D6E20108568
BC1339201000000000000010279E1AFE22D9D20D6E201085BB691B21305BF22D
6E2010855DF22EF53293632B2130E90005045F42494E450D9D20E16324E5A11C
432D6E201085E16323CE22D6E20108568BC1339201000000000000010D9AE1AF
E22D9D20D6E201085AC7C1B9691B21305BF22D6E2010855DF22EF53293632B21
301A00020452420D9D20E163284E20302525E6E4A20510001000000000000000
387E193632B21308400020342420D9D20E1632E4A20510001000000000000000
F88E1DBBF184E203025C4E6387E193632B21302500020352420D9D20E1632E4A
20510001000000000000000DBBF184E203025C4E6908E193632B2130D4000403
4E4452440D9D20E16324B2A2DBBF184E205045F42494E49C2A2EF5C1301323CE
2278BF1E4A20510001000000000000000387E184E206045F4255414C4AFE22D9
D20DBBF19C2A276BA1DBBF1B21305DF22BD591C42328DBF193632B2130DB0004
0252534E640D9D20E16321C432D6E201085D6E2010E6E1632D6E20108584E205
045F42494E49C2A2D6E2010E684E2050452594D4E43013284E2030252534C423
2EF53293632B2130190004025C434E640D9D20E16321C432D6E201085D6E2010
E6E1632D6E20108584E205045F42494E49C2A2D6E2010E684E2050452594D4E4
3013284E203025C434C4232EF53293632B2130190003025253430D9D20E16328
4E205045F42494E484E20503575140534BD59193632B2130540003025C43430D
9D20E163284E205045F42494E4B959184E2050357514053493632B2130540003
02525E630D9D20E16321C432D6E201085D6E2010E6E1632D6E20108584E20504
5F42494E49C2A2D6E2010E684E2050452594D4E430132BD591C4232EF5329363
2B2130780003025C4E630D9D20E16321C432D6E201085D6E2010E6E1632D6E20
108584E205045F42494E49C2A2D6E2010E684E2050452594D4E430132B9591C4
232EF53293632B21307800040D435B42540D9D20E163284E2050452594D4E41C
432D6E2010E6E1632E4A205100000000000000000009C2A2D6E2010E630132B1
691E4A20510001000000000000000908E1C4232EF53293632B2130F900040D43
5B4C440D9D20E163284E2050452594D4E41C432D6E2010E6E1632E4A20510000
0000000000000009C2A2D6E2010E630132BD591E4A2051000100000000000000
0BD591908E1C4232EF53293632B21304A00020C4A420D9D20E163278BF13CE22
84E206045F4255414C4AFE22D9D2084E205045F42494E43C032B959178BF1DE0
32E4A20510001000000000000000387E184E206045F4255414C49B632BD591B2
1305BF22E4A205100000000000000000005DF2293632B2130DC0004024143554
40D9D20E1632173A26911293632B2130A200050F46464136350D9D20E1632339
2010000000000002695D2C13392010000000000003695D2C193632B213065000
40F4E4136340D9D20E1632339201000000000000269472C13392010000000000
00369472C193632B2130F9B0"
END_ASC


BYTES: #B9Fh 1418

BEGIN_UU hp16cemu.uue
begin 644 hp16cemu.dir
M2%!(4#0X+466*O!_N`H````&C$5.5$52!ITMX&$CP332Y@(!6!XVTN8"`5C)
MHI(L*ES(8;0<P332Y@(!61XV,NPB;2X0D#63`@$``````(`$F^W1Y@(!63,I
M$````````%?`SQZ#YZ'O(ITMP*("!P`PTN8"`5AGJ[$2`[4OTN8"`5C5+^)?
M(_XULO<<.3:R$@,"`5`P%"0EE57@I`(5````````````@`(`!5-705!#!9TM
MX&$CA_N!Y`(%0T%24EF]^^&D`A4`$``````````P>!Y4-H+D`@5#05)267DV
MTLP@O?OAI`(5`!``````````\(@>@^>1@!XY-K(2`ZH`4$`EE=3D5-#9`AXV
M@N0"!E1/4D5!3!^JX5\<3;Z18R,K,4`$``943U)%04P&G2W@82/DI1%,(VTN
M$(#E82/#+M+F`@%8ALLQDP(!`````````7+IH>\BG2W0Y@(!6+N6L1(#M2_2
MY@(!6-4OXE\C.3:R$@.>`%!`]224Y%30V0(>-D)>&L$TTN8"`5@>-C+L(FTN
M$(!EN!PS*1`````````0T*D>^B[2V0)M+A"`I7P<FY:Q$@.U+]+F`@%8U2_B
M7R,Y-K(2`Z$`($`E)-#9`AXV@N0"`U)2;DXJ4`$``0````````"#YY%C(RLQ
M@`0``D-"`ITMX&$C3BI0`0`!`````````(_HT;L?2"XP(,7D-G@>.3:R$@-2
M`"`P)230V0(>-N*D`A4`$`````````#0NQ](+C`@Q>26@!XY-K(2`TT`0##D
M1"5$T-D"'C9"*RJ]^X'D`@543T))3LFBXE\<`S$R["*'^^&D`A4`$```````
M```P>!Y(+F!`]215%,2D[R*=+="['\FB<K8:O?NQ$@/5+[)=&4PR@KT?.3:R
M$@.]`$`@)37D1M#9`AXV$DPC;2X0@-7F`@%N'C;2Y@(!6$@N4$#U))3DE"PJ
M;2X0X(;D`@544DE-3@,Q@N0"`U)20TPRXE\C.3:R$@.1`$`@Q33D1M#9`AXV
M$DPC;2X0@-7F`@%N'C;2Y@(!6$@N4$#U))3DE"PJ;2X0X(;D`@544DE-3@,Q
M@N0"`U),0TPRXE\C.3:R$@.1`#`@)34TT-D"'C:"Y`(%5$]"24Y(+E`P=14$
M-;1=&3DVLA(#10`P(,4T--#9`AXV@N0"!51/0DE.FY6!Y`(%4U=!4$,Y-K(2
M`T4`,"`EY3;0V0(>-A),(VTN$(#5Y@(!;AXVTN8"`5A(+E!`]224Y)0L*FTN
M$."&Y`(%5%))34X#,;)=&4PRXE\C.3:R$@.'`#`@Q>0VT-D"'C823"-M+A"`
MU>8"`6X>-M+F`@%82"Y00/4DE.24+"IM+A#@AN0"!51224U.`S&R61E,,N)?
M(SDVLA(#AP!`T#2U)$70V0(>-H+D`@544DE-3L$TTN8"`6X>-N*D`A4`````
M``````"0+"IM+A#@-A`C&Y;AI`(5`!``````````D(`>3#+B7R,Y-K(2`Y\`
M0-`TM<1$T-D"'C:"Y`(%5%))34[!--+F`@%N'C;BI`(5````````````D"PJ
M;2X0X#80(]N5X:0"%0`0`````````+!=&0GHP20C_C628R,K,4`*``),2@*=
M+>!A(X?[,>PB2"Y@0/4D513$I.\BG2V`Y`(%5$]"24[#,+)9&8?[T0XC3BI0
M`0`!`````````(/G@>0"!E1/4D5!3+DVLET9*S%0^R).*E`!````````````
MU2^28R,K,=`,``1"05-%!)TMX&$C<:-B&2$Y-K(2`RH`4/!D9!1C4]#9`AXV
M,I,"`0``````();5PC&3`@$``````#"6U<*18R,K,6`%``1/3C$V!)TMX&$C
?,RD0````````8DDG'#,I$````````&-))QPY-K(2`[(2
`
end
sum -r/size 11398/1997 section (from "begin" to "end")
sum -r/size 18950/1426 entire input file
END_UU
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads