Kepler X

Multifunction expansion board for X680x0 series

X680x0向け多機能拡張ボード "Kepler X" のWebサイトです

Kepler Xとは?

X68000の発売から30年以上が経過。時代は令和になり、本体はもちろん、拡張ボード類のオークション価格も年々上昇を続けています。まーきゅりーゆにっとやNeptune-Xなどのような流通量の多くない拡張ボードを入手するのは特に難しい状況です。

そんな状況を変えたいと思い、「なければ作る」の精神で開発が始まったのが Kepler X(けぷらーえっくす)です。

FPGAとRaspberry Piによって構成されており、回路やファームウェアの書き換えによって新しい機能を次々と載せられる「進化する拡張ボード」として設計されています。

※ Raspberry Piはオプションです。なくても動作自体は可能ですが、あると機能拡張が可能になります。

 

名前の由来

太陽系外惑星を発見するためにNASAによって打ち上げられた宇宙望遠鏡「ケプラー」に由来しています。

 X68000の同人ハードは惑星の名前がつけられたものが多いことはご存知の通りですが、Kepler X はそれ自体が新たな惑星になるのではなく、 X68000の未来の可能性を発見するための土台になって欲しいという思いから、この名前をつけることに決めました。

Kepler Xを手にした方は、ぜひ新たな可能性を見つけていただけたら幸いです。

 

なにができるの?

現時点(2023年1月11日時点)では、荒削りながら以下の機能が動き始めています。

  • メモリフル実装(12Mまで自動拡張)
  • まーきゅりーゆにっと互換PCMと互換FM音源
  • 内蔵オーディオのデジタル出力 (X68030は非対応)
  • MIDI IN/OUT
  • mt32-pi の内蔵 (要Raspberry Pi)

今後は、Ethernet、Wi-Fi、USB、BLE、ストレージなどの機能を追加していく予定です。

 

増設メモリ

X68000の内蔵メモリの上限まで自動的に認識して増設します。1MB機への対応はまだ未完成ですが、将来対応予定です。

まーきゅりーゆにっと

まーきゅりーゆにっとV4(MK-MU1O)相当の機能が動作します。FM音源はYM2610互換コアを2つ内蔵しています。

MIDI I/F

純正MIDI I/Fボード互換機能を内蔵しているため、MIDI音源を鳴らすことが可能です。MIDI端子はTRS-MIDI (3.5mmジャック) を使用しています。

mt32-pi

Kepler X上に Raspberry Piを装着し、mt32-piとして動作させることが可能です。音声は他の音源とデジタルミックスされて出力されます。

デジタル音声

Kepler X上で合成された音声は全てデジタルオーディオ端子から出力されます。ボード上にPCM5102を搭載しているため、アナログ出力も可能です。

将来の拡張

Kepler XはFPGAとRaspberry Piの協調動作によって、カスタマイズ可能な作りになっています。ファームウェアを書き換えることでネットワーク機能、グラフィック機能など、更なる機能追加が可能なポテンシャルを秘めています。

ブロック図

keplerx-block-diagram.png

オーディオルーティング

keplerx-audio-block-diagram.png

 

 

機能実装の進捗

実装予定の機能と、その進捗状況です。

  • 🟢増設メモリ
    • 🟢メモリ実装量を自動認識して、必要なエリアだけ1MB単位で自動増設
    • 🟢アクセスにまだウェイトが入っていて、ノーウェイトで動作していません。後日改善予定です。
    • 🔴1MB→2MB領域(0x100000〜0x1fffff)は対応予定なし(現状では難しそうです)
      • 詳細→ https://twitter.com/kunichiko/status/1657620113603035138?s=20
  • 🟡サウンド出力
    • 🟢音源ごとのボリューム調整
    • 🔴サンプリングレート変換時のLPFが未実装のため、折り返し歪みが出てしまう
  • 🟡まーきゅりーゆにっと
    • 🟢PCM再生
    • 🟡PCM録音 (S/PDIF 48kHzのみ対応)
    • 🟢OPN再生
      • 🟢YM2608のリズム音源サポート
      • ○YM2608のリズム音源ROMを、ユーザーがFPGAのコンフィグロムに書き込めるようにする
  • 🟢内蔵音源エミュレーション
    • 🟢FM音源エミュレーション
    • 🟢ADPCMエミュレーション
  • 🟡MIDI I/F
    • 🟢MIDI OUT
    • 🟡MIDI IN (動く可能性はあるが、テスト用ソフト環境が整備できておらず未確認)
  • 🟢mt32-pi
    • 🟢mt32-piの演奏
    • ○mt32-piをX68000から細かく制御できるようにする
  • ○Neptune-X
    • ○Raspberry PiのEthernetを使えるようにする
    • ○Raspberry PiのWi-Fiを使えるようにする
  • ○Nereid
    • ○Raspberry PiのUSBを使えるようにする
  • ○TS-6BGA
    • ○DVI出力から拡張グラフィックの出力ができるようにする
      • おそらくこれを実現する際は、それ専用のFPGAロジックをインストールする必要があります
      • その場合は Kepler Xの2枚挿しもできるようにします
  • ○CZ-6BP1
    • 数値演算プロセッサボード
  • ○ストレージ
    • 🟡JMMCSCSIで、8255互換I/Fよるメモリカードアクセス(ドライバの正式対応はまだ)
    • ○メモリカード高速アクセスレジスタを用意し、JMMCSCSIに対応してもらう
    • ○SPC(SCSI Protocol Controller, MB89352)互換I/Fを用意し、SCSI IOCSに対応させ、直接メモリカードから起動できるようにする
  • ○独自機能
    • ○設定値をEEPROMに保存できるようにする
    • ○BLEでスマホと接続
    • ○Bluetoothオーディオ対応
    • ○DVI出力の有効活用

 

X68030での制限事項

Kepler Xは、内蔵FM音源(YM2151)や内蔵ADPCM(MSM6258)など、他のI/Oアクセスを監視する機能が備わっています。これによりKepler Xのボード上で内蔵音源をエミュレーションすることが可能となり、ボード上の音声出力端子から内蔵音源の音も出すことが可能になっています。そのため、外部のミキサーで音声をまぜる必要がありません

もちろんあくまでエミュレーションではありますが、実用に耐えられるレベルの再現度は実現できています。

ですが、X68030は拡張I/Oスロットのバスに内蔵I/Oへのアクセスが繋がっておらず、監視することができません。そのため、X68030では以下の制限が発生してしまいます。

  • 内蔵音源のエミュレーションが機能しないため、ボード上からはまーきゅりーゆにっと、mt32-piなどの音声しか出力できない
  • 内蔵VRAMへのアクセスを監視するなど、将来グラフィック系の機能拡張を行った場合も X68030はサポート対象外となる

ご購入の際は上記制限事項をご理解の上、ご決断いただければ幸いです。

 

 

いつ買えるの?

現在、一般頒布に向けて弍號機の基板を製作中です。もうしばらくお待ちください。

10代をMSXとX68000とMacで過ごした40代エンジニアです。20代の頃に1チップMSXのVDP部分を作ったりしていました。仕事が事務仕事ばかりになって苦しいので、若かりし頃に遊んだ古いパソコン達をリストアして遊んでます。

くにちこ