HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
cesarblum
sectorforth
Assembly2020–2026
cesarblum / sectorforth

sectorforth

sectorforth is a 16-bit x86 Forth that fits in a 512-byte boot sector.

10Distinct people
15Mentions
0Explicit recommenders
504GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

sectorforth is a 16-bit x86 Forth that fits in a 512-byte boot sector.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year15 dated mentions

Observed mentions: 2020-09-27 05:37:02 UTC to 2026-08-16 17:29:44 UTC.

01232020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC220
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC303
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC211

What Hacker News says

15 sources
I highly doubt it's useful these days on general purpose computers, where even the very smallest ones can easily implement C (or better) or even run a whole operating system like Zephyr or Yocto. However if you're creating your own computer from scratch or have other artificial constraints (like it needs to fit into a boot sector[1]), and if you want to really understand precisely how your language works down to the lowest level detail while still having high-ish level constructs, then Forth is the ideal small language for that. [1] https://github.com/cesarblum/sectorforth
In Implementing a Forth
If you're looking at really from first principles, it's hard to beat forth systems. You can type in Plankforth (https://github.com/nineties/planckforth) in a hex editor ie. this can be built from zero software, by effectively morse-coding it into bare memory. In terms of accessibility though, I'd recommend Forthkit (https://github.com/tehologist/forthkit), Miniforth (https://compilercrim.es/bootstrap/), Sectorforth (https://github.com/cesarblum/sectorforth), Sectorlisp (https://justine.lol/sectorlisp2/) Freeforth (https://github.com/dan4thewin/FreeForth2 contains an inlining cross-compiler for MSP430) The problem with forths is that they don't seem as scalable as say lisp, from a social perspective. At a larger level, Project Oberon (https://projectoberon.net/) builds from the base CPU on FPGA, and A2 (https://en.wikipedia.org/wiki/A2
Read the rest
_(operating_system)) show what can be done to scale up. Steps (https://github.com/robertpfeiffer/cola/tree/master/function/...) also was supposed to do this, but the available code is rather disjointed and not really easy to follow.
In The curse of knowing how, or; fixing everything
I think it's fine to show that you can do it, I think the main thing is to flip the order a bit. E.g. "here's a cool thing thing we can do <demonstrate the outcome of significantly changing a readable syntax>" to hook people, "here's how <show how you change syntax with higher level helpers>", "and if you really want to know how to bootstrap this from basics <here comes the linenoise>". Maybe compare how e.g. Forth is often introduced, with how people describe bootstrapping of a simplistic Forth like Jonesforth or Sectorforth [2]. Showing people how they can define their own words and it fundamentally changes how they work with the language afterwards is cool to a lot of people who have no interest in details like how you an implement even numbers with a minimal set of primitives (e.g. Sectorforth relies on that - it doesn't have builtin
Read the rest
numbers[3]). Both are interesting to me, but I'm weird, and I think for most people it'd be easier to maintain their interest if those two aspects are either separate articles or at least if the bootstrapping is relegated to a standalone section they're clearly told they can skip. [1] https://news.ycombinator.com/item?id=31368212 [2] https://github.com/cesarblum/sectorforth [3] The Sectorforth Hello world defines every numeric constant it needs like this: : -1 ( x -- x -1 ) dup dup nand dup dup nand and ; : 0 -1 dup and ; : 1 -1 dup + dup and ; : 2 1 1 + ; : 4 2 2 + ; : 6 2 4 + ; Which is fun if you're a language geek. Not so convincing if you want to know if Forth is fort you [EDIT: That mistake was wholly unintentional, but I'll leave it].
In Cognition: A new antisyntax language redefining metaprogramming
In Konilo: A personal computing system in Forth
I'd have a look at Freeforth (Anonymous function eval at the shell, threaded subroutines with no swap, MSP433 cross compiler) https://github.com/dan4thewin/FreeForth2/blob/master/ff.asm Sectorforth (Minimal - 7 operators, everything else is in the prelude including IF) https://github.com/cesarblum/sectorforth/blob/master/sectorf... And Retroforth (Multi platform VM, quotations) https://github.com/crcx/retroforth/tree/master/vm For larger coding, you may need a GC, Retro has a list class, and Freeforth operates a compacting dictionary which you may be able to modify
In Pascal in Forth (1983)
> I'm not sure here how you differentiate minimalist from restrictive. The flexibility of the language and its syntax. The more constructs are syntactic, the less minimalistic it is, and Go is a very syntactic language. > I've always considered Go to be minimalist in terms of available tokens to the programmer: https://github.com/e3b0c442/keywords/blob/main/chart.png No language on this chart has even a passing resemblance to minimalistic. I don't think anything does when it reaches double digit keywords. For reference, I believe Smalltalk has 6. And forth is more complicated because it doesn't really have keywords at all, and barely any syntax, instead it has assembly-coded / runtime-provided words (~functions) and variables. SectorForth (https://github.com/cesarblum/sectorforth/) is down to 8 builtin words, 2 IO words, and 5 variables (
Read the rest
milliforth packs those behind a word instead). And so far 2 of the words have been found unnecessary / redundant.
In Fourteen Years of Go
Along that line.. • SectorForth - https://github.com/cesarblum/sectorforth - sectorforth is a 16-bit x86 Forth that fits in a 512-byte boot sector. • TetrOS - https://github.com/daniel-e/tetros - Tetris that fits into the boot sector. • BootMine - https://github.com/io12/BootMine - Bootable minesweeper game in a 512-byte boot sector • Invaders game in 512 bytes - https://github.com/nanochess/Invaders The author has written a book called Programming Boot Sector Games. > A crash course into 8086/8088 assembler programming, in an easy way with practice at each step. You will learn how to use the registers, move data, do arithmetic, and handle text and graphics. You can run these programs on any PC machine and no program exceeds 512 bytes of executable code! https://nanochess.org/store.html Examples from the book: https://github.com/nanochess
Read the rest
In Ask HN: What are some impressive software projects that fit in 512 bytes?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.