{"id":22,"date":"2008-03-01T22:46:04","date_gmt":"2008-03-01T22:46:04","guid":{"rendered":"http:\/\/jamesonline.net\/blog\/?p=17"},"modified":"2015-04-15T08:28:25","modified_gmt":"2015-04-15T08:28:25","slug":"mame-diary-001-dos-and-frontend","status":"publish","type":"post","link":"https:\/\/jamesonline.net\/blog\/?p=22","title":{"rendered":"MAME Diary 001: DOS and Frontend"},"content":{"rendered":"<p>Check out the title ^^, it looks like there&#8217;s gonna be over a hundred of these things :0<\/p>\n<p>Then again it could be in binary, in which case this is part 1 of 7.<\/p>\n<p>Or Hexadecimal, in which case &#8230;&#8230;.<\/p>\n<p><!--more--><\/p>\n<p>OK, well before I got my cab  I started on the PC build to get that side of it set up. Initially I tried using an old Dell Optiplex P3 450 but it wasn&#8217;t quite powerful enough although it ran almost silently. It was just to slow when launching games so I had to use a P3 800 instead. I put a 256 and a 128 MB stick of RAM in and a 10 Gigabyte Hard Drive and then the fun started.<\/p>\n<p>The first job was obviously to format the drive so I chose a Partition Magic boot cd to do that with, just 1 10 Gigabyte partition filling the whole disk.<\/p>\n<p>Next I installed MS-DOS 7.10 from 2 floppy disks which is surprisingly quick, especially if you&#8217;ve ever installed MS-DOS 6.22 before.<\/p>\n<p>Once I had a working DOS system I simply used another PC to burn a CD containing DOS MAME and any other MAME files such as samples and artwork etc. I also put ArcadeOS on the disk too, but didn&#8217;t run it just yet.<\/p>\n<p>Another file I discovered I needed (as with most other things through trial and error when it didn&#8217;t work) was one called <a href=\"http:\/\/en.wikipedia.org\/wiki\/CWSDPMI\" title=\"CWSDPMI\" target=\"_blank\">CWSDPMI.EXE<\/a>. This helps the primitive DOS system to manage its RAM usage better and MAME will come up with an error without it. I copied it to the MAME folder, though when I did that, MAME still ran with an error so I copied it to the root of the C Drive as well and it was fine.<\/p>\n<p>The first thing to test is that MAME actually runs, and to do that change to the MAME directory with the command<\/p>\n<p>cd mame<\/p>\n<p>then run a game with the command<\/p>\n<p>dmame 1943<\/p>\n<p>MAME will ask what sound card you have but as I hadn&#8217;t set it up yet I had to select 0 for no sound but the game should run just fine without it.<\/p>\n<p>This is where I hit a bit of a problem because when I ran a game, the disk would begin to thrash and the game would take  a bit too long to run. After a bit of Googling (yes, it&#8217;s a verb, deal with it, move on) I came to the conclusion that it was because I had formatted the hard drive with a 4kb cluster size.<\/p>\n<p>What this means is that each cluster can only hold a tiny bit of data so to run a game the hard disk has to patch together the data from lots of clusters and it degrades performance. I decided to run my Partition Magic boot disk again and change the cluster size. I changed it to 64kb and rebooted.<\/p>\n<p>Oops, no dice. it failed to boot after not finding the operating system.<\/p>\n<p>Once again I was regaled with the splendour of installing DOS again. DOS installation and I would become good bedfellows.<\/p>\n<p>I came to the conclusion that DOS didn&#8217;t like 64kb clusters so changed it to 32kb and things went swimmingly, after copying MAME and its supplementary files over to the hard drive again and ArcadeOS as well.<\/p>\n<p>Once I had tested MAME again, I decided to test ArcadeOS to see if it would successfully launch the same game. Obviously, if it doesn&#8217;t the fault is clearly with ArcadeOS rather than MAME.<\/p>\n<p>To be honest though, this part of the whole setup was easy, and ArcadeOS just worked right from the word go. I never had any problem getting it to run other than when I tried to launch the executable from C:\\ rather than C:\\ArcadeOS, it came up with a license file error even when I added the C:\\ArcadeOS directory to the paths line in my config.sys file. What this does is specifies at boot up that if you run a command that can&#8217;t be found in your current directory it will search those directories in the paths line for it and run it from there for you.<\/p>\n<p>Next time: sound.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Check out the title ^^, it looks like there&#8217;s gonna be over a hundred of these things :0 Then again it could be in binary, in which case this is part 1 of 7. Or Hexadecimal, in which case &#8230;&#8230;.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[82],"tags":[],"_links":{"self":[{"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/22"}],"collection":[{"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22"}],"version-history":[{"count":1,"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/22\/revisions"}],"predecessor-version":[{"id":242,"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/22\/revisions\/242"}],"wp:attachment":[{"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jamesonline.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}