MiST(y) journey to the past

MiST(y) journey to the past

I doubt there has ever been another item which was subject of such controversial discussions within the retro computing community as the MiST FPGA computer. When I first mentioned it on Twitter, I was confident my post would result in one of the many wonderful conversations we had in the past. How wrong I was. This is the parting of ways. Not only did I find out how clearly opinions differ in the matter, but also I was the instigator of a war. Within seconds I found myself in a sea of ignorance, false knowledge and flaming. Oh and even more flaming, of course. Reason enough for me to clarify some dangerous superficial knowledge and to write an extensive review about a machine that is way better than people hastily and wrongfully prejudge.

This is my customized MiST FPGA with midi add-on.

I’m well known for having countless beautifully preserved 8-bit computers in my man cave and most of them can be instantly turned on. Calling me an enthusiast for real hardware is probably even an understatement. So how did I end up with a MiST? More importantly, why did I end up with a MiST? Do I need to be ashamed of myself now? These are some big questions and we will answer them in this article. It all started with a broken Amiga 600.

A few weeks ago, my Amiga 600 died. A black screen of death greeted me when I turned it on. The steady lit Caps Lock LED underpinned my apprehension of a seriously damaged board. When @chainq dropped in, we opened it just to find several vicious spots of possible capacitor leakage. At this point it’s safe to say: whenever you get one of the later Amigas and it hasn’t been recapped yet, do it immediately. It will die otherwise. Caps in Amigas are known to fail and spoil your board with leakage.

Peripherals for the Mist FPGA are a matter of taste. On this picture we see an Nintendo style USB controller.
Peripherals for the Mist FPGA are a matter of taste. On this picture we see an Nintendo style USB controller.

Disappointment, anger and general discontent affected me in getting a MiST FPGA computer. When I bought the Amiga 600, I was keen to get something like an SD2IEC device for being able to play those great games I remember from my childhood days. At least until @futurewas8bit said this to me: “I’m sorry mate, this is not how it’s done on the Amiga”. To cut a long story short, I ended up with unscrewing it and mounting lots of stuff just for doing it the Amiga way”: an IDE to CF adapter, two CF flash cards, a memory expansion, a different Kickstart ROM and a significant expensive turbo card. Not to mention I needed to set up the CF HDDs and WHDLoad. Don’t mind, the WHDLoad website is hailing straight from the 90s. The software basically allows older Amiga games being installed on hard disk. You need a WHDLoad installer and the game files in addition. Every game needs its specific installer and now guess what: there isn’t an installer for every game available. No, I am not joking. This is serious.

MiST with specific core selector on startup.
A MiST can be configured to show a specific core selector on startup, which is very convenient.

I won’t keep on about how badly WHDLoad works with the Amiga 600. Important key configurations like the Quit key for example are mapped by the installer to keys that are not available on the Amiga 600, resulting in rebooting the machine every time I want to quit a game. I think there is no need to explain how long rebooting an HDD equipped Amiga takes? Yeah, ages. Sure, there are solutions and workarounds for this probably. It just consumes even more time to make it behave the way you want it to. The overall experience of “doing it the Amiga way”, please excuse my bad language, sucks ultimately. The Amiga doesn’t have that high priority in my life. Any 8-bit machine is more important to me and you already guessed so by the name of this website. I do however remember the Amiga very well. It was my second computer after the Commodore 64 and it will always have a special place in my heart but I never programmed on it, I never admired a BASIC prompt, I even don’t care what came after the Amiga 500. I just had the A500 with 1 Megabyte memory expansion and I only played games on it. What I really need is a simple “drop ADF file on SD card and start playing” solution. This is where the MiST FPGA comes into play, in the true sense of the word. Since the MiST is no plug & play device, let’s first have a look at what it is, where you get it and what you need to set it up properly.

The joystick connectors on the right are regular Atari joystick ports, meaning you can use your beloved Competition Pro and its successor ZipStick, the QuickShot or whichever you preferred back in the days. The Audio connector is a regular 3.5 mm Audio jack. Take the VGA port “as is” for know, we will cover it in detail later. Just keep in mind that you are not limited to VGA displays only. You can use monitors like the Commodore 1084 or the Philips CM8833. The MiST is available (assembled) in two variants, with or without Atari ST midi interface.

Make sure you have these items ready. You can always refer to the official peripheral Wiki in addition:

a regular USB keyboard, a standard USB mouse, a micro USB power supply unit, e.g. a phone charger, a VGA monitor, highly recommended with cathode ray tube (CRT), alternatively an (even older) old-school 15hz CRT monitor (e.g. Commodore), a bunch of SD cards (size: 2 gigabytes or more), some PC speakers, either USB-powered or standalone, with volume control, a VGA cable for usage with a VGA monitor, alternatively a MiST Scart cable for connecting MiST to an old-school 15hz CRT, an adapter in case your 15hz CRT just has the Amiga RGB-in and no Scart

MiST supports lots of different machines which are referred to as cores. New cores, as well as updated cores including many improvements, are being released frequently. The official MiST Wiki is a good place to gather all the information you need. If you are interested in using a specific core, always check the wiki entry. Some cores easily become operative, some require extra work. Since MiST core development is a work in progress, some cores are in beta state, like the Amiga AGA core for example, while others come with a pretty much completed implementation.

Commodore Amiga (OCS/ECS), Commodore Amiga (AGA), Apogee/Radio86RK, Acorn Archimedes, Bally Astrocade, BBC Micro, BK001M, Commodore 64, Nintendo Gameboy, Nintendo Entertainment System (NES), PC, Sinclair ZX Spectrum, Sinclair ZX81, Commodore VIC-20, Atari ST, Amstrad CPC, Apple II+, Apple Macintosh, Atari 2600, Atari 5200, Atari 800, Colecovision, Sega Master System, Mattel Aquarius, MSX, Sinclair QL, Vector-06, Videopac

Here is an overview of the items I used in the creation process of this article. Since these are known to work, you might want to end up with buying some of the stuff for your own MiST setup. I wouldn’t blame you.

a SanDisk Ultra microSDXC 64GB with adapter – via Amazon, a bunch of Transcend 2GB SD cards – via Amazon, a Cherry DC 2000 corded desktop, black colour – via Amazon, a CSL Quick Charge microUSB PSU, 2100mA – via Amazon, a classic NES USB controller (by Tomee) – via Amazon, a set of decals for customizing the look of the MiST – via Lukparts, a pair of Speedlink Ellipz speakers, USB powered – via Amazon, an IBM VGA industry monitor (black, CRT) – bought locally via eBay Small Ads for 5€

The MiST FPGA can be ordered at Lotharek’s Lair in Poland. The version with the midi add-on included, which is the version you see in this article, comes with a grey case. The regular variant without midi add-on comes with black case. Of course I know there are more shops out in the wild offering the MiST. Anyway, keep in mind that all devices get assembled in Poland by Lotharek. In addition, Lotharek has some great experience in shipping worldwide. So I recommend buying at his store.

Even though it’s still brand-new, the C16 core is a considerable implementation.

There I stood with a machine that clearly introduces itself as jack of all trades device, while it’s getting mixed reviews from the community. But why is that and is it justified? It’s urgently necessary to do some explanatory work before we continue. I can assure you that much of the bad things you read about the MiST are utter nonsense. The only argument I let pass: the MiST is not hardware from the 80s. But neither is the SD2IEC, nor is the divMMC, nor is the HXC.

Funnily enough, our very own tolerance threshold seems significantly higher when we use modern peripherals and flash based storage solutions on old devices. Isn’t that somewhat hypocritical? Where does true retro computing begin and where does it end? Who are we to point our finger and condemn something, just because it is not proper in the eye of the beholder? I tell you what. Take all your SD2IEC, all your Harmony Cartridges and all your 1541-Ultimate and burn them. If the MiST isn’t about retro computing, your little toys aren’t either. Now let’s imagine a situation that will blur the line even further.

The Amstrad CPC core is probably my favorite 8-bit MiST core.
The Amstrad CPC core is probably my favorite 8-bit MiST core.

Your Amiga 600 recently died once more (ugh yuck, I think I have a sense of a déjà vu). Instead of repairing it again, you decided to get yourself a MiST FPGA computer. You know MiST supports USB keyboards, so you buy yourself a shiny Amiga 600 USB keyboard kit from Tynemouth Software, allowing you to turn your dead Amiga into a working USB keyboard. Now what is that? Is it sin? Is it unlcean? Or do you deserve a honorary medal for preservation purposes because you brought back something to life that was doomed? I don’t know. Who are we to judge? As you can see, it’s not easy make a point about where retro computing begins and were it ends. With inner divisiveness and hopefully less willingness to criticism, we should go ahead.

The MiST is a so-called FPGA computer. FPGA stands for “field-programmable gate array”. Without going into great detail, a FPGA is an integrated circuit that can be configured anytime with a hardware description language. This allows “describing” the hardware back from the days and thus creating soft microprocessors and circuits that behave exactly like their physical counterparts.

The Atari2600 core is great fun.
The Atari 2600 core is great fun.

The MiST is often reviled as emulation, an assumption that couldn’t be more wrong. FPGA has nothing to do with emulation. Simulation on the hardware level is a fair way to describe what it really is. From the viewpoint of a developer and programmer I confirm immaculately: comparing a MiST to emulation is bollocks. The MiST is a working blueprint of your beloved retro hardware and therefore acts identically to the physical version. It is a clone, nothing more and nothing less.

