Synthetic Key Assignments using only Extended and Timer Functions!

Back to main page If this is useful to you, Email me: Genewright143@hotmail.com


The program presented below is from Wlodek Mier- Jedrzejowicz's book "Extend your HP-41" (available from Educalc 1-800-677-7001, item #621, $6.95 plus shipping. ~700 pages). This book covers a whole host of subjects, of which this is a very small part. It covers plug-in modules, programming practices, extended functions, bugs, time functions, synthetics, etc. A truly amazing book.

This amazing program allows you to make any key assignments, including synthetic functions, using only X- functions and Time Module functions. This means that you'll need either a HP-41CX or a HP-41C/CV with the Extended Functions Module and the Time Module.

Warnings! This is heavy material! 1) This program MUST be the LAST program in user memory. The way it works, it deletes itself and all programs coming after it using the programmable clear program function PCLPS. If you have a program following GASN in memory, running this program will delete it! 2) Do NOT just input arbitrary numbers in response to the prompt once you're running this program! 3) Dealing with synthetic programming can be a lot of fun. However, if you are not careful, you can cause a memory lost on your HP-41. Please, do NOT use this unless you have first backed up your machine or programs to cards, cassettes, tapes, etc.

Other considerations: GASN can be used to assign any combination of prefix and postfix and then execute it or put it in a program. Until you are very familiar with the inner workings of the HP-41, you should avoid using prefixes 145 or 206 followed by postfixes 122 through 127. These can easily lead to a MEMORY LOST. A few other combinatio ns can cause trouble with the CAT 1 linkage. If you make any mistakes in entering the program or if you accidentally alter it before running it, you may also get into trouble. Do not stop the program while it is running.The moral is: always make a copy of the HP-41 memory contents before you start exploring!

What is the worst thing that could happen to my HP-41? Well, a MEMORY LOST probably. Sometimes a "crash" can occur that could force you to remove the battery pack for a day or two until the internal capacitors lose their charge, but this is VERY RARE. If you follow the instructions below, you can use GASN safely to see what it does.

Initial Instructions: 1) Before you can use GASN, you must first XEQ "GASETUP". You will not need to do this again, unless you clear out all your timer alarms, remove the time module, or have a Memory Lost occur. 2) If you get the message "NONEXISTENT" or "DATA ERROR", then you must type GTO .. to get back to program memory.

Examples: Remember that the KEY part of the prompt is looking for a keycode to make the assignment on. Key 11 is the Sigma+ key, Key 15 is the LN key. Key 42 is the CHS key, etc.

1) Key assignments to store and recall into the alpha register. These assignments give you easy access to 3 extra data registers when you don't need the alpha register.

Type XEQ "GASN". At the PRE/POST/KEY prompt, enter the following to make Store and Recall key assignments. Key the 145, press ENTER, key the 117, press ENTER, and key 14 then press R/S, for example. (I've added the key prompt for the STO M and RCL M key assignments, which would go to the LOG and LN keys in USER mode. The remaining examples do NOT have key codes given.)

145  117   14 -> STO M     144  117   15 -> RCL M
145  118   XX -> STO N     144  118   YY -> RCL N
145  119   ZZ -> STO O     144  119   TT -> RCL O
2) Key assignments for extra tones. While these may not be necessarily "useful", they are amusing.
159  057   -> TONE 7 (actually, TONE 57) 
159  089   -> TONE 9 (actually, TONE 89)
Now, you can use these tones you've just assigned to make a short "Phaser" sounding routine. Where the listing says TONE 57 or TONE 89, just press the appropriate key you used to make the key assignment for that tone. Hopefully, you used two different keys! Try it!
LBL "T1", TONE 57, TONE 57, TONE 57, TONE 89, TONE 89, TONE 89, TONE 57, TONE 89, TONE 89, TONE 57, TONE 89, TONE 89, TONE 89, RTN
Now when you execute T1, you'll hear a set of tones that give you a "Phaser" sound. Perhaps you should add an XEQ "T1" to the HP-41 Star Trek game posted here online?

For more examples, order Wlodek's book!

Keying in the program. The program uses XTOA and RUP (roll up) alot, so you might want to assign these functions to keys (the normal way) prior to entering it. Make sure that lines 13, 27, 32, 42, and 46 are entered correctly as text lines. NOTE: Line 46 has "nene" written in it. This is a stand in for the NOT EQUAL sign character (shift SIN key). There are two of these not equal sign characters in this program line.


Line    Instruction
01	RTN
02	LBL "GASETUP"
03	CLA
04	117
05	XTOA
06	SIGN
07	206
08	XTOA
09	125
10	XTOA
11	166
12	XTOA
13	->"RC"
14	RDN
15	144
16	XTOA
17	118
18	XTOA
19	RUP
20	XTOA
21	RUP
22	XTOA
23	RUP
24	XTOA
25	LASTX
26	XTOA
27	->"0" (That's a zero, not an oh)
28	CLST
29	1.0121
30	RUP
31	XYZALM
32	"GASETUP"
33	SAVEP
34	RTN
35	LBL "GASN"
36	"PRE/POST/KEY"
37	PROMPT
38	LBL "GASP"
39	INT
40	ABS
41	CHS
42	"+"
43	PASN
44	CHS
45	PASN
46	"GASETUPnene1"  *** Read Note above ***
47	105
48	XTOA
49	RDN
50	12
51	XTOA
52	RDN
53	43
54	X<>Y
55	-
56	ST* X
57	1
58	XTOA
59	XTOA
60	X < Y?
61	ST- L
62	RDN
63	X<> L
64	10
65	/
66	FRC
67	160
68	ST* Y
69	X<> L
70	INT
71	+
72	240
73	XTOA
74	RUP
75	XTOA
76	RUP
77	XTOA
78	RUP
79	XTOA
80	RUP
81	RUP
82	XTOA
83	RUP
84	XTOA
85	RUP
86	8
87	+
88	XTOA
89	XEQ 01
90	LBL 01
91	PCLPS
92	END

Visitors since 6/10/97