まっつん総研連絡用ブログ

プログラミング教育とかMSXとか。

MSX用増設RAMカートリッジ・MEM-768

 MSXのソフトの中では顧みられることが少ない、実用ソフト ハードをあえて紹介してみます。

f:id:matsun-ri:20210502222207j:plain
増設RAMカートリッジ MEM-768

増設RAMカートリッジ MEM-768

  • ジャンル:ハードウェア
  • メーカー:アスキー
  • 対応機種:マッパーRAM対応MSX
  • メディア:カートリッジ
  • 価格:30,000円(税抜)


目次


概要

f:id:matsun-ri:20210502222555j:plain
パッケージ外観


 MSXのメインRAMを768Kバイト増やすことができる、メモリマッパー規格に対応した増設メモリです。

増設による起動画面の変化

f:id:matsun-ri:20210502222637j:plain
MEM-768を増設していない状態

 MEM-768を接続していない状態のMSXturboR FS-A1GTの起動画面です。
 Main RAM:512Kbytesと表示されています。

f:id:matsun-ri:20210502222747j:plain
MEM-768を増設後の状態

 MEM-768を接続した状態です。
 Main RAMが768Kバイト増え、1280kbytesと表示されています。

増設によるRAMディスク容量の変化

f:id:matsun-ri:20210502223021j:plain
MEM-768を増設していない状態

 MEM-768を接続していない状態のMSXturboR FS-A1GTにて、RAMディスクを作ってみました。
 344KバイトのRAMディスクが作られました。
 メインRAMの容量(512Kバイト)との差は、

  • メインRAMとして64Kバイト
  • MSX-DOS2用として32Kバイト
  • 内蔵ROM複写用として64Kバイト

が別途確保されるからです。

f:id:matsun-ri:20210502223327j:plain
MEM-768を増設後の状態

 MEM-768を接続した状態で、RAMディスクを作ってみました。
 約768Kバイト増え、1102KバイトのRAMディスクが作られました。

増設によるコンパイル速度の変化


 せっかく作ったRAMディスクなので、フロッピードライブとMEM-768を使ったRAMディスクとで、MSX-Cのコンパイル速度を比較してみます。

f:id:matsun-ri:20210502223540j:plain
コンパイルを実行するコマンドライン

 MSX-Cのコンパイルに必要な、コンパイラやヘッダファイル等をRAMディスクに置き、コンパイルを行います。

f:id:matsun-ri:20210502223639j:plain
コンパイル

 一生懸命、コンパイルと最適化を行なっています。

f:id:matsun-ri:20210502223713j:plain
コンパイルの実行結果

 PM8:29:16にコンパイルを始め、PM8:30:46に終わりました。
 およそ90秒です。

 では、同じコンパイルを、フロッピードライブで行います。

f:id:matsun-ri:20210502223818j:plain
RAMディスクの破壊

 まず、RAMディスクを壊します。

f:id:matsun-ri:20210502223850j:plain
コンパイルの実行結果

 PM8:40:20にコンパイルを始め、PM8:43:14に終わりました。
 およそ174秒かかりました。

 単純計算で、RAMディスクの方が約2倍速いことになります。

 これを『RAMディスクの速度はフロッピーディスクの2倍』と解釈してしまうと、かなりがっかりな結果となってしまいます。
 コンパイルの高速化には、ディスクアクセスの速度だけでなくCPU速度も大きく影響します。もっとディスクアクセスの多い用途なら、RAMディスクによる高速化の恩恵はさらに大きくなると思われます。
 今回の結果は、ベンチマークのひとつとして『RAMディスクを使えばコンパイルが半分の時間で済む』と言えるでしょう。

雑誌媒体による評価

f:id:matsun-ri:20210502224236j:plain
MSX・FANによる比較記事(MSX・FAN 1991年6月号 p.23より)

 MEM-768と、SASI形式のHDDが接続できるMSX HDD Interfaceは同じ価格なので、当時高かったHDDを別途購入できる資力がある人はHDD Interfaceを、ない人はMEM-768を選んだとか、選ばなかったとか。

768Kという容量の意味

 カートリッジを分解すると、基板上にあと256Kバイト増設できるパターンが空いていて、自前でICチップを積むことで、1024キロバイトにできるようです。
 『ICの値段なんてそんなに高くないので、どうせなら最初からMEM-1024として発売してくれればよかったのに』と思いますが、それなりの事情があったようです。

