JP2939392B2 - エミュレータ - Google Patents

エミュレータ

Info

Publication number
JP2939392B2
JP2939392B2 JP4149716A JP14971692A JP2939392B2 JP 2939392 B2 JP2939392 B2 JP 2939392B2 JP 4149716 A JP4149716 A JP 4149716A JP 14971692 A JP14971692 A JP 14971692A JP 2939392 B2 JP2939392 B2 JP 2939392B2
Authority
JP
Japan
Prior art keywords
program
mouse
input
computer
handy terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4149716A
Other languages
English (en)
Other versions
JPH05342046A (ja
Inventor
茂樹 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujikura Ltd
Original Assignee
Fujikura Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujikura Ltd filed Critical Fujikura Ltd
Priority to JP4149716A priority Critical patent/JP2939392B2/ja
Publication of JPH05342046A publication Critical patent/JPH05342046A/ja
Application granted granted Critical
Publication of JP2939392B2 publication Critical patent/JP2939392B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 【産業上の利用分野】
【0001】この発明は、例えば、「ハンディターミナ
ル」と呼ばれる携帯可能なコンピュータ用のアプリケー
ションプログラム開発に用いて好適なエミュレータに関
する。
【0002】
【従来の技術】近年、「ハンディターミナル」と呼ばれ
る携帯可能なコンピュータが各種実用化されている。こ
の種のコンピュータは、ポータブルに構成されており、
携行先で種々のデータ処理が可能になるため、様々な分
野で使用されている。図9は、このようなハンディター
ミナル1の一構成例を示すブロック図である。
【0003】この図において、1aはハンディターミナ
ル1の各部を制御するCPUである。1bは、CPU1
aの基本的な動作を制御するオペレーティングシステム
プログラム(以下、これをOSと略す)が記憶されるR
OMである。1cは対応業務用のアプリケーションプロ
グラムがロードされると共に、該プログラムのワークエ
リアとして各種レジスタ値が一時記憶されるRAMであ
る。1dは、LCD(液晶表示素子)等から構成される
表示回路であり、内部バスを介してCPU1aから供給
される各種データを表示する。1eはLCD(液晶表示
素子)上に設けられた透明タッチパネル、あるいは本体
パネルに配置されるテンキーやファンクションキー等か
ら構成される操作子であり、それぞれ各操作に応じた操
作子信号を発生する。
【0004】1fは本体から着脱自在に構成されるメモ
リカードである。このメモリカード1fには、上述した
アプリケーションプログラム、あるいは当該プログラム
によって参照される各種データが記憶される。なお、こ
のメモリカード1fが本体に装着されていない場合に
は、上述したRAM1cの一部をRAMディスクとして
使用し、ここにアプリケーションプログラムや各種デー
タを記憶することも可能である。また、メモリカード1
fに記憶されるデータは、図示されていない上位コンピ
ュータからダウンロードされるものである。1gは、例
えば、モデム等から構成され、シリアルデータ通信を制
御する通信制御回路である。このような構成によるハン
ディターミナル1は、周知のコンピュータと同様に動作
する。つまり、電源投入後にOSが立上がると共に、こ
のOS上で対応業務用のアプリケーションプログラムが
データ処理を実行する。
【0005】ところで、ハンディターミナル1で動作す
るアプリケーションプログラムは、「C言語」と呼ばれ
る構造化プログラミング言語で記述される場合が多い。
図10は、「C言語」によるプログラム開発手順を示す
図である。この図に示すように、プログラム開発は、コ
ーディング、コンパイルおよびリンクの各作業からな
り、実機デバッグを経て当該プログラムの動作が検証さ
れる。なお、このコーディング、コンパイルおよびリン
クの各作業は、通常、開発マシン(例えば、パーソナル
コンピュータ)上で行われる。
【0006】コーディングにおいては、予め定められた
システム仕様に基づき、ソースプログラムをC言語で記
述する。このソースプログラムは、ソースファイルsf
として開発マシン上に登録される。ソースファイルsf
は、コンパイラCCの入力ファイルとなる。コンパイラ
CCでは、C言語で記述されたソースプログラムを語彙
解析、構造解析および意味解析し、この結果をリロケー
タブルな中間コードで記述されたオブジェクトプログラ
ムに変換する。このオブジェクトプログラムは、開発マ
シン上でオブジェクトファイルofとして登録される。
【0007】リンカLKでは、オブジェクトファイルo
fに対し、標準関数ライブラリSLと、ターミナル専用
関数ライブラリTLとを結合させ、マシン語で記述され
た実行ファイルEfを生成する。ここで、標準関数ライ
ブラリSLは、C言語において定義される各種の制御関
数ルーチンプログラムから構成されている。また、ター
ミナル専用関数ライブラリTLは、ハンディターミナル
1のハードウェア環境で動作するように定義された専用
プログラム群から構成されるものである。
【0008】すなわち、リンカLKでは、オブジェクト
プログラムにおいてコールされる種々のルーチンプログ
ラムや専用プログラムが上述した各ライブラリSL,T
Lから引用され、これらをオブジェクトプログラムに結
合させる。これにより、リロケータブルな中間コードで
記述されたプログラムが実行形式に変換され、実行ファ
イルEfとして生成される。このようにして生成される
実行形式のアプリケーションプログラムは、絶対アドレ
ス上に展開可能な形態となる。
【0009】次に、実行ファイルEfは、例えば、開発
マシンから前述したメモリカード1fに書き込まれ、該
メモリカード1fを介してCPU1aにダウンロードD
Lされる。これにより、ハンディターミナル1上で実機
デバッグDG1が施される。実機デバッグDG1におい
ては、予め策定された検査項目に従ってアプリケーショ
ンプログラムの動作を検証する。この実機デバッグDG
1でバグが露見した場合には、ソースプログラムの対応
箇所を修正する。そして、修正されたソースプログラム
は、再びコンパイル、リンク作業を経て実行ファイル化
されて実機デバッグDG1が繰り返される。
【0010】
【発明が解決しようとする課題】さて、上述したプログ
ラム開発手順においては、ハンディターミナル1上でバ
グが露見する度毎に、当該バグに対応するソースプログ
ラム部分を修正し、これを再度実行ファイル化してハン
ディターミナル1にダウンロードしなければならない。
このため、実機デバッグDG1には多大な工数が費やさ
れ、結果的に開発コスト上昇を招致するという弊害があ
る。
【0011】さらに、実機デバッグDG1においては、
ハンディターミナル1の動作状態を直接的に確認できな
い検証項目が多々ある。例えば、タッチパネルの入力動
作を検証するには、該タッチパネルを縦/横に複数分割
したキー領域を実際に押下し、このキー操作に応じた動
作が適正か否かを調べる以外にない。
【0012】通常、こうしたキー分割は、アプリケーシ
ョンプログラム毎にその分割態様が異なる。キー分割数
が多い時には、設定ミスにより誤ったキーコードを割り
当ててしまうこともあり、これが原因でアプリケーショ
ンプログラムが異常動作することも起こり得る。したが
って、このような場合には、タッチパネル入力操作に応
じて各キーが発生するキーコードを検出する検査プログ
ラムを新たに作成し、該プログラムに基づいてデバッグ
作業を行わなければならない。結局、この実機デバッグ
作業は、上述したダウンロードに関する弊害とあいまっ
て、プログラム開発効率の向上を阻む要因になってい
る。
【0013】そこで、こうした欠点を解決するには、上
述したコーディング、コンパイル、リンクおよびデバッ
グからなる一連の作業を全て開発マシン上で行い、か
つ、デバッグ作業時には、開発マシン上でハンディター
ミナル1の動作状態を全て把握できる形態になることが
要求される。これを換言すれば、開発マシン上でアプリ
ケーションプログラムを実行し、ハンディターミナル1
の動作をエミュレートできれば、上述した欠点が解消さ
れ、効率良いプログラム開発が可能になる訳である。
【0014】しかしながら、ハンディターミナル1と開
発マシンとは、殆どの場合、ハードウェア環境が全く異
なるため、ハンディターミナル1用に作成されたアプリ
ケーションプログラムを開発マシン上で動作させること
ができず、特に、上述したタッチパネル入力動作を開発
マシン上で表示させることは、全く期待できない現状に
ある。この発明は上述した事情に鑑みてなされたもの
で、ハンディターミナル1のタッチパネル入力動作を開
発マシン上でシミュレートすることができるエミュレー
タを提供することを目的としている。
【0015】
【課題を解決するための手段】この発明は、互いにハー
ドウェア構成が異なるコンピュータの内、いずれか一方
のコンピュータ用に作成したプログラムを、他方のコン
ピュータ上で動作可能にするエミュレータにおいて、前
記プログラムがコールする複数のルーチンから形成され
るライブラリであって、前記プログラムと同一の引数で
定義された各関数ルーチンが、それぞれ前記他方のコン
ピュータ側のハードウェア構成に対応した各機能を模倣
する模倣手段と、前記模倣手段によって前記他方のコン
ピュータ上で模倣されている前記一方のコンピュータ側
の入力操作を抽出する抽出手段と、前記入力操作に応じ
前記他方のコンピュータ上でカーソルを移動表示する
表示手段とを具備することを特徴としている。
【0016】
【作用】上記構成によれば、模倣手段が一方のコンピュ
ータ用に作成したプログラムを他方のコンピュータ側で
動作させ、前記一方のコンピュータの動作を模倣する。
抽出手段は、この模倣手段により模倣される前記一方の
コンピュータ側の入力操作を抽出し、表示手段が前記入
力操作に応じてカーソルを移動表示する。この結果、互
いにハードウェア構成が異なるコンピュータ間におい
て、一方のコンピュータ用に作成されたプログラムを他
方のコンピュータ上で動作可能とし、一方のコンピュー
タ側でなされる入力操作を、他方のコンピュータ側でエ
ミュレートする。
【0017】
【実施例】以下、図面を参照してこの発明の実施例につ
いて説明する。図1はこの発明の一実施例を適用したプ
ログラム開発手順の概要を示す図である。この図におい
て、図10に示す各部と共通する部分には、同一の符号
を付し、その説明を省略する。図1に示す手順が図10
に示した従来例と異なる点は、ターミナル専用関数ライ
ブラリTL(図10参照)を後述するエミュレータEM
に置き換え、これにより、開発マシン(パーソナルコン
ピュータ)上でハンディターミナル1用に作成されたア
プリケーションプログラムのデバッグDG2を行うよう
にした点にある。すなわち、この実施例が意図するとこ
ろは、エミュレータEMを用いたことにより、従来必要
とされていた実行ファイルEfのダウンロードDLと、
これに応じてなされるハンディターミナル1上の実機デ
バッグDG1とを省略し、かつ、開発マシン上でハンデ
ィターミナル1のタッチパネル入力動作をシミュレート
するようにした点にある。
【0018】次に、図1のプログラム開発手順を実現す
るエミュレータEMの機能概要について説明する。ま
ず、エミュレータEMは、ハンディターミナル1のハー
ドウェア環境で動作するよう定義された各種関数を、開
発マシン(例えば、パーソナルコンピュータ)のハード
ウェア環境で動作するように定義し直したプログラム群
から構成されている。
【0019】エミュレータEMの機能は、図2に示すよ
うに、ターミナル専用関数ライブラリTL(図10参
照)と同一である。つまり、このエミュレータEMで
は、ターミナル専用関数ライブラリTLと同様の引数で
各関数の外部仕様を規定し、かつ、各関数内部は、開発
マシン(パーソナルコンピュータ)上でハンディターミ
ナル1の動作をエミュレートするよう定義し直してい
る。
【0020】図2において、f1はエミュレータ初期化
機能である。このエミュレータ初期化機能f1は、ソー
スプログラムの先頭に「emu_start()」なる
関数が記述されている場合、エミュレータEMの初期設
定を行うものである。したがって、図1に示すように、
オブジェクトファイルofとエミュレータEMとをリン
クさせる場合には、この「emu_start()」な
る関数が必要になる。なお、この関数は、ターミナル専
用関数ライブラリTLとリンクする際には、何等実行に
影響されないものである。したがって、エミュレータ用
に作成されたソースファイルsfは、そのままハンディ
ターミナル1用の実行ファイルに変換可能になる。
【0021】次に、f2は画面表示制御機能である。こ
の画面表示制御機能f2では、ハンディターミナル1用
に定義された各関数、例えば、表示モードの設定、カー
ソル移動、カーソル形状あるいは表示文字のアトリビュ
ート設定等を行う各種の関数を、それぞれ開発マシン
(パーソナルコンピュータ)のハードウェア環境に対応
して動作させる機能である。f3はキー入力制御機能で
あり、ハンディターミナル1でなされるタッチパネル入
力やテンキー入力を、開発マシン上におけるマウス入力
やテンキー入力に置き換える機能である。f4はエスケ
ープシーケンス制御機能であり、カーソル位置指定、全
画面消去あるいはスクロールアップ/ダウンなどを指定
するコード出力関数を、開発マシン(パーソナルコンピ
ュータ)のハードウェア環境に対応して動作させる機能
である。
【0022】f5は、メインメモリ容量、ドライバ登録
情報、外字登録情報等のシステム情報を取得して出力す
る関数を開発マシンに対応させた機能である。f6は主
電源オン/オフ制御や、電源電圧低下状態検出などの動
作を開発マシン上で表示させる機能である。f7は、ハ
ンディターミナル1用に定義されたシリアルデータ通信
制御を、開発マシン上でエミュレートさせる通信制御機
能である。f8はプリンタ制御機能であり、ハンディタ
ーミナル1用に定義された印字フォント、改行ピッチな
どを開発マシン上で制御するものである。f9は、エミ
ュレータ終了機能であり、ソースプログラムの最後、あ
るいは途中に「emu_exit(n)」なる関数が記
述されている場合、エミュレータEMを終了させる機能
である。
【0023】次に、上記エミュレータEMを用いたプロ
グラム開発手順と、この手順に基づき作成されたアプリ
ケーションプログラムのエミュレート動作概要と、該エ
ミュレート動作におけるマウス入力処理およびマウスカ
ーソル移動処理の動作とについてそれぞれ説明する。 プログラム開発手順 アプリケーションプログラムを開発する際には、まず、
コーディング段階でソースプログラムの先頭に「emu
_start()」なる関数を記述し、かつ、該プログ
ラムの最後に「emu_exit(n)」なる関数を記
述しておく。そして、図1に示すように、ソースファイ
ルsfをコンパイルccにかけ、オブジェクトファイル
ofを生成する。
【0024】次に、このオブジェクトファイルofに対
して標準関数ライブラリSLおよびエミュレータEMを
リンクさせる。これにより、ソースプログラムでコール
されるハンディターミナル固有の各種関数がパーソナル
コンピュータ上で動作する形で実行ファイル化される。
実行ファイル化されたアプリケーションプログラムは、
パーソナルコンピュータの主メモリ上にロードされてハ
ンディターミナル1の動作をエミュレートする。
【0025】アプリケーションプログラムのエミュレ
ート動作 上記手順により作成されたアプリケーションプログラム
が起動すると、パーソナルコンピュータの処理は、図3
に示すステップS1に進む。ステップS1では、プログ
ラム先頭に定義された「emu_start()」なる
関数に基づき、上述したエミュレータ初期化機能f1が
初期設定を行う。この初期設定とは、ハンディターミナ
ル1の起動状態をエミュレートするものであり、例え
ば、バックライトのオン/オフ状態、液晶パネルのコン
トラスト状態あるいはスピーカ音量などを設定するもの
である。
【0026】こうしてパーソナルコンピュータ上でハン
ディターミナル1の初期状態がエミュレートされると、
例えば、図4に示すように、ハンディターミナル1の表
示画面TDに対応した画面がパーソナルコンピュータの
ディスプレイDSPにウインドウ表示される。ここで、
同図(ロ)は、実際のハンディターミナル1に電源が投
入された時に表示される初期画面の一例を示す図であ
る。一方、同図(イ)は、パーソナルコンピュータに表
示されるエミュレート画面の一例である。
【0027】同図(イ)に示すように、ディスプレイD
SPには、表示エリアE1,E2,E3が表示され、こ
の内、表示エリアE1にはハンディターミナル1の表示
画面TDと同一の内容が表示される。表示エリアE1で
は、後述するマウス入力処理およびマウスカーソル移動
処理に基づき、タッチパネル入力動作がエミュレートさ
れる。また、表示エリアE2には、タッチパネルの分割
状態が表示されると共に、後述するマウス入力処理に応
じて移動するマウスカーソルMC’が表示される。さら
に、表示エリアE3にはハンディターミナル1の動作状
態が表示される。
【0028】次いで、このような初期設定がなされる
と、パーソナルコンピュータの処理はステップS2に進
む。ステップS2では、与えられたイベントに応じてア
プリケーションプログラムが各関数を実行する。このス
テップS2においては、後述するように、ハンディター
ミナル1のタッチパネル入力をマウス入力で置き換える
キー入力制御機能f3が動作しており、これによりマウ
ス入力処理が行われる。さらに、アプリケーションプロ
グラムが前述した画面表示制御機能f2を実行する際に
は、後述するマウスカーソル移動処理が行われる。
【0029】したがって、実際のタッチパネルをエミュ
レートした表示エリアE1上の所定位置をクリックして
マウス入力を行うと、この入力イベントに対応したアプ
リケーションプログラムが起動し、該プログラム中で定
義された関数が実行される。これにより、ハンディター
ミナル1の動作がパーソナルコンピュータ上でエミュレ
ートされる。例えば、マウスカーソルMCが図6に示す
位置に置かれ、マウス入力がなされると、「データ伝
送」処理が起動する。そして、アプリケーションプログ
ラム完了の旨を表わす入力がなされると、ステップS3
の判断結果が「YES」となり、該プログラムの処理が
ステップS4に進む。ステップS4では、プログラム最
後に定義された「emu_exit(n)」なる関数に
基づき、エミュレート動作を終了する。
【0030】マウス入力処理の動作 次に、図5〜図7を参照し、上記ステップS2でなされ
るマウス入力処理について説明する。まず、上述したス
テップS2において、キー入力制御機能f3が実行され
ると、図5に示すマウス入力ルーチンが起動する。これ
により、パーソナルコンピュータの処理がステップSa
1に進む。ステップSa1では、マウス入力があるか否
か、すなわち、マウスがクリックされたか否かを判断す
る。ここで、マウス入力が無い場合には、判断結果が
「NO」となり、このルーチンを完了する。一方、マウ
ス入力がなされた場合には、判断結果が「YES」とな
り、次のステップSa2に処理が進む。ステップSa2
では、クリックされたマウス座標が「X0<MX<X0
+X」、かつ、「Y0<MY<Y0+Y」であるか否か
を判断する。
【0031】ここで、図7を参照し、上記マウス座標の
定義について説明する。このマウス座標は、パーソナル
コンピュータのディスプレイDSP上の表示ドットで定
義されるものであって、該ディスプレイDSPの上部左
端を座標原点(0,0)、表示エリアE1の上部左端を
エリア座標(X0,Y0)としている。表示エリアE1
は、原点(X0,Y0)からX方向(水平方向)へXド
ット分、該原点(X0,Y0)からY方向(垂直方向)
へYドット分で構成された表示領域となる。このような
表示領域において、X方向はM分割され、Y方向はN分
割されている。これらM,Nは、キー分割数に対応し、
これら分割領域は、実際の「タッチパネル」に合せたキ
ー領域として種々定義されるようになっている。なお、
(MX,MY)は、マウス位置座標であり、表示エリア
E1に置かれたマウスが指し示す位置を表わす。
【0032】したがって、上記ステップSa2では、マ
ウス位置座標(MX,MY)が表示エリアE1の内部に
あるか否かを判断するものである。ここで、該エリアE
1の外部でマウス入力された時、つまり、タッチパネル
のキー領域以外に相当する位置がクリックされた時に
は、ここでの判断結果が「NO」となり、このルーチン
を終了する。これに対し、該エリアE1内でクリックさ
れ、タッチパネルのキー領域に相当する位置で入力操作
された場合には、判断結果が「YES」となり、次のス
テップSa3に進む。ステップSa3では、マウス位置
座標(MX,MY)がタッチパネルのどのキー領域に対
応するのかを算出する。すなわち、ステップSa3に記
載の式に従って、キーテーブルの読み出しアドレスTを
算出する。
【0033】キーテーブルとは、実際のタッチキー分割
領域と、表示エリアE1上のマウス入力領域との対応関
係を表わしたテーブルである。このキーテーブルは、予
めパーソナルコンピュータの内部メモリにキーテーブル
ファイルとして登録される。例えば、図6に示す表示例
の場合、表示エリアE1には、ハンディターミナル1の
タッチキー分割領域に対応させたマウス入力領域R1〜
R7のキーデータがキーテーブルに登録される。いま、
仮に、図7に示すように、マウス入力領域R4にマウス
カーソルMCが置かれ、この位置でクリックされると、
該領域R4に対応させたキーデータを読み出すためのア
ドレスTが算出される。
【0034】次いで、ステップSa4では、この算出さ
れたアドレスTのデータが「0」であるか否かを判断す
る。ここで、該アドレスTのデータが「0」である場合
には、そのキーは無効であるとして判断結果が「NO」
となり、このルーチンを終了する。一方、「0」でない
場合には、そのキーは有効なので、判断結果が「YE
S」となり、次のステップSa5に進む。ステップSa
5では、アドレスTのデータをキーバッファにセットし
てこのルーチンを終了する。この結果、パーソナルコン
ピュータは、キーバッファにセットされたキーデータが
入力されて所定のアプリケーションプログラムを実行す
る。
【0035】図6に示す一例では、ハンディターミナル
1のタッチキー分割領域に対応させたマウス入力領域R
1〜R7が表示エリアE1に設けられており、これら領
域R1〜R7にマウスカーソルMCを指示してクリック
することで、実際のタッチパネル入力をエミュレートし
ている。すなわち、マウス入力領域R1〜R4のいずれ
かをクリックすることで処理選択がなされ、マウス入力
領域R5〜R7では画面選択と終了指示とが行われる。
【0036】なお、表示エリアE2には、上記マウス入
力領域に対応するタッチキー分割状態が表示される。こ
の場合、タッチパネルを「3行12列」に分割してお
り、この内、タッチキー分割領域KR1〜KR4をマウ
ス入力領域R1〜R4に対応させ、タッチキー分割領域
KR5〜KR7をマウス入力領域R5〜R7に対応させ
ている。そして、各タッチキー分割領域KR1〜KR7
には、各々割り当てられたキーコードが16進数で表示
される。すなわち、タッチキー分割領域KR1〜KR4
に「41」〜「44」が、タッチキー分割領域KR5〜
KR7に「61」〜「63」が表示される。
【0037】マウスカーソル移動処理の動作 次に、表示エリアE1内でなされるマウス操作に応じて
表示エリアE2上でカーソルMC’(図7参照)を移動
させるマウスカーソル移動ルーチンの動作について図8
を参照し、説明する。このマウスカーソル移動ルーチン
は、図3に示すように、アプリケーションプログラムが
実行中にある時、一定周期毎に割込み処理として起動さ
れるようになっている。
【0038】マウスカーソル移動ルーチンが起動される
と、パーソナルコンピュータの処理は、図8に示すステ
ップSb1に進む。ステップSb1では、現在のマウス
カーソルMCのマウス位置座標(MX,MY)を取込
み、次のステップSb2に進む。ステップSb2,Sb
3では、このマウス位置座標(MX,MY)に対応する
表示エリアE2内のカーソル座標(KX,KY)を算出
する。
【0039】表示エリアE2は、図7に示すように、エ
リアE2の上部左端(X1,Y1)を原点とし、当該原
点(X1,Y1)からX方向(水平方向)へXドット
分、該原点(X0,Y0)からY方向(垂直方向)へY
ドット分で構成された表示領域となる。このような表示
領域において、X方向はM分割され、Y方向はN分割さ
れており、これらM,Nは、表示エリアE1に対応した
キー分割数とし、実際の「タッチパネル」に合せたキー
分割領域が表示される。したがって、上記ステップSb
2,Sb3では、これら座標関係に基づき、KX=(M
X−X0)¥M*M+X1,KY=(MY−Y0)¥N
*N+Y1の関係式からカーソル座標(KX,KY)を
算出する。なお、上記関係式における「¥」は整数除算
を表わし、「*」は乗算を表わす。
【0040】このようにして表示エリアE1のカーソル
座標(KX,KY)が算出されると、パーソナルコンピ
ュータの処理は、次のステップSb4に進む。ステップ
Sb4では、算出されたカーソル座標(KX,KY)が
前回求めたカーソル座標(RX,RY)と同一であるか
否か、すなわち、カーソル座標(KX,KY)が移動し
たか否かを判断する。ここで、現在のカーソル座標(K
X,KY)と前回のカーソル座標(RX,RY)が一致
している時には、カーソルMC’の移動がないとして、
この判断結果が「YES」となり、このルーチンを終了
する。
【0041】一方、カーソルMC’が移動した場合に
は、ここでの判断結果が「NO」となり、次のステップ
Sb5に進む。ステップSb5では、前回のカーソルM
C’の位置(RX,RY)を表示エリアE2から消去す
る。続いて、ステップSb6では、現在のカーソル座標
(KX,KY)を表示エリアE2内に表示し、このルー
チンを完了する。
【0042】したがって、図6に示すように、表示エリ
アE1でマウスカーソルMCがマウス入力領域R4にあ
り、これに対応したカーソルMC’が表示エリアE2の
タッチキー分割領域KR4右端にある状態から、例え
ば、該マウスカーソルMCをマウス入力領域R5に移動
させると、これに伴ってカーソルMC’がタッチキー分
割領域KR5に移動する。
【0043】このように、パーソナルコンピュータ上に
おいて、前述した画面表示機能f2およびキー入力制御
機能f3が実行されると、表示エリアE1にはハンディ
ターミナル1のタッチキー分割領域に対応させたマウス
入力領域が設定され、このマウス入力領域をクリックす
ることで、タッチパネル入力操作がエミュレートされ
る。さらに、表示エリアE2には、マウス入力領域に対
応させたタッチキー分割状態が表示されると共に、表示
エリアE1上でなされるマウス移動に同期してカーソル
MC’を表示する。この結果、従来、直接的に動作状態
を検証できなかったタッチパネル分割状態が一目瞭然に
なるばかりか、実際のタッチパネル入力をマウス入力操
作でエミュレートするから、設定ミス等の起こり難い極
めて操作性の良い入力作業が実現される訳である。
【0044】また、上記実施例によれば、エミュレータ
用に開発したソースプログラムがそのままハンディター
ミナル1用のソースファイルとなり、完全互換性を備え
るので、プログラム開発が全て同一のマシン上で行うこ
とが可能になる。この結果、従来必要とされていた実行
ファイルEfのダウンロードDLと、これに応じてなさ
れる実機デバッグDG1とが省略されるから、極めて効
率良いプログラム開発環境が実現できる。しかも、この
場合、タッチパネル分割状態や、これに対応するキーコ
ード割り当て状態が一目瞭然になる上、ハンディターミ
ナル1のタッチパネル入力を開発マシン上で模倣できる
から、デバッグ作業の効率も向上する。
【0045】さらに、ハンディターミナル用に作成した
プログラムを顧客向けにデモンストレーションする場
合、従来では、ハンディターミナル1そのものを使用し
て行っていた。この場合、表示面積が小さい液晶ディス
プレイでその動作を表示するため、多人数へのデモンス
トレーションには不都合であった。しかしながら、これ
に替えて、上述した実施例のように、パーソナルコンピ
ュータでハンディターミナル1の動作をエミュレートす
れば、大型のディスプレイによる多人数へのデモンスト
レーションが可能になる。
【0046】
【発明の効果】以上説明したように、この発明によれ
ば、プログラムがコールする複数のルーチンから形成さ
れるライブラリであって、そのプログラムと同一の引数
で定義された各関数ルーチンが、それぞれ他方のコンピ
ュータ側のハードウェア構成に対応した各機能を模倣す
る模倣手段と、模倣手段によって他方のコンピュータ上
で模倣されている一方のコンピュータ側の入力操作を抽
出する抽出手段と、入力操作に応じて他方のコンピュー
タ上でカーソルを移動表示する表示手段とを備えたの
で、他方のコンピュータ上で開発されたソースプログラ
ムがそのまま一方のコンピュータ用のソースファイルと
して用いることができるとともに、開発時に他方のコン
ピュータ上で一方のコンピュータの入力動作を表示でき
るようになる。したがって、例えば、上述したハンディ
ターミナル1のタッチパネル入力動作を開発マシン上で
シミュレートすることができこれにより、実際のタッ
チパネル入力がマウス入力操作でエミュレートされるか
ら、設定ミス等の起こり難いきわめて操作性のよい入力
作業衣が実現できる。
【図面の簡単な説明】
【図1】この発明の一実施例を適用したプログラム開発
手順の概要を示す図。
【図2】同実施例におけるエミュレータEMの機能構成
を示す図。
【図3】同実施例により作成されたアプリケーションプ
ログラムの概略動作を示すフローチャート。
【図4】同実施例により作成されたアプリケーションプ
ログラムの概略動作を説明するための図。
【図5】同実施例におけるマウス入力ルーチンの動作を
示すフローチャート。
【図6】同実施例における表示エリアE1,E2の表示
例を示す図。
【図7】同実施例におけるマウス入力座標およびカーソ
ル座標を説明するための図。
【図8】同実施例におけるマウスカーソル移動ルーチン
の動作を示すフローチャート。
【図9】ハンディターミナル1の一構成例を示すブロッ
ク図。
【図10】従来のプログラム開発手順を説明するための
図。
【符号の説明】
sf…ソースファイル、 cc…コンパイル、 of…オブジェクトファイル、 LK…リンカ、 EM…エミュレータ(模倣手段)、 SL…標準関数ライブラリ、 Ef…実行ファイル、 f2…画面表示制御機能(表示手段)、 f3…キー入力制御機能(抽出手段)。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 互いにハードウェア構成が異なるコンピ
    ュータの内、いずれか一方のコンピュータ用に作成した
    プログラムを、他方のコンピュータ上で動作可能にする
    エミュレータにおいて、 前記プログラムがコールする複数のルーチンから形成さ
    れるライブラリであって、前記プログラムと同一の引数
    で定義された各関数ルーチンが、それぞれ前記他方のコ
    ンピュータ側のハードウェア構成に対応した各機能を模
    倣する模倣手段と、 前記模倣手段によって前記他方のコンピュータ上で模倣
    されている前記一方のコンピュータ側の入力操作を抽出
    する抽出手段と、 前記入力操作に応じて前記他方のコンピュータ上でカー
    ソルを移動表示する表示手段とを具備することを特徴と
    するエミュレータ。
JP4149716A 1992-06-09 1992-06-09 エミュレータ Expired - Fee Related JP2939392B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4149716A JP2939392B2 (ja) 1992-06-09 1992-06-09 エミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4149716A JP2939392B2 (ja) 1992-06-09 1992-06-09 エミュレータ

Publications (2)

Publication Number Publication Date
JPH05342046A JPH05342046A (ja) 1993-12-24
JP2939392B2 true JP2939392B2 (ja) 1999-08-25

Family

ID=15481265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4149716A Expired - Fee Related JP2939392B2 (ja) 1992-06-09 1992-06-09 エミュレータ

Country Status (1)

Country Link
JP (1) JP2939392B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090213083A1 (en) * 2008-02-26 2009-08-27 Apple Inc. Simulation of multi-point gestures with a single pointing device
CN102707882A (zh) * 2012-04-27 2012-10-03 深圳瑞高信息技术有限公司 虚拟图标触摸屏应用程序的操控转换方法及触摸屏终端
JP6693073B2 (ja) * 2015-09-14 2020-05-13 セイコーエプソン株式会社 機器による装置の取扱説明方法、機器およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0196043U (ja) * 1987-12-18 1989-06-26
JPH022448A (ja) * 1988-06-11 1990-01-08 Canon Inc 端末エミュレータ
JPH02206817A (ja) * 1989-02-07 1990-08-16 Ricoh Co Ltd ターミナルエミュレータ

Also Published As

Publication number Publication date
JPH05342046A (ja) 1993-12-24

Similar Documents

Publication Publication Date Title
Vollmar et al. MARS: an education-oriented MIPS assembly language simulator
Meiller Modern App Development with Dart and Flutter 2: A Comprehensive Introduction to Flutter
JP2939392B2 (ja) エミュレータ
JP3100463B2 (ja) エミュレータ
JP2939390B2 (ja) エミュレータ
JP2938272B2 (ja) エミュレータ
JP2939391B2 (ja) エミュレータ
JP2959910B2 (ja) エミュレータ
JP3330979B2 (ja) エミュレータ
JPH06103103A (ja) エミュレータ
JPH06149591A (ja) エミュレータ
CN110147307A (zh) 一种嵌入式系统仿真ram、rom结果对比系统
TW576999B (en) Flexible system simulation structure and interface thereof
JPH06149622A (ja) エミュレータ
JPH06103086A (ja) エミュレータ
Shapiro et al. Interactive visual simulators for beginning programming students
JPH06149621A (ja) エミュレータ
JP2924080B2 (ja) 論理シミュレーション支援システム
JPH01144124A (ja) コンピュータ装置
Fields et al. IntelliJ IDEA in Action
Ratcliff et al. An inexpensive real-time microcomputer-based cognitive laboratory system
JPH06103087A (ja) エミュレータ
JPH01307837A (ja) Mpuシミュレーション方法及びmpuシミュレータ
Povoroznyuk et al. Computer architecture
JPS62214444A (ja) シミユレ−シヨン方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees