Jump to content

Photo

the MiST FPGA


22 replies to this topic

#1 Newsdee OFFLINE  

Newsdee

    Stargunner

  • 1,231 posts

Posted Mon Jan 25, 2016 11:27 PM

Wondering who else has one around here? It's a very neat "consolized" FPGA box with some great things and a few quirks. 

 

Basically it's an open hardware platform (i.e. you can go and build your own, or expand on it if you want) that many open-source VHDL projects support (each machine "core" being its own project). It houses the latest versions of Minimig or OpenMSX, and its own Atari ST core, but also does a few consoles (8-bit so far).

 



#2 Flojomojo OFFLINE  

Flojomojo

    in the rain or in the snow

  • 13,925 posts
  • got the funky funky flow

Posted Wed Jan 27, 2016 6:40 AM

I'm kinda waiting to see what happens next. Would you be willing to write up more detail, maybe some pictures or impressions of how your favorite games look on the device?

#3 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Wed Jan 27, 2016 10:54 AM

Yes happy to share impressions, just not sure where to start. Feel free to ask me questions.

There's a developer aspect to it which is very interesting, but let's summarize that the hardware itself is final, and people are basically now pushing the boundaries of of it. It hosts both original implementations and ports from other FPGA boards, and it's all done in cordial collaboration as all code is open source. That's an important point for me because basically any work done on this thing benefits future projects, the same way the MiST itself benefited from previous ones. There are similar boards, but the MiST has the advantage of being cheaper, having USB ports, and having a lot of cores already (14 computers and 9 consoles right now).

But enough of that and let's talk games. Basically the big advantage of an FPGA vs. an emulator is that it runs things in parallel, and if done right it feels identical to the original because there is slowdown from a CPU or host OS.

Here's for example Devil's Crush running on my Supergrafx:


And on my MiST (note the video is 30fps as it was made long ago, but the core runs 60fps)


For 60fps heres Super Star Soldier:


As I said earlier cores have various level of maturity and compatibility. Focus is on gaming but there have been forays in other areas. At least one musician used a couple of MiST in concert to replace an old Atari ST as MIDI machine.

 

I'd have to cover each core separately to give details, but lets cover a few cases. The NES for example doesn't support as many mappers as an Everdrive, and doesn't support saves (save RAM is implemented but not written to SD card) but the games run fine otherwise. But at the same time the atari 800/5200 is implemented fine without any major issues.

 

Setup for consoles is extremely simple, you just need an SD with core files (many cores support switching to another) . Computers sometimes more tricky with setup a harddrive, but the wiki on github has details on how to do it.

In terms of donnsides, one caveat of the MiST is that it *is* a clone of old machines meaning e.g. video timings follow the original closely. As a result the timings of the VGA it generates is sometimes a bit off spec (not 60hz exactly), causing some imperfections in modern screens (some vertical lines appear thinner or scrolling isnt as smooth). It can be fixed with an upscaler; I have made a video with a comparison:


Edited by Newsdee, Wed Jan 27, 2016 11:00 AM.


#4 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Thu Jan 28, 2016 7:35 PM

In terms of controls, there are two options, the DB9 joystick ports and USB. DB9 supports two-button sticks but not paddles (for that you need a 2600-adaptor to ise USB). Most cores available only use on or two buttons (for early conputers) or up to four for newer consoles (e.g. NES). You can use a DB9 controller with the NES but you'll have to open the in-game menu (OSD) to press select or start. Personally I just use USB.

USB controllers can be mapped via a MIST.INI file on the SD card. While core only use up to four buttons (A, B, start, select) you can map any USB button. The mapping allows you to "wire" a physical button to one or several internal buttons, including directions. This is useful to map some buttoms to "up" to use in old games that didn't have a jump button.

You can also assign keyboard hits to a given combination of buttons. This allows using button combos e g. start + select to open the OSD (note - without this you can open the OSD with a USB keyboard or a tiny button on the front panel of the MiST).

USB mice are supported, and there there is an optional feature to have a USB pad act as a mouse by keeping select pushed (then move with directions and use L/R for button click). OSD navigation can also be done from the gamepad so you don't have to use a keyboard just to launch Atari or Amiga games.

