今話題の「openFPGA」とは何か? 中華エミュ機とはまったく異なるその実力と魅力

今話題の「openFPGA」とは何か? 中華エミュ機とはまったく異なるその実力と魅力

ここのところ、やたらと『Analogue Pocket(アナログポケット)』関連の話題が多いですが、そのほとんどが「openFPGA」と呼ばれるプラットフォームに関するものです。この流れをまったく知らない人もいると思われるので、一旦情報を整理しておくという意味も込めてご紹介しておきます。

この「openFPGA」は、Analogue社が提唱しているFPGAで昔のハードウェア(主に家庭用ゲーム機やアーケードゲーム)を再現するためのプラットフォームです。現時点で対応しているハードは『Analogue Pocket』のみであるため、必然とそれ専用という状況になっています。

●AnalogueのopenFPGA公式ページ
https://www.analogue.co/developer

今話題の「openFPGA」とは何か? 中華エミュ機とはまったく異なるその実力と魅力

どこがオープンだ? 突然の発表でFPGA開発者の間で反発を呼ぶ

それが最初にアナウンスされたのは、2022年7月26日。このときは、『Analogue Pocket』用のOSアップデートである「Analogue OSv1.1β」がリリースされるという情報でしたが、そこに書かれていたのが、それまでまったく聞いたことがなかった「openFPGA」という言葉でした。

しかし、Analogueという企業は、これまでどちらかというとクローズドな体質で知られていました。そこで、FPGA開発者を中心に、「どこがオープンなんだ?」と反発が出ます。しかし、これがその後怒濤のように増えていくことになる「openFPGA」用コア開発ののろしとなります。

「openFPGA」がついに日の目を見る

元々『Analogue Pocket』にはFPGAのチップがふたつ搭載されており、そのうちひとつは開発者向けだとアナウンスされていました。しかし、それをどう利用するのかということについてはまったく触れられてこなかったため、当初はほかの互換機と同じような機能しかありませんでした。しかし、Analogueの計画はもっと壮大なものだったのです。

「Analogue OSv1.1β」が2022年7月30日にリリースされると共に、「openFPGA」の詳細についても明らかになります。それは、これまでクローズドだったAnalogueのハードウェアを、開発者向けに解放するというものでした。

ここで一旦整理していきたいのは、FPGAと中華エミュ機などで採用されているエミュレーターとの違いです。エミュレーターは、ソフトウェアで元のハードウェアを再現したものです。一方のFPGAはField Programmable Gate Arrayの略語で、半導体チップの中に元のハードウェアを再現するという手法がとられています。

エミュレーターとの違いは、回路を再現しているところです。ソフトウェアとは異なり、複数の回路をオリジナルのハード同様に同時に動かすことができるため、よりオリジナルのハードに近い再現ができるというわけです。ただし、実際はエミュレーターとFPGAでそれほど大きな違いが感じられるわけではありません。

今話題の「openFPGA」とは何か? 中華エミュ機とはまったく異なるその実力と魅力

中華エミュ機では、『RetroArch』などのラウンチャーからエミュレーターを起動するという手法がとられることが多いですが、これらはあくまでもエミュレーターを呼び出しているに過ぎません。「openFPGA」でも各コアを呼び出しますが、これはエミュレーターではなく、FPGAで元のハードを再現したものです。そのため、コアの精度が上がれば上がるほど、より高性能なゲーム環境が完成していくということになります。

今話題の「openFPGA」とは何か? 中華エミュ機とはまったく異なるその実力と魅力
▲「openFPGA」と同時に公開さた、初の対応コア『スペースウォー!』。

「openFPGA」の強みはMiSTer FPGAの技術的資産を活かせるところ

「openFPGA」が登場するまでは、FPGAで各種のゲーム環境を再現できるのは、実質MiSTer FPGAの独壇場となっていました。このMiSTer FPGAは、FPGAを利用したオープンソースのマルチプラットフォームです。各種の家庭用ゲーム機はもちろんのこと、多数のアーケードゲームやレトロPCなどもサポートしており、同プラットフォーム上で動くコアの数もどんどん増えています。

