To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.legosOpen lugnet.robotics.rcx.legos in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / legOS / 1319
1318  |  1320
Subject: 
Re: light sensor problem?
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Fri, 28 Jul 2000 15:50:05 GMT
Viewed: 
1777 times
  
Michael Obenland <obenland@t-online.de> wrote:
Can you please tell me where to find this documentation?

http://graphics.stanford.edu/~kekoa/rcx/#Rom

In particular, scroll down to "notes on addresses" and "notes on routines".
The routines for the firmware start at 0x8000.  The routines for the ROM
start at 0x3ae.  Ultimately, both kinds of routines are important to
figuring out how the firmware does things.

The documentation is very low-level and might seem overwhelming.  It was
written as the information was discovered, and is organized mainly by
address, not by function.  I never got around to writing it up in a way
that would be easy to understand.

A good place to start would be at 0x8000, the firmware entry point.  Then
you can move on to the firmware "handlers" -- routines that manage groups
of functionality (sensors, motors, byte codes, etc.) as seen by the
firmware.  This would be the top-down approach.

Another good place to start is with the h8/300 hardware manual.  Since it
can be hard to find at Hitachi's site (they seem to move it every so
often), you can grab a copy as:

http://graphics.stanford.edu/~kekoa/rcx/h8300_hwman.pdf.gz

The manual can help you to understand the interrupt handlers in the ROM,
which are important to understanding exactly "how the firmware does
things".  This would be the bottom-up approach.

The ROM uses a straightforward interrupt model to do all of its
asynchronous device management.  It has short interrupt handlers for serial
transmission and a/d completion, and does almost everything else (sounds,
motors, start a/d conversion, etc.) in a timer interrupt that is run every
1 ms.  This is unlike LegOS, which (if I remember correctly from the last
time I checked) does a lot of its device management based on preemtive
scheduling of threads, or by doing things complete in non-timer interrupt
handlers (e.g. the a/d conversions).  It is interesting at least to think
about the differences, as they can lead to inconsistent behavior between
the firmware and LegOS, e.g. as we are seeing with the a/d conversions.

-Kekoa



Message is in Reply To:
  Re: light sensor problem?
 
(...) Can you please tell me where to find this documentation? Mike (24 years ago, 27-Jul-00, to lugnet.robotics.rcx.legos)

26 Messages in This Thread:








Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR