To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 4783
4782  |  4784
Subject: 
RE: Something else is needed, I think...
Newsgroups: 
lugnet.robotics
Date: 
Mon, 3 May 1999 19:10:49 GMT
Viewed: 
1239 times
  
I think new firmware is a good way to go.  I would vote for a completely
new byte code, perhaps similar in spirit to the original, but designed
fresh from the ground up.  There is no source for the current firmware,
although there is pseudocode for some of it, so rewriting the firmware from
scratch is somewhat inevitable already.

If we are going to the trouble of new bytecode, then we need a new compiler. If
we design a new compiler, then what language will it be? Yes, we could use C as
the base and compile to pcode which is essentially what NQC does if I'm not
mistaken. That is, NQC takes a known programming paradigm (C) and transforms
it to a sequence of bytecodes compatible with another known paradigm (the RCX)

The difficulty is that we will be doing a LOT of work, and someone has to
write the new compiler (Dave) AND the firmware (Kekoa? since you volunteered)

I hate to drone on  about pbFORTH, but I went to quite a bit of work to get
it working as well as it is. It needs some cleaning up, sure, but the more
requests I get the more likely I'll do it...

pbFORTH IS a bytecode compiler. You throw source code at it through the IR port
and the RCX "interprets" it into efficient bytecode that is later executed. You
can interact directly via the keyboard, query variables, dump memory, etc. Once
the pbFORTH firmware is loaded, you can test and refine code as needed. You can
use ANY pc that will run NQC - Win95/98, Linux, Mac. The execution speed is
closer to raw C than NQC interpreted bytecodes.

pbFORTH also uses the RCX firmware (the ROM code) to get most of the dirty
work done. This is good because we can be sure that rotation and light sensors
work correctly :-) The next version even has a cooperative (not preemptive)
multitasker and high resolution (10 msec) timers - all built on the existing
ROM code.

If somebody wants to propose a new byte code and machine model (preferably,
the compiler writer), I might be able to assist in the coding of new
firmware, having all the information for writing new firmware here at my
fingertips.

This is NOT to discourage further development. I will support and read as much
as possible. If pbFORTH dies - so be it. There are enough brains in this group to
get just about anything done. Have a look at the pbFORTH site - even just the
srcripts for now. The constant magic numbers can be factored out if necessary
to make things more readable. I just wanted to get the basic system working and
out there. I will answer any questions you want, the more comments I get, the better
I can tailor the site to your needs.

See the sigline to get on the trail to pbFORTH...

Cheers,

Ralph Hempel - P.Eng

--------------------------------------------------------
Check out pbFORTH for LEGO Mindstorms at:
<http://www.bmts.com/~rhempel/lego/pbFORTH/default.html>
--------------------------------------------------------
Reply to:      rhempel at bmts dot com
------------------------------------------------------



Message has 2 Replies:
  Re: Something else is needed, I think...
 
(...) C may be the best choice for a base language to start with simply because its well known. Quite frankly, if the bytecode is written reasonably well, different compilers for different base languages should be very feasible - compilers based on (...) (25 years ago, 3-May-99, to lugnet.robotics)
  Re: Something else is needed, I think...
 
(...) I agree, that would make pbForth much more appealing if the source could be compiled on a pc in a nice gui environment and then the bytecode loaded into the rcx. Not only could someone enhance the gui front end as Mark has suggested, but (...) (25 years ago, 3-May-99, to lugnet.robotics)

Message is in Reply To:
  Re: Something else is needed, I think...
 
(...) I think new firmware is a good way to go. I would vote for a completely new byte code, perhaps similar in spirit to the original, but designed fresh from the ground up. There is no source for the current firmware, although there is pseudocode (...) (25 years ago, 3-May-99, to lugnet.robotics)

67 Messages in This Thread:






















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

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

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