Skip to content

PaulSnow/Fifth

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Fifth

Not just Fifth... Professional Fifth!

Cliff Click and I designed and built Fifth while in graduate school. Fifth is a complete programming environment that is somewhat close to but not quite a 32 bit Forth. Fifth was written for 8086/8087 based IBM compatiable PCs. We later rewrote Fifth from the ground up for 68000 based embedded systems. The 68000 version was written in order to implement the first PostScript clone to Ship in a comerical Printer. (Printware's 720, in December of 1987)

The 68000 version was really fun, but almost certainly lost to the sands of time.

Fifth works very much like Forth, but provides this really cool if terribly simple character graphics based UI. Memory is managed using a heap instead of Forth's stack based memory management, and the scoping is tree based rather than linear as in Forth. Much of that won't mean much to you if you don't know Forth, and mostly won't matter much if you do.

Features include:

  • Exports stand-alone executables.
  • Selective Trace of Words
  • Snapshot (let's you add your stuff to the environment)
  • Help (written in Fifth)
  • Floating point support (using a separate floating point stack)
  • VGA Graphics operators
  • Lazy compilation (Words are compiled if you try to execute something that isn't compiled yet)
  • Operators for selecting words and forcing them to compile
  • Indirect addresses for Fifth execution
  • Direct address support for playing with hardware (Don't have any idea what this will do under DosBox!)
  • All the normal Forth weirdness

Anyway, for a number of years I couldn't put my hands on a copy of the full Fifth environment. This has really bothered me over the last few years, but not enough to mount all the old hard drives I have collected... (Hint: I have lots of old hard drives! "Toss the computer, keep the hard drive" -- the motto I live by!)

Looked first on the web, and found a number of Shareware versions. Shareware... Yes, you heard that right. Fifth predates Open Source by a few years.

But now, looking on my own drives, I have found a copy of the full version! And I hereby release Fifth to the world!

I'd like to say I am releasing Fifth as open source, but I can't because I doubt the source exists any more. If it does, it is on some even older drives and/or floppies that I haven't looked at yet. But all the various Fifth programs that were distributed with Fifth are here. And I welcome the world to add to the Library of Open Sourced Fifth programs!

((It would be really cool if I could find the old version of Postscript begun on PC Fifth, but that is almost surly lost to history.))

Fifth runs just fine in DosBox, which provides an old style MS-DOS environment on nearly all hardware so you can run those old MS-DOS based games!

You can find DosBox here: http://www.dosbox.com/

Feel free to download Professional Fifth, and freely redistribute as you see fit!

And if anyone wants to contribute new Fifth programs, feel free to contact me and I will make you a contributor!

snow.paul@gmail.com

About

Professional Fifth

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages