SNES/65c816 一覧

Snes9x 1.58自動SS保存機能追加版リリース

例によって「ダウンロード」ページにうpしてあります。

続きを読む


Snes9x SSのバージョンごとの互換性調査

Windows10上で自分の作った「Snes9x 1.51自動SS保存版」を使ってプレイしていると唐突にアプリケーションエラーで落ちることが頻繁にあり、Snes9x 1.58(通常版)でプレイすると問題ないので、おそらくWindows10上で正常動作しないものと思われます。まあ自動で直前数秒以内の状態が保存されているので、どんなゲームでも直前の状態に戻れるわけですが、流石にこの状態で「テストプレイにSnes9x 1.51自動SS保存版を使ってくれ」というのは無理があるので、どういう対処がいいのかと考えた結果到達したのが「もらったSSをいかなるバージョンでも1.51に変換できればいいのでは」という結論です。これならSnes9xを使う限りはプレイヤー側に対する負担はかなり減ります。

続きを読む


スポンサーリンク

DQ3 セーブデータのサイズ拡張

DQ3にAIを導入するならやってみたいのは「学習機能の実装」です。最近のドラクエのAIは「賢すぎる」というのがどうにもひっかかっていました。使用するメモリ量を抑える目的もあるのでしょうが、AIは自分のターンが回ってきたときにその場で行動を決定するのでいわゆる「後出しジャンケン」の上、初見のモンスターの情報もなぜかお見通しということもあり、正直かなり便利です。じゃあお前はどうするんだよという話になりますが、少なくともなにもしないうちから「相手の耐性・行動をすべて知っている状態」がその理由の一つである、ということで「対象のモンスターの耐性情報、行動情報を把握しているか」フラグを持つようにすれば多少はマシになるのではと思います。モンスターを倒したり、実際に呪文を使ってみて初めて情報にアクセスできる、とすればAIべったりお任せにもならないのではと思います。さすがに一人づつこの情報を持たせると領域がいくらあっても足りないのでパーティで共有するとして、1モンスターにつき、基本情報(HP、攻撃力、守備力、素早さなど)1B、行動情報1B、耐性情報2Bとすると、モンスター数256として、4B*256モンスター分*冒険の書3個分=3,072Bのセーブデータの領域が追加で必要になります。オリジナルのDQ3セーブデータサイズは8KB(=8,192B)で、そのうちヘッダ5Byte+セーブデータ本体2,719B*冒険の書3個分+フッタ5B=8,167B*1とほぼフルに使っています。まるで領域が足りないので手法としては

  1. セーブデータファイルのサイズはそのままにして既存領域を圧縮する
  2. セーブデータファイルのサイズを拡張する

のどちらかになります。既存領域は大きく分けて

  1. 進行フラグ、宝箱回収フラグ
  2. アイテム(袋の中身)情報
  3. キャラクター情報

で使用されているのですが、圧縮できそうなのはせいぜい袋の中身くらいでやったとしても128B程度しかサイズが浮きません(袋の中身をセーブのたびに毎回固定で並び替えればもう192B浮きますが結局焼け石に水です)。というわけで必然的にセーブデータファイルのサイズを拡張することになります。とりあえず拡張後のサイズは32KBとします。拡張した場合のデメリットは既存のデータとの互換性が問題になるわけですが、最悪互換性は切り捨てることで解決します。今までDQ3 K.Mixにおいて、バージョンアップに伴い極力古いバージョンのデータをそのまま使えるようにはしてきましたが、さすがにセーブデータのファイルサイズが異なる場合にはSFCのプログラム内部ではどうしようもないのでサポートする場合には別途外部ツールを用意するか各自で対応してもらう必要があります。対応と言っても既存のファイルの最後に24KB分0をつけてもらうだけなんですが。

続きを読む


Snes9X 1.51自動SS保存機能追加版更新

今回DQ3 K.Mix 1.4.5のテストプレイをするにあたっては先日リリースしたSnes9X 1.51自動SS保存版(D3D対応)を使って行いましたが(プレイ自体は全く問題なし)、使っていて気になったのが「自動保存されたステートをロードするのが面倒くさい」というものでした。自動保存フォルダの中のファイルを適当に見当をつけてスロット0のファイルと差し替える→間違っていたら前後のファイルを探して再度差し替えという作業を繰り返すのがどうにもかったるく、いろいろ考えた結果、「直接ファイル名を指定して読めばいい」という結論になりました。ステートをロードするメニューに1つ追加して下のようにしました。

20131026012549.jpg

これでスロットに相当するファイル名に変更することなく直接ファイルを選択できるのでお目当てのステートを特定しやすくなります。もちろん今プレイしているゲームと違うステートをロードしたりすると正常に動作しないリスクはありますが、それについては自己責任ということで。通常版の1.51、D3D版共に更新してあります。例によって「ダウンロード」ページにうpしてあります。


スポンサーリンク

Snes9X 1.51自動SS保存機能追加版リリース(DirectX3D対応)

Snes9X 1.51を使っていて気になるのが「音が悪い」ということです。プチプチとノイズのようなものが入るのが耳障りでテストプレイで使う気が失せるなあと思っていました。最新の1.53では改善されているらしいのですが、どうやらこれは1.52で正式導入された「XAudio2」というサウンドドライバによるものらしいです。プログラム的に言えば1.51までで使用されていたDirectSoundに加えて、新しくMicrosoftから提供されたXAudio2というエンジンを使って作られたドライバということのようです。普段はエミュのバージョンなどまるで気にしないで「最新版使えばいいじゃん」程度の認識でしかなかったわけですが、今回はそうもいかず、通常プレイの感覚でテストプレイできる環境を整えるためにちょっと調べてみました。

ネットの情報を漁っているとXAudio2サウンドドライバの実装はそもそもSnex9X1.51の時代に実装されていたようです(2chのエミュスレの過去ログを見ると「音が悪い場合にはSnes9X Direct3Dを使え」という書き込みがありました)。このバージョンの主な修正点は画面描画をDirect3Dに置き換えた変更らしいのでSnes9X Direct3Dと呼ばれているようで、プログラム自体は以下のURLで現在も取得可能です。

続きを読む


1 2 3