sábado, 28 de janeiro de 2017

CASIO PF-7000 Data Bank Super Memory-Computer

The manufacturing dates for this model are not well established as of 2016.
Probably the production started in 1983, but it must lasted at least until 1986, because my machine was made in Japan on 1986, April (see below).

My machine has IC's date codes from 1985 (September for the Processor and August for the two RAM chips).
The machine serial number is 6D308A. Assuming a date code of y-m-nnnn, my machine was manufactured in 1986, April, which is possible considering the IC dates.

The few that survived probably will not work anymore, mostly having defective keyboards.
This is a pocket organizer store telephones and memos, along with a basic calculator, measuring just 11x108x65mm when folded.

Why "Super Memory-Computer"?
Well, CASIO designed it with 2KByte of RAM. That was a substantial amount of memory back in 1983 for a pocket machine.

Power switch and contrast adjustment.

Back cover.
It runs at 6.3VDC from two CR2025 battery cells in series. 
One additional CR1220 for memory backup.
Power consumption: 0.01Watt (1.6mA)

Separating the vinyl cover/keyboard from the main body.

 Keyboard matrix connector.

A zebra interface connects the keyboard connector to the main PCB.

2 x HD61914C 1KByte SRAM (date code 1985)
1 x HD61748 B01 SoC Processor (date code 1985)

HP-10S+ Scientific Calculator: is it a CASIO clone?

A local store is selling this HP-10S+ model since a couple of years ago and every time I pass by I'm tempted to buy one to join my collection. I already have its big brother HP-300S+ and they complement each other with their excellent design and looks.

So I started searching for information on this model and found a few intriguing reports. That was more than enough to drive to the store and buy one to have a look myself.

Several people using this calculator since it came out in 2012 have commented that it looks like a CASIO clone, based on the fx-82MS, or on the fx-85MS, or on the fx-300MS.
Part of those comments are based on the fact that most of the features found in the HP-10S+ are identical on those CASIO models and even the menus are identical.

See here some of the reports:
Edward Shore - Caliber Scientific Calculator by CVS Pharmacy vs. Hewlett Packard HP 10s+
HP Support Forum - HP 10s+ screen contrast
Matheus Cariús - HP 10s+ copycat of CASIO fx-82MS
MoHPC forum members
However I'm not so sure about HP-10S being a clone of the CASIO's.

I share the statement of  George Litauszky from MoHPC (see the link above) that both HP and CASIO shared a common base software developed by Kinpo TW in China.
This explains why both have the same menu structures and many common functions.

One argument in favor of a CASIO clone:
The following test reported by BartdD on the HP Support Forum and by Matheus Cariús would tell us that the HP is a CASIO clone, because there is a leftover coding hidden in one of the HP menus that will display the same "CASIO" string found in the CASIO models to adjust the LCD contrast.

To get this "CASIO" string on the HP-10S+:
Press MODE four times and you will see DISP and a single option "1" below it.
However the CASIO's models have another option "2" to adjust the contrast that it is not available in the HP.
Now press 2 on the HP: The top row will show < LIGHT  DARK> and the "CASIO" string below it, exactly like what a real CASIO does. However the HP-10S+ contrast adjustments seems to be inoperative and the user guide doesn't contain any references to contrast adjustment.

I have duplicated this test and got the same "CASIO" string on the non operative LCD contrast adjustment menu:

Why I'm not so sure about the HP being a CASIO clone:
I realized that there are no forensics tests published for the HP-10S, HP-10S+ or HP-300S+ in the excellent Mike Sebastian listing.

Therefore I have run the usual arcsin(arccos(arctan(tan(cos(sin (9)))))) test and got a result of: 9.000000002123857

None of the CASIO models listed have this HP signature result.

By the way, the HP-300S+ forensics result is: 9.000000000881497
Again, no CASIO models listed have this signature.

I don't want to jump to conclusions, but it seems that the HP is using a distinct processor and hardware platform from what is used in the CASIO's.

quinta-feira, 26 de janeiro de 2017

HP-30S Scientific Calculator

Official HP information:
Release date: 2000
HP codename: Astro