この「openFPGA」が公開されて、同日にリリースされたのがspiritualized1997氏が開発した『Analogue Pocket』ジェイルブレイクコアでした。これは後ほどわかったことですが、「openFPGA」用に開発されたゲームボーイとゲームボーイアドバンスのコアだったのです。

それよりも大きなインパクトを世間に与えたのが、UltraFP64氏が公開した「openFPGA」用のNEOGEOコアです。「openFPGA」の公開よりわずか2日後。それも、MiSTer FPGAでもメモリー食いとして知られるコアを、『Analogue Pocket』で動かせるようにしたのです。

余談ですが、UltraFP64氏はその名の通り、以前からFPGAでNINTENDO64を開発しようとサイトを起ち上げていた人でしたが、まさかここで注目を浴びることになるとは、別の意味で驚きでした。

●ULTRA FP64のサイト
http://www.ultrafp64.com/

「openFPGA」に移植されるコアの多くは、元々MiSTer FPGA用で公開されているコアから移植されたものが多い状況です。つまり、すでにある技術を簡単に移転することができるというのが強みとなっているのです。

それに加えて、Analogue社自体が、MiSTer FPGAなどでコアを提供している開発者にディベロッパー向けのキットも提供しています。こちらは通常の『Analogue Pocket』とは異なり、本体に「Developer Pocket」と記載されています。

もちろん、これらのデバイスがなくても、通常の『Analogue Pocket』でも開発が可能です。下記のページに詳しい情報が掲載されているので、興味がある人はチェックしてみてください。

●「openFPGA」のドキュメント
https://www.analogue.co/developer/docs/getting-started

今話題の「openFPGA」とは何か? 中華エミュ機とはまったく異なるその実力と魅力
▲開発者向けキットに含まれるデバイス。

これまではMiSTer FPGAしか存在しなかったともいえるFPGA関連のゲームコンテンツですが、今後はさらに盛況になっていくと思われます。しかも、『Analogue Pocket』の最大の強みは、現状世界で唯一のFPGAをベースにした携帯ゲーム機であるという点です。

MiSTer FPGA同様、高品質なコアの登場も出てくると思われるので、今後も注目していきたいところですね。ということで、最後にこの記事を書いている時点で公開されている「openFPGA」用のコアをご紹介しておきます。

●NEOGEOコア
https://github.com/Mazamars312/Analogue_Pocket_Neogeo

●SG1000コア
https://github.com/spiritualized1997/openFPGA-SG1000

●セガマスターシステムコア
https://github.com/spiritualized1997/openFPGA-SMS

●ゲームギアコア
https://github.com/spiritualized1997/openFPGA-GG

●ゲームボーイ/ゲームボーイカラーコア
https://github.com/spiritualized1997/openFPGA-GB-GBC

●ゲームボーイアドバンスコア
https://github.com/spiritualized1997/openFPGA-GBA

●アタリPONGコア
https://github.com/agg23/analogue-pong

●Arduboy(アルドゥボーイ)コア
https://github.com/agg23/analogue-arduboy

●スペース・レースコア
https://github.com/ericlewis/openfpga-spacerace

●テクモコア(アルゴスの戦士、ジェミニウイング、Silkworm)
https://github.com/nullobject/openfpga-tecmo

●アステロイドコア
https://github.com/ericlewis/openfpga-asteroids

●ルナランダーコア
https://github.com/ericlewis/openfpga-lunarlander

●ギャラガコア
https://github.com/opengateware/arcade-galaga

●スーパーファミコンコア
https://github.com/agg23/openfpga-SNES

●スーパーブレイクアウトコア
https://github.com/ericlewis/openfpga-superbreakout

●Dominosコア
https://github.com/ericlewis/openfpga-dominos

●ディグダグコア
https://github.com/opengateware/arcade-digdug

●ファミコンコア(※開発中)

●メガドライブコア(※開発中)


コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


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