
Minimig ( Mini Amigaの合成語) は、フィールド プログラマブル ゲート アレイ(FPGA)を使用してAmiga 500を再実装したオープン ソースです。
Minimig は、オランダの電気技師 Dennis van Weeren による概念実証として 2005 年 1 月頃に開始されました。彼は、 FPGA を使用してAmiga カスタム チップセットを実装することに関する Amiga コミュニティ内で進行中の議論に対する答えとして Minimig を意図していました。プロジェクトのソース コードと回路図は、2007 年 7 月 25 日にGNU General Public Licenceバージョン 3 に基づいてリリースされました。
オリジナルプロトタイプ
オリジナルの Minimig プロトタイプは、Xilinx Spartan-3 Starter Kit をベースにしており、オリジナルの Amiga チップセットは FPGA で合成されています。FPGA キットの拡張ポートを介して 2 つのプリント回路基板が接続されています。最初の基板には 3.3V Motorola 68000 タイプの CPU が搭載されています。2 つ目の基板には、 FAT16ファイルシステムをサポートし、オンザフライでAmiga ディスク ファイル(ADF) をデコードするディスク コントローラとして機能する小型の PIC マイクロコントローラを搭載したMultiMediaCardスロットがあります。
VGA-+-PS2(ジョイスティック等)
|
CPU <-> FPGA <-> マイクロコントローラ <-> フラッシュメモリ
|
ラム
プロトタイプはAmigaミーティングで公開され[2] 、いくつかのバグはあるものの、ほとんどのAmigaプログラムをロードしました。このプロトタイプは、コード開発にXilinx Webpackソフトウェアを使用してPC上でVHDLの代わりにVerilogを使用しました。
ハードウェア
プラットフォーム
Minimig rev1.0 ボードの場合:
- Xilinx Spartan-3 400k ゲート (XC3S400-4PQ208C) FPGA の容量は 82% です。
- Freescale MC68SEC000、3.3V、7.09379 MHz。ただし、 「E」クロックはなく、 MOVE sr,<EA> は特権であり、実際の置換命令はありません。
- Amigaチップ RAMバスと低速 RAM が7.09379 MHzで動作する単一の同期バスに統合されました。
- 2 x 524 288 x 16 ビットバンクとして構成された2 MB 70 ns 非同期SRAM 。
- MCU PIC 18LF252-I/SP [3] (代替としてAtmel AVR )はFAT16ディスクレイアウトを実装し、FPGA構成とKickstartの読み込みを処理します。これはADFファイルからオンザフライでエンコードすることにより、Amigaにフロッピーディスクをシミュレートします。
- 実装されたコンピューターのFPGA 構成、キックスタート、およびソフトウェアをロードするためのMMCフラッシュ メモリ カード。
- ディスクアクティビティ、主電源、Amiga の電源投入ステータスを表示する 3 つの LED。Amiga の電源投入ステータス LED の明るさも変化し、オーディオ フィルターのステータスを表示します。
- ビデオD/Aは、赤、緑、青の各色(4ビット/色)ごとに4つの抵抗器で構成され、VGAコネクタを介して出力されます。[4]
- 2 次アナログ フィルターを備えた8 ビット ディザリングシグマ デルタコンバーターからのオーディオ。
- +5V DC主電源(約200mA)。
ポート
- FPGA からの 3 つの汎用 I/O ( GPIO )を予備します。
- プログラミングチップ用のJTAG (TMS、TDI、TDO、TCK)
- RS232シリアルポート
- Atari 2600 DE9Mタイプのジョイスティック2 個。
- DE15F VGAビデオ ( SCARTに接続するために PAL 互換信号を出力できます)。
- MMC フラッシュ メモリ カードスロット。
- PS/2 コネクタキーボード + マウス
- 3.5 mmオーディオジャック
- +5V DC 2.1 mm円筒形DCプラグ電源入力。
実装
- モトローラ68000型CPU。
- ハードウェアOCSおよび ECS、PALおよびNTSCビデオは OSD 経由で切り替え可能です。
- ROMとして使用される Kickstart 用の 512 KB SRAM 。
- 0 .. 1536 KB低速RAM拡張(元々512 KB)。[5]
- 512 .. 2048 KBチップ RAM (元々は 1024 KB)。
- オンスクリーン ディスプレイでは、キーボードまたはジョイスティックを使用して SD/MMC カードから ADF ディスク イメージを選択できます。
ロードマップ
問題
- 実際のAmiga 500からのAmigaOSキックスタートROMのバイナリコピーや、まだ完全な互換性がないAROS-68kのような無料の再実装が欠けています。 [6] [7]
- ROM およびフロッピー イメージをロードするための現在のファームウェアは、単一のルートディレクトリと8.3 ファイル名に制限されています。
使用された開発ツール
コンピューター: Shuttle ベアボーン、Prescott Pentium 4 ( L2 キャッシュ 1024 KB、533 ~ 800 MT/s ) 3 GHz、1 GB RAM。
ソフトウェア: Xilinx Webpackバージョン 6.3.03i (2007-07-22 9.1)。HDL ソースからロード可能な構成ファイル (.bit) までの時間= 2分。CPU キャッシュとメモリの速度は、FPGA 生成ソフトウェアの Synthesis + Place & Route Silicon コンパイラにとって重要です。
未来
今後の展開としては以下のようなことが考えられます。
- より高速な CPU、ECSチップセット、AGAグラフィックス (新しい FPGA ボードが必要)、ハードディスク、イーサネット、強化された AROS 機能用の小型 RISC コアなど。
- 無料のキックスタート代替品の使用(例:AROS)。[8]
- ネットワークバージョンでは、フラッシュメモリを交換する必要がなくなります。
アップグレード
読み取り/書き込みサポート
2008年9月3日、新しいFPGAコアにより読み取り/書き込みサポートが可能になり、チップセットも改良されました。[9]
ARM コントローラ ボードのアップグレード
2008 年 12 月 22 日、PIC ( MCU ) コントローラー ソケットに適合する交換用ボードが発表されました。これにより、ハード ドライブ、4 倍速フロッピー ディスク、書き込みサポートが可能になります。[10] FPGA コアは新しい ARM と PIC ファームウェアで同じですが、ARM のみが 4 つのドライブをサポートするのに十分なリソースを持っています。PIC は 2 つしかサポートしていません。また、このアップグレードにより、4 KB のゼロ ウェイト ステート CPU キャッシュを使用して CPU 速度を 7.09 MHz から 49.63 MHz に上げることができます。ただし、実際に実行するには FPGA コアが必要です (16 MHz 68SEC000 チップで動作します)。[11] ハード ドライブのサポートは、仮想A600 / A1200スタイルのGAYLE パラレル ATAインターフェイスによって利用できます。ハードウェアを少し変更すると、最大 551 KB/s [11]が可能です。それ以外の場合は、最大 300 KB/s しかできません。[12]
USB周辺機器とMIDI
MiSTボードのMinimigポートは、USBキーボードやUSBマウスなどのUSB周辺機器や、物理的なMIDIインターフェースをサポートしています。[13]
追加の2MB RAM
2008年12月22日、オリジナルのPCBに別のSRAMチップセットを追加して改造し、合計4MiBのRAMを搭載できるようになりました。[10]
AGAサポート
MISTボード用のMinimigポートは、主要なAGA機能をサポートするように更新され、多くのAGAゲームを実行できるようになりました。バイナリリリースと完全なソースコードはGPLの下で利用可能です。[14] [15] [16] [17]
未発表のMinimigコアはAGAサポートでアップグレードされ、FPGA ArcadeのMike Johnsonが設計したプロトタイプのReplayボード上で少なくとも50MiBのチップメモリをサポートするように拡張されました。[18] [19] [20]
類似プロジェクト
C64 Direct-to-TV Commodore 64 on a chip ASIC を設計したジェリ・エルズワースは、2003年に動作するAmiga on a chipプロトタイプを持っていました。68000プロセッサとディスクインターフェイスを除いて、すべてがFPGA内でエミュレートされていました。しかし、プロジェクトは完了せず、ASICに転換されることもありませんでした。[21]
スウェーデンの小規模な民間ハードウェア設計会社であるIlluwatarは、オープンソース設計ライセンスの下でMinimigのMini-ITXフォームファクタバージョンを実装しました。 [22]このハードウェアバージョンは標準的なMini-ITXケースに収まり、寸法は17cm x 17cmです。このバージョンの接続ポートは、Mini-ITXの要件に準拠するためにマザーボードの背面に移動されました。
2008年2月9日、ACube Systemsは完成したMinimig v1.1ボードの発売を発表しました。[23]
2006年10月11日、Individual ComputersのJens Schönfeldは、過去1年間、Minimigに似た「Clone-A」と呼ばれる商用Amiga-in-FPGAに取り組んできたことを明らかにした。Minimigとは対照的に、Individual ComputersのClone-Aは、強力なロジックアナライザーを採用した3人の開発チームによって開発された。このシステムは、CIA、Paula、Gary、Agnus、Deniseをクローンチップで置き換えることを意図しており、CPUはMotorolaのオリジナルになる。最終的なチップには、AGAと、4人用ゲームを可能にするパラレルポートも含まれる。[24] 2015年以来、まだリリースされていない。
Wolfgang Försterは、 Atari ST -on-FPGAであるSuskaプロジェクトを完成させました。[25]
Minimigに触発されて、ティル・ハーバウムはMIST [26]を発明しました。これは、低価格で自宅で簡単に構築できるように設計された、Atari STとAmigaのオープンFPGAベースの実装です。Minimigとは異なり、68000 CPUは物理デバイスとして存在せず、FPGA内に実装されています。
MISTに触発されて、アレクセイ・メルニコフは、Terasicの商用ボードDE10-nanoをベースにしたAtari STとAmigaのFPGA実装であるMiSTer [27]を発明しました。MiSTerの機能を強化するいわゆる「ドーターボード」が少なくとも5つあります。
2019年にApollo TeamによってリリースされたVampire V4 Standaloneは、ECS/AGAチップセットの再実装に加えて、フィールドプログラマブルゲートアレイ(FPGA)を使用した68080 CPUとSAGAコアを提供します[引用が必要]。
参考文献
- ^ 「Minimig rev 1.0 PCB」。2012年7月18日時点のオリジナルよりアーカイブ。2009年6月29日閲覧。2006-06-11 アミーガ
- ^ 「HCC Commodore GG meet」。2007年9月28日時点のオリジナルよりアーカイブ。060218 amigaroxx.zuurkool.com
- ^ "PIC18F252" より。070715 マイクロチップ
- ^ Minimig 回路図 v1 ページ 3
- ^ 「Amiga.org - フォトアルバム」。amiga.org
- ^ 「AROS 研究オペレーティングシステム」。aros.sourceforge.net。
- ^ 「Kickstart ROM の交換 (フェーズ II)」。power2people.org。
- ^ 「AROS Kickstart ROM Replacement bounty (Phase II)」。2008年9月25日時点のオリジナルよりアーカイブ。
- ^ 「Amiga.org - ニュース」.090629 アミーガ
- ^ ab "Amiga.org - フォーラム".090629 アミーガ
- ^ ab "youtube.com". YouTube . 2009年4月24日. 2021年12月14日時点のオリジナルよりアーカイブ。090629 youtube.com
- ^ 「Amiga.org - フォーラム」。090629 アミーガ
- ^ 「 YouTube.comでの MIDI 再生の最小化」。YouTube。2014年 11 月 25 日。2021 年 12 月 14 日時点のオリジナルよりアーカイブ。2014-11-25 youtube.com
- ^ 「MIST用Beta Minimig AGAコアで動作するLion King」。YouTube。2014年10月21日。2021年12月14日時点のオリジナルよりアーカイブ。2014-10-21 youtube.com
- ^ 「AGA ソースコードは Githubにあります」。GitHub 。2014-11-31 github.com
- ^ 「AGA コア バイナリ」。2014-11-31 google.com
- ^ “Atari フォーラムの AGA スレッド”.2014-10-28 atari-forum.com
- ^ “youtube.com”. YouTube . 2010年2月21日. 2021年12月14日時点のオリジナルよりアーカイブ。100221 youtube.com
- ^ 「FPGAArcade | プログラム可能なゲームハードウェア」。
- ^ 「Amiga.org - フォーラム」。2011年7月17日時点のオリジナルよりアーカイブ。2010年3月7日閲覧。100221 アミーガ
- ^ Jeri Ellsworth (2011年6月22日). 「Amiga on a Chipプロジェクト - 残念ながらキャンセルされました」。2021年12月14日時点のオリジナルよりアーカイブ – YouTube経由。
- ^ 「Mini-ITX MiniMig」。www.illuwatar.se。
- ^ 「ACube Systems Srl」。www.acube-systems.biz。
- ^ CeBit での個々のコンピュータ、Clone-A プレゼンテーション 2007-03-31 2007-03-09 amigaworld.net
- ^ "Atari ST(E) Funktionalität を使用したオープン ソース IP コアの VHDL モデルの作成". www.experiment-s.de。
- ^ 「MIST - FPGA ベースの aMIga と ST」harbaum.org。
- ^ 「MiSTer」. github.com .
外部リンク
- Google Code のソースコード
- プロジェクトホームページ(オフライン)
- プロジェクトホームページ(ミラー)
- 公式ディスカッションフォーラム