#5 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Thu Jan 28, 2016 7:45 PM

In terms of setup consoles are much simpler (vs. setting up a computer core) because they have fixed hardware and they only read ROM files. You can put roms anywhere on an SD card (like an Everdrive) and long filenames are supported. You can use subfolder and I keep things in alphabetical folders to find games without too much scrolling ("page up/down" works btw).

I separate many systems to their own SD card, so I can switch from NES to PC Engine as easily as changing carts on a console. Often I can use the exact same cart into an Everdrive (or their computer equivalents) because the systen files won't interfere with each other. I do this for the PC Engine and ZX Spectrum for example.

Edited by Newsdee, Thu Jan 28, 2016 7:51 PM.


#6 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Fri Jan 29, 2016 12:33 AM

The Atari 5200 and 800/XL cores were written by foft from these forums, here's the thread:
http://atariage.com/...-in-fpga/page-5

If I'm not mistaken it supports all 5200 games already, at least it ran everything I've tried on it. I found the 800 version of AlleyCat was much more colorful than the IBM (CGA) one I used to play ad a kid...

I've just bought some Atari paddles (and adapter) to try with the MiST and get a more realistic experience (before I used USB analog joysticks but it's not the same!).

#7 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Mon Feb 22, 2016 1:12 AM

Chaos has just released a new version of the Amiga AGA core (1.2).

More info and download link at his webpage: http://somuch.guru/m...g/minimig-mist/

#8 Keatah OFFLINE  

Keatah

    Missile Commander

  • 21,311 posts

Posted Mon Feb 22, 2016 10:38 AM

For those of you wondering how FPGA works..

 

https://www.google.c...GA how it works



#9 Keatah OFFLINE  

Keatah

    Missile Commander

  • 21,311 posts

Posted Mon Feb 22, 2016 10:41 AM

Chaos has just released a new version of the Amiga AGA core (1.2).

 

It's good to see that there are problems and issues getting fixed just like in software emulation, and they are of asimilar nature too!



#10 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Sat Feb 27, 2016 7:05 PM

In reply to a few comments in other threads, the board has an ARM microcontroller in charge of basic housekeeping operations such as loading a core from the SD card on startup, loading a rom/game/floppy from the HDD, or set configuration options for the core.

 

The ARM runs a custom firnware which is open source © so you can tinker with it if you want. The board is unbrickable, if a firmware update fails there's a couple of ways to clear it and reupload a fresh firmware. I'm not sure if it qualifies as OS but in any case it boots immediately so it doesn't feel like one.

 

One nice feature is the firmware parses USB HID, making it compatible with a lot of existing controllers. Yesterday I played Body Blows with my new Hori VLX stick (I tried and it worked out of the box). :)



#11 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Sat Feb 27, 2016 7:37 PM

7H6PJXh.jpg



#12 remowilliams OFFLINE  

remowilliams

    Quadrunner

  • 10,540 posts
  • Location:Detonation Boulevard

Posted Sat Feb 27, 2016 7:46 PM

Wondering who else has one around here? 

 

 

:)

 

 

kzwk.jpg

 

da90cd.jpg

 

cgSutV.jpg



#13 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Sat Feb 27, 2016 9:26 PM

Nice setup! I spy an XRGB-Mini remote back there :)
I'm tempted to get an MT-32 but not yet sure how much I'll use it. I guess I should wait until I find a good deal...

#14 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Tue Mar 1, 2016 7:33 PM

Till Harbaum (designer of the board and main contributor to the ST core) has recently put up a series of HDL tutorials:
https://github.com/m...aster/tutorials

The examples use the MiST but if you have another FPGA board it should be possible for you to port them by remapping the pin assignment in the compiler (Quartus II for Altera).

#15 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Fri Jun 17, 2016 7:54 AM

There's been quite a few updates recently, courtesy of HDL developer Sorgelig:

- C64 core improved with better code for SID and JiffyDOS support
- ZX Spectrum is now timing accurate and supports ULA+
- New SAM Coupé core
- New Apogee BK-01 core
- New Vector 06C core
- New Electronika BK0011M core

https://github.com/m...mist-board/wiki

