2023年3月28日火曜日

東芝のワープロ「Rupo」には果たしてMSX-ENGINEが入っているのか?

電子機器の分解一覧


東芝のワープロ「Rupo」には果たしてMSX-ENGINEが入っているのか?

注意:このサイトの内容を鵜呑みにし、事故や損失を招いた場合でも当方は一切の責任は負いかねます。自己責任でお願いします。

特にMSXに関する知識は全くの素人のため、事実と異なることや見当違いなとこ、憶測が多々あります。




東芝のワープロ「Rupo」にはMSX-ENGINEが転用されていたという噂が一部界隈で知られています。

今回はいくつかRupoを分解してみて実際にMSX-ENGINEが転用されていたかどうか調べてみました。

回路のみ軽く調べてみただけなので何とも言えませんが、結論からいうと、MSX-ENGINEが転用されていた可能性が大きくあります。




そもそもMSX-ENGINEはどのようにして生まれたのでしょう?

当時、東芝はZ80や周辺LSIをはじめとするLSIを一つのパッケージに収めたカスタムチップを低設計ワーク量で設計できる「スーパーインテグレーション」という技術を持っていました。

この「スーパーインテグレーション」の考え方としては、「既存製品のチップをそのまま寄せ集めて乗せちゃえ」というものです。
まあ、さすがにチップをそのまま寄せ集めてボンディングワイヤでがっつり接続しているわけではなく、1つのダイに落としていると思います。


つまり、既存のチップ(Z80周辺LSI等)を使うほど、当時の主流であるゲートアレイやハンドクラフトと比べると設計作業量が格段に減らせるので「スーパーインテグレーション」の本領を発揮できるというわけです。

当時の日本といえばZ80最盛期なこともあり、Z80カスタムチップを容易に作れる「スーパーインテグレーション」は魅力的なことでしょう。


もともとMSXは、Z80をはじめとする標準LSIを多様しています。「スーパーインテグレーション」との相性は抜群というわけです。
こうして生まれたZ80カスタムチップの一つがMSX-ENGINEだと思います。



・MSX-ENGINEの種類

www.msx.org

上記サイトによると、現在確認されている東芝のMSX-ENGINEは4種類あるそうです。
です。

T7775  (Z80 + PPI + 他?)  MSX1相当  100ピンQFP
T7937  (Z80 + PPI + PSG + VDP + 他?)  MSX1相当  144ピンQFP
T9763  (Z80 + PPI + PSG + VDP + 他?)  MSX2相当  144ピンQFP
T9769  (Z80 + PPI + PSG + VDP + 他?)  MSX2相当  144ピンQFP

T7775以外はPSGとVDPが組み込まれているので、ピン数が多くなっているようです。


・Rupoの内部構成

続いて東芝のワープロ「Rupo」の内部構成を調べてみました。
東芝のワープロの場合、1980年中盤にはZ80、1990年ちょっと前から8086が使われています。

これらの年代のRupoの商品名の多くは「JW-」の後ろに2桁または3桁の数字+アルファベットで構成されています。
数字の部分はシリーズで、アルファベットはマイナーバージョンでしょうか?
数字部分は「5X」、「7X」、「8X」、「9X」などがあります。
アルファベット部分は「F」、「G」、「H」などが多そうです。

このうちZ80が使われていそうなシリーズは「5X」、「7X」、「8X」あたりでしょう。




これらのシリーズの実際の中身はどのようになっているでしょうか?

・JW-5X


ささのたかよしのぺーじ - 2007年7月のてきとーな日記


この方はJW-R50FIIとJW-R55Fを分解しているようです。
JW-R50FIIの場合、ゲートアレイ等が見当たらず、T7876A(QFP100)という不明なチップが一つ乗っています。おそらくこれがCPU入りのカスタムチップであるとわかります。
もう一つの方のRupoにもT7876Aというカスタムチップが乗っています。
このT7876Aがスーパーインテグレーションで作られたZ80カスタムチップであると予想できます。

JW-50代はおおむね「T7876A + SRAM + メインROM + フォントROM + FDC + LCDC +  CTC + 他ロジック」という構成のようです。

SRAM : 64kbit  4または6個
メインROM : 256kbit 3個
フォントROM : T7818 おそらく1Mbit(データシートが無いため不明) 5または6個
FDC : TC7856P
LCDC : T6963A
CTC : TMPZ84C30P

関係ない話ですがFDCであるTC7856Pのピン配置はNECのμPD765と同じようです。データシートを軽く見るとコマンドも同じような感じです。


・JW-70

JW-7Xの分解画像が見当たらなかったので実際に入手して分解してみました。
分解したのはJW-R70F (JWP2070F)です。











LCDが大きくなったことによるLCDCの変更やVRAMの追加があったものの、JW-5Xとの大きな違いは見られませんでした。
ただ、部品レイアウトが大きく変更されており、ROM基板が取り外しできるような構造となりました。

