HP Forums

Full Version: Sharp EL-5100 Instruction Manual - PDF, full text searchable
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
For anyone who may be interested in a soft copy of this manual, I recently scanned my Sharp Scientific Calculator Model EL-5100 Instruction Manual. It consists of 80 pages plus the outside and inside of the front and rear cover pages.

It is freely available from http://striegels.com/alan/sharp/Sharp%20...Manual.pdf.

The PDF file is fully text-searchable, although the OCR has no success with understanding symbols, such as pi, square-root of x, etc.

Alan
Thank you. Very useful!
Good job, did you have to cut it up to scan it? I have seen videos of people cut the spine from a text book with a power saw and feed the loose leaf into a scanner.
(10-17-2017 03:22 AM)Dan Wrote: [ -> ]Good job, did you have to cut it up to scan it? I have seen videos of people cut the spine from a text book with a power saw and feed the loose leaf into a scanner.
Absolutely not! I did have to crease the pages for scanning on a flatbed scanner but I could not bear to cut it apart if I couldn't re-assemble it intact.

In my spare time over the course of several weeks, I put a black sheet of paper behind each page before laying it across the scanning bed of a multi-function HP printer - the PSC 950. On top of that I placed a larger black cardboard piece and weighed it down. (Incidentally, the weight was an RS-232 break out box that happened to be sitting on the table with the MFP).

Each page was scanned at 600 dpi then aligned, cleaned a bit, and cropped with ThumbsPlus. The resulting 84 .png files were assembled into the final .pdf using ABBYYY PDF Transformer+.

Alan
Apologies, that was a stupid question.

Over the years I have accumulated a lot of books that are just taking up space and gathering dust. Cutting them up and scanning is an option for those with little value but is time consuming. I have to accept that I am a hoarder and just get rid of them. It helps that a lot is online now.
Thank you!
Thank you. Great job.
And very usefull. I bought an EL-5100 recently. This makes it "a little" easier to use :-)
BTW the book suggested by the manual "Advanced Analysis with the Sharp 5100 Scientific Calculator" by Jon M. Smith is $135.33 on Amazon.
Thank you for sharing the EL-5100 manual!

I recently acquired an EL-5100 to add to my collection. I also have an EL-5100(S). Both are very nice looking machines and interesting from a historical point of view:

"In 1979, the world's. first direct formula entry scientific line of calculators, the EL-5100 series, was introduced by Sharp. Models EL-5100 and EL-5101 are specifically designed to simplify computation in the areas of architecture, civil engineering, electricity, statistics, surveying and more. The unique rolling writer feature and playback in direct formula entry, add many advantages in solving complex formulas. Additionally, the dot matrix liquid crystal display provides alphanumeric readout." -- Sharp EL-5100/5101 Scientific Calculator Application Text.

"As a world first, Sharp introduced the EL-5100 scientific calculator in 1979, which was the first to include a dot matrix LCD display capable of displaying alphanumeric characters, and the first to be used with the now standard expression evaluation method: the algebraic expression keyed in will be calculated only after pressing the = key. In addition, the machine was programmable, as it was able to store such expressions in four programs (areas) and recalculate them with new and new values. The manufacturer called the new system AER which abbreviates Algebraic Expression Reserve. Later, several machines were built according to this system, and the AER itself was further developed and expanded with conditional branching, looping and subroutine handling capabilities, which are common in professional programmable calculators." Virtual Museum of Calculators

Hacking the EL-5100

I really enjoy using RPN machines as well as any machine that is programmable, even the esoteric vintage Sharp AER calculators such as the EL-5100 and EL-5200/EL-9000. After having used the EL-5100(S) for some time, it was surprising to me that there is a lot more the EL-5100 can do with some hacks than the manual and application text suggest!

To dig into this matter further, note that the EL-5100 manual on pages 9 to 11 illustrates how the EL-5100 evaluates expressions with an X register, a "data buffer" and a "function buffer". The fact that two stacks ("buffers") are used and the steps performed to evaluate expressions, clearly shows that the Sharp EL-5100 uses a simple implementation of the Shunting Yard algorithm. The Shunting Yard algorithm is a limited form of so-called operator-precedence parsing which itself is a limited form of LR parsing. The EL-5100 combines the Shunting Yard algorithm with a "last answer" register X by passing X as an operand to operators. Expressions that would normally be flagged as syntactically invalid by operator-precedence parsers can be evaluated on the EL-5100 in AER programs. This opens the door to hacking EL-5100 AER programs to do things that would not be easy or even possible if we stick to the manual.

