Jump to content
IGNORED

fbForth Updates


Lee Stewart

Recommended Posts

  • 3 weeks later...

A new FBLOCKS ZIP file has been posted on fbforth.stewkitt.com in “Downloads-->System Files” as well as in post #1 of the fbForth development thread. It adds a new welcome screen that allows choosing white-on-blue text modes instead of the usual blue-on-white, as well as reports of SAMS capability and low and high memory amounts. It also offers ports of TurboForth's BLK>FILE and FILE>BLK utilities.

 

...lee

Link to comment
Share on other sites

I just posted my fbForth 2.0 version of Dark Star, which was ported (with permission) from Mark Wills TurbForth version.

 

...lee

That's great! Runs lovely in fbForth. Did you find it straightforward to port? I seem to remember I wrote the code in a self-documenting style. Edited by Willsy
Link to comment
Share on other sites

That's great! Runs lovely in fbForth. Did you find it straightforward to port? I seem to remember I wrote the code in a self-documenting style.

 

Though porting of Dark Star was not really straightforward, the way you wrote the code definitely made the job easier. Here is some of what I had to change:

  • DATA[ ... ]DATA for <count> DATA ...
  • ' <word> CFA for ' <word>
  • 0= for NOT (fbForth uses 1 for returning TRUE; TurboForth returns -1)
  • <value> VARIABLE <word> for CREATE <word> <value> , ( CREATE works differently in fbForth)
  • convert numbers with leading $
  • Reorder stack arguments for GCHAR HCHAR COLOR
  • ?KEY for KEY?
  • Define U0. using <# # # # # # #> for U. with leading zeros
  • JCRU with player 1 for JOYST with player 0 (fbForth does have JOYST , but it works differently)
  • To keep the logic for BrickRows the same, I had to trick fbForth into believing the end of the screen was 1 character beyond its normal position
  • Changed definition of 'LevelData from using C, to a multi-block DATA[ ... ]DATA (This was not really necessary, but dramatically reduced load time)
  • To retain much of the logic, I defined several TurboForth utility words missing from fbForth: VALUE TO +TO 2* CELLS -ROT PICK <> >>

There may have been a couple of other changes, but the above was the bulk of it and, as you can see, not exactly straightforward.

 

...lee

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Hi Lee,

 

Quick noobs question.

I downloaded the classic99 files. When Unzipped (except the 8k bins of course) in the FBLocks folder there are 6 files plus 3 DSK files.

I'm looking to create whatever disk images I need to use on my real iron. That means using the GoTek and creating HFE files instead of DSK files.

Do I just copy all 9 files into a single floppy hfe image and I'm done? I'll have whatever disk fbforth wants? I ask because all of the files together (according to windows) equates to 984KB. That sounds like too much for a single hfe disk. Or are those three DSK files separate floppy disk images? I tried looking at the contents but they contain more DSK files named after the parent so something strange, almost like a weird inception if you keep drilling down. So I' a bit out of sorts on this one.

Edited by Sinphaltimus
Link to comment
Share on other sites

Hi Lee,

 

Quick noobs question.

 

I downloaded the classic99 files. When Unzipped (except the 8k bins of course) in the FBLocks folder there are 6 files plus 3 DSK files.

 

I'm looking to create whatever disk images I need to use on my real iron. That means using the GoTek and creating HFE files instead of DSK files.

Do I just copy all 9 files into a single floppy hfe image and I'm done? I'll have whatever disk fbforth wants? I ask because all of the files together (according to windows) equates to 984KB. That sounds like too much for a single hfe disk. Or are those three DSK files separate floppy disk images? I tried looking at the contents but they contain more DSK files named after the parent so something strange, almost like a weird inception if you keep drilling down. So I' a bit out of sorts on this one.

 

I presume you mean the current ZIP file, fbForth200_20171019.zip. That ZIP file contains the cartridge binary (fbForth200_9.bin) and 2 other ZIP files (fbForthBinPack_20171019.zip FBLOCKS_20171019.zip).

 

FBLOCKS_20171019.zip has all of the blocks files (FBLOCKS JESU TESTBLKS) and font files (FBFONT CHARA1FBF CHAR@1FBF) in the TI format I created them in in Classic99, as well as the three disk images you saw (FB4TH200A.DSK FB4TH200B.DSK FB FBFORTH200.DSK).

 

