Difference between revisions of "FbForth"
(Created page with "Forth by Lee Steward. Category:Programming language") |
(Category) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Forth by Lee | [[File:fbForth.png|right]] | ||
Forth by Lee Stewart. | |||
fbForth is a variant Forth language produced by Lee Stewart and available for burning into a TI Module. Unlike TI Forth which uses a sector based disk access, fbForth uses block based access to a disk file. | |||
As as June 2016 the language was Version 2. | |||
"Forth has been near and dear to my heart ever since I discovered TI Forth in late 1983. Over the years, I worked at converting the TI Forth Manual to a modern document form, while making it clearer and correcting a few errors along the way. In the process, I found myself wishing the TI Forth developers had opted for file I/O for Forth screens (now, blocks) instead of the fig-Forth disk-sector I/O, which made software exchange very difficult. This frustration gave birth to “file-based Forth” known as fbForth 1.0. I added several words to the language that seemed useful, many ported from TurboForth (author: Mark Wills). Adding an 80-column text mode improved the text-mode editor. I have tried to maintain compatibility with TI Forth for the most part. By the time fbForth 1.0 was released, I had become proficient enough in TMS9900 Assembly Language (ALC) that I felt up to the challenge (mostly from Mark Wills’ cajolery) of hoisting fbForth into cartridge space (ROM). Thus was fbForth 2.0 spawned. Only having 32 KiB RAM available for both the Forth resident and user dictionaries forced a relatively small footprint for fbForth 1.0 and TI Forth before it. fbForth 2.0, however, benefited from the much greater space to be had in ROM. It seemed more than sufficient at the time to go with 32 KiB. This allowed for adding many of the optional words to the kernel. I took this opportunity to convert a fair number of words from high-level Forth to ALC, which dramatically increased the speed of the graphics primitives in particular. Porting the Geneve MDOS L10 Floating Point Library to ROM (with permission from Beery Miller of 9640 News) allowed fbForth 2.0 to output three-digit exponents in E-notation. It always puzzled me that the TI developers limited E-notation to two digits in the TI-99/4A’s OS. fbForth 2.0 also features a font editor to allow users to easily modify existing fonts or design their own. Many features suggested by other Forthers have been added as ROM space has allowed, which has required extensive refactoring at times. The 32 KiB ROM is now 98 % full at 502 words." —Lee Stewart | |||
[[Category:80 column]] | |||
[[Category:AMS]] | |||
[[Category:Programming language]] | [[Category:Programming language]] | ||
[[Category:Module]] |
Latest revision as of 05:31, 24 October 2020
Forth by Lee Stewart.
fbForth is a variant Forth language produced by Lee Stewart and available for burning into a TI Module. Unlike TI Forth which uses a sector based disk access, fbForth uses block based access to a disk file.
As as June 2016 the language was Version 2.
"Forth has been near and dear to my heart ever since I discovered TI Forth in late 1983. Over the years, I worked at converting the TI Forth Manual to a modern document form, while making it clearer and correcting a few errors along the way. In the process, I found myself wishing the TI Forth developers had opted for file I/O for Forth screens (now, blocks) instead of the fig-Forth disk-sector I/O, which made software exchange very difficult. This frustration gave birth to “file-based Forth” known as fbForth 1.0. I added several words to the language that seemed useful, many ported from TurboForth (author: Mark Wills). Adding an 80-column text mode improved the text-mode editor. I have tried to maintain compatibility with TI Forth for the most part. By the time fbForth 1.0 was released, I had become proficient enough in TMS9900 Assembly Language (ALC) that I felt up to the challenge (mostly from Mark Wills’ cajolery) of hoisting fbForth into cartridge space (ROM). Thus was fbForth 2.0 spawned. Only having 32 KiB RAM available for both the Forth resident and user dictionaries forced a relatively small footprint for fbForth 1.0 and TI Forth before it. fbForth 2.0, however, benefited from the much greater space to be had in ROM. It seemed more than sufficient at the time to go with 32 KiB. This allowed for adding many of the optional words to the kernel. I took this opportunity to convert a fair number of words from high-level Forth to ALC, which dramatically increased the speed of the graphics primitives in particular. Porting the Geneve MDOS L10 Floating Point Library to ROM (with permission from Beery Miller of 9640 News) allowed fbForth 2.0 to output three-digit exponents in E-notation. It always puzzled me that the TI developers limited E-notation to two digits in the TI-99/4A’s OS. fbForth 2.0 also features a font editor to allow users to easily modify existing fonts or design their own. Many features suggested by other Forthers have been added as ROM space has allowed, which has required extensive refactoring at times. The 32 KiB ROM is now 98 % full at 502 words." —Lee Stewart