On 2010 Dec 8, at 6:55 AM, Rick Bensene wrote:
Charlie C. wrote:
With the decimal point position set to blank, it
did seem to get stuck
looping in state 31 forever when I divided 1 by 3. It could also be
that I have no experience whatever with this calculator and this
behavior is quite normal. :-) I found it curious that the only +
function is to memory, and I found the M+ and MR operation to not be
intuitive but that's probably just my ignorance as well. Again, this
was with the DP position blank; maybe that is just not intended or I
don't understand it's purpose.
The blank position of the decimal point setting switch does cause odd
behavior in this class of machines. Why Sharp (who designed the guts
for many Facit calculators of this time) put a rotary switch in with a
position that led to incorrect operation isn't clear. Similar Sharp
machines exhibit the same behavior.
The really cool thing about Brent's simulations is that they are so
accurate that they properly reproduce this behavior. Brent's
reverse-engineering skills are truly epic.
To add, the "=" key is used. Enter a number, press "=". It is added
to
the display. For example, to add 16 to 45, enter 16, press "=", enter
45, press "=", and the answer is in the display. To subtract, just
enter the number to be subtracted, and press the "-" key. For example
to subtract 9 from the result, simply enter 9, then press "-".
Brent's simulation of the Facit 1123 does add the memory function keys
that don't actually exist on the Facit 1123 model. The circuitry is
all
there for the memory functions, but on the actual machine, the keys
weren't on the keyboard. A different model (that cost more) included
the memory keys. The memory is a separate register that can be added
to
or subtracted from. The M+ and M- keys add or subtract the number in
the display from the memory register.
The CM key clears the memory register, and the MR key brings up the
content of the memory register into the display.
Thanks for filling in all that, Rick. I'll just add that in these
discrete and SSI-based machines there were lots of boundary and
exception conditions which would have required more physical logic,
complexity and expense to account for, so the designers frequently
didn't do so.
(The specifics of the DP switch are that it would have required a
couple more NAND gates to provide another DP alignment point to fill
the 6th position on the switch .. perhaps a 5-position switch wasn't
available. In the 6th 'blank' position, the state machine is looping,
looking for a match signal that never comes, as it tries to align the
number to the unspecified decimal point position.)
A few weeks ago IIRC, Roger Holmes was touching on this issue of
building gate-level simulations for diagnosis and repair of complex old
machines, in relation to his mainframe. I just have to emphasize again
how effective it can be, not necessarily for all classes of problems,
but for some/those that are buried deep in the logic. With the
schematic in hand, make observations and measurements on the physical
target, make your conjectures from those observed symptoms, and then
hack around in the simulation to try to get the same symptoms. Iterate
as necessary. Lots of fun and can save a lot of hassle and avoid
messing up the original hardware.