レトロゲームにレトロPC、アーケードゲームを再現するFPGAベースのオープンソースプラットフォーム『MiSTer』に関するメモ

レトロゲームにレトロPC、アーケードゲームを再現するFPGAベースのオープンソースプラットフォーム『MiSTer』に関するメモ

クラッシックな家庭用ゲーム機やコンピューター、アーケードゲームマシンを、可能な限り忠実に再現するためのオープンソースプラットフォームの『MiSTer』。ソフトウェアでこれらを模範するエミュレータとはことなり、FPGAと呼ばれるチップ上でハードウェアを再現する手法が採用されています。

海外では数年前から話題になっていましたが、日本では今ひとつ情報が乏しい状況となっています。そこで、こちらではこの『MiSTer』に関する話題を、分かる範囲でまとめていこうと思います。

MiSTerの対応機種

レトロゲームの対応コア

Astrocade
ATARI 2600
ATARI 5200
AY-3-8500
ColecoVision、SG-1000
ゲームボーイ
ゲームボーイカラー
ゲームボーイアドバンス
ジェネシス/メガドライブ
セガマスターシステム
ゲームギア
MegaCD
ネオジオ
ファミコン(NES)
オデッセイ2
スーパーファミコン(SNES)
TurboGrafx 16 / PCエンジン
光速船

レトロコンピューターの対応コア

Acorn Archimedes
Altair 8800
Amiga
Amstrad CPC 6128
ao486 (PC 386)
Apogee
Apple I
Apple II+
Apple Macintosh Plus
Aquarius
Atari 800XL
Atari ST/STe
BBC Micro B,Master
BK0011M
Commodore 16、Plus/4
Commodore 64、Ultimax
Commodore PET
Commodore VIC-20
DEC PDP-1
Galaksija
ht1080z / TRS-80 Model 1
Jupiter Ace
MSX
MultiComp
Orao
Oric 1 & Atmos
SAM Coupe
Sharp MZ Series
Sinclair QL
Specialist/MX
TI-99/4A
TSConf
Vector 06C
X68000
ZX Spectrum
ZX81

その他の対応コア

Arduboy
CHIP-8
Flappy Bird
Game of Life
Arcade cores
Alternative versions

MiSTerの構成要素

『Terasic DE10-Nano FPGA』
MiSTerプロジェクトには欠かせないメインボード。こちらのデバイスでは、HDMIを通じてビデオ信号とオーディオ信号をネイティブに出力します。解像度は最大1080pまで拡大可能です。

『MiSTer』の特徴のひとつに、USBハブやSDRAM、オーディオ、VGA出力といった、様々なアドオンでハードウェアを拡張していくことができるという点が上げられます。このあたりは、Raspberry Piなどに似ているような感じもしますね。

『MiSTer』に関するソフトウェアやOSは無料でダウンロードできます。MiSTerプロジェクトは活発的に活動が行われており、新しいコアや新機能、バグ修正も定期的に実施されています。

  • 110,000LE(41,500ALM)および5,570KビットのブロックRAMを備えたアルテラのCyclone V SE FPGAを採用
  • 800MHzのARM Cortex A9デュアルコアCPUを搭
  • HDMIビデオおよびオーディオにより、最新のモニター/テレビに接続可能
  • ARMとFPGAの両方で利用可能なDDR3 1GB
  • 両方が同じチップ内にあるため、高速ARM <-> FPGA相互接続が可能
  • Linux on ARMは、多くのI / Oデバイスとファイルシステムをサポート
  • ボードは大手メーカーによって大量生産されており、比較的安価な130USDで入手可能
レトロゲームにレトロPC、アーケードゲームを再現するFPGAベースのオープンソースプラットフォーム『MiSTer』に関するメモ

MiSTerはどうやって使うの?