f:id:matsun-ri:20210502224739j:plain
MSXマガジン 1991年7月号 p.118より

 当時のチップだと、もし1024K分のチップを積むと、使用電力がMSXのカートリッジの規格を満たさなくなってしまうようです。

 そこで、256KバイトのマッパーRAMを内蔵したμ・PACKを、MEM-768と同時に使用してみます。

f:id:matsun-ri:20210503160529j:plain
μ・PACK


f:id:matsun-ri:20210503160547j:plain
μ・PACKとMEM-768の同時使用


f:id:matsun-ri:20210503160658j:plain
μ・PACKとMEM-768を追加したA1GTのメインメモリ

 その結果、メインメモリは1536Kバイトとなりました。

f:id:matsun-ri:20210503161604j:plain
メインメモリ1536Kバイト時におけるRAMディスク容量

 この際のRAMディスク容量は1355Kバイトにも及び、フロッピーディスク2枚分の容量が見えてきます。
 もしMEM-768がMEM-1024だったら、こうなっていたはずです。

 2019年現在、MSX用の増設RAMは16メガバイトのものが、Amazonで手に入ります。

MEM-768の用途

f:id:matsun-ri:20210502224847j:plain
パッケージ外観裏面

 増設メモリは、一般的にはメインメモリ(RAMディスクやページファイル置き場としてでなく、OSやアプリケーションが直接に使用するためのメモリという意味で)を増やすために使われますが、このMEM-768は、RAMディスクとして使用することが半ば推奨されています。

f:id:matsun-ri:20210502224942j:plain
パッケージ外観裏面の記載

 768Kバイトという容量は、おおよそ2DDフロッピーの容量(有効容量730,112バイト)より少し多い程度の容量なので、RAMディスクを作成すれば、フロッピー1枚の中身をまるまる収めることができます。
 これにより、

が可能となります。
 もちろん、RAMなので電源を切ると消えてしまいます。

 当時の国民機・PC-9801では2フロッピードライブ構成が事実上の標準であり、ソフトウェアの多くも2ドライブ環境を前提として作られていました。
 ノートパソコンでは1ドライブしか内蔵されなかったため、2ドライブを要求するソフトを運用するために、メモリの一部を2番目のフロッピードライブとして扱う機能がついていました。

 MSXViewなどの肥大化するアプリケーションに対して、MSXの2DDフロッピードライブ1台という環境は、力不足であることは否めなかったでしょう。
 MEM-768は、同じくフロッピードライブを1台しか持たないPC-9801ノートと同じようなRAMディスクの運用を、MSXに提供することを想定して作られたのだと思います。

 外国には、メインRAMが128Kバイトを超えるMSXが出回っていたそうで、大容量RAMに対応したソフトも作られたとのことです。
 MEM-768はそういったソフトを動かす為にも使えるはずですが、ことにMSXturboRにおいては、CPUが高速化されたため、カートリッジスロットに存在するメモリ(つまりMEM-768)にアクセスしようとすると、(相対的に)かなり足を引っ張られてしまうことになりました。

f:id:matsun-ri:20210502225502j:plain
パッケージ外観

 パッケージに『日本語MSX-DOS2専用』と書かれたのは、メモリマッパー対応RAMであるという意味に隠してR800で巨大なメインRAMをガシガシ読み書きするようなファットなソフトを作ろうとするとがっかりするから、おとなしくRAMディスクとして使ってくださいね』と言っているのかもしれません。

Excelのご先祖様・MSX-PLAN

 MSXのソフトの中では顧みられることが少ない、実用ソフトをあえて紹介してみます。

f:id:matsun-ri:20210503162454j:plain
MSX-PLANのスプレッドシート