AER on the EL-5100 lacks loops, conditionals and subroutine calls. AER is limited to expressions over global variables A to J and simple functions definitions. An expression can be up to 80 "steps" long. A step is essentially a unit of one byte or one character. Built-in functions, such as SIN, take one byte.

Conditional execution hacks

A zero power 0Yˣ0 returns 0 (mathematically it is undefined). This can be used to implement comparison operations:
  • Kronecker delta(i,j): 1-(I-J)²Yˣ0
  • A≠0 giving 1 as true and 0 as false: A²Yˣ0
  • A≠B giving 1 as true and 0 as false: (A-B)²Yˣ0
  • A<0 giving 1 as true and 0 as false: (√A²-A+10-10)Yˣ0
  • A<B giving 1 as true and 0 as false: (√(A-B)²-A+B+10-10)Yˣ0
Note 1: √A²-A may have a roundoff residual fraction \( \pm 10^{-11} \) which we remove with √A²+10-10 if it matters.
Note 2: Powers do not accept negative left operands. We can use squaring and repeated multiplications or √A²YˣB or A²Yˣ(B÷2) i.e. if B is even.

For example, using the 4th expression in the list above, we can assign the value of A to B if C<0 with: (A-B)×(√C²-C+10-10)Yˣ0+B STO B

Missing function hacks

The following functions are missing on the EL-5100 but can be implemented as follows by using the EL-5100's non-rounding to 10 digits:
  • absolute value |A|: √A²
  • signum(A): A÷(√A²+ᴱ‐99) or A÷√A² when A≠0
  • trunc(A): A+1+ᴱ10-1-ᴱ10
  • round(A): A+1.5+ᴱ10-1-ᴱ10
  • frac(A): A-(A+1+ᴱ10-1-ᴱ10)
  • modulo(A,B): A-(A÷B+1+ᴱ10-1-ᴱ10)B
Note: denotes the base-10 exponent (the EXP key).

AER programming hacks

