タイニーあぴミクさんにせまられたかった。 for PC-6001

http://www.ceres.dti.ne.jp/tsutsui/p6/tiny_apimiku/tiny_apimiku.zip

これはなに?

ニコニコ動画にアップされていたマシンガンP の あぴミクさんつま先立ち動画 のBGMをOSC京都のデモ用に耳コピしていて、ふと
「MMDミクさんを PC-6001で表示したらどんな感じになるんだろ?」
と試してみたら意外とそれっぽかったので、ついこんなものを作ってしまいました。

ニコ動のデモ動画では PC-6001(32K) 用に作成したバイナリを動かしていましたが、 このアーカイブに含まれるバイナリは16KB対応版です。

内容物

実機デモ動画

実機デモ動画は以下のニコ動にアップしてあります。

エミュでの動かし方

  1. テープロード速度を変更可能なエミュレータ (PC6001VX等) の場合は、 速度を 900bps 相当 (※1) にしてください
  2. 機種設定および起動時の MODE (機種選択) は PC-6001(16K) または PC-6001(32K) を選択
  3. How Many Page? は 2 を入力
  4. エミュレータのテープファイルとして tiny_apimiku16k-bas.P6 を選択 (※2)
  5. "CLOAD" で BASIC プログラムロード
  6. ロードが終わったら次のテープファイルとして
    tiny_apimiku16k-bin.P6 (テープロード速度変更可能なエミュレータの場合) または
    tiny_apimiku16k-bin-emu.P6 (テープロード速度変更不可のエミュレータの場合) を選択
  7. "RUN" で BASIC プログラムを実行 →機械語パートのロード開始
  8. デモスタート! (※3)

※1
このデモでは「テープをロードしながらPSGでBGMを演奏」を実現するために、
「テープセーブデータ中のストップビットを増やす」
という手法を使っています。
しかし、エミュレータ用の P6ファイルにはストップビット数に関する情報は記録されていないため、 本来のデータだけをロードすると待ち時間が足りずに表示がおかしくなってしまいます。
エミュレータではテープのロード速度自体を変更することでズレを回避することが可能です

「テープセーブデータ中のストップビットを増やす」の手法については Tiny野郎さんのブログ記事 「P6イース2オープニングの作り方(6)」 に解説があります。

※2
テープファイルの指定方法について、 PC6001VX の場合は以下のとおりです

※3


実機での動かし方 (いったんテープに録音)

  1. PCの音声出力端子(ヘッドホン端子等)とデータレコーダーの REC 端子を接続 (※4)
  2. 録音用カセットテープを入れてして適当に先頭の録音可能位置にセットして待機
  3. PC側でセーブデータ音 wav を再生すると同時にデータレコーダー側で録音を開始 (※5)
  4. テープが用意できたらテープが現物になる以外は「エミュでの動かし方」と同じです

※4
たいていの場合 PC側はステレオ、データレコーダー側はモノラルですが、 L側だけの接続でも問題ありません。

※5
PCのオーディオドライバやプレーヤーによってはデータレコーダーのピーガー音を ノイズと判断してミュートしてしまうものがあるようです。
その場合はマニュアルその他を確認してミュート等を無効に設定してください。
また、各種音響効果はロードに悪影響を及ぼすのですべて無効にしてください。


実機での動かし方 (wav直接ロード)

  1. PCの音声出力端子と本体に接続したデータレコーダーケーブルの再生端子を接続 (※6)
  2. 「エミュでの動かし方」の説明の "CLOAD" まで進めたら PC側で wav の再生を開始 (※7)
  3. CLOAD が終わって「カチッ」のリレー音がしたら PC側の wav 再生を一時停止
  4. "RUN" を実行して、再度「カチッ」のリレー音がしたら PC側での wav 再生を再開
  5. あとは「エミュでの動かし方」と同じです

※6
PC側のステレオ端子にデータレコーダーケーブルのモノラル端子を挿すとR側がGNDショート状態になります。
たいていのヘッドホン端子は地絡を考慮して保護抵抗が入っているので壊れることはないと思いますが 心配な方はステレオプラグ⇔モノラルジャック変換ケーブルを用意してください。
また、PC音声出力端子を使うと再生音モニタができないため、リレー音で開始終了を判断してください。

※7
再生音量については適宜調整してください。
うまくロードができない場合は、「いったんテープに録音」の※5 の注記にあるとおり PC側のドライバや再生ソフトの設定も確認する必要があります。


実装解説

どうやって作ったの? についてはブログ記事にまとめています。

謝辞

みなさんありがとうございました!

作者について