• 締切済み
  • 困ってます

N88BASICのINPUT WAIT関数について

N88BASICのINPUT WAIT関数の待ち時間は仕様では0.1秒単位となってますが、最近のPC98(Pentiumマシン)では0.003秒単位ぐらいになってしまうようです(実測してみました)。 これを解決する方法はないものでしょうか? N88BASIC ver.5を使用しています。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数807
  • ありがとう数10

みんなの回答

  • 回答No.2
  • ARC
  • ベストアンサー率46% (643/1383)

「Waitを一定回数実行する」んじゃなしに、「Timer値が指定時刻になるまでループをまわす」って感じで記述してやれば良いんじゃないでしょうか。

参考URL:
もう忘れた(^^;) >N88BASIC

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • msec単位のWait Timerが作れない!

    引数で渡した値だけ待つ関数を作っているのですが、うまくいきません。 OS:WindowsXP Professional (SP1) プラットホーム:Visual C++ Ver7 アプリケーション:コンソールタイプ 失敗例1:Sleep()関数を用いた。 結果:15msec以下の設定が出来なかった。 (1/64secの整数倍でないとズレが生じた) 失敗例2:Clock()関数を使って以下のルーチンを作成 void WaitTimer( clock_t wait ) { register clock_t goal; goal = clock() + wait; while( goal > clock()); } 結果:失敗例1と同じ結果。 どうやら(スレッドか何かはわかりませんが)64Hz周期の何かがあるようです。   何方か10msec単位(±1msec)のWaitTimerを作ったことがある方、是非ノウハウを教えてください!

  • n88basicMS-DOS版の使い方

    PC-9821V12で使用していたN88-日本語basic(86)(MS-DOS版)(Ver.6.0)を、SOTECのPCであるPC-STATIONで使う方法を教えてください。 SOTECのPC-STATIONはWindows XP(professional)の仕様で、内臓ドライブは、ハードディスクは1台でC:とD:のドライブがあり、フロッピーディスク(以降FDと略)、CD(rewritable)、DVDromの各ドライブが各1台あります。 MS-DOSのシステムとN88-日本語basic(86)(MS-DOS版)(Ver.6.0)をインスト-ルしたフロッピーディスクがあり、これをPC-9821V12のフロッピーディスクドライブ(以降FDDと略)に挿入して起動すると、N88Basicが自動的に起動します。 このFDをSOTECのPC-STATIONのFDDに挿入してPCを起動すると、自動起動しません。 SOTECのPC-STATION用に作成したMS-DOS起動ディスクを作成してPCを起動すると、MS-DOSが起動します。 そこでFDを先ほどのN88-日本語basic(86)(MS-DOS版)(Ver.6.0)に差し替えて、「n88basic」と入力してもN88basicが立ち上がりません。 また差し替えた直後にコマンドの「DIR」+「ENTER」と打つと、 「Secter not found reading drive A Abort, Retry, Fail?」と表示されるので、 「a」+「ENTER」と打つと 「Secter not found reading drive A Invalid COMMAND.COM Enter correct name of Commnd Interpriter (eg. C:\ COMMND.COM)」と表示されます。 これは何を意味するのでしょうか? また、Windows XPを立ち上げ、MS-DOSの「コマンドプロンプト」画面を呼び出すと、「C:\>」の表示が出るので、FDD(ドライブはA:)にN88-日本語basic(86)(MS-DOS版)(Ver.6.0)を挿入し、「CD A:\」と入力すると、「Windows 不明なディスクフォーマット」とタイトルの付いた別のウィンドウが表示され、その中で「Exeption Processing Message c0000014 Parameter 764cbf9c 4 764cbf9c 764cbf9c」が表示されました。 またコマンドプロンプト「C:\> CD A:\」の後には、「ディスクメディアを認識できません。フォーマットされてない可能性があります。」と表示されました。 これらのことは、N88-日本語basic(86)(MS-DOS版)(Ver.6.0)がPC-STATIONでは認識できない異なったMS-DOSのシステムであると思われます。 これらの原因や、どうしたらPC-STATIONでN88-日本語basic(86)(MS-DOS版)(Ver.6.0)が使えるかが知りたく、ご回答よろしくお願いします。

  • 【ソケット通信】TIME_WAITを0にする方法

    【現状】 VC#でソケット通信のソフトを作成しています。 【問題】 クライアント―サーバ型のソケット通信をしようとしているのですが、切断後すぐに再接続できないという問題が生じております。 【調査結果】 調べたところ、TCP/IPの状態遷移でアクティブクローズ側がTIME_WAIT状態になることが分かっています。TIME_WAITの設定値には意味合いがあり、漂流中の重複パケットの問題を回避するためや最後のACK再送のためであることは理解しております。 【やりたいこと】 今回は基本的に1:1通信でルータを挟まずにやりとりするネットワークなので、TIME_WAITを0、もしくは数msecにしたいと考えています。 ※ 同じIPアドレス、ポート番号で接続したい為(ポート固定での再接続) 【自分で出した解決案の一つ】 どうもサーバ(Listenする側)からアクティブクローズすると、TIME_WAITは生じるもののクライアントから接続要求を出すと同じポートからでももう一度接続できてしまうというのは判明したので、必ずサーバから切断要求を出す仕様にすればTIME_WAITが0になるように思われます。 ただし、なぜ再接続できるのかは不明のため、すっきりしない(&環境や設定が異なると再接続できない可能性あり) 【質問】 (1) クライアント側からアクティブクローズする場合に、TIME_WAIT状態を1秒未満に設定する方法はありますか?(VC#で) (2) サーバからアクティブクローズした場合に、なぜ再接続できてしまうのでしょうか? 以上の2点の質問に、どうかご回答のほどよろしくお願いいたします。

  • 回答No.1
