BIBO
Bibo Isn't BrickOs
Bibo is an alternative firmware for the Lego Mindstorm RCX brick. It is very similar to BrickOS, but uses a completely redesigned task scheduler and interrupt manager. If you're not already familiar with BrickOS, you should read their tutorials and howtos. Bibo is mostly compatible to BrickOS.
The main incompatibility is that there are no time slices any more. You
have to explicitly give the control to other tasks of same priority by
calling yield
or by waiting for events. It would be
possible to implement time slices, but I see no sense in tracking a
line for 100 ms and then interrupting the task for 100 ms to check if
a button is pressed while driving on, blindly.
On the positive side, Bibo should give you better performance (less
CPU overhead), allows malloc/free
in handler (e.g. when
receiving IR packets), and low priority tasks can be preempted even if
their time slice has not yet expired.
Of course, Bibo is supported by brickemu.
Installation
The installation procedure is very similar to BrickOS. Please refer to the BrickOS documentation. Just replace brickos with bibo.
Download
Copyright (c) 2008 Jochen Hoenicke.
The code is distributed under the Mozilla Public License Version 1.0. A lot of code was not written by me, but stems from BrickOS.