DumpListEditorぴゅう太暫定対応版

↓ダウンロードは各バージョンをクリック!
ver50pre25:なるとさんの日本語G-BASICシミュレータ用のデータ出力機能追加!!!
ver50pre34日本語G-BASICシミュレータ for WindowspiroPAINT_9918からのデータ入力機能追加!!!
ver50pre35:[MMLぴゅう太へ]MML変換ボタン付けてみた
ver50pre41:ePyutaステートセーブファイル書出し機能追加
ver50pre45:ePyutaステートセーブファイル読込み機能追加(圧縮形式にも対応)
ver50pre48:ループ管理テーブルを作っていなかったため実機で編集できないバグを修正
ver50(正式版)正式版です(こちらは、iniファイルの設定でぴゅう太起動にしてあります)

(おまけ)
ePyuTa改造版(プログラムの丸ごとPaste対応&Windowsキー配置対応)(New!!)



画像借用:日本語G-BASICシミュレータ for Windows様、piroPAINT_9918様、さんすいくん、アストラルメイズ様、TOMY ぴゅう太様

注意!!!!
日本語G-BASICシミュレータfor Windowsはとっても良くできていますが、エミュレータではありません。
ぴゅう太実機とは動作が異なることもあります。あくまで、データが共有できておもしれーって感じで楽しみましょう。
もちろん、シミュレータ作者様への感謝、驚嘆、平伏のお言葉は大歓迎です。
データ変換に関する責任はbugfire2009にあります。DumpListEditorから出力されたデータを使った場合の動作不具合に関するお問い合わせはすべてbugfire2009までお願いします。
原因の解析、DumpListEditorの修正、使い方のコツの伝授など私が趣味で行っている活動の範囲内ではありますが誠実に対応させていただきます。

現在できること

なるとさんが図入りでとってもわかりやすい紹介記事を書いてくれました(T_T)。まずは、こちらをご覧下さい

0.最初にモデルが「PYUTA!」になっていることをご確認下さい

@.カセットテープの音wavファイルからデータ抽出
  wavファイルを上部パネルの部分にDropするとBINファイルが出てきます。
  ファイル名部分が化けている時には、同期に失敗しています。個別対応しますのでご連絡下さい。

A.BINファイルから日本語G-BASICシミュレータ用ファイル(.bas, .grp, .anm)を作成
  「選択ファイルのみ書出し」にチェックを入れ、BINファイルを選択してから[一括書出し]して下さい。
  書き出したファイルは、日本語G-BASICシミュレータの「一括ロード」ボタンで読み込んで下さい。
  読み込み後、必要に応じて、グラフィック画面のセル有効ビットの設定と背景画面の設定をお願いします。

B.日本語G-BASICシミュレータファイル(.bas, .grp, .anm)やpiroPAINT_9918のExportファイル(.gen, .nam, .col)から
  ぴゅう太用テープイメージファイルを作成
  「一括読込みボタン」を押して各ファイルを選択して下さい。それぞれ、どれか1つのファイルを選ぶと3つとも一括ロードされます。
  ぴゅう太用テープイメージファイル(.BIN)ができますので、6.のwavファイル作成などに進んで下さい。
  シミュレータ側でグラフィック画面のセル有効ビットの設定と背景画面の設定をしてから一括セーブしておくと、
  実機での動作確率が上がると思います(DLEでは有効ビット設定の色がビット1になるようにBINファイルを作成します)。

C.BINファイルの中からBASICプログラムを抽出して画面に表示
  変換したBINファイルを選択してから[BASIC入力に送る]ボタンを押すと、BASICプログラムが表示されます。
  そのまま自由にエディトして下さい。
  全角文字で入れた場合には、[コード補正]ボタンを押すと、半角に変換されます。

