Post Reply 
32SII new "old-bug"
12-15-2021, 09:03 AM
Post: #1
32SII new "old-bug"
In my current investigation of the 32S/32SII machines, a new "old-bug" has been found recently by my friend Mike (Stgt) (who is unfortunately no more participating to this forum).
To my knowledge, this bug has never been reported (correct me if I'm wrong).

So here is the bug description:

do CLVARS, CLΣ to start from a known state,
do 2 ENTER 3 Σ+ to create the statistics registers,
then press MEM , VAR to review the summation registers,
you should see n=1.0000
In this MEM/VAR submenu, it is allowed to press ENTER to enter a variable value on the stack,
so press ENTER, and you get an unexpected "INVALID (i)" error. This is the bug.

ENTER works correctly with all the other variables, including the ΣX, ΣY, ΣX2, ΣY2, ΣXY sum registers.
But not for the register 'n'.
Where does it come from?

Locating the source of the problem by exploring (i.e. disassembling) the ROM shows that the code is doing "RCL (i)" instead of recalling 'n'.
This is because the same code that is managing the "RCL var" commands, including "RCL (i)", is also used to recall the values inside MEM/VAR including the stat sum registers.
And the code for the register 'n' is 28, the same as the code for (i) . That is:
Codes              1  2  3 ... 26  27  28   29 ... 33
"RCL var" coding   A  B  C ...  Z   i  (i) -- N/A  --
register coding    A  B  C ...  Z   i   n  ΣX ... ΣXY
This was likely done in this way to pack the ROM code, and it is was a good decision of the programmer since nobody noticed any problem with it (if I'm not wrong) for more than 30 years.
The bug is present in the two known versions of the 32SII.
Note that the 32S doesn't allow to access the summation registers inside MEM/VAR, so doesn't have the problem.

BTW, if you are (like me) interested in exploring old machine code, an image of the 32SII version B (aka ROM 1 from the annunciator set at the end of the selftests) is now available at the well-known art place.

Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
32SII new "old-bug" - J-F Garnier - 12-15-2021 09:03 AM
RE: 32SII new "old-bug" - Massimo Gnerucci - 12-15-2021, 11:09 AM
RE: 32SII new "old-bug" - rprosperi - 12-15-2021, 01:37 PM
RE: 32SII new "old-bug" - Joe Horn - 12-15-2021, 05:40 PM
RE: 32SII new "old-bug" - J-F Garnier - 12-15-2021, 10:02 PM
RE: 32SII new "old-bug" - Ross Barnes - 12-15-2021, 03:41 PM
RE: 32SII new "old-bug" - J-F Garnier - 12-17-2021, 09:20 AM
RE: 32SII new "old-bug" - J-F Garnier - 01-03-2022, 08:55 AM
RE: 32SII new "old-bug" - J-F Garnier - 01-08-2022, 08:49 AM
RE: 32SII new "old-bug" - KeithB - 01-04-2022, 03:15 PM
RE: 32SII new "old-bug" - J-F Garnier - 01-05-2022, 08:26 AM
RE: 32SII new "old-bug" - Vincent Weber - 01-08-2022, 01:22 PM
RE: 32SII new "old-bug" - Ross Barnes - 01-08-2022, 04:46 PM
RE: 32SII new "old-bug" - Thomas Radtke - 01-09-2022, 11:39 AM

User(s) browsing this thread: 1 Guest(s)