Eclipse + CDT + MinGW + SDL + OpenGL

Posted on

 昨日のアイレムは凄かったですね.凝りすぎて逆につまらないかと思ったら,ウサギで吹いたw

Eclipse + CDT + MinGWでSDLをコンパイルするメモ

 EclipseのC/C++用プラグイン,CDTとWin用GCCのMinGWを使ってSDLプログラムをコムパイルするメモメモです.なんだか今日はノリノリです.

 とりあえずまずは,C-Compiler Wikiを参考にHelloWorldを表示するプログラムは作れるようになっておいてください.

SDLを導入しておく

 ダウンロードページより,MinGW用SDL開発ライブラリを手に入れておきます.ファイル名は今のところは「SDL-devel-1.2.9-mingw32.tar.gz」です.

 解凍した後,中身をどこか適当な場所にぶち込んでおきます.ライブラリ用のフォルダを作って,そこに今後はいろいろなライブラリをぶち込んでおくとすると楽です.

 なお,実行するにはSDL.dllをパスの通っているところにおく必要があります.パスを増やしすぎるとなんか認識しなくなるっぽいので,あんまり増やしたくない人はsystem32あたりに入れておいてください.

 なお,大多数のデモはSDL/SDL.hをincludeするので,include中身をすべて,include\SDLにコピーすると楽かもしれません.

OpenGLもどうせなので

 3DならOpenGlっすよね,ということで,OpenGLも導入しちゃいました.OpenGL自体はMinGWに入っているのですが,GLUTという追加ライブラリは入っていないので導入します.Windows用はこちらよりglut-3.7.6-bin.zipを落としてください.解凍したあと,「glut32.dll」はc:\WINDOWS\system32に,「glut.h」はMinGWのindlude\GLにぶち込んでおいてください.

 これでうまくいくはずですが,テストはしてないので間違ってるかもしれません(ぁ.

Eclipseの設定

 Makefileの書式をお勉強するのが面倒なのでManagedBuildを使って,とりあえず適当に書いたソースに

#include 

を付加し,これでテストしてみます.

libmingw32.a(main.o)(.text+0x106):main.c: undefined reference to `WinMain@16'

とか出てきたんで調査,調査.

結果,以下のようにすればいいっぽいです.

  • プロパティのビルド構成のCコンパイラの「ディレクトリ」でIncludeパスに”<SDLのインストール先>\include”を指定
  • 同じくCリンカの「ライブラリー」ところの「ライブラリー(-l)」に,「mingw32」「SDLmain」「SDL」を上から順に指定.順番が違うとダメっぽい.
  • ライブラリ検索パスに”<SDLのインストール先>\lib”を指定.

これでコンパイル出来るんじゃないんですかね.

 で,ところでprintfが使えなくなったんだけど,仕様的にこれで正しいの?(ぉ

 まあ,今後,SDL+CかDでゲームでも作ってみたいなぁと.Javaに比べ爆速であると期待・・・.あ,なおJava用SDLもありますので,ぜひお試し下さい.あ,そっちからやろうかな,まずはSDLに慣れるってことで.

自力でコンパイルする方法も発見

 ソースからコンパイルする方法もありました.参考までに.つーか,こっちの方が良いな.今から切り替えてくる.なお,CDTについても少し設定が変わるのでご紹介.

 MinGW用SDL_mixerのバイナリは自力でコンパイルするしかないので,この方がいいかもですよ,うん.

MSYSで自分でコンパイルする際のCDT設定

 上のサイトの通りにコンパイルしてください.なお,上のファイルの通りにしてlocal\binにインストールしちゃった人は,パスを通してください.私はしちゃいました.コンパイルしなおそうかな.CDTの設定は,次の通りです.

・コンパイラーの「その他」→「その他のフラグ」で「`sdl-config –cflags`」を追加.

・リンカーの「その他」→「リンカーフラグ」で「`sdl-config –cflags`」を追加.

ツールが自動で設定を吐いてくれるので,ずいぶんと楽にはなってますね.これで安心だ.

東鳩2のその他のソースが見れるぞ!

Posted on

ToHeart2ほかAquaPlus/LeafのGPLゲーをいじるスレ

 GPLライセンスのライブラリを使ってしまったのでしょうがなく公開しています,という話.5本くらいのゲームのソースが入って,全部で20メガちょいです(解凍後).

 普段なかなか見れない,商用ゲームのソースが見れるという事でちょっとワクワク.まあ,「プレイヤーがデバッガー」らしい,エロゲですからじぇんじぇん期待してませんけどね.

DirectX SDKのインストール

 なんかVisualC++ Express EditionでのコンパイルにはDirectXとPlatformSDKが居るっぽいので現在ダウンロード中.DirectX SDK,300メガ以上あるんですけど.なにこれ.インストールしようとしたら,

Extracting file failed.It is most likely caused by low memory (low disk space for swapping file) or corrupted Cabinet file.

・・・残りの容量はどう考えてもあるので,どうもファイル破損みたいです.何度かダウンロードし直したら大丈夫でした.

ソースウォッチング

 ソースですが・・・なんでコメントが殆ど無いんだよ(;´Д`)

 エロゲなだけにコメントも卑猥なの・・・?

