PPCForth started out life as a basic S-record loader and as a way to boot boards I constructed. It was lean, mean, and completely inflexible. I ended up writing a LOT of little assembly programs just to try out new hardware I attached, and it got pretty old fast. I looked around quite a bit for something that would allow me to interactively test and program things, but I wasn't able to find much. Everything I found was written in C, and had loads of cruft that I wasn't interested in (not that C is bad, but it usually meant an extended debugging session trying to strip out irrelevant stuff). I had played with FORTH before and found it worked well in minimal environments, so I went ahead and created the monster you see today. It's not particularly standards (ANS) compliant, but it was never meant to be something you'd quit your day job to program under. Anyone is welcome to try, though ;-)
A couple years ago I released an early version of it under the named "44", but unfortunately I never had the time to maintain it. Hopefully PPCForth will fare better.
Some people may question the reason I wrote the entire thing in assembly. It basically adds up to two things: One, I included a lot of low-level access to CPU internals, such as configuration registers, the MMU, etc, which would have been less pleasant to do in C; and Two, I LIKE programming in assembly. Programming it that way let me work at the levels of detail that I wanted, and also let me try out fun things like multi-tasking. Someday I may rewrite it in C, but I wouldn't hold your breath.