JP4555446B2 - Electronic equipment - Google Patents

Electronic equipment Download PDF

Info

Publication number
JP4555446B2
JP4555446B2 JP2000263324A JP2000263324A JP4555446B2 JP 4555446 B2 JP4555446 B2 JP 4555446B2 JP 2000263324 A JP2000263324 A JP 2000263324A JP 2000263324 A JP2000263324 A JP 2000263324A JP 4555446 B2 JP4555446 B2 JP 4555446B2
Authority
JP
Japan
Prior art keywords
key
game
image data
data
register
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
JP2000263324A
Other languages
Japanese (ja)
Other versions
JP2002077328A (en
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2000263324A priority Critical patent/JP4555446B2/en
Publication of JP2002077328A publication Critical patent/JP2002077328A/en
Application granted granted Critical
Publication of JP4555446B2 publication Critical patent/JP4555446B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
この発明は、電子装置に関し、特にたとえば、キー操作に応じた処理を複数のプロセサによって行なう、電子装置に関する。
【0002】
【従来技術】
従来のこの種の電子装置の一例が、平成元年4月17日付けで出願公告された特公平1−20464号[G06F15/16,3/02]がある。この従来技術は、マスタプロセサにキーボードを接続するとともに、キーボードデータをマスタプロセサを介してスレーブプロセサに与え、唯一のキーボードユニットによってマスタプロセサおよびスレーブプロセサの両方にキーボードデータを供給できるようにしたものである。
【0003】
【発明が解決しようとする課題】
しかし、このような従来技術では、システムの簡略化は実現できるものの、入力の多様化は不可能であった。つまり、いずれのプロセサも、キーボード以外のキーを入力することはできなかった。
【0004】
それゆえに、この発明の主たる目的は、多様な入力を可能にする、電子装置を提供することである。
【0005】
【課題を解決するための手段】
第1の発明は、第1処理を実行する第1プロセサ、第2処理を実行する第2プロセサ、第1プロセサに接続された複数の第1キー、および第2プロセサに接続された複数の第2キーを備え、第1処理は、複数の第2キーの少なくとも1つを特定キーとして設定することを第2プロセサに要求する要求処理を含み、第2処理は、特定キーの操作の有無を判別するキー操作判別処理、および特定キーが操作されたとき第1プロセサに与えられるべき特定信号を発生する第1特定信号発生処理を含第1プロセサは、第1キーの操作に応じて第1処理を実行し、第1処理の実行中に特定信号が入力されたとき、第1処理における特定機能処理を実行する、電子装置である。
【0007】
【作用】
第1の発明によれば、複数の第1キーが接続された第1プロセサは第1処理を実行し、複数の第2キーが接続された第2プロセサは第2処理を実行する。第1の処理に含まれる要求処理は、複数の第2キーの少なくとも1つを特定キーとして設定することを第2プロセサに要求する。第2の処理に含まれるキー操作判別処理は特定キーの操作の有無を判別し、第1特定信号発生処理は特定キーが操作されたとき第1プロセサに与えられるべき特定信号を発生する。第1プロセサは、第1キーの操作に応じて第1処理を実行し、第1処理の実行中に特定信号が入力されたとき、第1処理における特定機能処理を実行する
【0008】
この発明のある局面では、レジスタの特定ビットに特定機能が割り当てられる。特定信号はレジスタの特定ビットに所定値を設定する信号であり、第1プロセサは、レジスタの特定ビットが所定値を示すとき特定機能を実行する。好ましくは、第1プロセサは、特定キーを示すキー情報と特定ビットを示すビット情報とを第2プロセサに通知する。このとき、第2プロセサは、キー情報に基づいて特定キーの操作の有無を判別し、ビット情報に基づいてレジスタの特定ビットに所定値を設定する。
【0009】
この発明の他の局面では、第1処理は必要に応じて実行されるゲーム処理であり、第2処理は常時実行される電話処理である。このとき、特定機能はゲーム処理に関連し、第2キーは、ゲーム処理が実行されていないとき電話処理に関連する。好ましくは、特定機能は実行中のゲームにポーズをかけるポーズ機能であり、第2プロセサは、電話の着信を検出したときにも特定信号を発生する。
【0016】
【発明の効果】
第1の発明によれば、第2プロセサに接続された第2キーが操作されると、第1プロセサにおいて特定機能を実行する特定機能処理が実行される。つまり、第1プロセサによって実行される特定機能処理は第2プロセサに接続された第2キーの操作に応じて実行され、これによってキー入力の多様化が実現できる。
【0018】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0019】
【実施例】
図1を参照して、この実施例のゲーム機能付携帯通信端末10は、細長の直方体状に形成された本体12を含む。本体12の上面にはアンテナ14が突出し、本体12の前面には、スピーカ16,カラーLCD18,ゲーム起動キー20,ゲームキー22,電話キー24およびマイク26が配置される。
【0020】
ゲームキー22としては、ゲームを展開する主人公に所定方向への移動(たとえば前進,後退,方向転換,ジャンプなど)を指示する十字キー22aと、主人公に所定の振る舞い(たとえばアイテムの獲得や標的への攻撃)を指示するAボタン22bおよびBボタン22cとが存在する。また、電話キー24としては、フックキー24a,ホールドキー24b,“0”〜“9”を示す数字キー24c,*キー24dおよび#キー24eが存在する。
【0021】
着信待ち状態では、LCD18に図2に示すような着信待ち画面が表示される。図2によれば、今日の日付および現在時刻と本件出願人の制作に係るゲームキャラクタとが画面中央に表示され、受信状態およびバッテリ残量を示すキャラクタが画面上方に表示される。着信待ち状態でオペレータがフックキー24aおよび数字キー24cを用いてダイヤル操作をすると、ダイヤルされた電話番号がLCD18に表示されるとともに、相手方に対する発呼処理が行われる。この発呼に対して相手方が着信操作をすると、プロトコルが確立され、通話が可能となる。一方、相手方から着信があると、着信メッセージおよび発信元の電話番号がLCD18に表示されるとともに、着信音が本体12の背面に設けられたスピーカ48(図7参照)から出力される。ここでオペレータがフックキー24aを操作すると、着信音の出力が中止されるとともに発信元との間でプロトコルが確立され、通話可能状態となる。
【0022】
着信待ち状態のときにオペレータがゲーム起動キー20を操作すると、電話モードからゲームモードに移行する。まず図3に示すようなメニュー画面が表示され、オペレータがこのメニュー画面から所望のゲーム(たとえばスーパーマリオDX)を選択すると、選択されたゲームが開始される。LCD18の表示は図4に示すようなゲーム画面に更新され、背面のスピーカ48からはBGMが出力される。ゲームは上述のゲームキー22の操作に応答して進行し、必要に応じて効果音がスピーカ48から出力される。
【0023】
この実施例では、ゲームモードにおいて、*キー24dがスタートキーとして機能し、#キー24eがセレクトキーとして機能する(他の電話キーをスタートキーやセレクトキーとして機能させるようにしてもよい)。このため、進行中のゲームは、*キー24dの操作に応じて中断/再開される。つまり、ゲームの進行中に*キー24dが押されると、ポーズ状態に移行し、ゲーム画面の動きが止まるとともにBGMの出力が中断される。*キー24dが再度押されると、ポーズ状態が解除され、ゲーム画面が動き出すとともにBGMの出力が再開される。
また、上述のメニュー画面やプレイヤの選択を促す画面などでは、#キー24eを操作することで画面上のカーソルが移動する。
【0024】
ゲームの進行中でも着信検出は常時行われており、着信があると、ゲーム画面の動きが停止するとともに、BGMの出力が中止される。つまり、着信に応答してゲームにポーズがかけられる。さらに、スピーカ48からはBGMに代えて着信音が出力され、LCD18の表示は図5に示すような着信画面に更新される。
図5によれば、ゲーム画面の階調(トーン)が変更され、“着信中”との着信メッセージと発信元の電話番号とがゲーム画面上に表示される。このときも、フックキー24aの操作によって着信音の出力が中止されるとともにプロトコルが確立され、通話可能状態となる。通話が終了すると、トーンが元に戻され、図4に示すゲーム画面が再度表示される。
【0025】
ただし、通話終了後もポーズ状態は継続し、このポーズ状態は*キー24dの操作に応じて解除される。つまり、着信時は*キー24dを操作することなくゲームにポーズがかけられるが、ポーズ状態は*キー24dの操作によって解除される。*キー24dの操作によるポーズ状態の解除によって、上述のように、ゲーム画面が動き出し、BGMの出力が再開される。
【0026】
ゲームの途中または開始時点でプレイヤの名前を登録する必要が生じると、図6(A)および図6(B)に示すようなプレイヤ名入力画面がLCD18に表示される。このとき、プレイヤ名は、数字キー24cの操作によって画面上の名前入力枠内に表示される。つまり、数字キー24cの各々には50音のひらがな,まる「゜」,てん「゛」などが割り当てられており、この数字キー24cの操作によって所望の名前の入力処理が行われる。
【0027】
本体12の内部は、具体的には図7に示すように構成される。ゲーム起動キー20および電話キー24は、電話処理用のCPU(電話CPU)28と直接接続される。また、アンテナ14は、送受信回路32を介して電話CPU28と接続され、スピーカ16およびマイク26は、音声コーデック30を介して電話CPU28と接続される。スピーカ48は、加算器46を介して電話CPU28と接続される。SRAM34およびフラッシュメモリ36は、8ビットバス38を介して電話CPU28に接続される。フラッシュメモリ36には電話処理のためのプログラム(電話プログラム)や電話帳データが格納され、SRAM34は電話プログラムの処理時にワークRAMとして用いられる。
【0028】
一方、ゲーム処理用のCPU(ゲームCPU)40には、ゲームキー22,LCD18,SRAM42および外部端子Sが直接接続され、スピーカ48が加算器46およびアンプ44を介して接続される。SRAM42は、ゲーム処理のためのプログラム(ゲームプログラム)を処理するときに外部ワークRAMとして用いられる。
【0029】
なお、電話CPU28とゲームCPU40との間では、8ビットバス38を介したデータのやり取りに加えて、割り込み要求および通信データの直接のやり取りが行なわれる。通信データは、外部接続用端子Sを通して接続される外部機器(図示せず)との間でもやり取りされる。
【0030】
ゲームCPU40は、図8に示すように構成される。プロセサとしては、ゲームCPUコア50,音声処理ユニット(SPU)64,画像処理ユニット(PPU)78およびLCDコントローラ84が存在する。また、内部メモリとしては、システムROM52,フラッシュメモリ54,ワークRAM56,カラーパレットRAM68,レジスタ70および80,VRAM72および74,OAM(Object Attribute Memory)76,フレームメモリ86および88ならびにキーコントローラ82に設けられたゲームキーレジスタ1(図9参照)が存在する。
かかるプロセサおよび内部メモリのほか、上述の通信データを電話CPU28または外部機器とやり取りするためにUART58およびUARTセレクタ60が設けられ、図7に示すSRAM42にアクセスするために外部SRAMI/F62が設けられる。
【0031】
ゲームCPUコア50がアクセスできるメモリは、システムROM52,フラッシュメモリ54,ワークRAM56,SRAM42,カラーパレットRAM68,レジスタ70,VRAM72および74,OAM76,レジスタ80に設けられたゲームCPU制御レジスタ80d,FIFOレジスタ80eおよび割り込みレジスタ80g(図13参照),ならびにキーコントローラ82に設けられたゲームキーレジスタ1(図9参照)である。
【0032】
PPU78がアクセスできるメモリは、カラーパレットRAM68,レジスタ70,VRAM72および74,ならびにOAM76である。
【0033】
LCDコントローラ84がアクセスできるメモリは、フレームメモリ86および88,ならびにレジスタ80に設けられたフレームメモリレジスタ80a,出力制御レジスタ80bおよびパレット制御レジスタ80c(図13参照)である。
【0034】
なお、SPU64は図示しないサウンドROMにアクセスできるが、音声処理に関する詳しい説明は省略する。
【0035】
ゲームCPUコア50から見たメモリマッピングを図12に示す。図12によれば、“00000000h”〜“01999999h”にシステムROM52が割り当てられ、“02000000h”〜“02999999h”にSRAM42が割り当てられ、“03000000h”〜“03999999h”にワークRAM56が割り当てられる。また、“04000000h”〜“04999999h”に各種レジスタ(70,80d,80e,80g,ゲームキーレジスタ1)が割り当てられ、“05000000h”〜“05999999h”にカラーパレットRAM68が割り当てられる。さらに、“06000000h”〜“06999999h”にVRAM72および74が割り当てられ、“07000000h”〜“07999999h”にOAM76が割り当てられ、“08000000h”〜“08199999h”にゲームプログラム(イメージ)が割り当てられる。
【0036】
また、“10000000h”〜“Xh−1”にフラッシュメモリ54に格納されたブラウザプログラムおよびモニタプログラムが割り当てられ、“Xh”〜“Xh+00199999h”にフラッシュメモリ54に格納されたゲームプログラムが割り当てられ、“Xh+00200000h”〜“10400000h”にフラッシュメモリ54に格納されたバックアップが割り当てられる。ゲームCPUコア50は、このようなアドレスを利用して各々のメモリにアクセスする。
【0037】
各々のメモリについて具体的に説明すると、システムROM52は、ゲームCPUコア50のブートプログラムや、フラッシュメモリ54が破壊された場合の復旧プログラムなどを格納する。また、フラッシュメモリ54は、上述のようにバックアップ,ゲームプログラム,ブラウザプログラムおよびモニタプログラムを格納する。ゲームプログラムは、インターネット上に設けられたかつ多数のゲームプログラムを記憶したサーバからダウンロードされる。つまり、電話機能を用いてサーバに接続し、希望のゲームプログラムを選択すれば、選択されたゲームプログラムが電話CPU28を介してフラッシュメモリ54にダウンロードされる。ワークRAM56およびSRAM42には、上述のプログラムの処理時に得られたデータが一時的に格納される。
【0038】
VRAM72は、静止したキャラクタ(静止キャラクタ)を示す背景画像データを格納し、VRAM74は、動きを伴うキャラクタ(動きキャラクタ)を示すオブジェクト画像データを格納し、そしてOAM(Object Attribute Memory)76は、各々の動きキャラクタのアトリビュートを格納する。たとえば、図4に示すゲーム画面が表示されるとき、VRAM72に格納される背景画像データは、木,山および地面のような静止キャラクタデータを含む。また、VRAM74に格納されるオブジェクト画像データは、空中をジャンプする主人公,地面を動くキノコ,空中に浮かび下から突くと微動するブロックのような動きキャラクタデータを含む。
【0039】
カラーパレットRAM68は、静止キャラクタおよび動きキャラクタを色付けするためのパレットデータを格納し、レジスタ70は、画像モードを指定したり、画面に特殊効果を施すための設定値を保持する。
【0040】
図13を参照して、フレームメモリレジスタ80aは、フレームメモリ86および88のアドレスデータおよび画像データを保持する。具体的には、フレームメモリ86のXアドレス,Yアドレスおよびこのアドレス(X,Y)に書き込む1ドット(=1ビット)分の2値画像データ、ならびにフレームメモリ88のXアドレス,Yアドレスおよびこのアドレス(X,Y)に書き込む1ドット(=8ビット)分のカラー画像データが設定される。フレームメモリレジスタ80aに対する設定は、電話CPU28によって行われる。電話モードではフレームメモリ86および88の両方のアドレスデータおよび画像データが電話CPU28によって設定され、ゲームモードではフレームメモリ86のアドレスデータおよび画像データのみが電話CPU28によって設定される。
【0041】
出力制御レジスタ80bは、LCDコントローラ84からLCD18への画像データの出力を制御するためのレジスタであり、これには合成開始ラインデータ,合成終了ラインデータ,画像開始ラインデータおよびLCD制御データが設定される。図16および図17に示すように、表示画面にはエリア1および2が形成され、エリア1にはフレームメモリ86に描画された画像データに基づく画像が表示され、エリア2にはフレームメモリ86および88に描画された各々の画像データに基づく合成画像が表示される。合成開始ライン指定データおよび合成終了ライン指定データはそれぞれ、エリア2の開始位置および終了位置を示す。
また、画像開始ラインデータは、フレームメモリ88のどのラインからカラー画像データの読み出しを開始するかを指定するデータである。この画像開始ラインデータを所定ライン数毎に更新することで、カラー画像のスクロール表示が可能となる。
【0042】
LCD制御データは、具体的には図14に示すように8ビットで表される。0ビット目(=LCNT0)はモード選択フラグであり、“0”は電話モードを、“1”はゲームモードを示す。1ビット目(=LCNT1)はフレームメモリ86に描画された2値画像データに基づく画像の出力/中止を制御するフラグであり、“0”は中止を、“1”は出力を示す。2ビット目(=LCNT2)は、フレームメモリ88に描画されたカラー画像データに基づく画像を表示するときに、このカラー画像にブレンディングを施すかどうかを制御するフラグであり、“0”はノーマルを、“1”はブレンディングを示す。4ビット目および3ビット目(=LCNT4,3)はフレームメモリ88に描画されたカラー画像データに基づく画像の出力およびトーン(階調)を制御するフラグであり、“00”は出力中止を、“01”はトーンダウンを、“10”は等倍トーンを、“11”はトーンアップを示す。5ビット目(=LCNT5)はLCD18の表示オン/表示オフを制御するフラグであり、“0”は表示オフを、“1”は表示オンを示す。
6ビット目および7ビット目は、この実施例では使用されない。
【0043】
パレット制御レジスタ80cは、フレームメモリ86に書き込まれた2値画像データに基づく画像の色を指定するためのレジスタである。合成エリアではないエリア1については、背景色を決定するパレットデータ0とキャラクタ色を決定するパレットデータ1が設定される。これに対して、合成エリアである第2エリアについては、キャラクタ色を決定するパレットデータ1のみが設定され、背景は常に透明色とされる。
【0044】
ゲームCPU制御レジスタ80dは、ゲームCPU起動フラグのみを有する。
このゲームCPU起動フラグは、ゲーム起動キー20の操作に応答して“1”に設定され、ホールドキー24bの操作に応答して“0”に設定される。“1”はゲームモードを示し、“0”は電話モードを示す。
【0045】
FIFOレジスタ80eは、ゲームモードにおいてゲームCPU40と電話CPU28との間でやり取りされるデータを一時的に保持するためのレジスタである。具体的にはFIFOレジスタ1および2の2つからなり、いずれも64×16ビットの容量を持つ。この実施例の電話CPU28は8ビットCPUであるので16ビットの設定データのうち8ビットしか使用されないが、FIFOレジスタ1および2を16ビットとしておくことで、16ビットの電話CPUにも対応できる。
【0046】
ゲームCPU40から電話CPU28へのデータ転送にはFIFOレジスタ1が用いられ、電話CPU28からゲームCPU40へのデータ転送にはFIFOレジスタ2が用いられる。このため、FIFOレジスタ1への書き込みはゲームCPU40によってのみ行われ、FIFOレジスタ1からの読み出しは電話CPU28によってのみ行われる。また、FIFOレジスタ2への書き込みは電話CPU28によってのみ行われ、FIFOレジスタ2からの読み出しはゲームCPU40によってのみ行われる。このFIFOレジスタ1および2は、*キー24dおよび#キー24eへのスタート機能およびセレクト機能の割り当て処理、ならびにプレイヤ名入力処理において利用される。
【0047】
ゲームキーレジスタ80fは、ゲーム操作に関連するデータを保持するレジスタであり、ゲームキーレジスタ2および3からなる。ゲームキーレジスタ1は上述のようにキーコントローラ80に設けられ、ゲームキーレジスタ1〜3のいずれも、図15に示すように8ビットで形成される。0ビット目(=K0,KI0,KO0)にはAボタン22bが割り当てられ、1ビット目(=K1,KI1,KO1)にはBボタン22cが割り当てられ、2ビット目〜5ビット目(=K2〜K5,KI2〜KI5,KO2〜KO5)には十字キー22aの上方向,下方向,左方向,右方向が割り当てられる。また、6ビット目(=K6,KI6,KO6)にはスタートキー(*キー24d)が割り当てられ、7ビット目にはセレクトキー(#キー24e)が割り当てられる。
【0048】
Aボタン22bが操作されると0ビット目が“0”から“1”に更新され、Bボタン22cが操作されると1ビット目が“0”から“1”に更新される。2ビット目は十字キー22aが上向きに操作されたとき“0”から“1”に更新され、3ビット目は十字キー22aが下向きに操作されたとき“0”から“1”に更新される。また、4ビット目は十字キー22aが左向きに操作されたとき“0”から“1”に更新され、5ビット目は十字キー22aが右向きに操作されたとき“0”から“1”に更新される。さらに、*キー24dが操作されると6ビット目が“0”から“1”に更新され、#キー24eが押されると7ビット目が“0”から“1”に更新される。
【0049】
割り込みレジスタ80gは、ゲームCPU40と電話CPU28との間でやり取りされる割り込み要求を一時的に保持するレジスタである。割り込みレジスタ1にはゲームCPU40から電話CPU28に発された割り込み要求が設定され、割り込みレジスタ2には電話CPU28からゲームCPU40に発された割り込み要求が設定される。なお、電話CPU28からゲームCPU40への割り込み、およびゲームCPU40から電話CPU28への割り込みのいずれも、*キー24dおよび#キー24eへのスタート機能およびセレクト機能の割り当て処理、ならびにプレイヤ名入力処理において利用される。
【0050】
キーコントローラ82およびその周辺は図9に示すように構成される。ゲームモードでは、上述のように、*キー24dがスタートキーとして機能し、#キー24eがセレクトキーとして機能する。オペレータが、*キー24dまたは#キー24eを操作すると、電話キーレジスタ28bの所定ビットが“1”に更新される。電話CPUコア28aは、電話キーレジスタ28bの設定値からいずれのキーが操作されたかを判別し、*キー24dが操作されたときはゲームキーレジスタ3の6ビット目を、#キー24eが操作されたときはゲームキーレジスタ3の7ビット目を“1”に更新する。
【0051】
ゲームキーレジスタ1には、ゲームキー22の操作に応じた数値とゲームキーレジスタ3から出力された数値の論理和が設定される。ゲームCPUコア50は、ゲームキーレジスタ1の設定値を入力し、入力した設定値に応じたゲーム処理を行なう。このため、ゲーム処理には、ゲームキー22の操作だけでなく、*キー24dおよび#キー24eの操作も反映される。
【0052】
ゲームキーレジスタ1の設定値はゲームキーレジスタ2にも与えられ、ゲームキーレジスタ1および2の設定値は常に一致することとなる。したがって、ゲームキーレジスタ2の設定値は、ゲームキー22の操作に応じて変化する。電話CPUコア28aは、プレイヤ名入力時にゲームキーレジスタ2の設定値からAボタン22bの操作の有無を判別し、判別結果に応じた処理を行なう。
【0053】
図8に戻って、PPU78は、VRAM72および74に格納された画像データに対して、パレットRAM68のパレットデータならびにレジスタ70の設定値に従う処理を施し、かかる処理が施された8ビットのカラー画像データをアドレスデータとともにLCDコントローラ84に出力する。ただし、VRAM72および74に背景画像データおよびオブジェクト画像データが描画されるのはゲームモードのみであり、PPU78は、ゲームモードにおいてのみカラー画像データおよびアドレスデータをLCDコントローラ84に転送する。
【0054】
LCDコントローラ84は、具体的には図10に示すように構成される。出力制御レジスタ80bに設定されたLCD制御データのLCNT0はセレクタ84bに与えられ、LCNT1は読み出しコントローラ84fに与えられ、LCNT4および3はトーン制御回路84gに与えられ、そしてLCNT2および5は画像合成回路84hに与えられる。また、出力制御レジスタ80bに設定された合成開始ラインデータおよび合成終了ラインデータは画像合成回路84hに与えられ、画像開始ラインデータは読み出しコントローラ84cに与えられる。
【0055】
さらに、パレット制御レジスタ80cに設定されたエリア1用パレットデータ0,エリア1用パレットデータ1およびエリア2用パレットデータ1は画像合成回路84hに与えられ、フレームメモリレジスタ80aに設定されたフレームメモリ86用Xアドレス,フレームメモリ86用Yアドレス,1ドット分2値画像データ,フレームメモリ88用Xアドレス,フレームメモリ88用Yアドレスおよび1ドット分カラー画像データは、フレームメモリ転送コントローラ84aに与えられる。
【0056】
上述のように、電話モードでは、2値画像データおよびそのアドレスデータとカラー画像データおよびそのアドレスデータとがフレームメモリレジスタ80aに設定される。このとき、フレームメモリ転送コントローラ84aは、2値画像データおよびそのアドレスデータを書き込みコントローラ84eに与え、カラー画像データおよびそのアドレスデータをセレクタ84bに与える。セレクタ84bは、LCNT0が“0”つまり電話モードを示すときフレームメモリ転送コントローラ84aの出力を選択する。フレームメモリ転送コントローラ84aから出力されたカラー画像データおよびアドレスデータは、セレクタ84bを介して書き込みコントローラ84dに与えられる。
【0057】
一方、ゲームモードでは、2値画像データおよびそのアドレスデータのみがフレームメモリレジスタ80aに設定され、フレームメモリ転送コントローラ84aは、この2値画像データおよびアドレスデータを書き込みコントローラ84eに与える。カラー画像データおよびアドレスデータは、PPU78からセレクタ84dに与えられる。LCD制御データのLCNT0はゲームモードにおいて“1”を示し、このときセレクタ84dはPPU78からの出力を選択する。このため、ゲームモードでは、PPU78からの出力がセレクタ84bを介して書き込みコントローラ84dに与えられる。
【0058】
後段で詳述するが、2値画像データおよびカラー画像データのいずれについても、アドレスデータは書き込み開始アドレスのみを示す。このため、書き込みコントローラ84eおよび84dはいずれも、与えられたアドレスデータを基準として書き込みアドレスを1ドットずつ更新し、順次与えられる1ドット分の2値画像データおよびカラー画像データを更新されたアドレスに書き込む。これによって、所定ドット数分の2値画像データおよびカラー画像データが、フレームメモリ86および88の各々に格納される。
【0059】
なお、フレームメモリ86および88はいずれも160×160ドットの画像データを格納できる容量を持つが、フレームメモリ86の各ドットには1ビットが割り当てられ、フレームメモリ88の各ドットには8ビットが割り当てられる。このため、フレームメモリ86の各アドレスには1ドット分の2値画像データが書き込まれ、フレームメモリ88の各アドレスには1ドット分のカラー画像データが書き込まれる。
【0060】
読み出しコントローラ84fは、LCD制御データのLCNT1が“1”を示すとき、フレームメモリ86から2値画像データを読み出し、読み出した2値画像データを画像合成回路84hに与える。一方、LCNT1が“0”を示すときは、フレームメモリ86からの2値画像データの読み出しを中止する。読み出しコントローラ84cは、画像開始ラインデータによってフレームメモリ88の読み出し開始ラインを特定し、特定した読み出し開始ラインからカラー画像データの読み出しを開始する。読み出されたカラー画像データは、トーン制御回路84gを経て画像合成回路84hに与えられる。
【0061】
トーン制御回路84gは、LCNT4および3が示す数値に応答して、次のようなトーン制御または出力制御を行なう。つまり、LCNT4,3が“01”を示せば、カラー画像データのRGBレベルが低下され(トーンダウン)、トーンがダウンされたカラー画像データが画像合成回路84hに与えられる。また、LCNT4および3が“11”を示せばカラー画像データのRGBレベルが上昇され(トーンアップ)、トーンがアップされたカラー画像データが画像合成回路84hに与えられる。さらに、LCNT4および3が“10”を示せばカラー画像データはそのまま画像合成回路84hに与えられ、LCNT4および3が“00”を示せばカラー画像データの画像合成回路84hへの出力が中止される。
【0062】
画像合成回路84hは、図11に示すように構成される。ラインカウンタ8402hは、1フレームを形成するライン数をカウントし、カウント値を比較器8403hに与える。比較器8403hにはまた、出力制御レジスタ80bに設定された合成開始ラインデータおよび合成終了ラインデータが与えられる。比較器8403hは、ラインカウンタ8402hのカウント値が合成開始ラインデータのデータ値と一致したとき出力をハイレベルに変更し、ラインカウンタ8402hのカウント値が合成終了ラインデータのデータ値+1と一致したとき出力をハイレベルからローレベルに戻す。このため、比較器8403hの出力は、図16に示すエリア1の開始位置から終了位置にわたってローレベルとなり、図16に示すエリア2の開始位置から終了位置にわたってハイレベルとなる。
【0063】
セレクタ8401hは、比較器8403hの出力がローレベルのときパレット制御レジスタ80cに設定されたエリア1用パレットデータ0を選択し、比較器8403hの出力がハイレベルのときトーン制御回路84gから出力されたカラー画像データを選択する。セレクタ8401hの出力は、セレクタ8407hに与えられる。
【0064】
ブレンディング回路8404hは、パレット制御レジスタ80cに設定されたエリア2用パレットデータ1とトーン制御回路84gから出力されたカラー画像データとにブレンディング処理を施す。セレクタ8405hは、LCD制御データのLCNT2が“0”を示すときエリア2用パレットデータ1を選択し、LCNT2は“1”を示すときブレンディング回路8404hの出力を選択する。セレクタ8405hの出力は、セレクタ8406hに与えられる。比較器8403hの出力は、セレクタ8406hにも与えられる。セレクタ8406hは、比較器8403hの出力がローレベルのときパレット制御レジスタ80cに設定されたエリア1用パレットデータ1を選択し、比較器8403hの出力がハイレベルのときセレクタ8405hの出力を選択する。
【0065】
セレクタ8407hは、読み出しコントローラ84hによって読み出された2値画像データを受け、この2値画像データを形成する各ドットのデータ値(ビット値)に応じて、セレクタ8401hおよび8406hのいずれか一方を選択する。具体的には、ビット値が“0”を示すときはセレクタ8401hの出力を選択し、ビット値が“1”を示すときはセレクタ8406hの出力を選択する。
【0066】
スイッチ8408hは、LCD制御データのLCNT5が“0”を示すときオフ状態となり、LCNT5が“1”を示すときオン状態となる。このため、セレクタ8407hの出力は、LCNT5が“1”を示すときだけ、スイッチ8408hを介してLCD18に出力される。
【0067】
エリア1では、セレクタ8401hはエリア1用パレットデータ0を選択し、セレクタ8406hはエリア1用パレットデータ1を選択する。セレクタ8407hは、2値画像データの各ビット値が“0”のときエリア1用パレットデータ0を選択し、各ビット値が“1”を示すときエリア1用パレットデータ1を選択する。この結果、受信状態およびバッテリ残量を示すキャラクタが、図17に示す要領でエリア1に表示される。
【0068】
エリア2では、セレクタ8401hはカラー画像データを選択し、セレクタ8406hはセレクタ8405hの出力を選択する。ブレンディング処理を行なわないとき、セレクタ8405hからセレクタ8406hへはエリア2用パレットデータ1が与えられる。セレクタ8407hは、2値画像データの各ビット値が“0”のときカラー画像データを選択し、各ビット値が“1”を示すときエリア2用パレットデータ1を選択する。この結果、たとえば日付および現在時刻を示すキャラクタとカラー画像とが、図17に示す要領でエリア2に表示される。
【0069】
図2に示す着信待ち画面は、図18に示すような受信状態,バッテリ残量,日付および現在時刻を示す2値画像データと、図19に示すようなゲームキャラクタを示すカラー画像データとからなる。図7に示す電話CPU28は、まずエリア1の先頭に対応するアドレスデータをフレームメモリレジスタ80aに設定し、受信状態およびバッテリ残量を示す2値画像データ(エリア1に表示)を1ドットずつフレームメモリレジスタ80aに設定する。電話CPU28は続いて、エリア2の先頭に対応するアドレスデータをフレームメモリレジスタ80aに設定し、日付および現在時刻を示す2値画像データ(エリア2に表示)を1ドットずつフレームメモリレジスタ80aに設定する。LCDコントローラ84は、1ドット毎に更新される2値画像データをフレームメモリレジスタ80aから繰り返し読み出し、読み出された各ドットの2値画像データをアドレスデータに基づいてフレームメモリ86に書き込む。これによって、図18に示す2値画像データがフレームメモリ86内に得られる。
【0070】
電話CPU28は、2値画像データの設定に続いて、エリア2の先頭に対応するアドレスデータおよびゲームキャラクタを示す各ドットのカラー画像データをフレームメモリレジスタ80aに設定する。LCDコントローラ84は、1ドット毎に更新されるカラー画像データをフレームメモリレジスタ80aから繰り返し読み出し、読み出したカラー画像データをアドレスデータに基づいてフレームメモリ88に書き込む。これによって、図19に示すカラー画像データがフレームメモリ88内に得られる。
【0071】
LCDコントローラ84は、フレームメモリ86および88からの2値画像データおよびカラー画像データの読み出し,カラー画像データのトーン制御,2値画像データに基づく色付け,2値画像データおよびカラー画像データの合成,ならびに合成画像データの出力を、出力制御レジスタ80bおよびパレット制御レジスタ80cの設定値に従って行なう。この結果、図2に示す待ち受け画面がLCD18に表示される。
【0072】
オペレータがダイヤル操作をすると、電話CPU28は、エリア2の先頭に対応するアドレスデータと相手方の電話番号を示す2値画像データとをフレームメモリレジスタ80aに設定する。LCDコントローラ84は、上述と同じ要領でこの2値画像データをフレームメモリ86に書き込む。このため、日付および現在時刻を示す2値画像データは、相手方の電話番号を示す2値画像データによって更新される。この結果、LCD18に表示された日付および現在時刻も、相手方の電話番号に切り換わる。
【0073】
電話CPU28はまた、送受信回路32およびアンテナ14を通して相手方との接続を確立する。接続が確立されると、相手方の音声データが受信され、受信された音声データは音声コーデック30を介してスピーカ16から出力される。
また、マイク26によって取り込まれたオペレータの音声データは、音声コーデック30および送受信回路32を介してアンテナ12から出力される。
【0074】
一方、アンテナ14および送受信回路32を通して着信があると、電話CPU28は、エリア2の先頭に対応するアドレスデータと着信メッセージおよび発信元の電話番号を示す2値画像データとをフレームメモリレジスタ80aに設定する。LCDコントローラ84はこの2値画像データをフレームメモリ86に書き込み、日付および現在時刻を示す2値画像データは着信メッセージおよび発信元の電話番号を示す2値画像データによって更新される。これによって、LCD18に表示された日付および現在時刻も、着信メッセージおよび発信元の電話番号に更新される。電話CPU28はまた、着信音データを加算器46を介してスピーカ48に与える。スピーカ48からは、着信音が出力される。
【0075】
ここでオペレータが着信操作をすると、電話CPU28は着信音データの出力を中止し、発信元との接続を確立する。接続の確立後は、上述と同様に、相手方の音声データが音声コーデック30を介してスピーカ16から出力され、マイク26によって取り込まれたオペレータの音声データが音声コーデック30および送受信回路32を介してアンテナ12から出力される。
【0076】
着信待ち状態のときにオペレータがゲーム起動キー20を操作すると、電話CPU28はゲーム起動フラグをセットする。電話CPU28はまた、エリア2の先頭に対応するアドレスデータと全ドットが“0”を示す2値画像データとをフレームメモリレジスタ80aに設定し、LCD制御データのLCNT0に“1”を設定する。LCDコントローラ84は、全ドットが“0”を示す2値画像データをアドレスデータに基づいてフレームメモリ86に書き込み、かつカラー画像データの入力先としてPPU78を選択する。
【0077】
一方、ゲームCPUコア50は、ゲーム画面(カラー画像)を形成する背景画像データおよびオブジェクト画像データをVRAM72および74に描画し、静止キャラクタおよび動きキャラクタのパレットデータをカラーパレットRAM68にセットする。さらに、動きキャラクタのアトリビュートをOAM76にセットし、背景およびオブジェクトの出力に関する設定値をレジスタ70にセットする。この結果、たとえば図21に示すカラー画像データがPPU78によって作成され、LCDコントローラ84に出力される。LCDコントローラ84は、PPU78から出力されたカラー画像データをフレームメモリ88に書き込む。フレームメモリ86および88の各々には、図20に示す2値画像データおよび図21に示すカラー画像データが得られる。
【0078】
LCDコントローラ84は、上述と同じ要領で、フレームメモリ86および88から2値画像データおよびカラー画像データを読み出し、カラー画像データにLCD制御データのLCNT4,3の値に従うトーン制御を施し、2値画像データ,合成開始ラインデータおよび合成終了ラインデータに基づいてパレットデータおよびカラー画像データを合成する。この結果、図4に示すゲーム画面がLCD18に表示される。
【0079】
ゲームCPUコア50はまた、図9に示すFIFOレジスタ1を通して、*キー24dおよび#キー24eを示すキーコードと*キー24dおよび#キー24eに割り当てる機能情報とを電話CPU28に与える。ここで、*キー24dに割り当てられた機能情報は“スタート”を示し、#キー24eに割り当てられた機能情報は“セレクト”を示す。このため、電話CPU28は、*キー24dが操作されたときゲームキーレジスタ3のスタートキービットKO6に“1”をセットし、#キー24eが操作されたときゲームキーレジスタ3のセレクトキービットKO7に“1”をセットする。ゲームキーレジスタ1の各ビットにはゲームキー22の操作に応じた数値とゲームキーレジスタ3から出力された数値の論理和がセットされるため、ゲームCPUコア50は、ゲームキーレジスタ1の設定値に応じたゲーム処理を行なう。
【0080】
ゲームが開始された後は、ゲームキー22の操作に応答して、背景画像データ,オブジェクト画像データおよびオブジェクトのアトリビュートが更新され、さらにカラーパレットレジスタ68およびレジスタ70の設定値が更新される。この結果、画像処理ユニット78から出力されるカラー画像データも変化し、ゲーム画面に動きが生じる。一方、SPU64からは、必要に応じて効果音データが出力され、スピーカ48から効果音が生じる。
【0081】
ゲーム進行中に*キー24dが操作されると、ゲームCPU50は、ポーズ状態に移行すべく、SPU64およびPPU78に対してBGMデータおよびカラー画像データの出力を停止させる。これによって、BGMの出力およびゲーム画面の動きが停止する。*キー24dが再度操作されると、ゲームCPU50は、ポーズ状態を解除すべく、SPU64およびPPU78を起動し、BGMデータおよびカラー画像データの出力を再開させる。スピーカ48からは再びBGMが出力され、LCD18上のゲーム画面も再び動き出す。
【0082】
なお、ゲームの進行中にメニュー画面が表示された場合、ゲームCPUコア50は、#キー24eの操作に応答してレジスタ70の設定値を変更する。変更する設定値はメニュー画面上に表示されたカーソルに関連する設定値であり、この変更によってカーソルの表示位置が変更される。
【0083】
ゲーム進行中に着信があると、電話CPU28は、上述の処理に加えてゲームキーレジスタ3のスタートキービットKO6を“1”にセットし、LCD制御データのLCNT4,3に“11”をセットする。電話CPU28はまた、着信メッセージおよび発信元の電話番号を示す2値画像データとエリア2の先頭に対応するアドレスデータとをフレームメモリレジスタ80aに設定し、着信音データを加算器46を介してスピーカ48に与える。一方、ゲームCPUコア50は、ゲームにポーズをかけるべく、SPU64にBGMデータの出力を停止させるとともに、自らの処理を停止させる。
【0084】
LCDコントローラ84は、フレームメモリレジスタ80aに設定された2値画像データをフレームメモリ86に格納する。LCDコントローラ84はまた、フレームメモリ86および88から2値画像データおよびカラー画像データを読み出し、カラー画像データにトーンアップを施し、2値画像データ,合成開始ラインデータおよび合成終了ラインデータに基づいてパレットデータおよびカラー画像データを合成する。この結果、図5に示す着信案内画面がLCD18に表示され、スピーカ48の出力がBGMから着信音に切り換わる。
【0085】
オペレータが着信操作をすると、電話CPU28は、上述と同様に、着信音データの出力を中止し、発信元との接続を確立する。接続の確立後は、相手方の音声データが音声コーデック30を介してスピーカ16から出力され、マイク26によって取り込まれたオペレータの音声データが音声コーデック30および送受信回路32を介してアンテナ14から出力される。
【0086】
通話が終了すると、電話CPU28はLCD制御データのLCNT4,3を“10”に戻すとともに、エリア2の先頭に対応するアドレスデータと全ドットが“0”を示す2値画像データをフレームメモリレジスタ80aに設定する。この結果、LCD18の表示が図4に示すゲーム画面に戻る。ただし、ゲーム画面の動きは停止したままであり、かつBGMの出力も停止している。つまり、ゲームはポーズ状態を維持している。このポーズ状態は、オペレータによる*キー24dの操作に応答して解除される。
【0087】
電話CPUコア28aは、具体的には図22〜図31および図34に示すフロー図を処理する。まずステップS1でLCDコントローラ制御レジスタ80cに設定されるLCD制御データを初期値“110010”に設定する。つまり、図14に示すLCD表示オン/オフフラグを“1”にセットし、カラー画像トーン制御フラグを“10”にセットし、2値画像トーン制御フラグを“0”にセットし、2値画像出力制御フラグを“1”にセットし、そしてモード選択フラグを“0”にセットする。
【0088】
続くステップS3では、図2に示す着信待ち画面をLCD18に表示すべく、図25および図26に示すサブルーチンを処理する。まず、図25に示すステップS81でLCD制御データのLCNT5を“0”に更新する。これによって、LCD18の表示がオフ状態とされる。次に、ステップS83でカウント値Nを“1”に設定し、ステップS85,S87およびS89の各々で、フレームメモリレジスタ80aにフレームメモリ86用Xアドレス,フレームメモリ86用Yアドレスおよび1ドット分の2値画像データをセットする。具体的には、フレームメモリ86に形成されたエリアN(表示画面のエリアNに対応)の先頭アドレスおよびこの先頭アドレスに書き込む1ドット分の2値画像データをフレームメモリレジスタ80aにセットする。続くステップS91では、エリアNへの2値画像データの書き込みが完了したかどうか判断し、NOであればステップS89の処理を繰り返すが、YESであればステップS93に進む。
【0089】
LCDコントローラ84は、まずフレームメモリレジスタ80aにセットされた先頭アドレスデータおよび2値画像データを読み出し、先頭アドレスデータが示すフレームメモリ86上のアドレスに2値画像データを書き込む。1ドット分の2値画像データの書き込みが完了すると、LCDコントローラ84は自ら書き込み先のアドレスを更新する。このため、電話CPU28側で書き込みアドレスを更新する必要はなく、ステップS89における2値画像データのセット処理を繰り返すだけで、フレームメモリ86の所望のアドレスに2値画像データが書き込まれていく。
【0090】
ステップS93ではカウント値Nが“2”に達したかどうか判断し、NOであればステップS95でカウント値NをインクリメントしてからステップS85に戻るが、YESであればステップS97に進む。これによって、受信状態およびバッテリ残量のキャラクタを示す2値画像データがフレームメモリ86のエリア1に描画され、日時および現在時刻を示す2値画像データがフレームメモリ86のエリア2に描画される。なお、この実施例では、画面全体の画像データを書き換えるような処理としたが、変更が必要な領域のみ画像データを書き換えるようにしてもよい(後述のエリア2に関するステップS97〜S103についても同様)。
【0091】
続くステップS97〜S101では、フレームメモリ88用Xアドレス,フレームメモリ88用Yアドレスおよび1ドット分のカラー画像データをフレームメモリレジスタ80aにセットする。ステップS97およびS99でセットするXアドレスおよびYアドレスはフレームメモリ88における先頭アドレスを示し、ステップS101でセットされた1ドット分のカラー画像データはこの先頭アドレスに書き込むべき画像データである。ステップS103では、エリア2へのカラー画像データの書き込みが完了したかどうか判断し、書き込みが完了していなければステップS101に戻るが、書き込みが完了すればステップS105に進む。これによって、図2に示すゲームキャラクタのカラー画像データがフレームメモリ88に描画される。
【0092】
ステップS105〜S109の各々では、エリア1用パレットデータ0,エリア1用パレットデータ1およびエリア2用パレットデータ1をパレット制御レジスタ80cにセットする。これによって、LCD18のエリア1に表示される2値画像の背景色および文字色(キャラクタ色)と、エリア2に表示される2値画像の文字色が決定される。なお、エリア2の2値画像の背景色は、上述のように透明である。
【0093】
ステップS111〜S115の各々では、合成開始ラインデータ,合成終了ラインデータおよび画像開始ラインデータを出力制御レジスタ80cにセットする。合成開始ラインデータは2値画像のどのラインからカラー画像の合成を開始するかを示し、合成終了ラインデータは2値画像のどのラインでカラー画像の合成を終了するかを示し、画像開始ラインデータは、フレームメモリ88のどのラインから読み出しを開始するかを示す。
【0094】
ステップS115の処理が完了するとステップS117に進み、LCD18の表示をオン状態とすべく、LCD制御データのLCNT5を“1”にセットする。これによって、図2に示す着信待ち画面がLCD18に表示される。
【0095】
図22に戻って、ステップS5,S13,S21およびS35の各々では、ゲーム起動キー20の操作の有無,ホールドキー24bの操作の有無,ダイヤル操作の有無および電話着信の有無を判別する。ステップS5でゲーム起動キー20の操作ありと判別されると、ステップS7で図13に示すゲームCPU起動フラグをセットするとともに、ステップS9でLCD制御データのLCNT0に“1”をセットする。これによって、ゲームモードが開始される。ステップS9の処理が完了すると、ステップS11で図27に示すサブルーチンを処理する。
【0096】
まずステップS121でLCD制御データのLCNT5を“0”に更新して、LCD18の表示をオフ状態とする。次に、ステップS122およびS123の各々で、フレームメモリ86用Xアドレスおよびフレームメモリ86用Yアドレスをフレームメモリレジスタ80aに設定する。ここで設定されたアドレスは、形成されたエリア2の先頭アドレスを示す。ステップS124では1ドット分の2値画像データを同じフレームメモリレジスタ80aに設定し、続くステップS125ではエリア2に対する2値画像データの書き込みが完了したかどうか判断する。そして、NOであればステップS124の処理を繰り返し、YESであればステップS126でエリア2用パレットデータ1をパレット制御レジスタ80cに設定するとともに、ステップS127でLCD制御データのLCNT5を“1”に戻してLCD18の表示をオン状態とする。ステップS11におけるこのサブルーチンの処理によって、全てのドットが“0”を示す2値画像データがフレームメモリ86のエリア2に描画される。この結果、着信待ち画面で表示されていた日付および現在時刻が消去される。
【0097】
ステップS13でホールドキー24bの操作ありと判別されると、ステップS15でゲームCPU起動フラグをリセットするとともに、ステップS17でLCD制御データのLCNT0に“0”をセットする。これによって、電話モードが開始される。ステップS17の処理が完了すると、着信待ち画面をLCD18に表示すべく、ステップS19で図28および図29に示すサブルーチンを処理する。
【0098】
まず、図28に示すステップS131でLCD制御データのLCNT5を“0”に更新して、LCD18の表示をオフ状態とする。次に、ステップS133,S135およびS137の各々で、フレームメモリレジスタ80aにフレームメモリ86用Xアドレス,フレームメモリ86用Yアドレスおよび1ドット分の2値画像データをセットする。ステップS133およびS135で設定されるアドレスデータはフレームメモリ86に形成されたエリア2の先頭アドレスを示し、ステップS137で設定される2値画像データはこの先頭アドレスに書き込むデータである。ステップS139ではエリア2への2値画像データの書き込みが完了したかどうか判断し、YESとの判断結果が得られるまでステップS137の処理を繰り返す。これによって、着信待ち画面を形成する日付および現在時刻の2値画像データがフレームメモリ86のエリア2に書き込まれていく。
【0099】
続くステップS141〜S147の各々では、フレームメモリ88用Xアドレス,フレームメモリ88用Yアドレスおよび1ドット分のカラー画像データをフレームメモリレジスタ80aにセットする。ステップS141およびS143でセットするXアドレスおよびYアドレスはフレームメモリ88に形成されたエリア2の先頭アドレスを示し、ステップS145でセットされた1ドット分のカラー画像データはこの先頭アドレスに書き込むべき画像データである。ステップS147では、エリア2へのカラー画像データの書き込みが完了したかどうか判断し、書き込みが完了していなければステップS145に戻るが、書き込みが完了すればステップS149に進む。これによって、着信待ち画面を形成するゲームキャラクタのカラー画像データがフレームメモリ88に描画される。
【0100】
続いて、ステップS149でエリア2用パレットデータ1をパレット制御レジスタ80cにセットし、ステップS151〜S155の各々で合成開始ラインデータ,合成終了ラインデータおよび画像開始ラインデータを出力制御レジスタ80bにセットし、その後ステップS157でLCD制御データのLCNT5を“1”に戻す。これによって、図2に示す着信待ち画面がLCD18に表示される。
【0101】
ステップS21でダイヤル操作ありと判別されると、まずステップS23で図27に示すサブルーチンを処理する。ただし、このときフレームメモリ86に描画される2値画像データは、相手方の電話番号を示す画像データである。このため、LCD18には、日付および現在時刻に代えて相手方の電話番号が表示される。ステップS23の処理が完了すると、ステップS25で通話処理を行なうとともに、ステップS27でホールドキー24bの操作の有無を判別する。そして、ホールドキー24bが操作されない限りステップS25の処理を繰り返し、ホールドキー24bが操作されたときステップS29で図27に示すサブルーチンを再度処理する。このとき、フレームメモリ86には日付および現在時刻を示す2値画像データが描画され、この結果、LCD18の表示は、相手方の電話番号から日付および現在時刻に更新される。
【0102】
ステップS35で電話着信ありと判別されると、ステップS37でゲームCPU起動フラグの状態を判別する。ここでゲームCPU起動フラグがリセット状態であれば、そのままステップS43に進む。一方、ゲームCPU起動フラグがセット状態であれば、ステップS39で図15に示すゲームキーレジスタ3のスタートキービットKO6を“1”にセットするとともに、ステップS41で図14に示すLCD制御データのLCNT4および3を“11”にセットしてからステップS43に進む。ステップS39の処理によって、*キー24d(スタートキーとして機能)の操作に関係なくスタートキービットKO6がセットされ、ゲームはポーズ状態に移行する。また、ステップS41の処理によって、ゲーム画面のトーンがアップされる。
【0103】
ステップS43では、図27に示すサブルーチンを処理する。このとき、フレームメモリ86には“着信中”との着信メッセージおよび発信元の電話番号を示す2値画像データが描画される。続いて、ステップS45でスピーカ48から着信音を発生し、ステップS47でフックキー24aの操作の有無を判別する。そして、フックキー24aが操作されれば、ステップS49で着信音の出力を停止し、ステップS51で通話処理を行なう。ステップS53ではホールドキー24bの操作の有無を判別し、ホールドキー24bが操作されない限りステップS51の通話処理を繰り返す。
【0104】
ホールドキー24bが操作されると、ステップS53からステップS55に進み、ゲームCPU起動フラグの状態を判別する。ここでゲーム起動フラグがリセット状態であればそのままステップS59に進むが、ゲーム起動フラグがセット状態であれば、ステップS57でLCD制御データのLCNT4および3を“10”にセットしてから、つまりゲーム画面のトーンを元に戻してから、ステップS59に進む。ステップS59では図27に示すサブルーチンを処理し、これによって全ドットが“0”を示す2値画像データがフレームメモリ86に書き込まれる。LCD18に表示された着信メッセージおよび発信元の電話番号は、ステップS59の処理によって消去される。ステップS59の処理が完了すると、ステップS31に進む。
【0105】
ステップS5,S13,S21およびS35のいずれにおいてもNOと判断されたときは、まずステップS61およびS63でバッテリ残量および受信状態を検出し、ステップS65で今日の日付および現在時刻を検出する。続いてステップS67で図30に示すサブルーチンを処理し、ステップS67の処理が完了すると、ステップS31に進む。
【0106】
図30を参照して、まずステップS161でカウント値Nを“1”にセットし、次にステップS163およびS165の各々でフレームメモリ86用Xアドレスおよびフレームメモリ86用Yアドレスをフレームメモリレジスタ80aにセットする。さらに、ステップS167で1ドット分の2値画像データを同じフレームメモリレジスタ80aにセットする。ステップS163およびS165でセットされるアドレスデータはフレームメモリ86に形成されたエリアNの先頭アドレスであり、ステップS167でセットされる2値画像データはこの先頭アドレスに書き込むデータである。ステップS169ではエリアNへの2値画像データの書き込みが完了したかどうか判断し、NOであればステップS167の処理を繰り返す。ステップS169でYESと判断されるとステップS171でカウント値Nが“2”であるかどうか判断し、NOであればステップS173でカウント値NをインクリメントしてからステップS163に戻る。
【0107】
この結果、ステップS163〜S171の処理が2回繰り返され、フレームメモリ86に形成されたエリア1および2の各々に2値画像データが書き込まれる。エリア1には受信状態およびバッテリ残量のキャラクタを示す2値画像データが格納され、エリア2には今日の日付および現在時刻のキャラクタを示す2値画像データが格納される。各々のキャラクタには、ステップS61〜S67で検出された受信状態,バッテリ残量,日付およびバッテリ残量が反映される。
【0108】
ステップS171でYESと判断されると、ステップS175,S177およびS179でエリア1用パレットデータ0,エリア1用パレットデータ1およびエリア2用パレットデータをパレット制御レジスタ80cにセットする。フレームメモリ86に格納された2値画像データは、セットされたエリア1用パレットデータ0,エリア1用パレットデータおよびエリア2用パレットデータ1による色付け処理を経て、LCD18に出力される。LCD18のエリア1には、現時点の受信状態,現時点のバッテリ残量が表示され、エリア2には今日の日付および現在時刻を示すキャラクタが表示される。
【0109】
図22に戻って、ステップS31ではゲームCPU起動フラグの状態を判別し、リセット状態であればそのままステップS5に戻る。一方、ゲームCPU起動フラグがセット状態であれば、割り込み要求が割り込みレジスタ1にセットされているかどうかをステップS33で判別する。そして、割り込み要求がセットされていなければ、上述のリセット状態と同様、そのままステップS5に戻る。したがって、電話モードが設定されているとき、ならびにゲームモードが設定されているが割り込み要求が与えられないときは、図24に示すステップS69以降の処理を行なうことなく、ステップS5〜S67の処理を繰り返す。
【0110】
割り込みレジスタ1に割り込み要求がセットされていれば、ステップS69でFIFOレジスタ1の設定値を検出するとともに、検出された設定値の内容をステップS71およびS75の各々で判別する。検出された設定値の内容がキー転送依頼であるときはステップS73でキー転送処理を行ない、検出された設定値の内容がFEP(Front End Processing)転送依頼であればステップS77でFEP転送処理を行ない、そして検出された設定値の内容が他の依頼であればステップS79で対応する処理を行なう。ステップS73,S77またはS79の処理を終えると、ステップS3に戻る。なお、キー転送処理は、*キー24dおよび#キー24eへのスタート機能およびセレクト機能の割り当てのために電話CPUコア28a側で行なわれる処理であり、FEP転送処理は、プレイヤ名の入力のために電話CPUコア28a側で行なわれる処理である。
【0111】
ステップS73におけるキー転送処理は、図31に示すサブルーチンに従う。
まずステップS181でFIFOレジスタ1から設定値を検出し、検出した設定値がエンドコードであるかどうかをステップS183で判別する。図32を参照して、FIFOレジスタ1にキー転送依頼が設定されている場合、このキー転送依頼の次には電話キー24のいずれかを示すキーコードが設定され、さらにこのキーコードに割り当てたい機能を示す機能情報が、キーコードの次に設定される。エンドコードは、このようなキーコードおよび機能情報の繰り返しの後に設定される。
【0112】
したがって、ステップS181ではキーコードが検出され、最初のステップS183ではNOと判断される。ステップS185では、検出された設定値つまりキーコードと一致するキー項目を図33に示す機能割り当てテーブル34a(SRAM34に形成)の中から特定する。たとえば、キーコードの下位4桁が“1010”であれば“#キー”が特定され、キーコードの下位4桁が“1011”であれば“*キー”が特定される。ステップS187ではFIFOレジスタ1の設定値を再度検出する。上述のように、キーコードに続く設定値は機能情報であり、ステップS187では機能情報が検出される。ステップS189では、検出された機能情報をステップS185で特定されたキー項目に割り当てる。ステップS189の処理が完了すると、ステップS191でゲームキーレジスタ3の対応するビットに“0”を設定してからステップS181に戻る。
【0113】
たとえば、“#キー”を示すキーコードに続いて“セレクト”を示す機能情報(下位8ビットが“10000000”)が検出されたときは、機能割り当てテーブル34aの“#キー”の項目にセレクト機能が割り当てられ、図15に示すゲームキーレジスタ3のKO7に“0”が設定される。また、“*キー”を示すキーコードに続いて“スタート”を示す機能情報(下位8ビットが“01000000”)が検出されたときは、機能割り当てテーブル34aの“*キー”の項目にスタート機能が割り当てられ、ゲームキーレジスタ3のKO6に“0”が設定される。
【0114】
ステップS181で検出された設定値がエンドコードを示すときは、ステップS183を経てステップS193に進み、図9に示す電話キーレジスタ28bを参照して電話キー24のいずれが操作されたかを判別する。ステップS195では、判別された操作キーに割り当てられた機能情報を機能割り当てテーブル34aから検索し、ステップS197では、機能情報が機能割り当てテーブル34aから発見されたかどうかを判別する。
【0115】
図33によれば、“#キー”および“*キー”以外に、数字キー24cを示すキー項目も機能割り当てテーブル34aに設けられており、キー項目の中には機能情報が割り当てられていない項目も存在しうる。このため、機能情報を発見できたかどうかをステップS197で判断するようにしている。そして、機能情報を発見できなければそのまま図24に示すルーチンに復帰するが、機能情報を発見できたときはステップS199でゲームキーレジスタ3の対応するビットを“1”にセットしてから図24に示すルーチンに復帰する。
【0116】
たとえば、オペレータによって“1”を示す数字キーが押されたときは、ゲームキーレジスタ3のいずれのビットも“1”にセットされないが、オペレータによって*キー24dが押されたときは、ゲームキーレジスタ3のKO6が“1”にセットされる。
【0117】
図24のステップS77におけるFEP転送処理は、図34に示すサブルーチンに従う。まずステップS201でFIFOレジスタ1からカーソル表示位置データを検出し、次にステップS203で図27に示すサブルーチンを処理する。
このときフレームメモリ86にエリア2に描画される2値画像データはカーソルを示す画像データである。カーソルの描画位置はカーソル表示位置データに基づいて決定され、2値画像データは図35(A)に示す要領でフレームメモリ86に格納される。
【0118】
一方、図35(B)に示す“名前を入力してください”の案内メッセージおよび名前入力枠を示すカラー画像データは、ゲームCPU40によってフレームメモリ88に描画される。この結果、図35(C)に示すプレイヤ名入力画面がLCD18に表示される。
【0119】
ステップS203の処理を終えると、ステップS205で電話キーレジスタ28bおよびゲームキーレジスタ2の設定値を検出し、続くステップS207でAボタン22bの操作の有無を判別する。ここでNOであれば、電話キー24が操作されたとみなしてステップS209に進み、FEP処理を行なう。FEP処理を終えると、ステップS203に戻る。FEP処理によって電話キー24の操作に対応する文字列が生成され、生成された文字列は続くステップS203の処理によってLCD18に表示される。
【0120】
たとえば、電話キー24を操作して“やまだ”と入力してカナ漢字変換を行ない、さらに“たろう”と入力すると、フレームメモリ86には図36(A)に要領で2値画像データが描画され、LCD18上の名前入力枠には図36(C)に示すように“山田たろう”の文字が表示される。カーソルは、“たろう”を指向する。
【0121】
名前入力の完了後、オペレータによってAボタン22bが操作されると、ステップS207でYESと判断し、ステップS211およびS213の各々で“FEP結果送付”および作成された文字列に対応するJISコードをFIFOレジスタ2にセットする。ステップS215では割り込みレジスタ2に割り込み要求をセットし、ステップS217では図27に示すサブルーチンを処理する。ステップS217の処理を終えると、図24に示すルーチンに復帰する。
【0122】
ステップS217では全ビットが“0”を示す2値画像データがフレームメモリ86のエリア2に描画され、フレームメモリ86には受信状態およびバッテリ残量を示すキャラクタの2値画像データのみが残る。ただし、後述するゲームCPU40の処理によって、“山田太郎”を示すカラー画像データが図37(B)に示す要領でフレームメモリ88に描画され、LCD18には図37(C)に示すプレイヤ名入力画面が表示されることとなる。
【0123】
ゲームCPUコア50は、図38〜図41に示すフロー図を処理する。まずステップS221でゲームCPU起動フラグの状態を判別し、セット状態になったときにステップS223でゲームCPU表示処理を行なう。このゲームCPU表示処理は、図40に示すサブルーチンに従う。
【0124】
図40を参照して、まずステップS271で背景画像データを形成する静止キャラクタデータをVRAM72にセットし、ステップS273で静止キャラクタのパレットデータをカラーパレットRAM68にセットする。続いて、今回表示すべき画面がオブジェクト画像データを出力すべき画面であるかどうかをステップS275で判別し、NOであればそのままステップS283に進むが、YESであればステップS277〜S281の処理を経てステップS283に進む。たとえば図4に示すゲーム画面についてはオブジェクト画像(動きキャラクタ)を表示する必要があり、このときは、ステップS277に進む。一方、図3に示すメニュー画面や図6(A)および図6(B)に示すプレイヤ名入力画面では背景画像のみを表示すればよく、このときはステップS283に進む。
【0125】
オブジェクト画像を表示する場合は、まずステップS277で動きキャラクタデータをVRAM74にセットし、ステップS279で動きキャラクタのパレットデータをカラーパレットRAM68にセットする。さらにステップS281で動きキャラクタのアトリビュートをOAM76にセットし、ステップS281の処理が完了するとステップS283に進む。
【0126】
ステップS283では背景画像およびオブジェクト画像の出力に関する設定値をレジスタ70にセットし、続くステップS285では1フレーム分の処理が完了したかどうか判断する。ここでNOであればステップS271に戻り上述の処理を繰り返すが、YESであれば上階層のルーチンに復帰する。
【0127】
PPU78は、レジスタ70の設定値に応じて、静止キャラクタデータにカラーパレットRAM68のパレットデータに従う色付けを施し、さらに必要に応じて動きキャラクタデータにもカラーパレットRAM68のパレットデータに従う色付けを施す。色付けを施されたカラー画像データはLCDコントローラ84によってフレームメモリ88に書き込まれ、その後同じLCDコントローラ84によってLCD18に出力される。この結果、カラー画像がLCD18に表示される。
【0128】
図38に示すステップS223におけるゲームCPU表示処理では、図3に示すようなメニュー画面がLCD18に表示される。このメニュー画面は、静止キャラクタによって形成される。LCD18に表示されたメニュー画面の中から所望のゲームが選択されると、ステップS225からステップS227に進む。ステップS227〜S237の各々では、キー転送依頼,“#キー”を示すキーコード,“セレクト”を示す機能情報,“*キー”を示すキーコード,“スタート”を示す機能情報およびエンドコードをFIFOレジスタ1にセットする。エンドコードの設定が完了すると、ステップS239で割り込み要求を図13に示す割り込みレジスタ1に設定する。この結果、電話CPUコア28aによって上述のキー転送処理が実行され、#キー24eにセレクト機能が割り当てられるとともに、*キー24dにスタート機能が割り当てられる。
【0129】
ステップS241では、選択されたゲームに関連するBGMデータの出力をSPU64に命令する。スピーカ48からは、このBGMデータに基づくBGMが出力される。続くステップS243では、ゲームキーレジスタ1の設定値を検出する。そして、図15に示すK0〜K7のいずれのビットが“1”にセットされているかを、ステップS245,S251およびS261の各々で判別する。
【0130】
セレクトキーに対応するK7が“1”にセットされているときはステップS245でYESと判断し、ステップS247でLCD18の表示がメニュー画面であるかどうか判別する。LCD18の表示がメニュー画面でなければ、そのままステップS243に戻り、この結果、#キー24dの操作は無効とされる。一方、LCD18の表示がメニュー画面であれば、ステップS249におけるセレクト処理を経てステップS243に戻る。
【0131】
スタートキーに対応するK6が“1”にセットされているときはステップS251でYESと判断し、ステップS253でゲームにポーズをかける。具体的には、K6ビットを“0”に戻し、SPU64に対してサウンド出力を停止させ、そして現時点のゲームデータをフラッシュメモリ54に格納する。ステップS255ではゲームキーレジスタ1の設定値を検出し、ステップS257ではスタートキーに対応するK6が“1”を示すかどうか判別する。ここで、YESと判断されない限りステップS255およびS257の処理が繰り返され、この間ゲーム画面の停止状態が続く。ステップS257でYESと判断されると、ステップS259でポーズ状態を解除し、ステップS243に戻る。この結果、ゲーム画面の動きおよびBGMの出力が再開される。
【0132】
なお、ステップS253でゲームデータを格納することによって、電話終了後に何らかの原因(たとえば電池の消耗)でポーズ状態から復帰できないときでも、別の操作(たとえば再起動)によって中断時点からゲームを再開することができる。
【0133】
図15に示すK6およびK7以外のビットが“1”にセットされているときはステップS261でYESと判断し、ステップS263,S265およびS267の各々でゲーム処理,ゲームCPU表示処理および効果音出力処理を行なう。
ステップS263におけるゲーム処理では、カラーパレットRAM68,レジスタ70,VRAM72および74ならびにOAM76の設定が、必要に応じて更新される。ステップS265におけるゲームCPU表示処理では、図4に示すようなスクリーン,静止オブジェクトおよび動きキャラクタからなるゲーム画面がLCD18に表示される。ステップS267の効果音出力処理では、効果音データがSPU64から出力される。
【0134】
なお、図15に示すK0〜K7のいずれも“0”であれば、ステップS261でNOと判断し、そのままステップS243に戻る。
【0135】
ステップS263におけるゲーム処理の途中でプレイヤの名前を入力する場面が生じると、ゲームCPUコア50は図41に示すサブルーチンを処理する。まず、ステップS291で図40に示すゲームCPU表示処理を行なう。これによって、図35(B)に示すような“名前を入力してください”のメッセージおよび名前入力枠のカラー画像データがフレームメモリ88に書き込まれ、LCD18には図35(C)に示す名前入力画面が表示される。ただし、ステップS291が完了した時点ではカーソルはまだ表示されない。
【0136】
ステップS293ではFEP転送依頼をFIFOレジスタ1にセットし、ステップS295ではカーソル表示位置データをFIFOレジスタ1にセットし、ステップS295の処理が完了すると、ステップS297で割り込み要求を割り込みレジスタ1にセットする。これによって、電話CPUコア28a側でFEP転送処理が行なわれ、カーソルが図35(C)に示す要領で名前入力枠内に表示される。
【0137】
ステップS299では、割り込み要求が割り込みレジスタ2にセットされているかどうか判別する。ここでYESと判断されると、FIFOレジスタ2の設定値(FEP結果送付)をステップS301で検出し、ステップS303でFIFOレジスタ2の設定値(JISコード)を検出する。さらに、検出されたJISコードに基づいて名前表示枠内に名前を表示すべく、ステップS305でゲームCPU表示処理を行なう。これによって、図37(B)に示すようなメッセージ,名前表示枠および名前のカラー画像データがフレームメモリ88に描画され、LCD18には図37(C)に示すような名前入力画面が表示される。名前を示すカラー画像データの描画位置は、上述のカーソル表示位置データに基づいて決定する。ステップS305の処理が完了すると、上階層のルーチンに復帰する。
【0138】
以上の説明から分かるように、ゲームCPUコア50は必要に応じてゲーム処理を実行し、電話CPUコア28aは電話処理を常時実行する。また、電話CPUコア28aには*キー24dおよび#キー24eが割り当てられ、ゲームキーレジスタ1には、スタート機能(ポーズ機能)が割り当てられたK6ビットおよびセレクト機能が割り当てられたK7ビットが設けられる。
【0139】
ここで、ゲームCPUコア50は、*キー24dを示すキー情報をK6ビットを示すビット情報とともに電話CPUコア28aに転送し、#キー24eを示すキー情報をK7ビットを示すビット情報とともに電話CPUコア28aに転送する。電話CPUコア28aは、これらのキー情報およびビット情報を取り込み、機能割り当てテーブル34aに登録する。そして、*キー24dが操作されるとゲームキーレジスタ1のK6ビットに“1”を設定し、#キー24eが操作されるとゲームキーレジスタ1のK7ビットに“1”を設定する。ゲームCPUコア50は、K6ビットが“1”を示すときスタート機能を実行し、K7ビットが“1”を示すときセレクト機能を実行する。
【0140】
このように、電話CPUコア28aに接続された特定キーが操作されると、ゲームCPUコア50において特定機能に関連する処理が実行される。つまり、ゲームCPUコア50の特定機能に関連する処理は電話CPUコア28aに接続された特定キーの操作に応じて実行され、これによってキー入力の多様化が実現できる。
【0141】
ゲームCPUコア50にはまた、カラー画像データを格納するフレームメモリ88が割り当てられる。LCD18には、このフレームメモリ88に格納されたカラー画像データに基づくカラー画像が表示される。また、電話CPUコア28aに割り当てられた電話キー24は、文字入力機能を持っている。
【0142】
電話キー24の操作によって文字が入力されると、電話CPUコア28aは、入力文字を示す文字コードをゲームCPUコア50に転送する。ゲームCPUコア50は、電話CPUコア28aから文字コードを取り込み、取り込んだ文字コードに基づく文字を示すカラー画像データをフレームメモリ88に書き込む。つまり、電話CPUコア28aに接続された電話キー24が操作されると、このキー操作による入力文字を示すカラー画像データがゲームCPUコア50によってフレームメモリ88に書き込まれる。
【0143】
電話CPU28aにはさらに、2値画像データを格納するフレームメモリ86が割り当てられ、ディスプレイは、カラー画像に加えてフレームメモリ86に格納された2値画像データに基づく画像を表示する。
【0144】
このとき、電話CPUコア28aは、入力文字を示す2値画像データをフレームメモリ86に書き込み、確定指示が与えられると(Aボタン22bが操作されると)、この入力文字に対応するキーコードをゲームCPUコア50に転送するとともに、フレームメモリ86から2値画像データを消去する。これによって、2値画像データに基づく画像(入力文字)が消去される代わりに、カラー画像データに基づくカラー画像(同じ入力文字)がLCD18に表示される。
【0145】
なお、ゲームCPUコア50は、文字コードの取り込みに先立って2値画像データの書き込み位置を示す位置情報(カーソル表示位置データ)を電話CPUコア28aに転送する。このため、電話CPUコア28aは、転送されたカーソル表示位置データに基づいて2値画像データをフレームメモリ86に書き込む。ゲームCPUコア50はまた、文字コードに基づく文字を示すカラー画像データを2値画像データの書き込み位置に関連付けてフレームメモリ88に書き込む。
【0146】
このように、ゲームCPUコア50は、電話CPUコア28aに割り当てられた電話キー24の操作に応答して任意の文字をLCD18に表示する。このため、キー入力の多様化が可能となる。
【0147】
なお、この実施例では、図16に示すようにエリア1および2を形成し、図17に示す要領でエリア1に受信状態およびバッテリ残量を示すキャラクタを表示するようにした。しかし、エリア1および2を図42に示すように形成するようにしてもよい。
【0148】
また、この実施例では、ゲーム中に着信があったとき、ゲーム画面のトーンをアップさせるようにしているが、ゲーム画面のトーンはダウンさせるようにしてもよい。
【0149】
また、この実施例では、ゲームのスタートキー機能およびセレクトキー機能を電話キー(#および*)に割り当てるようにしたが、ゲームの他の機能を電話キーに割り当てるようにしてもよい。
【図面の簡単な説明】
【図1】この発明の一実施例を示す外観図である。
【図2】着信待ち画面の一例を示す図解図である。
【図3】メニュー画面の一例を示す図解図である。
【図4】ゲーム画面の一例を示す図解図である。
【図5】着信案内画面の一例を示す図解図である。
【図6】(A)はプレイヤ名を入力している途中のプレイヤ名入力画面の一例を示す図解図であり、(B)はプレイヤ名の入力が完了した後のプレイヤ名入力画面の一例を示す図解図である。
【図7】図1実施例の構成を示すブロック図である。
【図8】ゲームCPUの構成を示すブロック図である。
【図9】キーコントローラおよびその周辺の構成を示すブロック図である。
【図10】LCDコントローラおよびその周辺の構成を示すブロック図である。
【図11】画像合成回路の構成を示すブロック図である。
【図12】ゲームCPUコアがアクセスできるメモリのマッピング状態を示す図解図である。
【図13】レジスタ80の構成を示す図解図である。
【図14】LCD制御データの構成を示す図解図である。
【図15】ゲームキーレジスタ1〜3の構成を示す図解図である。
【図16】LCD表示画面に形成されるエリアを説明した図解図である。
【図17】LCD表示画面に表示される色を説明した図解図である。
【図18】フレームメモリ86に描画される2値画像データの一例を示す図解図である。
【図19】フレームメモリ88に描画されるカラー画像データの一例を示す図解図である。
【図20】フレームメモリ86に描画される2値画像データの他の一例を示す図解図である。
【図21】フレームメモリ88に描画されるカラー画像データの他の一例を示す図解図である。
【図22】電話CPUコアの動作の一部を示すフロー図である。
【図23】電話CPUコアの動作の他の一部を示すフロー図である。
【図24】電話CPUコアの動作のその他の一部を示すフロー図である。
【図25】電話CPUコアの動作のさらにその他の一部を示すフロー図である。
【図26】電話CPUコアの動作の他の一部を示すフロー図である。
【図27】電話CPUコアの動作のその他の一部を示すフロー図である。
【図28】電話CPUコアの動作のさらにその他の一部を示すフロー図である。
【図29】電話CPUコアの動作の他の一部を示すフロー図である。
【図30】電話CPUコアの動作のその他の一部を示すフロー図である。
【図31】電話CPUコアの動作のさらにその他の一部を示すフロー図である。
【図32】キー転送処理時にFIFOレジスタ1に設定されるデータを示す図解図である。
【図33】機能割り当てテーブルを示す図解図である。
【図34】電話CPUコアの動作の他の一部を示すフロー図である。
【図35】(A)はプレイヤ名入力処理時にフレームメモリ86に描画される2値画像データを示す図解図であり、(B)はプレイヤ名入力処理時にフレームメモリ88に描画されるカラー画像データを示す図解図であり、(C)はLCDに表示されるプレイヤ名入力画面を示す図解図である。
【図36】(A)はプレイヤ名入力処理時にフレームメモリ86に描画される2値画像データを示す図解図であり、(B)はプレイヤ名入力処理時にフレームメモリ88に描画されるカラー画像データを示す図解図であり、(C)はLCDに表示されるプレイヤ名入力画面を示す図解図である。
【図37】(A)はプレイヤ名入力処理時にフレームメモリ86に描画される2値画像データを示す図解図であり、(B)はプレイヤ名入力処理時にフレームメモリ88に描画されるカラー画像データを示す図解図であり、(C)はLCDに表示されるプレイヤ名入力画面を示す図解図である。
【図38】ゲームCPUコアの動作の一部を示すフロー図である。
【図39】ゲームCPUコアの動作の他の一部を示すフロー図である。
【図40】ゲームCPUコアの動作のその他の一部を示すフロー図である。
【図41】ゲームCPUコアの動作のさらにその他の一部を示すフロー図である。
【図42】この発明の他の実施例に関する動作の一部を示す図解図である。
【図43】この発明の他の実施例に関する動作の他の一部を示す図解図である。
【符号の説明】
10…ゲーム機能付携帯通信端末
18…LCD
20…ゲーム起動キー
22…ゲームキー
24…電話キー
28…電話CPU
40…ゲームCPU
50…ゲームCPUコア
64…音声処理ユニット
68…カラーパレットRAM
70,80…レジスタ
72,74…VRAM
76…OAM
78…画像処理ユニット
82…キーコントローラ
84…LCDコントローラ
86,88…フレームメモリ
[0001]
[Industrial application fields]
The present invention relates to an electronic device, and more particularly to an electronic device in which processing corresponding to a key operation is performed by a plurality of processors.
[0002]
[Prior art]
An example of a conventional electronic device of this type is Japanese Patent Publication No. 1-20464 [G06F15 / 16, 3/02] published on April 17, 1989. In this conventional technology, a keyboard is connected to the master processor, keyboard data is supplied to the slave processor via the master processor, and keyboard data can be supplied to both the master processor and the slave processor by a single keyboard unit. is there.
[0003]
[Problems to be solved by the invention]
However, with such a conventional technique, the system can be simplified, but the input cannot be diversified. In other words, none of the processors could enter keys other than the keyboard.
[0004]
Therefore, a main object of the present invention is to provide an electronic device that allows various inputs.
[0005]
[Means for Solving the Problems]
  A first invention is a first processor for executing a first process.The second2nd processor which performs 2 processingA plurality of first keys connected to the first processor,And connected to the second processorMultiple secondKey, the first process isRequest processing for requesting the second processor to set at least one of the plurality of second keys as a specific keyThe second process includesKey operation determination processing to determine whether or not a specific key is operated,andFirst specific signal generation processing for generating a specific signal to be given to the first processor when a specific key is operatedIncludingOnly,The first processor executes a first process in response to an operation of the first key, and executes a specific function process in the first process when a specific signal is input during the execution of the first process.It is an electronic device.
[0007]
[Action]
  According to the first invention,Multiple first keys are connectedThe first processor executes the first process,Multiple secondThe second processor to which the key is connected executes the second process.The request process included in the first process requests the second processor to set at least one of the plurality of second keys as the specific key. The key operation determination process included in the second process isDetermine whether a specific key has been operated,The first specific signal generation processA specific key is operatedShould be given to the first processorGenerate a specific signal. The first processor isThe first process is executed according to the operation of the first key, and during the execution of the first processSpecific signalIs input, in the first processSpecific functionprocessingRun.
[0008]
In one aspect of the present invention, a specific function is assigned to a specific bit of a register. The specific signal is a signal for setting a predetermined value in a specific bit of the register, and the first processor executes a specific function when the specific bit of the register indicates a predetermined value. Preferably, the first processor notifies the second processor of key information indicating a specific key and bit information indicating a specific bit. At this time, the second processor determines whether or not the specific key is operated based on the key information, and sets a predetermined value in the specific bit of the register based on the bit information.
[0009]
  In another aspect of the present invention, the first process is a game process that is executed as necessary, and the second process is a telephone process that is always executed. At this time, the specific function is related to the game processing,SecondThe key is associated with phone processing when game processing is not being performed. Preferably, the specific function is a pause function that pauses a game that is being executed, and the second processor also generates a specific signal when detecting an incoming call.
[0016]
【The invention's effect】
  According to the first invention, connected to the second processorSecondWhen a key is operated, a specific function is performed in the first processorSpecific function processing to executeIs executed. In other words, the first processorSpecific function processing performed byWas connected to the second processorSecondIt is executed according to the operation of the key, and thereby diversification of key input can be realized.
[0018]
The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.
[0019]
【Example】
Referring to FIG. 1, a mobile communication terminal with game function 10 of this embodiment includes a main body 12 formed in an elongated rectangular parallelepiped shape. An antenna 14 projects from the upper surface of the main body 12, and a speaker 16, a color LCD 18, a game activation key 20, a game key 22, a telephone key 24, and a microphone 26 are disposed on the front surface of the main body 12.
[0020]
The game key 22 includes a cross key 22a for instructing the main character developing the game to move in a predetermined direction (for example, forward, backward, direction change, jump, etc.), and a predetermined behavior (for example, acquisition of an item or target) A button 22b and B button 22c for instructing the Further, as the telephone key 24, there are a hook key 24a, a hold key 24b, a numeric key 24c indicating "0" to "9", a * key 24d, and a # key 24e.
[0021]
In the incoming call waiting state, an incoming call waiting screen as shown in FIG. According to FIG. 2, today's date and current time and the game character related to the production of the applicant are displayed at the center of the screen, and a character indicating the reception state and the remaining battery level is displayed at the top of the screen. When the operator performs a dial operation using the hook key 24a and the numeric key 24c while waiting for an incoming call, the dialed telephone number is displayed on the LCD 18 and a calling process for the other party is performed. When the other party performs an incoming operation for this call, a protocol is established and a call can be made. On the other hand, when there is an incoming call from the other party, the incoming message and the telephone number of the caller are displayed on the LCD 18 and a ring tone is output from the speaker 48 (see FIG. 7) provided on the back of the main body 12. Here, when the operator operates the hook key 24a, the output of the ringing tone is stopped and the protocol is established with the caller to be in a call ready state.
[0022]
When the operator operates the game activation key 20 while waiting for an incoming call, the telephone mode is switched to the game mode. First, a menu screen as shown in FIG. 3 is displayed. When the operator selects a desired game (for example, Super Mario DX) from this menu screen, the selected game is started. The display on the LCD 18 is updated to a game screen as shown in FIG. 4, and BGM is output from the speaker 48 on the back. The game proceeds in response to the operation of the game key 22 described above, and sound effects are output from the speaker 48 as necessary.
[0023]
In this embodiment, in the game mode, the * key 24d functions as a start key and the # key 24e functions as a select key (another telephone key may function as a start key or a select key). For this reason, the game in progress is interrupted / resumed according to the operation of the * key 24d. In other words, if the * key 24d is pressed while the game is in progress, the state shifts to a pause state, the game screen stops moving, and the BGM output is interrupted. * When the key 24d is pressed again, the pause state is released, the game screen starts moving, and the output of BGM is resumed.
Further, on the above-described menu screen or a screen for prompting the player to select, the cursor on the screen is moved by operating the # key 24e.
[0024]
While the game is in progress, incoming call detection is always performed. When there is an incoming call, the movement of the game screen stops and the output of BGM is stopped. That is, the game is paused in response to the incoming call. Further, a ringtone is output from the speaker 48 instead of BGM, and the display on the LCD 18 is updated to an incoming call screen as shown in FIG.
According to FIG. 5, the tone (tone) of the game screen is changed, and an incoming message “Incoming” and the telephone number of the caller are displayed on the game screen. Also at this time, the output of the ringtone is stopped by the operation of the hook key 24a, the protocol is established, and a call is ready. When the call ends, the tone is restored and the game screen shown in FIG. 4 is displayed again.
[0025]
However, the pause state continues even after the call ends, and the pause state is canceled in response to the operation of the * key 24d. That is, when a call is received, the game is paused without operating the * key 24d, but the paused state is canceled by operating the * key 24d. * By releasing the pause state by operating the key 24d, the game screen starts to move and the output of BGM is resumed as described above.
[0026]
When it becomes necessary to register the player's name in the middle or at the start of the game, a player name input screen as shown in FIGS. 6A and 6B is displayed on the LCD 18. At this time, the player name is displayed in the name input frame on the screen by operating the numeric key 24c. That is, each of the numeric keys 24c is assigned 50 hiragana, whole “°”, and “ten” “ten”, and the operation of the numeric keys 24c performs a desired name input process.
[0027]
Specifically, the inside of the main body 12 is configured as shown in FIG. The game activation key 20 and the telephone key 24 are directly connected to a CPU (telephone CPU) 28 for telephone processing. The antenna 14 is connected to the telephone CPU 28 via the transmission / reception circuit 32, and the speaker 16 and the microphone 26 are connected to the telephone CPU 28 via the audio codec 30. The speaker 48 is connected to the telephone CPU 28 via the adder 46. The SRAM 34 and the flash memory 36 are connected to the telephone CPU 28 via an 8-bit bus 38. The flash memory 36 stores a telephone processing program (telephone program) and telephone directory data, and the SRAM 34 is used as a work RAM when processing the telephone program.
[0028]
On the other hand, the game key 22, the LCD 18, the SRAM 42, and the external terminal S are directly connected to a game processing CPU (game CPU) 40, and a speaker 48 is connected via an adder 46 and an amplifier 44. The SRAM 42 is used as an external work RAM when processing a game processing program (game program).
[0029]
In addition to the exchange of data via the 8-bit bus 38, an interrupt request and direct exchange of communication data are performed between the telephone CPU 28 and the game CPU 40. Communication data is also exchanged with an external device (not shown) connected through the external connection terminal S.
[0030]
The game CPU 40 is configured as shown in FIG. As the processor, there are a game CPU core 50, a sound processing unit (SPU) 64, an image processing unit (PPU) 78, and an LCD controller 84. The internal memory is provided in the system ROM 52, flash memory 54, work RAM 56, color palette RAM 68, registers 70 and 80, VRAMs 72 and 74, OAM (Object Attribute Memory) 76, frame memories 86 and 88, and key controller 82. There is a game key register 1 (see FIG. 9).
In addition to the processor and the internal memory, a UART 58 and a UART selector 60 are provided for exchanging the above communication data with the telephone CPU 28 or an external device, and an external SRAM I / F 62 is provided for accessing the SRAM 42 shown in FIG.
[0031]
The memory that the game CPU core 50 can access includes the system ROM 52, flash memory 54, work RAM 56, SRAM 42, color palette RAM 68, register 70, VRAM 72 and 74, OAM 76, game CPU control register 80d provided in the register 80, FIFO register 80e. And an interrupt register 80g (see FIG. 13) and a game key register 1 (see FIG. 9) provided in the key controller 82.
[0032]
The memory accessible by the PPU 78 is a color palette RAM 68, a register 70, VRAMs 72 and 74, and an OAM 76.
[0033]
The memories that can be accessed by the LCD controller 84 are frame memories 86 and 88, and a frame memory register 80a, an output control register 80b, and a palette control register 80c (see FIG. 13) provided in the register 80.
[0034]
Note that the SPU 64 can access a sound ROM (not shown), but a detailed description of the audio processing is omitted.
[0035]
The memory mapping seen from the game CPU core 50 is shown in FIG. 12, the system ROM 52 is assigned to “00000000h” to “0199999999h”, the SRAM 42 is assigned to “02000000h” to “0299999999h”, and the work RAM 56 is assigned to “03000000h” to “0399999999h”. Further, various registers (70, 80d, 80e, 80g, game key register 1) are assigned to “04000000h” to “0499999999h”, and a color palette RAM 68 is assigned to “05000000h” to “0599999999h”. Further, VRAMs 72 and 74 are assigned to “06000000h” to “06999999h”, OAM 76 is assigned to “07000000h” to “0799999999h”, and a game program (image) is assigned to “08000000h” to “0819999999h”.
[0036]
Also, the browser program and the monitor program stored in the flash memory 54 are assigned to “10000000h” to “Xh−1”, and the game program stored in the flash memory 54 is assigned to “Xh” to “Xh + 00199999h”. The backup stored in the flash memory 54 is assigned to Xh + 00200000h ”to“ 10400000h ”. The game CPU core 50 accesses each memory using such an address.
[0037]
Specifically describing each memory, the system ROM 52 stores a boot program for the game CPU core 50, a recovery program when the flash memory 54 is destroyed, and the like. The flash memory 54 stores the backup, game program, browser program, and monitor program as described above. The game program is downloaded from a server provided on the Internet and storing a large number of game programs. That is, if a desired game program is selected by connecting to the server using the telephone function, the selected game program is downloaded to the flash memory 54 via the telephone CPU 28. The work RAM 56 and the SRAM 42 temporarily store data obtained during the processing of the above-described program.
[0038]
The VRAM 72 stores background image data indicating a stationary character (stationary character), the VRAM 74 stores object image data indicating a character with motion (motion character), and an OAM (Object Attribute Memory) 76 Stores the motion character's attributes. For example, when the game screen shown in FIG. 4 is displayed, the background image data stored in the VRAM 72 includes still character data such as trees, mountains, and the ground. The object image data stored in the VRAM 74 includes motion character data such as a hero who jumps in the air, a mushroom that moves on the ground, and a block that floats in the air and finely moves from below.
[0039]
The color palette RAM 68 stores palette data for coloring still characters and moving characters, and the register 70 holds setting values for designating image modes and applying special effects to the screen.
[0040]
Referring to FIG. 13, frame memory register 80a holds address data and image data of frame memories 86 and 88. Specifically, the X address and Y address of the frame memory 86 and binary image data for one dot (= 1 bit) to be written at this address (X, Y), and the X address and Y address of the frame memory 88 and this Color image data for one dot (= 8 bits) to be written at the address (X, Y) is set. The setting for the frame memory register 80a is performed by the telephone CPU. In the telephone mode, the address data and image data of both the frame memories 86 and 88 are set by the telephone CPU 28, and only the address data and image data of the frame memory 86 are set by the telephone CPU 28 in the game mode.
[0041]
The output control register 80b is a register for controlling the output of image data from the LCD controller 84 to the LCD 18. In this register, composition start line data, composition end line data, image start line data, and LCD control data are set. The As shown in FIGS. 16 and 17, areas 1 and 2 are formed on the display screen, an image based on the image data drawn in the frame memory 86 is displayed in area 1, and the frame memory 86 and area 2 are displayed in area 2. A composite image based on the respective image data drawn in 88 is displayed. The synthesis start line designation data and the synthesis end line designation data indicate the start position and end position of area 2, respectively.
The image start line data is data that designates from which line in the frame memory 88 the reading of the color image data is to be started. By updating the image start line data every predetermined number of lines, it is possible to scroll the color image.
[0042]
Specifically, the LCD control data is represented by 8 bits as shown in FIG. The 0th bit (= LCNT0) is a mode selection flag, “0” indicates a telephone mode, and “1” indicates a game mode. The first bit (= LCNT1) is a flag for controlling the output / stop of the image based on the binary image data drawn in the frame memory 86. “0” indicates stop and “1” indicates output. The second bit (= LCNT2) is a flag for controlling whether or not to blend this color image when displaying an image based on the color image data drawn in the frame memory 88. “0” indicates normal. , “1” indicates blending. The fourth bit and the third bit (= LCNT4, 3) are flags for controlling the output and tone (gradation) of the image based on the color image data drawn in the frame memory 88, and “00” is the output stop, “01” indicates a tone-down, “10” indicates a unity tone, and “11” indicates a tone-up. The fifth bit (= LCNT5) is a flag for controlling display on / off of the LCD 18. “0” indicates display off, and “1” indicates display on.
The sixth and seventh bits are not used in this embodiment.
[0043]
The palette control register 80 c is a register for designating an image color based on the binary image data written in the frame memory 86. For area 1 that is not a composite area, palette data 0 for determining the background color and palette data 1 for determining the character color are set. In contrast, only the palette data 1 for determining the character color is set for the second area, which is the composite area, and the background is always a transparent color.
[0044]
The game CPU control register 80d has only a game CPU activation flag.
The game CPU activation flag is set to “1” in response to the operation of the game activation key 20, and is set to “0” in response to the operation of the hold key 24b. “1” indicates a game mode, and “0” indicates a telephone mode.
[0045]
The FIFO register 80e is a register for temporarily holding data exchanged between the game CPU 40 and the telephone CPU 28 in the game mode. Specifically, it consists of two FIFO registers 1 and 2, each having a capacity of 64 × 16 bits. Since the telephone CPU 28 of this embodiment is an 8-bit CPU, only 8 bits of the 16-bit setting data are used. However, if the FIFO registers 1 and 2 are set to 16 bits, a 16-bit telephone CPU can be handled.
[0046]
The FIFO register 1 is used for data transfer from the game CPU 40 to the telephone CPU 28, and the FIFO register 2 is used for data transfer from the telephone CPU 28 to the game CPU 40. For this reason, writing to the FIFO register 1 is performed only by the game CPU 40, and reading from the FIFO register 1 is performed only by the telephone CPU 28. Further, writing to the FIFO register 2 is performed only by the telephone CPU 28, and reading from the FIFO register 2 is performed only by the game CPU 40. The FIFO registers 1 and 2 are used in the assigning process of the start function and select function to the * key 24d and the # key 24e, and the player name input process.
[0047]
The game key register 80 f is a register that holds data related to game operations, and includes game key registers 2 and 3. The game key register 1 is provided in the key controller 80 as described above, and any of the game key registers 1 to 3 is formed of 8 bits as shown in FIG. The A button 22b is assigned to the 0th bit (= K0, KI0, KO0), the B button 22c is assigned to the 1st bit (= K1, KI1, KO1), and the 2nd to 5th bits (= K2). To K5, KI2 to KI5, and KO2 to KO5) are assigned the upward direction, the downward direction, the left direction, and the right direction of the cross key 22a. Also, a start key (* key 24d) is assigned to the sixth bit (= K6, KI6, KO6), and a select key (# key 24e) is assigned to the seventh bit.
[0048]
When the A button 22b is operated, the 0th bit is updated from “0” to “1”, and when the B button 22c is operated, the 1st bit is updated from “0” to “1”. The second bit is updated from “0” to “1” when the cross key 22a is operated upward, and the third bit is updated from “0” to “1” when the cross key 22a is operated downward. . The fourth bit is updated from “0” to “1” when the cross key 22a is operated leftward, and the fifth bit is updated from “0” to “1” when the cross key 22a is operated rightward. Is done. Further, when the * key 24d is operated, the sixth bit is updated from “0” to “1”, and when the # key 24e is pressed, the seventh bit is updated from “0” to “1”.
[0049]
The interrupt register 80g is a register that temporarily holds an interrupt request exchanged between the game CPU 40 and the telephone CPU 28. An interrupt request issued from the game CPU 40 to the telephone CPU 28 is set in the interrupt register 1, and an interrupt request issued from the telephone CPU 28 to the game CPU 40 is set in the interrupt register 2. Note that both the interrupt from the telephone CPU 28 to the game CPU 40 and the interrupt from the game CPU 40 to the telephone CPU 28 are used in the assignment process of the start function and the select function to the * key 24d and the # key 24e, and the player name input process. The
[0050]
The key controller 82 and its surroundings are configured as shown in FIG. In the game mode, as described above, the * key 24d functions as a start key, and the # key 24e functions as a select key. When the operator operates the * key 24d or the # key 24e, the predetermined bit of the telephone key register 28b is updated to “1”. The telephone CPU core 28a determines which key is operated from the set value of the telephone key register 28b. When the * key 24d is operated, the sixth bit of the game key register 3 is operated and the # key 24e is operated. If so, the seventh bit of the game key register 3 is updated to “1”.
[0051]
In the game key register 1, a logical sum of a numerical value corresponding to the operation of the game key 22 and a numerical value output from the game key register 3 is set. The game CPU core 50 inputs a set value of the game key register 1 and performs a game process according to the input set value. Therefore, not only the operation of the game key 22 but also the operation of the * key 24d and the # key 24e are reflected in the game process.
[0052]
The set value of the game key register 1 is also given to the game key register 2, and the set values of the game key registers 1 and 2 always match. Therefore, the set value of the game key register 2 changes according to the operation of the game key 22. The telephone CPU core 28a determines whether or not the A button 22b is operated from the set value of the game key register 2 when the player name is input, and performs processing according to the determination result.
[0053]
Returning to FIG. 8, the PPU 78 performs processing on the image data stored in the VRAMs 72 and 74 according to the palette data in the palette RAM 68 and the set value of the register 70, and 8-bit color image data subjected to such processing. Are output to the LCD controller 84 together with the address data. However, the background image data and the object image data are drawn in the VRAMs 72 and 74 only in the game mode, and the PPU 78 transfers the color image data and the address data to the LCD controller 84 only in the game mode.
[0054]
The LCD controller 84 is specifically configured as shown in FIG. LCNT0 of the LCD control data set in the output control register 80b is given to the selector 84b, LCNT1 is given to the read controller 84f, LCNT4 and 3 are given to the tone control circuit 84g, and LCNT2 and 5 are image synthesis circuit 84h. Given to. The synthesis start line data and the synthesis end line data set in the output control register 80b are given to the image synthesis circuit 84h, and the image start line data is given to the read controller 84c.
[0055]
Further, the area 1 pallet data 0, the area 1 pallet data 1 and the area 2 pallet data 1 set in the pallet control register 80c are given to the image composition circuit 84h, and the frame memory 86 set in the frame memory register 80a. The X address for frame, the Y address for frame memory 86, binary image data for one dot, the X address for frame memory 88, the Y address for frame memory 88, and the color image data for one dot are supplied to the frame memory transfer controller 84a.
[0056]
As described above, in the telephone mode, binary image data, its address data, color image data, and its address data are set in the frame memory register 80a. At this time, the frame memory transfer controller 84a gives the binary image data and its address data to the write controller 84e, and gives the color image data and its address data to the selector 84b. The selector 84b selects the output of the frame memory transfer controller 84a when LCNT0 is "0", that is, indicates the telephone mode. The color image data and address data output from the frame memory transfer controller 84a are provided to the write controller 84d via the selector 84b.
[0057]
On the other hand, in the game mode, only binary image data and its address data are set in the frame memory register 80a, and the frame memory transfer controller 84a gives the binary image data and address data to the write controller 84e. The color image data and the address data are given from the PPU 78 to the selector 84d. LCNT0 of the LCD control data indicates “1” in the game mode. At this time, the selector 84d selects the output from the PPU 78. Therefore, in the game mode, the output from the PPU 78 is given to the write controller 84d via the selector 84b.
[0058]
As will be described in detail later, for both binary image data and color image data, the address data indicates only the write start address. For this reason, both the write controllers 84e and 84d update the write address one dot at a time using the given address data as a reference, and sequentially add binary image data and color image data for one dot to the updated addresses. Write. As a result, binary image data and color image data corresponding to a predetermined number of dots are stored in the frame memories 86 and 88, respectively.
[0059]
Each of the frame memories 86 and 88 has a capacity capable of storing image data of 160 × 160 dots, but 1 bit is assigned to each dot of the frame memory 86, and 8 bits are assigned to each dot of the frame memory 88. Assigned. Therefore, binary image data for one dot is written to each address of the frame memory 86, and color image data for one dot is written to each address of the frame memory 88.
[0060]
When the LCD control data LCNT1 indicates “1”, the read controller 84f reads binary image data from the frame memory 86 and supplies the read binary image data to the image composition circuit 84h. On the other hand, when LCNT1 indicates “0”, reading of binary image data from the frame memory 86 is stopped. The read controller 84c specifies the read start line of the frame memory 88 based on the image start line data, and starts reading color image data from the specified read start line. The read color image data is given to the image composition circuit 84h through the tone control circuit 84g.
[0061]
The tone control circuit 84g performs the following tone control or output control in response to the numerical values indicated by the LCNTs 4 and 3. That is, if LCNT4 and 3 indicate “01”, the RGB level of the color image data is lowered (tone down), and the color image data with the tone down is supplied to the image composition circuit 84h. If the LCNTs 4 and 3 indicate “11”, the RGB level of the color image data is raised (tone up), and the color image data with the tone raised is supplied to the image composition circuit 84h. Further, if LCNT4 and 3 indicate “10”, the color image data is directly supplied to the image composition circuit 84h, and if LCNT4 and 3 indicate “00”, the output of the color image data to the image composition circuit 84h is stopped. .
[0062]
The image composition circuit 84h is configured as shown in FIG. The line counter 8402h counts the number of lines forming one frame and supplies the count value to the comparator 8403h. The comparator 8403h is also supplied with the synthesis start line data and synthesis end line data set in the output control register 80b. The comparator 8403h changes the output to a high level when the count value of the line counter 8402h matches the data value of the synthesis start line data, and when the count value of the line counter 8402h matches the data value +1 of the synthesis end line data Return the output from high level to low level. For this reason, the output of the comparator 8403h becomes a low level from the start position to the end position of the area 1 shown in FIG. 16, and becomes a high level from the start position to the end position of the area 2 shown in FIG.
[0063]
The selector 8401h selects the palette data 0 for area 1 set in the palette control register 80c when the output of the comparator 8403h is low level, and is output from the tone control circuit 84g when the output of the comparator 8403h is high level. Select color image data. The output of the selector 8401h is given to the selector 8407h.
[0064]
The blending circuit 8404h performs blending processing on the palette data 1 for area 2 set in the palette control register 80c and the color image data output from the tone control circuit 84g. The selector 8405h selects the area 2 palette data 1 when LCNT2 of the LCD control data indicates “0”, and selects the output of the blending circuit 8404h when LCNT2 indicates “1”. The output of the selector 8405h is given to the selector 8406h. The output of the comparator 8403h is also supplied to the selector 8406h. The selector 8406h selects the area 1 palette data 1 set in the palette control register 80c when the output of the comparator 8403h is at a low level, and selects the output of the selector 8405h when the output of the comparator 8403h is at a high level.
[0065]
The selector 8407h receives the binary image data read by the read controller 84h, and selects either one of the selectors 8401h and 8406h according to the data value (bit value) of each dot forming the binary image data. To do. Specifically, when the bit value indicates “0”, the output of the selector 8401h is selected, and when the bit value indicates “1”, the output of the selector 8406h is selected.
[0066]
The switch 8408h is turned off when LCNT5 of the LCD control data indicates “0”, and turned on when LCNT5 indicates “1”. Therefore, the output of the selector 8407h is output to the LCD 18 via the switch 8408h only when the LCNT5 indicates “1”.
[0067]
In area 1, selector 8401h selects area 1 pallet data 0, and selector 8406h selects area 1 pallet data 1. The selector 8407h selects the area 1 palette data 0 when each bit value of the binary image data is “0”, and selects the area 1 palette data 1 when each bit value indicates “1”. As a result, a character indicating the reception state and the remaining battery level is displayed in area 1 as shown in FIG.
[0068]
In area 2, the selector 8401h selects color image data, and the selector 8406h selects the output of the selector 8405h. When blending processing is not performed, palette data 1 for area 2 is given from selector 8405h to selector 8406h. The selector 8407h selects color image data when each bit value of the binary image data is “0”, and selects the area 2 palette data 1 when each bit value indicates “1”. As a result, for example, a character and a color image indicating the date and the current time are displayed in the area 2 as shown in FIG.
[0069]
The incoming call waiting screen shown in FIG. 2 includes binary image data indicating the reception state, remaining battery level, date and current time as shown in FIG. 18, and color image data indicating a game character as shown in FIG. . The telephone CPU 28 shown in FIG. 7 first sets address data corresponding to the head of area 1 in the frame memory register 80a and frames binary image data (displayed in area 1) indicating the reception state and the remaining battery level one dot at a time. Set in memory register 80a. Subsequently, the telephone CPU 28 sets address data corresponding to the head of area 2 in the frame memory register 80a, and sets binary image data (displayed in area 2) indicating the date and current time in the frame memory register 80a one dot at a time. To do. The LCD controller 84 repeatedly reads binary image data updated for each dot from the frame memory register 80a, and writes the read binary image data of each dot to the frame memory 86 based on the address data. As a result, the binary image data shown in FIG. 18 is obtained in the frame memory 86.
[0070]
Following the setting of the binary image data, the telephone CPU 28 sets the address data corresponding to the head of area 2 and the color image data of each dot indicating the game character in the frame memory register 80a. The LCD controller 84 repeatedly reads color image data updated for each dot from the frame memory register 80a, and writes the read color image data to the frame memory 88 based on the address data. As a result, the color image data shown in FIG. 19 is obtained in the frame memory 88.
[0071]
LCD controller 84 reads binary image data and color image data from frame memories 86 and 88, controls tone of color image data, coloration based on binary image data, synthesis of binary image data and color image data, and The composite image data is output according to the set values of the output control register 80b and the palette control register 80c. As a result, the standby screen shown in FIG.
[0072]
When the operator performs a dial operation, the telephone CPU 28 sets address data corresponding to the head of area 2 and binary image data indicating the other party's telephone number in the frame memory register 80a. The LCD controller 84 writes the binary image data in the frame memory 86 in the same manner as described above. For this reason, the binary image data indicating the date and the current time is updated with the binary image data indicating the telephone number of the other party. As a result, the date and current time displayed on the LCD 18 are also switched to the telephone number of the other party.
[0073]
The telephone CPU 28 also establishes a connection with the other party through the transmission / reception circuit 32 and the antenna 14. When the connection is established, the other party's voice data is received, and the received voice data is output from the speaker 16 via the voice codec 30.
The operator's voice data captured by the microphone 26 is output from the antenna 12 via the voice codec 30 and the transmission / reception circuit 32.
[0074]
On the other hand, when there is an incoming call through the antenna 14 and the transmission / reception circuit 32, the telephone CPU 28 sets address data corresponding to the head of area 2 and binary image data indicating the incoming message and the telephone number of the caller in the frame memory register 80a. To do. The LCD controller 84 writes the binary image data into the frame memory 86, and the binary image data indicating the date and the current time is updated by the binary image data indicating the incoming message and the telephone number of the caller. As a result, the date and current time displayed on the LCD 18 are also updated to the incoming message and the telephone number of the caller. The telephone CPU 28 also provides the ring tone data to the speaker 48 via the adder 46. A ring tone is output from the speaker 48.
[0075]
Here, when the operator performs an incoming call operation, the telephone CPU 28 stops outputting the ringtone data and establishes a connection with the caller. After the connection is established, the voice data of the other party is output from the speaker 16 via the voice codec 30 and the operator's voice data captured by the microphone 26 is transmitted via the voice codec 30 and the transmission / reception circuit 32 as described above. 12 is output.
[0076]
When the operator operates the game activation key 20 while waiting for an incoming call, the telephone CPU 28 sets a game activation flag. The telephone CPU 28 also sets the address data corresponding to the head of area 2 and the binary image data in which all the dots are “0” in the frame memory register 80a, and sets “1” in LCNT0 of the LCD control data. The LCD controller 84 writes binary image data in which all dots are “0” to the frame memory 86 based on the address data, and selects the PPU 78 as the input destination of the color image data.
[0077]
On the other hand, the game CPU core 50 draws background image data and object image data forming a game screen (color image) in the VRAMs 72 and 74, and sets the palette data of the stationary character and the moving character in the color palette RAM 68. Further, the attribute of the motion character is set in the OAM 76, and the setting values related to the background and the output of the object are set in the register 70. As a result, for example, the color image data shown in FIG. 21 is created by the PPU 78 and output to the LCD controller 84. The LCD controller 84 writes the color image data output from the PPU 78 in the frame memory 88. In each of the frame memories 86 and 88, binary image data shown in FIG. 20 and color image data shown in FIG. 21 are obtained.
[0078]
The LCD controller 84 reads binary image data and color image data from the frame memories 86 and 88 in the same manner as described above, performs tone control on the color image data according to the values of LCNT4 and LCNT of the LCD control data, and outputs a binary image. The palette data and the color image data are synthesized based on the data, the synthesis start line data, and the synthesis end line data. As a result, the game screen shown in FIG. 4 is displayed on the LCD 18.
[0079]
The game CPU core 50 also provides the telephone CPU 28 with a key code indicating the * key 24d and #key 24e and function information assigned to the * key 24d and #key 24e through the FIFO register 1 shown in FIG. Here, the function information assigned to the * key 24d indicates “start”, and the function information assigned to the # key 24e indicates “select”. Therefore, the telephone CPU 28 sets “1” to the start key bit KO6 of the game key register 3 when the * key 24d is operated, and sets the select key bit KO7 of the game key register 3 when the # key 24e is operated. Set “1”. Since each bit of the game key register 1 is set with a logical sum of a numerical value corresponding to the operation of the game key 22 and a numerical value output from the game key register 3, the game CPU core 50 sets the set value of the game key register 1. The game process corresponding to is performed.
[0080]
After the game is started, in response to the operation of the game key 22, the background image data, the object image data, and the object attributes are updated, and the setting values of the color palette register 68 and the register 70 are updated. As a result, the color image data output from the image processing unit 78 also changes, causing a movement on the game screen. On the other hand, sound effect data is output from the SPU 64 as necessary, and sound effects are generated from the speaker 48.
[0081]
When the * key 24d is operated while the game is in progress, the game CPU 50 causes the SPU 64 and the PPU 78 to stop outputting BGM data and color image data in order to shift to the pause state. As a result, the output of the BGM and the movement of the game screen are stopped. When the key 24d is operated again, the game CPU 50 activates the SPU 64 and the PPU 78 to cancel the pause state, and resumes the output of BGM data and color image data. BGM is output again from the speaker 48, and the game screen on the LCD 18 also starts to move again.
[0082]
When the menu screen is displayed while the game is in progress, the game CPU core 50 changes the set value of the register 70 in response to the operation of the # key 24e. The setting value to be changed is a setting value related to the cursor displayed on the menu screen, and the display position of the cursor is changed by this change.
[0083]
When there is an incoming call while the game is in progress, the telephone CPU 28 sets the start key bit KO6 of the game key register 3 to "1" and sets "11" to the LCD control data LCNT4, 3 in addition to the above processing. . The telephone CPU 28 also sets the binary image data indicating the incoming message and the telephone number of the caller and the address data corresponding to the head of the area 2 in the frame memory register 80a, and the ring tone data is added via the adder 46 to the speaker. 48. On the other hand, the game CPU core 50 causes the SPU 64 to stop outputting BGM data and stop its own processing in order to pause the game.
[0084]
The LCD controller 84 stores the binary image data set in the frame memory register 80a in the frame memory 86. The LCD controller 84 also reads binary image data and color image data from the frame memories 86 and 88, performs tone-up on the color image data, and palettes based on the binary image data, composition start line data, and composition end line data. Combining data and color image data. As a result, the incoming call guidance screen shown in FIG. 5 is displayed on the LCD 18, and the output of the speaker 48 is switched from BGM to the ring tone.
[0085]
When the operator performs an incoming call operation, the telephone CPU 28 stops the output of the ring tone data and establishes a connection with the caller as described above. After the connection is established, the voice data of the other party is output from the speaker 16 via the voice codec 30, and the voice data of the operator captured by the microphone 26 is output from the antenna 14 via the voice codec 30 and the transmission / reception circuit 32. .
[0086]
When the call is finished, the telephone CPU 28 resets the LCD control data LCNT4, 3 to "10" and also outputs the address data corresponding to the head of the area 2 and the binary image data in which all dots are "0" to the frame memory register 80a. Set to. As a result, the display on the LCD 18 returns to the game screen shown in FIG. However, the movement of the game screen remains stopped, and the output of BGM is also stopped. That is, the game maintains a paused state. This pause state is canceled in response to the operation of the * key 24d by the operator.
[0087]
Specifically, the telephone CPU core 28a processes the flowcharts shown in FIGS. 22 to 31 and FIG. First, in step S1, the LCD control data set in the LCD controller control register 80c is set to an initial value “110010”. That is, the LCD display on / off flag shown in FIG. 14 is set to “1”, the color image tone control flag is set to “10”, the binary image tone control flag is set to “0”, and the binary image is output. The control flag is set to “1”, and the mode selection flag is set to “0”.
[0088]
In the subsequent step S3, the subroutine shown in FIGS. 25 and 26 is processed to display the incoming call waiting screen shown in FIG. First, LCNT5 of the LCD control data is updated to “0” in step S81 shown in FIG. Thereby, the display of the LCD 18 is turned off. Next, in step S83, the count value N is set to "1", and in each of steps S85, S87, and S89, the frame memory register 80a stores the X address for the frame memory 86, the Y address for the frame memory 86, and one dot worth. Binary image data is set. Specifically, the head address of area N (corresponding to area N of the display screen) formed in the frame memory 86 and binary image data for one dot to be written to this head address are set in the frame memory register 80a. In a succeeding step S91, it is determined whether or not the writing of the binary image data to the area N is completed. If NO, the process of step S89 is repeated. If YES, the process proceeds to step S93.
[0089]
The LCD controller 84 first reads the head address data and binary image data set in the frame memory register 80a, and writes the binary image data to the address on the frame memory 86 indicated by the head address data. When the writing of binary image data for one dot is completed, the LCD controller 84 updates the address of the writing destination itself. Therefore, it is not necessary to update the write address on the telephone CPU 28 side, and the binary image data is written to a desired address in the frame memory 86 only by repeating the binary image data setting process in step S89.
[0090]
In step S93, it is determined whether the count value N has reached “2”. If NO, the count value N is incremented in step S95 and the process returns to step S85. If YES, the process proceeds to step S97. As a result, the binary image data indicating the reception state and the remaining battery capacity character is drawn in the area 1 of the frame memory 86, and the binary image data indicating the date and time and the current time are drawn in the area 2 of the frame memory 86. In this embodiment, the processing is such that the image data of the entire screen is rewritten, but the image data may be rewritten only in an area that needs to be changed (the same applies to steps S97 to S103 related to area 2 described later). .
[0091]
In subsequent steps S97 to S101, the X address for the frame memory 88, the Y address for the frame memory 88, and the color image data for one dot are set in the frame memory register 80a. The X address and Y address set in steps S97 and S99 indicate the head address in the frame memory 88, and the color image data for one dot set in step S101 is image data to be written to this head address. In step S103, it is determined whether or not the writing of the color image data to the area 2 is completed. If the writing is not completed, the process returns to step S101. If the writing is completed, the process proceeds to step S105. As a result, the color image data of the game character shown in FIG.
[0092]
In each of steps S105 to S109, area 1 pallet data 0, area 1 pallet data 1 and area 2 pallet data 1 are set in the pallet control register 80c. As a result, the background color and character color (character color) of the binary image displayed in area 1 of the LCD 18 and the character color of the binary image displayed in area 2 are determined. Note that the background color of the binary image in area 2 is transparent as described above.
[0093]
In each of steps S111 to S115, the composition start line data, composition end line data, and image start line data are set in the output control register 80c. The composition start line data indicates from which line of the binary image the composition of the color image starts, the composition end line data indicates which line of the binary image the composition of the color image ends, and the image start line data Indicates from which line of the frame memory 88 the reading is to be started.
[0094]
When the process of step S115 is completed, the process proceeds to step S117, and LCNT5 of the LCD control data is set to “1” in order to turn on the display of the LCD 18. As a result, the incoming call waiting screen shown in FIG.
[0095]
Returning to FIG. 22, in each of steps S5, S13, S21 and S35, it is determined whether or not the game activation key 20 is operated, whether or not the hold key 24b is operated, whether or not the dial operation is performed, and whether or not there is an incoming call. If it is determined in step S5 that the game activation key 20 is operated, the game CPU activation flag shown in FIG. 13 is set in step S7, and “1” is set in LCNT0 of the LCD control data in step S9. Thereby, the game mode is started. When the process of step S9 is completed, the subroutine shown in FIG. 27 is processed in step S11.
[0096]
First, in step S121, LCNT5 of the LCD control data is updated to “0”, and the display on the LCD 18 is turned off. Next, in each of steps S122 and S123, the X address for frame memory 86 and the Y address for frame memory 86 are set in frame memory register 80a. The address set here indicates the head address of the formed area 2. In step S124, binary image data for one dot is set in the same frame memory register 80a, and in the subsequent step S125, it is determined whether or not the writing of binary image data to area 2 has been completed. If NO, the processing in step S124 is repeated. If YES, the area 2 palette data 1 is set in the palette control register 80c in step S126, and the LCD control data LCNT5 is returned to "1" in step S127. The display of the LCD 18 is turned on. By this subroutine processing in step S <b> 11, binary image data in which all dots are “0” is drawn in area 2 of the frame memory 86. As a result, the date and the current time displayed on the incoming call waiting screen are deleted.
[0097]
If it is determined in step S13 that the hold key 24b is operated, the game CPU activation flag is reset in step S15, and “0” is set to LCNT0 of the LCD control data in step S17. Thereby, the telephone mode is started. When the process of step S17 is completed, the subroutine shown in FIGS. 28 and 29 is processed in step S19 to display an incoming call waiting screen on the LCD 18.
[0098]
First, in step S131 shown in FIG. 28, LCNT5 of the LCD control data is updated to “0”, and the display of the LCD 18 is turned off. Next, in each of steps S133, S135, and S137, the X address for the frame memory 86, the Y address for the frame memory 86, and binary image data for one dot are set in the frame memory register 80a. The address data set in steps S133 and S135 indicates the head address of area 2 formed in the frame memory 86, and the binary image data set in step S137 is data to be written to this head address. In step S139, it is determined whether or not the writing of binary image data to area 2 has been completed, and the process of step S137 is repeated until a determination result of YES is obtained. As a result, the date and current time binary image data forming the incoming call waiting screen are written in the area 2 of the frame memory 86.
[0099]
In subsequent steps S141 to S147, the X address for the frame memory 88, the Y address for the frame memory 88, and the color image data for one dot are set in the frame memory register 80a. The X address and Y address set in steps S141 and S143 indicate the head address of area 2 formed in the frame memory 88, and the color image data for one dot set in step S145 is the image data to be written to this head address. It is. In step S147, it is determined whether or not the writing of color image data to area 2 is completed. If the writing is not completed, the process returns to step S145. If the writing is completed, the process proceeds to step S149. As a result, the color image data of the game character forming the incoming call waiting screen is drawn in the frame memory 88.
[0100]
Subsequently, in step S149, the palette data 1 for area 2 is set in the palette control register 80c, and in each of steps S151 to S155, the synthesis start line data, the synthesis end line data, and the image start line data are set in the output control register 80b. Thereafter, in step S157, the LCD control data LCNT5 is returned to "1". As a result, the incoming call waiting screen shown in FIG.
[0101]
If it is determined in step S21 that there is a dial operation, the subroutine shown in FIG. 27 is first processed in step S23. However, the binary image data drawn in the frame memory 86 at this time is image data indicating the other party's telephone number. Therefore, the telephone number of the other party is displayed on the LCD 18 instead of the date and the current time. When the process in step S23 is completed, a call process is performed in step S25, and whether or not the hold key 24b is operated is determined in step S27. Then, unless the hold key 24b is operated, the process of step S25 is repeated. When the hold key 24b is operated, the subroutine shown in FIG. 27 is processed again in step S29. At this time, binary image data indicating the date and the current time is drawn in the frame memory 86. As a result, the display on the LCD 18 is updated to the date and the current time from the telephone number of the other party.
[0102]
If it is determined in step S35 that there is an incoming call, the state of the game CPU activation flag is determined in step S37. Here, if the game CPU activation flag is in the reset state, the process directly proceeds to step S43. On the other hand, if the game CPU activation flag is in the set state, the start key bit KO6 of the game key register 3 shown in FIG. 15 is set to “1” in step S39, and the LCD control data LCNT4 shown in FIG. And 3 are set to “11”, and then the process proceeds to step S43. By the process of step S39, the start key bit KO6 is set regardless of the operation of the * key 24d (functioning as a start key), and the game shifts to the pause state. Further, the tone of the game screen is increased by the process of step S41.
[0103]
In step S43, the subroutine shown in FIG. 27 is processed. At this time, in the frame memory 86, an incoming message “incoming” and binary image data indicating the telephone number of the caller are drawn. Subsequently, a ringing tone is generated from the speaker 48 at step S45, and whether or not the hook key 24a is operated is determined at step S47. If the hook key 24a is operated, the output of the ringtone is stopped in step S49, and the call process is performed in step S51. In step S53, it is determined whether or not the hold key 24b is operated, and the call process in step S51 is repeated unless the hold key 24b is operated.
[0104]
When the hold key 24b is operated, the process proceeds from step S53 to step S55, and the state of the game CPU activation flag is determined. If the game activation flag is in the reset state, the process proceeds to step S59. If the game activation flag is in the set state, the LCD control data LCNT4 and 3 are set to “10” in step S57, that is, the game. After restoring the tone of the screen, the process proceeds to step S59. In step S59, the subroutine shown in FIG. 27 is processed, whereby binary image data in which all dots are “0” is written into the frame memory 86. The incoming message displayed on the LCD 18 and the telephone number of the caller are deleted by the process of step S59. When the process of step S59 is completed, the process proceeds to step S31.
[0105]
If NO is determined in any of steps S5, S13, S21 and S35, first, the remaining battery level and the reception state are detected in steps S61 and S63, and today's date and current time are detected in step S65. Subsequently, the subroutine shown in FIG. 30 is processed in step S67, and when the process of step S67 is completed, the process proceeds to step S31.
[0106]
Referring to FIG. 30, first, count value N is set to "1" in step S161, and then in steps S163 and S165, the X address for frame memory 86 and the Y address for frame memory 86 are stored in frame memory register 80a. set. In step S167, binary image data for one dot is set in the same frame memory register 80a. The address data set in steps S163 and S165 is the head address of the area N formed in the frame memory 86, and the binary image data set in step S167 is data to be written to this head address. In step S169, it is determined whether or not the binary image data has been written to the area N. If NO, the process in step S167 is repeated. If YES is determined in the step S169, it is determined whether or not the count value N is “2” in a step S171. If NO, the count value N is incremented in a step S173, and then the process returns to the step S163.
[0107]
As a result, the processing of steps S163 to S171 is repeated twice, and binary image data is written in each of areas 1 and 2 formed in the frame memory 86. In area 1, binary image data indicating the character of the reception state and the remaining battery level is stored, and in area 2, binary image data indicating the character of today's date and the current time is stored. Each character reflects the reception state, remaining battery level, date, and remaining battery level detected in steps S61 to S67.
[0108]
If YES is determined in the step S171, the area 1 pallet data 0, the area 1 pallet data 1 and the area 2 pallet data are set in the pallet control register 80c in steps S175, S177 and S179. The binary image data stored in the frame memory 86 is output to the LCD 18 through a coloring process using the set area 1 pallet data 0, area 1 pallet data, and area 2 pallet data 1. Area 1 of LCD 18 displays the current reception state and current battery remaining amount, and area 2 displays a character indicating today's date and current time.
[0109]
Returning to FIG. 22, in step S31, the state of the game CPU activation flag is determined. On the other hand, if the game CPU activation flag is set, it is determined in step S33 whether an interrupt request is set in the interrupt register 1. If no interrupt request is set, the process directly returns to step S5 as in the reset state described above. Therefore, when the telephone mode is set, and when the game mode is set but no interrupt request is given, the processes in steps S5 to S67 are performed without performing the processes in and after step S69 shown in FIG. repeat.
[0110]
If an interrupt request is set in the interrupt register 1, the setting value of the FIFO register 1 is detected in step S69, and the content of the detected setting value is determined in each of steps S71 and S75. If the detected setting value is a key transfer request, key transfer processing is performed in step S73. If the detected setting value is an FEP (Front End Processing) transfer request, FEP transfer processing is performed in step S77. If the detected setting value is another request, the corresponding processing is performed in step S79. When the process of step S73, S77 or S79 is completed, the process returns to step S3. The key transfer process is a process performed on the side of the telephone CPU core 28a in order to assign the start function and the select function to the * key 24d and the # key 24e, and the FEP transfer process is for inputting the player name. This is processing performed on the telephone CPU core 28a side.
[0111]
The key transfer process in step S73 follows a subroutine shown in FIG.
First, in step S181, a setting value is detected from the FIFO register 1, and it is determined in step S183 whether the detected setting value is an end code. Referring to FIG. 32, when a key transfer request is set in FIFO register 1, a key code indicating one of telephone keys 24 is set next to this key transfer request and it is desired to assign this key code. Function information indicating the function is set next to the key code. The end code is set after such repetition of the key code and function information.
[0112]
Therefore, the key code is detected in step S181, and NO is determined in the first step S183. In step S185, the key item that matches the detected setting value, that is, the key code is specified from the function assignment table 34a (formed in the SRAM 34) shown in FIG. For example, if the lower 4 digits of the key code are “1010”, “# key” is specified, and if the lower 4 digits of the key code is “1011”, “* key” is specified. In step S187, the set value of the FIFO register 1 is detected again. As described above, the setting value following the key code is function information, and the function information is detected in step S187. In step S189, the detected function information is assigned to the key item specified in step S185. When the process of step S189 is completed, “0” is set in the corresponding bit of the game key register 3 in step S191, and the process returns to step S181.
[0113]
For example, when function information indicating “select” (lower 8 bits is “10000000”) is detected following the key code indicating “# key”, the function of selecting “# key” in the function assignment table 34a is selected. Is assigned, and “0” is set in KO7 of the game key register 3 shown in FIG. When function information indicating “start” (lower 8 bits are “01000000”) is detected following the key code indicating “* key”, the start function is added to the item “* key” in the function assignment table 34a. Is assigned, and “0” is set in KO6 of the game key register 3.
[0114]
When the set value detected in step S181 indicates an end code, the process proceeds to step S193 through step S183, and it is determined which of the telephone keys 24 has been operated with reference to the telephone key register 28b shown in FIG. In step S195, the function information assigned to the determined operation key is searched from the function assignment table 34a, and in step S197, it is determined whether the function information has been found from the function assignment table 34a.
[0115]
According to FIG. 33, in addition to the “# key” and “* key”, a key item indicating the numeric key 24c is also provided in the function assignment table 34a, and no item of function information is assigned to the key item. Can also exist. Therefore, it is determined in step S197 whether function information has been found. If the function information cannot be found, the routine returns to the routine shown in FIG. 24 as it is. However, if the function information is found, the corresponding bit of the game key register 3 is set to “1” in step S199 and FIG. Return to the routine shown in.
[0116]
For example, when the numeric key indicating “1” is pressed by the operator, no bit of the game key register 3 is set to “1”, but when the * key 24d is pressed by the operator, the game key register KO6 of 3 is set to “1”.
[0117]
The FEP transfer process in step S77 in FIG. 24 follows a subroutine shown in FIG. First, the cursor display position data is detected from the FIFO register 1 in step S201, and then the subroutine shown in FIG. 27 is processed in step S203.
At this time, the binary image data drawn in the area 2 in the frame memory 86 is image data indicating a cursor. The drawing position of the cursor is determined based on the cursor display position data, and the binary image data is stored in the frame memory 86 as shown in FIG.
[0118]
On the other hand, the “Please input name” guidance message and the color image data indicating the name input frame shown in FIG. 35B are drawn in the frame memory 88 by the game CPU 40. As a result, the player name input screen shown in FIG.
[0119]
When the processing in step S203 is completed, the set values of the telephone key register 28b and the game key register 2 are detected in step S205, and in the subsequent step S207, it is determined whether or not the A button 22b is operated. If “NO” here, it is considered that the telephone key 24 has been operated, and the process proceeds to a step S209 to perform the FEP processing. When the FEP process ends, the process returns to step S203. A character string corresponding to the operation of the telephone key 24 is generated by the FEP process, and the generated character string is displayed on the LCD 18 by the process of the subsequent step S203.
[0120]
For example, when the telephone key 24 is operated to input “Yamada” to perform kana-kanji conversion and further input “Taro”, binary image data is drawn in the frame memory 86 as shown in FIG. In the name input frame on the LCD 18, the characters “Taro Yamada” are displayed as shown in FIG. The cursor points to "Taro".
[0121]
When the A button 22b is operated by the operator after the name input is completed, “YES” is determined in step S207, and “FEP result sending” and the JIS code corresponding to the created character string in each of steps S211 and S213 are FIFO. Set to register 2. In step S215, an interrupt request is set in the interrupt register 2, and in step S217, the subroutine shown in FIG. 27 is processed. When the process of step S217 is completed, the routine returns to the routine shown in FIG.
[0122]
In step S217, binary image data in which all bits are “0” is drawn in area 2 of the frame memory 86, and only the binary image data of the character indicating the reception state and the remaining battery level remains in the frame memory 86. However, color image data indicating “Taro Yamada” is drawn in the frame memory 88 in the manner shown in FIG. 37B by the processing of the game CPU 40 described later, and the player name input screen shown in FIG. Will be displayed.
[0123]
The game CPU core 50 processes the flowcharts shown in FIGS. First, in step S221, the state of the game CPU activation flag is determined. When the set state is reached, game CPU display processing is performed in step S223. This game CPU display process follows a subroutine shown in FIG.
[0124]
Referring to FIG. 40, first, in step S271, still character data for forming background image data is set in VRAM 72, and in step S273, still character palette data is set in color palette RAM 68. Subsequently, in step S275, it is determined whether or not the screen to be displayed this time is a screen on which object image data is to be output. If NO, the process directly proceeds to step S283. If YES, the processes in steps S277 to S281 are performed. Then, the process proceeds to step S283. For example, on the game screen shown in FIG. 4, it is necessary to display an object image (motion character). In this case, the process proceeds to step S277. On the other hand, on the menu screen shown in FIG. 3 and the player name input screen shown in FIGS. 6A and 6B, only the background image needs to be displayed. In this case, the process proceeds to step S283.
[0125]
When displaying an object image, first, the moving character data is set in the VRAM 74 in step S277, and the moving character palette data is set in the color palette RAM 68 in step S279. In step S281, the motion character attribute is set in the OAM 76. When the processing in step S281 is completed, the process proceeds to step S283.
[0126]
In step S283, setting values relating to the output of the background image and the object image are set in the register 70, and in the subsequent step S285, it is determined whether or not the processing for one frame has been completed. If “NO” here, the process returns to the step S271 to repeat the above-described processing, but if “YES”, the process returns to the upper hierarchy routine.
[0127]
The PPU 78 colors the still character data according to the palette data in the color palette RAM 68 according to the set value of the register 70, and also colors the motion character data according to the palette data in the color palette RAM 68 as necessary. The colored color image data is written into the frame memory 88 by the LCD controller 84 and then output to the LCD 18 by the same LCD controller 84. As a result, a color image is displayed on the LCD 18.
[0128]
In the game CPU display process in step S223 shown in FIG. 38, a menu screen as shown in FIG. This menu screen is formed by stationary characters. When a desired game is selected from the menu screen displayed on the LCD 18, the process proceeds from step S225 to step S227. In each of steps S227 to S237, the key transfer request, the key code indicating “# key”, the function information indicating “select”, the key code indicating “* key”, the function information indicating “start”, and the end code are FIFOs. Set to register 1. When the end code setting is completed, an interrupt request is set in the interrupt register 1 shown in FIG. 13 in step S239. As a result, the above-described key transfer processing is executed by the telephone CPU core 28a, the select function is assigned to the # key 24e, and the start function is assigned to the * key 24d.
[0129]
In step S241, the SPU 64 is instructed to output BGM data related to the selected game. BGM based on the BGM data is output from the speaker 48. In the subsequent step S243, the set value of the game key register 1 is detected. Then, it is determined in each of steps S245, S251 and S261 which bit of K0 to K7 shown in FIG. 15 is set to “1”.
[0130]
When K7 corresponding to the select key is set to “1”, YES is determined in a step S245, and it is determined whether or not the display of the LCD 18 is a menu screen in a step S247. If the display on the LCD 18 is not a menu screen, the process directly returns to step S243, and as a result, the operation of the # key 24d is invalidated. On the other hand, if the display on the LCD 18 is a menu screen, the process returns to step S243 through the selection process in step S249.
[0131]
When K6 corresponding to the start key is set to “1”, “YES” is determined in the step S251, and the game is paused in a step S253. Specifically, the K6 bit is returned to “0”, the sound output to the SPU 64 is stopped, and the current game data is stored in the flash memory 54. In step S255, the set value of the game key register 1 is detected. In step S257, it is determined whether or not K6 corresponding to the start key indicates “1”. Here, unless it is determined YES, the processes of steps S255 and S257 are repeated, and the game screen is stopped during this time. If YES is determined in the step S257, the pause state is canceled in a step S259, and the process returns to the step S243. As a result, the movement of the game screen and the output of BGM are resumed.
[0132]
By storing the game data in step S253, the game can be resumed from the point of interruption by another operation (for example, restart) even if the pause state cannot be recovered for some reason (for example, battery exhaustion) after the call ends. Can do.
[0133]
When bits other than K6 and K7 shown in FIG. 15 are set to “1”, YES is determined in step S261, and game processing, game CPU display processing, and sound effect output processing are performed in steps S263, S265, and S267, respectively. To do.
In the game process in step S263, the settings of the color palette RAM 68, the register 70, the VRAMs 72 and 74, and the OAM 76 are updated as necessary. In the game CPU display process in step S265, a game screen including a screen, a stationary object, and a moving character as shown in FIG. In the sound effect output process of step S267, sound effect data is output from the SPU 64.
[0134]
If any of K0 to K7 shown in FIG. 15 is “0”, NO is determined in step S261, and the process directly returns to step S243.
[0135]
If a scene occurs in which the player's name is input during the game process in step S263, the game CPU core 50 processes the subroutine shown in FIG. First, in step S291, a game CPU display process shown in FIG. 40 is performed. As a result, the message “Please input name” as shown in FIG. 35B and the color image data of the name input frame are written in the frame memory 88, and the name input shown in FIG. A screen is displayed. However, the cursor is not yet displayed when step S291 is completed.
[0136]
In step S293, the FEP transfer request is set in the FIFO register 1, in step S295, the cursor display position data is set in the FIFO register 1, and when the processing in step S295 is completed, an interrupt request is set in the interrupt register 1 in step S297. As a result, the FEP transfer process is performed on the telephone CPU core 28a side, and the cursor is displayed in the name input frame as shown in FIG.
[0137]
In step S299, it is determined whether or not an interrupt request is set in the interrupt register 2. If YES is determined in this step, the set value (FEP result transmission) of the FIFO register 2 is detected in step S301, and the set value (JIS code) of the FIFO register 2 is detected in step S303. Further, a game CPU display process is performed in step S305 to display the name in the name display frame based on the detected JIS code. As a result, the message, name display frame and name color image data as shown in FIG. 37B are drawn in the frame memory 88, and the name input screen as shown in FIG. . The drawing position of the color image data indicating the name is determined based on the cursor display position data described above. When the process of step S305 is completed, the process returns to the upper layer routine.
[0138]
As can be seen from the above description, the game CPU core 50 executes game processing as necessary, and the telephone CPU core 28a always executes telephone processing. The telephone CPU core 28a is assigned * key 24d and # key 24e, and the game key register 1 is provided with a K6 bit assigned a start function (pause function) and a K7 bit assigned a select function. .
[0139]
Here, the game CPU core 50 transfers the key information indicating the * key 24d to the telephone CPU core 28a together with the bit information indicating the K6 bit, and the key information indicating the # key 24e together with the bit information indicating the K7 bit. To 28a. The telephone CPU core 28a takes these key information and bit information and registers them in the function assignment table 34a. When the * key 24d is operated, the K6 bit of the game key register 1 is set to "1", and when the # key 24e is operated, the K7 bit of the game key register 1 is set to "1". The game CPU core 50 executes the start function when the K6 bit indicates “1”, and executes the select function when the K7 bit indicates “1”.
[0140]
Thus, when a specific key connected to the telephone CPU core 28a is operated, processing related to the specific function is executed in the game CPU core 50. That is, the process related to the specific function of the game CPU core 50 is executed in accordance with the operation of the specific key connected to the telephone CPU core 28a, thereby realizing a variety of key inputs.
[0141]
The game CPU core 50 is also assigned a frame memory 88 for storing color image data. A color image based on the color image data stored in the frame memory 88 is displayed on the LCD 18. The telephone key 24 assigned to the telephone CPU core 28a has a character input function.
[0142]
When a character is input by operating the telephone key 24, the telephone CPU core 28a transfers a character code indicating the input character to the game CPU core 50. The game CPU core 50 takes in the character code from the telephone CPU core 28 a and writes color image data indicating characters based on the taken-in character code into the frame memory 88. That is, when the telephone key 24 connected to the telephone CPU core 28a is operated, color image data indicating the input character by the key operation is written into the frame memory 88 by the game CPU core 50.
[0143]
The telephone CPU 28a is further assigned a frame memory 86 for storing binary image data, and the display displays an image based on the binary image data stored in the frame memory 86 in addition to the color image.
[0144]
At this time, the telephone CPU core 28a writes binary image data indicating the input character to the frame memory 86, and when a confirmation instruction is given (when the A button 22b is operated), the key code corresponding to the input character is displayed. The binary image data is erased from the frame memory 86 while being transferred to the game CPU core 50. Thereby, instead of erasing the image (input characters) based on the binary image data, a color image (same input characters) based on the color image data is displayed on the LCD 18.
[0145]
Note that the game CPU core 50 transfers position information (cursor display position data) indicating the writing position of the binary image data to the telephone CPU core 28a prior to taking in the character code. For this reason, the telephone CPU core 28a writes binary image data in the frame memory 86 based on the transferred cursor display position data. The game CPU core 50 also writes the color image data indicating the character based on the character code in the frame memory 88 in association with the writing position of the binary image data.
[0146]
As described above, the game CPU core 50 displays arbitrary characters on the LCD 18 in response to the operation of the telephone key 24 assigned to the telephone CPU core 28a. For this reason, the key input can be diversified.
[0147]
In this embodiment, areas 1 and 2 are formed as shown in FIG. 16, and characters indicating the reception state and the remaining battery level are displayed in area 1 as shown in FIG. However, the areas 1 and 2 may be formed as shown in FIG.
[0148]
In this embodiment, when an incoming call is received during the game, the tone of the game screen is raised. However, the tone of the game screen may be lowered.
[0149]
In this embodiment, the game start key function and select key function are assigned to the telephone keys (# and *), but other functions of the game may be assigned to the telephone keys.
[Brief description of the drawings]
FIG. 1 is an external view showing an embodiment of the present invention.
FIG. 2 is an illustrative view showing one example of an incoming call waiting screen.
FIG. 3 is an illustrative view showing one example of a menu screen.
FIG. 4 is an illustrative view showing one example of a game screen.
FIG. 5 is an illustrative view showing one example of an incoming call guidance screen;
6A is an illustrative view showing an example of a player name input screen in the middle of inputting a player name, and FIG. 6B is an example of a player name input screen after the player name input is completed. It is an illustration figure shown.
7 is a block diagram showing a configuration of the embodiment in FIG. 1; FIG.
FIG. 8 is a block diagram showing a configuration of a game CPU.
FIG. 9 is a block diagram showing a configuration of a key controller and its periphery.
FIG. 10 is a block diagram showing a configuration of an LCD controller and its periphery.
FIG. 11 is a block diagram illustrating a configuration of an image synthesis circuit.
FIG. 12 is an illustrative view showing a mapping state of a memory that can be accessed by a game CPU core;
13 is an illustrative view showing a configuration of a register 80. FIG.
FIG. 14 is an illustrative view showing a configuration of LCD control data.
FIG. 15 is an illustrative view showing a configuration of game key registers 1 to 3;
FIG. 16 is an illustrative view illustrating an area formed on an LCD display screen.
FIG. 17 is an illustrative view illustrating colors displayed on the LCD display screen.
18 is an illustrative view showing one example of binary image data drawn in a frame memory 86. FIG.
FIG. 19 is an illustrative view showing one example of color image data drawn in a frame memory 88;
20 is an illustrative view showing another example of binary image data drawn in the frame memory 86. FIG.
FIG. 21 is an illustrative view showing another example of color image data drawn in the frame memory 88;
FIG. 22 is a flowchart showing a part of the operation of the telephone CPU core.
FIG. 23 is a flowchart showing another portion of the operation of the telephone CPU core.
FIG. 24 is a flowchart showing still another part of the operation of the telephone CPU core.
FIG. 25 is a flowchart showing still another portion of the operation of the telephone CPU core.
FIG. 26 is a flowchart showing another part of the operation of the telephone CPU core.
FIG. 27 is a flowchart showing still another part of the operation of the telephone CPU core.
FIG. 28 is a flowchart showing still another portion of the operation of the telephone CPU core.
FIG. 29 is a flowchart showing another portion of the operation of the telephone CPU core.
FIG. 30 is a flowchart showing still another portion of the operation of the telephone CPU core.
FIG. 31 is a flowchart showing still another portion of the operation of the telephone CPU core.
FIG. 32 is an illustrative view showing data set in the FIFO register 1 during key transfer processing;
FIG. 33 is an illustrative view showing a function assignment table;
FIG. 34 is a flowchart showing another portion of the operation of the telephone CPU core.
35A is an illustrative view showing binary image data drawn in the frame memory 86 during the player name input process, and FIG. 35B is color image data drawn in the frame memory 88 during the player name input process. (C) is an illustrative view showing a player name input screen displayed on the LCD.
36A is an illustrative view showing binary image data drawn in the frame memory 86 during the player name input process, and FIG. 36B is color image data drawn in the frame memory 88 during the player name input process. (C) is an illustrative view showing a player name input screen displayed on the LCD.
37A is an illustrative view showing binary image data drawn in the frame memory 86 during the player name input process, and FIG. 37B is color image data drawn in the frame memory 88 during the player name input process. (C) is an illustrative view showing a player name input screen displayed on the LCD.
FIG. 38 is a flowchart showing a part of the operation of the game CPU core.
FIG. 39 is a flowchart showing another portion of the operation of the game CPU core.
FIG. 40 is a flowchart showing still another portion of the operation of the game CPU core.
FIG. 41 is a flowchart showing yet another portion of the operation of the game CPU core.
FIG. 42 is an illustrative view showing one portion of operations relating to another embodiment of the present invention;
FIG. 43 is an illustrative view showing another portion of operations relating to another embodiment of the present invention;
[Explanation of symbols]
10 ... Mobile communication terminal with game function
18 ... LCD
20 ... Game start key
22 ... Game key
24 ... Telephone key
28 ... Telephone CPU
40 ... Game CPU
50 ... Game CPU core
64 ... Audio processing unit
68 ... Color palette RAM
70, 80 ... registers
72, 74 ... VRAM
76 ... OAM
78. Image processing unit
82 ... Key controller
84 ... LCD controller
86, 88 ... frame memory

Claims (5)

第1処理を実行する第1プロセサ、
第2処理を実行する第2プロセサ
前記第1プロセサに接続された複数の第1キー、および
前記第2プロセサに接続された複数の第2キーを備え、
前記第1処理は、前記複数の第2キーの少なくとも1つを特定キーとして設定することを前記第2プロセサに要求する要求処理を含み、
前記第2処理は、前記特定キーの操作の有無を判別するキー操作判別処理、および前記特定キーが操作されたとき前記第1プロセサに与えられるべき特定信号を発生する第1特定信号発生処理を含み、
前記第1プロセサは、前記第1キーの操作に応じて前記第1処理を実行し、前記第1処理の実行中に前記特定信号が入力されたとき、前記第1処理における特定機能処理を実行する、電子装置。
A first processor for executing a first process;
A second processor for executing a second process ;
Comprising a plurality of first keys that are connected to the first processor, the plurality of second keys <br/> connected to the second processor you and,
The first process includes a request process for requesting the second processor to set at least one of the plurality of second keys as a specific key,
The second process includes a key operation determination process for determining whether or not the specific key is operated, and a first specific signal generation process for generating a specific signal to be given to the first processor when the specific key is operated. Including
The first processor executes the first process in response to the operation of the first key, and executes the specific function process in the first process when the specific signal is input during the execution of the first process. you, the electronic device.
前記特定機能が割り当てられた特定ビットを有するレジスタをさらに備え、
前記第1特定信号発生処理は前記特定ビットに所定値を設定する処理であり、
前記特定機能実行処理は前記特定ビットが前記所定値を示すとき前記特定機能を実行する処理である、請求項1記載の電子装置。
Further comprising a register having a specific bit of the specific function is assigned,
It said first specific signal generation processing is processing for setting a predetermined value in the specific bit,
The specific function execution processing, the specific bit is a process for executing the specific function when indicating the predetermined value, according to claim 1 Symbol mounting electronic devices.
前記要求処理は前記特定キーを示すキー情報と前記特定ビットを示すビット情報とを前記第2プロセサに通知する通知処理を含み、
前記キー操作判別処理では前記キー情報に基づいて前記特定キーの操作の有無を判別し、
前記第1特定信号発生処理では前記ビット情報に基づいて前記特定ビットに前記所定値を設定する、請求項記載の電子装置。
The request processing, look including the notification process for notifying the bit information indicating the specific bit key information indicating the specific key in the second processor,
In the key operation determination process, it is determined whether the operation of the specific key based on the key information,
Wherein the first specific signal generation processing, sets the predetermined value to the specific bits based on the bit information, the electronic apparatus according to claim 2, wherein.
前記第1処理は必要に応じて実行されるゲーム処理であり、
前記第2処理は常時実行される電話処理であり、
前記特定機能は前記ゲーム処理に関連し、
前記第2キーは前記ゲーム処理が実行されていないとき前記電話処理に関連する、請求項1ないしのいずれかに記載の電子装置。
The first process is a game process executed when necessary,
The second process is a telephone processing executed at all times,
The specific function is related to the game processing,
The second key, the associated with the telephone processing when the game processing is not being executed, the electronic device according to any one of claims 1 to 3.
前記特定機能は実行中のゲームにポーズをかけるポーズ機能であり、
前記第2処理は、電話の着信を検出する検出処理、および前記着信の検出に応答して前記特定信号を発生する第2特定信号発生処理をさらに含む、請求項記載の電子装置。
The specific function is a pause function that pauses a running game,
The electronic device according to claim 4 , wherein the second process further includes a detection process for detecting an incoming call and a second specific signal generation process for generating the specific signal in response to the detection of the incoming call.
JP2000263324A 2000-08-31 2000-08-31 Electronic equipment Expired - Fee Related JP4555446B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000263324A JP4555446B2 (en) 2000-08-31 2000-08-31 Electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000263324A JP4555446B2 (en) 2000-08-31 2000-08-31 Electronic equipment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010050064A Division JP5001390B2 (en) 2010-03-08 2010-03-08 Electronic equipment

Publications (2)

Publication Number Publication Date
JP2002077328A JP2002077328A (en) 2002-03-15
JP4555446B2 true JP4555446B2 (en) 2010-09-29

Family

ID=18750882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000263324A Expired - Fee Related JP4555446B2 (en) 2000-08-31 2000-08-31 Electronic equipment

Country Status (1)

Country Link
JP (1) JP4555446B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4677730B2 (en) * 2004-03-26 2011-04-27 日本電気株式会社 Portable terminal device, control method and program thereof
TWI739069B (en) * 2019-03-04 2021-09-11 仁寶電腦工業股份有限公司 Gaming device and gaming device recognition method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6420464A (en) * 1987-07-15 1989-01-24 Fujitsu Ltd Device and method for diagnosing electron gun
JPH11137851A (en) * 1997-11-07 1999-05-25 Aikomu International:Kk Portable game system
JPH11155001A (en) * 1997-11-19 1999-06-08 Toshiba Corp Portable radio telephone device and function adding device

Also Published As

Publication number Publication date
JP2002077328A (en) 2002-03-15

Similar Documents

Publication Publication Date Title
JP2002077329A (en) Electronic device
JP5001451B2 (en) Game system, communication terminal and program
US7428708B2 (en) Image processing apparatus and storage medium storing image processing program
US7725903B2 (en) Method for providing event to application, and electronic device using this method
JP2002253866A (en) Game management device, game program and game system
KR20010092351A (en) Game system having message exchanging function, game device using the same, message exchanging system, and computer readable memory media
JP4757984B2 (en) Image display device
JP4754259B2 (en) GAME PROGRAM, GAME DEVICE, COMMUNICATION GAME SYSTEM, AND GAME CONTROL METHOD
JP3500379B1 (en) GAME DEVICE, PROGRAM, AND GAME DEVICE CONTROL METHOD
JP4555446B2 (en) Electronic equipment
JP5001390B2 (en) Electronic equipment
WO2023197788A1 (en) Interaction method and apparatus, computer device, and readable storage medium
JP4324487B2 (en) Wireless communication game system and wireless communication game program
JP2008271607A (en) Electronic device
JP2008259248A (en) Electronic device
CN112905096B (en) Display control method, device, terminal equipment and storage medium
JP2015181071A (en) Electronic device
JP4920838B2 (en) How to manage network games
KR100701041B1 (en) Mobile communication method using avatar and terminal used therefor
JP4209541B2 (en) Communication terminal and communication terminal control method
JP7345204B2 (en) Message control device, message system, and program
JP2002229705A (en) Mobile communication equipment
JP2006050539A (en) Telephone transmission apparatus, telephone transmission method, telephone transmission program, and storage medium storing telephone transmission program
JP2010165232A (en) Mobile terminal customization system and mobile terminal customization method
KR20030027252A (en) Method for embodiment the user function key in mobile phone

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100622

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100716

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4555446

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees