MIST

For a very long time, I always wanted to have a small device that would both substitute for my retrocomputers and wouldn't take too much space when I am taking it to various meetings. The first choice could be the Raspberry Pi with emulators. The emulation works, however, I was wondering if there was another way. At the Atari ST forum atari-forum.com, I was following the development of the MIST FPGA machine, created as a replacement of Amiga and Atari ST (its name was derived from the names of the two machines). I found MIST appealing and made it my birthday gift last year.

Hardware

MIST in based on the Altera Cyclone III FPGA chip. Apart from it, it is equipped with 32 MB of DRAM and one ARM microcontroller handling the peripherals. MIST has 2 classic D-sub 9 connectors (Canon) for joysticks and 4 USB ports for connecting keyboard, mouse, or HID game controllers. The data is stored on an SD card.

The AV equipment is pretty standard. There is one 3.5 mm jack for stereo audio output. For connecting monitor or TV, there is an analog output with a 15-pin D-sub connector. The output can be configured in several ways, either as VGA, RGB 15 kHz or even YUV. It depends on what each core supports.

MIST has also a serial line, which is, in its newest version, connected through the MIDI interface that is mostly used with the Atari ST core. Some cores support Serial2USB convertors with the Prolific chip.

Emulation vs. Reimplementation

MIST can behave as different machines: computers, gaming consoles, or even arcade machines. To make MIST launch as one of them, you must set it to a so called "configuration". The configurations are available as binary files named "cores". These files describe how the FPGA chip is configured. It is therefore not a traditional emulator; it is a re-implementation at the level of logical units inside the chip. The precision of the reimplementation can vary. The cores are available in different development states. Some cores are in early stages and cannot do much; others are of a high quality.

The Atari800 / 5200 Core

MIST was originally developed for running Amiga (based on the Minimig project) and Atari ST. Other platforms have been emerging. Today, there are more than 50 cores in different states of development. One of them is the 8-bit Atari. The author of the core is Mark Watson, known as foft at the AtariAge forum. The core originates from his EclaireXL FPGA project. The MIST version hasn't been updated for a while. This changed this summer, where there were new core releases for the most of the supported FPGA machines. However, some functions are still not available in all of them.

Basically, the core works like Atari XL/XE. The latest version offers the original 400/800 models too.

You can use several RAM configurations. Total memory size can be increased up to 1 MB. The extended memory can be set to 130XE, Compy-Shop and Rambo. Apart from the memory size, you can change CPU speed, the maximum is 16 times of the original speed. Speeds higher than 4 times of the original speed have limited effect because of the memory latency.

The core now displays on RGB and VGA monitors. Stereo sound is a matter of course. Display parameters are adjustable in the menu.

The original EclaireXL core offers configuration in several profiles in the menu. This option is available also with MIST. Unfortunately, the profiles cannot be saved, at least for now. Perhaps, this will be fixed in the next release.

The menu of the core is different from other cores running on MIST. It is using its own that is common for all supported FPGA machines. It is not possible to get to the MIST basic controls.

To run the core, you need a ROM from the Atari computer. Besides the standard OS, I tried QMEG 4.4 that seemed to be working well. The core is ready for Turbo Freezer. It is enough to have the freezer.rom on the card. To activate it, press Scroll Lock.

The core can handle 4 floppy disk drives, where you can mount XFD and ATR disk images. You can also mount binary load files (XEX) directly, like the well-known SDrive does. Data recorder simulation is missing, though.

Additionally, you can run software from cartridge. The supported format is CAR. It is a ROM dump augmented with 16-byte header. The header holds details on the cartridge (size, bank-switching). A simple convertor to this format is available at the UltimateCart web pages.

For controlling the games, you can use the abovementioned USB HID gamepads or digital Atari compatible joysticks. The analog inputs are not supported. Both original Atari paddles and graphic tablets do not work. It is not that bad. Instead of the original paddle, you can connect a USB controller with analog sticks, or USB adapter, for example the 2600-daptor where you can connect the original controller.

With current firmware, you cannot switch the joystick ports to the output mode. That means it is not possible to connect the MultiJoy. I also failed to get 4 controllers working in the 400/800 mode.

Another variant of the core works as the Atari 5200 console. The console was available only in the US with NTSC video and there is not many of them in Europe, compared with the computers. Apart from emulation on PC, this is, therefore, another way to play original games for Atari 5200.

The 8-bit Atari core appears to be of a high quality and capable of running most of the software. Even the Acid800 test from Avery Lee (author of the Altirra emulator) has passed. In general, MIST has proven itself and it is pleasant to take it to various events. Its ability to run platforms other than Atari is a great added value.

The MIST project is available at:
https://github.com/mist-devel/

Core for the 8-bit Atari is at:
http://www.64kib.com/

-JK-