Raspberry Pi gets a competitor
lanternfish
Posts: 366
For the interest of the FORTH fans out there:
http://www.newelectronics.co.uk/electronics-news/raspberry-pi-gets-a-competitor/55792/
http://www.newelectronics.co.uk/electronics-news/raspberry-pi-gets-a-competitor/55792/
A small, low cost development board designed to help beginners learn the basics of computing has been unveiled by RS Components.
FIGnition inFUZE is supplied as a small, bare pcb and a set of components including an 8bit 20MHz ATmega328 microcontroller, 512Kbyte flash memory chip and 8Kbyte ram device.
Designed for construction by beginners, the device comes pre-loaded with the Forth programming language, allowing users a simple way to learn and run computer code.
Power is supplied via a usb port, and the board connects to a PAL or NTSC format tv displaying a 25 x 24 text or 160 x 160 bitmapped graphic image.
No external keyboard and mouse are required to get started: all commands and programming can be executed easily using the on-board eight-key keypad.
Jonathan Boxall, global head of semiconductors for RS Components, commented: "Building the FIGnition inFUZE from scratch is a great, interactive way for young people to gain their first hands on learning experience of how computer hardware works.
"Its low selling price makes it widely accessible and a valuable tool for educational purposes. It is one of a growing number of easy to use open source development boards that provide a fun and useful introduction to computing to the engineers of the future."
Comments
A quickstart with propforth would be cheaper, and more powerful all the way around, and would be complimentary addtion to an RPi, but not "competition".
How could an ATmega328 compete with an RPi? That's like a screw driver competing with a wrench.
The first time was this thread back in 2011:
http://forums.parallax.com/showthread.php/132696-1.5KB-Wear-levelling-FLASH-filesystem-driver...?highlight=fignition
The difference between this and the Arduino is that this can conenct to a TV without adding circuitry, and that it has a keyboard. No other computers needed.
(USB port is primarily for power, but can also be used to upgrade firmware or transfer program files. Transferring programs is a bit fiddly... )
Also, anyone can assemble it themselves. No SMT or other really fiddly bits.
It's fun to play with now and then. Unfortunately, my brain isn't FORTH-compatible so it tends to reboot after 3 minutes of exposure...
Actually, that's probably by design. During development, any mistake you make will likely corrupt something. And if your mistake doesn't crash the system completely, it will lurk and drive you crazy, as the issue (a result of a previously corrected bug) will haunt you until the next reboot, and thus inexplicably disappear. This makes beginners crazy, until they grasp the test-reboot pattern. So you are SUPPOSED to reboot in between experiments, every time. After thorough testing, the final application can usually end up pretty close to bullet proof.
If AVR is the targeted chip, AMforth has a very large user base and continuous support.
http://amforth.sourceforge.net/
Matthias is a bit impatient with beginners, but forth is usually designed for engineers, and not for the faint of heart.
As far as I know, only propforth, via its documentation, is intended for beginners. Its kind of a challenge to get folks started with such a powerful tool.
As gadgetman says above, some folks may simply be incompatible. But I still try anyway.
And as far as documentation is concerned, pfth uses the ANS Standard document for its reference. I don't think propforth has that level of documentation. And a beginner can use pfth along with "Starting Forth" to learn how to program. So I question your statement that propforth is the only Forth intended for beginners.
EDIT: One other thing. propforth doesn't even have the words ! and @, which are fundamental to any Forth implementation. And it implements CREATE differently than is commonly done. The programmer can create these words, but that's not a very beginner-friendly approach. So I would say that propforth is not intended for beginners because of its deviation from common Forth dictionaries.
What is it about certain brains that make them "FORTH-compatible" or not? I came across Forth when I had only been programming in machine code, assembler, Fortran, and Basic etc but just before I started learning C. Anyway I was immediately fascinated and developed some disk test routines as it was easy to access the hardware directly in a friendly way without decimal peeks and pokes and gotos etc. Later I was able to develop whole new POS systems which utilized the limited hardware very efficiently so I was able to get the max out of hardware and software compared to at least one other teams approach with C, lots of memory, then more memory, more hardware, bigger board, lots more money, lots more people, lots more time (years in fact).
So what is it that is so difficult with Forth? I think maybe that most try to write Forth as if it were C and only as a compiler rather than interacting and refining methods and concepts.
Ray
Now if there were an idiots guide to Forth that laid out is simple terms:
How to make named variables.
How to make arrays.
And it my not quite childish demands:
How to do arithmetic on complex numbers.
Then might get a decent start. Turns out asking such questions here has not resulted in any advice yet.
I can't read "Going Forth" or whatever it's called, the style immediately freezes my mind.
Does any one remember the Jupiter Ace? No, exactly.
An 8 bit machine in the era of C64s and such. When all machines were for beginners as pretty much every customer was. It was a Forth machine. Seems the beginners rejected it over machines with more normal BASIC.
There is still hope for those that can't seem to get it. What really made it comprehensible for me was that it was a great way to get going with PASM... in small chunks as Forth words.
It optimized 'interactive exploration of the microcontroller'. It does not formalize or potificate a rigid system.
The simple fact is a a QuickStart or a Propeller Project Board provides an excellent 'bang for the buck' that is hard to beat in the world of Forth on a microcontroller. And you have 3 active versions of Forth to explore.
Prof Braino has mentioned that Android OS has Forth available... I guess includes Android on a Raspberry Pi. But it is rather ho-hum. The Propeller can run 7 active Forth machines at the same time in PropForth... and it is rather easy. Makes it easy to build your own deep sea ROV.
David,
Between the two of you I can deduce that:
1) From David: Forth is not good for the higer level things I want to. C is better and other languages will be even better for many jobs. JavaScript is my current fad by the way.
2) Loopy's statement pretty much says " anything lower level than C I want to do is better done in assembler." Which suits me fine as assembler is actually understandable.
Ergo, there is no space in my range of activities where Forth is a good fit.
Perhaps that's why I have trouble learning it. My subconcious is nagging me "stop, stop, there is no point to this".
Others milage may vary.
Why does the above sound silly in any other discipline EXCEPT programming when someone says It about their evangelical language?
A variety of tools exist for a good reason.
...now I need to go plane down some firewood!
Of course they do. And there is skill in knowing exactly the right tool for the job.
But let's not push that too far. If you work in a machine shop and all your work is metric having a set of British Standard Whitworth taps and dies that is never used may be a tad silly and a waste of money.
What I have learned today is that the gap between, "needs assembler" and "needs a higher level like C" is vanishingly thin so there is nowhere Forth will be beneficial.
At least form my range of activities.
I just made my 500th post .
Not to got too far off on this tangent, but @ and ! mean fetch and store a CELL. How big is a CELL on the prop? LONG if its in COG memory, and WORD if its in hub. So we decided since there was more than one answer, we better explicitly state L@ and L!, W@ and W!, C@ and C!, and COG! and COG@. Using @ and ! would be incorrect and/or confusing about half the time. At least in propforth. So we eliminated those and prevented that class of issues, with the trade off stated. This has been explained before and remains a non issue.
Same with CREATE, it doesn't work the standard way because the prop's unique considerations. We don't need CREATE to define arrays, and most any other use of CREATE is advanced.
As always, each person should use the tool that suits them best.
I missed this while I posting my analogy. In this respect, I agree with you.
I don't understand that statement. 32 bits is the natural size everywhere given the Prop is a 32 bit machine.
Why isn't a CELL in HUB a BYTE?
It reminds me more of the Jupiter ACE which I had played around on very, very briefly way back when ...
Certainly not a RPi competitor.
As far as the Fignition, I don't think that it will compete with the Arduino or Raspberry Pi. But it's creator has been pretty determined to get the word out, so it's likely to continue its modest success. Given that it is only about $40 US it's almost worth getting one just to see what it is like.