Jump to content
IGNORED

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


Lee Stewart

Recommended Posts

There's probably a law somewhere, that states something along the lines of "Programs shall grow until they have exhausted all memory available" ;-)

 

But there again, why not? This is ROM memory... seems silly to burn half-full ROMs... It's pretty much what I did with TF... Kept developing it until I couldn't squeeze any more in. Then I found increasingly more fiendish ways to save memory, so more stuff went in. Then I found even *more* ways to save space, so more stuff went in. Rinse and repeat for about two years. Just ask Bob Carmany. I drove him nuts with "don't burn those EPROMS just yet! I added a new feature!" emails. Bob had hair before the TF project!

 

You're not done yet, Mr. Stewart. This is just the start! mwuh ha ha ha ha ha! :evil:

Edited by Willsy
  • Like 1
Link to comment
Share on other sites

Phew! I think I'm ready to release beta 10 but for one small problem. I'm 2 bytes over in bank 3 after transferring the code for BSAVE to another block! :-o I surely can shave a couple of bytes somewhere. I know the Font Editor's initializing routine is very wasteful—maybe there. If nothing obvious pops up, I can split out some routines from the Floating Point high-level package. I'd rather not, but whatever works. It'll likely be afternoon today before I can get back to it.

 

Even though there's an onscreen menu, it's too cryptic not to have some instructions. So, I'll put together a few in the next post—the one where I will also post beta 10.

 

...lee

Link to comment
Share on other sites

OK—I have 16 bytes to spare in bank 3 (so far!). Here is a screen shot of the fbForth 2.0 Font Editor, which is started by executing FONTED at the terminal command line:

 

post-29677-0-79158900-1410386810_thumb.gif

 

This is just a tease because I won't have time to post the instructions and beta 10 until after dinner out. We'll see whether a little food and wine will allow me to do anything after I get home. |:)

 

...lee

  • Like 3
Link to comment
Share on other sites

Directions for the fbForth 2.0 Font Editor—

 

Typing FONTED opens the font editor with the current font loaded from the PDT. Editing the font will not affect the current font because the working buffer is not the PDT. Though all the menu keys are shown at the bottom of the screen, they are rather cryptic, so here is a brief description (also, consult the graphic in my last post):

Function    Keystroke
--------    ---------
<FCTN+4>    Next character pattern
<FCTN+6>    Previous pattern
<FCTN+S>    Move edit cursor left
<FCTN+D>    Move edit cursor right
<FCTN+X>    Move edit cursor down
<FCTN+E>    Move edit cursor up
<FCTN+5>    Select character pattern 128 characters up/down
<CTRL+Q>    Turn off all pixels of character pattern block
<FCTN+8>    Turn on all pixels of character pattern block
<CTRL+C>    Copy character pattern to clipboard
<CTRL+X>    Cut character pattern to clipboard
<CTRL+V>    Paste character pattern from clipboard
<SPACE>     Toggle current character pattern pixel on/off
Key         Select any character key to edit its pattern
<CTRL+D>    Load font file
<FCTN+3>    Toggle 6-byte font pattern offset
<CTRL+W>    Toggle output file size between 1KB (ASCII 1 – 127) and 2KB (ASCII 0 – 255)
<CTRL+E>    Save font in fbForth 2.0 format
<CTRL+P>    Save font in TI Writer format
<FCTN-9>    Exit font editor

To aid in editing, the current pattern is shown actual size in a 6x8-pixel text-mode character box and an 8x8-pixel graphics-mode character box. The ASCII value of the current character is also shown. The edit cursor is a white '+' and can be moved around with the arrow keys. The pixel under the cursor can be toggled on/off with the space bar. You will see any changes appearing in all three display boxes.

 

You can load TI Writer format font files and toggle the font offset with <FCTN+3> so the patterns are properly registered for editing. Saving the font as an fbForth-2.0-style font will write the font starting at the first byte of the file. Saving it as a TI-Writer-style font will write six bytes of zeroes before writing the font to the file. The only other output variation is choosing whether to save only patterns 0 – 127 (1KB file) or all patterns 0 – 255 (2KB file). The blue '+' character marks which of these occurs with the next file save and is toggled with <CTRL+W>.

 

Fire away with any questions or suggestions.

 

I will post beta 10 to post #1 in a few minutes.

 

...lee

 

  • Like 2
Link to comment
Share on other sites

Very nice Lee! Seems to work quite well indeed.

Do you think we'll be able to have real cartridges for sale at the upcoming Faire in Chicago this November?

 

Thanks. :)

 

I can definitely bring some fbForth 2.0 EPROMs. I have 10—I suppose I could share 7 or 8. I can also alert Bob to bring a few 27C256 EPROMs as well. I can also bring my burner and eraser. At the moment, I have enough parts to populate 9 more boards; but, I only have 3 empty boards. I haven't done anything yet about getting cartridge cases or getting/making labels. I guess, if there were enough interest expressed soon enough, I could get a run of 64KB Guidry boards done. I could do some of the soldering <groan> or put together some board kits. I don't have any cartridge cases and Matthew's site doesn't show them available anymore. I do plan to demonstrate the cartridge if Hal gives me some time.

 

...lee

Link to comment
Share on other sites

Lee--I do have boards of the right type for you to use (I have at least a dozen of them assembled and 50 or so blank boards).

 

I have a few 379s (19, I think). I would need to get some more 27C256 EPROMs to burn if interest mounts. :ponder: Have you worked out production of cases, yet? Maybe we should have lunch at the Hard Times Cafe soon! :P

 

...lee

Link to comment
Share on other sites

Found a bug in the font editor—like that's news! :P I'm not going to fix it for awhile because it's minor. In fact, I could call it a feature and leave it in. It was my intention to force the font frame shift back to the default VRAM buffer address; but, I discovered I had forgotten to code that little detail. Instead, the frame shift (changed with <FCTN+3>) stays where you had it before the load, which means that, if you had previously loaded a TI-Writer-style font file and you follow with loading another TIW-style font file, the registration will be correct. The only problem that might arise if I don't fix this bug is that you might be led to believe that a file you thought was not fbForth compatible is fbForth compatible and, thus, doesn't require changing, which would be the wrong conclusion. Clear as mud, right?

 

..lee

Link to comment
Share on other sites

Chips are not a problem, Lee. I have about 500 of the 378s and about 200 of the 379s, I also have about 50 of the 27C256s. I've been buying parts in bulk whenever important parts I needed for a project were available. . .on cases, I have about 40 donor cartridges on hand at the moment, so those aren't a problem for now either (although I will get to making a few new cases once the weather cooperates).

 

Mmmmmmmmm Hard Times Chili. . . . . . .mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.

  • Like 1
Link to comment
Share on other sites

Chips are not a problem, Lee. I have about 500 of the 378s and about 200 of the 379s, I also have about 50 of the 27C256s. I've been buying parts in bulk whenever important parts I needed for a project were available. . .on cases, I have about 40 donor cartridges on hand at the moment, so those aren't a problem for now either (although I will get to making a few new cases once the weather cooperates).

 

Mmmmmmmmm Hard Times Chili. . . . . . .mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.

 

Name the day (except Tuesdays) and I can probably get there. I'll PM you in a bit.

 

...lee

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...