WWDC2000 Session 202

Transcript

Kind: captions Language: en the last two years for Apple has perspective we've totally revamped our product line similarly we totally revamped our i/o for low-speed I oh we've gone from cyril and adb to USB for high speed we've gone from skazhi to firewire for analog i/o analog video in and out we've gone to digital video in and out over firewire about two years ago when I was standing up here we had one firewire pci card that you can put in put into your beige g3 and that was it last year we had just started shipping the blue-and-white g3 so there was one product that came standard with firewire we had a lot of few ports out there so developers were just looking to adopt it today if you see the product line about seventy percent of apple's products come standard with firewire three out of the four product lines every customer that buys it gets a FireWire port whether he likes it or not well that's a big opportunity for you to make devices to plug it in and and we've got a lot of good feedback from you and logical response from both customers and developers that like this so let's see what's been happening in the last year or two there have been new peripherals in every category so scanners printers lots of mass storage of course cd-rws hard drives MOS you name it and there are several products in the category actually they're about a hundred firewire peripherals excluding DV camcorders that have already been announced in about 60 of them shipping it's been a really big deal in storage I mean you see hard drives really cool ones the small pocket ones from the CNB st a big ones high capacity of seeing raids sure a couple of solutions that that are really hot the pocket sized drives from Bogle of c and BAC i think i think they were a big hit it was just awesome in fact these have two ports on them they have both firewire ports as well as USB ports so that's kind of cool here's the new products from micronet this is the stand cube it's a firewire raid array so they've taken multiple drives and put it in and they've got multiple of four I think four or five firewire ports on it the cool thing about this is not only can you use it use it as a raid drive you can connect multiple hosts to it remember firewire is a multi host apology so you can have two or up to four max connected to this box and all of them can be accessing the data that's sitting on this drive so that's a pretty cool product VST a Raider a really portable it's got a battery up there you can have up to 100 gigs of storage in this portable thing perfect complement for somebody using a powerbook the new power books that come with favre are for digital video on the road here's another cool product a DVD changer from a tient what this is basically to DVD ROM drives in this box and it's got a 200 this carousel so you can put all your 200 oh it's up to 200 dvds in here and you can load two at a time so this is another cool product scanners you max and epson are shipping high-end scanners right now and i think what we are going to start seeing is a product like scanners and digital cameras the price point drop quickly so i often get this ask this question from developers saying oh i have a product should i do it the USB product or should i make it a firewire product well that really depends on i think the main thing in depends on is the performance that your product requires right we know that USB theoretical is a one point five megabytes per second but that's 12 megabits per second but it really maxes out at about one megabyte per second very often customers have got many USB devices attached to the bus somebody can have a printer and a scanner or mass storage device like a zip or hard drive or whatever oh the you're going to start seeing USB dsl modems and things like that so maybe somebody'll have be browsing the internet at the same time he's downloading a file or scanning or file or whatever so when that happens the total bandwidth to a single device of course is going to drop so you really need to weigh at what point do you make that switch from a USB device to a firewire device and we think that's probably around seven eight hundred k per second so if your device is doing more than six seven eight hundred k per second make the switch right because the customer really sees a it from using firewire of course far where has added advantages like bus power and we'll talk a little bit about that a little later on so just to talk a little bit of a performance I've got a demo for you if you could switch oh there we go I have this new drive from VSD it's got both by our ports to firewire ports and a USB port so what I'm going to do is let's copy a big file over that's my powerbook so first thing you notice that is that I have to plug it in so i plug it in you know when i say i plug it in i mean a plug it in the wall plug on the file work for the USB port so i'm going to first do a USD performance number so there'd mount I've got this huge it's about a 20 9 mag file if I do get info it says 29 Meg's so let's do a duplicate so you see it's not very fast it takes about let's say it will probably be a minute or two so I can yap for two minutes more and and then after that will run on run the same thing on fire wire so a couple more devices are starting now to show up that use that word USB and are now going to firewire for example i omega has the new zip 250 and they've come up with this cool firewire dongle that you just plug it in they have an ATA interface at the back so you get all the benefits of firewire just by just plugging it in again it's bus powered and a single firewire port on USB this Drive does about about a megabyte a little less than a megabyte 800k per second on followers this does about two megabytes a second and it's bus powered so there's a real improvement in the customer experience when using this on fire wire as opposed to USB so my copy is about halfway done should we put it out of its misery ok so I hit stop there we go so you get the idea let's now take the same device I'm going to drag it to the trash unplug USB ports so now on firewire of course I don't need to plug in any power just plug it in and the second or two it should mount there we go and let's just duplicate this file so probably about five seconds right so here is an example where a really fast device gets a huge advantage on going to firewire now what devices do we expect to start doing this look at digital still cameras today you're already in the 3 4 megapixel range and of course that's probably going to increase but the files are getting bigger and bigger and bigger flash memory or smart media memories of course getting bigger but when you plug your digital camera into your Mac you want the pictures of transfer as as fast as possible especially when you've got these huge files scanners I was in Taiwan a couple of months ago and talking to a big scanner company they're working on this new scanner they showed me a prototype I unfortunately can't mention the name but they have this same mechanism on USB and the same mechanism imply work by way this is a consumer scanner um this can on USB is 600 DPI eight and a half by 11 inch scan took about three minutes three three and a half minutes or so on fire word the same scan took about 47 seconds so there's a big difference and we're starting to really see customers understand it so customers want it now we have the systems out there so there's no reason for you not to make your devices firewire talk to about five are in the PC market space of course you know that we ship a whole lot of systems earlier on I said seventy percent of our systems now ship standard with fireworks you're seeing the same trend in the PC space so from Apple we've done already about 3 million systems last year with firewire each of them have two ports so they're like six million porch out there but in the PC space you're seeing big names like compact gateway dell sony of course toshiba panasonic sharp all these companies are now jumping on the fire wear bandwagon another interesting thing is taiwanese logic would makers outputting firewire standard on the logic boards asus is example so we're really seeing the numbers increase I was talking to somebody in Microsoft a couple of weeks ago and they are expecting that this year they'll see about 15 million pcs that's about fifteen percent of the market space our ship standard with firewire so that's that's a big number if you we could should switch back to slides so now to get into the technology details about firewire i'd like to welcome Eric Anderson eric is our lead engineer on fire wire and is the software manager for all of core firewire developments okay thanks Jay thanks everybody okay we've talked about firewire for many years here at WWDC I'm sure many of you know it's been a long time coming but as Jays explained it's really a mainstream technology now it's in most of our products and the number is rising every time we introduce a new product so what I'm going to talk about today is some of the basics of the firewire hardware especially that will hopefully help you to understand what firewire can really do how it works and what features it has that are suitable for developing a product if you're going to make a firewire product you definitely need to know this if you're developing for max in general I hope this will be helpful in understanding what firewire can do and how you might develop to be friendly for firewire okay first of all the name of this standard is I Triple E 1394 high-performance serial bus firewire is just a word it's a trademarks it's owned by apple but it's just a word it's not an implementation it's not a different spec you're all welcome to use this trademark if you license it from apple the trademark license is completely free just talk to Jake there's no difference between firewire and 1394 1394 is a serial bus and that means exactly what it says its serial this works best for longer cables parallel is better for short distances and as a result we have a very thin friendly easy to use cables because there's only a few wires in it and it's a bus this means that when you send a packet it goes to every device on the bus this is really important for high speed and low cost when you have a moderate number of devices okay this is a diagram that shows the hardware used in firewire I'm going to describe this briefly then I'll go into the details on each part and then come back to this diagram later what I've shown in this diagram are three typical firewire devices of course to macintosh that's most important on the left a firewire disk drive in the center like j demonstrated and a firewire camera on the right like a digital video camcorder like the melt the millions that are available today i'm going to start at the bottom and talk about the thigh this is the chip that actually drives the signals on the firewire buff then i'll talk about the link layer which is where knowledge of packets checksums headers and so on takes place and then the communications up to the higher levels of the device which will differ depending on what kind of device this actually is ok the 5 chip 5 fans for physical layer this is silicon that actually implements the electrical protocol for firewire firewire is a low voltage differential signaling interface that uses a 200 millivolt signal this is important because it's very low power which keeps it cheap and makes it easy to go fast the thigh will have one transmitter and one receiver for each port which corresponds to a socket for firewire plug on the device that contains these transmitters and receivers because firewire is low voltage the cables are fairly shorts as a limit of about 15 feet to a firewire cable after more than 15 feet 200 millivolts starts to look more like zero millivolts and that doesn't work very well so firewire is definitely not a local area network you might think of it as a room area network or a desk area network but it's not for most people a good choice for trying to implement a local area network the phy actually implements a series of point-to-point links each firewire table represents a single serial communication path there's no electrical continuity between the ports on fire wire because each five will regenerate the signal that comes in one court and send it out all the other ports it's important to know that this is completely done in hardware which means there's no burden on the software and there's also no chance for the software to get in there and either mess this up or slow it down at this level firewire is always a bus every packet will go to every device there's no buffering there's no routing these things make it fast cheap and simple so there's a variety of five silicon available the key features that distinguish if I are the number of ports with it offers which is how many fire wire connectors the device can have and speed that the Phi can operate at firewire defines three speeds for operation with firewire cables which are 100 200 and 400 megabits per second the digital video cam quarters available generally use the 100 megabit five speed because this is what was available in 1995 when these products were introduced and this is plenty fast enough for a camcorder all of the products that we sell use the 400 megabit interface because this is much better for hard disk drives and gives you far more bandwidth to work with but firewire is a mix and match buff you can exchange you can connect devices of different speeds any way you like and they will automatically work out the fastest speed that they can communicate at in the picture I showed where there was a disk drive and a camera if we need to send a packet to the camera of course we'll send it at 100 megabits because that's the only speed the camera can receive but if we want to communicate with the disk drive or if it wants to send data back to us this can happen at 400 megabits per second that packet won't be received by the camera but that's okay because the camera doesn't need to see that packet anyway so multiple speeds can operate simultaneously on fire wire this is very convenient the next layer up from the five is the link layer this is the layer that knows what packets are it knows how to assemble a packet how to arrange the header how to compute the crc and it contains buffering for preparing a packet before it go or absorbing a packet when one comes in and importantly this is where the bus ends all packets come into the link but the link will examine them and decide which packets are actually important for the device that it's in and pass only the important packets up to the controller generally speaking the link layer will have VMA so that it can efficiently move data into or out of the device that it's connected to there's lots of links are looking available to choose from in designing products the key features that differentiate it are the packets formats that it can support the computer needs to speak all packet for maps but a device like a camcorder or a hard drive may get by with only some packet formats and considerable simplicity can be had in the link by limiting it to the formats that are needed the DMA in the link may vary depending on the application and the host interface may vary as well a camcorder link typically would have an 8-bit microcontroller interface very simple very good for a one function device whereas in the Macintosh we have a complex pci interface that's very high performance all of our products today use the 1394 open host controller interface this is an industry standard link interface for computers that's very powerful it in send or receive every legal kind of packet on the firewire bus and depending how you count it has 16 or more independently programmable vmas optimized for the various different kinds of packets that can be sent or received on firewire so let's talk about these packets that go across the bus there's two primary kinds of packets for moving data that I will talk about miss a few others that are used for management operations asynchronous packets or non real-time packets are used for devices like disk drives each packet contains a small amount of data from one byte up to two kilobytes depending on the speed that is being sent out and the amount of data needed by the application an asynchronous packet is addressed by a node ID which identifies one other device on the firewire bus and a memory address these two together make up the 64-bit address space the memory address is 48 fifth and it selects where in the destination node the packet is being sent to what exactly these memory addresses mean may depend on what kind of device you're using or what protocol you're speaking on the Macintosh if that 48-bit address is less than 4 billion meaning that the top 16 bits are all 0 then it simply identifies a physical memory address inside Macintosh memory this can be used by a hard disk drive to directly move data into or out of buffers on the Mac without any involvement by software which is tremendous for performance because this data can flow without interrupts without software Layton sees in fact the CPU can be used for something else during this time address is above the 4 gigabyte range do not go to physical memory because there can't be memory at such a high address those do go to software and those cause and interrupt when they arrive software will examine the packet that came in figure out what it's supposed to mean and take corresponding action so for example with a firewire hard drive we might ask the drive to move one megabyte of data we might ask it to read that data and put it in McIntosh memory it will get the data from medium break that up typically into 512 packets each of which is 2k it will send those across firewire to the different addresses in McIntosh physical memory where we specified that we want the data all of that will happen without causing any interrupt or without any software overhead when the data is entirely in place the drive will send one additional packet to some address off the end of physical memory this will cause an interrupt the software will notice then software will learn by examining the packet that the i/o is complete so this is extremely efficient it supports multiple devices at once it means that data can flow in and out of the mac and very high speeds on fire wire again I want to stress that firewire is a buff which means that when we send an asynchronous packet to one node electrically it will go to all nodes but all except one will look at the address and say that's not me and they won't bother processing the packet the one that does receive the packet will check the CRC on that packet and if it's received correctly without overflowing the buffer or any other problem will send an acknowledgement that indicates the packet was received correctly so with asynchronous transmit you always know that your data made it or in the rare case when it doesn't make it you can send another copy asynchronous packets generally look like memory accesses the most package sent asynchronously are either read or write requests on the firewire buck a packet requesting a read simply specifies the number of bytes that it wants and an address that it would like to read from this is a very small packet but this will cause a response to be sent that contains all of those bites that were requested so this will be a fairly large packet this is fully symmetric any node can read from any other node also any node can initiate a write operation by sending a packet that specifies an address the length of the data and actually includes the payload up to two kilobytes of data in that package the receiving node if it absorbs that right correctly will simply send an acknowledgement that says the package got through okay or an acknowledgement that says something went wrong and please send the packet again as I described in the disc drive case often these packets can be sent with no interrupt and this frees up the CPU to do other useful things the other kind of packet commonly used on fire wire is an isochronous packet this is used for real-time transfers such as when the DV camcorder is sending digital video into the macintosh these packets are also a small chunk of data although the size range is twice as big as for asynchronous packet isochronous packets are sent at fixed intervals 8,000 times per second there's an opportunity to send an isochronous packet this is not configurable this is just a number that Mike teener picked 10 years ago and this is what we use what's special about isochronous is that the hardware enforces a guarantee that says 8,000 times a second the bus will be available only for the people who have a reservation to send isochronous packets this means that the packets will go out on time and they won't get held off because disk drives or something else or hammering the boss asynchronously there may be a small delay while you wait for whoever's currently talking to shut up but then the isochronous packets will all get to flow again firewires a bus so the asuras packets go to every node but they're not addressed like asynchronous packets are not sent to one node instead the header of an isochronous packet contains a channel number that specifies one out of 64 possible channels and each node can examine this and decide if it wants to receive data on that channel or not for example the open host control interface that we use can be configured to receive four different isochronous channels simultaneously and programmed with buffers for where to store that data in memory the isochronous packets are not sent to a memory address instead the meaning of one packet after the next is protocol dependent based on what time they arrive or what order they arrived in there's no time travel on the firewire bus packets will arrive in the order that this end it's also important to note that isochronous packets are not acknowledged because two or more nodes might receive this packet there's no simple way for each one of them to indicate whether it arrived or not also because it's real time there's no time available to retransmit the packet if anything went wrong so in principle data can be lost in isochronous transfer but the bit error rate on fire wire is phenomenally low so low that in practice it's perfectly realistic to use this for professional digital video editing or for watching TV or for EM land without any concern about data loss data loss really is not a problem in a properly designed system of course you do need to wire it up correctly so let's come back to this Hardware diagram and I'll talk a little bit more about what's happening in the system let's suppose that the Macintosh here on the right hope you can see the cursor up there wants to send a packet to the camera to tell the camera to start playing the tape it's in there the Macintosh will select the command bytes that indicate play and send those across PCI to the link the link layer will form this up into a packet by computing a checksum and properly arranging the bytes and when it's already in a buffer to or a FIFO to be sent out on the bus the link will tell the thigh that it wants to arbitrate for the permission to transmit on the firewire buff often this permission will be granted immediately because the bus is idle there might be a delay of up to a hundred microseconds if the bus is heavily congested when the five wins arbitration it will tell the links to start transmitting and the link will send the packet down to the Phi which will then send the packet serially out each of its port so our command to the camera telling it to play would first flow over to the disk drive the thigh here will receive the packet and do two things with it it will send the packet up to the link layer because the Phi doesn't know who this package is for and it will retransmit the packet on all of its other ports except the port de package arriving from so this is important the fine does not have any buffer and it doesn't have any routing tables it simply sends a packet everywhere instantly because this is a bus nobody else could be talking anyway in the disk drive the link layer will examine the packet even though it arrived at 100 megabits it will still look at it it will see that its intended for somebody else and just ignore it so the controller isn't bothered with any information about this packet but the packet does flow out into the camera whose Phi ulcer receives it passes it up to the link layer which recognizes that this packet is intended for the camera the link then does two things it passes the packet up to the controller which processes the packet and starts the tape playing also the link signals and acknowledgement to the five that says this packet was received correctly and that acknowledgement flows back through these Phi's to everyone but only the Macintosh who sent the packet is looking for and then notes that the transmission was successful when signals is back up the software so that's the basic operation of devices on the firewire buff a couple other things I'd like to talk about the automatic configuration and firewire one of the big advantages that we tout for customers is but firewire is plug-and-play you just plug things in there's no scuzzy IDs to set there's no terminators that's because there's enough information provided by the hardware that we can hide all of that of course they're still our node numbers that identify the nodes on the buff they're simply hidden and selected automatically on a bus with three nodes the nodes will simply be numbered 0 1 and 2 what order this happens in may be random it may depend on how the cables are connected it may depend on various factors it can also change over time if devices are added or removed we're going to have to change the numbers especially if one of the low number devices gets removed that all happens automatically in the hardware we don't get involved in that but what the firewire software layer does is it hides these changes device drivers don't need to know the node number of their device they simply use a handle to refer to the device and our firewire layer keeps everything straight so the packets go to the right place if you really do need to know your number we provide an AP a-- to find out but most of most software won't need to know this and you'd never want to show a number like this to the user because it may change at any time and it really doesn't mean anything to them every firewire device has a configuration wrong this is a small ROM that describes what the device does the ROM is located at a fixed address that's standard for every device so when a new device is plugged in we simply send a firewire read request to that address to get the ROM and find out what it is you might notice that this address is way off the end of physical memory so this is not going to collide with any Macintosh address what's in the ROM describes the features of that particular device what protocol that device speaks may have other useful information like the ID of the vendor who fold the device we use this information to figure out which device driver to load for the device the ROM also contains a globally unique identifier a goo it this is a serial numbers that for business long that uniquely identifies a device this is critical because if you plug in to vse firewire hard drives the contents of the ROM other than this good are identical if the node numbers change we might forget which drive is which that could be really bad if you have files on those drives so it's critical that every device has a truly unique serial number so what's happened recently in firewire as I mentioned earlier we have the 1394 open host controller interface in all of our products today this is a second-generation host controller interface that provides very powerful DMA has provided us with a big performance boost and has a lot of capacity that will take it forward over the years all products today that have firewire ports can do from a firewire hard disk drive I'll talk more about that last year we said that we'd provide firewire power in desktop and consumer products but probably not in power books turns out we figured out how to do that the new power book with firewire provides six lots of power just like the imac that's plenty of power to run a hard disk or another small peripheral the I Triple E 1394a standard was recently ratified it's been several years in the works but it is absolutely finished and voted on this is a standard that provides a lot of clean up over the original 1394 standard it fixes bugs it clarifies a lot of things that really weren't described very well it has some modest optimizations but it's not a big leap forward in performance but very important if you're designing products use 1394a soliciting all the vendors who sell firewire parts are offering silicon compliant with 1394a you'll have much better interoperability with other devices and with the max if you use this modern silicon that complies with this standard I Triple E 1394 B is the effort to define 800 megabit firewire even higher speeds and a variety of other useful features like plastic optical fiber for certain applications protocols that can be used for wireless firewire and various other advances 1394 be recently passed its initial round of balloting this basically commits the a team to stop adding features and start debugging the spec so it will be a number of months more while they actually agree on how everything should work and how to describe it but it is moving toward completion and of course we're looking forward to adopting that technology as soon as it's available I was quite surprised when i wrote slides for this year to notice that we were talking about USB 2.0 last year there really isn't anything new to say about USB 2.0 it's still not there i think jay is going to rag on it later so I'll look I'll skip for now so what's talks about firewire booting every product that we sell today that has a firewire port can boot from a firewire hard disk on that port that includes the power mac g4 the imac TV and the powerbook firewire older products that we already sold cannot boot from firewire sorry if you try to copy the software onto the old product you'll find it still can't boot from firewire so I want to prevent some confusion and save you some time don't bother the firewire services on these new products are included in the mac OS rom this is because prior to that we included them in extensions and we can't load an extension from a device that we can't talk to so the firewire services are built into the mac OS rom however the copy in the mac OS rom will only be used if we actually boot from a firewire device in any other case we will load the extensions normally this means that you can upgrade those extensions with a newer version such as firewire 2.4 which I'll talk about later so you're not locked into it in the ROM however Apple can ship a new mac OS ROM such as was included in the recent mac OS posting so we can improve the booting if we need to this means that you should always have the firewire extensions in the extensions folder even though it's also included in the rom also the extensions cannot override the rom up basically we tried and that turned out to be awfully hard so for now at least when you do boot from firewire you'll be using the version that's in the mac OS rom how do you boot from firewire it's really very simple you just go to the startup just control panel pick your firewire disk and reboot now if you try to do this you might find that you can't pick your disk in the startup disk control panel this means that the driver software that came with that deal doesn't yet know how to boot from firewire but our vendors have been working on this and new software should be available to make disks bootable some firewire when the disc is bootable from firewire the driver for that disc should be stored in a boot partition on the media of the disc this works the same as how we boot from scuzzy or a TA or I think everything except USB this is so we can load the driver we can't load an extensions based driver when booting from firewire because we can't see the extensions folder when we're trying to find the disk so third-party formatting software that supports booting will put their driver in a partition on the disk now if for some reason we fail to find a third-party partition on the disk we will use a built-in apple driver so that you can try to access your data but this driver may not support the disks that you have very well or it may be slow so we highly recommend that you get the third-party driver and for you third parties that you provide this driver so that you can provide the best performance and features and support to your customers who are using firewire booting another new feature we have is target disk mode this was a lot like scuzzy disk mode for some reason we didn't call it firewire discommode but it lets you use the powerbook firewire like a firewire hard disk if you reboot the computer and simply hold down the letter T until you see a big firewire logo which should be about five seconds the computer will act like a firewire disc and you can plug it into any other Macintosh and it will show up on the desktop to a firewire this actually is implemented in all current product it's probably most useful in the powerbook but you can use an imac DV or power mac g4 in target disk mode and that may be a convenient way for you to get files on or off of that machine over firewire note this Thanks this capability is actually implemented in open firmware so I can't take very much of the credit for this but I'm glad to hear that you're happy about it note that you do not need a special cable in scuzzy disk mode you didn't hold down a key you use the special cable because cuzzy for practical purposes is not peer to peer so normally wouldn't connect two computers together by viscusi for the firewire it's perfectly okay to do that so the normal cable is used you have to hold down the letter T so that we know that you want to use disk mode on the other mac which is running mac OS you will need firewire two point three point three or a later version in order to see the firewire disc that's because this version of firewire has the driver for an apple target disk mode disk built into it okay firewire 2.4 was declared GM on monday of this week and as soon as we can get the installer working will make that available for everybody we expect that to be just a couple more days 2.4 is bug fixes and performance tuning only i'm sure you've gotten the message by now that mac OS 10 is the future and most of our staff are now working on mac OS 10 firewire tomorrow we'll have a presentation from William gull and who has done a terrific job in implementing Mac OS and firewire he'll tell you all about it he'll also be here today for the Q&A period so firewire 2.4 is just bug fixes and performance tuning in particular disk drive performance should be usable faster on most systems right performance especially will benefit what we've really done here is raise the ceiling for how fast it can go so if you have a fast disk or one of those VST raids you'll see a big performance if you have a firewire zip drive we probably weren't holding it back anyway so this change may not make it any faster another interesting thing in firewire 2.4 is that if you have the powerbook firewire and you install 2.4 you'll find that your battery last longer I can't say exactly how much but it should be about five to ten percent longer what we do is if you have no firewire devices connected we simply turn off the firewire circuitry which is fairly complicated circuitry and we save a useful amount of power by doing that if you then plug in the firewire device will turn it back on it might take a couple of seconds for us to notice but it always works in our test what did what did steve say in the keynote trust me you'll love this okay this will be available by software updates in mac OS 9 if you just go to the software update control panel within a few days you should start to see firewire 2.4 listed there and it will also be available on the web if you'd prefer to download it and install it manually there will be a firewire 2.5 even though we're mostly focused on Mac OS 10 simply because if I hate to say this but we do have a few more bugs so we will work on those we may be able to improve the performance a little bit more if there are bugs that are affecting your ability to develop products by all means let us know about it J we'll talk later about how to contact us about our mailing list we will try to fix bugs for firewire 2.5 that will be out sometime this summer that will be made available through the software update mechanism in Mac OS 9 okay next I'd like to bring up will Oxford who's going to talk about em lan which is audio on fire wire will thanks Eric I'm not sure how long this leash is here so I might not get to move around too much sure so the title this session is firewire what is the title now in the future so I'm going to talk a little bit about some of the future developments that we're going to be pushing out the towards into the summer you should know that the M land spec is still undergoing some slight changes but basically it's very solid at this point I know how many of you are familiar with M land so I'll just go into a little bit of detail about that and when itself oops so this is the outline this is a really intended just to be a very short introduction to end land we'll get into some more details later on especially with Williams session tomorrow which I encourage you to go to and also there's going to be a session later on this week as Friday afternoon to talk about the multi-channel audio and that kind of stuff so definitely I encourage you to go to both of those sessions so basically what is audio firewire audio or M lan and so the idea here is the M LAN is just a sub protocol if you will of the fire wire protocol itself so em lam was actually invented by Yamaha and they were very gracious in providing that service opening it up to the rest of the firewire community so we have them to thank for that basically what M LAN is is a subclass of the IEC 618 thats Sarah Lee something you have to remember other than we call them ABC devices and that's audio/video control devices the the six 1883 spec is actually a subclass of the firewire respective 1394 sec the six 1883 spec actually comes in six flavors if you will there six books to the to the specification six sections the M land protocol is desire I've din the section 6 the final section of the spec so if you look at the family of firewire devices there's the overall umbrella 1394 umbrella and then you can divide that up into a vc devices or six 1883 devices and other firewire devices such as mass storage devices scanners you've seen all the other things that JS talked about within the ABC device category then we have yet another sub class which is the M land devices are the dash six devices and other ABC devices and these include bbbj camcorders AV hard drives which some of you may know a little bit about but basically the key to know here is that M land effectively is six eighteen eighty-three six just like firewire effectively is I Triple E 1394 so what exactly is is in land how does it fit into the data format those of you who care about how this all fits together on the bus I'm not sure that the lines actually came out very well in the slide so I apologize for that but you remember Eric talked earlier about isochronous and asynchronous packets well if you look at the sixth 1883 spec it most of the the data is actually transferred in isochronous packets there are some control packets are sent asynchronously but mostly isochronous and so what I've got here on the left is just a isochronous packet header just a schematic of that I chakras packet sorry and the the isochronous packet is divided to three fields there's the packet header which indicates things like what what kind of packet it is also how long the packet is and that kind of thing and then there's a data field and then at the bottom is a little CRC so I'm again I apologize for the fact that they didn't quite come out but anyway sort of imagine as I point inside that data field for the isochronous packet then that's where the M land packet actually resides and so the inland packet has yet another header it's actually an ABC packets argue it's the packet itself has another header which is the sip header or common isochronous packet header and then below that optionally are our set of data fields or more headers and basically it's just too doesn't try to explain to you that it all fits within the the isochronous packet so I can get this look okay so why am LAN why should you care well Emlyn to me is one of the most exciting developments in digital audio since the original aes/ebu spec and the reason it's so exciting to me is basically it has all the great things about fire wires and all the really great things about fire we're basically number one is it's got to it's a single bus so you know it's not a point-to-point thing you can daisy-chain your device's you don't have to worry about inputs and outputs it has lots and lots of bandwidth so just as an example 400 megabits per second you can get hundreds literally hundreds of 96 kilohertz 24-bit audio channels and those of you who care about that kind of thing should think that's actually a pretty adequate number we could do things like hot plugging devices so you don't have to worry too much about powering down your entire studio before you start the moving connections that kind of thing so the the integration the other one of the other advantages is the integration of video MIDI and aes/ebu all in a single wire so basically if you've ever been into a large studio setup and you see all these enormous patch bays and and MIDI patch bays which were electrical devices that do the same kind of thing and video and audio connections that are run together and then split apart and then there's synchronized result over the place basically this is going to make life a lot easier it's like I solve all the problems in the world but certainly going to make life a lot easier as far as keeping audio and video signal synchronous keeping routing them from one place to another in the studio and for me the biggest deal here is the elimination of the studio patchbay and I don't know how many of you have killed your fingers on the back side of patch basement yes those of you are clapping it so I have more cuts and bruises on my knuckles from some patch bay rewiring and it's certainly the largest single contributor to studio down time I think so the disadvantages are and of course there always are disadvantages for now there's some issues with clock recovery right now it's sort of a highly contested field as to exactly what the the best kind of jitter with respect that you're going to be able to get with with unmodified fire wire but for now I think my perspective on it and don't take this as gospel certainly go out and find out for yourself but firewire as it stands today is good enough for almost all applications and it's only the ultimate really highest end no eight thousand dollar A to D converter kind of market where it really is going to matter the clock shooter as it stands today we are working on that in the 1394 trade association and also in the aes standards committees and I think that before long we'll have some method figured out where that really won't be a concern for the future there are still some clarifications of the spec as I mentioned earlier but those are well underway and I expect that before we certainly before we meet next to a year everything will be pretty much ironed out so how do you use it in your in your application if you're a software writer and the good news here is you don't have to worry about that we're going to take care of that for you will use it just as any standard sound in or out device or both one of the things you probably want to know about is OS 10 vs OS 9 to my knowledge at this point we are going to do simultaneous OS 9 + OS 10 releases it will be later on in the summer the as far as the OS 9 how you use it as a standard s calves on the output side and this sound input device so you really don't need to to change your app in any way to take advantage of firewire unless you were adding new features that firewire allows you to have on the OS 10 side I highly encourage you to talk to both William gull Anor attended William vellons talk and also Jeff Moore's talks on multi-channel audio and that architecture all that stuff will be gone into in great detail if you insist on rolling your own driver we certainly can help to some extent we're looking at the open-source issues certainly for OS 10 we believe that's the right thing to do and we just need to make sure we can we can legally do that with all the licenses and whatnot or OS 9 i'm not clear right now whether that'll be open source or not but certainly we can help you out even if we are not going to be giving you all our sources so what is the device roadmap look for it look like well right now the summer this summer we will see the first Emlyn devices available in fact you'll see a couple of them sitting right up here right now they're really only sound output devices meaning their speakers or things that actually generate sound from a digital signal generate audio from digital signal sort of towards the end of summer early fall we should see a second wave of inline devices on the market and I don't want to pre announcing ones products but basically we're looking at several different ship sets available and several products based on those chipsets also so we're looking at audio in and out and midi in and out of devices in that time frame and those of you who are looking to develop hardware devices like that certainly get in touch with our fine team of billah / support people and then towards the end of this year is sort of the Christmas selling season if you will we expect to see the first consumer devices first consumer and land devices and as I put up there I think then the fun really begins first of all if you're a developer or a hardware developer what's great about that is that the volume for consumer devices is just enormous compared to the sort of semi-pro music market and so with all the silicon being generated the prices will go down quite a bit also the consumer devices tend to have a lot more well there'll be a lot more shelf appeal because there will be in every circuit city and you know best buy whatever around the country so Emaline devices will actually start to I think exponentially grow sort of towards the end of the year to me that's really exciting because for the first time and I think one of the recall one of the early discussions on the 39 40 a trade association website there was a absolutely concerted effort to make sure that this was a spec which was clear across both consumer and professional applications and to me that's very exciting because it's always in the past we've had this sort of imaginary line if you will between professional or semi-pro equipment and consumer equipment and they didn't always talk together correctly or there was some sort of protocol difference and we've been very careful to make sure that M LAN is a completely cross-boundary application protocol basically you shouldn't have any problem connecting up and land consumer device like your home stereo home theater or television set to a professional device they should be able to talk together quite well so for me that's that's very exciting because it opens up a whole lot of new applications and the market is just much larger if you then if you fragment it so what I'm going to do now is just give a real quick Emlyn demo those of you attempted the hardware keynote saw pretty much the same demo so I will tell you it's this is running under OS 9 right now I don't have an OS 10 demo setup but bear with me so if you can switch over to the number two please great okay so the first thing I show you is just if you go into the sound control panel then you'll see that to both the firewire as I mentioned before mi firewire shows up as just a standard sound output device and those of you can hear it up here these speakers are not probably loud enough to get all the way to the back of the hall but we'll try so what I want to do then basically is just show you if i can find the demo this is a standard sound jam MP just again you saw the hardware keynote you saw this but I don't know if you guys can hear that or not but so there's no difference really as far as the OS knows between the standard built-in sound hardware & M land Emma so in line speakers so you really again just to reiterate your application really doesn't need to know anything about em land in order to take advantage of it okay so that's pretty much all i wanted to talk about we can bring j back up and answer or go onto the resources side thanks thanks well I really think that Emlyn is going to be cool especially in the consumer electronics space just think about consumers wiring their home stereo systems as wires running all over the place I'm firewire would make it so much easier just one cable going all over the place and game you're ready to go so to talk a little bit about resources oops absolute them we have an SDK available for all developers on the developer seats I'd go up there get it and start doing development that has all the necessary documentation and everything else we have a free firewire mailing list for you to subscribe so if you have technical questions and want to post them of course you can ask DTS but there's a good community of firewire developers and we set up this website you should post your questions they're all our DTS engineers that do firewire all our engineers that do firewire or subscribe to this list and they will answer your questions other developers are subscribe to this list so this is a good community where you can post your questions and usually I've seen that people respond pretty quick if you have general questions on fire wire then them to firewire at apple com they all come to me I try and respond pretty quick so you should hear from me pretty soon so there was some confusion some time ago regarding firewire licensing there was this big hoo-ha about a dollar of fort and everybody's saying all week and only candidate book so we worked on it a little bit the new patent pool is tablished for firewire licensing and it's really really simple that was the idea what happened is is that previously when a developer or a silicon maker needed a patent license for firewire he had to go to each company that owned patents right because there's several companies that own the patent sunflower this Apple the sony toshiba and several others so previously had to go to each of these companies separately pay an amount and that amount amount was really dependent on the type of patent and things like that but what we did is establish a pattern pool with the 30 the 3094 ta helps out a lot of that and the eight companies that own the patents put the essential patents in this pool so they threw it in the pool and now for a patent license you don't need to go to any of these companies separately you don't even need to come to Apple you just go to the patent pool and the prop and its really really easy every device you ship you pay 25 cents period right and it's also not purport it's per device also it's not it's per system right so think about it let's say some future computer has internal firewire ports and uses an internal firewire hard drive and has two external port Sonic the system manufacturer will yet pay 25 cents although he's using the firewire hard drives internally it's per system not purport altered paid for by the end developer not the silicon vendor and the reason we did this was is that there is this effect that when you charge the source every time it changes hands the price keeps increasing right so the silicon vendor will charge his distributor if you if he paid twenty-five cents you charge 50 cent by the time he goes from the distributor to the retailer from 50 Cent's it goes to a buck by the time it comes to the developer it's more than a buck by the time it comes to the customers like five dollars so you don't want we don't want that to happen so what we said is let's go to the end person and charge 25 cent so it's now the end developer that page that 25 cents the packing pool is managed by the 3094 licensing authority so you can go to the website is 3094 la com go there they'll have all the details about how you need to pay and all that good stuff so but the idea here is really really easy don't get confused about it if you have questions send me an email or send an email to firewire at apple com we'll be happy to take it up with you and answer your questions so a couple of things that you should do I think one of the key features of firewire specially from across customer perspective is bus power customers love the idea that you can plug in a peripheral don't need to connector to the wall just powers up and you're ready to go well so that of course depends on the type of peripherals that you have so for peripherals that consume low power use this feature our customers love it and it just makes life so much easier the imac DV and the new powerbook G trees provide 6 watts of power of our professional desktops that's the g3 the blue and white g 3 and the g4 provides 15 watts of power but keep this in mind when you're designing a product now if your products use more than 15 watts of course you have to be plugged into the wall but if they don't also you should keep in mind that you have to provide for optional power so that if the customer for whatever reason needs to use let's say a pci card or a pc cards that doesn't provide any power your product should be optionally powered so that you can plug into the wall and get power take advantage of the multi host apology as Eric mentioned firewire is a peer-to-peer network you can have multiple computers on the same bus a couple of examples for of products that have taken advantage of this our scanners and the micro nets and cube this is really huge especially for scanners if you look at a typical publishing environment you've got one scanning station a scanner attached to it person goes to the scanning station does a scan then goes back to his computer and copies it over the network yes that's a pain right what you could have is in the small and work groups that typically are our design customers working you can have multiple computers connected to the same scanner you just scan straight from the computer from the scanner to the computer the fans cube of course is a low-cost fibre channel replacement and that's really cool the 1394 a spec says that when you're providing power you provide from eight to 30 volts make sure that your device works under this this requirement right we don't guarantee just guarantee that it will be between eight and thirty wolves and we guarantee the amount of probably provide we don't guarantee exactly what the voltages we've seen some devices that don't work in this case so make sure that you follow the spec correctly um we use the standard 6-pin connector at the back of our systems these connectors are much more reliable and durable than the four pin connectors that you see on camcorders so please use the 6-pin connector use four hundred megabits five for all your devices especially when you're daisy chaining and things like that you don't want your 200 megabit Phi not to be able to transmit a 400 megabit packet so that's really important on devices that are big used two or three connectors people like to daisy-chain fire were they know far were as a daisy chain about bus so make use of that we know it's a couple of cents maybe a buck more expensive because you add an additional connector where this is something that a customers really like eric mentioned earlier on use a unique would the GOI d that's a unique serial number he explained why saying that if you have two VSD drives with the same ID the mac does know how to defer and that will be back the way the firewire works is that every device has a config rom in it right you don't use the minimal rom use the entire rom to and put information about your device in there so that the mac appropriately knows how to deal with your device when it's plugged in so it can match the appropriate drivers on things again the firewire logo eric mentioned it earlier firewire is an apple trademark like we licensed the name firewire and the firewire logo the yellow y-shaped logo for free to developers use this in all our marketing materials we tell our customers by firewire devices that's how our customers know what to connect so don't call your devices i link i mean don't call your devices 3094 you're just confusing the customers more and more call it firewire it's free use it use the mac logo when you walk on an island compusa or fries or whatever how do you know which device works on the mac well you don't I mean you don't want to pick up each and every look at it and put it back in useless logo that's how the customers on it identified that this device works on the mac in fact computer series gone to the extent of telling us to tell till you folks to put this mac logo on all the six phases of the box because sometimes they stack the boxes like this sometimes like this sometimes it's vertical any side use the mac logo again a license to use the mac logo it's free just go download the form bulletin and fax it back and you're ready to go our artwork for both the firewire logo and the mac logo is available on the website if you have any problems getting to it drop me an email and we'll take care of you so there are a couple of sessions that that you should really attend tomorrow there's an important session on fire wire and we go to deep technical details about firewire Mac os10 ken is clearly the future for Apple so all of you doing devices it's time to start writing drivers or if you're creating new devices it's time to start working on Mac OS 10 that's absolutely the way to go we have a feedback forum on Friday or for both USB and firewire so come to that tell us what you think if you can't attend that send me e-mail and we'd be happy to exchange emails or send post emails on the mailing list tomorrow we've got a good surprise for you actually what we're going to do is you know that there's a party tomorrow thrown by Apple on the apple campus I think they're going to bust everybody from here to the apple campus I think it's a seven or 730 in the evening what we are doing is we have a separate part on the apple campus itself where we're going to have a firewire plugfest so eric and the testing team are going to set up a couple of computers there or you bring your device's if they're prototypes that's not a problem bring your software they'll plug it in and they'll see how the devices interconnect drink a lot of beer and have fun basically but we did their last time for USB actually and that's when we both broke the 127 device limit for us be four firewire again if you have questions you can email them to me directly or you can email them to fire white apple com the email comes to me again I I'm pretty I try to be really good about responding quickly just just email is the best way to get hold of us there's also cracked you can send email to I can send it to either of us and we'll try our best to take care of you you ah