Music for the HP-71B?



#8

Does anyone has or know a programm which is playing a song or music on the HP-71B?

Perhaps one which is using flag -25 for loud and quiet beep. I wanted to test my new beeper emulation inside Emu71/Win with a little more than the BEEP command.


#9

Get NOISELEX. I got it from the article "LEX Files from Paris" IIRC, in the CHHU Chronicle.


#10

I found NOISE inside chhu02.lif, but no syntax description.


#11

I found it. It was not in "LEX Files From Paris" as I was thinking, but was written by Steve Williams and is detailed (including how to use it) on pages 25-26 of the CHHU Chronicle, V3N1, Jan/Feb '86. If you want to send me your email address, I can scan it for you and send it. I don't think anyone will mind about copyrights at this point. My email address is wilsonmineszdslextremezcom (change the z's into @ and . )

#12

Found a reference to NOISE in Joe Horns "HP-71 Lexfile List".

The intesting thing is, that NOISE does not use the OS BEEP subroutines. So NOISE isn't working on Emu71/Win v1.03 with the ROM beep patch.

#13

For those who are not familar with the HP71 like me most time:

I expect you have a Pilbox and using ILPer as mass storage device. Select "chhu02.lif" as Mass Storage LIF file inside ILPer.

The description of NOISE can be found here http://holyjoe.net/HP71/index.htm inside the "The Lexfile List".

Now the commands to play WTELL

RESTORE IO
COPY NOISE:HD
ASSIGN # 10 TO WTELL:HD
RESTORE # 10
DIM A$[3000]
READ # 10;A$
NOISE A$

And PURGE the stuff

DESTROY A$
ASSIGN # 10 TO *
PURGE NOISE

As I noticed before in this thread, NOISE don't use OS system functions so Emu71 v1.03 (with ROM beep patch) will not play any sound.

But this situation may change in future, my actual Emu71/Win v1.04beta1 don't need the ROM beep patch for beeping any more. It contain now a beeper emulation driven by the output bits controlled by the CPU OUT opcode. The beeper emulation in general inside my Emu series is quite the same long story like the HP82240B printer interface simulation inside Emu28, Emu42 and Emu48. My last work on the beeper emulation for Emu48 was dated on 2001 and 2004! So Gerson's post from mid February how to beep with Emu71/Win was the initial push to reenter the beeper emulation topic.

Like before I will not make any promises that this feature will be available in next versions or about a publishing date. At the moment it looks quite well, my deadlock problems freezing the emulator seem to have gone.

#14

I've converted the following from an HP-48 program ( http://www.hpcalc.org/details.php?id=2561 ). I've tested it on Emu71 1.03 and a few notes on the real HP-71B. This wouldn't have won the Best Music Oscar either :-)

10 COMPLEX A
15 READ A
20 N=REPT(A) @ D=IMPT(A)
25 IF D=0 THEN END ELSE IF N=0 THEN WAIT D ELSE BEEP N,D
30 GOTO 15
40 DATA (261.626,.273), (246.942,.273), (261.626,.545), (195.998,.545), (174.614,.545)
41 DATA (261.626,.273), (246.942,.273), (261.626,.545), (195.998,.545), (174.614,.545)
42 DATA (261.626,.273), (246.942,.239), (0,.034), (246.942,.273), (261.626,2.182)
43 DATA (195.998,.545), (130.813,.545), (233.082,1.909), (0,.273), (261.626,.273)
44 DATA (246.942,.273), (261.626,.545), (195.998,.545), (174.614,.545), (261.626,.273)
45 DATA (246.942,.273), (261.626,.545), (195.998,.545), (174.614,.545), (261.626,.273)
46 DATA (246.942,.239), (0,.034), (246.942,.273), (261.626,.273), (293.665,.239)
47 DATA (0,.034), (293.665,2.182), (349.228,.239), (0,.034), (349.228,2.182)
48 DATA (329.628,.273), (261.626,.273), (293.665,2.182), (195.998,.239), (0,.034)
49 DATA (195.998,.273), (329.628,.273), (261.626,.273), (293.665,2.182), (391.995,.273)
50 DATA (261.626,.273), (349.228,2.182), (329.628,.239), (0,.034), (329.628,2.182)
51 DATA (293.665,.239), (0,.034), (293.665,1.909), (0,.273), (261.626,.273)
52 DATA (246.942,.273), (261.626,.545), (195.998,.545), (174.614,.545), (261.626,.273)
53 DATA (246.942,.273), (261.626,.545), (195.998,.545), (174.614,.545), (261.626,.273)
54 DATA (246.942,.239), (0,.034), (246.942,.273), (261.626,2.182), (195.998,.545)
55 DATA (130.813,.545), (233.082,1.909), (0,.273), (261.626,.273), (246.942,.273)
56 DATA (261.626,.545), (195.998,.545), (174.614,.545), (261.626,.273), (246.942,.273)
57 DATA (261.626,.545), (195.998,.545), (174.614,.545), (261.626,.273), (246.942,.239)
58 DATA (0,.034), (246.942,.273), (261.626,.273), (293.665,.239), (0,.034)
59 DATA (293.665,2.182), (349.228,.239), (0,.034), (349.228,2.182), (329.628,.273)
60 DATA (261.626,.273), (293.665,2.182), (195.998,.239), (0,.034), (195.998,.273)
61 DATA (329.628,.273), (261.626,.273), (293.665,2.182), (391.995,.273), (261.626,.273)
62 DATA (349.228,2.182), (329.628,.239), (0,.034), (329.628,2.182), (293.665,.239)
63 DATA (0,.034), (293.665,2.182), (261.626,.273), (261.626,.273), (261.626,.273)
64 DATA (246.942,.273), (261.626,1.909), (0,.273), (261.626,.273), (246.942,.273)
65 DATA (261.626,1.909), (0,.273), (261.626,.273), (246.942,.273), (261.626,2.182)
66 DATA (293.665,.239), (0,.034), (293.665,2.182), (349.228,.239), (0,.034)
67 DATA (349.228,2.182), (329.628,.273), (261.626,.273), (293.665,2.182), (195.998,.239)
68 DATA (0,.034), (195.998,.273), (329.628,.273), (261.626,.273), (293.665,2.182)
69 DATA (391.995,.273), (261.626,.273), (349.228,2.182), (329.628,.239), (0,.034)
70 DATA (329.628,2.182), (293.665,.239), (0,.034), (293.665,2.182), (329.628,.273)
71 DATA (261.626,.273), (293.665,2.182), (195.998,.239), (0,.034), (195.998,.273)
72 DATA (329.628,.273), (261.626,.273), (293.665,2.182), (391.995,.286), (261.626,.286)
73 DATA (349.228,2.286), (329.628,.263), (0,.038), (329.628,2.474), (293.665,.276)
74 DATA (0,.039), (293.665,2.609), (261.626,.292), (0,.042), (261.626,.302), (0,.043)
75 DATA (523.251,.3), (493.883,.3), (523.251,.545), (391.995,.545), (349.228,.545)
76 DATA (523.251,.273), (493.883,.273), (523.251,.545), (391.995,.545), (349.228,.545)
77 DATA (523.251,.273), (493.883,.239), (0,.034), (493.883,.273), (523.251,2.182)
78 DATA (391.995,.545), (261.626,.545), (466.164,1.909), (0,.273), (523.251,.273)
79 DATA (493.883,.273), (523.251,.545), (391.995,.545), (349.228,.545), (523.251,.273)
80 DATA (493.883,.273), (523.251,.545), (391.995,.545), (349.228,.545), (523.251,.273)
81 DATA (493.883,.239), (0,.034), (493.883,.273), (523.251,.273), (391.995,.273)
82 DATA (369.994,.273), (391.995,.273), (698.456,.273), (659.255,.273), (698.456,2.182)
83 DATA (523.251,.273), (493.883,.239), (0,.034), (493.883,.273), (523.251,.273)
84 DATA (391.995,.273), (369.994,.273), (391.995,.273), (698.456,.273), (659.255,.273)
85 DATA (587.33,.273), (587.33,2.182), (523.251,.239), (0,.034), (523.251,.205)
86 DATA (0,.068), (0,1.636), (0,.545), (0,.205), (0,.068), (0,1.636), (0,.545), (0,0)

Better eliminate lines 10 and 20 and all parentheses and edit line 15 to READ N,D to avoid the need of the MATH ROM

------------------------------------------------

P.S.: This is half the size and doesn't require the MATH ROM:

20 READ N,D @ IF N<>0 THEN BEEP N,D ELSE IF D<>0 THEN WAIT D ELSE END
30 GOTO 20
40 DATA 262, .273, 247, .273, 262, .545, 196, .545, 175, .545
41 DATA 262, .273, 247, .273, 262, .545, 196, .545, 175, .545
42 DATA 262, .273, 247, .239, 0, .034, 247, .273, 262, 2.182
43 DATA 196, .545, 131, .545, 233, 1.909, 0, .273, 262, .273
44 DATA 247, .273, 262, .545, 196, .545, 175, .545, 262, .273
45 DATA 247, .273, 262, .545, 196, .545, 175, .545, 262, .273
46 DATA 247, .239, 0, .034, 247, .273, 262, .273, 294, .239
47 DATA 0, .034, 294, 2.182, 349, .239, 0, .034, 349, 2.182
48 DATA 330, .273, 262, .273, 294, 2.182, 196, .239, 0, .034
49 DATA 196, .273, 330, .273, 262, .273, 294, 2.182, 392, .273
50 DATA 262, .273, 349, 2.182, 330, .239, 0, .034, 330, 2.182
51 DATA 294, .239, 0, .034, 294, 1.909, 0, .273, 262, .273
52 DATA 247, .273, 262, .545, 196, .545, 175, .545, 262, .273
53 DATA 247, .273, 262, .545, 196, .545, 175, .545, 262, .273
54 DATA 247, .239, 0, .034, 247, .273, 262, 2.182, 196, .545
55 DATA 131, .545, 233, 1.909, 0, .273, 262, .273, 247, .273
56 DATA 262, .545, 196, .545, 175, .545, 262, .273, 247, .273
57 DATA 262, .545, 196, .545, 175, .545, 262, .273, 247, .239
58 DATA 0, .034, 247, .273, 262, .273, 294, .239, 0, .034
59 DATA 294, 2.182, 349, .239, 0, .034, 349, 2.182, 330, .273
60 DATA 262, .273, 294, 2.182, 196, .239, 0, .034, 196, .273
61 DATA 330, .273, 262, .273, 294, 2.182, 392, .273, 262, .273
62 DATA 349, 2.182, 330, .239, 0, .034, 330, 2.182, 294, .239
63 DATA 0, .034, 294, 2.182, 262, .273, 262, .273, 262, .273
64 DATA 247, .273, 262, 1.909, 0, .273, 262, .273, 247, .273
65 DATA 262, 1.909, 0, .273, 262, .273, 247, .273, 262, 2.182
66 DATA 294, .239, 0, .034, 294, 2.182, 349, .239, 0, .034
67 DATA 349, 2.182, 330, .273, 262, .273, 294, 2.182, 196, .239
68 DATA 0, .034, 196, .273, 330, .273, 262, .273, 294, 2.182
69 DATA 392, .273, 262, .273, 349, 2.182, 330, .239, 0, .034
70 DATA 330, 2.182, 294, .239, 0, .034, 294, 2.182, 330, .273
71 DATA 262, .273, 294, 2.182, 196, .239, 0, .034, 196, .273
72 DATA 330, .273, 262, .273, 294, 2.182, 392, .286, 262, .286
73 DATA 349, 2.286, 330, .263, 0, .038, 330, 2.474, 294, .276
74 DATA 0, .039, 294, 2.609, 262, .292, 0, .042, 262, .302, 0, .043
75 DATA 523, .3, 494, .3, 523, .545, 392, .545, 349, .545
76 DATA 523, .273, 494, .273, 523, .545, 392, .545, 349, .545
77 DATA 523, .273, 494, .239, 0, .034, 494, .273, 523, 2.182
78 DATA 392, .545, 262, .545, 466, 1.909, 0, .273, 523, .273
79 DATA 494, .273, 523, .545, 392, .545, 349, .545, 523, .273
80 DATA 494, .273, 523, .545, 392, .545, 349, .545, 523, .273
81 DATA 494, .239, 0, .034, 494, .273, 523, .273, 392, .273
82 DATA 367, .273, 392, .273, 698, .273, 659, .273, 698, 2.182
83 DATA 523, .273, 494, .239, 0, .034, 494, .273, 523, .273
84 DATA 392, .273, 367, .273, 392, .273, 698, .273, 659, .273
85 DATA 587, .273, 587, 2.182, 523, .239, 0, .034, 523, .205
86 DATA 0, .068, 0, 1.636, 0, .545, 0, .205, 0, .068, 0, 1.636, 0, .545, 0, 0

For some reason the macro player (set to manual, fastest) skipped this comma, which I had to insert manually:

52 DATA 247, .273, 262, .545, 196, .545, 175, .545, 262, .273
^

Speaker sounds better than Wave on my notebook. The choice of the music has nothing to do with what I think of the HP-71B :-)
Surely a great pocket computer, well ahead of its time!


Edited: 15 Mar 2013, 2:07 p.m.


#15

Quote:
Speaker sounds better than Wave on my notebook. The choice of the music has nothing to do with what I think of the HP-71B :-)
Surely a great pocket computer, well ahead of its time!

The speaker output will be removed in forthcomimg versions, because I cannot use this interface for "on the fly" sound synthesizing like I can do it with Wave.

The current version in Wave use a square wave signal. I also made some tests with a sine curve signal, but this sounds to good comparing to the real calculator.


Possibly Related Threads...
Thread Author Replies Views Last Post
  HP Prime: Sound and Music Alberto Candel 4 417 11-28-2013, 10:08 AM
Last Post: Alberto Candel
  OT: Hrast Programmer's Cool Music Namir 3 336 10-07-2011, 01:47 PM
Last Post: HrastProgrammer
  OT: Hrast Programmer's Cool Music Namir 2 295 08-18-2011, 08:59 AM
Last Post: Namir
  HP-IL 71B to 71B via HPIL Geoff Quickfall 11 839 12-01-2010, 06:55 PM
Last Post: Michael Meyer
  Question: 71B <-HPIL -> 71B john smith 16 1,056 05-12-2003, 06:37 AM
Last Post: John Smith

Forum Jump: