August 24, 2010
raster scrollもどき:

左から右に動かす場合は、memmoveで。


上海ナントカのまりさ:
魔梨沙が可愛い方、魔理沙は可愛くない方。


memmoveを速くする:
16 or 32[bpp]固定だから、stdしてrep movsw(d)でOKな予感。
CRTだとrep movsb相当のハズ。

August 23, 2010 ROの幻覚エフェクト: 糞重いコレを、ナントナク再現してみたくなった。 波長: 180[dot] 振幅: 24[dot] 解析した感じ、backbufferをlock後、一行ずつmemcpyを全ての行で行い、unlockっぽい。 DDSCAPS_SYSTEMMEMORYなsurfaceにbltしてからの方が高速なのだけどね。
June 21, 2010 YouTubeのUI: 赤緑色盲の場合、色の判別が非常に困難だ。
February 22, 2010 TV受像機の買い換え: 食堂に設置、20V型程度、次から選べと言う糞な条件。 Panasonic: VIERA: TH-L17C10 SHARP: AQUOS: LC-20E6-S TOSHIBA: REGZA: 26A9000 東芝のは高級モデルであっても、電源ボタン付近に B-CAS cardやSD cardの挿入口があるっていう糞設計。 電源ボタン付近は、子供や高齢者も触れる場所だから、 delicateな物を近辺に置くのは、ダメだね。 松下は個人的に嫌いだから論外。 消去法でSHARP製に。 会社に対して固執する処が無いなら、 松下製のモノにすると良いと思う。 家電を理解して設計しているからね。
December 1, 2009 spin lock: 飽くまでも、一箇所からのみlockに成功する事を保証するだけである。 故に、複数のthreadで取り合った場合、常に確保に失敗する事も、起こり得る。 確率的に、有り得ないけどね(ぉ
September 1, 2009 老いを感じる: 新しいモノを見ても、古いモノの焼き直しに見える。 新しい感じが無い。
Jyly 9, 2009 election: yomiuri.co.jp: 高岡市長選告示より抜粋。 > 橘慶一郎前市長の辞職に伴う高岡市長選が5日告示され、 >元総務省大臣官房審議官の高橋正樹氏(55)(無所属=自民、公明、国民新推薦)と、 >共産党呉西地区委員長の高橋渡氏(46)(共産)の2人が立候補し、 >新人同士の一騎打ちとなった。 >投開票は12日に行われる。 一票の重みは、(有権者数)^(-1)、大体150000^(-1)程度であるから、投票は無駄な行為。 その辺に転がっていたモノから。 fc2.com: 豊葦原: 聖徳太子「和を以て貴しとなす」の真意 >完全無欠にほど遠い人間が公共の利益を実現するためには、 >派閥的なこだわりを捨てた公正な議論が欠かせず、 >そのためには各自が私心を去らねばならない。 ...と言う理想もあるしね。
May 19, 2009 cost削減: 所謂ガス点検について、次のように変更していた。 ・点検する者を変更 従来:『小売店の者』が行う 現在:『小売店が依託した業者』が行う ・点検周期の変更 従来:2年毎 現在:4年毎 ガスメータの保安機能に頼りきるなら、ガスメータ以降の点検は不要。 ボンベ~ガスメータ間の安全さえ確保すれば良い。 でも、それなら、ボンベの交換時に点検を行えば、n年毎の検査は不要。 ああ、形だけの点検なのか。 気持ち悪い: ヒトは、ヒトが何をする為に生きているのかを、熟考すべきだ。 『最大多数の最大幸福』は、正しい。 ならば、幸福のあり方を書き換えれば、より良い世界に変えられるだろう。 現状、己の幸福を意識するあまり、人類の幸福の向上は停止している。 気持ち悪い、改善すべきだ。
January 13, 2009 AGP and PCI-E Programs May Hang With AMD K7 and K8 Processors: nVidia製deviceDriverのRelease Notesに書いてあるアレ。 4[MB]のcache可なpageと、4[kB]のWCなpageが重なって、 マズイ事が発生する場合がある。 support.microsoft.com: Athlon プロセッサでページ サイズ拡張機能を使用すると AGP プログラムがハングする ...にある対処法を実行しろ。 4[MB]なpageを使わなくするから、不具合の発生を抑えられる。
May 16, 2007 某networkGame用cheatTool構想: TCPでの送信を、指定時間遅らせるだけ。 当然のように、TDI filterDriverを書く。 父が、退職したがっている: ・現在の労働の継続はイヤだ ・別業種への再就職は行いたいが、業種すら未定 私は、私の終身就職先の決定を条件に、退職を認めた。 さて、彼は如何動いてくれるだろうか。 余談。 父『昔の事で謝らなければならない』 私「そんな事はどうでも良い、今後はどうする気だ」 父『家族で一緒に過ごす事が無かった』 私「その方が好都合だ」 父『お前には、まだ教えなければならない事がある』 私「そんなモノは無い(即答)」 彼等は、何もしていない: 彼等の会話内容。 ・身の回りにあった、他人事 ・新聞やTV番組の内容 ・食事について、好きか嫌いか ・愚痴、不満、悪口、及び嫌味 自分が何をしたのか、何をするかについては、全く話さない。 何故ならば、何もしていないからだ。 旅行に行きたい、〜を食べたい、〜を観たい...等と言う事はあるが、 赤の他人が作った行楽地、赤の他人が作った食品、赤の他人が作ったcontentsであり、 彼等が変えられないモノばかりだ。 旅行へ行くのは他人事、何かを食べても他人事、何かを観ても他人事なのだよ。
September 21, 2006 mCool: 残りは、 DriverEntry/load/Unload/IRP_MJ_DEVICE_CONTROLの記述、 bug出しと手直し。
September 19, 2006 mCool: stackは常にNonPagedPool扱いらしいので、仕様を元に戻す。 排他処理の責任を明確にする。
September 17, 2006 mCool: strictなprogramにするため、仕様変更。
September 16, 2006 mCool: registryから設定値を読み、反映。 performanceCounterのresetとread、FID/VIDの読書のioctlを実装。 build -cZを通るように手直し。 相変わらず、designはtopdown、implementはbottomupな感じに。
September 8, 2006 mCool: table作成。

static const SProcessorPState TABLE_PROCESSOR_PSTATE[] =
{
	//ADA4800DAA6CD, high
	{
		0x05, 0x00020F32, FID_12X, FID_12X, VID_1_400V, VID_1_350V,
		5,
		{
			{PSTATE_MAX,	FID_12X,	VID_1_350V},
			{PSTATE_1,		FID_11X,	VID_1_300V},
			{PSTATE_2,		FID_10X,	VID_1_250V},
			{PSTATE_3,		FID_9X,		VID_1_200V},
			{PSTATE_MIN,	FID_5X,		VID_1_100V},
		}
	},
只々苦痛。 Win32 DDK: RtlQueryRegistryValues: REG_*_SZを扱う場合、必要な領域を確保済みのUNICODE_STRINGへのpointerを与える。 DefaultDataは、UNICODE_STRINGではなく、WCHAR型配列へのpointerを与える。 DefaultLengthは、文字数ではなく、大きさを与える。
September 6, 2006 mCool: 書き殴り続行。 processor毎のparameterのtableを作成、cpuidを得、linerSearch。 /.J: GoogleがPCのマイク音声から見ているテレビ番組を特定するソフトを開発: では、PCの音声をsoftware側で取得不可能にする、 或いは、偽の音声を渡すsoftwareでも作りましょうか。 わざわざ、私が作る必要は無いだろうけど。
September 4, 2006 mCool: buildせず書き殴り状態。 processor毎のparameterを放り込めば、自動遷移するよう記述。 家族旅行をサクッと断る: 私にとって、それは拘置所並に苦しい。 ・クサイ箱(自家用車)に詰められ、搬送 ・箱(宿の部屋)に叩き込まれ、何もせず時が過ぎるのを待つ ・家庭での料理より鮮度の劣る晩食を摂取 ・起床後、解凍した冷凍食品のようなモノを摂取 ・クサイ箱(自家用車)に詰められ、帰宅 parentsがする事と言えば、料理を食してウマイだマズイだのと言い、 部屋に戻り、他の利用客や従業員の悪口を言うだけだ。
September 1, 2006 GyaoとDRM: 正常に見られない原因を探ってみたところ、 CATMAST.cbd CATMAST.cbk HASHMAST.cbd HASHMAST.cbk olddrm.cat wmp.dll 以上fileが、旧いモノや不適切なモノに置き変わっていた。 Virtual PCにSP4統合CDを突っ込み、installし、 正常なfileを取り出し、置換、解決。 Vista Pre-RC1: 悪いところは見えるが、良い点を発見していない。 systemは寡黙であるべき。 コイツはウザイ。
August 30, 2006 memo: mCool: 最低FIDをCPUから取得する事は不可能。 どうやって決定するべきか、悩む。 Athlon 64 FXの、基地外なMaxFIDへの適切な対処法も思い付かないし、 結局、driver内部にtableを用意する方法で行くと決定。 安全な利用時は、Athlon 64 X2の一部のみの対応にする。 table (BrandID, CPUID, MaxFID, MinFID, MaxVID, StartVID) -- (MaxPStateVID, MaxPStateFID, MinPStateVID, MinPStateFID) registry使用でsemiauto可能に細工。 doSemiauto MaxPStateVID, MaxPStateFID, MinPStateVID, MinPStateFID transitToMax, transitToMin, waittimeLoop HT linkが800[MHz]より大きく、PStateFID = 00H(800[MHz])の場合、 PStateFID = 02H(1000[MHz])へ補正する。 先ずは、周波数の遷移のみを自動で行うモノを作成しよう。
August 29, 2006 mCool: ・PCI deviceの検索部分を作成 ・DPCを利用し、任意のprocessorで、任意のprocedureを実行する仕掛けを作成 CnQ: 勝手な解釈。 VDD 恐らく、drain電圧の事。 CPUに加える電圧。 VCO 電圧制御発振器。 VID(Voltage ID?) VDDに対応した値で、高電圧ほど小さい値をとる。 FID(Frequency ID?) 所謂、動作倍率に対応した値。 倍率が高いほど大きい値をとる。 VST(Voltage Stabilization Time) 電圧を上昇させる場合、前回上げた時よりVST以上経過させてから行う。 MVS(Maximum Voltage Step) 電圧を上昇させる場合、一度に上げる量をMVS以下にする。 RVO(Ramp Voltage Offset) 周波数を変更する直前に、周波数に対応した電圧よりもRVOだけ高くし、 周波数変更後に、周波数に対応した電圧に下げる。 IRT(Isochronous Relief Time) 周波数を変更した後、IRTだけ待つ。 遷移手順。 1 (目的の動作電圧+RVO)以上に電圧を上げる。 2 目的の周波数になるまで、動作周波数を遷移させる。  VCOの出力周波数の差を200[MHz]以下とするよう、徐々に変更する事。 3 目的の動作電圧まで下げる。 注意。 dualCoreなprocessorは、同一の動作周波数と動作電圧で動くが、 設定を個別に行う必要がある。 CrystalCPUIDを利用する場合は、動作周波数の変動に注意する事。
August 28, 2006 mCool: conceptは、 ・SE_LOAD_DRIVER_PRIVILEGEを持たない、  PowerUser/Userでも、安全に利用可能  deviceDriverのみで動作する ・SE_LOAD_DRIVER_PRIVILEGEを持つ、  Administrators等は、危険な利用も可能  この場合は、userModeのprogramを使用 仕様を決めるのに苦労しているところ。 ・Windows 2000 Professionalを利用し、  Athlon 64な物理CPUを一つ使用している場合にのみ期待通りに動作する ・安全な利用時は、最高及び最低周波数のみsupportする  その他の周波数や電圧の情報は、CPUから得られない為 ・安全な利用時は、一つ以上のcoreの使用率が80%以上の場合、最高周波数へ遷移、  全てのcoreの使用率が40%未満の場合、最低周波数へ遷移する ・PerfEvtSel3及びPerfCtr3を占有 難しい。
August 27, 2006 temperature: EVERSTの表示より。

センサーのプロパティ	
センサータイプ	ITE IT8712F  (ISA 290h)
GPUセンサー	Maxim MAX6646  (NV-I2C 4Ch)
マザーボード名	Asus A8N-E / A8N-SLI Series
	
温度	
マザーボード	42 ーC  (108 ーF)
CPU	42 ーC  (108 ーF)
GPU	48 ーC  (118 ーF)
GPU周囲	48 ーC  (118 ーF)
Seagate ST3250823AS	45 ーC  (113 ーF)
	
クーリングファン	
CPU	2679 RPM
チップセット	4561 RPM
PCケース	819 RPM
	
電圧	
CPUコア	1.12 V
+3.3 V	3.23 V
+5 V	4.81 V
+12 V	11.71 V
+5 V スタンバイ	4.87 V
VBATバッテリー	3.06 V
Debug Info F	3F CE 25
Debug Info T	42 42 28
Debug Info V	46 00 CA B3 B7 B4 00 (F7)
読むべき資料は、ite.com.tw: IT8712F v0.9.2 及び、amd.com: BIOS and Kernel Developer's Guide for AMD Athlon™ 64 and AMD Opteron™ Processors の二点。 IT8712Fのsensor部分の操作は、LM78と同様、ioport 0x290+5で内部レジスタの値を指定し、 ioport 0x290+6で内部レジスタにaccessする。 `non standard address' と呼ばれる由縁は、内部レジスタの0x60以降が、 LM78のソレと大きく異なるから。 多分、きっと、恐らく。 http://www.geocities.jp/thermal_diode/9bjd.html にもあるように、thermalDiodeの電圧特性の補正を行えるらしいが、 設定値の説明が無く、イミフメな上、設定値を反映しないようだ。 EVERSTが吐いたDebug Infoは、IT8712Fから読み取った値を16進表示したものだ。 Debug Info Tの最左がCPU、中央がM/Bの温度に対応しているらしい。 AMDの資料には、次の怪しい記述がある。  >Revision C.  >MSR C001_0043h (ThermTrip_STATUS Register) deleted. 調べてみたところ、MSR 0xc0010043[21..16]が、CPU温度に連動して変化するようだ。 この値は、EVERSTが示す温度より10~14程度小さく、 双方のcoreが、同じ値を出す。 Athlon 64は、内部にPCI deviceを持っており、 vendor 1022, device 1103のregisterには、 Thermtrip Status Register(0ffset e4)が存在し、 DiodeOffsetSignBit、及び、DiodeOffsetなる、怪しげな値があり、怪しい説明もある。 DiodeOffsetSignBit = 0の場合、DiodeOffsetの値を引き、 DiodeOffsetSignBit = 1の場合、DiodeOffsetの値を足すと良い場合があるとか。 温度周りは、信用できない情報ばかりだ。
August 26, 2006 CnQとか: AMD Athlon™ 64 X2 Dual Core Processor Cool'n'Quiet Driver Windows 2000 ...のようなモノを作ってみようと思い、 amd.com: BIOS and Kernel Developer's Guide for AMD Athlon™ 64 and AMD Opteron™ Processors を眺めてみた。 CrystalCPUIDの処理は、sourcecode同様、美しくないと思ってみる(ぉ 他のsoftwareは、sourcecodeを見られないから無視。
August 25, 2006 冷えない謎、解決策: halmacpi.dll を 5.0.2195.7006 から 5.0.2195.6691 に変更。 Windows 2000 SP4 対応の更新プログラム ロールアップ 1 (KB891861) 内のhalmacpiは罠だ。 結論を先に書く。 microsoft.com: Windows 2000 SP4 ベースのコンピュータに 更新 ロールアップ 1 をインストールした後に、 CPU 温度が異常増加します。 に従い、 ・14140000FFFFFFFF 追記をしろ ついでに、 ・/usepmtimer 追記はするな ・AMD Dual-Core Optimizer をinstallするな msfn.org: Athlon64 X2 has hot idle temp in Windows 2000 pro microsoft.com: Windows XP または Windows 2000 でサウンドの再生速度が遅い場合やサウンドが連続して再生されない場合がある ・/usepmtimer 追記では解決しない ・14140000FFFFFFFF 追記で解決する amd.com: AMD Dual-Core Optimizer 6 2006をinstallすると、 boot.iniの[boot loader]: timeout、[operating systems]の全ての行に' /usepmtimer'を追記するような動作をする。 (行に'/usepmtimer'を含まない場合に追記するか否かは未確認) そして、uninstallした際はboot.iniに触れないようだ。
August 24, 2006 冷えない謎: 『タスク マネージャ上で、CPUを殆ど利用していない状況なのに、CPUが高温のままである件』 について調べてみたところ、CPL 0でhltせずに回り続けている事が判明した。 test_halt.zip W2kJSP4 /ONECPU, Athlon 64 X2 3800+定格, A8N-SLI 7-Zipのbenchmarkを回した場合 kernel 3.386335[%], user 96.613333[%], total 99.999668[%] CPUを殆ど利用していない状況で、1[ms]毎に連続して定数回hltを行った場合 0 kernel 99.877872[%], user 0.121967[%], total 99.999839[%] 1 kernel 67.947573[%], user 0.116155[%], total 68.063728[%] 2 kernel 51.844037[%], user 0.083382[%], total 51.927420[%] 4 kernel 34.391241[%], user 0.079351[%], total 34.470592[%] 8 kernel 21.457087[%], user 0.066978[%], total 21.524064[%] 16 kernel 12.264018[%], user 0.069476[%], total 12.333495[%] 32 kernel 6.659931[%], user 0.081027[%], total 6.740958[%]
August 20, 2006 rdtsc: Athlon 64 X2 Manchester: 4gamer.net: AMD,「デュアルコア版Athlon 64のゲームパフォーマンスを向上する」ユーティリティ「AMD Dual-Core Optimizer」を公開: 今更なネタではあるけど。 >だが,Athlon 64 X2をはじめとするAMD製のデュアルコアCPUでは, >どちらかのコアがHalt命令を発行する(=CPUコアが「アイドル」 >と呼ばれる低負荷状態に移行する)たびに,片方のTSCが停止するようになっていた。 挙動について調べてみた。 手元の環境(W2kJSP4)では、CPU 0或いはCPU 1にのみhltを連打した際、 TSCはhltを連打した方が、していない方に比べ相対的に多く増加した。 正確な挙動について、解明できなかった。
ヒトの多くは:   上を向いて口を開け、   口に入った物について好きだ嫌いだと言っているだけの存在だ より効率的に、このようなヒトに手早くお亡くなりになって頂けるsystemを構築し、 運用すべきだ。 何もしないモノは、存在自体が悪なのだから。
August 15, 2006 softwareによる、Athlon 64 X2のcooling: CPU Eat 'n' Cool Version 1.6.0.0を次のように使用してみたところ、見事にBSODを拝んだ。 0 CPU Eat n Cool.exeを、二つ実行 1 双方、SleepingTimeを1[ms]、BoostFactorを5xに設定 2 片方をCPU0のみ、もう一方をCPU1のみに割り当てた ハナシにならない為、同様のprogramを自作してみた(ぉ 基本的に、Sleepの引数を小さく(SleepingTimeを小さく)、 一度のioctlでのhlt回数を多く(BoostFactor)を大きくする程、 cooling効果は大きい。 室温34[℃]、CPU fanを固定回転数、CPUを1[GHz]、1.12[V]で動作させ、 同様のprogramを、優先度低、SleepingTime 1[ms]、BoostFactor 200(マテで動作させ、 極力他のprogramを動かさない場合において、 双方のCPUに適用した場合 41[℃] CPU0にのみ適用した場合  43[℃] CPU1にのみ適用した場合  43[℃] 未使用の場合       45[℃] で安定した。 2[GHz]、1.3[V]では、 双方のCPUに適用した場合 45[℃] CPU0にのみ適用した場合  48[℃] CPU1にのみ適用した場合  48[℃] 未使用の場合       55[℃] で安定した。 電圧/動作周波数変更で10[℃]  (2[GHz]/1.3[V]/55[℃] → 1[GHz]/1.12[V]/45[℃])、 自作programで更に4[℃]     (1[GHz]/1.12[V]/未使用/45[℃] → 1[GHz]/1.12[V]/双方のCPU/41[℃]) 下げられたと言える。 ...が、逆に、 自作programで10[℃]        (2[GHz]/1.3[V]/未使用/55[℃] → 2[GHz]/1.3[V]/双方のCPU/45[℃])、 電圧/動作周波数変更で更に4[℃]   (2[GHz]/1.3[V]/45[℃] → 1[GHz]/1.12[V]/41[℃]) 下げられたとも言える。 定格の電圧や動作周波数を維持し、hltを発行するだけで、最大10[℃]下げられた。 AMD、NVIDIA、ASUSのうち、少なくとも一社の技術力は怪しい。
August 12, 2006 VACSが、ヤフー株式会社の手に落ちている: 生き残るモノは、外道なところだけなのだろうか。 例えば、JUSTSYSTEMのような。