{"id":543477,"date":"2026-07-15T23:38:14","date_gmt":"2026-07-15T23:38:14","guid":{"rendered":"https:\/\/www.newsbeep.com\/il\/543477\/"},"modified":"2026-07-15T23:38:14","modified_gmt":"2026-07-15T23:38:14","slug":"doom-runs-slowly-in-a-ibm-pc-compatible-css-sheet","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/il\/543477\/","title":{"rendered":"DOOM Runs (slowly) In A IBM PC-Compatible CSS Sheet"},"content":{"rendered":"<p>Just when you thought we\u2019d run out of things to port DOOM to, here comes [Ahmed Amer] with his CSS-DOS, <a href=\"https:\/\/css-dos.ahmedamer.co.uk\/\" target=\"_blank\" rel=\"nofollow noopener\">a massive 300 MB CSS style sheet, <\/a>that runs not just DOS, but Windows 1.0 and, of course, DOOM. The CSS sheet isn\u2019t holding a DOOM port this time, though \u2014 it\u2019s holding a full IBM PC compatible, with a simulated 8086, 640 kB of RAM, floppy and VGA controllers. Yes, in one style sheet. We did mention it was 300 MB, right?<\/p>\n<p>CSS is not a very good programming language. It\u2019s got functions and if statements nowadays, but it doesn\u2019t really do programs in the usual sense. That is, lists of instructions that feed one into another. You can\u2019t change a variable without jumping through hoops. The sort of static behavior you get from a CSS sheet actually matches hardware architecture better than software, which was the key insight [Ahmed] had to make the project possible. It\u2019s still not easy, or elegant, or perhaps even sane, as you can find out from the excellent write-up he has describing how he pulled this off. We particularly like the interactive guide to the full mountain of madness that is the .css file.<\/p>\n<p>Now, we admit that \u201cruns DOOM\u201d may be an exaggeration \u2014 even if the maddeningly massive CSS sheet ran an IBM-AT full speed, that hardware can\u2019t handle the game at any playable speed. It doesn\u2019t emulate at anything close to full speed, though. Because this is such a gratuitously weird hack, it only runs at two instructions per second. No, not FPS, instructions, as in at the CPU level. Well, it could be worse, at least it\u2019s not clock ticks. Still, if you\u2019re time-dilated enough you can wait the 3 weeks to boot DOS, and the 3 months to load a level, you can play DOOM at 0.0001 FPS.<\/p>\n<p>Look, we didn\u2019t make the rules \u2014 they say <a href=\"https:\/\/hackaday.com\/tag\/does-it-run-doom\/\" rel=\"nofollow noopener\" target=\"_blank\">everything has to try and run DOOM.<\/a> They don\u2019t say everything has to run it well.<\/p>\n","protected":false},"excerpt":{"rendered":"Just when you thought we\u2019d run out of things to port DOOM to, here comes [Ahmed Amer] with&hellip;\n","protected":false},"author":2,"featured_media":543478,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[85,46,125],"class_list":["post-543477","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technology","tag-il","tag-israel","tag-technology"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/543477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/comments?post=543477"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/posts\/543477\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media\/543478"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/media?parent=543477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/categories?post=543477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/il\/wp-json\/wp\/v2\/tags?post=543477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}