I am new to the project and had a few questions. I
around the OpenBIOS web site, to get an idea of what is going on
and where its at. Looking at the 'progress' page I see that the
work currently seems to be focused on the Forth core engine and
the Forth base dictionary. As to the other projects there is no
information, other than being at 0%.
I have to apologize, I badly neglected updating the web pages during
the last amount of time. I'll try to push an update asap.
The status is quite a bit further than stated on the web site.
* Toolchain: completed.
The two utilities toke and detok (FCode tokenizer/detokenizer)
are working stable. They will be used to create FCode bytecode
drivers from forth source.
* Forth Kernel: completed.
I plan to add some smaller enhancements to it, to make it easier
to use it for development on a unix machine (X11 gui, some sample
hardware emulation that allows testing device interface et al)
* User Interface: pretty much finished
The user interface contains all forth words needed for a basic ans
compliant forth implementation, and a command interpreter/compiler
Here some forth constructs are not 100% complete, i.e can most
forth systems handle loop constructs while being in interpretation
mode (not inside of a word definition / compile mode).
This is not yet possible with OpenBIOS, but I consider it rather low
priority. Patches are of course welcome.
* Device Interface: started
Completing the device interface is one of the most important tasks in
the near future. This means setting up the device tree and
creating/fixing all words that have to do with path resolution,
packages/devices and properties. The code in CVS: forth/device/ will
do this part. Currently some of the relevant code is still sitting in
CVS: forth/base/ and will be moved as things get complete.
* FCode Evaluator (needs fixing)
I wrote an fcode evaluator a while ago, it resides in CVS:
forth/evaluator. I did test it with the old ForthVM paflof, but
it is not fully adapted to the new forth kernel yet, Thus it builds
but does not work. This evaluator runs FCode bytecode to build up
the device tree using functions from the user and device interface.
* Client Interface (almost nothing there yet)
The client interface is the interface between OpenBIOS and the
Operating system. This component does not exist - almost. There
are some words/dummies in CVS: forth/administration, but most
of them simply do nothing.
* Drivers (none existing yet)
Drivers can be written in Forth, using toke to create fcode
bytecode binaries. There are no drivers yet, since there is no
working test environment (device interface)
The most urgent drivers are pci, keyboard, a simple framebuffer
driver and ide.
Has any one already suggested a direction for these
projects and what
they expect from them? For example, the user interface in all open
firmware solutions I have seen so far (Sun boxes and Apple Macs, with
new world ROM) all have a command line interface. Would it be
conceivable to add a PC BIOS style GUI, in addition to the CLI for
Yes, adding any kind of gui can be done as an extension to the basic
OpenFirmware system. Motorola's Powerstack machines have a gui that can
be used with mouse and keyboard. If you want to have a phoenix- or
awkward bios lookalike, this should be rather simple to implement.