tsutsuiの作業記録置き場

NetBSDとかPC-6001とかの作業記録のうち、Twitterの140字では収まらない内容や記事としてまとめるべき内容をとりあえず置いてみる予定

~ Tinyみずいろ ~ for PC-6001(32K)(BGM付き改造版)バイナリ

というわけで、昨年12月にオリジナル版作者の jot さんに公開の許可をいただいて Tinyみずいろのバイナリをアップロードしていたのですが、いまさらながら参照用にブログエントリを作りました。実機・エミュいずれでも実行可能です。

以下は READMEの写し:
http://www.ceres.dti.ne.jp/tsutsui/p6/tiny_mizuiro/README.html

~ Tinyみずいろ ~ for PC-6001(32K)

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

これはなに?

http://bn-x.tripod.com/02tinymizu/ で配布されている【Tinyみずいろ"Prologue" for PC-6001(32k)】店頭デモ版 をベースに、シンセサイザーLSI AY-3-8910相当による8オクタープ3重和音フルアレンジ(謎)の BGMを追加したものです。

内容物

  • tiny_mizuiro_prologue_PSG_01.P6 :
    エミュ用テープデータ P6 形式ファイル BASIC部分
  • tiny_mizuiro_prologue_PSG_02.P6 :
    エミュ用テープデータ P6 形式ファイル 機械語部分
  • tiny_mizuiro_prologue_PSG.wav :
    実機用テープセーブデータ音 wavファイル BASIC+機械語
  • README.md :
    このファイル

デモ動画

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

ロードまでを省略した PC6001VX on NetBSD/386 での実行画面動画もあります。

エミュでの動かし方

  1. 機種設定および起動時の MODE (機種選択) は PC-6001(32K)を選択
  2. How Many Page? は 2 を入力
  3. エミュレータのテープファイルとして tiny_mizuiro_prologue_PSG_01.P6 を選択 (※1)
  4. "CLOAD" で BASIC プログラムロード
  5. ロードが終わったら次のテープファイルとして tiny_mizuiro_prologue_PSG_02.P6 を選択
  6. "RUN" で BASIC プログラムを実行 →機械語パートのロード開始
  7. ロードが終わって "HIT ANY KEY" の表示が出たら適当なキーを押す
  8. デモスタート! (※2)

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

  • テープの P6ファイルをデフォルトの ~/.pc6001vx/tape 以下に置く
  • PC6001VX を起動 → マウス右クリックメニュー → 「TAPE」 → 「挿入」
  • 開いたファイル選択ダイアログで P6ファイルを選択して「Open」を押す

※2
画面とBGMのタイミングは初代PC-6001実機に合わせてあります。

  • mkIIや PC-6601では BGMのほうが速く進んでしまい、一周余計に BGMを待つタイミングになるようです
  • エミュレータによっては初代実機ROMを使っても微妙にタイミングがズレるようです
  • 秋川さんの互換BASICでは LINE文の BF塗りつぶしが純正BASICよりかなり速いため、結果としてメッセージパートが先行してしまい最後に BGM終了を長めに待つ形になります

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

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

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

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


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

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

※5
PC側のステレオ端子にデータレコーダーケーブルのモノラル端子を挿すとR側がGNDショート状態になります。
たいていのヘッドホン端子は地絡を考慮して保護抵抗が入っているので壊れることはないと思いますが心配な方はステレオプラグ⇔モノラルジャック変換ケーブルを用意してください。

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


実装解説

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

謝辞

  • JOTさん
    作り込まれた元ネタと謎掛け、それぞれ楽しませていただきました。また、BGM改造版の公開についても快諾していただきました。
  • TINY野郎さん
    TINY野郎さんのイース2 オープニング動画がこんなものを作ってしまったきっかけでした。また、なんでもピーガーのほか、PSGドライバ用MMLコンパイラについては作業中にこちらの要望を取り入れて更新版をリリースしていただきました。
  • エミュレータ・ツール作者のみなさん
    この時代にP6がこんなに楽しめるのも各開発者の方々のおかげです。

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

作者について