Those disk images are different sizes (90 KiB, 360 KiB and 400 KiB) and each contain some or all of the blocks and font files listed above. They will not all fit on the 90-KiB image. All of those files plus one more (HILO) are on each of the other two images. The 400-KiB disk image is for a nanoPEB or CF7+.

 

The only files you need copied to the HFE image are FBLOCKS and FBFONT. The other 5 are extra blocks and font files you might have fun with. For instance, the HILO blocks file contains the number guessing game I presented in Evanston in October.

 

Also, I am guessing you looked at the contents of the DSK disk image files with TI99dir when you saw the image name repeated in the left column for every file in the image. That is just the PC name and, yes, seeing it repeated seems awkward—it trips me up once in a while, too. The important names are the TI names and the listing is information for each of the files in the image, one per line.

 

Sorry if this explanation is overkill. I will try to be briefer next time <just kidding>.

 

...lee

  • Like 1
Link to comment
Share on other sites

Thanks Lee. I'll probably put all the files in one HFE and convert the 400kb dsk to an hfe and call it a day. I'm not ready to start playing with fbForth yet, I still do not have that initial understanding of the underlying structure and AL stuff. I just thought it was time to pick up the book and start reading and getting the disks ready that I may need for when the day comes. I keep your book and cart out next to my PEB console so I never forget about it. And working on my system yesterday I decided to at least get started with it. :)

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

  • 10 months later...

I updated post #1 of the development thread with all files related to fbForth 2.0:11, which includes new words,

  • BYE ( -- ) —A synonym for MON
  • SD0 ( -- addr ) —Returns the address of the bottom of the FIFO sound stack in low RAM
  • CMOVE> ( src dst cnt -- ) —Copies cnt bytes of src RAM to dst RAM in the opposite direction as CMOVE , i.e., from high RAM to low RAM. As with CMOVE and MOVE , it is not overlap safe.
  • ABORT" ( flag -- ) (IS:<message>") —If flag is nonzero, <message> is printed and ABORT is executed.

Also posted is the latest FBLOCKS file, with the new word, CFPMOUNT , added to the Compact Flash Utilities. CFPMOUNT persists the mounting of volumes until the next change, i.e., it survives a system reset or removal of the CF card. You may recall that CFMOUNT actions do not survive a system reset. See post #1480 of the development thread for more detail.

 

I will update fbforth.stewkitt.com in the near future.

 

...lee

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
  • 4 months later...
  • 4 months later...

 Post #1 of the fbForth development thread  has been updated with all of the files for the latest build, fbForth 2.0:12. I will update my website later this week.

 

I fixed a couple of bugs:

  • The trigonometric functions in the Floating Point Library returned erroneous results after I hooked the Forth ISR as the system default (in build 9, I believe),
  • DOT (used to plot a pixel in Bitmap mode) ignored half of the color palette you could set with DCOLOR .

The latest FBLOCKS has only cosmetic changes—mainly, new binary images for four of the menu options that depend on the build with which they were BSAVEd.

 

Let me know if you find any bugs or need assistance with anything.

 

...lee

  • Like 3
Link to comment
Share on other sites

  • 7 months later...
  • 2 months later...

FYI...

For those wanting to test the beta version of build 13, here is fbForth 2.0:A13

 

fbForth200_A13_20200922.zip85.74 kB · 5 downloads

 

Included are inverted (ends in “9.bin”), non-inverted (ends in “8.bin”) and individual bank (end in “b0.bin” – “b3.bin”) binaries, as well as the current FBLOCKS file. The individual binaries are bank-switched in inverted order, so, if you need to assemble your own composite binary, the programmed (inverted) order is b0, b1, b2, b3. Reversing this order to b3, b2, b1, b0, makes the composite binary, effectively, non-inverted—clear as mud, right? :ponder:

 

...lee

  • Like 1
Link to comment
Share on other sites

  • 4 months later...

Post #1 has become pretty cluttered with older files, which most folks will probably never need, and I have been meaning to clean it up, but have put it off until now, when I was made aware of the confusion it has caused. If anyone needs older files, I will provide them upon request.

 

...lee

  • Like 4
Link to comment
Share on other sites

  • 1 year later...
  • 5 months later...

I have decided to drop the price of the manual from $14.99 to cost, which is currently $7.70 on Amazon.com. It will go up to $10.56 on June 20 because that is when my publisher, Amazon’s Kindle Direct Publishing, is raising its print charges. The price should update within the next 2 or 3 days.

 

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