Archive

Archives pour 11/2016

HP-41C Synthetic Programming

23/11/2016 Comments off

Caution

Many of these instructions were intentionally left out because used incorrectly they can confuse the calculator and cause either a lockup or a « Memory Lost » state. (If you get into the former state, you may need to remove the batteries to reset the calculator.)

You should backup anything important before first engaging in Synthetic Programming.

How Synthetic Instructions Work

HP-41 instructions are one or more bytes long. The calculator will only allow certain sequences, but with the tool below, you’ll be able create new sequences by entering code that the calculator allows and then grabbing bytes out of this code to create different instructions. These new sequences allow access to additional characters, additional sounds, more alpha editing commands, easy control of the calculator through direct access to system registers, etc. They make it possible to do new things and to reduce the size and execution time of programs. The byte grabber described below will allow you to remove individual bytes from programs you create so the the bytes that remain are interpreted differently.

Creating a Byte Grabber

You can use the following steps to create a Byte Grabber. Make sure to follow the steps exactly. If it doesn’t work the first time, try again. Note that the first step is a master clear so save anything important to cards, tape, or disk now!

  1. Remove any accessory modules.
  2. Do a Master clear by holding down the backspace key while turning on the calculator. The Display will show MEMORY LOST.
  3. Assign « + » to the LN key by pressing shift ASN ALPHA shift + ALPHA LN.
  4. Assign « DEL » to the LOG key by pressing shift ASN ALPHA D E L ALPHA LOG.
  5. Press PRGM to witch to program mode. The display should show 00 REG 45.
  6. Start catalog 1 by pressing shift CATALOG 1 and press R/S immediately before the display blinks. If the display blinks, you waited too long. Repeat this step as many times as necessary to get the R/S pressed before the display blinks. (The display will show the .END. instruction both before and after the blink, but you must press R/S before the blink.)
  7. Press the ALPHA key to go into Alpha mode.
  8. Press the backspace key. The display should now show 4094 RCL 01.
  9. Press ALPHA to leave Alpha mode.
  10. Press shift GTO .005 and you should see 05 LBL 03.
  11. Press USER (if necessary) to enter User mode.
  12. Press LOG 003 which uses the assignment you made earlier to DEL 3 steps. You should now see 04 STO 01.
  13. Press ALPHA to go back into Alpha mode.
  14. Press ? A A A A A A (Everything after the first A will probably display as « -« s.) Press exactly 6 A’s!
  15. Press PRGM to leave program mode and ALPHA to leave Alpha mode.
  16. Press shift GTO . . (press both dots)

The byte grabber should now be assigned to the LN key. Press AND HOLD the LN key which should display XROM 28,63. Keep holding the key until the calculator displays NULL because you don’t want to execute the byte grabber now. This would be a good time to save the calculator’s status on a card by pressing XEQ ALPHA W S T S ALPHA in case you accidentally destroy the byte grabber later.

Be careful in using the byte grabber. You may get a « MEMORY LOST » or lock the calculator if you use it incorrectly. If the latter happens, remove the batteries for a few seconds and return them. If that doesn’t work, try turning the calculator on a few times with the batteries out or leave them out for several hours. Lire la suite…