openfirmware VS swapforth

Compare openfirmware vs swapforth and see what are their differences.

openfirmware

Open Firmware (IEE1275-1994) implementation by its inventor. (by MitchBradley)

swapforth

Swapforth is a cross-platform ANS Forth (by jamesbowman)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
openfirmware swapforth
4 5
61 270
- -
0.0 4.6
almost 2 years ago 4 months ago
Forth Forth
- BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

openfirmware

Posts with mentions or reviews of openfirmware. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-14.

swapforth

Posts with mentions or reviews of swapforth. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-15.
  • Making my own forth implementation
    5 projects | /r/Forth | 15 Jun 2023
  • FPGAs for interpreted programming languages?
    2 projects | /r/FPGA | 25 Nov 2022
  • How many LUT for an 8 bit CPU?
    2 projects | /r/FPGA | 11 Nov 2022
    Thanks! Found the port of this to the board I want :) https://github.com/jamesbowman/swapforth/tree/master/j1a
  • The RISC Deprogrammer
    2 projects | news.ycombinator.com | 28 Oct 2022
    It's a standard thing to do in EE curricula; you normally do it in a one-semester class, and there are literally thousands of open-source synthesizable CPU cores on GitHub now.

    To take two examples to show that designing a CPU is less work than writing a novel:

    - Chuck Thacker's "A Tiny Computer", fairly similar to the Nova, is a page and a half of synthesizable Verilog; it runs at 66 MHz in 200 LUTs of a Virtex-5: https://www.cl.cam.ac.uk/~swm11/examples/bluespec/Tiny3/Thac...

    - James Bowman's J1A is more like Chuck Moore's MuP21 and is about three pages of synthesizable Verilog: https://github.com/jamesbowman/swapforth/blob/master/j1a/ver... and https://github.com/jamesbowman/swapforth/blob/master/j1a/ver.... You can build it with Claire Wolf's iCEStorm (yosys, etc.) and run it on any but Lattice's tiniest FPGAs; it takes up 1162 4-input LUTs.

    I haven't quite done it myself. Last time I played https://nandgame.com/ it took me a couple of hours to play through the hardware design levels. But that's not really "design" in the sense of defining the instruction set (which is also kind of Nova-like), thinking through state machine design, and trying different pipeline depths; you're mostly just doing the kind of logic minimization exercises you'd normally delegate to yosys.

    In https://github.com/kragen/calculusvaporis I designed a CPU instruction set, wrote a simulator for it, wrote and tested some simple programs, designed a CPU at the RTL level, and sketched out gate-level logic designs to get an estimate of how big it would be. But I haven't simulated the RTL to verify it, written it down in an HDL, or breadboarded the circuit, so I'm reluctant to say that this qualifies as "designing a single CPU" either.

  • The J1 Forth CPU
    1 project | /r/Forth | 13 Jan 2021
    Also worth checking is the Swapforth Github repository.

What are some alternatives?

When comparing openfirmware and swapforth you can also consider the following projects:

curl-to-go - Convert curl commands to Go code in your browser

arkam - A Simple Stack VM and Forth

curl-to-php - Convert curl commands to PHP code in your browser

lbForth - Self-hosting metacompiled Forth, bootstrapping from a few lines of C; targets Linux, Windows, ARM, RISC-V, 68000, PDP-11, asm.js.

waforth - Small but complete dynamic Forth Interpreter/Compiler for and in WebAssembly

subleq - 16-bit SUBLEQ CPU running eForth - just for fun

blog

gforth - Gforth mirror on GitHub (original is on Savannah)

curlconverter - Transpile curl commands into Python, JavaScript and 27 other languages

durexforth - Modern C64 Forth

Paw-cURLImporter - Paw importer for cURL command lines

gforth-raylib - Raylib 3.5 bindings for Gforth. The name is backwards for obvious reasons.