D.BASICプログラムからぴゅう太用テープイメージファイルを作成
  BASIC表示画面で、[ファイル整理画面にPaste]ボタンを押して下さい。
  上記2でBINファイルから作成された場合には、グラフィックデータ部分はその時のデータをそのまま利用します。
  いきなり作成された場合や、[説明文再表示]で初期サンプルに変えた時には、グラフィックデータ部分はデフォルト値で出力されます。

E.BINファイルからwavファイルを作成
  「選択ファイルのみ書出し」にチェックを入れ、BINファイルを選択してから[wav書出し]して下さい。
  ぴゅう太でロード時のなまえは、「設定」「ぴゅうた設定」の「なまえ4文字:」で変更することが可能です。
  pyutaパネルを使うと、位相の反転やデータスタート時の無音間隔を設定することが可能です。
  wav出力パネルの音を聞くにチェックを入れると、[wav出力]ボタンが[PLAY]ボタンに変わります。押すと音が再生されます。

F.BINファイルからpyuta.sta0〜pyuta.sta9ファイル(ePyutaステートセーブファイル)を作成
  「選択ファイルのみ書出し」にチェックを入れ、BINファイルを選択してから[sta書出し]して下さい。

G.pyuta.sta0〜pyuta.sta9ファイル(ePyutaステートセーブファイル)からぴゅう太用テープイメージファイルを作成(New!!)
  「一括読込みボタン」を押してePyutaステートセーブファイルを選択して下さい。
  コマンド待ち状態でセーブされたステートセーブファイルのみ有効です。
  データのみ抽出してファイル化しているだけですので状態が再現されるわけではありません。

(デバッグ機能1)
  BINファイルを選択して、[選択ファイルを再解析]ボタンを押すと、3つのファイルに分解されます(.bas, .grp, .anm)
  同時に、グラフィック画面とアニメ画像も表示されます。
  この再に、「ぴゅう太設定」の「描画実験用設定」でビットの状態などを確認することが可能です。
  [作業Undo]ボタンを押せば、元の表示に戻ります。

(デバッグ機能2)
  BINファイルから変換した後にBASIC入力画面で、「デバッグ用」「DebugMode」をチェックした状態で[チェック!]ボタンを押すと、
  元のBINファイルに入っていたデータと再作成したデータを比較します。
  メイン画面をスクロールしていって、一番下に「OK」と出たら、逆変換→変換でデータが一致したことを示しています。
  「NG」と出たらごめんなさい。対応漏れです。メールでもDMでもご連絡いただけると助かります。

(デバッグ機能3)
  4.でBASICプログラムを表示する際に、「デバッグ用」「DebugMode」をチェックしておくと、
  見えない行番号や、行アドレスなどを表示することができます。

(デバッグ機能4)
  6.でwavファイルを出力する際に、「ぴゅう太設定」「ファイルを組み合わせて書込み」にチェックしておくと、
  画面上に貼りつけたgrp, bas, anmで上書きすることができます。BINファイルを貼りつけることでデフォルト状態も全部上書きできます。

(便利機能1)
  2.シミュレータ用ファイルを出力する際に、「ぴゅう太設定」「セル有効ビットを2:黒〜Y:濃青に」にチェックしておくと、
  シミュレータ側で一括ロードした時点で透明以外のセル有効ビットが有効になった状態になります。
  一部のゲーム(アストラルメイズ、ニピュラー)に関しては、この設定で書き出しておくと一括ロード後すぐにスタートできて便利です。

(隠し機能2)
  「ぴゅう太設定」の「変数表破壊(実験用)」にチェックしてから、BINファイルを作成すると、変数表を作らなくなります。
  その分、BASICプログラムを36ステップ(18行相当)分多い入れることが可能です。
  動作未確認。何が起こるかわかりません。完全自己責任でお願いします。少なくともリスト表示はめちゃめちゃになります。

日本語G-BASICシミュレータのセル有効ビットなどの設定情報(追加情報、訂正情報お待ちしております)

