HP Forums
HP41 key press delay (for NULL) - Printable Version

+- HP Forums (https://archived.hpcalc.org/museumforum)
+-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html)
+--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html)
+--- Thread: HP41 key press delay (for NULL) (/thread-41544.html)



HP41 key press delay (for NULL) - Vassilis Prevelakis - 08-28-2003

On the HP41 if you hold down a key you will see the function that is assigned to it. If you keep holding it, the key press is cancelled and you see NULL on the display. This is very useful if you want to see which function is assigned to a key (in USER mode) or which program instruction will be executed by SST, etc.

Unfortunately the timeout value is a constant hardwired into the HP41 firmware. It is just a number, independent of the CPU speed.

So under certain HP41 emulators this timeout is extremely painful, as you have to press and release the keys very fast to avoid cancelling their action.

While looking around the HP41 sources I have found the relevant bit of code.

The VASM listing is on the MoHPC CDROM, file 41VASM.pdf, page 113 (in the PDF), 112 in the document.

The line is

1306   460   LDI
1307 1100 CON 576 INITIALIZE NULL TIMER

The timeout is 576 (decimal), or 1100 (octal), or 240 (hex).

So how does this help?

I have looked at the binary ROM dumps and I have found out that the timeout value is in ROM 0, offset 1D8E.

This offset is the same on the F, G, and N ROMs.

**vp




Can it be deactivated/changed in V41 ? - Valentin Albillo - 08-28-2003

I've suffered this very problem you mention and it is **incredibly**
annoying !

Is there any short routine or 'patch' that would deactivate
and/or increase this value in the V41 emulator, so that
the problem would dissappear altogether ?

BTW, the HP-15C also has this NULL feature for some of its matrix functionality: when you press STO B/RCL B, say, the (i,j) indexes of the stored/recalled element are displayed briefly while you hold the 'B' key pressed. If you then release it within a certain lapse, the STO/RCL is performed. Else, NULL appears on the display and no action takes place, exactly like in the HP-41C. This is extremely useful when accessing a number of matrix elements if you forget what element is the current one. I thought I would mention this, as a further example of the vast amount of attention-to-detail used in the design of the HP-15C. Those were the days ...

Best regards from V.