Jump to content
IGNORED

fbForth—TI Forth with File-based Block I/O [Post #1 UPDATED: 06/05/2024]


Lee Stewart

Recommended Posts

5 hours ago, Switch1995 said:

@Lee Stewart Congrats on this release!  I have a copy of fbForth 3.0 cartridge on order.  One suggestion that you could take or leave:  I really like how @matthew180 used a simple BASIC program to help teach Assembly in his thread.  Your manual (2.0) has sections 6.2 Graphics Words; 6.3 Color Changes; 6.4 Placing Characters on the Screen; 6.5 Defining New Characters; 6.6 Sprites; 6.8 Using Joysticks; etc. 

 

What would be really cool would be a VERY simple demo program tying all of these concepts together that the reader could type in/ learn from.  A Forth game loop shell….

 

That is a good Idea. I have a lot of corrections and additions to the manual to get through before I get sidetracked with a running example, but I like the idea. I said, “running example,” but, perhaps, you had another idea, such as a separate section devoted to an example game. Both are eminently doable. We need plans to guide such a project.

 

...lee

  • Like 3
Link to comment
Share on other sites

5 hours ago, Lee Stewart said:

I said, “running example,” but, perhaps, you had another idea, such as a separate section devoted to an example game. Both are eminently doable

Either would work. I was imagining a Minimal Viable Product to tie a bunch of concepts together quickly. For example:  2 sprites appear on screen.  Enemy sprite set in motion. Player uses joystick to ram his sprite into enemy.  Sound. Enemy randomly reappears in a different color.  Loop.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

I am trying to come up with a slightly different subtitle for the fbForth 3.0 manual. The one for fbForth 2.0 is “A File-Based Cartridge Implementation of TI Forth. Some ideas are

  1. “An Upgraded File-Based Cartridge Implementation of TI Forth
  2. “A File-Based Cartridge Implementation of TI Forth (fbForth 2.0 Upgrade)”
  3. “A File-Based Cartridge Implementation of TI Forth (Upgraded from fbForth 2.0)”
  4. “A File-Based Cartridge Implementation of TI Forth (Upgrade of fbForth 2.0)”
  5. “A Revised File-Based Cartridge Implementation of TI Forth
  6. “A File-Based Cartridge Implementation of TI Forth (fbForth 2.0 Revision)”
  7. “A File-Based Cartridge Implementation of TI Forth (Revised from fbForth 2.0)”
  8. “A File-Based Cartridge Implementation of TI Forth (Revision of fbForth 2.0)”

 

Preference? Ideas?

 

...lee

Link to comment
Share on other sites

If the title says FbForth 3.0  I don't think you need "(revision of fbForth 2.0)"   That seems redundant. 

 

Things that come to mind that seem important to your work in relation to what you started with:

  1. It's complete (vs TI FORTH being a prototype) 
  2. It's in a cartridge
  3. It uses native file blocks

So this is not too sexy but it weaves those things together.

 

A completed TI FORTH, in a cartridge, with native file blocks 

 

completed could be replaced with finalized, finished, "fully realized"  <your synonyms here> 

 

A fully realized TI FORTH cartridge, with native file blocks 

 

My 2 cents. (Canadian) 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

7 hours ago, TheBF said:

If the title says FbForth 3.0  I don't think you need "(revision of fbForth 2.0)"   That seems redundant. 

 

Things that come to mind that seem important to your work in relation to what you started with:

  1. It's complete (vs TI FORTH being a prototype) 
  2. It's in a cartridge
  3. It uses native file blocks

So this is not too sexy but it weaves those things together.

 

A completed TI FORTH, in a cartridge, with native file blocks 

 

completed could be replaced with finalized, finished, "fully realized"  <your synonyms here> 

 

A fully realized TI FORTH cartridge, with native file blocks 

 

My 2 cents. (Canadian) 

 

Thanks for your input! I am not sure I agree with TI Forth being incomplete and but a prototype. As far as I know, it was a complete port of figForth, with the addition of words unique to the TI-99/4A—about 300 words in the kernel. fbForth 3.0 has about 520 words in the cartridge kernel and is certainly a dramatic change from TI Forth, with many changes and enhancements and many, many additions (most that TI Forth had to load after the kernel).

 

I like the “native file blocks” part.

 

...lee

  • Like 2
Link to comment
Share on other sites

I never noted TI Forth to be incomplete in any way when I used it to program Core War. This was a rather involved project and a good test of the language. Obviously FB Forth is more of an evolution from TI Forth and should be acknowledged as such. IMHO, "A file-based implementation of TI Forth" without the revision part seems the most appropriate.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

31 minutes ago, Vorticon said:

I never noted TI Forth to be incomplete in any way when I used it to program Core War. This was a rather involved project and a good test of the language. Obviously FB Forth is more of an evolution from TI Forth and should be acknowledged as such. IMHO, "A file-based implementation of TI Forth" without the revision part seems the most appropriate.

 

Yes, but then it is identical to the subtitle of the fbForth 2.0 manual, with only the "3" of the title different. I am hoping to elaborate the distinction a bit more.

 

...lee

Link to comment
Share on other sites

1 hour ago, Lee Stewart said:

 

Yes, but then it is identical to the subtitle of the fbForth 2.0 manual, with only the "3" of the title different. I am hoping to elaborate the distinction a bit more.

 

...lee

How about just a sub-label "New & Enhanced Version 3" and leave the details to the back cover of the manual?

  • Thanks 1
Link to comment
Share on other sites

6 hours ago, Vorticon said:

I never noted TI Forth to be incomplete in any way when I used it to program Core War. This was a rather involved project and a good test of the language. Obviously FB Forth is more of an evolution from TI Forth and should be acknowledged as such. IMHO, "A file-based implementation of TI Forth" without the revision part seems the most appropriate.

Perhaps a better description would be that TI-FORTH was not a finished product whereas FbForth is. 

Documentation for TI-FORTH was the engineer's text files, at least that is what I received. 

In terms of the code, the FigForth foundation was solid, but I feel some of the TI-99 extensions looked like "get it working" code that would have been improved for a real product release.

But that's just me. 

  • Like 2
Link to comment
Share on other sites

9 hours ago, TheBF said:

Perhaps a better description would be that TI-FORTH was not a finished product whereas FbForth is. 

Documentation for TI-FORTH was the engineer's text files, at least that is what I received. 

In terms of the code, the FigForth foundation was solid, but I feel some of the TI-99 extensions looked like "get it working" code that would have been improved for a real product release.

But that's just me. 

I agree with the "get it working" - the words adapted from BASIC CALLs.. but, it had bitmap, plus bitmap with a text window too!  It could draw lines (circles:  exercise for the reader!)

 

My documentation was the printed copy that Users Groups received in the TI mailing.  It is a really good manual.   My copy is dated Oct 30, 1982. 

 

Chapter 2 begins:

Quote

 

This chapter will familiarize you with the most common words (instructions) in the FORTH Interest Group version of FORTH (fig-FORTH).  The purpose is to permit those users that have at least an elementary knowledge of some FORTH Dialect to easily begin to use TI FORTH.  Those with no FORTH experience  should begin by reading a book such as "Starting FORTH" by Brodie.  Appendix C is designed to be used with this particular text and lists differences between the FORTH language described in the book ( poly-FORTH ) and TI FORTH.

 

A word in FORTH is any sequence of characters delimited by blanks or a RETURN.  ...

 

It continues with a precise glossary of the vocabulary.   It's a pretty good manual, written by Leslie O'Hagan and Leon Tietz.   Leon was tapped to join the personal computer effort in March 83. 

 

 

 

  • Like 2
Link to comment
Share on other sites

Another decision I must make, eventually, is whether to publish this manual in color or, as before, in black and white. I was headed in the color direction until I checked the likely costs. If it stays at 310 pages, the black-and-white version will be $10 – $11 and the color, $23 – $24. That is with no profit to me, which is my intention. The color would mostly be in the screenshots—about 30, I think. If I do go in the color direction, I would make use of color bars in headings, colored cells in tables, and colored text in headings and Forth words. Using a color (blue) for Forth words would allow removal of the non-breaking space between a Forth word and punctuation that peppers the current manual. Personally, I would prefer color, but I don’t wish to create a hardship for folks. As before, I will provide the PDF free of charge. What are your preferences?

 

...lee

Link to comment
Share on other sites

8 minutes ago, Lee Stewart said:

Another decision I must make, eventually, is whether to publish this manual in color or, as before, in black and white. I was headed in the color direction until I checked the likely costs. If it stays at 310 pages, the black-and-white version will be $10 – $11 and the color, $23 – $24. That is with no profit to me, which is my intention. The color would mostly be in the screenshots—about 30, I think. If I do go in the color direction, I would make use of color bars in headings, colored cells in tables, and colored text in headings and Forth words. Using a color (blue) for Forth words would allow removal of the non-breaking space between a Forth word and punctuation that peppers the current manual. Personally, I would prefer color, but I don’t wish to create a hardship for folks. As before, I will provide the PDF free of charge. What are your preferences?

 

...lee

Color sounds great.

  • Thanks 2
Link to comment
Share on other sites

I think, in the 21st century, colour is the way to go especially when one spells it correctly. It's a joke. :) 

 

Ya the screen shots will really look great.  

 

  • Thanks 1
  • Haha 3
Link to comment
Share on other sites

Humans were built for color since we can associate "colored" words with different meanings, like "color forth" does for the pc.

I believe that's the name of the version, 

 

But of course in the 1950s they took color away from us and everything was in black and white. 

😂 

 

  • Haha 2
Link to comment
Share on other sites

2 hours ago, jedimatt42 said:

I like the idea of forth words being colored, since many have punctuation characters.

How about like this? :) 

 

