2012/10/12

TMS9918ファミリーをRGB化せよ

前回の更新から5ヶ月...月日のたつのは早いものですな...(;・∀・)
Twitterで絡んで頂いてる方は予想されていると思いますが、
RGBと大騒ぎしてるアイテムの紹介です。
今回は長いですぞ....

PA113574
(赤 SONY HB-101、白青 トミーぴゅう太mkII、黄黒 SORD m5、黒 SEGA SC-3000)

マイ・コレクションの一体型PCから4台のマシンをチョイスしました。 
これらの共通点といいますと...
・カコ(・∀・)イイ!! シビレル( `ー´)ノ
・キーボードがアレな機種もある
・RGB出力はなく、VIDEO(コンポジット)出力、もしくはRF(1ch/2ch)出力を持つ
・ゲームプレイ中心ではあるがBASICを扱うことが出来、プログラミングが出来る
などなどキリがないですね...(;・∀・)

モノ持ちが比較的良い私はこれらの機種のプログラムリストを少し持っていまして、
超スローペースではありますがチマチマと入力をやっております。
その結果を動画やスクリーンショットで記録、お披露目が出来るように
入力、取り込み作業も含めて、「ドットくっきりでキレイに映したい」欲求が高まっておりました。

しかし、これらのマシンは、
当時、最も手軽で安価な表示装置であった家庭用テレビを利用出来る様に作られています。
PC-6001、アップル][のコンポジットの滲みの魅力もわかってはいるのですが、
ゲーム機でのドットくっきりの魔力に取り憑かれている私にはそれに満足できず、
「改造してRGB化する」行為へと向かってしまったのです....

手に入れたマシンを分解し、
搭載されている画面表示まわりをチェック、
内部でのRGB処理の可能性を探ることにしました。
ピンにRGBが出ていれば、シンプルに結線でRGB出力が可能になります。

今回紹介したPCには全て、
「TMS9918A」という名のVDP(画面表示プロセッサ)が搭載されています。(MSXは9118)
これはTexas Instruments社が開発したチップで多数のスプライトを扱うことが出来、
映像出力はコンポジット出力とゲーム&テレビ接続に向いた低価格PC用チップなのです。
これでは単純にアンプ追加や配線ではRGB化出来ない....
いきなり難題にぶち当たった時、ネットのおともだちが
「TMS9928って上位チップが互換性も高く、しかもRGBを扱えるらしい」、
「MSX1でもRGBが付いてる機種がある」との情報をくれました。
調べてみるとMSX1でもRGB出力を持たせるためにTMS9928を搭載したマシンが存在しました。
MSX1ならばワザワザ改造までしなくてもMSX2を使えば良いのですが、
「もしかしたらm5に9928を載せたら、RGBで映るかもしれない」
その気持ちが私を動かしました...






まず、9928を搭載してるMSXを物色、パイオニアのPX-7のジャンクを手に入れました。IMG_5070IMG_5107 PA113548
PX-7はLDプレーヤと接続してゲームが出来るマシンでレア度が高く、分解は気が引けるのですが、
今回電源入るの?的な非常に状態の悪いジャンク品を非常に安価に手に入れることが出来たので
無事にTMS9928を取り出すことが出来ました。
さっそくm5のソケットに載せてみましたが予想していたモノクロ出力もなく完全に沈黙でした。
「ジャンクから取り出したし、もしかしたら9928が壊れているかもしれない」
9928の動作検証するため、更にRGB搭載のMSX1を探し、東芝パソピアIQ HX-21を手に入れました。PA113572 PA113573 IMG_5210
(左)特徴的な専用RGBコネクタ、(右)ヒートシンク付きTMS9928(なんとソケットに載ってます)
IMG_5335
PX-7のと換装した結果、VDPは壊れていませんでした
IMG_5352
HX-21に9918を搭載する実験も行いました。
正常な色ではありませんが映ってしまいました(;・∀・)
では何故m5で映らないのか?新たな疑問の発生です。


IMG_5203 IMG_5207
疑わしいのはこの回路、ここで何かが行われているのは揺るぎない事実です。
しかし、m5にはもうひとつ問題があります。単純に9928+上回路のコピーを載せるだけでは、
CPUとの同期が取れず、動作が困難なのです。
(クロックをCPUに送り込む必要があるが9918にはあり9928にはない)
もし、9928のRGB(R-Y,B-Y、Y)を変換する回路を作ることが出来れば、
その応用で同じくRFしか持たない、カセットビジョンもRGB化のヒントになるかも知れないので
ぜひクリアしたいところですが、電子回路のスキル全然な私にはまだ先の話かと、
勉強してからまたチャレンジだなとケースに戻す作業を始めていました。
しばらくして、ヤフオクに面白いものが出ているとの情報が...
セガSG-1000II にVGAを搭載したモデルが出品されていたのです。
VGAはD-SUB15モニタに接続の規格で、私の主食のアナログRGB21ピン系とは若干異なりますが、
現行モニタに直結できるのであれば、キャプチャの環境を整えれば何とかなります。
SGは9918搭載モデル、今まさにチャレンジしてる内容にピッタリと大変興味を惹かれましたが、
ゲーム機自体がレア度が高く、いかんせんお高い出品でした。
商品紹介の中に「FPGA F18A」と言うキーワードがありました...
探してみるとこんなページが出てきました。無題
FPGAとは「ハードウェアそのものをプログラミングできるハードウェア」の様なもので
ここの方々はTMS9918にVGA出力を付けた回路を設計して、
しかも搭載したハードには9918と振る舞って動くモノを作ってしまっていたのです。
今まで海外通販ではレゴ位しか買ったことのない、
大好きなUK版BKTFブルーレイ限定版すら買わなかったヘタレな私も、RGBだと話は別です。
舐めるようにサイトを読み(翻訳ソフトさまさま)ポチっとな....
待つこと10日ほど....


PA113546
ミシガン州から届きました
IMG_5589
F18A ADAM対応アダプタ付き
PA113541
ジャンパピン
ADAMってマシンはアダプタで基板上の他の部品を回避できるようですが、
これのせいで干渉したりとか...(;・∀・) だってソケットだと思ってたんだもん(´;ω;`)
4個あるジャンパで設定を切り替えるのですが、使うのは1番と4番だけです。
1. ラインあたりのスプライト数切替 32個/4個
4. 9918のCPUCLK出力のON/OFF
m5は9918からCPUCLKを貰わないと動けないのでまさに神ハードなのです。
まずは、RGB化の為分解されたままのm5に搭載して実験です。


