夏休みを利用して、似非PLDシステムでMSX1を実現しました。
MSX-BASICの他、「グラディウス」や「キャッスル」などのMSX1対応ゲームも動作します。
MSX-BASICが起動したところ |
PLD | FLEX10K100A(ALTERA製)を使用。機能的には、MSXシステム(スロット、キーボード、ジョイスティック、BIOS、メモリマッパ)、VDP(9918+α)、PSG(AY-3-8910)、似非SCCディスク(512kB)、似非RAMディスク(128kB)を実装してあります。 PLDのコンフィグレーションは、ISP-ROM(EPC2、ALTERA製)にて行います。 |
CPU | LH0080(SHARP製Z80)を使用。今回はPLDに入れていません。 |
RAM | HM628512(日立製、55ns)を2つ使用(合計1024kB)。コイン電池(CR2032)でバックアップ。 内訳は、BIOS(128kB)、VRAM(128kB)、似非RAMディスク(128kB)、似非SCCディスク(512kB)、メモリマッパ(128kB)で使用しています。合計1024kBです。 |
I/F | ビデオ(RGB/S端子/コンポジット)、音声(L/R)、ジョイスティック(2ポート)、キーボード、MSXスロット、JTAG(PLDデータ書き込み用) |
松電子版の似非PLDシステムにZ80を載せました。
MSX実機と接続した場合、CPUは切り離され、MSXの周辺装置として使用することが出来ます。基板の表に、PLD、ISP-ROM(PLD用)、VideoDAC、Videoアンプ、ビデオエンコーダ、コイン電池等が載っています。
裏側には、LH0080(SHARP製Z80)、HM528512(512kBのSRAM)×2つ、水晶発振用IC、リセットIC等が載っています。
似非VDPは、パレットレジスタを実装しており、ハードウェア初期化時は16色全て黒となります。
MSX1のBIOSに無い、パレットレジスタの初期化を行うため、BIOSにパッチを当てました。
メモリマッパは、VHDLソース側でバンクレジスタの初期値を0/1/2/3としたので、BIOSへのパッチ無しで動作します。
似非RAM部は、128KBのRAMディスクとして使用します。
似非SCC部には、各種ROMゲームを入れて起動する事が出来ます。
現在、ジョイスティックで選択→任意のゲームが起動するようになっています。
Z80をPLDに内蔵する。さらに将来はR800まで?
VDPコマンドを実装してMSX2レベルにする。
FM音源を実装する。ただ、今の似非PLDシステムでは、回路規模/速度面でこれ以上の拡張は困難です。
上記の夢の実現に必要な、次期似非PLDシステムが必要となります。
デバイスとしては、Spartan2(E)が最有力候補です。
Copyright 2000-2002 ESE Artists' Factory all rights reserved.