つきいち日記へ戻る 

1チップMSX その3

2006年 12月 31日 日曜日

 一時期のことであろうが、MSX界に活気が戻っている。賑わっているというのはいいことで、良いことも悪いことも集まる。こんな気分になれることはそうそうない。
 いつ夢から醒めるのかと思っているのだが、なかなかどうして、一ヶ月たってもまだ粘っている。その点では良くできた装置だ。
 時期尚早とは思うが、現時点での1チップMSXの位置づけを考えてみる。

● 5000台の1チップMSX

 5000台というのは微妙な数で、組織的でないと作れないが、さりとて世の中に影響を与えるほどではない。
 世の中へのインパクトという意味では、少なくともあと十倍は売れる必要がある。幸い、MSXはいわゆるロングテールが期待できるので、話にならないわけではない、と思う。ただし、時間と粘りが必要で、危機的状態が続いていることに変わりはない。
 店頭で山積みのままになっている某懐かし商品の増産分を見るにつけ、1チップMSXも現状ではここまでかなと思う。

 それでも、魔が差して買ってしまった人には申し訳ない。これが、今のパソコン界を築いた主要な装置の晴れの姿だと思って、記念の飾りにして欲しい。
 願わくば量産型が作成され、細長く売れ続けることを祈るのみである。

● 買ってきたままの1チップMSX

 今回の1チップMSXが面白いのは、買ってきたままでも何とか使えそうな感じがする点である。MSX2が当時としては完成度の高い、一人前の計算機という点が大前提、そこにMSX-DOS2(Disk BASIC 2)とSDカードが使える点が大きい。いわば、ハードディスクが標準で付いたMSX2なのだ。
 当時のMSX2の標準入出力装置は3.5インチ2DDのフロッピーディスクであり、それも何となく遅かった思い出があるのだが、1チップMSXでは実に軽快である。MSX-DOS2(FAT16)のおかげでファイル数やファイルの大きさにも妙な制限がない。
 何がうれしいかといって、256色同時表示画面(Screen8)が何枚でも入る(1万枚以上!)。2DDフロッピーなら10枚強しか入らないのに。MSX BASICの超強力なCOPY命令と合わせれば、紙芝居みたいなアドベンチャーゲームなど楽々だろう(多分)。

 いや、いまさらMSXでアドベンチャーゲームをやれ、というのではない。ごく簡単なプレゼンテーションソフトのような使い方が可能なのだから、最低限、動く飾りにはなる、ということだ。
 私自身、ソフトを整備して実用性を多少増すつもりである。MSXが現代においても何とか役立ちそうに思えるのは、大きな収穫だったと思う。

● DOS機としての1チップMSX

 そうした目で見ると、今回の1チップMSXにはMSX-DOS2へのこだわりが目立つ。もともと、MSX2ではMSX-DOS1が普通だったから、かなりの飛躍だ。さすがに、単なるリバイバルではない。
 その上で、MSX2の規格にあくまで準拠しているので、当時のあまたのソフトが使えるのが魅力になっている。そして、ファイルシステムのWindows互換。だから、文章や絵はWindowsにどんどん作らせることができる(適切な変換ユーティリティは必要)。
 かつてのDOSマシンを彷彿とさせる仕様だが、もちろん制限もある。

 第一水準の漢字ROMはあるのだが、なぜか漢字ドライバが付いていない。今のところ、漢字を含む文章の作成もままならない。BASICではかろうじて漢字の表示はできるのだが、今回の1チップMSX上で漢字を含むソフトの開発はつらいだろう。
 そんなものはWindowsに作らせよ、との方針のようだ。MSX-DOS2を発展させる方向は、Windowsに向かう方向なので、面白くも何ともない。無いよりはある方がなにかと便利ではあるが。

● その他の仕様

 メインRAMが1MBなので、とりあえず900KBほどの仮想フロッピー(ドライブH)として使える。2DDフロッピーの容量を超えているので、使いではあるだろう。
 音源の充実は今までに述べたとおり。ただし、BASICから直接使えるのはPSGとFM音源までである。ゲームや専用ソフトではSCC互換の音源が使える。FM音源にはちょっとしたおまけがあるようだ。

 そして、非公式のZ80の3倍クロックモード(3.58MHz→10.75MHz)。内部的には6倍まで可能だそうだし、Z80は3〜4クロックで1サイクルなので、さらに加速も不可能ではない。ただし、今のところ、3倍モードで実質2倍強の速度が、使える範囲のようだ。加速するには様々な条件をクリアする必要があるのだろう。ソフト・エミュレータのMSX PLAYerみたいに、簡単に5倍速などとは行かないようだ。
 今のパソコンのCPUは32/64bitで2GHz程度でマルチであるから、ざっと一万倍の能力差だ。100ミリグラムの組み込みマイコンでも20倍くらいの能力はある。最大限に加速すればマイコン並みにはなる、ということだ。マイコンはもちろん現役の実用品だから、1チップMSXが頼もしい感じがするのも、理由のあることだと思う。

