Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!spool2.mu.edu!news.cs.indiana.edu!msi.umn.edu!noc.MR.NET!gacvx2.gac.edu!hhdist From: TNAN0@CCVAX.IASTATE.EDU Newsgroups: comp.sys.handhelds Subject: RE: Dual tones for HP28S (and HP48) Message-ID: Date: 20 Dec 90 13:18:00 GMT Lines: 34 To: handhelds@gac.edu Return-path: To: handhelds@gac.edu X-VMS-To: IN%"handhelds@gac.edu" About the two-tone problem... (I was a TRS-80 user...) You cannot generate a single frequency to represent two different frequencies. You can produce beat frequencies, but that is not equivilent... The way that the TRS-80 did it was low level (in ML), and worked like this: There were 4 output levels (as I remember), 00, 01, 10, and 11... One frequency would be created with an amplitude of 1: 00001111000011110000111100001111 (etc...) And the other frequency with an amplitude of 1: 000111000111000111000111000111000111 (etc...) Then, you simply add the amplitudes: 000122110111111211001222000122110111 (etc...) Perhaps it only had three output levels, but regardless... The system is similar... It is also possible to generate (less-than-perfect) dual-tones using systems like the HP calculators... (Correct me if I am wrong) The HPs generate tones by 'clicking' a number of times per second. This becomes apparent if you try to make a lower frequency tone (like 10 Hz). So, the same type of system applies: 1 1 1 1 1 1 1 1 1 1 (Tone 1) 1 1 1 1 1 1 1 1 1 1 1 1 1 (Tone 2) 1 11 1 11 1 11 1 11 1 11 1 11 1 (Mixed Tones) I doubt this signal would be good enough to dial your telephone, however it would provide nice effects for video games, music programs, and user prompts. If someone cares to share the address of the sound output circuitry, I will be happy to attempt a simple chord generator... Again, forgive any flaws in the above alogrithms... It's been awhile since I programmed my TRS-80 to play Windmills of Your Mind...