I think I’ll work on storage blocks and the editor in my FORTH, or maybe converting memory to be byte-oriented. I guess I’ll decide on what I feel like working on at the time.
Hm. It just hit me I could now easily convert my FORTH from being implemented in Python to Swift. I won’t do either until it’s done. Normally, I’d just jump right in and do it, but I’m trying to teach myself to be more patient.
This evening, I’ll work on the virtual memory for my FORTH implementation. It’s going to be a bit weird since I’m not using true memory or even bytes to store stuff, but it should work. At some point maybe I’ll convert it to being byte-oriented.
I’m just having fun with this FORTH project. I’m at the stage where some of the words are actually implemented in itself rather than the underlying Python. I think once I get conditionals working, I can convert some of the existing words to FORTH.
I am happy to announce the 1.1.0 release of Mecrisp-Quintus, an optimising #Forth compiler capable of generating native code with constant folding and register allocation which is now also available for 64 bit #riscv RV64IM and RV64IMC targets in addition to RV32I(M)(C) and MIPS M4K.
Success! I got gForth running, but I wasted a couple of hours trying to figure out why it wouldn’t run on one of my Pis. Turns out I was trying to run it on a newer version of a Pi4 and apparently that doesn’t work. Once I used another Pi4 with an earlier version, it all worked.
A followup. There are implementations of FORTH on RaspberryPi, including a “bare metal” one. I dont want to tie up one of my Pis, so I may opt for the more standard one, gForth.
Now this is #retrocomputing: someone has ported 40 year old #RTS from some uncertain #Forth dialect from the #AppleII to gForth. It originated a Byte Magazine article.
The game is playable on #Linux in a terminal at 40 columns. Someone else modernized the game to be 80 column native and make a handful of other quality of life improvements.