「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

and more...

Lab.以外の情報を紹介しています。

MSX-BASICでプログラミング

MSXのプログラムをICレコーダーに保存する

2022-07-052022-07-05

MSX実機上で作成したプログラムをICレコーダーに保存する方法を紹介します。

注意

本記事は、MSX実機上で作成したプログラムをICレコーダーに保存する方法を紹介するものです。現存するMSXは、製造からすでに30年以上経過しており、経年劣化による事故を招く恐れがあります。変化や異常を感じた場合は、すぐに使用を中止してください。

MSX(初代MSX・MSX1)

MSX(初代MSX・MSX1)

1983年にマイクロソフトと当時のアスキーによって提唱されたパソコンの共通規格がMSXです。CPU・VDP(Video Display Processor)・PSG(Programmable Sound Generator)などが共通化され、さらにソフト(アプリ)を差し替えて使うためのカートリッジスロットを備えていました。

図1-1.東芝のMSXブランド「パソピアIQ」
図1-1.東芝のMSXブランド「パソピアIQ」

また、ROMにはMSX BASICというプログラミング言語(BASICインタープリター)が組み込まれ、スイッチを入れるとすぐにプログラムを作ることができたのも特徴のひとつです。

図1-2.MSX BASIC
図1-2.MSX BASIC

国内では、東芝・ソニー・ヤマハ・ナショナル・カシオなど主要なメーカーから販売され、低価格だったこと・家庭用テレビ(アナログ)のアンテナ端子に接続できたこと・ゲームがカートリッジで提供されていたことなどを理由に販売台数を伸ばしました。

初代MSX(後継規格と区別するためにMSX1と呼ぶこともある)の後、MSX2(1985年)・MSX2+(1988年)・MSXturboR(1990年)などの後継規格が発表され、一時代を作ったものの、1995年頃には下火になったとされています。ちょうどWindows95が登場した頃です。

MSXパーフェクトカタログ

著 者
前田 尋之
出版社
ジーウォーク
発売日
2020/5/28

MSX-BASICとカセットレコーダー

MSX-BASIC

MSXのROMには、あらかじめMSX BASICというプログラミング言語(BASICインタープリター)が組み込まれており、スイッチを入れるとすぐにプログラムを作ることができます。このMSX-BASICは、マイクロソフトの標準BASICバージョン4.5をベースにして、グラフィック機能・サウンド機能・スプライト機能などが追加されたものです。

当時のMSXユーザーには、まず、MSXの取扱説明書に載っていたサンプルプログラムを入力して遊んだ人も多かったはず。図2-1は、東芝のMSXブランド「パソピアIQ」の取扱説明書に掲載されていた「カードライブ」の実行画面です。赤い自機が、道路からはみ出さないように、カーソルキーを使って黒い車を避けながら、エンジン音を轟かせてひたすら走行する避けゲーです。

図2-1.カードライブ
図2-1.カードライブ

道路をグラフィック機能、車をスプライト機能、エンジン音をサウンド機能で再現しており、MSX-BASICの要所を抑えた秀逸なサンプルプログラムです。

プログラムとは、かくも儚く散るものなのか

このカードライブのプログラムは行数にして80行ほど、入力にかかる時間は30分程度、キーボードに不慣れなら1時間以上はかかったのではないでしょうか。時間をかけて入力して、エラーと戦いながら、プログラムの完成にこぎ着けたときは、喜びもひとしおです。

ところが、非情な現実が待ち受けています。実は、多くのMSXではプログラムを保存しておく記憶装置を備えていませんでした。つまり、スイッチを切るとプログラムが水の泡となってしまうのです。なんとも、楽しい時間はあっという間で、かくも儚く散っていくものなのか...そんな想いで、泣く泣くスイッチを切るものでした。これでは、プログラミングに対する意欲も高まりませんね。

カセットレコーダー

記憶装置を備えていないとはいえ、プログラムを保存できなかったわけではありません。代わりに、外部の記憶装置を接続するためのカセットレコーダーインターフェースがあります。このインターフェースに、別売りのパソコン用カセットレコーダー(データーレコーダー)を接続することで、プログラムをカセットテープへ保存できるようになります。これで安心ですね。

図2-2.カセットレコーダー(またはカセット)インターフェース
図2-2.カセットレコーダー(またはカセット)インターフェース
カセットテープ(コンパクトカセット)

カセットテープ(コンパクトカセット)は、テープ状のフィルムに磁性体を塗り、磁気の変化で情報を記録する媒体で、30分・60分などの長さでリールにまかれ、プラスティック製の筐体に納められたものです。主に音楽の記録に用いられました。

MSX本体とカセットレコーダーの接続には、専用のCMTケーブルを使用します。MSX本体側の8ピンDINコネクタを赤(音声出力)・白(音声入力)・黒(リモート)に変換して、それぞれカセットレコーダーのマイク端子・ヘッドフォン端子・リモート端子に接続します。