This list is useful to significantly reduce AER code size and to avoid displaying intermediate results when a comma is used to separate expressions (later AER versions introduced a space operator for this reason.) The first two points in the list below are mentioned in the manual, but are included here since we use them a lot. All other points are not mentioned anywhere in the manual or anywhere online as I've searched extensively online for resources on the EL-5100(S):
  • Implicit multiplication has higher precedence than multiplication and division:
    Code:
        1÷2A                                same as 1÷(2A)
  • Function parenthesis are optional and implicit multiplication, squaring and reciprocal have higher precedence:
    Code:
        SIN A                               same as SIN(A)
        COS AB                              same as COS(A×B)
        COS A²                              same as COS(A²)
        TAN A⁻¹                             same as TAN(A⁻¹)
  • Implied multiplication when applied to parentheses like A(B+2) is not possible, except when applying to A to J or to π after a closing ')':
    Code:
        1;1+B)A                             computes A×(1+B)
  • after STO ⇒M M+ M- the last value is still usable as an operand for the next operator (passed via register X):
    Code:
        1;A STO B +1 STO C                  saves A to B and B+1 to C
  • When using an infix or postfix operator (+ - × ÷ Yˣ ˣ√ ℂ ℙ STO →POL →REC ² ⁻¹ ! ⇒M M+ M- →DEG →DMS) at the start of an expression, this operator uses the last value calculated as its first operand (via register X):
    Code:
        1;f(A)=+1 STO A ×2 STO B            takes A then saves A+1 to A and 2A to B
  • In fact, this method also works without a function, but a value must be calculated first and displayed before pressing COMP:
    Code:
        1;STO A
  • Open parenthesis '(' can be omitted when using ')' or '=' in an expression. A '=' closes all open parentheses of an expression:
    Code:
        1;f(A)=2A-1)²                       computes (2A-1)²
        1;f(A)=1+(2×(A-3=²                  computes (1+(2×(A-3)))²
  • All parentheses before STO ⇒M M+ M- , ◣ are automatically closed:
    Code:
        1;f(A)=2×(A-1 STO B                 takes A then saves 2×(A-1) to B
  • A comma ',' can be omitted (the comma displays the result) when the next expression starts with an operand:
    Code:
        1;A+1 STO A 2B STO B                saves A+1 to A and 2B to B
  • A f()= function in AER can be defined within an AER expression to start another f()= function with expression:
    Code:
        1;f(A)=²,f(A)=√A                    takes A, displays A², then takes A
                                            again, displays √A
  • A f()= function does not require the closing ')', the '=' suffices:
    Code:
        1;f(AB=√(A²+B²                      computes hypotenuse of A,B
                                            (shorter is A→POL B but changes J)
  • A value specified with COMP for f(A)= can also use some of the same tricks:
    Code:
        1;2 STO B f(A)=
        COMP
        1;A=?
        enter ×2
        1;ANS 1= 4.

A summary of EL-5100(S) functions and operators

Code:
Functions and prefix operators:
    SIN     COS     TAN                 trig
    SIN⁻¹   COS⁻¹   TAN⁻¹               inverse trig
    SINH    COSH    TANH                hyperbolic trig
    SINH⁻¹  COSH⁻¹  TANH⁻¹              inverse hyperbolic trig
    e       ₁₀                          natural and base-10 exponents
    LN      LOG                         natural and base-10 logarithm
    √       ³√                          square and cube root
    (‐)                                 unary minus

Postfix functions:
    →DEG    →DMS                        convert to degrees or D.MS
    ²       ⁻¹                          square and reciprocal
    !                                   factorial

Infix functions and operators:
    →POL    →REC                        polar and rectangular (also assigns J)
    ℂ       ℙ                           combinations and permutations
    Yˣ      ˣ√                          power and root
    ×       ÷                           multiply and divide
    +       -                           add and subtract

Constants:
    π

Variables:
    A to J

Storage:
    <expression> STO <variable>         store in <variable>
    <expression> ⇒M                     store in M
    <expression> M+                     add to M
    <expression> M-                     subtract from M

Instruction sequencing:
    <expression> , <expression>         in AER press COMP
    ◣                                   end of line, press 2ndF COMP

Function definition in AER mode:
    f(<variables>)=<expression>

Gotchas
  • always use the (‐) key for unary minus, otherwise - (minus) takes the current value of the last answer register X as the left operand to return X-expression
  • RM (recall memory) is not programmable in AER

New AER programs

Solve f(x)=0 for x with the bisection method

This program uses a conditional assignment E-A)×(√F²-F+10-10)Yˣ0+A STO A to assign E (x) to A (left bound of the domain when F<0 (f(x)<0) to bisect the domain while searching.

Code:
1;f(AB=B-A)÷2 STO H A+H STO E◣
2;EE-2 STO F H÷2 STO H E-A)×(√F²-F+10-10)Yˣ0+A STO A +H STO E F

where:
1; specifies domain brackets A to B
2; performs one bisection step to move x closer to the solution, displays f(x)

The function f(x) to solve for x is specified in 2; up to STO F, with E as x.

Press 1; or COMP to specify bounds A and B, then press 2; and repeat COMP until the value of f(x) displayed is zero or small enough. Press RCL E to display the root x.

If the value f(x) displayed grows instead of shrinks, then start over with switched bounds A and B. It is assumed that the bounds A and B satisfy f(A) ≤ 0 ≤ f(B).

If the values f(x) do not quickly converge to zero but rather converge to one of the bounds A or B, then the bounds A and B may not bracket the solution. For example, when f(x) slowly shrinks with E moving toward A, then press 1; to start over with a smaller bound A and set B=E (the current x).

Example to solve x^2-2=0:

Press 1; then enter 0 for A and 10 for B:
1;A=0 COMP
1;B=10 COMP
Press 2; then press COMP until f(x)=0 or a small f(x) is displayed:
2;ANS 1= 23.
COMP
2;ANS 1= 4.25
COMP
...
2;ANS 1= ‐4.ᴱ‐11

Press RCL E to obtain the solution x of f(x)=0:
1.414213558

Press 1; then enter ‐10 for A and 0 for B:
1;A=‐10 COMP
1;B=0 COMP

Press 2; then press COMP
2;ANS 1= 23.
COMP
2;ANS 1= 54.25
Because the value grows, we start over with A and B switched:
1;A=0
1;B=‐10
Press 2; then press COMP until f(x)=0 or a small f(x) is displayed:
2;ANS 1= 23.
COMP
2;ANS 1= 4.25
COMP
...
2;ANS 1= ‐4.ᴱ‐11

Press RCL E to obtain the solution x of f(x)=0:
‐1.414213558

A better algorithm for root search is the secant method:

Solve f(x)=0 for x with the secant method

Iterate until convergence \( x_{n+1}=x_n-f(x_n)\frac{x_n-x_{n-1}}{f(x_n)-f(x_{n-1})} \)

Code:
1;f(E=+ᴱ‐4 STO D STO G◣
2;EE-2 STO F E-(E-D)F÷(F-G) STO G E STO D G STO E F STO G

where:
1; specifies the starting point x as E
2; evaluates f(x) and performs one secant step to move x closer to the solution, displays f(x)

The function f(x) to solve for x is specified in 2; up to STO F, with E as x.

Press 1; or COMP to specify starting x as E then press 2; and repeat COMP until the value of f(x) displayed is zero or small enough. Press RCL E to display the root x.

Example to solve x^2-2=0:

Press 1; then enter 2 for E:
1;E=2 COMP
Press 2; then press COMP until f(x)=0 or a small f(x) is displayed:
2;ANS 1= 2.
COMP
2;ANS 1= ‐2
COMP
...
2;ANS 1= ‐8.9ᴱ‐10

Press RCL E to obtain the solution x of f(x)=0:
1.414213562

Press 1; then enter ‐2 for E:
1;E=‐2 COMP
Press 2; then press COMP
2;ANS 1= 2.
COMP
2;ANS 1= 1.999799998
COMP
...
2;ANS 1= 9.2ᴱ‐10

Press RCL E to obtain the solution x of f(x)=0:
‐1.414213562

Simpson's rule of integration

Simpson's method is listed in the manual, but is quite cumbersome to use compared to this one.

\( \int_a^b f(x)\,dx \approx \frac{h}{3}\left[ f(x_0) + 4\sum_{j=1}^{n/2} f(x_{2j-1}) + 2\sum_{j=1}^{n/2-1} f(x_{2j}) + f(x_n) \right] \)

Code:
1;f(ABC)=0 STO I 1 STO J 2 STO H A STO E B-A)÷C STO D◣
2;EEE+2E²-E+2 STO F ×J+I STO I E+D STO E 6-H STO H STO J C-1 STO C◣
3;I-F)D÷3

where:
1; specifies integration range A to B in C parts, C must be even
2; evaluates one step of the function
3; computes the final result

The function is specified in 2; up to STO F, with E as x.

Press 1; or COMP to specify A, B and C, then press 2; and repeat COMP until the counter C value displayed is -1. Press 3; to obtain the integral value. To restart, press 1;. In this case the values of A and B were retained, but C must be specified.

Example to estimate \( \int_1^5 x^3+2x^2-x+2\,dx \) in 8 steps:

Press 1; then enter the value 1 for A, 5 for B and 8 for C:
1;A=1 COMP
1;B=5 COMP
1;C=8 COMP
1;ANS 1= 0.5

Press 2; then press COMP until -1 is displayed:
2;ANS 1= 7.
COMP
...
2;ANS 1=-1.

Press 3;
3;ANS 1= 234.6666667

Differentiation

Code:
1;f(A)=√A²+ᴱ‐9)×ᴱ‐4 STO H A+H÷2 STO A 0 STO D◣
2;SIN A=÷H+D STO D A-H STO A ‐H STO H D

where:
1; specifies the differentiation point
2; evaluates the function, which must be done twice

The function is specified in 2; up to = with A as x.

Press 1; or COMP to specify A then press 2; and COMP to obtain the differential of the function at point A.

Example to compute \( \frac{d\sin(x)}{dx}|_{x=\pi/3} \) which is COS(π/3)=0.5:

Press DRG until RAD annunciator lights up
Press 1; then enter π÷3 for A:
1;A=π÷3 COMP
1;ANS 1= 0

Press 2; then press COMP:
2;ANS 1= 8270.183412
COMP
2;ANS 1= 0.5


Rational approximation by continued fractions

Code:
1;E+1+ᴱ10-1-ᴱ10 STO D E-D STO E BD+J STO F B STO J F STO B CD+I STO F C STO I F STO C B÷C STO D E⁻¹ STO E A-D◣
2;f(A)=1 STO B STO I 0 STO C STO J A STO E

Press 2; to enter a value to convert to rational form
Press 1; to compute the first approximation D=B/C~A, displays the difference A-D
Press COMP to compute the next approximation D=B/C~A, displays the difference A-D
Repeat COMP until the difference (error) is sufficiently small or zero
Result: B is the numerator, C the denominator and D=B/C

Example to convert \( \pi \approx 355/113 \):

Press 2; then enter π
2;A=π
COMP

Press 1;
1;ANS 1= 0.141592654
COMP
1;ANS 1=-0.001264489
RCL B
22.
RCL C
7.
COMP
1;ANS 1= 0.00008322
RCL B
333.
RCL C
106.
COMP
1;ANS 1= 0.00000267
RCL B
355.
RCL C
113.

This gives 355/133 as an approximation of π with 5 digits precision (0.00000267 residual). Continue to obtain more accurate approximations.

GCD

The Euclidean method using modulo of A and B computed with A-(A÷B+ᴱ10-ᴱ10)B.

Code:
1;A-(A÷B+1+ᴱ10-1-ᴱ10)B STO C B STO A C STO B

Press COMP until zero is displayed (or when an error occurred), then A holds the GCD result. Negative A or B may produce a negative GCD in A. In that case ignore the sign of A or correct it with √A².

Example:

5040 STO A
411 STO B
COMP
1;ANS 1= 108.
COMP
1;ANS 1= 87.
COMP
1;ANS 1= 21.
COMP
1;ANS 1= 3.
COMP
1;ANS 1= 0.
RCL A
3.


Error function

An erf() approximation with maximum relative error 0.00013:

Code:
1;f(A)=² STO B √B÷A×√(1-e((-)B×(4÷π+.147B)÷(1+.147B

Note: erf(0)=0 but we get an error because √B÷A is used to determine the sign of A

An erf() series approximation \( {\rm erf}(t)=2/\sqrt{\pi}(x-x^3/3+x^5/(5\times 2!)-x^7/(7\times 3!)+\cdots) \)

Code:
1;C+1 STO C (-)BA²÷C STO B ×C÷(2C-1 M+◣
2;f(A)=(-)2÷√π÷A STO B 0 STO C ⇒M

where:
1; computes the next term of the series, adding the term to M
2; sets the t parameter as A and initializes B, C and M

Press COMP to specify t as A, then press 2; and repeat COMP until the term becomes sufficiently small (e.g. use TAB to specify precision). Press RM at any time to view intermediate results and the final erf(t) result.

Note: erf(0) is 0 but we get an error

Example erf(2):

Press 2; then enter the value 2 for A:
2;A=2 COMP
Press 1; then press COMP until the term becomes sufficiently small:
1;ANS 1= 2.256758334
COMP
1;ANS 1=-3.009011112
COMP
1;ANS 1= 3.610813335
COMP
1;ANS 1=-3.438869843
COMP
1;ANS 1= 2.674676544
COMP
1;ANS 1=-1.750697374
COMP
1;ANS 1= 0.987572878
COMP
1;ANS 1=-0.489083711
COMP
1;ANS 1= 0.215772225
COMP
1;ANS 1=-0.08580416
COMP
1;ANS 1= 0.031052934
COMP
1;ANS 1=-0.010310065
COMP
1;ANS 1= 0.003161753
COMP
1;ANS 1=-0.000900784
COMP
1;ANS 1= 0.000239618
COMP
1;ANS 1=-0.000059776
COMP
1;ANS 1= 0.000014038
COMP
1;ANS 1=-0.000003114
RM
0.99532172
COMP
1;ANS 1= 0.000000655
RM
0.995322375
COMP
1;ANS 1=-0.000000131
RM
0.995322244
COMP
1;ANS 1= 0.000000025
COMP
2;ANS 1=-0.000000005
RM
0.995322264
COMP
1;ANS 1= 7.8492065557ᴱ-10
RM
0.995322265


Sterling's Gamma approximation

Code:
1;f(A)=√2π×AYˣ(A-.5)×e(1÷12A-A

Complex arithmetic

Code:
1;f(BJ)=A+B STO A,I+J STO I◣
2;f(BJ)=A STO HAB-IJ STO A,BI+HJ STO I◣
3;f(BJ)=²+B² STO GA STO HAB+IJ)/G STO A,BI-HJ)/G STO I

where
1; adds B+Ji to A+Ii
2; multiplies A+Ii by B+Ji
3; divides A+Ii by B+Ji

Example:

12.5 STO A              re of first argument
(-)7 STO I              im of first argument
2ndF-G
2;B=3                   re of second argument
2;J=2                   im of second argument
2;ANS 1= 51.5           re of the product
2;ANS 2= 4.             im of the product


These examples I came up with hopefully illustrate how the EL-5100 can be a bit more appealing and competitive to use, despite its age dating from 1979. The AER examples can be a bit puzzling to follow: the EL-5100 AER notation looks algebraic, but it's more of a mix of algebraic and key-stroke programming. The intro part helps to explain what constructs I've used for these examples. I am sure many other simple algorithms can be implemented on the EL-5100 with some EL-5100 "hacking".

Edit: minor update to fix a typo and fix trunc(), round() and related functions and examples to handle values .1 to .9 that appear to be rounded when adding \( 10^{10} \) even though no other value ranges are rounded, e.g. 1.1+ᴱ10-ᴱ10 = 1 but .1+ᴱ10-ᴱ10 = .1. Also -.9 to -.1 has this problem. To fix trunc() to handle any value, including -.9 to -.1, we can use the much more elaborate formula (10A+ᴱ11)×.1-ᴱ10. A strange and charming quirk of the EL-5100.

- Rob
Thank you for sharing your hacks with us, Rob.
(10-17-2017 03:22 AM)Dan Wrote: [ -> ]Good job, did you have to cut it up to scan it? I have seen videos of people cut the spine from a text book with a power saw and feed the loose leaf into a scanner.

No need to use a power saw if they are soft bound. I just take them to Staples, have them slice off the spine, then scan using a fast document scanner. If I wish to preserve the original, I take it back to Staples and have them punch it and wire bind it for me. End result is a nice scanned copy AND a spiral bound manual that can still be used - actually a lot better since the pages can now be folded back onto themselves.

The few times I tried scanning Sharp manuals, I found that there can be a lot of bleed through. Unfortunately, Sharp decided to use very thin paper for a lot of their manuals.

73
Bill WD9EQD
Smithville, NJ
(05-11-2022 12:26 AM)Bill (Smithville NJ) Wrote: [ -> ]The few times I tried scanning Sharp manuals, I found that there can be a lot of bleed through. Unfortunately, Sharp decided to use very thin paper for a lot of their manuals.

Place a matte black piece of paper over top of what you are scanning to reduce bleed through problems. It sounds counterintuitive but it works...
(05-11-2022 12:20 PM)Jeff_Birt Wrote: [ -> ]
(05-11-2022 12:26 AM)Bill (Smithville NJ) Wrote: [ -> ]The few times I tried scanning Sharp manuals, I found that there can be a lot of bleed through. Unfortunately, Sharp decided to use very thin paper for a lot of their manuals.

Place a matte black piece of paper over top of what you are scanning to reduce bleed through problems. It sounds counterintuitive but it works...

I've done that before and it does work. When doing this in color scanning, you can get a tint to the background. I've found that you can load the scanned page images into a paint program and then manipulate the brightness, contract and gamma settings to eliminate or lesson the background tint. It's a pain, but is doable. And the results can be quite good.

73
Bill WD9EQD
Smithville, NJ
(05-08-2022 08:28 PM)robve Wrote: [ -> ]Hacking the EL-5100

I really enjoy using RPN machines as well as any machine that is programmable, even the esoteric vintage Sharp AER calculators such as the EL-5100 and EL-5200/EL-9000. After having used the EL-5100(S) for some time, it was surprising to me that there is a lot more the EL-5100 can do with some hacks than the manual and application text suggest!

- Rob

Wow! What an massive knowledge of Sharp secrets! Very nice!
A charming quirk of the vintage EL-5100 is that 1.9+ᴱ10-ᴱ10 = 1 because of non-rounding to 10 digits. So adding and subtracting \( 10^{10} \) removes the fractional part. This comes in handy to "hack" algebraic expressions on the EL-5100 that require truncation, rounding, fractional part and mod, which I listed in a previous post together with some example AER programs that use these functions.

So I was surprised to discover an exception to this rule 0.1+ᴱ10-ᴱ10 = 0.1 and -0.1+ᴱ10-ᴱ10 = -1. By contrast, fractions smaller than \( \pm .1 \) and values larger than \( \pm 1 \) with a fraction are truncated to a whole number.

To make sure that truncation towards zero always works, we just need a more elaborate expression (10A+ᴱ11)×.1-ᴱ10 to trick the internal BCD calculation logic to discard a remaining fractional digit. That works for any value A. For non-negative A, the simpler expression A+1+ᴱ10-1-ᴱ10 suffices (obviously, since we simply avoid .1 to .9).

So I made a minor update to the EL-5100 "hacks" post to replace truncation and related functions with the simpler A+1+ᴱ10-1-ᴱ10 expression, since the example AER programs assume non-negative inputs.

Here is another new AER program example that uses this trick:

Base conversion
Code:
1;A STO C ÷B+1+ᴱ10-1-ᴱ10 STO A C-AB

Store a positive value in A to convert and positive non-zero base in B
Press COMP to display the least significant digit
Press COMP to display the next digit and so on until the most significant digit is displayed (and A is zero)

Example to display 5042 in hex:
5042 STO A
16 STO B
COMP
1;ANS= 2.
COMP
1;ANS= 11.
COMP
1;ANS= 3.
COMP
1;ANS= 1.

Hence, 5042 in hex is 13B2

- Rob
I wonder if anyone on this forum has attempted the new LCD replacement part for the Sharp EL-5100:

https://www.tindie.com/products/halfbake...p-el-5100/

The LCD is designed to work with the EL-5100. I assume it works with the EL-5100S too, but not sure. I have an EL-5100S with deteriorating LCD (bleed), so a replacement would be nice.

EDIT: I can confirm the new LCD works perfectly with my EL-5100S.

It's made by the same guy who designed the Sharp PC-1211 LCD replacement, which was featured by Jeff in a Hey Bird! video I would love to see a video on this EL-5100(S) replacement LCD.

Luckily, my EL-5100 is still perfect Smile

- Rob
(11-20-2022 02:15 AM)robve Wrote: [ -> ]I wonder if anyone on this forum has attempted the new LCD replacement part for the Sharp EL-5100:

https://www.tindie.com/products/halfbake...p-el-5100/

The LCD is designed to work with the EL-5100. I assume it works with the EL-5100S too, but not sure. I have an EL-5100S with deteriorating LCD (bleed), so a replacement would be nice.

It's made by the same guy who designed the Sharp PC-1211 LCD replacement, which was featured by Jeff in a Hey Bird! video I would love to see a video on this EL-5100(S) replacement LCD.

Luckily, my EL-5100 is still perfect Smile

- Rob
I've just done this today! The job was very similar to the PC-1211 replacement (which I had done previously) but more straightforward, because the EL-5100 only has a single circuit board.

Here's a picture showing the result:

[Image: sharp%20el-5100.png?raw=1]

Note for UK readers: you can now purchase HalfBakedMaker's replacement displays from Lectronz (link taken from the tindie.com page), which presumably handles the post-Brexit VAT correctly. No more need for forwarding services! (I have no link with the seller other than being a satisfied customer.)

Nigel (UK)
Thank you for sharing!

(10-23-2017 05:08 AM)Dan Wrote: [ -> ]I have to accept that I am a hoarder and just get rid of them.

Libraries! Send them to libraries. if they are technical, to technical libraries (universities for example)

I remember when I couldn't keep my copies of several magazines about computers and I went to the local library, they said "yes we will take them!" and I carted those with a wheelbarrow there. A collection of several years in fact.
Reference URL's