Category Archives: Embedded and mobile phone platforms

GA144, arrayForth, and 144 throbbing cylinders of joy

Getting one’s head around new concepts and tools is fun and maddening. colorForth is both. Mostly confusing. And I’ve been mad.

Forth is obviously maddening to a typical nube. Why would I conclude that? Because the forums are littered with dumb arse comments that Forth is this, or that, mostly uninformed comments, from devs who have given up at their first or second real hurdle.

Bias? Yes. Loss of comfort zone? Yes. Small weeners? Maybe.

Forth is simply different. If you need Windows like my wife needs an automatic transmission, then don’t pick up the keys labeled ‘Forth machine’. Are you a click, click, clickity click dev? Forth is most definitely not for GUI lovers. Sadly these devs have left a trail of annoying crap to get past, which I must wade through before I eventually get to what the forth people are providing – helpful technical advice.

There is definitely a learning curve and a voyage of discovery. I played with (with varying degrees of success) plain colorForth (via bochs), Xcolorforth, GLcolorforth, and finally arrayForth. The latter is the easiest, by far, of the colorForth’s to get going with. Or did I simply read and play enough in getting to my eureka moment!

In my case I was mostly banging my head against the modified dvorak keyboard. And the block editor. Still am. But it’s no more weird than learning vim.

Admission. I had used a bare metal forth over 25 years ago with the aforementioned block editing, and 16kB of RAM, but had only played with the likes of gForth since. Played. Pleasantly atop linux of course. Emacs to pump commands to it, as if I was using a REPL no less. Like in this posting from last year. Mere child’s play.

Then I wanted to grok the GA144, a tiny 1cm square beast with 144 nodes and capable of  100 billion operations per second. Rrrrrr.

You really need to sit comfortably, turn the key, and feel that throbbing.

On the bottom far left is the number 144. I could at least generate that.

It’s on the stack after my running  (18  8  *), confirming the number of GA144 nodes that I saw represented top right of the screen.

Then I sheepishly fired on 2 cylinders. This image is just two F18A computers thrashing away like two ferrets up a trouser leg.  On the stack is the word ‘png’ which generated these images. It’s all so cool, and I’m so out of my depth. Almost the complete stack of forth words are available to me, so I have a live software machine (VM) at my fingertips (not a locked down Java VM or CLR).

This is supercomputing on a budget. 144 computers all running forth! Unreal.

I’d always wanted my own transputer, ever since my brother brought home a stack of wafers from Inmos. Back in the ’80s. They never did catch him. Until now.