JP2004041321A - Game machine - Google Patents

Game machine Download PDF

Info

Publication number
JP2004041321A
JP2004041321A JP2002200264A JP2002200264A JP2004041321A JP 2004041321 A JP2004041321 A JP 2004041321A JP 2002200264 A JP2002200264 A JP 2002200264A JP 2002200264 A JP2002200264 A JP 2002200264A JP 2004041321 A JP2004041321 A JP 2004041321A
Authority
JP
Japan
Prior art keywords
sound
command
interrupt
unit
data
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.)
Granted
Application number
JP2002200264A
Other languages
Japanese (ja)
Other versions
JP3779944B2 (en
Inventor
Ken Ikeura
池浦 建
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.)
Fuji Shoji Co Ltd
Original Assignee
Fuji Shoji 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 Fuji Shoji Co Ltd filed Critical Fuji Shoji Co Ltd
Priority to JP2002200264A priority Critical patent/JP3779944B2/en
Publication of JP2004041321A publication Critical patent/JP2004041321A/en
Application granted granted Critical
Publication of JP3779944B2 publication Critical patent/JP3779944B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a game machine taken all possible measures against noise to practically exclude effects such as noise. <P>SOLUTION: This game machine is provided with a main routine ST5-ST14 being endlessly executed into a loop, a voice output interruption routine STOUT1-STOUT12 interrupting other processing under execution and started, a watchdog timer WDT forcedly returning a game operation to an initial state according to the result in an own clocking operation, and when a flag value WDFLG to be turned on by the interruption routine is turned on, a processing outputting a clear signal to the watchdog timer WDT is provided in the main routine. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、パチンコ機、アレンジボール機、雀球遊技機、回胴式遊技機などの遊技機に関し、特に、万全のノイズ対策を施した遊技機に関するものである。
【0002】
【従来の技術】
遊技機は、一般に、機能別に分離された複数の回路基板で構成され、複数の回路基板が制御コマンドに基づいて同期して動作することによって、全体として複雑な遊技動作を実現している。このような遊技機では、制御コマンドを出力する主制御基板と、主制御基板からの制御コマンドに基づいて動作する複数のサブ制御基板とで構成されるのが一般的である。
【0003】
サブ制御基板としては、例えば、液晶ディスプレイを制御する図柄制御基板、払出モータの駆動によって遊技球の払出動作を制御する払出制御基板、LEDランプなどを点滅させるランプ制御基板、スピーカを駆動する音声制御基板などが存在する。
【0004】
【発明が解決しようとする課題】
ところで、遊技ホールには多数の遊技機が近接状態で設置されており、しかも、ソレノイドやモータなどを内蔵するそれらの遊技機が一斉に動作していので、少なからずノイズ環境にある。そのため、制御コマンドがノイズの影響でビット化けしたり、或いはRAMのワークエリアのデータがビット化けするおそれもあった。
【0005】
そのような場合、例えば、スピーカから不意に意味不明の音声が発生されることもあり、遊技者の大きな不信感を与えるおそれがある。特に、スピーカを大型化して迫力ある音声演出をしているような場合には、耐えられないほどの大音響のノイズ音が長時間にわたって発生する可能性もあり、万が一にも、そのような不測の事態が発生しないような万全の対策が必要である。
【0006】
本発明は、上記の問題点に鑑みてなされたものであって、ノイズ対策を万全化した遊技機を提供することを課題とする。
【0007】
【課題を解決するための手段】
上記課題を解決するために、請求項1に係る発明は、無限ループ状に実行されるメイン処理部と、実行中の他の処理を中断して開始される一種又はそれ以上の割込み処理部と、自らの計時動作の結果に応じて制御動作を強制的に初期状態に戻すリセット部とを備えると共に、前記割込み処理部の動作が実行されたことを条件に、前記リセット部の計時動作を初期状態に戻すリセット禁止手段を設けたことを特徴とする。
【0008】
リセット禁止手段は、メイン処理部と割込み処理部のいずれに設けても良いが、好適にはメイン処理部に設けられる。この場合、割込み処理部の動作が実行されたことは、割込み処理部の最終段階で設定されるフラグ値などで判定される。
【0009】
本発明は、好適には、割込み処理部を二種類以上備え、前記リセット禁止手段は、複数の割込み処理部の動作が実行されたことを条件に、前記リセット部の計時動作を初期状態に戻している。また、予め所定領域に記憶した検査データの正当性を、その後も繰返し判定する判定手段と、前記判定手段によって正当でないと判定された場合には、前記リセット禁止手段の動作を回避させる回避手段とを前記メイン処理部に設けるのも好適である。検査データとしては、特に限定されないが、チェックサム用のサム値や、ROMの複数番地のデータをRAMエリアにコピーしたものが好適に活用される。なお、前記リセット禁止手段の動作を回避させるに先だってCPUを割込み受付禁止状態に設定するのが好適である。
【0010】
また、本発明は、遊技動作を中心的に制御する主制御部と、前記主制御部からの制御コマンドに基づいて個別的な動作を実現するサブ制御部とで構成されているのが好ましい典型例であり、遊技動作を中心的に制御する主制御部と、前記主制御部からの制御コマンドに基づいて個別的な動作を実現する複数のサブ制御部とで構成され、前記メイン処理部、前記割込み処理部、及び前記リセット部は、前記主制御部と、前記サブ制御部の全部又は一部に設けられていると更に好適である。
【0011】
一方、請求項6に係る発明は、遊技動作を中心的に制御する主制御部と、前記主制御部からの制御コマンドに基づいて音声演出を実現する音声制御部とを備える遊技機において、前記音声制御部は、無限ループ状に実行されるメイン処理と、実行中の他の処理を中断して音声信号を出力する割込み処理とを備えて構成され、前記割込み処理は、出力すべき音声信号の有無に係わらず定常的に起動されるようになっている。この発明では、常に音声回路が駆動されるので、異常音が長時間にわたって発生する可能性が事実上ない。ここで、前記割込み処理は、受信した制御コマンドに対応する音声信号を出力する一方、この音声信号を出力し終えた後は、無音信号を音声回路に出力しつづけるよう機能しているのが好適である。
【0012】
【発明の実施の形態】
以下、本発明の遊技機を実施例に基づいて更に詳細に説明する。図17は、実施例に係るパチンコ機の全体構成を図示したブロック図である。図示のパチンコ機は、遊技動作を中心的に制御する主制御基板1と、液晶ディスプレイ8に表示されたキャラクタや図柄を変動させる図柄制御基板2と、スピーカを駆動して音声演出を実現する音声制御基板3と、ランプ類の点滅動作させてランプ演出を実現するランプ制御基板4と、遊技球を払出す払出制御基板5と、払出制御基板5に制御されて遊技球を発射する発射制御基板7と、AC24Vを受けて装置各部に直流電圧を供給する電源基板6とを中心に構成されている。
【0013】
主制御基板1、図柄制御基板2、音声制御基板3、ランプ制御基板4、及び払出制御基板5は、それぞれワンチップマイコンを備えるコンピュータ回路で構成されており、各サブ制御基板2〜5は、主制御基板1からの制御コマンドに基づいて上記した個別的な制御動作を実現している。なお、この実施例の場合には、制御コマンドは2バイト長であり、一方向のパラレル通信方式によって伝送されているが、特にこの構成に限定されるものではない。
【0014】
図18は、音声制御基板3の回路構成を示すブロック図である。図示の通り、音声制御基板3は、ワンチップマイコン10と、ワンチップマイコン10から出力される音声アナログ信号(効果音BGMと背景音SEのミキシング音)を増幅するアンプ11と、ウォッチドッグタイマ(WDT)12とを中心的に備えている。
【0015】
ワンチップマイコン10は、主制御基板1からの制御コマンドを受ける入力ポート13と、ウォッチドッグタイマ12にクリアパルスを出力する出力ポート14と、音声制御基板3の動作を制御するCPUコア15と、システムクロックに基づいて各種の信号を出力するTPU(Timer Pulse Unit)16と、TPU16からの内部割込み信号CH0,CH1や主制御基板1からのストローブ信号STB(外部割込み信号)を受ける割込みコントローラ17と、ソフトウェア的に復元されたPCM音声データを受けて音声アナログ信号を出力するD/Aコンバータ18と、制御プログラムやADPCMデータ(adaptive differential pulse code modulation)を固定的に記憶するROM(Read Only Memory)19と、制御プログラムの作業領域(ワークエリア)として使用されるRAM(Random Access Memory)20とを中心に構成されている。
【0016】
なお、出力ポート14から出力されるべきクリアパルスが所定時間以上途絶えると、ウォッチドッグタイマ12からCPUコア15に対してリセット信号が出力され、CPUコア15がリセット状態となって制御プログラムを最初から再実行されることになる。
【0017】
図18に示すように、割込みコントローラ17には、TPU16からの内部割込み信号CH0,CH1と、主制御基板1からのストローブ信号STBとが供給されるが、これらは共に禁止(マスク)可能な割込み信号となっている。ここで、ストローブ信号STBは、主制御基板1から制御コマンドと共に出力される信号であり、割込みコントローラ17にはIRQ(Interrupt Request)信号として供給され、これを受けた割込みコントローラ17は、CPUコア15に割込み信号INTを供給する共に、割込み処理ルーチンを特定する割込みベクトルを出力している。
【0018】
TPU16のチャネル0とチャネル1からは、それぞれ内部割込み信号が出力されるよう設定されているが、チャネル1からの割込み信号CH1は4mS毎に発せられるよう設定され、チャネル0からの割込み信号CH0は、制御プログラムによって個々的に設定されたサンプリング周期(τ)毎に発せられるように設定されている。ここでサンプリング周期とは、D/Aコンバータ18から出力される音声アナログ信号の出力間隔(τ)を意味する。
【0019】
そして、D/Aコンバータ18から出力される個々の音声メッセージに応じて、適宜にサンプリング周期を変更できるよう、サンプリング周期(τ)は制御プログラムによって個々的に設定される。例えば、8KHz、16KHz、32KHzのサンプリング周波数で取得されてROM19に記憶されている音声データ(ADPCMデータ)を再現する場合には、それぞれ125μS、62.5μS、31.25μSの時間間隔(τ)で割込み信号CH0が発せられることにより、そのADPCMデータがPCMデータに変換され、サンプリング周波数に対応するタイミングでD/Aコンバータ18から出力されることになる。
【0020】
これらの点に関連して、TPU16の動作を更に詳細に説明する。TPU16(日立製作所)には、TCNT(タイマ・カウンタ)と、TGR(タイマ・ジェネラル・レジスタ)と、TSR(タイマ・ステイタス・レジスタ)と、TIER(タイマ・インターラプト・レジスタ)その他が、各チャネル毎に設けられている。そして、この実施例では、TGR(タイマ・ジェネラル・レジスタ)にタイマ上限値を設定しておき、TCNT(タイマ・カウンタ)のカウントアップ動作を開始させ、システムクロックの同期してカウントアップされたTCNT値がTGRの上限値に一致すると、TPU16のTSR(タイマ・ステイタス・レジスタ)のTGFフラグがオン状態になるようになっている。なお、この動作に合わせて、TCNT(タイマ・カウンタ)はゼロクリアされる。
【0021】
ここで、TIER(タイマ・インターラプト・レジスタ)が割込み許可状態に設定されている場合には、チャネル0又はチャネル1の内部割込みが発生し、割込みコントローラ17に伝えられることになる。なお、割込みコントローラ17は、割り込み優先度に応じて、CPUコア15に対して割込み信号INTを発生するが、CPUコア15が割込み受け付け状態EI(Enable Interrupt)であれば、割込みベクトルで特定されるアドレスに記憶されている割込み処理プログラムが実行されることになる。
【0022】
したがって、例えば、8KHz、16KHz、32KHzのサンプリング周波数の音声データを再現する場合には、システムクロックの周波数が20MHzである実施例では、チャネル0のTGR(タイマ・ジェネラル・レジスタ)に、それぞれ、タイマ上限値として、20000/8、20000/16、20000/328を設定すれば良いことになる。すると、TCNTがゼロクリアされた後、カウントアップ動作の開始がソフト的に指示された場合、その後、20MHzの速度でTCNTの値が更新され、上記した所定回数のカウントアップ動作の後に、TPU16のTSR(タイマ・ステイタス・レジスタ)のTGFフラグがオン状態となる。
【0023】
先に説明したように、TGFフラグがオン状態となると、TIER(タイマ・インターラプト・レジスタ)がオン状態であることを条件に、CPUコア15に割込み信号INTが出力されるが、TPU16のTSR(タイマ・ステイタス・レジスタ)のTGFフラグは、割込み処理プログラムにおいて、オン状態からオフ状態に戻されることになる。その他、TPU16のTIER(タイマ・インターラプト・レジスタ)や、割込みコントローラ17のIER(IRQ・イネーブル・レジスタ)についても、ソフト的にオン状態又はオフ状態にされて、割込み動作が適宜に管理されている。
【0024】
この実施例では、このようなTPU16のチャネル0(CH0)からの内部割込みを利用して、音声演出を実現している。図19は、図6に示すメインルーチン(詳細は後述する)のうち、チャネル0の割込みに関する部分を抽出したフローチャートである。図示の通り、電源投入時のように、CPUがリセットされた後は、CPUが割込み受け付け禁止状態(DI状態disenable interrupt)となり、▲1▼TGRにカウンタ上限値(8KHzに対応する値)が設定されると共に、▲2▼TCNTがゼロクリアされた後にカウントアップ動作が開始され、▲3▼チャネル0のTIER(タイマ・インターラプト・イネーブル・レジスタ)がオン状態に設定される(ST4)。
【0025】
この結果、CPUが割込み許可状態(EI状態enable interrupt)に設定された後(ST5)、125μS(=1/8KHz)毎にチャネル0の内部割込みが生じることになる。但し、最初の段階で、ワークエリアのSNDDATA番地に無音データが格納されており(ST3)、また、BGM音やSE音のためのSNDFLG番地が00Hに設定されているので(ST3)、D/Aコンバータなどの音声回路は無音状態で駆動される。SNDDATA番地やSNDFLG番地の意義については後述するが、本実施例は、音声演出をしない場合でも、必ず音声回路を無音状態で駆動しており、かかる特徴的な構成によってノイズなどによる異常音の発生を有効に防止している。
【0026】
すなわち、音声回路を非駆動状態(例えば、チャネル0の割込みを発生させない状態)に維持している場合には、ノイズなどの影響でD/Aコンバータの入力値が異常レベルに維持されて、かなりの時間にわたって大音響が出力され続ける弊害も考えられるが、本実施例では、定常的にチャネル0の割込みが発生しているので、不要時にはSNDDATA番地が繰返し無音データに書き直されることになり(図14のSTOUT11’他)、このようなトラブルがあり得ない。
【0027】
図1〜図5は、主制御基板1から受信する制御コマンドと、音声制御基板3から発せられる音声情報との関係を説明するため参照テーブルを例示したものである。この実施例では、主制御基板1から伝送されてくる2バイト長の制御コマンドに対応して、スピーカSPからは効果音(SE)と背景音(BGM)をミキシングした音声情報が出力されるが、最初に、この一連の処理を概略的に説明する。
【0028】
図1(a)に示すように、受信した2バイト長の制御コマンドに対応して、1バイト長のFiコマンド(完全情報Full Intelligence Command)が特定される。ここでFiコマンドとは、一連の音声情報を完全に特定するものであり、例えば、図柄始動口への入賞に合わせて液晶ディスプレイ8において図柄変動の動作が開始される場合には、その図柄変動の動作に合わせて、(1)「今回は期待できるよ!」→(2)・・・・(無音状態)→(3)「ほーらリーチだ!」→(4)・・・・(無音状態)→(5)「やったー!。大当りー!!」のような一連の効果音SEを、背景音BGM(通常は音楽)と共に特定するものである。
【0029】
Fiコマンドは、上記のような区分情報(1)〜(5)を組合せて構成されているが、区分情報はSiコマンド(Semi Intelligence Command)で特定されるようになっている。すなわち、Fiコマンドは、Siコマンドの組合せによって構成されており、複数個のSiコマンドの組合せによって、(1)「今回は期待できるよ!」、(2)・・・(無音状態)、(3)「ほーらリーチだ!」、(4)・・・・(無音状態)、(5)「やったー!。大当りー!!」の一連の音声情報が特定されることになる。
【0030】
図2は、Fiコマンドと、Siコマンドと、サウンドNOの関係を概略的に図示したものである。図2(a)及び図2(b)に示すように、一つのFiコマンドに対して、背景音(BGM)用のSiコマンドと効果音(SE)用のSiコマンドとが特定される。例えばコマンド番号01HのFiコマンドの場合には、効果音としては、一連の10個のSiコマンド番号(50H,23H,50H,24H,41H,50H,4BH,4CH,5CH,50H)の組合せが特定され、背景音としては、一連の7個のSiコマンド番号(01H,51H,02H,51H,10H,0FH,51H)の組合せが特定されることになる。なお、Hは16進数を意味する。
【0031】
各Siコマンドは、その再生時間と共に規定されており、図2(a)に例示する効果音(SE)の場合には、
(1)9.4秒の再生時間を要するSiコマンド50H(無音)
(2)0.7秒の再生時間を要するSiコマンド23H
(3)12.7秒の再生時間を要するSiコマンド50H(無音)
(4)1.0秒の再生時間を要するSiコマンド24H
(5)0.8秒の再生時間を要するSiコマンド41H
(6)3.6秒の再生時間を要するSiコマンド50H(無音)
(7)2.0秒の再生時間を要するSiコマンド4BH
(8)0.8秒の再生時間を要するSiコマンド4CH
(9)11.27秒の再生時間を要するSiコマンド5CH
(10)0.004秒の再生時間を要するSiコマンド50H(無音)
によってFiコマンド1が実効化されることを意味している。そして、一連のSiコマンドのうち、現在どのSiコマンドを実行すべきかは、SE用の進行カウンタCNT SEによって指示される。
【0032】
これらの点は、背景音の場合も同様であり、図2(b)に例示する背景音(BGM)の場合には、
(1)9.4秒の再生時間を要するSiコマンド01H
(2)0.7秒の再生時間を要するSiコマンド51H(無音)
(3)12.7秒の再生時間を要するSiコマンド02H
(4)3.6秒の再生時間を要するSiコマンド51H(無音)
(5)4.8秒の再生時間を要するSiコマンド10H
(6)9.1秒の再生時間を要するSiコマンド0FH
(7)0.004秒の再生時間を要するSiコマンド51H(無音)
によってFiコマンド01Hが実効化されることを意味している。そして、一連のSiコマンドのうち、現在どのSiコマンドを実行すべきかは、BGM用の進行カウンタCNT BGによって指示される。
【0033】
各Siコマンドは、更に、音声パーツであるサウンドNO及びその再生時間の組合せを特定するよう構成されている。例えば、図2(a)の例では、Siコマンド5CHは、0.6秒の再現時間を要するサウンドNO47H→0.6秒の再現時間を要するサウンドNO47H→・・・→1.1秒の再現時間を要するサウンドNO47H→・・・→2秒の再現時間を要するサウンドNO56Hの組合せで実効化される。このように、サウンドNOとその再生時間とは必ずしも固定的ではなく、再生時間は適宜に変更される。そして、一連のサウンドNOのうち、現在どのサウンドNOを実行すべきかは進行カウンタPT CNTによって指示される。なお、図2においてENDCDは、データの終了を意味するコードであり、再生時間がmS(ミリ秒)の単位であって、且つ**/4の形式で特定されているのは、後述するタイマ割込み処理が4mS毎に発生することに因るものである。
【0034】
以上の通り、この実施例では、制御コマンドからFiコマンドが特定され、FiコマンドによってSiコマンドの組合せが特定され、各SiコマンドはサウンドNOの組合せを特定するよう構成されている。図3〜図5は、Fiコマンド番号の特定から音声信号の再現までの関係をより詳細に図示したものであり、図3は、Fiコマンド番号と、これを実効化する一連のSiコマンドの関係を示している。また、図4は、Siコマンドと、これを実効化する一連のサウンドNOの関係を示しており、図5は、サウンドNOと、これに対応する音声データ(ADPCMデータ)の格納位置との関係を示している。
【0035】
以下、これらの点を踏まえて音声制御基板3の制御プログラムについて説明する。本実施例では、音声制御基板3の制御プログラムは、電源投入後に実行を開始されるメインルーチン(図6)と、所定時間(4mS)毎に起動されるタイマ割込み処理ルーチン(図7)と、サンプリング周期(τ)毎にD/AコンバータにPCMデータを供給するサウンド出力割込みルーチン(図14)と、主制御基板1からストローブ信号STBを受けて開始される受信割込みルーチン(図15)と、プログラムの暴走などに起因して開始される異常割込みルーチン(不図示)とで構成されている。
【0036】
なお、タイマ割込み(図7)、サウンド出力割込み(図14)、受信割込み(図15)が開始されるとCPUは割込み禁止状態となるが、この実施例では、割込み処理ルーチン内ではCPUを割込み許可状態に戻さないので、メインルーチンの実行中に何れかの割込み処理が開始されると、その後は、メインルーチンでEI命令を実行しない限り(ST5)、他の割込み信号は保留されることになる。
【0037】
また、タイマ割込み(図7)、サウンド出力割込み(図14)の最後では、それぞれフラグWDFLG1とフラグWDFLG2とをオン状態にセットして、各割込み処理が少なくとも一度実行されたことがメインルーチン(図6)で把握できるようにしている。
【0038】
更にまた、タイマ割込み(図7)、サウンド出力割込み(図14)の最後では、TPU16のTSR(タイマ・ステイタス・レジスタ)のTGFフラグを、オン状態からオフ状態にしている。したがって、この段階ではゼロクリアされているTPU16のTCNT(タイマ・カウンタ)のカウントアップ動作が、内部モジュール再設定処理(図19のST5)によって開始されて、再度、TGR(タイマ・ジェネラル・レジスタ)の値に達するまで、CH0の割込みは生じないことになる。
【0039】
先ず、図6を参照しつつメインルーチンから説明する。電源が投入されたり、或いは、ウォッチドッグタイマ12からリセット信号を受けると、CPUはリセット状態となり、CPUは、自らを割込み受け付け禁止状態(DI)にした後、検査データDiが全て一致するか否かをチェックする(ST1)。ここで、検査データDiとは、特定複数のROM(AD1、AD2、・・・、ADn番地)の記憶データを、RAMエリアのn個の番地にコピーしたものである。
【0040】
そして、チェック処理として、RAMエリアに格納されている前記n個の検査データが、ROM(AD1、AD2、・・・、ADn番地)の記憶データと全て一致するか否かを判定する。ここで、検査データDiの一つでも不一致となる場合には、音声制御基板3を構成するワンチップマイコン10のRAM20をゼロクリアするが(ST2)、一方、検査データDiが全て一致する場合には、ステップST2の処理をスキップする。
【0041】
次に、D/Aコンバータ18への出力データを格納するSNDDATA番地に80H(無音データ)が格納され、効果音SEや背景音BGMの出力を禁止するべくフラグ値(SNDFLG番地の値)を00Hに設定する。また、内蔵モジュールの初期化などを行うと共に、検査データDiの設定処理を行う(ST3)。この設定処理は、先に説明した検査データDiに対応するものであり、例えば、図16(a)に示す通り、固定的に記憶されている特定複数番地のROM(AD1、AD2、・・・、ADn番地)のデータを、作業領域(ワークエリア)として使用しないRAMのn個の番地にコピーすることで実行される。
【0042】
このようにして検査データDiの設定が完了すると、次に、音声出力処理が実行された後(ST4)、CPUが割込み許可状態(EI:enable interrupt)に設定されると共にワンチップマイコン10の内蔵モジュールが初期状態に再設定される(ST5)。
【0043】
CPUがEI命令を実行したことにより、これ以降は、CH0の内部割込みを含むマスク可能な割込み信号が受け付けられる。但し、電源投入後に、SNDDATA番地には無音データが格納されているので(ST3)、125μS経過後(1/8K)に生じる音声出力用の割込み処理(図14)では、ADコンバータ18から無音が出力される(図14のSTOUT1参照)。なお、SE音用とBGM音用のフラグ値(SNDFLG番地の値)が00Hに設定されているので(ST3)、ADコンバータ18から無音が出力された後、SNDDATA番地には、再度、無音データが格納される(図14のSTOUT11’参照)。
【0044】
ステップST5の処理に続いて、サウンドNOの実効化を管理しているサウンド制御用作業テーブル(図13参照)に関する処理が行われる(ST6)。具体的には、図12に記載の通りであり、図13に示す制御用作業テーブルSNDCTBL(BGM用)及びSNDCTBL(SE用)について、ステップST92〜ST97の処理が行われる。先ず、作業テーブルSNDCTBLにおいてサウンドNOを記憶しているSNDNO番地のデータと、SNDNOCS番地のデータの反転データとが比較され、一致すれば以降の処理においてSNDNO番地のデータをサウンドNOとして使用する(ST92)。
【0045】
一方、両者が不一致なら、SNOBUP番地のデータとSNOBUPC番地のデータの反転データとが一致することを条件にバックアップ領域SNOBUP番地のデータをサウンドNOとして使用する(ST92)。なお、いずれのデータも使用できない場合は無音処理を施してスピーカから音が出ないようにしている。
【0046】
前記の通り、作業領域に、第1の情報とその第1の情報を反転して得られる第2の情報を格納し、その第1と第2の情報とにより作業領域に格納されたデータの正当性チェックをおこなっている。このように、データ(サウンドNO)の正当性を厳しくチェックするのは、本実施例の場合には、メインルーチンの実行中にデータ受信割込み(図15)が生じるだけでなく、4mS毎のタイマ割込み(図7)と、音声出力割込み(図14)とが平行して実行され、各々において複雑なタイミングでサウンドNOについての制御処理を行うため、ノイズなどの影響でデータの不整合が生じる可能性があるからである。なお、正当性チェックは、上記の方法に限らず、所定数のビットを用いたチェックサム方式でも良い。
【0047】
続いて、作業テーブルSNDCTBLのSNOBUP番地、SNDNOCS番地、SNOBUPC番地に、サウンドNOやその反転データを格納する(ST93)。また、作業テーブルSNDCTBLのADFLG番地、SNDADR番地、SNDFLG番地、SNDNO番地、DELTA番地、XN番地、ADFLG番地、SNDADR番地のデータを、この順番で取得する(ST94)。ここで、ADFLG番地とSNDADR番地のデータを2度取得するのは、ステップST94の処理中に、タイマ割込み(図7)や音声出力割込み(図14)が生じて、格納データが変化する可能性があるからである。したがって、最初と最後のデータが一致しない限り、全てのデータを取得し直すことになる。
【0048】
次に、(SNDFLG+SNDNO+DELTA+ADFLG+XN+SNDADR H+SNDADR L)の16bit加算演算によってチェックサムを算出し、その反転データをB CS番地に格納する(ST95)。なお、SNDADR Hは、4バイト長のアドレス値(SNDADR番地から4バイト)の上位2バイト、SNDADR Lはその下位2バイトを意味する。その他、作業テーブルSNDCTBLのB DELTA番地、B XN番地、B ADFLG番地、B SNDADR番地、B SNDNO番地、B SNDFLG番地にバックアップデータを記憶する。これもステップST94の処理中に、タイマ割込み(図7)や音声出力割込み(図14)が生じて、格納データが変化する可能性があることを考慮したものである。
【0049】
続いて、サウンドNOに対応するアドレス情報その他の情報を、図5(a)の参照テーブルSNDTBLに基づいて取得し、作業テーブルSNDCTBLのSNDSTR番地、SNDEND番地、SNDLOOP番地、SMPFRQ番地に記憶する(ST96)。
【0050】
このステップST92〜ST96の処理は、制御用作業テーブルSNDCTBL(BGM用)及びSNDCTBL(SE用)について行われるが、制御用作業テーブルSNDCTBLの内容を更新するのは、メインルーチンの実行中(主としてST4〜ST8)にも、サンプリング周期(τ)毎に、音声情報の出力処理(図14)が進行しているからである。
【0051】
以上のようにしてステップST6の処理が終われば、ステップST3の処理で設定された検査データのチェック処理を行う(ST7)。具体的には図16(b)に示す通りであり、ステップST1の場合と同様に、RAMエリアに格納されている前記n個の検査データが、ROM(AD1、AD2、・・・、ADn番地)の記憶データと全て一致するか否かを先ず判定する。
【0052】
ここで、不一致のデータが一つでも存在する場合には、無限ループ処理に突入させる。この場合、CPUを割込み受付禁止状態(DI)に設定した上で無限ループ処理に突入させるのが好適である。検査データに異常が見つかった以上、この状態で音声出力割込み処理(図14)が起動されると、異常音が発せられる可能性があるからである。
【0053】
何れにしても、無限ループ処理に入ったことによって、ウォッチドッグタイマ12に対するクリアパルスは供給されなくなり、やがてCPUがリセットされることになる。そして、その後は、検査データが不一致であるとしてRAMクリア処理(ST2)に移行することになる。
【0054】
一方、検査データチェック処理(ST7)が正常に終了すると、次に、ウォッチドッグタイマ処理を実行する(ST8)。具体的内容は、図16(c)に示す通りであり、ウォッチドッグ用のフラグWDFLG1とWDFLG2とが共にオン状態であるか否かを判定し(S100,S101)、何れのフラグもオン状態であれば、フラグWDFLG1とWDFLG2とをオフ状態に戻した後(S102)、ウォッチドッグタイマ12に対してクリアパルスを出力する(S103)。
【0055】
図7のステップST27や、図14のステップSTOUT12に示すように、ウォッチドッグ用のフラグWDFLG1,WDFLG2は、割込み処理の終了時にオン状態にセットされるので、各割込み処理が共に実行済みであれば、ステップS102からS103の処理に移行して、ウォッチドッグタイマ12をクリアすることになる。但し、少なくとも何れか一方の割込み処理が未実行の場合には、何もしないでステップST8のウォッチドッグ処理を終えることになる。したがって、何れか一方の割込み処理が未実行である状態が所定時間以上続くと、ウォッチドッグタイマ12からCPUコア15に対してCPUリセット信号が出力されることになる。
【0056】
このように、この実施例では、図7や図14の割込み処理が正常に実行されているか否かをメインルーチン(図6)において常時チェックしているので、ノイズなどの影響でプログラムが暴走したような場合にも、音声制御基板の動作状態を迅速に初期状態に復帰させることができ、異常音がスピーカから発生することが防止される。
【0057】
以上のようにしてウォッチドッグ処理(ST5)が終われば、新規の制御コマンドを受信していることを条件に、コマンド変換処理と乱数振分け処理とを行う(ST9)。また、新規の制御コマンドを受信していた場合には、COM WRT番地に5AHを記憶する(ST9)。ここでコマンド変換処理とは、主制御基板1からの制御コマンドを循環的に記憶しているRING BUFFER領域(受信バッファ図15(b)参照)をチェックして、もし新規の制御コマンドが検出された場合には、図1(a)のような変換テーブルを参照して、制御コマンドをFiコマンドに変換する処理である。また、乱数振分け処理とは、図1(b)のような抽選テーブルを参照して、Fiコマンドを変更する処理である。
【0058】
乱数振分け処理では、具体的には、コマンド変換処理によって決定されたFiコマンドと、乱数値RNDとによってFiコマンドを変更する。ここで、乱数値RNDは、例えば0〜255(=RND MAX)までの数値である。したがって、図1(b)の例では、コマンド変換処理によって決定されたFiコマンドが11Hの場合には、0≦乱数値RND≦68又は79≦乱数値RND≦255であればFiコマンド=11Hのままであるが、69≦乱数値RND≦78であればFiコマンド=83Hと変更されることになる。
【0059】
次に、乱数値RNDを更新する(ST10)。この実施例では、乱数値RNDは0〜255(=RND MAX)の数値であるから、その数値範囲内で乱数値RNDをインクリメント(+1)することで更新される。続いて、サウンドNO書込み完了フラグRCMDFLGの値がチェックされ、このフラグRCMDFLGがセットされていなければ、新規に出力すべき音声情報がないと判断してステップST5の処理に戻る(ST11)。なお、サウンドNO書込み完了フラグRCMDFLGは、タイマ割込み処理(図7)において、新規の制御コマンドに対応するサウンドNOが決定された際にセットされている(図9(a)ST58参照)。
【0060】
そのため、ステップST11の判定において、サウンドNO書込み完了フラグRCMDFLGがセットされていることが確認された場合には、サウンドNO解析処理を実行することになる(ST12)。具体的には、タイマ割込み処理(図7)において書込まれているサウンドNOを作業領域RCMDにコピーすると共に、そのサウンドNOに対応する各種の情報をサウンド制御用の作業テーブルSNDCTRLの該当欄に記憶する(ST12)。
【0061】
また、サウンドNO解析処理(ST12)では、サウンドNOの正当性も判定されるので、正当でないと判定された場合にはステップST5に戻り、正当であると判定された場合に限り、次の音声出力起動処理(ST14)に移行する。なお、サウンドNOが正当でないのは、複数の割込み処理が重層的に実行されることがあるためと考えられるが、このような場合には音声出力起動処理がスキップされるので、異常な音声情報が出力されることが防止される。
【0062】
ステップST13の判定において、サウンドNOが正当であると判定された場合には、音声出力起動処理として、抽出されているサウンドNOに対応する一連の音声データのサンプリング周期(τ)を特定して、このサンプリング周期(τ)毎にTPU16から内部割込み信号CH0が出力されるよう設定する(ST14)。具体的には、TGR(タイマ・ジェネラル・レジスタ)に所定値を上限値として設定し、TCNTをゼロクリアした後、カウントアップ動作を開始させ、CH0からの内部割込みを許可するべく、TIER(タイマ・インターラプト・イネーブル・レジスタ)をオン状態にする(図19参照)。
【0063】
その後、ステップST5の処理に戻るが、TPU16から内部割込み信号CH0が出力されるよう設定されたことにより、以降は、サンプリング周期(τ)毎に内部割込みが生じ、特定されたサウンドNOに対応する音声データがサンプリング周期(τ)毎に出力されることになる(図14参照)。なお、複数回のCH0の割込み処理(図14)によって一連の音声データの出力が完了すると、図14の割込み処理において、無音処理が施されるので(図14の破線部参照)、それ以降は、連続的に無音がD/Aコンバータ18から出力されることになる。なお、無音処理において、サンプリング周波数が16KHzに設定されるので、62.5μS(=1/16KHz)の時間周期で無音が出力される。
【0064】
これら音声出力処理について図19を参照しつつ確認する。ステップST14の処理でゼロクリアされたTCNT(タイマ・カウンタ)がカウンタ上限値に達してゼロクリアされると、音声出力用のCH0の割込み処理(図14)が実行される。そして、この割込み処理を終えた後に、TIER(タイマ・インターラプト・イネーブル・レジスタ)が再度オン状態とされ(図19のST5)、TCNT(タイマ・カウンタ)のカウントアップ動作が再開される(図19のST5)。したがって、サウンドNOで特定されるサンプリング周期(τ)毎にその後も繰返しCH0の割込みが実行されることになる。
【0065】
このようにして一連の音声データが出力された後は、図14の無音処理ではサンプリング周波数が16KHzに設定されるので、その後は、新たな制御コマンドに対応する音声演出が開始されるまで、16KHzのサンプリング周波数の無音データがD/Aコンバータ18から繰返し出力される。
【0066】
以上説明したように、電源投入後はステップST5〜ST14までの処理が無限ループ状に繰り返されるが、そのようなメインルーチンの処理に平行して、図7に示すタイマ割込み処理が行われる。タイマ割込み処理では、Siコマンドの再生時間を管理しているBGM用変数TIME BG,及びSE用変数TIME SEがゼロになるまでデクリメント(−1)される(ST20)。また、サウンドNOの再生時間を管理しているBGM用変数PT1、及びSE用変数PT2がゼロになるまでデクリメントされる(ST20)。図2に関して先に説明したように、Siコマンド及びサウンドNOは、その再生時間が特定されて抽出されているが、その特定された再生時間を実現するべく各変数TIME BG,TIME SE,PT1,PT2がデクリメントされるのである。なお、タイマ割込みの割込み周期が4mSであることから、例えば、9.4秒の再生時間を実現するのに、9400/4=2350回の割込み処理を要することになる。
【0067】
続いて、作業領域COM WRTの値が05Hであるか否かが判定される(ST21)。図6のステップST6において説明した通り、新規の制御コマンドを取得した場合には、作業領域COM WRTに05Hが書込まれている。そこで、作業領域COM WRT=05Hの場合には、Fiコマンド用の作業領域とSiコマンド用の作業領域とを初期設定した後(ST22)、コマンドバッファ領域であるCOM SND(不図示)に記憶されているFiコマンドを、Fiコマンド記憶領域であるCOM NUMに格納する(ST23)。
【0068】
Fiコマンド用とSiコマンド用の作業領域は、図7(b)と図7(c)に示すデータ構造をしており、Fiコマンド用の作業領域には、記憶領域COM NUMが設けられている。また、ステップST20で問題となるSiコマンド用の時間変数TIME BG,TIME SEは、Fiコマンド用の作業領域に設けられており、サウンドNO用の時間変数PT1,PT2はSiコマンド用の作業領域に設けられている。
【0069】
ステップST23の処理が終われば、Fiコマンド記憶領域COM NUMの記憶内容をビット反転させてバッファ領域BUP NUMに記憶させると共に、新規の制御コマンドに対する初期処理が終わったことを示すべくCOM WRT番地にゼロを格納する(ST24)。なお、COM WRT番地=0(COM WRT≠05H)の場合にはステップST22〜ST24の処理はスキップされる。
【0070】
続いて、Fiコマンドの展開処理が行われる(ST25)。Fiコマンド展開処理の詳細は図8に示す通りであるが、簡略化して説明すると、COM NUMに格納されているFiコマンドと、Si進行カウンタとに基づいて、これから実効化すべきSiコマンドが特定される。なお、Si進行カウンタとは、Fiコマンド用作業領域中のCNT BG及びCNT SEの値であり、1つのFiコマンドに対して、BGM(背景音)用SiコマンドとSE(報知音)用Siコマンドとが特定される。そして、特定されたBGM(背景音)用SiコマンドとSE(報知音)用Siコマンドとは、それぞれ、図7(c)のBGM用エリアと、SE用エリアのPT NUMに格納される。
【0071】
以上の処理によって、これから実効化すべきSiコマンドが特定されたので、次に、そのSiコマンドについてデータ展開処理が行われる(ST26)。Siコマンドデータ展開処理の詳細は、図9に示す通りであるが、簡略化して説明すると、SiコマンドとサウンドNO進行カウンタPT CNTとに基づいて、これから実効化すべきサウンドNOが特定される。ここで進行カウンタとは、BGM用エリアのPT CNT、及びSEエリア2のPT CNTの値であり、1つのFiコマンドに対して、BGM用とSE用のサウンドNOが特定される。そして、特定された2種類のサウンドNOは、それぞれ、図7(d)に示すRCMDBF1とRCMDBF2に格納される。
【0072】
図8は、Fiコマンド展開処理(図7のST25)の具体的内容を示すフローチャートである。先ずFiコマンド用の作業領域(図7(b)参照)についてのエラー確認処理(ST30)が実行される。具体的には、▲1▼COM NUMの値とBUP NUMの反転値との比較、▲2▼COM NUMに記憶されているFiコマンドが所定の数値範囲内か否かの正当性チェック、▲3▼CNT BGの値とBUP BGの反転値との比較、▲4▼CNT SEの値とBUP SEの反転値との比較などが行われ、一つでも異常が検出されたらFiコマンド用の作業領域(図7(b))を初期設定して処理を終える。このように、本実施例では、Fiコマンドの展開処理に先だって異常判定が行われるので、異常な音声情報が出力されることがない。
【0073】
次に、変数TIME BGの値がゼロになったか否かが判定される(ST31)。変数TIME BGは、BGM用のSiコマンドの再生時間を管理するものであり、図7(a)のステップST20において4mS毎にデクリメントされる変数である。したがって、TIME BG=0の場合には、次に実効化すべきSiコマンドを特定するべくステップST32の処理に移行する。具体的には、COM NUM番地の格納データ(Fiコマンド)に対応する一群のSiコマンドのうち、BGM進行カウンタCNT BGに対応するデータDx(Siコマンド)を取得する(ST32)。
【0074】
そして、そのSiコマンドがエンドコードENDCD(図3参照)であるか否かが判定され(ST33)、エンドコードENDCDでなければ、そのSiコマンドの再生時間を、時間変数TIME BGの初期値として設定する。次に、ステップST32で取得したデータDxが継続コードであるか否かが判定され(ST35)、継続コードでなければ、Siコマンド用の作業領域(図7(c))のうち、BGM用作業エリア1を初期設定する(ST36)。具体的には、図7(c)に示すSEMIDT番地からの4番地(PT TIME,PT NUM,PT CT)に00Hを格納すると共に、続く2番地(PT NUM BP,PT CNT BP)に0FFHを格納する。
【0075】
その後、ステップST32の処理で取得したSiコマンド(Dx)をBGM用作業エリア1のPT NUM番地に格納すると共に、Siコマンド(Dx)の反転データをBGM作業エリア1のPT NUM BPに格納する(ST37)。そして、BGM進行カウンタCNT BGの値をインクリメント(+1)すると共に、BGM進行カウンタCNT BGの反転データをBUP BG番地に格納する(ST38)。なお、反転データを格納するのは、これから実効化しようとするSiコマンドや、サウンドNOを特定するBGM進行カウンタの値の正当性を必要時にチェックできるようにするためである。
【0076】
以上の処理によって、Siコマンド用の作業領域(図7(c))のうち、BGM用エリアの処理が終わるので、次に、SE用エリアの処理に移行する。ステップST39〜ST46の具体的な処理内容は、上記したステップST31〜ST38の処理内容と実質的に同じであり、SE用エリア(SEMIDT+6番地から始まる6番地分)に必要なデータが格納される。また、SE進行カウンタCNT SEの値もインクリメント(+1)される(ST46)。
【0077】
続いて、図7のSiコマンドデータ展開処理(ST26)について、図9に示すフローチャートに基づいて説明する。先ず、Siコマンドのエラーチェック処理が行われる(ST50)。具体的には、図7(c)に示すBGM用エリアにおける▲1▼PT NUM番地のデータとPT NUM BP番地の反転データとの対比、▲2▼PT CNT番地のデータとPT CNT BP番地の反転データとの対比や、また、SE用エリアにおける▲3▼PT NUM番地のデータとPT NUM BP番地の反転データとの対比、▲4▼PT CNT番地のデータとPT CNT BP番地の反転データとの対比などの処理が行われ、異常が検出されたらBGM用エリアとSE用エリアを初期設定して処理を終える。
【0078】
次に、レジスタR3をゼロクリアすると共に、Siコマンド用の作業領域(図7(b))のうち、BGM用エリアについての初期処理を行う(ST51)。その結果、最初はBGM用エリアについての作業が行われることになり、先ずBGM用のサウンドNOの再生時間を管理する時間変数PT1の値がゼロか否かが判定される(ST52)。時間変数PT1は、図9(a)のステップST56の処理で初期値設定され、タイマ割込み毎に図7(a)のステップST20の処理でデクリメント(−1)されている。そして、PT1=0である場合とは、現在のサウンドNOを実行し終わり、次のサウンドNOの実行に移行すべき時であるから、ステップST53以下の処理を実行する。
【0079】
先ず、図4(a)に図示するような指示テーブルPARTS COMのアドレスリストから、BGM用エリア(図7(c))のPT NUM番地に格納されたSiコマンドに対応するPARTS COMiのアドレス情報を抽出する(ST53)。次に、抽出されたPARTS COMiエリア(図4(b)参照)に記憶されている一群のサウンドNOデータから、図7(c)のサウンドNO進行カウンタPT CNTに対応するサウンドNOデータDzを抽出する(ST54)。
【0080】
そして、抽出されたデータDzがエンドコードENDCDでない場合には、ステップ54の処理によって特定されたサウンドNOの再生時間を、図7(c)のBGM用エリアのPT TIME番地に初期設定する(ST56)。また、データDzが継続コードでない場合には、抽出したサウンドNO(Dz)を、図7(d)に図示する作業領域RCMDBF1番地に格納すると共に、書込み完了フラグRCMDFLGの該当ビットを1にセットする(ST58)。
【0081】
また、図7(c)のBGMエリア1の、サウンドNO進行カウンタPT CNTの値をインクリメントすると共に、その反転データをPT CNT BP番地に格納する(ST59)。以上の処理によって、図7(c)のBGMエリア1に対する処理が終わるので、次に、ステップST51の処理でゼロリセットされているレジスタR3の値をチェックして(ST70)、レジスタR3に05Hに書込んだ後、SE用エリアについての初期処理を行って(ST71)ステップST52の処理に戻る。
【0082】
その結果、続いてSR用エリア2について、上記したBGM用エリア用の作業と同一の作業が行われることになる。すなわち、PT2=0であれば、PARTS COMiエリア(図4(b)参照)に記憶されている一群のサウンドNOデータから、図7(c)SE用エリア1のサウンドNO進行カウンタPT CNTに対応するサウンドNOデータDzを抽出する(ST54)。そして、ステップ54の処理によって特定されたサウンドNOの再生時間を、図7(c)のSE用エリアのPT TIME番地に初期設定し(ST56)、サウンドNO(Dz)を、図7(d)に図示する作業領域RCMDBF2番地に格納すると共に、書込み完了フラグRCMDFLGの該当ビットを1にセットする(ST58)。なお、ステップST58の処理は、詳細には、図9(b)に示す通りであり、図9(c)は、図7(d)を転記したものである。
【0083】
続いて、図10のフローチャートについて説明する。図10は、図6のサウンドNO解析処理(ST9)の内容を詳細に図示したものである。サウンドNO解析処理では、先ず、図9(c)に示すサウンドNO書込み完了フラグRCMDFLGの該当ビットをチェックして、サウンドNO第1バッファRCMDBF1(図9(c)参照)にサウンドNOが格納されているか判定する(ST70)。ここで、判定結果がYesなら、受信バッファ1であるRCMDBF1のデータを作業領域RCMD番地にコピーすると共に、サウンドNO書込み完了フラグRCMDFLGの該当ビットをリセットして作業終了を示す(ST71)。
【0084】
一方、サウンドNO書込み完了フラグRCMDFLGのチェックにより、受信バッファ1が空であると判定されると、サウンドNO書込み完了フラグRCMDFLGの該当ビットをチェックして、サウンドNO第2バッファRCMDBF2にサウンドNOが格納されているか判定する(ST72)。そして、判定結果がYesなら、受信バッファ2であるRCMDBF2のデータを作業領域RCMD番地にコピーすると共に、サウンドNO書込み完了フラグRCMDFLGの該当ビットをリセットして作業終了を示す(ST72)。
【0085】
このように、受信バッファ1と受信バッファ2とを順番にチェックするのは、一度に処理できる音声情報は一つであるためである。すなわち、受信バッファ1に格納されているサウンドNOをRCMD番地に格納し、その後の音出力起動(ST11)からステップST4〜ST8の処理を経た上で(この間に一度だけCH0の内部割込み処理が実行され受信バッファ1に対応する音声が出力される可能性がある)、改めて、受信バッファ2に格納されているサウンドNOをRCMD番地に格納するのである。なお、図6のステップST8では、「サウンドNO書込み完了」と判定されたのに、図10のステップST70及びST72の判定が共にNOである場合は、異常状態であるのでキャリーフラグCYを1にセットして処理を終える(ST80)。
【0086】
但し、通常の場合には、受信バッファ1又は受信バッファ2に格納されていたサウンドNOがRCMD番地にコピーされるので(ST71,ST73)、次に、そのサウンドNOの値が所定の数値範囲内のものであるか否かが判定される(ST74)。例えば、サウンドNOが、0≦サウンドNO≦SNDmaxの数値範囲に割り振られている場合には、SNDmaxより大きいサウンドNOはエラーと判定されて、ステップST80に移行する。このような判定処理を設けているので、異常な音声が出力されたり、プログラムが暴走することが未然に防止される。
【0087】
サウンドNOが所定の数値範囲を越えていない判定された場合には、更に、サウンドNOの値がチェックされ、正常ならばキャリーフラグCY=0とし、異常ならばキャリーフラグCY=1にする(ST75)。サウンドNOのチェックには、図5に示す参照テーブルSNDTBLを参照する処理も含まれており、サウンドNOに対応する参照テーブルSNDTBLの該当番地の内容がゼロであれば、ADPCMデータは存在しないことから、異常としてキャリーフラグCY=1とされる。
【0088】
ステップST75の処理が終われば、次に、キャリーフラグCYの値に基づいてサウンドNOの値が異常か否かが判定され(ST76)、正常ならば当該サウンドNOを再生する際のサンプリング周波数を取得する(ST77)。詳細には、図11(a)に示す通りであり、背景音(BGM)用と効果音(SE)用に確保されているサウンド制御用の作業テーブルSNDCTBL(図11(b)、図13)のうち、何れを使用するかを決定し(ST80)、何れか一方の作業テーブルSNDCTBLの該当欄にサウンドNOを格納する(ST81)。なお、背景音(BGM)用と効果音(SE)用のサウンド制御用作業テーブルSNDCTBLのうち、いずれを使用すべきかはサウンドNOから特定できる。すなわち、図5(b)(c)に示すように、サウンドNOからそれがBGM音に関するものであるか、SE音に関するものであるか特定できるようになっており(BGM1+2番地、SE1+2番地を参照)、以降の処理も含め、特定された一方のサウンド制御用作業テーブルSNDCTBLが使用される。
【0089】
ステップST81の処理が終われば、サウンドNOに対応する音声データ(ADPCMデータ)が格納されている位置を特定して、そのヘッダー情報から音声データの開始番地や終了番地などの情報を、サウンド制御用作業テーブルSNDCTBLの該当欄に格納する(ST82)。また、音声データのヘッダー情報からサウンドフラグ(BGM/SE)と、繰返し再生LOOPの有無の情報と、サンプリング周波数とを取得して、サウンド制御用作業テーブルSNDCTBLの該当欄に格納する(ST83)。そして最後に、データチェック処理を行うが(ST84)、その処理内容は、図12のフローチャートに記載の通りであり、図6のステップST5に関する処理と同一である。
【0090】
図14は、音声出力用の割込み処理(TPU16のCH0の内部割込み)を説明するフローチャートである。例えば、図6ステップST14の処理によって、サンプリング周波数8KHzの音声データを再現するべく指示された場合には、125μS毎にこのCH0の割込み処理が実行され、またサンプリング周波数16KHzの音声データを再現すべき場合には、62.5μS毎にCH0の割込み処理が実行される。なお、この内部割込みは、禁止(マスク)可能な割込みであるから、CPUがEI状態であることを条件に受け付けられることになり(ST5参照)、要するに、無限ループ処理(主としてST5〜ST11)を一巡することが実行の条件となる。
【0091】
以上を踏まえて図14について説明する。音声出力割込み(SND INT)では、先ず、SNDDATA番地の内容をD/Aコンバータ18に出力する(STOUT1)。SNDDATA番地には、先の割込み処理(SND INT)におけるステップSTOUT12の処理によってSE音とBGM音のミキシングされたPCMデータ(8ビット長)が格納されているので、そのPCMデータをD/Aコンバータ18に出力することになる。なお、D/Aコンバータ18では、受けたPCMデータをアナログ信号に変換して出力する。
【0092】
次に、背景音BGM用のSNDFLG番地(図13)の内容を参照する(STOUT2)。そして、SNDFLG番地の格納値が00Hであれば、ステップSTOUT3〜5の処理をスキップする。一方、00H以外の値であれば、サウンド制御用(BGM)の作業テーブルSNDCTBLのSNDADR番地に記憶されているアドレス値を取得して圧縮音声データ(ADPCMデータ)を取得し(STOUT3)、また、SNDADR番地に記憶されているアドレス値(サウンドデータ変換中のデータのアドレス)を次のアドレス値に更新する(STOUT4)。なお、更新後のアドレス値が最終アドレス値を越えた場合には、破線部に示すように、SNDFLG番地に00Hを格納する処理を含んだ無音処理を実行する。
【0093】
次に、ステップSTOUT3の処理で取得したADPCMデータをPCMデータ(背景音BGM)に変換して一時記憶する(STOUT5)。この実施例では8ビットのPCMデータが4ビットのADPCMデータに圧縮されているので、その復元を行い一時記憶する。
【0094】
以上の処理によって背景音(BGM)が復元できたので、次に、効果音SE用のSNDFLG番地(図13)の内容を参照する(STOUT6)。そして、SNDFLG番地の格納値が00Hであれば、背景音BGM、及び/又は、効果音SEを無音データにしてSNDDATA番地に格納した後、ステップSTOUT12の処理に移行する(STOUT11’)。すなわち、BGM用のSNDFLGが00Hであれば、背景音BGMを無音データとし、SE用のSNDFLGが00Hであれば、効果音SEを無音データとする。したがって、次回の音声出力割込みでは、背景音BGMのみ、効果音SEのみ、或いは、完全な無音の何れかが出力されることになる(STOUT1参照)。
【0095】
一方、効果音SE用のSNDFLG番地(図13)の格納値が00H以外の値であれば、効果音(SE)についての復元処理を行う。具体的には、サウンド制御用(SE)の作業テーブルSNDCTBLのSNDADRに記憶されているアドレス値を取得して圧縮音声データ(ADPCMデータ)を取得し(STOUT7)、SNDADR番地に記憶されているアドレス値(サウンドデータ変換中のデータのアドレス)を次のアドレス値に更新する(STOUT8)。
【0096】
そして、更新後のアドレス値が最終アドレス値を越えた場合には、破線部に示すように、SNDFLG番地に00Hを格納する処理を含んだ無音処理を実行する。その後、ステップSTOUT7の処理で取得したADPCMデータをPCMデータ(効果音SE)変換した後(STOUT9)、一時記憶されている背景音BGMとミキシングして(STOUT10)、そのミキシング音を作業領域SNDDATA(不図示)に格納する(STOUT11)。なお、このミキシング音は、次回の音声割込み時にD/Aコンバータに出力されることになる(STOUT1参照)。
【0097】
最後に、音声出力用の割込み処理が正常に終了することを示すべく、ワークエリアのフラグ値WDFLG2をオン状態にする。また、TPU16のTSR(タイマ・ステイタス・レジスタ)のTGFフラグをオン状態からオフ状態に戻して割込み処理を終える(STOUT12)。
【0098】
続いて、図15を参照しつつ、主制御基板1から制御コマンドを受信するための受信割込みについて説明する。先に説明したように、主制御基板1は、制御コマンド出力時にストローブ信号STBを合わせて出力しており、そのストローブ信号の受信に起因して図15の処理が開始される。なお、この割込みも禁止(マスク)可能割込みであるから、メインルーチン(主としてST5〜ST11)の一巡を条件に受け付けられる。
【0099】
受信割込みでは、コマンド入力ポート13から連続して2回データを受信し、その2回のデータが一致するか否かを先ず判定している(同一チェック)。これは、雑音などの影響でビット化けした制御コマンドデータを受信しないためであり、この同一性チェックが、7回連続でOKであることを条件に、次の受け付け処理に移行するようにしている(STIN1、STIN2)。
【0100】
ステップSTIN2の判定がYesとなると、次に、今回受信した制御コマンドが、直前に受信した制御コマンドと対比され、一致する場合にはそのまま処理を終える(STIN3)。これは、主制御基板1から同一の制御コマンドが連続して出力されることがあり得ないので、何らかの誤動作であると判断して受信した制御コマンドを廃棄するのである。
【0101】
一方、新規に受信した制御コマンドが、直前に受信した制御コマンドと異なる場合には、書込みポインタWR POINTの示す番地に制御コマンドを格納する(STIN4)。また、書込みポインタWR POINTの値を更新する(STIN5)。図15(b)に示すように制御コマンドを格納する受信バッファは、リングバッファ構造になっており、書込みポインタWR POINTの値は循環的に更新される。なお、受信バッファに格納された制御コマンドは、図6のステップST6の処理において読み出される。読み出し時には読出しポインタRD POINTが用いられ、この読出しポインタRD POINTも循環的に更新されて使用される。
【0102】
最後に本発明が好適に適用される弾球遊技機について確認的に説明する。図20は、本実施例のパチンコ機22を示す斜視図であり、図21は、同パチンコ機22の側面図である。なお、パチンコ機21は、カード式球貸し機22に電気的に接続された状態で、パチンコホールの島構造体の長さ方向に複数個が配設されている。
【0103】
図示のパチンコ機21は、島構造体に着脱可能に装着される矩形枠状の木製外枠23と、外枠23に固着されたヒンジHを介して開閉可能に枢着される前枠24とで構成されている。この前枠24には、遊技盤25が裏側から着脱自在に装着され、その前側には、ガラス扉26と前面板27とが夫々開閉自在に枢着されている。
【0104】
前面板27には発射用の遊技球を貯留する上皿28が装着され、前枠24の下部には、上皿28から溢れ出し又は抜き取った遊技球を貯留する下皿29と、発射ハンドル30とが設けられている。発射ハンドル30は発射モータと連動しており、発射ハンドルの回動角度に応じて動作する打撃槌31(図23参照)によって遊技球が発射される。
【0105】
上皿28の右部には、カード式球貸し機22に対する球貸し操作用の操作パネル32が設けられ、この操作パネル32には、カード残額を3桁の数字で表示するカード残額表示部32aと、所定金額分の遊技球の球貸しを指示する球貸しスイッチ32bと、ゲーム終了時にカードの返却を指令する返却スイッチ32cとが設けられている。ガラス扉26の上部には、大当り状態を示す大当りLEDランプP1が配置されている。また、この大当りLEDランプP1に近接して、補給切れ状態や下皿の満杯状態を示す異常報知LEDランプP2,P3が設けられている。
【0106】
図22に示すように、遊技盤25には、金属製の外レールと内レールとからなるガイドレール33が環状に設けられ、その内側の遊技領域25aの略中央には、液晶カラーディスプレイ8が配置されている。また、遊技領域25aの適所には、図柄始動口35、大入賞口36、複数個の普通入賞口37(大入賞口36の左右に4つ)、2つの通過口であるゲート38が配設されている。これらの入賞口35〜38は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。
【0107】
液晶ディスプレイ8は、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この液晶ディスプレイ8は、中央部に特別図柄表示部Da〜Dcと右上部に普通図柄表示部39を有している。普通図柄表示部39は普通図柄を表示するものであり、ゲート38を通過した遊技球が検出されると、表示される普通図柄が所定時間だけ変動し、遊技球のゲート38の通過時点において抽選された抽選用乱数値により決定される停止図柄を表示して停止するようになっている。
【0108】
図柄始動口35は、左右1対の開閉爪35aを備えた電動式チューリップで開閉され、普通図柄表示部39の変動後の停止図柄が当り図柄を表示した場合には、開閉爪35aが所定時間だけ開放されるようになっている。図柄始動口35に遊技球が入賞すると、特別図柄表示部Da〜Dcの表示図柄が所定時間だけ変動し、図柄始動口35への遊技球の入賞タイミングに応じた抽選結果に基づいて決定される停止図柄パターンで停止する。
【0109】
大入賞口36は、前方に開放可能な開閉板36aで開閉制御されるが、特別図柄表示部Da〜Dcの図柄変動後の停止図柄が「777」などの当り図柄のとき、「大当り」と称する特別遊技が開始され、開閉板36aが開放されるようになっている。大入賞口36の内部に特定領域36bがあり、この特定領域36bを入賞球が通過すると、遊技者に有利な特別遊技が継続される。
【0110】
大入賞口36の開閉板36aが開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板36aが閉じる。このとき、遊技球が特定領域36bを通過していない場合には特別遊技が終了するが、特定領域36bを通過していれば、最大で例えば15回まで特別遊技が継続され、遊技者に有利な状態に制御される。さらに、変動後の停止図柄が特別図柄のうちの一定図柄(以下、特定図柄)であった場合には、特別遊技の終了後に高確率状態に移行するという特典が付与される。
【0111】
図23に示すように、前枠24の裏側には、遊技盤25を裏側から押さえる裏機構板40が着脱自在に装着されている。この裏機構板40には開口部40aが形成され、その上側に賞球タンク41と、これから延びるタンクレール42とが設けられている。裏機構板40の側部には、タンクレール42に接続された払出装置43が設けられ、裏機構板40の下側には払出装置43に接続された通路ユニット44が設けられている。払出装置43から払出された遊技球は、通路ユニット44を経由して上皿排出口28a(図20)から上皿28に払出されることになる。
【0112】
裏機構板40の開口部40aには、遊技盤25の裏側に装着された裏カバー45と、入賞口35〜37に入賞した遊技球を排出する入賞球排出樋(不図示)とが嵌合されている。この裏カバー45に装着されたケースCA1の内部に主制御基板1が配設され、その前側に図柄制御基板2が配設されている(図21参照)。主制御基板1の下側で、裏カバー45に装着されたケースCA2の内部にランプ制御基板4が設けられ、隣接するケースCA3の内部に音声制御基板3が設けられている。
【0113】
これらケースCA2,CA3の下側で、裏機構板40に装着されたケースCA4の内部には、電源基板6と払出制御基板5が設けられている。この電源基板6には、電源スイッチ53と初期化スイッチ54とが配置されている。これら両スイッチ53,54に対応する部位は切欠かれ、両スイッチを指で同時に操作可能になっている。発射ハンドル30の後側に装着されたケースCA5の内部には、発射制御基板7が設けられている。そして、これらの回路基板1〜7は夫々独立して構成され、電源基板6と発射制御基板7を除く制御基板2〜6には、ワンチップマイコンを備えるコンピュータ回路が搭載されている。
【0114】
以上、本発明の一実施例について具体的に説明したが、本発明の遊技機は、上記した各実施例の構成に限らず適宜変更可能である。例えば、上記の実施例では、主制御基板と複数のサブ制御基板とをそれぞれ別の基板構成として、主制御基板からの制御コマンドを一方向通信によって伝送したが、例えば、図24の構成も含め、任意の組合せ構成が可能である。図24では、矢印が制御コマンドなどの信号の伝送方向を示しており、例えば、図24(b)のように、確認信号(ACK)を返送するようにしても良い。また、音声制御基板を独立した回路基板に構成する必要はなく、図24(b)(c)のように、他の制御部との複合基板としても良い。
【0115】
【発明の効果】
以上説明したように、本発明によれば、ノイズなどの影響を事実上排除した万全のノイズ対策を施した遊技機を実現することができる。
【図面の簡単な説明】
【図1】Fiコマンド取得用の変換テーブル(a)と、Fiコマンドの抽選テーブル(b)である。
【図2】FiコマンドとSiコマンドとサウンドNOの関係を説明する図面である。
【図3】FiコマンドからSiコマンドを特定する方法を図示したものである。
【図4】SiコマンドからサウンドNOを特定する方法を図示したものである。
【図5】サウンドNOから音声データを特定する方法(a)と、音声データのデータ構造(b)を図示したものである。
【図6】メインルーチンを説明するフローチャートである。
【図7】タイマ割込みルーチンを説明するフローチャート(a)、及びその作業領域を図示したものである。
【図8】タイマ割込みルーチンの一部を詳細に図示したフローチャートである。
【図9】タイマ割込みルーチンの一部を詳細に図示したフローチャートである。
【図10】メインルーチンの一部を詳細に図示したフローチャートである。
【図11】図10の一部を詳細に図示したフローチャートである。
【図12】メインルーチンの一部を詳細に図示したフローチャートである。
【図13】サウンド制御用の作業テーブルSNDCTBLを図示したものである。
【図14】音声出力用の割込み処理を説明するフローチャートである。
【図15】制御コマンド受信用の割込み処理を説明するフローチャートである。
【図16】図6の一部を詳細に説明するフローチャートである。
【図17】実施例に係るパチンコ機の全体構成を示すブロック図である。
【図18】音声制御基板の構成を示すブロック図である。
【図19】CH0の内部割込みを説明する概略フローチャートである。
【図20】実施例に係るパチンコ機の斜視図である。
【図21】図20のパチンコ機の側面図である。
【図22】図20のパチンコ機の正面図である。
【図23】図20のパチンコ機の背面図である。
【図24】基板構成の変形例を図示したものである。
【符号の説明】
ST1〜14    メイン処理部
ST20〜27   割込み処理部(タイマ割込み)
STOUT1〜12 割込み処理部(音声出力割込み)
WDT       リセット部(ウォッチドッグタイマ)
S102〜103  リセット禁止手段
1         主制御部(主制御基板)
3         音声制御部(音声制御基板)
21  遊技機(パチンコ機)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a gaming machine such as a pachinko machine, an arrangement ball machine, a sparrow ball game machine, and a revolving game machine, and more particularly, to a gaming machine with a complete noise countermeasure.
[0002]
[Prior art]
A gaming machine is generally composed of a plurality of circuit boards separated by function, and the plurality of circuit boards operate synchronously based on control commands, thereby realizing a complex gaming operation as a whole. Such a gaming machine is generally composed of a main control board that outputs a control command and a plurality of sub-control boards that operate based on the control command from the main control board.
[0003]
Sub-control boards include, for example, a symbol control board that controls a liquid crystal display, a payout control board that controls the payout operation of a game ball by driving a payout motor, a lamp control board that blinks an LED lamp, and a voice control that drives a speaker. There are substrates and the like.
[0004]
[Problems to be solved by the invention]
By the way, a large number of gaming machines are installed in the gaming hall in close proximity, and these gaming machines with built-in solenoids, motors, and the like are operating at the same time, so there is a considerable noise environment. Therefore, the control command may be garbled due to noise, or the data in the RAM work area may be garbled.
[0005]
In such a case, for example, an unexpectedly meaningless sound may be generated from the speaker, which may give a great distrust to the player. In particular, when a loudspeaker is used to produce powerful sound effects, an unacceptably loud noise may occur over a long period of time. It is necessary to take all possible measures to prevent this situation from occurring.
[0006]
The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a gaming machine in which noise countermeasures are thoroughly taken.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problem, the invention according to claim 1 includes a main processing unit that is executed in an infinite loop, and one or more interrupt processing units that are started by interrupting other processes being executed. A reset unit that forcibly returns the control operation to the initial state according to the result of its own timing operation, and the timing operation of the reset unit is initialized on the condition that the operation of the interrupt processing unit is executed. A reset prohibiting means for returning to the state is provided.
[0008]
The reset prohibiting unit may be provided in either the main processing unit or the interrupt processing unit, but is preferably provided in the main processing unit. In this case, whether or not the operation of the interrupt processing unit has been executed is determined by a flag value set at the final stage of the interrupt processing unit.
[0009]
Preferably, the present invention preferably includes two or more types of interrupt processing units, and the reset prohibiting unit returns the timing operation of the reset unit to the initial state on condition that the operations of the plurality of interrupt processing units are executed. ing. A determination means for repeatedly determining the validity of the inspection data stored in the predetermined area in advance, and an avoidance means for avoiding the operation of the reset prohibition means when the determination means determines that the validity is not valid. It is also preferable that the main processing unit is provided. The inspection data is not particularly limited, but a checksum sum value or data obtained by copying data at a plurality of addresses in the ROM to the RAM area is preferably used. Prior to avoiding the operation of the reset prohibiting means, it is preferable to set the CPU in an interrupt acceptance prohibited state.
[0010]
In addition, the present invention preferably includes a main control unit that mainly controls gaming operations and a sub-control unit that realizes individual operations based on control commands from the main control unit. It is an example, and is composed of a main control unit that mainly controls gaming operations, and a plurality of sub-control units that realize individual operations based on control commands from the main control unit, the main processing unit, More preferably, the interrupt processing unit and the reset unit are provided in all or part of the main control unit and the sub-control unit.
[0011]
On the other hand, the invention according to claim 6 is a gaming machine comprising: a main control unit that mainly controls gaming operations; and a voice control unit that realizes voice production based on a control command from the main control unit. The audio control unit is configured to include a main process executed in an infinite loop and an interrupt process that interrupts other processes being executed and outputs an audio signal. The interrupt process is an audio signal to be output. Regardless of the presence or absence of, it is started regularly. In the present invention, since the audio circuit is always driven, there is virtually no possibility of abnormal sounds occurring for a long time. Here, it is preferable that the interrupt process functions to output a sound signal corresponding to the received control command and to continue outputting a silence signal to the sound circuit after the output of the sound signal. It is.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the gaming machine of the present invention will be described in more detail based on examples. FIG. 17 is a block diagram illustrating the overall configuration of the pachinko machine according to the embodiment. The illustrated pachinko machine has a main control board 1 for centrally controlling gaming operations, a symbol control board 2 for changing the characters and symbols displayed on the liquid crystal display 8, and a voice for driving a speaker to realize a sound effect. A control board 3, a lamp control board 4 that realizes a lamp effect by blinking lamps, a payout control board 5 that pays out game balls, and a launch control board that is controlled by the payout control board 5 and fires game balls 7 and a power supply substrate 6 that receives AC 24V and supplies a DC voltage to each part of the apparatus.
[0013]
The main control board 1, the design control board 2, the voice control board 3, the lamp control board 4, and the payout control board 5 are each composed of a computer circuit having a one-chip microcomputer. Based on the control command from the main control board 1, the individual control operations described above are realized. In this embodiment, the control command has a 2-byte length and is transmitted by a one-way parallel communication method, but is not particularly limited to this configuration.
[0014]
FIG. 18 is a block diagram showing a circuit configuration of the audio control board 3. As illustrated, the audio control board 3 includes a one-chip microcomputer 10, an amplifier 11 that amplifies an analog audio signal (mixed sound of the sound effect BGM and the background sound SE) output from the one-chip microcomputer 10, and a watchdog timer ( WDT) 12.
[0015]
The one-chip microcomputer 10 includes an input port 13 that receives a control command from the main control board 1, an output port 14 that outputs a clear pulse to the watchdog timer 12, a CPU core 15 that controls the operation of the audio control board 3, A TPU (Timer Pulse Unit) 16 that outputs various signals based on the system clock; an interrupt controller 17 that receives internal interrupt signals CH0 and CH1 from the TPU 16 and a strobe signal STB (external interrupt signal) from the main control board 1; D / A converter 18 that receives PCM audio data restored in software and outputs an audio analog signal, and stores a control program and ADPCM data (adaptive differential pulse code modulation) in a fixed manner A ROM (Read Only Memory) 19, and is structured around a RAM (Random Access Memory) 20 used as a work area of the control program (work area).
[0016]
When the clear pulse to be output from the output port 14 is interrupted for a predetermined time or more, a reset signal is output from the watchdog timer 12 to the CPU core 15, and the CPU core 15 is reset and the control program is started from the beginning. Will be re-executed.
[0017]
As shown in FIG. 18, the interrupt controller 17 is supplied with internal interrupt signals CH0 and CH1 from the TPU 16 and a strobe signal STB from the main control board 1, both of which can be prohibited (masked). It is a signal. Here, the strobe signal STB is a signal output from the main control board 1 together with a control command, and is supplied to the interrupt controller 17 as an IRQ (Interrupt Request) signal. Is supplied with an interrupt signal INT and outputs an interrupt vector for specifying an interrupt processing routine.
[0018]
The internal interrupt signal is set to be output from the channel 0 and the channel 1 of the TPU 16 respectively, but the interrupt signal CH1 from the channel 1 is set to be emitted every 4 mS, and the interrupt signal CH0 from the channel 0 is Are set to be emitted at each sampling period (τ) individually set by the control program. Here, the sampling period means the output interval (τ) of the audio analog signal output from the D / A converter 18.
[0019]
The sampling period (τ) is individually set by the control program so that the sampling period can be appropriately changed according to each voice message output from the D / A converter 18. For example, when reproducing audio data (ADPCM data) acquired at sampling frequencies of 8 KHz, 16 KHz, and 32 KHz and stored in the ROM 19, the time intervals (τ) of 125 μS, 62.5 μS, and 31.25 μS, respectively. When the interrupt signal CH0 is issued, the ADPCM data is converted into PCM data and output from the D / A converter 18 at a timing corresponding to the sampling frequency.
[0020]
In connection with these points, the operation of the TPU 16 will be described in more detail. TPU16 (Hitachi) has TCNT (timer counter), TGR (timer general register), TSR (timer status register), TIER (timer interrupt register) and others for each channel. It is provided for each. In this embodiment, a timer upper limit value is set in the TGR (timer general register), the TCNT (timer counter) count-up operation is started, and the TCNT counted up in synchronization with the system clock is started. When the value matches the upper limit value of TGR, the TGF flag of TSR (timer status register) of TPU 16 is turned on. In accordance with this operation, TCNT (timer counter) is cleared to zero.
[0021]
Here, when TIER (timer interrupt register) is set to the interrupt enabled state, an internal interrupt of channel 0 or channel 1 is generated and transmitted to the interrupt controller 17. The interrupt controller 17 generates an interrupt signal INT to the CPU core 15 according to the interrupt priority. If the CPU core 15 is in an interrupt acceptance state EI (Enable Interrupt), the interrupt controller 17 is specified by an interrupt vector. The interrupt processing program stored at the address is executed.
[0022]
Therefore, for example, when reproducing audio data with sampling frequencies of 8 KHz, 16 KHz, and 32 KHz, in the embodiment in which the frequency of the system clock is 20 MHz, the timer is set in the TGR (timer general register) of channel 0, respectively. As the upper limit value, 20000/8, 20000/16, 20000/328 may be set. Then, after the TCNT is cleared to zero, when the start of the count-up operation is instructed by software, the value of the TCNT is updated at a speed of 20 MHz, and the TSR of the TPU 16 is updated after the predetermined number of count-up operations. The TGF flag of the (timer status register) is turned on.
[0023]
As described above, when the TGF flag is turned on, the interrupt signal INT is output to the CPU core 15 on condition that the TIER (timer interrupt register) is turned on. The TGF flag of the (timer status register) is returned from the on state to the off state in the interrupt processing program. In addition, the TIER (timer interrupt register) of the TPU 16 and the IER (IRQ enable register) of the interrupt controller 17 are also turned on or off by software, and the interrupt operation is appropriately managed. Yes.
[0024]
In this embodiment, an audio effect is realized by using such an internal interrupt from the channel 0 (CH0) of the TPU 16. FIG. 19 is a flowchart in which a portion related to the interrupt of channel 0 is extracted from the main routine (details will be described later) shown in FIG. As shown in the figure, after the CPU is reset, such as when the power is turned on, the CPU is disabled from accepting interrupts (DI state disable interrupt), and (1) the counter upper limit value (a value corresponding to 8 KHz) is set in TGR At the same time, (2) the count-up operation is started after TCNT is cleared to zero, and (3) the TIER (timer interrupt enable register) of channel 0 is set to the on state (ST4).
[0025]
As a result, after the CPU is set to the interrupt permission state (EI state enable interrupt) (ST5), an internal interrupt of channel 0 is generated every 125 μS (= 1/8 KHz). However, since silence data is stored in the SNDDATA address of the work area in the first stage (ST3) and the SNDFLG address for BGM sound and SE sound is set to 00H (ST3), D / An audio circuit such as an A converter is driven in a silent state. Although the significance of the SNDDATA address and the SNDFLG address will be described later, this embodiment always drives the audio circuit in a silent state even when no audio production is performed, and such characteristic configuration generates abnormal sound due to noise or the like. Is effectively prevented.
[0026]
That is, when the audio circuit is maintained in a non-driven state (for example, a state in which an interrupt of channel 0 is not generated), the input value of the D / A converter is maintained at an abnormal level due to the influence of noise and the like. However, in this embodiment, since the interruption of channel 0 is constantly generated, the SNDDATA address is repeatedly rewritten to silence data when unnecessary (see FIG. 14 STOUT11 ′, etc.), such a trouble cannot occur.
[0027]
1 to 5 exemplify a reference table for explaining the relationship between the control command received from the main control board 1 and the voice information issued from the voice control board 3. In this embodiment, in response to a 2-byte length control command transmitted from the main control board 1, sound information obtained by mixing sound effects (SE) and background sounds (BGM) is output from the speaker SP. First, this series of processes will be schematically described.
[0028]
As shown in FIG. 1 (a), a 1-byte Fi command (complete information Full Intelligence Command) is specified in response to the received 2-byte control command. Here, the Fi command is to completely specify a series of audio information. For example, when the symbol change operation is started in the liquid crystal display 8 in accordance with a winning at the symbol start opening, the symbol change is performed. (1) “I can expect this time!” → (2) ... (silent state) → (3) "Hore reach!" → (4) ... ( Silence state) → (5) A series of sound effects SE such as “Yeah! Big hit !!!!” are specified together with the background sound BGM (usually music).
[0029]
The Fi command is configured by combining the classification information (1) to (5) as described above, and the classification information is specified by the Si command (Semi Intelligence Command). That is, the Fi command is composed of a combination of Si commands, and by combining a plurality of Si commands, (1) “I can expect this time!”, (2)... (Silent state), (3 ) "Hello reach!", (4) ... (silence state), (5) "Yeah! Big hit!"
[0030]
FIG. 2 schematically shows the relationship between the Fi command, the Si command, and the sound NO. As shown in FIGS. 2A and 2B, for one Fi command, an Si command for background sound (BGM) and an Si command for sound effect (SE) are specified. For example, in the case of the Fi command with the command number 01H, the combination of a series of 10 Si command numbers (50H, 23H, 50H, 24H, 41H, 50H, 4BH, 4CH, 5CH, 50H) is specified as the sound effect. As a background sound, a combination of a series of seven Si command numbers (01H, 51H, 02H, 51H, 10H, 0FH, 51H) is specified. H means a hexadecimal number.
[0031]
Each Si command is defined along with its playback time. In the case of the sound effect (SE) illustrated in FIG.
(1) Si command 50H (silence) that requires 9.4 seconds of playback time
(2) Si command 23H which requires a playback time of 0.7 seconds
(3) Si command 50H (silence) requiring a playback time of 12.7 seconds
(4) Si command 24H requiring a reproduction time of 1.0 second
(5) Si command 41H requiring a playback time of 0.8 seconds
(6) Si command 50H (silence) requiring a playback time of 3.6 seconds
(7) Si command 4BH requiring a playback time of 2.0 seconds
(8) Si command 4CH requiring a playback time of 0.8 seconds
(9) Si command 5CH, which requires a playback time of 11.27 seconds
(10) Si command 50H (silence) requiring a playback time of 0.004 seconds
Means that the Fi command 1 is activated. The Si command to be executed among the series of Si commands is determined by the progress counter CNT for SE. Directed by SE.
[0032]
These points are the same for the background sound. In the case of the background sound (BGM) illustrated in FIG.
(1) Si command 01H which requires a reproduction time of 9.4 seconds
(2) Si command 51H (silence) requiring a playback time of 0.7 seconds
(3) Si command 02H requiring a playback time of 12.7 seconds
(4) Si command 51H (silence) requiring a playback time of 3.6 seconds
(5) Si command 10H requiring a reproduction time of 4.8 seconds
(6) Si command 0FH that requires a playback time of 9.1 seconds
(7) Si command 51H (silence) requiring a playback time of 0.004 seconds
Means that the Fi command 01H is activated. The BGM progress counter CNT determines which Si command is currently to be executed in the series of Si commands. Directed by BG.
[0033]
Each Si command is further configured to specify a combination of a sound NO that is an audio part and its playback time. For example, in the example of FIG. 2 (a), the Si command 5CH is a sound NO47H requiring a reproduction time of 0.6 seconds → a sound NO47H requiring a reproduction time of 0.6 seconds → ... → reproduction of 1.1 seconds. Sound NO47H requiring time →... → Equipped with sound NO56H requiring reproduction time of 2 seconds. As described above, the sound NO and the reproduction time thereof are not necessarily fixed, and the reproduction time is appropriately changed. The sound NO to be executed among the series of sound NOs is determined by the progress counter PT. Directed by CNT. In FIG. 2, ENDCD is a code indicating the end of data, and the playback time is in units of mS (milliseconds) and is specified in the format ** / 4. This is because interrupt processing occurs every 4 ms.
[0034]
As described above, in this embodiment, the Fi command is specified from the control command, the Si command combination is specified by the Fi command, and each Si command is configured to specify the sound NO combination. 3 to 5 illustrate in more detail the relationship from the identification of the Fi command number to the reproduction of the audio signal, and FIG. 3 illustrates the relationship between the Fi command number and a series of Si commands for realizing this. Is shown. FIG. 4 shows the relationship between the Si command and a series of sound NOs for effecting this, and FIG. 5 shows the relationship between the sound NO and the storage location of the corresponding audio data (ADPCM data). Is shown.
[0035]
Hereinafter, the control program of the voice control board 3 will be described based on these points. In the present embodiment, the control program for the voice control board 3 includes a main routine (FIG. 6) that starts executing after power-on, a timer interrupt processing routine (FIG. 7) that is started every predetermined time (4 mS), A sound output interrupt routine (FIG. 14) for supplying PCM data to the D / A converter at each sampling period (τ), and a reception interrupt routine (FIG. 15) started upon receiving a strobe signal STB from the main control board 1; It is composed of an abnormal interrupt routine (not shown) that is started due to a program runaway or the like.
[0036]
When a timer interrupt (FIG. 7), a sound output interrupt (FIG. 14), and a reception interrupt (FIG. 15) are started, the CPU is disabled. In this embodiment, the CPU is interrupted in the interrupt processing routine. Since one of the interrupt processing is started during the execution of the main routine, the other interrupt signals are suspended unless the EI instruction is executed in the main routine (ST5). Become.
[0037]
Further, at the end of the timer interrupt (FIG. 7) and the sound output interrupt (FIG. 14), the main routine (FIG. 7) is executed by setting the flag WDFLG1 and the flag WDFLG2 to the ON state and executing each interrupt process at least once. 6).
[0038]
Furthermore, at the end of the timer interrupt (FIG. 7) and the sound output interrupt (FIG. 14), the TGF flag of the TPU 16 TSR (timer status register) is changed from the on state to the off state. Therefore, the count-up operation of TCNT (timer counter) of TPU 16 which is cleared to zero at this stage is started by the internal module resetting process (ST5 in FIG. 19), and again the TGR (timer general register) Until the value is reached, the CH0 interrupt will not occur.
[0039]
First, the main routine will be described with reference to FIG. When the power is turned on or a reset signal is received from the watchdog timer 12, the CPU enters a reset state, and after the CPU puts itself into an interrupt acceptance disabled state (DI), whether or not all the inspection data Di match. Is checked (ST1). Here, the inspection data Di is obtained by copying stored data of a specific plurality of ROMs (addresses AD1, AD2,..., ADn) to n addresses in the RAM area.
[0040]
Then, as the check process, it is determined whether or not all the n pieces of inspection data stored in the RAM area match the stored data in the ROM (addresses AD1, AD2,..., ADn). Here, if even one of the inspection data Di does not match, the RAM 20 of the one-chip microcomputer 10 constituting the voice control board 3 is cleared to zero (ST2). On the other hand, if all the inspection data Di match, The process of step ST2 is skipped.
[0041]
Next, 80H (silent data) is stored at the SNDDATA address where the output data to the D / A converter 18 is stored, and the flag value (the value of the SNDFLG address) is set to 00H to prohibit the output of the sound effect SE and the background sound BGM. Set to. Further, the built-in module is initialized and the inspection data Di is set (ST3). This setting process corresponds to the inspection data Di described above. For example, as shown in FIG. 16 (a), ROMs (AD1, AD2,. , ADn address) is copied to n addresses in RAM not used as a work area (work area).
[0042]
When the setting of the inspection data Di is completed in this way, next, after the audio output process is executed (ST4), the CPU is set to an interrupt enabled state (EI: enable interrupt) and the built-in one-chip microcomputer 10 The module is reset to the initial state (ST5).
[0043]
After the CPU executes the EI instruction, a maskable interrupt signal including an internal interrupt of CH0 is accepted thereafter. However, since silence data is stored in the SNDDATA address after the power is turned on (ST3), silence is output from the AD converter 18 in the voice output interrupt process (FIG. 14) that occurs after 125 μS has elapsed (1 / 8K). Is output (see STOUT1 in FIG. 14). Since the SE sound and BGM sound flag values (the value of the SNDFGLG address) are set to 00H (ST3), after the silence is output from the AD converter 18, the silence data is again input to the SNDDATA address. Is stored (see STOUT11 ′ in FIG. 14).
[0044]
Subsequent to the process in step ST5, a process related to the sound control work table (see FIG. 13) that manages the activation of the sound NO is performed (ST6). Specifically, as shown in FIG. 12, the processes of steps ST92 to ST97 are performed on the control work tables SNDCTBL (for BGM) and SNDCTBL (for SE) shown in FIG. First, the data of the SNDNO address storing the sound NO in the work table SNDCTBL and the inverted data of the data of the SNDNOCS address are compared, and if they match, the data of the SNDNO address is used as the sound NO in the subsequent processing (ST92). ).
[0045]
On the other hand, if the two do not match, the data in the backup area SNOBUP is used as the sound NO on condition that the data in the SNOBUP address and the inverted data of the data in the SNOBUPC address match (ST92). If neither data can be used, silence processing is performed so that no sound is output from the speaker.
[0046]
As described above, the first information and the second information obtained by inverting the first information are stored in the work area, and the data stored in the work area by the first and second information is stored. The validity is checked. In this way, the validity of the data (sound NO) is strictly checked in the case of the present embodiment in addition to the occurrence of a data reception interrupt (FIG. 15) during the execution of the main routine, as well as a timer for every 4 ms. Since the interrupt (FIG. 7) and the audio output interrupt (FIG. 14) are executed in parallel and control processing for the sound NO is performed at a complicated timing in each, data mismatch may occur due to the influence of noise or the like. Because there is sex. The validity check is not limited to the above method, but may be a checksum method using a predetermined number of bits.
[0047]
Subsequently, the sound NO and its inverted data are stored in the SNOBUP address, SNDNOCS address, and SNOBUPC address of the work table SNDCTBL (ST93). Further, the data of the ADFLG address, SNDADR address, SNDFLG address, SNDNO address, DELTA address, XN address, ADFLG address, and SNDADR address of the work table SNDCTBL are acquired in this order (ST94). Here, the reason why the data at the ADFLG address and the SNDADR address is acquired twice is that the stored data may change due to a timer interrupt (FIG. 7) or an audio output interrupt (FIG. 14) during the process of step ST94. Because there is. Therefore, as long as the first and last data do not match, all the data is acquired again.
[0048]
Next, (SNDFLG + SNDNO + DELTA + AFDLG + XN + SNDADR H + SNDADR L), the checksum is calculated by 16-bit addition operation, and the inverted data is converted to B Store in the CS address (ST95). SNDADR H is the upper 2 bytes of the 4-byte length address value (4 bytes from SNDADR address), SNDADR L means the lower 2 bytes. In addition, B of work table SNDCTBL DELTA address, B Address XN, B ADFLG address, B SNDADR address, B SNDNO address, B Backup data is stored in the address SNDFLG. This also takes into consideration that the stored data may change due to the occurrence of a timer interrupt (FIG. 7) or an audio output interrupt (FIG. 14) during the processing of step ST94.
[0049]
Subsequently, address information and other information corresponding to the sound NO are acquired based on the reference table SNDBL of FIG. 5A and stored in the SNDSTR address, SNDEND address, SNDLOOP address, and SMPFRQ address of the work table SNDCTBL (ST96). ).
[0050]
The processes in steps ST92 to ST96 are performed for the control work tables SNDCTBL (for BGM) and SNDCTBL (for SE). The contents of the control work table SNDCTBL are updated during the execution of the main routine (mainly ST4). This is because the audio information output process (FIG. 14) is also progressing at every sampling period (τ).
[0051]
When the process of step ST6 is completed as described above, the inspection data set in the process of step ST3 is checked (ST7). Specifically, as shown in FIG. 16B, the n pieces of inspection data stored in the RAM area are stored in the ROM (AD1, AD2,..., ADn address as in the case of step ST1. First, it is determined whether or not all the stored data match.
[0052]
Here, when there is even one non-matching data, an infinite loop process is entered. In this case, it is preferable to enter the infinite loop process after setting the CPU to the interrupt acceptance disabled state (DI). This is because an abnormal sound may be emitted when the voice output interrupt process (FIG. 14) is started in this state as long as an abnormality is found in the inspection data.
[0053]
In any case, since the infinite loop process is entered, the clear pulse for the watchdog timer 12 is not supplied, and the CPU is eventually reset. After that, it is determined that the inspection data does not match, and the process proceeds to the RAM clear process (ST2).
[0054]
On the other hand, when the inspection data check process (ST7) is normally completed, a watchdog timer process is executed (ST8). The specific contents are as shown in FIG. 16 (c), and it is determined whether or not both the watchdog flags WDFLG1 and WDFLG2 are in the on state (S100, S101). If there is, after the flags WDFLG1 and WDFLG2 are returned to the off state (S102), a clear pulse is output to the watchdog timer 12 (S103).
[0055]
As shown in step ST27 of FIG. 7 and step STOUT12 of FIG. 14, the watchdog flags WDFLG1 and WDFLG2 are set to the ON state at the end of the interrupt processing. The process proceeds from step S102 to S103, and the watchdog timer 12 is cleared. However, if at least one of the interrupt processes is not executed, the watchdog process of step ST8 is finished without doing anything. Therefore, if any one of the interrupt processes is not executed for a predetermined time or longer, a CPU reset signal is output from the watchdog timer 12 to the CPU core 15.
[0056]
As described above, in this embodiment, since the main routine (FIG. 6) always checks whether or not the interrupt processing of FIGS. 7 and 14 is normally executed, the program runs away due to the influence of noise or the like. Even in such a case, the operation state of the sound control board can be quickly returned to the initial state, and abnormal sound is prevented from being generated from the speaker.
[0057]
When the watchdog process (ST5) is completed as described above, the command conversion process and the random number distribution process are performed on the condition that a new control command is received (ST9). If a new control command has been received, 5AH is stored in the COM WRT address (ST9). Here, the command conversion process is a RING that cyclically stores control commands from the main control board 1. The BUFFER area (see the reception buffer in FIG. 15B) is checked, and if a new control command is detected, the control command is referred to the Fi command by referring to the conversion table as shown in FIG. It is processing to convert to. The random number distribution process is a process for changing the Fi command with reference to a lottery table as shown in FIG.
[0058]
In the random number distribution process, specifically, the Fi command is changed by the Fi command determined by the command conversion process and the random value RND. Here, the random value RND is, for example, 0 to 255 (= RND). It is a numerical value up to MAX). Therefore, in the example of FIG. 1B, when the Fi command determined by the command conversion process is 11H, if 0 ≦ random number value RND ≦ 68 or 79 ≦ random number value RND ≦ 255, Fi command = 11H. However, if 69 ≦ random number value RND ≦ 78, the Fi command is changed to 83H.
[0059]
Next, the random value RND is updated (ST10). In this embodiment, the random number value RND is 0 to 255 (= RND). MAX), it is updated by incrementing (+1) the random number value RND within the numerical range. Subsequently, the value of the sound NO write completion flag RCMDFLG is checked. If this flag RCMDFLG is not set, it is determined that there is no audio information to be newly output, and the process returns to step ST5 (ST11). The sound NO write completion flag RCMDFLG is set when the sound NO corresponding to the new control command is determined in the timer interrupt process (FIG. 7) (see ST58 in FIG. 9 (a)).
[0060]
Therefore, if it is confirmed in step ST11 that the sound NO write completion flag RCMDFLG is set, sound NO analysis processing is executed (ST12). Specifically, the sound NO written in the timer interrupt process (FIG. 7) is copied to the work area RCMD, and various information corresponding to the sound NO is stored in the corresponding column of the sound control work table SNDCTRL. Store (ST12).
[0061]
Further, in the sound NO analysis process (ST12), the validity of the sound NO is also determined. If it is determined that the sound is not valid, the process returns to step ST5. The process proceeds to the output activation process (ST14). Note that sound NO is not valid because multiple interrupt processes may be executed in multiple layers. In such a case, since the audio output activation process is skipped, abnormal audio information Is prevented from being output.
[0062]
If it is determined in step ST13 that the sound NO is valid, a series of sound data sampling periods (τ) corresponding to the extracted sound NO is specified as the sound output activation process, The internal interrupt signal CH0 is set to be output from the TPU 16 at every sampling period (τ) (ST14). Specifically, a predetermined value is set as an upper limit value in TGR (timer general register), TCNT is cleared to zero, then a count-up operation is started, and TIER (timer The interrupt enable register is turned on (see FIG. 19).
[0063]
Thereafter, the processing returns to step ST5. However, since the internal interrupt signal CH0 is set to be output from the TPU 16, thereafter, an internal interrupt is generated every sampling period (τ), corresponding to the specified sound NO. Audio data is output every sampling period (τ) (see FIG. 14). When a series of audio data output is completed by a plurality of CH0 interrupt processes (FIG. 14), silence processing is performed in the interrupt process of FIG. 14 (see the broken line portion in FIG. 14), and thereafter The silence is continuously output from the D / A converter 18. In the silence process, since the sampling frequency is set to 16 KHz, silence is output with a time period of 62.5 μS (= 1/16 KHz).
[0064]
These audio output processes will be confirmed with reference to FIG. When TCNT (timer counter), which has been cleared to zero in the process of step ST14, reaches the counter upper limit value and is cleared to zero, voice output CH0 interrupt processing (FIG. 14) is executed. After this interrupt processing is completed, TIER (timer interrupt enable register) is turned on again (ST5 in FIG. 19), and the count-up operation of TCNT (timer counter) is resumed (FIG. 19). 19 ST5). Therefore, the interruption of CH0 is repeatedly executed every sampling period (τ) specified by the sound NO.
[0065]
After a series of audio data is output in this manner, the sampling frequency is set to 16 KHz in the silence process of FIG. 14, and thereafter, 16 KHz until an audio effect corresponding to a new control command is started. The silence data of the sampling frequency is repeatedly output from the D / A converter 18.
[0066]
As described above, after the power is turned on, the processing from steps ST5 to ST14 is repeated in an infinite loop, but the timer interrupt processing shown in FIG. 7 is performed in parallel with such main routine processing. In timer interrupt processing, the BGM variable TIME that manages the playback time of the Si command Variable TIME for BG and SE It is decremented (-1) until SE becomes zero (ST20). Further, the BGM variable PT1 and SE variable PT2 which manage the reproduction time of the sound NO are decremented until they become zero (ST20). As described above with reference to FIG. 2, the playback time of the Si command and the sound NO is specified and extracted, but each variable TIME is used to realize the specified playback time. BG, TIME SE, PT1, and PT2 are decremented. Since the interrupt period of the timer interrupt is 4 mS, for example, 9400/4 = 2350 interrupt processes are required to realize a reproduction time of 9.4 seconds.
[0067]
Subsequently, work area COM It is determined whether or not the value of WRT is 05H (ST21). As described in step ST6 of FIG. 6, when a new control command is acquired, the work area COM 05H is written in WRT. So work area COM If WRT = 05H, after initializing the work area for the Fi command and the work area for the Si command (ST22), COM that is the command buffer area The Fi command stored in the SND (not shown) is changed to the COM command storage area COM. Store in NUM (ST23).
[0068]
The work areas for Fi command and Si command have the data structures shown in FIGS. 7B and 7C, and the work area for Fi command has a storage area COM. A NUM is provided. In addition, the time variable TIME for the Si command which becomes a problem in step ST20. BG, TIME SE is provided in the work area for Fi command, and time variables PT1 and PT2 for sound NO are provided in the work area for Si command.
[0069]
When the process of step ST23 is completed, the Fi command storage area COM Buffer area BUP by bit-inverting the contents of NUM COM to indicate that the initial processing for the new control command has been completed while storing in NUM Zero is stored in the WRT address (ST24). COM WRT address = 0 (COM If WRT ≠ 05H), the processing of steps ST22 to ST24 is skipped.
[0070]
Subsequently, Fi command expansion processing is performed (ST25). The details of the Fi command expansion process are as shown in FIG. 8. Based on the Fi command stored in the NUM and the Si progress counter, the Si command to be executed is identified. The Si progress counter is the CNT in the Fi command work area. BG and CNT This is the value of SE, and for one Fi command, a BGM (background sound) Si command and an SE (notification sound) Si command are specified. The specified BGM (background sound) Si command and SE (notification sound) Si command are respectively the BGM area and the PT of the SE area in FIG. Stored in NUM.
[0071]
As a result of the above processing, the Si command to be executed is specified, and then data expansion processing is performed for the Si command (ST26). The details of the Si command data development process are as shown in FIG. 9, but in a simplified manner, the Si command and the sound NO progress counter PT Based on the CNT, the sound NO to be activated is identified. Here, the progress counter is the PT of the BGM area. PT of CNT and SE area 2 This is the value of CNT, and the sound NO for BGM and SE is specified for one Fi command. Then, the two specified types of sound NO are stored in RCMDBF1 and RCMDBF2 shown in FIG.
[0072]
FIG. 8 is a flowchart showing specific contents of the Fi command expansion process (ST25 in FIG. 7). First, an error confirmation process (ST30) for the Fi command work area (see FIG. 7B) is executed. Specifically, (1) COM NUM value and BUP Comparison with NUM inverted value, (2) COM Validity check of whether Fi command stored in NUM is within a predetermined numerical range, (3) CNT BG value and BUP Comparison with the inverted value of BG, (4) CNT SE value and BUP The comparison with the inverted value of SE is performed, and if any abnormality is detected, the work area for Fi command (FIG. 7B) is initialized and the process is terminated. As described above, in this embodiment, since abnormality determination is performed prior to the expansion process of the Fi command, abnormal voice information is not output.
[0073]
Next, the variable TIME It is determined whether or not the value of BG has become zero (ST31). Variable TIME BG manages the playback time of the BGM Si command, and is a variable that is decremented every 4 mS in step ST20 of FIG. Therefore, TIME If BG = 0, the process proceeds to step ST32 in order to specify the Si command to be executed next. Specifically, COM Of the group of Si commands corresponding to the storage data (Fi command) at the NUM address, the BGM progress counter CNT Data Dx (Si command) corresponding to BG is acquired (ST32).
[0074]
Then, it is determined whether or not the Si command is the end code ENDCD (see FIG. 3) (ST33). If the Si command is not the end code ENDCD, the reproduction time of the Si command is set to the time variable TIME. Set as the initial value of BG. Next, it is determined whether or not the data Dx acquired in step ST32 is a continuation code (ST35). If it is not a continuation code, the BGM work in the Si command work area (FIG. 7C) is determined. Area 1 is initialized (ST36). Specifically, the 4th address (PT) from the SEMIDT address shown in FIG. TIME, PT NUM, PT CTH is stored with 00H, and the next 2 addresses (PT NUM BP, PT CNT 0FFH is stored in (BP).
[0075]
Thereafter, the Si command (Dx) acquired in the process of step ST32 is used as the PT of the work area 1 for BGM. In addition to storing in the NUM address, the inverted data of the Si command (Dx) is stored in the PT of the BGM work area 1 NUM Store in the BP (ST37). And BGM progress counter CNT BG value is incremented (+1) and BGM progress counter CNT BUP the inverted data of BG Store at address BG (ST38). The inversion data is stored so that the validity of the Si command to be executed from now on and the validity of the value of the BGM progress counter for specifying the sound NO can be checked when necessary.
[0076]
With the above processing, the processing for the BGM area in the Si command work area (FIG. 7C) is completed. The specific processing contents of steps ST39 to ST46 are substantially the same as the processing contents of steps ST31 to ST38 described above, and necessary data is stored in the SE area (6 addresses starting from SEMIDT + 6). SE progress counter CNT The value of SE is also incremented (+1) (ST46).
[0077]
Next, the Si command data expansion process (ST26) of FIG. 7 will be described based on the flowchart shown in FIG. First, Si command error check processing is performed (ST50). Specifically, (1) PT in the BGM area shown in FIG. NUM address data and PT NUM Contrast with inverted data of BP address, (2) PT CNT address data and PT CNT Contrast with inverted data at address BP, and (3) PT in SE area NUM address data and PT NUM Contrast with inverted data at address BP, (4) PT CNT address data and PT CNT Processing such as comparison with the inverted data at the BP address is performed, and when an abnormality is detected, the BGM area and the SE area are initialized and the processing ends.
[0078]
Next, the register R3 is cleared to zero, and initial processing is performed for the BGM area in the Si command work area (FIG. 7B) (ST51). As a result, work for the BGM area is initially performed, and it is first determined whether or not the value of the time variable PT1 for managing the reproduction time of the BGM sound NO is zero (ST52). The time variable PT1 is set to an initial value in the process of step ST56 of FIG. 9A, and is decremented (−1) by the process of step ST20 of FIG. The case where PT1 = 0 is when it is time to finish executing the current sound NO and shift to the execution of the next sound NO.
[0079]
First, an instruction table PARTS as shown in FIG. From the COM address list, the PT of the BGM area (FIG. 7C) PARTS corresponding to Si command stored at NUM address COMi address information is extracted (ST53). Next, the extracted PARTS From the group of sound NO data stored in the COMi area (see FIG. 4B), the sound NO progress counter PT in FIG. Sound NO data Dz corresponding to CNT is extracted (ST54).
[0080]
If the extracted data Dz is not the end code ENDCD, the reproduction time of the sound NO specified by the processing in step 54 is set as the PT of the BGM area in FIG. Initial setting is made to the TIME address (ST56). If the data Dz is not a continuation code, the extracted sound NO (Dz) is stored in the work area RCMDBF1 shown in FIG. 7D, and the corresponding bit of the write completion flag RCMDFLG is set to 1. (ST58).
[0081]
Also, the sound NO progress counter PT in the BGM area 1 in FIG. While incrementing the value of CNT, the inverted data is changed to PT CNT Store in the BP address (ST59). With the above processing, the processing for the BGM area 1 in FIG. 7C is completed. Next, the value of the register R3 that has been reset to zero in the processing of step ST51 is checked (ST70). After writing, initial processing is performed for the SE area (ST71), and the process returns to step ST52.
[0082]
As a result, the same work as the work for the BGM area described above is subsequently performed for the SR area 2. That is, if PT2 = 0, PARTS From the group of sound NO data stored in the COMi area (see FIG. 4B), the sound NO progress counter PT in the SE area 1 in FIG. Sound NO data Dz corresponding to CNT is extracted (ST54). Then, the reproduction time of the sound NO specified by the processing in step 54 is set as the PT of the SE area in FIG. Initially set to the TIME address (ST56), the sound NO (Dz) is stored in the work area RCMDBF2 shown in FIG. 7D, and the corresponding bit of the write completion flag RCMDFLG is set to 1 (ST58). The process of step ST58 is as shown in detail in FIG. 9B, and FIG. 9C is a transcription of FIG. 7D.
[0083]
Next, the flowchart of FIG. 10 will be described. FIG. 10 shows the details of the sound NO analysis process (ST9) of FIG. In the sound NO analysis process, first, the corresponding bit of the sound NO write completion flag RCMDFLG shown in FIG. 9C is checked, and the sound NO is stored in the sound NO first buffer RCMDBF1 (see FIG. 9C). It is determined whether or not (ST70). If the determination result is Yes, the data of RCMDBF1, which is the reception buffer 1, is copied to the work area RCMD, and the corresponding bit of the sound NO write completion flag RCMDFLG is reset to indicate the work end (ST71).
[0084]
On the other hand, if the reception buffer 1 is determined to be empty by checking the sound NO write completion flag RCMDFLG, the corresponding bit of the sound NO write completion flag RCMDFLG is checked and the sound NO is stored in the sound NO second buffer RCMDBF2. It is determined whether it has been performed (ST72). If the determination result is Yes, the data of RCMDBF2, which is the reception buffer 2, is copied to the work area RCMD address, and the corresponding bit of the sound NO write completion flag RCMDFLG is reset to indicate the work end (ST72).
[0085]
The reason why the reception buffer 1 and the reception buffer 2 are checked in this way is that only one piece of audio information can be processed at a time. That is, the sound NO stored in the reception buffer 1 is stored in the RCMD address, and after the subsequent sound output activation (ST11), the processing of steps ST4 to ST8 is performed (the internal interrupt processing of CH0 is executed only once during this time). The sound corresponding to the reception buffer 1 may be output), and the sound NO stored in the reception buffer 2 is stored again at the RCMD address. If it is determined in step ST8 in FIG. 6 that “sound NO writing has been completed” but the determinations in steps ST70 and ST72 in FIG. 10 are both NO, the carry flag CY is set to 1. Set and finish the process (ST80).
[0086]
However, in a normal case, the sound NO stored in the reception buffer 1 or the reception buffer 2 is copied to the RCMD address (ST71, ST73). Next, the value of the sound NO is within a predetermined numerical range. It is determined whether or not it is (ST74). For example, if the sound NO is assigned to a numerical value range of 0 ≦ sound NO ≦ SNDmax, it is determined that a sound NO greater than SNDmax is an error, and the process proceeds to step ST80. Since such a determination process is provided, it is possible to prevent an abnormal sound from being output or a program from running away.
[0087]
If it is determined that the sound NO does not exceed the predetermined numerical range, the value of the sound NO is further checked, and if it is normal, the carry flag CY = 0 is set, and if it is abnormal, the carry flag CY = 1 is set (ST75). ). The sound NO check includes a process of referring to the reference table SNDTBL shown in FIG. 5, and if the content of the corresponding address in the reference table SNDTBL corresponding to the sound NO is zero, there is no ADPCM data. The carry flag CY = 1 is set as an abnormality.
[0088]
When the processing of step ST75 is completed, it is next determined whether or not the value of the sound NO is abnormal based on the value of the carry flag CY (ST76). If normal, the sampling frequency for reproducing the sound NO is acquired. (ST77). Specifically, as shown in FIG. 11A, a sound control work table SNDCTBL reserved for the background sound (BGM) and the sound effect (SE) (FIG. 11B, FIG. 13). Of which is used (ST80), and the sound NO is stored in the corresponding column of one of the work tables SNDCTBL (ST81). Of the sound control work tables SNDCTBL for background sound (BGM) and sound effect (SE), which should be used can be specified from the sound NO. That is, as shown in FIGS. 5B and 5C, it is possible to specify from sound NO whether it is related to BGM sound or SE sound (see BGM1 + 2 and SE1 + 2). ) Including the subsequent processing, one of the specified sound control work tables SNDCTBL is used.
[0089]
When the processing of step ST81 is completed, the position where the sound data (ADPCM data) corresponding to the sound NO is stored is specified, and information such as the start address and end address of the sound data is used for sound control from the header information. Store in the corresponding column of the work table SNDCTBL (ST82). Further, the sound flag (BGM / SE), the information on the presence / absence of repeated playback LOOP, and the sampling frequency are acquired from the header information of the audio data, and stored in the corresponding column of the sound control work table SNDCTBL (ST83). Finally, a data check process is performed (ST84). The process content is as described in the flowchart of FIG. 12, and is the same as the process related to step ST5 of FIG.
[0090]
FIG. 14 is a flow chart for explaining interrupt processing for audio output (CH0 internal interrupt of TPU 16). For example, when it is instructed to reproduce the audio data with the sampling frequency of 8 KHz by the process of step ST14 in FIG. 6, this CH0 interrupt process is executed every 125 μS, and the audio data with the sampling frequency of 16 KHz should be reproduced. In this case, the CH0 interrupt process is executed every 62.5 μS. Since this internal interrupt is an interruptable (maskable) interrupt, it is accepted on condition that the CPU is in the EI state (see ST5). In short, infinite loop processing (mainly ST5 to ST11) is performed. A cycle is a condition for execution.
[0091]
Based on the above, FIG. 14 will be described. Audio output interrupt (SND In (INT), first, the contents of the SNDDATA address are output to the D / A converter 18 (STOUT1). In the SNDDATA address, the previous interrupt processing (SND Since the PCM data (8-bit length) in which the SE sound and the BGM sound are mixed is stored by the process of step STOUT12 in (INT), the PCM data is output to the D / A converter 18. The D / A converter 18 converts the received PCM data into an analog signal and outputs it.
[0092]
Next, the content of the SNDFLG address (FIG. 13) for the background sound BGM is referred to (STOUT2). If the stored value of the address SNDFLG is 00H, the processing of steps STOUT3 to STOUT5 is skipped. On the other hand, if the value is other than 00H, the address value stored in the SNDADR address of the sound control (BGM) work table SNDCTBL is acquired to acquire the compressed audio data (ADPCM data) (STOUT3). The address value (data address during sound data conversion) stored in the SNDADR address is updated to the next address value (STOUT4). When the updated address value exceeds the final address value, silence processing including processing for storing 00H at the SNDFLG address is executed as indicated by the broken line portion.
[0093]
Next, the ADPCM data acquired in the process of step STOUT3 is converted into PCM data (background sound BGM) and temporarily stored (STOUT5). In this embodiment, since 8-bit PCM data is compressed into 4-bit ADPCM data, it is restored and temporarily stored.
[0094]
Since the background sound (BGM) has been restored by the above processing, next, the contents of the SNDFLG address (FIG. 13) for the sound effect SE are referred to (STOUT 6). If the stored value of the address SNDFLG is 00H, the background sound BGM and / or the sound effect SE is set as silence data and stored in the address SNDDATA, and then the process proceeds to step STOUT12 (STOUT11 '). That is, if the SNGMLG for BGM is 00H, the background sound BGM is silence data, and if the SNDFLG for SE is 00H, the sound effect SE is silence data. Therefore, in the next audio output interruption, only the background sound BGM, only the sound effect SE, or complete silence is output (see STOUT1).
[0095]
On the other hand, if the stored value of the SNDFLG address for the sound effect SE (FIG. 13) is a value other than 00H, the restoration process for the sound effect (SE) is performed. Specifically, the address value stored in the SNDADR of the work table SNDCTBL for sound control (SE) is acquired to acquire the compressed audio data (ADPCM data) (STOUT7), and the address stored in the SNDADR address. The value (data address during sound data conversion) is updated to the next address value (STOUT8).
[0096]
Then, when the updated address value exceeds the final address value, as shown by the broken line portion, a silence process including a process of storing 00H at the SNDFLG address is executed. After that, the ADPCM data acquired in the process of step STOUT7 is converted to PCM data (sound effect SE) (STOUT9), and then mixed with the temporarily stored background sound BGM (STOUT10). (STOUT11). This mixing sound is output to the D / A converter at the next audio interruption (see STOUT1).
[0097]
Finally, the flag value WDFLG2 of the work area is turned on to indicate that the voice output interrupt process is normally completed. Also, the TGF flag of the TPU 16 TSR (timer status register) is returned from the on state to the off state, and the interrupt process is completed (STOUT 12).
[0098]
Next, a reception interrupt for receiving a control command from the main control board 1 will be described with reference to FIG. As described above, the main control board 1 outputs the strobe signal STB together with the output of the control command, and the processing of FIG. 15 is started due to the reception of the strobe signal. Since this interrupt is also an interruptable (maskable) interrupt, it is accepted on the condition of one round of the main routine (mainly ST5 to ST11).
[0099]
In the reception interrupt, data is continuously received twice from the command input port 13, and it is first determined whether or not the two data match (identical check). This is because control command data that is garbled due to the influence of noise or the like is not received, and the process proceeds to the next reception process on condition that this identity check is OK for seven consecutive times. (STIN1, STIN2).
[0100]
If the determination in step STIN2 is Yes, then the control command received this time is compared with the control command received immediately before, and if they match, the process is terminated as it is (STIN3). This is because the same control command cannot be continuously output from the main control board 1, so that it is determined that there is some malfunction and the received control command is discarded.
[0101]
On the other hand, if the newly received control command is different from the control command received immediately before, the write pointer WR A control command is stored at the address indicated by POINT (STIN4). The write pointer WR The value of POINT is updated (STIN5). As shown in FIG. 15B, the reception buffer for storing the control command has a ring buffer structure, and has a write pointer WR. The value of POINT is updated cyclically. The control command stored in the reception buffer is read out in the process of step ST6 in FIG. Read pointer RD when reading POINT is used, and this read pointer RD POINT is also used by being updated cyclically.
[0102]
Finally, a bullet ball game machine to which the present invention is preferably applied will be described for confirmation. FIG. 20 is a perspective view showing the pachinko machine 22 of the present embodiment, and FIG. 21 is a side view of the pachinko machine 22. A plurality of pachinko machines 21 are arranged in the length direction of the island structure of the pachinko hall while being electrically connected to the card-type ball lending machine 22.
[0103]
The illustrated pachinko machine 21 includes a rectangular frame-shaped wooden outer frame 23 that is detachably mounted on an island structure, and a front frame 24 that is pivotably mounted via a hinge H fixed to the outer frame 23. It consists of A game board 25 is detachably attached to the front frame 24 from the back side, and a glass door 26 and a front plate 27 are pivotally attached to the front side so as to be freely opened and closed.
[0104]
The front plate 27 is provided with an upper plate 28 for storing game balls for launch. A lower plate 29 for storing game balls overflowing from or extracted from the upper plate 28 and a launch handle 30 are disposed below the front frame 24. And are provided. The launch handle 30 is interlocked with the launch motor, and a game ball is launched by a striking rod 31 (see FIG. 23) that operates according to the rotation angle of the launch handle.
[0105]
On the right side of the upper plate 28, an operation panel 32 for lending the ball to the card-type ball lending machine 22 is provided. On the operation panel 32, a card remaining amount display unit 32a for displaying the remaining amount of the card with a three-digit number. A ball lending switch 32b for instructing lending of game balls for a predetermined amount, and a return switch 32c for instructing to return the card at the end of the game. On the upper part of the glass door 26, a big hit LED lamp P1 indicating a big hit state is arranged. In addition, in the vicinity of the big hit LED lamp P1, abnormality notification LED lamps P2 and P3 are provided to indicate a replenishment state or a full state of the lower plate.
[0106]
As shown in FIG. 22, the game board 25 is provided with a guide rail 33 formed of a metal outer rail and an inner rail in an annular shape, and the liquid crystal color display 8 is provided at the approximate center of the game area 25a inside. Has been placed. In addition, at a suitable place in the game area 25a, a symbol start opening 35, a big winning opening 36, a plurality of normal winning openings 37 (four on the right and left of the big winning opening 36), and a gate 38 which is two passage openings are arranged. Has been. Each of these winning openings 35 to 38 has a detection switch inside, and can detect the passage of a game ball.
[0107]
The liquid crystal display 8 is a device that variably displays a specific symbol related to the big hit state, and displays a background image, various characters, and the like in an animated manner. This liquid crystal display 8 has special symbol display portions Da to Dc in the center portion and a normal symbol display portion 39 in the upper right portion. The normal symbol display unit 39 displays a normal symbol. When a game ball that has passed through the gate 38 is detected, the displayed normal symbol fluctuates for a predetermined time, and a lottery is drawn when the game ball passes through the gate 38. The stop symbol determined by the random number for lottery is displayed and stopped.
[0108]
The symbol start opening 35 is opened and closed by an electric tulip having a pair of left and right opening and closing claws 35a, and when the stop symbol after the fluctuation of the normal symbol display unit 39 hits and the symbol is displayed, the opening and closing claw 35a is kept at a predetermined time. Only to be released. When a game ball wins the symbol start opening 35, the display symbols of the special symbol display portions Da to Dc change for a predetermined time, and are determined based on the lottery result corresponding to the winning timing of the game ball to the symbol start opening 35. Stop at the stop symbol pattern.
[0109]
The special winning opening 36 is controlled to be opened and closed by an opening / closing plate 36a that can be opened forward. When the stop symbol after the symbol variation of the special symbol display portions Da to Dc is a winning symbol such as “777”, “big hit” is obtained. A special game is started and the opening / closing plate 36a is opened. There is a specific area 36b inside the big winning opening 36, and when the winning ball passes through the specific area 36b, a special game advantageous to the player is continued.
[0110]
After the opening / closing plate 36a of the big winning opening 36 is opened, the opening / closing plate 36a is closed when a predetermined time elapses or when a predetermined number (for example, 10) of game balls wins. At this time, if the game ball does not pass through the specific area 36b, the special game ends. However, if the game ball passes through the specific area 36b, the special game is continued up to, for example, 15 times, which is advantageous to the player. To be controlled. Furthermore, when the stop symbol after the change is a certain symbol of the special symbols (hereinafter referred to as a specific symbol), a privilege of shifting to a high probability state is given after the special game ends.
[0111]
As shown in FIG. 23, on the back side of the front frame 24, a back mechanism plate 40 for holding the game board 25 from the back side is detachably mounted. An opening 40a is formed in the back mechanism plate 40, and a prize ball tank 41 and a tank rail 42 extending therefrom are provided on the upper side thereof. A payout device 43 connected to the tank rail 42 is provided on the side of the back mechanism plate 40, and a passage unit 44 connected to the payout device 43 is provided below the back mechanism plate 40. The game balls paid out from the payout device 43 are paid out to the upper plate 28 from the upper plate discharge port 28a (FIG. 20) via the passage unit 44.
[0112]
The opening 40a of the back mechanism plate 40 is fitted with a back cover 45 mounted on the back side of the game board 25 and a winning ball discharge basket (not shown) for discharging the game balls won in the winning holes 35 to 37. Has been. The main control board 1 is disposed inside the case CA1 attached to the back cover 45, and the symbol control board 2 is disposed on the front side thereof (see FIG. 21). Below the main control board 1, the lamp control board 4 is provided in the case CA2 attached to the back cover 45, and the sound control board 3 is provided in the adjacent case CA3.
[0113]
Below these cases CA2 and CA3, a power supply board 6 and a payout control board 5 are provided in a case CA4 mounted on the back mechanism plate 40. A power switch 53 and an initialization switch 54 are disposed on the power board 6. The parts corresponding to both the switches 53 and 54 are notched, and both switches can be operated simultaneously with a finger. A launch control board 7 is provided inside the case CA5 attached to the rear side of the launch handle 30. And these circuit boards 1-7 are each comprised independently, The computer circuit provided with the one-chip microcomputer is mounted in the control boards 2-6 except the power supply board 6 and the launch control board 7. FIG.
[0114]
As mentioned above, although one Example of this invention was described concretely, the game machine of this invention can be suitably changed not only in the structure of each above-mentioned Example. For example, in the above embodiment, the main control board and the plurality of sub-control boards are configured as different board configurations, and the control command from the main control board is transmitted by one-way communication. For example, the configuration of FIG. Any combination configuration is possible. In FIG. 24, an arrow indicates a transmission direction of a signal such as a control command. For example, an acknowledgment signal (ACK) may be returned as shown in FIG. Further, it is not necessary to configure the voice control board as an independent circuit board, and it may be a composite board with another control unit as shown in FIGS.
[0115]
【The invention's effect】
As described above, according to the present invention, it is possible to realize a gaming machine with a complete noise countermeasure that virtually eliminates the influence of noise and the like.
[Brief description of the drawings]
FIG. 1 is a conversion table (a) for obtaining Fi commands and a lottery table (b) for Fi commands.
FIG. 2 is a diagram for explaining a relationship between a Fi command, a Si command, and a sound NO.
FIG. 3 illustrates a method for specifying a Si command from a Fi command.
FIG. 4 illustrates a method for identifying a sound NO from an Si command.
FIG. 5 illustrates a method (a) for specifying sound data from a sound NO and a data structure (b) of the sound data.
FIG. 6 is a flowchart illustrating a main routine.
FIG. 7 is a flowchart (a) illustrating a timer interrupt routine and a work area thereof.
FIG. 8 is a flowchart illustrating a part of a timer interrupt routine in detail.
FIG. 9 is a flowchart illustrating a part of a timer interrupt routine in detail.
FIG. 10 is a flowchart illustrating a part of the main routine in detail.
FIG. 11 is a flowchart illustrating a part of FIG. 10 in detail.
FIG. 12 is a flowchart illustrating a part of the main routine in detail.
FIG. 13 illustrates a work table SNDCTBL for sound control.
FIG. 14 is a flowchart illustrating an interrupt process for audio output.
FIG. 15 is a flowchart illustrating interrupt processing for receiving a control command.
FIG. 16 is a flowchart illustrating a part of FIG. 6 in detail.
FIG. 17 is a block diagram illustrating an overall configuration of a pachinko machine according to an embodiment.
FIG. 18 is a block diagram illustrating a configuration of an audio control board.
FIG. 19 is a schematic flowchart illustrating an internal interrupt of CH0.
FIG. 20 is a perspective view of a pachinko machine according to an embodiment.
21 is a side view of the pachinko machine shown in FIG.
22 is a front view of the pachinko machine shown in FIG.
FIG. 23 is a rear view of the pachinko machine shown in FIG. 20;
FIG. 24 illustrates a modified example of the substrate configuration.
[Explanation of symbols]
ST1-14 Main processing part
ST20-27 Interrupt processing unit (timer interrupt)
STOUT1-12 Interrupt processing unit (audio output interrupt)
WDT reset section (watchdog timer)
S102-103 Reset prohibition means
1. Main control unit (main control board)
3. Voice control unit (voice control board)
21 game machines (pachinko machines)

Claims (8)

無限ループ状に実行されるメイン処理部と、実行中の他の処理を中断して開始される一種又はそれ以上の割込み処理部と、自らの計時動作の結果に応じて制御動作を強制的に初期状態に戻すリセット部とを備えると共に、前記割込み処理部の動作が実行されたことを条件に、前記リセット部の計時動作を初期状態に戻すリセット禁止手段を設けたことを特徴とする遊技機。A main processing unit that is executed in an infinite loop, one or more interrupt processing units that are started by interrupting other processes being executed, and a control operation that is forced according to the results of its own timing operation A gaming machine comprising a reset unit for returning to an initial state, and provided with a reset prohibiting means for returning the timing operation of the reset unit to an initial state on condition that the operation of the interrupt processing unit is executed . 前記割込み処理部を二種類以上備え、前記リセット禁止手段は、複数の割込み処理部の動作が実行されたことを条件に、前記リセット部の計時動作を初期状態に戻している請求項1に記載の遊技機。The two or more types of the interrupt processing units are provided, and the reset prohibiting unit returns the timing operation of the reset unit to the initial state on condition that the operations of a plurality of interrupt processing units are executed. Game machines. 予め所定領域に記憶した検査データの正当性を、その後も繰返し判定する判定手段と、
前記判定手段によって正当でないと判定された場合には、前記リセット禁止手段の動作を回避させる回避手段とを
前記メイン処理部に設けている請求項1又は2に記載の遊技機。
A determination means for repeatedly determining the validity of the inspection data stored in the predetermined area in advance,
3. The gaming machine according to claim 1, wherein an avoidance unit that avoids the operation of the reset prohibiting unit is provided in the main processing unit when it is determined that the determination unit is not valid.
遊技動作を中心的に制御する主制御部と、前記主制御部からの制御コマンドに基づいて個別的な動作を実現するサブ制御部とで構成されている請求項1〜3の何れかに記載の遊技機。The main control part which mainly controls game operation | movement and the sub control part which implement | achieves individual operation | movement based on the control command from the said main control part are comprised in any one of Claims 1-3. Game machines. 遊技動作を中心的に制御する主制御部と、前記主制御部からの制御コマンドに基づいて個別的な動作を実現する複数のサブ制御部とで構成され、前記メイン処理部、前記割込み処理部、及び前記リセット部は、前記主制御部と、前記サブ制御部の全部又は一部に設けられている請求項1〜4の何れかに記載の遊技機。A main control unit that mainly controls game operations and a plurality of sub-control units that realize individual operations based on control commands from the main control unit, the main processing unit, the interrupt processing unit The game machine according to any one of claims 1 to 4, wherein the reset unit is provided in all or a part of the main control unit and the sub control unit. 遊技動作を中心的に制御する主制御部と、前記主制御部からの制御コマンドに基づいて音声演出を実現する音声制御部とを備える遊技機において、前記音声制御部は、無限ループ状に実行されるメイン処理と、実行中の他の処理を中断して音声信号を出力する割込み処理とを備えて構成され、
前記割込み処理は、出力すべき音声信号の有無に係わらず定常的に起動されるようになっていることを特徴とする遊技機。
In a gaming machine including a main control unit that mainly controls gaming operations and a voice control unit that realizes voice production based on a control command from the main control unit, the voice control unit is executed in an infinite loop shape Main processing, and interrupt processing for outputting an audio signal by interrupting other processing being executed,
The gaming machine according to claim 1, wherein the interruption process is constantly started regardless of the presence or absence of an audio signal to be output.
前記割込み処理は、受信した制御コマンドに対応する音声信号を出力する一方、この音声信号を出力し終えた後は、無音信号を音声回路に出力しつづけるよう機能している請求項6に記載の遊技機。The function of claim 6, wherein the interrupt processing functions to output a sound signal corresponding to the received control command, and to continue outputting a silence signal to the sound circuit after finishing outputting the sound signal. Gaming machine. 無限ループ状に実行されるメイン処理部と、実行中の他の処理を中断して一単位分の音声出力処理を実行する割込み処理部とを備え、
計時タイマが所定の上限値に達すると、前記計時タイマが初期値に戻されると共に前記割込み処理が起動されるよう構成されている請求項6又は7に記載の遊技機。
A main processing unit that is executed in an infinite loop, and an interrupt processing unit that interrupts the other processing being executed and executes an audio output process for one unit,
The gaming machine according to claim 6 or 7, wherein when the clock timer reaches a predetermined upper limit value, the clock timer is reset to an initial value and the interrupt process is started.
JP2002200264A 2002-07-09 2002-07-09 Game machine Expired - Fee Related JP3779944B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002200264A JP3779944B2 (en) 2002-07-09 2002-07-09 Game machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002200264A JP3779944B2 (en) 2002-07-09 2002-07-09 Game machine

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2006007563A Division JP4237763B2 (en) 2006-01-16 2006-01-16 Game machine
JP2006007564A Division JP4267628B2 (en) 2006-01-16 2006-01-16 Game machine

Publications (2)

Publication Number Publication Date
JP2004041321A true JP2004041321A (en) 2004-02-12
JP3779944B2 JP3779944B2 (en) 2006-05-31

Family

ID=31707180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002200264A Expired - Fee Related JP3779944B2 (en) 2002-07-09 2002-07-09 Game machine

Country Status (1)

Country Link
JP (1) JP3779944B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007049238A (en) * 2005-08-05 2007-02-22 Victor Co Of Japan Ltd Digital broadcast receiver
JP2010263965A (en) * 2009-05-13 2010-11-25 Takao Co Ltd Pinball game machine
JP2013192897A (en) * 2012-03-22 2013-09-30 Sanyo Product Co Ltd Game machine
JP2018078955A (en) * 2016-11-14 2018-05-24 株式会社藤商事 Game machine

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007049238A (en) * 2005-08-05 2007-02-22 Victor Co Of Japan Ltd Digital broadcast receiver
JP4661443B2 (en) * 2005-08-05 2011-03-30 日本ビクター株式会社 Digital broadcast receiver
JP2010263965A (en) * 2009-05-13 2010-11-25 Takao Co Ltd Pinball game machine
JP2013192897A (en) * 2012-03-22 2013-09-30 Sanyo Product Co Ltd Game machine
JP2018078955A (en) * 2016-11-14 2018-05-24 株式会社藤商事 Game machine

Also Published As

Publication number Publication date
JP3779944B2 (en) 2006-05-31

Similar Documents

Publication Publication Date Title
JP4112242B2 (en) Game machine
JP3691794B2 (en) Game machine
JP4257660B2 (en) Game machine
JP2023063571A (en) game machine
JP2006346495A (en) Game machine
JP3691796B2 (en) Game machine
JP3779944B2 (en) Game machine
JP3891847B2 (en) Game machine
JP4237763B2 (en) Game machine
JP4414971B2 (en) Game machine
JP2023054149A (en) game machine
JP3941935B2 (en) Game machine
JP4267628B2 (en) Game machine
JP4806004B2 (en) Game machine
JP4295770B2 (en) Game machine
JP2006068568A (en) Game machine
JP4267599B2 (en) Game machine
JP2005103332A (en) Game machine
JP4295769B2 (en) Game machine
JP2005103330A (en) Game machine
JP2005103331A (en) Game machine
JP2005296683A (en) Game machine
JP2005296686A (en) Game machine
JP2005296685A (en) Game machine
JP2005296684A (en) Game machine

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060116

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: 20060214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060303

R150 Certificate of patent or registration of utility model

Ref document number: 3779944

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: 20090310

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130310

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140310

Year of fee payment: 8

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