{"id":324,"date":"2026-07-14T13:02:45","date_gmt":"2026-07-14T13:02:45","guid":{"rendered":"https:\/\/blogs.scummvm.org\/mohit\/?p=324"},"modified":"2026-07-14T13:02:45","modified_gmt":"2026-07-14T13:02:45","slug":"dungeon-again","status":"publish","type":"post","link":"https:\/\/blogs.scummvm.org\/mohit\/2026\/07\/14\/dungeon-again\/","title":{"rendered":"Dungeon Again"},"content":{"rendered":"<p>Hi everyone, this is Week 7 of GSoC, and I&#8217;m happy to share that I&#8217;ve successfully passed the midterm evaluation \ud83d\ude03. As I told you in the last blog, the Amiga version of Dungeon Master is now fully playable \u2014 so we&#8217;ve decided to extend support to the DOS version as well.<\/p>\n<p>I began by analysing the DOS version and found that most of the game logic is the same across both platforms. I started by adding the detection entry for the DOS English version, then added Little-Endian support in the asset loaders of the engine.<\/p>\n<p>There were also differences in the graphics file format \u2014 the DOS version uses version 3.x, which has a special 2-byte signature at the start of the file to identify it as such.\u00a0I added support for detecting this signature by reading the first 2 bytes of the file as a header word and checking if it has <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">0x8000<\/code> set, which identifies it as version 3.x, and adjusted the table start offset and bytes-per-graphic accordingly so the loader handles both formats correctly.<\/p>\n<p>Sev gave me access to Coverity&#8217;s static analysis and pointed me to the issues flagged for the DM engine. I went through them one by one and found that most were false positives.<br \/>\nThings like null pointer dereferences or out-of-bounds accesses that Coverity flagged were in practice guarded by earlier logic in the engine \u2014 the problematic paths simply couldn&#8217;t be reached during normal execution. For those, I silenced the warnings.<br \/>\nA handful of the issues were genuine, and I fixed those properly.<\/p>\n<p>My college has started and I had to travel back to my hostel from my hometown, so progress was a bit slow this week. I&#8217;ll make up for it this week by quickly wrapping up the remaining Coverity issues and getting back to work on the DOS version.<\/p>\n<p>That&#8217;s it for this week. See you in the next one! \ud83d\udc4b<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hi everyone, this is Week 7 of GSoC, and I&#8217;m happy to share that I&#8217;ve successfully passed the midterm evaluation \ud83d\ude03. As I told you in the last blog, the Amiga version of Dungeon Master is now fully playable \u2014 so we&#8217;ve decided to extend support to the DOS version as well. I began by [&hellip;]<\/p>\n","protected":false},"author":30,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-324","post","type-post","status-publish","format-standard","hentry","category-week-7"],"_links":{"self":[{"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/posts\/324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/comments?post=324"}],"version-history":[{"count":6,"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/posts\/324\/revisions"}],"predecessor-version":[{"id":330,"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/posts\/324\/revisions\/330"}],"wp:attachment":[{"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/media?parent=324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/categories?post=324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.scummvm.org\/mohit\/wp-json\/wp\/v2\/tags?post=324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}