(57)【要約】【課題】プログラムの変更が可能な遊技機の提供。【解決手段】所定の遊技媒体を用いて遊技を行う遊技機であって、遊技の進行の制御を行う主制御部を備え、主制御部が記憶部を備えて、記憶部の所定の連続範囲は、主制御部が制御を行う際のプログラムの作業領域１００として設定され、作業領域１００が、制御を行う際に使用する情報が格納される使用領域１０１と、制御を行う際に使用する情報は格納されない未使用領域１０２とを有することを特徴とする遊技機。【選択図】図３
2012157453.tif 000002
【特許請求の範囲】
【請求項１】
所定の遊技媒体を用いて遊技を行う遊技機であって、
前記遊技の進行の制御を行う主制御部を備え、
前記主制御部が記憶部を備えて、前記記憶部の所定の連続範囲は、前記主制御部が制御を行う際のプログラムの作業領域として設定され、
前記作業領域が、前記制御を行う際に使用する情報が格納される使用領域と、前記制御を行う際に使用する情報は格納されない未使用領域とを有することを特徴とする遊技機。
【請求項２】
前記主制御部が、前記未使用領域に格納されている情報も含めて前記作業領域に格納されている情報を読み出して、当該読み出した情報に基づいて検査値を生成する検査値生成手段を備えることを特徴とする請求項１記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主制御基板によって制御されるパチンコ遊技機やスロットマシン等の遊技機に関する。
【背景技術】
【０００２】
従来、パチンコ遊技機やスロットマシン等の遊技機では、主制御基板に設けられたＲＡＭ中の作業領域は、先頭アドレスから空き領域を設けることなく連続して設定されていた。例えば、下記特許公報の図４では符号１１６Ｗが付された部分が、作業領域（ワーク）であるが、この図に示されているように、作業領域は、途中に空き領域を設けることなく、先頭アドレスから連続して設けられていた。また、電源断時にＲＡＭに記憶されている遊技情報のチェックサムを算出して保持しておき、電源投入時に同様に算出したチェックサムと、保持しておいたチェックサムとを照合することにより、不正を検出していた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１４２５６５号公報（段落００４６、００６５、図４参照）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、制御の容易化等のために、複数のコマンドをＲＡＭの作業領域中の纏まった領域に設けて順に演出制御基板に渡す制御を行ったり、複数のカウンタをＲＡＭの作業領域中の纏まった領域に設けたりすることが行われている。このように同種の情報を格納する領域が作業領域中に纏めて設けられている場合において、例えばプログラムのバージョンアップでコマンドを追加する変更を行うとき、コマンドが纏められた領域の最後にコマンドを追加すると、その領域以降のアドレスをずらさなければならなくなり、プログラムの変更が容易でないという問題があった。
【０００５】
本発明は、上述した問題を解決するものであり、プログラムの変更が容易な遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の遊技機は、所定の遊技媒体を用いて遊技を行う遊技機であって、前記遊技の進行の制御を行う主制御部を備え、前記主制御部が記憶部を備えて、前記記憶部の所定の連続範囲は、前記主制御部が制御を行う際のプログラムの作業領域として設定され、前記作業領域が、前記制御を行う際に使用する情報が格納される使用領域と、前記制御を行う際に使用する情報は格納されない未使用領域とを有することを特徴とする。
【０００７】
ここで、前記主制御部が、前記未使用領域に格納されている情報も含めて前記作業領域に格納されている情報を読み出して、当該読み出した情報に基づいて検査値を生成する検査値生成手段を備えることとしてもよい。
【発明の効果】
【０００８】
本発明の遊技機によれば、作業領域に未使用領域が設けられているので、プログラムの変更の際、使用領域を増やす必要が出て来た場合には、かかる未使用領域の一部または全部を使用領域に変更することにより、その領域以降のアドレスをずらす必要がなくなり、プログラムの変更が容易である。
【図面の簡単な説明】
【０００９】
【図１】本発明の各実施形態に係るパチンコ遊技機の正面図である。
【図２】同パチンコ遊技機の電気系統のブロック図である。
【図３】同パチンコ遊技機の、（ａ）はメイン制御基板のメモリマップ、（ｂ）はＲＡＭ内のメモリマップ、（ｃ）はＲＡＭの作業領域内の各領域を示す図である。
【図４】メイン処理のフローチャートである。
【図５】復旧処理のフローチャートである。
【図６】電源監視処理のフローチャートである。
【図７】電源断時処理のフローチャートである。
【図８】メイン側タイマ割込処理のフローチャートである。
【図９】チェックサム生成ルーチンのフローチャートである。
【発明を実施するための形態】
【００１０】
図１に示すように、実施形態のパチンコ遊技機は、前面枠１０の内側に取着された遊技盤１を備え、遊技盤１の前面側には、ハンドル１１の操作により発射された遊技球が流下する遊技領域２が、レール１２で囲まれて形成されている。遊技領域２には、図示しない釘が多数突設されている。また、遊技盤１には、可動役物６、及び、盤ランプ１９が配置され、遊技盤１の中央部に形成された前後方向に貫通するルータ孔には、センター役物装置３が配置されている。前面枠１０には、複数の枠ランプ１７及びスピーカ１８が配設されている。
【００１１】
遊技領域２には、中央下部に第１始動入賞装置５ａが、右側下部に第２始動入賞装置５ｂが設けられている。第１始動入賞装置５ａは第１始動口５１ａを備え、第２始動入賞装置５ｂは、第２始動口５１ｂと電動チューリップと称される開閉部材（以下、「電チュー」という。）５０とを備えている。第２始動入賞装置５ｂの下方には、大入賞口７１を有する大入賞装置７が設けられている。大入賞口７１は開閉部材７３により開閉される。また、遊技領域２には、それぞれ普通入賞口９０を備えた複数の普通入賞装置９が設けられている。
【００１２】
遊技領域２の外側には、普通図柄表示器１３、第１特別図柄表示器１４ａ、及び、第２特別図柄表示器１４ｂが設けられるとともに、普通図柄保留ランプ１５、第１特別図柄保留ランプ１６ａ、第２特別図柄保留ランプ１６ｂがそれぞれ４つ設けられている。
【００１３】
第１特別図柄表示器１４ａ、第２特別図柄表示器１４ｂは、それぞれ、遊技球の第１始動口５１ａまたは第２始動口５１ｂへの入賞を契機として行われる大当たり抽選の結果を、変動表示を経て停止表示された図柄により報知する特別図柄変動を行うものである。なお、第１特別図柄表示器１４ａ及び第２特別図柄表示器１４ｂに表示される図柄を特別図柄という。大当たり抽選において大当たりと判定されれば、特別図柄は大当たり図柄で停止表示され、大入賞口７１を所定回数開閉する大当たり遊技が行われる。
【００１４】
遊技球が第１始動口５１ａまたは第２始動口５１ｂに入賞すると、メイン制御基板２０（主制御部に相当。図２参照。）は、その入賞に対して取得した大当たり乱数、大当たり図柄乱数、及び、リーチ乱数を、ＲＡＭ２９（記憶部に相当。図２参照。）に記憶する。そして、特別図柄変動を実行可能になったとき、即ち、前の入賞に対する特別図柄変動も大当たり遊技も実行されていない状態になったときに、記憶しておいた大当たり乱数を用いて大当たりか否かの判定を行い、大当たりの場合には大当たり図柄乱数を用いて停止表示する大当たり図柄を決定して、特別図柄変動を実行する。第１特別図柄保留ランプ１６ａ、第２特別図柄保留ランプ１６ｂは、それぞれ、第１始動口５１ａ、第２始動口５１ｂへの入賞に対する大当たり乱数等の保留数を表示するものであり、保留数は、第１始動口５１ａ、第２始動口５１ｂのそれぞれについて４個が上限とされている。
【００１５】
遊技領域２には、液晶表示装置である画像表示器４の表示部４ａが配置されている。画像表示器４は、客待ち用のデモ表示、第１始動口５１ａや第２始動口５１ｂへの遊技球の入賞に基づく装飾図柄変動演出、大当たり遊技に並行して行われる大当たり演出などを表示部４ａに表示する。
【００１６】
また、遊技領域２の右側には、遊技球が通過可能なゲート８が設けられている。普通図柄表示器１３は、遊技球のゲート８の通過を契機として行われる普通図柄抽選の結果に応じた普通図柄を、普通図柄の変動表示を経て停止表示するものであり、停止表示された普通図柄が当たり図柄であれば、所定時間及び所定回数電チュー５０を開く補助遊技が行われる。
【００１７】
普通図柄の変動表示中または補助遊技中に、遊技球がゲート８を通過すると、メイン制御基板２０は、その通過に対して取得した当たり乱数を記憶しておき、普通図柄の変動表示を開始可能な状態になったときに、記憶しておいた当たり乱数を用いて当たりか否かの判定を行い、普通図柄の変動表示を開始してその判定を報知する普通図柄を停止表示する。普通図柄保留ランプ１５は、このように記憶されている当たり乱数の個数を表示するものであり、記憶される当たり乱数の個数は４個が上限とされている。
【００１８】
図２に示すように、実施形態のパチンコ遊技機は、メイン制御基板２０、払出制御基板２１、サブ制御基板２５を備え、サブ制御基板２５は、演出制御基板２２、画像制御基板２３、及び、ランプ制御基板２４を備えている。そして、払出制御基板２１及び演出制御基板２２はメイン制御基板２０に接続され、画像制御基板２３及びランプ制御基板２４は演出制御基板２２に接続されている。メイン制御基板２０には、ＣＰＵ２７、ＲＯＭ２８、及び、ＲＡＭ２９を備えたワンチップマイクロコンピュータが実装されている。また、他の各制御基板も、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＲＴＣ（リアルタイムクロック）等を備えている。
【００１９】
メイン制御基板２０には、第１始動口５１ａに入賞した遊技球を検出する第１始動口ＳＷ（スイッチ）５４ａ、第２始動口５１ｂに入賞した遊技球を検出する第２始動口ＳＷ５４ｂ、電チュー５０を開閉動作させる電チューソレノイド５３、ゲート８を通過した遊技球を検出するゲートＳＷ８１、大入賞口７１に入賞した遊技球を検出する大入賞口ＳＷ７４、大入賞口７１の開閉部材７３を開閉動作させる大入賞口ソレノイド７２、普通入賞口９０に入賞した遊技球を検出する普通入賞口ＳＷ９１、第１特別図柄保留ランプ１６ａ、第２特別図柄保留ランプ１６ｂ、普通図柄保留ランプ１５、第１特別図柄表示器１４ａ、第２特別図柄表示器１４ｂ、及び、普通図柄表示器１３がそれぞれ接続され、図５の矢印で示すように、各スイッチからはメイン制御基板２０に信号が入力され、各ソレノイドやランプ等にはメイン制御基板２０から信号が出力される。
【００２０】
メイン制御基板２０は、払出制御基板２１に各種コマンドを送信し、払出制御基板２１には、払出装置（図示せず。）を駆動する払出駆動モータ２６が接続されて、払出制御基板２１は、メイン制御基板２０から受信したコマンドに従って払出駆動モータ２６を動作させ、賞球の払出を行わせる。
【００２１】
また、メイン制御基板２０は、演出制御基板２２に対し各種コマンドを送信し、演出制御基板２２は、画像制御基板２３との間でコマンドや信号の送受信を行う。画像制御基板２３には画像表示器４及びスピーカ１８が接続され、画像制御基板２３は演出制御基板２２から受信したコマンドに従って、画像表示器４の表示部４ａに装飾図柄その他の画像を表示して、装飾図柄変動演出等を行い、また、スピーカ１８から音声を出力する。また、演出制御基板２２はランプ制御基板２４にコマンドを送信する。ランプ制御基板２４には、可動役物６、枠ランプ１７、及び、盤ランプ１９が接続され、ランプ制御基板２４は、演出制御基板２２から受信したコマンドに従って、可動役物６を作動し、枠ランプ１７や盤ランプ１９を点灯・消灯する。
【００２２】
実施形態のパチンコ遊技機は、外部電源（例えばＡＣ２４Ｖ）に接続された電源基板３０を備え、電源基板３０は、直流電圧生成回路３１を備えて直流電源を生成し、メイン制御基板２０、サブ制御基板２５（演出制御基板２２、画像制御基板２３、ランプ制御基板２４）、払出制御基板２１にそれぞれ供給する。直流電圧生成回路３１は内部にバックアップ電源３２を備え、バックアップ電源３２は、外部電源の供給が断たれた場合に、メイン制御基板２０（特にＲＡＭ２９）及び払出制御基板２１に電源を供給する。また、電源基板３０は、直流電圧生成回路３１により生成される直流電源を監視する電源電圧監視回路３３を備え、外部電源の供給が断たれて電圧が所定の閾値を下回ったときには、電圧低下信号をメイン制御基板２０と払出制御基板２１とに出力し、外部電源の供給が再開されて電圧が所定の閾値を上回ったときには、電圧復帰信号をメイン制御基板２０と払出制御基板２１とに出力する。
【００２３】
図３（ａ）はメイン制御基板２０のメモリマップであり、この図に示すように、メイン制御基板２０のアドレス空間は００００Ｈ〜ＦＦＦＦＨの範囲とされ、００００Ｈ〜０ＢＦＦＨの３０７２バイトは、制御プログラムが格納されるプログラム領域２８ａ、１０００Ｈ〜１ＢＦＦＨの３０７２バイトは、制御プログラムが使用する固定データが格納されるデータ領域２８ｂに割り当てられ、プログラム領域２８ａ及びデータ領域２８ｂは、いずれもＲＯＭ２８内の領域とされている。ＣＰＵ２７は、プログラム領域２８ａに格納された制御プログラムに従って、データ領域２８ｂに格納されたデータを参照しつつ、遊技の進行の制御を行う。
【００２４】
また、２８００Ｈ〜２９ＦＦＨの５１２バイトは、ＲＡＭ２９内の領域（ＲＡＭ領域）に割り当てられている。図３（ｂ）に示すように、ＲＡＭ２９の所定の連続範囲（ここでは、ＲＡＭ２９の先頭アドレスから連続する範囲であり、具体的には２８００Ｈ〜２８Ａ０Ｈの範囲）は、メイン制御基板２０が制御を行う際のプログラム（すなわち、制御プログラム）の作業領域（ワークエリア）１００として設定されている。作業領域１００とは、後述するように領域名と大きさとが定められた小領域から構成された領域であり、それらの領域名を用いてデータが格納されるが、後述する中間未使用領域１０２については、領域名及び大きさは定められているものの、ＲＡＭクリア時を除いてはデータが格納されることはない。また、ＲＡＭ２９の終端アドレス２９ＦＦＨからアドレスが小さくなる方向にスタック領域３００が設けられる。スタック領域３００は、ＣＰＵ２７が制御プログラムを実行する上で一時的に記憶すべき種々の情報、例えば、使用中のレジスタの内容、サブルーチンを終了して本ルーチンに復帰するときの本ルーチンの復帰アドレス等が格納される一時退避領域である。スタック領域３００のサイズは格納されるデータ量により変動するが、ＲＡＭ２９の容量は、作業領域１００及びスタック領域３００で使用される容量に比して十分に大きいものとされているため、作業領域１００とスタック領域３００とが重なることはなく、作業領域１００とスタック領域３００との間は、使用されない未使用領域２００とされる。
【００２５】
図３（ｃ）に示すように、作業領域１００は、メイン制御基板２０が制御を行う際に使用する情報（例えば、ＣＰＵ２７が種々の処理を実行する際に処理間で受け渡すべき情報や、処理を繰り返し実行する際に次回まで保持しておくべき情報等）が格納される使用領域１０１ａ、１０１ｂ、１０１ｃ（一括して言及するときは「使用領域１０１」という。）と、メイン制御基板２０が制御を行う際に使用する情報は格納されない未使用領域１０２ａ、１０２ｂとから構成される。未使用領域１０２ａは使用領域１０１ａと使用領域１０１ｂとの間、未使用領域１０２ｂは使用領域１０１ｂと使用領域１０１ｃとの間に設けられており、この未使用領域１０２ａ、１０２ｂを、上記作業領域１００とスタック領域３００との間の未使用領域２００と区別するために、以下、中間未使用領域１０２ａ、１０２ｂ（一括して言及するときは「中間未使用領域１０２」という。）という。中間未使用領域１０２は、現在の制御プログラムでは使用されない領域であり、将来制御プログラムが変更された場合に使用される可能性がある領域である。具体的には、アドレス２８００Ｈ〜２８１ＦＨの範囲が使用領域１０１ａ、アドレス２８２０Ｈ〜２８２９Ｈの範囲が中間未使用領域１０２ａ、アドレス２８２ＡＨ〜２８３９Ｈの範囲が使用領域１０１ｂ、２８３ＡＨ〜２８３ＤＨの範囲が中間未使用領域１０２ｂ、２８３ＥＨ〜２８Ａ０Ｈの範囲が使用領域１０１ｃとされている。使用領域１０１ａには、先頭の２バイトにチェックサム格納領域が設けられ、残りの部分に、例えばメイン制御基板２０から演出制御基板２２等に渡されるコマンドが格納され、使用領域１０１ｂには、例えば時短回数をカウントするための時短カウンタや、確変回数をカウントするための確変カウンタ等のカウンタが設けられ、使用領域１０１ｃにはその他の変数等が格納される。また、中間未使用領域１０２の全てのバイトには、後述するＲＡＭクリア処理により値０（１６進数で００Ｈ）が格納され、正常な状態ではその状態が維持される。なお、ここでは、中間未使用領域１０２は、２つの使用領域１０１間に設けられているが、作業領域１００の最後の部分（図３（ｃ）の例では、使用領域１０１ｃの後）に設けてもよいし、作業領域１００の先頭から始まる部分（図３（ｃ）の例では、使用領域１０１ａの前）に設けてもよい。
【００２６】
作業領域１００は複数の小領域に区分され、小領域毎に名称（この名称を「領域名」という。）が付されている。制御プログラムには領域名を用いて各種の命令が記述されており、ＣＰＵ２７は、例えば、領域名を用いた書込み命令に従って、その領域名が付された小領域に情報（データ）を書き込んだり、領域名を用いた読出し命令に従って、その領域名が付された小領域から情報を読み出したりする。作業領域１００内には、アドレスと領域名との対応を示すアドレス・領域名対応テーブルが設けられている。アドレス・領域名対応テーブルには、作業領域１００内の全てのアドレス（１バイトずつのアドレス）と、そのアドレスに割り当てられている小領域の領域名とが対応付けられて格納されている。例えば、０〜２５５までの数をカウントするカウンタであれば１バイト、２５６〜６５５３５の数をカウントするカウンタでは２バイトとする等、小領域の大きさは、格納されるデータの大きさによって、１バイト以上バイト単位で定められている。また、中間未使用領域１０２も所定の大きさの（ここでは、１バイトずつの）小領域に区分されている。
【００２７】
メイン制御基板２０の行う処理について、次に説明する。メイン制御基板２０は電源投入（電源復帰）と判断すると、制御プログラムに従って図４に示すメイン処理を行う。なお、メイン制御基板２０は、電源電圧監視回路３３から電圧復帰信号を受信したか否かを周期的に判定し、電圧復帰信号を受信した場合つまり電源が所定電圧まで上昇した場合、電源復帰と判断する。メイン処理では、メイン制御基板２０は、周辺部（払出制御基板２１、サブ制御基板２５）の起動を安定させるための例えば１０００ｍｓｅｃ等の時間待ちを行い（ステップＳ１０１）、ＲＡＭ２９アクセス許可を行う（Ｓ１０２）。次に、ＲＡＭクリアスイッチの状態を検出する（Ｓ１０３）。そして、検出結果がＯＮであれば、ステップＳ１０８に移行する。一方、検出結果がＯＦＦであれば、バックアップフラグの状態を検出する（Ｓ１０４）。バックアップフラグがＯＮであれば、後述するチェックサム生成ルーチンに従ってチェックサム生成処理を行い、生成したチェックサムと、後述する電源断時処理のステップＳ４０２でチェックサム格納領域に保存しておいたチェックサムとを照合する（Ｓ１０５）。なお、チェックサムは検査値に相当する。そして、生成したチェックサムと保存しておいたチェックサムとが一致すれば正常、不一致であれば正常でないとして、チェックサムが正常であれば（Ｓ１０６でYES）、後述する復旧処理を実行して（Ｓ１０７）、ステップＳ１１１に移行し、正常でなければ（Ｓ１０６でNO）、ステップＳ１０８に移行する。また、ステップＳ１０４において、バックアップフラグがＯＦＦである場合にも、ステップＳ１０８に移行する。
【００２８】
ステップＳ１０８に移行した場合、メイン制御基板２０は、ＲＡＭ２９の全領域に（すなわち、アドレス２８００Ｈ〜２８Ａ０Ｈまでバイト毎に）値０（１６進数で００Ｈ）を書き込むＲＡＭクリア処理を行い（Ｓ１０８）、ＲＡＭ２９の作業領域１００の使用領域１０１に初期値を設定し（Ｓ１０９）、周辺部に対してそれぞれ初期設定を行い（Ｓ１１０）、ステップＳ１１１に移行する。このように、メイン制御基板２０は、電源復帰を契機に、チェックサムを生成して、後述する電源断時処理のステップＳ４０２で保存しておいたチェックサムと照合し、その照合結果に応じて、チェックサムが正常であれば復旧処理を、正常でなければＲＡＭクリア処理を行う。
【００２９】
メイン制御基板２０は、ステップＳ１１１では、メイン制御基板２０が有するＣＴＣ（Counter Timer Circuit）の周期（例えば４ｍｓｅｃ）を設定する。メイン制御基板２０は、この周期で後述するメイン側タイマ割込処理を行う。次に、メイン制御基板２０は、後述する電源断監視処理を行い（Ｓ１１２）、大当たり判定に用いる変動パターン乱数を更新し（Ｓ１１３）、割込を禁止して（Ｓ１１４）、大当たり判定に用いる初期値乱数を更新し（Ｓ１１５）、再度割込を許可する（Ｓ１１６）。以後、電源が供給されている期間中は、ステップＳ１１２〜Ｓ１１６の処理を繰り返す。
【００３０】
次に、図５に基づいて、復旧処理について説明する。復旧処理は電源断後の復旧時に行われるものであり、メイン制御基板２０は、まず、復旧時におけるＲＡＭ２９の作業領域１００の設定（例えば、特別図柄等の図柄や保留等の復旧）を行う（ステップＳ２０１）。次に、作業領域１００の使用領域１０１に格納されている情報に基づいて、電源断時における遊技状態が大当たり中であったか否かを判定し（Ｓ２０２）、大当たり中であったときには、演出制御基板２２に対して大当たり状態コマンドを送信し（Ｓ２０３）、大当たり中でなかったときには、確変中であったか否かを判定する（Ｓ２０４）。そして、確変中であったときには、確変状態コマンドを送信し（Ｓ２０５）、確変中でなかったときには、時短中であったか否かを判定する（Ｓ２０６）。そして、時短中であったときには、時短状態コマンドを送信する（Ｓ２０７）。時短中でなかったときには、通常状態コマンドを送信する（Ｓ２０８）。このように電源断時における遊技状態に応じたコマンドを演出制御基板２２に送信後、メイン制御基板２０は、周辺部の設定をおこない（Ｓ２０９）、バックアップフラグをＯＦＦにして（Ｓ２１０）、復旧処理を終える。
【００３１】
次に、図６に基づいて、電源断監視処理について説明する。メイン制御基板２０は、割込を禁止して（ステップＳ３０１）、電源断であるか否かを電圧低下信号の入力の有無で判定する（Ｓ３０２）。そして電源断でなければ、割込を許可し（Ｓ３０３）、電源断監視処理を終了する。一方、電源断であれば、後述する電源断時処理を行い（Ｓ３０４）、電源断監視処理を終了する。
【００３２】
図７に基づいて、電源断時処理について説明する。メイン制御基板２０は、メイン制御基板２０が有する出力ポート（図示せず）をクリアし（ステップＳ４０１）、後述するチェックサム生成ルーチンに従ってチェックサム生成処理を行い、レジスタに生成したチェックサムを、チェックサム格納領域に格納する（Ｓ４０２）。次に、バックアップフラグをＯＮにし（Ｓ４０３）、ＲＡＭ２９へのアクセスを禁止し（ステップＳ４０４）、電源断時処理を終了する。このように、メイン制御基板２０は、電源断が検出されたこと契機に、チェックサムの生成と保存とを行う。
【００３３】
次に、図８に基づいて、メイン制御基板２０が上述したＣＴＣの周期毎に行うメイン側タイマ割込処理について説明する。まず、メイン制御基板２０は、大当たり抽選に用いる大当たり乱数、大当たり図柄を決めるための大当たり図柄乱数、普通図柄抽選に用いる当たり乱数等を更新する乱数更新処理を行う（ステップＳ５０１）。
【００３４】
次に、メイン制御基板２０は、第１始動口ＳＷ５４ａまたは第２始動口ＳＷ５４ｂがＯＮした場合に、対応する始動口カウンタの値が４以下であれば、大当たり乱数及び大当たり図柄乱数を取得して記憶し、始動口カウンタの値に１を加算する始動口ＳＷ処理（Ｓ５０２）、ゲートＳＷ８１がＯＮした場合に、ゲートカウンタの値が４以下であれば、当たり乱数を取得して記憶し、ゲートカウンタの値に１を加算するゲートＳＷ処理（Ｓ５０３）、大入賞口ＳＷ７４がＯＮし場合に、入賞個数カウンタ及び大入賞口カウンタの値に１を加算する大入賞口ＳＷ処理（Ｓ５０４）、普通入賞口ＳＷ９１がＯＮした場合に普通入賞口カウンタの値に１を加算する普通入賞口ＳＷ処理（Ｓ５０５）を行う。
【００３５】
続いて、メイン制御基板２０は、始動口カウンタの値が１以上である場合に、その始動口カウンタの値から１を減算して、特別図柄変動を開始するとともに、始動口ＳＷ処理で記憶した大当たり乱数を用いて大当たりか否かを判定し、大当たりであれば大当たり図柄乱数を用いてその種類を判定して、その判定結果に応じた特別図柄を停止表示する特別図柄処理（Ｓ５０６）、ゲートカウンタの値が１以上である場合に、ゲートカウンタの値から１減算するとともに、ゲートＳＷ処理で記憶した当たり乱数を用いて当たりか否かを判定して、その判定結果に応じた普通図柄を表示する普通図柄処理（Ｓ５０７）を行う。
【００３６】
そして、メイン制御基板２０は、特別図柄処理で大当たりと判定された場合に大入賞口７１を所定回数開閉させる大入賞口処理（Ｓ５０８）、普通図柄処理で当たりと判定された場合に電チュー５０を所定回数開閉させる電チュー処理（Ｓ５０９）、大入賞口カウンタの値に応じた数の賞球、及び、普通入賞口カウンタの値に応じた数の賞球を払い出すためのコマンドをセットして、それらのカウンタをゼロクリアする賞球処理（Ｓ５１０）を行い、以上の各処理においてセットしたコマンドを払出制御基板２１及び演出制御基板２２に出力する出力処理（Ｓ５１１）を行う。
【００３７】
次に、チェックサム生成処理について、図９に基づいて説明する。メイン制御基板２０は、図９に示すようなチェックサム生成ルーチンに従って、チェックサムを生成する。なお、メイン制御基板２０のチェックサム生成ルーチンに従って動作する部分が、検査値生成手段に相当する。図９のチェックサム生成ルーチンは、作業領域１００の最後のバイトから１バイトずつ遡って、各バイトからデータを読み出して、チェックサムを生成するためのレジスタに加算するものである。すなわち、１バイトの領域が、チェックサムを生成するときの情報（データ）の読出し単位となる。なお、チェックサムを生成するためのレジスタは、ＣＰＵ２７に内蔵されており、以下、このレジスタの名称を「ＳＵＭ」とする。
【００３８】
まず、メイン制御基板２０は、レジスタ「ＳＵＭ」をゼロクリアし（ステップＳ６０１）、作業領域１００中のバイトを数えるためのカウンタ「Ｃ」に、作業領域１００全体のバイト数「１６１」を入れる（Ｓ６０２）。なお、カウンタ「Ｃ」は、使用領域１０１に設けられる。そして、カウンタ「Ｃ」から１を減算し（Ｓ６０３）、現在加算しようとしているアドレスから１バイトの情報（値）を読み出して、「ＳＵＭ」に加算する（Ｓ６０４）。そして、カウンタ「Ｃ」の値が３か否かを判定し（Ｓ６０５）、３でなければステップＳ６０３に戻って、以下、「Ｃ」の値が３になるまで、ステップＳ６０３以降の処理を繰り返す。そして、「Ｃ」の値が３になれば、処理を終える。この処理を終えたときに、レジスタ「ＳＵＭ」には、中間未使用領域１０２に格納されている情報も含めて作業領域１００に格納されている１バイト毎の情報を、チェックサム格納領域に格納されている情報を除き、全て加算したチェックサムが生成されている。なお、チェックサム格納領域に格納されている情報をチェックサムに含めないのは、保存時と照合時とで実際には正常であるにもかかわらずチェックサムが一致しなくなってしまうことを防止するためである。
【００３９】
以上のように、実施形態のパチンコ遊技機では、作業領域１００が、制御を行う際に使用する情報が格納される使用領域１０１と、制御を行う際に使用する情報は格納されない中間未使用領域１０２とを有しているので、例えば、プログラムの変更でコマンドの格納領域を増やしたいときには、コマンドの格納領域が纏められている使用領域１０１ａの直後の中間未使用領域１０２ａに増やすこととすれば、コマンドの格納領域が纏められている状態を維持できるとともに、他の小領域のアドレスがずれたりすることがなく、アドレス・領域名対応テーブルの変更の必要も無く、プログラムの変更が容易である。
【００４０】
また、使用領域１０１か中間未使用領域１０２かの区別をせずに、中間未使用領域１０２に格納されている情報も含めて作業領域１００に格納されている情報を読み出して、当該読み出した情報に基づいて検査値（チェックサム）を生成することとすれば、検査値の生成が容易である。なお、中間未使用領域１０２の各バイトに格納されている値は、正常な状態では全て０であるが、ＲＡＭクリア処理において他の値が格納された場合には、当該他の値となる。
【００４１】
なお、実施形態では、チェックサム格納領域内の情報をチェックサムの生成に用いないようにするために、図９のステップＣ６０５においてカウンタ「Ｃ」の値が３か否かを判定して、作業領域１００の先頭２バイトからは値を読み出さないようにしたが、例えば、ステップＳ６０４において、現在加算しようとしているアドレスが、チェックサム格納領域のアドレス（２８００Ｈまたは２８０１Ｈ）でなければ、そのアドレスの内容を「ＳＵＭ」に加算し、チェックサム格納領域のアドレスであれば、そのアドレスの内容を「ＳＵＭ」に加算しないようにして、ステップＣ６０５においてはカウンタ「Ｃ」の値が０か否かを判定することとしてもよい。また、チェックサム格納領域を作業領域１００の最後の２バイトに設けて、ステップＳ６０２でカウンタ「Ｃ」に１５９を入れ、ステップＣ６０５においてはカウンタ「Ｃ」の値が０か否かを判定するようにしてもよい。
【００４２】
また、実施形態では、作業領域１００の最後のバイトから１バイトずつ遡ってデータを読み出したが、作業領域１００の最初のバイト（実施形態のように、チェックサム格納領域が作業領域１００の先頭２バイトに設けられているときは、３バイト目）から１バイトずつアドレスを大きくしつつデータを読み出して、チェックサムを生成することとしてもよい。
【００４３】
また、実施形態では、チェックサム格納領域を除く使用領域１０１全部から１バイトずつ値を読み出して、チェックサムの生成に使用するものとしたが、チェックサム格納領域を除く使用領域１０１のうち、一部のみをチェックサムの生成に使用するものとしてもよい。すなわち、チェックサム格納領域以外にも、使用領域１０１の中にチェックサムの生成に使用されない領域（チェックサムの生成の際には値が読み出されない領域）を設けることとしてもよい。逆に、チェックサム格納領域を、チェックサムの生成に使用することも可能である。照合時にチェックサム格納領域の値も加算されていることを考慮すればよいからである。要するに、使用領域１０１に格納されている情報の一部または全部を読み出して、チェックサムを生成すればよい。いずれの場合も、使用領域１０１か中間未使用領域１０２かの区別をせずに、中間未使用領域１０２に格納されている情報も含めて作業領域１００に格納されている情報を読み出して、当該読み出した情報に基づいてチェックサムを生成することとすれば、使用領域１０１か中間未使用領域１０２かの判断が不要であるので、検査値の生成が容易である。
【符号の説明】
【００４４】
２０…メイン制御基板（主制御部）
１９…ＲＡＭ（記憶部）
１００…作業領域
１０１、１０１ａ、１０１ｂ、１０１ｃ…使用領域
１０２、１０２ａ、１０２ｂ…中間未使用領域
【図１】
2012157453.tif 000003
【図２】
2012157453.tif 000004
【図３】
2012157453.tif 000005
【図４】
2012157453.tif 000006
【図５】
2012157453.tif 000007
【図６】
2012157453.tif 000008
【図７】
2012157453.tif 000009
【図８】
2012157453.tif 000010
【図９】
2012157453.tif 000011