housen@ssc-vax.UUCP (Kevin Housen) (06/15/90)
A friend of mine bought a device which can be used as a phone dialer. It takes the audio output from the Mac speaker jack and sends it to the phone. However, he needs some software (preferably a DA) to generate appropriate dial tones. This would be pretty easy to write, but I wanted to check first to see if there are any PD/shareware DAs that will do the trick. Anyone know of such a thing? (BTW, his modem and LocalTalk ports are both in use, so he cant use a modem to do the dialing). Thanks - Kevin Housen housen@ssc-vax
oster@well.sf.ca.us (David Phillip Oster) (06/16/90)
In article <3397@ssc-vax.UUCP> housen@ssc-vax.UUCP (Kevin Housen) writes: >he needs some software (preferably a DA) to generate >appropriate dial tones. This would be pretty easy to >write, but I wanted to check first to see if there are >any PD/shareware DAs that will do the trick. Both hypercard and Address Book Plus (a commercial product from Power Up Corporation, that I wrote) dial the phone by generating audio tones. AB+ uses a d.a., but it is commerical software, not shareware or public domain. You can just hold the reciever up to the Mac on later Macs, but my testing shows that not all raw MacPluss have enough volume to generate all the tones reliably enough for the phone system. Experiment. To dial the phone, you need two simultaneous tones. Hypercard and I use the Sound Driver's 4 voice synthesizer to produce two pairs of tones by doubling up the voices. Apple Developer Tech Support has been saying for some time that they want people to stop using Sound Driver and do everything with Sound Manager. Unfortunately, at least as of System 6.0.4, 4 voice sound was not supported by Sound manager on Macpluss. Here are the numbers from my dialer: typedef struct Freq2 { Fixed a, b; }Freq2; /* These are the frequencies for the touch tone phone pad. Source: The TV Typewriter Cookbook, Don Lancaster, p.178 Units for the table in comments is Hertz. The actual table was generated by applying the formula: hz = 1000000 / ( 44.93 * 256 / rate ) to the table to get a new table I can use at interrupt time. This table uses the same values hypercard does. */ static Freq2 freqs[] = { { 0x000F5DDE, 0x000AD2C9}, /* { 1336, 941}, /* 0 */ { 0x000DE7EA, 0x00080453}, /* { 1209, 697}, /* 1 */ { 0x000F5DDE, 0x00080453}, /* { 1336, 697}, /* 2 */ { 0x0010FD06, 0x00080453}, /* { 1477, 697}, /* 3 */ { 0x000DE7EA, 0x0008DB46}, /* { 1209, 770}, /* 4 */ { 0x000F5DDE, 0x0008DB46}, /* { 1336, 770}, /* 5 */ { 0x0010FD06, 0x0008DB46}, /* { 1477, 770}, /* 6 */ { 0x000DE7EA, 0x0009CCB9}, /* { 1209, 852}, /* 7 */ { 0x000F5DDE, 0x0009CCB9}, /* { 1336, 852}, /* 8 */ { 0x0010FD06, 0x0009CCB9}, /* { 1477, 852}, /* 9 */ { 0x0012C9B2, 0x00080453}, /* { 1633, 697}, /* A */ { 0x0010FD06, 0x0008DB46}, /* { 1477, 770}, /* B */ { 0x0010FD06, 0x0009CCB9}, /* { 1477, 852}, /* C */ { 0x0010FD06, 0x000AD2C9}, /* { 1477, 941}, /* D */ { 0x000DE7EA, 0x000AD2C9}, /* { 1209, 941}, /* * */ { 0x0010FD06, 0x000AD2C9} /* { 1477, 941}, /* # */ }; -- -- David Phillip Oster - Note new address. Old one has gone Bye Bye. -- oster@well.sf.ca.us = {backbone}!well!oster