An unauthorized modular native mode kernel for the LEGO Mindstorms.">
 
 
 contributor
legOS

legOS, the: [unauth, unoff] independent LEGO Mindstorms OS. Offers preemptive multitasking, energy saving, dynamic memory management, POSIX semaphores, native access to display, buttons, IR communication, motors and sensors.

 
  Patches Against legOS-0.1.7
motor-speed.patch   This is a patch against direct-motor.c to fix the new motor speed code. I discovered that the motor power increased up to MAX_SPEED/2 and then began to decrease as the number approached MAX_SPEED. This patch has been incorporated into legOS as of the 990330 snapshot.
direct-motor.patch   This is a patch against direct-motor.c and direct-motor.h to add new inline functions to set motor direction and set and get motor speed. This is good for functions or tasks which must operate on arbitrary motors, rather than using the original functions which are tied to particular motors.
cputw.patch  

This is a patch against conio.c to fix a problem which I have observed with cputw under legOS-0.1.7. It displays the least significant byte of the passed word, followed by 0x90. Of course, the 0x90 is probably just from a neighboring memory location, so I don't know if it is deterministic. I do, however, know that it is wrong.

I cannot find anything wrong with the way that this was originally done, but it could be something odd about the way that egcs deals with the cast from unsigned short * to unsigned char *.

This patch is obsolete as of the 990330 snapshot, since Markus has instrumented a better solution.

tm.patch   This is a patch against tm.c, tm.h, and kmain.c to optimize the scheduler so that you don't have to take a big performance hit when you have more than one task at a particular priority level. It has been incorporated into legOS as of the 990330 snapshot. You can try to apply it against 0.1.6, but it will probably fail in 3 places due to differences in comments. It is not terribly difficult to hand-apply the failed sections from the .rej files.
sensor-shift.patch   This is a patch against direct-sensor.c to to bring legOS 0.1.7 in line with my sensor-shift patch against 0.1.6. No new functionality is added. It just uses better form than the patch that I provided Markus with earlier.