Giter Site home page Giter Site logo

aniou / of816 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mgcaret/of816

1.0 1.0 0.0 1.75 MB

Portable 32-bit Forth for the 65C816.

License: Other

Assembly 69.70% Shell 0.55% Forth 19.25% Ruby 4.01% F# 3.66% GLSL 0.84% Lex 0.29% PHP 0.87% HTML 0.01% Pascal 0.80% RenderScript 0.02%

of816's Introduction

NOTE about fork

This particular fork was created for C256 Foenix port. For details see platforms/C256 directory.

OF816

OF816 is a 65C816 Forth implementation heavily inspired by Open Firmware (IEEE 1275-1994).

Note that OF816 as a base interpreter is not itself an Open Firmware implementation. A full Open Firmware requires additional Forth source to be loaded at bootstrap. Work has started on this (see the ofw directory), but there is much to do, and it is not currently supported on any of the hardware ports (though most of them will be able to do so, eventually).

Features

Among its many features are:

  • Mostly platform-independent. OF816 can be ported easily to new systems.
    • Ports currently exist for the following platforms:
    • New ports require the implementation of a handful of routines.
    • Simple instantiation of one or more Forths in a system.
  • 32-bit cells.
  • 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.
  • Optional FCode support (less Device Tree and Package functions).
  • ANS Forth
    • Core, most of Core Ext, Exception, Search Order, and Search Order Ext word sets.
    • Smattering of words from other sets.
    • Good conformance test coverage.

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.