*start* 00540 00024 US Date: 4 Jan. 1982 1:55 pm PST (Monday) From: Stewart.PA Subject: More on 2716s To: Belleville cc: Stewart Roy Ogus tells me: a) As set up, the program that takes Intel Hex output and puts it in EPROM does not handle 8086 style memories with the even bytes in one EPROM and the odd bytes in another. b) You've used the program to generate 2716s for Cub. Does this mean that you didn't use 16 bit wide ROM or that you didn't use quite the same program as Roy's or that you have a conversion utility? -Larry *start* 01316 00024 US Date: 5 JAN 1982 0906-PST From: DAWSON Subject: Re: Remote debugging etc. To: Stewart cc: DAWSON In response to your message sent 23 Dec. 1981 2:31 pm PST (Wednesday) Larry, Why not use the Chat protocol? This would require a fairly smart kernel, able eg to examine and modify registers and memory locations and interrogate I/O locations, but it's only about 8 K of code (size of the Intel debugger). In fact, you are welcome to the Intel debugger sources (does all the above plus instruction disassembly and setting breakpoints) if you don't already have them. The RS232 part of them is very well proceduralized (is that a word?) Of course this would mean downloading was a series of 'modify memory location' commands (ie SW:[,]* for a net overhead of about 50% over straight binary over the net, but at 10 Mbps you should be able to afford that (unless you have VERY bit programs. Then at the debugging end you would put a little bit of protocol 'on top of' the Chat protocol to make downloading easier. This would also allow you to Chat to your device from almost any machine, not just one running some new protocol. Questions welcomed. John (8*935*3147, Dawson.PA) PS for bit programs read big programs. *start* 00713 00024 US Date: 5 Jan. 1982 9:43 am PST (Tuesday) From: Stewart.PA Subject: Re: Remote debugging etc. In-reply-to: Your message of 5 JAN 1982 0906-PST To: DAWSON cc: Stewart Thanks for the info. I'd be interested in the debugger sources, as all I have are the ROMs and the listing. I'd like at least to be able to modify its port addresses etc. Have you got assembler source or only PL/M? I've got an assembler... I've gotten ether downloading working now, a new protocol, sigh, but it works well. I didn't want to use the telnet protocol because it requires full ethernet bytestreams, which take quite a bit of code to implement. I wrote a very simple one using packet exchanges. -Larry *start* 00814 00024 US Date: 5 JAN 1982 1205-PST From: DAWSON Subject: Re: Remote debugging etc. To: Stewart cc: DAWSON In response to your message sent 5 Jan. 1982 9:43 am PST (Tuesday) The source I have is official Intel assembler. I have it on a Intellec-readable diskette, and in hardcopy form (about 6000? assembly instructions). I have recompiled and modified it, including the I/O stuff, so I could answer some questions about it. With a little work I could maybe get it on 1/2" tape -- how would you like it? I take it you didn't like the Chat idea, which is of course how the Intel downloader normally works. Oh well. Let me know how you'd like the debugger source. PS If you're interested you're welcome to come by Versatec and see what we're doing (have done) with 8086 stuff. John *start* 00492 00024 US Date: 5 Jan. 1982 4:07 pm PST (Tuesday) From: Stewart.PA Subject: Re: Remote debugging etc. In-reply-to: Your message of 5 JAN 1982 1205-PST To: DAWSON cc: Stewart Yes I'm interested in the Intel assembler source. It would have to be some form that can get onto my Alto though. 1/2 inch tape would do. There is a possibility that SDD has hooked their MDS somehow to the world. I'll check into it. I'll probably come by Versatec sometime, more later... -Larry *start* 00896 00024 US Date: 5 Jan. 1982 5:04 pm PST (Tuesday) From: NDSmith.PA Subject: Digital voice files To: Stewart.PA Larry- Can you help us with the following request? If so, please let me or Mike (Trigoboff) know where and roughly what digital voice files you have. On another subject, we will have drawings of the PC boards (not the layouts) next week (1/14/82). On still another subject, I'd like to arrange to see your lab and hear a little bit more about your research sometime. Nancy --------------------------- Date: 5-Jan-82 16:28:10 PST (Tuesday) From: Trigoboff.PA Subject: Digitized Voice File(s) To: Belleville, NDSmith cc: Verplank, Trigoboff Do either of you know where I can find one or more digitized voice files of the sort that might someday be produced by the voicebox? Thanks ... Mike ------------------------------------------------------------ *start* 00566 00024 US Date: 5 Jan. 1982 6:37 pm PST (Tuesday) From: Ogus.PA Subject: Prom blowing information To: Stewart cc: Ornstein, Ogus Larry, Try this for starters: [Iris]Tools>Prom> HowToBlowProms.text - documentation about blowing proms PromDoc.bravo - documentation about generating the binary-format proms (a little out of date in terms of the Mesa file names) PromSources.dm - the Prom blower sources. I still haven't found the correct Mesa config file yet. Will keep looking. Let me know if you have any questions. Roy. *start* 00552 00024 US Date: 5 JAN 1982 2210-PST From: STEWART.PA Subject: Voice files To: Trigoboff, NDSmith cc: Stewart I don't have any voice files on tap, but one of the CSL Altos has Auburn audio hardware and software capable of recording any amount of the stuff to disk. Probably the best thing to do is for some of you to drop by. I'll sow you how to use the stuff and you can record as much as you want. Might even lend you a complete Auburn setup if you've got an Alto II and want to use it often. I think we've got a spare. -Larry *start* 00454 00024 US Date: 6 Jan. 1982 10:15 am PST (Wednesday) From: Ornstein.PA Subject: Re: Production Etherphones In-reply-to: Your message of 2 Jan. 1982 3:24 pm PST (Saturday) To: Thacker cc: VoiceProject^ Reply-To: Ornstein OK. I'll plan on us doing all the engineering and will try to have a reasonable manufacturing "package" for the garage. You and I should talk about what that should include but we're not quite ready for that yet. S. *start* 00531 00024 US Date: 7 Jan. 1982 4:11 pm EST (Thursday) From: ALLEN.WBST Subject: Re: Please add these names... In-reply-to: Stewart.PA's message of 1 Jan. 1982 4:33 pm PST (Friday) To: Stewart.PA cc: All changes were made except for the duplicate address for Dahlia2. You can use duplicate machine names, but not duplicate addresses. In the future, please use the form set up for network address changes etc. If it isn't stored on your file server, it is stored [erie]Laurel.NameRequest. Thank you. Gail *start* 03150 00024 US Date: 7 Jan. 1982 3:08 pm PST (Thursday) From: Ornstein.PA Subject: Belleville's Voice Box and the Etherphone To: VoiceProject^ cc: Belleville, Overton Larry and I went to talk to Bob to understand Whether, How, When, and How Much - all concerning incorporation of his logic into our Etherphone. Here is a report. Also included are some comments from an ensuing conversation with Mike Overton concerning packaging. (Forgive and correct errors - and Bob, I hope you'll forgive my adjectival use of your name). We need to decide some of these issues soon since, depending on which way we decide to do things, we may want to place some sort of order with Bob for copies of his stuff or parts or something. OBSERVATIONS (in no particular order) Looks as though our schedules match reasonably well. They are just bringing up a prototype - it seems to be going well. About the end of January, when their prototype is working, they will give us their SIL drawings so we can build some copies to go with our Etherphone prototypes. In the production units there will be two PC boards. The larger one, containing most of the stuff as well as the power supplies (4 voltages), is about 6" x 12"; the other, much smaller board contains the speaker, the tape recorder, the volume-control slide, the power amplifier, etc. There are some 22 connections between the boards. They are not going to be able to provide us with finished (built, tested) units. The best we can do is to utilize their design and their PC boards. They could provide us with the parts (including the boards) but we would have to worry about assembling and testing them. The garage can do this for us but we will have to tell them how to do it and how to test them in particular. I don't know what form is the best for us to build our prototype versions of their stuff. Their prototype has been built by hand wire-wrapping directly from the SIL drawings (which haven't been analyzed or anything). I had a conversation with Mike Overton who suggested we use a second Multibus board. (Mike has fortuitously ordered some extra boards to come up to the minimum discount number). He also notes that if we do that, we would (in the prototypes) share the Multibus' power supplies for Belleville's stuff and ours. Shared power would eliminate the Belleville pwr. supplies which might leave enough acreage on the Belleville board so that we could collapse his second smaller board onto the first - especially considering that we don't want much of the stuff on that board (the tape unit, the speaker and volume control). Given that, then we might consider making our own "Belleville" board for our production units (via the same "automatic" route we will use to convert our Multibus Etherphone board to PC). This would then yield a cleaner package containing 2 similar type boards - plus shared power supplies. That is the plus. The minus is that we muck more with Bob's stuff in configuring it onto our board - rather than just using his already laid-out, known-to-work design. Mike argues that we'll end up doing that anyway for the prototypes. . . . Comments? *start* 00398 00024 US Date: 7 Jan. 1982 3:24 pm PST (Thursday) From: Stewart.PA Subject: Re: Activity Report - Voice Project To: VoiceProject^ cc: Stewart Reply-To: Stewart Looks fine. I might point out that the Gatewayness of the Alto has nothing to do with its ability to reflect voice packets coming from the Lark prototype. Any Alto will work. Indeed, we don't use the gateway for that. *start* 00173 00024 US Date: 7 JAN 1982 1947-PST From: STEWART.PA Subject: Roms To: VoiceProject^ cc: Boggs The Ether downloader is now in ROM (!). -Larry and David *start* 00823 00024 US Date: 8 Jan. 1982 12:47 pm PST (Friday) From: Swinehart.PA Subject: The Tables That I Need To: Stewart cc: Swinehart 1. 1 ea. 256 x 16 (low 8 significant) table, converting u255 to 16 bit linear. This could be a file in the form of a BCPL table, which could be compiled into the Etherphone0 program. 2. set of 256 x 16 (low 12 significant) tables, converting u255 to 12 bit linear, attenuated by varying amounts (including 0 db?) These should be in files containing the bits, maam, only the bits. 3. set of 4096 x 16 (low 8 significant) tables, converting 12 bit linear to u255, attenuated by varying amounts (definitely including 0 db.) Just the bits. 4. A 65K x 16 (low 12 significant) table converting 16 bit linear to 12 bit linear, +64K of dynamic RAM to hold it. Just kidding. /dcs *start* 06158 00024 US Date: 8 Jan. 1982 1:41 pm PST (Friday) From: Ornstein.PA Subject: Activity Report - Voice Project To: Schroeder cc: VoiceProject^ Reply-To: Ornstein Introduction In mid-1981 CSL launched a new research project to investigate ways of integrating voice into our prototype office systems. The main goal is to explore this important new application area, but as a side effect the project is providing an early test-bed for the Cedar programming environment. The first step is to put in place a set of basic voice-handling facilities upon which a variety of experimental systems can then be built. This first step is expected to be finished during the summer of 1982. Activities We spent about three months deciding what constituted a suitable basic set of facilities and in doing the overall system design. The design was then formulated as a proposal, discussed with the laboratory, and reviewed by an advisory group. We decided to incorporate the standard telephone (both the physical instrument itself as well as its communication functions) into our system. The instrument (including speakerphone-like arrangements) would be our voice transducer, and taking over the job of providing phone services would facilitate exploration of ways to improve this service - not so much the quality of transmission but the often annoying human "connection protocols." A second major decision was to use the Ethernet to pass both control information (e.g. messages associated with establishing calls) and the actual voice data itself. This decision gave us a uniform method of dealing with voice data for regular phone conversations as well as for experimental uses of voice in such things as editing of voice messages, voice-annotated-documents, etc. A microprocessor-based "Etherphone" associated with each telephone provides a/d and d/a conversion, encryption and decryption, and packetizing and de-packetizing of voice to and from the Ethernet. The Etherphone is to be kept small and simple and thus all system-level decisions (e.g. even such simple things as how to make connections between phones) are relegated to a separate "Etherphone Server" machine. A voice-file-server provides special real time capabilities for storage and retrieval of voice messages. In our long-range design, connections into the regular telephone system are provided by a special server, but to avoid the associated complex and distracting issues for the present, we decided to connect each Etherphone to the normal telephone wall jack. This connection not only allows for phone calls to and from the outside (non-Etherphone) world, but also provides backup phone service during the sorts of outages that are inevitable during development. We have made good progress on all fronts, although there is still a long way to go. We have a working prototype set of Etherphone hardware. A test program enables us to speak into a handset, digitize and encrypt the voice, pass it out onto a special 1.5 MB Ethernet to an Alto Gateway which reflects the packets back to the Etherphone where they are received, decrypted, reconverted to analog, and fed to the earpiece - so that the speaker hears his own voice. We have a design and a partial implementation for the Etherphone server, which will operate in the Cedar environment on a Dolphin or Dorado. This server has been designed to perform two classes of activities: those that seem inherently to require a cenralized approach (telephone directories, overall traffic load management, enumeration of ongoing conversations, etc.), and those that could be done by the individual Etherphones (interpretation of dialing and hookswitch actions, establishment of conversations, and the like.) We have chosen to implement this second class in the server in order to keep the Etherphone processors small and easy to program; the components of the system that will require frequent change and experimentation will be Cedar programs on the server. We have designed the protocols and server algorithms to allow client programs in user workstations to supercede some or all of the "stand-alone" telephone functions normally provided by the server and the Etherphones. This will allow us to integrate intelligent telephone management functions into our prototype personal information systems. It will also allow other applications to use the Etherphones to record and play back spoken information. These applications include voice message systems, display-based editors for modifying spoken "documents", and facilities for annotating text documents with voice comments. There can be more than one Etherphone server in an internetwork; servers will be able to take over the load from broken ones, without loss or destruction of ongoing conversations. Because our existing file servers lack the specialized performance characteristics necessary for recording digitized voice "files", we have also designed a voice file server. This Dorado-based server will be able to record and play several simultaneous transcriptions or conversations, using the Etherphones as "transducers." It will include facilities for playing back partial transcriptions, to accommodate editing activities. The voice server will not provide elaborate directory or file system maintenance functions, because we believe that later versions will be based on more capable file servers that will have these provisions. Our simple voice file server is about half-completed. Plans By this summer we hope to have a basic Etherphone server and a basic voice file server in place and to replace many of the telephones in CSL with Etherphones. We are currently embarked on a redesign of the Etherphone hardware and are considering incorporating a second processor for such functions as silence detection (to reduce traffic) and merging of voice-data streams to deal with conference calls. We expect to build two further prototypes before the "production" run. In our design we intend to utilize the logic from SDD's voice-box (omitting the tape-recorder) to provide the connections to the telephone instrument and telephone system. *start* 11002 00024 US Date: 8 Jan. 1982 1:52 pm PST (Friday) From: Stewart.PA Subject: ECHOS. . .echos To: VoiceProject^.pa cc: Gunning, McCreight, NDSmith, Lau, Belleville, Stewart Note to Belleville et. al.: We need a way to hook up a 4-wire telephone to the Voice and Telephone Management Unit instead of a 2-wire phone. I think you'll have the same trouble if you ever need to use it for interactive voice. This might be as simple as a spot on the PC board to tap off the right signal, but there might need to be a couple of jumpers etc. -------------------------- Bill Gunning, Ed McCreight and I were chatting about our Echo problems. Here are some notes on the situation. Our system design is for ~50 Larks (Etherphones) hooked up to the Ethernet along with a Bluejay (Voice File Server) and a Thrush (Etherphone Server). Each Lark has a local 4-wire telephone set and also a "back door," a 2-wire phone line to the central office. Lark-to-Lark calls are placed over the Ether. While the round trip delay will be 60-80 milliseconds, echo won't be a problem because the connection is 4-wire throughout. Most outside calls will be placed from a Lark using the attached phone line. After the connection is established, the local telephone set is connected directly to the line (in 2-wire mode, even though the phone is 4-wire at other times). Echo is not a problem because the delays are very small (It is as though Lark didn't exist, after call setup.) Many calls arriving from outside use the same setup, provided that the human answering the call is sitting near the Lark at which the call arrives (sitting in one's own office). Some kinds of calls, however, arrive from the outside to some Lark, and are then forwarded over the Ethernet to some other Lark. This happens either when an attendant handles the call or when a Lark owner informs the system that he'll be near another Lark, or when the locator has informed the system where a person is when a call arrives. When a call is forwarded over the network, the following situation exists: The Ethernet party speaks, the voice is packetized and transmitted, and is converted back to analog at the forwarding Lark some 30-40 milliseconds later. The analog "Transmit" signal is then connected to the outgoing line via a hybrid circuit. The distant party speaks, the voice passes through the hybrid in the ofther direction, is packetized by the forwarding Lark, and is converted back to analog for the Ethernet party some 30-40 milliseconds later. The hybrid is a device for converting between the 2-wire outside line, on which voice travels in "both directions" at the same time, and the 4-wire part of the system, in which the "Transmit" and "Receive" sides of the conversation are carried separately. The "Transmit" signal, on the 4-wire side, is supposed to go solely to the distant party on the 2-wire side while the distant party's voice becomes the "Receive" signal. The hybrid is supposed to keep the "Transmit" signal from getting into the "Receive" signal. In actuality, these signals are present together on the 2-wire side of the hybrid: "Receive+Transmit". The hybrid is supposed to separate them by performing the calculation "Receive+Transmit"-"Transmit" = "Receive" In practice this is quite difficult to do exactly. Some amount of the Transmit signal gets mixed in with the Receive signal. The extent to which the unwanted Transmit signal is attenuated is called the Echo Return Loss, or Transhybrid Loss. Our best guess is that 6 dB is straightforward, 10 dB is tricky but achievable and more is quite difficult. There are complex games one can play with adaptive hybrids which might help. At some point in complexity, an adaptive hybrid becomes an echo canceller. Digital answering machines and other applications of non-interactive voice do not present an echo problem because the communications are inherently half duplex. The machine doesn't care if it hears its own echo. Telephone company standards. Refering to section 7 of "Notes on the Network" (by AT&T) on Transmission considerations, there is a chart (Figure 2) which describes a Talker Echo opinion model. This chart depicts the delay of the echo path and the strength of the echo against a subjective opinion rating. For 60 millisecond echos, an echo path loss of some 30dB is considered necessary for 50% of people to think the connection "good." A path loss of 40 dB reaches 90% acceptance. For an echo delay of 80 milliseconds, the required losses appear to be about 5 dB greater. The loss values discussed above include transmission losses, and telephone set acoustic converison losses as well as loss due to the echo mechanism. A 500-type telephone set has conversion losses averaging 9 dB with a standard deviation of about 3.5 dB. Etherphone system considerations. We appear to have a number of alternatives available for dealing with the echo problem. First, we should note that a fraction of all calls are outside calls, and as explained above, only a fraction of those would cause trouble. In addition, the echo is perceptible only to the local party, not to the outside caller. It may be possible for us to persuade our own users to accept a lower grade of service. a) Echo suppression. We can introduce artificial loss in the echo path in order to achieve the recommended loss. For example, if our hybrids operate at 10 dB, we could introduce an additional 20 dB loss in the "Receive" path. We could switch this loss in and out according to whether the local party was speaking. (This is what most speakerphones do. We might be able to make it work better by incorporating information about the enerygy coming in from the hybrid.) b) Echo cancellers. We could install echo cancellers in those circuits used for forwarded calls. Echo cancellers are signal processing devices which estimate the possibly complex echo transfer function and "subtract" the right amount of the Transmit signal. Comsat Telesystems corporations markets a line of echo cancellers that provide an idea of prices. A single line model with analog interfaces will be available in a few months for $750 per line in small quantities. For 50 units, the price would be $670 apiece. Comsat also makes a 24 channel T1 echo canceller that sells for $12,000 ($500/circuit). This model has digital interfaces. It may be possible to use something like the NEC digital signal processing chip to implement a digital echo canceller. If we build it ourselves it should be less expensive than a commercial product. Such a processor would make an exceedingly good speakerphone as well. My judgment is that we don't have the manpower now to develop our own echo canceller, either by NEC chip or by our own LSI. We could use echo cancellers in a variety of system configurations. 1) Echo canceller per Lark, using the present "back door" approach. 2) A small pool of echo cancellers sufficient to handle the maximum expected number of forwarded calls. (Perhaps five.) 3) Echo Canceller Servers. The first alternative seems too costly to consider; the cost of each Lark would increase by perhaps $700. The third alternative, echo canceller servers, takes advantage of the small numbers of simultaneous forwarded calls to reduce the number of servers needed. In this scheme, an Ethernet based server would receive the packet streams containing the "Transmit" and the "Transmit+Receive" signals, digitally process them, and send the resultant "Receive" packet stream on to the Ethernet end of the conversation. Such a configuration need not introduce much additional delay, since, in principle, the server is not limited by any requirement to process only one sample per 125 microseconds. If the server used a commercial ech canceller, however, we should expect such a processing rate and the server would introduce about 30 milliseconds of additonal delay. The second alternative, provision of a small number of echo cancellers, has several possible configurations. 1) POTS gateway. We would reverse our decision to use the "back door" and instead leave the PARC centrex system and obtain some number of DID (Direct inward dialing) trunks and in essense, construct a complete PABX. We might not have to construct a new machine to be the gateway, we might instead use a number of otherwise standard Lark machines as a distributed gateway - perhaps controlled by Thrush. Only these "gateway" machines would need echo cancellers. 2) Line concentrator. We could build a pool of echo canceller equipped Larks and a switch which would allow any of the gateway Larks to seize any of the ~50 lines in our system. A forwarded call would arrive at a Lark, but be referred to an idle gateway Lark for forwarding. The gateway Lark would then use the concentrating switch to seize the appropriate line. This organization would preserve our participation in the Centrex system. The cost would be that of perhaps 5 echo canceller equipped Larks plus the concentrator. The concentrator would not need full DAA capabilities because the individual Larks could provide services such as Ring detection and even dialling. 3) Pool. This scheme is the same as the line concentrator without the concentrator. We would obtain an additional five lines for "gateway" circuits. When a Lark determines that a call needs to be forwarded, it would use the centrex flash-and-feep technique to pass the call to an idle server. Present problems and activities Bob Belleville's voice and telephone manangement unit, which we propose to use for the analog portions of the Lark, uses an existing telephone set for a transducer. This means that in normal use, the VTMU provides a 2-wire phone, rather than a 4-wire phone. The Etherphone system must have a 4-wire phone in order to avoid echo problems on Lark to Lark (Ethernet only) calls. The circuitry needed to provide 4-wire telephone access to the VTMU must be discussed with Belleville's group. Perhaps we can get by with not stuffing some components into the VTMU board and by tapping off signals at the right points. perhaps there are some minor changes that would have to be made. Echo supressor tests. Dan Swinehart and I are setting up an experiment using the Lark prototype and an Alto I Etherphone to test the echo supression ideas. If we can make it work it may be good enough. Otherwise we will have to choose one of the echo canceller schemes or outlaw forwarded calls. There are a number of experiments we could do in trying to improve hybrid performance. We could attempt building a hybrid with a balance network with adaptive resistance and adaptive capacitance, for example. We don't have the manpower within the project at the moment. Should we co-opt someone at Xerox but not in the project? Hire a consultant? Is it important to pursue the idea? If we can spring for $750, we should buy at least one echo canceller to try out. -Larry *start* 00518 00024 US Date: 8 Jan. 1982 4:44 pm PST (Friday) From: Ogus.PA Subject: Prom blowing To: Stewart cc: Ornstein, Olmstead, Ogus Larry, There is a Blow.config on [Iris]Tools>Prom>. We have taken the sources in PromSources.dm, (plus the AltoMesa BCDs needed), and remade a Blow.bcd which worked. A word of caution about the hex (or .bin) file that is fed to Blow.bcd. We discovered that all lines should be terminated by a CR and a LF. Otherwise Blow.bcd chokes. How is it working? Roy. *start* 00811 00024 US Date: 11 Jan. 1982 10:29 am PST (Monday) From: Stewart.PA Subject: Re: Prom blowing In-reply-to: Ogus' message of 8 Jan. 1982 4:44 pm PST (Friday) To: Ogus cc: Stewart, Ornstein, Olmstead I'll give it another try. My .hex files did not have CRLF, only CR. I'll try it the other way. Also, I kept getting "bogus data in PROM" and Blow would stop after the first record of 16 bytes. I looked at the PROM data and it was indeed bogus. I wouldn't think that the CRLF thing would cause that. I have written as program to create .mb files from Intel format absolute binary files, such as come from Duvall's linker. Using PNEW, I've successfully made a pair of 2716s for the Etherphone. (Ethernet downloading works...) As usual, PNEW took 2 tries. I got the bits reversed. -Larry *start* 00894 00024 US Date: 11 Jan. 1982 11:38 am PST (Monday) From: Swinehart.PA Subject: The Tables That I Need, Revised. To: Stewart cc: Swinehart 1. 1 ea. 256 x 16 (low 8 significant) table, converting u255 to 16 bit linear. This could be a file in the form of a BCPL table, which could be compiled into the Etherphone0 program. 2. set of 256 x 16 (low 12 significant) tables, converting u255 to 12 bit linear, attenuated by varying amounts (including 0 db?) These should be in files containing the bits, maam, only the bits. 3. set of 4096 x 16 tables (low 8 significant), converting 12 bit linear to u255, attenuated by varying amounts (definitely including 0 db.) Just the bits 4. set (?) of 4096 x 16 tables (low something significant), producing silence-detection values from 12 bit linear values. Just the bits (I don't think BCPL would handle a 4096-element table.) /dcs *start* 03597 00024 US Date: 11 Jan. 1982 4:23 pm PST (Monday) From: ornstein.PA Subject: Activity Report - Voice Project - REVISED To: Schroeder cc: VoiceProject^ Reply-To: Ornstein The first shot was too long - here's the cut down version. Hope it's OK. - - - - - - - - - - - - - - - - - - Introduction In mid-1981 CSL launched a new research project to investigate ways of integrating voice into our prototype office systems. The first step is to put in place a set of basic voice-handling facilities upon which a variety of experimental systems can then be built. We intend to explore such applications as voice message systems, display-based editors for modifying spoken "documents", and facilities for annotating text documents with voice comments. Activities We spent about three months determining a suitable set of facilities and in doing the system design which was then formulated as a proposal, discussed with the laboratory, and reviewed by an advisory group. We decided to incorporate the standard telephone (both the physical instrument and its communication functions) into our system. This will permit us to explore ways of improving telephone services. We decided to use the Ethernet to pass both control information and voice data, thus giving us a uniform method of dealing with voice data both for phone conversations and for other experimental uses. A microprocessor-based "Etherphone" associated with each telephone provides a/d and d/a conversion, encryption and decryption, and packetizing and de-packetizing of voice to and from the Ethernet. For the present, we decided to connect each Etherphone to the normal telephone wall jack. This not only allows for phone calls to and from the outside (non-Etherphone) world, but also provides backup service during the sorts of outages that are inevitable during development. Later on a special server for handling outside calls will eliminate the need for this connection. Our goal is to keep the Etherphones as small and cheap as possible, so all system-level jobs, even even such simple things as making "connections" between phones, are performed by a separate, Cedar-based, Etherphone Server. This server has been designed to perform both those functions which inherently require a centralized approach (telephone directories, overall traffic load management, enumeration of ongoing conversations, etc.), and those that will require frequent change and experimentation. Because our existing file servers lack the specialized performance characteristics necessary for handling real-time voice, we have also designed a voice file server. This Dorado-based server will be able to record and play several simultaneous transcriptions or conversations, using the Etherphones as "transducers." It will include facilities for playing back partial transcriptions, to accommodate editing activities. We have made good progress on all fronts. We have a working prototype set of Etherphone hardware. A test program enables us to speak into a handset, digitize and encrypt the voice, pass it out onto a special 1.5 MB Ethernet to an Alto Gateway which reflects the packets back to the Etherphone where they are received, decrypted, reconverted to analog, and fed to the earpiece - so that the speaker hears his own voice. Design of the Etherphone server is complete and implementation is under way. The voice file server is about half complete. Plans By this summer we hope to have a basic Etherphone server and a basic voice file server in place and to replace many of the telephones in CSL with Etherphones. *start* 00852 00024 US Date: 12 Jan. 1982 9:39 am PST (Tuesday) From: Swinehart.PA Subject: How to name the tables To: Stewart cc: Swinehart A 4096 x 16 (8) return loss/conversion table that incorporates 20 db of return loss should be called LossTable2.Table. LossTable0.Table should be a straight 12-bit linear to u-255 table (no loss). A 256 x 16 (12) hybrid return loss table that incorporates 30 db of loss (don't we wish) should be called HybridTable3.Table. HybridTable9.Table should contain all zeroes (no echo). A 4096 x 16 silence function table using silence detection method 1 should be called SilenceTable1.Table. At present, I assume that there is only a method 1. I don't care what you call the BCPL source 256 x 16 linearizing table. But if it's easier, make it a binary file, and call it LinearTable0.Table. (I'm ready) /dcs *start* 00997 00024 US Date: 12 Jan. 1982 5:00 pm PST (Tuesday) From: ornstein.PA Subject: Rams and Roms To: Stewart cc: ornstein McCreight has ordered just a couple of the Motorola version of the 2764. It's in a 24 pin pkg (as opposed to the other brands that are 28 pin - extra pins used for in-situ programming that I don't think we need. Also the 24 pin pkg has no Ready line). The Motorola version comes in 450 ns. and 350 ns. versions. McCreight's ordered the cheaper 450 version - it's $55 each in singles quantity. I suggest we include the question of whether to go to the 2764's with the rest of the re-design. Is it that 2732's will do when you get rid of the old monitor? Probably even the 2764's are a worthwhile space saver though a bit expensive. As I said, the dynamic memory seems like a win as it saves space and gives us plenty of ram for whatever we might want to do. I assume it is at least as cheap as the statics? Then what about the memory for the slave processor? *start* 01191 00024 US Date: 12 Jan. 1982 5:14 pm PST (Tuesday) From: Stewart.PA Subject: Rams and Roms To: VoiceProject^.pa --------------------------- Date: 12 Jan. 1982 5:00 pm PST (Tuesday) From: ornstein.PA Subject: Rams and Roms To: Stewart cc: ornstein McCreight has ordered just a couple of the Motorola version of the 2764. It's in a 24 pin pkg (as opposed to the other brands that are 28 pin - extra pins used for in-situ programming that I don't think we need. Also the 24 pin pkg has no Ready line). The Motorola version comes in 450 ns. and 350 ns. versions. McCreight's ordered the cheaper 450 version - it's $55 each in singles quantity. I suggest we include the question of whether to go to the 2764's with the rest of the re-design. Is it that 2732's will do when you get rid of the old monitor? Probably even the 2764's are a worthwhile space saver though a bit expensive. As I said, the dynamic memory seems like a win as it saves space and gives us plenty of ram for whatever we might want to do. I assume it is at least as cheap as the statics? Then what about the memory for the slave processor? ------------------------------------------------------------ *start* 02886 00024 US Date: 13 Jan. 1982 10:03 am PST (Wednesday) From: ornstein.PA Subject: ETP Parts List To: Stewart cc: Ornstein How does this list look to you? I've generally allowed enough for 3 machines plus 2 spares of each type. I'll check with Mike to be sure all the standard parts are adequately stocked. I tried to increase the numbers of the special chips to allow for the redesign - things like the 8088 itself (is it going to be an 8086?) and the 8286, etc. However I didn't increase the numbers on the standard parts as I didn't know how much to add and will verify that we have plenty of them. I included stuff for dynamic memories (are you sure that 8208 is the right latch?). If we decide after all to stick with the static RAMs, then we may later have to buy a few more. Type | Got | Buy | Comments  40 PIN SLC | lots | - | I8088 (2) | 2ES | 6ES | in addition we have three non-ES I8237-5 (2) | 10 | - | also have 2 AMD 9517's AM9513 | 2 | 3 | I8274 | 2 | 3 | I8255 | 4 | * | I8203-3 | 0 | 5 | Dynamic Memory controller *Don't buy any more 8255's until we see if we're really going to use them  28 PIN (8251) | 3 | - | none beyond the first prototype 8259A-2 | 4 | 1 | WD2001E-02 | 2 | 3 | 3 MHz  24 PIN I2716 (4) | lots | - | compress to 2 per or better, use 2764 I2764 (1) | 0 | 5 | H6116 (13) | 36 | * | 8 for main Proc, 4 for slave, and 1 for Audio *Don't buy any more static rams until we try dynamics.  20 PIN LS244 (3) | lots | - | need 11 I8284 | 3 | 2 | need 5 I8282 (3) | 4 | 7 | redesigned number I8286 (2) | 8 | - | redesigned number I8202 | 0 | 5 | latches for dynamic memory  16 PIN 26LS31 | lots | - | need 5 26LS32 | lots | - | need 5 LS138 (3) | lots | - | need 11 LS139 | lots | - | need 5 LS157 | lots | - | need 5 LS163 (2) | lots | - | need 8 LS166 | lots | - | need 5 LS174 | lots | - | need 5 N123 | lots | - | need 5 PLAT (4) | lots | - | need 14 DIP switches | lots | - | need 5  14 PIN 75188 | lots | - | need 5 75189 | lots | - | need 5 8T09 (?) | lots | - | need 11 (assuming 3 total per machine) XtalA | 5 | - | XtalB | 5 | - | LS00 (2) | lots | - | need 8 LS02 (2) | lots | - | need 8 LS04 (2) | lots | - | need 8 LS08 (2) | lots | - | need 8 LS32 (2) | lots | - | need 8 LS74 (2) | lots | - | need 8 LS164 | lots | - | need 5 N38 | lots | - | need 5  *start* 00293 00024 US Date: 13 Jan. 1982 12:47 pm PST (Wednesday) From: Stewart.PA Subject: Re: ETP Parts List In-reply-to: Your message of 13 Jan. 1982 10:03 am PST (Wednesday) To: ornstein cc: Stewart The latch for the dynamic memories is an 8282, just like the other latches... -Larry *start* 01913 00024 US Date: 13 Jan. 1982 4:00 pm PST (Wednesday) From: ornstein.PA Subject: Etherphone Redesign To: Stewart cc: ornstein, Gifford This is the beginnings of a comprehensive list of items to remember to consider in the redesign. Some of the items are big, not thought out issues; others are small - no particular order. The items come from things I remember we've talked about and a couple of earlier messages. I suspect you'll remember a number of others. I'll keep updating if you send me corrections, additions, etc. 1. Addition of second processor and memory - should the audio DMA really go? 2. Locator - should we add it in? 3. Removal of LS138 for accessing upper half of Ram 4. Use of dynamic memory instead of Ram - associated removal of second LS138 5. Use of 2732 or 2764 instead of 2716's to save space 6. Replacement of 8255 with less logic 7. Can we get a 3 MHz SLC? If we go to an SLC clock of 12.288 MHz, then shouldn't we go to a 24.576 crystal in order to divide by two and keep the 50% duty cycle? SHould we do this anyway and add another jumper option to the board for which frequency the SLC gets? 8. Page 1: We may be able to save a package of N125s by simplifying the MRD' MWR' IORD' IOWR' stuff. I don't think that we need to generate separate IO and M signals because only the processor talks to IO and that case is already taken care of since MemSel' is part of the enables for the IO address decoder. Those chips that the DMAs talk to are ONLY talked to by DMA so they can receive separate nets: DIOWR' and DIORD'. The Western digital chip is a problem, because it is talked to by both the processor and the DMA. It is the only such chip 9. We could change the 7474 DREQ flops to use a (4 section) 74279 if we had a pulse that occurred after TSN. We could use framesync if we changed to use a time slot near the end of the frame, say 20-24. Severo *start* 02016 00024 US Date: 14 Jan. 1982 10:11 am PST (Thursday) From: ornstein.PA Subject: SLC Questions To: Stewart cc: VoiceProject^ Reply-To: ornstein I finally had a good talk with Jim Okazaki. He just got our list of questions yesterday (so much for the mail) and is going to work on them. He says it will probably take several days and he will call us next week sometime (or in the meantime if THEY have any questions about our questions). I really believe he is trying to help and we should now give him some time to pull together answers. I'll beat on him next week - I told him we're held up awaiting answers. I also talked to him about speed. Arnie Leon is the Production chip tester who uses the Century tester that reportedly won't go above 10MHz. Okazaki, however, has his OWN tester that he can crank up to whatever. He claims to have seen some 60 or 70 of the new, re-designed chips and says all that HE's seen crap out between 7 and 10 MHz. He says they designed the chip for 10 MHz and so it would not be surprising if SOME chips work up to 12 MHz - but he believes damn few will, that he hasn't seen one that does, and that we'd be foolish to count on getting more than a very few that would work at 12 MHz. (I didn't think to ask him howcum, if they designed it for 10 MHz, most chips crap out below that. Probably it's like our original Dorado design goal of a 20 ns. cycle that reality has pushed up to 30 ns. Anyway they were REALLY heading for 6 MHz - i.e. a 1.5 Mbit Ether). Despite this pessimism, he gave me a new name (George Tu) who (unlike Arnie Leon and his boss Jim Retuer who work in "production") is in "circuits" - who presumably can give me more accurate word. Okazaki thinks we may have been getting conflictiong signals about speedup prospects because there is another variable - a forthcoming switch to a new (NSIL-3?) process - which will reduce the cell size and might thus lead to faster chips - EVENTUALLY. Don't hold your breath says Okazaki. More anon. Severo *start* 00873 00024 US Date: 15 Jan. 1982 8:42 pm PST (Friday) From: Stewart.PA Subject: Slave 8088 processor To: VoiceProject^.pa cc: Gifford, TonyWest, Stewart I have a new 8088 slave processor loop that implements: Silence detection Input Gain control (up to 6 gain values, gain switching included) Merging of exactly three conferees Gain reduction of conferees with up to 3 gains (but no control over switching gain) This loop runs in 81 microseconds on a 5 MHz 8088. 44 microseconds arbitration time for the 6 arbitrations needed seems adequate margin... Note to Tony: This version needs only a 2048 byte ROM between the bus and the output shift register. Possible additions: Control over merging gain Digital echo cancellation with one or two terms Control over who is merged (noone, A, B, C, AB, AC, BC, ABC) Marginal cost is 1 instruction per conferee *start* 00554 00024 US Date: 16 Jan. 1982 12:27 pm PST (Saturday) From: Swinehart.PA Subject: Alto II Swap Request To: Orr, DBrown cc: VoiceProject^ Reply-To: Swinehart We'd like to swap the Alto II's that are in the Nursery and in Bob Ritchie's office, since the latter has an audio board (and L. Stewart's Bravo X keytops, for that matter.) This seems easier than installing the audio hardware in the Nursery Alto II. These machines should swap identities, as well, by having their Ethernet host addresses exchanged. Thanks, Swinehart and Stewart *start* 00384 00024 US Date: 16 Jan. 1982 12:29 pm PST (Saturday) From: Swinehart.PA Subject: Working hybrid tester To: VoiceProject^ Reply-To: Swinehart I now have what I believe is a working test (on an Alto I) of an Etherphone program and microcode to perform subjective tests of various levels of hybrid echo, modified by various values of return loss. We can test it Monday.