KZ80マイコン 偽MSX1へ〜MSXパソコンに必要なもの

MSX

TMS9918Aビデオボードができて、これはMSX1パソコンに近づけるのでは?と妄想して、情報をあつめました。

TMS9918Aビデオボードのデータをgithubで公開している方も、AVRマイコンベースのブートローダーを作製されていて、なんとMSX BASICの起動に成功されている模様でした。ブートローダーにはシリアルのクチがあってBASICプログラムもキーボードエミュレーションでヨコチョのPCから流し込みができる仕掛けとなっているみたいでした。

MSX-BASIC on RC2014 | Details | Hackaday.io
I've gotten MSX-BASIC to run on the RC2014 with my TMS9918A video card and my z80ctrl card emulating the MSX keyboard. ...
MSX-BASIC running on RC2014

MSXのI/Oマップ

CPUが同じZ80なのですから、あとは周辺デバイスとのI/Oアドレスを合わせてあげればMSXとして動くのではないかと考えました。ブートローダーを設計するチカラは私にはないので地道に昔と同じようなチップをつなぎ合わせてMSXを目指したいという感じです。

MSXのI/Oアドレスマップはあちこちで公開されていますが、わりと有名どころでは以下の情報かなと思います。

MSX I/O ports overview

上記を参考に大まかに必要そうなものを一覧にすると以下になります。

I/Oアドレス用途
98h〜9BhVDP(TMS9918A ビデオカード)
A0h〜A3hPSG音源(YM2149/AY-3-8910)
・3声 プログラマブルサウウンドジェネレーター
・ジョイスティックポート
・カセットI/F
A8h〜ABhPPI(8255パラレル)
・メモリースロット制御(バンク切り替え)
・キーボード制御
・カセットI/F..etc

これだけあれば、画面が出て音がなって、主メモリーとかROMカートリッジ制御ができて、キーボードがつながるという初期型「MSX1」相当の機能が動きそうです。すでにVDPのところは前回までで完成済みですし。

I/Oアドレスリストには他にも8251シリアルとか、MSX2のメモリーマッパー、漢字ROM、フロッピーI/F、FM音源、プリンターポートなど色々とありますが、ひとまずそこは置いておいて 一番初期型の「MSX1」を目指して見たいと思います。

各種ボードの接続イメージ図

すでにできているZ80 CPUボード、メモリーボードなどもありますので、それらと組み合わせてMSX1を構成した場合のブロック図がこちらになります。

黄色い基板はすでにできているもの。緑色の基板はMSX1として構成するために追加が必要なものです。
黄色い基板でもZ80専用制御信号線とか、SLOT(メモリーバンク)信号でのROM/RAMコントロールが必要となりますので少々の改造が必要となります。(というのが作りながら分かりました…^^);; )

ではでは、次回以降はPSG音源&ジョイスティックボード、キーボード…といった感じで必要なボードを揃えていったところを紹介します。
つづきます…

コメント