約 1,906,604 件
https://w.atwiki.jp/atngamelab/pages/10.html
筆者がCDイメージファイルのバイナリ編集に手を出してまだ間もないため、 現段階で分かっている範囲での記述になる。 イメージファイル内のファイルの書き換え イメージファイルを仮想CDとしてマウントすると、エキスプローラで中のファイルを閲覧できることは周知の通り。 さらにこの中の任意のファイル(Aとする)をバイナリエディタで開き、 CDイメージファイルそのものもバイナリエディタで開いた上で、 ファイルA内の長めのバイナリデータ列をキーにしてCDイメージのバイナリを検索すると、 一致している箇所(アドレスBとする)がヒットする。 恐らく、ここでAのデータとアドレスB周辺のデータは多くの場合完全に並びが一致していることだろう。 同じ検索データが複数個所でヒットする場合は要注意だが、 ヒットする箇所が単一の場合、ファイルAの場所はアドレスBあたりで間違いないと分かる。 ということは、Aのデータをファイルサイズはそのままで編集・改造したものをコピーし、 アドレスBに上書きすれば良いのではないか。 …という方向性は間違っていないが、それだけでは成立が難しい場合がある。 書き換える場所が比較的小規模な場合ならそれで十分な場合が多いが、 大規模な書き換えになると一つの問題にぶつかる。 304バイトの仕切り版で区切られた2048バイトのデータ さらにファイルAとアドレスBの一致確認を進めていくと、途中で全く一致していないデータと遭遇する。 よくみると、ファイルAのデータの途中に全く別のデータが割り込んでいて、その後にファイルAのデータの続きが現れる。 これを自分は「仕切り板」と呼んでいる。 ファイルA ▼ A1 仕切 A2 仕切 A3 仕切 A4 ・・・ 以下が仕切り板の見本。仕切り板のほとんどはランダムなデータだが、冒頭と末尾に0000・・・とFFFF・・・が固定された部分があるため、 ファイルAがよほどランダムなデータでない限り、慣れればある程度見分けることができる。 XXの部分にはランダムな16進データが入っている。 XX XX XX XX 00 00 00 00 00 00 00 00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX FF FF FF FF FF FF FF FF FF FF XX XX XX XX XX 仕切り板のサイズは全て304バイト、仕切られている領域は全て2048バイトと判明。 調べてみると、これがCD-ROMのフォーマットだということが分かった。 セクタ1つのデータ領域が2048バイト、そのセクタのヘッダが304バイトというわけだ。 つまり、バイナリを書き換えようとしたときに、この仕切り板(セクタ領域)を避けるようにして編集する必要があるということ。 手作業なら、2048バイトずつ元データを区切って上書き貼り付けを繰り返していかなければいけない。 書き換えが大規模になればなるほど、非常に面倒な事になるのは確かだ。 この辺の作業を自動化できるプログラムがあれば良いのだが、現状は特に見当たらないため難しい。 今のところ、キーマクロツールを利用した自動化を思いついている。 だが、もしかしたら 上記を知らない頃に、仕切り板なしデータを直接CDイメージに上書きして、しかもそれが成功してしまったことがある。 仕切り板によるアドレスのズレを考えると、本来あるべきでないアドレスにデータがあることになるので、 ゲームで実行した時の表示はグチャグチャになるはずなのだが、そのデータはゲーム上で全く整合性がとれていた。 本来のファイルAと完全に同じファイルと見なせているかどうかは未検証である。 だがもしそうだとすると、仕切り板なしデータの貼り付けが上手くいってしまう可能性もあり得る。 今のところ、その条件は不明である。 個別のファイルのサイズを定義する場所は判明しているので、もし上記が上手くいくのであれば、 ファイルサイズを他のファイルに影響を与えることなしに、ある程度増やすことも可能かもしれない。 WAD(S)の場合、これは特に重要になりうる。
https://w.atwiki.jp/sfc_sangokushi/
このページは SFC版の三国志3と三国志4を解析しています。 解析といってもブログラムから~ではなく、実機からデータを取ってそのデータから推測しています。 なので出てくる結果が正確なものではないことをご了承ください。 @wikiへようこそ ウィキはみんなで気軽にホームページ編集できるツールです。 このページは自由に編集することができます。 メールで送られてきたパスワードを用いてログインすることで、各種変更(サイト名、トップページ、メンバー管理、サイドページ、デザイン、ページ管理、等)することができます まずはこちらをご覧ください。 @wikiの基本操作 用途別のオススメ機能紹介 @wikiの設定/管理 分からないことは? @wiki ご利用ガイド よくある質問 無料で会員登録できるSNS内の@wiki助け合いコミュニティ @wiki更新情報 @wikiへのお問合せフォーム 等をご活用ください @wiki助け合いコミュニティの掲示板スレッド一覧 #atfb_bbs_list その他お勧めサービスについて 大容量1G、PHP/CGI、MySQL、FTPが使える無料ホームページは@PAGES 無料ブログ作成は@WORDをご利用ください 2ch型の無料掲示板は@chsをご利用ください フォーラム型の無料掲示板は@bbをご利用ください お絵かき掲示板は@paintをご利用ください その他の無料掲示板は@bbsをご利用ください 無料ソーシャルプロフィールサービス @flabo(アットフラボ) おすすめ機能 気になるニュースをチェック 関連するブログ一覧を表示 その他にもいろいろな機能満載!! @wikiプラグイン @wiki便利ツール @wiki構文 @wikiプラグイン一覧 まとめサイト作成支援ツール バグ・不具合を見つけたら? 要望がある場合は? お手数ですが、メールでお問い合わせください。
https://w.atwiki.jp/pokemonbug/pages/46.html
※このバイナリエディタはクリスタルバージョン限定です。 画面領域(アドレスC800h~。ここはwRAMバンク0で、切り替えてもコードを残せる)にコードを書き込むことで、wRAMバンク切り替えにも対応した新しいバイナリエディタ。 導入に関しても少し変更されている。ここでは既存データ向けに図鑑モード0Ch(for D021h)でのメール実行で行うための手順を書き記す。(42hでも理論上可能だが) 参考資料 RAM Writer for Pokémon Crystal (JPN) · GitHub ソースコード。具体的な記述はこちらを参照。 ポケットモンスター クリスタル バイナリエディタ - flag3 ニューゲームからの導入方法の解説。0x1500制御コードによる任意コード実行でメールの生成と図鑑モードの切り替え、ボックス名の一部書き換えを行っている。 RAM Writer in Pokémon Crystal (JPN) - YouTube 導入チャートの動画版(RTA形式)。 簡易型バイナリエディタ 手持ちを2匹以下にし、下記のコードをボックスに入力する。 今回のバイナリエディタは、一度手持ちの3~6匹目のデータにコードを書きこんだ後、ボックス9の後ろにある未使用領域?にコードを保存する。 そのため、バイナリエディタが完成するまで手持ちを3匹以上にしないこと。既存データなら本来そこまですることは無いんだけれど ボックス記述 今回ボックス1は使用しない。 ダだギぼヂてクろ ダだゲムよダだガ ぜジダムキづごぱ ヅまとへジみぴよ へヂみボぷへジみ へブばん どうろひ ぐイ゛ど ダれコろダだイ゛ざ ダれむをダリだけ 入力不可能な文字がある(「ばん どうろ」も1文字)ため、下記メールで修正を行う。 (元資料では初回の0x1500制御コードによる実行でついでに書き換えている) ぼどぶゥメろよどゥャろゥヨろのの ののののののののののののののだっ 入力が終わったら、下記のメールを読んでコードを実行すると、簡易型バイナリエディタが起動する。 へなづがをョてエろなひだへドみち ぼダメに0ぞ?ムぞボデのののだっ 既存データを使用する場合、3匹目以降のデータが埋まって入力しづらい場合があるため、以下のコードを使って0フィルすると入力しやすくなるかも。 手持ち3~6匹目の親名まで0フィルするため、念のため手持ち1匹目のニックネームが壊れていないかを確認したい。 がをぜとョギこへドみぜ!じギバガ づガつドみのののののののののだっ 操作方法 左4桁にアドレスが表示され、右2桁が数値となる。バイナリエディタが完成するまでSELECTは押さないこと! 今回のコードでの開始位置はDD0Bh(手持ち3匹目の親ID上桁)となる。(メールの「がを」とボックス4の「ぜジ」で設定されている) 専用のフォントを呼び出せていない関係で、ABCの3文字が文字化けしている。 起動のたびにメールを読み直す必要がある点に注意。 数値の対応表 数値(文字) バッグ 図鑑 A ■ g B ▲ 青色の線 C 携帯マーク 携帯マーク キー入力 キー 操作 A 指すアドレスを+01h B 指すアドレスを-01h 下 指しているアドレスの内容を+01h 上 指しているアドレスの内容を-01h 左 指しているアドレスの内容を+10h 右 指しているアドレスの内容を-10h START 簡易型バイナリエディタを終了 SELECT DDD1hからコードを実行 バイナリエディタ本体(186バイト+24バイト) 簡易型バイナリエディタでDD0Bh~DDC4hまでの186バイト(バイナリエディタ本体)と、DDD1h~DDE8hの24バイト(コピー用コード)を書き込んだ後、SELECTを押すとバイナリエディタを起動できる。 (SELECTでの実行時にsRAMへの本体コピー及び実行用領域へのコピーを行う) 完成後に直接実行コードを用意すれば、以降は手持ちを増やしても大丈夫になる。 直接実行コード 直接入力(11バイト) 元資料ではアドレスDA47h(わざマシン17で実行される領域の元)から書き込んでいる。 ちなみに03 688Chはcall 2F9D→call 2FF2→call 3F9D→retを行う(現在ボックスのポケモンを参照する処理の一部)もので、道具使用時のROMバンク03から実行するもののため、アイテム使用から飛ぶことが前提となる。 3E 03 01 BA 00 11 00 C8 21 DE AF D5 C3 8C 68 ; ld a,03→ld bc,00BA→ld de,C800→ld hl,AFDE→push de→jp 688C メール 図鑑を開く際はROMバンクが10hになるため、アドレス688Chは使用しない。(というか68hが入力できない) アドレス2FF2h(固定長コピー)の代わりにアドレス2FF3hで実行する(先頭のinc bが抜ける)ため、bレジスタの値は1大きくしている。 ぼギダへマぞヅ9べボゆがョョぜん ぶぺゾこへ/ぞてャぞののののだっ ; ld a,06→rrca→call 2F9D→ld de,C8FF→inc e→push de→ld h,AF→xor a→ld l,DE→ld c,(hl)→inc a→ld b,a→ld c,BA→call 2FF3→jp 2F9D→…→jr nc,DF 操作方法 キー 操作 上 アドレスを-01h 下 アドレスを+01h 左 アドレスを-10h 右 アドレスを+10h B+上 アドレスを-100h B+下 アドレスを+100h B+左 アドレスを-1000h B+右 アドレスを+1000h SELECT+上 バンクを+01h SELECT+下 バンクを-01h SELECT+左 バンクを-10h SELECT+右 バンクを+10h SELECT+A カーソル位置のプログラム実行 A+下 数値を+01h A+上 数値を-01h A+左 数値を-10h A+右 数値を+10h START バイナリエディタを終了 コード本体 バイナリエディタ本体(186バイト) アドレス 数値 保存先 コピー先 DD0B CD AFDE C800 DD0C C5 AFDF C801 DD0D 32 AFE0 C802 DD0E CD AFE1 C803 DD0F C2 AFE2 C804 DD10 31 AFE3 C805 DD11 CD AFE4 C806 DD12 3B AFE5 C807 DD13 0E AFE6 C808 DD14 CD AFE7 C809 DD15 49 AFE8 C80A DD16 0E AFE9 C80B DD17 11 AFEA C80C DD18 00 AFEB C80D DD19 40 AFEC C80E DD1A 21 AFED C80F DD1B 00 AFEE C810 DD1C 96 AFEF C811 DD1D 01 AFF0 C812 DD1E 19 AFF1 C813 DD1F 3E AFF2 C814 DD20 CD AFF3 C815 DD21 B3 AFF4 C816 DD22 0D AFF5 C817 DD23 F0 AFF6 C818 DD24 9D AFF7 C819 DD25 F5 AFF8 C81A DD26 21 AFF9 C81B DD27 00 AFFA C81C DD28 D0 AFFB C81D DD29 CD AFFC C81E DD2A 5C AFFD C81F DD2B C8 AFFE C820 DD2C E5 AFFF C821 DD2D 11 B000 C822 DD2E F8 B001 C823 DD2F FF B002 C824 DD30 19 B003 C825 DD31 E5 B004 C826 DD32 D1 B005 C827 DD33 21 B006 C828 DD34 A9 B007 C829 DD35 C4 B008 C82A DD36 F0 B009 C82B DD37 9D B00A C82C DD38 CD B00B C82D DD39 9D B00C C82E DD3A 2F B00D C82F DD3B CD B00E C830 DD3C AB B00F C831 DD3D C8 B010 C832 DD3E 01 B011 C833 DD3F 0C B012 C834 DD40 00 B013 C835 DD41 36 B014 C836 DD42 7C B015 C837 DD43 23 B016 C838 DD44 7A B017 C839 DD45 CD B018 C83A DD46 AB B019 C83B DD47 C8 B01A C83C DD48 7B B01B C83D DD49 CD B01C C83E DD4A AB B01D C83F DD4B C8 B01E C840 DD4C 36 B01F C841 DD4D 7F B020 C842 DD4E 23 B021 C843 DD4F 1A B022 C844 DD50 CD B023 C845 DD51 AB B024 C846 DD52 C8 B025 C847 DD53 13 B026 C848 DD54 36 B027 C849 DD55 7C B028 C84A DD56 09 B029 C84B DD57 7C B02A C84C DD58 FE B02B C84D DD59 C6 B02C C84E DD5A 20 B02D C84F DD5B E5 B02E C850 DD5C CD B02F C851 DD5D AD B030 C852 DD5E 2F B031 C853 DD5F 3E B032 C854 DD60 ED B033 C855 DD61 EA B034 C856 DD62 4B B035 C857 DD63 C5 B036 C858 DD64 E1 B037 C859 DD65 18 B038 C85A DD66 C2 B039 C85B DD67 CD B03A C85C DD68 1B B03B C85D DD69 35 B03C C85E DD6A F0 B03D C85F DD6B A9 B03E C860 DD6C 5F B03F C861 DD6D 01 B040 C862 DD6E 01 B041 C863 DD6F 00 B042 C864 DD70 07 B043 C865 DD71 38 B044 C866 DD72 1E B045 C867 DD73 0B B046 C868 DD74 0B B047 C869 DD75 07 B048 C86A DD76 38 B049 C86B DD77 19 B04A C86C DD78 0E B04B C86D DD79 F0 B04C C86E DD7A 07 B04D C86F DD7B 38 B04E C870 DD7C 14 B04F C871 DD7D 01 B050 C872 DD7E 10 B051 C873 DD7F 00 B052 C874 DD80 07 B053 C875 DD81 38 B054 C876 DD82 0E B055 C877 DD83 48 B056 C878 DD84 07 B057 C879 DD85 30 B058 C87A DD86 0A B059 C87B DD87 E1 B05A C87C DD88 F1 B05B C87D DD89 D7 B05C C87E DD8A 3E B05D C87F DD8B F9 B05E C880 DD8C E0 B05F C881 DD8D 70 B060 C882 DD8E C3 B061 C883 DD8F ED B062 C884 DD90 21 B063 C885 DD91 7B B064 C886 DD92 0F B065 C887 DD93 30 B066 C888 DD94 10 B067 C889 DD95 0F B068 C88A DD96 0F B069 C88B DD97 30 B06A C88C DD98 01 B06B C88D DD99 E9 B06C C88E DD9A F0 B06D C88F DD9B 9D B06E C890 DD9C CD B06F C891 DD9D 9D B070 C892 DD9E 2F B071 C893 DD9F 79 B072 C894 DDA0 86 B073 C895 DDA1 77 B074 C896 DDA2 C3 B075 C897 DDA3 AD B076 C898 DDA4 2F B077 C899 DDA5 0F B078 C89A DDA6 38 B079 C89B DDA7 05 B07A C89C DDA8 0F B07B C89D DDA9 38 B07C C89E DDAA 06 B07D C89F DDAB 09 B07E C8A0 DDAC C9 B07F C8A1 DDAD 79 B080 C8A2 DDAE 84 B081 C8A3 DDAF 67 B082 C8A4 DDB0 C9 B083 C8A5 DDB1 F0 B084 C8A6 DDB2 9D B085 C8A7 DDB3 81 B086 C8A8 DDB4 D7 B087 C8A9 DDB5 C9 B088 C8AA DDB6 F5 B089 C8AB DDB7 CB B08A C8AC DDB8 37 B08B C8AD DDB9 CD B08C C8AE DDBA B2 B08D C8AF DDBB C8 B08E C8B0 DDBC F1 B08F C8B1 DDBD E6 B090 C8B2 DDBE 0F B091 C8B3 DDBF C6 B092 C8B4 DDC0 F6 B093 C8B5 DDC1 F6 B094 C8B6 DDC2 60 B095 C8B7 DDC3 22 B096 C8B8 DDC4 C9 B097 C8B9 コピー用コード(11バイト) アドレス 数値 DDD1 11 DDD2 DE DDD3 AF DDD4 CD DDD5 DB DDD6 DD DDD7 11 DDD8 00 DDD9 C8 DDDA D5 DDDB 3E DDDC 03 DDDD 21 DDDE 0B DDDF DD DDE0 01 DDE1 BA DDE2 00 DDE3 CD DDE4 9D DDE5 2F DDE6 C3 DDE7 F2 DDE8 2F
https://w.atwiki.jp/bioeos/pages/79.html
バイナリデータの扱い方 バイナリに関しては(http //ja.wikipedia.org/wiki/バイナリ)を参照 バイナリデータで構成されているファイルをバイナリファイルと言います. バイナリファイルの例としてTIFFやJPEGがあります. これらのファイルの先頭にはメタデータ (ヘッダ) が付加されています.(例:EXIF) デジカメのメタデータには撮影日時, 撮影機器メーカー, 撮影機器モデル名, シャッター速度, ISO感度, 露出補正値などが記録されます. TIFF Tagged Image File Formats http //ja.wikipedia.org/wiki/Tagged_Image_File_Format JPEG Joint Photographic Experts Group http //ja.wikipedia.org/wiki/JPEG EXIF Exchangeable Image Formats http //ja.wikipedia.org/wiki/Exchangeable_image_file_format 今回は衛星画像データ (LANDSATデータ) を扱います。 (O )ドライブ → 地図データ → LANDSAT → LANDSAT7ETM+109-36_20010704 LANDSAT7 NASAなどが打ち上げている人工衛星の7号機 ETM+ Enhanced Thematic Mapper Plus http //www.eorc.jaxa.jp/hatoyama/satellite/sendata/etm_j.html 109 ルート番号 (Column number) 南北方向 36 コマ番号 (Line number) 東西方向 20010704 撮影した日付 (2001年7月4日) SCENE001をクリックしてください. 可視光 L71109036_03620010704_B10 青 (Band1) L71109036_03620010704_B20 緑 (Band2) L71109036_03620010704_B30 赤 (Band3) L71109036_03620010704_B40 近赤外 (Band4) L71109036_03620010704_B50 中間赤外 (Band5) L71109036_03620010704_B61 熱赤外 (Band6) L71109036_03620010704_B62 熱赤外 (Band6) L71109036_03620010704_B70 中間赤外 (Band7) → B50とは波長が異なる L71109036_03620010704_B80 パンクロ (Band8) → 解像度が粗い 太陽光の地表からの反射を観測 → 可視光, 近赤外, 中間赤外, パンクロ 物体自身からの放射を観測 → 熱赤外 バンドの特徴に関する参照:http //www.restec.or.jp/data/intro/bandsample/intro_bandchara.html 衛星データのヘッダ情報 11行目を見ると横6937, 縦6316のピクセル数であることがわかります. 13行目を見ると1ピクセル当たりのビット数が8となっているのがわかります. 8ビット = 256 (2の8乗) = 1バイトに相当します. 256コ (0~255)のカラー値を表現できます. (D )ドライブに作業用フォルダ(Landsat)を作ります. (O )ドライブのBand1とBand4のデータを作成した作業用フォルダにコピーします. 名前が長いのでそれぞれ「blue」と「nir」に変更します. コマンドプロンプトを開きます. まずは「blue」のデータに関して cd D \Landsat cat blue.ppm P5 6937 6316 255 CTRLキー + C を押します. cat blue blue.ppm プロパティを見るとblue.ppm(43814110バイト), blue(43814092バイト)のそれぞれのファイルサイズが分かります. ヘッダ情報を加えた分、blue.ppmのほうが18バイト大きいです. 続いて「nir」のデータに関して cat nir.ppm P5 6937 6316 255 CTRLキー + C を押します. cat nir nir.ppm 「cat」は数行のテキストファイルを作りたい時に便利です. 衛星画像処理 研究する対象地域によって衛星画像から研究に必要な一部分を切り出す必要があります. (画像は容量が大きいため少しでも容量を減らしたほうがいいです) 今回はBand8 (パンクロ) を除いたBandについて同じ地域を切り出します. エディタを立ち上げてください. Rubyのスクリプトを使います. dir = "O /地図データ/LANDSAT/LANDSAT7ETM+109-36_20010704/SCENE001/" ################################################################################ # 必要な場所を切り出す def cut_site(f,out) cols = 6937 # LANDSAT画像の一行のピクセル数 x1 = 3100; y1 = 2600 # 切り出したい位置の左上隅 x2 = 3300; y2 = 2850 # 切り出したい位置の右下隅 dx = x2 - x1; dy = y2 - y1 out.puts "P5 #{dx} #{dy} 255" y2.times do |j| line = f.read(cols) out.write(line[x1,dx]) if j = y1 end end out_file = ["B10","B20","B30","B40","B50","B61","B62","B70"] i = 0 Dir.foreach(dir) do |file| if /B/ =~ file /B80/ !~ file puts file f = open(dir + file,"rb") # 対象ファイル(バイナリ)をオープン out = open(out_file[i] + ".ppm","wb")# 出力ファイル(バイナリ)を準備 # 必要な場所を切り出す cut_site(f,out) f.close; out.close i += 1 end end ファイル名をimage_cutとして保存してください.(このページの下に添付しています) コマンドプロンプトに戻り,Rubyスクリプトを実行します. ruby image_cut.rb 8コのファイルが作業用フォルダ(Landsat)に作成されます. これらを全て開くと以下のような画像が表示されます. Band1(B10) Band2(B20) Band3(B30) Band4(B40) Band5(B50) Band6(B61) Band6(B62) Band7(B70) B61とB62の画像がぼんやりしているのは解像度の違いによるものです. 今回の作業は以上です.お疲れ様でした.
https://w.atwiki.jp/chulainn/pages/16.html
二体の属性を合体させて一体の別な属性の悪魔を造り出す。 いわゆる二身合体。 【基本合体法則】 紅蓮 銀氷×疾風、雷電×外法、疾風×蛮力 銀氷 紅蓮×外法、雷電×疾風、雷電×蛮力 雷電 紅蓮×疾風、銀氷×蛮力、疾風×外法 疾風 紅蓮×銀氷、紅蓮×蛮力、蛮力×外法 蛮力 紅蓮×雷電、銀氷×雷電、銀氷×外法 外法 銀氷×銀氷、雷電×雷電、技芸×技芸 技芸 紅蓮×紅蓮、疾風×疾風、蛮力×蛮力、外法×外法 【特殊合体法則】 技芸属性と合体すると結果がランダムになる。
https://w.atwiki.jp/c-note/pages/53.html
テーブルの作成(バイナリデータ用) テーブルを作成する場合、プライマリキーとかNot Nullとか、いろいろ考えなくてはいけません。SQL文もそれなりに複雑で長くなります。そこで、MySQL Workbenchという管理ツールを使った方がお手軽だと思うのでご紹介。 テーブルの作成(バイナリデータ用)1.MySQL WorkbenchからCreate Table(1) 2.MySQL WorkbenchからCreate Table(2) 3.カラムの準備 4.SQL文の確認 5.完了 1.MySQL WorkbenchからCreate Table(1) 左にある「Object Browser」でデータベースのツリーを開きます。 「Tables」のところで右クリックメニューから、「Create Table...」をクリック。 2.MySQL WorkbenchからCreate Table(2) テーブル作成の画面が表示されました。 3.カラムの準備 ファイル(バイナリ)を格納するカラムは、BLOB型というのを利用することになります。 BLOB型でもいくつか種類がありますが、とりあえず一番サイズの大きそうなLONGBLOBを使ってみたいと思います。 用途によって選択すると良いでしょう。 今回作成するカラムは、識別ID、ファイル名(拡張子も含む)、ファイル自体、とします。 テーブル名は、 table2 としました。カラムの方は、 カラム名 データ型 オプション id INT PK, NN, UQ filename VARCHAR(128) NN filedata LONGBLOB NN としました。 で、「Apply」をクリック。 4.SQL文の確認 実行されるSQL文を確認します。 良ければ「Apply」をクリックして、SQL文を実行します。 5.完了 完了です。 「Finish」をクリックして終了します。
https://w.atwiki.jp/sm4wiki_mix/pages/71.html
バイナリ ASM TRASMなどで吐かせたbinがバイナリエディタで表示させた時どういった命令をもっているかという表 16進だから当然だけど?には0~Fが入るんだ…やっつけなので中には違うのがあるかもね ハンドアンセブルや逆汗の参考にでもしてくださいな 数値 命令 アドレッシングモード 00 BRK 01 ORA ($??,x) 02 COP 03 ORA $??,s 04 TSB $?? 05 ORA $?? 06 ASL $?? 07 ORA [$??] 08 PHP 09 ORA #$?? 0A ASL A 0B PHD 0C TSB $???? 0D ORA $???? 0E ASL $???? 0F ORA $?????? 10 BPL $?? 11 ORA ($??),y 12 ORA ($??) 13 ORA ($??,s),y 14 TRB $?? 15 ORA $??,x 16 ASL $??,x 17 ORA [$??],y 18 CLC 19 ORA $????,y 1A INC A 1B TCS 1C TRB $???? 1D ORA $????,x 1E ASL $????,x 1F ORA $??????,x 20 JSR $???? 21 AND ($??,x) 22 JSL $?????? 23 AND $??,s 24 BIT $?? 25 AND $?? 26 ROL $?? 27 AND [$??] 28 PLP 29 AND #$?? 2A ROL A 2B PLD 2C BIT $???? 2D AND $???? 2E ROL $???? 2F AND $?????? 30 BMI $?? 31 AND ($??),y 32 AND ($??) 33 AND ($??,s),y 34 BIT $??,x 35 AND $??,x 36 ROL $??,x 37 AND [$??],y 38 SEC 39 AND $????,y 3A DEC A 3B TSC 3C BIT $????,x 3D AND $????,x 3E ROL $????,x 3F AND $??????,x 40 RTI 41 EOR ($??,x) 42 WDM(*1) 43 EOR $??,s 44 MVP $??,$?? 45 EOR $?? 46 LSR $?? 47 EOR [$??] 48 PHA 49 EOR #$?? 4A LSR A 4B PHK 4C JMP $???? 4D EOR $???? 4E LSR $???? 4F EOR $?????? 50 BVC $?? 51 EOR ($??),y 52 EOR ($??) 53 EOR ($??,s),y 54 MVN $??,$?? 55 EOR $??,x 56 LSR $??,x 57 EOR [$??],y 58 CLI 59 EOR $????,x 5A PHY 5B TCD 5C JML $?????? 5D EOR $????,x 5E LSR $????,x 5F EOR $??????,x 60 RTS 61 ADC ($??,x) 62 PER $???? 63 ADC $??,s 64 STZ $?? 65 ADC $?? 66 ROR $?? 67 ADC [$??] 68 PLA 69 ADC #$?? 6A ROR A 6B RTL 6C JMP ($????) 6D ADC $???? 6E ROR $???? 6F ADC $?????? 70 BVS $?? 71 ADC ($??),y 72 ADC ($??) 73 ADC ($??,s),y 74 STZ $??,x 75 ADC $??,x 76 ROR $??,x 77 ADC [$??],y 78 SEI 79 ADC $????,y 7A PLY 7B TDC 7C JMP ($????,x) 7D ADC $????,x 7E ROR $????,x 7F ADC $??????,x 80 BRA $?? 81 STA ($??,x) 82 BRL $???? 83 STA $??,s 84 STY $?? 85 STA $?? 86 STX $?? 87 STA [$??] 88 DEY 89 BIT #$?? 8A TXA 8B PHB 8C STY $???? 8D STA $???? 8E STX $???? 8F STA $?????? 90 BCC $?? 91 STA ($??),y 92 STA ($??) 93 STA ($??,s),y 94 STY $??,x 95 STA $??,x 96 STX $??,y 97 STA [$??],y 98 TYA 99 STA $????,y 9A TAX 9B TXY 9C STZ $???? 9D STA $????,x 9E STZ $????,x 9F STA $??????,x A0 LDY #$?? A1 LDA ($??,x) A2 LDX #$?? A3 LDA $??,s A4 LDY $?? A5 LDA $?? A6 LDX $?? A7 LDA [$??] A8 TAY A9 LDA #$?? AA TAX AB PLB AC LDY $???? AD LDA $???? AE LDX $???? AF LDA $?????? B0 BCS $?? B1 LDA ($??),y B2 LDA ($??) B3 LDA ($??,s),y B4 LDY $??,x B5 LDA $??,x B6 LDX $??,y B7 LDA [$??],y B8 CLV B9 LDA $????,y BA TSX BB TYX BC LDY $????,x BD LDA $????,x BE LDX $????,y BF LDA $??????,x C0 CPY #$?? C1 CMP ($??,x) C2 REP #$?? C3 CMP $??,s C4 CPY $?? C5 CMP $?? C6 DEC $?? C7 CMP [$??] C8 INY C9 CMP #$?? CA DEX CB WAI CC CPY $???? CD CMP $???? CE DEC $???? CF CMP $?????? D0 BNE $?? D1 CMP ($??),y D2 CMP ($??) D3 CMP ($??,s),y D4 PEI ($??) D5 CMP $??,x D6 DEC $??,x D7 CMP [$??],y D8 CLD D9 CMP $????,y DA PHX DB STP DC JML [$????] DD CMP $????,x DE DEC $????,x DF CMP $??????,x E0 CPX #$?? E1 SBC ($??,x) E2 SEP #$?? E3 SBC $??,s E4 CPX $?? E5 SBC $?? E6 INC $?? E7 SBC [$??] E8 INX E9 SBC #$?? EA NOP EB XBA EC CPX $???? ED SBC $???? EE INC $???? EF SBC $?????? F0 BEQ $?? F1 SBC ($??),y F2 SBC ($??) F3 SBC ($??,s),y F4 PEA $???? F5 SBC $??,x F6 INC $??,x F7 SBC [$??],y F8 SED F9 SBC $????,y FA PLX FB XCE FC JSR ($????,x) FD SBC $????,x FE INC $????,x FF SBC $??????,x アドレッシングモードについて Aはアキュームレータです。 そのほかのモードについては、すずめ愛好会(Internet Arcive)を見ると詳しくわかります。 スタックリラティブについて TRASMではスタックリラティブモード($??,s)を正しくアセンブルできないようです。 TRASMでも正しくアセンブルさせたいのなら dcb $83,$01;STA $01,s というように機械語で直接書きましょう。 コメント なんという有難き表じゃ 南無阿弥陀仏南無阿弥陀仏 -- あ な た は 神 か -- 乙すぎる -- すごく乙。ネ申 -- マジで助かります。ども -- ※ スパムの対象になっていたようなのでコメント欄を削除しました
https://w.atwiki.jp/mmorpg46/pages/15.html
まだない
https://w.atwiki.jp/msx-sdcc/pages/78.html
MSXViewはマウス操作のGUI環境。 元々はHALNOTEと呼ぶものでありDOS2用に改良されたものでソフトは互換性があり HALNOTE用のアプリケーションはView環境でも動作するらしい。 MSXViewはシステムがROMに書かれておりアプリケーションはAPIを呼び出す事でGUI 機能を実行するらしい。 ソフト開発当初はアセンブラやLSIC-80が利用されたが後にMSX-Cなどでの開発が サポートされた。 必要なヘッダライブラリはDatapack TR版にありMSX-C用にはViewKITなどのファイルが配布 され開発用のツールがあった。 実行形式の基本的な仕様は一般的なCP/Mと同様に0x100番地からバイナリが配置される。 ただしView用のソフトはGUIなどを扱うのでコマンドでは動作しない。 アプリケーションの種類は拡張子で区別され、アイコンなどは拡張子で変化する。 View上に表示されるファイルは拡張子は表示されない。 また実行形式としてはDAツールとViewアプリケーションの区別はない。 View用APIのライブラリコールは特殊で三つほどの種類があり、RST 8命令を呼ぶもの、RST 10と、 このほかに一般的なCとよく似たCALL命令によるAPI呼び出しがある。 RST命令を利用したAPI呼び出し規約は特殊で、引数などはRST命令の直後の2byteに配置 されるように埋め込む。このスタックを用いないAPI呼び出し方法は現在あまり見かけない。 現在一般的なCのSTDCALL呼び出し規約とは違いがある。 このためそのままC言語の関数として呼び出す事は出来ないのでラッパ関数を用いて MSXView用APIライブラリ呼び出し関数群を実装することになる。 (ちなみにMSXViewではAPIのことを○○packと呼んでいる) 引数についてはRST命令後ろの2byteに機能番号を配置し、必要なレジスタにパラメータをセットして RST8などを実行することでAPIを呼び出すという特殊なシステムコール呼び出しとなる。 またRST8とRST10では命令後の2byteのパラメータが若干異なっている。 RST8では2byte整数、RST10では1byte*2という形式らしい。 通常はこれらをC関数にラップして利用する。RST命令部分は引数が特殊のため開発当事は インライン指定してコードを埋め込みしていたらしい。 VIEWパックと呼ぶライブラリAPI機能番号が0x123の場合の基本的な呼び出し方法は アセンブラで示すと以下のようになる NOP RST 8 .dw0x0123 NOP RET APIライブラリの呼び出し方法や形式はそれぞれ異なるのでRST10やCALL命令を利用する 場合だと大きく違う。 詳細は資料(DatapackTR版やディスクにあるヘッダファイル)などを参照しないと SDCCやそのほかの開発環境用のAPIヘッダを作る事は出来ないだろう。 ViewKITにはM80用のAPI関数のRELファイルが配布されているがソースはないので これも詳細はわからない。 アプリケーションが使用可能なメモリは32KBが基本で、その範囲を超えるソフトについては オーバーレイという手法で個別の機能を分割して実装するらしい。 一般的なGUIアプリケーションを作る場合は現在のWin32APIと同様にウインドウを 作りハンドルを得て管理し、イベントハンドラによるイベントループで各種操作を行う。 基本的にはイベント駆動型のアプリケーションとなり、イベントマネージャが提供する 関数からイベントを検出しながら動作するソフトの作り方となる。 View用アプリケーションソフトの構造そのものは現在のWindows用のイベントハンドラ APIと変わらない。違いは8bit環境でシングルタスクであるということくらい。 マウスを使った簡単なサンプルは別途配布されていたViewKITなどのアーカイブに含まれる。 個別のバイナリのサイズは小さくあらかじめ用意されたAPIを呼ぶだけなのでコードは APIを利用するルーチンとなる。 アセンブラによるアプリケーション例 ここでは単純にMSXViewを終了させるアプリケーションソフトを作成する。 ;View用の実行形式テスト。 ;生成するバイナリの拡張子は*.daか、または(xxなどにすること .area_ASM(abs,con) .org0x100 ; ;RST8でコールする。機能番号はRST命令のあとの2byte rst 8 .dw301;View終了API機能番号コード ret アセンブルは以下のようにする sdasz80 -o view1.rel view1.asm sdld -i view1.ihx view1.rel hex2bin view1.ihx copy view1.bin view1.da 次にタイトル表示用のアプリを作る。ウインドウ関係の表示バックアップは していないので画面消去はせず単にタイトル画面を表示するだけ ;View用の実行形式テスト。 ;生成するバイナリの拡張子は*.daか、または(xxなどにすること .area_ASM(abs,con) .org0x100 ;RST8でコールする。機能番号はRST命令の後ろ2byte ; ;引数なしのAPI機能 ;301=終了 ;372=タイトル表示 rst 8 .dw372 ret 最後に小さな一行ダイアログを表示させてみる ;View用の実行形式テスト。 ;生成するバイナリの拡張子は*.daか、または(xxなどにすること .area_ASM(abs,con) .org0x100 ; ;RST8でコールする。機能番号はRST命令のあとの2byte ; ;263=message dialog表示 pushhl;レジスタバックアップ pushbc pushde ldbc,#0 ldde,#0 ldhl,#TEXT1;表示文字列指定 rst 8;ViewAPIコール .dw263;API番号指定(Dialog) popde;レジスタ復帰 popbc pophl ret TEXT1 .ascii"ABCDEFGHI" .db0x0 ViewAPIの終了機能をCで書き直すとするならば以下のようになるだろう これらをすべてのAPIに書き直すとSDCCがView用の開発環境となるだろう。 void exitview(){ __asm RST 8h .dw 0x301 nop __endasm; }
https://w.atwiki.jp/magicman/pages/24026.html
バイナリ・フィッシュ UC 水 (3) クリーチャー:ゲル・フィッシュ/オーバーズ 1000 ■自分の手札から呪文を唱えた時、このクリーチャーを破壊してもよい。そうしたら、その呪文をもう一度、墓地からコストを支払わずに唱える。 作者:翠猫 ゲル・フィッシュのオーバーズ。 手札から呪文を唱えた時、このクリーチャーを破壊することで再度詠唱が行える。 名前の由来は「2進数」。 評価 文明は水のような……。カードとしては一見強力ながらもかなり扱いがピーキーな良調整 -- Orfevre (2019-01-27 15 23 41) すいません、水です...w -- 翠猫 (2019-01-27 15 54 36) 公式で同じようなカードが出たので書き方を寄せました。 -- 翠猫 (2021-06-09 21 20 21) 名前 コメント