ToHeart2のGM_AvgMsg.cppを見てください.先頭の8行なんて,こうですよ,こう.


 何も無いじゃないかって?つ「ドラッグ」・・・なんのためなんだ,これw

 最初のリンク先ではスペルミスなんかも指摘されてましたが・・・絶対に自分のソースは見られたくないな,と思った瞬間でした^^;

で,さらに東鳩2ソースと格闘中 リンカが外部参照エラー

PlatformSDKとDirectXSDKを入れた後,こちらの方法でほとんどうまくいっています.

が,しかし,「afxres.h」が無いというエラーが.こちらを参考にしてください.しかし私の場合,なぜかインクルードパスとして指定しているとことに入れてもダメだったので,新しくヘッダファイルをプロジェクトに追加して作りましたです.

 すると,コンパイルはできました.コンパイルは.Warningが恐ろしいくらい出るけどな†1wwwww

 ・・・でも,リンクが出来ない^^;

ToHeart2.exe : fatal error LNK1120: 外部参照 103 が未解決です。

 らしいですよ・・・何が問題なんだろう.GetMessageAとか一般的なAPIが呼べてない・・・.

 ライブラリのパスとして,PlatformSDKとDirectXのlibのパスが指定されています.うーん,なんで?

解決 しかし,コンパイル・リンクともに正常終了

user32.lib comdlg32.lib advapi32.lib GDI32.lib shell32.lib ole32.lib

をリンカの追加オプションとして指定したところ,何とか通りました.絶対パス通ってないじゃんw

うーん,PlatformSDKのlib内にあることは確認したんですが,なぜか認識されてないようです.

まあ,通ったので良しとします.と言いたいのですが・・・なぜか強制終了して起動しない_| ̄|○

 「Microsoft Visual Studio 8\VC\include\Vector」の756行目でダメらしいです.ソース見たけど良く分からないのでパス.

結局,この3時間は何だったのか

 ちくしょう,3時間ぐらい掛かったのに,結局出来ませんでしたね.元々ゲームデータが無いから出来ないけどさ^^;

 あ,でもデータを入れたらうまくいく可能性も残ってるよな.でもその検証には製品版が・・・製品版は18禁なので買えなくて・・・結局何のためにやってるんだ,自分.コンパイルしても意味が無い・・・かも?_| ̄|○

 あ,ちなみにビルド時の合計Warning数は256でした.ぴったりですね.調整してるの?w

  • †1: 使ってない変数が多い.多分,デバッグ用コードを抜いたんだな・・・

劇場版・・・

Posted on

20060328-03.jpg

 劇場版灼眼のシャナが製作されるそうです.へえ,良かったですね.

20060328-02.JPG

 あれ?ナショナルから大切なお知らせだそうですよ.

20060308-01.jpg

 劇場版ナショナルも製作されるそうです.へえ,良かったですね.

 ・・・あれ?

