雑談所

ブログのような掲示板。コメントなんか有ったら書き込みどうぞ。

Ads by Google

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

7-zip32.dll Ver4.65.00.00 beta

遅れに遅れまくっていますが7-zip32.dll Ver4.65.00.01のベータ版になります。
とりあえず7-zipのVer4.65を適用し幾つかバグを取り除いた物になります。
はっきり言ってデバッグは相当不十分です。と言うかして無いも同然レベルです。

7-zip Ver4.65で新たに追加されたスイッチの確認はmcl,mcu(zipのunicodeファイル名対応)だけです。
あとはまだ確認していません。mtcなるものも増えてるようですが完全にスルーです。
それから内蔵SFXの方も前バージョンのままです。正式バージョンではVer4.65を適用する予定です。
他にも不具合は沢山あると思います。ベータ版なのであくまでテスト用です。その辺ご理解いただける方のみこちらからダウンロードしてお使いください。不具合があれば報告していただけると助かります。

7-zip32.dll Ver4.65.00.00 ダウンロード


気が付けば1年以上更新して無かったので生存表明をば。

サーバ移転作業中

昨日あたりからサーバの調子が不調のようなので別のサーバへ移転作業を行ってます。
しかしサーバの状態がダメダメなので移転作業すら進めません。
メールも届かずに消えてしまってますのでメールを送ったのに返事が無いよと言う方はすみませんがもう一度送信願います。エラーメールも返らない場合もある最悪の状況です。
ただ、今のアドレスに送信しても届きませんので一時的ですがこちらまで送信願います。
メールは移転完了出来てたようです。通常のアドレスに再送信をお願いします。

スクリーンセーバー【ぐるぐる】 Ver1.10

作ったソフトを一通り修正して回ってみるか企画休止と思いきや第四弾。
バグ報告を受けかなりひどいバグ持ちだったので修正をしました。
例によって大昔に作ったソフトはソースが余りに酷くメインの部分は完全に作り直しとなってます。
変数名が日本語だったり、まだそれは内部の事なので良いのですがiniファイルに保存する名前のスペルが間違ってたり(speadって何だろう?)駄目だコイツ・・・早く何とかしないと・・・状態。

スペックの良いマシンを使っても回転速度がWin9xでどうしても上がらなかったのですが原因はタイマーの精度が9xの場合悪く速く呼ばれなくてそれがネックになってました。
それを自前のタイマーを作ることで解決。速度は速くしようとすればもっと速く出来ましたがまともに見えなくなるので制限を掛けました。
それから渦巻きを動的に作成する事で色を付けることが出来るようになってます。でも色を変えると気持ち悪さ倍増です。
さらにこれでファイルサイズを減らすことは出来ましたが画面の作成をするのに時間が掛ってしまうので苦肉の策で静止画を表示する機能を追加しました。
デフォルトの画像はNASAのオーロラの画像を使っています。Vistaに付属している画像にオーロラの画像が有るのですが、歪んでるときの揺らめきが良い感じだったので自由に使えるオーロラの画像を探してたらウィキペディアに発見、で使わせてもらってます。トリミングをして解像度を落としてるので元画像はウィキペディアのオーロラの項目を見てください。NASAのサイトにも有るはずですが何処に有るのかはちょっと不明です。
他にも入道雲とか宇宙の画像もかなり神秘的になるのでお勧め。宇宙の画像はNASAのサイトに山ほど転がってます。どれも秀逸です。
-修正追記-
確認したらNASAじゃなくてアメリカ空軍でした。何でNASAだと勘違いしたんだろう?
Readme.txtの説明も間違ってるので急きょ修正差し替えしてます。

のんびりやってたら修正に3ヶ月も掛ってしまいましたね。怠け過ぎかな?
今後はFTPソフトの開発に戻ります。愛用ソフトはフリーじゃなくなってしまったし。でも完成まで5年ぐらいかかりそうなペースだなぁ。まだガワしか作ってないし。


以下、更新点の詳細です。
【“スクリーンセーバー【ぐるぐる】 Ver1.10”の続きを読む】

NALT Ver1.20

時刻取得に関し大きなミスに気がついたので修正版です。
修正しているうちに色々直したいところもあれこれ出てきたので一緒に修正。

