{"id":50927943,"url":"https://github.com/vgrichina/dos10","last_synced_at":"2026-06-17T01:04:08.758Z","repository":{"id":356196047,"uuid":"1231452735","full_name":"vgrichina/dos10","owner":"vgrichina","description":"Build 86-DOS 1.00 from source via a JS SCP ASM clone, run it in a browser-based 8086 emulator.","archived":false,"fork":false,"pushed_at":"2026-05-07T02:02:33.000Z","size":153,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-07T03:35:50.172Z","etag":null,"topics":["8086","86-dos","assembler","dos","emulator","ms-dos","retrocomputing"],"latest_commit_sha":null,"homepage":"https://86-dos.berrry.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vgrichina.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-07T01:21:23.000Z","updated_at":"2026-05-07T02:02:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/vgrichina/dos10","commit_stats":null,"previous_names":["vgrichina/dos10"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/vgrichina/dos10","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgrichina%2Fdos10","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgrichina%2Fdos10/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgrichina%2Fdos10/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgrichina%2Fdos10/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vgrichina","download_url":"https://codeload.github.com/vgrichina/dos10/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vgrichina%2Fdos10/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34429497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["8086","86-dos","assembler","dos","emulator","ms-dos","retrocomputing"],"created_at":"2026-06-17T01:04:07.931Z","updated_at":"2026-06-17T01:04:08.748Z","avatar_url":"https://github.com/vgrichina.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dos10 — open-source DOS in the browser\n\nBuild [86-DOS 1.00](https://github.com/DOS-History/Paterson-Listings) (the genuine ancestor of MS-DOS 1.0, the source of which Microsoft released April 28, 2026) from source, with a JS-native re-implementation of Tim Paterson's SCP 8086 Assembler, and run it in a browser-based 8086 emulator.\n\n**Live demo:** https://86-dos.berrry.app\n\n## Upstream sources (gitignored — fetch with `scripts/fetch-sources.sh`)\n\n- [DOS-History/Paterson-Listings](https://github.com/DOS-History/Paterson-Listings) — 86-DOS 1.00 source, PC-DOS 1.00 dev snapshots, SCP ASM 2.43 source. Released by Microsoft 2026-04-28, MIT-licensed.\n- [microsoft/MS-DOS](https://github.com/microsoft/MS-DOS) — v1.25 / 2.0 source for cross-reference. MIT.\n\n## Layout\n\n- `tools/scpasm.js` — JS implementation of the SCP ASM 2.43 dialect.\n- `tools/core/` — 8086 CPU + memory + IMD disk + nine-vector SCP BIOS shim\n  (`STAT/IN/OUT/PRINT/AUXIN/AUXOUT/READ/WRITE/DSKCHG`).\n- `test/boot_smoke.js` — Node harness; boots the disk image headlessly and\n  asserts COMMAND.COM reaches its date prompt.\n- `web/` — browser shell. `index.html` + `main.js` wire the CPU+BIOS to a\n  canvas-backed glass-TTY (`glass_tty.js`) modeling an SCP-era serial VDU\n  (80×24, BS/HT/LF/FF/CR/BEL, blinking block cursor).\n- `assets/86dos114-tarbell-dd.imd` — 86-DOS 1.14 disk image (Tarbell DD).\n- `build/` — generated binaries (gitignored).\n- `scripts/fetch-sources.sh` — clones the upstream repos into `paterson/`\n  and `msdos-src/`.\n\n## Build / run\n\n```\nnpm run build:asm    # ASM_2.43.ASM  -\u003e build/ASM.COM       (self-host check)\nnpm run build:dos    # 86DOS.ASM     -\u003e build/MSDOS.BIN\nnpm run boot:smoke   # node test/boot_smoke.js              (headless boot)\nnpm run web          # python3 -m http.server 8000          (open /web/)\nnpm run deploy       # bundle web/+tools/+assets to Berrry  (needs .env.berrry)\n```\n\nThe web shell currently boots the on-disk 86-DOS 1.14 image directly\n(loader + BIOS read off cyl 0–1; INT 0xE0+idx trampolines patched over\nthe nine BIOS entry points), not the freshly-assembled `MSDOS.BIN` —\nthat's the next milestone.\n\n## Hardware target\n\nSeattle Computer Products S-100 8086 system: serial console, 8\" floppy.\nNo video card, no IBM-PC BIOS — that's why the BIOS shim is nine\ncharacter/disk vectors and the terminal is a glass-TTY rather than a\nframebuffer. PC-DOS 1.0 was Microsoft's port of this code to the IBM PC\nhardware in 1981.\n\n## Status\n\nBoots to `COMMAND v. 1.10` date prompt; line input works. Disk writes,\nfile commands, and assemble-then-boot loop are TODO. See git log.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvgrichina%2Fdos10","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvgrichina%2Fdos10","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvgrichina%2Fdos10/lists"}