20060328-04.jpg

 ほかにもこんなに製作が決定してますね.個人的にはゲームセンターCXが見たいものです.

 ・・・オチをつけられず困った・・・_| ̄|○

 こんばんわ,もうすぐエイプリールフールでワクワクなψ(プサイ)です.今年はIREMはどんなバカをしてくれるのかなぁ?w

 出来れば新作ソフトネタはやめて欲しいところ.一部混ぜるとか,知らない人でも楽しめるならいいんだけどね.

最近近くのゲーセンがリニューアルオープンした訳だが

 今日行って来たけど,STGが前10本ぐらいあったのにエスプガルーダ・せんこうのろんど・イバラの計3本しかありませんでした(‘A`)

 「斑鳩かシルバーガン入れたらやってやろう」と思ってたのに,これじゃさらに厳しいなぁ・・・.せんこうのろんどはNAOMIだから斑鳩もすぐに入れられるだろうに。。。

 ちなみに何にもやりませんでした^^

0で割る計算 割り算の意味

 読み物としてなかなか面白いです.「0で割れないのは決まりだ」などと教師というか給料泥棒に教わされた皆様,ぜひどうぞ.あ,派生したリンクの先の記事も結構面白いのがあるのでお見逃しなく.

ゲーム君(最後から二番目)

 やっべ超便利だね!!!111111

 なお,作者は当時,私より年上です.

グイっと一杯!(Windows95/98/Me / ゲーム)

Vectorで落としてはいけないソフトを書き殴るスレ
http://pc8.2ch.net/test/read.cgi/win/1130832668/
65 :名無し~3.EXE:2005/12/18(日) 19:08:32 ID:m8UE5CFN
ttp://www.vector.co.jp/games/soft/win95/game/se374688.html

もうゲームとかそういうレベルを超越してる。

 その通りだw

 「ゲーム君」を超えてますね,これはw

 Vectorって・・・(‘A`)

 これくらいで公開してくれるなら,もっと公開しようかな?(w

 コマンドラインのプログラムでも余裕で掲載してくれますよね?って言うか,前回のポーション期待値プログラムも公開リストに入れておこうかなw

スーパーマリオの裏技その他

 去年の9月でスーパーマリオブラザーズは20周年だそうですが,まだまだ熱いですね.バグ技も奥が深い・・・・.まあ,バグもゲームの一部である(ぉ,某ポケットモンスター初代に勝てるかは不明ですがw

 GBA版で今度やってみたいけど・・・・あの十字キーでできるかなぁ?^^;

ちらしのうら

 成分解析大人気だな,おいw

 はてなの注目URLで一位にまでなったw

「成分解析」解析結果

Posted on

今2ちゃんねるで「成分解析」というソフトがはやってるみたいですね.絶好の解析練習対象なので,やっちゃいました.

なお,解析結果が正しいとは限りません.結果は自己責任で使ってください(使う人って居るの?w

(04/04追記)Javaに移植しました.

(04/06追記)CでCGIにも移植しました.

(04/15追記)魔界の仮面弁士さんが各種移植版をまとめてくれました!感謝.

この結果を使った場合,ぜひ私に教えてください.あと情報提供元も明記してくれるとうれしいなとか思ったり.商用利用のときは必ず連絡してください.(しないと思うけどなw)

文字列の変換

まずは,文字列を合成することからはじめる.

長い文字列(Shift-JIS形式)を,4バイトの数値へ変換する.

 

返したい数値をcodeとする.

また,N=0とする.

  1. 与えられた文字列のNバイト目を取得する.これをstrとする.
  2. strを((N and 3) << 3)だけ左シフトする.
  3. codeに上の結果を足す.
  4. Nに1を足す
  5. 1に戻る

こうして,4バイトの数codeを得る.

 

種類とパーセンテージの取り出し

種類とパーセンテージを取りだす関数を用いる.この関数をランダム関数と呼ぶことにする.

ランダム関数は後に示す.

 

[残りのパーセンテージ]に100を代入する

  1. 種類の決定
    1. ランダム関数を用いて得た結果を100で割って余りを求める
    2. その余りが種類である.品物リストは最後に示す.
    3. 今までに得た品物リストと比較し,同じであったらループの最初へ戻る
  2. パーセンテージの決定
    1. ランダム関数を再度用いて得られた結果を[残りのパーセンテージ]で割った余りを求める
    2. それに1を足したものがパーセンテージである.
    3. [残りのパーセンテージ]から上で得た結果を引く.
  3. [残りのパーセンテージ]が0になったら抜ける.でなければ最初に戻る.

なお,残りのパーセンテージが50%の時は,「~の半分は~」になり,残りの種類も50%の時は「~のもう半分は~」になります.100%のときは「~はすべて~」になりますのでご注意ください.

 

ランダム関数

言葉での説明が辛いので擬似コードで書く.

引数には前回の結果を使う.

初回の引数は「文字列の変換」で得られた数値である.

unsigined int seed = 0; //グローバル変数.
		//初期化には,文字列から変換した数値を使う
unsigned int random(){
	int result;
	seed *= 214013;
	seed += 2531011; // ->次に呼び出されたときのseedに使う
	result = seed;
	result = result >> 0x10;
	result &= 0x7fff;
	return result;
}

 

ソート関数

結果を得た後,パーセンテージでソートする必要がある.これがそのソート用の関数である.

    public void sort(Element[] elt) {
        for (int i = elt.length - 1; i > 0; i--) {
            int prev = 0;
            for (int j = 1; j <= i; j++) {
                if (!(elt[prev].Parcentage <= elt[j].Parcentage)) {
                    prev = j;
                }
            }
            /*iとprevについて入れ替える*/
            swap(elt, i, prev);
        }
    }

Javaで書くとこのような感じになる.基本的にバブルソートである.すいませんセレクションソートって言うらしいです.

 

感想

この解析に二時間以上かかってます.ダメっすよね,うん.

でもまあ,最後まで解析できたということで60点くらいはあげてもいいかなぁ.

ちなみに,

ψ(プサイ)の成分解析結果 : 
ψ(プサイ)の43%は食塩で出来ています。
ψ(プサイ)の36%は血で出来ています。
ψ(プサイ)の18%は厳しさで出来ています。
ψ(プサイ)の2%は真空で出来ています。
ψ(プサイ)の1%は鉄の意志で出来ています。

どうみてもしょっぱすぎです.本当にありがとうございました(何

 

品物リスト

0x00:下心
0x01:微妙さ
0x02:優雅さ
0x03:華麗さ
0x04:かわいさ
0x05:やさしさ
0x06:やましさ
0x07:やらしさ
0x08:むなしさ
0x09:ツンデレ
0x0a:厳しさ
0x0b:世の無常さ
0x0c:ハッタリ
0x0d:ビタミン
0x0e:努力
0x0f:気合
0x10:根性
0x11:砂糖
0x12:食塩
0x13:愛
0x14:電波
0x15:毒電波
0x16:元気玉
0x17:怨念
0x18:大阪のおいしい水
0x19:明太子
0x1a:勇気
0x1b:運
0x1c:電力
0x1d:小麦粉
0x1e:汗と涙(化合物)
0x1f:覚悟
0x20:大人の都合
0x21:見栄
0x22:欲望
0x23:嘘
0x24:真空
0x25:呪詛
0x26:信念
0x27:夢
0x28:記憶
0x29:鉄の意志
0x2a:カルシウム
0x2b:魔法
0x2c:希望
0x2d:不思議
0x2e:勢い
0x2f:度胸
0x30:乙女心
0x31:罠
0x32:花崗岩
0x33:宇宙の意思
0x34:犠牲
0x35:毒物
0x36:鉛
0x37:海水
0x38:蛇の抜け殻
0x39:波動
0x3a:純金
0x3b:情報
0x3c:知識
0x3e:知恵
0x3e:魂の炎
0x3f:媚び
0x40:保存料
0x41:着色料
0x42:税金
0x43:歌
0x44:苦労
0x45:柳の樹皮
0x46:睡眠薬
0x47:スライム
0x48:アルコール
0x49:時間
0x4a:果物
0x4b:玉露
0x4c:利益
0x4d:赤い何か
0x4e:白い何か
0x4f:鍛錬
0x50:月の光
0x51:回路
0x52:野望
0x53:陰謀
0x54:雪の結晶
0x55:株
0x56:黒インク
0x57:白インク
0x58:カテキン
0x59:祝福
0x5a:気の迷い
0x5b:マイナスイオン
0x5c:濃硫酸
0x5d:ミスリル
0x5e:お菓子
0x5f:言葉
0x60:心の壁
0x61:成功の鍵
0x62:理論
0x63:血

Read more

ポケモン個々のデータのチェックサム

Posted on

 現在,たまーに,ですが,ポケモン一匹一匹のデータを解析中です.どうも色々と暗号化みたいなものがかかっている様で,なかなかうまくいきません.復号化†1ルーチンから攻めようかと思ったのですが,かなり複雑で行き詰まり(ぉ,今度は暗号化ルーチンから攻めようかと思ったら実行時間が1フレームを超えるほど処理が長く(苦笑),なかなか苦戦しています・・・.

 かと言って某ポケモンエディタを解析するんじゃなんか負けな気もするので,がんばります・・・.暗号化,復号化,どっちから攻めようかなぁ・・・.

 まずは「ダメタマゴ」にならないためにチェックサムの計算から解析する事にしました.すこしポケモンのステータス(技等)を書き換えて絞り込んだ結果,チェックサムは一匹目は030042acより2バイトっぽい事が分かりました.で,データから計算したチェックサムとここに書かれているデータを比較してるわけですが,まずはそのチェックを外してみました.そのためには以下のようにプログラムを書き換えてください.R/S専用です.

「ダメタマゴ」チェックサムのチェックをはずす(R/S専用)

0803a026:e00a(halfword)

※VBAはプログラムを書き換えられないのでメモリビューアで自力で書き換えてください.

 逆アセンブルしてみれば分かりますが,単なるジャンプ命令に変えてるだけです.

 これで適当に1バイトずついじって,どのデータが何処にあるか分かるかも・・・と思いきや,一箇所のデータがほかの場所にも相互に作用しているらしく,バグって落ちます・・・_| ̄|○

 また,チェックサムより前のデータをいじくると「ダメタマゴ」ではないけど,タマゴになったケースもありました.チェックサムはここだけなんですが,これは・・・本当にタマゴになった†2,という可能性もアリですね.

 なお,肝心のチェックサム計算方法ですが・・・復号化するときに使ったのと同じルーチンを多様して求めている,までしか今のところ分かりません^^;

 「まずは復号化ルーチンを解析してからにしろや^^」,という事でしょうか・・・.

 なお,コードは私への連絡先を示す,という条件付きで転載許可します.まあ誰も転載しないと思うけどねぇ.一応ね,一応.

  • †1: 複合化?はぁ?^^
  • †2: エラーが発生して,でなく,タマゴになるようにデータを書き換えてしまった

ポーションの蓋を集めるには何本必要?

Posted on

 というわけで,前回の「ポーションの蓋を全種類集めるには何本買えばいいかの期待値を求めよ」の答えです.

 今のところ出ている答えはJさんの13~14本.

まず確認すること

 まず基本的な事として,「1回につき確率nで手に入る物を手に入れるまでの期待値は1/n回」です.

 そうですよね?6本あってある1本(たとえばパッケージに書いてある奴)がほしい場合,買わなければいけない期待値は6本ですよね?

 証明は・・・面倒なので良いですか?(ぇ

それでは本番

 まず,6本あるうちの,6本どれでも良いので欲しいです.手に入る確率は6/6.手に入れるまでの期待値は6/6本.

 次に,6本あるうちの,手に入れた1本を除く5本のうちのどれかが欲しいです.手に入る確率は5/6.期待値は6/5本.

(中略)

 次に,6本あるうちの,手に入れた4本を除く2本のうちのどれかが欲しいです.手に入る確率は2/6.期待値は6/2本.

 次に,6本あるうちの,手に入れた5本を除く1本が欲しいです.手に入る確率は1/6.期待値は6/1本.

 よって,次のような式になります.本数をD(=Drink)とすると

D = 6/6 + 6/ 5 + 6/4 ・・・ 6/1

= 6 * ( 1/6 + 1/5 + 1/ 4 ・・・ 1/1)

= 14.7本

 あとJさん,惜しかったですw

 なお,箱買いもチマチマ貧乏くさく買うのも数学的に同じです.

※3/22追記

 レイスタさんの情報より,箱買いするともれなく蓋が6種類2セット,カードがかぶらないように12種類付くらしいです.それだと・・・答えは箱のうちの右半分か左半分6本を買い占めれば蓋に関しては全コンプできるみたいですw

計算ツールを作りました.

 計算ツールです.一発で計算できます.使用は自己責任で.

 なお,正確に分数の形で計算しているので,37個以上で計算させるのは・・・マシンパワーに余程の自信があるならどうぞ.

 なんでそんなにかかるのかって?足し算ごとに毎回約分してる†1ので,最大公約数を見つけるのに時間がかかってるんです.37回目では,887820718293231097と8992153642237365600の最大公約数を求めるのに凄まじい時間がかかります。。。

 かといって約分をしないためにBigIntegerを使っても・・・多分37回目ぐらいには凄いケタになってて,結局時間がかかりそうなので・・・.

 まあ,小数を使って近似を取るのが一番なんですが,それでは負けな気がしまして(何

 さっきのも一発で計算できます.

20060321-01.PNG

 カードの方も計算させて見ました.

20060321-02.PNG

 これはひどい.

//あれ・・・?ソフト内の文章がいろいろと変ですね.必要なのは個数ですよね.

//・・・記念に放置!(何

カードと蓋をどっちも集めるには?

 とりあえずカード集めておけば余程運が悪くない限り集まってますけどねw

 まず,6本27枚あるうちの,6本27本どれでも良いので欲しいです.手に入る確率は 6*27/6*27 .手に入れるまでの期待値は 6*27/6*27 本.

 次に,6本27枚あるうちの,5本26本どれかが欲しいです.どちらかが手に入る確率は 1-(5*26/5*27) .手に入れるまでの期待値は (6*27)/(6*27-5*26) 本.

 ここまでは分かったんですが・・・この先はもしや蓋が手に入った場合とビンが手に入った場合で場合分けしなくてはいけないのでは・・・?

 場合分けだとすると,調べるのは・・・2^27 = 134217728通りも調べなきゃ・・・.

 ここでスタックオーバーフローした†2ので強制終了させておきます_| ̄|○

 ただ,105.069本と大差ないとは思います.

 だれかうまい方法を教えてください・・・.

ためしに1億人に買わせてみた

ランダムで買わせて見てどうなるかチェック!(w

人数を多くすればするほど値が正確になっていきますね.

/*ShokuganがShakugan(灼眼)に見えたのはここだけの秘密だ*/


>java Shokugan 1
合計:12個
人数:1人
平均:12.0個

>java Shokugan 10 合計:136個 人数:10人 平均:13.6個
>java Shokugan 100 合計:1323個 人数:100人 平均:13.23個
>java Shokugan 1000 合計:14518個 人数:1000人 平均:14.518個
>java Shokugan 10000†3 合計:146880個 人数:10000人 平均:14.688個
>java Shokugan 100000†4 合計:1465555個 人数:100000人 平均:14.65555個
>java Shokugan 1000000†5 合計:14715499個 人数:1000000人 平均:14.715499個
>java Shokugan 10000000†6 合計:147033596個 人数:10000000人 平均:14.7033596個
>java Shokugan 100000000†7 合計:1469669029個 人数:100000000人 平均:14.69669029個

誤差,0.00330971.こんな話もあったし,これぐらいが限界かなぁ.

//まあ,リンク先の話は・・・ずいぶん前のだとは思うけど.

ちなみにソースは


/*
 * 作成日: 2006/03/21
 *
 */
public class Shokugan {
	public static final int[] STATE = {1,2,4,8,16,32};
	static java.util.Random rnd=new java.util.Random();
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		long count = 0;
		long people = Integer.parseInt(args[0]);
		for(int i=0;i < people;i++){
			count += buy();
		}
		double average = (double)count / people;
		System.out.println("合計:"+count+"個");
		System.out.println("人数:"+people+"人");
		System.out.println("平均:"+average+"個");
	}
	public static long buy(){
		long turn = 0;
		long state = 0;
		while(state != 63){
			state |= STATE[rnd.nextInt(STATE.length)];
			turn ++;
		}
		return turn;
	}
}

です.(一部隠れてるので,コピーして貼り付けてください.)

//Eclipse便利だよなぁ・・・.

  • †1: そうじゃないとすぐにLongのケタが溢れる
  • †2: 実際,27回もジャンプしてスタック領域足りるのか?
  • †3: 1万人
  • †4: 10万人
  • †5: 100万人
  • †6: 1000万人
  • †7: 1億人

OSを再インストールしましたw

Posted on

 ソフトをインストールしようとしたのにインストーラが文字化けしたりひどいことが多かったので,この際,ということで.ここ最近更新できなかったのはこのせいです・・・.

20060317-10.JPG

 再インストール直後ってすごく起動が早いからいいですよね!w

 今回は,HDDのパーティンションを複数に分けて再インストールしやすくしてみました.

  • システム用パーティション(10GBytes)
  • Program Files用パーティション(20GBytes)
  • データ用パーティション(80GBytes)

 これぐらいあれば大丈夫ですよね?足りなくなってほかのパーティションを侵食というのはちょっとね^^;

 これでまた再インストールしたくなったらシステム用をフォーマットして再インストールすればいいわけですね.いやあ,楽だ.うん.

恥ずかしいセリフ禁止っ!

Posted on

 すこし古いんだけどニュースのコメント掲載しておきます.えーとですね,その,記事を書いたはいいけど「下書き」のまま放置しちゃったんですよ_| ̄|○

明治時代には「ゲーム脳の恐怖」ならぬ「野球脳の恐怖」が存在した!

 な,なんだってー!(AA略

 野球を頭が悪くなるらしく,その理由が「ボールを強い力でうけて脳が損傷するから」という,どっかで聞いたような理由.「不当な批判は日本の伝統芸能」という言葉がありましたが,その通りかもしれません.

「ワシが若い頃にはゲームをやっていたのに,今の若い者は**なんて低俗な遊びを・・・」なんて言う,そんな頭の悪い年寄りにはならないように常に柔らかい頭にしておきたいものですね.

 そのためにも川島教授を鍛える大人のDSトレーニングを・・・(何.

数学だけ5時間…東工大「究極の1科目入試」今秋から

 ホントですか?飽きますね(何

【ファンキー通信】「ブサイクは犯罪起こしやすい」・・・是か非か!

 ブサイクだと気分的にすでにマイナスイメージを持ってたり,雇用されにくいため,それらのマイナス効果で犯罪を起こしやすいのでは無いか,という話.まあ,上の野球脳やゲーム脳に比べればマトモかなw

 記事では人に与える印象を良くする,という解決方法を提示していますが・・・それが一番難しいのでは.

情報流出「Winnyは関係ない」開発者が裁判で主張

 今日のクローズアップ現代でもやってましたが・・・.作者の主張はその通り.責任を取れ,との声も有るようですが,一番取るべきはウイルスの制作者ですよね.批判してる連中,Winnyって何か知ってるのかな?ウイルスか何かかと思ってるんじゃないのかな.

 ちゃんとノートンは入れるのと,80番ポートは防ぎましょう.(うちはこのサーバが80リクエストをすべて受けているので大丈夫.)

ガチでFF12フラゲ組なんだけど何か質問ある?

 「映像ゲー」でないらしい.良ゲーとの報告.ホントかなー?値段が下がって来たら買おうかな・・・?

PS2「ファイナルファンタジーXII」発売 新宿と有楽町には若干の行列。新宿ではチョコボが登場

 結局上のはどうだったんだろう?まあそれはさておき,コンビニとかで予約した人が多くってあまり賑わってないですね.昔の凄まじい長蛇の列がなくなっちゃってなんだか寂しいなぁ.

玄箱の時計の周波数を自動で設定してくれるスクリプト

Posted on

 前回とった方法では、再起動するたびにtickの値が変動し、設定しなおさなければならないという事がありました。これは非常に面倒です。

 このスクリプトを使うことによって自動で設定を行ってくれるようです。今回はtickじゃなくって周波数を変更?時計システムよく分からないんだよなぁ・・・お勉強して結果をまとめて見ます。

http://www.kobore.net/adjtimex.txt

今回はここで調べました。

Tick

-t val, -tick val

各々のカーネルtick割り込みのためのシステム時刻に追加さ

れるべきミリ秒の値をセットします。

一秒間に100tickとすると、valは、10000に近くなります。1

追加するごとに、システム時計は100ppm(8.64秒/日)ごとに

早くなります。tickの範囲は、インテルで9000-110000、ア

ルファで、900-1100です。

 どうも、時計の増える速さを一秒間に1じゃなくって、増やしたり減らしたりすることによって誤差を調整するみたいです。

frequency

システム時計周波数オフセットをnewfreqにセットします。

nwefreqは、プラスマイナス値が入力可能で、”-tick”を使う

より、もっと正確な調整ができます。値のスケールは、

newfreq = 1<<16 で、システム時計を1ppm 0.864秒/日進め

ます。従って、tick 10000 -frequency 6554600は、

tick10001 frequency 0と同じです。

newfreqの範囲は6553600…6553600で、プラスマイナス

100ppmの最大調整値が許されています。

 時刻の調整に使う時計の周波数の誤差を追加したり減少させることで誤差を修正すると。

つまり

 大体はtickで調整して、細かいところはfrequencyを使って修正する、とそういう事で良いですか?

 上のスクリプトもそういう感じみたいですね、よく分かりませんけど。

実際に使ったけど・・・

Regulating system time...
/sbin/adjtimex -t 13379 -f 3428286
adjtimex: Invalid a
rgument
for this kernel:
USER_HZ = 100 (nominally 100 ticks per second)
9000 <= tick <= 11000
-33554432 <= frequency <= 33554432
done.

 うわあああぁ(AA略

 原因が究明できるまで,とりあえず元のスクリプトにしておきますです・・・_| ̄|○

ポケモンセーブデータエディタ 公開しました

Posted on

公開されたみたいですね.チートはほどほどに.バグ報告・実装してほしい機能などその他募集中です.

以下,さっき私のサーチしたコードを乗せておきます.

 

ポケコロのポケクーポン最大

;ポケコロのポケクーポン最大

both:04:33b:ffffff

なぜかポケクーポンは3バイトみたいです.中途半端.それ以上増やしても,画面の表示が増えません.しょうがない.また,開始アドレスが4の倍数でないのもすごく不思議だ・・・.不思議なソフトですね・・・.

 

ふるびたかいず

すごく長いコードになりました.よって「続きを読む」にしておきます.一応分割もできたんですが,めんどくさかったのでこのままでw

基本的に差分とってるだけです.この差分をとる作業を簡単に出来るように,次のバージョンでは自動で差分をとってコード化する機能をつけて見ようかなぁと.まあチケット関係のイベントがこれ以上ない今となってはあまりメリットが無いんですが・・・(‘A`)

 

うーん,このツールが1年前に出来ていればすぐにこのコード出せたんですけどね.ソフト制作が遅すぎた・・・.もうちょっと速ければ,既存のポケモンのデータ改造ツールと肩を並べられたかも・・・.あまりプログラミング技術を持っていない人でもそこそこにコンピュータ関連の知識があれば簡単にこのコードは作れる(上で実装しようか検討していた機能を実装すれば,それこそ知識がほとんど無くてもコード作成可能に・・・)ので,そこがアドバンテージになった・・・かもしれないのになぁ.残念.

Read more