Download

Get KidDOS

One app, no installer. Unzip it, open it, type hi. It goes fullscreen on purpose; the parent chord is Ctrl+Alt+Shift+P.

Parents, read this first

KidDOS takes over the whole screen and is designed to be hard to leave.

  • There is no close button, no menu bar, and Cmd-Q / Alt-F4 do nothing.
  • Learn the way out before you start it.
  • Set the parent password yourself on the first run, before the child sits down.
  • It is not a lock: a determined child can still force-quit it. It is meant to be hard to leave by accident.

1. Start it

Unzip, open the app. It goes fullscreen. Type hi and press Enter. To try it in a window first, run it from a terminal with KIDDOS_WINDOWED=1.

2. Set the password (you)

Type parent. It asks you to choose a password, twice. You are in parent mode when the prompt ends with #; exit hands the machine back. Forgot it? Delete parent.hash in the KidDOS folder.

3. Get out

Press Ctrl+Alt+Shift+P (Mac: Cmd+Alt+Shift+P also works), enter the password, then shutdown to quit, or exit-fullscreen for a normal window. If all else fails: Force Quit (Cmd+Option+Esc) on a Mac, Task Manager (Ctrl+Alt+Del) on Windows. Nothing is lost; the drive saves itself every half second.

The full page, including where KidDOS keeps its files and the parent commands, is in every download as READ-ME-FIRST-PARENTS.md and at docs/PARENTS.md.

Latest build

Checking for builds…

Toolchain packs

Compilers are big, so KidDOS ships without them. A pack is a .kdp file a parent drops into the carts/ folder next to the drive and installs from parent mode with install-pack c or install-pack go. The C pack is about 36 MB; the Go pack about 200 MB.

Checking for packs…

Build from source

You need Rust 1.85 or newer. The first build takes a few minutes; after that it starts in a second.

$ git clone https://github.com/nurked/kiddos
$ cd kiddos
$ cargo run --release -p kiddos

The code is MIT or Apache-2.0, your choice. Cartridges you make are yours; share in parent mode writes a .kdc you can hand to another family.