Jump to content
IGNORED

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


Lee Stewart

Recommended Posts

Woot! that did it!

 

HEX

EFA0 SO&TIB! . -1060 ok:0 (move stuff so fbForth doesn't get messed up)

FF F000 ! ok:0 (store FF into the page before I page it out.)

F000 @ . FF ok:0 (make sure I stored it)

0 F000 >MAP ok:0 (page bank 0 into F000)

F000 @ . 0 ok:0 (peek at what is there, oh, it is already 0, not FF, yes! )

FF F000 >MAP ok:0 (page bank FF - the default for F000 - back into F000)

F000 @ . FF ok:0 (see if what I tucked away is still there, and it is!!!)

 

-M@

  • Like 1
Link to comment
Share on other sites

I haven't had too much time to try and play with things yet, Lee. I've been buried under SAMS requests. . .I put all of the sockets onto nine more boards today. Now I have to put all of the other bits and pieces on and do some testing. . .

 

You're a good man, Charlie Brown. You, of all people, should not be offering anything remotely resembling an apology. I think Matt and I have this one. The wait time between fix attempts is maddening but we'll get'er done.

 

...lee

  • Like 1
Link to comment
Share on other sites

SAMS! works too!

 

SAMS! ok:0

0 F000 >MAP ok:0

BE F000 ! ok:0

F000 @ . BE ok:0

SAMS! ok:0

F000 @ . FF ok:0 ( value left over from previous test! )

 

-M@

 

Okey dokey! :-o :thumbsup: :thumbsup: :thumbsup:

 

I will package it up as fbForth 2.0:8 as soon as I can. I will post it here and, when I update FBLOCKS with new BSAVEs for the TMS9900 Assembler, 64-Column Editor and String Library, I will post it all to post #1.

 

...lee

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

On page 30, Appendix B, the last 3 entries... SCRFNT and JMODE use one notation for not zero, and then WRAP uses a different notation. Same thing on page 33 for WRAP. It seems it would be good to express this in the same way, unless I'm misunderstanding something.

 

-M@

  • Like 1
Link to comment
Share on other sites

On page 30, Appendix B, the last 3 entries... SCRFNT and JMODE use one notation for not zero, and then WRAP uses a different notation. Same thing on page 33 for WRAP. It seems it would be good to express this in the same way, unless I'm misunderstanding something.

 

-M@

 

Oh, and if I were more civilized, I'd probably have said: "Nice job Lee!" because it is, definitely a nice job!

 

That is a sharp addendum. I tried out a few bits I hadn't before, and it seemed to work as described. Sadly, I haven't had a chance to do much with the new speech and ISR features. But my existing user ISR were in no way broken by them. I suspect soon enough, this will go to the printer! :)

 

Thanks!

-M@

  • Like 1
Link to comment
Share on other sites

On page 30, Appendix B, the last 3 entries... SCRFNT and JMODE use one notation for not zero, and then WRAP uses a different notation. Same thing on page 33 for WRAP. It seems it would be good to express this in the same way, unless I'm misunderstanding something.

 

-M@

 

Good idea. I will change it. Thanks.

 

...lee

Link to comment
Share on other sites

Oh, and if I were more civilized, I'd probably have said: "Nice job Lee!" because it is, definitely a nice job!

 

That is a sharp addendum. I tried out a few bits I hadn't before, and it seemed to work as described. Sadly, I haven't had a chance to do much with the new speech and ISR features. But my existing user ISR were in no way broken by them. I suspect soon enough, this will go to the printer! :)

 

Thanks!

-M@

 

Thanks for the kind words, Matt! :)

 

BTW, I would not send it to the printer until the next draft. Printing of the pages is screwed up by an extra blank page before the TOC. I will wait for a few more edits from this forum and, at least, one more pass by my eyes before I post another draft.

 

...lee

Link to comment
Share on other sites

I have posted Addendum 2.0:8 to fbForth 2.0: A File-Based Cartridge Implementation of TI Forth in post #1.

 

There is also a new FBLOCKS file (17JUN2016) that fixes a bug in CPYBLK that would copy blocks from the wrong file if they were already in block buffers and had corresponding block numbers. I added EMPTY-BUFFERS as CPYBLK ’s first action.

 

Now, I am going to get @Willsy’s DarkStar working in fbForth 2.0:8 (I believe @jedimatt42 said it was broken)—then, on to updating the manual! :grin:

 

...lee

  • Like 1
Link to comment
Share on other sites

I'm curious, what were the nature of the changes required?

 

-M@

 

I am actually not sure what fixed it. There was a “ BASE ! ” without a corresponding, previous “ BASE @ ”; but, that should not have affected running the program—only issued an irritating error message at load time.

 

Otherwise, all I did was to change compiling long stretches of hex code with comma ( , ), INTLIST and BYTELIST to doing it with DATA[ ... ]DATA , as well as a cosmetic change or two. Maybe there was something wrong with the ZIP file contents. :?

 

Anyway, DarkStar is a lot of fun and I certainly thank Mark Wills (@Willsy) for developing the game and giving me permission to port it to fbForth 2.0! :music:

 

...lee

  • Like 1
Link to comment
Share on other sites

I'm curious, what were the nature of the changes required?

 

-M@

 

Actually, upon further reflection, the problem may well have been that unmatched “ BASE ! ” because it would have stored whatever value was below the stack as the new radix. That value would be the first two characters of whatever was last typed and thus stored in the TIB—likely, a very large and unrealistic number!

 

...lee

Link to comment
Share on other sites

I modified the Addendum to the manual because of a page-registration problem between Appendix A and Appendix B. In the process, I added ASM>CODE to the Glossary, which is now also in the current FBLOCKS.

 

Both the latest Addendum (fbForth_2.0_Manual_Addendum_20160620.pdf) to the manual and the latest FBLOCKS (FBLOCKS_20160620.zip) are in post #1.

 

...lee

  • Like 2
Link to comment
Share on other sites

Though in no particular hurry, I am beginning to think about the update to ​fbForth 2.0: A File-Based Cartridge Implementation of TI Forth, otherwise known as the fbForth 2.0 Manual, which was last updated exactly one year ago today. The recent Addendum, of course, brings users mostly up to date; but, when the fbForth 2.0 Manual was last published, build #2 (fbForth 2.0:2) was current. It is now fbForth 2.0:8! Much has changed and ought to be updated in the fbForth 2.0 Manual where not changing it might well cause confusion—even with the Addendum.

 

Now is the time to consider whether any additions are warranted. One that I am thinking of including is an appendix that lists the commented, neatly presented, high-level Forth code for many words in FBLOCKS—especially those I have written or modified and those ported from TurboForth. Let me know what you think about adding such an appendix, as well as any suggestions you might have otherwise for changes and additions.

 

...lee

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