{"id":587,"date":"2021-01-24T14:37:49","date_gmt":"2021-01-24T14:37:49","guid":{"rendered":"http:\/\/lushprojects.com\/blog\/?p=587"},"modified":"2021-01-25T20:11:47","modified_gmt":"2021-01-25T20:11:47","slug":"bbc-micro-on-mister","status":"publish","type":"post","link":"http:\/\/lushprojects.com\/blog\/2021\/01\/bbc-micro-on-mister\/","title":{"rendered":"BBC Micro on MISTer"},"content":{"rendered":"\n<p>During Covid-19 lockdown one of the things I wanted to do was to revisit some of the old computers I used. I don&#8217;t really have the space or inclination so collect the original hardware, so I decided to try out what emulation options exist now.<\/p>\n\n\n\n<p>I have been interested in trying some ASIC based projects, so a natural choice seemed to me to use the <a href=\"https:\/\/github.com\/MiSTer-devel\/Main_MiSTer\/wiki\">MISTer platform<\/a>. This is a retro computer, console and arcade emulation system based on the DE-10 Nano FPGA development board. This MISTer project was developed from the earlier <a href=\"http:\/\/joco.homeserver.hu\/fpga\/mist_en.html\">MIST project<\/a> which used an older development board.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"582\" src=\"http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4100-1024x582.jpg\" alt=\"\" class=\"wp-image-590\" srcset=\"http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4100-1024x582.jpg 1024w, http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4100-600x341.jpg 600w, http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4100-768x437.jpg 768w, http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4100-1536x873.jpg 1536w, http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4100-2048x1164.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>DE-10 Nano with MISTer expansion to support secondary SD Card<\/figcaption><\/figure><\/div>\n\n\n\n<p>To get started with MISTer you just need the DE-10 Nano board, but I also chose to get the MISTer add-on board, mostly for the secondary SD Card (more on that later). Most of the emulation cores, but not the BBC Micro, need a RAM add-on board too.<\/p>\n\n\n\n<p>Once you have the DE10 you can just flash the MISTer core on to an SD Card and boot it. You will also need a USB keyboard connected to the &#8220;USB to go&#8221; socket.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Some useful keys:\nCTRL-F11   Break (BBC Micro)\nF12        Load MISTer menu<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4102-927x1024.jpg\" alt=\"\" class=\"wp-image-591\" width=\"392\" height=\"432\" srcset=\"http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4102-927x1024.jpg 927w, http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4102-380x420.jpg 380w, http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4102-768x849.jpg 768w, http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4102-1390x1536.jpg 1390w, http:\/\/lushprojects.com\/blog\/wp-content\/uploads\/IMG_4102-1853x2048.jpg 1853w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><figcaption>BBC Micro booted using MISTer<\/figcaption><\/figure><\/div>\n\n\n\n<p>One limitation of the current core is that it doesn&#8217;t support split-mode games like Elite and Revs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Using BEEB.MMD<\/h2>\n\n\n\n<p>The BBC Micro core uses files in &#8220;MMB&#8221; format. This was a format originally developed for a BBC Micro add-on that connects SD cards to the user port and makes it look like a virtual set of disk-drive. The MMB file is a bundle of hundreds of BBC floppy disk images. Using commands on the BBC Micro you can choose to mount the images from the file in to virtual drives.<\/p>\n\n\n\n<p>The BBC core offers two ways to mount the MMB file. If you have a secondary SD card then format as FAT32 or FAT16. Copy the MMB file as &#8220;BEEB.MMB&#8221; on to the card. The core will automatically pick up that card. In this mode the file can be both read and written.<\/p>\n\n\n\n<p>The alternative is to rename the file as &#8220;.VHD&#8221; and copy it to the &#8220;games\/BBC Micro&#8221; directory on the main SD Card. If it is called &#8220;boot.vhd&#8221; then it will be automatically loaded. If not then you can manually load from the MISTer menu. <strong>In this mode the file is read only.<\/strong> To unmount a previously mounted VHD (e.g. to go back to the secondary card) press backspace when picking the VHD.<\/p>\n\n\n\n<p>There are various utilities to manipulate MMB files on PCs. I used &#8220;MMBReader&#8221; which is available on the <a href=\"https:\/\/stardot.org.uk\/forums\/viewtopic.php?p=296777#p296777\">stardot forum<\/a>. On the emulated BBC Micro the MMB file is accessible using <a href=\"https:\/\/github.com\/hoglet67\/MMFS\">MMFS<\/a>. Note that if no MMB file is available then MMFS will stall the boot of the BBC Micro by displaying the message &#8220;CARD?&#8221;.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Some useful MMFS Commands:\n *DCAT [start #] [end #]   - List disks in the MMB file\n *DIN [Drive #] &lt;Disk #>   - Mount disk in the specified drive (default 0)<\/pre>\n\n\n\n<p>Most of the MMB files you will find on the web are pre-loaded with many original games. By default they boot in to a menu to pick the games. You can disable the autoboot on the first disk by using the command <code>*OPT 4,0<\/code>. If you subsequently want to run the boot use <code>*EXEC !BOOT<\/code>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>During Covid-19 lockdown one of the things I wanted to do was to revisit some of the old computers I used. I don&#8217;t really have the space or inclination so collect the original hardware, so I decided to try out what emulation options exist now. I have been interested in trying some ASIC based projects, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[13],"tags":[],"_links":{"self":[{"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/posts\/587"}],"collection":[{"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/comments?post=587"}],"version-history":[{"count":6,"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/posts\/587\/revisions"}],"predecessor-version":[{"id":595,"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/posts\/587\/revisions\/595"}],"wp:attachment":[{"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/media?parent=587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/categories?post=587"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/lushprojects.com\/blog\/wp-json\/wp\/v2\/tags?post=587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}