● FPGAの書き換え

 意外にハードルが高いのが、FPGA書き換えである。そのままでも何とか可能だし、開発用ケーブルがあれば安心、ということなのだが、私にはまだ踏み込めない領域である。
 ソースファイルは個人でも読み切れる分量である。だから、公開はありがたかった。これが今のパソコンやゲーム機なら、いや、それどころか上述の組み込みマイコンですら手に負えない分量だろう。MSX2という、ともかく実用にとどくパソコンが細部まで個人で把握可能なのは、あらためて驚きである。
 改造に食指は動くのだが、現状では何ともし難い。機会はやがて来るのだろうが…。

● MSX3への道程

 すでにやり尽くした話題なのかもしれないし、どこかでされているのかも知れないが、私なりの意見を書いておく。

(1) CPUとメモリ

 より強力なCPUと多いメモリはいつの時代の要請でもある。互換性に妙にこだわると、たちまちおいてけぼりになる。
 互換性は、Z80-3.58MHz/メインRAM-1MBのオリジナルモードに戻せれば問題ない。
 とりあえず、3倍クロックモードの正式化が課題だろう。turboR互換の加速の路線でもよい。行けるところまで行かないといけない。規格上も対応が必要だろう。

 メモリマッパに関しては、ややこしい経緯があるようだ。感触ではMSX-DOS2のシステムコール(BIOS?)を利用すれば上限については問題ない模様、ただし、私はこれに関する正式な文書を見たことがない。
 1MBという容量は、1980年ころの計算機なら、ウィンドウシステムは快適に運用でき、仮想記憶がなくとも80台の端末を擁する企業情報システムにも耐える。ただし、PL/Iコンパイラはスラッシングのために使い物にならない…、といった感じだろう。

(2) 通信

 課題で難題。MSX-DOS3の話になる。MSXでは軽く作っておいて、Windowsなどに相手するプロセス(サーバ)を走らせておいても良い。ファイルサーバ、プリンタサーバ、通信サーバといえば、分かる人は分かる。

(3) VDP(ビデオプロセッサ)

 1チップMSXとMSX PLAYerで路線が異なる。できれば両方生かしたいが、世の中の趨勢は正方画素だろう、つまりMSX PLAYer路線に行くべき。
 MSXマガジン永久保存版3には幻の高性能VDP、V9978の話が載っていて、さらにややこしい。このVDPでさえ、今から見れば弱い。
 解像度に関してはQVGA(320x240)程度の現状で十分に役立つ。色数に関しては、Screen8の延長で32768色以上の同時表示あたりがやはり欲しい。今回の1チップMSXの改造で追いつく範囲だろう。

(4) 日本語環境

 今のままでは1チップMSX上での日本語入力すら難しい。
 MSX PLAYerもそうだが、日本語環境に対しては非常に慎重になっている。その理由はだいたい想像できる。現在の日本語標準とMSXの時代の標準が合わないのだ。

 ここはひとつ、内部と外部を分けてみてはいかがだろうか。
 内部ではMSXの当時の路線を引き継ぐ。内部コードはシフトJIS。
 外部との境界は、上記(2)のサーバが受け持つこととする。その「MSXサーバ」を外(インターネット等)から見ると現在の標準に準拠している、というしかけだ。元々イーサ(ether)は内部空間だから、突飛な考えではない。
 SDカードが問題だが、ここはお手軽ルートということで、放置して目をつぶるか、あるいはここもWindows等でラップしてもよい。
 MSX側の装備として、最低限、漢字表示と文節変換は必要である。範囲を内部に限定すれば、それほど資源は要さないだろう。
 あるいは、この際、日本語環境を再構築してもよいが、かなり労力がかかりそうな気がする。

(5) その他

 音源に関しては、FM音源のプログラムできる範囲の拡大はすでに対応ずみようだ。信号にはやはり細工があるもよう。
 我が家にFM音源の古いエレクトーンがあり、それなりに素敵な音がする。パーカッションはPCMのようだし、コーラスなどのエフェクタもある。このあたりまで、何とか従来との整合性を生かしながら発展できればと思う。ステレオ化(パンポット)は必要だろう。SCC互換音源の取り込みも何とかなればと思う。そして、MIDIファイル(等)を放り込んでBASIC等から制御する。シーケンサ内蔵、ということ。

 FPGAに関しては、JTAGが無いだので一部で盛り上がっている。別方面で私もJTAGを使っているわけだが、相手はMSXである、私としては深入りしたくない、のが本音だ。
 VHDLは予想通り敷居が高い。MSX経験者は強者揃いなので、改造で楽しんでいる方もいらっしゃるようだが、ここは何とかしたい。

(たぶん続く)