Difference between revisions of "FORTH"

From Ninerpedia
Jump to navigation Jump to search
 
(Add latest Forth incarnation, TurboForth by Mark Wills)
 
(2 intermediate revisions by the same user not shown)
Line 13: Line 13:
So the Forth Clearing House performed a great service for TI-Forth users, giving them access to programs and applications that they would never normally come across.
So the Forth Clearing House performed a great service for TI-Forth users, giving them access to programs and applications that they would never normally come across.


When Barry Traver wrote the first compression program for the TI, we found out that Forth disks couldn't be compressed. Compression didn't work with Barry Boone's archiver either. They both scrambled the sectors and the disk was unusable. TI-Forth access a diskette sector by sector. If a sector gets moved, then the compiler can't find the information it needs. I don't know who came up with the idea, but the solution was to pack the Forth disk with D-Copy and then run the archive on it. The person on the other end would de-ark the disk and then run D-Copy on it. A real pain, but at least we could then easily transfer disks online.
When Barry Traver wrote the first compression program for the TI, we found out that Forth disks couldn't be compressed. Compression didn't work with Barry Boone's [[Archiver]] either. They both scrambled the sectors and the disk was unusable. TI-Forth access a diskette sector by sector. If a sector gets moved, then the compiler can't find the information it needs. I don't know who came up with the idea, but the solution was to pack the Forth disk with D-Copy and then run the archive on it. The person on the other end would de-ark the disk and then run D-Copy on it. A real pain, but at least we could then easily transfer disks online.


When CorComp released their DSDD controller, the Forth community was faced with a new task, figuring out how to get TI-Forth to access the extra disk space. Forth was set up for SSSD access and it seemed a shame to have the access to larger diskettes and not be able to use the space for Forth. Jim Vincett was the first one to figure that one out. First he came up with code for DSSD and then a few months later revised it for DSDD use. It took the average Forth user probably about thirty minutes to type in the screens, check them, save them and then recompile so that they could take advantage of the larger disk space.
When CorComp released their DSDD controller, the Forth community was faced with a new task, figuring out how to get TI-Forth to access the extra disk space. Forth was set up for SSSD access and it seemed a shame to have the access to larger diskettes and not be able to use the space for Forth. Jim Vincett was the first one to figure that one out. First he came up with code for DSSD and then a few months later revised it for DSDD use. It took the average Forth user probably about thirty minutes to type in the screens, check them, save them and then recompile so that they could take advantage of the larger disk space.
Line 34: Line 34:


''Original information by John Carver. Original listing in TI FAQ by Dan Eicher.''
''Original information by John Carver. Original listing in TI FAQ by Dan Eicher.''
More recently Mark Wills has produced [[TurboForth]], based upon Forth 83, and available to run with TI99/4a emulators or it can be placed in a cartridge using a EPROM. Details at http://turboforth.net
[[Category:Programming language]]

Latest revision as of 19:34, 10 June 2015

In 1983, Texas Instruments released to every registered Users Group a copy of the Forth program diskette and manual. This was an unfinished product that TI decided to "dump" on the users. Due to the unique nature of the Forth language, some users believe that this is the best thing TI ever did for them. Forth is a very flexible language that lends itself well to customizing and extension to suit the individual programmer.

The version of Forth that TI had been working on was a "FIG" Forth, based on the standard developed by the Forth Interest Group. Since the product wasn't finished, there were several features that didn't work and a full compliment of bugs. For the first year or two after its release, user group newsletters were full of bug fixes and corrected code.

Although there were and still are several diehard Forth users, Forth in general never caught on with the average user. Part of the reason is the unusual syntax and programming style of Forth and part of the reason is that TI released an unfinished product. Forth's greatest virtue, its easy customization and extendibility, was also its downfall. Most of the people who worked with Forth for any length of time came up with their own bug fixes and extensions. There were no standards to cover this sort of thing and the end product was quite a few applications that would run only on the author's compiler. Forth code had ceased to be portable. Forth programmers had essentially created their own "Tower of Babel".

At about the same time that this was all going on, a Canadian firm released a commercial version of FIG Forth called Wycove Forth. There were enough differences between the two versions that not all code was portable. These were minor differences and dedicated Forth programmers were able to overcome this problem. Wycove used a different editor than TI-Forth and the Forth Screens were laid out a little differently. They both accessed a diskette differently also. Wycove's main claim to fame was that for the first couple of releases of the compiler they had a version on cassette for users that didn't have a PEB. Lack of interest and a initially hefty price doomed Wycove to the same oblivion as TI-Forth.