Another argument I was exposed to on Twitter reads as follows: “The MiST video display is so bad. This digital shit couldn’t be further away from what real hardware does.” I know it’s wrong. Nevertheless we had quite a conversation about the matter, resulting in comments like this and here is another one. You see accusations like that reguarly. Quite often from people, who just assume it is that way, because they don’t have the MiST to prove their assertions. I don’t blame @chinnyhil10, he really is a nice guy and he is probably living and breathing 80s hardware as much as I do.

Here is the NES core running Metroid.
Here is the NES core running Metroid.

So the question is: what’s wrong and what’s right? First and foremost, the video output of the MiST is not digital. It’s analog. Whoever says anything different, please do your homework before you spread your superficial knowledge. The output is actually that close to the real machines, the MiST firmware needs to enable a scan doubler to get the horizontal frequency up to VGA. Atari ST, Amiga, Commodore 8-bits, Amstrad CPC: all these MiST cores have the same analog 15hz output as the real machines. Now if you’d be crazy enough to use the right cable, you could actually connect your MiST to a Commodore 1084 monitor. The results would be the same as connecting the real machine to it: 15hz anlaog video output on an old-school CRT that once used to render the 80s microcomputer. You have to disable the scan doubler in the mist.ini though. Oh and don’t give me that “it’s wrong to use a VGA monitor” bullshit. We all know very well that a scan doubler, or flicker fixer as some call it, was already a thing in the days of the Amiga 500 and it was explicitly used to connect an Amiga to VGA hardware for improving the overall experience.

The Atari ST core is considered the most complete implementation.
The Atari ST core is considered the most complete implementation.

The first core I actually tried was the Commodore C16 core and we will use this one now to guide you through the steps of getting the MiST up and running. Make sure everything is connected properly before you continue. A note regarding the sound: for this article, I bought USB powered speakers. I wanted to know if these can be used jointly with the MiST and it works perfectly. So with my setup, the four USB ports of the MiST are utilised: keyboard, mouse, NES gamepad, speakers. The USB NES style controller is optional, of course. You are free to use a regular joystick, which works flawless. Since playing NES has quite some priority for me, I thought that tenner would be a great investment. I was right.

The CPC core is one of the 8-bit cores I will definitely use on a regular basis.
The CPC core, here running “Chase H.Q.”, is one of the 8-bit cores I will definitely use on a regular basis.

Grab one of the SD cards you got and format it in the FAT file system. The cores usually get along with FAT32, some require FAT16 which then is explicitly stated in the core documentation. If the card is new, it is already formatted in the FAT system and you can skip this step. Guided by the official MiST Wiki, we easily find the binaries section for the C16 core. The core is always an .rbf file. Download the latest one, rename it to core.rbf and move it to the SD card. When MiST launches, it always searches for a core.rbf file. There is no fallback. If the file is not on the SD card, MiST won’t boot. You might want to put some games for testing on it was well. There is quite a great collection downloadable at Plus/4 World.

Just make sure you grab either .PRG or .D64 files. Note that .TAP files are unsupported. 64k games are fine, you can configure more than 16k memory via the OSD. If remember correctly, 64k memory was even selected by default. While you’re on it, put the latest firmware on the card as well. Download the .UPG file. This is the version that can be updated via OSD. Put the SD card in the MiST computer, start the machine and that’s it. The Commodore 3.5 Basic will greet you. Update the firmware by selecting the option in the on-screen display. You can call it by pressing the F12 key.

The Atari 800XL core running legendary “Alley Cat”, which was never released on other 8-bit platforms.

For the Amiga core, I used a 64 Gigabyte SDHC card. I know that’s way too much. If I put everything that ever was released for Amiga on this card, I won’t manage to get it full. I wanted to try though to see if it works, and it does. Perfectly, notably. As I already told you, we won’t focus on the AGA core in this article. On the other hand, setting up an OCS Amiga is a pretty straightforward process. If you are not familiar with chipsets: when I am talking about an OCS Amiga, I basically mean an Amiga 500 with 512kb additional memory via trap-door expansion.

You put the Amiga core on the SD card as you did with the C16 core. Yes I know, the core I linked is two years old. There is a much newer AGA branch on Github, but his is the one that is still in Beta state. Right now, the older branch is way more compatible with Amiga 500 games, so trust me and go for it. In addition, the Amiga needs the Kickstart ROM to work properly. These ROM files are still copyrighted but we all know you can download them literally everywhere. I would never advise you to do so. If you own a copy of Amiga forever, you can use the ROM that comes with it. This is the legal way to do it.

The Colecovision core is one of the many greatly implemented console cores.
The ColecoVision core is one of the many lovely implemented console cores.

Usually, Kickstart ROM 1.3 is recommended by the community. In my personal conviction, you reach the highest compatibility with Kickstart 1.2 though. Some of the early games explicitly depend on it while it also launches the later games fine. Whatever you decide to, by no means you should get the ROM file from here.

