【発明の詳細な説明】
アッセイオメイト
及朋ヱと1厨
この発明は、化学物質を自動的に混合して反応を行なわせるための装置及び方法
に関し、さらに詳細に言うと、この発明は、酵素基質溶液及び緩衝液の混合分析
並びにその結果起きる化学反応の特性を測定するための装置及び方法に関する8
重要な用途は、酵素触媒反応の反応動力学定数を測定することである。
λ豆亘11
この四半世紀の間に、生化学書違は、例えばヒトの細胞のような生体内で起きる
化学反応の普遍性及び多くの複雑な性質の詳細を発見した。この化学の中心は2
0種類の公知のアミノ酸から多様なタンパク質を合成することである。デオキシ
リボ核酸(DNA)上の遺伝コードがコピーされタンパク質が最終的にそのコー
ドに従って組み立てられる複雑なプロセスにおいて、化学反応は酵素と呼ばれる
他のタンパク質によって触媒される。
生化学プロセスにおける酵素の重要な役割の故に、化学研究室において酵素の調
製及び分析のために多(の努力と時間が払われた。その結果得られた1つの重要
なものは酵素触媒反応の反応動力学定数として知られるものの測定である0反応
動力学定数を知ることは、酵素調製、遺伝子操作により生産される酵素のスクリ
ーニング、薬剤の研究、動力学的研究及びその他の分野における品質管理におい
て重要である。
酵素は、触媒される化学反応中の要素である基質分子と結合し、これを反応が起
きるために必要なところに持っていくことによって触媒として働く、好ましい特
定の反応の方向に持ってい(ためのエネルギー論が存在する。酵素が結合する要
素は酵素の基質と呼ばれ、全ての酵素は1又は2以上の基質に対して特異的であ
る。酵素触媒反応の速度は、酵素の基質に対する親和性、存在する酵素の量及び
単一の酵素分子の定常的活性に依存する。基質の濃度が非常に高いと酵素は飽和
され、最大速度V waxで働く、低い基質濃度においては、見かけの速る。特
異性は、酵素の1つの基質に対する親和性と他のもの対する親和性との比によっ
て表わされる。
酵素触媒反応のプロセスについてこの分野で認められた最も関連深い理論はミカ
エリス−メンテンの理論である。この理論では、酵素は先ず基質と結合して酵素
−基質複合体を形成し、次いで第2段階において分裂して′f11fの酵素と生
成物を形成する。このモデルに基づき、単一の基質を有する酵素によって触媒さ
れる反応のための速度式としてミカエリス−メンテンの式が考え出された。
■は反応速度であり、これはinの基質の濃度[S]において測定される、単位
時間当りの基質(又は生成物)濃度の変化である0通常[S]は酵素濃度よりも
はるかに大きく、総基質濃度と等しくセットすることが可能になる。Vmaxは
基質が達成することができる最大速度であ、る、 Ks+はミカエリス定数であ
り、これは反応速度がその最大速度の50%に達する基質濃度である。
ミカエリス−メンテンの式を検討すると、低基質濃度においては反応速度Vは基
質濃度にほぼ正比例するが、基質濃度が高くなると、反応は基質濃度とは独立し
たものとなり、最大速度V l1laxに近づく、有限の基質濃度においては反
応速度は決してV a+axに到達することはない、従って、単一の測定によっ
てV waxを見積もることは正確ではない* Ka+及びV waxは、種々
の基質濃度における比較的多数の測定をすることによってのみ測定することがで
きる。
ミカエリス−メンテンの式における酵素の反応動力学定数に加え、測定すべき反
応動力学定数は多数存在する。1つの例として、薬剤が1又は2以上の酵素を阻
害し又は活性化することが予想される場合に、酵素触媒反応の速度に関する測定
と同様な測定によって、特定の薬剤についての阻害定数Ki又は活性化定数Ka
を測定することが挙げられる。酵素触媒反応の理論及びミカエリス−メンテンの
解析の詳細は、生化学に関する多くの書籍、例えばルバート・スツライアー著、
W、H,フリーマン・アンド・カンパニー、カリフォルニア州すンフランシスコ
発行の「生化学」、(著作権1975.1981)に記載されている。
反応動力学定数を測定するための操作においては、比較的多数の分析を行なう必
要があり、反応速度は変化する濃度の関数として測定される0反応速度は直接的
に測定することはできないが、時間に対する分析の濃度の測定から導くことがで
きる。これは流通停止装置として知られる装置において、シリンジを緩衝液、酵
素及び基質で充填しく酵素実験の場合)、同時にこれらの物質を所定の速度又は
所定量混合室に注入することによって通常行なわれる。キュベツトは、混合物の
吸光度が時間の関数として監視できるように、分光高度計に備え付けられる。吸
光度は反応の直接関数として変化することが知られている。
一旦分析物を混合し、化学反応が開始されると、基質及び生成物の濃度が変化し
始める。基質濃度に対する唯一の正しい速度は初期速度である。従って、短時間
反応物質及び生成物混合物の吸光度を測定し、時間の関数として吸光度(濃度)
をプロットする操作が行なわれる。この操作のための初期濃度における初期速度
は、曲線の最初の部分の勾配である。異なる濃度における多数の速度が誘導され
ると、データをプロットすることができ1反応動力学定数は新しいプロットから
決定することができる。
それぞれのポイントにおいて2回以上の測定を行なって誤差を統計学的に小さく
することはよいことである。このような操作を手動により行なうことは時間がか
かる。なぜなら、データを集め、相関させ、プロットし、拡張しなければならな
いからである。さらに、手動操作におけるエラーの確率はかなり高い。
また、酵素の反応動力学定数をpH,イオン強度、阻害剤、活性化剤又は第2の
基質の関数として測定しなければならないことが時々あり、このような場合には
測定の回数はしばしば何百回にも及ぶ。
従来技術におけるもう1つの問題は、分析物の混合と吸光度変化の測定の間には
明確なタイムラグが存在するということである。このタイムラグはしばしば5秒
間以上であり、非常に早い反応は全く測定することができない、また、多くの酵
素は不安定であり、特に操作に長時間を要する場合には、測定操作中に貯蔵溶液
が分解することにより誤差を生じることもある。
もう1つの問題は、従来の装置を用いた測定は1通常外界条件下において行なわ
れ、反応速度が温度変化に対して敏感であるということはわかっていても、温度
を知ったり操作の量温度を一定に保つ努力はなされない。
さらに別の問題は、測定を行なおうとする従来技術によってもたらされる1例え
ば、酵素の貯蔵溶液を緩衝液で希釈して原液よりもはるかに低濃度の溶液を調製
する必要がしばしばある。溶液を1000倍以上に希釈することも珍しくはない
。シリンジによる手動操作は、このような測定を正確に行なうのに十分ではない
。
さらに従来技術における別の問題は、混合しようとする溶液が必ずしも容易に混
じり合わず、粘度が大幅に異なることがあり、均一さを確保しようとすると時間
が遅れる。また、時間をかけて努力を行なってもこのような溶液は均一には混じ
り合わず、従って測定結果はしばしば不正確である。
分析物を混合し、結果を記録する分野においである程度の自動化がなされている
。いくつかの手動操作を行なうためのロボットシステムが提案され構築されてい
る。しかしながら、時間、正確さ及び混合の問題は解決されてはいない、現在ま
でのロボットシステムでは、採用することができる濃度範囲、手動操作なしに調
製し監視することができる試薬の数が限られており、また、結果の正確さ及びシ
ステムの一般的な柔軟性も限られている。
必要なものは、酵素触媒反応における反応動力学定数を迅速に測定するための完
全に自動化されたシステムである。このようなシステムでは、分配される液体の
温度を維持し、貯蔵溶液から正確に分配し、測定のための試料を正確に混合し、
混合機非常に短時間で測定を開始し、ストックを混合する際に均一さを提供する
ことが必要である。さらに、このようなシステムでは、もとの貯蔵溶液を非常に
大きな希釈倍率で正確に希釈することが必要になる。さらに、阻害剤又は第2の
基質と共に酵素を予備インキュベートすることや酵素又は基質を種々の化学物質
で処理すること等のような広範囲の試料の予備処理を行なえることが必要である
。システムはまた、上記所望の特徴の実行を容易にし、データを集め、オンライ
ン分析を提供し、計算又は描かれた結果をディスプレイするための適当なコンピ
ューターを備える必要がある。
及1と11
この発明の好ましい具体例では、酵素触媒反応における反応動力学定数を自動的
に迅速に測定するための装置であって、このような自動かシステムに対する上記
要求に合致するものが開示されている。この装置は、混合されると反応に伴う特
定の反応動力学定数を有する化学反応物質を含む複数の正確に計量された溶液を
供給するための供給システムを具備する。供給システムからの複数の溶液を混合
するための混合室システムが供給システムに接続されている。好ましい態様では
、温度制御システムが混合室システム及び液体分配システムの温度を制御する1
反応物質の間の反応の実質的な部分が行なわれる反応室が設けられ、該反応室は
混合室システムに接続されている0反応室中の反応物質及び反応生成物の少な(
とも1つの濃度の関数である物理的パラメーターを測定するために検出システム
が用いられる。上記供給システム、混合室システム、温度制御システム及び検出
システムに接続されたコンピューターシステムが、供給システムを自動制御して
同時に計量された体積の溶液の複数のセットを混合室システムに供給する。それ
ぞれのセットは反応物質の所定の比率に対応する。コンビエータ−はまた、混合
室システムの温度を自動的に制御し、同時に計量された体積のそれぞれのセット
について複数の時点で自動的に検出システムに測定を行なわせてそれぞれのセッ
トについての濃度の時間変化を測定させるために用いられる。コンピューターシ
ステムは次いでデータを解析して反応動力学定数及び分析に関連した他のパラメ
ーターを決定するために用いられる。
有意義な装置の特定の特徴は、混合室の内部に浮遊する磁石ヘッドであって、室
の外側から磁気的に駆動することができるものを用い、それによって室の内部を
汚染を防ぐことができる混合室システムを包含する。さらに、また、極めて小さ
な体積の液体を極めて高い混合効率を保って混合することができるようになされ
た設計も有意義である。
この装置の他の特徴として、正確に駆動されるシリンシスシステムを用いるとい
うことがある。これは自動化試料配給システム及び多目的ソフトウェア制御シス
テムと共に用いると現実的かつ効率的に同力学的特徴を分析し、行なうべき酵素
スクリーニングを可能にする完全に自動化された操作を提供する。
21日とi!3」1団
第1図は、この発明の第1の好ましい具体例の重要な要素を示すブロックダイア
グラムである。
第2図は、第1の好ましい具体例の部材の配列の斜視である。
第3図は自動試料交換機を示す、自動サンプラーユニットの斜視図である。
第4図は、モーターによって駆動されるシリンジユニットを示す、部分断面正面
図である。
第5図は、第1の好ましい具体例における、バルブ及びシリンジの配列を示す模
式図である。
第6図は、第1の好ましい具体例における、ミキサーの構成及び作動を示す切り
欠き断面図である。
第7(A)図は、第6図のミキサーを含むミキサーモジュールの断面図である。
第7(B)図は、第6図及び第7(A)図のミキサーの液体ライン間の接続を示
す断面図である。
第8図は、オペレーター制御のためのディスプレイ及びキーボードモジュールの
正面図である。
第9図は、シリンジ動作を制御するためのシリンジ制御メニューを示す図である
。
第10(A)図はソフトウェア構築のブロックダイアグラムである。
第10(B)図は動力学的ソフトウェアのメインメニューである。
第10(C)図は測定パラメーターメニューのスクリーン1である。
第10(D)図は測定パラメーターメニューのスクリーン2である。
第10(E)図は動力学的ソフトウェアのためのセットアツプメニューである。
第10(F)図は測定メニューの第1スクリーンである。
第10(G)図は測定メニューの第2スクリーンである。
第10 (1)図はデバグメニニーである。
第11図は、この発明の装置を用いて特定の例示的酵素についてのミカエリス定
数の測定のための典型的なセットアツプのプリントアウトを示す。
第12図は、第11図のセットアツプを利用した測定データのプリントアウトを
示す。
第13図は、例示的酵素についての、異なる基質濃度における時間の関数として
の吸光度の被演算子のプロットを示す。
第14図は、例示的酵素についての検出システムの異なる波長における異なる代
謝回転数を示すプリントアウトである。
第15図は、例示的酵素についての、代謝回転数対基質濃度のプロットである。
第16図は、この発明の装置の再現性を示す、数回の測定についての代謝回転数
のプロットである。
ま い の! 截
第1図は、以下、「アッセイオメイト」と呼ぶ自動化分析システムを含む設備を
示すブロックダイアグラムである。図示されたこの発明の第1の好ましい具体例
では、設備の種々の部分間の液体流路及び制御ラインの配列を含む、自動サンプ
ラーモジュール11は、コンピューター自動化システムが、反応動力学定数を測
定するための広範囲な濃度の分析物を調製するために用いることができる、緩衝
液、基質及び酵素のようなストック及び試料溶液を供給するための温度制御され
た貯蔵器領域である。種々の分析物の調製のために用いられるストック溶液は、
緩衝液及び水と同様、貯蔵器中に比較的大量に自動サンプラー内に保持されるも
のである。他の溶液、例えば酵素溶液、阻害剤及び促進剤は、ロボット的に操作
されるピペットに対するステージ上を移動することができるラック内のプローブ
中に入れられる。第1の好ましい具体例において、ステージは回転する、目盛ら
れた回転木馬である。
流路13として示される液体輸送ラインは、自動サンプラー内の貯蔵器及びピペ
ットとバルブモジュール15とを接続する。バルブモジュールは、自動サンプラ
ー又は装置の他の部分との試料及びストック溶液のやりとりを切り換えるための
ものである。
モーターにより駆動されるシリンジ17の列は、バルブモジュール内のバルブを
介して自動サンプラーに接続されている。シリンジは、ストック溶液及び自動サ
ンプラー内のプローブから溶液を吸引し、分析物を調製するために吸引した溶液
を精密な量精密な速度で供給するためのものである。
駆動されたシリンジは、バルブモジエール15を介して唯一のモーター駆動ミキ
サー19に溶液を配給する。ミキサー19は、粘度に大きな差がある場合でも溶
液を完全にかつ迅速に混合することを確保するように設計されているものである
。シリンジによって配給された溶液は、14a、14b及び14cによって示さ
れる、バルブブロックとミキサーとの間の液体移送ラインを介してミキサーに至
る。それぞれのシリンジに1つのラインが存在する。従って、図示された3つの
ラインよりも多(のラインが存在することもある。バルブブロックとミキサーと
の間の液体移送ラインは、温度制御された水が循環するより大きな管内に並んで
設置されて6る。
混合物は、ミキサーを介したシリンジの前方向の駆動によりキュベツト21内に
入り、動作は停止する。混合及び流通停止後、混合された溶液間の反応が起き、
測定を行なうことができる0反応動力学定数を測定するための速度測定の場合に
は、時間に対する吸光度の変化を測定するために分光光度計を用いることができ
る。これは反応物質及び生成物の濃度変化の測定であり、それから反応速度値を
決定することができる。この場合にはシャッター23が開き、キュベツトを介し
て透明の開口が露出する。光源25からの光がキュベツト及びキュベツト内の混
合物を通過する。光はプリズム27を通りダイオード列29に入射する。ダイオ
ード列からの変化信号は分光光度計制御ユニット31に配給される。測定に応じ
て、例えば電子化学検出器、蛍光分光光度計又は化学発光検出器のような他の分
析器具を用いることができる。
異なる溶液が、それぞれのシリンジの専属のラインを介してミキサーに供給され
る。そして分析測定後、廃棄物は専属の液体ライン33を介して自動サンプラー
の廃棄物貯蔵器に移送され、キュベツト内には他の分析のための余地が形成され
る。
マイクロプロセッサ−に基づくコントロールユニット35は分析装置を操作する
ようにプログラムされ、コンビエータ−37は更なる高水準の制御機能を与える
。
第1図には示されていないが、第1の好ましい具体例はまた付随するプリンター
、入力のためのキーボード、及び取りつけられたプロッターを有する。専属のキ
ーボード及びデジタルディスプレイ39はコントロールユニット35の部品であ
る。もう1つの好ましい具体例においては、マイクロプロセサーコントロールユ
ニット35はプリンター/プロッター及び保存のためのディスクドライブを有す
る。更なるデータ処理及びディスプレイのような仕事をさせるために、R5−2
32通信インターフェースによりコンピューターをより大きなホストコンピュー
ター(図示せず)と接続することもできる。もう1つの好ましい具体例では、マ
イクロプロセッサ−ユニットはプリンター−ブロック−及び保存のためのディク
ドライブを有する。
コンピューター37はリンク41を介してコミュニケーションバスによってマイ
クロプロセッサ−モジエール35に接続され、モジエール35はリンク43によ
って分光光度計コントロールユニットに接続される。第1の好ましい具体例にお
いては、コミュニケーションバスはIECバスである。マイクロプロセッサ−ユ
ニットは、リンク49を介してシリンジモジュールを操作し、リンク45を介し
てバルブモジュールを操作し、リンク47を介しミキサー装置を操作し、リンク
51を介して自動サンプラーを操作する。リンク45.47.49及び51のそ
れぞれのリンクは2以上の単一の電気的ラインを有し、いくつかのラインは電源
のためのものであり、他のものは例えばマイクロスイッチ閉鎖のような制御信号
のためのものである。
第1の好ましい具体例においては、自動サンプラー11、シリンジモジュール1
7%バルブモジエール15及びコントロールユニット35は単一のキャビネット
中に取りつけられ、付随するキーボード及びディスプレイユニット39はキャビ
ネットの正面に取りつけられている。ミキサー及びキュベツトは管によってメイ
ンキャビネットに接続された分離ユニットが存在する。鎖管には液体ラインが向
かい、また、その中を温度制御された水が巡回して試料液体を反応前特定の温度
に保つ。水コントロールユニットは第1図には示されていない。分離のおかげで
、ミキサーモジュールは種々の市販の分光光度計又は他の装置に組み込むことが
できる。
この発明の装置は、発明の背景の項で上記した理由により直接測定することがで
きない、酵素触媒反応の反応動力学定数の測定のような、生化学反応の研究に用
いられる。その方法においては、通常、独立した変数を変えながら依存した変数
の測定を多数行なうことが必要になる。
シリンジは、貯蔵器及び自動サンプラー中のプローブから必要な溶液を1回取り
込むことによって、特定の酵素及基質のための反応動力学定数の測定に必要な全
ての分析物を混合し注入するのに十分な大きさを有している。これは2つの理由
により重要である。先ず、反応動力学定数を測定している間に再注入することは
、酵素の劣化に基づ(系統的なエラーをもたらすかもしれないからである。第2
に、再注入が必要でないならば、自動サンプラーユニットは、測定が進行中にも
他の機能を行なうことができるからである。
コントロールモジュールユニット35に付随するキーボードユニットは、手動モ
ードにおいて特定のコマンドを入力し、プログラム化されたサブルーチンを開始
し、また、自動測定を開始するために用いることができる。多くのプログラム化
された手順の中には、洗浄、貯蔵物質の充填及び注入を行なって特定の酵素につ
いての反応動力学定数の測定のためのデータを発生させるために種々の濃度の分
析物を調製することがある。
酵素、基質及びデータポイントの測定のための他の溶液の量はソフトウェアによ
り測定され、マイクロプロセッサ−ユニットを介して適当な信号が発信され、い
くつかのシリンジの選択された駆動により特定の混合が行なわれる。物質は強制
的にミキサーに送られ、ミキサーは物質を均一に混合することを確保するように
駆動される。混合物は極めて迅速にキュベツト内に入り、専ら特定の機能を有す
る分析器具を用いて測定が行なわれる。
速度データのための分光光度計測定の場合には、シャッターが開かれて光学的シ
ーケンスが可能になり、その間、ダイオード列からのデータは光度計コントロー
ルユニットに送られる0個々のデータポイントは正確な測定を確立するために反
復され、酵素についての所望の反応動力学定数を正確に測定するために必要な量
のデータが収集されるまで新しいデータポイントのためのシーケンスが続行され
る。
混合及び単一のデータポイントの作成は、従来の手動操作における5秒以上に対
し、0.3秒以内で行なわれる。従って、迅速な反応も特徴づけることができる
。また、シーケンスは迅速に達成され、手動操作によれば何時間もかかる測定が
この発明の自動装置によると何分かで行なうことができる。
第2図は、第1図に示されたシステムを含むユニットの成り立ちをより良く説明
し、他の要素を描くために示された、第1の好ましい具体例の装置の概観である
。
自動サンプラー11はメインキャビネット53の一部であり、キーボードを有す
るマイクロプロセッサ−ユニット35及びディスプレイユニット39が同じキャ
ビネットに取り付けられている。第2図には示していないが、シリンジ列及びバ
ルブブロックもまたキャビネット53に取り付けられる。
ミキサー19を有するミキサーモジュール20はキャビネット53と分離してお
り、管55によってキャビネット53に接続されている。管55には種々の液体
ラインが通っている。制御及び電源ラインは管55に沿って配置され、温度制御
された水もその管の中を通る。接続管並びにミキサーモジュールへの電源及び制
御ラインの長さは、モジュールを分析装置内に取り付けることができるように設
定される0分析装置としては、反応動力学定数の測定のための第1の好ましい具
体例においてデータ種々のために用いられる、ヒユーレット−バッカートモデル
8451ダイオードアレイ分光光度計のような市販の分光光度計を挙げることが
できる。
一定温度の水は市販ユニット57によって供給され維持される。第1の好ましい
具体例におけるコンビュークー37はHP 85コンピユーターであり、プリ
ンター61及びブロック−63が付随している。いくつかの例におけるHP
85コンピユーターは、より広範囲のデータ解析を行なうために、より大型のH
P 150のようなホストコンピューターに接続されていてもよく、接続のた
めのR5−232インターフエースが存在する。さらに、装置内の温度を制御す
るためのベルティアユニット(図示せず)と、ベルティアユニットを制御する電
子ユニットが存在する。接続された装置全体は机上に置くのに十分な小ささであ
る。
もう1の好ましい具体例では、メインキャビネットはより広範囲であり、ビルト
インされた平行処理コンピューター、水温制御ユニット、分光光度計又は他の分
析機器及び内部プリンター−プロッター及びディクドライブ並びにベルティア要
素のための電子制御を含む、この装置は、M a c n又はIBM PS/
2上で走るソフトウェアを用いてR5−232又はI EEE−488バスを介
して遠隔制御することができる。
サンプラーユニット
第3図は第2図のキャビネット53内の自動サンプラーモジュール11の部分を
示す、自動サンプラーモジュールは、キャビネットの外側からドアを介してアク
セスすることができ、外囲器は、該外囲器の側面に取り付けられたベルティアユ
ニット(図示せず)による温度制御領域である。自動サンプラー外囲器の内側の
温度は通常4℃である。
2つの貯蔵器65および67がキャビネット内の棚69上に載置されている。貯
蔵器65は、貯蔵器からユニットの後壁を貫通する管71を有しており、貯蔵器
67も同様な管73を有している。管は可撓性の、内径が小さな液体輸送管であ
り、多端がバルブモジュールの口に接続されている。貯蔵器は、基質、阻害剤又
は他の化学試薬のような貯蔵溶液を貯蔵するためのものである。貯蔵器から管を
上げ、容器を交換することにより必要ならば溶液を交換することができる。一般
的に、貯蔵器は多様な実験に共通的な滴液のために用いられる。第3図にこのよ
うな貯蔵器が2つだけ示されているが、それぞれ専属の液管を有する多数の貯蔵
器を自動サンプラー内に載置することが可能である。第1の好ましい具体例にお
いては、一般的に2ないし4の貯蔵器が必要に応じて配置されている。
ストック溶液貯蔵器に加え、自動的に異なる試料溶液を供給するための自動化さ
れた試料交換器75が存在する。棚69を介して延びる目盛られたステージ77
は下からステッパーモーター79により、ステージに支持されたプローブ81の
ようなプローブがピペット83の下に配置されるように駆動される。ピペットは
ガイドフレーム87中のスライドキャリッジ85によって担持され、スライドキ
ャリッは下にある他のモータードライブ(図示せず)によって上下される。目盛
られたステージを妨害することな(回転させる際にとベットは上げられ、プロー
ブが適正に配置された後下げられる。
ピペット83は液体輸送管89に接続され、管の多端はバルブモジュールの開口
に接続され、バルブモジュールを介してシリンジモジュールの1つの又は他のシ
リンジ内に引くことができるようになっている。上部限界スイッチ91はピペッ
トの移動の上限位置を発信し、下限スイッチ93はピペット移動の下限位置を発
信する。目盛られたステージ上のブローブラックの存在を発信し、回転ステージ
の目盛り位置を監視するための他の限界スイッチ(図示せず)が存在する。
第3図には、図示を容易にするために、ステージ77に支持された4つのプロー
ブのみが示されているが、アッセイオフイト中にはさらに多くのプローブが存在
していてもよい0通常円形に配列された50個ものプローブが存在する。試料交
換器により、多くの試料溶液を予め調製し自動分析システムに供給することが可
能になる。それによって、反応動力学定数を測定することにおける最大の柔軟性
、効率及び生産性が得られる。また、試料交換器は空の容器に処理された試料又
は他の流出物を充填することを可能にする。空の容器が存在することにより、分
析操作中にミキサーに導入する前に異なる濃度の試料溶液を混合することが可能
になる0例えば、酵素の初期濃度が高すぎる場合には、空の容器及び希釈を制御
するシリンジを用いて正確に酵素を希釈することができる0回転ステージの一部
に、容器を支持するためのステージ面積の通宮約25%をカバーする回転ステー
ジの部分にさらなるベルティアユニットを組み入れることもできる。これは、自
動サンプラー外囲器内の。
選択された温度以外の温度にある試料溶液を維持する場合に用いられる0通常、
回転ステージ上に組込まれた洗浄ステーションが存在する。これは、シリンジを
洗浄しまた所望により配管を洗浄するために用いられろ水又は他の試薬のための
比較的大きな容器を支持する位置にある。
シリンジ びシリンジドライブユニット第4図は、第1の好ましい具体例におい
てシリンジ列17を含むいくつかのユニットの1つである単一のシリンジユニッ
ト95の断面図である。ハミルトンシリンジ97がモータードライブによって作
動され自動サンプラーモジュール中のプローブ及び貯蔵器からバルブブロック1
5を介して溶液を吸引し、また、必要に応じてバルブの位置を切り賛えることに
よって液体の流路を変更した後バルブブロックを介してミキサーモジュール19
に溶液を注入する。液体はシリンジに接続された液体管99を介して吸引され、
排出される。水ジャケット101がシリンジを囲包し、温度制御された水が管1
03及び105を介してジャケット内を流通する。管103及び105は適当な
マニフォールド(図示せず)に接続され、該マニフォールドは水供給及び制御ユ
ニット57(第3図)に接続される。アッセイオメイトの第1の好ましい具体例
においては3つの異なる大きさのシリンジが存在する。すなわち、容量がそれぞ
れ50m1.5at及び2.5 mlのものが1つづつである。このように大き
さにかなり大きな差を設けたことにより1分析に必要な異なる種類の溶液の体積
を大きく異ならしめることが可能になる。シリンジの容積の差異は、長さではな
く径を変えることにより達成される。そうすることによってドライブユニットを
共通にすることができる。
第1の好ましい具体例では、プランジャーシャフト107はフレームプレート1
09を貫通し、従来のセットスクリュー113によってドライブキャリッジ11
1に接続されている。キャリッジ111には、ガイド棒117に沿って移動する
、調製可能なベアリングスライド115が設けられている。ガイド棒は上部プレ
ート109及び下部フレームプレート119に固定されている。キャリッジIl
lはその一端に取り付けられたナツト121を有し、ネジを切られたシャフト1
23が該ナツトに螺合する。モーター131はリデューサ−129を介してシャ
フト123を駆動する。その結果、大きなモーターの回転に対して極めて小さく
ネジ切りシャフトが回転し、従って、シリンジプランジャーが極めて小さく直線
方向に接動する。第1の好ましい具体例においてはステッパーモーターが用いら
れ、そのため、シリンジの大きさに応じて単一のモーターパルスにより特定の体
積の溶液が吸引又は排出される。プレート109および119はサイドプレート
133によって空間的に分離され、シリンジユニットのために堅固なフレームユ
ニットを構成する。マイクロスイッチ135がシリンジプランジャーの移動の最
前部を関知し報告する位置でプレート133に固定されている。
このアセイオメイトにおいては、全てのシリンジは約6センチの長さを有する。
ネジ切りされたシャフト及びナツトのリードは1回転当り1n++nであり、ギ
ア比は16.66:1である。ステッパーモーターは一回転するために48パル
スを必要とし、従って、シリンジがその全長にわたって移動するためには48(
100ステツパーパルスが必要になる。シリンジの容積がそれぞれ50m1.5
at及び2.5 mlである場合には、単一のパルスによって配給される(すな
わち吸引される)体積はそれぞれ1u1.0、lul及び0.05μmである。
通常、反応動力学定数の測定のためには、基質シリンジは1秒間に最少o、 o
osffia+、 i大10Ill111移動する必要カアル。
バ」≦乙aム2
第5図は第1の好ましい具体例におけるバルブブロックを模式的に示す図である
。また、シリンジ列及び自動サンプラーモジュールとの接続も示されている。こ
の例においては、4つのシリンジが描かれている。8つのソレノイド弁がバルブ
モジュール中に存在し、4つのシリンジのそれぞれに2つづつの弁が割り当てら
れる。
第5図では、弁は全て作動していない状態に描かれている。用いられるバルブは
、コネチカット州つエストブルークのり−・カンパニーから市販されているLF
YA120及びLFYXである。もっとも、他の多くの適当なバルブが市販され
ている。り一社のバルブは極めて小さな内部容積(LFYAでは?、45at)
を有し、不活性な内表面を有する。これらは共に有利である。これらのバルブは
12Vで駆動され、切り替えは10ミリ秒以内に完了する。
作動していない状態において、バルブ151は、シリンジ153からの液体をミ
キサー19に向ける。また、バルブ147はシリンジ149からの液体をミキサ
ーに向ける0作動していないバルブ143はシリンジ145からの液体を向ける
0作動していないバルブ137はシリンジ139からの液体をミキサーに向ける
。シリンジのいずれかを充填又は洗浄するために、関連するバルブ151,14
7.143又は137が作動する。
バルブ151が作動し、バルブ167が作動していない場合には、シリンジ15
3はライン169を介して自動サンプラー中の貯蔵器に接続される。バルブ14
7が作動し、バルブ163が作動していない場合にはシリンジ149はライン1
65を介して自動サンプラー中の貯蔵器に接続される。バルブ143が作動し、
バルブ159が作動していない場合には、シリンジ145はライン161を介し
て自動サンプラー中の貯蔵器に接続される。バルブ137が作動しバルブ155
が作動していない場合にはシリンジ139はライン157を介して自動サンプラ
ー中の貯蔵器に接続される。
液体ライン171は、自動サンプラーモジュール中の自動試料交換器においてピ
ペット83(第3図)に接続され、それぞれバルブ155.159.163及び
167に至る4つのラインに分割される。この配列により、シリンジのいずれか
自動試料交換器のステージ上のプローブから液体を吸引し、又はステージ上の容
器に物質を戻すことができる。第1の好ましい具体例においては、シリンジ14
5は通常、作動するバルブ143及び159を介して自動試料交換器ピペットか
ら吸引する。
もっともこれはバルブの切り替えによって行なうことができる多くの配列の1つ
である。第5図に示す例では、バルブ137.143.147及び151からの
それぞれのラインはミキサー19に延びる。操作においては、シリンジのいくつ
か又は全部が、分析物を構成する液体試料で充填される0例えば、シリンジ13
9は緩衝液を吸入し、シリンジ145及び147は自動試料交換器からそれぞれ
基質溶液及び酵素溶液を吸入することができる。プログラム化された速度及び距
離でシリンジのピストンを同時に前方に駆動することにより、分析のためのそれ
ぞれの成分を予めプログラムされた量だけミキサーに配給することができ、ミキ
サー中では酵素触媒反応が直ちに開始される。ミキサーは、混合物が完全に均一
に混合されることを確保し、混合物はミキサーを介してキュベツト173に入り
、ここで分光光度計又は他の分析機器によるデータ収集が行なわれる。シリンジ
は、特定の酵素及び基質の反応動力学定数を正確に測定するために場合によって
は100以上になる分析物の全てをほとんどの場合に単一の吸引で十分に提供で
きる大きさを有している。流出物(使用済み分析物)はキュベツトから排出され
、最終的には自動サンプラーユニットの廃棄物容器に戻される。
種々のプローブ及びそれぞれ専用の容器に蓄えられた4つものストック溶液を利
用することにより、極めて広範囲の分析物を混合し、測定することができ、いく
つかの酵素と基質の組み合わせについても大きな中断をすることなく自動的に測
定することができる。大きなシリンジ139により、ライン及び設備を洗浄する
ような操作が可能になる。
第5図に示す液体ラインの接続並びにバルブ及びシリンジの数は、第1の好まし
い具体例における単なる例示である。このようなアッセイオメイトの配列は、酵
素触媒反応の反応動力学定数を測定するための操作にとって特に有利である。他
の具体例において他の目的を達成するために接続を行なう他の種々の有利な方法
があり、また、シリンジ及びバルブの数についても同様である。
ミキサー び゛ モジュール
第6図は、第1図及び第5図に示したミキサー19の構成及び動作を示す部分切
欠き図である。この図は、個々の要素の特定の構成を示すのではなく、要素がど
のように配列されているのかを示すことを目的にしている。略円筒形の外囲器1
75は液密であり、4つの流入口を有し、これらの流入口はそれぞれバルブ13
7゜143.147及び151からのライン141.177.179および18
1に接続されている。1つの流出口183が存在し、これは測定のために混合液
をキュベツトに送るためのものである。流入ラインは外囲器175の周縁部を貫
通し、各ラインから流入する液体(シリンジによって注λされる)は外囲器と内
部円筒状ドラム187の間の環状空間185に入る。管はミキサ一本体に対して
完全に直交している必要はな(、また第6図に示すように等間隔に配置されてい
る必要はない。しかし、環状空間に入ることは重要であり、また、出口ライン1
83から遠く離れた位置に入ることが有利である。第1の好ましい具体例では、
本体は鉄系磁石部材が埋め込まれたフルオロカーボンのような不活性なプラスチ
ック材料で構成される。もつとも、用いることができる材料は他に多数ある。
ドラム187はミキサーの外囲器内で浮遊しており、外部の磁器ドライブ(第6
図には示さず)によって回転駆動される。また、ドラム187は外部磁器ドライ
ブにより、外囲器の頂部に押しつけられる。使用中宮に液体を充填することによ
り、ドラムと外囲器の間には常に液体の膜が存在し、これはベアリング表面とし
て機能し、外囲器とドラム間の摩擦及び摩耗を防止する。第1の好ましい具体例
においては、管が入る端部と反対側のミキサードラムの端部にブレード189の
ような加工されたブレードが存在し、弓状の溝191がドラム上のブレードに対
向して設けられている。ドラムは外囲器中の円筒状空間よりも短く、ドラムと溝
が掘られた端部の間には空間193が存在する。
分析物を混合し、反応動力学定数を決定するための測定において、酵素溶液のよ
うな材料はしばしば非常に高価である。設備は、必要な溶液の量を僅かにするた
めに小さくつくられている。シリンジからミキサーに至るラインは直径が1mm
未満であり、ライン183の直径は、流入ラインの断面積の合計とほぼ等しい断
面積を有しており、従って、出口において溶液がたまることはない。
操作においては、ドラム187は通常1000ないし10000 rpraの速
度でその中心軸の回りに回転し、この間に0.2 mm未満の幅の環状空間18
5に少量の液体が注入される6回転速度は、コンピューターコントロールシステ
ムに付随するソフトウェアによって調製可能(プログラム可能)である、ドラム
表面の回転方向の移動速度は、通常、全ての予想される条件下において溶液が十
分に混合されることを確保するために、環状空間中の混合液の軸方向の移動速度
の約20倍である。1つの液体の粘度が他の液体の粘度よりもはるかに高い場合
もあり、また、多(の場合、必要とされる液体の量は2000ないしlの広範囲
にわたる、注入中における環状空間内での迅速な剪断動作により、混合の均一さ
が極めて迅速に達成され、物質のミキサーを通過する速度は僅かに遅くなるだけ
である。従って、従来の通過型混合装置とは異なり、液体は低圧力で注入するこ
とができる。多くの場合、注入工程及び完全な混合は1秒間以内に完了する。
装置のデッドタイム、すなわち、混合と測定との間の時間は、注入される体積及
び注入速度に依存して0.075秒ないし1秒の間で変化する。低基質濃度にお
ける分析では、デッドタイムは可能な限り小さく抑えられる。なぜなら、基質が
酵素反応によって迅速に消費されるからである。一方、高基質濃度における分析
では、デッドタイムをより長(することが可能である。
第1の好ましい具体例では、環状空間185は軸方向の長さが約8mo+であり
、ギャップ幅は約0.2 mmである。この環状空間の総有効体積は従って約2
5ulである0通常の操作において、1秒間に400ulが注入される。これら
の条件において、物質は剪断領域に約0、0625秒間滞留する。軸方向の速度
は128 mm/秒であり、ドラムの周速度が液体の軸方向の速度の20倍であ
るためには、ドラムの回転速度は毎分6000回転以上でなければならない。
液体がミキサーに注入され1通過する際に、ブレードによって空間193内でさ
らなる乱流混合が行なわれる。溝に対して回転方向に混合物を導(ことにより、
混合物を末端オリフィス及び流aライン183に導くことが促進される。空間1
93は、ステッパーモーターにより駆動されるシリンジが非連続的に体積を追加
していく場合に特に有用である。この場合、この空間は、鋭いパルスをより安定
した濃度にする緩衝領域として機能する。
第7(A)図はミキサー19を有するミキサーモジュール20(第2図にも示さ
れている)の断面図である。ミキサー19は、モーター197によって駆動され
る磁気ドライブローター195によってモジュール内で駆動される。モーター、
磁気ローター及びミキサーはモジュールの内部構造の別々の仕切り内に配置され
ており、ミキサードライブは、磁気をミキサーの容積を貫通するその全長にわた
って有している必要はない、ミキサーを物理的に貫通するものは液体ラインだけ
である。
ミキサーモジュールは外部シェル201を有し、内部シェル及び外部シェルの間
の空間は、循環して液体ラインに配給される溶液の温度を制御する、温度制御さ
れた水のための水ジャケットである。コネクター205は管55(第2図)に接
続するためのものであり、管55内には他の液体ラインが走っている。ライン1
41はバルブブロクからミキサーに至るバルブからのラインの1つであり、内部
シェルの後ろに延び、接続部207でミキサーと接続するように図示されている
。第1の好ましい具体例においては、測定のための分析物を調製する溶液注入の
ためのバルブブロックからミキサーに至るラインが4つ存在するが、図が複雑に
なることを避けるために第7(A)図においては1つだけが図示されている。
注入された液体はミキサー19中で混合され、混合物は流出ライン及び接続部2
09を介してキュベツト21内に移送される。キュベツト21内に混合液が入る
と、液体をさらに注入することが停止されるので液体の流れが停止する。そして
、分光光度計(第7図には示さず)を用いた時間対吸光度の測定が行なわれる0
通常、10個の光ダイオードからの読み取りが100ミリ秒間隔で行なわれ、タ
イムウィンドーは、入力変数によって調節可能である。基質濃度が異なると、測
定に必要な総時間も異なる。一旦測定が完了すると、更なるシリンジの動作が開
始され、キュベツト内の混合物はコネクター211を介してライン213に排出
される。
第1の好ましい具体例においては、第2のキュベツト215が水ジヤケツト内で
、外部シェルの内部側壁に取り付けられ、分析機器217を、ミキサーの外側か
らこのキュベツト内の穴に取り付けることもできる0分析機器217は通常、温
度測定機器又は酸度(pH)を測定するためのものである。流出物は第2のキュ
ベツトを介してミキサーモジュールを出、液体ライン33を介して自動サンプラ
ーモジュールに戻り、ここで廃棄物はその目的のための貯蔵器に捕集される。
管55を通る上記した液体管に加え、水ジヤケツト内に排出される温度制御され
た水を流入させるためのさらなる供給管が存在する。循環水は、ミキサー及び液
体供給ラインを囲包する水ジャケットの周囲を流通し、また、管55を介してマ
ニフォールド(図示せず)に戻り、マニフォールドから水コントロールユニット
57に戻る。ミキサーモジエールの全高は約8cmであり、直径もまた約8c+
aである0種々の部品が、この分野で公知の適当なOリングシール及びファスナ
ーによって、取り外し可能に係合可能である。制御ライン及びtmラインは通常
ミキサーモジエールの外側に管55に沿って延び、モジュールが可撓性のテザー
(tetherl上のバルブモジュールから25cm延びるように配置され、そ
の長さの限界内で容易に移動し元に戻すことができる。
!? (B)図はバルブ137からの液体ライン141がミキサ一本体に合流す
るコネクター207の拡大断面図である。液体の流通が停止している間に流入ラ
イン中の液体のうちのいくらかは、環状空間に洗い出されてしまうことがあり、
これが起きると次の分析のための次の注入の正確さが低下することが見出された
。特徴的な設計のコネクターによりこの漏れが最小限に抑えられる。0リング2
35が本体199の肩に係止され、液体ライン141を囲包するネジ切りされた
シリンダー233によって肩に押しつけられる。係合の量を調節することによっ
て、開口237の直径を変えることができる。開口237は、液体の流通が停止
している間は最小であるが、液体が注入される間は注入圧力の影響で拡大する。
82通が停止している間に洗い出される体積は、ミキサーの環状部分と0リング
で制限された部分の間に限定される。第1の好ましい具体例においては、この部
分の長さは[■であり管の内径が(1,3armであるから、洗い出される体積
は0.lul以下に抑えられる。調節可能な0リング接続は全ての配管のミキサ
ーとの結合部分において採用され、図示の部分にのみ採用されるわけではない。
混合システムのいくつかの強調すべき重要な特徴がある。先ず、このミキサーシ
ステムと従来技術との大きな違いは、アッセイオメイトでは回転する混合ボデー
上にベアリンク及びシールが存在しないということである。このため、ミキサー
は完全に不活性な表面で構成することができ、本質的に保守不要になる。また、
ミキサー中の潤滑や他の物質による汚染がない。第2に駆動マグネットは3つの
機能を満たす、すなわち、駆動マグネットは、混合ボデーを駆動し、混合ボデー
を混合室の一方の側に引きつけ、そしてそれを混合室の中央に保持するように常
にその位置を調整する。また、この設計によると極めて狭い剪断スリットが可能
になる6図示の例では0.2 mmであったが、これはおそら(0,05mfl
+までは小さくできる。なぜなら、駆動マグネット及び液体は混合ボデーを中心
に位置させる傾向があり、混合物は、混合ボデーのテフロン表面加工の故に潤滑
剤として機能するからである。また、剪断混合領域の下の第2混合室により、混
合室の出力における脈動を引き起こすことなくステッパーモータードライブシス
テムの脈動的作動を可能にする。また、流通時の液体の流れを中断させることな
く液体流通停止時における供給ラインからの漏れを防ぐ1弾性オリフィスを有す
る流入配管も特徴的である。
最後に、従来の典型的な混合システムと比較して、作動容積をはるかに小さくす
ることができる。
マイクロプロセッサ−ユニット
第1の好ましい具体例におけるマイクロプロセッサ−ユニット35は単一課題操
作システム中のZ−80マイクロプロセッサ−を有する。それは、単一課題操作
としてシリンジの駆動を司る。それはまた、読み取りのみのメモリー(ROM)
と、ランダムアクセスメモリー(RAM)と、装置の機械部材を直接制御するた
めの種々の他の要素を有している。該他の要素としては、トランシーバ−、デコ
ーダー、ステッパーモータードライブ及び理論要素等が包含される。全ての電子
部材はキャビネット53中のプリント回路基板上に取り付けられている。
第1の好ましい具体例の装置を構築し、試験する場合に、シリンジドライブ間で
の時間的な不正確さが10マイクロ秒を超えず、かつ時間的正確さが単一のマイ
クロプロセッサ−で限定される場合により正確な結果が得られることが見出され
た。このため、もう1つの好ましい具体例においては、各シリンジの制御をそれ
ぞれ1つづつのマイクロプロセッサ−が司り、そしてこれらのマイクロプロセッ
サ−が他のマイクロプロセッサ−と連絡し、それによってシリンジユニットの駆
動の際にパラレルコントロールが達成される。
装置の操作は、自動試料交換器の回転ステージのインデキシング、試料交換機に
おけるピペットの上げ下げ、バルブブロック中のそれぞれのバルブのソレノイド
を操作して液体の流れる方向を変えること、シリンジモジュールのそれぞれのス
テッパーモーター駆動シリンジ装置の個々の駆動、ミキサーモジュールのモータ
ー駆動ミキサードラムの操作及び分光光度計の操作を包含する。これらの制御機
能の全てはマイクロプロセッサ−制御ユニットを通して行なわれ、装置の種々の
部品の状態は、マイクロスイッチの位置を通して監視される。第1の好ましい具
体例では、用いられるマイクロプロセッサ−はZ−80マイクロプロセッサ−で
ある。さらに、コンピューター要素によって行なわれる多(のデータ移送、操作
及びアウトプット機能がある。
キーボード びデ スプレィ
第1の具体例におけるキーボード及びディスプレイモジュール39は、第2図に
示すようにキャビネット53の全部に組み込まれている。第8図はこのモジュー
ルの拡大図である。該モジエールは、LEDステータスディスブライ221(す
なわち、第1の好ましい具体例においては、バルブの位置をリアルタイムで示し
スイッチを制御する設計になっている)、ドツトマトリックスLCDデジタルデ
ィスプレイ223及び2列の16キーパターンに配列された32のキーを有する
マトリックスから成る。キーは制御ユニットにインプットするためのものであり
、2列のデジタルディスプレイは、適当な時間に変数をインプットし制御プログ
ラムの流れを指揮するために用いられる多数の制御メニューのそれぞれな伝達し
ディスプレイするためのものである。多くのキーは、上下2段のキーにより二重
に特定される0例えば、rBJキーはまたrJJキーのためにも用いられ、この
使い分けを行なうためのシフトキーが存在する。第8図におけるデジタルディス
プレイ上に示されるアウトプットはシリンジコントロールメニューの最初の2ラ
インに示される。
且昨jJL肚璽
全体の制御システム中には2つのレベルの制御が存在する。第1のモードは自動
モードであり、このモードではシリンジが共同して移動しその中の液体を所定量
測定を行なうためのミキサーに注入するものであり、またこのモードでは新たな
プローブを導入することも可能であり、そして、全ての必要な一連の操作は、反
応動力学定数の測定及び他の分析操作のための全体の一遍の分析を完了するよう
に行なわれる。もう1つのモードは、非同時型モードであり、このモードでは、
シリンジをばらばらに移動でき、操作者が操作を開始する際に、掃除、セットア
ツプ、簡略分光測定、試料チューブの測量及び維持等の種々の理由で他の操作を
個々に行なうことができる。
第1の好ましい具体例において非同時型モードは。
Z−80アセンブリ一言語中にプログラムされ、ROM中のマイクロプロセッサ
−モジュールで作動するシステムソフトウェアによって達成される。このモード
では、ユーザーは、手動モードにおける装置の全ての機能を制御する、組み込ま
れたキーボードから理解可能な羊−のキーストロークのセットを入力することが
できる0例えば、「F」のキーは「空にする(EMPTY)Jと呼ばれる機能を
作動させる。この機能は、現在作動中のシリンジの内容物を直ちに貯蔵器に戻す
機能をする。シリンジが作動している間[シリンジを空にしている(EMPTY
ING 5YRINGEJというメツセージが組み込まれたドツトマトリック
スディスプレイに表示される。付録Aに全てのキーストロークコマンドが表示さ
れている。第1の好ましい具体例における手動モード操作は、検出器、自動試料
交換器及びシリンジ列のシリンジの機能を制御するための3つのグループに分け
られる。これらのグループはプレフィックス(prefix)キーによってアク
セスされる。すなわち、「−」キーが検出器、「+」キーが試料交換器、そして
「*」キーがシリンジにアクセスするためのものである。プレフィックスキーを
押すと、ディスプレイ上に、フロントパネル上の「A」〜「H」とラベルされた
8つのキーに対応するように配列されたソフトキーラベルが現われる。対応する
キーを押すと機能が開始される。それぞれのグループにおけるさらなる機能はシ
フトキーを介してアクセスされる。
重要な1つの特徴は、付録Aに示すような、装置の物理的操作の全てを包含する
基本的な機能は、上述のようにオペレーターのキーコマンドによって行なうこと
もできるし、あるいは、R5−232やI EEE−488のような標準化され
たデジタルインターフェースを介して、HP−85コンピユーターのような外部
CPUからのコマンドによって行なわれ得るということである。コンピューター
からのコマンドによるモードは自動モードである。プログラム化された操作のた
めのソフトウェアは、第1の好ましい具体例においてはHP BASIC中に
書かれ、HP 85中で作動する。操作は何時でもキーバッド(ローカルキー
ストローク「U」)とHP−85からのプログラム化された操作(リモートキー
ストローク「R」)との間をスイッチできる。これにより、修理及び他の手動操
作のための柔軟性が最大限に許容される。マスタープロセッサーが80286で
あるもう1つの好ましい具体例においては、自動操作は、マスタープロセッサー
で作動する。「C」言語で記載されたプログラムによって制御される。このもう
1つの好ましい具体例においては、上記したようにメインキャビネット中に組み
込まれたコンビエータ−が存在し、より高度な自動機能が、組み込まれたコンピ
ューター上の「C」言語にプログラムされている。
この発明の従来技術の項に記載したミカエリス−メンテンのモデルにおける反応
動力学定数の測定は、この発明の多くの有用な用途の1つであり、動力学的挙動
のミカエリス−メンテンのモデルはデータ処理及びディスプレイのためのモデル
の1つである0反応速度データを収集するための動力学的ソフトウェアは、広範
囲の動力学的モデルにとって有用であり、そのいくつかはプログラムされ、ユー
ザーが所望により選択できるものである。
シリンジ定数及び最新ステータスは所定の制御メモリーブロック中に貯蔵され、
他のメモリーブロックが「アクティブ」ブロックとして指定される。定数及びス
テータスはパルス中に右けるピストンの位置、最大長移動のための最大パルス、
パルスの後の待機サイクルの数、機能B、C及びDのために実行される機能の数
、パルスにおける最大充填(filll レベル、及び特定のシリンジについて
のモーターパルスを体積に変換するための変換ファクターを包含する。コントロ
ールがより高次の優先機能によって占有されていない時はいつでもシリンジコン
トロールメニューを表示することができる。このメニューはまたローカルモード
においてもディスプレイすることができ、従って操作者はシリンジのデーターを
知ることができる。
第1の好ましい具体例のための完全なシリンジコントロールメニューが第9図に
示されている。同時に2行表示することができ、他の行は、「上向き矢印」又は
「下向き矢印」キーによってメニューをロールアップ又はロールダウンすること
によって見ることができる。ウィンド上の情報ラインに加え、スペースキーな押
すことによって現われる「ソフトキー」ラベルが存在する。ローカルモードにお
いてソフトキーな押すことによって、指定された機能(付録A参照)が作動する
。第1の好ましい具体例におけるソフトキーは、rAJから「H」にラベルされ
たフロントパネル上のキーであり、これらはそれぞれflからf8のソフトキー
指定に対応する。
ソフト エア
動力学的定数を測定するためのユーザーソフトウェアはこの明細書において動力
学的ソフトウェアと呼ばれている。これはメニューによって駆動されるプログラ
ムセットであり、種々のメニューが第10(A)図に示されている。より詳細な
記述のために、ソフトウェアドキエメンテーション及びソフトウェアリストを添
付してお(。
動力学的ソフトウェアのメインプログラムはコマンド「/」がオペレーティング
システムによって受信されてから作動し始める。最初にメインプログラムが呼び
出され、全てのシステムパラメーター及び変数が、ユーザーにより指定可能なデ
フオールド値のセットと共にロードされる。これらの作業が完了した後、プログ
ラムが再び呼び出された時に他の開始を妨げる開始フラーグがセットされる。
スタートアッププロセスにおいて、日付を入力するためのプロントが現われる。
開始後、第xo(B)IJに示すメインメニューが表示される。メインメニュー
は、ユーザーが他のメニューにジャンプし、ソフトキーを用いてファイル甲の情
報にアクセスするような他の機能を行なうことを可能にする。ソフトキーA「測
定」を押すと、測定メニューにジャンプできる。ソフトキー「B」(Dacoa
+)を押すとダコムfDacom)メニューにジャンプできる。ソフトキー「リ
ードP a (Read Pa)Jを押すとユーザーがファイルから測定パラメ
ーターを読むことが可能になり、ファイル名がフロントされる。ソフトキーE「
直接」を押すと、接続されているディクドライブのディレクトリ−が表示され、
ドライブの指定がブロンドされる。ソフトキーF「試験M」を押すと、試験メニ
ューにジャンプできる。ソフトキーG「貯蔵PaJを押すと、現在の測定パラメ
ーターが貯蔵され、ファイル名がブロンドされる。ソフトキーH「セットアツプ
Ml)を押すと、アッセイオメイト(Assayomatelのセットアツプを
変更するために用いられるセットアツプメニューにジャンプできる。
i++定パラメーターメニュー(2ページ)が第10CC)図及び第10(D)
図に示されている。メニューのソフトキ一部分にある機能によりメニュー中の値
を変更することができる。ソフトキーラベルと実際のキー(AないしH)との関
係は全てのメニューについて同じであり、ここでは繰返さない。
エクシットを押すと、メインメニューにジャンプして戻ることができる。ボイン
ツは1反応動力学定数を測定するための一連の操作において生成される異なる混
合物の数を入力するために用いられる。ユーザーには3つの数字を入力するため
のプロントが表示される。第1の数はポイントの数であり、次が平均化される測
定と共に個々のポイントにおいてなされる繰返しの数であり、第3番目が低基質
濃度においてなされるさらなる繰返しの数である。有効な範囲はそれぞれ2ない
し40.2ないし10及び0ないし8である。Lレンジは、180nmないし8
20rvの有効な範囲から3つの波長範囲を入力するために用いられる。第1の
ものはメイン測定レンジであり、第2のものはさらなる基質又は生成物のための
ものであり、第3のものは抗原の変動又は電子ノイズを保証するために用いられ
る内部標準である。ベージ2を押すと、パラメーターメニューの第2ページにジ
ャンプできる。
コンクは、ストック溶液の濃度を入力するためのものである。ユーザーには、酵
素濃度をnMで入力し、基質濃度をμMで入力するためのプロントが表示される
。
ネームは酵素及び基質の名前をコンマなしの最大20字で入力するためのもので
あるs[s]a+axを押すと基質最大濃度を入力するためのプロントが現われ
る。なお。
基質濃度とストック濃度との比率は最低4、最大10という要件がある。イプシ
ロンを押すと、基質及び生成物の、2つの波長のそれぞれについてそれぞれ1つ
の、4つの消衰係数を入力するためのプロントが現われる。これらは変換ファク
ターのためのものである。
測定パラメーターメニュー2において、スペーシングを押すと、一連の分析のた
めの濃度ポイント間の4つのスペーシングタイプからユーザーが選択することが
可能になる0選択は、算術的、分数、幾何学的及びこれらが混合されたものであ
ってよい。ノイズを押すと、2つのパーセンテージ、すなわち、最大ノイズトレ
ランスと最大非線形トレランスとがプロントされる。タイムWは、時間ウィンド
ーのためのものである。ユーザーには・S win及びS maxにおける開始
及び停止時刻並びに測定間隔及び積算時間を入力するためのプロントが現われる
。ページ1を押すとパラメーターメニューの第1頁にジャンプして戻ることがで
きる* T N S caを押すと、収集されたデーターから、表示又は印刷
すべき代謝回転数のプロットのY軸をセットアツプするためのスケールパラメー
ターがプロントされる。0DScaを押すと、吸光度が時間に対してプロットさ
れている時のY軸についての同種の情報をインプットするためのプロントが表示
される。DOD Seaを押すと、吸光度対時間における差異をプロットする
場合の同様な情報がブロンドされる。タイプは、6つの実行されたモデルの1つ
に従ってデーターフォーマットのタイプを入力するためのものである。より詳細
な記述のために、またソフトウェアドキュメンテーション及びリストを添付して
お(、なお、添付のものは好ましい第1の具体れについての完全なソフトウェア
コードである(注:添付のソフトウェアは3つのシリンジの実行を反映したもの
である。
コードされ呼び出される機能は同一である)。
セットアツプメニューは、第10(E)図に示される、セットアップ量ソフトキ
ーによってメインメニューからアクセスされるものである。エクシットはメイン
メニューにジャンプして戻るためのものである。ボリュームを押すと、0.3な
いしlalの範囲内で分析体積を入力するためのプロントが表示される。タイム
は、100ないし600ミリ秒の間で停止液添加時間(stopped−flo
waddition time)を入力するためのものである。ニードルを押す
と、ステージ上のラック中に支持されたチューブを空にするために自動試料交換
器においてピペットが垂直に移動しなければならない距離及びドライブの移動速
度をユーザーが入力することができる。5yr2は第2のシリンジについての同
じ情報を入力するためのものであり、シリンジ3は第3のシリンジについての同
じ情報を入力するためのものである。4個以上のシリンジが取り付けられる場合
には、メニューはそれぞれにのシリンジについてのソフトキーを有する。さらに
、ソフトウェアはシリンジが4つの場合に容易に拡張できる。操作及び入力のモ
ードは同じである。トレイはドライブの速度及びチューブ(プローブ)のための
トレイ注の位置の数のような、自動試料交換トレイのパラメーターを入力するた
めのものである。
測定メニューは第10(F)図及び第10CG)図に示されており、一連の分析
を開始し、結果を貯蔵し印刷するためのンメ二二一である。このメニューには2
つのスクリーンが存在する。メインMを押すとメインメニューにジャンプできる
。シリンジを押すとシリンジ制御機能にジャンプできる。ウォッシェは選択され
たシリンジを洗浄するためのものであり、操作者にはサイクル及びシリンジの数
を入力するためのプロントが表示される。DiVarを押すと、プリンターへラ
ダーが表示され、シリーズが開始される前にパラメーターのセットをチェックす
ることが可能になる。テストMを押すと試験メニューにジャンプできる。[E、
S]を押すと、酵素及び基質の濃度を、これらが変更された場合に再入力するこ
とを可能にする。ボインツは、ボインツ機能の再入力を可能にする。
第2頁のソフトキー機能は以下の通りである。ベージ1を押すと第1ページにジ
ャンプできる。プリントは印刷の異なる量を選択するトグルである。コンテント
を押すとデーターディスクのディレクトリ−が表示される。コメントを押すと、
コンマなしの64字のコメントをユーザーが入力できる。KmMeasを押すと
、シリーズ、ファイル名及び酵素濃度のプロントに続いて反応動力学定数の測定
が開始される。ブランクを押すと。
以下の全ての測定値から差し引かれるブランクファイルを入力することができる
。[E]オートを押すと自動又は手動モードを選択できる。シングルAを押すと
単一の分析が行なわれる。
第10(H)図は測定メニュウーの下の単一分析サブメニューである。ソフトキ
ー機能は以下の通りである。エクシットを押すと測定メニュー(ルベルアップ)
にジャンプできる。ゴーオンを押すと、手動操作モードであれば次の作業に進む
ことができる。グラフを押すと自動操作が停止され、グラフディスプレイが表示
される。アルファを押すと英数字のディスプレイが表示される。[E]を押すと
、ユーザーが新しい酵素濃度を入力するためのプロントが表示され、混合及び単
一の分析が行なわれ、自動操作で進行する。アクティブを押すと、ユーザーが活
性を入力するためのプロントが表示され、入寮された活性と分析とをミックスす
ることが試みられる。[I]を押すと、ユーザーが阻害剤濃度を入力するための
プロントが表示され、次いで混合及び測定が行なわれる。シリンジを押すと、シ
リンジコントロールメニューにジャンプできる。
第10 (I)図は、バグを除去する(デバグ)ためのサブメニューを示す、こ
れは自動操作中に呼び出すことができ、呼び出すと次いでサスペンドされ、発生
するかもしれない問題を治値するために設計されたいくつかの機能を提供する。
ソフトキーはデバグメニューについては無効である。数字を入力するとリストさ
れた機能が実行される。リピートシングルアラサイを押すとユーザーが分析を繰
返すためのプロントが表示される。ネクストプローブレディを押すと濃度を入力
するためのプロントが表示され、ユーザーがジャブキューを構築することを可能
にする。
全てのポイントを測定した後、制御はエンドサブメニューに移行し、ここでは測
定された全てのポイントのデータが表示される。自動モードでは、エンドメニュ
ーは約10秒間有効であり1次いでデータが貯蔵され、次の酵素プローブが吸引
される。付BBにより詳細なエンドメニューの記述及び関連するソフトキー機能
が記載されている。
テストメニュー(第2レベル)はベースラインを試験し、シリンジを洗浄し、第
3レベルメニユーを活性化するために設けられる。使用中の分析機器のためのゼ
ロベースラインを発生させるための非吸取性緩衝液を注入するためのソフトキー
がこのメニューには設けられている。より詳細なことはこの明細書の付録に記載
されている。
試験測定サブメニューは、試験メユーにおける第3レベルメニユーであり、その
機能は自動測定メニューにおける後使用のため又は反応動力学定数の自動測定の
ための分析条件の評価である。典型的なメニュー及びソフトキー機能は付録に詳
述されている。第1の好ましい具体例においては、このメニューには2ページあ
る。
自動測定サブメニューもまた試験メニューにおける第3レベルメニユーであり、
その機能は、同一のプローブと共に分析のバッチを獲得と、一連のプローブのバ
ッチ測定の反復的適用である。ソフトキー機能及び詳細な説明はこの明細書の付
録中に記載されている。
測定濃度サブメニューは基質及び生成物の濃度を測定するための第3レベルメニ
ユーである。これはまた、異なる希釈率における試料のスペクトルを測定するた
めにも用いられる。ここでもまた、ソフトウエアドキエメンテーション及びリス
トはこの明細書の付録中に記載されている。
ダコムメニューはホストコンピューター−とのデータ通信のための第2レベルメ
ニユーである。これはまた、メモリー中のデータ曲線のへラダーを表示し、デー
タ曲線を編集し、ブランクのファイルをコピーし、データをプロットするために
も用いられる。ダコムメニュ−(第3レベル)下におけるデータ移送サブメニュ
ーはデータ移送の開始及び取消のコントロール機能を有する。ソフトキー機能及
びさらなる詳細は付録中に記載されている。
ダコムメニュー下のディプレイ変数サブメニューは、変数を表示し、移送を編集
するデータのためのソフトキー機能を提供する。
編集データサブメニューはダコムメニニー下における第3レベルメニニーであり
、プロット又は他の出力機能の前にデータファイルを通読し、編集するためのソ
フトキー機能を提供する。
プロットサブメニューは実行前にユーザーがタイトルを付し、プロットを準備す
ることを可能にするものである。2セツトのソフトキー機能が存在し、更なる詳
細は添付の書面に記載されている。
上述メニューは全て付録Bのミツキンソフトウェアドキュメンテーションにより
詳細に記載されている。
フィツト Fitソフトウェア
第1の好ましい具体例においては、「ローカル」コントローラーはZ−80マイ
クロプロセッサ−であり、この水準で作動可能なソフトウェアの洗pJ (5o
phisti−cation)及び範囲には限界がある。もっとも、HP−85
のアタッチメントは、プログラム化された制御のための第2水準を与え、HP−
150のようなより大きなソフトとの通信により、実行すべき収集後データ処理
をより洗練されたものとすることができる。第1の好ましい具体例では、上記動
力学ソフトウェアはHP−85上で走る。このセクションで記載されるフィツト
ソフトウェアは、より大きなホスト、すなわち、第1の好ましい具体例ではHP
−150上で走る。もう1つの好ましい具体例では、マイクロプロセッサ−コン
トローラーのためのマスタープロセッサーは80286であり、一方、フィツト
機能はビルトインされたMacII又はPS/2コンピューターで機能する。
フィツトソフトウェアの広範囲な機能はデータ解析及びディスプレイである。機
能は、動力学ソフトウェアと同様にメニュー構造を介してアクセスされ、その詳
細は付録Cのミックフィツトソフトウェアドキュメンテーションに記載されてい
る。このソフトウェアは第1の好ましい具体例において、100レコードのワー
クファイルの周辺に記載され、L・コードは数学的操作の被演算子又はダイレク
トカーブフィツト若しくはグラフィック表示のためのソースとして利用される。
レコードは、典型的にはアッセイオメート(As5ayoa+atel操作の結
果として動力学的ソフトウェアによって移送されるものである。もっとも、他の
ソースからのデータも同様に受信し処理することができる。
メニューは次のものを包含する。すなわち、ワークファイルの外部からの全ての
入力を司る入力メ二二一、数個の出力装置にデータを送ることを司る出力メニュ
ー。
データ取扱いメニューはワークファイルを編集し、登録と共に操作を行ない、ア
クティブファイルと貯蔵されたワークファイルとを交換する。
インタープリタ−/マクロスは、定常的になされる必要がある処理のセットを自
動化するための操作インタープリタ−及びマクロス機能を与える。
ダイレクトカーブフィツトはフィツトソフトウェアのための新しいフィッティン
グプログラムを与える。これは、他のダイレクトカーブフィツトルーチンと同様
に第1のエステイメートを入力することによって開始される。また、全てのパラ
メーターの有為な範囲の全てをカバーするグリッドサーチ技術を用いることもで
きる。グリッドサーチによって見出された第1のエステイメートをR適化するた
めに二重勾配サーチが用いられる。!1)ミカエリス−メンテン、(2)連続反
応、f312Km2V +nax値、(4)ヒル等式、(5)非協働部位、(6
)連続的相互作用、(7)競合阻害、(8)不競合阻害、(uncompe−t
itive 1nhibition)、(9)非競合阻害Inon−compe
titiveinhibition)のような、数個のモデルがソフトウェアに
組込まれている。
また、ユーザーが自身のモデルを入力することができる等式インターブレターも
存在する。
プロットサイズメニューは、スクリーン、ブロック−又はプリンター上のグラフ
ィック表示の主な機能を有する。
ディスプレイメニューは、データのディスプレイをクリエート及び注釈する理解
可能な機能のセットを提供する。
フィツトソフトウェアドキュメンテーション及びソフトウェアのリストがこの明
細書に添付されており、それには全てのメニュー及び機能の詳細が記載されてい
る。
偲」L医
第1の好ましい具体例の装置の主な用途は、上記したように、多(の分析を迅速
、正確そして効率的に測定することによって酵素の反応動力学定数の測定を行な
うことである。もっとも、これは重要な唯一の用途ではない、上記した装置はま
た、操作なスクリーニングするためにも用いることができる0例えば、1つの貯
蔵器に特定の物質を貯蔵し、あるいは2以上の物質を2以上の貯蔵器に貯蔵し、
多数の位置を有するように構成することができる自動試料交換器におけるプロー
ブ中に複数の酵素を供給することによって、ユーザーは酵素の基質に対する特異
性を迅速かつ自動的に調査することができる。
特定の反応における複数の阻害剤又は促進剤の効果のような、多くの同様な調査
をこの装置及びソフトウェアを用いて行なうことができる。
手動モードを用い、付録Aにリストした機能を介するキーストロークコマンドに
よって装置の個々の機能を駆動し、そしてコミエニケーションバスを通して同一
の機能を介して装置を駆動するためのソフトウェアをあつらえることによって、
真に広範囲の実験及び分析操作を達成することができる。すなわち、方法の多く
のバリ工−シミンにおいて、スクリーニング操作を行なうことができ、単純な反
応動力学定数を測定することができ、阻害剤、活性化剤又は促進剤を試験するこ
とができ、反応における変数イオン強度の効果を定量することができ、そして希
釈を行なうことができる。
この発明の主な利点は希釈を行なって非常に広範囲にわたる濃度の溶液を調製す
ることができることであり、これは従来自動的には行なうことができなかったも
のである0例えば、ライン169(第5図)は、ストック酵素溶液を含む貯蔵器
に延びているならば、開いたバルブ151と閉じたバルブ167とを有する酵素
貯蔵器から、シリンジ153(アッセイオメート中の48モーターパルス)の1
/1000の量を抜き取り、バルブ167をスイッチして自動試料交換器上のプ
ローブを緩衝液で充填することができる( 48.000ステツプの残り)、そ
の結果、酵素温液が正確に1000倍に希釈される。緩衝液は所望ならば、別の
シリンジ及びそれに付随するバルブを用いることによって他の貯蔵器から空のプ
ローブ中に入れることができる。さらに、所望ならば、この1000倍に希釈さ
れた液を自動試料交換機のステージ上の他の空のプローブに入れ、再び上記と同
様にして1000倍希釈を行なうと、1,000,000倍希釈を行なうことが
できる。特定のニーズに応じて、この例で説明したのとは異なるいくつかの方法
で上記と同様な希釈を行なうことができる。
自動試料交換器における回転ステージ上のプローブ位置の数が多(、細かい勾配
制御が可能な数個のシリンジを用い1種々の異なる流路に溶液をスイッチするた
めのバルブブロックを用いることによって、真に柔軟性のある分析装置が提供さ
れる0例えば、特定の反応物質を提供して反応動力学定数を測定するための分析
を行なう前に、酵素を活性化し、阻害剤を前インキュベートし、そして他の前処
理をを行なうために必要な共通的な多くの操作がある。この発明の装置を、各目
的のためにかかれたソフトウェアと共に用いると、このような前処理を自動的に
行なうことができる。この目的のためのソフトウェアは付録Hないし付録りとし
て添付されている。この自動前処理の1つの重要な局面は自動希釈である。最初
の測定が一旦行なわれると、反応物質の1つの濃度が高すぎる場合には、システ
ムはその反応物質の濃度が有用な範囲になるまでその反応物質を自動的に希釈す
る。
この特徴により、装置は真に自動的なものとなる。
実施例
第11図及び第12図は、チトクロムCについてのミカエリス定数の測定結果を
示す、これらの図は、測定の結果アッセイオメイトによってプリントアウトされ
たものを示す、第11図に示すプリントアウトでは、ファイル名、ディスクボリ
ューム名及び測定の日付を示すヘッダーが上部に表示される。その下には測定パ
ラメーターが印刷される。第1行目は測定のタイプを示す(ミカエリス定数初期
速度)。第2行ないし第4行は、最低及び最高基質濃度におけるタイムウィンド
ーを示す、第5行は個々の測定の測定間隔及び積算時間を示す、第6行はノイズ
を示し、平均値を計算するために単一の測定結果が入らなければならない標準偏
差を決定する。第7行ないし第9行は2つのモニター波長域及び標進化のための
波長域を示す、第12行及び第13行はストック及び分析中の酵素の濃度を示す
、第12行及び第13行はストックの基質濃度及び分析中の最高基質濃度を示す
。
第14行は異なる基質濃度(ポイント)の数及び単一の基質濃度のための繰返し
の数を示す、第15行及び第16行はi!!7行及び第8行上の波長域のための
消衰係数を示す、第17行は分析の体積(緩衝液、酵素及び基質の合計)を示す
、第12図は、3つの測定のための、第1のカラムにおける548 na+ない
し552 ns (DELTA 00/秒)における吸収の変化及び第3カラム
の標準偏差のプリントアウトを示す、第13図には、異なる20の基質濃度にお
ける時間の関数としての吸収(DELTA 00/秒)の派生物のプロットが示
されている。第14図は、第11図に示す異なる消衰係数及び酵素濃度における
第12図に示すデータから計算された20の異なる基質濃度における代謝回転数
を示すプリントアウトである。第1カラムに示されているものはポイント数であ
る。第2のカラムは548〜552 nmにおける吸光度変化から測定される代
謝回転数である。第3のカラムは416 na+ないし420 na+における
吸光度変化から測定される代謝回転数であり、第4カラムは基質濃度(uM)で
ある、第15図は第14図からの値を用いた代謝回転数対基質濃度のプロットを
示す、また、17秒で示される最大速度(又は代謝回転数)及び第14図のデー
タの二重分数トランスフォーメーション(double reciprocal
transformationlの線形回帰から計算された、uMで示された
ミカエリス定数も示されている。線形回帰の相関係数もまた示されている。
他の多くの測定もまたアッセイオメイトを用いて行なわれ、優れた結果が得られ
た0例えば、アルコールデヒドロゲナーゼ及びアスパルテートアミノトランスフ
ェラーゼについての研究も行なった。これらは2つとも他の人達によって深く研
究され、その反応動力学定数も広く出版されている。アッセイオメイトによって
得られた反応動力学定数の測定は、出版されている定数の範囲内によく納まって
いる。同じロフトの酵素を用い、同じ緩衝液条件を用いて手動操作により反応動
力学定数を求めたところ同じ値になった。もっとも、再現性は手動操作よりもア
ッセイオメイトを用いた自動操作の方がずっと高かった。第16図はチトクロム
Cについての再現性分析の結果を示す。
発明の精神及び範囲から逸脱することなく、上記したこの発明の好ましい具体例
の記載から外れる種々の変更が可能なことは当業者にとって明らかであろう。例
えば、上記コンビエータ−は組込むことができる唯一の適当な機械ではない。他
に多くのコンビエータ−を用いることができ、ソフトウェアもコンピューターに
応じて調整することができる。マイクロプロセッサ−1通信プロトコール、デー
タ構造及び他の詳細は、適合性と便利さのために組込まれたものであり、他にも
有能なものがある。
装置の構造において、この発明の精神及び範囲から有意に逸脱することなく行な
うことができる多(の変更及び置換が存在する。駆動されるシリンジの数は代え
ることができ、ストック貯蔵器の数及び自動試料交換器ステージ上のプローブの
位置の数も同様に変えることができる。ステージ自身は回転装置である必要はな
く、複数のプローブをピペットに提供する方法は他にいくらでもある。2以上の
自動ステージ及びピペットが存在してもよい、このような可能な置換は非常に多
様であり、ここに全てを列挙することはできない、しかし、この種の変更の種類
はこの発明の精神及び範囲から逸脱するものではない。
付録A
A ALTHこの機能は、機能B(排出)、C(吸入)、およびD(戻し)によ
って移動する作動シリンジの容積を変える。表示されるメツセージは’ Ple
ase enterthe volua+e in (ML)”であり、0から
最大容積までの数値の入力を待つ。
B GIVE この機能は、機能Aで規定された容積を混合チャンバーおよび
測定ヘッドに向けて直ちに移動させる。
これは、作動中’ GIVE OUT”と表示する。
C5UCK この機能は、機能Aによって規定された容積をレザーバーからシ
リンジに直ちに吸引する。これは、作動中“5UCK IN ’″と表示する。
D BACK この機能は、機能Aによって規定された容積を直ちにレザーバ
ーに戻す。これは、作動中’ GIVE BACK ’と表示する。
E WASHこの機能は、吸引−排出サイクルを繰り返すことにより作動シリン
ジを洗浄する。これはPLEASEENTERTHE NUMBEROF CY
CLES’ と表示し、口ないし99の範囲の正数の入力を待つ。第1のサイク
ルでシリンジを空にし、次のサイクルで最大容積の2%を吸引し、第3でシリン
ジを空にするなどである。奇数のサイクルはシリンジが空の状態で洗浄を停止し
、偶数はシリンジが充填された状態で洗浄を停止する。
作動中はずっと” VASHING OF ACTIVE 5YRINGE ”
トいうメツセージを表示する。
F EMPTY この機能は、直ちにレザーバーに戻して、シリンジを空にす
る。これは、作動中″EMPTYING 5YRINGE″と表示する。
CFILL この機能は、レザーバーから機能″−”によって入力されたレベ
ルまで、シリンジを直ちに充填し、作動中’ FILLING 5YRINGE
”というメツセージを表示する。シリンジの充填レベルがすでに最大充填レベル
より高い場合には、このコマンドは無視される。
H5TOPFL この機能は、アッセイをミックスし、’ 5TOPPEDp
t、ow”というメツセージを表示する。緩衝液、酵素および基質の量は、この
機能が実行される前に、機能°に°によって規定されなければならない。シリン
ジの一つが容積範囲外で作動する場合には、この機能は直ちに中断される。アッ
セイ終了の約100ミリ秒前に、 IECインターフェイスの状況バイトの使
用ビットはクリヤーされ、アッセイ終了後メニューは最新のものになる。
(以下のソフトキーには、シフト状態でアクセスする)I 5PEED この
機能は、作動シリンジのピストン運動の速度を変更するために用いられる。これ
は、” PLEASEENTERTHE 5PEED IN ML/MN’ と
表示し、0ないし99−7分の範囲の1つの数字の入力を待つ。
J 5ETSF この機能は、アッセイの構成を変更するために用いられる。
これは、’ PLEASE ENTERTHREE VOLUMES(ML)’
と表示し、緩衝液の容量(ILlり、酵素の容量(−)および基質の容量(−)
の3つのパラメータ、例えば0.300. 0.050.0.050 (cr)
の入力を待つ。
この機能はアッセイを実行するものではなく、それは機能°H“によって行われ
る。
K FUVOL この機能は、一連のアッセイの体積を、コマンドソースに依
存するIECリスナのディスプレイに供給する。これは、”VOLUMES O
F 5UBSTRATE’ と表示し、変更可能なポイント数の設定に従って、
70.367(cr)(If)のように1回体積を表示する。このリスナは、n
ラインの情報を受けなければならない。
L 5ETRE この機能は、基質間隔のタイプ、ポイント数、繰り返し回数
、アッセイの容積(−)、酵素の量(−)および基質の最大量(−)の設定に使
用される。例えば、1M1.20.3.0.400 、0.040.0.100
のようになる。
M FUBED この機能は、機能’M−の設定に従って緩衝液、酵素、およ
び基質の必要量を計算する。次いで、全てのシリンジに対する充填コマンドを実
行するが、実際には十分な容量を有していないシリンジのみが作動する。シリン
ジの作動が必要である場合には、FILLING 5YRINGE”を表示する
。
N DILUTE ・・・・・拳・・・0*0・・中・・・・・・0LEVE
L 、:(7)機能は、’ PLEASE ENTERFILL LEVEL
IN ML ”と促し、口ないし作働シリンジの全容積の範囲の1つの数字の
入力を待つ。
P 5PSET この機能は、活性ロータイブ(rovtype )のどのポ
イントであるか、および調製されるであろうポイントの数を特定することによる
アッセイの容量の設定に使用される。この機能が実行可能となる前に、機能°x
°の正確なパラメータを入力する必要がある。これは、”PLEASE ENT
ERPOINT(ASSAY) ” と促し、0ないしポイントの最大数の範囲
の整数の入力を待つ。
他の機能: (全てのメニューに有効)RSWREM ASSAYOMATE
を遠隔操作に切替え、コノ機能の実行後はキーボードからのコマンドはもはや受
入れられない。唯一の例外は、スクリーンロールとLOCAL機能である。コれ
は、” S’1ilTCHED To REMOTE’ と表示する。
S DIHEME この機能は、’ PLEASE ENTERHEXADE
CIMALADDRESS”と促し、0ないしFFFFの範囲の18進数の入力
を待つ。これは、入力されたメモリー位置から始まる8バイトのメモリーを18
進数で表示する。
*spgo。
TLDHEME 、:の機能は、’ PLEASE ENTERHEXADE
CIMALADDRESS ’と促し、0ないしPFF’Fの範囲の16進数の
入力を待つ。この16進アドレスは、次いで、各々が隣のペアからスペースによ
って分離されている32ベアの16進数になり得る。この機能は、16進数のベ
アを2進数(0−255)に変換し、それらをASSAYOMATEメモリーに
保存する。 *T F800^A CP 01 (cr)U LOCAL
ローカルに切替える(キーボードからのコンマドを受入れル)。コれは、’ 5
WITC)IED To LOCAL ”と表示する。
V RECASCこの機能は、16進アドレスおよびIECトーカ−(IECt
alker)からのASCIIキャラクタ−(ASCIIcharacters
)列の入力を待ツ。このASCII列はASSAYOMATEメモリーに保存さ
れる。
V 5EASCこの機能は、1B進アドレスの入力を待ち、キャリッジリターン
に出会うまでASSAYOMATEメモリーの内容をIECECリスナ送する。
転送される最も長い列は128バイトである。 IECリスナーのデータを受は
取る準備ができていない場合には、ASSAYOMATEは1秒後に°IECT
IMEOUT”と表示して作業を中断する。
X MSTAT この機能は、マイクロスイッチの状態を読取り、それを状況
バイトにコピーする。
ZNUklFU ニー(1)tマ>ドは、予めASSAYOMATE l モ
!J −1,: ロードされているRAMベースのルーチンを実行する。
OAKTOこのコマンドは、全てのシリンジを非作動性にする。
l AKTA キー1.2.3および4は、それぞれ、緩衝液、酵素、および
基質シリンジを作働させる。
* 5YRCOこのコマンドは、シリンジ制御メニューが作働していない場合に
は、それを作働させる。
+ SAMPCこのコマンドは、サンプラー制御メニューが作働していない場合
に、それを作働させる。
−DETCOこのコマンドは、検出器制御メニューが作働していない場合に、そ
れを作働させる。
/MICHKIN このコマンドは、動力学的ソフトウェアを開始もしくは再
開する。電源投入後、この動力学的ソフトウェアを初めて開始する場合には、・
・・・・・付録B
ブルーノやマイケルによる
ミヒキンソフトウエア(Michkin Software)仕様書第1章:序
説 58第2章ニジステム概念
59MICHKINオーバーレイ
59開始オバーレイ 59測定オーバーレイ
BOテスト測定オーバーレイ 61
データー転送オーバーレイ B2サンプル結果
B33第3:データ構造 6
5共通データ領域 65測定パラメータフアイル
ee伝送されたデータのフォーマット 6
8連続インターフエースの形状 68第4章:メニニー及びアルゴ
リズムの説明 B9開始オーバーレイr AutostJ
69初期化 69主メニニー
70パラメータメニニー
72Setupメニユー76
開始オーバーレイ手順 79測定オーバーレイrKINZJ
83局部変数 83
測定メニユー 84測定メニニ一手順
90終了メニユー 94終了メニユ一
手順 97単−検定メニニー
103保存、プロット及びLinreg手順 105^SSAYOM
^TE制御のための手順 10Bテスト測定オ一バーレイrKON
ZMsG J 111局部変数 11
2テストメニニー 113測定濃度メニュー
114テスト測定メニユー 119連続
検定メニユー 125データ転送オーバーレイrDAc
O)4 J 128局部変数 12
81)ACOMメニュー 129ヘッダ編集メニュー
130デ一タ編集メニニー 1
31データ転送メニユー 132プロツトメニユー
137初期オーバーレイrAsINITJ
138第5章二手順のりスト 139アルフア
ベツトリスト 139第1章
序 論
MICHKINユーザーソフトウェアは、一方のユーザーと、他方のホトメータ
ー(又はその他に検出器)との間のインターフェイスである。これは、動的係数
の獲得をできるだけ容易にするために書き込まれた。6つのメニューは、ユーザ
ーに必要とされるコマンドを上手に配列した組合せを提供する。
動的係数の決定は、単に測定メニューにおいてソフトキーを押すことにより実行
される。
測定パラメータは、パラメータメニューにより編集される。
これらのパラメータは、後に使用するディスクに保存できる。
動的係数のためにデータを獲得する際に、MIC)IKINソフトウェアは、バ
ッファ、酵素、及びデータポイントiに対する阻害剤の基質の量を計算し、AS
SAYOMATE (ファンクション*0及び*H)にコマンドを送る。混合を
終了した場合に、スペクトロホトメーターが起動され、MICHKINソフトウ
ェアは、スペクトロホトメーターからの一連のスペクトルを受入れる。このスペ
クトルデータから、ソフトウェアは、1つ又は2つの波長範囲における光学的密
度の標準化された時間依存を計算する。次いで、データを区分し、導関数の安定
性及びノイズを確認する。
各々の濃度は、数回(パラメータメニューで決定される)繰り返えされ標準偏差
を計算し、確認できる。全てのデータポイントを首尾よく測定した後、このデー
タをディスクに保存し、動的係数を決定して印刷する(試料結果参照)。
第2章
システムの概念
ASSAYOMATE及び市販のホトメーター(吸光/蛍光)を制御可能なコン
ピュータを、異なる条件下で測定した安定状態活性の組合せから動的係数を決定
するMICHFTソフトウェアに使用する。
2、 1 MICHFTオーバーレイMICMFTソフトウェアは、4つのオ
ーバーレイ(開始オーバーレイ及び3つのオーバーレイ)に分割される。MIC
IFTソフトウェアは、開始オーバーレイから起動できる。データは、共通デー
タブロックの助けにより、異なるオーバーレイとの間で互換される。MIC)I
FTソフトウェアは、HP RASICで書き込まれている。全てのオーバーレ
イは、同様の方法で系統室てられる。;これらは、第2レベルのメニューを実行
する。:測定オーバーレイ :測定メニュー試験測定オーバーレイ
:試験測定メニューデータ転送オーバーレイ :データ転送メ
ニニー第2レベルのメニューから、より低いレベルのメニューに分岐できる。全
てのより低いレベルのメニューでは、ソフトキー零lが、いづれかの場所から夫
々のオーバーレイの第2レベルのメニューに出る。第2レベルのメニューの1つ
にソフトキー客1を押すことは、メインメニューに出る。これは、最も高いレベ
ル(第ルベル)のメニューであり、全ての操作がここから開始する。
2、 1. 1 開始オーバーレイ(’Autost’)−MICHKINソ
フトウェアパッケージの開始。
−C0MM0Nデータブロツクを初期化。
−メインメニュ−(第ルベル)を実行する。
−ファイルに測定パラメータを保存する。
−測定パラメータを包含するファイルを読み取る。
−全でのディスクのディレクトリ−を表示する。
−データファイルを追い出し、データディスクを初期化する。
−オーバーレイを起動する。
− パラメータメニュー(第2レベル)を実行し・てシリンジパラメータを入力
する。(例えば、L−レンジ、期間、濃度)
−セットアップメニュ−(j@2レベル)を実行し、シリンジパラメータを入力
する。(例えば、充填速度、充填レベル、アッセイ容量)
2.1.2 測定オーバーレイ
−測定メニュー(第2レベル)を実行する。
−単一アッセイを測定する(酵素及び基質濃度を入力)。
−酵素及び基質濃度を変化させる。
−単一測定(ポイント)の数及びポイントの反復数を変更する。
− ブランクを測定する。
−ミカエル定数を測定する(生データをディスクに保存する)。
− ミカエル定数の測定値からブランクを減する。
−オートサンプラーにより一連の酵素プローブを測定する。
−シリンジ制御メニュー(第3レベルメニユー)を実行する。
− シリンジ(充填/排出/吸入/注入/回収)測定オーバーレイの主な機能は
、ホトメーターデータの獲得、結果の保存及び動的パラメータKIl及びVII
axである。この目的のために、オーバーレイは、ホトメータ及びASSAYO
MATEの両方を制御可能でなければならない。シリンジ制御メニューは、手動
制御下でシリンジを動かすために使用する。このメニューは、ASSAYOMA
TE ドキュメンテーシヨン及びMIC)IKINユーザーマニュアルに記載
された充填、排出、吸入、注入、回収及び容量変化の機能を提供する。シリンジ
は、このメニューにおいてソフトキーS8を押すことにより順次起動される。
アッセイは、測定メニューの単一アッセイ機能を起動することにより混合・測定
される。ソフトキー<Single As5ay>が押された後、使用者は、基
質及び酵素濃度を入れることを求められる。入れられた濃度が妥当な場合には、
アッセイは混合され、ホトメータは測定を開始する。光学的密度は、時間関数と
してプロットされ、次いで、導関数、直線性及びノイズがプリントされる。
同じメニューから開始して、最大速度と共に、ミカエル定数が、ミカエルオーバ
ーレイにおいて<Ka+ 5eas >ソフトキーを押すことにより決定される
。使用者は、データファイルの名称(例えば、’TEST Al’ )及び保存
溶液の酵素濃度を入れなければならない。次いで、単一アッセイを混合し、測定
されたターンオーバーは、選択された活性と比較される。この試験結果に従って
、アッセイにおける酵素の量は、増加又は減少されてアッセイを繰り返す。ター
ンオーバー数が適当な範囲内にあるならば、ヘッダーがプリントされ、異なる基
質濃度を有するアッセイが混合される。これらのアッセイの少なくとも1つの後
、プログラムは、エンドメニューに移る。
このメニューでは、1又は幾つかの(アッセイの)平均を反復でき、その結果を
直ちに保存できる。次いで、動的パラメータが二重相互変形における直線領域か
ら計算され、相関係数と共にプリントされる。
2、 1. 3 試験測定オーバーレイ−テストメニュー(第2レベル)を実
行する。
−アッセイ条件を試験する。
−オートサンプラーにより一連の酵素(速度)を試験する。
−基質及び生成物濃度を測定する(それらが吸光UV/可視光である場合)。
−基質及び生成物のスペクトルの測定。
テストオーバーレイは、3つの主な機能を有する。濃度メニューでは、基質及び
生成物の濃度及びスペクトルを測定できる。試験測定メニューは、新しい基質又
は酵素のためのアッセイ条件を試験するのに使用する。連続アッセイメニューで
は、アッセイの固定を、多くのプローブ上に、手動手段又はオートサンプラーに
よる自動手段のいづれかにより行うことができる。
2.1.4 データ転送オーバーレイ−DACONメニュー(第2レベル)を
実行する。
−ファイルをホストコンピュタ−にシリアルインターフェイスを介して転送する
。
−ブランクの測定値を平均化する。
− データファイルをコピーする。
−データファイルを編集する。
−データをプロットする(ターンオーバー数対基質、二重相互、Eadle )
lofstee又はHanse wolf変形)このオーバーレイの主な機能は
、R8−232インターフエイスを介したデータのホストコンビニ−ターへの伝
達である。ディスクに保存されているデータファイルを、読取ってホストに送る
。データ転送は、データ転送メニューにおいてソフトキー<Master>を選
択した場合に、このオーバーレイにより制御される。データ転送は、ソフトキー
’5lave’を選択した場合には、ホストコンビニターにより制御される。こ
のオーバーレイは、データ転送に加えて、結果ファイルの編集及び外部プロッタ
ーにデータをプロットする責任を果たす。
2.2 試料結果
ホトメータの前に、コンピュータ及びASSAYOMATEのスイッチを入れる
が、これらはIECバスによって接続してなければならない。それから、ホトメ
ータ及びASSAYOMATEのスイッチを入れると、これらは同時に始動する
。
メインメニューから始めた場合、測定パラメータファイルを読み取らなければな
らない。次いで、基質の濃度が試験測定オーバーレイによって決定される。試験
測定オーバーレイが最初に実行された時に、シリンジパラメータがASSAYO
MATEメモリー内に位置付けられる。しかし、ホトメータが最初の測定を実行
できる前に、参照測定が実行されなければならない。このようにするために、バ
ッファーをシリンジ1に吸入する(ASSAYOMATEキーボードからのファ
ンクションと共にか、或いはシリンジ調整メニューと共に)参照測定は、テスト
メニューから実行することができる(MICHKIN使用取説、参照)。この後
、基質の濃度が濃度メニューにて測定される。次に、試験測定メニューを用いて
酵素の濃度を決定する。
動的係数の決定結果のプリントアウトが、2つのモードで得られる。ニブリント
フラッグがある場合には% a’) −h)の全プリントアウトが得られ、他の
場合にはa)とh)のプリントアウトのみが印刷される。
典型的なプリントアウトの全長は、8つの要素からなる。
a)ライン1 実験の通し番号(B5)とファイル名称を伴なった見出
(HOR5CC)
ライン2 日付、ディスク容量名称
(Modcyt)
b)これは重要な測定パラメータのリストである。
ライン1 測定の種類(ミカエル定数切速度)ライン2〜4 最低と最高の
基質濃度におけるタイムウィンド
ライン5 測定間隔と各々の測定に対する積算時間(積算時間〈測定間隔)
ライン6 ノイズ、平均を決定できるように単一の測定内での標準偏差を決
定する。
ライン7〜92つのモニター波長範囲及び標準化のための波長範囲(この範囲内
の反応中における吸収の変化はない)
ラインlO〜11 保存時及びアッセイ時の酵素濃度ライン12〜13 保
存時の基質濃度及びアッセイ時の最高基質濃度
ライン14 異なる基質の濃度数(点)及び単一基質の濃度の繰り返し数
ライン15〜16 ライン7〜8の波長範囲に対する消去定数負可は、反応中
の減少している吸収を示す。
ライン17 アッセイ容11(バッファ、酵素及び基質の合計)c)秒当
たりの光学的密度の変化は、両波長範囲について印刷される。
第3欄は、範囲1の平均点における絶対標準偏差を示す。
d)プロットは、光学的密度の時間経過における変化と全データ点に対する時間
(デルタOD/秒)との関係を示す。理想的な場合の水平直線。このプロットは
、初速度の時間独立性を可視的に示す。
e)見出a)が繰り返され、そして、2つのコメントのラインが印刷される。
f)プロットg)を得るために用いる異なる基質濃度でのターンオーバー数の表
h)二重相互変形における動的データの直線復帰の結果動的定数の精度は、測定
がブランク反応に対して補正された場合に向上する。このようなブランクは、酵
素保存濃度を零に設定することによって測定できる。そして、それはシステムデ
ィスク上にデルタOD/秒として保存され、次の全ての測定から削除される。
第 3 章
【データ構成〕
3.1共通データ領域
ミヒキン(MICHKIN)ソフトウェアの共通データ領域は、全オーバーレイ
において保有されているRAMの一部である。
このオーバーレイ間においては、スペクトル、測定パラメーター、フラッグ、お
よびポインタを常に交換している。このブロック全体は以下のようである。
5L(80) 時間進行1(吸収対時間データ)S2(80) 時間進
行2(吸収対時間データ)S3(80) 1の平均(吸収対時間のデータ)
54 (10) スクラッチバッファーTl(41) 滴定曲線1(デ
ルタAυ/5)T2(42) 滴定曲線2(デルタAU/5)D1$ (1
) *測定系列
D2 *測定数
D4$ (20)*フラッグ(ブランク訂正)E1$ (20)*酵素名
E2$ (20)*配位子名
T1$ (65)*コメント(64文字)T(20) *測定パラメータ
L(20) *測定パラメータ
B(20) *測定パラメータ
W(20) *シリンジのセット(体積、速度)Wl (20) *停止
フローコマンドA C5,5) *プロットの軸
DB$ (20)*測定データ
C(15) シリンジのカウンター(1)E (20) オート
サンプラーにおける酵素濃度(uM)Z5−29 フラッグ
B9$(8) ボリューム名(dlsc)(*)測定パラメータ内に保存さ
れている3、2測定パラメータフアイル
測定パラメータファイルは、ミヒキンソフトウエアのメインメニューにおいてS
to Pa’ソフトキーを押した後、起動される。これらは、セットアツプ、変
換ファクター、および酵素名を常に保存している。このようなファイルは、各異
なる酵素または基質に対して起動される。これら全体に亘る意味は以下の通りで
ある。
T(1) 曲線1の開始波長
T(2) 曲線1の停止波長・
T(3) 酵素濃度(nM)
T(4) 基質濃度(uM)
T(5) ポイント番号
T(6) 最大基質におけるタイムウィンドの開始時間T(7) 最大基質
におけるタイムウィンドの停止時間T(8) 反復回数
T(9) データフォーマット
T(10) 内部に対する開始波長
T(11) 停止波長のリファレンスT(12) 開始波長範囲2
T(13) 停止波長範囲2
T (14) (Sl最大(uM)実測T(15) 吸光係数基質範囲I
T(16) 吸光係数基質範囲2
T(17) 吸光係数範囲1の差
T(1g) 吸光係数範囲2の差
T(19) ロータイブ(row type)T (20) 追加反復
B(1) 最大ノイズ(%)
B(2) 最大非線形性(%)
B(3) アッセイでの実測酵素濃度B(4) 出発酵素濃度(自動)
B(5) アッセイでの事前に選択された酵素B(6) アッセイでの実測
基質濃度B(7) アッセイ体積(ml)
B(8) )ワー) (Tvart )B(9) デルタトワート
B(10) 活性(E)自動
B(11) 測定間隔(s)
B(12) 積算時間(s)
B(1B) タイムウィンドのt−スタードルB(14) t−ストップ分
、基質濃度B(17) グレードE
B(18) 希釈度のファクター
B(19) チューブカウンター
B (20) 洗浄シリンジ
3.3送信データのフォーマット
ミヒキンソフトウェアは、異なる基質濃度(滴定曲線)における酵素反応の速度
を測定し、そして保存する。これらの結果は、ヘッダー(測定パラメータ)を前
置したホストに送付される。送信されたデータのフォーマットは、以下の通りで
ある。
第1ライン:へラダー
A1.1日付、1.5 フラッグ1.1.酵素名611..。
基質名061191.コメント(64文字)。
第2ライン 20変数
フォーマット: 5DDDDD、DDDDD第3および第4ライン 同一フ
ォーマットを用いた付属変数浮動小数点フォーマットにおけるデータ小数点:速
度1、速度2、基質濃度
SD、DDDDEEEEE SD、DDDDEEEEESD、DDDDEEE
EE
3、 3. 1シリアルインターフエイスの外形9600バウド
8ビツト2ストップビット
パリティ−無
Xオン/Xオフ ハンドシェーク
第4章
メニューとアルゴリズムの説明
4.1開始オーバーレイ Autost、KSYS4.1.1初期化
開始オーバーレイを起動させるときは、共通かつ包括的変数(ライン120〜2
00、さらに多くの情報のためにデータストラクチャーズを参照)を規定する。
それが1 (C(8)−1)にセットされているならば、初期化フラッグをチェ
ックする。これがこの場合ならば、メインメニューが表示される(ライン400
0)。MICHKINソフトウェアを開始させるときは、共通データエリア内の
変数は未だ規定されていない。
そのような変数が生み出すエラーを読む。これは、初期化が必要であるときのテ
ストのために用いられる。初期化中においてはコピーライト画面が表示される(
ライン165〜290上のサブルーチン)。すべての変数はライン295〜39
8上の不履行値にセットされる。このソフトウェアは、日付およびデータディス
ケット(D3$、89$、ライン400〜402)の名称を付ける。ファイルI
NHALT”の目次がライン2000の手順により表示される。このファイルは
、このディスケットのデータファイルの目次に関する情報の12ラインからなる
。次に、特殊パラメータファイルDEFAULT”がREAD PARAMET
ER操作(ライン4410ff)によって読まれる。これが完全に成功すれば、
メインメニューが表示される(ライン4000)。
INHALT“ファイルの読み込み中にエラーがある場合は、ライン410〜4
60のスモールメニューが表示される。このメニューと一緒に、読み込み(H2
−1)を再度トライすること、ディスケット(H2−2)を再度ネームすること
、ディスケット(フォーマツティングH2−4)を初期化すること、または、デ
ィレクトリイ(H2−5)を表示することが可能である。エラーが生じるならば
、ディレクトリイが表示されている間に、または、ボリュームが再度ネームされ
る間に、エラーメツセージrP1ease check the driveJ
が表示される(ライン450)。これは、ディスクがフォーマットされないとき
に起こる。ドライブがスイッチオンでないか、または、ディスケットが損傷して
いるかである。一つのファンクションが完全に成功した後は、メインメニューが
表示される。
4.1.2メインメニユー
メインメニューにはコピーライトメツセージ画面が表示され1さらにrPlea
se 5elect as 5oftkey : J及びrAll other
keys 5top the program Jが表示される。
8つのソフトキイは、ON KEYIX、 ’<Label >’ GOTO
YYYY(ライン4150〜4220)によって規定される。これらのソフトキ
イは、KEY LABELコマンドと共に画面の最後の二行に表示される。ライ
ン4230は、ソフトキイのうちのひとつを押すことによってのみ解除すること
ができる不定ループを形成する。若し、そうでないならば、他のソフトキイを押
してプログラムを停止する。HP85 BA!3ICのON KEY GO
TOコマンドと一緒にストラフチャーコードを書き込むことは困難である。可能
であればGOTOジャンプを取り消し、これらをできる限り小さくしておくこと
が必要である。
ソフトキイ#1を押して、ライン4250から4317までのルーチンをチェッ
クし、すべてのパラメータが有効範囲(ライン4600の操作)内にあるならば
、三つのファイル(ライン5000.5100及び5200の操作)内の三つの
プロットタイプの座標(axes)及び見出しくラベル)を保存する。二つの隠
れた臨時ファイルがライン4290と4295上に出現する。すべてのスペクト
ロフォトメーターのデータは、KINXオーバーレイがCHAINedされ得る
前に削除しなければならない。データタイプパラメータ(T (9) )に従っ
て異なる測定オーバーレイが積み込まれる( KINI”、 KIN2”、 K
ININ”、 KINSU” )。これらのオーバーレイのすべては、同じ測定
メニュー及び同じデータ取得ルーチンを含む。唯一の違いはデータ(KrA、K
I、KrAl+Km2 )の数値と開始条件(Eautoa+、I^utoI1
.s 5ubstr)である。ASSAYOMATEが未だ初期化されていない
ならば(C(1,5)−0) 、測定オーバーレイがCHA I Nedされて
いる以外はASINITオーバーレイが呼び出される。
ソフトキイ#2を押してrThe datatransfer prograa
+ 1s1oadedJを表示し、システムディスク(CHAIN DACO
MJSYS−。
(ライン4320と4330)からデータトランスファーオーバーレイを積み込
む。ソフトキイ#3を押してシステムディスク(CLEAI? @CAT 、
KSYS”)のディレクトリイを表示し、パラメータファイル(ライン4405
)のファイルネームが表れる。ファイルを開けてパラメータを読む(ライン44
10〜4430)。ファイルが短すぎてエラーがでるならば、メツセージroI
d file:Please upaate syringe paramet
ers Jが表示される。プロットのための情報を連続させてファイルをGOT
O4000ステートメントと共にルーチンエンドの前に改訂する(ライン444
0)。
ソフトキイ#4はパラメータメニュー(GOTO500)を起動する。ソフトキ
イ#5を押すと、ドライブスベシフィケーションー”D 700°、1− ”:
D701°、4−−:D710°が表われ、このうちから選んだドライブのディ
レクトリを表示する。ファイルを消去(PURGE )することができ、消去し
たファイルからディレクトリを捨てたスペースは除去することができ、すべての
ファイルを消去(INIT)することができ、あるいは、少しのアクシランも無
しにルーチンを取り除くことができる(Nまたは入力せず)(ライン1600〜
1640)。INITを選択しなければならないならば、ユーザーはすべてのフ
ァイルを消去するために自分の意思を確認しなければならない。ライン1660
のユーザーによって設けられた名称およびドライブスベシフィケーション(Hl
)を用いてディスケットが初期化(フォーマット)される。ライン2200のE
DIT INHALT操作を用いてINHALTファイルを再入力しなければな
らない。
ソフトキイ#6を押すと、すべてのパラメータが有効範囲内にあるならば、それ
をチェックし、三つのプロットの保存された座標を改訂する。また、ASSAY
OMATEを初期化しなければならないならば、それをチェックし、テスト測定
オーバーレイを積み込む(CHAIN KONZMSG、KSYS”、(ライ
ン4340〜4385)。このシーケンスは、ソフトキイ#1のシーケンスと同
じである。
ソフトキイ#7を押すと、データディスクのディレクトリが表示され、ファイル
名称DSが表われる(ライン4505)。活性シリンジ及び測定パラメータをシ
ステムディスクのファイルに保存する。
CREATE D$、5.256 この指令は5つの記録と共にファイルを
開く。
ASSIGW#1〜D$ ファイルバッファーを開く。
PRINT#1;・・・ データをバッファーまで書き込む。
ASSIGN#1〜* ファイルバッファーをフラッシュし、ファイ
ルを
閉じる。
シーケンスをGOTO4000ステートメントと共に終了させる。
ソフトキイ#8を押して、セットアクブメニュ−(またはシリンジパラメータメ
ニュー)を起動する(GOTO1000)。
4.1.3 パラメータメニュー
ライン500〜540は、以下の画面を出現させるために用いる。
****** Measure Parameter Menul * *
* * *EnzyIIme name 40 n m
(E )Substrate name 250 a
m (S )wax conc、in assay 3
0μmRange 1 f’rom 548 to 552 n
mInt、Rer、froa+ 580 to 586 n
mEpsilon Range: 1 to Range 2
:5ubstrate : 25.2 121.1 1/(mM c
m)Product = 9 78 L/(mM am)
No、 of Po1nts 2ONo、 of Rep
etitlons 3 3Cone、 Name
s [S ] l1ax EpsilonExlt
Po1nts L Range Page2ソフトキイはライ
ン550〜564を規定し、ライン566のKEYLABEL指令を用いて画面
に表示する。不定ループは、ソフトキイを押したときにのみに取り消すことがで
きる。
5oftkey # 1 メインメニューまで退去する。
(GOTO4000)
Softkey # 2 反復T(8)及び追加反復T (20)の番号
を入力するために用いる(ライン840)。データポイントの総数が100より
大きい(T (5)IT (8)>100)か、または、反復の数が10より大
きい(T (8)>10)か、または、これが2より小さい(T (8)<2)
ならば、入力が拒絶される。シーケンスはGOTO500ステートメントで終了
する。
5OttkeY # 3 データ取得の波長範囲を編集するために用いる
(ライン760〜820)。
Range 1 : T (1) 、 T (2)Range 2: T
(12) 、 T (13)Normalizing : T (10) 、
T (11:入力の妥当性は、ライン4800のCHECK DIODES
手順にてチェックされる。5oftkey #4はパラメータメニューの第2画
面を起動する。
5oftkey # 5 酵素濃度(in μM)の値を編集するため
に用いる(ライン880〜885)。
5oftkey # 6 酵素の名称(E 1 $)および基質/インヒ
ビター(E 2 s、ライン690と695)を編集するために用いる。ストリ
ンゲスはタイプライタ−モードで入力する(shift −−>CAP ITA
L) 、 HP85は、FLIP指令でこのモードをスイッチオンおよびオフす
る。
5oftkey # 7 マイクロモラー(a+1croIlolar)
の最大基質濃度CS maxl (T (14) )をセットする(ライン8
90〜910)。最大基質濃度がストック濃度の15分の1より低いか、または
、ストック濃度の4分の1より高いならば、入力は拒絶される(T (14)<
T (4)/15、
またはT (14)>T (4)/4)次に、TN対[S]プロットをAXES
TNS手順によって[S]maxに調整する。
) 5oftkey # 8 両範囲の基質および製品の償却係数
を再入力するために用いる(ライン700〜706)。基質T(15)の償却係
数および異なる償却係数(基質から製品を引いたもの:T(17))。同じもの
を第2の範囲(T (16)、T (18))に用いる。
パラメータメニューの第2画面をライン600〜640にライン670〜686
によって最後の二行を表示する。
パラメータメニューの第2画面:
* * * * * Measure ParalIeter Menu2
* *本**Measure Type : Mlchaells in
velocHyTlme Window : Mixed rowat
[S]max、 3.2 to 8 5ecat [51mIn
、 1.2 to 2.4 secMax、No1se Avg、
3 % Max、 Non1in、 15%Y−Axis TN vs、
[5] −Plot :Y−Axis delta OD vs、 Ti
me Plot ニー0.01 0.001 0.005
0Y−Axis OD vs、 Time Plot ニー0.L
L、5 0.2 0.1TN Sca OD Sea
DOD Sca TypeSpacing No1se
’l’ime ’i、 PagelSoftkey # 1 デ
ータスペーシングの各種タイプの中から選ぶ(ライン995〜997)。
1 幾何学的スペーシング
2 数学的スペーシング
3 混合スペーシング
4 逆数スペーシング
データスペーシング変数T(19)は、それが4より大きいならば、増加して1
にセットされる。カレントスペーシングタイプは、T(19)の変化に応じてメ
ニューに表示される(ライン620〜626)。
5oftkey # 2 運動データの入手のために選択基準を修正する
のに用いる。
a) !II形性
b) アッセイB(2)の再現性
これらが1%から100%までの範囲内にあれば、変数をチェックする(ライン
920〜930)。
5oftkey # 3 アッセイの持続期間をセットするのに用いる(
ライン740〜755)。[83wax (開始T (6) 、停止T (7
) )における持続期間は、[S]aln(開始B(13)、停止B (14)
)における持続期間と相違する。ここで、測定間隔
(B (12)<2)および積分時間(B(11)<1)をセットすることがで
きる。測定間隔が積分時間より長いか、または、これらの端数部分で1つの数を
短縮するならば、測定間隔および積分時間のみを受ける。停止時間が開始時間よ
り長く、かつ、データポイント(T (7)/く2)の数が80より大きくない
ならば、タイムウィンドウを更にチェックする。[81mInにおける停止時間
は、[S]aaxにおける停止時間より長くなってはならない(ライン745〜
750)。AXES OD及びAXES DELOD手順によりODプロッ
ト及びデルタODプロットを合わせる。
5ortkey # 4 バラノー9メ= ニー (GOTO500)の第
1ページまでジャンプして戻る。
Sof’tkey #5. #6. #7は、TNv5.プロットのY軸、
0Dvs、時間プロット、並びにデルタOD VS、時間プロットを修正するの
に用いる。プログラムシーケンスは、ライン960.940.並びに980に見
出だすことができる。座標を規定する最小人
(,1)、最大A(,2)、増分A
(,3)および第1の増分A(,4)
を入力し、チェックする。次に、座標を適当な手順で改訂する。
4.1.4 セットアツプメニュー
セットアツプメニュー(またはシリンジパラメータメニュー)のスクリーンは、
ライン1000〜1080のコードを使用して出現される。
亭*水亭亨***5etup Menu****帛亭*車VoluIIle
Pllllevel 5peed(+al) (ml)
(if/Ilin)Syrlnge 1 50.0 50.
0 45.O8yringe 2 5.0 5.0
4.O8yringe 3 2.5 2.5
2.0Tray 100.0 100.0 50
.0Need I e I 、 0 1 、0
10 、0Stopped f’low time
600.0hsVolua+e per assay
0.50m1Syrl 5ry2 5ry3 Tra
yExit Volume 丁jae、
Needle8つ1組のソフトキイを規定し、このメニューのパラメータを変
更する。:
このメニューにおいてパラメータの有効性のチェックは行われない。(RAMメ
モリーの不足について)。ユーザーは、パラメータの有効範囲を知っていなけれ
ばならない。
5oftkeylll メインメニューまで退去する。
GOTO4000)
Softkey婁2 停止されたフローパラメータに入力するために用いられ
る。
Ml(1) バッファーの容量
i/1(2) 酵素の容量
Wl(3) 基質の容量
これらのパラメータは、アッセイの容量B(7)−Wl (1)+W1 (2)
を決定するために用いられる。バッファーの有効範囲0〜1ml。
酵素0〜0.2ml、基質0−0.2ml。全ての量はmlで与えられなければ
ならない。
アッセイ量の有効範囲=0.4〜1ml。
5oftkey$3 停止されたフロー操作Wl (5)の加速傾斜角及び停
止されたフロー付加の速度Wl (4)を入力するために用いられる。
速度は、第1のルーチン(操作システム参照)65536サイクルー〜0. 5
秒B2−000サイクル 0.25秒a、S、Oに反比例する。
短期の停止フロ一時間を2か所選択することにより、添加量の精密度が換算され
、基質混合の有効性が換算される。例えば広範囲の基質を得るために、停止され
たフロ一時間を一番高い基質量まで増加する(操作システム参照)。
5oftkey書4,15.11647及び婁8は、シリンジのパラメータを入
力するために用いられる。
I Vl(1) 60mmのピストン移動においてシリンジによって移動さ
れる容量
(ml)
2 Ml(8) 最大充填ポインター:FILLコマンドが与えられるなら
ば、シリ
ンジをこの位置(ml)に移動す
る。
3 Vl(11) 相対的な移動のためのポインター=SUCK IN、
GIVE OU
TまたはGIVE BACKコマ
ンドが与えられたときに、この変
数に書き込まれた量(ml)を移
動する。
4 Ml(1G) 移動速度(ml/分)上記表は、第1シリンジ(Sof
tkey@1 )に与えられ、その変数は同じ配列に属する第2シリンジに与え
られるが、各々の指数は、変数により増加されている。シリンジ3を同様に適用
する。第4シリンジまたはトレーを同様に制御する。第5シリンジまたは針を同
様の配列を用いて制御する。ストッパーモータをオートサンプラーのトレ及び針
を移動するために用いることができるため、トレー及び針は標識となる。
4.1.5スタ一トオーバーレイ操作
DISPLAY INHALT操作(ライン200Off)この操作は、ネーム
B$9を有するディスケットのファイルINHALTを読む。スクリーンをクリ
アし、ヘッダを表示し、その後、ファイルをオープンする(ライン2025およ
び2030)。
EOPマークがエラー(ライン2040−2060 )を発生するまでASC1
1ストリンゲス(strings )を読みおよび表示する。ファイルを閉じ、
操作を終える。
EDIT INHALT操作〈ライン2200ff)ファイルINHALTを消
し、同じネームを有する新しいファイルをオープンする。オープンされ、プロン
プト”Pleaseenter IIax、 121ines or comm
ent’が表示される・最大12バイト長を有する12行までが受は入れられる
。カウンターが12に達するか長さ0のストリングに出くわせば、ファイルがク
ローズし、ルーチンになる。
CHECK PARAMETER操作(ライン4700ff)測定レンジは、C
)IEcK RANGE操作によりチェックされる。
L(1)からL(10)の列は、活性なダイオードの波長でロードされる。それ
らは、偶数で2 nmで離隔されている。ライン46エ0から4630でレンジ
lをカバーするために必要なダイオードが活性化される。ライン4840から4
885でレンジ2に対して同じことが行われる。もしレンジ2がオーバーラツプ
すると、ダイオードは2度活性化される必要がない。総数はlOまでに制限され
る。残りのダイオードは、正規化したレンジ(ライン4B70−4880 )に
使用される。もしlOダイオードがすでに第2のレンジで超えているならば、エ
ラーメツセージ°To。
large vavelength ranges ”を表示した後、操作は放
置される。
ある一定の制限を超えると、他のパラメーターはライン4700から4790で
チェックされる。
変数 下限 上限
T(3) 0.0001 10’o00T(4)
0.001 100’000T(5) 2
40T(8) 2 10T(5)*T(8)
200T(9) 3 1T(19)
1 5T(14) T(4)/100
T(4)15T(15) 0.001 1000T
(1B) 0.001 1000T(17)
−10010100T(1−100100
B(12) B(11) 10GB(14)
T(7)Od、LOOOしく例えば、変数T3または4は無
効である)、フラッグH2$−″F1をセットする。フラッグは、すべての変数
がチェックされた後にテストされる。もし一つまたはそれ以上の変数が制限を超
えていると分かったならば、メインメニューが表示される。
AXES TNS操作(ライン500Off)この操作はプロットのX−および
Y−軸を決定する一基板濃度対ターンオーバー数。このプロットの軸は、カイネ
チツクシステムディスケットのファイルネーム°PFOD、 KSYS“を有す
るファイル内に蓄えられる。ユーザーにより入力されるときに、Y−軸は蓄えら
れる。X−軸は、デュレーション変数丁(7)を用いて作られる。軸の最小はゼ
ロに設定され;最大はT(7)と等しく、はじめの増加分はゼロに設定される。
増加分くx2)は、T(7)の値により2,5.または10秒に設定される(ラ
イン5110−5130 ) 、 X−軸は、”Tig+e(see、)’でラ
ベルつけされ、Y−軸は、’ Absorption’でラベルつけされる。再
び、ファイルが5TORE AXES操作で作られる。
AXES DELOD操作(ライン5200fT)このプロットの軸は、カイネ
チックシステムディスケットのファイルネーム”PFAB、KSYS”を有する
ファイルに蓄えられる。Y−軸は、上記の操作のようにして蓄えられるが、ラベ
ルとして’ 5peed(Delta OD/sec、)−を有する。X−軸は
、AXESOD操作のように同じである。
5TORE AXES操作(ライン6000ff)もし軸ファイルがすでに存在
するならば、蓄えられた変数は読まれ、新しい変数を比較する(ライン6005
−6010 ”)。違いが見つからないならば、ファイルが更新される必要はな
く、操作は早まって停止する。他の場合において、古い内容は重ね書きされる。
まず、フレームが規定される:X−サイズー250!l、Y−サイズ−m16c
I111左端l−2cII+、並びに下端■1am(ライン8080)。変数F
5およびF6は、プロッターユニットにおけるYディメンシランに相当するXの
1%でロードされる。変数PlおよびP2は、およそ1%0にスケーリングをラ
ウンドするために使用される。その後、ファイルが作られ、またはすでに存在す
るときはオーブンされ、軸が蓄えられる(ライン8105)。これはコードに加
えられるために、実際は軸を描くためにプロッターに送られる(ライン6110
−[1340)。
このアプローチは、タスクの測定オーバーレイを支援するために選ばれ、プロッ
ター用の軸を作る。測定オーバーレイは、ファイルからストリンゲスを簡単に読
みだし、それらをブロック−に送る。
プロッターは、ディフォルト状態に設定され、ペンlが。
IN; SPI:’に選ばれる。プロット領域の大きさは、“IP’コマンドで
規定される。この領域は、その後、SCコマンドによりスケールされる。ライン
6140で、タイトルがプロットされる。フレームは、ライン6180および6
190でプロットされる。
ラインB200から6220までのループは、X−軸にチック(tick)およ
び桁をプロットする:位置はユーザーユニットからプロッターユニットに式:
12−INT(m−XO)$8000/(XI−XO)41300) l:l:
より変換され、ペンはこの位置に移動され、チックは°XT“と描かれる。桁は
0.2*0.25csnの大きさでプロットされ、原点は−1,−1,2である
。他のX−およびY−軸は同様にプロットされるが、異なるキャラクタ−原点”
CP”を有する。
軸がプロットされた後、スケーリングは最大ブロッティング領域゛IP″および
“1v″コマンドとしてプロットされたフレームを用いてユーザーユニットに設
定される。ファイルはクローズされ、ユーザーには目に見えなくさせる(ライン
6360)。ライン8400のルーチンは、ディスクに書かれる前に、ストリン
グデリミタをE5$ストリングに加える。
ERRORRECOVEI?操作(ライン9000ff)RASICコマンドが
エラーを生じる場合、この操作は”0NEI?RORGOTO9000”コマン
ドにより活性化される。ERROR番号ERRWは、起こるエラーのタイプにつ
いてユーザーに告げるために使用される。3秒後、メインメニューは活性化され
る。
同じでないエラーに出くわした場合、エラ一番号およびエラーラインを表示した
後、プログラムが停止する。プログラムは、C0NT“キーを押すことにより再
びスタートされ得る。
4.2測定オーバーレイ
起動ブロクラムに繋がったブロクラムは等しい一般データ領域を有する必要があ
る(データストラフチャ参照)。更に、測定オーバーレイに対する多くの異なる
ローカルはライン180−210に言明されている。
4.2.10−カル変数
P$[l] −“A゛ 自動または手動操作のフラッグFB$[1] −
“0° あるアッセイの繰り返しE3$[30]−電流プロットのX−ラベル
E4$[30]−電流プロットのY−ラベルP7$[l] −“0゛ ある
平均“1”又は摘要“2″の繰り返し
F5$[l] −“0′ 不十分な直線A$[60] 多目
的のバッファH1$[20] −列入力の一般的取り消しのバッフ
ァINTEGERI −0ループカウンタIINTEGERI2 ルー
プカウンタ2INTEGERI 5 ループカウンタ3INTεGER
IB ループカウンタ4Ql−11ニ一般測定
2ニブランク測定
Q2−2 1:増加基質
2:減少基質
J−1反復カウンタ
に−1データポイント数のカウンタ
F$[5,5] 情報量の印刷to 結果=1−オ
ール 2−反応定数のみLl −B (11) インターバルL2
−B(12) 集積時間L3−256“(1/T(5)) 幾何学的
法則の要素測定オーバーレイが最初のテストでコントロールを受けたならば、一
般のデータ領域は起動オーバーレイにより署名される(C(8)−1)。そうで
ない場合には、起動オーバーレイは繋がる(ライン800)。測定メニュの最初
のスクリーンは、ライン500−880を用いて示される。他のすべてのメニュ
においては、8ソフトキイのセットで規定され、かつそれらの1つが押されるま
で待機される。
4.2.2測定メニユ
***ミカリス定数、イニシャル轡ベル***シトクロムC酸化酵素
20nM(E)シトクロムC250uM(S)
ポイントNo、 20反復No、
3Di Var テキストM [E、S] ポイントメインM 頁
2 注射器 洗浄
ソフトキイ!Ilは、見出し情報を表示し、その情報をブリンンタで印刷される
。それによって、プリンタの出力がディスプレイ(プリンタは1)に向は直され
、プリンタヘッドの手順が呼出される(ライン9545)。プログラムを休止し
、これによりスクリーンは使用者により注視される。’ C0NT’キイが押さ
れると、測定メニュは再び表示される。
ソフトキイlI2は、測定メニュの二番目のスクリーンを活性化させる(GOT
O1000)。
ソフトキイ審3は、5YRINGB C0NTR0L手順を活性化させる(ライ
ン8609のGO9UB 7250)。この手順から元に復帰させると測定メニ
ュは再び表示される。
ソフトキイ114は、注射器の洗浄に用いられる。そのためにVASHSYRが
呼出される。
ソフトキイII5は、メインメニュに復帰させる。メインメニュに示される前に
、起動オーバーレイが繋がる必要がある(ライン800)。
ソフトキイII6は、テストメニュを活性化させる。このために、’ KONZ
MSG、KSYS’ オーバーレイは繋がる必要がある(ライン790)。
ソフトキイ零7は、酵素と基質ストック濃度を変化させるのに用いられる(T(
3)/T(4))。コンマによって分離された濃度はライン885に入力される
。
ソフトキイ118は、データポインナンバT(5)と反復ナンバT(8)の取換
えに用いられる(ライン940.950)。
DI定メニュの二番口の頁は、ライン1000−1260の使用により表示され
る。
***ミカリス定数、イニシャル争ベル*ネ*コメント:
注射器1 : 2hl 2 : 4ml 3 : 2ml最大(基質)
30uM
空白は控除しない
印刷
参照なし
アッセイ量 0.41
に瓜Meas 空白 [E]オウト シングルA頁1 印刷 量
コメント参照測定が、(C(9)−0)を測定されないならば、警笛が
n。
reference’ を表示している間に鳴る。
ソフトキイI11は、直接測定メニユの最初の頁に飛び越える(GOTo 50
0)。この最初の頁は、全ての引き続いて起こるルーチンを出すのに用いられる
。
ソフトキイ審2は、反応定数の各々自動測定を印刷をする情報量を変化させる。
D4$ストリングの5番目のバイトが“1“ならば、全ての情報は印刷される。
このバイトがファイル名、日付のみが“0°の場合には反応定数は印刷される。
ソフトキイ婁3は、データ磁気記録の量を表示する(ライン1800) 、妥当
なファイル名が、’ Purgefile?’ させた後に入力されると、こ
のデータファイルは除去される。
ソフトキイ114は、コメントを校正するためのEDIT COMMENT手順
を読み出す(ライン1690上のC09LIB1700)。
ソフトキイ#5は、反応定数の自動測定に用いられるルーチンを活性化する。参
照測定が実行されないならば、ライン1300−1380の進行は停止する(C
(9)−0)。シリーズと番号は、ライン1302に入力する必要がある。シリ
ーズDl$は1つのASCII符号である必要) があ
り、Blを有する番号は1〜999の範囲である。それから、ファイル名の最初
の6つの符号は入力される(D$015,20J)。
ライン1310上において、各々自動測定された後に洗浄される注射器の番号は
M変数にコピーされる。トータル量によって分けられた相対的に一杯のレベル(
一杯のレベル(C(M) )が12.5%より少なくなったならば、前記注射器
は洗浄される。
電流測定の番号変数はD2−Blに装填され、そしてBl変数は増加する。仕事
列がC(6)−1に空になると、ユーザは酵素/基質又は次ぎに分析されるサン
プルのインヒビタ濃度を与える必要がある(ライン900上の手順BUILD
QUEtJE )。さもなければ、見出しはスクリーンに表示される(ライン9
500上のPl?INT HEADEI?手順)。実質的な酵素濃度(B(3)
)は、予備選択された酵素濃度(B(5))に装填される。酵素濃度(E(1)
)が零であるならば、ブランク測定は(Ql−2)が実行される。この場合、貯
蔵された酵素濃度は1にセットされ、アッセイ中の酵素濃度は0.1(B(3)
−0,1)にセットされる。シリーズ符号は増加する
(A・・・)Ba、s、o、)。酵素濃度が陰性信号として入力されたならば、
最高の基質濃度は最初に測定され、最低の基質濃度は最後に測定される。これは
、酵素濃度が陽性(E(1)−ε(1))を作る間、変数Q2を蓄積する。注射
器が酵素か又は基質貯蔵濃度で洗浄されるかに依存して列から装填される(ライ
ン1337)。列は、1つの登録により減少し、最初の遊離した要素C(6)に
対するポインタは1つだけ減少する。
アッセイへの酵素貯蔵の必要さは、
PUBED手順が呼出される前に評価される。
注射器が一杯になった後、AUTOK I N手順が呼出される(ライン200
0ff’)。このルーチンが終了した後、仕事列の状態がチェックされ、その状
態がからでなければ次ぎの反応定数が次ぎの試料を用いて測定される。
ソフトキイ#6は、ブランク減算をスイッチオン(D4$ C4,4E−”L”
)またはスイッチオフ(D4$L4,4J−”O”)するために用いられる。
ブランク減算が、スイッチオンされた場合、適正なブランクファイルのファイル
名が与えられなければならない。この名は、ファイル名(8字)と拡張子゛N″
とからなる。減算されたブランクのファイル名は、各デー・タフアイルのヘッダ
ーに記憶される(D4$ [6,14])。
ソフトキイ#7は、酵素の自動ドースB(4)−1または酵素の手動ドースB(
4)−0を選択する。第2の場合、アッセイにおける選択された酵素濃度
(B(5))が与えられなければならない。
この濃度は、実際の濃度(B(5))と同一である。自動ドースモードでは、ア
ッセイ中の酵素濃度(B(5))が、活性の最初の決定のために使用される。つ
いで、実際の濃度B(3)が、アッセイにおける活性が所望の活性(B(10)
)の90%ないし11096であるように適合される。
ソフトキイ#8は、5INGLE ASSAY手続を呼び出すことによって単一
アッセイを実行する。この手続が呼び出され得る前に、アッセイにおける基質の
濃度が与えられなければならない(B(6))。同じように、アッセイにおける
酵素の濃度がB(5)およびB(3)−B(5)と入力される。時間依存データ
の表示は、スイッチオフされ(MODE 0.1) 、単一アッセイが開始され
る。0未満の基質濃度が入力されていた場合、5INGLE ASSAY手続は
、BASEL I NEまたはREF’ERENCE測定を実行する。
4.2.2測定メニユ一手続
BUILD QUEUE手続(ライン900fT )この手続が呼び出されると
、これは、酵素芯B(20)−2または基質/阻害開毛B(20)−3、および
待ち行列の最初の自由要素(C(8))を表示する。B(2G)が2である場合
、プロンプトは次のように見える。
CytochroIIle 0xidase Cone、 Nr、 5in
Syringe (C=C1ear、BufVer)Negative [E
]=decreasing [S]?ついでそれは、待ち行列がフラッシュされ
なければならない場合、ある数か”C”のいずれかを受諾する。チューブ内の酵
素の濃度は、アレーE()(上記例におけるE(5))中の場所C(8)に記憶
される。ポインター〇(6)は、この手続が退却される前にインクレメントされ
る。
EDIT COMMENT手続(ライン1700fT)この手続は、’Comm
ent 21ines’を表示し、64字(2行)まで入力する。ストリングが
より短い場合、スペースが加えられる(ライン1610)。プロンプトは、カー
ソルがコメントの旧いバージョンの最初の字のちょうど上にきて、それが全体に
タイプされる必要がないように位置される。
5TORE BLANK手続(ライン1540ff)この手続は、D4$[4,
4]が”L”にセットされたとき、すなわちブランクが測定されたとき、END
Menuによって呼び出される。5レコードの長さを持つファイルがシステム
ディスク上に作成され、開かれる。初めに、ヘッダー変数の一部が記憶される(
ライン1560)。次に、2波長域(アレーTl()およびT2(”) )のデ
ルタOD/第2情報がこのファイルに記憶される。このファイルは閉じられ、メ
ツセージ°91Hkstoredin f’ile 、、、、、、、、、、、、
、、、 ゛が、印刷出力に加えられる。
5UBTRACT BLANK手続(ライン1800fT)ブランク減算が選択
されていた場合、最初の測定がデータ獲得手続によって行なわれる前に、この手
続が呼び出される。
これは、データファイルのヘッダー中に記憶された名を用いてブランクファイル
を開く。ついで、これは、ヘッダー変数を読み取り、これらをデータのヘッダー
変数と比較する。これらが同一でないとき、ライン1885上でこの手続により
警告メツセージが表示される:
Variab!e: 2; 10婁Blank: 8Change vari
able or (999=jgnore)ファイルヘッダー中の変数は、
変化され得、または差は、無視され得る。ある種の変数は、変化させてはならな
い。変数1.2.10.11.12.13または19が異なる場合、測定は、打
ち切られる。
ブランク訂正
ブランクは、運動学的定数と同一のパラメータをもって測定されるべきである。
ブランクパラメータと測定パラメータ間の差異は、警告メツセージを生じさせる
。エラー条件を無視または訂正することが可能な場合が少しはある。はとんどの
場合、ブランクを繰り返すことが勧められる。
警告のりスト:
’ilarning No、 6: 3 blank
1 ?999く
(返答付き警告メツセージの例
1: maln wavelength range 1ncorrect
−−fata12: 5ain vavelenght range 1nco
rrect −−fata15: No、 of points are n
ot the 5ale −−please change8 No、 or
repetitions diRerent −−ignote (99
9)9: data forsat different −−f
atallo: 1nternal reference different
−−fatalll: 1nternal reference dif
Terent −−fata112: wavelength range
2 dif’ferent −−fatafll: wavelengt
h range 2 different −−fata114: [S]
wax difTerent −−ignore (999)
17: epsilon different −−igno
re (999)18: epsilon dlfferent
−−ignore (999)19: dif’ferent row t
Ype −fata1全てのヘッダー変数が正しいなら、ブラン
クは読みとられ、逆転される(ライン1850−1870)。ファイルが閉じら
れ、メソセージ゛B11nk 、、、、、、、、、、 5ubtracted’
がプリントされる。
MEAS REFERENCE手続(ライン190off)この手続は、バッフ
ァー0.51でキュベツトを2回フラッシュするものであり、REFERεNC
E 10測定を行なう。コマンド”*l”が5END CHD手続によって送ら
れる(ライン7000)。これは、シリンジ1を活動シリンジとして選択する。
コマンド”*A0.5”は移動すべきバッファーの相対量を決定する。コマンド
”*B”(GIVE 0UT)は、0. 5mlのバッファーを、バッファーシ
リンジからミキサーを介してキュベツト中に移動させる。このコマンドは、2回
目は、2秒の遅延後に、送られる(ライン1905)。参照が測定され(ライン
1920) 、次いで試験測定が行なわれる(MEASLIRE 、1)。ライ
ン1930および1940上のループは、測定が完了するまで待機する。次に、
10のホトダイオードの結果が評価される。これらが、範囲外であル: VAL
UE(L(J) > 5)場合、バフ77−が再び加えられ、参照測定が繰り返
される。参照測定は、プレアンプが適切に調節され得るように、ダイオードアレ
ーディテクターにとって重要である()lP8451ハンドブック参照)。参照
が成功裏に完了したならば、フラグC(9)がセットされ、手続は終了する。
AUTOKIN手続(ライン2000rf)AUTOKIN手続が、まず、呼び
出されたとき、これは、ホトメーターの状況をリセットする(ERASE 5T
ATUS)。これは、[S]wax (T(14))が適正な範囲にあるかどう
かチェックする。
次に、5ETLIP KIN手続が呼び出されて、ファイルが既に存在するかど
うかをテストし、標準基質濃度を、あるファクターで掛ける(L(20) )。
ブランクを用いなければならない場合には、この手続によって、サブトラクトブ
ランク手続が、呼び出される。次に、PRINT HEADERルーチンが呼び
出されて、ヘッダー情報をプリンターにプリントする。活動ソフトキイ(1=E
x1t 2−1nput)が、表示され、次イテデータヘツダーが表示される(
DATA HEADER手続)。この手続の初めに、F7$フラグが“0“にセ
ットされて、全ての異なる濃度の連続データ獲得を示す。増加の値に依存して(
減少フラグLQ2 ) 、ライン2245または2247いずれか上のFOI?
−NEXTコマンドが使用される。
次に、−次(prlrAary)データ用バッファーがクリアーされる(S3(
) )。非直線性を加算するために使用される変数もまたクリアーされる(1?
9. l?g、56.57−Q)。T(0)は、現在の繰り返し数がロードされ
る。この数は、低い基質または阻害剤濃度を有するデータポイントではより高い
。平均のノイズは濃度が低いほど大きいからである(MICHKINユーザーマ
ニュアル参照)。ライン2300上で、追加の繰り返し数(T(0))が決定さ
れる。これは、ライン2302上で通常の繰り返し数に加えられT((1)−T
(0)+7(g)、それが大きすぎる場合には、lOまで減少される。7−/セ
イは、ライ:/ 2305−250.O上(7) F’0R−NEXTループで
もってT(0)回行なわれる。ノーマルモードにおいて、リピートアッセイフラ
グCrB$ ”)は、”O”にセットされる。
アッセイは、ASSAY手続により混合され、測定され、導関数(deriva
tive)は、DERIVATIVE手続により計算され、および非直線性は、
LINC)IEcK手続によりチェックされる。非直線性チェックが失敗したら
、アッセイは繰り返される(ライン2450上のF5$−”l“)。時間依存デ
ータは、83()バッファー中で加算される。R8およびR9は、単一アッセイ
のノイズ情報を加算する。手続AVERAGE VELが呼び出されて、2−1
0の初期速度を計算する(ライン2530)。加算された時間依存データは、平
均の数によって除される。デバッグフラグがセットされている場合(Fe3−”
2“)、プログラムを進行させる前に、デバッグメニューを呼び出す。ライン2
595上で、PLOT DATA手続によりプロットデルタOD対時間がスクリ
ーン上に示される。アッセイ間の標準偏差は、C)IECKAVC手続によって
決定される。FS$Sボッラグットされた状態で手続が復帰されたならば、デバ
ッグメニューを呼び出す(GO8UB 4500)。しかしながら、自動フラグ
がセットされているならば(F$−“^“)、平均が繰り返される。この2つの
範囲の平均は、結果アレーに記憶され(T(1)丁2()) 、結果が、プリン
トされる(ライン2852)フォーマットされた出力中にオーバーフローがエラ
ーを発生するために、変数の1つが1または−1を越えた場合(ライン2651
)フォーマットされていない出力が選択される。繰り返し単一平均フラグがセッ
トされている場合、エンドメニューが示される。さもないと、アッセイのシリー
ズが終了される。ライン2995は、再びコメント(71$ )を示し、コマン
ド“$WFCC8“がASSAYOMATEに送られる。このコマンドは、全て
のシリンジの充填レベルをMICHKINソフトウェア−に読み込ませるために
使用される。ライン3000−3017上で、エンドメニューのソフトキイが定
義され、スクリーン上に示される。
4、 2. 3エンドメニユー
18 20.40 1.0811 0.0158719 1 −0.0
02174 −0.00330819 2 −0.001976 −0.003
67719 3 −0.001973 −0.00368519 4 −0.0
01879 −0.00360819 24.56 1.0993 0
.00277920 1 −0.002264 −0.00362320 2
−0.002053 −0.00362320 3 −0.001965 −0
.00342520 4 −0.002113 −0.00335420 2
9.82 1.1231 0.005280Res M s本エン
ド−メニュー* シリンジ抜出(Exit) 出力 Rep Avg
プローブRエンド(END)メニューソフトキーを用いて、−個またはいく
つかのアベレージはシリンジ(syringe)を補充することにより繰り返し
可能であり1次のサンプルはジョブ列に加えられ、または最後の出力が開始され
る。ジョブ列がエンプティ(C(S)>1)でないならば、次サンプルはエンド
メニューが6秒間(ライン3020)表示された後に解析される。この間、ユー
ザは以下に示すエンドメニューソフトキー機能のひとつを実行することもしレジ
ューム測定ソフトキイ#5によっフトキーであり、データ収集及び処理の全行程
においてアクティブである。
ソフトキー#2は、ジョブ列がエンプティならば最後の出力をマニュアルで開始
させる。マニュアルモードF$#’A”またはC(6)<2においては。
5TORE−BLANKLAN上りQ2−1のとき、出力結果をブランクファイ
ルとして格納する。
ブランクはその後、マニュアル的にリセットされるかまたは次のブランクファイ
ルが発生するまで、全キネティックデータ(kinetic data)から自
動的に減算される。キティック定数が計算され、その結果は0UTKIN手続き
により印刷され、プロットされかつ格納される。
ソフトキー#3は、同一の基質濃度を持ついくつかのアッセイ(試合、 as
say)の平均のひとつを繰り返すキーである。これをおこなうために、リピー
ト・シングル・アベレージ・フラグが設定される(F7$m”l” 1ine
3100)、 :L−ザーは一個のポイントの選択を求められる。もしブランク
減算がオンならば、ブランクの逆値が、ライン3110上のサブ出力によって、
選択されたポイントに対して再び読み出される(IF K、J AND F7$
=″l″THEN Tl(K) −−YO@ T2(に)冒−Yl)。
二ニー(以下に示す)に戻る。
て読み出されたものならば、同一のルーチンでポイントKから始まるブランクの
全ての値が読み出される。ブランクが読み出された後、ファイルはクローズされ
。
平均が測定される(GOTO2255)。
ソフトキー#4は、ジョブ列を形成するために用いられるキイである(次プロー
ブレディ)、この処理はBU ILDJUEUE手続きによりおこなわれる。
ソフトキー#5は、測定が一個またはいくつかのシリンジがリファイルされた後
か、若しくはサンプルが交換された場合に、レジューム化される。レジューム測
定フラッグはF7−”2″P3)である、ライン3110上のサブルーチンによ
ってブランクが再び読み出される。
Q2フラグ(l:増加する基質濃度、2:増加する基質濃度)の状態に応じて、
このルーチンは、K値(ライン3145)より大きい全ポイント若しくはに値(
ライン3140)より小さい全ポイントを読み出す。
ソフトキー#6及び#7については、機能割当てはなされていない。
ソフトキー#8は、 5YRINGE C0NTR0L手続きを起動してEN
Dメもしショプタリかエンプティでtい硼酋には、コマン1刀1万一トサンプラ
ーに与えられ、次のサンプルに変える。カレントプローブの残りは捨てられ、シ
リンジ(syringe)は次のサンプル(このコード中には無い)で満たされ
る0次のサンプルの送付先シリンジはI変数にコピーされる。ブランクが測定さ
れなかったときには、フィルポインタは、ストック(E(1))内のエンザイム
(酵素)基質/インヒビタ濃度と、酵素T(3)または基質/インヒビタT(4
)の最近のストック濃度とに応じて調整される。シリンジ■は活性化され、フィ
ル示インタが(*^”+VAL$(1) and″宰冨”+VAL$(Hl))
にセットされる。8サイクル(N、E8Nであり、ASSAYOMATE文書を
参照されたい)をもつ洗浄コマンドが開始される。もし現在のサンプルがブラン
ク(Ql−2)であれεL ブランクファイルが書き込まれる。キネティック定
数が計算され、0UTK I N手続により印刷され、プロットされかつ格納さ
れる。
4、 2. 4エンドメニュー手続き
LINCHECK手続き(ライン3300ff)この手続きは平均値(S9)と
現在の時間ウィンドウT8乃至T9についての時間データデルタODと間の差分
の二乗和を計算する。実効二乗の平方根は次に最小値及び相関値と比較される。
最小値(0,00001宰(1+に/T(5)宰B(2))はフォトメトリック
決定のノイズを近似しており、基質の濃度に応じてに→T(5)と変化する。該
最小ノイズは、 1〜5%の範囲のりニアリテイ変数B(2)の値に応じて変化
する。どのアッセイもこの制限値より良いことをアクセプトしている。このこと
は、ブランク測定がこのルーチン(ローノイズ及び低信号対ノイズ比)によって
アクセプトされ得ることを確定化する。相関値との比較により、良好な信号対ノ
イズ比またはリニアリティをもつ結果のみがアクセプトされることができる。も
しリニアリティが良好でない場合には、
’Meas’; K; に ’Repeated’; Z5というメッセイージ
が表示され、リピート・シングル・アッセイ・フラグF5$がセットされる。こ
の251’数は失敗した測定をカウントする。繰り返し数の二倍を越えた場合、
オートリピートがオフされ(F5$♂0”)、 −個のアッセイの結果が印刷さ
れる(ライン3345)、 その測定がアクセプトされるかまたはキネティッ
ク定数の全決定が繰り返されるべき場合には、ユーザに提示される。ちし「イン
プット」ソフトキイ(#2)がLINCHECK手続き中に押されれば、リニア
リティチェックが完了する前にデバッグメニューが呼び出される(ライン339
0) 。
ASSAY手続き(ライン3500ff)このルーチンが呼び出されると、測定
されたデータポイント(K)について時間ウィンドウ(スタートタイム及びスト
ップタイム)が計算される。最大の基質濃度の時間ウィンドウ及び最小の基質濃
度の時間ウィンドウの二個の時間ウィンドウが、ユーザーにより規定される。こ
れらの値を使って、中間濃度の時間ウィンドウをリニアインターポレーションに
よす計算される。
時間は一次フオドメータ測定の整数部が測定間隔L2として使えるように丸めら
れる。新規の濃度の最初のアッセイ(J−1)が選択されると、追加された基質
量が計算され1手続き5FSET (ライン7900)によってASSAYOM
ATEにロードされる。全決定の最初のデータポイント(K〈2またはに=T(
5))については、アッセイが測定される前にキュベツト(cuvette)が
二回フラッシュされる(ライン3507) 、 全部のアッセイについて、ス
トップフローコマンド(“叶”コマンド)が実行され、追加されるべき基質量に
依存した遅れの後に、吸収の時間依存が測定される(ライン3510からライン
3570へのループ)、正規化レンジ内の平均吸収はGETABS手続き(ライ
ン4400)によって計算される。もし測定間隔が0.2秒より長かった場合に
は、上記処理はデータ収集間に行なわれる。その他の場合には、ライン3580
〜3595の後に実行される。新しい計算結果が得られる前に、−次データは格
納されるべきである。このデータ格納はNMEASフラッグを用いて検出され、
このフラッグは、結果バッファ中の測定回数を含んでいる。データ収集の完了の
後。
ASSAYOMATEの状態バイトのエラーフラッグの状態がチェックされる(
16 富5POLL (70g) @ IF BIT (16,0)=1 th
en 2995) 。
もしエラーが検出され九ら、データ収集は停止され、エンドメニューが表示され
る。データ収集間にオーバーフローエラーが検出されたとき(ERRN−2)は
、標準の測定が繰り返される。他の種類のエラーが発生した場合には、プログラ
ムは停止され、ERROR−RECOVER手続キカ起動サレル。
S すT−K I N手続き(ライン3600ff)ディスクディレクトリにフ
ァイル名が存在するか否かをテストする手続き(ライン3600及び3605)
であり、もし存在すればそれが示され、キネティック定数の決定が停止される。
ディスクドライブがオンされているか否か、及び正しいデータディスケットが挿
入されているか否かがチェックされる。
次に、出力デバイスが選択される(PLOTTERI @ PRINTER2)
。
有効なスペーシングタイプは最高の基質濃度がユーザー規定値[S]waxと合
致するように調整される(T(14))、 これをおこなうために、5ETR
E手続きがコールされる(ライン8250) 、 テスト測定は5rNGLE
jSSAY手続きにより実行される(ライン4800)、テスト測定の基質濃度
は[5tackl/20である。 5INGLE−ASSAY手続きの後、バ
ッファ、酵素及び基質/インヒビタの量がFUBED手続きによって計算される
(ライン8000) 、 プリントヘッダ手続きがパラメータ旧と共にコール
される。もしlにセットされていれCL 全ヘッダは印刷され、それ以外の場
合にはファイル名及びデートのみが印刷される。データアレイ(TlOT2O)
は消去され、必要に応じて5UBTRACT−BLANK手続きがコールされる
。
DATIjHEADER手続き(ライン3700ff)この手続き1戴 プリン
タフラグの値に応じてカラムヘッダを印刷し表示するためのものである。それは
測定の概略経過時間を計算し表示し、’repeat one assay’フ
ラグをクリアする(F6$)。
AVERAG−VEL手続キ(5イ:z3750ff)この手続きはいくつかの
アッセイの平均速度を計算する(TI(41)−S40. T2(41)−S5
0)ものである、データポイント番号(K)、基質濃度(H4)、実際のアッセ
イにおける酵素濃度、及びアッセイの平均ノンリニアリティを表示する。
CHECK、、−AVG手続@ (5イン3750ff)この手続きは、データ
の実効値からの差分の平方値を加算する手続きである。和硫の平方根はノイズ変
数(B(1))と比較される。該データ+1 絶対ノイズ値が極めて小さいか
または相対値Tl(41)/100傘B(1)が変数B(1)によって特定され
る値よりも小さければ、アクセプトされる。相対値及び絶対ノイズ値が大きい場
合には、平均に係る全てのアッセイは繰り返され、’failed measu
rements counter’フラグがインクリメントされる。もしこの変
数が2 * T(8)よりも大きけれIf、平均は繰り返されず、’Avera
ge nonreliable’というメツセージが加えられ、ロウデータが印
刷される(ライン38)O及び3875) 。
0UTKIN手続き(ライン4200ff)プリンタフラグ(D4$[5,5]
)がセットされると、デルタOO対時間データプロットは(E4$)とラベル付
けされ、グラフィックスクリーンはプリンタにコピーされる。 PRINTE
R−HEADER手続きが再度コールさ瓢 ファイル名及び測定デートをリピー
トする(ライン4202) 、 次にターンオーバ一番号列対基質濃度テーブ
ルがラベル付けされる。該ラベル及びターンオ−バ一番号列対基質濃度プロット
軸がファイルから読み出され、スクリーン上に表示される(ライン4230及び
4250) 、 データファイルが0PEN−DP ILE手続きによってオ
ープンされる。ライン4270からライン4320へのループがふたつのレンジ
の結果をプロットし、印刷し、格納する。 CALCTN手続きがコールされ
、基質(H4)及び酵素濃度(H2)に戻り、速度データをターンオーバ一番号
(H3及びJl)に変換する。ライン4290上では、両レンジがプロットされ
ている。ライン4310上では、結果が以下のフォーマットで印刷される:
21 +75.1 +74.8 24.28ライン4312上
では、結果がディスクに書き込まれる。もしプリンタフラグがセットされていれ
ば、該プロットがプリント出力にコピーされる1次に、ファイルはクローズされ
、ルーチンLINRE@がコールされキネティック定数を計算する。
GETABS手続き(ライン440Off)このルーチンはレンジ1及び2にお
けるいくつかのフォトダイオードの吸収を平均するものである。正規化レンジか
らのフォトダイオードの平均は、S10及びS20での計算結果から減算される
。
DEBUG−MENU手続き(ライン4450ff)このルーチンはユーザがデ
ータ収集に関与することを可能化させる。このメニューはソフトキイ#2 ’I
NPUT’が押された後にコールされる。これは以下の8個の機能を実行するこ
とができる。
I Exit 何等のアクションをとらずにデータ収集をレジュームす
る。
2 New 5tdev、 最大ノンリニアリティ最大ノイズ(B(1)、
B(2)ライン4560)の新しい値をプロンプトする。
3 Rep、 Single−個の測定の番号が選択され(ライン4530)、
結果バッファS30がクリアされ、レップシングル(rep、 single)
フラグがセットされる。
4 Rep、 Aver、 この機能は第一のアッセイで現在測定されている
基質濃度を再開させる。
5 End Me データポイントを測定せずにエンドメニューにジャン
プする。
6 Go on 何等のアクションをとらずにデータ収集をレジュームす
る。
7 Te5t Msg 新しいテスト測定に対してシングルアッセイ手続き
にジャンプし戻る。
8 Next ready この機能はジオブ列に別のサンプルを追加するた
めに用いられる。そのために、BLIILDJUEUEがコールされる。
DERIVATIVE手続@ (5イン460Off)この手続きは吸収対時間
データを引き出しS10及びS20のアレイはデルタOD対時間情報(デルタ0
07秒)を含む、平均速度は現在の時間ウィンドウ(S9 S8ライン4700
)に加算され。
データポイント数によって割算される。上記二つのレンジに対する速度はディス
プレー上に以下のように示される。
17 2 −0.000318 −0.00175平均 アッ
セイ番号 速度1 速度2速度は次にレアレイS40及びS50にコピ
ーされる。
4、 2. 5シングルアツセイメニユー5INGLH−ASSAY手続き(ラ
イン480Off)ライン4810では10個のフォトダイオードが選択される
。
プロットの時間スケールはゼロから停止時間まで最も高い基質濃度T(7)で設
定される。アッセイに於ける酵素及び基質濃度はチェックされもしそれらが大き
すぎる場合にはストック/3にセットされる。ボリュームはライン4835及び
4836上で計算される。負の基質濃度は基準測定をトリガする(ライン484
0) 、 もし基準測定が実施されていなかった場合には(C(9)−0)
、ルーチンは停止され、測定メ= :L −(Measure Menu)が表
示される。所望のアッセイが5ETSF手続きによってASSAYOMATEに
ロードされ II*H″コマンドでアッセイが実行される(ライン4860)、
ASSAY手続きは中間データポイントについてコールさ札 時間ウィンド
ウがB(13) resp、 T(7)にセットされる。最初の4個のデータポ
イントの平均吸収は変数旧及びH2に格納される。デルタOD対タイムロットの
軸はロードされる。
ライン5057上に示される基質濃度を計算するためには光密度が用いられる。
その導入手続きはコールされ、吸収のダイバージェンスが計算され、それはL
I NCHECK手続きによってチェックされる。相対ノイズは絶対ノイズ56
及び平均速度S9から計算される。絶対及び相対ノイズはライン5160上に示
されている。リニアリティは、最初の5個のデータポイント(AI及びH4)の
速度を最後の5個のデータポイント(H2)の速度と比較することにより計算さ
れる0次に相対的非線形性(H3)はライン5190上に表示される。もしプリ
ントフラグがセットされていたら、シングルアッセイメニューは以下のように示
される。
*毒傘寧**寧 シングルアッセイメニュー 率*宰*率**シリンジ1 は
充填されました
に傘 、34226..037738..02Initial 00 レンジ
l 及び レンジ÷0.2077 +0.41161[S]
+2.308 +2.713Deriv、 レンジl 及び
レンジ20.0 十〇。00541 +O,OO148Mois
eレンジ1: 0.000069 −12.7%非線形性 ・
・10%[E] Activ、 シリンジ [S]Exit
Go on グラフ アルファソフトキー#111. 測定メ
ニューから抜は出る時に使用される。これは全AUTOKIN及び5INGLE
−ASSAY手続きにおいてアクティブである。
ソフトキー#2は、ユーザがシングルアッセイメニューにおいてマニュアルで変
更を施した後に自動モードに切り換えるためのものである。
ソフトキー#3は、メニューのグラフィック画面を示しマニュアルモードで次の
ユーザーコマンドの入力を待つものである(ライン5420) 。
ソフトキー#4は、メニューの英文字画面を示しマニュアルモードで次のユーザ
ーコマンドの入力を待つために用いられる(ライン5430) 。
ソフトキーtstt アッセイにおける酵素濃度を変更するために用いられる
。これは、アクティブ酵素濃度B(3)及びプロンプト″new ?’を示す。
該酵素濃度は次に予め選択された酵素濃度(B(5))として用いられる。変数
Jlは9にセットされ、これによりシングルアッセイは繰り返される(ライン5
31O及び5390) 。
ソフトキー#6(L 自動酵素モードにおいてアッセイでの酵素濃度を決定す
るために用いられる所望の速度(B(10))を変更するために用いられる。
ソフトキー#7は、シリンジ制御手続きをコールすることによって一個のシリン
ジの内容を変更するために用いられる(ライン5495上でのGOsub 72
50) 。
酵素の量は、モードが選択され(B(4)・l)かつブランクが測定されていな
い(Ql−1)場合に自動調整される。速度若しくはアクティビティが所望の速
度の50%以下の場合には、酵素濃度は二倍に設定される(ライン5455)
、 速度若しくはアクティビティが所望の速度の二倍以上の場合には、それ以
前の値(ライン5460)の半分まで減少される。もし差分が概略30%より大
きい場合には、この量を用いて訂正される(ライン5470) 、 繰り返し
アッセイフラグは上記4つの場合の全ケースについて設定される(Jl−9>
。
メニューサブルーチンから戻るに際して、繰り返しアッセイフラグはチェックさ
れ、必要に応じてアッセイは繰り返される0次に、デルタOD対タイムロフトプ
ロットがディスケットから読み出されスクリーン上に表示される。該データは、
PLOT−DATA手続きによって加算され、メニューサブルーチンが再度コー
ルされる(ライン5310乃至5390) 。
4、 2. 5格納、プロット及びLinreg手続き0PEN−DFILE手
続き(ライン5500ff)この手続きは、データディスケット(B9$)上に
ファイルをファイル名D4S[15,20]及び番号D2を付して形成する。フ
ァイルはオープンされ、ヘッダ情報が書き込まれる(ライン5570) 。
これについてはデータ構造を参照されたい。
LINREG手続き(ライン6000ff)この手続きは、ダブル・レシプロカ
ル変換されたデータ(Hl−1/基質濃度、 H2・l/ターンオーバ一番号
)についてリニア後退(linear regression)を実行する。
AI−ループカウンタ N
A2−和X
A3 禦 和Y
A4 ■ 和x*Y
As 冨 和x2
A6−和Y2
リニア後退のパラメータが続いて計算される。
旧 rho X m Sum X”/N −(Sun X/N)”H3
五ntersept 寥 (Sum CY/N −Sum X/N本
Sum Y/N)/HIH45lope s Sum Y/N −H3傘
Sum X/Ncorrelation m (181ope 傘(rho
X)−”)/(rho Y)−”キネティック定数速度及びマイケリス(Mi
chaelis)定数がライン6280乃至6310上で計算されかつ印刷され
る。相関(correlation)がライン6320上で加えられる。
PLOT−DATA手続き(ライン6500ff)この手続きはフラグF6に依
存してアレイSlO,S20またはS30の定数をプロットする。 PLOT
H4,H3,1コマンドは過去の位置から現在の位置へのラインをプロットす
る。プロットペンが左端に移動しルーチンが終了する。
4、 2. 6 ASSAOMATE制御のための手続きSENIjCMD手続
き(ライン7000ff)コマンドがASSAOMATEに転送される前に、I
EEEタイムアウトが3秒にセットされる(ライン7005及び7010)、
ASSAOMATEの状態は15−5POLL(708)と共に読み出される
。ライン7025乃至7035上で状態バイトが解析される。ビット7がビージ
ー(busy)バイトである。200ミリ秒の遅延の後、次のシリアルボールが
実行される。コマンドストリングASにカンマが付加され、該ストリングは0υ
TPUT 708: Asコマンドと共に送信される。
各コマンドの後にASSAYOMATEから読み出す必要のないシリンジのフィ
ルレベル(fil 1evel)のトラックを維持するために、ライン7052
乃至7065が用いられる。エンプティフラグがセットされているならば ギブ
アウトもエンプティコマンドもASSAYOMATEには送信されない(ライン
7082)、 IEEEタイムアウトの場合にLL ’5w1tch on
ASSAYOMATE’というメツセージが表示され、音でユーザーに警告す
る。 IEEEインターフェースがリセットさ瓢 次のシリアルボートが試み
られる。
5ETSF手続き(ラインフ100ff)変数Wl(4)は−次サイクル数また
は停止されたフロール−チンの速度を含んでおり、この数は16進数に変換さi
LDHEMEコマンド(零TF84A、 1oad ASSAYOMATE
with bex information)に加算される。付加されたバッ
ファの量は、酵素及び基質が待ちサイクルに変換され(ライン711O乃至71
25)、 16進数形式のコマンドストリングに加算される。このストリングは
5END−CN3手続きによりASSAYOMATEに送られる。ライン720
0乃至7220上の手続きjl 整数を4バイトの16進数に変換する。
SYRINGE−CONTROL手続き(ライン725OFF)本WFCC8コ
マンドはASSAYOMATEをトリガし、フィルレベルメニューラインをコン
ピュータに送る.アスキー(ASCII)情報が受信され、RECEIVE−F
ILL手続きによって翻訳される.従って、全てのシリンジの正確なフィルレベ
ルを、シリンジ制御メニューがコールされる毎にMICHKINソフトウェアに
よって知ることができる.このメニューはそれ自身の画面を表示せず、^SSA
YOMATEシリンジ制御メニューにインプリメントされた機能をおこなう8個
のソウトキイのみを表示する.シリンジ制御メニューは. MICHKINソ
フトウェアにおけるこれらの機能のユーザーインターフェースなのである。
ソフトキイ コマンド ラベル パラメータ1 本BG4VEOuT
フイにド5での量2 IC SIJCKIN フィ
ールド5での量3 *D GIVEBACK フイにド5で
の量4 零F EMPTY フィルレベル05 mA
amount O.5 キイ変数毎の量を設定する
6 零G FILL LEVEL ソフトキイはフィルレベル
を示し、押下され
たときシリンジが満た
される。
7 RETUR 抜は出る8 $I
SYR.1 もしソフトキイが押下されたら次のシリンジ
を選択する。
(ライン7480及び7485)
WASH手続き(ライン7500ff)この手続きは測定メニューからコールさ
れる.サイクル及びシリンジ(1−3)数をプロンプトする.ライン7520上
においてはシリンジ選択コマンドが送られ,ライン7530上においては、シリ
ンジ洗浄コマンドが送られる.洗浄後のフィルレベルはゼロ(奇数サイクル数)
及び最大フィルレベル(偶数サイクル数W(M+5))の何れかである。
RECEIVE−FILL手続@ ( 5 イ:z7700ff)送信手続きに
関して、バスハングアップを避けるためにタイムアウトが規定されている.二値
化データはENTER 708”#ni1,旧ステートメントで入力される.変
数旧はアスキー(ASCll)に変換され、キャリッジリターンに遭遇するかま
たはストリング長が40バイトを超過するまで、ストリングA$に加算される.
タイムアウトはオフに切り換えられ、サブストリング10−16. 20−26
及び30−36がリアル数C(1)、 C(2)及びC(3)に変換される.エ
ラーが発生した場合には、ERROR−RECOVER手続きが開始される。
SFSET手続き(ライン7900ff)この手続きは、パラメータK(データ
ポイントの数)と共にコールされたときに,バッファ量、酵素量、及び基質/イ
ンヒビタを与える.このルーチンが用いられる前に、スペーシングタイプT(1
9)、 ファクタL(20)及びアッセイ量B(7)は規定されておく必要が
ある.これらの量はSTOPFL (率H)コマンドにより計算され滴定分析さ
れることができる。
スペーシングタイプ ライン タイプ1 7920
幾何学的2 7930 算術的3
7950 反復的4 7940
混在的5 7960 一定スベーシン
グタイプにより与えられる基質濃度の例1.t. MICHKINユーザーマ
ニュアルに記載されている.ライン7920乃至フタ60上のルーチンはファク
タWl(3)−N3*L(20)/10000によって乗算されるべき固定化さ
れたスペーシングを与える.酵素濃度はスロープB(10)を規定することによ
り線形的(算術的)に変化できる.もしB(10)が0.5にセットされていれ
IL 酵素濃度は50%まで減少する.バッファ量はライン7980上で計算
される. SFSET手続きが9にセットされたIと共にコールされれば,こ
のラインで停止される.その他の場合には、アッセイ混合体は峠コマンドによっ
てASSAYOMATEに送られる。
FUBED手続き(ライン8000ff)全シリンジの現在のフィルレベルは*
WFCC8コマンド及びRECEIVjFILL手続きによって読み出される.
全データポイントの収集に必要なバッファ、酵素及び基質の量は,ライン801
O上のループによって計算される.4ミリリツトル、0.3ミリリツトル、及び
0.25ミリリツトルの最小フィルレベルがバッファ、酵素及び基質シリンジに
それぞれ与えられる。
各データポイントについて、10%の付加的マージンが付加され、データ収集間
にリフィルする必要の無い繰り返し量を制限する.必要量が現在のフィルレベル
を超過した場合(Sl(M) > C(M))には、シリンジMはライン810
0上でのサブルーチンによって満たされる.このサブルーチンは,シリンジMを
開始させ、*Gコマンドによってシリンジを満たす.サンプルチェンジャー8(
20)から自動的にリフィルされるシリンジは、サンプルチューブ(B(19)
)が充分に大きい場合にC1 所望の量CALSTN手続き(ライン8200
ff)SFSET手続きは9にセットされたパラメータI (no. send
ing to ASSAYOMATE)か若しくは7 (sending t
o ASSAYOMATE)にセットされたパラメータlと共にコールされる.
基質濃度(H4)によって与えられたバッファ、酵素及び基質のカラムを用いて
計算される.もしTI(K)及びT2(K)が有効速度結果を含んでいる場合に
C1 レンジ1 (H3)及びレンジ2 (Jl)のターンオーバーがライン
8230上で計算される。
DISjXES手続* ( 5 イン8500ff)この手続き(戴 ファイル
A$からラベルE3$及びE4$と共にX軸及びY軸を読み出す.フレーム及び
ティックはXAXISコマンド及びYAXISコマンド(HP85マニュアルを
参照されたし)によって表示される。ライン8660乃至8680上では、桁は
ティック以下でプロットされる。同様に、 ライン8690乃至8710上では
、桁はY軸にプロットされる。ライン8900上で該ファイルはクローズされ、
手続きは完了される。
PRINT−)IEADER手続き(ライン9SOOff)このルーチンによっ
て生成された出力はフラグ旧の状態に依存している。もし旧がゼロならば、出力
は以下のように短縮される。
測定: HORSCCB 5
6、 Nov、 86 Volua+e : Modcytオキシデー
ゼVIAのマイケリス定数
in O,H丁ween 80 at 150mM 1.s
tr。
もし旧が1ならば、以下のような長い出力が印刷される。
測定: HORSCCB 5
6、 Nov、 86 Volua+e : Modcytマイケリス
定数決定時間ウィンドウ
つt [Sコwin 、4 to 1.6se
cat [S]1lIax 3.2 to 8 sec間隔
、4 Integration 、4最大ノイズ
5%lambdaレンジ 1 from549 to 552 nm
lanm1aレンジ 2 from 418 to 420 nm内部基準
from 580 to 586 na+[cytochroIIle
oxidase] : 30 na+アッセイ濃度 :
3 nm[cytochrome c:l : 250 mic
ro−mMax。
アッセイ濃度 : 30 m1cro−II+ポイント数 20
Rep、 3デルタイプシロン 1 : −16,21/(mM
aIll)デルタイプシロン 2 : −43,11/(mM am)ア
ッセイ量 、4 m14.3テスト測定オーバーレイ”K
ONZMSG″″KONZMSG’オーバーレイは他のオーバーレイと同一の共
通データエリアを有する。このオーバーレイに固有な以下に示す変数が規定され
る。
4、 3. 10−カル変数
A$[60] I10バッファ
P9$[20]パ結果二゛ 初期速度のテキストP8$[20]・
′第一次定数: ゛第一次定数のテキスト1(1$[64] 汎用バ
ッファ
F$[1] E: シングルアッセイMニジリアルアッセイ
Fl$[1]
V[15] テスト測定メニュー及びシリアルアッセイメニュー用アッセイ
変数アレイ
1、15.16 ループカウンタINTEGERMl−400スペクトラム波
長レンジ
W2−800 スペクトラム波長レンジ丁6・0 開始時間
T7・20 停止時間
H5−20基質量(1)
Ha−10酵素量(ul)
Ll−5測定間隔
L2・5 積分時間
■(1)・11■吸収2−導関数
■(2)・O印[1−初期速度2−第一次定数V(3)−550測定121E長
■(4)窮OY軸の最小
V(5)−1X軸の最大
V(6)−0
V(7)−10測定の最大炎
V(8)−2ターゲット用時間ウィンドウの開始V(9)−5ターゲット用時間
ウィンドウの終了V(10)−0初期速度
V(11)−1変換ファクターデルタOD/sec、 /ターンオーバ数V(1
2)陶0 第一次定数
V(13)”1 変換ファクター
53(70)−1測定カウンタ
53(71)・0 ファイル数の格納
53(72)−0転送フラグ
53(74)・2 可変プローブ付きシリンジ53(75)−0異なったアッセ
イ数
これらの変数が初期化された後、共通エリア初期化フラグC(8)がテストされ
、もしlで無いならば°Autost’オーバーレイがCIAIN処理される(
ライン320.800及び805) 、 実際のフィルレベルフラグC(15
)はテストされ、ASSAYOMATEからシリンジのフィルレベルを読み出す
必要があるか否かを決定する。
ライン492上において、MICHKrNソフトウェアの最大フィルレベルはA
SSAYOMATEにロードダウンされる。
4、 3. 2テストメニユー(ライン500ff)このメニューが起動すると
、以下の表示が示される。
本寧率率本本零本率本率 テス トメ ニュー 率本本率本本本本
本本本率本本本*零零宰零宰本 第二レベルメ ニュー **零零*本*宰
京**以下のソフトキイのどれかを選択して下さい。
テストM寓テスト測定
オート開−繰り返し測定サンプル
シリンジ−シリンジのマニュアル移動
洗浄 −シリンジの洗浄
抜出 =緊急終了
基準 −基準測定
(第一測定前)
メインM 基準 オートM テスト閤抜出(Exit)濃度M シリンジ 洗
浄ソフトキー#lは、全ての如何に続くメニュー及び手続きにおいて緊急終了と
して用いられる。このキイが押されたとき、テストメニューが表示され機能は無
視される。
ソフトキー#2は、濃度メニューを起動させる(ライン1ooOff) 。
ソフトキー#3は、ASSAYOMATE”*wpccs” 6GOSUB 7
0006 GOSOB 7700からシリンジの現在のフィルレベルを読み出し
、シリンジ制御メニューを表示する(シリンジ制御手続きがコールされる)。
ソフトキー#4は、シリンジを洗浄する際に用いられる。これをおこなうために
、WASH手続きがコールされる。
ソフトキー#5は、開始オーバーレイ(Start 0verlay)をチェー
ン処理する(ライン800及び805) 。
ソフトキー#6は、基準測定を実行する。これをおこなうために、 MEAS
−REFERENCE手続きがコールされる。
ソフトキー#7は、シリアルアッセイメニューを起動させる(ライン9000f
f) 。
ソフトキー#8は、テストメニューを起動させる(ライン9000ff) 。
もしもベースラインを測定すべき場合には、″パスラインはまだ測定されていま
せん(Basline not yet measured)’ というメツセ
ージのみが表示される。この場合、ベースラインまたは基準測定が必要である。
現在処理中の測定は全て、メニュー表示の前に5TOP MEASUREコマン
ドで停止される(ライン4000ff) 。
4、 3. 3濃度測定メニュー
このメニューζ1 基質またはプロダクトの濃を決定するために、アッセイを混
ぜ合わせスペクトラムを測定するものである。該メニューはユーザーに以下の形
態で表示される。
本本傘本濃度測定メニュー 本率市本車レンジl from 548
to 552nmレンジ2 from 416 to 420nm
Int、 Ref、 from 580 to 588 na+イプシ
ロン値レンしl及びレンジ2
基質: 25.2 and 121.11/nM cmプロダクト :
9.Oand 78.01/nM Cmアッセイ量 0.41
スペクトラム from 400 to 650 nmフィルレベル S
yr、l Syr、2 Syr、335.00 1.25 0.865
アツセイV 5pectr、 [E、S] しRlngeExi
t 5ubstr、 M Prod M Epsilonソフトキ
ー# l C1ステトメニューから抜は出るときに用いられる。
ソフトキー#2は、基質濃度決定を開始させる。これはライン2000からライ
ン2490までの一連のMEASORE 5UBSTRATE手続きによってお
こなわれる。
ソフトキー#3は、プロダクトの濃度決定を開始させる。これはライン2500
からライン2890までの一連のMEASURE PRODUCT手続きによっ
ておこなわれる。この一連の手続きは測定基質手続きと似ているが、酵素が加え
られプロダクト消失係数が用いられる点が異なる。
ソフトキー#4は、消失係数を変更するのに用いられる。係数がユーザーによっ
て入力される前に、以下のメツセージが表示される。
波長レンジ1について消失係数を入力し−で下さい:
最初に基質を、次にプロダクトをカン
マで分離して入力して下さい。
29.7.8<
波長レンジ2について消失係数を入力して下さい:
最初に基質を、次にプロダクトをカン
マで分離して入力して下さい。
120.88.1<
先ず波長レンジlについて消失係数が与えられるべきであり(ライン1355上
のT(15)及びT(16))、続いて波長レンジ2について消失係数が与えら
れるべきであり(ライン1365上の)II及び) H2これらの係数は基質係
数と基質及びプロダクト差T(17)−T(15)−旧and T(18)諺T
(16)−H2に変換される。
ソフトキー#5は、アッセイ量を変えるために用いられる。
もし0.2乃至1.51の中間の値であるならIL このアッセイ量B(7)
がアクセプトされる(ライン1310) 、 これ以外の場合には、プロンプ
トが繰り返さ瓢 入力が再び与えられなければならない。
ソフトキー#6ζ戴 スペクトラムの測定を開始させる(ライン1500) 、
そのパラメータは以下に示すように適切な状態に設定される。
ERASE 5TATUSはデフォルト状態を起動させる。
LAMBDA MI TOW2 波長レンジY−SCALE 自動
Yスキャニングスペクトラムが測定される前に、メニューに示された合成物との
新規な混合がおこなわれることができる。この場合、基準が測定され(ライン1
990)、 *にコマンドが新規混合をロードするために用いられる(本K
H5/1000. H6/1000. B(7)−Ml(3))、*Hコマンド
は停止されたフロー加算を実行するために用いられる。この処理は繰り返され、
4秒の遅れでスペクトラムが測定される。続いて、ライン5400上のPHOT
OMETER−MENLIが起動される。このメニューはテキスト画面及びグラ
フィックス画面を切り換え、フォトメータにマニュアルでコマンドを入力するた
めに用いられる。
ソフトキー#7は、酵素の量及び基質をu1単位で([5及びH6)入力するた
めに用いられる。もしこれらの量が1000 ulより小さいならばテストされ
る(ライン1410) 。
ソフトキー#8は、スペクトラム(Ml及びH2)の波長レンジを変更するため
に用いられる。これらの入力はライン1422上でテストされる。
ERRO!JREcOVER手続き(5イ’、t 1660ff)この手続きは
エラ一番号及びエラーラインを表示し、ユーザがエラー状態を訂正するのを待ち
、C0NT <1ine number>コマンドによりシステムは再開する。
REFEREJICE手続きくライン1900ff)この手続きはKIN2オー
バーレイで説明された。
MEASυRE 5UBSTRATE手続き(ライン2000ff)所望の混合
はASSAYOMATEにダウンロードされる(ライン2050)、ライン21
20からライン2220へのループ内で、格納フローコマンドが送られ、5TA
BLIZE手続きがコールされ吸収が安定するまで待ち状態となる。この手続き
中でユーザーがRESULTキイを押下するとレンジl及びレンジ2での吸収が
Hl及びH2変数に帰還される。その結果は印刷され、吸収はアレイS40及び
S50に格納される。この処理が8回繰り返された後、平均吸収が計算され(ラ
イン2660)かつ印刷される。基質の濃度がライン2050上で計算され次の
ライン上で印刷される。測定が完了した凌 印刷結果は以下のようになる。
基質吸収で測定された濃度
dilutionfactor 1 : 20番号 レンジl レンジ2
1 +、03737 +、292157、 +、04045
+、307373 +、04020 +、298093回測定の
平均:
+、03950 +、29876
シリンジ基質中での
Cytochrome c濃度:
80、39μM 79.90μM
MEASURE−PRODUCT手続き(ライン2500ff)この手続きは上
記の手続きと極めて類似している。違し1はライン2560及びライン274G
にある。 Wl(2)−H6/1000 /酵素濃度はゼロでないという点、
及びプロダクト消失係数がT(15)+T(17)及びτ(16)+T(Ig)
という点である。
5TABLE手続き(ライン3000ff)この手続きは結果を表示せずにWl
からH2へのスペクトラムを測定する(モードO,l) 、経過時間T(5)は
、コーリング手続きによって、フラグQl−0と共に次の手続きに通過される。
レンジl及びレンジ2の平均吸収!戴 設定されているNMEASフラグ後に、
ライン3120からライン3190で計算される。吸収はライン3201からラ
イン3220で画面上に表示される。吸収はフラグQ1がユーザーによってセッ
トされるまで測定され表示される(ソフトキイ#2)、二の場合、手続きが終了
する前に、5秒間測定(T5・5)が実行される。ソフトキイ#3が押されると
、ライン3260からライン3270にかけて、スペクトラム画面上に表示され
る(モード0.0)。
4、 3. 4テスト測定メニユー(ライン4000ff)このメニューでは、
アッセイを測定し初期速度及び最初の定数を決定するために二組のソフトキイが
用意されている。
このメニュースクリーンは以下のように表示される。
*本*傘本零傘*傘傘**本 テス トメ ニュー 本本傘傘本零寧本零宰
*機能 :ABSORPTIONYスケール :Oto 1 00
測定 :Oto 10 secタンジェント :2 to 5
sec混合 :バッファ 320 ul酵素 40ul 基質 4
0u1
デルタ0D7sec: −0,0145Fact、 −100結果 :
1.45
第一順位定数:
フィルレベル Syr、I Syr、2 Syr、335.00 1.2
5 0.865PI軸 タンジェント ファクタ ストア印刷 時間
グラフ ページ2第一セツトのソフトキイ:
ソフトキーHIL テストメニューを抜は出る(GOTO500) 。
ソフトキー82tL 新しい混合(ユーザーがUで入力)を規定するために用
いられる。
バッファ O−2Wl(1)酵素 0−I Vl(
2)基質 0−0.5 Ml(3)
ソフトキー#3は、アッセイを実行する。これをおこなうために、YEST A
SSAY手続き(ライン5000)がコールされる。この機能はメニュー中の全
ての変数が適切な値に設定された後に実行される。
ソフトキー#4は、第二のソフトキーセットを選択する(G0TO4300)。
ソフトキー#5豪 プロッタの最後の結果をプロットする。
これをおこなうために、ラインタイプ(Hl)が選択される。アドレス5を持つ
IEEEプロッタはライン4457上で選択され、ライン4460上ではライン
タイプが選択されかつラインがプロットされる(ライン4462)、この機能が
終了する前に、ディスプレイが転送先デバイスとして選択される。もし該プロッ
タがオンされていない場合には、エラーメツセージが表示され(ライン4470
)、コマンドは全て無視される。
ソフトキー#6は、吸収V(1)−1と導関数V(1)・2機能との間でトグル
切り換えするために用いられる。
ソフトキー#7は、測定の波長(ライン4550乃至4560上でのV(3))
を選択するために用いられる。入力はもしそれが偶数の場合にテストされる。
ソフトキー#8は、二個の番号v(4)及び■(5)をもつ画面のYスケールを
規定する0両番号が同一の値(即ち0,0)ならば、Yスケールは暫定的にスケ
ーリングされ、唯ひとつのデータ曲線のみがスクリーン上に表示される。
他の場合には全て、軸ハ0VERLAY O,V(7ソフトキー#4は、第一セ
ットのソフトキイを選択する(GO)、 V(4)、 V(5)コマンドによっ
て表示され、続く全てのデータが同一のプロットで描かれる。
第二のセットのソフトキイ:
ソフトキー#1は、プリントアウトV(2)の種類を選択する。
プリントアウトが選択されたら(V(2)−10R2)、適切なメツセージP9
$またはP8$が入力される。”
ソフトキー#2は、測定v(7)の最大経過時間を入力するために用いられる。
値に依存して、異なった積分時間及び時間間隔が選択される。もしY軸の固定さ
れたスケーリングが選択されたV(4) # V(5)場合には、適切化された
軸が表示される(ライン4675) 。
ソフトキー#3を押下することにより、新規に更新されたグラフィック画面を表
示する(ライン5250−5390) V(1)ニ依存L r ABSORBA
NCE * タItDERIVATIVEの何れかが選択される。もしv(s)
−V(4)ならば、コマンドY−scale andTIME 5CALE O
TOV(7)は固定されたx軸と自動化されたYスケーリングを選択する。ライ
ン5310上のコマンドPLOTTERはデータを表示する。キネティック定数
はKINCONST手続き(ライン4900)によってソフトキイ機能が終了す
る前に計算される。
コメントの最初の8文字はディスクに格TO4200) 。
ソフトキー#5は、IEEEプロッター(705)上に軸をプロットする(ライ
ン4480−4495) 。
ソフトキー#6は、解析時間ウィンドウ(タンジェント)のために開始時間(V
(8))及び停止時間(V(9))を変更する。停止時間は最大測定経過時間よ
りも短く設定されなければならない(ライン4710) 、 再び、KINC
ONST手続きがコールされ、キネティック定数を計算する。
ソフトキー#7は、デルタ00/秒の濃度の変換ファクターV(11)をターン
オーバ数または単位7秒に変更するために用いられる(ライン4750) 。
ソフトキー#8は、格納及び転送オプションを選択する(ライン6000乃至6
045) 、 ライン601O上でのプロンプトの後にもしレンジlからレン
ジ999までの数が入力されたとき、吸収対時間データはデータディスケット上
のファイルに格納される。もしも送信フラグ53(72)がセットされていた場
合には、この吸収対時間データは1社 ホストに送信される。ライン6042上
では、データと共に送信されるべきコメントが入力可能である。もし格納が選択
されたならば、この相ごわ◇、 フ1 ノOυOυ工りゐ)υrllリバ干祝
きが5TORI、KINまたは5END−K18手続きをコールし格納しデータ
を送信する。
KINCONST手続き(ライン490Off)ライン491Oからライン49
25へのループは速度データをタイムウィンドウ上に加える。もし導関数が既に
ソースデータV(1)冨2上で実行されていた場合にi−L このループでは
行われる必要はない、ライン4930上でよ 丸められた平均初期速・度が変数
V(10)に格納される。ライン4944乃至ライン4980上では。
第一順位速度定数がグッゲンヘイム(Gugganheim)法を用いて決定さ
れる。この処理はABSORPTION機能が選択されている場合のみに行なわ
れる。
吸収差(00(T)−00(T+deltaD))の自然対数は計算される(L
OG(83)及びH(4))、 対数プロットの平均スロープ第一順位定数は
平均化処理([4−H3)/Llによって決定される。第一順位定数は変数V(
12)に格納される(ライン4980) 、 エラーがあれば計算の吸収につ
ながる(ライン4997) 。
TESTjSSAY手続き(ライン500Off)この手続きがコールされると
、ユーザは繰り返し数(R)を入力しなければならないする。入力数が1乃至l
Oのレンジに入っていればアクセプトされる。°ネ本本アッセイが混合されまし
た(The assay is m1xed)本**宰傘傘*1というメツセー
ジが表示され、5ERIAL−ASSAY手続きがコールされてアッセイを実行
する。
5ERIALjSSAY手続き(ライン5010ff)この手続きは出力デバイ
スとしてディスプレイ装置を選択する。自動コールモードにおいては、Y軸は、
ライン5030上で結果が知られる前に0.Olから1.5までの範囲で設定さ
れる。
測定波長は選択され、アッセイ混合はASSAYOMATEにロードされる。最
初のアッセイは混合されるが解析はされない(ライン5045) 、 もしポ
イントアウトが選択されていれば、混合は印刷される。ライン5065からライ
ン5090へのループはアッセイをR回だけ繰り返す、ライン5070及びライ
ン5075上においては、アッセイ混合コマンドが送られ、1.5秒の遅延で測
定は開始される。もし固定スケールが起動されていれば、 1秒だけ遅延時間は
増加される(ライン5072) 、 該データは、最後のデータポイントが測
定された(NMEAS−V(7)/Ll+1)後にディスプレイ装置(モード0
.0)に表示され、HP8451メモリに格納される。 ASSAYOMAY
Eの状態バイトは読み出される0次のプローブが準備完了ならば、ビット< B
IT(X、 3))はセットさ瓢シリアルフセイメニューF$−”M”によって
コールされ最後のリピートが測定され、次のプローブにシリンジが満たされる(
S3(74)、ライン5085) 、 キネティック定数はKINCONST
手続きによって計算される。ライン5092からライン5130では、平均Rア
ッセイが必要とされる(HP 8451シンタツクス)、もしDERIVATE
機能V(1)−2が選択されかつプロットがオートスケーリングモードで赤く描
かれている場合には、その結果は導関数となる(ライン5150乃至5170)
、 平均化されたデータのキネティック定数は計算され以下のように印刷さ
れる。
Mix: B 320 E 40 S 40 ulPHOTOM
ETERメニュー(ライン5400ff)この小さいメニューは、グラフィック
画面を表示しくライン5410)、処理しくライン5490)かつRASIGイ
ンタープリタに抜は出る(ライン5500)ための一連のソフトキイを用意して
いる。
5SOPTION手続き(ライン6050ff)もし53(71)変数がゼロで
ないならjf、 5TOREKIN手続きがコールされる。 53(71)
が1ならば、5END−K18手続きがコールされる。
5TORE K18手続き(ライン6100ff)1(P 8451マニユアル
に記載された機能を用%%てデータ(よディスケットに格納される(To FI
LE Hl) 。
5ENJKIN手続き(ライン6200ff)ライン6210及びライン627
0上において、R5232インターフエースがC0NTR0L 10. 、、、
ステートメント(HP85のIlo ROM)によって適切な状態に設定される
。ライン6280及びライン6290上において、タイムアウトによりバス上で
のハングアップを防止する。タイムアウトに遭遇しなかった場合に11 現在
行なわれている転送は無視される(ライン6400) 、 先ず、R5232
デバイスがプリンタとして選択された後に、以下のようなコメントが送信される
。
C0NTR0L 10,2 : 7 モデムラインが設定されるC
0NTR0L 1G、3 : 15 ボーレート9600CONTR
OL 10,4 : 7 8ビツト2停止ノーパリテイC0NTR0
L 1G、5 : 48 ハンドシェイクを選択C0NTR0L 1
0,11 :192 XON/X0FFハンドシェイクC0NTR0L
10,14 : 19 XON/X0FFハンドシェイクC0NTR
0L 1G、15 : 17 XON/X0FFハンドシェイク同一の
プリンタ(PRINTER1510)がフォトメータデータの出力装置として選
択される。このデータはPRINTERコマンドを実行することによりホストに
送信される(ライン6320) 、 タイムアウトはクリアされ、内部プリン
タが再度選択されて、この手続きが終了する。
SEND−CN3手続き ライン7000ffSETSF手続
き ライン7100ffSYRI NGE−C0NTR0L
手続き ライシフ25OffWASH手続t!
ライン7500ffRECEIVjFILL手続キライン7700ffSFS
ET手続き ライン7900ffFUBED手続き
ライン8000ff(これらの手続きについては測定オーツ(−レ
イ記述を参照されたい、)
4.3.5 シリアルアッセイメニューこのメニューにおけるソフトキーは、
オートサンプラによって変化する一連のサンプルに関するいくつかのアッセイを
自動的に決定する機能を提供する。ユーザに対して次のようなスクリーン表示が
なされる。
自動測定
機能:吸収(ABSORPTION)
ジョブのタイトル:
測定回数:1
記憶:オフ
送信:オフ
プロット:オフ
ウオッシュシリンジ:2
注入レベル5ml
注入レベル
シリンジ1、シリンジ2、シリンジ3
35.00.1.25、0.865
タイトル 数、 記憶 プロット
出口 ジョブ 測定 ウォッシュ
ソフトキー#1はテストメニューへ抜は出る。
ソフトキー#2は同じサンプルかつ異なる組成で1つ以上のアッセイからなるジ
ョブを構成するのに使用される。9410行で入力バッファS30がクリアされ
る。9450行から9465までの入力ループは、4つのエントリ、すなわち、
反復回数53 (11) 、バッファ量S3 (11+1)、酵素量S3 (1
1+2) 、基質量S3 (11+3)のn倍のエントリを受ける。ゼロ反復が
入力されるまで、かつ、11が51より大になるまでプロンプトが反復される。
変数83(75)は数多くの異なるアッセイ(1)でロードされる。
ソフトキー#3はソフトキー#2を使用して入力されたジョブを実行する。F$
ボッラグシリアルアッセイプロシージャにおいてシリアルアッセイモードを選択
するために“M”に設定される。F1$は“N“に設定される。測定回数、日付
けおよびコメントがプリントされる。カウンタ53 (73)が増加されてV
(2)−1が複写をオンにする。
“次のプローブがレディのとき、ASSAYOMATEにおいてプローブ1がブ
レスキー#9に吸引される1とのメツセージが表示され、ASSAYOMATE
ステータスバイト内の次のプローブレディビットがテストされる(9525行)
。レディのプローブがないときはルーチンが停止され、シリアルアッセイメニュ
ーが表示される。ビットが設定されたとき選択されたシリンジが新しいサンプル
で満たされる(9530行)。その後、“次の2分間にプローブ2を準備せよ”
のメツセージが示される(9540行)。9550行から9585行までのルー
プはアッセイをパッチジョブによって次々と実行する。53(75)はパッチバ
ッファに記憶されたアッセイの数を含む。変数R,Wl (1) 、Wl (2
) 、Wl(3)はパッチバッファからロードされ、シリアルアッセイプロシー
ジャが実行される。測定の結果は記憶されるかまたは、5SOPTIONプロシ
ージヤとともに送信される。
ここで、プロットインが選択された場合(S3 (73)−1)、PLOT
KINプロシージャがコールされ、OD対時間データがプロットされる。各測定
の後、ラインタイプが増加され8を越えたとき1にリセットされる。次のプロー
ブビットが設定されなくなるまでループが実行される。
ソフトキー#4は、どのシリンジが異なるプローブを受けるかを選択するのに使
用される(S3 (74) 、9610行)。ソフトキー#5はジョブのタイト
ルT1$を入力するのに使用される(9650行)。
ソフトキー#6は、測定の回数を設定するのに使用される(S* (70) 、
9700行)。
ソフトキー#7は、データの記憶および送信を変更するのに使用される。
ソフトキー#8は、プロットをオンオフするのに使用される(S3 (7B)
、9800行)。
4.4 データ転送オーバレイ’DACOM”“DACOM”オーバレイは他の
オーバレイと同じ共通のデータエリアを有する。このオーバレイに対してローカ
ルである次の変数が定義される。
4.4.1 ローカル変数
2$ [2000110BUFFER
B8$ [64] −“ ° ホストのファイル名H1$[64]
汎用バッファF$ [11自動手動操作に対するフラグF6$
[1]−“0° 1つのアッセイを反復せよE3$ [301Xレベル
E4$ [301Yレベル
F7$ [11−“0” 1つの平均を反復せよES$ [60]−“、
1.“ タイトルN9$ [30] 平均に対するブランクファ
イルの名前
YO−0、Yl−1、Y2−1 プロットに対するY軸3−O
XO−0、Xl−1、X2−1 プロットに対するX軸3−O
Ll、L2 統合時間測定間隔54(41)−〇
Ql−11:通常の測定
2ニブランク測定
G2−1 17増加する基質2:減少する基質
G1−1 プロット変形G2−1
プロットすべき範囲W9−100 送信中のストリングの
遅れI9$−″ ユーザイニシャルローカル変数が定義されて
初期化された後、HP8451メモリ内のすべての記憶データは消去され、ディ
スプレイがグラフィック出力装置として選択される。共通のデータエリアフラグ
C(8)がテストされ、もし1に設定されていない場合、’Autost’オー
バレイがチェインされる。その後、DACOMメニューが示される。
4.4.2 DACOMメニュー
このメニューがアクティブのとき、次のスクリーンが示される。
Da c omメニュー
ソフトキーを押して下さい:
D Var D Edit
メインM Dacom 内容 プロットMソフトキーの機能
rソフトキー#1はエディツトへッダメ二二一を駆動する。
このメニューの他の機能はブランクの平均化である(GOTo 500)。
ソフトキー#2はデータ転送メニューを駆動する。これはホストとの接続がある
場合のみ、かつ、ホストのデータ転送プログラムがランしているときのみ行われ
る(GOTO2500)。
ソフトキー#3はドライブD700、D701、D710におけるディスケット
の派生を示すのに使用される(1600行)。ディレクトリはCATコマンドに
よって示される。
ファイルは消去(1630行のPURGE HI3)されるかまたはディレク
トリはバック可能である(1620行)。
ソフトキー#4はプロットメニュー(GOTO7000)を駆動する。
ソフトキー#6はエディツトデータメニュー(GOTO2000)を駆動する。
ソフトキー#7はメインメニニーを駆動する。このためには“Autost”オ
ーバレイが810行でチェインされる。
4.4.3エデイツトヘツタメニユー
Duration 1 1 and3.2 8 secRange
1 from 54g to 552Range 2 fr
om 416 to 420Int、Ref、 from 5
80 to 586Cytochrome 0xldase 20
nM (E)Cytochrome c 200 uM (
S)[81As5ay 80 / 5tdev 3%No、 of
Rep、 3 / No、 of Po1nts 20dEps l −9
5,9dEps 2−69 1/sM c+gM1xed Row
StorB ReadB copyF Avg BIExlt
ReadV Dacos+ Commeソフト
キーの機能:
ソフトキ−#I Dacomメニューに移るソフトキー#2 データファイル
のファイル名用の指令及びライン700のヘッダ処理を読出す。
ソフトキー#3 データ転送メニューを作用する(GOTo2500)。
ソフトキー#4 コメント編集用に使用される(T1$。
ライン780)。
ソフトキー#5 ブランクファイル内のメモリのコンテントを格納する(ライン
1500ff)。9文字の名をライン1500に入力しなければならない。ファ
イルが創作され、開かれ、情報が格納されて前記ファイルがライン1510〜1
590に再度閉じられる。
ソフトキー#6 メモリ中にブランクファイルを読出す。再度9文字のファイル
名を入力しなければならない。
ソフトキー#7 ファイルライン900を複写。
ソフトキー#85つのブランクまで平均する(ライン3520上のAl)。ライ
ン3550から3580のループは9つの文字のファイル名をA1回受入れる。
前記ブランクファイルのヘッダはライン3610〜3640と比較され、データ
はT1()及びT2
()アレイに加えられる。前記データはA1によって分割されると格納されたブ
ランク機能は平均されたブランクを格納するために使用される。
4.4.3工デイツトデータメニユー
**mネ**零*エディツトデータメニュ一本本本*零零本本本本No、
Range l Range 2 [5ubstrlO+、835
883 +、935534 0.001 43.227895
+1.446329 0.472 +8.216934
+7.938393 0.693 411.503677 +1
1.339028 0.924 +13.528363 +13
.290385 1.165 +16.498041 +16
.433788 1.428 +18.816847 +19.8
33377 2.717 +22.015744 +22.338
385 2.038 424.843676 +24.9078
06 2.409 +28.413485 +28.8357H
2,82Incol ReadD 5torD PIot
MExlt NextP FormP tnputソフト
キー# I DACOMメニューのGOTo 1000に移る。
ソフトキー#2 データの次の部分(ライン2300)を示すのに使用される。
それを行うため、ページカウンタR1がインクリメントされる。
それが4より大きければ1に接される。
ソフトキー#3 データの前のページ(ライン2310)を示すのに使用される
。ページカウンタR1がデクリメントされて負であれば0にセットされる。
ソフトキー#4 レンジ1の値(カラム−1,TI (K))、レンジ2の値(
カラム2. Ts (K) )、及び全ての基質濃度(ボリューム−3゜S4
(K))を入れるのに使用される。
ソフトキー#5 レンジ1の全ての値(ボリューム1゜Tl(K))、レンジ2
の全ての値(ボリューム2. T2 (K) ) 、及び全ての基質濃度(ポリ
ニーム−3,S4 (K) ”)を入れるために使用される。前記データはライ
ン2460乃至2490のループによって入力される。FOR−NEXTループ
は、データポイントの最大数に到達されると(T (5) )停止する。
ソフトキー#6 ライン5000のREAD KIN処理によってファイルを
読出す。
ソフトキー#7 ライン5.500の5TORE KIN処理によるファイル
をメモリコンテントに格納する。
77トキ #8 Plotメ−ユ−(GOTO7000)を作用する。
4.4.4データ転送メニユー(ライン250Of f)このメニューが最初に
作用されると、ユーザのイニシャルI9$を入力しなければならない。前記メニ
ューは以下のように明らかになる。
Data Transfer
Pauslng between 1ines 200 a+5ecExit
Abort Master Waitソフトキーの機能:
ホストの接続は、最初の3つのラインが示された後確立しなければならない。こ
れは5ETUP TRANSFER処理によって成される。前記接続が確立さ
れれば、前記メニュー及びソフトキーの静止が示される。
ソフトキー#I Dacomメニュー(GOTO1000)に移る。
ソフトキー#2 データ転送の走行を停止してデータ転送メニュー(GOTO2
500)に戻る。
ソフトキー#3 データ転送を開始する。データディスクのディレクトリが示さ
れ、ファイル名(D$)がREAD KIN2処理によってファイルを読出す
ために予期される。前記ファイル名は10文字の長さに省略され、
memory’ がタイプされると読出されるファイルは無い。ライン2620
でタイムアウトステートメントはバスハングアップを防ぐ。ホストディスクのフ
ァイルのファイル名はB8$を入力しなければならない。前記ファイル名は、ド
ライブ(a二またはb:)が含まれると、8文字または10文字に省略される。
前記ホストのファイルは、パラメータ:くファイル名〉及びくエクステンシツン
〉を伴った0PENコマンドによってオーブンされる。前記エクステンシランは
文字“K′及びユーザのイニシャルで構成される。前記コマンド文字系列は、0
UTPUT Z$ USING“30A” 、HI3及びTRANS
FERZ$ To 10 1NTRステートメントによってホストに送出さ
れる。前記ホスト確定は、ライン2740 (ENTERlo、HI3)で受信
される。前記ファイルは5END KIN処理によって送出される。この処理
は、それが終了する前にCLOSEコマンドを送出する。最後に、前記データ転
送メニューが再度示される。
データ転送中にエラーが発生したら、ライン2780のメツセージが示され、デ
ータ転送は阻止される。
ソフトキー#4 文字系列(ライン3300 W9)間の待ち時間を変化させ
るために使用される。
ソフトキー#5 エディットヘッダメ二二−(GOTO500)を示す。
ERRORJECOVER処理(ライン290Of f)この処理は、エラーラ
イン及びエラ一番号をチェックする。
エラ一番号が67でエラーラインが5060であれば、メツセージ°File
<name> not found ’ が示される。エラ一番号が130であ
ればメツセージ°D1skette (volume> 1snot foun
d’が、エラ一番号が129であればメッセ−ジ°Diskette dagl
aged’ が示される。異なったエラ一番号を伴ったエラーが発生したならば
、メツセージ°Error duringdata transfer’が2秒
間示され、現在のデータ転送が阻止される。
5ETUPJRANSFER処理(ライン3000 f f)RS 232デ
ータ転送プロトコルは、以下のように設定される。
C0NTR0L10.2 : 7 モデムラインが設定されるC0NTR
0L10.3 、 15 ボーレート9600CONTROLlO,4、7
8とブト2停止ピットパリティなしC0NTR0LlG、5 、 48 ハ
ンドシェーク選択C0NTR0L 10.11 ; 192 XON/X0P
FハンドシェークC0NTR0L 10.14 ; 19 XON/X0P
FハンドシェークC0NTR0L 10.15 ; 17 XON/X0P
Fハンドシェークタイムアウトは、メツセージが前記ホスト(ライン3120)
にPRINTされる以前に設定される。回答は、ENTER10; H1$に
よって受信される。データ転送は、応答なしか、または異なった回答が受信され
ると(ライン3140)停止される。タイムアウトが設定の間発生すると、以下
のスクリーンが示される。
’ Please check:
a) 1f data transfer program on host
is runnlngb) if R5−232cable is plugg
ed in correctlyc) if handshake proto
col is correct(see manual)
CONTキーを押下
C0NTを押下することは開始することのできる別の企図からのDa c om
メニューを示す。
PLOTTING処理(ライン420Of f)この処理は“1“または“O“
にセットしたパラメータh2$で要求される。このフラグがセットされると、処
理PLOT AXESはプロッタの軸を引くために要求される。
さもなければ、前記軸はDis AXES処理で前記スクリーン上にまさに示
される。ライン4280乃至4350のコードは、Plotメニニーで選択され
た機械的変換を実行する。レンジ1が選択されると、データはアステリスク(*
)でプロットされる。レンジ2が選択されると前記データはプラス(+)でプロ
ットされる。
5ENDJIN処理(ライン4400ff)I10バッファがクリアされて第1
のヘッダ文字系列が送出される。それはシリーズD1$、番号D2、日付D3$
、フラグD4$、酵素の名E1$、基質の名E2$、及びコメントT1$を含ん
でいる。ヘッダ情報の3より多いラインが送出される(データ構造を見よ)。こ
れらの入力は、固定したフォーマットASC11(ライン4440乃至4460
)を送出される。次に、データは以下のフォーマットを送出される。
”宴、A、DDD、18A、20A、20A、2OA、64A””AOO120
,Feb、19811.、、、、、、、、、、、、、、ADH,、、、、、、E
THANOL、、。
Comment、、、、、、、、 、、 、 、、 、 、、、、、、、、、、
、 、、、、、 、 、 、、、、 1.−8.−−−0h
転換番号の最終データポイント対基質濃度データが送出されると、ファイルは異
なった形態3(ライン4520)のデータタイプ用に閉じられる。さもなければ
、OD対時間データがディスク5l(1)からのT(5)回読口されると共に、
固定したフォーマットの16の値のブロックに送出される。
−1,SZ、4DE、SZ、4DE、SZ、4DE”1婁、SZ、5D”
READJIN処理(ライン5000 f f)この処理はデータディスクのデ
ィレクトリを示すと共に、ファイル名(D$)を入力する。前記ファイルのコン
テントを読出すためにREAD KIN2処理を要求する。
READJIN2処理(ライン5050f f)前記ファイルD$が開かれ、前
記ヘッダが読出される(ライン5070)。そして、基質濃度リストに対する前
記転換番号が読出される(ライン5080〜5120)。前記ファイルは、前記
データタイプが3から異なると閉じられる。さもなければ、読出すことができる
時間データに対する吸収のために左に開かれる。
5TOREJIN処理(ライン550Off)データディスクのディレクトリが
示された後、ファイル名D$を入力しなければならない。lOの記録の長さのフ
ァイルが開かれ、ヘッダ及びデータが格納される。前記ファイルは処理が終了す
る前に閉じられる。
PLOTjXES処理Cライ:/6000 f f)これは、ファイルに格納さ
れないがプロッタディレクトリに送出されるコマンドと異なったAutost’
オーバレイのように同じ処理である。
4.4.5プロツトメニユー
零零零**材零零本本本本* DACOM It零本本本本本本本本*
*mPLOT MENυ
Title of Plot
X−Axis O1020
X−Label 0.””””””’、++++++++、++++Y−
Axis 0 10 2 0Y−L
abel 、、、、、、、、、、、、、、、、、、、、、、、、、、、、
。
TN vs、 [5ubstr、] PlotRange I
X−Axis Y−Axis PI TypeRange
5torD PlotD Page ITl
tle EdltD
Exit ReadD Content Pag
e 2ソフトキーの最初の設定:
ソフトキー#l DACOMメニュー(GOTO1000)に移る。
ソフトキー#2 READ KIN処理によってデータファイルを読出す。
ソフトキー#3 ディスクのディレクトリを示す。
ソフトキー#4 ソフトキーの第2の設定を選択する(GOTO7200)。
ソフトキー#5 プロットのタイトル(E 5 $)を入力するのに使用される
。
ソフトキー#6 エディツトデータメニュー(GOTO2000)を作用する。
ソフトキーの第2の設定:
ソフトキー#1 レンジ1またはレンジ2 (G2)の何れかを選択。
ソフトキー#2 5TORE KIN処理によってデータを格納する。
ソフトキー#3 プロット処理によってデータをプロットする。
ソフトキー#4 ソフトキーの最初の設定を選択する(GOTO7100)。
ソフトキー#6 X軸回変数及びX軸うベルを入力するのに使用される。
ソフトキー#7 Y軸回変数及びY軸うベルを入力するのに使用される。
ソフトキー#84つの変換(G1)中に選択するのに使用される。
1: Tnn対質
質 : Lineveaver Burke Plot3 : Eadle
Horstee Plot4 : Hanes Volf’e PlotD
ISjXES処fW (ライ:/850Of f)この処理は、KIN2オーバ
レイに詳述されている。
PR] NT−)IEADER処理(ライン9500ff)同様に、処理は°K
IN2°オーバレイに詳述されている。
4.5開始オーバレイ゛ASINIT’’ ASINIT’オーバレイは、共通
のデータエリアが既に初期化されていたとき(C(8)−1)及びその初期化を
まだ実行していないとき(C(15) #1.ライン250乃至490)、実
行される。前記ソフトキー#1は、ダウンローディングプロセスを停止するため
、及び°Autost’オーバレイに戻るために使用される(ライン9000及
び9100)。
ライン500〜590で、以下のパラメータが各スポイトにダウンロードされる
。
W (1+5)
W (1+15)
W (I+10)
前記コマンドは、5END CMD処理(’KIN2’ に述べられている)
によってASSAYOMATEに送出される。
−5ETSP処理(ライン7100ff)−C0NVERT−)IEX処理(ラ
イン720Off)−RECEIVEJILL処理(ライン7700 f f)
これらの処理は、同じプロYラムライン上の測定オーバレイに述べられている。
チャプター5
処理リスト
5.1アルフアベツト順リスト
5.1.1開始オーバレイ
AXES−DELOD PROCEDURE
52QOfTAXES−OD PROCEDURE
5100fTAXESjNS PROCEDURE
5000ffCHECXJIIODES PROCEDURE
4800ffCHECKJARAMETERP
ROCEDURE 4700fVDISPLAYJN
HALT PROCEDURE 20G0ffED
ITJNHALT PROCEDURE 220
OffERROR−RECOVERPROCEDURE
9000ffREAD−PARAMETERPROCEDURE
4400ffSTOREjXES PROCEDURE
6000ff5.1.2測定オーバレイ
ASSAYJROCEDURE 3500
ffAUTOKINJROCEDURE 2
000ffAVERAGEJEL PROCEDURE
3750ffBUILDJtlEUE PROCEDURE
900fTCALCTN PROCEDURE
8200fTCHECKJG PROCEDURE
38001’fCONVERT−HEX P
ROCEDURE 7200fTDATA、、−
HEADERPROCEDuRE 3700ff
DEBUG−MENU PROCEDURE 4
450ffDERIVATIVB PROCEDURE
4600ffDISjXES PROCEDURE
I1500ffEDIT−COMMENT PROCE
DURE 1700ffERRORJEC
OVERPROCEDURE 1B80ffF
UBED PROCEDURE
8000fTGETABS PROCEDURE
4400fTLINCHECK PROCEDURE
8300fTLINREG PROCEDU
RE 6000ffMEASIEF
ERRENCE PROCEDURE 1900
frOPENJPILE PROCEDURE
5500ffOUTKIN PROCEDURE
4200ffPLOT−DATA PROCEDtlRE
6500fTPRINTJ(EADERPR
OCEDURE 9500ffRECEIV
EJILL PROCEDURE 7700
ffSEND−CMD PROCEDURE
7000ffSETSP PROCEDUl?2
7100fTSETUP−KIN PROCEDUR
E B600ffSFSET PRO
CEDURE 7900ffS
INGLEjSSAY PROCEDURE
4800ffSTOREJLANK PROCEDURE
1540fTSUBTRACTJLANK PROCEDURE
1800ffSYRINGE−CONTROL
PROCEDURE 7250ffVASH
PROCEDURE 7500R
5、IJ試験測定オーバレイ
ERRORJECOVERPROCEDURE 1B
60frPUBED PROCEDURE
8000fTKINCONST PROCEDURE
4900ffMEAS−REFERENCE PROCE
DURE L900ffMEASUREJRO
DUCT PROCEDURE 2500ff
MEASUREJUBSTRATE PROCEDURE
2000ff’RECEIVE、、、PILL PROCEDURE
7700fTREFERENCE PROCED
URE 1900fTSEND−CMD
PROCEDURE 7000ff
’5ENDJIN PROCEDURE
6200ffSERIALjSSAY PROCEDURE
6010ffSETSP PROCEDURE
7100ffSFSET PROCEDUR
E 7900ffSSOPTIO
N PROCEDURE 6050f
fSTABILIZE PROCEDURE 3
000fTSTOREJIN PROCEDURE
61G0ffSYRINGEJONTROL PROCEDURE
7250ffTEST−ASSAY PROCE
DURE 5000ffvASHPRO
CEDURE 7500fTアペ
ンデイツクス C
MICHFITソフトウエヤの資料
ブルノ・ミッチェル著
目次
チャプター 1:序文
チャプター 2ニジステムの概念
チャプター 3ニジステムのソフトウエヤオペレーティング・システムへの割込
みタッチスクリーンの制御
システム・クロック及びディスク・ディレクトリ−へのアクセス
データ転送
グラフィック機能へのアクセス
マルチプル・スクリーン
チャプター 4=ユーザーのソフトウエヤオペレーシジンの原則
メイン・オーバーレイ
スクリーン中マスク・エディター
システム・ファイル・エディター
スタートアップΦルーチン
ターミネーティング・アプリケーションデータ・ハンドリング・オーバーレイ
ローカル・バリアプル
メニュ更新
タイムジャリングφメイン拳ルーチン
インプット・メニュ及びその手順
アウトプット・メニュ及びその手順
データ・ハンドリング・メニュ及びその手順救済メニュ
編集データ・メニュ
雑手順
作業用ファイルのインプット/アウトプットインプット・オーバーレイ
キーボード・インプット
ファイルからの読取り及び平均
スワップ作業用ファイル
フィツト・オーバーレイ
ローカル拳バリアプル
フィツト・メニュ
フィツト及びシミニレ−シラン手順
直線回帰
インフルエンスeフィツト・メニュ
チャプター 5ニゲラフイツク・プレゼンテーション開始及び終了
各機能の定義
プロットサイズ・メニュ及び手順
セレクト・シンボル
ドロー
注釈
多数のソフトキー
ディスプレー手順
プリント手順
プロット手順
雑手順
チャプター 6:インタプリタ
コマンド・インタプリタ
オペレーション・インタプリタ
変換インタプリタ
数式インタプリタ
チャプター 7:データ構造
共通データ・エリヤ
作業用ファイル
プロットファイル
チャプター 8二手順のリスト
データ・ハンドリング・オーバーレイ
インプット・オーバーレイ
インタプリタ
フィツト・オーバーレイ
プロット・オーバーレイ
チャプター 1
序文
ASSAYMATEは短時間で多数のアッセイ即ち分析試料を測定することが出
来る。特に、分析の全タイムコースが蓄積される場合は、大量のデータが処理さ
れなければならない。このために、これらのデータを自動的に処理する可能性を
持たなければならない。代表的には、計算用紙(spreadsheet )を
使って、データ・アレイの結果を計算し、これをグラフ表示する。少数のデータ
・アレイを打ち込み、表示する場合は、市販の計算用紙が最も効率が良い。デジ
タルの形で蓄えられたデータの量が大量になると、このようなファイルの購入に
非常に時間が掛かる。小いさな秘密ファイル名を持つ多数のファイルを取り扱う
ことは非常に複雑且つ困難である。この場合は、データを処理するための強力な
それ専用のソフトウエヤを持つことが有利である。注文制作のソフトウエヤの別
の利点は、同じパッケージの中にデータ習得を含ませることが出来る点である。
多数のヘッダー情報と共に100のデータファイルを持つ作業用ファイルによっ
てファイルの利用管理が非常に容易になる。これに加えて、作業用ファイルの中
のファイルへのアクセスが、DOSファイルにアクセスする場合に比較して非常
に迅速である。作業用ファイルは数セットのファイルをグループに纏めるために
用いられる。多数のファイルを蓄積しなければならない場合は、幾つかの作業用
ファイルを用いることが出来る。
ファイルはプロットファイルを用いることによって、作業用ファイル間で交換す
ることが出来る。このファイルタイプは、普通、ファイルのスクリーンに現れた
プロットを蓄積するために用いられる。MICHFITソフトウエヤはサブファ
ンクションを行うために幾つかのオーバーレイを用いる。
チャプター 2
システムの概念
MICHFITソフトウエヤは最初はソフトウエヤの維持費用を最低にするため
に設計された。この目的は、ソースコードからスクリーン・マスク及びプログラ
ム・メツセージを取り除くことによって達成された。このスクリーン・マスクが
特殊なスクリーン・ファイルに蓄積され、これが、ランダム・ファイルのインプ
ット/アウトプット・コマンドによって、プログラムからアクセスされる。プロ
グラム・メツセージがシステム・ファイルに蓄積される。各メニュのために、メ
ツセージのオーバーレイが読み込まれる。同様に、ヘルプ・スクリーンが、プロ
クラムによって特殊なファイルから読み込まれる。この構造は、同等変形を行う
ことなしに、同じプログラムが異なった言語と共にランする利点を持っている。
これに加えて、ソースコードを変更すること無く、経験を持つユーザーによって
、ユーザーのインターフェースを注文製作することが出来る。
数式モデルが酵素の動的変化にしばしば用いられた。このために、フィツト式を
注文製作することが重要である。これが、後にフィツトに用いられるシステムフ
ァイルからASCIIストリングを受は入れ、これをインタブリットするモデル
・インタプリタによって達成された。
システムのソフトウエヤ
BASIC又はマイクロソフトPASCALに従うI\イレベルの言語マイクロ
ソフトは小いさなセットのコマンドを行うのみである。その他の全てのコマンド
又は機能はCALLSを具備し、オブジェクト・モジュールにリンクする言語サ
ブルーチンをアッセンブルしなければならない。この場合具備しなければならな
い機能は次のものであるニーグラフィック機能
一タッチスクリーン機能
一シイテム・クロックへのアクセス
−ディスク・ディレクトリ−の読取り
一ルーチン(R9−232)のインプット/アウトプット−マルチプルスクリー
ン
幾つかの機能は、ESCAPEシーケンスをターミナルにプリントすることによ
って行うことが出来るが、その速度は非常に遅い。HP−150は、アッセンブ
リー言語呼出しによってアクセス可能の機能、即ちAGIOS機能のビルトイン
・ライブラリを持っている。
アルファ二二一マチック・アンド・グラフィック・インプット/アウトプット・
サブシステム(AGIOS)は、HP−150の文字数字式的、グラフィックの
イントリンシックスにアクセスするために用いられる1セツトのシステム機能で
ある。これらの機能呼出しはディスプレー上でテキスト及びグラフィックモード
のオペレージジンを行い、キーボードを制御し、アプリケージジン・ソフトキー
を規定し、タッチスクリーン争オペレーションを行う。AGIOSは、イスケー
プ・シーケンスに比し、ターミナル・ヒイーチャーに対して5倍速いアクセスを
行う。更に、AGIOSは1ブロツクのデータをディスプレーに運ぶ機能を持っ
ている。
各A IOS又はGIOSの機能は16ビツトのファンクション・コードによっ
て識別される。このファンクシジン・コード及び追加パラメーターはコマンド・
バッファ(システムのソフトウエヤ参照)の中に蓄えられなければならない。次
に、プロセッサー・レジスターがセットアツプされ、この機能がオペレーション
・システムへの割り込みによって行われる。
HP−150はMS−DO8に用いられる1セツトのデー?通信l10JI能を
持っている。このデータ通信機能はAG10S呼出しと同じようにして(コマン
ド・バッファによって)アクセスされる。
MICHFITソフトウエヤのパフォーマンスは、文字数字式スクリーンの内容
をマスストレエジの媒体に蓄え、これかう再呼出しする2つのルーチンによって
可なり進歩した=STOSCR(#)機能が文字数字式スクリーンの内容を、マ
スストレエジの媒体、好ましくはRAMディスク又は/\−ド・ディスク、のラ
ンダム・アクセス・ファイルに蓄積するために用いられる。一方、スクリーンに
蓄積されたRECSCR(#)機能が、既に開かれたランダム・アクセス・ファ
イルから再呼出しされる。スクリーンの最初の21行のみが蓄積される。蓄積す
ることの出来るスクリーンの数への制限は貯蓄スペースとアクセス速度のみであ
る。
3.1 操作システムへの割込み
各Al0S又はCl0S機能が16ビツトの機能コードによって識別される。こ
の機能コード及び追加的パラメータはコマンド・バッファに蓄積されなければな
らない。
1nBUF DW 1 ;機能コードDB 14
;下右のコラムDB 16 ;下右の列DB 10
;上方のコラムDB 15 ;上方の列DW
0FFFFH
DW 0FFFFH
次に、プロセッサ・レジスタがセットアツプされなければならない。DSレジス
タがバッファのデータ・セグメントを持っていなければならない。
DEPA MOV AX、 4403H; Ilo:l:z)o−ルr1t
e
MOV BX、l ::lンソール11/XンドルMOV
cx、to ;バッファ長さMOV DX、ofTset
1n ;オフセット・アドレスINT 21H;呼出し機能
RET return :リターンこの機能がオペレーティング
・システムへの割込みによって行われる。
HP−150は、MS−DOSに用いられる1セツトのデータ通信I10機能を
持つ。この“data comm’機能はAGIO5呼出しと同じようにして
(コマンド・バッファによって)アクセスされる。
3.1.1 タッチスクリーンの制°御機能FNTOUCHが、左上コーナー(
row%、;cot%)とサイズ(row1nc%、 coline%)とを持
つHP−150のスクリーン上に1つのフィールドを形成し、これに触れたとき
、応答(resp$)を出す。フィールドに触れることはキーボードのキーに触
れることと同じである。機能FNTOUCHは形成された全てのタッチフィール
ドをスクリーンから除去する。
文字数字式スクリーンは、クリヤーL (CLS) 、スイッチオンしくALP
HA) 、スイッチオフする(ALPHAOFF)ことが出来る。カーソルは機
能CURS(co1%。
row%)でスクリーンの任意の場所に置くことが出来る。
情報の1行が、機能READLI (Hl)及びDISLI(H3)で、文字メ
モリーに書き込まれ、又は、文字メモリーから読み取られる。
3、 1. 2 システム・クロック及びディスク・ディレクトリ−へのアク
セス
ユーザーにとって使いやすいソフトウエヤの最も重要な機能の中に、ディスク・
ディレクトリ−へのアクセスがある。
これは、異なったユーザーからの多数のファイルがハード・ディスクに蓄積され
ている場合に特に重要である。機能5UCHF及び5UCHNが、特定の仕事に
関わるファイルのみを選択するために用いられる。これらのファイルは、後に、
INPUTメニュのフィールドに触れることによって簡単にアクセスすることが
出来る。
内部のクロックに読み込ませるために2つの機能が設けられる:
機能DATUM (year%、day%、dayofveek%)が3つの1
6ビツトの整数を戻す。第1の整数が年である。第2の整数の上の8ビツトが月
で、下の8ビツトが日である。第3の整数はその週(1−7)の日曜日から始ま
る時間を戻す。
機能Z E I T (minute%、5econd%)が第1の整数の上半
分にその日の時間(0−24)を、下半分に分を戻す。第2の整数の上半分が秒
を、下半分が1/100秒を含んでいる。
3、 1. 3 データ転送
機能P OP E N (handle%)が直列ボートを開く。これはDOS
からのキャラクタ−・デバイスとして扱うことが出来る。機能P CL OS
E (handle%)が直列ボートを閉ざす。
機能I N S T A T (status%)が、1バイトが直列ボートか
らインプットするために用意されているか否かをチェックする。機能0UTST
AT (status%)が、直列ボートが1バイトを受は入れるために用意さ
れたか否かをチェックする。
3、 1.4 グラフィック機能へのアクセスグラフィック・スクリーンが、
文字スクリーンと同様に、独立して制御される。HP−150はモノクロームの
グラフィック・スクリーンを用い、その解像度が640X390ピクセルである
。
グラフィック・スクリーンのスイッチをオン・オフさせる機能はGRAPH及び
GRAPHOFFである。グラフィック・スクリーンの全てのエントリーがGC
LEAR機能によって消去される。文字スクリーンと同様に、幾つかのルーチン
がグラフィック・カーソルを制御するために使用される。
GCURSがグラフィック・カーソルをターン・オンし、GCURSAOFFが
これを除去する。これは、ビクセルMGCUR3(X%、Y%)に無条件に動く
ことが出来、この場合、Xは0から640の範囲の中に、又Yは0から390の
範囲の中になければならない。機能PLOTD及びPLOTUを使って線が引か
れ、この場合、X%及びY%はグラフィック・カーソルの場合と同じ範囲内にい
なければならない。
線は各覆の線タイプ(0−10、HP−150マニユアル参照)で引くことが出
来る。HP−150のグラフィック・スクリーンにテキストを書くことが出来る
。サイズ、方向、及び傾斜は機能5IZE CX96> 、DIR(X%) 、
及び5LANT (S%)でそれぞれ規定することが出来る。
3.2 マルチプル・スクリーン
5TOSCR(#)機能が、ファイルI10バッファである文字数字式スクリー
ンの1本の線の内容を転送するサブフ7ンクシヨンを22回呼ぶ。同様に、RE
CSCR(#)機能が、80バイトをファイルI10バッファから文字メモリー
に転送するサブファンクシジンを22回呼ぶ。
スクリーン・ファイルから読取り、又これに書込むことの出来るマルチプル・ス
クリーンは、ソフトウエヤのメンテナンスを行う点及びコストの点で利点を持っ
ている。この方法の別の重要な利点は、ソフトウエヤのパーフォーマンスが非常
に良いことである。このソフトウエヤのパーフォーマンスが良い理由は、計算パ
ワーの消費が少ないからで、これはメニュが示される度に、スクリーンをセパレ
ートする必要がないからである。この場合は、特殊なメニュが呼び出される。
スクリーンが膨大な蓄積の中から読み取られ、メニュが残されたため変化する部
分のみが具体的に更新(υpdate)される。
多数の浮動小数点の数が同じスクリーンに現れるとき、その差が最も顕著である
。
スクリーンの更新がマルチタスクの環境(タイムジャリング)の中で行われるの
で、キーボードのインプットがスクリーンの更新に優先して処理される。ユーザ
ーのコマンドによるリスポンス・タイムは更に良い。多くの場合、1つのメニュ
にサービスする複数のルーチンが1つのプログラム・オーバーレイの中にキープ
される。ユーザーが別のメニュに変更する決定をするときは、メニュが示される
前に、オーバーレイがロードされ開始されなければならない。
しかしながら、マルチプル・スクリーンに於いては、新しいオーバーレイがロー
ドされる前に、新しいメニュが前のオーバーレイによって呼び出され、ディスプ
レイされる。新しいオーバーレイがしなければならない只1つのことは、幾つの
更新をしなければならないかをチェックすることだけである。
言うまでもなく、内部マルチタスクとマルチ・スクリーンを必要とするプログラ
ムは非常に複雑であるが、これによる高価なイニシャルコストは低いメンテナン
ス今コストによって十分に償われる。
近年、パーソナル・コンピューターの計算パワーは常に増加して来ているので、
1つのソフトウエヤのバホーマンスを増加させることは、時間の浪費と思われる
かも知れない。つまりより高速化されたコンピータ−で、より早く処理されるか
らである。しかしながら、プログラムの複雑性は計算パワーに平行して高くなっ
ている。マルチタスク・オペレーション・システムがPC’sで標準的になった
とき、計算パワーに対する欲求が爆発的に増加するであろう。この時、計算パワ
ーを余り必要としないソフトウエヤを持つことは大きな利点になる。
マルチプル・スクリーン設計は、これをチャンネル構造を使用するコンピュータ
ーに適用すれば、その効果は特に大きくなる。これは、文字及びグラフィックの
メモリーを含むメモリーから及びへの簡単なデータ転送が、DMAチップによっ
て同時に行われるからである。つまり、CPUはスクリーン・マスクをディスク
から文字メモリーに読み取るのに時間を必要とせず、同時にオーバーレイが付加
されても、データ転送の速度が影響されない。結論として、MICHFITソフ
トウエヤに用いられている設計は将来に対して有利な投資となるのである。
4章
ユーザソフトウェア
4.1オペレーシヨンの原理
MS−DOSオペレーションシステム(バージラン2611)は、シングルタス
クユーザシステムである。このファイルアクセスは極めて遅く、特に、多数のフ
ァイルが作成され消去(デリート)がくり返されたハードディスクの場合はさら
に遅くなる。その理由は、ハードディスクのため再生(reoganlzatl
on)タスクの不備とディレクトリ生成の非力さが原因である。:
最も速いファイルアクセスが可能な場合は一般的に、ディスクの初期化(イニシ
ャライズ)の直後であり、且つ一度もファイルの消去(デリート)が行なわれて
いない状態に限られている。プログラムが繰返しメモリ上にロードされる様な数
個のオーバーレインに分割されている場合はディスクアクセスの最適化処理が必
須であった。
オーバーレイは、そのプログラムの異なるサブ機能を次々に起動する1つのメイ
ン処理を利用する。そのサブ機能のシングルタスクは仮のリアルタイム動作が行
なわれるように非常に短く実行される。そのサブ機能は次に示す如くである。2
−スクリーンアップデート(画面更新)M能−キーボード入力
−バックグラウンドプロット(ファイルから)−シリアルインタフェース入力(
ファイルへ)メニーL画面が残され表示される前には、英数字画面の内容が1つ
のファイルにストア(格納)される。再び同じメニュが選択された時には、それ
と同一な画面がこのファイルから再度コールされる。そしてソフトキーの新しい
機能がラベル付けされる。その後、これら2つのタスクに関する制御がメイン処
理ブログムに再度渡される。仮に他のオーバーレイがロードされる必要がある場
合には、この様な機構は特に便利である。この場合、実際のプログラムが準備さ
れる以前に新しいメニュ(画面)が表示される。ユーザはコンピュータがバック
グラウンドで動いているうちにそのメニュ画面を学習することができる。キー押
下された内容はセーブ(保存)されると共にそのオーバーレイが準備される(i
&大5秒間)の直後には実行される。該サブルーチンはマスク(20ケ)のフィ
ールドをチェックし、必要な場合にはそれらのマスクを変える。異なる複数のタ
スクにおいて、複数のメニュ画面が起動している時には、一方のメニュの内容の
変更は他方のメニュには何の映境も生じない。キーの押下によっては下記の2つ
のモードでキー人力が識別される。
−コマンドモード
一インタプリタモード
コマンドモードにおいては、キー人力された各バイトが直接実行される。一方、
インタプリタモードにおいては、キャリッジリターンコード(Cr)キーが押さ
れて初めてそのキー人力が実行される。(参照コインタブリタ)4.2メインオ
ーバレイ
MIC11FITソフトは、BITRATE%MICIIKIN及びHP845
1スペクトロフオトメータソフトによって生成されたファイルを処理する。他の
ソース(資源)からのデータは、R5−232Cインタフエースを経由して受取
ることが可能である。
そのデータは1つのアレイ(配列)がハードディスク上の2つのファイルに格納
されている100レコードから構成された1つのワークファイルに一旦書き込ま
れる。これらのレコードは数字上の演算の為のオペランド又はソースとして、ダ
イレクトカーブフィツト(曲線〜)及び(グラフィック表示)幾可学画面表示に
利用される。
メインプログラムは主に7つの機能を有する。
−C0MM0Nデータ領域の初期化(機能)−ディレクトリの読取り
“−メニュマスクの編集 〃−システムファイルの編集
〃−ワークファイルのアクティベート 〃−オーバレイのコール
〃MICHITソフトはメインプログラム(HA、EXE)により起動され
る。ユーザは1〜20の中の1つを選択する必要があると共に、7文字から成る
パスワードを入力しなければならない。正しいパスワードが入力されると、初期
化ルーチンが起動される。まず、コンフィギユレーションを規定する数個のパラ
メータがメインシステムファイルDEPAUT、 H9Yから読み取られる。次
に、コモン変数が初期化され、プロットサイズのデフォルト値がシステムファイ
ルUSERXY、 H8Yから読み込まれる。最後に、ユーザに属するディスク
a:、b:及びC:に存在する全てのデータファイルがそのファイル形式に従っ
て読み込まれ、ソートされた後、最速の大規模記憶装置上のランダムアクセスフ
ァイルに格納される。その初期化の後にメインメニニ画面が表示される。このシ
ステムファイル及びスクリーンマスクの変更の為の各種の機能が提供される。さ
らに、このメインメニュは、システムファイル及び新しいユーザの為のワークフ
ァイルを初期化する為にも利用される。通常はこのメインメニュは下記の4つの
異なるタイプのアプリケーションを選択指定する為に使用される。
−動力学(kinetlc)データの処理−バインド((blnclfng)デ
ータの処理−スペクトラ(スペクトル)の処理
−データ転送処理
最初の3つのデータ処理サブルーチンは、異なるデータ形式における極めて類似
したタスクを実行するが、ただ1つのちがいは出力時の(データ)転送の方法が
異なる。スペクトラ処理は、他の2つのサブルーチンと異なり、ワークファイル
を使用する。スペクトラ(データ)は、Y値のみが格納される。X値は空白がう
められ、最小X値、最大xi及びデルタX値が格納される必要がある。
4.2.1 スクリーンマスクエディタスクリーンマスクエディタは、ページ単
位のエディタである。1ページが20行で80文文字行の固定長のページに設定
されている。このエディタは、ランダムアクセスファイルの先頭から1600バ
イトXnの固定長オフセットを有する各ページを読み取る。当エディタがコール
されると、スクリーンマスクファイルの1つにアサインされる。その為にはまず
ユーザはplease 5elect application : l =B
inding 2=Spectra 3−Kinetlcs”というメッセージ
メニュから1の処理を選択しなければならない。この選択が終ると、次にこの画
面がクリアされ、次に示すソフトキーに関する画面が表示される。
f l =Recall 5creen (画面の再呼出し)f 3 =Rc
ad Default (デフ1ルト値の読込み)f 4 = 5tore 5
creen (画面の格納)f 5 =Other AppHcation
(他の処理)f 8 =End Edit (エディツトの終了)ユーザはこれ
らのソフトキー(fl〜f8)から1つを選択するか、エディティング画面を起
動するかをたずねられる。
新しい画面が表示されるか、又は現在の画面が更新されて表示されるかのいずれ
かの後、所定のロケーションに格納される。ユーザによりソフトキ#4 (f4
)が押下された直後に、当エディタは”Please enter 5cree
n number 1n the rangef’ roIl/1o20“ (
「1〜20の内の1つの画面番号を入力して下さい。」)と表示する。指定され
た番号の入力により現画面の内容がファイル中の異なるロケーションに書き込ま
れる。
5creen l Input Menu (入力メニ二)ScrOen 2
0utpuz Menu (出力メニュ)Scrccn 3 Plots
ize Menu (ブ07トサイズメニユ)Screen 4 Plt
)lcnu (フィットメニュ)5creen 5 Data Handli
ngMenu (データハンドリングメニュ)Fl−17
Screen OData Handling Menu Fl8−3
4Screen 7 Data Handling Menu P3
5−51Screen 8 Data Handling Menu
F52−69Screen 9 Data Handling Menu
P2O−87ScreenlOData Handllng Menu
Fl18−99Screenll He1p 5creen Inpu
t MenuScreen12 He1p 5creen OuLputMe
nuScreen13 He1p 5creen Plotslze Men
uScreen14 He1p 5creen Fit MenuScree
n+5 )1elp 5creen Data Handllng
Menu l5creen18 11elp 5creen Data I
iandllng Menu 2Screen17 11elp 5creen
Data llandling Menu 3Screenlll 1le
lp 5creen Data Ilandling Menu 4Scree
n19 11elp 5creen Data llandllng Menu
5Screen20 )1elp 5creen Data Handli
ng Menu G4.2.2システムフアイルエデイタ
システムフアイルは、MICHPITソフトによりユーザに対して表示される全
てのメツセージを含んでいる。これらのメツセージは、システムファイルエディ
タを用いて変更することが可能である。この小プログラムは、1組10ケのプロ
ンプト(文字)を読み取り、それらの文字を更新できる画面上の箇所に表示する
。システムファイルには下記のような2つの異なる形式のファイルが存在する。
a)メインシステムファイル(くユーザ名>、HA)b)アプリケーション定義
システムファイル(<ユーザ名>、KSY、<ユーザ名>、5SYa、s、o)
当エディタがコールされると、まずファイル名が選択される必要がある。そこで
エディタはPlease 5elect a page’(rページ番号を選ん
で下さい。」)というメツセージを表示する。1〜10までの番号が入力されこ
の数字を受取る。
前述のとおり、1ページ(画面)には10ケのメツセージを有している。それら
のメツセージは、次のプロンプト(要求)が表示されるか又は、コマンドライン
上にプロンプトが在る時に1〜10の内から1つを指定タイプ入力することによ
り受は付けられる。
’Actual page 6 please 5elect a 1ine
or 999−txlt。
88g−5tore or 777−newpage’(「現在のこのベージ魔
は6です。行番号を選ぶか、又は、999(終了);888(格納)、777(
新ページ)のいずれか1つを指定して下さい。」)上記のプロンプト中に見られ
るように、888をタイプ入力することにより更新された10ケのメツセージが
ストア(+8納)される。10ページ以上の画面は異なる機能を有しており、そ
れらのページはタッチスクリーンフィールドの定義の為に必要な情報を持ってい
る。
それらのページのタッチフィールドには次のの2つのグループがある。
a)シングルタッチフィールド
b)タッチフィールドアレー(配列)
シングルフィールドは2桁の整数で定義されている。その1桁目はフィールドの
左角上の位置を規定し、2桁目の数字は有角下の位置を規定している。その整数
値は2つの部分に分割される。この2つの数字の下位置はカラム位置(0〜80
)を、また上位置は新しいカラム位置(0〜47)を示している。上記のタッチ
フィールドはそのカラム位置の値がOになるまで設定される。
フィールドアレーは、単一なフィールドとして定義されているが、第1にフィー
ルドの列が定義されその後、フィールドの最も左のカラム位置が定義される。ま
た、フィールドの生成はそれらの値が0になるまで続けられ再度停止する。
(さらに詳しい情報は、タッチフィールドに関する章を参照されたい。)
4.2.3 ス9 ) 7 ップルーチ> )IA、BAS/ HA、EX
EMECHFITソフトが起動される前には、ユーザはアカウントナンバとパス
ワードを入力しなければならない(290〜340行)。
このソフトウェアに対しての制御されたアクセスを行なうことは、2つの利点を
持っている。:
・任意のユーザのデータは、許可されない者にはアクセスされない。
・スーパーユーザはアカウントN(Lを公開すること及び、大規模記憶装置から
使わないアカウントNαを消去すること、の責任を有する(1000〜1010
0行)。
アカウント魚の最大数はその限界を設ける必要がある。何故ならば、大規模記憶
装置の満ぽいはオペレーションシステムのパフォーマンスを損なう故である。ユ
ーザが正しいパスワードを入力した後には、へNSIエスケープシーケンスの一
連がソフトの為の環境が変わらない事を確認する為に端末にプリント出力される
(400〜490行)。
次に、DATUM(year%、 day%、 vday%)関数のコールによ
り、システムクロックから現在の日時が読み込まれる(システムソフト参照のこ
と)。その後この値はASCII(コード)列に変換されコモンデータ領域内に
格納される。著作権(コピーライト)付の画面が表示され、ユーザにはデータ用
ディスケット(フロッピーディスク)の挿入が要求される。600〜990行に
おいて、コモン変数値が初期化される。このコモン変数のデフェルト値はファイ
ルからも読み込まれ得るのでまだ更新されていない(350〜390行目)。こ
れらの値はもちろんユーザがシステムファイルエディタを利用して編集すること
も可能である。
ディスクのディレクトリに対するアクセスの回数を減らすために、全てのディレ
クトリ内容がランダムアクセスファイルに格納される(9000〜9190行)
。その為にこのディレクトリは5UC)IP及び5UC)IN機能が用いられて
読み取られる。そしてカレントユーザに属するファイルだけが選ばれて格納され
る。
初回の初期化処理の後にはメインメニュが表示される(looorr行)。その
メニュでは、ユーザは異なる複数のアブリケーションの中から選択することが可
能である。本書においてはKinetic(動力学)アプリケーションについて
のみ述べる。
このアプリケーションがアクティベートされると、システムファイルの為のファ
イルバッファ、ワークファイル、スクリーンファイル及びディレクトリファイル
のそれぞれがオーブンされる(4400ff’行)。
この時点以前にアカウントNαがまったく使用されていなければ、システムファ
イル及びスクリーンファイルはまずDEFAULTファイルからコピーされなけ
ればならない(4100fr行のサブルーチン)。
HAプログラムが1990990行目A I Nコマンドと共に残されている以
前には、X−FREE (“)コマンドによってメモリの一掃(garbage
collection)が行なわれる。このソフトにおける数箇所にわたる一
掃の実行により、メモリ空間の格保節約と、アクセスの遅延時間(ディレィタイ
ム)の短縮化が図られている。
仮に、このガーベジコレクションの自動的なコールが行なわれなければ、メモリ
空間に交鎖が無い場合がたびたび発生し、長い間このガーベジコクレジランの実
行が続くことになる。
4.2.4ターミネーテイングアプリケーシヨン(850f4行目)
MECIII’lTアプリケーションが新しいオーバレイのローディングを必要
とするような他のメニュに切換えた時、I?UNNING%変数はO(ゼロ)に
設定されると共に、IFORT変数もゼロに設定される。この場合、他のメニュ
をサポートするサブルーチンが840行目のC)I^IN fort$コマンド
を使いアクティベイトされる。しかし仮りに、IFORTポインタがO(ゼロ)
ならば850行目のステップが再び実行され、ここでほとんどのファイルバッフ
ァはクローズされる。次のステップにおいては、メニュアップデートポインタ及
びワークファイルアップデートポインタは、ディスク上に書き込まれる(950
〜965行)。プログラムが停止する以前には、ユーザは次なる質問に応答しな
げればならない。 ’5ave eUrrent 5tatus (y/n)
?’ (rカレントステータスをセーブしますか<yes/no)?J)。ユ
ーザが仮に、 °n′を入力した場合は、カレントステータスファイルが新規作
成され、次にコールされる時のデフォルト値からそのソフトウェアは始動する。
また、ユーザが仮に y′を入力した場合は、ユーザ名と、イクステンシジン文
字’、KST’ を有するカレントステータスファイルがディスクa:上でオー
ブンされ、全ポインタ値は、このファイル中に書き込まれる(975〜985行
)。
また、アクティブプロットサイズ値は、プロットファイル書込みサブルーチンを
利用して同一ファイルに書き込まれる(8035ff行)。カレントステータス
ファイルがクローズされた後、そのタッチフィールドが消去され、ディスプレイ
メツセージにMICHFIT software tertxInated ’
(rMIcHPITソフトが終了しました」)が表示され、制御がオペレー
ションシステムに返される。選択的にそのカレントステータスファイルーfンl
L ’EXIT MAIN MENU’ (rメインメニュ出口」)機能(入
力メニ二中のソフトキー#1)によってコールされる。この場合、MICIIP
ITアプリは停止され、メインメニュが表示される。このメニュより他のアプリ
ケーションが起動され得る(例:スペクトラデータハンドリング、データトラン
スファ)。
4.3デ一タハンドリングオーバレイ
MICHFITアプリが起動されると、IFO1?T変数がコンパイラによって
0(ゼロ)にセットされる。初期の起動時には、プログラムは330行目から4
100行目にある起動サブルーチンに分岐する。当サブルーチンは、画面をクリ
アし、著作権(コピーライト)付メツセージを表示し、全てのシステムポインタ
をデフォルト値にセットする。
derault = Oニブロットデフォルト値は読み込まれない。
anzelge −1:データハンドリングメニュの1ページが表示される。
autoscale −1ニブロット自動的に測定される。
InLerpolaLe = 0 :追加ポイントはデータポイントの間には生
成されない。
anZart””1 :出力メニュ中に合羽数量情報が表示される。
Interpreter −o :オペレーションモードはダイレクトコマンド
実行。
ofT 0%−0:出力メニュロールポインタは再設定される。
comrlle 96−0 :マクロモードはスイッチoff (pointe
r%(8)−0)される。
pointer%(20)−0:メニュは入力メニ二と共に起動する。
1nLerpk(1)= O二追加データポインタの生成はない。
5LII’L%(i)−1:penNα1が全てのデータライン又はシンボルを
描く為に用いられ、これがデ
ータポイント間に生成される。
次に、メニュ中で読んだ1つのサブルーチンと、ワークファイルアップデート(
更新)ポインタがコールされる。このルーチンは18700〜18730行でそ
の動作を行なっている。そのアップデートポインタが読み込まれた後、それらの
ポインタはクリアされる。この事は、MICHPITソフトが作動している間に
電源断、又はオペレーションシステムのエラーが原因でコンピュータが停止した
としても、メニュが正しくアップデートされている事を保証するものである。1
8500〜18640行のルーチンは、プロンプトが指すメツセージを読み込み
、他のメツセージは画面に出力される。前述したように、これらのメツセージは
システムファイルエディタを使ってユーザ自身で編集する事が可能である。コモ
ンデータ領域においては、これらのメツセージが配列FOR)IAT $の内に
格納されている。
In(1) −read ニアツブデートポインタがシステムファイルから読込
まれる。
In(1) : (これはサブルーチン内の18770rf行におい
て実行される。)
4.3.2メニュアップデート
メニュのアップデート(更新)については、全メニュに共通する事である。その
ため、ここでは0utput Menu (出力メニュ)のアップデートにつ
いてだけ述べられている。すなわち2000〜2020行目は、スクリーンファ
イルからメニュが再度コールされた時に実行される。そして、全てのタッチスク
リーンはクリアされ(OFF Touch ) 、出力メニュの最大数は10ケ
まで設定される。次に、その画面は、Ba5icコマンドのget#14’ に
よってファイルバッファ内に読み込まれる。その画面はクリアされ、このバッフ
ァの内容が英字専用メモリ(REC9CR)内にコピーされる。
メニュポインタは、2 (IME−2)にセットされ、そのタッチフィールドは
システムファイル中に格納されている情報を用いて生成される。次に、ソフトキ
ーがラベル付けされる(87000行目のサブルーチン)。このラベル付は用の
テキストはシステムファイルから読み取られサブルーチンの文字列1$内に引渡
される。格納ベンディングフラグが(ip(39)−1)に設定され、アップデ
ートポインタが第一のディスプレイフィールドを指すように設定される。メイン
ループの各サイクル毎の間において、アクティブメニュの一部がチェックされ、
必要な場合に限りアップデート(更新)される。葭にその全部分がアップデート
された’36は、動作は行なわれず、そのルーチンだけが残される(if’ p
ointer%(12) > 30thcn return )。
アップデートポインタは1つ加算され、メニュ中の動作部分(アクティブバート
)がアップデートを必要としているか否かをチェックされる。出力メニュの為の
アップデート処理は2200〜23900行目に在る。
コマンドリスト中最終エントリは6800行目である。このステップ行は、変更
された画面を再びファイルに格納する為の処理ルーチンであり、一旦、全スクリ
ーンが完全にクリアされるか又は、メニュをただちに離れる時にコールされる。
5pool He1p *** 0UTPUT ***本 09.Fe
b、88 ** User :Mjchel *****本*
Mode : X−Y 0uLput 0utput to : Dis
playAutomatic 5cale : YES DeraulL Va
lues : N0Line Interpolate : NONo、 of
’ Curves : 2Register File name S
y會bりPen Y−Max 、 [Eコ[S] r’rom T
。
27 Alcohol dehydrogen、6787.625.32301
2012 ADD with 1nhibitor 7212.2334.30
30120他のメニュ中には、コメントが3つのグループに分割されている。第
1のグループはシングルタッチフィールドをアサインする機能をもち、第2のグ
ループはタッチフィールドアレイ(配列)をアサインする機能を有し、第3のグ
ループはソフトキーによりアクティベートされるコマンドである。
2400行目は実行コマンドサブルーチンの入口(エントリポイント)点である
。このサブルーチンがコールされると、TFEI、D 5TARRAY、又はT
SOFTの各フラグが0(ゼロ)以外の値にセットされる。TFELDとTSO
FTの値はソフトキーのタッチフィールドの番号を直接表わしている。TARR
AYポインタは、どのアレイがタッチされたかを示している。シングルフィール
ドを識別する為には、さらに2つの値が渡される。すなわちTOOLとTR0V
である。シングルフィールドの為のサブルーチンは2440〜2590行の間に
ある。タッチフィールドの機能及び、ソフトキーの機能に関しては0utput
Menu (出力メニュ)の項で述べられている。
4.3.3タイムシエアリング(メインルーチン)一旦、オーバレイがロードさ
れると、ローカル変数及びローカル機能が初期化され(90〜285行目)、フ
ァイルバッファが再びアサインされる(300〜320行目)。そして、ポイン
タ“FORTS ”に従って、プログラムの実行が異なる処理と共に開始される
。
[’01?TS タスク 行 と 処理名0 ワーク
ファイルのアクティベート 41005TART人カメ二二表示
100G INPUT−MENUl 人力メニュ表示 1
000 INPUT−MENU2 出力メニュ表示 2000
OUTPUT−MENU3 デークハンドリングメニ二表示 300G D
AT)IJIENU4 外部オーバレイからのリターン 4000 RETE
XT及び出力メニュ表示 2000 OUTPUT−MENU5
システムファイルオーバレイの 18500 READJYSP!Lll:読込
みと、大力メニュ表示 1000 INPUT MENU6 システムフ
ァイルオーバレイの 18500 READjYSFILE読込みと、出力メニ
ュ表示 2000 OUTPUT−MENUl システムファイル読込み
と、 18500 READJYSFILEデータハンドリングメニュ表示
3000 DA)lIjMENυ8 プロットファイルの格納 80
00WRITE PLOTFILE
メインルーチンは、500〜790行目のDo WRITEループである。この
ルーチンは、pseudoマルチタスクwannerにおいて数ケのタスクを実
行する。
一ユーザによるキー人力と、プロットスプールからブロックへの出力データをモ
ニタする。
一キー押下に従ってその対応する動作を行なう。(5000rf行)
一次に、当ルーチンは動作中のメニュ画面を更新する。
キーの押下は2つのモードで検知できるニーダイレクトモードは、各キーのそれ
ぞれが1つの機能を代表する。
−インタプリタモードは、ASCII文字列が入力され分析チェックされる。
それらの文字列はファイル(MACRO)から読み取られ翻訳される。
以下の各ライン(行)はメインルーチンを表わしている。
500 while running% DOループの始まりで、ru
nn!ng%が0(ゼロ)にセ
ットされるまでくり返し行
なわれる。
505 while varnz%〉0 発生したワーニングメッセ−ジ
の表示であり、最終コ
マンドが実行されるまで
gosub6300が実行される。
5101rcoafile%>0then もし、MICHFITソフト
がマa$−macro$(comfile%) クロモードで動くと、カレc
omfilc%−coaf11c%十l ントマクロがコマンドがコ1f co
mfile%>21 then 7ンドバツフアa$に読み込eomfil
e%−0まれて、マクロポインタがインクリメントされ、マク
ロポインタ〉21の時にはマ
クロモードがスイッチOFF
される。
515 if’ comrlle%> OMIC)IFITソフトがマクロモt
hen gosub 4500 −ドのとき、バッフ y a%内の
コマンドが翻訳され、
4500行目のサブルーチンが
始動される。
520 tshare=10 プロッタのタイムシェアが10
%に設定。
11eer =1
fLock =Oアンロック入力
1rcoafile%−Oand MICHFITソフトがノーマル1n
terpreter < >t than モードで動作している場合、g
osub 550 そのソフトはユーザがキーを押したか否か
をチェック。
同時に、そのソフトは10サ
イクル毎にブロックが再に
他のコマンドを必要とする
るか否かをチェック。
580 If ime <l or アクティブメニュポインタ
ime >8 then が固定範囲(1〜B)であるかIme
−1否をチェック。
585 if flag −Othen キーの押下が無い場合は何
700 のコマンドも実行されない。
570 on ise gosub どのメニュが動いているか
に従ってコマンドを実行。
■400 人カメニ二コマンド2400
出力メニュコマンド6700 データハンドリン
グメニュコマンド
6700 ヘルプメニュコマンド700 if poin
ter%(20)< 100 ワークファイルのヘッダーthen poi
nter%(20)−+1 がまだ読込まれているか否Z「%−point
er%(20) かをテスト。ワークファイgosub 9800
ルの次のエントリのヘッダー情報を読むために、
)IEADEL旺AD処理がコール
される。
710 on 1〜B gosub IMEに従ってメニュコマ
ンドを更新する。
1025 1 NPUT−UPDATE2025
0UTPUT−UPDATE3025
DAHA−UPDATE790 MEND Do WH
Il、E LOOPの終点。
800 gosub 900 文字列をスペースクリア。
830 II’ if’orL−1ディスクからオーバレイを読み込む。
pointer%(2)=Idmax ドローポイントの番号。
pointer%(3)=coarlle% マイクロモードの0N10FF。
polnter 96 (4)−1nterpreterインタプリタモードの
0N10FF。
840 if 1fort−1ディスクからオーバレイ読み込み。
pointer%(19) −11Ie アクティブメニュにポインch
ain fort$ 夕をセーブ。
メニュ及びワークファイルのアップデートポインタがロードされ、5TART処
理がカレントステータスファイルをサーチする(4115行目)。仮にその該当
ファイルが見つからなかった場合は:
メッセージ−<usernas >、 KST noL round ” (
r<:l−−ザ名>、 KSTは見つからず。」)が表示される。
見つかった場合は、カレントステータスファイルがオーブンされ、ソフトが最後
に使用したポインタ値がロードされる。
この場合のメツセージは、’rea+Hng <usernaIIle>、 K
ST”(「<ユーザ名>、 KSTファイルを読込中。」)と表示される。同様
にして、TE)1M I NATE処理や、旺AD−PLOTF比処理の一部が
プロットサイズの変数を読み込む為に使用される。このルーチンはデータ(pg
(8) =O,curvOsデータ数−〇)を読み込まずにアクセスする。
次に、グラフィックスクリーンアップデートポインタがクリアされる。(その理
由は、グラフィックスクリーンが空白である故であるo ) (pointer
%(21)−0)が選択され、さらにズームモードが選択される(pointe
r%(23)−0)。
システムファイルのエントリFORMAT$(52)が“AUTO″コマンドを
含むか否かが示され、MICHPrTアブリカがマクロモードで起動される(i
nterpreter −1,corArlle%−1)。制御は、システムフ
ァイルのエントリl’ORMAT$(53)を含むメインプログラムに返える。
また、オートスタートMAC又はデモMACファイル(詳細はコマンドインクブ
リタを参照)をロードするために使用できる。
4.3.4人カメニ二及びその処理
INPUT−MENU処理(1000ff行目)出力メニュと同様に、スクリー
ンファイルから読み込まれ、ソフトキーがラベル付けされタッチフィールドが準
備される。
このf$(Rが一旦完了すると、制御がメインプログラムに返される。
INPUT UPDATA処理(1025fT行目)仮に、入カメ二二がアクテ
ィブであれば、メインメニュはINPUT−UPDATE処理を毎サイクルに1
度、コールする、各コール中においては、ディスプレイがアップデート(更新)
される。
下記のリストは、入カメ二二・アップデートコールの一覧である。
No、 機 能 行 列 カラム1
p(1) ソース 1200 22
2ip(2) teart(ファイル形式)
1205 04 2%式%
1p(5) tque(if)ディスティネーション配列 1250
Bip(6) ワークファイル内のレジスタ 12
50 gip(7) GET DIRディレクトリ読込み
4200ip(8) 1nhalts()ファイル名11ne
l 1300 12Ip(9) jnhalts
()ファイル名1ine 2 1300 14ip(10)
1nhalts()ファイル名1ine 3 1300
1Bip(II) 1nhalts(>ファイル名1]ne 4
1300 1g1p(12−18) 機能せず
1100ip(19) クリアコマンド行
1390 21ip(2の アップデートスクリーンの
格納 8800スプ一ルHe1p材朝本鉢林人カメ二二林…#材ユーザ:
林xxxxxxxx #*データソース : ドライブA ファイル形式:
キネティクデータNQ、平均 : 2 No 人力
2デイステイネーシヨンレジスタ 10 11デイステイネーシヨンレ
ジスタ
HOR8CCAltHORSCCA21:HOR8CCA3 HOR8CCA
4 MODFCCBI MODFCCB2 aacINPLIT COM
MAND処理(1400ff行口)INPUT COMMAND処理は、入カメ
二二がアクティブ状態の間にユーザ入力が検知された時にコールされる。ユーザ
入力は、lNC0NVERT k−f ンニヨッテ変換され!、 、:ノ1NP
UT Co)IMAND処理に引き渡されるパラメータは以下の如くである。
FELD
TARRAY TCOL TROν5OFT
また、コマンドは次の3つのグループに分類される。
a)シングルタッチフィールド
b)タッチフィールドアレー(配列)
C)ソフトキー
TFELDパラメータに対して1〜10の値がセットされると、次に記すシング
ルフィールドコマンドが実行される。
1 14130 次の入力ソースに切換える(tcin −tein+ 1
)。
1p(1) ソースフィールドをアップデートする。
1p(7) 新ドライブのディレクトリをgetする。
2 1470 次のフィールドタイプに切換える(teart −teart
+ 1 ) 。
1p(2) ファイルタイプフィールドをアップデートする。
1p(7) 新フアイルタイプのディレクトリをgetする。
3 1480 平均値を入力する(anzgem−hl)。
3960行目のINVAR処理の入力をgetする。
1p(3) アベレージフィールドの値をアップデートする。
4 1490 curves値を入力する(anztit−hl)。
1p(4) curvesフィールドの値をアップデートする。
1p(5) ディスティネーションフィールドの値をアップデートする。
1p(8) (両方のステップ行)5 1500 1ブロツクとしてのディ
スティネーションレジスタを入力する。
1p(5) ディスティネーションフィールドをアップデートする。
6 1510 Input Menuを格納すると共に表示する。 ・7
1520 ヘルプ(help)画面。
8 1540 スプールをプロットする為のコマンド。
9 154G 動作せず。
10 155G 動作せず。
TARRAYパラメータが1又は2にセットされると、配列内の1つがTCOL
及びTR0Vパラメータと共にアクセスされる。
1600行目は配列1又は配列2のいずれかを選択する。
・配列1:ディスティネーションレジスタTOOL及びTR0vパラメータは、
任意のフィールドにカーソルを移動のために使用される(1610.1620行
)。
クエスチョンマーク“?”はフィールド内に表示され1〜99までの数字の入力
が入力期待される。
・配列2・ディレクトリの入口
TCOL及びTR0Illパラメータは、フィルタ名の直後にカーソルを移動さ
せアスタリスク(*)を入力表示されるようにと使用される(1679行)。そ
のファイルはTOUCHPパラメータによって識別される。このくパラメータ)
は1nhalt(>文字列から入力ルーチンに引き渡されるファイルnaIle
s()文字列ヘコピーされるために使用される(参照:ソフトキー)。
TSOFTパラメータが1〜8の値のいずれかにセットされると、そのソフトキ
ーコマンドが実行される(1720〜1860行)。
1、EXI丁MAIN(1720行目)セーブされて制御がスタートアッププロ
グラムに渡される。
2゜RENAME FILE(1740行目)コマンド行に(1つの)メツセー
ジが表示される。タッチフィールドが押下されるまで待っているINPUTFI
LENAME処理がコールされる。
もし、ファイル名の1つがタッチされると、ソースファイル名としてそれ以外は
、ファイル名が(t!!接)タイプ人力される必要がある。まず、ソース処理は
新しい(ファイル)名を供給する(1743行)。
1740及び1745行目は、(ファイル)名のりネーム処理を行なう。
3、 EXr:CUTE INPUT (1750行目)この機能は入力メニ
ュスクリーンを格納し、入力オーバにrlKIJに対し制御を渡す。
4、 ERASE FILEE (1780行目)コマンド行にメツセージが
表示されると(PORM^T(12))ファイル名が入力されなければならない
(1900行目のINPLIT F’lLENAME)処理される。
失なわれたデータを復旧するために、そのファイルは、デリート(delete
)される代りにrl(ESCUESYS Jというファイル名にリネームされる
(1787行目)。
そのディレクトリ内の内部ファイル名は、消され(1950行のサブルーチン)
、(そして)変更された内部ディレクトリが読込まれる(4200行のサブ)。
次に、アップデートポインタがセットされ、(その)処理機能が終了する。
5、5HOW FILE (1800行目)MICI(FITデータファイル
は、該当データを読み込むことなしに画面上に表示される。再び、この機能がI
NPUT FIl、RNAME処理を用い(その)ファイル名をgetする。
そのファイルの内容は画面上に表示される。(また)「p」キーが押されればラ
インプリンタ上にもプリント出力できる。
ralキーの押下により表示及びプリント出力が即座アボートする。
6、 C0PY FILE(1820行目)シリアルデータファイルは、この
機能を用いることでコピーできる。
再び、INPUT FELENAMHがソースファイル(名)入力のために使わ
れる。同じ(内容)がディスティネーションファイル(名)に供給される。同じ
ファイル名が存在していなければ新しいエントリが内部ディレクトリに加えられ
る( 11i22行)。
1823及び1820行目は、ファイルをコピーし、アップデートポインタをセ
ットする。
?、 DO3DIRECTORY (1840行目)この機能は、RASIC
ファイルファンクションを使用して動作中のドライブの全ディレクトリを表示す
る。
8、 END MJCHFIT (11180行目)RUNN I N0%変
数は、] PORTがゼロ(0)のあいだにクリアされる。
この機能は無限なメインループ動作を停止する。オペレージジンシステムに制御
が返える前に、カレントステータスがセーブされる。
INPUT−r’lLHをNAME処理(19001T行目)当処理はファイル
名がタッチされた場合に、内部バッファの(inhat())からhlにファイ
ル名をコピーする。
結局、どのキーを押下されなければ、ユーザ自身によって(直接)そのファイル
名がタイフィンされてもよい。
この場合1プロンプト ’Enter f11ename? a : ED*
Bitが表示され、このTESTファイル名に上書きされる。仮に(end l
1ne)が押下されると、その変更された(ファイル)名が入力される。
DELENTI?Y処理(1950fT)当処理は、パラメータi2(エントリ
番号) 、tein (ドライバ) 、tcart (ファイルタイプ)と共
にコールされる。
ファイル名は選択されたディレクトリから消去(delete)され、続く名前
が前の名前に置き換わる。
ADLENTRY処理
当処理はh2内のファイル名が内部ディレクトリに既に存在しているか否かをチ
ェックする。
この場合、当処理は、hlに1がセットされて終了し、又、File exit
?が表示される(1977)。
さもなければ、新しい(ファイル名)がそのディレクトリに追加されファイル数
(を示す)変数が1つ加算される。
4、 3. 5 出力メニュー及び処理0UTPUT MENU処理(20
0Off行)2000ないし2020行はスクリーンファイルからメニューが再
び呼び出されたときに実行される。メニューポインターが既に2であるときは、
次の行は飛ばされる。次に、残りのタッチフィールドは総べてクリアー(OFF
TOUCH)され、英数字スクリーンに切り替わり(ALPHA)、出力曲線の
最大数が10に設定される。次に、スクリーンがベーシックコマンドget#1
4.2によりファイルバッファー内に読み込まれる。スクリーンがクリアーされ
、ファイルバッファーの内容がアルファメモリー内にコピーされる(REC5C
R)。
メニューポインターが2に設定され(IME−2) 、タッチフィールドがシス
テムファイルに格納されている情報を用いて発生される。次に、ソフトキーにラ
ベルが割り付けられる(サブルーチン8700行)。ラベルのテキストはシステ
ムファイルから読み出され、ストリングh1$内でサブルーチンに供給される。
ストアースクリ−・ンペンディングフラグが設定され(i p (39)=1)
、最初の表示フィールドを指すように更新ポインターが設定される。メインル
ープの各サイクル中に、活動メニューのある小さな部分がチェックされて、必要
ならば更新される。総べての部分が更新されると、なにもせずにこのルーチンを
離れる(if pointer& (12)>30 then ret
urn)。
更新されたポインターがインクレメントし、更新が必要かどうかメニューの活動
部がチェックされる。チェックの結果に応じて部分が更新される。出力メニュー
用の更新されたルーチンは、2200ないし23900行に位置している。
コマンドリストに最後に入るのは680oである。このルーチンは修正されたス
クリーンをファイルに戻すものである。
このルーチンは、スクリーン全体が更新されるか、メニューを離れると直ちに呼
び出される。
0UTPUT UPDATE処理(202Sff行)出力メニ二一が活動して
いる場合、メインプログラムはサイクル毎に一度このメニューを呼び出す。呼び
出しが行われる度に表示セルが更新される。出力メニ二−更新リストを以下に列
挙する。
No、 機能 行 欄 列1p(21)
使用者名 2200 27 0ip(22) 変換の種類
2205 22 2ip(23) 出力光
2210 64 2ip(24) 自動スケール no/yes
2215 22 4jp(25) ディフォルト値 2220
84 4ip(26) 補間オン/オフ 2225 22 6
ip(27) 曲線ノANZTIT数 2230 84 6ip
(2g) 出力レジスター1 2295 10ip(29)
出力レジスター2 2295 12ip(30) 出力
レジスター3 2295 14ip(31) 出力レジスター
4 2295 1Bip(32) 出力レジスター5 2
295 1g1p(33−38> 機能なし iio。
1p(39) コマンドラインの消去 2290 21ip(40
) 更新スクリーンの格納 6800Spool )lelp * 0L
ITPUT ** 09. Feb、 88 ** User : Miche
l* *Mode : X−YOutput 0utputto
: Disc)layAutoa+aticScale : YES
DefaultValues : N。
Line 1nterpolate : No No、 of C
urves : 2Register Filenag+e Symb
/Pen Y−Wax、 [E][8コ From T。
27A1coholdehydrogen、61 87.62 5.32
30 1 2012 ADHwithinhibitor72 12.23
34.30 30 1 20OUTPUT COMMAND処理(1400
ff行)この処理は出力メニューの活動中に使用者の入力が検出されたときに呼
び出される。使用者の入力はINVONVERTルーチンにより変換される。0
UTPUT COMMAND処理に供給されるパラメーターは以下の通りであ
る。
FELD
TARRAY TCOL TR0W5OFT
コマンドは3つのグループに分けることができる。
(a)単一タッチフィールド
(b)タッチフィールドアレー
(C)ソフトキー
TFELDパラメーターが1と10との間に設定されると、単一フィールドコマ
ンドの一つが実行される。
1 2450 次の出力変換に切り替え(t m o d = t m o
d + 1 )ip(22)モードファイルの更新
1p(41−50)再び前データの出力2 2460 次の出力装置に切り替
え(tauswtaus+1)
ip(23)フィールドへの出力の更新1p(82)プロットサイズメニューと
同じ3 2470 オートスケールのオンオフ切り替え1p(24)自動スケ
ールフィールドの更新4 2480 ディフォルトプロットサイズの読取りD
EFAULT処理の実行
11)(25)ディフォルトフィールドの更新5 2490 補間のオンオフ
切り替え1p(26)補間フィールドの更新
6 2500 1ないし10の範囲の数のプロンプト1P(27)曲線フィール
ド
1p(28−32)及び出力レジスターフィールドの数の更新
1p(41−50)出力バッファーへのデータの書き込み7 2510 出力
すべきレジスターのブロックのプロンプト1p(27+n) n個の出力レジス
ターの更新1p(4−8)入力メニューで指定レジスターの更新8 2520
選択されたレジスター全部のラインタイプのプロンプト
1p(28−32)全出力レジスターフィールドの更新9 2530 選択さ
れた全レジスターのペンのプロンプト1p(28−32)全出力レジスターフィ
ールドの更新10 2540 選択された全レジスターの最大信号(Y、ma
x)のプロンプト
1p(28−32)全出力レジスターフィールドの更新tp(4i+n)出力バ
ッファーへのデータの書き込み11 2550 選択された全レジスターの酵
素濃度のプロンプトip(2g−32)全出力レジスターフィールドの更新1p
(41+n)出力バッファーへのデータの書き込み12 2560 選択され
た全レジスターの第1データポイントのプロンプト
11)(28−32)全出力レジスターフィールドの更新1p(41+n)出力
バッファーへのデータの書き込み13 2570 選択された全レジスターの
最後のデータポイントのプロンプト
1p(28−32)全出力レジスターフィールドの更新1p(4L+n)出力バ
ッファーへのデータの書き込みTARRAYパラメーターが1又は2に設定され
ているときは、TCOL及びTR0Wパラメーターでアレー内の1エントリーに
アクセス可能である。2600行はアレー1か2を選択する。
アレー1:出力レジスター
TOOL及びTR0Wパラメーターはカーソルを適切なフィールドに移動させる
ために用いられる(2610ないし2625行)。疑問符がフィールドに付され
、1つの数が期待される。数の有効な範囲はTOOL (2640ないし264
7行)に依存する。このアレーはある出力レジスターの変更に用いられる(Li
ne、 Pen、 Y、Max、 E、 ProII、 or To)。
TSOFTパラメーターが1ないし8の範囲内の値に設定されると、あるソフト
キーコマンドが実行される(1720ないし1860行)。
1 英数字とグラフィックとの切り替え(2720行)アセンブリ言語(ALP
HAOFF及びGRAPR)の呼び出しにより、英数字スクリーンが消えて、グ
ラフィックスクリーンが表示される。ソフトウェアは休止して、ユーザーの入力
を待つ。ソフトウェアはアセンブリ言語(GRAPROFF及びALPHA)の
呼び出しにより再びグラフィックスクリーンを離れて英数字スクリーンを表示す
る。
2 出力の実行(2740行)
ソフトキーが押圧されると出力メニ二一の設定に従って出力が行われる。処理0
UTPUT TODEVが呼び出されの呼び出しにより)背景タスクとしてデ
ータがまだロードされていないときは、出力バッフ7−にデータをロードする。
ブOットオーバーレーを制御する(running%−Oand fort$a
)Ipgdr$十”p!”)。別の出力装置の制御に外部プログラムが必要な場
合には、制御はシステムファイルにformat$(60)として格納されてい
る名前を有するプログラムに委ねられる。
3 表示の変更(2760行)
出力メニューの外観はANZARTフラグの変更(1又は0)により変更される
。
4 変換の変更(2780行)
[新しい変形を入力してください:A−1/XRRJというソフトキーブロンブ
トを押圧すると、カーソルはX変形等式の最初の文字の下に位置付けられて修正
可能になる(forIaat$(25) )。同一のプロンプトがY変形等式に
も繰り返される(format$(2B) )。
5 カーソルの上下動(2800行)
プロンプトrro l l (−5/+5)IJの後でro11%ポインターが
修正され、カーソルが1の下に配置される。
く行の終り〉が押圧されると、このフィールドの数はro11%ポインターに加
算される。rol1%ポインターは5個の出力レジスターの第2のセットのヘッ
ダー情報を示すために用いられる(5個のヘッダーだけが一度に表示される)。
6 プロットサイズ+出力(2820行)このソフトキーは、選択された装置に
出力が送られる前にプロットサイズメニューが示されることを除いて、ソフトキ
ー2と同じ機能を果たす。これはPRINT変数を2の代わりに1に設定するこ
とにより達成される。
7 プロットファイルの読み出しく2840行)ファイル名の入力及び選択され
たプロットファイルの読取りのためにREAD PLOTFILE処理が呼び
出される。
通常、この機能は入力メニューを用いて実行される。格納されているプロットフ
ァイルのリストを表示して、表示されているファイルの一つに触れることにより
、そのプロットファイルの読取りが行われる。
8 印刷レジスター(2860行)
ソフトキーが押されると、プロンプト「レジスターを入力してください(から、
まで)」が表示され、ラインプリンターで印刷される作業ファイルレジスターハ
ダーの範囲がユーザーにより入力される。プロンプトの後に0.100が入力さ
れた場合は、活動作業ファイルの全ヘッダー情報が印刷される。印刷されたヘッ
ダー情報は、データ処理メニューに表示されるものと同じである。
変換処理(290Off行)
この処理はデータバッファー内の選択された出力レジスターを準備するためにT
RANSFORM2処理を必要とする。
現在の出力メニューはスクリーンファイルに保存され、選択された出力レジスタ
ー(ANZTIT)の数を越える他のデータは消去される。
変換2処理(290Sff行)
この処理は選択された作業ファイルレジスターを読み取り、その変換TFORM
)を実行する。
1− X−Y出力 変換なし2940行2− 二重逆数 両軸
の変換2980行xwert−1/Substratkonzywert=17
Geschv
3− EadieHof’5tee 2960行xvert−Gesch
v
yvert=Geschw/5ubstratkonz4− Hlll Pl
ot 両軸対数2970行xvert−1og(Substratek
onz)yvert=log(MaxGeschw−Geschv)5= H
anes Wolfe 2950行xwert=Substratkon
zyvert=Geaschw/5ubstratkonz6− 変数
ユーザーにより定義された変換ユーザーにより定義された変換が選択され
ると(TMOD−6)、仕事は等式インタープリタ−により実行される(INT
P TRANSFORM処理、インタープリタ−の章参照)。
4、 3.6 データ処理メニュー及び処理読み取る(ANZEIGEI−A
NZEIGE6)、次に、コマンドラインの消去及び等式の更新のために更新ポ
インターを設定する(3010行)。次に、タッチフィールドが発生され、ソフ
トキーにラベルが付けられる(3015及び3020行)。
DAHA UPDATE処理(302Sff行)データ処理メニューが活動し
ている場合、メインプログラムはDAHA UPDATE処理をサイクル毎に
1回呼び出す。呼び出す毎にデータ処理メニューが更新される。データ処理更新
ポインター(poi nter%(13))が1と17との間の値を有している
場合には、ディレクトリ−ラインが1行更新される。ページ数及びラインオフセ
ットからレジスター数が計算される(3290行)、ラインを更新する必要があ
るときは、DIRECTORY LINE UPDATE処理(3300f
f行)により実行される。
この処理はラインがスクリーンの境界内及び作業ファイルの境界内にあるかどう
かをチェックする(3300−3310行)。次にカーソルをそのラインに移動
させ、作業ファイルに対してHEADERREAD呼び出しを実行する。ヘッダ
ー情報の一部は1行の生成に用いられる。その部分の長さはシステムファイルか
ら取り出される(format$(65) )。
その行の更新ポインターが再設定され(in(zrX)=0 ) 、格納スクリ
ーンフラグ(ip(60))が設定される。3040行及び3042行はデータ
処理メニューの残りの更新に用いられる。
pointer%(13)が21であるとき、メニューの等式は更新される(3
950行のサブルーチン) o pointer%(13)が29であるとき、
コマンドラインが消去される(3395行のサブルーチン)。pointer%
(13)が30であるとき、必要があれば(格納スクリーンフラグ(ip(80
)が設定されていれば)修正されたスクリーンがスクリーンファイルに格納され
る。
活動中にユーザーの入力が検出されたときに呼び出される。
TFELDSTARRAYSTCOLSTROW、TSCFTの5個のパラメー
ターが入力されなければならない。3400行ないし3440行は単一フィール
ドのルーチン又はソフトキーのルーチンを作動させる。データ処理メニューでタ
ッチフィールドアレーを処理する必要はない。3個の単一フィールドが等式C−
A*X+B*Y+Zのパラメーターの入力に用いられる。
ソフトキーの押圧により演算が実行される(以下参照)。
DAHA COMMAND処理は二組のソフトキーを支持する。活動する組は
共通の変数5OFTKで指定される。この変数に従って、3700行のブロック
か3500行のブロックのいずれかが呼び出される。
一組のソフトキー
ソフトキーの最初の組は作業ファイル編集機能の基本セットを提供する。ソフト
キー1ないし8は、TSOFTパラメーターで指定される。3700行はソフト
キーの適切なサブルーチンを選択する。
1 曲線のあてはめ(3720行)。ソフトキーのラベルが変更されてメツセー
ジが表示される。さもなければ曲線のあてはめメニューはデータ処理メニューと
同じである。データ処理メニューは格納され、RKIプログラムが制御される(
運動曲線のあてはめ)。
2 前ページ(3740行)。現在のデータ処理メニュースクリーンがセーブさ
れ、前ページが活動ページになる。最初のページに到達すると、このコマンドは
無視される。
3 次ページ(3760行)。現在のデータ処理スクリーンがセーブされ、次ペ
ージが活動ページになる。最終ページに到達すると、このコマンドは無視される
。
4 レジスターのコピー(3780行) この機能は作業ファイルの位置1から
位置2に一組のデータがコピーされる。
ソフトキー4が押圧されると、ソフトウェアは[ソース及び行く先レジスターを
入力してください 、*」というプロンプトを表示し、Oから99の範囲の整数
の入力を待つ。範囲外数が入力されると、このプロンプトが繰り返される。
5 新名称(3790行) この機能は「新しい名前を入力してください(最大
18文字)」というプロンプトを表示し、レジスター名のストリング内に現在の
名称を表示する。
ストリングは編集可能で、(行の終り)を押すことによりセーブされる。
6 レジスターの消去(3790行) このソフトキーはレジスターの消去に用
いられる。このソフトキーが押されると、レジスターの番号を求めるプロンプト
が表示される。
7 インタープリタ−(3800行) このソフトキーは19ページに記載され
ているコマンド演算インタープリタ−の実行に用いられる。このインタープリタ
−を用いてマクロスの編集及び実行が可能である。
8 更に別のソフトキー(3810行) このソフトキーは第2組目のソフトキ
ーを活動させる。
第2組目のソフトキー
第2組目のソフトキーは一組の拡張された作業ファイル編集機能を提供する。
1 加算乗算。(3720行) このソフトキーは、データ処理メニューの上部
の等式の加算乗算の実行に用いられる。
2 交換作業ファイル(3730行) この機能は活動作業ファイルのバックア
ップ、及び非活動作業ファイルの活動空間への読み込みに用いられる。
最初のプロンプトは次の通りであり、ユーザーは指示に従次のプロンプトは次の
通りであり、ユーザーは指示に従って現存する非活動作業ファイルのファイル名
を入力する。
読み込む作業ファイルを入力してください。
両入力が完了すると、ソフトウェアは活動作業ファイルを最初のファイル名でフ
ァイルに書き込み、二番目のファイル名のファイルからのデータを活動作業ファ
イルに書き込む。
3 平滑化(3740行) この機能により、超過データを3つの異なる平滑化
された強度(1−3)により処理する。
ソフトキー3を押すと、次のプロンプトが表示される。
「レジスター及び平滑化強度を入力してください。例(86,3)J
4 編集データ(3750行) このソフトキーは以下のサブセクションで述べ
る編集データメニューを活動化させる。
5 ポインターの再設定(3760行) これは拡張機能である。全スクリーン
更新ポインターを再設定して総べてを更新させる。この機能はメニューがメモリ
ーに格納されている値と異なる値を示しているときに有益である。
6 演算調整(3770行) この機能によりあるレジスターのX値の空白が別
のレジスターの空白に調節されて、これ以後両レジスター間で数学的演算を行う
ことができるようになる。
7 状態レジスター(3780行) 状態レジスター機能はデータ曲線と共に格
納されている全整数及び実変数の表示に用いられる。この機能はディレクトリ−
内容、日付、酵素、基質名を含むストリングを表示する。
8 第1ソフトキー(3790行) このキーはソフトキーの第一の組と第二の
組との間を切り替える。
4.3.7 He1p MenusHELP手順(lines 8000
ff’)HELP手順は、電子的に供給されたユーザーマニュアルの1ページに
示すことができる。補助メニュータッチフィールドと共にユーザーによって呼び
出されたとき、それは、補助ファイルの内容のテーブルを含む最初のページに示
す。ソフトキーのセットによりユーザーは、文書を通してページをつけることが
でき、呼び出しメニューに出て行くことができる。ソフトキーは、使用するKE
YLABEL手順に分類されている(lines 8700ff) 、補助スク
リーンの1ページは、441inesを含む。違うページは、441inesの
0倍オフセットと共に読み込まれる(11nes 8515−6570)。スク
リーンの発生中に、ディスプレイは、暗くなっている( ALPHAOFF/A
LPHA)。
Lines 6700−8782は、手順HELP COMMANDSを含み、
それは、補助ディスプレイを制御するために使用される:5oftkey 婁1
: fora+er page: page%”page%−1Soft
key it 3 : next pageSoftkey 喜 4 :
goto content page−1Softkey i:
5 : goto page prompts −Please ent
erpageCl−40) −
8oftkey 答7 : upper/lower toggle up
per%5oftkey # 8 : exit help show
original a+enuQUICK HELP手順(lines 690
0)このルーチンは、スクリーン上に現れる補助スクリーンを決定するI)IE
LP ”パラメーターと呼ばれている。アクティブメニューポインターは、セー
ブされ(isIIIe)、ソフトキーは、分類される: 5oftkey I1
ex5t Sof’tkey 8Bをさらに補助し、ルーチンは、アクティブ
メニューポインターは5にセットしている後に残される。
補助スクリーンが表示されている間にソフトキーが押圧されるごとに、手順QU
ICK HELP CMDは活動される。このメニューの中には、タッチフィー
ルドアクティブは無い。
4.3.8 Edit Date Menu (lfnes 17000ff)
EDIT MENU 手順は、パラメータとしての原始レジスターと呼ばれて
いる。最初に、データおよび原始レジスターの見出しを読み込み、そしてソフト
キーを分類する(ltnes 17000および17010)。スクリーンはク
リアーされ、見出しラインが印刷される。それから、次の1ine8で整数見出
し変数が印刷される( 1var(1、zr%))。それらは、8実数見出し変
数によってフォローされる(nvar(ivar(i、zr%))。次に、デー
タポイントのためのコラム見出しが印刷される(ltne 17035 rig
ht half)oそれから、2コラムの64データポイントまでが印刷される
。プリントアウトのためのフォーマットと同様、コラム見出しは、ユーザー限定
できる(system file editor)。
スクリーンがディスプレイ制御された後、メインプログラムへ戻す。
データはEDIT CHD手順に変換される。もし、Edit Menuが活動
しているなら、この手順は各ユーザーインプットの後に呼び出される。補助機能
が実行される決定をするためのTSOFTパラメーターを必要とするI
1、 EXIT EDIT(line 17520)この機能はワークファイ
ルの見出しとデータを蓄積し、指令を新しいものにし、Edit Date M
enuを残す。
2、 INPUT X−VALUE(line 17540)この機能は、以
下を示唆する: “Please enter point? ”および1つの
データポイントの数を予期する。X値は、編集されることのできるメニューの2
ライン上に示される(line17700)。修正されたデータポイントは、機
能が残される前にメニューに表示される。
3、 INPUT Y−VALUE(line 17560)この機能は、以
下を示唆する: ”Please enter po1nt? ”および1つ
のデータポイントの数を予期する。このデータポイントのY値は、編集されるこ
とのできるメニューの第2ライン上に示される(line 17700)。編集
されたメニューは機能が残される前に表示される。
4、 DELETE POINT(line 17580)この機能は、以下を
示唆する: “Delete whlch po1nt? ”および1つのデー
タポイントの数を予期する。すべてのポイントが続き、選択されたポイント(I
2)は、1つのポジションバックに写される(11ne 17585)。再び、
修正されたメニューは、機能が残される前に表示される。
5、 lN5ERT POINT (line 17600)この機能は、以下
を示唆する: ”In5ert which po1nt? ”および1つの
データポイントの数を予期する。この数は、81変数の手順によって戻される。
次に、データポイントは、入力されなければならず(“Please ente
r X、Y? ” ) 、数12と共に、すべてのポイントスタートは、1つの
ポジション以後に写される(11ne 17810)。新しいポイントは、デー
タ配列中の変数器およびH2から写される。
6、 EDIT TEXT(line 17820)この機能は、活動レジスタ
ーの見出しファイルに蓄積されたすべてのテキストを表示する。テキストは編集
され、蓄積されることができる。
7、 INTEGERVARIABLE (line 17640)この機能
は、以下を示唆する: ’Please enter integer va
rfable?“および1〜8までの数を予期する。整数の変数は、編集される
ことができる。
8、 NORMAL VARIABLE (11ne 17860)この機能は
、以下を示唆する: “Please enter normal varia
ble?“および1〜8の範囲の数を予期する。通常の変数は、編集されること
ができる。
4.3.9 Mlscellaneous ProceduresGET D
IRECTORY手順(line 4200ff’)この手順は、内部高速アク
セス登録簿を読み込む。このルーチンは、幾つかの駆動機構を支持し、そして、
ファイル形式にしたがって分類する。1つの駆動機構のファイル形式による登録
の最大数は128である。インプットメニ巨−は同時に30フアイル名を示す。
メニューの下半分は、24フアイルの増加と共に巻き取られることができる(p
ofnter%(8) !ine 4320)。5つの異なったファイル形式6
40フアイルと共に、駆動装置によって接近されることができる。
BACK 0UTPUT手順(11ne 430Off)もし、0UTPUT
ID PI?0CESSポインターがセットされ(POinter%(5)−1
) 、ファイルがEOPマークに届かなかった場合、次のコマンドラインは、ス
プールファイルから読み込まれ、プ0 ツタ−へ送られる(4315 prln
t 1t12.io$) 、出力は通常のMS−DO8print1機能と共に
行われる。この機能は、2.3の不利な点を有している:
操作システムMS−DO82,11とRAS I C編集者が、256バイトの
範囲を有するげO緩衝域を維持する。装置のためのすべてのコマンドは、この領
域で緩衝され、緩衝域がオーバーフローし、またはファイルが閉じられたときに
装置に送られる。
制御は、プロッターがすべてのコマンドを通じて機能されるまで使用へ戻されな
い。これは、多重タスク処理設備を妨害する。反応時間は、ショートコマンドへ
付加する空白によって改良された(line 4312)。
5POOLPR手順(line 435Off)。
コマンドは、スプーラ−ユーザーインターフェースを活性化することにより、裏
面スプーラ−に送られる(touchfield 。
r application 5oftkey)。呼び出されたとき、この小さ
いメニューは、出力を待機する多数のプロットを示す。それからコマンドに応じ
る:
d:活動中のスプールファイルの削除
r:繰返し出力
C:クリアー出力列
p:出カ一旦停止
S:開始出力
特定のスプールファイルからのスプール出力は、幾つかの理由のために停止され
る: EOFマークが読み込まれ、削除するアクティブコマンドスプールファイ
ルまたは一旦停止出力が受は取られる。これは、CLO3E 5POOLFIL
E機能(11ne 4400)と呼ばれる。この機能は、プロッターベンをポジ
ション0゜0へ戻し、移動する。スプールファイルおよびプロッター緩衝域の双
方は、閉じられる。もし、繰返さないことが必要とされるなら、通用しているス
プールファイルは、削除され、列は1度だけ移動される。次のスプールファイル
が出力されなければならないなら、ブロック−ファイルと新しいスプールファイ
ルは再び開けられる(line 4415)。それから最初のコマンドラインが
読み込まれる。もし、このラインが5TOP’を含んでいるのなら、出力は、一
旦停止され、ユーザーは素プールを再び手でスタートしなければならない。
CHECK fNPIJT手順(line 5000ff’)直接モードにおい
て、ユーザーが入力を与えた場合、メインルーチンは、キーボードとタッチフィ
ールドとをチェックする。これは、1ine 5000で始まるCHECK I
NPUT手順で成される。もしタッチセンスモードがまだスイッチオンされてい
ないのなら、それは、スイッチオンされる(line 5(100)。それから
、各1/TSHAREサイクル間に、次のコマンドがプロッターへ送られる(B
ACK 0UTPUT手順参照)。次のキーボード緩衝域が読み込まれる(al
$=inkey$)。もしそれが空であった場合、コマンドバイトは、クリアー
にされ、コマンドコードはOにセットされる(a$−″“、 a−0,trO)
。さもなければ、第1バイトは、ソフトキーポジションコード(a−asc(a
、$)−17)、あるいは、タッチフィールド確認者(b−asc(a$)−8
9)に戻されs ’coau++and received’ がセットされ
る(IPLAG−1)。
ライン5020上で、コマンド確認者はクリアーされる。それから、コマンドは
、ソフトキー(line 5025>またはアプリケーションキー(line
5030−5500)かどうかをチェックする。
それに加えて、ソフトキーは、すべてのメニューにおいて異なった機能を有して
おり、MICHPITソフトウェアは、APPLICATION 5OPTKE
YS を支持する。これらのソフトキーは、アプリケーションが活動している
間に、固定された機能を保持する。これらのソフトキーは、メニュー間を選択し
、説明者がスイッチオンし、補助スクリーンを活性化するために使用される。ア
プリケーションソフトキーは、ダイレクトモードにおいてのみ活動する( 11
ock=O)。
Ifne5525〜5590 において、もし、タッチフィールドから始まる
のなら入力はチェックされる。このルーチンは2つのモードに使用される:第1
のモード中、TOUCH3CREENシステムソフトウェアによって供給される
コマンドバイトは、フィールドと同じものになる。ここで、TFFLDまたはT
ARRAYがセットされる。第2のモード中、CLIR3OR5ENSE機能が
活動されたとき、MOtlSE ORALPHA CUR8ORシステムソフト
ウェアは、カーソルの位置を与える(line5500)。カーソル位置は、ス
クリーンマスクと比較される。もし、単一のフィールドまたは配列のフィールド
に分けられた場き、適当な指示者がセットする。
ERRORRECOVER手順(line 6000ff)ファイルが呼び出さ
れている間が最もエラーが起こりやすい:それは、ファイル名の間違いによって
引き起こされたり、ディスクが壊れたり、一杯になったりすることによって引き
起こされる。ノEオプションと共に駆動するRASIC編集者が、エラーが発生
するラインナンバーを含むERL変数を与える。これは、ファイルI10エラー
を削除するために使用され、ユーザーに解決法を示唆する。ユーザーに対して示
唆されることのできる解決法がないエラーが生じるのは非常に希である。
これらの場合、例えば、メツセージ: ’Error 21 occured
on 1ine 2000.Hlt any key toproceed、
’が示される。プログラム実行は、エラーに至るコマンドを始める前に、活動し
ていたメニューを再び始める。
νARN手順Cl1ne 6300f’f)もし、ある程度の変数が限界を越え
た場合、プログラム実行を続けることができるが、ユーザーに知らせることが賢
明である。これは、コマンドが実行され、値が0から異なって始まるvarnz
%変数と共に戻される毎に、MAINプログラムから呼び出されたWARN手順
によって実行される。
EMERGENCY CLEAN (line 6400ff)編集されたBA
SIC中に記載されたアプリケーションが、ストリングまたは緩衝域以外を駆動
した場合、接触メモリーのエリアを自由にするためにガーベッジコレクション(
garbagecot 1ection)を実行することができる。この機能は
、もし逐次ファイルが読み込まれた場合、働かない。役立つメモリーが十分でな
い場合、アプリケーションは必然的にクラッシュする。必要であれば、このよう
なりラッシュを避けるためにEMERGENNCY CLEANルーチンは、フ
リーストリングスペースをチェックし、メモリーからのシステムファイルエント
リーを移動する。これは、SYMBOL 0VERLAY pointer%(
25)およびFORMAT 0VERLAY pointer%(25)をリセ
ットすることによってアプリケーションへ示される。システムファイルは、それ
らが必要とされる次に読み込まれる。
5TORE MENUの手順(lines 6800ff)モディファイされ
たメニュを止める前に、モディファイされた文字スクリーンをスクリーン・ファ
イルに書き込まねばならない。アクティブ・メニュφポインター(IME)が、
それが更新可能のメニュのための有効レンジの中にあるか否かに就いてチェック
される。次に、このアクティブ・メニュによって、書込みオフセット(I 5T
ORE)が計算される。
IPP変数がフラグ(line ff8501p (ipI) ) ) ヘの
ポインターで、これがスクリーン・ファイルとスクリーンとが異なるか否かを決
定する。スクリーンを書込みする必要が無いならば、ルーチンが残される。さも
ない場合は、文字メモリーが、コマンド5TO8CRでI10バッファにコピー
され、このバッファがファイルput#14.l5TOREに書き込まれる。
5M0OTH手順(lines 7000ff)5M0OTH手順が2つのパラ
メーターで呼ばれる;即ち、作業ファイルの中のデータへのポインター(zr%
)と、3つのスムース度の中から選択する1から3のレンジの中の整数(SMO
OTH)とである。先ず、データがDATA READ手順(lines 9
20Off)でアレイ(re O)の中に読み込まれる。次に、このアレイにエ
ントリーされたものがシフトされ、3つの点が外挿法によって作り出される(l
ine 7020)。同様に、別の3つの点がアレイの別の端で外挿法によって
作り出される(11nes 7030.7040 ) 。次に、5M0OTH変
数によって、3つのルーチンが選択される。
ルーチン1が3つのデータ・ポイントで移動平均を行う(lines 7050
)。
ルーチン2が放物線を決定するために5つのデータ・ポイントを使用する。
ルーチン3が高次のファンクションを決定するために7つのデータ・ポイントを
使用する。
READ PLOTFILE手順(lines 500ff )プロットファ
イルにアクセスする可能性は3つある;即ち、第1の可能性は、ファイル名(l
ine 7500 )と、作業用ファイルの中の第1のデスティネーション・レ
ジスターのためにプロンプトする。これがファイル名をFILENA!vlE$
(1)ストリング・アレイにコピイし、第1のデスティネーション・レジスター
をTQUE (1)アレイにコビイする。
この手順の名前はINREAD PFである。次に、これが、共通パラメータ
ーF I LENAME$ (1)とTQUE (1)とを持つREAD P
LOTFILE手順(lines 7520)をコールする。このルーチンは、
ファイルが存在するか否かをテストし、これを開く。実際の読取りは、1ine
7522でスターばれて、連続メモリーの1000バイトの区域を確保する。
次に、整数(DFORM)がファイルから読み取られる。この整数がプログラム
とファイルの作られたバージランとを同定する。この新しいバージョンが両立す
るものであるならば、そのプロットサイズ変数が読まれる(lines 753
0−7552又は1ines 7740−7770 )。2つの異なった読み取
りルーチンがこの手順に含まれており、前のプログラム・バージョンによって作
られた旧いファイルを読むことが出来る。11ne 7740でスタートするバ
ージョンが最も後のバージョンであり、この理由で、このバージョンのみがここ
に記載される。(プロットサイズ変数及びプロットファイルのデータ構造に関す
る情報のためのWRITE PLOTFILE手順参照)読み取りが11ne
7780で行われる。アウトプット・トランスホーメーション及びマクロ・フ
ラッグが読まれる。同一ラインで、ディスプレーがアウトプット・デバイスとし
て選択され(TAUS−1) 、データ・カーブの数がアレイpg(8)からポ
インターANZMTにコピーされる。自動スケーリングがスイッチオフされ、デ
ホウルト・フラグがセットされる。ユーザー決定のアウトプットφトランスホー
メーションが選択されると(TMOD−6)、トランスホーメーション・インタ
プリタのインプット・ストリングが読まれる(Ijne 7790 )。マクロ
・モードがオンされると、マクロ・メモリーが変数及びストリングと共に読まれ
る。次に、0から10のデータファイルがプロットファイルから読まれ、作業用
ファイルに書込みされる(lines 7800−7850 )ヘッダー情報が
ホウガ1ines 7810上で読まれ、コマンドput$8.zr%、で作業
用ファイルの1ine 7815上に書込みされる。次に、補助のアウトプット
情報が読まれる(pen、symbol/1inetype及び1nterpo
late onloff)。次に、データがプロット・ファイルから読まれ、手
順HEADERWRITEで作業用ファイルに書き込まれる。ファイルが既に閉
ざされ、更新ポインターがリセットされたときは、ルーチンが残される。
手順UPPERCASEが$のストリングの下側ケースの文字を上側ケースの文
字に変換する。
る、即ち、’ Please enter f’ile name(cax、8
character)7’及びインプット8キャラクタ−で、GETSTRI
NG手順が用いられる(11nes 40°00Qf’f )。ストリングが上
側ケースにコンバートされ、これが2キヤラクタより長く、9キヤラクタより短
いか否かがチェックされる。RESCUE%EX I T、又はPLOTのファ
イル名はいずれも受は入れられない。新しいファイル名が同じファイル・タイプ
の現在のファイル名と比較される。そのファイルが既にある場合は、機能RES
CUEが呼び出される(line 7950 ) 、この機能が旧いファイルを
RESCUEで1つのファイル及びプロットファイル・イクステンションに再命
名する。この手順によって、次のファイルが書き重ねられるまで、このファイル
が失われることを防ぐ。新しいファイルが書き込まれたならば、その名前がディ
レクトリ−に加えられ、この変形されたディレクトリ−が再び読まれる(lin
e 8025 )。次に、このファび出される。先ず、全てのプロット・ストリ
ング(BESCHR$0)が<End 1ine>キャラクタ(lines
8035−8050 )を含んでいるか否かがチェックされる。キャリッジ・リ
ターン・キャラクタが、BASICソフトウエヤのクラッレを避けるために、ス
ペースによって置き換えられる。
次に、データ・フォーマット・コード(DFORM)が書き込まれる。これに、
5アクシス・デヒニションpxu# (1−5) 、py 1 # (1−5)
、pxo# (1−5) 、及びpy re1が続く。アレイへの最初のエン
トリーが軸のスタートを決定し、第2のエントリーが軸のストップを決定し、第
3のエントリーはラベルの各ティックの間のインクレメントであり、第4のエン
トリーは軸のスタートと第1のラベルとの間の距離である。第5のエントリーは
アクシス・コントロールの変数である。これが0にセットされると、軸はプロッ
トされない。若しもこれが1にセットされると、ティックだけがプロットされる
。これが2にセットされると、ディジットだけがプロットされる。4にセットさ
れると、軸のラベルだけがプロットされる。軸制御の変数が7にセットされると
、軸の全ての部分がプロットされる。
次のブロックが30のエントリーを持った5つのアレイから成っている。pgO
アレイが、プロットサイズ(Xサイズ、Yサイズ、左リム、下リム)、プロット
ペンの速度、ティックサイズ・ラインのスペース、及びアンノーティト・ラベル
の方向、とを含む。pgxO及びpgyc>アレイが、キャラクタのサイズと、
ディジット、ラベル、及びアンノーティト・ラインの位置と、を含む。tl 0
アレイがバイトのストリングの長さを含む。pgaOアレイがコラムの幅を含む
。
第3のブロックがドロー手順のデータを含む。このアレイの長さがINDAX変
数によって決定され、この変数がこのアレイのスタート直前にプリントされる。
INDAXがゼロの場合は、アレーは書かれない。第4のブロックが全てのプロ
ット・ラベルを含む(BESCHR$ (1))−BESCHR$ (20))
。次に、アウトプット・トランスフオーメイションのタイプが書込みされる。
マクロΦモードに於いては(comfile%−1)、カレント・マクロがプロ
ットファイルにもセーブされる(line8140 )。同様に、ストリング(
p$0)及びコンスタン)(C())が書込みされる。ライン8150上で作業
用ファイルがアクセスされ、ライン8155上でヘッダー情報がAASCIIに
コンバートされ、シーケンス・ファイルに加えられる。次に、シンボル、ペン、
及び曲線の内挿ステータスがセーブされる。ライン8165上で、データがXY
リストの形に書込みされる。
8150から8190までのループが、プロットファイルが閉ざされ、手順が終
了する前に、10回までエキセキューヘッダー情報がソース・レジスタAからデ
スティネーション・レジスタCにコビイされる(lines 8200.820
5 ) 、両ソース・レジスタのデータポイントの数が違っている場合は、0P
ERATION ADJUST手順が呼び出される(11ne 8206 )
。ヘッダー・ストリングがデスティネーション・レジスタにコビイされ、共通の
データやエリヤに読込まれる。
次に、ソース・レジスタA及びBのデータがアレイdy(1,)/dy (2,
)に読込まれる。オペレーションがライン8240−8260のループの中で行
われる。結果がDATA WRITE手順で書込まれる。Y−max、変数が
モディファイされ(nvar (3,)) 、HEADERWRITE手順で書
込まれる。
KEYLABEL手順(lines 8700f’f)ストリングh1$の内容
が、エスケープ・シーケンス:ESC&foa 1K16dlL、によってソフ
トキー・ラベル・フィールドに送られ、ラベルをストリングに加えられ、各ソフ
トキーのターミナルに印刷される。ラベルがESCAPEシーケンスESC&j
Bでディスプレー上に示される。
SET TOUCH手順(11nes 8500ff)タッチフィールドの情
報がシステムファイルから取り出され、IC0NO整数アレイに書込まれる。こ
の整数がCOL*100+RoWから成っている。シングル・フィールドが上皇
と下布の隅に形成される。25までのシングル・フィールドを形成することが出
来る。シングル・フィールドの応答キャラクタの範囲はAから2までである。タ
ッチフィールドがシステム・ラフトウエヤのFNTOUCH機能でセットアツプ
される。
フィールド−71/イが整数(ANZZ*100+ANZS)によって形成され
る。各フィールドの形がシングル・フィールドと同様に与えられる。フィールド
の第1列と第1の行が読まれると、アレイが形成される。
ットアップが、各トランスフォーメイションのためにシステムファイルから読み
取られる。この手順がラベル(line 18060)、X及びY軸のユーザー
・ユニット(11nes [070,1801110)をシステムファイルから
読み取る。DEFAULTシングル・フィールドに触れることによって、アウト
プット情報が変化した後、これがアウトプット・メニュから呼び出される。プロ
ット・デホウルトに読込む変わりに、データのないユーザー決定のプロットファ
イルを読むことが出来る。
4、 3. 10 作業ファイルの入出力作業ファイルのアクセスは4つの処
理により行われる。
DATA WRITE処理(910Off行)if zr%>100 of
zr%<l then zr%1 作業ファイルのサイズを100レジスタ
ーに制限
h4$=space$(253) I / Oバッファーを
準備
for vl−1to 83 データを2進数に変換
u+id$(h4$、vl*4−3.4)−mks$(re(vl))フォーマ
ット及びh4$にアセンブル
next wl (最初はY値)lset el
$=h4$ I / Oバッファーにコピー
for vl−101to 163 同様にX値を変換a+i
d$(h4$、 (wl−100)$4−3 、4>=mks$(re(vl)
)nextνl
l5et e2$=h4$ I / Oバッファーに書
き込み
put$9.zr% このコマンドはノくラフ7−
をディスクに
コピー
return 処理の終了データファイル:
くユーザー名>、KIW
DATA READ処理(900Off行)ff 21%>100 of 2
1%<1then 21%−1ファイルの冒頭部からのレジスターのみ
の読み込み
get419 、21% ファイルのランダムアクセ
ス
f’or vl−1to 320 データアレーのクリr
e(wl)=07
next vl
for wM to 63 バッファー内の2進数情報を
浮動小数点
re(vl)=cvs(mid$(el$、wl*4−3.4) 変数に変換
next wl (最初のY−データ)f’or
wl−101to 183 バッファー内の2進数情報の変
換
re(wl)=cvs(+id$(e2$、 (vl−100)*4−3.4)
next wl (第2のY−データ)retu
rn 処理の終了HEAD READ処理(9
800ff行)if 21%>100 of 21%<1 then 21%−
1ファイルの冒頭部からのレジスターのみ
の読み込み
get88・21% ファイルのランダムアクセス
for wl−1to 10 バッファー内の2進数情報
を
1var(vl 、21%)−cvi(IIlid$(vat$、wlH−1,
2))nvar(vl 、21%)−evs(a+id$(vat$(vl*4
+17.4))next vl 10個の整数と正
規の変数とに変換
return
HEAD WRITE処理(9900ff行)if 21%>100 of’
21%<1 then 21%−1作業ファイルのサイズを100レジスタ
ーに制限
get$8・21% ファイルのランダムアクセス
hi$=mid!J(vat$(61,70)”’ ”コメントの
保持h4$=space$(130) 2進数データのアセ
ンブル用にバッファ
ーを準備
for vl=l to 10
m1d(h4$、vl*2−1.2)”a+ik$(ivar(vl、21%)
)acid (h4$、 v l*4+17 、4)=m ik$(nvar
(w l 、 21%))nextν1
lIlid$(h4$、 81 、70)−mld$(hl$、 1 、70)
新しいバッファーにコメントを付加し、
1set vat$=h4$ 全情報をディスクにput
H,21% コピーreturn
ヘッドファイル:くユーザー名>、KVA
SET WFUPDATE処理(9950ff行)ある作業ファイルがルーチ
ンにより変更されると、この作業ファイルのポインターが設定される。ポインタ
ーは、必要なときにフィールドを更新するためにデータ処理(Data Han
dling )及び出力メニュー (Output Menu )に用いられる
。
4.4 人カオーバーレー
人力オーバーレーは、異なるデータソースから読み取って異なるファイルタイプ
を承認するために必要な機能を実行する。これらの機能は入力メニx −(In
put Menu)から呼び出される。一つ例外がある。それは、5WAP
WORKFILE処理はデータ処理メニュー (Data Handling
Menu)から呼び出される。この処理は活動作業ファイルをファイルにコピー
し、格納された作業ファイルを活動スペースに読み込む。
入力オーバーレーが制御されると、包含されているファイル−COMVAR−内
に定義されている共通変数の他に、一連の局地的変数が定義される(222−2
27行)。幾つかの局地的変数が初期化され作業ファイルバッファーが宣言され
る(230−370行)。更に、I10バッファー#11がラインプリンター用
に開く。変数FORTSは、5WAPWORKF ILE処理(FORTS−3
)又は他の入力処理のいずれをすべきかを決定する(FORTS#3)。150
0ff行は異なるソースから選択する。ソース変数TEINが4に設定されると
、キーボード入カルーチンが作動する。
1600行は異なるファイルタイプの中から選択する。
1−X−Yデータファイル
シー−
3−スペクトルデータ
4−運動データ
5−このオーバーレー内にはない(プロットファイル)4.4.1 キーボー
ド入力
KEYBOARD INPUT処理(1900ff)キーボード入力処理はヘ
ッダー情報及びデータを受は付けるので、作業ファイルレジスターは手動で入力
できる。
レジスター名 1−18シリーズ及び数、例えば、A
l 19−20日付 21−30
酵素名 31−50酵素濃度
mvar(1,)基質芯 51−59
+に基質濃度 nvar(2,)測定範囲
1var(1,)ivar(2,)
正常化範囲 1var(7,)入力されたテキストか
らヘッダーストリングが組み立てられる。レジスター名、AIDate、酵素名
基質名11.に酵素濃度及び基質濃度は実変数nvar(1,)及びnvar(
2,)に格納される。測定範囲は整数変数1及び2に格納され、正常化範囲は整
数変数7及び8に格納される。
ストリングはINPUT NUMBER処理(3959行)を介して入力され
る(VK Iリスト参照)。1925及び1950行で、ディフォルト値がヘッ
ダー変数の残りに格納される。出力ウインドー: 1var (3,)=1.1
var(4,) −1var (5,)+1、Y−rnax−nvar(3,)
−最後の入力データ。すると、レジスターはが格納されて、キーボード入力処理
が終了する。
4.4.2 ファイルからの読取及び平均化READ AVERAGE処理(
10000ff行)表示を消去してから、全シリアル入力データファイルのヘッ
ダーを読み取る(10010行)。ユーザーが修正できるようにヘッダー情報を
表示する(10030行)。ユーザーが中止を表すraJ (I ENDE−
0)を押圧しないときは、ヘッダー変数は作業ファイルレジスターのヘッダーに
コピーされる(10050行)。データが読み込まれる(10070行)。デー
タが作業ファイルに格納され、最大Y−値が最後の3データポイントの平均とし
て計算される(10300−10320行)。ヘッダー情報が格納され、処理が
終了する。
Header IN処理(11000ff行)ASCII入カフアイカファイ
ルダー情報を読み取り、情報を変換して、変数をアレーvar(1)に入力する
(11040行)。
Header CHECK処理(11300ff行)最大5個の入力ファイル
のへラダー情報を表示する(11300−11317行)。ヘッダー変数の変更
機能が提供される(11480行)。
C0PY HEADER処理(11500ff行)最初の入力ファイルのヘッ
ダー情報を作業ファイルレジスターのヘッダーにコピーする。
IN 5ERIAL処理(12000ff行)シリアルファイルを読み込み(
12070行)、Yl、Y2、及びXデータまでアレー re()に加える。デ
ータは+5.8756E+OO1四桁の関数部及び二桁の指数部の浮動小数点A
SCIIフォーマットで読み取られる。指数は二指に宿約され、数はコンパイル
されたBAS I C言語のval(x$)関数により変換される(12080
−12090行)。ファイルが閉じられ、平均が算出される(12110行)。
次に、データが2個のレジスターに格納される(範囲1及び範囲2)。
PEAP XYDATA処理(19000ff行)この機能は別のアプリケー
ションにより格納されているデータのインボートに用いられる。パラメータとし
て通過する一連のファイル名が必要である。15010行で、データ変換に同一
ファイルからの読み取りが必要か、あるいは新しいファイルを開く必要があるか
どうかを判断する。ヘッダー情報の1行又は数行が読み取られる(///又は*
**で始まる)。ヘッダー情報には、読み取る必要のあるデータポイント数を決
める整数が続< (15054行)。データポイント数は1から500の範囲で
ある(15055行)。この場合には、データポイント数は15060行のルー
プを用いて読み取られる。データの受は入れには2つのフォーマットがある。
浮動小数点ポイント指数フォーマット+7.1438E+2.3798E+00
0又はプリンターフォーマット275゜5−7.0821E+01゜いずれの場
合もX−値はY−値に先行する。必要ならば、他のデータフォーマットをこの処
理に含めることもできる。
4.4.3 交換作業ファイル
(a)処理すべき作業ファイル
(b)活動作業ファイルを格納するためのファイル8幾つかの処理はデータ処理
オーバーレーにより既に知られている。
処理オーバーレー:
COMMAND処理 4”000 VSP参照ファイル名が正確に
入力されたら、作業ファイルのヘッダー (3220−3260行)及び作業フ
ァイルのデータ(3320−3260行)が新しいファイルにコピーされる。3
500行で、第2のファイル名を用いて受動作業ファイルを開き、受動作業ファ
イルを活動領域にコピーする。最初にヘッダー情報がコピーされ、有効な作業フ
ァイルデータを有しているかどうかを調べる(3530−3560行)。99個
の見出し語をコピーしてから、ヘッダーファイルが閉じられ、データがコピーさ
れる(3630−3660行)。次に、ヘッダー情報が新しい作業ファイルから
共通データ領域に読み取られる。そして処理が終了する。
4.5フイツトオーバーレー RKI 、BAS/RKI 、EXE
フィットオーバーレーは制御を受けると幾つかの局地的変数を定義する。
4.5.1局地的変数
re(400) 適合中にreOバッファーは測定データを保持
する。こ
のバッファーはこのオーバー
レーの活動中に他の幾つかの
目的に用いられる。
i reg (11,11) この2次元アレーは適合モデル、ソースレ
ジスター、適合
制限を格納する。
e rww (11,11) この2次元アレーは第1の次元に適合する
全パラメーター
の第1の推定値を格納する。
第2の次元は幾つかの適合を
バッファー内に保持するため
に用いられる。
raster (11,11) この2次元アレーは全パラメーター用の最も
適したグリフ
ドを格納する。グリッドは適
合のための終端基準及び第1
の適合のためのグリッドを定
義する。
fak%(11,11) fak%2次元アレーは適合の全パラメータ
ーの拡張係数
を格納する。この係数は第1
のグリッド用の最適合グリフ
ド(ラスター)の拡張に用い
られる。全係数が1のときは、
適合は収束する。
rex() マルチパーパスバッファーreyOマルチパー
パスバッファー
zr(10) このアレーはデータ曲線のレジスター数を格
納する。最大
10本の曲線までジョブキュ
ーに並べられる。
1k(10)
ist(10)
interpk (10) データ曲線状態の内挿lbeg(11)
この変数はスタート、ストッ1end(11) ブ、
現在活動中のグリッド又1step(11) は勾配サーチの間隔を
保持する。
fit%(11) 適合制御変数pne%(11) 正
負フラグda%(11) 正負フラグdrucker%−1これは
プリンターレベルb$−“e″ フィツト中の入力バイトoff
set%−〇 モデルリストのロール状態running%−1フィッ
トオーバーレーの継続中
1plot=0
ilock−0メインメニュー始動
pointer%(26)−0
メインメニューの使用可
exp$−”+####ΔΔΔA”
指数フォーマット
idmax−pointer%(2)
comfile%−pointer%(3)interpreter■poin
ter%(4)描画プリンターコムファイル
及びインタープリタ−フラグ
を局地変数にコピー
dbez$ ’a:b:c:’
アイドライブポインターがド
ライブa:、ドライブb=、
ドライブC:の中から選択
300ないし342行はコマンドデータ領域内のストリングを初期化する。これ
らは後にフィツト入力メニューを示すために用いられる。このアプローチはシス
テムファイルからこれらのストリングの可能な読取りを促進させるために選択さ
れた。しかしながら、フィットオーバーレー用のシステムファイルは書き込まれ
ない。同様に、ストリングREMOD$及びREMOVE$がプログラム内で後
にプリントアウトするために用いられる。350ないし355行は、パラメータ
ーの短い名前用のストリングを定義付ける。最初のコラムは、全モデルの最初の
パラメーター用である。360ないし370行は印刷中に用いられるフォーマッ
トストリングを定義付けている。400行はプログラムがオペレーティングシス
テムからの呼び出しにより実行されることを防止する。このプログラムはPIN
IT変数がVKI又は他のプログラムにより設定された時にのみ作動する。41
0行では作業ファイルI10バッファーが定義され、420行ではプリンターI
10バッファーが開く。
4.5.2 タイプ!・メニュー (F i t Menu)メインプログ
ラムは、VKIプログラムのメインプログラムと類似した構造を有する。このメ
インプログラムは、「RUNN I N0%」変数のリセットにより終了する無
制限のwhi1文のループ(whi le−wend 1oop)を定義して
いる。仮に、このループが発生する場合には、オーバーレイにより使用されるだ
けの全てのストリングは消去されて、不要部分の整理が開始されて(ライン82
0)、かつ呼出プログラムが再開される(ライン890)。
ディレクトリ・ライン・ルーチンは、ライン3300ffにおいて、オーバーレ
イを処理するデータを発見するルーチンと同様のものである。フィツト・オーバ
ーレイは、別のソフトキーのセットを使用する。ソフトキーの機能は、FIT−
CMDのプロシージーv (procedure)として実現されている。
F IT−COMMANDのプロシージャ(ライン3400ff)
このルーチンは、入力としてソフトキーのみを受付ける(T S OF Tは1
〜8までの範囲内である)。以下の各項目は、フィツトメニューで、1〜8まで
のソフトキーが指定されたときに、実行される動作を説明している。
1、S IMULAT ION (ライン3520)このシミュレーションは、
ユーザが定義したデータ曲線により実行される。もし、追加の入力が与えられな
い場合には、データ曲線のヘッダに記憶されたフィツトタイプとフィツト・パラ
メータを使用して、あるデータ曲線を発生させる。シミュレーションは、データ
曲線のXポイントを使用し、任意にモデルとパラメータを入力することにより、
起動される(ライン5000のS IMULATI ONの手順を参照)。
2、INPUT 5INGLE(ライン3540)このソフトキーは、最初の
概算、格子およびフィツトの要因を入力するために使用される。このために、そ
の入力が、一つのフィツト・バッファから10のフィツト・バッファまで配置さ
れる。指示メツセージ「パッチジョブ(1〜10)の位置付け」に応じて、1
toloまでの範囲内の数字を入力する必要がある。この数字は、2次元配列の
専用フィールドにパラメータ値を格納するために使用される。
3、INPUT MULTIPLE(ライン3560)この機能は、フィツト
・バッファ(ライン3560〜3564)をクリアする。さらに、for文のル
ープ(FOR−NEXT 1oop)は、フィツト・バッファに10フイツト
に至るまで入力するために使用される。このために、SHOW−MODEL、!
:INPUT−F ITのプロシージャが、このループに呼出される。この入力
が終了した後(10人力後またはモデル0が選択された場合)、ソフトキー4が
指定されることにより、フィツトがスタートされることになる。
4、EXECUTE−FIT (ライン3580)この機能は、10フイツトが
完了されるか又はモデルOが認識されるまで、フィツト・バッファにコンパイル
されたフィツトを実行する。フィツトは、ライン5200のFITプロシージャ
により実行される。
5、LINEAR−REGRESS ION (ライン3600)このソフトキ
ーは線型回帰を開始させる。このために、プロシージャrLIN−REGJが呼
出される。このプロシージャは、X−Yデータに対してフィツトを実行するか又
はフィツトの前のデータに変換する(例えば、Eadie H。
fstee変換、二重相互変換)。
6、ROLL−MODELS (ライン3620)このソフトキーは、モデル・
ディスプレイの上半分(モデル1〜9)またはモデル・ディスプレイの下半分(
モデル11〜19)の中で切換えるために使用される。
7、ENTEREQUATION (ライン3640)このソフトキーは、ユー
ザが定義したモデル(モデル10)の方程式を変更するために使用される。ライ
ン3640はコマンドラインをクリアし、ライン3645は指示メツセージを示
し、ライン3647はFORMAT$ (20)に格納された現在の方程式を変
更するために使用される。方程式は、大文字に変換されて、FORMAT$ (
20)に格納される。
ライン3395は、コマンドラインをクリアする。
8、EXIT(ライン3660)
この機能は、フィツトメニューから出力メニュー(FORTS−2)を出すため
のものである。rRUNNING%」変数をゼロにセットすると、メインループ
は停止となる。
rPINITJが1にセットすると、他のオーバーレイに対するアドミッタンス
を許可する。
4.5.3 フィットプロシージ+ (Fi t Procedu r e
5)
RECOVERプロシージャ(ライン4200ff)このプロシージャは、ユー
ザに対してエラーコード、エラーライン及びエラーメツセージを指示するために
使用される。
このプロシージャは、エラーメツセージを除いて、VKIオーバーレイにおける
プロシージャと同一である。
MODELS プロシージャ(ライン4900ff)このプロシージャは、フ
ィツトメニューのディレクトリラインの下4ラインのフィツトモデルが有する小
型メニューを表示する。メニューウィンドウは、ソフトキー6により変化される
可変0FFSETに従って変化する。
INPUT−FIT プロシージャ(ライン5000 f f)最初の入力は
1.4エントリーからなる。
IREG (1,) フィツトタイプ1〜9IREG、(2,) 実験デー
タを含むソースレジスタIREG (本、) フィツトに使用される最初のデ
ータポイント
IREG (4,) フィツトに使用される最後のデータポイント
入力が以下の条件を満たすか否か、ライン5070上でチェックされる。フィツ
トモデルが1toi9までの範囲内であるか。ソースレジスタは、有効なワーク
ファイル(1−99)であるか。最初のデータポイントは1またはそれ以上か。
さらに、最初及び最後のデータポイントは、格納された実験データポイントの範
囲内であるか。
変数は、画面上に再現される(ライン5105)。次に、シミュレーションのた
めの目標レジスタ(IREG (6,))およびフィツトサイクルの最大数(I
REG (7,))が与えられる。さらに、ノイズを含むレジスタ(IREG
(5,))が与えられる。ノイズは、各データポイントのためのそれぞれのウェ
イトを算出するために使用される。仮に0が選択された場合には、各データポイ
ントは同一のウェイトが掛けられる。ノイズレジスタは、実験データを含むレジ
スタと同様に、同数のデータポイントを含むか否かチェックされる(ライン51
30)。
ライン5150から5165までのfor文のループ(FOR−NEXT l
o o p)は、最初の概算、最も微細な格子(最高精度)および6パラメー
タに到達するまでの拡張要因を入力するために使用される。パラメータ(ライン
350)の短いネームを有するストリングの内容は、入力が必要が否かを決定す
るために使用される(ライン5150)。ライン5155は、指示ストリングを
発生し、最初の概算入力を各結果変数(NVAR4+j、z r%)に加算rる
。I NPUT−3NUM プロシージャ(ライン7100)は、数字の入力
または省略値の割り当てのために使用される。INPUT−3NUM プロシ
ージャは、Hlの最初の概算、H2の最も微細な格子およびH3の要因に戻す。
ライン5160は、要因の入力として2進数のみを受は付ける。仮に異なる場合
には、入力を繰り返すことになる。ライン5165において、選択されたレジス
タのフィツトタイプ変数がセットされる。
コマンドラインがクリアされた後に、INPUT−FITプロシージャは終了と
なる。
FIT プロシージャ(ライン520Off)FIT プロシージャが起動
されたとき、ユーザはバッチの位置付けがなされたフィツトをスタートさせるこ
とを決定する必要がある(1−10)。位置付け(i i)は、ライン5200
から5450までのfor文のループ(FOR−NEXT 1oop)の開始
を定義する。フィツトタイプ(REGART) 、ノイズレジスタ(STOEV
REG) 、最初のデータポイント(VON%)および最後のデータポイント(
B I S%)は、パッチバッファからロードされる。ノイズレジスタがゼロの
場合には、ウェイト・バッファdy (1,)には、rnXIJがロードされる
(ライン5232)。さもなければ、ノイズ情報はバッファdy (1,)に読
出される。
さらに、実験データはレジスタ()に読出される。プロシージャ WEIGHT
(ライン7500)はノイズをそれぞれのウェイトに変換し、プロシージャ F
IT−DEBUGは、フィツト(ライン12000)の間に示されて、画面のメ
ニューマスクを示す。ライン5240上において、最も微細な格子変数RAST
ER(j、j i)は、これらの変数の一つがゼロか否かをチェックされて、フ
ィツトはスキップされる。同一ループにおいて、フィツト・コントロール変数F
IT%()には、初期値(99)がセットされる。
ライン5350は、無限FITループの最初のラインである。最後のラインは5
350である。このラインは、フィツト・プロシージャの実行中に、フィツト方
程式を変更する手段を備えている(OEY3645はユーザにより“f″キー指
定された後に、方程式を入力する)。同様の方式として、インタープリタが指定
された“i″により起動する。
つぎのラインは、アクティブなサーチサイクルのために、上限および下限をセッ
トするプロシージャ SET−LIMIT(ライン5600)を呼び出す。さら
に、ループカウンタがインクリメントされて、停止条件がチェックされる。停止
条件が満たされた場合には、“Fitが早期に終了した”というメツセージがラ
インプリンタに印字された後に、ループは停止となる。ライン5290から、F
ITCプロシージャ(ライン6700)が呼び出される。このルーチンは、ベス
トパラメータを、NVAR(5,)からNVAR(10゜)までの共通変数に戻
す。それらは、ユーザから概算(ERWWFLAG%−0)の入力が無い場合に
、ERWW()FE十Zにコピーされる。ルーチンCHECKVは、概算および
フィツト・コントロール変数をチェックするために呼び出される。さらに、ルー
チンEVALUATEを使用して、フィツトの結果が分析される。このルーチン
は、フィツトが収束(FLAG%−1)したか否かをチェックし、次のサイクル
のための変数を用意する。フィツトが収束した場合には、PRINT−FIT
プロシージャが呼び出される(RUCKER% 変数がセットされる場合)。
次に、SIMULAT I ON2 プロシージャが呼び出される。この後、
つぎの曲線がフィツトされる(end of FOR−NEXTl o o
p)。最後のフィツトが実行された場合には、コマンドラインはクリアされて
、ソフトキーラベルは変更されて、FIT プロシージャは停止される。
CHECKV プロシージャ(ライ:z5500f f)このプロシージャは
、概算がゼロ又は制限(9999)を越えているか否かをチェックする。FAK
% 変数が制限4096を越えているか否かがチェックされる。オーツ(−フロ
ーの場合には、無効な結果としてエラーメツセージが印字される。そして、次の
フィツトが開始される。
SET−LIMIT プロシージャ(ライン5600f t”)このプロシー
ジャは、ライン5600から5730までのfor文のループ(FOR−NEX
T 1oop)からなる。
このプロシージャは、全パラメータのフィツト制限LBEG()、LEND()
およびLSTEP ()をセットする。ライン5600と5610は、一つのパ
ラメータが1にセットされるか又は概算(FAK%−0)を維持する特別の場合
を処理する。ライン5640は、スタート条件(FIT%()−99)を処理す
る。ライン5650は、フィツト・コントロール変数(フィツトの傾向)の総数
を減少させる。
ライン5655から5675までは、各フィツト・コントロール変数をセットす
るための異なるサーチ格子を定義する。
フィツト・コントロール変数が+3または−3の制限を越える場合(次々と同一
の傾向が3倍となる場合)には、パラメータのFAK%()変数は2倍になり、
傾斜サーチの速度を増加させる。さらに、LSTEP ()変数は、RASTE
R()とFAK%変数の生成として算出される。LSTEP()変数は、I2と
13の変数(傾向変数FIT%()から得られた)を有し、LBEG()とLE
ND()を算出するために使用される。ライン5725は、最も活動的なフィツ
トにおいて、無効な結果を生む符号の変化からLBEGを防止する。全パラメー
タの制限がセットされた後に、FIT−DEBUGの画面は更新されて、5ET
−L IMI T プロシージャは終了となる。
EVALUATE プロシージャ(ライン5800 f f)ライン5810
から5920までのfor文のループ(FOR−NEXT 1 o o p)
は、上限と下限を有するフィツト(ERRW ())の結果を比較する。概算が
下限と全く同一の場合には、FIT%()変数は2だけ減少される。
概算が上限と全く同一の場合には、FIT%()変数は2だけ増加される。両方
の場合において、制限された概算数は増加されることになる(ANZAN%)。
ライン5850は、概算の符号の変化を防止する。ライン5860は、全パラメ
ータの最高度の要因(MA X F A K%)を検出し、傾向変数がゼロ(H
l)と異なるか否かを検出する。全パラメータが分析された後に、MAXFAK
%とH1変数は、フィツトが収束するか否かを決定するために使用される。この
場合において、FLAG%変数がセットされる。このプロシージャが停止される
前に、F I T−DEBUGメニューは更新される。
S I MULAT I ON プロシージャ(ライン6000 f f)シ
ミュレーション処理は、二つのプロシージャに分割される。S IMULAT
ION プロシージャは、必要なパラメータを入力する。S IMULATI
ON2 プロシージャは、ユーザが入力した後又はFITルーチンから呼び
出しの後に、シミュレーションを実行する。ユーザは、画面にフィツトメニュー
が表示された後に、方程式群(1−19)から一つ及びレジスタ群(1−99)
から一つを選択する必要がある。
全パラメータは入力される必要がある(ライン6040〜6046)。パラメー
タは格納されて、実験データが読出される。さらに、フィツトの目標レジスタが
選択される必要がある。
S IMULAT I ON2 プロシージャ (ライン6150ff)
全ヘッダ情報は、ソースレジスタから目標レジスタにコピーされる。ヘッダ変数
は、レジスタがフィツトのために使用されるか否かをチェックされる。実験曲線
が21データポイントより少ない場合には、フィツト曲線のためのポイントが補
間により追加される(EXPAND プロシージャ)。次に、理論曲線が、C
ALCULATE プロシージャの方程式の一つによりシミュレートされる。
ライン6250は、シミュレートされる曲線のためのディレクトリエントリーを
発生し、ヘッダ情報とデータを格納する。ユーザにより定義された方程式(RE
GART−10)は、インタープリタの呼び出しを実行させる。
CALCULATE プロシージャ(ライン6500ff)このプロシージャ
は、フィツトプロシージャのための全方程式を含む。パラメータp1をp6を通
じて呼び出したとき、基体の濃度Sと共に変化する必要がある。それは、5IG
NAL変数の結果に戻す。以下に、モデル名と5IGNAL変数を算出するため
の方程式を示す。
1、Michaelis MentenS IGNAL−(pl (1+p2
/5))2、Con5ecutive ReactionS IGNAL−(
plIs+p2*5−2)/ (1+p3*S+p4*S“2)
3.2Km2Vmax valuesS IGNAL−p1*S/ (p2+
S) +p3*S/ (p4+S)
4、Hill equation
SIGNAL−(pl*5−p3/ (p2°p3+5−p35、Noncoo
perative 5itesS IGNAL−pl* ((S/p2+S
2/p2)/ (1十2*S/p2+S“2/p2))
6.5equential 1nteract。
S IGNAL−pl* ((S/p2+S ”2/ (p3*p2))/ (
1+2*S/p2+S −2/ (p3*p2)))
7、 1nhibition
S IGNAL−pl−p3*s、/ (p2+S)8、 Uncom、
InhibitionS IGNAL−pl*s/ (p2+S* (1+p
4/p3))9、Noncomp、 INHIBITIONS IGNAL−
pl*s/ (p2* (1+p4/p3)+s* (1+p4/p3))
10、User defined
see Interpreter
ll、Dependent 5ite mech。
S IGNAL−((pl+p2*p4*s)*S/ (1十p2*s+p2*
p3*5−2)
12、 Indep、 5ite mech。
S IGNAL−(pl+p4+ (p2*p4+p3+pl)*s)*S/
(1+(p2+p3)*S+p2*p3*S−2)
13、Dead end complexS IGNAL−(pl+p
2*p4*s)*S/ (1+p2* S +p 2 * p 4 * S″′
2)14、Exchange mech。
S IGNAL−pl+p1*p3*p4*S/ (1+(p2+p3)*S+
p2*p3*S−2)
15、Variable 1nhibitorSIGNAL−pi −((
pl p3)/(1+S/p2))16、Linear regress
ionsS IGNAL=pl+p2*S
17、Double reciprocalSIGNAL−Michael
is Menten18、Eadie HofsteeSIGNAL−
Michaelis Menten19、 Hanes WolfeS
IGNAL−Michaelis MentenFITCプロシージャ(ライ
ン6700 f f)最初に偏差(deviation)パラメータが高い値に
セットされて、ループカウンタはリセットされる。酵素の濃度がヘッダから読出
される。変数TSTERNとTCYCLEは、フィツトの経過を明視化するバー
(bar of st a r s)を示すために使用されるようにリセッ
トされる。
この目的のために、サイクルのトータル数(1がら4までのループのトータル)
を算出する必要がある(ライン6702゜6703)。さらに、6パラメータの
ための6ネスト(nest)されたループが開始される。各パラメータは、イン
クリメントされるLSTEPで、LBEGからLENDまでの範囲をカバーする
。プログレス・バーは、第4のfor文のループ(FOR−NEXT 1 o
op)の後に更新される。
最初に、カウンタTCYCLEはインクリメントされており、関連するプログレ
スは、すでにディスプレイでスタートする数と比較される(TSTERN)。新
たな値が高くなる場合には、付加的なスター(stars)が印字されて、Ts
TERN変数はセットされる。ライン6723は、ユーザの入力がベンディング
であるか否かをチェックし、コマンド(ライン7800のサブルーチン)を実行
する。次のループの後に、FIT−INT プロシージャまたはライン675
0から6760までのループにより、偏差(deviation)の平方値が付
加される。最下位の平方根に導かれるパラメータは、ループが閉じる前に格納さ
れる。
PRINT−RESULT プロシージャ (ライン690Off)
このルーチンは、プリントアウトのアセンブルのためのストリングの読出しに使
用する。ユーザの定義された方程式が選択された場合(REGART−10)に
は、方程式は印字される(ライン6935)。この場合、プリンタはオンされず
に、エラーメツセージが表示される(ON ERRORGOTO7750)。
CHANGF−PARプロシージャ (ライン7000 f f)このルーチン
は、一時的にフィツトプロシージャを停止し、一つまたは数個の要因、概算、格
子サイズまたはフィツトコントロール変数を変更する。
I NPUT−3NUM プロシージャ(ライン7100ff)ストリングは
、アスキー(ASC,II)プロシージャの手段により入力される。1から3個
までのコンマ数に従って、ストリングは実変数(Hl、H2,H3)に変換され
る。コンマが全く無い場合には、変数は自動的に決定される(ライン7152−
7158)。Hlは概算、H2(最も微細な格子)はおよそ「概算/100OJ
であり、H3(要因)−128である。最初のコンマの後に有効数字が与えられ
ない場合には、パラメータは定数(H3−0)を維持する。同様に、ライン71
70.7175に適用される。
EXPAND プロシージャ(ライン7400ff)このプロシージャは、実
験データ曲線のX値をとり、存在するデータポイント間にさらに二つのデータポ
イントを挿入する。データポイントの修正数は、ヘッダ変数(INVAR(5,
)−w−2)に格納される。
WE I GHT プロシージャ(ライン7500ff)このライン7550
.7560のループは、ノイズ比率に対する平均値を算出する。第2に、ループ
は、選択された範囲のノイズ比率に対する平均信号により信号をノイズ比率に分
割し、この分割によりそれぞれのウェイトを算出する(lVON−I B I
S)。
TIMEDATE プロシージャ(ライン7600ff)このルーチンは外部
クロックから時間およびデータを読出す。
PRI NTER−OFF プロシージャ(ライン7700 ff)
このルーチンは、プリンタレベル・ポインタ(DRUCKER%)をゼロにリセ
ットし、プリンタが応答しないときに印字動作を回避する。ユーザに対しては、
印字動作の再起動を指示する“r゛のメツセージが表示される。
F I T−CMD プロシージャ(ライン7800ff)このプロシージャ
は、FIT−DEBUGで表示されたソフトキーを実行する。
ソフトキー1は、異なるプリントレベル(0−2)を選択する。ソフトキー3〜
6は、フィツトパラメータの一つを修正するためのCHANGE−PARプロシ
ージャを呼出す。
ソフトキー3は要因を変更し、ソフトキー4は概算を変更し、ソフトキー5は格
子を変更し、ソフトキー6はフィツト・コントロール変数を変更する。ソフトキ
ー7は、現在のサイクルが終了した後に、次のフィツトを変更する。”Fitが
早期に終了した°のメツセージが、プリントアウトに付加される。ソフトキー8
は、直ちにフィツトを停止する。
フィツトの修正を可能にするために、“i“キーの操作はインタープリタを起動
し、勝つ“f”キーの操作はアクティ4、 5.4 線形回帰(Linear
Regressi。
n)
L I N−REG プロシージャ(ライン10000ff)最初に、コマン
ドラインがクリアされて、パラメータポインタ数(IPARM)が2にセットさ
れる(PRINT−RESULT プロシージャ)。さらに、データポイント
数と変換が入力される必要がある。変換が選択されない場合には、実験データが
読出されて、線形回帰変数が初期化されて、かつ線形回帰処理が実行される。最
初のポイントから最後のポイントまでは、以下のような変数により要約される(
ライン10050)。
X値の総計・・・5UX
Y値の総計・・・5UY
rX*YJの総計・・・5UXY
Yの平方の総計・・・S UYY
Xの平方の総計・・・S UXX
これらの総計は、インターセプト(intercept)、傾斜及び相互関係を
決定するために使用される(ライン11006O−10080
)rhoY−su XY−(sum Y/N)2rhoXmsum X2
− (sum X/N) 2s 1 o p −(s um XY −(s
um X/N)* (sum Y/N))*rhoXintercept
−sum Y−slop*(sum X/N)
correlat 1on−(s 1op* (rhoX)””)/(rhoY
)−2
データポイントの3Xまたは3Yの両者がゼロの場合には、“線形回帰処理は無
効”のメツセージが表示されて、結果は算出されない。そうでない場合には、回
帰処理の結果が印字されて、実験データのヘッダに格納される(ライン1016
0)、次1::、理論曲線力、SIMULATION2 ブClシ・−ジャを
使用してシミュレートされる。このために、シミュレーションのための目標レジ
スタには入力される必要がある。
二つのパラメータ、インターセプトと傾斜は、以下の式に応じてラインを発生す
るためのシミュレーションにより使用される。
S I GNAL−P1+P2*S
これは、CALCULATE プロシージャのライン6680における式番号
16 (REGART−16)の式である。
ラインは、二つのデータポイントにより十分に決定される。
しかし、このラインが他の数学的空間に変換される場合には、非線形になる。こ
の目的のために、シミュレーションに類似するラインは、ワークファイルのそれ
ぞれのレジスタにデータポイントのX−Y配列として格納される。ライン105
00から10950は、変換された後にデータポイントを要約する線形回帰ルー
チンを含む。
変換形態は以下の通りである。
Name Model#Double re
ciprocal 17変換:XWERT−i/S YWERT−1/V
Eadie Hofstee 18変換:XWERT−V
YWERT−V/5Hanes Wolfe 1.9変換
:XWERT−S YWERT−3/Vさらに、線形回帰処理が前記のよ
うに実行されて、傾斜、インターセプト及び相関は算出される。変換に従って、
M 1chae l i s定数及び最大速度は以下のように算出される。
Double reciprocalKm−slop/intercept
Vmax−1/1ntercept
Eadie Hofstee
Km=1/slop
Vmax−intercept/s 1opHanes wolfe
Km−intercept/s lopVm=1/slop
Mi chae 1 i s定数、最大速度及び相関は、実験データのヘッダに
格納されて、PRINT−RESULT プロシージャにより印字される。再
度、S IMULATION2プロシージャが呼び出される前に、シミュレート
される曲線を格納するための目標レジスタが選択される必要がある。
全てのシミュレーションには、MICHAELIS MENTENモデルが使
用される(REGART−1)。
4、 5. 5 Influence Fit MenuKEY−
I NPUT プロシージャ(ライン11000ff)KEY−INPUT
プロシージャは、CHECK−INPUT プロシージャ(VKIオーバー
レイにおけるライン5000を参照)の小型化である。
F I T−DEBUG プロシージャ(ライン1200Of f)このプロ
シージャは、現在勤作中のフィツトプロシージャに関する情報の1画面を表示す
るために使用される。そのプロシージャが呼び出されたとき、ワークファイルか
らヘッダ情報が読出されて、画面に以下のラインを表示するために使用される。
DIRECT CURVE FITレジスタ内のCurve fit:I
Thr 10102(1dtype)26.Mar、88
千トクローム Cオキシダーゼ:10.60 nM M。
d、Cytc
Max、conc、:10.OOuM
形式使用のデータポイント:1to20 Registerwith ab
s、noise 30回帰タイプ:2Km2Vmax valuesバッチ
位置付は番号=2
次のフィツトは、プリントレベル1で予定される。
Param、 1. 2. 3,4. 5.6meaning
Vmax KmBoundary from 0,0,0,0,0
,0Boundary to 9.9E99,9. 9E99゜9.9
E99,9.9E99,9. 9E99.9.9E99Fit contr
ol +1.+2.+99.+99゜+99.+99
Gridfactor 8.16.O,O,0,ORange from
34.200,0. 1600Range to 35.80
0. 0. 1900Result 35. 000,0. 1
750Root mean 5quare 1.278954つのラ
インでは、第1に、結果を印字する同様の方式で、ヘッダ情報を表示する画面の
ライン2が開始する。次に、現在処理中のフィツトのバッチ位置付は番号が表示
される。同一ラインにおいて、プリントレベルは印字される情報量を表示する。
後でバー(starsの)により確保されるスペースの後に、パラメータのヘッ
ディングが表示される。各パラメータのために、ショートラベルが付加される。
このラベルは、各パラメータと各フィツトモデル(ライン12259)のために
別に選択される。次のラインは、ロー(row)ヘッディングを備えている(以
下に示す)。プロシージャが停止される前に、ソフトキーラベルは変更される。
F I T−UPDATE プロシージャ(ライン1250Off)
このプロシージャは、フィツトサイクルが終了する毎に、呼び出される。最初に
、プロシージャはフィツトサイクルの予定期間を算出し、その予定期間を時間に
付加する。変数11は、秒単位の総時間を含み、以下のような算出処理を行なう
。
I 1−cyc 1es*データポイント/150インタープリタが使用される
場合には、この時間は8の要因により乗算されるか又は長井式が使用される場合
には16の要因により乗算される(ライン12540.12545)。
インタープリタの効果は、一度コンパイラモードで使用される場合には、劇的に
増大する。これは、インタープリタの動作中に発生するコードが配列に格納され
て、短縮動作時間のルーチンにより使用されることを意味する。ここで、単一の
式のためのコンパイラコードの一例を示す。
R−(C1*S)/ (C2+S)
コード operandl Memnonic5 1
LOADX、C113LOADY、5
103 1 Zl−X*Y5 2
LOADX、C213LOADY、5
107 2 ZZ−X+Y2 1
LOADX、Z112 2 LOADY、Z2104
1 Zl■X/Y2O11R−Zl
コード1−101oadX
コード11−20 1oad Yコード101−110
operat ionコード201 determin
eleast 5quare
インタープリタの効果は、数学的コ・プロセッサ(coprocessor)を
使用してアセンブリ・ルーチンにより動作が実行されるときに発揮する。ライン
12550は現在のフィツトサイクル(LOOPCOUNT%+1)および結果
が予期される時間(STUNDEN%、MINUTEN%。
5EKUNDEN%)を印字する。次のラインにおいて、各パラメータのための
サーチエリアの最小値が表示される(LBEG())。これは、各パラメータの
ためのサーチエリアの最大値に伴うものである(LENDC)。さらに、パラメ
ータ(UP−pos i t ive、downmnegs t iwe、5t
able−0)の傾向を指示するフィツト・コントロール変数(FIT%())
が表示される(FAK%())。ライン12600は、フィツトパラメータの最
終の境界を印字する。境界の省略値は、下位ではO十ニブシロン(epsi!o
n)であり、上位の境界では機械的に無制限となる。
F I T−UPDATE2 プロシージャ(ライン1270Off)
このプロシージャは、全てのパラメータの結果であるnva r (5,) −
nva r (14,)の中間を示し、かつ現在の最小平方根(ROOTSQ)
を示す。
INTP−S IMU プロシージャ (ライン18000ff)このプロシ
ージャは、アクティブなインタープリタのストリングに式をロードする(INT
P$)。プロシージャは、レジスタのヘッダから配列長(AN%)のためのポイ
ンタをロードし、中間バッフy (intermediate buffer
s)をクリアする(z r (i) =O) 、さらに、パラメータ値として定
数1から6をロードしくライン18700のサブルーチン)、中間バッファの一
つにX値をロードする(dy (2,i) )。さらに、INTERPRETE
Rプロシージャの呼び出しにより、シミュレーションが実行される。I10バッ
ファre (i)には、シミュレーションの結果の復帰がコピーされるため、そ
の結果はメインSIMULATIONルーチンによりワークファイルに格納され
る。
C0NV−ADDRプロシージャ(ライン18800f f)幾つかの場合にお
いて、フィツトとシミュレーションの式は、ソースレジスタの実験データをアク
セス可能の状態である。式は異なるソースレジスタに割り当てられることが必要
となるため、絶対アドレスは動作時間(runtime)にのみ決定される。可
変アドレスは、式のタイピント(t ypint)”RR’によりコード化され
る。C0NV−ADDRプロシージャは、runtimeで“RR”をソースレ
ジスタの番号に置き換える。
I NTP−F I T プロシージャ(ライン1900Of f)この小型
プロシージャは、直接曲線フィツトを実行する標準的な数学的インタープリタ・
プロシージャとして使用されるために、複数のバッファと変数を用意している。
このことは、インタープリタが外部に方程式のインタープリタとして使用される
ことを意味する。前記のように、このインタープリタがコンパイラとして使用さ
れることは、それほど重要でない変換が必要なだけである。
最初に、このプロシージャは、式にアクティブなインタープリタのストリングを
ロードしくINTP$) 、データポインタの番号を配列長ポインタ(AN%)
にセットする。次に、中間バッファがクリアされて、定数C(1)〜C(5)が
パラメータ1から5の値としてロードされる。さらに、インタープリタは、理論
曲線を算出する。この算出結果は、rey()配列に復帰される。次のルーチン
は、実際上の曲線と理論曲線間の相違の平方の総和を算出する<DEVM)。
DEVM−DEVM+ (rev (i)−re (i))”2*dy (1,
i) )
さらに、平方根が算出されて、最小値nと比較される(DEV)。新たな最小値
が発見されたパラメータはレジスタのヘッダにコピーされる(ライン19766
)。
チャプター5
グラフィック表示
5.1 開始と終了
“PL、EXE“オーバーレイが開始される時、このオーバーレイの位置に多く
の変数が定義される。他のアプリケーションと同様に、ファイルバッファは宣言
されなければならない。ラインプリンタのためのバッファはオープン“LPTI
”コマンドで作られる。必要な条件は共通変数の宣言である。
他のオーバーレイのすべてでは、これはソースコードのはじめで含まれる“CO
MVAR,BAS“ファイルで行われる。
異なったドライブストリング(例えば、a: b:)は、1DRIVEO共通
変数を有するDRT$ストリングから作られる。このような理由のため、システ
ム配置はユーザによって変えることができる。変数の定義は、2つの一般目的バ
ッファREX O、REY 00DISLINアレイはMICHFITソフトウ
ェアの内部ラインタイプを(GIO3)グラフィック入出カシステムに対するラ
インタイプに変換するために後で用いられる。次の種々の局所変数は、初期化さ
れる。
TSSET −1第1ソフトキー表示メニューCUR5OR−1カーソル
タイプはデータカーソルに設定される
CW −1,第1データプリントに印刷するIDMAX −
0最大描画点数が零であるIDC−1描画カーソルのポインタは第1位置に設定
される
PGA (9) −1
PLOTMEN%−0プロットサイズメニューはスクリーン上にない
IANNOT −0
BACK% −〇
UPPER% −1プロットサイズメニューは上半分を示す
TOUCH3−〇 接触感度がスイッチオフされるTTAUS −TAU
S 一時的な出力装置が出力装置と一致する
RUNNING%−1メインループが無限に走らされるISYM −1
第1シンボルが選択されるILEER−5人力中にスペースをからにするIMS
YM −1有効シンボル(シンボルメニューで選択される)
TSHARE −2バックグラウンド時間分割090%(1/2)
IPLOT −1バックグラウンドカウンタが設定される
AUFSPULEN%−0ソフトウェアはダイレクト出力モードである
次に、例外的な記号が定義される。行326から327は、拡張セット(128
>)のいくつかのASCII記号をシステムファイルに定義される例外記号リス
トに再配置するために用いられるアレイを定義する。行330において、プロッ
トサイズメニューに対する迅速なメツセージはシステムファイルから読出される
。これは、もしそれらが他のオーバーレイによってその上に書かれた場合、ある
いは、それらが応急クリーンストリングスペースルーチンによってクリアされた
場合にのみ必要である。両者の場合において、ポインタ(26)は1と異なって
いる。行345において、第1記号セットはシステムファイルからロードされる
(表示のためのシンボル記号セット)。それで、プロット機能のセツ、トが定義
される(行20000上のサブルーチン)。グラフィックオーバーレイが自動ス
ケールモード、−ズームオフモード−(AUTO5CALE−1、POINTE
R96(21)−1、Po 1 NTER%(23)−0)において呼び出され
、ディスプレイがロックされない場合、ディスプレイは自動スケーリング手順が
呼び出される前にクリアされる。グラフィックオーバーレイがINTERPOL
ATEフラグセットとともに呼び出された場合、もし、データ点間のデルタYが
スケーリングの1%を越えるならば、付加データ点は存在しているデータ点間で
発生される。この手順は線で描かれる図に対してより滑らかな外見を与える。補
間手順が呼び出される前に、5M0OTH強度2の手順5M0OTHが実行され
る。
グラフィックオーバーレイは、プロットサイズメニューPINIT−1を示すた
めに、あるいは、グラフィック出力PINIT−2を行うために呼び出すことが
できる。第2の場合において、選択された出力装置(TAUS)に対するルーチ
ンが呼び出され、グラフィックサブルーチンは再度解放される(RUNNIN%
−〇)。第1の場合、プロットサイズメニューが示され、メインプログラムはユ
ーザ入力に対して監視し、プロッタにデータを出力する。メモリの欠乏のために
、コマンドおよび数学上の解読はこのプログラムの中に含まれない。
′ズーム′モードがオフで、ディスプレイがロックされていない場合、実行中の
図はクリアしなければならない(行1000)。これをするために、表示データ
手順は(POI NTER%(22)−0)を消すために設定されたポインタと
ともに呼び出される。この後、グラフィックスクリーンは消され、文字数字両用
のスクリーンが示される。ストリングアレイの取扱いにおけるマイクロソフトB
AS I Cの問題から、ストリングアレイ要素1−5はストリングXBES$
、YBES$、X0BES$、YRBES$、およびPT I 置$にコピーさ
れなければならない。逆コピー処理は、行19000のサブルーチンによって行
われる。次に、次のメニューのメニューマスクと特有のソフトキーはディスプレ
イに示される。行1050.1070.1091、および1092は、ストリン
グ空間から不必要なストリングを除去し、残りと一緒にバックする(ごみ収集)
。この後、実行中のメニュー (IME)は、共通エリア(POINTER%(
19))に記憶される。同じものは最大描画点数(IDMAX)に適用する。
行1100では、グラフィック表示オーバーレイと呼ばれるプログラムが再実行
される(HAIN PRET$)。
IN2NUM 手順(行3960ff)はVKIを見る
BACK OUT 手順(行4300ff)はVKIを見る
CLO5E 5POOLFILE 手順(行440Off)はVKIを見る
CHECK INPUT 手順(行5000ff)はVKIを見る
ERRORRECOVER手順(行6000f f)はVKIを見る
SET TOUCH手順(行8500f f)はVllを見る
KEYLABEL 手順(行8700ff)はVKIを見る
FIND 0UTPUT 手順(行7000ff)この手順は、TAUS変
数のそれぞれの値に対して特有の手順を呼出す。
1、ディスプレイ 行2200の表示メニューを呼出す
2゜プロッタ 行25000のプロット手順を呼出す
3、プリンタ 行24000の印刷ルーチンを呼出す
4、スプールファイル プロットルーチンを呼出し、スプールファイルに出力
を再指示する
これをするために、スプールポイ
ンタ(POINTER%(1))
におけるファイル数が増加され、
ファイル名は発生される。このフ
アイルはオーブンされ、再指示フ
ラグ(AUFSPULEN%)は
セットされる。
5、プロットファイル この機能に対して、データ操作サブルーチンは再動作
させなければ
ならない。
5.2 機能の定義
このサブルーチンは、BIO3のグラフィック装置に対するアクセスを容易にす
るいくつかのBAS I C機能を定義する。
グラフィックカーソルは、第1データ曲線(cursg=1)の第4データ点(
cw−4)上に置かれる。変数X%とY%は表示ビクセルにおいて拡大/縮小さ
れた画像のサイズを定義する。
DISLIN%0アレイは初期化され、その結果、MICHFITソフトウェア
の内部ラインタイプはグラフィック入出カシステムのファイルタイプに変換され
る。いくつかのストリングはエスケープシーケンスにロードされ、その結果、そ
れらはあとで端末に印刷することができる。
エスケープストリング 機能 エスケープTOGGLEM$
)グルモードを (ESC)m3Aセツトする
GT$ グラフィック (ESC)*dSAT$
文字数字テキス (ESC)*dTトをセットする
GROFF$ グラフィック表 (ESC)*dD示をオフする
+(ESC)*
T
CLEAMS$ モードをクリア (ESC)mlAする
SETM$ モードをセット (ESC)m2Aする
機能の設定は、ユーザ単位をビクセルに変換し、表示機能あるいはプロット機能
を行うために用いられる。
PNPLU$ (XSY) ディスプレイ上において上げられたペンととも
にユーザ単位で
位置XSYに移動する
PNPLD$ (X、Y) 下げられたペンとともにユーザ単位で位置X、
Yに移動する
FNPMU$ (XSY) 上げられたプロッタペンとともにユーザ単位で
位置X、Yに移
動する
FNPMD$ (XSY) 下げられたプロッタベンとともにユーザ単位で
位置XSYに移
動する
FNPLU2$ (XSY) !
PNPLD2$ CX、Y) !上と同じだがランドスケ−FNPMU2$
CX、Y) !ブモードの代りにポートレFNPMD2$(X、Y)
!−)モードでFNXW (X) ユーザ単位をビクセル単位に
変換する
FNYW (Y) ユーザ単位をピクセル単位に変換する
F N S CX (Xmin SXmax ) ピクセルに対してユーザを
定義する
FNSCY(YIIlinSYIIlax) 変換FNCUR8$ (X、Y
) グラフィックカーソルを位置X1Yに移動させる
FNW$ (X、Y) ユーザ単位をプロッタ単位(ASCIIに変換
する
FNV$ (XSY) ユーザ単位をプロッタ単位(ASCIIに変換
する
5、3 プロットサイズメニュー
PLOTSIZE MENU手順(行2100Off)この手順は、スクリー
ンマスクファイル4の内容を読圧し、ディスプレイをクリーンにし、I10バッ
ファからアルファメモリにこのマスクをコピーする(行21020)。古いタッ
チフィールドはクリアされ、タッチフィールドは、行30000のサブルーチン
によってセットアツプされる。メニュー更新ポインタは、第1の更新フィールド
を指している。それで、データ操作サブルーチンによって今まであったフィール
ドが次の更新に対して選択される。新しいソフトキーはラベル付けされ、PLO
TMEN%ポインタは、プロットサイズメニューが文字数字スクリーンメニュー
であることを示すために設定される。
プロットの : サンプル
タイトル タイトル
出力相手先 : ディスプレイ ベンタイトル/軸:2プロット位置: 沿
って 注釈する行/ペン 11
x−Y−左 下 速度 刻み% 行S 列Wとサイズ ふち
プロット2015 3320 1 10 0サイズ
最小 最大 ステップ インステップ 軸テキストX−下 70 23 2
.5 0 チトク。
−ムC
Y−左 7 .7 1.09 .25 0 転換数X−上
30232.5 0Y−右 3 .7 1.07 .25
0タイトル 軸 ディジット シンボル 注釈X−サイズ 、3
.25 .0? 、15 .2Y−サイズ 、4
.13 .11 .02 .25タイトル X−下 Y−左
X−上 Y−右X座標 50 50 −10 50
108テキスト
Y座標 10g −105010550テキスト
X位置 1 −2 −5.5 −2 .5デイジツト
Y位置 1 −1 −.25 .25 −.25デイジツ
ト
# dir X位置 Y位置 テキスト1 1 +10.00 +
50.00 注釈行のテキスト 12 1 +10.00 +40.
00 注釈行のテキスト 23 1 +10.00 +30.00
注釈行のテキスト 34 1 +io、oo +20.00 注
釈行のテキスト 4PLOTS!ZE UPDATE手順(行21025ff
)PLOTSIZE MENU更新手順が呼出されるたびに、スクリーンの一
小部分をチェックし、もし必要ならば更新する。スクリーン上に現れる半分(上
/下)のみが実際に更新される(行21032と21033)。行21040と
21050上のX GO3UBコマンドは更新手順を選択するために用いられ
る。
上部
1 21200 PTI置$ プロットファイル2 21210 TAU
S 出力装置3 20220 pg(11)、pg(12) タイ
トルと軸のペン4 21230 pg(13) ライトスケープ/
ポートレートとプロットのレイ
アウト
5 21240 pg(14)、pg(15) 注釈行の数注釈のために用
いられる
ペン
6 21250 pg(1)、pg(2) XとYサイズプロットcmで
pg(3) 、pg(4) プロットの左と下のふちcmで
pg(5)、pg(6) ベン速度、チックサイズpg(7) 、pg(8
) 行間、列幅7 21260 px+40 、xbes$ 下部X
軸の定義8 21270 pyl#0.ybes$ 左部Y軸の定義9
21280 pxo善0.xobes$ 上部X軸の定義10 21290
pyri:0.yrbes$ 右部Y軸の定義11 21300pgxOラ
ベルのXサイズcmで12 212101)gyOラベルのYサイズcmで下部
1B 21320 pgx(i) X座標テキスト21230
pgy(i) Y座標テキスト21240 pgx(i)
X位置デジット21250 pgy(i)Y座標デジット21260
BESCHR$ 注釈行(4)21270 タイトル行 上部ブロッ
クに対して21280 タイトル行 下部ブロックに対して1−タイトル
2−X軸
3−Y左部
4−X上部
5−Y右部
PLOTSIZE CMD手順(行2140Off)他のメニューに対するコ
マンド手順と同様に、プロットコマンドは3つのグループに分割される。すなわ
ち、単一フィールドコマンド、フィールドアレイコマンド、ソフトキーコマンド
である。フィールドサイズはまだシステムファイルに記憶されていないので、フ
ィールドのタイプはリターン記号(A#)から解読しなければならない。行21
400から21420において、タッチアレイ(1−5)は評価される。
行21425の変数Aはタッチソフトキーを示し、他のメニュ (A−ASC(
a$) 17)におけるTSOFT変数に対する機能と同じである。ソフトキ
ーがタッチされた時、ソフトキーは18から25の範囲でリターンコードを与え
る。
行21440における変数iiはTFELD変数と同じである。それは、コード
ストリングH1$におけるリターン記号(A$)の位置から決定される。行21
430において、記憶メニューフラグ(i p (90) ) 、クリアコマン
ド行フラグ(i p (89) ) 、およびプロットサイズメニュー更新ポイ
ンタが設定される。もし、アレイフィールドがタッチされた場合、アレイフィー
ルドルーチンの1つがアクティベイトされる。
1 21360 プロットのタ ズームオフモードでグラタイトルを修
フィックスクリーンから正する タイトルを削除する
PTI置$を修正す
る
更新ポインタを設定する
2 21740 タイトルと軸 ズームオフモードでグラのペンを変え
フィックスクリーンからる タイトルと軸を削除するpg(11
)=−タイトルのペン
pg(12)−軸のペン
更新ポインタ63を設定
する
3 21480 注釈行とペン ズームオフモードでグラの数を変える
フィックスクリーンから注釈行を削除する
pg(14)−行数
pg(15)−ペン
更新ポインタ65を設定
する
4 21490 出力装置を変 TAUSえる 更新ポインタ
62の設定する
5 21500 X軸(下部) ズームオフモードでグラを修正する
フィックスクリーンから軸をクリアする
6 21510 Y軸(左部) 軸制御変数をロードするを修正する
pxu#(5) −pyrs(5)7 21520 X軸(上部)
を修正する
8 21530 Y軸(右部) 更新ポインタ67−70を修正する
を設定する
9 21540 ランドスケ−pg(13)をインクリメンドブからポート
する
レートに変え ズームオフモードでスフる リーンをクリアす
る更新ポインタ64.66.
71−76を設定する
グラフィックスクリーン
に対する更新フラグ91
−99を設定する
軸制御変数pxu#(5)、 pyl$(5)、 pxo#(5)、pyrs(
5)は次のような案による軸の体裁を変えるために用いられる。
1 チックを描く
2 デジットを描く
4 ラベルを描く
8 対数表示に切換える
チック、デジット、ラベルをともなう軸に対する軸制御変数は値7 (1+2+
4)を有する。
行21600では、第1の3つのフィールドアレイに対するTCOLとTR0W
が評価される。第2のフィールドアレイは4つの軸に対するエントリを修正する
。第1列は最小を修正し、第2列は最小を修正し、第3列はインクリメントを修
正し、第4列は第1インクリメントを修正し、第5列はラベル(列21642−
21645)を修正する。第1フイールドアレイはプロットのサイズ、プロット
の位置、プロッタ速度、いくつかの他の変数(pg(1) −pg(7) pg
a(8))を修正する。再び、もし、ディスプレイがズームオフモードで示され
ている場合、実行中のプロットはグラフィックスクリーンから削除されなければ
ならない(行21620)。このアレイの行6と7はラベル(タイトル、軸、デ
ジット、シンボル、注釈)のX、Yサイズを修正するために用いられる。
第4のフィールドアレイに対するルーチンは行21650から21678で与え
ることができる。再び、第1の2つの行はTR0WSTCOL変数を決定するた
めに用いられる。それで、ズームオフモードにおいて、タイトル軸、注釈行、対
応する更新フラグはクリアされる。行21669と21670はプロットフレー
ムの%でラベルの位置を入力する。これらのラベルは所定位置を中心にしている
。行21.675と21677は記号サイズの単位で原点に関連しているデジッ
トの位置を入力する。
第5フイールドアレイに対するルーチンは行21668−21696で与えるこ
とができる。TR0W、TCOL変数が計算された後、もし、ズームオフモード
であれば、注釈行がグラフィックスクリーンから削除される。列1はラベルの方
向(1−水平、2−垂直等)を修正するために用いられ、列2と3はラベル周囲
を移動するために用いられる(位置はフレームサイズの%で与えられる)。列4
は注釈テキストを修正するために用いられる。ルーチンを停止する前に更新ポイ
ンタ(81−84)が設定される。
1 21720 明/暗
このソフトキーは、明表示モード(明るいスクリーン上の暗い線、POINTE
R%(24)−1)と暗表示モード(暗いスクリーン上の明るい線、POINT
ER%(24)−0)を選択するために用いられる。これをするために、S E
T M $、CLEARM$エスケープシーケンスは行20500上のサブル
ーチンによって変えられる。それで、このスクリーンはクリアされ、更新フラグ
がリセットされる。
2 21740 自動スケール
このソフトキーは自動スケール手順(行27000)を呼出す。更新ポインタ6
7から70を設定する。
3 21760 次の位置
このソフトキーは位置ポインタ(pg<9))をインクリメントする。
新しい位置の値は行29500のDEFPO8手順によって与えられる。
4 21780 実行出力
この出力は、選択された出力装置に送られる(行7000)。
5 21800 中央テキスト
このルーチンは注釈行をテキストのブロックとして入力する。空白行が見付かる
まで行(最大15)を入力する。行の位置は座標、行番号、行間(pg(7)
)から計算される。
6 21820 プロットスプール
コマンドはプロットスプールに対して与えることができる(VKIオーバーレイ
の5POOL手順参照)。
7 21840 上部下部
表示は上半分から下半分に、あるいは傾斜を通して素早く移動できる。これはU
PPER%フラグの値によって決定される。
8 21860 ロール注釈
5.4デイスプレイメニユ
ディスプレイメニュは、プロットを示すタスクを数種のサブタスクに分ける。こ
れらのタスクは英数メニュと同様の方法によりDISPLAY UPDATE
プロセスによって実行される。ディスプレイメニュが活性化されるとメニュポイ
ンタ(IME)がセットされ、ソフトキーの最初のセットがTSSET−1に活
性化される。英数スクリーンがオフされ、図形テキストモードが選択される。グ
ラフィックディスプレイがTOGOLEモードで動作され、即ち特定のエントリ
ーをまず書き込むとディスプレイピクセルがセットされ、同じエントリーを次に
書き込むと再びTOGGLEモードはクリアにされる。これは選択的な消去を達
成するために使用され、数個のプロットはグラフィックスクリーン上に維持され
、それらのプロットは常時新しいものに変わらない。これを20om off
モードという。ソフトウェアは、エントリーがスクリーン上にありそれらが変化
される前に2度書きされるようにメモリーを保たねばならない(IP90−99
)。ライン22020は一つのプロットを示すタスクを10個のサブタスクに分
ける(BLOCK%−1toIO)。その後ソフトキーラベルはライン2210
0上の手順によって示される。
もしDISPLAY LOCKフラグ(POINTER%(23))がセット
されると、プロットの位置は新しいプロットが示される前に変わらなければなら
ない。
DISPLAY CMD手順(ライン22400fT )この手順はソフトキー
の6セツトを識別する(ライン22440 )。それらはツリーの様に配置され
ている。ソフトキーセット1は、ソフトキーの5つのサブセットを活性化できる
ルートセットである。
1 ルートソフトキー 225002 モア(lIore)
ソフトキー 229003 アノウテイト(annotate)
ソフトキー 228004 ドロウ(d raw)ソフトキー 2
27005 ハードコピーソフトキー 228006 セレクトシ
ンボル 226505.4.1 ルートソフトキー
S o f t k e y 1 ; Unlock Display(lin
e 22510)は 、ディスプレイの内部フラッグをクリアにしく1p(91
)−1p(99) )、新しいプロットが描かれる。これは、2個のプロットが
同じ位置に描かれなければならない場合(10個以上のデータカーブ)や、イン
セットが存在プロットに加えられる場合に使用される。
S o f t k e y 2 ; Draw(line 22520)
はドロウソフトキー (TSSET−4)を活性化する。新しいラベルは、ライ
ン21100上のLABEL SK 手順によって示される。
S o f t k e y 3 ; 5elect Symbol(line
22530)は、5elect Symbol Menu(TSSET−6)
を活性化する。1から40までのシンボル(シーシス(thesisを見よ)は
、ソフトキーラベルが現われる領域に示されている。シンボルはキー5(sel
ect)が押されたときにグラフィックカーソルによって選択される。
S o f t k e y 4 ; Plotsize Menu(line
22540)はPlotsizeMenuに変わる。
S o f t k e y 5 ; 0utput Menu(line 2
2550)は、OutputMenυに変わる。
5oftkey6;^nnotate on(line 22580)は、アノ
ウテイトソフトキー(TSSET−3)を活性化する。新しいラベルはライン2
1100上のLABEL SK手順により示される。コマンドラインは、サブル
ーチンCLEARCMDLIN を使用してクリアにされる。
S o f t k e y 7 ; Hardcopy(line 2257
0)はハードコピーソフトキー(TSSET−5)を活性化する。「出力装置を
選択せよ」というメッラインはソフトキーラベルのちょうど上のコマンドライン
上に示される。
S o f t k e y 8 : More 5oftkeys(line
22580)はモアソフトキーセット(TSSET−2)を選択する。
5.4.2 ハードコピーソフトキーハードコピーソフトキー(ライン226
00−22645 ’)は、現在スクリーン上に存在するプロットをある出力装
置(プロッター、プリンター(table)、プリンター(screen du
lIlp) 、ファイル、スプールファイル)に送るために使用される。1と8
のソフトキーは両方ともルートソフトキーセットに戻る。
S o f t k e y 2 ; PlotはPLOT手順(line 2
5000)を活性化する。プロットはすぐにプロッタに送られる。プロットはキ
ーaを押すことにより早期に形成できる。プロットされたプロットは、レイアウ
トの位置にロックされる(POINTER%(23)−1)。
S o f t k e y 3 ; Pr1nt tableはPRINT
TAB手順(line24000)を活性化する。この手順はデータカーブのテ
ーブルをプリントする。
S o f t k e y4 ;Graphic Dumpはスクリーンをプ
リンタにダンプ(dump)する。これはエスケープシーケンス(ESC)&8
p755dFと(ESC)&p3Dにより達成される。
5oftkey5;Fileはファイルに現在のプロットを発生させるのに必要
であった情報をストアする。これは、データハンドリングサブルーチンのνRI
TE PLOTFILE手順でなされる。
So f t key6 ;5pooleはプロット手順の出力をファイルに向
けなおす。数種のファイルは列を形成し、その列は5P00L手順二よって加え
られたと同じシーケンスでプロッタに出力される。PLOT手順が開始される前
に、ブレークポイントがファイルの頭に挿入される。この場合、5TOPがファ
イルに書き込まれる(line 22637)。スプールファイルのファイル名
が、PLOTと列位置番号(1−A 2−B a、s、o)から発生される。次
にスクリーンサイズ変数がラインされ、PLOT手順がALIFSPLILEN
%フラグセットと共に開始される。
4.3セレクトシンボル
5elect Symbol Menuはスクリーンの下部のすべての使用可能
なラインタイプ、シンボル、領域フィルを示す。カーソルは全てのスクリン上を
自由に移動できる(CUR8OR−11)。それは、グラフィック・キーバッド
のグラフィックカーソル移動キーによって移動できる。もしもSが検出されると
、カーソル位置がチェックされ、SYMBOL MENυ手順によって示される
あるシンボル上にあったか否かがチェックされる。カーソルは横方向には+/−
40ピクセル、縦方向には+/−5ビクセルの領域内にあるべきであり、それは
ライン22680−22672のルーチンによって検出される。ディスプレイの
下部がクリアされた場合に、あるソフトキーが押されると(ライン22656
) 、5ELECT SYMBOL Menuが残っている(ライン228
95上のサブルーチンがエスケープシーケンス°(ESC)*m0051185
゜と゛(ESC)*mlG”を用いる。)。同様のアプローチが他の部分的なり
リアル−チン(ライン22380と22390 )によって使用される。
SYMBOL MENU手順(ライン22673ff )この手順は、コマン
ドライン上の°5elect with cursor(!rselect
exit:any 5oftkey)’ というメッラインを示している
。このラインの下の各々10シンボル或はラインタイプを有する5つのローが表
示される。ライン2261114はユーザが定義できるシンボルを示しており、
ライン22885は異なるラインタイプを有する小量のラインをしめす。ライン
22686は固定されたキャラクタセット以外のシンボルを示している。残りの
フィールドはシンボルカーブ(例えばS25.LINE22687)を示してい
る。
5.4.4 ドウロー
DRAWVフトキーCラ−4ン22700−22795 ) ハ制御4サレタ7
7ンクシイオンセットを提供し、ディスプレイの任意の位置にラインやシンボル
を描く。これは、グラフィックカーソル(CLIRSOR−11、ライン227
02 )を望みの位置に移動し、ソフトキーの一つを選択することによりなされ
る。
ソフトキー1 ; ’Enter Penup’ (ライン22710 >は
ペンを引き上げ、グラフィックカーソル(JDPC−OIjf’t pen
)の前の位置から現在の位置に移動させる。新しいエントリーが加えられる度に
ラインは選択的に消去され(gosub 23700)、その次に再び描かれ
る(gosub 23700)。
ソフトキー2 ; ’Enter Pendown ’ (ライン2272
0 )は同様の機能を果たすが、ペンを下降させる。即ち、ラインはカーソルの
前の位置から現在の位置に引かれる。
ソフトキー3 ; ’Move cursor’ (ライン22730 )
はグラフィックカーソルをある蓄積された点から他の点に移動させる。前の点が
到達されると、グラフィックカーソルは第1の点にジャンプバックする。
ソフトキー4 ; ’Delete’ (ライン22740 )はソフトキー3
(fDc)のポインターを使用しであるドウローポイントを消去する。この消去
がなされる前に、ドウローポイントはディスプレイ(gosub 23700
)から除去される。そして、IDCより上の点はある位置から下流方向にコピー
され、前の点がクリアにされる。カーソルはアレイ位置IDCを有する新しい点
上に位置決めされ、ドウロ一点が再び描かれる(ライン22744 )。
ソフトキー5 ; ’Redraw’(line 22750)は現在のプロ
ットを再び描く。
ソフトキー6 ; ’Enter Symbol’(line 22760
)はグラフィックカーソルの位置に能動的なシンボルタイプISYMを有するシ
ンボルを描く。
ソフトキー8 ; ’Exit“は、DRAνソフトキーから出る。
ライン22785上のルーチンはあるエントリーをドウローアレイに加える。こ
れがなされる前に、ピクセルユニットに復帰するグラフィックカーソルの位置は
、プロット(0−1)のフレームに比較される相対的なユニットに変換される必
要がある。
これらのユニットは10000倍され、それらはインチジャー変数にストアされ
ることができる(ライン22790 )。
5.4.5アノウテイト
ANNOTATEソフトキー(ライン22800−22895 > プロット
上の任意の位置にラベルを置くためにグラフィックカーソル(CLIRSOR−
11> と共に使用される。
ソフトキー1乃至3はタイトルを変更するために使用される。X軸のラベルとY
軸のラベル。ソフトキー6はRoot Menuに戻るために使用される。ソ
フトキー7が押された後に、ラベルがスクリーンから除去され、すぐに°Tex
t7’が示される。テキストの数行が、キャラクタがライン上に現れなくなるま
でブロック(1から15)に受は入れられる。コマンドの限られたセットがライ
ンスペース(code &A 1ine 22873)、或はディレクシ
ョン(code &R1ine 22874)を変えるために使用できる。ライ
ン2287S上では、多数のアノウテイトラインがインクリメントされ、ディレ
クション、位置、長さ、ラベルがストアされる。ライン22879上で、Plo
tsize Menuに対する更新されたポインターがセットされる。
ソフトキー8は多数のラインポインターpg(14)をゼロに設定することによ
り、全てのアノウテイトラベルを除去する。
5.4.6モア ソフトキー
MORE ソフトキー(ライン22900−22990)はグラフィックディ
スプレイを編集するために追加のファンクションを提供する。
ソフトキー1 ;’ Sa+ooth Display ’ (line
22910)は選択的に1つのデータカーブを消去し、それをスムージング(ラ
イン27500上のサブルーチン)の後に再び描く。
ソフトキー2 ; ’Interpolate Line’ (ライン22
920 )は、選択的にあるデータカーブを消去し、それがINTERPOLA
TE手順(ライン26500 )によって処理された後に、それを再び描く。
ソフトキー3 ; ”Replace Symbolo (ライン22930
)は、再び選択的にあるデータカーブを消去し、新しいライン或はシンボルタ
イプ(Select Symbol Menu (PSYMO−INSY
M))でそれを描く。
ソフトキー4 ; ’Replace Pen ’ (ライン22940
)は、ペンタイプがブロムブトの後にエンターされなければならない点を除いて
、ソフトキー3と類似の機能を果たす。全ての機能は同様に進められる。まず、
コマンドラインがクリアされ(サブルーチン22390)、それからグラフィッ
クカーソルがコマンドライン(サブローチン22350 )上に位置決めされ、
BASICINPUTが実行される。それから、カーブが除去され(サブルーチ
ン23300 ”) 、ファンクションがデータ上で実行され、カーブが再び描
かれ、コマンドラインがクリアにされる。
ソフトキー5 ; ’Lock Graph ’ (ライン22950 ’
)は手動でディスプレイをロックする(POINTER%(23)−1)。
ソフトキー6 ; ’C1ear 5creen” (ライン22960
)はスクリーンをクリアにし、現在生きているプロットを再び描く。
ソフトキー7 ; ’ Zoos on10ff’ (ライン22970
)は、’zoom on’モードPOINTER%(21)−0と°zooa
+ off’モードPOI NTEI?%(21)−1との間を選択する。両
者の場合、ディスプレイはクリアにされる必要があり、実際のプロットは新しい
スケールで描き直される。
ソフトキー8は最初のソフトキーセットに出る。
5ディスプレイ手順
プロットをディスプレイ上に形成する手順はいくつかの手順に分けられ、それら
はDISPLAY tjPDATE手順と呼ばれる。
DISPLAY 5CALE
(4) DISPLAY AXESDISPLAY ANNOTATE
DISPLAY FRAME
(10) DISPLAY DATADISPLAY COLUMN
DISPLAY DRAW
DISP 5CALE手順 (ライン2300Off )ディスプレイが生成
される間、キーボードは、周期的に、またプロッタへのバックグラウンド出力が
4周期毎になされると同時に、モニタされる(TSHARE−4)。エラーが発
生するとディスプレイの発生が終了させられ、プログラムは主プログラム(ON
ERRORGOTO21900,RESLIME 500)を再び続ける。サブ
ルーチンC)IECK AXESが読みだされ、無効なアクセスを検出する(
STEP>=0 ) 、 ライ> 23005と23025上で、フレームのサ
イズが°zoom on’モード(POI NTEI?%(21)−0)に対し
て決定される。フレームはビクセルの左下部(PXM I N 、 PXM I
N)と右下部コーナー(PXMAX、PXMAX)によって定められる。プロ
ットのブロボーシ=s ン(Y/X、PC(2)/PG(1)) ハX方向(7
) (H4)1)或はY方向の(H4(1)に於ける右上部コーナーをモディフ
ァイすることにより保たれる。’zoom off’モードでは、フレームは
Xサイズ(PC(1)) 、左リム(PC(3)) 、Yサイズ(PC(2))
、下部リム(PC(4))を使用して計算される。ボートレイトモード(PC
(13)−20R4)では、コーナーは以下のように計算されるべきである。
PXMIN−左リム*15+100
PX100PX左リム+Xサイズ)*15+100PYMIN−100PY X
サイズ+左リム)*13PYMAX−390−(左リム)*13PXMINとP
XMAXにおける100のオフセットはA4シートの紙がボートレイトモードで
全スクリーンを使用できないということによる。軸のペンがゼロ(PG(12>
)の場合には、スクリーンはクリアされず、同じプロットに10以上のデータカ
ーブを描くために通常使用される。’zoom on’ モードでは、ディスプ
レイは通常クリアされる(ライン23035 )。ディスプレイがネガティブモ
ード(POINTER%(24)−1)の場合のは、全スクリーンがセットされ
る。ボートレイトモード(zoom off’ )では、A4シートによって結
合された領域のみがセットされる。
DISPLAY AXES手順 (ライン2305Of’f’ )グラフィッ
クテキストのサイズは5IZE手順で調整される。スケールファンクションFN
SCXとFNSCYが読みだされ、ユーザユニットをビクセルユニット変換する
。H5とH6はユーザユニットのフレームサイズの1%に設定される。その次に
XAXIS手順(ライン25900上のサブルーチン)が読みだされる。
このルーチンでは、ユーザユニットにおけるMINIからHA)Itまでのイン
クリメントDEuと第1のインクリメントDELO8を有するチックとディジッ
トで水平ラインが描かれる。出発点の座標はAYPO8とAXPO8によって規
定される。ラベルのディレクションはDIR手順により設定される。ラベルの相
対的位置はZXPOとZYPOにより規定され、チックサイズはH6により規定
され、 AOPは軸のタイプとアピアランスを規定する。Y軸は同様にYAXI
S手順(ライン25950上のサブルーチン)によって描かれる(ライン230
6B −23069)。
軸のスケーリングはX上部とY右の軸に対して繰り返され、これらの軸は異なる
ユニットで描かれる(ライン23070−23081)。ライン23082では
、スケーリングは再びX下部とY左ユニットに変えられる。X上部軸はユーザユ
ニットを用いて、PXOI:(5)変数に対する負の数を単に選択することによ
りX下部軸から描かれる(ライン23085 )。同様のことがY右軸に対して
適用され(ライン2306g ) 、以下同様である(ライン23077 )。
DISPLAY ANNOTATE手順(ライン23090ff )スケーリ
ングは相対的ユニットに変えられ(0−100%)、ラベルのサイズは5IZE
手順により設定される。PC(14)ラインはディレクションPC(1+15)
を有するディスプレイに書かれる。
FNXWとFNYWファンクションは相対的ユニットをビクセルユニットに変換
するために使用される。テキストはPLOTUファンクションが呼び出された後
にプリントされる。
DISPLAY FRAME手順(ライン231001’f’ )再び、相対
的スケーリング(0−100%)はフレーム、タイトル、及び軸ラベルをディス
プレイするために使用される。ラベルに対するキャラクタサイズは、PGX(2
)とPGY(2)のコモン変数からとられる。変数F3とH4は、トータルのフ
レームサイズの%で表わされる相対的キャラクタサイズを有していて、SLはラ
ベルの半分の長さを有している。ラベルの出発点は、ラベルの相対的位置(X下
部軸に対するPGX(7)とPGY(7))と相対的キャラクタサイズにラベル
長の半分を掛けた値(ライン23102 )により定められる。もしも、軸コン
トロール変数PXU8(5)の3番目のビットが設定されると、ラベルはプリン
トされる。同様の手順が他の軸(ライン23109−23112 )及びタイト
ル(ライン23122 )に対して適用される。フレームは相対的位置(0,0
−100,00) (ライン23115−23119 )を有する線を使用して
描かれる。
DISPLAY DATA手順(ライ>2325Off’ )データは下部と
Y左軸からユーザユニットを用いて示される。ライン23270上のFOR−N
EXTループはDCURVE手順を呼び出し、ゼロとは異なるペンが選択された
場合に(STIFT%0<>0)、キーボードをモニタする。
DCUI?VB手順(ライン233001T )シンボルに対するサイズはPG
X(4)とPGY(4)共通変数を使用して調整される。データポイントの数が
3以下(DMAXC)<5)か、シンボルタイプが負またはゼロ(PSYM O
(1’)かにより手順は終了する。データポイントの数またはシンボルタイプが
あまりにも大きい場合には、それらは最大有効数に設定される。1から10まで
の領域のシンボルが選択されると、ユーザが規定できるキャラクタセットはライ
ン2B400上のサブルーチンで読み出されなければならない。ラインカ月SY
M)10及びIsYM(21を選択されると、ラインタイプが定義される(ライ
ン26100上のサブルーチン)。最初の値がプロットリミットを越えるならば
、PLOTU :17 ンドテPXMIN、PYMIN (ライ:/2333
2 )に設定される。23350から23380までのライン上のループはスク
リーンにデータポイントをプロットする。もしプロットリミットを越えるとデー
タポイントは示されない(ライン23352と23354 )。データはその後
ビクセルユニットに変換され、再びオーバーフローをチェックされる(ライン2
3368−23372 )。それからライン(ライン233373)かユーザが
定義可能なシンボル(ライン23375 )のどちらかのIsYM変数に依存し
て、コラム(ライン23800上のライン23377サブルーチン)或はASC
IIキャラクタ(ライン23378 )が描かれる。最後のデータポイントが描
かれると、ペンが持ち上げられ、処理は終了する。
CHECK AXES手順(ライン2360Of’f’ )この手順では、5
TEP変数があまり小さく選ばれると、ディスプレイ軸手順はハング市、99以
上のチックとディジットが描かれる。
DISPLAY DRAW手順(ライン23700f’f’ )この手順はラ
インやシンボルがDRAWソフトキーによって入力されると、ラインやシンボル
がディスプレイにプロットされる。この手順はライン22795上のサブルーチ
ンを使用し、蓄積された位置をピクセルユニットに変換する。もしもシンボル或
はコラムが選択されると、これらはライン23770のサブルーチンを使用して
ディスプレイされる。IDPO変数が10から20の領域にあると、ラインタイ
プが選択される。
ペンダウンモードでは、IDPO変数はラインパイプをホールドし、ラインがP
LOTDコマンドで描かれる。ペンアップモードでは、IDPO変数はゼロであ
り、PLOTUコマンドで移動が行なわれる。
DISPLAY COLUMN手順(ライン2380Off )コラム幅はコ
ラム幅変数PG(8)とX2変数(フレームサイズの0.5%)を使用して決定
される。XlとYl変数はこの手順をパスして、コラムのセンターと高さを規定
する。
フレームが描かれると(ライン23810と23815 ”) 、領域は満たさ
れる。その領域は垂直方向にハツチされたり(ライン23900上のサブルーチ
ン、ISYM−22) 、或は水平方向にハツチされる(ライン23920上の
サブルーチン、 ISYM−23)。シンボルタイプで垂直方向のハツチングが
なされる。その領域は、エスケープシーケンス(lsYM25−27.0IOS
マニニアルを見よ)を用いて傾斜ラインでハツチされる。ライン23855上の
エスケープシーケンスは、領域全体を完全に満たす(ISYM−28)。29ま
でのIsYMセットを用いて、コラムはドツトラインで垂直方向にハツチされ、
30までのIsYMセットを用いて、コラムは緻密なスペースで垂直方向にハツ
チされる。
5.6 印刷処理
PRINT HEADER(ヘッダを印刷する)処理(ライン24000ff
)
この処理はタイトル、軸のラベル、注釈ラインをラインプリンタ上に印刷する。
PRINT DATA(データを印刷する)処理(ライン24080ff)
データはフォーマットストリングFORMP 1 $を用いて。
2列にプリントされる。数が9999より大きいか2 叉は。
0.01より小さい場合、浮遊小数点形式“####“。
−°“を用いて印刷される。
5.7 プロット処理
プロッタ上にプロットを生成することは1次の複数のサブタスクに分割される。
PLOT FRAME (フレームのプロット)PLOT ANNOTAT
E(注釈ノブロット)PLOT DRAW(図のプロット)PLOT AX
ES (軸のプロット)PLOT DATA (データのプロット)PLOT
COLUMN(欄のブ0ット)PLOT FRAME (フレームのプロ
ット)処理(ライン25000ff)
初めに軸がCHECK AXES処理によりチェックされる。+の後、 プロ
ッタ月のI10バッファが開かれる。エラーの場合に(戴 ライン6000のエ
ラー処理が呼びだされる。
フレームはXサイズ変1!ILYサイズ変数、左縁変数、下縁変数を用いて調整
される。センチメートルが400を掛けられることにより、プロッタの単位に変
換される(ライン25020)、プロッタがプロッタ単位PL−″IN; r
po、 o。
109001.7650”を用いて初期化される。また、相対走査(0−100
)がFNSCX機能とFNscY機能を用いて実行される。フレームが0.01
%のオフセットを有して2回プロットされる(ライン25050と25060)
。
ラインが機能MOVBを用いてプロットされる(ライン26000のサブルーチ
ン)。
パラメータI PENはペンを下ろす時に1にセットされ。
ペンを上げる時に0にセットされる。 ライン25100において、タイトル(
PGX (1)、 (PGY (1))用の文字サイズがプロッタにセットさ
れる。ペンがタイトルの位置に移動する。 ラベルの方向(ランドスケープ叉は
ポートレートモードPg(13)に依存する)がセットされる。 プロッタが中
央ラベルモードに切り替えられる。ライン25820のPLOT LABEL
手続きを用いてタイトルが印刷される。
軸のラベルの印刷のために、同一セットの命令が使用される。
PLOT ANNOTATE(注釈プロット)処理(ライン25150ff)
二のPLOT ANNOTATE処理は、”31<X−5iz e)、 (
Y −s i z e>”コマンドをプロッタに送ることにより、注釈ラベルの
文字サイズをセットする。
変数PGX (5) とPGY (5) が機能sTR$ 0 を用いてアスキ
ーストリングに変換される。この処理のメインループにおいて、MORE処理を
用いてラベルが位置付けされる。ラベルの方向が方向変数PG(1+15)と変
数PG(13)に従って設定される(ランドスケープ又はポートレートモード)
、ストリングがPLOT LABEL(ラベルをプロットする)処理によりプ
ロットされる。
PLOT AXES (軸)印刷)処F[(5イン2519ff)
軸のプロットのため、運出なペンを選択するために、SP” +STR$ (P
G (12)”)+”、″ストリングが用いられる。 PG (12)がゼロ
を含んでいる場合にIL 軸はプロットされない、スケーリングがX−1X−
1o軸とY−1aft軸のユーザーユニットにセットされる。 また、 F5と
F6がユーザーにおけるフレームサイズの1%に設定される。
文字サイズが変数PGX (3)とPGY (3)を用いて設定される1表示と
同様に、軸がXAXISとYAX I Sを用いてプロットされる(パラメータ
の意味を示す為のDISPLAY AXES処理とxAxIS処理を参照(7
)、−ト)。
PLOT DATA (データをプロットする)処!(ライン25600ff
)
データがプロットされる前に、マスクがプロット上に重ねられる。マスクは、
ライン・やシンボルがフレームの外にプロットされることを防止する(ライン2
5601のIWコマンド)。
シンボルとペンの為の文字サイズがライン25605にセットされる。メインル
ープがシンボルINSYM−PSYMOとペン5TIFT%を用いて10データ
カーブに至るまでプロットする(ライン25610−25770)、 ライン
25620において、後半のカーブに用いられるペンが現在のペンと異なる場合
に41 ペンが交換される。ユーザーが定義できる文字のためにセットされた
印字文字がロードされなかった場合には、 ライン25400のREAD C
HARSET処理ニヨリ、 POI NTER%(25)<>3の処理が実行さ
れる。 ラインタイプが選択さ瓢 プロッタのペンが持ち上げられ、第1のデー
タポイントに移動される(ライン25650)、 次に、データ点がライン2
560から25750のループによりプロットされる。データ点が範囲外の場合
。
ライン25680がペンをデータ点に移動させるためにペンを持ち上げる。デー
タ点がレンジのはるかに外の場合、 ライン25690がそのデータ点をとばす
、 ライン25730がら25747までのルーチンがシンボル(INSYM<
11〉)、又は(l i ne I NSYM>10+I NSYM<21)、
又はII (INSYM>20and INSYM<31)、 アスキー文字
(I N S Y M > 30 a n d I N S Y M < 41
)をプロットする。ラインプロットモードにおいて1社 最終点がプロットさ
れた後、ペンが持ち上げられる。全ての曲線の全てのデータ点のプロットが終了
した後、ペンがストアされプロッターは原点に移動する(ライン25780)、
I10バッファが閉じら札 処理が残される。
5ENDPL処理(ライン25800ff)この小さい処理は、 プロット前に
PL$ストリングにストリングの限界(chr$ (34))を付加する。
PLOT LABEL(ラベルをプロットする)処理(ライン25820ff
)
この処理は、注釈ラベル(H5$)から文字を文字毎に取り出し、上付きコード
”@”、下付きコード”#”、除外文字コード”&”と比較する。上付き文字と
下付き文字は75%の文字サイズでプロットされる(ライン25830から25
83217)tブルーチン)、C−CPO,” +STR$ (CYOFF)(
” S I″+STR$ (AKTSIX)+”、+STR$ (AKTSIY
)は文字カウンタを1文字分増加し、 1文字を印刷し、通常モードに切り換え
る。除外文字が除外リストに検出された場合には、 ライン25835のサブル
ーチンは文字セットがされたか否かをチェックし、その文字をプロットする(除
外文字用のシステムファイル参照)。
PLOT DRAW (図のプロット)処理(ライン25850ff)
記憶位111DX □ とlDY Oが相対位置(0−100%)に変換される
。 100より大きいIDPO値が見いだされた場合には、シンボルがプロット
される。 IDPが11と20の間の場合には、新しいラインタイプが選択さ
れる(CALL LINETYPE (L%))、 IDPが1の場合。
ペンが下げられ、 IDPがゼロの場合、ペンが持ち上げられる。
XAXIS処理(ライン25900ff)チックオン/オフフラグAT%、桁オ
ン/オフフラグA2%、 ロガリズムフラグLG%がAOP変数によりマスクさ
れる。AX%変数がゼロ叉は99より大きい場合には、 ラベルはプロットされ
なければならず、処理は残る。チックとラベルがライン2591Oから2593
577)FORNEXTループを用いてプロットされる。に#変数がユーザーユ
ニットにおけるラベルの位置を含んでいる。
リニアモードLG%冨0において、ライン25920の機能MOVEを用いて、
チックがプロットされる。ストリングがプロットされる(STR$ (Kl))
前にライン25930において、表示画面上の文字のオフセット処理が実行され
る。ブロック上において:戴 オフセット処理はCP”命令により行われる。数
がアスキーコードに変換されたあと、 5ENDPL処理を用いてラベルが印刷
される。丸め誤差のため、ゼロは非常に小さい既 例え11 1. 75xlO
−”により示される。 これが、 ライン25929で訂正される。もし、K#
がdel#に比較して小さい場合、K1はゼロにセットされる。
YAXIS(Y軸)処理(25950ff)この処理は次の点を除いてXAXI
S処理と同一である。
異なる点+1 チックが水平方向に描かれ、 ラベルが垂直方向に配置される
ことである。 ソースコードラインはXAX I S処理用のラインより正確に
50ライン高い。
MOVE (移動)処理(ライン26000ff)この処理は表示とプロッター
のペンを移動する。 この処理は次の5つのパラメータとともに呼びだされる。
5つのパラメータは、 出力デバイス(TTAUS−1mdisplay。
TTAUS−2虐プロツター)、ペンの状態(I PEN=0−ペンの持ち上げ
、 lPEN−1−ペンを下げる)、転送(PG (13)−1叉は3−背景、
PG (13)−2叉は4−ポートレイト)、 さらに、 HlとH2における
X/Yデータである。
ペンの状態と転送に応じて、 4つの異なるプロット機能(FNPMU$、
FNPMU2$、 FNPM$、 FNPM2$)が用いられる0表示部は
PLOTUのコールとPLOTDのコールの一方をペンの状態に応じて選択する
0表示の前にユーザーX/YデータがFNXWNX上FNYW機能を用いて画素
X/Yデータに転換される。
LINETYPE (ラインタイプ)処理(ライン26100ff)
この処理3社 プロッタと表示部のラインタイプをMICHFITソフトエウア
ラフ部ラインタイプに対し調整する。プロッタのラインタイプはLT、 (l
inetype)、 (size)”コマンドを用いて選択される。DISL
IN%()変換テーブルを用いてタイプを変換した後、 L I NTYPEア
センブリ言語機能を用いて表示のタインタイプが選択される。
READ CHARSET処理(ライン26400ff)この処理はHSYシ
ステムファイルを開き、各々が10文字から構成される多くの文字セットの1つ
を読む、この文字セットはSYM$ (1−10)アレー内にセットされる。
補間手続(ライン2650Of f)
ラインが250データポイントより少ない場合(DMAX□<250)、補間手
続がライン(PSYM (11−20))に適用される。このルーチンは放物線
を連続する3つのデータポイントに適合されることにより、既存のデータポイン
ト間にさらにデータポイント(2)を発生する。補間を実行する前に平滑手続を
呼ぶことにより、ラインがさらに平滑化される。最初に、データ曲線がバッファ
REX O、REYOにコピーされる。いずれかのサイドに1つのデータポイン
トが外挿される。(ライン26560および26570)。
DELTAY変数はユーザ単位にY−フレームサイズの1%に設定される。メイ
ンループ(26600−26700)では、IREY (i+1)−REY (
i))の間の差DELが決定される。DELがY−スケールの1%よりも大きく
、アレイがあまり大きくなければ、(320−j 1)< (dmax (j)
−i) 、さらに3つのデータポイントが発生される。
1つの条件のみが真の場合、1つのデータポイントのみが付加される。勾配H1
と導関数H2がライン26620で計算される。つぎに、ポイントが発生される
。
ポイント1:=Y+ (H2−Hl)*deltaX’ /3ポイント2 :
−Y+ (H2+H1)*de I t aX” /3(ライン26640乃至
26660参照)プロットカラム手続(ライン2680Of f)変数X2およ
びY2はX−respの1%にロードされる。
Y−フレームサイズはユーザ単位で決定される。空力ラムはライン26810お
よび26815にプロットされる。、(DISPLA COLUMNS参照)
ISYM変数に応じて、異なる手続を用いてカラム内の領域を埋める。
26900 垂直バー)チ(HATCHVERTICAL)26920 水
平ハツチ(HATCHHORIZONTA26940 ”ッチ垂直密(HAT
CHVERT I CALDENSE)
5.8雑手続
オートスケール手続(ライン27000 f f)最初にすべての曲線のすべて
のポイントは極値(ライン27020−27090)X00、Yoo、Xllお
よびYllにスクリーンされる。差RANGEX#−ABS (Xll−X00
)およびRANGEY#−ABS (Yll−YOO)は4乃至10の範囲の値
に正規化される。除数XMUL#およびYMUL#は小数点がシフトしなければ
ならない桁数を含んでいる。軸の最小値および最大値が同じ係数XMUL#およ
びYMUL#により分割される。負の数が正になる。最大値は次に大きな整数値
に丸め込まれ、最小値は次に小さな整数値に丸め込まれる。そして負の数が再び
変換される。
最小値、最大値、ステップ、および初期ステップ変数は、それぞれ、XMUL#
およびYMU L #係数により分割される。
PXU# (1)−XO#*XMTJL#PXU# (2)−X1#*)li
UL#PXU# (3)−1*XMUL#
PXU# (4)−0
PYL# (1)−YO$t*YMUL4PYL# (2)=Y1#*YM
UL#PYL# (3) −11YMUL#PYL# (4) −〇
平滑化手続(ライン2750Of f)この手続はVKIオーバレイにおいて述
べた。
カーソル手続(ライン28000 f f)このカーソル手続は3つの異なるグ
ララフイックカーソルの種類に区別される。第1は1つの曲線上あるいは10デ
ータ曲線の中のデータポイントからデータポイントヘジャンプするデータカーソ
ルである。(カーソル−1−10)第2はDRAWモードおよびANNOTAT
Eモードにおいて移動するのに使用されるXYカーソルである。第3はコマンド
ライン上(カーソル−12)でユーザ単位をプリントするXYカーソルモードで
ある。データ曲線の終端でデータカーソルがヒツトした場合、(CW<3あるい
はCW>dmax(カーソル))、移動は禁止される。(ライン28010およ
び28012)。スローモードでは、(OMIT%−〇)、カーソルロケーショ
ンのXおよびYの値は、コマンドライン上に示される。ユーザ単位は画素単位に
変換され、カーソルは移動関数(MGCUR3)となる。XYカーソルをユーザ
単位でその位置を知らせる必要がある場合、ライン28080上で変換によりX
Yカーソルを計算する必要がある。結果はコマンドライン上にプリントされる。
Dカーソル手続(ライン2810Off)グラッフィクカーソルは数値/グララ
フイックキーボード上のキーにより移動される。
数値キー“1”はデータカーソルを左へ移動しくCW−CW−〇)、数値キー゛
3″はデータカーソルを右へ移動する(CW−CW+1)。数値キー°5”は次
のデータ曲線へジャンプし、(CUR3OR−CtJRSOR+1) 、お、及
び数値キー“2°前の曲線へジャンプする。
高速カーソル手続(ライン2814Of f)ライン28140のサブルーチン
は1キーボードをモニタする。あるキーがオートリピートされると、このルーチ
ンにより検出され、続く場合には、カウンタはID−”rD+lにセットされる
。インクリメント変数ICはインクリメントされるので、カーソルは高速に移動
する。OMIT%変数がセットされるとカーソルは更に高速に移動するので、X
およびY変数はコマンドラインに印字されない。XYカーソル手続(ライン28
20Of f)
この手続はDカーソルの手続と同様である。カーソルはスローモードで画素毎に
、移動する。
1 左へ移動 X%−X%−1
2下へ移動 Y%−Y%−1
3右へ移動 X%−X%+1
5 上へ移動 Y%−7%+1
0 位置を知らせる カーソル−12
インクリメント変数ICが1より大きい場合、カーソルは1画素よりも大きくス
テップする。この結果、スピードがかなり増す。
C1(ARサイズ手続(ライン2910Off)スクリーン上の文字サイズはプ
ロッタの文字サイズに比例していなければならない。これは次式により得られる
。
サイズ−(文字サイズ)/(フレームサイズ)*(表示フレームサイズ)/(ユ
ニットセル)*256デイスプレイ上の文字サイズは通常の4*7文字セル*サ
イズ*256゜これは、サイズ/256の係数により拡大または縮小されること
を意味する。サイズ変数は64および2560の限度値を越えることはできない
。Yサイズが2の係数により伸張されると、小さな文字の判読性が増大する。
位置デフォルト手続(ライン2950Off)この手続は左リムおよび下リム変
数(PG (3)およびPG(4))を変える。レイアウト変数(PG (9)
)の位置がセットされた状態でこのルーチンがコールされると、適切な左および
下のリムがセットされる。これは、デフォルトレイアウトにおいであるプロット
かつぎのプロットへ移動するのに非常に便利である。レイアウト1は1つのみの
位置を有し、レイアウト2は2つの位置(ライン29600)を有し、レイアウ
ト3は4つの位置(ライン29700−29725)を有し、レイアウト4は6
つの位置(ライン29750−29785)を有する。
レイアウトデフォルト手続(ライン29800 f t>左リム、下リム、Xサ
イズ、Yサイズ、およびポートレート/ランドスケープフラッグを変更すること
により、A4シート上のいずれの場所にもプロットすることができる。異なるレ
イアウトへのアクセスは4つのレイアウト(PG(13)−1ないし4)に対す
るデフォルトテーブルによりさらに容易になる。PG(13)変数がセットされ
た状態でこのルーチンがコールされると、適切なプロットサイズと文字サイズが
セットされる。
セットアツプ−タッチスクリーン手続(ライン30500ff)
ライン30005乃至30055は単一のタッチフィールドを定義する。(プロ
ットサイズメニュー参照)。ライン30060乃至301090はタッチフィー
ルドアレイを定義する。タッチフィールドはFNTOUCH機能(ライン302
00)によりスクリーン上に表示される。タッチフィールドは4つのパラメータ
、すなわち、スタートローROW%、スタートカラムCOL%、ローインクリメ
ントROWINC%、およびカラムインクリメントC0LINC%により定義さ
れる。さらにタッチフィールドは文字をアプリケーションに知らせる必要がある
。(例えばゝT’)
フィールドアレイは2つのネスティングループにより定義される。第1ループは
ローを定義し、第2ループはカラムを定義する。これらのフィールドの応答文字
は各フィールドの後(ライン30070上のRESP$−CHR5((j−8)
*4+ i ++89)にインクリメントされるスタートコード(89)から発
生される。
タッチフィールドは異なる方法によりデータハンドリングオーバレイにおいて発
生される。タッチフィールドは共通のデータエリアにコードの形で読み込まれる
。つぎに、セットアツプタッチスクリーンルーチンがこれらの変数をデコードし
てフィールドを発生する。(VKIオーバレイ参照)キー人力手続はVKIオー
バレイで述べた。
チャプター6
翻訳器
6.1 コマンド翻訳器
コマンド翻訳器は入力としてASCII列を受入れる。シンタックス翻訳器と比
較される。もしコマンド翻訳器によって翻訳できないならば、行は別処理用の演
算翻訳器に送られる。そのコードは256にバイトのラムを備えたPC内で実行
されるには大きすぎるため、コマンド翻訳器はMICHFITソフトウェアの8
8年2月型の中には含まれなかった。
著しく類似したコマンド翻訳器は、5PECTRAソフトウエア(vsp、ba
s4500ff行参照)に含まれてきた。入力列は4515乃至4535行で翻
訳される。コマンドワードは所望されるような長さにできるが、最初の4ビツト
によって区別できるものでなければならない。もしコマンドワードが入力列内で
発見されると、BEF%の変数は再生されコマンドが実行される。コマンドは以
下の表に記載される。
ナンバー キーワード 機能
I EXECUTE
出力メニューに出力を実行し、入力メニューに入力を実行せよ(それぞれのソフ
トキーと同一機能)。
2 CLEAR
曲線ポインタの数をクリアせずに出力レジスタをクリアせよ。
3 DEVICE
入力メニュー内のソース装置を選択せよ。シンタックス:装置nおよび出力メニ
ュー内の出力装置を選択せよ。
4 NUMBER
入力メニュー内に入力される曲線の数、および出力メニュー内に出力される曲線
の数。
5 AXIS
シンタックス:AXISl、2.75は軸(1−x−下方2−y−左 3−X−
上方 4−y−右)および(l−最小 2−最大 3−ステップ 4−最初のス
テップ)を限定する。
6 AVERAGE
平均されるための入力曲線の数(曲線の数は1に合わせられねばならない)。
7 DEFAULT
出力メニ二−内に設けるディフォルトプロットを読取れ(モード設定に依存)。
8 MODE
出力変換を選択せよ。
9 MENU
活性メニューを選択せよ。1−人力 2−出力 3−データ処理 4−プロット
の大きさ 5−ヘルプ 6−曲線適合。シンタックス:MENU n
0WAIT
n秒待て(背景出力および表示の刷新を可能にせよ)。
シンタックス:WAITn
11 FORM
プロンプト或いは等式を70になるまで列に入力せよ(システムファイル参照)
。シンタックス:FORMAT 1゜“text”
12 LRUN
ディスクからマクロファイルを再生せよ。および直ちにそれを実行せよ。シンタ
ックス: LRUN : “DEMO1”(マクロファイルは伸張度eを有す
る MAK)13 LOAD
ディスクAからマクロファイルを再生せよ。そのため、それは訂正され、貯蔵さ
れ、リストされ、ランすることができる。(LRUN参照)
4LIST
行プリンタのロードされたマクロのリストをプリントせよ。
15 5TOP
翻訳モード内のマクロプログラムの実行を停止せよ。
16 DIsP
カーソルを位置X、Yに移動せよ、およびテキスト或いは変数を表示せよ。シン
タックス: D I S P 23.8 “text−/DISP 7,
12.c1
17 INPUT
テキスト或いは変数の入力をプロンプトせよ。シンタックス:INPUT″p
r omp t” 、P1$/INPUT”prompt”、C1
18 RUN
活性マクロプログラムをランせよ。(1行で実行開始せよ)
19 5TORE
ネームおよび伸張度“MAK”を備えたファイル内の活性マクロを貯蔵せよ。シ
ンタックス: 5TORE ”DEMO2”
20 MACRO
マクロ行を入力せよ。シンタックス:MACRO1,“、。
21 PEN
データ曲線のペンを選択せよ。(〇−選択された軸のペン)シンタックス:PE
N 1.7
22 SYMBOL
データ曲線の座標を選択せよ。シンタックス:SYMBOL 1.5
23 READ
活性ファイルタイプを備えた活性駆動型ファイルを読取れ。シンタックス: R
EAD PLOTF I LE”24 ERASE
メニュー処理データ内のワークファイルレジスタを解除せよ。シンタックス:E
RASE 1225 NOP
空演算
26 WINDOW
出力曲線の出力ウィンドウを設けよ。シンタックス:WINDOW 1,0.
20
27 DEST
入力メニュー内に指定レジスタおよび出力メニュー内にソースレジスタを設ける
ために使用される。シンタックス:DESTREG 1.20
28 GOTO
XX行への無条件飛越。シンタックス:GOTO129NOP
空演算
30 CASE
仮に条件が満たされている際の条件付き飛越。シンタックス:CASE C%
1−C%2.12 CASEP$1−P$2.12 CA S E C%1
−2.1231 FOR
次のループへ。1乃至10のループカウンターによってループが開始され、停止
され、間隔を置く。シンタックス二FOR1−1,0,1
32NEXT
次のループへ。シンタックス:NEXT 133 VALUE
条件および変数の指定(変換列)。シンタックス:vALUE 1■″P%l
’ VALUE 1− “21”34 NEW
新規マクロが書込めるようにマクロスペースをクリアせ5SET
座標およびプロット変数を設けるために使用される。シンタックス:SET
3. 5.4538 DEBUG
中間結果を表示するために使用される展開機能。シンタックス:DEBUG
I DEBUG 037 T S OF T
使用者がソフトキーを押しているかのような同様の機能を実行せよ。シンタック
ス:5OFTKEY 1:38 T A RRA Y
使用者がアレイタッチフィールドを押しているかのような同様の機能を実行せよ
。シンタックス:TARRAY 2゜3(列1段)
39 TFELD
使用者が単一のタッチフィールドを押しているかのような同様の機能を実行せよ
。シンタックス:TFELD 20EXIT
マクロプログラムを停止し、翻訳器モードから通常の使用者モードへ出力する。
662 数学翻訳器
数学翻訳器(2010Off’行)
第1のルーチンはすべての開きおよび閉じ括弧を数える。
それはポインタAPOSおよびzposを最高位の括弧に設ける。さらにもしす
べてのバイトがASCI I特性を有するならば(20100乃至20190行
)、それはGPO5によって等式の信号を指し、照合される。もし開き括弧の数
が閉じ括弧の数と一致しないならば、或いはもし等式信号が発見されなければ、
間違った入力°というメツセージが表示され翻訳が停止する( 20200お
よび29900行)。もし括弧が見つからなければ、列全体が分析され(203
00行)さもなければまさに最高位の括弧の内容を分析する( 20400行)
。
次のブロックは、最高優先順位(1幕指数 L 対数)から中間優先順位(*
乗算 / 除算 D 微分)を越えて最低優先順位(+ 加算 −減算
)へ始動する演算器を設ける。このブロック(20500−20830行)が存
続するとき、変数OPAは演算様式を含み、変数OPOは列内の演算器の位置を
含む。もし演算器が発見されず括弧の順位がゼロであるならば(LMAX−0)
、翻訳器は結果を所望の指定位置(25500f’f行)へ送った後に停止す
る。もし括弧の順位がゼロでないならば、最高位の括弧は消去され翻訳は200
10行で続行される( 20710行)。もしこれらのケースが生じなければ、
゛翻訳器エラー゛ というメツセージが表示され翻訳が停止する。
21000行から始動するルーチンは、演算器内で右および左へ演算数を検索す
る。左への検索は、等式信号上の演算器或いは列の先頭が遭遇されるまで実行さ
れる( 21010および21020行)。そのとき左の演算器はデータ様式を
検索する(27000行で始動するルーチンを備えて)。11のデータ様式の内
の1つが同一視されるまでループは実行される(以下参照)。
左の演算数のデータ様式はLREGA変数に貯蔵される。2次元アレイからの素
子を同一視するために、変数LQUEおよびIQE2は素子の行および段に貯蔵
される。次に、右の演算器のデータ様式が同様の方法で同一視される( 210
50乃至21080行)。
次に、右および左の累算器がデータを再生する( 22000行はLOAD
ACCU方法を呼び出す)。そのときその演算は0PERATION方法によっ
て実行される。中間結果はバッファ内に貯蔵される。左の演算数、演算器、およ
び右の演算数は、中間バッファのアドレスによってコマンド列から除去され置換
される。
第1の演算数の先頭まで22500行は列を引き出す。22502行は右の演算
器の後の列の残部を引き出す。22504行は、電流サイクルの間に分析されな
い左右の部分から原型の列を引き出す。中間バッファのアドレスはh3$(例え
ば21)内に貯蔵される。新規のコマンド列が組立てられる。
ケース1:最後の演算は最高位の括弧で実行される。
D −2* (5,25+8.0) * 41pO! Zl j
rp。
hlb$ h3$ h5$D −2* Zl *
4ケース2:最後の演算は括弧のないコマンド列で実行される。
D −X2 + X3 + X4hlb$ !1po
jopoirpo h5$I
D −Zl 十 X4ケース3:演算はその他のすべて
のコマンド列で実行される。
D −7* (8+ 4 * 3 + 1)/
5hlh$ h2$ ! h4$ h5$!
h3$
新規コマンド列が組立てられた後、翻訳器方法は再び実行される。
演算方法(23000f’f’行)
演算方法は左(X)の累算器および右(Y)の累算器の内容を引出し、演算OP
Aを実行し中間バッファ内に結果を貯蔵する。
z (i)−REX C4) OP REV (1) 両方の演算数は信号
値或いは1次元アレイに成り得る。アレイに対して演算は相応する素子上でan
%+1回実行され、結果素子は結果アレイ内に貯蔵される。
演算器コードライン
0 23080 指定 z (i)−REX (i)1 2310
0 幕乗
2 23200 XlogY X−基準3 23300
乗算
4 23400 除算 x i mQ −−>z i −0,00E2
05 23500 微分
6 23800 ミル
7 23700 +
LOAD ACCU方法(2800Of’f’行)データ様式に依存して、累
算器は異なって再生されねばならない(データ様式の情報にさらに関するDAT
A TYPE方法参照)。データ様式0は演算数を表さない。この場合におい
て省略値は、乗算および除算に対して対数2.71828182を採用する。他
の演算に対する省略値はゼロである。データ様式1に対して、ASCCI列は実
数に変換され、an%十1回累算器内に再生される( 26080列)。データ
様式2に対して、中間バッフy d x (lque)の内容は累算器内にコピ
ーされる。データ様式3および4に対して、XおよびYアレイはワークファイル
から読取られる(、 26100および26110行)。
データ様式5に対して、定数C(lque)の内容はan%+1回累算器内にコ
ピーされる( 28120行)。データ様式6に対して、ワークファイルレジス
タ1queからのヘッダ変数1que2の内容はan%+1回累算器内にコピー
される( 26130行)。
データ様式AおよびBは指定位置としてのみ使用される(STORE RES
ULT参照)、T’−9様式9および1oニ対して、レジスタIqueのX或い
はYアレイからの1素子はan%+1回累算器内にコピーされる( 28150
および28160行)。
REV累算器は2B200乃至28297行を使用する類似した方法で再生され
る。
のデータ様式同定器を検索する。
データ様式 同定器
1 ディジット 9 実数
2 Z Zl 中間バッファ3X X7X素子の
1次元アレイ4Y Y8Y素子の1次元アレイ5CC1,定数
6V Vll 変数(ヘッダからり7 A Al
出力Xアレイ8 8 Bl 出力Yアレイ9N
NIIXアレイからの1素子10M MIIYアレイからの1素
子5TORE RESULT方法(250001’f’行)゛結果の指定位置
は等式信号の左側に与えられねばならない。
25510行はコマンド列の右側を分析する。25540行において、データは
Y累算器へ再生される。次に等式信号の左側が分析され、そのデータ様式が決定
される( 25550乃至25580行)。
通常のデータ様式に加えて、そのデータは表示D″或いはプリンタ P′に送る
ことができる。データ様式に依存して、異なったメツセージが示され(2563
0乃至25590行)その結果は貯蔵される。
6.3 変換翻訳器
INTP TRANSFORM方法(1950(Iff行)X変換用の列(f
ormat$(25>)は翻訳器列領域(in$)にコピーされる。19510
行において、限定されないソースレジスタ’RR”はソースレジスタ(str$
(tque(j)))の値にファイルされる。19520および19530行に
おいて、隣接したレジスタはアクセスされることができる。もし“Pl”が発見
されるならばtque(j)に続くレジスタが使用され、もし“Ml”が発見さ
れるならばtque(j)に先行するレジスタが使用される。列はそのとき数学
翻訳器に続けられる。Y変換用の列(f’ormat$(2B))は手続きが終
了する前に同様の方法で処理される。X出力バッファ(dx(n、 ))内に
結果を貯蔵するための翻訳器用の信号は、整数(1乃至10)によって続けられ
る特性“A”である。もし“B”が等式信号の左側で発見されるならば、結果は
Y出力バッファ(dy(n、 ))内に貯蔵される。
6.4 等式翻訳器
パーソナルコンピュータのプログラムに適する新しい直接の曲線は、前記演算翻
訳器に基く特性にとっては新しい。
翻訳器は′モデル゛機能によって入力された等式を使用する。等式信号の左側に
対して、ダミー引き数゛R゛が入力されねばならない。この引き数はモデルの結
果を平方ルーチンの合計へ導く。右側は、少なくとも1度基体或いは抑制コンセ
ントレージョン(S)を含まねばならない。
適合中に、(S)座標に対する値は実験的データを備えたソースレコードから読
取られる。モデルと実験的データとの間の差異の平方の合計が最小値になるため
、モデルは最適にされた6パラメータ(CI乃至C6)になるまで使用すること
ができる。これらの見出し語を除いて、モデルは任意の演算器、定数、および他
のソースレコードを含むことができる。
適合が実行される前に実験的データのデータポイントの数は、ノイズを含むレコ
ードのデータポイントの数と比較される。
もしそれらが等しくなければ、適合は実行されない。一度等式が入力されると、
翻訳器適合(モデル10)は他のモデルのように扱われる。模擬曲線のためのソ
ースレコード、ノイズレコード、指定位置レコードが選択されねばならない。最
適のグリッド因子との第1の概算が入力される。適合は、適合メニュー内の゛実
行開始適合′機能から開始される。適合ルーチンのサンプル出力はリストされる
。
等式翻訳器は変換翻訳器と同様の方法で作動する。2つの方法は、適合ルーチン
と標準数学翻訳器とを接続するために必要とされる。
C0NV ADDR方法(18800ff’行)この方法はシステムファイル
(format$(26))から入力列を読取る。変換翻訳器内でのように、関
係アドレス“RR”はポインタzr%を使用する絶対アドレスに変換される。
INTP FIT方法(19000ff行)適合オーバーレイ内の等式翻訳器
は、適合モデルの数値を求めるためおよび適合を実行するために数学翻訳器を使
用する。適合のパラメータ(pl乃至p6)は、翻訳器の変数(C(1)乃至C
(6) )内に貯蔵される。実験的データのXベクトルはS(基体)にアクセス
する。もし特性“R′が等式信号の左側で発見されるならば、平方の合計が計算
される。すなわち、翻訳器はパラメータp1乃至p6で呼び出され、実験的デー
タに対するポインタおよび重みに対する。そのときそれは計算された信号と実験
的信号との間の差異の平方の合計に戻る。
適合ルーチンにおいて、翻訳器は等式およびXベクトルを使用する信号を模擬す
るために使用される。
平方の合計を実行するための翻訳器用コマンドコードは、等式信号の左側の特性
“R″である。
チャプター7
データ構造
7.1 共通データ領域
MICHFITソフトウェアの共通データブロックは、RAM内の指定部分であ
る。それはサブルーチンの間の総括的変数を交換するために使用される。総括的
変数は以下の表によって説明される。
ポインタおよびフラッグ
pinit:実行開始。もし共通データ領域が初期化されているならば、このフ
ラッグが設けられる。
forts :開始ポインタ。サブルーチンを処理するデータが活性されるとき
、このポインタは入力、内容かまたは出力メニューを活性するために使用される
。
tmod:変換1乃至6
tein:入力装置1乃至6
taus:出力装置1乃至6
teart:ファイル様式
:
name:使用者の名前(ワークファイルを同定するために使用)
initialen:使用者のイニシャル(ファイルネームを使用)
pret ニブログラムの呼出しは、活性サブルーチンの端子後再開される。
datstr:主要プログラムによって発生したデータは曲線適合にプリントさ
れ、出力メニ二一によって示される。
anzgem:平均値への数
anztit:入力および出力メニュー内の曲線の数autoscale:自動
スケール オン/オフ 110interpolate:改東フラッグanze
ige:内容メニュー内の活性ページ5oftk:ソフトキーの活性配置
of fo%:出力メニューの回転状態offi%:入カメニューの回転状態
format ()ニブロンブトはsymOの開始中にシステムファイルから読
取られ、開始中および他の座標が必要とされるときに座標はシステムファイルか
ら読取られる。
1nhalt ():指令集は同一のファイル様式である32のファイルのフ
ァイルネームを含む(例 運動ファイル)inhp():各駆動装置内の各ファ
イルの入力の敷用のポインタ(5つのファイル様式5つの駆動装置)macro
():コマンド言語用マクロfile name():ファイルネームは、フ
ァイルネームを入力サブルーチンに引渡すために使用される。
1u()ニスクリーン更新ポインタ。もしコンピュータが使用中でなれば更新さ
れねばならないメニューの一部分を貯蔵するために使用される
ipO:ワークファイル更新。外部ルーチンによって変化されたレコードを貯蔵
するために使用される。
10本のデータ曲線
p s ym (10) :座標それぞれのライン様式(1乃至50)sti
ft%(10) :プロッタおよび表示用ペン(0乃至8)jQue(20)
:入力および出力メニュー内のソースレジスタ
dma x (10): RAM内の各データ曲線のデータポイントの敷用のポ
インタ
d x (10,332) :データ曲線のアレイdY (10,332)
ニ
プロットの限定
beschr ():軸の列、タイトル、ラベルに注釈をつける
t l (30) :列の長さ
pxu# ()、pxo# D :最小値、最大値、デルタXおよびデルタx
O
pyl# ()、pyr# ():最小値、最大値、デルタyおよびデルタy。
pgx O、pgy □ :タイトル、ラベル、ディジット、座標および注釈
の大きさ
1ciX () 、 idy () : 12gデーデータポイント大値
を描く
idp:ベン、座標、或いはライン様式%式%
1con():タッチフィールドの限定チャプター8
プロシージャリスト
プロシージャのアルファベット順リストa)オーバーレイを扱うデータ
ADDjNTRY PROCEDURE 1975ffADD J
jυI、 PROCEDURE 8200f
f ’BACK−0υTPtjT PROCEDURE 4300
ffCHECKJNPυT PROCEDURE 5000ffDA
HA−COH)IAND PROCEDtJRE 3400ffDAH
A、MENUPROCEDURE 3200ffDAHA−UPD
ATE PROCEDURE 3025ffDATA、−READ
PROCEDURE 9200ffDATA−讐RITE PRO
CEDURE 9100ffpiL−pNrRy PROCEDUR
E 1950ffEDIT、、−CHD PROCEDυREE)
lERGENc’i’、−CLEAN PROCEDURE 6
400ffERRORJECOVERPROCEDtJRE 6000
ffHEADER−READ PROCEDURE 9800ffH
EADER−WRITE PROCEDURE 9900ffHELP
PROCEDURE 6500ffINCONVERT
PROCEDUREINPUT−COMMAND PROCEDURE
1400ffINPtJT FILENA)IE PROCEDU
RE 1900ffINPUT MENU PROCEDURE
1000ffINPUT−UPDATE PROCEDtJRE
1025ffKEYLABEL PROCEDURE
8700ffOUTPUT−CMD PROCEDURE 240
0ffOUTPU’jHENU PROCEDURE
2000ffOUTPLIT−1JPDATE PROCEDURE
2025ffQtjICK−)IELP PROCEDURE
6900ffREAJSYSFILE PROCEDLIRE
18500ffRETEXT PROCEDURE
4000ffSETjOυCHPROCEDURE
8500ffSMOOT)l PROCEDtJRE
7000ffSPOOLERPROCEDtJRE
4350ffSTART PROCEDURE
4100ffSTORjMENU PROCEDURE □
6800ffTERMINATEPROCEDυRE850ffTRA?JS
FORM PROCEDURE 2900ffTRAN
SFORM2 PROCEDLIRE 2905ffWA
RN PROCEDURE 6300ffWR
ITEJFI PROCEDURE 8035ffWRIT
E)LOTFILE PROCEDURE 8000ffHEADE
R−CHECK PROCEDLIRE 11300ff)IEA
DERJN PROCEDURE ’ 11000f’fnE
ipER−REAo PROCEDURE 9800ffHEAD
ER−WRITE PROCEDURE 、9900ffINjE
RIAL PROCEDURE 12000ffKE)’BO
ARDJNPUT PROCEDURE 1900ffC)翻訳器
0PERATION PROCEDURE 23000ffS
TOREJESULT PROCEDLIRE 25000ffd
)適合オーバーレイ
CALetJLATE PROCEDURE 6500ffCHA
NGEJARPROCEDURE 7000ffCHECKV PR
OCEDURE 5500ffCONVJDDRPROCEDL
JRE 18800ffEVALUATE PROCEDLIRE
5800ffEXPAND PROCEDURE
7400ffFIT PROCEDURE 5200ffF
I丁CPROCEDURE 6700ff
FIT、−C)IDPROCEDυRE?800ffFIT−Co)IMAND
PROCEDURE3400ffFIT=DEBUG PROCEDURE
12000ffFIT−UPDATE PROCEDURE
12500ffFITJPDATE2 PROCEDURE 127
00ffINPUT−FIT PROCEDLIRE 5000f
fINPL+TjNU)fPROCEDURE7100ffIN丁ERPRE丁
ERPROCEDURE 20000ffINTPJIT P
ROCEDURE 19000ffINTPjlHIjPROCE
DLJRE18000ffKEYjNPUT PROCEDURE
11000ffIJNJEG PROCEDURE 10000f
10000ff PROCEDURE 4900ffPRINT
JESULT PROCEDURE 690OffPRINTER−O
FF PROCEDLJRE 7700ffRECOVERPROC
EDURE 4200ffSET−LIMITPROCEDL!
RE5600ffSXHULATION PROCEDURE 60
00ffSIHULATION2 PROCEDURE 6150f
fTl)IEDATE PROCEDURE 7600ffWEI
GHT PROCEDURE 7500ffe)プロットオーバ
ーレイ
AtJTO5CALE PROCEDURE 27000f
fBACtj(XITPROCEDURE 4300ff
CHARjlZE PROCEDURE 29100ffCH
ECKJXES PROCEDURE 23600ffCHE
CKjNPυT PROCEDURE 5000ffCLO5
EjPOOLFILE PROCEDURE 4400ffCυR5O
RPROCEDURE 28000ffDCUR5OR
PROCEDURE 28100ffDCυRVE PR
OCEDURE 23300ffDISPLAY−、A
NNOTATE PROCEDURE 23090ffDISPLAYJ
XES PROCEDURE 23050ffMSPLA
Y−CHDPROCEDURE22400ffD工5PLAY−COLυHNP
ROCEDURE23800ffDISPLAY、DATA PROCEDUR
E 23250ffDISPLAYJRA%i’ PROCEDU
RE 23700ffMSPLAYJRAMEPROCEDυRE
23100ffDISPLAYjCALE PROCEDURE
23000ffDISPLAY、、、UPDATE PROCEDUR
E 22025ffERROI’jRECOVERPROCEDUR
E 6000ffFAST−CUR5ORpRoc+:DuRt
2s14orfFIND−o(+TPLIT PROCEDLI
RE 7000ffINPLIT−2NυMPROCEDUR
E3960ffXNTERPOLATE PROCEDURE
26500ffLAYOυT−DEFAULTS PROCEDURE
29800ffLINETYPE PROCEDIJRE
26100ffKEYLABEL PROCEDURE
8700ffMO〜IE PROCEDURE
26000ffPLOT−ANNOTATE PROCED
URE 25150ffPLOT−AXES PROCEDURE
25192ffPLOT−COLUMNS PROCEDUR
E 26800ffPLOT−DATA PROCEDURE
25600ffPLOT−DRASi’ PROCEDURE
25850ffPLOT−LABEL PROCEDURE
25820ffPLOTSIZE、CMDPROCEDυRE
21400ffPLOTSIZE−HENυPROCEDURE 2
1000ffPLOTSIZE−UPDATE PROCEDURE 2
1025ffSENDPL PROCEDURE
25800ffS)100THPROCEDURE
27500ffSYNBOL−トIENtjPROCEDURE22673ff
XAXTS PROCEDLIRE 25
900ffXY−CL!R5ORPROCEDURE 2s2o
orrYAXIS PROCEDURE 25
950ffアベンデイクスD
rem 書11*零率市車*率本零寧零本傘本11*寧傘傘本率傘宰車率本宰
傘*寧寧傘車孝孝*零車零庫章寧*本本本津率rem 本1率*零ヰ*零零
1 作者 : Brt+no Hichel
It倉傘rem *傘**傘傘傘寧ネ本*傘*章*傘**傘寧*
*傘*ネ本*傘本本孝*本本市率傘市室零本宰*傘本本傘本*傘rem M
INETI): B、>IICHEL 02. Feb、 88rem
5丁0)’:E ”At+tost、):SYS”rem
+++++rem *傘本本率率
車卓”*** 7”−98造 率**本本本傘傘傘***率本傘傘
零*本本本傘ren+ al Cornrnon data aren
rem 51+801 time course 1 1abs
orption vs、tirr+edata and derivati
ve+rem 52(801time course 2
do。
rem 531801 averare time co
urse of severalmeAsurernents
rern 541101 buffer area for
uc+ to 10measurements (Delata Au
pel’s1ram Tl(Jlltitration curve 1
+Dclta、Atj per secondl
rem 丁21411 txtration curve
2 (Delt&I Au persecondl
rern DIS[1]、D2 傘 5eries of measur
ement (A−Zl、andnumber (0−9991
reraD−151203’lf1mggremEIS[20]率narr+e
ofenzymerem E2S(20) * name of
5ubstraterern Tl5r64] ネ comm@nt
remT12(+1愈measurernentparametersrem
L+201 * addition&Il measurern
ent parametersrerr、B1201傘additiona1m
easurernentparametersrem W+201
書 、ASSAYOMA丁E S3’riMe 5etup
+%’O1umeS。
5peed、filllevell
rer;&’1i201京ASS、AYOMA丁王:stoppedflows
etupremA+515ン寧axesofplotsrem D3S[20
] date of rneasurementrem Cf1
51 counters of 5yrin(e volu
mesrelT; B1201 enz>−me con
centration of probes in、iob queue
renl 25−29 flagsrem B9Sf8]
nsme of volume ldisclrem
5tored in measurernent
1:+arameterfile lheaderl
rew 軍事lI*宰寧本***率11電*電寧宰本本宰本宰本本率率本*宰
傘率寧本事本率本本本本本本本宰京本辱本率rem 測定パラメータファイル
(上記のようなヘッダ)rem 丁+11 5tart wavel
ength of range 1relT+ T121
stoI)wavelength of range 1rer+ T
131 enzyme concentrationrem T
(−+1 5ubstrate concentrationrem
Tl:llI]umberofdatapointsverr、 T161
5tart time of time window a
t max。
5ubstrate cone。
rem τ+71 5top time do。
rem T181 number of repetitons
+22−1O1re TT91 data format
and tvpe of modelrem Tll0I 5t
art wavelength for 1nternal refere
ncerem Ti1ll s+top wavelength
for 1nternal referencerem 7口21
5tart wavelength of range 2rem T(23
15top wavelenqth of range 2relT+
Tl1−11 maximal 5ubstrate conc
entration in assa>。
re ff、 T1151 e> 、tinction c
oefficient or 5ubstrate ≠■
ranfe 1
rerh 丁f15! e\tinction coeffi
cient of 5ubstrate atrangLe 2
rem T1171 e::Linction differenc
e (product −5ubstratel at range
1rem 丁1181 e:ctinction differe
nce Tproduct −5ubstrate)at range
2rem T(191spacing type le、g 1=a
rithmetic2=geometric 3=mixedlrem 丁
1201 additional repetitions 11
0−91re 傘零ネT#京隼傘零寧率傘零オ車冷ネ事ネ車事寧傘事ネ零本本
本傘本本京傘本本車傘宰零本率京傘本宰*禽傘本*rem B(11maxi
mal nois+e or average in %rem B1
21 ms>=imal nonlinearity of assa
y in %rem B+31 actual enz>−m
e concentration in assa5゜rem B14
1 rJreselect enzyme concentra
tio++ forautomatic operationrem
B151 aCtual 5ubstrate conce
ntration in assavrem B(61assay vo
lume in mlrem B171
rem B181
rem B(91
rem B(101
rem Bo、11 measurement 1nterval
ls+rem B+121 integration tim
e (slrern B1131 5tart time or
time window at minimalsubstrate co
ne。
remB(143stopetimeoftirhewindowatmini
mal 5ubstrate cone。
rem B+151
rem B(161
rem B(171
rem BB118
1re B+191
rem B+201
rem *寧*本本本本率本率本*零本本本露京*オ傘本寧ネ本*寧*本京
本本本本率宰傘*本京章辱率ネ零傘本本ネ傘rem λO−N3
minimt+m、mad+imum、 d=1ca x and
de2:a\o of active a>:1srerr、 )’
0 − T3 minimum、maximum、delta
y ar+d deltA>”Oor acti〜°@ axisr
am L1+L2 active integr
ation time and activeinterval (s
+
rem E3S[30] 1abel of X−axisr
em E4S140) 1abel of Y−ax5sre
m E55r601 □rem )115160)
rem 本車本傘零***傘傘率亭亭車零本京車車*京傘本本率*零率寧木軍
零車京ネ寧***宰寧本本寧本岑零軍本★rem
ンースコードの開始率宰*本寧車市本零*本傘寧章寧宰京事**零**1
1傘宰寧章ネ本宰傘傘率車率率宰本倉寧本**率尊本本本勝市寧革率*rem
*傘埠卑埠ヰ*本堆傘 限定 本車車事ネ本率寒本率車車
本傘京*本本本本率本寧廁卑傘マrem 幸*傘1i掌本本**零市 共通デ
ータ頭載ノ定1i 宰* * ml * 11 * * 11
* * * 磨@$
120 Co>l 5HORT Sl+801.52+ 印1.5318
01.71201.Tl1411.丁21411゜L1201.B1201.A
(5,51125COMSHOR丁C1151,W1201.W1+51.E(
201130COM TIS[6S]、EIS120]、E2S[20]、DS
[20]、DIS[1]。
B2.D3’[2Q)、D4Si20]、B9S[8)rern****IE*
*零傘零率 グローバル変数の限定 本零京車傘*寧*ネ本本本本章
200 5HOR丁 YO,Yl 、T2.”+’3.XO,Xi、X2.X3
.Ll 、L2.N4 、N5゜N6.N7.’1’4.Y5.”l’6.”l
’72JOMW E3s(30)、E4S(301,E5S(60)220
DI賢+ 1(15(601rem傘*lI牢傘傘傘 必要な初期設定のX
t 富傘本寧1114250 ON ERROR
00丁0 2602551F C+81=I THEX 4000rem
*z零本章津本零率率ITl傘 初期設定 富傘零京倉ロ本
寧寧寧ネ率本寧本零寧寓本書260 CLEAR@ Cf8):]CD2:lO
@ Cr2ン;OΦCl6)J @ (1151=Ll@ GO5じB 2
65 1t 00丁0 295265 DISP 0本章*傘本率傘寧率本
lI本*電率本率傘率傘**零寧寧本本傘率本本本”270 DISP ”’率
力イネチック定数の自動的決定に対する1“ΦDISP ”*** M I C
HK I Nソフトウェア を本”27S DISP ”傘本*
*傘“。
290 p工5p ”電章*零本**寡車京本本零に宰零本傘*京傘傘**
本零本*傘**宰” @ RETURN295 For、 I=1
丁0 41 @ TIII)=O@ T2fIl、:0 @ SEX丁
工29.7 FOR?=1 丁020 @ 丁l11=q−史一シ1Il
=O@ BII)=O@ WIII=O@ECゴ)=0 ・ NE):丁
1
300 : 本*傘本**寧*本宰本率零率1i Wアレイの初期設定
率本本傘零寧亭電本本車車寧事305 k’+11=50 &
K(2L=5 @ WF2)=2.5 @ W141=100 e
W+51=1307 ! mad;、 volumes310 W+
61+=50 I W()l=5 @ WI81=2.5 @ W191J
OO@ W1101J312 ! mst、 rHl 1eve131
5 W!1lizl @ Wi12C,5@ W113C,25*
Wf141=1 @ Wi151=1317 : an+0LIIIi p
er ke>−oress320 W11ε1=1 @ W(171:、
1 @ k’(181=、05 @ Wl19+=l ?ti12(1
1:、01
322 ! 5yrin11e movine 5peed in
cm/m1n325 WHI l:、4 @ W1+2)=、05 @
W1131=、05 @’ &’1(41=60000 @W315
1=60
327!setuoofstoppedflowwithdefaultval
ues330 C111=O@ C121=O@ C(3co I
C+81=I @ C(51=0332 ! counters o
f syriMe volumes 1nternal to MI
C)tKIN340 ! 車宰*傘率寧傘率宰 Tアレイの初期設定*牢倉
京傘*率寧**寧零京本本零零京寧342 7(11=5488 丁121=5
528 丁C31−,18丁(41=150 @ T151=20# T(6
1=4 @ Tr71=10344 ! wavelenBhs 1
range 1. enzyme and 5ubstratec
one、、 No、 of points and tir
ne window 13−16 丁f81=3 @ Ti91=1
@ T(101=580 @ 丁(111=586 e 丁+221=
416C丁+131=420 @ Tl1−11:30二44ど ° no、o
f’ rep、、data format、WaX’elenfihS 】
riu。
referer+:e+wevplengthsrange2.max、St+
bstr、eor+c。
350 T1151=:!7゜F、(Ti161=60 @ 丁1171=−1
6,3e 丁+181=−13352: epsilon 5ubstrat
e range 1. epsilon 5ubstr、 rags2
and delta epsilon l and 2354 T
1191=1 @ T(201=1 @ T191=2(81356:
type or spacing / additional repet
itions358 丁IEニー、、、、、、、、、、、、、、、” e
丁l5=TIS&TIS&TIS&Tl5359 : 傘**章富**零傘
宰寧寧 Bアレイの初期設定 寧宰畠**木寧傘率本本率宜愈寧禽津36
0 P、+11=1 @ B(21=1 @ B+31=、5 @
B141=O@ B151=、5362 : Ir1s−:、noi
se % / Non1辷耳jIity % / [E] in
assay /IE)suto / [E] in assay
presel。
364 B+61=10 (1’ B+71=、5:<66 : a
ctual [5] / asshy volume3(1: B1
111j5 9 B+121=、5 @ B1131=1 @ B+14
1:A370 : 11 : 1nterval and 12
: integration tirne、 13/Ntirhess
indov at [sl min。
376 : Li1l to L1101= measuring
wavelenths377 FOR?=I To 20 @ L
II)=l @ NEX丁 ■378 EIS=”、、、、、、、、、、
、、、、、、、、” @ E2S=”Cytochron+e c”3ε
OD4<=”K、AO::0000 0” @ DIS=”A”
@I D2:10386 : 寧傘傘傘*津愈*寧傘*本10ットティ
フオlレトの初x設定 寧****率車IT愈宵388 、A11.11=o
e A11.21=100 ! A11.31=20 @ A11,41=
O! TNvs、 Zeit
390 Ar1.11=−,01@ A12.21=、OOl @ A12,
31!、001 @ A12.41:0! Delta OD Plo
t392 AT3.1+=−,1@ As3.21=1.5 @ A(3,
31=、2 @ As3.41=、1 400 Plot
398 ! 傘ネ率傘*本*ネII車傘率傘傘*傘傘市*京本率率章**寧
傘寧寧寧本寧*愈本寥傘寧**寧寧傘本本宰傘*400 DISP @ F
LIP @’ DISP ”Please enter the da
te and thenarne of the diskette
”401DISF’”ec、30.Okt、86.Hichelo。
40:’r+IsP”Thetwoinoutshavetobese−pAr
atedbt′acommA” :P rNPL’丁 D3S、B9S@ F
LIP4(430ご: ERROF: GOTO410404GO5じB
2000 @ GOTO3900410DISP ”File ”:D
S:” net found” @’ DISP ”Please
5elee?:” ! ON ERRORGOTO4000412DIS
P ”1 = new read” !’ DISP ”2 = renam
e” @ DISP ”3 =new Directory”
414 DISP 1′4 = initialiSing” ! DIS
P ’°5 = show< Directory” @ DISP ”
9 = 7>−ping error”420 1NPυ丁 B2
422 IF H2’、2 0RB2>5 ’rHEN 40042−
I IF )12=3 THEN GO5tjB 22αLLGOTO3900
42G DISP ”Please enter Drive to/
l/2/3/41 0=:D700 1=:D701 4=:D710”
@ INPUT M1430 IF H2=4 丁HEN 1650
435 0;: ERP、OR00丁0 450 @ HIS=”:D7
00:DフO1:D702:D703:T1710−@ ASgHIS[81重
5+1,81*5+5]440 IF H2=5 THEN CLEA
R@ DISP ”Press (+eontl” @ CAT
Ase F’ALISE
4−12 1F I+2=5 THEN 412443 ON ER
ROR00丁0400−144IFH2:2THENVOLL’MEAsIsB
9S@’GOTO402448BEEP @ 00丁0 400J50
]F ERRN=130 THEN DISP ”Please c
heck the Drjve −eDISP As @ BEE
P
455 p工5p ”傘11111 :f−5−掌本率車零章率” @
DISp ”*wa車車傘率”;ERRN:″ 率ネ傘寧*傘” @
BEEP460 ao”ro 400
rem 率011m傘**車本本 パラメータメニュー ****II***
**0率率率**率*****500 ON ERRORGOTO9000@
CLEAR505DI5p ”**摩*牢*率 メイ770グ7ム ”””
””” ’I” DISF’1章庫率本傘 メスパラメータメニュー1 本
草傘車0510 DISP H3S;TAB1201:丁(31:”nLI
IEI” @ DISP H2S:T、ABi2(11H丁141:’°M+
Sl”
515 DISP ”lSlma−: in 、As5sa>°:TA
B+221;Ti14目”υM520 MSP ”Ranc= ] f
rom+ :”HTl11:” to”;Tl21;”nm” @ DI
SI’”RaMe 2 fro+++ :”;丁f12ン;1° to”
;T1131;”ni”525 DISP ”Int、rer、 for
m:”:T1101;” to”;丁111):”nm” eDISP
”Epsilon Range 1 and Range 2°1
530 DISP ”5ubstrate:”;TABイ12+:Tl151;
TAB+181;T1161;”]/mMelT+”
535 DISP ”Product :”;T115121;T1151+
T1171;TAB118);丁1161+T目εl : ” l /mM
cm”5−10 DISP ”%o、or Po1nts”:TAB+2−11
;T151 ! DISP ”No、ofRepetitons−;TAB12
41;LL3」」丁C20)re” ””””’ 第177)セyトの77
トキ ”””””本****率*軍*550 ON KEY= 1.”
Exit” GOTO4000552ON KEY= 2.”Po1nts
″l 00丁0 13−105540°: KEY= 3.”Ran5+e
” 00丁0 760556 ON KEYz 4.”Patre2°
’ 00丁0600558 ON KEYx 5.”Cone、−00
丁0880560 ON KEYi 6.’NameE” GOTO6905
62ON KEY士 7.”ls]max” 00丁08905640\
):EY= 8.”ErJsilon” GOTO700r6y、 **電
******Wl率パラメータメニューの第2のページ 業傘本倉傘ネ愈
市566 KEYL、ABEL @ GOTO550600CLE、AR@ D
ISP ’“傘市***メスパラメータメニュー2 傘本率寧゛9605
DISP ”Durations:”610 DISP ”at [S)
max : ”;TI6);″ to”;T()IH”see” !
DISP”at [53min: ”;Bf131;” to”;B1
141;’″See”615DISP”HtLxStandarddev、Av
″:B(11:”EzMsg”;B121:”5C”eDISP ”Data
forrh: ”HTl91;’° °9;620IF丁1191=I
THESDISP”Geom、Row”6221F Ti191=2 TI(E
N DISP ”Arithm、 Row”6241FT1191=3THE
NDISP”MixedRow”62(: IF Ti191=4 THEN
DISP ”Reciprocal Rob”630 DISP ”Y−A
xis 丁N vs、 (S] Plot :” ! DISP
All、11;”to”:A11.21:”d”:A口、31;”do°’
;A11.4163RDISP ”)’−A1:is delta OD
%’s Ti1e Plot:” (!’ DISP AP2
.2
1:” to°’:、Al!+21;”d”;、A+2+31;”do’“:
Ar1.416JODISP ”)’−Axis OD %°% Ti
me Plot:” @ DISP A13.11;”to”:A13,2
1;”d”;A13.31:”do°’、A(3,41rem **傘寧*寧
率京零ネ*jlK2)−1=ットノソフトキ−本車率本零市本本本車本寧寧京本
本670 ON iEY* 1.’”Row” 00丁0995672
ON KEY: 2.’″5tde%−″’ GOTO920674
ON KEYi 3.”Durat” GOTO740676ON K
E’O4,”Patel” 00丁0 500678 ON KEY−5
,”TN Sea” GOTO960680ON KEYi 6.”OD
Sca” GOTO−j」06ε:’ ON KEYz 7.OD
Sea” 00丁0 980rem宰牟車*率寧*ヰ率 ソフトキー動作
を実行するル−チン *零11傘率68J ON KEY=
8.”Dform” 00丁0 720686 KE)−LABEL
@ GOTO670690CLEAR@DISP”Enternameofen
zyme”@FIJP@INPL’Tl5
695 DISP ’″Enter name of 5ubstra
te” @ INPL’r H2Se FLIP P
00丁0 500
700 CLEARt DrSP ”Enter the extict
ion coefficient ofsubstrste arId pr
oduct at”702 DISP 丁111;” to 3丁(
21;’° ruTI in (1/mM Cml” @ YNPじ
■
子+151.H1@ 丁(l])−+)11−T(151704DISP E
nter the extiction coeffizient of
5ubstrateand product at”
)06 DISP T1121;” to ”;Tl131;”
nm in fl/mM Cml” !INPLIT T1161.
H2S T1181!H1−T1161 ! GOTO500720IF T1
91=2 THEN T191=2 @ GOTO600725IF
T191=2 7HEN T(91=3 @ GOTO600ELSE
T(91=1 @ 00丁0?JOCLEAR@ DISP ”Ente
r duration at [S]max、”;t’ INPC!TT+61
.丁(7]
T41 DrSP Enter duration at (S)min、”
;16 INPL+TB1131.P、11−11
742 DISP ”Enter measur 1nterval
and 1nte−grationtime”:(f’ I::PL’丁
Ll、L1744 IF Ll>Ll 0F! Ll MOII 、
l#OORLl MOD 、1#OT)IEN 00丁0フ42
745 IF B(131>BIIJI THEN GOTO741746
IF T171/L2>80 0RT(71MOD L2#OTHEN
GOTO740747IF 丁(]l/L2>40 AND 丁191>I T
HEN GOTO740750IF B+141>Tl?l THEN G
OTO740755B+151=B(131@ B(161=T(718B(1
11=L1 8 B(121=L2 @GO5Un 5100 @ GOS
UB 5200 @ GOTO600760CLEAR@ DISP ”
Enter tsaにaltngth Range 1”4 INPU
T丁ζ11.丁(21#GO5υB 4800800 DISP ”Ente
r wavelength range 2°’:@ INFυ丁丁1丁子1.
丁1131! GO5L!8 4800810 DISP ”Enter Wa
velength Range for int、reference”;82
0 INPUT 丁1101.71111e GO5L!B 4800
@ 00丁0 500840 CLEAR! DISP ”Ente
r Number of Po1nts”;@ INPUT T(51
842DISP ”Enter number or repetition
s and additior+elrepetions at rsJr
iin、’;@ INPC’T T181.7(201ε45 IF T
(51寧T(A!1)4000R7(8ン>10 OR7157>400R丁+
51<00F!T+ 81<2 丁)IEN GOTOB4O850GOT
O500
880CLEAR! DISP ”Enter cone、of enzyme
(in nk口 andsubstrate tin uMl”;88
5 INPUT Tf31.丁(41@ GOTO500890CLEAR+
! DISP ”Maximal 5ubstrate eonzent
ration 1nAssay はnuM+’°;@ INPUT T(
141900IF T(141〈丁C41/15 0RT1141>7(4+
/4 THEN aoTo 89゜910 GOSUB 5000
@ GOTO500920CLEAR@ DISP ”Enter th
e max、5tandarddeviation ofthe 6%’e
rage in %”、@ XNPUT Bal+925 DISP ”E
nter tl+e max、nonlinearity or sing
lemeasurements in %++、@ rspυT B1
21930 1F BIIX2 0RBll+>100 0RBI2+<1
0RBF2+)100 THENGOTO920ELSE GOTO600
940CLEARt+ DISP ”Enter Y−min、 )’−ma
x、delta Yand deltaYo for OD、Plot’。
945 1NPυ丁 A13,11.A13.2+、A13.31.A13.4
1947 IF A!3.21<A13.1) ORA13.31>Al1
.2l−A13.11 0RA13.41(OTHEN 00丁0 9409
50 GOSUB 5100 @ GOTO600960CLEAR# DI
SP ”Enter Y−min、 1°−111aX+ delta 1°a
nd delta1’o for 1’ Plot”;965 INPUT
A[1,1+、A11.21.、A+u、A11.4196) IF A1
1.21(A11.11 0RA(1,31>A11.21−、A11.11
0RAll、41<OTHEN 00丁0 960970 GO5L’B
50(10@ GOTO600980CLEAR! DISP ”Enter
Y−min、 )’−rnax、 delta Yand deltaYo
forOD Plot”;
985 INPL’丁 A12.11.A(2,21,A(2,31,A(2,
41987IF A(2,21<Af2.110RA(2,31>Al1.2l
−A12.11 ORA+2.J )<O丁HEN 00丁0980990
GOSUB 5200 11 00丁0 60099.5 IF 丁(
191=I THEN Tl19+=2 9 00丁0 600996
IF T1191=2 THEN T[191=3 I GOTO60099
? IF T1191:3 THEN T+191:4 @ GOTO6
00ELSE 丁119++1 !GOTO600
rem 率率本本率本本本*寧率率本事本本傘 構成メニュー **零Iり
傘*寧傘享傘傘傘零傘ネ傘零草車ネ傘ネCm
1000 1 11***事本率本シリ7:、;p *’l***率1010
CLEAR(! DISP ”+l*** シ’Jンジバ5j−9メニュー
””” ”l5P
1030DISP”VolurneFil1Mpkml/sec”1040 D
ISP ”5yrl:”:TAB(81;Wlll:TAB口41;K161;
TAB+201:1<1111;T、AB+261:W’11611045
DISP ”5yr2:”:T、AB(81:W(21;TAB(141:W
(71:丁AB+201:−ゴ121:T、AB(261:Kf1711050
DISP ”5vr3:”:TAB+8):WI31:TAB1141:Wl
81;T、ABf201:K1131;丁AB! 261 ;Ml 18110
55 DISP ”Tray:”;丁AB+81V+41;TAB+141
;K191;TAB!201;K1141:TAB(261:W(191106
0DXSF’ ”Needs”:丁AB181;W151;TAB+141;
讐!101:TAB+201;W1151;TAB1261;W120110〕
ODISP ”5topf1.”HW1111HW1121HW)ζ3)10
7S DISP ”Aceel、’°HWI(51;’ 5chrr ”;Wl
(411080DISP ”\’olurne per As5ay”HBI
〕l;”ml”rent I本ネ*寧傘傘傘傘傘愈本寧**ソフトキー 零傘
傘本傘宰率**本傘*本本本率亨*11率傘零市本11軍1150 ON
KEYz 1 、”Exit” GOTO−AnD01160 ON
KEY’虐 2.”5tpfl″ GOTO13501170ON KEY”
3.”Accel″ 00丁0 1300】1εOON KE’;=
4.”Needle” GOTo 14801190 ON KEYg
5.”Syr、1” GOTO14001200ON KEYg 6
.”Syr、2″ GOTO14203210ON KEYg フ、”Sy
r、3°’ C1OTO1440122(J ON KEYg 8.”
Tray’° GOTO14601230KEY LABEL @ 00丁
0 1150ren **傘****** s/−)トキー動作を実行するル
ーチン 率th111傘1300 CLEAR* DISP ”
Enter Acceleration for stopppedflow:
”:WH51:” neu”;@ INPUT W1+511310 CLE、
八R@ DISP ”Enter No、 of cycles forsto
pppedFlow:HWI(4);’°neu”H@ INPtjT Wl1
411320 GOTO1000
1350CLEAR@ DISP −Enter the amounts f
or 5topped FIOWformer :”H1i’1(11;5f
l(21HWH3);”Al1”1355 DZSP ” nesx ”:@
INPUT Ml(1)、W1r2)、WH31@B17)=W!+11Wl]
(21+貿1(3)1360 GOTO1000
1400CLEAR@ DISP ”Enter parametar for
syringel:”、W(11: K161;Wllll;−“+161;
new” :1410 INPUT W[11,K161.Wlll)、W
1161! GOTO10001420CLE、AR@ DrSP ”Ent
er parameter for 5vrinte :”’、11121:
W(7ン;に°ロ21:S+’+17):” new”:1430 1NPL’
T K121.%T:17+、W1121.W1171! GOTO100
01440CLEAR@ DISP ”Enter parameter fo
rsyringe 3ニーWr31;Wi81;W(131HW1181H”
new’°;K191;W(141:%i’1191;” neW″1;147
01NPυ7W141.%1°(91,W(141,%1°(191! GOT
O100014εOCLEAR# DISP ”Enter paramete
rs for needle1600 CLEARl! DISP ”
Enter drive: O=’:Dフ00’ l=’:D?01’
and4=:D710”;eINPL’丁H116021FH1=O丁HEN
MASSSTORAGEIs”:D?OO”@GOTO16051604XF
H1=I THEN HASS 5TORAGE IS ”:D701
” ELSr、MASSS丁0RAGE 工s +′:D710°。
1603 CAT @ DISP ′Enter filens+me
to erase or(PACK/lNlTl”
1610 INPL’T H1S
1620 1F )ll$=″PACE″ Tl(EN P、ACK @ GO
TO40002625IF HIS=”IN1丁” 丁HEN (70丁
0 16501630 IF HIS:”N” THEN GOTO4000
1635IF )lll=”” THEN GOTO40001640P(,
1RGE HIS ! GOTO16101650IF HCO丁HEN
DISP ”Systemdisk rnust not beini
tialized” @ WAIT 2000 @ GOTO400016
57DISP ”Are you 5ure to erase all da
ta on thisdiskette (J/Nl”;@ INPUT
H1s16511t IF HIS#”J” THEN 40001660
DISP ”Enter new narne of diske
tte″ @ INPUT H2S1665 DISP ”Please
5sait about 2 m1nut、es”1670 HIS”
”:D?QO:D701:D702:D703:D710” のA S” )l
I S I H1” 5 + 1 * 81 ” D ” 5 )167tJ
INI丁1.ALJZE H2S、A!、2016りOGO5L’B 2
200 1L GOTO4000rem 零mm***傘傘傘章寧傘傘傘倉寧
車 効用 車庫★**富本*傘本摩傘傘*車京傘寧車本本京零2
000 CLEAR@ DISP ”The active Data dis
kette is : ” @DISP ”*章率本本 ” ;B9
S : ” 率率率ネ傘゛2010 DISP ”It conta
ins data about : 2025 DS=”Inhalt
、”&B9S2030 ASSIGNj I To DS2040 ON
ERRORGOTO2080205ORUAD# 1 : )113
@ D’lSP 81g2060 GOTO2050□
2080 ASSIGNf l To 率2090 RETυRN
2200 DS=”Inhalt、−&B9S @ ON ERRORGOTO
2205@ PURGE Ds2205 ON ERRORGOTO900
0@ CREA丁L DS、2.2562210 ASSIGNr I
To DS2220 ON ERROR00丁0 22902230 C
LEAR@ DISP ”Please enter max 、121in
es ofcoITIment ” * I=12250 DISP
”Zeile:”;I @ FLIP t INPυ丁 )11!@
FIJP2255 IF LEN()IISl=OORLEN(HISI)
320RI〉12 THEN 22902260 PRIN丁# 1 :
Hls @ I=1+1 ! GOTO22502290ON
ERRORGOTO90002295ASSIGNf 1 丁0 寓239
0 RETtJRN
2395 ON ERROR00丁0 40003900 D$=”DEF
AULT、KSYS”3905 、ON ERRORGOTO40003910
GOTO4410
rem **傘率傘寧傘1富本庫傘傘傘車本率 メインメニュー傘車**零本
章傘寧零軍*市傘率寧*寥傘傘本傘傘4000 ! 傘傘メインメニュー傘
傘4020 CLEAR@ GOSUB 2654300 DISP ”Ple
ase 5elect a 5oftkey:”4110 DISP ”a
ll otk+er keX′s 5top the prograIT+
”4]30 ON EF、ROk GOTO9000r e IT+ 傘傘本
*ネ傘率率率$*宰寧傘嵩傘傘*ラフトキ、 愈零傘本率本本*率傘零章本本
本章本本富率率率寧4150 ON KEX# 1.”KIII Msg
−GOTO42504160ON KEYa 2.”Daeom″ GOT
O43204170ON KEYa 3.”Readl”” GOTO44
004180ON KEYa 4.”MeasPa” GOTO5004
190ON KEYa 5.”Direct″ 00丁0 16004200
ON KEX’: フ、”Sto vm” GOTO450042100:
: KEYt 6.″丁est H’ GOTO43404220ON
KE)’m 8.”5yrinPa°゛ GO工Ω−10004230K
EY LABEL ・ 00丁0 4230J250 DISP ”T
he Maasureprogram is 1oaded Pl
ease waitabout 30 5econds” @ DIS
P @ EEEP42フOGOSUB 4600 ! ASSIGN
4280 GOSUB 5000 ・ GOSUB 5100 @
GO5U’B 5200 ! GENERA丁ELOTS
4290 ON ERRORGOTO4295* CRE、ATE ”
丁EMPIJC5YS−10,76g @CREATE TEたIP、KS
YS″、40.7684295SECLIRE″TEMP1.KSYS”、”A
A”、3@5EC1,’RE°°丁EMP、にSYS”、”AA−,34300
REM
4306 ON ERRORGOTO4310@ ERASE 5TA
TUS4307 FORCI 丁o 99 @ ERASE 5T
ANDARD I @ NEXT 14310 ON ERROR
GOTO9000・4315 1F T191=I THEN D2=2
@ E3S!1lKIN 2.KSloS” ELSE D2=1 eE
3S+’KIN 1.K”5YS″431フ IF C115)=OTHE
N C)IAIN ”ASINIT、KSYS” ELSE D2=O
@CHAIN H3S
4320 DISP The Datatransferprogram
is 1oadpd” ! DISP @ BEEr
’4330 CHAIN ”DACOM、KS’i’S”4340 DI
SP The 丁estmeasure proqramm is
1oaded ”4345 DISr’ ”Please wa
it about 20 5econds” @ DISP @
BEEo
43GCIGO5L’B4600!ASSIG\4370GO5UB5000@
GO5L、’B5100@GO5L’B5200!GENER,ATELOTS
4380 E3S=”KONZMSG、KSYS” @ D2=34385
IF C1151=O丁)IEN C)1.AIN ”AsXxx丁、
KSYS’“ ELSE D2=O@CHAIN H3S
4400 CLEARI!’ CAT ”、KSYS”4405 DTSP
”Please enter the Filenarne” @
INPU丁 DS@DSIIDS&″、KSYS”
4410 ASSIGNf I To DS □、b+12 ON
ERRoRGOTO44s。
4420 RE、ADm l ; DIS、)+1.D4S、D4S、
EIS、H2S、TIS、T11.Ll+。
b目、Al 、 r、w口、Wil+
4430 ASSIGN= I To I @ O:; ERR
OR00丁0 9000−1440 GO5L:B 50001! GO5
tjB 5100 @ GO5LIB 52004445 00丁0 4
000
−1450 DISP “Old File : Please up
date 5yrin(e Parameters”4490 GOTO−
1130
4500CLE、AR* CAT ’、KSYS”4505 DISP
Please enter the Filenan+e” @ I
NPU丁 DS450) Ds=Ds&=、):sYs”−1510GOSUB
4600 ! ASSIGN4520 ON ERRORGOTO
45654560CREATE D”、5,2564565 ON ERR
ORGOTO9000! ASSIGNf l To DS4570
PRINτt l ; Dis、D2.D3S、D4S、EIS、H2S
、丁1s、T(lル(+、Bll。
Al 、1.Wl l、Wl(1
4580ASSIGNj I To 率4590 GOTO4000
r@211 188愈傘京*傘* 指定光ダイオード 宰零本本
傘寧***零本**傘富宰傘ネ寧lI寧倉46(10I***率指定 11
4602GO5L’84800
4605 FORCI 丁o 10 @ LII+=178 @
NEXT I * 11=04610 FORI=丁C]1 丁0
丁(215TEP 24620 11=11+1 @ L+111=I46
30 NEXT ]
4640 FORl=丁1121 To T(1315TEP 246
50 FORJ=I To 10 @ IF I=L(JI THEN GOT
O46654655IF IC10THEN BEEP @ DISP ”Zυ
GRO5SERWELLENLAENGENBEREICH” ! GOTO5
00466011=rl+1 @ LI111=14665 NEXT
X
4670 FORI=丁1101 To 820 5TEP 2467
2 FORJ:1 丁0 10 @ IF I=ljQ) THE
N GOTO4680467511=11+1 !’ LI111=I46
7フ IF 11=10 THEN GOTO46904680NEXT
I
469082S=” ” @ REMrem 率m率率率*率IT埠 パラメ
ータのバリディティーチェック *零傘***寧傘率本皐寧4フ00 I
F 丁131<、0001 0RT131>10000 0RTi1<、00
1 0R丁141>100000 THEN H1=3 @ )12=
4 e GO5L’B 47954705 IF Ti51’、2 0R丁+
51>400RT(81<2 0R丁(81)10 0R丁151”T181>
200 丁HEN H1j5 @ H2!8 @ GOSUB
47954710 1F 丁+91>3 0RT(9)<1 0RT1191
<1 0RT119))5 THEN81=9 (’ H2=19 @ GO
SUB 47954715 IF IC141)丁+4115 0RT11
41<T141/Zoo 丁HEN H1=14 41H2=O@ GOS
UB 4795
4720 IF T161<、2 0RT161)100 0RTr7)<T
r61+1 0RT171>2000丁HEN H1=6 e 82−7
1! GOSUB 47954725 1F T(151<、001 0
RT1151>1000 0RT(161<、001 0RT(161>100
0丁HENH1:15@H2:16@GO5UB47954730 IF T(
171<−1000RT(17))Zoo ORT(181<−100OR丁1
181>100 THEN H1=17 @ H2=18 @ G
OSUB 47954735 1F Bil+<1 0RBfl)>100
0RB(21<1 0RBf21>Zoo 丁HENH1=21 To
H2=22 @ GOSUB 479547501FB171<、10RBIT
)>10THENH1=27@H2=28@’GO5L’B4フ95
4760 IF Bflll(,20RB111+>20 0RB1121
(H1]II OF!B1121>100 T)IES Hl:31 @
H2:32 @ GO5L;B 47954765 1F B113+<、
2 0RB1131>B1141 0RB1141>Tl7l 0RB114
1>1000 丁HEN )+1=33 1’ H2=7 @ C1
05LIB 47954780 IF H25=’″F” 丁HEN
BEEP @ WAIT 2000 @ GOTO4000479
0RETしRN
4795 IF Hl<20 丁HEN HIS=”丁” ELSE
H1=H1−20@ H2:H2−204796IF Hl<20
THEN Hls−B” ELSE )+1=H1−20!’ H2=
H2−20@HISII”W”
4797 工F H2f、=” ” TI(EN CLE、AR@ H2
,<H”°F”4)98 BEEP @ DISP ”Variabl
e−s−;HIS;Hl:” or ”:H2:”areinvalid”
4799 W、AIT 2000 # RE丁URN4800 RE
:’1 本*率 試験 11f4810 1F 丁(11>8200R丁+1
1(1800RTl1l MOr+ 2i0 THELζ丁111=200
e GOTO490(14815IFTlkl>8200RT12)く180
0RT121トooD2#0THEN丁12 +=200 ・ GO丁C+
49(10J820 1F 丁+101>):20 0R丁110+<18
0 0RTll0I NOr+ 90 1HEN1°1101=2clO@
00丁0 49004825 1F Tllス)>820 0RTl1l
)<180 0RTl1l l )IOD 2rOTHEき丁1111=2
0tl @l 00丁(149004830IF T112+>820
0R丁112X180 oRT(121MoD 2;O丁HE N丁1121
=200 e 00丁0 49004835 IF Tl13+>82
0 0R丁+131<180 0RTf131 MOD 260 τHE
N丁1131=200 ! GOTO49004850IF 1丁+21−丁
111+71111−71101+T+131−71121172+3>10
THENDISP ”2uviele Dioden ” @ BE
EP @ 00丁0 5004880 RETtjRN
4900 BEEP (u DISP ”1nvalid Wavelen
gths” @ WAIT 2000 @GOTO500
rem ”本章*寧率寧1傘零率 プロット用の釉処理
軍車軍本案本本傘章1gm寧車50(1(l RHさ1m富−プロット\゛\’
5151傘率I+本草5005 DS:”PFTN、KSYS”5010 Y
O:、A11.11 @ )’】:A11,219 Y2=A11.31 G’
T3:A+1.415020 X0=Ot X1=丁(1−11$1.0
5 t X2=、02 @ X3=O@ IF TIIJ l>、
2THEN X2=、1
50301F TIIJ1>、4 THEN X2=、25035 IF
Tr141>2 7HEN X2=15040 IF TIIJ1>4
7HEN X2=2504:’ IF TIIJI>20 THEN X2
=55044 IF TIIJ1>50 THEN X2=105(ン16
1F 7111>Zoo 丁HEN X2;50504ε IF 丁+
141>500 丁HEN X2=j工■L5050E3S=E2S&”(
uMl”5060 E4S=”Turnovernumber 11/5ee
)”5(19(l GO5LjB 6000 @ RE丁URN530
0 RE?1 車$14プロットOD T57**率本率5105 DS=”
PFOD、lζSYS”5110 YO=A(3,11@ YCA13.2+
@ 1°2=a+3.31 ΦY3=AI3.41.1120 X0zO+
XC丁+71 e X2=2 @ X3=O@ IF 丁1?
D15 THENX2=5
5130 1F T171>50 71(EN X2=105140 E
3S=”Time 1secl°。
5コ5(+ E4F、=”Absorption”519(lGO5UB60
00#RETLiRN5200 REト1 170ットAbleit、電率5
205 DS=’°PFAB、KSYS”5210 YO=A12,1+
@ Y1=A+2.21 @ Y2=A12.31 @ V3=A12.4
15220 X0=O@ X1=Ti71 @ X2=2 @ X3=
0 @ IF T(71>15 7HENX2=5
5230 1F 丁+71)507HEN X2=105240 E3S=”T
ime (secl”5250 E4S=”5peed 1Delta O
D/5eel”5290 GO5じB 6000 @ RETURNre
m *零率率率市宰**本**ファイlしにおけるストアプロットコート*車
*率寧寧寧1)−6000: PLOTTEN VON ACHSEN60
05 ON ERROR00丁0 6020 @ ASSIGNe
1 丁o rlS ! RE、All: ]@ :
P3.PJ、?C1X5.x6.X丁、 )’4 、 T5 、 T6 、 Y
T6006 assIG?:テ I To 率6007 IF XO#X
40RX1jX50RX2#X60RX3#X7 THEN GOTO6020
6008IF Y(nY4 0RY1i’;5 0RY2#Y6 0R1°3
i1’I THEN 00丁0 60206010 RETυRN
6020 ON ERRORGOTO40006030P3=23=20
e P4+1率400 @ P5=r2+251率400 @P6=(
1+161市400
6033 1(IF、=c)iR5+31 @ P1=、0OO001@ P
2=、QQOOOO16036F5:Xl−XO1−F621’1−TO□60
40 IF ABSIF9P11<3000 THEN P1=P1宰
10 @ GOTO604(16050IF ABSIF6*P2)<3
900 丁HEN P2+P2宰10 @ 00丁0 6050606
0 F5=lP5−P3+/Zoo @ F6=lP6−P41/Zo。
6070 ON ERRORGOTO60906080CREATE DS
、1.51206090 ON ERRORGOTO40006100AS
SICiN: I To DS610r、))RrNT; 1 :
Pl、P2.XO,XI、X2.X3.YO,)’l+Y2.Y3.E3S、E
IS6110E5S=”1NH5P1ニー9GO5L’B64006120 E
5S= ”IP”&VALS IP31&” 、 ”&VALS (PA1 &
−”&VALS I P51A−′&へ°ALS(P61&”:”8GO5UB
64006130E5S=”SCO,10000,0,10000;’°@GO
5L’B64006140 E5S=”PA4000,9500H″’ @ G
O5UB 6400 @ E5S=”DT”&)lls&−;”のGO5UB
6400
6170 E5S=″DI 1.0;“@ GO5UB 64006180E
5S−”Plj:PA1300.1300;PD;PA1300.9300:”
!GO5L!B6190 E5S=’″PA 9300,9300.930
0.1300.1300.1300:PLI:” @ GO5UB6200
FOR11=XO+x3 丁OXi 5TEP X2 @ l2
=INTl+1l−X01埠8000/IXI−X(l++130016210
E5S”’Pt’+PA”&VALSII21&”+1300;PD:XI
:PLl:” @ GO5UB6220 E:J!:”51.2..25
:CP−1,−3,2:LB”&V、ALS1111&HIS&”:” (EG
O5L’B 640n (NEXT ll6230 FOR11=YO÷
)°3 丁OYI 5TEP )’2 @ l2=INTl+2l−Y
01傘8000/+Yl−S°O1+130016240 E5S:”PA93
00.”&〜’ALS(r21&”:PD:X−T;PLI;” ! GO5U
B 6400 @NEXT n
6250 FORl1=YO+Y3 To )l 5TEP )’2
@ 12=INTI III−YO)傘8000/IYI〜)O)÷13
0016260 E5S=”PA1300.”&VALsfI21&”;PD;
YT;PU;” @ GOSL!B 64006270 E5S=’°CP−5
,−,5:LB”&vALS(11r&H2s&”:” @ GO5UB 6
400 eNEXT Il □6280 FOR1
1=NO+X3 To XI 5TEP X2 @ 12=INT
+tll−X01亀8000/l:<1−XO1+130016290 E5
S=”PU;PA”&VALS1121&”、930(1:PD;XI;PUP
” @ GCISL’B6JOO(i’ NEXT 11
6300 P3=IN丁IP3+F5亀13+−50@ P4=INT+P
4+F6本13) @P5=XN丁(P5−F54丁1−470 * P
IylP:TLPG−F6*716310 E5S=”IP+&VaLSIP3
+&”、’°&\’、ALS+PJ l&−”&V、ALSIP5i&−”LV
ALLIPGI&−:”tGO5L’B64006320 E5S=”I%X′
い°AL’1P31&”、°l&\’ALSfPJl&’“、゛畝’A LS
I P 51 It ” +”&VALSIP61&”:l′ @ GO5υB
64006330 H1=INTIXO*P1) @ H2=INT
IX1*pH! )+3.INTIYO11P2+ @HJ=INTIYJ
*P21
6340 E5巳=”sc’”&VALSfH1+&”、”&〜’ALS(H2
1&、”、”&VALS(H31&”。
”&VALSIH41&”i″’ @ GO5tJB 64006350 AS
SIGNe I To 率6360 5ECURE DS、”XX”、
3 @’ RETURN6390 ! T(I DISK 重電
6400 PRZNI 1 ; C)IR3f341.E5S、CHR5
134+ @ RETURNrem 本本本傘本本本本本*+1*率 ニーy
−回復 寧*傘IT傘零ネ率**寧傘零寧率本率本軍寧糟9000
! *市エラー回復 119010 BEEP @ BE
EP @ BEEP9100 IF ERR\=1 丁HEN DI
SP ”too small num+er” ! GOTO950
09]10 IF ERRN=2 丁)IEN DISP 1lto
o large number” 9 GOTO95OC1
9120 IF ERRN=7 THEへ DISP ”Null
Data°’ l! 00丁0 95009130 IF ERR\=
6 T)IEN DISP ”Division ヒへ° zero”
! 00丁(り 9T00
9140 IF ERRN=13 丁)IEN DISP ”Arg
ument out of Range” 600丁0 9500
9150 IF ERRN=22 THEN DISP ”File is
5ecured” @ GOTO95009155IF ERRN=43 TH
EN DISP ”Numeric 1nput ” @ GOTO9500
9160IF ERR\=411 丁HEN DISP ”not e
nough 1nputs” ! 00丁09170 IF ERR
N=45 丁HEN DISP ”too manto 1nputs
” @ 00丁0 950O
9380 7F ERRN=49 丁HEN DISP ”Null
Data°’ @’ GOTO95009190IF ERRN:56
THEN DISP :ニシミj:」jir+g Overflow”
@ GOTO950O
9200IF ERRN=55 THEN DTSP ”String 5ub
script” ! GOTO9210IF ERRN=67 THEN r)
ISP ”Filenarne doesn’t exist” 260丁0
9500
9215 IF ERR,’;=68 THEN DISP ”Filetyp
wrontt” ! GOTO95009220IF ERRN=ε9 丁
HEN DISP ”1nvalid parameter” *
Go丁O9230IFERR?ζ=108丁HEhDISP”Ph0tOITl
eterk’arinlZ”@GO1’09240 IF ERRN=llI
THEN DISP ”No disk 1nserted” @ GO
TO9250IF ERRN=125 THEN DISP ”Vol
ume not found” t 00丁09260 IF ER
RN=128 THEN DISP ’°Disk is full°’
! GOTO95009265IF ERRN=130 THEN DISP
”no disk’°@ GOTO95009270IF ERRN=131
THEN DISP ”Time Out” ! 00丁0 9
5009490 DISP ”Error ”;ERRN;” ocu
rred on 1ine ”;ERRL @AUSE
9495 GOTO4000
9500WAI丁 3000 @ GOTO4000ren+ 傘*富寧
傘章*寧傘章**m傘事**傘本本車*重電京零車本富寧寧倉傘傘虐**本寧本
車傘本本寧寧*富率愈reff1 *傘傘傘本掌率率”MICHKINソフト
ウz7ラフ kin 2.KSYS 率81rem 零本1
傘率率傘率零 作者 : Bruno Miehel
w富津rem ”1傘*11*寧岬11車本牢本傘傘愈
本港寧車傘傘本零亭卑愈*傘率本本本本本*率卑孝倉練本宵1ネす傘禽寧率倉r
l!m ””率*傘*重電埠市ネ****申本*キ牢本**本本寧零率$$1
率本本*率率寧寧本申寧申*傘率*率埠*rem ソー
スコードの開始reffl 本傘本寧寧*傘傘***傘傘*傘寧傘*寧本*傘傘
*傘傘傘*傘*傘1i**傘傘*****傘本宰傘牢本本傘零傘ram ネ本
11市傘率傘傘II ! KIN 2 B、MIC)IEL 02.
02.88 宰傘寧*傘本傘車本*傘*本rem *****孝****車
本本傘本 共通データ領域 傘傘率*傘ネ*傘*市禽本本富寧傘傘
傘120Co>l5HORT511801,521801.53(801,7(
20+、丁1(−111,72+411゜L1201.B(201,A(5’、
51 □125 COM 5)10R丁 C+151.Wf201.W
l(5)、E(201140CO>I丁IS[65]、EIS120]、E2S
[20]、DS[20]、DIS[11,D2゜D3S120]、D4S120
]、B9s[8]rem m寧本率本ヰ*富率本率本傘辱 グローバル変歎
寧車車京京宰*宰率本傘傘*率本禽*本*180DIトIFSI)
]、F6S[1]、E3S130]、E4Sr30]、F7S[1]、F5Sr
ll。
AS[601,HISr20]
195 INTEGER1,X2.+5.l6200 F6S=”Oo”
瞼 Q1=1 @ 02=1 @ F7S=”O” @ CLE
AR@ I=02]OFS+=−A” * F5S=”O” @ J
=1 @ K−1@ D4S15,5)=”1”rem **率重電0率本
本本 初期化されないときのチェーンautost 傘率事率幸■25
0 ON ERROF’ GOTO800@ PLOTTER1@
IF C+81#1 丁HEN GOTOrern s亭車率車IT車
重電傘本本 メジャーメニュー 宰零牢傘率*傘本ネ零*寧傘率**率車寧率率
本本率*500 L1=B1111 @ L2=B1121 [I
L3=+256−(1/T1511 ! ON ERRORGO丁050
0
510 CLEAR@ DISP ” Km Measure
: Main Menu” ! DISP520 DISP
Ell;丁AB1191HT(31;”nro (E+” * DISP
E2$;丁AB1191:T141:”uM151″@MSP
530 DISP ”No、of Rep、”HT181 41 DISP
”No、of Pa1nts”:Tl+1
rem 車傘率本零*寧寧ネ率 第1セツトのソフトキー 宰傘率率寧
*傘本宰零キ*ネ傘傘愈牢6LOON KEY’ 1.”r+1Var”
00丁0 720 @ ON KEYa 2.”Meps=I°’
00嘯O
1G(IQ * C+N ):EY: 3.”5vrint#” GOTO8
606;J5 ON KE)’# 4.”讐ash” GOTO700e
ON KEYj 5.”M、AINPG” GOTOBoo@0NKEY#6
.”丁estH”GOTO790660ON KEYa 7.”[E、S]
” 00丁0 880 @ ON KEYa 8.”Po1nts”
GOTO940@ KEY LABEL、@ 00丁0 650rem *
*第1番目のソフトキー動作を実行するルーチン700GOSL!B7500@
Go丁0500720PRINTERIs1@GO5UB954.I@PALI
SE725 GOTO500□
760 IF E11目=Q THENB141=I ELSE B+41=o
@ CLEAR@ DISP”EnterjE]1nAssay”:eINP
LマTB151765 B+31=B151 @ GOTO10007!’
IQRESET71!’CHAIN”KONZMSG、):S)’S”800R
ESE丁フ@CHAIN”、Autost、KSYS”820 CLEAR@
DISP ”率本シングlし測定 ネ傘°゛825DISPE2StlD7S
P”ConcinuMat[S]<O:Reference”:ε301):P
U′丁B+Gl!’CT]01=1835DISPEISt)DISP”Con
einn!I+5tocl:=”H丁+31;”n’l)”;@TNPUT
B+51
840B+31=B151@MODE0.1@GOSυB4800@GOTO1
000860GO5L’B 7250 @ 00丁0 500880CL
EAR@DISPElse”Cone、inInM+”88SDISP”and
″:E2S;”Cone、in(uM+”@INPUT丁13+、T+4189
0 GOTO500
900CLEAR@ IF B+201=2 THEN DISP EIS;E
LSE DISP E2S;905 DISP ” Cone、 Nr、”;C
161910DISP ”in Syringe +C=clear
Bufferl” @ DISP ”negativeIE) = de
creasinc is)” @ INPUT H1s9]5 IF HI
S=”C’″ 丁HEN C161=1 1! GOTO900920EI
Cf611:VAl、+)IIsItC161:C161+1t’RE丁LjR
:<940 (LE、aR@ DISP ”No、 or Pojn
ts イ2−401 and Rev、 +2−+01”:
950 INPUT 丁1510丁1εle IF T151>400R丁
+51<2 OR’IIεI>100FtT18)〆O丁HEN act丁
0 940 ELSE GOTO500rem sヰ*港本本本*本 測
定 メニュー第2バート 市*宰傘傘*傘率寧軍宰*庫富禽ネ1
000 CLEAR@ DISP ” Km Measure Menu
’″@ DISP ! DISP’r1sll、63] @ DISP
! ON ERROR00丁0 5001020 DISP ”Syr
、1:”:IN丁IC111*101/10;”2:”;XN丁+C12ド10
01/]00F’“3:″;JN丁1c131市1001/100H”ml”
−DISP1050DISP”)tax、[S]:”HT(141;”uM°
゛1090 IF r)ISf−1,47=”L” THEN DISP ”B
lanl: ”;D4S16.Nl:”5ubtracted” ELSE D
ISP ”F炒Blank”1120 IF B+−11:1 THE:
: DTSP ”[E) Autom、”1]:’In hF D、+s
[5,5]=−】−THEN DISF”Pr1nt On″ELSE DIS
P”Pr1r+t OFF”
1140 IF C191:OTHE?: DISP ”No Referen
ce” t’ BEEPH50DISP ”As5av volurhe :
”;B171;”ul°’ ! ON ERRORGOTO】000
rem 、*傘本率**本重電京率章****傘 ソフトキー、傘牢*宰*愈宰
寧本率本重電倉率傘本傘率寧率傘*處12000::KE”nl、”E>二jt
”GOTO500@0NKEY*2.”Pr1nt”GOTO1280* O
N KEY= 3.”Content” 00丁0 16001230
0M KEYi J、−Comment” 00丁0 1690 e
ON KEYa 5.”Kmさ1eas”00丁0 1300 e
ON KEYa 6.”Blank” GOTO15001260ON
KEYa ?、”(Elauto″ GOTO760e ON WE’
:#8、”Sin(leMe″ GOTO820@ KEY LABEL
@ 00丁0 1200rcW+ II寧 第2セツトのソフトキー動作を
実行するルーチン 傘孝傘1280 IF I’)4S[5,5]
=’O°’ THEN D4S[5,5]、=”1’ ELSED4S[5,5
3:’°0″
1290 GOTO1100
0re **ゝ カイネチック定数の開始決定 寧*
***傘51300 ON ERROR00丁0 1000 @ IF
c+9>=o THEN GOTO10001302CLEAR!
DISP ”5eries and Number @g A、1”
4 7NPU、丁D1s、B3# IF F、1>999 0HBl<OT
HEN 1300130−I DISP ”Hemocode lf3
Charaetersl”Ht INPじ丁 D4S[15,20113
10M=B12(1) e TF CIMI<WIMI/8 丁HEN
H1=7 @ GOSL’B 75101320 D2:Bi @
B]=Bl+] Φ F&S=”工°。
1325IFCi61:ITHF、\GO5I:B900ELSE)!1=O@
PRINTER2S1@ GO5L’B 9500
1330 B!31=B151 @ IF Ellll Tl(EN
Q1=1 ! GOTO13351332Elll:1 @ B131g、1
@ Ql=2 @ D4SI4.4]=”O” !DIS=C)lR5lNt
l)IIDISl+11@D2=01335 IF E(11<OTHEN
Q2=2 @ E(11=−E(11ELSE Q2=11337
IF Bi201=2 Tl(EN T(31=E111 ELSE 丁+
41=E口」1340 FORI=I To C(61−1@ EIIl=E
11+ll @ NEXT I @cue、r=c(6+−1
]350 W1121=B+71*B+51/Tl31 j!j−O8LjB
8000 @ GOTO200013801F C161<2 THE;
、’ 1000 ELSE CLEAR@ GOTO1320rem
*率零率零率本富本寧ネ率中 活性ブランク弓IK 、
**オ******150(l IF r)4S[4,43=″L” THEN
D4S[4,4]=”O” l!’ GOTO10001510CLEAR!
DISP ”Name of Blankfile +9 Charact
erslo“;eINPUT H2Se D4S[4,431+”L”151
5 IF LENIH)31<9 THEN GOTO1510152
0H)S:)11s&” ” @ D4S16.14)+HIS1540
CRE、ATF、D4s[6,1−1]&”、KSYS”、5,256 @ A
SSIGN* I T(+D4S(e、1目&”、KSYS”
1560 FORJ=I To 20 @ PRIN丁# 1
; 丁IJI 11 NEXT J1570 FORi J:O丁o
丁(51e PRINT4 5 ; 丁11JI、丁21Jl *
NEXT J1580.4851ω−I To率@ HIS=D4S[6
,14]1590 PRINTERIs 21! PRINT ’°Blank
5tored in File: ”;)115@ RETL’RN
rem 傘*車**傘室本車京寧寧零*傘率* デ、タディスクの定数
率単本事零零寧宰*率寧1600CAT”、”&B9S@DISP”Pu
rgeFile”@INPUTHIS@PURG):HIS 1!I GO
TO10001660BEEP 50.1000 @ DISP ”E
rror”HERRN @ DISP ”CorrectError
condition +C0NT”;ERRL3670 PAUSE
1675 GOTO500
1690GOSUB 1700 @ 00丁0 11000re ”寧
率重電寧率事**寧傘II専傘寧 コメント 傘傘零寧傘傘*市傘*寧京*
隷*電零重電富寧オ愈オ阜1700 DISP ”Commenu 2
Line+:” @ FLIP @ INPUT T1S@ F
LAP)710 Tl5=TIS&” “’ @ 7F LEN17
コS B63 THE>、’ GOTO17101720RE丁t’Rs
rem 本本本本$零*本本 ブランク弓I算エラーメニュー
零率**傘本車本重電寧1800 RESE丁 7 @ ASSIGN
# I To D4S[6,14]&”、KSYS”1820 FOR
J=l To 20 @ READ# 1 ; Z8@ IF
J=3 0RJ=4 0RJ=GOF? Jニア 0RJ=)5 0R
J=16 THEN GOTO384011135IF ZB含TIJI
THEN BEEP @ GOTO18851840NEXT J
e zs=11850 FORに:0 丁0 丁(5)1860 RE
AD# 1 ; 丁31K1.T21KL−−−1870 丁1(Kl
=−丁11);l @ T21に+=−T21Kl @ NE>:T
K @ 、ASS]Ghz @I
To 率
1B75 HIS=D4S16.IJ) @ PRINTERIS 2
@ PRINT ”Blonl::”:H3S:” 5ubtr+11
cted” @ RETURN118S DISP ”Variabl
e”;JH丁IJI;”# B11nk:”;Z81890 DISP
”Change Variable or (999=ianorel”
He INPUT H]ΦIF H)=999 丁)IEN 1840
)89:’ IF J=t ORJd ORJ=10 0RJ:11
0RJ=12 0RJ=13 0RJ=19 TI(EN BEEP !
GOTO1000ELSE TIJI:HJ1895 GOTO184
0
rem 京亭零零市本率本富*重寧傘 ILt 弓1用
寧電本率京*寧率寧*京本本*富寧傘傘−1900AS=’°”1” @
GOSUB 7000 @ Wlll l=、5 @ AS=”亭
A0.5°゛ きGOSUB 7000
1905 AS=”’IB” @ GOSUB )000 @ W
AIT 2000 @ GOSUB 7000 ■
WAIT 2000
1910 MODE 0.1
1920 REFERENCE 101930 IF NMEAS=O
THEN GOTO19301940MEASυRE、1
1950IFNHEAS;0丁)IENGOTO1950197(I NEX
T J +” C(91=1 @ RETURNrem ”京零市率章
本*傘市傘宰***宰寧***寧卑寧*本寧寧京本宰本傘傘傘*市寧本**ネ宰
宰宰*本本津富本*rem routine for automati
c determinntion of kjneticCOnSLi日
+L−
rem 亭宰11*本本*電傘本率t*富*宰零本宰港*本本本本率零本率本章
章率車ネ*車本嵩傘*零率傘本孝本傘本牢rem ネ車車ネ零*傘*亭寧傘零
本軍零本珍 構成 寧傘市率率ネ牢璋*車*市傘本牢*寧*本*傘本ネ率
率宜2000 ERASE S丁A丁US2020 工F TI141
−T141/20 0F2 T1141>Tl−11/3 丁HEN B
EEP @ DISP”151 %、Front :” @ ti’
AI丁 3000 @ GOTO5002040GOSLiB 3600
@ CLEAR@ PRINTERIs 1 @ H1=O@ GO5UB
2050DISP”1=E=:jt2=7nput”2200 GO5L’8
3F、50 * Z5=O□renn m亭11傘京本ネ*京京ネ傘1
i傘本宰メインル−プ 本率率率率率重電牢零零傘電本零零零率家本本業寧22
30 p7s=“’O” : 丁P2240 1F 02=2 丁)
IEN 00丁022472245 FORK=OTo 丁151 @
’ 00丁0 22492247 FORK=T151 丁00 S丁E
P−12249Z5=Z5−1 e IF 25〈OTHEN Z5=0
225(! IF F7S=−2°’ THEN F
7S=”O” @’ K=P32255 FORJ=1 丁
o B0 Φ 531Jl=O@ NEXT J2260 R
9:O@ ps=o @ B6:0 @ 57=02300
丁+01=rNT(丁+201−に*15/T(511@ IF K=OO
ト二 丁(01(00R710ン)丁+20ン 丁HEN 丁ro+=。
2302 丁+01=TIO1+丁181 @ IF 丁101
>10 丁HEs Tl01=102305 FORJ=1
丁o Tl0I e pss=’°0°。
2310 GRAPR2350GOSLiB 3500
! Execute As5ay2420 GOSU
B 4600 ! derivate result2430
GOStlB 3300 ! 1inearity chec
k2450 :TF F5S=“1°’ THEN G
OTO23102470FORJ1=2 To T9/L2+12480
534J11=s31J11÷S】IJI 12490
NEXT Jl @ R9=R9+S7 @ R8=
R8+S6 @ lFFl35=”l°゛ 丁HEN 00丁0 253
02、’noNEご二TJ
:’5.1(l GOSUB 3丁00 ! average
orirnary data2580 1F F6S=”1”
THEN 00丁(1259S2590 FOE J=2
丁OT9/L2÷1 @ 531Jl=S3iJl/TtO1(NEX丁
J@lFF6S=”2°’THENGO5LIB45102595 F
6=3 @ GOSUB 65002600 GOSL’B 3
800 ! check noise2620 7F F5S:”
IIITHEN GOSLiB 45002650 丁1+):l=丁
)+I:l十丁11411 @ T21に+=丁2(1:l+T21411
@ IFD4S[5,5]=”0” THEN 26542 r、 r、
+ 1F ・1881丁】IKI)>1 0RABST721Kl
l>] ORABSIS91>1丁H!TN PRTNT K:T11j
LL;J2+):1H59@ 00丁0 26542e’:2PRINTER
Is2@PRINTUSING”DD、X、SD、6D、X、SD。
(iD、X、D、6n” ; K、丁11K1.丁21Kl、592634
7F F7S=”1°′ 丁HEN F7S=”O°’ @
GOTO30001655NEXT K
299FIDTSI−ITIS@DISP*DISP@AS=”*WFCC8”
ICGO5UB7000IF’ Gl’)SL’B 7700re11+
*”寧01*本傘率零*** 、71了メニユ一章本**本本傘本本本傘牢零
章*傘寧本零す冨零大宰★寧30(i0ONKE’、’*3.”RCr+、He
”00丁03100itOベト:Ij’=2+”0utput”GO丁c 3
*5Q @ ON ERRORGOTO30003010ON1ζEY:
8.”5yr5.nae” GOTO3050@ ON KEY=
4.’°Net:↑Pr” GOT+)3030 & ON KEY# 1.
”Exit” GOTO50030!5ONKEY:5+”Re5t”GOTO
3060@0NKEY=6.”零IEnd−M”GOTO3000@ ON
KEY# 7.”enu 率零9° GOTO30003017KEY’
LABEL e J=Orern$*0 終了メニューンフトキー動イヤ
を実行するlレーチン 、。
3020 J=J+l @ BEEP 300,10 @ WAIT 200
0 ! IF C+61>I ANDJ>2 T)IEN 3250 E
LSE 30203030 GOSUB 900 e GOTO3250
3050GO5L’B 7250 @ GOTO30003060F7S=”
2°’ # CLE、ARe DISP ’Proceed from Po
1nt No、” eINPUT K1! P3=K l! GOSUB
31103070 F5S!”O°’ e GOTO22403100
F7S=”I” @ CLF、AR@ DISP ”Repeat
which Po1nt” @INPL・T K@’ GO5L
’B 3]10 @ 00丁0 22553110 IF D4S[
4,43!’°L“’ THEN 丁11KI!O@ 丁21Kl=Ot
GG丁Q 32003120 ASSTGNR1丁o D4S[6,
14]&”、KSYS” @ FORにl 丁o 20 f!’RE
、AD: ) ; 丁】t411@ NEXT J3130 FOR
J=O丁o Tl5) @ READ4 1 ; YO,Yl@
IF K:J ANDF7S=”1°゛ 丁HEN Tl(Kl=−YO
@ T2(KI=−Y13140 TF F7S=”2” AND
Q2=2 AND K>=J THEN 丁1+J 1=−YO@T2
iJl=−)’1
3145 1F F7S=”2°’ AND Q2=1 .4SD K<
=J T’fN:N 丁11J++−)“O0丁21Jl=−Yl
□3150 NEXT J 4− ASSTGNRI
TOJ13200 RETUR:ぐ
:t250 IF FSt”A” ORC16B2 丁HEN 32
5532二】 T=B1201 @ IF E+ll”O丁HEN H
)jW!1451 9 GOTO32i33252 H1=、ABSIWI
T+51/Ellll e IF 1=2 丁HEN H):H]’
1T131 ELSE)13=H2寧Tl41
3253 AS=”率”&VALSIIl @ GOSUB 7000
@ W11+51=H1@AS=”本:”&VALSIH1l @
GO51,’B フ0003254 、AS=””F11’、” *
GOSUB 700032町n IF Ql:2 丁HEN RES
E了 7 16 Hls−D4S[15,20]&DIS&V、ALSID2
1&”N” @ GOSUB 1520 @ IMS[−1,4]=”L”32
70 GO5L’B 4200 @ GOTO1380rem 宰寧本寧
宰*率重電市宰*ネ率率事率本 リニアリティチェック 傘喀***章零本章
本本率零本宰*3300 13=O@ 57=O@ F5S=”O” @
ON KEYa 2 GOTO3390@ BEEPloo、10
!EHTES
3310 FORJ1=T8/L2+I To 丁9/L2+1 @
)!1=(S9−51(Jlll−2813=I3+1 @ 57=S?
◆H]3320 NEXT Jl @ S6=+S?/131−.5
@ IF 56<、00001本+1+に/T1
5+1寧B(2) THEN GOTO335033301F K=O丁
HEN GOTO335033−IQ TF 56)ABSIS9/10
0本B+211 71(EN DISP”Mcna”;に;に”Repeate
d”;zs@BEIEP@F5S=”]°°(ムZ 5. Z r、+1
3345 IF +5>3本T181 AND F5S=”l” T
HE:: PRIN丁 にS9;SR:” ”、’、”t F5S=”O”
3350BEEP200.10eOrFKEY#2@RETURN3390 1
6=l @ GOSUB 4450 @ GOSL!B 4550
・ 00丁0 3300rem 零ネ率零本本率*本本本*ネ本 実行およ
び測定分析評価 率率率本車本事本3500 丁8=IN
TI IB+ 1314);/丁(51本IT+6l−B11311 l/L2
1率L23503 T9=IN丁((Bi1414に/71511+T17r
−BC14+ 11/L21*L23505 IF J#1 THEN
GOTO351(I ELSE T=0 41 GO5L!B フ9
00 @ 魔`Tγ
3:’107 1F l:<2 0F’ K=TLsl OR丁(51<
7 7HEN AS=””H” e GO5UF11000 @
W、41丁 3000◆B1911(0コj1351(iMOT)EO,1@’
As:t”寧)1″l?GO5L”B12O3−ツー’AI丁B181十B+9
1mK1’丁(5)
351:’ )14JT1111−丁!10目/2+36 H:=17121−
7431172+1 eH3=lT+131−7口2+ 1/2÷13514E
)jAsEME?10RY−1:MESSE3535 0、’: ERROR
GOTo 35973520MEASUREL1.L2,0.79◆L235
30 FORJ】=I To 丁9 、’L2÷23F+4(l IF
N%lE、As#JI THEN 00丁035403550ToMELI
ORYJ1
3560 IF Ll>、2 THEN GOSUB 4400357
0 NEXT Jl 1! +6:5POLL+7081 e I
F BIT(]6,01:I T)IEN 29X5
3575 ALPHA @ IF L2>、2 THEN 359
53580 FORJ1=I To 丁9/L2+23585RECALL
MEMORYJ13587 GOSLIB 4400 @ NEXT
J13595RETL言RN
3597 1F ERRN=2 THEN GOSLIB 1900
@ PRINT ”Ref、 repeated−@ 00丁0 3
500 ELSE 0070 1660te11+ ”率本本零本零***
デー9ファイルカスでにある時のチェック ・ 軍零零傘$寧:1600
1)S=+)4s115.2cl]&DlS&VALSID2+&”、”&B9
3 @ ON ERROR00丁03GOXI ASSIG\: 】 T
ODS @ DISP ”File exists” @ ASS
IG\: 1To”tBEEP@W、A1丁2000@GOTO1000361
0IF ERRN++130 0RERRN=325 丁HEN DIS
P B9S;”not found”@ BEEP @ WAIT 20
00 @ GOTO360036200S ERRORGOTO1660@ P
LOTTER1@ PRINTER23625K:T151 @ GOSU
B 8250 @ L(20)=L120+本丁(1−11/84 @
coo)=。
3630 B+61=T(41/20 @ GOSUB 4800 @ G
OSIjB 8000 @ IFD4515,5):+”O” 丁HEN
H1=OEl、SE H3=1363p GOSLIB 950036−
10 FORK=OTo 40 1” 丁31KLJLJ T2+Kl
=O@ NEXT K364F、 IF D4’(4,4)=”L”
THEN GOSLiB 180036−1? RE丁LしRN
rem 率+H傘補寧*t1プリントおよびディスプレイヘッダ 置傘$11*
零京率零本率率本本3650 F6S=”O” @ IF D、IS[5,51
=”1°’ THEN PRINTER21! PRINT @PRINT ”
NRRan(e I Range 2 No1se 1°。
36!l+5 DISP ”DurAtion”;IN丁lT181宰丁(
511(T171+51 /200+11零3;”)Iin+、+tcs”
3G6n DTSP Nc、 RA++cc ] R
ange 2°゛36P、ORE丁Un%
rem 車本零零本*本 2〜+0assas ノ平均”本傘**市本富零富宰
富*零*寧本宰掌傘本*本寥3700 Tl(41に〇 〇 T2+41
1;D @ H4=W11314コj1131(7)37]OFORJ=I
To 丁+01 @ 丁]+411=丁1+−111+541Jl
eT2+−1] 1=721−111+551Jl @ NEXT J37
20 丁11411=711411/Tlot @ T2(411=T2+
411/Tl0I !R9=R9/丁101 @ R9=R9−,5@
R8=(R8/T(01ど、53730 DISP USING ”DD、X
、5D、DD、XXX、DDD、DD、XXX、、6D” ;に、HIB+3
1.R8@ RETIJRNrem 重電寧傘率傘本牢 過剰ノイズのチェック
率率オ本率*零率率章本**本本重電*隼3800 59=o
@ 5s=o @ F5S=”O” ! CH3610FORJ=1
丁O丁1013ε2059=S9+1711−111−S4+Jlど2 @ S
8:58+l’r2141 +−55+J11”2 @NEX丁 J @
59=lS9/丁(0口8.53830 IF S9<ABS100O05
車B1111 0RQl#I THEN GOTO38GO38、;0IF
ss>Aps+r1四11/100愈B目+1THEr:DISP”Avera
1!e”:に:”repeated”;25 @ P、EEF’ @ F5S=
”]”3855 Z5=25+丁101 1) IF 25>2m丁18
1 ANI)F5S=’°1″ THEN 38703860 RETU
RN
3870 PRINT ”Avera(e nonreliable”
@ FORJ=I To 丁(01eF’RTN丁 ”Msg”;に;に’°
”1s4iJ);551Jl @ NEXT J3875 F5S=
”O°’ ! GOTO3860rem *ネ寧傘本本京率率寧 プリン
トおよびストアの結果*傘本本車寧本傘率車傘*本重電ネ寧420D IF
D4S[5,53”“’O” THEN 42054201 PRIN
TER2e PRINT @ PRINT @ PRIN丁 丁AB1
71;E4S @GR,APH@ COP”+−□
4202 H1=O@ GOSUB 9500 @ PRINT
T]S @ ON ERRORGOTO16604205PRINT
@ PRIN丁 1” PRIN丁 ’No、 Ran(e I
Range 2[5ubstrl”
42)OPRIN丁 °° 丁Nil/5ee) TN(1/5ecl
uM°’ ! PRIN’f4220 K=丁I51 e
GOSUB 82504230 、AS=”PFTN、KS)’S”425
0 GOSIjB 85004260 LORG O@ C3lZE
3 e GOSLIB 55004270 FORK=OTo
T151 8 GOSLIB 82504290MOVE84.H3@LA
BEL””’@MOX’EHJ、J11”LABEL”+−a320 PRI
NTEFt Is 2 @ PRINT USING IIDD、X
XX、5DDD、D。
XXX、5IIDD、 D、XX、5D、DD” ; K、)13.Jl
、H44312PRINTS 1 i B3.Jl、H44320NEX
T K ! PRINTERIs 24330 PRINT l!
’ TF D4S[5,5]=”1” THEN PRINT @
PRIN丁丁A丁子フ1;E4S @ copy @ PRINT
@ PRINT4350 ASSTGNR1丁0 *4360 GOSU
B 6000 @ PRINT @ PRINT @ PRIN
丁 @ RETURN4JOOl3=0 @ H1=0
4410 FORT2=T+11 To T121 5TEP 2
@ H1=In+VALUEII21 @NEXT 12
4415 S1+J11=H1/)+2 ・ H1=04、++o ro
= 1==丁1121To 丁+131 S丁EP 2 @ H1
=H1+\’、ALUEi121 @NEA丁 I2
4425 521J11=H1/H3@ HCO4430FORl2=T110
1 To 丁+111 5TEP Z @ H1=+(1+VALUEII
21 @NEX丁 I2
4435 511JI 1=s11J11−H1/H4@ 521J1’1=5
21J11−81/844440 RETURN
rem *****@本章串本愈電*中*テバッグメニ、 r**傘本零牢傘
ネ*零零本率零本率宰京本傘*本廖JJ50 DISP ”1=ExiL 2=
New 5tdev 3=Rep、Singie” @ DISF””4=Re
p、Avar、5=EndMe−−−−」5」igoon”445SDISP”
7=TestMsg8=NextReady”;4460 TNPL’丁 8
3@ RE丁υRN4y、oc IF vs=°“A” THEN
GOTO22504510GO5L’B4450eONERRORGOTO16
60*16=2452(l F6S=”O” @ IF H1#3 T
HEN 45504530 F6S=”1” @ DISF’ ”N
o、 of Single Measuren+eM” @ INP
k’丁
、]@ FOR,1】:I 丁0 80 @ S3+J1 +=o
@ NEXT J14F、−10R9:R9“2*丁+01#1.2◆Tl0
II t R8=R8−2*T101/11.2+TlolI! GOTO
2310
4550IF HI”5 T)IEN 29954555 1F H1=7
THEN 200045601F)+1=2THESDISP”Has、
Non1in、/No1se21npul”;@INPυ丁 B111.B(2
1@ GOTO45904565IF H1=8 T)IEN GO5LI
B 900 @ GOTO459045701F H)I3 AND
+6:I T)(EN F6S=”2” @ 00丁0 459045
80 1F Hl:4 THEN 22504590 RETURN
ram章$零本傘率庫 微分吸収対時間 **本電**率
*******460059=o e Sago @ 11=04620 )+
1=51+ll @ H2=S2(114630FORJl!2 丁o T
9/I、2414s:+r、 )+3=511.7] 1 e H4=s2+J
1146−IQ 5lfJ11=ls11J1+11−)+11/12*L2
1 @ 52fJ11=fs2fJl÷】1−821/+2’L:’l I”
IF Jl>T9/L2[THEN GOTO47104700IF Jl
>=丁8/L2+1 丁)IEN 11!1141 @ 59=59+
511J11 @58=S8+521J11
4710 H1=H3@ H2=H−1@ NEXT Jl @ l3=O@
58=S8/11 @59=S9/1]
4730 DISP L’5ING ”DD、X、DD、XX、SZ、6D、X
XX、SZ、6D” ;に、J、S9.58
4740 541jl=S9 9 55(Jl=584750 P、ETL’
R::
1:em *本博傘零零**本 シングル分析評価 零本章*本章零率零
寧零本率**本*****寓零寧*本48001G5g−0°’@AF、=O@
A6=O@)IODEO,148]OLAさIBDA Llll、L121.
L131.L141.L+51.L161.L171゜L181.L191.L
IIO+
4820 Tlき圧 SCζLE OTo T171483(’l AB
k’)RHA′、CUE483= IF ヒ(二4)〉1°131/3
丁HEN B+3+=丁131/34833 1F P、+(’;l:)丁
!、+1/3 丁HEN B+61=T(41/34835 Wl(31
=P、471’P(61/丁1414836 1j1121=Bi71本B+3
>/I13)−1840IF W1131<I0 丁HE賢: GOTO
19004845HCf91=l THEN 10004850 1:O(
GOSUB 79804860 AS;”零N” @GO5UB 70
004865 讐ATT !’+0OO
4870J=Oe K=INT1丁+51/21 @ T9=Tl?l @
T8=B+131 @ GOSl!B4920 H1=O@ B220
4930 FORJ1=l To 4 @ H1=SllJ11+H1@
)+2=s21J11+H2@ NEXTJl @ Hl:H1/4 @
’ H2=)(2/−150、TOIF rl、!!、[5,5]s”O”
AND 、A5jl THEN AS=”PFOD、KSYS”
@GO5LiB 8500 @ A5=15055 DISF ”In1
tial OD Range 1 and Range 2°15
056DISPL’5ING”6X、SD、5D、6X、SD、5D”;Hl、
82@H1=H1/T1151本1000 @ H2=H2/T1161”1O
OO505? IF ABSI)Il+>99999 0RABSfH2+
>99999 THEN DISF′”[E)”;)+1;J(2:”uM”
! GOTO50605058DISP L!5ING ”3A、X、S5D
、3D、4X、S5D、3D、2A” ;”[E]”+H1,B2.”uM”
S DISP ”Deriv、 Rangcl and Ran
ge2°“
5060 IF D4s15,5]#”O°’ THEN FS=1 @ G
OSUB 6500 @ F6=2 @GO5UP、6500
5350に=0@J=O@GO5UB4600@GO5L’B5300@H−1
=、ABSIS6/5911001 @ LLjLl)999 T)IEN
)+4=9995160 DISP USING ”14A、X+、6D、3A
、3D、D、A” ; ”No1se Ranqel”、ABSIS61.”
= −HJ、”%” @H1=O@ B2:05170 FOR、i=2
丁o 6 @ H1=)+1+511Jl @ NEXT J
! )+1=H115@AC)I4
518(l FORJ=Tl)l/L2−3 丁o T[71/L2+1
@ H2=H2+511Jl (i+ NEx丁J t )12
=)+215 @ H3=INT(ABS(+)12−B21/)1312
00115190 n)SP ”Non1incarity : ”;)+
3;”%” @ A2:B3 @ DISP *D]S)’
5300 J1=Of TF IMS[5,5]#”O°’ T)iEN GO
SUB 540053)OIF Jl−9丁HEN 4810S1501F
A5書2丁HF!;AS=’“PFAB、KSYS’“@GO5IJB8500
@A5=2536OF6=1 e GOSUB 6500 @ F6=2 @
GOSUB 65005390GO5UB5400@IFJ1=9THE84
8105395 RETURN
rem *零本本傘本**率本うフトキーシングlし分析評価メニュー 草本率
す富本率本零零本寧5400 OFF KEX’# 8 @ ON KE
)’# 2.”Go OIL°’ GOTO5490@ ALPHA540
2 ON K!:Y# 5.”[E]” GOTO5440@ Ot:
KEY* 6.”Activ” GO1’05445 @
OFF KE1’# 75・喜05 ON KE1’t 3.”Grap
h” (ioTo 5420 @ ON KE1’# 4.”Alphn
”CiO丁0 5430 f KEY LABEL5407 IF F
S=”A” AND C110+:O丁HEN Jl:I ELSE
Jl:05−110 IF J1=OTHEN 5410 ELSE
BEEP 300,20 It WAIT 3000 @GOTO5J5
0
5420 GR,APH@ J1=O@ 00丁05−1105430
ALP)IA @ J1=0 @ GOTO54105−140DISP BI
31;”new”;e INPUT B131@ B151:B131 @
JC9@GOTO5490
5445DISP BIIOI;”new”:@INP+、!T B+101!
GOTO540054501F B+41=00!1 QC2THEN 54
90rem電本本亭率本率*計算された酵素の自動調節 1
11111$11零5454 IF B131<丁(31/200 TH
EN B+31=丁(31/200 ! GOTO54905455IF
ABS(591>2”B(101丁HEN H1=、5 @ GOT
O54925460IF ABSIS91’、B1101/2 丁HEN
)Il=2 e 00丁0 54!125465 IF ABSIS
91>1.3*BflO1ユ只工x H1=、フ5 @ GOTO5−1
925470IF ABSi59に、75孝B1l0I THEN H1=1.
25 @ GOTO549254900F)’KE)’#2@0FFKEX’=
3@0FFKEY#4@0FFKEX’=5e RETURN<
549! B+31=n131”Hl @ A6=、A6+1 @
CLEAR@ DISP”En=>−meconc、:”: B131 @
IF A6>6τHEN J1=OELS): jl=95−193 00丁
0 5490
5495 GOSUB 7250 @ 00丁0 5400rem 率
本宰**本本ネ市りリエイトデータファイルケ零本零零本本本II*本本■牢率
本章岑本本零4本5500 DS:D4S[15,203&DIS&VALS
+D21&−、”&B9S e ON ERRORGOT0166゜
5550 CREATE DS、3+INT(7151/10+、R1,2
5655GOASSIGN# I To DS5570 PRINT#1
; Dis、D2.D3S、D4S、EIS、E2S、TIS、TIl、L目
、B++5660 RETURN
rem **@@傘ネ*傘*寧率 リニアリティ実行復帰
本本京寧宰零本重電京本本本6000 1!O@ A2=O@ A3=
O@ A4=O@ As=o e As=。
6050 FORK=2 To 丁+51 @ GOSUB 82506
090 IF B3:OORH4:OTHEN GOTO6200ELS
E H1=1/H4@H2=17H3
6120A1=、A1+1 11 A2=A2+111 e A3=A3
+H2@ A−1=、AJ+H1本)12 @A 5 ” 、A 5 +
111 ’ )l l e A 6 ” A 6 + H2” H2620
0NH3:丁 K
6210IFAl=OTl(F、!<GOTO6,IO062201(]=A5
/、4l−fA2/Ai l−26230H2=、A6/A1−lA3/、Al
1−26240 H3=lA4/Al−A2/、八】本A3/Al l/H1
6250)14=A3/Al−H3*A2/A16260 H5=H3牢H】χ
5/)12−.56280 H1=ABSrl/1)14/83))@ )+2
=ABs+1/H416290IF Alll5IH11)9999 0R、
ABSIH2+>99999 0RABSIH51>] 7丁IENGOTO
6400
6300PRINTυ5ING ”J5A、4N、6D、2D、X、3A”
; ’°S’elocity:“’、+12.“’17s”
63)OPRIN丁L!5IしG”16.A、3:(,5mJ−D、X、3A”
;”MicbncliaColtst、=”++41.”usI″“6320
PRrN丁 L!5ING ”14A、sx、3D、、+o= : ’
でorrelation =”、H2S2O8PRINT @ PF
!TNT @’ RETt:RNrem……… グラフィ4クデイスプレイ
…禽**電啄***本本宰ネ…本本傘6500 PLOT O,0,2
6520FORJ1=2 To 丁9/L2+16530 H4JJ1−
11ネL2
6 D 400;’ F 6 G OTO6550+ 6 b G O+ 05
? 06550 H3:S1+Jl l @ GOTO658065G
(I H3=S2iJ11 9 GOTo 65806570 H3=S
31J31
65εOPLOT H4,+(3,1
6590NEXT JI I PENUP @ PLOT O,0,2@ RE
Tt、’RNrcm 事草本本京零傘書本シリンジコントロールメニュー寧本率
*本宰lI寧**率寧零零章寧IT零零率7000 OFF KEYi
2 @ OFF KE1’# 3 @ OFF KF、Y=
4 % OFF @KEY= 5
41 OFF KE)’i 6 @ OFF KE)’i
7 t OFF KE)’含 87005SET丁IHEOLIT7;
30007010 ON TIMEOUT 7 00丁0 709070
15 AJS=AS(2,2)
フ020 T5=SPOLLC70B+フ(12s IF BIT+15
.71 THEN WAIT 500 t 00丁0 702(17
030IF B11+Jl、51 THES DISP ”ErnpL
y” @ F5S=”2” @ C115+=0! 00丁0 76
B2
7032 1F 91丁+75.JI T)IEN DISP ”Full
” @ C1151=0フ035 IF BITII5.31 THE
S C+15CO7040AS=AS&”、” @ 0UTPL:T 708
;AS7052 IF 、L)S=”】’° 丁HEN M=3フ0
54 1F A13=”2” 丁HEN M=27060 IF Al
5=”3” THEN M=37061 IF Al5=”B” ORAl5
=”D” THEN C1)JCCrM)−WIM+1O)7062IFAIS
=″”c”丁HENC+H1=CIMl÷lζ(トイ+1017063IFAI
S=”F”丁HENC+)jl=07064IF、Al5=”G”丁HENC(
ト11=t%′Cトll7065 IF AlS”H” THEN C(11”
cll 1−Wlll ) 1’ C121=C121−’1121s t”+
31:Cl31−W)+317070 OFF 丁IMEOI;丁 770
80 RE丁URN
7082 XF Al5=”F” ’ORAlS”B” ORAIS”
°D” T)IEN フ080 ELSEフ040
7090 r+75F’ ”5w1tc1. on ASSAYOM、
AT”−e BEEP @ WAIT 5000 ■
RESE丁フeGOT07000
rem 本本本II*零i4*寥寧寓4倉 エミュレートにコマンド 傘
寧傘傘京ネ*傘傘オ零傘電傘寧隼本7100 DISP As @ A
S=”’丁F84A ” @ 16=W11E l @ GOSUB
72(107110l6=IN丁IW114171W1111148000
/W+1)■+257 @ GOFIL!Hフ20(1i1]r、rF刷1
2co THEN 16=60258 ELSE 16=lNT(豹14171
W1r21傘48000/讐12111÷2577120 GO5L!B 7
200 e IF Wl(3180THEN rs=so2sa ELS
E16=IN丁IW)141/1W1131148000/讐f311)+25
77325GO5UB7200
7130 GOSUB 7000
7190 RE丁Lしn5
7200 BS=” ″ ・H2Sx”01234567B9.4BCD
EF”7205 FORJl=4 丁01S丁EP−1721(+I=I6
MOD16#BS(Jl、J1]=)11alI+)、It1]@I6”l6−
1t’16=T6/1B e NEXT J)72】5 、AS=、AS&
”=”&BSJ3.−1)&””°&B511.21?22ORE丁υRN
rem **本本本傘率率零傘傘シリンジコントロー!レメニューソラフキ*
* * 11本7250 トj=O@ AS=”傘WFCCB” @
C;05UB 7000 # GOSUB 7700 @ GnT
O
7280ON KEYi 1+”Give” GOTO7430@ ON
KEYi 2.”St+ck” GOTO7300ON KEYi 3.
”Back” 00丁0 7400 @ ON KEYi 4.”E
mpty”GOTO7460
7320ON KEYi 5.V、ALS(k’(?1NO1l GOTO7
3607330ONKEYi6.VALSICIMlljコQa7440734
0 ON KEYi 7.”Retur’° GOTO73557350ON
KEY含 8+”Syr 、”&VALS(MI 00丁0 74807
352 KEX’ L、ABEL @ GOTO72807355OFF
KEYi 1 @ RE丁tjRN7360 CLEAR! DI
SP ”Volume per Key”:@ rNPU丁 )115
8w1M+1ol=VAL!)+151#As−”1.4”&HIS@GOSU
R70θ073フ(I GOTO7280
7400、AS=”傘D” @ GOSUB 7000 @ 0OT
O72807420AS=’IC″ e GO5L13 7000 @
GOTO72807430AS=””R” 9 GOSUB 70009 G
OTO72807440As=9°礼” @ GOSUB 7000 @ GO
TO72807460AS=−*F” @ GOSUB 7000 @ GO
TO72807480M=M+1@IF)D3THENトイ=17485 AS
=”本”AVALSI)It @ GOSUB 7000 * GOTO72
80rem 率隼11傘本本率車 洗浄シリンジ 宰傘傘傘京本倉
*+g*重電富倉零率*零富車掌オ車零傘t7500 CLEAR@ DISP
”No、of Cycles and 5yrin(e (1−31”;@
rNPLITH1,M
75]OIF Nく】 ORM>3 7)IEN 75007520AS二
’*”&VALS+H1@GOSUB70007530 、AS:””E”&V
ALS+811 @ C05UB 70007535 1F MI MOD
2!’OTHEN CIM):OELSE CINL=W[>It51754
Q RETL、’RN
r(+L ”””””ASSAYOMATEからの情報読取り m**
*&411+a〕700 SE丁 丁IMEOL’T 7;2000 @
AS=””77100N丁IMEOL’T?GOTO??90?720 E
r:TER70B USING ’°j、PI” ; 81@ AS=A
S&CHR5IH1111tl IFH1=13 0RLENIASI>407
HEN 77407730 GOTO?720
7740 OFF TIMEOL!? 7 @ ON ERRORGOTO
?7907790 ON ERROR00丁0 1600 I REA
L!FINrem **宰車市本率本 スペースノ*定 電率木本ネ
庫重電*宰ネ**ネ*牢ネ傘宰零寧宰本本番寧本7900 IF K=o
丁)IEN 53=o @ co丁0 79707910 ON T
f19)GOTO7920,793D、7950.7940,79ε07920
BS=−11’L3=()ニー11 ・ 00丁0 797079:’、
ON5=1;傘300/7151 e IF K>丁151/2 7HE
N N5=150+INTIK−T(51/!I’600/丁151 @
GOTO7970ELSE GOTO79707940K1=丁(5)÷ト
リ: @ N5=17):1”600 t GOTO79707950N
5=5+に&100/丁(51+3本L3′IK−11* C1OTO797
07960s3=:C3/L4201
7970 W1+31=N3室L12017100007975 W112
1=B(〕)傘I’、+ 31/T(31傘11−B1101m(丁(51−K
l/丁(5)17980W1111=B171−に1121−W1131@IF
I=97HENRETtl’R,’<7985 A4=”*K”AVALSI
W1 + 111&” 、”&VALSfWI + 211&” 。
&VAIJIW1(311!’ GO5tJB )1007990 GO
SUB 7000 @ RETIJRNrem *率本本寧市率*亀 必
要な容積計算 草本寧宰傘本傘傘率*傘寧
傘*8000 Sl!11=4 @ 51121=、3 @ 5l(
31=、25 @ I=9 @ AS=”傘WFCC8”! GO5L
IB
7000 @ GO5LJII 77008010 FORK=OTo
T151 @ GOSUB 7900 @ FORM=I T
o 3 eSl(Ml=SI+)11+W11Ml$T181車1.1eN
EXTM@NEXTK80εOFOEM=ITC,3@IF51181>CTM
IT)10ζDISP”5yrin(e”::1:” is filled
” @ GO5LiB 81008070 NExT M e
RETURNrem ”ヰ寧傘場率ネ▲寧ネ傘本章*本**傘零傘傘オ*本本
本本傘本零傘庫零車本尊傘本本率京本本本寧倉本寧t軍専8100 K:Bl
201 @ A!=”卓”&VALSIMl @ GOSL”s 7
000 @ IF −s:KTHEN 8120
8105 S11Kl=S1+Kl+.2 @ IF SITKI>W
IKI 丁HEN S1iKl=WfKI8107 IF S】IKI>B
(191 7HEN Sl(Kl=Bl1918110 As=”本=”&V
ALSIS1+Kll @ GOSt.’B 7000 @ WLK
+51=511K18120 AS=”*G” t GOSUB 7000
8190 RE丁URN
rem傘***本車零本率* 酵tgオヨUM体c o n c . ffl
l 零零傘8200 I=O : BER.IEI
Is]8205 GOSUB 7900
8210 H2=T13+’W3121/Bl718220 }+4=Tl41
摩WIT31/B(71 ! [5)8230 +13=711K+$10
00000/Ti)フl/H2 @ J1=T21}:111000000/
丁+181/}l:?
ε240 RETL’RN
8250 T=9 @ GOSUB ε2058260RETし゜RN
ren1*寧**寥寧*噂ファイlレおよびディスプレイからの読取りN 富*
1l率寧寧寧寧富本8500 RESE丁 7
aslo ASSIC;N含 1 丁O As @ RE.ADt
1 . H3.H4,NO,X1.X2.X3.YOC
Yl .)−2.Y3.E3S.E4S8550 CRAPH @ GC
LEAR @ SCALE O,100,0,Zoo @ IF
X2=O 丁HEm
X2=TX1−XOI/5
8560 Mol゜E 30,0 ! LDIR O @ CSIZE 3 @
LABEL E3S @ F5=lX]−XOI/7 @ F6=lY1−Y
01/108590 SCALE XO−F5.X1,MO−F6,Yl @
XAXIS Y1.X3,XO,XO+X3 @ XAXIS Yl,X2.
XO+X3,Xi8620 XAXIS YO,X3.XO,XO+X3 @
XAXIS YO,X2,XO+):3,XI @1’AXIS XI,Y3,
1゛O,)’O+)’38650 Y.AXIS XI,)゜2.YO+Y3.
Y】 @ YAXIS X0,1’3.YO,YO+Y3 @)’.Axrs
XO.Y2.)’O+)’3,Y38660 FOR K=NO+X3
丁OXIS丁EP 冫:28670MOVE}:−F5/5,YO−1)’l
−YOI/20?680 LABEL VALslKl @ NEX丁
}:8690 FOR K:YO÷)゛3 丁Cl−Is丁EP Y2
8700MOVEXO−IX】−XOI/10,K−F6/28710 LAB
EL VALSIKI @ NEXT K8900 ASSIGN# I
To $ 1! RE丁υRNrem m本率本本本ネ プリント
ヘッタ 傘傘傘率傘本孝**京零傘本率本零*本傘本ネ率率零本本*本本本
9500 PRINT @ PRIN丁 ! PRIN丁9510PR
INT”}Iensurement”;D4S[15.20];”’゜;Dis
;D2曖賢PRINT”Diskette:”;B9S;” ”;D3S9
5JQ FOR Cl 丁0 32 @ PRIN丁 ゛一++,
@ NEXT r @ PRIN丁9542 IF H1=O
丁HEN 9700 ■9545 PRINT ”■in+e
[S]min”;丁ABl161;B口31;”bjs”;丁ARl24 l
;BIIJ l:”sec”9546 PR3Nl’ ”Tj+be
[S]IT+n>.”;TAB+161;丁(61i’゜bis”;TAB+
24 1 :丁471:”set”956 PR1N1’ ”Il1tel
−val ”;Lm;” / Integration”;L2954
3PRIN丁”Max.Stdev”;Bl]+H″/Nonlin.”;Bl
21;”!”955(i PRTN丁 ”Ra++tc+ 1 fron
+ ”:丁111;” to”;T121;”nn+”9555 P
RTNI’ ”Rnnte 2 front ”;Tl121;”
to”H丁+131;”ru++”95+%7 PRIN丁 ”Int.
Rer. rrorb ”;T(101;” to”H丁1 1 1
1 ; ”n+nh
9560 PRIN丁 ”l”;EIS;”]゜”;T.AB+23)HT(
31;”nH”9565 PRTKT ”jn the .Assay
: ”;B1101;T.ABl231;B+31;’゜nM”958
0 F’RINT ”じ;E2S;”]”;丁.ABl 23 1 ;Tl
4 1 : ”uM”9585PFζINT”トIax.Cone.inAs
say:”;T(141;’゜uM”9600 PRINT ”No.of
Points”;T(51;TAB(241H’゜Rep.”H丁(8〉965
0PRINT”DeltaEpsilon.1:”;Tl171;”1/m}I
cm”!PRINT”DeltaEpsilon2:”H丁(181;lll/
mLIcm”9657 PRINT ”Assa%・ Volume :”
;TAB+251;Bl71;”ml”9690 FOR I=I To
32 @ PRIN丁 ”−”;@ NEXT I @ PR
INT9700 PRINTER IS 2 @ RETLIRNr
em 率*ネ京零本*本零t本車率本*ネ*ヰ零本本寧傘零本車京11京ネ傘宰
*本本京率率傘*本本傘車率*本傘寧寧卑x’em 率率率零本市率M I
CHK I Nソフトウエ7 : dacom.ksyz *宰本
txt啼rem *零オ市補*拳彎 作者 : Bruno
Michel 傘t*才*!”e++ 傘愈車
本11倉*率傘傘亭亭處*率本本寧寧廖倉宰本寓零牢ネ卑率オ傘ネ*ネ本ネ率率
事本傘ヰ禽處膚傘嶽亀寧尊為rey3 *本***本傘寧牢$零率傘**亭
50 ! DACOM B.MIC}IEL 05.11.86r
gB 本***傘率傘零市***ネ率率本 60 !
KSYSramThefunctionsofthispartorth
e}IIC}!}:INsoft+、nr(”rem &+1 data tr
ansfer to hoeふjoInputerrem bl displ
ay and edit of data files and heade
rinfor+nation
ren+ cl avera@℃int blanl;srem dl co
pying f11esrern el plotting data to
HP Series 74 PlctLerrom 零**宰傘傘本京率傘本
宰寧隼**ネ*牢*本零市*本傘ネ京孝傘孝*零本本傘*傘宰オ章傘本t傘*倉
t本t場1’t’n ソースコードの開始rerr.
牢牢宰*1I*率*傘宰本$零本本零寧零富零京隼宰*零本本本章本零傘*
率傘傘本*穿**市傘幸本宰啄本電大零rcIrl 傘傘傘*率本**傘本傘傘
*本本亭 共通データ領域 傘宰**オ11傘本牢宰騰傘tl11
20 COM S}IORT SIT801,S2T801.531801,T
(201.71+411,T?f−11 1.L1201.81201.Al5
.51125COMSHOR丁Ci151.W+201.%i’li51.El
201140 COM 丁ISr65],EIS[20].E2S[20]
,DS[20],DISrl ),D2,D3Sf20],D44[20],B
9S[8)rem 傘傘本****傘ヰ*寧*傘本 クローハノIi’Jlオヨ
Ui<フファ一 軍牢牢傘章率150DIMZS[2000].B8S[
64],HIS[64]160 10BUFFER 25
180DIMF$[1].F6S[1].E3S[30],E4S[30],F
7S[1),E :l S l 6 0 ] + N 9 S [ 3 0 ]
1qo soonr yo.y1.v2,Y3.xo ,X1,X2.X3 .
L1 .L: , S4 141 + .Qll ,Q2]95FORK=OT
o4il”541}:l=otNEXTK@I9S=””200 ras=”o
°’ l!’ 01=1 @ Q2:1 @ F7S=”O゜’ @ G]
=)@’ cz=1 @W9=100 @ CI.E.AR205E3S=
”. ..” ●EJs=”...” @ XO=O e X1=1 @ X2
=1 @ X3=O @yo=o @ Yl=1 (I Y2=1 e Y3
:O @ Bas=”゜ 1゛207 FOR I=1 丁0 63
@ B8S=B8S&” ” ! NEXT I @F5S=”
............
210 ERASE STA丁US220 0N ERROn GO
丁0 250230 FOR J=1 丁0 992JO ER.
ASE ST.ANDARD J250 NEX丁 J @ O?;
ERROR GOTQ−ユ2D255 PLOTTER l
rem *+k零*傘本共通データが初期化したときの試験
本ll*310 IF C(g+=1 丁HEN GO丁0
1000320 CHAIN ″AutosL . KSYS”Tel++ $
零本率率處本本本零傘ロ廖 チェック変数メニュー lI軍本*本車*零
*家本本傘寧傘remネ京**ヰ率本ネ寧寧オ*t零平均ブランクおよびコピー
ファイlレ *尊*t0500 L1=BT111 e L’=Bl12
1 @ ON ERROR GOTO 500 @ CLEARi t=DIS
r ”為’lls Djsplay Variables }Ienu
本率ネC510 CLE.AR * D]SP ”Duration
”;L(111;Ll121;”and”H丁161;T+71:’゜St
”C”
520 DISP ”Ranta 1 from ”HT01;” t
o ”;Tl21 @ DISP”Range 2 from ”;
丁+121;” to ″;丁《】3I540 1MsP ”Int.Re
f.from ’″;T(101;”to ”;Tllll550 DISP
EIS;TAB1201;T(3)H”run (El” @ DISF’
E2$iTAB+201.T《4+;″um Is)” ・570 DIS
P ”rs] Assay”;丁1141;”/ Stdev”:B(1)H”
%”580 DISP ”No.of Rep.”:丁+81;” / No
.of Points”;Tl51590 DISP ”dEpsl″;
丁+171;”dEps2゜’HT118);”l/mM cm”610 I
F Tl191=I T}IEN DISP ”Geom.Row”620
1F T(191=2 7}IEN DISP ”Arithm.Row”63
0IFTi191=3丁HljζDISP”MixedRos.゜”635
IrTl191=−I T}IEN DISP ”Reciprocal R
ow”640 ri丁sI’ Tl!
rem *傘*傘***京*オ亨ネ率本”V7トキ、 傘*鎗傘ネ處*本寧
重庫本ロ傘隷口本11率率岑6500:: IEYi 1.”E?:it”
GOTO1000655〇二くKEY=2.’″ReadV”00丁069
0660 ON IEYi 3.”Dacom” GOTO2500665
ON KEY古 4.”Comrne” GOTo 780670 ON K
EY= 5.”5torB” GOTO1500675ON IEYi 6.
’°ReadB” GOTO1800680ON KEYm フ、”Co
pyF” GOTO90068:l ON kEYi 8+″Avg Bl°
’ GOTO35006ge KEY LABEL @ aO丁0 6
50690 GO5L’B 700 @ 00丁0 500 、、−r
C″′**11****ソフトキー機能を実行するルーチン
寧本本*700 CLEAR・DISP″Name of variable
file”;@ INPL!T DS(DS=DS&”、KSYS” !
ASSIGN& 1 丁o DS720 RE、AD# 1 ;
DIG、D2.D−1s、D4S、EIS、H2S、TIS、丁+ 1.Ll
1.Bロア30 IF D4S[1,1]g’);” THEN DISP ”
No Kinetic VarialIlrfile” e BEEP @ G
OTO700745F!ETURN
75OCLEAR& DISP ”Are you 5ure to 1nit
ialize ? ”;@]NPL!T HISll、1)
7551F )!l5(1,1]”’J” THEにINITIALIZE H
9S、”:D701”、20 @GOTO1000ELSE GOTO100
07601F Q1=] THEK Q1=2 ELSE Q3”1
765 GOTO500
780CLEAR@ FLXP @ DISP ”New Comment
” @ INPUT T1$@ FLIP@ GOTO500
800DISP”TheMainpro(ramisloadedPlease
waitabout 20 sec” ! DISP e BEEP
810 CH,AIN ”AutostJSYS”900 ! C0PY
FILE
930 CLEAR! DISP ’°Enter name of 5our
cefile andDrivetype’:d7xx”’@INPL!TDS
920 DISP ”Enter name or Destinationf
ile and Drivetypc’ :d?、%X ’°’ e
INPUT 25930 C0P)’ DS 丁0 25940 GO
TO50(+
rem 傘富**寧傘11車傘*傘* 7’ −9トランスフア一メインメニユ
一本*11本本本本章本宰*零零1000 CLEARII DXSP
! DISP ”傘*寧寧***傘本傘本 DACOM率車*零零*零本m
本零m本″ ! ON ERRORGOTO10001010DISP
” MAIN MENU” 11 DISP
″零***本率本本**市傘穿本m市率本傘本市*率******傘傘″ e
DISP t’ DISP1050 DISP ”Please 5ele
ct a 5oftkey:”1100 0:: KEl−i 1 +”n
Var” GOTO5001110ON KEi−含 2.”Docor
n″GOTjiΣ」+001120 ON KEY= 3.”Direct”
GOTO16001130ON KEY= −1,−Plot)f” QOT
O70001140ON)二EYt5.″”GOTO10001150ON I
EYi 6.”DCorr” GOTO2000116CI O:、’ KE
Yt 7.”M、AINPC” GOTO8001190KEY LABEL
@ 00丁0 1l100re *本本本本本本本 ソフトキー機能を実
行するル−チン 傘1*1300 GO5Ull 500
0 @ 00丁0 10001310 GO5+、!El 5500
! GOTO10001500CLE、ARe DISP ”Name of
Blankfile 19 CharactsrslooeINPUT
H2Se IF LEN+HISlj9 THEN 00丁0 150
01510 H2S=HIS&”、KSYS”1540 CREATE H2S
、5,256 @ASSIGN# I To 142g1560 FORJ
=1 丁0 20 @ PRIN丁# 1 ; T(Jl @
NEXT Jl5)OFORJ=O丁o ’r(5)e PRINT#
1 ; 丁11JI、丁2rJ)@ NEWT +1580 ASSIG
N# I To *1590 GOTO1000
1600CLEAR・DISP ”Please sel@ct Drive
1=700 2=7013=710 ”;・INPL!T )+11605
1F )ll=I THEN MASS 5TORAGE Is ”:D7
00″!I GOTO161016061FH1=2丁)IENM、ASSST
ORAGEXS″:D701”ELSEMASSSTORAGE Is :D7
10”
16)OCLEAF!
16]5 CAT # DISP ”Enter name or
rile to be )’urced adпB
Functions: PAC):l” l! INPUT HIS16
20 IF HIS=”PACI=” T)IEN PACK @ GOTO1
00016251F HIS=”N” ORHIS=”” THEN
GOTO10001630PURGE Hls @ GOTO1000)660
BEEP 50,1000 @ DISF ”Error”;ERRN e
DISP ”Correcterroreondition +C0NT
”;ERRL+670 PAUSE
1700 MSP ”Comment、 :”4 FLIP @ 7
NPUT Tl5I! PRINT 丁IS @FLIP @ 00丁
0 1000 □1800 CLEAR@ DISF” ”Namc
Ior Bla+nkfile +9 Charactersl” tINF
’υT )lllil! TF LEN+HISl#9 THEN
00丁0 18001805112s:)US&”、KSYS”1810ASS
IG:451丁0H2S1820 FORJ=1 丁1’)20 t’
READY 1 : T1141118、+ONEXT J
1850 FOF’ に:0 丁0 丁+51)860 REAtJf
1 ; 丁0+)、丁21 ): 11875 NEWT K !
GOTO11000re **本率零率本宰**京 f−’;’188メニュ
ー 本本宰傘寧率零傘*宰傘零市本傘零零*宰率本寧率*2000 R1+=
0
2005 CLEAR@ DISP ”**率’i率** データ膳萬
メニュー 零率*寧率1に*宰1゛eDISP ”No、 Range
I Range 2 [5ubstrl”2010 FORK
=R1本10 To 9+R1*10201S DISP LISTN
G DD、X、5DDD、DDDDD、X、5DDD、DDDDD。
X、5DDr1.DD” ; E、T11に+、T21Kl、54iK12
050 NEWT に
2100 o:: にEY4 1.”Exit” GOTO100021
10ON KEY= 2.”Nty、P” 00丁0 23002120
0?、’KEY*3.”FormF”’Go丁023102130 ON
KEY= 4.”TxrL’T” GOTO24002140ON KE
Y= 5.”に:Ko” GOTO;’1502150 ON IEYi
ε、”ReadD’°GOTO22002160ON KEY= 7.”5
toD” GOTO22102170ON KEY; 8.”PlotM”
GOTO70002190KEY LABEL @ GOTO2100rem
を傘*牢傘*$$4H1藁機能を実行する!ルーチン
本亭率本率率2200 GO5tjB 5000 @ (ioTo 2000
2210 GO5UB 55001! GOTO20002300R)=R1+
1 ! IF R1>4 丁HEN R1=42305 00丁0
2005
23】OR1=R]−1e TF RBOTHEN R3=02315
GOTO2005□
2400 CLE、AR! DISP ”Nun+L+er +Col
umr+ 11−31”4 1NPU丁 K、Hl:’+10 DISF’
”X’alue−;2、o2 IF )l]=I Tote; INPU
T 丁】n;+2415 1F H1=2 丁+(EN INPUT 丁
21K12−1’OIF Hl:3 丁HEN INPL’丁 5411
: 12430 00丁0 2005
2450 CLEAR@ DISP ”Column (1−31″i@ I
NPUT H124GOFOR):=0 丁0 丁+S+2470 DISP
’″Value−:)::2J7? IF H1=3 THEN
II;P’−’T 丁】(K12J?5 7F H1=2 丁)IEN
INFIjT 721に+2480 2F )11=3 丁+(EN
INPL’T 541KI2490 NEXT K @ GOTO20052
495GO5L’II 5000 e GO5t、’B 4400
@ 00丁0 500rem傘本本宰率*宰本率*データコミュニケーション
サブlレーチン 率寧宰零零本章章寧率2500 IF LEN+l9Sl
j2 THEN CLEAR16DISP ”Please enter
initia1g’ * INPUT 19S@ GOTO250025
10! *率**本 D、ACOM *本卑*寧率本率傘寧傘率2520
! 愈宰寧本傘率寧禽寧京本*宰*傘寧傘傘率本零傘傘本2530 CL
EI t DISP ! DISr’ ”’l傘傘本本傘隼本電率傘
率本傘本本率rs本零寧傘辱本本率辱傘111
DISP ”零零ネ傘本本111*零本廖京本本率本傘本本事本本本率亭傘率
事富率1゛2540 DISP t DTSr” ”wAit ”;W9.;
” m5eC”2550GO5UB3000:SE丁LしPCONTR2555
OFF KEl−# 5 e OFF KEYi 6 @ OFF
KEI 7 @ OFF KEYi 82560 ON KE’l 1
.”Exit” GOTO10002−+6p ON KEYi 2+”Abo
rt” GOTO25002570ON KEYi 3.”5END ” G
OTO25852575ON ):El−j 4.”wait ” G
OTO33002577ON KEYi 5.”D Var” GOTO50
0258J ON ERRORGOTo 2780 22590 CLEAR
@ CAT ”、”&B9S2600 D]SP ”Enter Fi
lename of File to be transf
errCcI
1Mcmor>−=already ir+ Memory”2605 FLT
P @ INPUT l1ls@ XF LENIHIS+>10 THEN
DS=HIS11,103ELSE DS=HIS
2630DS=DE&”、”&n9S@FLIP@IFDS[1,63g”)I
emory”THにンζcost;h 5050
262(lSE丁T1)IEOυT10;200002630 ON 丁1
’lEOυ丁 10 GOTo 27802G、IOPRINTERIs
102650 DTSP ”Please enter filenam
e on host 18charact@rsl″;
2652 FLIP @ rNPLjT 8852655 IF LEN
IB8SI>10 AND H8S[2,23=”:” THEN HIS=B
8S[1,IQI@ GOTO2660
2657IF LENIBBS+>8 THEN H11=B8S[1,8]
ELSE )11s=B8s2660 FLIP ! HISe”0PEN
”&)11s&−K”&49S2665 IF LENIIIIS)<30
THEN )11s=H1s&” °’ ! GOTO26652
670ZS=”” @ 0UTPLIT ZS USING 30A” ;
Hls @ DXSP ”0PENFILE’“
2675TRANSFERZtTo30D;TR27−In DISP ”
FILE ”;I)s;” XS 丁R,ANSFERRED ”
@ ENTEn 10@ 。
HISe DISP )113 @ W、ATT 25”W92750
GOSUB−IJQO:丁RANSFER27GOPRINT ’°CLO5
E” @ PRINTERIs 2 @ DISF”°FILL:
CLOE、F、D h
e DISP ”RE、Ar))”’2770 C1OTO2555
2780BEEP @ DISP ”ERRORDURXNG D、A
丁A ’rRANSFER’″ @ OFF丁IMEOU丁 10 e
WAX丁 3000 @ RESET・102790 GOTO2500
2800TRANSFER25丁0 10 XNTR2820RETL’RN
rem 本率車電*京ネ本率傘 エラーからの回復 率**率本本
本*穿を本*ヰ傘傘孝を本本彎t2900 IF ERRN!67 AN
D ERRL=5j;jJ工し丁HEN PRINT ”File ”;
DSりnot found” I GOTO29302905IF ERRN
=130 THEN PRINT ”Diskette”;H9S;” r+s
L four+d”! 00丁0 2930
2910 工F ERRN=129 THEN PRINT ”Dis
kette dntnaqad” @ 00丁02925PRINT”E
RRORNU)IBER”;ERRN;”0NIJNE’°;ERRL@PRI
N丁 ”NE>:丁 TRY ”2930 CLE、ARt)DIS
P ”EIIRORDt’RING DATATRANSFER” @
WAIT2000 e (i0丁0 26002990 :
傘零本ネ禽*本本愈ネ本本宰***本****本本率3000 二 SE丁U
P C0NTR0L3010CONTF!0L10.2;7!SE丁MODE
トILINES3020 CON丁ROL 10.3 ; 15 !
9600 BAUD3030 C0NTR0L 10,4 ;
7 ! 8 BITS 2 5TOP BITS No PAR
1丁1f
3040CONTROL10,5;48!HANDS3050 C0NTR0L
10.11 ; 1923060 C0NTR0L 10,14 ;
193070 C0NTR0L 10.15 ; 173090
SET 丁zMEOU丁 10;100003100 0\ 丁x>IEov
r 10 GOTO320031)OPRINTERTS 10
3+2(l rRI>汀”HELLO”3130111S=”” e EST
ER10; H1s31−10 IF HIS=”hello” 丁H
EN GOTO10003150OFF 丁IMEOUT 10 @ P
RINTERIs 23290 RETUn’;
rem 率率率*宰率本章率率*ネ傘 データトランスファー間Hf)u決
*率率京本本宰*3200 DISF ”Ho5t dossn
’t respand” 1! OR丁 1513210 DISP
Please check :
al 1fdatatransfer prograrn on
host 1s running”3220 DISP ”bl
if R5−232cable is plu((ed 1nco
rrectly”
3230 DrSr’ ”cl if handsbake pro
tocol is correctζsee mant+
al chapt、 4 1”1゜3:l+40 DISr’ ”Pr
ess (canal key” @ P、AtjSE3290 O
FF 丁IMEOU丁 10 @ RESET 10 @ GOTO1
0003300CLEAR@ DISL’ ”Please enter
waitin(time in m5after sending
of one 1ine” @ INPUT 11′93330
GOTO:l’500
rem 11零宰*傘*串本傘率率傘キネ傘事寧電章電本京京傘傘零喀傘零零
オ傘孝傘率傘傘車傘*車傘傘寧零車市傘京*傘350OPEN 牢埠寧芝Sゴ
丁丁EL k:υLLI?;IE 零室辱35]OFORx:o To
41 e TllIl”Oe 丁2fIl=Ol! NEX丁 13!+
20 CLF、ARe DISr’ ”Enter nurnber
of Blanl:s to beaveraged +1−51
” @ INPUT A13530 IF A1>5 0RAl<0
丁HEN GOTO35203540CAT ”、KSYS”
3550 FORIOTo Al
3555 DISF’ ”Enter name of Blank
”;I;”+9 Charactersl”3560 工NPUT HIS
e IF LCNIHIN#9 Tl(EN GOTO3555357
0N9S[Y傘9−8.I禽9]−Hl53580 5EXT 1 @
ON ERRORGOTO35503590FORCI To AI
3ε00 ASSrGNm 1 丁o N9S[I津9−84傘9]&
”、KSYS”3610 FORJ=1 丁0 20 @ READ#
I 、 ZS3に20 II’ C! 丁HEN 丁(Jr=2
83630 IF Z8#TfJl 丁)IEN DISP ”va
riablr”;に”inkompatible” (”P、Aじ5E
36−IQ NEx丁 J
3645 ON ERRORGOTO16603650FORJ=O丁o T
(513660READ! 1 ; Z8@ Tl1Jl=T1(Jl÷
283670 READ: 1 ; Z8@ 丁21Jl=T2rJI
+Z83680 NE>;丁 J tD ASSIONe I To
#3690 SEX丁 I 。
3692 FORJ=o 丁O丁(5)3694 丁11,11:TIIJ
l/AI □3698 T21Jl=丁2tJHzA1369ε
NEN丁 J
?、700 zs=x @ GOTO1500rem本率率本傘牢*零*
傘* プロット サフル−チン 零傘零ネ傘11本本本零ロ零零傘車420
0 H2S:”O” ! AUSCABE42]0GO5L’B8500
@IFH2S:”1°’丁)IEF+GO5UB60004260 LORG
O@ C3lZP: 342フOFOri ):=1 丁O丁151
@ IF C2=I TIIEN GOTO−+271 ELS
E GOsO
−1271IF Tl1):l=o OR541):l=o THEN
GOTO4370ELSE 00丁04272 1F 丁2fKl=OO
R54TKl=OTHEN GOTO43704280ON CI GOT
O43]0,4320,4330.43404310 X=541);l @
IF c2=x THEN Y=+T1(K)ELSE Y:丁2+
K14315 GOTO4350
4320X=1/341Kl ! IF c2=i THEN Y:
1/TI(K) ELSE Y−1/T2+K14325 GOTO43
50
4330IF G2=) THEN X=T1(K) @ Y=T1(
Kl/54(KI ELSE X=丁2
【KI!’+−=721):l/S
4iシζ)4335 00丁0 4350
4340 X:54CKr @ IF C2=I THEN )’
=541に+/丁1+):l ELSE)’:5Jl);l/721に+
4350 トl0XE X、Y e IF C2=I 丁)IEN
LABEL ”宰” ELSE LABEL ”{”
4350 IF H:S=”1°’ THEN GO5L’B 67
00437ONEN丁):@MOVEXO+X2.)’l−X’2@LABEL
”Key】=E::it):ey2=Papier Plot”4380 O
N KE)’4 1 GOTO1000@ OF、’ KEYt 2
00丁0 4390 @ GOT04390 H2S=”1°’ !
GOTO4210rem 牢零i傘*市*トランスファーヘッダ 傘本牢傘電*
**章京傘*寧*京本傘率率率傘本車!嚢ネ本rem ”章**II傘傘寧*寧
ネトランスファーテータ 孝京*寧*傘牢**家本傘率本本寧傘本禽ネ傘44
00 ! PUT V、AL IN ZS 本率傘寧零*傘傘章4
405 :!S=””
4410 01’丁PU丁 ZS L’5ING ”j、A、ppエニー8
A、20A、2OA、2OA、64A” ;DIE、D2.D3S、D4ε、
IjS、E2S、Tl54−120 GO5UB 4800 @ WA
IT 9本W94−140 FORK=2 丁0 15 会 0UTPU
T 25 1jSING ”t、S5D、5r)” 7 7+)、+@
NEXT K
4445FOflK=ITo5@0UTPU丁ZSL’5ING”5t55D、
、ID”;田ト:1eNE>:TKeGO5L’B4800@vAXT9*W9
445(IOυ丁PL’T25L“5ING”=、3A”;””@GO5t、’
843004.1600UT7’U丁2SL!5IN(i”g、3A”:’°”
eGO5UB480(+4480 FOI! K=O丁O丁(5)44B5
01.’Tr’L!T 25 L’5ING ”!、SZ、4DE、S
Z、4DE、S2.4DE” ;丁11に1.丁2+x+、54(K+
4500 GO514800
45105EXT K
4520 IF Tl91#3 1°HE呵 RETURN4525 L
1=BT111
4530 x=o @ FORK=I To 丁C514540FORJ=
I To T(7112/L1+24550 READ= 1 ; S
1+11@ OL1丁PtJ丁 25 tjsING ”#、SZ、5D
” ; 5戟i11
45601=1÷1 @ IF rz>s THEN GOSIjB
48(10! t=o e WAIT W9457ONE1:TJ@N
EN丁に@0UTN’T25L’5ING”z、57r)”;99999@GO
5L’1j−1800
4600As5IG::= I Tl) * @ RE丁URN4BO
LJ!AL’SG、ABEROUTINE4810 丁1?A’:5FEr:
ZE 丁o 10 INTRJ8:’OZS=”” ! WAIT
W94830 RET+、!RN
rem *零本傘*率**零車牢零HP85ファイルカラノテータ読取リ 零
軍本率傘本本*零*本率本5000 ! READ DA丁A50】01
TLE、AR@CAT”、”&B9S@DISP”Filename”;@IN
PUTDSeDS=DS&’°、”&B9S @ GO5UB 5050
@ RE丁URN5050 ! 傘率寧章率宰LESE VARU
ND DATEN5060 ASSIGN! 3 丁0 115507
0 RE、ADe 1 : DIS、D2.D3S4bu−E1sIE
2L丁1s、丁11.Ll l、Bl +5080 FOR);=O丁0 丁
+515100 REAII: 1 ; Ill、)!2,83@
711Kl=)11 e 丁21に+=)12 @ 54P):1=H
3
512CI NEXT ):
5】50 ゴF Tl91#3 THE;< ASSIGN& I
To 率5]60RETしR5
5500! S丁ORE DATA5510 CLE、AR@ CA丁
1°、”&B9t @ DISP ”Fjlename”Hl IN
F’UT DS5550 CnEA丁E D!、10.:565560
ASSIGN= 1 丁0DS5570 PRIN丁# 1 ;
DIS、D2.D3!、D4!、EIS、E2S、TIS、T(+、LI1.B
t15580 FORK=O丁OT+515600 H1=1l1):l
! l+2=T21Kl @ H3=S41に+ 1’ PRZN
T= 1 ;Hl、H2,H3
5620NEXT K
5650 ASSIGN! l To車5660 RETL!RN
rem ヰ率本傘**寧***傘*寧 プロット軸 寧*傘寧零零率$零本
零零本本寧零零零ネ*本傘本**電牢6000 ! AXES
6020 P3=2中400 @ P4=1傘400 1’ r’5=
+2+2511400 @P6:+1+1Cil寧400
60JOPRINT):RIS 705 @ 1(IS=CHRIS13
1 e [1S=ILIS)17,20]&D]
S&VAL 5(rl:IIす° ” @ F’l=、0OOO01eP:’:
、000(’)01
60SOF5=Xi−N(16F6=)’1−Y06(1(io IF A
BSIF、lPI 1・:l0rIOTHE′、’ P1=I’ulO6GO
TO606060651r AnS+FC’r21(1000THEN P
2=F’2*10 @ 00丁0 60056067 F5=lP5−P3
1/100 @ F6=+P6−P41/1006070 PF!TN丁
’°IN;Sl’l;”6(+80 PINT ”IP” ;P3 H−”
;PJ ; ” 、 ” ;P5;” 、 ” ;Pa;” H”608F、r
nTF;T ”SCO,+0000,0,10000i’。
6087 PRINT ”PA4000,9500;”60B9 PRTF;T
”!’)T”:)Its;1;I+60’:+n r−P、INT ”Sl
、3..4:CPO,O;LB”:EE、S:HIE:”:”6】oo PR
INT ”PAJooo、100;Sr、ユ、;3;LB“’:E3S;H3s
;’°;゛6110 FPJ〜丁 ”PAloo、3000:Dlo、1 :
LB”:E4S、HIS:”;D11+o;”612tJ PElN1’
”PL’、)’A 1300,1300iPD;Pa+300,9300;P
a+300,9300,9300,1300,1300,1300.Ptl’、
”6150 FOR11=NO+X3 To )I 5TEP X2
6356 12=INTl(11−X01市8Q00/lX1−XO1+130
016160PRINT ”PU;PA”;72;’°、1300:PD;XT
;Pυ;1゜61(:、’+ f’RTNT ”ST、2..25;CP−1
,−1,2;LB”;vALE(Ill;HIE;”;” eNEX丁 l]
6!″7(I F’OR11=YO÷)°3 TO)I 5TEP y:6
175 12=τNTI 111−1’Oド8000/(Yl−YOI◆130
016180 pRTN丁 ”r’A9300.’;12:″;PD;)−T
;F’L’;” e NEXT 136200 FCl2 11=YO+
Y3 To ’1’! 5TEP Y2620512’−INT+ (
II−YOド8000/(Yl−YO1+130016210 PRINT
l′Pυ;Pa+300.’°1I2i−PD;Y丁;Pυ;”6215 P
RINT ”Cr−5+−15;LB”;II;Hls;”;” @ NEX
T ll6220 FOR11=XO+X3 To XI 5TEP X
2622F+ 12=INT1111−X01傘8000/1X1−XOI+
130016230 PRINT Pυ;pA”;rz;’“、9300iPD
;XT;PU;” @ NEXT IIfi210 P3=TNT(P3+F
5率131−50 e P4=rNTCP4+F6*131 !P5=I
N丁IP5−F5”?+−470 e P6=rNTIP13−F6’?1
6:’50 PF:INT ”7P” :r”3;” 、 ” ;PJ : ”
、 −P5;” 、 ” :Pa;” :”6::IS F′RyN丁 ”
1K”;F’3:”ご;r’4;”、”;P5;”+”;Pa;”;”6260
)+j=INTIXO傘Pl l @ l+2=TN丁+x1*pl+
e H3:INTl)’O寧F’21 4−H4=に;TIY3愈P21
6300 F’nlン、T ”SC”;V、ALS+)Ill;’°、”;VA
LS[H21:”、”;VALS+831;”、”;VALSIH41;”;”
@ RETIjRN6500F’RINTERIs705@H2=J@PRI
N丁”PU;“’@GOSUB69006520 FORJ1=2 丁O丁
17+/L2+16S30 H4=I::T(IJI−11*L2*Pl 16
540 ON 111 GOTo 6550,6560.65706550
)+3=TNTls11J11*P21 @ 00丁0 6580656
0 H3=TNTIS2(Jl l車P21 @ C0TO658065)0
113=INTIS3rJ11京P21 □6580 PRTF:
丁 ”PA”:H4:”、”;H3;’“;PD;″ @ NEXT Jl
@ PiζINT”F’U:’。
6590 RE丁じRN
6700 PRINTERIs 705 11 PRffNT ”SP
1;”6705 111=INTn’市P2+ ! )142IN丁I
X”PElN1’ 1F G2=l THEN H6:=”崖”&CH
R5+31 e PRIN丁’T’U;rA”;I(Ji″11°;ill
;”;LB”;865;”;”67FOIF G+=! THE?、’
HGS=″+”&CHR5+31 ! PRTXT”rU:PA”;114
;ゝ、”ill:”;LB”;H6S;’°;0゛6730 IF に=Tl
51 THEN PRIF:T 1lPL’1PAO,Oi”67−IQRE
丁し”RN
6900 If’ H2=1 丁HEN PRINT ”L丁;°。
6910 IF H2:2 Tl(EN PRINT ”LTI、l
;”6920 IF H2=3 THEN PRINT ”LT2.li”69
30 IF I!2=l THEN PRINT ”L丁3.2 、
=6940 IF H2=5 THEN PRINT ”LT4,4;’
。
6950 PRINT ”SP”;83;”;’° @ RE丁tjRN
rern s宰***京率*孝−MICHKINプロットメニュー*零零*本寧
宰本**本宰**京車意略7000 CLEAR@ p75r I′率市牢
本傘本*零本*傘 DACO>1 電寥車零本章零率零家本w*” fON
ERI?ORC0TO70007010D]Sr’ ”
PLOT MENビ゛’ ! DISPト11傘車傘**京を會
*傘車零零零本宰宰本率寧*本寧傘孝ネ車毒*宰” @ DTSP7 0
2 0 D I S P ”丁itle of Plot :”
f’ D工SP E557030 DISF’ ”λ−A::is ”;
>:O;XI;?t:2;>;3 @ DISr ”X−Strin( ”;
E3S7040 DISF’ ”Y−A>:is ”;YO:Yl:Y2;)’
3 @ DISP ”)’−String ”;E4!7050 1F Gl=
l THEN DISr’ ”Tn vs [SubsLrl Plot”7
055 1F G1=2 THE?+ DISP ”Lln@wea
%’ll.Burke Plot”7060 IF G1=3 THEN
DISP ”Eadie Hofstce Plot”7070 1F G1
=4 THEN DISP ”Hannes Wolfe Plot”708
0 IF G2=I THEN DISr’ ”Ran1!e 1 ”
ELSE DISP ” Ran(e 2響・7100 0N KEY#
1,”Exit” GOTO 10007110 0SKEY* 2.”R
eaD” GOTO 73007120 0N KEY# 3.”Inhalt
” GOIQ,16007130 0F: KEY” J,”Page!
” Go丁Q ?200?]40 0:: KEY# 5,”丁1t
le” Go丁0 73607150 0N KEY= 6.”DK
orr” CiO丁0 20007160 0N KEYi フ,”
” GOTO 8007170 0:: };EY: 8
.” ’″ GO丁0 71007190 KEX’ LAB
EL @ GOTO 71007200 0!j KEYir 】.”Be
rNR” GOTO 73507210 0?: KE)’* 2,”S
toD” GOTO 731072200h}ζEY#3.”Plotn″G
OTO42007230 0N KEY# 4,”Pafle3” G
o丁Q 7]007240 0N KEY= 5,” ”
GO丁0 70007250 0.’J }:EY# 6,”X−AX
” Go丁0 73207260 0N KEYi フ,”t’−A
X” GO丁0 フ3307270 08 KIl:Y血 8,”pi
A” GO丁0 73407290 KEY LABEL ● G
OTO 7200rem t率車本寧*率プロットメニューコマンドを実行す
るノレーチン 本零率率7300 GOSUn 5000 ! GOT
O 70007310 GOSUB 5500 17! GOTO
70007320 CLEAR ! DISP ”Enter pararne
ters for X−Axis 14el”HfIN}’L’TXO,Xi
,X2,X37325 FLIP l! DISP ”Enter X−SL
rir+( ”;@ INPυT E3S@ FLTF @GO丁0 フ0
00
7330 CLE.AR e DISP ”Enter Pa:′ameter
s for Y−A\is 14el”;@INPU丁 yo.n .’v
2.’y37335 FLIF’ e DISr’ ”Enter Y−Str
ing ”;@ I}.IPUT E4S@ FLIP (i’GO丁0 フ
000
7340Gl;l:141eIFG1>4THENGl=17345 GOTO
7000
7350 IF G2=1 THEN G2=2 ELSE G2
=17355 GO丁0 7000
7360 CLE.AR * FLIP ! DISP ”εnter Tit
le of F’lot ”;II INT’υ丁 E3S旬 FLIF−
7365 Go丁(’ 700(’ 7ren+
本本零m1本t1 ディスプレイ軸およびデータlレーチン 本本車傘場
U岑7370 ! 亀傘本竿曜ヰ傘隷本本゜ヰ4t阜辱辱零オ亀傘車寧事傘
家8500 (anAPII f! GCLEAn @ DEC85
50 SC.ALE O,100,0,200 # IF x2=o
丁11E\ >:2=LX1−No+/S8560 MO’.’E 30,
0 @ Ll)II+ O ●CSIZE 3 @ LABEL E3S e
F5=lX1−XO冫/7 t’ FA=lY1−YOl710859.O S
CALE No−F5,XI,)’O−F6,Y18600 :包:s3S Y
Lκ3,\O,NO÷λ386l b X八X] S’il ,X’::i’2
,NO+X3 ,xx8C20 XAXI!7. YO,X3,XO,XO+X
38G30XA>二1S)’O,X2/2,NO+X3,x18Cs40 YA
>Is N.: ,)−3,YO,)’O+Y38650 YAXIS Xl.
Y2/2,)’O+)’3,”+’18660 YAXIS XO.Y3,YO
.)−e+Y386フO YAXIs XO,Y2/2,1’O+Y3,Y
18730 FOR };=XCl+X3 To XI STEP
X28740}10\’EK−F5/5,YO−CYl−YOI/208フ50
LABEL VALSI}:l @ NEXT K8780 F
OR K=YO+)’3 To YI STEP )’22790}
10VEXO−+X1−XOI/10,K−F6/28800L.ABF.lV
ALSIKI@NEX丁M8830 RE丁L’RN
r打 零*零才章率寧t*隼本本*電才 フリントへ,ソダ 率零本率率本+
1傘率率l1亨寧本率宰諷軍1!95OLI PRIS’TER 工S ’
&’ @ PRIN丁 # PRINT @ PRINT @
PRITh:P
”>!e!3ulle −;Di!:” ”;D2:” ”;
D4S[1フ,20〕9530 PRJ.”;丁 ”D#+t.um ”
;D3S9540 PRINT ”−−−−−−−−−−−−−−−一−−一
−−−−−−−−−−−−−” @ PRINT9545 PRIN丁 ”M
esadauer van” ;TAB+ 15 1 i丁+61;”bis
”;丁ABl241;T(71;”sec”9546 PRP.’T ”M
essdauer2van”;TAB+151;L(ill;’゜bis”;T
ABI:’41;Ll121;’゜seC”9547 PRIN丁 “゜釦t
er%’all ”;Ll;’゜ / Integration”;L29
SJR PRTN丁 ゛さIA=:. relative Standa
rdabw ’゜;B−111;”%”9550 PRゴ一:T ”Be
reich 1 van −−一一二;Tlll:’゜bi s” ;T
l 2 1 ; ”n香h
9:−+5=7 r[K’r ’゜Flclt+icb 2 van
”;T1121;’゜bis”H丁1 13 1 ;@”nn+”
955フ I’RJN丁 ”};ormierur+( van”HT1
101;”bis”;TilllH”n++−”956CI PRIN丁 H
is;” Mon=.”;丁AEI4 26 1 ;丁1 3 1 ; ”n
}I゜195εO PRI覧:丁 E9;” Konz.”;丁ABI25
);Tl41;”uM”9COOPRIl<T”An:al+1derMess
punkte”;TAB+291H丁+5196】(l PkIN丁 ”.A
n::nhl Repetitionen ”;TAB+301HTlε
19640 rRB丁 ”Spr 】: ”;B(171;”ml
/ Spr 2: ″;Ill ] 8 1 ; ”{++3 ”
9G4 5 丁F D43l3.3]=”1” THEN PRI?:
T ”Sprjtzc 3 (In(c−scI+1D
”;I3!191;″m1゜゛
9650PRI:.’T”r)eltaEpsilon1:”;T(コ71:”
1/m+’ICI++”9C:.5 PRIG;丁 ”nelta Eps
ilon 2 : ”;Tl181;”1/rn?I cm”965
7 PRINT ”.Agssy Volumen : ”;TAP
I25);ffN丁12000本I313と)sBl71/C41;”ul”
96εO RETL’RN
r@lH ***傘率寧傘零市京寧寧*零本**11寧傘岸本本宰寧寧京率本
*零*京京寧嵩傘傘傘本本本傘市零率本傘零*露rem ” MICHKINン
フトウx7,: konzmsg,l:sys 京本零t零宰t*本r
em ****宰本本率 .イ雲者 : Bruno Mic
hel **牢京本零零ネr@n+ *京率率率*寧寧
寧*傘**章傘傘傘市寧本ネ率傘車宰市廖*ネ傘牢宰書軍本牢傘嵩傘本オ倉*本
零京*寧傘本本tCrG *零港*本宵1津本*津零曝 50 : KO
NZMSG B.M. 本率率本本車寡本富寧零零ネ富隼京零ネren+
’隼r1¥率港本ヰ本**倉本本率本車傘 共通データ領域 率
冨傘1本llll寧本富t率本120 CO’i SHOR丁 51180
1.521801,S3+80》,丁《=or.丁114+ 1,7214口.
L《201,B1201,A+5.51125 COM SHOR丁 CF
151,k’(20+.賢1 ( 5 1 , E+ 201140COMTI
S[65],EIS[20],E2S[20],DS[20],DIS[1],
D2,フ3S[20],D4S[20] ,B9S[8]rem *寧*零*
宰宰*室傘**t グローバlレ21 ****本本本I1傘*
奮寧亨京亀寧す港ISODrトIAS[60],P9S[20],F’BS[2
0],HIS[6−1],FS[1],FIS[1]185 SHORT VN
51
39Z IN丁EGFI? I,Y5I工620(l CLEAR
,,−210 Ll201=1 8 P
9S=”Result : ” @ P8S=”l.
sL orderconstant: ”
:20 W]=−100 ’& W2=800 @ T6=0 @
T?=20 1’ T8=.5 @ 丁9=.5 eIf5=20 @
H6=10 II L1=.5 # L2=.5230 V
f1+=1 @ Vl21=O @ Vl31=550 t Vl
41=o @ Vl5i=1 @v(6)=O e V(71=2
0235 V+81:2 @ vl91=5 e 〜’no+=o
@ V(111=1 @ \’+12KO evl331:1 t
S’+3−11=o @ Vl151一〇240 S31701’l
@ 53(71 1二〇 8 531721:O # S317
31=O t’S31741=2 e S
3(751=0250 0N ERROR GOTO 320 @
PLOT丁IJ 1 & IF CIF’l=1 丁14F’:@
−19CI
320 GOTO 80(+
490 2F Cl151#O THEN 500491 AS=”
寧WFCC8” e GOSL!B 7000 @ GOSL!B
7700492 FOR Cl 丁o 3 @ AS=”*”&
VALS+Il @ GOSUB 7000 @As=’″II:″’&
VALS(WII+511 ! GOSL!B 7000495 NE
XT I
rem *率寧本寧****宰率禽 試験測定メニュー *本*零家
本本章宰ネ*富傘宰傘章傘章*隼5000二%’ERRORGOTO500@S
TOPMEASURE510 CLE.AR e DrSr’ ”**
***宰寧t BH定 寧本市章傘寧t***”520 DI
Sト ’゜***率*1* メインメニュー 本本零市******”530
DISI’°’Plea&eselectt+5oftkey:”@DISP”
Te5t>工:丁estmeasux’en+entl’540 DISF’
′1AutoさI = )Ieasure san+ples r
epeatedly”550DISP”ConcM=MeasureConce
ntr、Menu”570 DISP ”5yrin = Manua
l movin(of syriTlge”580 DISP ”Wasl
+ = Washing or 5yri++ges”590 DISr ”
Ey、it = Emergency brake”600 DI SP
”Refer、= Reference Measurement
(before firstmeasurement+”
610 IF C+91=OT)IEN DISI’ ”Ba5elinc n
ot yet measured”650 ON KEYx 1.”E>
;it” GOTO500t+ LX KEY血 2.”ConcM”
GOTOlooo @ O!: ):EY’ 3.”5yrin”
Go丁o 860655 0F: kEY= 4.”Wash” 00
丁0 7500 @ ON KEYx 5.”MAINPC”00丁(
18001ii ON F、EY# 6.”Refer、” (ioT
o 7506GOO:: ):EY: 7.”Auto?I°’ GO
TO9000@ ON KE1’k B+ ”1’eStM”GOTO4
000(I):Σ:YLALmEL・GOTO650750GOSL、’B
1900 e 00丁0500800 EilQSE S丁AND、A
RD 19n、’; C11AIN ’°、Autost、):SYS”
810 CLEAR@ DISP ”is host ready to re
ceive datAl”l’/Nl°’ @ IF;r’UT 8158
20 IF HIS=”Y” THEN v(151=l ELSE v
1151=0830 GOTO500
860AS=”1に’FCCB” @ GO5L’B 7000 @ GO5
UB 7700865 GO5UB 7250 @ GOTO50098
0CLEAR@ DISr’ l′No Reference Mea
sured” @ BEEP @ W、A1丁!’em *零零***
*本ネ 測定気中メニュー lI章本章傘倉震本
II*率傘ネ]000 CLEAR@ DISr’ ”$111 測定気中メニ
ュー 寧***” @ON ERRORGOTO500
10SODISP ”F!ange 1 from ”;1’目1;” t
o”;Tl21;”nr+” t DISP”Rrln(&’ 2 fr
om ”;TI+21;” to″’;Tl131;”nm’“1060
DISP ”Int、ref、from ”;Ti1O1;” to
”HT1111 ; ”nrr、”1080 DISP ”Epsilon v
alue Range 1 and Range2°’ @ DISP”5ub
strate:”HTl151;”and”;T116);”1/rrMcrn
”10B5 DISP ”r’roduct :”H丁(15:÷T(1
71;”and ”;T[161+T1181;”l/mMe+e”
1090 D15r’ ”Sub′5trate: ”;B5;@ DISP
’° Enz>−me: ”;)+6;” ulo。
1100 DISP″As5ay %°olun+e : ”;B171;
”ml”11F、ODISP ”Spcactrum from ”;Wl;”
to ”;B21170 r)TSP ”Fill S>−r、 1
」ジオ、2 Syr、 3 ”228(l DISP T、AB+
旧1c111;丁AB+161;C121iTAB+231iC13り;丁、A
Bl’291;”ff+1”1]90 QN ERI?ORGDTO110
00re *中本11零率率零零零 ソフトキ、 亭車本本率宰*本率本
京宰*本*本卑*寧京宰*傘零本本本*本本1200 ON KEYx
1 、”Exjt” 00丁0 500 e ON KED 5.”
As5ay\°゛GOTO1:lOO@ ON KEYx 6.”5pe
cLr” GOTO15001230ON KEYz 2.”5uhst
r>l” GOTO2000・ ON KEYx 3.−F’rcdM”
ao〕0 :”、oo e ox KEY含 4.”Epsilon”
GOTO13501260ON I:EY: 7.”IE、S)” 0
0丁0 1400 @ ON KEY# 8.”−Rang″ GO丁
Q1−120!):EYLABEL@GOTO1200rem京*零*廖ソフト
キーに対する動作を実行するルーチン 傘車を傘1300 CLE
、AR# DTSP ”Enter tbe volume ofAssays
in n+1” #INPυ丁 H】
1310 IF )+1<、2 0R)lDl、5 THEN BEE
P @ DISP ”not possible”@ ’v:AI丁 30
00 ! GOTO13001320B(71=)11 @ G10TO1
0001350CLEAR@ DISP ”Please enter the
extinction−coefTicienti for range I
ll1355 DISP TIIIH”blg”H丁f21.’°nm”
! DISP 1lfirst 5ubstratethen produ
ct :” e INPL!T T1151.T11611360 CLE、A
n @ DISP ”Please enter the extinctio
n−eoefTicicnts for range 2”1365 DIS
F’ ■! 121 ; ”bis” H丁fDI:”nm” @ DIS
P ”fir−bt 5ubsLrIJtetl+c++p+Odt+:t
:”frNPL’TH1,)i:”1370 7117+=T1151−1ll
@ 丁1181=丁1161−H2@ 00丁0 10001400
CLEARl’ DISP ”Enter the voluIT+e
or 5ubstratein u】” @ INPL!T B514
05 CLEAR@ DISr’ ”Enter the volume of
enz>°me in ul” @INPUT H6
14101F B5<OOR86<0 0RB5>500 0RH6>100
0 THE、’N 14001415 GOTO1000
1420CLE、AR! DISP ”Enter wavelen(th r
Ar+(t”’ Qt 7NPUTls’l、に2
]4221r’に’!<1900R&ζ2<x9−+ORwx>s1sORw2
>s2oORwx;rOD2=001?W2)+00280THEN14201
−125 00丁0 1000
rFffl *車傘本京本本本率本傘寧ネ寧 スペクトル測定、
宰車★京本*市零本傘補率傘*寧零傘率牢1500 4 mEs5t、’NG
i DES 5PEKTRυMS1510 ER,ASE 5TATU
S1520 CLEAR
153OL、AMBDA WI To +;21540 )’−5CA
LE @ ON ERROR00丁0 166015ζ+Q DISI
”°New m1xture CY7N+”;@ rNT’υT )I
IS! IF )+1!<:”r”’ ”
Tl+EN GOTO1580
1、T60 GOSLJB 1900 @ WAIT 100015
65 DISP ’”11混合された分析評価 率*11*零車宰”1
570 Wl(31=H5/10001i) W1121=H6/1000 @
WHI 1=B17)−W1131 e’GOSUB 7100
1572 A!、=”111” @ GO5UB 7000 @
WAIT 3000 @ AS:+”本H” @ @GOSUB
7000 @ WAIT −1000
1580MODE0.0
1585 HEASURE 5
1590 GO5UB 5−100
r6ITI***傘**********V 工5− 回a
傘中車軍*本章零富口末京率倉電オす!本1600 00丁0 1000
1660 BEEF 50.1000 @ DISP ”Error”:ERR
:: @ DISP l′Correcterror condition
+CON丁”;ERRL1670F’、AL’5E
1675 00丁0 500
rem 零零**零傘*本率率本率 基準線の測定本本本本*零零章本本車車本
亭1900 DISF”“寧本零基準iの測定 率率零幸率・
1)901 IF C口+<I THEG! BEEP @ DISI’ ”S
>−rin(e l ist en+pty!噂。
1’ BEEP t I;AIT 4000 @ GOTO500
1902,4!f”$1”@M=1@GO5UB7000@AS=”*A1.O
”filGO5UB1903 AS=”Q!” @ Go乳’8 700
0 ニー五11丁 −1000@ As;H傘B” @ GO5じB7
000 t t;“AIT 40001905 LA>Ir;D:% Wl
To ’W21906 ABSORBA、’:CE19]0M0DEO
,1
1920REFEREiぐCEIO
1930IFNME、AS=OTHENGo丁0193019フOC191=l
e RETURNrGm $1本倉京本ネ本本率零本本 基体測定
京*dl宰**本本零富瓜本處*傘本本本2000
PRINT e rl?1?v丁 @ r”RIN丁 ″II傘傘牢電稟
t*掌本率ws京京本本寧寧tt電****牢本tttt” @ pRyX
丁 ! CLEA+?2030 P RI F% T ” (Or+ C
e n t r Rt 10 n ffl e JL S u r e d
a@i t )l e
substtonthbsorption”2020 PRINT ”di
lutionfactor 1:”;B17+/85傘10002047 P
RJNT ”No、 Range I Ran(e 2 ”20
50 Wl(31:B5/1000 @ Wl(21=O@ Wl(11:B+
7l−WH21−W1131 tGO5L;El 7100
2070 AS=”kH” ! GOSLjB 7000 @ WATT 40
002120 FORK=1 丁0 丁+812150 、AS=”kH”
! GOSL;B 7000 @ WAIT 1500+B+81+B+91
722160 T5=、Z e Ql=Ot GO5UB 3000?
20C1’FニアNT 1.!5ING ”rill、XXXX、SD、DDD
DD、NXXX、SD、DDDDr>” ;トコ、Ill、)I:
2C20S411’、I:!IIe551);l:112@NEXTK2240
F’RINT ”−−−−−−−−−−−−−−−−リ−’−−−−−−−−
−−−” @ PRINl”“avcra(eor”;T(81;”Measu
rements:112250 H1=O# H2=0
2260 rORK=I To 7181 @ H1=l(l+54i)
;)@ H2=+(2+551Kl @ NEXTK e H1=l(
l/丁+81 @ 82=H2/T1812280 r’RINT L!5
ING ”XXXXXX、SD、DDDD、XXXX、SD、DDDD” :
HIJ22300 PRINT E:!S:’″ Concentratio
n”2310 PRINT ”in the Substratesy
ringe 二”2320 El=H)/T11F++$1000mB171
/W4131 @ E2=H2/T(16mOOO本B+71/W1131
2380 rRINT USING ”XXNX、DDDJDDD、XX、DD
DDDD、DD、3A” 。
El、E2.” uシ11゜
2390 PRINT パ一−−−−−−−−−一−−−−−−−−−−−−
−−−−−m=−°。
’:400 DISP @ DISF’ e GO5U、B 5400242
orprxp:rePRINTePRINT24りOGOTO3000
r P nl 傘ヰ辱411ヰsrs:tar 70ダクham
本率本傘傘傘ネ市率寧宰寧零港傘寧宰傘辱寓才t250OF’RZN7 @
PRl、’:T t PRにζT ”率廖寧*傘率ヰ寧市卑**車率傘*
京京本本率本率本mg本*零を時” @ r’nl::丁 @ CLE
、AR2530T’n1NT ”Concan*raL1or+ nleb
sured at theproductbbsorptlon”2S30
pRrN丁 ”dilutionfactor 1 : ” :Bl 7
1/H5tlOOO255Or”RIN丁 1°No、 Range
I Range 2 ”2560111+131=)!5/
1000 e W112+=86/1000 @ Wl(11:B(71−W1
121−Wl131 @ GO5UB 71002565 AS=”$8”
@ GO5UB 7000 @ WAIT 30002570FORK=IT
oTc8)
2585 AL:”本H” @ GOSLIB 7000 @ W、AIT 1
5004B181+8(91/22590 丁5=、5 @ Ql=O@
GO5UB 30002600 PRINT IJsING ”DD、X
XXX、SD、DDDDD、XXXX、SD、T)DDDr)” ;);、Hl
、)+2
2620541Kl=I11 e 55+):l=)+2 @ NEXT K2
640 rRI>:T ”−−−−−−−−−−−−−−−−−−−−一−−−
−−−−−−−” e F’F!INT ”nvarngcor”;1°181
;”measurements:”2650 H1=Of +に:0
26(io FOll Km1 丁OT(SI @ 111−H1+5
4CKI * H2:l(2〒55(k:I i? mE、’、’T
):e Ill:H1/T1g+ ! !(2:H2/T1g+2680
PRINT USING ”XXXXXX、SD、DDDD、XXXX、SD
、DDDD” i Hl、H22700PRINT E2S;Concen
tration”2710 PRINT ”in the subgtrate
s5−rin(e 、+・2740 E1=H1/(T(151+T(171
)”4000孝B(71/Ml(314”E2=H21(T(16r+T(18
11月0001Bl 7 >7に113 >2770 F’RINT TJ
SZNG ”XXXX、DDDDDD、DD、XX、DDDDDD、DD、3
A” ;ElIE2%’ t+N”
2790 PRINT ”−−−=−一−−−−−−−−−−−−−−−−−
−−一−−−−”、−一′
2800 DISJ’ IE DISP @ GO5UB 54002820
PRINT ・ PRIF:丁 @ )’RffNT2890 GO
TO1100
0ra *ネ毒*本宰**零本零 mJJち
車*璋本本率*室津寧*章才3000 LA’llA 賢] T
o %1′23010 AlN5ORT3ANCE3020 0F、KEY
t 1.”E>;it” GOTO1000@ O?: KEY=
2.”Re5ult’。
GOTO321BO
3030ON KEY= 3.−5pec” GOTO3260@ OF
F KES’z 43040 OFF Km)’= 5 @ O
FF KEYt 6 @ OFF KEY由 7 @ OFF
)FEYg 8
310(l MODI’: 0.1 ! LOOF’ BEGIN3
110)IE、ASuRETシ
3115IFN)lEAs=oTHEトζ31153120 )11=o
e 11=03130 Fort I=Tイ11 To T(2+3
140 H1=H1+VALUEIIl @ IC11+13150
NEXT 1 @ H1=H1/ll3160 H2:O@ 11=
0
3170 FORI=丁1121 To T113)3180 H2=
H2+VALLjEIIl @ 11=Il+13]90 NEご;T
1 @ H2=口2/113200 KEY LAREL
3201 DlSP ”率118 Jlli中W%’寧**−3210
DIS)’ ” Rante I Range 2
”32!ODISP L’5ING ”XXX、SZ、DDDDD
、XXXX、SZ、DDDDD” ; Hl、if:!3!30IFQ1=
lTllENGOTO32503240GOTO3000
3250OFF KEYt 2 @ OFF KE’+’# 3 @ OFF
KEY: 43255 RE丁υRN
3260MODEO,0@)IEASL’RE53265IFNトIE、AS=
OT)IEN32653270 PAUSE
3275 丁5=、5 @ ox:o @ GOTO3100328
0T5=5 @ Q】=1! WAXT 10し3:l!90 OFF KEI
°倉 2 e OFF XEYj 3 @ C0TO3]004000 !
4010 CLE、ARl−DISr’ ”零本本率本率本本 試@測定
**本本本零****” @F!:”E“
4020 DISr’ Function : ”;@ I
F V111=1 丁HEM: DISr’”ABSOI?r丁IQ?ご
゛ ELSII−DISr ”1.DERn’A’m’E”4030 DI
S+’ ”)lciasure wavelen(th:”;V(31;”
nri”4040 DISF’ ”1’−5cale :”:1’(41;
TaF5(1777” to ”;V(51;” 0L−4050DISP
”GIeast+re :”;l’(61:丁AH(171;” to
”:1’t71:” 5ec1406(l DISF”Tanqer+
t :”;Vial:TAR1171;” try ”;t’191;’°
sec”4070 DISP ”Mixture : bu
fTer : ;W3111本1000:” ul”4080 DISP
”Enzyrne:”;W112神1000;” 5ubstrate:”;
W1131’1000、” υ1″
4090 DJSP ”Delta OD/see:”;Vllol;”
Fact、”;V+1114100 DISP P9$;TAB!221;
Vl 111率V(101410E、 DI5P P8!;T、A1111
221iVT131本〜゛(12)4110 DISP ”Fill Sy
r、 I Syr、2 Syr、 3 °。
4120 DrSP TAB+91:CT11;TAB+161;C121;T
AB+231:C131;TAB+291;”ml”
4】90 ON ERRORGOTO500reni ネ**宰本率****
宰**本 ソフトキー 冷傘傘車庫本車寧傘零京傘本率寧率率寥*ネ寧寧埠市
章宰本4200 0覧: KE)’t 】、’″Exit″ GOTO50
04205ON)、EYg2.”Mid:”GOTO440042]0 0:ζ
KEY= 3.”Mess” (:aO丁0 50004”:]S OS
KEYt 4.’°Ch、Sli” GOTO43004220ON KEY
t 5.”Plot” GOTO445042300、’: KEYt 6
.”Funct” co丁Q 45004240 ON KE”+4 ?
、”−Ms(”00丁04550
4250 ON KEYt 8.”Y−5ea” 0OTO46004270K
EY L、ABEL e 00丁0 42004:tooON):EYrl
、”I’rir+t”GOTO48504304; ON );EYg
2.”Time” GOTOJJ5043100計ζhEYz 3.”Gra
ph” GOTO525043150二: KE’、犀 4I“Ch、SI:
” GOTO42004320ON KEY= 5.”PAxis” にO
TO44804330ON):E)’#6.”、Analy”00丁04700
−1340 0二r KEY含 7.”F:act、” 00丁0 475
04350 0″: KE)’k a、−5tore” 00丁0 60
004370 にE)’ LABEL @ 00丁0 −1300rem
****本tソフトキーに対する動作を実行するルーチン 、。
4400 CLE、AR@ DISP ”Please enter volu
me of bufTer”;tT鳥:r’L’TH1@讐011=H1/10
004405 1F WII】Bθ OHWill l>2 THEN
GOTO444n4410DISP”rleaseentervolumeor
enzyme”;@INPljT)+1@Si’1121=H1/1000
4415 1F IJ1+21<OOR%i’l+2D1 丁)IEN
GOTO44404420DISP ”r’1ease enter volu
me or 5ubstrate”;@ INPl、’T旧@自+31=)II
/1000
4425 IF W1+31<OORWH3+>、5 THEN GOTO44
404430GOTO4000
、Li2O1MS!’″Mixture not possible” @ B
EEP e WAIT 300[1@GO丁0 400(+
4450 CLFAL’ * DISr’ ”Pleasc!enter 1i
netype +1−81” e INI’L’THoe C05UB
4455 t” 00丁0 40004455 0\ EnROR00丁0
44704457 r”Lo丁丁ER705
4J60 LINE丁YrE H14462rLo丁丁ER
44G−I PLOTTER1
4466RETtJRN
44フOBEEP @ DISP ”Platter doesn’t
respond” @ ON ERRORGOTO500
4475RETURN
4−180 PLOTTER705
4485ANIS 、−74490
F’L(’T丁El’? 14495 GOTO4000
4500IF V+11:I Tl(EN V111=2 ELSE 1
°(11=14510 00丁0 4000
4550 CLEAn e DISP ”Pl@ase enter meas
ure wasoelenath−@INrL!T Hl
4555 IF Ill<19(l ORill>820 0RHl
MOD 2#O丁HE−: 455045εOV131=H1t 00丁
0 40004GOOCLEAr e DISP ’°Please ente
r Y−5cale e(,0,1CO,0=AuLo 5ealel” @
INPUT V+41.v1514605 IIF VNl=V151 T
HEN 462046100VERLAYO,V+71.V+41.V151
4620 GOTO4000
4650CLEAR@ DISr ”Please enter Measur
e time in 5eeLand onlyl eg、10”;@ I
NPUT V(714655L]=、5 @ L2=、54660 IF
V171<5 THEN L1=、2 @ L2=、24665 I
F V171>150 THEN L1=INTIV+71/101/10 @
L2=14670 IF X141=V15) 丁HEN 4695
46750VERI−、AYO,X’口+I、V14+、V1514595
GOTO4000
600CLEARe DISr’ ”F’1ease enter 5
tart and sto;I Ti+++■
for tancent”;(! INF’υT V+81.V(9)4710
1F〜°+81<OOr’ V19]<10RV+81八’+71−10RV1
8DV+71THEN REEr’ @ DISF’ ”falsch” @
GOTO47004720GOSUD 1900 @ 00丁0 40
004フ50 CLE、AR@ DISP ”Please ente
r a factor”;@ INPUT VCll P
4755 00丁0 4000
4800 !
4810 !
4850 CLE、AR@ DISP ”Please 5elect Pr1
ntout:1=Delta O′D 本 factor”48:+2 DT
SF’ ”2=3st order constant
O=n。
prtntout” /485J INPUT V121
4ε55 IF v121>2 0RV121<O丁HEN Vr21=
04860 IF V121=OTHEN 48704862 DIST”
°’P]ease 5nter textto be printCd”48
65 IF V121=3 TIl[:: INPUT F’9g486
6 Ir V121=2 丁11EN INF’U丁 F”8S48)
OGO7’04000
4900 111”0 1” VIIOI:Oe V1121=O@ ON
ERRORGQ1’O−19974910FOI’l r=v+s+ 丁
o V+91 5TEP l14915 IF X1ll=I THE
N H1=)+1+VALUEII4L11−VALUEII−1j1492
0 H’ V+11=2 丁+(EN H1=H1+VALUEiI1
4925 NEXT I
J930 V1101=INTIH1京100000/(fV191−V18
目/Ll÷1りl/1000004940 H2=O* 11=INTlv(7
1/214950 H1=O@ IF V111=2 7)IEN 49
904960 FORI=LI To 1l−LI 5TEP l1
4965 H3=1’ALUE+I−L1+11 +−VALUEII−Ll
l @ H4=VALUEII+L1+111−vALUE11+L、1
1
4966 TF VTIOI:0 丁HEN )+3=−R3@ )
+4=−844970IF R3>OAND H4>OTHEN )+3
=LOGl)+31 @ H4=LOGI841 91191口<IIIJ
−1131/Ll ! )+2=82+14975 NEXT 】
4980 IF H2=OTHEN VH21=+H1/H24990RETU
F!\
一199? BEEF @ DISr” ”Error durin(Ca1c
t+1atjOt+” CW、A]1’ 2000fj’ ON ERI?
OR00丁0 500 @ 00丁0 4990rem ””””” 連M
分析評価R定70グラム *京*寧率率15000 CLE、ARf
y DISP ”Please enter number ofrepeti
tions”;@ INF’L!T R@ IF R=OT)IEN
40005002 IF R>10 0RR(I THEN 500
05005 DIS+’ ”***混合された分析評価 −*******°
’ e K=05007 GOSUD 5010 fGOTO40005olo
PLOTTER17
5(115ABSQRLl、ANCE
5020 IF VfN=ゴ 丁+1EN 5025!IO:I MOL
IE O,1
502200丁0 5035
5025IF V151=V141 THE?: 503M5020 0VER
L、AY Oへ’f 71.−.01,1.5503、’、LAMBDAt″C
3)
:1040 GOSUD 7100
Fi04S AS:”傘11” @ GOSUD 7000 @ WAIT 4
000SOJ7 IF Vi2神OTHEN PRIN丁 ”MiX:
P−Wl(1+寧100fl;”E” :ltl r 21本1000i’”
S”;W1+3+11]000:”ul”5050 FOR1=I To R
5055ERASE)圧MORYI
5060 NEXT 1
5065 FORに1:I To R
5070AS=”Ill” @ GO5LIB 7000 @ WA
IT 15005072IFV+41jV151THENMODEO,1@W
AIT10005075 MEASURE Ll、L2,0.v())5077
)イ0DEO,0
5080IFN?IEASfV+71/L]+1丁)IEN50805081丁
0)IEGIORY):]
5033 X=SPOL1.l?08111’ FIS=”%” @ )11=
BIT(X、3150B−IIFFS=”M”ANDH1=IANDK=S31
751A::DK1=Fセ丁HENH)=IELSE H1=n
508ξ11FH1=ITHEN、as=“°本”&VAL置5装17411@
GO5L’B7000@AS=”*E8°’@GO5L’87000@FIS=
”W’“5087 GOSUD 4900
5088IFV+211TIIENPRTNT”Pa1nt−−Kl;”Del
taOD/see:”;VHOI
5090 NEXT K】 @ IF R=I THEN 5130
5092RECALLMEMORY1
5095 To 5丁、ANDARD 1:)10OFOR1=2 丁
o R75102r:EcALLME)IOR’+’15105 ABSO
RBA入CE + 5TANDARD 15107CALCULATE
5110 EFLASE 5TANDARD 15315 丁(J 5
TANDARD 1512OABSORBANCE
5125 NE:<丁 コ
5129 RECALl、S丁A::rJAnn 15130 ABsoR
ICasC): / R5133ERASE ST、ANnAF!rl 1
5)34 CALCLILATE
5135 10 ST、ANDARD l5140 ABSORBANCE
5145 RECALL 5TANDARD 15147 ERASE
5TANDARD 15150 IF V(11#2 THEN 51
605155 DERTVA丁工\゛E
5160 1F \°(4)昌’151 ’l’HEN 51フ5516
5 Y−5CALE
5170 F’LOTTER
5175GOSUD 4900
5:?OOPRINTERIs 2 @ IF R:I THE::
524552]OIF V121gO丁HEN PRIN丁 1°A%
’erll((’:”52】5 IF V12++1 THE:: P
RINT P9S;丁、AB42] 1;V1301”V1131524Q
IF Vf21=2 丁HEN PRINT paS、rAstp】I
;〜゛(12111〜(13)5245RE丁し−RN
5250ICALCL’LATE
5255 PLOTTER1
5260IF V111++2 THEN 52705265 ABSORBA
NCE
5267 GOTo 5280
5270 DERIVATIvE
5:!20 IF V151#V141 丁)IEN 5300528
5Y−SCA LE 75290 TT、ME SC,
ALE O丁o V+715300 :
5310 PLOTTER
5320GO5I −1900
5350!
5390 00丁0 4390
5400 ALpHA @ OFF KEYt 6 @ OFF KEYt
71” OFF KEY: F、 tC1’;KE1’# 2.”Forts
” 00丁0 5−19c15402ONKEY含5.”Manual”co
to550054(rニー、 O二(にEl) 3 、 ”Graph’°
GOTO5410@ ON KEYx −1,”Aly山D−GOTO54(+
U e KEY LABEL @ 00丁0 5420541Q
(iRAPH
5420GOTO5420
5490RETURN
5500 BEEP @ CLEAR@ DISP ”EnLer the m
anual commands nobpress (Contl after
having finished”5510 PAl、!5E
5520 GOTO5400
r@y($II*l*率1*寧*率*宰率ストアおよび送す 草本***率
*傘車本率**本本零本本場6000 ! 5tore / R5−23
26010CLE、AR@DISr’”noyot+wanttostoret
hekinetics10=Ncl”;eINPUINPUT116020
IF 531711<OTHEN 531711=06030CLE、AR
@D]Sr’”Doyouvar+LoLtrar二5m1L11101”;@
INPピ丁 S31フ:1
6(+40 IF 53172神1 THEン: 531721=060
42 DISP 1゛comment” @ INPUT Tl56CII5
GO5L!B 6050 @ GOTO400060501F 531711
>OTHEN GO5υB 610060601F 53(721=I T
HEN GO5UB 6200607ORETURN
6100 !
6110 ON ERROR00丁0 61906120 )(1=S3
+)1) □6130 A−5:Tl5II、8]
@ IF Hl(OORHl>999 THE:: 6]90534
Q ERASE S丁ANI)ARD 36150 To S丁AN
DARD 1.As6160 REC,ALL 5丁、ANDARD
16)70 To FILE 81
6180 ERASE S丁ANDAIID 16190 0:: E
RROR00丁0 500 @ I’H丁L’しN6200 ON E
RROR(i0丁0 5006210 C0NTR0L 10.2 ; 7
6:’20 C0NTR0L 10.3 ; 156230 C0NTR0
L 10.4 ; 76240 CON丁ROL 10.5 ;
486250 C0NTR0L 10.11 i 1926260 C
0NTR0L 10,14 i 196270 C0NTR0L 10,
15 ; 176280SET丁IHEOυT10;30006290 O
N TIMEOυT 10 G10TO64006300PRINTERIS
10
6310 PRINT ”率車零傘傘″;丁l56320 PRINTE
R
6330PRINTERIs 2
ε380OFFTIMEOL’T10
ε390 RETURN
6−100 BEEP @ DISP ”HOlit isn’t readv
to receivr (!at(+”640.1 OFF 丁IMEOL!
T 106−110 RETURN
rem 本率本本孝率*事*傘本傘本シリンジコントロールメニュー*傘零**
宰*ネ本*****キ宰6995 ! Motorsteuerun(*市
本7000 OFF KEYt 2 @ OFF KEYt 3
* OFF KEYt 4 # OFF KdYt 5
@ OFF KE’r’R6@ OFF KEYt 7 @ OF
F KEYt 87005SET丁IMEOUT7;30007010
ON 丁IMEOυ丁 7 GOTO70907015Al5=AS[2,
2] /7020 1:1SPOLL(7081702S
IF B17口5.71 THEN WAIT 500 @ 00
丁0 70207030 1F B1丁115.51 THES DIS
P ”OL!T OF RANCE” @ F5S=”2” ■
e135++−0@ GOTO708270,10Al=AS&”、” !
(X’丁P1.!T 708 :、As7052 7F Al5=”
]” 丁HE′″:>+=】70:141FA3G=”2°’THEシζト1
=27056 IF A)Sニー3” 丁)IEN )!=37060
IF A]L=”B” ORA]S=”D” THEN CIMI
ICIMIJζ(M→1017(IcI:IIFAI!−:“C″′丁HENC
TH1=CIM++シjl)嘔÷101?OC3IF 、Al5=”F”
THES C+)口:07064IFAIS=−G”丁1(ENcnnz−”
(トI)フ065 IF Al5=″H” THEN C111=C1
13−WHII @ C121=C121−W1i211 C+31:C
+3l−WH31
7070OFF 丁IMEOL1丁 77080 RETURN
フOB2 TF Al5=”F” ORAl5=”B” ORAl5o
’″D” 丁HEN 7080 ELSE7090 DTSP 5w
1tch on ASSA”l−OMAT” @ BEEP @
WAIT 5000 eRESET 7 @ Go丁Q 7000
rel++ ”章率寧宰II*愈本章傘**本 エミュレートにコマンド
寥*章零本**牢傘車宰寧本宰章富オフ](ILI ASl+”率丁「54
A−e I6=+<1141 @ GO5UB 72007110 1
6=I?;T11.°H41/iti°1i11$48000/W11111+
257 @ GO5しB ?20071152F W1121=OTH
EN 16=60258 ELSE 16=IN丁C−“1141/1W
1121*48000/W+2111÷257
7120 GO5UB 7200 @ IF Wl131=OTHEN l6=
60258 ELSEI6=INTIW1(41/(Wl(31ネ48000/
W131目÷2577125 GO5+、+B 7200 * l
DISP As7130 GOSL!B 7000
7190 RETLjRN
7200 B5=” ” @ H1$=”0123456789ABCD
EF”7205 FORJ1=4 丁0 1 5TEP −1?:10
T=T6 Nor) 16 @ BS[Jl、、71]=HIS[I
+l、I+1] e l6=16−T *l6=T6/16 @ NEX
T Jl 。
T215 、A9.A具°“:”&BS[3,4]&”=’°&BS[1,2]
7220RETL’RN
1”0I11 傘零本本本本牢率*本**傘市 ソフトキー 京零*率室*市
宰傘本零寧*本章傘車キ寧本本本ネネ呼本本7250M=IO!GO丁0748
0
7280 0?: Iに’i= 1.”Give” CaOτ0 フ43
0 @ O:: )CEY# 2.”5uck” @GOTQ
7300 ON ):EY= 3.”Boat;” 00丁0 7−1
00 @ ON KE6 4.”Empty’。
GOTO7460
73200::KE)°r5+〜’、ALS+Sζl)I+1011co’ro
73607330 ON KEYt 6.VALSICIMII GO
TO7440?3400::):EV:?、”Retur’GOTO73557
350ON):EYj8.”Syr、”&VALSIMIGO丁07480?3
52 KEY LABEL @ GOTO72807355OFF K
EY; 1 @ REElJRN7360CLEAR@DISP”Vol
um@perKey”;@I)ζPυ丁wn++lo+eAS=”*A”&VA
LSIWIM+1011 @ (iosUB 700073)OGOTO
7280
7400AS=”孝D″ @ GOSL4B 7000 9 GOTO7
280?420 AS=’°章C” @ GO5UB 7000 @
GOTO7280フ430 AS=”宰13” e C105LJB
7000 @ GOTO72ε0フ440 、A!=””G” !
GO5L+8 7000 1! GOTO728074GO、AS=”F
” t GOSUI)7000 @ GOTO72807480)1=
?l+1eIF糎1>3THE?;>1=17485、AS=”暉”&V、AI
JfMl@C105L:B7000@GOTO7280r(’m **略本傘
本傘本車傘寧傘本傘本本 洗浄シリンジ 寧傘傘率本ヰ傘車零零率
本本寧零本本7500 CLEAR* DISP ”No、 of cycl
es and 5yrit+ge tl−31”;if’INP1.!TH1,
)I
7510 IF M>3 0RM(10RHl<OORHl>99 丁)
IEN 75007520 AS=”牢”&vAL$(Ml @ GO
SUB 7000)530 AS=”*E”&\’AL$(Hl l @
GOSUB 70007535IFH1)イOD2=OTHENCIMl
=OELSECtΣll=WIM+5)75JORETURN
75−15 GO5UI3 7000 @ NEXT II e G
OTO490rem *傘11ヰ***傘本本本零寧 ASSAYOMATEか
らの情報読取り 率率w市7700 SE丁 TIMEC)UT 7
;2000 @ AS=”。
7710 0二: TIMEOL’丁 7 C1OTO77907720E
NTER708υ5ING ’“、!−,B” ; H1@ AS=AS
&CHR5iH1ν@II:Hl:130RLENIASI)40 THEN
77407730 00丁0 7720
7740 OFF 丁IMEOL’T 7 1” ON ERROR
00丁0 フッ90フ750 C111+VAL(AS[10,16]177
60 C121:VAL+A![:’0.26]1 @ Cf31:VAL!
AS[30,36]1 eC1151=1
7790ONERRORGOTO1600@RE丁URNrem +1率本寧
傘*傘**傘ネ*寧寧略 スペースタイツ 本本傘s本傘本11*本本車
電富を宰零11寓車7900 1F K=O丁HEN p、’3=o @
GOTO?9707910 ON T1191 GOTO?920,
7930,7950,7940.フ9607920 N5=4*L3“lIc
−11@ GOTO?9707930 N3=に寧3007丁151 @
IF ):>T(51/2 丁HEN N5=150+INTIK−
T(51/21”600/T15)@ GOTO?970 ELSE G
OTO79707940K1=T(5141−に: t N5=1/に1*
600 @ 0OTO79707950N5=5+に傘100/T151+
3率L3−TK−11@ GOTO)9707960 N3!N3/L12
01
74170 Kl +31=N:4傘Ll 2017100007980
Wil】1=B171−W1121−Kl(31@ IF 1g9 丁H
EN RE丁LしRN79ε5.xS=”傘l:’&\’ALS+W1i11
1&”、”&VALSIMi+2111k”。
”&VALSIWI+311 9 GOSUB 71007990 GO
5L’B 7000 @ RETURNr@y(***********
**** 必要された容積の計31E *宰*宰******8
200 I=O! CALCPυLS8210 GOStjB 7900
@’ N2=B1318220 H4:丁(4)宰−+1131/B(718
230H3=3=(Kl*1000000/丁+171/)+2 @ J1
=T21KI*1000000/丁1181/82
8240 RETURN
rem ”ネ*率本宰**零率サンプルの自動測定
***寧本傘車9000 !
9010 CLEAR! DISP ”*傘*傘零傘ネニー自動測定
率事率牢率本本傘本本−9020DISP ”Functior+
: ”;@ IF v(11=I THEN DISP1°AT3
SORPT1ON” ELSE DISi”°1.DERIVA丁IVE’
。
9030 DISP ”Title of Job :” l!
DISP Tl59040DISP”Numberof)Ieasure:”
H5317019(150DISF’ ”SLc+e : ”;e
IF S3[)11>OTHEN DISP”file”;S3’171
1 ELSE DISP off”9060 DISr”5end
: ”;e IF S3[)2)=1 丁HEN DISP ”
on”ELSE DISl” ”off”
9070 DISP ”Plot : ;@ IF 5
3+731”l T)IEN DISF’ ”Or+|
ELSE DISF’ ”ofT”
9080 DISP ”Wosl+ Syringe:”;53(741909
0pISP ”Fill ”HWIS3(741+Sl;”ml”911
0 DISP ”Fill Syr、I Syr、2 S>−r、3
”9120 DISP TAB[91;C11);丁AB+161;C
(21iTAB1231;C(3);TAB+291;”ml°゛9190 O
N ERRORGOTO500rem 率傘率本率車宰本傘本本率傘零車本京率
ンフ)−’r−”率傘本零零寧lI寧傘宰傘*傘本ネ傘寧傘*寧寧9200
ON KEYi 1.”Exit” GOTO500920508KEY
愈 2.”Job” GOTO940092100NKEYd3.”Heas
”00丁095009:’35 ON KE’l 4.”Wash”
co丁0 960092200:: KEYi 5.”Tidle” GO
TO9650923(l ON KEYi 6.”Number” 0
0丁0 970092400NKEY= 7.”5tore” GOTO9
7509250ON KE1’4 g、”Plot” GOTO9800927
0KEY LABEL @ C1OTO92009400CLEAR!
、job
9410 FORK=1 丁0 69 @ 53TKl=O@ NE
XT K9420 11=1 e I=1
9450 DYSF’″Please enter the”;I;”th”9
45S DISP ”nurnber of rep、、and the am
ount of bufTer。
enzyrIIe and 5ubstrate in 1ul)”;94
60 INPl、!丁 S]II l、53(11+11.S3+11+21
,53111÷319465 1F 53+111>OAND I4<51
JEXN 11=Il+5 @ r=ll # 00丁09470
531751:l−1
9490GOTO9000
rem 率率*傘傘傘11傘率本本本$零宰*ネ*傘本章*本本本本傘*本傘*
*宰章車車倉零寧本宰傘本牢本本京本京牢*9500 CLE、AR@ F
S=”>1” @ FIS=’°7ゝζ”: messe9501
ON KEY: I GOTO95979502OFF KE1’#
2 @ OFF KEYi 3 @ OFF KEYt 4 @ OFF K
E’05t OrF I;E”+’# εe OFF ):EY* 7 @
OFF KEYi 89505 rEIN丁ERIS 2 ! PRI
NT ! PRINT ”ト+essungNr、−;53+フ01:″
”;D3S @ PRINT TIS @ PRTN丁95075
31701=53170+41 e 1=53+741 @ V121=19
510 MSP ”Probe ;53f701;” 5ucked in”
It BEERe DISF’IHPress keXH#9 at th
e”951S DISP ”Assayomate、 when the ne
xt probe is ready”9.120 1F FIS=”讐゛丁
HEN 95409525 X=SPOLL(7081@ IF BIT(X
、31=OTHEN BEEP @ DrSP ”N。
Probe ready’°@ WAIT 3000 @ GOTO95979
530AS=”隷”&VALSIIl [I QOSUB 7000 @ A$
=”*=”&VALSIW11+5+1@ GOSUB 7000 @ AS=
”傘E8°’ l! GOStjB 70009540 DTSP ”pr
epeQrt probe”;53f701+1 8 DISP ”wi
thin t)lc−next 2 m1nutes”
9550FOR);=1丁0S31751e11=)ζ−
【5−49560 R
=S]Ill (W1111=S3+11+l+/1000 @ W1121=
S3+Il+21/1000 各 W1131=S3+11+3171000
@ GO5L′B 501095)OGO5UB6050
9580 IF 53+731=I THEN N1=+に−1)HOD 8
tl N1=)+1+1 ! GO5LiB9585 NEXT K @ PR
XNT H−−−++++−++++++++++++++++−−−−−−−
−”t PRINT
9595 GOTO9505
9597PRINT @ PRINT ’a PRINT @ PR
XNT @ GOTO9000relTl 宰**傘宰傘傘傘$零本率寧零
零*零本本零零本**市本市牢*車*本車傘傘傘宰傘零本本傘零電電本オ*t*
本9600 ! wash /9610 CLEAR@
DISP ”r’1ease enter the syringe to
LICwashed (2/31”;@ INPUT H196151F
Hl)3 0RHl<2 THEN 96109620 53174+=
H11’ I=H19630DISP”Pleaseanterthefil
llevel°’;@INPUT81!IFMl<OORHl)WITI T
HEN 96309635 W(I+51=)(1800丁0 90009
650 CLEAR@ Dτsr’ Please enter t
ltle of 、)obニー;l? FLlP @(
INPUT TIS@ FLIP
9670 1F LENI丁181<64 THEN 丁l5=TIS&”
” ! 00丁0 96709680 GOTO9000
9700! nurnn+Pr
9710 CLF、AR@ DISP Please enter the
number ofmeas+urement″;@ INPUT
53(701@ 00丁0 90009750 ! 5tore
9760 CLEAR@ DISP Do you want to 5tor
e OD VS、 tinne ?10=Nol”;@ INPUT 53(
71)97フOIF 53T731<OT)IEN 53+731=097
80 CLEAR@ DISP ”Do you want to
5end OD vs、 Tima(110ど;@ INPUT S3
+7219790 IF 53(721717H!J 53i721=0
9795 C;OTO9000
98001F S3+731=OT)IEN 53+731=I ELS
E S3+731=09ε10 00丁0 9000
rcm 傘本本*ネ傘*事寧*零傘車*率率*11本ネ率ネ牢本本本本率寧寧嘲
傘傘*傘牢本率本軍本本零**市本井零本傘rem 傘傘傘市本率””MICH
KINンフトr7エ7 : asinit、ksys messrem
傘ネ****率率率 作者 : Brune Michel
率本傘傘rem *率本寧1本傘**本*オ亭
傘亭車本率車キ*牢本本傘本ネ**室章牢本寒傘本傘率ネ傘申本率本宰傘本*本
率車!fff+ ”傘率傘傘*ヰ傘*本本*港寧*零本 1 ! AST
NI丁 B、MZCHEI、零零傘率本ネ*禽本本禽r e m
−一一一!’eff1 丁+113
part of t)le MIC)IFIT software
ehQli!i Rt撃撃■
rem As5aき°omats is present ムnd
1oads the valid SetLlpremdownint
othefl+emOr)−oftheAssayomatc。
rem *本率本*傘傘傘宰*4* 共通デュタ領域 *率本ll
t車率率傘*零傘傘宰串宰孝宰*寧傘120 COM 5HOR丁 S1+
80)、52i801,53C801,Tf201.70411.丁2f−11
1゜し+201.B1201.A15.5+125 C0Pf 5HORT
C(151,1%“(207,Wl(57,E(2Or1−10COM丁l
5165]、EIS[20]、E2S[201,DS[20]、DIS[1]。
D2.D3S[20]、DJS[20]、B9Sr8)rem *ネ本本市本
本傘本率傘**率**クローバlし変数 宰車宰ネ寧率嵩寧宰率寧
率市本本オ傘180DIトlFS[1]、F6a(l]、E3S[30]、E4
S[30]、F1a[1]。
F5S11 )、AS[60)、H15r20]195 INTEGERI、
I2.I5.l6200 F6G=”O” @ Ql=1 @ Q2
=l @ F7S=”O” @ I=0210 F$x”A” @
F5S=”Q’° @ J=1 @ K=1.@ D4S[5,5
3=”1”rem *本本ネ初期設定が実行されたときの試@
宰率零本250 ON ERRORGOTO900@ IF
C181#I THEN GOTO900300ON KEYi 1.”
Exit” GOTO900310DISP ”Jnitialisatia
n or Assayomat” ! DISP ”key 1 =Exit
”
490 1F C1151#OTHEN 800495 AS:””4+°
FCC8” @ GO5UB 7000 @ GO5UB 770
0500 FORCス To 3
505 AS=”率”&VALSiIl @ GO5UB 7000510
aS=”*=”&vALSIWII+5+1 @ GO5tJB 70005
20 AS=”京X”&VALSIWt1+1511 @ GO5tJB
7000530 AS=”傘A”&VaLSIWi1+101)@ GO9
UB 7000540 4 AS:””A”&VALSrW11+105)@
GO5UB 7000590 NEXT 1
800 RESET 7
810 1F +12=1 丁HEX D2=O@ CHAIN ”
KIN 1 、KSYS”820 IF D2112 丁HEP:
D2:O@ CHAJ3−”KIN 2 、KSYS”830IF
D2=7.THEND2=O@CHAIN”KONZMSC,KSYS”900
RESET ?
910 C)IAIN ”AutostJSYS”rem *市車傘*ネ率寧
宰**寧 エラー回l 傘竿傘零雄宰II傘傘事重事寧率寧率喀
オ港喀1喰1!00 BEEF” t BEET” e BEEP @ CLE
AR@ DISP ”ErrorNr、”;EnrNN;’°
ocurred on 1ine ;ERRI。
1610 DIE、F” ”correct errorcondition
l+cont”;ERRL;”l”1620 co70 *a。
reff+ 宕*rむ寧零傘11本摩率本零享オシリンシコントロール 亭*
孝寧率事本寧寧傘寧率本率率寧率傘?(+OOOFF +:E)’& 2 @
OFF KEYk 3 @ OFF KEYk 4 e OFF KEY
: 5@ OFF KEYi 6 @ OFF KEYi 7
@ OFF KEYi 87005 SET 丁IMEOU丁 ?;300
070100NTIHEOLjT?GOTO70907015A】5=As[2
,2]
7020 l5=SPOLL1708)7025 1F BITII5,7
1 THEN WAIT 500 @ 00丁0 70207030
IF BI丁II5,51 THEN DISP ”Empty”
@ F5S=”2” @ C(151=0・GOTO7082
70321F 81丁115.4J T)IEN DISP ”Full″
@ cns+=。
7035 IF rtlllI5.3+ T)IEN C1151=Q
フ0−10 、AIA’、L”、” @ 0υTrυ丁 708 ;A
s7070 OFF TIMEOL’T 77080 RETυRN
7082 1F A14=”F” ORAl5=”B” ORAIS:”
D” THEN 7ago ELSE7090DISP”5ssiteh
onASSAYO)IへT”@BEEP@WAI丁5000tRESET 7
e GOTO70007100DISP As ! 、AS=”率丁F
84A ” @ l6=W1+41 9 GO5UB 720071
10 r6=INTiW1141/+11′1111”48000/W111
11+257 ! GOSLiB ?200フ115 IF W1+
2>:OTHEN l6=60258 ELSE I6:INT+W11
41/lW1+21傘48000/%II(2111÷2577120 GO5
υB 7200 @ IF W1131=OTHEN l6=60258 EL
SE16=INT(Kl(41/1W1131ヰ48000/賢131 + 1
+257712:l C05IjB 7200 /7130 G
O5UIB 7000
7190 RE丁υRN
720υ ns=” ” @ H1!=”0123456]89A
BCDEF”7205 Fort J1=4 丁0 1 5TEP −
172101=I6)10D16@BSIJI、J1]=HIS(I+14+1
]!l6=I64@16=I6/16 @ NEXT J17215 A
S=AS&’°:”&BE[3,4]&”=”&BS(1,2]7220nET
しIRニジ
7700 SET 丁I)IEOU丁 7;2000 @ AS=””
7710 ON 丁エトIEOυ丁 7 GOTO?7907720 E
NTER708USING ”#、B” ; 81@ AS=AS&CH
R5IH11@ IFH1=13 0RLENIAS))40 丁HEN
77407730 GOTO?720
7740 OFF Tl)IEOLITフ@ ON ERRORGOTo 77
90?750 C111=VALIAS[10,16]17760 C+21
=VALiA$(20,2611@ C131=VAL(AS[30,36]
1 eC(15神]
7790 ON ERROR00丁0 1600 @ RETURNア
ペンディクスE
MICHFITソフトウェアリスト
rem 宰本本キ傘傘*率率零零ネ*本率寧*率寧*ネ本本率本市*宰本率京
宰本寧率宰嵩本零ネ宰車零傘傘本車車本本rem ****本車’MrCHF
IT77トウz7 : ha、bas **率率本本零本章r
em ***本*傘零 作者 : Bruno Miehel
*率孝本*率率**傘*寧宰rem *京市傘**率率本1
1本本零本章傘本*1#本率率率本本本本率**ネ零零傘本本ネ傘傘零本章本本
本章傘車本書rem idrives
rem 1 : 5creenfile+syrtemfile+dir
ectory 6: mainprogramrem 2 : 5po
olfiles 7 : plotprog
ramrem 3 : 、、、、−一、、
8 : rBressionproframrein 4 :
IIorkfiles 9 : inp
utprogramrel++ 5 : plotfiles
10 :rem 寧*萼*寧率*傘
率傘市$零本本本本車率市車寧*糟率車本本零室零本本市傘率牢率*本寧*率電
**章摩本*rem **傘傘傘本率率傘*傘**傘零傘本本本富ネ*傘傘
宰傘本零寧傘率傘本本傘宰京*寧*傘寧傘傘庫率本車率車rem
ソースコードの開始reffl $$$零本零本本傘宰零*京本率
本率傘率*率本庫傘率本ネ本率*本傘本本ネ傘本本本室零寧本傘車傘ネ傘*本r
em ネネ傘*京宰本本率寧率率宰*本ネ*率率本 限定
ネ本傘寧*本*宰率本卑率京愈*零車90reff+5include:’c
omvar’200 賢1dtl+ 255 :240 call gra
phoff : call cls : dim re14001,1
quelle1201245 drivess=”a:b:c:d:e:f:
”250 if pinit=1 then (oto 1000255
pinit=1 : tein=1 : trnod=1 :
taus=1260 anzgem=5: anztit=5 : a
nzspek=5 : forts=o :prets=”ha ”
265 for i=1 to 20 : pointer%(il=
o : 1driveril=l :iquellelilgo :
next i : 1driverlll=2270 for i
=1 to 10 : tqueTil=i : 5que(il
=i : next irem 傘本11章宰*傘市”計Xおよびパス
ワード*京零宰嵩寧本傘零傘傘ネ傘寧*t290 ca1%=O: row
%=21 : call eurslco1%、row% l :
1nput”Please enter number of your a
ccount”;Konto%300 if Konto%>20 or
Konto%<Othen goto 10000310 close
#λ : open ”r”jl、”a:default、hsy”、256
:field#1.256 as exa320 get #1+Kon
to%+55 : passws=mids(exs+1+61 :na
mes=mids(exS、20,8): initialens=mids
(exs+18.21330 call curs(co1%trowX):
print 5paces(159): callcurs(co1%、ro
w%)
340 H−rint ”enter password ” : hls
=inputs161 : 1fhis<>passws then po
to、39−99rern m寧*京****車本率本率m率寧寧*本本傘本
傘傘傘本車車率*傘率傘**傘本市*本車傘隼本本本本寧率率本rem 350
close#8 : open ”r’Z’1LfileL256 :
fieldl、256as exs
rem 360 for i=1 to 2 : (et#Li
÷44rem 3)Ofor 1i=1 to 127 : 1c
on(i傘127+1i−127+3001=cvi1midslexs、ii
傘2−1,211renI 380 next iirem 390
next i : closej8 : axs=”” :
call clsrem *傘傘傘率寧****車*傘寧端末の初Wa定
*本零本本傘宰*章富率率零零宰中寧400 print
chrs(271H”&kOaObOcOdliOkOIOmOnOoOplQ
” ;410 prjnt ehrs+271;’°&sOaObOcOd
l(1hO0jok010monlk””;490 gosub 500
: (osub 600 : (osub 9000 : g
oto 11000re 傘零零ネ*京車車零寧零本列データの発生
寧率率本章率傘*宰率傘本本本零車亭本500monatas=’
°Jan、Feb、Mar、Apr、HaiJuniJuliAu(。
Sep、Okt、Nov、Dez、”
510 ta(eS=”010203040506070809101112
131415161718192021222324252627282930
31”520wta(es=”Sonntag)lonta(Diensta(
HittvochDonnerstagFreitag Samstag
”530 call datum(jahrχ、ta(%、wta
(%l : monat%=tag%/256 :taIl!%=La1
t% mod 256540 call zeitfminuten%、5
ekunden%): 5tunden%=minutenx/256 :
mlnuten%=minuten%mad 256 : 5ekun
den%:5ekundenχ/256
350datSt$”’−、、、−1−0 ”+mxdSltaqeS+ta
g%章2−1.2)+”、”+m1dS+!11onateS 、monat%
率4−3.41+″ ”++n1dS(strHjahr%1,4.21560
call cls : print ”Welcoms to the
)IICHFIT softwareversion Feb、02.1988
”570 print ”Author : Bruno Michel”
: print580 print ”todays date : ”、da
tsts : print ”pleaseinsert your form
attad data diskette 1nto drlve B:”sa
s print″and wait for thg、completion
of 5tartup (10−305teal”
595 rnonates=″” : ta(es=”” : 5sta
(es=”” : returnrem 5yss(21=chrSr2
71÷11本pgo、−33,5−5,03,−52”rern 5yss(3
1=chrS(271÷”1p(−3,03,33,−3−3,−3−3,3Z
″rem 5yss141=chrs1271+”倉pg−2,20,−44
,00,4−4,OZ”rem 5yssf51=chrsT271+’°*p
(−1,3−2,−20,−22,−22,02,20,2−2,2−2,02
”
rem 5yss161=chrs(27)+’°傘p(0,3−3,−56
,0−3,5,O,−1,−2,−3,4,0,−2,3,O,−1,−1,−
1,2,0,−1,12”rem 5yss(71=cbrS(2])÷”本
p(Ot−33,5−5t0 3+−5,Ot1+−2,3,4,0,−2,−
3,0,1,−1,1,2,0,−1,−12”rem 5yss(8Cchr
$(271÷1°’pg−3t03,33.−3−3.−3−3.3,1゜0.
2,2,2.−2.−2.−2.−2.2.1,0,1.1 、1、−1、−1
、−1、−1.12”rem 5yss(91=chr$+271+”傘pg−
2,20,−44,00,4−4+0.1+−!、0.−2.2,0,0,2.
−2.OZ”rem 5yss(101=chrS(271+”本p(−1,3
−2,−20,−22,−22,02,20,2−2,2−2,0,1,O,−
3,−3,3,−3,3,3,−3,3,0,−1,−2,−2,2,−2,2
,2,−2,2,0,−1、−1、−1,1、−1、l 、 1、−1.12”
remsymS(Hz”UC−99,Ot4.99.−3+−6+6+O+−3
+6+−99;”rem syn+5f21=”UC−99,0,−4,99,
3,6,−6,0,3,−6,−99,”rem 5yrisi31=”L’C
−991−3,019913+313.−31−31−31−313.−99ニ
−rem symsLll=”UC−99,−2,2,99,0,−4,4,O
,0,4,−4,0,−99,’・reffl 53°ms+51=”UC−9
9,−1,3,99,−2,−2,0,−2,2,−2,2,0,2,2,0゜
2、−2+2.−2.0.−99;”
rem syms161=”UC−99,0,4,99,−3,−6,6,0,
−3,6,0,−1,−2,−4,4,0,−2,4,0,−1,−1,−2,
2,0,−1,−2,−99;”rem svmS(71=”UC−99,0,
−4,99,3,6,−6,0,3,−6,0,1,2,4,−4,0,2,−
4,0,1,l、2.−2.0.1.−2.−99;”rem svmS(81
=”UC−99,−3,0,99,3,3,3,−3,−3,−3,−3,3,
1,0゜2、2,2.−2.−2.−2.−2.2.1.0.1 、1.1、−
1、−1、−1、−1 、1、−99;”rem syms+91=”UC−9
9,−2,2,99,0,−4,4,0,0,4,−4,0,1,−1,0,−
2,2,0,0,2,−2,0,−99;” 。
rem svms+101=”UC−99,−1,3,99,−2,−2,0,
−2,2,−2,2,0,2,2,0゜2、−2.2.−2.0,0.−1、−
1、−1 、O,−2,1、−1,2,0,1、1,0,2,−1,1,−2,
0,0,−1,0,−2,2,0,0,2,−2,0,−99;”rぐm傘傘市
傘*傘率II傘*宰 プロブ14Jlに対するディフォルト 車**寧
傘率寧車ネ本800 for i=1 to 30 : tl(i
l=o : p(a(il=o : next 1810 for
i=1 to 20 : beschrs(il=spaces(
801: macros(il=spacesイ51 : next
i830rempl>: ply 1rand urand
vel tickgr 1inesp840 pall+=20 :
pg(21=15 : pg(31=3 : pg(41=2 :
pg(51=20annotate annotstift860 p
gr81=1 : pgf91=1 : pg(101=O: pg
(11+=2 = pg(121=1: p(f131=1 : p
g(141=O: 1)((151=1865 for 1=16 t
o 20 : pg(i+=1 : pgxril=10 :
pgv(il=−5*(i−151: next 1870 pxu#(1
1+++O: pxujr2)=10 : pxu#+31=2 :
pxu#+41=O:pxuB51+3
880 pxo#(11=O: pxo!(2+=10 : pxo!
+31=2 : pxo#(41=O二pλo#(51=1
890 pyl=+11=−0,01: pシ・1H2)=0.04 :
pyljr3)=0.01 :pylツf41=O: pyl#[51
=3900 pyr#111=−0,01: pyr=(21=0.04
: pyr#(31=0.01 :pyr*I41=o : p3−r
#(51=1910 rem titel Be5chr、 Z
ahlen S5−mbole text920 pgx(1
1=、3: pgx+2)=、25 : pgx(31=、20 :p
gxr41=、15 : pgx(51=、20930 pay(1)=
、4 : pgy(21=、35 : pgy(3)=、25 :pl
!5−(41=、25 : pgy(51=、25940 rem pos
tit pos xubes pos ylbes pos
xobespos yrbes
945 pgx(6)=50 : pgx(71=50 : pgx(
8)=−10: pgx+91=507 Pgx(10G=108
、//950p領:y(61=108:pgy17)ニー10:pgy(81
=50:pバー(9+=105 : 辺ty(101=50960 rem
orz xubes pos ylbes or(xobes or(y
rbes 、−965pgxl121=−2: pgx(131=−5,5:
pgx(14)=−2:p(x1151=、5 : pgx(111=1
970 pgさ・1121=−1: pgy(13)=−,25: pgy+1
41=、25 :」い(151=−,25: p号ytlll=1975
for i=1 to 10 : psymfil=i : ne
xt 1980 for 1=21 to 30 : pg(1)=O:
pgx(il=o : pgyli)=0 :next 1
990 return
995 ram *傘*傘傘傘傘傘牢 送出モジュール初期設定終了 本零率
本本本本*率本章本*本rem 京*傘傘傘ネ本本傘*零傘傘京メインメニュー
鵞率**傘本寧**零本車車章傘京市傘宰寧*零慮京嵩零1000 call
cls : call offtouch : rowincχ
=O: coline%=101010 print ” )IIC
HFIT software Author : Bruno M
ichelVersion Feb、 01. 1988”1020
PRINT ”寓本本本零*寧*傘*11*本*市寧傘牢寧宰寧傘傘零零倉ネ
*牢傘富*傘宰傘傘傘傘傘傘傘本911030 print ″ネ傘本車*
宰本率傘處
市傘111040 PRINT ”*寧傘傘傘 メインメニュー
率津*電傘零C1042print ”*傘本*本
傘型*牢寧率率“1
104−1 print ”***零寧寧宰率傘寧傘*II璋傘傘*傘本才
章傘零章傘零傘本車零零傘零室傘零京京業零京寧11045 coL%=7
: ro%ll5c=7 : call curslco1%、ro
w%l : print1υser narne and file
identification : ”;nam:S1047c
a15G=7:row%=8:callcurslco1%−rOWjζ):p
rlnt”In1tials : ”;1nitiale
ns1048 print ” please 5el
ect a touchfield ora 5oftkeyば1−fa)”
1050 row%=13 : ca1%=l : eolineχ=
15 : rowinc%=3 =resps=”A” : Rosub
40001060ca1%=2:row%=14:callcursTco1
%+row%):print”Ca1culation of ”
1065 row%=15 : call curs(co1%、row%
l : print ”Binding data ”
1070 row%=13 : ca1%=21 : cす〉c%=15 :
rowinc%=3 :resps=”B” : gosub 40001
080 ee1%=22 : row%=14 : call cu
rsicolχ、row%): print″Ca1culation of
”
1085 row%=15 : call curs(co1%、ro
w%l : print ”5peCtr& ”
1090 row%=13 : co1%=41 : eoline%
=15 : ravine%=3 :resp$=”C” ; (os
ub 40001100 cal %=42 二 row %=14 :
call curslcol %、 row〕−:l : pr奄獅
■
”Ca1culation of”
1105 row駕=15 : call curs(co1%、row
%l : print ”Kinetic data”
1110 row%=13 : co1%=61 : coline
%=15 : rowinc%;3 :resps=”D” : go
sub 40001120 ca1%=62 : row%=14 :
call curs(co1%、row%l : print ”D
JLta ++
1125 row%=15 : call curs(co1%、row%
l : print ”丁ransfer ”
1130 hls=”CRead Diskette2=Initia1.
5pectra3=Initia1.Kinetics4= Edit
Mask 5= Newυser 6= Edit Sysfi
les7=SpekctraReformat8= EndProgram
”
1140 (osub 8700
rcm 傘*市市11傘率*傘傘寧零**率入力待チ率傘本寧傘寧率本牢卑宰傘
ネ**寧京寧車寧率1400 print chrs+271; ”−z2N
”;1410 as=inputs+ll: a=asc+as+−17:
b=asclasl−891420print chrs1271; ”−
ZO:”’ ;1430 if a>Oand a<9 then 1700
1450 if ass”A” then gosub 4200 : i
=1 : goto 19001455 if aS=’°B” then
gosub 4300 : i=2 : goto 1900146
0 if ass”C” then gosub 4400 : i=3
: goto 19001465 if ass”D+then pret
s=”ha” : chain lldacom”1655 goto
1400
reI′II*****vsws* ソフトキー機能を実行するルーチン
傘章率*1700 0n a goto 1フ20,174
0,1′7+AD−r1780.1800,1820.1840.186017
20 call cls : gosub 9000 : goto 100
01740 goto 2000
1760 goto 3000
17εOgosub 4500 : goto 10001800 (ot
o 290
1820 goto 6000
1840 goto 5000
1860 goto 9999
rem 傘京津本本傘車傘*率率率本率システムファイルの読取り率傘車本本
*寧本本$**宰本率零市1900 ca1%=O: ro%:%=18
: call curs(co1%、row%)1901 11=idr
ive+11 : h2s=midsldrivess、il率2−1.2
1 :close*1 : open ”r″+#1.h2s+nam
es+exts、256 :fieldjl、256 as ext19
02 get#1.1 : if m1ds(exs、3.21=’°
1=” then、print″Systemfiles found
on drive ”Hh2$ : goto 1940 els
eh4s=h2s
1903 11=1 : h2s=mids(drivess、ill2−
1.2) : h3s=names :close#1 : 0pe
n ”r”t#1.h2$+narne$+5xts、256 :fiel
djl、256 as exS1904 get&!、l : if
m1ds(exS、3.21=”1=” then print”Sys
temfiles are copied to drive ”H
h2S : (osub4100 : gato 19401905
h3s=”DEFAIJL丁” : close*l : open
”rL#l、h2s+h3s+exts、256 : field:1
.256 as exs1906 get#1.1 : if m1dsTeX
s+3+21=”l=” then print″Default Syste
mfiles are copied to ”;h2s;names :g
osub 4100 : goto 19401910 print ”F
ile :DEFAUL丁”;exts;” is missing”
: (ot。
1940 rem
1960 re+n
19]Oh3s=” : h4$=”″ 、 b5s=I+l+ 、
、5=n−+ 、 hls=”” 。
exts=”: 5exts=”” 71980 exs−”” : e
x2S=”” : ass”” : for i=1 to 90 :
forn+atsril=”” : next i : for C1
to 20 :filenames(il=″” : next 11
990 h2s=mids(drivess、1drive16)本2−1.2
1 : x=fre(””1 :forts=o : chain
h2s+farts2000 rem
2020 co1%=o : ro%1°%=20 : call cu
rs+co1%、rowχ) : 1nput”Are you 5ure
to erase all 5pectrlLIY/Nl ”;fs : 1
ffs0°”Y” then (oto 10002050fori=1
to10:1var(i、1)=o:nvar(i、11=O:nexti:
close#1 : open ”r”、!l、names+”、SVA”、T
O:n5=space$(70+
2610 for i=1 to 8 : m1dsfns、iネ2−1.2
1=mkiS(ivar(i+111 :next i : for i
=1 to 6 : m1ds(ns、i*4+13.43=mkss(n
var(i、ill : next 12630 I!l1dslns、
41,301=’°” 0.* 48.H、+1 + * + + 、) 00
.+ + + 、+ 0.{ 1.+ H” :
fieldjl、70 as 5vas : 1set 5vas=ns2
650 for i=l to 141 : put#1.i : nex
t i : close #1 :n5=spaces(13(1)
2730 open ’″r”+#l、names÷”、5PE−,1300:
n5=spaces(2561:for i=l to 63 : m
1ds(nS+i率4−3.41=mksSIO1: next 1275
0 field=1,256 as els、256 as e2S、256
as e3s、256 ase4s、256 as ass、20 as e6
s2〕60 for i=l to 5 : gosub 29
10 : next i : lsete6s=mids(ns、1
.201
2770 for i=1 to 141 : putH,i : nex
t i : close H:goto 1000
2910 if dnr=1 then 1set els=midsins、
1,252>2920 if dir=2 then 1set e2s=mi
d!(ns+1,25212930 if dnr=3 then 1set
e3$=mids(nS、1,252)2940 if dir=4 then
1set e4s=mids(nS、1.25212950 if dnr=
5 then 1set c5隻詞5(ns、1,25212960 ret
urn
rera 本本本本率本零京本=カイネチックワークファイルの初期設定鉢本本
本本傘*本率*傘*寧3000 ram
3020 ca1%=O: row%=20 : call curs(
co1%trow%): 1nput”Ars you 5ure to
erase all binding and kineticdata (
Y/Nl”;fs : if faく>’°Y” then got
o 10003350 rOr i=1 to 10 : nvar+
i、11=O: 1var4i、1>=O: next i: hl=o
: n5=spaces(13013400for i=1 to
10 : m1ds(ns、i寧2−1.21=+nkiS+1varl
i、ill :m1ds(ns、i率4+17.43=mksS(nvar(
1+1)l : next 13520 m1ds(n(61,701
=”傘、、、、、、、、xx傘9111195.。
$、、、1.....,0...1..0.*、、、、18.、、、、、、、、
、、、、N”3700 close#1 : open ”r”、#l、
names+”、KV、A”、130 :fieldjl、130 as v
aks : 1set vaks=ns3720 for i=1
to 100 : put#1.i 二 next i : c
lose #1 :open ’r”、41.name$+”、KIW”、
512 : n5=spacesi25613740 for i=1
to 63 : mid$(ns、j*4−3.41=mksSlhll
: next 5: fieldjl、256 as all、256
as e2s3760 for i=1 to 2 : gosub 2
910 : next i3]70 for i=1 to 10
0 : put#1.i : next i : close
61 F
goto 1100
0re *”本章率率本傘章宰*率*本車*傘*傘傘本本*傘本傘**本本率
率傘章率本寧**寧宰市率本寧本率*率傘*4000callfntouchl
row%、cold、rcwinc%、colinc%、respsI:ret
urn
4100 close量1 : open ”r−#l、h2s+h3s+5e
xts、1760 :field#111フロ0 as xS : P
r1nt ”copying ”;h3S4120 for itl
to 15 : get#1+i : 1set 5creenS=
xS :put倉14.i : next i : close!
1 : : xS=””4130 close#1 : open
”r”jl、h2S+h3S+extS、256 :fi@ld#1,25
6 as xs
4140 close#2 : open ”r”、#2.h4S+nameS
+extS、256 :fieldj2,256 as exa4150
for itl to 35 : get#1elset exs=xs :
put!2.i :neXt 1
4160 hls=spaces(2561: for itl to
200 :m1ds(hls+i+11=”1′ : next i
: 1set exs=hls :put82.3(s
4170 close#1 : close宕2 : XS!I””
: exs=”” : hls=”” :return
4200 rem 傘寧嵩*傘*本本パインディンク&j111率率傘傘愈
本牢本零車傘牢率*率本零零*本章京本4210 close 68 : op
en ”r−1,m1ds(drivesS、1drive(4ド2−1.2)
+names+”、):〜’、A”、130 : fieldj8,130
as vatS4220 close #9 : open
”r″’ 、69.m1ds(drivess、1drive(−11*2−1
.21+nameS+”、KIW”、512 : fjeld#9,256
as els、256 ssc2S
4230 close 810 : open ”r”、#10+m1dS(d
rivess、1drivellド2−1.2)÷names+”、DIR”、
8 : fieldjio、8 as direntryS4240
close#14 : open ”r”jl4.m1dSrdriv
esS+1drive(11本2−1.21÷names+”、BSC”、17
60 : field#14,1760 as 5creens425
0 e3s=”” : e4s=”” : e5s=”” : e6s=”:
exts=” 、BSY” 二5ext&=−BSC″: forts=”vb
i”4260 return
4300 rem
lI寧ネネ率*零本本本事*京スペクトIしII市本本**零率寧傘寧傘宰零庫
本愈零*傘宰宰本本傘零京寓本本本*傘本4310 close *8 : o
pen ’″r”J8.m1dS(drivesS、1drive(4112−
1,21+names÷−、5VAL70 : fieldJ8.70
as vatS4320 close =9 : or、rem
”r”、l、m1dSldrivesS+1drive14112−1.21+
name!+”、SPE”+1300 : field#9,256 as e
ls、256 ase2s、256 as e3s、256 as e4s、2
56 as e5s+20 as e6S4330 elose jlo
: open ”r″jlo、m1ds(drivesS、1drive
(1)傘2−1.21+nameS+”、DIR”、8 二 fieldji
o、8 as direntrys4340 close念14 : o
pen ”r”jl4.m1dS(drivesS、1drive(1)$2−
1.2)+nameS+”、SSC”+1フロ0 : field#14.
1760 ms 5creen$4350 exts=”、SS”i”’
: 5ext$=”、ssc” : forts:v s p l。
4360 return
4400 rem 率S傘率車本本章****−カイネチック*本*傘**
本傘率率*傘本*傘宰車宰率率傘傘*傘4410 close e8 : op
en″r”l#しdS(drivess、1drivs(4)零2−1.21+
nameS+”、KVA”5130 : field18.130 as
vats4420 close 49 : open ”r″j
9.aids(drivess、1driver4 )事2−1.2)+r+a
meS+’、KIW”、512 : field#9.256 as
els、256 ms 2 t
4430 cloqe tlo : open ”r″、alo*m
1ds(drlvesLidrive(1+12−1.21+narneS+”
、DIR”、8 : fieldjio、8 as direntry
s4440 close*l−1: open r”jl4.m1ds(
driv@ss、1drive(11*2−1.21+nameS+”、KSC
’、1760 : field#14,1760 as 5creen
s4450 e3g=″” : eJs=”” : e5s=”″
: *6S=”°” : ests=”、KSY″ :5exts=”J
SC” : fortsx”vki”4460 return
rem オ*傘庫率11拳車傘寧11市傘*本率マスク5iIls者 廖
*傘車零傘傘傘本本率零車本京率率電車零本宰糟4500 hls=”1=R
ecall 5creen# 2=
3= ReadDefaults4= 5tore 5creen
B! other applikat6=、、、、、、、、、、
、、、、、、?=、、、、、、、、、、、、、9..8= End
Edit 4510 call offtouch : goi
ub 8700 : rern keylabe14520 aχ=
O: call cls : eo1%=o : rowX=22
: calleurilco1%、ross%1 : print
”Please 5electapplikation: CBindi
ng 2=Spectra 3=Kineties” :1nput
1
4530 h2s:”BSK” : finame$=screendrS+n
arneS +−”+m1dS(h2s+111)◆”SC” : ext
!=”!+m1dS(h2S、i、11+”SC”4540 a%=O: c
all cls : co1%=O: row%”22 : ca
llcurslco1%、row%l : print ”Please
5elect 5oftkevoredit 5creen of ;
finarnes4545 close#1 : open ”r”jlofi
names、1760 : field41.1760s X5
4550 while a%<>25 : call echo(a%
]4560 if a%=18 then gosub 4800 :
rem read 5creen4570 if a%=20 then g
osub 4850 : rem read default 5cre
en4580 if a%=21 then yosub 4900 :
rem 5tore 5creen4600 close#1 :
as=inkeΣS : returnrem *本**傘傘lI傘キ$
牢傘車寧ネ零本傘零率率*喀傘零零本本本寧宰零本傘本傘本本喰率*牢襠*傘愈
零本傘本ネ4800 ii%=o : def geg : xzvar
ptr(41) : if x(−32768thenii%=x+6553
6 else ii%!X4810 call curs(co1%+
r OW%): print 5paees+791 : callcu
rs(cold、rem訓 : 1nput Please enter
5creen i t。
read″;il : qet#1,1t4820eallcls:CFI
IIreeser+ii%):callcurs(colX+rossχ]:
print ”Please 5elect 5oftkey or e
dit 5creen−4830return
4850 close#1 : open ”r″+jl、5ereend
rs+”DEFAULT”◆exts、1760 : field#1.1
760 as xs4860 def se(: xavarptr(H):
if x<−32768theni=x◆65536 else 1=
x4870 eall curs(cold、 ros:%l : prin
t 5paceS(791: callcurs(co1%+row%):
1nput ”Please enter defaultscreen #
to read”;il : get#1,114880 call
cli : call recscr(N : call cur
s(cold、row%l :print ”Please 5elect
5oftkey oredit 5creen”4890 close41
: open ”r”1#l、finames、1760 : fi
eld#l、1760aS λ$
4895 return
4900 def aeg + x=varptrO1): if x<−
32768theni=x+G5536 else 1=x4910 CJ
III curs(cold、row%l : print 5paee
s179): callcurs+co1%、ro%X%): 1nput
”Please enter 5creen j t。
5torellHil : call 5toserli34920 put
#1.il : call curs(co1%+ ro%:%): pri
nt 5paces(79):callcurslco1%+rOW%I:pr
int”Pleaseselectsoftkey or edit 5cre
en”4930 return
5000 rem *本寧本崖車傘宰 Datensatz 書替え
率**率本**本傘**京亀5050 call cls : cl
ose#8 : c2y))+ −r”+#8.’names÷”、5VA−7
0:field、’8.フOas vatS5110 closeJ19
:open ”r”j9.names+”、sPE”、1300 H’fie
ld#9,256 ms all、256 as e2$、256 as e3
!、25G ase4S、256 as e5S、20 as e6s5200
for zr%=14o 100 : goiub 9600 :
(osub 93005220 nver(3,zr%I=1var(1,zr
%l : nvar141zrχ1=ivar(2,zr%+5230 n
var+5+zr%l=2 : nz°5r(6,zr%Co : 1
l=ivar13.zr%l :12=ivar+4.zrX+
52401var(6,zr%1=intl(nvarI4+zr%>−nva
r(3,zr%l)/2+1152501var+3.zr%1=int目1l
−nvar(3,zr%))/2+1152601var14.zr%)=in
tl+12−nvar13.zr%目/2+1152701varζ5.zr%
l=o : Lvar(7,zr%I=o : 1var(8*zr%
)=O: 1fivar(3,zr%+<1 or 1var(Czr%
+(1then goto 53505280 for itl to
8 : print 1var(Lzr%)° ”; : nex
t i :print ” ”
5290 for itl to 6 : print nvar(L
zr%l” ”; : next i :print ″ ”
5295 print m1ds(vats、41.301 : hi$=
mids(vats、41.301+” ”5300 for itl
to 1var(6,zr%)5310 11=livIIIr(1,zr%1
−1801/2+15320 re(il=reri◆ill : pr
int re(ill’° ”;5330 next i : pri
nt ” ” : print ”ok? j” : as=in
puts!11: if as(>、i” then goto 54205
340 for i:1varlLzrχMl to 321 : r
efil=o : ne>:t i :goto 5400
5350 for i=1 to 10 : iv畠rli、zr
%l=o : n〜1ar+i、zr%):0 :next 1
5355 for i=1 to 321 : relil−0:
next i : print ” ” :print zr%;l1
erased″5360m1ds(his、1.30ン:“”・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・パ。
5400 gosub 9510 : gosub 94005410 ne
xt zr%
5420 close#8 : close#9 : (oto 10
006000 rern ’i$零傘率率申牢傘率システムプロンプトの1
18 傘車*本1車率*********601(l call cls
: print ”Enter file +1=vsp 2=
vki 3=vbi4=reg 5=haど
6030 1nput hl : 1filetyp:hl : p
ointerX+261=o :poir+Ler%(25)−0
6040if hl:1 then file$=names+’°、s
sy”6041 if his2 then files=names
+”、ksy”6042 if his3 then file$=n
ames÷°−、b 、 、、 11604−1 if his4 th
en filefi=narneS+”、rsy”604S if hi
s5 then files=narnes+”、hsy” : go
to 70006060 closej8 : open ”r”、
18.files、256 : fieldl、256 asxa
6210 for i:1 to 30 : g*tj8.162
20 for 1i=1 to 3 : l=cv11mids
(exs、file4−83,2116230 formats(i傘3
+ii−3)gmill−3)$、ij零84−81.116240 ne
xt 1i
6250 next 1
6300 for i=1 to 2 : get#8.i+30
6310 for 1i=1 to 12? : 1con(i
*127+ii−127)=cv11−127)=cvi1本2−1 、2 )
)
6320 next 1i
6330 next 1
6340 for i=l to 3 : (et4B、i+32
6350 for ii:1 to 63 : re1i傘63
÷xi−631=Cvs(midslexs、ix$4−3.4+1
6360 next 1i
6370 next 1
64001nput ”Please 5elect pa(e”;5eite
: if 5eite>14 orseite<1 then got
o 64006410 call cls
6450 for i=1 to 106454 if 5eite=lo
then for 1i=1 to 10 : cold二は1−1)$7
:rowχ=iネ2−2 : call curs(cold、rOWχ
l : print usincrosxχ;1本2−2 : ca
ll curslc、o1%、rowel : print usin
g”###:##;”1icon目玉−1)傘10+ii+1001 : ne
xt ii : pot。
6456 if 5eite=12 then for 1i=1
to 10 : cold”(ii−11’7 F
rovχ=i*2−2:callcurslcolプG、rowel:prin
tusing”####念#4°’;1conNi−N率10+ii+2001
: next ii : tot。
6458 if 5eite=13 then for 1i=1 t
o 10 : co1%=lii−11本7 :rowχ;1本2−2
: call curs(cold、row%) : print
using”###t、#”’Hre(li−11ネ10+ii) : ne
xt ii : gato 64フ06459 if 5eite=
14 then for 1i=1 to 10 : co1%
=lii−11寧7 :ro%:%=i*2−2 : call curs
(cold、row%): print using”JHL##”;re(
(1−11傘10÷11÷1oo> : next ii : got
。
6460ca1%=O二row%=i*2−2:callcurs(cold、
rowel:printformatsl i÷101(ssite−1064
70next 1
6500 ca1%=O: ro賢%=21 : call curs(
cold、row%):print”format page′1;5eits
H” Please 5elect 1ine or999=exjt 8
8B=store 77フ =ne警 pa究e”6510 1nput
hl : if hl=999 then goto 10006
5:’Oif hl=888 then (oto 66006525
Hhlニア77 then goto 64006527 if 5
eite=10 or 5eite=11 or se工te=12
then calleursrco1%、row5c) : print
5pacesr791 : callcurstco1%、row%)
: print ”formar”;1conlhl);” new
”;: 1nput 1conlhll : goto 6500652
8 if 5eite=13 or 5eite=14 then cal
l curs(cold、row%):printspaces(791:ca
llcurs(cold、rowel:print”former”;re(h
ll;” new”H: 1nput re4hll : got。
6530 if hl>14 or hl(1then (oto 6
5006540 ca1%=O: ro″X=hl*2−2 :、p4+for
matS(hl+10*(ssite−11): 1eer=70 :
gosub 300006545 for+natsThl+10宰1seit
e−111=inS : goto 64106550 シoto 65
00
6600 for i=1 to 30 : hls=ipices+2
561 : print ”5tore”;16620 for 1i
=1 to 3 : 1=len+formatSli*3÷1i−3)
):m1dslhlS、ii孝84−83.21=mkis(l1663(+
m1dS(hls、ii傘84−81 、l 1=formatS(i*
3+1i−31664Q next ii : 1aet exs=
hls : put =8.16650 next 1
6700 for i=1 to 2 : hls=spaees
(2561: print″5tore”;i+30
6710 for 1i=1 to 127 : m1dS(hl
S、ii*2−1.21=mkiSlicon+i$127+1i−12731
6フ20 next ii : 1aet exs=hls :
put48.i+306730 next 1
6800 for iJ to 3 : hl$=spaces(25
61: print”5tore+;i+32
6810 for 1i=1 to 63 : m1ds+hl
s、ii寧4−3.41=llIksS(re(1*63◆1i−631168
20next ii : 1set exs=h1s : puu
8.i+326830 next 1
68−10 close#8 : print file close
d116850 yoto 1000
7000 rem t*率率率基本的システムファイlしのg薬 *’傘*本率
卑率本本牢京*零率寧宰宰軍7050 close#ε : open ”r
”j8+files、256 : fieldl、256 AsxS
7090 hls=spaees(2561: m1ds+hls、l、21
=mkiS(0)7200 for i=1 to 50 : gat
J8.i : l=cvi(mids(exs、1.2/1):if l(
1or 1)255 than 1=07230 formats(il=
mids(ext、3.117250 next 1
7300 for C1to 4 : get#8.i+507310
for 1i=1 to 63 : reli寧63+ii−6
31=c11−631=cvs(、ii”4−3・4′17
7320 next ii
フ330 next 1
7340 for i=l to 2 : (et#8.i+54735
0 for ii:1 to 127 : 1con+i$127+1
i−127÷3001=cvi(mids(e:二S、ii傘2−1.2目
7:M’+Onext ii
?370 next i
フ−1001nput Please 5elect page”;5a
ite : if 5eite>8 0rssite<1 then
goto 74007410 call clg
7450 for i=1 to 107455 if 5eite=G o
r 5eits=7 then for 1i=1 to 10 :col
χ=lii−11ネ7 : row%=1率2−2 : call
curs(cold、rowel: print usin(”Iga、#
H”:reHl−1)*10+H+(seite−61率1001 : n
ext 1i7460 if 5eite=8 or 5site=9 th
en for 1i=1 to 10 :calχ=(ii41傘7 :
row%=i傘2−2 : call curs(cold、rOW
%1: print usin(”##u#”;1con((i−N傘10
+ii+(ssite−8)ネlOO+30(1) : next 1f
7465 if 5eite<6 then co1%=O: row%:
i*2−2 : callcursCcolχ、rowel : pr
int formatsli+10傘+5eit?−11)7470 ne
λt1
75(IQ co1%=O: row%=2] : call eurs
ico1%、rowel : print”pagLe”;5eite;
” 5elect 1ine or 999=exit88B=e
tore 777 =new page 666=copy”7510 1
nput hl : if hl=999 then goto 1000
7520 if hl=888 then goto 76007525
if h!=777 then goto 74007526 if
hl=666 then call curs(co1%、rowel :
printspae、es(791:callcurs(col]鴬;+r
Ow%l二1nput”QuelleZiel”;h3.h4 : if
h3<50 and h4<50 and h3>Oand h4
>0then formatSlh4CformatS(h3): got
o 7410 else (OtO)527 if 5eite=8
or 5site=9 then call curs(co1%、r
owel :print 5paces1791 : call cur
s(co1%、 row%) : print”former”;1con
+l+11B” new”; : ’hrput 1con+hl+
3001 :goto 7500
7528 if 5eita=6 or 5eiteニア then ca
ll curs(ca1%、rowel :print 5pace$+79
1 : call cursTco1%、rowx) : prtnt”
former”;re+hllH” new”; : 1nput
re[hl) 二 got。
フ500
7530 if hl>10 or hlくl then (ot
o 75007540 ca1%=o : rowX=hl*2−2
: ins=formatsihl+10率1ssite−1目: 1ee
r=70 : gosub 300007545 formatsrhl+1
0本+5site−111=inS : goto 74107550
goto 7500
7600 print ”File”;files;” is 5tored
”7610 for i=1 to 50 : hls=spaces
(256176201=1enlformatSTi)) : m1dslhl
s、1.21=mki$(117630m1ds(hH,3,1)=forma
tS(i17640 1set 5xs=hls : put jlLi7
650 next 1
7700 for i=1 to 4 : hlcspaces125
617710 for 1i=1 to 63 : m1dS(
hls、ii本4−3.41=nnksS(reii傘64+1i−6411
?720 next ii : 1aet exs=hls :
putl、i+507730neニーti
7750 for i=1 to 2 : hls=spaces
+25617760 for 1i=1 to 127 : m
1ds+hls、ii傘2−1.21=mkiSlicon(i*127÷1i
−127÷300 ) 17770 next xi : 1set
exs=hls : put#8.il547780 neXt i
フ790 close48 : print ”file clos
ed”7800 goto 1100
0re ”*本*掌率車率***宰傘ネ大文字変換 C零本本本零傘本傘
本本本宰倉本傘車本傘京市本傘本傘傘フ900 11=len(in!+
7910 for i=1 to il : 1a=aspslin$山1)l
: if ia>96and is<12’3 than 1a=ia
−32フ920 m1ds(ins+i+1)=chrSlia) :
next i : returnrem 傘本本本亀率*零寧京庫ヰ率傘
”−1r−5ベル傘率率寧寧率*章率傘零***牢本本本本率傘本寧傘本寧87
00 if 1enlhl’Sl<160 then hls=hls
+5paces(161−1en(hlsl+8〕05 for i=1
to 8 : m5=strs(il : h2s=chrs12
71+”&fOa’°中mids(ms+2+l+÷”k16dlL”+m1d
ifhl$、i車1B−15,161÷chrsT17+il : pri
nt h2S; : next 18710 print chr
s+2〕l; ”&、jB−H: returnrem 掌傘車*率**傘
率本宰傘宰率寧率本本**宰傘本*率車本ネ零本傘本*傘零寧傘零*ネ傘章*寧
港宰倉率傘率愈8800 1i=lidr−1115+ift : 1nh
plii)=inhpTii++1 : 1finhp(iil>128
then 1nhp(ii!=12888101i2=int目1nhp(ii
)−11/321 : 1i1=inhp[111−ii2傘32:112=i
i2+(ift−1)傘4+1 : if 1i2=o or 1i
l=o then8820 m1ds(f11enarne$(if2>、
ii1*8−7,8)=midSlhlS、1.8) :rem 傘本率率*
******傘ドライブエラー読取す 零*傘車率本傘本寧***傘
*京京傘傘車8900 resume 89108910 print
”Error reading drive ”;h3s;″ a=a
bort r=retry”;err;” ”;erl : as=i
nputs(118920if as=”a” then 919089
30 RaS=”r’° then 90108950 print ”
Drive ”;h3S;”contains no file : a=
abortr=retry ” : as=inputsl]l :
goto ε920rem tread directories an
d 5tore in random access file
h
9000 h5s=”a:b:c:” : h2s=”X5DKP”
: 1ns=initialens :gosub 7900
9005 for 1dr=1 to 2 : a%=O: b3
s=mids(h5s、idr*2−1.21 :11=o : hls
=””
9010 on error (oto 8900 : close#
1’: open”o”、#1.h3s+”5ystern” : cl
ose#19015 print h3s : pfads=h3s+
”(*″: iilo : finames=”” :i : f
or i=] to 5 : 1nhp((idr−11卑5÷1)=O
: next i9025finames=””+”°’二defset9
050 while aY、=09055 if 1l=1
then 90659060 11=1 : call 5u
chf(a%、pfads、finaraesl : if a%=18t
hen 8950 else 90709065 finame
s=” ”+” ” : callsuehn
(a%ばinames +
9070 hlS=finameS+5paeeS+12)9075
if 1dr=1 and rnidsfhls、1.41=llPL
OT” then printhls : i=asc(mids(hi
s、6.1))−64: print”5poo14i1e”;i; ”
read inl′ : if i>painter%1lland1<
20 then pointer%(1)=i9125 1f
ins<>m1ds(his、11.21 then 91509130
for 1ft=1 to 59135 if rn
idsihls、10.ll=mids(h2$、ift、11 then
gosub8800 : print l+1”;his9145
next 1ft9150 wend
9155 close#l : open ”r”jl、names+”、
DIP、”、8 : field#1,8as direntryS
9160 1i=fidr−11本5*12B+1 : 1i2=1 :
1il=19165 for 1=ii to ii+5il28
: 1il=iil÷1 : if 1il=33 the■
iicl : 1i2=ii2÷19170 hls=+r+idsばil
enames+1121.iilネ8−7.8+ : 1setdirentr
y$=hls : put#1,19175 next i : c
lose普1 : for i=1 to 20 : filena
mes(il=”: next i : direntrys=”1I
9190 next idr : x=fre(””): on err
or goto O: return9300 rem *ネ傘スペクト!レ
ワークファイルからのre(lの読取り 傘傘本本傘京*傘傘9305 if
zr%<1 0r Zr%>141 then zr%=19310 g@
t #9.zrχ : 1l=o : 12=o : dnr=1
: n5=els9320 for vl=1 to 320
: 1l=iヨl−: 12=i2+19330 re(i11=c
vs1mids(ns、12本4−3.4)>9340 if 12=G3
then dnr=dnr+1 : gosub 9360 : 12
=09350 next wl : return93GOif di
r=2 then n5=e2s9365 if dnr=3 the
n n5=e4s9375 if dnr=4 then n5=e
4s9375 if dnr=5 thei n5=e5s9380
if dr+r=6 then n5=e6s9390 retur
n
9400 rem 11本本本 ワークファイlレスペクト!レスドア
*率本本**ネ傘本本傘**9402 if zr%<1 or zr
%>141 then zr%=19−110 11=o : 12=
o : nvar(1,zr%1=9999 : nvar(24r%
)=−9999: dnr=1
9415 m5=space4125219420 for wl=1
to 320 : 1l=il+1 : 12=12+19425
mids(ms、i2本4−3.41=mksS(re(ill)943
0 if 12=63 then gosub 9490 :
dnr=dnr÷1 : 12=09445 if re+il+<
>Othen if nvar(2,zr%)<re(it) then
nvar(2,zr%1=re(il)9446 if rel、11<>
Othen if nvar(14r%Drelill thennvar
(1,zr%1=relil 19450 next wl : 1s
et e6s=mids+ms+1,2019470 put ”Lzr
% : gosub 95009480 return
9490 if dnr=1 then 1set els=midslrn
s、1.25219491 if dnr=2 then 1set
e2s=+n1ds(+n!、1.25219492 if dnr=3 t
hen 1set e3s=mids(ms、1.25219493 if d
nr=4 then 1set e44=mids(as、l、252)94
94 if dnr=5 then 1set e5s=!lIid
5rms+1+25219498 return
9500 rem $1”” 7 77アイル変数ストア本率本本傘本本軍**
*9502 if zrX<l or zrX)141 then
zr%=19505 get 8B、zrX : his=mids
(vats、41.30) :nvar(2,zrX>=1
9511 if nvarll、zrXl<−999then nvar
+1+zr%)二〇9515 for wl=1 to 8 :
rnids(ns、w1本2−1.21=mkiS(jvar+wl、zrX1
1 : next w19520 for wl=1 to 6
: +n1dS(ns、sx1章4413.41=mkss(nvar(
wl、zrX11 : next w19535 m1ds(ns、4
1,301=hiS9540 1see X’at5:ns : put
#8.zrX9550 return
9600 rem 傘率牢傘本本傘寧 ワークファイルがらの変数読取り
率零本11*隼意傘9605 if zrX<1 or zrX>
141 then zrk=19610 get 18.zrX
9620 for wl=l to 8 : ivar(wl+zr%)
=cvilrnidS(vatS、wl率2−1.2)): next wl
9630 for wl=1 to j: nvar(wl*zr%)=
cvs(mids4vats、hl卑4+13.4+1;nextw1
9660 return
9999 end
10000 rem *本*傘本京傘新しい計算のクリエイト 本市ネ
*傘*本本寧率傘本本*II傘牟倉10010 co1%=O: row%
=21 : call curs(co1%、rOW%l : p
rintspaces口591:callcurslcolX、rowH301
00corr+X=co1%+1p−1: if cam%>80 th
en corn%=:om%−80:10020 print ”Geb
en Sie das Eroeffnungspasswort”
:hlS=inputs(61: if hls〈>”axolot”
then goto 999910022 close:l : ope
n ”r”jl、”default、hsy’°、256 :field#1
,256 as exS10025 for i=1 to 20
: get#1.i+55 : row%=i : callcur
s(co1%、rowXl : print i、m1ds(exs、20,
81 : next 110030 rowχ=21 : call c
urs(co1%、 rowXl : printspaces(1591:
call curs(co1%、ross%l : 1nput ”Ge
benSit die Kontonurnmer”;Konto% : i
f )Conto%>20 orKonto%’、Othen goto
1003010040 call curs(ca1%、 rOW%)〉1in
t 5pacest1591 : callcurslcolX、rowXl
: 1nput ”Geben Sie d@n Namen (8Zei
chenl und die 工n1tialen 12 Zeiche
nlIH;nameS、1nitial@ns : if lenl
names+)8 or len+1njtjalenSl<>2 tbe
n goto 1004010050 call curs(co1%、r
owXl : print 5paces+1591 : callc
urslcolX、ross%l : 1nput ”Geben S
ie Ihrpersoenliぐhes Passwort 16
Zeichenl”;passws :hls=spocesI2561
: if 1en(passsxs)(>6 then got。
10060 m1ds+h1g+20.81=nameS : m1ds(
his、18.21=initialenS: rnlds(his、1.6
1=passsxS100]O1set exs:his : put#
1.にonto%+5510080 close#2 : open
”r”j2.”a:”+nameS+”+hsy”、256 :fieldj
2,256 as ex2s10090 for i=1 to 54
: get#1.i : 1set @X2S=exS : put
B、i: next i : close4210100 goto
9999
30000 rem 傘*11本傘本本本本ル−チンの入力 本車本
本傘傘傘車本傘傘傘*零傘***車零傘30010 1p=1 : 1ns
=o : on error goto 30900 : co
n%=73 二rOX%=row%
30020 call curslco1%、rossχl : pr
int ins;sp*cesrile*rl :call curs+
co1%、rowXl : i1mox=len(inslrem 庫率
率傘率率**本傘**ネ寧率寧率*ネ本ネ車ネ傘本嵩ネ宰本本率本零*寧ネ零★
*本本傘本本本傘愈傘卑ヰrcx%:rowXl1elserox%=rov%
30102 call curs(com%、rots%’l :
as=inkeys : if 1en(asl=1then (oto
30120
30105 if 1enlasl=2 then goto 3012030
110 goto 30100
30120 if as=ehrs1271 then 1ns=1 :
as=” l1else 1ns=030130 if as=chrs1
1271 then goto 3050030200 1a=escTas
)
30210 1f 1a=13 then goto 3030030230
if 5a=8 then if ip>1 then 1p=ip−1:
coI11%=co1%+1p−1: gota 30100 else
goto 3010030250 if ip<=iliax and 1ns
=Othen m1ds(ins、ip+1)=aS :prir+t aS
: 1p=ip+1 : goto 3010030260 if
1p(=iln+ax and 1ns=1 then 1ns=
ins+” ” : forii=1enlinslfl to ip
5tep−1: m1dsrins、ii+1.11=midSlinS、ii
、11 : next ii : m1ds(ins、ip、1)=aS
:goto 3(1020
302701ns=ins+as : i1max=ip : 1p=ip÷
l : print as : got。
30300 if 1ns=”exit” or 1nS=”EXI丁
” or 1ns=”5TOP” orins=”nein” or 1
ns=llstop” then 1nerr=1 : goto 40000
30310 if 1nz=o then goto 3040030320
eing=valrins130400 return
30500 if ip>1en(insl then goto301003
0510 for 1i=ip to 1enrinsl−1: m1ds(i
ns、ii、11=mjdS(inslii+1+11 : next
1i30520 hls=ins : 1=lenrin$)−1: ins=
mids(his、1+1) : got。
30900 print ”1nput error” : goto 1
00040000 print ”end” : endrem ws
市本II MICHFITソフトウ@7 : comvar、bas
l率*ram *lt*** p者 : Eruno Mi
chel *********rem 本**零寧*本傘傘傘*
率率*ネ本寧ネ*宰率率*率*本本車零本本傘率本京本章本傘本本本車*傘車率
零率率ram *京率寧零車率本傘傘零欅宰本傘零零京率傘キ本傘零率★ネネ
零拳傘ネ零零傘車孝傘業隷本オネネ重率碓宰ネ牢rem グロ
ーバル変数の限定。
rem 率傘宰本ネ本本傘本*零事率零本*市本寧車率本本率率率本率本京本傘
本本**本本率**本率本本零富率傘本零ram optiorIbase
1 5tart countin(from l for arraシ。
numberinq
rem defint xIJ+w1t all variables 5t
artin(wit)I L、1IW1trern
1ntsシsrrem dim forraatsr901゜rem
s>°ms+101゜
rem 5yss+1OL
rem 1nhalts(101゜
reffl beschrs(201゜rem macros120)。
rem filename$(201rem dim 1con(45
01゜rem idrive(201
rem dim psym(101゜
rern dmaxrlol。
rem 5tift%+101゜
rem tl+301+
re+n tquel 101 +rern 5que+201+
rear 1nhp!101゜
rem c(101
ram dim dx(10,332+。
rem dy(10,332)+
ram pg(30)+
rem py、u#(SL
ram pyl#(SL
rem pxo#(51+
rem pyr#(5)。
rern pgx(301+
rem pgy(301番
rem pga(30)
rem dim 1var(10,100+。
rern nvar(10,1001+ram 1dat(101+
rem 1dx(128)+
rem 1dyl128)。
rem 1dp(12B+。
rem pointer%+30)。
rern 1u(1001゜
rem iprlool
ram *傘傘書車廖**本傘*傘傘傘傘傘II傘傘傘本*璋車寧傘率**I
I傘車傘車傘零*本傘本摩傘書**傘宰宰宰*傘rerrl
共通変数rem *ネ車寧傘寧率市傘市廖車室傘寧率率$本傘傘本零*
傘傘傘本率率*傘車寧傘本本傘寧傘本本本率傘本*傘本*率rem comm
on pinit。
rem forts。
rern t+nod。
rem taus。
rem teir+、teart、1datl )rern common
namel。
rern 1nitialen$。
reIII prets。
ram datsts
rem anztit。
r@z anzspek。
rem autoscala。
ram 1nterpolate。
rem anzeige。
1@@ default
rem common 5oftk。
rem anzart。
rem offo%。
re+y+ offI%
rem common formats口。
ren Syms+ )。
rem 5yss(1+
rem 1nhalts()。
rem bescbr$lL
rem rnacros口。
rem filenames()
rear colllmon 1con(+。
rern 1driveピ)
ram co+nmon psyml 1゜rern dmaxN+
r@o+ 5tift%(1゜
rem tl()。
rem tque()。
rern 5quell。
rem 1nhp+1゜
16m cllot
rem common dxCL
rem dso()。
reIIIpgH+
ram pxu!11゜
rem pyl#ll。
rem pxo#ll。
rem PAL“rf(11
rem pgxf1+
rem pgyll。
rem p(all
rem common 1vsr(1゜rem nvarl)+
rern 1dx(+。
rem 1dyl+。
rem idp口。
rem pointer%f L
rero fun。
rem ipl 1
rem 率*零*零本本傘案本零傘本本*富本零傘傘****本本京*車率本*
京*寧率電京傘傘*宰寧寧傘宰本ネ零宰rem ソース
コードの開始rem 車本本率本本傘本本本傘*傘**車章ネ*本宰孝*本率本
本本本本本本本*傘*ネ本本***傘零宰率*率率ネrem富本$零市車寧*傘
*傘変数のディクレユション *零**率傘1j*亭ヰ*本1oo
option base 1
ios defint iJ+W+t
110 dim forrnats(901,syms(101,5yss(1
01,1nhaltS(101+besehrs(201,macros(20
1,filenamesζ20)112 dim 1con+4501,1dr
ive+201115 dim psym(101,diaxllol、5ti
ft%1101.tl(301,tqueflol+5que1201.1nh
pf101.cilo1120 dim dx110+3321+d1°+10
.3321.pc+301.pxu#+51.pyl#151゜pxoA+51
.pyr#151+psx130++pgyl 301.pga+301125
dim 1var110,100+、nvarllo、Zoo)、1dat(
101,idx+1281゜1dy11281,1dp(128)、point
erχ(30)、iu+Zoo)、iprloo)rem *寥*零事寧11
*傘車車事**零零共通のディクレージョン、 本本率零牢零本車亭本才傘牢
140 eommon pLnL tIfOr tS+ tmOd+ ta
uSTtexnljear t+ ida t(1145common na
mes、1nitialen$、prets、datsts150 comr
non an:(em、anztit+anzspek、autoscale
、1nterpolate。
anzeiae、default
152 common 5oftk、anzart、off6%+offi
%160 common formats口、syms(++5yssl l、
1nhalt1口、beschr&+ l。
m5crosrl+filenarnesロ165 cornmon 1c
on(1,1drive(+170 common psym()、dmaxl
l、5tift%0+tHl+tque(1+5Que目。
1nhpf l、cllot
175 COmn+Or+ dxl ++小’I l +pcT l +
pxu4 () + p>’l#I l + pXO# l@l t p>’r
a l l +
pgx口+Pgy(1+pμ0
180eoml’l+onivar!>、nvar(+、1dxTl、1dyl
l、idp+l、pointerり−N。
1ulL1+’■
rem 傘車キ*本率宰*1i*車本卑**率*本**車零率傘零率*ネ車零
零傘率車牢零寧零本率傘本章章率本本市本傘rem 傘宰宰京零*本 MIC
HFITソフトウェア: vki、bas ”零本章章本rem
寧宰傘傘傘**1餌者 : Bruno )lichel
寧亭宰**傘傘本rem *率車傘京車宰本*傘****孝零
本本本本章率本傘書京寧*幸本率本本本零零市中*寧車率本本率本本本孝傘re
m 変数およびポインターのりスト :rern *ネ*傘本*
***傘寧宰零本本本本章岑章本亭車室率率率傘書零零寧*宰本傘車富宰本率傘
傘傘ネネ寧傘傘車尊rem meanincof variables 5t
ored in workfile :remivarl:Measuri
ngs、+avelengthfromns°arl:Y−maximum o
f datarem 1vsr 2 : Heasurin(
%Xavelength to nvsr 2 F
X−maximunn of datarem 1var 3 : 0ut
put window +from paint 91 nvar 3:En
zyme concentrationrem 1var 4 : 0u
tput window (to point 81 nvar 4
:rem 1var 6 : 0utput windowはOpoint
= l nX’arε:3、 parsrneter of fjt
rem 1var 7 : Normalizin(waveユe
n1gtl’+ from nvar 7 :4、paramet
er of fitrem jvQr 8 : Norrnalizi
n(wavelength to nvsr 8 :5、par;tm
eter of fitrem 1v111r 9 :
nvar 9 :6、parameter
or fitrem ”率本牢市率率傘宰傘オ*寧傘傘II*禽*ネ寧*
本*掌京傘オ傘*本本率寧申本*拳傘寥*宰傘傘傘傘處零傘傘零rem
ワークファイルのデータ構造 :rem present :
rem 63 x points in condensed binary
forr++atreno 63 y points jn conden
sed binary formatrem each data set
is 5tored in two consecutive records
of the worlcfile
rem suggested :
rem 16 x/y points per record of 256
bytes 5tored 1ncondensed binaty for
rnatrem n times 5ucha a data block
per data curve asdcfir+el in first
randomrem aC:ces block of 256 byt
esrem each data set is 5tored in n
consecutive recordsor the workfile
reff、 11本率傘零本本寥傘*零牢率本本本**率隼ネ亭零寥率傘傘
*本傘ネ宰寧傘率率傘寧*本零傘車ヰ本寧練車寧rem システムポ
インター%(it) I能 :rem l : No、 of plo
ts in outputspool 16 :rern2:idm
axl)tax、No、ofc!rawpoints117:rern 3
: current macroline 18
;current direCt、 pagerem 1: Inter
preter On off 19 :current
menu
rf−n 5 : outputin process
20 :1niti1!11isation pointerrem
6 : position duriM 5trin(outputr
eml:
rem 8 : current 1nput pagerem9:
rein 10 :
remll:InputMenuupdaterem 12 : 0utp
ut menu updaterem 13 : Cont、ent me
nu updateram 14 : Plotsize menu up
daterem 15 :
rem 本本零率章率本率*本傘傘市牢零零京本*電本京*本傘本本率本本*
本京ネ*率傘率率寧**車幸本本*本本*傘rem ポインターおよびフラッ
グ
rem pinit 1nitialization perform
ed : this flagisset if the
rem common data area has bee
n initializedrem forts proceed p
ointer : this pointer is usedto act
ivate the
rem 1nput、 data handlin+g or
output menu whenthe data pro−
ren+ eessing 5ubroutine is a
ctivatedrCIT: tmc+d aCtive tr
ansformctjon +1−611”em La1n Q
CtiXHe 1nput de%’iee 11−61remtausa
ctiveoutputdevice(11−61re teart
file typerem 1dat
reffl name narlle of user (used
to 1dentify workfilelrerr、 1nitial
en 1nitials of user 1used for data
fileextensions)
rem pret name of callin(program
to bereactivated after termi−rcrr
、 an:Gem No、 of 1nput data files
to averagerem anztit No、of data
curves to be processedsiIIIultaneou
sly No)rem autoscale autoscalc fl
ag 110rem 1nterpolate 1nterpola
te flag 110rem anzcj(e actual pa(
e of data handlin< ff4nurcrn 5oftk
active set of’ 5oftleysrenI ofT
oχ roll 5tate of output menurem
offi’X roll 5tate of 1nput me
nurem format 11 prompts in desi
red language rehdfroro system filer
em durin(startuprem sym (I
user definable symbols read frot
o systemfiles during startuprem jnh
olt (l content of active directo
ry page(contains 32 fi、1enarnes of
the activefiletype (e、g、kinetic
fileslrem 1nhp +1 pointer for nu
mber of entries of eachfiletype in e
llch drive +5 filetypes 5drives1
rCm ml1lcro I) macros for comman
d languagerem fHename I )filenam
es are used to hand over feena
mes to the 1nput 5ubroutinereffl
ju ! l 5creen update pointers;
is used to 5torethe parts of the roe
nus that have to b@updated if the co
roputer is not busyrem ip () work
file update pointers; is used t。
5tore the records that have been cha
ngedrem *京**本*本傘*****率*零宰*本傘*本****
***本****禽率宰*傘本本m本***本零本率reIT+10 データカ
ーブ
rem tque (18ourc! re(tsters in 1npL
lt alld outputrem dmnx (l pointers
for the number of data pointsof eac
h data
rem curve (1−16ネblock 5
izelvc++r d:< l 、 l array of data
pointsrem dy l 、 l array of data
pointsram **本*本率車宰ネ本宰ネ宰零京寧*宰ネ***ネ
*傘ネ本車本本本率京*ネ寧京率*愈本率ネ宰市本率ネ*卑rem
プロット限定 :rem beschr目annotate strings
、 title、 and 1abels ofrem tl N
string lengthsrem pg (l pga (I pl
ot definitions (see plotsubroutine p
l、exelrem pxu#(l pxo#(l minimurn、
maximum、 delta x and deltarem pyl#(
+ pyr#N minimum、 rnaximum、 delta y
and deltarempg\(l pgy fl 5izes of t
itle、 1abcls+ digits。
symbols and annotaterem id:; N idy
fl draw data points +integer x and
ylrent 1clp l l pen、symbol
or 1inetype of resp、draw pointrem
m零*率*傘零寧*傘率キ本*ネ率率牢本傘本*11傘庫*本崖**卓傘宰率
本宰本本率本傘本本本傘本本本岸本rem 1touchバタツチ/マウス)
フィールド限定 :reITl イコンC) フィールドの限
定Cメインルーチンをqaするha、exe)
rcm 傘*牢傘本率傘傘*傘寧傘*零率本本傘率京***本書**寧傘車*
本本本寧*寧零傘本本本市零*本率本零津ram ソースコードの開
始 :90 rem 5include : ’co+nvar’220
width 255
230 dim psllol、1nterpk(10)240 dim re
(5001,rex+5001.rey(5001,zr+101,1k(10
1,1st(lot245 xx=1: yy=1: zz=o :
smooth=2 : running%=1 : 1plot=0:
1lock=o : repeat%=O: ain1%=O: tou
chs=0250 onoffs=’° No YES ” : f
ilekenns=″X5DKP” :exps=”+i、eN−−−−”
: drts*”a:b:c:d:e:f:”2511nsavs=”In
terpreter on exit=” : pretS=”vki”
:if tein<3 then drive$=midsζdrt
s、tein”2−1+212555crndr$=rnids(drts、1
drive(1112−1,2) :dirdr8=mids+drt$ 、
1drive(21本2−1.21 7spooldrs=midsldrts
、1driver31本2−1.21260 sysdrs=mids(dr
tS、1drive(4)本2−1.2) : formdrs=mid$
(drts、1drive(5)傘2−1.21265 plpgdrl=r
nidHdrtl、1drivs(61車2−1.21 : mapgdr
s=rnidS(drts、1drive(71傘2−1,21 : re
pgdrs=mids(drts、1dri%’e(8)本2−1 、21
2751np(drs=mids(drts、1drive(91傘2−1,2
1 : bapgdrs=rnids(drts、1drive(10112
−1,2)280 p1otfdrs=mids+drts、1drive(I
ll率2−1.21285 idmax=pointer%+21 : co
rofile%=pointer%C3):jnterpreter=poin
ter%+41 : ime=pointer%1191290 if p
injt<>1 then goto 850300 close #6
: close A’7 : fieldf8,130 as vat
S :field含9,250 as els、256 aS e2S310
fieldmlo、8 as direntrys : field#1
4,1760 az 5creenS320 close #ll : c
pen ”LPTl:” for output as #ll len=8
0rcm 傘市市率*本傘宰傘港卓本寧 フォートによ!11MI
牢津*率率京牢ヰ寧330 if forts=o then gos
ub 4100 : gosub 1000 : 1p(201=13
4OLf forts=1 then gosub 1000350 i
f forts=2 then gosub 2000360 if fo
rts=3 then gosub 3000370 if forts:、
l then gosub 4000 : gosub 2000400
if forLs=7 then gosub 18500 :
gosub 3000470 if forts=8 then gosub
8000 : (osub 2000480 if forts>8
then gosub 4100 : gosub 11000re
*本露*率*率傘傘本車本本零零本零本本率*****率本京本傘本傘本車
率ネ*宰宰率率率零本本寧宰率*本*傘傘率ネ率**寧**傘傘傘11*率零本
本本傘寧傘率本**寧本本本率傘寧傘傘零宰寧寧傘傘本京宰*本傘傘*本宰*傘
500 while runr+iB%505 if vnrnz%>O
then gosub 6300510 if comfile%)Othen
as=+nacroslcomfileWl : comfile%=c
omfile%+l : if comfile%>21 then c
omfile%=0515 if comfile%>Othen gosub
4500520 if comfile%=Oand 1nterprete
r=1 then gosub 4500550 tshare=10 :
1leer=1 : 1lock=o : if comfile
%=o andinterpreter<>1 then gosub 50
00 :rem *宰宰傘傘**車warts auf Eing
abe *傘560 if ime(1or ilne>6 the
n ime=1565 if if1mg+o then 700570
on imc gosub 1400.2400,3400,6700,695
0.17400700 if painter%120)<100 th
en pointer%1201=pointer%1201+l :
zr%=pointer%(201: gosub 9800710 on
ime gosub 1025,2025,3025,990,990.990
790 wend
800 (oesub 900
830 if 1fort=1 then pointer!ci2)
=idmax : pointer%[3)=comfile% : p
ointer%(41=interpreter840 if 1fort=1
then pointer%(19):1rne : chain f
ortsrem 傘本寧傘零車車車 ハンド!レル−チン(’)f 9f)
終了 本倉車*零*宰850 close 66 : c
lose #7 : close #8 : close 49
:close#11 : close#14860 gosub
950 : call offtouch : call cls
890 prjnt ”Auswertun(sprogramm be
endet” : ’endrem 津****本本本章ネ*クリーンスト
リングスペース 章傘傘率*本率宰*嵩率章電*900 hS=”°’ :
hls=”” : h2s:”” : h3S=”” : h
4s=”” : h5S=f°°。
: )、5s、I’ll : h9s=”’ : hxbs=”’・: hxS
=・・” : hys=’パ・9101ns=”” : 1ntps=””
: forrnsx”” : 5sarns=”” : exS
=”” F
prompts=”” : close#1.#2.#3.−445.#6
.#79201=frel”’°l : return : rern
garbage collectionrcm 率本牢率*才傘零*ネネ
セイフ 電率率11本本*本章950
closeH: open ”r”jl、names+”JsY″、25
6 :fjpl、d#L256 ns exS : hls=spaces
f2561955 1”ar 1i=1 to 100 : if 1u
(iil=o thenmids+hls、ii、1)=”O” else m
1ds+hls、ii、11=”1°゛960 next 工1
965 for 1i=10+ to 200 : if ip+1i
−1001=Othenmids(his、ii、1)=”O°’ else
m1ds(his、ii、11=”1”970 ney、t ii :
1set exs=hls : put#l、36 : close4
1 :print ”5ave currer+t 5tatus? (y
/n)” : as=inputsfll: if as<>°’y”
then on error (ota 988 : kil
l”a:”+nameS+I1.KST’″ : goto 989975
open ”o”j]、”a−+nameS+”、KST” : for i=
1 to 10 :printH,tque(il : next i
: for i=1 to 10 :printjl、psymfil、
5tift%lit : next 1980 for i:1 t
o −IQ : printjl、pointer%4i1 : ne
xt i :printjl、tein、teart+anzgem+anz
tit、tmod、taus、auLoscale 、 1nterpolat
e 、 An:ej ge 、 anZart 、 tein 、 teart
、 anzgern 、@an
ztit、tmcd、taus、1nterpolate、anzaige、a
nzart982 printsl、formats1151 : pri
nt±1.formats116+985 pg+81=o : 1sav
=anztit : anztit=o : gosub 8035
:anzt1t=isas・
986 return
988 resume 989
989 on error goto 6000 : goto 9869
90 return
rem *傘傘傘ネ*本本本本本*希京本牢本宰京京*傘零*本本*率*本本
率市*市寧率率本*本**本本誰傘寧傘牟本rem サブル
ーチン/プロデユースreffi 孝*率傘本本*率零本本***傘寧率寧宰
事寧ネ*孝室本*ネ卑本傘零本ネ**本傘*車率*牢零率傘本率本本京rem
電率*本*牢宰寧4**辱啼傘 入力メニュー **零傘率本ネ本
傘*宰寧傘車本傘本率1000 on error goto O:
if ime+=1 then 10201005 call o
fftouch : call alpha : def sPa
: getj14,1 F
call cls : 1l=varptr(#141 : cal
l recscr+il+1010 1mp=1 : gosub 1
1+500 : hlS=formatS+11+forrnQtS121
:H=1 : (osub 8700 : rem cal
l keylabe11020 1p(19C1: pointer%N]
l=o : return1025 if pointer%1111
>20 then return1030 pointer%+ 111
=pointer%rlll+1 : if ip+pointer%T
1111=Othen return
1040 on pointer%(111gosub 1200,12
05,1220,1225゜1250.1250,4200,1300,130
0,1300,1300,1100,1100,1100゜)100,1100
,1100,1100,1390.6800rem 1
2 3 4 5 6 7 8
91045 1p(pointer%1111)=O: if point
er%(111<19 thenip(201=1
1047 return
1100 return
1150whilepointer%(111<21:gosub1025:w
and二returnrem *京車率本オ京零車−フロック1t**零零牢
傘傘傘零率車*ネ傘傘*本傘*傘京率處市宰寧窯本零章寧寧埠+200coH4
=22:row%=2:callcursfco1%;、rov5cl:pri
ntmidslformats1291.tein$1O−9,101;”
” : return1205 co1%=64 : row%=2
: call curs(colX、rovkl : printmi
dslformats1301.teart*15−14,15);” ”
: return1220 co1%=22 : row%=4 :
call cure(colX、row*): print ””劃nzge
III;” ” : r@turn1225 co1%=64 :
ros:%=4 : call curs(colX、row%) : p
rjnt ’。
”;anztit;” ” : return1250 j=po1n
t、er%11ス)−4: ros/%=6+2*J : co1%=ユ
9 ;hls=tpaces1621
12SD nt、st i : call curslco1%、
rovkl : print his :1300 j=point
er%’+ 111−7 : row%=12+2傘J : hls=
spacesf801)305 for C] to 8 : m1
dslhls、i*10−9.81=midS(inhaltS+11,1.1
−11ネ64+i傘8−7.811310 next i : eo
lχ=0 : call curs+co1%、rob−XI :
if 、j≠S
then m1dsIhls、02,16+=” top ne;;t
p”1320 prir+t his : returnl:19
0 ro−χ=21 : eo1%=O: call cursf
co1%、rovkl : printspacesf1501 :
returnrem *本京寧零入カメニューコマンドに対するサブル−チン
車傘車本率*孝本寧1400 on error goto
6000 : if tein<3 and tein>Othan
drives=mids(drts、tein宰2−1.2)1420 ca1
%=O: row%=22 ; call curs(ca1%+rOW
%)1430 if tfeld)Oand tfeld<11 th
en gosub 14501435 if tarray>Oand
tarray<3 then gosub 160014401f
tsoft>Oand tsoft<9 then gosub 170014
45 return
relTl 市市ネ***京率傘傘 シングルフィ+lレドの動作*傘本車寥
市零本本オ寧京11本寓1450 pointerχ+111=O: on
tfeld gosub1460.14フ0.1480,1490,15
00.1510,1520,1530,1540.15501455 1pr1
91=1 : return1460 tein=tein+1 :
if tein>4 then Lein=11465 ip+1)
J : 1p()l=1 : return1470 teart=t
eart+1 : if teart>5 then teart=11
4751p(21=1 : 1p(71=1 : return148
0 prompts=’°?9° : co1%=23 : row%=4 :
in$=” ” 二1spa=3: gosub 3960 : a
nzgem=hl : ip+31=1 : return1490
co1%=64 : row%=4 : prompts=”?” :
1ns=” 、” : 1Bp6=3: gosub 3960
: anztit=hl : 1p(41=1 : ip+51=1:
:1pr6)=) : gosub 3766 : rsturn1
500 pre+mpts=formAts(19) : 1nS=”
” : 1spa=2 : gosubユ505 for 1:z t
o anztit : tqueri>=tquelll+i−1:
neXt i ;ip+51=1 : return1510 gos
ub 6800 : gosub 6500 : return152
0 gosub 6800 : gosub 6500 : retu
rn1530 gosub 4350 : return1540 re
turn
IF150 return
rern 傘率本宰**傘傘傘本 アレイの動作 本本京
本車率*本本本章11本寧専牢京傘本率牢1600 if tarray=
l then gosub 1610 else gosub 1
6551605 return
1610ip+20+=1:1=tcol:j=trow:iftrow>2t
henfot。
1620 row%=6+j*2 : co1%=i*6+14 : jII:
(j−1ド10+i : 1spa=3: 1p(51=l : 1p(
63=1 : gosub 176616.10promptl=”?”
二1ns=strs(tque(jlll:gosub3960:tqt+e(
jll=hl : if tque(jli<1 or tque(
Jll>99 then1650 return
1655 if trow=4 and tcoD6 than
1690 else print ”pleasPselect 5o
ftkey first” : 1p(191=1 : retur
n1660 1=tcol : j=trow : if trow
=4 and tcol>6 then 16901670 ro%
:%=12+、j亭2 : co1%=i本)0−2 : call
curslcolχ+rOW%l B
print ”本” : touchf4ftrow−11Q÷tco
11680 return
16901p(7)=1 : pointer%(111=O: ip+2
01=1 : 1ftcol=8 then pointer%(8)
=pointer%+8)+11695 if tcol=7 then po
inter%f81+:11697 return
rem ****** ソフトキー機能を実行するル−チン
本本零章本本1700 on tsoft gosub1720.1?40,1
750.1780,1800.1820,1840.1860fort$=ma
pgdrs+”ha” : ime=o : running%=o :p
ointerχ+111=21
1725 close#8 : close#9 : CIQ11e
#10 : close#14 : vats=”h
: els=”″ : e2sg”’ : 5creens=””1730
for 3−1 t、o 90 : formats(i)=”’
: next i : far 1=1to 20 : filenar
ne$li+=”” : next i : return1740 、プ
=1 : on error 1ota 6000 : print for
mats11611741 gosub 1900 : filenameS
[11=hlS : if 12=1 and 1l=1then h5=
touchf else h5+01743 gosub 1900 : i
f 12=1 and 1l=1 then gosub 1975 : 1
fhl=1 then 1743
1745 call curs(colX、 rovkl : print
filenames(11;”renam@d to ”;his;5pace
s(20+1746 name filenameS(11as his
: if h5<>Othen toucM=h5: gosub
1950 : gosub 1880 : return1750 go
sub 6800 : forts=1 : 1nu=l : if
tein=4 then callcls : forts=inpgd
rs+jIiki°゛: 1fort=1 : running%:0:
1751 print for+nats(111: on error go
to 60001752 gosub 1900 : filenames(
inul=hls : 1nu=inu+i : jfanzgem>
1 and inu<anzgem+1 and teart<>5
then 17521757 jf teart=5 or in
u>=anzHt+1 then 1760 else 175217
60 if tears>5 or teartcl then re
turn1762 if teart=5 then 17701764
gosub 6800 : ime=o : forts=inpgdrs
÷”iki” : 1fort:1: running%=0
1766 for 1=27 to 50 : 1p(i)=1
: next i : for C90to @99
: ip+1l=o : next 11767 for i:1 t
o anztit : 1u(tqueli))xi : next 1
1768 return
1770 reo+
1778 ca1%=O: row%=22 : call cursl
cal、%、row%l : print1780 7)rint fo
rrnatE(121: gosub 1900 : h2s=dri
ves+”r@BCut、s7B”
1785 on error goto 1797 : kill h2s
: co1%=o : row%=22 :call cursl
co1%、rossχl : print ”File ”HhlS;”g
aloescht”;5paces(2011787on error got
o 1798 : name his as h2s1790 on er
ror goto 6000 : gosub 1950 : gos
ub 4200 :gosub 1880 : returr+1797
resume 178〕1798 resumc 17901800
on errcr (oto 6000 : print formats
i131 : gosub1900 : gosub 6800181
0 filenames(11=hl$ : j=1 : call
C1!I : close#1 : o垂■■
”i”、#1.filenames(111812print formats
(14) : 1nputJ1.his ;print his1814
while not eof(1): 1nput#1.his :
print his181511ock=1 : gosub 5000 :
if a$=’°E’ or aS=”e” oras=+a” then
18191816 if ss:”p” then printj31.hl
s : goto 18141817 if as:”n” then
goto 1834 else goto 1ε151818 +yend
181911ock=o : ime=o : gosub 1000
: return1820 、j=1 : on error go
to 6000 : print formats[1511821gos
ub 1900 : filenameSlll=hlS1822 ga
sub 1900 : if 1l=1 and 12=1 then go
sub 1975 : 1fhl=l then print ”file
exists” : goto 18221823 call curs
(co1%、row%l : print filename$(11;”
1scopied to ”;hls : close*1 : open
”i”、#l+filenameS(11: close#2 : open
”o”、#2.hH1824while not eof(11: 1npu
t#l、h2s : print#2.h2$1826 vend :
gosub 1885 : return1840 on error g
oto 6000 : gosub 6800 : ime=o : eal
l cls1850 gosub 1000 : return1860
runningX=o : return1880 pointer%(1
11=O: 1p(71=l : return1885 pointe
r%flll=o : 1p(71=1 : returnren+
傘寓京*傘卓*本廖ストリングまたはタッチフィールド率率ネ傘本*本*傘傘率
傘傘寧傘傘市3900 eir4%=1 : gosub 5000
: if iflag=o then 1900 elseif
as=”E” or ms=”A” then print ”5
topped” : got。
1901 if tarray=2 then 1905 else
call curs(co1%、 ros+%I :print 5p
aee$+791 : call curslco1%、row%)19
03 prompts=”enter filename ? ”
: 1ns=”a:TEST 、IBM”: 1leer=14
: gosub 40000 : gosub フ990 :
ifmids(ins+1.1)=”E” then print ”5
topped” : goto 5001904 hlt=rnids
(ins、1.14) : goto 19101905 gosub
1660 : if pointer%(11)=Othen f
or 1i=1 to 18: gosub 1025 : n
ext ii : goto 19001907 hlS=driv
e$+m1dS(inhalt$(1)、touchf”8−7.81+”、”
+m1dS(filekennS、teart、1)+1nitialenS1
910 13=o : j4=o : for i=1 to
1en(hlsl : ifmids+hls、il11=”:” th
en 13=i1920 if m1dsfhls、i、11−”、”
then 14=i1925nexti:1fi3<>2ori4<>1
1ormidSlhlS、i3+l、14−i3)=spnceS(81the
n call curs(co1%、row5cl : print”try
againll : goto 19001930 if m1ds(hl
s、1.21=driveS then 1l=1 else 1l=019
35 if m1ds(hls、i4÷1 、3 )=midS (f 1le
kenns 、 teart 、 1 )+1nitialens then
12=1 else 12=01945 eo1%=O: row%
=22 : call curs(co1%、row%1 : pri
ntspaces(79) : call curs(co1%、ro%X%
) : returnrel 傘*本**本寧牢***寧寧寧*エントリーの
削除署傘本本傘本**本率書傘本率率本本傘**率**1950 12=t@a
rt+rtein−11傘5 : if tarray<>2 the
n returnget#10.ill1 : put#lo、il
: n5xt i :1nhp(i21=inhp(121−11965
gosub 4200.: returnrem 傘*零率ネ傘傘本*零*
*エントリーの挿入 零ネ本市傘本宰*零本**本本本本本本率*傘傘車零*1
975 hls=hll÷5paces(81: h2$=rnids(h
is、i3+1,14−i31 :i2=+tein−1)本5◆teart
1977 for i=l to 1nhpli21 : 1l=
rtein−11本640+(teart−1)率128◆i:gst#10.
il二1fdirentrys=h2sthenprint”file ex
ists” : hlsl else hl=01980 next
i : 1l=(tein−11*640+jteart−11本12
8+1nhpli211985 1s@t direntry$=h2s
: putglo、il : 1nhp(i21=inhpC12)÷1
1990 gosub 4200 : returnrem 京率本傘
本傘率傘*傘傘*傘傘*傘 出力メニュー 傘*零本本率11傘率寧本
本本本***本本*2000 on error goto O:
R1ns=2 then 20202002 call offtou
eh : call alpha : if anztit>10
thenanztit=10
2005 def seg : get&14,2 : call
cls : 1l=varptr+!141 :call rec
scrlil)
2010 1ns=2 : gosub 8500 : hls=f
ormats(311+formatS(321:11=2 : gosu
b 8700 : rem call keylabe12020
1p(391=1 : pointer%r121=o : retu
rn2025 j4 pointer%+121>30 then rett
+rn2030 pointer%(121=pointer%(121+l
: 1fip(pointer%Cl2)+20+=Othen ret
urn2035 if pointer%Cl2)>20 then 2050
2040 on pointer%(12)gosub2200 、2205
、2210 、2215 、2220 、2225 、2230 、2295
、2295 、2295 、229T 。
2295.2100,2100,2)00,2100,2100,2100,2
290.6800rern 1 2 3 4
5 6 7 8 910 11 12 13 14 1
5 16 1? 18 19 2020451plpointer
%r121+201=o : 1fpointer%(12)<19 th
enip(401=1
2047 return
2050.1=pointer%1121−20 : gosub 2905
: 1plpointer%1121+201=O: return
2100 return
rem 零本傘傘*オ本傘傘率傘本率プローtり1 傘*率車宰京傘**零本章
寧***孝本1111傘率電珍2200 ca1%=27 : row%=o
: call curs(colχ、 row%) : printmids
(datst(! 、201;’° 掌* Benutzer :
”;midsiname!。
1.81;″*傘本京本率” : return2205 co1%=22
: row%=2 : call cursico1%、rowx+
: prxntmids+format$12?1.、t+r+od傘13i2
,131 : return2210 ca1%=64 : r
ow%=2 : call curslco1%+row%l
: ’pr奄獅■
midsばormats(28)、taus傘10−9,101H1′” :
return2215 ca1%=22 : row%=4 : c
all curs(co1%、row%) : printmidslo
noffs、aut、oscale*6+1,6): return2220
colχ+=64 : robバζよ4 : call c
urs(co1%、ro−%) : pri獅■
micls(onoff$、default率641,6): return
2225 co1%=22 : row%=6 : call curs(c
o1%、 rot:X) : printmidsfonoffs、1nte
rpolate*6+1.6): return2230 colχ=6J
: row%=6 : call cursfco1%、 rOWχl
: print ””;anztit;” ″ : return229
0 ro%+χ=21 : ca1%=O: call curs
(co1%+rO’−’%l : printsr−aces11501:
returnfern **@車11津率寧率軍事率率ネ寧津本本 シング
ルライン 車本率零本零本本傘本章蓼本慮嵩諺寧率2295 、j=poi
nter%+121−72300 i=J+offo% : forms=
forrnats(35) : colχ=O:row%=j孝2+10
: call curs(co1%、row%)2310 if i
>anztit then print 5pace!+160) :
goto 23902320zr%=tqueli)二gosub980
0:ifi=1thenenzss=midslvats、111.19)23
30 hl=abs(nvar[3,tque(i))) : if
hl<0.001 or hl>99then midSrformS、3
5.12)=”+、t###−−−− ’。
2340 hl+=absln%−arll、tque(i>)l :
if hl<0.1 0r hl>999 thenmidS+form
S、59,121=”+、####−−−−++2360 print u
sin(forms;tque(il、m1dslvats、61,171.p
sym+1)+5tift5c(i)+nvar(3,tque(i)l、nv
arll、tque(i )l、nvarIs、tqueTil 1,1var
13.tque(iN−1,1var+4.tquel il 1−12370
row%:j傘2÷11 : call curs(co1%、ro
ss%12380 if anzart=2 then print
usin(formats(361;m1dslvats、?9,21.n+
1dsCvats、81.103.m1di(vatS、91.161.m1d
slvats、111,141.r+var(2,tqueli口、nvar(
9,tque(i))、nvarll0.tqueljl)、nvar+6.t
queri)1.1var+5.tque(ill elseprint
5paces1791
2390 return
rem *本本本本*出カメニューコマンドに対するサブフレーチン
本傘本本本寧2400 row%=22 : ca1%=O: call
curs(co1%、rowχ): printspaces(79):
pointer%(123:02405 rowχ=O: call cu
rs(co1%、rosx%l : row%=22 : callc
urs(co1%、row%)
2410 if tfeld>Oand tfeld<16 then gos
ub 24372420 if tarra>°>Oand tarray<2
then gosub 26002430 a=tsoft : if
ago and a<9 then gosub 27002435 ret
urn
rem *オ傘章本率率本零 シングIレフイールド*庫亭率率木本本*ネ
車章率率*零零傘*本京率承本傘2437 if tfeld<7 th
en co1%=intficon+994tfeld京2)/1001
:、。−・%=iconl 99+tfeld*2 )−co1%1100 :
callcurslco1%、 rotx%)
244011eer=5 : on tfeld gosub2450、246
0.2470.24B0 、2490.2500.2510.2520.253
0.2540.2550 。
2560.2570,2580.259024451p(39)=1 :
return2450 tmod=tmod+1 : if tmod
)6 or tmod<l then t+nod:12455 de
fault=o : 1p(22)=1 : for 1=41 to 50
: ip+1l=1 :next i : return2470
autosea1e=autoscale+1: if autoscal、
e)1 thenautoscale=0
2475 1p+241=1 : return2480 default
=1 : gosub 18000 : 1p(241=O: retur
n24901nterpalate=interpolate+l : if
1nterpolate>1 theninterpolate=0
2495 ip+251=1 : return2500 prompts
=了’ : in$=” ” : 1spa=2 : (osub 3960
: 1fhl>=Oor anztit<10 then anztit=h
l : (osub 21002505 for 1=27 to 32 :
ip+1l=1 : next i : for 1=41 to 50:
1pfil=l : next i : for i=4 t
o 6 : 1pfil=1 : nexti : point
er%+111=O: return2510 pronコpt$=for
mat$+45) : in$=”−” : 1spa=2 二
gosub3960 : if hl<1 or hl)100−anzt
it then return2515 for i=1 to anztit
: 1p(i+27)=1 : tque(i)=hl+i−] :nex
t i : for 1a41 to 50 : 1p(i+=1 : ne
xt i : fori=4 to 6 : 1p(i)=1 : next
i : pointer%(11)=O:2520 prornpts=fo
rmat$(46) : 1ns=”−” : 1spa=2
: (osub3960 : if hl<1 or hl>5
O−anztit then return2525 for i=+ t
o anztit : 1p(i+27c1 : ps5Mfil=hl+i−
1:next i : return2530 promptS=fo
rmatSf471 : 1nS=” 、−” : 1spa=4
: gosub3960 : if hlco or hl>8
then return2532 pg+121=h1
2535 if h2<Oor h2>8 then return253
7 for i=1 to anztit : 1pfi÷271=1 :
5tift%(i)=h2 :ne>:t i : return2
540 prompts=formats(481: 1ns=”、、”
: 1spa=7 : gosub2545 for i=1 to an
ztit : 1p(i+271=1 : 1p(i+40)=1
:nvarl3.tque(fll=hl : zr%=tquelil
: gosub 9900 :2555 for i:1 to a
nztit : 1pli+271+1 : 1pTi+401=1
:nvarfl、tque(N)=hl : zrX=tquefi) :
gosub 9900 :next i ; return2560
promptS=format5150+ : 1ns=”−” : 1spa
ニア : gcsub9C0
2565for i=) to anztit、 : 1pli+2
71=1 : 1pii+401=1 :nvar(2,tque+1l
l=hl :zrχ=tque+il : gosub 9900 :ne
xt i : return2570 prompLs=forrnat
s+511 : 1ns=” 、 ” : 1spa=7 :
gost+b2575 for i=1 to anztit : ip
+i+271=1 : ip+i+401=1:1var13.tquel
i))=hl+1 : 1var(4,tque(ill=h2+1 :
2r%=tque0.1 ; gosub 9900 : next
i : return2580gosub6800:gosub6500:
return2590 gosub 4350 : returnネ本ネ傘
傘本ネ**本本傘宰零率**本本本車寧ネ7レイ 1京本率意本宰*本本本本
零車本本***率京*傘寧*率2600 if tcol:1 or
teal>7 or trow:1 or trow>5 then
eturn
26]Oロn error goto 6000 : j=trow
: i+trow : 1leer=32620 j2=j+0f
fo% : Rj2>anztit then goto 26702
625 ip[40+j2c1 : fp(27÷jl=1 : r
o−%=10→j傘2 :co1%=intl 1con+ 151+tcol
寧21/1001 : zr3;=tquefj212630 promp
ts=”?” : 1ns=” ” : 1spa=6 : gos
ub 3960 : 1ftc、ol<)l then goto 26
402632 tquc(J21=hl : gosub 2300 :
if tquelj21)99 ortque(J21<Othen go
to 2620263J if tque(j21>Oor j2)9 th
en goto 26402636 for jl=、j2 to 9 : p
sym(Jl)=psy+n(jl+11 :tque(jl )=tque
rJ1÷11 : 1p(40+jl)=1 : next jl :
anztit=anztit−1: for jl=26 to 31 :
1p(J11=1 :2640 if tco1=2 then psy
m+j21=hl : if psym(j21>49 orpsymij
21<Othen goto 2620264I Rteol=3 then
5tift%(j21=hl : if s+tift%+j21>80
rstift%1j2)co then goto 26202642 i
f tcol=4 then n〜Lar(3,tque(j211=h
l : gosub 99002643 if” Lcol=5 th
en nvar(1,tque(j21)=hl : gosub 990
02645 if tcol=6 then nvar(5,tque(j2
11=hl : gosub 99002047 if tcol=7
then tlxhl : t2=h2 : 1ft2)iva
r(5,tque(J2N 0rtDivar(5,tque(j2110r
t4<Oor t2<1 then return2648 if
tcol=7 then 1vari3.tque(j211=tl+1
:1varf4.tque[j2)l=t2÷1 : gosub 99
002670 return
rern 寧*宰*本 ソフトキー機能を実行するlレーチン
零零*零車本孝2700 on a gosub 2720,2740,27
60,2780,2800,2820.2840.28602710 ip!3
91=1 : pointer%(121=O: return2720
call alphaofT : call graph2725 go
sub 5000 : if a$=” ” then 27252730
call graphofT : call alpha : re
turn2740 gosub 2900 : Rtaus=6 then
forts=4 : pinit=1 :forts=formats
(60) : 1fort=1 : running%=O: r
eturn2745 pinit=2 : forts=2 : forts=
plpgdrs+”pl ” : 1fort=1: 1rae=o :
running%=O: return2760 anzart=anza
rt+1 : if anzart)2then anzart=1276
5 for 1=26 to 31 : ip+1)=1 : nex
t i : return278011eer=45 : prompts
=”Pleas@enter newtransformation” :
co1%=o : row%=22 :ins=formats(25):
gosub 40000 : formats(25)=in!2790 i
ns=formats(261: gosub 40000 :forma
ts+261=inS : return2800 prompts=”r
oll (−57+51 ” : 1ns=”1°’ : 1spa=2 :
)(osub2810 for j、=27 to 32 : ip+1l
=1 : next i : return2820 gosub 29
00 : pinit=1 : if taus=6 then forts
=4 :forts=formats[601: 1fort=1 :
running%=o : return2825forts=2:fo
rts=plpgdrs+”pl”:1fort=1:running%=O:
ime=02830 return
2840 (osub 7500 : for 1=21 to 50 : 1
piil=l : next i :2860 prompts=”Geben
Sie die Register (van、bisl ” :1nS=”
1.50” : 1spa=8 : gost+b 3960 : if hl
>100 orh2>100 or hl<Oor h2<Oor h
Dh2 then goto 28602862 on error g
oto 6000 : print#11.formats(69);name
s;”本本*本車” : print#11. : print#11
.formats(3812864for zr%=hl to h2 : g
osub 9800 : gosub 5000 : gosub2866 p
rintJll、 using formats(651;zrX、m1dS(
vat$、61,18)+m1dslvats 、 ?9.21 、m1dsl
vats 、 130. I L 1var(1、zr%)、1var(2、z
rXl 、 1var(5、zrX )、nvar(1、zrX)、nvar(
2、zrX)、nvarl 3 。
zrX)、1varl?、zrX)、1var[8,zrX12870 ne
xt zrX : returnrem *”本***京活性的なディ
バイスの出力表示 章本牢14率2900 for j=1
to ar+ztit : 1Hosub 2905 : next
、j : (osub2902 for j=anztit+l to
10 : dma>:(j)=3 : next 、j : re
turn2905 if J<1 or 1prj◆401+Oor
j>anztit then return2906 if tmod
=6 then gosub 19500 : return290?
dmax(J)=2 : zr%=tque(j): gosub 92002
908 for jl=ivar(3,tque(jll−1to 1var(
(+tqueljll+12909 if jl<1 then dmax(j
l=3 : dy(jj)”O: goto 29302910 if jl>
1var(5,tque(j))+1 then dylj、dmax(jl+
11=o :(oto 2930
2913 if 5ubstratkonz<=Othen goto
29302915 on tmod gosub 2940,2980,29
60,2970,2950.29902922 goto 2925
2925 dmax(Jl=dmax(jll1: dxlj+dmax(jl
l=xwerL :dy[j、dmax(jN=ywert2927 if
jl=ivar(4,tque(JN+1 then dmax+jl=dm
ax[jl−12930next jl
2935 return
2940 xwert=Substratkonz : ywert=Ge
schw : reLurh2950ifGeschw=Othen:go
to29302955 xwert=Substratkonz : yw
ert=Substratkonz/Geschw295? return
2960 if 5ubstratkonz=Othen : goto
29302965 xwert=Geschw : ywert=Ges
ehw/5ubstratkonz2967 return
2970h2=Gesehw/(nvarl3.tque[jll−Gesch
wl:ifh2cothengoto 2930
2975 xwert:log(Substratkonz) : ywer
t=1og(h2)297? return
2980 if 5ubstratkonz=Oor Geschw=Oth
en goto 29302985xwert=1/5ubstratkonz
:ywert+−1/Geschw2987 return
2990 r・turn
2995 rern 寧零ネネ本本本率書傘 データハンドフレメニュー
率本本軍率*零本零本率零處曹軍3000 if anzaige>6
or anzaige<1 then anzeige=13002
on error goto O: if ime=3 an
d anzeige=pointer%(1B) then 3020
3005 call cls : 1sk=99 : ime=3
3010 pointer%+181=anzei(e : def
seg : get#14,4+anzeige: 1l=varptr
(I14) : call reamer(iN : 1p(59)
=1 :po5rter%1131=o : 1p(51)=1soft
k零2)÷formats(60+5oftk電21 : gosub
8700 :1sk=softk : return3025 if
painter%(13)>30 then return3030
pointer%(13+=pointer%(]3)+1 : if
pointer%113B18then gosub 3290 :
return3035 if painter%113+<20 the
n return3040 1i=pointers:(13)−20:
if 1p(ii+501=o ther、return3042 on
ii gosuk+3950.3100,3100,3100,3100
,3100,3100,3100,3395.68003045 1prii+
501=o : return3100 return
3290 zr%=pointer%(131+(anzeige−11$1
] : if 1u(zr%)=Qthen return
3295 gosub 3300 : returnrem 本本本
率率零本率本本本率寧*タイレクトリーライン :本率傘傘**本*宰**
*傘*零傘3300 if zrχ)anzeige*1? or z
r%<=(anzeige−11117then got。
3305 eo1%=O: rove冨((zr%−11nod 171
45 : if rove)22 orrow%<5 then
goto 33903310 call cqrs(co1%、 roI
I−%1 : if zr%>99 or zr%<1 then
goto 3390
3315 gosub 9800
3320 if anzart=1 then print usi
ng formats(651;zr%1m1ds+vats、61,181
+m1dS+vatS、791211111idsf%−ats1130111
1ivar+ 1 、 zr%l、1var(2,zr%)、1var+5.z
r%l 、 nvarl 1 、 zr%)、イ。
ar(2、zr%l、nvar(3,zr%l+1var(7,zr%l、1v
ar(8,zr%)3330 1u(zr%)=O: 1p(601=133
90 return
3395 ca1%=O: row%=22 : call curs(c
o1%、rove) : printspaces+791 : row
%=O: call curs(co1%、rove) :return
remネ*京率$11章データハンドルメニューコマンドに対するlレーチン
本家傘3420 if tsoft<1 or tsoft>8
then goto 34403430 if 5oftk=1 t
hen gosub 3700 else gosub 35003440
return
rem *市傘II傘傘京*傘本本*寧率傘シングルフィーlレト*章宰零本
車本寧零傘本零零率本章愈3445 if tfeld(4and tf
eld>Othen co1%=intiicon+199+tfeld*2
1/1001 : row%=icon(199+tfeldネ2)−co
15uloo+1 : call cursTco1%、rovχ)34
50 prompts=”?” : 1leer=8 : if
tfeld=1 thenins=strs(xxl : gosub
40000 : xx=val(ins)3455 if tfel
d=2 then in$=strs()’y) : gosub
40000 :yy−vallinsl
3460 if tfeld=3 then 1ns=strs(zz
) : gosub 40000 :zz=valIin$ 1
3495 gosub 3950 : returnrem 本 r
outines performing actions for 5
econd 5oftkeyi *3500 ip+591=1 :
on t、5oft gosub3520.3540,3560,358
0,3600,3620,3640.36603510 pointerl;
(131=O: return3520 prompts=formats
(751: 1ns=” 、−″ : 1spa=5 : gos
ub3960 : qra%=hl : qrb%=h23522 c
all curslco1%、rovel : print 5paces
(79):prornptS=forrnatS1771 : 1ns=”
、−・’ : 1spa=5 : gosub3960 : z
rc%=h1 : anzop=h23524 call curs(co1
%、rovel : print 5paces[79): 1fqra
%(Oor qra%÷anzop>100 or qrb%(Oorq
rb%十anzOp>Zoo Or Zr0%<Oor zrc%十an
zop>100 thengosub 3395 : return35
26 For i=o to anzop−1: if nvar
(5,qra%十i)〈〉nvar(5+Qrb%◆1)or nvar(5,
qra%+1)=Oornvar+5.qrb%÷1leo then got
o 3539next i : pointer%(20)=03545
fort、S=inpgdrS+”iki” : running%=O:
1fort=1 :forts+3 : return3560 p
romptszformats(781: in$=” l+” :
1spa=5 : gosub3960 : zr%=hl :
5rnooth=h23565 if zr%>99 or zr%(
! or sr++ooth<1 or smooth>3 the
ngoto 3560
3570 call curs(co1%、rove) = prin
t ”*本本 5M0OTHING I41”;5paces150):
gosub 7000 : gosub 3395 :3580 pro
rnpts=”Geben Sie das Register” : 1ns
=”−” :1spa=3 : gosub 3960 : zr%=
h13585 gosub 17000 : return3600 fo
r CI to 100 : 1p(i)=1 : 1u(il=1
: next i :1me=O: gosub 3000 :
return3620 gosub 16000 : return36
401ns=”reg?” : 1spa=5 : gosub 39
60 : zr%=hl : gosub3645 call cu
rsCco1%、rovel : print m1dsLvats、61
,701 :for i:1 to 8 : print 1var
(i、zr%);″ 1°; : neXj j :rint
3650 for i=1 to 8 : print ylv
arfi、zr!l;” ”; : ne>:t @i :
print : 1p(591=03655 rcturn
36605oftkJ : gosub 3020 : return
rem * 第1のソフトキーに対する動作を実行するルーチン
。
37001p(59’l=1 : on tsoft gosub 3720
,3740,3760,3780゜3800 、3820 、3840 、38
603710 pointer%1131:O: return3720 hl
s=formats19)+format4(101: gosub 8700
: print”please 5elect a 5oftkey +I
nput2 =input for directime=o : 1fo
rt=l : return3740 if anzeige<=1 th
en anzeige=1 : return3745 gosub 68
00 : anzeige=anzeige−1: gosub 3010
:3760 if an2eige>=6 then anzeige=6
: return3765 gosub 6800 : anzeig
e=anzeige+1 : gosub 3010 :rcturn
3780 promptS=formatSF711 : 1ns=”
、 ” : 1spa=7 : gosu■
3960 : qr%=hl : zr%=h23785 call
curs(co1%、 rov%l : prjnt 5paces+791
: 1f9r%>99 or zr%>99 or qr%<1
or zr%<1 then goto 37803790 ge
t 4B、qr% : get 79.qr%: put 8B、zr%: p
ut #9.zr’:: 1uizr″%1=1 : gosub 98
00 : return3800 prompts=−formats(7
21: 1ns=’−” : 1spa=3 : gosub3960
: zr%、hl
3805 if zr%>99 or zr%<1 then
goto 38003810 get 68.zr%: call curs
(co1%、 !”ON%) :ins=mids+vats、61,181
: 1leer=18 :prornpts=formats(73)
: gosub 40000381!’1hls=1eftsfvats、6
01+m1dSiinS、1.181÷rightstvatS、521381
71set vats=hls : put #8.zr% : 1u(
zr%l=1 : return3820 promptS=format
S1741 : 1ns=二” : 1spa=3 : gosub3960
: zr%=hl : if zr%<1 or zr%)99
then return3830 get #8.zr% : his
:”牢、、、、、、、、、、、、、、、、、xx*、、、、、、、、。
本 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
、 * 、 、 、 、 、 、 、 、 、 、 、 、@、 、 、 、
、 、 x′1
3B35 for i=3 to 10 : 1var(i、zr%)=
O: rrvar(i、zr%)=0 :next 1
3838 gosub 9910 : return3840 1nter
preter=1 : r@turn38605oftk=2 : g
osub 3020 : returnrem 本*本3**市本*本零
−刀λ的なサブルーチン 本本率卑本傘零本111i率*本率寧率車
*車3910 return
3920 close#1 : open ”i°’jl、filen
amesTll : 1=13925 while not eof(1
>3930 1ine jnput#]、hls : macrosli
l=hls : i=i+1 : if i>20then got
o 3940
3935 wend
3940 return
3950 ca1%=O: rov%=2 : call curs(c
a1%、rOW%l : hls=” \\ #♂##ジ 4 *##
\ \# # # # # + e g g # \
\3955 print usin!L hlsi” Cw
A 本++、xx、° 。
B*”、yy、”+”、!!二returnrem 本本率本市本***零*本
入力1 ”タハ2 京ネ*車本宰*寧率車ネ傘傘
車3960 11eer=ispa : gosub 40000397
0 as=”、” : ikg=instrfi、ns、a$l :
if 1kg=o thenhl=val(ins) : h2=o
else hl=val(mids(ins、l、1kg−1)):
h2=val(Illids(ins、ikg+1.len(ins)−ikg
113975 return
rem ””市電’l 外gq7ル−チンカラのリターン wl率
本本率傘本率本牢4000 for i=1 to 10 : z
r%=tquel i l : if dmax(i l(4then4
010 for j+3 to dmaxiil : reljl=d
xlj、+jl : next 、54050 gosub 91
00 : his=”txt、”+5trS(i)+5paceSf301
:gosub 9900
4080 next 1
4090 return
rHl **+*t*****t*MI CHF I TソフトウェアのwI始
1nオz**率****#*4100 call cls : call g
raphoff : print ” Hlc;HH7software
: B、Michel version Feb、
02. 88 噸゛4105 default=o : anzeige
=1 : autoscale=1 :1nterpolate=o
: anzart=1 : 5oftk=1 : teart=1
:a(r=g@y+=l : 1nterpreter=o : o
ffo%=04110 comfile%=0 : pointer%(
8D1 : pointer%+201=o : for41150n
e!’r01” goto 4140 : 0pen ”l”j
ll”a:”+nameS+”、ks丁゛: for i=1 to 10
: 1nputjl、tque+il : next i :
fori=1 to 10 : 1nputH,psym(il、5ti
ft%(il : ne:IVt i :prir+t ”read
ing ”;names+”、KST”4120 for i=1 to
40 : 1nput#1.il : next i :1 n
pu t’t 1 + te i n + te a r E + anzg
em 、anz ti tl tmod + t≠浮刀@1
autoseale 、 1nterpolate 、 anzeige 、
anzart l tein 、 tearL 1 ar+zgem+1nzt
it、tmod、taus+1nterpolate、anzeige、anz
art4122 ユine 1nputJ1.formats(151:
1ine 1nput−1゜formats1161
4125 pg(g+=o : 1sav=anztit : anZ
tit=o : gosub 7525 :anztit=isav
4130 goLo 4150
4140 resucne 41454145 print name
s+”、KST not found” : on error
goto 60004350 for i=3 to 90 :
1p(i)=1 : next i : for i+=91
狽潤@ 99
: 1p(il=o : next i : pointer%(21)=O二
pointerχ(231=0
4155 if tein<3 then driveS=midSl
drtS、tein京2−1.214160 if formats+52
1<>”AIJTO” then return4170 rrlacr
oS+11=formatSf531 : comfile%=1 :
1nterpreLer=14190 return
renI *率傘****本ダイレクトリー τ車*零率率傘車寧本享本率
本ネ*本lI車京寧寧率毒本傘4200 for i=8 to 11
: ip+N*1 : next i : 1fpointe
r%(8))5 or pointer%(8)<1 then poi
nter%(81=14230 if tein>3 then 1n
ha1Ls(1)=SpthC@5(240) : goto 4290
4220 frr i:1 to 5 : 1nhalt*(il
=”” : next 14230 for i=l to 3
0 : 1l=i÷(tein−1)”640++teart−1)京12
B+(pointer%(8)−1)*244240 get#]o、41
: 1nhalts(1)=inhaltS(13÷direntry$425
0 next i : 1nhalts(1)=inhaltS+11
+5piceS(1614290return
4310 if not eofl13) then 1nputj
13.ios alse gosab 4400 F
rcturn
4312 if 1enlios1<10 then 1os=ios
+1paces13214315 print#12.ios4320 r
eturn
4350 5ca1%=O: 5rov%=22 : call cu
rs(scolX、srow%) :print 5paces+フ91
: call curs(scolX+5rOSi’χl : pr
int″NO1of Plots :;pointer%+11;” r
epeatto/11’°Hrepeat%;” bit 5pace
” : as=inputs(1)4355 call cursls
cal、%、5rots%l : print 5paces(79)
: callcurs(scolX、srow%) : print
”PleaI!e enter commandfor plot
5pool (e/d/r/e/p/sl″ : as=inputs(1
)4360 if as=″’d” then gosub 440
04365 if as=”r” then repeat%=143
70 Rms=”c” then for J=1 to poi
nter%(11: kill”PLOT”÷chrs(j+641 :
next J : pointer+c+1l=o :pointe
r%+ 5 +=。
4375 if a$=’p” then close#12 :
close!13 : pointer%(51=04380 ’hf
as=”s” then if painter%+11>Othe
n pointer%(51=1: (osub 44]5
4390 return
reI!III零率*******率−1−7727−ルのg了ax本京京傘オ
庫倉傘庫本傘車車零京零寡倉4400 printj12.”PU PA O,
0;SP OH” : close#12 : close*13
:if repeat%=1 then repeat%=O: goto 4
4201+641 ms ”PLOT”+chrS(ips÷64): nex
t 1ps4415 open ”o”、#12.”PLT” : w
idth #12,128 : open” i ” + t 13 +
” P LOT” +chrS (1+ 64144201nput#13.
ioS : if io$=”5TOP” then 5col%=o
:srow%=22 : call curs(scolJsrow%
l : print ”Hit4425 return
rem **傘本零本傘本本インターブリーターのコマンド 参章零本章**
本本本本本ネ本本本零宰4510 row%=22 : prompts
=”” : 1leer=79 : 1ns=”” : gosu
b40000 : call curslco1%、rosx%) :
print 5paces115914520 if 1a=189
or 1ns=”e” or 1ns=”E” then 1n
terpreter=0: return
4950 call cursrco1%、row%l : prコn
t in$ : gosub 200054990 return
rem *傘傘*傘本掌ネ*寧傘傘 キーボードタッチスクリーンマウスの入力
傘**傘5000 if touchs=o and 1lock=o
then print chrS(271;”−z2N”; : tou
chs=1 : rem 本市touchsense on *傘*
宰$本**5005 iflag=o : 1plot=iplot+1
: if 1plot>tshare theniplot=o :
if painter%+1)>Othen gosub 43005010
als=inkeys : if 1en(als)<1 then a
s=” ” : b=o : a=0: return else
a$=mids(als、1,11 : a=asc(asl−1?
:b=asc(asl−89: iflag=15015 print ch
r$+271; ”−zON”; : touchs=o : re
m寧傘寧章率率タッチセンスオフ ****寧本京傘車1*率本率零車傘京車
率本章傘15020 tfeld=o : tarraX−=O: L
soft=O: tcol=o : trow=o :1col=o
: irow=o : if eing:=1 then si
ng%=Q : got。
5025 if asc(asl>17 and asc(all(2
7then tsoft=asc(all−17: return
5027 if 1lock=1 then return5030
if as=”宰” then gosub 6800 : g
osub 1000 : return5040 if as=”/”
then gosub 6800 : gosub 2000 :
return5050 if aS=”+” then gosub 6800
:gosub 3000 : return5060 if as=”
−” then gosub 6800 : pinit=1 : forts
=2 :forts=plpgdrs+”pi” : 1fort=1
: runnin(%=O: return5070 if aS=”&°
’ then 1nterpreter=1 : 1ns=”? ”
: return5080 if as=”?” then isme=ime
: ihelp=ime+10 : gosub6800 :
gosub 6900 : return5500 if as=”” t
hen bs=inkeys : print chrs+27);”a”
;ehrs+171 : bs=inputs+121 : ico1
=valTmidslbs+5,211: irosr=va11micl:
(bs、9,2115520 if ime<l Or 1rne>3
then return : rem零寧傘宰ネ**本寧*本傘ネs
prung bei eing%=1*宰率ネ傘傘本5525 for
i=l to 25 : 1l=1+(i−1)本24(ime−1
11100: 12=i+655530 if 1con(ill=ic
on(il+11 then 56005540 ocoIX=icon(
il)/100 : oro%j%=icon(ill−oco1%電10
05550 uco1%=iconlil+11/100 : uro
w%=icon(il◆1 )−uco1%11005560 if 1
col<oco1% or 1col>uco1% then 55805
570 if irow>=orosx% and irow(uro
wχ÷1 then tfeld=i :return
5580 if asc(a$1=i2 then tfeld=i
: return5590 next 1
56001paint=(ims−1ド100+51 : 12=89 : t
array=156101=ipoint : if 1con(il=o
or 1po1nt>(ime−1)*100+100then tarray
=o : return5620 if 1con(1)>9899
then rowoff%=icon+i+−9900:1n=z%=ic
on+i+11/Zoo : anzs%=icon(i+11−anzz
%率100else tarray=o : return5630 f
or i=1 to anzs% : 1l=tpotnt+i本2 :oc
o1%=iconrill/100 : orow%=iconli11−
oco1%11005640 uco1%=icon+il+11/100
: urowχ=iconfil+11−uco1%京1005650
for J=1 to anzz%: 12=i2+1 : orov%=o
row%++j−11*rowoff% : urov%=urow%+(
j−11率rowoffX5660 if 1col<oco1% Or 1
eoDuco1%then 56805670 if irow)=or
ov% and irow<urov%÷1 then tcol=i
:trow=J : return
5680 if asclas)=i2 then tcol=i : tr
ow=j : return5690 next J
5700 next i : 1poir+t=ipoint+anzs%章2
+2 : tarraき=Ltyray+1: goto 5610
5990 return
rern m率章零*牢寧皐エラーの回復 孝**零本***本章
傘零傘**傘傘オ本線京キ零宰6000 resume 60106010
close#1 : close#2 : close#3 : clo
se#4 : closei56020 if err=o then go
sub 900 : reo+ garba(e collection603
0 Rerl)7500 and erl<8500 then print
”please checkif disk is +present/ful
l/formattedl”;err;crl; :goto 6200
6490 print ”error ”err;” ocurred on
1ine ”;erl;6200 print ” Hit any Key
to proceed” : as=inputs+116210 if as
=″11°then gosub 1000 : goto 5006220
if as=”2°’ then gosub 2000 : goto 50
06230 if as=”3°’ then gosub 3000 : g
oto 5006240 if ime=1 then gosub 1000
: goto 5006250 if 1ns=2 then gosub
2000 : 、goto 5006260 if ime=3 then g
osub 3000 : goto 5006290 goto 500
rem 零****本本京本本率京傘寧注意*宰本本*傘*傘率*寧零本1本傘
本本本傘零本零ネ6300 ca1%=0 : row%=22 : call
cursrco1%、 row%l : printwarnS;
6310 print ’°Hit an5°Key t+o proceed
” : as=inputsfl16380 warnz%=0
6390 return
rem 11傘市*ン・要なときのクリーンストリングスペース 1率**家
を傘*零零寧64001=fre(ill : if i>1space
then return6410 for i=1 to 10 : sy
ms+i)=″” : next i : pointer%poin
ter%(261=0
64901=fre(””l : print i : return
rem 卑宰**率本傘本*零*本寧寧へlレフメニュー 孝本章本率本本率本
本本市京傘車*零率零*本車本6500 page%=1 : uppe
r%=16505 1irne=irne : 1ns=4 : on
error goto 6000 :alphaoff : i
f page%=1 then 65506515 for j=l
to page%−16520for i=l to 44 :
1ine 1nput#1.his : if eof+11th
en 6590
6525 next 1
6530 next J
6550 call ds : call alphaoff656
0 fo? i=1 to 44 : if eof(11th
en 65806561 1ine 1nput#l、his :
print his6570 next i : if uppe
r%=1 then row%=o : callcurs(co1%
、row%)
6580 call alpha
6590 return
rem *傘ネ本章車車傘京本本寧ソフトキーコマンドに対するlレーチン
*傘車**寧*6700 if tsoft<1 or tsof
t>8 then return6705 on tsoft gosub
6710.6720,6730,6740,6750,6760,6770.6
7806707 return
6710 page%=page%−1: gosub 6510 :
return6720 return
6730 page%=pageX+1 : gosub 6550 :
return6740 page%=1 : gosub 6510
: return6750 co1%=o : row%=45
: call cure(co1%、rov%) : I nput”
Please enter page (1−20)”;page%6755
call curslco1%、rosxXl : print 5pace
s(79) : gosub6550 : return
6760 return
6770 if upper%=l then upper%=O: row%
=46 else upper%=1; 10%:X=O
6775call cursfco1%、row%l : return6
7P、O1rne=o : if isme>3 or 1sItIe<1
then is+ne=167B2 close#2 : on isme
gosub 】000,2000,3000 : x=rrel””):
return
rem *寧傘ネ牢室傘本率市傘*埠ネ*メニュース’!J−7Flス)7
零本率率ネ傘*****港6800 if ime>3 or ime
<1 then return6810 if ime=1 the
n 1store=1 : 1pp=206820 if ime=
2 then 1store=2 : 1pp=406830 if
ime=3 and anzeige>6 or ime=3 an
d anzeige<1 t)+enanzeige=l : ret
urn68−IQ if ime=3 then 1store=4+
anzeige : 1pp=606850 if jplippl=
o then return6890 def seg : 1l=va
rpLrr#141 : call 5toscrfill :put
F14,1store : returnrcmネIT卑傘II本傘キ章京
率傘ネ車傘−ヘルブスクリーンの表示傘車率11ネ事車本*傘宰庫本章傘690
0 call offtouch : call alpha :
def leg :get#14,1help : 1l=varp
tr(#141 : call recscr(i116910 is
me=ime : ime=5 : h1m=for+natS+51
+formatST61 :11=5 : gosub 8700 :
return6950 if tsoft=1 then on
isa+e gosub 1000,2000.3000 :6960
if tsoft=8 then ime+isme : gos
ub 65006990 return
7000 rem 寧11傘傘11章率 スムース11零章傘本本章零*
牢寧率傘傘本宰零倉竜傘寧*享本廊n7005 for k=1 to
320 : re(il=o : next 17010 gos
ub 9200 : for k=64 to 15tep−1: relj
+31=re+jl: neλtj
7020 re+31=21rei41−re+51 : re(2)=2
*re(4)−rs161 :rerl+=9re(41−re(71:
j2=ivar+5.zr%)+17030 re+j2+41=2傘re(j
2+3/)−rerj2+21 : re(j2+51=9re+j2+3>
−re(j2+2) : jコニ17040 re!j2÷61=2*re
lJ2÷3>−re(j2] : on smooth got。
7050.7100.7150
7050 for Cjl÷3 to J2+3 : reri−
3)=ire(i−11+reiil+refi+111/3 : nex
t i : goto 72407100 ddl++refjl+2l−
re(jl÷1) : dd2:re(jl+3l−re(jl+21 :
dd3=reljl+4l−relJ1+317105 del=dd2−dd
l : de2=dd3−dd2 : dfl=de2−de1711
0 for 1=jl+3 to j2+3 : dd4=refi+2
l−refi+11 :de3=dd4−dd3 : df2=de3−
de2 : dg=df2−df17120 refi−31=re(il−
3傘dg/35 : ddl:dd2 : dd2:dd3 :dd3=
dd4 : decde2 : de2=de3 : dfl=d
f27130 ne::t i : goto 72407150 dd
l=re(jll : dd2=reljl+11 : dd3=re(j
l+217155 for 1=jl+3 to j2+3 : dd4=r
efil : re(i−31=f’−2ネddl+31dd2+6*dd
3+7*dd4+6傘reii+11÷3*reci+21−2*refi+3
11/21
7I65 ddl=dd2 : dd2−dd3 : dd3=dd4
: next if240 for 1=ivar+5.zr5+:l
÷2 to 64 : re(il=0 : next 17250
gosub 9100
7260 return
rem 傘型**傘II*本傘傘神プロットファイルのtffn’)μ本傘率章
傘率本本本零本市章本章京本寧孝7500 ca1%=O: row%=2
2 : prompts=”Please enter filena
me(max、 8 characters)” : 1ns=””
: 1leer=8 : gosub40000 : 1l−8:
gosub 7990 : if m1ds(ins+1+41=
”EXIT” then return7510 filenamesf
l)=driveS+inS+”、pH+1nitialenS : ca
llcurs+co1%、row%l : print 5pacesf
791 : callcurslca1%、row%)
7)10 prornpts=”Please entcr flrst
destination regl#Ler”;1ns=l′”:1le
er=2:gosub40000二tquefll=val(insl :
if tquell)(1or tquefll>99 then
75157520 call curs(co1%、row%): print
5paces179): k=1 : onerror goto 6
000 : close $1 : open ”i”l#1.fil
encimeSlj) : print ”率率傘 READING*本
本 file :”;filenamesζ、1)
75221space=1000 : gosub 6400 : reIoc
heck string 5pace7525 hls=spaces(25
01: 1nputtl、dform : if dform<>99
9then goto 7720
7530 for k=1 to 5 : 1nput#1.pxu4(
il、pyl#+1Lpxo#(il、p>−rjTil、ps)−m(i)
: next 17535 for k=1 to 30 : 1n
put#1.pg+il+PgX(illPgy(1)+tHN、pga(il
: next 17540 for k=1 to 250 :
1nputjl、w : m1ds(hls、i、11=stringS11
.w): next 17542 for k=1 to 5 :
m1ds(beschrslil、1.tl(i))=mids(his、i傘
50−49.tl(ill : next if545 for k=1
to 250 : 1nput古1.tz : m1ds(hls、
i、11=stringS(1,wl:nexti7550 for k=l
to 250 : 1npt+t#1.w : m1ds(hls、i、
3にstrings+1.wl : next 17552 for k
=1 to 5 : m1dsfbeschr$li+51.1.tl(
il511=midsChis、il50−49.tl(il5ン) :
next 17555 1nputjl、tmod : taus=i
: idmax=07560 anztit=pg(8) : for
k=s to 10 : tl(i+=50 : next 175
70 for k=2 to anztit : tque(i)=tque(
1)+1J7575 for k=1 to 10 : 1nput#1,1
var(J、tque(i)) : next j7580 for k=1
to 10 : 1nput#1.nvar(j+tquerill :
next j7600 hls−spaces(70)7610 for k
=1 to 70 : 1nput#1.w : rnids(hl$
+j、11=stringS(1,w> : next j7620 h
is=midsrhls、1,701 : zr%=tquefi1763
0 gosub 9910 : rem 5peichern einze
lner Titrationsvar7640 for j=l to jv
ar151tquerul++1 : 1nput#1.relJLre[
j+1001 : next j7650 gosub 9100 :
rem re(I auf diskette 5chreiben766
0 next 1
7690 close 31 : goto 79007720ifdfo
rm(>2265thenwarnz%=7?20:5sarns=”Kein
gueltiges Kinetikfile” : gosub 6300
: return?740 for k=l to 5 : 1npu
tH,pxu!(N+pyl#lil、pxo#(41゜P3・r#(il
: next 17750 for k=1 to 30 : ’1np
ut#1+pg(i)+pgx(illpgy(i)、tl(il。
pgaNl : next i : 1nput#3,1drnax7
760 for 1=1 to jdrnnx : 1nput#
]、1dxri+、1dy(il、1dp(jJ :naxt 1
7770 for k=1 to 20 : 1ine 1nput#
1.his : mid$1besehrs1it、l、t11i11=m
ids(his、1.tl(il): next i7フ80 1nputj
l、tmod、comfile% : taus=1 : anztit
=pg+81 :autoscale=o : default=177
90iftmod=6thenfori=1to2:1nput#l、il:1
ineinput#11hls : formats(il241=spa
cesiil) :m1dS(forffIatsl il241.1.il
l=mids(hls、1.il): next 17792 if com
file%>Othen for k=1 to 20 : 1nput
#1.il :1ine 1nput#1.hls : m1dsζm
acros(iLl、1ll=hls : next7794 if c
omfila%>Othen for k=1 to 10 : 1np
ut#1.il :1ineinput#1.his:m1dslps(1)
、1.xl)=hlS二nexti7796 if comfile%>Ot
hen for k=1 to 10 : 1nput#1.c(i):
next i : if anztit+o then 7900
7800 for k=1 to anztit : tquelil;
tque[11+i−1:zr%=tqutli): in$=spaces
(130)7810 for k=1 to 130 : 1nput
#1.w : m1di(ins、j、1)=stringS(1,v):
next j7815 1set vat$=in$ : put #
8.zrχ : gosub 9800 : gosub9950 :
for k=1 to 164 : re(j)=0 : ne
xt j7820 1nput#1.psym(31,5tift%(ill
5tift%(i ) 、 1nterpkf i 17830 for
j=1 to 1var15.tqueTi11÷1 : 1nput#
1.re(jl、re(jl1ool : next j7840 g
osub 9100 : rem rei l auf diskette
5chrejbeh7850 next j
7900 close#1 : for C21to 100 : 1
p(i)=1 : next i :1p141=1 : ip+5
1=1 : ip+6)=1 : returnrem 7720 o
n error goto 2890 : close #1 : o
pen”i”、#1.drives+as÷”、P”+1nitialanSr
em 7730 for i=1 to 5 : 1nput#1.h
l、C2,C3,C4,psym(i):pxuj(i)=hl : px
o#(il=h2 : pyr!(i)=C3: pyl#(il=h4:
next i
ram ??4Q for i=1 to 30 : 1nput
琴1.Pg(iLMxlil。
pgy(i)、tHil : next iram ?741 for
i=1 to 250 : 1nputH,w : m1ds(pb
sS。
i、ll=strjng311.wl : next irem7742
for i=1 to 250 : 1nput#1.w : m
1ds(his、i、11=stringS(1,wl : next
irem 77431nput#1.tmod : taus++1 :
for i=5 to 10 :tl[1l=50 : next
1reff+ 7744 gosub 19100 : anztit
=pg+81rem 7750 for i=1 to anztit
: tque(i)=tqueil++11−1re 7751 1nput
jl、1varfl、tqucfi+1,1var12.tque(ill+1
Xtar(3,tque+ i ) )、 1var+ 4 、tque(i
l l、1varl 5.tqueli l )ram 77521nput#
1.nvarll、tqueli)l、nvarr2.tque(ill。
nvar[3,tqueli))、nvar+4.tque(i))+nvar
(5,tque(i))rem 77531nput!’1,1var(6,t
que(ill、1var(7,tque(i))。
1var(8、tque(i ) l 、nvar(9、tque(i l)、
nvar+ 10. tque+ i ) 1rem 7800 ns=spa
ces(701rem 7810 for J=1 to 70 : 1n
put#1.w : m1dS(ns、j、11=string$(1,w)
: next (Hreon 7820 hi$=midsTns、1.70
) : zr%=tque(i3rem 7830 gosub 9910
: rem 5peichern einzelnerTitratio
nsvar
rem 7840 for j=1 to 1var15.tque(001
:1nput!1.reijl、re(、jl1OO1: next jra
m 7850 gosub 9100 : rem re(l auf
diskette schreibenram 7860 next 1
rern 7870 close H: drives=”a:” :
goto 2000reffls本京本**零本宰本本本章傘電寧率本オーバー
ライドファイIしのヘルプ 本零本牢率率傘本傘7950 on erro
r goto 7980 : C2a=plotfdr$÷”RESC
UE、P”+1nitialenS : kill C2s7960
on error goto 7985 : name plot
fdrs+filenameS+11+−P”+1nitialanS as
C2s7965 prirIt ”*率 RES T ORE 重重
file ”;filenames(1);”宰京 Told versi
on renamed to RESCLIE)”7970 0n e
rror goto aooo : return7980 res
urne 79607985 resume 7970rem 率率重重
本軍本本本本本零大文字R1f& 傘*宰ネネ*傘車本*零率寧率率率*
傘**零傘本寧本ネ率7990 for C1to il : ia
=asc(mids(ins、il111 : if ia>96and
ia<123 then 1a=ia−32: m1ds(ins、
il11=chrs(iai7995 next i : retur
nrem 傘本本零本本本参*本ネ*本本*ネイプロットファイルのストアl
s傘重重零本本傘本*wE傘車重傘8000ca1%=O:rowχ=23:p
rompts=”Pleaseenterfilenamelma>:、 8
charactersl” : 1ns=”’ : 1leer=
8 : gosub40000 : 1l=8 : gosub
79908005 call curs(co1%、row%l :
print 5paceS(?91 : callcurs(co1%
、row5cl : if il<3 or il>8 then
warnzχ、8010: warns=”Invalid File
narae” : return8010 filenames(ll=
ins+5paces(8−il) : if mids(filena
meS(1)+1+41=”EXIT” or m1ds(fi1enan+e
s(11+1,41=”PLOT”or midsTfilenames(1)
+1.6)=”RESCUE” then print”illegal f
ilename” : return8015 for i=l to 1
nhp(idrive(11ド51 : 1l=(idrive(11)−1)
*640+4傘128+i : get#10,118017 if d
irentryS=rnidSffilenameS+1)+1.81 the
n gosub7950 : シoto 80308020 ne>:
t i : print ”車重 S 丁 OR工 NG”軍 fil
e”;filenarnesfl l;” 傘掌゛。
80221space=1000 : gosub 6400 : rem
check string 5pace8025 11=(idrivelll
l−11”64044本12B+1nhp(idrive(11ド5) :1s
et direntrys=mid$(filenames(11+1,81
: put#10.il: 1nhp(idrive(111傘51=inh
p(idrive(111本51+1 : gosub8030 on e
rror goto 6000 : close #1 : open
1゛0″’ 、 H、plotfdrS+filenarneS(1)+” 、
”+m1dSば1lekenns、5゜11+1nitialens :
pg(81=anztit8035 for j=1 to 208040
for C1to tlr、jl : if m1ds(beschrs(
jl。
i、11=chrS(131then m1dS(beschrsijl、i、
11=chrS(3218045next 1
8050 next J
8100 dform=2265 : printjl、dform810
5 for CI to 5 : printjl、pxuj(i)+P
5′l#(il+pxo#(il、pyr#fH: next 18110
for i=+ to 30 : printjl、Pg+i)IPgX
lil、Pg>’(il。
tl(il、pgalil : next i : printjl、i
dmax8115 for i=1 to idmax : print
H,1dx1i1.1dyli)、1dp(il :next λ
8120 for i=1 to 20 : hls=mids(bes
chrsii+、1.tlli13 :printjl、his : n
ext 18125 printjl、tmod、comfile%8130
if tmod=6 then for i=l to 2 : il=le
n(formats(il24+1 : hlS=midS+formatS(
il24)、1.ill :printjl、il : printjl、h
is : next 18140 if comfile%>Othen
for i=1 to 20 :i1=lenfmacros+i
)) : hls=mids(macros(i)+1.il) :pr
intjl、il : printjl、his : next 18
142 if corrlfile%>Othen for i=1 to
10 : 1l=len(ps(ill :hls=midi+ps
li+、1.ill : printjl、il : printjl、
his :next 1
8144 if comfile%>Othen for i=1
to 10 : printjl、clil :next i :
if anztit=o then 81958150 for 5=1
to anztit : zr%=tque(il : gosub 9
200 :gosub 9800 : hls=vats8]55 for
j=1 to 130 : %x=ase(mids[hls+j+13)
: printjl、w: next j
8160 printjl、psymo、1,5tift%+il、5tift
%L i ) + 1nterpk(i 18165 for j=1 to
1var(5,tque(i))+1 : printjl、re(j)Hre
lJ+1001 : next j8190 next 1
8195 close #1 : taus=1 : 1p1231=
1 : pointer%[121=o :return
rem を本ネ宰傘本本市本本寧宰本**宰*本傘 足算乗算
本車重*零本市率8200 for j=1 to
10 : nvarij、zre%÷1l=nvar(j、qra%+
il :next j
8205 for j=l to 10 : 1Var(jlZr
c%+1)=ivar(jlqra%+il :ne>:t j
8206 if 1vnr+5.qra%÷1l)ivar15.qrb
%÷il then x%=qrb% :y%=qraχ : gos
ub 160108210 get 禽8.qra%+i : zr
%:ZrC%+i : put #B、zr% : gosub82
20 zr%=qra%÷i : (osub 9200 : f
or j=1 t。
jVari)lqra%+1)+1 : dy(1,jl=re(jl
: next j8230 if >−y<>Othen zr%=
qrb%+i : gosub 9200 : for j=l
煤B
1var(5IQ”%+il+1 : dy(2,jl=re(j) :
next j8240 for j=1 to 1var(5,
qra%+i++18250 if yy=o then re(
、jl=dy(1,jl傘xx+zz elsere(jl=dy(1,jl
*xx+dy(2,jl車yv+Zz8260 next j : z
r%=zrc%+i : gosub 9100 :nvarl 3
、zr%1=nvar(3,qra%+i)宰xx+nvar(3,qrbx+
i 1m)−31+ZZ: gosub 9900 : gogub
33008290 return
rem **′IEt*本傘傘率本章寧*宰重重本タッチスクリーンの構成
傘**率車京本車重重重宸傘市宰8500 rem
8540 for 1=1to 25 : H=1+l1−11$2+(i
ms−11車100 : 12”j+658550 if 1con(
i1+=iconlil+11 then 86008560 coIX
=iconlil)/100 : row%=icon(il)−co15
c率1008570 co1inc%=icon(il÷11/100
: rowinc%=iconril+’l 1−coline′g*100
−ro%/% : co1inc%=coline%−co1%8580
resps=chrs+i21 : call fntouch(rowχ、c
o1%。
rowine%、colineχ、resps)8590 next 1
8600 ipo1nt=(ime−11率100+51 : 12=8
98610 1=ipoint : R1con(1)=Othen 8
6958620 if 1con(i)>9899 then rowoff
%=icon(i)−9900:anzz%=iconli+ll/Zoo
: anzs5G=icon(il1)−anzz%村o。
8630 for n=1 to anzs% : 1l=ipoint+i
本2 : ca1%=Icon(ill/100 : row%=ic
on(ill−co1%傘1008640 co1inc%=icon4i
1+1)/100 : rowinc%=icon(n+11−co1in
c5C京1100−ro% : eo1inc%=coline%−co1%
8650 for n=1 to anzz%: 12=i2÷1 :
rov%= roIT%+tj−11傘rowoff%
8670 resps=chrs(121: call fntouchT
rovχ、 co1% 。
rowinc%、coline%、respS 18680 next j
8690 neXt i : 1point=ipoLnt+anzs
%電242 : goto 86108595 return
rem 本本本本本牢率**率率*零*傘*@キーラベ/L、 k*$を章重重
本傘*孝オ零市*傘*市車零京オ章*卑禽8700 if 1en(his
1(160then hl$=hls+5pac@5(161−1en(h1
sl18705 for n=1 to 8 : m5=strsri
): h2*=chrs(27ン+”&fOa”+m1dSf$、2.1)+
”k16dlL”+m1dS(hl$+i欺18−15.161+chrS(1
7+i): print h2!; : next 18710 pri
nt ehrs+27); ”&jB”; : return9100
rem *率傘*本傘ワークファイルにre□を書込む 傘傘零*車重率*
富本ネ***9105 if zrX)100 or zrXG t
hen zr%=19110 h4s=spacesr253)9120
for n=1 to 63 : m1dsTh4s、wl傘4−3.4
l=mksS(ref−・lll :next wl : 1set
el$=h4s9130forwl=101to163:m1dsfh4s、(
wl−1001’4−3.41−+mksS(re(bJ口: next w1
9135 1set e2s=h4s : put #9+zr%9140
return
9200 ram 傘本傘**璋率傘IE京京 re□にワークファイlしを*
nる ”車本寧傘宰率車重本象9205 if zr%ン100 or
zrX<1 then zr%=19210 get #9.zr%
9220 for wl=1 to 320 : re(wll+:O:
next w19230 for wl=1 to 63 : re(
wl)=cvs(midsfels、w1本4−3,4)):next wl
9235forsxl=101to163:refssll−cvafmidS
(e2S+(wl−9802if zrX>100 or zrX<1
then zr%=19805 get #8.zr%
9810 for wl=1 to 109820 1varfsxl、
zrXl=cviζm1d4(vats、wl卓2−ス、2+) :nvar
lwl、zrX1=cvsrrnids(vats、w1本4→17.4)19
830 next wl : return9900 ram 傘
傘率才本*孝率 変数の書込み を率率*本本傘嵩傘傘傘車章本本*
*傘率重重9902 if zrX)100 or zrX<1 t
hen zr%=19905 get 8B、zrX: hi8=mids(
vats、61,701+”9910 h4s=spaceH13019915
for wl=1 to 109930 mid$(h4s、w1本2−
1.2)=mkiS4ivar(wl、zrX))9940 m1dsih4
s、wl傘4+17.4 )=mksS(nvar(wl、zr5cl>994
5 next wl : yaidl(h4s、61,701=midS(h
is、1.70): 1setvats=h4s : put 8B、
zrXram **率重重本ネ率本本*本*本*最新式ポインターのセット
室率*傘率傘*本*率孝**津本本ネ9950 1ulzr%)wl :
pointer%(131=09955 for wl=1 to 5
: if tque1wl+offo%1=zr5c thenip
+27+wll=1 : pointer%(12>=09960 ne
xt wl
9965forvl:1to10:iftque(wll=zr%thenip
fwl+401=1: pointer%+121=0
9970 next 讐1 : returnrem **本章車零
寧傘傘ネ寧*寧**!11節オペレージ9ン 電零*寧書率**傘宰宰章ネ
*宰電ネ第16000 on error goto 6000 : co
1mA=o : row%=22 : callcurs(co1%、
row5Gl : print ”Adjust Register x t
。
Register y”; : 1nput x%、y%16010 xm
in=nvar(3,y%l : xmax=nvar+4.y%l :
n=1var(5,x%)+1
16015 zr%=X% : gosub 9200 : for n
=1 to 500 :rexlN=rcli) : next 1
16020 zrXハ・% : gosub 9200 : for n
=1 to 500 :rey(il=relil : next i
: 1n=ivar15.zrX)+116050 rexrin+11
=2”rexfinl−rex(in−1):rexrin+1031=21r
ex(in+1ool−rexlin+997 :xO=2*reX(1011
−rex(102): yo=2*refll−re(2+36090 1=
Q
16100 for n=1 to in : x=reyrJ+100)
: yI:rey(jl : i=i÷116110 for H=1
to n+1 : if rex(ii)>x then 1q=ii
: got。
16120 next ii : dy(1,1l=o : got
o 1616516150 if 1q=l then dx=rexT11
−xo : dy=re(11−yOelsecb:=rex(iq+1(lo
t−rex(fq+99) : dy=rex(iq)−rex(iq−1
+16160 if 1q=1 then clyll、1l=(x−xo
)/dx京dt−+yOelsedy+1.il=+x−rex(iq−IN/
dx宰dy+rex(iq−1116165dx(1,1l=rey(j+10
0116170 next j
16200 for n=1 to in : re(il=dy+1
.il : re(il1001=dx(1,il: next 1
16210 n=1n
162εOfor !=1 to 10 : nvar(i、zrX)=
nvarri+3’%l :1var(i、zrX)=ivar(ily駕)
: next 116300 gosub 9900 : gosub
910016400 return
rem s寧率率章11本*本意傘本尊デー9コレクトメニュー t11
率本寧オ*車寧軍京享率寧零卑117000 gosub 6800 :
gosub 9200 : gosub 9800 : im
c:617010 bls=for+++ats(7>+format$(8
1: gosub 8〕0017020 call els :
bit=mids(vats、61,70) :1ffs=int(ivar
(5,zrXl/21+1 : print forI!Iats166
117030 ca1%=o : row%J : print
: print : for CI to 8 @:
print 1varli、zrX)、 : next i :
print17035 for n=1 to 8 : prin
t nvar(i、zrX)+ : next i :print
: print formats(68);forroats(6811
7040for n=1 to iRs : print usi
ng formats1671;i。
relj+1001.re(i)、il1ffs、re(il100+1ffs
l、refi+1ffal :next 1
17050 print 5paces(801: return174
00 ca1%4 : rohX=2 : if tsoft<1
or tsoft>a thenreturn else cal
l cursfco1%、row%)17410 on tsoft
gosub17520.17540.17560,17580.17600.1
7620.17640.1766017450 return
17520 gosub 9910 : gosub 9100
: gosub 3000 : return17540 promp
ts=”Please anter point ” : 1ns=’°−1°
: 1spa=4: gosub 3960 : 1l=1 :
12=h117550 gosub 17700 : gosub
17020 : return17560 prompts=″Pleas
e enter point ” : in!=”−” : 1spa=4:
gosub 3960 : 1l=2 : 12=h117570
gosub 17700 : gosub 17020 :
return17580 proItlpts=”delete which
point ” : 1ns=”−” : 1spn=4: gosub
3960 : 12=h117585 for 1=i2 to
1var(5,zrX) : re(il+reri÷1) :r@(il
1001=re(il1011 : next i :1var(5,
zrX)=ivtnr(5,zrX)−117590gosub 17020
: return17600 proropts=″1nsert
which point ” : 1ns=”−” : 1sp
a=S
: gosub 3960 : i2=hl17ε05 prompt
s=”Please enter x、y”+5trSfi21 :1ns=
l+、 ” : 1spa=12 : gosub 39601761
0 for 1=ivar+5.zr%l+l to i2+15tep−1:
refil=re(i−11: re+i+1001=re(i÷99)
: next i :1var(5、zr%)=ivar(5,zr%1
+1 : re[i2+1001=hl :re(i21=h2
17615 gosub 17020 : return17620 pro
rnpts=”?” : 1ns=his : 1leer=71 : go
sub 40000 :his=ins : if 1en(hisl<
70 then his−+hiS+5paceSf70)17630 g
osub 9100 : gosub 17020 : return1764
0 prompt$=”Please enter integer vari
able” : 1nS=”−”: 1spa=2 : gosub
3960 二 12=hl : if i2>8 or i2
<1then raturn
17645 prompt$=”Please enter variable
no、”÷str$+121 :1ns=strs(ivar+i2.zr%
)l : 1spa=5 : gosub 3960 :1var(i2
.zr%j+hl : return17660 prompts=”P
lease enter normal variable” :
ユns=”−”: 1spa=2 : gosub 3960 :
12=hl ; if i2>8 or i2<1then r
eturn
17665 prompts=’°Please enter variabl
e no、’°÷5trsfi21 :1ns=str$+nvarri2.
zr%+1 : 1spa=8 : gosub 3960 :nv
ar(i2+zr%1=hl : return17700 promp
t$=”Please enter new value no、”+
5trSii2) :if 1l=l then 1ns=strsi
reli2+100)l : 1spa=8 : gosub3960
: re(i2+1001=h117710 if 1l=2 then
1ns=strs(re(i211 : 1spa=8 : gosu
b3960 : re(12)=h117720 return
rem 本本零*牢宰*傘車零本ディフォルト値の!光取り 中1**本*
本寧率傘傘本宰**ネ*本本本18000 taus=1 : pxo#
(51=−1: pyr#(51=−1: if t+nod>6 t
hengato 18090
18010 1=1 : gosub 18510 : for
1=27 to 30 : gosub 185P0
: neXt 1
18020 for t=33 to 35 : gosub 18
510 : next i : close#1@ :
pointerχ+25+=O: pointerχt261=018060
tl+1)=len(formats(77+tmod寧211 : foi
d$(beschrs+11゜1、tl+11)=formatS(7?÷tm
od*2) : tl(2+=len(forrnats178÷tmod零
2)): m1dsTbeschrs(21゜1、tl(211=forma
tS178+tmod本21 : default=118070 px
u#(ll=re(−9+tmod*10) : pxu#(21=re(
−8+tmod宰10) =pxu#l31=rei−7÷tmod孝101
: pxu#141=re(−6+tmod本10)=pxu#l5)=te
l−5÷tmod*10)18080 pylN11=re+−4+tmod
牢101 二 pyl#(2)=re(−3+tmod 1・
【10)
:pyl#+3)=re(−2+tmod*101 : pylH4)=re
(−1+t++od傘10):pyl#(51:reltmod本10)180
90 return
18500 for i=1 to 3フ : if 1=33
or 1=34 or 1=35 or 1=Q7
or 1=28 or 1=29 or 1=30 then 18505 e
lse gosub18505 next i : close:1
: return18510 if i=1 then close#1
: open ”r”jl、names+”、KSY”。
2F+6 : field:1,256 as ext1852’O
get41.i : if i>30 then 1856018530
for 1i=1 to 3 : 1%=cvi1midS(e
xS、iiia4−83,2)118540 formats1i京3+i
i−31=mi11−31=、ii*84−81.1%)18550 ne
xt ii : return18560 get#1.i ; i
f i>32 then !860018570 for 1i=1 to
127 : 1con((1−301$127+ii−127111−1
271=cvi($、ii本2−1,21118580 next ii
: return18600 get#1.i : if i>35
then return18620 for 1i=1 to 63
: re(+1−321$63+ii−63111−631=evs1$、i
i傘4−3.4))18640 next ii : return1
8700 close#l : open r”、#1.names+
”、KsY”、256 :fielcl#1,256 as exS18
?lOget!1,36 : for 1i=1 to 100
: if m1ds[exs、ii、11=llO°’ then 1
uliil=o else 1u(ii+=118720 next ii
: for 1i=101 to 200 : if rnids(ex
s、ii、11=”O” then 1plii−100)=Oelse 1u
iii−100)=118730 next ii : for 1i=1
to 256 : hls=hls+”111: nextii : 1
set exs=hls : put#1,36 : close+t
l : returnrem ネ傘本車ネ傘傘*宰ネ傘寧宰率宰事本本市
本宰牢本ネ本本本零宰**本本零零車宰本ネ*傘本本本*本寧ネ*rarn
数学インタープリタ−rem 市零率率ネ**宰*京
車市本本*傘*零本本本**本零本牢本本本本本本傘*本本*章*本傘傘本市富
本*本零rem 電零亭亭率**本*傘車重インタ7プリタートランスフオー
メーシヨン 傘幸傘牢本零寧19500ins=formats(251:1l
=len(inS>:zr%=tquelj119510 for i=1
to il : if m1ds(ins、i、2)=”RR” t
henhls=strs(tque(j))+” ” : mid$[i
ns、i、2)=mids(hls、2.2)
19520 if m1ds(inS、i、2)=”Pi” then h
ls=strs(tque(jl+1)+”” : m1ds(ins、i
+1.2)=rnidS(his、2.2119530 if m1ds(
ins、i、21=”Ml” then hll=strs(tque(j
)−114”” : m1ds(ins、i+1,2)=midS(his
、2.2119540 next i : rem print ins
+19550 gosub 2000519600 ins=format
sf261 : 1l=len(insl : zr%=tqueij
119610 for 1=1 to il : if m1ds
lins、i、2)−”RR” thenhll=str$Ttque(J)
)+” ″ : rnids(ins、i、21=midS(hls、2
.2+
19620 if m1ds+ins、i、21=”Pi” then h
is−+5trS[tque(jl+13+”” : m1ds(ins、
i+1.2)=midS(his、2.2)19630 if mid$(i
ns、i、21=”81′’ then、hl$=str$(tque(Jl−
11+”” : +++id$(ins、i+1.21=midS(his
、2.2119640 next i : rern print 1
ns19650 gosub 20005
19900 return
rem **京傘ネ傘本*京本本本傘本車傘 キーボード入力
車重零零零*オ章京零本零宰20000 calχ=O: row%=
22 : 1leer=75 : prompts=”” :1ns=
jnsavs : gosub 40000 : if ia>1
6 and 1a(27oria=189 then 2599020
00511=lenfinsl : gosub 7990 : zl
ev=o : an%=o : forCl to 10 : zr
(i)=O: next i : 1ntpS=inS : 1f
len(insl<75 then 1nsav$=ins else
insavs=mids(ins、l、701
20010 1=len(intps) : if l<1 then
goto 25990200901evel=o : 1max=0
: gpos=o : on error goto 50000r
em *市京牢*****本市ネ :1トリ7グf)分析 ””””
””””””20100 for i=1 to l : his
mids(intpS、i、1120110 if his”l” th
en 1evel=level+120130 if 1evel<Ot
hen goto 2990020140 if 1max<1eve
l then 1max=leve120150 if 1max=l
evel and his”+” then apos=i20155
if 1max=level and hs=’°)” then
zpos=i2016Oif his”)” then 1evel=1
evel−120165if his”=” then gpos:12
0170 if ase(hsl:30 or asc(ha)>12
8 then goto 2990020190 next i
: rem print 1,1max、gpos20200 if
1evel<>Oor gpos=o then goto 299
0020300 if 1max=o then hls=mids(
intps、gposll、(1−gposll :apos=gpos
: zpos=1+1 : goto 2050020400 hl
s=mids(intps、gposll + (zpos−apos−111
20500opa=o : for i=1 to 1sn(his
) : hismids(his、i、11205!Oif his”−
” then opo=i : opa=l : goto 2
100020520 if hS=”L” then opo=i
: opa=2 : goto 2100020530 next
1
20550 for i=l to 1enlhl$l : hi
smids(his、i、1)20560 if his”宰” the
n opo=i : opa=3 : goto 2100020
570 if hs:N/+l then opo=i : op
a=4 : goto 2100020580 if his”D”
then opo=i : opa=5 : goto 21
00020590 next 1
20600 for i=1 to 1enfhl$l : his
mids(his、i、]120610 if hss”+” then op
o=i : opa=7 : goto 2100020620 if h
ss”−” then opo=i’ : opa=8 : goto 21
00020630 next 1
20700 if 1max=o then goto 2550020710
if opa=o t)+en h2s=mids(intps、1
+apos−1) :h35=mids(1ntps * zpos+1.1
−zpos−1) : 1ntps=h2s+hls÷h3s : g
oto 2001020720 goto 29800
210001po=O: rpo=o : lrega=o : if op
o=1 then got。
21010 for Copo−1to 15tep−1: hssmids
(his、i、1121020 if hS=”” or hls=”L” o
r hS=”*” or hss”/” orhs;”+” or hss”−
or haw”D” then 1po=i : goto 21030210
25 next i : 1pa=021030 for 1=lpo
啼1 to opo−1: hssrnids(his、i、1121035
if lrega=o then gosub 27000 :
1que=ique :1rega=rega : 1que2=nqu
e2 : if rega<)Othen got。
21040 naxtユ
21050 rrega=0
21055 for 1=opo+1 to 1en(his) : hs+
rnidsihls、i、1) : 1fopo=len(his) th
en rpo=len(hlsl+1 : goto 2]1002106
0 if hss””’ or hls=”l、” or hss
”ネ” Or )、s、II/II orhS=”+” or hss”
−” or hss”D” then rpo=i : goto 2107
021065 next i : rpo=len(his)+121
070 for 1=opo+1 to rpo−1: hssmidsrh
ls、i、1)21075 if rrega=o then gosub 2
7000 : rque=ique :rrega=rega :
rque2=nque2 : 汀 rega<>o then got
。
21080 next 1
21100 h9$=spaces(791: mid$(hss、lpo+
1.1c midslstrs(lrega)、2.11
: m1ds+h9s、opo+1+11=midslstrsTrrega
)、2.11
21110 m1ds+h9s、opo、11=midSlstrSfopa
l、2.11 :lTl1dslh9s+opo+3,1 )=rnidS
fstrS+rquel+2+l 121120 m1dsTh9s、lpo+
3.11=midS(strsTlquel+2,11 : rempri
nt hss
22000 gosub 26000 : if an%<Othen a
n%=022300 gosub 23000 : if an%<
Othen an%=022500 if 1po=o then h2s+
=” ” else h2s=mids(hls、1,1po)22502 i
f rpo=1en+hlsl+1 then h4s=” ” else
h4s=midslhls、rpo、ユen(his)−rpo+1 )225
04hlbs=leftJ(intpS、apos) : h5S=midS
rintpS、zpos、1−zpos+11 : h3s=”Z”+5tr
Sfzlev122510 if 1po=o and rpo:lenζh1
$)◆1 and 1rDaX>Othenintps=rnid$1hlb
s、111en(hlbs>−11÷h3s÷m1ds+h5$。
2.1en(h5sl−1] : goto 2255022515 if
1po=Oand rpo=len(hlsl+1 and 1max=Ot
henintps=rnids(hlbs、1,1enlhlbsll+h3s
+m1ds(h5S、2.lenth5g+−11: goto 22550
22520 1ntpS=hlbS+h2S+h3S+h4S+h5S2255
0 goto 20010 : rem print ”Neuer Str
ing ”;1ntpS :goto 20010
reffl 時牢重重本本車重傘率零** xxhに関するオペレーションの
実行・ 零宰23000 for i=9 to 65tep−1:
if zr+1l=o then zlev=i :zr(r、1evl=
on%+1:goto23050:REMN÷11+z23010 next
1
23050 on opa got。
23100 、23200 、23300 、23400 、23500 、2
3600 、23700 、23800 、2390023080 for i
=1 to an%+l : dxfzlev、1)=rex(il :
next i :goto 24000
23100 for i=1 to an%+1 : if rexli)
<=Othen dx(zlev、1l=1elsedx(zlev、1l=r
ex(i)−rey+1)23105 next i : goto 24
00023200 for i=1 to an%+1 : if rex
(1><=Oor rey(i)(=Othendxfzlev、1l=1 e
lse dxlzlev、il=log(rey(i l l/logirex
fi l +23210 next i : goto 24000233
00 for i=1 to an%+1 : dxlzlev、
1l=rex+il傘reyljl :next i : goto
2400023400 far i=1 to an%十1 :
if ray(i)=Othendxlzlev、i+=9.99E+20
else dx(zlev、1)=rex(il/reyH)23420 na
xt i : goto 2400023500 dx(zlev、 11
=l (rexrl )+rex(2) )/2−+ 3*rex(11−re
x1211/21/nvar(5,zr%)23510 for i=2 to
an% : hss(rsxri−N+rex(i11/2 :h2=I
rexζi >+rex(1+1 >)/223520 dxずzlev、i
l=+h2−hll/nvar15.zr%) : next 12353
0 dx+zlev+an%◆11=(rex(anX÷1)−+rexlan
jc+11+rexlan%l)/21/nvar+5.zr%1 : g
oto 2400023600 rem
23700 for i=1 to an%+1 : dx(zlev、1
l=rexril+reyfil :next i : goto 2
400023800 for i=1 to an%+1 : d
x(zlev、1l=rexlil−reylil :next i :
gato2400023900 rern
24000 rem print″zwischenresultat in
register ”;zlev;”: ”;an%+IH” Punkte
” : far 1=1 to anX+1 : printdxrzl
ev、il : next 124010 return
18m
25500 rem *率零*嵩率オペレーションの終了 本車重*本本
本章**寧*零*誰車本25505 hls=intps : call
curs(cold、row%) : rrega=025510
for i=gpos to 1en(his) : hssmid
s(his、i、1125520 if rrega=o then
gosub 27000 : rqueiique :rrega=
rega二rque2=nque225530 next i : o
po=gpos : rpo=1en(hls3+125540 1reg
a=7 : gosub 26000 : 1rega+=0255
50 for i=1 to apos−1: hssmids(h
is、i、1125560 if lrega=o then gos
ub 27000 : 1que=ique :lrega=rega
: 1que2=nque225570 if hss”D” the
n gosub 26500 : goto 2599025575 i
f hS=”P” then gosub 26600 : goto 2
599025580 next 1
25620 if lrega<3 or lrega>10 th
en goto 25990 else prin■
ins+5pacesl]9−1en(insl)25630 on lreg
a got。
25800 、25800 、25650 、25700 、25750 、2
5800 、25B50 、25900 、25960 。
25650 print ”X−Register”;1que;”=++、、
n%:” Punkte” :zr%=1que : gosub 92002
5652 for C1to 10 : nvar(i、1que>=nv
arli、lzr%l :1var(i、1que)=iX″ar(i+lz
r%) : ney、t i :his=”Res、”+5trS+lzr
%l+5paces(30)25654 1var(5,zr%)=an% :
gogub 991025656 for i=1 to an%+1
: reri+1001=rev(i): next i :gosub 9
100
25660 goto 25990
25700 print ”Y−Register”Hlque;” = ”;
an%;” Punkte” :zr%=19υe
25フ02 for 1=l to 10 : nvar+i、1
qus3=nvar(i、lzr%l :1var(j、1que)=jva
r11,1zr%) : next i : hi$=”Res、”
+5trS(lzr%>+5paceS430)25704 gosub 9
910
25フ06 for i=1 to an%+1 : rerN=
rey(H: next i : gosub25710 goto
25990
25)50 c(lquel=rey(11: print ”Kons
tante ”;1que;” =”;rey(11: goto 25
99025800 zr%=1que : if 1que2<11
then 1var(lque2.zr%1=rey(11: gosu
b 9900 : print 1lVariable”;1que;+”;
1que2;” = ”;rey(13: goto 2599025810
zr%=lque : if 1que2>10 then nvarrl
que2−10、zr%1=rey+11 : gosub 9900
: print ”variable”;1que;”、”;1que
2;” = ”;rey(11: goto 2599025820 got
o 25990
25E150】fan%=othendX(jl31=reyfll:dmax
ljl=3:got。
25990 : print l”i Punkt”25855 11=2
: for 1=ivar(3,1zrXl+1 to 1var(4
,lzr%)+1 :11=il+1 : dxCj、1l)=rey(i
−11: next i : drna>、<j )=il: print d
max(Jl;” Punkte eingel”25860 goto 25
990
25900 if an%=Othen dy(J、31=rey(11: d
maxij)=3 : got。
25990 : print ”I Punkt”25905 11=2
: for 1=ivar+3.lzr%l+1 to 1var(4
,lzr%l+1 :11=il+1:dy(j、1ll=rey(i−1)
:nexti:dtnax(jl=il: print dma>:(jl;”
Punkte eingel”25910 goto 25990
25950 zr%=lque : gosub 9200 : pri
nt ”X−value”;1que;++ 、 ++ 。
1que2;I+= ”;reyrll、1que2 : if 1que
2<1 or 1que2>64then 25990
25954 re41que2+1001=reX′fll : gos
ub 9100 : goto 2599025960 zr%=lque
: gosub 9200 : print ”Y−value”;
1que;”、”;1que2;” = ”;rey(11,1que2
: if 1que2<1 orlque2>64 then 25
99025964 re(lque21=rey(11: gosub 9
100 : goto 2599025990 return
rem 傘宰*本*率**本ネ*ロート累算器 1事傘傘本本#*
11章ネ*本本本*傘*意寧寧零26000 on error goto
5000026050 on lrega got。
26070.26080.26100,26110,26120,26130,
26200,26200,26150゜26060 for i=1 t
o an%+1 : if opa=3 or opa=4 thenr
ex(i)=1 else rex(il+026062 if opa=
2 then rex(1)=2.7182818226065 next
i : goto 2620026070 hxs=mids(hls、
lpo+1.opo−1po−1126075for i=l to an
%+l : rexlil=vallhxs1 : next i
:goto 26200
26080 if zr+1quel<anX+l then an%=
zrf 1que l−126085for i=1 to an%+1
: if zrflque+=1 then il:1 elsei1
=i
26090 rexTil=dxilque、it+26095 next、i
: zr(lque)=O: goto 2620026100 zi
el=1 : zr%=lque : gosub 27200 :
goto 26200 :rem get x
26110 ziel=1 : zr%=1que : gosub 273
00 : goto 26200 :rem get y
26120 for i=1 to an%÷1 : rex(i)=c(lq
ue) : next i : got。
26130 if 1que2<11 then for i=1 to
an%÷l :rex(il=ivar(lque2,1que): nex
t i : goto 2620026140 il” 1que2>1
0 then for i=l to an%+1 :rex(il=nva
r(1que2−10,1que> : next i : goto 26
20026150 zr%=lque : (osub 9200 :
if 1que2<1 orlque2>nvarlLzr%)then
rex(1)=O: print ”out ofrange” else
rex+1)=reilque2+100126155 for i=1
to an%+l : rex+1l=rex(1): 、next i
: got。
26160 zr%=1que : gosub 9200 :
if 1que2G orlque2>nvar(5,zr%)then
rex(1)=O: print ”out orrange” : e
lse rex(1>=re[1que212(’165 for i=1
to an%+1 : rex+1)=rex(11: next i
: got。
26200 nlinks%=an% : on rrega got。
26215.26220,26240,26250,26260,26270,
26300,26300,26290゜26210 for i=1 to
an%+1 : rey(i)=O: next i : goto
2630026215 hy$=mid$(his、opo◆1.rpo−o
pa−1): for i=1 to an%÷1: reylil=v
al(hy$): next i : goto 2630026220
if’ zr(rque)<an%+1 then an%=zr(rqu
el−126225for i=1 to an%+1 : if zr
(rquel=1 then 1l=1 elseil:1
26230 rey、1il=dxlrque、1l126235 next
i : zr(rquel=o : goto 2630026240
ziel=2 : zr%=rque : gosub 27200
: goto 2630026250 ziel=2 : zr%=
rque : gosub 27300 : goto 263002
6260 for CI to an%÷1 : rey(il=c(rq
uel : next i : got。
26270 if rque2<11 then for i:1 to an
%+1 : rey(il=ivar(rque2.rquel : n
ext i : goto 2630026280 if rque2)1
0 then for i=1 to an%+L : rey(i)=
nvar(rque2−10.rquel : next i : g
oto 2630026290 zrX=rque : gosub 92
00 : if 1que2<1 orlque2>nvar(5,zr%
l then rey(1)=O: print ”out ofrang
e” else rey(1)=re(lque2÷100)26292 fo
r t=1to an%+1 : reyfi)=rey(11: nex
t i : got。
26295zr%=lque:gosub9200:1flque2<1or1
que2>nvar(5,zr%l then rey+11=O: pr
int ”out ofrange″ : else reyζ1)=re(
lque212629? for f”l to an%÷1 : r
ey(icrey[1): next i : got。
26300 nrechts%=an% : rem print I′ak
ku a = ”;rex(11;’。
akku b = ;rey(1)
26310 if nlinks%=nrechts%then goto
2636026320 if nlinks%=Othen for
i=1 to nrechtsχ+1 =rex(il=rex+11
: next i : nlinks%=nrechts% :an
%=nlinksχ
26330 if nrechts%=Othen for i=1
to nlinks%+1 :rey(i)=rey(1): nex
t i : nrechts%=nlinksχ =an%=nrech
ts%
26340 if nlinks%<nrechts% then an
%=nrechts%26350 if nrechts%<nlinks
% then an%=nlinksχ26360 return
rern **零本市零本零章神ディスプレイプリント参率零傘牢零章傘本章
*零傘零率率零本本京率重重6500 print ins+5paces
f79−1enfinlill : if an%=Othenprin
t reyfi): goto 2659026501hls=spaces
+79にfori=1to8:m1ds(hls+i”9+21=strSli
++” ” : next i : print his :
hls=spaces(79126502for i=1 to an%
: 1l=int(i/81 : 12=i−i1本8 :if 1
2=o then 12=826505 h2S=atrS(rey+i1
1+” ” : as=”E” :1e=instrlh
2s、as): if ie>4 then h3S=h2S :m1ds
(h2s、5.61=mids+h3S、ie、6)26507 m1dsr
hls、12本9−3.81’h2S : if 12=8 then
midsibls、1.4CstrS(i−7++” ” 、print
his :hlS=spaceS179+
26510 next i : print his26590 ret
urn
26600 print#11.ins : if an%=Othen
print#11.rey(11:goto 26690
26601 hls=space$+791 : for i=1
to 8 : coidslhls、i本9.2)=strSTil+”
” : next i : print#11.his :hl
s=spaces1791
26602 for i=1 to an% : jl=int(
i/81 : 12=i−i1宰8 : 1fi2=o then 1
2=8
26605 b2s=strs[rey!il++” ’″ 、
as =l+ E I′。
1e=instrlh2s、asl : if ie>4 then h
3s=h2s :m1ds(h2s、5.61=midS(h3s、ie、6
126607 m1dS(hls、i2京9−3.81=h2S : if
12=8 thenmids[hls、1,4)=strSii−71+″
” : print#11.hls :hls=spaceH79)
26610 next i : print#11.his26690
return
27000 on error goto 50000 : re
m *宰傘寧*宰率零傘傘傘電車registerart 車零零車本章本
零本市零率*宰27010 rega=o : 1que=o : n
que2=027011 if hs=”1” or hs=”2°’ or
hs=”3” or hs=”4°’ or hs=”5”or hs=”
6” or hS=”7” or hs=”8°’ or hs=
l19°’ or hs:”o”then rega=1
27012 if hs=”Z’ then rega=2 : 1que=v
al(rnids+hls、i+1.21)27014 if hs=”X”
then rega=3 : 1que=val(+n1dS(his、i+1
,21127016 if hs=”)”°then rega=4 : iq
ue=val(mids(his、i+1.2)+27018 if hs
=”C” then rega=5 : 1que=va1[m1ds
(his、i+1.21+27020 if hs=”v′’ then
rega=6 : ique=val(mids(his、i+1,2
)1: nque2=val(midslhls、i+4.2))27028
if h5=”A” then rega=7 : ique=
val1mid$!hB、i+1.2)>27030 if hs=”B” t
hen rega=8 : 1que=va1[m1ds(hlt、i+3,2
1>27040 if hs=”N” then rega=9 : 1q
ue=va11midSlhlS、i+1.’211: nque2=val
rmids(hls、i+4.2))27050 if hs=”M”
then rega=10 : ique=val(midsthis、
i+1.2>1 : nque2=va11midSlhlS、i+4.21
127090 return
27200 an%=ivar+ 5 + zr%l : lzr%=zr
% : gosub 9200 : ram傘1単JI率傘零傘車車車零車
率参ネ車 xr6g 本本京本本本**率車重率率庫零傘電零27235
for i=1 to 1var15+zr%]+127250 i
f zielJ then rexfil=reli+10012726
0 if ziel=2 then rey1i1=re(1+1oo1272
70 next i : return27300 an%=ivarl
5 、 zr%l : lzr%=zr% : gosub 9200
: rem傘本零零*率市本傘’yreg *零*ネ本ネ率牢京本*宰
本本**率寧27340 for i=1 to 1vari5.zr%)
+127350 if ziel−1then rexri)=re(i)2
7360 if zial=2 then rey+1l=re(1)2フ3
70 next i : return29800 print ’″
Interpreter error” : goto 25990299
00 print ”wrong 1nput” : goto 25990
rem **寧室傘市傘率重重本本章*傘ネル−チンノ入力***ネ*市率キ
ネ*章室傘章本傘*率京*rネ40000 1co1%=co1%+1enfp
ron+ptSl : 1l=1en(insl : 1fj1>1l
eer or 1co1%>?9 then 1ns=spacesI
ileerl :41j020 if 1eo1%+1leer>80 th
en 1leer=80−ico1%40030 if il<1leer
then in$=ins+5paces(ileer−il)4004
0 call curslco1%、 rov%l : print pro
mptS;ins;”tll:call curs+1co1%、rov%l
: 1a=o : tshare=10040050 1p:hile
ia<>13 : call echo(ia) : if
ia>1? and iaモQ7
or 1a=189 then 40190400601plot=ipl
ot+l : if 1plot>tshare then 1plot=
o : 1fpainter%(11>Othen gosub 430040
080 wend
40100 hll=spaces(801+”” : call res
dli(ro+z%、his) :ins=mid5(his、1co1%+
1.1leerl : hls=””40190 return
rem 傘車本傘本ネ*傘*零本本本本*エラー回復 本本傘本本
本本本零**零本車重50000 resume 5001050010
ca1%=O: row%=22 : call curs(co1%
、rOWχ)50020 print 1lInterpretererr
or ”err;” ocurred on 1ine”;erl
50200 print ’Hit any Key to pr
oceed” : As=inputs(1)50270 goto
20000rem 零本事本本本本車*オ本本傘率*率*本木本*宰本市傘車
傘傘傘傘傘本本ネ本事率*本本*零宰零ネ室II率隼岑hem *率**本
本**傘本ネ*本*率率零市傘率*率傘*オ章車本准章率ネ**車重本率章本亭
率零本零率傘傘傘璋em
傘傘傘傘傘傘摩率、I津オ傘車寧事ネ車傘享車本富章本ネ傘率嵩傘本本市寧ネ本
寧隼事本亭傘零本本章本牢事零傘*富本*ren+
ソースコードの開始宰寧率車重傘傘傘零本零本傘傘本率率傘宰本零宰**本傘*
*本本本本本本本本率W#本寧**零本本傘本傘本章*零本幸ネrem 零
オ傘オ車零ネネ寧*ネ車***本 限定 傘牢重重本傘木ネ
率車傘本市権本京率宰*傘車90 rem 5include : ’
comvar’220 讐1dth 255 :
222 dim ps(101
223dim 1nterpkllo)+1svarlB)+1svarlB
)225 dim rex(5001,rey15001.re+4001
.varr5,201+hss151.tnc!5)、dios(5>、sr%
+5.5)、swe(5,5+、swr15.51+fak%+5.51
22761m lbeg(5)、1endr5)、1stepr5)、P(5)
230 xx=1: yy=1: zz=o : smooth=2
: var+1.1)=0370 field#8,130
as vats : field#9,256 as els、25
6 as e2■
410 close #11 : open ”LPTI:” f
or output as #11 1en=80rem 傘本*傘寧傘
寧事傘章傘 フォートによる開始 零本傘傘率重重零率
車重*450 ren
490 if forts=3 then gosub 3000
: goto 550500 gosub 1500 : fo
rts=2550 if warnX=1 then forts=1
560 close#1.#2j3+#4.#5565 for i=1
to 5 : diosli)=”” : his(il=””
: next 1570 for i=1 to 20 :
filenaroe$(il=”’ : next 157S wout
s=””
580 5vase”’ : nS=”’ : his=”” :
in$=″” : e X l s : II H:eχ2 $ : ”
”
585 rem
590 colχ”O: row%=22 : call curs
(co1%、row5Gl : printfre(””1
600 chain pretS
ヱ500 rem
1600 if tein=4 then gosub 1900
: forts=2 : return1760 on teart、
goto 1764,176ε、1772.1776.11781764 c
all clg
1766 for j=1 to anztit : zrχ=tque(
jl : gosub 15000 :next j : ret
urn1768 c#ll els
1770 for j=1 to anztit : zr%=tque(j
l : gosub 13000 :next j : retur
n
1772 goaub 10000 : returれ1776 g
osub 10000 : return : rem ein
2esen und H1tteln1778 return
rem ca1%=O: row%=22 : call curs(
co1%、row%l : printspaces(791: j=1
: gosub 7520 : gosub 2000 :retu
rn
rem 1780 print formats(121: gosub 5
000 : if as=”E” oras=”e” then ret
urnrem 1782 on error goto 6000 : g
osub 1660 : 1ftouchf>inl]p(teartl
Or touchf<1 then returnrem 1785 hl
S=driveS+m1dSfinhaltS(teartl、touchf寧
8−7.81+−、”+m1dSifileke’nnS、teart、1)+
1nitialen! :h2s=drive!+”rescue、sys”
: kill h2s : name his ash2s :
print#11.File ”;his;’°geloescht″″re
m 1790 for Ctouchf to 1nhp(teartl :
m1ds(inhalts(teart l 、touchf率8−7.8
)=midS(1nhalts(teart l +touchf*8+1.8
1 : next i : inhp(teartl=inhp(te
artl−1rem 1795 goaub 1200 : return
rem傘零零*宰*京本本キーボード人カル−チン 寧傘零傘車*傘章ネ
率率宰ネ傘傘鳶寧1900 zr%=tque(11: 1ns=”Naro
e der Daten ” : 1spa=18 :gosub 1
990 : hi$=mids(ins、l、IEI11910 1spa
=2 : 1nS=″本 Bezeichnung zB、 at
” : gosub 1990: his=his◆m1ds(ins
、1.21 : 1spa=12 : in$=”Datum :
gosub 1990 : hi客=his+aiids(ins、l、
1011915 1spa=20 : 1nS=”Enzym Name
” : gosub 1990 :)+1l=hiS+m1dSζin
s、1,20119171spa=10 : 1ns=ins÷” Kon
zentratior+ :” : gosub 3960: nva
rll、zr%1=h1
19181spa=20 : 1ns=”5ubstrat Name ”
: gosub 1990 :m1ds(ins、20.ll=”K”
: his=his+m1ds(inS、1,20119191spa=
10 : in$=ins+” Konzentration :ll: g
osub 3960: nvar+2.zr%)=h1
19201ns=”)Iessbereich (2Eingaben)”
: gosub 3960 :1var+1.zr%)=hl : 1va
ri2.zr%)=h2 : 1nS=”Normierung1=on
0=off” : gosub 3960 : 1var(6,zr%):h1
1922 if 1var(6,zrχl=1 then 1ns=”No
rmierbereich ” :gosub 3960 : 1va
r+7.zr%1=hl : 1var(8,zr%1=h2 elsei
varf7.zr%I=O: i%1ar(8,zr%):019251ns
=”Anzahl )iesspunkts ” : gosub 39
60 :j、var(5,zr%1=hl : 1var(3,zr%l
=1 ; 1var(4,zr%)=ivarf5.zr5G++1 :
krn=10 : vmax=1001930 for i=1
to 1var(5,zr%)+1 : co15c=o : 1n
S=”X−Wertund Y−Wert”+5trS(i−11+” 1
′ : gosub 3960 :refi+1001=hl :
re(il=h2 : row%=rowχ41 : xf rov
e>42then row%=22
1940nexti:co1%=o:row%=221950 nvar13.
zr%cO: 1l=o : nvar(3,zr%)+refivar
+5.zrχl+11 : gosub 9100 : gosub
9910 : return1990 call cursfco1%
、row%] : print ins;5paces(ispal
:c、olχ=co1%+1en(insl : 1ns=”?”+5pa
ceSfispa−1)1995 gosub 40000 : co1%
=0 : if m1ds(ins、l、41=”exit” ormid
s(ins、1.41=llEXIT” then print ”abgeb
rochen ” :goto 500
1997 return
rem *本京傘*本*本*零車重スワ・ンプワークファイル!零車本本本本車
重傘本零本率*市電傘率3000 on error goto 60
00 : co1%=O: rowχ=22 : callcurs
(co1%、row%l二printspaces!79):1leer=23
010 ca1%=12 : call curs(calχ、ro−
%l : print ”Enter nam■
of workfile to be read″13020 ca1
%=O: 1ns=”b: ” : gosub 4000
0 : 1flen(insj<>10 or m1ds(ins、2
.11<>”:” then 30003030 filenames(1
1=inS3100 co1%=o : roW%=22 : cal
l curs(co1%、rovel : printspaces(791
3110ca1%=12 : call curs4co1%、rovel
: print ”Enter naiveof workfile t
o be written”3120 ca1%=O: 1ns=”b:
” : gosub 40000 : 1flenCins
!<)10 0r m1ds(ins、2.1)<>”:” then
31003130 filenaneH21=ins3150 if file
nameS+11=filenameS!21 then print ”f
ilec、annot be copied to 1tself” : g
oto 30003160 rem
3170 ca1%=O: row%=22 : call cursl
co1%、rove): printspaees[791
3200if mids(filenames(21,3,8)=spaceS
(81then 35003205 call curs+co1%、rove
l : print ””;filenamesf21
3210 rem
3220 close #2 : open ”r”j2.filenames
(2>+”、KvA”、130 :fieldj2,130aswouts32
30 for i=1 to 99 : call curs(
co1%、rovel : print9°、tor、++、i、II
++3240 get#8.i : hls=n+1dslvats、
130.11 : if hls=’°に9°orh1$=” ” or
hl$=”B” or hl$=”、” or his−+”R” the
n 3250else 3800
3250 1set wauts=vats : putj2,1326
0 next 1
3310 rem
3320 close 42 : open ”r”、12.filename
s+21+”、KIW”、512 :field&2,256 as exls
、256 as ex2s3330 for i=1 to 99
: call curs(co1%、rovel : print”5
tore”;1;” ”
3340 (et#9,1
3350 1set exls=els : 1set ex2s=e2
s : putj2,13360 next 1
3390 closeB
3500 if rnid14filenarneS+11.3,8)=spa
ceS(81then 37203505 call curs(co1%、r
ovel : print ””;filenamesfll
3510 close #1 : open ”r”jl、filenames
(1)+”、KVA”、130 :field#1,130 as woutS
3520 rem
3530 for i=1 to 99 : call curs(c
o1%、rowxl : print ”read”、 i 、 ++
1
3540 getjl、i : hls=mids(wouts、130
.11 : if hls=’°K” orhls=” ” or hl
s=”B’ or hls=’、” or his:”R” then
3550else 3850
3550 1set vats=wouts : put#8,1356
0 next i : 1l=993610 close #l :
open ”r”l#1.filenameslll÷”、KIW”、51
2 :field=1,256 as exls、256 as e
x2s3620 ram
3630 for i=1 to il : call curs(
co1%、row5cl ; print readIt 、 i 、
II ++
3640 getjl、1
3650 1set el$=exls : 1set e2s=ex2
s : put#9,13660 next 1
3690 ram
3700 closeH: closeB3710 for i=1
to 99 : gosub 9800 : next 13720
call curs[co1%、rovel : print 5pac
es(79)3750 forts=3
3790 return
3800 print ”active workfile is 1n
valid no file 5tored :operation ca
ncelledl+3810killfilenames12):close#
にclosed:goto37503850 print ”1nvalid
workfile on disk : read 5topped atfi
le”;i−1: 1l=i4 : if ill then 3610
3860 closetl : clost#2 : goto 37
50rern 本*傘傘零京車本零傘寧*本寧傘宰 入力1または2
重重章本本零11ネ零傘本本*3960 call curs
lco1%、rove) : print inS;5pac@5(isp
a) :co1%=co1%+1en(ins) : 1ns=”?”+
5paceS(ispa−1) :gosub 40000 : co
1%=03970 aS=”、” : ikg=instr(inS、a
$) : if ikg=o thenhcval(insl :
h2=o else hl=val(n+1ds(insj1.1kg−
1)1: h2=val(rnidS(ins、ikg+1.len(ins
)−ikg))3975 return
rem 傘本本傘本本車重傘傘バックグランド出力 $11車率本率本率本
零率本ネ*率傘ネネ本牢市*4300 if pointer%(51<1
or 1plot<Othen 43204305 if eof
113) and aufspulen%=1 then 43204
3]Oif not eof(13) then 1nput#13.
io$ else gosub 4400 :return
431:l prLnt#12+1O54320return
rem オ零車本本*傘率譚オープンスプールのクローズ で本寧傘**傘本本
本本本本車傘率ネ重重車重本4400 print*12.”Pυ PA
O,0;SP O;” : closeB2 : closetl3
:kill °’PLOT”+str$(11: pointer%(
1)=pointer%(1)−1:if pointer%+11=o
then pointer%(5)=O: goto 44254405
for 1ps=l to pointer%+11 : na
me ”PLOT”+5trS(ips+11as ”PLOT”+gtr
s(ips) : next 1ps4415 open ”o”、
#12.”PLT” : width #12,128 : ope
n”i″、#131″PLO丁”+5trS(1)4420 1nput#13
.ios : if 1os=”5TOP” then 5co1%
:0 :srow%=22 : call curs(sco1%、sr
ow%) : print ”BitEnter when Plo
tter ready (s=stopl” : as=input$
+1): if as=”s” ↑、hen pointer%(5)
=O: closeB2 :closetl3
4425 return
rem *寧零京車重本*1***零 コマンドインタープリタ−寧率率車重
零愈傘本率率率書車重重*rem 4500 ca1%=O: row%
=2? : call curs(co1%、rosxχ)rera
4510 row%=22 : gosub 40000 : c
all cursfco1%、row%l @:
print 5paces+159)
rem 4520 if 1a=189 or 1nS=’°e” or 1n
s=”E” theninterpreter=o : returnr
em 4950 call curs(co1%−row%l : pri
nt ins : gosub 20005rem 4990 ret
urn
rem ***傘*率率本重重車重ボードタッチスクリーンマウス入力*本**
零章寧5000 print chrs(27)i、”−z2N”; :
rem*ネ*傘率本市重重*傘車本傘京*率傘零*宰本タッチセンスオン 傘本
111本***5005 1plot=iplot+tshare : i
f 1plot)tshare then 1plotニー5007 ifl
ag=o : if pointer%+11>Othen gosub
43005010 al$=inkeys : print chrs12
71; ’°−zON”; : rem傘本傘率*ネタッチセンスオフ
市率*本ネ率*傘**本本5015 if 1en(al$1<1
then as=” ” : b+o : a=o : go
to 5X90
else as=mids+als+1+11 : a=asc(asl−
17: b=ascfaS)−89: iflag=1
5020 if 1lock=1 th@n return5022
tfeld:O: tarray=o : tsoft=o : t
cal=o : trow=o :1col=o : irow=0
5025 if asc+asl>17 and asc(asl<2
7 then tsoft=ascTasI−17: returrl
ten 5030 if a$=”本1° then gosub
1000 : returnrem 5040 if a$=’/”
then gosub 2000 : returnrem 5050
if a$=”+” then gosub 3000 : retu
rn5060 1f as=”−” then prets=”vsp”
: pinit=l : forts=2 :forts=”pi”
: 1fort=1 : running%=o : retur
n5070 if as=”&’° then 1nterpreter=
1 : 1ns=”? ” : return5500 if a
$=″” then b$=inkey$ : printchrs(2
71;’°a”;chrs(1?): b$=inputs(12):ico
l=val(mids(bs、5+21): irow=val+m1ds(
bS、9.2+15520 for i=1 to 25 : 1
l=1+(i−11$2+fime−1)京100 : 12=i+655
530 if 1con1i11=icon(il+11then 56
005540 oco1%=iconfil)/100 : oroIN
−χ=icon+111−oco1%寧1005550 uco1%=ic
on(il÷11/100 : urow%=icon(il+1l−uc
o1%$lo。
5560 if 1col<oco1%or 1col>ueo1% the
n 55805570 if irosy)=orow% and i
row<urov%+1 then tfeld=i :return
5580 if asc(as)=i2 then tfeld=i :
return5590 next 1
56001po1nt=(irae−13車100+51 : 12=89
: tarray=15610 1=ipoint : if 1
con(il=o or 1point>(ime−1)宰1004100
then tarray=o : return5620 if 1co
n(il>9899 then rowoff%=icon(il−9900:
anzzl;=iconli+1)/100 : anzs%=icon(il
1l−anzz%*100else tarray=o : retur
n5630 for i=1 to anzs% : 1l=ip
oint+i本2 :oco1%=iconlill/100 : orov%
=iconrill−ocolllo。
5640 uco1%=icon(il÷11/Zoo : urow
%=icon+il+1’1−ueo1%寧1005650 for j=1
to anzz% : 12=i2÷l : orov%=orowχ+(,
1−11市rowoff% : urov%=urow%+(j−11傘ro
woffx5660 if ieoユ<oco1% or 1coDu
co1% then 56805670 if irow>=oro\“
%and irow<urov%+l then teol=i :trow=
j : return
5680ifasclas1+12thentcol=i:trob“=j:r
eturn5690 next j
5700 next i : 1point=ipoint+anzs
%ヰ2÷2 : tarray=tarray+1: goto 561
0
5990 return
rem 車京*愈本零率**率京重重**傘ネ車 エラー :s復
”本本本*本本車重零章傘率庫*6000 resume 6010
6010 print ”Ein Fehler ”err;” i
st auf Zeile ”;erl;”aufgetreten
”;
6200 print ”Hit any Key to pro
ceed” : m5=input$(1) :forts=1
6290 (oto 560
9100 rem $4市本ネ傘廖傘 ワークファイlしにre(lと書込む
・ 傘*傘本傘傘XLII寧零車市9105 if zr%>100 o
r zr%<1 then zr%=19110 n5=spaces
f25319120 for wl=1 to 63 : m1d
s(ns、wl牢4−3.41=lnksS+refwll) :next
wl : 1set el$=ns9130 for wl=10
1 to 163 : m1ds(ns、fsyl−1001本4−3
.41=+nksSlre(wl)): next w191351set
e2s:ns : put 89.zr%9140 return
920Oram 重書*本章零率車重寧*7−97アイlレカラのreOの読n
’) 車本本*車重零寧9205 if zrχ>100 or
zr%<l then zr%=19210 get #9.zr%
9220 for wl=1 to 320 : re!wll=
o : next w19230forwl=lto63:re(wl)
=cvs(midsfels、wl傘4−3.43):next+−一嘗1
9235 for wl=lol to 163 : re(wl
l=cvs(midS(e2S、(wl−100114−3,41) :
next w19240 return
9800 rem *零*率車重7 yファイルh’うf)R数読取1)
”本零傘本零率零**9802 if zrχ)100 or
zr%<1 then zr%=19805 get i8.zr%
9810 for wl=1 to 109820 ivartwl
、zr%+=cvi(mid$+vats、wl率2−1,213 :nva
r+wl、zr%l=evs(mids(vats、w1京4÷17,4)19
830 next ssl : return9900 rem *本
車重**** 7 、yファイ)レニ変t ヲ書込(r 寧寧寧宰
* * 本* 寧9902 if zr%>100 0r Zr%<l
then zr%=19905 get #84r% : his=mi
ds(vats、61.To)+” ’ −9910n5=sp
acesr13019915 for wl=1 to 109930
m1ds(ns、wl寧2−1.21=mkiS(ivarrwl、zr%ll
:m1ds(ns、w1本4+17+41=mkssinvar(wl、z
r%))9940 next wl : m1ds(ns、61.70)=m
id$(his、1.70)99501set vats=ns : pu
t 8B、zr% : 1u(zr%)=19960 return
rem *本本ネ0電牢率零*読込みおよび平?、 **零率
率l”本本竿本零*1本傘本零本10000 call clg
loolo for jl=1 to anz(em : (os
ub 11000 : next jl : 窒■■
read Variables
10030 gosub 11300 : rem display
und check10040 if 1ende=1 then
1035010050 for jcl to 2 : go
sub 11600 : next j110070 gosub
12000 : rem read 3 Bereiche
5eriell undstore parallel
10250 for j2=l to 210260 zr%=t
queC,521: gosub 920010290 11=o :
nvar(3,tque(j21)=010300 for 、1=
ivar15.tque(1)1−1 to 1var(5,tque(1
)1+110310 1cil+1 : nvar+3.tque(j
2N=nvar(3,tque(j2))+re+j110320 nex
t j : nvar(3,tque(j2))=nvar(3,tqu
e(j2)l/il :print ”Haximalwert der
Titrationskurva ”;j2;” =”Hnvar(3
+tque(j2)110330 gosub 9900 : ne
xt j210350 return
rem傘車本*傘珍本本**傘傘*入カフアイルからの変数の読取リ
率差車重重重*11000 close#jl : on error
goto 6000 : open ”i”、#J1゜filenam
eslJll
11010 1ine 1nput#jl、hss(jll : if
1enlbss[jl)+<137 thenllolo else 1i
ne 1nput月1..his11040 for i=l to 2
0 : var(jl、il=val(mids(his、i本12−!1
,1111 : next 1110421ine 1nput#jl
、his11044 1ine 1nput#jl、his11060 1v
ar(5,tque(111=var(1,51: nvar(4+tque
(11)=var(1,6): nvar(1,tque(1))=var(
1,3+110l1065enzks=$lhs$(1>、43.20)二en
zss=midsihssi11,63,201
11070 return
reW+率宰*オ*零*W*本率デ車重プレイおよび変数チェックt ’J *
零掌本本手本ネ市亭11300co1%=0:row%=1.:callcur
sfco1%、row5C111305for jl=] to anzgem
: print hssl、4口11310 for 1l=1 to
611315 for is1 to 10 : print u
sjng”j###、S#”1VJLr(、)1+(11−11”lO+ll;
: neXti; prlnt11317 next 11
11320 next jl : print ”k = Korrekt
ur f= fortsetzene=exit” : 1ende=01
1325 as=inputH1111330if as=”a” then
1ende=ff : goto 115001142Off as=”
f” then goto 1150011430 if as=”k” th
en goto 11460114601nput ”Geben Sie d
ie Kinetik +1−51 und dieVariable”;i、
il : row%=011480 print〜’arは+il) :
1nput var(i、ill : goto 1132511500 re
turn
rem 傘” 内部変数に入力変数を書込む
Il*11600 zr%=tque(jll : rem *本*
宰車車車車重*幸傘 ストア零電車車*岸本傘本車II*市本零車重本本零率傘
率率率零本本本本寧ネ本本11610 nvarfl+zrχ1=varll、
3): nvarC2,zr%1=var(1,14+116201var(
5,zrχ1=intfvar+1.5+1 : nvar(4,zr%)
=varl 1 + 14 ): 1var13.zr%l=1 : 1
varf4.zr%1=int(ivar(5,zr%l+]111630iv
ar(6,zr%l=l:1var(7,zr%1=var(1,101:1v
ar+8.zr%)=varf1,11); iloar(4,zr%)=i
nt(1var+5.zr%)+1)
11640 nver(3,zr%l=o : nvarf5.zr%)=1
: nvar(9,zr%l=0 :nvar+10.zrχ)=O:
nvar(6,zr%3=O: 1var(10,zr%1=011650
if Jl=1 then 1varfl、zr%)=varN、1) :1
var12.zr%1=var(1,21else 1var(1,zr%1=
var(1,121:1var12.zr%1=var0.13)11690
his=f ilenames I 11+5paceS l 18−1en[
f ilenames (1i l lTl1dsThss(11,1,1)+
mid$fhsSf1+、3.11÷m1dslhss(I +5,10++m
1dslhss111,43,391÷1°K”11700 gosub
991011750 return
12000 rem ***カイネチックファイルの読取りおよび平均 寥重重
本處率孝**sネ12010 for j2=l to 320 : re
(j2)=O: next j212020 for ji=1 to an
zgem12070 for j2=l to 1var(5,tque(
1)141 : 1ineinputJjl、diosljl1
12080 ins=midsCdios(jl)、1.91+m1d
sldioS(、ill、11.21 :reij2+=rerj21+va
l(inSl : print ”寧”;ins;”率II 、 I+”
;re(j21゜
12082 ins=midsldios(jll、13.9)÷m1ds
(diosl、jll、23,2):relJ2+200)=re(、+2+2
001+val(inS) : print0°市++ 、 ins 、
I+ネ°’ i ” ” ; re (J 2+200 > 112084
1ns=mids(dios(jll+25+9)4m1dS(dios(j
l)+35+21 :re(J2+1001=reTj2+1001÷val
(insl : print1°車1= 、 i ns 、 ++車”:”
”Hre(j2+100312090 next j2 : clo
se #jl : diosijl)=” ” : hsS(jll
=”。
12100 next jl
12110 for j2=1 ta 320 : re(j21=re
rj21/anzgen : next j212130 zr%=tque0
.1 : gosub 9100 : rem 5tore Kine
し1k112140 for 、52=1 to 64 : re(j21
=re4j2+2001 : next j212150 zr%:tqL
Ie+21 ; gosub 9100 : Tera 5tore
kinetiシ:212200 return
rcm 傘車率*本本傘***本本本*本車重**ネ率**本本事***本本本
本本ネネ寧率宰本寧重重軍傘*本京オ本本13QQQ return
rem ***本本**ネ*木本傘X−Y デー9フアイlしの読取り を率
章京11*本傘傘ネ車率本本牢*本15000 on error go
to 6000 : if j=l then 15020150
10 Lf filenames(jl=filenames(j−11t
hen 1505015020 close#1 : open ”
i”、#1.filenames(J) : inmod=115050
ef1mg=o : 1nput#1.hss(11: if 1e
n(hss1111(3thenhs$+1)=hsS(11十゛パ。
15052 if m1ds(hss(11,1,31=”零本車” t
hen print hssrll :inmod=2 : n=5
00 : goto 1506015053 if lTl1dsT
hss(1)、1.31”’///” then print hss4
11 :inmod=1 : goto 1505015054 n=
val(raids(hssfll、1.31): print hss(1
115055if n>500 or n<1 then prin
t ”n 1stfalsch”;n;Il*”;hss(1);”*
a=abort r=retry″l :m5=inputs+l): i
f as=”r” then 15050 else 1540015060
for is1 to n : 1nputjl、hss(11:
ifmidslhsslll、1+3)”’///” or m1dslhss
(11+1+31=”*””then 15100
15062 if inmod=2 then 15075i5065
hsS(21=midSfhs$(11,1,91÷m1ds(hssfll
、11.2):hsst31=mids+hss!11.+4.91+m1dS
(hsS(11,24,2115070rexti)=valfhsS(21)
: rey(i)=val(hss(3)): printrexiiLre
yiil : goto 1509015075 12=lenfhs$(
11): for 1l=1 to +2 : ifmid$(hs
S(11,il+11=”=l′ then 1508515080 nex
t il : goto 1509015085 rax(il=va
lTmidsThss111.1,1l−111:rey(i)=valht+
1dS(hssfll、ill1,12−ill)15090 1feof(1
1then i=i÷1 : goto 1510015095 ne
xt 1
15100 if inmod=2 then n=1−115105
if n<63 then goto 1520015110 pri
nt ”Anzahl Punkte is zu gross l>631
”;n15120 print ”Bitte geben Sie
Anfangspunkt、Endpunkt。
und Schrittweite (0,0,0=exit)”15125
print ”Bei 200 Punkten zB、!、120.2”1
5130 1nput tl、t2.t3 : if t3=Othen
goto 1540015135 if (t2−tl)/13>63
or t2<jll1 or tl<1 or t2>n then151
40 11=0
15150 for 1=tl to t2 5tep t3 :
1l=il+115160 if t3>2 then rex(H
)=(rex(i−1)+rexlil+rexイi+111/3 else
rexiil+=rex(il15165 if t3)2 then
reyii11=+reyli−11+rey口、l+rey1i+l+1/
3 else reylill=reyli+15170 next
i : n151200 for is1 to 64 : reT
i)=O: re(1+1001=o : next 115210
for is1 to n15220 re(i+1001=rex(
il : re(il=rev(il15230 next 1
15280 for j2=1 to 10 : nvar(j2.z
r%)=O: 1var(j2.zr%):0: next j2
15290 gosub 9100 : rem 5tore Kine
tik paralle115295 1var(54r%)=n : 1
var14.zr%)=n+1 : 1var(3,zr%l=1: n
var(2tzr%)=re(n+1001 : nvarT4.zr%)
=reln+100115300 filenames+j)=filen
ameS(j)+5paceS(20) :hi$=micl!(filen
arnes(J)、1.18)+5paceS(491+”K”15310
gosub 9910 : rem 5peichern einzeln
er 5pektrenVariablen
15400 return
40000 rem 本章本本零本本傘零本*傘キーホード人カル−チン
1ネ傘本傘傘本*傘傘40010 1p=1 : 1ns=o
: on error goto 40600 : con%=7
3 :rox%=row%
40020 call curs+co1%、row%l : pri
nt ins;5pace$1ileer) :callcars!co1
%、row%lコil+nax=len(ins140100 co+t’;
=colχ+1p−1: call curs(com%、row%l
: 1lock=1 :gosub 5000 : 1locks+
o : if 1en(alsl=1 then got。
40105 if fen(ill)=2 then goto 4
012040110 goto 4010040120 if als
=chr$(271then 1ns=1 : al$=’° ” e
lse 1ns=040130 if als=chrs(1271th
en goto 4050040200 1a=asclal$1
40210 if 1a=13 or 1a=189 then
goto 4030040220 if 1a=9 then if
ip<i1max+1 then 1p=ip+1 :eomχ=c
o1%+1p−1: l1Ioto 40100 else goto
4010040230 if 1a=8 then if ip
>1 then 1p=ip−1: cam%=co1%+jp−1:
goto 40100 else goto 4010040250 if
ip(=i1max and 1ns=o then m1ds(insliP
+11=als :print als : 1p=ip÷1 :
goto 4010040260 if ip<=i1max and 1ns
=1 then 1ns=ins+” ” : foriixlen(
insl−1to ip 5tep−1: m1dsTins、ii◆2,1
+=mid$(inS、ii+13 : next ii : m1ds
(inS、ip+1)=all :gOto 40020
40270 1ns=ins+als : i1max=ip : 1
p=ip+1 : print als :goto 40100
40300 return
40500 if ip>1en(inn then goto 40300
40510 for 1i=ip to 1en(insl−1: m1ds
rins、ii、1)=midiiins、ii+1.11:nextii40
520 hls=ins : 1=lenlinS+−1: ins=m
id$+hls、l、11 : got。
40600 resume 4061040610 print ”Ei
ngabefehler ”err;” ist auf Zeile”;
erl;” aufgetreten ”;40620 print ”
)Ijt any Key to proceed″ : as=i
nputs(1)40630 goto 40000
1” e m 11 *寧*率***傘本車車率ネ*本ネ本本*本本本
*本*ネ*傘車章車零本本傘本本傘零章本*傘愈傘車本rCrlI 傘*
”$MICHFrTソフトウx7: rki、bas 率率*傘*本*
*車重rem 隼率率書章 作者 : Bruno M
iehel I本事率率ネネ*本本宰em
零本***牢寧京*市*オ**率率ネ本市本*ネ**本傘車隼傘本本本傘本本本
本本本車ネ*宰本本本本本車本零*零*rem ソー
スコードの開始本牢本本本ネ本*重重京*傘宰**市***本**本ネ*牢本車
重本率寧***率本本率本本本ネ*率車ネ*本傘*本ネ本rem *車重率
*傘京本***本市**牢** 限定 本*章重重**
*零市率本本本本*オ本90 ren+ 5include : ’com
var’220 width 2’+5
225 dim ref4001.iregrll、11)、erww(11,
11)。
raster(11,111,fak%(11,11)226 dim rex
+3301.ray(330)、zr(10)、1k(101,1st(101
+1nterpk(10)
227 dim lbeglll)、l畿ndi)1)、1stepHll、f
itχtill。
pne%(Ill、daχ
【11)
232 drucker%=1 : b$=l′e” : offse
t%=o : anzan%=0250 xx=1: yy=1:
zz=o : 5rnooth=2 : running%=1 :
1plot=O
: 1lock=o : pointer%(26)=0260 exp
S=”+#、e手&++−1270 idmax=pointer%イ21
: eornfile%=pointer5R3) :1nterpret
er=pointer%+4) : dbezS=”a:b:c:”rem傘
京**率*本本*宰率**ネ傘ネ率本重重イネチックストリング本*宰***傘
零電ネ本零零300 formatsT791=”車*牢ダイレクトカーブフィ
ツト/シミュレーション本*10 = user :”
332 formatslBolx” l = Miehaelis Me
nten 4 = Hillequation フ= Inh
ibition (ki) lo=own”334 formats(81
1=” 2 = Con5ecutive reaet、 5 =Non
cooperative 5ites 8 = υnncorep、inh、
Formula”336 formats+821=’° 3 =
2 km 2 Vmax values 6 =Sequential 1
nteract、9 = Noncomp、inh、”338 formats
r831=”11 = Dependen 5ite m、 14 = E
xchangemechanism 17 = Line%/eave
r Burke”340 formats(841=”12 = Xnde
pendent 5ite m 15 = Var。
1nhibitor 18 = Eadie Hofst
ee ”342 formatst85)=”13 = Dead end
complex 16 = 19= Hanne’s Wool
fe ”344remods=”MichaelisMentenConse
cutivereact、2Jon 2 Vrnax values Hil
l equationNoncooperative 5itessequen
tial 1nteract、Inhibition(kl) υnco
mp、inh、 NoncoI!Ip、inh、 ”34
6 reIIIoes=’°Dependen 5ite mechan、In
dependent site)IDeadendcomplexExchan
gernechanismVar。
Inhjbitor Linear Regression Li
neweaverBurke Eadie Hofstee
Hannes Woolf ”350 filenarnes(11
=”vmaxPal VmaxVmaxVmaXVmaxVmaxVmaxVm
axPal klo klo klo klo VmaxVmaxVmaxv
maxVmax”351 filenames(21+’°にm Pa2
Kml K ’ Kml Kml Ki 、)Cml )CmlPa2K
I KI KI KI K4352 filenames131=
” Pa3 Vm2 Nh 亭 * Vi
nhKi K1Pa3に2ok2ok2oke〜’res*傘富1゜353
filenames(41=”Pa4Km2本津Pa4 K2 K2 K
2 k3354 filenames+5)=”
Pa5355 filenames+63=”
Pa6356 gebs=”Please enter ; ”360 pr
ess=”\ \ : H##、## nM
\\Hax・ : N##ζ、## uM”365 pres2$=”da
ta points used froIII: ### to u#
register with absolute deviations u
”370 pres3s=”regre*5ion type ’
400 if pinit<>1 then goto 900410 fi
eld#8,130 as vats : field#9,256 as
els、256 as e2S420 close Jll : ope
n ”LPTI:” for output as 8111en=80rem
**京*11車宰本孝*lI宰京11傘寧宰倉宰宰傘オ章寧零ネネ零本牢
本章車*率傘傘傘章傘*零本市傘宰宰倉宰ネrem
メインプラグラムrem 本本本本傘本本本傘*本本章*車傘本亭本*ネ*率
率オ本傘ネ傘車本章率**孝*宰本*零傘傘率率率隼重重本500 while
running%505 rem if warnz%>Othen
gosub 6300510 rern if comfile%>Oth
an as=macros(comfile%l :comfile%=co
mfile%÷1 : if comfile%>21 thencom
file%=0
515 rem if eomfile%>Othen gosub 450
0520 rem if comfile%=Oand 1nterprete
r=1 then gosub 4500550 tshare=100 :
1leer=1 : 1lock=o : if comfile
%=o andinterpreter<)1 then gosub
11000 : rern***傘**寧オwarte auf Ei
ngabe 率率560 if ime<1 or ime>3
then ime=1565 if 1fla(=Othen 79057
0 gosub 3400
790 we’d
率牢零本本章零本本本***傘本本*****宰*本零本ネ牢市*傘傘車市*傘
傘*傘本市本本傘**本*傘*重重ネ京傘rem サブルーチ
ン/プロデユース亭車重重ネ率*ネ本**章寧宰*本車牢本本珍車重本寧章11
牢本傘傘傘ネ本*傘傘宰車本本*率率埠*傘書率京寧本傘率rem *本幸率*
*本ネ寧**ネネ2クリーンストリングスペース零傘倉*傘*本市本零本零章傘
本牢ヰ800 hS=”” : his:++++ : h2s=””
: h3s=Ill“ : h4s=’°” : hTs=’”+
1
: h6s=”” : h9s=”” : hlb!=”” :
hxs=”″ : h)・S=””805 gebsH”” : ze
sts=”” : fsps=”” : hj$=”” : hk
s=”” :hls=”” : hml=”” : 5zs=″”
: press=”” : pres2S=”” :pres3S=
””
8101ns=”” : 1ntp$=”、 forms=”” 、
、arns=1111 、 remods:Hll: remoes=
””
815 for 1=78 to 90 : formatsli+=”
” : next i : for 1=1to 20 : fi
lenames(il=”” : next 18201=frei””1
825 for 1=41 to 50 : 1pii)=1 :
next i : pointer%1131=0830 point
er%+21−21−1d : pointer%131=comfile
% :pointer%+41=interpreter : chain
pretS900 end
rem 本零ネオ傘ネ傘**傘零*傘愈ネ傘−ダイレクトリーラインV*本本*
孝本す京寧傘本零ヰ本京宰傘車3300 if zrχ>anzeige傘
17 or zr%<=fanzeige−11車17 then g
ot。
3305 ca1%=O: row%=l(zr%−11nod 171
+5 : if rowx>22 orrowχ<5 then
goto 33903308 call eurs+co1%、rOWχ
) : print 5paces+7913310 call cu
rs(co1%、row%) : if zr%>99 or zr
%く1 thengoto 3390
3320 1u(r:r%l=1 : print using fo
rrnats(651;zr%、m1dslvat$、61.181.m1ds
(vats、?9,21 、m1ds+vat$、130,1)+1var+1
、zr%+、1var(2,zr%l、1var(5,zr%Lnvar(1
+zr%l+nvar(2+zr%1、nvar13.zr%l、1var(7
,zr%J、1var(8,zr%)3390 return
3395 ca1%=O: row%=22 : call cur
s(co1%、row%) : printspacesf1591 :
co1%=O: row%=O: callcursrco1%、ro
w%1
3397 return
rem 傘復帰メニューからのコマンドを実行するルーチン3400 rem
3410 row%=22 : call curs(co1%、row%l
: if tsoft>Oandtsoft<9 then 350
03490 return
rem傘本本ネ*寧車ソフトキー機能と実行するlルーチン
本本#*ネ3500 on tsoft gosub3520.3540,35
60,3580,3600,3620,3640.36603510 retu
rn
3520 gosub 6000
3530 gosub 3395 : return3540 row%=
22 : call curs(co1%、 row%I : prin
t 5pace$f1591: call eurs+co1%、 row%
)35421nput ’鴇hich position in batch
、job fl−101”;ji3545 gosub 4900 :
row%=26 : call cursfcolJ、row%):pr
int 5paces+?91 : gosub 50003550 g
osub 3395 : return3560 for j=1 t
o 53562 for ill to 10 : iregrj+1l=
o : erww(j、i>=o :rasterfj、1)=O:
fak%(j、1l=o : next 13564 next j
3566 for ji=1 to 10 : gosub 4900
: row%=26 : callcurslco1%、row%l
: print 5paces(7913568gosub 5000
3570 next ji : gosub 3395 : retu
rn3580 gosub 5200
3590 gosub 3395 : return3600 gosub
10000 : return3610 return
3620 offset%=offget%+3 : if offs
et%>3 then offset%=03630 return
3640 ca1%=O: row%=22 : print 5pac
es(2391: printspaees+1591 : call
cursrco1%、row%)3645 print ”Please en
ter new Formula eg。
R=Pl/+1+XRR/P2)’° : row%=23 : pro
mpt!=”” : 1leer=793647 ins=format
sf261 : (osub 40000 : gosub 7990
:formatSr261=inS
3650 gosub 3395 : return3660 for
ts=2 : pinit=1 : running%=o :
returnrem *市本本本傘本本傘重重傘率1ラ *傘傘傘**本本
車重*傘本傘*率率傘寧零車**本本本本4200 resume 421
04210 ca1%=O: row%=22 : call cu
rs(colχ、row%) : print”error No、
”;err;” occurred on 1ine ”;errlB
4220 as=inputs+11 : goto 3400425
0 resume 42604260 on error goto
4270426:) prxnt#11. ”regression
l’;ji;II terminated With erTO■
”;err;” on 1ine ”;err14270 on err
or goto 4250 : goto 5400rem *11s率本
**傘率率零*車*傘本本孝本*本率車本傘キネ寧本傘本本ネネ率本本本率本零
本率零*傘本本率率本4900row%=4:c、olχ=O:callcur
s(co1%、row%14902 row%=22 : call curs
(eo1%、 row%l : print 5paceS(239):
print 5pacesf159) : call cursrco1%、
row%)4905 row%=27 : call curs(co
1%、row%l : row%=22 : rem4910 cal
l cursずco1%、row%): print formatsf79
1; : 1f1enffor+natS126))>30 then p
rintmidslformats+261.1+29);”、、” else
print formats(26)4920 print formats
(80+offset%l : printforrnatS+81+of
fset%) : print formats(82+offsetXl
:return
rem 傘宰本本零本本傘傘傘*京イダイレクトカーブフィット京傘*零+1零
本本本車率本本本零宰傘*亨本5000 call cursrco1%、
rowxl : 1nput ”Enter type ofreg
ression 0=exit、 register and poi
ntsl from/lo)”;ireg(I Ijil、ireg(2Iji
l 、ireg+3+Ji)+ireg14+ji) : zr%=ir
eg(2,Jil : : if ireg(1,ji)<1 Or
ireg(1,jN)19 then gosub 3395 :
goto 5005070 if zr%>99 or zr%<1
0r ireg(3+jil<1 or iregi4.ji)〈2o
r ireg(3,JN>1var[5,zr%l−10r ireg(4
,ji))ivar(5,zr%l then goto 5000s1
oo regart=ireg41.ji)5102 row%=22
: call curs(ca1%、rowxl : print
5paces(239): print 5paces(159) :
call curs(co1%、row%)5105 call curs
(co1%、 row%l : print ”register”;zr%;
”regression t7pe”iireg(1+Jl)、;”from
/lo”;ireg(3,Jil;ireg(4,ji+5107 row%
=23 : call cursrca1%、row%) : 1n
put Plea、5eenter destination regi
ster and wax、 number ofcycles”;i
reg(6Jil+ireg(7+jil : if ireg(6,j
4)〈o Orireg+6.jil>99 then goto 5
1075110 rOW5c:24 : if lreg(1+Jil
>16 then ireg(5Ji>=O:goto 5190
5120 call curslco1%、ro%:%l : 1nput
”Please enterregistQr containing ab
solulLe deviatior+ TO=equallyweBhte
d+”;ireg(5,jxl:1flrl!g151jlD990rireg
+5.jil(Othen goto 51105130 if ir
eg(5,ji)<>Oand 1var15.zr%+<>1var15.
iregr5+jil) then call cursrco1%、ross
%l : print ’°invalidregister ” :
s/=1 : call 5zart+wl : goto 5120
5135 rowχ=22 : call curslcolχ、row%
l : print 5paces+2391: print 5paces
+1591 : call eurs+co15c、row%15150
for j=1 to 6 : row%=21+j: hl$=+nid$(
filenames!jl。
regort率4−3.41 : if h1s=″ ” th
en erwwlJ+、1il=l :raster(j、Jil=1
: fak%ij、jil=−1: (oto 51655155 pro
mpts=h1s+”: new estimate、wax、accura
cy andfactor :” : 1ns=itrslnvar(4
+J+zr%l): gosub 7100 :if m1dslins、
1.11=”e” then 51655156 erwss(j、jil=
hl : raster(j、jil=h2 : fak%(,1,j
il=h3 :11=h3 : if il>−1and il<5
000 then iparm=j5160 if 1l=−1or
1l=o or 1l=1 or 1l=2 or iC4or
il=εor 1l=16 or 1l=32 or 1l=6
4 or 1l=128 or il冨256 ori1=512
or 1l=1024 or 1l=2048 or 1l=4096
then g、+t。
5165 else goto 51555165 next 、i :
1var410.zr%I=ire<+ 1 +Ji 15170 row%=
22 : call curs(co1%+row%l : prin
t 5paees+2391: print 5pacesf1591 :
call curslco1%、 ross%)5190 retur
n
5200 flag%=o : 1l=0 : row%=22
: call curs(co1%、rov%152101nput ”P
lease enter position in batch job t
o startregression (1−10+”;ii : if
ii>10 0r ii<1 then got。
52]0
5220 for ji=ii to 10 : regart=ireg
(IJil : stdevreg=ireg(5,Jil : zr
%=ireg(2,jil : von%=ireg(3,Jil :b
is%=ireg(4,jil
5225 if regart<1 or regart>19 t
hen goto 54505232 stdcvreg=ireg15
.jil : if stdevreg=o then for
1=1to64:dyll、icl:nexti:goto52385235
zrχ=stdevreg : gosub 9200 : for
CI to 64 :dyfl+1l=relil : next
15238 zr%=ireg12.jil : gosub 9200
: if regart=10 thenfor i=1 to 3
00 : dy12,1l=reiil : next i :zr
sav%=zr% : gosub 188005239 gosub 75
00 : gosub 12000 : rem header of reg
r。
5240 for j=1 to 6 : fit%fjl=99
: if rasterlj、jil=o th■■
goto 5450
5245 next j : 1oopcount%=Q : On
error goto 4250 :erwwflag%=0
rem +◆◆÷+◆++++++十無限ル−プの開始 +÷十+÷十
÷+十喰÷++++++5250 if bS=”f” then ca
lχ=O: row%=22 : callcurs(co1%、row
%l : (osub 3645 : insavs=formats
f26)、 bs、j+el+
5255 if bS=”i°’ then 1nsavs=”Inte
rpreter on exit=anysoftkey” : gosu
b 20000 : bS=”e”5260 (osub 5600 :
rem 5etup suchgrenzen und paramete
r52701oopcount%=1oopcount%+15280 if
1oopcount%>lreg17+jil Or bs=’°n”
then printf]l。
”regression terminated early” : bs=
llell: goto 5400else goto 5290
5282 printHl、’Titcontrol paramcter:”
;fit%+1);fit%(21;fit%(31;fit%141;” f
actors: ” ; falc%+Lji);fak%(2,jil;fa
k%(3+ji);fak%(4+ji15290 gosub 6700
5300 for j=1 to 6 : if erwflag%=j
then 53055302 ervwljlji)=nvar(J+4.zr
%): next j5305 erwflag%=O: gosub 5
500 : rem teste Var5310 gosub 5800
: rem auswerten der 5uche5350 if
flag%=1 then goto 5400 else goto 525
0rem ÷÷÷+++◆÷÷++十十十無限ル−プの終了÷÷+++÷÷+÷
十+++++++++÷÷+540 0n errOr qOLO420
0: l X’arL 】O+ Zr”AI” regar t5405 a
osub 9900 : if drucker%>Othen gosu
b 69005410 qr%=ireg12.jil : zr%=i
reg16.jil : if regart>16then reg
art=1
5420 gosub 6150
5450 next ji
5480 row%=22 : call cursfco1%、ro
w%l : print 5pacesf15915485 hls=f
ormat$19)+formatS+101 : gosub 87005
490 return
renn **車傘**傘***本本本車重数チェック 傘車本本
本*本本*本車重寧本零ネ孝本零ヰ5500 for J=1 to
65510 if absler+swf、i、、ji II>9999
or erwwlj、jil=o orfak%+j、jil>4096
then goto 55505520 nc>:t 、1
5530 return
5550 prinlll、 ”estimate=o or >99
99 oder factor>4096’° :gosub 6900
: goto 54505600 for j=1 to 6
: rem set up 5earch grid零車零市零
零市本牢率率寧京*本本本本本章傘本意本本**本本本率本車重5610 if
fakXIJ、jil=−1then 1steplj)=1 : lbe
g+jl=1 :1end(jl=1 : goto 57305615
if fakWfj、ji+=OLhen lstepfjl=erw
w+j、jil :1be(+j+=1stepljl : 1end(j)
=lsteprj3 : goto 57305640 if f’it%1j
l=99 then 12=3 : 13=3 : fit%1jl=o :
got。
5650 fit%rjl=fit%ljl−sgnrfit%(jl!565
5 if fit%1jl=o then 12=1 : i3.=1 :
1ffak%F+J11>=maXf71に%/4 and anzan%
(2thenfak%lj、Jil=fak%fJ、jil/25660 if
fit%1jl=1 then 12=1 : 13=25665 if
fit″5Cijl=−1then 12=2 : i3:15670 i
f fit%(jD=2 then 12=o : 13=35675 if
fitχfjB=−2then 12=3 : 13=05680 if
absばitχ1jll)=3 then fitP、fjl=s@n
1fit%fjll”2 :fakχf j 、 ji 1=fak%1.L
jil*25.700 1stepljl=raster(j、jil傘fak
%ij、ji15710 1begljl=erwwl j、jil−i2本1
stepf j) : 1end+、、))=erwwlj、jil+i3
本1stepl j +5フ25 if lbeg(ji(=Othen
lbegljl=absllstepljl/2+5730 next j
5750 gosub 12500 : returnrem 傘寧寧零重重
$零零 フィツトの評価率率車富本本車本本傘本章本本章重重5800 ma
xfak%=o : hl=o : anzan%=051310
for j=1 to 6 : h2=erw1.L、ji1582
0 if fakXIJ、、jil!−10r fak%(,1Ji)=
Othen goto 59205825 if fit%ljl<)
Othen hl=1583(l if h2<=lbeg1.+l
then fit%+jl=fit%+jl−2: hl=1 :anz
an%=anzan%÷1
5840 if h2>=lendljl then fit%(jl
=fit%+jl÷2 : hl=l :anzan%=anzan%÷
1
5850 if abs(h21<absflstepljl)and abs
lfit%[jl+>2 thenfak%+j、jil=fak%+j、、i
il/2 : fit%+jl=fit5C1j)−s(nばitχ1j)
)
5860 if fakXIJ 、 ji Dmaxfak% then
maxfak%=fak%l j t、ii 15870 if fi
t%+jl<>Othen hl=15920 next 、j
5930 if maxfok%<2 and hl=o then
f1mg%=1 else fla(%=05990 gosub
12)oo : return6000 gosub 4900
: rern傘傘ネ本率車車重オ零本本*京車率本零重重**坤シミュレーシ
ョン 傘*零傘車牢本市*寧寧寧零率率寧率6030 1nput ”Ple
ase enter type of simulation、 a
ndregister eg:1,8611;regart、zr% :
ns=”m” : ifregart>20 or regart<1
or zr%<1 or zr%>99 thengosub
3395 : goto 5006035 call cursfc
o1%、row%l : print 5paces12391 :
printspaces(1591: call curs(co1%、
row%16040 for 〕i=i to 6 : call
cursfco1%、row%I :his:m1dsば1lenarn
esljil、regart本4−3,41 : if bls=”1“
then 6048
604211eer:lo : prornpts=”please ente
r ”+hlS+” ” :1ns=strs+nvarf4+ji、zr%l
l : gosub 40000 :hl=val+1nsl : nva
r14+、ii、zr%)=h16044 call curslco1%、r
ow%l : print 5paces(7916046next 、ji
6048 call curs(co1%、 rOW%l : print 5
paces+7916050 gosub 9900 : rem 5peIC
here Var6100 gosub 9200 : rem get Bi
ndung in Register6120 qr%=zr5+: C(11
1curs+co1%、row%l : bS=”’°: 1nput1°de
stination register (1−991”;zr% : cal
lcurs(co1%、row%l : print 5paces+791
: if zr%)Zoo or2r%<1 then goto 61
206150 rem on error goto 4500 Sprung
adresse6202 for i=1 to 10 : nvar(i、z
r%l:nverll、qr%l :ユvar(i、zr%1=ivar+
i、qr訓 : next 16204 nvQr(3,zr%1=nva
r15.zr%); iゞarllo、zr%l=regart6206 if
n1°ar16.zr%l=o or nvar48.zr%)=Oor t
+var15.zr%)=Oor nverll、zr%l=o then g
osub 3395 : goto 5006207 pl=nvar15.z
rχ) : p2=nvar(6,zr%l : p3=nvar(7,zr%
);p4=nvar(8、zrχl : p5=nvar(9,zr%l :
p6=nvar(10,zr%16210 if 1varf5.zr%l<2
1 then gosub 74006215 if regart=10
then gosub 18800 : gosub 18000 : got
。
6220 for i=1 to 1var(5,zr%l+1 : Lig
andkonz=re+i+1001 :5=re(i+1001
6230 Enzkonz=nvarll、zr%l : gosub 6
5006240 relil=signal : next 162501
var[3,zr%l=1 : 1var[4,zr%)=ivar+5.z
r%l+l : row%=4: call curs(ea1%、ro
w%16265 ns=”Sim、”+5trSfivarllO+zr%l
++” SdR”+strSfsLdevreg!+” SR” :
m5=strsfqr%I+” ” : his=midsfns、l、
181+midSfmS、2.216270 ns=mids+datsts
、11,101+’° ’ : ms=midslvats、61+
171+’° )::”+5trS(rootsql+5pacesf121
: his=his÷m1dsfns、1.101+midSfms、1,
291+”R”6275 gosub 9910 : gosub 910
0 : gosub 33006295 return
6500 rem 傘本倉車重**本率 シグナルの計算 津本
本1¥傘$$1本京本*亨傘本本本本車6510 if S=Oor p
2<Oor p3(Oor p4<Oor pi<Othensigna
l=0 : return6520 on regarL gost山65
30.6540,6550.6560,6570,6580.6590.660
0,6610,6620,6630゜6640.6650.6660,6670
.66806525 return
6530 signal=Cpl/fl+p2/Sll : retur
n65−10 signal=(pl市S+p2宰5−21#1+p3*S+
p4零5−21 : return6550 signal=pl*s/
ip2+Sl+p3*S/fp4+sl : return6560 i
f p3<=0 0r p3>5 then signal=o :
return elseSignQl=+pド5−p3/1p2−p3+
5−p311 : return6570 51gnn1=pl率fls/
p2+s−2/p21#1+9s/p2+s−2/p211 :return
65εOsignal=p+ufs/p2+S−2/(p3本p2+1/il+
2宰S/p2+S”2/+p3”p211) : return6590
sLgnal=pl−p3京S/lp2+s) : return660
0 signal=pl宰S/(p2÷S卑(1÷p4/p311 :
return66]Osjgnal=pl傘S/(p2本(1+p4/p31+
s*[1+p4/p311 : return6620 return
: rem 106630 signal=(fpl+p2*p4傘s
l’lsl#1÷p2ネS+p2章p3*5−2) :reセurn
6640 signal=Ipl+p4+(p2零p4+p3本pillsド
S/(1+(p2+p3ドS+p2ネp3傘5−21 : return6
650 signal=fpl+p2津p4$Sl$S/fl+p2*s+p
2傘p4京5−21 : return666(1signal=pl÷p
1オp3”p4牢S/(1÷fp2+p31本s+p2tp31Ts−21:6
6705i(nal=pl−flpl−p31/il÷S/p21) :
return6680 signal:pl+p2*s : retur
nrem 寧零車重重**零車ネ ダイレクトカーブフィツトサブル−チン 本
卓本本車零本本零車重ネ6700 dev=999 : cycle=o
: Enzkonz=nvar[1,zr%l : tstern=
0: tcycle=o : hl+16702 for tt=1
to 4 : hl=hl寧111end(ttl−1beg+tt
l I/1stepittl+11
6703nexttt:row%=35二〇〇1%=O:callcurs(c
o1%+rov%1: print 5paces+801 : total=
hド106705 for pl=1be((11to 1end+11
+1stepHl/1000 5teplstepf 11
6710 for p2=lbegf21 to 1end12)+
1step(21/1000 5teplstepl 21
67]5 for p3=lbeg+31 to 1end+31
+1step131/1000 5teplstep[31
6720for p4=lbeg(41to 1end141+1stap
141/1000 5tep1step+41 : tcycle=tey
cle+16722 tt=tcycle/1ota1本800
: if tt>tstern and tt<81then r
ow%=35 : co1%=tstern : call cur
s(co1%、ro冒輩): print Strings(jt−tst
ern、421 : tstern=tt6723 as=in
keys : if 1en(asl=l then gosub
78006725 for p5=lbeg(51to 1
end151 5tep 1step1516730 for
p6=lbegi61 to 1end+61 5tep 1step
r616735 devm=o : 1l=06740
if regart=10 then gosub
19000 : goto 67656750 for
1=von%+1 to bis%÷16755 1
1=il+1 : 5=re(i+1001 : gosub 65
00 :devrn=devm+(signal−rel i l 1−2零
dy(i、i>6760 next i : devm
=(devm/1l)−,5: if dev+++<devthen
nvarr5.zr%1=pl : nvar!6.zr%)=p2 :
nvar(?、zr%1=p3 : nvar[8,zr%1=p4 :
nvar[9,zr%1=p5 :nvar+10.zr5cI=p6
: dev=devm6765 neλtpε
6770 ne:、t p56775 ncλt p4
6780 next p3
67ε2 ne>;t p2
6784 next pi
6790 rootsq=dev
6797 return : rem goto 6900reffl
寧寧*寧ネ零***京孝*車零本零本フリント 車重率零零章
本本本寧***ネ本*本章零零事6900 on error goto
7)5゜6905 print 411.: print #11.:
on error goto 69956!ilo printfll、”
Curve fit to regjster : ”;5trlfzr%
);1′9°;m1dsCvats、61,201;” ”;m1ds(d
atstsll、2016920 print:11.usin(presS;
rnidslvats、91,201.nvar+l、zr%)、m1dsfv
ats、111.]81.nvar12.zr%)6925 printfll
、using pres2s;von%、bis%、5tdevre(6930
)f regart<xo then prxnt#11.pres3S
;mxdsfremods、re(art*20−19,2046935 i
f regnrt=10 then printfll、pres3S;f
ormats+2616940 if regart)10 then
printJl、pres3s;midslremocs、lregart−
101120−19,2016945hls=”Re5ult :
’。
6950 for i=1 to 6 : if i=3 an
d iparm<3 then 69656952 hls=)+IS+
” ”+midS(filenamesril、regartネ4−3,4
14” =”6955 if absfnvar+4+i、zr%1D99
99 or absfnvar!4+i。
zr%11<o、ool then hls=hls+exps else
hls=hls+’“N # # : Hfj #寺#1゜6960 if
i=3 and 1parrn)2 then hIS=hlS+5
paceS(80−1enfhlS口
6962 next 1
6965 hl$=hls+” mean root sq、=”
: if abslrootsql<0.01then hls=hls+
exps : goto 6970 else hls=hls+’l##
#e”−#####” : goto 69706970 if 1en(
++1sl<160 then hlS=hlS+5paceSf160−1e
nfhla目697)xf iparm(3then prxnt#11.LI
SIJlg m1dslhls、1.801;ns゛ar15.zr%I、nv
nr+6.=r%l、rootsq6980 if iparm>2 then
printfll、using m1dslhls、l、801;nvar(
5,zr%l、nvar(6,zr%l、nvar(7,zr%I : p
rintHl。
using m1dslhls、81.801;nvar(8,zr%)。
nvar(9,Zr%l、nvar(10,zr8cl+rootsq6985
printfll、: printfll。
6990 on error goto 4250 : return69
95 resume 6990章本ネ本1*京**本**率入カ 一本
本市零本車重*ネ本本本本*車零章零本本本傘車傘本*本傘本市傘富本寧穿70
00co1%=O:roy%=23:callcursico1%、rowXl
:printspaces(2391: call curslco1%、
rov%17010 1nput 1lselect parameter
to changc +1−61”;i4 : 1fi4>6
or i4<1 then 70007020 call curs
ico1%、rowXl : print 5paces+1591
: callcurs+co1%、row%)
7030 if 13=2 then print fak%li4
.、jil;” 5earchfactor ”;: 1nput
”new”Hfak%+14.J117032 if 13=3 the
n print erwt<+i4.jil;” estimate
”: 1nput ”new” ;erwwri4 、ji)
: erwvflag%=iJ7034 ir 13=2 then
print raster(i4+jil;” precision
°°; F
1nput ”new”;raster+i4.ji+7036 if
i3=] then print fit%1i41;” fitc
ontrol ”; :1nput ”new” ; fit%
(14)7090 return
rem **$傘傘車本本本*傘京率零本本零車車人力3RKI
ネ本傘本本京本本寧*本*電零京7100 11eer=20 :
gosub 40000 : for i=1 to 5 :
1klil=o @:
next i : if m1ds(ins+1.11=”e” t
hen return7105 ikomn=o : 1l=len(
ins) : for i=1 to il : ifmidi
!ins、i、1)=”、” then ikomm=ikomm+1 二ik
(1kororn+11=i
7110 next 5 : ik+ikomrn+2)=i7120
Hjk121−it:Ill>Othen hl=val+m1dsli
ns、1kill+1゜1k121−ikfN−111else hl=07
130 if jk+3l−ik+21>Othen h2=valfmids
lins、1k121+1゜1k131−ik121−111 else
h2=07140 if ik+4l−ik131>Ot)+en h3
=va11midslins、ik[3++1゜1k(41−ik+31−11
1 else h3=07145 if ikomm>3 or hl=
o then hl=1 : h2=1 : h3=−1:retur
n
7150 if ikomm>Othen 71607152 hl#=
IE−20: for i+=1 to 40 : hl#=hl#
*10 : 1fhl=>abslhl/10001 then 715
67154 next i : hl=1 : h2=1 :
h3=−1: return7156 if hl考>absfh115
001 then hl#=hH/27158 h2=hl: : h
3=128 : return7160 if ikomm>l t
hen 71707162 if h2=o then h2=hl/
10 : h3=o : return7164 if h2=−
1then h2=hl/10 : h3=−1: return71
70 if h2<Othen h2=1 : h:D−1: r
eturn7175 if h2=o then h2=hl/10
: h3=o : return7190 return
7400 rem オネ事オネネ傘傘IIネ傘オ京傘拡大 傘車*率ネ
章本傘車本本本零本零本京本本本本木率車傘本7410 for i=1
to 1var+5.zr%++1 : dxfl、1l=re(10
0+il ’:next i : dxfl、1var(5,zrXl+
21=refivar15、zr%l+101戸L2 : w=07415
for i=1 to 1var(5,zrXl+1 : w=
w+1 : retw+1001−dxll、il : if i=
1 then w=w−17420s:=w+1 : re1w+100
)=dxrl、i++(dx(1,il1l−dx(1+i11/37425w
=w+1:re(w+1001=dx(1,il+(dx(1,il1l−dx
(1,il)/3京27430 next i : 1varf5.zr
χl=w−27445return
rem *傘本傘市本***本ヰ*本” 力ofされたフィツトに対する重さ
車*本本本本本本零事本7500 if stdevreg=o th
en goto 76907520 hl=o : h2=0755
0 for j=van%+1 to bis%÷l : if
dyfl、1l=o then got。
7560 else hl=hl+abslre+il/dy11.iH:
h2=h2+17560 next i : hl=hl/h275
70 for 1=van%+1 to bis%+1 : if hl
=o or dyfl、1l=o thendyH+1l=1 else
: h2=absfre(if/dy(1,i)l :dyf 1 、 i
1=h2/h1
7580 next 1
7590 return
rem*************** 時間および日付 @*****幻1
****ネ*********7600 mlnuten%=O: 5eku
nden%=O: call zeit+m1nuten%。
5ekunden%l : 5tunden%=cint1minuten
%/2561 ニア620 12=int!il/36001 : 13
=intHi1−3600本i21/601 : 14=H−350Qネ1
2−60本i3 : 5ekunden%=sekunden%+i4
: 1fsekunclen%>59 then mlnuten%=m
1nuten%÷1 :5ekunden%=sekunden%−607ε3
0 mlnuten%;=minuten%+i3 : if mlnu
ten%>59 thenminuten5G=minuten%−60:
5tunden%=stunden%峰17640 reITIcall d
atumijahr%、tag%、wtag%1 : monat%=ta
g%/256: tag%=tag% mod 2567660 rem
5tundcn%=stunden%+i2 : if 5tund
en%>23 thenstunden%=stundey1%−24:
tag%=tag%÷17690 return
rem *ネ牢11*零章本***市*本車傘京本プリンタオフ *重重
本傘市本富零本本傘率率車重*事本本章?700 resume 77]、
07710 ca1%=O: row%=22 : call curs
(co1%、rOW%l : print”printer not re
sponding (e=exit r=retry):as=inputs
(11
7720if as=”r” then 7811 else drucke
r%=O: goto 78147750 resume ?76077
60 ca1%=Q : rowX=22 : call curs(c
o1%、rowjl) : print”printer not res
ponding (e=exit r=retryl :as=inputs
fl+
7770 if al=”r” then 6900 else drucke
rX=o : goto 6990卑宰傘本キ率ネ率本傘傘*傘本**宰’
77)キ **傘*傘零率重重傘*零率率本寧ネ隼*率率*零蔓率寧牢零倉7
800 tsoft=ascra$1−17 : if tsoft<
l Or tsoft>8 then 79007805 on
tsoft gosub7B10,7820,7830,7840,7850
,7860,7870.78807807 return
78]Odrucker%=drucker%+l : if druc
ker%>2 thendrucker%=0
7811 on error goto ?7007812 if
druCker%>Othen print#11゜7813 if
drucker%=2 then hls=”” : for i=
1 to 6 :his:hl$+” ”++r+idS(f
ilenames(i)+regart率4−3,414”” : nex
t i : hls=hls+I1mean root sq、”
:printHl 、hls
7814 on error goto 42507815 co1
%=75 : row%=34 : call curs(calχ
、row%l : printdruekerc : eo15c=o
: return7820 return
7830 13=2 : gosub 7000 : return
7840 13=3 : gosub 7000 : return
7850 13=4 : gogub 7000 : rett+r
n7860 13=l : gosub 7000 : retur
n7870bS=”n”:co1%=O:rowx=23:callcurst
co1%、rov%l:prjnt ”Please 5sait fo
r termination of fit 1nprocess”
: return7880 eolχ=O: ross%=O: c
all curs(co1%、row%17885 hls=format
s(9)+formatS(101: gosub 8700 : g
oto 5007900 if as=”&” or aS=”i”
then bs=”i” : colX=o : row%=Q
3
:callcurs(co1%、row%l:print”Pleasewai
tforterminationoffitinprocess”二retur
n7910 if as=”f” then b4=”f” :
co1%=O: row%=23 : callcursfco1%、r
ow%l : print ”Please %Xait fort
ermir+ation of fit in process”
: return79εOreturn
rem *キ鳳オ本本本本*傘オ京ロ本大文字変換 京*宰***傘軍傘*本
傘本本嵩傘本室傘岑重重市口率*7990 11=len+1nsl :
for i:1 to if : 1a=asc+m1dslinS
、i、l)ン : if ia>96 and 1a(123then
1a=ia−32:m1dslins、i、11=chrS+1a1799
5 next i : return本本本宰*傘*本市本本ネ*宰寧
率” −’r−5ヘル *率*車本零本本ネ*本本本牢本本嵩卑本市本本本*寧
キ室宰本8700 if 1en(hlsl(160then hlS=
hlS+5paceS1161−1en(hlsl18705 for 1
=1 to 8 : m5=strs(il : h2s=chr
s(271+”&fOa”+midS1mS、2.11+’°に16dlL”+
m1dSlhlS、i*18−15,16>+chrSH7+il : p
rint h2s; : next 18710 print e
hrs+271Hll&jB”; : return9100 rern
*’1ヰ*亭零*零率率零* ワークファイルにreOを読取る 1本市*
**牢910E、if zrX>100 or zrX<1 then zr
X=19110 n5=spaces(25319120for wl=1 t
o 63 : m1dslns、wl)4−3.41=mksSlre1w
lll :nexL sol : 1set els=ns9130 f
or 5sl=101 to 163 : mjdS(n!、’1wl−
1001宰4−3.41=ynksS(relwlll : next w
191351set e2s=ns : put 49.zrX9140
return
9200 rtm *””権**** ワークファイルからre(lを読取る
掌本本嵩本寧京**本本9205 if zrX>100 or zrX
<1 then zr%=19210 get 含9.zr%
9220 for wl=1 to 64 : re(wll=o :
next wlnext wl
9235 for wl=lo1 to 163 : re(wll=c
vs(midSle2S、(wl−100)本4−3.41J : nex
t w19240 return
9800 rem率牢傘*傘市ワークファイlしからの変数読取リ
本*章****章本市9802 if zrX)100 or zrX
(l then zrX:]9εO:l get #8.zr%
9εICI for wl=】 to 109820 ivI′Ir1
w1.+r%l=cvi1mids+vats、wlヰ2−1,211 +n
varfI−1.zr%l=cvsfmidsfvats、w1本4 + 17
+ 4119830 next wl : return9900 r
em **本章本本ワークファイルに変数を書nむ 本**零零本*零
本本章9902 if 21%>100 or 21%(1then
zr%二19905 get j8,21% : his=mids(
vats、61+701+”9910 n5=spaces113019915
for wl=1 to 109930 m1ds(nS、ssl電2
−1.21=mkiS+ivar(wl、zr%119940m1dsln!、
W1京4÷17,4)=mksSlnvarfwl、zrX119945 ne
xt wl : m1dsfns、61,701=midSfhiS、1,
701 : 1setvats=ns : put #84r%rem
孝11亭寧ネ車本本II車車市市亭電* 最i式ポインターのセラ1へ 家*
率零車本章傘零車重率車本本零9950 1ufzr%)=1 : poi
nter%+131=09955 for wl=1 to 5 :
土f tquefwl+offo%I=zr% thenipf27+w
l+=1 : pointer%f12)=09960 ntxt +
−1
9965for wlJ to 10 : if tque1wl
l=zr% then ipfwl+401=1: Polnter%+
121=0
99フOnext wl : returnrem 本本w車重本本本本
章寧*傘零市本リニアのf夏帰 傘傘**零章車本京本零章零
寧*重重10000 row%=22 : call curs(co
1%、rob“%l : printspaces+2391 : p
rint 5paces1159) : callcursfco1%、
row%l : iparm=210002 1nput ”Pleas
e enter register number and poi
nts(froITI/lol”;21%、VOn% 、bis% : 、i
f 21%(l or 21%>99 theneturn
10005 call curs+co1%、rOW%) : prin
t 5paceS(2391: callcurs(colχ、row%l
: Pr1nt 1lPlease selecttransfor
mation before regression”10006 pr
int 111=No transforIIIation 2=dou
ble reciproca13=Eadie Hofstee 4=H
annes Woolfe” : 1nput i : ifi>
1 and i(5then goto 1050010007 g
osub 9200
10010i1=0:5ux=o:5uy=o:5uxy=o:5uvy=o:
sux>:=O:nvar16.zr%l=0 : nvar17.zr%
]=010020 for 1=von%to bis% : y%:c
rt=re+il :xwert=refi+1001
10050 11=il+1 : 5ux=sux+x%:ert :
5uy=suy+ywert :5uxx=su>:x+xwert−21
0060next i : if 1l=o then goto 100
65 elseroy=suy3ゾ1l−isuy/1ll−2: rox=
suxx/it−+sux/1ll−210065 if rox=o or
roy=o or 1l=o then print ”Invaljd
linear regression” : for k=1 to 4
000 : i=k : nextk : goto 1025
0
10070 Steigung=isuxy/1l−sux/i1本suy/i
l +/rox10080 rootsq=Steigung*rox−,5
/royχ5 : 5chnittp=suy/il−S11−5tei*
sux/11
10100 printjll、”Linear regression :
Register ’°;zrχ、゛from ”;vonX;” to ”
;bis%10120 printjll、”Re5ult : Inter
cept: ”;5chnittp;”5lope: ”;Steigung;
” Correlation: ”;rootsq10140 row%=2
3 : call curs(co1%、row%): print
”Re5ult :Intercept: ”;5ehnittp;” 5
lope: ”;Steigunに”Correlation: ”;ro
otsq10160 nvar+5.zr%1=schnittp : n
var+6.zrXl=Steigung :nvarl?、zrXl=1:
nvarlB、zr%l=にgosub990010200 qr%=zr%
: rowχ=24 : call curs(co1%、row%)
: 1nput”Please enter destination o
f’ regression (1t。
99)”;21% : if 21%)99 or 21%(1then r
eturn10220 regart:16 : gosub 61501
0250 rowχ=22 : eall curs(colJ、row%
): printspaces!2391 : print 5paces
+159110300 return
rem 10100 if 21%<1 or 21%>99 t
hen returnrem 10202 for i=1 to
10 : nvarli、zr%+=nvarli、qrj(1:1 %’
arf 11 =r%1=ivarfi、qr%l : ney:t i
rem 10204 nvarf3.zr%1=nvar+5,21%)re
m 10210 rem if 1var(5,zr%l<21 then
gosub 7400rem 10220 for 1=l to
1vari5.zr%l+1 : xwert=reli+100)ref
f+ 10230 rclil=Schnittp+xwert*Stei
gungrem 10240 next irem 10250 1var
13.zr%l=1 : 1var+4.zr%1=ivar(5,21%
)+1rem 10265 ns=”Linear Regr、 5ourc
e ++ : m5=strs(qr%)+” °1: his=mid
sfns、1,181+midSfmS、2.21rem 10270 ns=
mids+datsts、11,1014” ++ :m5=rnids
tvat$、61+171÷”K: ’°÷5trslrootscll+”
”: his=hi$++n1ds4ns、1,101+m1
dSrffIS、l、391+”R”rem 10275 (osub 991
0 : gosub 9100 : gosub 3300rem
10300 returnrem 率*章本本車傘本*傘重重$零本市零傘室
寧零零本京ネ車ネ傘ネ京ネ傘本零**傘牢市傘本本市****零本*10500
regart=i+15 : gosub 9200 : gosu
b 980010505 11=o : 5ux=o : 5uy=o
: 5uxy=o : 5uyy=o : 5uxx=0@ :
n V a r l 61 = r%l=0 : nvarf7.zr%1
=0i0510 for 1=von% to bis% : V=
re(il : 5=reli+100110515 ff regart
=17 then if V=Oor S=Othe++ 10560105
20 if re(art=17 then xwert=1/S
: 3°wert=1/v10525 if regart=18 th
en if S=Othen 1056010530ifregart105
6010530ifre:ywert+−〜l/510535 if reg
art=19 then if v=Othen 1056010540 i
f’ regart=19 then xwert=s : ywert=
s/V10550 11=il÷1 : 5ux=sux+xwert
: 5uy=suy+ywert :5uxy=suxy+xwert*y
wert : 5uyy=suyy+ywert−2:5uxx=suxx
+xwert−2
10560 next i ; if 1l=o then got
o 10565 elserob’=suy3ゾil−[suy/ilど2
: rox=suxx/1l−(iux/1ll−210565if
rox=o or roy=o or 1l=o then print
1lInvalidHnear regression” : for
k=3 to 4000 : i=k : nextk : g
oto 10940
10570 Steigur+g=+5uxy/1l−su>:/il*suy
/il +/rob:10580 rootsq=Stei(ung京rox−
,5/roy−,5: 5chnittp=suy/il−S11−5tei
*sux/11
10600 if regart=17 then nvar(6,21%>=
abs(1/1schnittp/Steigungfl : nvar15
.zr%1=abs+ 1/5chnittpH0650if regart=
18 then nvar+6,21%)=absil/Steigung)
:nvar(54r%3=abs+5chnittp/Steigung11
0660 if regart=19 than nvarlB、zr%1=a
bslschnittp/Steigung) : nvar(5,21%)
=abs(1/Steigung110910 gosub 9900 :
if drucker%>Othen gosub 690010920 q
rχ=Zr% : 1nput ”Please enter destin
ationresHister”;21% : if 21%>99
or 21%<1 then return30930 regart=
1 : gosub 615010940 row%=22 : ca
ll curs(co1%、ross%l : printspaces1
239) : prユnt 5paces[159110950retu
rn
rem +に零**傘傘傘本本ネ*本*ネ*市率寧 入力待チ
重重傘本*本京本本草1111享牢宰愈寧11000 print ch
rs+271;”−y、2N”;11010 as=inputs!11 :
b=asclasl−8911020print chrs+271;”−
zON”; : rem off keys11025 1flag=]
: tsoft=o : if asclasl>17 and as
clasl<26then tsoft=asc+asl−17: ret
urn11030 if as=”傘” then pinit=1 :
forts=1 : running%=0 :return
11040 if as=”/” then pinit=1 : fo
rts=2 : runningχ:O=eturn
11050 if as=”+” then pinit=1 : for
ts=3 : running%=0 :11090 1fla(=1
: returnrem **京零本*傘京津本零*傘:タイレクトカーブ
フィットメニュー:傘率零す本亭車重重零本本12000 ca1%=O:
row%=44 : call curs(co1%、row%) :
printspaces+791 : gosub 98001201
0 row%=2J : call curslcolχ+ r OI
+% l : p r l rr tspaces11601
12020 row%二26 : call curslco1%、r
o−%I : print°°00亭**********車率1−8 ダ
イレクトカーブフィツト*重重傘率ネ本本本傘本本本本***本本ネ本ネ率率1
12030 row%=27 : call cursfcolX、r
ow%l : print 5pacesf80112110 row%
=28 : call curs(co1%、row%> : print
”Sourceregister : ll;5trs+zr%l;11
”;m1dslvats、61,201;” ”;m1ds+dats
ts、1,20112120 row%=29 : call cursf
colX、 rOW%): print usingpresS ;m1ds
lvats 、9ユ、201.nvarN 、zr%l++r+ids+vat
s、ill、181、n〜a r I 2 + Z rχ)12130 row
%=30 : call cursfco15c、row%) : pri
nt usingpres2S ;van%、bis%、 stdevreg1
2135 rowχ=31 : call cursfcolX、row%
l :printspacesf2401 : call cursfco
lX、row%)12140 if regart<10 tben prin
t pres3s;m1dslrernods。
regart寧20−19,201
12150 if regart=10 then print p
res3ε;formatsf26112160 if regart>10
then print pres3s;rnids[remoes。
fregArL−101”20−19,20112180 row%=32
: call cursfcolX、row%l : print :
printlobntch position number ”;ji1
2190 co1%=60 : row%=34 : call cu
rsfcolX、roI+%l : print”Pr1ntlevel”
: co1%=75 : call cursfcolX、row
%I :print drucker% : co1%:012200 r
oI+H%=35 : call curs(co1%+row%l :
print 5paces+80+12220 row%=36 : c
all cursfcolX、ro+−%l : print ”Para
m、I Param、2 Param、3 Para
m、4Param、5 Param、6”12250 ca1%=O:
row%=37 : print ”Meaning ” :
fori=1to6:co1%=i*11+7:callcursfco1%
、row%l:print midsffilenamesfil、regar
t!−3,41: ne>;Li12260 co1%=o : ro−
A=3B : CQII cursfcolX、row%l :
prin+|
”POSにeget1%’e ” : prznt ”FltCOntr
Ol ” : print”Gridfactor ”
12270 print ”Range from ” : prin
t ”Range to ” :print ”Re5ult l
l: print ”root mean 5qare ”12280 h
ls=”l= print 1evel 2=
3= inpu)gridfact4= 1nput estimate5=
1nput posneg、6=input controlp7=
next fit 13= exit fit” :
gosub 8700
12300 return
rem 本車零本**ネ重重電ネ傘ネ宰牢牢*本傘*車車重本ネ*零傘ネネ本京
*寓率率ネ市宰亨本*事市率*本市★京本12500 hl:]
1254Ofor H=1 to 6 : hchl*f11end
fi11−1beglilll/1stppi N ’l÷11 : next
il : 5uchcyc=hド1var(5,zr%)22545 11=
int+5uchcyc/1501 : if regart、=10 t
hen il:ill8 :if lenfformatS+2611>
30 then 1l=il亭212550 gosub 7600 :
co1%=o : row%=34 : callcursfco1%
+rO&’%l : ZestS”’Fit hurnber #”:’
isa\pected at f# : #* : We
” 、: prlnt Ll!ilng7− e S t S; 100
p COu n t ”A + 1 + St u II d e I 1%
、 mlnuten%、 Tekunder+5;
125ε? co1%=N : row%=−11: call cur
slcol’X、rem訓 : prjnLusinc ”+;、4g5″°
−−1°;lbeg(11+1begf21+lbegL31+。
1be<+41.lbegf51.lbegf6112523calk=+4+
rov5≦=42:callcurslcolうこ、rowン=):Pτ°in
tusing ”+:、###−−”−”;1endfll、1endf2)、
1endf31゜1endNI、1end151,1end(6112587c
a1%=14 : row+;=39 : call cursfc
olX、row%l : printusing ” +###
”;fit%f11+flt%(21,fitxi3)。
fit%+41.fit%+51.fit%f6)12589 ca1%=1
4 : ro+w%=40 : call curs(co1%、r
ow%l : printuslng ” mH” ;fak%f1+、)
xl、fak%+2.Jil。
fak%+3.ji’l、fakχ14Ij111fak%(5+jil+fa
k%(6,ji112600co1%=14:row%=38:callcur
slco1%、row%i:prinLLI91n; ” Rr 書;ll;
pne%f11.da%ill、pn=%I21゜da%+21.pne%f3
1.da%+31.pne%I41.da%+41.pne’4t51.da5
’、+51、pne?;161.da%(6)
12690 return
12700 ram
12710 ca1%=14 : row%=43 : call
cursfcolX、row%l : printusing ”+#、#
#E“ll;nvar15.zrXl、nvar+6.zrXl。
nvar+7.zrXl、nvar+8.zrXl、nvar(9,zrXl、
nvarflO,zr%)12720co1%=20:row%=44:cal
lcursico1%、rots%l:printootsq
12730 if drucker%>=2 then prlnt#11.u
sin(”+倉4#:1−−−−−n” a r l 5 + 5: r%l、
nvarf6.zrXl、nvarl?、zrXl 1 nv a r + 8
1 z r%■
nvar+9.zrXl、nvarllo、zrXl、rootsq12790
return
rem *噂**率寥寧寧オインタープリターシミュレーション重重本を傘本
京*宰本本*宰傘寧卑零寧18000 zrsav%=zr%
18020 1ntps:1nsavs : an%=ivarlLzr%
l : for i=1 to 10 :zr+1l=o :
next 118050 gosub 1B700 : for
i=1 to 300 : dy12,1l=relil :ne
xt 1
18100 gosub 20010 : rem Simulatio
n in rey+1118200 for i=1 to 1v
ar15.zrlc)+1 : re(il=reylil : ne
xt P
18490 return
rem 市率寧率傘寧*寧率傘京**寧ロート定数 電率ネ*
本本$零寧*傘本市重重隼率傘宰率寧18700 elll=pl :
c121=p2 : c131=p3 : e+4>=p4 :
e151=p5 @:
e+61=p6 : return18800 ins=formats
+261 : 1l=len(insl : for i=1 t
o il :if m1ds(inS、i、21=”RR” then
h1s=strs+zrx++” ++ :m1ds+ins、i
、21=midS(his、2.2118810 next i :
1nsavs=ins : returnrem 傘傘傘本本零*傘零零イ
ンタープリタ−ダイレクトカーブフィツト車車重草*宰**本市零19000
1ntps=insa〜°S : an%=ivarr5.zrXl :
for i=1 to ]O:zrlil=o : next
119100 gosub 1B700
19250 gosub 2001039500 rem
19760 devm=o : ic。
19762 for 1=van%+1 to bis%+1
19764 11=il+1 : if re+i’+<>rey(N t
hendevmrdevrn+(ray(i )−re(i 11−2本dy(
1,il19766 next i : devm=(devm/il+−
,5: if devm<dev thebnvar(5,zr%1=pl
: nvar(6,zr%1=p2 : nvar(?、zr%):p3:nv
ar(8,zr%1=p4 : nvar(9,zr%1=p5 : de
v=devm19900 return
1−6m***傘車本$11率率本本本:イン9−7!j9− を率車*率零
隼本*希傘*傘車寧傘*率重重本牢率率20000 ca1%=O: row
%=23 : prompts=”” : 1ns=insavs :
11eer=75 : gosub 40000 : gosub 7990
: if ia>17 andia(26or 1a=189 or 1ns=
”EXIT” then return20005 zlav=o : a
n%=O: for i=1 to 10 : zr(il=o :
next i: 1nsavs=ins
20007 1ntps=ins
20010 1=lenTinLpsl : if l<1 than
goto 25990200901evel=o : 1max=o :
gpos=o : on error goto 50000rem 掌*
*率率重重ネ*牢* ストリング分析、 傘**室本**傘重重零*ネ***
傘牢隼傘車本本20100 for i=l to l : hs
=fflids(intpS、i、1120110 if h3=”l”
then 1evel=level+120130 H1evel<Ot
hen goto 2990020140 if 1max<1eve
l then 1max=leve120150 if 1max=l
evel and ht=”(” then apos=i20155
if 1mRx=level and hs=”l” then
zpos=120160 if hS=”)” then 1eve
l=level−120165if hs=”=” then gpos
=i20170 if asclh$l〈30 or asc(hs3
>128 then goto 2990020190 next
i : ram print 1,1max、gpos20200
if 1evel<>Oor gpos=o then goto 2
990020300 if 1max=o then hls=mid
sIintps、gpos+11+1−gpc+sll :apos=gpo
s : =pos=l+l : goto 205002010 h
ls=midsiintp&、apos+i、(zpos−apos−1112
0500opa=o 二 for C1to ]enfhlSl :
hs=mids4hls、i、11205)Oif hs=”” °’
then opo=i : apos1 二 goto 21000
20520 if hs=”L” then opo=i : apos2
: goto 2100020530 next 1
20550 for i:l to 1enihlsl : hs=mi
ds[hls、i、lI20560 if hs=”*” then opo=
i : apos3 : goto 2100020570 if
h!=”/” then opo=i : apos4 : got
o 2100020580 if hs=”Dllthen opo=i :
apos5 : goto 2100020590 ne入ti
20600 for i=1 to 1enfhlS) : hs=mid
s[hls、i、1120610 if hs=”+” then 0po=i
: apos7 : goto 21C10020620if hs
=”−” then opo=i : apos8 : goto 2
10002063Oneλtユ
20700 if 1max=o then goto 255002071
0 if opa=o then h2Sn+1dS(intpS、1.apo
s−11:h3s=midslintps、zpos+1.1−zposJ)
: jntp5=h25+hls+h3s : goto 2001
020720 goto 29800
21000 1po=o : rpo=o : 1rega=O:
if apos1 then got。
21010 for 1=opo−1to 1 5tep−1: hs=m
ids(his、i、1121020 if hs=”” or hl
$=”Lll or hs=”本” or )、5=417II or
hs=”÷” Or hs”’−” Or hS”’D” t、hen lpo
”l : goto 2103021025 next i :
1po=021030 for 1=1po+1 乞o opo−1:
hs=rnidsihls、i、1)21035 if lrega=o
then gosub 27000 : 1que=ique :ユre
ga=rega : ユque2=nque2 : if rega<>
o then got。
21040 next 1
21050 rrega=0
21055 for 1=opo+1 to 1enfhlsI :
hs=mids+hls、i、11 : 1fopo=1en(hlsl
then rpo=len(hlsl+1 : goto 211002
]060 if hs=”−” or hls=”L” or hs=”*
” or hs=”/” orhs=”+” or hs:’°−” or
hs=”D” then rpo=i : goto 210702]06
5 next i : rpo=1enlhlsl+121070
for 1=opo÷1 to rpo−1: hS=rnidSlhl
S+i+1121075 if rrega=o then gosub 27
000 : rque=ique :rrega=rega : r
que2=nque2 : if regac)Othen got。
21080 ne>:t 1
21100 h9s=spaces179): m1dslh9s、lpo+
1111=midS(StrS(lrega++2.11 : m1ds(
h9s、opo+1.11=midS! 5trs; l rregb l 、
2 、1121110 n+id!1h9s、opo、11=mjdSist
rS[opa)、2.1> :m1dsih9s、opo÷3.1)=mid
S(strs(rquel+2+1121120 m1dslh9s11po
+3.11=midS(StrS(1quel12111 : rempr
int h9s
22000 gosL山 26000 : if J1n%(Othe
n an%=022300 gosub 23000 : if anX
(8then an%=022500 if 1po=Othen b2
S=−” else h2s=rnids(hl!、1,1po12250
2 if rpo=lenl)+ISl+1 then h4s=”
” elseh4g=n、idE[hlJrpollenlhlsl−rp
o+1122504 hlbs:1cftslintps、aposl :
h5S=midS(intpS、=pos、1−zpot+]l :
h3s=”Z”+5trSlzlev122510 1flpo=o and
rpo=len(hlsl+1 and 1max>Othenユr+tps
=n■1ds11bs、1,1enlhlbs1−11+h3S÷m1dsTh
5s、2゜1enfh5sl−11: goto 2255022515
if 1po=o and rpo=len(hls1+1 and 1m
ax+o thenintps=mids(hlbS*l、1enChlbsl
)+h3S+m1dS(h5S、2,1en(h5SIJI : goto
2255022520 1ntpS=hlbS+h2S+h3S+h4S+h
5S22550 goto 20010 : rem print ”Neu
er String ”;1ntpS :goto 20010
rem””” JRXi8G:間t6.tへLz−ジョンの実行 宰
宰寧零重重本零率電23000 for i=9 to 2 5tep−1
: if zr(il=o then zlev=i :zrlzlevl
=an%+1 : goto 23050 : REM N÷1 1
11123010 next 1
23050 on opa got。
23100.23200,23300,23400,23500,23600,
23700.23800.2390023080 for i=l to
an%+] : dxfzlev、1l=rex(it : next
i :goto 24000
23100 for i:l to anX+1 : if rexl
i+<=Othen dx!zlev、1l=1else dx(zlev、
i )=rex(i )”rey(i 123110 next i :
5Hoto 2400023200 for C1to anX+1 :
if rexfil<=OOr reyii)=Othendxizle
v、1l=1 else dx+zle〜r、il=logfreyf311/
log+rexfil+232]Onext i : goto 2400
023300 for j=1 to an%+l : dxfz
lev、1l=rex(ilネrey(i) ’next i : g
oto 2400023400 for i=l to anX+1
: if rey(i)=o thendxlzlev、1)=9.99
E+20 else dx(zlev、1l=rex[il/rey(lI23
420 next i : goto 2400023500 dxll
ev、1 )=I (rexl 11+rexf211/2−+3率rexfl
l−rexl2N/21/nvar+5.zr%)23510 for j
=2 to anX : hC(rex(i−1)+rexii11/
2 :h2=Irey:Ii)+rexli+l))/223520 dx
izlev+i+=(h2−hll/nvar(5,zr%l : nex
t 123530 dxfzlev、anX+11=+rexfanX+1l
−1rexlan%◆11+rex+an%11/2)/nvarf5.zr5
N : goto 2400023600 rern
23700 for i=1 to anX+1 : dxfzl
ev、1l=rexfil+rey(il :next i : go
to 2400023800 for i=l to anX+1
: dx(zlev、1l=rex(i)−re)°(i) :next
i : goto 2400023900 rem
24000 rem print llzwischenresυ1tat i
n register −;zlev;”: ”;un%+】;1° Pun
kte” : for i=1 to anX+1 : print
dx(zlev、ユl : neλti24010 return
25500 rera 傘零傘卓零本本章率車本:オペレーション終了
本本車重零本傘本本重重$I+率傘率噂阜25505 hl!=intpS
: rre(a=025510 for i=gpos to 1
en(his1 : hs=mids(hls、i、l>25520 i
f rrega=o then gosub 27000 :
rque=ique :rrega=rega : rque2=nqu
e225530 next i : opo=gpos : rp
o=len(hlsl÷1255−10 1rega=? : gosub
26000 : lrega=025550 for i=1
to gpos−1: hs=mids(his、i、1125560
if 1rega=Othen gosub 27000 : 1q
ue=ique ;1rega=rega : 1que2=nquc2
25565 if hs=”R” then return25580
next 1
25620 if lrega<3 or Irega>10 th
en goto 25990 else prin■
ins÷5pacesf79−1en(insI125630 on lr
ega got。
25800.25800,25650.25700,25750,25800,
25850,25900,25960゜25650 print 1′X−
Register’°;1que;” = ’°;an%H” Punk
te” :zr%=1que : gosub 920025652
for i=1 to 10 : nvarli、1quecnv
ar(Llzr%) :1varli、1que)=ivarli、lzr%l
: next i :hiS=”Res、”+5trS(lzr%1
+5paceS+30125654 1var+5.:r5’、1=an% :
gosub 991025656 for i=l to an
X : re(il1001=rey(il : next i :
gosub 9100
25660 goto 2599025700 print ”Y−R
egister”;1que;” = ”;anX;″ Punkte”
:zr%=1que
25702 for i=1 to 10 : nvar(i、1
quel=nvar+i+lzr%) :1varli、1que)=ivar
li、lzr%l : next i :his=”Res、”+5t
rSllzr%l+5paceS(301257CIJ gosub 99
1025706 for i:1 to an% : re+1)=r
eylil : next i : gO51,Ib25710 g
oto 25990
25750 c(lquel=reylll : print ”Kons
tante ”;1que;” =”;reyfl1 : goto 25
99025800 if 1que<11 then 1varllque、
1que2)=reyfl) : gosub9900 : print ”
Variable ”;1que;”、”;1que2;’°;”;reyll
l : goto 2599025810 if 1que>10 the
n nvar(lque−10,1que21=rey+1):gosub 9
900 : print ”Variable 11;1que;L”;1q
ue2;” =”;reyfll : goto 2599025820
goto 25990
25850 if an%:Othen dx(j、31=reyfll :
dmaxljl=3 : got。
25990 : print ”] Punkt”25855 11=2
: for i:1var+3.lzr%1+1 to 1var
14JzrXl+] :11=il+1 : dx+j、1l)=rey[1
−11: next i : dmaxljl=N: print dmax
f、jlH” Punkte eingel”25860 goto 2599
0
25900 if an%=o then dy+j、31:reyfl):
dmaxlj+=3 : got。
25990 : print ”I Pun1:t”25905 11=2
: for 1=is°ar13,1zrXl+1 to 1var
(4,lzr%l+l :11=il+1:dyfj、1ll=rey(i−
1):nexti:dmaxljl=il: print dmaxfjl;
” Punkte eingell′25910 goto 25990
25950 zr%=lque : gosub 9200 : pri
nt ”Y−Wert”;1que;”、”;1que2;” = +1;
rey(11,1que2 : if 1que2<1or 1que2
>64 then 2599025954 re(lque21=reyC
11: gosub 9100 : goto 2599025960
zr%=lque : gosub 9200 : print 11
Y−Wert”;1que;”、”;1que2;” = ”;rey(ILl
que2 : if 1que2<1or 1que2)64 then
2599025964reflque2+1001=reyll) :
gosub 9100 : goto 2599025990 retu
rn
reffl **嵩ネネ牢本****京傘ロードJRXH市事*ネ本寧ネ宰率
市*寧章宰オ富寧宰寧寒率26000 on error goto 5000
026050 on 1re(n gat。
26070 、26080 、26100 、26110 、26120 、2
6130 、26200 、26200 、26150 。
26060 for i:1 to in%+1 : if o
pa=3 or opa=4 thenrexlil=1 else
rexlil=026062 if opa=2 then rexli)=
2.7182818226065 next i : goto 262
0026070 hxs=midsIhls、lpo+l、opo−1po−1
126075for i=1 tc an%+1 : rex(il+v
al(hx51 : next i :goto 26200
26080 if zrilque)〈an%+1 then an%=zr
(1que l−126085for i=1 to an%+1 : if
zrHquel=l then icl elsei1+1
26090 rex1i1=dxllque、il+26095 next
i : zrllque)=O: goto 2620026100
ziel=] : zr%=rque : gosub 27200
: goto 26200 :rem get x
26110 zieL=1 : zr%=lque : gosub
27300 : goto 26200 :rem get Y
26120 for i=1 to an%+1 : rexiil=c
(iquel : next i : goL。
26130 if 1que<11 then for i=1 to a
n%+1 :rex1i+=ivarllque、1que21 : ne
xt i : goto 2620026140 if 1que>10
then for i=1 to an%+1 :rexii1=nvarT
lque−10,1que2) : next i : goto 、26
20026150 zr%=lque : an%=0 : rexflclq
ue2 : print rex!11 :goto 26200
26160 ziel=l : zr%=1que : gosub 27
300 : anχ=026162 if i<1 or 1que2
>nvar(5,zr%) then rex(ICO: prir+t
”out of raBe” : goto 2620026165 re
x!11+rex(lque21 : print rex(II : g
oto 2620026200 n1inシ:S%=an% : on rr
ega got。
26215 、26220 、262−10 、26250 、26260 、
26270 、26300 、26300 、26290 A2
26210 for i=1 to an%+1 : reylil=o :
next i : goto 2630026215 hys=mids11
s、opo÷1.rpo−opo−11: for i=1 to a
n%+1: reyfil=vallhysl : next i : got
o 2630026220 if zr(rquel<an%+1 th
en an%=zr(rquel−126225for i=1 to
in%+l : if zr+rquel=] then icl
elsell:1
26230 rey(1>+dxlrque+1l126235 next i
: zrlrquel=o : goto 2630026240 z
iel=2 : zr%=rque : gosub 27200 : got
o 2630026250 ziel=2 : zr%=rque : gos
ub 27300 : goto 2630026260 for C1t
o an %+1 : rey+1l=clrquel : nex
t i 二 got。
26270 if rque<11 then for i=1
to an%+1 :rey(i):1vartrque、rque21
: next i : goto 2630026290 zr%=lque
: an%=o : reyll)=rque2 : goto 263002
6295 zid=2 : zr%zlque : gosub 27300
: an%=026296 if i<1 or rque2>nvar(5,
zr%l then reylll=0 : print”out of ra
nge” : gato 26300akku b = ’°;rey(1)
26310 if nlinks%=nrechts%then goto 2
636026320 if nlinks%=o then fOri=z t
o nrechts%+1 :rex(il=rex(11: next i
: nlinks%=nrechts% 二an%=nlinks%
26330 if nrechts%=o then for i=1 to
nlinks%+1 :rey(il=rey(1) : next i :
nrechts%=nlinks% :an%=nrechts%
26340 if n1inksχ(nrechts% then an%=n
rechts%26350 if nrcchts%くnlxnks%
then an%”nlinks%26360 return
27000 on error goto 50000 : rern *
寧*傘車オ*本11本本本”ソーxのyイy27010 re(a=o : 1
que=o : nque2=o : leseflag%=027015
if hS=”Z” then rega=2 二 jque=val
!m1ds(hls、i+1,211: return
27020 if hs=”X” then rega=3 : ique
=ve11mids+hls、i÷1,21にreturn
27025 if hs=llSllthen rega=3 : 1que
=zrsav% : leseflag%=127030 if hE=”Y”
then rega=4 : 1que=val1m1dslhls、i+
1,21): return
27035 Rhs=”T” then rega=4 : 1que=z
rsav% : 1esei:1mg%=127040 if hs=”C”
tben rega=5 : 1que=valtroids(bls、i+1
.2+127045 if hS=”%”’ then rega=6 : i
que=val(midslhls、i+1,211: nque2=va1
1nnidSlhlS、i+4.211 : return27050 i
t” hS=”A” then rega=7 : 1que=val(rni
dsThls、i÷1・2目27055 if hs=”El” then r
ega=8 : ique=valTmids(his、i+1,21):
return
27060 if hs+−”N” then rega=9 : ique=
va11mids+hls、i+1,211: nque2=val(rald
s(hls、i◆4.6)) : return27070 if hs
= 1l)Ill then rega=10 : ique=val(
mids(hlor hs=”6” or hs=”7” or hs=”8′
’ or hS=”9” or hs=”0”then rega=1 :
return27090 return
272001zr%=zr%: if leseflag%=1 then
goto 2728027210 an%=ivar+5.zr%l :
gosub 9200 : rem牢零本本*本率車重本寧京**本本”x
reg 本零率傘率本本零本本*零市*零零427250 if
ziel=1 then for i=] tc 1var[5,=
r%l+1 +rexii1=reli+1001 : next、
127260 if zjC〕=2 t)+en for i=1
to 1varf5.zrχ)+1 。
rey口1=reli+1001 : next 127270 retur
n
27280 if ziel=1 then for i=1 t
o an%+1 :rexfi+=dy12.i+1001 : ne
xt 127285 if ziel=2 then for i
=1 to an%+1 :reyfi)+d>−+2.ユ+1001
: next 127290 return
273001zrシ;=2rヲ嘔::ifleseflag%=1thengo
to2738027310 anX=jvarf5.zrXl : gos
ub 9200 : rem ****牢*$$*tyreg27350
if ziel:1 then for i=1 to 1va
r[5,zr%)+1 =rexfi)=relil : next 1
27360 if ziel=2 then for C1to
1vari5.zr%l+1 :re〜fil=ref1) : nex
t 127370 return
273FIOifziel=1thenfori=ltoanニジ、+l二re
>、fil=d>(2,il: ne>:t 1
27385 if ziel=2 then for i=1 t
o an%+1 : reylil=dyf2j127390 retu
rn
29800print ”Interpreter error” + g
oto 2599029900 print ”wrong 1nput”
: goto 25990rem 率*寥傘*傘傘11市傘零零*11本零
零傘lレーチン人力 市*傘零寧傘市傘富章零孝寧孝零寧傘重重市400
00 1co1%=co1%+1en+proroptSl : 1l=l
en(ins) : 1f11〉ユJeer or 1co1%>79
then 1ns=spaecsfユ1eer) :40020 i
f 1colχ+1leer>80 then 1leer=80−ie
o1%400:10 if 1l(ileer then 1nS=i
nS+5paceSlileer−i1140040 call c*rs
4co1%、ro’−′7−1 : prlnt pro(nptE:l
r+a:””’ :cQll cursfiCo1%、row5Ill
: 1a=o : tshare=10040050 while
ia<)13 : call ecbolial : if ia
>17 and ユa〈Q7
or 1a=189 then 40]9040060 rem 1pl
ot=iplot)1 : 1fiplot>tshare then 1
plot=0: ir pointer%Fll>Othen gosub
430040080 wend
40100 hls=spaces[801+”” : call r
eadli+ro讐%、hlsI40120 for 1i=1 to
1leer : if m1ds+hls、1co1%+ii 、1l
eer−ii+41=spaceS[1leer−ii+11 then 4
015040130 next ii : 13=ileer40ゴ5
0 ins=midsfhls、1co1%+1.ユil : h]5
=””40190 return
rem 本市本**傘**章本京ネキ**エラー 11fi
傘牢孝零本本零本室傘傘零本本傘本傘摩50000 resume 500
1050010 CO1%=O: row%=22 : call c
urslco1%、row%IE+0020 print ”Interp
retererror ’°err;ll ocurred on l
i++e1“;erl
50200 print ”Hit any Key to proceed
” : as=inputsi1+5Q270 goto 20000
rem 1T11本本宰******傘電寧本本傘宰車率率率本率本本掌傘零車
本**本宰章零率本本宰*本富寧隼オ本宰率宰rem *重重本本傘本+MI
CHFITソフトウェア : pl、bas 傘寧寧x*本*w傘
*rem 重重本京本本傘傘 作者 : Bruno
)Iichel を本市章傘*零本傘JT本rem
変数およびポインターのりスト ;rem 京率率零本寧ネネ*本本牢零本*
ネ傘京本*本本傘本本本市傘牢章傘京零傘本本寧傘傘率傘零率傘寧率愈*京本r
em 70ツト限定 ;rCnlbcschr I l
annotate strings、 title and 1abelso
r axes
rell: tl fl soring 1enI!th
sre+= pg It pyh tl plot definit
ions 1see below+reff+ pxuHl pxo#l
l minimum、maximum、delta x and delta
re+n pylj+ l pyr=i l minユmurn、
maximum、 delta y and d■撃狽■
%+Q
rem PgX 119g3’ ++ 5izes of title、
1abels、 digits。
syn+bols and annotaterem idx Hidy 1
1 drats data points +integer x and
ylrern idp () pen、 symbol or
1ine type of resp。
draw point
rem ポインター%(ii)機能 :rem 1 : No
、of plots in outputspool 16 :r
em 2 : idmax IHax、 No、 of dr
a、wpointsl 11 :rem 3 : current
macroline 18 : current direct、p
ageren+ 4 : Ir+terpreter On ofr
19 : current menurem 5 : out
put in process 20 : 1nitialislion
painterrem 6 : position during st
ring output 21 : zoom onloffrem 7
: 22 : grap
hik on ofTrem 8 : current 1nput
page 23 : display lockrem
9 : 24 : pos
neg displayrem 10 :
25 : 1oaded character set 1
1−5re 11 : Input Menu update
26 : format loadedrem 12 : 0u
tput menu updaterem 13 : Content
menu updaterem 14 : Plotsize menu
updaterem15:
rem プロット限定 :pgHfi+reml:)ニーsize
ofplotincmrCm 2 : )’−si:e of
plot in crnrerr、 3 : Distance
from physical 1eft rim ofpaper inre
m 4 : Distance from physical low
er rim of paper inrem 5 : 5peed
of plotter pen in Cm/secrem 6 :
5ize of X−and Y−ticks in % of resp、
X−and”i’−dimensions
rem 7 : Line 5pacin(bet讐een anno
tate 1ines in bloclζode
rem 8 : −−−
rem9’:PositionofPlotdependingonsetti
ngoflavout 111−6
1re 10 : 0utput 5pool for plotte
rrem 11 : Pen of TiLle 10−81
0: no titlerem 12 : Pen of Ax
es 10−81 0: no axesrem 13 : L
ayout of plot (1−41along 1.across 2
゜along 4.across 6
rem N : NumbCr or annotate 1i
nes (0−151rem 15 : Pen of ann
otate to−81rem 16− 30 : orientat
ion of the annotate 1abels1=hoiz
ontal 2=verticalrem 3=horizontal
on top 4=vertical froI?I top to b
ottomrem 零*零*ネ*重重傘本零宰零章宰零本*傘本*京*傘*傘
本事傘宰寧零零京寧牢傘京木牢宰京*亭*傘車市ネrem プロッ
ト限定 : pga iilrem 8 : Width o
f colurnns in % of the x−dimens
ion o■
rem 事本車零*宰*傘率宰本*章本本本率率*本*傘零率*lIオ寧*章
京享市寧本富本#率卑*本*本本本京零本trem Plot defin
itions : PgX (ill pgy (ユ)rem
1 − 5 : 5jzes of Title+
1abeユs of ay、es。
di(its、symbols and annotaterem 6−
10 : Po5ition of Labels in%relati
%′e to theframe of the plot
rem 11 title 2ン ユabel of
los、・er x−axis 3ンユabeユ o■
left y−axis
rem 411abel of upper x−axis 5) 1
abel of right y=aχis
rem 11 −15 : Po5ition of digits i
n units ofdiyitsize relat4ve to th
erem 1ntersection of the tick wi
th ths frame :rem 1+ −−2+ lowe
r x−axis 311eft y−axis 4) upper−axis
rem 51 right y−axisrem 16−30
: position of the annotate 1abels
in %relatis°e to the plot f’raI11e章1
1傘傘本本傘零本本**寧率車市事キ率*率本ネキ本本傘***本本率*本本庫
本本重本禽率本*率キ傘率寧零寧本宰ネrem ソー
スコードの開始**車傘*本オ本本本本本*傘率傘傘本*ネ市**本本本本*傘
本本本車重重重傘本本本*率*傘車寧零車本本本倉本率率rem 傘室本本本
*傘傘*本車重本**市 限定 傘掌傘本*率ネ傘車11傘
傘零す本ネ本本車宰本30 rem 5inclucle : ’co
mvar’220 width 255 :250 drts=”a:b
:c:d:e:f:g:h:”255 scrndrs=mids(drts、
idrive(11m2−1,21:spoo1drs=midi(drts、
idrive(31m2−1,2]2605ysdr5zffIidsldrt
s、1drive14)車2−1.21 :formdrs+m1ds(dr
ts、1drivef51$2−1+21265 rnapgdrS=midS
ldrtS+1drive171*2−1.2+300 close*11
: open ”LPTI:” for output as#111en=8
0305 field#14,1760 as 5creens310 di
m rex(5001+reyT5001.dis1in%flol、texe
pt1201315 tsset=1 : cursor=1 :
cl、r=2 : idmax=o : 1dc=ユ F
pga+91=1 : plotrnen%=O: 1annot=o
: back%=o :upper%=l : touchs=o
: ttaus=taus320 running%=1 : isy
m=1 : 1leer=5 : insym=l : tsha
re=2: 1plot=1 : aufspulen5c=0325
for i=1 to 20 : texept(i)=O: nex
t 1326 texeptlll=228 : texept(2)=215
: texept(3)=227 :texept141=250 : te
xept(5)=186 : texept(6)+181 :t@xept1
7)=208 : texept(8>=187 : texept(9)z
240327 texept(111=204 : texept(12)
=206 : texept(131=207rem 本**率率***津
傘車プロンプトでシステムファイルを読取ル**牢本*ネ*嵩傘率330 i
f pointerlcf26+=1 then 350335 close
壽2 : open ’″r ” + 42 + name $+ −H5)”
’ + 256 :field#2,256 as exS340 for i
Jl to 20 : get#2.i : 1l=cvi+m1d
s+exs、1+21):fOrmat$ii+681=n+1dS(eXs、
31i11 : next 1345 if pointel−%12
51=Othen i=1 : gosub 26410 elsecl
oset2 : exs=””rem1111車富孝1に京**** 相
違f(#イアH:J3けるRK 重重本車准*車率零愈率350 go
sub 19100 : gosub 20000 : if pai
nter%+211=Othenpainter%(231=0
360 if pinit<l or pinit>2 then
1900370 if autoscaleJ and point
erXC211=l andpointer%I231=o then po
inter%(22)=O: for block%=1to 6 :
gosub 22030 : next block%375 Rauto
scale=l then gosub 27000380 if 1nter
polate=1 then for j=1 to 5 : 5In
ooth=2 :1zosub 27500 : gosub 26500
: next J390 ttaus=taus : if pini
t=2 then 3.me=2 : gosub 7000 :if
taus>1 and taus<5 then running%=
0400 if pinit=1 then gosub 21000410
pinit=1 : for 1=61 to 72 : 1
p(il=ユ : next 1ren+ 事ネ*****京傘牢車重
市車率率章**傘傘牟傘本オネ寧*傘宰京ネネ市**本*傘嵩寧寧ギ京傘車軍ネ
!卑rem メインプログラムキ*宰處車***ネ幸
II傘重重lI*率傘率キ零ネネ率零零確オ本本傘車黍率ネ率オ攻攻率確軍軍傘
隼寧草寧草亭1寓威亭、500 while running%rem 6
05 if yarn=%)Othen gosub 6300rem 51
0 if comfile%>Othen as=macros(comfil
e%l :coffIfile%=comfile%+1 : if c
omfile%>21 thencomfile%=0
rem 515 if comfile%>Othen gosub 4500
rem520 if comfi3e%=Oand 1nterpreter*
1 then gosub 4500540 tshare=2 : 1
lock=0550 gosub 5000 : rern 事車重
考本率車亭入力待ち 率*傘*零555 If runn1ng
%go then goto 790560 if imeG or ime
>2 then ime+1565 if if1mg=o then 700
570 on ime gosub 21400,22400700 on i
me gosub 21025,2000790vend
rein ”率率*ネネ*ネ率京傘傘呼出しプログラムに戻ル 率零傘ネ
本車重率傘率重重牟傘率率率1000 ttaus=taus : if
pointer%+211=l and pointerX1231=Ot
hen painter%(221=O: block%=l : g
osub 22030 :print ttroffsH: call
alpha1005 m1dstbeschrs+ll+1,1en+x
besSll=xbesS :tHl 1=1en!xbess1
1010 m1ds(beschrs(21,1,1enlybess+)=y
besS :tl(2)=leniybeg$1
1020 m1dslbeschrs+3)+l+1en(xobesSll=
xobesS :tl13神1enlxobess)
1030 m1dtlbesehrs!41,1.ler++yrbas$1l
=yrbesS :tH41=len(yrbes$1
1040 +n1dSlbeschrS(5)、1,1en(ptitelsl
)=ptitelS :tH51=len(ptitels)
1050 close#1.#2 : promptls=”” :
fstrls:旧’ : fstr2s=”” :hs=”” :
has:”” : h2s=”” : 1ns=”” : 1ns
avS=””1070 forrnpls=”” s textpls:”
” : nS=”’° : mS=”’° :zeichens:””
: pls=”” : exs=旧’ : print grof
fs; :prlnt ats;
1075 call alpha : if plotmen%=1
and 1p(90)=1 then gosu■
1080 call cls : ime=01081 if fort
s>3 then 1090 else if forts<1 then f
orts:+21082 if forts=] then get#1411
: ime=1 : 1il=11083 if forts=2
then getH4,2: ime=2 : 1il=311084
if forts=3 then get月4.4+anzaige :
1rne=3 :511=61+(softk−11121085def
5ett : iユ=varptrl#141 : call re
cscr(iり : gosub’108611=forts : sof
tkeys=format$(iil)÷formats+iil+11 :g
osub 8700
1090ttausxrl:1fpointerXI21ン=1andpoin
ter%123)=Othan for block%=l to 6 :
gosub 22030 : next block%: print
ate; : print (roffs;109)ptitels=”
” : xbess=”” : ybess=”’° : xobes
s=”” :yrbes!=”” : groffs=”” : c
learms=”” : setms=”” :togglerns=”
”
10925oftkeys=”” : sk$+”” : 1=fre
i旧°):painter%+191=ime
1095 pointer%(21=idmax1100 pinit=l
: chain prets1900 end
2000 return
率傘誰傘ネ零零零11市本書電車零車寧車率零車傘零零率傘率傘幸車傘傘率*本
車車零寧オ車事事率ネ車車車車率本宜*寧寧rem サブル
ーチン/プロデユースreff1 本章****寧傘事本車重率傘**宰傘率率
*寧寧寧*零*傘*本本本牢率傘車寧*重重ネネ本市本*率傘*倉寧rem
零本亭**本本傘*傘率率傘零亭零 人力1または2
車重車本重重本置傘*倉京3960 11eer=ispa : gos
ub 400003970 aS=”、” : ikg=instrfi
ns、asl : if 1J=Othenhl=val+ins+ :
h2=o else hl=valfmidSfinS+1,1kg−
11): h2=valfmids+ins、1k(41,lenlinsl
−ikgロ3975 return
rem 孝本傘京傘車本*零傘率車バッククラン)’出力、 傘車寧傘ヰ傘率
率車*零木寧*廖本事電*車本4300 if point、er%[51
<1 then 43204305 if eoN13)and au
fspulen%=l then return4310 if not
eofl13)then 1nput#13.ios else gos
ub 4400 :return
4312 if 1enlios+<10 then io$=ios
+5pacesr32)4315 print#12,1oS4320 r
eturn
4350sco1%=O:srow%=21:callcurs(sco1%、
S!”OWχ):print 5paces+791 : call
curslsco1%、srowcl : print”No、of Pl
ots :”;pointer%(1);” repeat(0711”;
repeat%;” bit 5pice ” : alsinpu
ts(1+4355 call cursisco1%、srow%l
: print 5paces+791 : callcurslsc
o1%+ li rOb’%l : print Please en
ter commandfor plot 5pool :”4356
print ”e=exit / d=delete / r=re
peat / c−=clear /p=pause / 5=sta
rt” : alsinputs(11: on error got
。
4360 if als”d” then if painter%+
5)=1 then gosub 4400else gosub 44
02
436S if als”r” then repeat%=14370
if als”c” then for j=1 to point
er%(11: killspooldrs+”PLOT”+chrS+j+
64): next j :pointer%+11=o : poi
nter%(5に〇4375 1f als”p” then close4
12 : close#13 : pointer%+51=0438
0 if als”s” then if pointer%ill>Ot
hen painter%+51=1: gogub 4415
4390 return
r6m*本傘**牢京+s車寧*オ 77ス7−)l、ツクローズ零本*オ寧零
*傘***本本本本章*本本寧率4400 prλntj12.”Pl、l P
、A O,0;SP O;” : close#12 : close
#13 :if repeat%=1 then repeatχ=O:
goto 44204402 kill 5pooldrs+”PLO
T”+chrS+1÷641 : pointer%fl+=pointe
r%(II−1: if pointer%(11=Othenpoint
er%+51=O: goto 44254405 for 1ps=1
to pointer%(11: name 5pooldrs+”PLOT
”+chrs+ips+1+641 as 5pooldrs+’°PLOT”
+chrS(ips+641 :ne>:t 1ps
4415 open ”o”j12.”PLT” : width #12,
20 : open”i”、413,5pooldrs+”PLOT”+chr
S(1+64 )44201nputj13.ios : if 1os=
”5TOP” then 5en1%=o :srow%=22 : ca
ll curs(scan%、srow″gl : prir+t ”
HitEnter when Plotter ready (s=stopl
°’ : alsinputslll: if als”s” the
n pointer%151=o : close#12 :close
#13
4425 return
rem 本車重本 キーボードタッチスクリーンマウス入力 本事本本
車重本本*オ本5000 if touchs=o and 1lock=o
then print chrS127);”−7+2N’°; : to
uchs=1 : re+n *寧touchsense on *
ネ車重*處率*5005 iflag:0 : 1plot=iplot÷
1 : if 1plot>tshare ther+1plot=o
: if painter%+11>Othen gosub 4300
5010 als=inkeys : if 1en(alsl<1 t
hen als” Il : b=o : a=0: return
else alsmids(als、1,1) : a=asc(a
sl−1) :b=asclasl−89: iflag=15015 pr
int chr$1271; ”−zON”; : touchs+=o :
remネ傘*本章本タッチセンスオフ、 *ネ傘本富本本車重零率傘零本*ネ
車傘室本本本本5020tfeld=o:tarray=0:tsoft=o:
tcol=o:trow=o:1col=o : irow=0 :
rem Reing%=1 then eing%;0 :goto
5520
5025 if asclas+>17 and asc(asl<2
7 then tsoft=asciasl−17: return
5027 if 1lock=1 then return5220
if alsI1m” then forts=1 : runn
ing%=0 : return5230 if als”/” t
hen forts=2 : running%=O: returr
+524C1jf aS=”C’ then forts=3 : ru
nning%=Q : return!J250 HaS=”−” the
n plotmen%=O: gosub 210005300 return
: rern 傘*零*傘本本章傘*11本本11章メインプログラムに
戻るrem 零才零寧*傘率率零ネエ5−11fl、lI零傘本本庫寧零ネ本本
ネ率掌享本車重率重重零本事牢零寧6000 resume 601060
10 gosub 22390 : gosub 22350 : c
all curs(calχ、rOW%]6020 if erl=25800
then print IIplatter not responding
”;: goto 6090
6030 if era>24000 and erl<25000 then
print ”printer notresponding”; :
(oto 6090rem 60−10 jf erl=6080
print ”error ”;ern;”’ ocurred on N1
ne ”;erl;6090print”1hitanykeytoproce
edl”二as=inputJill:goto 500
rem *本傘傘傘本傘*率***出力の呼出シ 富津本京ネ傘ネ本零
京傘本京**傘宰ネ零本本*傘重重*7000 ttaus=taus :
if taus=2 then auss=names : g
osub25000 : return
7010 Rtaus=3 then auss=nameE :
gosub 24000 : return7020 if tau
s=4 then pointer%!1l=pointerX(1141
:n5=spoo1drs+”PLOT”+ehrs(pointer%il+
÷64) : on errorgoto 21900 : tt
aus=27030 if taus=4 then close
#1 : open ”o”、#1.ns :prinll、+1NO
RMAL”:aufspulen%=l:gosub25030:aufspu
len%=0 : return7040 if taus=5 t
hen forts=8 : running%=o : retu
rn7050 if taus=ユ then ime=2 : t
sset=1 : als” ” : a=o :call a
lphaoff : print chrs1271+”本dS”;
: gosub22000 : call graph : re
turn7090 return
rem 本本傘本車本傘本市寧傘本*本タッチスクリーンの構成 寧傘車章
本傘ネ*本本傘京寧ネ傘本零零8500 call offtouch85
40 for i:1 to 25 : 1l=1+fi−1)*
2+time−11$100 : 12=i÷658550 if
1con1i11=icon+il+11 then 86008560
co1%=iconfill/100 : rov%=iconfil
l−co1%本1008570 co1inc%=iconiil÷1+/
100 : row工nc%=iconiN+11−coline%$11
00−ro% : calユnC%=coline%−calχ8580
resps+chrsli21 : call fntouch(r
ow%、co1%。
rowinc%、coline%、resps)8590 next 1
8600 ipoint=Time−1)本100+51 : 12=8
986101=ipoint : if 1con(i)=Othen 86
958620 if 1conli)〉9899 then rowo
ff%=iconli)−9900:anzz%=iconli+l+/100
: anzs%=icon+ il1 )−anzz5G傘100863
0 for i=1 to anzsχ : 1l=ipoint+i*
2 :co1%=icon(ill/100 : ross%=icon
+1ll−co1%本Zo。
8640 co1inc%=iconlil+11/Zoo : rossi
nc%=iconTil÷1トcolinc%寧1100−ro%:colin
e%=coline%−co1%8650 for j=1 to
anzz% : 12=i2+1 : rov%=rost″:A÷(j
−1)本rowoff%
86フOresps=chrsli21 : call fntouch
lrovχ+co1%+rowineχ、coline%、respS+868
0 ney、f、j
8690 next j : 1point=ipoint+anzs
X本2+2 : goto 86108695 return
傘傘傘零11本事傘本ネ章*キーラベル本寧孝率寧ネ*章**11牢本傘本本*
寧本宰傘本寧*本*本ネ車率本牢本傘8700 if 1enfsoftk
eys+<160 then 5oftkeys=softkeys÷5p
aces(161−1en+5oftkeys l 18705 for
j=1 to 8 : m5=strs(il : 5ks=ch
rs(271+’°&fOa”+mxdS(ms+2+l l+”k16dlL
”÷m1di(softkeys、i率18−15.161+chrS(17+
i) : print skS; : next 18710
print chrsi271B ”&JB”; : return愈
愈零本本本11*本章*亭章率率*disli車本本零宰倉ネ市本ネ傘**本本
亨京寧本零ネ本車本車本率本宵傘亭零本8900 co1%=0 : c
all eurslco1%、row%l : print hls
: retur■
rem 8900 enhs=chrs!2551 : call
dislifrow%l hIS +enhsl : return
19100 rern 愈軍***調デマルチブレックスストリング 本蔓軍事
重重車車零車車率口率車率19]IQ xbesS=midSIbeschr
Sfl++1+tlflll : ybesS=1?!jdSlbesc
hrs121.3.tl(211
19120xobesS=midS+beschrS131,1.tlイ311
: yrbesS=midSlbeschrs(4J+l、tl14)
119130 ptitels=midslbeschrs(5’l、1.tl
(511:idmax=pointer%!21
19180 return
rem **傘傘本本1市 70ットモジュール〕限定
率率率事*本IL*率*寧*本傘20000 rem
20220 formatJ : cursor=1 : cw+=
4 : cursg=1 : x%=300 :>−%=200
20230 dislin%111=l : dislin%r21=7
: disljn%(:N=6 :dialin’X141=5 :
dislin5G+5c820240 dislin%r61=4 :
dislin%[7)=10 : dislin%+81=9 :d
ialin%+91=+1 : dislin%(101:120260
togglem6=chrs(271+”1m3A” : gts=chr
s(2714””dS” :ats=chrs+2714”寧dT”2027
Opromptl&=”Geben Sie : 1=Ticks 2
=Zahlen 4=Beschr、”: ZeichenS=”x*+−
=QQ%#@”20300 groffS=chrS427++”*dD”+
ehrS(27)+”*dT”20320 def fnplu51x、y
+=chrs127)+”Spa”+(pymin+5cyfu(y−scad
ytll)÷” z ”20330 def fnpldslx、yl=c
hrSf271+”*pb”+5trHint(pxrnin+5cxf#市C
x−5cadx#)l )+’°、”+trS(int(pymin+5cyf
衾車1y−scady#lll÷” z ”20340 def fnpr
nu$lx、yl=”pu;pa”+5trS(int+px+nin+(x−
scadxi 1京5cxH)++” 、”+str$ (int(pymin
+6・−5cady# l”5cyf# l )+” ;”20350 de
f fnplTISIX+5’l”’pa;pd”+StrSfintfpX
mln+1X−scadxi 1本5cxf#l)+’°、”+strS(in
t(pymin+(y−scadytl*5cyNll+−”
20360 def fnplu2Stx+yl=ehrSI27++”*
pa■+strSfintlpzmax−scyf#本1y−sead%′#
I l 1÷14 、 ++÷5trS+intlpymin+5cxft宰+
X−5cadx#ll++’°Z°。
203]Odef fnpld2s+x、)°)=chrS+271+”本p
b”+5trHint(pzmax−scyf#”+y−scadyt目トt”
、”+strS(int(pymin+5cxf#*(x−scadx月)ト1
1 z +1
20380 def fnpmu24(x、yl=”pu;pa’。+5trS
rintlpz+nax−(y−scady# l*5cyf# l l+1°
、”+5trSイintlpymin+(x−scadx#ド5exf#ロ÷n
、 ++20390 def fnpm2sζx、3す”’P”;P”’
÷strS(1nt(pzmax−(r−scadyji I*5cyfi l
++”、”+strSIintTpymin◆(x−scadxil*5cx
ffll+”;”20400 def fnxw(xl=intlpxrn
in+5exf’+本+x−scadxtll : deffnyw(yl
=intlpymLn+5cyf#京(y−scadyt))20420 de
f fnscxlscxmin#、5cxrnaλ#l=+pxmax−pxm
ir+)/lscxma>二*−5cx+nir+#120430 def f
nscy(scyrnin!、scymax#r=(pymax−pymin>
/!scyma>;#−scymin月20440 def fneurs
sfx、yl=chrS1271+”本d”+strSIintipxmin+
acxf#*+x−scadxil11÷”、”+5trSIint+pymi
n+5cyf#*fy−scad%l11+”o”20450 def f
n+−5ix、yl=strS1intlpxrnin+1x−scadx#I
率5cxfi13+1°、“1÷5trs(int+pymin++y−sca
dytl*5cyf#1120460 def fnvS(x+>i=str
sTint(pzmax−(y−scady#l傘5cyf月3+”、”+st
rS(int(pymin+(x−scadxil*5cxf#])20495
gosub 20500 : return20500 if po
inter%+241=o then clearm$=chrsf27)
十”本mlA” :getms=chrs1271÷”傘m2.A” el
se clearms:chrs(27)+”本m2A”: setms=c
hrs(271◆″*rnIA”20510 return
ram 本s章零車*傘**ネ傘車本車プロットサイズメニュー 零隼傘倉零
詠零隼オ零傘零卆牢11本本21000 1rne=1 : tshare
=2 : call (raphofT : call alph
a2]005 5oftkeys=”CPo5itiveNe(ative2=
5cale Autom、 3=Nexし Po5ition
4=Execute Ausgnbe 5−AnnOLaLeEingab
Q6=、Ausgaba abspulen7= υPper lo
wer 8= RoユニeBeschr、 ”
21010 icl : gosub 8700 : if plo
tmen%(>1 then gosub21015 return
21020 on error goto O: call cls :
call oRtouch : defseg : get#14,
4 : 1Cvarptr(#14): call reescr(il
l: gosub 30000
21022 gosub 30000 : 1p(901=O: poi
nter%+141=0 :plotmenX=1 : for iニア
3 to 86 : 1p(i)=1 : next i :co
1%*o : row%:O: call curs(co1%、ro
w%l : callalpha : return
21025 if poir+terX114>>30 then retu
rn2103G painter%+141=pointer%C14)+1
: if 1p(pointer%1141+601+Othen re
turn21031 if pointeraA+141=1 then
print atS;21032 if upper%=1 then i
f pointer%+14012 andpointer%+141<28
then r@turn21033 if upperχ=Othen if
pointer%(14]<13 orpointer%L141=30
then return21035 on error goto O: 1
p(pointer%(141+601=O: 1fpointer%(14
1>20 then 2105021040 on pointer%(14
1gosub 21200,21210,21220,21230゜2i240
,21250,21260,21270,21280,21290,21300
,21310,21320.21330,21340,21350,21100
,21100,21100.21100rem
1 2 3 4 521045 r
eturn
210501i=pointer%+141−20 : on ii gos
ub21360、21360.21360.21360.21370 、213
80 、21100 、21190.21190 。
rem 1
2 321055 return
21100 return
21150 def seg : 1l=varptr(#141 :
call 5toserぜjll:putt)4,4 : return
21190 ca1%=O: row%=21 : call curslc
olX、 row%l : printspaces+1591 : r
eturnrem 宰*寧*ホ*宰市ネネ*本市JJ分 傘*車重率傘
傘*******ネ寧傘傘率傘宰庫富零寧1寧2)200 coL%=20
: row%=1 : call curslco1%+row%)
: prjr+tptitels;5paces(801: retur
n21210 co1%=20 : row%=3 : call
curslcolX、rov%l : p’rint @ゝ′
’;m1dsばormats(831+taus本フー6.71;” ”
: return21220 ca1%=68 : row%=3
: call curs(co1%、row%l : print
h
”;pglll);” ”;pg(121;” ” : retu
rn21230 colχ=20 : row%=5 : call
curs(co1%、row%) : printmidsばorma
ts(84)、pg(13)ネ16−15.12);pg(91: retu
rn21240 co1%=68 : row%=5 : call
curslcolX、row%l : print h
”;9g1141i″ ”;pg(151;” ” : retur
n21250 co1%=1) : row%=8 : call
curs(co1%+rowり : h1s=”” : for
i=1 to 7 : h2s=strs(pg(j))+5pace
ST91 :hls=hls+m1ds(h2$、1,81 : nex
t i : hls=hls+5trs+pgaイ8)) : pri
nt hls : return21260 co1%=8 :
row%=10 : call curs(co1%、row%) :
printpxu!lll : for i=1 to 4
: hlscsng(pxu!(i)l : gosu’。
21315 : next 1
21265 co1%=44 : call curs(co1%、r
ow%l : print ””;xbed;5paces+79)
: return21270 co1%=8 : row%=12
: call curslcolX、row%) : print。
pylt(5) : for i=1 to 4 : hlsc
sng(pylt(1)l : gosub21315 : ntxt
1
21275 co1%=44 : call curs(co1%、r
ow%l : print ””;ybess;5paces+791
: return21280ca1%=8:row!、=14:ca11c
ursieo1%、rowel:printpXOjf:)l : for
x=1 to 4 : hl”csngll)XOfFlll : g
osub21315 : next 1
21285 ca1%=44 : call cursico1%、ro
!+%l : print ll”;xobesS;5pacesl?9
1 : return21290 ca1%=8 : rowχ=16
: call curs(co1%、rOW%l : printp
yr#15) : for i=l to 4 : hl=csnglp
yr=(ill : gosub21315 : next 1
21295 ca1%=44 : call curs+co1%、r
owel : print 1′”;yrbess;5paceS150
Jan+yrbes411 : return21300 row%=1
8 : for i=1 to 5 : colχ=i宰8+3
: callcurs[co1%、rowel:print”ll;pg
xlil;””:neにti: return
21310 row%=20 : for i=1 to 5
: co1%=i*8+3 : callcursico1%、rowe
l : print ” ”;pgy(ill” ” : nex
t i: returrl
21315 ca1%=i率8+3 : call curs(co1
%、rowel : hls=strslhll: i2+1cnihl
sl : j、f 12(7the’n prir+t ””;hi
s;5pncesf7−121 : else print usin(”
+ # + + j −−−“”;h121317 return
rem 本***本*傘京傘傘傘*傘本京下部分:*傘傘*寧****寧零傘傘
京*牢零傘本牢京事寧宰零本21320 row%=26 : hl$=
″x−coord、text ” : for i=6 t。
10 : h2s=strs(1)gxlill+5pacelflO):
hls=hls+m1ds(h2$、1..10): next i :
gosub 8900 :return
21330 rowχ=28 : hll=”y−eoord、text
” : for i=6 t。
10 : h2s=strs(pgY(ill+5pace$(10):
hls=hls+m1dsイh2s+1+101 : nex、t i
: gosub 8900 : return213[)row%=3
0 : hls=”x−PoS、digits ″ : for
1zll t。
15 : h2s=strs(pgx[i))+5paceS1101
:hls=h!S+n+1dSlh2S、1,10): next i :
gosub 8900 :return
21350row%:32:hls=’°y−pos、digits’°:fo
ri=11t。
15 : h2S=strSIpgyfill+5paceSflO1:h
ls=hls+m1dslh2s、1+101 : next i :
gosub 8900 :return
rem 本牢車重本率*傘ネ宰*率オ傘*傘ネ**孝注釈 率寧宰
零率傘車寧傘本車重重重率ネ本*傘零傘本21360 1=pointer5c
r14)−20: hls=spaces(50) :h2$=spaee
s[501: co1%=O: 1l=i+rol1% : if
il>15then 2136B
21362 11=tllil+51 : row%=+1−11京2+3
5 : if il>30 thenmidsfhls、1,501=
midS(beschrs(if÷5)、1,501 :m1dslh2s、1
.1l−511=mids(besehrsl il+51.51.1l−51
121364if il<51 and il>Othen m1ds
Ihls、1,1ll=rnidS(besehrS1i1+51.1,1ll
−21368call curs(co1%、row%) : prin
t usingformats+79);il 、pg(il+151.pg
x(il÷151.pgy(il+151.his: rOWχ=roKχ+
1 : call curs(co1%、rowel : prin
t usingfori+ot!+801;h2s : return2
1370 eo1%=O: row%=25 : call cur
s(co1%、rowel : printforITIz+ts1811
: return21380co1%=o:row%=34:callc
urs(co1%、row%):printformats1821 :
returnrem 傘傘傘車本ネ傘プロットサイズメニューコマンドに対する
サブル−チン 傘*車傘21400 co1%=O: row%=22 :
call cursTco1%、rowχl : printats;
:tshare=2二1c=asc(asl:tarray=o:pointe
r%+221=o : if ic>89 and ic<98 then
tarray=121405 if ic>97 and ic<1
30 then tarray=221410 if ic>129
and ic<146 then tarray=321415 i
f ic>145 and ic<170 then tarray
=421420 if ie>169 and 1cG86 the
n tarray=521425 if ago and a<9
then 2170021427 if ic>185 or i
c<65 then r1!Lurnrem ******牢寧京京率ネ寧
シンクlレフイーlレドの動作 宰零本事本本零傘宰*隼21430
1p1901=1 : ip[891=1 : pointer%(
141+O; on tarraygato 21600,21600,
21600,21650.2368021440 on error goto
21900 : hls=’“TQNAXYV讐W”:1i=instr
fhls、as1
21445 if 1i)4 and ii<9 then bl
ock%=2 : gosuL+ 22030 :block5G=5
: gosub 22030 : print ats; : pri
ntprompt1$;
21450 on ii josub21460 、21470 、2148
0.21490 、21500.2] 510 、21520.21530.2
1540 。
21455 return
21460 ca1%=20 : rowχ=l : prompts=
”?” : 1ns=ptitels :11eer=58 : g
osub 40000 : 1nsavs=ins : 1flenl
insavsl>80 then goto 21450 else 1pi6
11=121465 if pointer%r211=1 then bl
ock%=2 : gosub 22030 :print ats;
21467 ptitels=insavs : return21470
ca1%=69:row%=3:callcurslco1%、rowel:p
romptc”?” : 1ns=”−、−” : 1spa=3
: gosub 3960 :5avl=)+1 : sav:2=h2
: ip+631=121475if pointer%(211=l t
hen block%=1 : gosub 22030 :blockχ=
2 : gosub 22030 : print atsH2147
7pgllll=savl : pg+121=sav2 : ret
urn21480 ca1%=69 : row%=5 : call
curs(co1%、rowjcl :prompts=”?″ : 1
ns=Il 1+” : 1spa=4 : gosub 3960
:5svl=hl : 5av2=h221485 if pointe
r%[211=1 then block%=3 : gosub 22
030 :print ats;
21487 pgi141=savl : pg+151=sav2 :
1p(651=1 : rett+rn21490 taus=ta
us◆1 : if taus>5 then taus:1244
95 ip+621=] : return2]500 gosub 2
1580 : pxu#(5)=sav# : ip+671=1 :
return21510 gosub 2]580 : pyl#
(5)=sav# : ip+681=l : return2152
0 gosub 21580 : pxo#f51=sav# : 1
pf691=1 : return21530 goaub 21580
: pyr4f5)=sa・、# : 1p(701=1 + re
turn21540 pgN31=pgl131+1 : if pli(
131)4 then pgf131=121545 gosub 2980
0 : pg191=1 : gosub 29500 : ip
+641=] :ip+6El=1 : for 1=71 to
76 : 1plil=] : next i : jfpoi
nter%(21+=1 then eall gclear21547
pointer%+231=O: for 1=94 to 99 :
1plil=o : nexti : return
21550 return
215801nput sav含
21585 if pointer%(211=1 then blo
ck%=l : gosub 22030 :block%=2 :
gosub 22030 : print atS;21587 r
eturn
rem s牢車本*率車零零率牢宰*零率 フィールF7Wの動作
*率零本傘本章本零本愈21600 teol=b a+od 8
: if tcol=o then tcol=821605 t
rosx=intl+b−teal)78+11 : tcolsav=t
col :trowsav=trow
21610 prompし$ =119 II 、 i n5−II
″ : 1leer=5 : if tross=戟@ or
tcol<5 or tross)5 then row%=6+tr
ow傘2 :co1%=tco1章8+4 : gosub 40000
: 1nsavs=ins21620 1f pointer%+21
1=1 then hls+’°please wait” : g
osub21950 : for block%=1 to 9
: gosub 22030 : next block刀@ :
print ats; else for 1=91 to 99
: ip+1l=o : next i21630trow=tr
ovsav:tcolgtcolsav:co1%=O:row%=22=i1
eer=75 : 1ns=insavs21640 if trow
=1 then 1p16G++1 : hl=val(insl
: if tcol=W
then pga(81=hl else pgltcoll=h121
642 if trow+2 then 1p(67)=1 :
if tcol=5 thenins=xbess:gosub40000
二xbess=inselsepxu#(tcoll=val(ins1216
43 if trow=3 than ip+681=1 : i
f tcol=5 thenins=ybess : gosub
40000 : ybess=ins elsepyl#(teoll=
val(ins+21644 if trow=4 then ip+
691=1 : if tcol=5 thenins=xobess
: gosub 40000 : xobesS=inS el
sepxoaI tcol 1=val (ins +21645iftrov
=5thenipt701=1:1ftcol=5thenins=yrbes
s : gosub 40000 : yrbesff:ins el
bepyrHtcoll=vaHins1
21646iftrov=6thenip1711=1:pgx(tcoll=
val(ins121647 if trow=7 then ip+721
=1 : pgy(tcoll=valTins+21648 retu
rn
21650 c=asc(asl−445: tcol=c mod 6 :
if tcol=o thentcol=6
21660 trow=int+1c−tcoll/6+1) : ro
w%=24+trow本2 :co1%=tcolネ10+9 : pro
mpts=”?” : 1nS=” ” : 1leer=s :(
oiub 40000
21661 trowsav=trow : tcolsav=tcol
: 1nsavs=ins21662 if painter%+211
=1 then for block%=1 to 5 : gosub22
030 : n@xt blockX : print atsHels
e for 1=92 to 93 :1p(1)=O: next 1
21663 trow=trowsav : tcol=tcolsav
: 1ns=insavs21665 if trow=3 the
n pgxlteol+51=vallinsl : ipf?3):12
/1g70 if tro%:=2 then pgyitco1451=va
llinSl : ip+741=121675 if trow=3
then pgxltco1+101=vallinSl : 1)
l1751=121677 1f trov=4 then pgyitco
l+101=val(insl : 1p1761=]21678 re
turn
21680 c=asc+asl−469: if c>20 then re
turn216ε2 prompt!=”?” : tcol=c mod
4 : if tcol=o thentcolテ4
21683 trow=int((c−tcoll/4◆11 : ca
1%=(tcol−11”8+1 :row%Jtrow−1)$2÷35
: if trow>5 then return21684i=tro
w+ro11%:1fteal<4thenins=”−”:1leer=5:
then pg1i+151=val+1ns121688 if tcol=
2 then pgx1i+151=vallins1236901f tca
l=3 then pgy(1◆151=valiins)21692 if
tcol=4 then co1%=O: row%=22 :
1leer=75 :ins=midElbeschrs1i÷51.1.
tlti+51) : gos=ub 40000 :11=len(i
n!l : if il>80 then returr+21693
if tcol=4 then eall curs(colX、r呟XI
: printspaces(791: tl(i+5)=il :
m1ds(beschrsLi+5>、1,1l)WINS
21694 for 1=81 to 84 : 1p(ilJ :
next 121696 return
rem **本 ソフトキー機能を実行するルーチン 本零率
市本****217001p1901=1 : 1p(891=1 :
on a gosub21720 、21740 、21760.21780
、21800 、21日20 、21840 、2186021710 poi
nter%1141=o : return21720 if pointe
rX+24>=Othen pointer%(241=+1 elsepoi
nter%l 24 )=0
24725 gosub 20500 : call gclear : f
or 1=91 to 99 :1pTil=o : next i :
pointer%+231:Q : print ats; :print
″done” : return21740 colX=o : ro
w%=22 : call curs(colX、rowχl : gos
ub27000 : for 1=67 to TO: 1pli+=1
: next i : return :rerr、 autoscal
e
21760 xf pg(コ31<1 or pg(13>>4 th
en pg1131=121762 on pg(131goto 2
1フロ4,21766.21768,2177021764goto 2]77
5
21766 if pg+91=1 then pg(91=2 : go
to 21775 else pg191=1: goto 21)75
21768 pg(91−pg(9)+1 : if pg(9)>4
then pg(9)=1 : got。
21775 else goto 2177521770 pg(91=’pg
(91+1 : if pg(9D6 then pg19)=1 : got
。
21775 else goto 2177521775 ttauslaus
i if painter%f211=l then hl$=”keepp
lot <Y/11)” : gosub 21950 : as=inp
uts111 : jfas=”y” then painter%122
+=12177ε if pointer%(23)=1 then c
all alphaofT : forblock%=1 to 9
: gosub 22030 : next blockX : c
allgraphoff : call alpha21778 gosu
b 29500 : 1p1641=1 : 1p(661=1 :
pointer%(23)=O: for 1=91 to 99 :
1p(ico : next 121780 gosub 7000 :
return218001nput ”Please 5nter dir
ection or block ζ1 of2)”;5av1
24802 call curslcol″ya+rOW%l : 1np
ut ’Please entercoordinates of upper
1eft corner or theblocklH;5av3,5av4
21804 call cur+5(colX、row%) : 1npu
t ”Plsie’enter firstline and 1ine sp
acing eg、1.5 ”;5av5,5av221805 block
%=3 : gosub 22030 : print atJ : pg
(71”5av2: hl=savl : h3=aav3 : h
4+++mav4 : h5=mav524806 for 1=h5 t
o 15 : pg(i+151=hl : if h;lz1 the
npgx115+1)=h3 : pgy(IS+1)=h4’−pg(7
1宰1l−h51 elsepgy(15+i)gh4 : pgx(1
5+i)=h3−pg+7)傘1i7h5121810 call cursl
co1%、row%l : print 5paces(791:promp
t$=”?” : insg” : 1leer=75 : go
sub 40000 :11=len(insl
21812 if 1l=o then 2181g @ls@ tl(i
+51=il :mid$1eschr$(1+5)、141)WINS
: pg(14Ci21814 next 1
21818 for 1=81 to 84 : 1p(i)=1 :
next i : return21820 gosub 4350
: return21840 pointer%f141=o : if
upper%=1 then row%=44 :upper%=Oels
e upper%sl : row%=021845 call curs
lco1%、 row%l : return21860 ral1%=r
ol1%+3 : iff ral1%)12 then ral1%=0
21865 1p(81ン:=1 : 1p(82)=1 : i
p+831=1 : ip+841=1 :return
21900 ca1%=O: row%=22 : call curs
lcolχ、row%) : prtnt(roff# : print 1
1Error ”;err;” occurred on 1ine :”;
erl
21910 for k=1 to 4000 : i=k :
next k : resume 500rem 本**零車重傘率率
亭零市牢率’メ−zセージ kz*牢ネ**ネ零率宰ネネ零零傘零事零率傘本車
傘オ傘219501col=o : irow=22 : call cur
s(ical、1rqIIH) : printhlsH: if 1e
n(hls+<79 t、hen print 5paceS+79−
1enlhlSl+
21960 call curslco1%、row%) : return
rem を傘率禽率亭本本本本*本*ネ本傘ネ本唾ディスフレイメニュー
*車重本章率**寧牢傘本車*22000 ime=2 : tsset
=1 : call alphaoff : print gts
;22010 print togglems : pointer%
+221=122020 for blockX=1 to 10
: gosub 22030 : next blockX F
gosub 22100
22025 if pointer%+231=1 then gog
ub 22390 : goiub 22350: prinL
”display 1ocked 1122027 return
22030 if pointer%+211=1 and poin
ter%1231+1 then return22032 if 1
plblock%+901=pointer%(221then retur
n elseiplblock%+901=pointer%(22j220
35 on blockX gasub23000.23100,230
90,23700,23050,23250,22105,22105,221
05.222040 return
!−1!ITI 11k*率零本車本申***車ソフトキーラベルの限定
本*重重本本傘率亭本車重本*傘22100 on tsset go
sub22110.22120,22130.22135,22140.221
4522105 return
22110 5oftkeys=”lz υn1ock Display 2
+ Drass3=Select Symbol 4=Plotslz
e Menu、 5=ReturnProgramm6=Annotnte
Plot 7=Hardcopy 8=more 5o
ftkeys”
22+15 il:l : gosub 223εO: gosub
22150 : gosub 8700 :221205oftkeys
=”l=smooth Dj、5plAy 2=Interpol Lin
1e3=Replace Symbol 4= Replace Pen
5= LockGraph 6= C1ear 5creen ?=
Zoom onloff 8=firstsoftke:、s”
2212511=2 : gosub 22380 : gosub 2
2150 : gosub 8700 :return
221305oftkeys=”1= Input title 2= I
nput X−axis 3=Input Y−axis 4=
5= redraw6ヨ八nn
otate off 7=Input text 8
=EraseAnnotate”
2213214=3 : gosub 22380 : gosub
22150 : gosub 8700 :return
221355oftkeys=”1= Enter Penup 2=
Enter Pendown 3=MoveDcura4=DeleteDr
awpo、5=redraw6=Enter Symbo17=Inser
t paint 8= Exit ”22+3711=4 :
gosub 22380 : gosub 22150 : gosub
8700 :return
2!1405oftkeys=”1= Exit 2= Pl
ot 3=Print table 4=Graphi
cs print 5= File6= 5poole
7: 8= Exit22142 11=5 : gosu
b 22380 : gosub 22150 : gosub
8700 :return
221455oftkeys=spaces(1441: return22
150 hls=” ” : for i:1 to 8 : hl
$=hl$÷m1ds(softkeys。
(1−1ド18+3.8D” ” : if n=4 then hls=hl
s+” ”22151 next 1
22152 print chrH271+”*n+1)1” : print
chrs1271+”*mlN” :print clearms;
22154is\=O: 1sさ・=12 : call plotu(i
sx、1syl : print hls22160 hls=” ”
: for n=1 to 8 : hls=hls+m1ds(s
oftkeys。
+i−11118411,814’°” : if C4then hls
=hls+” ”22161 next i : 1sx=o :
1sy=2 : call plotulisX、is3’l :pr
int his : print togglems;22166 ret
urn
rem 零**本寧傘寧*本本ネ**本** コマンドラインの実行
京*零章零零傘*京京*寧22300 print chrs(271+
”零m1M” : print chrs+271÷1°宰mlN”22
305 xx%=o : yy%=27 : call plot
u(xx%1)′y%l : print hi■
22310 return
22350 print chrs+271+”本mE” : pri
nt chrs+271+”本mlN”22355 xx%=Q :
>−y%=27 : call plotu(xx%、yyχ)2236
0 return
22380 print setms; : print chrs
(2)l+”*rnlG”; : printchrs127++”*ff
I OO51125E”;22385 print togglems;
: return22390 print claarms; :
print chrs(271÷”mlG”; : printchr
s+271÷”1m O2551140E”; : print to
ggle+ns;22395 gosub 22350 : retu
rnram オ京率傘本傘車本寧傘°ティスフレイメニューに対するソフトキー
セット本本本本22400 1c=1 : tshare=422410
on tsset gosub22500.22900.22800.2270
0,22600.2265022420 return
rem **本零本本本ル−トソフトキー 牢*ネ***重重$$零本本傘
**本本本本庫**本本*22500 gosub 28100 : if
ago Or a>9 then return22502 on a go
sub
22510.22520,22530,22540,22550,22560,
22570.2258022505 return
22510 gosub 22390 : painter%+231=o
:、for 1=91 to 99 :1p(il=o : nex
t i : gosub 22000 : return22520 t
sset=4 : gosub 22100 : return225
30 tsset=6 : gasub 22675 : retur
n22540 gosub 21000 : return22550
print groffs; : forts=:? : runn
ing%=o : return22560 tsset=3 : g
osub 22100 : gosub 22390 : retur
n22570 (osub 22390 : hls=”Please 5e
lect output device” :gosub 22300
22575 tsset=5 : gosub 22100 : r
eturn22580 tsset=2 : gosub 22100
: returnrem 寧傘傘*市宰II傘率ハードコピーンフトキー 京
寧*傘本本本傘傘傘*車重率傘零**オ市傘宰22600 1c=1 :
gosub 28100 : if a<Oor a)9 the
n return22602 on s gosub22610.22
615,22620,22625,22630,22635,22640.22
64522605 return
22615ttaus=2:gosub22390:hls=”a=stops
=skip”:gosub 22300 : gosub 25000
: gosub 22390 :pointerχ(23)=1
: return22620 auss=names : gosub
24000 : gosub 22390 : return2
2625 gosub 22390 : print chrs+2
714”&p7s5dF”; :as=inputs+ll : pri
nt chrsI2フ)+0°&p3D” ; : return226
30 pointer%+231=1 : taus=5 : ttaus=5
: forts=8 :runnin(%=O: print at4;
: call graphoff : callalphQ :
ret+、+rn
22635 gosub 22390 : hls=”n=norma
l h=set brake point” :gosub 22
300 : aa=inputlfll : gosub 2239
0 :hls=”5poolfile”+5trS(point、er%(1
1+11+”wirdgespeicherL’° : gosub 22
30022636 n5=spoo1drs+”PLOT”+chrS[po
inter%+11+1+641 : onerror goto 2
1900 : savl=pxmin : sav2=pxmax
:sav3=pymi、n : 5av4=p51roax : tt
aus+2 : if aS=″’e” thengosub 22
390 : return22637 close #1 : o
pen llo”jl、ns : aufspulenχ=1 :
1fas=”h” then print#1.”5TOP” else
print#1.”NORMAL”22638 gosub 2501
0 : gosub 22390 : pxmin=savl :
pxffIax=sav2 : pymin:5av3 : pyma
x=sav4 : ttaus=taus22639 pointer%
fll=pointerll++1 : aufspulen%:O:po
inter%f231=1 : return22640 return
22645 tsset=l : gosub 22100 : ret
urnrem 愈本寥零寧零章寧傘坤記号の選択*宰富欅禽寓傘車本ネ本傘處率
車富寧亨牢傘庶傘車率宰歳傘す22650 jc=1 : if cu
rsor:10 then cursg=cursor : rem
X−Y22655 cursor=11 : gosub 282002
2656 if ago and a<9 then tsset
=l : gosub 22695 : go唐浮■
22100 : return
22657 if as=” ” or ms=”s” or as+″S”
then 2266022659 return
22660 for n=1 to 49 : tcol=J mod 10
: if tcol=o thentcol=10
22662 tros:=lj−tcoll/10 : yy%=45−tr
osz*10 : xx%=Lcol*50−22665 if X%>X
X%−40and x%<xx%+40 and 1%>y5−%−5a
ndy%く)°y%+5 then insym=J : goto
2267222670 next j : raturn22672
1sx=350 : 1sy=55 : call plotulis
x、igy): prir+L”New symbol ”;5trs(in
syo+l : return22675 gosub 22695 :
1sx=o : 1sy=55 : callplotulis+x、1s
yl : print ”5elect with cursor l5=s
elect exit:any 5oftkeyど22677 if po
inter%+25B>1 then j=l : gosub 2
640022680 for n=1 to 49 : tcol=j mod
10 : if tcol=o thentcol=10
22682 trow=(j−tcoll/10 : yy%=45−t
row:傘10 : xxうC=tea1傘50−25 : call
plotu(xx%Iyy%)22684 if J<11 then p
rint chrs[271+5yrns+jl; : got。
22685 if j>10 and j<21 then 1%=dis
lin%(J−10) : calllinetype(1%l : xa
%=XX%−20: ya%=y>−%−4: callplotulxa%、
yB%l : xa%=xx%÷20 : ya%=yy%+4 : ca
llplotd+xa%、ya%l : call penup : g
oto 2269022686 if 、j>30 and j<
41 then print m1dSiZeichenS、j−29,
11: goto 2269022688 as=strs+jl :
mids1g5,1.ll=’°s” : print as2269
0 ne入j j : return22695 print c
learms: : print chrsI27 )+” 寧mlG”
; : printchrs1271+・’軸00511 65 E”;
: print togglems;22697 return
rem 本本車重*ネ**譚ンフトキーのドロー 車車度車1に傘オ*11*ネ
車京事車*本亭傘零ネネ事事*車第22700 1c=1 : if c
ursor<10 then cursg=cursor : rem
X−Y22702 cursor=11 : gosub 282
00 : if a<Oor a>9 then22705 on
a gosub
22710.22720,22730,22740,22750,22760,
22770.2278022707 return
22710 gosub 23700 : gosub 22785 :
idp(idmaxl=o : gosub22715 retur
n
22720 gosub 23700 : gosub 22785 :
idpiidmaxl=1 : gosub22725 retur
n
22730 1dc=jdc+1 : if 1dc)idrlla>;
then 1dc=122735 xh%=idxlidcl :
yV=idylidc): gosub 22795 : callm(
curs(xM、yh%Fl : return22740 gosub
23700 : if idmax<l then retur
n22742 for 1=idc to idmax−1: 1d
xlil=idxii+11 :1dy(il=idy(ill): 1d
p(i)=idp(ill): next 122744 idmax=
idmax−1: idp(idmax+11=o : gosub 2
3700 :xh%=idxlidcl : yh%=idy(idc)
: gosub 22795 : callmBurs(xh%、yh%
l : return22750 for 1=91 to 99 :
1p(i)=O: next i : 1fpointer%(21
1=Othen gosub 2200022755 return
22760 (osub 23700 : gosub 22785 :
idp(idmaxl=loo+insym: gosub 23700
22]70 return
22780 cursor++cursg : tsset=1 :
gosub 22100 : return22785 gosub
22フ90 : idmax=idrnax+1 : idy、lid
maxDxV :1dy(idmax 1=yh% : return22
790 xh%=lxX−pxmin+/(pxmax−pxmin)1100
00 : yh%=(>−%−pymin )/ +pymax−pymin
ド10000 : return22795 xh%=pxFain+lxh
%/10000)傘1pxmax−pxminJ :yh%=py+nin+
lyh%/100001本(pymax−pyminl : return
ram *零**本本本傘傘ネソフトキーの注釈、 4本車重率本**宰本
本本本寧ネネ本書傘傘傘率零*22800icJ:1fcursor<10th
encursg=cursor:remX−1’22805 cursorJl
: gosub 28200 : if ago or a>9 t
hen22807 on a (osub
22B10,22820,22830,22840.22850.22g60,
228〕0,2288022809 return
22810 gosub 22890 : 1nput ”titel”;pt
itels : gosub 22895: 1p(611=1 : r
eturn22820 gosub 22890 : 1nput ’X−
axis”;xbess : pxu#151=7 :gosub 2289
5 : 1p(671=1 : return22830 gosub
22890 : 1nput ”Y−axis”;ybess :
pyl#(51=7 :gosub 22895 : ip+681=1
: return22840 return
22850 return
22860 cursor=eursg : tsset=l : g
osub 22100 : return22870 gosub 223
90 : gosub 23090 : 1l=1 ; bl=1
:h5=pg+14)
22B71 gosub 22790 : h3=int(xh%/10
)/10 :ht=int(yh%/101/10
228725shile il : gosub 22390 : g
osub 22350 : 1ine 1nput11Text? ”;
nS : 1l=lenlnsl : if 1l=o then
22B7822873 Rm1ds(ns、1.21=”&、^” t
ben n5=ns÷゛°0° :pg(71=val1w+1dS(ns、3
.2)l : goto 2287g22874 if m1dS(n
s、1.21=”&R” thei n5=ns+” ’° :hl=va
l(mid!(ns、3.ill : goto 2287B22875
if rr:1ds(ns、1.2+−’1.5” then n5=ns
+” ” : got。
22876 pg1141=p@1141+1 : i=pg114
1+15 : pglil=hl :pgx(il=h3 : pgy
(il=h4 : if hl=1 then h4=h4−pg(?ンe
lse h3=h3−pg171
22877 beschrSipg+141+51=nS+5paeeST
80−ill :tHpg1141+51=il : if pg(14
D14 then 1l=o : got。
228フ8
22878 wend : gosub 2239022B79 for
1=81 to 84 : 1p(icl : next i : pri
nt gts; :gosub 23090 : return22ε8
0 gosub 23090 : pgl141=o : retur
n22890 gosub 22390 : print gts; :
pointer%+221=o :block%=2 : gosu
b 22030 : gosub 22350 : return22
895 pointer%(221=l : block%=2 : gosu
b 22030 : gosub22390 : return
rem 傘寧*傘謙本s傘率傘本本零本本 多数のソフトキー 宰率市本**
***傘傘寧率章率率*宰率**22900 ieJ : gosub
28100 : if ago or a)9 Lhe++
return22902 0n a gost+b22910.22920
,22930,22940,22950,22960,22970.22980
22905 return
22910 gosub 22390 : gosub 22350
: 1nput ”Curve No、(1−51、smootht
ype (1−3)”;J、smooth : if J+++Oor
smaoth=o then gosub 22390 : ret
urn22913 if j>10 or j〈l or smo
oth>3 Or in+ooth<1 then go煤B
22915 gosub 23300 : gogub 22390
: gosub 27500 : gosub23300 :
return : rem smoothen22920 gosu
b 22390 : gosub 22350 : 1nput
”5elect thecurve to 1nterpolate (1
−10)”J : if J=Othen gosub22390 : r
eturn
22923 if j>10 or j<1 then goto
2292022925 gosub 23300 : gosub 223
90 : gosub 26500 : gosab23300 : re
turn : rem 1nterpolieren22930 gos
ub 22390 : gosub 22350 : 1nput ”P
lease 5elPctcurve 11−101”;j : Hj=
o then gosub 22390 : return22933
if j>10 or j<1 goto 2293022935
gosub 23300 : gosub 22390 : psym
(j):insym : gosub23300 : return
: rem 1nterpolieren22940 gosub 2239
0 : gosub 22350 : 1nput ”Curve (1
−101゜pen +1−8)”;j、ik : if J<1 o
r j>10 then gosub 2239022945 go
sub 22390 : if 5tift%ljl<>Oand
1k=o orstift%(j>=Oand ik<>Othen gos
ub 23300229475tift%1jl=ik : return
22950 for block%=l to 9 : gosub 2
2030 : next block% :pointer%+23)ml
: gosub 22]00 : return22960 cal
l gclear : for 1=91 to 99 : 1p(i
)=O: ne:<t i :(osub 22000 : retu
rn22970forC91to99:1p(i神0:ney、ti:1fpa
inter%(211*Othen pointer5cT211=1 el
sepointer%+211:0
22975 call gclear : gosub 22000 :
return22980 tsiet=1 : gosub 2210
0 : return22990 return
rem *亥**宰*ネ*津ネ*津傘隼津ネ1スクリーン上のディスプレイ
零車傘草寧ネネ傘京卓車ネr6p *傘本本**本本ディスプレイクリアおよび
セットスケール本本本率本本*寧率本傘**市23000 tshare=4
: on error goto 21900 : gosub
2360023005 pxmin=60 : pxm*x= 460
: pymin=90 : py+nax=340 : 1■
pointer%(21K>1 then 2302523010 px
min=pg131傘19 : pxmax=(pg(31+pgflll
”19 :pymin=pg(41車18+32 : pymax=(p
g(2)今Pg(4))118÷3223015 if pg(13)mod
2;Othen pxmin=p(+41$15+100 :pxmax
=(pg+41÷p@Il目傘15+100 : pymin=390−+pg
121+pg1311*13 : pymix=390−pg131本13
23020 goto 2303023025 hJ=pg+21/pg+
11”1.6 : proport=h4 : if h4>1 t
henpxmax:intfpxmin+400/h41 elsepyroa
x=intlpyrnin+250傘h−1123030if pgfl、21
=Othen goto 2304523035 if pointerX
+211(>1 then call gclear : for
1=91 tB
99 : 1pfi)=O: next 123040 if poi
nterX+241=1 then print chrsi271+”率m
lG”; :if pgl131 mad 2=Oand pointerX
(21)=1 then printchrt1271+”傘rn 10030
391389 E”; else printchrs(271+’°宰m
O3051) 329 E”;23045 call graph :
call gcurs : returnreo 車重重重傘傘傘宰
ディスプレイ軸*零本京京傘車#牢本傘傘孝*傘電零寧練本幸ヰ*す卑傘寥*寥
23050 si=pgx131 : isympgy+31 :
gosub 29100 : rem call・ 5ize
23052 print gts;23055 5cxff=fnscxl
pxu#11)+1)入u#f2+1 : 5cyfi=fnscき+py
ljlILpyl書(211: 5cadx#=p>;u#(1) :5e
ady*=Pyl#l 11
23060 f5=+pxu#(21−pxuH1+1/100 : f
6=lpylt+2l−pyl#(1)l/100 : if pgl1
2):Othen goto 2325023061 aypos=py
l#(11: axpos=pxu#T1123062 min!=pxu
#(11: maxcpxus(2,1: delcpλJ131 :d
elo#=pxui(4):d%=l二calldirldχ)23064
if pxu#(51>Othen zxpo=pgx(121: zy
po=pgy!121 :ptk=f6 : aop=pxuN5)
: gosub 25900 : rem x−achse2306
5 if pxo#(51(Othen aypos=pylf+21
: zxpo=pgx(141:zypo=pgynt+> : pt
k=−f6 : aop=pxoH51: gosub 259002
3066 min#=pylN1) : max#=pyH(21:
delJ=pyl#(31:delof=pyl#(41
23068if pyl#(51>Othen zxpo=pgx(131
: zypo=pgy(131:ptk=f5 : aop=pyl#1
5) : gosub 25950 : rern y−achs
e23069ifpyrj151<0thenaxpos=pxuH2):zx
po=pgy、+351:zypo=pgy(151: ptk=−f5
: aop=pyrH51: gosub 2595023070 5C
xf#=fnsc>:fpXoH1+、pxo#+211 : f:l;1
pXO台121−pxoH1+1/100 : 5cadx#=pxos+
11 : axpos=pxo#+21230725cyf#=fnsey
lpyz411)、pyrH2目: f6=+pyr#121−pyr#+1目
/100 : 5cadyt=pyr#(11: aypos=pyr#f21
230)4 m1ncpxo#111 : max#=pxo#(21:
del!=pxo#(31:delo#=pxo#(4): aop=p
xu#15123076 if pxoj151>Othen zxpo=pg
xl1411 zypo=Pg>・11411ptk=−f61 aop=px
、o#15P: gosub 25900 : rem x−achse230
7? if pxu#i51<Otben aypos=pyrl(11: z
xpo=Pgx(121:zypo=pgy+12) : ptk=f6 :
aop=pxu#(5) : gosub 259002307g rni
n&=pyr#+11 : max+t=pyr#(21: del#=py
r#(31:delo#=pyr#141 : aOP”P3°r=+51
23080 if pyr!(51>Othen zxpo=pgx(151:
zypo=pgy!151 :ptk=−f5 : aop=pyr#
151 : gosub 25950 : rera y−achse23
081 if pyl#151<Othen axpos=pxo#(1
1: zxpo=pgxl131 :zypo=p(yl)31 :
ptk=f5 : aop=pyl#+5) : gosub 2595
0230825cxf==fnscxlpxu#rll、pxu#12)l
:5cyf#=fnsicy(pyH+11.pyls1211 : 5c
adx#=pxu#111 :5cadye=pyli11 +
23084 return
rern **禽傘本傘傘章章傘傘零宰*傘寧傘本本市注釈のディスプレイ
傘本寧車率傘宰零本車重本零*23090 if pg(141=O
or pg1151=o then goto 2309923091
5cxf番:fnscxlo、100) : 5cyf#=fnseyl
o、1001 :5eadx#=o : 5eady番=o : p
rxnt toggl(!l!ls; : print gts;230
92ii=pgx+51:siy=pgy(5にgosub29100:pri
ntgts;23093 for i=1 to pgT141 :
d%=pgTi+15) : if dx)4 or d■モP
then d%=1
23094 call dirld%l : pdx%=fnxv(p
gx(i今15)l :pdy%=fnywfpgy+i÷15)) :
if pdx%>511 or pdx%<Oorpdy%>389
or pdy%(Othen goto 2309723096 c
all plotuTpdxχ、pdyχl : print m1d
s(beschrs1i+51.1.tHi+511
23097 next 1
23099 return
r6m**dE********#フレームのディスプレイおよびタイトルの書
込み口w**處231005cxf!=4nscx(0,1001: sc>
°f*=fnscylO,1001:thc&dx#=o : 5cad’
5’#=Q : print Logglem!;23101 5i=p(
x12): si>=pgy+21 : gosub 29100 :
print gtS;: 1r pg1121so then 2312
023102 f3=si*100/(pxmax−pxminl : f
4=si*100/(pymax−pyrninl: 5i=−(int(l
enfxbess)l/21 : xh%=fnxw(s]隼f3+pgx
(711: yh%=fnywlpgy(711: call plotu(
xh%、yh%)23104 if pxu#151 mod 8>3 th
en print xbesS23109 if pxo#+51’mod e
>3 then 5l=−(int(len(xobesSl+/21: xh
%=fnxwlsl傘f3÷pgx+9目 : yh%=fnyw(pgy(9
11: callplotu(xh%、)5%l : print xo
bess23110 if pyl#(5)n+od 8>3 then 5l
=−11nt(len(ybess)l/21 :d%=2 : call
dir+d%l : xh%=fnxsa(pgx+8目=yh%=fnyw+
sl*f4+pgy(8+1 : call plotu(xh%、yh%
) :print ybess : d%=1 : call dir
ld%123112 if pyr#15)mad 8>3 then 5L=
−(int(len(yrbessll/21= d%=2 : call
dir(dxl : xh%=fnxwlpgX1101):v11%=
fnywlsl*f44pgy(1011: call plotulxh
%、yh%l :print yrbess : d%=l : c
all dir(dx)231151%=1 : call 1inety
pe(1%l : xh%=fnxwiO):y)1χ=fnyw(01:
call plotu(xh%、yh%123116 xh%=fny、w(
01: yh%=fnyw(100): call plotd[xh%、
yh%123117 xh%=fnxw(1001: yh%=fnywT1
001 : callplotd(xh%+5”%)
23118 xh!=fnxwilOO1: yhX=fnyw(0):
call plotd(xh%、yh%123119 xh%=fnxw(01
: yh%=fnyw(0): call plotd(xhχ、yh%l
:call penup
23120si=pgx(11:isympgy(11:gosub29100
二ifpg(111=Othen 2312523122 f3=si*loo
/(pxmax−pxminl: d%=o : call dir(d
5cl :5l=−int((len(ptitalsll/2) :
xh%=fnxw!pgx+61+f3寧sl): )市%=fnyw(pgy
+611 : call plotu(xh%、)1h%l : p
rintptitels
23125 return
rem 本零寧重重本本本傘寧傘傘ディスプレイテータ 車重本本零車零本本
*傘*傘零*本率軍率率宰零23250 5exfj=fnscxlpxu#(
ILpxuH211: 5cyf#=fnscylpyif(1)、pyl#
12)l : 5cadx#=pxuζ(11: 5cady!=pyl
#11123270 for j=1 to 10 : if
5tift%(J)>Othen gosub 5000 :gosub
23300 ’
23275 next j
23290 return
23300 isym=psym+Jl : si=pgx(41:
giy=pgy+4) : gosub29100 : ram c
all 5ize23305 if dmaxljl=5 or p
s)−mlJl<1 then goto 2339523307 i
f dmaxlJl>320 tben dmax(jl=320233
10 if isym>40 then iBm=123320 i
f 1syra>Oand isym(11then if poin
terX(251<>1then i=1 : gosub 2640
023330 if isym<11 then goto 233
50 else gosub 26100 : r■■
define Lin1e
23332 if dxl、i、41>pxu#+2) or dx(j
、41<pxu#(1> orの・lJ、41>pyl#+21 or
dy(j、41(pylNll then xb%=pxItIi++:
yh%=pymin : goto 2335023340 xh%=
fnxwTdxlj、411 : yhχ=fnyw(dylj、411
: callpenup : call plotulxh%、yh
%]23350 for i=4 to dmax(jl : J
f=023352 if dxjJ、1l=99999 or
dxlJ、il<pxu#(1) ordx+J、1DpxuH2) O
r dy(、Li1)pyl#(2) ordy(J、i)〈pyl#(1
1then call penup : goto 2338023
354 if dx(J、1−1)=99999 or d
x(j、1−11<pxu#il) ordx(J、1−11>pxu#(2
10r dy(J+1−IDpyl#(210r dy(J+1−11<pyl
#(1) then Jf=123360 xh%=fnxw+
dx(j、i)) : yh%=fnyw(dy(j、ill : 1
fxh%>511 then xh%=511 : call pa
nup : callplotulx)+5C,yh%l : got
o 2338023368 Rxh%<Othen xh%=O
: call penup : callplotuixh%、yh%
l : goto 2338023369 if yh%>3B9
then yh%=389 : call penup : callpl
otu!xh%、yh%) : goto 2338023370 i
f yh%(Othen yh%=O: call penup : ca
llplotulxh%、yh%l : goto 2338023371
if dxTJ、1−11=99999 then call pen
up : callplotulxh%、yh%1
23372 if jf+1 then call plotu[xh%
+yh%I : goto 2337523373 if isy+n
>10 and isym<21 then callplotdlxh%、y
h%l : goto 2338023375 if isy
m<11 then call ploturxh% yh%+ :
printchrs12)l+symsIisyml; : goto
2338023377 if is>+n>20 and
isym<31 then xDdx(J、i) :ycdytj、i
l : gosub 23800 : goto 23380233フ8
if 1syi>30 and isym<41 then
callplotu l xb5C、yh%l : h5S=midSlz
eichenS、isym−30,11:print)+5!
23380 neXt 1
23385汀psymlj+>10 then call penup2339
5 return
23600 ram 牢*傘率寧車*ネ毒軸チェック 車重京寧傘京
率傘率京*ネ傘車傘キ*富傘*電集*富ネ23605 if pxu#(3
1=Oor pyl妻(31=Oor pxo=f31=o orpyr
#131:Othen 2369023610 if pxuH21−p
xu#+l+<=Oor p>・l#121−pylfll+<=Othen
goto 23690
23615 if pxo#(53>Othen if pxo#f2
+−pxo#(11=Oor(pxo#+2l−pxo#111)/Pxo#t
3))99 then goto 2369023620 if p
yre+51>Othen if pyr#12)−pyr!(1)=Oo
r(pyr#(21−pyr4(111/pyr#131>99 then
goto 2369023625 if 1pxuH21−pxu#1
111/pxu月3D99 then goto 2369023630
if (pyl#(2)−pyl#(2)l/pyl#(31>99
then goto 2369023680 return
23690 print ”*牢本*不当軸 *倉宰**’l” :
for i=l to 4000: k=i : next i
: goLo 500rcm 本**ネネ傘傘牢本章本**+ラインドロ
ーイング *本本章ネ*率車本本*市竜率寧車京電富零零富ネ23700 i
f idmax(2ther+ goto 23760237101%=
1 : call 1inetypeflXI : xh!=idx
fll :yh%=idy(11: gosub 22795 : cal
l plotu+xh%、>’bx+23720 for i=1 to i
dmax : xh%=idx(il : )’h%=idyfil
:gosub 22795 : if 1dp(il>100 t
hen gogub 237)O:goto 23フ50
23725 if idp+i+>10 then 1%=idp(il−40
: calllinetypeH%)
23730 if 1dpfil+o then call p@nup :
call plotu(xh%、yh%)else call plotdlx
h%、yh%123750 next j
2J760 return
23770 isym=idpli+−100: call plotulxh
%、yh%l : 1fisyn+<10 thsr+ print sy
+n5lisyro123775 if isym>20 and i
sym<31 then xl=idx(il/100 :>−1=id
y(il/100 : gosub 2380023780 retur
n
reff+ 亭率傘傘11ネオ本傘寧零**宰本本市 コラムドローイング
市本本本*零本傘本本傘重重京本本**23800 1%=l : ca
ll 1inetype(1%) : call penup2380
5 x2=Ipxu≠+2l−pxu&[111/200 : y2=(pyl
#(21−pさ・l#1111/2QO: yO=pyl#(1123810
x=xl−x2*pga+81 : y=yo : gosub 2
3995 : xu1%=xhχ =yu1%=yh% : y=yl
: gosub 23990 : x=x1+x2本pgs+81
:gosub 23990 : 1xor=xh% : yor%
:)・6%23815 y+yo : gosub 23990 :
x=xニーx2寧pgar8) : gosub 2399O
: call penup
23820 if isym=21 then gota 2389
023825 if isym=22 then gosub 23
900 : goto 2389023830 if 1sytn=
23 then gosub 23920 : goto 238
9023835 1f isym=24 then gosub 23
900 : gosub 23920 : got。
23B40 if isym=25 then print chr
s+27);”1m 128 64 32 16 B4 2 1 D−:
print chrs+271;”倉m2G’″+ : print
chrs+271;”零m”;5trsい、u1%l;5trsfyu1%l;
5trslixorl;5trs+yor%);”E”;
23845 if isym=26 then print chrs12?l
;”In 1248163264 128 D”; : print ch
rs1271H”事m2G”; : printchrs1271;”傘a
+”;5trs+xu1%l ;5trs(yu1%l;5trs(ixorl
;5trslyorχ+、++Eu。
23850 if isym=27 then print chrs+27)
;’1m 129663624243666129 D”; : prin
t chrs+27)H”*+n2G−: printehr$1271; ”
*m” ;5trslxu1% ); str$ryulX ); 5trs
l 1xor) 劃trSlyor%3i”E”1
23855 if isym=28 then print chrs+27)
;”1m 255255255255255255255255 D”; :
print chrs[271;”1m2G”; :print chr
s+271;’°1m”;5trs+xu1%l;5trs(yu1%);5t
rs(ixorl;5trs(yorχl;”E”123860 if iiy
m=29 then 1%=7 : call 1inetype+1%l
: gosub23900 : goto 2389023865
1fisyn=30 then gosub 23940 : goto
2389023890 return
23900forhl=xl−x2傘pga(81toxl+x2*pga+8
1stepy、2:x=hl : y=yo : 蓼osub 239
95 : y=yl : gosub 23990 :call p
enup : next h123905 return
23920 for hl=yo to yl 5tep 2ネy2 :
x=xl−pga+8神x2 : y+hl: gosub 239
95 : x=xl+pga+81*x2 : gosub 239
90 :call penup : next h123925 re
turn
23940 for hl=xl−x2本pga18) to xl+
x2寧pga(8) 5tep x2/4 :x=hl : y=y
o : gosub 23995 : y=yl : gosub
23990 :call penup : next h123945
return
23990 xh%=fnxwlxl : yh%=fnywlyl :
call plotd+xh%、)・h%) :23995 xh%=fn
x%:(xl : yh%=fnywlyl : call plot
u+xh%、y++%l :return
rem 津傘零車ロ傘革零本本****ネ埠傘プリンターによる図表のプリント
1本啄本零愈寧rem 傘寧重重キネ*本傘*ネ*埠傘プリントヘッダ・ 率
率**本市*傘本卑本本本*零重重車重傘本*傘24000 tshare=
ユ : printjll、ptitels : printjll、”
” :gosub 5000
24010 printJll、”X−axis : ”;χbesJ
” Y−axis :”;ybess : g
osub 5000 : gosub 500024020 pri
ntjll、”X−axis top : ”HxobssS;”
Y−axis right s ”;yrb
ess : printtll、” ” : gosub2
4040 if pg1141=o then goto 2408
024050 for i=1 to pg1141 : gos
ub 5000 : printjll、m1dE。
fbeschr$(1+51.1.tlli+511 : next i
: printjll、” ”ram *零*傘率**電率車重本
零零ネ城プリントデー9 率率傘津車重本傘零率率室**傘*本率24080
16m formp1g=” DH+H+t#+m# +fi
##LN*M” : textpls=” Pa1nt No、
X−value Y−value ”24090
for j=l to 10 : if dmax(J)<5
then goto 2450024100 printjll、”c
urve ;5trS(J);” :″二print#11 、strin
gs()9,951 : printjll、” ” :pr
intjll、formatsf861;formats4861 : pri
ntjll、” ’。
24190 ifTs=int((dmaxTjl−41/21+124
200 for i=1 to int(fdmax(J)−4)
/21÷1 : 1l=i+1ffs :forms=formats1
851+forroats(85124205for 1ji=1 to
20 : gogub 5000 : if as=”s”
then24210 1f a$=’°a” then r
eturn24215 next 1ji24220
hl=abg(dx(J、il3)1 : if hl>9999 o
r hl<0.01then mids(forms、11,111=’°
÷z、Nat″#+Al124230 hcabsfdy(j、il
3目 : if hl>9999 or hl<(1,01then
mids(forms、24,111=”十a、eshi−−−−”2424
0 hl=abs+dx(j、il+3>l : if hl
>9999 or hl<0.01then midSlformS、51
,111=”+#、###j−−−−12J250 hl=absfd
y+j、il+311 : if hl>9999 or hl<0
.0】then m1dsばorms、64.111=”+A’j###−−−
−”24260ifil+3>dn+8);1jlthenprint#11.
usingrnidslforms、1,391;i、dx(j、i+31.d
y(J、i+3124270 if il+3(=dmax+jl t
hen print#11.usingfor+r+s;i+d):1.Lri
÷31.dylJ、i+31.il、dx(j、il+3)、dylj、il+
24300 next i : print#11.stringS!
79.951 : printll、”24500 neNt j :
rett+rnrem 傘車京零*京**傘宰本*本本*率傘プロフタニヨ
ルフリントテータネ市家本零本本ネ**零rem 傘本京****傘**本傘*
傘*プロッ918成 傘本車重本京*重重*零傘本**寧宰率牢寧*ネ車2
5000 gosub 2360025005 on error
goto 6000 : aufspulen%=O: close#
1 :open ”o’+#1.”PLT” : width #1
,12825010 tshare=2
25020 pxmjn=pg+31本400 : pxmax=(pg
131÷pgll11本400 :pymin=pg(411−100: py
may、=+pg147+pg12)ド400:pzma>:=!p(+31+
p((211零40025030 5cxf#=fnsc:;+O,1oot
: 5cyf#=fnscy(0,1001:sc、adx−”=O:
5cady書=025035 pls=”pu;pa 0.0;” :
gosub 25800 : pls=”in;ipO,0,1090
0,フロ50;″ : gosub 2580025040pls=”vs
”+strSlpg(53)+”;”:gosub25800二ifpg+12
1=o then goto 25150 else pH=”ip
”+strS(pgl12)l+”;” : gosub 258002
5050 1pen=o : hl=o : h2=o : go
sub 26000 : 1pen=1 :h2=100 : g
osub 26000 : hcloo : gosub 260
00 : h2=0: gosub 26000 : hl=o
: gosub 2600025060 hl=0.1 : go
sub 26000 : h2=100.1 : gosub 2
6000 :hl=100.1 : gosub 26000 :
h2=o、l : gosub 26000 :hl=o、l :
gosub 26000 : 1pen=o : gosub
26000251005l=−1intllen+pLitelsl/2目:
pls=”sp”+strSfpg+1111+”;si”+strSlpg
xl 1 +l+l+、”+strS(pgytl l 1+” ;” :g
osub 25800
25105 aktcpy=0 : aktsix=pgx(1) : ak
tsiy=pgyll125110 hl=pgx+6) : h2”Pg)
’(61: 1pen=o : gosub 26000 : ifpgl
131 mod 2=Othen pls=pls+”di O,1;” el
se pls:11’+25115 pls=pls+”ep”+5trS(s
l)÷”、OH” : gosub 25800 :pls=ptitels
: gosub 25820 : if pg(ill(>pg(
121thenpls=”sp”÷strS(pg1121)÷”;” : g
osub 2580025116 al;tcpy=o : aktsix=p
gx+21 : aktsiy=pgy(2+251175l=−(int
llenlxbessl/211 : pH=”si”+strslpgx
+20+”、”+str$(pgy(21>÷”;” : gosub 258
00 : if 。
pxu#(51rnod 8(4then goto 25127251
20 hcpgXi71 : h2=pgy(7): 1pen=o
: gosub 26000 : ifpg1131 mad 2=Ot
hen p1s=”°di O,1;” else pl$=””25126
pls=pls+”ep”+5trSiall+”、OH” : gosub
25800 :p1t=xbass : gosub 258202512
7 5l=−1intll@n1ybess)/211 : if py
l#+51 mod 8<4 thangoto 25132
25128 hl=pg>:181 : h2=pgy+81 : 1p
en=o : gosub 26000 : ifpg+131 mod
2=Othei pls=”di −1,0;” else pls=”diO
、1; ”
25131 plsgpl!+1lep”+5trS(sll+”、O;”
: gosub 25800 :pls=ybess : gos
ub 2582025132 pls:”di 1.Oi″ : gosub
25800 : 5l=−1int(len(yrbess)/2)1
: if pyr#(5) mod 8<4 then goto
2513725133 hl=pgxllol : h2=pgy+10
) : 1pen=o : gosub26000 : if pgl13
1 enod 2=Othen pl$=”di −1,0F” elsepl
s=″di O,li”
25135 pls=pls◆°+Cpe+◆str$1sl)+”、0;”
: gosub 25800 :pls=yrbess : go
sub 2582025137 pls=”di 1,0;’° : gos
ub 25800 : 5l=−[1ntllenlxobes51/2目:
if pxo![51mod 8(4then goto 25150251
JOhl=pgx191 : h2=pgy191 : 1pen=o
: gosub 26000 :if pgf131 rn
od 2=Othen pls=pls+”di O,1;’°elsepi
S : ” ”
25144 pls=pls+”cp”+5trS(sll+”、O;” :
gosub 25800 :pls=xobess : gosub
25820*傘傘傘寧宰本傘市電傘*牢本m本率本傘注釈**本傘傘零傘傘市牢
寧本本*寧傘傘傘萼傘*傘本傘車25150 if pg(141=Oor
pgl15)=Othen goto 2519225156 ak
tcpy=o : aktsix=pgx(51: aktsiy=pg
3°(5125157plG=”si’°÷5trs+pgx[511÷”、+
atrS(pgy15目÷3°;sp”+5trS(p(115目+”;” :
gosub 2580025160 for iw1 to pgl
141 : pls=”pu;” : gosub 25800
:hl=pgxTi+151 : h2=pgy(1+15+ : 1
pen=o : gosub 2600025165 if pgl
13+ rood 2J then if pgTi+15c1
then pls=”epO,0;di 1,0;” else pl
s=”cp O,0;di O,1;’。
25170 if pgl131 mad 2=Othen if
pgli+15)+1 then pis:”cpO,0;di O,
1;” else pls=”cp O,0;di −1,0;”25
172 gosub 25800 二 pls=midslbeschr
s(i +5)、l、tl(1+511 :gosub 25820
25)90 next i
零車章*零傘牢**孝*傘率率車零傘軸・ 率車重傘本*零零寧傘傘零キ傘
宰*本市傘オ*宰率嵩傘**率寧傘宰富25192 if p([151<
>Othen gosub 2585025195 if pg(12
1=Othen goto 25400 elsepls=”sp”+s
tr$(pg+ 1211+”i″ ; gosub 258002520
0 5cxf#=fnscx(pxu#(1)+pxu#(213: 5ey
f#=fnscy(pyl#(1)、pyl#(2)l : 5cadx#
=pxu#(1) : 5cady#=pyl#(1125205f5=(
pxu#121−pxu#(11)/1()O: f6=(pyl#(21−
pき°l#(111/10Q
25210 pls=”si”+str$(pgx(311+”、”+str
$+pgy(3目+ 1’ 、 lo ;gosub 25800
2521F min#=pxu#+11 : +nax#=pxu#+2
1 : del#=pxu#I31 :delo#=pxu#141
25220 aypos=py1=+ll : zxpo=pgx1121 :
z)−po=pgy1121 :ptk=f6 : aop=pxu#151
: gosub 25900 : rem x−ac)+5e25250
min#:pyH(11: maxj=pylt+21 : del#=p
yU131 :delo&=pyH141
25260axpos=pxu!+11 : ZXPo=pgx(131:
zypo=pgy+131 :ptk=f5 : aop=pyl#(5
1: gosub 25950 : rem y−achse25280 if
pxo#f5+>−1then 5cxf#=fnsex[pxo#(IL+
pxo*f2)l :f5=Cpxo#121−pxo#(Ill/ioo
: 5cadxt=pxo#(11:axpos=pxo#+21 els
e axpos=pxu#+2125290 if pyr4151>−1th
en sc>f#=fnscy(pyr+’(11,p>−r&12目:f6=
lpyr奪(2+−pyr#111)/Zoo : 5cady#=pyrt
lll :aypos=pyr#t21 else aypos=pyl#(
2125300if py、o#151<Otben min#=pxu#
111 : max#=pxu#121 :del#=pxu書(31:
delo#=pxu#[4)else min#=pxo#Ill :m
nxL=pxo#(21: del#=pxo!131 : delo#
=pxo&141 :aop=pxuj+51
2!1320 zxpo=pgxl1411 typo=pgy+1411 p
tk=−f61aop=pxo#15− : gosub 25900 :
rem x−achse25340 if pyr#+51(Othe
n min書=pyl#111 : max==pyl=l!l :d
el!=p>・l!’+31 : delo#=pyl#141 elsa
min!=pyr=fil :mnx含=pyr4H1: del#=p
yrH31: dclo#=pyr#141 :aop=pyr=151
25350 :xpo=PI!X(151: zypo=pgyi151
: ptk=−f5 :aop=p>−re(51: gosub 25
950 : rem y−achse254005cxf#=fnscx+
pxu#(11,pxuH21): 5cyf@=fnscylpyl#11
1.pyl#(211: 5cadx#=pxu#(1) :5cadシ゛
;=掲・1#(ヱ)
25600 rem 本市本傘傘***傘零本本市埠f−9のプロット 車
室ネ零ネ*本本本本傘零庫傘寧京傘車25601 Lf pg(13)=1
or pg(131mod 2=Othen pls=”iw”÷f
nws(pxuHll、pyl#+111+1+”+fnwS+pxu#12L
pylj12+1+”H−else pls=”iw”÷fnvs(pxu
!+11.pyl#l] l++”。
”+fnvtlpxu*+21 、pylj1211+” ;’。
25605 pls=”si”+strSlpgxr411÷”、°°+st
rSlpgy1411十°°;sp”+5trSlstift%+111÷”;
cp O,0;” : gosub 2580025610 for
jJ to 10 : isym=psX′ml、N : if 5
tift%+jl=o Ordmax!jX5 or isym<I t
hen 2577025620 if J>1 and 5ti
ft%lj l<>5tift%1j−11thenpls=”sp”+5tr
Slstift%(j)l+”;” :gosub 2580025630
if isym<11 and pointer%+251<>3
then i=3 : gosub25650 gosub 2
6100 : Ris>−rn>10 むhen 1pen=O:hisd
xl、i、41 : h2=dylj、41 : gosub 260
00256フOfor is4 to dmaxljl : hl=
dx+j、il : h2=dy(j、il :Ri m+d 5=O
then gosub 5000256)2− if as=”a”
then gosub 25780 : goto 50025
674 1f as=”s” then 1pen=o : gosub
26000 : got。
2:+750
25680 if dxlJ、il>pxu#1210r dxlj、i
l<pxu#+1)OX”dy(j、1Dpyl#121 or dyrJ+i
l<pyl#(11then 1pen=o :hisdxlj、illl
: h2=dy(j、il11 : gosub 25000 :
got。
25s9o 1r s>4 then j、f dxl、Li−11>
pxu:121+abs+pxu*+1)1or d>;1j、1−11<px
u#11 )−absipxuLf211 or dy+j、1−11>p>
・1#12’l+absTpyljll))or dy(J+1−11<pyl
#111−absCpyl#(2)) then : goto 25
フ5025730 if isym>10 and isy
m<21 then 1pen=l : (ost市26000 :
goto 2575025740 if isym<11 then
pl$=I+pu;” : gosub 25800 :1pen=o
: goiub 26000 : pl$=gyros(isyI!
Il : gosub25800 : goto 2575025745
if 1syrn>20 and isym<31 t
hen xl=dx(J、il :yl=dylj、il : gos
ub 26800 : goto 2575025747 if
isym>30 and isym<41 then 1pen=o :
gosub26000 : h5s=mid$(zeichen$、i
sym−30,11: pls=h5s :gosub 25820
25フ50 next 1
25760 if isym>10 then hisdxlJ、dn+a
xljll :h2=dy(j、dmax(jN : 1pen=O:
yosub 2600025770 next j
25781’) piS”pu;pa (LQ;sp o、l−: gosu
b 25800257B5 outs=”Dcne” : close#1
25790 return
25800 print’l、chrs134)HplS;chrs+341
: return25820 h5S=pls : for 1ii=
1 to 1en(h5sl :b6s=midsl)+5S、iii、11
: 1char=ase(h6s125821 if h6s=”
@” then cyoff=o、3 : gosub 25830
: got。
25822 if h6s=”*” then cyoff=−0,3
: gosub 25830 :goto 25829
25823 if h6S=’°&、” then 1ii=iii÷
1 : ichar=asc(mid!1h5s、iil、l1l−48二
gosub25835:goto2582925824 for 1ii
i=1 to 20 : if 1char=texept(iiiil
tbenichar=iiii : gosub 25835 :
goto 2582925825 next 1iii25826
pls=”lb”+n+idS+h5S、iii、] l+chrs131÷
”;” : gosub25ε00
25829 next iii : return25ε30 1ii
=jjiす1 : pls=”cp O,”+5trSlcyoffl+
”;xi”+5trs+aktsix*、751÷−”+5trSloktsj
y京、751 + ” ; l b ”÷m1dslh55.1ii111+c
hrs131+’°:” : gc’sub 2580025B32 pl
s=”si”+5trs(aktsixl+”、”+5trS(aktsiyl
+”;cpO,”+5trS(−cyoffl+”H” : gosub 2
5800 : return25835 if 1char>1 and
1char<11 and pointer%f251<>4 th
eni=4 : goaub 2640025836 if 1cha
r>10 and 1char<21 and pointer%12
51(>4 thenL=4 : gosub 26400 二 1
char=ichar−1025837if 1char>1 and
1char<11 then pls=syrnslicharl :g
osub 25800
25839 return
rem零噂傘皐**ネ傘**京傘傘坤ラインドローインf 1m11傘零II率
書傘傘事車ネ摩傘車オネ025850 R1drnax<2 then g
oto 2589025855 pls=”1t;0: gosub 2580
025860 for i=1 to idmay、 : hl=
icixli+/100 : h2:1dyli+/10O
: if i mod 5=Other+ gosub 500025865
if idp+il>100 then gosub 25895 :
goto 2588525870 if 1dp(il>10 then 1%
=idp(i)−10: cal111n@typeH%1
25B75 if 1dplil=o then 1psn=o : go
aub 2600025880 if 1dplil=1 then 1ptn
J : gosub 2600025885 next1
25890 return
25895 isy+n:idp+1)−100: if isym<1
1 then 1pen=0 : gosuし26000 : p
ls=symslisyml : goaub 2580025897
if isym>20 and isym<31 then xl=
hl : yl=h2 : (os浮■
25899 return
25900 rem 寧傘亭車重X軸 率車重重重II本傘本本率章本
傘率率*傘零率*ヰ本本傘*傘率$零車傘25902 if ttaus=
1 then z>−po=zypo−,35: f3zsi率f5*1
00/n::%=3 then at%=1 else at%=02
5906 if ax%=2 or ax%=3 then az
%=l all@ @z%:025907 if ap%>? then
Ig%=1 else 1g%二〇25008 Rax%=Oor del
#=0’or tmax−−mine)/deニー>99 thengot
o 25940
25910 for k#=minDdalo# to next 5tep
del# : if Ig%=0then k=に! : kl=k
: goto 2591625912 1h=intr(k#−1nt(k
#ll’1ool : if 1h<+Q thenhl#=10−int
lk#) else hl#=10−Tint(k#l +log(ih
/10)/logf1011
25913 if his>Othen M=log(hl”l/log(10
1else hl#=125914 k=hj : kl=hl# :
if kl=o then kc125915 xx=kj*pga(
91−cintlkj傘pga(9)) : if abslxxl<0.
0001then 1h=1 else 1h=025916 if t
tausJ then 25918 else gosub 5000 :
if a!=”a”then gosub 25780 : goto
5002591? if as:”s” then 2593525918
1f Qt%”Othen goto 2:lD2:)25920 hC
k : h2=aypo* : 1pen=0 : gosub
26000 : 1pen=1 :h2=h2÷ptk*pg161
: gosub 2600025925 if az%=Othen g
oto 2593525927 i:Ig%=1 and 1h=o then
2593525929 if l@%!Oand abs(k#1(a
bs(del#l/1000000 then klf。
259301pen=o : if ttaus=1 then hl=
に+zxpo傘f3 :h2:a3−pos+zypo*f4 : go
sub 26000 : print 5trs(kl) :賦at02!+
935
25931 hisk : h2=hypom : gosub 26
000 : if pgl131 mad 2+0then pls=”d
i (1,1;” else pls=”di 1.0;”25932 pl
s=pls+”cp”◆5trsIzxpoト+”、”+5trS+zypol
+”;” :gosub 25800 : pls*5trslkll :
gosub 2582025935 next k!
25940 return
+p?:n1QX−p?:n1irl+ : f−1=siy*f6車10
0/lpymax−pyn+1n125955 i)+=0 : ap%=
abglaop): ax%=ap%nod 4 : if ax%J
oray、%=3 then at%=1 else at%=02595
6 if ax%=2 or ax%=3 then at、%=
l @lse az%二〇25957 if ap%>7 then II
J%=1 else Ig%=025958 if ax%=Oor del
#=o or (next−mine)/del#>99 thengoto
25990
25960 for k#=min!+delo# to next ・5t
ep dels : if Ig%=0then k=に# : kl
=k : goto 2596625962 1h=intlfk#−1n
t(k#))傘1001 : if 1h(=Othenhll:1O−
1ntlk#l else hl#=10−(int(k#l+log(i
h/101/log(10))
25963 if hl#>Othen h禽=loglhl!l/log+1
01 else hH=125964 k=h# : kl=hl#
: if kl+o then kl:125965 xx=に#ネp
ga(91−cintlk#”pga19)l : if abslxx
l<0.0001then 1h=1 else ih=Q25966
if ttaus=1 ther; 25968 else gosub 5
000 : if as=”a”then 号O5L山25780 :
goto 500259ε7 if aS=”s” then 259
8525968 if at%=Othen goto 259752597
0 hl=axpos : h2=k : 1pen=o :
gosub 26000 : 1pen=l@ :
hl=hl+ptk傘pg+61 : gosub 2600025975
if az%=Othen goto 2598525977 if Ig
%=1 and 1h=o then 2598525979 if 1g5
c=o and abs(k#l<absfdel#)/1000000 th
en kl=0259801pen=o : if ttaus=1 th
en hl=axpos+zxpo電f3:h2=に+zypo*f4 : g
osub 26000 : print 5trsTkll : got。
25981 hl=Axpos : h2=k : gosub 26000
: if pgl13) nod 2=Otbc++ pls=”di O,1
;” else pls=”di 1.0;’。
25982 pxs=pxs+”cp”+5trs+zxpo++”、”+5t
rstzypo+ : (osub25800 : pls=strs口:
11 : gosub 2582025985 ne)、t k*
25900 return
renl 辱本******市零零傘零寧零宰絶対プロット+トランスフォーメ
ーション 本寥軍t*26000 if ttaus=1 then 260
5026002 if ttaus>2 then return26005
if 1pcn=1 then 260252ε010 if pg1
131=1 or pg(13+=3 then pls=fnpmus(h
l、h21else pls=fnpmu2s(hl、h2126020 go
sub 25800 : return26025 if pg+131x
l or pg(13)=3 then pls=fnpn+5(hl、h21
else pls=fnpm2s(hl、h2)26030 gosub 25
800 : return26050 x%=fnxwThll :
y%=fnyw(h2): if 1pen=1 then callpl
otdTxχl)χ)else cmll ploLu(x%、>−χ)260
55 return
rem傘本傘寧傘傘****傘$零*市傘本零率京ライうタイプ車率零零寧富零
傘車掌傘車を零零率I寧ネt26100 if ttaus=1 then
26150261101%=isym−11: if isym=11 or
isym>20 then pls=”It;”: goto 26140
26120 if isym>13 then pls=”It”÷5
trs11%l+−3;” : goL。
26130 if isym=12 then pls=”It”+5trS+
lχr + ++ 、 Q 、 5 、 ++26135 if isym=1
3 then pls=”it′1+5trS+1%++”、1;”26140
if 1syrn>10 tben gosub 2580026145
return
261501%=dialin%+psy+n(J)−101: call 1
inetype(IXI :return
rem *牢京傘傘傘軍システムファイルからのキャラクタ−セット 傘ネネ
本**傘牢章26400 close!2 : open ”r”、#2.
names+”、HSY”、256 :field#2,256 as ex
S26410 pointer%(25+=i : for 1l=1 to
10 : 12=il+ロー1 )津10: get:2.x2
26430 i1=evi(midslexs、1,21126440 s
yms1i1+=rnids(exS、3,1l126450 next il
: close#2 : exs=”” : returnre
m 寧*傘率零車庫*傘場ライン挿入、、 傘車本章本章傘車重*
本傘率*傘*を傘傘*零寧率京26500 if psymrjl<11
then return26520 if d+naxijl)250
then return26530 rem
26550 for i=1 to dmax[J3+l : r
exTil=dxlj、il :reylil=dyTJ、il : n
ext 126560 reyT31=rey(41m2−rey(512
6570rey(dmaxTJl+1)=ray(dmax(Jll寧2−re
y(dmax(J l−1126580Jl−2: deltaygabs(
pyl!+2l−pyljll11/100 : 1last=02660
0 for i=4 to dmax(Jl : del=abs(rey(1
+1l−rey(i)l :if del>deltay/4 or 1
last=o or i=dmax(j) then dfl=1el
se df1=0
26605 if del>deltay then dfl=226
ε07 if t320−Jl)<ldmax(Jl−11then R
dfl=2 then dfl=326610 p=rey0.1 :
pp)=reyli+11 : pml=reyfi−11: x=rex
+il: xpCrexli+11 : xml=rexli−11:
if xpl=xml tl+engoto 26700
26620 hl=lppl−pmll/(xpl−xmll : h2=N
ppl+pml−2*p+/+xpl−xm1口12
26640 if dfl=2 then J1=J1÷1 : dyTJ
、jll=p+(h2−hl)”+x−xmll/3 : dx(J、jl
l=x−1x−xncl17326650 if dfl>Othen jl=
jl+1 : dy(j+J11=p : dx[j+jll;>: :11
ast=1 else 1last=026660ifdfl=2than
jcjl+にdylj、、1ll=p+lh2+hlド1xpl−xl/3
: dxl、1Jll=x++xpl−xl/326700 next i
: dmax+jl=jl−126790return
rem を津傘*牢*傘率ネ寧傘傘**本コラムドローイング 傘傘傘*ネ
*車*零*傘牢京本本本本牢市本26800 x2=(pxu!+2l−px
uH1+1/200 : y2=Tpyl#121−pき・1#[1)l/
200 : yo=pyl#+1126810 hl=xl−x21pg
a+81 : h2=yo : 1pen=o : gosub
26000 ;xu1%=xb% : yu1%=yh% : h2=
yl : 1pen=1 : gosub 26000: hl=
x)+x:lpga+81 : gosub 28000 : 1x
or=xh% :yor%=yhへ
26815 h2=yo : gosub 26000 : hl
=xl−x2*pga+81 : gosub26000 : 1pe
n=o : gosub 2600026820 if isym=
21 then goto 2689026825 if isym
=22 then gosub 26900 : goto 26
89026830 if isy+n=23 then gosub
26920 : goto 2689026835 if isy
m=24 then gosub 26900 : gosub
26920 : gotB
26840 if isym=25 then goto 2689
026845 if isym=26 then goto 268
9026850 if isym=27 then goto 26
89026855 if isym=28 then goto 2
689026860 if isym=29 then pls=”i
t”+5trS+1%1÷1°、0.5;″ : gosub25600
: gosub 26900 : goto 2689026865
if isym=30 then (osub 26940 :
goto 2689026890 return
2690 xstart=xl−x2傘p(a181 : xstop
=xl÷x2本p(a18126901 for 5chraffur=xs
tart to xstop 5tep x2 :hl=schraffur
: h2=yo : 1pen=o : gosub 2600
0 :h2:yl : 1psn=1 : gosub 26000
: 1pen=o : gosub26000 : next
5chraffur26905 return
26920 for 5chraffur=yo to yl 5t
ep 21jy226922 hl=x3−pga(81傘x2 : h
2=schraffur : 1pen=o : gosub26000
: hl=xl+p(af81$x2 : 1pen=1 : (o
sub 26000 : 1pen=0: gosub 26000
: next 5chraffur26925 return
2694 xstart=xl−x2$pga181 : xitop=xl
÷x2*pga(Ell ’:x3=x2/4
26941 for 5chraffur=xstart to xsto
p 5tep x3 :hl=schraffur : h2=yo
: 1pen=G : gosub 26000 :h2=yl :
1pen=1 : gosub 26000 : 1pen=o
: gosub26000 : next 5ebrafTuz−2
6945return
2フ000 tarn 傘*傘重重京ネ*本傘零車自動スケールルーチン2
フ020 xll=−999999 : xoo=999999 :
コー11=−99999CI :yoo=999999
2フ050 for i=1 to 10 : if dmax
(il<5 then goto 2709027060 for
j=4 to dmax[i127065 if xoo>dx(i,
j) then xoo=dx(i.j)27070 if yoo>
dy(i,jl then yOO=dyli.J1270)5 if
xll<dxli+jl then xll=dx(i,jl2)080
if yll<dy(i,jl then yll=dyTi,j1
27085 neコニt、1
27090 next i : on error goto
2190027092 xo#=xoo : y04=yoo :
xl#=xll : y1番=yl12)095 x0i=intCxo
g市100001/10000 : xl#=intlx1=港27100
yo#=int(youloooo+/10000 : yl==in
tlyls本27105 if xO:>100000 then xQ#
=lOOOOO27110if xl#>100OOQOthen xl#=1
000000271151f yO#>100000 then yo#=10
000027120 if yl#>1000000 then ylc100
000027125 if xo#<−100000then xO=x−1
0000027130if x)#<−1000000then xl#=−1
00000027135if yo#<−100000then yo#=
−10000027140jf yl#<−1000000then yl
#=−100000027150m1n3#=xo# : m1n2j=x
o# : roin!=xo# : max!=>+19 :achs
e=1 : gosub 2725027160 pxu#(ll+xo#
: pxu#12+=xl# : pxu#f3+=x2# :p
xu&+41=x3# : pxo#(11=xO# : pxo#12
1=xl# :pxoiC3)=x2# : pxo#141=x3#2
7170 mLn#=yoe : mnx#=yll : achse
=2 : gosub 2726027180 pyユ$11)=xO#
: pyll+21=xl# : pyl#T31=x2= :p
ylf141=x3# : pyrw[11=xO# : pyrjf
21=xl# :pyr#+31=x2# : pyreC41=x3#
27190 on error goto O: return27250
rem
傘傘*本傘*傘本章率lI傘本車重自動スケール メ車重本本本*零本本末ネ零
01151寧宰27255 if 1lIine>maxi then
hH=min# : n+in*=anax# : maxi:■P
m
27260 range#=(maxi−mlnj) : 5cfD1
: if rangem=o thengoto 500
27265 if ran(a#<100 then goto 2
727027267 range#=range#/10 : scf衾
=scff電10 : ifabslrange#l>1000000
or abs(range#]<0.0000001 thenret
urn else goto 2726527270 if ran
ge#>10 then goto 2727527272 rang
e!=rangeulO: 5co=scH/ユO: 1fabslran
(eel>1000000 or absirange*l<0.000
0001 tbenreturn else goto 272702
727(range4=cintlran(e#++l l range2
#=intlrange#/10” 1range#=range&+ran
ge2#27276 if range2&<2 then range2#=
2 : goto 2728027277 if range2#(3th
en range2#=2.5 : goto 2728027278 i
f range2#〈6 then range2C5else range2
#J。
27280 range#=range#本scfg : de1番=s
cf# :range2#=range2#*scf#27281 if
m1ne<Othen scf#=−1else scf、=12728
2 min#=minj本scR: if min#=o then
goto 2729627285 if m1ne<100 the
n goto 2729027287m1n#=minj/10:acf#
=scf#*10二ifabs(mjn#I>1000000 or abs
1ioin#)<0.0000001 thenreturn else g
oto 2728527290 if mlnj>10 then got
o 2729427292 mlnj”mlnj本10 : scf#
=scf#/10 : ifabsfmin#I)1000000 o
r abg1min#)<0.0000001 thenreturn el
se goto 2729027294 min#=int+min#l
÷2 : rnin2*=int(min≠/101$10 :mi==
min=傘scf# : m1n2#=min2#傘scf;2729:l
If prets=”vsp” and&ChSe”1then gato
274002729G if nbs+min月>range#/2 then
goto 27300 else got。
27300 if absfmin#l>100*range# then
xo!=h1# : xl#:nnax# :x2e=range2#
: x3#=absihl#l : goto 2734027310
if abs1min#1)10傘range# then xO#
=min# :xl#=min#+range# : x2#=rang
e2# : x3#=abs(mlnj−min2jl : goto
2734027320 Hm1nlo then xo#=min2#
: xl#=ffIin2#÷range貞 :x2#冨range2j
: x3妻=O: goto 2734027330 if m1nt
(Othen xO#=min#−5cfj : xlt=xO#+ran
ge# :x2i=rsnqe2t : x3j=abs(min2#−
xo#+27340 return
27350 if m1ni>=Othen xo出=o : xl#++
ranger : x2:=range2:: λ3コ=Oelse x
O#=min台 : xl#=range吏+m1nj :x2#=ran
gez* : s3cabs1min#127390 return
27400 xo#=min3# : xl#=rnax# : ra
nge#=max#−min3i2]410 if range#>400
then X2F=100 : X3#:int(min3#710
0411本100−m1n3# : goto 2742527415
if range#>Zoo then x2#=50 : x3s=int
(min3i750÷1)寧50−m1n3# : goto 27425
27420 if range念〉20 then x2#=10 : x3
#=int1min3#/1043)傘10−m1n3! else x2
g=2 : x3#=int(min3#/2+11$2−m1n3ジ
27425 return
27500 rem *傘本傘宰傘宰率傘本牢 スA−ス 傘本市宰
本本**零傘*車本*市*零*率率宰*京2)510 if dmax(j
X12 then goto 2776027515 if dyl
J、3)=Ot)+en dyl、L3+=2傘dylj、4l−dy!j、
5)27520 dき−IJ、2>=2傘dy(J、3)−dylJ、4)
: dylJ、1)=2*dき一1j、3)−dylj、5) : j
2=dmaxlj)27525 if dy(J、clnaxljl+11
=o then dyTJ、j2+11=2オdy(j、j2J−dy(j
、j2−11
27530 dylJ、j2+2)=2*dy(j、j2÷1)−dylj、
j21 : J1=127540 dylj 、j2+3 )=2傘dy
(j、J2+11−d>’[jlj2−11 : on smoothg
oto 2)550,27600.2765027550 for iす
1+3 to J2 : dy(j、j−3>=(d)’(J、i−1
1+dy(j、i l+41−(j、1◆11)/3 : next i
: goto 2774027600 ddl=dy+j、jl÷2
l−dy(J、j1+11 : dd2=dy(J、j1÷3)−dyTJ、
Jl÷2) : dd3=dき・(j、j1441−dy(j、jl◆3)
2フロ05 del=dd2−ddl : de2=dd3−dd2
: dfl=de2−de12フロ10 for 1=Jl+3 to
j2 : dd4=dylj、i+2l−dy(j、i+1) :d
e3=dd4−dd3 : df2=de3−de2 : dg=df
2−df127620 dき−(J、i−31=dylj、i )−3車dg
/35 : ddl=dd2 : dd2:dd3 :dd3=dd
4 : dal=da2 : de2=de3 : dfl=df
22フロ30 next i : (oto 277402)650
ddl=dylj+jll : dd2=dylj、jl+ll :
dd3=dy(j、jl+2127655 for 1=jl+3 to
j2 : dd−1=dXlj、N : dy(j、1−31J−2*d
dl÷3*dd2÷61dd3+7傘dd4+611dさ・(j、i→1]+3
零d>’(、)+1+21−2本dき・(jIi÷3目721
27665ddl=dd2二dd2+−dd3:dd3=dd4:nexti2
7740 for i=dmaxlj)−3to 15tep−1: dyT
J、i+31=dylj、il :next 1
2775Oram
27760 return
rem 本**$零零*京車重本牢本本零宰本率率*零本 カーフ/し 傘率
*零車重本章零傘率零牢傘本本重重本車28000 if cursor=11
then goto 2806028004 if cursor=12
than goto 280802!1loIo if cv>dmax(c
ursor)then cw=dmaxlcursor+28012 if
cs:<3 then ew=328013 if omit%=1 t
hen 2803028015 gosub 22390 : gosub 2
2350 : print using ”HaH##1m# m*、#R#
’°+ Cu r m Or T d X (Cu r j! Or + e
W l 1dylcursor、csXl : print chrs+27
1+”*dS”;28030 xdc%=fnxwldxlcursor、cw
H:ydc%=fnyv(dy+cursor+css)l : if x
dc%>511 thenxdc%=511
28042 if ydc%>389 then ydc%=38928044
if xdcχ<1 then xdc%=128046 if
ydc%<1 then ydc%=128048 call mgcur
s(xde%、ydc%l : return28050 print f
ncurssldx+cursor、cw)、dy(cursor、aw))
:28060 if x%>511 then xχ:51128062
if y%>389 then yχ:38928064 Rx%<1
then x%=128066 if y%G then y%=128
068 call mgcurslx%+)’X): return2808
0 h3=+x%−pxmin)/5cxf#÷5cadx# : h4=
ly%−pymin)/5eyf#÷5eady# : gosub 22
39028082 gost+b 22350 : print u
sin(’“−g# ;##* + ++fff# : # ’ −” ’
F ” ” ; Cu r S Or 1 h 31 h 428086
return
rem II電率重重**傘傘宰牢率傘傘神テータおよびX−Yカーソルバ*
***零本京***本孝**牢本28100ifaS=”1”thencw=c
w−1:gosub28140:1fic)]then ew=cv−ic
: gosub 28000 : goto 28100 el
segosub 28000 : return28110 if
as=”5°’ then cursor=cursor+l : i
f cursor>10then cursor=1 : gosub
28000 : return else gosub28000
: return
28120 if aS=”2” then cursor=curs
or−1: if cursor(1thencursor=lo :
gosub 28000 : return else gosu
b 28000: return
28128 if as=”3” then cw=cw÷l :
gosub 28140 : if 1c>1thenew=ew+
ic:gosub28000:goto28128elsegosub 28
000 : return28135 return
28140 1d=o : 1e=105−ic寧10 : if
is<5 or is>110 then 1e=T
: 1c=10
28145 for i=1 to is : bs+1nkey
s : if 1en(bsl>Othenid=id+1
28150 next i : if id>Othen 1c=
ic+1 else 1c=ic−3: 1fie<1 then
1c=1
28155 if 1c)3 then omit%=1 else
omit%=028160 r@turn
28200 if as=”O’ then cursor=12
: gosub 28000 :cursor=11 : rstu
rn28208 if as=”1” then x%=X%−1:
gosub 28140 : if ic>1then x%=X
%−ic : gosub 28000 : goto 2820
8 elsegosub 28000
28209 1f as=”5” then y%=y%+1 :
gosub 28140 : if ic>1then y%=き°
%+Lc : gosub 28000 : goto 2820
9 elsegosub 28000
2ε210 if as=”2” then y%=yχ−1: (osu
b 28140 : if ic>1then y%=y%−ic :
(osub 28000 : goto 2E1210 elsegos
ub 28000
28211 if as=’°3” then x%=X%+l :
gosub 28140 : if ic>1then x%=X%+ic
: gosub 28000 : goto 28211 els
egosub 28000
28212 return
rem *亀本本III重重本零率本本本**サイズの呼出し量率**本本本
本****傘本傘*本ヰ*本本本室29100 s%=int1ii/pg1
11本+pxmax−pxmin)/4.5ネ256)29103 if
s%>2560 then i%=256029105 if s%<
64 then s%=6429110 sy%=int(siy/pg
121率(pymax−pymin+/6.3$256129112 if
sy%>2560 then sy%=256029113 if
sy%(128thsn sy%=sy%宰2 : goto 291
1529114 if sy%<192 then sy%=sy%本
]、529115 if ta>−%<64 then sy%=64
29122 call 5izels%、sy%)29125 5i=s%
1256キフ : 5iy=sy%1256市10 : return
: rem 5izeof character cel12950
0 reITI**傘**津$零本ホシションニ対スルティフォルト**傘傘零
宰lI傘本本傘29510 on pg(13+ goto 2952
0,29600,29)00,2975029520 pg+31=2 :
pg+41=2 : return29600 pg(41=3 :
if pg(9)=1 then pg+31=1.2 elsep((3
1=14.2
29660 return
29〕00 on pg(91goto 29710,29715,29
720.2972529710 pg(31=2 : pg141=11
: return29715 pg+31=15 : pg(4D11
: return29720 pg+31=2 : pg+41=2
: return29725 pg(31g15 : pg(4)=
2 : return29750 on pg(91goto 29
760,29765,29)70,297?5,29780.29785297
60 pg131=2 : pg(4)=2 : return297
65 pg131=2 : pg(41=11 : return29
770 pg+31=lo : pg+41=2 : return2
9775 pg13+=]o : pg+4)=11 : return
29780 pg131=18 : pg+41=2 : return
29785 pg+311118 : pg(4神11 : retu
rn29800 rem ’I率鯵寧寧率*本場レイアウトに対スるデイフオ
lレト ネ*傘傘傘*$零零零市率298100n pg1131 goto
29820.29840.29860.2988029820 p1m=2
o : 9g121=1529825 pgx+11=、3 : pg
x+21=、25 : pgx133=、25 : pgx(41=、
2 :pgx(51g、2
29830 p訃’(1)=、4 : pgy(21=、35 : p
gy(31=、3 : pgy+41=、25 :pg3−+5神・25
: return29840 pg+1神15 : pg12)=1
029845 p(y、(11=、25 : pgx+21=、20
: pgx(31=、20 : pg=;14+=、1T
: pgx+51=、15
29850 pgylllg、3 : pgy+21=、30 : p
gき・131=、25 : pgy+41=、20: psp−151=
、25 : return29860 pgfll=10 : p([
21=729865 pgx+11=、16 : pgx+21=、15
: pgx+31=、14 : pgx141=、12: pgx1
51=、12 : pgx(81=−12: pgy(7C−12298
70P訃・11+=、22 : pg>’121=、19 : p訃−
+31=、17 : pgき°(41=、15: pgy+51=、19
: return29880 pg+11=7 : pg(21=5
29885 pgx+11=、16 : pgx(21=、15 :
pgx+31=、14 : pgx+41=、12: pgx15+=
、12 : pgx181=−12: pgy17)=−1229890
pgy+11=、22 : pgy+21=、19 : pgy(31
=、17 : pgさ・(4ド、15: pgyイ51=、19 :
returnrem 寧傘*電零零傘本車重率傘傘*本本タッチスクリーン構
成、寧傘本*章寧富*傘*牟*率傘京*重重30000 on error
goto O: rowinc%:030005 ross%=1
: co1%=20 : coline%=59: respsx”
T” : gosub30010 row%=3 : co1%=2
0 : eoline%=15: respsx”A” : gos
ub30015row%=3:co1%=68:respS+’°Q”:gos
ub3020030020row%=5:ca1%=20:respS=”M’
″:gosub302003002b row%=5 : ca1%=6
8 : respS=”N−: gosub 3020030030
row%=8 : co1%=O: coline%=IQ : respS=
”G” : goaub3003S rO&−%=lO: respsx”
X” : gosub 30200 : row%=)2 :re
spsx”Y’書 : gosub 3020030040 rowX=1
4 : respsx”V” : gosub 30200 : ro
w%=16 :respsx”w°’ : gosub 3020030045
row%=18 s respsx”B” : gosub 30200 :
row%=20 :respsx”Y” : gosub 30200 :
coline%=1530050 row%=26 : respsx”E”
: gosub 30200 : row%=28 :respsx”F”
: gosub 3020030055 row%=30 : respsx”
G” : gosub 30200 : row%=32 :teaps−’°
H” : gosub 3020030060 for j=8 to 20
5tep 2 : row%:j30062 for i=1 to
8 : co1%=i本844 : if i=5 thenco
line%=35 else coline%=630064 if j>
17 then if i>5 then goto 30072
elsecoline%=6
30066 if j=8 then coline%=6 : goto 3
007030068 if i>5 then goto 30072300フ
OrespsxchrsflJ−81傘4÷1÷891 : gosub
30200300テ2 next i : next j :
coline%:830080 for J=26 to 325tep 2
: row%=j30082 for i=1 to 6 : co1%=i
*lo+8 : respS=chrS((j−26)率3+i+1451
: gosub 30200 : next 130084 ne
xt j
30090 for j=35 to 415tep 2 : ro%−1%す
30092 for i=1 to 4 : co1%=(i−1
1零8 : if i=4 thencoline%=52 else
coline%=630094 respsxchrs((j−351傘2
+1÷169) : gosub 3020030096 next i
: next J30190 return
rem *宰京本*傘傘本*傘宰傘**傘’fntouch の呼出し傘零*
零零牢率率傘**本傘傘*本*本本*宰重重30200callfntouch
lrowχ、co1%、rowinc%、coline%、resps1302
10 return
rem mネネ事傘宰傘傘1t、/l/−f7f)入力 傘京本lB車本市
本車率冨本寧*本軍*傘本傘ネ重重傘宰傘寧軍40000 1eo1%=co1
%+1enlpromptSl : 1l=lenlins) : 1
fi1>1leer or 1co1%>?9 then ユn5=s
paces(ileerl :return
40020 if 1co1%+1lear>80 then 1le
er=80−ico1%40030 if il<1leer then
1nS=inS+5paceSlileer−i1140040 call
curs(colX、rowX) : print prompts;i
ns;”*” :call curs+1co1%、rowel : 1
a=o : tshare=440050 while ia<>13
: call eeho+ial : if ia>17 a
nd ia<Q7
or 1a=189 then 4019040060 1plot*1
plot+1 : if 1plot>tshare then 1plo
t=o : 1fpointer%1.1>Othen gosub 43
0040080 wend
40100 hl$=spaces(801+”” : call rea
dli(rowX、hls140110 for 1i=1 to 1lee
r : if mjds+hls、1co1%φii、1leer−i1+
11=spaceS+1leer−ii+11 then 4015040
120 next ii : 1j=ileer40150 ins
=midslhls、1co1%+1.ii+40190 his=’°”
: returnreffl **車零本傘零本章*率*ネ宰率寧**
***傘*牢率拳本ネ車*零京ネ本市市*ネ傘*傘傘*傘嵩宰ネ牟宰愈rem
*車零本本IMICHFITソフトウェア : daeom、bas
京零零率ギ*1rem 車率*傘車重 作者 :
Bruno tlichel ******車事京re
r11 零本車本章$11零傘本亨本本率拳ネ*零ネキネ本**キキ本率車本
本孝京率零本傘本本卑亀本庫零零本!零室車rem 本**本中傘車重傘WI本
零重重*率率本零零**零オ本率室傘本率本ネ宰傘車本ネ零本傘傘市本車率本本
市率*rem *本傘車車章零市本ネ**市市宰本章章京*****ネ京傘傘
章傘岑ネ**倉傘零***本傘率宰京10 rem 5include :
’comvar’220 讐1dth 255
rem 幸本傘本傘率*掌ネ*ネ傘本ネ本****傘寧**事富本嵩本市傘隷*
宰富幽本ネ本市ネ傘傘*寥*41000 call cls : prin
t ”pro(ram dacom B、)Iichel 02.Feb。
8ε e=e>:it” : on error goto 4200
041020 defint i : 1oshare=255 :
1open=o : 1handle=0410301x=o :
call popenfixl : 1handle=ix41040
rsios:””
41050 for 1nlop=1 to 1oshare : as=
inke3°S : if as=”e”then 41190
41060 H=ihandle : call 1nstat+i
ll : if il<>255 then41070 1x=iha
ndle : call rsinrixl : 1t 1x=10 the
n gosub41200 : goto 4110041080 if
ix<>13 then rsioS=rsioS+ehrSlix1410
90 next ir+lop : goto 41)204110
0 print rsios
41220 goto 41040 : rem *本零零傘車傘本
リターンで本零零本車本本*傘率率率零本章率41ス90 1x=ihandl
e : call peloserixl : fortsJ :
pin1t=1: chain ”ha”
rem亭本**傘本本*傘傘牢本■インタープリタ−コマンド 零市**零零章
零本傘*ネ傘41200 if 1en(rsiosl<5 then
4123041210 if m1dsirsios、1.51=”0PE
N ” then if 1enlrsiosl>19then gosub
41400 : return41220 if m1ds+rsio
s、l、51=”CLOSE” then elose#15 :1ope
n=o : return41230 if m1ds(rsios、1.
51=”HELLO” then gosub 41300 :41250
if 1open=1 then print#15.rsios41260
return
r@m 本本富寧牢率*傘*本寧テータコミュニケーションの構成 率津ネネ事
本本傘孝本本本**傘41300 rsios=”hello” : 1
l=5 : print ”quittiere HELLOo。
41310 for i=1 to il÷2 : als=in
keys : if als=”e” then44320 12
=ihandle : call outstat+i21 : i
f i2〈>255 theneturn
41330 if Cil+1 then 1i=134]340
if i=H+2 then 1i=1041350 if i
〈=il then ii=asc1mids+rsios、i、11)413
60 1x=ihandle : call rsout(ix+1i
141370 next i : print ”ok hello”41
380 return
r@In ********市傘*傘本市宰薯、t−7ンフアイlし傘車*傘傘
*傘***傘本章零率重重ヰ本車重本本reITl □****ネ車本京傘ネお
よびスト?デー9 傘京宰車率零傘本本章零傘*率1車重オ本率零本第414
00 hlt=midslrsios、6.i41 : 1open=1
: close#15 : open”o”j15.his
41405 rsios=”file is open” : 11
=3241410 for i=1 to il÷2 : als
=ink@ys : if al!=”e” then41430
if 1=il÷1 then 1i=1341440 if
i:il+2 then 1i=1041450 if i<
=il then ii=ascimids[rsios、i、11141
460 1x=ihandle : call rsoutfix+
1i)41470 ne>:t 1
41480 return
42000 resume 41020rem **牢**零率零*傘
*重本**傘零率率零*本章本*本車重11傘本章本*傘寧京寧本*本零率傘率
傘**傘案rem **傘本零 MICHFIT’77)’7エ7 :
eomvar、bas 傘*率r@m 章傘寧率傘傘
4%者 : Bruno Michel 傘率寧
傘傘宰重重傘rem 牢本IIネ傘傘傘*率***愈宰*す寧車**本傘傘傘
*傘傘ネ*ネ本傘傘傘宰零寧*本本市車重零傘傘市京京萼em
rem *傘*宰本**寧*宰寧*率寧**章キ市*本市*傘市章本傘本本本
本本本電零傘零ネ本本本牢本市倉率宰市牢rem option base 1
5tart counting from 1for arraynumb
ering
rem defint i、j、w、t all zoariables s
tarting sI′ith iJ+’+tre
rem 1nts啄errern dim formats
1901+ram syms+101゜
rern 5yss(10)+
rern 1nhnltsfio+。
rem beschrsT20)。
rem macros(20+。
rem filenames+201ram dim 1con(450)
。
rem idrivef201
rem dim psymllo++
rem dmaxIlo>。
ram 5tift%(101゜
ram tl(301゜
rem tqueイ10]。
rern 5que+201+
rern 1nhplio)。
ram c(101
rem dirn dx(10,332)。
ram の−110,3321゜
rem pg(301゜
re+n pxu#(51+
rem pyl#(51゜
rerr、 pxoiC5ン。
rem p5−r#151゜
rem pgx(30++
rern pgy(301+
rern pgai30)
ram dim 1var+10.1001+ram nvar(10,10
01゜rare 1datrlol+
ram idx(128L
rem 1dy(1281゜
ram 1dpi1281゜
rem pointer%+301゜ram 1u(1001゜
rem ipHoo+
rcm 本章*重重*率牢傘傘**寧寧*本傘*本傘*電傘***ネ本傘本**
寧傘零本本零零本本本傘零車掌車重本*京rem 共
通変数rem 傘傘*傘11傘廖*傘傘寧*寧傘傘傘傘*傘本ネ率傘ネ傘**
傘傘本*傘傘車本率本本本本傘零*本*寧章*傘傘本rem common p
init。
rem forts。
rem tmod。
ram taus。
rem tain、teart、1dat(+rea+ common na
enes。
rem initialenL
rem pretS+
rem datsts
rem comrnon ant:gem。
rem anztit+
rem anzspek。
rem autosCale。
rem 1nterpolate。
rem anzeige。
rCffi default
rem common 5oftk。
ram anzart。
rem offo%。
ram offi%
rsn+commonformatsll。
ran symsll。
rem 5yss(1゜
rem 1nhalts(+。
ram beschrs(L
rerlI maerosll。
rerb filenamssl+
rem common 1eon(1゜rem idrive(1
rem eolTlfflori psym+ 1+ram dmax目。
r@B teart%+1゜
ram tHL
rem tque(+。
ram 5quad。
ram inhp(L
rem clio)
rem common dx(L
rem dy(L
rem pg(L
rcm pxu#lL
rem pき°1#0゜
rem pxo#(+。
ram pyr#I l。
rem pgxl)+
rem pバ(+。
rem pgall
ram common 1var()。
reIII nvar()。
rem idx+)+
rem 1dy()。
rem idp+)+
rem pointer%(L
rem 1u(L
r@to ipl)
rcm 傘牟重重*ネ寧零本本零傘率傘傘零車重本傘牢傘宰宰宰廖率*零傘率率
**寧率*宰率11傘本事零宰牢*率傘*ram ン
ースコードの開始r@m *傘率傘傘**ネ率傘率零率傘傘*傘**率*寧傘
車本*傘率宰本零車重*傘率ネ**率零摩傘傘寧重重率本車ram **本本
本*摩**傘傘 変数のディクエーション 車重傘零零宰零寧率
零市牢100 option base 1105 defint
i、j、w、tllo dim forIllat$1901.sym$1
101,5yss(10)、1nhalts(101゜beschrs1201
.macros(20)+filenameS120)112 dim 1
con14501,1drive(201115dim psym(101,
dmax(101,teart%f10)、tl130)、tque(101+
5que(201,1nhp(10)+c(101120diIII dx(1
0,332)、dy(10,332)、Pg(30)、pxu!(51,Pyl
#(5)。
pxo*(51tpyr#(5+ragx(301+Pgy(301+Pga(
301125dirlI 1var(10,1001,nvar(10,100
3,1dat(101,1dx(1281゜1dy(128)、1dp(128
1,pointer%(30)、1u(1001,1p(100)reIII
傘本零傘傘傘寧$$零章率率零本本 共通ディクレージョン 本本零率
寧零傘11富傘本寧傘140 common pinit、forts、t
mod、taus、tein、teart、1dat+ 1145 comm
on narneS、1nitialens、pretS、datits15
0 eo+tut+on anz(em、anztit、anzspek、au
toscale、1nterpolate。
anzeigs、default
152 con+mon 5oftk、anzart、offo%、offi%
160 common formats< l+sym$(Lsys$(+、
1nhalts()+beschr$+ 1゜macro*l )、filen
ames()165 common 1confl、1drive()lフOc
ommon psy+++1 )、d+nax()、5stift%() 、
tl()、tque(Lsquel )+1nhp[l、c(10)
175 common dx(Ldy+ >lpg+ l +Pxu#(Lpy
l#()、pxo#(1,pyr#(1゜pgx () + Pg>’ ()
+ pga + )180 common 1varO,n%゛ar(1、1d
x(111dy(l l 1dp(Lpointer%(l 11ut )、i
pl l
rcm 宰本本*率*寧零傘傘寧傘ネ宰*率宰寧傘*率車傘*宰本本傘**率*
本***寧寧本$市傘傘傘零傘本率率ネ本アベンディクスF
システムソフトウェアリスト
・ *ネネネ重重傘傘傘京嵩傘本*本傘傘車11傘傘本本本京事率率傘本章本傘
**事率本庫傘傘率率率本本本率傘本本軍零; *傘傘本 MICHFITソフ
トウェア : dosi、asm 率車重傘**率重重率卦
傘車*本***傘京率率零$11*傘零寧車率本傘傘オ事零零傘傘車ネネ*車
車本ネ率*ネ寧寧卓寧ネ寧ネ車本率率事亭; さらに、それは実際の英数字
のスクリーンr夷行するルーチンを含む。
INCLUDE DC,IQV
5CHREIB HACRODEFSCHR,5CHRBLIFHOVAX
、4403H
ト1OVBX、I
HOVCX、1O
No\DX、0FFSETDEFSCHRINT 21)1
HO\’ AX、44038pIovax、r
)10V CX 、 16
M0V DX、0FFSET 5CHRBυFINT
21)I
NDM
;下記 マクロはバッファから1本のラインを読取り、それを英数字スクリーン
に1書き込むために使用される。
LESELIトIACRODEFLESE、LESEBUFト10\’AX、4
403M
)IQV BX 、 I
MOVCX、10
pro\’ DX、0FFSET DEFLESEIN7
21H
MOVAX、4403H
)IQVBX、1
)10VCX、16
)10VDX、0FFSETLESEBUFIN丁 21)I
NDH
;アセンフリ言2昌呼出シコードおよびデータの全てはRASIC:コードセグ
メントに・: 連結される。
CODESEGMENTPARAPUBLTC’C0DE’ASSUHE
CS;C0DE、DS:C0DE、ES:C0DE; 下記ディクレ
ージョンはルーチンが対物コードの外側からアクセスされるので; リンカによ
ってbかる。
PtjBLIC5UCHF、5UCHN、DATUM、ZE1丁+WAk丁、D
ISLl、RE−ADL。
ECHO,5TO5CR,REC5CRPUBLICPOPEN、INS丁A丁
、R5IN、0LITSTA丁、R50UT、PCLO5E、す雪詰ルーチンに
超越する。
、れなければならない。
PFADS IQV 1OPFAD IQV
8FILEF IQV 6SUCH5T IQV
3ネ2SLICHF PROCFAR; 5yntax :
SυCHF(segment%、pfads、filefs)
PUSI4 BP
HOV BP 、 5P
PUSHDS
PUSHES
PtjSHDS
’ BASICデータ領域からバッファへの・経路ストリングをコピーせよ。
iPFADNAME
MOV BX、PFAD(BPIト10〜 CX、[BX]
1LENGTH0FPFADS ID CX
H□v Sr、2[BX] ;ADDRESS
0FPFADS IN DX
MO〜゛ AX、SEG BUFFERMOV ES、AX
MOV DI、0FFSET PFADNAMECOPYF:)jo
\°AL、BYTEPTR[S。
HovES:BYTEPTR[DI]、ALLOOP COPYF
MoVAL、OH;Prepare
proeessOr
registers for
MOVES:BYT)シPTR[DI]、AI、;玉nterruptt。
MoVAX、SEGCODE
MOVDS、AX
HOVES、AX
SUB AX、AX
MOVDX、0FFSETBUFFER)JOV AH,IAH
INT 21)i ;Execute 1nt
errupt)IO〜’ DX、0FFSET PFADNAMEM
OVCX、O
HO\’ AH,4EH
1N丁 21H
POP ES
C?lP AL、18 ;Has a fi
lebeen found?
JE NEIN
No\“BX、FILEFIBPI
)10V DI、2[BX))(QV CX、12
MoV AX、SEG BUFFER)10v DS、AX
HOv SI、0FFSET BUFFERADD Sl、
IEH
CPFF: ;If yes copy
filename t。
BASICdata area。
MOV AL、BYTE PTRrSI]MOV E
E、:B1’丁E PTR[D[、ALINC5I
INCDI
LOOF’ CPFF
Mo\’ AL、0
NEXN: ;return flag in
segment%MOV AH,0
)10VBX、PFADS[BP]
)10V [BI3.AX
POP ES
POP DS
POP BP
RET SυCH3T
SLICHF ENDP
; 本本本京*章市傘傘傘傘傘書傘本本章*傘本本本傘m傘本傘本車重車本傘*
*本本京*傘車宰重重**本傘本本*傘寥FTLENS EQU
8FILEき EQじ 6SL’CH5丁NEQ
t’212
SUCHき:PROCF、AR;5yntax:SUC)(Nlsegment
%、fileamesl
PtJSHBP
)10VBP、5P
PUSHDS
PUSHES
Pus)l DS
PLISHDS
SUB AX、AX
No〜’AH,4FH
IN丁 21)(;Execute 1nterruptPOP
ES
C)IPAL、18iHasafilebeenfound?
JL ENDE
MOVBX、FILE?、’[BP]
MOVD1.21BX]
PUSM DI
NOVCX、8
)10VAX、5EGBUFFER
)10V DS、AX
NOV51,0FFSE丁BUFFERADD SI、IEH
CPFN: ;If yes
copyfilenalIIe to BASICdata area
!’IOV ^L、BY丁EP丁R[5I)CHIP
AL、2EH
JE CPE>:丁
CトIPAL、0
JE NOEXT
MOVES:BYTEPTR[DI]、ALINC5I
INCDI
LOOP CPFN
CPEX丁: ;cop
y extensionPOP DI
ADD Dr、9
NOVCX、3
XNC5I
EXTL:
HOV AL、BYTE PTRISIIHOV ES:
BYTE PTR(DI3.ALINC5I
INCDI
LOOP ENTL
Hov AL、0
ENDE: ;1oad flagMOV
A)!、0
HOX“ BX、FILENS[BP]NOV [BI3.
AX
POP ES
POP DS
POP BP
RET 5UCH5TN
NOEXT:
MOV AL 、 0
POP Dr
JMPENDE
SUCHN ENDP
: ネlTネ傘京富零寧宰本11**傘傘寧ネネ率本寧本寧率**ネ**本市傘
電零京本車零率傘*零本本零零本零零草寧本牟JAHREQU 10
τAG EQU BWTAG EQU
6DATS丁 EQU 3寧2DATυMPROCF
AR;5yntax:DATυ)噛(jahr%+ tag%、sstag%)
PUSHBP
MOV BP、5P
PLISHDS
GET−DATE
MO\’ BX、JA)IRIBPINOV [BI3.
CX
MOV BX、TACdBP3NOV [BI3.DX
MOV BX、WTAG[BP)NOV [BI3.AX
POP DS
POP BP
RET DATST
DATUMENDP
嘩 重重本傘本*率宰本市車重率*寧宰*本***本本本*ネ**寧傘車傘率本
*京倉本本本本本本本本本本亭寓本本π*1下SIl!W能4虚内部。り。ツク
を読取り、アプリケーションに対する2つの数にMi越する’IIN
EQU 8SEI:EQLi6
ZEITS丁 EQLi 2m2ZEIT P
ROCFAR;5yntax : ZEIT1min%、sek% IPU
SHBP
MOVBP、5P
PUSHDS
GET−、TI)IE
)IQXBX、HXN(BF3
NOV[BX]、CX
HQ%:BX、SEK[BF3
N0V(BX)、DX
POP DS
POP BP
RET ZEITST
ZEI丁 ENDP
φ 傘車重傘宰ネ率**車*寧章***宰零傘本ネ本**傘*傘本寧傘本京本*
本*零車本本本*本事*ネ傘傘市本零ネ傘DAUEREQLi
6DAUSTEQL;1*2
WART PROCFAR;5yntax : WARTida
uer%)PUSHBP
MOVBP、5P
PUSHDS
HOVAX、DAUER[BF3
BACK: N0P
NOVCX、255
BACKI: N0P
LOOP BACKI
DECAX
CHFAX、O
JA BAC):
POP DS
POP BP
RET DAυST
賢、ART ENDP
・ **傘ネ京本本市*本本傘*傘傘傘傘宰*率重重傘ネ宰宰率宰*率傘本m*
*本本宰**ネ零本***本傘本本亭LINIE EQU 1
0S丁RI EQU 8ENHA EQU
6POPLI EQU 3$2DISLI
PROCFAR;5yntax DISLIlline%。
5tris、enhasl
USHBP
MOV BP、5P
PUSHDS
トIovBX、5TRI[BF3
)10V CX、[BX] ;LEN
GTH0FSTRIS ID CX
N0V Sr、2[BX] :ADDRESS
0FSTRIS IN DX
トIO\“AX、SEGCODE
MOVES、AX
MOV DI、0FFSET C)IAR−PTR)10VBX、L
INIEIBP]
MOVAL、lBX)
MOVES:ALINI、AL
トIO\lES:ALIN2.AL
command buffer
MO\’ ES:BYTE PTR[DI]、ALINC5r
INCDI
LOOP COPYS
MOVBX、ENHA[BF3
Hov CX、[BX) ;LENGTHOF ENHA
S IDx
MOV Sr、2[BX] ;ADDRESS OP E
N)JAS INX
MOV DI、0FFSET EHHjTRCOPYE: M
Ov AL、BYTE PTRrSI] ;cop>−enh
ancement t。
command buffer
HO(・ ES:BYTE P丁RIDI)、AL。
LOOP C0PYE
;ブロックコピー中断に対するプロセッサレジスタを楊卑てよ。
Hov AX、SEG CODEMOV DS、AX
トイ0VSEGI、AX
)10V 5EG2.AX
MOVAX、4403)I
MOVBX、l
N0VCX、10
MoVDX、0FFSE丁DN−BLjF1N丁 21H;exe
cute 1nterrupt)10v AX、4403H
)10V BX 、 I
MOVCX、16
No\’ DX、0FFSET WN、−BUFINT
21H
POP DS
POP BP
RET POPLI
DISLI ENDP
・ 京本本隼重重傘宰*傘ネ宰宰ネ本*本*宰本本***寧*本*本零本本傘傘
*京傘傘本**宰零京意***傘本傘*申RIJNE EQU
8RSTREQL’6
READSTEQU2”2
READLI PROCFAR;5yntax READIJ(rlin
e%、rstrsl
Pυ51(BP
MOV BP、5P
PUSHDS
PUSHDS
MOVBX、RLINEiBP3;zeilel−47Hot’ A
L、[BX]
MOVC5:RIJNl、AL
MOVC5:RLIN2.AL
)10VBX、R5TR[BP]
HOVCX、80;LENGTHOFS丁RIS11)cx
HoX’ DI、2[BX] ;ADDRESS
OF S丁P、IS INX
No\’AX、5EGCODE
NOVDS、AX
80v ES、AX
)10VR5EGI、AX
)10VRSEG2.AX
HOV SI、0FFSET CHARBUPυS)I
BX
PUSHCX
PUSM DI
PUSHSI
;ブロックコピー中断に対するプロセッサレジスタを組立てよ・N0VAX、4
403M
MoV BX 、 l
N0VCX、10
)10VDX、0FFSETDEFREAD工X121 H
’I(IV AX、4403H)IQV BX 、 1
)IOV CX、16
H□V DX、0FPSET READBυINT 21
)!
POP 5I
POP DX
pop cx
POP BX
ASSυMEES:N0THING
POP ES
coploR:MOVAL、DS:BYTEPTRISII;copy80by
testo BASICdata
C)IPAL、0DH
JE ENDCP
HOVES:BYTEPTR[DI]、ALLOOP C0PYR
ENDCP:
POP DS
POP BP
RET READST
READIJ ENDP
e 傘*傘寧率率寧富車**傘零傘*牟*本本*車本車重本傘率*本寧寧寧傘車
零*率車率**車本傘傘本*傘宰愈傘宰;下記ルーチンはキーボードから入力さ
れ、カーソルの位置において端末に文字を;表示する。
CHAREQLI6
CHAR5T EQU 1率2ECHOPROCFAR;
5yntax : EC)10 (char%IPLISHBP
HOV BP、5P
PUSHDS
NOV AL、l
N0VA)l、0CH
IN7 21H
NOV AH,0
POP DS
MOV BX、CHAR[HP]MOV IBX]、AX
POP BP
RET CHAR5丁
ECHOENDP
; 率傘傘*宰章車重本本車率零本率*零零寧率宰京宰ネ本率*傘零*窒率傘ネ
本率*本ネ*本市率零本牢ネ寧零寧重重ネ0BUF EQU
6STOALPST EQU 1$2S丁05CR
PROCFAR;5yntax : 5TOSCR1obufslPUSH
BP
NOVBP、5P
PL’SHDS
PLiSHES
PCISHDS
POP ES −、、、、
、。
MOV BX、OBυF[BP]MO〜’ DI、[BX
]
ADD DI、188
)fOVAX、SEGCODE
MOV DS、AX
MOVR5EGI、AX
MOX’ R5EG2.AXMOVBL、0
Nov CX、22 1copy 221ines fr
omalphanumeric memoryLESELOr’:
Pl、!SHCX
PUSHBX
PL!S)l DI
PLISHES
トIOX″AX、5EGCODE
)fOVES、AX
HOV RL工NI、BL
MOVRLIN2.BL
LESELI DEFREAD、READBυ ;execute
macr。
fsee top)
MOV SI、0FFSET CHARBIJASSU)IEES:
N0THING
POP ES
POP DI
POP BX
HOVCX、80
; BASIC10バツフアに80バイトをコピーせよ。
LESCOP:
MOV AL、BYTE PTR[SI]MOv ES:B
YTE PTR[DIJ、ALINCBL
pop cx
LOOP LESELOP
POP ES
POP DS
POP BP
RET 5TQALPST
S丁05CRENDP
; *本本車宰*本零本本本本本本本傘***傘***傘本本本ネ傘本ネ事ネ零
ネ*事*隼ネネ本*ネ事宏キ零京津傘寧ネrBUFEQU6
RECALPST EQtl 112REC5CRPROCFAR
;5yntax : 5TO5CR1ibufslPLJSHBP
ト10\’BP、5P
PtlSHAX
Pl、iSHBX
PUSHCX
Pu1se(DX
PUSH5I
Pus)I Dr
PtJSHDS
PtJSHES
PtlSt(55
PUSHDS
POP ES
MQV BX、IBUFIBP])sov Sl 、
[BXJADD Sr、188
)10VAX、5EGCODE
ト1ovDS、AX
’l0VSEG1.AX
MOV 5EG2.AX
HOVBL、0
MoVCX、22
SCHRLOP:
PUSHCX
)10V CX 、 8O
No〜’DI、0FFSETC)IAR−PTF!5CHRC:
HOVAL、ES:BYTEPTR(Sl)No〜’B’:TEPTR(Dr)
、ALLOOP 5CHRC
PUSHSI
PUSHES
)10V AX、SEG C0DEHOv ES、AX
MOV ALINI、BLMOV ALIN2.BL
PtJSHBX
SCI(RIJB DN−BtJF、賢N−BUFPOF′ B
X
pop 5s
POP ES
POP DS
POP D工
POP 5I
POP DX
pop cx
pop Bx
POP AX
POP BP
RET RECALPS丁REC5CRENDP
; ダイレフトリーサーチに対する10バツフアBtJFFERDB 12
8 DUP (71CRLF Dと 10.13.”!”PF、ADNA)I
EDB32DUPI’、1; 市***本欅本本本***零本本章*ネ率傘**
*率率牢*章傘*本本本零本II事本本本本本本本車重本傘本重市本意; スト
アし英数字スクリーンを読取るIOバッファALINI D
B ODB 0
ALIN2 DB ODw 0
FFFFH
DW 0FFFFH
KN−BUF DIJ 2DSt’ 8
0
DW EMH,−PTR
5EC+I DW ?DW
CHAR−P丁R3EG2 DK ?DEFREA
D DW IDB ?9
RLINI DB ODB 0
RLIN2 DB ODW OFFF
FH
pw OFFFFH
R):、八DBU D讐 5DW
80
D賢 ENHBυ
R5EGI DW
D賢 C)IARBυ
R5EG2 D%I′CHARRIj DB
’DB 10,13.”S”・ 零本傘*零率率車重
本*本寧傘本*率傘本本亭ネ本傘宰本****ネ本章京零傘本本車*傘電本本本
零オ**率幸本本、 10ルーチン (FNIO))IANDLE
EQυ 6OPENST EQL! 1m2PO
PEN PROCFARPUSHBP
HOv BP、5P
PUSHDS
ト10〜’AX、5EGOODE
Hov DS、AX
)10V AX、3D02H; 0PEN PORT IMOV
BX、0
MoV CX 、 0
MoV DX、0FFSET COMNAMIN7 21
H
トIO\’C5:HAND−1,AX;5AVEHANDLERE丁LIRNN
o\’ BX、AX
MOV^X、44031(
MOVCX、2
>IOV DX、0FFSET )10D、−B1.1FTN丁
218
MoVAX、4403M
)10V BX、CS:HANDJMO¥ CX、2
)10VDX、0FFSET丁RANSPMIN丁 21H
MOVAX、HANJI
POP DS
HOVBX、HANDLE[BF3
)10V[BI3.AX
POP BP
RET 0PENST
POPIJ ENDP
ト丁(IVAX、4400M
LEADx、coc−RAbζ;SシζITCHToRAtt’MODEXOR
CX、CX
’l0VBX、HANDj
IN7 21H
MC八へKP−PRT、DX
ORDX、0020H; 10 C0NTR0LXORDH、D)I
MOV AX、4401H
IN丁 21H
Hoto AX、4403H
LEA DX、CHG−TRNHov CX、0002M
M0V BX、HANDj
IN7 21M
5丁A丁I EQL’ 6INSTACKEQし’1
寧2
INT 21H
)10V AX、3EOOH[0%’BX、)IAND−、I
INT 21M
R5CHAREQU 6
R5INST EQU 1$2R5IN PROCFAR
PυSHBP
HOV BP、5P
PtJS)l DS
MOV SI、R5CHARIBPIMOV BX、(5
13
HovAX、5EGCODE
HOVDS、AX
1(OV AX 、 4402HMOV BX、CS
:HANDjNOV CX、1
トIovDX、0FFSE丁ZEICI(ENINT 21H
NOVAN、0
HOVAL、ZEICHEN
NOV AX、99
POP DS
MOV BX、R5CHAR[BP]NOV [BX]、
AX
POP BP
RET R5lN5T
R5XN ENDP
RSO)IAN EQU 8R5OUV EQL!
6R5OUST EQL+ 2傘2R5OUTP
ROCFAR
PtjSHBP
NOVBP、5P
PtjSHDS
HOVSI、R50UV[BF3
N0VDX、[SI]
)10V 51.R30HAN[BP]MOVBX、[Sl]
MOVAX、SEGCODE
MOVDS、AX
)10VZIJCHEN、DL
MOVDX、0FFSETZEICHEN)10VAX、4000H
MOV BX、CS:HANDjPOP DS
POP BP
RET R50US丁
R50L’TENDP
)IANDJ DW ’IC○MNAMDB’Goトイ1’
、0
M0D−BUF DB 2,8TRASSP)IDB3.8
ZEICHEN DB
CODE ENDS
ND
― *傘*率牢*傘富率零*富京本傘*孝傘車重*ネ市寧章*零本本京率*市
*傘傘*傘零*率重重率***宰を傘禽本; 本*傘**富宰本寧傘MICH
FITソフトウェア: fnt、asm 傘*京*寧寥宰卑;
凍宰愈本ネ*率IIネ*11傘本車*率ネ寧傘率零*本隼嘘璋重珍臆縁傘傘オ率
率零オ木零零オX震を嵩亭ロ亀本ネ傘; 寧傘傘事本*卓オ車車率車*ネネ傘零
本*ネネ傘ネ傘傘本本本本本零本本*傘本本車重*車本*本*章本章ネ傘ネ率車
1 タッチスクリーンおよびグラフィック機能を実行するアセン/リプログラム
C0DE SEGMENT PARA PUBLIC’C0DE’ASS
tjME C5:C0DE、DS:C0DE、ES:N0THING、5S:
N0THING; All code and data of the as
sembly language calls is; 1inked to
the basic code segment。
; 丁he following public declaratio
ns are recognized by; the 1inker
so t)+at the routines can be acces
sed from; outside of the object cod
e。
PUBLICFNTOUCH,0FFTOtJCH,CURS、CLS、KEY
LABEL。
GCLE、AR,GRAPH,GRAPHOFF、ALPHAPUBLICAL
PHAOFF、GCtjRS、GCUR5OFF、PENt!P、PLO丁L’
しPLOTD、MGCtJRS、DIR,5IZEPUBLICL工NETYP
E
・ 率重重1本章本*本本傘傘傘本*傘*車京率*率率本本本寧零傘本章*寧*
零本章本*章車*零*傘傘市ネ*率本傘傘1 ツチフィールドを表示する。
; この機能の呼出しは以下のように行われる。
;f口touchの呼出し l row%、 co1%、rowinc%、co
line%、rasps +5TART、ROW EQU 1
4START−COLtjMN EQU 12tJυト1−R
obζS EQU ヱONυM−COLυトイNS
EQU 8RESPONSE EQU
6STACK−5IZE EQU S宰2;コー
ド:
FNTOUCHPROCFAR
P(JSHBP
MOV BP、5P
PLjSHDS
MOV Sl、5TART−ROW[BP]NOV
AH,[SI]
HOV Sl、START−COLUMN[BP]Mov
AL、 (Sr )#IQX−C5:WORDPTRLJPPER−CORNE
R,AXHclV 51 、>ζυM−ROWS[BP]ADD
AH,(SI]
MOV Sr、NL13f−GOLLIMNSIBP)ADD
AL、[51]
MOVCS:WORDP丁RLOWEFI−CORNER,A>コHOv
SI、RESPONSE[BP]LD
0DSW
HOV C5:WORD PTRRES−LEN、AXl、0DSW
HOV C5:WORD PTR[RESjTRING]、AXMO’
l’ AX、DS
MOV C5:WORD PTR[RESJTRING+2]、AXM
o\’ AX、4403H?l0VBX、I
HOX’ CX、0FFSE丁 LEN−AlO2−CALLM
OV DX、0FFSET Al05−CALLPυSRC5
POP DS
IN丁 21M
POP DS
POP BP
AlO2−CALL:
DW 32
RESjTRING LABEL WORDDW
2 DUP(?IRES−LEN
LABEL WORDDB ’B’
DB 0
UPPERC0RNERLABEL WORDDwつ
LOWER−CORNERLABEL WORDLEN−A工05−CA
LL EQU 5−AlO2−CALLFNTOυCHENDP
; *率*傘重重傘傘傘*京**本*率本ネ零京本京車重*傘傘本***ネ傘*
本零本零宰零本**傘本傘本*京本*率本; オフタッチの呼出し
OFF丁0UCHPROCFAR
PUSHDS
PUS)I C3
POP DS
NOV AX、4403M
)10V BX 、 I
MOV CX、0FFSET LENjURNJT−OFFHOVDX
、0FFSETTURNjT−OFFIN7 21H
)10X’ AX、4403HNOV BX 、 1
)10VCX、0FFSETLEN−REPORT−’IODEMOVDX、O
FFSETREPORT−MODEIN7 21M
POP DS
RET
; command buffer
丁υRNJT−OFF:
DW 34
DW 0FFFFH
LENjURNJT−OFF EQU 5−TURNjT−OF
FREPOR丁−)10DE:
Dw 36
LEN−REPORT−トfODE EQU S−R
EPORT−MODEOFFTOυCM ENDP
; CLlr ノ呼出L 1co1%、row%)COL EQ
U 8ROW EQU 6CUR5T
EQU 2*2;コード :
CUR5PROCFAR
PUSHBP
>IOV BP、5P
PUSHDS
HoX’ Sr、C0LIBPINOV AX、[SI]
MOV C5:WORD PTRKOLONNE、AXMOV
Sl、ROW[BP]N0VAX、[51)
Mov C5:WORD PTRREIHE、AXMO\’
AX、4403)IMOVBX、I
MOV CX、?
MOV DX、0FFSE丁 LOC−CALLPLiSHC3
POP DS
IN7 21H
POP 05
POP BP
RET CUR5T
; コマンドバッファ
DB 88H
KOLONNE LABEL WORDDW ?
REIHE LABEL WORDCUR5ENDP
・ 傘**宰**本*傘車率**寧宰*車車重寧ネ*寧京**傘ネ本寧寧*零本
本孝宰**本本本本傘本本本亨牢II倉本本; 下記ルーチンは英数字スクリー
ンを削除し、スクリーンの左上にカーソルを置く。
;パラメータはこのルーチンに超越されな6t。
; CISの呼出し
CLS PROCFAR
PUSHDS
PIjSHC3
POP DS
NOVAX、C3
MoV CMDSEG 、 AXHOV AX、4403H
MOVBX、I
HOVCX、8
HO\’ DX、0FFSET BATC)!1N丁 2
1H
POP DS
ET
; コマンドバッファ
C)IDBL!F DB 16.O,’H’、16.O,’J’5A
TCHDB O,O
BυFLEN D讐 6
CMDOFF DW CMDBυFCHDSEG DW
CLS ENDP
・ 傘*傘傘*傘本傘傘車零傘本市寧傘本*ネネ宰*傘宰市零零本本本本宰ネ*
宰傘ネ京零傘章本本章市本章本零書率津市; キーラベルの呼出し
KEYLABEL PROCFARPUSHDS
Pυ5Hcs
POP DS
MOV AX、4403)!
)Iov BX 、 I
INT 21)1
pop ps
RE丁
LAB−CALL:
KEYL、ABEL ENDP; gclearの呼出し
GCLEARPROCFAR
USHDS
PUSHC3
POP DS
MOV AN、4403HMO\−BX、I
MOV CX 、 2
plQV DX、0FFSET GCL−CALLINT
21)(
HQV AX、4403)!
HovBX 、 l
N0V CX 、2
M0V DX、0FFSET GTM−CALLINT
21)(
HOV AX、4403)?
MOV BX 、 l
N0V CX、2
MoV DX、0FFSET GDF−CALLlに7
21H
POP DS
ET
: コマンドバッファ
DB 15.4
GDF−CALL :
DB 38.4
GCLEARENDP
−*亭傘車本車重零本率*零零率零本卓本傘ネ率傘*宰*寧本傘車京*事宰寧ネ
*傘傘傘*零本*本本率率*傘寧**ヰ; grpahの呼出し
GRAPHPROCFJへR
PIjSHDS
PUSHC3
POP DS
HOV AX、4403H
HOV BX、1
)10V CX 、 2
NovDX、0FFSET GRA−CALLINT 21H
POP DS
RE丁
GRA−CALL:
DB 3.4
GRAPRENDP
番 傘車宰寧ネ**寧宰牢本市傘*本本本本本−岑本**本11本*ネ本*卑宰
零ネ津*本本傘車傘牢*嵩市零車京ネ零率傘: 下記ルーチンは端末から英数字
スクリーンを肖1J除する。
; graphoRの呼出し
GRAPHOFF PROCFARPUSHDS
PtJSHC3
POP DS
HovAX、4403H
No\’ BX、I
MOVCX、2
HOV DX、0FFSET GRO,−CALLINT
21M
POP DS
RET
GRo−C,ALL:
DB 4.4
GRAPHOFF ENDP; アルファの呼出し
ALPHA PROCFARPUSHDS
PUS)l C3
POP DS
HOVAX、4403H
NOV BX 、 1
)IO\’ CX、2
HOV DX、0FFSET ALP−CALLIN7 2
1H
POP DS
RET
ALP、、−CALL:
DB 5.4
ALPHA ENDP9 *本本本本本本傘傘*寧傘**
寧寧傘*本掌*ネネ寧傘率車率傘本傘宰宰本寧零傘車****市*零傘孝宰寧零
車重寧−下記ルーチンは端末から英数字スクリーンを削除する。
;アルファオフの呼出し
ALPHAOFF PROCFARPUSHDS
PUSHC3
POP DS
MO%−’ AX、4403HMOV BX 、 l
N0V CX、2
)10VDX、0FFSETALO−CALLIN7 21H
POP DS
RET
ALO=CALLニ
ー ****傘率***本*宰本本本本章*零*本**傘*率*傘ネ本本傘本
傘本寧本本傘車ネ*寧率率*寧本牢本本傘率; 下記ルーチンはグラフィックカ
ーソルにスイッチを入れるために使用される。
8 付加的なパラメータは越えなくてもよい。
; gcursの呼出し
GCUR5PROCFAR
PUSHDS
PUSHC3
POP DS
MOVA>:、4403H
NOV BX、l
N0V 、CX、2
Nov DX、0FFSET GCO−CALL1N丁
21H
POP DS
RET
GCO−CALL:
DB 7.4
GCOR5ENDP
争零**ネ本傘零傘**傘寧傘傘傘***傘*宰本傘傘傘零零傘車率零*ネ傘ネ
本本本本傘*傘ネ本本率本車重率傘宰; gcursoffの呼出し
GCUR5OFF PROCFARPtJSHDS
PUSHC3
POP DS
HOV AX、4403H
HOV BX、I
MOV CX 、 2
HOV DX、0FFSET GCO−CALLTN丁
21)I
POP DS
RET
GCO−CALL:
DB 08.4
GCUR5OFF ENDP・ *傘率寧*傘ネネ*牢率傘宰零*
ネ寧傘車宰宰本**本**ネ本*傘本*京本本本*本寧11*本$寧率本傘宰本
本**; penupの呼出し
PENtJP PROCFARPUSHDS
PUSHC3
POP DS
)fOVAX、4403H
MOVBX、l
N0V CX 、 2
MovDX、0FFSET PEU、−CALLIN丁 21H
POP DS
RET
PEtJ−C,ALL:
DW 39.4
PENUP ENDP
−車重傘率串本本本傘本章傘零本IE率率*本零本寧***傘傘**本傘*零*
傘嘴本*市車*宰率傘寧傘傘傘本零京宰率; 下記ルーチンはグラフィックスタ
イラスを所望された位1に移動するために; このルーチンは前者の位置から整
数X%およびy%によって挿入された新し、 plotu(XX、y%)の呼
出しXKOREQU 8
YKOREQU 6
PLIJST EQU 2ネ2; コード :
PLOTLI PROCF、ARPUSHBP
NOVBP、5P
PUSHDS
MOVSI、XKOR[BP]
)10VAX、[5工]
MOVC5:WORDPTRXWER丁、AXMOV SI、YKO
R[BP]HOV AX、[SI]
MOV C5:WORD PTRYWERT、AXHOV
AN、4403)IMOV BX 、 1
’Nov CX 、 6
M0VDX、0FFSETPLU−CALLPUSHC3
POP DS
JN7 21H
POP DS
POP BP
RET PLUST
1コマンドバツフア
PLU、、、C,ALL:
DB 40.4
XWERT LABEL WORDW
YWERT LABEL klORD; 率率傘**傘車本本車車
**事**本*wX率車重車本本傘本零*本*車本*本本本ネ重重*宰*本率章
零本*本*率寧2 グラフィックスティタスの位!はスクリーンの左下がらρ1
xelで限定される。
; atylus is defined in pixels fro
m the lower 1eft of; plotdの呼出しくy%、y
%>XKORD EQU 8YKORD EQLI
6PLDST EQL; 212;コ
ード :
PLOTD PROCFAR
PυSHBP
)10\’ BP、5P
PIJSHDS
HoX″ SI、XKORD[BPIMov AX、rsI
)
MOV CS:WORD PTRXWERTり、AXMOVSf
f、YXORD[BP]
NOV AX、[SI]
Hov C5:WORD PTRXWERTり、AXトsO〜’
AX、4403)(
NOVBX、1
)10〜°CX、6
MoV DX、0FFSET PLJCALLPLJSHC3
POP DS
1N丁 21M
POP DS
POP BP
RET PLDST
; コマンドバッファ
PLD−CALL:
DB 44.4
XWERTD LABEL WORDDI%′
YWERTD LABEL WORDW
PLOTD ENDP
1 本章本卑零本本本本本傘零***宰ネオ傘零車率傘*傘本本本**ネ*市率
重重車車車喰*本傘傘傘率零傘本*傘零傘;下記ルーチンはグラフィックカーソ
ルを所望された位置に移動するために; mgcurの呼出し 1eo1%+
row%IXKORCEQU 8
rKoRc Eov 6MGC5TE19U2$2
;コード :
MGCUR8PROCFAR
PUS)I BP
MOV BP、SP
PUSHDS
HOV SI、XKORC(BPIMov AX、[SI]
MOV C3:WORD PTRXWERTC,AXMOV
Sl 、YKORC[BP]MOV AX、[SI]
)10V C5:WORD PTRYWERTC,AXMOV
AX、4403)!
MOV DX、0FFSET HGC−CALLPUSHC3
POP DS
INT 21H
POP DS
POP BP
RET M2O3丁
; コマンドバッファ
MGC,−CALL:
YWERTCLABEL WORD
−寧*本*率傘**本市ネ本**本本本本**零本宰傘車傘本傘***$ネ車l
I零本本*本零零本車重傘本率庫本重重宰; dlrの呼出しくdir%I
DIRK EQl、! 6DIR5T
EQU l宰2;コード :
DIRPROCFAR
PtJSHBP
NOV BP、5P
PtJSHDS
NOVSI、DIRW[BP]
NOV AX、[SI]
HOV C5:WORD PTRWDxR,AXNOVAN、440
3)I
No\’BX、l
N0VCX、4
MQV DX、0FFSET DIR−CALLPL!SHC3
POF’ DS
INI’ 21H
POP DS
POF′ BP
RET DIR5T
DIR−CALL:
DB 30.4
WDIRLABEL WORD
會 本本本本傘率率重重**率本本串車ネ本**本本*ネ本ネ率ψ**宰傘牢零
傘**傘傘傘堆京宰孝傘傘車ネ零傘本孝ネ; 下記ルーチンはoixel 12
8のユニットにおいてグラフィックテキストのサイズ; を限定されるなめに使
用される。
;サイズの呼出1jx%l)・別
X5IZE EQU 8YSIZE EQU
6SIZST EQLI 212; コード:
5IZE PROCFAR
PUSHBP
MOVBP、5P
PUSH’ DS
MOV 51.XSIZE(BP)MOVAX、[SI]
HOVC5:WORDPTRXDIM、AXHOV SI、YSIZ
E[BP]NOV AX、[Sr1
M0VCS:WORDPTRYDIM、AXMOV AX、4403
M
トl0vBx、ユ
MOV CX 、 5
MoV DX、0FFSET 5XZ−CALLPl、!SOC3
POP DS
INT 21H
POP DS
POP BP
RET 5IZST
512−CALL:
DB 29.4
XDIHLABEL WORD
W
YDIM LABEL WORDD%1′
5IZE ENDP
LINIE EQU 6IJNS丁 EQU
1傘2LINE丁YPE PROCFARP
LISHBP
)10VBP、5P
PL;SRDS
MOV 51.LINIE[BP]HOV AX、[Sr
1
M0V C3:WORD PTRWLJN、AXMOV
AX、4403H
)IQV BX 、 1
sov cx、4
MoV DX、0FFSET LIN−CALLPUSHC3
POP DS
INT 21H
POP DS
POP BP
RET LINST
IJN−CALL:
DB 18.4
WLIN LABEL WORDD−9
LINETYPE ENDP; 寧傘車車11*宰傘宰*傘*寧
率*本本傘零本**傘**京本ネ*ネ零本本本宰京京*本本率零零本本京率ネ寧
本本*ネC0DE ENDS
ND
; 車京****零傘**傘零本市宰ネ亨*本本傘零重重本本宰本*率本車重本
本零**傘*章本本率***ネ*傘宰*ネE本本市率*本本本Ik本本傘本本零
*本*車*璋練本率率零本率本本本車本本傘本零零本本本本率率*零*本本率零
*本ネ: 、 dos Funktionen
B、MichelE1章傘本市本**キ*率本率市**零率車重本率車本重重
本ネ本本本本**本本書廖本率零本本亭率京本章率率*零本寧readJbd−
echo rnacro ;halt Zeichen vo
nrnov ah、l ;keyboa
rd und zeigtjr+L 33
;es auf dem Bildschirmen
drn ;an −Cergi
bt int 23Hdisplay、−char rnaero c
haracter;zeigt Zeichen auf deanmov
di、character ;BildschirmmOV
ah*2
int 33
endm
auxjnput macro ;wart
et auf Zeichen vomlIIov ah
、03Haux 1nput dev und gibtint
21Hdas Zsichen in alndm
auy、output macro character;5en
det das Zeichen inmov di、c
haracter ;di an das aux outpu
tn+ov ah、04H;deviceint
21H
endm
print−char rnacro charact、er;prin
tet das Zeichenmov di、character
;in DL auf demmov ah、05
;5tandard printerint 21H
endm
dir−con−、io macro swj、tch ;wenn
ein Zeiehenmov di、5w1tch ;e
ingetippt wurde istmov ah、06H;da
s Zero flag Ound 5aint 21H;Zeic
hen in AL 5onst 1stendrn
;das Zero Flag 1readJbd macr
o ;wartet auf Zeichen ur+dmov
ah、08H;gibt es in ALint
21H
endm
display macro string ;0ffset
adresse in DX vonrnov dx、offset
string;DS ende mit trmov ah、09
H
int 21H
NDM
select−disk macro disk Hdrive A
、B、C、、、。
mov di、disk[−653mov ah、OEM
int 21H
endm
open macro fcb ;AL vird
Owenn das filemov dx、offset、fc
b ;gefunden wurdemov ah+0FH
int 21H
endm
close macro febmov dx、offs
et、 febmov ah、10H
int 21H
endm
search−first macro、fcb Hfcb ist
einmov dx、offset、fcb ;ungeoeffn
etermov ah、11)1 ;Filecontrol
block:int 21Hfcb db 2.”?????”en
dm Hdb 25 dup (?1mov dx、
offset、fcb Hget、−AL=FFHein fcbmov
ah、12H;wird bei der diskint 21
)1 ;transfer adresseendm
; geschriebenaetJta macro
buffer ;mov dx、offset、buffermov
ah、IAH
1nt 21H
endm
get−date macro ;CX=Jahrmov
ILh、2AH;DH=Monat 1−12int 21HHD
L=Tag 11−31end ;
AL=Wochentag O=Sonntagget−time m
acro ;CH=Stunde O−23movah、2CH;C
L=MinutenO−59int 21H;DH=Sekunde
nnc1m
get disk transfer addressmov ab
+2AH
int 21M
es:bx hat nun die 1aufende DMAtransf
er addressegetJfree macro
HO=Default 1=Amov ah、36H;bx : An
zahl Einheitenmov dl、drive ;
ax : Byt@s per 5ectorint 21HHax
:5ectoren pro Einheitndm
parse macro string、rcbmov
si、offset stringmov di、offse
t febpush es
push ds
pop as
mov al+OFM
mov ah、29H
1nt 21F+
pop es
セndm
アベンディクλG
50 ! KINETIK B、HICHEL90 ! 5TORE
”Autost、KSYS”120 COH5)fORT 51(80)、52
(80)、53i80)、T(20)、T1(41)、T2(41+。
L(20)、B(20)、A(5,51125COM 5HORT C115)
、W(201,W115>、E(20)130 COM TIS[65]、EI
S[201,E2S[20]、D$[20]、DI$[1]、D2゜D3S[2
0] 、D4$[20] 、B11[8]2005)IORT YO,Yl、T
2.T3.XO,Xi、X2.X3.Ll、L2.X4.X5.X6゜X7.T
4.T5.T6.T7
210 DIM E3S[30]、E4$[30]、E5$[60J220 D
IM )IIS[60]
250 ON ERRORGOTO260255IF G(81=I THEN
4000260 CLEAR@ crs>=1@ D2:10 @ C(9)
=O@ C461=l @ C(15)=0@ GOSUB 2651!’ G
OTO2952fiS DISP ”*傘率率*寧零本傘ネ零隼傘本ネ車隼
*零雄零京寧*傘傘零車珍摩零1127S DISP ”市傘零 Mie
haelis 定数 ・率重重゛。
280 DISP ”111 B、Michel バージ
ョン 本*” @ DISp ”+に重重1986年11月5日
車重重゛
290 1)I5p ”本本寧重重*傘本本*#s本本本本**1s*零*本
*傘傘**車重本本” @ RETIJRN295 FORZ:I To
414! Tl(1)=Ot’ T2(X)=O@ NEXT 1297 FO
R1,I To 20 @ T(I)=O@ L(I)=O@ B(I)=O@
W(Il=OW(Il=O@Em:O@ NEXT 1
300 ! 重重ネW アレイ傘ネ
305 W(11=50 @ W(2)=5 @ W(3):2.5
@ W(41=100 @ W(5)=1307 ! MAX、
Volua+en310 W(6)=50 @ W(71=5 @
W(8):2.5 @ W(9)=100 @ W(101=13
12 4 Max、 Fuellung315 W(11)A1 @
W(12)=、5 @ W(13)=、25 @ W(14)=1 8
W(15)=131フ:MengeproTastendruck320
$(+161=1 @ kII71=、l @ K(181=、05 @ W(
191=1 !W(20)=、01
322 ! Gsschwindigkeit325 W1111=、4
@ W1121=、05 @ W1f31=、05 @ W1141=6000
0 @W1t5)=60
327 ! 5topf1. Menren und Anz、
υm1. und Be5chl。
330 C(11=o e C121=OI! C131=O@C14)=O@
C151=0332 ! Counter
340 ! 11丁−アレイ本本ネ342 T(11−548@ Ti21
=552 @ T13神、1 @ 1141=1509 丁+5)、=20@
T[61=4 @ 丁171=10344 : Wellsnl、 1 un
d 2 Ber、] 、Enzym und 5ubstrat−Konz。
、Anz、Pun1;te Anfangs−und Endzeit B1
346 TlB+=3 t’ 丁191=1 @ T1101=580 !
T110=580 e 丁+121=416C丁(131:4204! T11
4)=3034ε ! Anz、Rap、、Datenforamt、Wel
lenlaengen 1 und 2Norm、、Wellenl、1
und2Ber、2.May、、5ubstr。
350 丁(151=27.6 e 丁(161=60 e T(171ニ
ー16.3 @ 7’(181!−43352: Epsilon 5u
bstrat Bereich 1 * Epsilon 5ubs
tr。
Bereich 2 und Delta Epsilon 1 u
nd 2354 丁[ISN:1 @ T1201=1 @ T(O1
=1=8+356 : Art der Re1he 〕
Zus、 Repetitionen bei Pon■
s
358 丁IS=”、、、、、、、、、、、、、、、、” @ Tl5=TI
S&TIS&TIS&Tl5359 ! 率**B−アレイネ書車車*率*36
0 B+1)=1 @ B(21=1 @ B(31=、5 @ B(4
)=O@ B(5)=、5362 ! Ha>; zul、5tdev、
/ 5tdev Einzelmsg / IE] im As5ay
/[EJauto / fE]im As5ay Vorwah136
4 B(61=10 @ B(71=、536G ! rs] tat
sachlich / As5a>−Volumen3CI!t B(13
+=、s e B+121!、5 @ B+13)=1 @ B(141
=−1370: 11 : Intervall und 12 :
Integrationszeit、 13/14Mes+aberei
ch 2
376:L(11BISLIIO)=MESSWELLENL、AENGEN3
77 FORI=l To 20 @ LIIl+1 @ NEXT 1
378 EISz−、、、、、、、、、、、、、、、、、” @ E2S+”C
ytochrome c”380 D4S=”KAONDOOOO°’ 1!
D1$=”A” @ D2=10386 ! 本零市傘110ットティフォ
ルトC碌本率率388 Arl、1)=O@ All、2)=100 @
All、31=20 @ A(1,4)=O! TN翫・s、 Zei
t
390 A(2,11!−,01・ A(2,21=、OOl @ A(
2,3)!=、ool @ A(2,41=OI Delta OD
Plot392 A(3,11ニー、1 @ A(3,21=1.5
@ A43,3+=、2 e AT3.41=、1 !OD Plot
39g 4 *@*プロットディフォルトの終了1本400 D25PのF
LIP @ DISP ”Please enter the date an
d thename or the diskette”401 DffSP″
eg、 30.0kt、 86.Michel’402 LIISP ”T
he two 1nputs have to be se−parated
by acomma”41NPIjT D35.B9S! FLIP403
ON ERROR00丁0 410404 GO5tJI’l 2000
e GOTO3900410DISP″File ;Ds;” not f
ound” @ DISP″Please 5elect:” @ ox E
RRORGOTO4000412DISP ”1 = ness read”
! DISP ”2 = rename” @ DISP ”3 =new D
irectory”
414 DISP ”4 = initiallsing” @
DXSP ”5 = show Director■
″@ DISP ”9 = Typing error”420 INPUT
B2
422 rF B2<20RB2>5 THEN 400424 IF
H2=3 THEN GOSUB 2200 @ GOTO390
0426DISP ”Please enter Drive (0/1/2/
3/410=:D7001=:D701 4=:D710” @ INPUT8
1430 IF H2=4 丁HEN 1650435 ON E
RRORGOTO450@ HIS=’:D700:D701:D702:D
?03:0710”・ As=HtstHt率5+1.81本5÷51440
1F H2=5 THEN CLEAR’@ DISP ”Pres
s l+contl” @ CAT AS・ PAUSE
442 2F H2=+5 丁HEK 412443 ON ERROR
GOTO400444IF H2=2 丁HEN VOLυME As
Is B9S I! GOTO402448BEEP @ GOTO
400
4502F ERRN=1307HEN DISP ”Please chee
k the Drive ” eDISP AS @ BEEP
455 DISP ”11$111 工5− **市****” @
DISP ”率**本車重”;ERRN;” $16111” 4’
BEEP460 GOTO400
500ON ERROR00丁0 9000 @ CLEAR1′*本傘*
本メスパラメータメニュー1 寧**寧”510 DISP EIS;T
AB(20);T(31;”nM IE+” @ DISPE2S;TAB12
01;T141?”M181”515 DISP ”(Slmax in Am
5say”;TAB(22);T114):”M”520 DISP ”Ran
ge 1 from :”;T(11;’ to”;T121;’°nm”
@ DISP”Range 2 from :”;T1121;”toIl;
τ11η;″nm”525 DISP ”ZnL ref、form:”
HT(101;″ to″;丁(11);”nm” eDISP ”Epsil
on Range 1 and Rartge 2″530 DISP
”5ubstrate:;TAB(12);T(15);丁AB(1g1;
T1161;”l/mMcm’
53S DISP ”Product ?”;丁AB(12);丁(1
5)十丁+17);TAB(181;Tl16)+T1181;”1/mW c
m’
540 DISP No、 of Po1nts”HTAB+241;T(5)
I! DISP ”No、 ofRepetitons”;TAB(24)7
丁(8);T(20)550 ON KE1″i 1.”Exit” GOTO
4000552ON KEYe 2.Pa1nts” GOTO840554O
N KEYe 3.”Ran(e” GOTO760556ON KEYe 4
.”Page2” GOTO600558ON KEY含5.”Cone、”
GOTo 880560 ON KEYe 6.”NameE” GOTo
690562 ON KEY倉?、”(Slmax” GOTO890564
ON KEYa 8.”Epsilon” GOTO700566KEY LA
BEL @ GOTO550600CLEAR1” DISP ”””’ メス
B5メyメニュー2 ***$”605 DISP ”Durati
ons:”610 DISP ”at [S]max : ”;Ti6);
” to”;T+71H”see” e DISPloat [5] tnin
: ”;B(13);l1to”;Bi12);’°see”615 DI
SP ”Max 5tandarddev、Av。;Br1);” Ez
Msg”;B121;”%” @DISP ”Data form: ”;
T(9);” ”;620 TF T1191=I THEN DIIS
P ”Georn、Row”622 IF T(191=2 THEN DI
SP ”Arithm、Row”624 IF T1131ayEN、DI
SP ”Mixed Row’。
6261F T[19)=47HEN DISP ”Reciprocal R
os:”630 DISP ”Y−Axis TN vs、 is] Pl
ot :” @ DISP ATl、11;”to”;A11.21;”d”
;A11,31;”do”;A(1,41635rlrsP ”Y−Axis
delta OD vs Time Plot:ll @ DISP
Ai2.11.’“ to’“;i2,21;”d”;A!2.31;”do”
HA+2.41640 DISP ”)’−Axis OD vs
Time Plot:” ! DISP Al1.11;”to”;A1
3.21;”d”;A13,31;”do“”、A13.41670 ON K
EYa 1.”Row” GOTO995672ON KEYa 2.”
5tdav” GOTO9206740:コ KE1’# 3.”Durat
” GOTO740676ON KEYa 4.”Pagel” GOT
O500678ON KEYa 5.”TN Sea” GOTO960
680ON KEYa 6.”OD Sea” GOTO940682ON
ドEY# 7.QD Sca” GOTO980684ON KE
’# 8.”Dform” GOTo 720686 KEY LABE
L、@ GOTO670690CLEARS DISP ”Enter nam
e of enzyme″@ FLIP @ INPυTE1$
695 0XSP ”Enter name of 5ubstrat
e” @ INPUT E2S@ FLIP fGOTO500
TOOCLEAR! DISP ’°Enter the extic
tion coefficient ofsubstrate and pr
oduct at”702 DISP 丁f11:” to ”;丁f
21;” nm in fl/m\I crnl” (!’ I
mPL丁
丁!151.Hle 71171=+(]−Ti151704 DISP ”
Enter the extictjor+ coeffiziert o
f 5ubstrateand product at”
706 DISP丁!12);” to ”;T(131;’° nm
in (1/+nHcml” @INPUT T1161.Hle T(18
神H1−7(161@ GOTO500720IF 丁f91=I THEN
T191:2 @ GOTO600725IF T(91:2 THEN
T(91=3 @ GOTO600ELSE T(91:1 @ GOTO74
0CLE、ARP DISP ”Enter duration at
[S]max、”; @ INPL’T丁
【6)9丁171
741 DISP ”Enter duration at LS)rni
n、”;@’ INPUTBlス31.B(Ll+
742 DISP ”Enter measur 1nterval and
1nte−grationtime”;@ LNPt+丁 L2 、 L17
44IFLl)L20RLINor)、1#OORL2MOD、1≠0THEN
GOTO745IF B1131>B1141 T)IEN GOTO7
4’1746 IF 7171/L2>8+3 0RT171 HOD
L2#OTHEN 00丁0 740147 IF 7+7)/12>
40 AND 丁19)>1 THEN GOTO7407501F
B+141>T171 THEN GOTO740755B1151=Bi
)31 @ B(161:T(7)@ B1111=L1 @ B1121
=L2 @GO5U’B 5100 @ GO5UB 5200 @
GOTO600760CLEAR@ DISP ”Er+ter wave
length Range 1”;@ INPL!1丁11+、T12)@ G
O5tJB 4800800 DISP ”Enter wavele
ngth range 2°’;e INPυ丁T(121,T1131
@ GO3tJB 4800810 DISP ”Enter Wavelen
gth Range for int、reference”H820INP
UT TfIOl、T(111@ GO5UB 4800 @ GOT
O500840CLEAR@ DISP ”Enter Number or
Po1nts”;@ INPUT 丁(5)842 DISP ”Ente
r number of repetitions and addition
alrepeLions at [S]min、”H@ INPUT T
(81,T1201845 1F 7ζ5]ネ7(81>コ00 0RT18
ン>100R丁+5)>40 0R丁151(OOF!T1B+(2THE?;
GOTO840850GOTO500
880CLE、AR@ DISP ”Enter cone、of enzym
e lin nil andsubstrate (in H)”:8
85 INPUT T(3+、丁(41! GOTO500890CLEA
R@DISP”Maximalsubstrataconzentration
inAssay tin Ml’°;@ INPUT T1141900 7
F T1141<T[4>/15 0R丁1141>7(4)/4 THE
N GOTO890920GO5UB5000@GOTO500920CLE
AR@ DISP ”Enter the max、5tandarddevi
ation ofthe averatze in %+−、@ INPtJ
T B111925 DxSP ”Enter the max、 nonll
nearity of singlemeasursm@nts tn %
II、e 工NPυT B+21930 IF Bil+<1 0RBl】
l>100 0RB(21<1 0RB(21>100 丁HENGO丁0
920 ELSE GOTO600940CLE、AR@ DISP ”E
nter Y−min+ Y−max、delta Yand delta)
’o for OD Plot”
945 2NPυ丁 A(3,1+、A13,2)、Al1.31.A13.4
)947 1F Al1.21<Al1.1)ORA13.31>Al1.2l
−A13,1+ 0RA(3,41<O丁HEN GOTO940950G
O5UB 5100 @ GOTO6009GOCLEARe D’lSP
”Enter Y−win、 1’−max、 delta Y
and deltaYo for vPlot”:
9651NPUTA11,11.A(1,21,A(1,31,A11.419
6] IF A(1,21<A(1,1) ORA(1,3ン>A(1,2
+−A(1,110RAll、41(OTHEN GOTO960970GO
5L!B 5000 @ GOTO600980CLEAR! DISP ”
Enter Y−min、Y−wax、delta Y and deltaY
o forOD Plot”;
985 1NPυ丁 A12,11.A(2,2)、Al2.31.A(2,4
19871F A12.21<A(2,il ORA12,3+>A12.
2l−A12.11 0RA(2,41<OTHIJ GOTO980990
GO5LiB 5200 @ GOTO6009951F 丁+191=I
THEN 丁+191d ! GOTO6009961F 丁(191!
2 丁HEN T(ts++=3 @ GOTO6009971F 71
191=3 丁)IEN T目91=−1@ 00丁0 600 ELSE
T1191=1800丁0 600
1000 ! III京ネ*11* シリンジP 牢率*啼率寧1010
CLEAR@ Dヱ5p ”**ネ本シリンジハラメータメニ、;h−宰*噛
*” @I 5P
1030 DISP ” Volume Fill Mpk m
l/see”1040 DISP ”5yrl:”;TABr81;Wil
l:丁AB(141;K[61;TAB(201;W(111;TAB+261
;%1′+1611045 DISP ”5yr2:”;丁AB(81;W
(21;TAB[141;W171;丁AB+201;W1121:丁AB+2
61;W11711050 DISP 5yr3:”;TABlBl;W1
31;TAB114):W181HTAB1201;W1131.TAB+26
1;W(1811055DTSP ”Tray:”HTA引81;W141;
TABt141;W+91;丁AB!201;ド(141i↑AB(26)i眉
1911060 DISP″Ne@d:;TAB+81;W15);TAB(1
41FW(101;TAB+201;賢1151;TA引26);W12011
0フODISP ’5topf1.”:Wl(11;Kl(21;Kjr3)
107S DISP ”AeCl”1.′:W1151:” 5chrr ”;
W11411080 DISP Volume per As5ay”;B17
1;”ml”1150 ON KEY虚 1.”Exit″ 00丁0 4
0002360 ON KES″# 2.”5tpfl” GOTO13501
170ON KE1’h 3.”Accel” 00丁0 130011
80 ON KEX’= 4.”Needle” GOTo 14801190
ON KE1’l 5.”Syr、1” GOTO14001200ON K
EYa 6.”Syr、2″GOTO14201210ON KEYa 7
.”Syr、3°’ 00丁014401220 08 KEYa 8.
”Tray” GOTO14601230KEYLABEL @ GOTO1
1501300CLEAR@ DISP ”Enter Accelerati
on for stopppedflow:”;Wl151H” neu”;@
INPUT Wl(511310CLEARL’ DISP ”Enter
No、of cycles formtopppedF3ow:’°;W114
);” neu”;@ Iド?υ7Wl1411320 GOTO1000
1350 CLE、AR@ DISP ”Enter the amounts
for 5topp(−d Flowforrner :”;WHl 1:
W1+21;Ml(31;”ml”1355 DISP ” nes< ”;@
INPUT lq’1111.W1121.Wl131@Br71=W1i1
1+W1(21+WIT311360 GOTO1000
1400CLEAR! DISP ”Enter parameter for
syringel : ” +’l 11 :b +6 ) ;Sv 111
1 ;k I 161 ;” new” ;1410 INPUT 警+11
.W161.W+11)、賢1161@ 00丁0 10001420 CL
EAR@ DISP ”Enter parame、ter for syri
nge2”、W+21HW171;W(121;Wll)I ;” ness
”H1430XNPtJT W(21,W(7)、V(12Lb’(171!
GOTO10001440CLEAR! DISP ”Enter param
eter forsyringe3、++1%t131iW1g1iW1131
iW1181;’°nes:”H1450INPI;丁 W131.W2B5.
W113+、W1181!’ 00丁0 10001460 CLEARe
DISP ”Enter parameters for Tray:′°l噴
41;に’191;W(141;W(191;” new”;1470 IN
PUT Si’+41.W2B5.W(141,W1191! GOTO10
001480CLEAR! DISP IHEnter parameters
for needle:”、W(51;W+101;W(151;W1201
;” new”;1490 INPUT W[51,W(101,W1151
.W+201! GOTO10003600CLEAR6MSP ”Ent@
r drive: O=’:D700’ 1=’:D7θl’and4=:D7
10”’:@ INPUT H11602IF H1=OTHEN )IA
ss 5丁0RAGE Is ”:D?OO” ! GOTO1(i
051604 IF )ICI THEN MASS 5丁0RAG
E Is ”:H7O1” ELSE MASSSTORAGE XS
”:D710°11605 CAT @ DISP Enter filen
ame、to erase or(PACK/lNlTl″
1610’INPtjT Hls
16201P H18=”PACK” THEN PACK @ GOTO40
001625IF HIS=”INIT” THEN GOTO1650163
01F tus=”N” THEN 00丁0 40001635 1F
HIS=”°9 THEN GOTO40001640PLIRGE H
ls @ GOTO16101650IF )!1=o THEN DISP
”5ysten+disk rnust not beinitialized
” @ WAIT 2000 @ GOTO4000165フ DISP ”
Are you 5ure to erase all data
on thisdiskette (J/Nl”;@ INPUT
H1s1658 IF 8188”J” T)IEN 40001660 DI
SP ”Enter nevname of diskette” ! INP
UT 82381本5+51
1675 1NZ丁IALIZE H2S、AS、201690 GO5UB
2200 1! GOTO40002000CLEARe DISP
”丁he active Data diskette is
: ” !DISP ”****率 ”;H9S;” ***
* * H2O10DISP″It contains data about
: ”2025 DS=’°Inhalt、”&B9S2030
ASSIGN! 1 丁ODS2040 ON ERROR00丁0
20802050 READ# 1 ; HISI DISP H1s20
60 GOTO2050
20εOASSIGN* 1 丁0 *2090RE丁URN
2200 DS=”Inhalt、”&B9S @ ON ERRORGOTO
2205@ PURGE DS2205 ON ERRORGOTO900
0@ CREATE DS、2,2562210 ASSIGN# I
To Di2220 ON ERRORGOTO22902230CLEAR
@ MSP”Please enter max 、 121ines ofc
omment ″ @ I=1
22501)rsP ”Zeile:”;I @ FLIP @ INPLIT
HISI FLIP2255 IF LEN(HISI:OORLENI
HISI>32 0R912丁1(EN 22902260 PRINT#
1 ; Hls @ CI+1 ! GOTO2250229
0ON ERRORGOTO90002295ASSION謔I Toネ
2390 RE丁υRN
23950:: ERRORGOTO40003900DS:”DEFAULT
、KSYS’。
3905 ON ERROR00丁0 40003910 00丁0 44
10
4000 4 本市メインメニュー参事4020 CLEARe GO5tJ
B 2654100 DISP ”Please 5elect a 5oft
key:”41100ISP ”all other kays 5top t
he program”4130 ON ERRORGOTO90004150
ON KEYI 1.”Km Msg” GOTO42504160ON KE
Yi 2.Dacorn” GOTO43204170ON KEYI 3
.”Ready” 00丁0 44004180 ON KEYj 4.”M
easPa” GOTO5004190ON KEYI 5.”Dirse
t” (30丁0 16004200 ON KEYj ]、”Sto
Va” GOTO45004210ON KEYI6.”Te5t M″G
OTO43404220ON KEYI 8.”!>−rinPa″ 00
丁0 10004230 KE’; LABEL @ GOTO4230425
0CLEARe DISP ”*傘寧傘本 パ5)’−9’j−x、9
寧*寧宰v4270 GO5LiB 4600 ! ASSIGN42
80 GO5L!B 5000 e GO5LJB 510041 GO5LI
B 5200 ! GENERATE’PLO丁5
4290 ON ERRORGOTO4295@ CREATE ”TEMPl
、KSSoS”、10.768 @CREA丁EI′丁EMP、KSYS”、4
0,76842955ECLIRE ”TEHPl、KS1’S”、”AA”、
3 @ 5ECURE”TEMP、KSYS″、”AA”、34300RE)f
4306 ON ERRORGOTo 4310 @ 14307 FOR
IP+1 To 99 e I 1140 ON 丁IMER會
NEXT4310 ON ERRORGOTO90004311DISP
″傘傘傘傘傘傘宰率傘*傘*本*宰零傘**率宰本傘*車重率****傘″ @
DISP”**傘率重重傘 アプリケージ@7 *零傘率1に傘
*” @ D2=Q4332 IF 丁(9C1丁HEN E3g=
”KIN 2.KSYS” @ DISP ”Enzyzescree
ning” @ D2!114:!13 IF T191=2 丁H
EN E3S=”KIN 1.にS1’S” +1 DISP ”F
irstordercor+st”@D2=2
4314 1F 丁(91=3 丁HEN E3S=”KINIに、KS
NS” ! DISP ”Inhibition4313 IF 丁
19)=2 丁HEN E3S=”’KIN 1.KSYS” @
DISP ”Firstorder const″I!i D2+=2431
4 IF T19+=4 THEN E3$=”KININ、KSYS” !
DISP ”Inhibitionscreening” @ D2=3
4315 IF T19+=47HEN E3S=”KINSυ、KSYS”
@ MSP ”5ubstratescreeninf” @ D2=4
4316 1F 丁191!5 7HEN E38=”1CINTWO,K
SYS” @ DTSP ”丁w。
5ubstrate determination” @ D2=54317
MSP″is 1oaded” @ DNSP @ DISP ”Please
・va、1tappro=:、 205econds”4318 IF C11
5):10丁HEN DISP″***宰^5SAYOHATEの初期設定II
I” e Cl4AIN ”ASINXT、KSYS”4319 D2=O@
CHAIN E3S4320 CLEAR! DISP ″The
Datatransferprogram isoaded
4330 C1(AIN ”DACO’1.KSYS″4340 CLEARI
P DISP ”The Application Testmeasure”
4360 GO5L’D 4600 ! ASSIGN4370 GO
5UB 5000 @ GO5UB 5100 @ GO5UB
5200 ! GENERA丁EPLO1”5
4380 D2=O@ E3S=”KONZMSG、KSYS” !
00丁0 43174400 CLEAR@ CAT ”、KSYS”4405
DISP ”Please enter the Filename” @
INPUT DSt’DigDS&−KSl”S”
441OASSIGN! I To DS4412 ON ERRORG
OTO44504420READ# 1 ; Dig、Ml、D4S、D
4S、EIS、H2S、丁IS、TO,LO,B(LAt 、 +、vロ、ド1
()
4430 ASSIGN! 1 丁o * ・ ON ERROR
GOTO90004440GO5UB 5000 e 0O5UB 5100
@ GO5UB 52004445 GOTQ 4000
5450 D工sF°°O1d File : Please updat
e 5yrin!2e Parameters”4490 00丁0 4−13
0
4500 CLEAR・CAT “’、KSYS”4505 DISP ”
Please enter the Filenarne” @ INPUT
DS4507 DS=DS&−KSYS”
4510 GOSUB 4600 ! ASSIGN4520 ON
ERRORGOTO45654560CREATE 05,5,25645
65 ON ERRORGOTO9000@ ASSIGNA 1
丁o DS4570 PRIN丁、’ 1 ; Dig、D2.D3
S、D4S、EIS、E2S、TIS、T(1,L(l、B(1゜At、l、K
l l、Wll 1
4580 ASSIGNA I TO本4590 GOTO4000
4600! 重重本本指定 傘本章4602 GOSUB 4800
4605 FORI=I To 10 @ LIIl=178 @
NEXT I e 11=04610 FOR1=T111 T
o Tl21 5TEP 24620 11=11+1 1? LI11
1=14630 NEXT I
4640 FoRI=Tl]21 To T1131 5TEP 24
650 FORJ=3 To 10 (’ IF I=LfJl
丁HEN GOTO46654Fi55 IF T1=10 THEN
BEEP @ DISP ”ZU GRO5SEPWELLENL
AENGENBEREIC)(” @ GOTO500466011;11
÷1 @ LI111=I4665 NEXT I
4670 FORI=T1101 To 820 5TEP 2467
2 FORJ=I To 10 @ IF I=L(JI TH
EN GOTo 46804675 11=11+1 e L(11)
=14677 IF l1=10 Tl(EN GOTO469046
80NEXT I
4690H2S=””@RED
4700 IF Tl31<、0001 0RT131)10000 0R
T141<、0(N OR丁+41>1000007HEN )+1=39
H2=4 @ GOSUB 47954705 1F Tl51<2 0R
丁+51>40 0RT18に2 0R丁+81>10 0RTf51*Tl8
1>200 THEN HC5@ )12=8 @ GO3L!B 4795
4710 1F TN9+>3 ORT191<1 0RTl191<1 0
R丁f191>5 THENH1=9 @ l2=19 @ GOSUB
47954715 IF 丁(14)>T(41150RT(141’、
T(41/100 THEN Hl:14 @H2=O@ GOStjB
47954720 1F T461<、20RT(6)>1000R丁+7
)<T161+] ORTi71)2000THEN H1=6 @ H2ニ
ア @ GOStjB 47954725 IF T115)<、00
1 0RT1151)1000 0RT(16)<、001 0RTi】61>
1000 丁HEN l1=15 ・ l2=16 @’ GOSU
B 47954730IFT+171<−1000RT117))1000R
T(181<−100OR丁1181>100 THEN l1=17 @
l2=18 @ GOSUB 4795J735 IF Bfl)<l
ORB111>1000RB(21<1 0RB(21>100 THENl(
1=21 @ l2=22 @ GOStjB 47954750 I
F B+71<、1 0RB(71>10 THEN H1=2? @
l2=28 @ GO5UB4760 1F B(フ1ン<、2 0RB
口1r>20 oRB+121<Bflll 0RBH2D100 TH
EN )+1=31 @ l2=32 @ GOSUB 47954
765 IF B1131<、2 0RB+131>n114)ORB+14
1)T171 0RBt341>1000 THEN l1=33 @ H2
=7 @ GO5LiB 47954780 IF H2S=’“F”
THEN BEEP @ WAIT 2000 @ GOTO4
0004790RETLIRN
47951F H】<20 THEN HIS=”T” ELSE
Hl:Hl−20@ H2=H2−204796IF Hl<20 TH
EN HIS=”B” ELSE l1=81−20 @ H2=H
2−20@HIS=”W”
4797 1F H2S=” ” THEN CLEAR@ H2S=”F
’”4798 BEEP & DISP ”Variables ”;HIS;
Ml;’° or ”;H2;”areinvalid”
4799 WAIT 2000 @ RETURN4800 REM
重重本 試験゛本章4810 1F Til+>8200RTll l<18
00R丁+11 HOD 2607HENTll)+200 @ 0O
TO49004815IF Tl2)>820 0R丁+21<180 0R
丁121 HOD 2#O丁HENT121=200 @ GOTO4
90048201F T(101>8200R丁Cl0)<180 0RTII
O)MOD 2:o THE:、T(30ン=200 @ GOTO490
048251F 丁+111>820 0RTl1ll<180 0RTl1
ll HOD 2=o THENTlll)=200 ! GOTO49
004830IF T1121>8200R丁[121<1800RT1121
MOD 2#OTHENT(12)=200 @ GOTO4900483
5IF Ti131>820 0RT1131<1800RT(131MOD
2−to THENT1131=200 ! GOTO49004850IF
(T121−T(11+T(11)−T(101+7+131−T(12目72
+3>10 THENDrSP ”Zuviele Dioden ”
@ BEEF’ 9 GOTO5004880RETURN
4900 BEEP e DISP ”1nvalid Wavelen
gths” ! WAIT 200C+ @GOTO500
5000RE)1 車率’70ットV VS [5]”””5005
DS=”PFTN、KSYS”5010 YO=、A11.11 @ Y1=A
11.21 @ Y2=A(1,318Y3=、A11.415020 xo=
o @ X1=T(1−11$1.05 @ X2=、02 @ x3=o
@ IF 丁1141>、2THEN X2=、1
5030 IF 丁114)>、4 THEN X2=、25035 I
F T1141>2 THEN X2=15040 1F T1141>4
丁HEN X2=25042 IF T1141>207)IEN X
2=55044 1F T(141>507HEN X2=105046 I
F 丁(141>100 THEN X2=505048 1F T(141>
500 THEN X2=5005050 E3S=E2S&” (uMl”
5060 E4S=”Turnovernu+nber (1/5eal”5
090 GOSUB 6000 @ RETURN5100 REM IF$
117D7トOD vS 711$115105 DS=”PFOD、KSl
”S”5110 YO=A13+11 e Y1=A13,21 @
)−2=A13.31 @ Y3=A+3.415120 X0=O@
X1=T171 8 X2=2 41 X3=O@ IF T171
>15 THENx2=5
5130 IF T171)50 丁HEN X2=105140
E3S=”Time (sec)”5150 E4S=”Absorptio
n”5190 GOSUB 6000 @ RETURN5200
RE>1 掌ネPLO丁 Ableit、零卑5205 DS=”PFAB
、KSYS’“5210 YO=At2.11 @ Y1=A12,21 @
Y2=A12.31 @ Y3=A(2,415220X0=O@ X1=TC
71@ X2=2 @ X3=O@ IF T(71>157HENX2=5
5230 1F T(7ン>50 THEN X2=105240 E3
S=”Time 1sacl”5250 E4!=”5peed (Del
ta OD/5ee)”5290 GOSUB 6000 @ RETLI
RN6000 ! PLOTTEN VON ACHSEN6005
ON ERRORGOTo 6020 @ ASSIGNA I To Ds@
READ# 1 ;P3.P4.X4.X5.X6.X7.T4.T5.T
6.T76006 ASSIGNj I To 率600フ IF
XO#X4 0RX1虐X5 0RX2#X6 0RX3#X7 T)IEN
GOTO60206008IF YO#)’4 0RYlll−50R1
°2i1−6 0R)’3iY7 THEN 00丁0 60206010
RETURN
6020 ON ERROR00丁0 40006030 P3=23=
O0@ P4=1$400 ’i’ P5=(2+25)”400 @
P6=+1+161寧400
6033 HIS=C)iR8131@ Pl:、0OOOO1@ P2=、0
OOOOO16036F5+=Xl−XO@ F6=Y1−YO6040IF
ABS(F5*P1)<3000 THEN P1=P1*lO@ G
OTO60406050IF ABS(F6本P21<3000 THEN
P2=P2宰10 @ GOTO60506060F5=(P5−P3
1/Zoo @ F6=(P6−P41/1006070 ON ERRO
RGOTO60906080CREATE DS、1.51206090 ON
ERRORGOTO40006100ASSIGNA I To DS
6105 PR]NT4 1 ; Pi、P2.XQ、Xi、X2.
X3.YO,Y1tY2.T3.E3S、E4S6110 F、5S=”IN;
SPI:” @ GOStjB 64006120 E5S=”IP”&\AL
S IP31&” 、 ”&VALS I P4 H” 、 ”&V、ALS
f P51&” 。
”&\’、ALS+P61&’°;” @GO5υB 64006130
E5S=”SCO,10000,0,10000;” @ GOSUB 640
06140 E5S=”PA4000,9500;” @ GOSUB 640
0 @ E5S=”DT”&)IIS&”;”! GOSLI8 6400
6170 E5S=’°DI 1.Oi” ! GOSUB 6400618
0 E5$=’°PυiPA 1300,1300;PD;PA 1300,9
300;” @ GOSUB6190 E5S=l′PA 9300,9300
,9300.1300,1300,1300;PU;” @ GOSUB620
0 FOR11=XO+X3 To Xi 5TEP X2 @
l2=INTl111−X01卑8000/lX1−XO1+1300162
10 E5!=’°Pt、’;PA”&VALS(121&”、1300;PD
;XT;PU;1°@ GO5L’に36220 E5S=”51.2..25
;CP−1,−1,2;LB”&VALSI111&HIS&”;” @GO5
Un 6400 @ NEXT 116230 FOR11=YO+
”l’3 To Yl 5TEP Y2 @ l2=INT++!
]−Y01$8000/IYI−)−01+130016240 E5S=”P
A9300.”&VALS+121&”;PD;YT;PU;” @ GOSU
B 6−1ooεNEX丁 11
6250 FORl1=YO+)’3 To YI 5TEP Y2
@ ff2=IN丁(Ill−Y01$8000/IYI−YO1+13
0016260 E5S=”PA1300.”&vALSII21&”;PD
;YT;PU;” @ GO5LiB 64006270 E5S:”C
P−5,−,5;LB”&VALSI111&HIS&”;” 9 GOSIJ
86400 @NEXT ll
6280 FOR11=XO+X3 To Xi 5TEP X2 、@
l2=INT[11−X011−X0l/rX1−XO1◆1300162
90 E5S=’°Ptj;PA”&VALS+I21&”、9300iPD;
XTiPU;’°@ GO5UB6400 @ NEXT ll
6300 P3=INT(P3+F5牢131−50 @ P4=INT
(P4+F6傘131 9P5=INT+P5−F5*7)−470@ P6
=INTIP6−F6牟716310 E5S=”IP”&VALS(P31
&” 、”&VAl、5IP41&”、”&VALSI P51&”。
”&VA]J(P61&”;” ll GOSUB 64006320 E
5S++”IW”&\’ALS I P31&” 、 ”&VALS (P41
&” 、 ”&VALS I P5 )&” B
”&VALSIP61&”;” @ GOSUB 64006330 Hl
:INTfXO本P11 @ H2=IN丁(X1*P11 @ H3=
INT()’O*P21 @H4=INT+Y1*P21
6340 E5S=’°SC”&VALS (Hl l &” 、 ”&VAL
S (821&” 、 ”&VALS (H3) &” 。
1°&VALSrH4)&”i” @ GOSUB 64006350 ASS
IGNj I To *63605ECURE DS、”XX”、3 @
RETURN6390 ! TODISK 本ネ6400 PRI
NTj 1 ; CHR8r341.E5S、CHR81341@ R
ETL!RN9000 ! 本本エラー回復 傘*本9010
BEEP @ BEEF” @ BEEP9100 IF ERR芝:=I
THEN DISP ”too small number” @ GOTO
95009110IF ERRN=2 THEN DISP ”too lar
ge number” +! GOTO95009120IF ERRN=7
THEN DISP ”Null Data”’! GOTO95009130
IF ERRN=8 丁HEN DISP ”Division b
y zero” ! GOTO95009140IF ERRN=11
THEN DISP ”Argument out of Range” 60
0丁0 9500
9150 IF EF:Rごζ=22 THEN DISP ”File
is 5ecured” ! GOTO95009155IF ERRN=
43 THEN DXSP ”Nurneric 1nput ” ! GOT
O95009160IF ERRN=44 THEN DXSP 1lnot
enough 1nputs” @ GOTO9170IF ERI?N=45
7)(EN DISP ”too many 1nputs” @ GOTO9
5009180IF ERRN=49 THEN DISP ”Null Da
ta” ! GOTO95009190IF ERRN=56 THEN DI
SP ”String Overflow’°@ GOTO95009200I
F ERRN=55 THEN DISP ”String 5ub
script” @ 00丁09210 IF ERRN=6) TH
EN ]:H5P ”Filename doesn’t exist
” !GOTO9500
9215IF ERRN=68 THEN DISP ”Filetyp wr
ong” @ GOTO95009220IF ERRN=89 T)IEN
MSP ”1nvalid parameter” ! GOTO92301F
ERRN=108 THEN DISr’ llPhotomete
r Waring” @ 00丁09240 IF ERRN=111
THEN DISP ”No disk 1nserted” ! GOTO9
250IF ERRN=125 THEN DISP ”volume
not found” ! GOTO9260IF ERRN=12
8 THEN DISP ”Disk is full” ! GOTO950
09265IF ERRN=130 THEN DISP ”no disk”
@ GOTO95009270IF ERRN=131 THEN DISP
”Time Out” 9 GOTO95009490DISP″Error
’°;ERRN;” oeurred on 1ine ”;ERP、L @
PAυ5E
9495 GOTO4000
9500WAI丁 3000 @ GOTO4000アペンデイクスH
Overlay Kin 2の測定
1 4 KXN 2 B、MICHEL120 COM 5)IORT 51(
80)、52(80)、53(80)、T(201,Tl(41s、T2(41
)。
L(20)、B(20)、A(5,5)125 COM 5HORT C(15
)、W(20)、Wl(5)、E(20)140 COM T1$ [65]
+ Ell [2031E2S [2011D$ [20] I D1$ [1
1*D2 *D3$[20]、D4$[20]、B11[8]180 DIM
F$[1]IF6$[1]、E3$[30]、E4$[30]、F7S[1]、
F5$[1]IAI[60]、nls[20]
195 INTEGER1,I2,15.16200 F6$=”O” @ Q
lffil @ Q2=1 @ F7$=”O” e CLEAR! XN02
10 F$=”A” @ F5$=lIO” ! J=18 K=1 @ D4
$[5,5]!”1”250 ON ERRORGOTO800! PL
OTTER1ll IF C(8)#I THEN GOTO500L
1=B(11) @ L2=B(12) @ L3=256=(1/T(5))
I ON ERRORGOTO500
510CLEARe DISP ” )Cm Measure : Mai
n Menu” @ DISP520 DISP Ell;TAB(19);T
(3);”nm (E)” I!’ DISPE2$;TAB(19);T(4
)i”m (S)” ! DISP530 DXSP No、of Rep、”
H丁(8)! DISP ”No、of Pa1nts”1T(5)
650 ON KEY# 1.”DiVar″GOTO720@ ON KEY
# 2.”MeasM” GOTOlooo @ ON KEY# 3.”Sy
ringe” GOTo 860655 ON KEY# 4.”Was
h” GOTOToo @ ON KEY# 5.”MAINPC”
00丁0800 @ ON KEY# 6.”TestM” GOTO790
660ON KEY# 7+”[E+51” GOTO880N’ ON KE
Y# 8.”Pa1nts”GOTO940@ KEY LABEL @ GO
TO650TOOGOSUB 7500 @ GOTo 500720 PRI
NTERIS 1 @ GOSUB 9545 ePAUSE725 GOTO
500
760CLEAR@ IF B(4)=OT)IEN B(41=1
! DISP ”Enter v 1nassay”;@ INPUT
B(10)4’ GOTO765762 B+41=O@ DISP
”Enter IEI in As5ay”;! IべPUTBf5+
765 B+31:B151 @ GOTO1000790RESET 7
@ CHAIN ”KONZMSG、KSYS”800 RESET 7
@ CHAl、N ”Autost、KSYS”820 CLE、AR@ D
ISP +1本章 シングル測定 車重゛825 DISP E2S @ D
ISP ”Cone in M at [S)<O: Referenc
e”;830 INP+、!T B+61@ C11O1=1835 DI
SP ESS @ DISP ”Conc in nFi fs
tock=”;T(31;”nMl”;@INPL、’丁 B151
s4o B13+=Bt51 e >5oDEO,1@aosvB4800 @
GOTO1000860GOSUB 7250 @ GOTO500880C
LE、AR@ DISP Else” Conc、 in lnMl
”88S DISP ”and ”;E2S;” Conc、 in THI
” @INPtjT T[3)、Ti4)890 GOTO500
900CLEAR@ IF B1201=27)IEN DISP EIS;E
LSE DISP E2S;905 DISP ” Conc、Nr、”;C
,161910DISP ”in 5yrir+ge [C=clear B
uffer)” ! DISP ”negativeIE) = decr
easユnQ Is]” @ INPUT H1s9151F B15
”’C“’ THES C,+61=1 ! GOTO900920EIC(6
11=VALfHISl @ C16)=C+61+1 @ RE丁U
RN910 CLEAR@ DISP ”No、 of Po1nts 12
−401 and Rep、 +2−101”;
950 INPtjT 丁+51.T(81@ IF 丁(51>40
0RT(51<2 0RTi81>10 OR’Nano T)IEN
GOTO940ELSE GOTO5001000CLEAR@ DISP
” ):m )Ieasure トイenu” @ DI
SP @ D工SP丁IS[1,63] @ DISP ! ON E
RRORGOTO5001020DISP ”Syr、1:”;lNTlCT
11車101/10;”2:”;INT(C+2)*1001/100;”3:
”;工NTIG+3)京100)/100;”ml” @ DISP1050
DISP ”)tax、 [5] : ”;T(141;”
u)I”1090 IF D4S[4,4]=’°L1°THEN DISP
”Blank ”;D4S[6,14];”5ubtracted” ELSE
DISP ’°No Blank”1120 IF B+41=l T)IE
N DISP ”[E] Autom、”1130 IF DIS[5,5]:
”1” THEN DISP ”Pr1nt On” ELSEDISP3°P
r1nt OFF”
1140 7F Cf91=O丁HES DISP ”No Refe
rence” @ BEER1150DISP ”、As5a>−\’o
lume : ”;Bi 71 : ’°ul” @ ON ERR
OR00丁01200 ON KEYt 1.”Exit” GOTO500@
ON KEYt 2.”Pr1nt” GOTO1280@ ON KER3
,”Content” GOTO16001230ON KEYt 4.”Co
mmenu” GOTO1690@ ON KEYt 5.”KmMeas”0
0丁0 1300 @ ON KEYt 6.”Blank” GO
TO15001260ON KEYt 7.”[E]auto” GOTO7
60@ ON ):EY#8、”Single)Ie” GOTO820@
KEY LABEL @ GOTO12001280IF D4S15
,5]=”O°’ T)IEN D4S[5,5]=”1” ELSED4S1
5,5]−’°o”
1290 GOTO1000
1300ON ERROR00丁0 1000 @ IF c+9+=
o T)IEN GOTO10001302CLEAR@ DISP
’°5eries and Number eg A、1°’i@
INPU丁Dis、Bl@ IF Bl>999 0RBl<OTHEN
13001304 DISP ”Mernocode 16 Charact
ersl”H@ INPL、!T D4&[15,201@AS=“’*4”@
GO5UB70001310 M=B1201 61 IF coo<w
n口/8 7HEN H1=7 @ GOSUB、 75101320
D2=B]@ B1:B1→18 F8S=”N”1325 IF C1
6+=1 丁)IEN GOSLJB 900 ELSE )l]=
o @ PRINTERIS@ I
II GOSUB 9500
1330 B13+=Bt51 ! IF Eill#OTHEN Q1=1
@GOT○13351332 E(l l=1 t B131=、1 @ Ql
=2 @ D41[4,4]=”O” @pls=cHRslNL!トrlD1
sl+11@D2=01335 IF Elll<O丁HEN Q2=2
@ Ell)=−E(1) ELSE Q2:11337 IF B
(20+=2 THEN Ti3)=E11) ELSE Ti41=E(1)
1340 FORI=l To C(61−1@ E(Il=EiI+11 !
’ NEXT I @CI 6 )=ct 61−1
1350賢1(2+=Bt71章B(51/T(31@ GOSLJB 800
0 @ GOTO20001380IF C161<2 丁HEN 10
00 ELSE CLEAR@ GOTO13201500IF D4S
14,4]=”L” T)IEN D4S[4,4]=”O” @ GOTO1
0001510CLEAR@ DISP ”Name or Blankfil
e 19 Charactertl”;εXNPU丁 H1$l! D−IS
F4,4)=”L”1515 IF LE\18151<9 THEN GO
TO15101520HIS”HI具” ”!D4S[6,1目=HIS1
540 CEIE、A丁E D−IS[6,14]&”、KSYS”、5,
256 @ ASSIGN= l TOD4S[6,14]&”、KS
)’S’“1560 FORJ=l ’ro 20 @ PRINT
禽 1 ; 丁(Jl @ NEXT J1570 FORJ”O
To T(511” PRINT# l ;、TIIJ 1lT2(J
l 4” NEXT J1580 ASSIGN# I To * @
H1$=D4S[6,1431590PRINTERIs 2 @ P
RINT ”Blank 5tored in File: ”;)!
15@ RETLIRN
1600 CAT −”&B9$ @ DISP ”Purge
File” @ INPUT Else PURGd
Hls 4m GOTO1000
1660BEEP 50,1000 m DISP ”Error”;ERRN
@ DISP ”CorrectError condition +
C0NT”;ERRL1670 PAUSE
1675 GOTO500
1690GOSUB 1700 @ GOTO10001700DISP ”
Comment 2 Lines” @ FLIP @ INPUT
TlSe FLIP1710 Tl5=T1$&” ” @ IF
LENiTISl<63 7HEN GOTO17101720RE丁じRN
1800 RESET 7 @ ASSXIJ襄 1 丁o D4S
[6,143&’°、KS’l−5”1820 FORJ=I To 20 @
READ# 1 i 2B@IF Jd ORJ=40RJ=60RJ=
7 0RJ=15 0RJl−16THEN GOTO184018351F
28@丁IJI THEN BEEP @ GOTo 18851
840 NEXT J @ Z8=11850 FORK=o To
T(511860READ# 1 ; Tl(K)、丁21K11870
丁ITKl=−Tl(K) @ T20C)=−T2TK) ・ NEX
T K @ ASSIGN# 1丁0 率
1875 H11=D4$[6,14] @ PRINTERIs 2 @ P
RINT ”Blank:1°;Hls;” 5ubtracted” @
RETURN188S DISP ”Variable”;にT(Jl;”j
Blank:”;Z81890 DISP ”Change Variable
or (999=ignorc+−1: INPUT HleIF H1=
999 THEN 18401892 IF J=1 0RJ=20RJ
=100RJ=11 0RJ=120RJ=130RJ=19 THEN
BEEP @ 00丁0 1000 ELSE 丁IJl=H1189
5GOTo 1840
)900 AS=”ml°’ @ GOSLJB 7000 @
Wlll +=、5 @ AS=”*A0.5” !GO5UB 70
00
1905 AS=”*Bll @ GOSUB 7000 @ W、41丁
2000 @ GOSUB 7000 @WAIT 2000
1910MODEO,1
1920REFERENCE 10
1930 IF NMEAS=OTHEN GOTO19301940MEAS
υRE、1
1950IFNMEAS=OTHENGOTO19501960FOFi J
=1 丁0 10 @ IF VALL’E(LIJII>5 TH
EN GOTO19001970NEXT J @ C+91=1 @ R
ETURN2000 ERASE STA丁US2020 IF T1
141<丁141/20 0R71141>T141/3 THEに BEE
P @ DISP”[5) vron@ !” [I WAIT
3000 @ 00丁05002040 GOSUB 3600
@ CLEAR@ PRINTERIS 1 @ H1=O@ G
O5UB2050 DISF’ ”1=E>;it 2=Input”2200
GO5”:M 3650 @ 25=02230 F7S=”O°′
! 丁P2240 IF Q2=2 THEN GOTO224)22
45 FORK=OTo T151 @ GOTO22492247FOFi
K=丁(5) 丁0 0 5TEP −12249Z5=Z5−1 @
IF 25<OTHEN Z5=02250 IF F7$=”2°’
THEN FT$=”O” (1)C=P32255 FORJ=I To
80 @ 53(Jl=O@ NEXT J2260 R9=O@ Ra
=o e 5s=o e s)=。
2300 r+01=Is丁1r(201−に寧t5/T(511@ IF
K=OoR丁101<OoFITIOI>7+201 7HEN 丁(0)
=Q2302 Tl01=丁101+T(81@ IF T(01>10
7HEN Tl01=102305 FORJ:I To Tl0I
@ F6$=”O°12310 0RAPH
23SOGO5UEt 3500 ・ MESSE2420 GOSUB
4600 ! DERn’2−130 GO5じB 3300
! EM 丁EST2150 1F F5S=”1°’ THEN GOT
O23102470FORJ3=2 丁o T9/L2+1248053(
J11=S31J11◆5IIJII2490 NEXT Jl @
R9=R9+S7 @ R8=R8+S6 @ IF F6S=”1
” THENGOTO2530
2500NEXT J
2530 GOSUB 3700 ! MITT2580 IF F6$=
″’1” THEN GOTO25952590FORJ=2 丁0 丁9/
L2+1 @ 53(Jl=S3(Jl/T(01@ NEXT J
IIIF F6S=”2” THEN GOSLIB 4510259S
F6=3 @ GOSLIB 65002600 GOSUB 3800
! CHECK26201FF5S=”1”THENGO5UB4500
2650 丁11Kl=Tl(Kl+丁11411 @ 丁21Kl=72+
)こ++T21411 ・ IFD4S(5,5)=”O” THEP: 2
65426;−、I IF ABslT)+);++>10RABSI721)
C11>10RABSIS91>I THENPFiIX丁に:T]()二l;
T21Kl;S9@GOTO26542G5: PRINTERIS 2 @’
PRffNT t、’5ING ”DD、X、SD、6D、X、SD、6D、
X。
D、6D’° : K、T11KI、T2CKI、59265−I IF
F7S=”1°’ 丁HEN F7$=”O” @ GOTO300
02655NEXT K
2995 DrSP 丁IS @ DXSP @ DISP @
AS=”寧WFCC8” @ GO5L’B 7O00
@ GOSLIB 7700 @’ I=BIT(IS、2+2997 IF
C(61>I AND X=OTHEN A$=”15” @ GOSUB 7
000 @ koAlTlooo @ As=”率x” e cosu
n 70003000 ON KEY# 3.”Rep、Me” GOTO3
100@ ON KEY會2.”0utput”GOTO3250e ON E
RRORGOTO30003010ON KEY# 8.”Syringe
” 00丁0 3050 @ ON KEY# 4.”NextPr
” 00丁0 3030 @ ON KEY# 1.”Exit”
GOTO5003015ON KEX’# 5.”Re5t” GOTO30
60@ ON KE1’# 6.”11m End−M”GOTO3000@
ON KEY−* ?、”enu ’1m” 00丁0 30003
017 KEY LABEI、@ JtO3019l5=SPOLL+708
1 * CBITf15,31 @ J=J+l @ BEEP 300,10
3020 警AIT 2000 @ IF C16)>I AND
J>2 AND I+:1 丁HEiv 32T0
ELSE 3019
3030 GOSUB 900 @ J:2 @ GOTO301930
50GOSLIB 7250 @ GOTO30003060F7S=”2”
@ CLEAR@ DISP ”Proceed from Po1n
t No、” @INPUT Ke P3=K @ GOSUB 3110
3070 F5$=”O” ! GOTO22403100F7S=”1’″@
CLEARfh DISP ”Repeat vhich Po1nt” @
INPUT Ke GOSUB 3110 @ GOTO22553110IF
DJK目、4]#”L” THEN Tl(Kl:O@ T21Kl
=O! 00丁0 32003120 ASSIGN# I To DJK
[6,14]&”、KSYS” III FORJ=I To 20 @REA
D# 1 i T11411@ NEXT J3130 FORJ=OTo T
(5)@ READ# 1 i YO,Yl@ IF K=J ANDF
7S=”1” THEN Tl(Kl=−)−0@ 丁21に+=−Y1
3140 1F F7S=”2” AND Q2=2 AND K>=
J THEN 丁11Jl=−)’OeT2(Jl=−1’!
3145 1F F78=”2” AND Q2=I AND K<=J
THEN 丁11Jl=−S’0 @T2+Jl=−)“1
3150 NEXT J @ ASSIGN倉 I To *32
0n RETURN
3250 1F FS#”A” ORC(61<2 THEN 32553
251 Al”率4°’ +! GOSLIB 7000 @ I
=B(201@ IF E111=0 丁HEN)+1=WII+51
@ GOTO32533252H1=ABS(W(1+51/E+1))
@ IF I=2 THEN Hl、H1本丁+31 ELSEH
1=)11本丁(4)
3253 AS=”本”&vALSIZ)@ GOSLIB 7000°
@ W(I+5)=81 @A$=”寧=’°&VAL$(Hl)@ G
OSUB 70003254 Al”本E8°’ e GOSUB 7
0003255 IF Ql;2 THEN RESET 7 @ H1$=
D4$[15,20]&D1$&VALSID2)&”N″@ GOSUB 1
520 @ DJK[4,4]=”L”3270 GosvB 4200
@ GOTO1380330(113=O@ 57=O@ F5$=”O”
1’ ON KEYJ! 2 GOTO3390・BEEF’100.
10 ! EM丁ES
3310 FOr4 J1=丁8/L2+I To T9/L2+l
@ H1=lS9−Sl(Jllど2 @13=I3◆1 @ S?=57
+813320 NEXT Jl @ 56=(57/131−.5
@ IF 56<、00001*11+に/T1511傘B(21THEN
00丁0 33503330 IF K=O丁HEN GOTO33
5033401F 56>ABSIS9/100す(2)) THEN DIS
P ”Meal”;KHに”Repeated”;25 @ BEEP * F
5S=”1°’ @ 25=25+13345 IF Z5>3本T(81
AND F5S=”1” THEN PRINT に89;S8i”
??”@ tss=”o’
3350 BEEP 200,10 @ OFF KEY# 2 @ RET
URN339016=1 @ GOSUB 4450 @ GOSUB 455
0 @ GOTO33003500τ8冨IN丁1(B(131÷に/T151
本IT(61−B113111/L2ドL23503 丁9=INT((B(
141+1;/丁(514(T(7l−B(14J73/L27111,235
05 IF Jll THEN GOTO3510ELSE I!O
@ GOSUB 7900 @ WAIT3507 IF K<2
0RK:T(5)ORT151<7 7HEN AS=”*H” @ G
O5UH7000@ ’WA1丁 3000+B(9)零に/T(51351
0MODE O,1・ AS=”IN” @ GOSLIB 7000
@ 賢AIT B1814B1911N/T15)
3512 HJ=lT(111−T(1011/2+1 @ H2=17121
−T(I11/241 @H3=(丁1131−丁11211/2◆13514
ERASE MEMORV −1! MESSE3535 ON ERR
ORGOTO35973520MEASυRELl、L2,0.丁9+L235
30 FORJ1=1 丁o T9/L2+23540 IF NME
AS#JI THEN GOTO35403550To MEMORY J1
3560 IF Ll>、2 THEN GOSUB 44003570 N
EXT Jl @ 16g5POLL(7081@ IF BIT(
IS、0)al THEN 29953575 ALPHA @ IF L
2>、2 T)IEN 35953580 FORJll3 To 丁9
/L2+23585RECALLME)fORYJ13587 GOSL:B
4400 @ NEXT J13595 RETURN
3597 IF ERRN;2 THEN GOSUB 1900
@ PRINT ”Ref、 repeated”@’ GOTO350
0ELSE GOTO16603600DS=D4s[15,20]ADIS&
\’ALS(D2)&”、”&B9S @ ON ERROk GOTQ360
5 ASSIGN= 1 丁ODS @ DISP ”Fil@
exists” @ ASSIGN= ITo 掌fb BEEP @
WAI丁 2000 @ GOTO10003610IF ERRN=13
00RERRN=125 THEN DISP B9SH”not found
”e BEEP e wAxT2000 @GOTOsso。
3620 ON ERRORGOTO1660@ PLOTTER1@ PRI
k:TER2362:l k=丁151 き GOSLIB 8250
@ L120+=L120)傘T1141/H4@Cζ101=0
3630 B+61=丁14)/20 @ GOSLIB 4800
e GOSUB 8000 @ IFD4Sf5.5J=”O” TH
EN H1=OELSE H1=13635CiO5L言B9500
3G40 For? K=O丁o JO@ 丁1(Kl=O@ 丁2
(KH0・ NEXT K2S−15IF DJK[4,4]=”L” THE
N GOSUB 180036J7 RETURN
3650 Fss=”o−e IF DJK[5,5]=”1°”T)IEN
PRINTER2@ P)IZNI’ !PRIN丁 NRRantt: I
Range 2 No1se 1°1365S DISP
”Duration”;IS丁(T(81*T(5ド(T(71+51/20
0+I +13;”Minotes”
3660 DISP″No、 Range I Range 2
°。
368Q RETURN
3700 丁1IJII!O@ T2(41180@ H4!W1131
率T(417B(713710FORJ=I To T(0)e 丁1(41
1=71(411+54TJl @T21411=T2(41)+551Jl
@ NEXT、J3720 Tl(411=T1141)/T(0)@
T2(41J=T2141)/Tl0) @R9:R9/Tl0I e R
9=R9°、5 @ R8=(R8/T(0目−053730DISP USI
NG ”DD、X、5D、DD、XXX、DDD、DD、XXX、、6D”
;に、Hl、B(3)、R84! RETURN3800 59=O@ 58=
O@ F5$=lIO” ! CH3810FO): J=I To
TIO+3820 59=59+1T11411−541Jll−2@ 58
=58+1丁2+411−551J11−2 争NEXT J @ 59=l
S9/Tl0II−,53B:10 IF S9<ABSt 、0OO05*
Bf111 0RQ1#I THEN GOTO38603850IF S9
>a11s+T1+411/100*Bfl 11 THEN DISP ”A
verage”;に;”repeated”;I5 (BEEP @ F5S=
”1”3855 Z5=Z5+丁10+ @ IF I5>2宰TlB
) AND F5S=”1°’ THEN 38703860 RE
TURN
3870 PRINT ”Average nonreliable” @ F
ORJ=I To Tl0I @PRINT ”Msg”;に;に” ”;5
41Jl;551Jl @ NEXT +3875 F5S=”O°’ @
GOTo 38604200 IF p4s(s、s)=”o” THEN
42054203 PRINTER2@ PRINT @ PRINT
@ PRINT 丁AB+71;EJS @GRAPR@ C0PY
4202 HCO@ Co5LIB 9500 @ PRINT 丁
Is @ ON ERROh GOTO16GO4205PRINT
@ PRINT @ PRINT 11No、 Range I
Range 2[5ubstr]”
4210 PRINT ” TNII/5ecl TNII/5e
al M” @ PRINT4220 K=Tf51 @ C
o5L!8 82コ04230 、AS=”PFTN、KSYS”4250GO
5LjB8500
4260 LORC,O@ C3lZE 3 @ Co3t!D 5
5004270 FORK=O丁o T(51I Co5LIB 82
50429ONOVEH4,H3@LABEL”傘”@MOVEH4,Jl@L
ABEL”+″゛4310 PRINTERIS 2 @ PRINT
LJSING ”DD、X、S5D、D、X。
S5D、D、XX、5D、DD” ; K、H3,Jl、844312
PRIN丁シ 1 ; H3,Jl、H44320NEXT K @
PRINTERIs 24330 PRINT @ IF D4S[5,5]
=”1” THEN PRINT l” PRINTTAB+71;E4$ @
C0PY @ PRINT @ PRINT4350 ASSIGN# I T
o 傘4360 GOSUB 6000 @ PRINT @ PRI
NT @ PRINT @ RET(JRN4400 l3=0 @
H1=04410 FORl2=T(11To T121 5TEP 2
@ Hコ=H3+1°ALLIEiI21 @NEWT 12
4415 51fJ11J(17H2@ Hl:04420 FORI2=2
I121 To Tl131 5TEP 2 @ H1=H1+VA
Lt’E(I21 @NEXT I2
4425 S2+J11=)II/H3@ H1=04430 FOR12
=T(10) To Tfll) 5TEP 2 @ M1=H1+
VALLIE(121@NEXT I2
4435 511JI+=S11J11−H1/)+4 @ 521J11=
S21J11−H1/H44440RETURN
4450 DISP ”1=Esit 2+New 5tdev 3=Rep、
Single” ! DISP1′4:Rep、Aver、5=End Me
6=go on”4455DISP”7=TestMsg8=NextRea
dy”;4460 INPUT Hle RE丁Ll’RN45001F
FS=”A” THEN GOTO22504510Go!5UB4450
@0NERRORGOTO1660@I6:24520 F6S;”O”
@ IF 81m3 丁HEN 45504530 F6S=”1′’
@ DISP ”No、of Single Measurement” @
INPUTJ@ FORJ1=I To 80 @ S3+J11=O
@ NEXT +14540 R9=R9−2ネ丁10t/11.2十丁(
011@’ R8=R8−2室丁+01/11.2十丁(0目1: 00丁
0 2310
4550 IF H1=5 丁+IEf、’ 29954555 1F
H1=7 THEN 20004560IF)11=2THEND工S
P”)fax、Non1in、/No1se2Inputs”;@INPUT
Bull、B12+1!’ 00丁0 45904565 IF H1
=8 THEN Co5じB 900 @ GOTO45904570
1F H]=3 AND 16=l THEN F6S♂’2” @
GOTO45904580rF H1=4 THEN 2250−159
0 RE丁tJRN
4600 59=O@ 58=O@ 11=04620 H1=51(11
@ H2=S2fl14630 FOR+1=2 7o T9/L2+146
35 H3=S1(Jl) の84=52(Jl)4640 5HJI )
=(51(J1+11−M! >/(2本L2)@ 521J11=!921J
1÷1)−821/+2*L21 @ IF Jl)T9/L2+1
THE?: GOTO47104700IF +3>=丁8/L2+I
THEN ff1=11+1 @ 59=S9+511J11 @58
=S8÷521Jl )
4710 H1=)t3 @ H!=H4@ N)X丁 Jl @
l3=O@ 58:58/71 @59:S9.’lI
4730 DffSP USING ”DD、X、DD、XX、SZ、6D、X
XX、SZ、6D” ;に、J、S9,58
4740541Jl=S9 @ 55iJl:584750 RETUR?:
4800 F6S=lIO” @ A5=O@ A6=O@ MODE O,1
4810LAMBDA Llll、L121.L13)、L(41,L+51
.Ij61,1,47)、L(81゜L191.L(101
4820TIトIESCALEOToT1714830 ABSORBANC
E
4832 1F B+31>丁13+/3 丁HEN B+31=TI3
+/34833 IF B+61ン丁141/3 THEN B(6)
=丁141/34835 W1131=B171113161/T141483
6 Wl(2]=D171*B(31/’r(3148401F W113
1<=OTHEN GOTO190048451F C(91m1 丁H
EN 10004850 r:o @ Co5ljB 79804860
AS=”IN” e C05U13 700048(+5 WAJ丁 5
000
4870 J=O@ K=INT+T151/21 @ T9=9I71
@ T8=B1131 @ Co5L!B4920 )+1=0 @
H2=04930 FORJ1=I To 4 @ H1=51f
J1)+H1@ H2=S2(J11+H2@ NEXTJl @ H1e
H1/4 @ H2!H2/45050 IF D4S[5,5)#”O”
AND A5#I THEN AS=″PFOD、KSloslo
eGO5UB 8500 @ A5=15055 DISP ”In1tia
l OD Ran(e 1 and Range 2°゛5056 DISP
USING ”6X、SD、5D、6X、SD、5D” i 81.)124!
H1:H1/T1151*1000 @ H2:H2/T(16)$10005
057 IF ABS+H11)999990RABS+H21>99999
THEN DISP”[EJ”;)+1;H2;”uN°’@GOTO5060
5058DISP USING″3A、X、S5D、3D、4X、S5D、3D
、2A” ; ”[EJ−旧、H2,”u?I” @ DXST” ”Deri
v、 Ran(el and Rnnge 2’。
5060IFD4S[5,59”O°’Tl+ENF6=1@GO5UB650
0f!F6!2@GO5UB 6500
5150 K=O@ J=O@ Co5IjB 4600 @ Co5UB 3
300 M)+(4=ABs4s6/S9*1001 @ IF H4>999
THEN H4:9995160 DISPUSING ”14A、η、6D
、3A、3D、D、A’ ; ”No1se Range1°’、ABS
i661.” = ”、H4,”%” @ H1=01! H2=05170
FORJ=2 To 6 @ H1=l+1+511Jl @ NEXT J
@ H1=H115@1=)14
5180 FOR、CT+71/L2−3 To Tl71/L2+1
8 H2=)+2÷5l(Jン @ NEXTJ @ H2=H215@
113=INTIABS11H1−8217H1*1001)5190 DIS
P ”Non1inearity : ”;H3;”%″・A2:H3@
DISP !l5P
5300 J1=O@ IF D4S[5,5]#”O°’ THEN
Co9UB 54005310 IF Jl”9 THEN 4810
5350 IF A5#2 THEN AS=”PFAD、KSYS” @ 0
O5t、iB 8500 @ A5=25360 F6=1 @ Co5t
!D 6500 @ F6=2 @ Co5UB 65005?、90 Co
5UB 54001! IF Jld THEN 48105395RE
TURN
5400 OFF KEY= 890’: ):ES’含2.’″Go on
” GOTO5490e ALPH,A3402 ON KEYk 5
.’°[EJ” GOTO5440@ ON KEYk 6.”Act
iv” G(1丁05−+45 @ OFF kEl−475405ON
KEYk 3.”Graph” 00丁0 5420 @ ON K
EYk 4.”AlpHn”00丁0 5430 @ KEY LABE
L5407 XF FS=”A” AND Cll0I:OTHEN
J1=l ELSE JCO5410IF Jl=OTHEN 5410
ELSE BEEP 300,20 @ WAIT 30001!GOTO54
50
5420GRAPH@ JCO@ GOTO54105430ALPHA e
J1=O@ GOTO54105440DISP B+31H”new”;@
INPUT B+31@ B(51=B(31# Jl=9 eGOTO54
90
5445DISP B(10ト:”new”:@ INPUT B(10t@
GOTO5−10054501F B+41=OOF4 Q1=2 THEN
54905454 IF B(31<丁(31/!00 THEN B
(31=T(3ν/200 @ GOTO54905455IF AnS
IS91)2”B1101 THEN H1=、5 @ GOTO54
925460 IF ABS+S91<BflQl/2 THEN N
1=2 @ 00丁0 54925465 TF ABSfS91)1
.3傘BflO1丁HEN N1=、75 @ 00丁0 549254
70 IF ABSIS91<、75*B110I T)iEN N1
=1.25 # GOTO54925490OFF KEYt 2 @
OFF KEYt 3 @ 0FFKEY# 4 @ OFF KEY犀
5@ RETURN
5492BT31=B(3+零夏11@A6=A6+1@CLE、AR@DIS
pHEr+:yrIIeconc、:”;B131 @ IF A6>6 Tl
(EN J1=OELSE J1=95493 00丁0 5490
5495 GO5LiB 7250 @ GOTO54005500D5=
D4S[]5,20)&DIS&VALSiD21&”、”&B9S @
ON ERROR00丁05550 CREATE DS、3+INT+
T151/10÷、51,2565560 ASSIGNt I To D
$5570 PRINT# 1 ; DIS、D2.D3S、D4S、ElS
、E2S、TIS、T[)、Ll l、Bl 15660 RETLIrlN
6000 A1=O@ A2=O@ A3=O@ A4=O@ A5=O@ A
6=06050 FORK=2 To 丁151 @ GOSUB 8
2506090 1F )(3=OORN4=O丁HEN GOTO620
0ELSE N1=1/H−1!H2=17H3
6120al=AI+1 @ A2=A2+H1@ A3=A3+H2@ A
4=A4+H14H2@A5=A5+H1*l11 e A6=A6+11
20+26200 5EXT K
6210 IF A1.OTi1EN GOTO64006220)11=A
5/Al−1A2/Al1−26230 N2=A6/Al−lA3/Alど2
6240 N3=(A4/、4l−A2/Al傘A3/Alシ/H162501
(4:A3/AI−)13電A2/At6260 H5=H35=83.5/
H2+、56280 N1=ABSll/()14/H311@ H2:ABS
(1/H416290IF ABSIHII>99990RABSI)+21>
999990RABSiH51>I THENGOTO6400
6300PRINT LISING ”15A、4X、6D、2D、X、3A”
; ”\’elocity=−H2,”17s”
6310PRINTUSIき:G”16A、3X、5D、3D、X、3A”;’
°MichaelisConst、=”、Hl、”)I”
6320 PRINT USING ”14−A、9X、3D、4D” ;
”Correlation =”、HF+6400 PRINT @
PRXNT @ RETURN6500 PLOT O,0,2
6520FORJ1=2 To T9/L2+16530 H4=lJ1−11
宰L2
6540 ON F6 00丁0 6550,6560.65706550
N3=S11J11 @ GOTO65806560N3=52(Jll
@ GOTO65806570)+3=531J11
6580 PLOT H4,113,16390NEXT Jl @ P
ENUP @ PLOT 0,0,2 (’ RETLiRN7000
OFF KEYt 2 @ OFF KEYt 34’ OFF KEY
4’ 4 1’ OFF KEY二 5@ OFF KEYt 6 @
OFF KE’;# 7 @ OFF KEYt 870055ETTI
MEOL’丁7;300070100、’:TIMEOUT7GOTO7090
7015Al5=AS[:!、2)
702(+ l5=SPOLL(70817025IF BITII5.7
1 TIIEN WAIT 500 @ GOTO70207030
IF BITi15.51 THEN DISP ”Enpty” @ F5S
=”2°’ t e1151=0@ GOTO7082
7032IF BITII5,41 THEN DISP ”Full”
@ C(151=07035 IF BITI!5,31 7HES
C(151=07040 Al=AS&”、” @ OυTPtJT 708
;As7052 1F A1$=”l” 丁HEN M=17054
IF Al5=02” THEN M=27060 TF Al5=’“
3°’ THEN M=370611FAIS=”B”0RA1$=”D″T
HESC4M+=CrM)−WIM+1017062 IF Al5=hC”
THEN C(Ml=C(M)+w+M+1017063 IF A1$
=″F” THEN CfMl=07064IFAlt=”G”THENC
(Mlk’(M17065 IF Al5=’°H” THEN C(1+=c
t11−警1lll @ CI2+=c+2+−wz12+e C+31=C
131−W11317070OFFTZ)IEOL!T7
7080 RETURN
7082 IF Al5=”F” ORAl5=’°B” ORAl5
=”D” THEN フ080 ELSE7090 DISF’ ”
5ssitch on ASSAYOHA丁” @ BEEP @
WAIT 5000 ■
RESET ? @ GOTO70007100DISP AS @ A
S=”*TF84A ” @ 16=W1(41@ GOSUB 720070
0 J6=INTIW1(41/(W1+11*48000/W11111+2
57 @ GOSUB 72007115 IF Wl[21=OTHEN l
6=60258 ELSE 16=lNTIWIT41/(%T:l12ド48
000/Kl 2111÷2577120 GO5L′B 7200 *
IF W1133=OTHEN 16=60258 ELSE16=
IN丁IW1f41/1W1131傘48000/W131)l+257712
5 GOSUB 7200
7130 GOSUB 7000
7190 RET+’)iN
7200 BS:” ” @ HIS”+°’0123456789ABC
DEF”7205 FORJ1=4 To I 5TEP −17210I=1
6 MOD 16 @ BS[Jl、J)]=HIS[1+1.1+l1台I6
:T6−I @l6=16/16 @ NEXT Jl)21S AS=、A
S&”=”ABS[3,4]&”!”ABS[1,2]7220 RETUR
N
7250 M=O@ AS=”宰WFCC8°’ @ GOSUB
7000 @ GOSUB 7700 (I GnTO
7280ON KEI°# 1.”04ve” GOTO7430@ ON K
En; 2.”5uck” GOTO7300ON KEYt 3.”Back
” GOTO7400@ ON KEYt 4.”Empty”GOTO746
0
7320ON KEl−45,VAL$(WIM+1011 GOTO7360
7330ON KEYt 6.VAL$(C(Mll GOTO7440734
0ON KEYt 7.”R@tur” GOTO73557350ON K
EYt 8.”Syr、”&VALSIMI GOTO74807352K
E)’ LABEL @ GOTO72807355OFF KEYt 1 @
RETURN7360 CLE、AR@ DISP ”Volume per
Key”;@ XNPυT H1s!WIM+1O1=%’AL(HISI!
AS=”*A”&HIS@GO5UB700073)OGOTO72BO
7400AS=”本D” 11 GO5LJB 7000 @ GO
TO72807420AS=”*σ’ @ GOSUB 7000 @ GOT
O72807430AS=”*B” @ GO5tJB 7000 @ GOT
O72807440AS=”堆C” ! GOSUB 7000 @ GOTO
72807460AS=”*F” @ GOSUB 7000 @ GOTO7
2807480M=M+1 [I IF M>3 THEN M−17485
AS=”傘”&N’ALSIMl @ GOSUB 7000 @ GOTo
72807500 CLEAR@ DISP ”No、 of Cycles
and Syringe (1−31”HeINPl、!TH1,M
7510 IF M<3 0RM>3 丁HEN 75007520
AS=’°IT”&vALSl)11 @ GOSUB 70007530
AS=″傘E”&VALSI81) ! GOSUB フ0OO75
35II’ )!I HOD 210 TtlEN e(Ml=OE
LSE CIMI=Wl)I+5175−10 RETURN
7700SETTIMEOυT7;20001酬Ai=ll!+77100NT
IMEOUT7Go丁077907720 ENTER708USING ”#
、B” i Hle ASwAS&CHR9IH111m IFH1=13
Or(LEN+ASl>40 7HEN 77407730 GOTO
7720
7740OFFTIMEOUT7@0NERRORGOTO77907750C
11+:VAL(AS[10,16] 17760 C(21!VAL(AS[
20,26]1 @ C(3):VALIA$[30,36])IC(151=
1
7790 ON ERRORGOTO1600@ RETυRN7900 I
F K=OT)IEN N5=O@ GOTO79707910ON T119
1 GOTO?920,7930,7950,7940.79607920
N5g4車L3−(K−1) ! GOTO79707930N3=に本3
00/T151 fh IF K>T15)/2 THEN N5=
150+IN丁tK−T(51/21$600/T151 ! GOTO797
0ELSE GOTO79707940Kl=丁(51+1−K @ N5r
l/に1傘600 # GOTO79707950N5=5+に寧]00/丁(
51+3章t3=lK−119GOTO79)07960 N3:N3/Lf
20+
7970 1i’l+31=N3率L+2017100007975 鼠’1f
21=2+71車Bl 3 +/丁(3)零11−1101711[丁+5l−
K)/丁(507980W1f11=B171−W1f21−W1+31 !
IF I=+9 丁)IEN RETtJRN7985 A$=”
本K”&VALSfW11111&−”&VALSfMII211&”、”&V
ALS+W11311 @ GO5tJB 71007990 GO5l
jB 7000 1! RETURN8000 51fll=4 @ S
1+21=、3 @ S1+31=、25 @ X=9 @ AS=”
零WFCC8°。
@GO5L’+37000@GO5L!B77008010FORK=O丁0T
151@GOSUB7900@FORM=1丁o3@511M1=S!+Ml+
W11H1零T(81m1.1 @ NEXT !−1@ NEX’l’
K8060FORM=ITo3@IF51+Ml>C(M1丁HENDIS
P”Syringelo;M;” is filled” @ GOSυB
81008070 NEXT H@ RETtJI?N8100に=81
20’r@AS=”本”&VALSIMl@GO5tJB7000@IF)nK
丁HEλζ 8120
8]05 511KC54iKl+、2 @ IF 5IIEI>WIK
I 丁HEN 51fK+=$11klε107 IF S1+Kl)
Bt]91 THEN S1+Kl=B11918110 A!、=”傘=
”A:VALSfS1+Kll @ GO5L;B 7000 @ Wl)
;+51=51t):18120A’、=’“”C”@GOSし;P7000ε
190 RETLIF!N
8200 I:O! BER,IE] is]8205 GOSL’B
79008210 H2=T131章−1121/BT718220 H4
:T141昨11f3)/Bf71 ! [S]8230 H3=711K
l零1000000/T11?+/H2@J1=T2():111000000
/T1181/82
8240 RETυRN
8250 I=9 @ GO5UB 82058260 RETLI
RN
8500 RESET 7
85]OASSIGN= I To AS @ READ= 1 ;
H3,H4,XO,XI、N2.:1:3.S’0゜’+’l、Y2バ3.
E3S、E4G
8550 GRAPH@ GCLE、AR@ 5CALE O,Zoo
、O,]00 @’ IF N2=OTHENX2=fX1−XO115
8560)10VE30,0@LDIRO@C3lZE3@LABELE3S@
F5=lX1−XOI/7 @ F6=fYl−Y01/108590 5CA
LE Xo−F5.XI、YO−F6.Yl @ X、AXIS Yl
、N3.XO,XO+X3 @XAXTS)’コ、X2.XO+X3.X18
620 X、AXIS ”+’O,X3.XO,XO+X3 @ XAXIS
YO,N2.XO+X3.XI @Y、AXIS XI、)’3.MO,Y
O+)’38650 )’AXIS XI、T2.YO+Y3.Yl @ Y
AXIS XO,T3.YO,YO+)’3 @YAXIS XO,T2. Y
O+)’3. Y18660 FORK=XO+X3 To Xi 5
TEr X28670トl0VEK−F515ハ゛O−C’t’1−YOI/
208680 LABEL VALStKl @ NEXT K86
90 FOI’l K=)’O+Y3 丁o YI 5TEr Y2
8700MOVEXO−(Xi−XOI/10.に−F6/28710 LA
BEL VALSIKI e NEXT K8900 ASSIGN=
I To率@ RETUR\9500 TRI::丁 @ Pr?INT
@ PRIN丁9510 PllI−1丁 ”Measurement
”;D4S[15,201;” ”;DIS;D:’ tPRINT
”Diskette : ” ;B9S ;” ”1D3s9540 FO
R1=I To 32 @ PRINT ”−”H@ NEXT
I @ PRIN丁9542 IF N1=OTHEN 9700
9545 PRINT ”Time rs]min”;TABf161
;B(131;”bis”HTABf241;Bi141;’°see”954
6 PRINT ”Time [S]max”HTAB[161;T[6
1;”bis”;TA、B1241iT171;”see”9547 PRIN
T”Interval ”;Ll;” / Integration”;L
2954B PRINT ’°May、、St、dev”;Bfll;” /
Non1in、’°;Bf2);”%”9550 PRINT ”Range
1 from ”;T+11;” to”;T(23;”nm”955
5 PRINT ’°Range 2 frorn ”;Tr12)HII
to”;T(131;”nra”9557 PRINT Int、Ref、fr
om ”;Tll0I;” to°’;T(111;”nm”9560 P
RINT ”じ°;EIS;”]”;TAB(231;丁13);’°nM”
9565 PRINT ”in tbe As5ay : ”;B
1171;TAB1231;Bi12;”ハ?I°。
9580PRINT”[’°:E2s;”]”;TABイ231;T141;”
Ho。
9585 1’RIN丁 ”Ha>:、 Cone、 in As5a
y: ”;T1141HIIM”9600 PRINT ”No、 of
Po1nts”;T151HTAB+241;”Rep、”;T181965
0 PRINT ”Delta Epsilon 1 : ”
;T1171;’°1/m)I efl+” tPRINT ”Delt
a Epsilon 2 : ”;T1181;’°1/mM c
m’。
9657 PRINT ”As5ay Volume :”;TAB12
5);B(71;”ml”9690 FORI=l To 32 @
PRINT ”−”i@ NEXT ff 1!’ PRINT9
700PRINTERIs2@RETURNアペンディクスI
50 + KIN I B、M。
120 COM 5)IORT 81(801,52180>、83(801,
T(20)、T1141H,T2141)。
L(20>、B(202,2B、Al1.5)、BO125COM INTEG
ERC1,C2,C3,C4140COH711[65]、Ell[20]、F
2a[20)、D$[20]、DIS[1]、D2゜D3$[20]、D4$[
20]、B9$[8]180 DIM F$[1]、F6a[1]、F3a[3
0]、F4a[30]、F7$口、]、F5$[1]。
F5a[60J
1905HORT YO,Yl、T2.T3.XO,Xi、N2.N3.Ll、
L2.Ql、Q2200 uz=so @ F6gH”0” @ N=10 @
Q1=1 @ Q2=1 ! F1a、11011 ICLEAR@ L
OCAL 7
210 Fg=”A” @ F5$=”O” @ J=1 @ K=1 @ z
s=o @ V1=0 @ V2=Q @V3=0
250 ON ERRORGOTO320,@ PLOTTER1@ IF z
agx THEN GOTO320GOTO800
490ASSIGN# I To * @ ASSIGN# 2 To *50
0 LIWB(11)@ L2=B(12)@ 丁(7)=B(16)@ T(
8)=B(15) ・L3=256−(1/T(5))! ON ERROR
GOTO500505CLEAR! DISP ”*本” jX70グラム:
ヘッドメ:−ユ−”ネ*0510 DISP ”Dausr”HB(13);B
(14);”und”;T(61;T(7);”5ecI′520 DISP
”Bereich 1 von ”HT(1);”big”HT(2);”n
m”540 DISP ”Normierung von ”;T(10);”
bit”;T(111;”nm” !l5P
570 DXSP Ell;TAB(191;T(3);”nm (E)ll!
DISPE2$;TAB(193;T14); ”m (S)”57S
DISP ”5tdev Mi”HB(1)H”%EZH9g”:B(2>:”
xl。
580 DISP ”Anz R1!P、”;T(81;” / Anz、Pu
nkte’°1T(5)640 IF Q1=1 丁HEN DISP
”Hit Enzym” ELSE DISP ”0hneEnz
yrn”
650ONKEY=1.”Exit”GOTO500@○NKEY=2.”)l
ess覧+”00丁01000@0NKEY*3.”)Iotor”GOTo8
60655 0:、 KEYs 4.”WaschSP” 00丁0 75
00 @シ ON KEYs 5.”)I へ1トζPG@”
GOTO800@ ON KEYW 6.”0hneE” GOTO76066
0ON KEYW 7.”[E、Sll′ 00丁0 880 @ O
N KEY: 8.”Punkte”GOTO940@ KEY LABE
L @ GOTO6507601F Q1=I THEN Q1=2
ELSE Q1=1765 GOTO500
800CHAIN ”Autost、KSYS”820CLEAR@’DISP
”GebenSiedie”;H2SeDISP”Konzin)1bei
[57(0: Referenz”;830 1NPLIT Ll181@
IF Li181>丁141/3 THEN DISP ”+5)
zuhoch” @ BEEP @ WAIT 2000 @ GOTO82
0840)10DEO,1@’J=o@GO5UB4800@GOTO1000
860GO5UB 7250 @ GOTO5008EIOCLEAR@DI
SP”GebenSiedie”@DISr’E1$;”):onz、”eDI
SP ”irn As5Ay in +nu11” 4!’ INP
L’T 丁13+885CLEAR@ DISP ”Geber+ Sie d
ie” @ DISP E2S:” Konz、” eDISP ”in
der 5prit=e rH1’°;(’ INPUT 丁14189
0 GOTO500
940CLEARSDISP”GebenSiedieAnzah1Messp
unkte12−401 und die Anzahl Repetitio
nen +2−101’°;950 INPUT T151.TlB+!
IF Tl51>40 0RT151<2 0RT181>10 0R丁+8
1<OTHEN GOTO940ELSE GOTO5001000CLEAR
@ DrSP ! DISP Tl$[1,633! ON ER
ROR00丁0 5001010 DISP ”Spr 1 max”;B(1
7);”ml、 Fuellst:”;lNTl+1−CI/C31*B(17
1傘101/10;”ml”1020 H1=INT(+1−C2/C4)*B
(19111001/100 @ DISP ”Spr 3max”HB119
1;”ml Fuslist”HHI;”mlo。
1030 IF DJS[3,33!”1°° 丁HEN DISP
”Spr 2 max”HB+181;”mlFuelg”;)117B+
171市B+181 ELSE DISP ”Spr 2 off”1050
DISP ”Maximale 5ubstratkonz”;T114
1;’uM°。
106(l DISP ”IJot: ”:@ IF D4s(5,
5]=”1°′ 丁HEN DISP ”OD vs @t
Berl ”+
1065 IF DJS15.5]=”2” THES DISP
”Ableit、 Berl °°21080 IF D4S17.71=
”1°’ THES DISP ”TN vs [5ubstrl°°;10
85 IF D4S15.7]=”000°’ THEN DISP ”O
FF” ELSE DISP ” ’。
1090 IF D4SJ4.4]=”L” THEN DISP DJS[1
0,15];” abfezo(en”ELSE DISP ”Keine N
ullinie”1120 IF Q2=I THEN DISP ’°[”;
E2S;”] Aufsteigend” ELSEDISP ’!(”:E2
S:’°] Absteigend”11501%:1 @ GO5UB 82
00 @ DISP As5ay\’olumen :”;lNT11000
傘H1l:”ul”1160 IF T1191=l THEN MSP ”
Geom”:116.1 IF 丁!191=2 THES DISP
”Arithm”;1170 IF T181=B THEN DISP
”Gem1schte”;1175 IF T()91=l 丁HEN
DISP ’°Rsziproke”;1180 DJSP ” R
e1he ” @ ON ERRORGOTO10001200ON K
E’+−= ] 、”Exit” GOTO500@ ON KEYW
2.”Plot” 00丁01320 @ ON KEYW 3.”I
nbalt”、GOTO16001230ON、)こEY=4.”Commen
u”GOTO1690@0NKEY=5.”Exec”00丁0 2000
@ ON KEYs 6.”Null” 00丁0 15001260O
NKEY=7.”AufAb”00丁01400@0NKEYW8.”Einz
elMEI。
00丁0 820 @ KEY LABEL @ GOTO12001
3201F 1l−1s15.?]=”000°’ THEN D4S1
5,7]=”100°’ @ 00丁0 10001330 IF D−
ISI5.71=”Zoo°’ THEN DJS[5,7]=”200°’
@ GOTO10001360IF D−1s15,7)=”200” THE
N D4S15.7]=”001” !’ GOTO1000ELSE DJS
P5.月=”ooo°’ @ GOTO10001400IF Q2=I T
HEN Q2=2 ELSE Q2=11405 GOTO1000
1500IF DJS[4,4]=”L″THEN DJS[4,4C”O°’
! GOTO10001510CLE、AR@ DISP ”Geben
Sie clie Bez、des Nulllinienfile
s 13 Zeichen+”;@ INPUT H2Se DJS[4,
4]=’°L”1515 IF LENIHISl!3 THEN G
OTO1510ELSED4S(10,151=”Nul”&HIS1540
CREATE DJS[10,15]&”、KSYS−丁C51+2,76
8 1” ASSIGNm 1丁ODJS[10,151&”JSYS”1
550 FORJ=l 丁o 20 # 511Jl=TIJl
@ NEXT J1560 PRIN丁コ 1.1 ; 51(115
70FORJ=I To T(51@ READ# 2.J ; 51
+11’ )+1=O@ FORJ1=1 丁0 5 @ H1=H1÷
5l(Jll @ NEXT J11575 H1=)1115 @
FORJ1=I To T(7)本2/L2+3 @ 51fJll
=S1(Jll−Hl * NEXT Jl @ PRINT# 1.JI1
; Sl+)1580 NEXT J @ ASSIGNi I To *
@ Hls:DJS[10,1531590PRINTERIs 2 e P
RffNT ”Nullinie als File: −Hls;’・ges
peichert” @ RETURN1600 CAT ”、”&B9S @
DISP ”Loesehe File”;1605 INPUT H2S
e IF )115!”N” ORHIS:”E” ORHIS=”
” THENGo丁0 3000
1610 IF )Il$=’°PACIs” THEN PACK * G
OTO1600ELSE PLjRGE H2Se GOTO1605
1660BEEP 50,1000 @ DISP ”Error”;ERRN
e MSP”Beriehtign Sie den Fehler◆C0N
T”;ERRL1670 PAIJSE
IG75 GO1’0 500
1690 GO5UB 1700 e GOTO10001700CL
E、ARt DISP ”)Co+nrnentar 2 Zeilen”4
FLIP @ INPUT丁IS@I FLIP
1710 丁3S=TIS&” ” @ IF LEN1丁1$1<
63 THEN GOTO17101720RETURN
1800 ASSIGNi 1 τODJS[10,153&”、KSYS”
@ READ倉 1.1 ; 5it11820 FORJ=1 丁
0 20 @ 2B=S1(Jl ・ IF Jd ORJ=4 0
RJ=s 0RJ=7 0RJ=15 0RJ=16 THEN GOTo
1840)835 1F Za#T(JI THEN BEEP @ G
OTO18851840NEXT J ! zg=1 ! ASSIGNj
I To 傘1875 H1$=D4S[10,15] @ PRINT!:
RIs 2 @ PRINT ”Nullinie:”;Hls;” ab(e
zo(en” 1! RETυRN1885 DISP Variable”;
にTIJ);”# Nullinie:”H281890DIS!−”Aend
ern Sie die Variable +999=ignorel”;@
INPUT Hls IF H1=999 THEN 18401892
IF J=l ORJ=20RJ=100RJ=11 0RJ:120RJ
:1..40RJ=19 7)IEN BEEP @ GOTO1000EL
SE TIJl=H]1895 00丁0 18JO
1900Ml=1 @ N=B171 ! GO5L;B 7000
@ WAIT 1000 % GO5UB1910 MODE O
,1
1920REFERENCE 10
1930IFNMEAS=OT)IENGOT101930IFN MEASt
!RE 、1
19501FN>IEAS=OTHENGOTO19501960FORJ=I
To 10 e IF VALUEIL(Jll>5 THEN
00丁0 190019)ONEXT J 46 RETvRN20
00 ERASE S丁A丁tIS2010 1F 丁131=o THE
N BEEP @ DISP ”tE]=O!” @ WAIT 30009
00丁0880
2020 1F 丁+141<丁(41/15 0RT(141>7(41/4
THEN BEEP @ DISP″[53falsch:” @ W
AIT 3000 11 GOTO5002040GO5υ83600 @ C
LEAR@ DISP ”Measung in Process ”2200
GO5L’B 365112230 GO5L!B 8000 e 176
M”O″ !TP2239 IF Q::2 丁HEN K−丁15)
ELSE K=12240 GO5UE 7900 @ GO5U
B 7800 @ IF Q2=2 THEN GOTO22−1
7224D FORK:1 丁o 丁(5) # zs=o e
GOTO22502247FORK=丁(51To I 5TEP −
1・ Z5=02250 IF F7!=”2°’ THEN F7S=″O”
e c=p32260 R9=O・R8=O@ 56!O@ 57=0230
0 IF K<4 AND Br151<5 THEN T181
=B(15)$2 ELSE丁181=B(151
2305FORJ=1 丁o 丁(8)@ F6$冨”o”2310 G
RAPH
2350GO5UB 3500
2360 IF F5S=”2°’ 丁14EN GOTO29902
420GO5UB 4400
2430 GO5UB 3300・XF F5S=“’N” THEN GOT
O25002450TF F5S!−1″ THEN GOTO2310249
07F F6F、=”1” THEN GOTO25302500 NEXT
J
2L30GO5UB3700
2580 IF FaS=”2” THEN 00丁0 290525
90 GO5UB 3800
2654 1F FフSg”l″ THEN 00丁0 29902655
NEXT K @ 00丁0 2990 ! ENDM29002
F FS!”A″THEN GOTO225029050S KE’;i 2.
”N、5tdev” GOTO2950e ON KEYg 3.”EingW
”GOTo 2960 e ON KEYI 4.A11eW” G(’)To
22502910 ON KE’;z 6.”Waiter” GOTO25
90* CLEARe KEYLAB):L2920 BEEP 300.
10 ・ WAr丁 3000 @ 00丁0 29202950 F
6S=”O” ! DISP ”Neue Standardabw、
2 Eing、−It ThPL’h
B(11,P、121@ GOTO253029(io F6#=−1” @
DISP ”Elnzelmethsunt NR,” @ INPじ1’ J
@ GOTO2990ON ERRORI:i0丁03000 @ T!71g
Bl)61 @ L1gB+111 6’L2=B1121 t 丁18
11’B+151 9 ASSIGNi l To ’2995 D
ISP 丁IS @ DXSP @ DlSP ’3L100 O
N Kr1’# 3.”Pt+nl;t W−00丁0 3100 f
ON KEYI2、”Auggabe” 00丁0 325(’1 1
71 ON ERRCIRC0TCI 30(1030100?I KE
Yt a、”Motor” 00丁0 3050 e ON KEY
t 4.”CommCnt”GOTO3030@ ON )CEYj 1
.”Exit″ GOTO49030150>ζ KEYg 5. Re5)
I″ 00丁0 3060 e ON ):EY= 6.−”5ehl
u*t、’。
00TO3000@0NKEY!?、”−Menu”’C+0TO300030
17KEY LABEL
3020 BEEP 300.10 @ IIIIAI丁 3000
@ 00丁0 30203030 GO5UB 1700 @ GOTO2
9953050C05UB 72501! GOTO30003060Fツボ冨
0°2″ I CLEAR! DISP ”^b welchem
Punktweiterfahren″ @ INPυ丁 K@ P3mK
@ 0O5t、’B 31103oフOGO1’0 2240
3100 F78=’°】” @ CLEAR! DISP ”We
lchen Punkt wjederhclpn”t’ INFl、1
丁に・ GO5L’B 3110 @ GOTO22503110Tl(
);l:O! 丁211:神03コ50 ASSIGNj 1 丁0 “
°丁E!iP1 、KSYS’。
3200 RETL′EN
3250 1F Ql”2 THEN GO5uB 1510 @
00丁0 4200 ELSE GOTO4200330057=OlF
F5S=’“0°” ! EM 丁EST3310 FOI?
J1=78/L2÷1 丁OT9/L2◆1 @ H1=lS31J1÷1
1+531J1−11 )/2−531J11 @’ IF ABS(M
l l>57 丁HIN 57=813320 NEXT J]
3340 IF Si>、002章+1+21):/丁C51)港B121
THEN DISP9°Hst”:に:J:”viederh、” @
F58=”1°’ ELSE GOTO33503345IF Z5
>3章丁(8) 丁HEN PRINT ”Hsg ”:に;J:” u
ngenau・’tZ5=25−2 fb FSS=”N” El、SE Z
5=Z5+1 @ BEEP3350 IF 5G=O丁HEN 56
=13360 RETljRN
3400 57g0 @ vss=”o°’ ! Ml 丁ES丁3
.11o 13=O@ FORJ1=T8/L2+1 丁0 丁9/L
2+1 * H1=lS9−5IIJ111−2 6 13=I3+1
@ 57!=57+)113420 NEXT Jl e Si:S?
/I3 @’ 5s=sブ、5 @ IF SG<、05”11.5
−に/丁1511率Bf31 OR01g2 丁HEN GOTO345
03−1−+0 IF 5G)AE(SIS9/!5gB1ユll 丁H
EN DISP ”Mittel”;に;” n1eh■
1.0rdnunt” @ BEEP ELSE 00丁0 3450
3445 TF Z5>3aT181 丁H)\ PRINT ”Wer
t un:uverlaesiia” e’F5$:″(1” @ Z5
xZ5−I ELSE 25=I5+1 ! I F5G=−1”34
50 IF 56zO丁HEN 56=13460 RETυF、N
3480 1F ERRN!2 丁)(EN GO5tJB 1900
ELSE C1OTO16603490PRINT ”Ref W、
″ @ GOTO23ユ03500 GO5UB )900 ! M
ESSE3510 )+4=f丁+111−丁11011/2+1 1! H
2=(丁(21−Tfl11/2+1 60NERRORGOTO3480
3515LCINTflB1211傘10−31富):/T151+41/10
@L2!INTI(B11!l傘10−31傘に/丁f5妻+41/103
516 IF L2>B1121 丁HEN L2=B(12)352
0 丁171KB11Gl/B1121’lL2 @ lF Ll>Bml
丁HEN Ll:R1))13530 MODE O,19GO5UR
78003540MEASURE Ll、L2.O,丁(71$2+2率L23
550 FORJ3=1 丁o 丁17+”2/L24335GOIF NH
EAS<JI THEN GOTO35603570Ml−09FOR12
=丁11)To Tl2)5TEP 2 @H)gH1+VALtJEr
!21 (’ NEXT 12358052(Jl>=H1/H2e H1s
O3585FOR12g丁+10) 丁o T(1115TEP 2 *
H1=)+1+t’ALtJEIZ21 eNEXτ I2
359082(Jl )gs21J11−お1/H43595NEXT Jl
@ FIETIJRN3600 ON ERRORGOTO3600!
5etup3601C1,EAR1DISP″Bezejchnun@der
Massun(zBA、1−;@INPUT f))S、C2@ IF
C2>9 0RC2(O丁HEN 36013602 DlSP ”He
mocod* (J Buchstabenl″;・ INPUTIMS[
1)、2o】3603 D!+eD−15117,20]&l111&t?A
!J(C2)&″、”&B9S e ON rRROFI GOTO60F
1
3604 ASSXGN倉 I To DS @ DISP ”Fil
e existiert” @ ASSJGNgl To 傘 e
BEEP e k’Aff丁 2000 @ GOTO1000コロ
05 IF ERRNg130 0RERRN*125 丁HEN D
ISP B9S;”n1eht *tf”e BEEP @ WAI丁 2
000 @ GOTo 36003GOB ox ERRoR00丁0 1
6603610 IF DJSj5.フ】j″ooo” THEN D
ISP 5chalten Sie denPlotter ein″
3615 OFF KEl”k 2 @ OFF KEYj 3 @ OFF
)CEYj 4 ・OFF KEYI 5e OFF KE’Yj 6 會O
FF KEYI ? oOFF KEY着 513620 PLOTTER
l @ PRINTER23625FORI冨I To 15 e
K冨丁(51e aosun 8260 @L(20+=L(201傘
?(14)/344 @ NEXT ズ362フ L41B)冨−1@
GO5UB 4800 1 RE3630 Lr181g丁(14)/3
@ GO5tJB 4JiOO3635GO5L!B 8000 @ GO
5tJB 95003640 FORK=OTo 40 @ 丁1(K
)!O・ 丁2rKl=O@ NEXT ):36J!、 IF C4@
(−1,43!”L″ THEN GO5UB 1800364) RET
L;RN
3650 PRINT @ PRINT 1°NR):onst、1.O
Re1.Abw”!F6$=“0°1
3655 DISP ”Keys nur zwiseh@n 丁o
enen aktiv” !)11gIN丁lT181噂丁T51m1丁+
7)+51/200+IF123657DISP”)jessdauer”HH
l;Min、”3660 DISP ”NRKonst 1.0″! DISP
″NR(SubstrlKorrF^”
3670 ASSIGNj 2 To 71MP、KSYS” 1!
ASSIGNl 1 T。
”丁E)IP!、);SYS″
3680 ON KEYt 1.−Exit″ 0OTO490@ R
E丁υRN3700 FORJ】gl 丁o 80 @ 52CJ1
two e NEXT Jl ! HI丁7E3710 FORJ
=3 丁o 丁181 e READ番 1.J H51()372
0 FOI’l Jl!I To 丁1フ162/L2+3 @
521Jユ)客521J11+5l(Jll tNEX丁 Jl
3730 NEXT J ! FORJ冨1 丁0 110 1!
5i(Jl=O@ NEXT J @ H5=H43〕35 IF
C4@IJ、J]=″L” 丁HEN ASS1GN倉 1 To
皐 @ ASSIGNj I Tn
DJtllo、IALL”、)’、SYS” @ READj 1.に+1 :
31+ 13740 FORJ)I1 丁o 丁(71”2/L2d
4! 521JIC52(Jll/丁(8)−5IIJII ! NL
’;T Jl e GO5UB 44003750 PRINTz
2.): : 5211 @ XF C4@(4,4]=”L”
THEN ASSIGN=@ 1
To 電 @ AssゴGNX I To −丁EMP1.KS’;
S“3760 GO5UB 3400 @ 丁11):1=s9 e ’r2
(K1gS6 (’ GO5UB 8200 @H2!H1/13(ニーN
1富B1171/C313780DISP L’5ING DD、XX、4D、
DD、3X、D、4D、3X、D、4D” ;に、H4JI2.56 @ R
EゴυRN3795 ! AUSG
3800 X6!Oe F5=+1 @ F6=1 @ xs=le IF C
4@[S、5]!”2” T)IENX6=1
3805 2F Ql!2 丁)IEN F6藁23810 H3=1
・ GO5LiB 65003820 X5=0 1! IF C4
@15,5]=”1″ 丁14EN FS=J e ragz ・ X
6s+1 ■
H3!1 e GO5UB 65003830 IF ABSITII
I;11>9 0RABSI丁21K)l>9 THEN PRINTに:
T11に13丁21):l e aoTo 311503840 PR
INTERIs 2 @ PRINT USING ”DD、3X、
SD、6D、3X、SD、6D”: K、T11K1.T2fK1
3850 RETURN
3990 ! AtjSGABE
4200 PRINTER2@ PRINT @ IF Q1=1
丁HEN PRINTTAB+7);”d+1niODt+dt−ODtl
/dt”4201 IF Q1=2 丁HEh PRINT TAB
I 71 ; ”Absorption”;丁+1+;”bis”Hl(21,
’°nm”4202 GRAPH@ C,OPY @ PRINT
@ PRINT @ PRINT @ PRINT @4203 P
RINT ”Messt+ng ”:DIS:” ”;D2;” ”
;D4S+17.2034205 PRINT @ PRINT @
PRINT ”NR,Ber I Abs、Abs。
[5ubstrl”
4210 PRINT II τNil/5eal TNil/5
ect M” ! PRINT4220);=T1519GOSLI8
82004230 X5=1 @ X6=O@ E5S=”PF丁N、
KS”l’S” @ IF Dis[7,7]=”1”THEN XS
:1
4250 GO5UB 8500
4260 LORG O@ C3lZE 3 (e GO5UB
5500 1! ON ERRORGOTO16C,O
4270FORK=O丁o T15) e GOSljB 82004
280 H2:T13)本IH1−N3本Bf19)/C31/)+1 @
H3=−+71tKl率1000un/H2+ & Ji=ABS+T
2+に+$1ooQ事H4,/)+214290 )10VE )14.H3@
LABEL ”*”4300 PRINTERIs 2 @ IF
ABS+H31>999 0RABS+Jl l>999 丁)IENPR
INT K;H3,Jl、H4@coTo 43124310 PRINT I
JSING ”DD、XXX、5DDD、D、XXX、5DDD、D、XXX、
DDDD、DD”、に、H3,Jl、H4
4312PRINTi l : 83.Jl、H44315IF D4S
[7,7]=”1” THEN GOSljB 67004320 NEXT
K @ PRINTERIs Z @ PRINT @PRINT @ PRI
NTTAB171:E4S @ C0PY4330 PRINT @
PRINT 丁IS @ PRINT @ PRINT @ PRI
NT @ PRP;Tl PRINT
−1335IF T19143 THEN GOTO43504:+40
FORK=I To TIS1 @’ READ# 2.K :
Slt+4345 FORJ=1 丁OTi71’2/L2+2 @
PRINT: 1 : 51fJI @ NEXT J@ NE
X]’ K
4350 ASSIGN# 2 To 本@ ASSIGN閂I To * @
GOTO10004400丁B=TNTI fB+ 131+に/T151本
(丁161−Bi13+ 11/L21*L2 @ ALPHA@ ON
ERROR00丁0 16604402 丁9=IN711B+141+に/
T+51$+B+161−B114111/L21寧し24405 Bl:EP
100.10 ! ON KEYl 2.”N、5tdev” GOTO45
60@ 0NKEY’5.”EndMen”GOTO29904410ON
KEYl 4.”A11e W” GOTO2250@ IF J=
丁(81丁HEN 0NKF)’: 3.’°EinzW” co’ro
4570445(+ FORJ1=I To T171/L2+2 t
J2=TNTIJl+T171/L2+4455 H3=ABS11S21J2
+ll+52iJ21+521J2−111/3−52+J111 @ IFH
3< 、0001 THE+CH3:144605ifJ11”LOGIH3
1@’ 531J11=s21J11−521J214465 5ENT J
l
4470 59=o @ 58=O@ Il”O@ Hl:51111 1i
’ H2:52fl 14=+75 Foe’: Jl:2 丁(I 丁
!71/L241 9 )+3”s1+J11 @ )14=53+J1
14480 S1+J11=1511J1+11−811/+2電L21
@ S3+J11=lS31J]++ +−)+21/+2tL21 @
IF Jl>T9/L2+I THEN 00丁0 449044R5
I「 JC・=TPl/L2+1 THEN 11:11+1 @ 5
9=59+51+JI14490 Hl:H3@ NEXT Jl @ T
3.O@ S9:S9/Il e IF 59=OTHENS9:1
−1500 BEEP 20U、10 @ OFF KEYt: 2 @
OFF KE1°# 3 @ OFF KE1’x 4tl OFF KE
Yt 5 @ GOTO46004560DISP ”Neue 5ta
ndardabsx 2 Ein(、”Hl ZNPL’丁 B(11,
B121!GOTO4400
4570F6S=”2” @ GOTO44004600IF J>10
THEN GOTO46504630DISP USrNG DD、X、D
D、XX、SDD、4D、XXX″ ; K、J、59 @ IFJ=OTH
EN 00丁0 46504640 PFilNT” 1.J ;
52(+4650 RE1’URN
4ε(io F6S=”Q” : Tl:ST rn481OLAMBD
A Lr11.L121.L1314141.L15+、L161.L171.
LI81゜L(91,Li101
4B20 丁IME 5CALE OTo T1714830 ABSO
RBANCE
4840 IF Li181(=OTHEN GOTO19004850
N5=100 @ Z8=Tr19)@ T19143 @ K=丁
1514860 FORlel To 10 ! G、05UB
8200 @ N5=N3*L(181/H4@ NEXTl @ 丁
(19+=28 @ ZB=1 # GO5UB 78004865
WAIT 1000 @ 0O5UB 35104920 H1=Ot N
2WO@ H3=04930 H1=5:11 )@ )12=521T171
/L2+21 * H3=521T171*2/L2+21 のHJ=AB
S目141−821/181−)131寧10015010 GOSljB 8
500 @ DrSP t!5ING ”13A、SD、5D” ; ’°
Anfan(s 01): ”、Hl @ H1=H1/T1151*10
005020 DISP LISING ”12A、3X、S3D、3D、X
、2A” ;”js)Gemessen:”、81.”を田°゛5030 D
ISP +、!5ING ”18A、3N、3D、D、A” ; ’°R
eaktion in】1丁ejl”、H4,”%゛。
50F+ODISP ”Kinetische Konst、1.0rdnu
ng”5060 X5=1 II N6WO@ ts=1 @ F6
=2 @’ IF D4S15.5]!”1” 丁HEM■
X6=1
5070 H3:1 @ GOSljB 65005080 FORJ
l:I To TlフI/L2+1 @ J2=J1+丁17+/L2+
1 +51(J11=52(J2+ e NEXT J15100X5=
1@X6=O@F5=1@F6=1@IFD4S[5,5]=”l°’THE!
。
XS:】
5110 H3=1 ! GOSljB 65005150 K=INT(
T(5)/31 @ J=O@ GO8UB 4400 @ GOSljB 3
400 *H4=ABSIS6/S9傘1001 1! IF H4>99
99 丁HEN H4=99995160 DISP tJsING ”2
OA、3X、4D、D、A” ; ”Genauigkeit+No1sc
l:、H4,”%” @ o1=o @ 82=05170 FORJ=2
To 6 (I H1=H1+511Jl @ NEXT J
e H1=)II15518(l FORJ=Ti71/L2−3 To
T(〕l/L2+1 @ )12=82+51+Jl 11 NE
>:■
J @ H44315@ H3=ABS11)+1−H21/M1本100I
5190 DISP IjSING ”21A、2X、4D、D、A” ;
”υn1inearitaet %’Onk】=9°:H3:”%“。
5300 DTSP ! DISP ! GO5UB 5400
t’ XF Q1=2 丁HE:ぐ RE丁υRN5350 H1=P
1 @ H2=P2 @ xa=o e xs=1 @ xss=″PFAB
JCSYS” lD IFD4S15,5】=”2” 丁HEN xs=1
5355 GO5uB 8500 e IF D4S(5,5]=”1°’ O
RD4S16,6]=”1°’ THENPl:Hl 11 P2=H2
5360X5=1 * X6=O(I F5=1 @ F6=1 @ IF D
4S[5,5]=”2°’ THENXS=X
5365H3=1@GOSL’B65005390 GO5UB 5400
@ RE丁υRN5400 ALPHA @ OFF KEI−壽 6
@ OFF KEYt 7 ! OFF KEYt 8@a 0SICEY
* 2.”Forts” GOTo 54905−110 ON KEYt 3
.”Graph” GOTo 5420 @ ON KEY参−1,”Alph
n”GOTO5−1oo e KEY L、ABEL @ 00丁0
54505420 GRAPI
5450 GOTO5450
5−19ORETじRN
5500 DS:D−11117,20]&DIS&VALSID21&”、
”&B9S @ ON ERRORGO1’05510 1F 丁+9+
=3 丁HEN )+1=INT1丁151本丁+71/L2/161+10
ELSEH1+=10
5550 CREATE DS、)11.256 @ ASSIGN# I
To DS55フOPRINTi 1 ; Dis、D2.D3S、D
4S、Elft、E2S、TIS、丁(1,L(1,8(1@ D2=10
5660 RETURN
6500 IF X6=OAND X5=O丁HEN GOTO669
06510IF X6=1 丁HEN PRINTERXS 705
@ PRINT ”Pυi” e GO5UB6515 IF
X5=1 丁HEN PLOT O,0,26520FOFI J1=
2 To 丁+71/L2◆16530 H−IJJI−11本L2654(
I Qへ F6 00丁0 6550.6560.6570655(I H
3=S11J11 ! GOTO65806560 )13二521Jil
6 GOTo 65806570 N3=S3(Jl 1
6580 ffF X6=I T)IEN PRINT ”PA”;
lNTlH4率pH;”+”;INTIH3ネP2);“’;PD;”6585
IF X5=I THEN PLOT )+4.B3,16590 NEX
T Jl +! IF X6=l THEN PRINT ”PL
i;”6595 IF XF+=I THEN PENUP @ PLOT O
,0,26690RETURN
6700 PRINTERIs 705 @ PRINT ”SP 1;”67
05 )1]すINTIJI電P21 @ H3=眼T(H3SP21 @ H
4=rNT(H4京pH6710H2Sx”C’&CHR9(31@ PRIN
T ”PU:PA”:)14ニー”;B3;”;LB”;H2S;’“;°“
6720 )+23=“°吟”&CHR5(31@ PRINT ”Pu
t:PA“”;H4;’”、”;Hl;’”;LB”:H2S;”;”
6730 IF K=’rlsl THEN PRINT ”PLJiPAo、
0;”6740RETし+RN
6900 IF F5=I THEN PRINT ”LTi”691
0 IF F5=2 丁HEN PRINT ”LTI、1;”69
20 IF F5:3 THE:; PRINT M2,1 ; ’69
30 1F F5=4 丁HEN PRINT ”LT3,2;’“6
9−IQ IF F5=5 THEN PRffN丁 ”LT4 、4
; ”6950 PRTNT 1lsr++l、B3,1.II @ RET
URN7000 IF ABSIN)>30000 THEN RE丁
tJRN7010 1F N:o THEN RETυRN7020 1F
)11=I THEN C1=C1+N @ H3+=TNT(150
00/Bf511 ELSEC2=C2÷N@M3=INTf15000/B
+6)!7021 GOSUB 7100 @ IF C1>C3+90 T
HEN C1=C1−N @ DISP”Motor 1 out of Ra
ngell@ GOTO70907022IF C2>C4+9Q THEN
C2=C2−N @ DISP ”Motor 2 out ofRange”
@ GOTO709070231FC1<−90THENC1−C1−N@
DISP”MotorloutofRange” @ GOTO70907
024IF C2<−90丁HEN C2=C2−N @ DISP
”さfotor 2 out ofRanae” @ GOTO70
9070251F Nンo THEN N2=129 ELSE N
2=3287030 N=ABS1.Nl
7050 0υTPL’T 709 USING “°≠、B“° :
07080SAVEMl、トI2.ト13.N7090 RETtJRN
7100 IF V1=OTHEN N3=M3+757110 IF v
i=o AND D4S13,3]=”111THEN V1=27115
IF V3=V】+V2 THEN GOTO719071160UTPUT
709 USING ”、f、Bll; 07I20 REGIQTE
7 @ N’3=X’l+V27130OUTPUT7USING”#、B”
iV3ハT3+64.V3@sζAIT5007180 LOCAL、7
7】90 RE丁1.’RN
7250トfl=1!MOTOTS丁***7280 ON KE’:* 1
.”Au5(” GOTO7430@ ON KEYk 2.”Eins” G
O1’07300 ON ):EY: 3.”Zurk” GOTO7400@
ON KEYx 4.”Empty”GOTO7460
7320IFM]:]T)IENONKEY#5.VALS11NTIN/C3
”Bイ17)”1001/100+ GOTO7360
732W IF !!1<OTHEN ON KEYk 5.VALSfI
NTfN/C4*B+191寧10001/10001 GOTO7360
73301FM+=ITHENONKEY#6.VAL4f工NTl1l−(j
/C31mBf171uO1/101 GOTO74407335IFMl<
0THENONKEY#6.VALa(INTill−C21041事Bf19
1章1001/1001 GOTO74407340ON KEi’譬 7.
”Retur” GOTO73557350IF HI:I THEN O
N KEYk 8,11)lot A” GOTO7480ELSE 0NK
EY#8.”MatB”GOTO74807352KEY LABEL @
GOTO72807355OFF KEYk 1 @ V1=16
@ GOSUB 7100 @ RETURN7360 CLE、A
Re DISP ”Volurnen pro Ke>”;e IN
PUT H3S TF ’MP=I
THEN N−INTIH3本C3/Bf1711 @ 00丁0 72
807370 1F Ml(OTHEN N=INTIH3本C4/Bf1
911 ! 00丁0 72807−+00 V]J2 @ IF
M]=I THEN V1=37410 GO5しb 7000
@ GOTO728074201F N)O丁HEN N=−N7425
V1=12@IF?II:ITHENVl:37427GO5UB7000@G
OTO72807430V1=O@ GO5IJB 7000 @ GOT
O72807440IFH1=ITHENV1=3@N=C3−Bf31−C)
ELSEVIJ:’@N=C4−Bl41−C2
74411F N<−30000THEN N=−30000@ GO5
υB 7000 @ GOTO71407445GO5ljB 700
0 t GOTO72807460IFM1=ITHENV1=3@N=C3
−CIELSEV1=12@N=C4−C27−1611F N>30000
丁HEN %=30000 @ GO5L’8 7000 4!’
GOTO746(77465GO5ITI 70(+0 1” 0OTO
?2807480 1F N1=1 7)IEN N1=−1! GOT
O7280ELSE N1=1 ! 00丁075Q(I CLEAR@
DISP ”、Anzahl Zyklen und 5prit、ze口/
21”;erNPUTHl、+(2eM1=1@IFH2=2THENM1=−
17520FOR11=、5 To HI 5TEP 、575:!0
1FM!”I T)IEN Vl=3 (N=C3−CI ELSE V1
=12 e N=C4−C275:NffFN>30000THENN=300
00!GO5L’B7000@GO丁0753n7535 GOSUB 7
000
7537 IF ri=Ht THEN GOTO5007538H=H
+、5 @ IF 工1=HI THEN GO5L:B 7440 @ G
OTO5(107540IFMl:ITHENN:Fe2−B+3l−C1l/
4ELSEN:(C4−B+4l−7545GOSUB 7000 @ NE
XT 11 @ GOTO5007800N1=INTIN11 @
N5=INTIN3) @ C1=C1+Nl @ C2=C2÷N3
@υ1=129 @ υ2:B120+7842 IF C1>C3TH
EN C1=C1−Nl @ C2=C2−N3 @ DISP ”Mot
or 1out of Range” @ GOTO78957844IF
C2)C4Tl(EX C1:C1−Nl @ C2;C2−N3 @
DYSP ”MOtO!” 2out or Range” @
’ 00丁0 78957850 V1=Oe GOSUB 7100
)860 0Ll’TPυ丁 709 USING ”#、B” :
07880 GET υ1.U2.υ3.シ47890 RETURN
7895 F5S=”2°’ ! 00丁0 78907900 N1−
B171 @ XF K=OTHEN N5=O@ GOTO,7970
7910ON T(191GOTO?920,7930,7950,7940.
79607920 N5=411L3−TK−11! GOTO796579
30N3=に市300/T+51 @ IF K>T151/2 THEN N
5=150+INT+に−T(51/2+1600/Tf51 ! GOT
O7970ELSE 00丁0 79657940 K1=1=51+1−
K @ N5=1/Kl市600 @ GOTO79657950N3
=に*200/T151+3*L3A(K−11@ G(ITO7965796
0N5=N31L(201@ GOTO79707965N1=1−N3/(4
0*N11 @ N5=N3*H1@ N1=N1本H17970N3:
%3傘L12011i’ IF D4s13.3]=”1” THEN N1=
N1*1l−B1181/引4711
7972 Lt4=IN丁110240/Nil 、! IF N3#
OTHEN U3=]N丁110240/N31 !N5=10240/υ
3 ELSE υ3:10242 @ N5=07975 N)=1024
0/U4 @ RETURN8000 N2=100 @ N3=B
Iフ) ! 丁OT PUL8010 FORF、=(l 丁o Ti
51 @ GOSUB 8200 1e )(2=)+2+丁18μ7
N7iN3P
8 N3=H3+T1g)*INTIN] ) * NEXT K806
0 JF H2>C3−CI THEI: BEEP @ CLEAR@ DI
SP ”N1cht genugVolumen in 5pritze
1°’ @ GOTO81508070IF B3)C4−C2THEN B
EEP @ CLEAR@ DISP ”N1cht (enugVolume
n in 5pritze 2°’ @ GOTO81508140OFF
KEX″≠ 7 @ RE丁υRN8150 DISP ”KEYk
CExit und Key# 7= Fortsetzung ” @ 0N
KEY衾 ?、”Forts” GOTO81408160BEEP 400,
30 @ WAxT 1000 @ GOTO10608200GOSUB
7900 ! CALCPULS8210 N1=N3*B119)/C
4+N]宰B1171103 @ IF D4S[3,3]=”1” THEN
H1=H1+N1章B+181/C3
8220HJ:丁N l*N311B+ 1917C47H18230RE丁t
jR人
8500 : AXES
8520 ASSIGNA’ I To E5S @ RE、AD# l :
PI、P2.XO,Nl、X2゜X3.YO,Yl、T2.T3.E3S、E
4S8540 IF X5=O丁HEN GOTO87508550GR
APH@ GCLEAR@ 5CA1.E O,ioo、0,100 @ IF
X2:OTHENX2=fX)−XOI15
8560 MOVE 30,0 ! LDIRO@ C3lZE 3 @ LA
BEL E3S @ F5=lX]−XOI/7 @ F6!1Yl−YOI/
1085905CALE Xo−F5.Xl、YO−F6.Yl @ XAXT
S Yl、X3.XO,XO+X3 *XAXIS Yl、X2.XO+X3.
X1F1620 XAXIS )’O,X3.XO,XO+X3 @ XAXr
S YO1X2.XO+X3+X] e)’AXTS X】、)’3.YO,Y
O+)’38650 YAXIS XI、T2.YO+Y3.Yl @
YAXIS XO,Y−3,YO,YO+)’3 @’)−AXIS X
O,T2.TO+)’3.Y18660 FORK=NO+X3 To X
I 5TEP X28670 HOVE K−F515.YO−+Y1−YO
I/208680 LABEL VALSIKI @ NEXT K869
0 FORKm1’O+Y3 丁Q )’lS丁EP S°2870n
+IO−°■二X(+−+X1−No+/10.に−F6/287]OLABE
L V、ALS!l;l e NEXT K8750 IF X6=
O丁HEN 00丁0 890087GOON ERROn 00丁0
8900877(+ PRINTERTS 705 @ HIS=CH
R5i318780 FOR11=1 丁o 5 19 READ=
1 ; E5S@ PRINT E5S @ NE>;丁@11
8790 PRINT ’°PA3000,7200;S1.25..3.C
PO,O;LB”;Tl511.32];Hls;’°;9゜8795 PR
INT ”PA3000.6900;LB”HT1$[33,63にHIS;”
;”8800 PRINT ”PA4500,600;LB”;E3S;Hls
;’°;1゜8810 PRINT ”PA600,2500HDI0.1;L
B”;E4S;Hls;”;”8820 READg 1 ; E5S@
PRINT E5S @ GOTO88208830ON ERRORGO
TO16608900As5rasr 1 10 率 @ RETURN
9r、OOPRINTERIs 2 @ PRINT @ PRINT @
PRINT @ PRINT”Messun(”1D1s;” ”1D2
i” ”;D4S[17,20]9530 PRI′:T ”Da
tum ”;D3S9540 FORI=I To 32 @ PRI
NT ”−”;@ NEXT 1 @ PRINT9545 PRINT
9°)fessdauer l von”;丁AB+161;B1131
;”bis”;TAB1241;B1141;’°see”9546 PRXN
T ”Messdauer 2 von”;TAB1161HT(61;”bi
s”;TABC24);T17);”see”9547 PRINT ”Int
ervall ”;Ll;” / Integration”HL29548
PRINT”Max、relativeStandardabv”HBB+1”
%’。
9550 PRINT 1°Bereich 1 von ”;
T(11;”bis”;Ti2);nm”9557 PRINT ’°Nor
mierung von ”HT(IOIH”bis”;Tl1ll;”
nm”9560PRINT”[”;EIS;”]”:TAB(241;丁(31
i”nM”9580PRINT”[”;E2$i”ド;TAB+241;T14
1:”Mo。
9600 rRIN’r ”Anzahl der Messpunkte”;
TAB129)H’r1519610 PRINT ”Anzahl R
epetitionen ”;TAB+301;丁(8)9640 PRIN
T ”Spr 1: ”;Bilη;”ml / Spr 3: −B+1
9);”mlo。
9645 IF D4S[3,3]=”1” THEN PRINT
”5pritze 2 angeschl。
”;B1181:”rnl”
9657 PRINT ”As5ay Volumen : ”;T
AB+251HINTI100O本B1171率B1717C31;”ulo。
9690 FORI=I To 32 @ PRXNT H−++
、@ NEXT I @ PRINT9700 RETljRN
アベンディクスJ
Overlay KINSU ノ測定
1 ! KINSU B、MICHELlo ! 率率傘*重重傘本本牢傘
牢**傘本本本本章本章率傘本市20 ! 本**本***本章*傘*傘傘傘本
零本本零率傘零本本本30 1 *傘傘*傘傘本章傘傘傘傘傘本***傘車重
傘傘傘傘**40 ! *傘傘傘傘**本牟傘傘市傘傘*傘傘*ネ傘傘*傘
本本本50 ! 牢傘傘傘傘傘傘市車重傘傘傘傘傘*ネ傘傘傘本$*寧傘*60
1 *傘傘傘傘傘キ本章本*傘傘***傘傘*傘$*傘傘*傘70 !
*寧率傘***傘傘**傘傘傘**牢申傘傘傘牢***宰80 ! 本章本本
傘**傘車本市傘傘傘*津**$傘ネ傘傘傘傘*120Co)ISHORT51
180)、52r801.83(80)、T(20)、T1141)、T214
1)。
L(20)、B(201,^15.51125 COM 5HORT C(15
)、W(’20)、Wl(5)、Er20)140 COM 71g[65)、
Elm[20]、E2$I20]、D$12C1]、D1$[1]、D2゜D3
$[20J、D4$120]、B11[8]180 DIM F$[1]、F6
$[1]、E31[30]、E4$[30]、F7$[1]、F5$[1]。
A$[60]、Hls[20J
195 IN丁EGER1,12J5,16200 pss=″O” @ g
txt @ 92=11! F78!!″O” ! CLEAR@ X=021
0 rs=”A” @ pssg″O” @ J=1 @ xgt e D4$
15,5]*”l”250 ON ERRORGOTO800@ PLO
TTER1・ IF C(8)11 THEN GOTO500L1=B
111)@ L2=B(12)@ L3=256−(1/T(5))! ON
ERRORGOTO600
510CLEAR! DISP ″ Km Measure :
Main Menu” ! DISP520 DXSP Elm;T
AB!19);T(3);”nm (E)” @ DISPE2$;TAB(1
91j丁(4);”m Is)” ! DISP530 DISP ”No
、of Rep、”;T(81@ DISP ”Non of Pa1nts
”;T[5)
650 ON KEYI 1.”DiVar” GOTO720@ ON K
EYI 2.”MeasM” GOTOlooo @ ON KEYI 3.
”Syringe” GOTO860655ON KEY: 4 、”Was
h” GOTOToo l’ ON KEYI 5 、”?IAIN
PC” GOTn
800@’ONシ:EY#6.”Tel!tM”GOTO790660ON K
EY4 7.”IE、S]” GOTO8801! ON );EYYB2”P
a1nts”GOTO940@ KEY LABEL @ GOTO65070
0GOStJB 7500 台 00丁0500720 PRINTERI
s 1 @ GO5UB 95451! PAUSE725 GOTO500
760CLEARe IF B+4)=OTHEN B(41=I II DI
SP ”Enter v 1nassay”H@ INPUT B(101!
GOTO765762B141=Oe DISP ”Enter [E]
in As5ay”;l! INPLl’T B151765 B
131=B151 @ GOTO1000790RESET7@CHAIN
”KONZMSG、KSYS”800 RESET 7 @ CHAXN ”
AutostJS1’S’。
820 CLEAR* DISP ”*本シ7り7しg定傘傘”825 DI
SP E2$ e DISP Cone in Hat [53
<O: Reference”;830 INPLiT EI161! C
ll01!1835 DISP EIS ・DISP ”Cone in
nM (Stoek=”H丁+31;”nMl°゛:・INPUTB151
840B131!BISI@’MODEO,1@GO5UB4800@GOTO
1000860GOStJB 〕250 ・ 00丁0 500880 C
LEAR@ DISP us;Cone、in (n)11”885 tH
8P ”and ”:E2S:” Conc、in (Ml” @
INPUT 丁(3!9丁(41890GOTO500
900CLEAR@ IF B1201−2 丁HEN DISP
Elm;ELSE DISP E2S;905 DISP ” Cone、
Nr、”;C16)910 MSP ”in Syringe 1c=cle
ar Buffsrl” ! DISP ”n@gativeIEI x de
creasing [5)” @ INPLJT H1s915 IF H18
=”C” T)IEN C(61gl @ GOTO9oo゛920 Etc(
611=VALIHISl @ C16神C(6141e RETURN940
CLEARl’ DISP ”No、 or Po1nts 12−401
and Rep、 +2−101”。
95(I INPLiT Tl51.丁181! IF Tr51>400
R丁(51<2 0RT181>100R丁+81<OTHEN GOTO9
40ELSE 00丁05001000CLE、AR@DISP”KmMea
sureMenu”!DISP@DISPTIS11.631 @ DISP
! ON ERROR00丁0 5001020 DISP ”S
yr、1:”;工NT[C(111101/10;”2:”:EN丁(C(21
1100V]OO:”3:”;XN丁1c131*1001/100;”ml°
’ @ DISP1050DISP”Mac:、lsl:”;71141;
”uM°11090 IF D4S[4,4]=”L” 丁HEN D
ISP ”Blank ”;D4S16,14];”5ubtracted
” ELSE DISP ”No Blank″1120 IF B141=I
THEN DXSP ”(EI Autom、”113D IF D4
SJ5.5)=”1” T)(EN DISP ”Pr1nt On”
ELSE DISP”Pr1nt OFF’。
1140 IF Cf9)=OTHEN DISP ”No Refere
nce” @ EEEP1150 DISP ”As5ay Volum
e : ”:B+71;”ul°’ @ ON ERRORGo丁0
1200 ON KE’S’= 1 、”Exit” GOTO500
@ ON KEY= 2.”Pr1nt” GOTn
1280@ ON K口°: 3.”Content” GOTO16
0012300二: 1cE1’= 4.”Comrnent” GOT
O1690@ ON KEY* 5.’1cmトteash
00丁0 1300 @ ON KEY= 6.”B11nk” G
OTO15001260ONL:E1’=7.”iE]Auto”GOTO76
0#0NKEYk8、”SingleMe” 00丁0 82(−@l K
EY LABEL @ GOTO120(11280IF D−+315
.51=”O” THEN D4S15,5]=”1°’ ELSED4S15
.53=”0”
1290 GOTO1000
130(l ON ERRORGOTO1000@ IF C+91:
OTHEN GOTO10001302CLE、AR@ DISP ”5
eries and Number eg A、l”;@ INPし
1丁Dig、Bl@ IF Bl>9990RBl<OTHEN 1300
1304 DISP llMemocode 16 Characte
rsl”;@ INPtjT D4S115,20]f■
AS=”率4” @ GO5LIB 70001310 H=B120)f
!’ IF CIM)<w1M+/8 THEN H1=7 ! GOSLl’
B 75101320 D2=B1 @ B141=I @ F8S=”
N”1325 1F C(61=I THEN GO5UB 900 EL
SE H1=O@ PRINTERIS 1@ GO5L’B 9500
1330 B+31:B+51 @ IF EIl 160 THEN Ql
−1@ GOTO13351332E111=3 @ B13)=、1 @
QC2@ D4S14.4]、”O” @Dis−CHR5+NUMfDIS+
+118D2=01335 IF Etll<OTHEN Q2=2 @
EIll=−Elll ELSE Q2J1337 丁F B+2or=
2 丁HEN 丁f31=EI]l ELSE 丁(41=E11113
40 FORI=I To (+61−1 @ Elll:EC1◆
11 @ NEXT 1 @C161=cf61−1
1350 Wl+21:+B+71率B(51/T13) @ GO5U
B 8000 @ GOTO200013801F C161<2 T
HEN 1000 ELSE CLEAR@’ GOTO13201500
IF D4S14,4]!”L’“THEN D4S[4,4]=”0” !
GOTO10001510CLEAR1’DISP”NameofBlankf
ile19Charactersl”;@INPUT H2Se D4S[4
,4]=”L”1515 IF LE\IHIsI<9 THEN G
OTO15101520Hl5=HIS&” ” ! D4S16,14
)=HIS1540 CF!E、ATE D4E15.14]&”、KSX
−5”、5.256 @ ASSIGNS 1 丁011−I S l
6 、1月&−KS)’S’“1560 FORJ=1 丁0 20
@ PRINI 1 : TiJl @ NEXT +1570
FORJ=OTo Tl51 @ PRINTジ 1 ; 丁1fJ)
、T2fJl @ NEXT +1580 ASSIGNS l T
o * @ )!1S=IJ4S16,1411:+90 PRINTER
Is :’ t PRINT ”Blank 5tored in
File: ”:HIr
tl’1E7L’Rh
1601) CA丁 ”、”&B9S @ DISP ”Purge
File” @ l5PL!丁 H2Se PURfE
HIS @ 00丁0 1000
166(I BEEP 50.1000 @ DISP ”Erro
r”:ERRN @ DISP ”CorrectError cOnd
ition +CON?”HERRL1670P、All’5E
1675 GOTO500
1690GO3UB 1700 @ GOTO10001700DISP
’でomment 2 Lines” @ FLIP @ INPUT TI
S@ FLIP1710 丁]5=T1t&”−@ IF 1.ENIT
ユ5I(63THEN GOTO17101720RETしRX
1800 RESE丁 7 @I ASSIGNS l To D
4S[6,14]&”、KS”+’S”1820 FORJ:I To 2
0 @ READ二 1 、ZB@ IF J:3 0RJ=4 0R
J:60RJ=7 0RJ=15 0RJ:16 THE8 GOTO184
01833IF Zg=丁1j) 丁HEN PEEP @ GOT
O18851840NEXT J @ Z8=11850 FC+R)
1=OTo Tl 511860 RE、AD= 1 : 丁el入
)1丁21)111870 丁1fKl=−T1+Kl @ 丁2+Klニ
ー72+):I @ NEXT K @ ASSIGN: ITO
傘
1875 Hls:D4S16.14] @ PRINTERIs 2 @ P
RINT ”Blank:”;)IIsH”5ubtracted”@RE丁し
’RN188S DISP ”Variable”;に丁IJI:”# B
11nk:”;Z81B90 DISP ”Change variab
le or 1999=i@notei”;@ INPUT )llt
IF H1=999 THEN 18401892 IF J=] ORJ=
20RJ=IQ ORJJloRJ=120RJ=130RJ:19 丁HEN
BEEP @ GOTO1000ELSE T(JI2H11895
GOTo 1840
1900AS=”*1”@GOSLIB7000@WN11+、5@As=”*
AL+、5°’@GOSUB7000
1905 AS=”*B” @ GO5IJB 7000 @ W、A4T 2
000 @ GOSL’B 70(JO@賢AIT 2000
1910MODE0.1
1920 REFERENCE 101930IFN)IEAS=OTHE
NGO丁019301940 阿EASURE 、1
1950IFNMEAS=OTHENGOTO19501960FORJJ T
o 10 @ IF vALLIEILIJll>5 THEN GOT(11
9001970NEXT J @ C+91=1 @ RETURN2000
ERASESTATL’5
2020 IF Tl14 r<T(41/200RT(141>Tl41/3
T)IEN BEEP f! DISPloIs)ssrong !’°@
WAIT 3000 @ GOTO5002040GO5UB 3600 @
CLEAR@ PRINTERIS 1 @ Hl:O@ GO5UB205
0 DISP ”1=Exit 2=Input”2200 GO5UB 36
50 @ Z5=02230 F 7 S :” O” ! TP224
0 IF Q2−2 THEN GOTO22472245FORK=OTO
T(51! GOTO22492247FORI;=Tl51 丁o O5
TEP −12249Z5=Z5−1 @ IF 25<OTHE、’
: Z、’1=02250 1F F7S=”2” THEN F7S
=”CI” @ K=P32255 FORJ=I To 80 @
53fJl=O@ NEXT +2260 R9=O@ R8=O@
56=O# 57=02300 丁C01=IN丁(Ti201−にネ1
5/T151)@ IF K=OORTl0I<OOR丁10t>T1201
THEN 丁[)l=02302 T+o+=Tto+÷T181 @
IF Tl0)>10 ToEN TIO+=102305 FORJ=1
丁0 丁+O1@ F6S=”O1′2310 GRAPH
2350GO5UB 3500 ! MESSE2420 GO5LI
B 4600 ! DERIV2430GO5UB3300!E’1TES
T2−150 TF F5!、;“1°’ THEN GOTO231
0247(l FORJ1=2 To T9/L2+124130 53
1J] )253(Jl l+s11JI 12490 NEXT JJ
@’ R9=R9+S7 @ R8=R8+S6 @ IF F6
S=’”1” THEλGO丁0 2530
2500 NEXT J
253(l GO5UB 3700 I )f工丁T2580 1F
F6S=”1” THEN 00丁0 25952W90 FORJ=2
To T9/L2+1 ! S3+Jl=S3(Jl/Tl0I @ NEX
T J @IF F6S=”2” THEN GO5υB 45102
595 F6=3 @’ GO9UB 65002600 GO5L’
B 3800 ! CHECK2620 IF F5S=’“1”
THEN GO5UB 45002650 T11Kl=TITKl+丁
H411@ T2(Kl=T21Kl+T2+41+ @ IFD4S[
5,51=”0°’ THEN 26542651 IF ABSITIIK
II>1 0RABSIT21J:11>10RABS(591>I THE
NPRINT K:T1(Kl:T2(Kl;59 @ GOTO265
42652PRINTERIS 2 @ PRINT USING ”DD、X
、SD、6D、X、SD、6D。
X、D、6D’° ; K、Tx+x+、T2tK+、5s2654 IF
F7S=”1” THEN F7S=’“O” ! GOTO3000
2655NEXT K
2995 DISP 丁15 @ DISP @ DISP @
AS:”*WFCC8°’ @ GO5UI+ 7O00
@GO5LIB7700@1=BITII5,2+2997 IF C+6
1>1 、AND I:OTHEN as=”S5” 8 GOSU
B 7000 @ W、F、lT
1000 @ 、AS=”11” @ GO5L!B 70(103
0000F、’ KEYj 3.”Rep、Me” GOTO3100! ON
KEYk 2.”0utput”GOTO3250! ON ERRORG
OTO30003010ON KEYi+ 8.”Syringe” 0
0丁0 3050 @ ON KEYj 4.”NextPr” 0
0丁0 3030 @ ON KEY= 1.”Exit” GOT
O5003015ON KEY4 5.”Re5M” GOTO3060@
O?ζ KEYj 6.” 傘* End−M”GOTO3000@
ON KEYj 7.”enu 本*” GOTO30003017
KEY LABEL @ J=03019 l5=SPOLL1708)@
I=BITII5,3+ @ J−Jl1 @ BEEP 300.10
3020 WAIT 2000 @ IF C161>I AND
J>2 AND C1丁HEN 3250ELSE 3019
3030 GO5LIB 900 @ J=2 @ GOTO30193
050GO5L’B7250@GOTO30003060F7S=”2” @
CLEAR! DISP ’°Proceed from Po1nt
No、” @rINPLj丁 K@ P3=); f! GO5L!B
31103070 F5S=“’O” @ 00丁0 2240310
0 F7S=”1” @ CLEARt DISP ”Repeat w
hich Po1nt” @l5PL丁 ):@ GOSL’B 31
10 @ 00丁0 2255311n TF D4S[4,4]#”L
” THEN Tl(kl=0 @ T2(Kl=0 @ GOTO3200
3120ASSIGNM 1 丁o D4S16.14)&−KS”l−
5” @ FORJzl To 20 @’READ; 1 ;
Tl+411@ NEXT J3130 FORJ=OTo Tl5I
@ RE八へ= 1 ; YO,t°1← IF K=J AND
F7S=”l” THEN Tl(Kl=−YO@ 721に+=−Y131
40 IF F7S=”2°’ AND Q2=2 AND K>=J T
HEN T1[Jl=−YO@T2TJl=−”+’1
3145 1F F7S=1’2” AND Q2=I AND K<
=J THEN Tl(Jl=−YO8丁21Jl=−Y1
3150 NEXT J @ ASSIGNM I To 傘32
00 RETt!RN
3250 1F FSt”A” ORC+61<2 7HEN 3255
3251 AS=”’14” L# GO5L!B 7000 @
I=B1201 @ IF El 11=C1THd、X
)+1=WII+51 @ GOTO32533252)11=ABsfWi
I+51/Ellll @ IF I=2 丁)IES )11=H
14T131 ELSEH1=H1*丁(41
3253AS=”*”&X’ALSTIl @ GOSUB 7000
@ W(I+5CH1@AS=”1=’°&VALS+H11@ GO5IJB
70003254 AS=’“*E8°’ @ GOSUB 70003
255 IF Q1=2 THEN RESET 7 @ H1$=D4S(1
5,20]&DIS砿’ALSID216’“N” @ GOSUB 1520
@ D4S[4,4J=’″L°″3270 GO5LiB 4200 @
GOTO13803300l3=O@ 57=O@ F5S=”O°’ !
ON KEYj 2 GOTO3390@ BEEPloo、10 : E
MTES
3310 FORJC丁8/L2+I To T9/L2+1 @
H1=lS9−S1+J11+−2@l3=I3÷1 fy 57=S7+H
1332ONEXTJ1%56=lS7/I3ど、5@IF56<、00001
m+14):/T1511寧B121 THEN GOTO3350333
0IF K=OTHEN GOTO33503340IF 56>ABSI
S9/100mB+211 THEN DXSP ”Meas”:に;J
:”Repeated”:Z5 @ BEEP @ F5S=”1” @ Z5
=25+13345 IF Z5>、’<*Tlεl AND F5S
=”1” THEN PRINT にS9:S8:“す?°1@ F5
S=”“0゛。
3350 BEEP 200.10 @ OFF KEYj 2
@ RETURN3390I6:1fGO5LIB4450@GOSLIB4
550@GOTO33003500T8=工NT(TB(131すに/T(51
車(T(6)−B(13))l/L2神L23503 T9=IN丁118+
141+に/T151本+7(71−Bl 14目1/L21傘L23505
IF Jzl THEN GOTO3510ELSE I=O@
GOSUB 7900 @ WAIT3507 IF K<2 0RK
=T151 0RT(5)<7 、THEN As:+l率H1+ @
GO5LIB7000 @ WAIT 3000+B19>寧に/T(
5)3510MODE0.1(IAS=’°本H”@GO5UB7000@WA
ITB(81+B(91傘に/丁(5)
3512 )+4=lT1111−TIIOII/2+1 e H2!(T1
21−T(1117241!H3=(丁(131−T11211/2÷1351
4ERASE)jEMOR’+’−1?MESSE3515 ON ERR
ORGOTO35973520ME、ASLjRELl、L2.O,T9+L2
3530 FORJ1=1 丁0 丁9/L2+23540IFNMEA
SmJIT)IENGo丁035403550ToMEMORYJ1
3560 IF Ll>、2 THEN GOSUB 4400357
0 NEXT Jl @ l6=SPOLL17081 @ IF BIT11
6.01=I THEN 29953575 ALP)IA @ IF L
2)、2 THEN 35953580 FORJ1=I To T9/
L2+23585RECALLMEMORYJ13587 GOSUB 44
00 @ NEXT J13595 RETURN
3597 IF ERRN=2 THEN GOSUB 1900 @ PR
INT ”Ref、repeated”1? 00丁0 3500 ELS
E 00丁0 166C13600DS!D1[35,20]&D11&VA
L$1D21&”、”&B9S @ ON ERRORGOTO3605ASS
IG、’;= l To DS @ DISP ”File exists
” @ ASSIGNx 1To 本 @ BEEP It” WAIT
2000 Ill GOTO10003610IF ERRN=1300RER
RN=125 THEN DISP B9!:”not found”@
BEEP @’ S、’AI丁 2000 @ 00丁0 36003
620 ON ERRORGOTO1660@ PLOTTER1# PR
INTER23625K=TI51 e GOSUB 8250 e
L(201=L1201傘丁(141/H4G’C(101=0
3630 BIG+=丁141/20 @ GO5LI8 4800
@ GO5LIB 8000 @ IFDJS[5,5]=’°0″T
HEN l1=OELSE HCl3635 GOSUB 9500
3640 FORK=OTo 40 @ ’mx+go @ 72
(Kl=Oe NEXT K3645 IF Dl(4,4)=’°L”
THEN GOSUB、18003647 RETURN
3650 F65=”O” @ IF D4S[5,5]=”l”
丁HEN PRXNTER2@ PRINT *PRIN丁 ”NRRa
nge I Range 2 No1se 1°。
3655 DISP ”Duration”;IN丁(Tl8I車丁(51
率(Tl 71+5 )7200◆1113:”Minutes”3660
IIHSP ”No、 Range I Range
2°93680 P、ETURN
3700 丁1i−111+:O@ 丁21411:O@ H4:Ii’11
311T141/B1713710 FORJzl 丁OTl0I @’
丁11411=711411+541Jl !丁21411=丁21−1
11+551Jl @ NEXT J3720 T11411=T114
11/丁101 * T21411=丁21411/Tl0I @’R9
=R9/T(01@ R9=R9−,546R8=(R81丁10))”、5
3730 DISP USING ”DD、x、5D、DD、XXx、DDD、
DDIXxxl、6D” ;に、)14.B13)、R8@ RETLIRN
380059=O@ 58=O@ F5S=”O” ! CH3810FO
RJzl 丁0 丁(0)382059=59+(Tl(−Jl)−54(J
)ど2 @ 58=58+r丁2f41)−551Jl+=2 @NEXT J
@ 59=(59/Tl0)l”、53830 1F 59cABS1.0
0005傘B(1)I ORQ1#I THEN GOTO386038
50IF SSI>AB51丁1141+/ICl0率B11)l THE
S DISP ”Avera@e”;Ic;”repeated”;Z5
e BEEP・F5S=”1”3855 Z5=25+Tl0I ? I
F 25>2傘丁11i1) AND F5S=”1” 丁HEN
38703860 RETURN
3870 PRINT ”Avert*te nonreliable”
@ FORJzl 丁OTl0I I”PRINT”MB”:I::
J:”’°;54(Jl;551Jl・NEX丁J3875 p5s;”o”
! GOTO35160421)(l IF DJS15.57=”O°’
THEN J2054’01 PRINTER2t PRINT @
PRINT @ PRINT TAB171:EJS kGRAPH台
copy
4202 )+1=o e GO5LI8 9500 (’ PRI
NT TIS 41 ON ERROR00丁0 P660
J2(15PRINT ! PRINT e PRINT 9°No、
Range I Range 215ubstrド
4210 PRINT ” TN(1/s@c) TN(1/5
ecl M” ! PRIN丁4220 K=丁(51! G
O5L!B 82504230 AS=llPFTN、KSYS”4250
GO5LI88500
4260 LORG O@ C3lZE 3 @ GOSUB 5500
4270 FORK!+OTo T15)@ GOSUB 8250−1:
”90M0VEH−1,H3@LABEL”*”@MOVEH4,Jl舎LAR
EL”+”4310 PRINTERIs 2 1! PRINT US
ING ”DD、X、S5D、D、N、。
S5D、D、XX、5D、DD” : K、B3.Jl、H44312PR
IN7! 1 ; B3.Jl、H4432(l 5EXT K
! PRIF:TERIs 24330 PRINT @’ IF D45
15.51=”)” THEsPRINTΦPRB’TT、AB17);EJS
@ C0PY @ PRINT * PRffN丁4350 A
SSIGN: I To *4360 GO5LIB 6000 @
PRINT 1: PRINT @ PRINT @ RET
URN440013=Of )11=O
4410FOR?2:T111 70丁+21 5TEP 2 +りH1=H
1+t°、ALLIEfr21 tNEXT 工2
441551rJ1)=+(17H2@ H1=04420 FOR12=T
112+ To 丁(1315TEP 2 @ H1=H1+Vaし
)IE(12) tNEXT 12
4J25 521J11=H1/H3@’ H2=04−130 FOR?2
=T+101 To Tflll 5TE)J 2 @ )+1=H1+VaL
UEII2) tNEXT 12
4435511J11:51tJ11−H1/)+4 t! 521J11=S
21J11−H1/HJ4440 RETしHN
4450 DISP ”1=Exit 2=New 5tdev 3:Rep、
Singlp” e DIS’r’++4=Eep、Av;r、5=EndHe
6=toon”4455 DI 驚P ”7=丁est 85g B=N
ext Eeady” ;44G0 1NF’L’T )(le RETt’
Rk4500 H’ FE!+”、A” THEN 00丁0 2250
4510 GOSL’b 4450 @ ON ERRORGOTO1660@
l6=245:OF6S=”O” e IF Hl−’3 THEN 455
04530 F6S=lT @ DISP 1lNo、 of 5i
nIfle l−1e1−1easure” @ INoL’丁
J@ FORJl=I To 80 @ 53iJll=O@ NEXT J1
45−10 R9=R9°2I+01/l]、2+Tl01l @ R8=R8
−2牢T[01/11.2+Tloll@ GOTO2310
4550IF H1=5 THEN 29954555 IF H1=7 TH
EN 20004560 IF H1=2 THEN DISP ”
トjax、 Non1in、/No1se 2 ?nputs”;@IN
PUT B(11,8121& GOTO459045651F H1=
8 THEN GO5UB 900 @ GOTO45904570
1F H1=3 AND +6:I THEN F6S=”2”
@ GOTO459045801F Hl:4 T)IEN 225045
90RETUR\
4ε00 59=Oe 58=O@ 11=04620 HC51+11
@ H2=5211 +4630 FORl1=2 To T9/L2+
14635 H3=S1(Jl l @ H4=S21J11464051
1JI)=lS11J1+1l−H1l/12*L21 @ 52(Jll=l
s21J1+1l−B21/+2’L21 @ IF Jl>T9/L2+I
T)(EX GOTO47104700IF Jl>=T8/L2+I T
HEN II=11+1 @ 59=59+51(Jll eS8=5
8+52(Jl 1
4720 H1=H3(−)12=)14 ・NEXT Jl @ l3=01
E’ 58=58/II @59=59ノ11
4730 DISP USING ”DD、X、DD、XX、SZ、6D、XX
X、52.6D” :K 、 J 、 59 、58
474054tJl=S9 @ 551Jl=S84750 RE丁υR人
一1800re;S=”o°’@A5=O@A6=O@MODE0.1−181
OL、JIBDA L口i、L121.L131.L(41,L151.L(6
1,Lc71゜l+81.l+91.L(101
4ε二0 Tff>IE 5CALE OTo T(714830、へB
50RBANCE
4832 IF B131>Tf31/3 T)IEN B13+=Ti3
1/34ε33 IF B+61)丁f41/3 7HEN B+61.
T目)/34ε35 W1131=Bf71率B+61/丁(414836%
<1+21=B171”B[3)/T1314840 IF W1131<
=OTHEN GOTO19004845IF C”f91#I THE
N 10004850 z=o @ cosじB 79804860
AS=”率H” !’ GO5UB 70004865 WAIT
5000
4870 J=O@ K=INTIT(51/21 @ T9=T17
1 @ 丁8=Bf231 @ GO5UL4920 ot=o
@ B2:04930 FORJDI To 4 @ H1=S11J
] l+81 の H2=S2+J11+H: @’ NEX丁jl
@・H1=H1/J @ )+2=82/45050 IF D4S15.
5)++”O°’ AND A3m1 THEN AS=”PFOD、KSY
5” eGO5UB 8500 @ A5=15055 DISP
”In1tial OD Range 1 and Range
2”5056 DISP LISING ”6X、SD、5D、6X、SD、5
D” ; Hl、B2 ΦH1jH1/7115112000 e B2
:)+2/T1161”1OOO5057IF ABS+H11>999990
RABS+H21>999997HEKDISP1°[El”;Hl;)12;
”uM”800丁050605058 nl5P LISING ”3A、X、
S5D、3D、4X、S5D、3D、2.A”ビ°[E)−Hl。
B2.”uM°’ ! DISP ”Deriv、 Rangel
and Range 2 °950(io 1F D−1sr5.51−e
”O” THEN F6=1 @ GO5UB 6500 @ F6=2 @G
O5L’B 6500
5150h=o@’J=o@GO5UB4600@GO5tJB3300eH4
=ABS(56/59JOO1! IF H4>999 丁HEN )
+4=999516υr)ISP LJS2N(i ”24A、X、、6D、3
A、3D、D、A” ; ”No1se Ran(el”、ABSI56
1.” : ”、H4,”W” @ H1=O@ B2:+05170 F
ORJ=2 To 6 * )!1=H1+511Jl @ NEXT J @
H1=H115@A1=)+4
5180 FORJ=丁C71/L2−3 7o T171/L2+1
@ H2=H2+5)IJI @ NEXTJ @ H2=+(21
5@ H3=IN丁IABS(+H1−B21/H1*100115190
DISP ”Non1inesritv : ”;B3;”%” @ A
2=H3@ DISP @l5P
5300 J1=Oe IF D4S(5,5)C’O” THEN GO5
L’B 54005310 IF JC9THEN 48305350
IF A5m2 THEN A$=”PFAB、KSYS” @ GO5UB
8500 @ A5=25360 F6=1 @ GO5LIB 65
00 @ F6=2 e GO5UB 65005390 GO5UB 5
400 @ IF l1=9 THEN 48105395 RETUR
N
5400 OFF KEYj 8 @ ON KEYj 2.”Go on”
GOTO5490・ALP)IA5402 ON KEI 5.”(El” G
OTO5440@ ON KEYj 6.”Activ” GOTO5445@
OFF KEYj 7
5405 ON KEYj 3.”Graph” GOTO5420e ON
KEYj 4.”Alpha”00丁(+ 5430 @ KEY L
、ABEL54071F FS=”A” AND C110)=OT)IEN
J1=I ELSE l1=05−110 IF J1=OT)IEN 541
0 ELSE BEEF 30Q、20 e b;AIT 3000 reGO
TO5450
5420GRAPHe J1=O@ GOTO54105430ALPHA e
Jl:O@ GOTO54105440MSP B(31:’°new”H@
INPUT BI31@ B+51=B
【31 @ l1=9 @GO’l
’0 5490
5−145 DISP BI01;”new”;@’ IINPUT Bl)0
18 GOTO540054501F B141=o ORQ1=2 T
HEN 54905−154 IF B131<丁13+/200 7H
EN B(3)=T131/200 @ GOTO54905−155I
F AP、5IS91>2欅B(101THEN HI=、5 @ GOTO5
4925460IF 、ABS(591<B(101/2 THEN H1=2
@ GOTO549254G5 IF ABS(59I>1.3*B11
0) THEN )(]=、75 9 00丁(+ 54925470
IF ABSIS91<、75傘B+101 THEN H1=1,2
5 @ GOTO54925490OFF I:EY= 2 e OFF
KEYj 3 @ OFF KE’i’# 4 e OFF KEYt
5@ RErt:I(N
5492 B1312B131*H1tel A6=A6+1 ! CLE
AR! DISP”En:=ymeeonc、:”;B1319 IF A6>
67)IEN Jl=OELSE l1=95493 GOTO54q0
5195 GO5U): 7:50 e 00丁0 54005500
DS=LLIE[25,2Q9DIS&VALSI021&”、”&B9S
t” ON ERROR00丁06GO
5550CREATE DS、3+lNTlT151/10+、51,2565
560 、ASSIGN: I To DS5570 PRINTj
1 ; DIS、D2.D3$、D4S、EIJE2S、丁1sITl
l、Ll l、Bl 1566ORETURN
6000 A1=O@ A2=Q @ A3:O@ A4:O@ A5=O@
Aa=。
6050 FORK:2 To T151 @ GO5tJB 8250
6090 IF H3=OORi+<:o THEN GOTO6200ELS
E )+1=2/H4@H2=17s3
6120 A1=A1+1 1” A2=A2+)11 @ A3=A
3+H2@ A4=A4+H1本)+2 @、A5=、A5+H1*H1f
l A6=A6+H2jH262005EXT K
6210 IF A1:OTHEN 00丁0 64006220 H
1=A5/AI−+A2/All−26230 H2:A6/、A)−f、A
3/Al l−262J(l H3:lAl/A1−A:/A1*A3/、A1
1/H1625CI N4=A3/A1−83本A2/A16260 H5=
H3率H1−,5/H2−,56280)11=ABS11/IH4/H3)l
@ N2=ABS11/H4)6290 IF ABSIHII>999
90RABSIH21>999990RABSiH51>I THENGO丁
0 6400
6300 PRINT υ5ING ”15A、4X!6D、2DIX13
A” ; ”Velocity=”、H2,”17g”
6310PRIN丁υ5ING”16A、3X、5D、3D、X、3A”;”)
IichaelisConst、=”、Hl、” Mo。
6320 PRINT L+5ING ”14A、9X、3D、4D”
; ’°Correlation =”+H56400PRINT @
PRINT @ RETtJRN650CI PLOT O,0,265
20FORJi=2 丁0 丁9/L2+1653C+ H4=+J1−
11率L2G540 0S F6 00丁0 6550,6560.6570
6550 N3=S11J11 @ GOTO65806560N3=S2
1J11 * 00丁0 6580657(l N3=S31Jl 1
6580 PLOT H4,H3,16590NEXT Jl e PE
NLIP @ PLOT O,0,2@ RETURN7000 OF
F KEX’t 2 @’ OFF KEYI 3 e OFF KEYI
4 @ OFF KE)’= 5@ OFF KEYI 6 @ O
FF KEY= 7 @ OFF KEY= 87005 SET 丁
IMEOL!7 7;30007010 ON TIMEOL’丁 7
GOTO70907015Al5=AS[2,2]
7020 l5=SPOLL(70817025IF BIT(H5,71T
HEN WAIT 500 @ GOTO70207030IF BITII
5,51 THEN DISP ”Empty” @ F5S=”2°’ @
C1151=01! GOTO7082
7032IF BIT115.41 丁HEN DXSP ”Full
” @ C1151=07035 IF BIT(15,3+ TJ(
EN C(15r=07040AS=、As五−”@OL’TPL’7708;
As7052IFAIS=’”1°“T)IEN)1=170541FAIS=
”2’″丁HEN、’1:27060 1F Al5=’°3°” 丁HEN
M=370611FAIS=”B”0RA1$=”D’°THENCIMl
=CIM+−w1M+10+7062IFAIg=”C’“丁)IENC(Ml
=C[Ml+Sζ(H÷10)7063 IF Al5=”F” THEN
C(N1=07064 1F Al5=’°G゛THEN CIMl=W+)+
170651F Al5=’°H” THEN C11)=C(11−Wlll
l @ C121=C121−W112112 C(31=C(3)−W1+3
17070OFFTIMEOL’丁7
7080 RE1’URN
j08’IF’Al5=”F”0RAl$=“”B”0RAIS=”D”T)I
EN7080ELSLフ040
フ090DISP”SwitchonASSAYOMAT”@BEEP@W、A
IT500θ・RESET 7 (’ GOTO70007100DISP
As @ Ass”*TF84A ” !’ 16=W1[41
@ GO5L’B 7200)110 16=IN丁IW1141/1W1
111”48000/W+1113+257 * GO5UB 7201
J7115 IF 警1 + 21=o 丁HEN l6=60258
ELSE16=IN丁IW11−11/IW1121本48000/−“+
2111÷2577120 GO5L’B 7200 * IF W
1131=O丁HEN 16=60258 ELSE16=IF;7口<1
141/1M1131本480007警1311142577125 GO8
UP 7200
7130 G(38υB 7000
7190 RETURN
7200 BS=” ” @ 811=”0123456789
ABCDEF”7205 FORJ1x4 To I 5TEP −
172101=I6 MOD 16 m BS[Jl、J1]=HIS[KI1
.I+IJ @ l6=I6−1 @16!I6/16 46 NEXT J
l7215 Al=AS&”+=’°&BS[3,4]&”!”&B511.2
j7220 RETURN
フ250 ;+=o @ Ass”傘wFccs°’ ! GO5U
B フ000 @ GO5LiB 7700 @@ 00丁0
7280 ON KEYI 1.”Give” GOTO7430@
ON KEIoz 2+”5uCf=” 00丁07300 ON
KEYI 3.”Back” GOTO7400@ ON KEr’#
4.”Emptlo。
00丁0 7460
7320 ON KEY= 5.VALSIIi’(KI10目 GOT
O)3607330 ON KEYf 6.vAL$+C1M1l 0
0丁0 74407340 ON KE1’# 7.”Retur”
GOTOフ3557350 ON KEYI a、”Syr、”&VAIJ(
MI GOTO74807352KEY LABEL * GOTO728
07355OFF KEYI 1 @ RETURN)360 CLEA
R@ DISP ”Volume per Key”Hl INPt
JT H1s@WIH+JO1=VALIHISleAss”LA”&HIS
@GOSUH7000737000丁0 7280
7400 As!I−”D″ # GO5tJB 7000 @ 0
0丁0 72807420 Ass”傘C″ (’ GO5UB 700
0 ・ 00丁0 72807430 Ass”IB” t GO5U
B 7000 @ 00丁0 72807−140 Ass”’IG”
@ GO5UB 7000 * GOTO728074G0 Ass”1″
# GO5L’B 7000 @ 00丁0 72807480M=
N+1@IFs>3THENM:17485AS:”I”&1’AIJIMlt
’GO5UB7000t’GOTO7280)5(+OCLEAR& DIS
F−No、 or Cycles and S>−rinIIe 1
3−31”;@xspL11 Hl 、M
75301FM〈1OR)DコT)IEN75007520 Ass”’1″&
VALS+Ml @ GO5UB 70007530 A&R”E”&vA
LSLH3)e GO5L’B 7000フ535IFHIHOD2虐0丁H
ENC(H1=OELSEC区811%ζ(M◆517540 RETURN
7700SE丁TIMEOLJT7:2000@A$=””77100N丁エト
jEOUT7GOTO77907720ENTER708US7NG !、B”
; Ml@ AS=AS&CHR8IH11t’ IFH1=13 0R
LEN(All)40 丁HEN 77407730 GOTO7720
7740OFFTIMEOL!77@0NERRORGOT07フ90フ750
C411”\’ALIAS110.16] 17760 C121=V、
ALζAsτ20.26]1 @ C131=VALIAS130,36]
1 @C1151=]
7790 ON ERRORGOTO1600@ RE丁UR87900
IF’ に=CTHEN 53=o @ GOTOフ9707910
0:: T+191 GOTO?920.7930.フ950,7940.
79607920 N5=4本L3−(K−11! GOTo 7970
7930 N3=に*300/T(51@ IF K>丁(51/2 7
HEN N5=150+rNTLK−T151721*600/T(51@
GOTO7970ELSE GOTO79707940K1:丁(5141−K
@ N3:1/に1*600 @ GOTO79707950N5=
5+に傘100/T151+3*L3=(K−118GOTO79707960
N5=N3/L1201
7970 Wl(31=N3*L1201/100007975 %(1!21
=8171卑B(31/丁(3)寧(1−B117)*(?(51−Kl/Tl
5 + )7980 W1111gB17)−W1121−W1f3)
@ IF C9THEN RETL!R57985AS!”傘K”AvA
L$1W11111&’、′&t°AL$1W1(211&”。
”&VAl、$(Sjl1311 @ GO5UB 71007990 G
O5υB 7000 ・RETURN800051111=4 ・51121
=、3 @ st+3+*、2s @ I=9 ! A9”*WFCC8°。
@ GO5UB 7000 @ GO5υB ?7008010 FOR
K=OTo 丁+5) e 0O5UB 7900 @ FORM=
1 丁o 3 @51(Ml=51(MI+W11MI傘丁(81*1.
1 @ NEXT M e NEXT K8060 FORM=
I To 3 1! IF 511Mル>CIM) THEN D
ISP ”S>−rin(r”;%l:″’1sfilled”eGO5LI
881008070 NEXT M @ RE丁URN8100 KHB
t201 ・A$=1°*″&1°ALSIM1 11 GO5L’8700
0 * IF M−に丁HEN 8120
8105 5IIKC5I(Kl+、2 e IF 5IIKI>W(KI
THEN 5IIKI!WIK+8107 IF 5IIKI>B119
)T)IEN 81(K−B(1918110J$=”傘*″&VAL$(51
(K)) @ GO5tjB 7000 @ W(KI5)=51+
に+8120 Ass”kG” 1’ GO5UB 70008190 R
ETL!RN
82001eO4BER,rE] l5)8205 GO5υB 790
0
8210 H2:丁(31車%(1121/B1718220 H4=714
1零Ml(31/B171 ! (5)8230 B3:T11K]”1
000000/T1171/l(2@ J1=丁2(Kl*1000000/
丁IIBVH2
8240RETURN
8250 工=9 @ GO5UB 82058260 RETURN
8500 RESET 7
8510 ASSIG隅I To As @ READ# 1 ; B3.H
4,XO,XI、I2.I3゜YO,Yl、T2.T3.H3S、H4S855
0 GRAPH@ GCLEAR@ 5CALE O,100,0,100@
]F X2=OTHENX2=lX1−XO115
8560MOvE 30,0 ! LDTRO@ C5IZE 3 @ LAB
EL H3S @ F5=LX1−XOI/7 @ F6=lY1−YOI/1
08590 5CALE Xo−F5.Xl、YO−F6.Yl @ X
AXIS Yl、I3.XO,:<O+X3 @XAXIS Yl、I2.
XO+X3.X18620 XAXIS YO,I3.XO,XO+X3 @
XAXIS YO,I2.XO+X3.XI @YAXIS XI 、1’3
、)−0、YO+)’38650 YAXIS X1+Y2.’i’o+Y3
.Yl @ YAXIS No、T3.)’O,YO+Y3 @)’AXIs
XO,T2.YO+)’3.’+’18660 FORK=NO+X3 To
XI 5TEP X28670 MOVE K−F515.YO−+Y1−Y
OI/208680 LABEL VALSIKI @ NEXT K86
90 FORK=YO+Y3 To YI 5TEP Y28700MOV
EXO−iXl−XO)/10.に−F6/28710 LABEL VAL
SfK)@ NEXT K8900 ASSIGN# I To * @
RETURN9500 PRINT @ PRINT @ PRINT951
0 PRINT ”Measurement ”;D4S[15,201;”
”;DIG:D2 @PRINT ”Diskette:”;B11;’°
1°;D3$9540 FORCI To 32 @ PRINT
II−Il、@ NEXT 1 @ PRIN丁9542 IF
)IcOTHEN 97009545 PRINT l′Tirne
(S3min”;TA81161;84131;1°bis” ;TABl 2
41;B+ 141H”see”95−16 PRINT ”Time
lsJmax”;TABイ16);丁161;”bis”:丁AH++
24t;T171:”see”9547 PRINT ”Interval
”;Ll:” / Integration”;L29548 PR
INT ”Max、5tdev”;B111;” / Non1in、”;
B+21;”%”9550 PRINT ”Ranl2e 1 fro
m ”;丁目);” to”;Tl21;”nm”9555 PRIN
T ”Ran(e 2 from ”;丁1121;’° to”
;T(131; ”nm”9557 PRINT 1°Int、 Ref、
frorn ”;Tl101;’° to”;T(111;”nm”95
60 PRINT ”ビ;EIS;”]−TAB+231;T131;”nM”
9565 PRINT ”in the As5ay : ”;
B[17);TAB+231;B(31;”nM”9580 PRINT °
1じ’;E2S;”]”;TAB(231H丁+41;”M”9585 PR
INT ”Mas、 Cone、 in As5ay: ”;T
l141;”M”9600 PRINT ”No、 of Po1nts
”:T15);TAB+241;’°Rep、”H丁(8)9650 PRI
嶌:T ”Delta Epsilon 1 : ”HT117
1;’°1/m?I cm” fyPRIN丁 ”Deltn Epsi
lon 2 : ”:T1181;”1/mM e+y+”9657
PRINT ”As5aX′ Volume :”;TAIIH25);
B+71;”mlo。
9690 FORI:1 丁0 32 @ PRINT ”−”;@
NEXT X @ PRIN丁9700PRINTERIs2@RET
tlRNアベンディクスに
1 ! KININ B、MICHEL 02.02.88120 COM
5HORT 5l(801,521801,53(80)、Tl201.TI
(41)、T2+411゜L1201.B+201.A(5,51125COM
5)IORT Cr151.W(201,W115)、E4201140 C
OM 71$[65]、H1S[20]、H2S[20]、DS[20]、DI
S[1)、D2゜D3S[20]、D4S[20] 、B11[8]180 D
IM FS[1]、H6S[1]、H3S[30]、H4S[30]、H7S[
1]、H5S[1]。
A$[60]、H2S[20]
195 INTEGERI、I2.H5,l6200 F5g=IIQN @
Ql=1 @ 92+=1 @ F7$=lIO1′@ CLEAR@ x=。
210 FS:”A” @ F5$=lIO” @ J:11! K=1 @
D4S[5,5)=”1”250 ON ERRORGOTO800@ PLO
TTER1@ IF C(81#I THEN GOTO500Ll:B(11
) @ L2=B(121@ L3=256−(1/TT511 ! ON E
RRORGOTO500
510CLEAR@ DISP ” Inhibition Screenin
g Henu” @ DISP520 MSP EIJTABr191;T(3
1;”nm (El” ! DISPE2S;TAB+19);T(41;”m
(Sl” @ lll5P530 DISP ”No、 of Rep、”
;T(8) @ DISP ”No、 of Po1nts”;T(51
650ON KEY# 1.”DiVar” GOTO720@ ON KEY
#2.”MeasGl” GOTOlooo @ ON KEY#3.”Syr
inge” GOTO860655ON KEY#4.”Wash” GOTO
700@ ON KEY#5.”MAINPC” GOTO800@ ON K
EY# 6.”TestM” GOTO790660ON KEY# 7.”[
E、Il” GOTO880@ ON KEY# 8.Po1nts”GOTO
940@ KEY LABEL &I GOTO650700GOSLIB 7
500 @ GOTO500720PRINTERIs 1 @ GO5UB
9545 ! PAUSE725 GOTO500
760CLEAR@ IF B(4)=OTHEN B+41=18 DISP
”Enter v 1nassay”;@ INPUT B(101! G
OTO765762B+41=Oe DISP ”Enter IE)
in As5a5−”;@ INPU;丁 B(5)765 BI31
=IIH51* 00丁0 1000790 RESET 7 @ C
HAIN ”KONZ)ISG、KSYS”800 RESET 7 @ C
HAIN ”Autost、KSYS”820 CLEAF! ! DISP
”車率シンクル測定、 本章1′825 DISP H2S @ D
ISP ”Cone in M at [1]<O: Refer
ence”;830 INPUT B161@ C1101=1835 D
ISP ESS @ DISP ”Cone in nM 1s
tock=”;T(31;”nil”;@INPLIT Bl 51
840 B131=B151 @ MODE 0.1 ! GO5
UB 4800 1! GOTO1000860GO5UB 7250
@ GOTO500880CLEAE @ DISP Else” C
one、 in (nil”88S DISP and ”;E2J
’° Cone、in (Ml” @ ZNPl:T 丁(3)1丁14)9
90 GOTO500
900CLEAR@ IF B+201’2 丁HEN DISP
H1S;ELSE DISP H2S;905 DISP ” Co
ne、 Nr、”;C+61910 DISP ”in 5yrir+
sre 1c=clear Bufferl” @ DISP ”n
egst、Pve
IEI = decreasjnf [1]” @ YNPLj丁 H
IS9157F HIS=”C” THES C161=l ! G
OTO900920E[C1611=VALIHISl e C161:C
161+1 @ RE丁LしRN940 CLE、AR@ DISP
”No、 of Pa1nts 12−401 and Rep、
+2−101”;
950 1NPUT 丁151.丁(81@ IF 丁151>400RT(
51<2 0R丁+81>100R丁(81<OTHEN GOTO940E
LSE GOTO5001000CLEAR@ DISP ”Inhib
ition Scr Menu” @ DXSP * DISPT
ISll、633 @ DISP @ ON ERROR00丁0
5001020 DISP ”Syr、1:”;INTfCf11本101
/10;2:”;IN丁1c(21零1001/100;”3:”;INTIC
(31章1001/100;”ml” @ MSP1050 DISP
”Max、 [I) : ”;T(141;”uM°1109
0 IF D4S14,4]=”L” THEN DISP ”B1
1nk ”;D4S16,141?”5ubtracted” ELSE
DXSP ”No Blank”1120 1F B+4L=I T
HEN DISP ”[Il Autorn、”1130 IF D
4S[5,5]:”1” THEN DISP ”Pr1nt On”
ELSE DISP”Pr1n’w OFF”
11−10 1F C191=O丁HE!< DISP ”No Re
ference” @ BEEP1250 DISP ”As5ay Vo
lume : ”;B+71;”u】” @ ON ERRORGOTO1
200ON KEYi 1.”Exit” GOTO500@ ON KEYi
2.”Pr1nt” GOTO1280@ ON KEYi 3.”C
ontent” 00丁0 16001230 ON KEn 4.”Com
mentl′GOTO1690@ ON KEYi 5.”Ki)teas”G
OTO1300@ ON KE1’# 6.”Blank” GOTo 15
001260 ON KEYi 7.”[I]auto” GOTO760@
ON KEYi8、”SingleMe−GOTO8204! KE)−L
ABEL @ GOTO12001280IF D45F5.5]=”O”
THEN DJS[5,5]=”1°’ ELSED4SI5,5]=”Oo
。
1290 GOTO1000
1300ON ERROR00丁0 1000 @ IF C191=
OTHEN GOTO10001302CLEAR@ DISP ”5eri
es and Number eg A、1”;@ INPUTDIS、P、1
@ IF Bl>999 0RBl<OTHEN 13001304DI
SP”Hemocode(6Chnractersl’°;@lNPtコTD4
S[15,201@’、Ass”*4” e CO5じ13 700013
10)悸lH2O1@IFC(Ml<W()If/8THENH1=7@GO5
UB75)01320 D2=Bl @IB1=B3+1 @ F8S=
”へ°。
1325 IF C+61=I T)IEN GOSUB 900
ELSE H1=O@ PRINTER1518GOSL:8 9500
1330 B+31:11051 @ IF E(ll#o THEN
Q1=1 @ GOTO13351332E111=1 @ B131=、
1 @ Ql:2 @ DJS[4,4]=’°0゛eDIS=CHR5INυ
MIDIS++11!D2=01335 IF Elll<OTHEN Q
2=2 @ El11=−Elll ELSE Q2=11337 IF
B120)=2 THEN TF3)二E(11El、SE 丁r4)=Er
l)1340 FORCI To C161−1@ E(Il=E(I
+11 @ NEXT 1 @C161=C(61−1
13505JI(21=Br7+”Br51/T(3)@ GO3tJB 80
00 @ GOTO20001380IF C16)〈2 THEN 10
00 ELSE CLEAR@ GOTO13201500TF D45
14.41=”L” THEN DJS[4,4]:’O” ! GOTO10
001510CLEAR@ DISP ”Narne of Blank
file (9Charactersl”;・INPUT HISI D4
Sr4.4]=”L”1515 IF LEN(HISI<9 THEN
GOTO15101520)+15=H1l” “” @ D4SI6.
14]=HIS15JOCRF、、A丁E D4S16.14]&”、KSY
S’“、5,256 @ 、ASSIGN# I TQD4S16.I
JJ&”J:SYS”
1560 FOFi J=I To 20 @ PRIN丁j
1 ; TIJI @ NEXT J1570 FORJ=O丁o
T151 @ PRINT# 1 ; Tl(Jl、T2TJl
@ NEXT J1580 ASSIGN禽 I To 寧@ H1$=
D4S[6,14]1590 PRINTERIs 2 @ PRIN
T ”Blank 5tored in File: ”;HISI
RETtJRN
1600 CAT ”、”&B9S @ DISP ”Purge
File” ! INPUT 815@ PL’RfE
1(1s @ GOTO1000
1660BEEP 50,1000 @ DISP ”Error”;ERRN
@ DISP ”CorrectError condition +
CON丁”;ERRL1670 PAUSE
167500丁0 500
1690 GO5L’B 1700 @ GOTO10001700DIS
P ”Comment 2 Lines” @ FLXP @
XNPI:丁 TIS@ FLIP1710 Tl5=TIS&” ”
@ IF LENIT141(63丁)IEN GOTO171017
20RE丁υRN
1800 RESE丁 7 @・ 、ASSIGN± 1 丁OD4s[6
,14]&”、KS”l−5”1820 FORJ=1 To 20
!’ READ# 1 ; 2B8 IF J=3 0RJ=4
01’: @J=6
0RJ=? ORJ=15 0RJ=16 THEN GOTo 1840
1835 1F Z8#TIJI THEN BEEP @ GOTo
18851840 NEXT J @ za=11850 FORK=
OTo T1511860 READ: 1 ; Tl(K)、T2(K
11870 丁1iKl=−丁1fKl @ T21K)=−T21K)
@ NEXT K e ASSIGNs ITO率
1875 )118=D4s[6,143@ PRINTERXS 2 @ P
RINT ”Blank:”;Hls;’″ 5ubtracted” @ R
ETυRN188S DISP ”Mariable”HにTfJl;”# B
lank:”;Z81890 DYSP ”Chanfe Variab
le or 1999=ignorel”;e INPUT HleIF
H1=999 THE618401ε92 IF J=1 0RJ:20R
J:100RJJI ORJ=120HJ=130NJ=19 THEN
BEEP @ 00丁0 1000 ELSE TIJI、=H11
895GOTO1840
1900Asニー+本xll @ GOSUB )000 * Wl
lll=、5 * Ass”本A0.5°° eGO5UB 7000
1905 Ass”’kB” @ GosUB 7000 @ W
AIT 2000 @ GOSUB 7000 ■
%TJA1丁 2000
1910MODEO,1
1920REFERENCE 10
1930101930IFN丁HENGOTO19301940MEASURE
、1
1950 IF NMEAS!OTHEN GOTO19501960F
ORJ=1 丁0 10 台 IF VALtJEIL(Jll>5
THEN GOTO19001970NEXT J ・ C(91=1
@ RETURN2000 ERASE 5TATUS2040 G
OSUB 3600 @ CLEAR@ PRINTERIs 1
@ )11=O@ GOSL’B2050 DXSP 3=Exit 2=
Input”2200 25.0
2210 yas=’o−・ XF DJSI5.53g”1” 丁HE
N PRI)ffER2@ F’RINT @PRIN丁 +%RRanI
Ie I Ran(e 2 No1se 1”2230 F7
8=”Ooo ! 丁P2240 IF Q222 THEN GOTO22
472245FORK=O丁o T(5) @ GOTO2249224
7FORKgT(51To O5TEP −12249Z5gZ5−1 @
IF zs<o THEN Z5=02250 IF r7s=”
z″ THEN F?$:”ON !I K=P32255 FORJ=
l 丁o 80 @ 531Jl!O@ NEXT J226OR
9eO@ R8,O@ 5s=o ・S7−02300 丁+01=IN丁l
T1201−に傘15/T1511 @ XF K=OORT(OXOO
R丁CO)〉丁f201 7)IEN T(O1=02302 T(0神T(O
1+T(81@ IF 丁(0)>10 THEN 丁(0)sl。
2305 FORJ=I To Tl0I @ F6$=”O”2310
GRAPH
2350GOSUB 3500 ! MESSE2420 GOSUB
4600 ! DERIv2430GO5U正53300:EMτEST2
450 IF F5S=”1°1 丁)IEN GOTO2310247
0FORJ1=2 丁O丁9/L2◆124B0 53iJ11=s31J1
1+51(Jl 12490 NEXT Jl @ R9=R9+S7
@ R8=R8+S6 @ IF F6Sx”1” THENGO
TO2530
2500NEXT J
2530CO5LIB3700!MITT2580 1F F6S=”1”
THEN GOTO25952590FORJ=2 丁OT9/L2+1
@ S3+J)gs31Jl/Tl0I @ NEXT J ・IF
Fe5=”2°’ THEN GOSUB 4510259S psa
I GO5L+B 65002600 GOSUB 3800 ! C
HECK26201F F58=”l” T)IEN GOSUB 45002
650 711KI=711K)+T1(411* 丁21K)12(K)+
721411 @ IFD4S15.53=”O°’ 丁HEN 26
542651 1F 、ABS(丁]lK11>1 0RABS(丁2()C)
)>l ORABSI591)l THENPRINT xH丁)(El
;丁2(El;89 ・ GOTO26542+352 Pr1l:、”’、
Ek Is 2 # PRINT LISING ”DD、X、5
1’)、6D、X、SDA6D、X。
n、6D” ; K、TlfKl、丁2(K)、592654 1F F
7S=”1” 丁1(EN F7S=’O” ! GOTO30002
655NEXT K
F+95 DISP 丁IS [I DISP @ DXSP @ Ass
”*WFCC8″ @ GO5L!B 7000@ GOSUB 7700
@ CBIT(15,2)299フ IF C(61>I AND Co
THEN A$=”傘5” ! GOSUB 7000 !
WAIs
looo @ As!+”*I” @ GOSUB 70003000 ON
KEYi 3.”Rep、Me″GOTO31001! ON KEYi 2
.″0utput″GO丁0 3250 @ ON ERRORGOTO
30003010ON KEYi Iil、”5yrin(e″GOTO305
0@ ON KEYi 4.”NextPr″GOTO3030@ ON KE
1°# 1.Exit” GOTO5003015ON KEY嵩 5.”Re
5t” GOTO3060@ ON KEYi 6.”零11 End−M”
GOTO3000@ ON KEN ?、”enu m本l′ 00丁
0 30003017 KE’l’ LABEL @ 、CO301915
=SPOLL17081 @ I=BITII5,3+ 1m J=J+1
@ BEEP 300,103020 讐A1丁 2000 (N IF
Cf6))I AND J>2 AND T=l T’HEN 3
250ELSE 3019
3030 GOSUB 900 @ J:2 @ GOTO3019305
0GOSUB 7250 @ GOTO30003060F7S+=”2°’
@ CLEAR@ DISP ”Proceed from Po1nt N
o、” @INFυ丁 K@ P3=K @ GOStJB 3110
3070 F5S=”O” @ GOTO22403100F7S=”l” !
CLEAR@ D工sP ”Repeat which Pa1nt” @X
NPUT K@ GOSUB 3110 ΦGOTO22553110IF D
4S[4,4]”’L” THEN T1rKl=O@ T2(Kl:O@ G
OTO32003120As5xaN士 1 丁OD4S[6,14)&”、K
SYS” @ FORJ=1 丁0 2(1@’REAr+= 1
H丁11411@ NEXT J3]30 FORJ=OTo T151
@ RE八へ# 1 ; ”i“O,”+−1@ IF k=J
ANDF7S=”1” T)IEN T11に+=−YO@ 721に+=
−Y13]40 IF F7!=”2” AND Q2=2 AND
K>=J THEN 丁11Jl=−”1’O8丁21JlニーY)
3145 IF F?S=”2” AND Q2=I AND K
<=J T)IEN 丁11Jl=−YOを丁2fJl=−Y1
3】50 NE、’、’丁 −T @’ 、ASSIGNF 1 丁o
*3200 RETURN
3250 IF FSe”A” ORC(6)く2 THEN 32
553251 AS=”確4” @ GOStJB 7000 @
CB1201 ! IF E+11=O丁HE\H]=WII+51
@ 00丁0 32533252 H1=ABSl’lI+51/Ell
ll @ IF I=2 THEN )!1=H1*丁131 E
LSEH]:)11市丁+41
3253 Asff1”*”&VAL$[l ! GOSUB 700
0 @ lll11+51=H1IA9”*=’°&VALSIH11@
GOSUB 70003254 AS:”*E8” @ GOSUB
70003255 IF Ql:2 THEN RESET 7 @ H
IS=D4S(15,201&DIS&vALSID21&”N” @ GOS
tJB 1520 @ D4S[4,4]=”L”3270 GO5L’B
4200 @ GOTO13803300l3=0 @ 57=O@
rss=”o”’ @ ON KEY# 2 GOT(13390@
B)上P100.10 : EHTES
3310 FORJl:丁8/L2+I To T9/L2+1 @
H1=lS9−5]tJ111”2 @13−13+1 @ 57=57
÷H】3320 NEXT Jl @ S6=+S7/l31−.5
@ IF S6<、00001京+1+に/Tf511*B121 T
HEN 00丁0 33503330 IF k=OTHEN GOTO3
3503340TF S6>ABSIS9/100傘B+2目THEN DIS
P ”Heas”;に;に”Repeatea”;Z5 @ BEEP @ F
5S=”1” @ Z5=25+13345 IF Z5)31丁181
AND F5S=”1” THEN PRINT に59;S8;”
??”@ F5S=“jolt
3350 BEEP 200,10 @ OFF KEY& 2 @ RET
URN3390 l6=11” GOStJB 4450 @ GOSUB
4550 @ GOTO33003500T8=IN丁11B+131+);7
丁(5)孝+T16l−Bt13目1/L21率L23503 丁9=INTi
(Bil−11十に/T151電(丁171−B(14目1/L21章L235
05 IF J愈1 THEN GOTO3510ELSE I=0
@ GOStJB 7900 @ WAJs
3507 IF K<2 oyi K=丁15+OR丁(51<7
丁HEN AS=”ネH” ! GOSL+R7000@ WAIT
3000÷B(9)坤)27丁(5)3E、10ト10DEO,11ぐAS=”
調’H”@GO5UB7000@W、AI丁Bf8’l+F!+91本):7丁
(5)3312 B4二(丁1111−T(101172÷l @ H2=(
Ti21−丁1111/2+1 !+(3=171131−丁+1211/2
+13514ERASEME?l0RY−1:MESSE3515 ON
ERROR00丁0 359.73520)IEASURELl、L2,0.T
9+L23530 FORJ1=I To 丁9/L2÷235401FN
)IEASjJITHENGOTO35403550ToMEトイ0RYJ1
3560 IF Ll>、2 THEN GOStJB 4400357
0 NEXT Jl @ I6’!5POLL17081 @ IF Br
TiI6.OCI THEN 29953575 ALP)IA @ I
F L2>、2 THEN 35953580 FORJ1=1 丁O
T9/L2+23585P、EC,ALLHEきl0RYJ13587 GO
5じB 4400 @ NEXT J13593 RE丁LRN
3597 IF ERRN:2 THEN GO5L’B 1900
@ PRINT ”Ref、 rer、1eateモ戟f・
@ 00丁0 3500 ELSE 00丁0 16603600 DS=
D4S115.20]&DIS&VALSID21&”、”&B9S @’ O
N ERRORGOTO3605ASSIGNF I To DS @ DI
SP ”File exlsts” e ASSIGN士 1To * @
BEEP @ W、AI丁 2000 @ 00丁0 10003
610 IF ERRN=1300RERRNJ25 THEN DISP
B9S;”not found”@ BEEP @ WAIT 2000
!’ GOTO36003620ON ERROR00丁0 1660
@ PLOTTER1@ PRINTER2@C181=1 @ B11
5+=1 @ 01101!03624 B+61=丁(4115@ G
OSUB 4800 @ IF B+41=I THEN H]=
3 6H−1=丁Nl ・ C171=I ELSE GOTO3634
362G IF B+61<HJ150 THEp: H1=H1市1
0 6 H4=)+4/10 @ GOTO36263628IF B
161<)+4/20 THEN )+1=H1寧2 e H4=H4
/2 @ GOTO3G283630 IF Hl>4 AにD
C+81<B+191 丁)IEN GOSUB 3650 @ G
OTO362S
3632(J7>=C(7111T(144/4mB(61@ T114)=6
1B163363−I k=T151 @ GO5UI3 8250
@ L1201=L(201本丁+141/H4363CGOSUB 80
00 (I IF D4SI5,5]:”O” 丁HEN H1=O
ELSE )+1!]3638GO5U!l;9500
3640 FOF’ k=:o To 40 e 丁1(Kl=O@
丁21K1wO! NEXT K3E4S IF D−1514,4]=
’°L−THEN GOSUB 18003647RET1jR\
3650 H2=10/H1t? AS=”13°’ ! GOSUB
7000 @ 、AS=”本、A”AV、ALSIW2)
(’ GOStJB 7000 @ C181=C181+1366O
ASW”15” ! GOStJB 7000 @ A$=”12” @
GOSUB 7000 @ DISP”Please Wash Tip”
+! WAIT 50003665 ASW”14″ @ GOSUB
)000 @ A$=”*D” 4’ WAIT 5000 @
GOTUB
フ000 @ AL=”1kE 6” ! GOSUB 7000
3670 T(41=T141/H1@ T(141=T(141/Ml @
C(71=)II368ORETURN
3700 Tl(J11=O@ T21411=O@ H4=W1+31
”丁1417B1713710 FORJ=l To 丁101 e 丁
11411=丁1+41++54TJI 8丁2t−111=丁2T411+
S5+Jl @ NEXT J3720 Tlf−111=丁H411
/Ti1l @ T2f4)+=丁2F4] )/Tl0I !R9=R
9/Tl0ItR9=R9−,5@R8:IR8/Tl0II−,53730D
ISP USING ”DD、X、5D、DD、XXX、DDD、DD、XXX
、、6D” ;に、84.B131.R8! RETURN380059=0
@ 58=O@ F5S=”O” ! CH3810FOR、y=i
’ro T(01382059=S9++T1+411−S41Jll”2
@ 58=S8+fT2t411−55fJll−2@NEX丁 J @
S9!ls9/Tl0II−,53830IF S9<ABsf 、0OO
Q5零B1111 0RQ1#I THEN 00丁0 38603850
IF 59>ABSI丁1(411/100*Bl)11 丁HEN
DISP ”Average”;に;”repeated”;Z5 @ B
EEP @ F5S=”1°゛3855 Z5=25十丁+01 @ I
F Z5>2傘T181 AND F5S=”!” 丁HEム 3ε7
03860RETしIR:く
3870 PRINT ”Avera;e nonreliable”
@ FORJ=I To 丁lot @Pf?INT”トIse”:l
::J:”°’:S−1iJl;551Jl@NEXTJ3875 F5S=
”O” iy 00丁0 38604200 IF D4S[5,0]
=“°O°゛ 丁HEN 42054:o+ PRINTER2t)PRI
NT @ PRINT @ PRINT 丁AB171;E4S 1
!GRAr’He C0PY
−1202HCO@ GOSUB 9500 @ PRINT 丁Is
@ ON ERROR00丁0 16604205 PRINT !
! PRINT @ PRINT ”No、 Range I
Range 2[5ubstrl”
4210 PRINT ° 丁PHI 1 /see l 丁Nll
/5ect )I°’ @ PRI::丁4220 k=丁(5
1@ GOSUB 82504230.4S=”PFTN、にSYS”42
50 GOStJB 8500
4260 LORG Oe C3TZE 3 @ GOSUB 5500
4270 FOR);=C丁o T151 e GOStJB 82
50 e IF k=O丁HEN711401:)+3
4290 No(°E H4,B3 e LABEL ”*’°41 No\’
E H4,Jl @ LABEL ”+”4310 PRINTERIs 2
@ PRTNT USING ”DD、X、S5D、D、X。
5513.D、XX、5D、DD” ; ):、B3.Jl、H44312
PRINT= 1 ; B3.Jl、H44320NE:=:T );
@ PRINTERIs 24330 PRINT @ IF
D4S15.5J=”1” THEN PRINT @ PRIN丁T
ABI 71;E4S t C0PY!’ PRINT ”Fal;tor:”
;CM ? l @ PRIN]4350 ASSffGN# ] To
零4360 GO5IJB 6000 @ PRINT @ PR
INT @ PRINT @ RE丁UR?:4400 l3=o @
Hi=。
4410 FORI2=2+11 丁o 丁+21 5TEP 2 @
H1=)+1+VALUEII21 eNEXT 12
441551(J11=H1/H2@ H1=04420 FORX2=T(1
21To T11315TEP 2 @ H1=)11+VALl−IEII2
1 eNEXT 12
4425521J11=H1/H3@ H1=04430 FOR+2=T1
101 To 丁+111 5TEP 2 @ l+1=H1+VALt、’
E1121 eNEXT 12
443551(Jl 1=511J11−H1/H4@ S2+J11=521
J31−M1/H44440RETURN
4450 DISP ”1=Exit 2=New 5tdev 3=Rep、
5in(le” @l D2SP”4=Rep、Aver、5=EndMe6=
goon’。
445S DISP ”7=Test ト1st 8=Next R
eady−”:4460 1NPp丁 H1l! Rtrvn?;4500
1F F&=”A” THEN GOTO22504510GO5UB
4450 e ON ERRORGOTO1660@ 16=24520 F6
S=”O” ! IF H1j3 THEN 45504530 F6S=”
1” @ DISP ”No、 of Single Measu
rement” @ INPLfT
J@ FOR+1=1 丁0 80 @ 53(Jl l=o @
NEXT J14540 R9=R9−2*Tl01/(1,2+T(01
1@ R8=R8−2傘Ti01/11.2+Tlo+1! GOTO2310
4550IF H1=6 丁HEK 29954555 JF H1=7
THEN 200045130 IF H1+2 THEN DISP ”M
ax、 Non1in、/No1se 2 Inputs”;@INPU丁 B
ll l、B(211! GOTO459045651F H1=87)IE
N GO5UB 900 @ GOTO459045701F )+1=3 A
ND r6=I THEN F6S=”2°’ ! GOTO45904580
1F H1=4 丁HEN 22504590 FeE丁UR::
4600 59=O@ 58=O@ 11:04620 Hl、5l11
1 @ H2=S21114630 FOR+1=2 丁OT9/L2+
24635 H3=S)(J)1 @ H4=52(Jl)4640 511
J11=iS1(+1+1)−811/12本L21 @ 32+J1)=
(S21J1+1)−B21/+2*L21 @ IF Jl>T9/L2+I
THEN C0TO47104700IF Jl>=T8/L2+I THE
N 11=11+1 @ 59=S9+S1+J11 @58=58÷s’CJ
l+
4710 H1=H3@ H2=H4@ NEXT Jl @ l3=O@ 5
8=S8/II @59=59/11
4730 DrSP USING ”DD、X、DD、XX、SZ、6D、XX
X、SZ、6D” ;に、J、B9.58
474054CJr=591!’ 551Jr=584750 RETURN
4800 pas=”o°’ @ A5=O@ A6=O@ MOD
E O,14810LAMBDA Llll、L+21.L(31,L141
.L15)、L+61.L+71゜L(B1.L191.Lllol
4820TDIESCALEOToT17)4830 ABSOR+’、、A、
’;CE4832 1F B131)丁131/3 THEN 1031
冨丁r31/34833 IF B161>T目+/3 THEN B(61:
T141/34835 W1131;B171零B(61/T(414836
W3121=IIJ7)傘B131/丁13)4840 1F Ml(31<=
OT)IEN GOTO19004845IF C19+jl T)IEN
10004850 x=o e GO5LIB 79804860 AG
−”零H″ e GO5UB 70004865 WAX丁 5000
4870 J=O@ K=INTIT151/2> @ T9=T171 @
T8zB+133 @ GO3υB4920 H1=O@ H2=0
4930 FOR+1=3 To 4 # H1=S11JI I+
H3e )+2=52fJ11+)+2 @ NEX■
Jl @ H1=H1/4 @ )12=H2/45050 IF D4S
I5,53x”O” AND A5含1 丁HEN AS=’°PFO
D、KSYS” @GO5UB 8500 @ A5=1
5055 DISP ”In1tial OD Range 1 and Ra
nge 2°15056 DISP tjsING ”6X、SD、5D、6X
、SD、5D” ; Hl、82 @81!IHI/丁tis+*tooo
@ u2=H2trnsド10005057 IF ABSIHI)>9
99990RABS(B21>99999 THEN DISP”[E]°’;
Hl;H2i’°u)1” @ GOTO50605058DISP tJsI
NG ”3A、X、S5D、3D、4X、S5D、3D、2A” ; ”[
E]”、Hl。
82、”uM” ! DISP ”D@riv、 Rangel and Ra
nge 2”5060 XF D4SE5,511”O” THEN F6=1
@ GO3UB 651)O@ F6!2 @GO5υB 6500
51so Kao ・J=O@ GO5UB 4600 & GO8UB 33
00 @H4!ABSIS6/S9傘1001 @ IF )14>99
9 THEN o4=s995160 DISP USING ”14A、
X、、6D、3A、3D、D、A” ; ”No1se Rangel”
、ABS(56)、” = ”、)1−1.”!” @ 81=O@ )12=
05170 FORJ=12 To 6 @ )11=H1+51(Jl e
NEXT J @ 81!)+115 II!A1=H4
5180FORJ=丁17)/L2−3 To 丁1フl/L2+l @
)+2+−)+2+511JI e NEX丁J @I H2=H215
m H3=rN丁(ABSI(Hl−H2VH1傘100115190 Dr
SP Konlinearity : ”;83;%” 41 A2=H3
@DISP @l5P
5300 J1=O@ IF D4$(5,5]#”O″THEN GO5t、
’B 54005310 IF +1+19 丁HEN 4e1053
50 IF A5#2 丁HEN AS=”PTAB、KSl−5”
41 GO5IJB 8500 @ A5!Q
5360 F6=1 ・GO5UB 6500 @ F6=2 @ GO5L
I865005390 GO5L+B 5400 @ IF Jl!
9 丁HEN 48105395 RETURN
5400 OFF KEYj 8 @ ON KE1’# 2.”Go o
n” GOTO5490@ ALPHA5402 ON KE1’# 5
.”(E)″ GOTO5440e ON KE1°# 6.”Actj
v” 00丁Cl5445 e ON KEYj ?、”[I]″GOTO
54355405ON KEYI3.”Graph” GOTO5420@ O
N KE1’# 4.”Alpha”GOTO5430! l;EY LAB
EL5407 1F FS=”A” AND c+1o+=o 丁HE
:CJCI ELSE J1=Q541011 J1=OTHEN 541
0 ELSE BEEP 300,20 t WAIT 3000 tGOTQ
5J50
5420 GRAPH@ J1=Q IF 00丁0 5410543
0 ALPHA @ +1=08 GOTO54105435DISP B1
6):new”;@ INPUT B+6)e +1=9 % 00丁
0 54905440 DISP B131;”nev”、@ INPL!T
B1311’ BI31=B13) @ Jl:9 tGOTQ 5490
5445 DISP B+101i’°ness”;@ INPUT B
IIOI@ C1OTO54005450XF B(41=OORQ1=2
THEN 54905454 IF BC61<丁(4)/2000 TH
EN B16+=T14+/2000 6 GOTQ 549Q5455
ZF A11SIS91<BIIO)/2 THEN 81=、25 * G
OTO54925−+65 IF ABS+S91>3.31B1101
丁HEN Hl”1.3 @’ GOTO549’、:5470 I
F A1SIS91c、75*B1101 丁HEN tu=、ys
e GO1’0 5492549001F KE1’# 2 @ OFF K
E1’! 3 # OFF KEYI 4 @ OFF KE)’z 5tnE
丁し′RN
549! llH61=13(611111e AGzA6+1 e
CLEAR@ DISP”Inhib、conc、:”;B161 @
IF A6>6 丁HEN J1=OELSE +1=95493 0
0丁0 5490
5495 GO5L’B 7250 1! GOTO54005500D
S=D−1s[15,20]&DIS&〜’ALSID21&”、”&B9S
@ ON ERRO)? GOTO16ε0
!550 CREA丁E DS、3+INTIT+51710+、5)、2
iS65560 ASSrG二:R1丁o DE5570 PRIN丁t
1 : Dis、B2.D3$、D4g、EIS、E2S、TIS、丁(
IILI 1.B15660 RET+、’RN
6000 A!=O@ A2=O@ ^3xo 1! A4=O@ asgo
e A6=06050 FORK=1 丁o 丁(5141GO5UB 8
250 41 H3=丁1(401−836090IF B3<=OORH4=
Q THEN GOTO6200ELSE )11=1/H−J 11)+2=
T1140)/)13
6120 A1=AI+1 @ A2=A2+H11! A3+=A3
+H2@ A4=A4+H1*)+2 eA5=A5+)+1率+1’l
伸 As=As÷l+2*826200 KEXT K
621(l IF AIHQ TIIEN GOTO64006’::!OH
1=A5/、43−IA2/Al l“26230 B2:、A6/AI−fA
、3/Alど26240 )13JA−1/AI−、A2/Al率A3/Al
l/l1162501(4=A3/、4]−H3*A2/A16260 H5
=83傘)11−.5/H2”・56280 H]=ABS11/1H−1/H
31)@ H2=ABS+1/H4+6290 IF ABS(Hl l>
9999 0RABSIH21)99999 0RABSIH51>1 TH
ENGOTO6400
6300PRINTυ5ING 15A*7X、3D−2D+X13k” ;
”Inhibition=”、+1−821宰100.” %16310
PRTNT USING ”17A、2X、5D、3D、X、3A” ;
”InhiL+jtionConst=”、Hl、” H”
6320 PRINTυ5ING ”15A、9N、3D、4D” ; ”
CorrelaLjor+ =”、)156400 PRINT @
PRINT @ RE丁じR1N6500 PLO丁 0,0.2
6520 FORJ1=2 To 丁9/L2◆16530 H−1=
lJ1−11傘L265−10 ON F6 00丁0 6550.656
0.65706550 H3=S11J11 @ 00丁0 65806
560 113=s2+J11 t 00丁0 65806570 H3
=S31J11
6580 PLO丁 H−1,1(3,16590NEXT Jl @
PENUP @ PLO丁 0,0,2 @ RETI;R1ぐ70
00 OFF KEY# 2 fi’ OFF KEY倉 3 @ OF
F KEY= 4 @ OFF KEI’= T
@ OFF KEY窃 6 @ OFF KEY* 7 @ O
FF KEY# 87005 SET 丁THEOL’丁 7;3000
70100NTIMEOU丁7GOTO70907015Al5=AS[2,2
]
7020 ’l5=SPOLL+70817025 IF BI丁II5.
7+ THEN WAIT 500 @ GOTO70207030
IF B1丁f15,51 THEN DISP ”Empty”
@ F5S=”2°’ @ C1151=0@’ GOTO7082
70322F B1Til5,41 THEN DISP ”Full
” ! CF151=07035 1F B1丁f15,31 THE
S C1151=07040 AsはAs4”、” @ OじTPじ丁
708 :AE70ニ2 7F Al6:“°1°“ 丁HEN M=
17054 1F 、A]S=’°2°° 丁HEN M=27060IF
AIL=”3”THENM=370611FAコS=”B’□0RA3S:=’
□D”丁HENCIMl=CイMl−W(M+1017062 TF Al
5=“’C” THEN C!Ml二C(HI+ζ(Halo 17063
IF A15=’T” THEN CIMI:07064 IF 、A
35=’°Gl° THEN CIMl=WIM+70651F A1$=
”)I” THEN 0口1=c(11−WITII @ C121=C12+
−Wl(21e C131=C131−W1131
〕Oフ00F「 丁IMEOじ丁 7
70ε(!RE丁I:RN
7082 1F 、415:”F” ORAl5=”B” ORAl5=
”D” T)IEN 7080 ELSE7090DISP”Switc
honASSAYOMATE”@BEEP@WAIT5000@RESE丁 7
@ 00丁0 70007100DISPAsToAS=”*TF84A
”!l6=Wl+41@GO5しIE72007130 16=IN丁+W11
41/fW1111*48000ハ?111)l+257 8 GO5U11
72007115 IF Wl+21=O丁HEN l6=60258
ELSEI6=IN丁ロ51i417[W]121本48000ハf211
1+2577120 GO5L’n 7200 @ IF k’l+
31’:O丁HEN 16=60258 ELSEI6=T!ζ丁C1へ1
141/(−”1f31$480007W13111÷2577] 25 GO
5’ct! 72007130 GO8U1’= 7000719QRE
TUR二;
7200 BS=’° ” @ 81&=”0123−15678
9ABCDEF”7205 FORJ1=4 To I S丁EP
−172101=T6 賢IoD16 @ BS[Jl、J1]=HIS[I+
1.I+1] @ l6=I6−I @l6=I6/16 @ NEXT
J17215 Al=AS&”=”ABS[3,4]&”=”ABS[3,2]
7220 RE丁1jR\
7250 M=Oe AS=”*WFCC8” @ GOSIjB
7000 @ GOSUB 7700 @ GO嘯br
7280 ON KEY= 】、”Give” GOTO7430@
ON KEY* 2.”5uck” Gt’1丁07300 ON
KEY: 3.”Bael;” 00丁0 フ400 # ON
KE’+’−+ 4.”Empty”00丁0 7−160
フ3200二:KE’;’:5.VALS+W[M+1O1lGOTO7360
7330ON KEY# 6.VALSICiHll GOTO)440
7340 ON KEY# 7.”Retur” GOTO73557350O
N KEY# 8.”Syr、”&VALSIMI GOTO74807352
KEY LABEL @ GOTO72807355OFF KEY# 1
@ RETURN7360 CLEAR・DISP ”Volume per
Key’°;e INPUT )1158w1M+101=vALIHISl
@ AS=”mA”&HIS @ GOSIjB 7000737
0 GOTO7280
7400Al=”率D″ @ GOSUB 7000 Lm 00丁0
72807420 AS=”IEC” @ GOSIjB 7000
@ GOTO72807430AS=”本B″ @ GO5UB400
0 @ GOTo 72807440 A!=″*G″’ @ GO
SUB 7000 @ GOTO72807460AS=”Q−” @ C
05UB 7000 @ GOTO72807480)f=M+1@IFM>
3THENM=17485AS=″*”&vALS(M)@GO5UB7000
@GO丁072807500 CLEAR+’ DISP ”No、of Cy
cles and Syringe +1−31”;#INPljTH1,M
75101FM(1OR)D3THEN75007520A!””I′&VAL
!(Ml@(i0sUB70007530 AS=”IE”&V、ALSI+
(11@ GOSUB 70007535IFHINOD2虚OT)IENC
IMl=OELSECTMl=W(M+517540 RETURN
7700 SET TIMEOUT 7;2000 @ A$=’°゛7710
ON 丁IMEOUT 7 GOTO??90?720 ENTER
708USING ”#、B” ; H1@ AS=AS&CHR5I811
1’ IFH1=13 0RLENI^$1)40 THEN 774077
30 GOTO7720
7740OFFTIMEOUT7@0NERRORGOTO77907750C
f11=\“ALIAS口0.16]17760 C121=V、ALIAS[
20,26])@ C131=VAL(AS[30,3611t’CH31=1
7790 ON ERRORGOTO1600@ RETURN7900
IF K=O丁HE:、’ N5=0 @ GOTO797079
10op: 丁(191GOTO7920,7930,7950,〕940,
79607920 N5=4*L3+CK−11@ GOTO79707930
N5=);本300/T151 @ IF K>T(51/2 THE
N N5=150+IN丁1);−Ti5)/21$600/T(5) @
00丁0 7970 ELSE GOTO79707940に1=T1
51÷1−K @ N5=1/):1$600 @ GOTO79707950
N5=5÷に本100/T+51÷3$L3”(K−11@ GOTO7970
7960N5=N3/L1201
7970 賢1r31!?;3率L1201/10000?975 W112
1])lフl*B131/T131*11−B+171本(τ15+−Kl/丁
(5目7980 W1+11=B171−W1121−W1i31 @ IF
I=9 THEN RETURN7985 AS=”畦”&vALS IWI
(1) l&” 、 ”&VALS IWI + 211&” 。
”&VALSfW1(311@ GOSUB )1007990 GO5L
:B 7000 (RETtjRN8000 51i11=+4 1! S1
+21=、3 @ 51131=、25 @ C9@ Al”本WF
CC8”! GO5IJ8 7000 @ GO5LIB 77008010
FORK=O丁o 丁151 @ GOSUB )900 @
FORM:1 丁o 3 @S1+Ml=511)11+W11)11
e丁(81”)、1@NEXTM@NEXTK8060 FORM=1 丁
0 3 @ IF 5l()+1>C(MI THEN DISP
”Syringe”;51;” is filled” @ GOSUB 8
1008070 λEX丁 ’l t RETtJRN8100に=E+2
01@、AS=”’k”AVALSINl@GO5L、’B7000@IFM=
I’。
丁11EN 1a120
8105 SITにl:511に+÷、2 @ IF 5IIK+)%ttKI
T)IEN 511KI=WIK+8107 TF 5IIKI>B119
1 THEN 5IIK)=Bi1918110 AS=”*:”&VAL
S(51イKll @ GOSUB 7000 @ WIK+51=
S11K18120 AS=”傘G” @ GOSUB 70008190
RETURN
8200 I=O! BER,IE)[518205GOSUB 7900
8210 B2:T13ドW1121/B1718220 H4=7141*W
l131/B171 ! [5]8230 H3STIIKI章1000
000/Ti171/H2@ J1=丁2覆に1京1000000/丁f18
1/H2
8240RETURN
8250 I=9 @ GO5υB 82058260 RETURN
8500 RESET ?
8510 ASSIGN# 1 丁OAs 1! READe 1
; 83.H4,XO,XI、X2.X3.YO。
Yl、Y2.1°3.E3S、E4S
8550 GRAPH@ GCLEAR@ 5CALE O,100,0,10
0! IF X2:OTHENλ2=lX3−XOI15
8560 N0VE 30.0 ! LDIRO@ C5IZE 3 @ LA
BEL E3S @ F5:(Xl−XOI/7 @ F6.rYl−YO
I/1085905CALE Xo−F5.Xl、YO−F6.Yl @ XA
xIS Yl、X3.NO,XO+X3 @XAXIS Yl、X2.XO+X
3.X18620 XAXIS Yo、X3.XO,XO+x3 @ XAXI
S YO,X2.XO+X3.XI @)’AXJS XI、Y3.YO,Y
O+1’38650 )−AXIS Xl、Y2.YO+Y3.1−1 @ Y
AXIS XO,)’3.)’O,YO+t’3 @1゛ANrs xo、’
y2.yo+v3.n8660 FORK=XO÷X3 To XI
5TEP X28670 MOVE K−F515.YO−()−1−1’O
I/2086BOLAIIEL VALS、lI;l @ NEXT K
8690 FORK=YO÷v3 To Y】 5TEP Y28700M
OVEXOJXI−XOI/101K−F6/28710 LABEL V
ALSfKl @ NEXT K8900 ASSIGN# I To
廖 @ RETURN9500 PRINT (I PRINT @
PRINT9510PRIN丁”Measurement’。;D4$[1
5,201;””HDIS;D2@PRINT ”Diskette:”;B
9S;” ”HD3S9540 FORr=1 ’ro 32 @ PRrN
T ”−”;@ NEXT I @ PRINT9542 IF H1=OT
)IEN 97009545 r’RINT ”Timp tjind
o%1”;TAB+161H丁(61:”bト1゛;丁AB(241;丁17L
H”sec”9548r’RINT”Max、5tdav”;B111;”/N
on1in、”;B(21;”5二°゛9550 PRT?ζT ”Ran
ge 1 from ”;丁C目;” to”i丁(2ト1°r1m
”9555 PRINT ”Ran(e 2 frorn ”H丁
+121;” to”;T(131;”nm”9560 PRINT ”[
”;EIS;”]”;丁AB1231HT(31;”nM”9565 PRIN
T ”in the As5ay : ”;BT171;TAB+231;
B131;”nM”9580 PRffN丁 ”[”;E2S;”]”;TA
B(231;T(41i”)1”9585 PRINT ”Max、Cone、
in As5ay: ”;Ti141B”M”9657 PRINT ”As
5ay Volun+e :”;TAB1251;B171;”ml”969
0 FORI=1 丁0 32 46 PRINT ”−”;@ NE
XT I @ PRINT9700 PRINTERIs 2 @ RE
TURNFig、 5
Fig、 6
Fig、 7 (B)
\ 。
特表千3−502737 (205ン ・Fig、 11
No、 yンン″゛ 1 ムンゾ2 ノイみ”0
−.000029 −.000114 −.0000141 −.
000153 −.000178 −.0000242 −.000
399 −.001021 −.0000123 −.000559
−.001460 −.0000234 −.000655 −
.00177B −,0000285−,000797−,002117−
,0000316−,000914−,002565−,0000297−,0
01067−,002885−,0000368−,001206−,0032
16−,0000519−,001281−,00346B −,0000
1310−,001402−,003778−,00003111−,0015
50−,004213−,00004512−,001706−,004633
−,00005913−,001937−,005262−,00005314
−,002094−,005669−,00003715−,002317−,
006200−,00005816−,002529−,006613−,00
004217−,002700−,006712−,00005518−,00
2817−,005955−,00005419−,003169−,0048
21−,00014620−,003628−,003112−,000150
Fig、 12
ゲ°シシ一 (テ一り Oψ)
4 4i3,5 +13.7 1.167
+22.0 +22.3 2.038 +24
.8 +24.9 2.409 +26.4
+26.8 2゜8210 +28.8 +2
9.2 3.3211 +31.9 +32.6
3.9312 +35.1 +35.8
4゜6713 +39.8 +40.7 5.591
4 +43.1 +43.8 6.7415
+47.7 +48.0 8.2116
+52.0 +51.1 10.0817 +5
5.6 +51.9 12.4918 +58.0
+46.1 15.6219 +65.2
+37.3 19.6920 +74.6 +2
4.1 25.00Fig、 14
7〜力j@虹秩 (S >
国際調査報告 −