BeOS Bible Updates

Under the Hood

Notes
Codecs
Video
Audio
Where Are Codecs Stored?
USB
PCMCIA
Video Capture
Easter Egg

Notes

The vast majority of work that's gone into BeOS R4.5 isn't visible to the end user but is "behind the scenes" -- in the guts of the OS itself. That doesn't mean these changes won't make a difference to you, though. You get a lighter memory footprint (i.e., BeOS is happier with less memory than it was before), more stability, faster boot times, more hardware support, and much more (again, see
What's New in BeOS for details).

Codecs

Now that the Media Kit is finished (well, there's always room for improvement), Be has been able to turn its attention to supporting more common media file formats. In BeOS R4.5, you'll find support for the following audio and video file formats:
  • MPEG
  • QuickTime
  • AVI
  • WAV
  • AIFF
  • AU
Don't confuse file formats with codecs. Compression/decompression algorithms are usually, but not necessarily, tied to file formats. R4.5 includes the following codecs:

Video:

  • MPEG-1
  • Indeo 5
  • Cinepak
  • PJPEG
  • MSVideo (CRAM)
  • MS-RLE
  • Apple Video (RPZA)
Audio
  • ulaw
  • IMA4
  • MS-ADPCM
Notably missing from this list are codecs for the popular MP3 audio compression format and the Sorenson video codec (which you'll quickly discover if you try to play the popular Star Wars trailer downloadable from Apple.com). Both codecs are missing due to licensing issues with the codecs' creators. It's possible that Be could license the MP3 codec and include it in the operating system, but getting permission from Apple to use the Sorenson codec is, frankly, unlikely. The same issue plagues Linux users, and Windows users can view Sorenson video only through the QuickTime player, not through Windows Media Player. Only time will tell whether a solution will emerge to this dilemma. As noted above, Be may offer other codecs for download from its Web site prior to the next OS release. Use the "File | Download new media add-ons" in MediaPlayer to check for updates.

Where Are Codecs Stored?

In case you're curious, you'll find your system's collection of codecs in /boot/beos/system/add-ons/media and its subdirectories. Interestingly, this folder is further subdivided into folders for decoders, encoders, extractors, and writers. As a user, you don't need to think about these, or even know they exist (that's why they live in a system-level directory). However, it can be interesting to poke around in this hierarchy to see how the codec system is arranged. Because BeOS is modular and object-oriented, individual files serve specific purposes. In other words, all functionality related to the AIFF audio format isn't stored in a single file. Instead, you'll find an AIFF extractor and an AIFF writer. This way, applications can call lightweight functional objects without incurring unnecessary memory overheard.

USB

The online-only chapter of The BeOS Bible
The Future discussed (among other things) how the limited number of IRQs and memory addresses are affecting our ability to easily expand our hardware's capabilities, and how USB and FireWire were going to save the day. With R4.5, BeOS introduces USB support for the first time (we'll have to wait a bit for FireWire support). USB in R4.5 is, however, limited to keyboards, mice, and printers.

There's really nothing more to say here. If you have one of these devices, you should be able to just plug it in and get to work. If your hardware is supported or you've obtained a driver for it from another location, it should "just work," with the exception of some laptop motherboards (and laptops aren't officially supported anyway). In fact, you'll probably find that installing USB devices on BeOS is even easier than it is on Windows. (I'm speaking from my own experience here; Windows 98 issued several bogus error messages and a blue screen of death when I tried to install a USB driver for my mouse, whereas with BeOS, I just plugged the mouse in and was able to use it immediately.)

PCMCIA

Because PCMCIA (a.k.a. "PC Cards") are mostly tied to laptop usage and laptops aren't fully supported in R4.5, working with PCMCIA devices may take a little fiddling. However, most people will be able to get most PCMCIA modems and network cards working. In fact, a handful of network cards and modems will work immediately with no further tweaking required. Try working with your network card or modem normally before attempting anything in this section. If it doesn't work, you can try a few of these tricks.

Take a look in /boot/beos/etc/pcmcia and you'll find three files:

config
net
serial
config is a text-based configuration file defining classes and models of PCMCIA network cards and modems; you can edit it if you want to see if BeOS will pick up your device. net and serial are scripts that BeOS automatically runs at boot time. You really shouldn't mess with these in any material way. Remember that since all of these files live under the /boot/beos hierarchy, they're technically off-limits to users, though you can't do any irreparable harm by editing them (you can always restore them from CD if you mess something up).
Note: Don't go into the Devices preferences panel and try to set up your PCMCIA card. It isn't necessary and won't help.
If your card doesn't work "out of the box," open a Terminal and type:
cardctl
This command is used for probing PCMCIA sockets and takes a number of options, which you'll see reported in the output. The option of interest to us here is "ident," for identify. Type
cardctl ident
and BeOS will spit back a list of data for each of your card sockets. If a card is found in either socket, the data reported back to the operating system by that card will be printed to the screen. The information on the "product info" line is what you're looking for. Open /boot/beos/etc/pcmcia/config and create a new block based on the existing sample blocks. For example, if you're working with a network card, you might duplicate the block
card "Lynksys EtherCard"
  version "Linksys", "Combo PCMCIA EthernetCard (EC2T)", "2.0"
  bind "ne2000_cs"
and edit it to correspond with the information reported by the cardctl command. The first line of the block can be anything you like; this is just a descriptive string. The information on the "version" line should be matched as closely as possible to the info reported by cardctl. You may want to delete any entries in this file that are clearly not related to your installed hardware (make a backup copy of the file first if you decide to do this).

Restart your machine and see if the card is usable. If this doesn't work, you may want to try trimming sections from the end of the version identifier line. For instance, the line above might become:

version "Linksys", "Combo PCMCIA EthernetCard (EC2T)"
Keep trimming until the card is recognized. If not, you're probably out of luck with that particular card. All of this should get much easier (read: unnecessary) in the next release of BeOS.
Note: Some users of PCMCIA network cards may experience misleading alert dialogs from BeOS as they boot their machines, saying that the card is now online. You may need to restart the networking services immediately after booting to make the card work, even if the card has already reported itself as working.
Tip: If you get tired of seeing the alert dialogs all the time, make a backup copy of /boot/beos/etc/pcmcia/net and/or /boot/beos/etc/pcmcia/serial. Edit the file in question and place a # symbol in front of each line containing "alert."

Video Capture

Now that polished, sophisticated video-editing applications are beginning to emerge for BeOS (see my coverage of Adamation's personalStudio at
extra.benews.com), video-capture capabilities are a necessity. R4.5 includes the first official (i.e., not third-party) video-capture capabilities -- thanks to support for the Brooktree bt848, bt878, and bt879 video chip sets common in a great number of consumer-level video-capture boards, such as those from Intel, Hauppauge, miro, Avermedia, IXMicro, US Robotics, and others. You may also want to take a look at the BeOS Video Capture HW compatibility list at Sakoman.com.

For those looking toward higher-end solutions, a third-party developer is currently working on support for the miro DC30 chip set. No release date has been set, but keep your eye on the BeOS news sites and the beusertalk mailing list for details.

Easter Egg

The key combination described in The BeOS Bible for accessing the secret "hacked" about box has changed in R4.5, but this time, I'm not going to be so cavalier about telling you how to find it. Here's a hint though: Think media. I know where it is, but I'm not telling...

credits
The secret scrolling credits.

credits.hacked
The "hacked" super-secret scrolling credits.

If you're feeling really adventurous, you can find the same data by opening the Tracker (/boot/beos/system/Tracker) in DiskProbe at block 0x776. Look just past that address and you'll find some very interesting information about supported processors as well. :)

Return to Table of Contents

Readers-Only Access
About BeOS | Online Chapters | Interviews | Updates

Please direct technical questions about this site to webmaster@peachpit.com.

Copyright © 1999 Peachpit Press and the respective authors.