of816/README.md

48 lines
2.0 KiB
Markdown
Raw Normal View History

2019-07-01 17:33:44 +00:00
# OF816
OF816 is a [65C816](https://www.westerndesigncenter.com/wdc/w65c816s-chip.cfm)
Forth implementation heavily inspired by
[Open Firmware (IEEE 1275-1994)](https://www.openfirmware.info/Welcome_to_OpenBIOS).
2020-03-06 06:50:34 +00:00
Note that OF816 is *not* an Open Firmware implementation (yet), but it has the
2019-07-01 17:33:44 +00:00
potential (and groundwork has been done) for it to become one.
## Features
Among its many features are:
* Mostly platform-independent. OF816 can be ported easily to new systems.
* Ports currently exist for the W65C816SXB, Neon816, and the Apple IIgs.
2019-07-01 17:33:44 +00:00
* New ports require the implementation of a handful of routines.
* Simple instantiation of one or more Forths in a system.
* 32-bit cells.
2020-03-09 23:41:53 +00:00
* ROM-able.
* The core system does not write outside of data space, except to the 65816
direct page and stack.
* System variables are provisioned at the start of data space when the sytem
is initialized.
2019-07-01 17:33:44 +00:00
* Optional [FCode](https://www.openfirmware.info/Forth/FCode) support
(less Device Tree and Package functions).
* [ANS Forth](http://lars.nocrew.org/dpans/dpans.htm)
* Core, most of Core Ext, Exception, Search Order, and Search Order Ext word
sets.
* Smattering of words from other sets.
2020-03-06 06:49:03 +00:00
* Good conformance test coverage.
2019-07-01 17:33:44 +00:00
## Goal
The goal of OF816 is to help get 65C816-based projects off the ground in terms
of development and testing. With a little effort it can be brought up on a new
system and used to play around with new hardware.
OF816 is not designed for speed. While reasonably performant, the primary goal
was compatibility with 32-bit Open Firmware's core word set, cell size, and
FCode. This allows the possibility of re-using existing Forth source and FCode
to develop hardware drivers, and potentially developing OF816 into a full Open
Firmware implementation.
## Resources
In addition to the links above, please see the ``LICENSE`` file, ``docs\``, and
the directories under ``platforms\``.
OF816 is licensed under a two-clause BSD license.