SRAM : 64kbit  6個
メインROM : 256kbit 3個
フォントROM : T7818 おそらく1Mbit(データシートが無いため不明) 6個
FDC : TC7856P
LCDC : T7779
VRAM : 64kbit  2個
CTC : TMPZ84C30P

フォントROM T7818の容量はどれくらいなのか情報が無く、分からなかったので簡易検査してみました。
20pinの~CE以外をすべてプルアップした状態で20pinの~CEをLにしたところ、データバスへ出力があったことから、A0~A16の1MbitROMである可能性が高いです。日立が28pin1MbitマスクROMを製造していたのは知っていたのですが、やはり東芝も製造していたのでしょうか?
ただこれは憶測でしかなく、もしかすると独自仕様のROMかもしれません。

興味深いことにJW-R55FのフォントROMマスク番号とJW-R70FのフォントROMマスク番号が一致しています。


まだ1種類のJW-7Xしか調べていませんが、JW-70代もおおむね「T7876A + SRAM + メインROM + フォントROM + FDC + LCDC + VRAM + CTC + 他ロジック」という構成のようです。


すべての機種に当てはまるかは知りませんが、東芝のRupoシリーズには実はデバッグモードが存在します。デバッグモードに入ることで、レジスタの内容を見たりROMの内容を見たりできます。

今回分解したJW-R70Fにもデバッグモードがあるため、実際に入ってみました。

レジスタを見た感じやはりT7876AはZ80カスタムチップでしょう。


・JW-8X

JW80Fを入手したので分解してみました。









JW-R70Fとは構成が大きく違うようです。
特にZ80カスタムチップであるT7876Aを使わずに新しいカスタムチップであるT7957(QFP144)を使っているところが大きく違います。

さて、この謎のカスタムチップT7957はZ80系なのでしょうか?
デバッグモードに入って確かめてみましょう。

フォーカスが合ってなくわかりにくいですが、レジスタを見るとZ80であるとわかります。

JW-R70Fとの違いからT7957はZ80,PPI,CTC,LCDC(T7779相当?)を1つにまとめたカスタムチップであると予想できます。


SRAM : 256kbit  3個
メインROM : M5M27C100K  1Mbit 4個
フォントROM : HN62304BP 4Mbit 3個 マスクNO.C15、C68、C69
FDC : TC7866P
VRAM : 64kbit  2個




もう一つの例を見てみましょう。

KUMO - 隠れMSXレポート

この方はJW85Fを分解しているようです。
予想外にもCPUは8086を使っているようです。


JW-8X代は2種類のパターンがあり、JW-80系は「Z80カスタムチップ + SRAM + メインROM + フォントROM + FDC + VRAM + 他ロジック」、JW-85系は「8086 + 他」という構成のようです。


・JW-9X



KUMO - 隠れMSXレポート

JW90Fも8086が入っているようです。



JW95Hを入手したので分解してみました。







やはり8086でした。


・Z80カスタムチップが入っている可能性の高いRupoの特徴

様々な機種の中身を見たところ以下の特徴の機種にZ80カスタムチップが使われている可能性が高いとわかりました。

・JW-5XシリーズまたはJW-7Xシリーズ
・画面が横長のJW-8X


・RupoのZ80カスタムチップはMSX-ENGINEなのか?

これまでの分解の結果、RupoのZ80カスタムチップは2種類発見出来ました。

・T7876A (QFP100)
・T7957 (QFP144)



これらがMSX-ENGINEの転用チップである可能性があるのですが、果たして本当なのでしょうか?


そもそもMSX-ENGINEもスーパーインテグレーションで作られたものなので、MSX-ENGINEと関係ないZ80カスタムチップも似てしまうと思います。なので今回は「RupoのZ80カスタムチップはMSXへ転用可能か?」を考えてみます。

MSXの特徴の1つとして、独自の「メモリマッパ(スロット)」があります。(MSX2にはスロットとは別のマッパがあるのですが、以降「メモリマッパ」はスロットの事を指します)
Z80のメモリ空間は最大で64kByteしかありません。MSXではメモリマッパを用いて1MByteの制約ありメモリ空間を実現しています。
詳しいことは省きますが、この「制約」がMSXの特徴であり、MSX特有のメモリマッパが入っているかがMSX-ENGINEかどうかの判断材料になります。

もう一つMSXには特徴があり、IO空間に配置されるデバイスが厳格に決まっています。
RupoのZ80カスタムチップに内蔵されているPPIなどが、MSXの規格で決まっているIO空間と異なる配置をしている場合、MSXへの転用が難しくなります。(MSXの場合、VDP以外のIO空間へのアクセスは基本的にBIOSを通すため、転用できないこともなさそうですが)



MSX-ENGINEかどうかの判断基準をつぎにあげます。

・ピン配置の一致度
・メモリマッパ周り
・IO空間の一致度


