🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.sys.pc98
Article #301

Matome: Q. on using timer IC

#301
From: Takashi Yoshimi
Date: Mon, 31 Aug 1992 02:15
107 lines
5633 bytes
吉見@電総研です。
先日投稿した下記の質問記事に対して親切なフォロー、リプライを大変たくさ
んいただきました。

On 08/26/92(13:54) yoshimi@etl.go.jp (Takashi Yoshimi) wrote
in <gcmVU.yoshimi@etl.go.jp> (fj.sys.pc98:3736/etlss2-gw):
 |吉見@電総研です。
 |
 |現在、PC-98 上でストップウォッチのプログラムを作ろうとしています。
 |
 |タイマIC からの割り込みで外部変数を増加するようにしておいて、キー入力
 |があるとその値を読みに行かせるプログラムを書きましたが、うまく動作しま
 |せん。
(略)
 |次のような情報がいただけるとありがたいです。
 |
 |1:そのような関数がすでにある。市販、PDS etc..
 |2:この本に詳しい。

お返事をまとめてみます。

<<<最所圭三@九大さん:>>>
 Message-ID: <SAI.92Aug26162017@reiko.keisu.kyushu-u.ac.jp>
On 08/26/92(16:20) sai@keisu.kyushu-u.ac.jp (Keizo SAISHO) wrote
in <SAI.92Aug26162017@reiko.keisu.kyushu-u.ac.jp> (fj.sys.pc98:3737/etlss2-gw):
 |割込み処理部のプログラムを見て気づいたのですが、DS の値が不定ですね。

<<<ちはやぶる@東洋電機さん:>>>
 Message-ID: <matsuno.92Aug26183511@ainec1.lab.toyodenki.co.jp>
On 08/26/92(18:35) matsuno@ainec1.lab.toyodenki.co.jp (MATSUNO Yoshiaki) wrote
in <matsuno.92Aug26183511@ainec1.lab.toyodenki.co.jp> (fj.sys.pc98:3738/etlss2-gw):
 |  8086 の場合,割込みハンドラに制御が渡った時点で信頼できるセグメント
 |レジスタは CS だけです。したがって,DS をしかるべき値(incount などの
 |存在するセグメント値)にセットしてからアクセスしなければなりません。そ
(略)
 |  ところで分解能が 10ms ということですから,タイマー BIOS をお使いになっ
 |た方が少し簡単になると思います。クロックが 5MHz 系か 8MHz 系か気にせず
(略)
 |  一度,苦労すればこつがわかります。セグメントレジスタをセットし忘れる
 |というのは誰もが通る道ですね。はい,私も。(^_^)

<<<奥山@IBMさん:>>>
 Message-ID: <OKUYAMA.92Aug27220517@nasu.trl.ibm.co.jp>
On 08/27/92(22:05) okuyama@trl.ibm.co.jp (Kenichi Okuyama) wrote
in <OKUYAMA.92Aug27220517@nasu.trl.ibm.co.jp> (fj.sys.pc98:3747/etlss2-gw):
 |割り込みがかかる直前に実行されていたプログラムが
 |自分自身だけとは限らない。マウスドライバーや
 |キードライバー、HD ドライバーだったら、どこに何を書きにいくか
 |わからない。だから、変数は CS 相対にするか、DS を何とかして
 |覚えておくか、どちらかしかない。この場合は、DS 相対の変数が
 |結構多そうなので CS 相対の場所に DS の値を記録しておく。

また、メイルでは、
松田@脳機能.電総研さん
伊藤@筑波大学生物さん
森川@製品科学研究所さん
豊橋技術科学大学 情報工学系 塩見さん

電話で
内堀@電総研さん

からも親切なアドバイスを受けました。特に引用可能とは書かれていませんで
したので内容は引用しませんが、ほぼ似た内容です。松田さん、塩見さんには
プログラムまで送っていただきました。

いただいたフォロー、リプライをまとめますと、
1) 吉見のプログラムでは DS が不定である。これを保持しておかなければい
けない。

というのが当初のプログラムのバグだったようです。また、この10ms単位の計
時ををもっと簡単に実現する方法として

2)タイマーBIOS を使う方法がある

というのは初めて知りました。ああ、そうだったのかあ。システムで利用でき
る時計は1秒単位のやつだけだとばっかり思っていたので、参考書を見ても読
み飛ばしていたようです。恥ずかしい。

3)参考書
pc9801 スーパーテクニック
「新版 PC9801 テクニカルデータブック」
を奨めていただきました。


みなさま、大変ありがとうございました。


さて、このように教えていただいた内容をさっそく試して報告すればよいので
すが、先週からプライベートが大変に忙しくなってしまって、すぐに対応でき
ません。結果報告についてはしばらくお待ち下さい。申し訳ない。


あ、もうひとつ。

「新版PC9801テクニカルデータブック」の「カレンダ時計、タイマ」の章を読
むと、「インターバルタイマのリピートモードはハイレゾモードのみ」と書い
てあります。ノーマル、ハイレゾの区別のない LT や N* では使えない機能と
考えていいのでしょうか。

----------
吉見 隆(よしみ たかし)0x21歳 妻1人(1959.Jun.19) yoshimi@etl.go.jp
[所属]電子技術総合研究所知能システム部視覚情報研究室[仕事]コンピュータビジョン,
[好]美和ちゃん,SF,漫画,車,バイク,ばか話,ゲーム,映画,ビデオ,テニス,スキー,
銀玉鉄砲,AlanParsonsProject,刀根麻理子[嫌]たばこ(のみ,会社,広告,etc.),mohta

                          619
                           ~    Copyright 1988-1992 Takashi YOSHIMI
Technical Details
Message-ID: <geNH-.yoshimi@etl.go.jp>
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!sun-barr!sh.wide!wnoc-tyo-news!etl.go.jp!yoshimi
References: <gcmVU.yoshimi@etl.go.jp> <SAI.92Aug26162017@reiko.keisu.kyushu-u.ac.jp> <matsuno.92Aug26183511@ainec1.lab.toyodenki.co.jp> <MATSUNO.92Aug26211548@ainec1.lab.toyodenki.co.jp> <OKUYAMA.92Aug27220517@nasu.trl.ibm.co.jp>

Show Full Headers
Complete Article Headers
Newsgroups: fj.sys.pc98
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!sun-barr!sh.wide!wnoc-tyo-news!etl.go.jp!yoshimi
From: yoshimi@etl.go.jp (Takashi Yoshimi)
Subject: Matome: Q. on using timer IC
Content-Type: text/plain; charset=ISO-2022-JP
Message-ID: <geNH-.yoshimi@etl.go.jp>
Reply-To: yoshimi@etl.go.jp (Shikaku ex5958)
Organization: Electrotechnical Laboratory, Tsukuba Science City
References: <gcmVU.yoshimi@etl.go.jp>    
 <SAI.92Aug26162017@reiko.keisu.kyushu-u.ac.jp>   
 <matsuno.92Aug26183511@ainec1.lab.toyodenki.co.jp>  
 <MATSUNO.92Aug26211548@ainec1.lab.toyodenki.co.jp> 
 <OKUYAMA.92Aug27220517@nasu.trl.ibm.co.jp>
Mime-Version: 1.0
Distribution: fj
Date: Mon, 31 Aug 1992 02:15:35 GMT
Lines: 107