To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.pbforthOpen lugnet.robotics.rcx.pbforth in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / pbFORTH / 522
521  |  523
Subject: 
RE: CPR for RCX?
Newsgroups: 
lugnet.robotics.rcx.pbforth
Date: 
Sun, 30 Jun 2002 02:10:41 GMT
Reply-To: 
<rhempel@+avoidspam+bmts.com>
Viewed: 
2280 times
  
As for source code, it's all included in the distribution. You'll need to
look in the following directories:

pbforth/*.tcl                 - has all of the generic
          words in high level language
h8300/rcx/pbforth/*.tcl       - has all of the rcx specific words
h8300/rcx/pbforth/pbforth.tcl - describes the files used in pbForth

David wrote:

Unfortunately I don't understand TCL.  I have looked at the code that you
referred to and I'm having my share of difficulty understanding what's going
on.

Correct me if I'm wrong:
1) Everything is loaded on to the RCX via S-records (pbforth.srec)
2) pbForth includes an inner and an outer interpreter
3) pbForth makes calls to existing ROM routines
4) TCL is used to 'compile' pbForth into the S-record format
5) TCL is used to program the terminal emulator

You're pretty much OK until point 4. TCL is used to compile the
pseudo code for pbFOrth into assembler source code. From there
the GNU as program assembled the object code and ld links it
and eventually produces the S records.

S records are just a universal way to represent the raw binary
values that get sent to the RCX in a human readable form.

Can you also tell me how many of the 'core' pbForth words are coded in
H8/300 assembly language.  Do you have a list of them?

The list is in the files:

  h8300/rcx/pbforth/h8300-primary-*.tcl

The rest would be secondary words.  How many of these secondary words are in
the current version?

Mainly just the CORE words. I really should put a list together. The RCX
specific words are described here:

<http://www.hempeldesigngroup.com/lego/pbForth/rcxWordlist.html>

There are approximately 470 S-records.  I am assuming these S-records
include the inner and outer Forth interpreters and the dictionary of
existing words.  Is this correct?

Yes. But the number of S records has nothing to do with this.

Do you place the stack at the top of memory and grow it downwards?

The stack is at a specific place in the RCX memory map and it
does grow downwards.

I'm sorry for asking all these questions, but I'd like to help where I can
and, as I've said above, I have never worked with TCL which makes things
more difficult.  I have a few days to myself before I have to fly back to my
job.  If I don't hear from you before then, I'll try to get back to you when
I return.

No problem. These questions make it clear what I should focus
on for future tutorials...

Cheers, Ralph



Message has 1 Reply:
  Re: CPR for RCX?
 
(...) I knew Assembler would come into play sooner or later. I have downloaded a copy of the H8/300 Assembly language spec. What I still don't understand is how you turn the object code into 'S'-type records with 'ld'? (...) Can I assume the RCX has (...) (22 years ago, 1-Jul-02, to lugnet.robotics.rcx.pbforth)

3 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