Re: Devlopment Questions
Dave Dodge <[email protected]>
| Newsgroups | gmane.comp.hardware.roku.technical |
|---|---|
| Message-ID | <20040523085108.GI12500@basmati> |
On Sat, May 22, 2004 at 10:01:54PM -0500, Atul Barve wrote:
> 1. the Mips processor 400Mhz.
300MHz, actually.
> How does it compare to a Pentium Processor in terms of performance.
> Is it PI, PII PIII or P IV class processor.
It depends on the operations you want to perform. I suspect integer
and bitwise operations are probably at least on par with x86 designs.
Memory operations may have alignment constraints that x86 does not (I
don't know much about MIPS, but Sparc certainly requires strict
alignment).
There is no floating point unit in the HD1000. So if your application
is going to do a lot of floating point math it will all have to be
emulated, and will probably perform much worse than it would on
something like a 300MHz Pentium. In fact the few packages I've
compiled that _were_ doing a lot of floating point didn't always
produce usable results. I found for example that sqrt() doesn't work
right when certain compiler flags are used.
But on the other hand, for certain very specific operations such as
MPEG2 transport stream decoding, the Roku will probably beat any P4
available -- its CPU has specialized processing units for that.
> 2. How much ram does it have for program code
64M RAM, but much or most of that gets sucked up by the kernel,
libraries, and daemons. There's not a huge amount left for your own
applications; for example I'm pretty sure there isn't normally enough
to run gcc without swapping.
> 3. Is the CF faster than a local HD in terms of placing the swap file.
What's this "local HD" you're referring to? The HD1000 has no hard
drive of its own.
In testing I've found that newer 1G CF microdrives are at least fast
enough to stream HD video (19.2Mbit/sec), but the first-generation
340M microdrives are not. CF flash memory is probably plenty fast for
reading data; I don't know how quickly they write.
It does have a USB port, but even if you managed to get the drivers in
place to use a hard drive that way, it's only USB1.1 and would
therefore be very slow.
I usually swap over 100Mbit Ethernet myself:
http://www.dododge.net/roku/nbd.html
> The reason for all these questions is that I would like to know what
> kind of software can be developed/ported.
Hard to say without trying it. One thing you should know is that
there are certain features of the HD1000 that are not [yet] exposed in
the SDK. For example if you wanted to do some 3D visualization
graphics, at the moment you'd have to do it all by hand; the CPU does
support 3D acceleration, but the SDK does not provide an API for it.
Rokulabs has updated the firmware and SDK several times to add things,
but they understandably don't say much about future versions.
Oh, and don't bother trying to get any documentation from ATI; they
won't publicly confirm or deny which features even _exist_ in the
hardware, much less how to make use of them.
-Dave Dodge