~hristoast/hristoast

hristoast/site/blog/a-retroconsole-with-mister-fpga.html -rw-r--r-- 7.6 KiB
6c6b6100Hristos N. Triantafillou Proofreading edits 20 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<h1 id="title">A Retroconsole With MiSTer FPGA</h1>

<div id="dates">
  <span>Posted: <time id="post-date">2020-11-26</time></span>
</div>

<p id="post-excerpt">
  I've <a href="/blog/a-retroconsole-with-lakka/">previously written</a> about enjoying retroconsoles, specifically with the excellent <a href="http://www.lakka.tv/">Lakka</a> distribution. But more recently, I've become aware of the FPGA gaming scene, and the devices built around it. Does the prospect of cycle-accurate emulation sound highly desireable to you? Then read to learn about the MiSTer FPGA! <span class="footnote"> <a href="https://retrocomputing.stackexchange.com/a/1195">This</a> Stack Exchange post is a good reference for understanding "cycle-accurate".</span>
</p>

<div id="toc"></div>

<h3>What Is MiSTer FPGA?</h3>

<p>
  The MiSTer FPGA project is based around using the <a href="https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=1046">Terasic DE10-Nano</a> board to implement cycle-accurate recreations of classic consoles and devices such as computers and arcade machines. In short, it's a way to provide an experience that's virtually indistinguishable from the original hardware. <span class="footnote"> <a href="https://github.com/MiSTer-devel/Main_MiSTer/wiki">The MiSTer wiki</a> is a great resource for further reading about what it can do.</span>
</p>

<h3>Why Would You Want It?</h3>

<p>
  Given setups based on SoC devices are fairly common and can be very user-friendly, why would one want a MiSTer anyways?
</p>

<p>
  Indeed, I myself am a big fan of setups such as Lakka and RetroPie. Systems like these look good, and can play a huge amount of games with many excellent software-based emulators. These setups are great for folks who aren't concerned with some of the sometimes subtle ways that they can differ from their target platforms, or they simply don't notice.
</p>

<p>
  This is where the MiSTer, and indeed any other FPGA-based setup, will shine. The nature of how an FPGA works, or can work, effectively makes it easier to produce very accurate replications of the original hardware. The net result is that the experience looks and feels virtually identical to the real hardware. <span class="footnote"> Once again, <a href="https://github.com/MiSTer-devel/Main_MiSTer/wiki/Why-FPGA">the MiSTer wiki</a> is an excellent resource for the question of "Why FPGA?".</span>
</p>

<p>
  In a nutshell: you'd want a MiSTer if you want an accurately-recreated experience, first and foremost. But it's also a great thing for collectors who are looking to reduce wear and tear on their original hardware, while still getting an accurate experience.
</p>

<h3>What Do You Need?</h3>

<p>
  So, you want a MiSTer but are wondering what exactly you will need. All parts for a highly functional setup can be obtained from the <a href="https://misteraddons.com/">MiSTer Addons</a> website. They helpfully offer a pre-assembled bundle, I opted to assemble it myself since I wanted some parts that weren't included in the bundle (and thus would have had to dis-assemble it anyways).
</p>

<p>
  At minimum, you need a DE10-Nano, a 5V DC power adaptor, and an SD card. Some cores requre a RAM expansion, and there's no built-in bluetooth or wi-fi, so those may be extra things you want to grab. I myself went with the wi-fi and bluetooth adaptors from the MiSTer Addons website, and thus far they've functioned well.
</p>

<p>
  Aside from the actual hardware of the MiSTer setup, which is well-covered on their wiki and on the MiSTer Addons website, there's a few other related things you may want as well:
</p>

<ul>
  <li>A USB or bluetooth gamepad. <a href="https://docs.google.com/spreadsheets/d/1KlRObr3Be4zLch7Zyqg6qCJzGuhyGmXaOIUrpfncXIM/htmlview#">This spreadsheet</a> is available as a reference for those interested in performance and latency statistics of what folks in the community have tried and reported back on.
    <ul>
      <li>I've been using: the SFC30 and SNES30 by 8bitdo, the iBuffalo Classic, and a DS4 controller. They all feel great and were a breeze to setup.</li>
    </ul>
  </li>
  <li>The <a href="https://github.com/theypsilon/Update_All_MiSTer">Update_All_MiSTer</a> script. This will set you up with all kinds of extra goodies, check out the readme for details.</li>
  <li>Check out <a href="https://github.com/MiSTer-devel/Main_MiSTer/blob/d93481c26c5b8c5a001f423e5d456d2fccd45cd4/MiSTer.ini">the default MiSTer.ini file</a>, which is very well documented. <span class="footnote"> Further reading about the ini file can be found on <a href="https://github.com/MiSTer-devel/Main_MiSTer/wiki/Configuration-Files">the MiSTer wiki</a>.</span></li>
  <li><a href="https://www.romhacking.net/">ROMhacking.net</a> has a huge number of hacks and patches for a huge number of games. It is well worth it to spend some time browsing for patches for your favorite games, you never know what new life you can breathe into the classics! <span class="footnote"> For instance, <a href="https://www.romhacking.net/hacks/1386/">Final Fantasy VI - Ted Woolsey Uncensored Edition</a> is a fantastic way to re-experience the classic Final Fantasy VI! Do note that not every kind of patch you can find will work with the various MiSTer cores, but all ROM hacks I've tried that don't require special hardware definitely work just fine.</span> </li>
  <li>Other people have written about the MiSTer, and you should read what they say as well! For example, <a href="https://felixleger.com/posts/2020/10/dream-machine-mister-fpga/">this post</a> by Félix Léger is what got me interested in trying the MiSTer myself, even though I had heard of it and alternatives before. <span class="footnote"> Félix also goes into some details I won't be covering, such as (an opinionated) look at the alternatives.</span></li>
</ul>

<h3>Using MiSTer</h3>

<p>
  The MiSTer user interface is simple and effective. Everything you need is easy to find, and there's no frills. Additionally, every config setting is tweakable via the UI with a config tool that doesn't suck! There are limits to what you can do with the UI (you can't create a core-specific ini file that way as of this writing) but in general there's almost no need to SSH into the machine and do work that way.
</p>

<p>
  Bluetooth pairing was more painless than any other retroconsole experience, and the update scripts are easy to use and just kind of work.
</p>

<p>
  My only real complaint is: if you have large ROM collections, it can be cumbersome to search through hundreds of games for the one you want. Each core will start you off in its respective ROM folder for browsing when you go to run a game, and I've added a <code>0000_faves</code> sub directory to each ROM collection directory that has symlinks to games I commonly play to make browsing easier. It's a scrappy way of doing a "favorites" list but it works! I wouldn't be surprised if other folks used similar patterns.
</p>

<h3>Conclusion</h3>

<p>
  In the end, the MiSTer FPGA experience is exactly what I was looking for when I got my first Raspberry Pi and put RetroPie on it. This isn't to say that the Pi/RetroPie experience isn't good, but the MiSTer experience is just that much better.
</p>

<p>
  Granted, despite having some overlap the offerings for my Raspberry Pi 4 with Lakka or RetroPie are a bit different from what's on the MiSTer. The experience offered by the MiSTer ecosystem is just better for me, and I'm looking forward to the future of FPGA gaming.
</p>

<p>
  Last but not least: I wanted to give a special thank you to the fine folks behind <a href="https://misteraddons.com/">MiSTerAddons.com</a> for being so awesome. Buy your MiSTer parts and cases from them!
</p>

<h3>Footnotes And References</h3>

<div id="footnotes"></div>