ゲーム名 開発元 セル有効ビット 備考 情報提供
アストラルメイズ サークル ぴゅう太買えや 2〜Yを有効にする こんな感じの動きです。スピードも快適 bugfire2009
GRAPYUS
(PK-005)
サークル ぴゅう太買えや 変更しなくて良い @retrogamer128
富士山と新幹線 TOMY 変更しなくて良い 地色(背景色)はR:水 @retrogamer128
スロットマシン TOMY 変更しなくて良い 地色(背景色)はY:青 @retrogamer128
ザナぴゅう
(PK-001)
サークル ぴゅう太買えや 変更しなくて良い @retrogamer128
ニピュラー
(PK-009)
サークル ぴゅう太買えや 2〜Yを有効にする プレイ動画 bugfire2009
MAPPYU @大杉ぴゅう太様  2〜Yを有効にする 地色(背景色)は1:黒
日本語G-BASICシミュレータのページからmappyu.zipの最新版をダウンロード
アイテム取得の判定がおかしいときは、コントローラーのSL、SRを正しく設定する
動作速度は「ウエイト数」で調整可
シミュレーターでは、カラフルでかわいいマッピュー(主人公)でプレイできます!
@retrogamer128
サーチアンドデストロイ
〜地獄の風船爆弾〜
@大杉ぴゅう太様  2,9を有効にする 地色(背景色)は1:黒
日本語G-BASICシミュレータのページからhusenbakudan.zipの最新版をダウンロード
「爆発の判定、爆風の位置が正常でない」ときはHUU.BAS、HUU.GRP、HUU.ANMの使用を推奨
@retrogamer128

下記のものはシミュレータ用のファイル(BAS、ANM、GRP)をDLEで一括読込み→WAVファイル書出しすることで、エミュレーター、実機でも遊ぶことができました。
  
ゲーム名 開発元 セル有効ビット 備考 情報提供
ぴゅう太テトリス
20190401版
@hex125(293)様  2〜Yを有効にする地色(背景色)は1:黒
日本語G-BASICシミュレータのページからpyuta_tetris_20190401.zipの最新版をダウンロード
DLEでWAV化するときは「ぴゅう太設定」のタグの「なまえ4文字」のボックスで"TET"などファイル名を設定する
@retrogamer128
MAPPYU @大杉ぴゅう太様  2〜Yを有効にする 地色(背景色)は1:黒
日本語G-BASICシミュレータのページからmappyu.zipの最新版をダウンロード
G-BASICリスト内のコメントに従ってリストを一部変更してからDLEに読み込む
DLEでWAV化するときは「ぴゅう太設定」のタグの「なまえ4文字」のボックスで"MAP"などファイル名を設定する
実機、エミュレーターでは、容量制限により、マッピュー(主人公)は残念ながら単色です
@retrogamer128
サーチアンドデストロイ
〜地獄の風船爆弾〜
@大杉ぴゅう太様  2,9を有効にする 地色(背景色)は1:黒
日本語G-BASICシミュレータのページからhusenbakudan.zipの最新版をダウンロード
HUU.BAS、HUU.GRP、HUU.ANMの使用を推奨(husenbakudan.*はWAVに変換できません)
DLEでWAV化するときは「ぴゅう太設定」のタグの「なまえ4文字」のボックスで"HUU"などファイル名を設定する
@retrogamer128

ePyuta改造版

takedaさんのePyuTaを無理やり改造してみました。
 ・改造点1:メニュー「Control」「Paste」でプログラムを丸ごとPasteできるようになります。
       英数切替を自動で行います。まっさらな状態からプログラムを丸ごと入力するることでエディタ上の不整合が一層されると思われます。
 ・改造点2:「ヘ」「ヲ」「=」「゜」「゛」のwindowsキー配置での入力。
       メニュー「Host」「Use DirectInput」のチェックをはずして一度pyuta.exeを再起動してから有効になります。
       (制限事項)「゜」「゛」を連打しているとヒラガナが入力される時があります。ご了承下さい。

