+Lee Stewart Posted September 16, 2014 Author Share Posted September 16, 2014 Damn, that's nice! Thanks. I'm working on a thicker-outlined version of the TI Logo. I actually have it, but I'm fighting with the GIMP software. I think I'll reboot to see if GIMPy got sidetracked. ...lee Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted September 16, 2014 Author Share Posted September 16, 2014 OK—Here's the label with a better TI logo. The problem was mine, not GIMP's. : ...lee 1 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted September 16, 2014 Author Share Posted September 16, 2014 Anybody have a preference as to where I discuss the font editor in the manual? Chapter 3 is "How to Use the fbForth 2.0 Editors," which currently discusses the two text editors (40/80-column and 64-column). I could include the font editor in this chapter or give it its own chapter. What do you think? ...lee Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted September 16, 2014 Share Posted September 16, 2014 I'm inclined to making a new chapter, but that's just me. I'd wait for a few more opinions . Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted September 16, 2014 Share Posted September 16, 2014 I'd do a new chapter too, Lee--it keeps things clean when people are looking for information. 1 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted September 29, 2014 Author Share Posted September 29, 2014 OK—A new chapter it is. I'm going to try to have the fbForth 2.0 Manual done by this Friday's lunch meeting with you, Jim. That may be too ambitious, but I will try. I should have my cartridge stickers by then, as well. I think I will also officially release the fbForth 2.0 binary because I have finished with my coding and testing of added features and have not received any bug reports from users, which latter fact is surely due to the paucity of Forthers here. Perhaps the release will bring out more testers—not really the way to do it, but the bugs won't be discovered without use. ...lee Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted September 30, 2014 Author Share Posted September 30, 2014 Here's part of the fbForth 2.0 Manual’s “Introduction”: New to fbForth 2.0 are The facility for loading your own font in place of the default font in the cartridge (see Chapter 13 “User Fonts and the Font Editor”). Chapter 13 also provides instruction for using the author’s Font Editor. New words are SCRFNT , FNT , USEFFL and FONTED . Several software packages, previously requiring loading from FBLOCKS, are now part of the resident dictionary: 40/80 Column Editor, rewritten in TMS9900 Assembly Language (ALC) for efficiency, now including an on-screen menu Floating Point Math Library, which no longer uses the console GPL/XML-based library, and contains several new words, including FFMT. (includes a formatted print option for 3-digit E-notation) File I/O Library, including new words, >DEG , >RAD , CEIL , DEG/RAD , EXP10 , EULER_E , F>R , FABS , FCONSTANT , FMT. , FLOOR , FMINUS , FP1 , FP10 , FRAC , FROT , FVARIABLE , LN10INV , LOG10 , R>F , RAD/DEG and TRUNC BSAVE—Binary Save Routine All Graphics modes, including VMODE , an all-purpose mode-changing word Graphics Primitives Library, much of it rewritten in ALC .BASE—a new word for displaying the current radix (number base) in decimal Many new words and many words removed (see Appendix E “Differences: fbForth 2.0, fbForth 1.0 and TI Forth”). Let me know if I missed anything. ...lee Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 2, 2014 Author Share Posted October 2, 2014 Almost done with fbForth 2.0: A File-Based Cartridge Implementation of TI Forth (the manual). Chapter 13 “Screen Fonts and the Font Editor” is attached below. Let me know what needs changing. fbForth_2.0_Manual_Chapter 13FontsAndFontEditor.pdf ...lee 1 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 2, 2014 Author Share Posted October 2, 2014 Should I include the source code as the last appendix of the fbForth 2.0 Manual as I have been doing? Or, would it be more appropriate as a separate document? ...lee Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 2, 2014 Author Share Posted October 2, 2014 I think I will answer my own question, with a little poking from @Willsy—I will publish the source code in a separate document. That way I can get the manual out very soon—maybe even within the next couple of days! ...lee Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 2, 2014 Author Share Posted October 2, 2014 Here's my first cartridge for fbForth 2.0: ...lee 2 Quote Link to comment Share on other sites More sharing options...
Willsy Posted October 2, 2014 Share Posted October 2, 2014 GAME ON! It's *so* satisfying to run your own code from a cart. Very pleased for you, Lee! Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted October 2, 2014 Share Posted October 2, 2014 Excellent, Lee! Nice job on the label concept too! Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 3, 2014 Author Share Posted October 3, 2014 I just posted the manual for fbForth 2.0, fbForth 2.0: A File-Based Cartridge Implementation of TI Forth in post #1 of this thread for your perusal. Please let me know of anything you think needs changing. ...lee Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 3, 2014 Author Share Posted October 3, 2014 I just posted the fbForth 2.0 ZIPs in post #1. They are basically the same as beta 10 without the “beta 10” message. Please let me know of any bugs you find. ...lee Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 4, 2014 Author Share Posted October 4, 2014 I started printing the manual and realized that pages after the TOC are mis-registered. This only matters if you print the manual double-sided. If you do that, print through the TOC (an odd # of pages)—then, print the rest, starting with the next page. I will post a corrected manual in a few days that forces a blank page after the TOC. ...lee Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted October 7, 2014 Share Posted October 7, 2014 This is a little aside but I was reading Jerry Pournelle's User Column in the Byte issue of December 1980 and he was reviewing the available programming languages for microcomputers. He states: "Which concludes my overview of languages. I haven't mentioned STOIC and FORTH, because they're really a kind of assembler language using the programmer as a parser; they make programming a bit easier, but you've got to be into assembler work before you can use them, and this is, after all, the User's Column. " Come to think of it, he's not that far off... Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 7, 2014 Author Share Posted October 7, 2014 ...but you've got to be into assembler work before you can use them... I heartily disagree! You do not need to know assembler to use Forth. You can certainly use assembler (and more easily, at that) if you wish and it certainly doesn't hurt to "be into assembler", but you don't need it. ...lee Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted October 7, 2014 Share Posted October 7, 2014 I think he was more referring to the fact that one has to directly and consciously manipulate the stack in Forth, which is a concept more akin to assembly than a high level language. IMHO, the way assembly language programmers build a program is closer to Forth and any other high level language, and so may have an easier time adapting to Forth than someone with only say BASIC or Pascal programming experience. I agree with you of course that Forth can certainly be learned from scratch by the complete programming newbie, who actually will likely have an easier learning curve with it than someone saddled with past programming experience in another language Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 7, 2014 Author Share Posted October 7, 2014 I see what you mean. It is, however, more structured than Assembler. And, as you know, you can use the Forth Assembler to program in structured ALC! ...lee Quote Link to comment Share on other sites More sharing options...
Willsy Posted October 7, 2014 Share Posted October 7, 2014 You can also use it to create your own high level language. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted October 8, 2014 Share Posted October 8, 2014 You can also use it to create your own high level language. Just like assembly Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 10, 2014 Author Share Posted October 10, 2014 I started printing the manual and realized that pages after the TOC are mis-registered. This only matters if you print the manual double-sided. If you do that, print through the TOC (an odd # of pages)—then, print the rest, starting with the next page. I will post a corrected manual in a few days that forces a blank page after the TOC. ...lee Just in case someone finds errata in the manual between now and the Faire, I think I will wait until just before I leave for that august assemblage to post the updated manual with the corrected page registration. ...lee Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted October 10, 2014 Share Posted October 10, 2014 It's an assemblage alright. Not sure about the august part, but if you say so... Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 14, 2014 Author Share Posted October 14, 2014 (edited) I've ported @Willsy's TurboForth cataloging utility to fbForth 2.0. It runs the same way, e.g., DIR DSK1. will display the directory of DSK1: DECIMAL 0 VARIABLE CatRec 36 ALLOT ( CPU RAM Catalog record buffer) PABS @ CatRec OVER 70 + FILE Cat ( Create Catalog file reference) 0 VARIABLE Total 0 VARIABLE FCount 0 VARIABLE LC HEX 0B11 VARIABLE Tabs 1700 , ( tabs at 11, 17, 23) DECIMAL : Tab ( n --- x ) Tabs + C@ CURPOS @ SCRN_WIDTH @ / GOTOXY ; ( Convert Radix-100 number in CatRec to 16-bit integer) : @R100 ( i --- v ) 9 * CatRec DUP C@ + 2+ + PAD 8 CMOVE ( in case on odd boundary) PAD F@ F->S ; ( Display disk information) : DskInfo RD DROP CR CatRec COUNT ." Disk Name: " TYPE CR ." Total: " 1 @R100 DUP U. 2 SPACES ." Free: " 2 @R100 DUP U. 2 SPACES ." Used: " - U. CR ; ( Display file type and record size) : Ftype ( ftype --- ) CASE 1 OF ." DF" ENDOF 2 OF ." DV" ENDOF 3 OF ." IF" ENDOF 4 OF ." IV" ENDOF 5 OF ." PRG" ENDOF ." ???" ENDCASE 2 @R100 -DUP IF . THEN ; : Head1 ( --- ) ." ---------- ----- ----- -" CR ; : Head ( --- ) ." Name Size Type P" CR Head1 ; ( Catalog each file in directory) : DoDIR ( --- ) 0 LC ! 0 Total ! 0 FCount ! Head BEGIN LC @ 20 MOD 19 = IF KEY DROP CR Head THEN RD DROP CatRec COUNT DUP WHILE TYPE 1 @R100 1+ DUP 0 Tab 5 U.R Total +! 0 @R100 1 Tab Ftype CR 1 LC +! 1 FCount +! REPEAT DROP DROP Head1 FCount @ . ." files" 0 Tab Total @ 5 U.R ." sectors" CR ; ( Catalog the directory) : DIR Cat SET-PAB ( Initialize PAB skeleton) INTRNL FXD RLTV INPT 38 REC-LEN ( Initialize catalog parms) ( Get directory name from inout stream) PAB-ADDR @ 10 + 32 WORD HERE COUNT >R SWAP R VMBW R> N-LEN! ( Get the catalog and display it) OPN ( open the catalog) DskInfo ( display disk info) DoDIR ( display file list) CLSE ( close the catalog) ; I will add this to the next version of FBLOCKS. In the meantime, you should be able to paste the above code into fbForth 2.0—at least, in Classic99. ...lee Edited April 12, 2016 by Lee Stewart Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.