{"id":428,"date":"2026-08-23T14:19:38","date_gmt":"2026-08-23T04:19:38","guid":{"rendered":"https:\/\/www.amigaretro.com\/projects\/?p=428"},"modified":"2026-08-31T07:50:09","modified_gmt":"2026-08-30T21:50:09","slug":"beatle-quest-real-hardware","status":"publish","type":"post","link":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/","title":{"rendered":"Beatle Quest, Real Hardware, and What &#8220;Finished&#8221; Actually Means"},"content":{"rendered":"<p><strong><em>Part 2 of a series. Part 1: <\/em><\/strong><a href=\"https:\/\/www.amigaretro.com\/projects\/blakes-7-beatle-quest\/\">Blake\u2019s 7, Beatle Quest, and a Very Practical Text Adventure Path<\/a><\/p>\n<h2>Where Part 1 left off<\/h2>\n<p>Part 1 ended in a good place, but a slightly deceptive one.<\/p>\n<p>By the middle of August, the Beatle Quest Python Quill runner was solid. Extracted database, imported rule tables, a real automated test suite, 289 of 289 imported response rules covered. I called that &#8220;the kind of coverage that starts to make the engine trustworthy,&#8221; and I stand by it.<\/p>\n<p>But it was still Python, running on my own machine, talking to itself &#8211; the python version is also fully playable.<\/p>\n<p>Nothing had touched real hardware yet.<\/p>\n<p>The NABU at a minimum was my target, so I already knew that gap mattered &#8211; I said as much in Part 1.<\/p>\n<p><strong>*<em>Game play &#8211; Spoiler Alert<\/em>*<\/strong> The data extraction work turned up something more interesting than routine coverage numbers, too. A later conversion of the original Spectrum release &#8211; from Quill A to Quill C &#8211; reset an internal flag every single turn, and that quietly broke the two-step sequence that reveals the circus gun. This is not a rumour; it is a documented, published completion bug in the original game. Cross-checking the imported rule tables against that report, I found the exact same fault sitting in the extracted data &#8211; a process rule silently resetting the flag the gun discovery depends on, every turn, forever. My workaround for it was not a shortcut, it was a compatibility shim, and I keep a permanent regression test whose only job is to prove the gun can still be found and picked up. That is one of the clearer examples of why doing this from the real extracted database matters: I was not just rebuilding the game, I was quietly fixing the same bug that made the original game unfinishable. You will find all the details of a patch to the original Spectrum Game in the Spectrum archives. *<\/p>\n<h2>Building the actual CP\/M runtime<\/h2>\n<p><strong>*<em>Game play &#8211; Spoiler Alert<\/em>*<\/strong> The move from &#8220;Python proves the logic&#8221; to &#8220;CP\/M runtime plays the game&#8221; was its own project. A .ADV binary format, a C runtime targeting z88dk, and then the slow, deliberate process of bringing the game up phase by phase &#8211; Penny Lane, then the cinema, the church, the market, the fairground, the Nowhere Man maze &#8211; each one confirmed working on real hardware before I let myself move on to the next.<\/p>\n<p>That discipline turned out to be the right call almost immediately.<\/p>\n<p>The first real hardware run failed. Not dramatically &#8211; just wrong, in a way I could not diagnose, because I had nothing to look at. Using an automated script worked well but the emulator I was testing on had no scrollback, no pause. The game would run, something would go wrong, and the evidence would already be gone by the time I noticed.<\/p>\n<p>So I built a way to see it. A debug mode that copies every line the game prints into a log file on the CP\/M drive itself, as well as showing it on screen. LOG.TXT.<\/p>\n<p>That one small piece of tooling turned out to be the single most useful thing I built this whole project. I have used it constantly, on every game, right up to this week&#8217;s &#8220;tentative&#8221; work on Pyramid 2000. When something goes wrong on real hardware and you cannot ask the machine what happened, a log file that just tells you is worth more than a week of theorising.<\/p>\n<p>With LOG.TXT in hand, that first failure took one pass to find: a bare OFF command that was handled inside the movement logic but never actually wired into the main command handling. One missing check. Everything that looked wrong after it in the transcript was just that one gap, cascading.<\/p>\n<h2>The bug that was not corruption<\/h2>\n<p>The one I am proudest of catching is not the cleverest bug, but it is the one with the best story.<\/p>\n<p>Partway through hardware testing, the game started stalling. Not crashing &#8211; stalling. Long silences, then it would come back. It happened rarely enough, and randomly enough, that the obvious suspect was memory corruption &#8211; a stray write clobbering something it should not, the game losing its footing for a moment before recovering. I went looking for it there first, because that is where this kind of bug usually lives.<\/p>\n<p>It was not there.<\/p>\n<p>The real cause was almost embarrassingly mundane once I found it: the low-level output routine was calling a print function once <em>per character<\/em>, and in the debug build that routine did two things every single time &#8211; wrote to the console, and wrote to a log file living on the CP\/M drive, is this case on a NABU virtual drive. A single room description might be a hundred and fifty characters. A full playthrough was tens of thousands of characters, which meant tens of thousands of individual network round-trips, one character at a time.<\/p>\n<p>The game was not corrupted. It was just waiting on the network, character by character, the whole time &#8211; silly me.<\/p>\n<p>Batching that into a proper line buffer cut the I\/O volume by somewhere around sixty times. The stalls vanished completely, on the first try, because the actual cause had never been what I was chasing.<\/p>\n<p>I think about that one a lot. It is a good reminder that &#8220;looks like corruption&#8221; and &#8220;is corruption&#8221; are not the same claim, and that the instinct to reach for the scarier explanation first is not always the right instinct.<\/p>\n<h2>Word-wrap, three times, on three different machines<\/h2>\n<p>If there is a single thread that ties this whole project together, it is word-wrap.<\/p>\n<p>The first version showed up early: comma-separated item lists printed via a raw output call with no awareness of the screen column at all. Fixed it, moved on.<\/p>\n<p>Then real cross-platform testing &#8211; TRS-80 Model 4P and Kaypro 10 emulators, a completely different test path from the NABU build &#8211; found a second, subtler version of the exact same bug. The first fix only guarded against leaving a trailing space on the last column. It did not account for a whole <em>word<\/em> landing exactly on the last column. Computers like the TRS-80&#8217;s and Kaypro&#8217;s auto-wrap the instant that happens, on their own, with no help from the game. My own wrap logic did not account for that, and would then add its own line break on top &#8211; real hardware doing exactly what it should, and my code doubling up on it anyway.<\/p>\n<p>Then a third instance, on the HELP text and the ending message, both of which had quietly bypassed the wrap-aware print path entirely and called a plain output function directly.<\/p>\n<p>Three bugs, same underlying mistake, caught by three different environments, over about two weeks.<\/p>\n<p>That pattern mattered enough that it became a standing rule for the rest of the project: every single piece of player-visible text routes through the wrap-aware print path, full stop, no exceptions, no matter how short or how obviously-fine a string looks today. I have now caught that exact mistake, one more time each, on both Blake&#8217;s 7 and Pyramid 2000 &#8211; both times a genuine bug, both times fixed the same way. It is a strange thing to say about a word-wrap function, but it has been one of the most reliably useful pieces of hard-won knowledge to come out of this whole project.<\/p>\n<h2>Small machines have small rules, and they do not forgive you for forgetting them<\/h2>\n<p>One other bug is worth mentioning, mostly because it is so unglamorous and so easy to reintroduce if you are not paying attention.<\/p>\n<p>A scoring penalty that got added, and then removed, after real playtesting made clear it was not landing the way I intended. Not every idea survives contact with actually playing the thing.<\/p>\n<p>None of this is exciting. All of it is the actual texture of finishing something, rather than just getting it working once.<\/p>\n<h2>Getting to &#8220;released&#8221;<\/h2>\n<p>By the time all of that had shaken out, Beatle Quest reached v1.00.21 &#8211; confirmed clean, independently, on four real targets: NABU at 80 columns, NABU at 40 columns, TRS-80 Model 4P, and Kaypro 10. Each one reaching an exact, correct 1000 out of 1000. Not &#8220;close enough.&#8221; Exact (Max score achieved).<\/p>\n<p>A 36-column build followed shortly after, for Coleco Adam-class hardware, folded into the same release rather than treated as a separate milestone.<\/p>\n<p>This week, finishing up alongside Blake&#8217;s 7 &#8211; now almost complete &#8211; and the brand-new experiments with a Pyramid 2000 port, I found one more real bug in the startup banner &#8211; the same word-wrap mistake, a fourth time, this time on a line that had genuinely never been checked against the narrowest column width the game now supported. Fixed, version bumped to v1.00.22.<\/p>\n<table>\n<tbody>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" width=\"647\" height=\"489\" class=\"wp-image-429\" src=\"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-1.png\" srcset=\"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-1.png 647w, https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-1-300x227.png 300w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/td>\n<td><img loading=\"lazy\" decoding=\"async\" width=\"647\" height=\"489\" class=\"wp-image-430\" src=\"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-2.png\" srcset=\"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-2.png 647w, https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-2-300x227.png 300w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>What &#8220;finalisation&#8221; actually meant, in the end<\/h2>\n<p>I used to think finishing a project like this would feel like a single moment &#8211; the last bug fixed, the last build compiled, done. It never quite worked out that way.<\/p>\n<p>That is, I think, the real lesson of the Beatle Quest chapter of this project. Not any single bug. The pattern underneath all of them: the gap between &#8220;it works&#8221; and &#8220;it is finished&#8221; is almost entirely made of things you cannot see until something outside your own setup goes and shows you.<\/p>\n<p>Part 1 was about proving the game logic could be trusted before the hardware layer arrived. Part 2 has been about discovering everything the hardware layer was quietly waiting to teach me anyway.<\/p>\n<p>Underneath it all, the reason any of this exists at all is still Blake&#8217;s 7. The original goal was, and still is, a proper graphical NABU port of that game, and this whole text-adventure branch exists to keep proving the room flow, the puzzle chain, and the presentation timing while the graphics side catches up. But it has stopped being just that. Extract, verify, rebuild, test on real hardware &#8211; that way of working turned into something I want to keep doing in its own right. There are other old adventure games I loved, or never quite finished, sitting on tapes and disks for machines that are not that common or I no longer have. This project has quietly become the start of a habit: giving them a second life on whatever small machine will have them.<\/p>\n<p>For the <strong>NABU<\/strong> and <strong>CP\/M<\/strong> is can presently be found at: <a href=\"https:\/\/nabu.ca\/cpm-software\/262\">NABU CP\/M Software<\/a><\/p>\n<p>*. Unsure if this bug effected the C64 version.<\/p>\n<p><strong>Next up:<\/strong> Blake&#8217;s 7 catches up the same, and a genuinely new project &#8211; Pyramid 2000 &#8211; gets built from nothing, on the same foundations, in about a week.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Part 2 of a series. Part 1: Blake\u2019s 7, Beatle Quest, and a Very Practical Text Adventure Path Where Part 1 left off Part 1 ended in a good place, but a slightly deceptive one. By the middle of August, the Beatle Quest Python Quill runner was solid. Extracted database, imported rule tables, a real<a class=\"more-link\" href=\"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/\">Read more  &#10230;<\/a><\/p>\n","protected":false},"author":21,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[61,57,73,72],"tags":[67,75,88,83,74],"class_list":["post-428","post","type-post","status-publish","format-standard","hentry","category-arbgen","category-retrogen","category-nabu","category-trs80","tag-article","tag-nabu","tag-spectrum","tag-text-adventure","tag-trs80"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Beatle Quest, Real Hardware, and What &quot;Finished&quot; Actually Means - Amiga Retro Brisbane Projects<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Beatle Quest, Real Hardware, and What &quot;Finished&quot; Actually Means - Amiga Retro Brisbane Projects\" \/>\n<meta property=\"og:description\" content=\"Part 2 of a series. Part 1: Blake\u2019s 7, Beatle Quest, and a Very Practical Text Adventure Path Where Part 1 left off Part 1 ended in a good place, but a slightly deceptive one. By the middle of August, the Beatle Quest Python Quill runner was solid. Extracted database, imported rule tables, a realRead more &#10230;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/\" \/>\n<meta property=\"og:site_name\" content=\"Amiga Retro Brisbane Projects\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-23T04:19:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-30T21:50:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"647\" \/>\n\t<meta property=\"og:image:height\" content=\"489\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"intangybles\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"intangybles\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/\"},\"author\":{\"name\":\"intangybles\",\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/#\\\/schema\\\/person\\\/ef7ef27139852846ec843b32e0c47dea\"},\"headline\":\"Beatle Quest, Real Hardware, and What &#8220;Finished&#8221; Actually Means\",\"datePublished\":\"2026-08-23T04:19:38+00:00\",\"dateModified\":\"2026-08-30T21:50:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/\"},\"wordCount\":1787,\"publisher\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/word-image-428-1.png\",\"keywords\":[\"Article\",\"NABU\",\"Spectrum\",\"Text Adventure\",\"TRS-80\"],\"articleSection\":[\"ARB General\",\"General Retro\",\"NABU\",\"TRS-80\"],\"inLanguage\":\"en-AU\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/\",\"url\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/\",\"name\":\"Beatle Quest, Real Hardware, and What \\\"Finished\\\" Actually Means - Amiga Retro Brisbane Projects\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/word-image-428-1.png\",\"datePublished\":\"2026-08-23T04:19:38+00:00\",\"dateModified\":\"2026-08-30T21:50:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/#breadcrumb\"},\"inLanguage\":\"en-AU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/word-image-428-1.png\",\"contentUrl\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/word-image-428-1.png\",\"width\":647,\"height\":489},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/beatle-quest-real-hardware\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Beatle Quest, Real Hardware, and What &#8220;Finished&#8221; Actually Means\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/#website\",\"url\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/\",\"name\":\"Amiga Retro Brisbane Projects\",\"description\":\"Amiga was\u2026is &amp; will be \u2026 as long as we are around.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-AU\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/#organization\",\"name\":\"Amiga Retro Brisbane Projects\",\"url\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/arb-logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/arb-logo.svg\",\"width\":534,\"height\":192,\"caption\":\"Amiga Retro Brisbane Projects\"},\"image\":{\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/#\\\/schema\\\/person\\\/ef7ef27139852846ec843b32e0c47dea\",\"name\":\"intangybles\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-AU\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb82b762414a7351c26e0df4677134fa0bacfc8c283248a6ee3bedd7d0d694be?s=96&d=robohash&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb82b762414a7351c26e0df4677134fa0bacfc8c283248a6ee3bedd7d0d694be?s=96&d=robohash&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb82b762414a7351c26e0df4677134fa0bacfc8c283248a6ee3bedd7d0d694be?s=96&d=robohash&r=pg\",\"caption\":\"intangybles\"},\"sameAs\":[\"https:\\\/\\\/www.amigaretro.com\"],\"url\":\"https:\\\/\\\/www.amigaretro.com\\\/projects\\\/author\\\/intangybles\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Beatle Quest, Real Hardware, and What \"Finished\" Actually Means - Amiga Retro Brisbane Projects","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/","og_locale":"en_US","og_type":"article","og_title":"Beatle Quest, Real Hardware, and What \"Finished\" Actually Means - Amiga Retro Brisbane Projects","og_description":"Part 2 of a series. Part 1: Blake\u2019s 7, Beatle Quest, and a Very Practical Text Adventure Path Where Part 1 left off Part 1 ended in a good place, but a slightly deceptive one. By the middle of August, the Beatle Quest Python Quill runner was solid. Extracted database, imported rule tables, a realRead more &#10230;","og_url":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/","og_site_name":"Amiga Retro Brisbane Projects","article_published_time":"2026-08-23T04:19:38+00:00","article_modified_time":"2026-08-30T21:50:09+00:00","og_image":[{"width":647,"height":489,"url":"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-1.png","type":"image\/png"}],"author":"intangybles","twitter_card":"summary_large_image","twitter_misc":{"Written by":"intangybles","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/#article","isPartOf":{"@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/"},"author":{"name":"intangybles","@id":"https:\/\/www.amigaretro.com\/projects\/#\/schema\/person\/ef7ef27139852846ec843b32e0c47dea"},"headline":"Beatle Quest, Real Hardware, and What &#8220;Finished&#8221; Actually Means","datePublished":"2026-08-23T04:19:38+00:00","dateModified":"2026-08-30T21:50:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/"},"wordCount":1787,"publisher":{"@id":"https:\/\/www.amigaretro.com\/projects\/#organization"},"image":{"@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/#primaryimage"},"thumbnailUrl":"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-1.png","keywords":["Article","NABU","Spectrum","Text Adventure","TRS-80"],"articleSection":["ARB General","General Retro","NABU","TRS-80"],"inLanguage":"en-AU"},{"@type":"WebPage","@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/","url":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/","name":"Beatle Quest, Real Hardware, and What \"Finished\" Actually Means - Amiga Retro Brisbane Projects","isPartOf":{"@id":"https:\/\/www.amigaretro.com\/projects\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/#primaryimage"},"image":{"@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/#primaryimage"},"thumbnailUrl":"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-1.png","datePublished":"2026-08-23T04:19:38+00:00","dateModified":"2026-08-30T21:50:09+00:00","breadcrumb":{"@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/#breadcrumb"},"inLanguage":"en-AU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/"]}]},{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/#primaryimage","url":"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-1.png","contentUrl":"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2026\/08\/word-image-428-1.png","width":647,"height":489},{"@type":"BreadcrumbList","@id":"https:\/\/www.amigaretro.com\/projects\/beatle-quest-real-hardware\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.amigaretro.com\/projects\/"},{"@type":"ListItem","position":2,"name":"Beatle Quest, Real Hardware, and What &#8220;Finished&#8221; Actually Means"}]},{"@type":"WebSite","@id":"https:\/\/www.amigaretro.com\/projects\/#website","url":"https:\/\/www.amigaretro.com\/projects\/","name":"Amiga Retro Brisbane Projects","description":"Amiga was\u2026is &amp; will be \u2026 as long as we are around.","publisher":{"@id":"https:\/\/www.amigaretro.com\/projects\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.amigaretro.com\/projects\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-AU"},{"@type":"Organization","@id":"https:\/\/www.amigaretro.com\/projects\/#organization","name":"Amiga Retro Brisbane Projects","url":"https:\/\/www.amigaretro.com\/projects\/","logo":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/www.amigaretro.com\/projects\/#\/schema\/logo\/image\/","url":"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2022\/09\/arb-logo.svg","contentUrl":"https:\/\/www.amigaretro.com\/projects\/wp-content\/uploads\/2022\/09\/arb-logo.svg","width":534,"height":192,"caption":"Amiga Retro Brisbane Projects"},"image":{"@id":"https:\/\/www.amigaretro.com\/projects\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.amigaretro.com\/projects\/#\/schema\/person\/ef7ef27139852846ec843b32e0c47dea","name":"intangybles","image":{"@type":"ImageObject","inLanguage":"en-AU","@id":"https:\/\/secure.gravatar.com\/avatar\/bb82b762414a7351c26e0df4677134fa0bacfc8c283248a6ee3bedd7d0d694be?s=96&d=robohash&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/bb82b762414a7351c26e0df4677134fa0bacfc8c283248a6ee3bedd7d0d694be?s=96&d=robohash&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb82b762414a7351c26e0df4677134fa0bacfc8c283248a6ee3bedd7d0d694be?s=96&d=robohash&r=pg","caption":"intangybles"},"sameAs":["https:\/\/www.amigaretro.com"],"url":"https:\/\/www.amigaretro.com\/projects\/author\/intangybles\/"}]}},"_links":{"self":[{"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/posts\/428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/comments?post=428"}],"version-history":[{"count":4,"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/posts\/428\/revisions"}],"predecessor-version":[{"id":443,"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/posts\/428\/revisions\/443"}],"wp:attachment":[{"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/media?parent=428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/categories?post=428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.amigaretro.com\/projects\/wp-json\/wp\/v2\/tags?post=428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}