CPU: Sunplus SPLB22A 8-bit CMOS
Power 2 x LR 44 batteries
LCD Display: 2 lines x 10 characters, Contrast Adjustable

Entry-system: Algebraic
History stack records all the entries up to a maximum 320 characters.

10 Memory registers, constant memory.
Last Entry memory.
Constant expression [K] memory.
Running memory [M].
EQN variable to store and execute expressions.

Largest number: 9.999999999E99.
Smallest non-zero positive displayed number: 1E-99
Internal smallest positive number: 10E–100.
Internal precision: 24 digits
Internal π constant displays an approximation to 21 decimal digits: 3.141592653589793238462.

HP DocumentationBesides the small succinct "user guide", HP have released a nice set of Learning Modules.

HP 30S Introduction to the Learning Modules
Being determined to keep up this tradition, HP provides these learning modules to help readers learn about the HP 30S, or to gain experience in its use.
They complement the handy, concise manual included with the calculator, and offer a hands-on way to try some of the many HP 30S features.
Readers who do not have an HP 30S but wish to learn about it can benefit by studying these aids too.

HP 30S Basic Arithmetic
Computations are done using the HOME mode, although the STAT, L SOLV and Q SOLV can also be used.
The largest number the HP 30S can represent is 9.999999999E99. The smallest non-zero positive number this calculator can display is 1E-99. Internally, the smallest number is 10E–100.
Results greater than 10^10 or less than 10^–9 are displayed in scientific notation.
Implicit multiplication.
One handy feature is that the last calculation can be repeated by just pressing Enter. This feature is most useful when combined with the Ans function.

HP 30S Clearing, Editing and Correcting
Calculation history, command line editor.

HP 30S Operating Modes and Display Format
Modes: 0) HOME, 1) STAT, 2) L SOLV and 3) Q SOLV
Angle modes: Degrees, Radians and Grads.
Display formats: Floating Point, Scientific, Engineering. Fixed with up to 9 decimal places.

HP 30S Using the Built-in Physical Constants
The CONST menu provides twelve physics constants expressed in SI units.

HP 30S Solving Problems Involving Unit Conversions
SI metric units and Imperial units. The CONV menu provides nine pages of functions for converting to and from metric units.

HP 30S Solving Problems Involving Fractions
Decimal-to-fraction conversion.

HP 30S Using Memories to Solve Problems
The history stack and the last answer functions.
The history stack is a record of all the entries made by the user, up to a maximum 320 characters.
The VRCL menu lists 11 variables: A, B, C, D, x1, x2, X, Y, y1, y2 and EQN.
Running memory M+, M-.
Constant expression (K).

HP 30S Powers and Roots
0^0 is an error condition (Domain Error) because is mathematically an indeterminate form, much like 0/0 or log 0.

HP 30S Solving Problems Involving Percents

HP 30S Logarithmic Functions

HP 30S Converting Angles and Times
Convert between Radians, Degrees and Grads. Convert between decial degrees and DMS.

HP 30S Solving Trigonometry Problems

In Radians mode, Sine of π = 0.
Indeed, the sine of the irrational number π (which has an infinite number of significant digits) is zero, but π actually returns an approximation to twenty-one decimal digits: 3.141592653589793238462 (note 1).

Is the sine of that number smaller than 10E-99?
If so, the HP 30S would automatically substitute the number zero.
But, that’s not the case, the sine in question is approximately -5E10-19.

So, what’s happening? The HP 30S evaluates to 0 the sine of any number x such that:
3.141592653589793237976281≤ x ≤ 3.141592653589793238945133.

That’s not exactly cheating, but a way of producing exact answers by implementing a very important property of π, which is that its sine is zero.
The question was: what is the sine of π?
Will you ever interested in the sine of 3.141592653589793238462?

Note 1: Numbers with more than twelve significant digits can be entered by splitting them: e.g. 3.14159265358 + 9.79323893E-12.

HP 30S Hyperbolic Functions

HP 30S Polar/Rectangular Coordinate Conversions
The HP 30S provides four functions for converting between polar and cartesian coordinates. They are in the R↔P menu.

HP 30S Working with Expressions
The HP 30S provides a way of evaluating an expression containing one or more variables for various values. An entire expression can be stored as in the EQN variable, which, when retrieved and executed, will prompt you for values of all the variables used in the expression.