Edited by Newsdee, Fri Jun 17, 2016 7:55 AM.


#16 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Fri Jul 22, 2016 8:09 PM

ZX Spectrum core can now load real tapes from audio in... if you mod the hardware to have the right cable:
http://www.atari-for...135b930#p298415

Core by Sorgelig, tested by Javidoom as shown in his pic:
mist_core.jpg

#17 barnieg OFFLINE  

barnieg

    Moonsweeper

  • 388 posts
  • Location:Rugby, England

Posted Sat Jul 30, 2016 11:23 AM

As I mentioned earlier Commodore 16 (with extra memory) is now supported is early days for that core but works very well. I have to say I get more "fun" out of the MiST than emulation and it feels closer to real hardware. I think its got to the point where it would be nice to see third party addons targetted at different cores. For example rather than the midi add on possibly an SIO adapter board. It would also be good to see alternative case designs and the use of the MiST as the base for Out of the Box retro setups

 

A big bonus its its open source nature, I would find it difficult to support any closed source alternatives too the MiST to many downsides

 

Barnie


Edited by barnieg, Sat Jul 30, 2016 11:24 AM.


#18 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Thu Aug 25, 2016 6:05 AM

Here's a video of the C16 core in action:


#19 killersquirel OFFLINE  

killersquirel

    Dragonstomper

  • 694 posts

Posted Sun Sep 11, 2016 2:04 PM

This looks pretty cool. Is there a central place to get all of the cores? I noticed that they say it also does arcade games. I saw Moon Patrol, does it do any other arcade games?



#20 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Sun Sep 11, 2016 5:52 PM

This looks pretty cool. Is there a central place to get all of the cores? I noticed that they say it also does arcade games. I saw Moon Patrol, does it do any other arcade games?


Yes, it's all on github with a wiki:
https://github.com/m...wiki/CoreStatus

You'll find the other available arcade games at the bottom of the page.

#21 Everett1954 OFFLINE  

Everett1954

    Moonsweeper

  • 304 posts
  • Location:Milwaukee, WI

Posted Tue Apr 18, 2017 9:54 PM

I just purchased one from Dragonbox.de (Germany) great price, cheap shipping and excellent service.

 

I have been trying out lots of the Console cores and computers.

 

Works great , my Flat screen has VGA input and audio input via 3.5mm jack so works great with the MIST.

 

Still learning all about it. 



#22 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Sun Dec 3, 2017 5:57 AM

There is now a successor project, MiSTer: https://github.com/M...ain_MiSTer/wiki

Cores are being ported to it and there are additional cores being worked on.

 

The new features are:

  • Built out of an industrial PCB board (Terasic DE10 Nano Kit)
  • Cyclone V FPGA with 110K LE (vs. Cyclone III 25K LE)
  • HDMI out for all cores
  • VGA available with optional add-on board (and through it, 15khz video as well)
  • Optional RTC (hardware clock) via add-on board
  •  Broader support in USB controllers
  • Improved Genesis and PC Engine cores (some stability issues fixed with the better FPGA)
  • PC 386 core
  • X68000 core (early days)
  • Ethernet support, you can FTP into it to add/remove files
  • Cyclone V chip has an embedded ARM CPU which runs a minimal Linux alongside the FPGA cores
  • Serial support via USB, you can connect into it from your PC and telnet/putty into Linux (e.g. for debugging)

 

The MiST still has a niche as some cores aren't yet ported (e.g. Atari ST) and it has native MIDI connections.
Price-wise the MiSTer is cheaper for bare hardware ($130 for DE10 Nano + about $20-$30 for an SDRAM board), but costs more if you get more add-ons and 3d print a case.



#23 Newsdee OFFLINE  

Newsdee

    Stargunner

  • Topic Starter
  • 1,231 posts

Posted Tue Jul 10, 2018 11:30 PM

Just a quick update that MiSter received a large number of ports from the MiST cores.

Putting arcade cores aside and if I'm not mistaken, only these are still exclusive to MiST:

- Astrocade
- Atari ST
- Sinclair ZX81
- Videopac

No timeline (or even plans that I know of) for closing that gap, but it's still great progress for the MiSTer project!




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users