ResDate

2001/10/28 更新

ダウンロード

ResDate について



            ResDate  Ver.1.06   Copyright (C) 2001  K.Takata


1.概要
     PC-98 Note で Win95 を使うと、タイムスタンプの日付が狂うという現象
    が発生します。このソフトはタイムスタンプの日付のずれを自動的に修正す
    るソフトです。
     同種のソフトで ResTime(*1) というソフトが良く知られていますが、
    ResDate はそれとは違い、日付のずれしかチェックしていません。そのため
    タイムスタンプの修正回数が少なくなり、それに伴い、タイムスタンプの修
    正で起こるシステムクロックのずれも少なくなります。またリソースやメモ
    リの使用量も ResDate の方が少し少ないはずです。
     秋月で発売されている電波時計キットを所有している場合は、このソフト
    よりも拙作の Dempa(*2) をお薦めします。

    (*1) http://www.vector.co.jp/soft/win95/util/se032433.html
    (*2) http://member.nifty.ne.jp/k-takata/mysoft/dempa.html


2.動作環境
    ・PC-98 Note, Win95


3.インストール方法
     まず、下記のサイトからタイマードライバのアップデートモジュールをダ
    ウンロードして、VTD.VxD を最新のものにしておいてください。なお、間違
    ったバージョンをインストールすると Win95 が起動しなくなることがあり
    ますので十分に注意してください。(実際 Ls150 に VTDUPD2 の方をインス
    トールしてみたところ起動しなくなりました。)
      http://www.microsoft.com/japan/win95/modules/pc98.htm

     次に、実行ファイルを適当なディレクトリに入れて、ResDate.exe をスタ
    ートアップに登録してください。必要に応じて ResDCtrl.exe をスタートメ
    ニューやデスクトップに登録してください。ResDate.exe, ResDCtrl.exe,
    ResDVxD.VxD, ResDate.ini は同じディレクトリに入れておいてください。
     バージョンアップの際には ResDCtrl を使って ResDate を終了させてお
    いてください。


4.使用方法
     ResDate.exe をスタートアップに登録しておけば特にするべきことはあり
    ません。ResDate の起動時、サスペンド状態から復帰したとき(レジューム
    時)、および日付が替わった直後(00:00:01 頃)に、タイムスタンプの日
    付が狂っていないかをチェックして、狂っている場合は自動的に修正します。
    タイムスタンプの日付をチェックする際には、ピッと音が鳴ります。タイム
    スタンプを修正した場合には、ピピッと2連続で音が鳴ります。
     ResDate を実行すると、ResDate.exe と同じディレクトリに ResDate.log
    というファイルが作られ、ログが書き込まれます。ログの内容を見るには
    ResDCtrl を起動してください。タイムスタンプのチェックが行われるとロ
    グには "ResetTimeStamp (ret:n)" と書き込まれます。n = 0 は、タイムス
    タンプの日付が狂っていなかったことを示します。n = 1,2,3,4,5 は、日付
    が狂っていたので修正が行われたことを示します。このときの n の値は修
    正を試みた回数です。n = -1 は、日付が狂っていたので修正を試みたが、
    修正に失敗したことを示します。
     ResDCtrl は、ログを表示するだけでなく、ResDate を一旦終了させたり、
    再開させることもできます。他に、Windows の起動後の経過時間も表示して
    います。


     ResDate.ini の内容は標準では以下のようになっています。エディタなど
    を使って手動で設定を変更してください。

        [ResDate]
        UseVxD=0

     UseVxD             現在時刻を取得するために ResDVxD.VxD を使用す
                        る場合には 1 を、通常の Win32API を使用する場合
                        には 0 を指定します。
                         POWERCUT などの一部の特殊なソフトを使っている
                        と、VxD や DOS アプリが取得した時刻は正常である
                        にも関わらず、Win32 アプリが取得した時刻は実際の
                        時間より数秒〜数分遅れているという現象が発生する
                        ことがあります。この現象が発生している最中に、タ
                        イムスタンプの修正が行われると、パソコンの時計は
                        大幅に狂ってしまいます。ResDVxD.VxD を使用するよ
                        うにすればこれを回避することができます。



5.アンインストール方法
     説明するまでもありません。停止させてから適当に削除しちゃってくださ
    い。


6.コンパイル方法
     このプログラムのコンパイルには Visual C++ 6.0, Windows98 DDK(*3)
    を利用しています。
     EXE ファイルをコンパイルするには、VC++ に path が通っている状態で、
        > nmake -f resdate.mak
        > nmake -f resdctrl.mak
    と入力するとコンパイルできます。

     VxD をコンパイルするには、スタートメニューから Free Build
    Environment を立ち上げ、コマンドラインから、
        > nmake -f resdvxd.mak
    と入力するとコンパイルできます。

    (*3)
      Windows98 DDK は、
      http://www.microsoft.com/ddk/
      からダウンロード可能。


7.更新履歴
    2001/08/31  Ver.1.00
        ・最初の公開バージョン。

    2001/09/23  Ver.1.01
        ・タイムスタンプ修正時の時刻のずれを少なくした。(hrtimer.sys,
          vhrtd.vxd を使っていても ms 単位での時刻の設定はできないようで
          ある。)
        ・ResDCtrl を少し修正。

    2001/10/09  Ver.1.02
        ・POWERCUT などの一部のソフトを使っていると、パソコンの時計が大
          幅に狂うことがあったのを回避できるようにした。

    2001/10/20  Ver.1.03
        ・一部のコードを ResDate.exe から ResDVxD.VxD に移した。

    2001/10/23  Ver.1.04
        ・Ver.1.03 で混入した致命的バグを修正。(VxD で時刻取得時に無限
          ループになっていた。)
        ・VxD で時刻を取得する場合に問題が起こることがあることが発覚。
          Win95 でタイムスタンプが1日ずれる現象が、実は VxD でも発生し
          ていたようである。とりあえず、時刻の取得に VxD を使用しないよ
          うに、初期値を変更しておいた。なお根本的な対策は次の機会に回す。

    2001/10/24  Ver.1.05
        ・VxD で時刻を取得する場合に日付が1日ずれることがある現象に対す
          る対策を行った。(VxD と API の両方で時刻を取得して、2つの差
          が 23:59:00 より大きいときは、VxD で取得した時刻を 24:00:00 ず
          らして利用することにしておいた。)

    2001/10/28  Ver.1.06
        ・VxD で時刻を取得する設定にしてあっても、レジューム直後の時刻取
          得には VxD を利用しないようにした。(レジューム直後は VxD で取
          得した時刻は、ずれが大きいようである。)


8.注意事項、その他
    ・このプログラムはフリーソフトウェアです。
    ・このプログラムの著作権は作者である私 K.Takata(高田 謙)に帰属しま
      す。
    ・もしこのプログラムを使用することで何らかの問題が発生しても作者はい
      っさいの責任を負いません。各自の責任で使用してください。
    ・アーカイブを変更しない限り配布/転載は自由です。
    ・リバースエンジニアリングの禁止はいたしません。
    ・このプログラムを元にして新たなプログラムを作って公開する際は、その
      ことを明記しなければなりません。
      a.  このプログラムのソースを元に新たなプログラムを作って公開する際
          は、ソースを公開しなければなりません。
      b.  このプログラムをリバースエンジニアリングして新たなプログラムを
          作って公開する際は、そのプログラムのリバースエンジニアリングを
          禁止してはなりません。

        作者   : K.Takata(高田 謙)
        E-mail : kentkt@anet.ne.jp, HZL03275@nifty.ne.jp
        URL    : http://webs.to/ken/

戻る

Copyright (C) 2001 K.Takata