{"id":51,"date":"2006-01-11T02:08:49","date_gmt":"2006-01-11T07:08:49","guid":{"rendered":"http:\/\/blog.chase.net.au\/index.php\/2006\/01\/the-pain-of-daggerfall\/"},"modified":"2006-04-13T16:00:22","modified_gmt":"2006-04-13T21:00:22","slug":"the-pain-of-daggerfall","status":"publish","type":"post","link":"http:\/\/blog.chase.net.au\/index.php\/2006\/01\/the-pain-of-daggerfall\/","title":{"rendered":"The pain of Daggerfall"},"content":{"rendered":"<p>Having enjoyed Morrowind, I figured I&rsquo;d give Daggerfall a try.&nbsp; Was a nice idea, except for the fact it&rsquo;s a really old DOS based game from the days long before 64 bit protected operating systems existed.&nbsp; So, the challenge was to get it working on my computer which currently only boots to XP-x64.<\/p>\n<p>The first problem was that unlike regular XP, XP-x64 has no support for 16 bit code so trying to run a DOS program just gives you an error that the program wasn&rsquo;t build for this CPU.&nbsp; Ok, I can deal with that.&nbsp; Download <a href=\"http:\/\/dosbox.sf.net\/\">dosbox<\/a>&nbsp;and try that out.&nbsp; Well, dosbox is a great program that happily emulates an x86 processor running DOS in a nice window that you can resize and run full screen if you want to.&nbsp; Unfortunately the performance isn&rsquo;t great at all because it emulates the CPU entirely in software and so turned out to be too slow to run Daggerfall.&nbsp; This was a real shame because the support for audio and MIDI are amazing &#8211; things just work happily!<\/p>\n<p>Performance issues?&nbsp; Maybe if I rebuild dosbox as a 64 bit application?&nbsp; Grab the source code from <a href=\"http:\/\/sf.net\/\">Sourceforge<\/a>&nbsp;and open it up in Visual Studio.&nbsp; Create an x64 target build and fire it off.&nbsp; Blam &ndash; hundreds of errors trying to compile 32 bit assembly code in a 64 bit program.&nbsp; Not going to happen.<\/p>\n<p>Ok, so next idea was to use <a href=\"http:\/\/www.vmware.com\/\">VMWare<\/a>&nbsp;to boot to a simple DOS system and run Daggerfall.&nbsp; After some fun getting DOS set up (my memory of autoexec.bat and config.sys magic is a little rusty), I installed Daggerfall and tried to run the audio setup.&nbsp; BOOM &#8211; lockup.<\/p>\n<p>Right, look at the VMWare guest OS installation guide and find that since v5 it supports an AudioPCI and not an SB16 by default.&nbsp; Ok &ndash; head over to <a href=\"http:\/\/www.soundblaster.com\/\">Creative Labs<\/a> and grab the DOS drivers for the AudioPCI.&nbsp; Drop them onto the DOS box, <a style=\"text-decoration: none; font-weight:normal; color: #333\" href = \"http:\/\/www.kamagraoraljelly247.com\/\">ttp:\/\/www.kamagraoraljelly247.com\/<\/a>, fix autoexec.bat and config.sys again then reboot.&nbsp; Splat &ndash; lockup loading the drivers which apparently are turning the CPU off!<\/p>\n<p>Head over to the VMWare support area.&nbsp; Issue found &ndash; edit the VMWare .vmx file directly with notepad and change the sound support from the AudioPCI to an SB16.&nbsp; Seemed reasonable &ndash; I wanted an SB16 anyway.&nbsp; Boot up, run the audio config program in Daggerfall again and the digital audio is absolutely flawless.&nbsp; Move down to the MIDI setup and VMWare crashes with a &ldquo;function not supported error&rdquo; in emulating the MIDI <a href=\"http:\/\/sverigeapotek.se\/\" style=\"color: #1a1a1a; border-color: transparent; text-decoration: none; font-weight: normal\">cialis pris<\/a>.&nbsp; Arghh.<\/p>\n<p>So&hellip; I decide maybe I can live without the music for the time being and fire up the game.&nbsp; It&rsquo;s choppy &ndash; VMWare has problems writing to the hardware when there&rsquo;s no guest tools installed.&nbsp; No guest tools are available for DOS so the game is basically unplayable.<\/p>\n<p>That&rsquo;s not too big of a problem &ndash; I head over to <a href=\"http:\/\/msdn.microsoft.com\/\">MSDN<\/a> subscriber downloads and grab a copy of the latest Virtual PC.&nbsp; Ten minutes downloading later I have it and run the installer which politely informs me that it doesn&rsquo;t run on XP-x64 and I&rsquo;ll have to install a 32 bit operating system.<\/p>\n<p>Sure thing &ndash; I make some room on my C: drive with <a href=\"http:\/\/www.partitionmagic.com\/\">Partition Magic<\/a>&nbsp;and go hunting for some DOS drivers for my AC97 onboard sound.&nbsp; Oops &#8211; they don&rsquo;t exist and apparently you need BIOS support to handle that sort of junk.<\/p>\n<p>This problem I can deal with &ndash; installing Win98 should fix all that because it has nice drivers that will give the DOS program something to talk to.&nbsp; Run through the Win98 setup and it&rsquo;s taking an awful long time to do anything (that scrolling bar at the bottom is sooo pretty), but that&rsquo;s probably because it can&rsquo;t detect any of my hardware until I get the drivers, right?&nbsp; Nope &ndash; splat back to text saying there&rsquo;s insufficient memory to run windows.&nbsp; Kinda surprising given there&rsquo;s 2G in my machine.<\/p>\n<p>Off to MS tech support and there&rsquo;s a <a href=\"http:\/\/support.microsoft.com\/?kbid=184447\">perfect article<\/a> there saying to edit my system.ini to tell Win98 that I really only have 780M of memory because apparently any more than that overloads the poor old 16 bit data structures in the 98 kernel.&nbsp; That&rsquo;s pretty easy and I fire up the rest of the installation process.&nbsp; Still takes a long time so while I&rsquo;m waiting I jump onto the web and search for the motherboard drivers I know I&rsquo;ll need.&nbsp; Oh dear, <a href=\"http:\/\/www.nvidia.com\/\">nVidia<\/a> doesn&rsquo;t have anything for 98 (or ME) and <a href=\"http:\/\/www.giga-byte.com\/\">Gigabyte<\/a> tells me that the &ldquo;chipset manufacturer has no Win98 compatibility&rdquo;.&nbsp; Some <a href=\"http:\/\/www.google.com\/\">Google-fu<\/a> later and I see a few people asking for help finding 98 drivers for nForce4 boards and a lot more morons abusing them for trying to run 98 on an nForce4 system when there&rsquo;s perfectly good reasons for wanting to do so (like running Daggerfall).&nbsp; Ultimately I find a few actually helpful people informing me that there will never be 98 drivers for the nForce4 platform and I&rsquo;m shit outta luck.&nbsp; Crap, crap, crap.<\/p>\n<p>So&hellip; back to VMWare and install Win98.&nbsp; Drop the guest tools onto it.&nbsp; That&rsquo;s about where I&rsquo;m at right now, I&rsquo;ll continue this with further updates if anything happens.<\/p>\n<p>(2 hours later)<\/p>\n<p>Well, VMWare+Win98 was no better than VMWare+DOS.&nbsp; I shouldn&rsquo;t be surprised by that because Win98 really is DOS anyway.&nbsp; It was identical right down to needing to use SB16 instead of the AudioPCI to get anything to work and then crashing VMWare with the exact same error &ndash; &ldquo;function not supported&rdquo; when I tried to use the MIDI.<\/p>\n<p>About to give up I went over to the <a href=\"http:\/\/www.elderscrolls.com\/\">Elder Scrolls<\/a>&nbsp;web site to see if there were any patches I&rsquo;d missed and a quick look at the forum led me to <a href=\"http:\/\/www.elderscrolls.com\/forums\/index.php?showtopic=212018\">this<\/a>&nbsp;post, which was the absolute best advice I&rsquo;d found.&nbsp; Using the special build of DosBox with the configuration recommended, Daggerfall runs amazingly well.&nbsp; I get a solid 25fps and almost no popping on the audio.&nbsp; I&rsquo;m now happy and hopefully anyone else wanting to play Daggerfall will find that post and be happy as well!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Having enjoyed Morrowind, I figured I&rsquo;d give Daggerfall a try.&nbsp; Was a nice idea, except for the fact it&rsquo;s a really old DOS based game from the days long before 64 bit protected operating systems existed.&nbsp; So, the challenge was to get it working on my computer which currently only boots to XP-x64. The first [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-51","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/posts\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/comments?post=51"}],"version-history":[{"count":0,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/posts\/51\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/media?parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/categories?post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.chase.net.au\/index.php\/wp-json\/wp\/v2\/tags?post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}