Skip to content

v0.2.0 — Edit, step, repair, and boot

Choose a tag to compare

@OthmaneBlial OthmaneBlial released this 12 Oct 08:29
· 86 commits to main since this release

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/.bits downloads.
  • 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 stdio

Target 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.