{"id":35278146,"url":"https://github.com/dbalsom/pc-emulation-book","last_synced_at":"2026-03-27T04:30:41.616Z","repository":{"id":325872601,"uuid":"1102141329","full_name":"dbalsom/pc-emulation-book","owner":"dbalsom","description":"An mdbook based emulation guide for the IBM PC/XT","archived":false,"fork":false,"pushed_at":"2026-03-22T01:37:24.000Z","size":1636,"stargazers_count":28,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-22T12:45:10.606Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbalsom.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":"2025-11-22T22:26:25.000Z","updated_at":"2026-02-15T20:29:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dbalsom/pc-emulation-book","commit_stats":null,"previous_names":["dbalsom/pc-emulation-book"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dbalsom/pc-emulation-book","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbalsom%2Fpc-emulation-book","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbalsom%2Fpc-emulation-book/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbalsom%2Fpc-emulation-book/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbalsom%2Fpc-emulation-book/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbalsom","download_url":"https://codeload.github.com/dbalsom/pc-emulation-book/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbalsom%2Fpc-emulation-book/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31019268,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-27T03:51:26.850Z","status":"ssl_error","status_checked_at":"2026-03-27T03:51:09.693Z","response_time":164,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-12-30T14:06:13.157Z","updated_at":"2026-03-27T04:30:41.605Z","avatar_url":"https://github.com/dbalsom.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The PC Emulation Book\n\n[Read the current preliminary version](https://book.martypc.net/) - Warning, there's not a ton of content completed.\n\nInspired by [Pandocs](https://gbdev.io/pandocs/) documentation for Gameboy emulator authors, this book is the start of what will be a long, laborious project of documenting everything you need to know to emulate an original IBM PC.\n\nThis book will (initially) describe two models of IBM machine due to their extreme commonalities:\n\n - The IBM Model 5150 Personal Computer\n - The IBM Model 5160 Personal Computer XT\n\nIn the future, who knows what it might grow to cover.\n\n## Who are you and what are your qualifications to write a guide to PC emulation?\n\nHumbly, I am the author of the IBM PC emulator [MartyPC](https://github.com/dbalsom/martypc). I would never claim that MartyPC is the best or most accurate emulator on earth, or that its device implementations are perfect. But in years that I have spent developing it I have learned a great deal about the IBM PC hardware, often the result of performing direct hardware research on one of the IBM 5150s I personally own. To run the demo [Area 5150](https://www.pouet.net/prod.php?which=91938) like MartyPC can, requires cycle-accurate emulation of many of the system components of the IBM PC, something I only achieved after hours of poring over captures from a 32-channel logic analyzer.\n\nDuring development of MartyPC, I became jealous of the comprehensive documentation archives that many console emulation platforms enjoy. \"There should be something like this for PC\" was a constant, nagging thought. I always knew I wanted to do something about it. This is that something.\n\n## Contribution Guidelines\n\nI could certainly use help documenting everything - there's a lot of material to cover. However, I am forced to be extremely picky to maintain the quality level I am aiming for.\n\n - Editorial work is always appreciated. If you find a grammatical issue or find certain phrasing awkward, please suggest corrections or improvements.\n - Please, no AI-generated text. If I wanted to include AI written chapters I could have asked ChatGPT myself to write the whole thing.\n - Diagrams should ideally be in SVG format and display well using either light or dark themes. We can inject CSS into the SVG to change the colors per-theme, if necessary.\n - No scrapes / dumps of text from books or websites still under copyright protection (without explicit and documented permission).\n    - Ideally, all text in the book should be of original authorship. This is our opportunity to clarify material, remove ambiguities, and create the clearest, most helpful documentation on the a particular topic available.\n - Please be knowledgable about the topic of your contributions. If you've never programmed or emulated a serial port, perhaps you should not write a chapter on the serial port. Yes, anyone can read and translate a datasheet, but the point of this work is to go beyond. And as any emulator author can tell you, the datasheets can lie.\n\n## License\n\n - Except where otherwise noted, all content in this book is released into the public domain under Creative Commons CC0 1.0. See LICENSE. \n\n## Special Thanks To\n\n - modem7 of [minuszerodegrees.net](https://www.minuszerodegrees.net/), which remains the single best resource documenting the IBM 5150 and 5160 (and more)\n - The late David Jurgens for authoring [HELPPC](https://helppc.netcore2k.net/)\n - Ralf Brown for his many contributions [documenting the PC](https://www.cs.cmu.edu/~ralf/files.html)\n - Ken Shirriff for documenting all the things silicon\n - reenigne for being an amazing code wizard\n - Trixter for the constant encouragement and deep historical knowledge","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbalsom%2Fpc-emulation-book","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbalsom%2Fpc-emulation-book","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbalsom%2Fpc-emulation-book/lists"}