(57)【特許請求の範囲】
【請求項１】
複数の処理を実行する制御装置を備えた遊技機において、
その制御装置は、前記複数の処理毎の個別な処理を実行するための個別プログラムを記憶する個別プログラム記憶手段と、
前記複数の処理の少なくとも二以上の処理に共通する一部分の処理を実行するための共通プログラムを記憶する共通プログラム記憶手段と、
その共通プログラムを実行することで中断される前記個別プログラムの実行を再開するために必要な復帰情報を記憶する復帰情報記憶手段と、
前記個別プログラムを実行し、必要に応じて前記共通プログラムを実行し、その共通プログラムを実行することにより中断された前記個別プログラムの実行を再開するために必要な復帰情報を前記復帰情報記憶手段に記憶し、その共通プログラムの実行が終了したときにその記憶した復帰情報に基づいて前記中断された個別プログラムを再開する処理手段を備え、
前記復帰情報記憶手段が複数の領域に区分けされており、
前記複数の処理には、遊技中に行われる遊技処理と、外部電源からの通電が遮断されたときに中断された前記遊技処理を再開するための情報を保存する電源断時処理と、外部電源からの電力の供給が再開されたときに前記電源断時処理により保存した情報に基づいて前記遊技処理を再開させる復電処理が含まれており、
前記遊技処理において復帰情報が記憶される領域と、前記復電処理において復帰情報が記憶される領域とが異なるように指定されている遊技機。
【請求項２】
外部電源からの通電が遮断されたときにＲＡＭに記憶されている情報を保存し、外部電源からの電力の供給が再開されたときにその保存された情報を用いて通電遮断により中断された処理を再開する制御装置を備えた遊技機において、
その制御装置は、
遊技中に行われる遊技処理と、
外部電源からの通電が遮断されたときに中断された遊技処理を再開するための情報を保存する電源断時処理と、
外部電源からの電力の供給が再開されたときに電断断時処理により保存した情報に基づいて遊技処理を再開させる復電処理と、を実行し、
復電処理と電源断時処理には共通的に実行される共通処理が含まれる一方で、復電処理と電源断時処理と遊技処理のそれぞれには個別に実行される個別処理が含まれており、
ＲＡＭには、遊技処理と電源断時処理と復電処理のそれぞれの処理を実行するときに一時的に復帰情報を格納するためのスタック領域を有しており、
復電処理実行時において使用するスタック領域と、電源断時処理又は遊技処理時において使用するスタック領域とが異なることを特徴とする遊技機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は複数の処理を実行する制御装置を備えた遊技機に関し、詳しくは、制御装置のプログラム記憶容量を小さくするための技術に関する。
【０００２】
【従来の技術】
例えば、パチンコ機のように高度に電装化された遊技機では、多数の電装装置が装備され、これら電装装置は別途設けた制御装置により制御される。この制御装置には各電装装置を制御するための制御プログラムが記憶されており、制御装置はこの制御プログラムを適宜実行することで各電装装置に所定の動作を行わせる。
【０００３】
上述した遊技機においては、遊技者にとって面白みの高い遊技機とするため遊技演出を多様化させたいという要求が強く、この要求を満足するためには電装装置に複雑で多様な動作を行わせる必要が生じる。したがって、制御装置で実行される処理も多種多様になり、それに伴い制御装置全体のプログラム記憶容量も大きくなるという問題が生じている。
このような問題を解決する一般的な方法としては、制御装置で実行される各処理の中で共通する部分のプログラムを共通化（サブルーチン化）し、各処理を実行する際に必要に応じてこのサブルーチン化したプログラムを実行する方法がある。このようなサブルーチン化する方法では、各処理に個別な処理に付いては個別の制御プログラムにより行われるが、共通する部分に付いては一つのプログラムで行われるためプログラム容量の削減に寄与する。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述したサブルーチン化して制御プログラムの容量を削減する方法が、単純には適用できないような場合が生じてきている。
すなわち、上述したサブルーチン化する方法では、サブルーチン化した処理を実行した後もとの処理に復帰する必要があるため、このための情報（以下、復帰情報という）をＲＡＭ等の所定領域（典型的には、スタック領域と呼ばれる領域）に記憶する必要がある。
一方、上述したパチンコ機のような遊技機においては、近年突発的な停電や不意の電源オフ等により制御装置で行われている処理が中断されるという不具合を防止することが望まれている。したがって、停電等の通電遮断時においては実行途中の処理に関する情報（復帰情報を含む）をＲＡＭに保存し、通電回復後にこの保存した情報に基づいて中断された処理を再開する情報の保存機能を具備することが考えられている。このため、このような情報の保存機能を具備した遊技機においては、中断された処理を再開するためには中断された処理を再開するまでのあいだＲＡＭに保存されている情報（復帰情報を含む）は上書きすることなく保存していなければならないこととなる。
ここで、通電遮断後の電源投入時には、通常制御装置の初期化処理が行われるため、復帰情報が格納されている位置を特定するための情報（典型的には、スタックポインタ）も初期化（先頭のアドレスに設定）されることとなる。このため、スタックポインタで特定されるレジスタには、中断された処理を再開するために必要な復帰情報が記憶されていることとなる。したがって、通電遮断後の復電処理においてサブルーチン化された処理を実行すると、保存されている復帰情報の上に新たな復帰情報が上書きされることとなる。このため、情報の保存機能を有する遊技機において通電回復時に復電処理を行う場合には、サブルーチン化されたプログラムを実行することができないこととなる。
【０００５】
本発明は上述した実情に鑑みなされたものであり、その目的は、復帰情報を記憶する領域を複数の領域に区分けすることで、上述したような場合においてもサブルーチン化されたプログラムを実行できプログラム記憶容量を小さくすることができる遊技機を提供する。
【０００６】
【課題を解決するための手段及び効果】
上記課題を解決するため本願発明に係る遊技機は、複数の処理を実行する制御装置を備えた遊技機において、その制御装置は、前記複数の処理毎の個別の処理を実行するための個別プログラムを記憶する個別プログラム記憶手段と、前記複数の処理のうちの少なくとも二以上の処理に共通する一部分の処理を実行するための共通プログラムを記憶する共通プログラム記憶手段と、その共通プログラムを実行することで中断される前記個別プログラムの実行を再開するために必要な復帰情報を記憶する復帰情報記憶手段と、前記個別プログラムを実行し、必要に応じて前記共通プログラムを実行し、その共通プログラムを実行することにより中断された前記個別プログラムの実行を再開するために必要な復帰情報を前記復帰情報記憶手段に記憶し、その共通プログラムの実行が終了したときにその記憶した復帰情報に基づいて前記中断された個別プログラムを再開する処理手段を備える。
そして、前記復帰情報記憶手段が複数の領域に区分けされており、前記個別プログラム毎にその区分けされた領域の一つが復帰情報を格納する領域として指定される。
【０００７】
上記遊技機では、復帰情報を記憶する復帰情報記憶手段が複数の領域に区分けされ、個別プログラム毎に復帰情報を格納する領域が指定される。このため、一の個別プログラムを実行するあいだに共通プログラムを実行することで必要となる復帰情報を記憶する領域と、他の個別プログラムを実行するあいだに共通プログラムを実行することで必要となる復帰情報を記憶する領域とを別々の領域とすることができる。したがって、一の個別プログラムを実行することで記憶された復帰情報を変更することなく、他の個別プログラムを実行し、その実行中に共通プログラムを実行することができる。したがって、上述したような共通プログラムを実行する際の制限が無くなるため、プログラムの更なる共通化が図れプログラム記憶容量の軽減を図ることができる。
【０００８】
ここで、上記「複数の処理」には、遊技機を制御する際に大きくベースとなる一つの処理と認識される処理（例えば、遊技処理、電源断時処理、復電処理等）から、これらの処理工程の一部を構成する処理（例えば、遊技処理の一部を構成するコマンド作成処理等）の両者が含まれる。
【０００９】
ここで、復帰情報を格納する領域の指定方法は、特に制限があるわけではなく、ある個別プログラムの復帰情報を保存しながら他の個別プログラムを実行する際に共通化プログラムが実行できるように、これら二つの個別プログラムを実行するときの復帰情報を格納する領域が異なる領域となれば良い。
したがって、上述したような関係にする必要が無い個別プログラム同士の場合には、同一の領域に格納しても良く、また、別々の領域に格納する場合も、その格納方法はどのような方法をとっても良い。例えば、予め別々の領域を指定しても良いし、これとは別に、保存していた復帰情報を必要に応じて他の領域にコピーすることで結果として別々の領域になるようにしても良いし、また、状況に応じて格納する領域を適宜変更するような構成としても良い。
【００１０】
上記の遊技機において、前記複数の処理には、遊技中に行われる遊技処理と、外部電源からの電力の供給が遮断されたときに中断された前記遊技処理を再開するための情報を保存する電源断時処理と、外部電源からの電力の供給が再開されたときに前記電源断時処理により保存した情報に基づいて前記遊技処理を再開させる復電処理が含まれている場合には、前記遊技処理において保存される復帰情報を記憶する領域と、前記復電処理において保存される復帰情報を記憶する領域が異なるように指定されていることが好ましい。
上述した構成によれば、遊技処理において保存される復帰情報と、復電処理において保存される復帰情報が別々の領域に記憶されるため、遊技処理を再開するために必要となる復帰情報を変更することなく、復電処理において共通プログラムを実行することができる。
【００１１】
なお、本願発明の遊技機は、パチンコ機、スロットマシン等に適用すると特に効果的である。パチンコ機では、不正防止の観点から制御装置のプログラム記憶容量に制限があるためである。
【００１２】
【発明の実施の形態】
本発明を第１種パチンコ機におけるメイン制御部に適用した一実施の形態について図１乃至図８を用いて説明する。ここで、図１は第１種パチンコ機の外観を示す正面図であり、図２は本実施の形態に係るパチンコ機の制御部の構成を示すブロック図であり、図３はメイン制御部のメモリマップを示す図であり、図４は電源部１２０の構成を説明するための図面であり、図５は通電時におけるメイン制御部１００の処理のフローチャートであり、図６は通電遮断時におけるメイン制御部１００の処理のフローチャートである。
図１に示すようにパチンコ機１０の遊技盤面１２には、図柄表示装置１４、第１種始動口３０、大入賞口３４等が適宜配置されている。
第１種始動口３０は始動口センサ５６（図示しない；ただし、図２のブロック図に表示）を有し、パチンコ球が入賞すると通常の入賞口と同様に、遊技盤の裏側に設けられた賞球装置６０（図示しない；ただし、図２のブロック図に表示）より賞球(賞品球)を払い出す。また、大入賞口３４は開閉蓋３６を有し、その開平蓋３６はソレノイド５０（図示しない；ただし、図２のブロック図に表示）により開閉駆動されるようになっている。開閉蓋３６が開放される期間は、例えば大入賞口３４にパチンコ球が所定個数（一般的には１０個）入賞するか、開放してから３０秒間を経過するまでのいずれか早いほうで終了する。
【００１３】
遊技盤面１２の略中央には、図１に示すように図柄表示装置１４が組み付けられている。この図柄表示装置１４には、図柄表示器２２と、特別図柄の変動保留回数を表示する保留球ランプ２８等が設けられている。
図柄表示器２２は液晶表示器で構成され、その画面上に３つの特別図柄が所定条件下で変動表示される。この図柄表示器２２に変動表示される特別図柄は、変動停止時の図柄の組合せにより大当り遊技状態（大入賞口３４が開放される状態）に移行するか否かを遊技者に認識させる役割を果たす。ここで、特別図柄として用いる図柄には、文字(英数字や漢字等)、記号、図形、絵柄等があるが、本実施の形態では数字（０〜９）を用いている。
なお、本実施の形態における図柄表示器２２としては液晶表示器を用いたが、これ以外にもＣＲＴ表示器、ＬＥＤ表示器、プラズマ表示器等を使用することができる。
【００１４】
なお、遊技機１０には、図１に示すように、上述した遊技盤面１２以外にも、賞球や貸球を含むパチンコ球を一時的に貯留する下皿４０、タバコの吸い殻を入れる灰皿４２、賞球の受皿である上皿４６、上皿４６の内部に設けられて遊技状態に応じて効果音を発生するスピーカ５２等が設けられている。また、パチンコ機１０正面の適宜の位置には、パチンコ機１０の遊技状態に応じて発光するランプ類１６等を備える。なお、これら装置の構造等については、公知のパチンコ機に設けられたものと同一であるため、その詳細な説明は省略する。
【００１５】
次に、パチンコ機１０によるパチンコ遊技を実現するための電装系の構成について、図２、図３、図４を参照しながら説明する。
図２に示すように、パチンコ機１０の電装系は、パチンコ機１０全体を制御するメイン制御部１００と、このメイン制御部１００と接続された各種電装装置（ゲートセンサ５４、始動口センサ５６、ソレノイド５０、図柄表示器２２、賞球装置６０等）と、メイン制御部１００及びメイン制御部１００に接続された各種電装装置に電力を供給する電源部１２０とで構成される。
【００１６】
メイン制御部１００は、ＣＰＵ１０２と、ＣＰＵ１０２とバス１１４を介して接続されるＲＯＭ１０４、ＲＡＭ１０６、入力処理回路１０８、出力処理回路１１０、通信制御回路１１２等を有する。
ＣＰＵ１０２は、ＲＯＭ１０４に格納されている各種制御プログラムを実行してパチンコ機１０を制御する。ＲＯＭ１０４に格納されている制御プログラムには、図３に示すようにパチンコ遊技を実現するための処理（パチンコ遊技処理）、停電時にＲＡＭ１０６の内容を保存するための処理（停電処理）、停電復帰時にＲＡＭ１０６に保存した内容に基づき停電前の遊技を再開する処理（復電処理）等を実現するためのプログラムが含まれている。具体的には、上述したパチンコ遊技処理、停電処理、復電処理は、これらの各処理毎に個別の処理を行う個別プログラム（遊技処理プログラム記憶領域Ｍ１，電源断時処理プログラム記憶領域Ｍ２，復電処理プログラム記憶領域Ｍ３に格納）と、これらの各処理において共通するサブルーチン化された処理を行う共通プログラム〔例えば、ＲＡＭ１０６の異常判定処理（チェックサムの算出等）を行うプログラム〕により実現される。
【００１７】
ＲＡＭ１０６は、図３に示すように、先頭のアドレスから順に、上述した各プログラムを実行するための作業を行う作業領域Ｗと、未使用領域Ｎを挟んで上述したパチンコ遊技処理を実行する際に使用されるスタック領域Ｓ１と、上述した復電処理を実行する際に使用されるスタック領域Ｓ２とが設けられている。
作業領域Ｗには、アドレス７Ｆ００Ｈ〜７ＦＡＡＨまでが割付けられ、上述した各プログラムを実行する際に必要となるデータ（例えば、各種乱数、ラウンド数、保留球数、確率変動データ等）や入出力信号が格納される。
また、スタック領域Ｓ１には、アドレス７ＦＣ６Ｈ〜７ＦＦ１Ｈまでの領域が割付けられている。このスタック領域Ｓ１には、パチンコ遊技処理中にサブルーチン化した共通プログラムを実行するよう命令が出される際に、その共通プログラムを実行後に戻るべき場所を特定するための復帰情報（本実施形態では、アドレス）が格納される。この復帰情報が格納される位置は、スタックポインタにより特定され、このスタックポインタは、初期設定時に各スタック領域の末尾のアドレスに設定され、スタック領域に復帰情報が格納される毎に１ずつ減算されるようになっている。したがって、多重にサブルーチン化した共通プログラムが実行されると、スタック領域の末尾から順に若いアドレスに向かって復帰情報が格納されることとなる。なお、スタック領域に格納された復帰情報を用いてもとの処理に戻るとスタックポインタの値は１加算される。
スタック領域Ｓ２には、アドレス７ＦＦ０Ｈ〜７ＦＦＦＨまでの領域が割付けられている。このスタック領域Ｓ２も、基本的にはスタック領域Ｓ１と同一の機能を有し、スタック領域Ｓ２には、復電処理中にサブルーチン化した共通プログラムを実行した際の復帰情報が格納されるようになっている。
なお、このＲＡＭ１０６に格納された情報は、後述する電源部１２０のコンデンサ等のバックアップ用回路に通電中に貯えた備蓄電力により、通電が遮断された後もその記憶した情報を保持することができるようになっている。
【００１８】
入力処理回路１０８は、ゲートセンサ５４、始動口センサ５６等のセンサから出力された信号や、後述する停電検出部１３０から出力された停電信号を受信し、メイン制御部１００内で処理可能なデータ形式に変換する機能を有する。出力処理回路１１０は、ＣＰＵ１０２からバス１１４を介して送られてきた駆動データを受けて、ソレノイド５０等のパチンコ機１０に配設された電装装置を駆動する。通信制御回路１１２は、表示制御部２００や賞球制御部３００等にＣＰＵ１０２で作成されたコマンドを送信するための回路である。
また、表示制御部２００は、通信制御回路１１２から送信されたコマンドを受けて図柄表示器２２を制御するものであり、賞球制御部３００は、通信制御回路１１２から送信されたコマンドを受けて賞球装置６０を制御するものである。
その他、音制御部４００は、メイン制御部１００から送られてくるコマンドに基づいて遊技演出として適時効果音を発生する制御を行う。例えば、図柄表示器２２の図柄変動にあわせてその演出にあった効果音を発生し、その変動効果音発生中に始動口へ入賞した場合には、現在の効果音の音量を絞り、同時に入賞音を単発的に発生するよう制御が行われる。また、大当り中においては、次のラウンドへ移行するための特定入賞口への入賞音を、大当り中の演出効果音の音量を絞って同時に発生したり、また、最終ラウンド中に入賞した場合においては、逆にその入賞音を絞って遊技者には認識されない音量で発生したり、あるいは大当り中の演出効果音を絞って、その入賞音を異なった音に変えて同時に発生するよう制御が行われる。このように本実施の形態の音制御部４００は、複数の効果音を発生する条件が整った場合において、アピールしたい効果音のほうを遊技者により認識しやすく報知する制御が行われる。
なお、これらの表示制御部２００、図柄表示器２２、賞球制御部３００、賞球装置６０、音制御部４００、スピーカ５２は、従来公知のパチンコ機と同一であり、特に本発明を特徴付けるものではないのでここではその説明を省略する。
【００１９】
電源部１２０は、外部電源から供給されるＡＣ２４Ｖ電源をパチンコ機１０に装備された各電装品それぞれに応じた電圧の直流供給電源に整流・平滑化する電圧変圧部１４０と、停電その他の理由によって外部電源からの通電が遮断されたときにパチンコ機１０の各制御部（メイン制御部１００、賞球制御部３００等）に向けて停電信号を出力する停電検出部１３０とを備える。
電圧変圧部１４０は、図４に示すようにＡＣ２４Ｖ電源の波形を整流する整流回路１４２ａ，１４２ｂと、整流回路１４２ａ，１４２ｂにより整流された脈流波形を平滑化する平滑回路（ダイオードＤ１，Ｄ２，Ｄ３，Ｄ４とコンデンサＣ１，Ｃ２，Ｃ３，Ｃ４で構成）と、平滑回路により平滑化された波形を定電圧化する定電圧回路ＩＣ１、ＩＣ２、ＩＣ３とで構成される。
このような電圧変圧部１４０において通常時には、定電圧回路ＩＣ１により生成される＋５Ｖの信号がメイン制御部１００に対して供給される。また、停電等の通電遮断時においては、コンデンサＣ１に通電中に備蓄した電力が、メイン制御部１００に対して供給され、これによりメイン制御部１００は通電遮断後の処理を行うことが可能となる。
さらに、定電圧回路ＩＣ１から出力される＋５Ｖの信号は、並列に分離されてダイオードＤ５およびコンデンサＣ５を介してメイン制御部１００の情報保存用出力端子ＶＢＢに接続される。そして、このコンデンサＣ５に備蓄された電力は、停電等の通電遮断時においてメイン制御部１００のＲＡＭ１０６に供給され、ＲＡＭ１０６に記憶された情報が保持される。
【００２０】
次に、上述したように構成されるメイン制御部１００の処理について説明する。最初にパチンコ機１０への電源投入が行われ、通常のパチンコ遊技処理を実行する際のメイン制御部１００の処理について説明する。
【００２１】
（１）パチンコ遊技処理
電源投入されると、電源部１２０からメイン制御部１００に通電が開始され、メイン制御部１００に印可される電圧が所定の電圧となると次に説明する処理を開始する。このメイン制御部１００の処理を図５に基づいて説明する。
なお、図５においてステップＳ０８〜ステップＳ１４までの処理がパチンコ遊技処理に相当するが、ここでは電源投入時から（ステップＳ０１から）説明する。また、ステップＳ０１〜ステップＳ０５及びステップＳ１５、ステップＳ１６の一連の処理は復電処理に相当するが、この復電処理については後で詳細に説明する。
【００２２】
図５に示すように、電源が投入された後、メイン制御部１００では、まずスタックポインタにアドレス８０００Ｈが設定される（Ｓ０１）。したがって、この状態でサブルーチン化された共通プログラムが実行されると、その復帰情報はアドレス８０００Ｈに格納される。
次ぎに、メイン制御部１００の初期化処理が行われる（Ｓ０２）。具体的には、ＣＰＵ１０２の初期化、各入出力ポートの初期化が行われる。そして、ＲＡＭ１０６の異常を判定するためにチェックサムが算出される（Ｓ０３）。チェックサムは、ＲＡＭ１０６の各レジスタの値を所定の方法で加算した加算値であり、このチェックサムを算出する処理は、既に述べたようにサブルーチン化した共通プログラムを実行することにより行われる。したがって、ステップＳ０３のチェックサムを算出する際の復帰情報は、ポインタ値を１減算してＲＡＭ１０６のアドレス７ＦＦＦＨ（スタック領域Ｓ２の末尾）に格納される。
次いでＲＡＭ消去スイッチがＯＮ（操作）されたかどうかを判断する（Ｓ０４）。ここで、ＲＡＭ消去スイッチとは、電源遮断時において保存した情報を消去するために操作されるスイッチである。すなわち、保存した情報を利用して遊技を再開する必要がないとき（例えば、営業終了により電源ＯＦＦした翌日の営業開始時等）に操作されるスイッチであり、パチンコ機１０への電源投入時に操作され、メイン制御部１００に信号を出力する。したがって、ステップＳ０４でメイン制御部１００は、ＲＡＭ消去スイッチを操作することで出力された信号を受信したかどうかを判断する。
ＲＡＭ消去スイッチが操作されていた場合〔ステップＳ０４でＹＥＳ〕にはステップＳ０６に進み、ＲＡＭ消去スイッチが操作されていない場合〔ステップＳ０４でＮＯの場合〕には、次ぎにＲＡＭ１０６に異常があるかないかを判断する（Ｓ０５）。すなわち、ＲＡＭ１０６に保存した情報が何らかの原因で破壊されていた場合には、その情報を利用して遊技を再開することができないので、まずＲＡＭ１０６の情報が利用できるか否かを判断する。具体的な方法としては、ステップＳ０３で算出したチェックサム値が正常値と一致するか否かで判断する。ＲＡＭ１０６に異常があった場合〔ステップＳ０５でＹＥＳの場合〕にはステップＳ０６に進み、ＲＡＭ１０６に異常が無かった場合〔ステップＳ０５でＮＯの場合〕には保存した情報に基づいて処理を再開する処理に移行する（Ｓ１５、Ｓ１６）。この、ステップＳ１５及びステップＳ１６の処理の内容については後で説明する。
ステップＳ０６に進むと、メイン制御部１００はＲＡＭ１０６をクリアし（Ｓ０６）、次いでスタックポインタの値にアドレス７ＦＦ０Ｈが設定される（Ｓ０７）。したがって、ステップＳ０８からのパチンコ遊技処理においては、ポインタ値を１減算してスタック領域Ｓ１の末尾（アドレス７ＦＦ１Ｈ）から順に復帰情報が格納される。
【００２３】
パチンコ遊技処理では、まず、次ぎに出力データ作成処理を行う（Ｓ１０）。この出力データ作成処理では、パチンコ機１０に装備された各種センサ（ゲートセンサ５４、始動口センサ５６等）から出力された検出信号に基づいて電動役物（大入賞口３４を開閉するためのソレノイド５０等）を駆動するための出力データ（駆動データ）の作成を行う。この作成された出力データは、別途メイン制御部１００内に設けたＣＴＣ割込みタイマによる割込み処理（以下、単にＣＴＣ割込み処理という）により、各電装装置に出力される。
出力データ作成処理が終了すると、次いでコマンド作成処理を行う（Ｓ１１）。コマンド作成処理では、パチンコ機に装備された各種センサ（ゲートセンサ５４、始動口センサ５６等）から出力された検出信号に基づいて、表示制御部２００や賞球制御部３００等のサブ制御部に送信するコマンドを作成する。例えば、賞球制御部２００には賞球の払出を命じる賞球コマンドを作成し、図柄制御部に対しては特別図柄の変動を命じる図柄変動コマンドを作成する。この作成されたコマンドは、同じくＣＴＣ割込み処理により各制御部に送信される。
コマンド作成処理が終了すると、次いで外部情報作成処理を行う（Ｓ１２）。この外部情報作成処理では、大当り回数や確率変動中、球切れ報知等を遊技者、ホール店員等に報知するために報知装置（図柄表示器２２、ランプ１６、スピーカ５２、外部コンピュータ等）に出力する情報の作成を行う。この作成された情報も、ＣＴＣ割込み処理により各装置に向かって出力される。
次ぎに、ステップＳ１３では乱数更新処理を行う。この乱数更新処理では、初期値乱数の作成・更新やハズレ図柄の作成・更新を行う。このステップＳ１３の処理が終わると、次ぎにチェックサムを算出する（Ｓ１４）。このチェックサムの算出はステップＳ０３の処理で実行したときと同様、サブルーチン化された共通プログラムを実行することにより行われる。そして、チェックサム算出後、ステップＳ０８の処理に戻ってステップＳ０８からステップＳ１４までのパチンコ遊技処理を繰り返す。
なお、上述した各ＣＴＣ割込み処理が実行されたときにおいても、もとの処理に復帰するための復帰情報が保存されるが、その保存する場所は、ステップＳ０７で指定されるスタック領域Ｓ１に格納されることとなる。
【００２４】
（２）電源遮断時の処理
次に、停電や不意の電源ＯＦＦによりパチンコ機１０への電源供給が遮断された時のパチンコ機１０の動作を説明する。
外部電源からパチンコ機１０への電力供給が遮断されると、電源部１２０の停電検出部１３０からメイン制御部１００に停電信号が出力される。停電検出部１３０から出力された停電信号は、メイン制御部１００のＮＭＩ端子（ノンマスカラブルインタラプト端子）に入力し、メイン制御部１００では停電処理が行われる。なお、停電信号出力後の所定時間（停電処理を行うために必要となる時間）のあいだメイン制御部１００に供給される電力は、既に述べたように電源部１２０のコンデンサＣ１に通電時に蓄えられる電力により賄われる。
【００２５】
以下、メイン制御部１００において実行される停電処理について図６に基づいて説明する。
図６に示すように、停電信号を受信したメイン制御部１００は、まず停電信号受信時に実行している処理の場所を特定するための情報（プログラム中のアドレス）を、ＲＡＭ１０６のスタック領域Ｓ１に格納する（Ｓ２０）。次いで、現在のスタックポインタの値をＲＡＭ１０６の作業領域Ｗに記憶する（Ｓ２１）。したがって、後述する復電処理においては、ステップＳ２１で記憶したスタックポインタの値によってステップＳ２０で格納した情報（アドレス）が特定され、通電が遮断されたときの処理が再開されることとなる。
このような処理が完了すると、次いでチェックサムを算出する（Ｓ２２）。このチェックサムを算出する処理は、サブルーチン化された共通プログラムを実行することにより行われ、その復帰情報はステップＳ２０で記憶したアドレスの次ぎのアドレスに格納される。このようにステップＳ２１以降の処理においてもスタックポインタの値が更新されることとなるが、復電処理においてはステップＳ２１で記憶したスタックポインタの値が使用されるため、この影響を受けることは無い。
そして、メイン制御部１００はステップＳ２２で算出したチェックサムをＲＡＭ１０６の所定のアドレスに記憶し（Ｓ２３）、最後にＲＡＭ１０６へのアクセスを禁止して停電処理を終了する（Ｓ２４）。
なお、ＲＡＭ１０６には、通電遮断時において別途電源部１２０に設けた情報保存用電源（コンデンサＣ５により構成）から電力が供給され、ＲＡＭ１０６に記憶した情報が所定時間保持される。
【００２６】
（３）通電回復時の復電処理
次に、上述した停電処理によりＲＡＭ１０６に保存した情報を利用して中断された処理を再開するメイン制御部１００の復電処理について、図５を参照して説明する。
本実施の形態に係るパチンコ機１０において、ＲＡＭ１０６に保存した情報を使用して中断された処理を再開するためには、ＲＡＭ消去スイッチを操作することなくパチンコ機１０への電源投入を行う。電源投入が行われると、メイン制御部１００は、図５のＳ０１〜Ｓ０５、Ｓ１５、及びＳ１６の処理（復電処理）を実行する。
具体的には、メイン制御部１００は、図５に示すように、まずスタックポインタにアドレス８０００Ｈを設定する（Ｓ０１）。したがって、復電処理においてサブルーチン化された共通プログラムが実行されると、その復帰情報はスタック領域Ｓ２のアドレス７ＦＦＦＨから順に格納される。
次ぎに、メイン制御部１００の初期化処理が行われ（Ｓ０２）、ＲＡＭ１０６の異常を判定するためにチェックサムが算出される（Ｓ０３）。このチェックサムを算出する処理は、既に述べたようにサブルーチン化した共通プログラムを実行することにより行われ、その復帰情報はスタック領域Ｓ２のアドレス７ＦＦＦＨに格納される。
次いでＲＡＭ消去スイッチがＯＮ（操作）されたかどうかが判断される（Ｓ０４）。ここで、復電処理が有効となるのは、ＲＡＭ消去スイッチが操作されないときであるため、ステップＳ０４の判定はＮＯとなりステップＳ０５の処理に進む。
ステップＳ０５では、ＲＡＭ１０６に異常があるかないかを判断する（Ｓ０５）。復電処理を実行する場合にはステップＳ０５の判定がＮＯとなるので、次ぎにステップＳ１５に進んで、スタックポインタの値を停電処理におけるステップＳ２１（図６参照）で記憶した値に設定する（Ｓ１５）。そして、ステップＳ１５で設定したスタックポインタの値に基づいてレジスタ〔図６に示す電源断時処理のステップＳ２０で退避したレジスタ〕を復帰させ（Ｓ１６）、復電処理を終了する。
したがって、上述した復電処理が終了すると、メイン制御部１００はステップＳ１５で設定されたスタックポインタにより指定される復帰情報（停電処理のステップＳ２０で格納したアドレス）に基づいて処理を開始することとなり、メイン制御部１００の処理が通電遮断時に中断されたアドレスに戻り中断された処理が再開される。
【００２７】
次ぎに、上述した本発明に係るスタック領域の利用技術を理解し易くするために、図７及び図８を用いて具体的に説明する。図７、８はサブルーチン処理に移るときのプログラムとスタックの関係を説明する図である。図７及び図８の例では、サブルーチン処理として１バイトのデータ転送処理が行われる例を示している。
図７に示すプログラムでは、まずプログラムカウンタ（以下、単にＰＣという）０１００番地にジャンプする命令で始まる〔ＰＣ００００番地〕。そして、ＰＣ０１００番地に移ると、スタックポインタの値が８０００番地に設定される。これにより、この後の命令でサブルーチン処理が行われると、８０００番地から１を減算した７ＦＦＦ番地から順に復帰情報（ＰＣの番地）が格納されることとなる。
そして、ＰＣ０２００番地になるとラベル「ＤＡＴＡ」のサブルーチン処理が行われる。この際、スタック領域には、このサブルーチン処理が終了したときに戻ってくるＰＣの番地０２０３が格納される。すなわち、スタック領域７ＦＦＦ番地に０２が格納され、７ＦＦＥ番地に０３が格納される。
サブルーチン処理では、７Ｆ００番地の内容（データ）が７Ｆ５０番地へ転送され、その処理が終了するとＲＥＴ命令によりスタック領域に格納されている情報（ＰＣの値）に基づいてもとの処理に戻る。すなわち、ＰＣ０２０３番地に戻って処理を再開することとなる。
さらに、処理が進み遊技処理に移行すると、ＰＣ０３００番地でスタックポインタが７ＦＦ０番地に設定される。これにより、この後に行われる遊技処理においてサブルーチン処理が行われると、７ＦＦ０番地から１を減算した７ＦＥＦ番地に復帰情報（ＰＣの値）が格納されることとなる。
すなわち、ＰＣ０４００番地に進みラベル「ＤＡＴＡ」のサブルーチン処理が行われると、スタック領域の所定の番地にサブルーチン処理が終了したときに戻ってくるＰＣの値０４０３が格納される。すなわち、スタック領域７ＦＥＦ番地に０４が格納され、７ＦＥＥ番地に０３が格納される。そして、サブりーチン処理が終了すると、ＰＣ０４０３番地に戻って処理を再開する。
【００２８】
また、図８に示す電源断時のプログラムでは、まずＮＭＩ端子に停電信号を受信すると、実行処理中のＰＣの番地が（図８に示す例では、ＰＣ０４５０番地）がスタック領域に格納される。すなわち、ＰＣ０３００番地で指定されているスタック領域の７ＦＥＦ番地に０４が格納され、７ＦＥＥ番地に０５が格納される。
そして、ＰＣ００６６番地となると、ラベル「ＤＡＴＡ」のサブルーチン処理がコールされる。この際、前述の場合と同様に、サブルーチン処理が終了した後に戻ってくるＰＣの番地をスタック領域に格納する。すなわち、スタック領域７ＦＥＤ番地に００が格納され、７ＦＥＣ番地に６９が格納される。
そして、このサブルーチン処理が終了するとＰＣ００６９番地に戻って処理が再開される。そして、この電源断時の処理はＨＡＬＴ命令によりＣＰＵが停止して終了する。
電源断時の処理が終了したときに、スタック領域に格納されている情報は７ＦＥＦ番地以降に格納されている。したがって、通電回復時に行われる復電処理で使用されるスタック領域は７ＦＦＦ番地と違うため、電源断時にスタック領域に保存した情報を変更することはなく、復電処理においてサブルーチン化されたプログラムを実行することができる（図７に示す例では、ラベル「ＤＡＴＡ」のサブルーチン処理が復電回復直後から呼び出せ実行できる。）。
【００２９】
上述したことから明らかなように、本実施の形態に係るパチンコ機１０では、パチンコ遊技処理においてはＲＡＭ１０６のスタック領域Ｓ１を使用し、復電処理においてはスタック領域Ｓ２を使用する。したがって、復電処理においてサブルーチン化された共通プログラムを使用してもスタック領域Ｓ１に格納されている情報（中断された処理を再開するための情報）は変更されない。したがって、復電処理からサブルーチン化された共通プログラム（チェックサムの算出処理）を行うことができ、メイン制御部１００のプログラム記憶容量を小さくすることが可能となる。
【００３０】
以上、本発明の好適な一実施の形態について説明したが、本発明は上述した実施の形態に限られることなく、本発明は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。
【００３１】
例えば、上述した実施の形態においては、メイン制御部１００においてパチンコ遊技処理と復電処理に異なるスタック領域を指定し使用した例であったが、当然のことながら本発明の技術は、停電時に所定の情報を保存して通電回復時にその情報を利用して復電処理を実行する他の制御部（例えば、賞球装置６０を制御する賞球制御部３００、図柄表示器２２を制御する図柄制御部２００等）に適用することができる。
【００３２】
また、上述した実施の形態は本発明をパチンコ機に適用した例であったが、本発明はこの他にも、例えば、アレンジホール機（一定数の鋼球を遊技盤上に射出して所定の当たり状態を成立させるもの）、スロットマシン、雀球遊技機、パチスロ機等の各種遊技機にも適用することができる。
【図面の簡単な説明】
【図１】  本発明の一実施の形態に係るパチンコ機の外観正面図
【図２】  図１に示すパチンコ機の制御系の構成を示すブロック図
【図３】  メイン制御部のメモリマップを示す図
【図４】  電源部の構成を説明するための図
【図５】  メイン制御部における通電時の処理のフローチャート
【図６】  メイン制御部における通電遮断時のフローチャート
【図７】  サブルーチン処理に移るときのプログラムとスタックの関係を説明する図
【図８】  電源断時の処理においてサブルーチン処理に移るときのプログラムとスタックの関係を説明する図
【符号の説明】
１０・・パチンコ機
１００・・メイン制御部
２００・・賞球制御部
【図１】
0004317960.tif 000002
【図２】
0004317960.tif 000003
【図３】
0004317960.tif 000004
【図４】
0004317960.tif 000005
【図５】
0004317960.tif 000006
【図６】
0004317960.tif 000007
【図７】
0004317960.tif 000008
【図８】
0004317960.tif 000009