ポケコンプログラムをテープ録音ファイルから吸い出すツール & X68kのスピーカーからプログラムを出力するツール 作者 T.KAM (1997-10-16) 1. はじめに 2. 使い方 2-1. ポケコンプログラムをテープから吸い出す 2-2. 吸い出したプログラムをADPCMで出力する 3. ファイル構成 4. このツールを紹介するきっかけ 5. いいわけ 6. 使用上の注意 7. 最後に 1. はじめに カセットテープに記録されている プログラム電卓FX-602P(CASIO製)、 あるいはポケコンPC-1350(SHARP製)のプログラムの元データを吸い出すツールと X68000シリーズのADPCM音源を使い 吸い出した元データからテープに記録されている音を再生するツール を紹介します。 カセットテープに記録された情報は劣化し、 過去の貴重な情報などを失う可能あります。 しかし、このツールを用いて カセットテープに記録されている符号化された情報 (ピーガガガッピーといった音)から 元のデータ(01のビット列)を吸い出し、 そのデータをファイルに落とすことによって、 カセットテープよりも堅牢に過去の情報を保存できます。 要するに、このツールを使うと いつまでも安心して過去の遺産を楽しむことができるのです。 押し入れの中を整理していて、ふと 昔のポケコンのゲームが格納されたカセットテープが出てきたとしても いざゲームを楽しもうにも テープが劣化してゲームを読み込むことができなかったら 悲しいと思いませんか? 思い立ったが吉日。 いますぐ押し入れの中から昔のカセットテープを掘り出して、 さっそくデータを吸い出してみましょう!!! 今ならまだ間に合う!? カセットの記録音を保存するだけであれば、 記録音のまま保存する方法も考えられます。 しかしこの場合、保存形式はADPCMの音データなので 多くのディスク容量が必要になります。 ところが、このツールでは元データを吸い出して保存するので、 ディスク容量の大幅な節約になります (数100KBytesのデータが数100Bytesになり、ファイルサイズは約0.3%に縮小)。 ただし、昨今の数GBytes級の大容量ディスクではあまり意味がないかもしれませんが。 まぁ、「プロ電やポケコンって何?」という多くの人には、 このパッケージは無用です。 何せ、プログラムの記録媒体にカセットテープを使っていた時代の話ですから (うっ、作者の年がばれる...)。 2. 使い方 2-1. ポケコンプログラムをテープから吸い出す (1) プログラムが記録されたカセットテープを用意します。 (2) カセットデッキの出力をX68000のマイク入力へつなぎます。 (3) X68000の音量つまみが1/4程度でもカセットの出力が聴こえるように カセットデッキ側のボリュームを調整します。 (4) カセットを再生し、 適当なツールを用いてカセットの記録音をADPCMファイルへ録音します。 (5) 録音したADPCMファイルから 吸い出しツールで元データを抽出して保存します。 (実行例) > apcmrec.x -f2 foo -> テープの記音を foo に ADPCM で録音 > rcv602.x foo ー> foo.602 に元データを保存 (注意1) 入力レベルの調整はいちおうの目安 (デッキ側ではかなり大きめの音量になるはず...定性的な表現で申し訳ありません) を示しましたが、個々の環境で状況は変わると思います。 うまく元データを抽出できない場合は、 何度かデッキのボリュームを変えて録音と元データの抽出を試みてください。 (注意2) apcmrec.x はArimac氏が作成したツールです(FSHARP LIB3 #66)。 2-2. 吸い出したプログラムをADPCMで出力する (1) ポケコンのカセットインターフェースの入力を X68000のPHONES端子へつなぎます。 (2) X68000の音量つまみを調節し、 カセットから抽出した元データのファイルを指定して プログラムの記録音を再生します。 (実行例) > snd602.x foo -> foo.602に保存されている元データから プログラムの記録音を再生 (注意1) 作者の環境では音量つまみは 1/2程度で再生するとプログラムの読み込みに成功します。 3. ファイル構成 このパッケージには次のファイルが含まれています。 (ツール類) rcv135.x PC1350用プログラムの記録音から元データを抽出 rcv602.x FX602P用プログラムの記録音から元データを抽出 snd135.x PC1350用の元データからプログラムの記録音を再生 snd602.x FX602P用の元データからプログラムの記録音を再生 dmp135.x PC1350用の元データからプログラムの記録音のADPCMファイルを作成 dmp602.x FX602P用の元データからプログラムの記録音のADPCMファイルを作成 (ソース類) rcv.m rcv???.x 用の Makefile rcv.c 入力用プログラムのメインソース dump.m dmp???.x 用の Makefile send.m snd???.x 用の Makefile send.c 出力プラグラムのメインソース sendsub.s ADPCM取り扱い用サブルーチン wav???.c 出力用の基本波形を定義 config.h ポケコンごとのコンフィグを定義 parity.h パリティ用の波形データ (ドキュメント類) readme.txt このドキュメント 602P.txt FX602Pのプログラムのテープ上での記録形式の説明 1350.txt PC1350のプログラムのテープ上での記録形式の説明 4. このツールを紹介したきっかけ X68000の引退記念(?)に、 このツールを紹介することにしました。 たまたま所有していた FX-602PとPC-1350のカセットに記録していたプログラムを しっかりと保管することを目的に、 このツールを作成しました。 ツール自体は3年ほど前に作成していたのですが、 作者が所有したFX602PとPC1350のプログラムを吸い出した後は そのまま放置していました。 そうこうしているうちに、 とうとう我がX68000を処分する時期が来ました。 部屋が狭くなったので昔のものを処分することにしたのです。 わがX68もボンバーマン専用マシンとして活躍していたのですが、 ここ1年近くは電源すら入れることもなくなっていました。 しかし、皮肉なものです。 FX-602P、PC-1350の資産を大切に保管するために作成した X68000用の本ツールですが、 そのX68000自体を処分することになろうとは。 今は、X68000のデータをIBM-PC互換機へ引っ越しさせる作業に大忙しです。 ハードの世代交代の度にこんなことが繰り返されていくのでしょうか? 5. いいわけ ツール自体の作りはお粗末です。 プログラムの記録音から元データを抽出するところなんかは、 フーリエ変換などを用いれば簡単かつ堅牢に処理できるのでしょうが、 ふとした思いつきで作り始めたのと このような知識が不足していることなどから力技で記録音を解析しています。 したがって、元データの抽出の信頼性は高いとは言い切れませんので、 うまく元データを取りこめないかもしれません。 6. 使用上の注意 本ツールの著作権を作者は主張しますが、再配布、改変は自由とします。 また、本ツールの使用によって生じたいかなる損害の責任は負いかねますので、 ご了承ください。 なお、本ツールは X68000 ACE のみで動作が確認されています。 ほかの機種での動作は確認していませんので注意してください。 すでに述べたように、本ツールで プログラムをロードできるプログラム電卓、ポケットコンピュータは FX-602P(CASIO)、 PC-1350(SHARP製) の2機種のみです。他の機種はサポートしていません。 7. 最後に このツールの ADPCM の取扱いには Arimac氏の apcmplay.x / apcmrec.x (前述) のソースを 参考にさせていただきました。 Arimac氏に感謝します。 以上、個人的な感情でツールを紹介してしまいましたが、 何等かのかたちでみなさんのお役に立てれば幸いです。 このツールは、データの吸い出しと再生だけですが、 FX602Pなどのエミュレータを他のパワフルなPDAなどに 実装するのもおもしろいかもしれませんね。 ハードウェア自体は非力でも、そこそこ楽しめるゲームが多かったような気がします。 みなさんに期待!! 作者: T.KAM (NIFTY: JBG01447) (e-mail: ld8t-kmsk@asahi-net.or.jp)