図2-3.CMTケーブル
図2-3.CMTケーブル

コマンド(CSAVE/CLOAD?/CLOAD)

カセットレコーダーを操作するために、3つのコマンド(CSAVE/CLOAD?/CLOAD)があります。それぞれのコマンドを詳しくみてみましょう。

プログラムをカセットテープへ保存するには「CSAVE」コマンドを使います。プログラム名は最大6文字です。7文字目以降は無視します。

  • CSAVE "<プログラム名>"

プログラムをカセットテープへ保存した後、正しく保存できていることを確認するには「CLOAD?」コマンドを使います。このコマンドは、メモリー中のプログラムと保存したプログラムを比較(ベリファイ)します。不一致があると「Verify error」となります。プログラム名を省略すると、最初に見つかったプログラムと比較します。一般的に、CSAVE直後に実施します。

  • CLOAD? ["<プログラム名>"]

カセットテープに保存されているプログラムを、メモリーに読み込むには「CLOAD」コマンドを使用します。プログラム名は最大6文字です。7文字目以降は無視します。また、プログラム名を省略した場合は、最初に見つかったプログラムを読み込みます。

  • CLOAD ["<プログラム名>"]

プログラムをICレコーダーへ保存する

現在、カセットテープの販売は続いているものの、パソコン用カセットレコーダー(データーレコーダー)の入手性は悪く、また、中古市場においても完動品は少なく、多くはジャンク扱いや動作未確認品となっています。カセットレコーダーは、経年劣化によりゴムベルトのゆるみやモーターの固着などの不具合が発生します。

本記事では、パソコン用カセットレコーダーの代わりに、ICレコーダーを用いてプログラムを保存する方法を紹介します。なお、以下の組み合わせで検証を行いました。

  • ICレコーダー(Panasonic RP-XS350)、MSX本体(National CF3000)
  • ICレコーダー(Panasonic RP-XS350)、MSX本体(東芝 パソピアIQ)

このICレコーダー(Panasonic RP-XS350、以後RP-XS350)は、録音形式として非圧縮のPCM(44.1kHz)、3つの圧縮率に対応したMP3(192kbps/64kbps/32kbps)を採用しています。

パナソニック ICレコーダー RR-XS370-W

前方正面の音を強調して録音する「センター強調クリアズーム録音」。パソコンとデータをかんたんにやり取りできるUSBダイレクト接続。長時間録音できる大容量の内蔵メモリー8GB。

MSXとICレコーダーの接続

MSXとICレコーダーの接続に必要なものは、ICレコーダーとステレオ-モノラル変換ケーブル(2本)、およびCMTケーブルです。

図3-1.ICレコーダー(Panasonic RP-XS350)
図3-1.ICレコーダー(Panasonic RP-XS350)
図3-2.ステレオ-モノラル変換ケーブル(2本)
図3-2.ステレオ-モノラル変換ケーブル(2本)

RP-XS350では、本体の右側にマイク/ライン端子、左側にインサイドホン端子(ヘッドフォン端子)があり、いずれもステレオです。一方、MSXの入出力(CMTケーブル)はモノラルです。本記事では、安全のため、変換ケーブルでステレオからモノラルに分岐して、明示的に片チャネルだけ使用します。使用するチャネルは左(赤)とします。

図3-3.ICレコーダー(Panasonic RP-XS350)とCMTケーブルの接続(1)
図3-3.ICレコーダー(Panasonic RP-XS350)とCMTケーブルの接続(2)

RP-XS350のマイク/ライン端子にCMTケーブルの赤(音声出力)、インサイドホン端子に白(音声入力)を接続します。CMTケーブルの他方を、MSX本体のカセットインターフェースに接続して、準備完了です。

図3-4.ICレコーダー(Panasonic RP-XS350)とCMTケーブルの接続(2)
図3-4.ICレコーダー(Panasonic RP-XS350)とCMTケーブルの接続(2)

ICレコーダーの設定

ICレコーダーの設定を行います。録音形式として非圧縮のPCM(44.1kHz)を選択します。再生ボリュームを最大にします。設定手順はICレコーダーの取扱説明書をご覧ください。

録音形式について

非圧縮のPCMに対して、MP3は再生時の音声が録音時とは異なる非可逆圧縮です。このため、保存したプログラムを読み込めなくなる場合があります。検証時は、MP3でも保存・読み込みが行えましたが、本記事ではPCMをおすすめします。

プログラムをICレコーダーへ保存する

プログラムをICレコーダーへ保存する手順は次の通りです。録音開始のタイミングを間違えると正しく保存されないので注意しましょう。

  1. 「csave "<プログラム名>"」と入力する。まだ「RETURN」キーは押さない。
  2. ICレコーダーの録音を開始する。
  3. 「RETURN」キーを押す。
  4. 「OK」が表示されるまで待つ。
  5. ICレコーダーの録音を停止する。

