The lab is proud to welcome these lovely bits of kit to the collection - behold the glory of the XO-1


These boot into Forth (Open Firmware). One of the last machines (and, AFAIK, the only x86 platform) to do so.

I frequently wonder how hard it would be to port Open Firmware to the , but it's written in C, so the answer would most likely be, "moderately," on the basis of first needing to port a C compiler.

@vertigo oddly (but not really considering me and considering you) I was just wondering about revitalizing one of these by extending the openfirmware forth to take over the system lol

I'd like to play with Open Firmware at some point, but as Forth systems go, it's just so hhuuggee. I really like having an environment about at cmForth levels of complexity, personally.

Someone recently posted a link to a project page, which linked to a Github project, for Open Firmware. I've bookmarked it for future reference and research.

@vertigo @djsundog openfirmware only bootstraps in C, it is written in Forth.

I have contributed small bits into OFW recently - I can help with porting... Do you have something like forth assembler words for Kestrel 3?

I don't even have a working prototype of the machine yet. :P

Are you referring to an assembler for the RISC-V processor in Forth itself?

@vertigo @djsundog I like how ofw applies x86 assembler for example:

this one is simply beautiful.

But do you have the ISA, the opcodes, anything?

Not in Forth, but it's not hard. I was planning on writing a few screens for an assembler in DX-Forth (for Kestrel-2DX), but never got around to it.

@saper @djsundog Oh dear, stepping back into the cpu directory itself, and there's just a __ton__ of stuff that needs porting. Egads!

@vertigo @djsundog The simplest way to start with OpenFirmware is to use QEMU (PPC or Sparc), without a disk image you end up immediately in OpenFirmware. I have a TODO item to do a small writeup on how to start with OpenFirmware in QEMU. Will toot once it is available.

@forth @djsundog What I *really* want is a step-by-step guide to porting it to a completely new, scratch-built architecture.

@vertigo @djsundog Never done that, but Mitch Bradley's CFORTH (which comes from the OpenFirmware in the OX) has already many example platform files for different architectures, and from looking into the files, it does not seem to be too complicated

@forth @djsundog I've reviewed that and the openfirmware repository, and frankly, my head is left spinning. There is no clear way to know where to start, no order of preferred steps to implementation, etc.

@forth @djsundog This is a pervasive problem in a wide variety of projects as well. I've **never** succeeded in porting **anything** in my life, save for one implementation of eForth 1.0 (because 2.0 was just too complicated), after taking so long at it that I decided to just write my own Forth interpreter completely from scratch, using Moore's Programming a Problem-Oriented Language as a guide.

I am just porting impaired, a defective software engineer, I guess.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!