BEGIN_DOC entries.doc *********************** 19.09.1992 ******************************************** This list has all the points listed in previous lists (In seq.uncwil.edu). They were gathered by: Jan Brittenson Rick Grevelle Jim Cloos Paul Dale Derek Nickel Poul-Henning Kamp Harry Herman J. Horn This file includes: ENTRIES.TXT A large collection of ROM entries. Some are documented, some aren't. The supported ones (the ones in ENTRIES.A) are marked with HP: Others are unsupported and may work in rev E only. ENTRIES2.A A list of (mostly) unsupported entries usable by the rpl tools package. To use it you have 2 choices: 1) Append the file to ENTRIES.A and compile the file to get a new ENTRIES.O 2) Compile the file as is and use "SEARCH ENTRIES2.O.." right after the usual "SEARCH ENTRIES.O"... Compiling is done in both cases by "SASM ENTRIES[2].A" The entries are marked in ENTRIES.TXT with a NS: header. I will not change those names in any possible later versions, but I'm likely to add some more useful ones. entries2.a has many of the entries missing from the entries.a file. Namely complex number calculations, matrix operations etc. I have given some supported ones new names too to simplify programming. Most notably those thinking in hex might like the ##1,##2...##F definitions for ONE,TWO...FIFTEEN etc. (#1 does not work with rpltools, but would work with rpl library.) See entries.txt for possible docs/stack diagrams etc for the entry. RUNTHREAD A simple rpl/machine language disassembler (Unix) that uses ENTRIES.TXT for comments/command names. Uncompress disass.uue and then disass.zip to get more information. Disassembles memory and ordinary HP48 files. Some more details about entries.txt: Some entries have weird names because I have assigned all entries that I've studied a name to prevent disassembing them again. After all nights hacking I may have lacked the inspiration too though ;) I do not guarantee not changing any of the names (except HP: and NS: ones) in possible future versions of ENTRIES.Z, but I will not do so unless I think the change is much for the better. Latest example is the meta handling objects, which got much more understandable names after I sorted them by function. Each entry is listed in this format: addr type name [addr @ comments etc] The disassembler recognizes the @ character and does not list the comments unless you're disassembling that particular object. Each entry has also a type indicator. This was originally for my old disassemblers purposes, but it may be of other use too, so I haven't deleted them. The identifiers are: Objects ======= Address Type Name Identifier As argument ----------------------------------------------------------------------------- 02933 0 Real % 02977 1 Complex C% 02a2c 2 String $ 029e8 3 Real Array [] [%] 029e8 4 Complex Array [] [C%] 02a74 5 List {} 02e48 6 Global Name g' ID (SYM) 02e6d 7 Local Name l' LAM (SYM) 02d9d 8 Program :: seco 02ab8 9 Algebraic obj '' ALG/SYMB (SYM) 02a4e 10 Hex string h# HEX 02b1e 11 Graphics obj gr GROB 02afc 12 Tagged obj tg TAG/TAGGED 02ada 13 Unit obj un UNIT 02e92 14 XLIB name xl XLIB/ROMPTR 02a96 15 Directory Dr DIR 02b40 16 Library Lb LIB 02b62 17 Backup obj Bc BAK 02e92 18 Function xl XLIB/ROMPTR/CMD 02e92 19 Command xl XLIB/ROMPTR/CMD 02911 20 Binary # 02955 21 Long Real %% 0299d 22 Long Complex C%% 02a0a 23 Linked Array LA 029bf 24 Character ch CHAR 02dcc 25 Code CD 02b88 26 Library Data LD other 27 External P - - Machine Code mc - - Prolog pr - - GOTOable go - - Reference rf A reference to a memory location - - Special * Generally mc, but may be other too - - Pointer/storage = Or I just didn't know... Also as argument float means % or C%, bfloat %,C%,%%,C%% rf headers mean references to objects elsewhere. The name of the object will start with: rhex_ if it's a reference to a hex number rr_ if it's a reference to a system binary that references hidden ROM r_ for other references Note that the system binaries referenced this way have r_ in their names Most binary integers listed in entries4 are for special display formats. That's why the number is shown as it is memory, not as it shows on stack. This eases interpreting the display format. Also note that you can't SYSEVAL addresses past 70000, but the XLIB's there can be EVALed. Also you can put the address as system binary to stack and syseval address #C612. It recalls the object at the address pointed to by the system binary. If the address is in the range 70000-7FFFF, the object will be fetched from hidden ROM and copied to RAM (stk1). Some programs (integration, derivation etc) check if a romptr has special arguments for these routines after the actual romptr program. If such arguments exist, the romptr is commented with a header like H:123. The arguments after it are named by the purpose, in this order: EQWR @ Equation writer @ EQWR+, EQWRDER... SPEVAL @ ROMPTR evaled in ALG mode DISP @ Display hex @ hex_80108, hex_5args... DER @ Derivation @ DERSIN, DERCOS.. RINV @ Inversion (for ISOL) @ RINVSIN, RINVCOS... MAKE @ Making SYMB from stk args @ MAKEDER, MAKEWHERE... APPEXPAN @ Expanding APPLY @ Not used internally (?) RULES @ RULES menu for the ROMPTR @ RULES1...RULES12 INTG @ Integration @ INTGSIN... WHERE @ How to do | @ WHEREINTG... FORM @ Imploding, exploding metas @ FORMDER, FORMINTG... (My old post about these had some inaccuracies.) Command libraries (LID>=700) have similar flags for PARSE @ PARSEIF, PARSEFOR... (checking for control structures) DBUG @ DBUG_IF, DBUG_IFERR (most interfering with return stack) Names like dup, rot, swap in lower case refer to meta handling. Uppercase is used for the usual stack handling. Please send any bug reports, ideas, fully sorted lists by function etc to: --> mheiskan@vipunen.hut.fi END_DOC BEGIN_MISC entries.txt 00001 = HP:Sfkey1 00001 = HP:sTRUNC 00002 = HP:sFLUSH 00002 = HP:sNEGATE 00003 = HP:DZP 00004 = HP:sBPOFF 00006 = HP:Sfkey6 00008 = HP:sBEG 0000A = HP:portnotaverr 0000F = HP:sALLOWINTR 00019 = HP:ENTERCODE 000C6 = HP:KeyErrfd 00100 = DISPIO 00100 @ [DON Ofs2 Ofs1 Ofs0] Disp On, Bit Offset for left (Display IO) 00101 = CONTRLSB 00101 @ [Con3 Con2 Con1 Con0] Contrast, least sign. bits, MSB in 00102.1 00101 = VOLTAGE 00102 @ [VDIG LID TRIM Con4] Disp Test (VDIG, LID, TRIM should be 0)&Contrast 00104 @ 16 bit hardware CRC (104-107) 00108 = LOWPOW 00108 @ Low power registers (108-109) 00108 @ [LB2 LB1 LB0 VLBI] (read only) [ELBI EVLBI GRST RST] (read/write) 0010A = MODE 0010A @ read-only 0010B = HP:ANNCTRL 0010B @ Annunciator control bits [ <- -> alpha alarm ] 0010C = ANNCTRL2 0010C @ Annunciator control bits [ busy IO XTRA Indicators_on? ] 0010D = IOSPEED 0010D @ Baud rate (11 bits) (600h=9600,400h=4800,200h=2400,100h=1200) 0010E = EventMask 00110 = HP:IOC 00110 @ [RI RE XI XE] RS-232 Int. Reg. ?E=Int. Enabled, ?I=Int. Triggered 00111 = HN:RCS 00112 = HP:TCS 00112 @ [0 0 RR XR] UART status, XR=Xmit ready, RR=Recv. ready 00113 = HN:CRER 00114 = HN:RBR 00114 @ RS-232 receive data register (2 nybbles for character) 00116 = HP:TBR 00116 @ RS.232 transmit data register (2 nybbles for character) 0011A = HP:IRC 0011A @ bit1: IR receiving (Clearable) 0011A @ bit4: receive bit toggled by input 0011C = LEDHI 0011C @ IR on/off #8 turns led on (5 hours to drain batteries!), #0 off 0011D = LEDLO 0011D @ Opens for msecs 0011F = 7_or_F_map 00120 = STKDADDR 00120 @ 120-124 = stack display address, not readable (?), writable 00120 @ bit 0 is ignored (display must start on byte boundary) 00125 = OVERSCAN 00125 @ 125-127 = bytes skipped after each pixel line 00125 @ To make a scroller, needed are OVERSCAN, STKDADDR & DISPIO (???) 00128 = MENUROW1 00128 @ 6 bits till bits 0&1 of 129 (-> max = 2^6-1 = 63 = disp height) 00128 @ Normally has 55d -> Menu starts at display row 56 00129 = MENUROW2 00130 = MENUDADDR 00130 @ 130-134 = menu display address 00137 = HP:TIMER1 00138 = HP:TIMER2 00138 @ hardware timer 001FF = HP:allkeys 00202 = HP:argtypeerr 00203 = HP:argvalerr 0023A = ON_B? 00284 = HP:ServModeMASK 00301 = HP:posunferr 00302 = HP:negunferr 00303 = HP:ofloerr 00305 = HP:infreserr 0045C = IntrSaveOffset 004EA = keybuf 007B5 = HP:SrvcKbdAB 00883 = HP:IgnorAlmMASK 00A03 = HP:intrptderr 00B02 = HP:constuniterr 00C0D = HP:kermsendmsg 00C0E = HP:kermrecvmsg 00C10 = HP:kermpktmsg 00C13 = HP:prtparerr 00C74 = HP:OnKeyDown? 00C80 = HP:OnKeyStable? 00D57 mc HP:Flush 00D71 P HP:FLUSH 00D71 P HP:FLUSHKEYS 00D71 @ Flush the key buffer 00D8E mc HP:FlushAttn 00E0B mc AnyKeyPressed? 00F94 = ON_+ 00F9A = ON_- 01011 = ON_/ 01087 = ON_SPC 010CE = ON_Left 010E5 = HP:AllowIntr 01115 = HP:DisableIntr 0115A mc HP:AINRTN 0115A @ A=IN 01160 = HP:CINRTN 01160 @ C=IN 01165 = ON_E 01176 = ON_D 0118B @ MC: Set C.A and D0 to @0011Bh 011FC @ MC: Verify saved CRC and ? 012EE = HP:GetTimChk 01307 @ MC: let C(13) = TICKS 0130E = HP:GetTime++ 0131D * HP:srvc_timer2 0172B P RescanAlarms 0172B @ ??? rescan Alarms ??? 017A6 mc HP:makebeep 017A6 @ beep (C=msec,D=Hz) 018E2 * HP:clkspd 01AD7 * HP:RCKBp 01B8F * HP:DispOn 01BBD * HP:DispOff 01C31 * HP:D0->Row1 01C58 * HP:D0->Sft1 01DA1 mc GetRAMSize(b) 01DA1 @ Call: b = 0x80000 or other base-address 01DA1 @ Ret: cflag set: not ram; else: c = '128K' or '032K' 01E5E P Called:04895 113A5 17BA4 01F53 P Called:423F3 01F6D P HP:CLCD10 01F6D @ Clear status & stack area 01FA7 P HP:CLEARLCD 01FA7 @ Clear status & stack & menu area (entire display) 01FBD mc HP:Warmstart 021CC CD 021CC @ ????Clears all display, no arguments, what else????? Called:021BA 021E4 :: NS:ConfigLibs 021E4 @ Configures internal & external libraries 02216 :: NS:ConfigLibs{} 02216 @ Configure libraries (1:{#libnum1 #libnum2...}) 02248 @ Set C.A=#100h, P=0, CONFIG port 100h, clear carry 02256 = ConfigRAM70000 0228E = ConfigRAMF0000 0250E mc MCGrobInit 0250E @ Call: d1= **grob; c=*grob; a={len,y,x} 0250E @ Ret: c=*grob+len 028FC pr HP:PRLG 028FC @ prolog signature (enter machine code) 02911 pr HP:DOBINT 02911 @ # prolog (/U #) 02933 pr HP:DOREAL 02933 @ % prolog (/U %) 02955 pr NS:DOLONGREAL 02955 @ %% prolog (/U %%) 02977 pr HP:DOCMP 02977 @ C% prolog (/U C%) 0299D pr NS:DOLONGCMP 0299D @ C%% prolog (/U C%%) 029BF pr HP:DOCHAR 029BF @ Char prolog (/U CHR) 029E8 pr HP:DOARRY 029E8 @ Array prolog (/U ARRY) 02A0A pr NS:DOLNKARRY 02A0A @ Linked Array prolog (/U LNKARRY) 02A2C pr HP:DOCSTR 02A2C @ $ prolog (/U $) 02A4E pr HP:DOHSTR 02A4E pr HP:DOHXS 02A4E @ HXS prolog (/U HXS) 02A74 pr HP:DOLIST 02A74 @ List prolog (/U {) 02A96 pr NS:DODIR 02A96 @ Directory prolog (/U DIR) 02AB8 pr NS:DOSYMB 02AB8 @ Algebraic prolog (/U DOSYMB) 02ADA pr HP:DOEXT 02ADA @ Unit prolog (/U UNIT) 02AFC pr NS:DOTAG 02AFC @ Tagged prolog (/U TAG) 02B1E pr HP:DOGROB 02B1E @ Graphic prolog (/U GROB) 02B40 pr HP:DOLIB 02B40 @ Library prolog (/U LIB) 02B62 pr NS:DOBAK 02B62 @ Backup prolog (/U BAK) 02B88 pr HP:DOEXT0 02B88 @ Library Data prolog 02BAA pr NS:DOEXT1 02BAA @ iType object 02BCC pr NS:DOEXT2 02BCC @ iType object 02BEE pr NS:DOEXT3 02BEE @ iType object 02C10 pr NS:DOEXT4 02C10 @ iType object 02D9D pr HP:DOCOL 02D9D @ Program prolog (/U ::) 02DCC pr HP:DOCODE 02DCC @ Code prolog (/U CODE) 02E48 pr HP:DOIDNT 02E48 @ ID prolog (/U ID) 02E6D pr HP:DOLAM 02E6D @ LAM prolog (/U LAM) 02E92 pr HP:DOROMP 02E92 @ XLIB Name prolog (/U ROMPTR) 02F4C :: GETIDEVALfrom2 02F4C @ Recall and EVALfrom2 (starting from 2nd obj in prg) (1:ID) 02F6F P EVALfrom2 02F6F @ Evalualtes starting from 2nd obj (1:prg) 02FD6 :: NS:@LAM?ERROR 02FD6 @ Recall LAM, if not found error (1:LAM) 02FEF :: NS:@XLIB?ERROR 02FEF @ Recall RPL and EVAL, if not found error (1:XLIB) 03012 mc NS:2SKIPOB 03012 @ Skip next 2 objects 03019 mc HP:SKIPOB 03019 @ Skip next object 0312B P HP:SEMI 0312B @ End Marker (/U ;) 03130 @ MC: End Marker (RPL Return) 0314C P HP:DEPTH 0314C @ Internal DEPTH -> (1:#) 03188 P HP:DUP 03188 @ Internal DUP 031AC P HP:2DUP 031AC @ Internal DUP2 031D9 P HP:NDUP 031D9 @ Internal DUPN (N:...,1:# -> ) 03223 P HP:SWAP 03244 P HP:DROP 03249 mc HP:DropLoop 03249 @ Pop stack and continue RPL 03258 P HP:2DROP 0326E P HP:NDROP 0326E @ Internal DROPN (...1:#n) 03295 P HP:ROT 032C2 P HP:OVER 032E2 P HP:PICK 032E2 @ Internal PICK (N:...1:#n) 032F3 @ MC: PICK A'th from C 0331C @ MC: restore D1 from RSTK, pop stack and continue RPL 03325 P HP:ROLL 03325 @ Internal ROLL (N:...,1:#n) 03330 @ MC: ROLL A.A levels and continue RPL 0339E P HP:UNROLL 0339E @ Internal ROLLD (N:...,1:#n) 033A9 @ MC: ROLLD A.A levels and continue RPL 03416 @ MC: garbage collect need 1 stack element 0341D @ MC: garbage collect need C.A stack elements 03442 P HP:MAKEARRY 03442 @ Create unlinked array (2:{#dim1 #dim2} 1:% C% $ # -> 1:[]) 03562 P HP:ARSIZE 03562 @ Size (#xdim*#ydim) (1:[] -> 1:#elements) 0357C mc HP:PUSH#ALOOP 0357C @ Push A as new # and continue RPL 0357F mc HP:PUSH#LOOP 0357F @ Push R0 as new # and continue RPL 0358F P NS:[]TYPEPROLOG 0358F @ (1:[] -> 1:#prolog of contents) 035A9 P HP:DIMLIMITS 035A9 @ Get array dimensions (1:[] -> 1:{#dim1 (#dim2)} ) 0366F mc HP:GPOverWrR0Lp 03672 mc HP:GPOverWrALp 03672 @ Restore regs, push A and continue RPL 03685 P NS:Element?# 03685 @ Does element exist? (2:{#dim1 (#dim2)} 1:[] -> 2:#loc 1:T / 1:F) 036F7 mc HP:Push#TLoop 0371D P HP:GETATELN 0371D @ Get [] element (2:#loc 1:[] -> 2:element 1:True /1: False) 03991 mc HP:MUL# 039BE @ MC: C.A = malloc(C.A nibbles) w/GC 039E3 @ MC: restore regs and Error: Insufficient Memory 039EF mc HN:ECUSER 03A81 P HP:TRUE 03A86 mc HP:PUSHA 03A86 @ Push A.A onto stack 03AC0 P HP:FALSE 03ADA P HP:XOR 03AF2 P HP:NOT 03B06 @ MC: replace stk1 with False and continue RPL 03B1A @ MC: replace stk1 with True and continue RPL 03B2E P HP:EQ 03B2E @ Equivalent if object adresses are the same 03B46 P HP:AND 03B75 P HP:OR 03B97 P HP:EQUAL 03B97 @ Equivalent if object prologs & contents are the same 03C64 P HP:TYPE 03C64 @ get object prolog (subset composites??) 03CA6 P HP:#0= 03CC7 P HP:#0<> 03CE4 P HP:#< 03D19 P HP:#= 03D4E P HP:#<> 03D83 P HP:#> 03DBC P HP:#+ 03DC7 @ MC: push A as new # and continue RPL 03DD0 @ MC: push R0 as new # and continue RPL 03DE0 P HP:#- 03DEF P HP:#1+ 03E0E P HP:#1- 03E2D P HP:#2+ 03E4E P HP:#2- 03E6F P HP:#2* 03E8E P HP:#2/ 03EB1 P HP:#AND 03EC2 P HP:#* 03EF7 P HP:#/ 03F14 mc HP:Push2#Loop 03F14 @ Push R0 & R1 and continue rpl 03F24 mc HP:IntDiv 03F5D mc HP:POP2# 03F5D @ Pop stk2 and stk1 (#) into A.A and C.A 03F8B # HP:TYPEREAL 03F8B @ <2933h> (% prolog) 03F95 # NS:TYPECMP 03F95 @ <2977h> (C% prolog) 03F9F # NS:TYPELIST 03F9F @ <2A74h> (List prolog) 03FA9 # HP:TYPEIDNT 03FA9 @ <2948h> (ID prolog) 03FB3 # NS:TYPECOL 03FB3 @ <2D9Dh> (Program prolog) 03FBD # NS:TYPESYMB 03FBD @ <2AB8h> (Algebraic prolog) 03FC7 # NS:TYPEDIR 03FC7 @ <2A96h> (Directory prolog) 03FD1 # NS:TYPELAM 03FD1 @ <2E6Dh> (LAM prolog) 03FDB # NS:TYPELONGREAL 03FDB @ <2955h> (%% prolog) 03FE5 # NS:TYPEUNIT 03FE5 @ <2ADAh> (Unit prolog) 03FEF # HP:ZERO 03FEF # any 03FEF # NS:##0 03FF9 # HP:ONE 03FF9 # HP:real 03FF9 # NS:##1 04003 # HP:TWO 04003 # cmp 04003 # NS:##2 0400D # HP:THREE 0400D # HP:str 0400D # NS:##3 04017 # HP:FOUR 04017 # arry 04017 # NS:##4 04021 # HP:FIVE 04021 # HP:list 04021 # NS:##5 0402B # HP:SIX 0402B # HP:id 0402B # HP:idnt 0402B # NS:##6 04035 # HP:SEVEN 04035 # lam 04035 # NS:##7 0403F # HP:EIGHT 0403F # HP:seco 0403F # NS:##8 04049 # HP:NINE 04049 # HP:symb 04049 # NS:##9 04053 # HP:TEN 04053 # HP:sym 04053 # NS:##a 0405D # HP:ELEVEN 0405D # hxs 0405D # NS:##B 04067 # HP:TWELVE 04067 # grob 04067 # NS:##C 04071 # HP:THIRTEEN 04071 # TAGGED 04071 # NS:##D 0407B # HP:FOURTEEN 0407B # HP:EXT 0407B # unitob 0407B # NS:##E 04085 # HP:FIFTEEN 04085 # romp 04085 # NS:##F 0408F # HP:REALOB 0408F # HP:SIXTEEN 0408F # NS:##10 04099 # HP:2REAL 04099 # HP:REALREAL 04099 # HP:SEVENTEEN 04099 # NS:##11 040A3 # HP:EIGHTEEN 040A3 # NS:##12 040AD # HP:NINETEEN 040AD # NS:##13 040B7 # HP:TWENTY 040B7 # NS:##14 040C1 # HP:TWENTYONE 040C1 # NS:##15 040CB # HP:TWENTYTWO 040CB # NS:##16 040D5 # HP:TWENTYTHREE 040D5 # NS:##17 040DF # HP:TWENTYFOUR 040DF # NS:##18 040E9 # HP:TWENTYFIVE 040E9 # NS:##19 040F3 # HP:REALSYM 040F3 # HP:TWENTYSIX 040F3 # NS:##1A 040FD # HP:TWENTYSEVEN 040FD # NS:##1B 04107 # HP:TWENTYEIGHT 04107 # NS:##1C 04111 # HP:TWENTYNINE 04111 # NS:##1D 0411B # HP:REALEXT 0411B # HP:THIRTY 0411B # NS:##1E 04125 # HP:THIRTYONE 04125 # bin 04125 # NS:##1F 0412F # HP:THIRTYTWO 0412F # NS:##20 04139 # HP:THIRTYTHREE 04139 # NS:##21 04143 # HP:THIRTYFOUR 04143 # NS:##22 0414D # HP:THIRTYFIVE 0414D # NS:##23 04157 # HP:THIRTYSIX 04157 # NS:##24 04161 # HP:THIRTYSEVEN 04161 # NS:##25 0416B # HP:THIRTYEIGHT 0416B # NS:##26 04175 # HP:THIRTYNINE 04175 # NS:##27 0417F # HP:FORTY 0417F # HP:FOURTY 0417F # NS:##28 04189 # HP:FORTYONE 04189 # NS:##29 04193 # HP:FORTYTWO 04193 # NS:##2A 0419D # HP:FORTYTHREE 0419D # NS:##2B 041A7 :: HP:TurnOff 041A7 @ Internal OFF 041D4 :: DODEEPSLEEP 041D4 @ << ( Prepare off) DEEPSLEEP DROP >> 041ED P HP:DEEPSLEEP 041ED @ Internal OFF, ( -> 1:T/F) (False if ON was pressed, else True) 0426A :: HP:ShowInvRomp 0426A @ <132h> <8h> Jstmsgs Flashed (Invalid card data) 04292 mc HP:DeepSleep 04546 P NS:GETWARN# 04546 @ Returns last system warning (-> 1:#) 04546 @ #0=OK, #1=Alarm, #2=LowBat(S), #4=LowBat(P1), #8=LowBat(P2) 04577 P NS:WARN#>$22 04577 @ Gets last system warning msg 04577 @ (1:# -> 1:$) (#0:Alarm #1:Low(S) #2:Low(P1) #3:Low(P2)) 04708 P HP:CHECKKEY 04708 @ Returns, but doesn't pop next key from buffer 04708 @ (-> 2:#KeyCode 1:True / 1:False) 04714 P HP:GETTOUCH 04714 @ Pop next key from key buffer (-> 2:#KeyCode 1:True / 1:False) 047C7 P HP:REPKEY? 047C7 @ Key pressed? (1:#keycode -> 1:T/F) 04840 mc HP:POPKEY 04890 :: Called:421BD 04890 @ << 01E5E 048A9 keywait >> 048A9 :: Called:0489A 048A9 @ << 0E7CE case 048B8 DispTimeReq&DA1IsStat? case 048E0 >> 048B8 :: Called:057AB 048B8 @ <> 048E0 :: Called:none 048E0 @ << 0CED9 DA1IsStat?SHOWTIME >> 048F9 :: DispTimeReq&DA1IsStat? 048F9 @ Clock req. & saved display on? (-> 1:T/F) 04912 P keywait 04912 @ Called:0489F 04929 mc HP:liteslp 04929 @ Machine code keywait 04999 mc HP:KeyInBuff? 04A0B P HP:GETPROC 04A0B @ Recall #menuitem contents (1:#1-#6 -> 1:ID/CMD/DIR) 04A41 P HP:GETDF 04A41 @ Recall #menuitem name (1:#1-#6 -> 1:ID/$) 04A4C P NS:STODF 04A4C @ Sto #menuitem name (2:$ 1:#1-#6) 04A57 P NS:SetKeys 04A57 @ Set prg according to shifts (2:prg 1:#7 ->) 04B15 mc getmenu 04B76 mc getmenuent 04B76 @ D0 = A + 5*(R0 - 1) ... 04CDC # MsgTable000 04CDC @ Reference to message table for library 000 (XLIB 0) (<72000h>) 04CE6 P HP:ERROR@ 04CE6 @ Rcl last #error from ERROR#place (@70763) (-> 1:#error) 04D0E P HP:ERRORSTO 04D0E @ Store new #error into ERROR#place (@70763) (1:#error) 04D19 @ MC: let Last Error Code = A.A 04D33 P HP:ERRORCLR 04D33 @ clear Last #error from ERROR#place (@70763) 04D3E P HP:DROPNULL$ 04D57 P NS:2DROPNULL$ 04D64 :: HP:GETTHEMESG 04D64 @ If <70000h> then ReplLevel1, else JstGETTHEMESG (1:#addr -> 1:$) 04D87 :: HP:JstGETTHEMESG 04D87 @ Fetches message from message table (1:# -> 1:$) 04D9B :: JstGETTHEMESGvalid 04D9B @ Fetch message with valid args! (2:# 1:# -> 1:$) 04DD7 P split# 04DD7 @ (<54321h> -> <21h> <543h>) 04E07 P ReplLevel1 04E07 @ replace stk1 (@d1) with @70600 (STK1#place) 04E37 P StoreLevel1 04E37 @ save ptr to stk1 (@d1) into @70600 (STK1#place) 04E5E P HP:ERRSET 04E5E @ Set error trapping environment 04EA4 :: HP:ABORT 04EA4 @ Clears last error, then does ERRJMP (:: ERRORCLR ERRJMP ;) 04EA4 @ Executed if ATTN key is pressed 04EB8 P HP:ERRTRAP 04EB8 @ Next ob is error trap prg 04ED1 P HP:ERRJMP 04ED1 @ Do error code in ERROR#place (@70763) 04F19 mc CleanErrorTrap 04FAA P NS:SETPowLostERR 04FAA @ Error: Power Lost 04FB6 P HP:SETMEMERR 04FB6 @ Error: Insufficient Memory 04FC2 P NS:SETDirRecuERR 04FC2 @ Error: Directory Recursion 04FCE P NS:SETUndfLAMERR 04FCE @ Error: Undefined LAM 04FDA P NS:SETInvCardERR 04FDA @ Error: Invalid Card Data 04FE6 P NS:SETObInUseERR 04FE6 @ Error: Object In Use 04FF2 P NS:SETNoPortERR 04FF2 @ Error: Port Not Available 04FFE P NS:SETPortMemERR 04FFE @ Error: No Room in Port 0500A P NS:SETNPortObERR 0500A @ Error: Object Not in Port 05016 P NS:SETUndfXLERR 05016 @ Error: Undefined XLIB Name 0501E @ MC: invoke error code in C.P 05023 mc HP:Errjmp 05023 @ Invoke error code in A.A 05040 P HP:ATTNFLG@ 05040 @ Recall ATTN counter from ATTNFLG (@70679) (-> 1:#) 05068 P HP:ATTNFLGCLR 05068 @ Clear Attn counter in ATTNFLG (@70679.A = 0) (not from keybuffer!) 05089 P HP:CARCOMP 05089 @ Get first element of composite (Also UVAL) (1:comp -> 1:Ob) 050ED P HP:CAR$ 050ED @ Get first char of $ (1:$ -> 1:Char | 1:NULL$ -> 1:NULL$) 05143 mc HP:GETPTRLOOP 05143 @ Restore D,B,D1,D0 (C=D0), clear carry and continue RPL 05153 :: HP:CDRCOMP 05153 @ Internal SUB 2 to end (1:comp -> 1:comp) 0516C :: HP:CDR$ 0516C @ internal SUB 2 to end (1:$ -> 1:$ | 1:NULL$ -> 1:NULL$) 05176 # 0518A P HP:&HXS 0518A @ Appends HXS2 to HXS1 (2:HXS1 1:HXS2 -> 1:HXS3) 05193 P HP:&$ 05193 @ Internal + (2:$2 1:$1 -> 1:$) 0521F :: HP:&COMP 0521F @ Internal + (2:comp2 1:comp1 -> 1:comp) 0525B P HP:>H$ 0525B @ Char to head of $ (2:$ 1:Char -> 1:$') 052C6 :: NS:>HCOMP 052C6 @ Obj to head of composite (2:comp 1:Any -> 1:comp) 052EE P HP:>T$ 052EE @ Char to tail of $ (2:$ 1:Char -> 1:$') 052FA :: HP:>TCOMP 052FA @ Obj to tail of composite (2:comp 1:Any -> 1:comp) 05331 P NS:>COMP 05331 @ build composite object (N+2:Obj1...,2:#n 1:#prolog -> 1:comp) 05445 :: HP:::N 05445 @ Internal ->PROGRAM (N+1:Obj1...1:#n -> 1:seco) 05459 :: HP:{}N 05459 @ Internal ->LIST (N+1:Obj1...1:#n -> 1:{}) 0546D :: HP:SYMBN 0546D @ Internal ->ALGEBRAIC (N+1:Obj1...1:#n -> 1:Symb) 05481 :: NS:UNITN 05481 @ Internal ->UNIT (N+1:Obj1...1:#n -> 1:Unit) 054AF P HP:INNERCOMP 054AF @ Internal OBJ-> (1:comp -> N+1:Obj1...1:#n) 0554C mc HP:DOGARBAGE 05566 P NS:NULLHXS? 0556F P HP:NULL$? 0556F @ (1:$ -> 1:T/F) 055B7 P NS:NULLCOMP? 055B7 @ (1:comp -> 1:T/F) 055D5 h# HP:NULLHXS 055D5 @ HXS template 055DF $ HP:NULL$ 055E9 {} HP:NULL{} 055F3 '' NS:NULLSYMB 055F3 @ Algebraic template (Sysevaling this crashes) 055FD :: HP:NULL:: 055FD @ Unevaluated null program 05607 :: EVALNULL:: 05607 @ Evaluate NULL:: 05616 P HP:LENHXS 05616 @ Internal SIZE (1:hxs -> 1:#nibbles) 05622 P HP:OVERLEN$ 05622 @ SIZE of level 2 $ (2:$ 1:Any -> 3:$ 2:Any 1:#bytes) 05636 P HP:LEN$ 05636 @ Internal SIZE (1:$ -> 1:#bytes) 05626 @ Note:LEN can be compared directly with #n*2+5 and #= #<> etc 0567B P HP:LENCOMP 0567B @ Internal SIZE (1:comp -> 1:#obs) 056B6 P HP:NTHELCOMP 056B6 @ Internal GET (2:comp 1:#i) -> (2:Obj 1:T / 1:F) 05733 P HP:SUB$ 05733 @ Internal SUB (bytes) (3:$ 2:#start 1:#end -> 1:$) 05815 P HP:SUBHXS 05815 @ Internal SUB (nibbles) (3:hxs 2:#start 1:#end -> 1:hxs) 05821 P HP:SUBCOMP 05821 @ Internal SUB (3:comp 2:#start 1:#end -> 1:comp) (Does range checking) 05902 P HP:OSIZE 05902 @ Internal BYTES (size only) (1:Any -> 1:#bytes) 05944 P HP:OCRC 05944 @ Internal BYTES (1:RAM-Object -> 2:#nibbles 1:HXScrc) 0596D mc HP:PUSHhxsLoop 0597E mc HP:DoCRCc 05981 mc HP:DoCRC 059CC P HP:#>HXS 059CC @ Internal SB->B (1:# -> 1:hxs) 05A03 P HP:HXS># 05A03 @ Internal B->SB (1:hxs -> 1:#) 05A51 P HP:CHR># 05A51 @ Character to # (1:Char -> 1:#) 05A75 P HP:#>CHR 05A75 @ # to Character (1:# -> 1:Char) 05AB3 :: HP:CHANGETYPE 05AB3 @ NEWOB and change object prolog (2:Any 1:#prolog -> 1:New-Obj) 05ACC P NS:!CHANGETYPE 05ACC @ Change object prolog (NO NEWOB) (2:Any 1:#prolog -> 1:Ob) 05AED :: NS:ID>LAM 05AED @ Change object prolog to LAM (1:ID -> 1:LAM) 05B01 :: NS:LAM>ID 05B01 @ Change object prolog to ID (1:LAM -> 1:ID) 05B15 P HP:$>ID 05B15 @ $ to ID conversion (1:$ -> 1:ID) 05B79 mc HP:MAKE$ 05B79 @ Allocate string 05B7D mc HP:MAKE$N 05B7D @ Allocate string (C.A = #nibbles) 05BE9 P HP:ID>$ 05BE9 @ ID/LAM to $ conversion (no quotes) (1:ID/LAM -> 1:$) 05C27 P HP:%>C% 05C27 @ Internal R->C (2:%re 1:%im -> 1:C%) 05C8A P NS:%%>C%% 05C8A @ Internal LR->LC (2:%%re 1:%%im -> 1:C%%) 05D2C P HP:C%>% 05D2C @ Internal C->R (1:C% -> 2:%re 1:%im) 05DBC P HP:C%%>%% 05DBC @ Internal LC->LR (1:C%% -> 2:%%re 1:%%im) 05E81 :: HP:>TAG 05E81 @ Internal ->TAG (2:Any 1:$tag -> 1:Tagged) (Doesn't check LEN$<256) 05E9F P NS:{}>TAG 05E9F @ List to Tagged (1:{ID Any} -> 1: Tagged) 05EC7 :: NS:TAG> 05EC7 @ Internal OBJ-> (1:Tagged -> 2:Obj 1:$tag) 05EEA P NS:CARLAM>ID 05EEA @ Change prolog of list element one to ID (1:{LAM Any..} -> 1:{ID Any..} 05F2E :: HP:ID>TAG 05F2E @ Tag ob with name (2:Obj 1:ID/LAM -> 1:Tagged) 05F42 P HP:GARBAGE 05F42 @ RPL Garbage Collect 05F61 P HP:MEM 05F61 @ Internal MEM (-> 1:#nibbles) 0613E mc HP:GARBAGECOL 0613E @ Garbage collect and set D 064BD :: MakeNEWcontents 064BD @ << DUP TOTEMPSWAP 064E2 >> 064D6 P Called:097D4 064E2 P Called:064CC 06529 mc HP:PUSH2# 06529 @ Push R0 and R1 as new # 06537 mc HP:PUSH# 06537 @ Push R0 as new # 065AA mc HP:GPMEMERR 065AA @ Restore registers and Error: Insufficient Memory 065D9 P DUPROMObj? 065D9 @ Is ob in HARDROM (ROM cards too??) (1:Any -> 2:Any 1:T/F) 065E5 P DUPUserObj? 065E5 @ Is ob a user object? (1:Any -> 2:Any 1:T/F) 065E5 @ Hmm. Couldn't get False from this ???????? 06641 mc HP:POP# 06641 @ Pop stk1 (#) into A.A 06657 P HP:TOTEMPOB 06657 @ Internal NEWOB (1:Any -> 1:Any (new copy) ) 066B9 mc HP:MOVEUP 066B9 @ blkcopy_descent 0670C mc HP:MOVEDOWN 0670C @ Block copy (D0:src,D1:dst,C.A=nibbles) 0679B mc HP:SAVPTR 0679B @ Save D0,D1,B,D (uses C,D0), clear carry 067D2 mc HP:GETPTR 067D2 @ Restore D,B,D1,D0 (C=D0), clear carry 06806 mc HP:ROOM 06806 @ Let C.A = free memory 06992 mc HN:MOVERSD 069C5 mc HN:MOVEDSU 069F7 mc HP:ADJMEM 06A1D mc HN:MOVEDSD 06A53 mc HN:MOVERSU 06AD8 mc HP:CREATETEMP 06B3E P DUPDynamicObj? 06B3E @ Is obj in dynamic memory? (1:Any -> 2:Any 1:T/F) 06B3E @ Not in Port0, protected port, HARDROM (addr<70000) else?? 06B4E P HP:INTEMNOTREF? 06B4E @ Is obj in TEMPOB area, not referenced, not in composite? 06B4E @ (1:Any -> 2:Any 1:T/F) 06B5A mc DUPRAMObj? 06BC2 :: DupSystemObj? 06BC2 @ Is obj a system object???? (DUPUserObj? NOT) (1:Any -> 2:Any 1:T/F) 06DDE P Called:5E193 5E19D 5E1CF 06E8E P HP:NOP 06E8E @ No Operation (continue RPL) 06E97 P HP:' 06E97 @ Push next ob & advance interpreter pointer 06EEB P HP:'R 06EEB @ Push next object in previous stream & advance ret pointer 06EEB @ If ret pointee is SEMI, push NULL:: & do not advance ret pointer 06F66 P HP:'REVAL 06F66 @ 'R then EVAL (Eval next ob from prev. stream & advance ret pointer) 06F8E P HP:EVAL 06F8E @ Internal EVAL (1:Not {} ALG or TAGGED) 06F9F P HP:>R 06F9F @ Push pointer to next obj to return stack 06FB7 P HP:RDROP 06FB7 @ Pop return stack (= skip remainder of prev. instr. stream) 06FD1 P HP:COLA 06FD1 @ Execute the next object in this stream & return 07012 P HP:R@ 07012 @ Push remainder of prev. instr. stream (doesn't advance ret.pointer) 07012 @ Example: :: :: R@ EVAL ; ; = :: ; 0701F P HP:R> 0701F @ Push & Skip remainder of prev. instr. stream 0701F @ Example: :: :: R> EVAL ; ; = :: ; 070C3 P HP:RPITE 070C3 @ Stack version of IF-THEN-ELSE (3:flag 2:Trueprg 1:Falseprg) 070FD P HP:RPIT 070FD @ Stack version of IF-THEN (2:flag 2:Trueprg) 0712A P HP:?SKIP 0712A P HP:NOT_IT 0712A @ If pop stk1 = True, then SKIP 0714D P HP:SKIP 0714D @ Skip next object 0715C P NS:2SKIP 0715C @ Skip next two objects 07161 @ MC: skip next two objects and continue RPL 0716B P NS:IDUP 0716B @ Set return to self ( BEGIN jumps here ) 071A2 P HP:BEGIN 071A2 @ Start loop ( Copies interpreter pointer (I) onto return stack ) 071AB P HP:AGAIN 071AB @ Copies top of return stack to interpreter pointer 071AB @ (BEGIN AGAIN) 071C8 P HP:UNTIL 071C8 @ If True, pop return stack, else copy it to interpreter pointer 071C8 @ (BEGIN UNTIL) 071E5 P HP:REPEAT 071E5 @ Copies top of return stack to interpreter pointer 071E5 @ (BEGIN WHILE REPEAT) 071EE P HP:WHILE 071EE @ If False pop return stack & 2SKIP (over REPEAT) 071EE @ (BEGIN WHILE REPEAT) 07221 P HP:INDEX@ 07221 @ Push loop counter of topmost DoLoop environment as # 07249 P HP:ISTOP@ 07249 @ Push loop stop value of topmost DoLoop environment as # 07258 P HP:JINDEX@ 07258 @ Push loop counter of 2nd DoLoop environment (info+25) as # 07264 P NS:JSTOP@ 07264 @ Push loop stop value of 2nd DoLoop environment (info+30) as # 07270 P HP:INDEXSTO 07270 @ Store stk1 (#) into top loop counter 07295 P HP:ISTOPSTO 07295 @ Store stk1 (#) into top loop stop value 072AD P NS:JINDEXSTO 072AD @ Store stk1 (#) into 2nd loop counter (info+25) 072C2 P NS:JSTOPSTO 072C2 @ Store stk1 (#) into 2nd loop stop value (info+30) 07321 P #ISTOPLOOP 07321 @ Not sure of what it does 07334 P HP:LOOP 07334 @ next (DO LOOP) 073A5 P HP:+LOOP 073A5 @ Internal STEP (DO LOOP) 073CE P HP:ONE_DO 073CE @ for 1 to stk1-1 ( #end ONE DO LOOP) 073DB P HP:#1+_ONE_DO 073DB @ for 1 to stk1 ( #end+1 ONE DO LOOP) 073F7 P HP:DO 073F7 @ for stk1 to stk2-1 ( #end #start DO LOOP) 07497 P HP:ABND 07497 @ Purge topmost temporary environment 074D0 :: HP:BIND 074D0 @ Create new temporary environment (N:Any,..,1:{LAMs}) 074D0 @ << INNERCOMP DOBIND >> 074E4 P NS:DOBIND 074E4 @ Create new temporary environment (2N+1:Any,...N+1:LAM,...1:#N) 075A5 P HP:GETLAM 075A5 @ Return obj in #nth temp var (1:#n -> 1:Obj) 075E9 P HP:PUTLAM 075E9 @ Stores obj in #nth temp var (2:Obj 1:#n) 07638 P DetachMsgTable 07638 @ Not sure of this one (AttachMsgTable with clrb instead) 0764E P AttachMsgTable 0764E @ (2:Array of $ 1:#) 076AE P NS:HOMEDETACH 076AE @ Internal DETACH from HOME directory (1:#libnum) 07709 P NS:HOMEATTACH 07709 P HP:TOSRRP 07709 @ Internal ATTACH to HOME directory (1:#) 077C2 P NS:HOMEATTACHED? 077C2 @ Is #Libnum attached to home? (1:#libnum -> 1:T/F) 07819 P NS:CRDIR# 07819 @ Make empty dir (1:#libnum -> 1:emptydir) 0791E P #1@LAM 0791E @ ?????????? no args 0792A P #@LAM 0792A @ ?????????? (1:#) 07943 P HP:@LAM 07943 @ Recall LAM's contents (1:LAM -> 2:Obj 1:T/ 1:F) 0797B P HP:@ 0797B @ Recall (1:LAM/ID) -> (2:contents 1:T / 1:F) 079D7 P MakeUserObj(??) 07BFD P NS:ID>ROMPTR 07BFD @ Recall command/variable (1:ID -> 2:CMD/ID 1:T / 1:F) 07D1B P HP:STOLAM 07D1B @ Store to LAM (2:Any 1:LAM) 07D27 P HP:STO 07D27 @ Internal STO (2:Any 1:LAM/ID) (Especially LAMs???) 07E50 P HP:#>ROMPTR 07E50 @ Internal ->XLIB (2:#libnum 1:#object -> 1:XLIB) 07E76 P NS:RPL@ 07E76 @ Internal RPL->XLIB (1:XLIB contents -> 1:XLIB) 07E99 P HP:ROMPTR@ 07E99 @ Internal XLIB->RPL (1:XLIB Name -> 2:RPL 1:T / 1:F) 07F98 P GetAttachments 07F98 @ get attachments (1:Dir -> 2:{} 1:T/F) (1:XLIB -> 1:#Xlibno) 0807F P NS:LIBLOC 0807F @ Returns LIBs location (1:#libnum -> 2:#addr 1:T / 1:F) 0809E P NS:LIBSIZE 0809E @ Returns nibbles(LIB)-10 (1#libnum -> 2:#nybbles 1:T / 1:F) 080C9 P NS:NEXTLIB? 080C9 @ Does LIB or one with bigger number exist? 080C9 @ (1:#libnum -> 2:#libnum 1:T / 2:#nextLIBno 1:T / 1:F) 08101 P NS:RHASH 08101 @ Get hash table (1:#libnum -> 2:HXS 1:T / 1:F) 0811C P NS:RMESG 0811C @ Get message table location (1:#libnum -> 2:[] 1:T / 1:F) 08128 P NS:RLINK 08128 @ Get link table (1:#libnum -> 2:HXStable 1:T / 1:F) 08143 P NS:RCONFIG 08143 @ get config code (1:#libnum -> 2:config code 1:T / 1:F) 0814F P NS:LIBID># 0814F @ Get LIB number (1:LIB_ID -> 2:#libnum 1:T / 1:F) 081B9 P NS:#>LIBID 081B9 @ Get library name (1:#libnum -> 1:ID 1:True / 1:False) 081D9 P NS:BAK>ID 081D9 @ Get Backup name (1:BAK -> 2:ID 1:True / 1:False) 081EE P NS:LIB># 081EE @ Get Library number (1:LIB -> 2:#libnum 1:True / 1:False) 08207 P NS:RPL>ID 08207 @ RPL to ID (1:seco -> 2:ID 1:True / 1:False) (seco is ROMPTR program) 0821F P NS:ROMPTR>ID 0821F @ ROMPTR Name to ID (1:XLIB -> 2:ID 1:True / 1:False) 082E3 P HP:RAM-WORDNAME 082E3 @ Get object name -> (1:variable contents -> 1:ID) 08309 P NS:GETUPDIR 08309 @ Recall parent directory (1:DIR -> 2:DIR 1:True / 1:False) 08326 P HP:LASTRAM-WORD 08326 @ Recall first entry from DIR (1:DIR -> 2:DIR/variable 1:True /1:False ) 08376 P HP:PREVRAM-WORD 08376 @ Recall next entry from DIR 08376 @ (1:Previous var contents -> 2:Next var contents 1:True / 1:False) 0846E mc NS:RHash 0846E @ (A.A = LID, B.A = CMD -> A.A=D0=HASHLOC) 085D3 P HP:REPLACE 085D3 @ STO (2:new contents 1:old contents -> 1:new) (Faster than usual 'STO') 08696 P HP:CREATE 08696 @ STO to current dir (2:Ob 1:ID) (Ob not primitive code object) 089D8 P weirdoPURGE 089D8 @ PURGE (2:var contents 1:T/F) (True = UserObj) 089FA P PURGEcontents 089FA @ PURGE (1:var contents) 08C27 :: HP:PURGE 08C27 @ Purge variable (1:ID) (Does no type check on contents) 08C4A :: CKPURGEcontents 08C4A @ Makes checks too (1:var contents) 08C68 :: STONEW 08C68 @ STO (2:Ob 1:ID) works if ID exists/doesn't exist 08C77 :: Replacecontents 08C77 @ Replace var contents (3:New contents 2:Any 1:Old contents) 08C90 :: MakeNEWcontentsSWAPDROP 08CCC P NS:ROMPTR> 08CCC @ Internal XLIB-> (1:XLIB Name -> 2:#library 1:#object) 08D08 P HP:CONTEXT! 08D08 @ Save to current Directory (1:DIR) 08D4A P NS:TMPCONTEXT! 08D4A @ Save Temp Directory 08D5A P HP:CONTEXT@ 08D5A @ Recall Current Directory 08D66 mc HP:SysPtr@ 08D66 @ Push @C.A 08D82 P NS:TMPCONTEXT@ 08D82 @ Recall Temp Directory 08D92 P HP:HOMEDIR 08D92 P HP:SYSCONTEXT 08D92 @ Set Current Directory to HOME Directory 08DC4 P NS:SYSTMPCONTEXT 08DC4 @ Set Temp Directory to HOME Directory 08DD4 P NS:HOMEDIR? 08DD4 @ == HOMEDIR ? (1:DIR -> 1:T/F) 08E0F :: CRDIR 08E0F @ Deep internal CRDIR (1:ID -> ) (Doesn't check if ID is already used) 08E14 # ##7FF 08E32 :: NS:LIBS{} 08E32 @ Return {} with all #libnums (internal & external) 08E50 :: >TCOMP&+#1 08E50 @ (2:{Obj1 Obj2..} 1:#n -> 2:{Obj1 Obj2... #n} 1:#n+1 08E73 P 2DUPRIGHTMATCH? 08E73 @ EQUAL (2:ID/#libnum 1:BAK/LIB -> 3:ID/# 2:BAK/LIB 1:T/F) 08F86 :: XEQPORT12STO 08F86 @ (3:LIB/BAK 2:#libnum/ID 1:#1/#2) 08FA9 :: PW!MPort?ROTOVER?ERR 08FA9 @ (2:Any 1:#Port) If port Present,Writeable,Not Merged 08FA9 @ then (-> 4:#size 3:#addr 2:Any 1:#addr) 08FA9 @ else SETPortNotAvailERR 08FEA :: XYZW>WXZLibUsed?ERR 08FEA @ Error (Ob in use) if BAK/LIB and ID/#libnum are the same Library 08FEA @ (4:ID/#libnum 3:Any3 2:BAK/LIB 1:Any1 -> 2:ID/#libnum 1:Any1) 09067 :: 09071 :: 0907B :: 0908F :: #7OVER=caseDROPSETTYPEERR 09107 P PORT12STO 09107 @ STO (5:ID 4:Ob 3:#addr 2:#nibbles+5 1:#port (#1/#2) ) 09269 :: XEQPORT0STOCK 09269 @ (2:LIB/BAK 1:#libnum/ID) (Checks there already isn't one) 09287 :: PORT12CK@ 09287 @ Recall LIB/BAK if allowed (2:ID/#libnum #1:port -> 2:LIB/BAK 1:T/1:F) 092E1 :: PORT0CK@ 092E1 @ (1:ID/#libnum -> 2:BAK/ID 1:T / 1:F ) 092F5 P HOMEEND# 092F5 @ Recalls end addr of HOME (= start of port0) ( -> 1:#addr) 09318 :: PORT@ 09318 @ (2:ID/#libnum 1:#0/#1/#2 -> 2:LIB 1:T / 1:F) 09327 :: DROPHOMEEND#TRUE 09327 @ (1:Any -> 2:#port0addr 1:T) 09340 :: PortAddr#P!M? 09340 @ Recall port #addr and (!merged? & present?) (1:#port -> 2:#addr 1:T/F) 093D1 :: PORTaddr@ 093D1 @ (2:ID/#libnum 1:#portaddr -> 2:BAK/LIB 1:T / 1:F) 093D1 @ Doesn't check write etc protections 09408 :: PORT12Purge 09408 @ Purge (2:ID/#libnum 1:#1,#2) (Checks usage etc first) 0941C :: LIBPURGEABLE? 0941C @ If purgeable, nothing, else SETObjInUseERR (1:LIB/BAK -> 1:LIB/BAK) 09453 :: PORT0PurgeCK 09453 @ Purge (1:ID/#libnum) (Checks usage etc first) 0948E P NS:BAK> 0948E @ (1:BAK -> 1:Contents) 094A4 P NS:HOME>BAK 094A4 @ Makes a BAK of HOME directory (which is purged) (1:ID -> 1:BAK) 09699 P NS:BAK>HOME 09699 @ Restores HOMEDIR from BAK (1:BAK ->) 0970A P REROOTHOME 0970A @ Done after BAK>HOME, no idea really what it does 09730 P ClrUser&Alrmptrs 09730 @ Clear ptrs to User Keys and Alarm List 09752 :: PgDIR 09752 @ PGDIR (1:DIR ->) Makes no reference checks (??) 09789 :: DUPTOTEMPOBFALSEROT 09789 @ (1:Ob -> 3:NewOb 2:F 1:Ob) 097A7 :: NS:TRUESWAP 097CF :: 097ED :: PURGEDIRContents 097ED @ PURGE DIRs contents (Empty dir remains) (1:DIR) 09806 :: 09838 :: 0985B :: RCLDIRVAR 0985B @ (2:DIR 1:{DIRID VARID } -> 2:Contents 1:T / 1:F) 098E7 :: PREVRAM-WORDDUPNOT 0992D :: DROPNDROPRDROPFALSE 09B73 mc HP:COMPCONFCRC 09B73 @ c=Crc(X042c-X044d),d0=X0428 0A00E mc HP:CKLBCRC 0A532 mc NS:SAFESKIPOB 0AAB2 :: HP:PORTSTATUS 0AAB2 @ 3Falses' 4ROLL GETPORTSTATUS 0AAB2 @ (1:#port -> 5:present? 4:writeable? 3:merged? 2:#size 1:#addr) 0AAD0 P GETPORTSTATUS 0AAD0 @ (4:F..2:F 1:#port -> 5:present? 4:writeable? 3:merged? 2:#size 1:addr) 0AB51 P NS:PORTEND 0AB51 @ Returns end of (used?) port (1:#port -> 1:#addr) 0AB82 P NS:PORTPNTR@ 0AB82 @ Returns BAK/LIB & nextaddr (1:#addr->3:BAK/LIB 2:#nextaddr 1:T / 1:F) 0AC2A :: STOPORT0 0AC2A @ Store to port0 (1:LIB/BAK) Does NEWOB & memory check 0AC66 # <36h> 0AC70 P STOPORT0NoneCK 0AC70 @ Store to port0 (1:LIB/BAK) Does no NEWOB nor memory check 0AD15 :: PORT0PURGE 0AD15 @ Purges regardless of usage etc (1:LIB/BAK) 0AD1A :: PREPPORTPurge 0AD1A @ :: BEGIN DUP 0AF8B NOT UNTIL ; (1:LIB/BAK) 0AD47 P PORT0Purge 0AD47 @ (1:LIB/BAK) conditions ??? 0ADEF :: PORT12PURGE 0ADEF @ Purges regardless of usage etc (3:#portsize 2:#portaddr 1:LIB/BAK) 0AE03 P PORT12Purge 0AE03 @ (3:#portsize 2:#portaddr 1:LIB/BAK) conditions??? 0AF8B P Called:0AD29 0B037 P NS:MERGE# 0B037 @ (1:#port) 0B4A9 :: Called:7FAB0 7FB19 0B4A9 @ (#port Meta) If no mem in port for meta obs, error, else 0B599 0B52B :: metaOSIZErev 0B52B @ (Meta #0 -> ateM 1:#OSIZE(meta) ) (Meta obj is reversed exc. for#) 0B52B @ Example: A B C * + #5 #0 -> + * C B A #5 #20F 0B599 :: Called:0B521 0B599 @ (Meta #port) 0B5A8 {} null{} 0B5F3 P Called:0B59E 0B69B P Called:0B5DA 0B7C6 P Called:none 0B9D4 :: NS:HiddenDir@ 0B9D4 @ Recall hidden Dir (2:DIR 1:T / 1:F) 0B9E8 P NS:?HiddenDir@ 0B9E8 @ (1:T/F -> 2:DIR 1:T / 1:F) (HiddenDir@ uses False, dunno others) 0BA7D P MkNullHiddenDIR 0BA7D @ Stores NULLDIR as hidden directory 0BB40 :: CONFIG000 0BB40 @ NS:MkNullHidden? 0BB40 @ Store NULLDIR as Hidden DIR if it doesn't exist 0BB40 @ Configuration code for library 000 (XLIB 0) 0BB68 P Called:0942B 2B8F8 0BB68 @ Also something about purging LIB/BAK (allowed?) from port0 0BBED :: HP:TrueTrue 0BC01 :: HP:failed 0BC01 :: NS:FalseTrue 0BC15 :: OVEREQUAL?DupIfTrue_!*trior_DROPGetNextTokenTRUETRUEFALSE 0BC24 :: DROPGetNextTokenTRUETRUE 0BC47 :: OVEREQUAL?DupTrue 0BC47 @ EQUAL test (2:Any2 1:Any1 -> (3:Any2 2:T 1:T)/(2:Any2 1:F) 0BC6F CD HP:!*trior 0BCCF :: HP:!*triand 0BCED CD 0BD31 :: ?!*triand 0BD31 @ (1:T -> T !*triand) (1:F -> T T !*triand) 0BD54 P HP:tok8cktrior 0BD54 P OVEREQUALcase 0BD60 P HP:tok8trior 0BDF6 :: DROPGetNextTokenCOLA 0BF74 mc HP:UnCover4K 0C147 mc HP:restoreiram 0C1EF P (1:Char) Called:0FE9E 0FF7F 0C288 P NS:DupPrefixChr? 0C288 @ Is Char a unit prefix? (1:Char -> 2:Char 1:T/F) 0C288 @ Prefixes D E G H K M P T a c d f h k m n p myy -> True 0C2CB P NS:DupSIUnit$? 0C2CB @ Is $ a SIUNIT (not kg) (1:$ -> 2:$ 1:T/F) 0C2CB @ True if :"m" "A" "s" "K" "cd" "mol" "?") 0C37A P Called:0FEF8 0C4EC P GETMSGTEXT 0C4EC @ Get message (2:#msg 1:msg tbl -> 2:msg text 1:True/ 1:False) 0C612 P NS:RclData 0C612 @ (1:#addr -> 2:Ob 1:T / 1:F) 0C612 @ If #70000-#7FFFF fetches from hidden ROM 0C737 mc ?? 0C740 mc ?? 0CA60 mc HP:ATTNchk 0CAD7 :: Called:none 0CAF5 P SomethigBotAlarms{} 0CB16 :: Called:0CAE6 0CB25 :: CLRALARMS 0CB25 @ Stores NULL{} into ID_ALARMS 0CB48 :: Called:0CAEB 0CB84 P Called:0CB70 0CBA2 P Called:0CB57 0CB6B 0CB7A 0CBAE P NS:SETNoAlarmERR 0CBAE @ Error: Nonexistent Alarm 0CBB7 @ MC: Error: Invalid Date 0CBC4 @ MC: Error: Invalid Time 0CBD1 @ MC: Error: Invalid Repeat 0CBDE @ MC: Error: Nonexistent Alarm 0CBE3 @ MC: invoke error code in C.X 0CBEF @ MC: P=0, SETHEX, restore registers, clear carry 0CBFA P HP:TOD 0CBFA @ Internal TIME (-> 1:%time) 0CC0E P HP:DATE 0CC0E @ Internal DATE (-> 1:%date) 0CC39 P HP:DDAYS 0CC39 @ Internal DDAYS (2:%date 1:%date -> 1:%days) 0CC5B :: DATE+ 0CC5B @ Internal DATE+ (2:%date 1:%days -> 1:%date') 0CC60 # <1h> 0CC79 P DATE+i 0CC79 @ Internal DATE+ (2:%date 1:% (FP = 0!!) -> 1:%date') 0CCE2 @ MC XFER: Error: Invalid Date 0CD2B :: >DATE 0CD2B @ Internal ->DATE (Does CLKADJUSTED) (1:% ->) 0CD3F :: CLKADJ 0CD3F @ Internal CLKADJ (Does CLKADJUSTED) (1:% ->) 0CD53 :: >TIME 0CD53 @ Internal ->TIME (Does CLKADJUSTED) (1:% ->) 0CD67 P %>DATE 0CD67 @ Internal ->DATE (1:%) 0CDA6 P %>TIME 0CDA6 @ Internal ->TIME (1:%) 0CDD0 P A/PMNotAdj 0CDD0 @ Internal A/PM (Doesn't do CLKADJUSTED) 0CE0F P %CLKADJ 0CE0F @ Internal CLKADJ (1:%) 0CEB9 P Called:199FA 0CED9 P Called:048E5 0CEEA P Called:048CC 0DCE5 0CF15 @ MC XFER: save D0,D1,B,D (uses C,D0), clear carry 0CF1C @ MC XFER: allocate $ 0CF5B P TICKS>$weekday 0CF5B @ date to day-of-week (1:HXS -> 1:$) 0CFD9 P HP:Date>t$ 0CFD9 @ date to $date (1:% -> 1:$) 0D06A P HP:TOD>t$ 0D06A @ time to $time (1:% -> 1:$) 0D143 P TICKS>%TIME 0D143 @ (1:HXS -> %) 0D156 P TICKS>%DATE 0D156 @ (1:HXS -> %) 0D169 P TICKS>%REP 0D169 @ (1:HXS -> 1:%) 0D18A P NS:WSLOGN 0D18A @ Deep internal WSLOG (1:#1-#4 -> 1:$) 0D2A3 :: NS:WSLOG 0D2A3 @ Internal WSLOG (WSLOG# with #1-#4 -> $ $ $ $) 0D2D5 :: NS:ClkMode? 0D2D5 @ if Clock Display active (-40) -> True/False 0D2E9 @ MC XFER: let C(13) = TICKS 0D2F0 :: %DATE>$weekday 0D2F0 @ date to day-of-week (1:% -> 1:$) 0D304 :: HP:TIMESTR 0D304 @ Internal TSTR (2:%date 1:%time -> 1:$) 0D318 @ ' ' 0x20 (Character) 0D333 @ ' ' 0x20 (Character) 0D349 :: TICKSSTR 0D349 @ Internal TSTR (1:TICKS -> 1:$) 0D4AD mc HP:DAY# 0D5E5 mc HP:ASRW5 0D5F6 mc HP:ASLW5 0D607 mc HP:CSRW5 0D618 mc HP:CSLW5 0D62F mc HP:DCHXW 0D6D8 mc HP:FLOAT 0D744 mc HP:Day>Date 0D809 mc HP:getBPOFF 0D8AE mc NS:mpop1% 0D92C mc HP:POPDATE% 0D92C @ c=yyyymmdd (1:%date) 0D9C7 mc NS:CKTIME 0DB3A mc HP:YMD>Ticks 0DB51 mc HP:dowutil 0DB91 mc HP:HXDCW 0DC0F P buscb 0DC1C P buscc 0DC28 P buscd 0DC3B :: 0DC6D :: 0DC90 :: 0DCDB :: 0DD26 :: 0DD4E :: 0DD67 :: 0DDA8 :: NS:ACKALL 0DDA8 @ Internal ACKALL 0DDC1 :: NS:ACK 0DDC1 @ Internal ACK (-> 1:T/F) 0DE0C :: 0DE25 :: 0DE61 :: 0DEAC :: STOAlarm{} 0DEAC @ Put alarm in alarmlist (2:{alarms} 1:alarm -> 2:#n 1:{}) 0DECF :: STOAlarms{} 0DECF @ (1:NULL{} clears alarms etc) 0DEF7 :: StoHiddenAlarms 0DEF7 @ Store into 'Alarms' (1:Any) 0DF01 g' NS:ID_Alarms 0DF1E :: RCLALARMS 0DF1E @ recall 'Alarms' ->(2:contents,1:True/False) 0DF28 g' ID_Alarms 0DF45 P *alarm=0 0DF66 :: {}2Not$? 0DF66 @ list element 2 is not a $ -> True/False 0DF84 :: 0DFB1 :: 0DFC0 :: 0DFD9 :: 0E006 :: NS:SHOWTICKSTIME 0E006 @ Displays time on HBUFF on row #8 (1:TICKS (HXS) ) 0E029 :: NS:SHOW$22 0E029 @ Displays $ (coerced to 22) on HBUFF corner (1:$ ) 0E047 :: NS:Save16 0E047 @ Save top 16 pixel rows (-> 1:Grob) 0E05B :: NS:Restore16 0E047 @ Restore top 16 pixel rows (1:Grob) 0E06F :: HP:Clr16 0E083 :: HP:Clr8 0E097 :: HP:Clr8-15 0E0AB :: HP:TOP16 0E0AB @ Get HBUFF and SUBGROB coords for Statusarea 0E0D3 :: HP:TOP8 0E0D3 @ Get HBUFF and SUBGROB coords for Statusline1 0E0FB :: HP:Rows8-15 0E0FB @ Get HBUFF and SUBGROB coords for Statusline2 0E128 :: HP:HBUFF_X_Y 0E128 @ Get HBUFF and WINDOW coords (#0 #0 unless scrolled) 0E141 :: DUPRCLALARM&EVAL3rd 0E164 :: CLKADJUSTED 0E164 @ Called after adjusting clock 0E17D :: 0E19B :: 0E1B9 P 0E1D8 :: INTALARM>EXT 0E1D8 @ Convert internal alarm into external alarm (1:{} -> 1:{}) 0E219 P Sto*alarm 0E235 P RCLID_Alarms 0E235 @ Recall internal 'Alarms' list 0E248 P SetLastAlarm# 0E248 @ Set_706B8 0E26D P GetLastAlarm# 0E26D @ Get_706B8 0E27D P Get_706BD Called:0DDE4 0EB09 0E2A1 P Called:0DFA2 0E2B9 P Called:0DFF2 0E2D1 P Called:0DF93 0DFDE 0E302 P Called:0DE8E 0E3A6 P Called:48B79 0E3DF :: RCLALARM 0E3DF @ Internal RCLALARM (1:%alarm number -> 1:{}) (Error if doesn't exist) 0E402 :: RCLALARMN 0E402 @ Recall N'th Alarm (1:#) -> (Alarm/True,False) 0E41B P Called:0DCE0 0E43C P Called:0DD8A 0E461 :: NS:INSERTN{} 0E461 @ Insert object to lists nth position (3:{} 2:Ob 1:#n -> 1:{}) 0E475 {} LAM{M_N} 0E475 @ {LAM_M LAM_N} 0E47A l' NS:LAM_M 0E483 l' NS:LAM_N 0E4A0 l' LAM_M 0E4AE l' LAM_N 0E4C1 l' LAM_M 0E4DE :: NS:REMOVEN{} 0E4DE @ Remove nth object from list (2:{} 1:#n -> {} ) 0E510 :: STOALARM% 0E510 @ Internal STOALARM (1:% ->) 0E524 $ null$ 0E52E % %0 0E54D :: STOALARM{} 0E54D @ Internal STOALARM (1:{} ->) 0E58E :: STOALARMNORPT 0E58E @ (3:%date 2:%time 1:action) 0E593 % %0 0E5C6 $ null$ 0E5D0 % %0 0E5EF :: STOALARMRPT 0E5EF @ (4:%date 3:%time 2:action 1:%rpt) 0E630 P NS:DATEOK? 0E630 @ Checks if stk1 is a valid date (Errors if not) 0E66A P NS:TIMEOK? 0E66A @ Checks if stk1 is a valid time (Errors if not) 0E693 P NS:RPTOK? 0E693 @ Checks if stk1 is a valid repeat factor (Errors if not) 0E6D4 :: %ABSIPValidRpt? 0E6D4 @ ABS IP and check if TOS is valid repeat factor (Error if not) (1:%) 0E6ED :: STOALARMRPT2 0E6ED @ (4:%date 3:%time 2:action 1:%rpt) (Compare against 0E5EF later) 0E724 :: DELALARM 0E724 @ Internal DELALARM (1:%alarm) (Error if doesn't exist) 0E76F :: DELALARM# 0E76F @ Internal DELALARM (1:#alarm) 0E78D :: PurgeAlarms 0E78D @ Stores NULL{} in Alarms, Does RescanAlarms & CLKADJUSTED 0E7B0 P Called:none 0E7BB P Called:0DF89 0DFE8 0E7CE P Called:048AE 0E7F7 P Called:0DC9A 0DD2B 0DDF3 0E802 P Called:0DC95 0DD12 0E80D P Called:0DFC5 0E820 P Called:07BA6 0DC9F 0DD17 0DDFD 0DE89 0F433 0F4C9 0F519 0E82B P Called:0DE84 0E836 P Called:0DD30 0DDF8 0DE7F 0E925 P RclPastAlarm 0E925 @ Recall passed alarm (1:{alarms} -> 2:{alarm} 1:T / 1:F) 0E9B2 P RclNextAlarm 0E9B2 @ Recall next alarm (1:{alarms} -> 2:{alarm} 1:T / 1:F) 0EABE :: RclALARM#num 0EABE @ Get alarm number (2:Alarm 1:{alarms} -> 1:#) 0EAD7 :: FINDALARM% 0EAD7 @ Internal FINDALARM (1:%alarm) 0EAF0 :: 0EB31 :: FINDALARM{} 0EB31 @ Internal FINDALARM (1:{}) 0EB6D :: CLKTICKSFINDALARM 0EB81 :: HP:CLKTICKS 0EB81 :: HP:SysTime 0EB81 @ Internal TICKS (->1:HXS) 0EB8B CD HXSTICKS 0EB8B @ Subroutine fo TICKS (1:HXS (len=13) -> 1:HXSTICKS) 0EBA8 :: LIMITALARM# 0EBA8 @ Returns %alarm (%0 if alarms doesn't exist) (1:#alarm -> 1:%alarm) 0EBD5 :: FINDALARM 0EBD5 @ (1:TICKS (HXS) -> 1:#alarm) (len{alarms} if not found) 0EBEE :: AnyAlarms? 0EBEE @ if 'Alarms' list is not empty -> True/False 0EC07 P FindAlarm 0EC07 @ (2:{alarms} 1:TICKS (HXS) -> 1:#alarm) 0EC9D P Called:0DD1C 0ED78 P Called:0D95C 0DFCA 421E5 0ED95 P Called:0DFB6 0EDA5 :: %16HXS 0EDA5 @ Create HXS 0 (16 nibbles) 0EDB9 :: %13HXS 0EDB9 @ create HXS 0 (13 nibbles) 0EDCD :: %24HXS 0EDCD @ create HXS 0 (24 nibbles) 0EDE1 :: NS:MAKEHXS 0EDE1 @ allocate HXS (1:#nibbles -> 1:HXS 0) 0EE26 P HXSDATE+HXSTIME 0EE26 @ (2:HXSdate 1:HXStime) 0EE50 :: %DATE>TICKS 0EE50 @ date to ticks (1:% -> 1:HXS) 0EE5F @ Code: (2:HXS 0 (13 nibbles) 1:%time -> 1:HXS (ticks) 0EE83 :: %TIME>TICKS 0EE83 @ time to ticks (1:% -> 1:HXS) 0EE92 @ Code: (2:HXS 0 (13 nibbles) 1:%date -> 1:HXS (ticks) 0EEB0 @ MC: store R0(13) into existing stk1 HXS(13) and continue RPL 0EED0 :: %RPT>HXS 0EED0 @ (1:% -> 1:HXS) 0EEDF CD DEEP%RPT>HXS 0EEDF @ (2:HXS0(Ah) 1:% -> 1:HXS) 0EF45 :: EXTALARM>INT 0EF45 @ (4:action 3:%date 2:%time 1:%rpt -> {}) 0EF72 CD %RPT+HXSDATETIME 0EF72 @ (3:HXS0(18h) 2:%rpt 1:HXSdatetime) 0EFEE % NS:%TICKSsec 0EFEE @ 8192 Ticks per second 0F003 % NS:%TICKSmin 0F003 @ 491520 Ticks per minute 0F018 % NS:%TICKShour 0F018 @ 29491200 Ticks per hour 0F02D % NS:%TICKSday 0F02D @ 707788800 Ticks per day 0F042 % NS:%TICKSweek 0F042 @ 4954521600 Ticks per week 0F075 :: 1$>1UM? 0F075 @ Is $ one Unit (1:$ -> 2:Unit 1:T / 1:F) 0F075 @ Allowed are all units with prefixes, no combinations otherwise 0F0ED :: %$>UMTRUE 0F0ED @ (2:% 1:$ -> 2:Un 1:True) 0F106 :: 0F124 :: 0F138 CD 0F164 :: 0F1A5 :: 0F1C8 :: NS:NOTTYPEIDNT? 0F1FF :: NS:2DRPSWPDRPTru 0F1FF :: NS:XYZW>YT 0F218 :: HP:UNIT>$ 0F218 @ (1:Unit -> 1:$) 0F26D :: 0F290 :: 0F2B8 :: 0F2DB :: 0F2FE :: 0F33A :: HP:UM>U 0F33A @ Internal UNIT (2:% 1:Unit -> 1:Unit) (Replaces number part of Unit) 0F34E :: HP:UMU> 0F34E @ Internal OBJ-> (1:Unit -> 2:% 1:Unit) (Unit is normalized) 0F371 :: HP:UMCONV 0F371 @ Internal CONVERT Unit1 to units of Unit2 0F371 @ (2:Unit1/% 1:Unit2/% -> 1:Unit) 0F3B2 :: 0F3E4 :: HP:puretemp? 0F3E4 @ Unit temperature^1 ? (1:HXS unitmask -> 1:T/F) 0F407 :: 0F41B :: HP:TempConv 0F41B @ Temperature conv (7:Dest unit 6-3:%%factors&%%values 2&1:TempMASK) 0F47F :: 0F493 :: %%/+%%32 0F493 @ << %%/ %%32 %%+ >> 0F4C5 :: 0F4D4 :: SWAP-%%32%%* 0F4D4 @ << SWAP %%32 %%- %%* >> 0F510 :: 0F547 %% NS:%%32 0F561 :: CONVERTUVAL 0F561 @ Convert and then strip units (Ex: 2:1_cm 1:1_m -> 2:100 1:1) 0F584 :: HP:UM=? 0F584 @ Internal == (2:%/Unit,1:%/Unit -> 1:%) 0F598 :: HP:UM#? 0F598 @ Internal <> (2:%/Unit,1:%/Unit) 0F5AC :: HP:UM? 0F5C0 @ Internal > (2:%/Unit,1:%/Unit) 0F5D4 :: HP:UM<=? 0F5D4 @ Internal <= (2:%/Unit,1:%/Unit) 0F5E8 :: HP:UM>=? 0F5E8 @ Internal >= (2:%/Unit,1:%/Unit) 0F5FC :: HP:UMABS 0F5FC @ Internal ABS (1:Unit -> 1:Unit) 0F615 :: HP:UMCHS 0F615 @ Internal NEG (1:Unit) 0F62E :: HP:UMSIN 0F62E @ Internal SIN (1:Unit -> 1:Unit) 0F633 :: 0F660 :: HP:UMCOS 0F660 @ Internal COS (1:Unit -> 1:Unit) 0F674 :: HP:UMTAN 0F674 @ Internal TAN (1:Unit -> 1:Unit) 0F688 %% HP:%%2PI 0F6A2 :: HP:UM+ 0F6A2 @ Internal + (2:%/Unit 1:%/Unit) 0F6A7 :: 0F6D4 :: 0F715 :: 0F74C :: 0F774 :: HP:UM- 0F774 @ Internal - (2:%/Unit 1:%/Unit -> 1:Unit) 0F792 :: HP:UM* 0F792 @ Internal * (2:%/Unit 1:%/Unit -> 1:Unit) 0F7B0 :: 0F823 :: HP:UM/ 0F823 @ Internal / (2:%/Unit 1:%/Unit -> 1:Unit) 0F841 :: NS:UMINV 0F841 @ Internal INV (1:Unit -> 1:Unit) 0F878 :: NS:UM^ 0F878 @ Internal ^ (2:%/Unit 1:%/Unit -> 1:Unit) 0F887 :: 0F8FA :: HP:UMXROOT 0F8FA @ Internal XROOT (2:%/Unit 1:%/Unit -> 1:Unit) 0F913 :: HP:UMSQ 0F913 @ Internal SQ (1:Unit -> 1:Unit) 0F92C :: HP:UMSQRT 0F92C @ Internal sqrt (1:Unit -> 1:Unit) 0F945 :: HP:UMSI 0F945 @ Internal UBASE (1:Unit -> 1:Unit) 0FA53 {} NS:SIUNITS{} 0FA53 @ { 1_kg 1_m 1_A 1_s 1_K 1_cd 1_mol 1_? } 0FA58 un NS:1_kg 0FA62 @ 'k' 0x6B (Character) 0FA69 $ HP:tok_g 0FA84 un NS:1_m 0FA8E $ HP:tok_m 0FAA4 un NS:1_A 0FAAE $ NS:tok_A 0FAC4 un NS:1_s 0FACE $ HP:tok_s 0FAE4 un NS:1_K 0FAEE $ NS:tok_K 0FB04 un NS:1_cd 0FB0E $ "cd" 0FB26 un NS:1_mol 0FB30 $ "mol" 0FB4A un NS:1_? 0FB54 $ "?" 0FB6F :: HP:UMMAX 0FB6F @ Internal MAX (2:%/Unit 1:%/Unit -> 1:%/Unit) 0FB8D :: HP:UMMIN 0FB8D @ Internal MIN (2:%/Unit 1:%/Unit -> 1:%/Unit) 0FBAB :: HP:UM% 0FBAB @ Internal % (2:Unit 1:% -> 1:%) 0FBEC :: 0FC3C :: HP:UM%CH 0FC3C @ Internal %CH (2:%/Unit 1:%/Unit -> 1:%) 0FC41 :: 0FC82 :: 0FC87 :: 0FCCD :: HP:UM%T 0FCCD @ Internal %T (2:%/Unit 1:%/Unit -> 1:%) 0FCE6 :: HP:UMSIGN 0FCE6 @ Internal SIGN (1:Unit -> 1:%) 0FCFA :: HP:UMIP 0FCFA @ Internal IP (1:Unit -> 1:Unit) 0FD0E :: HP:UMFP 0FD0E @ Internal FP (1:Unit -> 1:Unit) 0FD22 :: HP:UMFLOOR 0FD22 @ Internal FLOOR (1:Unit -> 1:Unit) 0FD36 :: HP:UMCEIL 0FD36 @ Internal CEIL (1:Unit -> 1:Unit) 0FD4A :: NS:UMOPER 0FD4A @ Does 'REVAL on units real part, then makes it a unit again (1:Unit) 0FD68 :: NS:UMRND 0FD68 @ Internal RND (2:Unit 1:% -> 1:Unit) 0FD8B :: HP:UMTRC 0FD8B @ Internal TRNC (2:Unit 1:% -> 1:Unit) 0FDAE :: 0FDC2 :: 0FDE5 :: UnitSplit>UnitMASK 0FDE5 @ (1:Unit -> 4:Unit(same) 3:%%convfactor 2:%%sivalue 1:HXS unitmask) 0FDE5 @ HXS:(NNh=_kg^NN NN00h=_m^NN NN0000h=_A^NN .._s .._K .._mol .._?) 0FE08 :: 0FE12 :: 0FE44 :: HP:U>NCQ 0FE44 @ Returns number,conversion factor and hex quantity string 0FE44 @ (1:Unit -> 3:%%n 2:%%cf 1:QHXS) 0FE53 :: 0FE8F :: 0FF25 :: SWAPDROP%>%%HXS_0(16) 0FF25 @ << SWAPDROP %>%% HXS_0(16) >> 0FF48 :: 0FFAC :: %>%%*,HXS_0(16) 0FFAC @ << %>%% %%* HXS_0(16) >> 0FFF2 :: 10029 :: NS:4DROPTRUE 1003D :: NS:DUPU>nbr 1003D @ Dup, the U>nbr (UVAL) 10047 :: HP:U>nbr 10047 @ If Unit, then CARCOMP (UVAL), else nothing 10065 :: HP:Unbr>U 10065 @ (2:%2_Unit 1:%1 -> 1:%1_Unit) else (SWAPDROP) 1008D :: UNIT> 1008D @ Explodes unit or % (without % ) 100B5 :: UNIT> 100B5 @ Explodes unit (without %) 100D3 :: >UNIT 100D3 @ Meta unit to unit 10105 :: 10141 P 10199 :: 101D0 :: 10207 :: 10248 :: NULL$SWAPROT#1+ 10261 :: SWAPDUPROLLSWAPDUPROLLDROP#1- 10289 :: %1ROT#1+ROTFALSE 102B1 :: XYZW>Z#3- 102DE :: DROP1-DUPROLLdREALNcaseFALSE_DROP1-DUPROLLDROP1-DUPROLLFALSE 10301 :: NS:DROP1-DUPROLL 10315 :: DROP1-DUPROLLFALSE 10329 :: 10342 :: 10379 :: 1039C :: 4DROP#3+TRUE 1045A :: DUPPICKOVERPICK3PICKPICK 1047D :: 10496 :: 104D7 :: 105EF :: 10685 :: 106E4 :: 10720 :: um*SWAP#1+ 10743 :: 10766 :: DROP#1-DUPROLLSWAP 1077A :: SWAPDUPROLLSWAPumPSWAP#1+ 107A7 :: NS:#1-TRUE 107D4 :: NS:DUPROLLDROP 107ED :: 10824 :: #+um*SWAP#1+ 10851 :: um*SWAP#2+ 10879 :: 108A1 :: 108D3 :: 108FB :: 10914 :: NDROPZERO1GETLAM?SIZEERR 10964 :: 1098C :: 109E6 :: 10A45 :: 10A59 :: 10AA4 :: 10ADB :: NS:orot 10ADB @ (Ob Meta1 Meta2 -> Meta1 Meta2 Ob) 10AF9 :: NS:ounrot 10AF9 @ (Meta1 Meta2 Ob -> Ob Meta1 Meta2) 10B1C P 10B5E {} HP:um* 10B5E @ * (unit operator) 10B68 {} HP:um/ 10B68 @ / (unit operator) 10B72 {} HP:um^ 10B72 @ ^ (unit operator) 10B7C {} HP:umP 10B7C @ Character prefix (unit operator) 10B86 {} HP:umEND 10B86 @ _ (unit operator) 10B90 :: 10B9F CD 10BD0 :: 10BE4 CD 10C15 :: 10C42 :: COERCE:: 10C4C CD 10CBF :: 10CD8 :: #100SWAP#-UNCOERCE%CHS 10D14 :: %CHSCOERCE#100SWAP#- 10D4B P 10D77 :: UNROT%%*SWAPTOTEMPOB 10D90 :: NS:ROT%>%%UNROT 10E34 h# NullUnitMask 10E34 @ HXS 0 (16 nybbles for Unit calculations) 10E4E h# TempMASK 10E4E @ Temperature^1 mask (100000000h) (16 nybbles) 10E68 %% HP:cfF 10E68 @ 5/9 (C <-> F conversion) 10E82 %% HP:cfC 10E82 @ 1 10E9C %% NS:%%KZERO 10E9C @ 273.15 (0C in Kelvins) 10EB6 %% NS:%%RZERO 10EB6 @ 459.67 (0F in R) 10ED0 %% %%0.0795774715459477 10EFA P 10F40 mc NS:GPErrjmpC 10F4D @ MC XFER: invoke error code in A.A 10F54 P NS:SETNullChrERR 10F54 @ Error: Can't Edit Null Char. 10F64 P NS:SETInvFuncERR 10F64 @ Error: Invalid User Function 10F74 P NS:SETNoEQERR 10F74 @ Error: No Current Equation 10F80 mc HP:ErrjmpC 10F80 @ Invoke error code in C.A 10F86 P NS:SETSyntaxERR 10F86 @ Error: Invalid Syntax 10F96 P NS:SETPPARERR 10F96 @ Error: Invalid PPAR 10FA6 P NS:SETNon%ERR 10FA6 @ Error: Non-Real Result 10FB6 P NS:SETIsolateERR 10FB6 @ Error: Unable to Isolate 10FC6 P NS:SETHALTERR 10FC6 @ Error: HALT Not Allowed 10FD6 P KILL 10FD6 @ Internal KILL 10FE6 P NS:SETLastStkERR 10FE6 @ Error: LAST STACK Disabled 10FF6 P NS:SETLastCmdERR 10FF6 @ Error: LAST CMD Disabled 11006 P NS:SETArgNumERR 11006 @ Error: Wrong Argument Count 11016 P HP:SETCIRCERR 11016 @ Error: Circular Reference 11026 P NS:SETDirArgERR 11026 @ Error: Directory Not Allowed 11036 P NS:SETEmpDirERR 11036 @ Error: Non-Empty Directory 11046 P NS:SETInvDefERR 11046 @ Error: Invalid Definition 11056 P NS:SETMissLibERR 11056 @ Error: Missing Library 11066 P NS:SETIdConflERR 11066 @ Error: Name Conflict 11076 P CONT 11076 @ Internal CONT 11086 :: CONFIG001 11086 @ Configuration code for library 001 (XLIB 1) 110DB :: ClrUserKeys 110DB @ Clear UserKeys and UserKeys.CRC 110EF P Called:2BE5D 3AA91 11231 $ "1E" 1123F P Called:3AC4E 112EC P NS:ClrLastArgs 112EC @ Clear Last Arguments (Executed if LASTARG flag is cleared) 11320 P NS:ClrPrgExecAnn 1132D P HP:SetAlphaAnn 1133A P HP:ClrAlphaAnn 11347 P HP:SetRightAnn 11354 P HP:ClrRightAnn 11361 P HP:SetLeftAnn 1136E P HP:ClrLeftAnn 11387 P Called:0665F 2D368 113C2 P GetStkSize 113C2 @ get Stack Size (nibbles) as # 113D2 P StoStkSize 113E2 P StoCmdLine# 113F2 P GetCmdLine# 113F2 @ Gets first line of the cmdline displayed ( -> 1:#) (Get_706F6) 11402 P IncCmdLine# 11412 P DecCmdLine# 11422 P Inc_706EC Called:42B98 11432 P Get_706E7 Called:0387D 07A8D 08258 3A09E 3A175 4258E 4270F 4274B 427B9 427C8 4291C 11442 P Clr_706E7 Called:425CA 428D6 42B93 11452 P Dec_706E7 Called:425A2 11462 P Inc_706E7 Called:42633 42656 11472 P Called:178E7 17900 17932 11495 P Called:172E8 178F1 1790A 114B3 @ MC: push @C.A as # 114C9 @ MC: save stk1 (#) into @C.A 11501 P NS:DelayedA? 11501 @ Delayed alpha lock on? 11511 P NS:PrgmEntry? 11511 @ if PRG mode -> True/False 11533 P HP:SetPrgmEntry 11543 P SetDelayedA 1155C P NS:ClrPrgmEntry 1156C P NS:ClrDelayedA 11585 @ MC: continue RPL 1158F P HP:MAKEGROB 1158F @ Internal BLANK (2:#x 1:#y -> 1:Grob) 115B3 mc HP:makegrob 1165A mc HP:w->W 1165A @ Compute grob nibble 11679 P HP:GROB! 11679 @ Store grob1 into grob2 (4:Grob1 3:Grob2 2:#col 1:#row) 1192F P HP:SUBGROB 1192F @ (5:Grob 4:#x1 3:#y1 2:#x2 1:#y2 -> 1:SubGrob) 11A6D P HP:GROB!ZERO 11A6D @ Clear a rectangular region (5:Grob 4:#x1 3:#y1 2:#x2 1:#y2 -> 1:Grob') 11CCE P Called:13B5B 11CF3 P HP:$>BIGGROB 11CF3 @ Make grob in 5x9 font (1:$ -> 1:Grob) 11D00 P HP:$>GROB 11D00 @ Make grob in 5x7 font (1:$ -> 1:Grob) 11D8F mc HP:$5x7 11F2E mc Charaddr 11F2E @ Gets address in character-rom 11F2E @ ( a=char, sb clr = 5x8 font, sb set = 6x10 font -> c=addr) 11F80 P HP:$>grob 11F80 @ Make grob in 3x7 font (1:$ -> 1:Grob) 1200C P HP:RIGHT$3x6 1200C @ Make grob of #n rightmost rows (height 6) (2:$ 1:#n -> 2:T/F 1:Grob) 1215E P HP:CENTER$3x5 1215E @ Place $ in grob (5:Grob 4:#x 3:#y 2:$ 1:#?? -> 1:Grob) 122FF P HP:INVGROB 122FF @ Inverts grob (1:Grob -> 1:Grob') 123C8 P HP:BIGDISPN 123C8 @ Disp in 5x9 font at #row (2:$ 1:#row) (Truncates or fills to 22 chars) 123E5 P HP:BIGDISPROW4 123E5 @ Disp in 5x9 font at row 4 (1:$) (Truncates or fills to 22 chars) 123F5 P HP:BIGDISPROW3 123F5 @ Disp in 5x9 font at row 3 (1:$) (Truncates or fills to 22 chars) 12405 P HP:BIGDISPROW2 12405 @ Disp in 5x9 font at row 2 (1:$) (Truncates or fills to 22 chars) 12415 P HP:BIGDISPROW1 12415 @ Disp in 5x9 font at row 1 (1:$) (Truncates or fills to 22 chars) 12429 P HP:DISPN 12429 @ Disp in 5x7 font at #row (2:$ 1:#row) (Truncates or fills to 22 chars) 1245B P HP:DISPROW1 1245B P HP:DISP@01 1245B @ Disp in 5x7 font at row 1 (1:$) (Truncates or fills to 22 chars) 1246B P HP:DISPROW2 1246B P HP:DISP@09 1246B @ Disp in 5x7 font at row 2 (1:$) (Truncates or fills to 22 chars) 1247B P HP:DISPROW3 1247B P HP:DISP@17 1247B @ Disp in 5x7 font at row 3 (1:$) (Truncates or fills to 22 chars) 1248B P HP:DISPROW4 1248B P HP:DISP@25 1248B @ Disp in 5x7 font at row 4 (1:$) (Truncates or fills to 22 chars) 1249B P HP:DISPROW5 1249B @ Disp in 5x7 font at row 5 (1:$) (Truncates or fills to 22 chars) 124AB P HP:DISPROW6 124AB @ Disp in 5x7 font at row 6 (1:$) (Truncates or fills to 22 chars) 124BB P HP:DISPROW7 124BB @ Disp in 5x7 font at row 7 (1:$) (Truncates or fills to 22 chars) 124CB P DISPROW8 124CB @ Disp in 5x7 font at row 8 (1:$) (Truncates or fills to 22 chars) 12635 P HP:HARDBUFF 12635 @ Get current display (-> 1:Grob) 12645 P HP:HARDBUFF2 12645 @ Get menu grob (-> 1:Grob) 12655 P HP:ABUFF 12655 @ Get stack grob (-> 1:Grob) 12665 P HP:GBUFF 12665 @ Get graphic grob (PICT) (-> 1:Grob) 12690 P Called:none 126DF :: HP:BLANKIT 126DF @ Clear #rows starting at #starrow in HARDBUFF (2:#startrow 1:#rows ->) 1270C :: HP:DISPSTATUS2 1270C @ Display at status area lines (1:$ ->) (Only 1st newline changes line) 12725 :: HP:DISPROW1* 12725 @ Display at row1 in HARDBUFF window (1:$ ->) 12748 :: HP:DISPROW2* 12748 @ Display at row2 in HARDBUFF window (1:$ ->) 12770 :: HP:COERCE$22 12770 @ If len($) > 22 chars, truncates it to 21 chars & "..." (1:$ -> 1:$') 127A7 :: HP:SEP$NL 127A7 @ Split $ at first (1:$ -> 2:$end 1:$start / 2:"" 1:$) 127CA :: NS:DROPDUPLEN$1+ 12815 :: $>grobDUPg2GROB! 12815 @ Sto $ in grob2 (4:grob2 3:#row 2:#col 1:$ -> 2:grob2 1:grob') 12829 :: DUPg2GROB! 12829 @ Sto grob1 in grob2 (4:grob2 3:#row 2:#col 1:grob1 -> 2:grob2 1:grob') 12847 P Called:01453 3A206 128B0 :: HP:XYGROBDISP 128B0 @ Stores grob into HARDBUFF (3:#row 2:#col 1:Grob ->) 128B0 @ Enlarges HARDBUFF if grob exceeds bounds 128BA CD NS:CKYHARDBUFF 128BA @ Enlarges HARDBUFF ydim if storing grob would exceed bounds 128BA @ (3:Grob 2:#row 1:#col -> 3:Grob 2:#row 1:#col) 128E3 CD NS:CKXHARDBUFF 128E3 @ Enlarges HARDBUFF xdim if storing grob would exceed bounds 128E3 @ (3:Grob 2:#row 1:#col -> 3:Grob 2:#row 1:#col) 12964 :: NS:HEIGHTENHBUFF 12964 @ Heightens HARDBUFF with #rows (1:#rows ->) 1297D :: NS:BROADENHBUFF 1297D @ Broadens HARDBUFF with #cols (1:#cols ->) 12996 P Called:39C11 43B4E 12996 @ (...? 1:#) ?? (HARDBUFF operation) 12A0D P Called:48184 12A0D @ (?? -> ??.. 1:$) (HARDBUFF operation) 12A4A P Called:43A81 12A4A @ (..? 1:# ->) (HARDBUFF operation) 12AF6 P Called:480F8 12AF6 @ (..? -> ..? 1:$) (HARDBUFF operation) 12B58 :: NS:HBUFFDIMw 12B58 @ Get HARDBUFF width (-> 1:#width) 12B6C :: NS:HBUFFDIMh 12B6C @ Get HARDBUFF height (-> 1:#height) 12B85 :: HP:FlashMsg 12B85 @ Flashes message on status area (1:$ ->) (Doesn't beep) 12BB7 P NS:BROADENGROB 12BB7 @ Broadens graphic or text GROB with #columns (2:GDISP or ABUFF 1:#col) 12DD1 P HP:HEIGHTENGROB 12DD1 @ Heigtens graphic or text GROB with #rows (2:GDISP or ABUFF 1:rows) 12E89 P NS:GROB>GDISPon 12E89 @ Stores grob in GBUFF (1:grob ->) (Scroll mode on) 12F0A P NS:GROB>GDISPoff 12F0A @ Stores grob in GBUFF (1:grob ->) (Scroll mode off) 12F94 :: HP:GROB>GDISP 12F94 @ Stores grob to GBUFF (1:grob ->) 13043 P KILLSOMEGROB 13043 @ Same as KILLGDISP, but with @70560 instead of @70565 (GDISP) 13061 P HP:KILLGDISP 13061 @ Purges PICT 130AC :: HP:RECLAIMDISP 130AC @ Choose TEXT grob, clear text display, default size (131 56) 130CA P NS:RSZABUFF 130CA @ Resize ABUFF to std size (131x56) 13135 P HP:TOGDISP 13135 @ Choose graphic display (GBUFF) 1314D P HP:TOADISP 1314D @ Choose text display (ABUFF) 13167 P NS:ScrollMode? 13167 @ Is Scroll mode on? (-> 1:T/F) 131C8 P NS:ScrollUp 13220 P NS:ScrollDown 134AE P HP:CLEARVDISP 134AE @ Clears HARDBUFF 134E4 P NS:ScrollLeft 1357F P NS:ScrollRight 13679 P NS:ScrollJump 13679 @ JUMP GROB to (2:#x 1:#y) 13695 P NS:REDISPABUFF 13695 @ Put window at #0 #0 coords 137B6 P HP:WINDOWCORNER 137B6 @ Push window coords (-> 2:#x 1:#y) , zeros if not scrolled 137DC mc HP:corner 1380F P HP:PIXOFF3 1380F @ Clear pixel in graph grob (2:#x 1:#y ->) 13825 P HP:PIXON3 13825 @ Set pixel in graph grob (2:#x 1:#y ->) 1383B P HP:PIXOFF 1383B @ Clear pixel in text grob (2:#x 1:#y ->) 1384A P HP:PIXON 1384A @ Set pixel in text grob (2:#x 1:#y ->) 13986 P HP:PIXON?3 13986 @ Is graph grob pixel on? (2:#x 1:#y -> 1:T/F) 13992 P HP:PIXON? 13992 @ Is text grob pixel on? (2:#x 1:#y -> 1:T/F) 139E7 P Called:39D25 40B9C 48C10 139E7 @ (3:# 2:# 1:# -> ? 13B41 P C=NULL$JUMP@A 13B51 :: Called:0DBE1 42976 42B4D 13B9C :: 13BB5 P Called:13BA1 13BF1 P Called:13BA6 13CB0 :: Called:42186 421B8 13CBF :: 13CE2 :: 13CFB :: 13D14 :: 13D28 P Called:13CF1 427FA 42999 429C1 42B52 13D55 P Called:13D0A 40922 427E1 42944 42B43 55E84 55ECF 13D8C gr HP:CURSOR1 13D8C @ insert cursor (Graphic 6 x 10) 13DB4 gr HP:CURSOR2 13DB4 @ overstrike cursor (Graphic 6 x 10) 13E05 P Set7074E=8? 13E22 P Set70710 13E2E P Clr70710 13E53 P Test7074E 13E63 P Test70710 13E85 P Get7070E 13E9E P Sto7070E 13EBC P Clr7070E 13ED2 P Inc7070E 13EF1 P Get70704 13EF1 @ Gets the number of the char on cmdline??? (-> 1#) (70704) 13F01 P Inc70704 13F11 P Dec70704 13F29 P Sto70704 13F47 P GetCmdLPosit# 13F47 @ Get position (line) of the cursor in the command-line (-> 1:#) 13F69 P IncCmdLPosit# 13F7F P DecCmdLPosit# 13F9B P ClrCmdLPosit# 13FB0 P Called:4252A (Handles CmdLPosit# and @706EC) 13FE5 P SAVEERRN 13FE5 @ Saves last Error code (LastError# to SavedLastError#) 1400E P ERR0 1400E @ Internal ERR0 (Clears SavedLastError#) 14039 P ERRN# 14039 @ ERRN (Returns SavedLastError#) ( -> 1:#error) 1404C :: ERRN 1404C @ Internal ERRN (Returns SavedLastError#) ( -> 1:HXS) 14065 :: ERRM 14065 @ Internal ERRM (Returns SavedLastError# message) ( -> 1:$) 14088 :: HP:DO>STR 14088 @ Internal ->STR (Topmost) (1:Any -> 1:$) 14088 @ :: ZERO !DcompWidth DTYPECSTR? ?SEMI >STR ; 140AB :: HP:DODISP 140AB @ Internal DISP (2:Any 1:%) 140F1 :: HP:DOCHR 140F1 @ Internal CHR (1:% -> 1:$) 1410F :: DONUM 1410F @ Internal NUM (1:$ -> %) (Takes first char of $, then NUM) 14137 :: HP:DOSTR> 14137 @ Internal STR-> (Topmost) (1:$) (Errors if parsing failed, else EVALs) 14137 @ :: palparse case EVAL 2DROP SETSyntaxERR ; 1415A :: HP:DOBEEP 1415A @ Internal BEEP (2:%msec 1:%Hz) 1415F CD *%1000 141B2 P HP:setbeep 141B2 @ Internal BEEP (2:#msec 1:#Hz) (#Hz is 1000 * %Hz in DOBEEP) 141E5 P HP:ERRBEEP 1420A P NS:$>$? 1420A @ Internal > (2:$ 1:$ -> 1:1/0) 142A6 :: NS:$<$? 142A6 @ Internal < (2:$ 1:$ -> 1:1/0) 142BA :: NS:$>=$? 142BA @ Internal >= (2:$ 1:$ -> 1:1/0) 142E2 :: NS:$<=$? 142E2 @ Internal <= (2:$ 1:$ -> 1:1/0) 142FB :: NS:FREEZE% 142FB @ Internal FREEZE (1:%) (Does SetDA?Temp's) 14314 :: NS:DROPSEVEN 14378 :: NS:HALT 14378 @ Internal HALT (If NOT haltOK? then error) (DBUGs ob in return stack) 14396 {} LAM{'halt} 1439B l' NS:LAM_'halt 143BB :: exechalt 143BB @ Forces halt, no error protection, saves stack if LastStkOn? 1444C :: ResHaltLstStkOnABND 1444C @ Resumes & stores LastStkOn flag from LAM_'halt & ABND 1446F :: NS:haltOK? 1446F @ Checks if halt is allowed (AppSuspOK? and LAM_'nohalt) (-> 1:T/F) 14483 l' HP:nohalt 14483 l' NS:LAM_'nohalt 144AC :: NS:DoNEXTkey 144AC @ The program executed when NEXT is pressed in PRGDBUG menu 144DE :: NS:DoSSTdownkey 144DE @ The program executed when SSTdown is pressed 14506 :: NS:DoSSTkey 14506 @ The program executed when SST is pressed 14533 :: DODBUGprg 14533 @ #2 = NEXT, #1 = SSTdown, #0 = DOSST (1:#n) 14565 CD PrepDBUG 145BA CD DBUGSEMIhandle 145BA @ Returns True if end of whole program reached 14613 :: DBUGObhandle 14640 :: DBUGERRTRAPObERRhandle 14654 :: DBUGObERRhandle 146C7 go ?? 1470D :: DBUGObhandle 14762 :: DBUG0Obhandle 147C1 :: DBUG1Obhandle 147E4 :: DBUGIDhandle 1482A :: sstDISPKILL 1483E :: DBUG_IFERR 14843 :: DUPPALPTRDCMPDROP 14843 @ (Ob -> "XLIBNAME" / Ob) 148C0 :: 'Raddtail$ 148C0 @ Recalls next from prev. converts to string and adds to tail (with 148C0 @ space) (1:$ -> 2:Ob 1:$+" "+$Ob) 148F2 :: DBUG_WHILE 148F2 :: DBUG_DO 1490B :: DBUG_ENDDO 14915 :: 1494C :: DBUG_REPEAT 1499C :: DBUG_WHILEEND 149BF :: DBUG_RPN-> 149C4 :: DUPPALPTRDCMPDROPONESWAP 149C4 @ (Ob -> #1 "XLIBNAME" / #1 Ob) 14A55 :: DBUG_ALG-> 14AE6 :: DBUG_START 14B13 :: DBUG_FOR 14B72 :: DBUG_NEXT 14B72 :: DBUG_STEP 14B81 :: 14BB3 :: DBUG_' 14BE5 :: DBUG_HALT 14BFE :: DBUG_PROMPT 14C17 :: HP:sstDISP 14C17 @ Displays $ in status area (" " added in front) and freezes st. area 14C30 :: DBG_THEN 14C71 :: DBG_ELSE 14C99 :: DBUG_CASETHEN 14CA8 :: COLA2next>RGsstFIN 14CA8 @ Does a seco of next 2 obs, returns & does GsstFIN 14CDF :: DBUG_>>ABND 14D02 :: DBUG_>> 14D1B P DBUGENDPRG 14D6E :: 3RDROPERRTRAPNOP 14D8C :: AppspcDISPSTATUS2Temp 14D8C @ Adds space in front of $, displays it in status area and freezes it 14DAA :: 14DFA :: DBUGstkEVAL&DISPGsstFIN 14DFA @ Displays and evals stk1, then continues DBUG 14E1D :: :: NOP ; 14E2C :: DBUG_SILENT' 14E2C @ DROP, display and eval next in return stack, continue DBUG 14E54 :: HALTerrhandle 14E6D P HALTSAVELAMed? 14EA5 P HP:RDUP 14EA5 @ DUPs return stack 14EEC P DBUGRDEPTH 14EEC @ Gives the increase in return stack depth after starting DBUG 14F2A P DBUGRROL?? (# ->?) Called:146D1 146E5 146EA 1496F 14DCD 14DD2 14F8C P DBUGRDROP?? (# ->?) Called:1474E 1483D 1497E 149B0 14FC3 P DBUGCREATELOOP???(Uses TEMPENV) Called:14A46 14AFF 14B5E 15007 :: HP:DO%EXIT 15007 @ Internal DOERR (1:%) (Does AtUserStack) 1501B :: NS:DOHXSEXIT 1501B @ Internal DOERR (1:HXS) (Does AtUserStack) 1502F :: HP:DO#EXIT 1502F @ Internal DOERR (1:#) (Does AtUserStack) 15048 :: HP:DO$EXIT 15048 @ Internal DOERR (1:$) (Does AtUserStack) 1506B :: LAM'haltEXISTS? 1506B @ if ''halt' (LAM) exists -> True/False 1508E :: NS:DoDBUGkey 1508E @ The program executed when DBUG is pressed 150C0 :: DBUGseco 150E3 :: DBUGuserseco 15106 :: RSKIP:: 15106 @ :: RSWAP RSKIP RSWAP ; 1512E :: DBUGname 15156 :: CKOb>SecoLnwDecomp$ 1515B :: NS:CKOb>Seco 1515B @ If stk1 not seco then Ob>Seco (1:Any) 15174 :: LnwDecomp$ 1518D P HP:GsstFIN 151A6 :: HP:SolvMenuInit 151A6 @ Sets keypress programs, labeldef and review programs & calls 3BB19 151A6 @ (Sets SolvMenuNSprg,..LSprg,..RSprg,..LabelDefprg,..ReviewKeyprg) 15200 :: NS:SolverMenuInit 15223 :: 15232 :: CK{Ob{Any}} 15232 @ Checks for { Ob { Anything } } (-> Error or { Anything } 15273 :: 152D2 :: MkNullMenuKeyCOMP 152D2 @ Add #n times NullMenuKey to tail of composite (2:Comp 1:#n) 152FF :: HP:EqList? 152FF @ Is {} a valid EQ ? (1:{} -> T/F) 152FF @ Accepts: { Any NOT{} Any Any....} and { Any } 1532C {} NXEQmenu 15331 $ "NXEQ" 15343 :: NXEQmenuprg 15366 :: {ID}CKIDValidForSolv 15366 @ Does CKIDValidForSolv for CARCOMP (1:{ID ...} -> 1:contents / Error) 15389 :: CKIDValidForSolv 15389 @ (1:ID -> 1:contents if valid for solve, 1:ID & error if not valid) 15389 @ Other than ID does nothing 153C0 :: SolvMenuReviewKeyprg 153C0 @ Displays current dir page ids & contents (CAT style) 153D9 :: SolvMenuReviewVarsprg 153D9 @ Displays current dir page (CAT style, but no EQ nor blanking) 153FC :: HP:DispVarsUtil 153FC @ If ID then display it & contents at row INDEX@+#1, else drop 15410 :: 60EJstGETTHEMESG 15424 :: TAGNAME>$ 15424 @ Tags $ with ID/LAM (8 first chars only) as string (2:NAME 1:$ -> $) 15424 @ Example (2:ID_CDE 1:"ABC" -> "CDE: ABC") 15442 $ ": " 1548C :: SolvMenuLabelDefprg 1548C @ For ID & NULL$: MakeInvLabel Grob>Menu, Else: >Menu 154CD :: SolvMenuNSprg 154CD @ Handles pressed (no shift) SOLVE menu key (1:Ob) 154FA :: NameKeyNSprg 154FA @ Prg to handle ID in SOLVE menu 1552C :: IDKeepUnit 1552C @ Recall ID contents, then KeepUnit (If no contents, DROP) (1:ID) 1553B :: HP:KeepUnit 1553B @ (3:% 2:Any 1:Unit -> 2:%_Unit 1:Ob) else DROP 1559A :: SolvMenuRSprg 1559A @ Does StdMenuKeyRS or DoNameKeyRS depending on stk1 (other/ID) 155B3 :: SolvMenuLSprg 155E0 :: NameKeyLSprg 155EF {} LAM{'nohalt} 1563A :: ABNDNOLASTWDDO#EXIT 1568F :: HP:ALGeq? 1568F @ Is stk1 an equation? (1:SYMB -> 1:T/F) 15694 CD NS:DUPTYPECOMP? 15694 @ Only seco, list and symb give True 15717 :: HP:DOSTOE 15717 @ Internal STEQ (1:Any) (Doesn't strip tags like xSTEQ) 1572B :: HP:DORCLE 1572B @ Internal RCEQ (Error if not present) (-> 1:EQ contents) 15744 :: HP:EQUATION 15744 :: RCEQ? 15744 @ Internal RCEQ -> Contents,True/False 15758 :: NS:'ID_EQ 15758 @ unevaluated 'EQ' (ID) 1576C g' NS:ID_EQ 15777 :: NS:'NULLID 15777 @ unevaluated '' (ID) 15781 g' NS:NULLID 1578D :: HP:CRUNCH 1578D @ Internal ->NUM ( :: CK1 STRIPTAGS CRUNCH ; ) 157B0 :: CRUNCHClrNumFlag 157B0 @ Doesn't set NumFlag before ->NUM, but clears it after 157BA :: 157E2 :: CRUNCHSetNumFlag 157E2 @ Doesn't set NumFlag before ->NUM, but sets it after 157EC :: 15814 :: ClrNumFlagERRJMP 15828 :: SetNumFlagERRJMP 1583C :: HP:EVALCRUNCH 1583C @ EVAL & if depth <> 0 then CRUNCH 1585A {} EXPR=key 1585F $ "EXPR=" 1587D :: EXPR=keyprg 1587D @ Does the same as pressing EXPR= (-> 1:EXPR:.. / 2:LEFT:.....) 1589B :: ALGeq>EXPR= 1589B @ Divides ALG into left & right parts & tags (1:ALG) 158B9 $ "LEFT" 158E4 $ "RIGHT" 15911 $ "EXPR" 1592D :: HP:CK1NoBlame 1592D @ Clear current command and verify DEPTH >= 1 1592D @ :: 0LASTOWDOB! CK1NOLASTWD ; 15941 :: HP:CRUNCHNoBlam 15941 @ == :: EVALCRUNCH CK1NoBlame ; 15955 :: #13!DcompWidth1stkdecomp$wSWAP#>%>$ 1596E :: !DcompWidth1stkdecomp$wSWAP#>%>$ 15978 :: HP:1stkdecomp$w 15978 @ Decompile into $ in print format (1:Obj -> 1:$) 159AF :: ClrStkDisp$Fmt_Clr_7068D:2_ERRJMP 159B4 :: ClrStkDisp$Fmt_Clr_7068D:2 159D2 :: #13!DcompWidthstkdecomp$w 159EB P HP:stkdecomp$w 159FA :: #13!DcompWidth 15A0E :: HP:EDITDECOMP$ 15A0E @ Decompile obj for editing (1:Obj -> 1:$) 15A40 :: HP:ederr 15A40 @ Handles error if edit decompiling failed ( :: rstfmt1 ERRJMP ; ) 15A54 P rstfmt2 15A60 P HP:rstfmt1 15A8B P HP:savefmt1 15A97 P savefmt2 15B13 :: HP:DECOMP$ 15B13 @ Decompile obj for stack display (1:Any -> 1:$) 15B31 P NS:>STR 15B31 @ Deep internal ->STR (1:Any -> 1:$) 15B3D P NS:>STREDIT 15B3D @ Deep internal ->STR (1:Any -> 1:$) (Edit format) 15B4C rf r_DOREAL 15B51 rf r_a%>$, 15B56 rf r_a%>$ 15B5B rf r_DOIDNT 15B60 rf r_PrID>$ 15B65 rf r_EdID>$ 15B6A rf r_DOARRY 15B6F rf r_PrCOMP>$ 15B74 rf r_EdCOMP>$ 15B79 rf r_DOLIST 15B7E rf r_PrCOMP>$ 15B83 rf r_EdCOMP>$ 15B88 rf r_DOCOL 15B8D rf r_PrCOMP>$ 15B92 rf r_EdCOMP>$ 15B97 rf r_DOCSTR 15B9C rf r_Pr$>$ 15BA1 rf r_Ed$>$ 15BA6 rf r_DOCMP 15BAB rf r_PrEdC%>$ 15BB0 rf r_PrEdC%>$ 15BB5 rf r_DOSYMB 15BBA rf r_PrUnSymb>$ 15BBF rf r_EdCOMP>$ 15BC4 rf r_DOLAM 15BC9 rf r_PrID>$ 15BCE rf r_EdID>$ 15BD3 rf r_DOHXS 15BD8 rf r_HXS>$ 15BDD rf r_EdHXS>$ 15BE2 rf r_DOEXT 15BE7 rf r_PrUnSymb>$ 15BEC rf r_EdCOMP>$ 15BF1 rf r_DOTAG 15BF6 rf r_PrCOMP>$ 15BFB rf r_EdCOMP>$ 15C00 rf r_DODIR 15C05 rf r_PrCOMP>$ 15C0A rf r_EdCOMP>$ 15C0F rf r_DOLIB 15C14 rf r_LIB>$ 15C19 rf r_LIB>$ 15C1E rf r_DOBAK 15C23 rf r_BAK>$ 15C28 rf r_BAK>$ 15C2D rf r_DOGROB 15C32 rf r_PrGROB>$ 15C37 rf r_EdGROB>$ 15C3C rf r_DOROMP 15C41 rf r_ROMPTR>$ 15C46 rf r_ROMPTR>$ 15C4B rf r_DOBINT 15C50 rf r_PrEd#>$ 15C55 rf r_PrEd#>$ 15C5A rf r_00000 15C5F ml RDsptch>$ 15C5F @ Converts stk1 to a string using dispatch data in RSTK 15C5F @ See >STR and >STREDIT for examples of how to use 15C5F @ Last pointer must be 00000 (Which leads to Type$) 15CBB :: NS:Type$ 15CBB @ Get object type description (1:Any-> 1:$) (Ex.1:%1 -> 1:"Real Number") 15CBB @ Gives "Complex Array", if array type isn't real (feature? :) 15CCF :: NS:Type$+ 15CCF @ Get object type and concatenate (1:$ 1:Any -> 1:$) 15D06 :: PrEd#>$ 15D06 @ (1:# -> 1:$) For stack display & editing 15D38 :: NS:LIB>$ 15D38 @ (1:LIB -> 1:$) For stack display & editing 15D6F # NS:##117 15D79 :: NS:!!insertMesg# 15D79 @ (2:$ 1:# -> 1:$mesg+" "+$) 15D97 :: NS:BAK>$ 15D97 @ (1:BAK -> 1:$) For stack display & editing 15DAB # NS:##118 15DBF :: APPGROBDIMS$ 15DBF @ Add grob dims to string (2:Grob 1:$ -> "ydim$xdim" ) 15DF1 :: NS:PrGROB>$ 15DF1 @ (1:GROB -> 1:$) For stack display 15DF6 $ " x " 15E0B # <112h> 15E1F :: NS:EdGROB>$ 15E1F @ (1:GROB -> 1:$) For editing (Uses PrGROB>$ if StkDisp$Fmt?) 15E47 $ "GROB " 15E83 :: NS:STR>NIBS 15E83 @ Makes a nibble string (1:HXS/$ -> 1:NIBS$) 15EAB :: !!insert&len 15EAB @ (2:$2 1:$1 -> 1:"$1len($2) $2") (Ex. 2:"ABC" 1:"CDE" -> 1:"CDE3 ABC") 15ED8 :: Ed$>$ 15ED8 @ (1:$ -> 1:$) (For editing. If StkDisp$Fmt? then uses Pr$>$) 15EF6 :: ONEPOS$ 15EF6 :: ONEPOSCHR 15F23 $ "C$ " 15F3D :: Pr$>$ 15F3D @ (1:$ -> 1:$) (For stack display) 15F83 :: EdHXS>$ 15F83 @ (1:HXS -> 1:$) (For editing. If StkDisp$Fmt? then HXS>$) 15FB5 $ "C# " 15FCF P HXS>ASCII$ 15FCF @ HXS to ASCII$ (2:HXS 1:$ (length must be correct) -> 1:$ ) 1605F P NS:QUOTESin$ 1605F @ (1:$ -> 1:"'$'") 1606C P NS:DQUOTESin$ 1606C @ (1:$ -> 1:""$"") 16075 mc around$ 16075 @ Puts C.p2 (Char) around $ (1:$ -> 1:$) & continues RPL 160D1 :: PrID>$ 160D1 @ Differs from ID>$ by adding quotes too (1:ID/LAM -> 1:$) 160E5 P EdID>$ 160E5 @ (1:ID/LAM -> 1:$) If ST.4 clear ID>$ else PrID>$ (quotes too) 16103 :: PrUnSymb>$ 16103 @ (1:EXT/SYMB -> 1:$) For stack display 1613F :: HP:NULL$TEMP 1613F @ Null $ "" (RAM based) 16153 :: PALPTRDCMPNOT?Type$ 16153 @ (Ob -> "XLIBNAME" / "Type") 1616C :: NS:ROMPTR>$ 1616C @ Returns XLIB name or "XLIB % %" (1:XLIB -> 1:$) 16180 :: NS:SWAPDROPID>$ 161B2 $ "XLIB " 161D0 :: NS:EdCOMP>$ 161D0 @ (1:DIR/seco/TAGGED/[]/{}/Unit/SYMB -> 1:$) (For editing) 1622A :: NS:PrCOMP>$ 1622A @ (1:DIR/seco/TAGGED/[]/{} -> 1:$) (Like what's on stack) 162AC P HP:a%>$, 162AC @ Convert % to $ using current display mode with no commas (FIX mode) 162B8 P HP:a%>$ 162B8 @ Convert % to $ using current display mode (1:% -> 1:$) 16671 mc HP:Shrink$ 166E3 P HP:DOFIX 166E3 @ Internal FIX (1:# ->) 166EF P HP:DOSCI 166EF @ Internal SCI (1:# ->) 166FB P HP:DOENG 166FB @ Internal ENG (1:# ->) 16707 P HP:DOSTD 16707 @ Internal STD 167BF :: HP:DPRADIX? 167BF @ Flag -51 clear? (-> 1:T/F) 167D8 P HP:#:>$ 167D8 @ # to decimal $ & ": " (1:# -> $) 167E4 P HP:#>$ 167E4 @ # to decimal $ (1:# -> 1:$) 1685C P #:>%>$ 1685C @ (2:$ 1:# -> 1:$) (uncoerced first) 1686A P #>%>$ 1686A @ (2:$ 1:# -> 1:$) (uncoerced first) 16969 # <13h> 16973 :: NS:CROSSVECTOR? 16973 @ Is stk1 1D 2 or 3 element real vector? (1:[] -> 2:#dim 1:T / 1:F) 169A5 :: HP:NDROPFALSE 169E1 :: &ClrStData>$ 169FA :: &!DCompData>$ 16A0E :: &ClrSt13!DcompData>$ 16A4A :: 16A5E :: 16A7C :: 16A9A :: 16AA9 :: 16AD6 # NS:##4000 16AE5 # NS:##5000 16AF4 # NS:##8000 16B03 # NS:##9000 16B12 # NS:##E000 16B21 # NS:##D000 16B30 # NS:##2F000 16B58 :: 16B80 :: 16BA3 :: {}xxx&Pars$ 16BAD :: 16BB2 $ "{" 16BEB $ "}" 16C01 :: Dirxxx&Pars$ 16C15 :: 16C38 :: 16C42 $ "DIR" 16C9D :: 16CA7 @ Error: Bad Argument Value 16CAC :: 16CED $ "END" 16D16 :: Tgxxx&Pars$ 16D20 :: 16D25 $ ":" 16D8B :: 16DB3 :: ''xxx&Pars$ 16DB3 :: Unxxx&Pars$ 16DBD :: SWAPDROP#FFFFFSWAP 16DF4 :: 16E17 :: 16E2B :: ::xxx&Pars$ 16EDF :: 16F6B :: 5ROLLDROPEdID>$ 16F84 :: 2DROP4PICK4ROLL 16FCA :: 16FDE :: Othxxx&Pars$ 16FED :: 1700B :: []xxx&Pars$ 17042 :: 17047 $ "Array of " 170B8 :: 2ndlvl[]?CHRadd 170B8 @ (2:#n 1:$ -> 2:#n if #n=0 then 1:$+"[" else 1:$+" " ) 17126 :: "]"!append$ 1716C :: 1719E :: 171B2 :: COLASWAPDROPNULL{} 171DF :: 171E9 :: 17211 :: 1721B :: 17234 :: 1727A :: 172C0 :: 172DE :: 17315 :: 17351 :: 1737E :: 173A6 :: 173D3 :: 1743C :: 1746E :: PrEdC%>$ 1746E @ (1:C% -> 1:$) (Display & edit versions are the same) 1748C :: 174A5 :: ZERO"[" 174C3 :: 174F0 :: NS:9UNROLL 17518 :: 17527 :: ZERO"(" 17545 :: 175C7 {} 175CC :: 175EA :: 17608 :: 1762B :: 17653 :: 1768A :: 176AD :: 176EE :: 17707 :: 6PICKSPACE$EQ?SPACE$!insert$ 17734 :: 1774D :: 177B6 :: 2SPACE$EQ 177B6 @ " " EQ (1:$ -> 1:T/F) 177CA :: 1781A :: NS:SWAPDROPFALSE 1782E :: NS:2LEN$#+ 1782E @ (2:$2 1:$1 -> 3:$2 2:$1 1:#len1+#len2) 17847 :: 178BA :: 178E2 :: 178FB :: 17914 :: 1792D :: 1795A P HP:!DcompWidth 1795A @ Store maximum string compile length into DcompWidth (70770) 17980 P NS:@DcompWidth 17980 @ Recall maximum string compile lengthfrom DcompWidth (70770) 179AC P GROBDIMw#1= 179AC @ Is GROB #xdim == #1 ? (1:Grob -> 1:T/F) 179D0 P GetDirVarConts 179D0 @ Get variable contents (2:DIR 1:# ) 17ADB :: 17AEA CD 17B86 :: HN:VLM 17C17 :: 17C3F P 17C55 P 17C6A :: 17C97 :: 17CBF :: 17CD8 :: 17D0A :: 17D32 :: 17D46 :: 17D7D :: 17DAF :: 17DB4 $ "PICT" 17DE9 :: 17E11 :: 17E39 :: 17E7A :: 17EAC :: 17EBB :: :: IT 2DROP 2RDROP 2RDROP ; 17F15 P 17F40 :: 17F4A # NS:##B8 17F59 CD 17F84 :: 17FB1 :: 1804C :: 18088 :: 180C9 :: 180D8 :: ?DROP3RDROP 180D8 @ :: IT 2DROP 2RDROP 2RDROP ; 18178 :: 181C8 :: 181FA P 18242 P (Handles 705DD) 1825F P (Handles TEMPENV) 18282 P (Handles ArgPrts) 18295 P (Handles #ArgPrts and ArgPrts) 18308 P HP:DropSysObs 18308 @ Do GC and recalculate stack (Handles DSKBOT STKSIZE) 18338 P 18355 P (Handles DSKBOT STKSIZE) 18397 :: Conts>$name 18397 @ (1:contents -> 1:$Name / NULL$) ("0:" put in front of LIB/BAK names) 183C4 :: PConts>$name: 183C4 @ Returns "0:" + $name (1:LIB/BAK -> 1:$) 183C9 $ "0:" 183EB P Pconts>$name 183EB @ Returns name as $ (1:LIB/BAK -> 1:$) 18404 P NConts>$name 18404 @ (1:contents (not LIB/BAK) -> 1:$name / NULL$) 1848C :: HP:PATHDIR 1848C @ Internal PATH (-> 1:{}) 184E1 :: HP:CREATEDIR 184E1 @ Internal CRDIR (Purges original if there is one) (1:ID ->) 184FA :: NS:TYPEDIR?ERR 184FA @ If DIR then Error: Directory Not Allowed (1:Any ->) 18513 :: HP:?STO_HERE 18513 :: HP:XEQSTOID 18513 @ Internal STO (2:Any,1:ID) 18536 P NS:DUP@_HERE 18536 @ (1:ID -> 3:ID 2:contents 1:True | 2:ID 1:False) 18536 @ Search is restricted to current directory 1853B :: HP:SAFE@_HERE 1853B @ Internal RCL (1:LAM/ID -> 2:contents 1:T / 1:F) 1853B @ Search is restricted to current directory 1854F :: HP:?PURGE_HERE 1854F @ Internal PURGE (1:ID ->) (Doesn't error if ID not used) 1856D :: CKPrepDIRPURGE 1856D @ Checks for empty DIR and being embedded in SAVEDCOTEXT 18595 :: HP:XEQPGDIR 18595 @ Internal PGDIR (1:ID ->) Checks references etc too. 185C7 :: EVAL:inCONTEXT 185C7 @ Saves CONTEXT, Evals next, resumes CONTEXT (even if 'REVAL errors) 185EA :: SYSTMPCONTEXTERRJMP 18608 :: NS:NOTNULLDIR?ERR 18608 @ Errors if DIR is not empty (1:DIR ->) 18621 :: HP:LastNonNull 18621 @ Returns LASTRAM-WORD, if TRUE then TypeNib1AND#02, else FALSE 1863A :: HP:PrevNonNull 1863A @ Returns PREVRAM-WORD, if TRUE then TypeNib1AND#02, else FALSE 18653 P TypeNib1AND#02 18653 @ (1:Any -> 1:T/F)y 1867F :: NS:ExecOnDirVars 1867F @ Executes a program on all current directory variables 1867F @ Program can use stk1 (ID) or stk3 (contents) with PICK only 1867F @ Program must return Ob to add to a list if True and True/False 1867F @ (2:Ob 1:seco -> 1:{}) Ob is at stk5 (see DOVARS at 18779!) 186E8 :: HP:DOTVARS% 186E8 @ Internal TVARS (1:%) 18706 :: DOTVARS{} 18706 @ Internal TVARS (1:List) 18742 :: DIRTVARSprg 18742 @ Program passed by TVARS to ExecOnDirVars (with { %type .. } on stk 2) 18779 :: HP:DOVARS 18779 @ Internal VARS (-> 1:{}) ( :: TrueTrue ExecOnDirVars; ) 1878D :: 187AB P Called:18792 18800 @ Any number between 1 and infinity is meaningless 18802 P NS:LASTCMD@ 18802 @ Returns last command saved (-> 1:Cmd) (-> 1:#0 if last cmd cleared) 18802 @ (Ex: :: 1 2 + LASTCMD@ ; -> 2:3 1:+) 1884D P HP:0LASTOWDOB! 1884D @ Clears the command save done by the last CK 18873 :: HP:AND$ 18873 @ Internal AND (2:$,1:$) 18887 :: HP:OR$ 18887 @ Internal OR (2:$,1:$) 1889B :: HP:XOR$ 1889B @ Internal XOR (2:$,1:$) 188AF :: 2LEN$#=TOTEMPSWAP 188AF @ If copy len($1) = len($2), then NEWOB/SWAP, else Bad Argument Value 188D2 :: NOT$ 188D2 @ Internal NOT (1:$) 188E6 P $AND$ 188E6 @ Deep internal AND (2:$,1:$) (Doesn't NEWOB) 188F5 P $OR$ 188F5 @ Deep internal OR (2:$,1:$) (Doesn't NEWOB) 18904 P $XOR$ 18904 @ Deep internal XOR (2:$,1:$) (Doesn't NEWOB) 18961 P $NOT$ 18961 @ Deep internal NOT (1:$ -> 1:$) (Doesn't NEWOB) 18A01 :: CONFIG002 18A01 @ Configuration code for library 002 (XLIB 2) (:: #2 HOMEATTACH ;) 18A15 P HP:CK0NOLASTWD 18A15 @ Save stack size and clear #ArgPntrs 18A1E P HP:CK0 18A1E @ Save current command, stack size, clear #ArgPntrs 18A5B P HP:CK3 18A5B @ Save current command and verify DEPTH >= 3 18A68 P HP:CK3NOLASTWD 18A68 @ Verify DEPTH >= 3 18A80 P HP:CK2 18A80 @ Save current command and verify DEPTH >= 2 18A8D P HP:CK2NOLASTWD 18A8D @ Verify DEPTH >= 2 18AA5 P HP:CK1 18AA5 @ Save current command and verify DEPTH >= 1 18AB2 P HP:CK1NOLASTWD 18AB2 @ Verify DEPTH >= 1 18AC6 @ MC: verify DEPTH >= C.S, expect P = 2*C.S - 1 18B6D P HP:CK5 18B6D @ Save current command and verify DEPTH >= 5 18B7A P HP:CK5NOLASTWD 18B7A @ Verify DEPTH >= 5 18B92 P HP:CK4 18B92 @ Save current command and verify DEPTH >= 4 18B9F P HP:CK4NOLASTWD 18B9F @ Verify DEPTH >= 4 18C34 P HP:CKN 18C34 @ Save current command, check args, R->SB and verify stk1 < DEPTH-1 18C4A :: HP:CKNNOLASTWD 18C4A @ Check args, R->SB and verify stk1 < DEPTH-1 18C77 mc !lastcmd 18C77 @ Saves current command (pointer to it) 18C92 P NS:SETUndefIdERR 18C92 @ Error: Undefined Name 18CA2 P HP:SETSIZEERR 18CA2 @ Error: Bad Argument Value 18CB2 P HP:SETTYPEERR 18CB2 @ Error: Bad Argument Type 18CC2 P NS:SETFewArgsERR 18CC2 @ Error: Too Few Arguments 18CD7 P HP:%ABSCOERCE 18CD7 @ (1:% -> 1:#) 18CEA P HP:COERCE 18CEA @ Internal R->SB (1:% -> 1:#) 18DBF P HP:UNCOERCE 18DBF @ Internal SB->R (1:# -> 1:%) 18E18 :: SYMBEVALTILLother 18E18 @ Do COMPEVAL to ALG until it isn't ALG anymore 18E18 @ (Other args do nothing, ATTN works) 18E45 P NS:DNOTSYMB?SEMI 18E45 @ If level1 not algebraic, SEMI 18E7E P DUPTYPEALG? 18E7E @ Maybe slightly faster than DUPTYPESYMB? dunno 18EBA P HP:COMPEVAL 18EBA @ Internal EVAL (1:Composite) 18ECE P HP:CK1&Dispatch 18ECE @ Save current command, verify DEPTH >= 1 and check args. 18EDF P HP:CK2&Dispatch 18EDF @ Save current command, verify DEPTH >= 2 and check args. 18EF0 P HP:CK3&Dispatch 18EF0 @ Save current command, verify DEPTH >= 3 and check args. 18F01 P HP:CK4&Dispatch 18F01 @ Save current command, verify DEPTH >= 4 and check args. 18F12 P HP:CK5&Dispatch 18F12 @ Save current command, verify DEPTH >= 5 and check args. 18F23 P HP:EvalNoCK 18F23 @ Evaluate composite (command) without saving as current command 18F23 @ Example: :: ' x+ EvalNoCK ; doesn't save + command, but EVALs it 18F23 @ NOTE: If the first command in stk1 is CK&Dispatch then 18F23 @ CK&DISPATCH1 is started, else 1st command is skipped 18F23 @ NOTE: Stk1 must be a composite since prolog is ignored 18F23 @ Example: :: NOP %+ %+ ; EvalNoCK adds 3 reals 18F6A :: NS:EvalNoCK: 18F6A @ Evaluate next command without saving as current command 18F6A @ Example: :: EvalNoCK x+ ; doesn't save + command, but EVALs it 18F9D P HP:CK&DISPATCH0 18F9D @ Check arguments for type (doesn't strip tags if no match) 18FA9 P CK&DISPATCH-XFER 18FA9 @ Same as CK&DISPATCH1 ??? 18FB2 P HP:CK&DISPATCH1 18FB2 @ Check arguments for type (strip tags if no match) 191B9 P HP:#*OVF 191B9 @ (2:# 1:# -> 1:#) Multiplication with #FFFFF as max result 19207 P NS:CKNFLOATS 19207 @ Check stack for #n %/C% , Error if not 19207 @ (1:#n 2:Any 3:%/C%...N+3:%/C% -> 1:%0 or C%0 2:Any....) 19294 P NS:n>ARRY 19294 @ ->ARRY (1:[%/C%] 2:#n 3:%/C%...N+3:%/C% -> 1:[%/C%]) 19294 @ Stk3 will go to the last element. #n can be < #elements 19350 P NS:dNINHARDROM? 19350 @ Stk1 not in HP48SX ROM ? (addr>70000) (1:Any -> 2:Any 1:T/F) 1936C :: DUP@_HERENOT?ERR 1936C @ Recall ID, error if not found (Search only current directory) 19385 :: OVERSAFE@_HERENOT?ERR 19385 @ Recall ID/LAM contents, error if not found 193A3 :: 3PICKSAFE@_HERENOT?ERR 193A3 @ Recall ID/LAM contents, error if not found 193C1 :: NS:DUPNOT[]?ERR 193C1 @ If not array, then error (1:Any -> 1:Any) 193DA :: COERCE{}2CKNOT0 193DA @ List of 1 or 2 % to list of # (1:{ % (%) } -> 1:{ # (#) } 193DA @ Errors if not above argument, or if either real coerced is 0 19402 :: COERCE{}1CKNOT0 19402 @ (1:% -> 1:{ # } ) #0 causes SIZEERR 19443 :: NS:DUPNOT{}?ERR 19443 @ If not list, then error (1:Any -> 1:Any) 1945C :: NS:CKTYPE{} 1945C @ Error if list elements not #prolog types or if NULLCOMP 1945C @ (2:Comp 1:#prolog -> 1:Comp) 19489 :: MATCHPRLG?#1+ 19489 @ (3:#prolog 2:#n 1:Ob (of prolog type) -> 2:#prolog 1:#n+1) 19489 @ If not of prolog type then Error (Ob replaced with True) 194BB :: NS:DUP[C%]?ERR 194BB @ Verify Real Array (1:Any -> 1:Any), error if not 194D9 :: NS:DUP[%]?ERR 194D9 @ Verify complex Array (1:Any -> 1:Any), error if not 194F7 :: HP:COERCE2 194F7 @ (2:%2 1:%1 -> 2:#2 1:#1) 1950B :: HP:UNCOERCE2 1950B @ (2:#2 1:#1 -> 2:%2 1:%1) 19529 :: NS:UNCOERCE{}2 19529 @ List of # to List of % (1 or 2 elements) (1:{#1 (#2)} -> 1:{%1 (%2)}) 19538 :: UNCOERCEONE{}N 19538 @ (1:# -> 1:{ % }) 1955B :: SWAPCOLASAFESTO 1957B :: xASR 1957B @ ASR (XLIB 2 0) 1959B :: xRL 1959B @ RL (XLIB 2 1) 195BB :: xRLB 195BB @ RLB (XLIB 2 2) 195DB :: xRR 195DB @ RR (XLIB 2 3) 195FB :: xRRB 195FB @ RRB (XLIB 2 4) 1961B :: xSL 1961B @ SL (XLIB 2 5) 1963B :: xSLB 1963B @ SLB (XLIB 2 6) 1965B :: xSR 1965B @ SR (XLIB 2 7) 1967B :: xSRB 1967B @ SRB (XLIB 2 8) 1969B :: xR>B 1969B @ R->B (XLIB 2 9) 196BB :: xB>R 196BB @ B->R (XLIB 2 10) 196DB :: xCONVERT 196DB @ CONVERT (XLIB 2 11) 1971B :: xUVAL 1971B @ UVAL (XLIB 2 12) H:000 1974F :: xUNIT 1974F @ UNIT (XLIB 2 13) 19771 :: xUBASE 19771 @ UBASE (XLIB 2 14) H:000 197A5 :: xUFACT 197A5 @ UFACT (XLIB 2 15) 197C8 :: UFACT 197C8 @ Internal UFACT (2:Unit 1:Unit -> 1:Unit) 197F7 :: xTIME 197F7 @ TIME (XLIB 2 16) 19812 :: xDATE 19812 @ DATE (XLIB 2 17) 1982D :: xTICKS 1982D @ TICKS (XLIB 2 18) 19848 :: xWSLOG 19848 @ WSLOG (XLIB 2 19) 19863 :: xACKALL 19863 @ ACKALL (XLIB 2 20) 1987E :: xACK 1987E @ ACK (XLIB 2 21) 1989E :: x>DATE 1989E @ ->DATE (XLIB 2 22) 198BE :: x>TIME 198BE @ ->TIME (XLIB 2 23) 198DE :: xCLKADJ 198DE @ CLKADJ (XLIB 2 24) 198FE :: xSTOALARM 198FE @ STOALARM (XLIB 2 25) 19928 :: xRCLALARM 19928 @ RCLALARM (XLIB 2 26) 19948 :: xFINDALARM 19948 @ FINDALARM (XLIB 2 27) 19972 :: xDELALARM 19972 @ DELALARM (XLIB 2 28) 19992 :: xTSTR 19992 @ TSTR (XLIB 2 29) 199B2 :: xDDAYS 199B2 @ DDAYS (XLIB 2 30) 199D2 :: xDATE+ 199D2 @ DATE+ (XLIB 2 31) 199EB :: ToggleClk_P0CEB9 199EB @ Toggles Clock display flag (-40), calls P0CEB9 19A04 :: ToggleM/D 19A04 @ Toggles date format flag (-42) 19A18 :: Toggle12/24 19A18 @ Toggles 24 hour clock flag (-41) 19A2C :: DoA/PMkey 19A2C @ Advances default alarm 12 hours and prompts for alarm 19A54 :: A/PM 19A54 @ Internal A/PM (Does CLKADJUSTED) 19A68 :: GetDefaultAlarm 19A68 @ Recalls ID_ALARMDAT or gives { %date %0 "" %0 } 19A72 g' ID_ALRMDAT 19A91 {} DefAlrm{} 19A91 @ { %0 "" %0 } date must be added to head 19A96 % %0 19AAB $ "" 19AB5 % %0 19ADE :: %HOURToggle 19ADE @ Toggles AM/PM hour (1:% -> 1:%+12 MOD24) 19B06 :: DoALRMSETkey 19B06 @ Sets default alarm & starts time menu 19B1F g' ID_ALRMDAT 19B43 :: ClockAdj+1h 19B5C :: ClockAdj-1h 19B7A :: ClockAdj+1m 19B93 :: ClockAdj-1m 19BB1 :: ClockAdj+1s 19BCA :: ClockAdj-1s 19BE8 :: Do>TIMEkeu 19BE8 @ Checks for real, valid time, & starts alarm prompt with that time 19C06 :: TIMEOK?Put&Show 19C06 @ Checks for valid time, & starts alarm prompt with that time 19C1F :: Do>DATEkey 19C3D :: DATEOK?Put&Show 19C56 :: DoWEEKkey 19C56 @ Checks for %, multiplies with %TICKSweek, takes ABS IP, checks if 19C56 @ is a vaild rpt factor, stores it & starts alarm menu (1:%rpt) 19C74 :: WEEKSrptPut&Show 19C74 @ Doesn't check for rpt being real 19C88 :: DoDAYkey 19CA6 :: DAYrptPut&Show 19CBA :: DoHOURkey 19CD8 :: HOURrptPut&Show 19CEC :: DoMINkey 19D0A :: MINrptPut&Show 19D1E :: DoSECkey 19D3C :: SECrptPut&Show 19D50 :: rptPut&Show 19D50 @ Multiplies % with %rptfactor, checks it & starts alrm menu with it 19D73 :: StoAlarmMesg 19D73 @ Stores ALARM message (1:$ ->) 19D8C :: GetAlarmMesg 19D8C @ Gets stored ALARM message string (-> 1:$) 19DAA :: PUTNDefault&PromptAlarm 19DAA @ Stores Ob to nth (max 4) position in DefaultAlarm and prompts 19DAA @ for alarm (2:Ob 1:#1-4 -> 1:Inputted stuff) 19DBE g' ID_ALRMDAT 19DE2 :: DispNextAlarm 19DE2 @ Displays next alarm if MSGNOTOK? is false, else SetDA2NoCh 19DF6 :: SHOWNextAlrm 19DF6 @ Displays next alarm 19E0F :: DispPassedAlarmMesg 19E0F @ Displays a passed alarm (1:{alarm}) 19E50 :: DispNextAlarmMesg 19E9B :: DISPmesg$&ALARM 19E9B @ Displays alarm & message (2:{alarm} 1:$message ->) 19EE1 :: DNS:ROPNULL$ 19EF5 :: 19EFA {} RPTTICKS{} 19EFA @ { %TICKSweek ... %TICKSsec %1 } 19F4F $ "Rpt=" 19F6B {} RPTmesg${} 19F6B @ { " weeks(s)" ... " ticks" } 19F70 $ " week(s)" 19F8A $ " day(s)" 19FA2 $ " hour(s)" 19FBC $ " minute(s)" 19FDA $ " second(s)" 19FF8 $ " ticks" 1A031 :: PromptAlarm 1A031 @ If MSGOK? asks for alarm (-> 1:inputted) 1A040 :: PromptAlarm! 1A040 @ Asks for alarm (-> 1:inputted) 1A06D :: PromptRptInterval 1A086 :: SetShowClock'SAVEMENUOFFSETSetDA1Bad_ExitAction! 1A095 :: SAVEMENUOFFSETSetDA1Bad 1A0B3 :: SetShowClock'SAVEMENUOFFSETSetDA12Bad_ExitAction! 1A0C2 :: SAVEMENUOFFSETSetDA12Bad 1A0E0 :: DISPAcknowSORTASLOW 1A0E0 @ Flashes "Acknowledged" message 1A105 :: xCRDIR 1A105 @ CRDIR (XLIB 2 32) 1A125 :: xPATH 1A125 @ PATH (XLIB 2 33) 1A140 :: xHOME 1A140 @ HOME (XLIB 2 34) 1A15B :: xUPDIR 1A15B @ UPDIR (XLIB 2 35) 1A16F :: HP:UPDIR 1A16F @ Internal UPDIR ( :: CONTEXT@ GETUPDIR NOT?SEMI CONTEXT! ; ) 1A194 :: xVARS 1A194 @ VARS (XLIB 2 36) 1A1AF :: xTVARS 1A1AF @ TVARS (XLIB 2 37) 1A1D9 :: xBYTES 1A1D9 @ BYTES (XLIB 2 38) 1A1FC :: BYTES 1A1FC @ Internal BYTES (1:Any except ID) 1A20B :: HARDROMBYTES 1A20B @ Internal BYTES (1:HARDROM object -> 2:HXS0000 1:%2.5) 1A223 % NS:%2.5 1A23D :: RAMBYTES 1A23D @ BYTES (1:ram-object -> 2:HXScrc 1:%size) 1A265 :: HP:VARSIZE 1A265 @ Internal BYTES (1:ID ->2:HXScrc 1:%size) 1A292 # <9h> 1A2BC :: xNEWOB 1A2BC @ NEWOB (XLIB 2 39) (:: CK1 INHARDROM? ?SEMI TOTEMPOB ;) 1A2DA P HP:INHARDROM? 1A2DA @ Obj in HARDROM? (addr<70000) (1:Ob -> 2:Ob 1:T/F) 1A303 :: xKILL 1A303 @ KILL (XLIB 2 40) 1A31E :: xOFF 1A31E @ OFF (XLIB 2 41) 1A339 :: xDOERR 1A339 @ DOERR (XLIB 2 42) 1A36D :: xERR0 1A36D @ ERR0 (XLIB 2 43) 1A388 :: xERRN 1A388 @ ERRN (XLIB 2 44) 1A3A3 :: xERRM 1A3A3 @ ERRM (XLIB 2 45) 1A3BE :: xEVAL 1A3BE @ EVAL (XLIB 2 46) 1A3FE :: HP:xIFTE 1A3FE @ IFTE (XLIB 2 47) H:3A1 1A471 h# hex_0140626250 1A485 rf rr_DERIFTE 1A48A # r_MAKEIFTE 1A494 # r_WHEREIFTE 1A49E rf r_FORMIFTE 1A4A3 :: %IFTE 1A4A3 @ Internal IFTE (3:% 2:Any 1:Any) 1A4CD :: xIFT 1A4CD @ IFT (XLIB 2 48) 1A4F0 :: %IFT 1A4F0 @ Internal IFT (2:% 1:Any) 1A513 :: SYMIFT 1A513 @ Internal IFT (2:sym 1:Any) 1A52E :: xSYSEVAL 1A52E @ SYSEVAL (XLIB 2 49) 1A547 :: NS:HXSSYSEVAL 1A547 @ Internal SYSEVAL (1:HXS) 1A556 CD NS:#SYSEVAL 1A556 @ Internal SYSEVAL (1:#) 1A584 :: xDISP 1A584 @ DISP (XLIB 2 50) 1A5A4 :: xFREEZE 1A5A4 @ FREEZE (XLIB 2 51) 1A5C4 :: xBEEP 1A5C4 @ BEEP (XLIB 2 52) 1A5E4 :: x>NUM 1A5E4 @ ->NUM (XLIB 2 53) 1A604 :: xLASTARG 1A604 @ LASTARG (XLIB 2 54) 1A631 P NS:LASTARG 1A631 @ Internal LASTARG (Doesn't check LASTARG flag) 1A71F :: xWAIT 1A71F @ WAIT (XLIB 2 55) 1A738 :: HP:Wait/GetKey 1A738 @ Internal WAIT (1:%any) 1A7B5 :: %WAIT 1A7B5 @ Internal WAIT (timed) (1:%positive) (Does ?ATTNQUITNOLASTWD after) 1A7C9 :: HP:dowait 1A7C9 @ Deep internal WAIT (timed) (1:%positive) 1A7CE % %8192 1A7ED CD NS:HXSWAIT 1A7ED @ Deep internal WAIT (timed) (1:HXS) 1A858 :: xCLLCD 1A858 @ CLLCD (XLIB 2 56) 1A873 :: xKEY 1A873 @ KEY (XLIB 2 57) 1A8BB :: xCONT 1A8BB @ CONT (XLIB 2 58) 1A8D8 :: x= 1A8D8 @ = (XLIB 2 59) H:5C8 1A973 rf r_EQWR= 1A978 rf r_hex_args= 1A97D rf rr_DER= 1A982 rf rr_RINV= 1A987 rf rr_RULES7 1A995 :: xNEG 1A995 @ NEG (XLIB 2 60) H:5C8 1A9F4 rf r_EQWRNEG 1A9F9 h# hex_0108 1AA07 rf r_DERNEG 1AA0C rf r_RINVNEG 1AA11 rf rr_RULES6 1AA1F :: xABS 1AA1F @ ABS (XLIB 2 61) H:080 1AA60 rf rr_DERABS 1AA6E :: xCONJ 1AA6E @ CONJ (XLIB 2 62) H:0C8 1AAA5 rf r_DERCONJ 1AAAA rf r_RINVCONJ 1AAAF rf rr_RULES7 1AABD :: xPI 1AABD @ pi (XLIB 2 63) H:080 1AAD1 rf r_DROP%0 1AADF :: xMAXR 1AADF @ MAXR (XLIB 2 64) H:080 1AAF3 rf r_DROP%0 1AB01 :: xMINR 1AB01 @ MINR (XLIB 2 65) H:080 1AB15 rf r_DROP%0 1AB23 :: xe 1AB23 @ e (XLIB 2 66) H:080 1AB32 rf r_DROP%0 1AB45 :: xi 1AB45 @ i (XLIB 2 67) H:080 1AB59 rf r_DROP%0 1AB67 :: HP:x+ 1AB67 @ + (XLIB 2 68) H:5C8 1AC70 rf r_EQWR+ 1AC75 h# hex_70107 1AC84 rf rr_DER+ 1AC89 rf rr_RINV+ 1AC8E rf rr_RULES1 1AC93 :: NS:SWAP>HCOMP 1AC93 @ Internal + (2:Any 1:comp -> 1:comp) 1ACA7 :: $+O 1ACA7 @ Internal + (2:$ 1:Any -> 1:$) 1ACBB :: O+$ 1ACBB @ Internal + (2:Any 1:$ -> 1:$) 1ACDD :: xNOP 1ACDD @ + (no operation) (XLIB 2 69) H:500 1ACF6 rf r_EQWRNOP 1ACFB rf rhex_0108 1AD09 :: HP:x- 1AD09 @ - (XLIB 2 70) H:5C8 1ADCC rf r_EQWR- 1ADD1 rf rhex_70107 1ADD6 rf rr_DER- 1ADDB rf rr_RINV- 1ADE0 rf rr_RULES1 1ADEE :: HP:x* 1ADEE @ * (XLIB 2 71) H:5C8 1AED9 rf r_EQWR* 1AEDE h# hex_80108 1AEED rf rr_DER* 1AEF2 rf rr_RINV* 1AEF7 rf rr_RULES2 1AF05 :: x/ 1AF05 @ / (XLIB 2 72) H:5C8 1AFDC rf r_EQWR/ 1AFE1 rf r_DISPhex/ 1AFE6 rf rr_DER/ 1AFEB rf rr_RINV/ 1AFF0 rf rr_RULES2 1AFF5 :: DISPhex/ 1AFF5 @ If Tst_7068D:1 then hex_8014050 else hex_80108 1B013 h# hex_8014050 1B02D :: x^ 1B02D @ ^ (XLIB 2 73) H:5CC 1B0C8 rf r_EQWR^ 1B0CD rf r_DISPhex^ 1B0D2 rf rr_DER^ 1B0D7 rf rr_RINV^ 1B0DC rf rr_RULES3 1B0E1 rf r_INTG^ 1B0E6 :: DISPhex^ 1B0E6 @ If Tst_7068D:1 then hex_9014050 else hex_90109 1B104 h# hex_90109 1B113 h# hex_9014050 1B124 :: NS:CK%^ 1B124 @ Internal ^ (2:% 1:% -> 1:% /C%) 1B13D :: %^errorhandle 1B147 # ##304 1B185 :: xrpnXROOT 1B185 @ XROOT (XLIB 2 74) H:A 1B194 :: rpnXROOT 1B1BC rf r_xXROOT 1B1CA :: xXROOT 1B1CA @ XROOT (XLIB 2 75) H:401 1B233 rf r_EQWRXROOT 1B238 rf r_FORMXROOT 1B23D :: SWAPUMXROOT 1B23D @ (1:%/C%/Unit 2:%/C%/Unit -> 1:Unit) 1B251 :: SWAP%NROOT 1B251 @ Internal XROOT (1:% 2:% -> 1:%) 1B265 rf r_sNOP 1B26A rf r_sNOP 1B278 :: xINV 1B278 @ INV (XLIB 2 76) H:0CC 1B2B9 rf rr_DERINV 1B2BE rf rr_RINVINV 1B2C3 rf rr_RULES6 1B2C8 # r_INTGINV 1B2DB :: xARG 1B2DB @ ARG (XLIB 2 77) H:080 1B308 rf r_DERARG 1B30D :: %ARG 1B30D @ Internal ARG (1:% -> 1:%angle) 1B32A :: xSIGN 1B32A @ SIGN (XLIB 2 78) H:004 1B361 # r_INTGSIGN 1B374 :: xSQRT 1B374 @ SQRT (XLIB 2 79) H:5C4 1B3AB rf r_EQWRSQRT 1B3B0 rf r_DISPhexSQRT 1B3B5 rf rr_DERSQRT 1B3BA rf r_RINVSQRT 1B3BF # r_INTGSQRT 1B3C9 :: DISPhexSQRT 1B3C9 @ If Tst_7068D:1 then hex_014050 else hex_010C 1B3E7 h# hex_010C 1B3F5 :: NS:CK%SQRT 1B3F5 @ Internal sqrt (1:% (<0 too)) 1B426 :: xSQ 1B426 @ SQ (XLIB 2 80) H:0C4 1B467 rf rr_DERSQ 1B46C rf r_RINVSQ 1B471 # r_INTGSQ 1B47B :: NS:%SQ 1B47B @ Internal SQ (1:% -> 1:%) 1B48F :: NS:C%SQ 1B48F @ Internal SQ (1:C% -> 1:C%) 1B4AC :: xSIN 1B4AC @ SIN (XLIB 2 81) H:0CC 1B4E3 rf rr_DERSIN 1B4E8 rf rr_RINVSIN 1B4ED rf rr_RULES9 1B4F2 # r_INTGSIN 1B505 :: xCOS 1B505 @ COS (XLIB 2 82) H:0CC 1B53C rf rr_DERCOS 1B541 rf rr_RINVCOS 1B546 rf rr_RULES9 1B54B # r_INTGCOS 1B55E :: xTAN 1B55E @ TAN (XLIB 2 83) H:0CC 1B595 rf rr_DERTAN 1B59A rf rr_RINVTAN 1B59F rf rr_RULES9 1B5A4 # r_INTGTAN 1B5B7 :: xSINH 1B5B7 @ SINH (XLIB 2 84) H:0CC 1B5E4 rf rr_DERSINH 1B5E9 rf rr_RINVSINH 1B5EE rf rr_RULES9 1B5F3 # r_INTGSINH 1B606 :: xCOSH 1B606 @ COSH (XLIB 2 85) H:0CC 1B633 rf rr_DERCOSH 1B638 rf rr_RINVCOSH 1B63D rf rr_RULES9 1B642 # r_INTGCOSH 1B655 :: xTANH 1B655 @ TANH (XLIB 2 86) H:0CC 1B682 rf rr_DERTANH 1B687 rf rr_RINVTANH 1B68C rf rr_RULES9 1B691 # r_INTGTANH 1B6A4 :: xASIN 1B6A4 @ ASIN (XLIB 2 87) H:0CC 1B6D1 rf rr_DERASIN 1B6D6 rf r_RINVASIN 1B6DB rf rr_RULES10 1B6E0 # r_INTGASIN 1B6EA :: NS:CK%ASIN 1B6EA @ Internal ASIN (1:%any -> 1:%/C%) 1B6EF :: DUP%ABS>1NOT?case 1B6EF @ If %ABS(%)>1 then SKIP else COLA (1:% -> 1:%) 1B72F :: xACOS 1B72F @ ACOS (XLIB 2 88) H:0CC 1B75C rf rr_DERACOS 1B761 rf r_RINVACOS 1B766 rf rr_RULES10 1B76B # r_INTGACOS 1B775 :: NS:CK%ACOS 1B775 @ Internal ACOS (1:%any -> 1:%/C%) 1B79C :: xATAN 1B79C @ ATAN (XLIB 2 89) H:0CC 1B7C9 rf rr_DERATAN 1B7CE rf r_RINVATAN 1B7D3 rf rr_RULES10 1B7D8 # r_INTGATAN 1B7EB :: xASINH 1B7EB @ ASINH (XLIB 2 90) H:0C8 1B818 rf rr_DERASINH 1B81D rf r_RINVASINH 1B822 rf rr_RULES10 1B830 :: xACOSH 1B830 @ ACOSH (XLIB 2 91) H:0C8 1B85D rf rr_DERACOSH 1B862 rf r_RINVACOSH 1B867 rf rr_RULES10 1B86C :: NS:CK%ACOSH 1B86C @ Internal ACOSH (1:%any -> 1:%/C%) 1B8A2 :: xATANH 1B8A2 @ ATANH (XLIB 2 92) H:0C8 1B8CF rf rr_DERATANH 1B8D4 rf r_RINVATANH 1B8D9 rf rr_RULES10 1B8DE :: NS:CK%ATANH 1B8DE @ Internal ATANH (1:%any -> 1:%/C%) 1B905 :: xEXP 1B905 @ EXP (XLIB 2 93) H:0CC 1B932 rf rr_DEREXP 1B937 rf rr_RINVEXP 1B93C rf rr_RULES4 1B941 rf INTGEXP 1B94F :: xLN 1B94F @ LN (XLIB 2 94) H:0CC 1B97C rf rr_DERLN 1B981 rf r_RINVLN 1B986 rf rr_RULES5 1B98B # r_INTGLN 1B995 :: NS:CK%LN 1B995 @ Internal LN (1:%any -> 1:%/C%) 1B9C6 :: xLOG 1B9C6 @ LOG (XLIB 2 95) H:0CC 1B9F3 rf rr_DERLOG 1B9F8 rf r_RINVLOG 1B9FD rf rr_RULES5 1BA02 # r_INTGLOG 1BA0C :: NS:CK%LOG 1BA0C @ Internal LOG (1:%any -> 1:%/C%) 1BA3D :: xALOG 1BA3D @ ALOG (XLIB 2 96) H:0CC 1BA6A rf rr_DERALOG 1BA6F rf rr_RINVALOG 1BA74 rf rr_RULES4 1BA79 # r_INTGALOG 1BA8C :: xLNP1 1BA8C @ LNP1 (XLIB 2 97) H:0C0 1BAAF rf rr_DERLNP1 1BAB4 rf r_RINVLNP1 1BAC2 :: xEXPM1 1BAC2 @ EXPM1 (XLIB 2 98) H:0C4 1BAE5 rf rr_DEREXPM1 1BAEA rf rr_RINVEXPM1 1BAEF # r_INTGEXPM1 1BB02 :: x! 1BB02 @ ! (XLIB 2 99) H:500 1BB25 rf r_EXQR! 1BB2A h# hex_A010 1BB41 :: xFACT 1BB41 @ FACT (XLIB 2 100) (Same prg as x!) H:000 1BB6D :: xIP 1BB6D @ IP (XLIB 2 101) H:000 1BBA3 :: xFP 1BBA3 @ FP (XLIB 2 102) H:000 1BBD9 :: xFLOOR 1BBD9 @ FLOOR (XLIB 2 103) H:000 1BC0F :: xCEIL 1BC0F @ CEIL (XLIB 2 104) H:000 1BC45 :: xXPON 1BC45 @ XPON (XLIB 2 105) H:000 1BC71 :: xMAX 1BC71 @ MAX (XLIB 2 106) H:000 1BCE3 :: xMIN 1BCE3 @ MIN (XLIB 2 107) H:000 1BD55 :: xRND 1BD55 @ RND (XLIB 2 108) H:000 1BDBE rf r_sNOP 1BDC3 rf r_sNOP 1BDD1 :: xTRNC 1BDD1 @ TRNC (XLIB 2 109) H:000 1BE3A rf r_sNOP 1BE3F rf r_sNOP 1BE4D :: xMOD 1BE4D @ MOD (XLIB 2 110) H:100 1BE84 h# hex_80108 1BE9C :: xMANT 1BE9C @ MANT (XLIB 2 111) H:000 1BEC8 :: xD>R 1BEC8 @ D->R (XLIB 2 112) H:000 1BEF4 :: xR>D 1BEF4 @ R->D (XLIB 2 113) H:000 1BF1E :: x>HMS 1BF1E @ ->HMS (XLIB 2 114) 1BF3E :: xHMS> 1BF3E @ HMS-> (XLIB 2 115) 1BF5E :: xHMS+ 1BF5E @ HMS+ (XLIB 2 116) 1BF7E :: xHMS- 1BF7E @ HMS- (XLIB 2 117) 1BF9E :: xRNRM 1BF9E @ RNRM (XLIB 2 118) 1BFBE :: xCNRM 1BFBE @ CNRM (XLIB 2 119) 1BFDE :: xDET 1BFDE @ DET (XLIB 2 120) 1BFFE :: xDOT 1BFFE @ DOT (XLIB 2 121) 1C01E :: xCROSS 1C01E @ CROSS (XLIB 2 122) 1C03E :: xRSD 1C03E @ RSD (XLIB 2 123) 1C060 :: x% 1C060 @ % (XLIB 2 124) H:000 1C0B5 :: SWAPUM% 1C0B5 @ Internal % (2:% 1:Unit -> 1:%) 1C0D7 :: x%T 1C0D7 @ %T (XLIB 2 125) H:000 1C149 :: x%CH 1C149 @ %CH (XLIB 2 126) H:000 1C1B9 :: xRAND 1C1B9 @ RAND (XLIB 2 127) 1C1D4 :: xRDZ 1C1D4 @ RDZ (XLIB 2 128) 1C1F6 :: xCOMB 1C1F6 @ COMB (XLIB 2 129) H:000 1C236 :: xPERM 1C236 @ PERM (XLIB 2 130) H:000 1C274 :: xSF 1C274 @ SF (XLIB 2 131) 1C28D :: %SF 1C28D @ Internal SF (1:% ->) 1C2B0 :: %ABSCOERCE%0> 1C2B0 @ Abscoerces % & checks if %>0 (1:% -> 2:# 1:T/F ) 1C2D5 :: xCF 1C2D5 @ CF (XLIB 2 132) 1C2EE :: %CF 1C2EE @ Internal CF (1:% ->) 1C313 :: xFS? 1C313 @ FS? (XLIB 2 133) 1C32C :: %FS? 1C32C @ Internal FS? (1:% -> 1:%) 1C331 :: FS? 1C331 @ Internal FS? (1:% -> 1:T/F) 1C360 :: xFC? 1C360 @ FC? (XLIB 2 134) 1C379 :: %FC? 1C379 @ Internal FC? (1:% -> 1:%) 1C399 :: xDEG 1C399 @ DEG (XLIB 2 135) 1C3B4 :: xRAD 1C3B4 @ RAD (XLIB 2 136) 1C3CF :: xGRAD 1C3CF @ GRAD (XLIB 2 137) 1C3EA :: xFIX 1C3EA @ FIX (XLIB 2 138) 1C403 :: %FIX 1C403 @ Internal FIX (1:% ->) 1C41E :: xSCI 1C41E @ SCI (XLIB 2 139) 1C437 :: %SCI 1C437 @ Internal SCI (1:% ->) 1C452 :: xENG 1C452 @ ENG (XLIB 2 140) 1C46B :: %ENG 1C46B @ Internal ENG (1:% ->) 1C486 :: xSTD 1C486 @ STD (XLIB 2 141) 1C4A1 :: xFS?C 1C4A1 @ FS?C (XLIB 2 142) 1C4BA :: %FS?C 1C4BA @ Internal FS?C (1:% -> 1:%) 1C4BF :: FS?C 1C4BF @ Internal FS?C (1:% -> 1:T/F) 1C4CE :: UserFS?C 1C4CE @ User flag set? and clear (1:# -> 1:T/F) 1C4EC :: SystFS?C 1C4EC @ System flag set? and clear (1:# -> 1:T/F) 1C520 :: xFC?C 1C520 @ FC?C (XLIB 2 143) 1C539 :: %FC?C 1C539 @ Internal FC?C (1:% -> 1:%) 1C559 :: xBIN 1C559 @ BIN (XLIB 2 144) 1C574 :: xDEC 1C574 @ DEC (XLIB 2 145) 1C58F :: xHEX 1C58F @ HEX (XLIB 2 146) 1C5AA :: xOCT 1C5AA @ OCT (XLIB 2 147) 1C5C5 :: xSTWS 1C5C5 @ STWS (XLIB 2 148) 1C5DE :: HXSSTWS 1C5DE @ Internal STWS (1:HXS ->) 1C5FE :: xRCWS 1C5FE @ RCWS (XLIB 2 149) 1C619 :: xRCLF 1C619 @ RCLF (XLIB 2 150) 1C637 P HP:RCLSYSF 1C637 @ Recall System Flags (-> 1:HXS) 1C64E P NS:RCLUSERF 1C64E @ Recall User Flags (-> 1:HXS) 1C67F :: HP:xSTOF 1C67F @ STOF (XLIB 2 151) 1C6A2 :: {}STOF 1C6A2 @ Internal STOF (1:{} ->) 1C6CF :: HXSSTOF 1C6CF @ Internal STOF (2:HXSsystem 1:HXSuser ->) 1C6E3 :: CKSYSSTOF 1C6E3 @ Internal STOF (system) (1:HXS ->) 1C6F7 P USERSTOF 1C6F7 @ Store user flags (1:HXS ->) 1C731 P SYSSTOF 1C731 @ Store system flags (1:HXS ->) (Doesn't check changes in LASTARG flag) 1C783 :: x>LIST 1C783 @ ->LIST (XLIB 2 152) 1C79E :: xR>C 1C79E @ R->C (XLIB 2 153) 1C7CA :: xRE 1C7CA @ RE (XLIB 2 154) H:008 1C80B rf rr_RULES7 1C819 :: xIM 1C819 @ IM (XLIB 2 155) H:008 1C850 rf rr_RULES7 1C85C :: xSUB 1C85C @ SUB (XLIB 2 156) 1C87A # NS:##C55 1C889 # NS:##C22 1C898 # NS:##855 1C8A7 # NS:##822 1C8BB :: %SUB$ 1C8BB @ Internal SUB (3:$ 2:% 1:% -> 1:$) 1C8CF :: %{}SUB 1C8CF @ Internal SUB (3:{} 2:% 1:% -> 1:{}) 1C8EA :: xREPL 1C8EA @ REPL (XLIB 2 157) 1C8F4 # NS:##C5C 1C903 # NS:##C2C 1C912 # NS:##85C 1C921 # NS:##82C 1C930 # NS:##313 1C93F # NS:##515 1C95A :: xLIST> 1C95A @ LIST-> (XLIB 2 158) 1C973 :: NS:INNERCOMP>% 1C973 @ INNERCOMP & UNCOERCE (1:Comp -> N+1:...1:%n) 1C98E :: xC>R 1C98E @ C->R (XLIB 2 159) 1C9B8 :: HP:xSIZE 1C9B8 @ SIZE (XLIB 2 160) 1CA0D :: NS:DROP%1 1CA0D @ Internal DROP and 1 1CA26 :: NS:LEN$>% 1CA26 @ Internal SIZE (bytes) (1:$ -> 1:%) 1CA3A :: NS:LENCOMP>% 1CA3A @ Internal SIZE (1:comp -> 1:%) 1CA4E :: NS:DIMLIMITS>% 1CA4E @ Internal SIZE (1:[] -> 1:{% (%)}) 1CA62 :: GROBDIM>HXS 1CA62 @ Internal SIZE (1:Grob -> 2:HXS 1:HXS) 1CA85 :: SIZESECO 1CA85 @ Internal SIZE (1:Program/PICT -> 1: %1 / 2:HXS 1:HXS) 1CAB4 :: xPOS 1CAB4 @ POS (XLIB 2 161) 1CAD7 :: POS$>% 1CAD7 @ Internal POS (2:$ 1:$ -> 1:%) 1CAF0 :: EQUALPOSCOMP>% 1CAF0 @ Internal POS (2:Comp 1:Any -> 1:%) 1CB0B :: x>STR 1CB0B @ ->STR (XLIB 2 162) 1CB26 :: xSTR> 1CB26 @ STR-> (XLIB 2 163) 1CB46 :: xNUM 1CB46 @ NUM (XLIB 2 164) 1CB66 :: xCHR 1CB66 @ CHR (XLIB 2 165) 1CB86 :: xTYPE 1CB86 @ TYPE (XLIB 2 166) 1CB90 :: HP:XEQTYPE 1CB90 @ Internal TYPE (1:Any -> 2:Any 1:%type) 1CC03 % HP:%11 1CC1D % HP:%12 1CC37 % HP:%13 1CC51 % HP:%14 1CC6B % HP:%20 1CC85 % HP:%15 1CC9A # <3Fh> 1CCA4 % HP:%21 1CCB9 # <4Fh> 1CCC3 % HP:%22 1CCD8 # NS:##5F 1CCD8 # lnkarry 1CCE2 % HP:%23 1CCF7 # <6Fh> 1CCF7 # char 1CD01 % HP:%24 1CD16 # NS:##7F 1CD16 # codeob 1CD20 % HP:%25 1CD3A % HP:%16 1CD54 % HP:%17 1CD69 # NS:##AF 1CD69 # libdata 1CD73 % HP:%26 1CD8D % HP:%27 1CDB1 :: XEQTYPE[] 1CDB1 @ Internal TYPE (1:[] -> 2:[] 1:%3 or %4) 1CDD4 :: XEQTYPESECO 1CDD4 @ Internal TYPE (1:seco -> 1:%8, %18 or %19) 1CDF2 % NS:%18 1CE07 % NS:%19 1CE28 :: xVTYPE 1CE28 @ VTYPE (XLIB 2 167) 1CE55 :: NAMEVTYPE 1CE55 @ Internal VTYPE (1:ID/LAM -> 1:%) 1CE5F :: ?XEQTYPESWAPDROP 1CE5F @ If True then (2:Ob 1:T -> 1:%type) else (2:Ob 1:F -> 2:Ob 1:%-1) 1CE82 :: TAGVTYPE 1CE82 @ Internal VTYPE (1:Tagged -> 1:%) 1CE8C :: RCLTAGTRUE 1CEA5 :: RCLTAGERRhandle 1CEAF # NS:##204 1CEE3 :: xEQ> 1CEE3 @ EQ-> (XLIB 2 168) 1CF2E :: ALGEQ> 1CF2E @ Internal EQ-> (1:ALG -> 1CF42 :: NS:opzerpshargS 1CF42 @ (Meta2&Meta1 -> ALG_Meta2 ALG_Meta1) 1CF42 @ Example: A B + C D + * #7 -> 'A+B' 'C+D' 1CF7B :: HP:xOBJ> 1CF7B @ OBJ-> (XLIB 2 169) 1CFD0 :: ALGOBJ> 1CFD0 @ Internal OBJ-> (1:ALG -> Args 2:#Args 3:) 1D009 :: x>ARRY 1D009 @ ->ARRY (XLIB 2 170) 1D02C :: %>ARRY 1D02C @ Internal ->ARRY (N+1...floats...1:%n -> 1:[]) 1D040 :: {}>ARRY 1D040 @ Internal ->ARRY (...floats...1:{dims} -> 1:[]) 1D054 :: HP:XEQ>ARRAY 1D054 @ Internal ->ARRY (...floats...1:{dims} -> 1:[]) 1D054 @ Faster than {}>ARRY (Drops some tests) 1D092 :: xARRY> 1D092 @ ARRY-> (XLIB 2 171) 1D0AB :: ARRY> 1D0AB @ Internal ARRY-> (1:[] -> ...1:{dims}) 1D0AB @ ( :: ONE_DO_ARRAY INDEX@ PULLEL SWAP LOOP DIMLIMITS UNCOERCE{}2 ;) 1D0DF :: HP:xRDM 1D0DF @ RDM (XLIB 2 172) 1D10C :: RDM 1D10C @ Internal RDM (2:[] 1:{} -> 1:[]) 1D125 :: IDRDM 1D125 @ Internal RDM (2:ID 1:{}) 1D152 :: LAMRDM 1D152 @ Internal RDM (2:LAM 1:{}) 1D186 :: HP:xCON 1D186 @ CON (XLIB 2 173) 1D1D6 # <72h> 1D1EA :: {}CON 1D1EA @ Internal CON (2:{%dims} 1:%/C% -> 1:[]) 1D221 :: MATC%CON 1D221 @ Internal CON (2:[] 1:C% -> 1:[]) 1D23F :: ID%CON% 1D23F @ Internal CON (2:ID 1:%) 1D262 :: IDC%CON 1D262 @ Internal CON (2:ID 1:C%) 1D28A :: LAM%CON 1D28A @ Internal CON (2:LAM 1:%) 1D2AD :: LAMC%CON 1D2AD @ Internal CON (2:LAM 1:C%) 1D2DC :: xIDN 1D2DC @ IDN (XLIB 2 174) 1D313 :: %IDN 1D313 @ Internal IDN (1:% -> 1:[]) 1D34A :: IDIDN 1D34A @ Internal IDN (1:ID) 1D36D :: LAMIDN 1D36D @ Internal IDN (1:LAM) 1D392 :: xTRN 1D392 @ TRN (XLIB 2 175) 1D3BF :: IDTRN 1D3BF @ Internal TRN (1:ID) 1D3E2 :: LAMTRN 1D3E2 @ Internal TRN (1:LAM) 1D407 :: xPUT 1D407 @ PUT (XLIB 2 176) 1D42F # NS:##750 1D448 # NS:##710 1D484 :: IDPUT 1D484 @ Internal PUT (3:ID 2:%/{} 1:Any) 1D4DE :: []PUT 1D4DE @ Internal PUT (3:[] 2:%/{} 1:%/C%) 1D501 :: IDMATPUTSTO 1D501 @ (4:ID 3:[] 2:{}/% 1:%/C%) 1D524 :: {}PUT 1D524 @ Internal PUT (3:{} 2:%/{} 1:Any) 1D54C :: ID{}PUTSTO 1D54C @ (4:ID 3:{} 2:{}/% 1:Any) 1D565 :: LAMPUT 1D565 @ Internal PUT (3:LAM 2:%/{} 1:Any) 1D5BF :: []PUTSWAPSAFESTO 1D5DF :: HP:xPUTI 1D5DF @ PUTI (XLIB 2 177) 1D611 # <750h> 1D620 # <710h> 1D65C :: IDPUTI 1D65C @ Internal PUTI (3:ID 2:%/{} 1:Any) 1D6B6 :: []PUTI 1D6B6 @ Internal PUTI (3:[] 2:%/{} 1:%/C%) 1D6DE :: IDMATPUTISTO 1D701 :: {}PUTI 1D701 @ Internal PUTI (3:{} 2:%/{} 1:Any) 1D729 :: ID{}PUTISTO 1D747 :: LAMPUTI 1D747 @ Internal PUTI (3:LAM,2:%/List,1:Any) 1D7A1 :: []PUTISWAP3PICKSAFESTO 1D7C6 :: xGET 1D7C6 @ GET (XLIB 2 178) 1D825 :: NAMEGET 1D825 @ Internal GET (2:ID/LAM, 1:%/{}) 1D86B :: CK[]GET 1D86B @ Internal GET (2:[] 1:%/{}) 1D875 :: []GET 1D898 :: CK{}GET 1D898 @ Internal GET (2:{} 1:%/{}) 1D8A2 :: {}GET 1D8C7 :: xGETI 1D8C7 @ GETI (XLIB 2 179) 1D926 :: NAMEGETI 1D926 @ Internal GETI (2:ID/LAM,1:%/List) 1D96C :: CK[]GETI 1D96C @ Internal GETI (2:Array,1:%/List) 1D976 :: []GETI 1D9A8 :: []GETIROTDROP 1D9BC :: {}GETI 1D9BC @ Internal GETI (2:List,1:%/List) 1D9E9 :: {}GETIROTDROP 1DA02 :: CK[]PUTIWRAP 1DA20 :: 1DA48 :: 1DA75 :: 3DROPONEDUPSetIndexWrapFlag 1DA93 :: 1DABB :: HP:#1+ROT 1DAED :: CK{}PUTIWRAP 1DB29 :: #=ITE_DROP%1SetIndexWrapFlag_#1+UNCOERCE 1DB33 :: %1SetIndexWrapFlag 1DB5B :: No{}Element?ERR_COERCE 1DB6F :: INNER#1<>?ERR 1DB6F @ INNERCOMP, if size <> #1 then SIZEERR 1DBB0 :: CKREFUNROTPUTEL 1DBC9 :: CKNEWOBUNROTPUTELDROP 1DBD8 :: MakeNEWContentsSWAPDROP 1DC00 :: HP:PUTLIST 1DC00 @ PUTI (3:Ob 2:#n 1:{} -> 1:{} ) 1DC00 @ Works for other composites too, if you change the prolog afterwards 1DC55 :: UNROTNOElement#?ERR_SWAP 1DC6E :: NOElement#?ERR 1DC6E @ (2:[] 1:{xloc (yloc)} / %loc -> 2:[] 1:#loc) (xloc & yloc ->NUMmable) 1DC7D :: NO{}Element#?ERR 1DC7D @ (2:[] 1:{xloc (yloc)} -> 2:[] 1:#loc) (xloc & yloc ->NUMmable) 1DCC3 :: CKPUTMATMATCH 1DCC3 @ Checks that (3:[] 2:Any 1:%/C%) stk1 is of right type to put in [] 1DCDC :: NS:NOT?Re>C% 1DD06 :: xV> 1DD06 @ V-> (XLIB 2 180) 1DD29 :: C%V> 1DD29 @ Internal V-> (1:C%) 1DD3D :: []V> 1DD3D @ Internal V-> (1:[]) 1DD51 :: []V>%% 1DDC4 :: 1DDEC :: 2@REVALSWAP2@REVALSWAP 1DE19 :: VC%>%% 1DE28 :: 1DE66 :: x>V2 1DE66 @ ->V2 (XLIB 2 181) 1DE7F :: >V2 1DE7F @ Internal ->V2 (2:% 1:%) 1DEC2 :: x>V3 1DEC2 @ ->V3 (XLIB 2 182) 1DEDB :: >V3 1DEDB @ Internal ->V3 (3:%,2:%,1:%) 1DEEF :: CurvCoords 1DEEF @ Internal (3:% 2:% 1:% -> 3:% 2:% 1:%) 1DEEF @ If spherical flag on then %SPH>%REC, else %3DPOL>%REC 1DF03 :: %3DPOL>%REC 1DF03 @ Polar coords to rectangular (3D) (3:% 2:% 1:% -> 3:% 2:% 1:%) 1DF30 :: CKReFLOATS>1LAM 1DF30 @ If stk3 is NULLCOMP then SIZEERR else (3:comp 2:Ob2 1:Ob1 ->) 1DF30 @ 4LAM: Ob2 3LAM:Ob1 2LAM:Last Unit in comp 1DF30 @ 1LAM: {%:NOP C%:C%>Re Unit:U>nbr} are the operations done 1DF30 @ If not all comp obs of above types (After CRUNCH) then ERROR 1DF30 @ Ex: :: DUPDUP CKREFLOATS>1LAM 1GETABND ; ensures you get a real list 1DF71 :: ForceReal 1DF71 @ CRUNCH, then does C%>Re, U>Nbr or NOP (%) (else error) & DUP2PUTLAM 1DF9E :: DUP2PUTLAMU>nbr 1DFDF :: CKDIM{}stk1REALS 1DFDF @ Converts all entries (CRUNCH C%>Re etc) in {} to reals (Error if..) 1DFDF @ (2:Any 1:%/{} -> 2:Any 1:%/{}) 1E00C :: CKDIM{}stk2REALS 1E00C @ Converts all entries (CRUNCH C%>Re etc) in {} to reals (Error if..) 1E00C @ (3:Any 2:%/{} 1:Any -> 3:Any 2:%/{} 1:Any) 1E04A :: xINDEP 1E04A @ INDEP (XLIB 2 183) 1E07E :: xPMIN 1E07E @ PMIN (XLIB 2 184) 1E09E :: xPMAX 1E09E @ PMAX (XLIB 2 185) 1E0BE :: xAXES 1E0BE @ AXES (XLIB 2 186) 1E0E8 :: xCENTR 1E0E8 @ CENTR (XLIB 2 187) 1E101 :: %CENTR 1E101 @ Internal CENTR (1:%) 1E126 :: xRES 1E126 @ RES (XLIB 2 188) 1E150 :: x*H 1E150 @ *H (XLIB 2 189) 1E170 :: x*W 1E170 @ *W (XLIB 2 190) 1E190 :: xDRAW 1E190 @ DRAW (XLIB 2 191) 1E1AB :: xAUTO 1E1AB @ AUTO (XLIB 2 192) 1E1C6 :: xDRAX 1E1C6 @ DRAX (XLIB 2 193) 1E1E1 :: xSCALE 1E1E1 @ SCALE (XLIB 2 194) 1E201 :: xPDIM 1E201 @ PDIM (XLIB 2 195) 1E22B :: xDEPND 1E22B @ DEPND (XLIB 2 196) 1E25F :: xERASE 1E25F @ ERASE (XLIB 2 197) 1E27A :: xPX>C 1E27A @ PX->C (XLIB 2 198) 1E29A :: xC>PX 1E29A @ C->PX (XLIB 2 199) 1E2BA :: xGRAPH 1E2BA @ GRAPH (XLIB 2 200) 1E2D5 :: xLABEL 1E2D5 @ LABEL (XLIB 2 201) 1E2F0 :: xPVIEW 1E2F0 @ PVIEW (XLIB 2 202) 1E31A :: xPIXON 1E31A @ PIXON (XLIB 2 203) 1E344 :: xPIXOFF 1E344 @ PIXOFF (XLIB 2 204) 1E36E :: xPIX? 1E36E @ PIX? (XLIB 2 205) 1E398 :: xLINE 1E398 @ LINE (XLIB 2 206) 1E3C2 :: xTLINE 1E3C2 @ TLINE (XLIB 2 207) 1E3EC :: xBOX 1E3EC @ BOX (XLIB 2 208) 1E416 :: xBLANK 1E416 @ BLANK (XLIB 2 209) 1E436 :: xPICT 1E436 @ PICT (XLIB 2 210) (:: CK0 ' xPICT ;) 1E456 :: xGOR 1E456 @ GOR (XLIB 2 211) 1E460 # 1E46A :: GORGROB{} 1E46A @ Internal GOR (3:Grob 2:{} 1:Grob) 1E47E # 1E488 :: GORGROBC% 1E488 @ Internal GOR (3:Grob 2:C% 1:Grob) 1E49C # <85Ch> 1E4A6 :: GORPICT{} 1E4A6 @ Internal GOR (3:PICT 2:{} 1:Grob) 1E4BA # <82Ch> 1E4C4 :: GORPICTC% 1E4C4 @ Internal GOR (3:PICT 2:C% 1:Grob) 1E4E4 :: xGXOR 1E4E4 @ GXOR (XLIB 2 212) 1E4EE # 1E4F8 :: GXORGROB{} 1E50C # 1E516 :: GXORGROBC% 1E52A # <85Ch> 1E534 :: GXORPICT{} 1E548 # <82Ch> 1E552 :: GXORPICTC% 1E572 :: xLCD> 1E572 @ LCD-> (XLIB 2 213) 1E58D :: x>LCD 1E58D @ ->LCD (XLIB 2 214) 1E5AD :: x>GROB 1E5AD @ ->GROB (XLIB 2 215) 1E5B7 # <1h> 1E5D2 :: xARC 1E5D2 @ ARC (XLIB 2 216) 1E5DC # <2111h> 1E5EB # <5B11h> 1E606 :: xTEXT 1E606 @ TEXT (XLIB 2 217) 1E621 :: xXRNG 1E621 @ XRNG (XLIB 2 218) 1E641 :: xYRNG 1E641 @ YRNG (XLIB 2 219) 1E661 :: HP:xFUNCTION 1E661 @ FUNCTION (XLIB 2 220) 1E681 :: xCONIC 1E681 @ CONIC (XLIB 2 221) 1E6A1 :: HP:xPOLAR 1E6A1 @ POLAR (XLIB 2 222) 1E6C1 :: HP:xPARAMETRIC 1E6C1 @ PARAMETRIC (XLIB 2 223) 1E6E1 :: xTRUTH 1E6E1 @ TRUTH (XLIB 2 224) 1E701 :: xSCATTER 1E701 @ SCATTER (XLIB 2 225) 1E721 :: xHISTOGRAM 1E721 @ HISTOGRAM (XLIB 2 226) 1E741 :: xBAR 1E741 @ BAR (XLIB 2 227) 1E761 :: xSAME 1E761 @ SAME (XLIB 2 228) (:: EQUAL COERCEFLAG ;) 1E783 :: xAND 1E783 @ AND (XLIB 2 229) H:100 1E7CE h# hex_50105 1E7DD :: %AND 1E7DD @ Internal AND (2:% 1:% -> 1:%) 1E809 :: xOR 1E809 @ OR (XLIB 2 230) H:100 1E854 h# hex_40104 1E863 :: %OR 1E863 @ Internal OR (2:%,1:%) 1E88F :: xNOT 1E88F @ NOT (XLIB 2 231) H:500 1E8C6 rf EQWRNOT 1E8CB h# hex_0105 1E8D9 :: %NOT 1E8D9 :: #0=COERCEFLAG 1E8D9 @ Internal NOT (1:%) 1E8F6 :: xXOR 1E8F6 @ XOR (XLIB 2 232) H:100 1E941 rf rhex_40104 1E946 :: %XOR 1E946 @ Internal XOR (2:%,1:%) 1E972 :: x== 1E972 @ == (XLIB 2 233) (Last default is EQUAL>%) H:100 1EA21 h# hex_60106 1EA30 :: EQUAL>% 1EA30 @ Internal == (2:Any 1:Any -> 1:%) 1EA44 :: STRIPTAGS== 1EA44 @ Internal == (2:Tagged/Any,1:Tagged/Any) 1EA6C :: %==C% 1EA6C @ Internal == (2:%,1:C% -> 1:%) 1EA76 :: C%==% 1EA76 @ Internal == (2:C%,1:% -> 1:%) 1EA9D :: x<> 1EA9D @ <> (XLIB 2 234) H:100 1EB4C rf rhex_60106 1EB51 :: EQUALNOT>% 1EB51 @ Internal <> (2:Any,1:Any -> 1:%) 1EB65 :: STRIPTAGS<> 1EB65 @ Internal <> (2:Tagged/Any,1:Tagged/Any) 1EB8D :: %<>C% 1EB8D @ Internal <> (2:%,1:C% -> 1:%) 1EB97 :: C%<>% 1EB97 @ Internal <> (2:C%,1:% -> 1:%) 1EBBE :: HP:x 1:%) 1EC5D :: HP:x>? 1EC5D @ > (XLIB 2 236) H:100 1ECDA rf rhex_60106 1ECDF :: %>UNCOERCE 1ECDF @ Internal > (2:%,1:% -> 1:%) 1ECFC :: x<= 1ECFC @ <= (XLIB 2 237) H:100 1ED79 rf rhex_60106 1ED7E :: %<=UNCOERCE 1ED7E @ Internal <= (2:%,1:%) 1ED9B :: x>= 1ED9B @ >= (XLIB 2 238) H:100 1EE18 rf rhex_60106 1EE1D :: %>=UNCOERCE 1EE1D @ Internal >= (2:%,1:%) 1EE38 :: xOLDPRT 1EE38 @ OLDPRT (XLIB 2 239) 1EE53 :: xPR1 1EE53 @ PR1 (XLIB 2 240) 1EE6E :: xPRSTC 1EE6E @ PRSTC (XLIB 2 241) 1EE89 :: xPRST 1EE89 @ PRST (XLIB 2 242) 1EEA4 :: xCR 1EEA4 @ CR (XLIB 2 243) 1EEBF :: xPRVAR 1EEBF @ PRVAR (XLIB 2 244) 1EEEC :: PRVARTAG 1EEEC @ Internal PRVAR (1:Tagged) 1EF1E :: PRVAR{} 1EF1E @ Internal PRVAR (1:List) 1EF43 :: xDELAY 1EF43 @ DELAY (XLIB 2 245) 1EF63 :: xPRLCD 1EF63 @ PRLCD (XLIB 2 246) 1EF7E :: xrpnDER 1EF7E @ delta (complete derivative) (XLIB 2 247) H:E 1EFBF rf r_EQWRDER 1EFC4 rf r_xDER 1EFD2 :: xDER 1EFD2 @ delta (stepwise derivative) (XLIB 2 248) H:5A7 1F009 rf r_EQWRDER 1F00E h# hex_0134250 1F01F rf rr_DERDER 1F024 # MAKEDER 1F02E # r_INTGDER 1F038 # r_WHEREDER 1F042 rf r_FORMDER 1F047 :: NS:2DROP%0 1F047 @ Internal DROP2 and push 0 1F05B P HP:CKSYMBTYPE 1F05B @ A 1 element (ID/LAM) Algebraic? (Like ALG_X) (1:Any -> 1:Any) 1F0F5 :: CKstepDER 1F0F5 @ Internal stepwise der (2:ALG_var 1:sym) (Does CKSYMBTYPE on stk2) 1F113 :: SWAPCKSYMBTYPE2DROP%0 1F113 @ (2:ALG_var 1:Any -> 1:%0 , CKSYMBTYPE done on stk2 1F133 :: xRCEQ 1F133 @ RCEQ (XLIB 2 249) 1F14E :: xSTEQ 1F14E @ STEQ (XLIB 2 250) 1F16E :: xROOT 1F16E @ ROOT (XLIB 2 251) 1F1D4 :: xrpnINTEGRAL 1F1D4 @ integral (stack syntax) (XLIB 2 252) H:E 1F1F7 rf EQWRINTG 1F1FC rf r_INTEGRAL 1F201 :: NS:NAMEINTEG 1F201 @ Internal integral (stack syntax) (1:ID/LAM) 1F223 :: xINTEGRAL 1F223 @ integral (algebraic syntax) (XLIB 2 253) H:5A7 1F23C rf r_EQWRINTG 1F241 h# hex_014060626350 1F257 # r_DERINTG 1F25C # r_MAKEINTG 1F266 rf r_INTGINTG 1F26B # r_WHEREINTG 1F275 rf r_FORMINTG 1F27A :: NS:ALGINTEG 1F27A @ Internal integral (algebraic syntax) (1:ALG) 1F2C9 :: xSUM 1F2C9 @ Sigma (XLIB 2 254) H:5A3 1F2D3 # 1F2E2 # 1F2F1 # 1F300 # 1F314 rf r_EQWRSUM 1F319 h# hex_014370606250 1F32F rf rr_DERSUM 1F334 # r_MAKESUM 1F33E # r_WHERESUM 1F348 rf r_FORMSUM 1F354 :: xrpnWHERE 1F354 @ | (stack syntax) (XLIB 2 255) H:E 1F381 rf r_EQWRWHERE 1F386 rf r_WHERE 1F38B :: rpnWHERE 1F38B @ Internal | (stack syntax) (2:sym 1:{ID newID ID newID...}) 1F3F3 :: xWHERE 1F3F3 @ | (algebraic syntax) (XLIB 2 256) H:5A3 1F407 rf r_EQWRWHERE 1F40C h# hex_2214370B50 1F420 rf rr_DERWHERE 1F425 rf r_xWHERE 1F42A # r_WHEREWHERE 1F434 rf r_FORMWHERE 1F439 :: CKSYMBWHERE 1F439 @ Internal | (N+2:sym..3:ID 2:newID 1:#n) (#n is changes*2+1) 1F439 @ Changes sym to ALG, IDs to ALG_IDs & Checks they're valid 1F43E :: CKSYMBWHEREargs 1F4CA :: symcomppshob 1F4CA @ (Meta Ob -> Ob&Meta) where Ob prolog is changed to ALG 1F500 :: xQUOTE 1F500 @ QUOTE (XLIB 2 257) H:121 1F523 h# hex_014250 1F533 # rr_MAKEQUOTE 1F53D rf r_FORMQUOTE 1F542 :: QUOTE 1F542 @ Internal QUOTE (1:ALG -> 1:ALG) (Explodes & puts back again) 1F55D :: xrpnAPPLY 1F55D @ APPLY (stack syntax) (XLIB 2 258) H:A 1F580 rf r_xAPPLY 1F585 :: CKLEN&ArgsAPPLY 1F585 @ Internal APPLY (stack syntax) (2:{} 1:ID/LAM -> 1:ALG_ID(args) ) 1F5C5 :: xAPPLY 1F5C5 @ APPLY (algebraic syntax) (XLIB 2 259) H:181 1F5D9 h# hex_014360950 1F5EC rf rr_DERAPPLY 1F5F1 rf r_FORMAPPLY 1F5F6 :: APPLY 1F5F6 @ (N+1:ALG_name N:arg 1st...2:arg last 1:#n -> 1:ALG_ID(args)) 1F640 :: HP:xFCNAPPLY 1F640 @ XLIB 2 260 (Won't show on screen ("")) H:4A2 1F640 @ ..args 2:ALG_ID 1:#args -> 1:ALG_ID(args) 1F6C2 rf r_EQWRFCNAPPLY 1F6C7 rf r_DERFCNAPPLY 1F6CC # r_MAKEAPPLY 1F6D6 # r_WHEREAPPLY 1F6E0 :: FREEVARAPPLY 1F6E0 @ (..args 1:ID/LAM -> 1:ALG_name(args) (#Args in 1LAM & Name not used) 1F758 :: CKUSEDsecoVARAPPLY 1F776 :: CKUSED{}VARAPPLY 1F7C1 :: CKUSED[]VARAPPLY 1F81B :: 1F86B :: CKUSEDrompVARAPPLY 1F870 :: 1F8CF :: STOALG 1F8CF @ Internal STO (2:Any 1:ALG) 1F8DE :: 1F960 {} LAM{'num} 1F96F l' LAM_'num 1F97E l' LAM_'fcn 1F996 :: NS:COMPLEXDUMMY 1F996 @ XLIB 2 261 ( :: CK2&Dispatch ; ) H:000 1F9AE :: NS:POLARDUMMY 1F9AE @ XLIB 2 262 ( :: CK2&Dispatch ; ) H:000 1F9C4 :: x>Q 1F9C4 @ ->Q (XLIB 2 263) 1F9E9 :: x>QPI 1F9E9 @ ->QPI (XLIB 2 264) 1FA07 :: >QQ 1FA07 @ True: ->QPI False: ->Q (2:Any 1:flag) 1FA59 :: xUPMATCH 1FA59 @ ^MATCH (XLIB 2 265) 1FA8D :: xDOWNMATCH 1FA8D @ vMATCH (XLIB 2 266) 1FABA :: NS:UPMATCH 1FABA @ Internal ^MATCH (2:%/C%/sym 1:{} -> 2:Ob 1:%) 1FACE :: NS:DOWNMATCH 1FACE @ Internal vMATCH (2:%/C%/sym 1:{} -> 2:Ob 1:%) 1FAEB :: xFORMUNIT 1FAEB @ _ (XLIB 2 267) H:501 1FB18 rf r_EQWRUNIT 1FB1D h# hex_90127 1FB2C rf r_FORMUNIT 1FB31 :: FORM%UNIT 1FB31 @ Internal _ (1:%/Unit) 1FB5D :: xRATIO 1FB5D @ RATIO (XLIB 2 268) (Same as x/) H:500 1FB76 rf r_EQWRRATIO 1FB7B rf rhex_0140605 1FB87 :: xDUP 1FB87 @ DUP (XLIB 2 269) 1FBA2 :: xDUP2 1FBA2 @ DUP2 (XLIB 2 270) 1FBBD :: xSWAP 1FBBD @ SWAP (XLIB 2 271) 1FBD8 :: xDROP 1FBD8 @ DROP (XLIB 2 272) 1FBF3 :: xDROP2 1FBF3 @ DROP2 (XLIB 2 273) 1FC0E :: xROT 1FC0E @ ROT (XLIB 2 274) 1FC29 :: xOVER 1FC29 @ OVER (XLIB 2 275) 1FC44 :: xDEPTH 1FC44 @ DEPTH (XLIB 2 276) 1FC64 :: xDROPN 1FC64 @ DROPN (XLIB 2 277) 1FC7F :: xDUPN 1FC7F @ DUPN (XLIB 2 278) 1FC9A :: xPICK 1FC9A @ PICK (XLIB 2 279) 1FCB5 :: xROLL 1FCB5 @ ROLL (XLIB 2 280) 1FCD0 :: xROLLD 1FCD0 @ ROLLD (XLIB 2 281) 1FCEB :: xCLEAR 1FCEB @ CLEAR (XLIB 2 282) 1FD0B :: xSTOsigma 1FD0B @ STOsigma (XLIB 2 283) 1FD2B :: xCLsigma 1FD2B @ CLSigma (XLIB 2 284) 1FD46 :: xRCLsigma 1FD46 @ RCLSigma (XLIB 2 285) 1FD61 :: xsigma+ 1FD61 @ Sigma+ (XLIB 2 286) 1FD8B :: xsigma- 1FD8B @ Sigma- (XLIB 2 287) 1FDA6 :: xNsigma 1FDA6 @ NSigma (XLIB 2 288) 1FDC1 :: xCORR 1FDC1 @ CORR (XLIB 2 289) 1FDDC :: xCOV 1FDDC @ COV (XLIB 2 290) 1FDF7 :: xsigmaX 1FDF7 @ SigmaX (XLIB 2 291) 1FE12 :: xsigmaY 1FE12 @ SigmaY (XLIB 2 292) 1FE2D :: xsigmaXX 1FE2D @ SigmaX^2 (XLIB 2 293) 1FE48 :: xsigmaYY 1FE48 @ SigmaY^2 (XLIB 2 294) 1FE63 :: xsigmaXY 1FE63 @ SigmaX*Y (XLIB 2 295) 1FE7E :: xMAXsigma 1FE7E @ MAXSigma (XLIB 2 296) 1FE99 :: xMEAN 1FE99 @ MEAN (XLIB 2 297) 1FEB4 :: xMINsigma 1FEB4 @ MINSigma (XLIB 2 298) 1FECF :: xSDEV 1FECF @ SDEV (XLIB 2 299) 1FEEA :: xTOT 1FEEA @ TOT (XLIB 2 300) 1FF05 :: xVAR 1FF05 @ VAR (XLIB 2 301) 1FF20 :: xLR 1FF20 @ LR (XLIB 2 302) 1FF2F {} LRSTRINGS{} 1FF34 $ "Intercept" 1FF50 $ "Slope" 1FF7A :: xPREDV 1FF7A @ PREDV (XLIB 2 303) 1FF9A :: xPREDY 1FF9A @ PREDY (XLIB 2 304) 1FFBA :: xPREDX 1FFBA @ PREDX (XLIB 2 305) 1FFDA :: xXCOL 1FFDA @ XCOL (XLIB 2 306) 1FFFA :: xYCOL 1FFFA @ YCOL (XLIB 2 307) 2001A :: xUTPC 2001A @ UTPC (XLIB 2 308) 2003A :: xUTPN 2003A @ UTPN (XLIB 2 309) 2005A :: xUTPF 2005A @ UTPF (XLIB 2 310) 2007A :: xUTPT 2007A @ UTPT (XLIB 2 311) 2009A :: xCOLsigma 2009A @ COLSigma (XLIB 2 312) 200C4 :: xSCLsigma 200C4 @ SCLSigma (XLIB 2 313) 200F3 :: xsigmaLINE 200F3 @ SigmaLINE (XLIB 2 314) 2010E :: xBINS 2010E @ BINS (XLIB 3 315) 20118 # <111h> 20133 :: xBARPLOT 20133 @ BARPLOT (XLIB 2 316) 20167 :: xHISTPLOT 20167 @ HISTPLOT (XLIB 2 317) 2018C :: xSCATRPLOT 2018C @ SCATRPLOT (XLIB 2 318) 201B1 :: xLINFIT 201B1 @ LINFIT (XLIB 2 319) 201D6 :: xLOGFIT 201D6 @ LOGFIT (XLIB 2 320) 201FB :: xEXPFIT 201FB @ EXPFIT (XLIB 2 321) 20220 :: xPWRFIT 20220 @ PWRFIT (XLIB 2 322)OB 20234 :: SETMODEL 20234 @ set curve-fitting model in 'SigmaPAR' (1:model) 2025E :: xBESTFIT 2025E @ BESTFIT (XLIB 2 323) 20277 :: BESTFITerrhandle 202CE :: xSINV 202CE @ SINV (XLIB 2 324) 202F1 :: SINVID 202F1 @ Internal SINV (1:ID) 20314 :: SINVLAM 20314 @ Internal SINV (1:LAM) 2032D :: SWAPDROPSMATINVDROP 2034D :: xSNEG 2034D @ SNEG (XLIB 2 325) 20370 :: SNEGID 20370 @ Internal SNEG (1:ID) 20393 :: SNEGLAM 20393 @ Internal SNEG (1:LAM) 203AC :: SWAPDROPSMATNEGDROP 203CC :: xSCONJ 203CC @ SCONJ (XLIB 2 326) 203EF :: SCONJID 203EF @ Internal SCONJ (1:ID) 20412 :: SCONJLAM 20412 @ Internal SCONJ (1:LAM) 2042B :: SWAPDROPSMATCONJDROP 2044B :: xSTO+ 2044B @ STO+ (XLIB 2 327) 20482 :: STO+NAME 20482 @ Internal STO+ (2:Any,1:ID/LAM) 20496 # <644h> 20496 @ <644h> 204AA :: IDSTO+ 204AA @ (3:ID 2:contents 1:Any) 204C3 :: NAMESTO+ 204C3 @ Internal STO+ (2:ID/LAM,1:Any) 204E1 :: SWAPSTO+ 204FF :: 'ROPERATE 204FF @ Used by SINV etc (ID contents (arg) ->) (Operation fetched with 'R) 20518 :: ROTDROPSMAT+DROP 20538 :: xSTO- 20538 @ STO- (XLIB 2 328) 20583 :: STO-NAME 20583 @ Internal STO- (2:Any,1:ID/LAM) 205A1 :: NAMESTO- 205A1 @ Internal STO- (2:ID/LAM,1:Any) 205BF :: []STO- 205BF @ Internal STO- (2:Array,1:ID) 205E2 :: STO-[] 205E2 @ Internal STO- (2:ID,1:Array) 2060C :: xSTO/ 2060C @ STO/ (XLIB 2 329) 2066B :: STO/NAME 2066B @ Internal STO/ (2:Any,1:ID/LAM) 20689 :: NAMESTO/ 20689 @ Internal STO/ (2:ID/LAM,1:Any) 206A7 :: STO/FLOAT 206A7 @ Internal STO/ (2:ID,1:%/C%) 206CF :: XYZ>ZYSMAT/DROP 206E8 :: []STO/ 206E8 @ Internal STO/ (2:Array,1:ID) 20710 :: ROTDROPS/MATDROP 20729 :: STO/[] 20729 @ Internal STO/ (2:ID,1:Array) 20753 :: xSTO* 20753 @ STO* (XLIB 2 330) 207C6 :: STO*NAME 207C6 @ Internal STO* (2:Any,1:ID/LAM) 207E4 :: NAMESTO* 207E4 @ Internal STO* (2:ID/LAM,1:Any) 20802 :: FLOATSTO* 20802 @ Internal STO* (2:%/C%,1:ID) 2082A :: STO*FLOAT 2082A @ Internal STO* (2:ID,1:%/C%) 20852 :: ROTDROPSMAT1*DROP 2086B :: []STO* 2086B @ Internal STO* (2:Array,1:ID) 20893 :: ROTDROPSMAT2*DROP 208AC :: STO*[] 208AC @ Internal STO* (2:ID,1:Array) 208D4 :: XYZ>ZYSMAT*DROP 208F4 :: xINCR 208F4 @ INCR (XLIB 2 331) 20917 :: INCRID 20917 @ Internal INCR (1:ID) 20935 :: RclCKUsedID%1 20962 :: SAFE@_HERECKREAL 20980 :: INCRLAM 20980 @ Internal INCR (1:LAM) 209AA :: xDECR 209AA @ DECR (XLIB 2 332) 209CD :: DECRID 209CD @ Internal DECR (1:ID) 209EB :: DECRLAM 209EB @ Internal DECR (1:LAM) 20A15 :: xCOLCT 20A15 @ COLCT (XLIB 2 333) 20A49 :: xEXPAN 20A49 @ EXPAN (XLIB 2 334) 20A7D :: xRULES 20A7D @ RULES (XLIB 2 335) (:: DoBadKey ;) 20A93 :: xISOL 20A93 @ ISOL (XLIB 2 336) 20AB3 :: xQUAD 20AB3 @ QUAD (XLIB 2 337) 20AD3 :: xSHOW 20AD3 @ SHOW (XLIB 2 338) 20B00 :: HP:XEQSHOWLS 20B00 @ Internal SHOW (2:sym 1:{}) 20B20 :: xTAYLR 20B20 @ TAYLR (XLIB 2 339) 20B40 :: xRCL 20B40 @ RCL (XLIB 2 340) 20B81 :: HP:XEQRCL 20B81 @ Internal RCL (1:ID/LAM) 20B9A :: HP:LISTRCL 20B9A @ Internal RCL (1:{} (path/object)) 20BE0 :: DUPNOTNAMELIST?ERR 20BE0 @ Cheks that {} has only ID/LAMs (1:{}) 20BE5 :: DUPNAMELIST?SKIP 20C4E :: SWAPCKRCLDIRVAR 20C4E @ (2:{DIRID VARID} 1:DIR -> 1:Contents) (Or error if not found) 20C71 :: HOMELISTRCL 20C71 @ Internal RCL starting from HOME (1:{HOME path object}) 20CAD :: HP:PICTRCL 20CAD @ Internal RCL (1:PICT) (Does TOTEMPOB) 20CCD :: xSTO 20CCD @ STO (XLIB 2 341) 20CE6 :: STRIPTAGSl2XEQSTOID 20CFF :: STRIPTAGSl2STO 20D18 :: STRIPTAGSl2STOALG 20D2C # NS:##C8 20D3B # <9F1h> 20D4A # <8F1h> 20D65 :: xDEFINE 20D65 @ DEFINE (XLIB 2 342) 20D7E :: DEFINEALG 20D7E @ Internal DEFINE (1:ALG ->) 20DBF :: DEFINENAME 20DBF @ Internal DEFINE (1:ID/LAM) 20DCE :: 20E0A :: DEFINEALGALG 20E19 :: 20E4B $ " " 20ECA :: DUPCKNAME 20ECA @ DUP & If not ID/LAM then SETInvDefERR 20EFE :: xPURGE 20EFE @ PURGE (XLIB 2 343) 20F35 :: XEQPURGELS 20F35 @ Internal PURGE (1:{}) 20F44 :: EvalNoCK:compDROP 20F44 @ Executes next on all composite elements & DROP (INDEX@ is usable) 20F44 @ (At execution time: 2:comp 1:ob 1LAM:The stored program) 20F44 @ Ex: :: { 1 2 3 } EvalNoCK:comp :: NOP DUPROT ; ; -> 1 1 2 2 3 3 20F8A :: HP:XEQPURGEPICT 20F8A @ Internal PURGE (1:PICT) 20FAA :: HP:xMEM 20FAA @ MEM (XLIB 2 344) 20FD9 :: xORDER 20FD9 @ ORDER (XLIB 2 345) 20FF2 :: HP:XEQORDER 20FF2 @ ORDER{} 20FF2 @ Internal ORDER (1:{}) 21006 :: 21047 :: OVERPURGESWAPCREATE 21074 :: 21097 CD 210FC :: xCLVAR 210FC @ CLVAR (XLIB 2 346) 21133 :: RAM-WORDNAME?PURGE_HERE 2115D :: xTMENU 2115D @ TMENU (XLIB 2 347) 21176 :: TMENU 21176 @ (1:{}/ID/LAM) 21196 :: xMENU 21196 @ MENU (XLIB 2 348) 211B4 g' NS:ID_CST 211E1 :: xRCLMENU 211E1 @ RCLMENU (XLIB 2 349) 211FC :: xPVARS 211FC @ PVARS (XLIB 2 350) 2120B :: XEQPVARS 2120B @ Internal PVARS (1:%) (Checks port number is in range) 2123A :: xPGDIR 2123A @ PGDIR (XLIB 2 351) 2125A :: xARCHIVE 2125A @ ARCHIVE (XLIB 2 352) 21273 :: XEQTAGGEDARCHIVE 21273 @ Internal ARCHIVE (1:Tagged with %port or "IO") 2127D $ "IO" 212C7 :: XEQPORTARCHIVE 212C7 @ Internal ARCHIVE to port (2:ID 1:%port) 212CC :: CKl2NAME&PORT$ 212CC @ Checks stk2 is ID/LAM and stk1 is "0","1" or "2" 212D1 :: CKl2NAME 212D1 @ Type error if stk2 not ID/LAM (2:Any 1:Any -> 2:Any 1:Any) 2133C :: xRESTORE 2133C @ RESTORE (XLIB 2 353) 2134B :: TAGGEDRESTORE 2134B @ Internal RESTORE (1:Tagged) 21364 # <9Fh> 2137F :: xMERGE 2137F @ MERGE (XLIB 3 354) 21398 :: %MERGE 21398 @ Internal MERGE (1:%) 213D1 :: HP:xFREE 213D1 @ FREE (XLIB 2 355) 21408 :: XEQNAMEFREE 21408 @ Internal FREE (2:%/ID/LAM 1:%port) 2142D :: xLIBS 2142D @ LIBS (XLIB 2 356) 21448 :: xATTACH 21448 @ ATTACH (XLIB 2 357) 21461 :: XEQ%ATTACH 21461 @ Internal ATTACH (1:%libnum) 2147C :: xDETACH 2147C @ DETACH (XLIB 2 358) 21495 :: XEQ%DETACH 21495 @ Internal DETACH (1:%) 214A9 :: COERCENOTFREERANGE?ERR 214A9 @ COERCE & verify #libnum is in free range (#libnum>#100 & <> #700) 214F4 :: TAGGEDSTO 214F4 @ Internal STO (2:Any 1:Tagged) 21530 :: CKSTO 21530 @ Internal STO (do arg/type checks) (:: ' xSTO COLA EvalNoCK ; ) 21553 :: XEQPORT2STO 21558 xl XLIB_240_93 2156D :: XEQPORT1STO 21572 xl XLIB_240_93 21587 :: XEQPORT0STO 2158C xl XLIB_240_93 215A1 :: PORTSTO 215A1 @ (3:LIB/BAK/Any 2:#/ID 1:#0,#1,#2) 215BF :: %PORTSTO 215BF @ Internal STO (2:LIB/BAK 1:%port) 215C9 xl XLIB_240_95 215D9 :: DUPGetPobjId 215D9 @ (1:BAK/LIB -> 2:BAK/LIB 1:ID/#libnum) 215E8 :: LIB># 215E8 @ (1:LIB -> 1:#libnum) 2160B :: SWAPDROPDUPGetPobjIdTRUE 21624 :: >BAKUPTrue 21624 @ (2:ID/LAM 1:Any -> 2:BAK 1:True) 21638 :: NS:DTYPEREAL?cse 21638 @ << DUPTYPEREAL? COLAcase >> 2164C :: NS:SWAPFALSE 2164C @ Internal SWAP and False 21660 :: HP:SWAPDROPTRUE 21660 @ drop level two object and True 21674 :: NS:>BAK 21674 @ (2:ID/LAM 1:Any -> 1:BAK) 216D8 P COMP>BAK 216D8 @ (1:{ ID/LAM+2nib Any Any5nib} -> 1:BAK) 21761 :: XEQTAGGEDRCL 21761 @ Internal RCL (1:Tagged ID -> 1:contents) 2176B xl XLIB_240_96 21776 xl XLIB_240_103 2178B :: SKIPCOLAEvalNoCK: 2178B @ SKIP, then EvalNoCK next & return 2178B @ Example: :: SKIP'COLAEvalNoCK x+ ; == :: x+ ; 217A9 :: :'RRSKIPCOLA_EVAL 217A9 @ Push next, push 1st from prev, skip in prev & COLA_EVAL 217A9 @ :: 'RRDROP 'R RSKIP COLA_EVAL ; 217C7 :: XEQTAGGEDEVAL 217C7 @ Internal EVAL (1:Tagged) 217D1 xl XLIB_240_96 217DC xl XLIB_240_107 217F1 :: XEQTAGGEDPURGE 217F1 @ Internal PURGE (1:Tagged) 217FB xl XLIB_240_96 21806 xl XLIB_240_109 2181B :: xPURGENOLASTWD 21839 :: PVARS 21839 @ Internal PVARS (1:#port) 2185C :: 21893 :: 2189D $ "ROM" 218BC :: 218C6 $ "SYSRAM" 2190E :: 21922 :: DUPCKRCLPORTLIBS 21922 @ Rcl libs in port (1:#port -> #port...2:LIB 1:#no.of.libs) 21931 :: RCLPORT0LIBS 21931 @ (-> LIBS..1:#n) (Makes no checks) 21972 :: NS:RLIBS 21972 @ (1:#portaddr -> LIBS..1:#n) (Makes no checks) 2198B :: NS:ROT#1+SWAP 2198B @ (3:#n 2:Any 1:Ob -> 3:Any 2:#n+1 1:Ob) 219A9 :: TAGNLIBS 219A9 @ (#port LIBs/BAKs 1:#n -> Taggeds #n) 219A9 @ (LIB-> #port:%libnum, BAK->#port:ID) 219C2 :: #>PORT$ 219C2 @ (1:# -> 1:$) (#0->"0" #1->"1" other->"2") 219F4 :: LIB/BAK>%/ID 219F4 @ Gets %libnum or ID (1:LIB/BAK -> 1:%/ID) (Must exists) 219FE :: NS:LIB>% 219FE @ Get library number (LIB must exist) (1:LIB -> 1:%) 21A49 :: XEQPORTARCHIVE 21A49 @ Archive to port (2:ID/LAM 1:#port) 21A8F :: ARCHIVEERRhandle 21AB7 :: XEQPORT0ARCHIVE 21AB7 @ Archive to port0 (1:ID/LAM) 21AF8 :: XEQPORTRESTORE 21AF8 @ Internal RESTORE (2:ID 1:#port -> ) 21AFD :: PORTCK@ 21AFD @ (2:ID/#libnum 1:#0/#1/#2 -> 2:BAK/LIB 1:T / 1:F) 21B2F :: XEQBAKRESTORE 21B2F @ Internal RESTORE (1:Backup) 21B39 xl XLIB_240_99 21B4E P NS:WarmStart 21B5A :: HP:XEQIOBACKUP 21B5A @ Archive to IO (1:$/ID/LAM) 21B64 xl XLIB_240_100 21B74 :: XEQ{}FREE 21B74 @ Internal FREE (2:{} 1:%port) 21B7E xl XLIB_240_101 21B8E :: 21BED :: 21C47 P NS:MEMSKIPADDR 21C47 @ Skips stk1 in memory, then gives address as # 21C47 @ Example: 1:#0 -> 1:#3ff9 (Which is address for #1) 21C6F :: HP:XEQSETLIB 21C6F @ Internal ATTACH (1:#libnum) 21C88 :: XEQHOMEATTACH 21C88 @ (if not yet attached then attach to homedir) (1:#libnum) 21CBA P NS:DIRATTACH 21CBA @ Internal ATTACH to non-HOME directory (2:Dir 1:#libnum) 21CE5 :: XEQDETACH 21CE5 @ Internal DETACH (1:#libnum) 21D2B P NS:DIRDETACH 21D2B @ Internal DETACH from non-HOME directory (2:DIR 1:#libnum) 21D54 :: LIBS 21D54 @ Internal LIBS 21D5E :: RCLDIRLIBS 21D5E @ Rcl info ($Name %Id #Addr) on libs attached (1:DIR) 21D68 xl XLIB_240_102 21D9B xl XLIB_240_111 21DB0 :: PORTBEGENDPROT? 21DB0 @ (1:#port -> 3:#startaddr 2:#endaddr 1:Present and not merged?) 21DE7 # <70000h> 21DF1 :: NS:DNAMELIST?cse 21DF1 @ DUP & if {} has only LAM/IDs then COLA else SKIP 21E41 :: NS:DROPCOLASKIP 21E41 @ :: DROPCOLA COLASKIP ; (DROP, return & SKIP) 21E75 :: xXMIT 21E75 @ XMIT (XLIB 2 359) 21E95 :: xRECV 21E95 @ SRECV (XLIB 2 360) 21EB5 :: xOPENIO 21EB5 @ OPENIO (XLIB 2 361) 21ED5 :: xCLOSEIO 21ED5 @ CLOSEIO (XLIB 2 362) 21EF0 :: xSEND 21EF0 @ SEND (XLIB 2 363) 21F24 :: xKGET 21F24 @ KGET (XLIB 2 364) 21F62 :: xRECN 21F62 @ RECN (XLIB 2 365) 21F96 :: xRECV 21F96 @ RECV (XLIB 2 366) 21FB6 :: xFINISH 21FB6 @ FINISH (XLIB 2 367) 21FD1 :: xSERVER 21FD1 @ SERVER (XLIB 2 368) 21FEC :: xCKSM 21FEC @ CKSM (XLIB 2 369) 2200C :: xBAUD 2200C @ BAUD (XLIB 2 370) 2202C :: xPARITY 2202C @ PARITY (XLIB 2 371) 2204C :: xTRANSIO 2204C @ TRANSIO (XLIB 2 372) 2206C :: xKERRM 2206C @ KERRM (XLIB 2 373) 22087 :: xBUFLEN 22087 @ BUFLEN (XLIB 2 374) 220A2 :: xSTIME 220A2 @ STIME (XLIB 2 375) 220C2 :: xSBRK 220C2 @ SBRK (XLIB 2 376) 220DD :: xPKT 220DD @ PKT (XLIB 2 377) 220F6 :: MSGOK?DISPIOSETUP 220F6 @ If MSGOK? then display IO setup screen 22105 :: DISPIOSETUP 2212D $ "IR" 2213B $ "wire" 2216B $ "binary" 22181 $ "ASCII" 221EF :: appendParity$ 221F4 {} Parity{} 221F9 $ "none " 2220D $ "odd " 2221F $ "even " 22233 $ "mark " 2226A $ "spc " 22286 :: DROPInvalid$ 22290 $ "invalid" 222EE :: SWAPEDITDECOMP$!append$ 22307 :: DoASCIIkey 22307 @ Toggles ASCII/binary flag & redraws IOSETUP display 22325 :: DoIR/Wkey 22325 @ Toggles IR/wire flag & redraws IOSETUP display 22343 :: MAKEVALIDBAUD 2234D {} BAUD{} 2234D @ { %1200 %2400 %4800 %9600 } 22352 % %1200 22367 % %2400 2237C % %4800 22391 % %9600 223BF :: MAKEVALIDCKSM 223C9 {} CKSM{} 223C9 @ { %1 %2 %3 } 223F6 :: MAKEVALIDPARITY 22400 {} PARITY{} 22437 :: MAKEVALIDTRANSLATE 22441 {} TRANSLATE{} 22473 :: MAKEVALIDIOVAR 224CA :: xINPUT 224CA @ INPUT (XLIB 2 378) 224F4 :: xASN 224F4 @ ASN (XLIB 2 379) 22514 :: xSTOKEYS 22514 @ STOKEYS (XLIB 2 380) 22548 :: xDELKEYS 22548 @ DELKEYS (XLIB 2 381) 22586 :: xRCLKEYS 22586 @ RCLKEYS (XLIB 2 382) 225A4 g' ID_S 225BE :: x>TAG 225BE @ ->TAG (XLIB 2 383) 225F5 :: HP:USER$>TAG 225F5 @ Internal ->TAG (2:Any 1:$) 22618 :: HP:%>TAG 22618 @ Internal ->TAG (2:Any 1:%) 22633 :: xDTAG 22633 @ DTAG (XLIB 2 384) 22647 # Hash002 22647 @ Reference to hash table for library 002 (XLIB 2) (#7448A) 22651 #h Link002 22651 @ Link table for library 002 (XLIB 2) 22DFE # Hash700 22DFE @ Reference to hash table for library 700 (XLIB 1792) (#7427C) 22E08 #h Link700 22E08 @ Link table for library 700 (XLIB 1792) 22EA3 :: CONFIG700 22EA3 @ Configuration code for library 700 (XLIB 1792) (#700 HOMEATTACH) 22EA8 # <700h> 22EC3 :: xIF 22EC3 @ IF (XLIB 1792 0) ( :: CK0ATTNABORT ; ) H:5 22ED2 rf r_PARSEIF 22ED7 $ "IF-prompt" 22EFA :: xTHEN 22EFA @ THEN (XLIB 1792 1) H:A 22F1D rf r_DBG_THEN 22F22 :: %THEN 22F22 @ Internal THEN (1:%) 22F3B :: 2SKIP 22F3B @ :: RSKIP COLASKIP ; :: 2SKIP ; 22F4F :: SYMTHEN 22F4F @ Internal THEN (1:sym) 22F68 :: SYMCRUNCH 22F68 @ ID: XEQRCL CRUNCH else CRUNCH (1:sym -> 1:Evaluated) 22F86 :: SYMCRUNCHstk2 22F86 @ (2:sym 1:Any -> 2:Evaluated 1:Any) 22FB5 :: xELSE 22FB5 @ ELSE (XLIB 1792 2) ( :: CK0 COLASKIP ; ) H:A 22FC9 rf r_DBG_ELSE 22FD5 :: xEND 22FD5 @ END (XLIB 1792 3) H:3 22FEB :: xALG-> 22FEB @ -> (for Algebraics) (XLIB 1792 4) H:8 23022 rf r_PARSEALG-> 23027 rf r_DBUG_ALG-> 23033 :: xWHILE 23033 @ WHILE (XLIB 1792 5) H:9 2304C rf r_PARSEWHILE 23051 rf r_DBUG_WHILE 2305D :: xREPEAT 2305D @ REPEAT (XLIB 1792 6) H:A 23080 rf r_DBUG_REPEAT 23085 :: %REPEAT 23085 @ Internal REPEAT (1:%) 230A3 :: SYMREPEAT 230A3 @ Internal REPEAT (1:sym) 230C3 :: xDO 230C3 @ DO (XLIB 1792 7) H:9 230DC rf r_PARSEDO 230E1 rf r_DBUG_DO 230ED :: xUNTIL 230ED @ UNTIL (XLIB 1792 8) H:2 (NONE) 23103 :: xSTART 23103 @ START (XLIB 1792 9) H:9 2313A rf r_PARSESTART 2313F rf r_DBUG_START 23144 :: %START 23144 @ Internal START (2:% 1:%) 23167 :: SYMSTART 23167 @ Internal START (2:%/sym 1:sym) 23180 :: SYM%START 23180 @ Internal START (2:sym 1:%) 231A0 :: xFOR 231A0 @ FOR (XLIB 1792 10) H:9 231D7 rf r_PARSEFOR 231DC rf r_DBUG_FOR 231E1 :: %FOR 231E1 @ Internal FOR (2:%,1:%) 23213 :: SYMFOR 23213 @ Internal FOR (2:%/sym 1:sym) 2322C :: SYM%FOR 2322C @ Internal FOR (2:sym 1:%) 2324C :: xNEXT 2324C @ NEXT (XLIB 1792 11) H:B 23265 rf r_DBUG_NEXT 2326A P NEXT 2326A @ Internal NEXT 23380 :: xSTEP 23380 @ STEP (XLIB 1792 12) H:B 233A3 rf r_DBUG_STEP 233A8 :: SYMSTEP 233A8 @ Internal STEP (1:sym) 233C1 P %STEP 233C1 @ Internal STEP (1:%) 233DF :: xIFERR 233DF @ IFERR (XLIB 1792 13) H:9 233FD :: IFERRerrtrap 23420 :: @Exec1NameSWAP 23461 rf r_PARSEIFERR 23466 rf r_DBUG_IFERR 23472 :: xHALT 23472 @ HALT (XLIB 1792 14) H:8 2348B rf r_PARSEHALT 23490 rf r_DBUG_HALT 2349C :: xSILENT' 2349C @ (XLIB 1792 15) (Doesn't store ' as new command) H:8 234B0 rf r_TrueTrue 234B5 rf r_DBUG_SILENT' 234C1 :: xRPN-> 234C1 @ -> (for Programs) (XLIB 1792 16) H:8 234F8 rf r_PARSERPN-> 234FD rf r_DBUG_RPN-> 23502 P FetchLAMs 23502 @ In programs???? ( -> ..LAMs 1:#count) 235FE :: x>>ABND 235FE @ >> (end local scope) (XLIB 1792 17) H:B 235FE rf r_DBUG_>>ABND 2361E :: HP:x<< 2361E @ << (XLIB 1792 18) H:1 2362D rf r_PARSE<< 23639 :: x>> 23639 @ >> (XLIB 1792 19) H:B 23648 rf r_DBUG_>> 23654 :: x' 23654 @ ' (XLIB 1792 20) H:8 23668 rf r_PARSE' 2366D rf r_DBUG_' 23679 :: xENDTIC 23679 @ ' (XLIB 1792 21) H:0 23688 rf r_PARSEENDTIC 23694 :: xWHILEEND 23694 @ END (XLIB 1792 22) H:B 236AD rf r_DBUG_WHILEEND 236B9 :: xENDDO 236B9 @ END (XLIB 1792 23) H:B 236DC rf r_DBUG_ENDDO 236E1 :: %ENDDO 236FF :: SYMENDDO 2371F :: xTHEN 2371F @ THEN (XLIB 1792 24) H:2 (NONE) 2372E l' LAM_'stop 2373F l' LAM_'noname 23754 {} LOOPLAMS{} 23754 @ {LAM_'noname LAM_'stop} 23768 :: HP:CK0ATTNABORT 23768 @ :: 'RSAVEWORD CK0NOLASTWD COLA ?ATTNQUIT ; 2378D :: xCASE 2378D @ CASE (XLIB 1792 25) H:1 2379C rf r_PARSECASE 237A8 :: xCASETHEN 237A8 @ THEN (for CASE) (XLIB 1792 26) H:9 237CB rf r_FalseTrue 237D0 rf r_DBUG_CASETHEN 237D5 :: %CASETHEN 237F3 :: SYMCASETHEN 23813 :: xDIR 23813 @ DIR (XLIB 1792 27) H:2 (NONE) 23813 @ (A null program, hashes DIR, C$, GROB and XLIB) 23824 :: xPROMPT 23824 @ PROMPT (XLIB 1792 28) H:8 2382E :: PROMPTNOLASTWD 2385B rf r_PARSEPROMPT 23860 rf r_DBUG_PROMPT 23865 :: $PROMPT 23865 :: DISPSTATUS2SetDA1Valid 23879 {} LAM{'ioinprogress} 2387E l' LAM_'ioinprogress 238A4 :: HP:palparse 238B8 :: 238CC :: 23903 {} LAM{st_ofs_tok} 23908 l' LAM_st 23913 l' LAM_ofs 23920 l' LAM_tok 2394B l' LAM_st 23956 l' LAM_ofs 23963 l' LAM_tok 23989 {} Nullparse{} 23989 @ End marker for the parser 23993 :: palparsetrap 239A7 :: DrpTillNullparse{} 239CF :: 5DROPSWAPDROPTRUE 239E3 :: GetRestTokens 23A06 :: palparsetostk 23A06 @ Parses $ to stack obs 23A2E :: 23A6F :: PARSE' 23A6F :: PARSEENDTIC 23A8D :: 23AB0 :: 23AE2 :: PARSECASE 23B19 :: 23B5F :: 23B9B :: 23BD2 :: PARSEIF 23BF0 :: 23C27 :: 23C4A :: 23C90 :: 23CB8 :: 23CEF :: 23D0D :: PARSEDO 23D2B :: 23D62 :: 23D80 :: 23DB7 :: 23DD0 :: PARSE<< 23DFD :: 23E34 :: 23E52 :: 23E7F :: PARSESTART 23E9D :: PARSEFOR 23EED :: HP:ONE{}N 23F01 :: 23F47 :: 23F60 :: 23F79 :: PARSEWHILE 23F97 :: 23FCE :: 23FF1 :: 24028 :: 24046 :: PARSEIFERR 24069 :: 240A0 :: 240D7 :: 2411D :: 24145 :: 2417C :: 2419A :: PARSEALG-> 2419A :: PARSERPN-> 241BD :: 24203 :: 24208 :: 24280 :: 242D0 :: 24307 :: 24320 :: PARSEHALT 24339 :: PARSEPROMPT 24352 :: 24384 :: Obparse 24447 :: ?Unitparse 24465 :: Unitparse 244A1 :: Taggedparse 244F6 :: 24505 :: 24537 :: 24541 :: 245A5 :: 245DC :: 24609 :: 24613 :: DUP$>IDFALSEDUP 2464F P LAM>ID 2465F P ID>LAM 24681 :: 2469F :: 246BD :: 246F4 :: 24717 :: 4DROPFALSETRUE 2472B :: Symparse 24771 :: 2478A :: Complexparse 2479E :: 247CB :: 24816 :: Arryparse 24875 :: 2489D :: 248D9 :: 2491F :: 24956 :: 24992 :: 249C9 :: 24A14 :: 24A28 {} LAM{i_j} 24A2D l' LAM_i 24A36 l' LAM_j 24A53 :: 24A5D l' LAM_i 24A6B l' LAM_j 24A97 :: 24AC9 :: 24B0A l' LAM_j 24B1D l' LAM_i 24B30 l' LAM_i 24B70 :: 24BB6 l' LAM_j 24BC4 :: 24BD3 l' LAM_i 24BE1 l' LAM_i 24C0D :: HP:List 24C0D :: Listparse 24C30 :: 24C71 :: 24C9E :: Binaryparse 24CF3 :: ROTDROP3GETLAM3UNROLL 24D20 :: Dirparse 24D75 :: 24DBB :: 24E06 :: {}>DIR 24E29 :: 24E47 :: 24E83 :: 24EA6 P NS:MKDIR 24EA6 @ ( {} -> DIR ) 24EA6 @ {} = { HXS 000 ID Ob1 ID Ob2 ... } Last char in ID is lost 24FD2 :: Stringparse 24FE6 :: CStringparse 2502C :: NULL$DaDGNTc 25059 :: 250B8 :: 250D1 :: 250EF :: 25108 P 2512D P HP:delimcase 251EC :: 6UNROLL5ROLL#1+5UNROLL 2520A :: HP:'Rapndit 25223 :: HP:DaDGNTc 25246 :: SWAPUnDROPTRUEDUP 25246 :: pshDROPTRUEDUP 25246 @ (Meta1 Meta2 -> Meta2 meta1 True True) (meta1 has no count) 2525A :: stkparse 2525A @ parses stack objects to 1 object 25282 :: 252A0 :: 252B4 :: 252CD :: 252F5 :: 2530E :: NS:ZERO5UNROLL 25322 :: NS:FOURpsh 25322 @ (Meta1 Ob4 Ob3 Ob2 Ob1 -> Meta2 Meta1) (Meta2 = Ob4..Ob1 #4) 25336 :: 2534A P HP:nultrior 2534A P NULL$?case ?????????? 2537C :: 2539A $ "TO" 253A8 $ "DIR" 253B8 $ ":" 253C4 $ "ELSE" 253D6 $ "END" 253E6 $ "UNTIL" 253FA $ "REPEAT" 25410 $ "NEXT" 25422 $ "STEP" 25434 $ "THEN" 25446 $ "->" 25446 $ HP:tok-> 25452 :: HP:getmatchtok 2549D :: 254DE :: ROTgetmatchtok 254F7 :: 25501 :: 3UNROLLGetNextToken4ROLLDROP 2551F P 255BD P 255FB P HP:need'case 255FB P DUPNAMEcase????????? 25632 :: 25678 $ "bodh" 25699 {} #{2_8_A_10} 256E4 P 258DA :: 258EE {} null{} 25934 :: 25966 :: NS:TRUETRUETRUE 25984 :: 259C0 :: 259D4 :: 259D9 :: 25A06 {} LAM{'1'2'3} 25A0B l' LAM_'1 25A16 l' LAM_'2 25A21 l' LAM_'3 25A3B l' LAM_'1 25A46 l' LAM_'2 25A51 l' LAM_'3 25A66 :: NS:2DROPTRUETRUE 25A93 :: 25AB6 :: 4UNROLL5ROLL2DROPGetNextToken 25AD4 :: 25B0B P NS:#+OVF 25B0B @ Internal + with #FFFFF as maximum result (2:# 1:# -> 1:#) 25B3D :: Grobparse 25BBF :: NS:3DROPFALSETRU 25C0A :: NS:DROPFALSETRUE 25C37 # <2B1Eh> 25C41 P ASCII>HXS 25C41 @ (4:$ 3:HXS 2:#(5=prolog_only) 1:#prolog) ?????????? 25CE1 * HP:GETPTRTRUE 25CF5 $ NS:2SPACE$ 25CF5 $ " " 25D03 :: Seprparse 25D03 @ Parses "." "," & "E" 25D3A hx HXS(105)Something1 25E44 hx HXS(105)Something2 25F4E hx HXS(105)Something3 26058 hx HXS(105)Something4 26162 :: HP:GetNextToken 26162 @ (2:$ 1:#n -> 3:$ 2:#next 1:$token) 26162 @ Gets the word starting at #nth char, strips spaces 26162 @ #next points the next word. Gives "" if at the end 261AD P (?? 1:F/T -> ?? 2622F :: 26289 # 26293 :: DUPSIXFIVERPITEROLLDROPSKIP 262BB :: 26301 :: 2635E P 265C5 :: NS:DUPTRUE 265D9 :: NS:#1+TRUE 265ED P 26886 :: 268A4 :: 268C2 P GetXLIBBits01 26906 :: 26924 :: 26942 P 2699F :: 269BD :: NS:CMDXLIB? 269BD @ Is stk1 XLIB with #libnum > #700? (1:XLIB -> 1:T/F) 269DB P NS:CMDLIB? 269DB @ Is stk1 XLIB with #libnum > #700? (1:XLIB -> 1:T/F) 269E7 P NS:HARDROMXLIB? 269E7 @ Is stk1 in built-in ROM? (1:XLIB -> 1:T/F) 26A2D :: HP:?OKINALG 26A2D @ Is stk1 a built-in function (Ok in ALG? ) (1:Any -> 1:T/F) 26A82 :: NS:?secoOKINALG 26AB9 :: NS:?rompOKINALG 26B1D :: ?rompsecoOKINALG 26B40 P NS:CmdFlagSet? 26B40 @ Alg flag cleared in XLIB (NOT xx8) 26B73 P NS:SpEval? 26B73 @ (XLIB -> XLIB False / Evaluation XLIB True) 26BBD :: 26BEA :: 26C1C P NS:DUPNOT?SEMI 26C47 :: NS:DispArgs? 26C47 @ (seco -> seco hex_display #args TRUE / seco hex #FFFFF TRUE) 26C65 P ?OKINALG#args? 26C65 @ (seco -> seco #args hex_display) 26D96 rf r_CK5&Dispatch 26D9B rf r_CK4&Dispatch 26DA0 rf r_CK3&Dispacth 26DA5 rf r_CK2&Dispatch 26DAA rf r_CK1&Dispatch 26DAF rf r_CK0 26DB4 rf r_hex_argsinf 26DB9 rf r_hex_args1 26DBE rf r_hex_args2 26DC3 rf r_hex_args3 26DC8 rf r_hex_args4 26DCD rf r_hex_args5 26DD2 h# hex_argsinf 26DD2 h# hex_#0140950 26DE3 h# hex_args1 26DE3 h# hex_014050 26DF3 h# hex_args2 26DF3 h# hex_01406050 26DF3 h# hex_args3 26E05 h# hex_0140606050 26E05 h# hex_args4 26E19 h# hex_014060606050 26E2F h# hex_args5 26E2F h# hex_01406060606050 26E47 h# hex_args= 26E47 h# hex_00700 26E56 P -> # # T/F ??? 26F0D P NS:DerDataGet 26F0D @ Gets XLIB header flag 4 & object if Set 26F0D @ (1:ROMPTR -> 3:ROMPTR 2:Ob 1:TRUE / 2:ROMPTR 1:FALSE) (???) 26F1B P NS:RinvDataGet 26F1B @ At evaluation: (sym-orig ID MetaRight MetaArg ID -> sym ID Meta T/F) 26F29 P NS:MakeDataGet 26F37 P NS:AppexpDataGet 26F45 P NS:RulesDataGet 26F53 P NS:IntgDataGet 26F61 P NS:WhereDataGet 26F6F P NS:FormDataGet 26FAE mc HP:GETPTRFALSE 27050 mc NAlgOFGet 2707D :: 2709B :: NS:RclDataTRUE 270AF :: 270DC :: 270FA :: 27127 :: 27140 P 271B9 :: RclDbugData 271FA P 27224 P NS:NOTBAKcase 27234 P NS:NOTLIBcase 27244 P HP:NOTLISTcase 27254 P HP:NOTSECOcase 27264 P HP:NOTROMPcase 27270 mc MCTYPE<>Ccase 27270 @ If copy type(stk1) <> C.A , then COLA else SKIP 2729B :: 272C8 {} {manylams} 272CD l' LAM_'ttt 272DC l' LAM_'str 272EB l' LAM_'ofs 272FA l' LAM_'tok 27309 l' LAM_'rbv 27318 l' LAM_'idfflg 2732D l' LAM_'tmpop 27340 l' LAM_'tmppdat 27357 l' LAM_'ploc 27368 l' LAM_'bv 27375 l' LAM_'unbound 273AA :: 273CD :: 274D1 :: 274EF :: 2DROP'xNEG 2750D :: 2DROP'xNEGNEG 27530 :: 27553 :: 2756C :: 275AD :: 275C1 :: 2761B :: 2763E :: 27670 :: 2768E :: 276A2 :: 276D4 :: 276F7 :: 2771F :: 27742 :: 27797 :: 277B0 :: 277C9 :: 277EC :: 2781E :: 27841 :: 27869 :: 2788C :: 278D7 :: 278FA :: 27913 :: 27940 :: 27963 :: 2799A :: 27A03 :: 27A12 :: 27AC6 :: 27ADF :: 27B0C :: 27BA2 :: 27BD9 :: 27BF2 :: 27C15 :: 27C24 :: NS:ZEROSWAPTWO 27C74 :: 27CA1 :: 27CCE :: 27D00 :: 27D32 CD 27D9A CD 27E0E :: 27E22 :: 27E36 :: 27E4A :: 27E68 :: 27E9A :: 27ED1 :: 27EE0 :: 27F1C :: DROPID>LAMTRUE 27F35 :: DUPID>CMDDROPTYPEIDNT? 27F58 :: DROPFALSETRUE 27FA3 :: 27FC1 :: 27FEE :: 2804D :: repl/ 2806B :: 2807A {} null{} 280C0 :: 28106 :: 2813D :: 28174 :: #1-UNROTEvalNoCKSWAP 2818D :: 281B5 :: #1-UNROT%>C%SWAP 281CE :: Meta&{i*+} 281D3 {} {xix*x+} 281F6 :: 2821E :: #1-UNROT%POL>%REC%>C%SWAP 2823C :: Example:A B + #3 -> + A B COS * A B SIN * i * + #C 28296 :: HP:metatail 28296 @ (Meta #n -> #n-1-size(Meta) Meta) 282B4 :: 282D7 :: 282FA :: 28318 P 283C4 :: NS:COLAskipcola 283C4 @ :: :: :: COLAskipcola ; ; ; 283D8 :: NS:3SKIP 283F1 :: 11&10&9&8GETLAM 2840F :: 8&9&10&11PUTLAM 2842D :: 2844B :: 2845A :: 'POLARDUMMY 2846E :: 'COMPLEXDUMMY 284C3 :: 284E6 P 28558 :: HP:#1-UNROT 2856C :: HP:tok=casedrop 2856C :: OVEREQUALcasedrop 28585 :: NS:DROPCOLA 28585 @ :: DROP COLACOLA ; 28599 :: 285C6 :: 285EE :: NS:ONE1PUTLAM 28602 :: NS:ZERO1PUTLAM 28616 :: 28634 :: 28657 :: 28670 :: 28689 :: 286AC :: 286D4 :: ClrNumFlagRDROPFALSE 286ED :: SetNumFlagRDROPFALSE 28706 :: 28724 :: 28742 :: 28774 :: 287C4 :: 287D3 :: 28823 :: 28841 :: 28850 :: 28878 :: 28896 :: 288B4 :: 288C3 :: 288FA :: 28918 :: 28945 :: 28972 :: 289A9 :: UNROT2DROP6UNROLL5ROLL#1+5UNROLLTRUETRUE 289E0 :: 28A08 $ "SQRT" 28A1A $ "SQ" 28A28 $ "INV" 28A38 :: SYMUN 28A38 @ Internal _ (1:sym) 28A65 :: ForceUnit 28AA6 :: ForceRompUnit 28AC9 :: ForceNameUnit 28AE2 :: SETInvUnitERR 28AE7 # 28B05 :: ForceSecoUnit 28B41 :: 28BAF :: 28BB4 {} DoubleNULL{} 28BB4 @ { {} } 28BFF :: 28C4A :: 28CC7 :: 28D08 P 28D7B :: 28D99 :: 28DB7 :: 28DCB :: 28E20 :: 28E43 :: 28E7A :: 28EA2 :: 28EDE :: 28F92 :: 28FB5 :: 28FC9 :: 2900F :: 29023 :: 29046 :: 29082 :: 2909B :: 290BE :: 290E6 :: 2911D :: 29140 P 291AB P 291B7 :: 29202 :: NS:DROMPTR@Ncase 29216 :: 29248 :: 2927A :: 29298 :: 292CF :: NS:TRUE1PUTLAM 292E3 :: 292F7 P 293A4 :: 29417 :: 29494 :: 294A8 :: 294CB :: 294DF :: 294F3 :: 29525 :: 2957A P 2965B :: 29692 :: 296D8 :: 2970A $ "Invalid Expression" 29738 P 29829 P 298AA :: 298D7 P 29993 P 29A51 P 29A8D P 29BC2 P 29C7C P 29CC7 P 29D5F P 29DCC P NS:SETPosFlowERR 29DDC P NS:SETNegFlowERR 29DEC P NS:SETOvrFlowERR 29DFC P NS:SETUndfResERR 29E0C P NS:SETInfResERR 29E21 mc NS:PACKAB 29E46 mc HP:PACK 29E46 @ Convert %% to % (A/B to A) 29FD0 mc HP:POP1%SPLITA 29FD0 @ Pop stk1 (%) cvt'd to %% into A.A/A.S/B.W, save regs 29FDA mc HP:POP1% 29FDA @ Pop stk1 (%) into A.W, save regs 29FF8 mc NS:POP2%SPLITAC 29FF8 @ Pop stk2 and stk1 (%) into A/B and C/D as %%, save regs 2A002 mc HP:POP2% 2A002 @ Pop stk2 and stk1 (%) into A.W and C.W. save regs 2A060 mc NS:POP1%% 2A060 @ Pop stk1 (%%) into A.A/A.S/B.W, save regs 2A0B1 mc NS:POP2%% 2A0B1 @ Pop stk2 and stk1 (%%) into A.A/A.S/B.W and C.A/C.S/D.W, save regs 2A181 @ XFER: load regs D,B,D1,D0 (uses C) 2A188 mc HP:PUSH% 2A188 @ Push A.W as %, restore regs 2A235 mc NS:PUSH%%LOOP 2A235 @ Push A.A/A.S/B.W as %%, restore regs and continue RPL 2A23D mc HP:PUSH%LOOP 2A23D @ Push A.W as %, restore regs and continue RPL 2A241 @ MC: continue RPL 2A24B mc NS:PUSH%% 2A24B @ Push A.A/A.S/B.W as %%, restore regs 2A2B4 % HP:%0 2A2C9 % HP:%1 2A2DE % HP:%2 2A2F3 % HP:%3 2A308 % HP:%4 2A31D % HP:%5 2A332 % HP:%6 2A347 % HP:%7 2A35C % HP:%8 2A371 % NS:%9 2A386 % HP:%-1 2A39B % HP:%-2 2A3B0 % HP:%-3 2A3C5 % HP:%-4 2A3DA % HP:%-5 2A3EF % HP:%-6 2A404 % HP:%-7 2A419 % HP:%-8 2A42E % HP:%-9 2A443 % HP:%PI 2A458 %% NS:%%PI 2A472 % HP:%MAXREAL 2A487 % HP:%-MAXREAL 2A49C % HP:%MINREAL 2A4B1 % HP:%-MINREAL 2A4C6 %% HP:%%0 2A4E0 %% HP:%%1 2A4FA %% HP:%%2 2A514 %% HP:%%3 2A52E %% HP:%%4 2A548 %% HP:%%5 2A562 %% HP:%%.1 2A57C %% HP:%%.5 2A596 %% HP:%%10 2A5B0 P HP:%%>% 2A5B0 @ Internal LR->R (1:%% -> 1:%) 2A5C1 P HP:%>%% 2A5C1 @ Internal R->LR (1:% -> 1:%%) 2A5D2 :: HP:SETDEG 2A5D2 @ Internal DEG 2A5F0 :: HP:SETRAD 2A5F0 @ Internal RAD 2A604 :: HP:SETGRAD 2A604 @ Internal GRAD 2A622 :: HP:%D>R 2A622 @ Internal D->R (1:% -> 1:%) 2A62C %% HP:PI/180 2A655 :: HP:%R>D 2A655 @ Internal R->D (1:% -> 1:%) 2A673 :: HP:%>HMS 2A673 @ Internal ->HMS (1:% -> 1:%) 2A68C :: HP:%HMS> 2A68C @ Internal HMS-> (1:% -> 1:%) 2A6A0 :: HP:%HMS+ 2A6A0 @ Internal HMS+ (2:% 1:% -> 1:%) 2A6C8 :: HP:%HMS- 2A6C8 @ Internal HMS- (2:% 1:% -> 1:%) 2A6DC :: HP:%%MAX 2A6DC @ Internal MAX (2:%% 1:%% -> 1:%%) 2A6F5 :: HP:%MAX 2A6F5 @ Internal MAX (2:% 1:% -> 1:%max) 2A70E :: HP:%MIN 2A70E @ Internal MIN (2:% 1:% -> 1:%min) 2A727 P NS:%%0< 2A738 P HP:%0< 2A75A P HP:%%0= 2A76B P HP:%0= 2A788 P HP:%%0> 2A799 P HP:%0> 2A7BB :: HP:%%0<> 2A7CF :: HP:%0<> 2A7E3 :: HP:%%0>= 2A7F7 :: HP:%0>= 2A80B :: HP:%%0<= 2A81F P HP:%%< 2A871 P HP:%< 2A87F P HP:%%> 2A88A P HP:%> 2A895 P HP:%%>= 2A8A0 P HP:%>= 2A8AB P HP:%%<= 2A8B6 P HP:%<= 2A8C1 P HP:%= 2A8CC P HP:%<> 2A8D7 P HP:%SGN 2A8D7 @ Internal SIGN (1:% -> 1:%) 2A8F0 P HP:%%ABS 2A900 P HP:%ABS 2A910 P HP:%%CHS 2A920 P HP:%CHS 2A930 P HP:%MANTISSA 2A943 P HP:%%+ 2A94F P HP:%%- 2A95B P HP:%>%%- 2A95B @ Internal - (2:% 1:% -> 1:%%) 2A974 P HP:%+ 2A981 P HP:%- 2A99A P HP:%%* 2A9A6 P NS:%>%%* 2A9A6 @ Internal * (2:% 1:% -> 1:%%) 2A9AF @ MC: A:B * C:D (%%), push to stack and continue RPL 2A9BC P HP:%* 2A9C9 P HP:%OF 2A9C9 @ Internal % (2:% 1:% -> 1:%) 2A9E8 P HP:%%/ 2A9FE P HP:%/ 2AA0B P HP:%T 2AA30 P HP:%CH 2AA5F P HP:%%^ 2AA70 P HP:%^ 2AA70 @ Internal ^ (2:% 1:% -> 1:%) (Errors if not real result) 2AA81 P HP:%NROOT 2AA92 P HP:%%1/ 2AA9E P HP:%>%%1/ 2AA9E @ Internal INV (1:% -> 1:%%) 2AAAF P HP:%1/ 2AAAF @ Internal INV (1:% -> 1:%) 2AAEA P HP:%%SQRT 2AAF6 P HP:%>%%SQRT 2AB09 P HP:%SQRT 2AB09 @ Internal SQRT (1:% (not <0) 2AB1C P HP:%%EXP 2AB2F P HP:%EXP 2AB42 P HP:%EXPM1 2AB5B P HP:%%LN 2AB6E P HP:%LN 2AB6E @ Internal LN (1:% -> 1:%) (% >= 0) 2AB81 P HP:%LOG 2AB81 @ Internal LOG (1:% -> 1:%) (% >= 0) 2AB94 P HP:%%LNP1 2ABA7 P HP:%LNP1 2ABBA P HP:%ALOG 2ABDC P HP:%MOD 2ABEF P HP:%SIN 2AC06 P HP:%%SIN 2AC17 P HP:%%SINDEG 2AC27 P NS:%%SINRAD 2AC40 P HP:%COS 2AC57 P HP:%%COS 2AC68 P HP:%%COSDEG 2AC78 P HP:%%COSRAD 2AC91 P HP:%TAN 2ACA8 P HP:%%TANRAD 2ACC1 P HP:%ASIN 2ACC1 @ Internal ASIN (1:% -> 1:%) (abs(arg)<=1) 2ACD8 P HP:%%ASINRAD 2ACF1 P HP:%ACOS 2ACF1 @ Internal ACOS (1:% -> 1:%) (abs(arg)<=1) 2AD08 P HP:%%ACOSRAD 2AD21 P HP:%ATAN 2AD21 @ Internal ATAN (1:% -> 1:%) 2AD38 P HP:%ANGLE 2AD4F P HP:%%ANGLE 2AD5B P HP:%>%%ANGLE 2AD6C P HP:%%ANGLEDEG 2AD7C P HP:%%ANGLERAD 2AD95 P HP:%%SINH 2ADAE P HP:%SINH 2ADC7 P HP:%%COSH 2ADDA P HP:%COSH 2ADED P HP:%TANH 2AE00 P HP:%ASINH 2AE13 P HP:%ACOSH 2AE13 @ Internal ACOSH (1:% -> 1:%) (% >= 1) 2AE26 P HP:%ATANH 2AE26 @ Internal ATANH (1:% -> 1:%) (-1 < % < 1) 2AE39 P HP:%EXPONENT 2AE4C P HP:%NFACT 2AE62 P HP:%COMB 2AE75 P HP:%PERM 2AE9B @ MC XFER: pop stk1 (%) into A.W, save regs 2AEA2 @ MC XFER: pop stk1 (%) cvt'd to %% into A.A/A.S/B.W, save regs 2AEA9 @ MC XFER: pop stk2 and stk1 (%) into A/B and C/D as %%, save regs 2AEB0 @ MC XFER: pop stk1 (%%) into A.A/A.S/B.W, save regs 2AEB7 @ MC XFER: pop stk2 and stk1 (%%) into A.A/A.S/B.W and C.A/C.S/D.W, save regs 2AED0 @ MC XFER: push A.A/A.S/B.W as %%, restore regs and continue RPL 2AEDB @ MC: cvt %% to %, push to stk and continue RPL 2AEEF @ MC XFER: push A.W as %, restore regs and continue RPL 2AF27 P HP:%%H>HMS 2AF27 @ Internal ->HMS (1:%%) 2AF3A P NS:%HMS>%% 2AF3A @ Internal HMS-> (1:% -> 1:%%) 2AF4D P HP:%FP 2AF60 P HP:%IP 2AF73 P HP:%CEIL 2AF86 P HP:%FLOOR 2AF99 P HP:%%FLOOR 2AF99 P HP:%%INT 2AFAC P NS:%INT 2AFC2 P HP:%RAN 2B044 :: HP:%RANDOMIZE 2B044 @ Internal RDZ (1:% ->) 2B07B P HP:DORANDOMIZE 2B07B @ Deep internal RDZ (1:%) 2B0C4 :: HP:%FACT 2B0C4 @ Internal ! (1:% -> 1:%) 2B0CE % NS:%260 2B0ED :: %%1e10000>% 2B0F2 %% %%1e10000 2B139 % NS:%-260 2B171 :: NS:%INTFACT 2B171 @ (1:%integer) 2B19E :: %NEGFACTOVERFLOW 2B1BC %% %%1e-10000 2B1D6 %% %%-1e-10000 2B1FA :: 2B1FF %% HP:%%7 2B282 :: 2B2C3 :: 2B2DC %% HP:%%12 2B300 %% HP:%%60 2B31F %% %%-495.920119017593 2B343 %% %%30.3479606073615 2B36C %% %%-76.5594818140208 2B390 %% %%9.33584905660377 2B3B9 %% %%-1.21142857142857 2B3DD %% HP:%%.4 2B410 %% %%0.918938533204673 2B45C :: HP:2%>%% 2B45C @ (2:% 1:% -> 2:%% 1:%%) 2B470 :: HP:2%%>% 2B470 @ (2:%% 1:%% -> 2:% 1:%) 2B48E :: HP:%REC>%POL 2B498 :: HP:%%R>P 2B4BB :: HP:%POL>%REC 2B4C5 :: HP:%%P>R 2B4F2 :: HP:%SPH>%REC 2B529 :: HP:RNDXY 2B529 @ Internal RND (2:% 1:% -> 1:%) 2B53D :: HP:TRCXY 2B53D @ Internal TRNC (2:% 1:% -> 1:%) 2B551 P EXECRND# 2B551 @ RND (2:Ob 1:#parter -> 1:Ob) 2B55D P EXECTRNC# 2B55D @ TRNC (2:Ob 1:#parter -> 1:Ob) 2B590 P MakeParter# 2B590 @ Used by RND etc (1:% -> 1:#parter) Example: (1:%8 -> 1:<81h>) 2B674 @ MC: internal FP (%%) 2B67D mc HP:aMODF 2B75E @ MC: internal CEIL (%%) 2B767 @ MC: internal FLOOR (%%) 2B770 mc HP:aH>HMS 2B789 mc HP:1/X15 2B7A7 mc HP:RSUB1 2B7B0 mc HP:RADD1 2B7CA mc HP:RADDF 2B91E mc HP:MULTF 2B91E @ A:B * C:D (%%) 2B977 mc HP:DIVF 2BBB5 mc HP:DIV2 2BBE2 mc HP:CLRFRC 2BBE2 @ Internal IP (%%) 2BC4A mc HP:SPLITA 2BC4A @ Convert % to %% (A to A/B) 2BCA0 mc HP:SPLTAC 2BCA0 @ Convert % to %% (A to A/B and C to C/D) 2BD76 mc HP:TST15 2BE53 mc HP:XYEX 2BE61 mc HP:STAB0 2BE6F mc HP:STAB2 2BE7D mc HP:STCD0 2BE8B mc HP:STCD2 2BE99 mc HP:EXAB0 2BEA7 mc HP:EXAB2 2BEB5 mc HP:RCAB0 2BEC0 mc HP:RCAB2 2BECB mc HP:RCCD0 2BED6 mc HP:RCCD2 2BEE1 mc HP:CCSB1 2BEEC mc HP:RNDC[B] 2BFE3 mc HP:GETAB1 2BFFD mc HP:GETAB0 2C031 mc HP:GETCD0 2C04B mc HP:PUTAB0 2C09F :: NS:%UTPN 2C09F @ Internal UTPN (3:% 2:% 1:% -> 1:%) 2C11C P UTPNinlim 2C149 :: NS:%UTPC 2C149 @ Internal UTPC (2:% 1:% -> 1:%) (SWAP%0 UTPCin) 2C158 CD UTPCin 2C174 :: NS:%UTPF 2C174 @ Internal UTPF (3:% 2:% 1:% -> 1:%) (UNROT UTPFin) 2C17E CD UTPFin 2C19A :: NS:%UTPT 2C19A @ Internal UTPT (2:% 1:% -> 1:%) (SWAP%0 UTPTin) 2C1A9 CD UTPTin 2C1C5 %% NS:%%100 2C1DF :: NS:%%1+ 2C1F3 :: STOsigma 2C1F3 @ Internal STOSigma (1:Any) 2C1FD g' ID_sigmaDAT 2C216 :: STOsigma2 2C22F :: CLsigma 2C22F @ Internal CLSigma 2C248 :: CLsigma2 2C270 :: RCLsigma 2C293 :: RCLsigma2 2C293 @ Internal RCLSigma -> Contents True/False 2C2AC :: CKRCLsigma 2C2AC @ Internal RCLSigma 2C2C5 :: CK%RCLsigma 2C2C5 @ Recalls sigmaDAT & checks it is a real array 2C2D9 :: %sigma+ 2C2D9 @ Internal Sigma+ (1:%) 2C2E8 :: %Stosigma2 2C2E8 @ Stores [%] in ID_sigmaDAT (1:%) 2C32E :: []sigma+ 2C32E @ Internal Sigma+ (1:Array) 2C423 :: sigma- 2C423 @ Internal Sigma- 2C450 :: 2C487 :: 2C491 # <1h> 2C4A0 :: 2C4B4 :: 2C4D7 CD 2C535 :: Nsigma 2C535 @ Internal NSigma 2C558 :: MAXsigma 2C558 @ Internal MAXSigma 2C571 :: MEAN 2C571 @ Internal MEAN 2C58A :: MINsigma 2C58A @ Internal MINSigma 2C5A3 :: SDEV 2C5A3 @ Internal SDEV 2C5BC :: TOT 2C5BC @ Internal TOT 2C5D5 :: VAR 2C5D5 @ Internal VAR 2C5EE :: 2C625 :: 2C684 :: COLsigma 2C684 @ Internal COLSigma (2:%/Array,1:%) 2C6A2 :: 5TOsigmaPAR 2C6A2 @ Store levels 1-5 into 'SigmaPAR' 2C6C5 :: XCOL 2C6C5 @ Internal XCOL (1:%) 2C6DE :: YCOL 2C6DE @ Internal YCOL (1:%) 2C701 :: GETXCOL 2C715 :: GETYCOL 2C72E :: RclsigmaPAR> 2C72E @ Recalls & explodes sigmaPAR (makes one if necessary) 2C738 g' ID_sigmaPAR 2C751 :: STODefsigmaPAR 2C751 @ Makes & stores default sigmaPAR 2C756 {} DefsimgaPAR{} 2C7EC # <11118h> 2C7F6 :: 2C81E :: 2C84B :: NS:CORR 2C84B @ Internal CORR 2C8F5 :: NS:COV 2C8F5 @ Internal COV 2C94F :: sigmaX 2C94F @ Internal SigmaX 2C963 :: sigmaY 2C963 @ Internal SigmaY 2C977 :: sigmaXX 2C977 @ Internal SigmaX^2 2C99A :: sigmaYY 2C99A @ Internal SigmaY^2 2C9BD :: sigmaXY 2C9BD @ Internal SigmaX*Y 2C9EA :: 2C9FE :: 2CA12 :: 2CA30 :: NS:LR 2CA30 @ Internal LR (Doesn't ->TAG with "Intercept" and "Slope") 2CB02 :: NS:PREDY 2CB02 @ Internal PREDY (1:% -> 1:%) 2CB75 :: NS:PREDX 2CB75 @ Internal PREDX (1:% -> 1:%) 2CBED :: 2CC10 :: 2CC2E :: 2CC74 :: 2CCBA P 2CCDF P NS:ColumnMAX 2CCDF @ (2:#column 1:[]2D -> 1:%) 2CCF8 P NS:ColumnMIN 2CCF8 @ (2:#column 1:[]2D -> 1:%) 2CD04 P NS:ColumnTOT 2CD13 P NS:ColumnMEAN 2CD22 P NS:ColumnVAR 2CD31 P NS:ColumnSDEV 2CDC5 P 2CE53 P NS:ColumnSQR 2CE53 @ Sum of squares (4:#column 3:[%]2D 2:%% 1:False -> 1:%%) 2CEC0 P 2CF5F P 2D271 P CKsigmaDATA 2D271 @ Checks that stk1 is a valid array for stat operations 2D2E6 P SETNosigmaDATERR 2D2E6 @ Error: Nonexistent SigmaDAT 2D2EB @ MC: Error: Nonexistent SigmaDAT 2D2F6 P 2D306 P 2D316 P 2D326 P 2D342 @ Library 00C (XLIB 12) (short) 2D359 :: 2D37C $ "p% @-# 1" 2D396 # HP_MAXRETRY 2D396 @ 2D3A0 l' HP:LAMPKNO 2D3A0 l' LAM_'PKNO 2D3B1 l' LAM_'PACKET 2D3C6 l' HP:LAMRETRY 2D3C6 l' LAM_'RETRY 2D3D9 l' LAM_'ERRMSG 2D3EE l' LAM_'KP 2D3FB l' HP:LAMLNAME 2D3FB l' LAM_'LNAME 2D40E l' LAM_'OBJ 2D41D l' LAM_'OPOS 2D42E l' LAM_'EXCHP 2D441 :: HP:'LamKPSto 2D45A l' LAM_'KLIST 2D46D l' HP:LAMKMODE 2D46D l' LAM_'KMODE 2D480 l' LAM_'KPTRN 2D493 l' HP:LAMKRM 2D493 l' LAM_'KRM 2D4A2 l' LAM_'MaxR 2D4B3 :: 2D4DB {} 2D517 :: HN:EXCHINITPK 2D53F :: 2D544 CD 2D564 * HP:Loop 2D58C :: HP:SENDEOT 2D5C3 # 2D5E1 :: HP:SEND_PACKET 2D5EB :: 2D5F5 {} 2D631 :: 2D645 :: 2D668 :: 2D6AE :: 2D6C2 # <40h> 2D6FE :: 2D71C :: 2D730 :: HP:KDispRow2 2D730 @ Shows IO line 2 2D74E :: HP:KDispStatus2 2D74E @ Show IO status 2D76C :: 2D78F :: 2D7AD :: 2D816 :: RECN 2D816 @ Internal RECN (1:$/ID/LAM) (If NULL$TEMP then this is RECV) 2D839 {} 2D857 :: 2D86B {} 2D8A2 :: 2D933 :: 2D947 :: 2D96A # <4Bh> 2D9A1 P HP:SetServMode 2D9B2 P HP:ClrServMode 2D9C3 :: 2D9F5 :: SERVER 2D9F5 @ Internal SERVER 2DA13 {} 2DA3B :: 2DA4A :: 2DA68 :: 2DA7C # 2DAB3 :: 2DADB :: 2DAF9 :: 2DB17 :: 2DB44 :: 2DBDF :: 2DC39 :: 2DC52 :: 2DCE8 :: 2DCF7 :: 2DD56 {} 2DD6F # 2DDC4 :: HN:DropSysErr$ 2DDEC :: 2DE64 CD 2DF01 {} 2DF2E :: 2DF83 :: 2DF88 $ ":" 2DFC8 :: 2DFE6 :: 2E009 :: 2E040 :: 2E0A9 :: HP:SENDNAK 2E0C7 :: HP:SENDERROR 2E0F4 :: HP:SENDPKT 2E108 :: HP:BUILDKPACKET 2E117 CD 2E291 :: 2E2B4 :: 2E2E1 CD 2E31F * HP:Push#FLoop 2E45A :: 2E4A5 :: 2E4BE :: 2E4DC :: HN:APNDCRLF 2E4F0 $ "" 2E5AB :: SENDNAME 2E5AB @ Internal SEND (1:ID/LAM) 2E5BF :: 2E5FB :: 2E619 :: 2E650 :: 2E678 :: 2E691 :: 2E6BE :: HP:InitIOEnv 2E6CD {} 2E6EB :: HP:SENDLIST 2E6EB @ Internal SEND (1:{}) 2E709 :: 2E727 :: 2E763 :: 2E772 :: 2E7A4 :: 2E7C2 :: 2E7CC # <3h> 2E7D6 # <204h> 2E7EF :: HP:GETNAME 2E7EF @ Internal KGET (1:$/ID/LAM) 2E803 :: 2E835 :: NS:GETLIST 2E835 @ Internal KGET (1:{}) 2E83F :: 2E876 :: HP:DOFINISH 2E876 @ Internal FINISH 2E87B $ "F" 2E887 $ "G" 2E8A2 :: 2E8B1 $ "R" 2E8D1 :: HP:DOPKT 2E8D1 @ Internal PKT (2:$ 1:$) 2E8E5 {} 2E903 :: 2E90D {} 2E958 :: 2E999 :: NS:MkIOPAR 2E99E {} HP:StdIOPAR 2E99E @ { 9600 0 0 0 3 1 } (default iopar) 2E9CB :: HP:StoIOPAR 2E9D5 g' NS:ID_IOPAR 2E9E6 :: 2E9F0 {} 2EA18 :: 2EA4F :: HP:GetIOPAR 2EA4F @ Recalls IOPAR 2EA59 g' ID_IOPAR 2EA6A :: HP:Sys@ 2EA6A @ (1:ID) 2EAE2 :: HP:KERMOPEN 2EB19 :: 2EB37 P HP:DOOPENIO 2EB37 @ User OPENIO does P324C8 too ?? 2EB62 :: HP:OpenIO 2EB8F :: 2EBC6 :: 2EC11 :: HP:%IP># 2EC11 @ ABS(IP(%)) -> # 2EC25 :: HP:IOCheckReal 2EC34 :: HP:SetIOPARErr 2EC39 # 2EC52 P NS:BAUDOK? 2EC84 :: HP:DOBAUD 2EC84 @ Internal BAUD (1:%) 2ECAC :: 2ECCA :: HP:DOPARITY 2ECCA @ Internal PARITY (1:%) 2ED10 :: HP:DOTRANSIO 2ED10 @ Internal TRANSIO (1:%) 2ED4C :: NS:DOCKSM 2ED4C @ Internal CKSM (1:%) 2ED74 :: 2EDA6 :: HP:DOKERRM 2EDA6 @ Internal KERRM 2EDB0 CD 2EDE1 :: HP:DOBUFLEN 2EDE1 @ Internal BUFLEN 2EDF5 :: NS:DOSTIME 2EDF5 @ Internal STIME (1:%) 2EE18 :: HP:DOSBRK 2EE18 @ Internal SBRK 2EE31 P 2EE47 :: 2EE6F :: NS:DOXMIT 2EE6F @ Internal XMIT (1:$) 2EE97 :: HP:DOSRECV 2EE97 @ Internal SRECV (1:%) 2EEC4 :: HP:SendSetup 2EED3 {} 2EF1E :: 2EF2D :: 2EF50 :: 2EF64 :: 2EF82 :: 2EFA0 :: 2EFAA :: 2EFC8 :: 2EFD7 :: HP:TRPACKETFAIL 2EFEB :: 2F01D :: 2F040 :: 2F045 :: 2F04A # 2F077 :: 2F0B3 # <8h> 2F0C7 :: 2F0DB :: 2F0E0 # 2F12B :: 2F14E :: 2F162 $ "%%HP:" 2F194 :: 2F1FD {} 2F211 l' HP:LAMKML 2F211 l' LAM_'KML 2F27F :: 2F29D :: 2F2B1 :: 2F2E8 :: 2F2FC :: 2F383 :: HP:IncrLAMPKNO 2F39C :: HP:GetKermPkt# 2F3A6 # <40h> 2F3BF :: 2F414 :: 2F46E l' LAM_'KEOF 2F47F :: 2F49D :: 2F4A2 # <86h> 2F4F2 :: 2F506 {} 2F529 :: 2F542 :: 2F560 :: 2F56F {} 2F592 :: 2F5CE :: 2F5F1 :: 2F673 :: 2F687 :: 2F6AA :: 2F6C3 :: 2F6E6 :: 2F6F0 {} 2F709 :: 2F718 :: 2F75E :: 2F790 :: 2F7EA :: 2F7FE :: 2F830 :: 2F880 :: 2F8B7 :: 2F8EE # 2F934 :: HP:FalseFalse 2F957 :: 2F96B # <40h> 2F989 :: HP:RecvNextPkt 2F99D :: 2F9B1 :: 2F9ED :: 2FA10 :: 2FA29 :: 2FA6A :: 2FA97 :: 2FA9C # 2FACE :: 2FAF1 :: 2FB28 :: 2FB64 :: 2FB78 :: 2FB9B :: 2FBD7 :: 2FC04 :: 2FC13 :: 2FC63 :: 2FD03 :: 2FD26 P 2FDDE :: 2FDF7 :: 2FE15 :: 2FEA1 :: HP:SENDACK 2FEB5 :: HP:SENDNULLACK 2FEC9 :: HP:KVISLF 2FEDD :: HP:KVIS 2FEF1 P 2FEFD P 2FFB4 * HP:GetStrLenStk 2FFB7 mc NS:GetStrLenC 2FFBA * HP:GetStrLen 3016B :: HP:KINVISLF 3017A CD 30370 :: 303AC :: 303B6 CD 30477 :: 30486 CD 30607 :: 30634 CD 3073A :: 30771 P 30794 P HP:VERSTRING 30794 @ Binary file header (HPHP48-B) 307E2 :: NS:GETKP 30805 P HP:SUB$1# 30805 @ Nth char of string as # (2:$ 1:# -> 1:#) 30833 :: 3088E :: 308A7 CD 30914 :: HP:ACK_INIT 30928 CD 309EC :: 30A0A CD 30B1D :: HP:CHOOSE_INIT 30B22 $ "~* @-#Y" 30B80 CD 30BBE :: HP:ENCODE1PKT 30BD7 P HP:ENCODE 30D31 :: HP:DECODE 30D40 CD 30E44 :: 30E4E * HP:PutSerialECk 30E6C P 30ED2 * HP:OUTUART 31289 * HP:POPUART 3133B P HP:UARTBUFLEN 3136C P HP:FLUSHRSBUF 31444 :: HP:PUTSERIAL 31449 CD 314E5 P HP:GETSERIAL 31579 P 31589 P 315C6 :: HP:CLOSEUART 315C6 @ Internal CLOSEIO 315CB CD 315F9 mc NS:CloseUart 31608 P 3161E P HP:OpenUartClr 3178E P 317E6 :: 3180E :: 31827 :: 3182C # 31854 :: HP:docr 31868 :: CR 31868 @ Internal CR 3187C :: HP:OpenIOPrt 318A4 :: PRSTC 318A4 @ Internal PRSTC 318EA :: 318FE :: PR1 318FE @ Internal PR1 3194E :: PrintNotGrob 3194E @ Prints object (Not Grob) 31958 :: 3196C :: 319B7 :: 319FD :: 31A25 :: PRST 31A25 @ Internal PRST 31A6B :: 31A84 :: 31AA7 :: 31ACA :: Print[] 31AE8 :: 31AF2 :: 31B6A :: 31BB0 :: 31BF1 # 31C23 :: 31C32 {} 31C37 l' LAM_'IWrap 31C59 :: 31C5E # <127h> 31CA9 {} 31CD6 :: 31D03 :: 31D26 $ " " 31D56 :: PRVARNAME 31D56 @ Internal PRVAR (1:ID/LAM) 31D7E :: PrintOb 31D7E @ Prints object (1:Any) ?? 31DAB :: OLDPRT 31DAB @ Internal OLDPRT 31EE2 :: HP:DOPRLCD 31EE2 @ Internal PRLCD 31EFB CD 31F45 :: 31F4A {} HP:StdPRTPAR 31F4F % %1.8 31F7D :: HP:StoPRTPAR 31F87 g' ID_PRTPAR 31FAE :: 31FB8 g' ID_PRTPAR 31FFD :: HP:DODELAY 31FFD @ Internal DELAY (1:%) 3205C :: HP:GetChkPRTPAR 320B1 % %80 320C6 :: 320D0 # 32161 :: HP:PRINT 321E3 :: 3221F :: 32251 :: 32260 :: 32274 :: 32283 :: 322A1 :: 32305 P 32341 $ "\004" 3234D P 32387 :: HP:PRINTxNLF 323B4 CD 323E9 * HP:PSubErr 323F9 P HP:REMAP 324A6 P HP:AllowPrlcdCl 324C8 P AfterOPENIO 3251C * HP:PopASavptr 3251F * HP:PopSavptr 3252B P HP:SetEcma94 325AA * HP:ChkLowBat 32B08 * HP:ErrFixEIRU 32B1A * HP:FixEIRU 32B74 :: HP:PrintGrob 32B74 @ Prints Grob ?? 32B88 CD 32CC2 xl 32F60 @ Library 00A (XLIB 10) (short) 32F77 :: NS:ROOT 32F77 @ Internal ROOT (3:sym/seco 2:ID 1:%/C%/{}/Unit) 32F9F {} LAM{'nohalt} 32F9F @ { LAM_'nohalt } 32FC2 :: NOLASTWD#ERRJMP 32FC2 @ :: ERRORSTO CK0NOLASTWD ERRORJMP ; 32FF9 :: HP:SYMBNUMSOLVE 33012 :: 3303F :: StartROOT 3304E {} #{FOURTEEN} 3304E @ { } 3306C {} 7NULLLAM{} 330DF :: 5GETLAM?STO_HERE 338AF :: 338E1 :: 339A4 :: 339B8 :: 33C29 # 33C83 # 33CA1 # <12Fh> 33CBF # 33CD3 # 33D0A :: 33D91 # 33DAF :: 33DE1 :: 33DF0 CD 33E7F CD 33EB2 :: 33F6B :: 34006 :: 34024 :: 34042 :: 340B0 :: 340CE :: "+"!insert$ 340F1 :: 34105 $ "+ " 34115 $ "- " 3412F $ "? " 3414E :: 34176 :: 3419E :: 341C6 :: 341EE :: 34216 :: 3423E :: 3425C :: 342D4 :: 7GETLAMNOT?SEMI5&6GETLAMROT 34301 # HP:Attn# 34301 @ 3431F P 3437C P 34389 P 34394 P 343D1 P 344C7 P 34546 P 34627 P 346E8 P 346F8 P 34708 P 3474E P 34771 P 3477E P 3478E P 3479E P 347AE P 347DA P 347E7 P 347F7 P 34807 P 34817 P 34827 P 3491B P 34957 :: 34961 CD 349C6 P 34A08 P 34A1A P 34A56 P 34B2D P 34B77 P 34BB5 P 34C21 P 34C49 P 34CE2 :: 34CF1 CD 34D2B {} HP:1NULLLAM{} 34D30 l' HP:NULLLAM 34D3C P CkUnit>$ 34D3C @ (3:EXT/SYMB 2:#length 1:$) 34DAC :: 34DBB g' ID_'symb 34DF9 :: ID_'symbPuHiddenVarERRJMP 34E2B :: 34E94 :: MINUSONE#=casedropONE 34EBC :: 34EF3 :: 34F43 :: 34F6B :: 34FA2 :: 34FC5 :: NDROP3GETLAM2NTHCOMPDROP 34FE3 :: 35015 :: 35051 :: NS:!insertspc$ 35074 :: 350B5 P 35126 :: 3514E :: DPRADIX?|NOT?SEMI|DROP|"," 3516C P 35222 :: NS:DUPROLLSWAP 35236 P 35264 :: %>$ 35287 :: 352AF :: 352C3 :: C%>$ 35318 P 353AB :: 353C9 :: 35491 :: HP:apndvarlst 35491 @ Adds obj to a {} if not already there (2:{} 1:Ob -> 1:{}) 35491 @ :: OVER matchob? ?SKIP >TCOMP ; 354AF :: 354E1 :: 3558E P NS:PULLEL 3558E @ Get element (2:[%] / [C%] 1:#element -> 2:[%] / [C%] 1:%) 355B8 P HP:PULLREALEL 355B8 @ Get element (2:[%] 1:#element -> 2:[%] 1:%) 355C8 P HP:PULLCMPEL 355C8 @ Get element (2:[C%] 1:#element -> 2:[C%] 1:C%) 355D8 P NS:PULLLONGEL 355D8 @ Get element %, %%, C% or C%% as long 355D8 @ (2:[] 1:#element -> 2:[] 1:%% or C%% 35602 P NS:PULL%%EL 35602 @ Get element (2:[%%] 1:#element -> 2:[%%] 1:%%) (% too) 35619 mc NS:PULLC%%EL 35619 @ Get element (2:[C%%] 1:#element -> 2:[C%%] 1:C%%) (C% too) 35628 P HP:PUTEL 35628 @ Put element (3:[%] 2:% 1:#element -> 1:[%]) (%% C% and C%% too) 3566F P HP:PUTREALEL 3566F @ Put element (3:[%] 2:% 1:#element -> 1:[%] ) 356F3 P HP:PUTCMPEL 356F3 @ Put element (3:[C%] 2:C% 1:#element -> 1:[C%] ) 357A8 P HP:MDIMS 357A8 @ Get [] dims (1:1D[] -> 2:#m 1:False / 1:2D[] -> 3:#m 2:#m 1:True) 357F0 P 1 %% and ??? 35804 P NS:%>%%+ 35804 @ (2:% 1:% -> 1:%%) 3581E P NS:%>%%- 35831 P NS:ATTN?SEMI 35849 P NS:ATTNNOT?LOOP 35864 P 35870 P 35AF6 P NS:SWITCH2ARRY 35B4F P NS:SWITCHFLOATS 35B4F @ Example: :: SWITCHFLOATS %CHS C%CHS %%CHS C%%CHS ; negates all 35B90 P NS:SWITCH2FLOATS 35B90 @ Dispatching order: rr,or,rc,oc,lrr,olr,lro,oo 35B90 @ r=real,c=complex,lr=longreal,o=object (usually long complex) 35C18 :: SWAPSystemOb?>MakeUser 35C2C :: NS:DOPRG1[] 35C2C @ Operate on elements (%, %%, C% or C%%) 35C2C @ (2:prg 1:[]) argument to prg is long, return it the same type as [] 35C2C @ Example: prg = :: %%CHS %%>% ; negates real array on level1 35C63 :: NS:DOPRG2[] 35C63 @ Operate on matrix elements on same location 35C63 @ (3:prg 2:[% or %% orig] 1:[C% or C%% new] -> 1:[same type as 1:] 35C63 @ prg arguments: 2:%% from orig 1:C%% from new, return C% or C%% 35C63 @ Example: to multiply : prg = :: %%*C%% ; (INDEX@ = #element) 35CAE :: HP:MATCON 35CAE @ Internal CON (2:{} 1:%) (2:[%] 1:% -> 1:% / 2:[C%] 1:C% -> 1:[C%]) 35CC2 :: SMATCON 35CC2 @ CON (2:% 1:[]) (Makes [] a user object if needed) 35CCC :: SYSTMATCON 35CCC @ CON (2:% 1:[]) Doesn't do CKREF (might change variable contents) 35CEA :: SWAPRe>C%SWAP 35CEA @ :: SWAP Re>C% SWAP ; 35D08 :: NS:DROP3PICK 35D35 :: NS:MATIDN 35D35 @ Internal IDN (1:[]) (Does NEWOB if necessary) 35D53 :: SMATIDN 35D53 @ Internal IDN (1:[]) (Does User Obj if necessary) 35D71 P SYSTMATIDN 35D71 @ Internal IDN (1:[]) (Doesn't NEWOB, might change variables) 35DEB :: NS:MATNEG 35DEB @ Internal NEG (1:[] -> 1:[]) (Does NEWOB if necessary) 35DFF :: SMATNEG 35DFF @ Internal NEG (1:Array) 35E09 :: SYSTMATNEG 35E09 @ Internal NEG (1:Array) (Doesn't NEWOB) 35E09 @ :: ' NEGBLOAT SWAP DOPRG1[] ; 35E2C :: NS:MATRND 35E2C @ Internal RND (2:[] 1:% -> 1:[]) 35E2C @ :: ' EXECRND# EXECPRGPARTER[] ; 35E3B :: EXECPRGPARTER[] 35E3B @ Execute program :: %element1 #parter prg %element2.. ; 35E3B @ (2:[] 1:%parter -> 1:[]) 35EA9 :: NS:MATTRNC 35EA9 @ Internal TRNC (2:[] 1:%) 35EA9 @ :: ' EXECTRNC# EXECPRGPARTER[] ; 35EC2 :: NS:C%RND 35EC2 @ Internal RND (2:C% 1:% -> 1:C%) 35EC2 @ :: ' EXECPARTER# EXECPRGPARTERC% ; 35ED1 :: EXECPRGPARTERC% 35ED1 @ Execute program :: %re #parter prg %im #parter prg ; 35ED1 @ (3:C% 2:#parter 1:prg) 35F17 :: NS:C%TRNC 35F17 @ Internal TRNC (2:C% 1:% -> 1:C%) 35F17 @ :: ' EXECTRNC# EXECPRGPARTERC% ; 35F30 :: NS:MATCONJ 35F30 @ Internal CONJ (1:[] -> 1:[]) (Does NEWOB if necessary) 35F53 :: SMATCONJ 35F53 @ Internal CONJ (1:Array) (Does user obj if necessary) 35F6C :: SYSTMATCONJ 35F6C @ Internal CONJ (1:Array) (Doesn't NEWOB) 35F6C @ :: ' C%%CONJ SWAP DOPRG1[] ; 35F8F :: NS:MATRE 35F8F @ Internal RE (1:[] -> 1:[]) 35FA3 :: DUP%0CON 35FA3 @ Make 0 Array (1:[]) 35FC6 :: DROPC%%>%%DROP 35FEE :: NS:MATIM 35FEE @ Internal IM (1:[] -> 1:[]) 36011 :: DROPC%%>%%SWAPDROP 36039 :: NS:MATR>C 36039 @ Internal R->C (2:[%re] 1:[%im] -> 1:[C%]) 360B6 :: NS:MATC>R 360B6 @ Internal C->R (1:[C%] -> 2:[%re] 1:[%im]) 36115 :: NS:MAT+ 36115 @ Internal + (2:[] 1:[] -> 1:[]) 36129 :: 3615B :: 3616A :: ROTDROP_CKREF_DUP_DOPRG2[] 36197 :: XYZW>YWZ_CKREF_DOPRG2[] 361A6 :: ROTDROP_CKREF_DOPRG2[] 361C9 :: SMAT+ 361C9 @ (2:[] 1:[] -> 1:[]) No newob for stk1 361D8 :: 3620A :: 36219 :: SystemOb?>MakeUser_DOPRG2[] 36246 :: 36278 :: NS:MAT- 36278 @ Internal - (2:[] 1:[] -> 1:[]) 3628C :: 362AA :: S2MAT- 362C3 :: S1MAT- 362DC :: NS:MATFLOAT* 362DC @ Internal * (2:%/C%/[] 1:%/C%/[] -> 1:[]) 362E6 :: 362FA :: 36345 :: SMAT1* 36354 :: 3635E :: OVERTYPEREAL?_OVERTYPECARRY?_OR 3638B :: DUP_MATIM=0_SWAPSystemOb?>MakeUser_REPLACE 363CC :: NS:MATFLOAT/ 363CC @ Internal / (2:[] 1:%/C% -> 1:[]) 363DB :: 363F9 :: SMAT/ 36417 :: 36435 :: NS:MATSQ 36435 @ Internal SQ (1:[] -> 1:[]) 3643F :: NS:MAT* 3643F @ Internal * (2:[] 1:[] -> 1:[]) 36458 :: SMAT2* 36476 :: SMAT* 36494 :: NS:2DUPMAT* 364BC :: 4PICKOVERTWO 364BC @ :: 4PICKOVER TWO ; 364D0 :: ONE4PICKOVER 364D0 @ :: ONE 4PICKOVER ; 36516 :: 365AC :: NS:MATRSD 365AC @ Internal RSD (3:[] 2:[] 1:[] -> 1:[]) 365CF :: 36615 :: 3666F :: 3669C :: 366BF :: NS:ROTCKREF 366D3 :: ROTDUP_TYPERARRY?_case_MATIM=0_CKREF 366F6 :: NS:MATDOT 366F6 @ Internal DOT (2:[] 1:[] -> 1:[]) 3675A :: NS:B%%>B% 3675A @ :: SWITCH(%,C%,%%,C%%) NOP NOP %%>% C%%>C% ; 36782 :: NS:MATCROSS 36782 @ Internal CROSS (2:[] 1:[] -> 1:[]) 36796 {} #{THREE} 36796 @ { <3h> } 367B9 :: 367C3 :: NS:FECTH2[] 367C3 @ (3:#m 2:#n 1:[] -> 4:%%elementm 3:%%elementn 2:#m 1:#n) 367FA :: NS:STKDET2%% 367FA @ (4:%% 3:%% 2:%% 1:%% -> 4%%*1%%-3%%*2%% (det) ) 36868 :: 3688B :: 368CC {} %{3} 368CC @ { %3 } 368E5 :: NS:MATRNRM 368E5 @ Internal RNRM (1:[] -> 1:%) 368F9 :: NS:MATCNRM 368F9 @ Internal CNRM (1:[] -> 1:%) 3690D :: RNRM 3690D @ Internal RNRM...(1:[]) 369CB :: NS:MATABS 369CB @ Internal ABS (1:[] -> 1:%) 36A2A :: NS:MATDET 36A2A @ Internal DET (1:[] -> 1:%/C%) 36A3E :: NS:PULLELSWPDRP 36AC5 :: NS:DET2 36AC5 @ DET of 2*2 matrix (2:[] 1:#2 -> 1:det) 36B0B :: NS:MATINV 36B0B @ Internal INV (1:[] -> 1:[]) (Does NEWOB if necessary) 36B24 :: SMATINV 36B24 @ Internal INV (1:[]) (Does User obj if necessary) 36B33 :: SYSTINV 36B33 @ Internal INV (2:#side 1:[]) (Doesn't NEWOB) 36B60 :: NS:MAT/ 36B60 @ Internal / (2:[] 1:[] -> 1:[]) 36B83 :: S/MAT 36B88 :: 36BC9 :: 36BF1 {} LAM{#a#b} 36BF1 @ { LAM_#a LAM_#b } 36BF6 l' LAM_#a 36C01 l' LAM_#b 36C2F l' LAM_#b 36C3F l' LAM_#a 36C59 :: 36C7C :: CKREFSMAT/??????? 36CAE :: 36CC2 :: 36CE0 :: 36CEA {} LAM{#bNULL} 36CEA @ { LAM_#b NULLLAM } 36CEF l' LAM_#b 36D18 l' LAM_#b 36D41 :: NS:DETN 36D41 @ DET (size > 2) (2:[] 1:#side -> 3:[] 2:%% or C%% 1:#) 36D5A {} NS:2NULLLAM{} 36D5A @ {NULLLAM NULLLAM} 36D82 {} NS:3NULLLAM{} 36D82 @ {NULLLAM NULLLAM NULLLAM} 36DCD :: 36DEB :: NS:-C%%CONJ 36DEB @ :: C%%CHS C%%CONJ ; 36E4A :: 36F6C :: NS:DARRYTYPE%%1 36F6C @ ([] -> [] %%1/C%%1) 36F8F :: 36FDA :: DROPDARRYTYPE%%1 36FEE :: 37232 :: 3726E :: 3742D P 3745E P HP:SWAPROWS 3745E @ Swap 2 rows in [] (3:[] 2:# 1:# -> 3:[] 2:# 1:#) (Doesn't do TEMPOB) 37500 P NS:SWAPCOLUMNS 37500 @ Swap 2 colums in [] (3:[] 2:# 1:# -> 3:[] 2:# 1:#) (Doesn't do TEMPOB) 375B0 P 376AE P 376EA P 3773C P 37834 P 37840 P 37944 P 379FF P 37A95 :: 37AE0 :: NS:DTYPELREAL? 37AFE :: NS:MATIM=0 37AFE @ Make Imaginary parts 0 (1:[%] or [C%] -> 1:[C%]) 37B1C :: DROP%%Re>C% 37B1C @ :: DROP %%0 %%>C% ; 37B44 :: HP:CKREF 37B44 @ If obj in TEMPOB, not embedded, not referenced, nothing, else NEWOB 37B5D :: SystemOb?>MakeUser 37B5D @ If system object, make a new one on RAM (1:Obj ->1:Obj) 37B7B :: NS:CKSQUARE[] 37B7B @ If not square matrix, then error (1:[] -> 2:[] 1:#side) 37B7B @ :: DUP MDIMS ?SEMI?SETInvDimERR #= ?SEMI?SETInvDimERR ; 37B9E :: NS:CK2DIMS 37B9E @ If DIMS not same, then error (2:[] 1:[] -> 2:[] 1:[]) 37BCB :: NS:ONE_DO_ARRAY 37BCB @ Start Loop through [] ( #elements+1 ONE DO ) 37BCB @ :: DUP ARSIZE COLA #1+_ONE_DO ; 37BE9 :: NS:F%>F%%+ 37C20 :: NS:C%>C%%+ 37C48 :: NS:%+C%>C%% 37C66 :: NS:C%+%>C%% 37C7A :: NS:BF%>F%% 37CB1 :: NS:C%>C%%- 37CC5 :: NS:%-C%>C%% 37CD9 :: NS:C%-%>C%% 37CED :: NS:F%%* 37CED @ NOPs for normal floats, * for long floats 37D24 :: NS:F%%/ 37D5B :: NS:ABSBF% 37D5B @ ABS (1:Any float) 37D7E :: NS:NEGBF% 37D7E @ NEG (1:Any float) 37DA1 :: NS:BF%0= 37DA1 @ 0= (1:Any float) (%0= C%0= %%0= C%%0=) 37DC4 :: NS:F%>F%% 37DC4 @ Float to long float (1:% / C% -> 1:%% / C%%) 37DE2 :: NS:SETInvDimERR 37DE2 @ Error: Invalid Dimension 37DE7 # <501h> 37DF6 :: ?SEMI?SETInvDimERR 37DF6 @ :: ?SEMI SETInvDimERR ; 37E0F :: HP:MATREDIM 37E0F @ REDIM array (2:[] 1:{#dims} -> 1:[]) (makes TEMPOB if necessary) 37E2D :: SMATREDIM 37E2D @ REDIM array (2:[] 1:{#dims} -> 1:[] (makes UserObject if necessary) 37E4B :: PREPDIMS 37E4B @ Used by RDM to check dimensions 37E4B @ (2:[] 1:{#m #n} -> 6:[] 5: #elements 4:#m*#n 3:#m 2:#n 1:TWO) 37E4B @ (2:[] 1:{#m} -> 5:[] 4:elements 3:#m 2:#m 1:ONE) 37E73 P 37E7F P 3811F :: HP:MATTRN 3811F @ Internal TRN (1:2D[] -> 2D[]) (Makes NEWOB if necessary) 3814C :: SMATTRN 3814C @ Internal TRN (1:2D[] -> 2D[]) (Makes user object if necessary) 38179 P SYSTMATTRN 38179 @ Internal TRN (1:2D[] -> 2D[]) (Does no NEWOB) 38338 @ Library 0F0 (XLIB 240) (short) 3834F #h Link=F0 3834F @ Link table for library 0F0 (XLIB 240) 3858E :: HP:StartupProc 385A7 :: 385A7 @ halt jumps to 385B1 385E8 :: NS:InitSysUI 38638 :: 3866F :: HP:SysMenuCheck 3866F @ Update display menu bar 386A1 :: HP:SysDisplay 386A1 @ Update display stack area if no key is in keybuffer 386D8 :: HP:?FlashAlert 386D8 :: DOSTATUSWARN 386D8 @ Display a warning if Alarm or LowBat) 386EC :: FOURTEEN#AND 386EC @ :: #AND ; 38728 :: NS:SysErrorTrap 3875F :: 387BE :: 387E6 :: 38804 :: 3881D :: 3882C :: 38854 :: 38863 :: 3889F :: 38908 :: ERRBEEP_TOADISP_DISPSTATUS2_SetDA1Temp 38926 :: HP:FlashWarning 38926 @ Flash a warning message (1:$) 3894E :: 38985 :: HP:ParOuterLoop 38994 :: NS:POLSet&KeyUI 38994 @ :: POLSetUI POLKeyUI ; 389BC :: HP:POLSaveUI 389BC @ Save current user interface in a temporary environment (no args) 389CB :: NS:RclUI 389CB @ Recall current user interface 38A11 :: NS:RclHPUI 38A11 @ Recall system interface (-> 5:LASTMENU 4:# 3:prg 2:MenuRow@ 1:<4h>) 38A39 {} LAM{'SavedUI} 38A3E l' NS:LAM_'SavedUI 38A3E @ Temporary storage for user interface (parametrized outer loop) 38A64 :: HP:POLSetUI 38A64 @ Set current user interface (same args as to ParOuterLoop) 38ACD :: NS:UserRestoreUI 38AEB :: HP:POLKeyUI 38AEB @ Executes set user interface 38B09 :: NS:1POLKeyUI 38B09 @ Executes set user interface only once 38B45 :: 38B77 :: HP:POLResUI&Err 38B77 @ Handles UI errors if POLRestoreUI doesn't 38B90 :: HP:POLRestoreUI 38B90 @ Restore saved UI (POLSaveUI) and ABND (no args) 38BD6 :: ClrAppFlags&SetSuspOk 38C08 P HP:AppDisplay! 38C08 @ Store display update object for UI 38C18 P NS:AppDisplay@ 38C18 @ (-> 2:prg 1:True / 1:False) 38C28 P NS:ClrAppDisplay 38C38 P HP:AppKeys! 38C38 @ Store Hard key assignments for UI 38C48 P NS:AppKeys@ 38C58 P NS:ClrAppKeys 38C68 P HP:AppExitCond! 38C68 @ Store Exit condition program for UI (Must return True or False) 38C78 P NS:AppExitCond@ 38C78 @ Recall user interface exit program 38C88 P NS:ClAppExitCond 38C98 P HP:AppError! 38C98 @ Store UI error program 38CAB P NS:AppError@ 38CBE P NS:ClrAppError 38CD1 P Test_4_70688 38CDF P Set_4_70688 38CED P Clr_4_70688 38CFB P NS:AppMode? 38CFB @ ParOuterLoop on by user? (-> 1:True/False) 38D09 P HP:SetAppMode 38D17 P NS:ClrAppMode 38D25 P NS:NAppKeyOK? 38D33 P HP:SetNAppKeyOK 38D41 P NS:ClrNAppKeyOK 38D4F P NS:DoStdKeys? 38D5D P HP:SetDoStdKeys 38D6B P NS:ClrDoStdKeys 38D79 P NS:AppSuspOK? 38D8A P NS:SetAppSuspOK 38D9B P HP:ClrAppSuspOK 38DAC :: HP:DA1OK? 38DE8 :: SetDA1BadTRUE 38DFC :: NS:DA2aOK? 38E38 :: SetDA2aBadTRUE 38E4C :: NS:DA2bOK? 38E88 :: SetDA2bBadTRUE 38E9C :: NS:DA2OK? 38EB5 :: HP:DA3OK? 38EF1 :: SetDA3BadTRUE 38F05 :: NS:DAsOK? 38F28 :: HP:DA1OK?NOTIT 38F41 :: HP:DA2aOK?NOTIT 38F5A :: HP:DA2bOK?NOTIT 38F73 :: HP:DA3OK?NOTIT 38F8C :: 38F8C @ ClrDAsOK SetDA1Bad SetDA2aBad P494CF SetDA3Bad P53A90 P3958B 38FB9 :: P53A74_DA2aBad?_NOTAND 38FD2 :: HP:SetDA1Valid 38FD2 @ SetDA1ValidF ClrDA1Bad ClrDA1IsStat 38FEB :: HP:SetDA2aValid 38FEB @ SetDA2aValidF ClrDA2aBad 38FFF :: NS:SetDA2bValid 38FFF @ SetDA2bValidF ClrDA2bBad P3955B 39018 :: HP:SetDA3Valid 39018 @ SetDA3ValidF ClrDA3Bad 3902C :: HP:SetDA1Temp 3902C @ P3932B ClrDA1Bad ClrDA1IsStat 3902C @ Freeze display area 1 (Status area) 39045 :: NS:SetDA2aTemp 39045 @ P39355 ClrDA2aBad 39059 :: NS:SetDA2bTemp 39059 @ P3937F ClrDA2bBad P3955B 39072 :: NS:SetDA3Temp 39072 @ P393A9 ClrDA3Bad 39072 @ freeze menu area 39086 :: 39086 @ 4488A ITE P53A82 SetDA2aNoCh 390A4 :: HP:MENoP&FixDA1 390B3 :: SetDA12Bad 390CC :: HP:ClrDA1OK 390CC @ ClrDA1ValidF P39339 ClrDA1NoCh 390CC @ Tell the 48 to redraw the display area 1 when prg ends 390E5 :: NS:ClrDA2aOK 390E5 @ ClrDA2aValidF P39363 ClrDA2aNoCh 390FE :: NS:ClrDA2bOK 390FE @ ClrDA2bValidF P3938D ClrDA2bNoCh 39117 :: NS:ClrDA2OK 3912B :: HP:ClrDA3OK 3912B @ ClrDA3ValidF P393B7 ClrDA3NoCh 3912B @ Tell the 48 to redraw the display area 3 when prg ends 39144 :: HP:ClrDAsOK 39144 @ Tell the 48 to redraw the lcd when prg ends 3915D :: NS:SetDA2Valid 39171 :: NS:SetDAsValid 3918A :: HP:SetDA2NoCh 3919E :: NS:SetDA12NoCh 391B2 :: NS:SetDA23NoCh 391C6 :: NS:SetDA13NoCh 391DA :: NS:SetDA12a3Noch 391EE :: NS:SetDAsNoCh 39207 :: NS:SetDA2Temp 3921B :: HP:SetDA12Temp 3921B @ Freeze display area 1&2 (Status & Stack) 3922F :: HP:SetDAsTemp 39248 :: NS:DABad? 39248 @ True, if any DAxBad? is True 39275 P NS:DA1ValidF? 39283 P NS:SetDA1ValidF 39291 P NS:ClrDA1ValidF 3929F P NS:DA2aValidF? 392AD P NS:SetDA2aValidF 392BB P NS:ClrDA2aValidF 392C9 P NS:DA2bValidF? 392D7 P NS:SetDA2bValidF 392E5 P NS:ClrDA2bValidF 392F3 P NS:DA3ValidF? 39301 P HP:SetDA3ValidF 3930F P NS:ClrDA3ValidF 3931D P Tst_70688:8 3932B P Set_70688:8 39339 P Clr_70688:8 39347 P Tst_70686:1 39355 P Set_70686:1 39363 P Clr_70686:1 39371 P Tst_70686:2 3937F P Set_70686:2 3938D P Clr_70686:2 3939B P Tst_70686:4 393A9 P Set_70686:4 393B7 P Clr_70686:4 393C5 P NS:DA1NoCh? 393D3 P NS:SetDA1NoCh 393E1 P NS:ClrDA1NoCh 393EF P NS:DA2aNoCh? 393FD P NS:SetDA2aNoCh 3940B P NS:ClrDA2aNoCh 39419 P NS:DA2bNoCh? 39427 P NS:SetDA2bNoCh 39435 P NS:ClrDA2bNoCh 39443 P NS:DA3NoCh? 39451 P HP:SetDA3NoCh 3945F P NS:ClrDA3NoCh 3946D P NS:DA1Bad? 3947B P NS:SetDA1Bad 39489 P NS:ClrDA1Bad 39497 P NS:DA2aBad? 394A5 P NS:SetDA2aBad 394B3 P NS:ClrDA2aBad 394C1 P NS:DA2bBad? 394CF P NS:SetDA2bBad 394DD P NS:ClrDA2bBad 394EB P NS:DA3Bad? 394F9 P NS:SetDA3Bad 39507 P HP:ClrDA3Bad 39515 P NS:DA1IsStat? 39523 P NS:SetDA1IsStat 39531 P HP:ClrDA1IsStat 39531 @ Suspend ticking clock display 3953F P Tst_70683:4 3954D P Set_70683:4 3955B P Clr_70683:4 39569 P Tst_70683:1 39573 @ MC XFER: if 706c1c0 and c2 -> True/False, continue RPL 3957A P Set_70683:1 39584 @ MC XFER: 706c1c0.1 or c2, continue RPL 3958B P Clr_70683:1 39595 @ MC XFER: 706c1c0.1 and not c2, continue RPL 3959C :: NS:?DispStatus 3959C @ Update status area if keybuffer is empty 395BA :: NS:DispStatus 395E2 :: 39632 :: 39673 :: GETANGLEMODE$ 39673 @ (-> 4:$ 3:# 2:# 1:#) 39682 :: "RAD"FOUR 39696 :: 396C8 :: GETCMPMODE$ 396C8 @ (-> 4:$ 3:<16h> 2:<14h> 1:<25h> ) 396D7 :: 3970E :: GETHALTMODE$ 3970E @ if ''halt' exists, then "HALT", else ""; <27h>, <25h>, <38h> 3971D $ "HALT" 39748 :: GET1-5FLAG$ 3974D # <3039h> 3975C CD 397BB :: UserMODE$ 397CA :: USER$ 397CA @ Recalls "USR1" or "USER" 397D9 $ "1USR" 397EB $ "USER" 3981B :: ALGMODE$ 3982A $ "ALG" 39853 :: PRGMODE$ 39862 $ "PRG" 3988B :: HP:DispDir?Time 398F4 :: 39958 :: 6&8BLANKIT 39958 @ :: <6h> <8h> BLANKIT ; 39971 :: 39980 # <7Dh> 3998A $ " }" 39A06 :: UPDIR?DROP 39A06 @ (1:DIR -> 1:UPPERDIR / nothing) 39A4C :: NS:SWAPID>$ 39A4C @ (2:ID/LAM 1:Any -> 2:Any 1:$) 39A60 :: SWAPDROP"HOME" 39A60 @ (2:Ob2 1:Ob1 -> 2:Ob1 1:"HOME") 39A83 :: NS:SHOWTIME 39A83 @ Shows time/date regardless of flags. 39AD8 :: NS:?SHOWTIME 39AD8 @ If DA1IsStat? then SHOWTIME 39AF1 :: HP:DispTimeReq? 39AF1 @ Clock visible? (-> 1:T/F) 39B0A :: DrawDivider 39B0A @ Draws status area divider 39B2D gr StatusAreaLineGrob 39B2D @ status area divider (Graphic 131 x 2) 39B85 :: NS:?DispStack 39B85 @ Update stack area if keybuffer is empty 39BAD :: NS:DispStack 39BF3 :: 39C1B :: 39C61 :: 39C9D :: 39D06 :: 39DBF :: 39DE2 :: 39E0F :: NS:MultiLiner? 39E0F @ Can object be > 1 line long on stack display? (1:Any -> 1:T/F) 39E0F @ (composites,arrays,dirs,complex numbers) 39E78 :: 39E96 :: 39EB9 :: 39EE1 :: ROTDROP_INDEX@_#1+_UNROT_ExitAtLOOP 39F04 :: "1: "!insert$ 39F09 $ "1: " 39F23 :: NS:!insert2spc$ 39F28 $ " " 39F42 :: 39F56 :: 52SystFlagClr? 39F6F P 39FB0 P Tst_70683:2 39FC1 P Set_70683:2 39FD2 P Clr_70683:2 39FE3 :: ::FIVE:: 39FE3 @ :: <5h> ; 39FF2 $ "..." 39FFE :: ::TWENTYTWO:: 39FFE @ :: <16h> ; 3A00D :: HP:DispEditLine 3A030 :: 3A07B :: DROPOVERLEN$#1+ 3A0E4 :: 3A125 :: 4DROP"..." 3A139 :: 3A19D :: CHR_...>H$ 3A1CA :: HP:?DispMenu 3A1CA @ If no keys pressed DispMenu & freeze current menu 3A1CA @ :: KEYINBUFFER? NOTcase DispMenu SetDA3Bad ; 3A1E8 :: HP:DispMenu 3A1E8 @ Display & freeze current menu 3A1E8 @ :: DispMenu.1 SetDA3Valid ; 3A1FC :: HP:DispMenu.1 3A1FC @ Display current menu 3A1FC @ :: TURNMENUON P12847 <6Eh> <58h> <42h> <2Ch> <16h> <0h> <7h> ONE_DO INDEX@ GETDF DoLabel LOOP ; 3A20B # <6Eh> 3A215 # <58h> 3A21F # <42h> 3A229 # <2Ch> 3A260 :: NS:>Menu 3A260 @ Dispatching Grob>Menu, Str>Menu, Seco>Menu or Id>Menu 3A297 :: HP:Grob>Menu 3A2B5 :: HP:Str>Menu 3A2C9 :: HP:Seco>Menu 3A2DD :: HP:Id>Menu 3A2FB :: NS:Dir?Dir/StdLb 3A328 :: HP:MakeStdLabel 3A328 @ build normal menu key 3A337 gr NS:StdLabelGrob 3A337 @ normal menu key (blank/inverse) (Graphic 21 x 8) 3A38A :: HP:MakeBoxLabel 3A38A @ build checked menu key ($ -> grob (box with bullet)) 3A399 gr NS:BoxLabelGrob 3A399 @ checked menu key (blank/inverse) (Graphic 21 x 8) 3A3EC :: HP:MakeDirLabel 3A3FB gr NS:DirLabelGrob 3A3FB @ direcotory menu key (blank/inverse) (Graphic 21 x 8) 3A44E :: HP:MakeInvLabel 3A45D gr NS:InvLabelGrob 3A45D @ solver menu key (blank) (Graphic 21 x 8) 3A4AB :: HP:MakeLabel 3A4CE :: HP:Disp5x7 3A4CE @ Disp in 5x7 font at #startrow for #max rows (3:$ 2:#startrow #max) 3A4F6 :: DROPMINUSONEExitAtLOOP 3A546 :: HP:BlankDA1 3A546 @ BLANKIT rows 0-16 3A55F :: HP:BlankDA2 3A55F @ BLANKIT rows 15-56 3A578 :: HP:BlankDA12 3A578 @ BLANKIT rows 0-56 3A591 :: HP:BlankDA2a 3A5CD :: DoONkey 3A5F0 :: DoBACKSPCkey 3A60E :: 3A62C # <1Dh> 3A645 :: DoDOWNkey 3A672 # <11h> 3A67C :: 3A69A :: Do''key 3A6B3 :: Do_key 3A6CC :: Do()key 3A6E5 :: DoIOmkey 3A6FE :: DoLASTMENUkey 3A71C :: HP:DoNextRow 3A71C @ :: TakeOver'R SIX SetSomeRow 3A735 :: HP:DoPrevRow 3A735 @ :: TakeOver'R SetSomeRow ; 3A73F # 3A753 :: Do.key 3A77B :: Do,key 3A7A3 :: DoTIMEkey 3A7A3 @ Starts time menu application 3A7C6 :: DoEDITkey 3A7D5 :: DoEDITmenu 3A7D5 @ Show edit menu 3A7F3 :: DoENTERkey 3A80C :: DoRIGHTRSkey 3A834 :: DoLEFTkey 3A857 :: 3A870 # <10h> 3A87A :: NS:CRS>LEFT 3A87A @ Move cursor in cmd line 3A893 :: DoLSkey 3A8AC :: DoNSkey 3A8C5 :: DoRSkey 3A8DE :: DoRIGHTkey 3A901 :: 3A91A # <12h> 3A924 :: NS:CRS>RIGHT 3A924 @ Move cursor in cmd line 3A93D :: DoUPkey 3A93D @ Does UPSTK if cmd line height is 0/1, else moves cursor up 3A96A # 3A974 :: NS:CRS>UP 3A974 @ Move cursor in cmdline 3A992 :: DoSTOkey 3A9CE :: HP:TurnOffKey 3A9CE @ :: :TakeOver: TurnOff SetDAsNoCh ; 3A9E7 :: HP:SetSomeRow 3A9E7 @ :: MenuRow@ #+ STOMenuRow SetThisRow P418E4 ; 3AA0A :: HP:1A/LockA 3AA37 :: DoALSkey 3AA50 :: DoAkey 3AA69 :: DoARSkey 3AA82 :: DoNEGkey 3AA9B :: 'xNEGDoKeyob 3AAEB :: DoCLVARkey 3AB09 :: DoDELkey 3AB27 :: 3AB40 # <1Ch> 3AB59 :: DoALGEBRAkey 3AB72 :: DoCSTmkey 3AB8B :: Do{}key 3ABA4 :: Do[]key 3ABBD :: Do<<>>keyLS 3ABD6 :: Do<<>>key 3ABEF :: Do::key 3AC08 :: Do#key 3AC21 :: Do""key 3AC3A :: DoEEXkey 3AC7B :: 3ACBC :: DoCMDkey 3ACF8 :: DoSTACKkey 3AD0C :: 3AD57 :: DoMTHmkey 3AD70 :: DoMEMORYmkey 3AD89 :: DoMEMORYARITmkey 3ADA2 :: DoMODESmkey 3ADBB :: DoMODESCUSTOMmkey 3ADD4 :: DoNEWLINEkey 3ADED :: DoPLOTkey 3AE1A :: DoPRGmkey 3AE33 :: DoPRINTmkey 3AE4C :: DoREVIEWkey 3AE6F :: DoLIBRARYmkey 3AE88 :: DoSOLVEkey 3AEB5 :: DoSTATkey 3AEE2 :: DoSTATRSkey 3AF05 :: DoUNITSmkey 3AF1E :: DoUNITSCMDmkey 3AF37 :: DoVARmkey 3AF50 :: DoENTERLSkey 3AF50 @ If PrgMode? then DUP, else Equation Writer 3AF69 :: DoDOWNRSkey 3AF73 :: DoSVISITkey 3AF73 @ As key assignment 3AF7D :: NS:SVISIT 3AFE6 :: DoLEFTRSkey 3B00E :: DoUPRSkey 3B036 :: Do2ALPHAkey 3B068 :: DoENTERRSkey 3B068 @ If PrgMode? then DUP else Matrix writer 3B081 :: DoENTRYkey 3B095 :: SetPrgEntryDOCMDLINE 3B095 @ Enter Program-Entry Mode and start command line 3B0DB :: DoUSRkey 3B12B :: NS:VISIT 3B15D :: Do2Dkey 3B18F :: Do3Dkey 3B1B7 :: DoPOLARkey 3B1CB :: DoRADkey 3B1DF :: DoPURGEkey 3B211 :: HP:DoFirstRow 3B211 @ :: TakeOver'R ONE STOMenuROW SetThisRow ; 3B234 {} NS:ALLMENUS{} 3B234 @ Entire menu list 3B234 @ All menu entries (CSTmenu etc are used like :: ' CSTmenu InitMenu ;) 3B234 @ All key entries are like { "NAME" Action } or { "Name" menu} 3B234 @ All menulists are the menus initiated if there are preparing action 3B234 @ Type of menu (:: or {}) indicates if there are preparing actions 3B234 @ DoXXXkey is executed when you PRESS the menukey 3B234 @ XXXlabelprg return new label if key is pressed ( -> Grob) 3B234 @ XXXkeyops is a list of NS,LS(,RS) routines 3B239 :: CSTmenu 3B243 :: 3B284 :: MTHmenu 3B284 @ Does TopMenuLabelDef NoExitAction SetTopMenuKeys first 3B293 {} MTHmenulist 3B293 @ {MTHPARTSkey MTHPROBkey ... MTHBASEkey} 3B298 {} MTHPARTSkey 3B298 @ { "PARTS" MTHPARTSmenu} 3B29D $ "PARTS" 3B2BB {} MTHPROBkey 3B2BB @ { "PROB" MTHPROBmenu } 3B2C0 $ "PROB" 3B2DC {} MTHHYPkey 3B2DC @ { "HYP" MTHHYPmenu } 3B2E1 $ "HYP" 3B2FB {} MTHMATRXkey 3B2FB @ { "MATRX" MTHMATRXmenu } 3B300 $ "MATRX" 3B31E {} MTHVECTRkey 3B31E @ { "VECTR" MTHVECTRmenu } 3B323 $ "VECTR" 3B341 {} MTHBASEkey 3B341 @ { "BASE" MTHBASEmenu } 3B346 $ "BASE" 3B36C {} MTHPARTSmenu 3B36C @ { ABS SIN CONJ ARG RE IM MIN MAX MOD % %CH %T MANT XPON 3B36C @ IP FP FLOOR CEIL RND TRNC MAXR MINR } 3B3E4 {} MTHPROBmenu 3B3E4 @ { COMB PERM ! RAND RDZ NullMenuKey UTPC UTPF UTPN UTPT } 3B420 {} MTHHYPmenu 3B420 @ { SINH ASINH COSH ACOSH TANH ATANH EXPM LNP1 } 3B452 {} MTHMATRXmenu 3B452 @ { CON IDN TRN RDM DET RSD ABS RNRM CNRM } 3B489 {} MTHVECTRmenu 3B489 @ { XYZkey R\Zkey R\\key CROSS DOT ABS V-> ->V2 ->V3 D->R R->D } 3B4CA {} MTHBASEmenu 3B4CA @ { HEXkey DECkey OCTkey BINkey STWS RCWS RL RR RLB RRB 3B4CA @ R->B B->R SL SR SLB SRB ASR NullMenuKey AND OR XOR NOT } 3B542 :: PRGmenu 3B542 @ Does TopMenuLabelDef&NoExitAction SetTopMenuKeys first 3B551 {} PRGmenulist 3B551 @ { PRGSTKkey PRGOBJkey PRGDSPLkey PRGCTRLkey PRGBRCHkey PRGTESTkey } 3B556 {} PRGSTKkey 3B556 @ { "STK" PRGSTKmenu } 3B55B $ "STK" 3B575 {} PRGOBJkey 3B575 @ { "OBJ" PRGOBJmenu } 3B57A $ "OBJ" 3B594 {} PRGDSPLkey 3B594 @ { "DSPL" PRGDSPLmenu } 3B599 $ "DSPL" 3B5B5 {} PRGCTRLkey 3B5B5 @ { "CTRL PRGDSPLmenu } 3B5BA $ "CTRL" 3B5D6 {} PRGBRCHkey 3B5D6 @ { "BRCH" PRGBRCHmenu } 3B5DB $ "BRCH" 3B5F7 {} BRGTESTkey 3B5F7 @ { "TEST" PRGTESTmenu } 3B5FC $ "TEST" 3B622 {} PRGSTKmenu 3B622 @ { OVER ROT ROLL ROLLD PICK DEPTH DUP DUP2 DUPN DROP2 DRPNkey } 3B659 {} DRPNkey 3B659 @ { "DRPN" DROPN } 3B65E $ "DRPN" 3B67F {} PRGOBJmenu 3B67F @ { OBJ-> EQ-> ->ARRY ->LIST ->STR ->TAG R->C C->R DTAG ->UNIT 3B67F @ TYPE VTYPE SIZE POS REPL SUB NUM CHR PUT GET PUTI GETI } 3B6F7 {} PRGDSPLmenu 3B6F7 @ { PICT PVIEW LINE TLINE BOX ARC PIXON PIXOFF PIX? PX->C C->PX 3B6F7 @ SIZE ->GROB BLANK GOR GXOR REPL SUB ->LCDkey LCD-> CLLCDkey 3B6F7 @ DISPkey FREEZE TEXT } 3B756 {} ->LCDkey 3B760 :: Do->LCDkey 3B783 {} CLLCDkey 3B78D :: DoCLLCDkey 3B7AB {} DISPkey 3B7B5 :: DoDISPkey 3B7E2 {} PRGCTRLmenu 3B7E2 @ { DBUGkey SSTkey SSTdownkey NEXTkey HALT KILL INPUT 3B7E2 @ PROMPT DISPkey MENU WAIT KEY DOERR ERRN ERRM ERR0 BEEP OFF } 3B7E7 {} DBUGkey 3B7EC $ "DBUG" 3B808 {} SSTkey 3B80D $ "SST" 3B827 {} SSTdownkey 3B82C $ "SSTdown" 3B848 {} NEXTkey 3B84D $ "NEXT" 3B8B4 {} PRGBRCHmenu 3B8B4 @ { IFkey CASEkey STARTkey FORkey DOkey WHILEkey THEN END NEXT STEP 3B8B4 @ UNTIL REPEAT ELSE IFERRkey IFT IFTE } 3B90E {} PRGTESTmenu 3B90E @ { AND OR XOR NOT SAME TYPE == <> < > <= >= 3B90E @ SF CF FS? FC? FS?C FC?C } 3B972 {} PRINTmenu 3B972 @ { PR1 PRST PRSTC PRLCD PRVAR CR DELAY OLDPRT } 3B9A4 {} IOmenu 3B9A4 @ { SEND RECV SERVE KGET FINISH SETUPkey RECN PKT KERRM NullMenuKey 3B9A4 @ OPENIO CLOSEIO XMIT RECV STIME SBRK BUFLEN } 3BA03 :: IOSETUPmenu 3BA03 @ Sets DISPIOSETUP as ReviewKey, SetDA1BADSSAVEMENUOFFSET as ExitAction 3BA08 {} IOSETUPmenulist 3BA08 @ { IR/Wkey ASCIIkey BAUDkey PARITYkey CKSMkey TRANSIOkey } 3BA0D {} IR/Wkey 3BA12 $ "IR/W" 3BA2E {} ASCIIkey 3BA33 $ "ASCII" 3BA51 {} BAUDkey 3BA5B :: DoBAUDkey 3BA5B @ :: Do1st/2nd+ xBAUD MAKEVALIDBAUD MSGOK?DISPIOSETUP ; 3BA7E {} PARITYkey 3BA88 :: DoPARITYkey 3BAAB {} CKSMkey 3BAB5 :: DoCKSMkey 3BAD8 {} TRANSIOkey 3BAE2 :: DoTRANSIOkey 3BB19 :: SetExitAction:SetDA1BadSAVEMENUOFFSET 3BB23 :: SetDA1BadSAVEMENUOFFSET 3BB46 {} MODESlist 3BB46 @ { STDkey FIXkey SCIkey ENGkey SYMkey BEEPkey STKkey ARGkey CMDkey 3BB46 @ CNCTkey MLkey CLKkey DEGkey RADkey GRADkey XYZkey R\Zkey R\\key 3BB46 @ HEXkey DECkeyOCTkey BINkey FM,key } 3BB5F {} SYMkey 3BB64 :: SYMlabelprg 3BB64 @ Gives new label grob according to flag #3 3BB6E $ "SYM" 3BB88 :: DoSYMkey 3BB88 @ :: 3ED84 <3h> SetDA12NoCh ; 3BBA6 {} BEEPkey 3BBAB :: BEEPlabelprg 3BBB5 $ "BEEP" 3BBD1 :: DoBEEPkey 3BBFE {} CNCTkey 3BC03 :: CNCTlabelprg 3BC0D $ "CNCT" 3BC29 :: DoCNCTkey 3BC8D {} MODESCUSTOMmenu 3BC8D @ { ASN STOKEYS RCLKEYS DELKEYS MENU ID_CST TMENU RCLMENU STOF RCLF 3BC8D @ SF CF FS? FC? FS?C FC?C } 3BCE7 {} MEMORYmenu 3BCE7 @ { MEM BYTES VARS ORDER PATH CRDIR TVARS PVARS NEWOB LIBS ATTACH 3BCE7 @ DETACH MERGE FREE ARCHIVE RESTORE PGDIR } 3BD46 {} MEMORYARITmenu 3BD46 @ { STO+ STO- STO* STO/ INCR DECR SINV SNEG SCON } 3BD82 :: NS:PORT0menu 3BD82 @ :: SetPORTmenuOn ' SHOWPORT0menu ; 3BD91 :: SHOWPORT0menu 3BDAA :: NS:PORT1menu 3BDB9 :: SHOWPORT1menu 3BDD2 :: NS:PORT2menu 3BDE1 :: SHOWPORT2menu 3BDFA {} HP:EditMenu 3BDFA @ { SkipKey DelKey TogInsertKey IStackKey } 3BE22 :: SOLVEmenu 3BE22 @ Sets SOLVEReviewKey and does SetExitAction:SetDA1BadSAVEMENUOFFSET 3BE27 {} SOLVEmenulist 3BE27 @ { SOLVRkey ROOT NEWkey EDEQkey STEQkey CATkey } 3BE2C {} SOLVRkey 3BE31 :: SOLVRlabelprg 3BE3B $ "SOLVR" 3BE54 :: DoSOLVRkey 3BE54 :: HP:DoSolvrMenu 3BEB3 @ SOLVE SOLVR menu list 3BEB8 :: PLOTmenu 3BEB8 @ Sets PLOTReviewKey and does SetExitAction:SetDA1BadSAVEMENUOFFSET 3BEBD {} PLOTmenulist 3BEBD @ { PLOTRkey PTYPEkey NEWkey EDEQkey STEQkey CATkey } 3BEC2 {} PLOTRkey 3BEC7 :: PLOTRlabelprg 3BED1 $ "PLOTR" 3BEEA :: DoPLOTRkey 3BF21 {} PTYPEkey 3BF26 :: PTYPElabelkey 3BF30 $ "PTYPE" 3BF49 :: DoPTYPEkey 3BF71 {} NEWkey 3BF76 $ "NEW" 3BF86 :: DoNEWkey 3BF9F {} EDEQkey 3BFA4 $ "EDEQ" 3BFC0 {} STEQkey 3BFCA {} STEQkey{} 3BFCF :: DoSTEQkey 3BFFC {} CATkey 3C001 $ "CAT" 3C039 :: PTYPEmenu 3C039 @ Sets PTYPEkeyNSprg, SetDA1Bad as ExitAction 3C03E {} PTYPEmenulist 3C03E @ { FUNCTION CONIC POLAR PARAMETRIC TRUTH BAR HISTkey SCATTER } 3C061 {} HISTkey 3C066 $ "HIST" 3C0AF :: PLOTRmenu 3C0AF @ 3C0B4 {} PLOTRlist 3C0B4 @ { ERASEkey DRAWkey AUTOkey XRNGkey YRNGkey INDEPkey DEPNDkey 3C0B4 @ PTYPEkey RESkey CENTRkey SCALEkey RESETkey AXESkey DRAX LABEL 3C0B4 @ *Hkey *Wkey PDIMkey } 3C0B9 {} ERASEkey 3C0C3 :: DoERASEkey 3C0F0 {} DRAWkey 3C0FA {} DRAWkeyops 3C0FF :: DoDRAWkey 3C11D :: DoDRAWkeyLS 3C145 {} AUTOkey 3C14F :: DoAUTOkey 3C18B {} XRNGkey 3C195 {} XRNGkeyops 3C19A :: DoXRNGkey 3C1B8 :: DoXRNGkeyRS 3C1B8 :: GETXMIN&XMAX 3C1B8 @ (-> 2:%xmin 1:%xmax) 3C1D6 {} YRNGkey 3C1E0 {} YRNGkeyops 3C1E5 :: DoYRNGkey 3C203 :: DoYRNGkeyRS 3C203 :: GETYMIN&MAX 3C203 @ (-> 2:%ymin 1:%max) 3C221 {} INDEPkey 3C22B {} INDEPkeyops 3C230 :: DoINDEPkey 3C23F :: SHOWPlotrInfoSetDA3NoCh 3C26C {} DEPNDkey 3C276 {} DEPNDkeyops 3C27B :: DoDEPNDkey 3C2AD {} RESkey 3C2B7 {} RESkeyops 3C2BC :: DoRESkey 3C2E9 {} CENTRkey 3C2F3 {} CENTRkeyops 3C2F8 :: DoCENTRkey 3C325 {} SCALEkey 3C32F {} SCALEkeyops 3C334 :: DoSCALEkey 3C361 {} RESETkey 3C366 $ "RESET" 3C384 {} AXESkey 3C38E {} AXESkeyops 3C393 :: DoAXESkey 3C3CA {} *Hkey 3C3D4 :: Do*Hkey 3C3F2 {} *Wkey 3C3FC :: Do*Wkey 3C41A {} PDIMkey 3C424 {} PDIMkeyops 3C456 :: SetExitAction:SAVEMENUOFFSETSetDA12Bad 3C460 :: SAVEMENUOFFSETSetDA12Bad 3C483 {} ALGEBRAmenu 3C483 @ { COLCT EXPAN ISOL QUAD SHOW TAYLR 3C483 @ UPMATCH DOWNMATCH rpnWHERE stkAPPLY QUOTE ->QPI } 3C4C9 :: TIMEmenu 3C4CE {} TIMEmenulist 3C4CE @ { SETkey ADJSTkey ALRMkey ACKkey ACKALLkey TIMECATkey DATE+ DDAYS 3C4CE @ DATE TIME TSTR TICKS ->HMS HMS-> HMS+ HMS- } 3C4D3 {} TIMESETkey 3C4D8 :: TIMESETlabelprg 3C4E2 $ "SET" 3C4F7 :: DOTIMESETkey 3C51A {} ADJSTkey 3C51F :: ADJSTlabelprg 3C529 $ "ADJST" 3C542 :: DoADJSTkey 3C565 {} ALRMkey 3C56A :: ALRMlabelprg 3C574 $ "ALRM" 3C58B :: DoALRMkey 3C5B8 {} ACKkey 3C5C2 :: DoACKkey 3C5E5 {} ACKALLkey 3C5EF :: DoACKALLkey 3C612 {} TIMECATkey 3C671 {} ADJSTmenu 3C671 @ { HR+key HR-key MIN+key MIN-key SEC+key SEC-key CLKADJ } 3C676 {} HR+key 3C67B $ "HR+" 3C68B :: DoHR+key 3C6A4 {} HR-key 3C6A9 $ "HR-" 3C6B9 :: DoHR-key 3C6D2 {} MIN+key 3C6D7 $ "MIN+" 3C6E9 :: DoMIN+key 3C702 {} MIN-key 3C707 $ "MIN-" 3C719 :: DoMIN-key 3C732 {} SEC+key 3C737 $ "SEC+" 3C749 :: DoSEC+key 3C762 {} SEC-key 3C767 $ "SEC-" 3C779 :: DoSEC-key 3C79C :: ALRMmenu 3C7A1 {} ALRMmenulist 3C7A1 @ { >DATEkey >TIMEkey A/PMkey EXECkey RPTkey ALRMSETkey 3C7A1 @ STOALARM RCLALARM DELALARM FINDALARM } 3C7A6 {} >DATEkey 3C7AB $ ">DATE" 3C7C9 {} >TIMEkey 3C7CE $ ">TIME" 3C7EC {} A/PMkey 3C7F1 $ "A/PM" 3C80D {} EXECkey 3C812 $ "EXEC" 3C824 {} EXECkeyops 3C842 {} RPTkey 3C847 :: RPTlabelprg 3C851 $ "RPT" 3C866 :: DoRPTkey 3C889 {} ALARMSETkey 3C88E $ "SET" 3C8D5 {} RPTmenu 3C8D5 @ { WEEKkey DAYkey HOURkey MINkey SECkey NONEkey } 3C8DA {} WEEKkey 3C8DF $ "WEEK" 3C8FB {} DAYkey 3C900 $ "DAY" 3C91A {} HOURkey 3C91F $ "HOUR" 3C93B {} MINkey 3C940 $ "MIN" 3C95A {} SECkey 3C95F $ "SEC" 3C979 {} NONEkey 3C97E $ "NONE" 3C990 :: DoNONEkey 3C9B8 {} TIMESETmenu 3C9B8 @ { ->DATEkey ->TIMEkey TIMESETA/PMkey 12/24key M/Dkey } 3C9BD {} ->DATEkey 3C9C2 $ "->DATE" 3C9E0 {} ->TIMEkey 3C9E5 $ "->TIME" 3CA03 {} TIMESETA/PMkey 3CA08 $ "A/PM" 3CA1A :: DoTIMESETA/PMkey 3CA38 {} 12/24key 3CA3D $ "12/24" 3CA51 :: Do12/24key 3CA6F {} M/Dkey 3CA74 $ "M/D" 3CA84 :: DoM/Dkey 3CAA7 :: STATmenu 3CAAC {} STATmenulist 3CAAC @ { sigma+key CLsigmakey STATNEWkey EDITsigmakey STATCATkey TOT 3CAAC @ MEAN SDEV MAXsigma MINsigma BINS XCOLkey YCOLkey BARPLOTkey 3CAAC @ HISTPLOTkey SCATRPLOTkey sigmaLINE LR PREDX PREDY CORR COV 3CAAC @ MODLkey sigmaX sigmaY sigmaXX sigmaYY sigmaXY Nsigma } 3CAB1 {} sigma+key 3CABB {} sigma+keyops 3CAC0 :: Dosigma+key 3CAE8 :: Dosigma-key 3CB1A {} CLsigmakey 3CB24 :: DoCLsigmakey 3CB47 {} STATNEWkey 3CB4C $ "NEW" 3CB5C :: DoSTATNEWkey 3CB75 {} EDITsigmakey 3CB7A $ "EDITsigma" 3CB98 {} STOsigmakey 3CBA2 {} STOsigmakeyops 3CBA7 :: DoSTOsigmakey 3CBD4 {} STATCATkey 3CC06 {} XCOLkey 3CC10 {} XCOLkeyops 3CC15 :: DoXCOLkey 3CC47 {} YCOLkey 3CC51 {} YCOLkeyops 3CC56 :: DoYCOLkey 3CC88 {} BARPLOTkey 3CC92 :: DoBARPLOTkey 3CCBF {} HISTPLOTkey 3CCC9 :: DoHISTPLOTkey 3CCEC {} SCATRPLOTkey 3CCF6 :: DoSCATRPLOTkey 3CD64 :: SHOWNoSigmaDatSetDA2NoCh 3CD96 :: MODLmenu 3CD9B {} MODLmenulist 3CD9B @ { LINkey LOGkey EXPkey PWRkey BESTkey } 3CDA0 {} LINkey 3CDA5 $ "LIN" 3CDBF {} LOGkey 3CDC4 $ "LOG" 3CDDE {} EXPkey 3CDE3 $ "EXP" 3CDFD {} PWRkey 3CE02 $ "PWR" 3CE1C {} BESTkey 3CE21 $ "BEST" 3CE65 :: UNITSmenu 3CE74 {} UNITSmenulist 3CE74 @ { LENGkey AREAkey VOLkey UNITSTIMEkey SPEEDkey MASSkey 3CE74 @ FORCEkey ENRGkey POWRkey PRESSkey TEMPkey ELECkey ANGLkey 3CE74 @ LIGHTkey UNITSRADkey VISCkey } 3CE79 {} LENGkey 3CE7E $ "LENG" 3CE9A {} AREAkey 3CE9F $ "AREA" 3CEBB {} VOLkey 3CEC0 $ "VOL" 3CEDA {} UNITSTIMEkey 3CEDF $ "TIME" 3CEFB {} SPEEDkey 3CF00 $ "SPEED" 3CF1E {} MASSkey 3CF23 $ "MASS" 3CF3F {} FORCEkey 3CF44 $ "FORCE" 3CF62 {} ENRGkey 3CF67 $ "ENRG" 3CF83 {} POWRkey 3CF88 $ "POWR" 3CFA4 {} PRESSkey 3CFA9 $ "PRESS" 3CFC7 {} TEMPkey 3CFCC $ "TEMP" 3CFE8 {} ELECkey 3CFED $ "ELEC" 3D009 {} ANGLkey 3D00E $ "ANGL" 3D02A {} LIGHTkey 3D02F $ "LIGHT" 3D04D {} UNITSRADkey 3D061 {} VISCkey 3D066 $ "VISC" 3D08C :: LENGmenu 3D096 {} LENGmenulist 3D096 @ { length units... } 3D09B $ "m" 3D0A7 $ "cm" 3D0B5 $ "mm" 3D0C3 $ "yd" 3D0D1 $ "ft" 3D0DF $ "in" 3D0ED $ "Mpc" 3D0FD $ "pc" 3D10B $ "lyr" 3D11B $ "au" 3D129 $ "km" 3D137 $ "mi" 3D145 $ "nmi" 3D155 $ "miUS" 3D167 $ "chain" 3D17B $ "rd" 3D189 $ "fath" 3D19B $ "ftUS" 3D1AD $ "mil" 3D1BD $ "mu" 3D1C9 $ "Angstrom" 3D1D5 $ "fermi" 3D1F3 :: AREAmenu 3D1FD {} AREAmenulist 3D1FD @ { all area units...} 3D202 $ "m^2" 3D212 $ "cm^2" 3D224 $ "b" 3D230 $ "yd^2" 3D242 $ "ft^2" 3D254 $ "in^2" 3D266 $ "km^2" 3D278 $ "ha" 3D286 $ "a" 3D292 $ "mi^2" 3D2A4 $ "miUS^2" 3D2BA $ "acre" 3D2D6 :: VOLmenu 3D2E0 {} VOLmenulist 3D2E0 @ { All volume units...} 3D2E5 $ "m^3" 3D2F5 $ "st" 3D303 $ "cm^3" 3D315 $ "yd^3" 3D327 $ "ft^3" 3D339 $ "in^3" 3D34B $ "l" 3D357 $ "galUK" 3D36B $ "galC" 3D37D $ "gal" 3D38D $ "qt" 3D39B $ "pt" 3D3A9 $ "ml" 3D3B7 $ "cu" 3D3C5 $ "ozfl" 3D3D7 $ "ozUK" 3D3E9 $ "tbsp" 3D3FB $ "tsp" 3D40B $ "bbl" 3D41B $ "bu" 3D429 $ "pk" 3D437 $ "fbm" 3D451 :: UNITSTIMEmenu 3D45B {} UNITSTIMEmenulist 3D45B @ { All units of time.. } 3D460 $ "yr" 3D46E $ "d" 3D47A $ "h" 3D486 $ "min" 3D496 $ "s" 3D4A2 $ "Hz" 3D4BA :: SPEEDmenu 3D4C4 {} SPEEDmenulist 3D4C4 @ { All units of speed ..} 3D4C9 $ "m/s" 3D4D9 $ "cm/s" 3D4EB $ "ft/s" 3D4FD $ "kph" 3D50D $ "mph" 3D51D $ "knot" 3D52F $ "c" 3D53B $ "ga" 3D553 :: MASSmenu 3D55D {} MASSmenulist 3D55D @ { All units of mass..} 3D562 $ "kg" 3D570 $ "g" 3D57C $ "lb" 3D58A $ "oz" 3D598 $ "slug" 3D5AA $ "lbt" 3D5BA $ "ton" 3D5CA $ "tonUK" 3D5DE $ "t" 3D5EA $ "ozt" 3D5FA $ "ct" 3D608 $ "grain" 3D61C $ "u" 3D628 $ "mol" 3D642 :: FORCEmenu 3D64C {} FORCEmenulist 3D64C @ {"N" "dyn" "gf" "kip" "Obi-wan" "lbf" "pdl"} 3D651 $ "N" 3D65D $ "dyn" 3D66D $ "gf" 3D67B $ "kip" 3D68B $ "lbf" 3D69B $ "pdl" 3D6B5 :: ENRGmenu 3D6BF {} ENRGmenulist 3D6BF @ { All units of energy } 3D6C4 $ "J" 3D6D0 $ "erg" 3D6E0 $ "Kcal" 3D6F2 $ "cal" 3D702 $ "Btu" 3D712 $ "ft*lbf" 3D728 $ "therm" 3D73C $ "MeV" 3D74C $ "eV" 3D764 :: POWRmenu 3D76E {} POWRmenulist 3D76E @ {"W" "hp" "Black"} 3D773 $ "W" 3D77F $ "hp" 3D797 :: PRESSmenu 3D7A1 {} PRESSmenulist 3D7A6 $ "Pa" 3D7B4 $ "atm" 3D7C4 $ "bar" 3D7D4 $ "psi" 3D7E4 $ "torr" 3D7F6 $ "mmHg" 3D808 $ "inHg" 3D81A $ "inH2O" 3D838 :: TEMPmenu 3D842 {} TEMPmenulist 3D847 $ "oC" 3D855 $ "oF" 3D863 $ "K" 3D86F $ "oR" 3D887 :: ELECmenu 3D891 {} ELECmenulist 3D891 @ { "V" "A" "C" "chair" "Omega" "F" "Fdy" "H" "mho" "S" "T" "Wb" } 3D896 $ "V" 3D8A2 $ "A" 3D8AE $ "C" 3D8BA $ "Omega" 3D8C6 $ "F" 3D8D2 $ "W" 3D8DE $ "Fdy" 3D8EE $ "H" 3D8FA $ "mho" 3D90A $ "S" 3D916 $ "T" 3D922 $ "Wb" 3D93A :: ANGLmenu 3D944 {} ANGLmenulist 3D949 $ "^o" 3D955 $ "r" 3D961 $ "grad" 3D973 $ "arcmin" 3D989 $ "arcs" 3D99B $ "sr" 3D9B3 :: LIGHTmenu 3D9BD {} LIGHTlist 3D9C2 $ "fc" 3D9D0 $ "flam" 3D9E2 $ "lx" 3D9F0 $ "ph" 3D9FE $ "sb" 3DA0C $ "lm" 3DA1A $ "cd" 3DA28 $ "lam" 3DA42 :: UNITSRADmenu 3DA4C {} UNITSRADmenulist 3DA4C @ {"Gy" "rad" "rem" "Sv" "Bq" "Tshrnl" "Ci" "R" } 3DA51 $ "Gy" 3DA5F $ "rad" 3DA6F $ "rem" 3DA7F $ "Sv" 3DA8D $ "Bq" 3DA9B $ "Ci" 3DAA9 $ "R" 3DABF :: VISCmenu 3DAC9 {} VISCmenulist 3DAC9 @ { "P" "St" } 3DACE $ "P" 3DADA $ "St" 3DAF2 {} UNITSCMDmenu 3DAF2 @ { CONVERT UBASE UVAL UFACT UNIT } 3DB1A :: CKGET{} 3DB1A @ Get stored list (1:{}/ID/LAM) ({} as arg stays the same) 3DB1A @ Errors if no list is stored (or argument) 3DB5B {} HEXkey 3DB60 :: HEXlabelprg 3DB6A $ "HEX" 3DB84 :: DoHEXkey 3DB9D {} DECkey 3DBA2 :: DEClabelprg 3DBAC $ "DEC" 3DBC6 :: DoDECkey 3DBDF {} OCTkey 3DBE4 :: OCTlabelprg 3DBEE $ "OCT" 3DC08 :: DoOCTkey 3DC21 {} BINkey 3DC26 :: BINlabelprg 3DC30 $ "BIN" 3DC4A :: DoBINkey 3DC63 {} IFkey 3DC6D {} IFkeyops 3DC77 :: DoIFkeyLS 3DC95 :: DoIFkeyRS 3DCC2 {} CASEkey 3DCCC {} CASEkeyops 3DCD6 :: DoCASEkeyLS 3DCF9 :: DoCASEkeyRS 3DD1C {} STARTkey 3DD26 {} STARTkeyops 3DD30 :: DoSTARTkeyLS 3DD49 :: DoSTARTkeyRS 3DD6C {} FORkey 3DD76 {} FORkeyops 3DD80 :: DoFORkeyLS 3DD99 :: DoFORkeyRS 3DDBC {} DOkey 3DDC6 {} DOkeyops 3DDD0 :: DoDOkeyLS 3DDF8 {} WHILEkey 3DE02 {} WHILEkeyops 3DE0C :: DoWHILEkeyLS 3DE34 {} IFERRkey 3DE3E {} IFERRkeyops 3DE48 :: DoIFERRkeyLS 3DE66 :: DoIFERRkeyRS 3DE93 :: GRAPHmenu 3DE9D {} GRAPHmenulist 3DE9D @ { ZOOMkey Z-BOXkey CENTRkey COORDkey LABELkey FCNkey DOT+key 3DE9D @ DOT-key GRAPHLINEkey GRAPHTLINEkey GRAPHBOXkey GRAPHCIRCLEkey 3DE9D @ MARKkey GRAPHREPLkey GRAPHSUBkey GRAPHDELkey ?/-key KEYSkey } 3DEBB {} FCNkey 3DEC0 :: FCNlabelprg 3DECA $ "FCN" 3DF2F :: FCNmenu 3DF39 {} FCNmenulist 3DF39 @ { FCNROOTkey ISECTkey SLOPEkey FCNAREAkey FCNEXTRkey FCNEXITkey 3DF39 @ F(X)key F'key FCNNXEQkey } 3DF3E {} FCNROOTkey 3DF43 $ "ROOT" 3DF5F {} ISECTkey 3DF64 $ "ISECT" 3DF82 {} SLOPEkey 3DF87 $ "SLOPE" 3DFA5 {} FCNAREAkey 3DFAA $ "AREA" 3DFC6 {} FCNEXTRkey 3DFCB $ "EXTR" 3DFE7 {} FCNEXITkey 3DFF1 :: DoFCNEXITkey 3E019 {} F(X)key 3E01E $ "F(X)" 3E03A {} F'key 3E03F $ "F'" 3E057 {} FCNNXEQkey 3E05C $ "NXEQ" 3E06E :: DoFCNNXEQkey 3E091 {} +/-key 3E096 :: +/-labelprg 3E0A0 $ "+/-" 3E0C4 {} GRAPHREPLkey 3E0C9 $ "REPL" 3E0E5 {} GRAPHSUBkey 3E0EA $ "SUB" 3E104 {} GRAPHDELkey 3E109 $ "DEL" 3E123 {} COORDkey 3E128 $ "COORD" 3E146 {} GRAPHLABELkey 3E15A {} CENTRkey 3E16E {} ZOOMkey 3E173 :: ZOOMlabelprg 3E17D $ "ZOOM" 3E19E {} KEYSkey 3E1A3 $ "Keys" 3E1BF {} MARKkey 3E1C4 $ "MARK" 3E1E0 {} GRAPHLINEkey 3E1F4 {} GRAPHTLINEkey 3E208 {} GRAPHBOXkey 3E21C {} GRAPHCIRLCEkey 3E221 $ "CIRCLE" 3E241 {} Z-BOXkey 3E246 $ "Z-BOX" 3E25A {} Z-BOXkeyops 3E273 {} DOT+key 3E278 :: DOT+labelprg 3E282 $ "DOT+" 3E2A8 {} DOT-key 3E2AD :: DOT-keyprg 3E2B7 $ "DOT-" 3E2DD {} HP:SkipKey 3E364 $ "SKIP->" 3E378 :: Do>SkipKey 3E38C :: 3E3E1 {} HP:DelKey 3E4CF $ "DEL->" 3E4E1 {} >DelKeyops 3E4E6 :: Do>DelKey 3E54A :: Do>DelKeyRS 3E586 {} HP:TogInsertKey 3E58B :: TogInslabelprg 3E595 $ "INS" 3E5AF :: DoTogInsKey 3E5CD {} HP:IStackKey 3E5D2 $ "upSTK" 3E5EE :: DoTogLowCkey 3E607 :: NotEditing?COLADoBadKey 3E62A :: Editing?COLADoBadKey 3E64D :: NotStart?PREVisSpcOrNL? 3E64D @ Not in the beg. of cmd line & Prev char is space or (->2:f 1:f) 3E684 :: CKCRS>LEFT 3E6A2 :: NEXTisSpcOrNL???????????? 3E6CF :: CKCRS>RIGHT 3E6ED :: 3E71A {} IOSETUPkey 3E71F :: IOSETUPlabelprg 3E729 $ "SETUP" 3E742 :: DoIOSETUPkey 3E774 {} STDkey 3E779 :: STDlabelprg 3E783 $ "STD" 3E79D :: DoSTDkey 3E7B6 {} FIXkey 3E7BB :: FIXlabelprg 3E7C5 $ "FIX" 3E7E9 {} SCIkey 3E7EE :: SCIlabelprg 3E7F8 $ "SCI" 3E81C {} ENGkey 3E821 :: ENGlabelprg 3E82B $ "ENG" 3E84F {} MLkey 3E854 :: MLlabelprg 3E85E $ "ML" 3E876 :: DoMLkey 3E88F {} DEGkey 3E894 :: DEGlabelprg 3E89E $ "DEG" 3E8B8 :: DoDEGkey 3E8D1 {} RADkey 3E8D6 :: RADlabelkey 3E8EF :: DoRADkey 3E908 {} GRADkey 3E90D :: GRADlabelkey 3E935 :: DoGRADkey 3E94E {} XYZkey 3E953 :: XYZlabelkey 3E96C :: DoXYZkey 3E98A {} R\Zkey 3E98F :: R\Zlabelprg 3E9C6 :: DoR\Zkey 3E9EE {} R\\key 3E9F3 :: R\\labelprg 3EA25 :: DoR\\key 3EA4D {} CMDkey 3EA52 :: CMDlabelkey 3EA5C $ "CMD" 3EA76 :: DoCMDkey 3EA9E {} STKkey 3EAA3 :: STKlabelprg 3EAAD $ "STK" 3EAC7 :: DoSTKkey 3EAEA :: 3EB1C {} ARGkey 3EB21 :: ARGlabelkey 3EB2B $ "ARG" 3EB45 :: DoARGkey 3EB68 {} FM,key 3EB6D :: FM,labelkey 3EB77 $ "FM," 3EB91 :: DoFM,key 3EBAF {} CLKkey 3EBB4 :: CLKlabelkey 3EBBE $ "CLK" 3EBD8 :: DoCLKkey 3EBF6 {} MODLkey 3EBFB :: MODLlabelkey 3EC05 $ "MODL" 3EC1C :: DoMODLkey 3EC44 :: PTYPEkeyNSroutine 3EC71 {} HP:NullMenuKey 3EC71 @ dead menu key (:: NULL$ DoBadKey ; ) 3EC85 :: HP:NoExitAction 3EC85 @ Sets NOP as action when menu is exited (:: 'NOP ExitAction! ;) 3EC99 :: HP:Box/StdLabel 3EC99 @ If pop stk1 = True, then build checked menu key, else build normal menu key 3ECB2 :: HP:Box/StdLbl: 3ECD0 :: NS:SysStd/BoxLab 3ECD0 @ Build menugrob according to next info (1st "NAME" 2nd #flag) 3ECD0 @ Makes a menu grob of "NAME", then INSERTS a square if #flag is set 3ECD0 @ Example: :: TestSysStd/BoxLabel "SYM" #3 ; 3ECEE :: NS:SysBox/StdLab 3ECEE @ Build menugrob according to next info (1st "NAME" 2nd #flag) 3ECEE @ Makes a menu grob of "NAME", then APPENDS a square if #flag is set 3ED0C :: HP:Std/BoxLabel 3ED25 :: BaseEQBox/StdLabel 3ED25 @ Used like: :: BaseEQBox/StdLabel "HEX" #10 ; -> grob 3ED48 :: ModeEQBox/StdLabel 3ED48 @ Used like: :: ModeEQBox/StdLabel "FIX" #1 ; -> grob 3ED6B :: NS:DirLabel: 3ED6B @ Build directory menu key graphic from next $ 3ED6B @ Example: :: DirLabel: "SOLVR" ; -> grob 3ED84 :: TogSysFlag:SetDA2bNoCh 3ED84 @ Toggles next system flag, then SetDA2bNoCh 3ED84 @ Example: :: TogSysFlag:SetDA2bNoCh #3 SetDA12NoCh ; is DoSYMkey 3EDA2 :: NS:TogSysFlag 3EDA2 @ Toggles system flag (1:#n) 3EDC5 :: PrgmEntry?DoKeyOb:ElseEVALAtUserStack: 3EDF2 :: PrgmEntry?DoCAR:/DoKeyOb 3EDF2 @ Does R> then if PrgmEntry? takes CARCOMP and finally DoKeyOb 3EE1A :: HP:Do1st/2nd+: 3EE1A :: PRG?Keycase 3EE1A @ If Prg-Entry Mode then DoNextKey&Ret else SkipNext&Cont 3EE47 :: NS:Take2ToDo 3EE47 @ Take next 2 to command line (with spaces and linefeeds) 3EE65 :: NS:Take3ToDo 3EE92 :: NS:Take4ToDo 3EEC9 :: 3EEEC :: 3EF14 :: SETUnitsRoutines 3EF14 @ Sets Units key routines 3EF14 @ Example: To make a units menu of your own: 3EF14 @ :: SETUnitsRoutines { "Playboy" "Mayfair" "Hustler"... } ; InitMenu 3EF14 @ Now you can easily make a catalog program... 3EF1E :: MenuRoutineNS 3EF1E @ units Unshifted Menu Key routine 3EF41 :: MenuRoutineLS 3EF41 @ units Left-shifted Menu Key routine 3EF64 :: MenuRoutineRS 3EF64 @ units Right-shifted Menu Key routine 3EF87 :: 3EFB4 :: 3EFC8 :: 3EFE6 :: NS:SetTopMnuKeys 3EFE6 @ Stores TopMenuPrgNS as NS routine and DROPDoBadKey as LS and RS ones 3EFF0 :: TopMenuPrgNS 3EFF0 @ Top-level Unshifted Menu Key routine 3F00E :: NS:SetMenuKeys 3F00E @ Stores stk1 as NS routine and DROPDoBadKey as LS and RS routines 3F036 :: SetTopMenuLabelDef&NoExitAction 3F040 :: TopMenuLabelDef 3F040 @ Action taken when in a 'Top' menu like MTH PRG etc 3F077 :: 3F09F :: 3F0D6 {} { DNEGkey DINVkey *1key ^1key /1key +1-1key RCOLCTkey } 3F103 # NS:r_RULES1 3F10D # NS:r_RULES2 3F117 # NS:r_RULES3 3F121 # NS:r_RULES4 3F12B # NS:r_RULES5 3F135 # NS:r_RULES6 3F13F # NS:r_RULES7 3F149 # NS:r_RULES8 3F153 # NS:r_RULES9 3F15D # NS:r_RULES10 3F167 :: Do0ChrInv 3F17B :: Do1ChrInv 3F18F :: Do2ChrInv 3F1A3 :: Do3ChrInv 3F1B7 :: Do4ChrInv 3F1CB :: Do5ChrInv 3F1DF :: ChrInv 3F26B P 3F376 :: NS:LIBRARYmenu 3F38A :: LIBMenuRoutineNS 3F38A @ Library Unshifted Menu Key routine 3F3B2 :: 3F3DA :: 3F407 {} PORT0key 3F40C $ "PORT0" 3F420 :: DoPORT0key 3F457 :: 3F45C {} PORT1key 3F461 $ "PORT1" 3F475 :: DoPORT1key 3F4B1 :: 3F4B6 {} PORT2key 3F4BB $ "PORT2" 3F4CF :: DoPORT2key 3F50B :: StrangeMetahandle 3F50B @ (Obn ... Ob1 #n -> ...{Obn-2 Obn-3} {Obn Obn-1} #m 3F547 :: TWO{}psh1&rev 3F547 @ (Meta1 Meta2 Ob1 Ob2 -> Meta1&{Ob1 Ob2} Meta2) 3F56A :: 3F588 :: 3F5BF :: 3F5DD P 3F64C :: 3F6B5 :: SHOWPORTmenu 3F6B5 @ Goes to #port menu (Do PORTmenuOn first to stay there) 3F6D8 :: VARmenu 3F6E2 :: ONESTOMenuRow 3F70A :: 3F723 :: ONE_STOMenuRow_ZERO_LoadTouchTbl 3F76E :: 3F78C :: NS:DUPExitAtLOOP 3F7B4 :: 3F7EB :: NS:ExitAtLOOPDUP 3F831 :: KeysNSprg 3F859 :: KeysLSprg 3F87C :: KeysRSprg 3F89F :: KeysAprg 3F8C2 :: KeysALSprg 3F8E0 :: KeysARSprg 3F8FE :: 3F944 :: OVER#1=IT#3+ 3F962 :: OVER#2=IT#1+ 3F980 :: OVER#3=IT#2+ 3F99E :: OVER#2=IT#1- 3F9BC :: OVER#3=IT#1+ 3F9DA :: 3F9FD :: 3FA57 :: HP:Key>U/SKeyOb 3FA7A :: 3FAC5 :: 3FACF g' ID_SKEY 3FAE8 l' LAM_SKEY 3FB1A :: HP:Key>StdKeyOb 3FB1F # NS:r_KDefs 3FB33 :: 3FB97 :: 3FBE7 :: 3FC0F :: 3FC7D :: 3FC9B :: Clr1USRSetDA1Bad 3FCAF :: HP:SetKeysNS 3FCDC :: NS:SetKeysLS 3FD09 :: NS:SetKeysRS 3FD36 :: NS:SetKeysA 3FD63 :: NS:SetKeysALS 3FD90 :: NS:SetKeysARS 3FDBD :: NS:2DropBadKey 3FDC7 :: NS:DropBadKey 3FDC7 @ NULLMenuKey routine 3FDD1 :: HP:DoBadKey 3FDD1 @ chirp (337 Hz, 70 msec), freeze display 3FDFE :: HP:'DoBadKey 3FDFE @ unevaluated chirp (337 Hz, 70 msec), freeze display 3FE12 :: HP:'DoBadKeyT 3FE26 :: 3FE44 :: HP:H/W>KeyCode 3FE44 @ (1:#keycode -> 1:#) (#80->#1E #40->#23 #C0->#28) 3FE7B :: 3FEEE :: 3FF1B :: HP:?CaseKeyDef 3FF1B @ ?CaseKeyDef == #casedrop :: ' True ; 3FF48 :: HP:?CaseRomptr@ 3FF75 P NS:StdKeys? 3FF75 @ Tst_7068C:4 (are unassigned keys activated? -> True/False) 3FF86 P NS:SetStdKeys 3FF86 @ Set_7068C:4 (activate unassigned keys) 3FF97 P NS:ClrStdKeys 3FF97 @ Clr_7068C:4 (deactivate unassigned keys) 3FFA8 P NS:USR1MODE? 3FFA8 @ (True = USR1MODE, False = USERMODE) 3FFA8 @ Tst_70688:1 3FFB9 P NS:SetUSR1MODE 3FFB9 @ Set_70688:1 3FFCA P NS:ClrUSR1MODE 3FFCA @ Clr_70688:1 3FFDB :: DoMenuKey1NS 3FFF4 :: DoMenuKey1LS 4000D :: DoMenuKey1RS 40026 :: DoMenuKey2LS 4002F P 4003F :: DoMenuKey2NS 40058 :: DoMenuKey2RS 40071 :: DoMenuKey3NS 4008A :: DoMenuKey3LS 400A3 :: DoMenuKey3RS 400BC :: DoMenuKey4NS 400D5 :: DoMenuKey4LS 400EE :: DoMenuKey4RS 40107 :: DoMenuKey5NS 40120 :: DoMenuKey5LS 40139 :: DoMenuKey5RS 40152 :: DoMenuKey6NS 4016B :: DoMenuKey6LS 40184 :: DoMenuKey6RS 4019D :: HP:StdMenuKeyNS 4019D @ General Unshifted Menu Key routine 401D4 :: HP:StdMenuKeyLS 401D4 @ General Left-shifted Menu Key routine 4021F :: NS:StdMenuKeyRS 4021F @ General Right-shifted Menu Key routine 4026A :: ONE_NTHELCOMP_ITE_DoKeyOb_DoBadKey 4027E :: TWO_NTHELCOMP_ITE_DoKeyOb_DoBadKey 40292 :: THREE_NTHELCOMP_ITE_DoKeyOb_DoBadKey 402A6 :: NTHELCOMP_ITE_DoKeyOb_DoBadKey 402C4 :: 402EC :: 40305 :: 4031E :: 40337 :: HP:DoNameKeyRS 40350 :: HP:DoNameKeyLRS 40387 :: 403C3 :: 403EB :: 40413 :: 40431 :: 40454 :: HP:DoKeyOb 40454 @ Main key handler (acts like menu key, takes stk1) (1:Any) 4048F P 404A9 :: DoStkKey$ 404A9 @ behave as TOS is assigned to a key/menulbl (1:String) 404BD :: DoStkKeyUM 404BD @ behave as TOS is assigned to a key/menulbl (1:Unit) 404E5 :: DoStkKeyseco 404E5 @ behave as TOS is assigned to a key/menulbl (1:Program/Command) 4051C :: DoStkKeyXLIB 4051C @ behave as TOS is assigned to a key/menulbl (1:XLIB Name) 4053F :: 4053F @ Funct? ins in cmdline w/ ALGsyntax else PRG?->EVALorINS (1:Cmd/Funct) 4055D :: 40580 :: 4059E :: 405BC :: DoStkKeyALG 405BC @ behave as TOS is assigned to a key/menulbl (1:Algebraic) 405F3 :: DoStkKeyAny 405F3 @ behave as TOS is assigned to a key/menulbl (1:Any) 40625 :: >CmdLineSep 40625 @ Insert stk1 in cmdline between 2 blanks (1:Any) 40648 :: 4065C :: 40693 :: "()"&$ 406A7 :: 406E3 :: 4073D :: 40788 :: HP:TakeOver 40788 @ A null program 40792 P 407FB :: NS:TakeOver' 4080F :: 40828 :: TakeOverGETPROC 40828 @ get object bound to menu key (key number follows) 40841 :: 4085A :: DoubleTakeOver 4085A @ :: TakeOver ; 40869 :: 40882 :: OVERTYPECOL?NOTcsdrpfls_OVERCARCOMPEQ 408AA :: HP:ImmedEntry? 408AA @ Not PRGMODE? nor AlgEntryOn? 408C3 :: NAME?DECOMP$?EDITDECOMP$ 408C3 @ If Level1 = LAM or ID then DECOMP$ else EDITDECOMP$ 408F0 :: 4091D :: 4093B g' ID_alphaENTER 4098A :: 409B2 :: 409DF g' ID_betaENTER 40A0B :: NS:CKID>$ 40A0B @ If level1 = LAM/ID then ID>$ else NULL$ 40A4C :: 62&63SystFlagsOn? 40A6F P StoExec1Name 40A6F @ Store name of current prg (1:Cmd/Funct/ID/XLIB) 40A82 P @Exec1Name 40A82 @ Rcl name of current prg -> (1:Cmd/Funct/ID/XLIB) 40A95 P ClrExec1Name 40A95 @ Clear name of current program 40AA8 P Exec1Named? 40AA8 @ Is the current program unnamed? (-> 1:T/F) 40ABB :: Parse.1_caseTRUE_ParseFail_FALSE 40AD9 :: HP:Parse.1 40AFC :: 40B2E :: HP:ParseFail 40B56 :: 40BB5 :: CmdLineENTER 40BB5 @ ENTER key executes this when on command line 40BC9 :: HP:AtUserStack 40BC9 @ :: CK0NOLASTWD 0LASTOWDOB! ; 40BDD P 40C76 :: 40C94 P 40CC3 P 40CE9 :: BeginSTKSaved 40D25 :: HP:LockAlpha 40D39 :: HP:UnLockAlpha 40D4D :: NS:TogUSER 40D4D @ Toggle user keyboard flag -62 40D61 :: NS:Set1USR 40D61 @ Activate the user keyboard for one keypress 40D7A :: NS:Clr1USR 40D93 :: NS:NoCMDLINEcase 40D93 @ If no command line exists COLA else SKIP 40DC0 :: InitMenu&SetDA12NoCh 40DD4 :: NS:InsChr: 40DD4 @ Insert next item (character) in cmdline 40DF7 :: NS:Ins$: 40DF7 @ Insert next item (string w/o LF) in cmdline, move cursor left one pos 40E1F :: SetALG&CKDA 40E3D :: ClrALG&CKDA 40E5B :: ClrALGSetPRGM&CKDA 40E88 :: HP:REPEATER 40EC4 :: EVALSLOW 40EE7 P HP:SLOW 40EE7 @ delay loop (0055E) 40EF3 @ MC: delay loop (C.A) and continue RPL 40F02 P HP:VERYSLOW 40F02 @ delay loop (06B67) 40F12 P HP:VERYVERYSLOW 40F12 @ delay loop (43206) 40F22 :: HP:XEQStoKey 40F5E :: 40F86 :: HP:InitMenu 40F86 @ Initializes menu (first page) (1:{menu}) (Used by TMENU with {}) 40F9A :: NS:InitMenu# 40F9A @ display menu (2:menu,1:offset) 40FCC :: 41008 :: HP:StartMenu 410C6 :: HP:SetThisRow 410E9 :: 41111 :: 41125 # 4113E :: 41175 :: HP:LoadTouchTbl 411D4 :: 4123D :: 4129C :: 412DD :: 41305 :: 41328 :: 4132D {} ${0_1_2_&} 4132D @ {"0" "1" "2" "&"} 41355 :: 41373 :: 4139B :: NS:MenuOffset! 4139B @ save current menu/offset as last menu/offset 413B9 :: NS:LASTMENU 413B9 @ display Last Menu 413D2 :: NormReview 413D2 @ This does the normal REVIEW 41422 :: HP:>Review$ 41463 :: 4147C :: 41495 :: 414BD $ ": " 414DA :: 41520 :: 41552 :: 41593 :: 415A7 $ ": " 415C9 :: HP:GetMenu% 415C9 @ Internal RCLMENU (-> %menu.page) 415D8 # <6h> 415F1 % HP:%100 4161A :: NS:GetMenuIP% 4161A @ Get current menu number -> (1:%) 41679 :: HP:InitMenu% 41679 @ Internal TMENU (1:%) 416BA :: 416F1 :: NS:Menu@ 416F1 @ recall menu (1:#) 41705 :: 41741 :: PrepVariableMenu 41741 @ (Used by CST,SOLVER) Stores prev to somekey thing, saves CONTEXT, sets 70684:4 41764 :: CKEmbeddedDir 41787 :: 417AF P Clr_70684:4 417C0 P Set_70684:4 417D1 P Tst_70684:4 417E2 P ClrPORTmenuOn 417F3 P SetPORTmenuOn 41804 P PORTmenuOn? 41815 P Clr_70684:8 41826 P Set_70684:8 41837 P Tst_70684:8 41848 P MenuRow! 41848 @ save Current Menu Offset (1:#) (to 707C9) 4185B P HP:MenuRow@ 4185B @ get Current Menu Offset as # (from 707C9) 4186E P NS:LastMenuRow! 4186E @ save Last Menu Offset (1:#) (to 707D3) 41881 P NS:LastMenuRow@ 41881 @ get Last Menu Offset as # (from 707D3) 41894 P NS:CurMenu! 41894 @ save Current Menu (to 7061E) 418A4 P NS:CurMenu@ 418A4 @ get Current Menu (from 7061E) 418B4 P StoStk1 418B4 @ save stk1 (pointer) into 70628 418C4 P DoStk1@ 418C4 @ execute saved stk1 (@70628 = pointer) 418D4 P HP:MenuRowAct! 418D4 @ save stk1 (pointer) into 7062D 418E4 P NS:DoMenuRowAct@ 418E4 @ execute @7062D (pointer) 418F4 P HP:LabelDef! 418F4 @ save stk1 (pointer) into 70632 41904 P HP:DoLabel 41904 @ execute @70632 (pointer) 41914 P HP:MenuKeyNS! 41914 @ save Unshifted Menu Key routine 41924 P NS:MenuKeyNS@ 41924 @ get Unshifted Menu Key routine 41934 P NS:DoMenuKeyNS@ 41934 @ execute Unshifted Menu Key routine 41944 P HP:MenuKeyLS! 41944 @ save Left-shifted Menu Key routine 41954 P NS:DoMenuKeyLS@ 41954 @ execute Left-shifted Menu Key routine 41964 P HP:MenuKeyRS! 41964 @ save Right-shifted Menu Key routine 41974 P NS:DoMenuKeyRS@ 41974 @ execute Right-shifted Menu Key routine 41984 P HP:ReviewKey! 41984 @ save stk1 (pointer) into 70646 41994 P NS:DoReviewKey@ 41994 @ execute @70646 (pointer) 419A4 P Somekeything! 419A4 @ save stk1 (pointer) into 70650 419B4 P DoSomekeything@ 419B4 @ execute @70650 (pointer) 419C4 P HP:ExitAction! 419C4 @ save stk1 (pointer) into 70655 419D4 P NS:DoExitAction@ 419D4 @ execute @70655 (pointer) 419E4 P NS:LastMenu! 419E4 @ save Last Menu 419F4 P NS:LastMenu@ 419F4 @ get Last Menu 41A04 P NS:SavedContext! 41A04 @ Save current CONTEXT pointer to SAVEDCONTEXTpntr (7064B) 41A14 P NS:SavedContext@ 41A14 @ Get saved CONTEXT pointer from SAVEDCONTEXTpntr (@7064B) 41A24 @ MC XFER: save stk1 (pointer) into @C.A 41A2B @ MC XFER: push @C.A onto stack 41A32 @ MC XFER: execute @C.A (pointer) 41A39 :: NS:'ID_UserKeys 41A39 @ unevaluated 'UserKeys' (ID) 41A43 g' NS:ID_UserKeys 41A5F :: 'ID_UserKeys.CRC 41A5F @ unevaluated 'UserKeys.CRC' (ID) 41A69 g' ID_UserKeys.CRC 41A8D :: NS:UserMode? 41A8D @ if User Mode active (-62) -> True/False 41AA1 :: NS:STOKEYS{} 41AA1 @ Intenral STOKEYS (1:{}) 41AC9 :: 41B28 :: NS:ASN% 41B28 @ Internal ASN (2:Any 1:%keycode) 41B3C :: NS:DELKEYS{} 41B3C @ Internal DELKEYS (1:{}) 41B69 :: NS:DELKEY% 41B69 @ Internal DELKEYS (1:%keycode) 41B8C :: NS:DELKEY 41B8C @ delete user key definition (2:key# 1:plane#) 41BA5 :: STOKEYSNAME 41BA5 @ Internal STOKEYS (1:ID/LAM) 41BB9 :: DELKEYSNAME 41BB9 @ Internal DELKEYS (1:ID/LAM) 41BCD :: 41BD7 g' ID_S 41BEA l' LAM_S 41C02 :: NS:XEQRCLKEYS 41C02 @ Recalls Assigned keys ({} if none) 41C3E :: 41C5C :: 41CA2 :: HP:Ck&DecKeyLoc 41CA2 @ validate key (rc.p) and convert to key# & plane# 41D42 :: NS:#-#5+ 41D92 :: HP:CodePl>%rc.p 41DB5 :: NS:ZEROSIX 41DC9 :: TWENTYFOUR#-_FOUR_FIVE 41E00 :: NS:#1+ROTDROP 41E32 :: STOKEYS&CRC 41E32 @ store into UserKeys with checksum in UserKeys.CRC 41E78 :: NS:ASN 41E78 @ save user key definition (3:value,2:key#,1:plane#) 41E8C :: 48NDUPN{} 41E8C @ (1:Ob -> 1:{Ob Ob Ob....Ob} (size = 49) 41ECD :: 5NDUPN{} 41ECD @ (1:Ob -> 1:{Ob Ob Ob Ob Ob Ob} 41F13 :: NS:DELALLKEYS 41F13 @ delete all user key definitions 41F2C P STOKeysPtr 41F2C @ save ptr to User Keys 41F3F P NS:GETKEYS 41F3F @ get User Keys 41F52 P UserKeys=0 41F65 :: HP:WaitForKey 41F65 @ Waits for key press (->2:#keycode 1:#keyplane) 41F74 :: 41FE7 :: 42023 :: TakeOverTRUE1PUTLAM 4203C :: NS:GetKeyOb 42078 :: 420A0 :: HP:GETKEY* 420A0 @ keywait (-> 2:# 1:T | 2:F 1:F (If alarm/AutoOff) 420F5 :: HP:ATTNxcp 42113 :: HP:ALARMxcp 42131 :: HP:SLEEPxcp 42131 @ :: TurnOff FalseFalse ; 42145 :: HP:UARTxcp 42145 @ :: FLUSHRSBUF FalseFalse ; 42159 :: HP:GETKEY 42159 @ keywait (-> 2:# 1:T | 1:F (If attn/Alrm/AutoOff) 4219A :: 421D6 :: 421F4 :: 42208 :: 42249 :: HP:UART? 42262 P HP:ATTN? 42262 @ if @70679.A <> 0 -> True/False 4227F P HP:TIMEOUT? 4229A @ MC XFER: if carry set -> True/False, continue RPL 422A1 P HP:ALARM? 422C6 P 422EB P 42309 P 4231A P ( PrepareOFF ) 4231A @ (Called by OFF, no args) 4237F P 42396 P 423BB * HP:settimeout 423D3 * HP:clrtimeout 423E4 :: 42402 :: HP:KEYINBUFFER? 4241B :: NS:?ATTNQUITNoWD 4243E :: HP:?ATTNQUIT 4245C :: HP:NoAttn?Semi 4245C @ if @70679.A = 0, then iterate loop (pop back) 42475 :: HP:DoCAlarmKey 4248E P HP:CtlAlarm! 424A1 P 424B4 P 424C7 P 424DA :: 42525 :: SetCursory 4256B :: CRS>LEFT 4256B @ Move cursor in cmd line 425B6 :: 425D4 :: 425ED :: SetCursory=0 42615 :: 42660 :: 4269C :: 426C4 :: 426F1 :: CmdLineBOTTOM? 426F1 @ Is the cursor in the last line of the cmdline? 4270A :: 4272D :: NS:CmdLineTop? 4272D @ Is the cursor in the first line of the cmdline?) 42741 :: 42764 :: Start?COLADoBadKey 42787 :: 427AF :: EditRepeat: 42804 :: 4280E :: NS:#-#- 42831 :: 4285E :: 42886 :: 428A9 :: 428C2 :: 428E5 :: 428F9 :: 42908 :: 42935 :: 42967 :: 429A3 :: 429CB :: DELUnderCRS???????? 42A07 P 42AE4 :: DoStkKeyCHAR 42AE4 :: HP:EchoChrKey 42AE4 @ behave as TOS is assigned to a key/menulbl (1:Character) 42B02 :: 42B61 :: NS:InsNewLine 42BA2 :: 42BB6 :: 42BD4 :: DoStkKey$NFr 42BD4 @ behave as TOS is assgn. to a key/menulbl (DA1 Not Freezed) (1:String) 42BFC :: NS:CKEdit$ 42BFC @ If $ has Char #0 then Doerr #102 (1:$) 42C24 :: 42C3D :: 42C5B :: DUPONE1stLF? 42C5B @ (1:$ -> 4:$ 3:#1 2:#lfpos 1:T/F) (#lfpos = 0 if no linefeed is found) 42C74 :: 2DUPNEWLINEPOS 42C74 @ (2:$ 1:#lfposition) 42C92 :: DoStkKey$w/LF 42C92 @ behave as TOS is assgn. to a key/mnlbl (1:String w/ LF) 42CE2 :: DoStkKey$w/oLF 42CE2 @ behave as TOS is assgn. to a key/mnlbl (1:String w/o LF) 42CFB :: 42D32 :: HP:EditLevel1 42D46 :: HP:ViewLevel1 42D5A :: 42D82 :: HP:CharEdit 42D82 @ Edit level1 (1:Any -> 2:Any 1:True if | 1:False if ) 42DC8 :: HP:ObEdit 42DC8 @ Starts >EqWriter, >MatrixWriter or CharEdit on stk1 42DFF :: %EDIT 42DFF @ %VISIT (1:Real) 42E13 :: %VISIT 42E13 @ %SVISIT (1:Real) 42E27 :: 42E5E :: NAMEEDIT 42E5E @ (1:ID/LAM) 42E72 :: NAMEVISIT 42E72 @ (1:ID/LAM) 42E86 :: 42E86 @ SAFE@_HERE, 'REVAL (this must exit with 1:T/F) and if True STO back 42EC7 :: HP:AdjEdModes 42F30 :: NS:ClrAlgSetPrgm 42F44 :: HP:InputLine 42F53 :: 42F8F :: #1=?Set/ClrINSmode 42FC6 :: #1=?Clr/SetAlgEntry 42FF8 :: #1=ITELock/UnlockAlpha 43098 :: 430CF :: 43124 :: 43179 :: 43192 :: NS:TRUE1PUTLTRUE 431B5 :: 5ROLLDROPParseFail 43200 :: HP:InputLAttn 43241 :: 4325A :: HP:SetCursor 43273 :: NS:SetCursor{} 43287 :: 4329B :: 432C8 :: 432DC :: 43309 :: NS:SetCursorx 43313 :: 4332C :: 4334F :: NS:DrpExitAtLOOP 43363 :: 43395 :: INPUT$ 43395 @ Internal INPUT (2:$ 1:$) 433CC :: INPUT{} 433CC @ Internal INPUT (2:$ 1:{}) 433DB {} 43417 :: 434A3 :: ONE4ROLLPUTLISTSWAP 434B7 :: 434D5 :: 43534 :: 4353E g' ID_ALG 43555 l' LAM_ALG 4356C :: 4358A g' ID_alpha 4359D l' LAM_alpha 435B0 :: 435CE g' ID_V 435E1 l' LAM_V 43608 :: 43644 :: 4ROLLPUTLISTSWAP 4365D :: DoIStackKey 4365D @ Enter the interactive stack 43671 :: 43694 :: 436B2 :: 43716 :: 'UPSTKmenu 43770 :: 437A2 :: NS:?UpDispStack 437C5 :: NS:UpDispStack 43842 :: 43883 :: 43919 :: 43982 :: 439F5 :: 43A36 :: 43A77 :: 43AAE :: NS:DECR2LAM 43AD1 :: 43B0D :: 43B44 :: 43B7B :: NS:INCR2LAM 43B7B :: 2GETLAM#1+2PUTLAM 43B9E :: 43BDA :: NS:DROP3PUTLAM 43BEE :: #4+3PUTLAMDROP 43C16 :: 43C48 :: DROPONE3PUTLAMFOUR2PUTLAM 43C66 :: 43C89 :: 43CAC :: 43CD4 :: :: TakeOver TRUE1PUTLAM ; 43CE8 :: :: TakeOver DABad? ?SEMI TRUE1PUTLAM ; 43D06 :: UPSTKmenu 43EE0 @ 3LAM = level 43D10 {} UPSTKmenulist 43D10 @ { ECHOkey UPSVIEWkey UPSPICKkey UPSROLLkey UPSROLLDkey 43D10 @ UPS->LISTkey UPSDUPNkey UPSDRPNkey UPSKEEPkey UPSLEVELkey } 43D15 {} ECHOkey 43D29 {} UPSVIEWkey 43D2E $ "VIEW" 43D40 {} UPSVIEWkeyops 43D5E {} UPSPICKkey 43D72 {} UPSROLLkey 43D86 {} UPSROLLDkey 43D9A {} UPS->LISTkey 43DAE {} UPSDUPNkey 43DC2 {} UPSDRPNkey 43DC7 $ "DRPN" 43DE3 {} UPSKEEPkey 43DE8 $ "KEEP" 43E04 {} UPSLEVELkey 43E09 $ "LEVEL" 43E31 {} ECHOkey{} 43E40 :: DoECHOkey 43E72 :: 43EA9 :: 43EE0 :: DoUPSVIEWkeyNS 43F03 :: DoUPSVIEWkeyRS 43F26 :: 43F49 :: 43F6C :: DoUPSPICKkey 43F85 :: DoUPSROLLkey 43F9E :: DoUPSROLLDkey 43FB7 :: DoUPSLEVELkey 43FD5 :: DoUPSDUPNkey 43FEE :: DoUPSDRPNkey 4400C :: DoUPSKEEPkey 4405C :: DoUPS->LISTkey 4407A :: 4409D :: TakeOver3GETLAM_UNCOERCE_CKNNOLASTWD 440BB :: AtUserStackSetDA13NoCh 440CF :: UpdateUSTACKlevel 44110 :: 4416A :: 4GETLAM#+ 4417E :: DEPTH4GETLAM#- 44197 :: DEPTH#1-OVER#<_casedrpfls_PICKTRUE 441BF :: 441D3 :: 441E7 :: 44223 :: "\\>">BIGGROB 44228 $ "\\>" 4423E :: ":">BIGGROB 44243 $ ":" 44259 :: TRUE1PUTLAM 4426D # <15h> 44277 :: HP:InitEd&Modes 4428B :: HP:InitEdLine 442A4 P 4434F P FillRightMargin 44394 :: HP:InitEdModes 443A8 :: 443CB :: HP:EditString 443DF :: Get2ndEditChar??? 443F3 :: GetEditChar??? 44407 P GetNthEditChar??? 4446E :: 44487 :: 444A5 :: 444C3 P InsStk$CmdLine 444C3 @ Insert stk1 in cmdline (1:$ w/o LF) 444EE P InsStkCharCmdLine 44683 P HP:EDITLINE$ 44711 P 44730 P HP:EDITPARTS 44730 @ CMDLINELines (command-line lines counter -> (1:Syst Bin \>= 0)) 4478A P 4482D P 4488A :: NOTImmedEntry? 4489E :: 448C1 :: HP:?TogU/LCase 44948 :: 4497F :: 4499D :: 449D9 :: MatAppKeys 44A24 :: 44A2E :: 44AFB :: 44B19 :: 44B23 :: 44BD2 :: 44BDC :: 44C31 :: NS:MatrixWriter 44C31 @ Enter Matrix Writer with no matrix in it 44C40 :: InitNoMatMatrixWriter.1 44C6D :: MatrixWriter.1 44CAE :: MatUI>Stk 44CFE :: MatUIErrtrap 44D35 :: SetDA12aNoCh 44D49 :: 44D94 :: MatAppDisplay 44DE4 :: 44DF8 :: DispStatusBlankDA2a 44E0C :: 44E5C :: 44EA2 :: 44EC5 :: InitNoMat 44EF2 :: 44F42 :: HP:BindMatVars 44F42 @ (21 args) 44F6A :: 2-22PUTLAMZERO1PUTLAM 44F6A @ :: 2PUTLAM 3PUTLAM ... 22PUTLAM ZERO 1PUTLAM ; 44FE7 :: NS:>MatrixWriter 44Fe7 @ (1:[] -> 2:[] 1:T if | 1:F if ) 44FF6 :: 45023 :: HP:InitOldMat 45041 :: 45073 :: NS:SWAPZERO 450A5 :: 450BE @ 'centered-dot' 0xB7 (Character) 4511A :: 45160 :: 45174 @ '-' 0x2D (Character) 451BC :: 451E4 :: 45216 :: 45234 :: 4524D :: 45261 :: 45284 :: 45301 :: NS:#A+ 4535B :: 45423 :: 45441 :: 45469 :: NS:3DROPNULL$ 45491 :: 454AA :: 3DROPNULL$ 454D2 :: 45522 :: 45554 :: 4556D :: 45612 :: 45653 :: 45676 :: HP:Blank$ 4569E :: 4570C :: 45716 {} ONEONE{} 45716 @ { <1h> <1h> } 4578E :: HARDBUFF_OCRC_SWAPDROP 457A7 :: 457CA :: 457E8 :: 45815 :: 45833 :: 4585B :: 4587E :: 45897 :: NS:#-TRUE 458B5 :: 45923 :: 4596E :: 459AA :: 459EB :: 459FF :: 45A1D :: 45A6D :: 45A81 :: 45A9F :: 45AE0 :: HP:GetMat/Vec 45AFE :: 45B08 :: 45B3A :: DropSysObs22GETLAM 45B5D :: 45B71 :: 45BB2 :: 45BC6 :: 45C07 :: 45C2F :: HP:RowElt# 45C2F @ :: SWAP#1- 21GETLAM #* #+ ; 45C4D :: 45C61 :: 2DROP20&21GETLAMS#* 45C89 :: SWAP21GETLAM 45CB6 :: 45CED :: 45D1F :: HP:GetElt 45D38 :: TWO14PUTLAM 45D4C :: 45D6F :: ZERO14PUTLAM 45D83 :: 45DBF :: 45DDD :: 45E14 :: 45E2D :: 45E6E :: 45E8C :: 45EA5 :: 45ED7 :: 45F04 :: 45F1D :: DUP12PUTLAM#4+10PUTLAM 45F4A :: DUP10PUTLAM#4-12PUTLAM 45F72 :: 45FB3 :: 45FEA :: 46003 :: MATWRmenu 4600D {} MATWRmenulist 4600D @ { MATWREDITkey MATWRVECkey <-WIDkey WID->key GO->key GOdownkey +ROWkey 4600D @ -ROWkey +COLkey -COLkey MATWR->STKkey MATWRUPSTKkey } 46012 {} MATWREDITkey 46017 $ "EDIT" 46033 {} MATWRVECkey 46047 {} <-WIDkey 4604C $ "<-WID" 46068 {} WID->key 4606D $ "WID->" 46089 {} GO->key 4609D {} GOdownkey 460B1 {} +ROWkey 460B6 $ "+ROW" 460D2 {} -ROWkey 460D7 $ "-ROW" 460F3 {} +COLkey 460F8 $ "+COL" 46114 {} -COLkey 46119 $ "-COL" 46135 {} MATWR->STKkey 4613A $ "->STK" 46156 {} MATWRUPSTKkey 4615B $ "upSTK" 46181 :: DoMATRWR->STKkey 461B8 :: GO->labelprg 461C2 $ "GO->" 461E6 :: GOdownlabelprg 461F0 $ "GOdown" 46214 :: MATWRVEClabelprg 4621E $ "VEC" 46242 :: DoGO->key 4626F :: DoGOdownkey 462A1 :: 462BF :: ONE18PUTLAM 462E2 :: 46305 :: DoMATRWRVECkey 46332 :: 4635A :: 20&21GETLAM#*17PUTLAM 46378 :: Do-ROWkey 46409 :: HP:CopyRowsUp 46481 :: Do-COLkey 4651C :: HP:CopyColsLeft 4659E :: Do+ROWkey 46625 :: HP:CopyRowsDown 466ED :: Do+COLkey 4677E :: HP:CopyColsRght 46855 :: TWENTYSWAP#/SWAPDROP 46873 :: Do<-WIDkey 468BE :: #1+INCR#11GETLAM 468EB :: 46945 :: DoWID->key 46995 :: #1+INCR#13GETLAM 469C2 :: 469DB :: 469F4 :: DoMATWREDITkey 46A49 :: 46A7B :: InitMATRWRmenu 46A99 :: 46AAD :: 46AD0 :: 46AF3 :: 46B16 :: 46B39 :: 46B70 :: 46B98 :: 46BCF :: 46BE3 # <84h> 46C10 :: 46CBF :: 46D19 :: 46D3C :: 46D87 :: ONEONETWO->20,9,8PUTLAM 46DAF :: ONEONETWO->21,8,9PUTLAM 46DD7 :: 46DF0 :: 46E2C :: 46EB8 # <26h> 46EE0 :: 46F17 :: 46F3F :: 46F76 :: 47025 :: 4703E :: 47098 :: 470BB :: 4710B :: 47129 # <84h> 4718D :: 471A6 :: 471F1 :: 47237 :: 47282 :: 472C8 # <502h> 472D2 # <503h> 472DC # <504h> 472E6 # <505h> 472F0 # <506h> 472FA P GETMATWRwidth 4730A P STOMATRWRwidth 4731A P GETMATGOdirection 4731A @ (-> #) (#0 = -> ??, #1 = down??) 4732A P STOMATGOdirection 4737D :: RclID?CKEQ 4737D @ Recalls ID contents (1:ID -> 2:contents 1:True | 1:False) 4737D @ ID_EQ is special ??? dunno what 473A0 :: DUP@_HERE?EQCK 473A0 @ Recalls ID contents (1:ID -> 3:ID 2:contents 1:TRUE | 2:ID 1:FALSE) 473A0 @ ID_EQ is special ??? dunno what 473BE :: 47409 :: CKEQ 47409 @ Something about EQ checking for ID_X ???????????? 4744F :: HP:'IDX 47459 g' ID_X 47467 :: HP:STOAPPLDATA 47485 :: PLOT&CATReviewKey 47494 :: 474A3 :: 474BC :: 474E9 :: 4750C :: 47548 :: SOLVEReviewKeyprog 47557 :: 4757A :: ReviewCurEQ 475A2 :: 475B6 :: 475D4 :: 475FC :: SHOWPlotrInfo 4760B :: PLOTRReviewKeyprg 47642 :: 4765B :: 47660 $ "Indep:" 476B7 :: 476BC $ "Depnd:" 476F0 $ "x:" 4771C $ "y:" 47761 :: 47798 :: 477B6 :: 47801 :: SWAPDROPONENINESUB$ 478AB :: StoreNEWEQ 478BF :: 478F1 :: 47900 $ ".EQ" 47910 $ ",EQ" 47957 :: SHOWPtypeInfo 47975 :: NS:APPprompt1 47975 @ If MSGOK? then APPprompt1! & valids status area, else DROP 47984 :: HP:APPprompt1! 47984 @ Displays $ in a 'separated' status area (1:$ ->) 479A7 :: HP:APPprompt2 479A7 @ If MSGK? then APPprompt2!, else 2DROP 479B6 :: NS:APPprompt2! 479B6 @ Displays 2 strings in status area & valids it 479D4 :: NS:MSGNOTOK? 479D4 @ (->1:T/F) True if PrgmEntry?/AppMode?/ImmedEntry?/Key pressed etc.. 47A1A :: XRNG 47A1A @ Internal XRNG (2:% 1:%) 47A42 :: YRNG 47A42 @ Internal YRNG (2:% 1:%) 47A6A :: %INDEP 47A6A @ Internal INDEP (1:%) 47A8D :: %DEPND 47A8D @ Internal DEPND (1:%) 47AB0 :: DoEDEQkey 47AE7 :: DoTIMECATkey 47B46 :: TOADISPBlankDA1 47B5A :: DoCATkey 47B6E :: 47B73 {} %{9_15} 47BA5 :: DoSTATCATkey 47BB9 :: 47BBE {} %{3_15} 47BF0 :: 47C18 :: 47C9A :: 47CA4 :: 47CDB :: DUPLEN$DUPTWENTYONE#-SWAPSUB$ 47D12 :: 47D26 :: 47D76 :: 47D85 :: DUP@?SKIP_NULL$ 47E20 :: 47E2F :: 47E66 :: 47E84 :: 47F56 :: 47F65 # <1h> 47F6F $ "[" 47F8F $ "x" 47FAF $ "]" 47FCA :: 47FD4 $ " dir" 47FF0 :: 48009 $ ":" 48024 :: 4803D :: 48042 $ "\|>" 48085 :: 480A3 :: 4810C :: 48148 :: 48198 :: 481C5 :: 2DROPONE 481E8 :: 4821F :: 4823D :: 48265 :: 48283 :: 48297 :: 482AB :: 482BF :: NS:TRUE4PUTLAM 482D3 :: 4830F :: 4833C :: 4835F :: 48391 :: 483BE :: 48418 :: 48427 :: 48472 :: 48481 :: 484CC :: 484FE :: PLOTRCATmenu 48508 {} PLOTRCATmenulist 48544 :: STATCATmenu 4854E {} STATCATmenulist 48585 :: TIMECATmenu 4858A {} TIMECATmenulist 485BC {} 1-VARkey 485C1 $ "1-VAR" 485D5 :: Do1-VARkey 485E4 :: 48611 :: 48634 :: 48652 {} STATPLOTkey 48657 $ "PLOT" 48669 :: DoSTATPLOTkey 48682 :: 486B4 {} 2-VARkey 486B9 $ "2-VAR" 486CD :: Do2-VARkey 486E6 :: 48718 {} STATEDITkey 4871D $ "EDIT" 4872F :: DoSTATEDITkey 48761 {} CATSOLVERkey 48766 $ "SOLVR" 4877A :: DoCATSOLVERkey 48789 :: 487C5 {} CATPLOTRkey 487CA $ "PLOTR" 487DE :: DoCATPLOTRkeyprg 4880B {} CATEQ+key 48810 $ "EQ+" 48820 {} CATSTATEQ+keyops 48825 :: DoCATEQ+key 48848 :: SAFE@_HEREDROP 48875 :: SAFE@HERE?SEMIDUP 4889D :: SWAPDROP&COMP 488B1 :: DROP>TCOMP 488C5 :: 3PUTLAMSetDA23NoCh 488DE :: DoCATEQ+keyLS 4891A {} CATEDITkey 4891F $ "EDIT" 48931 :: DoCATEDITkey 4894A :: 48990 {} CATPURGEkey 48995 $ "PURGE" 489A9 :: DoCATPURGEkey 489E5 :: 489FE :: 48A2B :: 48A71 {} CAT->STKkey 48A76 $ "->STK" 48A88 :: DOCAT->STKkey 48A8D :: 48ACE $ "undefined" 48AF4 :: DoBadKeyRDROP 48B3F {} CATVIEWkey 48B44 $ "VIEW" 48B56 :: DoCATVIEWkey 48B65 :: 48B83 :: 48BD8 :: 48C5A {} CATFASTkey 48C5F :: CATFASTlabelprg 48C69 $ "FAST" 48C85 :: DoCATFASTkey 48CB7 {} CATORDERkey 48CBC $ "ORDER" 48CD0 :: DoCATORDERkey 48D0C :: 59TestSysFlag 48D20 {} TIMECATEDITkey 48D25 $ "EDIT" 48D37 :: DoTIMECATEDITkey 48D4B g' ID_ALRMDAT 48D8D {} TIMECATPURGEkey 48D92 $ "PURGE" 48DA6 :: DoTIMECATPURGEkey 48DDD {} EXEXCSkey 48DE2 :: EXECSlabelprg 48DEC $ "EXECS" 48E0A :: DoEXECSkey 48E32 :: 48E5A :: TIMECATmenuON? 48E78 :: 48E96 :: 48EA0 :: 3GETLAMDUPLENCOMP#0= 48ECD :: 48F04 :: 48F3B :: 8GETLAMLENCOMP 48F4F :: 48F72 :: 48FD6 :: DoPLOTRkey 48FF9 :: HP:SORTASLOW 48FF9 @ Do VERYSLOW 5 times 49017 :: PLOTmenuON? 49017 @ Is current menu PLOTmenu? 49035 :: STATPTYPE? 49035 @ TRUE if PTYPE = BAR | HISTOGRAM | SCATTER else FALSE 49076 :: 490B7 :: 490CB :: %01REV 490CB @ :: %0 1REV ; 4912A :: 49161 % NS:%40 49199 {} NS:8NULLLAM{} 49199 @ { NULLLAM.... NULLLAM } (8 NULLLAMs) 491D5 :: HP:AUTOSCALE 491D5 @ Internal AUTO 491E9 :: 49220 :: 49266 :: 492B1 :: 492FC :: 49333 :: 4936F :: 493B0 :: 493C4 :: 4945F :: 49478 :: 4948C :: 4949B :: NS:%1%-1 4949B @ Push %1 and %-1 494B4 % HP:%.1 494EC :: 49523 :: NS:XYZW>ZZ 49523 :: DROPUNROT2DROPDUP 49569 :: 49587 :: 4959B :: NS:CKC%>% 4959B @ (1:% -> 2:% 1:%0 | 1:C% -> 2:%re 1:%im) 495BE :: 2GETLAM%POL>%REC 495F5 :: PUTYRNG&DECMIN 495F5 @ Orders STK1 & STK2, Puts to YRNG and lowers YMIN with 1 pixel amount 495F5 @ (2:%eithery 1:%othery) 49618 % %0.15 49641 :: DoZ-BOXkeyLS 4965F :: 49682 :: 49696 :: 496A0 # <100h> 496F5 :: 49709 :: HP:PromptIdUtil 4971D $ ": " 4973A :: DoRESETkey 49753 :: ERRORCLRDropSysObs'IDFUNCTION 4978F :: DoFCNkey 4978F @ Invoke GRAPH FCN menu 497A8 :: 497D0 :: 497FD :: DoSLOPEkey 49825 $ "Slope" 4984D :: DoFCNROOTkey 49870 $ "Root" 4988C :: DoFCNAREAkey 498B4 :: 3DROPNEWMARK 4991D $ "Area" 49948 :: DoISECTkey 49970 :: 499BB :: 499FC $ "I-sect" 49A1C :: DoFCNEXTRkey 49A4E $ "Extrm" 49A6C :: DoF(X)key 49A8F $ "F(x)" 49AB5 :: DoF'key 49AD3 :: HP:PointDerivUt 49AD3 @ :: DROP 595B0 ; 49AE7 :: DORCLEDUPEqList? 49B05 :: 49B4B :: 49B82 :: 49BA5 :: HP:FcnUtilEnd 49BD2 :: HP:RootUtil 49BE1 :: 2RDROPJstGETTHEMESGDISPCOORD2 49C0E :: SWAPDROP2RDROPGETTHEMESGDISPCOORD2 49C54 :: HP:CkEQUtil 49C95 :: 49CB8 :: Called by DoFCNNXEQkey 49CBD :: PrepNXEQ 49CD6 :: NS:ROLL{} 49CD6 @ ROLL lists contents (If empty SETNoEQERR) 49CD6 @ 1:{ ob1 ob2 ob3 .. obn } -> 1:{ ob2 ob3 .. obn ob1 } 49CFE :: 49D3A :: 49D3F :: 49D8A :: 49DB2 :: dropFALSE 49DD5 :: 49E11 :: 49E43 :: CRUNCHNoBlamWith234Saved 49E43 @ ->NUM level1 (stk2,3,4 are bound to LAMs meanwhile, why????) 49E7A :: 49ECA :: 49F06 :: HP:PointMoveCur 49FBA :: 4A000 :: DispCoord1SORTASLOW 4A02D :: 4A055 :: HP:DISPCOORD2 4A055 @ Displays coords until key is pressed 4A078 :: RECORDX&YC%>Re% 4A078 @ :: RECORDX&YC% C>Re% 4A08C :: ONEGETEqN 4A08C @ Gets first equation from ID_EQ, (EQ itself if ID_EQ is not a list) 4A0AA :: HP:GetEqN 4A0AA @ Gets Nth (#) equation from ID_EQ 4A0C8 :: 4A0D7 :: NS:NULL$FALSE 4A122 :: 4A145 g' ID_X 4A16C :: sigmaLINE 4A16C @ Internal SigmaLINE 4A194 :: MAKELINEQ 4A194 @ (2:Ob2 1:Ob1 -> 1:'Ob2+Ob1*X' 4A19E g' ID_X 4A1D4 :: MAKELNEQ 4A1D4 @ (2:Ob2 1:Ob1 -> 1:'Ob2+Ob1*LN(X)' 4A1DE g' ID_X 4A223 :: MAKEEXPEQ 4A223 @ (2:Ob2 1:Ob1 -> 1:'Ob2*EXP(Ob1*X)' 4A22D g' ID_X 4A25E g' ID_X 4A28F :: SolvMenuEQReviewprg 4A28F @ Returns 'EQ' or EQ:contents (tagged) (Checks fast flag etc too) 4A2B2 :: 4A320 # <605h> 4A32A # <606h> 4A334 # <607h> 4A33E # <608h> 4A348 # <609h> 4A352 # <60Ah> 4A35C # <60Bh> 4A366 # <60Ch> 4A370 # <60Dh> 4A37A # <60Eh> 4A384 # <60Fh> 4A38E # <610h> 4A398 # <611h> 4A3A2 # <612h> 4A3AC # <613h> 4A3B6 # <614h> 4A3C0 # <615h> 4A3CA # <616h> 4A3D4 # <617h> 4A3DE # <618h> 4A3E8 # <619h> 4A3F2 # <61Ah> 4A3FC # <61Bh> 4A406 # <61Ch> 4A410 # <61Dh> 4A41A # <61Eh> 4A424 # <61Fh> 4A42E # <620h> 4A438 # <621h> 4A442 # <622h> 4A44C # <633h> 4A456 # <624h> 4A460 # <628h> 4A46A # <629h> 4A474 # <62Ah> 4A47E # <62Bh> 4A488 # <62Ch> 4A492 # <62Dh> 4A49C # <62Eh> 4A4A6 :: DoEDITsigmakey 4A4E2 :: SHOWNoSigmaStat 4A4F1 :: 4A50A :: 4A528 :: 4A550 :: SHOWStatData 4A555 :: 4A5A0 $ "(" 4A5BB $ ")=" 4A605 $ ")=" 4A627 :: 4A64A :: 4A663 :: 4A677 $ "Xcol:" 4A69A $ " Ycol:" 4A6C4 $ " Modl:" 4A702 :: ClearSigmaDat 4A716 :: 4A770 :: NS:InputID 4A770 @ Ask for ID (2:$messageline 1:$editline -> 2:ID 1:True) 4A770 @ SETTYPEERR if wrong type gotten, if ON pressed return (-> 1:False) 4A7CA :: FINDBESTMODEL 4A7CA @ Finds and calcs the bestmodel (to sigmaPAR) (no args) 4A7CF {} FITMODES{} 4A7CF @ { LINFIT LOGFIT EXPFIT PWRFIT } 4A842 :: DROP(2,4) 4A842 :: NS:XYZW>YW 4A842 :: NS:SWPDRPROTDRP 4A874 :: 4A94B :: 4A95A :: HP:ICMPDRPRTDRP 4A95A :: INCOMPDROPROTDROP 4A982 :: %01REV 4A982 @ :: %0 1REV ; 4A9AF :: HP:CHECKPVARS 4A9D7 :: CHECK3{}CDRStrings? 4A9D7 @ Checks that LEN{} = 3, {2} and {3} are strings 4A9D7 @ (1:{} -> 1:list element 1) 4AA59 :: CKSTKPPARLASTID? 4AA59 @ Checks that last entry in exploded PPAR is ID (errors if not) 4AA68 :: CHECK3{}CDRStrings?2 4AA68 @ The same as in address 4A9D7 4AAA9 :: RCLSTKPPARCK 4AAA9 @ Recalls exploded PPAR to stack (Makes one if necessary) 4AAA9 @ Checks PPARs validity too 4AAEA :: HP:MAKEPVARS 4AAEA @ Creates default PPAR & pushes it ( -> StdPPAR{} ) 4AB1C g' ID_X 4AB2A C% C%0 4AB59 g' ID_Y 4AB7B :: #>StdPIXRange 4AB7B @ Returns standard ranges (Like <131d> -> -6.5 6.5 ) 4ABC1 :: NOTONE?SETPTYPEFUNC 4ABC1 @ If stk1 is not a PTYPE, set FUCTION as PTYPE 4AC1B :: SETPTYPEFUNC 4AC1B @ Sets FUNCTION as PTYPE 4AC34 :: GETCENTR 4AC61 :: C%CENTR 4AC61 @ Internal CENTR (1:C%) 4ADB0 :: HN:GETSCALE 4AE3C :: SCALE 4AE3C @ Internal SCALE (2:% 1:%) 4AF4F :: #2/UNCOERCE%% 4AF63 :: HP:GETINDEP 4AF77 :: HP:PUTINDEP 4AF77 @ Internal INDEP (1:ID) 4AF8B :: HP:PUTINDEPLIST 4AF8B @ Internal INDEP (1:{}) 4AF9F :: GETDEPND 4AFB3 :: PUTDEPND 4AFB3 @ Internal DEPND (1:ID) 4AFC7 :: PUTDEPNDLIST 4AFC7 @ Internal DEPND (1:{}) 4AFDB :: HP:GETRES 4AFEF :: %RES 4AFEF @ Internal RES (1:%) 4B012 :: HP:PUTRES 4B012 @ Internal RES (1:positive % / HXS) 4B026 :: GETAXES 4B03A :: C%AXES 4B03A @ Internal AXES (1:C%) 4B04E :: {}AXES 4B04E @ Internal AXES (1:{}) 4B062 :: HP:GETPTYPE 4B062 @ Get PLOT type (-> 1:Type) 4B076 :: HP:PUTPTYPE 4B076 @ Stores PLOT type (1:Type) 4B08A :: GETPMIN 4B09E :: PMIN 4B09E @ Internal PMIN (1:C%) 4B0B2 :: GETPMAX 4B0C6 :: PMAX 4B0C6 @ Internal PMAX (1:C%) 4B0DA :: HP:GETPMIN&MAX 4B10C :: HP:GETXMIN 4B120 :: HP:GETYMIN 4B139 :: HP:GETXMAX 4B14D :: HP:GETYMAX 4B166 :: HP:PUTXMIN 4B189 :: HP:PUTYMIN 4B1AC :: HP:PUTXMAX 4B1CF :: HP:PUTYMAX 4B1F2 :: PICTSIZE 4B1F2 @ (-> 2:HXS_xsize 1:HXS_ysize) 4B206 :: C%PDIM 4B206 @ Internal PDIM (2:C% 1:C%) 4B2D3 :: SWAPC%->%%SWAP 4B2D3 @ (2:(re2,im2) 1:(re1,im1) -> 2:%%(im1-im2) 1:%%(re1-re) 4B300 :: HXSPDIM 4B300 @ Internal PDIM (2:HXS,1:HXS) 4B323 :: HP:MAKEPICT# 4B323 @ Internal PDIM (2:#,1:#) 4B32D # <800h> 4B364 :: CK&GETPPARN 4B364 @ Checks PPAR validity, then gets Nth item (1:#n -> 1:Ob) 4B37D :: 4B3BE :: 3DUPTYPESC$$? 4B3BE @ (3:Ob3 2:Ob2 1:Ob1->..3:TYPESTR?(Ob1) 2:TYPESTR?(Ob2) 1:TYPECMP?(Ob3) 4B3E1 :: 3DUPTYPESIDRR? 4B3E1 @ (3:Ob3 2:Ob2 1:Ob1->..3:TYPEID?(Ob1) 2:TYPEREAL?(Ob2) 1:TYPEREAL?(Ob3) 4B41D :: 4B44F :: DROP2ndOB{} 4B44F :: INCOMPDROPROTDROPTHREE{} 4B44F @ (1:{ Ob1 Ob2 Ob3 Ob4 } -> 1:{ Ob1 Ob3 Ob4 } ) 4B47C :: 4B490 :: 2DUPTYPES$$? 4B490 @ (2:Ob2 1:Ob1 -> 4:Ob2 3:Ob1 2:TYPESTR?(Ob1) 1:TYPESTR?(Ob2) ) 4B4A9 :: 2DUPTYPESRR? 4B490 @ (2:Ob2 1:Ob1 -> 4:Ob2 3:Ob1 2:TYPEREAL?(Ob1) 1:TYPESTR?(Ob2) ) 4B4EA :: 4B508 :: 4B51C :: NS:ORDER% 4B51C @ (2:%2 1:%1 -> 2:MIN(%2,%1) 1:MAX(%2,%1) 4B553 :: HP:VSCALE 4B553 @ Internal *H (1:%) 4B5AD :: HP:HSCALE 4B5AD @ Internal *W (1:%) (Funny how HP names their internals) 4B60C :: HP:DOERASE 4B60C @ Internal ERASE 4B62F :: 4B67A :: 4B6AC :: DRAW 4B6AC @ Internal DRAW 4B6D9 :: HP:PLOTERR 4B710 :: HP:RESETDEPTH 4B733 :: 4B765 :: HP:PLOTPREP 4B774 :: 4B7D8 :: HP:GetRes 4B7EC :: 4B800 :: %0GetRes 4B855 :: 4B88D :: 16&15GETLAM%-%13/ 4B8C9 :: 16&15GETLAM%-%130/ 4B90A :: 4B941 :: @DROP 4B941 @ :: @ DROP ; 4B955 :: 4BA22 :: 4BA36 :: 4BACC :: 4BAE0 :: 4BB17 :: 4BB30 :: 4BBC1 :: 4BBE4 :: 4BC02 :: 4BC5C :: 4BC89 :: 4BD4C :: 4BD7E :: 4BD9C :: 4BDDD :: 4BE23 :: NS:Attn?ExitAtLp 4BE23 @ If Attn is pressed, ExitAtLOOP (ZEROISTOPSTO) 4BE3C :: 4BE6E :: 4BEE1 :: 4BF13 :: 4BF45 :: 4BF77 :: 4BFAE :: HP:NEXTSTEP 4BFD6 :: 4C003 :: 4C01C :: 4C02B :: MINREAL 4C02B @ Calculates 10 499 %CHS %^ 4C035 % %499 4C068 % %499 4C09B P HP:NEWINDEP 4C0D4 P 4C0E4 :: 4C0FD :: GETYMIN&MAX 4C0FD @ Fetches YMIN and YMAX from PPAR (2:%ymin 1:%ymax) 4C161 :: 4C1A7 :: 4C1E3 :: 4C20B :: 4C233 :: 4C256 :: 4C27E :: 4C2AB :: 4C2D8 :: 4C2F1 :: 4C30A :: 4C323 :: 4C33C :: 4C355 :: 4C36E :: 4C391 :: 4C3C3 :: 4C3E1 :: C%>%0= 4C3E1 @ (1:C% -> 2:%re 1:%im=0? (True/False) ) 4C413 :: 4C42C :: 4C445 :: 4C481 :: 4C49A :: 4C4B3 :: 4C4EA :: 4C50D :: 4C530 :: 4C55D :: 4C580 :: 4C5D5 :: 4C5E4 :: 7&8PUTLAM 4C5E4 @ :: 8PUTLAM 7PUTLAM ; 4C607 :: DRAX 4C607 @ Internal DRAX 4C639 :: HP:drax 4C64D :: 4C6CF :: 4C73D :: 4C77E :: 4C7D8 :: 4C828 :: 4C86E P 4C881 :: 4C8F4 :: %BINS 4C8F4 @ Internal BINS (3:% 2:% 1:%) 4C908 # 4C93F {} LAM{'xmax'N} 4C93F @ { LAM_'xmax LAM_'N } 4C944 l' LAM_'xmax 4C955 l' LAM_'N 4C9B0 :: 4C9D8 :: 4CA0F :: ROTDROPONEONE2SWAP 4CA0F @ (3:Ob3 2:Ob2 1:Ob1 -> 4:#1 3:#1 2:Ob2 1:Ob1) 4CA82 :: 4CA9B :: NS:3DROP1GETLAM 4CAD7 :: 4CAFA :: 2DROPZERO 4CB6D :: 4CBA9 :: 4CBDB :: 4CCB2 :: SWAPDROP5GETLAM%%>%COERCESWAP 4CCDF :: 8PICK%*COERCE9PICK#+ 4CD2A :: #1-4ROLL#1+4UNROLL 4CD2A @ (4:#n 3:Any3 2:Any2 1:#m -> 4:#n+1 3:Any3 2:Any2 1:#m-1) 4CD6B :: 4CD93 :: 6DROPExitAtLOOP 4CDD9 :: 4ROLLDROPOVER5PICK#-4UNROLL 4CDD9 @ (5:#m 4:Ob4 3:Ob3 2:#n 1:Ob1 -> 5:#m 4:#n-#m 3:Ob3 2:Ob2 1:Ob1) 4CE10 :: UNROT2DROP4PICK#- 4CE10 @ (6:#m 5:Ob5 4:Ob4 3:Ob3 2:Ob2 1:#n -> 4:#m 3:Ob5 2:Ob4 1:#n-#m) 4CE4C :: HP:EXITFCNsto 4CE6F :: 4CE83 :: 4CEBA :: 4CEE7 :: HP:GraphicExit 4CF05 :: HP:GDISPCENTER 4CF41 :: HP:SETLOOPENV 4CF50 {} 4CF55 l' LAM_'EnvOK 4CF68 l' HP:ExitFcn 4CF68 l' LAM_'EXITFCN 4CF8E :: 4CFA2 :: 4CFD9 :: 4D01F :: 4D056 :: 4D08D :: 4D0E7 :: 4D0FB :: 4D11E :: HP:DROPDEADTRUE 4D132 :: HP:SCROLLUP 4D150 :: HP:SCROLLLEFT 4D16E :: HP:SCROLLDOWN 4D18C :: HP:SCROLLRIGHT 4D1AA :: GRAPH 4D1AA @ Internal GRAPH 4D1C3 :: 4D1E6 :: 4D209 # <41h> 4D2EA :: 4D308 :: 4D30D l' LAM_'EnvOK 4D34D :: 4D352 l' LAM_'EnvOK 4D36F l' LAM_'EnvOK 4D39B :: 4D3C3 :: 4D3FA :: 4D422 :: 4D436 :: 4D459 :: 4D47C :: 4D4BD :: 4D4DB :: 4D4F4 :: 4D508 :: 4D52B :: 4D54E :: 4D58F :: 4D5B7 :: 4D5CB :: 4D5EE :: 4D611 :: 4D652 :: 4D67A :: 4D68E :: 4D6B1 :: 4D6D4 :: 4D715 :: 4D724 :: 4D747 :: 4D774 :: 4D79C :: 4D814 :: 4D846 :: 4D896 :: 4D8D7 :: 4D8EB :: 4D8F5 :: 4D913 :: 4D94A :: 4D981 :: 4D9B8 :: 4D9EF :: 4DA0D :: HP:CROSS_HAIRS 4DA30 :: 4DA76 :: HP:CROSS_OFF 4DA94 :: 4DAB2 :: Do+/-key 4DAC6 :: 4DB11 :: 2nd arg to Box/StdLbl: in +/-labelprg 4DB25 :: 4DB4D :: 4DB75 :: 4DB93 :: 4DBAC :: 4DBED :: 4DC38 :: 4DC88 :: 4DC9C :: 4DCC4 :: 4DCDD :: 4DCF1 :: 4DD05 :: 4DD19 :: 4DD46 :: 4DD5F :: 4DD73 :: 4DD87 :: 4DD9B :: 4DDC3 :: 4DDDC :: 4DDF0 :: 4DE04 :: 4DE18 :: 4DE45 :: 4DE5E :: 4DE72 :: 4DE86 :: 4DE9A :: 2nd arg to Box/StdLbl: in DOT+labelprg 4DEAE :: 2nd arg to Box/StdLbl: in DOT-labelprg 4DEC2 :: DoDOT+key 4DEDB :: 4DF03 :: DoDOT-key 4DF1C :: 4DF44 :: 4DF53 :: 4DF71 :: 4DF8A :: 4DFD0 P 4E065 :: 4E0B0 :: 4E0D8 P 4E12A P 4E266 :: HP:CHECKMENU 4E27A :: 4E2AC :: HP:MENUOFF 4E2CF :: HP:TURNMENUOFF 4E2CF @ Turn menu display off, enlarges text grob to fill it 4E310 :: 4E333 # <3Fh> 4E347 :: HP:TURNMENUON 4E347 @ Turn menu display on, makes text grob smaller 4E34C # <37h> 4E360 :: HP:MENUOFF? 4E36A # <37h> 4E37E P 4E3CA :: DoMARKkey 4E3E3 :: 4E3FC :: 4E442 :: HP:CURRENTMARK? 4E46A :: HP:EQCURSOR? 4E497 :: HP:PREMARKON 4E4B0 :: HP:NEWMARK 4E519 :: 4E55A :: DoGRAPHBOXkey 4E582 :: HP:DRAWBOX# 4E5E6 :: DoGRAPHCIRCLEkey 4E631 :: DoGRAPHLINEkey 4E663 :: DoGRAPHTLINEkey 4E68B :: DoCOORDkey 4E6AE :: 4E6CC :: 4E6E5 :: 4E6EF :: HP:DispCoord1 4E712 :: 4E753 :: DoGRAPHCENTRkey 4E776 :: DoZ-BOXkey 4E776 :: HP:Z-BOX 4E7D5 :: 4E80C :: 4E857 :: DoGRAPHLABELkey 4E875 :: LABEL 4E875 @ Internal LABEL 4E889 :: 4E8A2 :: 4E8CA :: 4E906 :: 4E997 :: 4E9F1 :: 4EA28 :: 4EA5A :: 4EA82 :: 4EADC :: 4EB1D :: 4EB36 :: 4EB7C :: 4EB9A :: 4EBE5 :: 4EC21 :: 4EC58 :: 4EC6C :: 4ECAD :: HP:CROSSMARKON 4ECBC :: 4ECE4 :: DoGRAPHREPLkey 4ECF8 :: 4ECFD # <201h> 4ED20 :: 4ED25 # <202h> 4ED70 :: DoGRAPHSUBkey 4EDB6 :: DoGRAPHDELkey 4EDCA :: 4EDFC :: 4EE1A :: DoZOOMkey 4EE1A @ Invoke GRAPH ZOOM menu 4EE3D :: 4EE3D @ GRAPH ZOOM menu list 4EE47 {} 4EE4C {} 4EE51 $ "XAUTO" 4EE65 :: 4EE8D {} 4EE92 $ "X" 4EE9E :: 4EEC1 {} 4EEC6 $ "Y" 4EED2 :: 4EEF5 {} 4EEFA $ "XY" 4EF08 :: 4EF49 :: 4EFAD :: 4F011 :: C%PVIEW 4F011 @ Internal PVIEW (1:C%) 4F02F :: {}PVIEW 4F02F @ Internal PVIEW (1:List) 4F052 :: HP:WINDOW# 4F0AC :: PX>C 4F0AC @ Internal PX->C (1:{}) 4F0DE :: 4F110 :: 4F179 :: C>PX 4F179 @ Internal C->PX (1:C%) 4F1A1 :: 4F1D8 :: HP:SWAPTRUE 4F1EC :: 4F20F :: 4F241 :: 4F264 :: 4F287 :: 4F29B :: 4F2CD :: 4F2CD @ (6:#x2 5:#y2 4:(xmin,ymin) 3:(xmax,ymax) 2:#x 1:#y -> 4F2CD @ 6:x2 5:y2 4:(x-1)/dx 3:-xmin*(x-1)/dx 2:(y-1)/dy 1:ymax*(y-1)/dy 4F37C :: PICTSTO 4F37C @ Internal STO (2:Grob 1:PICT) 4F390 # <800h> 4F3D1 :: NS:2HXS># 4F3D1 @ Convert level 1 and 2 HXSs to # 4F3EF :: C%PIXON 4F3EF @ Internal PIXON (1:C%) 4F408 :: 4F458 :: {}PIXON 4F458 @ Internal PIXON (1:List) 4F471 :: C%PIXOFF 4F471 @ Internal PIXOFF (1:C%) 4F48A :: {}PIXOFF 4F48A @ Internal PIXOFF (1:List) 4F4A3 :: C%PIX? 4F4A3 @ Internal PIX? (1:C%) 4F4BC :: {}PIX? 4F4BC @ Internal PIX? (1:List) 4F4CB :: 4F4D0 # NS:##80000 4F525 :: {}LINE 4F525 @ Internal LINE (2:List,1:List) 4F539 :: {}TLINE 4F539 @ Internal TLINE (2:List,1:List) 4F54D :: 4F584 :: C%LINE 4F584 @ Internal LINE (2:C%,1:C%) 4F598 :: C%TLINE 4F598 @ Internal TLINE (2:C%,1:C%) 4F5AC :: 4F5D9 :: 4F665 :: {}BOX 4F665 @ Internal BOX (2:List,1:List) 4F688 :: C%BOX 4F688 @ Internal BOX (2:C%,1:C%) 4F6A1 :: BLANK 4F6A1 @ Internal BLANK (2:HXS,1:HXS) 4F6BA :: {}G(X)OR 4F6BA @ Internal GOR/GXOR (4:Graphic,3:List,2:Graphic,1:True/False) 4F6DD :: 4F6F6 :: C%G(X)OR 4F6F6 @ Internal GOR/GXOR (4:Graphic,3:C%,2:Graphic,1:True/False) 4F719 :: 4F741 :: PICTG(X)OR 4F741 @ Internal GOR/GXOR (4:PICT,3:C%/List,2:Graphic,1:True/False) 4F769 :: 4F78C :: HP:GROB+# 4F7E6 :: HP:CKGROBFITS 4F822 :: 4F840 :: 4F863 :: 4F886 :: 4F8D1 :: GROB+ 4F8D1 @ Internal + (2:Grob 1:Grob -> 1:Grob) 4F91C :: 4F949 :: 4F999 :: {}GROBREPL 4F999 @ Internal REPL (3:Grob 2:{} 1:Grob -> 1:Grob) 4F9B2 :: 4F9CB :: 4F9F3 :: C%GROBREPL 4F9F3 @ Internal REPL (3:Grob 2:C% 1:Grob -> 1:Grob) 4FA0C :: 4FA2F :: PICTREPL 4FA2F @ Internal REPL (3:PICT 2:{}/C% 1:Grob ->) 4FA57 :: 4FA7A :: {}REPL 4FA7A @ Internal REPL (3:{} 2:% 1:{} -> 1:{}) 4FAF7 :: %REPL$ 4FAF7 @ Internal REPL (3:$ 2:% 1:$ -> 1:$) 4FB74 :: {}GROBSUB 4FB74 @ Internal SUB (3:Grob 2:{} 1:{} -> 1:Grob) 4FB92 :: 4FBC4 :: C%GROBSUB 4FBC4 @ Internal SUB (3:Grob 2:C% 1:C% -> 1:Grob) 4FBF6 :: PICTSUB 4FBF6 @ Internal SUB (3:PICT 2:C% 1:C% / 2:{} 1:{} ->) 4FC28 :: GROBNEG 4FC28 @ Internal NEG (1:Grob -> 1:Grob) 4FC3C :: PICTNEG 4FC3C @ Internal NEG (1:PICT ->) 4FC5F :: C%ARC 4FC5F @ Internal ARC (4:C% 3:% 2:% 1:%) 4FD2C :: {}ARC 4FD2C @ Internal ARC (4:{} 3:HXS 2:% 1:%) 4FD72 :: 4FDCC :: 4FE08 :: 4FE12 :: 0C%RND>% 4FE12 @ Rounds complex number (0 RND) and does C%>% (1:C% -> 2:%re 1:%im) 4FE30 :: 4FE6C :: 4FE71 {} 4FE76 :: 9GETLAM%=SWAP6GETLAM%>= 4FE99 :: 5GETLAM%>=SWAP10GETLAM%= 4FEBC :: 9GETLAM%=SWAP6GETLAM%< 4FEDF :: 5GETLAM%ITE_#2_#4 4FF66 :: DROP%0>ITE_#1_#3 4FF98 {} LAM{'xe'ye'x'y'xc'yc'r2'left'up'exit} 4FF9D l' LAM_'xe 4FFAA l' LAM_'ye 4FFB7 l' LAM_'x 4FFC2 l' LAM_'y 4FFCD l' LAM_'xc 4FFDA l' LAM_'yc 4FFE7 l' LAM_'r2 4FFF4 l' LAM_'left 50005 l' LAM_'up 50012 l' LAM_'exit 5007D :: 50154 :: DROP6&5&1 50154 @ Drop levels 6,5,1 (6:Ob6 5:Ob5...1:Ob1 -> 3:Ob4 2:Ob3 1:Ob2 ) 501DB :: 50235 :: 9GETLAM%=SWAP10GETLAM%= 50262 :: HP:%1+ 50276 :: HP:%1- 5028A :: 502A3 :: 7&5GETLAM%> 502BC :: 8&6GETLAM%> 502F3 :: 5&7GETLAM%> 50316 :: NS:#+#< 5032A :: DUP2%SQUARES(stk1-5LAM,stk2-6LAM) 5032A @ (2:%2 1:%1 -> 3:%2 2:%1 1:(%1-5GETLAM)^2+(%2-6GETLAM)^2 5036B :: 503B1 :: NS:%-ABS 503B1 @ Substract smaller from bigger (2:% 1:% -> 1:ABS(stk2-stk1) ) 503C5 :: TEXT 503C5 @ Internal TEXT 503D4 :: HP:DOLCD> 503D4 @ Internal LCD-> 503F7 # <38h> 50424 # <38h> 50438 :: HP:DO>LCD 50438 @ Internal ->LCD (1:Graphic) 5046A :: HP:DOCLLCD 5046A @ Internal CLLCD 5048D :: NS:DO>GROB 5048D @ Internal ->GROB (2:Any 1:%) 504B0 :: 5050A :: 5053C gr HP:CROSSGROB 5053C @ graphics cursor (Graphic 5 x 5) 5055A gr HP:MARKGROB 5055A @ graphics mark (Graphic 5 x 5) 50578 P HP:GROBDIM 50578 @ get GROB dimensions -> (2:Rows,1:Columns) 505B2 gr NS:NULLGROB 505B2 @ Graphic template (Graphic 0 x 0) 505C6 :: HP:GETXPOS 505E4 P HP:getxpos 5068D :: HP:GETYPOS 506AB P HP:getypos 506C2 P 50701 P 5072B :: HP:TOGGLELINE#3 50758 :: HP:DRAWLINE#3 50785 P 508E2 :: 50923 :: XYZW>WZYXTrue 50923 :: NS:REVERSE4TRUE 50923 @ (4:Ob4 3:Ob3 2:Ob2 1:Ob1 -> 5:Ob1 4:Ob2 3:Ob3 2:Ob4 1:TRUE) 509E1 :: 50A3B :: NS:UNROT2DROP%0 50A3B :: DROP2&3%0 50A3B @ (3:Ob3 2:Ob2 1:Ob1 -> 2:Ob1 1:%0) 50A63 :: XYZW>WZYX 50A63 :: NS:REVERSE4 50A63 @ (4:Ob4 3:Ob3 2:Ob2 1:Ob1 -> 4:Ob1 3:Ob2 2:Ob3 1:Ob4 ) 50ACC P HP:LINEOFF3 50ADB P HP:TOGLINE3 50AEA P HP:LINEON3 50AF9 P HP:TOGLINE 50B08 P HP:LINEOFF 50B17 P HP:LINEON 50D02 :: GetEq(INDEX+1) 50D02 @ Get INDEX@+1th item from EQ list (errors if not there) ( -> 1:Ob) 50D25 :: 50D39 {} LAM{'PlotEnv} 50D3E l' LAM_'PlotEnv 50D78 :: HP:LASTPT? 50D78 @ :: 15GETLAM 16GETLAM %< NOTcase TRUE ATTNFLG@ #0<> ; 50DA5 :: HP:PlotOneMore? 50DA5 @ :: ATTNFLG@ #0= 15GETLAM 16GETLAM %= AND ; 50DCD :: STATPTYPE? 50DCD @ Push True If PTYPE = SCATTER | HISTOGRAM | BAR, else False 50E04 :: 50E45 # <104h> 50E4F # <602h> 50E59 P HP:!#1+IF0 50EB9 P 50F42 :: 50F60 :: NS:dropDrpFls 50F88 :: 50FB0 :: SWAP#3=ITE_'ID_X_'ID_Y 50FC4 :: 'ID_X 50FCE g' ID_X 50FDC :: 'ID_Y 50FE6 g' ID_Y 51003 :: 5102B :: :16GETLAM: 5102B @ :: 16GETLAM ; 5103A :: PUTPPAR!N 5103A @ Put item to Nth place from end of PPAR (2:Ob 1:#n) 51067 :: STKMAKEPPAR 51067 @ Makes PPAR from stack contents 51085 :: ?SETPPARERR 51085 @ If False do SETPPARERR 51099 :: DEPNDVAR 51099 @ Gets DEPND var, takes 1st element if list 510AD :: HP:INDEPVAR 510AD @ Gets DEPND var, takes 1st element if list 510C1 :: NS:CKCARCOMP 510C1 @ If stk1 is list, CARCOMP, else nothing 510D5 :: HP:RECORDX&YC% 51125 :: HP:CLEARMENU 51125 @ Stores blank grob over HARDBUFF2 (menugrob) (no args) 51148 :: NOTPICT?ERR 51148 @ validate pop stk1 is PICT (Bad Argument Type) 51166 :: HP:CHECKPICT 51166 @ If PICT dims = 0 store BLANK (131 x 64) in PICT 51166 @ If dims over (131 or 64) (broaden heighten) PICT 51184 :: 3DROPBLANKStdGDISP 51184 @ 3DROP and STORE BLANK (131 x 64) in graph grob (3:Any 2:Any 1:Any) 511B6 :: BROADENGROBX 511B6 @ Broadens GDISP or ABUFF (3:ABUFF or GDISP 2:nomeaning 1:#x) 511B6 @ Make sure #x is > <131d> before calling 511E3 :: HEIGHTENGROBY 511E3 @ (2:PICT or TEXTGROB 1:#y) Adds rows to GROB if #y > #40 5120B :: GBUFFStdSIZEMIN 5120B @ Gives GBUFF dims, makes them atleast Standard sized (131 x 64) 5121F :: StdSIZEMIN 5121F @ (2:#ysize 1:#xsize -> 2:MAX(#ysize,YHI) 1:MAX(#xsize,XHI) ) 51238 :: NS:DROPXHI 51238 :: DROP#83 51260 :: NS:DROPYHI 51260 :: DROP#40 5127E :: 'ID_PPAR 51288 g' ID_PPAR 5129C :: HP:'IDFUNCTION 512B0 :: 'IDCONIC 512C4 :: HP:'IDPOLAR 512D8 :: HP:'IDPARAMETER 512EC :: 'IDTRUTH 51300 :: 'IDSCATTER 51314 :: 'IDHISTOGRAM 51328 :: 'IDBAR 5133C :: HP:PtoR 5135F :: 51373 :: 5137D # <100h> 513DC :: NS:REPLs1w1 513DC @ Replaces s1 with 1 in algebraic and makes a program of it 513DC @ (1:ALG -> 1: ALG:: | 2:ALG 1:#0 if not found) 51404 :: NS:REPLs1w-1 51404 @ Replaces s1 with -1 in algebraic and makes a program of it 51404 @ (1:ALG -> 1: ALG:: | 2:ALG 1:#0 if not found) 5142C :: FINDs1 5142C @ Finds s1 from algebraic(explodes it) and gives its location if found 5142C @ (1:ALG ->..stackform..3:#origlength of alg 2:#s1locationOnstack 1:True 5142C @ (1:ALG -> 3:ALG 2:#0 1:False) if not found 5142C @ Example: To replace s1 with 1: (stk1 is algebraic) 5142C @ :: FINDs1 ITE :: %1 SWAP UNROLL SYMBN ; 2DROP ; 51436 g' ID_s1 51482 :: 51496 :: 514AF :: HP:GETRHS 514C3 :: 514DC :: HP:1REV 514EB % NS:%2PI 51519 :: INNER#2=NcaseSIZEERR 51532 :: HP:2HXSLIST? 51564 :: 51578 :: 515A0 :: HP:TOPROW 515B4 :: HP:BOTROW 515CD P 515FA :: HP:LEFTCOL 5160E :: HP:RIGHTCOL 5162C :: HP:WINDOWTOP? 51645 :: HP:WINDOWBOT? 5165E :: HP:WINDOWLEFT? 51677 :: HP:WINDOWRIGHT? 51690 :: HP:JUMPTOP 516AE :: HP:JUMPBOT 516E5 :: HP:JUMPLEFT 51703 :: HP:JUMPRIGHT 51735 :: NS:REPEATER2 51735 @ REPEATER slows down the repeat (the internal editor was too fast :) 51735 @ REPEATER2 doesn't 5176C :: :EVAL: 5176C @ :: EVAL ; 5178A :: 8&7GETLAM 5179E :: HP:DUPGROBDIM 5179E @ push GROB dimensions (2:Rows,1:Columns) 517B2 :: 3PICKGROBDIM 517B2 @ 3 PICK and get GROB dimensions -> (2:Rows,Columns) 517C6 :: NS:OVEREQcaseDRP 517C6 @ (Ob Ob') :: OVEREQcaseDROP ; -> == () / Ob 517DA :: NS:COLADROP 517DA @ (Ob) :: COLADROP ; -> () 517F3 :: NS:EQUALcasedrop 517F3 :: HP:EQUALcasedro 517F3 @ (Ob1 Ob2 Ob3) :: EQUALcasedro ; == / Ob1 51807 :: DROPcola 51807 @ :: DROP COLA COLA ; ??? ( 28585 is DROPCOLA = :: DROP COLACOLA ; ) 5182F :: HP:ISTOP-INDEX 5182F @ Calculate ISTOP@ - INDEX@ (-> 1:#) 51843 :: HP:SWAP#1+SWAP 51843 @ (2:#n 1:Any -> 2:#n+1 1:Any) 51857 :: HP:SWAPpull 51857 :: NS:SWAP#1-SWAP 51857 @ (2:#n 1:Any -> 2:#n-1 1:Any) 5186B :: NS:DROPDoBadKey 5186B @ Internal DROP and chirp (337 Hz, 70 msec), freeze display 5187F :: HP:GBUFFGROBDIM 5187F @ Get PICT dimensions -> (2:#Rows 1:#Columns) 51893 :: HP:ORDERXY# 51893 @ (4:#x2 3:#y2 2:#x1 1:#y1 -> 4:#Min(x1,x2) 3:#Min(y) 2:#Max(x)... 518CA :: HP:ORDERXY% 518CA @ (4:%x2 3:%y2 2:%x1 1:%y1 -> 4:%Min(x1,x2) 3:%Min(y) 2:%Max(x)... 51901 :: PlotEnv?ERR 51901 @ Error (Obj in use) if in Plot environment 5190B l' LAM_'PlotEnv 5193B C%% HP:C%%1 5196A C% HP:C%-1 5198F :: NS:DROP%0 5198F @ Internal RE for reals (1:Ob -> 1:%0) 519A3 :: HP:C>Re% 519A3 @ Internal RE (1:C% -> 1:%re) 519B7 :: HP:C>Im% 519B7 @ Internal IM (1:C% -> 1:%im) 519CB :: HP:C%>%% 519CB @ Internal C->LR (1:C% -> 2:%%re 1:%%im) 519DF :: HP:C%>%%SWAP 519DF @ Internal C->LR (1:C% -> 2:%%im 1:%%re) 519F8 P HP:C%%>C% 519F8 @ Internal LC->C (1:C%% -> 1:C%) 51A07 P HP:%%>C% 51A07 @ Internal LR->C (2:%%re 1:%%im -> 1:C%) 51A37 P HP:Re>C% 51A37 @ Internal R->C (1:%re -> 1:C%) 51A4A P NS:C%*i 51A4A @ multiply by i (1:C% -> 1:C%) 51A5F P NS:C%/i 51A5F @ divide by i (1:C% -> 1:C%) 51A71 :: NS:2%>%%SQR 51A71 @ Calc stk1^2 + stk2^2 (2:% 1:% -> 1:%%) 51A94 :: NS:%%SQR 51A94 @ Calc stk1^2 + stk2^2 (2:%% 1:%% -> 1:%%) 51AB7 :: NS:%MAXIMIZE 51AB7 @ (1:% -> 1:%0, %MAXR or %MINR) (According to sign) 51ADF :: NS:metaC%%* 51ADF @ (4:%%re 3:%%im 2:%%re 1:%%im -> 2:%%re 1:%%im) 51B2A P HP:C%%0= 51B43 P HP:C%0= 51B70 P HP:C%CHS 51B91 P HP:C%%CHS 51BB2 P HP:C%CONJ 51BC1 P HP:C%%CONJ 51BD0 :: NS:C%+% 51BD0 @ Internal + (2:C% 1:% -> 1:C%) 51BE4 :: HP:%+SWAP 51BE4 @ (3:Any 2:% 1:% -> 2:% 1:Any) 51BF8 :: NS:%+C% 51BF8 @ Internal + (2:% 1:C% -> 1:C%) 51C16 :: NS:C%+ 51C16 @ Internal + (2:C% 1:C% -> 1:C%) 51C3E :: NS:C%%+ 51C3E @ Internal + (2:C%%1:C%%) 51C6B :: NS:SWAP2C%>% 51C6B @ (2:C%2 1:C%1 -> 4:%re1 3:%im1 2:%re2 1:%re1) 51C84 :: NS:SWAP2C%%>%% 51C84 @ (2:C%%2 1:C%%1 -> 4:%%re1 3:%%im1 2:%%re2 1:%%re1) 51C9D :: NS:C%%+%% 51CB1 :: NS:%%+C%% 51CD4 :: NS:%-C% 51CE8 :: NS:C%-% 51CFC :: NS:C%- 51D10 :: NS:C%%- 51D24 :: NS:%%-C%% 51D38 :: NS:C%%-%% 51D4C :: NS:C%*% 51D60 :: NS:%*C% 51D88 :: NS:C%* 51DAB :: NS:C%%*%% 51DBF :: NS:%%*C%% 51DE2 :: NS:C%%* 51DFB :: metaSWAPC%%/%% 51DFB @ (3:%%re1 2:%%re2 1:%%im2 -> 2:%%re 1:%%im) 51E19 :: NS:%/C% 51E19 @ Internal / (2:% 1:C% -> 1:C%) 51E64 :: NS:C%/% 51E64 @ Internal / (2:C% 1:% -> 1:C%) 51E9B :: %%CHS4PSH%%SQUARESROT 51E9B @ (3:Any 2:%%2 1:%%1 -> 4:%%2*%%2+%%1*%%1 3:%%2 2:-%%1 1:Any) 51EA5 :: 4PSH%%SQUARES 51EA5 @ (3:Any 2:%%2 1:%%1 -> 4:%%2*%%2+%%1*%%1 3:Any 2:%%2 1:%%1) 51EC8 :: NS:C%/ 51EC8 @ Internal / (2:C% 1:C% -> 1:C%) 51EFA :: HP:C%1/ 51EFA @ Internal INV (1:C% -> 1:C%) 51F13 :: NS:C%%/ 51F3B :: NS:%%/C%% 51F7C :: NS:C%%/%% 51F9A :: %/0 51FB3 :: C%/0 51FDB :: neg/0 51FF9 :: (0,x)/0 52017 :: FLOAT/0 5203A :: MAKEInfRes 5203A @ If infinite result allowed flag set, set indicator, else error 52062 :: HP:C%ABS 52062 @ Internal ABS (1:C% -> 1:%) 52080 :: NS:C%%ABS 52099 :: HP:C%ARG 52099 @ Internal ARG (1:C% -> 1:%) 520B2 :: NS:2DUP%%R 520B2 @ (2:%% 1:%% -> 3:%% 2:%% 1:%%SQRT(%%2*%%2+%%1*%%1) 520CB :: HP:C%SGN 520CB @ Internal SIGN (1:C% -> 1:C%) 52107 :: HP:C%SQRT 52107 @ Internal sqrt (1:C% -> 1:C%) 52193 :: HP:C%EXP 52193 @ Internal EXP (1:C% -> 1:C%) 521A7 :: metaC%%EXP>C% 521A7 @ (2:%%re 1:%%im -> 1:C%) 521E3 :: HP:C%LN 521E3 @ Internal LN (1:C% -> 1:C%) 52215 :: 5223D :: 52283 :: 522BF :: HP:C%LOG 522BF @ Internal LOG (1:C% -> 1:C%) 52305 :: HP:C%ALOG 52305 @ Internal ALOG (1:C% -> 1:C%) 5230F %% %%2.30258509299405 52342 :: HP:C%R^C 52342 @ Internal ^ (2:% 1:C% -> 1:C%) 52360 :: HP:C%C^R 52360 @ Internal ^ (2:C% 1:% -> 1:C%) 52374 :: HP:C%C^C 52374 @ Internal ^ (2:C% 1:C% -> 1:C%) 523A1 :: 523E2 :: 5242D :: 52491 :: 524AF C% HP:C%0 524DE :: 524F7 C% HP:C%1 52530 :: HP:C%SIN 52530 @ Internal SIN (1:C% -> 1:C%) 52571 :: HP:C%COS 52571 @ Internal COS (1:C% -> 1:C%) 525B7 :: HP:C%TAN 525B7 @ Internal TAN (1:C% -> 1:C%) 5262F :: HP:C%SINH 5262F @ Internal SINH (1:C% -> 1:C%) 52648 :: HP:C%COSH 52648 @ Internal COSH (1:C% -> 1:C%) 5265C :: HP:C%TANH 5265C @ Internal TANH (1:C% -> 1:C%) 52675 :: HP:C%ATAN 52675 @ Internal ATAN (1:C% -> 1:C%) 5267F C% NS:C%i 526AE C% NS:C%-i 5278C :: 527EB :: HP:C%ATANH 527EB @ Internal ATANH (1:C% -> 1:C%) 52804 :: HP:C%ASIN 52804 @ Internal ASIN (1:C% -> 1:C%) 5281D :: HP:C%ASINH 5281D @ Internal ASINH (1:C% -> 1:C%) 52836 :: HP:C%ACOSH 52836 @ Internal ACOSH (1:C% -> 1:C%) 52863 :: HP:C%ACOS 52863 @ Internal ACOS (1:C% -> 1:C%) 52881 :: 5291C :: NS:2DROP%%0 529F3 :: NS:DROP%%0< 52A07 :: NS:SWAPDROP%%0>= 52A2F %% NS:%%0.7 52A53 :: 52C36 :: 52C4A :: 4DROP%0%0 52C72 % %1e-12 52C8C CD 52D26 {} HP:4NULLLAM{} 52D49 CD 52D8A CD 52DC5 CD 52E2E CD 52F2D CD 52F7F CD 5309B CD 5320C CD 5346D CD 534F1 CD 53521 CD 53627 :: 536FB P NS:#2^ 536FB @ (1:#n -> 2:#2^n) 53725 P HP:SetUserFlag 53725 @ Set user flag (1:#) 53731 P HP:SetSysFlag 53731 @ Set system flag (1:#) 53755 P HP:ClrUserFlag 53755 @ Clear user flag (1:#) 53761 P HP:ClrSysFlag 53761 @ Clear system flag (1:#) 53778 P HP:TestUserFlag 53778 @ User flag set? (1:# -> 1:T/F) 53784 P HP:TestSysFlag 53784 @ System flag set? (1:# -> 1:T/F) 53807 @ XFER: Error Bad Arg Val 5380E P HP:COERCEFLAG 5380E @ If pop stk1 = True then push 1 else push 0 53842 :: CKLASTARGflag 53842 @ If LASTARG flag is clear ClrLastArg 53860 P NS:LASTCMD_ON? 5386E P NS:LASTCMD_ON 5387C P NS:LASTCMD_OFF 5388A :: ClrLastCmdOnClr2wordsfrom705DD 5389E P Clr2wordsfrom705DD 538C0 P NS:UNDO_ON? 538CE P NS:UNDO_ON 538DC P NS:UNDO_OFF 538EA P Set_70687:2 538F8 P Clr_70687:2 53906 P Tst_70687:2 53914 P SetStkDisp$Fmt 53922 P ClrStkDisp$Fmt 53922 @ Clears 70687:8 53930 P StkDisp$Fmt? 5393E P SetCompPrint 5393E @ Sets 70685:8 (Parsed obj is printed) 5394C P ClrCompPrint 5395A P CompPrint? 53968 P NS:AlgEntryOn? 53976 P HP:SetAlgEntry 53984 P NS:ClrAlgEntry 53992 P NS:LowCase? 539A0 P NS:TogLowCase 539AE P NS:ClrLowCase 539BC P Tst_7068D:2 539CA P Set_7068D:2 539D8 P Clr_7068D:2 539E6 mc ISysFlag? 539E6 @ If 706c1c0 and c2 -> True/False, continue RPL 539F1 mc TogISysFlag 539F1 @ 706c1c0.1 and not c2, continue RPL 539F9 mc HP:SetISysFlag 539F9 @ 706c1c0.1 or c2, continue RPL 53A12 P NS:TogINSmode 53A20 P NS:ClrINSmode 53A2E P NS:SetINSmode 53A3C P NS:INSmode? 53A4A P Editing? 53A4A @ not sure of this (HP:ImmedEntry? at 408AA) 53A58 P SetEditing 53A66 P ClrEditing 53A74 P Tst_7068D:4 53A82 P Set_7068D:4 53A90 P Clr_7068D:4 53A9E P NS:ShowClock? 53AAC P NS:SetShowClock 53ABA P NS:ClrShowClock 53AC8 P NS:IgnoreAlm? 53AD6 P NS:YesIgnoreAlm 53AE4 P HP:NoIgnoreAlm 53AF2 @ MC: if 706c1c0 and c2, then set carry 53B0A @ MC: 706c1c0.1 and not c2, A=d0... 53B31 P HP:setflag 53B36 @ MC: 706c1c0 or c2, A=d0... 53B45 @ MC: A=d0, c5=c2, D0=706c1c0, P=5 53B88 :: NS:ClrNumFlag 53B88 @ clear Numeric Results (-3) 53B9C :: NS:SetNumFlag 53B9C @ set Numeric Results (-3) 53BB0 :: NS:NotNumFlag? 53BB0 @ if not Numeric Results (-3) -> True/False 53BC9 :: NS:DEG? 53BDD :: HP:RAD? 53BDD @ if Radians (-17) -> True/False 53BF1 :: NS:AngleFlags 53BF1 @ return Angle Mode Flags -> (2:Rad 1:Degrees/Grads) 53C0A :: NS:NotConstFlag? 53C0A @ if not Symbolic Constants (-2) -> True/False 53C23 :: NS:PrSolFlag? 53C23 @ if Principal Solution (-1) -> True/False 53C37 P HP:DOHEX 53C37 @ Internal HEX 53C43 P HP:DOBIN 53C43 @ Internal BIN 53C4F P HP:DOOCT 53C4F @ Internal OCT 53C5B P HP:DODEC 53C5B @ Internal DEC 53C96 :: %STWS 53C96 @ Internal STWS (1:% ->) 53CAA P HP:dostws 53CAA P NS:STWS 53CAA @ Internal STWS (1:# ->) 53CF0 :: NS:RCWS 53CF0 @ Internal RCWS (-> 1:%) 53D04 P HP:bitAND 53D04 @ Internal AND (2:HXS 1:HXS -> 1:HXS) 53D15 P HP:bitOR 53D15 @ Internal OR (2:HXS 1:HXS -> 1:HXS) 53D26 P HP:bitXOR 53D26 @ Internal XOR (2:HXS 1:HXS -> 1:HXS) 53D4E P HP:bitNOT 53D4E @ Internal NOT (1:HXS -> 1:HXS) 53D5E P HP:bitSL 53D5E @ Internal SL (1:HXS -> 1:HXS) 53D6E P HP:bitSLB 53D6E @ Internal SLB (1:HXS -> 1:HXS) 53D81 P HP:bitSR 53D81 @ Internal SR (1:HXS -> 1:HXS) 53D91 P HP:bitSRB 53D91 @ Internal SRB (1:HXS -> 1:HXS) 53DA4 P HP:bitRR 53DA4 @ Internal RR (1:HXS -> 1:HXS) 53DE1 P HP:bitRRB 53DE1 @ Internal RRB (1:HXS -> 1:HXS) 53E0C P HP:bitRL 53E0C @ Internal RL (1:HXS -> 1:HXS) 53E3B P HP:bitRLB 53E3B @ Internal RLB (1:HXS -> 1:HXS) 53E65 P HP:bitASR 53E65 @ Internal ASR (1:HXS -> 1:HXS) 53EA0 P HP:bit+ 53EA0 @ Internal + (2:HXS 1:HXS -> 1:HXS) 53EB0 P HP:bit- 53EB0 @ Internal - (2:HXS 1:HXS -> 1:HXS) 53EC3 P bitNEG 53EC3 @ Internal NEG (1:HXS -> 1:HXS) 53ED3 P HP:bit* 53ED3 @ Internal * (2:HXS 1:HXS -> 1:HXS) 53EE4 * HP:MPY 53F05 P HP:bit/ 53F05 @ Internal / (2:HXS 1:HXS -> 1:HXS) 53F69 @ MC XFER: save regs D,B,D1,D0 (uses C) 53F70 @ MC XFER: load regs D,B,D1,D0 (uses C) 54021 @ Let A.A = (@706C6 & #3F) + 1 54039 P HP:WORDSIZE 54039 @ Internal RCWS (-> 1:#) 54050 P NS:BASEHEX 54050 @ (-> 1: Hex:#10h Dec:#10d Oct:#10o Bin:#10b) 54061 :: HP:HXS>$ 54061 @ Does hxs>$, then appends base character (1:HXS -> 1:$) 5407A :: NS:BASECHAR 5407A @ Returns b, o, d or h according to current base (-> 1:Char) 540BB P HP:hxs>$ 540BB @ Converts HXS to string without base character (1:HXS -> 1:$) 54266 mc HP:GPPushA 5429F :: HP:bit%#/ 5429F @ Internal / (2:% 1:HXS -> 1:HXS) 542BD :: HP:bit#%/ 542BD @ Internal / (2:HXS 1:% -> 1:HXS) 542D1 :: HP:bit%#* 542D1 @ Internal * (2:% 1:HXS -> 1:HXS) 542EA :: HP:bit#%* 542EA @ Internal * (2:HXS 1:% -> 1:HXS) 542FE :: HP:bit%#- 542FE @ Internal - (2:% 1:HXS -> 1:HXS) 5431C :: HP:bit#%- 5431C @ Internal - (2:HXS 1:% -> 1:HXS) 54330 :: HP:bit%#+ 54330 @ Internal + (2:% 1:HXS -> 1:HXS) 54349 :: HP:bit#%+ 54349 @ Internal + (2:HXS 1:% -> 1:HXS) 5435D P HP:#>% 5435D P HP:HXS>% 5435D @ Internal B->R (1:HXS -> 1:%) 543F9 P HP:%># 543F9 @ Internal R->B (1:% -> 1:HXS) 54419 @ MC: push A.W (%) as HXS 544D9 P NS:HXS= 544D9 @ Internal == (2:HXS 1:HXS -> 1:%) 544EC :: HP:HXS#HXS 544EC @ Internal <> (2:HXS 1:HXS -> 1:%) 54500 P HP:HXS>HXS 54500 @ Internal > (2:HXS 1:HXS -> 1:%) 5452C P HP:HXS>=HXS 5452C @ Internal >= (2:HXS 1:HXS -> 1:%) 5453F P HP:HXS<=HXS 5453F @ Internal <= (2:HXS 1:HXS -> 1:%) 54552 P HP:HXS 1:%) 54565 :: SYMIFTE 54565 @ Internal IFTE (3:sym 2:sym/%/C% 1:sym/%/C%) 5456A {} LAM{'tcls'fcls} 5456A @ Used to bind and (IFTE) 5456F l' LAM_'tcls 54580 l' LAM_'fcls 5459B :: BOUNDSYMIFTE 5459B @ Same as SYMIFTE, but stk1&2 already bound to 'tcls and 'fcls (No ABND) 545A0 :: HP:cknumdsptch1 54609 :: MakeIFTEmeta 5460E l' LAM_'tcls 54624 l' LAM_'fcls 54653 :: COLAGetTFlamsABNDxIFTE 5465D l' LAM_'tcls 5466E l' LAM_'fcls 54693 :: 546B1 :: 546C5 :: NS:EVALABND 54747 :: 547AB {} null{} 547B5 :: HP:SYMBWHERE 547B5 @ Internal | (N+2:ALG .. 3:ALG_ID 2:newID 1:#n) #n is 2*changes+1 547B5 @ Example:ALG_X+C ALG_C ID_B ALG_X ID_Y #5 -> ALG_Y+B 547E2 :: LONEWHERE 547E2 @ Used when ALG to check is #1 sized 54805 :: meta&ObSWAPDROPCKsymcomp 54805 @ (meta Ob -> Ob or ALG_Ob) (ID,LAM,%,C%,Unit not symcomp'ed) 5483C :: NS:COLAkeep1st 5483C @ Return & (Meta&Ob -> Ob) 54887 :: 548AA :: NS:revpull&psh 548AA @ (Meta&Ob1 Ob2 -> Ob1&Ob2 Meta) 548D2 :: 54922 :: 54954 :: NS:SYMDER 54954 @ Internal delta (complete derivative) (2:sym 1:sym) 54977 :: NS:stepDER 54977 @ Stepwise derivative (2:ALG_dervar 1:sym) 5499F :: NS:drop%0ABND 5499F @ (Meta -> %0) 549CC {} LAM{'dvar} 549CC @ { ''dvar' } 549DB l' NS:LAM_'dvar 549EC P NS:MNoSyms?case 549EC @ If meta has no IDs/LAMs/ALGs/romps then COLA else SKIP 54A6F :: NotAlgDER 54A9C :: NS:DROP%1ABND 54AE2 :: NS:ABNDEQUAL>% 54B05 :: 1ABNDSWAPstepDER 54B1E :: NS:DROP%0ABND 54B32 :: YDER 54B32 @ (Meta SYMB_ID ->) 54B69 :: 5ROLL5ROLL#1-5UNROLL 54BAF :: COMPEVALUntilNoDERs 54BD7 :: COMPEVALCK1NOLASTWD 54BF5 :: NS:DERsInComp? 54C2C :: 54C4F :: NS:RDROPTRUE 54C63 :: HP:nmetasyms 54C63 @ Checks meta object for syms (% C% Unit sym allowed) (...1:#n) 54CB3 :: NS:SWAPLOOPDROP 54CC7 :: SWAPDROPSETTYPEERR 54CDB :: MINR 54CDB @ Internal MINR (1.E-499) 54CEF :: NS:addt:SYMBN 54CEF @ (Meta -> ALG_Meta&Ob) (Ob next in this instr. stream) 54D12 :: MAXR 54D12 @ Internal MAXR (9.99999999999E499) 54D35 :: PI 54D35 @ Internal pi (3.14159265359) 54D58 :: i 54D58 @ Internal i (0,1) 54D7B :: e 54D7B @ Internal e (2.71828182846) 54D9E :: XEQRCLSKIPCOLA 54DBC :: SymExecOn2: 54DCB {} LAM{'xSYMfcn'xfcn} 54DD0 l' LAM_'xSYMfcn 54DE7 l' LAM_'xfcn 54E2A :: SymExecWith12LamIf=used 54E2A @ (Ob1 Ob2 .. x= #n -> ALG_2LAM(left)=2LAM(right) ) 54E5C :: PIMatchDo 54E7F P PICOL?skipcola 54E7F @ PI -> COLA, PI 2 / -> skipcola, else 3SKIP 54E7F @ Used by COLCT routines (SIN(PI/2) etc) 54EA0 :: NS:SYMRE 54EA0 @ Internal RE (1:sym -> ALG) 54EB9 :: NS:SYMIM 54EB9 @ Internal IM (1:sym -> ALG) 54ED2 :: NS:SYMNOT 54ED2 @ Internal NOT (1:sym -> ALG) 54EEB :: NS:SYMNEG 54EEB @ Internal NEG (1:sym -> 1:ALG) 54F04 :: NS:SYMABS 54F04 @ Internal ABS (1:sym -> 1:ALG) 54F1D :: NS:SYMCONJ 54F1D @ Internal CONJ (1:sym -> 1:ALG) 54F36 :: NS:SYMINV 54F36 @ Internal INV (1:sym -> 1:ALG) 54F4F :: NS:SYMARG 54F4F @ Internal ARG (1:sym -> 1:ALG) 54F68 :: NS:SYMSIGN 54F68 @ Internal SIGN (1:sym -> 1:ALG) 54F81 :: NS:SYMSQRT 54F81 @ Internal sqrt (1:sym -> 1:ALG) 54F9A :: NS:SYMSQ 54F9A @ Internal SQ (1:sym -> 1:ALG) 54FB3 :: NS:SYMSIN 54FB3 @ Internal SIN (1:sym -> 1:ALG) 54FCC :: NS:SYMCOS 54FCC @ Internal COS (1:sym -> 1:ALG) 54FE5 :: NS:SYMTAN 54FE5 @ Internal TAN (1:sym -> 1:ALG) 54FFE :: NS:SYMSINH 54FFE @ Internal SINH (1:sym -> 1:ALG) 55017 :: NS:SYMCOSH 55017 @ Internal COSH (1:sym -> 1:ALG) 55030 :: NS:SYMTANH 55030 @ Internal TANH (1:sym -> 1:ALG)) 55049 :: NS:SYMASIN 55049 @ Internal ASIN (1:sym -> 1:ALG)) 55062 :: NS:SYMACOS 55062 @ Internal ACOS (1:sym -> 1:ALG)) 5507B :: NS:SYMATAN 5507B @ Internal ATAN (1:sym -> 1:ALG)) 55094 :: NS:SYMASINH 55094 @ Internal ASINH (1:sym -> 1:ALG)) 550AD :: NS:SYMACOSH 550AD @ Internal ACOSH (1:sym -> 1:ALG)) 550C6 :: NS:SYMATANH 550C6 @ Internal ATANH (1:sym -> 1:ALG)) 550DF :: NS:SYMEXP 550DF @ Internal EXP (1:sym -> 1:ALG)) 550F8 :: NS:SYMLN 550F8 @ Internal LN (1:sym -> 1:ALG)) 55111 :: NS:SYMLOG 55111 @ Internal LOG (1:sym -> 1:ALG)) 5512A :: NS:SYMALOG 5512A @ Internal ALOG (1:sym -> 1:ALG)) 55143 :: NS:SYMLNP1 55143 @ Internal LNP1 (1:sym -> 1:ALG)) 5515C :: NS:SYMEXPM 5515C @ Internal EXPM (1:sym -> 1:ALG)) 55175 :: NS:SYMFACT 55175 @ Internal ! (1:sym -> 1:ALG)) 5518E :: NS:SYMIP 5518E @ Internal IP (1:sym -> 1:ALG)) 551A7 :: NS:SYMFP 551A7 @ Internal FP (1:sym -> 1:ALG) 551C0 :: NS:SYMFLOOR 551C0 @ Internal FLOOR (1:sym -> 1:ALG) 551D9 :: NS:SYMCEIL 551D9 @ Internal CEIL (1:sym -> 1:ALG) 551F2 :: NS:SYMEXPONENT 551F2 @ Internal XPON (1:sym -> 1:ALG) 5520B :: NS:SYMMANT 5520B @ Internal MANT (1:sym -> 1:ALG) 55224 :: NS:SYMD>R 55224 @ Internal D->R (1:sym -> 1:ALG) 5523D :: NS:SYMR>D 5523D @ Internal R->D (1:sym -> 1:ALG) 55256 :: NS:SYMUBASE 55256 @ Internal UBASE (1:sym -> 1:sym) 5526F :: NS:SYMUVAL 5526F @ Internal UVAL (1:sym -> 1:sym) 55288 :: NS:1GETLAMSWP1+ 55288 :: NS:addtw1 5529C :: NS:MSINHw1 552B0 :: NS:MCOSHw1 552C4 :: NS:MTANHw1 552D8 :: NS:MEXPw1 552EC :: NS:MALOGw1 55300 :: NS:MEXPMw1 55314 :: NS:M1stEQ:Drp/w1 55314 @ If next matches Metas 1st ob then drop it, else add 1LAM to tail 55314 @ Example: A B + INV #4 (1LAM=INV) :: M1s.... INV ; -> A B + #3 55314 @ Example: A B + #3 (1LAM=INV) :: M1s.. INV ; -> A B + INV #4 55314 @ Example: A B + #3 (1LAM=INV) :: M1s.. x+ ; -> A B #2 5533C :: NS:MSINw1 55346 :: addw1&MNEG 55378 :: NS:MCOSw1 553A5 :: NS:MTANw1 553D2 :: NS:MNEGw1 553D2 @ Negates Meta object (1LAM has xNEG) 553D2 @ All Mw1 words must have in 1LAM and ABND is NOT made 553EB :: NS:MINVw1 5540E :: NS:M1stNOTw1?add 5540E @ If Metas 1st is EQ to 1LAM then nothing, else add it to tail 5540E @ Example: (1LAM=SIGN) A B + SIGN #4 -> A B + SIGN #4 5540E @ Example: (1LAM=SIGN) A B + #3 -> A B + SIGN #4 5542C :: NS:MREw1 55477 :: NS:replw1 55495 :: NS:MIMw1 554B3 :: NS:replw%1 554EF :: XY>Y1GETLAM'xNEGROT#1+ 5551C :: NS:drop%0#1 5551C @ (Meta -> %0 #1) 55535 :: NS:drop%1#1 55535 @ (Meta -> %1 #1) 5554E :: NS:drop%-1#1 5554E @ (Meta -> %-1 #1) 55567 :: NS:MCONJw1 555B2 :: NS:MABSw1 555CB :: XY>Y1GETSWAP 555E9 :: NS:MSQw1 55607 :: NS:replw%-1 55620 :: MSQw1.1 55620 @ (Meta SQ if already ^) Example: A B + 3 ^ #5 -> A B + 3 2 * ^ #5 55657 :: NumFlag?COLACRUCNH&EVAL2ndInprev 55666 {} LAM{'oth} 5566B l' LAM_'oth 556ED :: COLAXEQRCLSWAPCOLACOLARSKIPCOLA 5570B :: SWAPXEQRCLCOLACOLARSKIPCOLA 5571F :: SWAPCOLACOLARSKIPCOLA 5573D :: COLACOLARSKIPCOLA 5573D @ :: :: :: COLARSKIPCOLACOLA ; ; ; 5573D @ :: RDROP 'R DROPCOLA COLA ; 5575B :: 5576F :: 5577E {} LAM{'scl'xSYMfcn'xfcn} 55783 l' LAM_'scl 55792 l' LAM_'xSYMfcn 557A9 l' LAM_'xfcn 557EC :: MSYM%EVAL2: 557EC @ Does operation like this :: MEQUEVAL2: COMMAND ; 557FB {} LAM{'xSYMfcn'xfcn} 55800 l' LAM_'xSYMfcn 55817 l' LAM_'xfcn 55878 :: MEQUEVALw2>SYMB 55878 @ Executes 2LAM (A meta handler) on 2 metas after splitting them (=) 55878 @ (Meta1(=Meta2) Meta3(=Meta4) -> ALG_Meta1Meta3=Meta2Meta4 ) 558BE :: NS:MEQU?Splt/Dup 558BE @ If meta is equation split it, else duplicate meta 558BE @ Example: A B + 3 = #5 -> 3 #1 A B + #3 558DC :: HP:sscknum2 558DC @ (2:sym 1:sym) Usage: :: sscknum2 Command ; 558DC @ Evaluates command according to NumFlag? 558DC @ If symbolic mode, then is evaluated on the exploded sym 558DC @ (with Command on 1LAM) after which SYMBN is done (if necessary) 558DC @ Example: :: sscknum2 top&addtailw1 xAND ; is internal SYMAND 558DC @ If NumFlag is set, stk1&2 are evaled and xAND is EVALed 558DC @ Else stk1&2 are splitted and op&addtailw1 is executed with xAND 558F5 :: HP:sncknum2 558F5 @ (2:sym 1:%) Othewise the same as sscksum2 (2 first letters!!) 5590E :: HP:nscknum2 5590E @ (2:% 1:sym) Othewise the same as sncksum2 (2 first letters!!) 55927 :: all= 55927 @ Internal = (2:%/C%/sym/Unit 1:%/C%/sym/Unit -> 1:ALG) 5592C :: 55954 :: COLACK2INNERx= 5599A :: NS:SYM%AND 5599A @ Internal AND (2:sym,1:%) 559B3 :: NS:%SYMAND 559B3 @ Internal AND (2:%,1:sym) 559CC :: NS:SYMAND 559CC @ Internal AND (2:sym,1:sym) 559E5 :: NS:SYM%OR 559E5 @ Internal OR (2:sym,1:%) 559FE :: NS:%SYMOR 559FE @ Internal OR (2:%,1:sym) 55A17 :: NS:SYMOR 55A17 @ Internal OR (2:sym,1:sym) 55A30 :: NS:SYM%XOR 55A30 @ Internal XOR (2:sym,1:%) 55A49 :: NS:%SYMXOR 55A49 @ Internal XOR (2:%,1:sym) 55A62 :: NS:SYMXOR 55A62 @ Internal XOR (2:sym,1:sym) 55A7B :: NS:SYMFLOAT== 55A7B @ Internal == (2:sym 1:%/C%/Unit) 55A94 :: NS:FLOATSYM== 55A94 @ Internal == (2:%/C%/Unit 1:sym) 55AAD :: NS:SYM== 55AAD @ Internal == (2:sym 1:sym) 55AC6 :: NS:SYMFLOAT<> 55AC6 @ Internal <> (2:sym 1:%/C%/Unit) 55ADF :: NS:FLOATSYM<> 55ADF @ Internal <> (2:%/C%/Unit 1:sym) 55AF8 :: NS:SYM<> 55AF8 @ Internal <> (2:sym 1:sym) 55B11 :: NS:SYM%< 55B11 @ Internal < (2:sym,1:%/Unit) 55B2A :: NS:%SYM< 55B2A @ Internal < (2:%/Unit,1:sym) 55B43 :: NS:SYM< 55B43 @ Internal < (2:sym,1:sym) 55B5C :: NS:SYM%> 55B5C @ Internal > (2:sym,1:%/Unit) 55B75 :: NS:%SYM> 55B75 @ Internal > (2:%/Unit,1:sym) 55B8E :: NS:SYM> 55B8E @ Internal > (2:sym,1:sym) 55BA7 :: NS:SYM%<= 55BA7 @ Internal <= (2:sym,1:%/Unit) 55BC0 :: NS:%SYM<= 55BC0 @ Internal <= (2:%/Unit,1:sym) 55BD9 :: NS:SYM<= 55BD9 @ Internal <= (2:sym,1:sym) 55BF2 :: NS:SYM%>= 55BF2 @ Internal >= (2:sym,1:%/Unit) 55C0B :: NS:%SYM>= 55C0B @ Internal >= (2:%/Unit,1:sym) 55C24 :: NS:SYM>= 55C24 @ Internal >= (2:sym,1:sym) 55C3D :: NS:SYM%OF 55C3D @ Internal % (2:sym 1:%/Unit -> 1:ALG) 55C56 :: NS:%SYMOF 55C56 @ Internal % (2:%/Unit 1:sym -> 1:ALG) 55C6F :: NS:SYMOF 55C6F @ Internal % (2:sym 1:sym -> 1:ALG) 55C88 :: NS:SYM%%CH 55C88 @ Internal %CH (2:sym 1:%/Unit -> 1:ALG) 55CA1 :: NS:%SYM%CH 55CA1 @ Internal %CH (2:%/Unit 1:sym -> 1:ALG) 55CBA :: NS:SYM%CH 55CBA @ Internal %CH (2:sym 1:sym -> 1:ALG) 55CD3 :: NS:SYM%%T 55CD3 @ Internal %T (2:sym 1:%/Unit -> 1:ALG) 55CEC :: NS:%SYM%T 55CEC @ Internal %T (2:%/Unit 1:sym -> 1:ALG) 55D05 :: NS:SYM%T 55D05 @ Internal %T (2:sym 1:sym -> 1:ALG) 55D1E :: NS:SYM%COMB 55D1E @ Internal COMB (2:sym 1:% -> 1:ALG) 55D37 :: NS:%SYMCOMB 55D37 @ Internal COMB (2:% 1:sym -> 1:ALG) 55D50 :: NS:SYMCOMB 55D50 @ Internal COMB (2:sym 1:sym -> 1:ALG) 55D69 :: NS:SYM%PERM 55D69 @ Internal PERM (2:sym 1:% -> 1:ALG) 55D82 :: NS:%SYMPERM 55D82 @ Internal PERM (2:% 1:sym -> 1:ALG) 55D9B :: NS:SYMPERM 55D9B @ Internal PERM (2:sym 1:sym -> 1:ALG) 55DB4 :: NS:SYM%RND 55DB4 @ Internal RND (2:sym 1:% -> 1:ALG) 55DCD :: NS:RNDSYM 55DCD @ Internal RND (2:%/C%/Array/Unit 1:sym -> 1:ALG) 55DE6 :: NS:SYMRND 55DE6 @ Internal RND (2:sym 1:sym ->1:ALG) 55DFF :: NS:SYM%TRNC 55DFF @ Internal TRNC (2:sym 1:% -> 1:ALG) 55E18 :: NS:TRNCSYM 55E18 @ Internal TRNC (2:%/C%/[]/Unit 1:sym -> 1:ALG) 55E31 :: NS:SYMTRNC 55E31 @ Internal TRNC (2:sym 1:sym -> 1:ALG) 55E4A :: NS:SYM%MAX 55E4A @ Internal MAX (2:sym 1:%/Unit -> 1:ALG) 55E63 :: NS:%SYMMAX 55E63 @ Internal MAX (2:%/Unit 1:sym -> 1:ALG) 55E7C :: NS:SYMMAX 55E7C @ Internal MAX (2:sym 1:sym -> 1:ALG) 55E95 :: NS:SYM%MIN 55E95 @ Internal MIN (2:sym 1:%/Unit -> 1:ALG) 55EAE :: NS:%SYMMIN 55EAE @ Internal MIN (2:%/Unit 1:sym -> 1:ALG) 55EC7 :: NS:SYMMIN 55EC7 @ Internal MIN (2:sym 1:sym -> 1:ALG) 55EE0 :: NS:SYM^O 55EE0 @ Internal ^ (2:sym 1:%/C%/Unit -> 1:ALG) 55EF9 :: NS:O^SYM 55EF9 @ Internal ^ (2:%/C%/Unit 1:sym -> 1:ALG) 55F12 :: NS:SYM^ 55F12 @ Internal ^ (2:sym 1:sym -> 1:ALG) 55F2B :: NS:SYM+O 55F2B @ Internal + (2:sym 1:%/C%/Unit) 55F44 :: NS:O+SYM 55F44 @ Internal + (2:%/C%/Unit 1:sym) 55F5D :: NS:SYM+ 55F5D @ Internal + (2:sym 1:sym -> 1:ALG) 55F76 :: NS:SYM-O 55F76 @ Internal - (2:sym 1:%/C%/Unit ->1:ALG) 55F8F :: NS:O-SYM 55F8F @ Internal - (2:%/C%/Unit 1:sym -> 1:ALG) 55FA8 :: NS:SYM- 55FA8 @ Internal - (2:sym 1:sym -> 1:ALG) 55FC1 :: NS:SYM*O 55FC1 @ Internal * (2:sym 1:%/C%/Unit -> 1:ALG) 55FDA :: NS:O*SYM 55FDA @ Internal * (2:%/C%/Unit 1:sym -> 1:ALG) 55FF3 :: NS:SYM* 55FF3 @ Internal * (2:sym 1:sym -> 1:ALG) 5600C :: NS:SYM/O 5600C @ Internal / (2:sym 1:%/C%/Unit -> 1:ALG) 56025 :: NS:O/SYM 56025 @ Internal / (2:%/C%/Unit 1:ALG) 5603E :: NS:SYM/ 5603E @ Internal / (2:sym 1:sym -> 1:ALG) 56057 :: NS:SYM%MOD 56057 @ Internal MOD (2:sym 1:% -> 1:ALG) 56070 :: NS:%SYMMOD 56070 @ Internal MOD (2:% 1:sym -> 1:ALG) 56089 :: NS:SYMMOD 56089 @ Internal MOD (2:sym 1:sym -> 1:ALG) 560A2 :: NS:SYM%XROOT 560A2 @ Internal XROOT (2:sym 1:%/Unit -> 1:ALG) 560BB :: NS:%SYMXROOT 560BB @ Internal XROOT (2:%/Unit 1:sym -> 1:ALG) 560D4 :: NS:SYMXROOT 560D4 @ Internal XROOT (2:sym 1:sym -> 1:ALG) 560ED :: NS::xssgeneral 560ED :: NS:top&w1 560ED @ Combines metas, then adds LAM1 to tail 560ED @ Example: (1LAM=+) A B + #3 C D - #3 -> A B + C D - + #7 56101 :: NS:xnsgeneral 56101 :: NS:pshtopw3&w1 56101 @ (Meta -> LAM3&Meta&LAM1) 56101 @ Example: (3LAM=0,1LAM=+) A B + #3 -> 0 A B + + #5 5611F :: NS:xsngeneral 5611F :: NS:topw3&w1 5611F @ (Meta -> Meta&LAM3&LAM1) 5611F @ Example: (3LAM=0,1LAM=+) A B + #3 -> A B + 0 + #5 5613D :: NS:MEQ?Drp/tp&w1 5613D @ (Meta Meta -> Meta) (Meta1 Meta2 -> Meta1&Meta2) ( from LAM1) 56160 :: NS:M+ 56174 :: NS:M- 56174 @ If Metas are Equal, %0 #1 56183 :: NS:2drop%0#1 56183 @ (Meta1 Meta2 -> %0 #1) 561A6 :: M-.1 561BA :: NS:M* 561D8 :: NS:2drop%-1#1 561D8 @ (Meta1 Meta2 -> %-1 #1) 561FB :: pshM*NEG 56214 :: NS:M/ 56237 :: pshM/NEG 56250 :: 5625F :: M2DROP%0#1 562A5 :: 562BE :: NS:droptop&addw1 562BE @ (Meta1 Meta2 Meta3 -> Meta1&Meta2LAM1) 562FA :: NS:w3^M 56309 :: NS:DROPdropw3#1 56309 @ (Meta Ob -> LAM3 #1) 56331 :: NS:w3+M 56331 @ Meta + (3GETLAM, if num=0 then no add, else SWAP and M+) 56359 :: NS:w3-M 56368 :: DROPMNEG 56390 :: NS:w3*M 563B3 :: DROPMNEG 563DB :: NS:w3/M 563F4 :: pshmeta1top&M1stINV?ra*/ 563F4 @ (Meta Ob -> Ob&Meta<*>, Meta Ob -> Ob&Meta 5642B :: w30>0/xnsgeneral 5643A :: NS:DROPdrop%0#1 5643A @ (Meta Ob -> %0 #1) 5645D :: NS:M^w3 5645D @ (3LAM = %) (Meta -> Meta') 5646C :: DROPM^w3num0 5646C @ (3LAM = %0 or C%0) (Meta -> %1/C%1 #1) 564B7 :: DROPMINV 564D0 :: DROPM^num2 564D0 @ (3LAM = %2 or C%2) (Meta -> Meta') 564F3 :: 56543 :: NS:M+w3 56566 :: NS:M-w3 56589 :: NS:M*w3 565AC :: DROPMNEG 565CF :: NS:M/w3 565E8 :: DROPMNEG 5660B :: 5662E :: NumALGINTEGRAL 5662E @ Numeric Integral (4:sym 3:ALG_var 2:low 1:hi) 56683 :: NumUmUmALGINTEGRAL 56683 @ Numeric Integral (4:sym 3:ALG_var 2:low_Unit 1:hi_Unit) 566A6 :: Num%%ALGINTEGRAL 566A6 @ Numeric Integral (4:sym 3:ALG_var 2:%low 1:%hi) 566BF :: 566D8 :: CARCOMPIDBIND 566D8 @ Binds CARCOMP (ID) to ID>LAM (same name) 5670A :: 5670F :: NS:MId>dvar 5670F @ Changes all IDs that match LAM_'dvar to LAM_'dvar (#0 Meta -> Meta) 5676E :: TENGETLAMPAIRDROP1&3&4 567B9 :: 56859 g' NS:ID_IERR 56872 :: 568AE :: DROPDUPSTOLAM_'nm 568D1 :: 568EA :: 56912 :: NumALGINTEGRAL 56912 @ Numeric Integral (4:sym 3:ALG_var 2:low(%,Unit,sym) 1:hi(%,Unit,sym)) 56949 :: NS:SYMSUM 56949 @ Internal Sigma (4:sym 3:sym 2:sym 1:Any) 5694E :: 56971 {} LAM{'sumexpr'sumvar} 56976 l' LAM_'sumexpr 5698D l' LAM_'sumvar 569B1 :: 569D4 :: 56A06 :: NS:SYM%SUM 56A06 @ Internal Sigma (4:sym 3:sym 2:% 1:Any) 56A10 :: 56A33 :: 56A4C :: NS:%SYMSUM 56A4C @ Internal Sigma (4:sym 3:% 2:sym 1:Any) 56A56 :: 56A79 :: 56A9C :: 56AC9 :: NS:%%SUM 56AC9 @ Internal Sigma (4:sym 3:% 2:% 1:Any) 56AFB :: NS:4DROP%0 56B87 # NS:r_DER* 56B91 # NS:r_DER+ 56B9B # NS:r_DER- 56BA5 # NS:r_DER/ 56BAF :: 56BCD {} {%2_x^_x/} 56BF5 :: 56C13 # NS:r_DER= 56C1D # NS:r_DERABS 56C27 :: NS:DRPaddt:SYMBN 56C27 @ (Meta1 Any -> ALG_Meta1&Ob) (Ob next in this instr. stream) 56C40 # NS:r_DERACOS 56C4A # NS:r_DERACOSH 56C54 # NS:r_DERALOG 56C5E # NS:r_DERARG 56C68 # NS:r_DERASIN 56C72 # NS:r_DERASINH 56C7C # NS:r_DERATAN 56C86 # NS:r_DERATANH 56C90 :: NS:DERNEG 56CAE :: NS:DERCONJ 56CCC # NS:r_DERCOS 56CD6 # NS:r_DERCOSH 56CE0 # NS:r_DEREXP 56CE0 # NS:r_DEREXPM1 56CEA # NS:r_DERINV 56CF4 # NS:r_DERLN 56CFE # NS:r_DERLNP1 56D08 # NS:r_DERLOG 56D12 :: DROP%0 56D26 # NS:r_DERIFTE 56D30 # NS:r_DERSIN 56D3A # NS:r_DERSINH 56D44 # NS:r_DERSQ 56D4E # NS:r_DERSQRT 56D58 # NS:r_DERTAN 56D62 # NS:r_DERTANH 56D6C # NS:r_DER^ 56D76 :: EVAL:7C303 56D7B # <7C303h> 56D94 :: EVAL:7C358 56D99 # <7C358h> 56DB2 :: AddPi&MakeDer 56DDA :: AddIPi&MakeDer 56E02 :: MakeMetaDERABND 56E16 :: NS:ABNDSYMBN 56E2A :: &AngPIFac 56E43 {} {xPI_%180_x/_x*} 56E61 {} {xPI_%200_x/_x*} 56E89 :: &AngInvPIFac 56EA2 {} {%180_xPI_x/_x*} 56EC0 {} {%200_xPI_x/_x*} 56EE8 :: LAM_'dvBIND 56EFC {} LAM_{'dv} 56F0B l' LAM_'dv 56F18 :: MakeMetaDer 56F36 # NS:r_DERDER 56F40 :: DERFCNAPPLY 56F8B :: XYZW>YZ+#1WX 56FB8 :: 56FCC :: 57026 :: 570B7 :: 570FD :: 571B1 :: 571C5 :: 571CF :: tokESCSWAP&$ 571F2 {} LAM{'dv'op'nm} 5720B l' LAM_'nm 57218 l' LAM_'op 57225 :: NAME>$ 57243 :: dvBINDSplitMNoSyms?case 57266 :: dvBINDMDUP 5727A # NS:r_DERWHERE 57284 # NS:r_DERINTG 5728E # NS:r_DERSUM 57298 # NS:r_DERAPPLY 572A2 :: NS:SYMISOL 572A2 @ Internal ISOL (2:sym 1:ID) 572A7 :: NS:ISOL.1 572A7 @ (sym ID -> sym ID Meta T/F) (Rstack is popped if RINVers got it) 57333 :: NS:StartISOL 57351 :: 3DROPTRUE 573AB :: IsolApplyChk 573EC :: 4ROLLDROPROT#1-UNROT 57414 :: NS:2Drp2dropFls 57414 @ (Meta1 Meta2 Ob1 Ob2 -> FALSE) 57428 :: NS:Drp2dropFls 57428 @ (Meta1 Meta2 Ob -> FALSE) 57441 :: NS:addtpsh 57441 @ (Meta1 Meta2 Ob -> Meta2&Ob Meta1) 57455 # NS:r_RINV+ 5745F # NS:r_RINV= 5745F # NS:r_RINV- 57469 # NS:r_RINV* 57473 # NS:r_RINV/ 5747D # NS:r_RINV^ 57487 :: RclData7B7EB&EVAL 5748C # <7B7EBh> 574A5 :: NS:RINVNEG 574B9 :: NS:RINVINV 574CD # NS:r_RINVEXP 574D7 :: NS:RINVLN 574EB # NS:r_RINVSIN 574F5 # NS:r_RINVCOS 574FF # NS:r_RINVTAN 57509 # NS:r_RINVSINH 57513 # NS:r_RINVCOSH 5751D # NS:r_RINVTANH 57527 :: NS:RINVASIN 5753B :: NS:RINVACOS 5754F :: NS:RINVATAN 57563 :: NS:RINVASINH 57577 :: NS:RINVACOSH 5758B :: NS:RINVATANH 5759F :: NS:RINVSQ 575BD :: NS:RINVSQRT 575D1 :: NS:RINVLOG 575E5 :: NS:RINVLNP1 575F9 # r_RINVALOG 57603 :: NS:RINVCONJ 57617 # <7BA16h> 57621 :: NS:ContISOL 57644 :: addtpshaddt:PrSolFlag?ITContIsol 5766C :: addtpshCOLAaddt:ContIsol 5768A :: NS:ObInMeta? 5768A @ (Meta Ob -> Meta Ob True/False) True if Ob is EQUAL to some ob in Meta 576CB :: NS:DROPCOLATRUE 576DF :: NS:DROPCOLAFALSE 576F3 :: PIiNiLamAdd 576F8 {} {xPI_xi_x*} 5772A :: 2PIiNiLamAdd 5772F {} {%2_xPI_x*_xi_x*} 5776B :: GetAngle2PIFacNiLam 5777A :: GetRad2PIFacNiLam 577D4 :: GetAnglePIFacNiLam 577E3 :: GetRadPIFacNiLam 5782E :: 5786A :: NsLam*M 57888 :: NS:top&NEG?-+ 57888 @ (Meta1 Meta2&NEG -> Meta1&Meta2&-, Meta1 Meta2 -> Meta1&Meta2&+) 5789C :: TRUELAM_'niEVAL 578B5 :: TRUELAM_'nsEVAL 578CE {} LAM{'ni'ns} 578E2 l' LAM_'ni 578EF l' LAM_'ns 578FC :: BINDISOLCodes 5792E CD IsolCodn0 5793F g' ID_n0 5794C CD IsolCods0 5795D g' ID_s0 5796A mc IsolCod 57A0C :: NS:SYMEXPAN 57A0C @ Internal EXPAN (1:%/C%/sym) 57A48 :: NS:MEXPAN 57A48 @ Do 2 pshzer commands first (#0 #0 Meta -> Meta) 57A61 :: COLAtop&pshtop& 57A61 @ (Meta1 Meta2 Meta3 Meta2&Meta3&Meta1) 57AA2 :: MEXPAN.1 57AA2 @ (Meta -> Meta) 57AB6 :: MSQexpan 57B01 :: M1stAPPLY?expan 57B15 :: MAPPLYexpan 57B33 :: NS:top&pullONE 57B33 @ (Meta1 Meta2&Ob -> Meta1&Meta2 Ob #1) 57B4C P M1stINV/NEG?COLAtop&pullONE 57B63 :: M1st^?expan 57B63 @ (Meta<%><^> -> Meta&Meta<%-1><^><*> (or other way for negative %) ) 57B77 :: ^expan 57B9F :: DROPCOLAmdrop%1ONE 57B9F @ (Meta Ob -> %1 #1) 57BC2 :: DROPCOLAM1st2ndDROP 57BC2 @ (Meta&Ob1&Ob2 Ob3 -> Meta) 57BDB :: m2^?COLA^expan 57C3A :: m2^expan 57C71 :: sum^2expan 57C71 @ (Meta1&Meta2&<+/-> -> expanded Meta) 57CDF :: M^2 57CDF @ (Meta -> Meta<%2><^>) 57CF8 P POS?ABS1-INT? 57CF8 @ If % is integer, -> %>0? SGN(%)*(ABS(%)-1) TRUE, else FALSE 57D90 :: HP:SYMCOLCT 57D90 @ Internal COLCT (1:%/C%/sym) 57DA4 :: SYMCOLCT.1 57DD1 :: 57E08 :: rev+*colct 57E08 @ Meta is reversed & + and * are changed back to /,NEG etc 57E2B :: 57E71 :: rev*colct 57EA3 {} LAM{'*s} 57EF3 l' LAM_'*s 57F00 :: 57F1E :: 57F4B :: 57F64 :: pshpshzerpshargmetaUNROT 57F6E :: 57F96 :: 57FC3 :: 57FFA :: 58045 :: 58081 :: DECRLAM_'*s 580A4 :: DECRLAM_'+s 580C7 :: rev+colct 580F9 {} LAM{'+s} 58149 l' LAM_'+s 58156 :: 58174 :: 5819C :: 581A6 :: 581CE :: 581FB :: 58232 :: 5827D :: 582BE :: 582E6 :: MDROPREV3+^ 582E6 @ (Meta4 Meta3 Meta2 Meta1 -> Meta2&Meta3&Meta4<+><^>) 58313 :: 58322 :: 5833B :: 58359 :: 5837C :: NS:top&addt^ 5837C @ (Meta2 Meta1 -> Meta2&Meta1<^>) 583C7 :: 583EF :: 583FE :: 58421 :: 5843F :: NS:2DROPpullDROP 5846C :: 2DROPpullDROP 5848A :: MDROPUNROT&+SWAP& 5848A @ (Meta4 Meta3 Meta2 Meta1 -> Meta3&Meta4<+>&Meta2) 584B2 :: NS:MEQU? 584B2 @ (Meta1 Meta2 -> Meta1 Meta2 T/F) 58511 :: 58525 :: 5853E :: OVER#< 5857A :: 585A7 P 58620 :: MSplit^ 58620 @ (Meta1&Meta2<^> -> Meta2 Meta1) (Meta1&Meta2 -> 1 #1 Meta1&Meta2) 5863E :: 58661 :: 5868E :: 586D9 :: 58715 P NS:NoIdsInMeta? 58715 @ (Meta -> Meta T/F) True,if M has no IDs/LAMs nor ::s starting with CK0 587AA :: replw*+^rev 587AA @ All 'lone' terms get a factor and all -,/,SQ etc cmds are replaced 587AA @ with +,* and ^ (#0 Meta -> Reversed Meta) 587FF :: factor-AGAIN 58827 :: factor/AGAIN 58854 :: factorNEGAGAIN 588A4 :: M1stDROPAGAIN 588B8 :: factorNEG+AGAIN 588E5 :: factorNEG-AGAIN 58912 :: factorINVAGAIN 58962 :: 58999 :: 589CB :: 589E9 :: factorSQAGAIN 58A0C :: colaDROP 58A20 :: NS:SMCOLCT 58A61 :: 58A93 :: 58AAC :: 58ADE P M-1^*?case 58ADE @ (Meta<%-1><^><*> ? -> case 58B26 :: 58B58 :: 58B76 :: 58B9E :: 58BA3 :: 58BDA :: 58C02 P NS:count+ 58C02 @ Example: Meta<+><+><+> -> Meta #3) 58C0E P NS:count* 58C8F :: 58CB7 :: 58CDA :: NS:False1LAMRsDO 58CE4 :: NS:1LAMRsDO 58CEE :: NS:RsDO 58D25 :: NS:RsDoArg 58D75 :: HP:SYMSHOW 58D75 @ Internal SHOW (2:sym 1:ID/LAM) 58DA7 :: NS:MSHOW 58DB1 {} LAM{'fl} 58DB6 l' LAM_'fl 58DEB :: ObFormDataGet 58DEB @ If not seco, FALSE, else FormDataGet 58E2C :: #0=UNTIL_DROP1GETABND 58E45 :: MAPPLYSHOW 58E95 :: 58EEF :: 58F12 :: MIDSHOW 58F35 :: 58F71 :: 58FA8 :: 58FC6 :: 58FD5 :: 59020 :: MReplSHOW 5903E :: 590D4 :: 5910B :: SHOWLS 5910B @ Internal SHOW (2:sym 1:{}) (Doesn't check {} for being IDs only) 59110 {} LAM{'nmls} 59115 l' LAM_'nmls 59149 :: 5918A :: 591AD :: NS:SYMQUAD 591AD @ Internal QUAD (2:sym 1:ID) 591C1 :: 591E9 :: 59220 :: 5922F :: 59261 :: 592B6 :: 592BB {} LAM{'c'b'a} 592C0 l' LAM_'c 592CB l' LAM_'b 592D6 l' LAM_'a 592FF '' ALG_s1 59304 g' ID_s1 59373 :: 59387 :: 5939B :: 593AF :: 593FF :: 594AE :: 59503 :: 59512 {} LAM{'n'prog} 59517 l' LAM_'n 59522 l' LAM_'prog 5956F :: 595B0 :: 595BA :: 595DD :: NS:SYMTAYLR 595DD @ Internal TAYLR (3:sym 2:ID 1:%) 595F1 :: 59628 :: DROPABND 59641 {} LAM{'n} 59646 l' LAM_'n 596B0 {} RCOLCTkey 596B5 $ "COLCT" 596C9 :: DoRCOLCTkey 596D3 :: MRCOLCT 596DD xl XLIB_240_92 596FC {} DNEGkey 59701 $ "DNEG" 59713 :: DoDNEGkey 5971D :: 5974A {} DINVkey 5974F $ "DINV" 59761 :: DoDINVkey 5976B :: 59798 {} *1key 5979D $ "*1" 597AB :: Do*1key 597B5 :: 5981E {} ^1key 59823 $ "^1" 59831 :: Do^1key 5983B :: 59868 {} /1key 5986D $ "/1" 5987B :: Do/1key 59885 :: 598EE {} +1-1key 598F3 $ "+1-1" 59905 :: Do+1-1key 5990F :: 59919 {} {%1_x+_%1_x-} 59950 {} <-->key 59955 $ "<-->" 59963 :: Do<-->key 5997C {} <-Akey 59981 $ "<-A" 5998F {} <-Akeyops 59994 :: Do<-Akey 599AD :: Do<-AkeyRS 599CB {} A->key 599D0 $ "A->" 599DE {} A->keyops 599E3 :: DoA->key 599FC :: DoA->keyRS 59A1A {} <-Tkey 59A1F $ "<-T" 59A2D {} <-Tkeyops 59A32 :: Do<-Tkey 59A4B :: Do<-TkeyRS 59A69 {} T->key 59A6E $ "T->" 59A7C {} T->keyops 59A81 :: DoT->key 59A9A :: DoT->keyRS 59AB8 {} (<-key 59ABD $ "(<-" 59ACB {} (<-keyops 59AD0 :: Do(<-key 59AE9 :: Do(<-keyRS 59B07 {} ->)key 59B0C $ "->)" 59B1A {} ->)keyops 59B1F :: Do->)key 59B38 :: Do->)keyRS 59B56 {} (())key 59B5B $ "(())" 59B6D :: Do(())key 59B86 {} AFkey 59B8B $ "AF" 59B99 :: DoAFkey 59BB2 {} <-Mkey 59BB7 $ "<-M" 59BC5 {} <-Mkeyops 59BCA :: Do<-Mkey 59BE3 :: Do<-MkeyRS 59C01 {} M->key 59C06 $ "M->" 59C14 {} M->keyops 59C19 :: DoM->key 59C32 :: DoM->keyRS 59C50 {} -()key 59C55 $ "-()" 59C65 :: Do-()key 59C7E {} 1/()key 59C83 $ "1/()" 59C95 :: Do1/()key 59CAE {} E()key 59CB3 $ "E()" 59CC3 :: DoE()key 59CDC {} L()key 59CE1 $ "L()" 59CF1 :: DoL()key 59D0A {} L*key 59D0F $ "L*" 59D1D :: DoL*key 59D36 {} E^key 59D3B $ "E^" 59D49 :: DoE^key 59D62 {} ->()key 59D67 $ "->()" 59D77 {} ->()keyops 59D7C :: Do->()key 59D95 :: Do->()keyRS 59DB3 {} <-Dkey 59DB8 $ "<-D" 59DC6 {} <-Dkeyops 59DCB :: Do<-Dkey 59DE4 :: Do<-DkeyRS 59E02 {} D->key 59E07 $ "D->" 59E15 {} D->keyops 59E1A :: DoD->key 59E33 :: DoD->keyRS 59E51 {} ->TRGkey 59E56 $ "->TRG" 59E68 :: Do->TRGkey 59E81 {} ->()keyf 59E81 @ ->() for CONJ,RE,IM 59E86 $ "->()" 59E96 {} ->()keyopsf 59E9B :: Do->()keyf 59EB4 :: Do->()keyfRS 59ED2 {} ->DEFkey 59ED7 $ "->DEF" 59EE9 :: Do->DEFkey 59F02 {} TRG*key 59F07 $ "TRG*" 59F19 :: DoTRG*key 59F32 :: 59F41 :: SEMI:: 59F41 @ :: RDROP ; 59F91 :: LENSYM 59F91 @ Internal SIZE (1:sym -> 1:%) 59FAF :: 59FB9 :: NS:3pulldrop 59FB9 @ (Meta&Ob1&Ob2&Ob3 -> Meta) 5A01D :: HP:SWAPcompSWAP 5A01D @ Makes Algebraic of stk2 5A036 :: HP:uncrunch 5A036 @ Evals next with NumFlag cleared (Resumed afterwards) 5A054 :: uncrunchClr 5A072 :: uncrunchSet 5A095 :: 5A0C2 :: 5A0FE :: 5A130 :: 5A14E :: 5A176 :: SaddtWHERE 5A176 @ Adds WHERE to the tail of a symbolic 5A1A3 :: 5A1A8 # <7DEE4h> 5A1BC :: 5A211 {} NS:FORMDER 5A22A {} NS:FORMINTG 5A243 {} NS:FORMSUM 5A257 {} NS:FORMWHERE 5A270 {} NS:FORMIFTE 5A284 {} NS:FORMQUOTE 5A298 {} NS:FORMAPPLY 5A2B1 {} NS:FORMUNIT 5A2C5 {} NS:FORMXROOT 5A2D4 :: rcallxroot 5A2F7 :: rcallder 5A2F7 @ (Id&Meta -> Alg_Id Alg) 5A30B :: symbnSWP1+ 5A310 :: HP:symbn 5A333 :: rcallintg 5A333 @ (Lowob&Hiob&Meta&Id -> Lowob Hiob Alg Alg_Id) 5A365 :: rcallsum 5A397 :: rcallwhere 5A3EC :: rcallifte 5A419 :: rcallquote 5A432 :: rcallapply 5A45A :: rcallunit 5A473 :: NS:#4= 5A487 :: ::#1=; 5A496 :: ::DROPFALSE; 5A4A5 :: NS:DROP#1= 5A4B9 :: NS:DROPeven#? 5A4B9 @ (2:#n 1:Any -> 1:T/F) True if #n = #0/#2/#4/#6.... 5A4E6 :: DROPROTSWAP'rpnDER 5A504 :: DROP'rpnINTEGRAL 5A518 :: DROP#1-{}NTWO'rpnWHERE 5A53B :: DROP#1-{}NTWO'xAPPLY 5A55E P NS:DUPFPLEN 5A55E @ Length of the fractional part (% -> #n) 5A5C9 :: 5A60F {} LAM{'piflag} 5A60F @ { LAM_'piflag } 5A614 l' LAM_'piflag 5A62E :: >Qmeta 5A62E @ Internal ->Q (2:#digits 1:% -> meta) 5A63D :: 5A651 :: 5A660 {} LAM{'d'r} 5A665 l' LAM_'d 5A670 l' LAM_'r 5A70C :: 5A72A :: 5A734 :: NS:SWAPDROPONE 5A75C {} LAM{'d'R'est'X'T} 5A761 l' LAM_'d 5A76C l' LAM_'R 5A777 l' LAM_'est 5A786 l' LAM_'X 5A791 l' LAM_'T 5A7E2 :: 5A84B :: 2DROP1GETLAM%INV 5A8A5 P XPON#<=case 5A8A5 @ (% #dd -> %) 5A8E8 P %<=#B? 5A8E8 @ (% #dd -> T/F) 5A952 P NS:RCLFIXACC 5A952 @ Rcl current accuracy ( -> %0.0...1 ) 5A983 P NS:RCLFIX 5A983 @ Recall current display accuracy (-> 1:#digits) 5A999 mc RCLFIXtoA.A 5A9F5 :: %>Q? 5A9F5 @ Internal ->Q (1:% & 'piflag bound (1LAM) to mode (True = ->QPI)) 5AA13 :: C%>Q? 5AA5E :: ALG>Q? 5AA77 :: num>Q? 5AA77 @ ->Q (1:C% or % -> 1:C% % or ALG) 5AAC7 :: NS:SYMINTEG 5AAC7 @ Symbolic INTEGRAL (4:low 3:hi 2:sym 1:ALG_var) 5AAE0 {} LAM{'bnds'dvar} 5AAE5 l' LAM_'bnds 5AAE5 @ (Integration bounds list storage) 5AB32 :: 5AB73 {} {#3_xWHERE} 5AB91 {} {#3_xWHERE} 5ABC8 :: 5ABD7 :: 5AC86 :: NS:Mdvar>1LAM 5AC9A :: dvarEQ?Drp1GETLAM 5ACC7 :: FORCE+* 5ACD6 :: NS:M1st+?Drp 5ACD6 @ (Meta&+ -> Meta, Meta -> Meta) 5AD08 :: NS:dvarsInMeta? 5AD4E :: dvarEQ?SKIP 5AD6C :: 5AD80 :: 5AD9E :: 5ADD0 :: 5ADEE :: 5AE7F :: #4<>?ITFalse1PUTLAM 5AEA2 :: 5AEB1 :: 5AF01 :: 5AF42 :: 5AF51 :: FALSE1PUTLAM 5AF6F :: 5AFAB :: ForcedINTG?????????? 5AFF1 :: NS:DUP1PUTLAM 5B050 :: 5B064 :: 5B09B :: 5B0CD :: 5B0D2 :: 5B0FA :: 5B131 :: 5B140 :: 5B154 {} {%2_x^_%2_x^} 5B195 :: 5B19F :: 5B1AE :: 5B1F4 :: 5B208 :: 5B28A :: 5B2D0 :: 5B311 :: 5B32F :: #2=?SEMIFALSERDROP 5B34D :: 5B352 :: 5B375 :: RADinte&do 5B389 :: 5B3D9 :: ANGinte&do 5B433 :: ANGinte&do2 5B483 :: NRADinte&6ROLLSWAP 5B4A6 :: NRADinte& 5B4A6 @ Adds *180/PI or *200/PI to Meta according to DEG? (Meta -> Meta') 5B4B5 {} {%180_xPI_x/_x*} 5B4D3 {} {%200_xPI_x/_x*} 5B4FB :: 5B500 {} {LAM_'dvar_LAM_&1 xDER x/} 5B546 :: 5B596 :: 5B5F0 :: 5B613 :: NDROP2SKIPFALSE 5B659 :: FORCE* 5B65E :: 5B668 :: M1st*?MD-> 5B69F :: 5B6A4 :: 5B6F4 :: 5B717 :: 5B726 :: FORCE/INV>* 5B758 :: FORCE/>* 5B771 :: FORCEINV>* 5B794 :: FORCE/INV>* 5B839 :: MINVaddt*over&MUNROTover&MINV 5B861 :: NS:top&pshtop& 5B861 @ (Meta3 Meta2 Meta1 -> Meta2&Meta1&Meta3) 5B875 :: INTGINTG 5B906 :: INTG^ 5B93D {} 5B947 {} 5B94C '' ALG_&1^-1 5B96F {} 5B974 '' ALG_&1^(-1,0) 5B997 {} 5B99C '' ALG_&1^&2 5B9CE '' ALG_LN(&1)/der'dvar(&1) 5B9F6 '' ALG_&1^(&2+1)/((&2+1)*der'dvar(&1)) 5BA41 :: 5BA46 {} 5BA50 {} 5BA55 '' ALG_&1^&2 5BA91 :: 5BAB4 '' ALG_IFTE(&2==-1,LN(&1)/der'dvar(&1),&1^(&2+1)/((&2+1)*der'dvar(&1))) 5BB31 '' ALG_1^&2/(LN(&1)*der'dvar(&2)) 5BB6D :: INTGEXP 5BB77 {} 5BB81 {} 5BB86 '' ALG_EXP(&1) 5BB9F :: 5BBAE '' ALG_EXP(&1) 5BBE5 :: MNEG 5BBE5 @ Negates Meta object 5BC03 :: MNEG1stArg 5BC03 @ (Meta1&Meta2 -> Meta'&Meta2) Where Meta'=metaNEG(Meta1) 5BC21 :: MINV1stArg 5BC3F :: MINV 5BC5D :: NS:NEG?-+ 5BC5D @ (Meta&NEG -> Meta&-, Meta -> Meta&+) 5BC67 :: NS:addt- 5BC8A :: NS:NEG?+- 5BC8A @ (Meta&NEG -> Meta&+, Meta -> Meta&-) 5BC94 :: NS:addt+ 5BCB7 :: NS:INV?/* 5BCB7 @ (Meta&INV -> Meta&/, Meta -> Meta&*) 5BCC1 :: NS:repl/ 5BCE4 :: NS:INV?*/ 5BCE4 @ (Meta&INV -> Meta&*, Meta -> Meta&/) 5BCEE :: NS:repl* 5BD11 :: addtailNEG 5BD25 :: addtailINV 5BD3E :: NS:drp1NEG?-+ 5BD3E @ (Meta&NEG&Ob -> Meta&-, Meta&Ob -> Meta&+) 5BD57 :: NS:drp1NEG?+- 5BD70 :: NS:drp1INV?/* 5BD89 :: NS:drp1INV?*/ 5BDA2 rf r_x+ 5BDA7 rf r_x- 5BDAC rf r_x* 5BDB1 rf r_x/ 5BDB6 rf r_x= 5BDBB rf r_xSIN 5BDC0 rf r_xCOS 5BDC5 rf r_xTAN 5BDCA rf r_xSINH 5BDCF rf r_xCOSH 5BDD4 rf r_xTANH 5BDD9 rf r_xASIN 5BDDE rf r_xACOS 5BDE3 rf r_xATAN 5BDE8 rf r_xASINH 5BDED rf r_xACOSH 5BDF2 rf r_xATANH 5BDF7 rf r_xCONJ 5BDFC rf r_xRE 5BE01 rf r_xIM 5BE06 rf r_x+ 5BE0B rf r_x- 5BE10 rf r_x* 5BE15 rf r_x/ 5BE1A rf r_xNEG 5BE1F rf r_xINV 5BE24 rf r_xEXP 5BE29 rf r_xSQ 5BE2E rf r_x+ 5BE33 rf r_x- 5BE38 rf r_xSIN 5BE3D rf r_xCOS 5BE42 rf r_xTAN 5BE47 rf r_xSINH 5BE4C rf r_xCOSH 5BE51 rf r_xTANH 5BE56 P INV*COLCT?SEMI 5BE56 @ (A INV B INV * -> A B * INV, A B INV * -> A B /, A INV B * -> B A /) 5BE81 P M<--> 5BE81 @ All these routines use the dispatching routine at 5F6F9 5BE81 @ <--> command in RULES menu (Meta -> Meta') 5BECE P M<-A 5BF53 P MA-> 5BFD8 P MD-> 5C0B9 P M<-D 5C102 P M<-Dnot^ 5C137 P M->() 5C204 P M1/() 5C261 P M-() 5C2CE P ME^ 5C31B P ME() 5C348 P ML* 5C375 P ML() 5C3C2 P M<-M 5C4CF P MM-> 5C53C P MAF 5C589 P M(<- 5C5D6 P M->) 5C623 P M(()) 5C670 P M->TRG 5C68D P MT-> 5C6D9 P M<-T 5C73D P M->()f 5C73D @ ->() for CONJ,RE,IM 5C845 P M->DEF 5C91D P MTRG* 5C9F1 :: null:: 5C9FB :: o<-A 5C9FB @ <-A with M++, M-+, M**, M/* 5CA0F :: 5CA32 :: oA-> 5CA32 @ A-> with M+o+, M-o+, M*o*, M/o* 5CA50 :: oD-> 5CA50 @ D-> with M+*, M-* 5CAA5 :: o<-D 5CAA5 @ <-D with M+o*, M-o*, M+o/, M-o/, M*o/, M*o^, M/o^ 5CAE1 :: Mp(MpM)>(MpM)pM 5CAFF :: 5CB4F :: 5CB7C :: 5CBD6 :: 5CBF9 :: NS:opzerpsharg& 5CBF9 @ (Meta1&Meta2&op -> Meta2&Meta1) 5CC12 :: NS:2pulldrop 5CC12 @ (Meta&Ob1&Ob2 -> Meta) 5CC26 :: 5CC3F :: 5CC58 :: M+NEG->() 5CC71 :: M-NEG->() 5CC8A :: 5CCA3 :: 5CCBC :: M*INV->() 5CCD5 :: M/INV->() 5CCEE :: NS:pshzerarg2ov& 5CCEE @ (Meta1 Meta2&Meta3 -> Meta1&Meta2 Meta3) 5CD02 :: addtail+ 5CD02 @ (Meta -> Meta&+) example: A B + #3 -> A B + + #4 5CD16 :: NS:addt* 5CD2A :: NS:addtNEG 5CD3E :: NS:addtINV 5CD52 :: NS:EVALCOLASKP: 5CD5C :: NS:EVALCOLASKP 5CD7A :: 5CD89 :: 5CDA7 :: 1GETLAMCOLA_EVAL 5CDE3 :: M<-Dm 5CDE3 @ <-D with right shift = until no changes happen 5CDF2 :: 5CE15 :: M<-Am 5CE24 :: 5CE4C :: MA->m 5CE5B :: 5CE83 :: M->)m 5CE92 :: 5CEBA :: M(<-m 5CEC9 :: 5CEF1 :: MD->m 5CF00 :: 5CF23 :: MT->m 5CF32 :: 5CF5A :: M<-Tm 5CF69 :: 5CF91 :: M->()m 5CFA0 :: 5CFC3 :: M->()fm 5CFC3 @ ->()m for CONJ,RE,IM 5CFD2 :: 5CFF5 :: M<-Mm 5D009 :: MM->m 5D01D :: 5D036 :: 1GETLAMEVAL 5D068 :: 5D0C2 :: FORCE+ 5D0EA :: FORCE->+ 5D10D :: FORCENEG>+ 5D121 :: FORCE+NEG>+ 5D144 :: FORCE-NEG>+ 5D167 :: FORCE+>+ 5D18A :: MNEG+M?>M-M 5D1B2 :: 5D1DA :: 5D1EE :: 5D211 :: 5D234 :: 5D257 :: 5D275 :: 5D2A2 :: 5D2BB xl 5D2CB :: 5D2D5 :: 5D302 :: 5D30C :: 5D339 :: 5D361 :: 5D384 :: 5D398 :: 5D3BB :: 5D3DE :: 5D401 :: 5D429 :: 5D451 :: 5D465 :: 5D488 :: 5D4AB :: 5D4CE :: 5D4EC :: 5D519 :: 5D532 xl 5D542 :: 5D54C :: 5D579 :: 5D583 :: 5D5B0 :: 5D62D :: 5D664 :: 5D673 :: 5D678 {} LAM{'which'op1'op2} 5D67D l' LAM_'which 5D690 l' LAM_'op1 5D69F l' LAM_'op2 5D6F4 :: NS:pshpullpsh1& 5D6F4 @ (Meta1&Ob Meta2 -> Ob&Meta2 Meta1) 5D721 :: 5D794 :: sT-> 5D794 @ T-> with M+, M- 5D799 :: 5D7A3 xl 5D7CC :: 5D7EF :: mT-> 5D7EF @ T-> with M*, M/ 5D7F4 :: 5D7FE xl 5D831 :: 5D84A :: 5D863 :: 5D886 :: 5D8C7 :: 5D926 :: 5D971 :: 5D999 :: 5D9FD :: 5DA48 :: 5DA75 :: 5DAD4 :: 5DB33 :: 5DB56 :: 5DB92 :: 5DBB0 :: 5DC0A :: 5DC46 :: 5DC64 :: 5DCBE :: 5DCEB :: r->() 5DCEB @ ->() with M*RE 5DCF0 xl 5DD19 :: i->() 5DD19 @ ->() with M*IM 5DD1E xl 5DD42 {} {%2_x^_x-_xSQRT_xi} 5DD65 :: NS:2psh1&rev: 5DD65 @ (Meta1 Meta2 -> Meta1&Ob Meta2&Ob) (Ob is next in this instr. stream) 5DD83 :: add2tail:xi&x* 5DD9C :: 5DDB0 :: 5DDF6 :: 5DE1E {} {xPI_x/_x*} 5DE41 :: NS:COLATRUE 5DE55 :: NS:COLAFALSE 5DE69 :: 5DE7D :: HP:reversym 5DEAA :: DUPTYPESYMB?:: 5DEB9 :: 5DED2 :: 5DEEB P something about << -> a b << prg >> >> lams 5DEF7 P something about << -> a b << prg >> >> lams 5E067 :: NS:SYMB?INNER 5E067 @ If symbolic, INNERCOMP, else <1h> 5E085 :: NS:CKSYMBN 5E085 @ Meta to symbolic (Doesn't make an ALG of 2:Ob 1:#1) 5E0A3 :: NS:XEQSYMBN 5E0A3 @ Tries SYMBN, if error then NULLSYMB 5E0C1 :: XEQSYMBNtrap 5E0DA :: NS:XEQ{}N 5E0DA @ Tries {}N, if error then NULL{} 5E0F8 :: XEQ{}Ntrap 5E111 :: NS:XEQ::N 5E111 @ Tries ::N, if error then NULL:: 5E12F :: XEQ::Ntrap 5E148 :: >COMPtrap 5E17F :: 5E1B1 :: 5E1E3 P RoomReserving,Embedded? something bout that for composites 5E29C P RoomReserving,Embedded? something bout that for composites 5E2F8 :: NS:2INNERtop& 5E2F8 @ (2:comp2 1:comp1 -> Meta2&Meta1) 5E30C :: NS:2INNER 5E30C @ (2:comp2 1:comp1 -> Meta2 Meta1) 5E32A :: EXPLODEMSYMB 5E32A @ (Obn .. Ob1 #n -> Meta) where Obs are exploded if they are ALGs 5E32A @ Example: ALG_A+B 1 ALG_E*F #3 -> A B + 1 E F * #7 5E35C :: NS:dup 5E35C @ (Meta -> Meta Meta) 5E370 :: HP:NDUPN 5E3AC :: HP:psh& 5E3AC @ (Meta1 Meta2 Meta3 -> Meta1&Meta3 Meta2) 5E3C0 :: NS:over& 5E3C0 @ (Meta1 Meta2 Meta3 -> Meta1&Meta2 Meta3) 5E3E8 :: NS:pshm1 5E3E8 @ (Meta2 Ob -> Ob #1 Meta2) 5E401 :: NS:psh1top& 5E401 @ (Meta Ob -> Ob&Meta) 5E415 P HP:top& 5E415 @ (Meta1 Meta2 -> Meta1&Meta2) 5E490 :: NS:2top& 5E490 @ (Meta1 Meta2 Meta3 -> Meta1&Meta2&Meta3) 5E4A9 :: HP:pull 5E4A9 :: NS:#1-SWAP 5E4A9 @ (Meta&Ob -> Meta Ob) 5E4BD :: HP:pullrev 5E4BD @ (Ob&Meta -> Meta Ob) 5E4D1 :: HP:pshtop& 5E4D1 @ (Meta1 Meta2 -> Meta2&Meta1) 5E4EA :: HP:pullpsh1& 5E4EA @ (Meta1 Meta2&Ob -> Ob&Meta1 Meta2) 5E503 :: NS:psh1over& 5E503 @ (Meta1 Meta2&Ob -> Meta1&Ob Meta2) 5E51C :: NS:addt: 5E51C @ (Meta -> Meta&Ob) (Next ob from this instr. stream) 5E530 :: NS:addt2: 5E530 @ (Meta -> Meta&Ob1&Ob2) (2 next obs from this instr. stream) 5E549 :: NS:psh1&rev: 5E549 @ (Meta1 Meta2 Meta1&Ob Meta2) (Ob is next in this instr. stream) 5E562 :: NS:psh1&rev2: 5E562 @ (Meta1 Meta2 -> Meta1&Ob1&Ob2 Meta2) (2 next from this instr. stream) 5E585 :: NS:INNERtop& 5E585 @ (Meta1 Symb -> Meta') 5E59E :: NS:repl: 5E59E @ (Meta&Ob1 -> Meta&Ob2) (Ob1 dropped, Ob2 next in this instr.stream) 5E5B7 :: CK@ 5E5B7 @ (1:ID/LAM/romp -> 2:Contents 1:F / 2:ID/LAM/romp/Other 1:T) 5E5EE :: CKSAFE@ 5E602 :: CK@LAM 5E616 :: CKROMPTR@ 5E62A :: DUP:EVALNOTcaseTRUE_SWAPDROPFALSE 5E652 :: HP:symcomp 5E652 @ Make stk1 into an Algebraic 5E661 :: symcompNOCK 5E67A :: HP:pshzer 5E67A @ (Meta -> #0 Meta) 5E68E :: meta> 5E68E @ (Meta1&Meta2&Ob -> Meta2&Ob Meta1) (Internal OBJ->) 5E6BB :: NS:pullpshm1 5E6BB @ (Meta&Ob -> Ob #1 Meta) 5E6F2 :: NS:pshzerpsharg& 5E6F2 @ (Meta1 Meta2&Meta3 -> Meta1&Meta3 Meta2) 5E6F2 @ Example: A B + #3 C D * E F * #6 -> E F * A B + #6 C D * #3 5E706 P HP:psh1& 5E706 @ (Meta1 Meta2 Ob -> Ob&Meta1 Meta2) 5E7A5 P HP:psh1&rev 5E7A5 @ (Meta1 Meta2 Ob -> Meta1&Ob Meta2) 5E843 :: NS:overrev& 5E843 @ (Meta1 Meta2 Meta3 -> Meta2&Meta1 Meta3) 5E857 :: NS:rotswap 5E857 @ (Meta1 Meta2 Meta3 -> Meta2 Meta1 Meta3) 5E870 :: 5E889 :: ops# 5E889 @ Returns commands argument count (1:CMD -> 2:CMD 1:#args) 5E8A2 :: NS:3PICK#2+ 5E8C0 :: NS:3PICK#1+ 5E8DE :: algops# 5E8DE @ Returns alg. operators argument count (1:+,-...or.. -> 2:oper 1:#args) 5E8F2 P 5E984 :: HP:nonopcase 5E984 @ If DUPTYPE? == seco then SKIP, else COLA 5E9A7 P 5E9A7 @ if copy stk1 = 5EA09 (#) -> True/False 5E9E1 :: 5EA09 :: xWHEREcheckprogram ?????????????? 5EA13 :: 5EA40 :: 5EA72 :: ConstFlag?COLANotNumFlag?caseSKIP_COLACOLA 5EA9F :: HP:pshzerpsharg 5EA9F @ (Meta without last operator -> Meta2 Meta1) 5EA9F @ Example: A B + C D - #6 -> C D - #3 A B + #3 5EAC2 :: NS:pshzerarg2 5EAC2 @ (Meta1&Meta2 -> Meta1 Meta2) 5EAF4 :: NS:pulldrop 5EAF4 :: NS:SWAPDROP#1- 5EAF4 @ (Meta&Ob -> Meta) 5EB08 :: M1st2ndDrop 5EB08 @ subtract two and drop stk2/stk3 (3:Any,2:Anu,1:#) 5EB1C P HP:psh 5EB1C P NS:swap 5EB1C @ (Meta1 Meta2 -> Meta2 Meta1) 5EB58 P NS:rot 5EB58 @ (Meta1 Meta2 Meta3 -> Meta2 Meta3 Meta1) 5EBC6 P NS:4roll 5EBDB P NS:unrot 5EBDB @ (Meta1 Meta2 Meta3 -> Meta3 Meta1 Meta2) 5EBEA P NS:4unroll 5EBFC P NS:N+1roll 5ED45 P NS:5roll 5ED5A P NS:5unroll 5ED6C P NS:N+1unroll 5ED82 :: 5EDBE @ MC: checks for %, C%, Array, Linked Array 5EDFC P DUPTYPE%C%[]?case 5EDFC @ if copy type(stk1) = %, C%, [] or Linked Array, then COLA, else skip 5EE0C @ MC XFER: return and execute the next object in this stream 5EE10 P HP:M-1stcasechs 5EE10 @ If stk2 is NEG then Drop it & COLA else SKIP (Meta -> Meta) 5EE10 @ Example: :: M-1stcasechs NOP SYMBN ; either negates meta or does SYMBN 5EEDB P Seems like a bug to me, not recalling next real correctly??? 5EF15 :: HP:AEQ1stcase 5EF15 :: 2PICKEQUAL:case 5EF15 @ Is metaobs last ob EQUAL to next in this stream? & case (1:Meta) 5EF2E P NS:M1st+case 5EF2E @ (Meta) :: M1st+case ; 5EF41 P NS:M1st-case 5EF54 P NS:M1st*case 5EF67 P NS:M1st/case 5EF7A P NS:M1stNEGcase 5EF8D P NS:M1stINVcase 5EFA0 P NS:M1st^case 5EFB3 P NS:M1stSQcase 5EFC6 P OVERFCNAPPLYEQUALcase 5EFD9 P HP:MEQ1stcase 5EFD9 P NS:3PICKEQUALcse 5EFD9 @ Is metaobs last ob equal to Any? & case (Meta 1:Any) 5EFF9 P HP:MEQopscase 5F048 :: HP:AEQopscase 5F048 :: MEQopscase: 5F061 P HP:Mid1stcase 5F061 @ if copy type(stk2) = ID/LAM, then COLA, else skip 5F090 @ MC XFER: skip next object 5F09D @ MC XFER: COLA 5F0AA :: HP:idntcase 5F0CD :: HP:idntlamcase 5F0FA :: HP:num0=case 5F0FA @ If stk1 = %0 or C%0 then COLA else SKIP 5F127 :: HP:%0=case 5F127 @ If DUP %0= then COLA else SKIP 5F13B :: NS:C%0=case 5F13B @ If DUP C%0= then COLA else SKIP 5F154 :: HP:num1=case 5F154 @ If DUP stk1 = %1 or C%1 then COLA else SKIP 5F181 :: HP:%1=case 5F181 @ If DUP %1= then COLA else SKIP 5F19F :: NS:C%1=case 5F19F @ If DUP C%1= then COLA else SKIP 5F1BD :: HP:num2=case 5F1BD @ If DUP stk1 is %2 or C%2 then COLA else SKIP 5F1EA :: HP:%2=case 5F1EA @ If DUP %2= then COLA else SKIP 5F208 :: NS:C%2=case 5F208 @ If DUP C%2= then COLA else SKIP 5F23A :: HP:num-1=case 5F23A @ If DUP stk1 = %-1 or C%-1 then COLA else SKIP 5F267 :: HP:%-1=case 5F267 @ if DUP stk1 = %-1 then COLA, else SKIP 5F285 :: NS:C%-1=case 5F285 @ If DUP C%-1= then COLA else SKIP 5F2A3 :: NS:EXPLODESYMB 5F2BC :: pullDTYPESYMB?ITE_INNERCOMPtop&_psh1& 5F2EE :: NS:IMPLODESYMB 5F2EE @ (Meta -> Ob) Checks FormData too 5F31B :: NS:MIMPLODE 5F370 :: NS:psh1&revUNTIL 5F370 @ (Meta1 Meta2 Ob -> Meta1&Ob Meta2) If Meta2 is empty end loop 5F384 :: NS:DrpMkLegalSym 5F384 @ DROP & if not (ID,LAM,%,C%,Unit) then symcomp 5F3D4 :: MAPPLYIMPLODE 5F3FC :: 5F4A6 :: 5F4F6 :: NS:MReplIMPLODE 5F537 P NS:DUMMYcase 5F537 @ If DUP stk1 == COMPLEX/POLARDUMMY then COLA else SKIP 5F571 :: IMPLODEDUMMY 5F5AD :: 5F5E4 :: NS:4DROPFALSE 5F616 :: 3PICK#4+PICKSWAP 5F63E :: 5F657 :: NS:3DROPTRUE 5F67F :: 4DROPFALSE 5F6B1 :: NS:5DROPFALSE 5F6F2 mc NS:ObDispatch1 5F6F2 @ Uses data at 5F7E0 5F6F9 mc NS:ObDispatch 5F6F9 @ This routine dispatches on the meta object (Starting at level 2) 5F6F9 @ Usage: MOVE.P5 #addr,C CALL.A #5F6F9 arglist... 5F6F9 @ #addr is the address to the pointer list to be used 5F6F9 @ Example: 5F7E0: + - * .... 5F6F9 @ CALL.A never returns, CALL is just used to pass the address of arglist 5F6F9 @ arlist is of form: nnnnn addr/XLIB nnnnn addr/XLIB.... F 5F6F9 @ Example: 10000 XLIB 1190 01 22020 XLIB 1190 02 F with above addr 5F6F9 @ Expects args like + #n or - - Any - #n, but doesn't error if no match 5F6F9 @ is found (Matching is done until FALSE or rest of the number is zeros) 5F6F9 @ Example: COLCT uses this to match PI and PI 2 / 5F7E0 rf r_x+ 5F7E5 rf r_x- 5F7EA rf r_x* 5F7EF rf r_x/ 5F7F4 rf r_^ 5F7F9 rf r_xNEG 5F7FE rf r_xINV 5F803 rf r_xEXP 5F808 rf r_xALOG 5F80D rf r_xLN 5F812 rf r_xLOG 5F817 rf r_xPI 5F81C rf r_%2 5F821 mc ??? 5F908 rf r_CK0 5F90D rf r_CK1&Dispatch 5F912 rf r_CK2&Dispatch 5F917 rf r_CK3&Dispatch 5F91C rf r_CK4&Dispatch 5F921 rf r_CK5&Dispatch 5F926 P Msplit 5F926 @ (3:Meta 2:??? 1:#args-1 -> Meta #level.of.split.start) 5F96E P Msplit2 5F96E @ Haven't checked the difference yet 5F996 :: tailpsh 5F996 @ (Meta1&Meta2 #size(Meta2)+1 -> Meta2 Meta1) 5F9B9 :: OB>$ 5FA04 :: 5FA2C :: algmeta> 5FA2C @ (Meta -> N+3:Arg1 4:Argn 3:#args 2:Command 1:T / Meta F) 5FA36 :: 5FA45 :: NS:pulldroppull 5FA45 @ (Meta&Ob1&Ob2 -> Meta Ob1) 5FA63 :: NS:revpulldrop 5FA63 @ (Meta1&Ob1 Ob2 -> Meta1 Ob2) 5FA90 :: 5FAE0 :: 5FAF4 :: 5FB08 :: 5FB49 :: HP:NOTcaseFALSE 5FB49 @ if pop stk1 <> True, then False, iterate loop (pop back) 5FB5D :: NS:COLAEVAL: 5FB5D @ :: 'R EVAL RDROP ; 5FB76 P HP:ROT#1+UNROT 5FBE6 P NS:pick1#0=case 5FBE6 @ (Meta1 Meta2 -> Meta1 Meta2) If Meta1 is #0 sized then COLA, else SKIP 5FC24 :: NS:pick1 5FC24 :: NS:DUP#2+PICK 5FC24 @ (Ob Meta -> Ob Meta Ob) 5FC38 :: NS:%1pshm1 5FC38 @ (Meta2 -> %1 #1 Meta2) 5FC4C :: pullsymcomppsh1& 5FC4C @ (Meta1 Meta2&Ob -> Ob&Meta1 Meta2) (Ob changed to symbolic) 5FC65 :: 5FC6F xl 5FC89 xl 5FDB7 :: 5FDBC {} LAM{'ct'p'ep} 5FDC1 l' LAM_'ct 5FDCE l' LAM_'p 5FDDB l' LAM_'ep 5FE2E :: LAMs'ct'p'epABNDTRUE 5FE56 :: 5FE92 :: 5FEFB :: 5FF23 :: Incr{'pp'ep} 5FF23 @ Increment ''pp' and ''ep' (LAM) 5FF5F :: 5FF73 P NS:DUP&NAME? 5FF73 @ IF stk1 is ID/LAM and 1st char is '&' then TRUE, else FALSE 5FFD6 :: 6001C :: 60035 :: 60058 :: 6007B :: 600A3 :: 600F3 {} 600FD :: 60139 :: 60148 :: 6019D :: 601B6 P 60254 :: 6029A :: 602BD P 603C9 :: DoMATCHu 603E2 :: 60405 :: 6045F :: NS:INCRLAM: 6045F @ :: INCRLAM: LAM a ; Does LAM a #1+ ' LAM a STO 60487 :: 604AF :: 604E6 :: 6059A :: MATCHCond 60644 :: DoMATCHd 606CB :: 606E4 :: 6071B :: 60806 {} MATCHLAMS{} 6080B l' LAM_'reg 6080B @ Has True if MATCH was succesful 6081A l' LAM_'sur 60829 l' LAM_'cts 60838 l' LAM_'sun 60847 l' LAM_'mlg 60856 l' LAM_'ckd 60865 l' LAM_'prd 60874 l' LAM_'prp 60883 l' LAM_'rhs 60897 :: MATCHInit 608C4 :: MATCHBindInit 608C9 :: MATCHInitFlags 6097D :: 609B9 :: 609EB :: 60A31 :: 60A54 :: SetMATCH 60A54 @ Sets matching prg ((4:Arg) 3:Arg 2:Arg 1:True if 3 args, else False 60A86 :: 60AF9 :: 60B17 :: NS:MATCH: 60B17 @ If next is True MATCHUP else MATCHDOWN (2:%/C%/sym 1:{} -> 2:Ob 1:%) 60BA8 :: 60BCB :: 60BE4 {} 60BE9 l' LAM_'patternls 60C04 l' LAM_'compos 60C19 l' LAM_'varls 60C4F l' LAM_'patternls 60C6A l' LAM_'compos 60CBB :: 60CCA l' LAM_'compos 60D1B :: 60D7F l' LAM_'varls 60DB5 :: 60DD3 :: 60E3C :: 60E73 {} {4NULL{}s_LAMs&1-&4} 60E8C l' NS:LAM_&1 60E97 l' NS:LAM_&2 60EA2 l' NS:LAM_&3 60EAD l' NS:LAM_&4 60EBD P HP:RSWAP 60EBD @ SWAP in return stack (Example :: RSWAP RDROP ; Drops prevprev program) 60EE7 P HP:ROTSWAP 60EE7 P HP:XYZ>YXZ 60EE7 P SWAP(2,3) 60F0E P HP:ROTDROPSWAP 60F0E P HP:UNROTSWAPDRO 60F0E P HP:XYZ>ZY 60F0E P NS:repl 60F0E @ (Meta&Ob1 Ob2 -> Meta&Ob2) 60F21 P HP:ROTDROP 60F21 P HP:XYZ>YZ 60F21 P DROP(3) 60F33 P HP:SWAPROT 60F33 P HP:UNROTSWAP 60F33 P HP:XYZ>ZYX 60F33 P SWAP(1,3) 60F4B P HP:3DROP 60F4B P HP:XYZ> 60F54 P HP:7DROP 60F66 P HP:6DROP 60F72 P HP:5DROP 60F7E P HP:4DROP 60F7E P HP:XYZW> 60F83 mc HP:4DropLoop 60F9B P HP:SWAPDROP 60F9B P HP:XY>Y 60F9B P DROP(2) 60FAC P HP:3UNROLL 60FAC P HP:UNROT 60FAC P HP:XYZ>ZXY 60FBB P HP:4ROLL 60FBB P HP:FOURROLL 60FBB P HP:XYZW>YZWX 60FD8 P HP:5ROLL 60FD8 P HP:FIVEROLL 61002 P HP:6ROLL 61002 P HP:SIXROLL 6103C P HP:8ROLL 6103C P HP:EIGHTROLL 6106B P HP:7ROLL 6106B P HP:SEVENROLL 61099 * HP:DUP4UNROLL 61099 * XYZ>ZXYZ 6109E P HP:4UNROLL 6109E P HP:FOURUNROLL 6109E P HP:XYZW>WXYZ 610C4 P HP:5UNROLL 610C4 P HP:FIVEUNROLL 610FA P HP:6UNROLL 610FA P HP:SIXUNROLL 6112A P HP:ROTROT2DROP 6112A P HP:UNROT2DROP 6112A P HP:XYZ>Z 6112A P DROP(2,3) 6113C P HP:4UNROLL3DROP 6113C P HP:XYZW>W 6113C @ DROP(2,3,4) 6114E P HP:2RDROP 6114E @ Drops 2 from return stack 61160 P HP:3RDROP 61160 @ Drops 3 from return stack 61172 P HP:#-PICK 61184 P HP:#+PICK 6119E * HP:DUP#1+PICK 6119E * NS:pickrev 6119E @ (Ob&Meta -> Ob&Meta Ob) 611A3 P HP:#1+PICK 611BE P HP:#2+PICK 611D2 P HP:#3+PICK 611E1 P HP:#4+PICK 611F9 * HP:2DUPSWAP 611F9 * HP:DUP3PICK 611FE P HP:3PICK 6121C P HP:4PICK 6123A P HP:5PICK 6125E P HP:6PICK 61282 P HP:7PICK 612A9 P HP:8PICK 612CC P HP:#-ROLL 612DE P HP:#+ROLL 612EC @ MC XFER: ROLL A.A levels and continue RPL 612F3 P HP:#1+ROLL 61305 P HP:get1 61305 P NS:DUP#2+ROLL 61305 @ (Ob Meta -> Meta Ob) 61318 P HP:#2+ROLL 6132C P HP:#-UNROLL 6133E P HP:#+UNROLL 6134C @ MC XFER: ROLLD A.A levels and continue RPL 61353 P HP:#1+UNROLL 61365 P HP:#2+UNROLL 61380 P HP:DUPUNROT 61380 P HP:SWAPOVER 613B6 P HP:1GETLAM 613E7 P HP:2GETLAM 6140E P HP:3GETLAM 61438 P HP:4GETLAM 6145C P HP:5GETLAM 6146C P HP:6GETLAM 6147C P HP:7GETLAM 6148C P HP:8GETLAM 6149C P HP:9GETLAM 614AC P HP:10GETLAM 614BC P HP:11GETLAM 614CC P HP:12GETLAM 614DC P HP:13GETLAM 614EC P HP:14GETLAM 614FC P HP:15GETLAM 6150C P HP:16GETLAM 6151C P HP:17GETLAM 6152C P HP:18GETLAM 6153C P HP:19GETLAM 6154C P HP:20GETLAM 6155C P HP:21GETLAM 6156C P HP:22GETLAM 615E0 P HP:1PUTLAM 615F0 P HP:2PUTLAM 61600 P HP:3PUTLAM 61610 * HP:DUP4PUTLAM 61615 P HP:4PUTLAM 61625 P HP:5PUTLAM 61635 P HP:6PUTLAM 61645 P HP:7PUTLAM 61655 P HP:8PUTLAM 61665 P HP:9PUTLAM 61675 P HP:10PUTLAM 61685 P HP:11PUTLAM 61695 P HP:12PUTLAM 616A5 P HP:13PUTLAM 616B5 P HP:14PUTLAM 616C5 P HP:15PUTLAM 616D5 P HP:16PUTLAM 616E5 P HP:17PUTLAM 616F5 P HP:18PUTLAM 61705 P HP:19PUTLAM 61715 P HP:20PUTLAM 61725 P HP:21PUTLAM 61735 P HP:22PUTLAM 61745 P HP:DUPTEMPENV 617D8 P HP:GETLAMPAIR 617D8 @ Gets 1LAM contents & name (3:contents 2:LAM 1:False ???) 6186C P HP:#=case 6186C @ (# #') :: OVER#=case ; == / 6187C P HP:OVER#=case 6187C @ (# #') :: OVER#=case ; == # / # 61891 * HP:DUP#0=case 61891 @ (#) :: DUP#0=case ; == # / # 61896 P HP:#0=case 61896 @ (#) :: #0=case ; == / 618A8 P HP:DUP#0=csedrp 618A8 @ (#) :: DUP#0=csedrp ; == / # 618BA P HP:EQcasedrop 618BA @ (Ob1 Ob2) :: EQcasedrop ; == / Ob1 618D3 P HP:#=casedrop 618D3 P NS:OVER#=casedrp 618D3 @ (# #') :: OVER#=casedrop ; == / # 618E8 P HP:NOTcasedrop 618E8 @ (Ob f) :: NOTcasedrop ; == / Ob 618F7 P HP:casedrop 618F7 @ (Ob f) :: casedrop ; == / Ob 61903 @ MC XFER: skip next object and continue RPL 61907 @ MC: DROP, return and execute the next object in this stream 61910 P HP:NOTcase2drop 61910 @ (Ob1 Ob2 f) ::NOTcase2drop ;== / Ob1 Ob2 6191F P HP:case2drop 6191F @ (Ob1 Ob2 f) :: case2drop ; == / Ob1 Ob2 61933 P HP:EQcase 61933 @ (Ob1 Ob2) :: EQcase ; == Ob1 / Ob2 6194B P HP:caseDROP 6194B @ (Ob1 f) :: caseDROP ; == () / Ob1 61960 P HP:NOTcaseDROP 61960 @ (Ob1 f) :: NOTcaseDROP ; == () / Ob1 6196C @ MC XFER: continue RPL 61970 P HP:case2DROP 61970 @ (Ob1 Ob2 f) :: case2DROP ; == () / Ob1 Ob2 61984 P HP:NOTcase2DROP 61984 @ (Ob1 Ob2 f) :: NOTcase2DROP ; == () / Ob1 Ob2 61993 P HP:case 61993 @ (f) :: case ; == / 6199F @ MC XFER: return and execute the next object in this stream 619A6 @ MC XFER: skip next object and continue RPL 619AD P HP:NOTcase 619AD @ (f) :: NOTcase ; == / 619BC P HP:IT 619BC @ (f) :: IT ; == / 619CB P HP:GOTO 619CB @ Goto next address ( :: :: GOTO ; ; is GOSUB) 619E0 P HP:?GOTO 619E0 @ Goto next address if True 619F3 P HP:NOT?GOTO 619F3 @ Goto next address if False 61A02 mc HP:popflag 61A02 @ If pop stk1 = True -> set carry, else clear carry 61A18 P HP:#0=?SEMI 61A2C P HP:NOT?SEMI 61A3B P HP:?SEMI 61A47 mc HP:SEMILOOP 61A4E @ MC: continue RPL 61A58 P HP:ITE_DROP 61A58 @ (Ob f) :: ITE_DROP ; == / Ob 61A6D P HP:COLA_EVAL 61A6D @ Drops rest & executes stk1 61A6D @ Example: :: 1 2 ' x+ COLA_EVAL ; -> 3 61A8E P HP:COLARPITE 61A8E @ (f ) :: COLARPITE ; 61AD8 P HP:ITE 61AD8 @ (f) :: ITE ; 61AE9 P HP:2'RCOLARPITE 61AE9 @ (f) :: :: 2'RCOLARPITE ; ; 61B45 P HP:2@REVAL 61B45 @ Fetch & EVAL 1st object in prevprev (Doesn't advance) 61B45 @ :: :: :: 2@REVAL ; ; ; 61B55 P HP:3@REVAL 61B55 @ Fetch & EVAL 1st object in prevprevprev (Doesn't advance) 61B72 P HP:NOT?DROP 61B72 @ (Ob False ->) (True ->) 61B89 P HP:ticR 61B89 @ If 'R is SEMI then RDROP & (-> False) else ( -> Ob True) & advance 61C1C P HP:EXPAND 61C1C @ allocate nibbles (2:sized object,1:#length) 61CE9 P HP:CACHE 61CE9 @ Binds n objects to same LAM (Obn .. Ob1 #n LAM ->) (1LAM is count) 61D3A l' HP:SAVELAM 61D41 P HP:SAVESTACK 61D41 @ Saves stack (Depth bound to SAVELAM to SAVELAM) 61D41 @ (Example: 61D41 @ 1 2 3 :: x+ SAVESTACK x+ undo ; -> 1 5 -> 1 2 3 61EA7 P HP:DUMP 61EA7 @ Dumps CACHEd LAMs (NULLLAMs) (-> Ob1 .. Obn #n) 61F1B @ if pop stk1 = True, then SWAP 61F8F P HP:undo 61F8F @ Resumes stack saved by SAVESTACK 61F8F @ (Example: :: 1 2 SAVESTACK + 2 * undo ; -> 1 2) 61FA9 P HP:DUPROM-WORD? 61FA9 @ DUP & IS stk1 ROM XLIB'ed entry point -> (1:Any -> 2:Any 1:T/F) 61FB6 P HP:ROM-WORD? 61FA9 @ IS stk1 ROM XLIB'ed entry point (Has XLIB number) -> (1:Any -> 1:T/F) 61FCF mc HP:Rom-Word? 61FCF @ If copy stk1 is base ROM XLIB'ed entry point -> set carry 62001 P HP:2SWAP 62001 @ 4ROLL 4ROLL (Ob1 Ob2 Ob3 Ob4 -> Ob3 Ob4 Ob1 Ob2) 62020 * HP:DUPTYPECHAR? 62025 P HP:TYPECHAR? 62035 * HP:DUPTYPEIDNT? 6203A P HP:TYPEIDNT? 6204A * HP:DUPTYPEEXT? 6204F P HP:TYPEEXT? 6205B @ MC: if pop type(stk1) = C.A -> True/False 62063 @ MC: Check Prolog -> True/False 62073 * HP:GPOverWrT/FL 62073 @ Restore registers (GP) & Overwrite level1 with T/F(carry) & cont RPL 62076 * HP:GPOverWrTLp 6207D mc HP:OverWrF/TLp 62080 mc HP:OverWrTLoop 62096 * HP:GPOverWrFLp 6209D * HP:OverWrT/FLp 620A0 mc HP:OverWrFLoop 620B6 mc HP:GPPushT/FLp 620B9 mc HP:GPPushTLoop 620C0 * HP:PushF/TLoop 620C3 * HP:DOTRUE 620C3 * HP:PushTLoop 620D2 mc HP:GPPushFLoop 620D9 mc HP:PushT/F 620D9 mc HP:PushT/FLoop 620DC * HP:DOFALSE 620DC * HP:PushFLoop 620EB P HP:OVER#= 62103 P HP:DROPTRUE 6210C P HP:DROPFALSE 62115 * HP:DUPTYPELAM? 6211A P HP:TYPELAM? 6212A * HP:DUPTYPEBINT? 6212F P HP:TYPEBINT? 6213F * HP:DUPTYPEHSTR? 62144 P HP:TYPEHSTR? 62154 * HP:DTYPECSTR? 62154 * HP:DUPTYPECSTR? 62159 P HP:TYPECSTR? 62169 * HP:DTYPEREAL? 62169 * HP:DUPTYPEREAL? 6216E P HP:TYPEREAL? 6217E * HP:DUPTYPECMP? 62183 P HP:TYPECMP? 62193 * HP:DTYPEARRY? 62193 * HP:DUPTYPEARRY? 62198 P HP:TYPEARRY? 621A8 * HP:DUPTYPEROMP? 621AD P HP:TYPEROMP? 621BD * HP:DUPTYPERRP? 621C2 P HP:TYPERRP? 621D2 * HP:DUPTYPESYMB? 621D7 P HP:TYPESYMB? 621E7 * HP:DTYPECOL? 621E7 * HP:DUPTYPECOL? 621EC P HP:TYPECOL? 621FC * HP:DUPTYPEGROB? 62201 P HP:TYPEGROB? 62211 * HP:DTYPELIST? 62211 * HP:DUPTYPELIST? 62216 P HP:TYPELIST? 62226 * HP:DUPTYPETAG? 6222B P HP:TYPETAGGED? 6223B P HP:TYPERARRY? 62256 P HP:TYPECARRY? 62266 P HP:DUP#0= 6226F @ MC: if A.A = 0 -> True/False 62278 @ MC: copy stk1 (#) into A.A 62289 P HP:#3= 6229A P HP:#2= 622A7 P HP:#1= 622B6 P HP:#1<> 622C5 P HP:DUP#1= 622D4 P HP:DUP#0<> 622DD @ MC: if A.A <> 0 -> True/False 622E5 :: HP:!insert$ 622E5 @ Inserts $m in front of $n (2:$n 1:$m -> 1:$mn) 622EF :: HP:SWAP&$ 622EF @ Internal SWAP and + (2:$n 1:$m -> 1:$mn) 62312 :: HP:!!append$? 62312 @ Appends $m to $n (2:$n 1:$m -> 1:$nm) 62326 :: 62376 :: HP:!append$ 62376 @ Appends $m to $n (2:$n 1:$m -> 1:$nm) 62394 P HP:!!insert$ 62394 @ Inserts $m in front of $n (2:$n 1:$m -> 1:$mn) 623A0 P HP:!!append$ 623A0 @ Appends $m to $n (2:$n 1:$m -> 1:$nm) 623F9 @ MC XFER: restore regs, DROP and continue RPL 62467 @ MC: restore regs, DROP and continue RPL 62474 P HP:'RSAVEWORD 62474 P HP:'RSaveRomWrd 62474 @ Recalls next in prev (doesn't advance?) & stores it (addr-10) 6249E @ MC XFER: pop stk1 (#) into A.A 624AC @ MC XFER: restore D,B,D1,D0 (C=D0), clear carry 624B3 @ MC XFER: save regs D,B,D1,D0 (uses C) 624BA P HP:#MIN 624C6 P HP:#MAX 624FB P HP:#-#2/ 62535 P HP:DROPZERO 62544 @ MC: continue RPL 6254E P HP:2DROP00 6256A P HP:#3+ 6257A P HP:#4+ 6258A P HP:#5+ 6259A P HP:#6+ 625AA P HP:#7+ 625BA P HP:#8+ 625CA P HP:#9+ 625DA P HP:#10+ 625EA P HP:#12+ 625FA P HP:#3- 6260A P HP:#4- 6261A P HP:#5- 6262A P HP:#6- 62636 @ MC: add C.A to stk1 and continue RPL (1:#) 6264E P HP:#10* 6266D @ MC XFER: push A as new # and continue RPL 62674 P HP:#8* 62691 P HP:#6* 626AE P HP:5skipcola 626AE @ Return and execute the sixth object in this stream 626AE @ Example: :: 5skipcola 1 2 3 4 5 6 7 8 9 ; -> 6 626DC P HP:3skipcola 626E5 P HP:2skipcola 626EE P HP:skipcola 626F7 P HP:DUP#2+ 6270C P HP:DROPSWAP 62726 P HP:DROPSWAPDROP 62726 P HP:ROT2DROP 62726 P HP:XYZ>Y 62726 P DROP(1,3) 62747 P HP:SWAPDUP 62775 P HP:ROTDUP 62794 P HP:SWAP#- 627A7 P HP:DROPDUP 627BB P HP:DUPLEN$ 627CE @ MC XFER: push A as new # and continue RPL 627D5 P HP:#+DUP 627EB mc HP:Push2#aLoop 627F8 P HP:#-DUP 62809 P HP:#1+DUP 6281A P HP:#1-DUP 62829 @ MC XFER: pop 2 # into A.A,C.A 62830 P HP:SWAPDROPDUP 62830 P XY>YY 6284B P HP:SWAPDROPSWAP 6284B P HP:UNROTDROP 6284B P HP:XYZ>ZX 62864 P HP:4ROLLDROP 62864 P DROP(4) 62880 P HP:5ROLLDROP 62880 P DROP(5) 6289B P HP:2DUP#< 628B5 P HP:2DUP#= 628D1 P HP:2DUP#> 628EB P HP:DUP#1+ 62904 P HP:SWAP#1+ 62904 P HP:SWP1+ 62904 P NS:addt 62904 @ (Meta Ob -> Meta&Ob) 6292F P HP:DUP#1- 62946 P HP:DROPONE 62958 P HP:RDROPCOLA 62958 @ Execute next, then return 2 times 62958 @ :: :: RDROPCOLA ; ; 62966 @ MC XFER: return and execute the next object in this stream 6296D P HP:COLACOLA 6296D @ Return, execute next, return 6296D @ :: :: COLACOLA ; ; 62986 P HP:COLAcase 62986 @ Return, case (f) :: :: COLAcase ; ; 629A1 P HP:COLANOTcase 629A1 @ Return, NOT, case (f) :: :: COLANOTcase ; ; 629BC :: HP:ORcase 629BC @ (f f) :: ORcase ; == / 629D0 :: HP:REQcase 629D0 @ (Ob1) :: REQcase Ob2 ; == Ob1 / Ob1 629E9 :: HP:REQcasedrop 629E9 @ (Ob1) :: REQcasedrop Ob2 ; == / Ob1 62A02 :: HP:SAFESTO 62A02 @ Internal STO (2:Any 1:ID/LAM) 62A2F * HP:DUPSAFE@ 62A2F @ DUP and RCL (1:ID/LAM -> 3:ID/LAM 2:contents 1:T / 2:ID/LAM 1:F) 62A34 :: HP:SAFE@ 62A34 @ Internal RCL (1:ID/LAM -> 2:contents 1:T / 1:F) 62A61 :: HP:?>ROMPTR 62A61 @ If ROMWORD & seco then RPL@ (1:Any -> 1:Any or other :) 62A84 :: HP:?ROMPTR> 62A84 @ (If XLIB is in built-in-not-hidden ROM then @) (1:Any) 62ABB :: HP:MACRODCMP 62ACF :: 62B0B :: HP:2DROPFALSE 62B0B @ Internal DROP2 and False 62B1F :: HP:PALPTRDCMP 62B1F @ XLIB to string (1:Ob -> 2:"XLIBNAME" 1:TRUE / 2:Ob 1:False) 62B1F @ (1:SIN -> 2:"SIN" 1:True | 1:XLIB.. -> 2:"XLIB.." 1:True) 62B5B :: HP:palrompdcmp 62B5B @ XLIB with no name to string (1:XLIB -> 2:"XLIB..." 1:True) 62B6F :: HP:#0=UNTIL 62B6F :: NS:DUP#0=UNTIL 62B88 :: HP:INCOMPDROP 62B88 @ (1:comp -> N:Ob1...1:Obn) 62B9C :: HP:NTHCOMPDROP 62B9C @ Internal GET (2:comp 1:#n -> 1:Ob) (Nothing if out of range) 62BB0 :: HP:APPEND_SPACE 62BB0 @ (1:"mesg" -> 1:" mesg") 62BC4 :: HP:7UNROLL 62BD8 :: HP:RESOROMP 62BD8 @ Recall next romp's RPL :: RESOROMP XLIBname ; -> 1:rpl or nothing 62BF1 :: HP:%10* 62C05 :: HP:DUP@ 62C19 :: HP:DUPROMPTR@ 62C2D :: HP:#=ITE 62C41 :: HP:INNERDUP 62C41 @ Internal OBJ-> and DUP (1:comp -> N+2:Ob1...3:Obn 2:#n 1:#n) 62C55 :: HP:NOTAND 62C69 :: HP:TOTEMPSWAP 62C69 @ Internal NEWOB and SWAP 62C7D :: HP:ROT2DUP 62C91 :: HP:ROTAND 62CA5 :: HP:ROTOVER 62CB9 :: HP:DUPDUP 62CCD :: HP:OVERDUP 62CE1 :: HP:COERCEDUP 62CF5 :: HP:UNROTDUP 62D09 :: HP:4UNROLLDUP 62D1D :: HP:NTHCOMDDUP 62D1D @ Internal GET (2:comp 1:#i -> 2:Ob 1:Ob) 62D31 :: HP:OVERSWAP 62D31 :: HP:OVERUNROT 62D45 :: HP:ROLLSWAP 62D59 :: HP:NULL$SWAP 62D6D :: HP:SUB$SWAP 62D81 :: HP:%MAXorder 62D81 @ (2:% 1:% -> 2:%max 1:%min) 62D9F :: HP:?SKIPSWAP 62D9F :: NS:NOT?SWAP 62D9F @ If False then SWAP 62DB3 :: HP:1ABNDSWAP 62DB3 @ :: 1GETLAM ABND SWAP ; 62DCC :: HP:ROT#+SWAP 62DCC :: HP:ROT+SWAP 62DCC @ (3:#m 2:Any 1:#n -> 2:#m+n 1:Any) 62DE5 :: HP:4PICK#+SWAP 62DE5 :: HP:4PICK+SWAP 62DE5 @ (4:#m 3:Any3 2:Any2 1:#n -> 4:#m 3:Any3 2:#m+n 1:Any2) 62DFE :: HP:#+SWAP 62E12 :: HP:#-SWAP 62E26 :: HP:#1+SWAP 62E3A :: HP:ZEROSWAP 62E4E :: HP:#1-1SWAP 62E4E @ #1- ONE SWAP 62E67 :: HP:ONESWAP 62E7B :: HP:COERCESWAP 62E8F :: HP:%>%%SWAP 62E8F @ Internal R->LR and SWAP (2:Any 1:% -> 2:%% 1:Any) 62EA3 :: HP:%%*SWAP 62EA3 @ Internal * and SWAP (3:Any 2:%% 1:%% -> 2:%% 1:Any) 62EB7 :: HP:XYZ>ZTRUE 62EB7 :: DROP(2,3)True 62ECB :: HP:4ROLLSWAP 62ECB @ ROT(4) 62EDF :: HP:3PICKSWAP 62EF3 :: HP:4PICKSWAP 62F07 :: HP:1GETSWAP 62F07 @ 1GETLAM SWAP 62F1B :: HP:?SWAP 62F2F :: HP:!append$SWAP 62F43 :: HP:NOT?SWAPDROP 62F43 @ If False then SWAPDROP else DROP 62F5C :: HP:?SWAPDROP 62F5C @ If True then SWAPDROP else DROP 62F75 :: HP:#1+NDROP 62F75 :: HP:N+1DROP 62F75 @ Internal DROPN and DROP (1:#n) 62F89 :: HP:ROLLDROP 62F89 :: DROP(n) 62F9D :: HP:MDIMSDROP 62FB1 :: HP:DUPROT 62FB1 :: XY>YYX 62FC5 :: HP:DROPROT 62FC5 :: XYZW>YZX 62FD9 :: HP:#1-ROT 62FED :: HP:%%*ROT 63001 :: HP:4ROLLROT 63001 :: HP:FOURROLLROT 63001 :: XYZW>YWXZ 63015 :: HP:4UNROLLROT 63015 :: XYZW>WYZX 63029 :: HP:DROPOVER 63029 :: XYZ>XYX 6303D :: HP:EQOVER 6303D @ (3:Any 2:Ob2 1:Ob1 -> 3:Any 2:T/F 1:Any) 63051 :: HP:#+OVER 63065 :: HP:#-OVER 63079 :: HP:ZEROOVER 6308D :: HP:UNROTOVER 630A1 :: HP:4ROLLOVER 630B5 :: HP:3PICKOVER 630C9 :: HP:4PICKOVER 630DD :: HP:DUPPICK 630F1 :: HP:DUPROLL 63105 :: HP:OVER#2+UNROL 63105 :: NS:psh1 63105 @ (Meta Ob -> Ob Meta) 63119 :: HP:8UNROLL 6312D :: HP:10UNROLL 63141 :: HP:OVERARSIZE 63141 @ (2:[] 1:Any -> 3:[] 2:Any 1:#elements) 63155 :: HP:'ERRJMP 63169 :: HP:caseERRJMP 63169 @ (f) :: caseERRJMP ; 6317D :: HP:?CARCOMP 6317D @ If True then CARCOMP 63191 :: HP:NEWLINE$&$ 63191 :: HP:NEWLINE&$ 63191 @ Append (1:$ -> 1:$) 631A5 :: HP:#1-{}N 631A5 @ Internal subtract one and ->LIST (N:Ob1...1:#n -> 1:{}) 631B9 :: HP:TWO{}N 631CD :: HP:THREE{}N 631E1 :: HP:DUPINCOMP 631E1 @ (1:comp -> N+2:comp N+1:Ob1...2:Obn 1:#n) 631F5 :: HP:SWAPINCOMP 631F5 @ (2:comp 1:Any -> N+2:any N+1:Ob1...2:Obn 1:#n) 63209 :: HP:DUPNULL$? 6321D :: HP:DUPNULLCOMP? 63231 :: HP:DUPLENCOMP 63245 :: HP:#1-SUB$ 63259 :: HP:1_#1-SUB 63259 :: HP:1_#1-SUB$ 63259 @ SUB$ from 1 to #n-1 (2:$ 1:#n -> 1:$) 6326D :: HP:LAST$ 6326D @ SUB$ from #n to end (2:$ 1:#n -> 1:$) 63281 :: HP:#1+LAST$ 63295 :: HP:DUP$>ID 632A9 :: HP:SWAP%>C% 632A9 @ (2:%im 1:%re -> 1:C%) 632BD :: HP:'NOP 632BD @ Unevaluated No Operation 632D1 :: HP:::NEVAL 632D1 @ ->PROGRAM and EVAL (N+1:Ob1...2:Obn 1:#n) 632E5 :: HP:2GETEVAL 632E5 @ 2GETLAM EVAL 632F9 :: HP:DROPRDROP 632F9 @ DROP RDROP 63312 :: HP:SWAPCOLA 63312 @ :: SWAPCOLA ; == SWAP 63326 :: HP:XYZ>ZCOLA 63326 @ :: XYZ>ZCOLA ; == XYZ>Z 6333A :: HP:#0=?SKIP 6333A @ (#) :: #0=?SKIP ; 63353 :: HP:#1=?SKIP 6336C :: HP:#=?SKIP 63385 :: HP:ONE_EQ 63399 :: HP:#>?SKIP 633B2 :: HP:COLASKIP 633B2 @ :: :: COLASKIP ; ; 633C6 :: HP:NOT_UNTIL 633DF :: HP:NOT_WHILE 633F8 :: HP:DUP#0<>WHILE 63411 :: HP:DUPINDEX@ 63425 :: HP:SWAPINDEX@ 63439 :: HP:OVERINDEX@ 6344D :: HP:SWAPLOOP 63466 :: HP:DROPLOOP 6347F :: HP:DUP#0_DO 6347F @ Internal DUP and #0 #n DO (1:#n -> 1:#n) 63498 :: HP:toLEN_DO 63498 @ Start LOOP through all elements (1:comp -> 1:comp) 634B6 :: HP:1GETABND 634CA * HP:DUP1LAMBIND 634CF :: HP:1LAMBIND 634E3 :: HP:caseTRUE 634E3 @ (f) :: caseTRUE ; == True / 634F7 :: HP:TRUEFALSE 634F7 :: HP:TrueFalse 6350B :: HP:FALSETRUE 6350B :: HP:FalseTrue 6351F :: HP:ZEROFALSE 63533 :: HP:ONEFALSE 63547 :: HP:#=casedrpfls 63547 @ (# #') :: #=casedrpfls ; == False / # 6356A :: HP:casedrpfls 6356A @ (Ob f) :: casedrpfls ; == False / Ob 63583 :: HP:case2drpfls 63583 @ (Ob1 Ob2 f) :: case2drpfls ; == False / Ob1 Ob2 6359C :: HP:caseFALSE 6359C @ (f) :: caseFALSE ; == False / 635B0 :: HP:ORNOT 635C4 :: HP:EQUALNOT 635C4 @ Internal <> (2:Any 1:Any -> 1:T/F) 635D8 :: HP:2DUPEQ 635D8 @ Internal DUP2 and EQ (2:Any 1:Any -> 3:Any 2:Any 1:T/F) 635EC * HP:DUPEQ: 635EC @ (Ob1) :: DUPEQ: Ob2 ; -> 2:Ob1 1:T/F) 635F1 :: HP:EQ: 635F1 @ (Ob1) :: EQ: Ob2 ; -> 1:T/F 63605 :: HP:EQOR 63619 :: HP:EQUALOR 6362D :: HP:2#0=OR 6362D @ #n or #m = #0 ? (2:#n 1:#m -> 1:T/F) 6364B :: HP:OVER#0= 6365F :: HP:OVER#< 63673 :: HP:#<3 63687 :: HP:DUP#<7 636A0 :: HP:INNER#1= 636A0 @ (1:comp -> 2:Ob 1:True / ...2:Obn 1:False) 636B4 :: HP:#5= 636C8 :: HP:#2<> 636DC :: HP:OVER#> 636F0 :: HP:#>1 636F0 :: HP:ONE#> 63704 :: HP:2DUP#+ 63704 :: HP:DUP3PICK#+ 63704 @ (2:#m 1:#n -> 3:#m 2:#n 1:#m+n) 63718 :: HP:ROT#+ 6372C :: HP:OVER#+ 63740 :: HP:3PICK#+ 63754 :: HP:4PICK#+ 63768 :: HP:ROT#- 6377C :: HP:OVER#- 63790 :: HP:INDEX@#- 63790 @ INDEX@ and #- (1:#n -> 1:#n-index) 637A4 :: HP:SWAPOVER#- 637A4 @ Internal SWAPOVER and #- (2:#n 1:#m -> 2:#m 1:#n-m) 637B8 :: HP:ROT#1+ 637CC :: HP:#-+1 637CC :: HP:#1-- 637CC @ Internal #- #1+ 637E0 :: HP:SWAP#1- 637F4 :: HP:DROP#1- 63808 :: HP:#+-1 63808 :: HP:$1-+ 63808 @ Internal #+ #1- 6381C :: HP:COLAITE 6381C @ (f) :: COLAITE ; 6383A :: HP:ERROROUT 6383A @ ERRORSTO and ERRJMP (1:#errornumber) 6384E mc HP:D0=DSKTOP 6385D mc HP:D1=DSKTOP 6386C :: HP:SWAP2DUP 6386C :: XY>YXYX 63880 :: HP:RSKIP 63880 @ Advances return stack pointer over one object 63880 @ :: RSWAP 'R DROP RSWAP ; 6389E :: HP:GROB!ZERODRP 6389E @ Clears a rectangular region in grob(5:grob 4:#x1 3:#y1 2:#x2 1:#y1 ->) 638B2 :: HP:casedrptru 638B2 @ (Ob f) :: casedrptru ; == True / Ob 638CB :: HP:NOTcaseTRUE 638CB @ (f) :: NOTcaseTRUE ; == True / 638E4 :: HP:?SEMIDROP 638E4 @ If True then Return, else DROP and continue (:: NOTcase DROP RDROP ;) 638FD :: HP:SWAPUnDROP 638FD :: NS:unzer 638FD :: NS:pshDROP 638FD @ (Meta1 Meta2 -> Meta2 meta1) (meta1 has no count) 63911 :: HP:SWAPUnNDROP 63911 :: NS:swapdrop 63911 @ (Meta1 Meta2 -> Meta2) 63925 :: HP:DUP' 63939 :: HP:SWAP' 6394D :: HP:DROP' 63961 :: HP:OVER' 63975 :: HP:STO' 63989 :: HP:TRUE' 6399D :: HP:ONEFALSE' 639B6 :: HP:FALSE' 639CA :: HP:#1+' 639DE :: HP:'R'R 639DE @ Recalls 2 objects from prev (And advances) -> (2:Ob1 1:Ob2) 639FC :: HP:'RRDROP 639FC @ Recalls 1 ob from prev & pops return stack 63A15 :: HP:ONECOLA 63A15 @ :: ONECOLA ; == One 63A29 :: LAM{'dvar}BIND 63A29 :: HP:dvarlsBIND 63A29 @ Store stk1 into ''dvar' (LAM) 63A3D :: HP:'LAMLNAMESTO 63A3D @ Store stk1 into ''LNAME' (LAM) 63A56 :: HP:'xDEREQ 63A56 @ Is pop stk1 stepwise deriv. ? (xDER = XLIB 2 248) (1:Any -> 1:T/F) 63A6F :: HP:DUPNULL{}? 63A88 :: HP:DUPZERO 63A9C :: HP:DUPONE 63AB0 :: HP:SWAPONE 63AC4 :: HP:ONEDUP 63AC4 :: HP:ONEONE 63AD8 :: HP:DUPTWO 63AEC :: HP:NOTcsdrpfls 63AEC :: NS:NOTcaseDRPFLS 63B05 :: HP:caseSIZEERR 63B19 :: HP:NcaseSIZEERR 63B19 @ If pop stk1 not True, then Bad Argument Value 63B2D :: HP:CKREAL 63B2D @ If copy type(stk1) <> %, then Bad Argument Type (1:Any -> 1:Any) 63B46 :: HP:NcaseTYPEERR 63B5A :: HP:'x* 63B5A @ Unevaluated * (multiply) 63B6E :: HP:'xDER 63B6E @ Unevaluated delta (stepwise derivative) 63B82 :: HP:%%/>% 63B82 @ Internal / and LR->R (2:%% 1:%% -> 1:%) 63B96 :: HP:UNCOERCE%% 63B96 @ Internal SB->LR (1:# -> 1:%%) 63BAA :: HP:DUP%0= 63BBE :: HP:SWAP%%/ 63BBE @ Internal SWAP and / (2:%% 1:%% -> 1:%%) 63BD2 :: HP:caseDrpBadKy 63BD2 @ If True then Return, DROP and DoBadKey, else continue 63BEB :: HP:caseDoBadKey 63BEB :: HP:caseDEADKEY 63BEB @ If True then Return, and DoBadKey, else continue 63C04 :: HP:GROBDIMw 63C04 @ Get Grob width (1:Grob -> 1:#width 63C18 :: HP:%%*UNROT 63C2C :: HP:SWAP4ROLL 63C2C :: HP:XYZW>YWZX 63C40 :: HP:2DUP5ROLL 63C40 :: XYZ>YZYZX 63C54 :: HP:SWAP3PICK 63C54 :: XYZ>XZYX 63C68 :: HP:3PICK3PICK 63C68 :: XYZ>XYZXY 63C7C :: HP:SWAP4PICK 63C7C :: XYZW>XYWZX 63C90 :: HP:OVER5PICK 63C90 :: XYZW>XYZWZX 63CA4 :: HP:EQUALcasedrp 63CA4 @ (Any Ob1 Ob2) :: EQUALcasedrp ; == / Any 63CBD :: HP:DUP#0=csDROP 63CBD @ If DUP#0= then DROP & return, else continue 63CD6 :: HP:jEQcase 63CD6 @ If EQ then COLA else SKIP 63CD6 @ (Ob1 Ob2) :: jEQcase ; == / 63CEA :: HP:ANDcase 63CEA @ If AND then COLA else SKIP 63CFE :: HP:EQUALcase 63CFE @ If EQUAL then COLA else SKIP 63D12 :: HP:#case 63D3A @ If #<> then COLA else SKIP 63D4E :: HP:#>2case 63D4E @ If #2> then COLA else SKIP 63D67 :: HP:#>case 63D67 @ If #> then COLA else SKIP 63D7B :: HP:j%0=case 63D7B @ If %0= then COLA else SKIP 63D8F :: HP:REALcase 63D8F @ If TYPEREAL? then COLA else SKIP 63DA3 :: HP:dARRYcase 63DA3 @ If DUPTYPEARRY? then COLA else SKIP 63DB7 :: HP:dLISTcase 63DB7 @ If DUPTYPELIST? then COLA else SKIP 63DCB :: HP:EditExstCase 63DCB :: Editing?case 63DCB @ If Editing? then COLA else SKIP 63DDF :: HP:ANDNOTcase 63DDF @ If ANDNOT then COLA else SKIP 63DF3 :: HP:EQUALNOTcase 63DF3 @ If EQUALNOT then COLA else SKIP 63E07 :: HP:dIDNTNcase 63E07 @ If DUPTYPEIDNT? NOT then COLA else SKIP 63E1B :: HP:dREALNcase 63E1B @ If DUPTYPEREAL? NOT then COLA else SKIP 63E2F :: HP:EQIT 63E2F @ If EQ then do else SKIP 63E48 :: HP:DUP#0=IT 63E61 :: HP:ANDITE 63E75 :: HP:EQITE 63E89 :: HP:#0=ITE 63E9D :: HP:#ITE 63EC5 :: HP:DUP#0=ITE 63ED9 :: HP:UserITE 63ED9 @ Is userflag #n set? & ITE (1:#n) 63EED :: HP:SysITE 63EED @ Is systemflag #n set? & ITE (1:#n) 63F01 :: HP:top&Cr 63F01 @ (Meta1 Meta2 -> ALG_Meta1Meta2&Ob) (Ob next in this instr. stream) 63F01 @ Example: A B + #3 C D - #3 :: top&Cr x* ; -> ALG_(A+B)*(C-D) 63F1A :: HP:metaROTDUP 63F1A :: NS:rotdup 63F1A @ (Meta1 Meta2 Meta3 -> Meta2 Meta3 Meta1 Meta1) 63F2E :: HP:ROTUntop& 63F2E :: NS:rottop& 63F2E @ (Meta1 Meta2 Meta3 -> Meta2 Meta3&Meta1) 63F42 :: HP:roll2top& 63F42 :: HP:rolltwotop& 63F42 :: NS:unrottop& 63F42 @ (Meta1 Meta2 Meta3 -> Meta3 Meta1&Meta2) 63F56 :: HP:plDRPpZparg 63F56 :: NS:opzerpsharg 63F56 @ Splits meta object (Meta1&Meta2& -> Meta2 Meta1) ( is dropped) 63F56 @ Example: A B + C D - * #7 -> C D - #3 A B + #3 63F6A :: HP:&$SWAP 63F6A @ Internal + and SWAP ($) 63F7E :: HP:SWAPCKREF 63F92 :: HP:pZpargSWAPUn 63F92 :: NS:pshzerarg 63F92 @ (Meta without last operator -> Meta1 Meta2) 63F92 @ Example: A B + C D - #6 -> A B + #3 C D - #3 63FA6 :: HP:DROPNDROP 63FA6 :: DROPdrop 63FA6 @ (Meta Ob ->) 63FBA :: HP:2OVER 63FBA :: XYZW>XYZWXY 63FCE :: HP:?Ob>Seco 63FCE @ If DUPTYPESECO? NOT then Ob>Seco 63FE7 :: HP:Ob>Seco 63FE7 @ Internal 1 ->PROGRAM (1:Any -> 1:seco) 63FFB :: HP:2Ob>Seco 63FFB @ Internal 2 ->PROGRAM (2:Any 1:Any -> 1:seco) 6400F :: HP:ExitAtLOOP 6400F :: HP:ZEROISTOPSTO 6400F @ Stores zero to ISTOP 64023 :: HP:RclHiddenVar 64023 @ Hidden recall (1:ID/LAM) -> (2:contents 1:True / 1:False) 64037 :: HP:WithHidden 64037 @ Sets Hidden dir environment for next command only 6405A :: RestVarResERRJMP 64078 :: HP:StoHiddenVar 64078 @ Hidden store (2:Any 1:ID/LAM) 6408C :: HP:PuHiddenVar 6408C @ Purges hidden variable (1:ID/LAM) 640A0 :: HP:SaveVarRes 640A0 @ Binds CONTEXT and TMPCONTEXT to 2 NULLLAMs 640BE :: HP:SetHiddenRes 640BE @ Stores HiddenDir to both CONTEXT and TMPCONTEXT 640CD :: SetNullHidden&Rcl 640CD @ Stores NULLDIR as Hidden directory and recalls it (1:->DIR) 640FA :: HP:RestVarRes 640FA @ Restores CONTEXT (1LAM) and TMPCONTEXT (2LAM) from LAMs 64127 P HP:Embedded? 64127 @ Returns TRUE is ob1 is embedded in or is ob2 (2:Ob2 1:Ob1 -> 1:T/F) 6416D :: HP:UStackDepth 6416D @ Returns stack depth in upSTK application 64190 :: HP:Sig?ErrJmp 6419A {} SigErr{} 6419A @ If ERROR@ is one of {<13Eh> <123h> } then ERRJMP 641C7 P NS:DUPAndThen 641CC mc HP:DupAndThen 641CC @ DUP and execute next object 641FC P HP:ZEROZERO 64209 P HP:#ZERO#ONE 64214 @ MC: push A.A and C.A as # (small) 64236 @ MC: push A.A as # (small) 6427A P HP:#ZERO#SEVEN 6428A P HP:#ONE#27 6429D P HP:#TWO#ONE 642AF P HP:#TWO#TWO 642BF P HP:#TWO#FOUR 642D1 P HP:#THREE#FOUR 642E3 :: HP:#FIVE#FOUR 642F7 P FIVE#FOUR 64309 :: HP:ZEROZEROZERO 6431D :: HP:ZEROZEROONE 64331 :: HP:ZEROZEROTWO 64345 :: HP:SubMetaOb 64345 @ SUB of Meta object (Meta #start #end -> Meta') (Does range check) 64345 @ Example: 1 2 3 4 5 6 7 8 9 #9 #4 #8 -> 4 5 6 7 8 #5 64368 :: DROPSWAPDROP 64368 :: DROP(1,3) 643BD :: HP:SubMetaOb1 643BD @ Drops obs from meta starting from #start+1 643BD @ (meta Any #start #n #start -> meta Any #n)(meta count #n is displaced) 643BD @ Example:1 2 3 4 5 6 7 8 9 #2 #6 #9 #6 -> 1 2 3 4 5 6 #2 #6 643EF :: HP:matchob? 643EF @ Is ob equal to any element of comp? (2:Ob 1:comp -> 2:Ob 1:T / 1:F) 643F9 go HP:matchob?Lp 643F9 @ Is ob equal to one of returnstack composite? (2:Ob -> 2:Ob 1:T | 1:F) 643F9 @ Example: :: :: 'ID_X GOTO matchob?Lp ; ID_Y ID_X ID_Z ; 643F9 @ Finds ID_X and returns TRUE 64426 :: HP:POSCOMP 64426 @ Match ob to composite with predicate 64426 @ (3:comp 2:Ob 1:pred -> 1:#n / #0 if not found) 64426 @ Example: To find first ob less than five: :: {list} %5 ' %< POSCOMP ; 6443A go HP:nextpos 6443A @ (3:Ob 2:pred 1:#index -> 1:#n / #0 if not found) 6443A @ Do >R to match to stack composite 64449 :: NS:3DROPZERO 6448A :: HP:#=POSCOMP 6448A @ Example: {list} #5 #=POSCOMP searches from #5 in the list 644A3 :: HP:EQUALPOSCOMP 644A3 @ Internal POS (2:comp 1:Any -> 1:#i / 1:#0 if not found) 644BC :: HP:NTHOF 644BC @ Internal POS (2:Ob 1:Comp -> 1:#n | #0) 644D0 :: HP:Find1stTrue 644D0 @ Finds matching object in composite 644D0 @ (2:comp 1:Matchingprg -> 2:Ob 1:True / 1:False) 644D0 @ Example: To find first 0 :: {list} ' :: %0 EQUAL ; Find1stTrue ; 644D0 @ Example: To see if Find1stT.1 calls itself: 644D0 @ :: ' Find1stT.1 ' :: ' Find1st.1 EQUAL ; Find1stTrue ; 644EE :: HP:Find1stT.1 644EE @ Matches to composite in return stack (1:prg -> 2:Ob 1:T / 1:F) 644EE @ Example: Find1stTrue calls like this: :: SWAP >R COLA Find1stTrue.1 ; 6452F :: HP:Lookup 6452F @ Does matching 2 at a time, if first matches, gives second 6452F @ (3:Ob 2:matchingprg 1:comp -> 2:Nextob 1:True / 1:False) 64548 :: HP:Lookup.1 64548 @ Does matching to composite in return stack 2 at a time 64548 @ If first matches, gives second else gives last 64548 @ (2:Ob 1:matchprg -> 2:Ob 1:True / 3:Ob 2:Lastob 1:False) 64593 :: HP:EQLookup 64593 @ :: ' EQ SWAP LookUp ; 645B1 P HP:POS$ 645B1 P HP:POSCHR 645B1 @ Internal POS w/start (2:$ 1:$/Char 1:#start -> 1:#pos) 645BD P HP:POS$REV 645BD P HP:POSCHRREV 645BD @ Internal POS w/limit (3:$ 2:$/Char 1:#limit -> #pos) 6475C :: HP:CHR>$ 64775 :: HP:STRIPTAGS 647A2 :: HP:STRIPTAGSl2 647A2 @ Internal DTAG level 2 object 647BB :: HP:TAGOBS 647BB @ Tags objects on stack (...2:Ob2 1:{"tagn"..."tag2"}) 6480B P HP:NEXTCOMPOB 6480B @ Return ob with offset (GETI !!) (Use starting offset #5) 6480B @ (2:comp 1:#offset -> 4:comp 3:#nextoffset 2:ob 1:True /2:comp 1:False) 648BD :: HP:>LASTRAM-WOR 648EF CD 64B12 # HP:FORTYFOUR 64B12 # NS:##2C 64B1C # HP:FORTYFIVE 64B1C # NS:##2D 64B26 # HP:FORTYSIX 64B26 # NS:##2E 64B30 # HP:FORTYSEVEN 64B30 # dir 64B30 # NS:##2F 64B3A # HP:FORTYEIGHT 64B3A # NS:##30 64B44 # HP:FORTYNINE 64B44 # NS:##31 64B4E # HP:FIFTY 64B4E # NS:##32 64B58 # HP:FIFTYONE 64B58 # NS:##33 64B62 # HP:FIFTYTWO 64B62 # NS:##34 64B6C # HP:FIFTYTHREE 64B6C # HP:STRLIST 64B6C # NS:##35 64B76 # HP:FIFTYFOUR 64B76 # NS:##36 64B80 # HP:FIFTYFIVE 64B80 # NS:##37 64B8A # HP:FIFTYSIX 64B8A # NS:##38 64B94 # HP:FIFTYSEVEN 64B94 # NS:##39 64B9E # HP:FIFTYEIGHT 64B9E # NS:##3A 64BA8 # HP:FIFTYNINE 64BA8 # NS:##3B 64BB2 # HP:SIXTY 64BB2 # NS:##3C 64BBC # HP:SIXTYONE 64BBC # NS:##3D 64BC6 # HP:SIXTYTWO 64BC6 # NS:##3E 64BD0 # HP:SIXTYTHREE 64BD0 # lreal 64BD0 # NS:##3F 64BDA # HP:BINT40h 64BDA # HP:SIXTYFOUR 64BDA # HP:YHI 64BDA # NS:##40 64BE4 # HP:ARRYREAL 64BE4 # HP:BINT_65d 64BE4 # NS:##41 64BEE # HP:FOURTWO 64BEE # NS:##42 64BF8 # HP:FOURTHREE 64BF8 # NS:##43 64C02 # HP:SIXTYEIGHT 64C02 # NS:##44 64C0C # HP:FOURFIVE 64C0C # NS:##45 64C16 # HP:SEVENTY 64C16 # NS:##46 64C20 # HP:SEVENTYFOUR 64C20 # NS:##4A 64C2A # HP:SEVENTYNINE 64C2A # lcmp 64C2A # NS:##4F 64C34 # HP:EIGHTY 64C34 # NS:##50 64C3E # HP:EIGHTYONE 64C3E # HP:LISTREAL 64C3E # NS:##51 64C48 # HP:LISTCMP 64C48 # NS:##52 64C52 # HP:FIVETHREE 64C52 # NS:##53 64C5C # HP:FIVEFOUR 64C5C # NS:##54 64C66 # HP:2LIST 64C66 # NS:##55 64C70 # HP:FIVESIX 64C70 # NS:##56 64C7A # HP:LISTLAM 64C7A # NS:##57 64C84 # HP:BINT_91d 64C84 # NS:##5B 64C8E # HP:BINT_96d 64C8E # NS:##60 64C98 # HP:IDREAL 64C98 # NS:##61 64CA2 # NS:##62 64CAC # HP:ONEHUNDRED 64CAC # NS:##64 64CB6 # NS:##65 64CC0 # NS:##6F 64CC0 # HP:char 64CCA # NS:##70 64CD4 # NS:##71 64CDE # NS:##72 64CE8 # NS:##73 64CE8 # HP:BINT_115d 64CF2 # NS:##74 64CF2 # HP:BINT_116d 64CFC # NS:##75 64D06 # HP:BINT_122d 64D06 # NS:##7A 64D10 # HP:BINT80h 64D10 # NS:##80 64D1A # HP:BINT_130d 64D1A # HP:XHI-1 64D1A # NS:##82 64D24 # HP:BINT_131d 64D24 # HP:XHI 64D24 # NS:##83 64D2E # NS:##8F 64D2E # lib 64D38 # HP:SYMBREAL 64D38 # NS:##91 64D42 # NS:##92 64D4C # NS:##9A 64D56 # HP:SYMBUNIT 64D56 # NS:##9E 64D60 # NS:##9F 64D60 # bak 64D6A # HP:SYMOB 64D6A # NS:##A0 64D74 # HP:SYMREAL 64D74 # NS:##A1 64D7E # NS:##A2 64D88 # NS:##A5 64D92 # HP:SYMID 64D92 # NS:##A6 64D9C # HP:SYMLAM 64D9C # NS:##A7 64DA6 # NS:##A9 64DB0 # HP:SYMSYM 64DB0 # NS:##AA 64DBA # HP:SYMEXT 64DBA # NS:##AE 64DC4 # NS:##B1 64DCE # NS:##BB 64DD8 # HP:BINTC0h 64DD8 # NS:##C0 64DE2 # HP:2GROB 64DE2 # NS:##CC 64DEC # HP:TAGGEDANY 64DEC # NS:##D0 64DF6 # HP:EXTREAL 64DF6 # NS:##E1 64E00 # HP:EXTSYM 64E00 # NS:##EA 64E0A # HP:2EXT 64E0A # NS:##EE 64E14 # HP:ROMPANY 64E14 # NS:##F0 64E1E # HP:BINT253 64E1E # NS:##FD 64E28 # HP:BINT255d 64E28 # NS:##FF 64E32 # HP:REALOBOB 64E32 # NS:##100 64E3C # HP:#_102 64E3C # NS:##102 64E46 # NS:##106 64E50 # NS:##107 64E5A # NS:##110 64E64 # HP:3REAL 64E64 # NS:##111 64E6E # NS:##123 64E78 # NS:##124 64E82 # NS:##131 64E8C # NS:##132 64E96 # NS:##133 64EA0 # NS:##134 64EAA # NS:##135 64EB4 # NS:##136 64EBE # NS:##137 64EC8 # NS:##138 64ED2 # NS:##139 64EDC # NS:##13A 64EE6 # NS:##13B 64EF0 # NS:##13D 64EFA # NS:##13E 64F04 # HP:INTEGER337 64F04 # NS:##151 64F0E # NS:##200 64F18 # NS:##205 64F22 # NS:##311 64F2C # NS:##411 64F36 # NS:##412 64F40 # NS:##444 64F4A # NS:##451 64F54 # NS:##452 64F5E # NS:##510 64F68 # NS:##511 64F72 # NS:##550 64F7C # NS:##610 64F86 # NS:##650 64F90 # NS:##700 64F9A # NS:##861 64FA4 # NS:##862 64FAE # NS:##865 64FB8 # NS:##86E 64FC2 # NS:##A03 64FC2 # HP:ATTNERR 64FCC # NS:##A11 64FD6 # NS:##A12 64FE0 # NS:##A1A 64FEA # NS:##A21 64FF4 # NS:##A22 64FFE # NS:##A2A 65008 # NS:##A61 65012 # NS:##A62 6501C # NS:##A65 65026 # NS:##A6E 65030 # NS:##AA1 6503A # NS:##AA2 65044 # NS:##AAA 6504E # NS:##C06 65058 # NS:##C07 65062 # NS:##C08 6506C # NS:##C0A 6506C # HP:Connecting 65076 # NS:##C0B 65080 # NS:##DFF 6508A # NS:##E00 6508A # HP:EXTOBOB 65094 # NS:##70000 6509E # NS:##FFFFF 6509E # HP:MINUSONE 650A8 % HP:%e 650BD % HP:%.5 650D2 % NS:%-.5 650E7 % HP:%10 650FC % HP:%180 65111 % NS:%200 65126 % HP:%360 6513B % NS:%400 65150 $ NS:tok] 6515C $ "[ " 6516A $ NS:tok[ 65176 $ HP:tok{ 65182 $ NS:tok} 6518E $ HP:toksharp 6518E $ NS:tok# 6519A $ "_" 651A6 $ NS:tok$ 651B2 $ NS:tok& 651BE $ HP:tokESC 651CA $ NS:tok>> 651D6 $ HP:tok<< 651E2 $ HP:tokexponent 651E2 $ NS:tokE 651EE $ "\200" 651EE $ "\<)" 651FA $ "\205" 651FA $ "Sigma" 65206 $ NS:tok| 65212 $ NS:14SPACE$ 65238 $ HP:NEWLINE$ 65244 $ tokder 65254 $ HP:SPACE$ 65254 $ HP:tok_ 65260 $ $_UNKNOWN 65278 $ HP:tokquote 65278 @ """ 65284 $ HP:tok' 65290 $ HP:tok, 6529C $ HP:tok. 652A8 $ NS:tok; 652B4 $ NS:tok( 652C0 $ NS:tok) 652CC $ NS:tok^ 652D8 $ NS:tok* 652E4 $ NS:tok/ 652F0 $ NS:tok+ 652FC $ HP:tok- 65308 $ HP:tok= 65314 $ "\203" 65314 $ NS:toksqrt 65320 $ "\210" 6532C $ NS:$_GROB 6533E $ NS:$_C$ 6534C $ HP:tok0 65358 $ HP:tok1 65364 $ NS:tok2 65370 $ NS:tok3 6537C $ NS:tok4 65388 $ NS:tok5 65394 $ NS:tok6 653A0 $ NS:tok7 653AC $ HP:tok8 653B8 $ HP:tok9 653C4 # <726A5h> 653C4 @ Reference to message table for library 00B (XLIB 11) 653CE # <72704h> 653CE @ Reference to message table for library 001 (XLIB 1) 653D8 # <72DCFh> 653D8 @ Reference to message table for library 002 (XLIB 2) 653E2 # <72F1Eh> 653E2 @ Reference to message table for library 003 (XLIB 3) 653EC # <736F9h> 653EC @ Reference to message table for library 005 (XLIB 5) 653F6 # <7232Ch> 653F6 @ Reference to message table for library 00C (XLIB 12) 65400 # <7260Ah> 65400 @ Reference to message table for library 00D (XLIB 13) 6540A # <72281h> 6540A @ Reference to message table for library 00A (XLIB 10) 65414 # <72FE6h> 65414 @ Reference to message table for library 006 (XLIB 6) 6541E ch HP:CHR_00 65425 ch HP:CHR_... 6542C ch HP:CHR_DblQuote 65433 ch HP:CHR_# 6543A ch HP:CHR_* 65441 ch HP:CHR_+ 65448 ch HP:CHR_, 6544F ch HP:CHR_- 65456 ch HP:CHR_. 6545D ch HP:CHR_/ 65464 ch HP:CHR_0 6546B ch HP:CHR_1 65472 ch HP:CHR_2 65479 ch HP:CHR_3 65480 ch HP:CHR_4 65487 ch HP:CHR_5 6548E ch HP:CHR_6 65495 ch HP:CHR_7 6549C ch HP:CHR_8 654A3 ch HP:CHR_9 654AA ch HP:CHR_: 654B1 ch HP:CHR_; 654B8 ch HP:CHR_< 654BF ch HP:CHR_= 654C6 ch HP:CHR_> 654CD ch HP:CHR_A 654D4 ch HP:CHR_B 654DB ch HP:CHR_C 654E2 ch HP:CHR_D 654E9 ch HP:CHR_E 654F0 ch HP:CHR_F 654F7 ch HP:CHR_G 654FE ch HP:CHR_H 65505 ch HP:CHR_I 6550C ch HP:CHR_J 65513 ch HP:CHR_K 6551A ch HP:CHR_L 65521 ch HP:CHR_M 65528 ch HP:CHR_N 6552F ch HP:CHR_O 65536 ch HP:CHR_P 6553D ch HP:CHR_Q 65544 ch HP:CHR_R 6554B ch HP:CHR_S 65552 ch HP:CHR_T 65559 ch HP:CHR_U 65560 ch HP:CHR_V 65567 ch HP:CHR_W 6556E ch HP:CHR_X 65575 ch HP:CHR_Y 6557C ch HP:CHR_Z 65583 ch HP:CHR_a 6558A ch HP:CHR_b 65591 ch HP:CHR_c 65598 ch HP:CHR_d 6559F ch HP:CHR_e 655A6 ch HP:CHR_f 655AD ch HP:CHR_g 655B4 ch HP:CHR_h 655BB ch HP:CHR_i 655C2 ch HP:CHR_j 655C9 ch HP:CHR_k 655D0 ch HP:CHR_l 655D7 ch HP:CHR_m 655DE ch HP:CHR_n 655E5 ch HP:CHR_o 655EC ch HP:CHR_p 655F3 ch HP:CHR_q 655FA ch HP:CHR_r 65601 ch HP:CHR_s 65608 ch HP:CHR_t 6560F ch HP:CHR_u 65616 ch HP:CHR_v 6561D ch HP:CHR_w 65624 ch HP:CHR_x 6562B ch HP:CHR_y 65632 ch HP:CHR_z 65639 ch HP:CHR_-> 65640 ch HP:CHR_<< 65647 ch HP:CHR_>> 6564E ch HP:CHR_Angle 65655 ch HP:CHR_Deriv 6565C ch HP:CHR_Integral 65663 ch HP:CHR_LeftPar 6566A ch HP:CHR_Newline 65671 ch HP:CHR_Pi 65678 ch HP:CHR_RightPar 6567F ch HP:CHR_Sigma 65686 ch HP:CHR_Space 6568D ch HP:CHR_UndScore 65694 ch HP:CHR_[ 6569B ch HP:CHR_] 656A2 ch HP:CHR_{ 656A9 ch HP:CHR_} 656B0 ch HP:CHR_<= 656B7 ch HP:CHR_>= 656BE ch HP:CHR_<> 656C5 $ HP:$_R<< 656D5 $ HP:$_R> 65703 $ HP:$_{} 65711 $ HP:$_[] 6571F $ HP:$_'' 6572D $ HP:$_:: 6573B $ HP:$_LRParens 6573B $ NS:$_() 65749 $ HP:$_2DQ 65757 $ HP:$_ECHO 65769 $ HP:$_EXIT 6577B $ HP:$_Undefined 65797 $ HP:$_RAD 657A7 $ HP:$_GRAD 6594E P HP:putnibs 6595A P HP:getnibs 659DE :: HP:Symb>HBuff 659DE @ Draws symbolic to HBUFF (1:sym) (Saves current application 1st) 65A06 :: 65A29 :: NOP:: 65A29 @ A NOP program ( :: NOP ; ) 65A38 :: NOP:: 65A38 @ A NOP program ( :: NOP ; ) 65A47 :: 65A6F :: 65A83 :: 65ABF :: 65AF1 :: 65B23 :: 65BAA :: 65BC8 :: 65BF5 :: 65C3B :: 65C54 :: 65C81 :: 65CCC {} null{} 65CD6 P 65E5C P 65EAC P 65EE1 :: 65EF5 P 65F06 :: 65F1A P 65FC8 P 65FF6 :: 66055 :: 66091 :: 660FF :: 66118 :: 3PICK#1-SWAP#1+ 66118 @ (3:#a 2:#b 3:#c -> 4:#a 3:#b 2:#a-1 1:#c+1) 6619A :: 661B8 :: 661DB :: 661FE P 6622E P 66274 P 66287 P 6629F P 66300 P 66332 :: 6634B P 663D3 P 663E9 P 663FF P 66415 P 66425 P 6645B P 6646E P 66481 P 66494 P 664C6 :: 664E9 :: 66502 :: 6651B P 66527 P 6655F P 66597 P 665C1 P 665E7 :: 6660F :: 6662D P 6668A :: 666B2 :: 666DA :: 666F8 :: 6672F :: 6675C :: 66793 P 667E8 P 667FD P 66852 P 66864 P 66991 P 66B4A P 66B74 P 66BCB P 66C1B :: 66C39 :: 66C7A :: 66CB1 :: 66CCA :: 66CDE :: 66CF2 :: 66D06 gr BlankedSmall 66D06 @ blanked cursor (Graphic 4 x 6) 66D26 gr SigmaBig 66D26 @ big Sigma (Graphic 16 x 18) 66D82 gr 2DotsGrob 66D82 @ ?? two vertical dots (Graphic 3 x 8) 66DA6 gr Dots2Grob 66DA6 @ ?? two vertical dots (Graphic 3 x 6) 66DC6 gr CloseParenSmall 66DC6 @ small close paren (Graphic 6 x 6) 66DE6 gr OpenParenSmall 66DE6 @ small open paren (Graphic 6 x 6) 66E06 :: 20GETLAM#1>case_Dots2Grob_2DotsGrob 66E29 :: 20GETLAMZERO#=casedropEqWriterCursorBigONE#=caseMedium_Small 66E5B :: 20GETLAMZERO#=casedropBlankedCursorBigONE#=caseMedium_Small 66E8D gr NullGrob2 66E8D @ Graphic template (Graphic 0 x 0) 66EA5 gr HP:BigCursor 66EA5 @ Equation Writer cursor (big) (Graphic 6 x 10) 66ECD gr HP:MediumCursor 66ECD @ Equation Writer cursor (mediam) (Graphic 6 x 8) 66EF1 gr HP:SmallCursor 66EF1 @ Equation Writer cursor (small) (Graphic 4 x 6) 66F11 gr NS:MediumBlank 66F11 @ blanked cursor (Graphic 6 x 8) 66F35 gr NS:BigBlank 66F35 @ blanked cursor (Graphic 6 x 10) 66F5D gr NS:BigArrow 66F5D @ inverse arrow up (Graphic 7 x 5) 66F7D gr NS:SmallArrow 66F7D @ inverse arrow up (Graphic 5 x 4) 66F99 :: 66FAD CD 67096 P 67105 P 6713B P 67158 P 67167 P 67284 :: 672C5 :: 672ED :: 67315 :: 6732E :: 67347 :: 67360 :: 67365 $ "d" 6737B # <206h> 67385 # 6738F :: DoBadKeyFlashMsg 673A3 :: 673B7 :: 673EE :: 67529 :: 67542 :: 67574 :: 675F1 :: 6760A :: 67623 :: 67646 # <80000h> 67678 :: 67696 :: 676AF :: 676EB :: 67731 :: 67759 :: 677B8 :: 67808 :: 6782B :: 6784E :: 678A3 :: 678BC :: 67902 :: 67925 :: 67970 :: 6797F :: 679A2 :: 679DE :: 67A2E :: 67A51 :: 67A74 :: 67ACE :: 67AF1 :: 67B96 :: 67C18 :: 67C2C :: 67C8B :: 67D12 # <80000h> 67D3A :: 67D71 :: 67DC1 :: 67E1B :: 67E57 :: 67E75 :: 67E84 :: ZEROSWAPTWO 67E84 :: X>0X2 67EED :: 67F24 :: 67F42 :: 67F83 :: 67F97 :: 67FAB :: 67FBF :: 67FE7 :: 68041 :: 6805A :: 680B4 :: DROPFALSETRUE 680B4 :: X>FT 68122 :: 68140 :: 68159 :: metatailNDROP 68159 @ (Meta #n -> #n-1-size(Meta) ) 681AE :: 68230 :: 682B2 :: 682F8 P 68394 P 6840C :: 68434 :: 6847F :: 68484 {} null{} 684A7 :: 6851F :: 68529 :: tok=TRUE 68529 :: "="TRUE 6855B :: 68565 :: ")"TRUE 68597 :: 685A1 :: 685C9 :: 685E2 :: 6860A :: 68632 :: 6866E # <80000h> 686B4 :: 686D7 :: 6871D :: 68736 :: SWAPDROPTRUE 68736 :: XY>YT 6874A :: 68777 P 68783 P 688DF :: 68911 :: 68961 :: 68998 :: 689CF :: 689FC :: 68A33 P 68A9C P 68B11 :: 68B39 :: 68B57 P 68B7B :: NS:EqWriter 68B7B @ Enter Equation Writer with no equation 68BA3 :: 68BDA :: NS:>EqWriter 68BDA @ Enter Equation Writer (1:ALG/UM -> 2:ALG/UM 1:T | 1:F ) 68C02 :: 68C6B :: 68C84 :: 68C9D :: 68CD9 :: 68D0B :: 68D56 :: 68DB0 :: 68DBF :: TRUE19PUTLAM 68DDD :: 68E00 :: 68E37 :: 68E69 :: 68EC3 :: KEYINBUFFER?17GETLAMAND 68EDC :: 68EF5 :: 68F13 :: 68F77 :: 68FBD :: 68FCC :: 68FF4 :: 69067 :: 6908A :: 10&9GETLAMLAST$ 690A3 :: 690E9 :: 6910C :: NS:OVER&$&$ 6910C @ (2:$ 1:$ -> 1:$) (2:"2" 1:"1" -> 1:"212") 6913E :: ?TogU/LCaseCHR>$ 6916B :: 691A7 :: 691D4 :: 691E3 :: 69206 :: 6922E :: 692B0 :: 692CE :: 692E7 :: 69305 :: 6932D :: 6935F {} 69373 :: 693CD {} 6943B :: 69454 {} 69454 @ { DoENTERkey NOP EVAL EVAL ->NUM ->NUM } 6947C ch CHR_' 69483 ch CHR_@ 6948A {} 69494 :: 51SysITECHR_;CHR_; 694B7 :: 51SysITECHR_,CHR_. 694E4 :: '_ 69511 :: 6952A :: 69543 :: 51SysITECHR_;CHR_, 69566 :: 69584 :: 695A2 :: 695E3 :: 10GETSWAP&$10PUTLAM 695FC :: 69610 :: 69647 :: 69688 :: 10GET&RATIO$10PUTLAM 69692 $ " RATIO " 696B9 :: 696D7 :: 69727 :: 69740 :: 69763 :: 6978B :: 697AE :: 697B3 # <201h> 697DB :: 697FE :: 69808 # <202h> 6983F :: 6987B :: 69899 :: 698F8 :: 69920 :: 69948 :: 6997A :: 699A7 :: 699C5 :: NS:SYMBTOHBUFF 699C5 @ Draws symbolic to HBUFF, (Called by Symb>HBuff) (1:sym) 699ED :: 69A92 {} EqWriterLAMS{} 69A97 l' LAM_'Radix 69AAA l' LAM_'KeysOk? 69AC1 l' LAM_'ExprLit 69AD8 l' LAM_'BuffW 69AEB l' LAM_'BuffH 69AFE l' LAM_'SaveBlank 69B19 l' LAM_'ManOp 69B2C l' LAM_'nohalt 69B41 l' LAM_'AppMode 69B58 l' LAM_'NameGrob 69B71 l' LAM_'EXITFCN 69B88 l' LAM_'FontGauge 69BA3 l' LAM_'LE 69BB0 l' LAM_'LB 69BBD l' LAM_'TE 69BCA l' LAM_'FormEnvOk 69BE5 l' LAM_'prow 69BF6 l' LAM_'pcol 69C07 l' LAM_'cursy 69C1A l' LAM_'cursx 69C2D l' LAM_'ttt 69C3C l' LAM_'source 69C51 l' LAM_'ofs 69C60 l' LAM_'tok 69C6F l' LAM_'rbv 69C7E l' LAM_'idfflg 69C93 l' LAM_'tmpop 69CA6 l' LAM_'tmppdat 69CBD l' LAM_'ploc 69CCE l' LAM_'bv 69CDB l' LAM_'unbound 69D0B :: 69D74 :: 69DA6 :: 69DC9 :: 69DE2 :: 69E05 :: 69E2D :: 69E46 :: 69E78 :: 69EBE :: 69EF0 :: 69F09 :: 69F36 :: 69F7C :: 69FD6 :: 6A049 :: 6A062 :: SETExprLit 6A080 :: CLRExprLit 6A09E :: 9&10GETLAMLEN$#> 6A0BC :: FALSE17PUTLAM 6A0D0 P Tst_7068D:1 6A0E1 P Set_7068D:1 6A0F2 P Clr_7068D:1 6A103 :: 6A1C6 :: 6A1E4 :: 6A225 :: 6A25C :: 6A2DE :: 6A324 :: 6A34C :: 6A374 :: 6A39C :: 6A41E :: 6A43C :: 6A478 :: 6A49B :: 6A4AF :: 6A4DC :: 6A4F0 :: TakeOverDoNextRowDispMenu 6A513 :: TakeOverDoPrevRowDispMenu 6A536 :: TakeOverDoFirstRowDispMenu 6A559 :: EQWRmenu 6A563 {} EQWRlist 6A568 {} RULESkey 6A56D :: RULESkeyprg 6A577 $ "RULES" 6A59A {} EQWREDITkey 6A59F $ "EDIT" 6A5BB {} EQWREXPRkey 6A5C0 $ "EXPR" 6A5DC {} EQWRSUBkey 6A5E1 $ "SUB" 6A5FB {} EQWRREPLkey 6A600 $ "REPL" 6A61C {} EQWREXITkey 6A63A :: 6A676 :: 6A68A :: 6A69E :: 6A6FD :: 6A72F :: 6A743 :: 6A789 :: 6A7AC :: 6A7B1 # <201h> 6A7DE :: 6A7E3 # <202h> 6A81A :: 6A865 :: 6A8A6 :: 6A8EC :: DoBadKeyNDROPNDROP 6A90A :: 6A923 :: 6A950 :: 6A99B :: 6A9B9 :: 6A9DC :: 6AA09 :: 6AA1D :: 6AA31 :: 6AA4A :: DROPNULLALG 6AA6D :: 6AAAE :: 6AAD1 :: 6AAE0 :: 6AB17 :: 6AB3F :: 6AB71 :: 6AB85 :: 6ABAD :: 6ABDA :: 6AC02 :: 6AC57 :: 6AC89 :: 6ACBB :: 6AD5B :: 6AD8D :: 6ADE2 :: 6AE14 :: 6AE6E :: 6AED2 :: 6AF09 :: NS:DoBadKeyFALSE 6AF31 :: 6AF40 :: 6AF9F :: 6AFE5 :: 6B017 # <80000h> 6B030 :: 6B035 # <80000h> 6B049 :: 6B062 :: 6B08A :: NS:UNROT2DRPTRUE 6B08A :: XYZ>ZT 6B0CB :: 6B0EE :: 6B111 :: 6B13E :: 6B15C :: 6B17A :: 6B198 :: 6B1C0 :: 6B1DE :: 6B1F7 :: 6B229 :: 6B265 :: 6B2B0 :: 6B2D3 :: 6B2F6 :: EQWRFNCAPPLY 6B355 :: NS:EQWRNEG 6B3A5 :: NS:EQWRNOP 6B3F5 :: NS:EQWRNOT 6B413 $ "NOT " 6B475 :: 6B4CF :: 6B501 :: 6B51A :: 6B547 :: 6B5C4 # <4Dh> 6B5D3 :: 6B619 :: 6B696 # <61h> 6B6A5 :: 6B6FF # <39h> 6B70E :: 6B786 :: 6B7A4 :: 6B7CC :: 6B844 :: 6B86C :: NS:EQWRSQRT 6B8A8 :: NS:EQWRXROOT 6B952 # <4Dh> 6B966 :: 6B9E3 :: 6BA7E :: 6BA97 :: NS:EQWR+ 6BA97 :: NS:EQWR- 6BA97 :: NS:EQWR* 6BA97 :: EQWRUNIT 6BAE2 :: 6BB23 :: 6BC4F :: 6BC86 :: 6BCB8 :: 6BCE5 :: NS:EQWR! 6BD44 :: 6BD7B :: NS:EQWRWHERE 6BE1B :: 6BE39 :: 6BEC0 # <39h> 6BECF :: 6BF0B :: 6BF10 # <4Dh> 6BF29 # <56h> 6BF38 # <50h> 6BF51 :: 6BFA6 :: 6BFE2 :: 6C00A :: 6C02D :: NS:EQWR/ 6C069 :: NS:EQWRRATIO 6C113 :: 6C2A8 :: 6C2D0 :: 6C3A7 :: 6C3D4 :: 6C406 :: 6C44C :: 6C46F :: 6C497 :: 6C4D3 :: NS:EQWR^ 6C50F :: 6C541 :: 6C596 :: NS:EQWRINTG 6C61D # 6C62C :: 6C68B # <93h> 6C69A :: 6C6AE :: 6C6E0 :: 6C744 # <4Dh> 6C753 :: 6C79E :: 6C7C1 :: 6C7E4 :: 6C852 :: 6C88E :: 6C8B6 :: 6C947 # <7Fh> 6C956 :: 6C9C9 # <43h> 6C9D8 :: 6CA41 :: 6CA96 :: 6CACD :: 6CB0E :: 6CB59 :: 6CB90 :: NS:EQWRDER 6CC30 # <61h> 6CC3F :: 6CCE4 :: 6CD2A :: 6CD57 :: 6CD9D :: 6CDBB :: 6CE01 :: 6CE1A :: #2/SWAP#2/ 6CE33 :: 6CE51 :: 6CE6F :: 6CE88 :: ZERODUPDUPSEVEN 6CEA1 :: 6CEB5 :: 6CEC9 :: 6CEE2 :: 6CF05 :: 6CF32 :: 6CF78 :: 6CFB4 :: 6CFBE # <6Fh> 6CFDC :: 6D03B :: 6D059 :: 6D0AE :: 6D10D :: 6D144 {} 6D176 :: 6D1BC :: 6D1C1 $ " " 6D1F5 :: 6D22C :: 6D24A :: 6D28B P #NS:-OVF 6D28B @ #- with no wraparound (no 'negative' results) 6D2B1 ch CHR_? 6D2B8 P Get_70777.3 6D2D8 P Sto_70777.3 6D2FF :: 6D327 :: 6D340 :: 6D368 :: 6D37C P 6D3D3 :: 6D3EC :: 6D414 :: NS:4ROLLDROPTRUE 6D414 :: XYZW>YZWT 6D45F :: 6D496 :: INCR#20LAM 6D4AF :: 6D4CD :: 6D4FA :: 6D522 :: 6D545 :: 6D568 :: 6D58B :: DROP:: 6D59A :: 6D608 :: 6D64E :: 6D699 :: 6D6A3 # <45h> 6D6BC :: 6D6FD :: 6D71B :: 6D739 :: 6D775 :: 6D79D :: 6D801 :: 6D82E :: 6D892 :: 6D8B0 :: 6D8E2 # <43h> 6D905 :: 6D919 :: 6D94B :: 6D969 :: 6D98C # <68h> 6D9AF :: 6D9BE :: TWONTHCOMPDROPCOLA_EVAL 6D9FF :: 6DA63 :: 6DA72 :: 6DAB3 :: 6DAD6 # <3Ah> 6DB3A :: 6DB58 :: 6DB62 # <36h> 6DBAD :: 6DC02 :: 6DC57 :: 6DC7A :: 6DD3D :: 6DD42 :: 6DD47 :: 6DD83 :: 6DDCE :: 6DDE7 :: 6DE0A :: 6DE50 :: NS:EQWR= 6DE5A :: 6DEAA :: 6DEB9 :: 6DEE6 :: 6DF04 :: 6DF1D :: 6DF54 :: 6DF7C :: 6DF9F :: 6DFF4 :: 6E049 :: 6E099 :: 6E0D0 :: 6E143 :: UPPER#> 6E143 :: NS:#7FFFF> 6E148 # NS:##7FFFF 6E15C :: 6E189 :: 6E1A7 :: 6E1E8 :: 6E206 :: 6E21A :: 6E25B :: NS:2DROPSWAP 6E292 :: 3DROPZERO 6E2D8 :: 6E350 :: 6E369 :: ROTDROPZEROUNROT 6E382 :: 6E39B :: 6E3F5 :: 6E41D :: 6E45E :: 6E48B :: 6E4A4 :: 6E4F9 :: 6E53F :: 6E580 :: 6E5D0 :: 6E634 :: 6E661 :: NS:2DROPONE 6E6B6 :: 6E6ED :: 6E701 :: 6E729 :: 6E742 :: 6E75B :: 6E7DD :: 6E86E :: 6E8AF :: 6E8FA :: 6EA3F :: 6EA5D :: 6EA71 :: 6EA85 :: 6EA99 :: 6EABC :: SWAPOVER#- 6EAD0 :: NS:SWAPDROPZERO 6EB16 :: 6EB39 :: 6EB98 :: 6EBB6 :: 6EBD4 :: 6EC2E :: 6EC4C :: 6EC92 :: 6ECA1 :: 6ECD3 :: 6ECEC :: 6ED0F :: NS:3DRPDoBadKey 6ED23 :: 6EDA5 :: 2DROPNULL$ONE 6EDBE :: 6EDF5 :: 6EE27 :: 6EE95 :: NS:DROP#2+PICK 6EED1 :: 6EEE5 :: 6EEEF # <207h> 6EEFE :: 6EF08 # <208h> 6EF26 :: 6EF3F :: 6EF5D :: 6EF8A :: 6EFA8 :: 6EFDA :: 4DROPFALSE 6EFDA :: XYZW>F 6F01B :: 6F052 :: 6F089 :: 6F0C0 :: 6F0D4 :: 6F156 :: 6F183 :: 6F1D3 :: DROP34SWAPDUP 6F1D3 :: XYZW>WZZ 6F228 :: 6F237 :: 6F25F :: 6F2A0 :: NS:ROTNOTUNROT 6F2DC :: 6F32C :: 6F38B :: 6F3A9 :: 6F3C7 :: 6F3EF :: 6F40D :: 6F449 :: 6F48F :: 6F4CB :: 6F511 :: 6F52F :: 6F54D :: 6F5C0 :: 6F5CF :: 6F610 :: UNROT2DROPFALSE 6F610 :: XYZ>ZF 6F642 :: 6F68D :: 2DROPUNROT2DROPFALSE 6F68D :: XYZWQ>ZF 6F6CE :: 6F6E7 :: 6F705 :: 6F741 :: 6F77D :: 6F7B4 :: 6F7E6 :: 6F845 :: 6F863 :: 6F89A :: 6F8DB :: 6F912 :: 6F95D :: 6F999 :: 6FA5C :: 6FA7A :: 6FAB1 :: 6FB06 :: 6FB5B :: 6FBAB :: 6FC5A :: 6FCB4 :: 6FD1D :: 6FD81 :: 6FDB8 :: 6FDD6 :: 6FE0D :: 6FE21 :: 6FE5D :: 6FE76 :: 6FED9 :: 6FEE3 :: 6FF1F :: 6FF74 P 6FF83 P 70000 = RAMbase 7005F = SavedCRC 7005F @ 4 nibbles in RAM 70070 = HP:TIMEOUTCLK 7008C = HP:TESTMSG 700B8 = HP:SW_Image 700CE = HP:SW_ETime 700E7 = HP:COVERsave 700F1 = HP:IRAMBUFF 701F1 = HP:GraphPrtHook 701FC = RECVBUF256 701FC @ RS-232 receive buffer (256 bytes) in RAM (data added by interrupts) 70200 @ Time Init (RAM) 703FC = RECVHEAD8 703FC @ 8 nybbles for buffer head (size, get & put counters) See #31289 70401 = HP:uart_handshk 70401 @ 3[XH ? RH RF]0 RF=XOFF transmitted 70401 @ RH:RECV handshake used , XH=XMIT handshaking recognized 70402 = handshkfu 70402 @ 3[RF ? ? ?]0 RF set when buffer is almost filled, but XMIT is busy 70403 = Parity 70428 = HP:CONFTAB 7042C = 7042D = 70437 = 7044D = 70452 = 70457 = 704C3 = HP:ORghost 704BD = 704DC = HP:DISABLE_KBD 704DD = HP:KEYSTATE 704EA = HP:KEYBUFFER 7050E = 70513 = 7051B = HP:LINECOUNTg 70549 = 7054C = 70551 = HP:VDISP2 70551 @ pointer to menu display 70556 = HP:ADISP 70556 @ ptr to Stack Display 7055B = HP:VDISP 7055B @ ptr to current display 70560 = 70565 = NS:GDISP 70565 @ ptr to PICT (Grob) 7056A = DynamicStart 7056F = HP:TEMPTOP 7056F @ heap pointer 70574 = NS:RETTOP 70574 @ saved B (return stack pointer) ???????????????? 70579 = HP:DSKTOP 70579 @ saved D1 (RPL stack pointer) 7057E = NS:DSKBOT 7057E @ bottom (start) of stack (grows down) 70583 = HP:TEMPENV 70583 @ local var ptr addr 70588 = NS:LOOPTOP 70588 @ Pointer to current loop information 7058D = HP:TOUCHTAB 7058D @ ?? menu keys ?? 70592 = HOMEDIRptr 70592 @ ptr to HOME directory 70597 = HOMEENDpntr 70597 @ end HOME directory (ptr to start of port0) 7059C = NS:CONTEXTptr 7059C @ ptr to Current Directory 705A1 = NS:TMPCONTEXTptr 705A1 @ ptr to Temp Directory 705A6 = NS:UserKeysptr 705A6 @ ptr to User Keys 705AB = NS:Alarmsptr 705AB @ ptr to Alarm List 705B0 = NS:RPLTOP 705B0 @ saved D0 (RPL thread pointer) 705B5 @ temp save A.A 705BA = ArgPntrs 705BA @ Saved argument pointers (15 Nibbles) 705BF = Arg2 705C4 = Arg3 705C9 = Something to do with last args 705CE = Something to do with last args 705D3 = 705D3 @ somelocation in ram (HXS B8 xxxxxxx...xxxx ???) 705D9 @ ROM: ML Version Output 705DD = Last command?????????? (2 words area??) 70600 = STK1#place 70600 @ Storage for the pointer to Level1 Object 70605 = AppDisplayptr 7060A = AppKeysptr 7060F = AppExitCondptr 70614 = AppErrorptr 7061E = CurMenuptr 70623 = LastMenuptr 70637 = MenuKeysptr 7063C = MenuKeysLSptr 70641 = MenuKeysRSptr 70646 = HP:ReviewKey 7064B = SAVEDCONTEXTpntr 7064B @ pntr to saved CONTEXT ??? 70655 = ExitActionptr 7065A = LastCmdptr 7065A @ Last command saved (#03FEF is pntr to #0 = no cmd) 70669 = 7066E = NS:FREETOP 7066E @ saved D (free stack space) 70673 = LastError# 70673 @ Last Error Code 70679 = HP:ATTNFLG 7067E = HP:FIRSTPROC 70683 = (4 2) 8:IgnoreAlm? 70684 = (4 set by SolverMenuInit) 2:ServerMode 1:ShowClock? 70685 = (8 clear if $ is parsed to a max length???) 1:LastStkOn? 2:INSmode? 70686 = DAOK 70686 @ 1: 2: 4: 8:PortmenuOn? 70686 @ (ClrDA3OK clr 4) (freeze_stack_alt2 1) 2 (freeze_menu_alt3 4) 70687 @ 1:LastCmdOn? 4:Lower case? 70688 = Freezeflags 70688 @ 8:Frozen_status_alt2 2:AppSuspOK 1:User1Mode 70689 = DAValidF 70689 @ 1:DA1ValidF 2:DA2aValidF 4:DA2bValidF 8:DA3ValidF 7068A = DANoCh 7068A @ 1:DA1NoCh 2:DA2aNoCh 4:DA2bNoCh 8:DA3NoCh 7068B = DABad 7068B @ 1:DA1Bad 2:DA2aBad 4:DA2bBad? 8:DA3Bad 7068C = AppFlags1 7068C @ 8:Appmode 4:StdKeys? 2:NAppKeyOK 1:ImmedEntry? 7068D = AppFlags2 7068D @ 8:StdKeys 7068E = ClkFlags 7068E @ 1:DA1IsStat 7069F = STKSIZE 7069F @ Stack Size (nibbles) 706A4 @ Random Seed 706B8 = #LastAlarm?? 706BD = 706C3 = 706C5 = HP:SystemFlags 706C5 @ RPL System Flags -1 thru -4 706C6 @ RPL System Flags -5 thru -8 706C7 @ RPL System Flags -9 thru -12 706C8 @ RPL System Flags -13 thru -16 706C9 @ RPL System Flags -17 thru -20 706CA @ RPL System Flags -21 thru -24 706CB @ RPL System Flags -25 thru -28 706CC @ RPL System Flags -29 thru -32 706CD @ RPL System Flags -33 thru -36 706CE @ RPL System Flags -37 thru -40 706CF @ RPL System Flags -41 thru -44 706D0 @ RPL System Flags -45 thru -48 706D1 @ RPL System Flags -49 thru -52 706D2 @ RPL System Flags -53 thru -56 706D3 @ RPL System Flags -57 thru -60 706D4 @ RPL System Flags -61 thru -64 706D5 = NS:UserFlags 706D5 @ RPL System Flags 1 thru 4 706D6 @ RPL System Flags 5 thru 8 706D7 @ RPL System Flags 9 thru 12 706D8 @ RPL System Flags 13 thru 16 706D9 @ RPL System Flags 17 thru 20 706DA @ RPL System Flags 21 thru 24 706DB @ RPL System Flags 25 thru 28 706DC @ RPL System Flags 29 thru 32 706DD @ RPL System Flags 33 thru 36 706DE @ RPL System Flags 37 thru 40 706DF @ RPL System Flags 41 thru 44 706E0 @ RPL System Flags 45 thru 48 706E1 @ RPL System Flags 49 thru 52 706E2 @ RPL System Flags 53 thru 56 706E3 @ RPL System Flags 57 thru 60 706E4 @ RPL System Flags 61 thru 64 706E7 = 706EC = 706F6 = 706FD = #ArgPntrs 706FD @ Number of argument pointers saved in ArgPntrs (705BA) 706FF = SavedLastError# 706FF @ Saved Last Error code 70704 = CmdPosit# 70704 @ Position (total) of the cursor in the command-line 70709 = CmdLPosit# 70709 @ Position (line) of the cursor in the command-line 7070E = 70710 = 70713 @ GROB for displaying lines of stack. Enough mem for 19 char bitmap 7074E = 7074F = 70763 = ERROR#place 70763 @ Storage location for #errornumber 70764 @ st_save 70770 = NS:DcompWidth 70770 @ Max string compile length 70793 = NS:DelayedA 70793 @ Delayed alpha lock indicator 70794 = NS:PrgmEntry 70794 @ PRG mode indicator 70796 = MATRWRwidth 70798 = MATRWRGOdirection 7079D = HP:ClkOnNib 707C9 = NS:CurMenuOffset 707D3 @ Last Menu Offset 707D9 = HP:ROMPTAB 707D9 @ Known Libraries (count:3 lib#:3 adr:5 lib#:3 adr:5,...) 70844 @ GROB for menu display: 8 by 131 70865 @ 4:AlgEntryOn? 70968 @ GROB for the rest of the screen: 56 by 131 710EC @ GROB for plot display: variable size 71AD8 @ ASCIC: Version 71AF6 @ ASCIC: Copyright 72000 @ Message table for library 000 (XLIB 0) 72281 @ Message table for library 00A (XLIB 10) 7232C @ Message table for library 00C (XLIB 12) 7260A @ Message table for library 00D (XLIB 13) 726A5 @ Message table for library 00B (XLIB 11) 72704 @ Message table for library 001 (XLIB 1) 72DCF @ Message table for library 002 (XLIB 2) 72F1E @ Message table for library 003 (XLIB 3) 72FE6 @ Message table for library 006 (XLIB 6) 736F9 @ Message table for library 005 (XLIB 5) 7427C #h HashTable700 7427C @ Hash table for library 700 (XLIB 1792) 7448A #h HashTable002 7448A @ Hash table for library 002 (XLIB 2) 76E90 * HP:cLN1+XF 76ED9 * HP:cLNF 770A9 * HP:cEX-115F 773D7 * HP:cYX2-15 77481 * HP:cYX060 7A929 ch CHR_alpha 7A930 ch CHR_% 7A937 ch CHR_' 7A93E ch CHR_<= 7A945 ch CHR_>= 7A94C ch CHR_<> 7A953 $ $_== 7A961 ch CHR_~ 7A968 ch CHR_beta 7A96F ch CHR_Delta 7A976 ch CHR_delta 7A97D ch CHR_epsilon 7A984 ch CHR_theta 7A98B ch CHR_gamma 7A992 ch CHR_eta 7A999 ch CHR_inv_! 7A9A0 ch CHR_inf 7A9A7 ch CHR_| 7A9AE ch CHR_up 7A9B5 ch CHR_lamda 7A9BC ch CHR_mu 7A9C3 ch CHR_|> 7A9CA ch CHR_Omega 7A9D1 ch CHR_<- 7A9D8 ch CHR_down 7A9DF ch CHR_rho 7A9E6 ch CHR_sigma 7A9ED ch CHR_tau 7A9F4 ch CHR_inv_? 7A9FB ch CHR_omega 7AA02 ch CHR_x-bar 7AA09 ch CHR_+/- 7AA10 ch CHR_Pi 7AA17 ch CHR_cents 7AA1E ch CHR_pounds 7AA25 ch CHR_yen 7AA2C ch CHR_currency 7AA33 ch CHR_degree 7AA3A ch CHR_! 7AA41 ch CHR_? 7AA48 ch CHR_& 7AA4F ch CHR_@ 7AA56 ch CHR_$ 7AA5D [] KDefs11 7AA5D @ DoMenuKey1NS DoMenuKey1LS DoMenuKey1RS CHR_A,CHR_a,CHR_alpha 7AA94 [] KDefs12 7AA94 @ DoMenuKey2NS DoMenuKey2LS DoMenuKey2RS CHR_B,CHR_b,CHR_beta 7AACB [] KDefs13 7AACB @ DoMenuKey3NS DoMenuKey3LS DoMenuKey3RS CHR_C,CHR_c,CHR_Delta 7AB02 [] KDefs14 7AB02 @ DoMenuKey4NS DoMenuKey4LS DoMenuKey4RS CHR_D,CHR_d,CHR_delta 7AB39 [] KDefs15 7AB39 @ DoMenuKey5NS DoMenuKey5LS DoMenuKey5RS CHR_E,CHR_e,CHR_epsilon 7AB70 [] KDefs16 7AB70 @ DoMenuKey6NS DoMenuKey6LS DoMenuKey6RS CHR_F,CHR_f,CHR_theta 7ABA7 [] KDefs21 7ABA7 @ DoMTHmkey,DoPRINTmkey,xPR1,CHR_G,CHR_g,CHR_gamma 7ABDE [] KDefs22 7ABDE @ DoPRGmkey,DoIOmkey,xSERVER,CHR_H,CHR_h,CHR_eta 7AC15 [] KDefs23 7AC15 @ DoCSTmkey,DoMODESmkey,DoMODESCUSTOMmkey,CHR_I,CHR_i,CHR_inf 7AC4C [] KDefs24 7AC4C @ DoVARmkey,DoMEMORYmkey,DoMEMORYARITmkey,CHR_J,CHR_j,CHR_| 7AC83 [] KDefs25 7AC83 @ DoUPkey,DoLIBRARYmkey,DoUPRSkey,CHR_K,CHR_k,CHR_up 7ACBA [] KDefs26 7ACBA @ DoNextRow,DoPrevRow,DoFirstRow,CHR_L,CHR_l,CHR_lamda 7ACF1 [] KDefs31 7ACF1 @ Do'key,xUPDIR,xHOME,CHR_M,CHR_m,CHR_' 7AD28 [] KDefs32 7AD28 @ DoSTOkey,xDEFINE,xRCL,CHR_N,CHR_n,CHR_mu 7AD5F [] KDefs33 7AD5F @ xEVAL,x>Q,x>NUM,CHR_O,CHR_o,CHR_Omega 7AD96 [] KDefs34 7AD96 @ DoLEFTkey,xGRAPH,DoLEFTRSkey,CHR_P,CHR_p,CHR_<- 7ADCD [] KDefs35 7ADCD @ DoDOWNkey,DoREVIEWkey,DoDOWNRSkey,CHR_Q,CHR_q,CHR_down 7AE04 [] KDefs36 7AE04 @ DoRIGHTkey,xSWAP,DoRIGHTRSkey,CHR_R,CHR_r,CHR_rho 7AE3B [] KDefs41 7AE3B @ xSIN,xASIN,xrpnDER,CHR_S,CHR_s,CHR_sigma 7AE72 [] KDefs42 7AE72 @ xCOS,xACOS,xrpnINTEGRAL,CHR_T,CHR_t,CHR_tau 7AEA9 [] KDefs43 7AEA9 @ xTAN,xATAN,xSUM,CHR_U,CHR_u,CHR_% 7AEE0 [] KDefs44 7AEE0 @ xSQRT,xSQ,xrpnXROOT,CHR_V,CHR_v,CHR_~ 7AF17 [] KDefs45 7AF17 @ x^,xALOG,xLOG,CHR_W,CHR_w,CHR_omega 7AF4E [] KDefs46 7AF4E @ xINV,xEXP,xLN,CHR_X,CHR_x,CHR_x-bar 7AF85 [] KDefs51 7AF85 @ DoENTERkey,DoENTERLSkey,DoENTERRSkey,DoENTERkey,CHR_&,CHR_@ 7AFBC [] KDefs52 7AFBC @ DoNEGkey,DoEDITkey,DoVISITkey,CHR_Y,CHR_y,CHR_+/- 7AFF3 [] KDefs53 7AFF3 @ DoEEXkey,Do2Dkey,Do3Dkey,CHR_Z,CHR_z,CHR_Pi 7B02A [] KDefs54 7B02A @ DoDELkey,DoPURGEkey,DoCLVARkey,DoDELkey,CHR_!,CHR_inv_! 7B061 [] KDefs55 7B061 @ DoBACKSPCkey,xDROP,xCLEAR,DoBACKSPCkey,CHR_?,CHR_inv_? 7B098 [] KDefs61 7B098 @ 1A/LockA,DoUSRkey,DoENTRYkey,Do2ALPHAkey,DoTogLowCkey,DoTogInsKey 7B0CF [] KDefs62 7B0CF @ CHR_7,DoSOLVEkey,DoSOLVRkey,CHR_7,Do0ChrInv,Do1ChrInv 7B106 [] KDefs63 7B106 @ CHR_8,DoPLOTkey DoPLOTRkey,CHR_8,Do2ChrInv,Do3ChrInv 7B13D [] KDefs64 7B13D @ CHR_9,DoALGEBRAkey,DoCATkey,CHR_9,Do4ChrInv,Do5ChrInv 7B174 [] KDefs65 7B174 @ x/,Do()key,Do#key,CHR_/,Do()key,CHR_# 7B1AB [] KDefs71 7B1AB @ DoLSkey,DoNSkey,DoLSkey,DoALSkey,DoANSkey,DoALSkey 7B1E2 [] KDefs72 7B1E2 @ CHR_4,DoTIMEkey,DoTIMECATkey,CHR_4,CHR_$,CHR_cents 7B219 [] KDefs73 7B219 @ CHR_5,DoSTATkey,DoSTATRSkey,CHR_5,CHR_pounds,CHR_yen 7B250 [] KDefs74 7B250 @ CHR_6,DoUNITSmkey,DoUNITSCMDmkey,CHR_6,CHR_currency,CHR_degree 7B287 [] KDefs75 7B287 @ x*,Do[]key,Do_key,CHR_*,Do[]key,CHR_UndScore 7B2BE [] KDefs81 7B2BE @ DoRSkey,DoRSkey,DoNSkey,DoARSkey,DoARSkey,DoAkey 7B2F5 [] KDefs82 7B2F5 @ CHR_1,DoRADkey,DoPOLARkey,CHR_1,"==",CHR_<> 7B32C [] KDefs83 7B32C @ CHR_2,DoSTACKkey,xLASTARG,CHR_2,CHR_<,CHR_> 7B363 [] KDefs84 7B363 @ CHR_3,DoCMDkey,DoLASTMENUkey,CHR_3,CHR_<=,CHR_>= 7B39A [] KDefs85 7B39A @ x-,Do<<>>key,Do""key,CHR_-,Do<<>>keyLS,CHR_DblQuote 7B3D1 [] KDefs91 7B3D1 @ DoONkey,xCONT,TurnOffKey,DoONkey,xCONT,TurnOffKey 7B408 [] KDefs92 7B408 @ CHR_0,x=,xALG->,CHR_0,CHR_=,CHR_-> 7B43F [] KDefs93 7B43F @ Do.key , Do,key , DoNEWLINEkey, Do.key , Do,key , DoNEWLINEkey 7B476 [] KDefs94 7B476 @ CHR_Space,xPI,CHR_Angle,CHR_Space,CHR_Pi,CHR_Angle 7B4AD [] KDefs95 7B4AD @ x+,Do{}key,Do::key,CHR_+,Do{}key,CHR_: 7B4E4 [] NS:KDefs 7B4E4 @ Array of binary arrays ( [KDefs11 ... KDefs95] ) 7B5F2 :: RINV+ 7B638 :: RINV=- 7B65B :: addtunrot&'x+ 7B65B @ (Meta1 Meta2 Meta3 Ob -> Meta3&Ob Meta1&Meta2 x+) 7B679 :: psh1&revrot&'x- 7B679 @ (Meta1 Meta2 Meta3 Ob -> Meta2&Ob Meta3&Meta1 x-) 7B6A6 :: RINV* 7B6C9 :: addtunrot& 7B6C9 @ (Meta1 Meta2 Meta3 Ob -> Meta3&Ob Meta1&Meta2) 7B6DD :: psh1&revrotpshtop& 7B6DD @ (Meta1 Meta2 Meta3 Ob -> Meta2&Ob Meta1&Meta3) 7B705 :: RINV/ 7B728 :: addtunrot&'x* 7B728 @ (Meta1 Meta2 Meta3 Ob -> Meta3&Ob Meta1&Meta2 x*) 7B746 :: psh1&revrot&'x/ 7B746 @ (Meta1 Meta2 Meta3 Ob -> Meta2&Ob Meta3&Meta1 x/) 7B773 :: RINV^ 7B7B9 :: 7B7EB :: 7B7FF :: 7B822 :: 7B88B :: 7B8CC :: RINVEXP 7B8F4 :: RINVSIN 7B917 :: RINVCOS 7B93F :: RINVTAN 7B962 :: RINVSINH 7B985 :: RINVCOSH 7B9AD :: RINVTANH 7B9D0 :: RINVALOG 7B9E9 {} {%10_LN_/_+} 7BA16 :: 7BA3E :: DER* 7BA48 :: 7BA70 :: 7BAC0 :: DER+ 7BACA :: 7BAF2 :: NDROPABNDSYMBN 7BB1F :: DER- 7BB29 :: 7BB56 :: NDROPABNDSYMBN 7BB83 :: DER/ 7BB8D :: 7BBB5 :: 7BC05 :: DER= 7BC32 :: 7BC8C {} {CONJ_*_+} 7BCB4 {} {ABS_%2_*_/} 7BCE1 :: DERACOS 7BCFA {} {%2_^_-_SQRT_INV_NEG} 7BD36 :: DERACOSH 7BD4A {} {%1_-_SQRT} 7BDA4 :: DERALOG 7BDF4 :: DERARG 7BE1C {} {CONJ_-_%2_i_*_/} 7BE58 :: DERASIN 7BE6C {} {%2_^_-_SQRT_INV} 7BEA3 :: DERASINH 7BEC6 {} {%2_^_+_SQRT_/} 7BEF8 :: DERATAN 7BF0C {} {%2_^_+_INV} 7BF3E :: DERATANH 7BF61 {} {%2_^_-_/} 7BF8E :: DERCOS 7BFB1 :: DERCOSH 7BFE3 :: DEREXP 7BFE3 :: DEREXPM1 7C010 :: DERINV 7C04C :: DERLN 7C06F :: DERLNP1 7C083 {} {%1_+_/} 7C0AB :: DERLOG 7C0BF {} {%10_LN_*_/} 7C0EC :: DERIFTE 7C146 :: DERSIN 7C164 :: DERSINH 7C191 :: DERSQ 7C1C8 :: DERSQRT 7C1EB {} {SQRT_*_/} 7C213 :: DERTAN 7C227 {} {TAN_%2_^_+} 7C254 :: DERTANH 7C268 {} {COSH_%2_^_/} 7C295 :: DER^ 7C29F :: 7C2BD :: 7C303 :: 7C330 {} {%1_-_^_*} 7C358 :: 7C3A3 :: DERDER 7C3CB :: DERWHERE 7C411 :: DERINTG 7C4FC :: 7C547 :: DERSUM 7C56A :: 7C5A6 :: DERAPPLY 7C5A6 :: DROPNDROP%0 7C5D3 :: INTGSIN 7C5DD {} 7C5E7 {} { ALG_SIN(LAM&1) {} SINimp {} } 7C5EC '' ALG_SIN(LAM&1) 7C605 :: SINimp 7C614 '' ALG_NEG(COS(LAM&1)) 7C63C {} { ALG_INV(SIN(LAM&1)*TAN(LAM&1)) {} ISINTANimp {} } 7C641 '' ALG_INV(SIN(LAM&1)*TAN(LAM&1)) 7C66E :: ISINTANimp 7C67D '' ALG_NEG(INV(SIN(LAM&1))) 7C6AA {} { ALG_INV(SIN(LAM&1)^2) {} ISINimp {} } 7C6AF '' ALG_INV(SIN(LAM&1)^2) 7C6D7 :: ISIN2imp 7C6E6 '' ALG_NEG(INV(TAN(LAM&1))) 7C713 {} { ALG_INV(SIN(LAM&1)*COS(LAM&1)) {} #7C7FE {} } 7C718 '' ALG_INV(SIN(LAM&1)*COS(LAM&1)) 7C745 # <7C7FEh> 7C768 :: INTGCOS 7C772 {} 7C77C {} { ALG_COS(LAM&1) {} COSimp {} } 7C781 '' ALG_COS(LAM&1) 7C79A :: COSimp 7C7A9 '' ALG_SIN(LAM&1) 7C7CC {} { ALG_INV(COS(LAM&1)*SIN(LAM&1)) {} ICOSSINimp {} } 7C7D1 '' ALG_INV(COS(LAM&1)*SIN(LAM&1)) 7C7FE :: ICOSSINimp 7C80D '' ALG_LN(TAN(LAM&1)) 7C844 :: INTGTAN 7C84E {} 7C858 {} { ALG_TAN(LAM&1)^2 {} TAN2imp {} } 7C85D '' ALG_TAN(LAM&1)^2 7C880 :: TAN2imp 7C88F '' ALG_TAN(LAM&1)-LAM&1 7C8BC {} { ALG_TAN(LAM&1) {} TANimp {} } 7C8C1 '' ALG_TAN(LAM&1) 7C8DA :: TANimp 7C8E9 '' ALG_NEG(LN(COS(LAM&1))) 7C916 {} { ALG_INV(TAN(LAM&1)*SIN(LAM&1)) {} #7C66E {} } 7C91B '' ALG_INV(TAN(LAM&1)*SIN(LAM&1)) 7C948 # <7C66Eh> 7C95C {} { ALG_TAN(LAM&1)*INV(COS(LAM&1)) {} TANICOSimp {} } 7C961 '' ALG_TAN(LAM&1)*INV(COS(LAM&1)) 7C98E :: TANICOSimp 7C99D '' ALG_INV(COS(LAM&1)) 7C9C5 {} { ALG_INV(TAN(LAM&1)) {} ITANimp {} } 7C9CA '' ALG_INV(TAN(LAM&1)) 7C9E8 :: ITANimp 7C9F7 '' ALG_LN(SIN(LAM&1)) 7CA2E :: INTGASIN 7CA38 {} 7CA42 {} { ALG_ASIN(LAM&1) {} ASINimp {} {} } 7CA47 '' ALG_ASIN(LAM&1) 7CA60 :: ASINimp 7CA6F '' ALG_LAM&1*ASIN(LAM&1)+SQRT(1-LAM&1^2) 7CACE :: INTGACOS 7CAD8 {} 7CAE2 {} { ALG_ACOS(LAM&1) {} ACOSimp {} } 7CAE7 '' ALG_ACOS(LAM&1) 7CB00 :: ACOSimp 7CB0F '' ALG_LAM&1*ACOS(LAM&1)-SQRT(1-LAM&1^2) 7CB6E :: INTGATAN 7CB78 {} 7CB82 {} { ALG_ATAN(LAM&1) {} ATANimp {} } 7CB87 '' ALG_ATAN(LAM&1) 7CBA0 :: ATANimp 7CBAF '' ALG_LAM&1*ATAN(LAM&1)-LN(1+LAM&1^2)/2 7CC18 :: INTGSINH 7CC22 {} 7CC2C {} { ALG_SINH(LAM&1) {} SINHimp {} } 7CC31 '' ALG_SINH(LAM&1) 7CC4A :: SINHimp 7CC59 '' ALG_COSH(LAM&1) 7CC7C {} { ALG_INV(SINH(LAM&1)*TANH(LAM&1)) {} ISINHTANHimp {} } 7CC81 '' ALG_INV(SINH(LAM&1)*TANH(LAM&1)) 7CCAE :: ISINHTANHimp 7CCBD '' ALG_NEG(INV(SINH(LAM&1))) 7CCEA {} { ALG_INV(SINH(LAM&1)^2) {} ISINH2imp {} } 7CCEF '' ALG_INV(SINH(LAM&1)^2) 7CD17 :: ISINH2imp 7CD26 '' ALG_NEG(INV(TANH(LAM&1))) 7CD53 {} { ALG_INV(SINH(LAM&1)*COSH(LAM&1)) {} ISINHCOSHimp {} } 7CD58 '' ALG_INV(SINH(LAM&1)*COSH(LAM&1)) 7CD85 :: ISINHCOSHimp 7CD94 '' ALG_LN(TANH(LAM&1)) 7CDCB :: INTGCOSH 7CDD5 {} 7CDDF {} { ALG_COSH(LAM&1) {} COSHimp {} } 7CDE4 '' ALG_COSH(LAM&1) 7CDFD :: COSHimp 7CE0C '' ALG_SIN(LAM&1) 7CE2F {} { ALG_INV(COSH(LAM&1)^2) {} ICOSH2imp {} } 7CE34 '' ALG_INV(COSH(LAM&1)^2) 7CE5C :: ICOSH2imp 7CE6B '' ALG_TANH(LAM&1) 7CE8E {} { ALG_COSH(LAM&1)^-2 {} #7CE5C {} } 7CE93 '' ALG_COSH(LAM&1)^-2 7CEB6 # <7CE5Ch> 7CECA {} { ALG_INV(COSH(LAM&1)*SINH(LAM&1)) {} #7CD85 {} } 7CECF '' ALG_INV(COSH(LAM&1)*SINH(LAM&1)) 7CEFC # <7CD85h> 7CF1F :: INTGTANH 7CF29 {} 7CF33 {} { ALG_TANH(LAM&1) {} TANHimp {} } 7CF38 '' ALG_TANH(LAM&1) 7CF51 :: TANHimp 7CF60 '' ALG_LN(COSH(LAM&1)) 7CF88 {} { ALG_INV(TANH(LAM&1)*SINH(LAM&1)) {} #7CCAE {} } 7CF8D '' ALG_INV(TANH(LAM&1)*SINH(LAM&1)) 7CFBA # <7CCAEh> 7CFCE {} { ALG_TANH(LAM1)*INV(COSH(LAM1)) {} TANHICOSHimp {} } 7CFD3 '' ALG_TANH(LAM1)*INV(COSH(LAM1)) 7D000 :: TANHICOSHimp 7D00F '' ALG_INV(COSH(LAM&1)) 7D037 {} { ALG_INV(TANH(LAM&1)) {} ITANHimp {} } 7D03C '' ALG_INV(TANH(LAM&1)) 7D05A :: ITANHimp 7D069 '' ALG_LN(SINH(LAM&1)) 7D0A0 :: INTGEXPM1 7D0AA {} 7D0B4 {} { ALG_EXPM1(LAM&1) {} EXPM1imp {} } 7D0B9 '' ALG_EXPM1(LAM&1) 7D0D2 :: EXPM1imp 7D0E1 '' ALG_EXP(LAM&1)-LAM&1 7D11D :: INTGALOG 7D127 {} 7D131 {} { ALG_ALOG(LAM&1) {} ALOGimp {} } 7D136 '' ALG_ALOG(LAM&1) 7D14F :: ALOGimp 7D15E '' ALG_%??*ALOG(LAM&1) 7D1AA :: INTGLN 7D1B4 {} 7D1BE {} { ALG_LN(LAM&1) {} LNimp {} } 7D1C3 '' ALG_LN(LAM&1) 7D1DC :: LNimp 7D1EB '' ALG_LAM&1*LN(LAM&1)-LAM&1 7D231 :: INTGLOG 7D23B {} 7D245 {} { ALG_LOG(LAM&1) {} LOGimp {} } 7D24A '' ALG_LOG(LAM&1) 7D263 :: LOGimp 7D272 '' ALG_%??*(LAM&1*LN(LAM&1)-LAM&1) 7D2D2 :: INTGINV 7D2DC {} 7D2E6 {} { ALG_INV(LAM&1) {} INVimp {} } 7D2EB '' ALG_INV(LAM&1) 7D304 :: INVimp 7D313 '' ALG_LN(LAM&1) 7D336 {} { ALG_INV(LAM&1^2) {} INV2imp {} } 7D33B '' ALG_INV(LAM&1^2) 7D35E :: INV2imp 7D36D '' ALG_NEG(INV(LAM&1)) 7D395 {} { ALG_INV(SQ(LAM&1)) {} INVSQimp {} } 7D39F '' ALG_INV(SQ(LAM&1)) 7D3B8 :: INVSQimp 7D3CC '' ALG_NEG(INV(LAM&1)) 7D3EF {} { ALG_INV(1+LAM&1^2) {} INV1+2^imp 7D3F9 '' ALG_INV(1+LAM&1^2) 7D421 :: INV1+2^imp 7D435 '' ALG_ATAN(LAM&1) 7D453 {} { ALG_INV(LAM&1^2+1) {} #7D421 {} } 7D45D '' ALG_INV(LAM&1^2+1) 7D485 # <7D421h> 7D499 {} { ALG_INV(1-LAM&1^2) {} INV1-^2imp {} } 7D49E '' ALG_INV(1-LAM&1^2) 7D4CB :: INV1-2^imp 7D4DF '' ALG_ATANH(LAM&1) 7D50C :: INTGSQ 7D516 {} 7D520 {} { ALG_SQ(LAM&1) {} SQimp {} } 7D525 '' ALG_SQ(LAM&1) 7D53E :: SQimp 7D54D '' ALG_LAM&1^3/3 7D58E :: INTGSQRT 7D598 {} 7D5A2 {} { ALG_INV(SQRT(1-LAM&1^2)) {} ISQRT1-^2imp {} } 7D5A7 '' ALG_INV(SQRT(1-LAM&1^2)) 7D5D9 :: ISQRT1-^2imp 7D5E8 '' ALG_ASIN(LAM&1) 7D60B {} { ALG_INV(SQRT(1+LAM&1^2)){} ISQRT1+^2imp {} } 7D610 '' ALG_INV(SQRT(1+LAM&1^2)) 7D642 :: ISQRT1+^2imp 7D651 '' ALG_ASINH(LAM&1) 7D674 {} { ALG_INV(SQRT(LAM&1^2+1)) {} #7D642 {} } 7D679 `` ALG_INV(SQRT(LAM&1^2+1)) 7D6AB # <7D642h> 7D6BF {} { ALG_INV(SQRT(1+LAM&1))*INV(SQRT(-1+LAM&1)) {} SQRTs1imp {} } 7D6C4 '' ALG_INV(SQRT(1+LAM&1))*INV(SQRT(-1+LAM&1)) 7D70A :: SQRTs1imp 7D719 '' ALG_ACOSH(LAM&1) 7D73C {} { ALG_INV(SQRT(LAM&1-1)*SQRT(LAM&1+1)) {} #7D70A {} } 7D741 '' ALG_INV(SQRT(LAM&1-1)*SQRT(LAM&1+1)) 7D782 # <7D70Ah> 7D796 {} { ALG_SQRT(LAM&1) {} SQRTimp {} } 7D7A0 '' ALG_SQRT(LAM&1) 7D7B4 :: SQRTimp 7D7C3 '' ALG_(2*LAM&1^3/2)/3 7D809 {} { ALG_INV(SQRT(LAM&1)) {} ISQRTimp {} } 7D80E '' ALG_INV(SQRT(LAM&1)) 7D82C :: ISQRTimp 7D83B '' ALG_2*SQRT(LAM&1) 7D877 :: INTGSIGN 7D881 {} 7D88B {} { ALG_SIGN(LAM&1) {} SIGNimp {} } 7D890 '' ALG_SIGN(LAM&1) 7D8A9 :: SIGNimp 7D8B8 '' ALG_ABS(LAM&1) 7D8EA :: INTGDER 7D92B :: 7D9DF :: MAKEDER 7DA20 :: MAKEINTG 7DA6B :: MAKESUM 7DAC5 :: MAKEIFTE 7DAE8 :: 7DB15 :: MAKEQUOTE 7DB42 :: MAKEAPPLY 7DB9C :: 7DBBF {} RULES1 7DBBF @ { <-T T-> <-M M-> AF <--> (<- ->) <-A A-> (()) -() } 7DC05 {} RULES2 7DC05 @ { <-T T-> <-M M-> <-D ->D (<- ->) <-A A-> <--> (()) -() 1/() L() } 7DC5A {} RULES3 7DC5A @ { 1/() E() <-D D-> <-A ->A } 7DC82 {} RULES4 7DC82 @ { 1/() E^ ->TRG D-> } 7DCA0 {} RULES5 7DCA0 @ { -() L* NullMenuKey D-> } 7DCBE {} RULES6 7DCBE @ { ->() } 7DCCD {} RULES7 7DCCD @ { <-T ->T } 7DCE1 {} RULES8 7DCE1 @ { ->() } 7DCF0 {} RULES9 7DCF0 @ { ->DEF TRG* } 7DD04 {} RULES10 7DD04 @ { ->DEF } 7DD13 :: WHEREAPPLY 7DD63 :: DROP(4)SWAP#1- 7DD7C :: DROP(3,4)SWAP#2- 7DDA4 :: WHEREDER 7DDDB :: WHEREIFTE 7DE99 :: WHEREWHERE 7DEE4 :: 7DF4D :: WHEREINTG 7E029 :: WHERESUM 7E128 :: XLIB240_0 M^T-> 7E14B :: 7E178 :: 7E1C3 :: XLIB240_1 M^<-T 7E1E6 :: 7E21D :: 7E272 :: XLIB240_2 M/+AF M/-AF 7E29A xl XLIB_240_3 7E2CD :: XLIB240_3 7E327 :: XLIB240_4 M/o+AF M/o-AF 7E372 :: XLIB240_5 M+<--> 7E38B :: XLIB240_6 M-<--> 7E3B3 :: XLIB240_7 M*<--> 7E3CC :: XLIB240_8 M/<--> 7E3F4 :: XLIB240_9 M+-<-A 7E40D :: XLIB240_10 M--<-A 7E426 :: XLIB240_11 M*/<-A 7E43F :: XLIB240_12 M//<-A 7E458 :: XLIB240_13 M*^<-A 7E476 :: XLIB240_14 M-o+A-> 7E48F :: XLIB240_15 M-o-A-> 7E4A8 :: XLIB240_16 M/o*A-> 7E4C1 :: XLIB240_17 M/o/A-> 7E4C1 :: XLIB240_18 M^^A-> 7E4DA :: XLIB240_19 M+/D-> 7E4DA :: XLIB240_20 M-/D-> 7E502 :: XLIB240_21 M+^D-> 7E51B :: XLIB240_22 M-^D-> 7E534 :: XLIB240_23 M+EXPD-> M+ALOGD-> 7E54D :: XLIB240_24 M-EXPD-> M-ALOGD-> 7E566 :: XLIB240_25 M*LND-> M*LOGD-> 7E57F :: XLIB240_26 M/LND-> M/LOGD-> 7E598 :: XLIB240_27 M*NEG->() 7E598 :: XLIB240_28 M/NEG->() 7E5AC :: XLIB240_29 MLNNEG->() MLOGNEG->() 7E5C5 :: XLIB240_30 M^INV->() 7E5C5 :: XLIB240_31 MEXPINV->() MALOGINV->() 7E5ED :: XLIB240_32 M*1/() 7E606 :: XLIB240_33 M/1/() 7E61F :: XLIB240_34 M^1/() 7E61F :: XLIB240_35 MEXP1/() MALOG1/() 7E647 :: XLIB240_36 MLN-() MLOG-() 7E65B :: XLIB240_37 M*-() 7E65B :: XLIB240_38 M/-() 7E66F :: XLIB240_39 M+-() 7E683 :: XLIB240_40 M--() 7E697 :: XLIB240_41 M*EXPE^ M*ALOGE^ 7E6B0 :: XLIB240_42 M/EXPE^ M/ALOGE^ 7E6D3 :: XLIB240_43 MEXPo^E() MALOGo^E() 7E6EC :: XLIB240_44 M^LNL* M^LOGL* 7E705 :: XLIB240_45 MLNo*L() MLOGo*L() 7E723 :: XLIB240_46 MLNo/L() MLOGo/L() 7E74B :: XLIB240_47 M*+<-M M/*<-M M+<-M 7E74B :: XLIB240_48 M*-<-M M/-<-M M-<-M 7E764 :: 7E787 :: XLIB240_49 7E791 xl XLIB_240_50 7E7A1 :: 7E7A6 xl XLIB_240_51 7E7B1 xl XLIB_240_50 7E7D0 xl XLIB_240_50 7E7E0 :: XLIB240_50 7E7EF :: 7E812 :: XLIB240_51 7E82B :: XLIB240_52 M^*<-M 7E84E :: XLIB240_53 M^/<-M 7E871 :: XLIB240_54 MEXP*<-M MALOG*<-M 7E88A :: XLIB240_55 MEXP/<-M MALOG/<-M 7E8A3 :: XLIB240_56 MLN+<-M MLOG+<-M 7E8BC :: XLIB240_57 MLN-<-M MLOG-<-M 7E8D5 :: XLIB240_58 M*oo*+M-> M*oo*-M-> M/oo/+M-> M/oo/-M-> M^oo^/M-> M^oo^/M-> 7E8EE :: XLIB240_59 7E943 :: XLIB240_60 7E998 :: XLIB240_61 M+<-T M-<-T 7E9C0 :: XLIB240_62 7E9E8 :: XLIB240_63 M+(<- M-(<- 7EA3D :: 7EAA1 :: XLIB240_64 M*(<- M/(<- 7EAF6 :: 7EB5A :: XLIB240_65 M+(()) M-(()) 7EBAF :: 7EC13 :: XLIB240_66 M*(()) M/(()) 7EC68 :: 7ECCC :: XLIB240_67 7ED67 :: XLIB240_68 7EE02 :: XLIB240_69 M+CONJ->() (-,*,/,NEG,INV,EXP,SQ CONJ too) 7EE02 :: XLIB240_70 M+RE->() M-RE->() MNEGRE->() 7EE02 :: XLIB240_71 M+IM->() M-IM->() MNEGIM->() 7EE5C :: XLIB240_72 7EEC0 :: XLIB240_73 MEXP->TRG 7EF0B :: XLIB240_74 MSIN->DEF 7EF33 {} { - 2 i * / } 7EF60 :: XLIB240_75 MCOS->DEF 7EF88 {} { + 2 / } 7EFAB :: XLIB240_76 MTAN->DEF 7EFBA {} { 2 * EXP 1 - } 7EFF1 {} { i * / } 7F014 :: XLIB240_77 MASIN->DEF 7F023 {} { i NEG 1 } 7F055 {} { * + LN * } 7F082 :: XLIB240_78 MACOS->DEF 7F091 {} { PI 2 / i 1 } 7F0CD {} { * + LN * + } 7F0FF :: XLIB240_79 MATAN->DEF 7F10E {} { i NEG 1 i } 7F136 {} { * + 1 } 7F159 {} { 2 ^ + SQRT / LN * } 7F195 :: XLIB240_80 MSINH->DEF 7F1A4 {} { i * SIN i * NEG } 7F1D6 :: XLIB240_81 MCOSH->DEF 7F1E5 {} { i * COS } 7F208 :: XLIB240_82 MTANH->DEF 7F217 {} { i * TAN i NEG * } 7F249 :: XLIB240_83 MASINH->DEF 7F262 {} { 2 ^ + SQRT } 7F28F {} { - LN NEG } 7F2B2 :: XLIB240_84 MACOSH->DEF 7F2C1 {} { PI 2 / i 1 } 7F2FD {} { * + LN * + 2 ^ NEG SQRT } 7F33E :: XLIB240_85 MATANH->DEF 7F370 {} { 2 ^ - SQRT / LN NEG } 7F3A7 :: XLIB240_86 M+SINTRG* M-SINTRG* 7F41F :: XLIB240_87 M+COSTRG* M-COSTRG* 7F4B5 :: XLIB240_88 M+TANTRG* M-TANTRG* 7F4FB :: 7F528 :: XLIB240_89 M+SINHTRG* M-SINHTRG* 7F5A0 :: XLIB240_90 M+COSHTRG* M-COSHTRG* 7F618 :: XLIB240_91 M+TANHTRG* M-TANHTRG* 7F663 :: XLIB240_92 7F6A4 :: 7F6D1 :: XLIB240_93 7F6D6 xl XLIB_240_94 7F6E6 :: 7F709 :: XLIB240_94 7F713 :: 7F73B :: 7F75E :: 7F78B :: 7F7BD :: XLIB240_95 7F7D6 :: 7F803 :: XLIB240_96 7F81C :: 7F821 xl XLIB_240_97 7F840 :: 7F845 xl XLIB_240_97 7F864 :: 7F869 xl XLIB_240_97 7F888 :: 7F88D xl XLIB_240_97 7F8B6 :: XLIB240_97 7F8C5 :: 7F8CF :: 7F8FC :: 7F924 :: XLIB240_98 7F951 :: XLIB240_99 7F979 :: 7F9A6 :: XLIB240_100 7FA15 :: 7FA65 :: XLIB240_101 7FAC4 :: 7FB23 :: XLIB240_102 7FB5F :: 7FBD2 :: XLIB240_103 7FBE1 xl XLIB_240_106 7FBFB xl XLIB_240_105 7FC06 xl XLIB_240_104 7FC16 :: XLIB240_104 7FC25 :: 7FC3E xl XLIB_240_98 7FC4E :: XLIB240_105 7FC6C xl XLIB_240_104 7FC90 xl XLIB_240_98 7FCA0 :: XLIB240_106 7FCB4 :: 7FCBE xl XLIB_240_103 7FCDD :: 7FCE7 xl XLIB_240_103 7FD06 :: 7FD10 xl XLIB_240_103 7FD39 :: XLIB240_107 7FD48 xl XLIB_240_108 7FD53 xl XLIB_240_103 7FD6D :: XLIB240_108 7FD81 :: 7FD8B xl XLIB_240_107 7FDAA :: 7FDB4 xl XLIB_240_107 7FDD3 :: 7FDDD xl XLIB_240_107 7FE06 :: XLIB240_109 PORTPurge 7FE06 @ (2:ID/LAM/#libnum 1:#-1,#0,#1 or #2) 7FE15 xl XLIB_240_110 7FE2A :: 7FE48 :: XLIB240_110 PORTPURGE 7FE48 @ (1:ID/LAM/#libnum) (Looks in every port) 7FE5C :: 7FE66 xl XLIB_240_109 7FE85 :: 7FE8F xl XLIB_240_109 7FEAE :: 7FEB8 xl XLIB_240_109 7FEE1 :: XLIB240_111 7FF14 :: 7FF19 :: 7FF64 :: JstGETTHEMESG messages: #001 "Insufficient Memory" #002 "Directory Recursion" #003 "Undefined Local Name" #004 "Undefined XLIB Name" #005 "Memory Clear" #006 "Power Lost" #007 "Warning:" #008 "Invalid Card Data" #009 "Object In Use" #00A "Port Not Available" #00B "No Room in Port" #00C "Object Not in Port" #00D "Recovering Memory" #00E "Try To Recover Memory?" #00F "Replace RAM, Press ON" #010 "No Mem To Config All" #101 "No Room to Save Stack" #102 "Can't Edit Null Char." #103 "Invalid User Function" #104 "No Current Equation" #106 "Invalid Syntax" #107 "Real Number" #108 "Complex Number" #109 "String" #10A "Real Array" #10B "Complex Array" #10C "List" #10D "Global Name" #10E "Local Name" #10F "Program" #110 "Algebraic" #111 "Binary Integer" #112 "Graphic" #113 "Tagged" #114 "Unit" #115 "XLIB Name" #116 "Directory" #117 "Library" #118 "Backup" #119 "Function" #11A "Command" #11B "System Binary" #11C "Long Real" #11D "Long Complex" #11E "Linked Array" #11F "Character" #120 "Code" #121 "Library Data" #122 "External" #124 "LAST STACK Disabled" #125 "LAST CMD Disabled" #126 "HALT Not Allowed" #127 "Array" #128 "Wrong Argument Count" #129 "Circular Reference" #12A "Directory Not Allowed" #12B "Non-Empty Directory" #12C "Invalid Definition" #12D "Missing Library" #12E "Invalid PPAR" #12F "Non-Real Result" #130 "Unable to Isolate" #131 "No Room to Show Stack" #132 "Warning:" #133 "Error:" #134 "Purge?" #135 "Out of Memory" #136 "Stack" #137 "Last Stack" #138 "Last Commands" #139 "Key Assignments" #13A "Alarms" #13B "Last Arguments" #13C "Name Conflict" #13D "Command Line" #201 "Too Few Arguments" #202 "Bad Argument Type" #203 "Bad Argument Value" #204 "Undefined Name" #205 "LASTARG Disabled" #206 "IncompleteSubexpression" #207 "Implicit () off" #208 "Implicit () on" #301 "Positive Underflow" #302 "Negative Underflow" #303 "Overflow" #304 "Undefined Result" #305 "Infinite Result" #501 "Invalid Dimension" #502 "Invalid Array Element" #503 "Deleting Row" #504 "Deleting Column" #505 "Inserting Row" #506 "Inserting Column" #601 "Invalid SIGMA Data" #602 "Nonexistent SIGMADAT" #603 "Insufficient SIGMA Data" #604 "Invalid SIGMAPAR" #605 "Invalid SIGMA Data LN(Neg)" #606 "Invalid SIGMA Data LN(0)" #607 "Invalid EQ" #608 "Current equation:" #609 "No current equation." #60A "Enter eqn, press NEW" #60B "Name the equation,press ENTER" #60C "Select plot type" #60D "Empty catalog" #60E "undefined" #60F "No stat data to plot" #610 "Autoscaling" #611 "Solving for " #612 "No current data. Enter" #613 "data point, press SIGMA+" #614 "Select a model" #615 "No alarms pending." #616 "Press ALRM to create" #617 "Next alarm:" #618 "Past due alarm:" #619 "Acknowledged" #61A "Enter alarm, press SET" #61B "Select repeat interval" #61C " I/O setup menu" #61D "Plot type: " #61E """" #61F " (OFF SCREEN)" #620 "Invalid PTYPE" #621 "Name the stat data,press ENTER" #622 "Enter value (zoom outif >1), press ENTER" #623 "Copied to stack" #624 "x axis zoom w/AUTO." #625 "x axis zoom." #626 "y axis zoom." #627 "x and y axis zoom." #628 "IR/wire: " #629 "ASCII/binary " #62A "baud: " #62B "parity: " #62C "checksum type: " #62D "translate code:" #62E "Enter matrix, then NEW" #A01 "Bad Guess(es)" #A02 "Constant?" #A03 "Interrupted" #A04 "Zero" #A05 "Sign Reversal" #A06 "Extremum" #B01 "Invalid Unit" #B02 "Inconsisting Units" #C01 "Bad Packet Block Check" #C02 "Timeout" #C03 "Receive Error" #C04 "Receive Buffer Overrun" #C05 "Parity Error" #C06 "Transfer Failed" #C07 "Protocol Error" #C08 "Invalid Server Cmd." #C09 "Port Closed" #C0A "Connecting" #C0B "Retry #" #C0C "Awaiting Server Cmd." #C0D "Sending " #C0E "Receiving " #C0F "Object Discarded" #C10 "Packet #" #C11 "Processing Command" #C12 "Invalid IOPAR" #C13 "Invalid PRTPAR" #C14 "Low battery" #C15 "Empty Stack" #C16 "Row " #C17 "Invalid Name" #D01 "Invalid Date" #D02 "Invalid Time" #D03 "Invalid Repeat" #D04 "Nonexistent Alarm" END_MISC