HP 30S Solving Linear Systems
The L SOLV mode is an operating environment in which systems of two linear equations in two variables can be solved easily.

HP 30S Solving Quadratic Equations
The Q SOLV mode is an operating environment in which the quadratic equation ax^2+bx+c=0 can be solved to find the real solutions (if any).
If the error message is NO REAL SOL, then the two complex solutions can be calculated by using adequate expressions that can be automated using the EQN variable.

HP 30S Solving Problems Involving Complex Numbers
The HP 30S has no specific functions for operating with complex numbers.
This calculator is powerful enough to carry out calculations with complex numbers easily by using the R↔P menu. Also one can use expressions in Q SOLV and L SOLV modes to automate the process of finding the complex roots of a quadratic polynomial.

HP 30S Base Conversions
In the HP 30S, there is no specific operating mode to operate with binary, hexadecimal or octal numbers. However it is possible to automate the convertion between base systems by storing a expression in the EQN variable.

HP 30S Statistics – Averages and Standard Deviations
Average, Sample and population standard deviations, 1-VAR and 2-VAR stats.

HP 30S Statistics – Linear Regression
On the HP 30S, linear regressions are calculated in 2-VAR STAT operating mode.

HP 30S Probability – Random Numbers
The HP 30S provides two commands to generate random numbers, namely RANDM and RANDMI. The former returns a random number between 0 and 1, and the latter takes two integers A and B and returns a random integer n such as A ≤ n ≤ B.

HP 30S Probability – Rearranging Items
The PRB menu has the factorial, permutations and combinations functions.

HP 30S Solving Compound Interest Problems
Even though the HP 30S is a scientific calculator, it can solve a wide variety of compound interest problems.

What several experts non-HP sources said at the time on the internal architecture.

It uses binary arithmetic instead of BCD to perform floating point calculations.
Traditional HP calculators used BCD, allowing for a almost direct conversion of the internal values to be presented as decimal numbers in the display.
By using internal binary arithmetic with 80 bit precision (up to 24 digits in decimal), this calculator uses binary to decimal conversion and a final rounding before presenting the result in the 10 digit display.

Self-test. Press 2nd Reset, followed by holding 2nd +/- Del to get the menu: TEST:1)D2)K
Press 1 to test the cpu/memory. Keep pressing Enter. DRG to return to the menu.
Press 2 to test the keyboard. 48 columns, one for each key to test are displayed.

Note the "04" value at the right side of the self test menu. Could it be the firmware version?

What several experts non-HP sources said at the time on firmware releases.Apparently there are at least two different firmware releases. The initial series had a few calculation issues and behaviors that were later silently corrected and new behaviors introduced by Kinpo/HP.

Operation modes. Home, Stat, Linear Solver and Quadratic Solver.