Minimum system requirements for TI-Forth were 32K memory, disk system, Editor/Assembler cartridge. Some versions were patched to load from Extended Basic. Funnelweb has always had a Forth loader in it and it could be used to run Forth. Except for the early cassette versions, Wycove had the same requirements.

During the early years of TI-Forth, there was one users group that tried to lead us away from the "Tower of Babel" that we had built. Gene Hitz and the Milwaukee Users's Group formed the "Forth Clearing House". For the cost of diskette, mailer and postage they would send you Forth programs that otherwise you wouldn't have access to. At that time Forth disks could only be copied with Forth itself. This was before disk managers had a sector copy feature. At that time Forth disks couldn't be transferred over BBS systems unless they had been packed with a utility from TI called D-Copy.

So the Forth Clearing House performed a great service for TI-Forth users, giving them access to programs and applications that they would never normally come across.

When Barry Traver wrote the first compression program for the TI, we found out that Forth disks couldn't be compressed. Compression didn't work with Barry Boone's Archiver either. They both scrambled the sectors and the disk was unusable. TI-Forth access a diskette sector by sector. If a sector gets moved, then the compiler can't find the information it needs. I don't know who came up with the idea, but the solution was to pack the Forth disk with D-Copy and then run the archive on it. The person on the other end would de-ark the disk and then run D-Copy on it. A real pain, but at least we could then easily transfer disks online.

When CorComp released their DSDD controller, the Forth community was faced with a new task, figuring out how to get TI-Forth to access the extra disk space. Forth was set up for SSSD access and it seemed a shame to have the access to larger diskettes and not be able to use the space for Forth. Jim Vincett was the first one to figure that one out. First he came up with code for DSSD and then a few months later revised it for DSDD use. It took the average Forth user probably about thirty minutes to type in the screens, check them, save them and then recompile so that they could take advantage of the larger disk space.

That's one of the things I like about Forth. It's so easy and quick to modify the compiler and make it do whatever you want it to do. After the first four or five years, only die hard Forth enthusiasts were using the package. Mike DeFrank from Florida released his Forth Utilities package.

This was essentially his customized version of the TI-Forth package with several interesting features.

Information about Forth was scarce in the early years. Unless one subscribed to a lot of user group newsletters, the only information readily available on BBS systems were two series of tutorials. One written by Lutz Winkler and one by George Symthe. A lot of people read STARTING FORTH by Leo Brodie, but it was written for a different dialect of Forth. The only book that I can remember that was actually written about TI-Forth was GETTING STARTED WITH TI-FORTH by Richard Schneider of TSS Software. It contained about the same information as the tutorials by Winkler and Symthe. There was a video tape made about using Forth, but I never saw it and have never found a copy. The early issues of THE SMART PROGRAMMER from Miller's Graphics had a lot of Forth articles, but they dispensed a lot of misinformation too.

The Hoosier User Group had a lot of Forth people in the early years and published some fine articles in their newsletter. If I remember correctly, they had one gentleman who was actually accessing the DSR's on the PEB cards and modifying them with Forth. A member of the HUGGER's also wrote one of the three most memorable programs of the early Forth years. It was a graphics program and I believe it was called Kibbet. The other two programs were a graphics program called JP Drawing and Rene LeBlanc's Universal Disassembler.

As the years wore on and the number of Forth users began to slip, the applications that were released became fewer and fewer, but were actually fantastic programs.

Glen Davis wrote a series of articles for Computer Shopper that were nothing short of amazing. He modified the Forth kernal so that it could be loaded into a supercart. By modifying the kernal and sticking it in the supercart he was able to free up five or six K of RAM and give us more room to work. He also added a set of Forth83 compatibility screens which allowed us to port over some software from other platforms.

Edgar Dohman and DataBiotics picked up the torch from Glenn and developed SuperForth which also loaded into a supercart but added several new features such as hard drive support.

Bytemaster Computer Services started publishing Super 99 Monthly and always supported Forth in almost every issue. After the merger between Super 99 Monthly and Smart Programmer took place they added a regular Forth column which soon became the best Forth column in publication. Second best was probably the series that the LA99'ers ran by Howie Rosenberg and Chick Dimarti. Lutz Winkler continued to have an occasional Forth article in MICROpendium. MICROpendium has always had high standards for Forth articles, and they've all been good, but due to the dwindling number of Forth programmers there haven't been a lot of articles there. That covers the highlights of the TI and Wycove Forth years.

Original information by John Carver. Original listing in TI FAQ by Dan Eicher.

More recently Mark Wills has produced TurboForth, based upon Forth 83, and available to run with TI99/4a emulators or it can be placed in a cartridge using a EPROM. Details at http://turboforth.net