Post Reply 
Updated 41Z : Deluxe Edition available
03-16-2017, 04:21 AM
Post: #38
RE: Updated 41Z : Deluxe Edition available
(03-15-2017 10:48 AM)Ángel Martin Wrote:  I've forced a few errors to test this scenario on the CL and haven't got into any trouble; bank-1 is always switched on even if it's not part of my code...

I should repeat the tests using Clonix/NoVRAM to see if things are also ok there, will report when done.

Try the following program:


01 SF 25
02 any instruction that cause an error exit from a secondary bank, without switching back to bank 1
03 any instruction in the FAT of the same ROM

Run the program (do not step), you should see NONEXISTENT, switch to program mode and you are at line 03, which looks normal.

The problem is that when a secondary bank is left active and flag 25 is set, the error handler will reset flag 25 and keep running the program (with the secondary bank still enabled). Line 03 will try to look up an instruction from the FAT that is now invisible, and this will result in NONEXISTENT.

The calculator goes to light sleep due to the FAT lookup error and when you press PRGM, it wakes up, resets to default banks and now it will find the instruction in the FAT and can display it.

I deliberately changed Ladybug to go directly the ERRNE from bank 2, then tested it on hardware (41CL/MLDL2000 combo) and with a simulator, both setups behave as described above. The normal code in Ladybug switches back to bank 1 on error exit, and in that case the example runs without any problems.

Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread

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