noname#9414

ループを数百回回すというのはどうでしょうか。 0.1秒待たせたいのならば、300回も回せば、 十分だと思いますよ。 おそらく、WAIT関数で、数クロック待たせている だけだと思うので、クロック数の高い最近の CPUでは早くなってしまうのだと思います。 ではでは☆

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • N88basicを用いたGPIB制御

    はじめまして。 GPIB,N88basic共に初心者なのですが、N88basicでGPIBを通し デジマルのデータをpcに読み込むプログラムを作ることになりました。 OSはwindows95です。 デジマルの業者からN88basicのサンプルプログラムを送って頂き、 その内容は理解できました。 しかし、このプログラムでは制御ができるか疑問です。 GPIBボードの番号、DLLの呼び出し等に触れていないからです。 N88 basicでは、ボードのDLLを呼び出さなくてもいいのでしょうか。 visual basic,F-basicについては調べてわかったのですが、 N88basicだけはどうしてもわかりませんでした。 どなたか詳しい方いらっしゃいましたら、どうか教えていただけないでしょうか。 ちなみに、サンプルプログラムは下記のものです。 10 DMM=1 'TR6847 GP-IB address 20 ' 30 CMD DELIM=0 'delimiter CR+LF 40 ISET IFC 'interface clear 50 ISET REN 'remote enable 60 ' 70 PRINT @DMM;"Z" 'TR6847 initialize 80 FOR W=0 TO 1000 : NEXT 'time wait 90 ' 100 PRINT @DMM;"F2" 'function.........VAC 110 PRINT @DMM;"R3" 'range............300mV 120 PRINT @DMM;"M1" 'sampling mode....HOLD 130 ' 140 FOR N=1 TO 10 150 PRINT @DMM;"E" 'measuring start 160 INPUT @DMM;DA$ 'data read 170 PRINT DA$ 180 NEXT N 190 ' 200 PRINT @DMM;"M0" 'sampling mode....FREE RUN 210 ' 220 END お手間をおかけ致しますが、どうかお願いいたします。

  • input要素のtype属性を変えたい

    携帯サイトのパスワード入力フォームで、最後に入力した1文字だけ表示し、他をマスクするというものがあり、面白いなと思ってPCサイト用にJavascriptで作ってみようと思いました。HTML部に <input type="password" id="pass" /> と書き、初期設定としてJavascript部に window.onload = function() {   var input = document.getElementById("pass");   input.type = "text";   input.onkeydown = 実装する関数; } と書いています。これはHTMLにイベントハンドラを設定したくない(HTMLとJavascriptを分離させたい)からです。type属性がpasswordだとどうやっても文字は見えないので、textに変えてキーが押されるごとに最後の文字以外をマスクしてvalueに挿入する方法を考えていますが、これがうまくいきません。どうやらtype属性は値を取得することは可能ですが、挿入(置き換え)することはできないようなのです(ここでエラーが起こっているようです)。他に input.removeAttribute("type"); input.appendAttribute("type", "text"); といったやり方も試してみましたが、うまくいきませんでした。 これは仕様で、どうやっても無理なのでしょうか? <input type="password" /> を <input type="text" /> に変えれば対処できる問題ですが、Javascript不使用ユーザーにも対応できるようにしたいので、なんとか<input type="password" />形式のまま解決できませんでしょうか?

  • 消費電力計算

    サーバーマシンの消費電力を測定しました。 マシンはHP ML150です。 YEN製電力計を使い、最大で約380Wという値でした。 また、アイドル時は、約170W。 アイドル時にクランプメーターで電流を測定したところ、1.6Aでした。 質問です。 このマシンの力率はほぼ1ということでしょうか? PCなどは、0.7前後と聞いた事がありますが、最近のマシンは違うのでしょうか? 仕様書では、定格入力電力 930W(最大) となっていますが、実測はその40%程です。 仕様書どおりに計算すると、20Aブレーカーからは2台しか電源が取れなくなります。 実測値で計算すれば4台は接続できるし、UPSの容量も変わって来ます。 このあたりは、どのように考えれば良いのでしょうか? 設計思想にかかわる部分なので、ノウハウは出せない、と言われればそれまでですが・・ そもそも、仕様書と実測値がここまでかけ離れてしまうのはなぜでしょうか? 以上よろしくお願いします。

  • 文字列の数値変換(それだけなのですが・・・)

    ファイルに角度とCOSとSINのデータが入っていて、 それぞれ360個あります。 この時、SINとCOSのデータを文字列でINPUTしてBASICの中で数値化(VAL関数で)したいのですが、全部0になってしまいます。倍精度(#)、単精度(!)共に試しましたが 駄目でした。 どなたか解決策を教えて下さい。(データは小数点以下6から7)

  • 1秒未満間隔のファイル更新について

    皆様 下記のようなプログラム(Perl)で、1秒未満のファイル更新を試みております。sleep(1)として、待ち時間を1秒とすると、data.txtに時刻が更新されますが、sleep(0.8)、sleep(0.5)等として待ち時間を1秒未満にすると、プログラムは動作するのですが、data.txtはファイルとして作成されません。 これは、printf()関数のバッファリング、及びフラッシュに関する仕様に起因するものと思われますが、1秒未満の間隔でdata.txtを更新して時刻をdata.txtに書き込む処理は可能でしょうか? #強制フラッシュの"$| = 1;"を使い、sleep(0.8)としても駄目でした。 すみませんが、よろしくお願いします。 (コード) #use Time::HiRes; #$| = 1; while(){ ($sec, $min, $hour, $day, $mon, $year) = localtime(time); open(OUT, "> data.txt"); printf(OUT "%2s:%2s:%2s\n", $hour, $min, $sec); close(OUT); sleep(1); }

  • XPで書き込んだCD-RがWin98SEで再生できない

    WinXPの標準機能でCD-Rに画像を焼きこんだのですが,自身のXPでは読み取りできるのですが,Win98SEでは読み取りが出来ません。XPのライティング機能は追加の書き込みが出来るため,CDのクローズがされていないためでしょうか?どのPCでも読み取りが出来るようにするためにはどのような操作をすれば良いでしょうか。 WinXPマシンの仕様:celeron700MHz,256MB,WinXPPro Win98SEマシン仕様:Pentium120MHz,32MB,CD‐ROM ちなみに,EasyCDなどで書き込んだCD-RはWin98マシンで読み取り可能です。

  • ホームページがでるまで時間がかかります

    同じような質問がもうあるのでしたらすみません。 機種はデルのXPです。ペンティアム4 2.8Gです。回線は光です。 IE(Ver6.0)で、買った直後はそんなことなかったんですが、 一年半くらいたって、最近、ホームページを開こうと思うと、最初の一回に限り、やたらハードディスクが15秒ほど動いて、それが止まってからやっと、デフォルトにしてるヤフーのトップページが出てきます。 でも、一度この遅いのを通過すると、2回目以降は、同じようにIEのアイコンをクリックしてもすっと1秒くらいで出てくれます。 いろいろ考えて、クッキーとテンポラリーファイルを空にしてみたりもしたんですが、それでも同じ現象が起こります。 最初の一回目だけ、なんだかずーっとハードディスクから何か読み取ってるみたいなんですが、これはなんでしょうか? これをなくす解決策などありましたら、また何かお気ずきの方おられましたら回答をよろしくお願いします。

  • 当方最近windowsをxpから7(PCも新品)に変えました。

    当方最近windowsをxpから7(PCも新品)に変えました。 ネットはwimaxでおこなっているのですが、xpでは実測5Mb/sでていたのが7では1.6Mb/s位になってしまいました。セキュリティソフトを切ったり、色々試しましたが改善せずサポートに問い合わせても解決しませんでした。 どなたか良い方法をお知りでしたらお願いします。

  • 初期設定がATOKにならない?

    ATOK16をWindowsXPにインストールしましたが、 PC起動時にいつもIMEが設定されています。 ATOK16のみを常にどんな時でも使いたいため、 いろいろと設定を変更してみましたが、うまくいきません。 解決方法をご存じの方がおられましたが、ご教授いただけないでしょうか? ちなみに、入力言語で選択できるものには、 ATOK16の他に、 ・Microsoft IME Standard 2002 ver.8.1 ・Microsoft Natural Input 2002 ver.8.1 がインストールされています。 Microsoft OfficeXPもインストールしています。 よろしくお願いします。

  • 家庭内LANで行うネットワークの勉強

    今までSEという肩書きは持っているのですが 主に事務処理だけに終始していたので 一念発起、家庭内の環境でどれだけネットワークを実機勉強できるか? と考えております。 私の環境は以下の通りです。 ●メインマシン:PentiumIII OS:Windows2000 Pro ●ノートPC:PentiumII OS:Windows98 ●インテリHUBとUTPケーブルとNIC ●YahooBBのADSLにメインのマシンは繋がっていますが、  ISDNの干渉があるため実測100kしか出ていません。 ブロードバンドルータを購入して・・・という辺りが無難ですが 一言「ネットワーク」と言っても幅広いので 何から手をつけようか迷っています。 有効な書籍・Webサイトの紹介でも結構です。 みなさんのアイデアをお待ちしております。