東芝のMSXブランド「パソピアIQ」の取扱説明書に掲載されていた「カードライブ」のプログラムを実際に保存します。「csave "car"」と入力します。ICレコーダーの録音を開始して「RETURN」キーを押します。

図3-5.プログラムをICレコーダーへ保存する(1)
図3-5.プログラムをICレコーダーへ保存する(1)

しばらくすると「OK」が表示されるので、ICレコーダーの録音を停止します。これで、保存の操作は完了です。

図3-6.プログラムをICレコーダーへ保存する(2)
図3-6.プログラムをICレコーダーへ保存する(2)

正しく保存されていることを確認する

プログラムが正しく保存されていることを確認する手順は次の通りです。保存時に「OK」が表示されても、必ずしも正しく保存されているとは限りません。必ず、この手順を行いましょう。

  1. 「cload?」と入力して、「RETURN」キーを押す。
  2. ICレコーダーの再生を開始する。
  3. プログラム名が表示されるので確認する。
  4. 「OK」が表示されるまで待つ。
  5. ICレコーダーの再生を停止する。ただし、ほとんどの機種が自動停止します。

では、実際に確認してみましょう。「cload?」と入力して「RETURN」キーを押下後、ICレコーダーの再生を開始します。

図3-7.正しく保存されていることを確認する(1)
図3-7.正しく保存されていることを確認する(1)

しばらくするとプログラム名が表示されます。そのまま「OK」が表示されるまで待ちます。ICレコーダーの再生が自動停止しない場合は、再生を停止します。これで、正しく保存されていることが確認できました。

図3-8.正しく保存されていることを確認する(2)
図3-8.正しく保存されていることを確認する(2)

プログラムを読み込む

プログラムをICレコーダーから読み込む手順は次の通りです。再生開始のタイミングを間違えると正しく読み込まれないので注意しましょう。

  1. 「cload」と入力して、「RETURN」キーを押す。
  2. ICレコーダーの再生を開始する。
  3. プログラム名が表示されるので確認する。
  4. 「OK」が表示されるまで待つ。
  5. ICレコーダーの再生を停止する。ただし、ほとんどの機種が自動停止します。

ここでは、一旦メモリー内のプログラムを消去します。「new」コマンドで消去して「list」コマンドでプログラムが表示されないことを確認します。では、プログラムをICレコーダーから読み込んでみましょう。「cload」と入力して「RETURN」キーを押下後、ICレコーダーの再生を開始します。

図3-9.プログラムを読み込む(1)
図3-9.プログラムを読み込む(1)

しばらくするとプログラム名が表示されます。そのまま「OK」が表示されるまで待ちます。ICレコーダーの再生が自動停止しない場合は、再生を停止します。これで、プログラムが読み込まれました。

図3-10.プログラムを読み込む(2)
図3-10.プログラムを読み込む(2)

読み込まれたことを「list」コマンドで確認します。

図3-11.プログラムを読み込む(3)
図3-11.プログラムを読み込む(3)

一連の操作を動画で確認してみましょう。

保存できないときは

「cload?」コマンドで、プログラム名が表示されない場合は、まず保存ができているかどうか確認します。ICレコーダーのインサイドホン端子(ヘッドフォン端子)に接続されているケーブルを抜いて、ICレコーダーを再生します。プログラムが保存されている場合は、ICレコーダーのスピーカーから「ピーガッ、ピーガガッ」という音が聞こえます。聞こえない場合は、ケーブルの配線を見直しましょう。

ICレコーダーのボリューム

ICレコーダーのボリュームを最大にしても「cload?」コマンドや「cload」コマンドでは正しく読み込めない場合があります。検証時には、「National CF3000」では問題ないのに「東芝 パソピアIQ」では読み込めない現象が発生しました。どうやら、機種ごとの特性か、個体差があるようです。そのような場合は、ICレコーダーの出力を増幅します。増幅には、トランスを使った電源不要の増幅装置が手軽でおすすめです。「ヘッドフォン出力・ライン入力間昇圧トランスキット」で詳しく紹介しています。

図4-1.ヘッドフォン出力・ライン入力間昇圧トランスキット
図4-1.ヘッドフォン出力・ライン入力間昇圧トランスキット

ヘッドフォン出力・ライン入力間昇圧トランスキットは次の順番で接続します。

  1. ICレコーダーのインサイドホン端子(ヘッドフォン端子)
  2. オーディオケーブル(3.5mmステレオミニプラグ) ※別途用意する
  3. ヘッドフォン出力・ライン入力間昇圧トランスキット
  4. ステレオ-モノラル変換ケーブル
  5. CMTケーブルの白

おすすめ

MSXパーフェクトカタログ

著 者
前田 尋之
出版社
ジーウォーク
発売日
2020/5/28

パナソニック ICレコーダー RR-XS370-W

前方正面の音を強調して録音する「センター強調クリアズーム録音」。パソコンとデータをかんたんにやり取りできるUSBダイレクト接続。長時間録音できる大容量の内蔵メモリー8GB。

この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動