HP Forums

Full Version: 67/97 card read bug on the HP41
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I came across some comments in the Time module source code about the 67/97 card read bug. The Time module works around it by ensuring there are no null registers inside the alarm buffer.

Does anyone know more about it? Was it ever fixed? Why would 67/97 cards cause this effect, I suppose that 41 cards does not? Is it related to the translation process somehow?
If I recall correctly this is the reason why buffers should not have empty registers, or at least that their "last" register (footer) should not be zero. This you told me a few years ago, when I was working on the 41Z project - remember?

So I'd assume this is a limitation of the Card Reader, regardless of whether 67/97 cards or 41 cards are used... but this is just a conjecture.
Just a follow up on this, I have still no idea what the 67/97 card reader bug is.

A buffer must have the last register as non-zero. This is because registers are allocated for programs by taking the next zero register after the permanent .END. If the last register of the last buffer is zero, it could be consumed for program memory. The routine that scans for the number of free registers available also checks the number of zero registers below .END.

It is a pity we do not have a comprehensive list of known bugs.
(09-14-2016 05:33 AM)hth Wrote: [ -> ]A buffer must have the last register as non-zero. This is because registers are allocated for programs by taking the next zero register after the permanent .END. If the last register of the last buffer is zero, it could be consumed for program memory. The routine that scans for the number of free registers available also checks the number of zero registers below .END..

That makes a lot of sense, thanks for the clarification.
Reference URL's