RPN: HP 42S, DM42, Free 42 Tones, Column Vectors, and Songs
Making Music of 10 Tones
The HP 42S, and subsequently, the Free42 app, the Plus42 app, and the Swiss Micros DM42, along with the HP 41C and DM41X. Let’s focus on the HP 42S version.
Tone is followed by:
* a single-digit integer (0-9)
* a tone number called indirectly through a stack level (X, Y, Z, T) or a memory register
I asked on the MoHPC (Museum of HP Calculators) forum what scale that the 42S used for the tones. According to Thomas Okken, who programmed the Free42 app, the tones come from the A major scale, with the note A3 called from TONE 1. TONE 0 played the E3 note. Thank you, Thomas!
https://www.hpmuseum.org/forum/thread-23678-post-205315.html#pid205315
The program CTONE plays a collection of tones that is stored in a single-column matrix named MCOL. An example of a collection of tones
[ [ 1 ]
[ 3 ]
[ 5 ]
[ 1 ]
[ 3 ]
[ 5 ]
[ 7 ]
[ 7 ]
[ 7 ]
[ 7 ]
[ 1 ]
[ 3 ]
[ 5 ]
[ 1 ]
[ 3 ]
[ 5 ]
[ 7 ]
[ 8 ]
[ 9 ]
[ 7 ] ]
CTONE: plays tones of the column vector MCOL
00 { 44-Byte Prgm }
01▸LBL "CTONE"
02 INDEX "MCOL"
03 WRAP
04 RCL "MCOL"
05 DIM?
06 X<>Y
07 3
08 10↑X
09 ÷
10 +
11 STO 00
12▸LBL 00
13 RCLEL
14 TONE IND ST X
15 I+
16 ISG 00
17 GTO 00
18 RTN
19 .END.
The following program, CRVCT, creates a matrix with one column named MCOL.
CRVCT: create a vector MCOL
00 { 79-Byte Prgm }
01▸LBL "CRVCT"
02 "SIZE?"
03 PROMPT
04 STO 01
05 1
06 DIM "MCOL"
07 X<>Y
08 3
09 10↑X
10 ÷
11 +
12 STO 00
13 INDEX "MCOL"
14 WRAP
15 ALL
16▸LBL 00
17 "ROW "
18 RCL 00
19 IP
20 ARCL ST X
21 ├"?"
22 PROMPT
23 STOEL
24 ISG 00
25 GTO 01
26 GTO 02
27▸LBL 01
28 I+
29 GTO 00
30▸LBL 02
31 RCL "MCOL"
32 FIX 04
33 RTN
34 .END.
Source
“HP 42S TONE” Museum of HP Calculators. https://www.hpmuseum.org/forum/thread-23678-post-205315.html#pid205315 Retried June 9, 2025.
Have fun,
Eddie
All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.
The author does not use AI engines and never will.