MSX-PLAN

  • ジャンル:ビジネス(表計算
  • メーカー:アスキー
  • メディア:ROM
  • 対応機種:MSX1(RAM16K以上)
  • 価格:9,800円(税抜)

目次

概要

 MSX-PLANは、MSX用の表計算ソフトです。
 より詳しく書くと、マイクロソフト製の表計算ソフトであるMultiplan(つまり、Excelのご先祖様)のMSX版です。

内容

f:id:matsun-ri:20210503162644j:plain
パッケージ外観

 なんと、RAM16Kで動きます。

f:id:matsun-ri:20210503162841j:plain
MSX-PLAN起動コマンド(画面は1chipMSXのものです)


 媒体はROMなのですが、MSX本体に差して本体の電源を入れても起動しません。

f:id:matsun-ri:20210503162930j:plain
MSX-PLAN起動中の画面

 BASICにて call msxplan と入力すると、起動画面が表示されます。

f:id:matsun-ri:20210503163033j:plain
MSX-PLAN起動直後

 起動が完了すると、スプレッドシートが表示されます。

f:id:matsun-ri:20210503163153j:plain
関数一覧(パッケージ裏面より)

 説明書が残っていないのですが、パッケージ裏に操作と関数一覧が載っています。
 事務屋御用達のLOOKUPなど、馴染みの深い関数もあります。

f:id:matsun-ri:20210503162454j:plain
WIDTH 80モード

 適当に使ってみました。
 MSX1にも対応していながら、設定で画面幅をWIDTH 80にすることができます。
 これくらい関数だらけにすると、入力してから1秒程度待たされます。
 設定で再計算を禁止すれば、わりと速く動きます。

 セルの指定方法は、Excelで馴染みの深いA1形式ではなく、伝統的なR1C1形式です。例えば、2行目の3列目を指定するにはR2C3、同じ列でひとつ上の行を指定するにはR[-1]Cと書きます。

f:id:matsun-ri:20210503163406j:plain
Excel 2013の設定画面


 R1C1形式は、なんと今のExcelでもサポートされています。
(画面はExcel 2013のものです)

パッケージ写真

f:id:matsun-ri:20210503163549j:plain
パッケージ外観表面
f:id:matsun-ri:20210503163622j:plain
パッケージ外観裏面


 パッケージ写真です。

 「コンピュータ計算の学習やマルチプランの入門用としても最適」という記述が「MSX-PLANは将来Multiplanを利用するための踏み台でしかない=MSX-PLANはMultiplanのサブセットである」と解釈できそうなのですが、実際のところどうなのでしょうか。

他機種版MultiplanとMSX-DOS

 Multiplanは、当時のメジャーな機種にはあらかた移植されていたようです(wikipedia:Microsoft Multiplan)が、この中には我々MSXユーザーが見逃せない事実があります。

 それは、一部機種のMultiplanには、MSX-DOSも一緒に移植され、同梱されていたという事実です。

f:id:matsun-ri:20210503164804j:plain
Oh! MZ 1986年8月号より

 MSX-DOSMSXだけのものではない。3月号で紹介されたとおりX1turbo用、さらにはMZ-2500用Multiplanのシステムの正体もまさにこのMSX-DOSなのだ。つまり、Multiplanを8ビットに移植する際、システムそのものを移植してしまった方が都合がよかったのである。


日本ソフトバンク『Oh! MZ』1986年8月号より

 この記事に先立つ『Oh! MZ』1986年3月号では、MSX-DOSについて9ページもの特集が組まれていました。

 マイクロソフトは、その草創期から、続々と発売される新機種に対して自社のアプリケーションを移植する作業を負担に感じていました。
 そこで、まずMSX-DOS用のMultiplanを作り、Z80搭載機種――具体的にはX1, MZ-2500, PC-8801への移植の際には、極力MSX-DOSの各機種向けへのカスタマイズで済ませることで、移植のコストを低減していたようです。

 他のZ80マシンのMultiplanには、その機種向けに移植されたMSX-DOSが同梱されていたというのに、MSX-DOSの総本家にはMSX-DOSで動作するMultiplanがなかった……というのはちょっとさみしい気がします。

(追記)MSX-PLANとMultiplanの関係について

 初出時、パッケージ裏面の記述等からMSX-PLANをMultiplanのサブセットと位置付けていましたが、以下のとおり確証が得られないため、サブセットであるとの記述を削除しました。

  • MSX-PLANがMultiplanの機能を満たしていないかどうかが不明
  • MSX-PLAN」という名称がMultiplanのサブセットであることを示しているとはいえない。単に当時のアスキーの製品群に名称を合わせただけかもしれない。
  • MSX-DOS版MultiplanをMSX向けにチューンナップした(MSX-DOS上で動くことによるオーバーヘッドを取り除いた)結果、MSX-DOS版より高速かつMSX-DOSを必要としないROMカートリッジ版が完成してしまった…のかもしれない。