[HOME]  [リストへもどる]
一括表示

  BIOS CALL で時計表示 - Konno 05/12/21-07:12 No.908

(908) 908BIOS CALL で時計表示  投稿者: Konno   2005/12/21(水) 07:12


某板塀でも同じような話題を蒔いていますが、現在のkVZの時計表示は
WinXPでは正確な表示が出来ません。サスペンドしたり、DOS窓のタスクを
止めると時計も止まってしまい、時間表示が遅れてしまいます。
これでは使い物にならないので、何とかならないかと思い、時間の取得を
DOS CALL から、BIOS CALL に変えてみたところ、時計は止まらなくなりま
した。\(^^)/ やったぁ

また、WinCE の98エミュでも同様な問題があるので、98版も BIOS CALL に
変えてみようと思い、板塀で質問したしだいです。おかげさまで 98版も
出来ました。としきさん、ありがとうございます。

結果としては WinCE 上では改善されませんでしたが、またひとつ知識を
深めることが出来、良い勉強になりました。下にそのマクロを貼り付けます。
起動キーをリピートさせれば、kVZ なら BIOS CALL と DOS CALL の違いが
判り易いと思います。

=time.def

*m
80 ^\ "time" 
#if kVZ
 tm1,
#endif

#if 98
ax$0000,&> bx=r,&i($1c) h=bx.3,b=bx.5,
&m("BiosTime=%02x:%02x:%02x   bx=%02x %02x %02x",h,bx.4,b,bx.3,bx.4,bx.5)
#else
ax$0200,&i($1a)h=cx/256,m=cx-h*256,
&m("BiosTime=%02x:%02x:%02x   cx=%04x dx=%04x",h,m,dx>>8,cx,dx)
#endif

#if kVZ
 tm0,ax$2c00,&i($21)h=cx/256,m=cx-h*256,
&m(" DosTime=%02d:%02d:%02d   cx=%04x dx=%04x",h,m,dx/256,cx,dx)
#endif

.
00: (3+$)."[6]"
*
      - No.908 -    このTreeへ           [リストへもどる] pre