IMG_5590.JPG (2)
9918は取り外してソケット化してあるのでまさにポン付け。
このサイズなら内蔵も可能ですね。

スイッチを入れてみましょう( `ー´)ノ



20120919174548
起動画面
ロゴが格好いいです(^^) この画面はF18Aが動作している確認の為で、
正常起動時はこの画面は出ず、いきなり通常起動します。



IMG_5591
あっけないくらい簡単に出力されました。
20120901160810
コンポジット出力をXRGB3経由でキャプチャ
20120919174456
VGA出力をXRGB3経由でキャプチャ
VIDEOもいい味が出ていて甲乙付けがたいのですが、やっぱりクッキリは魅力です。
m5をRGB化する目的は方法は少し変わりましたが達成できましたヽ(´ー`)ノバンザーイ
しかし、人間は進化を求めるイキモノ....
「9918を搭載する手持ちのマシン全てをVGA出力化したい」
....私の欲望が更に成長しました。
しかし、F18Aボード自体の数が少ないこと、金額も張るのでいくつも購入はできませんし...
マシンによっては内蔵スペースが厳しいものがあります。
またもや暗礁に乗り上げた時、PC-8001を皆さんに紹介する機会がありました。


IMG_5017
PC-8001+PCG-8100
我が家のP8はゲームのための周辺機器「PCG-8100」が接続されています。
そう、搭載ではなく接続なのです。

