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