{"id":10470,"date":"2024-02-23T20:49:59","date_gmt":"2024-02-24T03:49:59","guid":{"rendered":"https:\/\/mattfife.com\/?p=10470"},"modified":"2024-08-31T13:43:11","modified_gmt":"2024-08-31T20:43:11","slug":"source-code-for-infocom-games-and-the-zcode-interpreter","status":"publish","type":"post","link":"https:\/\/mattfife.com\/?p=10470","title":{"rendered":"Source Code for Infocom games &#8211; including the Zcode interpreter"},"content":{"rendered":"\n<p>Infocom games were THE games to play in the late 70&#8217;s through the 80&#8217;s, featuring such classics as Zork, Planetfall, and Hitchhiker&#8217;s Guide to the Galaxy.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"777\" data-attachment-id=\"10471\" data-permalink=\"https:\/\/mattfife.com\/?attachment_id=10471\" data-orig-file=\"https:\/\/i0.wp.com\/mattfife.com\/wp-content\/themes\/mattTheme\/headerimgs\/2024\/01\/image-13.png?fit=659%2C800&amp;ssl=1\" data-orig-size=\"659,800\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-13\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/mattfife.com\/wp-content\/themes\/mattTheme\/headerimgs\/2024\/01\/image-13.png?fit=247%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/mattfife.com\/wp-content\/themes\/mattTheme\/headerimgs\/2024\/01\/image-13.png?fit=640%2C777&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/mattfife.com\/wp-content\/themes\/mattTheme\/headerimgs\/2024\/01\/image-13.png?resize=640%2C777&#038;ssl=1\" alt=\"\" class=\"wp-image-10471\" srcset=\"https:\/\/i0.wp.com\/mattfife.com\/wp-content\/themes\/mattTheme\/headerimgs\/2024\/01\/image-13.png?w=659&amp;ssl=1 659w, https:\/\/i0.wp.com\/mattfife.com\/wp-content\/themes\/mattTheme\/headerimgs\/2024\/01\/image-13.png?resize=247%2C300&amp;ssl=1 247w, https:\/\/i0.wp.com\/mattfife.com\/wp-content\/themes\/mattTheme\/headerimgs\/2024\/01\/image-13.png?resize=222%2C270&amp;ssl=1 222w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n<\/div>\n\n\n<p><a href=\"https:\/\/blog.zarfhome.com\/2019\/04\/all-of-infocoms-game-source-code\" data-type=\"link\" data-id=\"https:\/\/blog.zarfhome.com\/2019\/04\/all-of-infocoms-game-source-code\">In 2019, Jason Scott posted<\/a> all the <a href=\"https:\/\/github.com\/historicalsource\/\" data-type=\"link\" data-id=\"https:\/\/github.com\/historicalsource\/\">source code for Infocom&#8217;s text adventure games<\/a>.<\/p>\n\n\n\n<p>Infocom&#8217;s&nbsp;<em>interpreter<\/em>&nbsp;source, however, remained obscure. ZIL (or Zork Implementation Language) wasn&#8217;t designed with a particular platform in mind but instead could be interpreted to work on a variety of systems using machine-dependent interpreters. The interpreters were well studied by enthusiasts who even made a modern Z-machine specification and an <a href=\"https:\/\/davidgriffith.gitlab.io\/frotz\/\" data-type=\"link\" data-id=\"https:\/\/davidgriffith.gitlab.io\/frotz\/\">open-source IF interpreters<\/a>.<\/p>\n\n\n\n<p>That source was largely considered lost, despite&nbsp;Brian Moriarty&nbsp;<a href=\"https:\/\/retrotinker.blogspot.com\/2018\/02\/z-intepreter-source-for-coco-recovered.html\" target=\"_blank\" rel=\"noreferrer noopener\">donating the interpreter code for the TRS-80 Color Computer<\/a>. That is until a few weeks ago when someone said they had the code and <a href=\"https:\/\/github.com\/erkyrath\/infocom-zcode-terps\" data-type=\"link\" data-id=\"https:\/\/github.com\/erkyrath\/infocom-zcode-terps\">posted the original interpreter source code<\/a>.<\/p>\n\n\n\n<p>Links:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/hackaday.com\/2023\/11\/21\/zork-zcode-interpreters-appear-out-of-nowhere\/\">https:\/\/hackaday.com\/2023\/11\/21\/zork-zcode-interpreters-appear-out-of-nowhere\/<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.zarfhome.com\/2023\/11\/infocom-interpreters\">https:\/\/blog.zarfhome.com\/2023\/11\/infocom-interpreters<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.zarfhome.com\/2019\/04\/all-of-infocoms-game-source-code\">https:\/\/blog.zarfhome.com\/2019\/04\/all-of-infocoms-game-source-code<\/a><\/li>\n\n\n\n<li>Infocom game source: <a href=\"https:\/\/github.com\/historicalsource\/\">https:\/\/github.com\/historicalsource\/<\/a><\/li>\n\n\n\n<li>Infocom interpreter source: <a href=\"https:\/\/github.com\/erkyrath\/infocom-zcode-terps\">https:\/\/github.com\/erkyrath\/infocom-zcode-terps<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.timeextension.com\/news\/2023\/11\/the-source-code-for-infocoms-amazing-code-porting-tools-has-now-been-preserved\">https:\/\/www.timeextension.com\/news\/2023\/11\/the-source-code-for-infocoms-amazing-code-porting-tools-has-now-been-preserved<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Infocom games were THE games to play in the late 70&#8217;s through the 80&#8217;s, featuring such classics as Zork, Planetfall, and Hitchhiker&#8217;s Guide to the Galaxy. In 2019, Jason Scott posted all the source code for Infocom&#8217;s text adventure games. Infocom&#8217;s&nbsp;interpreter&nbsp;source, however, remained obscure. ZIL (or Zork Implementation Language) wasn&#8217;t designed with a particular platform in mind but instead could be interpreted to work on a variety of systems using machine-dependent interpreters. The interpreters were well studied by enthusiasts who&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/mattfife.com\/?p=10470\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9],"tags":[],"class_list":["post-10470","post","type-post","status-publish","format-standard","hentry","category-cool"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4WECr-2IS","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/posts\/10470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mattfife.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10470"}],"version-history":[{"count":4,"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/posts\/10470\/revisions"}],"predecessor-version":[{"id":12195,"href":"https:\/\/mattfife.com\/index.php?rest_route=\/wp\/v2\/posts\/10470\/revisions\/12195"}],"wp:attachment":[{"href":"https:\/\/mattfife.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mattfife.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mattfife.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}