(this feature was first seen in FPC by Tom Zimmer.  I ported it to my ANS revision of HSfORTH by the late Jim Kalihan)

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

54 minutes ago, TheBF said:

How about like this? :) 

 

(this feature was first seen in FPC by Tom Zimmer.  I ported it to my ANS revision of HSfORTH by the late Jim Kalihan)

 

That is really cool! However, I won’t be doing that because it would take way too much effort to properly identify the individual word types. I think it works better while programming, anyway—but, thanks.

 

...lee

  • Like 3
Link to comment
Share on other sites

Posted (edited)

I actually use a printed book rather than a PDF myself. But if I wanted it in color couldn't I print it out in color if you created the PDF in color, yeah... And that's what I would do. I would just print it out myself.

Edited by GDMike
  • Like 2
Link to comment
Share on other sites

  • 1 month later...

I am making headway in the fbForth 3.0 manual. I have been working on the glossary appendix, with the addition of new words and formatting now pretty much out of the way. I am finally into reviewing all of the word descriptions. I decided to rewrite the description for +LOOP , but would like feedback as to its clarity. The old description is

+LOOP ( n -- ) selectively controls branching back to the corresponding DO based on n, the loop index and the loop limit. The signed increment n is added to the index and the total compared to the limit. The branch back to DO occurs until the new index is equal to or greater than the limit (n > 0), or until the new index is equal to or less than the limit (n < 0). Upon exiting the loop, the parameters are discarded and execution continues ahead.

 

My proposed new description is

+LOOP( n -- ) selectively controls branching back to the corresponding DO based on n, the loop index idx, and the loop limit lim. The signed increment n is added to idx and the total compared to lim. The branch back to DO occurs until |idx| ≥ |lim|. Upon exiting the loop, the parameters are discarded and execution continues ahead.

 

...lee

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...