Repository navigation
Releases: OthmaneBlial/bitborn
Release list
bitborn v0.5.0 — Native state, one bit at a time
Five new native experiments join Bitborn's handwritten-binary boot programs and educational browser tools. Every target instruction remains a literal .bits token; host tools package and inspect those bytes without assembling them.
- Bounded allocator: a guarded sixteen-byte arena, a one-bit rejection control and actual guest allocation logs.
- Timer IRQ: legacy PIT/PIC IRQ0 delivery with masked and missing-acknowledgement controls.
- Paging: one supervisor write fault, PTE repair, invalidation and retry, with complete captured directory/table bytes.
- Exception frames: native DE/BP/UD/GP delivery, normalized frames, preserved registers and authored recovery sites; three one-bit controls check distinct outcomes.
- Bit Hunt: a 492-byte WASD maze with walls, a star, restart, quit and a saturating move counter. One operand bit disables victory on the same route. The GIF contains twenty actual QEMU frames from two boots.
The browser also gains two measured size-budget puzzles (14→12 and 11→10 payload bytes) with distinct valid solutions, word-register ADD checks and stronger keyboard/source-error workflows. Native games, paging, IRQs and exception delivery remain separate from the bounded browser model.
The 89 attachments include fourteen primary BIOS images, an archive of 112 manifest-reviewed artifacts, the exact source archive, 71 evidence files, provenance and checksums. Register/PIC dumps, paging structures, exception logs/stack/code RAM and genuine screenshots/GIFs accompany the examples.
sha256sum -c SHA256SUMS
qemu-system-i386 -drive file=bit-hunt.img,format=raw,if=floppy -boot aUse WASD in the QEMU window, R to restart and Q to quit. On macOS, verify checksums with shasum -a 256 -c SHA256SUMS. Raw .bin attachments include evidence dumps; use the named .img files to boot.
Source commit: f5b444a0ebb6c4dd52592c41443141a34f77e066. The clean source archive passed 114 Python tests (one expected macOS native-Linux skip), site/model checks and Chromium, Firefox and WebKit interactions. All 112 rebuilt artifact hashes match, and all 1,021 archived source files remain unchanged after rebuilding. Exact-source Linux CI and tag CI both passed.
These are curated QEMU/SeaBIOS/TCG experiments. Physical hardware, UEFI, production use, arbitrary fault recovery, user-mode isolation and native speed claims remain unproven. AI assistance is disclosed; provenance establishes integrity rather than human-only authorship or a publisher signature. Earlier release tags/assets remain unchanged.
v0.4.0 — Change one bit. Prove the difference.
bitborn v0.4.0 — Change one bit. Prove the difference.
This milestone brings two real native experiments alongside stronger instruction
inspection, modeled execution and host validation. Executable instructions remain
manually authored binary tokens. Host Python packages and checks those bytes;
mnemonic comments and reference-map labels never generate machine code.
Native experiments
- Self-modifying code: two 82-byte controls differ at writer byte 52 bit 5.
One changes the future operand at byte 61 and printsa; the other printsA.
Identical-byte model/QEMU checks cover registers, defined flags, code RAM,
serial/VGA, unchanged source/disk and exact model rewind/replay. - VGA palette surgery: a 142-byte program draws an 8×8 bitmap. One DAC bit
changes all sixteen green pixels while all 64,000 framebuffer indices stay
identical. Native screens and the two-boot GIF are checked against actual
pixels. The browser model explicitly rejects this graphics experiment. - Boot/control setup guards check explicit SS:SP initialization before BIOS calls.
Existing shell, monitor, keyboard and protected-mode examples remain curated
experiments. Separate literal fault probes have scoped native tests; general
exception dispatch, paging and hardware IRQ delivery remain research.
Read the fields and inspect the state
- Register/memory MOV inspection and unprefixed 16-bit model execution, with
default DS/SS, signed displacement, byte halves, live RAM and native parity. - All sixteen short Jcc conditions, signed/unsigned comparisons and ADC/SBB carry
arithmetic, with independent full-domain oracles and identical native fixtures. - Positional bit-diff explanations, explicit 16/32/64 inspection context,
keyboard bit editing and canonical.bitsteaching presets. - Source errors identify exact invalid/excess token ranges, preserve loaded state
and drafts, and select the relevant editor without disrupting inline typing. - Tablet register bits fit their cells. Scoped contrast checks, non-color change
cues, a visible execution-shortcut switch and quieter atomic status messages
improve the educational UI. Live assistive-technology review is separate.
Check the bytes without fixups
bitinspect --references JSON validates declared abs16/far16/rel8/rel16 address
fields, with explicit segment/origin assumptions and no rewriting. Maps cover
the original boot, both native experiment controls and a 7E00-loaded CALL/RET
fragment. Annotation JSON validates typed ranges, non-overlap and optional literal
bits before printing, with bounded reads and structured diagnostics.
Native harness startup waits for QMP readiness under an absolute deadline and
preserves cleanup on failure. Guides separate static declarations, browser
interaction, model execution, native QEMU behavior and actual publication proof.
Downloads and verification
The prepared distribution includes nine BIOS images, a deterministic archive
of 90 derived artifacts from 57 reviewed targets, the immutable source archive,
native crops/GIFs and capture records, six genuine browser GIFs and their provenance,
release-provenance.json and SHA256SUMS. The staging list contains 31 files;
30 checksum entries cover every attachment except the checksum list itself.
The original 512-byte boot greeting still says v0.1. Existing release tags/assets
are preserved. Native crops show actual captured cells/pixels; browser recordings
show bounded inspection/model UI rather than native CPU footage.
sha256sum -c SHA256SUMS
qemu-system-i386 -drive file=boot.img,format=raw,if=floppy -boot a -serial stdioOn macOS, use shasum -a 256 -c SHA256SUMS. Rebuild from the source archive:
make test site-test
npm ci
npx playwright install chromium firefox webkit
npm run test:browser
npm run test:cross-browserThe source archive has no Git history. Preparing release attachments with
python3 tools/release.py requires a clean Git checkout of the exact source commit.
Archive users can rebuild/test the programs with the commands above.
Release preparation requires a clean Git worktree and verifies reviewed bytes
before staging. Provenance ties the exact commit to target source/payload hashes,
all derived artifacts and attachment hashes. It proves integrity, not human-only
authorship or a cryptographic publisher signature. AI assistance is disclosed.
Linux ELF examples require Linux x86-64; BIOS targets are QEMU/SeaBIOS/TCG-tested.
Physical hardware, UEFI, production-OS compatibility, native speed claims and
whole-site accessibility certification are outside the established evidence.
Website ·
CPU Lab ·
Native examples ·
Roadmap · Execution/proof guide
bitborn v0.3.0 — Rewind the machine. Read every bit.
bitborn v0.3.0 — Rewind the machine. Read every bit.
The Binary Time Machine restores recorded registers, flags, changed RAM, outputs
and halt state. Select any recorded state with the timeline, step backward, or
replay without executing another instruction. New execution replaces an abandoned
future. History uses scalar snapshots and changed-byte journals.
The instruction playground adds explicit 16/32/64-bit inspection for a documented
subset. Read 66/REX and ModR/M fields, flip register/width bits and inspect an exact
64-bit immediate. Simulation remains the tested 16-bit teaching model. Actual
browser recordings distinguish inspection, model execution and real QEMU footage.
Included in this milestone
- CPU Lab
.bits/raw.bindownloads and imports, preserving loaded bytes before
self-modification. Delayed imports cannot overwrite newer source choices/drafts. - Binary/hex drafts with explicit loading, shared input boundaries and checked
literal-byte round trips. Canonical target source remains binary.bits. - Browser/CLI Unicode/BOM/line-boundary parity and 658 seeded diagnostic cases.
Independent flags properties check 81,691 modeled instructions. - Concise introductions in eight languages and corresponding website routes,
with source freshness, link/code consistency, RTL/LTR and mobile checks. - Contributor conduct/security policies and a source map; private vulnerability
reporting is enabled. Detailed technical guides and instruments remain English. - Atomic
bitpackoutput with injected failure checks, a reproducible host-model
benchmark, and deterministic release provenance tied to the exact source commit.
The 55 reviewed native targets and their instruction bytes are unchanged from
v0.2.0. The seven BIOS images, six Linux ELF examples, shell and protected-mode
experiment retain their earlier payloads. The original boot greeting still says
v0.1. This release expands host/browser capabilities, not native OS support.
Downloads and verification
The release contains seven BIOS images; the reviewed images/payloads/ELFs archive;
the immutable source archive; two genuine native screenshots and their capture
record; release-provenance.json; and SHA256SUMS.
The provenance manifest records the commit, reviewed target source-file and payload
hashes, all packaged-artifact hashes and the release archive/evidence hashes.
The checksum list includes the provenance manifest. It is an integrity record,
not a cryptographic publisher signature. Unexpected or aliased release staging
entries are rejected before writing. Repeating preparation on the same reviewed
commit produces the same staged bytes.
sha256sum -c SHA256SUMS
qemu-system-i386 -drive file=boot.img,format=raw,if=floppy -boot a -serial stdioOn macOS, use shasum -a 256 -c SHA256SUMS. From source:
make test site-test
npm ci
npx playwright install chromium firefox webkit
npm run test:browser
npm run test:cross-browser
npm run benchmarkThe browser is bounded and does not execute imported bytes as host-native code.
Linux ELF examples need Linux x86-64; BIOS targets are QEMU/SeaBIOS/TCG-tested.
Paging, general exceptions, hardware IRQs, physical hardware, UEFI and production
OS compatibility remain outside the established support boundary. Benchmarks
measure JavaScript interpretation/history, excluding DOM and native CPU timing.
Translations welcome native-speaker review. Source/docs editing is AI-assisted;
“handwritten” means direct instruction-byte authorship, not unassisted authorship.
Website ·
Time Machine ·
Instruction playground ·
International introductions ·
Roadmap
v0.2.0 — Edit, step, repair, and boot
bitborn v0.2.0 — Edit, step, repair, and boot
Edit all 512 boot-sector bytes, watch register bits/flags/stack/memory in the CPU
Lab, and solve 20 binary challenges. The exact one-bit-edited browser download
boots in QEMU. The new native shell loads a separately authored returning disk
app; the protected-mode target demonstrates a real 32-bit GDT/IDT transition.
- Boot Sector Builder: live fields/boundaries, little-endian values, signed
branches, signature validation and exact.img/.bitsdownloads. - CPU Lab: Step/Run/Pause/Reset, speed, breakpoints and live state inspection.
- 20 challenges: four levels, hints, deterministic goals, share URLs and local
progress. All reviewed solutions pass QEMU; all untouched seeds fail the model. - Native shell: nine commands, actual RAM/register snapshots, checked BIOS disk
reads and a returning app computing 7×6. Protected mode: flat memory, one
software-interrupt gate and verified IRETD/success/failure paths. - Size lab: original exit payload 12 bytes → 8; ELF 132 → 128. Both return42 in
Linux. More instructions/stack traffic; no speedup claim. - Eight dedicated website routes, generated roadmap progress, genuine browser
and QEMU recordings, complete byte tables and contributor issue forms. - Correct source-alias data loss, packaged-output collisions, derived-file
verification and 16-bit IP wrap. Original boot/monitor targets remain available.
Source commit: 4706efeeab9133f53b2b9e80089f144d9983ff89.
Exact-commit CI
checks 37 Python tests, 55 reviewed literal targets, six native Linux ELFs,
QEMU behavior, Chromium/Firefox/WebKit interactions, exact downloads and build
reproduction. Website.
Downloads and reproduction
Seven standalone BIOS .img files, the complete archive of 86 reviewed build
artifacts, source archive, two genuine native screenshots and capture provenance
are attached. SHA256SUMS covers every attachment except itself. Challenge
start.bin files are intentionally broken puzzle payloads; use curated
solution.img images for native examples. shell-app.bin needs its shell loader.
make test
make site-test
npm ci
npx playwright install chromium firefox webkit
npm run test:browser
npm run test:cross-browser
python3 tools/verify_browser_export.py
qemu-system-i386 -drive file=build/shell.img,format=raw,if=floppy -boot a -serial stdioTarget instruction bytes are literal .bits, never assembler/compiler output.
Python only packages existing bytes; browser execution is a bounded educational
model, not native CPU execution. Native Linux ELFs require Linux x86-64; BIOS
targets run in QEMU/TCG, including on Apple Silicon. Physical hardware, UEFI,
paging, general exception handling and hardware IRQ delivery remain unverified
or unimplemented. This is an educational operating environment, not a full OS.
v0.1.1 — Comments stay comments
bitborn v0.1.1 — Comments stay comments
This patch improves the host tools. Every handwritten target byte and boot
image is identical to v0.1.0.
bitpackaccepts arbitrary#comment prose, including pipe separators.
Optional structured annotations never become target instruction inputs.- Invalid byte input gives a source-line diagnostic and leaves existing output
intact. Regression tests exercise the actual command-line tool. - Version-specific release directories prevent stale archives from entering
a new release's checksum list.
The release includes the five bootable images, all gallery payloads and Linux
executables in bitborn-v0.1.1-images.tar.gz, the immutable source archive
bitborn-v0.1.1-source.tar.gz, and SHA256SUMS for uploaded artifacts.
sha256sum -c SHA256SUMS
qemu-system-i386 -drive file=boot.img,format=raw,if=floppy -boot a -serial stdioOn macOS use shasum -a 256 -c SHA256SUMS. From source, make test and
make site-test reproduce and validate the targets. Linux ELF examples require
Linux x86-64. BIOS images are QEMU/SeaBIOS-tested; no physical hardware, native
UEFI or production-OS compatibility is claimed. The browser model remains a
bounded teaching tool. Source/docs editing is AI-assisted, with instructions
authored directly as binary digits rather than assembler/compiler output.
Website · Docs ·
v0.1.0 foundation ·
Changelog ·
Roadmap
CI on the exact release commit passed all 20 Python tests (including actual Linux and QEMU execution), real browser checks, documentation links and reproducible builds. The five boot images were compared byte-for-byte with the public v0.1.0 release and are identical.
v0.1.0 — Software born from raw bits
bitborn v0.1.0 — Software born from raw bits
A real 512-byte x86 BIOS boot image, written directly as literal binary digits.
No assembler or target compiler creates its instructions. Python packages bytes;
JavaScript provides the educational website and bounded simulator.
Included
- Boot greeting on actual VGA and COM1, with a controlled halt.
- Four host tools: strict packing, annotated inspection, verification and bit diff.
- Ten documented examples with complete byte tables: Linux exit/arithmetic/text/
loop/compare and BIOS keyboard/VGA/boot/monitor/disk reads. - A checked multi-sector loader and an editable, bounded command monitor.
- Source, reproducible builds, real QEMU capture, interactive website and tutorials.
Downloads and reproduction
boot.img: exactly 512 bytes, signature55 AAat offsets 510–511.keyboard.img,vga.img: independently bootable one-sector demonstrations.monitor.img,disk-read.img: independently bootable 1,536-byte disk images.bitborn-v0.1.0-images.tar.gz: all images, raw payloads, Linux ELF examples and
reproduction instructions.bitborn-v0.1.0-source.tar.gz: tracked source from the immutable release commit.SHA256SUMS: SHA-256 checksums for every uploaded artifact.
sha256sum -c SHA256SUMS
qemu-system-i386 -drive file=boot.img,format=raw,if=floppy -boot a -serial stdiomacOS can verify hashes with shasum -a 256 -c SHA256SUMS. From source, run
make test, make site-test, and optionally npm ci && npx playwright install chromium && npm run test:browser.
Supported environment and limits
BIOS images are tested in QEMU's x86 system emulator with SeaBIOS/TCG. Linux ELF
examples require Linux x86-64; their meaningful nonzero exit codes are documented.
No physical hardware or UEFI compatibility is claimed. This is an educational
real-mode environment, not a production OS. COM1 polling assumes a working UART;
the CHS loader makes one read attempt and stops on failure. The monitor's memory
inspection is fixed to 7C00 and reboot uses BIOS bootstrap.
Source editing and documentation are AI-assisted. “Handwritten” identifies direct
authorship of binary instruction bytes, not unassisted human authorship. Host
tools, BIOS, Linux and QEMU are conventional software; the target source boundary
is explicit. No telemetry or network behavior exists in the target programs.
CI executes real BIOS and Linux targets and checks source syntax, hashes,
encodings, branch boundaries, reproducibility, docs and real browser interactions.
The browser simulator is deliberately limited and does not prove native execution.
Website · Docs ·
Source · Changelog ·
Roadmap
Validation for the release commit: all 18 Python tests, native Linux execution, real Chrome checks and reproducible build CI. The source archive was extracted into a clean directory and rebuilt; its boot image matched byte-for-byte. SHA-256 checksums for all seven downloadable payload/archive files passed locally before upload.