📈 GH Trending Explorer 🎲 Surprise me

← all repos

tombkeeper / BitKindle

git clone https://github.com/tombkeeper/BitKindle.git

—

+119
stars, 24h · #114
+119
stars, 7 days · #1,080
+119
stars, 30 days · #4,528
190
★ total · +119% this week
22
forks · 0 open issues

Star history (as recorded here)

2026-10-21 · 119 ★ 2026-10-22 · 190 ★
LanguageC
LicenseMIT
Created2026-10-20 (2d ago)
Last push2d ago
Watchers0
OwnerUser

Links

README excerpt
简体中文 · English
# BitKindle
### A Windows x64 C compiler bootstrapped from a 3,584-byte machine-code seed
Quick start · Bootstrap design · Walkthrough · Usage · Examples
 Mario example built with the BitKindle toolchain 
 Actual gameplay recording · Built-in automated player completes the level · Preview at 2× speed 
 Build and run instructions 
---
## Overview
BitKindle includes the complete sources for the A0/A1 assemblers, C0 transitional compiler, self-hosted **C1** compiler written in C, runtime library, and PE linker.
**Building requires no MSVC, GCC, Clang, Windows SDK, or external linker, and downloads no dependencies.** PowerShell 5.1 decodes the seed and orchestrates the build. After decoding, every machine-code binary, object file, and EXE is generated by previously built custom tools.
## Bootstrap pipeline
 [code] 
See BOOTSTRAP.md for stage dependencies and WALKTHROUGH.md for building individual stages with `build-stage.ps1`.
## Quick start
Requires **Windows x64 and Windows PowerShell 5.1** (`powershell.exe`); the verified environment is Windows 10 x64. Place the complete source tree in a writable local directory with a short path, preserving the name and hierarchy of `src/`. Reserve **5 GiB** for the full test run.
Run from the release root:
 [code] 
The default builds the compiler, linker, and C89/C99 runtimes, **without running regression tests**. After a successful build, compile and run hello:
 [code] 
Expected output: `hello`.
### Build modes
Append a mode option to the build command. All three modes build from the seed and check self-compilation identity and the compiler baseline. `-All` and `-Full` are mutually exclusive.
| Option | Build and test scope |
| :--- | :--- |
| None | Toolchain and runtimes; no regression tests |
| `-All` | Default mode plus compilation of hello, the argument example, minicurl, and Mario; does not run examples or regression tests |
| `-Full` | Stage regressions, full audit, three supplemental suites, hello and argument examples, and minicurl local HTTP tests; Mario has separate build and test entry points |
Logs and results are in `work/release-run/`. For default and `-All`, `RESULT.json` reports `Status=BUILT` and `TestsRun=false`. A successful `-Full` reports `Status=PASS`, `TestsRun=true`, and prints `PASS release build and verification`. An output directory alone is not evidence of success.
`build-all.ps1` refuses to run if `src/bootstrap-c99/build-from-seed/` or `work/release-run/` already exists. Before rebuilding or changing modes, clean the default outputs or use a fresh source copy.
## Examples
| Example | Features and interfaces | Documentation |
| :--- | :--- | :--- |
| **Hello / command-line arguments** | C runtime, startup, `argc/argv` | Compilation and usage |
| **minicurl** | HTTP/TLS through system WinHTTP; retrieve content and save it to a file | Source and usage |
| **Mario first level** | Side scrolling, keyboard input, collisions, timers, and GDI double buffering; graphics draw