『MiSTer』は、ベースとなる『DE10-Nano』ボードに、いくつかのドーターボードを追加して使用します。もちろんすべてのドーターボードをインポートする必要はありません。エントリーレベルでは、裸の『DE10-Nano』ボードからスタートし、SDRAMの追加ボードをひとつ加えることで、ほぼすべてのコアを利用することができます。

SDRAMボード (推奨拡張)

『DE10-Nano』ボードのGPIO0コネクタに差し込んで使用します。『DE10-Nano』は、高速DDR3メモリを備えていますが、レイテンシーが高いくARM側と共有されているため、レトロEDO DRAMのエミュレートには使用することができません。そのため、ほとんどのコアがレトロメモリモジュールをエミュレートするためにSDRAMボードが必要になります。

レトロゲームにレトロPC、アーケードゲームを再現するFPGAベースのオープンソースプラットフォーム『MiSTer』に関するメモ

I / Oボード (オプションの拡張)

『DE10-Nano』ボードのGPIO1コネクタに差し込んで使用。従来のVGA出力、アナログオーディオ、デジタルオプティカルオーディオ、ボタン、LEDを備えてており、HDMIよりもVGAを使用したい場合やMiSTerをケース内に配置するときに便利です。

また、コア開発にも役立ちます。HDMIスケーラーコードはコンパイルに約2倍の時間が必要ですが、VGAのみのコンパイルは開発をスピードアップすることができます。こちらのボード自体は、ほとんどのコアを実行するために必要なものではありません。

また、アナログビデオとオーディオ出力だけしたいときは、Direct Videoモードで互換性のあるDACを使用可能なため、あえてこのボードをインストールする必要はありません。

レトロゲームにレトロPC、アーケードゲームを再現するFPGAベースのオープンソースプラットフォーム『MiSTer』に関するメモ

RTCボード (オプションの拡張)

こちらのボードは、LTCコネクタにプラグインされ、リアルタイムクロック(RTC)を提供します。MiSTerがイーサネット経由でインターネットに接続されている場合は、ボードがなくてもリアルタイムクロックが使用可能です。この機能を使用するコアは、今のところふたつのみのようです。

USBハブボード (オプションの拡張)

このボードは、メインボードの下にある7ポートUSBハブを追加することができます。

参考サイト:https://github.com/MiSTer-devel/Main_MiSTer/wiki

MiSTerを扱っているショップ

●MiSTerADDONE
https://misteraddons.com/

●MiSTerFPGA.co.uk
https://misterfpga.co.uk/

●RetroShop.pt
https://www.facebook.com/pg/retroshoppontopt/shop/?ref=page_internal&cid=2099074270350331

●Ultimate Mister FPGA
https://ultimatemister.com/

レトロゲームにレトロPC、アーケードゲームを再現するFPGAベースのオープンソースプラットフォーム『MiSTer』に関するメモ

●MiSTer Protective Cover & Decal Pack(専用ケース)
https://www.etsy.com/jp/listing/789104565/mister-protective-cover-decal-pack?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=MisTer+FPGA&ref=sr_gallery-1-1&organic_search_click=1&bes=1&col=1

レトロゲームにレトロPC、アーケードゲームを再現するFPGAベースのオープンソースプラットフォーム『MiSTer』に関するメモ

●AliExpress
https://ja.aliexpress.com/wholesale?catId=0&initiative_id=SB_20200516095309&SearchText=MiSter+FPGA

●Buy MiSTer Expansion Boards & Accessories
https://misterfpga.co.uk/

Amazon.co.jpのリンク(『DE10-Nano』ボードのみ)

●Terasic DE10-Nano 開発キット

ちなみに、MiSTerADDONEで、『Terasic DE10-Nano FPGA』($150)と『SDRAM XSD 2.5 128MB』($60)のみ注文すると、送料が別途$56かかり、合計$266(約2万8000円)かかります。

今いちどこで入手するのがベストなのかまだよくわからないため、いい情報があればコメント欄までお願いします。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


%d人のブロガーが「いいね」をつけました。