JW80Fに入っていたT7957はLCDCやCTCも内蔵しているのですが、IO空間のどこに配置してあるか現状ではわからず、MSXへ転用可能か微妙なところです。
また、総メモリ容量も明らかに1MByteを超えているため、わざわざMSXのメモリマッパも利用しているのか疑問が残ります。

JW-R50FやJW-R70Fに入っているT7876AはLCDCやCTCを外付けしているため、内蔵しているPPIの配置場所次第ではMSXへ転用可能かもしれません。
総メモリ容量は、最大で
  (SRAM64kbit*6 + メインROM256kbit*3 + フォントROMおそらく1Mbit*6 + (VRAM64kbit *2)) / 8
  =  928kByte
であり、MSXのメモリマッパでも行けるように思えますが、MSXのメモリマッパはメモリの自由な配置が出来ないため、1MByteを近くを扱うのは面倒そうです。
おそらく、容量の大きいフォントROMは別のマッパを用意しているのではないでしょうか?


T7876AがMSXへ転用可能な可能性があるため、とりあえずJW-R70Fの回路図を起こしてみました。


・回路図
ゲートアレイを使っているため一部のピン名は予想となっています。





T7876Aとピン数が同じMSX-ENGINEのT7775と比較したいところですが、T7775のピンアサインが分かりません。
ですが、T7775が使われているMSX SANYO MPC-1 及びMPC-2の基板の画像が見つかったので、わかる範囲で回路起こししてみました。(画像判断だけで起こしたため、高確率でミスがあると思います。)


www.msx.org - Sanyo MPC-1


・T7775ピンアサイン


スロット周りのパターンが分からないことや、T7775の下のパターンが分からないこともあり、まだ不明な端子が数多くあります。

・T7876AとT7775とのピンの比較

とりあえずわかる範囲で比較してみましょう。



・一致している端子
- 81,82ピンのGND、40,41,90,91ピンのVCC、
- Z80データバス D0~D7
- Z80アドレスバス A0~A14 (A15もおそらく一致)
- 12ピンのクロック入力端子
- 30ピンのリセット出力端子


・一致している可能性がある端子
 - 38,39ピンのメインROMチップセレクト
 - キーボードのスキャンおよび戻り端子


・一致していない端子
- 22~29ピンのDRAMアドレスバス(T7876A側ではゲートアレイ行き)
- 21ピンのDRAM CAS(T7876A側ではゲートアレイ行き)
- 73ピンのDRAM RAS(T7876A側ではおそらくMREQ、もしかしたら一致している端子かも)


明らかに一致していそうな部分はZ80バス系とキーボード周りでしょうか?
ただT7775のZ80制御端子(MREQやIORQ,RD,WRなど)の位置がわからず、なんとも言えないです。

一致していない端子はDRAMを使っているかいないかの違いだと思います。
MSXでは価格を下げるためDRAMを使う前提の回路となっていますが、Rupoの場合リフレッシュを必要としないSRAMを使用したため、違いが出たと予想します。
JW-R70Fの場合、これらの端子はゲートアレイに接続されていることもありこれ以上わかりません。
JW-R50Fの場合、ゲートアレイを使用していないようなので、JW-R50Fを入手次第追加で解析してみたいと思います。

興味深いのがT7775の31~34ピンの場合、PSG VDPの制御端子へ接続されているところ、
T7876Aでは未接続となっている点です。
T7876Aの31~34ピンが内部のダイと接続されているかチェックしたところ、一応接続されているようです。
もしかすると、T7876AにPSGやVDPが接続できる可能性があります。


・まとめ


現状回路を見ただけではこれ以上のことはわからないため、RupoにMSX-ENGINEが転用されたかどうか判断できません。
ただ、MSX-ENGINEであるT7775とRupoのZ80カスタムチップであるT7876Aの類似性はあるので、RupoにMSX-ENGINEが転用された説は大いにあると思います。



東芝のワープロ Rupo JW-R50FとSANYOのMSX MPC-1またはMPC-2の回路起こしをすることでもう少し詳しいことが分かりそうです。








・参考

・MSXの基本の回路
MSX Datapack wiki化計画 - 7章 MSX2+回路例

・MSX-ENGINE 一覧

・スーパーインテグレーションとか
鈴木 八十二     最近のCMOS技術
1987 年 41 巻 3 号 p. 255-263

・Rupo一覧
Rupo補修用性能部品の保有期限一覧

・Rupo JW-R50FII, Rupo JW-R55Fの分解
ささのたかよしのぺーじ - 2007年7月のてきとーな日記

・Rupo JW85Fの分解
KUMO - 隠れMSXレポート

・Rupo JW90Fの分解
KUMO - 隠れMSXレポート

・MSX-ENGINE T7775を使用したMSX
www.msx.org - Sanyo MPC-1

 






0 件のコメント:

コメントを投稿