アーカイブ

Archive for 2014年10月

ポケモン赤緑 ドアワープなしバッジ0個クリアチャート案

あくまで案の段階で、実証していません。
実証しました。いくらかイレギュラーがあったものの、特に問題なくクリアできました。
問題のシーンは1時間26分ごろから。
チャートはこれ。
実証配信したときの録画の一部を切り取って動画化しました。

ついでに、わかっている範囲でメモリマップ更新しました。

カテゴリー:セレクトバグ

テレポート/あなをほる/あなぬけのヒモの行先

0xD698がこれらの行先を保持しています。
場所的には32番目の特殊努力経験値の上位バイトです。
化石変換でテレポートを使いたい場合は以下の正規の値になるように調整すればまともに動作する思います。
また、努力経験値の上位を0x09に調整できれば「バッジ0個でセキエイ突入」が可能になりそうです。

正規の値としては
00: マサラ
01: トキワ
(途中略)
08: グレン
09: セキエイ
0A: ヤマブキ
0F: おつきみ山前(4番道路)
15: イワヤマ前(10番道路)
が有効です。これ以外のほとんど数値では、「存在するマップの不正な座標に飛ぶ」ような挙動をします。ただし、調べた限りでは0B, ED, EE, F1-FFだと暴走しました。

カテゴリー:セレクトバグ

そらをとぶの行先フラグ

0xD68Aと0xD68Bがそらをとぶの行先フラグです。
D68Aの下位からマサラ、トキワ・・・と順になっており、D68Bは0x04のヤマブキが最後です。
D68Aに関しては0x01を立てておかないと「そらをとぶ」を選択した瞬間に暴走するので注意。
該当するのは32匹目の4つめの技とIDの上位バイトです。
化石変換で操作する部分と同じなので、
化石変換をした後で空を飛びたい場合(そんな需要があるのかは知らないが)は4番目の技が奇数の番号を持つものにしておく必要があるようです。

32番目に送るポケモンのIDの上位バイトの0x02が立った状態で送っておき、セキエイに飛び、
チャンピオンロードで32番目を戻して、セキエイに戻ればバッジ不足状態で入れそうな気がします。入れました。
ID調整は面倒と思いきや上位バイト=5番目の技なので簡単にいじれますね。

カテゴリー:プログラミング

はやぶさバッヂ戦闘後の回復アイテムの挙動

久々に初代ポケモンネタ。

ポケモンタワーでゆうれいを捕まえた直後、きとうし戦でペゾを使って回復しようとしたら戦闘が強制終了して「!?」となったので検証しました。

はやぶさバッヂによる戦闘強制終了後、次の戦闘(野生・トレーナー問わず)で回復アイテムを使って効果が発揮されると戦闘が強制終了することがあります。
いくらか検証しましたが、確実に再現させる方法がありませんでした。
高確率で終了するのですが、まれに戦闘終了せずに普通に戻ってくることがあります。
同一トレーナーの同一ポケモンでも戦闘終了することもあれば戦闘終了しないこともあります。
まったく法則がつかめなかったので検証協力者求む。

わかっていること

  • はやぶさバッヂを使った直後の戦闘で回復アイテムを使うとその場で戦闘が修了し、勝利扱いになる「ことがある」
  • はやぶさバッヂを使った後の処理は再エンカウントでもボールを投げて戦闘終了でも良い
  • 成功失敗は場所・相手依存ではない
  • 戦闘終了後は正しく戦闘が終了している(はやぶさバッヂのように戦闘状態継続ではない)
カテゴリー:セレクトバグ

メインのwebサーバを移行しました

今まで稼働していたメインのwebサーバvaporeon.msmrrenda.netを作り直し、新たにtsuyukusa.msmrrenda.netが稼働しました。
といっても、OSがFedora19からFreeBSD 10.0に変わった以外に動いている物は大差ないです。親もeevee(Fedora19)のままです。
不具合等ありましたらお知らせください。
{miko,asagi}.msmrrenda.netは変更なく運用中です。

10/12追記
SSIが無効になっていたのを修正しました 影響範囲はたぶんセレクトバグページくらいだと思います

カテゴリー:その他

おいでよどうぶつの森バグ用 10通目の手紙を生成するツール

2014/10/8追記: 検索機能がついたよ!やったね!これで1000行以上あるデータセットから探さなくて済むよ!!!

先日から詩衣雫月さんがおいでよどうぶつの森の面白そうなバグについて検証・紹介されていたのを見て、
あまりにも楽しそうだったので勢いで10通目のメールを生成するツールをつくりました。キレイナバッファオーバーフローダナー
リンク先のjavascriptが超重いので気を付けてください。非力なスマホとかだと死に至る恐れがあります。

Q. お前ソフト持ってないのに何で作った
A. 楽しそうだったから!

カテゴリー:プログラミング

Windows 10 Technical PreviewをiSCSI diskにインストールした

一昨日公開されたWindows10 TP版をiSCSIディスクに入れてみました。
iPXEの設定は前回と同様なので省略。

手順は以下の通りです。
よく書かれている「一度iSCSIディスクからの起動に失敗させてIBFTに情報を残したままwindowsのインストーラを起動」という方法ではiSCSIディスクからのブートに失敗した時点でiPXEがあきらめてしまったり、iPXEが再度立ち上がったりでうまく動きませんでした。
要はインストーラが上がった段階で何らかの形でインストール先のiSCSIディスクを使用していればいいので、この際インストーラをiSCSIディスクにおいてしまいます。
1. ディスクとパーティションを準備する(target)
target$ dd if=/dev/zero of=/mnt/vm/win10.img
target$ parted /mnt/vm/win10.img
このとき、ディスクの最初に350MBのNTFS領域、ディスクの最後に5GB程度のFAT32領域を作ります。
前者は完成後のブートローダ領域(b:)、後者はインストーラ領域(以降i:)となります。
面倒であれば、partedの部分は2.でやっても問題ないはずです。

2. 別のWindowsマシンを用意してインストーラをコピーする
2-1. 用意したターゲットにiSCSIイニシエータで接続、b:とi:をマウントする
2-2. ダウンロードしてきたisoイメージをマウントし、中身をi: 以下にコピーする
2-3. 管理者権限のコマンドプロンプトで、ISOイメージの中のboot/bootsect.exe /nt60 i: を実行する
2-4. i: をアクティブに設定
以上の手順でiSCSIディスクから起動可能に。bootsectの書き込みさえクリアできればWindows不要になるんだけどなぁ。

3. 起動、インストール
iSCSIディスクから起動すると普通にインストーラが認識してくれるはず。

4. ブートローダを移動する
4-1. 一度別のOSで立ち上げ、以下のファイルとディレクトリをb:以下にコピーします。今動いているOSの起動に使ったbcdはコピーできないので注意。
動いた時の記録をそのまま書いているので、不要なファイルもあるかも。
・i:\boot
・i:\efi
・i:\bootmgr
・i:\bootmgr.efi
・i:\bootnxt
・i:\bootsect.bak
4-2. b:をアクティブパーティションに設定します

5. bcdからインストーラのエントリを削除する
5-1. 管理者のコマンドプロンプトを起動
5-2. bcdeditコマンドでdescriptionがWindows Setupとなっているエントリのidentifierを確認
5-3. bcdedit /delete (id) でインストーラの項目を削除

以上。i:は削除して大丈夫なはずです。ディスクの最後にi:を作ったのは削除した後でc:を拡張できるように。

未検証
・i: が論理パーティションだとどうなるか
・EFI環境だとどうか
・この手順はWindows NT 6.x系であれば利用可能なはずですがほかのOSでは未検証。

カテゴリー:未分類