JPH06103087A - エミュレータ - Google Patents
エミュレータInfo
- Publication number
- JPH06103087A JPH06103087A JP4248296A JP24829692A JPH06103087A JP H06103087 A JPH06103087 A JP H06103087A JP 4248296 A JP4248296 A JP 4248296A JP 24829692 A JP24829692 A JP 24829692A JP H06103087 A JPH06103087 A JP H06103087A
- Authority
- JP
- Japan
- Prior art keywords
- handy terminal
- program
- emulator
- function
- display
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 ハンディターミナル1の表示画面の態様を開
発マシン上でシミュレートすることができるエミュレー
タを実現する。 【構成】 ハンディターミナル1用に作成したプログラ
ムと同一の引数で定義された各関数ルーチンから構成さ
れるエミュレータEMが、それぞれ開発マシン側のハー
ドウェア構成に対応した各機能をエミュレートするとと
もに、ハンディターミナル1の表示画面TDにおけるコ
ントラストおよびバックライトのオン・オフを、開発マ
シンのディスプレイDSPによって模倣する。
発マシン上でシミュレートすることができるエミュレー
タを実現する。 【構成】 ハンディターミナル1用に作成したプログラ
ムと同一の引数で定義された各関数ルーチンから構成さ
れるエミュレータEMが、それぞれ開発マシン側のハー
ドウェア構成に対応した各機能をエミュレートするとと
もに、ハンディターミナル1の表示画面TDにおけるコ
ントラストおよびバックライトのオン・オフを、開発マ
シンのディスプレイDSPによって模倣する。
Description
【0001】
【産業上の利用分野】この発明は、例えば、「ハンディ
ターミナル」と呼ばれる携帯可能なコンピュータ用のア
プリケーションプログラム開発に用いて好適なエミュレ
ータに関する。
ターミナル」と呼ばれる携帯可能なコンピュータ用のア
プリケーションプログラム開発に用いて好適なエミュレ
ータに関する。
【0002】
【従来の技術】近年、「ハンディターミナル」と呼ばれ
る携帯可能なコンピュータが各種実用化されている。こ
の種のコンピュータは、ポータブルに構成されており、
携行先で種々のデータ処理が可能になるため、様々な分
野で使用されている。図8は、このようなハンディター
ミナル1の一構成例を示すブロック図である。
る携帯可能なコンピュータが各種実用化されている。こ
の種のコンピュータは、ポータブルに構成されており、
携行先で種々のデータ処理が可能になるため、様々な分
野で使用されている。図8は、このようなハンディター
ミナル1の一構成例を示すブロック図である。
【0003】この図において、1aはハンディターミナ
ル1の各部を制御するCPUである。1bは、CPU1
aの基本的な動作を制御するオペレーティングシステム
プログラム(以下、これをOSと略す)が記憶されるR
OMである。1cは対応業務用のアプリケーションプロ
グラムがロードされると共に、該プログラムのワークエ
リアとして各種レジスタ値が一時記憶されるRAMであ
る。1dは、バックライトを備えたLCD(液晶表示素
子)等から構成される表示回路であり、内部バスを介し
てCPU1aから供給される各種データを表示する。1
eはLCD(液晶表示素子)上に設けられた透明タッチ
パネル、あるいは本体パネルに配置されるテンキーやフ
ァンクションキー等から構成される操作子であり、それ
ぞれ各操作に応じた操作子信号を発生する。
ル1の各部を制御するCPUである。1bは、CPU1
aの基本的な動作を制御するオペレーティングシステム
プログラム(以下、これをOSと略す)が記憶されるR
OMである。1cは対応業務用のアプリケーションプロ
グラムがロードされると共に、該プログラムのワークエ
リアとして各種レジスタ値が一時記憶されるRAMであ
る。1dは、バックライトを備えたLCD(液晶表示素
子)等から構成される表示回路であり、内部バスを介し
てCPU1aから供給される各種データを表示する。1
eはLCD(液晶表示素子)上に設けられた透明タッチ
パネル、あるいは本体パネルに配置されるテンキーやフ
ァンクションキー等から構成される操作子であり、それ
ぞれ各操作に応じた操作子信号を発生する。
【0004】1fは本体から着脱自在に構成されるメモ
リカードである。このメモリカード1fには、上述した
アプリケーションプログラム、あるいは当該プログラム
によって参照される各種データが記憶される。なお、メ
モリカード1fに記憶されるデータは、図示されていな
い上位コンピュータからダウンロードされるものであ
り、電池によってバックアップされる。1gは、例え
ば、モデム等から構成され、シリアルデータ通信を制御
する通信制御回路である。このような構成によるハンデ
ィターミナル1は、周知のコンピュータと同様に動作す
る。つまり、電源投入後にOSが立上がると共に、この
OS上で対応業務用のアプリケーションプログラムがデ
ータ処理を実行する。
リカードである。このメモリカード1fには、上述した
アプリケーションプログラム、あるいは当該プログラム
によって参照される各種データが記憶される。なお、メ
モリカード1fに記憶されるデータは、図示されていな
い上位コンピュータからダウンロードされるものであ
り、電池によってバックアップされる。1gは、例え
ば、モデム等から構成され、シリアルデータ通信を制御
する通信制御回路である。このような構成によるハンデ
ィターミナル1は、周知のコンピュータと同様に動作す
る。つまり、電源投入後にOSが立上がると共に、この
OS上で対応業務用のアプリケーションプログラムがデ
ータ処理を実行する。
【0005】ところで、ハンディターミナル1で動作す
るアプリケーションプログラムは、「C言語」と呼ばれ
る構造化プログラミング言語で記述される場合が多い。
図9は、「C言語」によるプログラム開発手順を示す図
である。この図に示すように、プログラム開発は、コー
ディング、コンパイルおよびリンクの各作業からなり、
実機デバッグを経て当該プログラムの動作が検証され
る。なお、このコーディング、コンパイルおよびリンク
の各作業は、通常、開発マシン(例えば、パーソナルコ
ンピュータ)上で行われる。
るアプリケーションプログラムは、「C言語」と呼ばれ
る構造化プログラミング言語で記述される場合が多い。
図9は、「C言語」によるプログラム開発手順を示す図
である。この図に示すように、プログラム開発は、コー
ディング、コンパイルおよびリンクの各作業からなり、
実機デバッグを経て当該プログラムの動作が検証され
る。なお、このコーディング、コンパイルおよびリンク
の各作業は、通常、開発マシン(例えば、パーソナルコ
ンピュータ)上で行われる。
【0006】コーディングにおいては、予め定められた
システム仕様に基づき、ソースプログラムをC言語で記
述する。このソースプログラムは、ソースファイルsf
として開発マシン上に登録される。ソースファイルsf
は、コンパイラCCの入力ファイルとなる。コンパイラ
CCでは、C言語で記述されたソースプログラムを語彙
解析、構造解析および意味解析し、この結果をリロケー
タブルな中間コードで記述されたオブジェクトプログラ
ムに変換する。このオブジジェクトプログラムは、開発
マシン上でオブジェクトファイルofとして登録され
る。
システム仕様に基づき、ソースプログラムをC言語で記
述する。このソースプログラムは、ソースファイルsf
として開発マシン上に登録される。ソースファイルsf
は、コンパイラCCの入力ファイルとなる。コンパイラ
CCでは、C言語で記述されたソースプログラムを語彙
解析、構造解析および意味解析し、この結果をリロケー
タブルな中間コードで記述されたオブジェクトプログラ
ムに変換する。このオブジジェクトプログラムは、開発
マシン上でオブジェクトファイルofとして登録され
る。
【0007】リンカLKでは、オブジェクトファイルo
fに対し、標準関数ライブラリSLと、ターミナル専用
関数ライブラリTLとを結合させ、マシン語で記述され
た実行ファイルEfを生成する。ここで、標準関数ライ
ブラリSLは、C言語において定義される各種の制御関
数ルーチンプログラムから構成されている。また、ター
ミナル専用関数ライブラリTLは、ハンディターミナル
1のハードウェア環境で動作するように定義された専用
プログラム群から構成されるものである。
fに対し、標準関数ライブラリSLと、ターミナル専用
関数ライブラリTLとを結合させ、マシン語で記述され
た実行ファイルEfを生成する。ここで、標準関数ライ
ブラリSLは、C言語において定義される各種の制御関
数ルーチンプログラムから構成されている。また、ター
ミナル専用関数ライブラリTLは、ハンディターミナル
1のハードウェア環境で動作するように定義された専用
プログラム群から構成されるものである。
【0008】すなわち、リンカLKでは、オブジェクト
プログラムにおいてコールされる種々のルーチンプログ
ラムや専用プログラムが、上述した各ライブラリSL,
TLから引用され、これらをオブジェクトプログラムに
結合させる。これにより、リロケータブルな中間コード
で記述されたプログラムが実行形式に変換され、実行フ
ァイルEfとして生成される。このようにして生成され
る実行形式のアプリケーションプログラムは、絶対アド
レス上に展開可能な形態となる。
プログラムにおいてコールされる種々のルーチンプログ
ラムや専用プログラムが、上述した各ライブラリSL,
TLから引用され、これらをオブジェクトプログラムに
結合させる。これにより、リロケータブルな中間コード
で記述されたプログラムが実行形式に変換され、実行フ
ァイルEfとして生成される。このようにして生成され
る実行形式のアプリケーションプログラムは、絶対アド
レス上に展開可能な形態となる。
【0009】次に、実行ファイルEfは、例えば、開発
マシンから前述したメモリカード1fに書き込まれ、該
メモリカード1fを介してCPU1aにダウンロードD
Lされる。これにより、ハンディターミナル1上で実機
デバッグDG1が施される。実機デバッグDG1におい
ては、予め策定された検査項目に従ってアプリケーショ
ンプログラムの動作を検証する。この実機デバッグDG
1でバグが露見した場合には、ソースプログラムの対応
箇所を修正する。そして、修正されたソースプログラム
は、再びコンパイル、リンク作業を経て実行ファイル化
されて実機デバッグDG1が繰り返される。
マシンから前述したメモリカード1fに書き込まれ、該
メモリカード1fを介してCPU1aにダウンロードD
Lされる。これにより、ハンディターミナル1上で実機
デバッグDG1が施される。実機デバッグDG1におい
ては、予め策定された検査項目に従ってアプリケーショ
ンプログラムの動作を検証する。この実機デバッグDG
1でバグが露見した場合には、ソースプログラムの対応
箇所を修正する。そして、修正されたソースプログラム
は、再びコンパイル、リンク作業を経て実行ファイル化
されて実機デバッグDG1が繰り返される。
【0010】
【発明が解決しようとする課題】さて、上述したプログ
ラム開発手順においては、ハンディターミナル1上でバ
グが露見する度毎に、当該バグに対応するソースプログ
ラム部分を修正し、これを再度実行ファイル化してハン
ディターミナル1にダウンロードしなければならない。
このため、実機デバッグDG1には多大な工数が費やさ
れ、結果的に開発コスト上昇を招致するという弊害があ
る。
ラム開発手順においては、ハンディターミナル1上でバ
グが露見する度毎に、当該バグに対応するソースプログ
ラム部分を修正し、これを再度実行ファイル化してハン
ディターミナル1にダウンロードしなければならない。
このため、実機デバッグDG1には多大な工数が費やさ
れ、結果的に開発コスト上昇を招致するという弊害があ
る。
【0011】そこで、こうした弊害を解決するには、上
述したコーディング、コンパイル、リンクおよびデバッ
グからなる一連の作業を全て開発マシン上で行い、か
つ、デバッグ作業時には、特に、開発マシン上でハンデ
ィターミナル1の動作状態を全て把握できるようになる
ことが要求される。これを換言すれば、開発マシン上で
アプリケーションプログラムを実行し、ハンディターミ
ナル1の動作をエミュレートできれば、上述した欠点が
解消され、効率の良いプログラム開発が可能になる訳で
ある。
述したコーディング、コンパイル、リンクおよびデバッ
グからなる一連の作業を全て開発マシン上で行い、か
つ、デバッグ作業時には、特に、開発マシン上でハンデ
ィターミナル1の動作状態を全て把握できるようになる
ことが要求される。これを換言すれば、開発マシン上で
アプリケーションプログラムを実行し、ハンディターミ
ナル1の動作をエミュレートできれば、上述した欠点が
解消され、効率の良いプログラム開発が可能になる訳で
ある。
【0012】ところが、ハンディターミナル1と開発マ
シンとは、ほとんどの場合、ハードウェア環境が全く異
なる。例えば、表示装置として、開発マシンにはCRT
(陰極線管)が使用されるのに対し、ハンディターミナ
ル1の表示装置には、前述のようにバックライトを備え
たLCDが使用されている。このような、LCDには様
々な種類が存在するが、ハンディターミナル1に用いら
れる種類は、例えば、白地に黒のモノクロ表示(単純マ
トリックス、色補償STN型)であり、その表示能力は
CRTに比較して劣る、という欠点がある。この欠点を
補って、表示を認識し易いよう調節するために、ハンデ
ィターミナル1では表示のコントラストおよびバックラ
イトの輝度を段階的に変化させることできるようになっ
ている。
シンとは、ほとんどの場合、ハードウェア環境が全く異
なる。例えば、表示装置として、開発マシンにはCRT
(陰極線管)が使用されるのに対し、ハンディターミナ
ル1の表示装置には、前述のようにバックライトを備え
たLCDが使用されている。このような、LCDには様
々な種類が存在するが、ハンディターミナル1に用いら
れる種類は、例えば、白地に黒のモノクロ表示(単純マ
トリックス、色補償STN型)であり、その表示能力は
CRTに比較して劣る、という欠点がある。この欠点を
補って、表示を認識し易いよう調節するために、ハンデ
ィターミナル1では表示のコントラストおよびバックラ
イトの輝度を段階的に変化させることできるようになっ
ている。
【0013】ところで、開発マシン側にてハンディター
ミナル1の動作をエミュレートする場合に、ハンディタ
ーミナル1に表示されるべき表示画面もパソコン側にて
エミュレートしたい、という要求がある。しかしなが
ら、前述したように、表示装置の構成上の相違から、C
RTにLCDの表示を行わせるということは行われてい
なかった。この発明は、上述した問題に鑑みてなされた
もので、その目的とするところは、開発マシン上で、ハ
ンディターミナル1の表示画面を模倣できるエミュレー
タを提供することにある。
ミナル1の動作をエミュレートする場合に、ハンディタ
ーミナル1に表示されるべき表示画面もパソコン側にて
エミュレートしたい、という要求がある。しかしなが
ら、前述したように、表示装置の構成上の相違から、C
RTにLCDの表示を行わせるということは行われてい
なかった。この発明は、上述した問題に鑑みてなされた
もので、その目的とするところは、開発マシン上で、ハ
ンディターミナル1の表示画面を模倣できるエミュレー
タを提供することにある。
【0014】
【課題を解決するための手段】この発明は、互いにハー
ドウェア構成が異なるコンピュータの内、いずれか一方
のコンピュータ用に作成したプログラムを、他方のコン
ピュータ上で動作可能にするエミュレータにおいて、前
記プログラムがコールする複数のルーチンから形成され
るライブラリであって、前記プログラムと同一の引数で
定義された各関数ルーチンが、それぞれ前記他方のコン
ピュータ側のハードウェア構成に対応した各機能を模倣
する模倣手段を具備し、前記模倣手段は、前記一方のコ
ンピュータにおける表示態様を、前記他方のコンピュー
タにおける表示装置で模倣することを特徴としている。
ドウェア構成が異なるコンピュータの内、いずれか一方
のコンピュータ用に作成したプログラムを、他方のコン
ピュータ上で動作可能にするエミュレータにおいて、前
記プログラムがコールする複数のルーチンから形成され
るライブラリであって、前記プログラムと同一の引数で
定義された各関数ルーチンが、それぞれ前記他方のコン
ピュータ側のハードウェア構成に対応した各機能を模倣
する模倣手段を具備し、前記模倣手段は、前記一方のコ
ンピュータにおける表示態様を、前記他方のコンピュー
タにおける表示装置で模倣することを特徴としている。
【0015】
【作用】この発明によれば、互いにハードウェア構成が
異なるコンピュータ間において、一方のコンピュータ用
に作成されたプログラムを他方のコンピュータ上で動作
する可能にする模倣手段が、一方のコンピュータにおけ
る表示態様を、他方のコンピュータで模倣する。
異なるコンピュータ間において、一方のコンピュータ用
に作成されたプログラムを他方のコンピュータ上で動作
する可能にする模倣手段が、一方のコンピュータにおけ
る表示態様を、他方のコンピュータで模倣する。
【0016】
【実施例】以下、図面を参照してこの発明の実施例につ
いて説明する。図1はこの発明の一実施例を適用したプ
ログラム開発手順の概要を示す図である。この図におい
て、図9に示す各部と共通する部分には、同一の符号を
付し、その説明を省略する。図1に示す手順が図9に示
した従来例と異なる点は、ターミナル専用関数ライブラ
リTL(図9参照)を後述するエミュレータEMに置き
換え、これにより、開発マシン(パーソナルコンピュー
タ)上でハンディターミナル1用に作成されたアプリケ
ーションプログラムのデバッグDG2を行うようにした
点にある。すなわち、この実施例が意図するところは、
エミュレータEMを用いたことにより、従来必要とされ
ていた実行ファイルEfのダウンロードDLと、これに
応じてなされるハンディターミナル1上の実機デバッグ
DG1とを省略し、かつ、開発マシン上でハンディター
ミナル1のローバッテリ状態をシミュレートするように
した点にある。
いて説明する。図1はこの発明の一実施例を適用したプ
ログラム開発手順の概要を示す図である。この図におい
て、図9に示す各部と共通する部分には、同一の符号を
付し、その説明を省略する。図1に示す手順が図9に示
した従来例と異なる点は、ターミナル専用関数ライブラ
リTL(図9参照)を後述するエミュレータEMに置き
換え、これにより、開発マシン(パーソナルコンピュー
タ)上でハンディターミナル1用に作成されたアプリケ
ーションプログラムのデバッグDG2を行うようにした
点にある。すなわち、この実施例が意図するところは、
エミュレータEMを用いたことにより、従来必要とされ
ていた実行ファイルEfのダウンロードDLと、これに
応じてなされるハンディターミナル1上の実機デバッグ
DG1とを省略し、かつ、開発マシン上でハンディター
ミナル1のローバッテリ状態をシミュレートするように
した点にある。
【0017】次に、図1のプログラム開発手順を実現す
るエミュレータEMの機能概要について説明する。ま
ず、エミュレータEMは、ハンディターミナル1のハー
ドウェア環境で動作するよう定義された各種関数を、開
発マシンのハードウェア環境で動作するように定義し直
したプログラム群から構成されている。
るエミュレータEMの機能概要について説明する。ま
ず、エミュレータEMは、ハンディターミナル1のハー
ドウェア環境で動作するよう定義された各種関数を、開
発マシンのハードウェア環境で動作するように定義し直
したプログラム群から構成されている。
【0018】エミュレータEMの機能は、図2に示すよ
うに、ターミナル専用関数ライブラリTL(図9参照)
と同一である。つまり、このエミュレータEMでは、タ
ーミナル専用関数ライブラリTLと同様の引数で各関数
の外部仕様を規定し、かつ、各関数内部は、開発マシン
上でハンディターミナル1の動作をエミュレートするよ
う定義し直している。
うに、ターミナル専用関数ライブラリTL(図9参照)
と同一である。つまり、このエミュレータEMでは、タ
ーミナル専用関数ライブラリTLと同様の引数で各関数
の外部仕様を規定し、かつ、各関数内部は、開発マシン
上でハンディターミナル1の動作をエミュレートするよ
う定義し直している。
【0019】図2において、f1はエミュレータ初期化
機能である。このエミュレータ初期化機能f1は、ソー
スプログラムの先頭に「emu_start()」なる
関数が記述されている場合、エミュレータEMの初期設
定を行うものである。したがって、図1に示すように、
オブジェクトファイルofとエミュレータEMとをリン
クさせる場合には、この「emu_start()」な
る関数が必要になる。なお、この関数は、ターミナル専
用関数ライブラリTLとリンクする際には、何等実行に
影響されないものである。したがって、エミュレータ用
に作成されたソースファイルsfは、そのままハンディ
ターミナル1用の実行ファイルに変換可能になる。
機能である。このエミュレータ初期化機能f1は、ソー
スプログラムの先頭に「emu_start()」なる
関数が記述されている場合、エミュレータEMの初期設
定を行うものである。したがって、図1に示すように、
オブジェクトファイルofとエミュレータEMとをリン
クさせる場合には、この「emu_start()」な
る関数が必要になる。なお、この関数は、ターミナル専
用関数ライブラリTLとリンクする際には、何等実行に
影響されないものである。したがって、エミュレータ用
に作成されたソースファイルsfは、そのままハンディ
ターミナル1用の実行ファイルに変換可能になる。
【0020】次に、f2は画面表示制御機能である。こ
の画面表示制御機能f2では、ハンディターミナル1用
に定義された各関数、例えば、表示モードの設定、カー
ソル移動、カーソル形状あるいは表示文字のアトリビュ
ート設定等を行う各種の関数を、それぞれ開発マシンの
ハードウェア環境に対応して動作させる機能である。f
3はキー入力制御機能であり、ハンディターミナル1で
なされるタッチパネル入力やテンキー入力を、開発マシ
ン上におけるマウス入力やキー入力に置き換える機能で
ある。f4はエスケープシーケンス制御機能であり、後
述する表示画面設定や、カーソル位置指定、全画面消去
あるいはスクロールアップ/ダウンなどを指定するコー
ド出力関数を、開発マシンのハードウェア環境に対応し
て動作させる機能である。
の画面表示制御機能f2では、ハンディターミナル1用
に定義された各関数、例えば、表示モードの設定、カー
ソル移動、カーソル形状あるいは表示文字のアトリビュ
ート設定等を行う各種の関数を、それぞれ開発マシンの
ハードウェア環境に対応して動作させる機能である。f
3はキー入力制御機能であり、ハンディターミナル1で
なされるタッチパネル入力やテンキー入力を、開発マシ
ン上におけるマウス入力やキー入力に置き換える機能で
ある。f4はエスケープシーケンス制御機能であり、後
述する表示画面設定や、カーソル位置指定、全画面消去
あるいはスクロールアップ/ダウンなどを指定するコー
ド出力関数を、開発マシンのハードウェア環境に対応し
て動作させる機能である。
【0021】f5は、メインメモリ容量、ドライバ登録
情報、外字登録情報等のシステム情報を取得して出力す
る関数を開発マシンに対応させた機能である。f6は主
電源オン/オフ制御や、ローバッテリ状態検出などの動
作を開発マシン上で表示させる電源制御機能である。f
7は、ハンディターミナル1用に定義されたシリアルデ
ータ通信制御を、開発マシン上でエミュレートさせる通
信制御機能である。f8はプリンタ制御機能であり、ハ
ンディターミナル1用に定義された印字フォント、改行
ピッチなどを開発マシン上で制御するものである。f9
は、エミュレータ終了機能であり、ソースプログラムの
最後、あるいは途中に「emu_exit(n)」なる
関数が記述されている場合、エミュレータEMを終了さ
せる機能である。
情報、外字登録情報等のシステム情報を取得して出力す
る関数を開発マシンに対応させた機能である。f6は主
電源オン/オフ制御や、ローバッテリ状態検出などの動
作を開発マシン上で表示させる電源制御機能である。f
7は、ハンディターミナル1用に定義されたシリアルデ
ータ通信制御を、開発マシン上でエミュレートさせる通
信制御機能である。f8はプリンタ制御機能であり、ハ
ンディターミナル1用に定義された印字フォント、改行
ピッチなどを開発マシン上で制御するものである。f9
は、エミュレータ終了機能であり、ソースプログラムの
最後、あるいは途中に「emu_exit(n)」なる
関数が記述されている場合、エミュレータEMを終了さ
せる機能である。
【0022】次に、上記エミュレータEMを用いたプロ
グラム開発手順と、この手順に基づき作成されたアプリ
ケーションプログラムのエミュレート動作概要と、該エ
ミュレート動作におけるマウス入力処理とについてそれ
ぞれ説明する。
グラム開発手順と、この手順に基づき作成されたアプリ
ケーションプログラムのエミュレート動作概要と、該エ
ミュレート動作におけるマウス入力処理とについてそれ
ぞれ説明する。
【0023】アプリケーションプログラムを開発する際
には、まず、コーディング段階でソースプログラムの先
頭に「emu_start()」なる関数を記述し、か
つ、該プログラムの最後に「emu_exit(n)」
なる関数を記述しておく。そして、図1に示すように、
ソースファイルsfをコンパイルccにかけ、オブジェ
クトファイルofを生成する。
には、まず、コーディング段階でソースプログラムの先
頭に「emu_start()」なる関数を記述し、か
つ、該プログラムの最後に「emu_exit(n)」
なる関数を記述しておく。そして、図1に示すように、
ソースファイルsfをコンパイルccにかけ、オブジェ
クトファイルofを生成する。
【0024】次に、このオブジェクトファイルofに対
して標準関数ライブラリSLおよびエミュレータEMを
リンクさせる。これにより、ソースプログラムでコール
されるハンディターミナル固有の各種関数が開発マシン
上で動作する形で実行ファイル化される。実行ファイル
化されたアプリケーションプログラムは、開発マシンの
主メモリ上にロードされてハンディターミナル1の動作
をエミュレートする。
して標準関数ライブラリSLおよびエミュレータEMを
リンクさせる。これにより、ソースプログラムでコール
されるハンディターミナル固有の各種関数が開発マシン
上で動作する形で実行ファイル化される。実行ファイル
化されたアプリケーションプログラムは、開発マシンの
主メモリ上にロードされてハンディターミナル1の動作
をエミュレートする。
【0025】アプリケーションプログラムのエミュレ
ート動作 上記手順により作成されたアプリケーションプログラム
が起動すると、開発マシンの処理は、図3に示すステッ
プS1に進む。ステップS1では、プログラム先頭に定
義された「emu_start()」なる関数に基づ
き、上述したエミュレータ初期化機能f1が初期設定を
行う。この初期設定とは、ハンディターミナル1の起動
状態をエミュレートするものであり、例えば、バックラ
イトのオン/オフ状態、液晶パネルのコントラスト状態
あるいはスピーカ音量などを設定するものである。
ート動作 上記手順により作成されたアプリケーションプログラム
が起動すると、開発マシンの処理は、図3に示すステッ
プS1に進む。ステップS1では、プログラム先頭に定
義された「emu_start()」なる関数に基づ
き、上述したエミュレータ初期化機能f1が初期設定を
行う。この初期設定とは、ハンディターミナル1の起動
状態をエミュレートするものであり、例えば、バックラ
イトのオン/オフ状態、液晶パネルのコントラスト状態
あるいはスピーカ音量などを設定するものである。
【0026】こうして開発マシン上でハンディターミナ
ル1の初期状態がエミュレートされると、例えば、図4
に示すように、開発マシンのディスプレイDSPにハン
ディターミナル1の表示画面TDが表示される。ここ
で、同図(イ)は、エミュレータ初期化機能f1に基づ
きハンディターミナル1の初期化状態がエミュレートさ
れた表示例である。一方、同図(ロ)は、ハンディター
ミナル1の表示画面TDである。同図(イ)に示すよう
に、ディスプレイDSPは、表示エリアE1、E2、E
3に3分割されており、この内の表示エリアE1には表
示画面TDと同一の表示がなされる。さらに、表示エリ
アE2には、ハンディターミナル1のタッチパネルの分
割状態が表示され、表示エリアE3には、ハンディター
ミナル1の動作状態が表示される。
ル1の初期状態がエミュレートされると、例えば、図4
に示すように、開発マシンのディスプレイDSPにハン
ディターミナル1の表示画面TDが表示される。ここ
で、同図(イ)は、エミュレータ初期化機能f1に基づ
きハンディターミナル1の初期化状態がエミュレートさ
れた表示例である。一方、同図(ロ)は、ハンディター
ミナル1の表示画面TDである。同図(イ)に示すよう
に、ディスプレイDSPは、表示エリアE1、E2、E
3に3分割されており、この内の表示エリアE1には表
示画面TDと同一の表示がなされる。さらに、表示エリ
アE2には、ハンディターミナル1のタッチパネルの分
割状態が表示され、表示エリアE3には、ハンディター
ミナル1の動作状態が表示される。
【0027】次いで、このような初期設定がなされる
と、開発マシンの処理はステップS2に進む。ステップ
S2では、与えられたイベントに応じてアプリケーショ
ンプログラムが各関数を実行する。このステップS2に
おいては、ハンディターミナル1のタッチパネル入力を
マウス入力するようキー入力制御機能f3が動作してお
り、これに対応してマウスカーソルを移動させる割込処
理が実行される。
と、開発マシンの処理はステップS2に進む。ステップ
S2では、与えられたイベントに応じてアプリケーショ
ンプログラムが各関数を実行する。このステップS2に
おいては、ハンディターミナル1のタッチパネル入力を
マウス入力するようキー入力制御機能f3が動作してお
り、これに対応してマウスカーソルを移動させる割込処
理が実行される。
【0028】したがって、図4(イ)に示すように、実
際のタッチパネルをエミュレートした表示エリアE1上
の所定位置をクリックしてマウス入力を行なうと、この
入力イベントに対応したアプリケーションプログラムを
実行し、該プログラム中で定義された関数が実行され
る。これにより、ハンディターミナル1の動作が開発マ
シン上でエミュレートされる。例えば、マウスカーソル
MCが、図4に示すように、表示エリアE1上の「印
刷」の表示に置かれ、マウスクリックがなされると、該
「印刷」処理が開発マシン上でエミュレートされる。
際のタッチパネルをエミュレートした表示エリアE1上
の所定位置をクリックしてマウス入力を行なうと、この
入力イベントに対応したアプリケーションプログラムを
実行し、該プログラム中で定義された関数が実行され
る。これにより、ハンディターミナル1の動作が開発マ
シン上でエミュレートされる。例えば、マウスカーソル
MCが、図4に示すように、表示エリアE1上の「印
刷」の表示に置かれ、マウスクリックがなされると、該
「印刷」処理が開発マシン上でエミュレートされる。
【0029】このように各種処理がエミュレートされ、
アプリケーションプログラム完了の旨を表わす入力がな
されると、ステップS3の判断結果が「YES」とな
り、該プログラムの処理がステップS4に進む。ステッ
プS4では、プログラム最後に定義された「emu_e
xit(n)」なる関数に基づき、エミュレート動作を
終了する。
アプリケーションプログラム完了の旨を表わす入力がな
されると、ステップS3の判断結果が「YES」とな
り、該プログラムの処理がステップS4に進む。ステッ
プS4では、プログラム最後に定義された「emu_e
xit(n)」なる関数に基づき、エミュレート動作を
終了する。
【0030】次に、図5を参照し、上記ステップS2に
おいてなされるエスケープ(ESC)シーケンス制御に
ついて説明する。なお、この動作説明においては、前述
したキー入力制御機能f3が起動されてキー入力可能状
態にあり、かつ、この機能f3がキーバッファにセット
された文字列を、エスケープシーケンス解釈ルーチンに
引き渡すものとする。まず、ステップS2(図3参照)
において、操作者によって文字列が入力されると、図6
に示すエスケープシーケンス解釈ルーチンが起動する。
これにより開発マシンの処理は、ステップSP1に進
む。
おいてなされるエスケープ(ESC)シーケンス制御に
ついて説明する。なお、この動作説明においては、前述
したキー入力制御機能f3が起動されてキー入力可能状
態にあり、かつ、この機能f3がキーバッファにセット
された文字列を、エスケープシーケンス解釈ルーチンに
引き渡すものとする。まず、ステップS2(図3参照)
において、操作者によって文字列が入力されると、図6
に示すエスケープシーケンス解釈ルーチンが起動する。
これにより開発マシンの処理は、ステップSP1に進
む。
【0031】ステップSP1では、キーボード等で入力
された、すなわち、キーバッファにセットされた文字列
が、ESCコードで始まるものか否かが判別される。こ
の判別結果が「NO」であるならば、入力された文字列
をステップS2における他の処理にて用いるべく、この
ルーチンは直ちに終了する一方、判別結果が「YES」
であるならば、処理はステップSP2に進む。ステップ
SP2では、さらに、該文字列がハンディターミナルの
ESCシーケンスに準拠している否かが判別される。こ
の判別結果が「NO」であるならば、このルーチンはス
テップSP1と同様に終了する一方、判別結果が「YE
S」であるならば、処理はステップSP3に進み、開発
マシン上でハンディターミナル1のESCシーケンスに
合わせた動作が行なわれる。このESCシーケンス動作
には、例えば、後述する表示画面設定ルーチン等があ
る。この動作が終了すると、このエスケープシーケンス
解釈ルーチンは終了し、処理は前述のステップS2に戻
って、引き続き、各関数の実行待ち状態となる。
された、すなわち、キーバッファにセットされた文字列
が、ESCコードで始まるものか否かが判別される。こ
の判別結果が「NO」であるならば、入力された文字列
をステップS2における他の処理にて用いるべく、この
ルーチンは直ちに終了する一方、判別結果が「YES」
であるならば、処理はステップSP2に進む。ステップ
SP2では、さらに、該文字列がハンディターミナルの
ESCシーケンスに準拠している否かが判別される。こ
の判別結果が「NO」であるならば、このルーチンはス
テップSP1と同様に終了する一方、判別結果が「YE
S」であるならば、処理はステップSP3に進み、開発
マシン上でハンディターミナル1のESCシーケンスに
合わせた動作が行なわれる。このESCシーケンス動作
には、例えば、後述する表示画面設定ルーチン等があ
る。この動作が終了すると、このエスケープシーケンス
解釈ルーチンは終了し、処理は前述のステップS2に戻
って、引き続き、各関数の実行待ち状態となる。
【0032】次に、前述のエスケープシーケンス解釈ル
ーチンのステップSP3において実行される処理につい
て、表示画面設定処理を例にとって説明する。図6は、
表示この設定ルーチンの動作を示すフローチャートであ
る。該設定処理は、ディスプレイDSPの表示エリアE
1にて、ハンディターミナル1の表示態様を模倣するも
のである。すなわち、ディスプレイDSPに対して、疑
似的にLCDの表示を行わせる処理である。この処理ル
ーチンでは、はじめに、この設定がバックライトのもの
であるか、LCDのものであるかを判別し、さらに、絶
対設定であるか否かが判別される。この判別結果に対応
して、フラグが書き換えられ、この値に基づいて表示エ
リアE1の画面背景色が変化する。以下、このルーチン
について詳述する。
ーチンのステップSP3において実行される処理につい
て、表示画面設定処理を例にとって説明する。図6は、
表示この設定ルーチンの動作を示すフローチャートであ
る。該設定処理は、ディスプレイDSPの表示エリアE
1にて、ハンディターミナル1の表示態様を模倣するも
のである。すなわち、ディスプレイDSPに対して、疑
似的にLCDの表示を行わせる処理である。この処理ル
ーチンでは、はじめに、この設定がバックライトのもの
であるか、LCDのものであるかを判別し、さらに、絶
対設定であるか否かが判別される。この判別結果に対応
して、フラグが書き換えられ、この値に基づいて表示エ
リアE1の画面背景色が変化する。以下、このルーチン
について詳述する。
【0033】まず、ステップSP11において、この設
定がLCDの設定であるか否かが判別される。この設定
がLCDの設定であるならば、判別結果が「YES」と
なり、処理が後述するステップSP17に進む一方、こ
の設定がバックライトの設定であるならば、判別結果が
「NO」となり、処理がステップSP12に進む。
定がLCDの設定であるか否かが判別される。この設定
がLCDの設定であるならば、判別結果が「YES」と
なり、処理が後述するステップSP17に進む一方、こ
の設定がバックライトの設定であるならば、判別結果が
「NO」となり、処理がステップSP12に進む。
【0034】ステップSP12では、バックライトの設
定が絶対設定であるか否かが判別される。ここで、バッ
クライトの絶対設定とは、バックライトを強制的にオン
あるいはオフさせることを言う。これに対し、バックラ
イトの相対設定とは、バックライトの現時点の状態を反
転させること、すなわち、バックライトをオンならばオ
フに(反対に、オフならばオン)にさせることを言う。
ステップSP12においてバックライトの設定が相対設
定であると判別された場合には、判別結果が「NO」と
なって、処理は後述するステップSP14に進む一方、
絶対設定と判別された場合には、判別結果が「YES」
となって、処理は次のステップSP13進む。ステップ
SP13では、さらに、このバックライトの絶対設定が
オンさせるものか否かが判別される。該設定がオンさせ
るものであるならば、処理はステップSP15に進む一
方、該設定がオフさせるものであるならば、処理はステ
ップSP16に進む。
定が絶対設定であるか否かが判別される。ここで、バッ
クライトの絶対設定とは、バックライトを強制的にオン
あるいはオフさせることを言う。これに対し、バックラ
イトの相対設定とは、バックライトの現時点の状態を反
転させること、すなわち、バックライトをオンならばオ
フに(反対に、オフならばオン)にさせることを言う。
ステップSP12においてバックライトの設定が相対設
定であると判別された場合には、判別結果が「NO」と
なって、処理は後述するステップSP14に進む一方、
絶対設定と判別された場合には、判別結果が「YES」
となって、処理は次のステップSP13進む。ステップ
SP13では、さらに、このバックライトの絶対設定が
オンさせるものか否かが判別される。該設定がオンさせ
るものであるならば、処理はステップSP15に進む一
方、該設定がオフさせるものであるならば、処理はステ
ップSP16に進む。
【0035】このように、上記ステップSP12および
SP13によって、バックライトの各設定が判別され
る。次に、この判別結果に基づいてコントラストフラグ
CFの内容が書き換えられる。ここで、コントラストフ
ラグCFについて図7を参照し、説明する。この図に示
すように、コントラストフラグCFはBIT0〜7の8
ビットからなり、BIT0〜2の下位3ビットがLCD
のコントラストに対応し、BIT3がバックライトのオ
ン・オフに対応している。なお、BIT0〜2から成る
2進値が「111」であるとき、すなわち、10進の
「7」を示すとき、LCDコントラストが最大に相当す
るとともに、BIT0〜2から成る2進値が「000」
であるとき、すなわち、10進の「0」を示すとき、L
CDコントラストが最小に相当する。また、BIT3が
「1」であるとき、バックライトがオンに相当する。
SP13によって、バックライトの各設定が判別され
る。次に、この判別結果に基づいてコントラストフラグ
CFの内容が書き換えられる。ここで、コントラストフ
ラグCFについて図7を参照し、説明する。この図に示
すように、コントラストフラグCFはBIT0〜7の8
ビットからなり、BIT0〜2の下位3ビットがLCD
のコントラストに対応し、BIT3がバックライトのオ
ン・オフに対応している。なお、BIT0〜2から成る
2進値が「111」であるとき、すなわち、10進の
「7」を示すとき、LCDコントラストが最大に相当す
るとともに、BIT0〜2から成る2進値が「000」
であるとき、すなわち、10進の「0」を示すとき、L
CDコントラストが最小に相当する。また、BIT3が
「1」であるとき、バックライトがオンに相当する。
【0036】ステップSP12においてバックライトが
相対設定であると判別されると、ステップSP14に進
み、現時点におけるコントラストフラグCFの各ビット
と「08h(00001000)」との排他的論理和
が、新たなコントラストフラグCFとして格納される。
これにより、コントラストフラグCFのBIT0〜2は
変更されずに、BIT3だけが反転させられる。
相対設定であると判別されると、ステップSP14に進
み、現時点におけるコントラストフラグCFの各ビット
と「08h(00001000)」との排他的論理和
が、新たなコントラストフラグCFとして格納される。
これにより、コントラストフラグCFのBIT0〜2は
変更されずに、BIT3だけが反転させられる。
【0037】また、ステップSP12においてバックラ
イトが絶対設定であり、さらに、ステップSP13にお
いてオンさせるものであると判別されると、処理はステ
ップSP15に進み、現時点におけるコントラストフラ
グCFの各ビットと「08h」との論理和が、新たなコ
ントラストフラグCFとして格納される。これにより、
コントラストCFのBIT0〜2が変更されずに、BI
T3だけが強制的に「1」に設定される。
イトが絶対設定であり、さらに、ステップSP13にお
いてオンさせるものであると判別されると、処理はステ
ップSP15に進み、現時点におけるコントラストフラ
グCFの各ビットと「08h」との論理和が、新たなコ
ントラストフラグCFとして格納される。これにより、
コントラストCFのBIT0〜2が変更されずに、BI
T3だけが強制的に「1」に設定される。
【0038】一方、ステップSP12においてバックラ
イトが絶対設定であり、さらに、ステップSP13にお
いてオフさせるものであると判別されると、処理はステ
ップSP16に進み、現時点におけるコントラストフラ
グCFの各ビットと「07h(00000111)」と
の論理積が、新たなコントラストフラグCFとして格納
される。これにより、コントラストCFのBIT0〜2
が変更されずに、BIT3だけが強制的に「0」に設定
される。
イトが絶対設定であり、さらに、ステップSP13にお
いてオフさせるものであると判別されると、処理はステ
ップSP16に進み、現時点におけるコントラストフラ
グCFの各ビットと「07h(00000111)」と
の論理積が、新たなコントラストフラグCFとして格納
される。これにより、コントラストCFのBIT0〜2
が変更されずに、BIT3だけが強制的に「0」に設定
される。
【0039】このように、ステップSP12〜SP16
では、バックライトの設定に対応して、コントラストフ
ラグCFにおけるBIT3(図7参照)だけが書き換え
られて、処理は後述するステップSP24に進む。
では、バックライトの設定に対応して、コントラストフ
ラグCFにおけるBIT3(図7参照)だけが書き換え
られて、処理は後述するステップSP24に進む。
【0040】一方、ステップSP11において、この設
定がLCD設定であると判別された場合には、ステップ
SP17に進んで、さらに、この設定が、絶対設定であ
るか否かが判別される。ここで、LCDの絶対設定と
は、LCDのコントラストを設定値に基づく明るさに設
定することを言う。これに対し、LCDの相対設定と
は、コントラストを現時点の状態から一段だけ明るくさ
せる(あるいは暗くさせる)ことをを言う。ステップS
P17において、この設定がLCDの絶対設定であると
判別された場合には、ステップSP18に進んで、現時
点におけるコントラストフラグCFの各ビットと「08
h」との論理積がとられ、さらに、この論理積と設定値
との論理和が、新たなコントラストフラグCFとして格
納される。すなわち、ステップS8では、コントラスト
CFフラグにおけるBIT0〜2(図7参照)がすべて
「0」に一旦クリアにされ、この後、設定値に置き換え
られることになる。
定がLCD設定であると判別された場合には、ステップ
SP17に進んで、さらに、この設定が、絶対設定であ
るか否かが判別される。ここで、LCDの絶対設定と
は、LCDのコントラストを設定値に基づく明るさに設
定することを言う。これに対し、LCDの相対設定と
は、コントラストを現時点の状態から一段だけ明るくさ
せる(あるいは暗くさせる)ことをを言う。ステップS
P17において、この設定がLCDの絶対設定であると
判別された場合には、ステップSP18に進んで、現時
点におけるコントラストフラグCFの各ビットと「08
h」との論理積がとられ、さらに、この論理積と設定値
との論理和が、新たなコントラストフラグCFとして格
納される。すなわち、ステップS8では、コントラスト
CFフラグにおけるBIT0〜2(図7参照)がすべて
「0」に一旦クリアにされ、この後、設定値に置き換え
られることになる。
【0041】一方、この設定がLCDの相対設定である
と判別された場合には、ステップSP19に進んで、さ
らに、この相対設定が一段明るくさせるものであるか否
かが判別される。この判別結果が「NO」ならば、すな
わち、相対設定が一段暗くさせるものであるならば、処
理はステップSP20に進む。ステップSP20では、
コントラストフラグCFの各ビットと「07h」との論
理積が「0(00h)」より大きいか否かが判別され
る。すなわち、現時点におけるコントラストフラグCF
のBIT0〜2が、すべて「0」でないか否かが判別さ
れる。BIT0〜2がすべて「0」の場合とは、前述の
ように、現時点でのコントラストが最小ということを意
味して、コントラストをさらに1段暗くすることができ
ないので、以降の処理を中断して、処理は直ちに後述す
るステップSP24に進む。
と判別された場合には、ステップSP19に進んで、さ
らに、この相対設定が一段明るくさせるものであるか否
かが判別される。この判別結果が「NO」ならば、すな
わち、相対設定が一段暗くさせるものであるならば、処
理はステップSP20に進む。ステップSP20では、
コントラストフラグCFの各ビットと「07h」との論
理積が「0(00h)」より大きいか否かが判別され
る。すなわち、現時点におけるコントラストフラグCF
のBIT0〜2が、すべて「0」でないか否かが判別さ
れる。BIT0〜2がすべて「0」の場合とは、前述の
ように、現時点でのコントラストが最小ということを意
味して、コントラストをさらに1段暗くすることができ
ないので、以降の処理を中断して、処理は直ちに後述す
るステップSP24に進む。
【0042】一方、ステップSP20における判別結果
が「YES」ならば、現時点のコントラストフラグCF
が「1」だけデクリメントされて(ステップSP2
1)、処理は後述するステップSP24に進む。
が「YES」ならば、現時点のコントラストフラグCF
が「1」だけデクリメントされて(ステップSP2
1)、処理は後述するステップSP24に進む。
【0043】ところで、ステップSP19における判別
結果が「YES」、すなわち、LCDの相対設定が一段
明るくするものであれば、処理はステップSP22に進
む。ステップSP22では、コントラストフラグCFの
各ビットと「07h」との論理積が「7(07h)」よ
り大きいか否かが判別される。すなわち、現時点におけ
るコントラストフラグCFのBIT0〜2が、すべて
「1」でないか否かが判別される。BIT0〜2がすべ
て「1」の場合とは、前述のように、現時点でのコント
ラストが最大ということを意味して、コントラストをさ
らに1段明るくすることができないので、以降の処理を
中断して、処理は直ちに後述するステップSP24に進
む。一方、ステップSP22における判別結果が「YE
S」ならば、現時点のコントラストフラグCFが「1」
だけインクリメントされて(ステップSP23)、処理
は次のステップSP24に進む。
結果が「YES」、すなわち、LCDの相対設定が一段
明るくするものであれば、処理はステップSP22に進
む。ステップSP22では、コントラストフラグCFの
各ビットと「07h」との論理積が「7(07h)」よ
り大きいか否かが判別される。すなわち、現時点におけ
るコントラストフラグCFのBIT0〜2が、すべて
「1」でないか否かが判別される。BIT0〜2がすべ
て「1」の場合とは、前述のように、現時点でのコント
ラストが最大ということを意味して、コントラストをさ
らに1段明るくすることができないので、以降の処理を
中断して、処理は直ちに後述するステップSP24に進
む。一方、ステップSP22における判別結果が「YE
S」ならば、現時点のコントラストフラグCFが「1」
だけインクリメントされて(ステップSP23)、処理
は次のステップSP24に進む。
【0044】次に、ステップSP24では、表示エリア
E3(図4参照)において、コントラストフラグCFの
値に対応したステータスが表示されて、コントラストの
設定値およびバックライトのオン・オフが表示される。
次に、ステップSP25では、コントラストフラグCF
の値に対応して、表示エリアE1(図4参照)の背景色
が変化して、このルーチンは終了する。このように、図
に示す表示画面設定ルーチンでは、設定値に応じてコン
トラストフラグCFのBIT0〜3が書き得られ、この
フラグCFに基づいてLCDのコントラストあるいはバ
ックライトの設定がなされる。これによって、従来、模
倣されることのなかったハンディターミナル1の表示態
様も、開発マシンのディスプレイDSPで直接的に検証
できるようになり、ハンディターミナル1の動作が開発
マシン上で一目瞭然となる。
E3(図4参照)において、コントラストフラグCFの
値に対応したステータスが表示されて、コントラストの
設定値およびバックライトのオン・オフが表示される。
次に、ステップSP25では、コントラストフラグCF
の値に対応して、表示エリアE1(図4参照)の背景色
が変化して、このルーチンは終了する。このように、図
に示す表示画面設定ルーチンでは、設定値に応じてコン
トラストフラグCFのBIT0〜3が書き得られ、この
フラグCFに基づいてLCDのコントラストあるいはバ
ックライトの設定がなされる。これによって、従来、模
倣されることのなかったハンディターミナル1の表示態
様も、開発マシンのディスプレイDSPで直接的に検証
できるようになり、ハンディターミナル1の動作が開発
マシン上で一目瞭然となる。
【0045】また、エミュレータEMは、ハンディター
ミナル1のハードウェア環境に対応させた専用関数ライ
ブラリTLと同一の引数を備え、かつ各専用関数の機能
f1〜f9を開発マシンのハードウェア環境に対応させ
ている。このため、ソースプログラムにエミュレータE
Mをリンクして、生成した実行ファイルEfを開発マシ
ンにロードすれば、該マシン上でハンディターミナル1
の動作がエミュレートされることになる。さらに、この
エミュレート動作では、ハンディターミナル1の動作状
態がディスプレイDSPに逐一表示されるたので、アプ
リケーションプログラムのデバッグ作業が極めて効率良
く行える。
ミナル1のハードウェア環境に対応させた専用関数ライ
ブラリTLと同一の引数を備え、かつ各専用関数の機能
f1〜f9を開発マシンのハードウェア環境に対応させ
ている。このため、ソースプログラムにエミュレータE
Mをリンクして、生成した実行ファイルEfを開発マシ
ンにロードすれば、該マシン上でハンディターミナル1
の動作がエミュレートされることになる。さらに、この
エミュレート動作では、ハンディターミナル1の動作状
態がディスプレイDSPに逐一表示されるたので、アプ
リケーションプログラムのデバッグ作業が極めて効率良
く行える。
【0046】また、上記実施例によれば、エミュレータ
用に開発したソースプログラムがそのままハンディター
ミナル用のソースファイルとなり、完全互換性を備える
ので、プログラム開発がすべて同一のマシン上で行なう
ことが可能になる。この結果、従来必要とされる実行フ
ァイルEfのダウンロードDLと、これに応じてなされ
る実機デバッグDG1とが省略することができる。さら
に、開発マシンでは、通常では有り得ないローバッテリ
状態を、所定の操作でいつでも、エミュレートすること
が可能となる。これらによって、極めて効率の良いプロ
グラム開発が可能となる。
用に開発したソースプログラムがそのままハンディター
ミナル用のソースファイルとなり、完全互換性を備える
ので、プログラム開発がすべて同一のマシン上で行なう
ことが可能になる。この結果、従来必要とされる実行フ
ァイルEfのダウンロードDLと、これに応じてなされ
る実機デバッグDG1とが省略することができる。さら
に、開発マシンでは、通常では有り得ないローバッテリ
状態を、所定の操作でいつでも、エミュレートすること
が可能となる。これらによって、極めて効率の良いプロ
グラム開発が可能となる。
【0047】
【発明の効果】以上説明したように、この発明によれ
ば、一方のコンピュータ用に作成したプログラムと同一
の引数で定義された各関数ルーチンから構成される模倣
手段が、他方のコンピュータ側のハードウェア構成に対
応した各機能を模倣するので、一方のコンピュータにお
ける表示態様を、他方のコンピュータで模倣することが
できる。
ば、一方のコンピュータ用に作成したプログラムと同一
の引数で定義された各関数ルーチンから構成される模倣
手段が、他方のコンピュータ側のハードウェア構成に対
応した各機能を模倣するので、一方のコンピュータにお
ける表示態様を、他方のコンピュータで模倣することが
できる。
【図1】 この発明の一実施例を適用したプログラム開
発手順の概要を示す図である。
発手順の概要を示す図である。
【図2】 同実施例におけるエミュレータEMの機能構
成を示す図である。
成を示す図である。
【図3】 同実施例により作成されたアプリケーション
プログラムの概略動作を示すフローチャートである。
プログラムの概略動作を示すフローチャートである。
【図4】 同実施例における表示エリアE1,E2,E
3の表示例を示す図である。
3の表示例を示す図である。
【図5】 同実施例におけるエスケープシーケンス制御
ルーチンの動作を示すフローチャートである。
ルーチンの動作を示すフローチャートである。
【図6】 同実施例における表示画面設定ルーチンの動
作を示すフローチャートである。
作を示すフローチャートである。
【図7】 同実施例におけるコントラストフラグCFの
構成を示す図である。
構成を示す図である。
【図8】 ハンディターミナル1の一構成例を示すブロ
ック図である。
ック図である。
【図9】 従来のプログラム開発手順を説明するための
図である。
図である。
sf…ソースファイル、cc…コンパイル、of…オブ
ジェクトファイル、LK…リンカ、EM…エミュレータ
(模倣手段)、SL…標準関数ライブラリ、Ef…実行
ファイル、f3…キー入力制御機能。f4…エスケープ
シーケンス制御。
ジェクトファイル、LK…リンカ、EM…エミュレータ
(模倣手段)、SL…標準関数ライブラリ、Ef…実行
ファイル、f3…キー入力制御機能。f4…エスケープ
シーケンス制御。
Claims (1)
- 【請求項1】 互いにハードウェア構成が異なるコンピ
ュータの内、いずれか一方のコンピュータ用に作成した
プログラムを、他方のコンピュータ上で動作可能にする
エミュレータにおいて、 前記プログラムがコールする複数のルーチンから形成さ
れるライブラリであって、前記プログラムと同一の引数
で定義された各関数ルーチンが、それぞれ前記他方のコ
ンピュータ側のハードウェア構成に対応した各機能を模
倣する模倣手段を具備し、 前記模倣手段は、前記一方のコンピュータにおける表示
態様を、前記他方のコンピュータにおける表示装置で模
倣することを特徴とするエミュレータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4248296A JPH06103087A (ja) | 1992-09-17 | 1992-09-17 | エミュレータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4248296A JPH06103087A (ja) | 1992-09-17 | 1992-09-17 | エミュレータ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06103087A true JPH06103087A (ja) | 1994-04-15 |
Family
ID=17175978
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4248296A Pending JPH06103087A (ja) | 1992-09-17 | 1992-09-17 | エミュレータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06103087A (ja) |
-
1992
- 1992-09-17 JP JP4248296A patent/JPH06103087A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Petzold | Programming Windows: the Microsoft guide to programming for the MS-DOS Presentation Manager, Windows 2.0 and Windows/386 | |
| Duncan | Advanced MS-DOS Programming | |
| Petzold | Programming Windows 3.1 | |
| US20100251233A1 (en) | Embedded computing system user interface emulated on a separate computing device | |
| Null et al. | MarieSim: The MARIE computer simulator | |
| Skansholm | Java from the Beginning | |
| JPH06103087A (ja) | エミュレータ | |
| JP2938272B2 (ja) | エミュレータ | |
| JP3100463B2 (ja) | エミュレータ | |
| CN112433805B (zh) | 液晶显示屏的模拟方法和系统 | |
| JP2939392B2 (ja) | エミュレータ | |
| JP2939391B2 (ja) | エミュレータ | |
| JPH06103103A (ja) | エミュレータ | |
| Smith | A microprogrammable microprocessor simulator and development system | |
| JPH06149622A (ja) | エミュレータ | |
| JP2939390B2 (ja) | エミュレータ | |
| JP2959910B2 (ja) | エミュレータ | |
| Povoroznyuk et al. | Computer architecture | |
| JPH06103086A (ja) | エミュレータ | |
| JP3330979B2 (ja) | エミュレータ | |
| Vijande González | Emulador del sistema NES (Nintendo Entertainment System) con fines educativos | |
| JPH06149591A (ja) | エミュレータ | |
| JPH06149621A (ja) | エミュレータ | |
| Basil | A microprocessor-based refreshing buffer for storage tube graphics terminals | |
| Miller | Computer-1—a modern simple computer to introduce computer organization and assembler language programming |