I've tried to learn Forth in the past. But I gave up in frustration. Mainly because of the Reverse Polish Notation. Which is odd for me because I worked on a calculator program years ago and I was studying implementing RPN in it at the time.
For the life of me, I just could not get
Code:
2 3 +
That just doesn't sound right! I always felt like I was missing something. I knew the concept in my head, but it never materialized.
That is until the other day when I discovered the "Starting Forth" book.
https://1scyem2bunjw1ghzsf1cjwwn-wpengi ... -FORTH.pdfI guess I'm more of a visual learner than I thought. The cartoons really helped and the writing style is also easy to understand. It's starting to sink in!
I still have a few issues with solving problems like
Code:
A - B / C
Mainly knowing when to use SWAP, etc.
But I have to admit, I'm really enjoying it. Being able to rapidly create chained objects (words) out of smaller words, etc. is very productive. It's almost like you get debugging built in for free. Once you know that a custom word like "STARS" works, you can feel confident in using it in things like "40 STARS", etc.
Right now I'm using an online Forth environment but I really want to implement Forth in my SBC (after I finish my mini-monitor).
1) What 6502 Forth do you guys recommend?
2) How much is Forth in your SBC? Meaning, do you use it more for things like DOS routines or do you use it all the way down to the driver (audio, serial, I2C, etc.) level?
I envision my SBC having a crude, interactive OS driving menus, launching BASIC or Forth environments and playing audio tunes. I'm wondering how far to try and take Forth vs. assembly.
Thanks!