glowieStopper does not use Python, Perl, GCC, LLVM, or any other external tool. The entire system is bootstrapped from hand-crafted machine code.
hex2bin.hex is a 326-byte x86_64 Linux ELF binary written as commented hex.
It reads hex bytes from stdin, writes raw binary to stdout, and strips # comments.
This is the only bootstrap artifact. Everything else is built from it.
To create the hex2bin binary for the first time, you must manually enter 326 bytes.
This is the ONLY step that requires human effort on a bare system.
Method A: Hex editor (any platform)
Open any hex editor (or write bytes directly to a file), type in the bytes from
hex2bin.hex (ignoring lines starting with # and all whitespace), save as
hex2bin, and mark it executable. This is pure manual data entry — no external
software dependency, just a human reading hex and typing bytes.
Method B: Another glowieStopper machine
If you already have a running glowieStopper, use its built-in hex2bin tool:
hex2bin < tools/hex2bin.hex > tools/hex2bin.new
Method C: Real hardware with serial input Send the raw bytes over a serial connection to the target machine's storage.
After this single manual step, the entire toolchain bootstraps itself with zero external tools.
Once hex2bin exists as a binary, it bootstraps everything else:
hex2bin < toolchain/seed/seed.hex > toolchain/seed/seed.bin
hex2bin < tools/hex2bin.hex > tools/hex2bin.verify
The hex file is fully commented with instruction-level annotations. You can verify every byte against the x86_64 instruction set manual.
hex2bin.hex ──(manual entry)──▶ hex2bin (binary, 326 bytes)
│
▼
seed.hex ──(hex2bin)──▶ seed.bin (seed assembler)
│
▼
tasm_stage1 (assembler, written in seed assembly)
│
▼
tasm (full assembler, self-hosting)
│
▼
tlc_stage1 (tLang subset compiler, in assembly)
│
▼
tlc (full tLang compiler, self-hosting)
After tlc is self-hosting, no bootstrap tools are needed. glowieStopper rebuilds itself.