|HP35s - Cause of Blank Screen Problem?|
Message #1 Posted by Jeff O. on 18 Oct 2007, 10:24 p.m.
The blank screen during a running program which is not interruptible seems to be caused by simply using an equation as a prompt to stop the program (i.e. without following the equation immediately by a PSE instruction) and wait for you to press R/S to proceed. Enter the following simple program (the label letter is unimportant):
X001 LABEL X
X002 SF 10
X003 eqn BLANKING DEMO
X005 STO I
X006 DSE I
X007 GTO X006
Now execute the program*. The program will display "BLANKING DEMO" and wait for you to press R/S. Press R/S, and the display will go blank, and it will not respond to R/S, C, or any other key. The program will stop after the DSE loop counts down from 100. If you press R/S while it is blank, it will execute the R/S commands from a buffer, which will execute the sequence of digit entry and STOP commands that start in line X009. (These are necessary to prevent the sequence of R/S commands that you entered from jumping into other programs.) If you press R/S less than 5 times, the x register will present the number of times you pressed it. If you press R/S 5 or more times, the x register will present a 5, as the buffer apparently holds up to five R/S commands. (The steps after line X019 are just there for insurance, I guess.)
As Seth and John reported, if you single-step once from the keyboard at the equation prompt, then press R/S, everything is fine. The program proceeds with the “RUNNING” display, and it can be interrupted with R/S or C.
So, if you use an equation as a prompt to display a message and wait for you to enter data and press R/S to proceed, and the program following the prompt does not terminate naturally, it will run with a blank display until the batteries run out or you press the reset through the hole in the back. For example, in the above program if instruction X008 was a GTO X004, the machine will be stuck in a loop from which you would will be unable to break it out of. (I did not try this as I don’t want to lock up my calculator and lose all programs.) I'm guessing that this is what happened in John W's original program; his rather complex, un-debugged program had such a loop.
Using equations as prompts to pause a program and give instructions or wait for data entry is a very handy feature. Just make sure the code that follows cannot enter an unending loop. A safe alternative is to put a STOP after the equation. The message will stay up until you press R/S once, then you will have to press it again to get going. Not ideal, but it beats locking up your calculator.
Hope this helps,
* - Enter and run at your own risk, as you may lock-up your calculator and lose all memory. It shouldn't if you enter it as listed, but....
edited to correct a typo and add a little clarification.
Edited: 19 Oct 2007, 11:24 a.m. after one or more responses were posted