1 of 29

Playing Games on FPGA

MiSTer & You

2 of 29

—TAKAHASHI MEIJIN

-MICHAEL SCOTT

“Play games one hour every day.”

3 of 29

DISCLAIMER

This is not exhaustive information and the MiSTer project is changing all the time!

4 of 29

What is FPGA?

01

5 of 29

FPGA stands for:

Field

Programmable

Gate

Array

  • Used by the semiconductor industry for prototyping
  • Unlike discrete chips, can be reprogrammed
  • More expensive than normal ICs
  • Uses same logic gates as ASICs

6 of 29

What can we do with FPGA?

  • FPGA can be reprogrammed to become any chip! (within reason)
  • This includes retro console hardware
  • Can mirror all logic exactly!

7 of 29

The MiSTer

Project

02

8 of 29

The MiST Project

aMIga

atari ST

MiST

9 of 29

The MiSTer Project

This board, featuring an Intel Cyclone V SoC FPGA, provided an affordable and powerful platform suitable for highly accurate hardware recreations, allowing the MiSTer project to gain significant momentum and community support.

10 of 29

How it works

  • Hardware Description Languages (HDL): Developers write "cores" in languages like Verilog or VHDL, describing the exact electrical connections and logic of the original console's chips.
  • Physical Replication: The FPGA is then configured to literally become that specific hardware, acting as if it were the original chips.
  • MiSTer Core: Each "core" represents a different console, arcade board, or computer (e.g., NES core, SNES core, Genesis core).

11 of 29

How to MiSTer

03

12 of 29

Let’s Make a Sandwich!

The classic DE-10, I/O, USB Hub Combo

13 of 29

THE SANDWICH

Top is I/O board�Middle is DE-10 with RAM Module

Bottom is USB hub

14 of 29

Addon Board Features

  • Analog Board (I/O Board): Provides analog video output (VGA, component) for CRT compatibility, dedicated audio output, and often a fan.
  • SNAC (Serial Native Accessory Converter): Allows direct connection of original console controllers and peripherals with minimal latency.
  • USB Hub: Expands the limited USB ports on the DE10-Nano, allowing connection of multiple controllers, keyboards, and other USB devices.

15 of 29

Setting Up

16 of 29

Software Setup

  • Installing MiSTer to SD Card: The core MiSTer firmware and boot files are written to an SD card, which the DE10-Nano boots from. Mr Fusion is the most popular package.
  • Setting up update_all: A crucial script that automates downloading and updating MiSTer cores, firmware, and other system files, making maintenance much easier.
  • Where to Put ROM Files: Game ROMs (or "Mister files") are typically stored on a separate partition or a dedicated USB drive connected to the MiSTer.

17 of 29

Bury Me With My Money

18 of 29

Boy this is really expensive!

DE10-Nano

$229

I/O Board

$65

RAM

$50

USB

$35

19 of 29

Mister Pi

Mister Pi

$125

I/O Board

$40

RAM

$20

USB

$20

20 of 29

Why to MiSTer

04

21 of 29

Software Emulation is cheaper!

  • I have a device that can already play the games!
  • Seems good enough to me!
  • Don’t care about light guns or speed running!

22 of 29

Limits of Software Emulation

  • Challenges: Difficulty in perfectly replicating complex timing, custom chips, and subtle hardware behaviors. "Cycle accuracy" is the goal but hard to achieve for all aspects. Can lead to minor glitches or inconsistencies not present on original hardware.
  • Progress: Modern software emulators are highly advanced, with many achieving near-perfect accuracy for simpler systems. Some, like BSNES (Super NES) or Mednafen, strive for cycle-accurate emulation.

23 of 29

Lag is the Enemy

24 of 29

Software Latency

  • Sources of Latency: Operating system overhead, graphics API buffering, video drivers, monitor processing, and the emulator itself needing to buffer frames for consistent output.

Mitigation Techniques Include:

  • Run-Ahead/Pre-emptive Frames: Advanced techniques in emulators like RetroArch that predict input and render frames ahead of time to reduce perceived latency. Can introduce visual artifacts in some games.
  • Frame Delay, GPU Sync, Max Swapchain: Settings that aim to reduce buffering and synchronize rendering.

25 of 29

FPGA Latency Issues

  • Caveats: Monitor latency and controller latency still play a role. Using an Analog I/O board with a CRT can achieve truly authentic, low-latency experiences.
  • Using a SNAC Adapter for controllers is crucial!

26 of 29

Other FPGA

27 of 29

Other FPGA

Analogue

Flash Carts

ODEs

JROK

AVS

28 of 29

Q&A

29 of 29

Thanks for Playing!