You might be interested in the Jupiter Ace. It was essentially a ZX81 variant with FORTH in ROM and had quite a following - possibly from people imagining they could use it to control Jodrell Bank. Edit: this is a really good intro to FORTH. Thanks!
Other computers that came with Forth in ROM were the Micronique Hector HRX and Hector HX from France, but they are more rare than the Jupiter Ace. You can emulate the HRX in MAME using the 'hec2hrx', 'hec2mx80' or 'hec2mdhrx' ROMs.
More like a sort-of half way house between the '81 and spectrum... user defined graphics, crappy sound and dead-flesh keyboard but black-and-white with a tiny RAM.
The Parallax Propeller II multi-core CPU has TAQOZ Forth built into its boot rom. That CPU is usable with only external decoupling capacitors and a power supply. So you can have a relatively powerful chip that can boot into Forth just by attaching a TTL-to-USB Serial dongle to 3 pins on the cpu (including GND). This chip is in production and is very much a recent development. It was introduced in 2020. It is a rather opinionated chip design, but very, very powerful, and an absolute analog I/O powerhouse. That thing has 64 8-bit DACs built in, each of them updates in a couple dozen ns (!). Those DACs can be harnessed to form 16-bit interpolating DACs, all in hardware. It also has 32 sigma-delta ADCs (or 64? I don't recall). Just the GPIO is very powerful by itself, and highly configurable. It is a magical chip for use in real-time digital switching power supply control, and many other real-time applications. It can generate a couple HDMI VGA-resolution output streams, as well as analog VGA, analog composite (B/W or color), and so on. If you like tinkering in FORTH, I dare say Propeller II is the chip to do it on. It combines hobbyist-friendliness, retro-hacker-style coding, and modern CMOS IC process.
That was quiet interesting! I always wanted to know what FORTH is all about and now I know! What I also know is, it's nothing for me ;-) But still interesting! Thank you for exploring all those languages on the Commodore machines! The TMP videos are still my favourites so far! Keep doing that great work!
The modal editor is like Vi You could do a tutorial like this on postscript using the ghostscript interpreter command line, because it is also stack based. It has commands for all kinds of graphics primitives and fonts
@@h7qvi They do indeed. The PDF encodes what a Postscript interpreter would output to the rasterizer, more-or-less. It's just the graphic primitives. Of course Adobe went all silly and forgot what was what. The PDF came to be because it was simpler to implement than Postscript, and because it was considered a bit of a stretch to have executable documents. Early PDFs took a simple decoder, and a rasterizer - say stripped from a Postscript engine. Alas, Adobe figured out that interactive documents are useful after all. Instead of just going back to Postscript and adding some words for interaction with the UI... they instead added JavaScript to PDF. An absolutely braindead move. Especially that it's much easier to make an exploit-free Postscript interpreter than a javascript runtime. Thanks for nothing, Adobe (years later I'm still angry about that, as you can tell). The modern PDF is such a convoluted mess due to all sorts of functionally overlapping extensions that got slapped on top of it. People thought that Postscript is "hard" or "complex". The modern PDF spec makes Postscript look like VIC 20 BASIC compared to C++20's level of complexity in the "modern" PDF... It's a sad mess, completely unnecessary, and serving no business purpose. It's just a money sink for Adobe, for the devs who develop libraries to deal with all that mess, for the users who face tool incompatibilities since the PDF spec is so hard to implement in full, and so on. If it would make you furious, it'd be fully warranted. It makes me furious too.
@@absurdengineering I see. Funnily enough, I've picked through the C++20 standard with a fine tooth comb and understand it in great detail. I've also got a thick book on the pdf standard that i haven't got around to doing anything with.
@@h7qviNow that’s what I call a flex :) I’ve been slowly moving off of C++ into Zig for embedded stuff. Zig got imperative compile-time computation and makes a lot of hard things in C++ that stress the compiler with metaprograms rather easy. C++ is a nice language… with no guaranteed tail calls and no computed dispatch/goto. It is damn hard to write certain high performance code without those. Standard C++ sucks for interpreters/emulators. It’s an explicit source of slow down in Python unless you use gcc/clang extensions.
I always thought forth was underrated for the time, stack based makes it a reasonable abstraction while being reasonably low level enough. I imagine it has extra routines for handling a virtual stack, since the 256 levels minus whatever the kernal routines use.. plus 8 bit intergers aren't a lot for a higher level language.. still very neat. Would be interesting if this took off instead of basic.
FORTH makes composing words very simple. Implementing higher word length (multi-word) arithmetic is easy. And once done, you can just use it everywhere. Even the "full featured" ANS[I] Forth has double-width words - typically to provide 32 bits on 16-bit-word platforms, or 64 bits on 32-bit-word platforms,... or 128 bits on 64-bit-word platforms. It makes perfect sense to have 64-bit words in a Forth for x64, 64-bit ARM, 64-bit RISCV, etc.
(I also added this text to the video description) The cartridge ROM and PDF Manual can be found here: www.zimmers.net/anonftp/pub/cbm/vic20/roms/tools/8k/vic-forth-hes-rom.zip How to launch VIC Forth within VICE: File then Attach Cartridge Image Change the dropdown in the bottom right of the dialog from .CRT to *.* Choose the hes-vic-forth.rom file (Single click, dont double click it) Change the cartridge type dropdown to Generic Then click Attach Happy FORTHing!!!
Execuse me sir, is it possible to disassemble Castle of Terror and reveal its secrets? Because game hides interactive objects from player, OBJECTS almost never show anything, EXISTS betrays you, is it possible at least extract text from it to figure out purpose of items?
I've known FORTH for decades and have written my own ANS FORTH interpreter. You, sir, are a master educator! Please make more videos.
There was a FORTH EPROM for the ZX81 called the David Husband Skyways forth rom.
We want to see 64forth used as an assembler, as described on page 75 of the manual. We all had 64forth but few had an assembler in those days.
You might be interested in the Jupiter Ace. It was essentially a ZX81 variant with FORTH in ROM and had quite a following - possibly from people imagining they could use it to control Jodrell Bank.
Edit: this is a really good intro to FORTH. Thanks!
Its a very rare system unfortunately.
Other computers that came with Forth in ROM were the Micronique Hector HRX and Hector HX from France, but they are more rare than the Jupiter Ace. You can emulate the HRX in MAME using the 'hec2hrx', 'hec2mx80' or 'hec2mdhrx' ROMs.
And another later machine with built in Forth was the Canon Cat, sadly not a successful system.
More like a sort-of half way house between the '81 and spectrum... user defined graphics, crappy sound and dead-flesh keyboard but black-and-white with a tiny RAM.
The Parallax Propeller II multi-core CPU has TAQOZ Forth built into its boot rom. That CPU is usable with only external decoupling capacitors and a power supply. So you can have a relatively powerful chip that can boot into Forth just by attaching a TTL-to-USB Serial dongle to 3 pins on the cpu (including GND). This chip is in production and is very much a recent development. It was introduced in 2020. It is a rather opinionated chip design, but very, very powerful, and an absolute analog I/O powerhouse. That thing has 64 8-bit DACs built in, each of them updates in a couple dozen ns (!). Those DACs can be harnessed to form 16-bit interpolating DACs, all in hardware. It also has 32 sigma-delta ADCs (or 64? I don't recall). Just the GPIO is very powerful by itself, and highly configurable. It is a magical chip for use in real-time digital switching power supply control, and many other real-time applications. It can generate a couple HDMI VGA-resolution output streams, as well as analog VGA, analog composite (B/W or color), and so on. If you like tinkering in FORTH, I dare say Propeller II is the chip to do it on. It combines hobbyist-friendliness, retro-hacker-style coding, and modern CMOS IC process.
Great video. Subscribed. Love me some VIC-20!
My FORTH machine had 3K and a Z80... a version for the VIC-20 sounds like it would have been a lot of fun.
That was quiet interesting! I always wanted to know what FORTH is all about and now I know! What I also know is, it's nothing for me ;-) But still interesting! Thank you for exploring all those languages on the Commodore machines! The TMP videos are still my favourites so far! Keep doing that great work!
I'm glad it was helpful. Thanks for watching.
Nice. Same for me. Your comment saves me from typing the same text.
Lisp is also another self-generating kind of language
Great video. I'd also be interested to see White Lightning in action.
The modal editor is like Vi
You could do a tutorial like this on postscript using the ghostscript interpreter command line, because it is also stack based. It has commands for all kinds of graphics primitives and fonts
I would love to watch a ghostscript tutorial. I had to use that regularly at work for years
@@judgegroovyman Pdfs use a restricted binary form of postscript too IIRC
@@h7qvi They do indeed. The PDF encodes what a Postscript interpreter would output to the rasterizer, more-or-less. It's just the graphic primitives. Of course Adobe went all silly and forgot what was what. The PDF came to be because it was simpler to implement than Postscript, and because it was considered a bit of a stretch to have executable documents. Early PDFs took a simple decoder, and a rasterizer - say stripped from a Postscript engine. Alas, Adobe figured out that interactive documents are useful after all. Instead of just going back to Postscript and adding some words for interaction with the UI... they instead added JavaScript to PDF. An absolutely braindead move. Especially that it's much easier to make an exploit-free Postscript interpreter than a javascript runtime. Thanks for nothing, Adobe (years later I'm still angry about that, as you can tell). The modern PDF is such a convoluted mess due to all sorts of functionally overlapping extensions that got slapped on top of it. People thought that Postscript is "hard" or "complex". The modern PDF spec makes Postscript look like VIC 20 BASIC compared to C++20's level of complexity in the "modern" PDF... It's a sad mess, completely unnecessary, and serving no business purpose. It's just a money sink for Adobe, for the devs who develop libraries to deal with all that mess, for the users who face tool incompatibilities since the PDF spec is so hard to implement in full, and so on. If it would make you furious, it'd be fully warranted. It makes me furious too.
@@absurdengineering I see. Funnily enough, I've picked through the C++20 standard with a fine tooth comb and understand it in great detail. I've also got a thick book on the pdf standard that i haven't got around to doing anything with.
@@h7qviNow that’s what I call a flex :) I’ve been slowly moving off of C++ into Zig for embedded stuff. Zig got imperative compile-time computation and makes a lot of hard things in C++ that stress the compiler with metaprograms rather easy. C++ is a nice language… with no guaranteed tail calls and no computed dispatch/goto. It is damn hard to write certain high performance code without those. Standard C++ sucks for interpreters/emulators. It’s an explicit source of slow down in Python unless you use gcc/clang extensions.
I always thought forth was underrated for the time, stack based makes it a reasonable abstraction while being reasonably low level enough. I imagine it has extra routines for handling a virtual stack, since the 256 levels minus whatever the kernal routines use.. plus 8 bit intergers aren't a lot for a higher level language.. still very neat. Would be interesting if this took off instead of basic.
FORTH makes composing words very simple. Implementing higher word length (multi-word) arithmetic is easy. And once done, you can just use it everywhere. Even the "full featured" ANS[I] Forth has double-width words - typically to provide 32 bits on 16-bit-word platforms, or 64 bits on 32-bit-word platforms,... or 128 bits on 64-bit-word platforms. It makes perfect sense to have 64-bit words in a Forth for x64, 64-bit ARM, 64-bit RISCV, etc.
Could you please provide some hints on how to load a FORTH (HES) ROM on VICE for VIC-20?
(I also added this text to the video description)
The cartridge ROM and PDF Manual can be found here:
www.zimmers.net/anonftp/pub/cbm/vic20/roms/tools/8k/vic-forth-hes-rom.zip
How to launch VIC Forth within VICE:
File then Attach Cartridge Image
Change the dropdown in the bottom right of the dialog from .CRT to *.*
Choose the hes-vic-forth.rom file (Single click, dont double click it)
Change the cartridge type dropdown to Generic
Then click Attach
Happy FORTHing!!!
do you have a rom dump of the hes version?
Execuse me sir, is it possible to disassemble Castle of Terror and reveal its secrets? Because game hides interactive objects from player, OBJECTS almost never show anything, EXISTS betrays you, is it possible at least extract text from it to figure out purpose of items?
Sounds like a fun challenge if you have a month to dig into it