IMG_0897
「マザーボード上のICソケットにソケット嵌合コネクターを挿し、外部へ信号を引き出す。」
これをヒントにパーツを取り寄せ、9918ファミリーのRGB化への改造が始まりました。
最終的には外付け機器「 FPGA-9918 」的な物を目指します
まずはメインのFPGAボード基台を作らねばなりません。


IMG_0094PA113538
色んなパーツを使ってFPGAを乗っける台を作ります。
ちなみに今回使っている「ソケット嵌合コネクター40ピン」は市場にはもう無いかも知れません...
ピンヘッダと基板で作れると共立の兄ちゃんが言ってましたが半分外国語...(;・∀・)
裏の細かい配線は3DOのRGB化で慣れたのでそれほど苦痛ではありませんでした。


PA113534

PA113549
こういった使い方も出来るので40ピンのテスト台みたいなもんですね。
引き出しケーブルが長いと動作が安定しない様です。



PA113570
SORD m5
IMG_5339IMG_5340
m5は空きスペースが少ないのとシールド板があり、
そのうえ拡張スロットがカートリッジスロットとプリンタポートのみと塞がった構造です。
FPGA直結でもフリーズ多発する問題多き機体。
FPGAがCPUより遅く起動することでフリーズするとの仮説の元、
リセットスイッチを付けることも含めた工作の開始です。
IMG_5608IMG_0117
(左)RFユニット取り外し中 (右)白いのがリセットスイッチでその左の穴がRFの穴
IMG_0112IMG_0119
(左)CPUとVDPをダブルソケット化 (右)リセット配線とフラットケーブル
PA113558PA113559
すだれタイプのフラットケーブルなので小さい穴も通ります。
起動してみましょう
20120929234307
POWER PAC
バッチリ動きました 次行きましょう( `ー´)ノ



PA113552
SEGA SC-3000
IMG_5553IMG_5554
PA113553
このマシンは高さ的にはキツイものの内部に余裕はあるので内蔵可能な感じです。
ケーブルはカートリッジスロットに余裕があるのでそこを使いました。
2012091923394120120919233958
スタージャッカーもクッキリ( `ー´)ノ



PA113554
ぴゅう太mkII
IMG_0034
マーク1 VDP
IMG_0129
マーク2 VDP

PA113555
ぴゅう太には拡張バスの穴があるのでそこから問題なく引き出しできるのですが、
マザーのVDPの位置がかなり違い、ケーブルの取り回しが難しいです。
特にマーク1が長くなるのとシールドが厄介なのでまだチャレンジ中です。
20121011133932
Mr.Do
2012092622151520120926232827
起動しました。ゲームもキレイに出力されてます。




