JeweledTech · Jolly Genius Inc.

Bare-metal Forth-83.
No HAL. No OS.
No compromises.

A complete Forth-83 OS in x86 assembly. Direct hardware access via INB/OUTB/port I/O. Universal Binary Translator that extracts hardware protocols from Windows drivers. A metacompiler targeting 9 architectures. Runs on real hardware in under 5 seconds.

225 kernel words
98 KB bootable kernel
258 tests passing
18 real drivers analyzed
9 arch targets
// Live session — HP 15-bs0xx · PXE boot · UDP console
\ ForthOS boots in <5s. Auto-detects hardware. No typing required. AUTO-DETECT: RTL8168 @ PCI 01:00.0 ok AUTO-DETECT: AHCI @ PCI 00:17.0 ok AUTO-DETECT: xHCI @ PCI 00:14.0 ok NET console ready · UDP 10.42.0.2:6666 ForthOS v1.0 · 225 words · 98816 bytes ok 3 4 + . 7 ok USING I8042PRT ok I8042_READ_DATA . 60 ok NTFS-INIT GPT found · NTFS partition @ LBA 2048 ok S" i8042prt.sys" FILE-FIND . 74031 ok
// 01 — documentation
Interactive diagrams

Seven fully self-contained HTML diagrams. Open in any browser — no server, no build step, no internet required.

// 02 — vocabulary packs
Free kernel + paid vocabulary packs

The kernel is MIT licensed and free. Vocabulary packs are sold separately via Shopify. Purchase grants access to the private forthos-vocabularies repo.

FREE
Kernel + free vocabularies
Complete Forth-83 kernel, bootloader, 4 embedded vocabularies (auto-loaded at boot), and 15 block-loadable community vocabularies. MIT licensed. Clone and go.
HARDWARE PORT-MAPPER ECHOPORT PCI-ENUM EDITOR X86-ASM DISASM NE2000 +11 more
CLONE FREE →
Tier 1
Disk Stack Pack
Storage · filesystem · partition
  • AHCI — SATA controller, DMA
  • NTFS — MFT walker, 1.2M records
  • FAT32 — EFI partition, GPT
  • AUTO-DETECT — boot-time HW init
  • DISK-SURVEY — partition reporter
Tier 2
Network Pack
RTL8168 · UDP console · PXE
  • RTL8168 — Realtek GbE driver
  • UDP network console (port 6666)
  • PXE boot integration
  • 100% reliable TX/RX
  • PCIe posted-write flush fix
Tier 4
UBT Pipeline
Universal Binary Translator · host-side tool
  • PE loader — PE32 + PE32+ + ELF64
  • x86 decoder — ModR/M, intrinsics
  • UIR lifter — semantic analysis
  • Forth codegen — named words
  • 258 tests · 18 real drivers · Ghidra validation
Tier 5
Metacompiler Pack
Self-hosting · multi-arch · 9 targets
  • META-COMPILER — 85 host words
  • TARGET-X86 — self-rebuild
  • TARGET-ARM64 — Pi 3B/4/5
  • ARM64-ASM — Cortex-M33/RP2350B
  • Self-hosting proven · 151/151 tests
// 03 — getting started
Boot in 3 steps

Requires NASM, GNU Make, and QEMU. Real hardware needs Secure Boot disabled. PXE boot supported via dnsmasq + tftpd.

01
Clone and build
Clone the public repo and build the 66 KB kernel image.
git clone https://github.com/jeweledtech/bare-metal-forth cd bare-metal-forth make all # → build/forth.img (98,816 bytes)
02
Run in QEMU
Boot ForthOS in QEMU and see the Forth prompt.
make run # → ForthOS boots, 225 words loaded 3 4 + . 7 ok
03
Run the test suite
Smoke tests, vocabulary tests, and integration tests. All must pass before any commit.
make test # → 5/5 smoke · vocabs · integration All tests passed!
04
Real hardware — PXE boot
Boot directly onto real x86 hardware over ethernet. UDP console on port 6666.
make pxe-push # push to TFTP server nc -u -l 6666 # open UDP console # power on target → ForthOS boots in <5s
// 04 — design principles
Why bare metal

Every design decision flows from a single principle: direct hardware access, no abstraction layers between code and silicon.

No HAL
Direct INB/OUTB/port I/O. No hardware abstraction layer. No OS mediation. No registry. No driver signing. If a port exists, Forth can read it.
Live execution
Define a word and run it immediately. No stop-recompile-restart cycle. Write directly to live memory buffers and execute in real time — exactly as Forth was designed.
RPN = hardware native
Forth's Reverse Polish Notation maps directly to how CPUs and registers actually work. Stack operations mirror hardware operations. No translation layer needed.
UBT — driver forensics
The Universal Binary Translator extracts hardware protocols from Windows .sys files — decompiles them into named Forth vocabulary words you can call directly.
Self-hosting
The metacompiler produces a kernel that can compile itself. One source tree targets x86, ARM64, RISC-V, Cortex-M33, SPARC, PowerPC, MIPS, AVR, ESP32.
Forth-83 standard
Strict Forth-83 compliance: floored division, 1 KB block storage, vocabulary search order, DTC interpreter. Historical correctness, not approximation.