NTPサーバから取得される時間が一定でないのはネットワークの遅延のせいだと思ってましたが、調べてみた結果ミリ秒の取得方法は取得したデータ×200ピコ秒ではなく32bitの小数点で計算方法が違ってました。
RFCには「約200ピコ秒の精度」って書いてあるのを勘違い。参考にしたサンプルも200ピコ秒で計算してましたし。
答えは(取得したデータ×1000)>>32が正解ですね。
RFCは間違ってない、確かに"約"だし。

それから他にも精度の悪いGetTickCountを使うのやめてQueryPerformanceCounterで計算したりして精度を高めテストした環境では1ms以下の誤差で修正できるようになりました。
ただし、OSがME(多分9x系は)だとSetLocalTimeの際に時刻がずれてしまう様なのでどうしても少し誤差が発生してしまいますね。

これら機能修正のためにファイルサイズが大きくなってしまったので一旦はソースをほぼアセンブラ化。
ただ、リリースバージョンを後で逆アセンブラとかして調べてみるとアセンブラ化した事で逆にサイズが増えてた部分も多々あり結局大分元に戻しましたが。VC++の最適化は凄いと噂には聞いてはいましたが実際に調べてみると凄いですね。
それでもなんだかんだで機能を増やしたにも係わらず100バイト程度の削減に成功。とは言え512バイト減らさないとファイルサイズは変わらないので見た目変化ありませんが。

実はこのバージョンは一月以上前には完成していて何時でも公開できる状態でしたが色んなPCで動作テスト(環境の違いでどの程度誤差が出るか)してみたくて暫く放置。
ネットカフェとかのPCでテストしてみようかなと思ってましたが、実際に行ってテストしようとすると動作せず。WindowsのTimeサービスもエラーで止まってるのでどうもルータ辺りでNTPのポートが塞がれてる様子。
試したのは2店だけですが結構セキュリティーしっかりしてるもんですね。PC自体はadmin権限で動作してるから甘いと思ってましたが。
結局テストは手元の環境の2台だけしかしてませんが、せっかく作ったのにこれ以上放置するのもなんなので公開することにします。


一通り修正してみる企画はひとまずこれで休止。結局3つだけしか直してないですね。まぁ後は殆ど需要ないですから直す気になれません。
今は個人用にソフトを作ってますので暫く他のソフトのバージョンアップは何かしら無ければしないでしょう。
この頃と言っても大分前からですが愛用していた某FTPソフトの改悪が酷くまともに動かなくなってるので自分に必要な機能だけを絞ったクローンでも作ろうかなと設計中。
旧バージョンを使えれば良いのですが起動時にバージョンチェックしてて古いバージョンは起動できない設計になってるのでどうしようもありません。
まともなのが完成したら公開するかも知れませんが、結構面倒なソフトだし途中で投げ出す可能性も大なので期待しないでください。
・・・最初から期待などしてない?これまた失礼しました(汗


以下、修正点の詳細です。
【“NALT Ver1.20”の続きを読む】

Speeeeed Ver1.51

置換えリストエディタにバグがあったので修正です。
長い文字列を登録しても保存時に256バイト以降が勝手に削除されてました。
あと、ちょっとしたGUIのバグ修正も。

どうやらリストコントロールに問題がある感じ。
リストコントロールにLVM_GETITEMTEXTを投げ戻る値は通常ならLVITEM構造体のcchTextMaxで指定したサイズより文字列が大きい場合は、cchTextMax-1だけコピーし最後に\0を付加し戻り値としてcchTextMax-1が返りますが、2バイト文字が含まれる場合cchTextMaxコピーしcchTextMaxを返します。
そのため、MFCの実装でもし戻り値が用意したバッファ-1のサイズならサイズを確保しなおし再取得する訳ですが、一つ大きい値が返ってくるのでそこで処理が終わってしまい後ろが切れてしまいます。
# ただしUnicode版(W版)では発生しないと思われます。

この問題結構影響大きいですね。
Clipyも同様に後ろが切れるバグ抱えてます。
とは言えClipyにおいてNT系はW版のAPI使ってるので9x系でしか起きない問題ですが。

他に最近アセンブラで色々遊んでるので文字列検索のルーチンをアセンブラ化して更に高速化させようかと思ったけどVC++の最適化ってかなり凄いので下手に弄ったら余計遅くなるような気もしたのでこれはヤメ。
サイズの最適化なら上手くできてるか簡単に把握できますが速度の最適化は環境によっても変わるから確かめにくいですし。


では以下更新点の詳細です。
【“Speeeeed Ver1.51”の続きを読む】
次のページ

新規記事の投稿


FC2Ad

FC2ブログ