BeOS Bible Update: R4.5 -- Printable Version
Introduction
- About this Document
- R4.5 in a Nutshell
About this Document
As you know, the first edition of The BeOS Bible was written for version R4 (in fact, most of it was written on R3, with R4 coverage barely making it under the print deadline). Needless to say, a great deal has happened in the BeOS world since that time. R4.5 is out, and offers a ton of improvements to the operating system. Many of the changes in the R4-to-R4.5 transition were "under the hood" and don't affect basic usage of BeOS. This means that The BeOS Bible remains remarkably up-to-date, and will continue to serve you well if you've just purchased BeOS for the first time.If you're looking for a concise summary of changes in R4.5 without usage instructions, visit Be's What's New in BeOS page. If you're interested in learning about new software for BeOS, be sure to read the BeNews Extra, which includes almost 80 pages of coverage on new BeOS applications and services. If you'd like to learn more about what applications are "on the way," take a look at BeOS Central's coverage of 1999's PC Expo.
Finally, you'll find an ever-growing database of tips and tidbits on using R4.5 at the BeOS Tip Server. Yes, the Tip Server is also run by the author of The BeOS Bible. The difference between the Bible and the Tip Server is that the Bible is far more detailed and complete. The Tip Server is more of a spontaneous, evolving resource, and much of its content is submitted by other BeOS users. While I do try to ensure some level of accuracy, I do not interview Be engineers about the Tip Server content, as I do with content that appears in The BeOS Bible. The Bible also goes into much greater detail than the Tip Server, and often offers glimpses into "the technology behind the technology." The Tip Server is a free-form community project, and has the advantage of growing daily. This book strives to represent the final word, and is updated only when the operating system itself is updated.
In addition to the information in this document, you'll find corrections to typos and minor errors in the Updates section of www.beosbible.com.
Some portions of this document assume that you have already read The BeOS Bible.
R4.5 in a Nutshell
So, what does R4.5 get you? In a nutshell, the update includes a massive revamp of the Media Kit, a bunch of new media codecs, faster boot times, a lighter memory/resource footprint, a new print transport layer, a sound recorder, an integrated media player, built-in video-capture support for some cards, improvements to the Tracker, PPP autodialing, better tools for developers, a new Team Monitor, a TV-viewing application, a Web cam utility, support for digital cameras, a three-dimensional multitrack audio mixer, preliminary support for Windows networking, a lot of new hardware support, some accelerated 3D graphics support, some USB support, some PCMCIA support, and trial versions of many new third-party applications.BeOS R4.5 is a juicy release, jam-packed with goodies designed to help make BeOS the operating system of choice for media workstations. It begins to really make good on the media promise, and leaves users with fewer reasons than ever to boot into other operating systems to get their work done.
If you're a registered user of BeOS R4 and your current address is on file with Be, you should have been sent the R4.5 update CD automatically. If you purchased any previous version of BeOS, you can upgrade to R4.5 for $25. See BeDepot for details.
-- Scot Hacker, 7/99
Many thanks to Chris Herborth for donating his time as technical editor in the final preparation of this document, and to all of the Be engineers who provided feedback and examples used herein.
Installation and Boot Options
- Installation Notes
- Boot Options
- Fail-Safe Video Mode
- Safe Mode: Enable Console Debugging
- Safe Mode: Advanced Safe Mode Options
- About the Boot Screen Icons
- Making Boot Options Permanent
- ata.sample
- atapi.sample
- awe64
- kernel.sample
- vesa.sample
- virtual memory
- Making Boot Floppies
Installation Notes
Installation instructions are basically unchanged from previous releases, except that users who previously encountered problems with unsupported hardware should now experience smoother sailing. More hardware is supported "out of the box," and bugaboos involving the interaction between certain mice and certain video chip sets have been ironed out.While you may have heard rumors floating around out there that Be recommends installing R4.5 into a fresh partition (or re-initializing an existing partition), the rumors apparently originate with users who have had specific problems with unusual machines. The official word is: Don't hesitate to install R4.5 directly over the top of R4.
The BeOS R4.5 installation CD includes the full version of the OS, not just an upgrade, so you can install it onto any machine without installing R4 first. The R4.5 CD is also fully bootable, so if you've set your machine's BIOS to boot from a CD, you won't even need the BeOS boot floppy included in the distribution. The vast majority of modern machines are capable of booting from a CD. If yours is not, or if you just don't want to mess with the BIOS, simply insert the boot floppy and the CD and restart your machine. You'll be guided through the upgrade process automatically.
Boot Options
BeOS R4.5 includes a fancy-pants graphical boot screen, replacing the text-based boot screen in R4. The Boot preferences panel is now gone in BeOS for x86; its functionality has been folded into bootman (see The BeOS Bible for information on using bootman). While The BeOS Bible states that the boot screen says "Press Spacebar for boot options," this is no longer true, even though the Spacebar will still get you to the Boot Options screen. There are also a few new options in the Boot Options menu:Fail-Safe Video Mode
If you have an unsupported video card, or if you're having trouble with your supported card for some reason, this menu lets you specify the resolution at which BeOS should boot, as long as your card allows it. Note that only VESA 2.0-compliant video cards will work with these resolutions. If your card is very old or not VESA 2.0-compliant, you won't even see this option.Safe Mode: Enable Console Debugging
Selecting this option will let you see the output of the boot process. This is the same output you would see if you were squirting console debug messages out the serial port to another machine, as described in the Troubleshooting section of The BeOS Bible. Unfortunately, this information scrolls by very quickly and will probably be of use only if the boot process hangs at a certain point; then you'll be able to write down the last messages displayed and share them with Be's technical support team.Safe Mode: Advanced Safe Mode Options
This option is generally useful only for users in contact with Be's technical support team, trying to work out a boot or driver-loading problem of some kind. Rather than choosing a menu option, this is your opportunity to pass parameters directly to the kernel.If you're an advanced user, you may be interested in learning how this scheme works internally. Be's Arve Hjønnevàg has documented the whole process in great detail in this Be Newsletter article. What that article does not provide, however, are concrete examples. Fortunately, you've got plenty of examples right there on your hard drive, in the form of text-based configuration files living under /boot/home/config/settings/kernel/drivers/samples. Read the Make Boot Options Permanent section of this document to understand your options here. Any of the options found in those files can also be passed to the kernel directly from the boot menu's Advanced Safe Mode dialog.
To pass in a parameter, type the name of the settings file (which is usually the same as the driver name), followed by a colon and the parameters. It's important to not make any typos, as erroneous parameters will be ignored.
For example, to change the disk cache size at boot time, you would pass:
kernel:disk_cache_size 1024You can get even more complex than that. The following command will disable DMA for the CD-ROM drive connected as device 0 on bus 1 (master drive on secondary bus). If the drive does not work with DMA, this will disable it. The disable IDE DMA safe-mode options will also do this, but that would also disable it for other devices that do work, whereas this lets you get more specific about which devices should have DMA disabled.atapi: deviceat 1 0 { nodma }By using the deviceat command, you can set things up to kick in only if a certain condition is satisfied. For example, by using:ata: deviceat 0 0 { forcedma } atapi: deviceat 1 0 { forcedma }DMA will be disabled only for those drives that appear at the position specified. If you know that DMA works, you can use this option to bypass this safety check. Older Western Digital drives that support UltraDMA will not report their configuration correctly. If a drive worked with DMA in a previous BeOS release, this will normally get you back to the old behavior (R3 had no safety checks, and R4 had less checks).The following command will tell the IDE drivers that the machine has two ISA IDE controllers.
ide: isa_bus_count 2This might be useful with some Toshiba laptops, which stick the CD-ROM drive on a secondary ISA IDE controller. Since R4.5 does not support PnP boot devices, this is the only way to install BeOS onto those machines. If the machine has only one ISA IDE controller (not uncommon for laptops), or only PCI IDE controllers (almost all Pentium desktop machines) there's no need to specify anything. If you have a machine with no IDE controller you should specify 0 (though it is doubtful whether such a BeOS-compatible machine even exists). Again, it's probably not wise to fool with these options unless you're in direct contact with Be's tech support department, or if you really know what you're doing.About the Boot Screen Icons
The graphical boot-up sequence in R4.5 features a row of seven icons, each of which lights up to indicate that a portion of the boot sequence has been successfully completed.
The R4.5 bootloader indicates when major portions of the boot process have been completed. For many users, the whole thing will fly by so quickly you'll never get a chance to study it.The boot process is even faster in R4.5 than it was before, so most users won't get a chance to enjoy the artwork (except for users with SCSI devices; SCSI slows down the boot process significantly). Regardless, many users are curious about the meaning of these icons.
Atom: Indicates the handoff of the bootloader to the BeOS kernel.
I/O Card: PCI initialization has been completed.
Lightning Bolt: This icon appears just before the system enables non-boot CPUs (where non-boot CPUs are defined as the additional processors in a multi-proc system).
Oscilloscope: All CPUs have now been enabled.
Disks: All boot drivers and modules have been initialized.
Magnifying Glass: The boot volume has been mounted.
BeBox: The system BootScript is being read into memory and its contents executed.
Make Boot Options Permanent
Note: This tip is recommended for advanced users only. You shouldn't use any of these options unless you already know what they mean and have some idea what their impact might be.As described above, the R4.5 Boot Options menu makes it even easier to boot BeOS on funky hardware or in unique situations. If it turns out that you need to invoke one of these options every time you boot (which is rare), you can make these options permanent. In fact, using the techniques outlined below, you can enable a number of features that don't appear in the Boot Options menu.Use the Tracker to browse through /boot/home/config/settings/kernel/drivers/sample and you'll find the following files:
ata.sample atapi.sample awe64 kernel.sample vesa.sampleOpen any of these files in a text editor, and you'll find analogs to the parameters offered in the Boot Options menu, and then some. Most of them are relatively self-explanatory, and the files are well commented, so you should be able to determine what most of them do just by poking around. If you want to activate an option in one these files, copy the file to /boot/home/config/settings/kernel/drivers (i.e., copy the file one directory up), rename the file without the .sample extension, and uncomment (remove the "#" from) any lines you want to activate.Warning: Don't change parameters in these files "just to see what will happen." While many of the options are innocuous, some of them can have serious consequences. Change only the options you understand, or those you've been instructed to modify by Be technical support staff. If you get yourself into a jam, use the Emergency Boot Procedure outlined in The BeOS Bible to boot from CD and re-comment any lines you've enabled, or remove the file entirely.ata.sample
This file can be used to force DMA (direct memory access) on or off for specific physical hard drives in your system. This can be useful with certain configurations in which DMA confuses the boot process. In addition, some ATAPI CD-ROM burners won't work with DMA turned on.Whereas the DMA options in the Boot Options menu only let you turn DMA on or off for all drives attached to your system, using this file lets you be more specific. Drives can be identified in a number of ways: by serial number, by identifier string, by bus number, by device address, or by firmware string. Drive identification happens in the
match { }block. Once identified, you can use theuse { }block to tell that drive to use (forcedma) or not to use (nodma) DMA. For example, a file that looks like this:matchdevices { match { # model number (usually displayed by BIOS during boot) model "WDC AC36400L" } use { nodma } }will force DMA off for the drive identifying itself as "WDC AC36400L." If you need help determining the identifying strings for your drives, use the ideinfo tool in /optional/experimental/diagnostics.
atapi.sample
This file functions identically to ata.sample, but its effects apply only to ATAPI CD-ROM devices.awe64
If you have an AWE64 sound card but can't seem to get any sound out of it, the card may be set to a nonstandard IRQ or DMA address. While the default settings work in the vast majority of situations, some users will have to specify these addresses. Edit this file with the correct address, move it up a directory, and restart your machine.In case you're wondering why these settings aren't simply established from the Devices preferences panel, keep in mind that the Devices panel is for configuring PCI and Plug and Play devices only, while this file is for a hard-wired ISA, non-PnP card. The Devices panel lets you configure the Plug and Play system so that hard-wired cards won't get knocked out by the Configuration Manager. Remember also that the Devices panel is unlike Windows' Device Manager in that it does not associate drivers with specific hardware; it merely reserves resources for particular types of hardware. The AWE64 is ISA-based and is not PnP, so it cannot be configured from the Devices panel, even though it requires that the OS know about its resources. Be could have written a graphical control panel for cards like the AWE64, but there wasn't time to do so before R4.5 had to ship to the CD duplication plant.
Note: If you're using a non-PnP AWE32 card, you may be able to get sound working as well, by using the SoundBlaster16 compatibility mode. Download the third-party SoundBlaster16 driver from BeWare and follow its installation instructions. Create a text file in /boot/home/config/settings called sb16_settings including your card's settings. For example, yours might simply read:A220 I5 D1 H7 P330Follow the instructions above for the AWE64 file, keeping the AWE64 file name. Reboot your machine and open the Media preferences panel. You should see two audio devices: sb16 and awe64. Choose awe64, and you should have working sound. If you need to record with this card, you'll need to enable "Real-Time Audio." Note that this technique is not supported by Be. BeOS does not officially support the SB16, for performance reasons.
kernel.sample
Several of the options in kernel.sample mirror the choices shown in the Boot Options menu.This file will also let you enable Advanced Power Management (APM) for some motherboards, as well as software power-down (i.e., when you select Shutdown from the Be menu, your machine will physically turn itself off). However: These options work only with certain BIOSes, and even then, only with certain revisions of those BIOSes. With some motherboards, enabling these options may render the machine unbootable from hard disk. If this happens to you, use the Emergency Boot Procedure outlined in The BeOS Bible to boot from CD and re-comment any lines you've enabled, or remove the file entirely. You may also want to visit your motherboard manufacturer's Web site and obtain the latest BIOS update, then try the APM options in BeOS again.
Finally, this file will let you specify nonstandard ports (e.g., to use COM ports rather than serial ports) for boot-time debugging, or have all debug output written to the system's syslog.
vesa.sample
As with the Boot Options menu, editing this file will let you select a permanent video mode for unsupported graphics chip sets. Its only options are:mode width height depthso you might want to edit this file to read:mode 800 600 16Note: It's important that there be no extra white space in this file. Make sure you haven't left spaces at the end of the line, and that you don't insert any new, blank lines into the file. If you can't get the vesa file to do its thing, double-check for extra white space.virtual memory
You can use the virtual_memory file to establish a smaller or larger swap file than the GUI Virtual Memory preferences panel will allow. Note that setting your swap file to a lower size than recommended will probably impact performance and is not recommended.Making Boot Floppies
As always, it's a good idea to make a backup copy of your BeOS boot floppy, in case you ever need to get yourself out of a jam. Doing so is much easier in R4.5 than it was in previous versions of the OS. Just insert a floppy, open a Terminal window, and type:makebootfloppy -cdThis will create a boot floppy capable of booting either from your hard disk or from the BeOS CD. If you leave off the -cd flag, the floppy will be created much more quickly, but will only be capable of booting from your hard disk. If you want to create a floppy that boots only from a specific partition, use the -base flag, e.g.:makebootfloppy -base /gorgonzolaThis floppy will attempt to boot from your /gorgonzola partition, even if it's not your main boot partition. You can also use the -preserve option to leave a copy of the boot image in /tmp (this is valid only when used with the -cd flag).If you want to write a boot image to some sort of removable media, such as a Zip or LS-120 drive, use the undocumented -image flag. For example:
makebootfloppy -cd -image /dev/disk/ide/atapi/0/slave/0/rawAlternatively, if you want to create an image from an existing floppy rather than from the boot image on your hard drive, you can simply use:cat /dev/disk/floppy/raw > image.imgand then write image.img to a new floppy with:cat image.img > /dev/disk/floppy/rawThis is a good way to get around having to remember all of the dd commands described in The BeOS Bible.If you need to make the floppy from within Windows, insert the BeOS CD and a floppy and navigate to Win95/BeOS on the CD. Click Make.bat and sit back.
New and Updated Applications
- Application Notes
- Camera
- CDPlayer
- CodyCam
- Deskbar
- MediaPlayer
- Selecting Media Lengths
- Command-Line Options
- SoftwareValet
- SoundRecorder
- Team Monitor
- TV
- Zip-o-Matic
Application Notes
The bulk of the new applications distributed with R4.5 are (big surprise) media-oriented. Most of them are quite intuitive to use and need little documentation -- which is good, since they don't come with any. Here are some notes and tips on using applications included with BeOS that are not covered in the print edition of The BeOS Bible.Camera
Everybody and his brother is picking up one of those newfangled digital cameras these days, which is no surprise, considering their high convenience factor and ever-increasing quality (though we're still a long way off from getting high-quality photos for anything less than several thousand dollars). While the software that comes with these cameras generally runs only under Microsoft Windows or Apple's Mac OS, BeOS includes a utility that will let you extract your digital images to your hard drive, assuming you have one of these models:Nikon Coolpix 900
Olympus D320-L
Olympus D340-L
Olympus Camedia C-400
Olympus Camedia C-340-L, C-840-L
Polaroid PDC640
More models will almost certainly be supported in the future. Usage is pretty straightforward. Jack your camera into a spare serial port, launch Camera, and select the appropriate port and port speed (usually 115K baud). If you prefer (or don't know), click Autoprobe and Camera will try to determine the best settings for you. When ready, click Connect and Camera will read images stored in the camera's memory into the Pictures preview window. You'll probably want to resize or maximize the panel so you can see the thumbnails clearly.
Select the images you want to save (or click Select All) and click Save. Select a folder on your BeOS system for image storage, and down they come. Alternatively, you can drag images directly from the preview window into the Tracker. You can, of course, click Delete to remove images from the camera's memory without saving them first.
Because images are stored internally in JPEG format in most digital cameras, the images will be stored as JPEG images on your system as well. Hopefully a future version of Camera will be capable of using the Translation kit to let you save out your images in any format for which a Translator is installed.
CDPlayer
If you have more than one CD-ROM drive in your machine (maybe one of them is a CD-R device), try right-clicking in CDPlayer's interface to select between them. You can even launch a new instance of the player from here, so now you can have CDs playing in both drives.CodyCam
If you've been following BeOS online, you've no doubt run into the inimitable CodyCam once or twice. But rather than a simple Web page trained on the secret inner workings of Be, Inc., CodyCam is now an app included with every copy of BeOS. That means you can set up your own Web cam and broadcast a picture of the inside of your office, workstation, dining room, coffeemaker, or the view from your apartment's rooftop every few seconds. Now how cool is that?As with the TV app, CodyCam can work with any video signal coming through a supported video-capture card, such as the ever-popular Brooktree bt848, bt878, and 879 series chip sets (commonly found on the Hauppauge WinTV and other popular cards). This means that, unfortunately, the current implementation of CodyCam will not work with the cheapo "tennis ball" cameras that connect to a USB or parallel port. Instead, you'll need to hoover your video signal from a standard video camera, VCR, or television output and into the input jack on your capture card.
Note to high-end users: At this writing, we have word that an independent developer is working on a driver for the excellent miro DC30 video-capture board. No release date has been set, but stay tuned to BeWare and the usual BeOS news sources for details.Once you've got that ironed out, usage is pretty straightforward. Juggle the Video preferences panel to pick up the signal from the correct input channel, then establish a filename, output format for captured images, and time interval. Finally, enter the address, username, password, and path to a directory on an FTP server somewhere.Tip: If you set up FTP services in the BeOS Network preferences panel, you can send the captured images to your own machine (though it would be nice if CodyCam would just let us save files directly to disk rather than requiring that they be sent to an FTP server).I tested CodyCam at the recent BeOS Bible release party, and it worked flawlessly. Unfortunately, the 16-year-old cameraman I handed the camera to didn't succeed in capturing much of anything besides blurry shots of the undersides of beer cups. However, he did manage to grab a few good shots of my father and I eating Twinkie Dogs in support of the Be cause. You can view a screenshot of the event here.The biggest problem with the current version of CodyCam is that it provides no mechanism for saving previous images -- it would be nice if it could add timestamps to the filenames so that each new image wouldn't overwrite the existing one. But not to worry -- that's what shell scripts are for. I wrote the following script for those cases in which you want to store a whole directory of image grabs, all unique. Help yourself, and season to taste (usage of the shell is covered in Chapter 6, and scripting is covered by Chris Herborth in an online-only chapter here at beosbible.com).
#!/bin/sh # Simple script to move codycam.jpg to a timestamped, # unique filename every few seconds. Save this script as # /boot/home/config/bin/imagekeeper, then run imagekeeper # in the background while CodyCam is running. # Specify the directory where codycam output is dumped BaseDir=/boot/home/public_html/codycam # Create a function to do all the work rotate() { datestamp=$(date +%s) echo $datestamp mv $BaseDir/codycam.jpg $BaseDir/$datestamp.jpg # Next two lines are important if you're serving your # files from a BeOS web server that cares about proper # MIME types and permissions. chmod 644 $BaseDir/$datestamp.jpg settype -t image/jpeg $BaseDir/$datestamp.jpg } # Set up an endless loop while : # Call the function above do rotate # Adjust sleep length to equal the codycam capture interval sleep 15 doneDeskbar
While the only visible change to the Deskbar in R4.5 is Be's new corporate mark (logo), some of the Deskbar code has been rewritten "behind the scenes," making it easier for developers to take advantage of the Deskbar's Replicant shelf (a.k.a. "status view"). This means you may encounter an increasing number of applications that install small tools or interfaces into the shelf for convenience.As an end user, you also get a certain amount of additional control over what gets placed in the Deskbar, thanks to a new utility Be engineer Jon Wätte threw into the system at the last minute, called "desklink." It's simple to use:
desklink /boot/beos/apps/NetPositivewill put a small NetPositive Replicant into the Deskbar's status view. To remove it, use:desklink remove=/boot/beos/apps/NetPositiveOf course, you can substitute the path to any application on your system. But it gets even cooler than that, because you can also pass in arguments to tell the Replicant exactly what to do when right-clicked. For example:desklink "cmd=Open TipServer:/boot/beos/apps/NetPositive http://www.betips.net/ &" /boot/beos/apps/NetPositiveNow a left-click will launch a fresh NetPositive window, while a right-click will give you a context menu asking whether you want to "Open NetPositive" or "Open TipServer." Cool, huh? Remember to include that ampersand; if you leave it out, the Deskbar might become temporarily unresponsive. The desklink command doesn't have to point to applications, either -- it can point to any file or folder on your system. Now all you have to do is add a few desklink commands to your UserBootScript to automatically populate the Deskbar with custom Replicants at boot time.If you prefer to do this graphically, download Wätte's HotLink utility from BeWare, but remember that you can't use the graphical version to automate the creation of Replicants at boot time.
MediaPlayer
Long missing from this media-optimized operating system has been a simple media player: a default application for handling audio and video files. R4.5's MediaPlayer is capable of handling any movie or audio file for which a codec is installed (see "Under the Hood" for details on codecs). MediaPlayer also takes over NetPositive's old job of handling movie file playback.
MediaPlayer is capable of handling any audio or video file for which a codec is installed.While MediaPlayer is associated with all audio and video files by default on a fresh BeOS installation, you can choose to associate other applications with media files using the FileTypes preferences panel (Chapter 10).
Aside from the VCR-style controls, MediaPlayer has a few less obvious tricks up its sleeve. Use the small vertical "knob" at MediaPlayer's right to display additional controls, including a volume slider and an application menu bar. Set your media to repeat itself endlessly by selecting Settings | Loop. If you don't want media files to start playing immediately upon download or launch, use the Settings | Preferences panel to disable this option. You can also use this panel to establish defaults for media looping and volumes. Use the View menu to snap quickly between various movie magnifications (hotkeys are provided for common magnifications). Get details on the codec currently in use and other file details from the File | Info panel.
Tip: If you want to find out whether Be has released additional codecs since you installed the OS, pull down File | Download New Media Add-Ons. This will take you to a special page at be.com. If any new codecs have become available, you'll be able to upgrade your system on the fly.Selecting Media Lengths
If you want to play just a portion of an audio or video file, look for the semicircular draggers at the left and right of the progress indicator. Slide them left and right to delimit playback to just that area. This UI convention is now standard in several BeOS media applications (see also SoundRecorder).
Drag the semicircular draggers left and right to play back only a portion of any movie or audio file.Note: Now that MediaPlayer handles all audio files by default, the puny little PlaySound application has been removed from the operating system. Good riddance.Command-Line Options
If you launch the MediaPlayer from a Terminal with the --help option, you'll discover that you can control a whole bunch of parameters from the command line. You can specify the volume of the audio, the three different display modes, whether or not to loop, etc. The parameters passed from the command line will override any attributes stored in the movie or sound file by MediaPlayer the last time the file was played.Note that you can even specify the location in the file from which to start playing -- something you can't control when launching a movie or sound by double-clicking in the Tracker. For example, the following command will cause Animation1 to be launched full-screen and to loop endlessly through the first one second of video:
MediaPlayer -loop on -inpoint 0 -outpoint 1000000 -full Animation1These options can come in especially handy for creating self-running demo scripts!SoftwareValet
From the end user's perspective, SoftwareValet appears almost exactly as it did in R4. However, the Be team has put a significant amount of effort into beefing up the SoftwareValet system, and is (at this writing) revamping the BeDepot Web-based back end as well.BeOS R4.5 uses a new version of the SoftwareValet .pkg format, which is incompatible with the version of SoftwareValet in R4. If you try to open a package file created under R4.5 with BeOS R4, you'll get nothing but a cryptic error message. Starting with the current version of SoftwareValet, forward-compatibility will be handled more elegantly, i.e., if another version of the package format is released and you try to open a package created on a version of the OS that's newer than the one you're running, you'll get a more useful/informative error message. Note that the version of SoftwareValet shipped with R4.5 is compatible with older package files.
The only behavioral difference you'll notice in the new version of SoftwareValet is that the large button bar isn't launched automatically every time you open a package file. Internally, there are many changes that will let developers create smoother install routines.
In addition, the "Manage" section of SoftwareValet, designed to let you keep track of installations and check for upgrades to your existing software, has been revamped internally. While this revamp will provide much more reliability and functionality in the future, for now, it means that the new SoftwareValet is incompatible with your old package database. Packages you installed under R4 may not be visible in the R4.5 version of SoftwareValet.
SoundRecorder
Playback is all well and good, but when you're feeling creative (and that's what BeOS is all about, right?), you need to be able to record your own tracks. SoundRecorder is a simple (but surprisingly capable) tool that does just what it sounds like it does -- grabs audio from any stream moving through the system, lets you make simple edits, and saves the result to disk for posterity or further processing. You can save files in any format for which a codec is installed.
SoundRecorder lets you record, play back, and perform simple edits on common audio file formats. Multiple source files can be handled simultaneously. Also noteworthy is the unique, animated visualization technique SoundRecorder uses to display signal levels.It's easy to use the VCR-style controls to play back and record audio, but you'll need to specify which of the system's multiple concurrent audio streams you want to record. This is not done through SoundRecorder's interface, but from the Source picklist on the Audio Input tab of the Media preferences panel. If you find yourself recording nothing but silence, check your preferences. If you want to record all audio signals running through the system rather than just a single stream, set the Audio Input picklist to "Speaker Out." Similarly, if you find that your source signal is too weak or too strong, use the Media preferences panel to adjust your levels.
Tip: If you check the "Show Volume Control on Deskbar" box at the bottom of the Audio Settings tab, you'll get a Media Replicant in the Deskbar that lets you control overall volume with a left-click, or access your Media preferences with a right-click.You can also use SoundRecorder to tweak existing audio files. Click the Open knob at the lower right to display an info panel, and drag your audio clips into the file panel. Full details on that file are displayed to the left.If you want to edit the current track, note that you can't select a portion of the signal display, as you might with other audio tools. Instead, look for the semicircular endpieces at the left and right of the green progress indicator. Drag these left and right to trim the beginning or end of your track. Once you've got it dialed in perfectly, drag the signal display into the Tracker or onto the Desktop to create a new file consisting of the selected area.
Tip: Just as with ShowImage, format translation can be accomplished "on the fly" -- just hold down the left Ctrl key as you drag your selection to the Desktop or Tracker.While it won't blow minds, the presence of SoundRecorder in R4.5 shows that Be isn't just blowing smoke with its media claims -- the system really is equipped to do more with media "out of the box" than are other operating systems. And it's done with style: The signal display fades into existence when an audio track is loaded, like a starship coming out of warp. Way hip.Team Monitor
You won't find Team Monitor in the Applications folder, because it isn't an application in the normal sense of the word. Rather, Team Monitor is a means of controlling your runaway threads, or more accurately, entire teams of threads. If an application -- either graphical or console-based -- gets out of control and you need to put it out of its misery, Team Monitor makes it easy.While there have always been third-party applications that let you do this, and do it with more precision, it's great to have access to team-killing facilities built into the OS itself (and for you old timers, the Vulcan Death Grip still works).
Hit Ctrl-Alt-Del to see a list of all currently running teams. Click the Kill button to put a misbehaving application out of its misery.Hit Ctrl-Alt-Del once, and all running teams will be listed. Application teams are listed in black, BeOS system teams are listed in blue, and misbehaving teams are listed in red. Select any team and click Kill to put a mischievous team out of its misery. Note that this tool only lets you kill entire teams, not individual threads. If you need that level of control, you might prefer a utility like Process Controller.
WARNING: Hitting Ctrl-Alt-Del more than once will invoke a hardware reset.
TV
Got BeOS installed at work? Then you'll love the ability to loaf off and watch TV in another workspace while the boss isn't looking. The TV application works with any supported TV tuner card, notably those containing the popular Brooktree bt848, bt878, and bt879 chip sets. The author has had good success with a standard Hauppauge WinTV board, available for less than $100.Launching the TV app also launches the TV control panel, from which you can change channels; select the video input method; adjust brightness, saturation, contrast, and hue; establish a default size for the viewing window; and make other selections similar to those in the Media preferences panel. Note that you're not limited to viewing broadcast television stations; TV will let you view any incoming video signal, including that pouring out of camcorders, VCRs, and possibly other sources. If it plugs into the back of your TV card, the TV app will pick it up (though you may need to juggle some controls).
Depending on your area, you'll probably need to hook up an antenna to the jack on the back of your TV/capture card. Of course, you'll probably want sound to accompany your video. But sound from video-capture cards isn't delivered through the normal system bus, as it is with a sound card. Instead, you'll need to patch the audio-out jack on your TV card to the line-in jack on your sound card, then make the appropriate selection in the control panel.
Tip: Interestingly enough, the TV window will scale in real time as you resize its window, meaning you can severely distort the default viewing proportions. While interesting to play with, this is probably not how you want to see TV. To restore TV's proportions to something more reasonable, adjust the Default Image Size on the Options tab of the control panel, then close and restart the TV app.Zip-o-Matic
Zip-o-Matic is both an application and a Tracker add-on. Living in /boot/beos/system/add-ons/Tracker, it appears on the Tracker's context menu and makes it a piece of cake to zip a file, a collection of files, or an entire directory structure. Right-click a file or folder, choose Zip-o-Matic, and a new zip file will appear at the same directory level. Astute readers will have noticed that the presence of Zip-o-Matic implies the assumed presence of zip itself. You win a cigar; users no longer have to download zip separately, as it's already present in /bin. However, the version of zip distributed with R4.5 is an old beta, since zip 2.3 hasn't yet been officially released yet. You might want to check http://www.cdrom.com/pub/infozip/ for updates, as that's where the "real" zip 2.3 will be once it's released. The same notes apply for unzip updates.
Right-click any file or folder and choose Zip-o-Matic (or tap Ctrl-Alt-Z) to compress the heck out of it, preserving any folder hierarchies within.Tip: Rather than using Zip-o-Matic as an add-on, try launching it like a normal app. Its window will hover, waiting for you to drop your payload into its interface.
New Demo Apps
- Notes on the New Demo Apps
- 3dsound
- Linear Mode
- 3D Mode
- Saving Your Compositions
- Stars
Notes on the New Demo Apps
The big news in the Demos department is the addition of 3dsound, also known in some circles as "Benoit's Mix," after longtime Be engineer and wizard Benoit Schillings.3dsound
If you've seen public Be demos before, there's no question you've seen 3dsound in action. Up until recently, the music heard in 3dsound demonstrations was hard-wired into the application, making it nearly impossible to distribute the application to users. With R4.5, all of that changes. 3dsound is now a full-fledged, free-standing multitrack audio mixer ... with a very cool twist. Rather than the usual linear interface found in multitrack mixing software, 3dsound offers two separate interfaces for the mixing process: one linear and one spatial.Through the linear interface, which you'll see upon launching 3dsound, you control the placement of audio tracks, loops, break beats, and other audio signals in time. But pull down the Display menu and select "Show / Hide Mixer" (or tap Alt-T) and you'll see each of your tracks represented as a column sitting atop a grid hovering in 3D space. Dragging tracks from side to side causes them to move through space from your left speaker to the right, and vice versa. Dragging them backward and forward affects their volume relative to other tracks in the same space. Thus, users have total control over each track's position in both time and space, via two complementary interfaces.
Note: As you work with 3dsound, note the smoothness of both your linear and spatial edits, even with large numbers of simultaneous tracks. Note also that effects applied to sound elements are reflected in the main edit window in real time.
In its linear mode, 3dsound lets you manipulate 16 or more tracks of audio in a standard timeline framework. You can double-click any sound element for further editing. Click thumbnail for full-size view.Complete instructions on using 3dsound are included in HTML format in the 3dsound folder, but here are some quick guidelines:
Linear Mode
- Drag any .WAV or .AIFF file onto the 3dsound timeline to add a new track. Additional sound files can either be dragged onto that track or onto a new one.
- Drag out a selection in the timeline at the top of the window to specify which section of your timeline is being played.
- Click in the blue label to the left of each track to give it a memorable name.
- Click and hold on any sound element to view timing details for that element.
- Double-click any sound element to access an editor for that sound. Note that any changes you make in the editor window are applied in the mixer window in real time.
- Use the M and S buttons to mute or solo any track.
- Drag the beveled edges at the left or right of any element to shorten or lengthen it.
- Drag the triangle at the right edge of any element to control the number of times that element loops within its time frame.
- Drag the triangle at the left edge of any element up or down to shorten or heighten the view of that track. Shift-drag to affect the height of all tracks simultaneously.
- Use the Timescale slider at the lower left of the window to adjust the "zoom" factor.
3D Mode
- Tap Alt-T to view your mix in 3D mode.
- Drag the grid left and right or up and down to change your view. Tap D to set the grid rotating in free motion.
- Drag tracks around to affect their spatial location and/or volume. Note the smoothness and the real-time effects your changes have on audio output.
- Tap Alt-P to cause your tracks to "sparkle" in time to the music.
- Press + and - on your numeric keypad to zoom in and out.
Saving Your Compositions
Completed mixes can be saved as multitrack projects for further editing, or exported as .WAV files for distribution. It's worth noting that audio professionals commonly pay hundreds of dollars for applications that do a fraction of what 3dsound does. In contrast, BeOS costs $69, including 3dsound.Tip: Be sure to check out 3dsound's About box. Click and drag your mouse around in the About box for some unusual audio/video effects. Displays like this one are made possible by a combination of the BDirectWindow API and the pervasive multithreading model in BeOS.
In 3dsound's 3D mode, individual tracks can be manipulated in space. Drag tracks left and right to control placement, back and forth to control volume. Click thumbnail for full-size view.3dsound really gets interesting after you've built up a good collection of sample sounds. Here are a bunch of sites loaded with downloadable samples, breakbeats, and loops:
Stars
The Stars application is a simple demonstration of Be's BDirectWindow technology, described at various points in The BeOS Bible. Try launching the Pulse application and observe how much CPU is consumed by the Stars display. Drag the Stars window around or resize it as quickly as you can, noting the smoothness with which it moves and the intelligent clipping as it rolls over other windows. If you're demonstrating BeOS for others, be sure and keep a Stars window open in the background somewhere. Great visual effect, virtually no impact on system performance; buttery smooth video output, almost zero system resources consumed.Stars was first shown at the Be Developer's Conference '98, when BDirectWindow was first unveiled.
New and Updated Preferences
- Notes on New and Updated Preferences
- Devices
- Dial-Up Networking
- Dial-On Demand
- Adding Custom Modem Initialization Strings
- From Location
- Media
- Real-Time Audio
- Real-Time Video
- Mouse
- Printers
- Screen Saver
Notes on New and Updated Preferences
BeOS R4.5 supports more hardware, makes it easier to get online, and offers more choices for power users. Many of these changes manifest themselves in the collection of Preferences panels preinstalled on your system.Devices
As before, the Devices preferences panel can be used to reserve hardware resources for devices that, for one reason or another, can't be automatically configured by the operating system at boot time (see The BeOS Bible for full details). The most common use of the Devices panel is to allocate an IRQ for certain modems; in fact, you'll find a new menu entry devoted just to modems which lets you easily establish resources on serial port 3 or 4. After using this panel, jump down to the entry you've just created and take a look at the bottom of the panel. If you see a warning about IRQ conflicts, check to make sure the IRQ referenced is the same as the IRQ to which you've jumpered your modem. Remember: You may have to disable a COM port on your motherboard to make sure it isn't stealing the resources you need for the modem! Detailed instructions on modem configuration can be found in The BeOS Bible. You may also want to see this Web page devoted to the topic.In R4.5, the Devices panel is much more functional than in R4. For starters, you can now view a list of all resources in use by pulling down Devices | Resource Usage. And whereas you were able to change resources only for a few select devices in R4, in R4.5 you can alter IRQs, DMAs, I/O ranges, and memory ranges for virtually any device in your system.
The Devices preferences panel in R4.5 is much more functional than in R4. Specifically, it lets you alter resources for any installed hardware, and lets you see at a glance the list of all resources currently in use. Click thumbnail for full-size view.Warning: The same warning applies as before: If it ain't broke, don't fix it. Use the Devices preferences panel only if you have supported hardware with an installed driver that still isn't working for some reason. Tweaking resources for working hardware "just to see what happens" can get you into a jam quickly.Dial-Up Networking
Dial-up services in R4.5 gain a couple of new goodies.Dial-on-Demand
Perhaps most importantly, dial-on-demand services have returned, which means you don't have to initiate a connection manually before attempting to check your mail or a Web page. To enable dial-on-demand, look for the Autodial checkbox in the DUN preferences panel. If this is not checked, you'll still have to initiate connections manually. If you have more than one POP entered and choose among them from the DUN Replicant in the Deskbar, the POP you've selected as the default will be the one the system dials when you click a URL, send out a ping, or check your mail.
Check the Autodial checkbox in the DUN preferences panel to enable auto-dial features for your modem.Adding Custom Modem Initialization Strings
In BeOS R4 and prior, adding a custom initialization string entailed editing /boot/beos/etc/modems.ppp. Since this is a system-level file, having to do so was technically a bug in the operating system, since users should never have to touch system-level files. In R4.5, this situation is rectified with the addition of a new dialog to the DUN panel.If your modem doesn't appear in the DUN modems picklist, click the Custom button and give your modem a name (the manufacturer and model would be a good choice). From here, there are two ways to proceed. If you already know your modem's initialization string (e.g., you've got the modem's documentation or you've found the manufacturer's Web site), you can simply type or paste it into the dialog and click OK. You may want to search through the massive database of init strings at http://www.modemhelp.org/.
R4.5 includes a new Custom Modem panel that will let you add a modem init string to your system without editing modems.ppp.If you can't find the init string for you modem, you can try and build a string from scratch. Some of the most basic modem commands are accessible from the new AT commands picklist, and Be provides advanced documentation that you can access by clicking the AT Commands... button.
Note: New modems are not added to the modems.ppp file, but are stored in configuration files living in the ~/config/settings/DUN hierarchy.From Location
Finally, R4.5 adds a "location" selector similar to that found in other popular operating systems. This addition is primarily to support laptop users, who may find themselves dialing out from multiple locations (such as work, home, and from wireless modems).The Location picklist functions just like the Connect to picklist, and lets you select from among built-in options or build custom connectors. For each location selected, you can enable call waiting and dial-out prefixes, and you can select dial prefixes for each independently.
Tip: If you later migrate from PPP to a cable, DSL, or other fixed network connectivity solution, you may want to remove the DUN Replicant from the Deskbar. To do this, just remove all listed connections from the DUN panel and restart the Deskbar (or restart your machine).Media
In R4.5, the Audio and Video preferences panels have vanished and are replaced by the new, unified Media preferences panel.
All audio and video preferences are now configured through a unified Media preferences panel, rather than through separate audio and video panels. Click thumbnail for full-size view.In essence, not much has changed here functionally; you've just got a nicer, more logically integrated control point. There are, however, a few noteworthy differences.
Real-Time Video
When you select the main Video or Audio Settings option in the left side of the panel, you'll find a box from which you can select "Enable real-time video." Check this box and click the Restart Media Services button to get the absolute maximum video performance, with the absolute lowest possible latencies. This is achieved by buffering larger amounts of video data into system RAM. As you might expect, this is RAM that might otherwise be used for other tasks, so this option is really only for hardcore video fans (errr.... that didn't come out quite right, but you know what I mean).Real-Time Audio
It's exactly the same as the real-time setting for video, decribed above. Again, use this option only if your audio needs are very intense and you don't need to use your machine for general computing tasks at the same time. For example, you may want to devote a BeOS machine to 64-track mixing of real-time incoming audio signal as your band lays down tracks for its next album. You should probably not check this box if you just want to hear the sound effects in Quake better. It won't make any difference, and you'll probably get worse overall Quake performance, because game programmers will have already optimised their games; you'll be second-guessing something they've already improved via intensive testing.Tech note: When real-time audio or video is enabled, any media add-on that deals with audio processing has its buffers "locked" and thus guaranteed not to be swapped out to disk. Audio buffer size is also reduced, depending on the speed of the hardware. For example, with a PCI sound card on a 500-MHz PIII, the buffer size will be around 3 milliseconds. For slower machines or ISA cards, it will be higher. Without this option enabled, audio buffer sizes (and therefore latency) will be fixed at around 24 milliseconds. BeOS also locks the libmedia binary into memory when real-time media is enabled. Note that latency will be larger than buffer size by a specific factor because of the way audio is processed (i.e., it's double-buffered). In any case, thanks to the real-time options, audio and video signals can flow freely through the system even if the machine is heavily taxed, and even if it's currently thrashing virtual memory.You should enable real-time audio or video services if you have a limited amount of memory in your system and are noticing less-than-perfect playback or recording. Users of low-grade sound and video cards may also benefit by enabling these options, as will audio and video professionals in almost all situations. Remember that enabling real-time audio and video will take away from the total amount of memory available to your other applications, possibly causing them to page memory out to disk sooner than they otherwise might. If you're not experiencing any audio or video glitching, there's no need to select this option.Tip: If you select the "Show volume control in Deskbar" option, a Media Replicant will appear in the Deskbar shelf alongside your other Replicants. You can use this in several ways. Left-click, and a volume slider will appear, letting you control the master volume for the line-out jack on your sound card, without having to launch the Media preferences panel first (and a damn handsome slider it is, too). Right-click the Replicant, and you'll get a context menu which lets launch MediaPlayer or the Media or Sounds preferences panels.Mouse
The Mouse preferences panel has grown a couple of new options under the "Focus follows mouse" picklist. "Focus follows mouse" is described in The BeOS Bible, but "Warping" and "Instant Warping" are new. Enable either of the warping options, and you probably won't notice a difference right off the bat. But open a bunch of applications and use the Twitcher (described in The BeOS Bible) to toggle among them, and you'll see what warping is all about.When you switch to a new application from the keyboard, the mouse cursor will move itself into position over the newly selected app or window. With normal warping selected, the cursor will "glide" into position. With Instant Warping selected, the cursor will snap into position. Another great way to see the effect of warping is to minimize a window and then restore it from the Deskbar. The mouse cursor will glide from the Deskbar to the restored window.
Printers
While the Printer preferences panel itself has not changed in R4.5, some of the capabilities in the print layer have. The entire class of Epson Stylus printers is now supported, and you can print to printers attached to serial and USB ports. You'll find these options in the Add Local Printer and Add Network Printer panels.In addition, you can now print to network printers via Windows networking (CIFS/SMB). CIFS is described in detail in the Experimental section of this site.
Screen Saver
Screen Saver is basically identical to the version described in The BeOS Bible, but now it has two new options on the Fade tab: "Turn off screen" and "Password lock." These should be pretty self-explanatory, and they function just as they do in other operating systems.Note, however, that certain of the BeOS video drivers (specifically, the Riva128 driver) do not support DPMS, and thus cannot power down your monitor as they should. Be is looking into the hardware issues surrounding this. According to one of Be's graphics engineers, "activating a DPMS power saving mode can cause the video memory refresh to stop, causing the display image to slowly fade away as the video RAM loses its contents." If this option does not work with your video card, you might want to simply choose the "Blackness" saver module instead and look for an update in a future version of the operating system.
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: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:
- MPEG
- QuickTime
- AVI
- WAV
- AIFF
- AU
Video:
Audio
- MPEG-1
- Indeo 5
- Cinepak
- PJPEG
- MSVideo (CRAM)
- MS-RLE
- Apple Video (RPZA)
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.
- ulaw
- IMA4
- MS-ADPCM
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 serialconfig 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:cardctlThis 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. Typecardctl identand 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 blockcard "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...
The secret scrolling credits.
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. :)
Experimental Stuff
- Notes on Experimental Stuff
- Diagnostics
- Drivers and Glide Support
- Network
- Rio
- Disk Striping
- Video CD
- VideoRecorder
- Windows Networking (WON)
- Mounting Shared Volumes Individually
- Accessing Your BeOS Machine from the Network
- Removing WON
- Zip Disk
Notes
Following in its grand tradition of giving users more than what they bargained for, Be has once again included a ton of goodies in the OS that are not part of the "official" release. You'll find all of these items in the /optional/experimental folder if you elected to install optional items (if you didn't, you can simply drag these items off the CD's /_packages_/extra/optional/experimental directory and into the Tracker).It's important to understand that when Be calls something "experimental," it means the company thinks it's good enough or interesting enough that many people will want to test or use it. However, it also means that the product is not in its final state, or hasn't been thoroughly tested. Therefore, if you get into trouble when messing with experimental stuff, Be will not answer your cries for help. You're on your own.
That said, a lot of these goodies are real gems, and thousands of people are using them on a daily basis with good results. In almost all cases, items labeled "experimental" in this release will be integrated into the OS itself in a later release--more polished and with a pretty interface. Because these items are in a state of development, most of them require more technical know-how or bravado than the components of the official release. Expect to see some fairly arcane stuff in this section.
Diagnostics
If you need to gather information on the status of your IDE chain, a couple of new tools called ideinfo and idestatus will tell you probably more than you ever wanted to know. Move these to ~/config/bin and run them in combination with the full path to a raw device. For example, on my machineidestatus /dev/disk/ide/ata/0/master/0/rawtells me that DMA (direct memory access) is enabled, along with some additional data for tech weenies. This is a useful way to determine whether you're getting the maximum performance from your DMA-capable IDE drives (remember, DMA can be toggled on and off in the boot options). For more details on your IDE devices, try the ideinfo command instead. This will help you determine the manufacturer, make, and model for each installed device without having to physically rip the machine apart, as well as data on sectors and cylinders, DMA capabilities, and low-level command sets and supported features.Drivers and Glide Support
As in nearly every release, Be has included "experimental" drivers for some hardware that has not been thoroughly tested. In R4.5, users of Imagine128 video chip sets, 3dfx Banshee cards, and Yamaha WaveForce sound cards may find that their hardware is supported after all. The folder for each of these drivers includes detailed README files or other installation instructions. Remember that there are no guarantees here; if these drivers do not enable your hardware as expected, Be cannot provide support. These drivers will likely be folded into the operating system in R5, and new experimental drivers will appear to take their place. And so the cycle goes.In addition, you'll find experimental support for Glide-based 3D hardware acceleration for some video chip sets. Look in each of the three Glide folders for documentation. If your card is listed and you're looking for maximum 3D performance, goahead and install the appropriate drivers. You can at least compare GL Teapot frame rates while you're waiting for Quake II to make the scene.
Network
You'll find a couple of nice goodies in this folder. If you'd like to be able to initiate and then close PPP connections from the command line, move the dun-control binary to ~/config/bin. You can then launch the default PPP connection by typingdun-control --upand then shut it down withdun-control --downThis can be very useful when automating tasks via shell scripts that require network access. For example, you might write a shell script that logs in and downloads Web logs in the middle of the night.ISA Plug and Play network card users will appreciate the new etherpnp driver, which will automatically pick up the IRQ and Port values for the card so you don't have to enter them in the Network preferences panel. Since IRQ values for PnP cards can change "on the fly" when adding or removing hardware, this makes it possible to avoid having to reconfigure your network card every time you change an I/O card.
Rio
One of the most unusual additions to the experimental folder is support for the Diamond Rio portable MP3 player. Rather than having to boot into Windows and launch a proprietary application, BeOS lets you mount the Rio as if it were a disk volume, so you can just drag your MP3 files directly into a Tracker folder. Very cool.The included README file explains how to use this experimental Rio support very well. Double-click the file Double click here to install, and a collection of utilities will be installed in ~/config/bin. You can double-click these utilities in the Tracker or run them from the command line.
mountrio: Mounts Rio so you can access it from the Tracker. It should appear as a disk on your Desktop.
unmountrio: Unmounts Rio so you can unplug it and start listening to your music.
initrio: Initializes Rio, erasing the old contents. Rio should not be mounted when you run this command.
You can delete files from Rio through the Tracker -- you must re-initialize the device with the initrio command. Rio expansion cards aren't supported in this release.
Tip: Rio is not limited to storing MP3 files -- you can put the BFS file system on it and store any kind of files you like, essentially treating it as a 32MB floppy disk. Just issue these commands and drag the files to the Rio Tracker window:mkbfs /dev/misc/rio/parallel1 mkdir /rio mount /dev/misc/rio/parallel1 /rioTip: Did you know you can load up your Rio directly from FTP sites? Just cd to /boot/rio and use command-line FTP to log on to your favorite MP3 FTP site. Any files you download will be dumped directly into Rio. Of course, there's no reason you can't use a graphical FTP client like NetPenguin or Get-It to drag-and-drop files out of the FTP location and into the mounted Rio folder in the Tracker.Disk Striping
For those who need absolute maximum hard drive performance for high-bandwidth tasks, R4.5 supports disk striping -- a first for BeOS -- albeit in experimental format. In disk-striping configurations, multiple physical hard drives are "chained together" and treated by the operating system as a single, unified hard drive. Because each disk has its own read/write head, and each is capable of a specific maximum read/write throughput, it's theoretically possible to double your maximum read/write speed by making your disks work together, rather than independently. Technically, striping configurations don't have to span multiple physical hard disks -- they can span multiple files set up as BFS volumes, all living within the same partition. This, however, would be rather pointless :).In actual fact, disk striping is a subset of a larger protocol, known as RAID (Redundant Array of Independent Disks). RAID works at various "levels," from RAID 0 to RAID 5. In some configurations, RAID is used to guarantee absolute integrity of data by mirroring it on multiple drives. If one drive goes down, the system cancontinue to access data on the mirrored disks. In other configurations, RAID is used to create very large hard disks, capable of storing files larger than could be stored on any single disk. Disk striping, the variety of RAID used to maximize speed, is known as RAID 0.If you would like to set up a disk striping system, remember that striping is still "experimental" in R4.5. A number of BeOS users have been able to get up and running with very fast disk arrays through the striping driver, but if you get into trouble, Be will not be able to support you. Furthermore, be aware that this isn't an experiment to be taken lightheartedly. You will need to commit at least two entire physical drives (not just partitions) to the process, and you will lose all data currently on those disks.Keep in mind also that if you're using IDE drives and you expect to see a real net gain, you'll need to make sure both physical disks are on separate IDE buses. Because IDE "blocks" while waiting for data, putting both IDE drives on the same bus will only result in those two disks contending for processor attention, since the IDE bus will block one drive while it waits for the other disk to finish what it's doing, thereby nullifying the speed advantages of disk striping. If you're using SCSI devices, you don't need to worry about this, though you'll probably get better performance by using two separate SCSI controllers (and thus two separate SCSI buses).
Take a look in /optional/experimental/striped, and you'll find a README file, a configuration file, and the striping driver. Read the README file very carefully, and be sure you understand it before you begin. Open a Terminal, cd to the installation directory, and type:
cp striped /boot/home/config/add-ons/kernel/drivers/bin/ ln -s ../../bin/striped /boot/home/config/add-ons/kernel/drivers/dev/disk/stripedThe driver is now installed. Time to configure your disk array. Open the text file striped_disk, and you'll see entries like:newdevice disk/striped/1/raw { blocksize 4096 startoffset 4096 storage /dev/disk/ide/ata/2/master/0/raw storage /dev/disk/ide/ata/3/master/0/raw }Each instance of "newdevice" declares the existence of a virtual drive, consisting of the devices named on each "storage" line. In addition, each virtual device can take a number of arguments. You can disable caching with the "nocache" parameter (only useful for creating a file system within a file; not common), and you can define block sizes just as you always do when initializing a new BFS volume.Since it's likely that you'll be using this fast virtual device for storing large media files, you'll probably want to create a larger block size than normal. With 4,096 you'll get better speed than with 1,024, though you'll waste space if you end up storing lots of little files on the device. The "startoffset" parameter leaves blank space at the beginning of the partition, so it doesn't look like a normal disk volume to BeOS. It's essential to use startoffset to prevent BeOS from trying to mount the individual disks independently.
Once you've got the configuration file written, make sure you've deleted any dummy/sample entries, and move the file to /boot/home/config/settings/kernel/drivers. Make sure the drives you intend to use do not have any partitions; if they do, delete them. Double-check the storage parameters you entered in the configuration files. If these point to disks containing data, the next step will erase that data. Ready, Freddie? Type
rescan stripedand the striping driver will republish the devices as a single virtual device. You can now use DriveSetup to create a partition map and initialize the new virtual partition. Mount the new partition, and you're good to go. Welcome to the world of high-performance disk arrays.Note: Striping can be accomplished either in software or in hardware. The techniques described above are completely software-oriented, and of course, require system CPU resources. If you're serious about this stuff, you may want to look into the hardware RAID controllers such as the Promise Ultra33 and Ultra66 PCI IDE cards, which are officially supported in BeOS R4.5.Video CD
In yet another excellent demonstration of BeOS's ability to support alien file systems with the addition of a single driver file, R4.5 offers experimental support for video CDs (not DVDs). Copy vcd_fs to /system/add-ons/kernel/file_systems and mount your video CD from the Terminal, like so:mount -t vcd_fs device pathFor example, you might create a mount point in the root of your system at /videocd and your CD drive might be located at /dev/disk/ide/atapi/0/slave/0/raw. You would then mount your video CD like this:mount -t vcd_fs /dev/disk/ide/atapi/0/slave/0/raw /videocdYou cannot mount video CDs from DriveSetup or by right-clicking the Desktop in R4.5. Once you mount a video CD, you should be able to double-click the MPEG videos in the mounted Tracker window to launch your movies. However, the MPEG video codec in R4.5 does not play the accompanying audio. In other words, experimental video CD support in this release is more of a curiosity than anything.Tip: The easiest way to learn the raw device path to your CD-ROM drive is to type play in a Terminal window. The shell will report the paths to all installed CD-ROM hardware, followed by other useful data on the play command.VideoRecorder
VideoRecorder forms part three of the holy video triumvirate in R4.5. Sibling to SoundRecorder and to both CodyCam and the TV app, VideoRecorder does exactly what its name implies, letting you capture any video stream running through your capture card to disk, saving it as an AVI or QuickTime movie (well, technically, in any format for which you have an installed video codec).
Using VideoRecorder to save excerpts of Yan Can Cook for later integration into a video collage piece.You won't find VideoRecorder in your Applications folder though, because it's available only in experimental form in R4.5 (look in /optional/experimental). That's because VideoRecorder isn't quite suitable for combat duty just yet. It works, but you'll probably encounter some bugs. For example, VideoRecorder may suddenly disconnect from the media_addon_server and bomb out. You'll also quickly learn not to try to start a capture without selecting an output codec first; doing so will cause the app to crash when you press Record.
Aside from that, the only limits on what you can capture with VideoRecorder are imposed by your hardware, not by the application itself. Trapping video is extremely bandwidth / disk intensive, and you'll find that trying to grab 30 fps (frames per second) at a 640x480 resolution is impossible on most common hardware with stock IDE drives. However, the accompanying README file is straightforward about this: "640x480 16-bit video requires just over 17 megabytes per second of disk bandwidth. You can't write that much to a typical hard disk." To get around this limitation, adventurous users can use the (also experimental) disk-striping system described above. Of course, jumping from consumer-grade hardware to a more professional disk subsystem (e.g., SCSI) would help, too.
Nevertheless, if you lower your expectations a bit, you can capture quite usable video with the Photo-JPEG compressor at 320x240 and 15 fps. Be says you should be able to do this without difficulty even on a single PII 350 machine; I didn't have any problems at this threshold.
You'll probably find that the combination of Photo-JPEG compression and QuickTime export yields the most usable results, without dropped frames. But the higher you set the export quality, the more frames per second you request, and the larger your capture size, the more likely your video will start dropping frames. When you play back movies with dropped frames via MediaPlayer, they'll simply run faster.
VideoRecorder is a welcome addition to BeOS, even if it isn't perfect yet. Most people with a low-cost capture card will be able to coax usable results from it, either as standalone movies or as segments destined for import into personalStudio or other video-editing apps.
Windows Networking (WON)
Easily the most anticipated addition to BeOS R4.5 is its Windows networking support. Actually, I use the term "support" lightly since this feature is in the /optional/experimental folder. In future versions of BeOS, Windows networking services will be integrated into the Network preferences panel. For now, however, you'll have to set up a few things on your own, and you may or may not be successful at accessing shared volumes on your local network. In all likelihood, you'll find that things work out nicely on Windows 95/98 networks, but you may encounter problems on Windows NT networks, where security is tighter.Be's implementation of Windows networking is called "World O' Networking," or WON for short. As described in The BeOS Bible, WON is based on CIFS, or Common Internet File System, which is a superset of SMB (Server Message Block). SMB is built into every copy of Windows, so you won't need to do anything special on the Windows side. The Linux/FreeBSD implementation of SMB is known as Samba; BeOS should be integrated into Linux networks running the Samba server as well.
In a nutshell, WON in R4.5 works like this: Launch /optional/experimental/WON/WONSetup. Select the File and Printer Sharing box and (optionally) the Show hidden mounts box. This last option exists because in many networks, there are a number of shared volumes that are available to users but not shown by default. Enter the name of your workgroup (NT users, use the name of your domain). If you don't know the name of your workgroup, look at a Windows machine on the same network, right-click Networking, choose Properties, and select the Identification tab. Without this workgroup name, you won't be able to access anything. If you're unsure, just enter WORKGROUP. Then enter your username and, if available, your password. Click Done, restart networking, and a World O' Networking icon will appear on the Desktop.
You can now browse your network just as if it were any other mounted disk volume. Network shares will be available from the Open/Save panels in all of your applications. And because the BeOS print layer is now network-aware, you'll be able to print to printers on the local network as well. Just select a shared printer from the WON folder, and the BeOS Printer preferences panel will appear.
For the vast majority of Windows 95/98 networks, this should be all you need to know. Happy browsing! If you're not able to mount remote shares, read on.
Mounting Shared Volumes Individually
If for some reason you're not able to browse the network (for password-authentication or other reasons), you may have better luck mounting specific volumes, via the cifsmount or ezmount commands. The network browsing functions in R4.5's WON implementation are not well tested, so you may have better luck by simply mounting the volumes you need rather than trying to access the entire network. cifsmount and ezmount are essentially identical in function, but ezmount makes things a little easier by not requiring you to manually establish a mount point beforehand. cifsmount's syntax iscifsmount \\\\SOMESERVER\\ASHARE USERNAME PASSWORD LOCALMOUNTwhere LOCALMOUNT is the name of a pre-established directory in the root of your file system into which you want the remote share mounted. For example, let's say you want the remote share to appear on the Desktop as volume named "Louise." You're connecting to a server named "Homer," and on this server is a share named "Marge." Your username is "Gomer" and your password is "Pyle." You would use cifsmount by creating a directory in the root of your file system called "Louise," and then typing:cifsmount \\\\Homer\\Marge Gomer Pyle /LouiseNote: Because Windows does funky things with filename cases, you may need to experiment with the above command, using HOMER instead of Homer, etc.Once you've got that down, you can make things easier on yourself by using the ezmount command, which creates the mount point in the root of the file system for you, naming it after the shared volume. ezmount doesn't require all the tedious backslashing, either. For example,ezmount HOMER MARGE GOMER PYLEshould have the same effect, but you'll find the shared volume mounted at /MARGE. However, you can't use ezmount to mount multiple remote shares. If you need to mount only a single remote share, it's fine. If you need to mount several of them, use cifsmount. Once you've got cifsmount dialed in to do what you want it to do, add your cifsmount commands to ~/config/boot/UserBootScript so it will run automatically at boot time.To unmount a shared volume, just use the standard unmount command, as you would with any other disk volume (e.g. unmount MARGE), or right-click the volume on the Desktop and choose Unmount from the context menu.
Accessing Your BeOS Machine from the Network
It's a two-way street, of course, and you may want to access shared folders on your BeOS machine from Windows or Linux machines as well. To do this, you'll need to walk a few extra feet and install the Samba server for BeOS (again, this is officially unsupported and should become much easier in a future release of BeOS).Note: The version of Samba included on the BeOS R4.5 CD is not complete, and many users have been unable to get it to run properly or consistently (this author included). Be intends to make updates available, so keep your eye on the BeOS news sites and on www.be.com for more information. Unfortunately, the authors of The BeOS Bible cannot offer support for this unsupported BeOS software. Your best source of assistance will probably be other BeOS users in online forums such as the Usenet group comp.sys.be.help and the beusertalk mailing list. Concrete suggestions on improving this documentation are very much welcome.Samba for BeOS is a port of freely available source code from the Unix/Linux world, and is protected by the GNU public license. You'll need to compile and configure it yourself to get up and running. Don't look for it in the WON folder though; it isn't there. Instead, insert the BeOS installation CD and mount its Windows partition (called "BeOS Tools"). Navigate to the GNU folder and drag the file samba-1.9.18p7.tgz to your Desktop or anywhere in the Tracker. Set its filetype to application/x-tgz, double-click it, and let Expand-o-Matic decompress the archive.Inside, you'll find several folders and a file called make-samba-for-beos. Open a Terminal, cd to this folder, and run this script. Your machine will crunch away merrily for quite a while as the Samba server is compiled. When complete, you'll see the lines
Password not set Samba has been installedNow to configure your server. Use the Tracker to open /boot/beos/system/servers, and you'll find a new folder called samba, and inside this, a directory tree. Of interest to you here is a file called smb.conf living in the lib directory. Open /boot/beos/system/servers/samba/lib/smb.conf in a text editor and have a look.smb.conf comprises a lengthy listing of configuration options that let you define what on your machine is to be shared and with whom you're willing to share. It lets you define workgroup names, allowable host addresses, home directories, read/write permissions, and more. The file is heavily commented (commented lines begin with a semicolon) and contains tons of explanatory notes and samples you can copy and paste to build your own custom configuration. The file is divided into sections called [global] (for settings that affect everyone and everything), [printers] (for sharing printers, probably not much of an issue for BeOS users just yet), [Space] (for creating sharable file spaces), and several more obscure options.
Before you get anywhere with Samba, however, you'll need to make sure your machine is identifiable on the network, so that Windows' Network Neighborhood will be able to see you. If your network has a DNS server, you can add your machine's IP address to the DNS tables. This isn't an ideal solution, however. A much better tactic is to enter your machine's hostname into the BeOS hosts file (/boot/beos/etc/hosts), as described on pp. 480-481 of The BeOS Bible. Without this information, the nmbd (name binding) daemon will fail at startup, even if you have a hostname specified in the Network preferences panel.
Once you've got that business taken care of, create entries in smb.conf that define shares for your machine. For example, you may want to uncomment, edit, or type in lines to create a file looking something like this:
[global] log file = /boot/beos/system/servers/samba/log.%m workgroup=Birdhouse server string = BeOS preserve case = yes case sensitive = yes ; the following machine should be the IP address of your own machine interfaces = 192.168.0.4 [Space] comment = File space path = /boot/home public = yes writable = yes allow hosts = 192.168.0.3Restart networking, and you should be able to access your home folder from the machine on the network at the address 192.168.0.3. If you leave the "allow hosts" line out, your home folder should be accessible to all machines on the network.Warning: You must take security seriously here. If you choose not to use the "allow hosts" line, all the machines on the network will have access to the specified folder. If you have real, fixed IP addresses on your network, i.e., those outside the 192.168.X.X range, the contents of that folder may be accessible to the entire Internet. Be cautious!Samba is a large and complex service, with many options and possibilities. If you want to learn more about it, search the Internet for "Samba" or pick up a book such as O'Reilly's excellent guide Using Samba.Note: While trying to get things worked out and set up properly the first time, you'll probably end up restarting networking services several times. In R4.5, the experimental nbdb and smdb daemons will not be killed off properly during a network restart and thus will end up running several copies of themselves. You might want to use the Team Monitor to kill them off manually before restarting networking.Removing WON
If you end up not using WON on a regular basis and want to remove its icon from the Desktop, re-enter WONSetup and uncheck File and Printer sharing. Alternatively, edit /beos/system/boot/Netscript and remove or place # symbols before these two lines:start beos/bin/ksocketd start beos/system/servers/da_hood(Remember, this is a system-level script, and technically shouldn't be edited by users.)Zip Disk
SCSI and IDE Iomega Zip disks are fully supported in BeOS (though parallel versions are not). However, there are a couple of known problems with removable media in some configurations. The zbeos file in this folder is a replacement for the zbeos file that ships in /boot/beos/system, and is intended only for users who fall into one of two categories:
- Your system has an IDE Iomega Zip drive and it takes longer than 30 seconds to boot.
- Your system has a removable media drive and is unable to boot from that drive.
If either of these sound like they might apply to your system, replace the system-installed zbeos with this one and restart your machine. You should be golden, but remember: This replacement boot loader is experimental. If you should run into trouble, follow the Emergency Boot Procedure outlined in The BeOS Bible and restore the main zbeos file from the installation CD to the beos/system directory on your boot partition.