Hi,
I am new to the project and had a few questions. I have browsed 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%. 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 'high-level' configuration.
In addition, while doing a search on the web I came up with the following documents that might be useful - I hope none of them cause issue:
From the Apple site:
http://developer.apple.com/technotes/tn/tn1061.html http://developer.apple.com/technotes/tn/tn1044.html http://developer.apple.com/technotes/tn/tn1062.html
http://developer.apple.com/hardware/pci/index.html - bottom: "Forth for Open Firmware Basics" tutorial presentations. Other stuff may be of interest.
Elsewhere:
http://homepage.mac.com/potswa/source/ http://people.cornell.edu/pages/ak234/BootSafe/main.htm http://www.hempeldesigngroup.com/lego/pbForth/
http://www.openppc.org/software.html - some references to open firmware
http://www.software-x.com/software-x/bios.html
regards
André-John
Hi André-John,
I am new to the project and had a few questions. I have browsed 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 (ok-prompt). 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 'high-level' configuration.
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.
Stefan