I've uploaded two screenshots of the Kestrel-3 emulator running a port of eForth 1.01 from back in 1990. This release basically will fork eForth, so that all future versions are specific to the Kestrel.
The port still isn't 100% complete; I still need to add some basic utility words and a means of accessing mass storage (BLOCK, BUFFER, LOAD, FLUSH, UPDATE, and a port of my VIBE block editor so users can more conveniently write programs) before I declare it "good enough" to move on to hacking on Verilog. But, it's at least complete enough for basic command-line usage, and even supports compiling new colon definitions. (Observant readers may notice no VARIABLE support yet as of these screen shots. It's coming, along with CREATE, DOES>, USER, and a smattering of other words.)
It's an Indirect Threaded Code (ITC) Forth, so runtime overhead is pretty steep. Byte-sized screen updates are pretty slow (which, due to how the MGIA addresses memory, is most of the time). But, if you can arrange it, cell-sized (64-bit) hits to video memory is surprisingly fast, considering the ITC overhead.
It does not have a built-in assembler; my plan was to put such an assembler on block storage, and the programmer can LOAD it in as needed for a project. However, a future ROM image might include an assembler as well. I reserve the right to change my mind on this decision though. I certainly have more than enough ROM space to facilitate the assembler. ;-)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
It would help if I included links to the images, wouldn't it? Here's the boot-up screen (https://cdn.hackaday.io/files/10035429337440/kes-eforth-coldboot.png), and here's my interactive development session (https://cdn.hackaday.io/files/10035429337440/kes-eforth-rectangles.png).
Are you sure? yes | no