Getting different cores up and running is so easy. Some cores do require additional files, such as the Amstrad CPC core for example. The documentation is always a great help and in said case even links to the necessary files. So does the Atari ST core by the way, which is widely considered as the most complete implemented, complex core to date. The father of the MiST, Till Harbaum, is an avid Atari ST enthusiast and mainly had this machine in mind when creating the MiST FPGA computer. The fact that MiST was announced at the Atari Forum first, speaks volumes. Nevertheless the Amiga always was regarded as second main target platform. The word MiST derives from Amiga and Atari ST. If you want to say “thank you”, buy Till something from his Amazon wishlist or consider making a donation.

This is the Sega Master System core, running
This is the Sega Master System core, running “Lord of the Sword”.

It’s up to you how you use the capacity of the SD cards. Sometimes, one core for one card is surely a good choice. Both Amiga and Atari ST are examples where I definitely recommend it. Though some cards don’t necessarily need to have just one core on it. Like you saw on one of the pictures, I’ve made a CBM 8-bit card, which comes with C16, C64 and VIC20 core. In addition I put the menu-core on the card, allowing me to select one specific core on boot / reboot. You can switch between cores from the OSD as well. It all depends on your personal preference. My Amstrad card for example boots the Amstrad core by default. In addition I put some cores on it that I know I won’t use very often, like the Mattel Aquarius core.

If you use USB controllers, like I do with the NES style USB controller you see on the pictures, make sure you test all buttons for correct recognition. Mine had the Start and Select button falsely mapped to R1 and R2, so they did not respond when I was playing NES. We already talked about the mist.ini file. You can use it to remap the buttons quite easily. The process is described here on the official wiki. If you were lazy and ordered my controller right away, put this into mist.ini:

joystick_remap=0810,e501,1,2,4,8,10,20,0,0,0,0,0,0,40,80

Bla bla blah
The Mattel Aquarius is one of the simulated machines, I won’t use reguarly.

So how is my overall impression? To be honest, I am overwhelmed. I did not expect the MiST to be that convincing. There are piles of reasons for getting a MiST, though it depends on your personality. The MiST probably won’t work for everyone. Even 80s hardware enthusiasts like me though might be attracted. You probably just don’t have more than one spot in your flat. Which computer would you choose? Yeah right, you would choose ’em all. And what if you are a collector but tend to rather leave your stuff on the shelves?

I, for instance had a variety of reasons for buying the system. I have a lot of computers here in my man cave but there is no more room left. There are a few more systems I’d like to have here though, ready to fire up within seconds. Unfortunately they are stored in original boxes. It’s all a matter of space. The MiST now fills the gap. I can even use it for Amstrad gaming while I’m still hunting a DDI-1 for my beloved CPC 464. The DDI-1 is notably rare.

Golden Axe runs perfect on the MiST FPGA (Sega Master System core).
Golden Axe runs perfect on the MiST FPGA (Sega Master System core).

I really don’t care what others think. It feels great and right now having all this flexibility in my room. Among the most popular 8-bit machines of the era, the MiST is in great company.

So far I did not encounter problems. The peripherals were working flawless and remapping the NES controller was quite an easy process. All of the cores I played with have proven to be very well implemented and highly compatible. On the Amiga, I didn’t find a single game not working. So on the CBM 8-bit machines, the Amstrad CPC and the Atari 800XL core. On the Amstrad CPC I was even able to play demos that heavily rely on the original hardware. Any of the 8-bit cores in fact are great. These cores are so well implemented, it literally makes you cry. A personal highlight is the Atari 2600 core. While composite modded Atari 2600 tend to get the colours wrong, the MiST implementation is way beyond just being great. I love it. I should mention that I haven’t tried the ZX Spectrum and the BBC Micro core, so I can’t say much about them. Maybe you can ask @duhproject. He does a lot with the MiST and I have a feeling he uses at least the Speccy core regularly. Since I got both machines here in my man cave, it’s not likely I will use them anytime soon. The only core I found not being friendly was the Sega Master System core. Just 50% of the games I tried started. Then again the NES core played 19 of the 20 games I threw at it. Game 20 was Castlevania III, which had graphic glitches. Doesn’t sound too bad, right?

Conclusion

The MiST is a great addition for the avid retro computing enthusiast. Whether you’d like to keep your precious collection untouched or you are running out of space, the MiST is the device for you. Retro developers might also want to check it out as it offers great flexibility. Keep your hands off this though if you are only happy with original hardware (but stop pointing your finger).

9.5 / 10 points

Share:
s

I have dedicated myself to preserving the heritage of the golden age of home computers. How much history is there on so far undiscovered tapes? I am strongly influenced by 80s pop culture.

You may also like