The usual forensics test arcsin(arccos(arctan(tan(cos(sin(9))))) returns exactly 9.
Subtracting 9 from the Answer the result again is exactly Zero.

‎Brief check for sqrt(2) = 1.4142135623730950488

What several experts non-HP sources said at the time on  specific calculation behaviors.Depending on the firmware release (based on the serial number batches), it can present one or another of these behaviors.

- In Radians mode, the Sin(π) = 0 exactly.
This is a documented behavior by HP.
"On a Saturn-processor calculator, take "sin 3.14159265358" in radians mode. You will get the numerically-correct result of 9.79323846264 x 10-12 - which not-coincidentally are the next 12 significant digits of pi, given that the input was not, in fact, exactly pi.
Now, try the same on the HP-30S. Start with "sin 3.1415926535". The displayed result is 8.979323846 x 10-11 -- correct to its 10-digit display.
Then try "sin 3.14159265358". The answer returned is exactly zero! What happened? Rounding, for the sake of reassurance -- "This answer must actually be zero, so let's return that result to gratify the user

- On the initial production batches, the Square root is only accurate to 11-12 digits.
To fix, compute the average of square root(x) and x/square root(x).
However, some noticed that the later production batches returns a correct 24 digit square root.

- Transcendental functions is only accurate to 14-18 digits.

The HP 30s having later serial numbers like CN0143, CN0303 or even later CNA 63400675 (circa 2008), calculates the cos(1.57079632) to 6.794896619231321e-9.
To get this result: COS(1.57079632)*1E5*1E5*1E7-679489661 to get the result of .92313212.
This is the correct answer to 16 significant figures making these one of the most accurate calculators to bear the HP logo.
Someone noticed that SIN(3.14159265358) returns exactly zero on the later serial numbers.

However, some early calculators batches with serial numbers like CN0019 will get a different result:
COS(1.57079632)*1E17-679489661 ENTER will get .923035657 which is the result with the leading digits 679489661 missing. So the actual result of COS(1.57079632) is: 6.79489661923035657E-9, only 12 accurate digits.
It appears that this could be a result of a rounding error by multipyling by 10e17 instead of 1E5*1E5*1E7, but that is not the case.
Apparently there are different firmware releases for different production batches.
Someone noticed that on the old serial numbers, SIN(3.14159265358) returns 9.793238461E-12

The HP30S can only accept 13 digits as keyboard input, so to perform calculations on 24 digit inputs, one must do arithmetic in the input string.  On the newer serial numbers, if we type:
sin(3.1415926535+7391741495627E-23)*1E17-1587582 enter = .3506383
which is more or less consistent with internal 80 bit (24 decimal digit) arithmetic.
But, if we type:
sin(3.1415926535+7391741495628E-23) enter, we get exactly zero.
So, if you get close enough to PI on input, they return a result as if the input was exactly PI.

- Basic arithmetic operations uses 24 digits of internal precision.

This is true, but there are a few quirks.

Key in 1 [a b/c] 110 to put in 1/110 as a fraction via the [a b/c] key. The result is: 0/1. Or calculate 1/10-1/11 in fractional form, the result is 0/1.
But the internal value is correct (0.009090909..). Only the displayed rational value is wrong. Later production batches changed this behavior and under these conditions the machine only displays the irrational decimal value.

Try 2+.2+.2+.2+.2+.2-3 = 0
A correct answer considering this is a binary arithmetic calculator.

Now try 2+1e-9-2 = 0
A wrong answer for a 24 digit binary arithmetic machine able to display up to 10 digits.
So the machine works internally to 24 digits and appears to suppress to 10 (and sometimes to just 9).
The HP-9G do not have this issue.

- Forensic test arcsin(arccos(arctan(tan(cos(sin(9))))) result is exactly 9.
It seems that whenever the result of a calculation is an integer followed by .9999999995+, that is, the digits after the decimal point are nine 9's and a 5 plus just a few more non-zero digits, the HP30S just rounds up to the next integer.
It appears that whenever the digits after the decimal point are greater than .9999999995 or less than .0000000005, they get dropped.

Part of the reason that the HP-30S returns the exact answer of 9 for the forensics test is that the HP-30S takes the liberty of rounding results to integers that are in very close proximity, which provides answers that are reassuring to novice users.


To open the machine we just need to undo the four screws in the back cover, and then use a pry tool on the sides to unlatch the back cover.

The PCB has got some silk screen text:
SUNG WEI and SR18-13
What several experts non-HP sources said at the time.
Manufactured by Kinpo. It is a modified SR18.

A new HP-35S calculator made in Philippines?

This HP-35S was made in China by Kinpo TW for HP.

Now SAT1410 from the MoHPC has discovered a eBay seller advertising a new model made in Philippines.

The blister labels says:
- Made in Philippines
- (c) Copyright 2015 HP
- HP Product #: F2215AA#ABA
- Serial No. PHA65101FY.

I wonder if the alleged firmware bugs have been fixed on this new production run..

28-Jan update: 
Nope, the firmware is the same as the original Chinese series. Confirmed by a fellow MoHPC member.

What happened is that Kinpo TW has deployed new manufacturing plants in Philippines to produce general consumer electronics products, while the China plants are used for professional equipment.

sábado, 14 de janeiro de 2017

Sharp EL-9650 Equation Editor - from 2000

This SHARP EL-9650 programmable scientific graphics touch screen calculator, together with the EL-9600, were the first ever handheld calculators with a touch screen.
The EL-9600 was released in 1997 and this EL-9650 was released in 2000.
This is a good reason to grab one of these to your collection.

Much later, in 2003, CASIO has released similar touch screen feature with their Classpad series.

Main hardware/firmware features obtained from the official SHARP site and user guides:

Black LCD Touch Screen;
Text mode: 22 Digits x 8 Rows. 5x7 dot matrix chars;
Graphics mode: 132 x 64 pixels;
Touch Screen matrix: 22 x 8.

Program mode: Up to 99 programs.
RAM Memory size: 32KByte.

User register memories: 27
Functions: 801 (The similar EL-9600 model has 797 features)

Serial Unit to Unit (CE-450L kit) or Unit  to PC (CE-LK1P kit).

Power Supply:
Battery 4 x AAA
Power consumption: 0.13W at 6VDC
Memory backup: CR-2032

In normal mode: 10 digits mantissa 2 digits exponent;
In complex mode: 10 digits mantissa;
Using split Screen: 7 digits mantissa.

 Forensics test result: 8.9999999771708

I like when a calculator is able to give a straight positive answer to sqrt(-2).

Also it was swift to find the correct answer to the integral of int(0,pi, sin(x)dx).

Graphical representaions of multiple functions.

This calculator manufacturing date: around 2001.
The included original Japanese batteries have a date code of 01 09 (2001, September).
Also the IC4 and IC5 SHARP chips shows date codes for the year 2001, week 45 and 44.


When the battery cover is removed, the main battery power supply is switched off automatically thanks to a pressure switch visible in the picture at the left side of the memory backup battery cell.
I don't recall this feature in any other calculator.

To remove the back cover we need to undo six screws.
The main PCB is covered with a screening foil that requires an additional screw to be undone.


Integrated Circuits:
IC1: Unmarked (LCD/Touchscreen driver?)
IC2: Unmarked (Processor?)
IC3: EPSON SRM2B256SLTMX1 256KBit (32KByte) Static RAM
IC4: SHARP LH5S4ATA 4Mbit (512KByte) Mask ROM (date code 0145: 2001 week 45)
IC5: SHARP LZ9GA34 LCD/Touchscreen controller (date code 0140: 2001 week 40)

sexta-feira, 6 de janeiro de 2017

SHARP EL-W506X scientific calculator

This machine uses a similar electronic and mechanical build seen on current CASIO calculators.

However the SHARP uses a different processor and algorithms giving different calculation results.

The usual forensics test gives a result of: 9.000000098906
So far (Jan-2017), this result is only seen in some SHARP calculators.

Complex numbers.  It handles the sqrt(-2).

Integrals.  int(0,pi,sin(x)) results in 2.000000001. Not exactly the expected result from a modern calculator these days.

And this machine is slow but understandable considering it is designed to work with solar cells.
It took 23 seconds to compute this.

Consulting the user guide I found the reason for the above odd result. We need to specify a higher number of sub-intervals, as by default this calculator will use just 100 intervals.
Trying again but specifying 200 intervals, we got the usual expected result of 2.
To get this answer the machine took 44.5 seconds.

Differentials. diff(3x^3), x=1 results in 9.00000001. Again, this result is odd.

Checking the user guide, we see that for this computation the machine uses a default minute interval of 10^-5. Trying again but specifying a minute interval of 10^-8 it came out with the usual expected answer for these kind of machines.

Comparing to a Casio fx-991 the above integral and differential gives the expected results of 2 and 9 without the need to specify additional command options.
The CASIO is fast compared to the SHARP under the same solar light conditions. Just under 2 seconds to compute the integral.

It uses a single LR44 1.5V cell as backup and auxiliary power for the solar panel.

 The solar panel generates 1.8VDC under strong light.

It seems SHARP uses a single internal PCA design for all Colourful Scientific Calculators series.
A table with seven models can be selected by changing the hardware jumpers.
I didn't test it.

The solar panel is more sensitive to what can be found on the CASIO fx-991 series.
Under the same conditions, the CASIO machines will not power on, requiring either more light or a battery cell to be able to work.

The keyboard construction is similar to what we see on CASIO machines.
A rubber membrane and discrete plastic keys.