{"id":708,"date":"2017-11-28T16:19:28","date_gmt":"2017-11-29T00:19:28","guid":{"rendered":"http:\/\/www.adamantyr.com\/blog\/?p=708"},"modified":"2017-11-28T16:55:45","modified_gmt":"2017-11-29T00:55:45","slug":"hardware-hassles","status":"publish","type":"post","link":"http:\/\/www.adamantyr.com\/index.php\/2017\/11\/28\/hardware-hassles\/","title":{"rendered":"Hardware Hassles"},"content":{"rendered":"<p>Been a busy holiday weekend&#8230; My company, while in software, is also in retail so they wanted coverage during the entire five-day holiday shopping period to make sure nothing went wrong. I ended up doing a couple of very early morning shifts on site and a few virtual ones. I also managed to catch a cold, bleh&#8230;<\/p>\n<p>As far as CRPG work goes, I&#8217;ve been wrestling with some concerning issues with the game itself. I decided to port my code over to the hardware to test out, and it failed to work. First the loader just failed to load any of the game data, then later it was loading but mysteriously omitting part of the data. (The title screen, in particular.)<\/p>\n<p>I was reading schematics, writing test programs, and analyzing everything (disk controller, memory card) to try and determine where the failure was for the last several days. Upgrading my laptop with a new hard drive and memory, where I do most of the PC side work, complicated matters as well.<\/p>\n<p>I FINALLY sussed it out today&#8230; The disk image used by the Lotharek drive was flawed. How it got messed up I&#8217;ve no idea, but on hardware it failed to load files correctly. Mysteriously, disk catalog systems showed all the files correctly, and they appeared to be correct in hex code. Initially it seemed like any new disk image I created wasn&#8217;t working, but a complete restart of the directory program cleaned everything up.<\/p>\n<p>Part of me is furious at wasting several days trying to figure out the issue&#8230; The other part is relieved there is no issue with my code or the other hardware! I was being careful to make sure that any hardware requirements were met.<\/p>\n<p>Re-writing the game to make use of the expanded memory has been good for making better code and making better use of what&#8217;s available on the system. I figured out how to use the &#8220;read\/write files by sectors&#8221; disk operation which is used for both loading the program data into memory pages (128k worth) and to copy and overwrite saved game files to prepare a new game. A lot of my old infrastructure code for file management is getting removed and re-written since I&#8217;ve cut down file usage considerably. I also ended up removing the idea of &#8220;disk paths&#8221;, the native TI disk system uses a number or letter designation for a drive, which the best 3rd party extensions (like the Horizon RAMDisk) just extended rather than replacing. I&#8217;ve decided to make the game just expect the game disk to always be in the first drive (DSK1) rather than have it be clever and identify it&#8217;s origin disk on load. If I get a LOT of push-back I may add that back in.<\/p>\n<p>I&#8217;ve also decided I&#8217;d better start sharing a progress list. It always feels good to check things off a list! I&#8217;m working on one module at a time, and adding common functionality to the root module as I go along. For example, base file management is in root, but each module would have individual file controls for specific data types.<\/p>\n<p>You can find my progress list on the tabs for the main page!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Been a busy holiday weekend&#8230; My company, while in software, is also in retail so they wanted coverage during the entire five-day holiday shopping period to make sure nothing went wrong. I ended up doing a couple of very early &hellip; <a href=\"http:\/\/www.adamantyr.com\/index.php\/2017\/11\/28\/hardware-hassles\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_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":""},"categories":[3,4,5,12],"tags":[],"class_list":["post-708","post","type-post","status-publish","format-standard","hentry","category-coding","category-crpg","category-design","category-ti-994a"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pgaeMJ-bq","_links":{"self":[{"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/posts\/708","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/comments?post=708"}],"version-history":[{"count":2,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/posts\/708\/revisions"}],"predecessor-version":[{"id":712,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/posts\/708\/revisions\/712"}],"wp:attachment":[{"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/media?parent=708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/categories?post=708"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.adamantyr.com\/index.php\/wp-json\/wp\/v2\/tags?post=708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}