バイナリソースコードおよびプロジェクトファイル(GPLv2ライセンスでの公開となります)

謝辞:武田様、ePyuTaの作成、および、ePyuta改造版の公開許可ありがとうございました。

情報tweetまとめ

11/20 周波数測定
11/22 フォーマット資料
11/27 PC-8001との比較表
12/2 ぴゅう太用語?

ぴゅう太色情報

色名 透明 黒  灰色 白  薄黄 黄  薄緑 緑  濃緑 薄赤 赤  濃赤 紫  薄青 青  濃青
ぴゅう太並び順 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
VDP色番号 0 1 14 15 11 10 3 2 12 9 8 6 13 7 5 4

色名 透明 黒  緑  薄緑 濃青 青  濃赤 薄青 赤  薄赤 黄  薄黄 濃緑 紫  灰色 白 
VDP色番号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
ぴゅう太並び順 0 1 7 6 15 14 11 13 10 9 5 4 8 12 2 3
ぴゅう太色パレット作成:ぴろやんさん(@piroyan

波形解析アルゴリズム

1と0のそれぞれ安定した中心部のみを使用してデコード(位相&フィルターは自動調整)
波形が変形しやすくエラーになりやすい、スタートのL部分(ドリフトしてるし、、、)を完全に無視していますw

波形情報協力:akutsu@FC3S.jpさん(@akutsu_fc3s)(ぴゅう太波形図

G-BASIC解析結果


セーブされたテープの中身(VRAMの丸ごと保存)

アドレス 内容 備考
0000-17FF キャラクターパターンジェネレータ 先頭5バイトは破壊される(ファイル名4文字+01H)。3FA8に修復用データ
1800-187F スプライトパターン
196E 地色(背景色)の保存エリア テープロード後に地色が再設定される
1C00-1EFF パターン名称テーブル
1F00-1F0F スプライトアトリビュート
1FF0-1FFF BASICサイズ、ループ表サイズ、変数表サイズ 最大値と使用量の組で4バイトずつ
2000-37FF カラーテーブル
3800-3E3F BASICプログラム(1600Byte) 8バイト×200ブロック分。実機だと入力できるのは199ブロックまで。
3E40-3F5F 変数名テーブル(288Byte) 6バイト(先頭4バイトが変数名)×48組分、実際に使えるのは47個まで。
3F60-3F9B ループ対応テーブル(60Byte) 6バイト×10組分、実際には10個目のマワレでパンクするので使えるのは9個まで
3FA8-3FAC 先頭5バイト(左上のゴミ表示)の修復用データ テープロード後にこのデータで修復される。テープセーブ中はファイル名が入っているため
3FF8 アニメ1のy座標修復用データ テープロード後に再設定される。テープセーブ中はスプライト非表示にされているため
(参考文献:テクハンwiki化計画様Enriさんのぴゅう太情報VRAMについて、やさしく説明します!

コマンド実行時の画像保存場所(下2行分だけをVRAMの隙間に保存します)

アドレス 内容 備考
1880-1A7F キャラクターパターンジェネレータの下2行分が保存されている 1600-17FFの情報
1A80-1BFF
1F12-1F91
カラーテーブルの下2行分が保存されている 3600-377Fの情報
3FEB-3FF2 スプライトパターンの先頭8バイトが保存されている 1800-1807の情報
3FF3-3FF7 スプライトアトリビュートの先頭5バイトが保存されている 1F00-1F04の情報
解析用データ協力retrogamer128さん(@retrogamer128

ePyutaステートセーブデータ上の位置

ファイル上の位置(gunzip後) 内容 備考
1F77 VRAMデータの始まり VRAM(0000)
5777 BASICプログラムがこのあたり VRAM(3800)
5F7E 地色が保存されている場所 VDPのR#7
解析用データ協力retrogamer128さん(@retrogamer128

開発の歴史

11/18 アストラルメイズ入手。ぴゅう太音量問題参戦
11/18 akutsu@FC3S.jpさんの波形フォーマット
11/19 retrogamer128さんの方針演説
11/20 DLEで作成したwav波形を実機で読込み成功!
11/21 G-BASICのリストと変数リストが見れるようになった
11/21 ちまちまさんの実機ロード方法まとめ
11/24 retrogamer128さんの音量制御フロー
11/27 BASICからBINファイルへの変換可能に
11/27 ぎゃるきゃぶ研究
11/28 簡易画像表示機能追加
12/3 G-BASICシミュレータでアストラルメイズが動いた!
12/4 地色(背景色)の隠し場所がわかった!
12/7 piroPAINTからテープイメージへ変換可能に
12/8 シミュレータ上のゲームを実機に持っていって動作成功
12/19 ePyuta用ステートセーブファイル書出し
12/25 ePyuta用ステートセーブファイル読込み
1/1 ループ管理テーブルに対応(今までは実機で編集するとめちゃめちゃに)

謝辞、皆さんありがとうございます!

retrogamer128さん(@retrogamer128):夢を語る、対応の方向性指示、実データ動作確認、twitter報告
ぴゅう太買えやさん(@pyuta_kaeya):アストラルメイズ製作&他のシリーズもすごい!
BEEPさん:アストラルメイズ販売&発送
山水さん:ラジカセ製造(サンスイ ラジオカセット SANSUI レッド SCRB2RD
ちまちまさん(@TimaTimaTW):実機テープ再生実験
大杉ぴゅう太さん(@oosugisakura):「ぴゅう太」のしがない一ファン(本当はぴゅう太勢の神)&ぴゅう太読み物執筆
春風ねこ丸さん(@h_nekomaru):ぴゅう太tweetのお話相手
akutsu@FC3S.jpさん(@akutsu_fc3s):テープフォーマット解析&公開。実テープデコード確認
hex125(293)さん(@hex125):G-BASIC解析資料ご提供
ぴろやんさん(@piroyan):piroPAINT_9918作成&公開、ぴゅう太用パレット作成
なるとさん(@naruto2413):日本語G-BASICシミュレータ for Windows作成&公開
poipoiさん(@poipoi_007):ぴゅう太関連tweet、サンヨーのMR-33DR発見
きらびぃさん(@qwjqwj314):PC-8001ファンとしてのtweet
ごりぽんさん(@goripon_tw):MSX情報伝授
AKDさん(@akd1500):傍観勢(本当はMZ勢の神)
ハチマルさん(@nana_hachimaru):tweetのお話相手(80勢&セガ マークIII勢)
itoken(SND-L/KSND)【公式】OKさん(@SNDR_SNDL):つっこみ勢。TLをにぎやかにする係
88MULTiU@日本レトロゲーム誌研究会電子化部さん(@88MULTimkII):スペック表マニアさん
MGN3303さん(@Piston_Q):動作検証&オワリに関する情報提供
qajinMSXさん(@QajinMSX):アニメ座標208、209の情報提供
ポールさん(@paul_citrus):実機wavでの動作報告
たなむ(TMS9918)さん(@tanam1972):高度なぴゅう太改造情報公開
motekin☆UP DATEさん(@motekin):ビット情報解析報告
紅 皐月さん(@may_crimson):ぴゅう太情報展開
TINY野郎さん(@tiny_yarou):ぴゅう太用MMLコンバーター作成&公開
naoさん(@nyaonyao21):VRAMについて、やさしく説明します!記事公開
enriさん:ぴゅう太情報解析&公開
にゃごすさん:テクハンwiki化計画の管理運営公開
takedaさん:ぴゅう太エミュレータ公開および改造版の公開許可
いつも私のくだらないtweetにいいねしてくれる皆さん


ご要望、不具合報告などは、twitter(@bugfire01)のDMかメール(bugfire2009@yahoo.co.jp)までご連絡下さい。