PA113561
MSX SONY MEZZO(HB-101)
IMG_5547.JPG (2)IMG_5549.JPG (2)
MSXにはTMS9118が搭載されていますが、F18Aはそれも使えるようにしてあるそうです。
MEZZOは自分の好きなマシンという事で穴を開けることに躊躇したのと、
隙間少ない事、取っ手付きのデザインのため、
フォルムを崩さずしてFPGAを取り付けるのは困難と判断しました。
でも、MSXでどうなるのかって試してみたいのでHX-21くんに登場願いました。
HX-21は元々9928搭載なのでちゃんとした検証にならないのですが、ソケット化されているので、
面倒くさくてつい... ←ワルイクセ デタ(;・∀・)
搭載されている9928を外し、F18Aを搭載。IMG_56062012091918350920121011134931
FPGA(左)と9928(右)
起動は出来たのですが、9928で直に取り出したものに比べるとシャープさに欠ける気もします。
これは21RGB→SC500直結とXRGB3経由の差もあるかと思います。設定も煮詰めてないし。
手持ちの9918ファミリーは取り敢えず映るようにはなったものの、
フリーズを起こすこともあり動作が不安定なのは拭えません。
今後はFPGAの作者さんともやり取りを行うようにして実験を続けていこうと思います。
読者の方でもし、同じFPGAを購入されたり、
手持ちマシンのRGB化進めておられる方いらっしゃいましたら情報交換しましょう( `ー´)ノ



PA113535

12 件のコメント:

  1. 匿名2/15/2013

    TMS9928について調べていたらたどり着きました。ソードM5は持っていないので正しい情報かは分かりませんが、もしかしたらCPUのクロックをTMS9918の38ピンからもらっていませんか?
    その作りになっているならばCPU(及びPSGも?)に別途クロックを与えてあげればTMS9928と入れ替えしても大丈夫かと思います。

    返信削除
  2. 匿名9/11/2014

    MSXとm5で使うとしたら、どのタイプを買うのが良さそうでしょうか…?

    返信削除
    返信
    1. いらっしゃいませヽ(´ー`)ノ

      m5は高さが非常に厳しく、ロープロ仕様の物をソケット無しで直付して利用しています。MSXも機種によってはVDP直上の高さが厳しい物があると思います。SC3000はロープロだと周りの部品に干渉したりと現物合わせ的な作業が必要になると思います。

      削除
    2. 匿名9/19/2014

      参考になりました。ありがとうございます!

      削除
  3. N.Takeda1/18/2016

    初めまして。このページを見て、F18Aを購入しました。
    届いた基板をじっと見ていたら、FPGAの47番~49番ピンが明らかにつながっています。そちらでお持ちの基板はどうなっているか、教えて頂けませんでしょうか。
    よろしくお願いいたします。

    返信削除
    返信
    1. Takedaさん いらっしゃいませヽ(´ー`)ノ

      パターンではなく端子がブリッジしていると言うことですよね?手元にあるF18A(ver1.6以前のもの)をチェックしてみましたが、特にそのような事はない様子です。念のためメールで問い合わせをしてはいかがでしょうか?交換するくらいならコテで撫でてブリッジを取ってしまうのも方法ですがまずは販売元にお問い合わせを(^^)

      削除
  4. N.Takeda1/20/2016

    ありがとうございます。
    自分で修正してみます。

    返信削除
  5. N.Takeda3/24/2016

    前回はご回答頂き有難うございました。
    自分で修正したのちに、実際にTMS9918Aと差し替えてみたのですが、F18Aの起動画面は出るものの、そのままの状態で停止します。
    これはこちらのホームページのM5と同様の症状でしょうか?
    本来は起動画面の後に通常の各機種ごとの画面が出てくるのでしょう。
    ちなみに、リセットボタンを押しても改善されませんでした。

    返信削除
    返信
    1. 元の石で動作するならF18Aのトラブルだと思われます。

      削除
    2. N.Takeda3/24/2016

      回答有難うございます。
      CPUにクロックが来ていないような気がします。
      が、自分で修正したので…壊したかもですね。
      有難うございました。

      削除
    3. F18A説明書にありますCPUCLKのジャンパの設定を変更しても動作は変わらないのでしょうか?4番をオフにするとF18AからCPUCLKが供給される様になっています。あと、F18A起動画面は通常は出ません。紛らわしいので記事を修正しておきます。

      削除
  6. N.Takeda8/01/2016

    前回は回答いただきありがとうございました。
    久しぶりに覗いてみて、コメントが追加されている事に気がつきました。
    ジャンパーについては、マニュアルを見ながら色々試しましたが、動作しませんでした。
    その後、システムクロックを別の水晶発信器から供給して見ましたら、予想通り正常に動作しました。
    おそらく、FPGAからシステムクロックが出力されていない様に思われます。
    自分で修正を加えた時に、やらかしてしまったようです。
    ちなみに、システムクロックを2MHzや4MHzにしてもちゃんと動作しました。

    返信削除

お気軽にご感想など( `ー´)ノ