>>>>>>>>>>>>>>>>>>>>>>>>> hp41 ============================================================ Model: -41C General: Name: Handheld Computer Code-Name: Coconut Family: Coconut Logic: RPN Features: scientific, programmable Firsts: Coconut, alpha, ports, user keyboard Introduction: Date: 1979-07-01 Price: $295 Discontinuation: Date: 1985-01-01 Price: $195 Production-Run: 1.5 million (all types) Display: Type: LCD, 17 segments -- |\/| -- . |/\|. -- , Size: 1 line x 12 chars Number-Formats: sign, 10 mantissa sign, 8 mantissa, ., exp sign, 2 exp Annunciators: BAT low battery USER user mode active GRAD grads mode RAD radians mode SHIFT shift key pressed 0 flag 0 set 1 flag 1 set 2 flag 2 set 3 flag 3 set 4 flag 4 set PGRM program mode ALPHA alpha keyboard active Data: User-Visible: Smallest: 1E-99 Largest: 9.999999999E99 Signif.-Digits: 10 Internal: Smallest: 1E-99 Largest: 9.999999999E99 Signif.-Digits: 10 Data-Types-and-Sizes: real, 7 bytes, high nybble of 0 or 9 alpha, 7 bytes (6 chars), high nybble of 1 Memory: Named-Registers: X, Y, Z, T, Last x, Alpha (24 chars), 00-99 Flags: 56, of which 0-31 are user and 32-55 are system (and can only be affected indirectly) 0-4 show annunciator when set 11 auto execution 12 print double wide 13 print lower case 14 card reader allow overwrite 15 HPIL printer: 0)manual 1)normal 2)trace 3)trace w/stack print 17 record incomplete 18 IL interrupt enable 21 printer enabled 22 numeric input available 23 alpha input available 24 ignore range errors 25 ignore any errors & clear 26 audio output is ignored 27 user mode is active 28 radix mark: 0). 1), 29 digit groupings shown: 0)no 1)yes 30 catalog set 31 date mode: 0)M.DY 1)D.MY 32 IL man I/O mode 33 can control IL 34 prevent IL auto address 35 disable auto start 36 number of digits, 0-15 40 display format: 0)sci 1)eng 2)fix 3)fix/eng mode) 42 angle mode: 0)deg 1)rad 2)grad 3)rad 44 continuous on 45 system data entry 46 partial key sequence 47 shift key pressed 48 alpha keyboard active 49 low battery 50 set when a message is displayed 51 single step mode 52 program mode 53 IL I/O request 54 set during pause 55 printer exists Register-Usage: (status registers) 0 T 1 Z 2 Y 3 X 4 L 5 M,[ alpha, chars 7-1 6 N,\ alpha, chars 14-8 7 O,] alpha, chars 21-15 8 P,^ scratch; alpha, chars 24-22 9 Q,_ scratch 10 |-,t unshifted key assignments; scratch 11 a return stack, levels 6-3b 12 b return stack, levels 3a-1; pc 13 c statistics ptr; scratch; 169; R00 pointer; .END. ptr 14 d flags 15 e shifted key assignments; scratch, program line number (default assignment; can be changed) R11 \GSx R12 \GSx^2 R13 \GSy R14 \GSy^2 R15 \GSxy R16 \GSn Numbered-Registers: 64 Program-Steps: 000-999 Program-Editing: insert Program-Display: alpha User-RAM-Bytes: 560 Total-RAM-Bytes: maximum is 16 status registers, 64 built-in registers, 4 64-register memory modules or 2,352 bytes; in addition, there can be extended memory totalling 127 + 2 * 238 registers or 4,221 bytes; total memory can thus be 6,573 bytes ROM-Bytes: 12K (10-bit words) Machine-State: status regs stack lift enable memory File-Types: data, text, program (see LIF) Physical: Technology-Used: ? Processor: Nut Chip-Count: CPU, 1-3 ROMs, RAM(s), display driver, power supply, timer (-CX only) old -C and -CVs use 3, 40 Kbit ROMs newer -C and -CVs use 1, 120 Kbit ROM -CX uses 2, 120 Kbit ROMs early -Cs use 5 RAMs, each with 16 registers newer units use one 16 register RAM, and N 64 register RAMs Power-Source: 4 1.5V N cells Continuous-Memory: yes Expansion-Ports: 4 I/O-Ports: beeper (HP-IL, card reader, printer, etc. available for expansion ports) Clock: no Length: 14.27 cm Width: 7.86 cm Height: 3.33 cm Weight: 205 g Temperature-Range: Operating: 0 to 45 deg C Charging: - Storage: -20 to 65 deg C Keyboard: Switches: ON \ each side of a single, USER / dual rocker wipe PRGM \ each side of a single, ALPHA / dual rocker wipe Shift-Keys: gold, gold, above alpha, white, below on face User-Defined-Keys: all Key-Arrangement:: ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ***** ** ** ** * *** *** *** * *** *** *** * *** *** *** * *** *** *** Key-Labels-Base-Keyboard:: \GS+ 1/x \v/x LOG LN x<>y Rv SIN COS TAN [] XEQ STO RCL SST ENTER^ CHS EEX <- - 7 8 9 + 4 5 6 x 1 2 3 \:- 0 . R/S Key-Labels-gold-gold-above:: x 2 x x \GS- y x 10 e -1 -1 -1 CL\GS % SIN COS TAN [] ASN LBL GTO BST CATALOG ISG RTN CLx/A x=y? SF CF FS? x\<=y? BEEP P->R R->P x>y? FIX SCI ENG x=0? \pi LASTx VIEW Key-Labels-Alpha-White-Below-On-Face:: A B C D E F G H I J [] K L M [] N O P [] Q R S T U V W X Y Z = ? : SPACE , [] Key-Labels-Alpha-Shifted-Not-Shown:: a b c d e \GS % \=/ < > [] |- ASTO ARCL BST \^| \<) $ CLA - 7 8 9 + 4 5 6 * 1 2 3 / 0 . AVIEW Programmable-Operations:: % percent %CH percent change + addition - subtraction 0-9, . enter digit or decimal point 1/X inverse 10^X common exponent ABS absolute value ACOS arc cosine ADV paper advance AOFF alpha keyboard off AON alpha keyboard off ASHF alpha shift ASIN arc sin ASTO %%% alpha store ATAN arc tangenet AVIEW alpha view BEEP beep CF 00-29 clear flag CHS change sign CLA clear alpha CLD clear display CLRG clear registers CLST clear stack CLX clear x CL\GS clear summation registers COS cosine D-R convert degrees to radians DEC convert octal to decimal DEG set degrees mode DSE %%% decrement and skip if equal EEX enter exponent END end program ENG 0-9 engineering notation ENTER^ enter E^X natural exponent E^X-1 natural exponent - 1 FACT factorial FC? 00-55 is flag clear FC?C 00-29 is flag clear and clear FIX 0-9 fixed notation FRC fractional part FS? 00-55 is flag set FS?C 00-29 is flag set and clear GRAD set grads mode GTO label goto HMS convert decimal hours to H.MS HMS+ add two times in H.MS notation HMS- subtract two times in H.MS notation HR convert H.MS to decimal hours INT integer part ISG %%% increment and skip if greater LASTX recall last x LBL label label LN natural logarithm LN1+X natural logarithm + 1 LOG common logarithm MEAN compute average MOD modulus OCT convert decimal to octal OFF turn off P-R convert polar to rectangular PI constant pi PROMPT display a prompt PSE pause R-D convert radians to degrees R-P convert rectangular to polar R/S run / stop RAD set radians mode RCL %%% recall RDN roll down RND round RTN return R^ roll up SCI 0-9 scientific notation SDEV standard deviation SF 00-29 set flag SIGN sign of number SIN sine SQRT square root ST+ %%% storage arithmetic ST- %%% storage arithmetic STO %%% store STOP stop STx %%% storage arithmetic ST\:- %%% storage arithmetic TAN tangent TONE 0-9 tone VIEW %%% view x multiplication X<0? comparison test X<> %%% swap X and register X<>Y swap X0? comparison test X>Y? comparison test XEQ label subroutine call XROM ###,### xrom call X\<=0? comparison test X\<=Y? comparison test X\=/0? comparison test X\=/Y? comparison test X^2 square Y^X exponentiation \:- division \GS+ summation plus \GS- summation minus \GSREG 00-99 set summation register \GSREG? what is summation register pointer |- append %%% is a register designator; it can be 00-99,X,Y,Z,T,L. It can also have a leading . (displays as IND) which designates indirection. Non-Programmable-Operations:: <- clear digit or entry ALPHA toggle alpha mode ASN assign user key BST back step CAT 1-3 catalogs: 1) user programs, 2) external functions, 3) built-in functions CLP label clear program COPY label copy program DEL 000-999 delete N program line lines GTO . 000-999 go to line number GTO . EEX 000-999 go to line number GTO . label go to label ON turn on or off ON + <- clear all memory PACK pack memory PRGM toggle program mode SIZE 000-999 set curtain SST single step USER toggle user mode Menus:: none Bugs/ROM-Versions:: #1: Early machines did not save X into L when \GS+ and \GS- were done. #2: Early machines allowed RCL IND nn and STO IND nn when nn was outside the memory range. #3: Early machines allowed SF,CF,FS?C, and FC?C IND nn with nn any number (but not a stack register) 0 to 55. #4: Early models compute the SIN of small angles incorrectly. #5: CLP would only clear 1089 program lines. #6: -67A/-97A prorams that contain combinations of number entry, EEX, and CHS do not translate correctly. Example: EEX CHS 7 CHS 5 translates to E-7-5 instead of 1E-7 -5 #7: The second nybble of the seventh byte of Alpha is copies along with the first six bytes during an ASTO. #8: Early machines do not decompile programs if they are turned off during PRGM mode. #9: Executing CAT 1 while in PRGM mode, then interrupting it with R/S causes step labelling oddities. #10: If flag 25 is set and MEAN or SDEV causes an overflow, some flags can be altered. #11 (CW1): If a program at the end of CAT 1 is replaced or deleted, a return to that program will return into the new program or off-program memory. #12: On early models, the function LN(1+X) gives wrong answers for values of X between -.9990234374 and -1.00. #13: On early models, the operation (.1)^-43 gives an answer of 9.999999999E42 instead of 1E43. ROM Versions: version date codes comments DDE 1926-1940 all bugs FDE 1936-1952 #3 removed FEE 1951-2034 #1,#2,#4 removed GFF 2035-84?? #5,#7,#8 removed, first -41CV version HFF 84??-present current -41CV version NFL 2329-present current -41CX version Notes:: Probably the most popular HP handheld ever made. Huge amounts have been written about this machine. An excellent detailed reference is "Extend Your HP-41" by Wlodek (W.A.C.) Mier-Jedrzejowicz, Synthetix: Berkeley, California, 1985.. price changes: 1981-01-01 $250 1982-11-01 $195 Jeremy Smith's price list also lists: -41CC introduced 1981-01-15 at $495, discontinued 1981-06-01. -41CS introduced 1981-01-15 at $840, discontinued 1981-06-01. I expect that these are packages that include accessories. Battery current: mode typical worst run 10 mA 15 mA standby 1 mA 1 mA sleep 10 uA 30 uA ============================================================ Model: -41CV, differences from -41C General: Code-Name: Silverbird Firsts: none Introduction: Date: 1980-12-15 Price: $325 Discontinuation: Date: 1990-11 Price: $175 Production-Run: ? Memory: User-RAM-Bytes: 2,352 Notes:: Same as a -41C but with four memory modules already built in. The "V" stands for 5 times as much memory. price changes: 1982-11-01 $275 1984-08-01 $225 1986-02-01 $175 ============================================================ Model: -41CX, differences from -41C General: Code-Name: Honeynut Firsts: none Introduction: Date: 1983-10-1 Price: $325 Discontinuation: Date: 1990-11 Price: $249 Production-Run: ? Memory: User-RAM-Bytes: 3,241 ROM-Bytes: 24K (10-bit words) Physical: Clock: time of day, stopwatch, alarms Programmable-Operations:: % percent %CH percent change + addition - subtraction 0-9, . enter digit or decimal point 1/X inverse 10^X common exponent ABS absolute value ACOS arc cosine ADATE date to alpha ADV paper advance ALENG length of alpha ALMCAT alarm catalog ALMNOW activate oldest alarm ANUM number in alpha to x AOFF alpha keyboard off AON alpha keyboard off APPCHR append char to record APPREC append record to file ARCL %%% recall alpha ARCLREC append record to alpha AROT rotate alpha ASHF alpha shift ASIN arc sin ASROOM bytes available in file ASTO %%% alpha store ATAN arc tangenet ATIME time to alpha ATIME24 time in 24 hour clock to alpha ATOX left byte of alpha to x AVIEW alpha view BEEP beep CF 00-29 clear flag CHS change sign CLA clear alpha CLALMA clear alarm in alpha CLALMX clear alarm in x CLD clear display CLFL clear file CLK12 12 hour clock mode CLK24 24 hour clock mode CLKEYS clear keys CLKT display time CLKTD display time and date CLOCK display running clock CLRALMS clear alarms CLRG clear registers CLRGX clear registers according to x CLST clear stack CLX clear x CL\GS clear summation registers CORRECT correct the time COS cosine CRFLAS create text file CRFLD create data file D-R convert degrees to radians DATE return the current date DATE+ add the number of days in X to date in Y DDAYS compute the number of days between two dates DEC convert octal to decimal DEG set degrees mode DELCHR delete char from record DELREC delete record from file DMY set D.MY mode DOW figure the day of the week for a date (0=Sunday) DSE %%% decrement and skip if equal ED invoke editor EEX enter exponent EMDIR extended memory directory EMDIRX extended memory directory of Xth file EMROOM room in extended memory END end program ENG 0-9 engineering notation ENTER^ enter E^X natural exponent E^X-1 natural exponent - 1 FACT factorial FC? 00-55 is flag clear FC?C 00-29 is flag clear and clear FIX 0-9 fixed notation FLSIZE return file size FRC fractional part FS? 00-55 is flag set FS?C 00-29 is flag set and clear GETAS get file GETKEY get a key GETKEYX get a key timed GETP get program GETR get registers GETREC get record GETRX get a registers according to X GETSUB get a subroutine GETX get a register GRAD set grads mode GTO label goto HMS convert decimal hours to H.MS HMS+ add two times in H.MS notation HMS- subtract two times in H.MS notation HR convert H.MS to decimal hours INSCHR insert a char into a record INSREC insert a record into a file INT integer part ISG %%% increment and skip if greater LASTX recall last x LBL label label LN natural logarithm LN1+X natural logarithm + 1 LOG common logarithm MDY set M.DY mode MEAN compute average MOD modulus OCT convert decimal to octal OFF turn off P-R convert polar to rectangular PASN programmable key assingment PCLPS programmable clear program PI constant pi POSA find position in alpha POSFL find position in file PROMPT display a prompt PSE pause PSIZE program size PURFL purge file R-D convert radians to degrees R-P convert rectangular to polar R/S run / stop RAD set radians mode RCL %%% recall RCLAF recall clock accuracy RCLALM recall alarm RCLFLAG recall flags RCLPT recall file pointer RCLPTA recall file pointer according to alpha RCLSW recall stopwatch RDN roll down REGMOVE move register block REGSWAP swap register block RESZFL change file size RND round RTN return RUNSW run stopwatch R^ roll up SAVEAS save text file SAVEP save program SAVER save registers SAVERX save registers according to x SAVEX save a register SCI 0-9 scientific notation SDEV standard deviation SEEKPT see a file SEEPTA see a file according to alpha SETAF set clock accuracy factor SETDATE set date SETIME set time SETSW set stopwatch SF 00-29 set flag SIGN sign of number SIN sine SIZE? what is curtain SQRT square root ST+ %%% storage arithmetic ST- %%% storage arithmetic STO %%% store STOFLAG store flags STOP stop STOPSW stop the stopwatch STx %%% storage arithmetic ST\:- %%% storage arithmetic SW invoke the stopwatch SWPT set stopwatch register pointer T+X adjust clock TAN tangent TIME return the current time TONE 0-9 tone VIEW %%% view x multiplication X<0? comparison test X<> %%% swap X and register X<>F swap X and flags X<>Y swap X 0? comparison test X>NN? comparison test X>Y? comparison test XEQ label subroutine call XROM ###,### xrom call XTOA x to left byte of alpha XYZALM set specified alarm X\<=0? comparison test X\<=NN? comparison test X\<=Y? comparison test X\=/0? comparison test X\=/NN? comparison test X\=/Y? comparison test X\>=NN? comparison test X^2 square Y^X exponentiation \:- division \GS+ summation plus \GS- summation minus \GSREG 00-99 set summation register \GSREG? what is summation register pointer |- append Non-Programmable-Operations:: CAT 1-6 catalogs: 1) user programs, 2) external functions, 3) built-in functions, 4) EMDIR, 5) ALMCAT, 6) user keyboard Notes:: Same as a -41C but with four memory modules, a Time Module, an Extended Functions / Extended Memory Module, and assorted miscellaneous functions built in. "Halfnut" is the code name for a redesigned version of the -41C internals. Externally and functionally it is identical to the other machines. It was so called because the processor board was only half the size of the original design. price changes: 1986-02-01 $249 ============================================================ Model: -41opt1, differences from -41C General: Code-Name: Blanknut Firsts: none Introduction: Date: 1981-3-24 Price: $325 Discontinuation: Date: ? Price: ? Production-Run: ? Notes:: HP-41 Opt 001: This is the same machine as a -41C, but with few of the keys labelled.