JP5740619B2 - Game machine - Google Patents

Game machine Download PDF

Info

Publication number
JP5740619B2
JP5740619B2 JP2012107550A JP2012107550A JP5740619B2 JP 5740619 B2 JP5740619 B2 JP 5740619B2 JP 2012107550 A JP2012107550 A JP 2012107550A JP 2012107550 A JP2012107550 A JP 2012107550A JP 5740619 B2 JP5740619 B2 JP 5740619B2
Authority
JP
Japan
Prior art keywords
game
register
control device
value
command
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.)
Active
Application number
JP2012107550A
Other languages
Japanese (ja)
Other versions
JP2013233289A5 (en
JP2013233289A (en
Inventor
園田 欽章
欽章 園田
亀井 欽一
欽一 亀井
Original Assignee
株式会社ソフイア
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 株式会社ソフイア filed Critical 株式会社ソフイア
Priority to JP2012107550A priority Critical patent/JP5740619B2/en
Publication of JP2013233289A publication Critical patent/JP2013233289A/en
Publication of JP2013233289A5 publication Critical patent/JP2013233289A5/ja
Application granted granted Critical
Publication of JP5740619B2 publication Critical patent/JP5740619B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Description

本発明は、レジスタを備えたプロセッサによって制御を行う遊技機に関する。   The present invention relates to a gaming machine that is controlled by a processor having a register.

従来よりも、遊技機を制御するためのプログラムの容量削減を図るために、パチンコ機の主制御基板において、CPUからIOにアクセスするためのイン/アウトコマンドが出力された時、エリア区分判定部が、アドレス値に応じて、アクセス先をIO、RAMのいずれかに切り換え、その結果に応じてIO識別信号又はチップセレクタ信号をアクティブにする遊技機が知られている(例えば、特許文献1)。   In order to reduce the capacity of the program for controlling the gaming machine than before, when the in / out command for accessing the IO from the CPU is output on the main control board of the pachinko machine, the area division determination unit However, a gaming machine is known that switches an access destination to either IO or RAM according to an address value and activates an IO identification signal or a chip selector signal according to the result (for example, Patent Document 1). .

この特許文献1の遊技機の構成では、イン/アウトコマンドを用いてRAMの一部(疑似RAM領域)にアクセス可能となり、この時、RAMの先頭アドレスを含む連続領域にワーク及び疑似RAM領域を割り当てるとともに、終端アドレスを開始点としてアドレスが小さくなる側に順次データが蓄積されるようにスタックを割り当てるようになっている。   In the configuration of the gaming machine disclosed in Patent Document 1, a part of RAM (pseudo RAM area) can be accessed using in / out commands. At this time, a work and a pseudo RAM area are placed in a continuous area including the start address of the RAM. In addition to the allocation, the stack is allocated so that data is sequentially accumulated on the side where the address becomes smaller, starting from the end address.

ところで、このようにしてRAM領域内に割り当てられるスタックには、CPUが遊技プログラム実行中に所定のサブモジュールを呼び出した際に、呼び出し元のモジュールのアドレスの値が、戻りアドレス値として格納される。そして、呼び出し先のサブモジュールの実行後に、スタックに格納してあった戻りアドレスの値をプログラムカウンタに戻すことで、CPUの処理が呼び出し元のモジュールに復帰するようになっている。   By the way, in the stack allocated in the RAM area in this way, when the CPU calls a predetermined submodule during execution of the game program, the address value of the calling source module is stored as a return address value. . After execution of the callee submodule, the CPU returns to the caller module by returning the value of the return address stored in the stack to the program counter.

例えば、特許文献2に開示された遊技機では、特許文献2の図22に示すように、RST命令を実行すると、呼び出し元のモジュールの戻りアドレスの値をスタックに格納して、呼び出し先のサブモジュールに移行する。その後、呼び出し先のサブモジュールの終了時にRET命令を実行することで、スタックに格納してあった戻りアドレスの値をプログラムカウンタに戻し、呼び出し元のモジュールに復帰する。   For example, in the gaming machine disclosed in Patent Document 2, as shown in FIG. 22 of Patent Document 2, when the RST instruction is executed, the return address value of the calling module is stored in the stack, and the calling destination sub Move to the module. Thereafter, by executing a RET instruction at the end of the callee submodule, the return address value stored in the stack is returned to the program counter, and the caller module is restored.

また、特許文献3に開示された遊技機では、特許文献3の段落[0071]〜[0073]に示すように、タイマ割込等の割込が発生すると、呼び出し元のモジュールの戻りアドレスの値をスタックに格納して、呼び出し先のサブモジュール(タイマ割込みの処理モジュール)に移行する。その後、呼び出し先のサブモジュールの終了時にRETI命令を実行することで、スタックに格納してあった戻りアドレスの値をプログラムカウンタに戻し、呼び出し元のモジュールに復帰する。
一般に、スタックをRAMのどの領域に割り当てるかは、制御装置の設計者の裁量に任せたほうが、設計の自由度が増すために都合が良い。そのため、CPUの起動時にはスタックポインタの初期値は不定な値にしておき、CPUがプログラムの実行を開始した後に、ソフトウェアによりスタックポインタの初期値を設定する構成が好ましい。従って、この特許文献1〜3の何れの遊技機においても、CPUの起動時のスタックポインタの初期値は、不定な値となっているものと考えられる。
Further, in the gaming machine disclosed in Patent Document 3, when an interrupt such as a timer interrupt occurs as shown in paragraphs [0071] to [0073] of Patent Document 3, the value of the return address of the calling module Is stored in the stack, and the process proceeds to the called sub-module (timer interrupt processing module). Thereafter, the RETI instruction is executed when the callee submodule ends, thereby returning the value of the return address stored in the stack to the program counter and returning to the caller module.
In general, it is more convenient to leave the stack to which area of the RAM is left to the discretion of the control device designer because the degree of design freedom increases. Therefore, it is preferable that the initial value of the stack pointer is set to an indefinite value when the CPU is activated, and the initial value of the stack pointer is set by software after the CPU starts executing the program. Therefore, in any of the gaming machines of Patent Documents 1 to 3, it is considered that the initial value of the stack pointer when the CPU is activated is an indefinite value.

特開2009−142566号公報JP 2009-142666 A 特開2008−080004号公報JP 2008-080004 A 特開2001−212330号公報JP 2001-212330 A

しかしながら、スタックポインタの初期値が不定な状態で、ノイズ等により割込み信号が発生すると、不定な値で示された領域をスタック領域と見なしたままで、CPUが処理を行ってしまうおそれがあった However, when an interrupt signal is generated due to noise or the like when the initial value of the stack pointer is indefinite, there is a possibility that the CPU may perform processing while the area indicated by the indefinite value is regarded as the stack area .

本発明は、上記のような問題点を解決するためになされたもので、ノイズ環境でも正常にCPUを動作させることを目的とする。 The present invention has been made to solve the above-described problems, and it is an object of the present invention to operate a CPU normally even in a noisy environment .

本発明の代表的な一形態では、所定の始動条件の成立により遊技を実行し、該遊技が特別な結果となる場合に遊技者に特典を付与する特別遊技状態を発生させる遊技制御を行う遊技制御装置を備えた遊技機において、前記遊技制御装置には、遊技制御プログラムを記憶する遊技制御プログラム記憶手段と、前記遊技制御プログラムにより所要の演算処理を行う演算処理手段と、前記演算処理を行う際にが記憶されるレジスタと、前記演算処理手段によって更新される情報が記憶される更新情報記憶手段と、を備え、前記更新情報記憶手段にはスタック領域が設定され、前記レジスタには、前記スタック領域のアドレスを指定するためのスタックポインタと、前記演算処理手段による演算結果を記憶するためのフラグレジスタが含まれるとともに、前記演算処理手段は、所定の起動信号が発生すると、前記遊技制御プログラムのリセットアドレスに設定された命令を実行し、前記起動信号が発生した際に、前記演算処理手段が前記遊技制御プログラムのリセットアドレスに設定された命令を実行するよりも前に、前記スタックポインタに固有のアドレス値を設定する固有値設定手段が備えられ、前記遊技制御プログラムには、呼出元の処理が記述された呼出元ルーチンと、前記呼出元ルーチンに記述された呼出の命令が実行された場合に呼び出される処理が記述された第1の呼出先ルーチンと、前記呼出元ルーチンに記述された命令の実行中において、所定の割込信号が発生した場合に呼び出される処理が記述された第2の呼出先ルーチンと、が含まれ、前記演算処理手段は、前記第1の呼出先ルーチンが呼び出された場合は、前記フラグレジスタの値を前記スタック領域に格納せず、格納命令を実行することなく前記呼出元ルーチンに含まれる戻りアドレスの値を前記スタック領域に格納し、前記第1の呼出先ルーチンの処理の実行を開始する一方で、前記第2の呼出先ルーチンが呼び出された場合は、格納命令を実行することなく前記フラグレジスタの値と前記呼出元ルーチンに含まれる戻りアドレスの値の各々を前記スタック領域に格納し、前記第2の呼出先ルーチンの処理の実行を開始する。 In an exemplary embodiment of the present invention, perform the Ri遊 technique by the establishment of a predetermined restart condition, to generate a special game state to grant a privilege to the player if the recreation is a special result game In a gaming machine including a game control device that performs control, the game control device includes a game control program storage unit that stores a game control program, an arithmetic processing unit that performs a required arithmetic process using the game control program, A register in which a value is stored when performing arithmetic processing, and an update information storage unit in which information updated by the arithmetic processing unit is stored, and a stack area is set in the update information storage unit, The register includes a stack pointer for designating the address of the stack area, and a flag register for storing the calculation result by the calculation processing means. In addition, when the predetermined activation signal is generated, the arithmetic processing means executes an instruction set in the reset address of the game control program, and when the activation signal is generated, the arithmetic processing means causes the game control program to Before executing the instruction set at the reset address of the device, a unique value setting means for setting a unique address value to the stack pointer is provided. During execution of an original routine, a first call destination routine describing a process to be called when a call instruction described in the call source routine is executed, and an instruction described in the call source routine, A second call destination routine describing a process to be called when a predetermined interrupt signal is generated, and the arithmetic processing means includes the If one of the callee routine is called, stores without storing the value of the flag register in the stack area, the value of the return address contained in the calling routine without executing the stored command to the stack area and, while starting the execution of the processing of pre-Symbol first callee routine, when said second callee routine is called, the caller and the value of the flag register without performing store instructions stores the value of each of the return addresses included in the routine in the stack area, and starts execution of the processing of pre-Symbol second callee routine.

本明細書における実施形態では、「遊技機」をパチンコ機として説明しているが、スロットマシンなどの回胴式遊技機であってもよいし、スマートボールなどであってもよい。これらのパチンコ機以外の遊技機であっても、前述した課題はパチンコ機の場合と同様に発生しうる課題である。   In the embodiment of the present specification, the “game machine” is described as a pachinko machine, but it may be a revolving game machine such as a slot machine or a smart ball. Even in a gaming machine other than these pachinko machines, the above-described problems can occur as in the case of pachinko machines.

「所定の始動条件」とは、パチンコ機であれば、例えば、遊技球が始動入賞口に入賞する場合である。また、スロットマシンであれば、例えば、遊技媒体のベットをした後、遊技者によってスタートレバーが操作される場合である。   The “predetermined start condition” is, for example, a case where a game ball wins a start winning opening if it is a pachinko machine. Further, in the case of a slot machine, for example, the player operates a start lever after betting a game medium.

「補助遊技」とは、例えば、表示画面の画像を表示可能な領域(表示領域)に設けられた複数の変動表示領域において、各変動表示領域に識別情報などが表示され、各識別図柄が変動表示する変動表示ゲームである。変動表示ゲームにおける「特別な結果」とは、例えば、変動表示する識別図柄がすべて同じ図柄で停止した場合である。   “Auxiliary game” means, for example, in a plurality of variable display areas provided in an area (display area) where an image of a display screen can be displayed, identification information is displayed in each variable display area, and each identification symbol varies It is a variable display game to be displayed. The “special result” in the variable display game is, for example, a case where all the identification symbols to be variable displayed stop at the same symbol.

「遊技制御プログラム」とは、遊技の進行制御を行うプログラムや、演出制御を行うプログラムが含まれる。「遊技制御プログラム」は、「遊技制御プログラム記憶手段」に記憶され、「演算処理手段」によって実行される。「遊技制御プログラム記憶手段」は、読み書き可能(揮発性)であってもよいし、読み出し専用(不揮発性)であってもよい。「演算処理手段」は、いわゆるCPU(若しくはCPUに含まれる命令解釈実行回路)である。   The “game control program” includes a program for performing progress control of a game and a program for performing effect control. The “game control program” is stored in the “game control program storage means” and is executed by the “arithmetic processing means”. The “game control program storage means” may be readable / writable (volatile) or read-only (nonvolatile). The “arithmetic processing means” is a so-called CPU (or an instruction interpretation execution circuit included in the CPU).

「レジスタ」は、「演算処理手段」によってアクセスされるデータが格納される。「遊技制御プログラム記憶手段」や「更新情報記憶手段」に格納されたデータを「演算処理手段」がアクセスする場合には「レジスタ」を介するようにしてもよいし、直接アクセス可能としてもよい。   The “register” stores data accessed by the “arithmetic processing means”. When the “arithmetic processing means” accesses the data stored in the “game control program storage means” or the “update information storage means”, the data may be accessed via a “register” or may be directly accessible.

「所定の起動信号」とは、例えば、電源投入時に電源装置から遊技制御装置(遊技制御手段)に出力される信号である。遊技制御装置は、「所定の起動信号」を受信すると、遊技制御プログラムを実行する前に各構成の初期化処理等を実行する。   The “predetermined activation signal” is, for example, a signal output from the power supply device to the game control device (game control means) when the power is turned on. When the game control device receives the “predetermined activation signal”, the game control device executes initialization processing and the like of each component before executing the game control program.

「スタック領域」は、実行中の処理から他の処理を呼び出す場合や実行中の処理を中断して割込処理を実行する場合に、元の処理に復帰するために必要なデータを一時的に格納する領域である。呼び出された順序が新しい順にスタック領域に格納されたデータを取り出してレジスタや更新情報記憶手段に戻す。「スタックポインタ」は、次に復帰する処理に関連するデータを格納する領域を示すポインタである。   The “stack area” temporarily stores the data required to return to the original process when calling another process from the process being executed or when interrupting the current process and executing the interrupt process. This is the storage area. The data stored in the stack area is taken out in the order of the called order and returned to the register or the update information storage means. The “stack pointer” is a pointer indicating an area for storing data related to the process to be restored next.

「固定値設定手段」は、遊技制御プログラムが実行される前にスタックポインタに初期値として固有のアドレス値を設定する。「固定値設定手段」は、例えば、初期化回路などに含まれ、演算処理手段によらずに処理を実行可能なハードウェアによって実装される。   The “fixed value setting means” sets a unique address value as an initial value in the stack pointer before the game control program is executed. The “fixed value setting unit” is included in, for example, an initialization circuit and is implemented by hardware capable of executing processing without using the arithmetic processing unit.

本発明の一形態によれば、ノイズ環境でも正常にCPUを動作させることができる。 According to one embodiment of the present invention, a CPU can be operated normally even in a noisy environment.

本発明の第1の実施の形態の遊技装置の構成を説明する図である。It is a figure explaining the structure of the game device of the 1st Embodiment of this invention. 本発明の第1の実施の形態の遊技機の背面図である。It is a rear view of the gaming machine of the first embodiment of the present invention. 本発明の第1の実施の形態の遊技盤の正面図である。It is a front view of the game board of a 1st embodiment of the present invention. 本発明の第1の実施の形態の遊技装置のブロック図である。It is a block diagram of the gaming machine of the first embodiment of the present invention. 本発明の第1の実施の形態の遊技用演算処理装置(アミューズチップ)のブロック図である。1 is a block diagram of a game arithmetic processing device (amuse chip) according to a first embodiment of the present invention. FIG. 本発明の第1の実施の形態の遊技制御装置におけるシリアル送信回路の構成例を示すブロック図である。It is a block diagram which shows the structural example of the serial transmission circuit in the game control apparatus of the 1st Embodiment of this invention. 本発明の第1の実施の形態の送信シリアルチャンネル設定レジスタの構成例を示す図である。It is a figure which shows the structural example of the transmission serial channel setting register of the 1st Embodiment of this invention. 本発明の第1の実施の形態の送信制御レジスタの構成例を示す図である。It is a figure which shows the structural example of the transmission control register of the 1st Embodiment of this invention. 本発明の第1の実施の形態の送信データステータスレジスタの構成例を示す図である。It is a figure which shows the structural example of the transmission data status register of the 1st Embodiment of this invention. 本発明の第1の実施の形態の送信データレジスタ(1段分)の構成例を示す図である。It is a figure which shows the structural example of the transmission data register (for 1 step | paragraph) of the 1st Embodiment of this invention. 本発明の第1の実施の形態の遊技制御装置に備わる遊技用演算処理装置(アミューズチップ)とその周辺のブロック図である。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a game arithmetic processing device (amuse chip) provided in the game control device of the first embodiment of the present invention and its surroundings. 本発明の第1の実施の形態のCPUコアの内部構成を説明するブロック図である。It is a block diagram explaining the internal structure of the CPU core of the 1st Embodiment of this invention. 本発明の第1の実施の形態のフラグレジスタの構成を説明する図である。It is a figure explaining the structure of the flag register of the 1st Embodiment of this invention. 本発明の第1の実施の形態のユーザワークRAMの一例を示す図である。It is a figure which shows an example of the user work RAM of the 1st Embodiment of this invention. 本発明の第1の実施の形態のユーザワークRAMに割り当てられたワークエリアに格納されるデータの具体例を説明する図であり、保留カウンタ、各種乱数の生成領域及び普図乱数の保存領域を示す図である。It is a figure explaining the specific example of the data stored in the work area allocated to the user work RAM of the 1st Embodiment of this invention, and the holding | maintenance counter, the various random number generation area, and the common random number storage area | region FIG. 本発明の第1の実施の形態のユーザワークRAMに割り当てられたワークエリアに格納されるデータの具体例を説明する図であり、第1特図変動表示ゲームを実行するために必要な各種乱数の保存領域を示す図である。It is a figure explaining the specific example of the data stored in the work area allocated to the user work RAM of the 1st Embodiment of this invention, and various random numbers required in order to run a 1st special figure fluctuation display game It is a figure which shows the preservation | save area | region. 本発明の第1の実施の形態のユーザワークRAMに割り当てられたワークエリアに格納されるデータの具体例を説明する図であり、第2特図変動表示ゲームを実行するために必要な各種乱数の保存領域を示す図である。It is a figure explaining the specific example of the data stored in the work area allocated to the user work RAM of the 1st Embodiment of this invention, and various random numbers required in order to run a 2nd special figure fluctuation display game It is a figure which shows the preservation | save area | region. 本発明の第1の実施の形態のスタック領域の一例を示す図である。It is a figure which shows an example of the stack area | region of the 1st Embodiment of this invention. 本発明の第1の実施の形態のスタック領域の一例を示す図である。It is a figure which shows an example of the stack area | region of the 1st Embodiment of this invention. 本発明の第1の実施の形態のスタック領域の変形例を示す図である。It is a figure which shows the modification of the stack area | region of the 1st Embodiment of this invention. 本発明の第1の実施の形態のCPUコアによって実行される遊技制御プログラムを記述するためのアセンブリ言語の命令を説明する図であり、変換後のコードデータにアドレス部を含まない命令(変換後のコードデータが命令コード部のみで構成される命令)を示す図である。It is a figure explaining the instruction | indication of the assembly language for describing the game control program performed by CPU core of the 1st Embodiment of this invention, and the code | cord | chord after conversion does not contain an address part (after conversion) FIG. 5 is a diagram showing an instruction) in which the code data of (1) is composed of only an instruction code portion. 本発明の第1の実施の形態のCPUコアによって実行される遊技制御プログラムを記述するためのアセンブリ言語の命令を説明する図であり、変換後のコードデータに命令コード部とアドレス部の各々を含む命令を示す図である。It is a figure explaining the instruction | indication of the assembly language for describing the game control program performed by CPU core of the 1st Embodiment of this invention, and each of an instruction code part and an address part is added to the code data after conversion. It is a figure which shows the command containing. 本発明の第1の実施の形態の各装置(遊技制御装置、払出制御装置、及び演出制御装置)の電源投入時処理のフローチャートである。It is a flowchart of the power-on process of each device (game control device, payout control device, and effect control device) of the first embodiment of the present invention. 本発明の第1の実施の形態の遊技制御装置プログラム開始準備処理を説明するフローチャートである。It is a flowchart explaining the game control apparatus program start preparation process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の遊技制御装置メイン処理の前半部のフローチャートである。It is a flowchart of the first half part of the game control apparatus main process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の遊技制御装置メイン処理の後半部のフローチャートである。It is a flowchart of the latter half part of the game control apparatus main process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の遊技制御装置メイン処理におけるステップ2501からステップ2502Bまでの処理を説明する図である。It is a figure explaining the process from step 2501 to step 2502B in the game control apparatus main process of the 1st Embodiment of this invention. 本発明の第1の実施の形態のディレイ処理を説明する図である。It is a figure explaining the delay process of the 1st Embodiment of this invention. 本発明の第1の実施の形態のタイマ割込処理を示すフローチャートである。It is a flowchart which shows the timer interruption process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の遊技制御装置から、演出制御装置及び払出制御装置に初期化指令信号を送信する初期化指令送信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the initialization command transmission process which transmits the initialization command signal to the production | presentation control apparatus and the payout control apparatus from the game control apparatus of the 1st Embodiment of this invention. 本発明の第1の実施の形態の遊技制御装置から、演出制御装置及び払出制御装置にコマンドを送信するためのコマンド送信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the command transmission process for transmitting a command from the game control apparatus of the 1st Embodiment of this invention to an effect control apparatus and a payout control apparatus. 本発明の第1の実施の形態の電源投入時の遊技制御装置、払出制御装置、及び演出制御装置が行う処理、並びに、遊技制御装置に備わるシリアル送信回路の状態のタイミングチャートである。It is a timing chart of the state of the serial transmission circuit with which the game control apparatus at the time of power activation of the 1st Embodiment of this invention at the time of power-on, the process which a payout control apparatus, and an effect control apparatus perform, and the game control apparatus. 本発明の第1の実施の形態の遊技制御装置から払出制御装置に送信される排出指令の一例を示す図である。It is a figure which shows an example of the discharge | release instruction | command transmitted to the payout control apparatus from the game control apparatus of the 1st Embodiment of this invention. 本発明の第1の実施の形態のスイッチの立ち上がりを検出する手順を示すタイムチャートである。It is a time chart which shows the procedure which detects the rising of the switch of the 1st Embodiment of this invention. 本発明の第1の実施の形態の遊技制御装置から演出制御装置に送信される演出制御コマンドの一例を示す図である。It is a figure which shows an example of the effect control command transmitted to the effect control apparatus from the game control apparatus of the 1st Embodiment of this invention. 本発明の第1の実施の形態の遊技制御装置から演出制御装置に送信される送信データの構成を示す説明図であり、(a)は送信データの概略構成を示し、(b)は送信データの詳細構成を示している。It is explanatory drawing which shows the structure of the transmission data transmitted to the production | presentation control apparatus from the game control apparatus of the 1st Embodiment of this invention, (a) shows schematic structure of transmission data, (b) is transmission data. The detailed structure of is shown. 本発明の第1の実施の形態の特図ゲーム処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the special figure game process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の特図ゲーム処理におけるゲーム処理番号に基づいた分岐の処理を説明する図である。It is a figure explaining the process of a branch based on the game process number in the special figure game process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の始動口SW監視処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the start port SW monitoring process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の特図始動口SW共通処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the special figure starting port SW common process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の特図保留情報判定処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the special figure pending | holding information determination process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の特図大当り判定処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the special figure jackpot determination process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の後半変動パターンテーブルである。It is a latter half fluctuation pattern table of a 1st embodiment of the present invention. 本発明の第1の実施の形態の前半変動パターンテーブルである。It is a first half variation pattern table of the 1st embodiment of the present invention. 本発明の第1の実施の形態の特図普段処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the special figure normal process of the 1st Embodiment of this invention. 本発明の第1の実施の形態の特図1/特図2変動開始処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the special figure 1 / special figure 2 fluctuation start process of the 1st Embodiment of this invention. 本発明の第1の実施の形態における始動記憶をシフトさせる処理のプログラムの一例を示す図であり、Kレジスタを利用して記憶容量を削減したプログラムである。It is a figure which shows an example of the program of the process which shifts the starting memory | storage in the 1st Embodiment of this invention, and is a program which reduced the memory capacity using the K register. 本発明の第1の実施の形態における始動記憶をシフトさせる処理のプログラムの一例を示す図であり、従来のプログラムである。It is a figure which shows an example of the program of the process which shifts the starting memory | storage in the 1st Embodiment of this invention, and is a conventional program. 本発明の第1の実施の形態のサブルーチンを構成するプログラムの例を説明する図である。It is a figure explaining the example of the program which comprises the subroutine of the 1st Embodiment of this invention. 本発明の第1の実施の形態の変動表示ゲームにおける画面遷移を説明する図である。It is a figure explaining the screen transition in the variable display game of the 1st Embodiment of this invention. 本発明の第1の実施の形態の変動表示ゲームにおける画面遷移を説明する図である。It is a figure explaining the screen transition in the variable display game of the 1st Embodiment of this invention. 本発明の第1の実施の形態において、戻りアドレス値の後にフラグレジスタの値をスタック領域に待避させた状態を説明する図である。FIG. 6 is a diagram for explaining a state in which a flag register value is saved in a stack area after a return address value in the first embodiment of the present invention. 本発明の第1の実施の形態において、戻りアドレス値の前にフラグレジスタの値をスタック領域に待避させた状態を説明する図である。FIG. 10 is a diagram for explaining a state in which the value of the flag register is saved in the stack area before the return address value in the first embodiment of the present invention. 本発明の第1の実施の形態において、戻りアドレス値とフラグレジスタの値とが同一のバイト数で構成されている状態を説明する図である。FIG. 10 is a diagram for explaining a state where the return address value and the flag register value are configured with the same number of bytes in the first embodiment of the present invention. 本発明の第1の実施の形態において、戻りアドレス値とフラグレジスタの値とが異なるバイト数で構成されている状態を説明する図である。FIG. 6 is a diagram for explaining a state in which the return address value and the flag register value are configured with different numbers of bytes in the first embodiment of the present invention. 本発明の第1の実施の形態の変形例のユーザワークRAMの一例を示す図である。It is a figure which shows an example of the user work RAM of the modification of the 1st Embodiment of this invention. 本発明の第2の実施の形態の特図変動表示ゲームを実行するために必要な各種乱数の保留1から4までの保存領域を示す図である。It is a figure which shows the preservation | save area | region from the holding | maintenance 1 to 4 of various random numbers required in order to run the special figure fluctuation display game of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の特図変動表示ゲームを実行するために必要な各種乱数の保留5から8までの保存領域を示す図である。It is a figure which shows the preservation | save area | region from the hold | maintains 5-8 of the various random numbers required in order to run the special figure fluctuation display game of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の特図保留情報判定処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the special figure pending | holding information determination process of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の特図普段処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the special figure normal process of the 2nd Embodiment of this invention.

以下、本発明の実施の形態について、図面を参照しながら説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

なお、以下の実施の形態の説明における前後左右とは、遊技者から見た、つまり遊技盤(遊技機)に向かって見た方向を指すものとする。   In the following description of the embodiment, front, rear, left, and right refer to directions viewed from the player, that is, viewed from the game board (game machine).

(第1の実施の形態)
図1は、本発明の第1の実施の形態の遊技装置6の構成を説明する図である。
(First embodiment)
FIG. 1 is a diagram illustrating the configuration of the gaming device 6 according to the first embodiment of this invention.

遊技装置6は、有価価値を記憶する記憶媒体が挿入されるカードユニット70及び実際に遊技を行い、遊技媒体を払出可能な遊技機1を備える。   The gaming device 6 includes a card unit 70 into which a storage medium for storing a valuable value is inserted, and a gaming machine 1 that can actually play a game and pay out the gaming medium.

まず、遊技機1について説明する。   First, the gaming machine 1 will be described.

遊技機1の前面枠3は、本体枠(外枠)2にヒンジ4によって開閉回動可能に組み付けられる。遊技盤5(図3参照)は前面枠3の表側に形成された収納部(図示省略)に収装される。また、前面枠3には、遊技盤5の前面を覆うカバーガラス(透明部材)を備えたガラス枠18が取り付けられている。   The front frame 3 of the gaming machine 1 is assembled to the main body frame (outer frame) 2 so as to be capable of opening and closing by a hinge 4. The game board 5 (see FIG. 3) is housed in a storage portion (not shown) formed on the front side of the front frame 3. Further, a glass frame 18 having a cover glass (transparent member) covering the front surface of the game board 5 is attached to the front frame 3.

ガラス枠18のカバーガラスの周囲には、装飾光が発光される装飾部材9が備えられている。この装飾部材9の内部にはランプやLED等からなる装飾装置が備えられている。この装飾装置を所定の発光態様によって発光させることによって、装飾部材9が所定の発光態様で発光する。   A decorative member 9 that emits decorative light is provided around the cover glass of the glass frame 18. The decoration member 9 is provided with a decoration device made up of a lamp, LED or the like. By causing the decoration device to emit light in a predetermined light emitting mode, the decorative member 9 emits light in a predetermined light emitting mode.

ガラス枠18の左右には、音響(例えば、効果音)を発するスピーカ30が備えられている。また、ガラス枠18の上方には照明ユニット10が備えられている。照明ユニット10の内部には、装飾装置が備えられている。   Speakers 30 that emit sound (for example, sound effects) are provided on the left and right sides of the glass frame 18. An illumination unit 10 is provided above the glass frame 18. A decoration device is provided inside the lighting unit 10.

照明ユニット10の右側には、遊技機1のエラー発生や前面枠3の開放をホール店員に通知するためのエラー報知LED29が備えられている。   On the right side of the lighting unit 10, an error notification LED 29 is provided for notifying the hall clerk of the occurrence of an error in the gaming machine 1 and the opening of the front frame 3.

前面枠3の下部の開閉パネル20には図示しない打球発射装置に遊技球を供給する上皿21が備えられている。さらに、固定パネル22には灰皿15、下皿23及び打球発射装置の操作部24等が備えられている。下皿23には、下皿23に貯まった遊技球を排出するための下皿球抜き機構16が備えられる。前面枠3下部右側には、ガラス枠18を施錠するための鍵25が備えられている。   The open / close panel 20 below the front frame 3 is provided with an upper plate 21 for supplying game balls to a hitting ball launching device (not shown). Further, the fixed panel 22 is provided with an ashtray 15, a lower plate 23, an operation unit 24 of a ball hitting device, and the like. The lower tray 23 is provided with a lower tray ball removing mechanism 16 for discharging the game balls stored in the lower tray 23. A key 25 for locking the glass frame 18 is provided on the lower right side of the front frame 3.

また、遊技者が操作部24を回動操作することによって、打球発射装置は、上皿21から供給される遊技球を発射する。   Further, when the player turns the operation unit 24, the hitting ball launching device launches a game ball supplied from the upper plate 21.

また、上皿21の上縁部には、遊技者からの操作入力を受け付けるためのセレクトスイッチ40及び操作スイッチ41が備えられている。   The upper edge of the upper plate 21 is provided with a select switch 40 and an operation switch 41 for receiving an operation input from a player.

遊技者がセレクトスイッチ40を操作することによって、表示装置8(図3参照)における変動表示ゲームの演出内容を選択することができる。また、遊技者が操作スイッチ41を操作することによって、表示装置8における変動表示ゲームに、遊技者の操作を介入させた演出を行うことができる。   When the player operates the select switch 40, it is possible to select the contents of the effect of the variable display game on the display device 8 (see FIG. 3). In addition, when the player operates the operation switch 41, it is possible to perform an effect in which the player's operation is intervened in the variable display game on the display device 8.

上皿21の右上部には、遊技者が遊技媒体を借りる場合に操作する球貸ボタン26、及び、カードユニット70からプリペイドカードを排出させるために操作される排出ボタン27が設けられている。これらのボタン26、27の間には、プリペイドカードの残高を表示する残高表示部28が設けられる。   A ball lending button 26 that is operated when a player borrows a game medium and a discharge button 27 that is operated to discharge the prepaid card from the card unit 70 are provided on the upper right portion of the upper plate 21. Between these buttons 26 and 27, a balance display unit 28 for displaying the balance of the prepaid card is provided.

次に、カードユニット70について説明する。   Next, the card unit 70 will be described.

カードユニット70の下部には、プリペイドカード又は会員カード等のカードを挿入可能なカード挿入口71が設けられる。   A card insertion slot 71 into which a card such as a prepaid card or a membership card can be inserted is provided below the card unit 70.

プリペイドカード又は会員カード等のカードには、当該カードの一意な識別子、当該カードの所有者(遊技者)の会員情報、及び残高等が記憶されている。会員情報には、カードの所有者の住所、氏名、年齢、及び職業等が含まれる。   A card such as a prepaid card or a member card stores a unique identifier of the card, member information of the owner (player) of the card, a balance, and the like. The membership information includes the card owner's address, name, age, occupation, and the like.

カード挿入口71にプリペイドカード又は会員カード等のカードが挿入された場合、図示しないカードリーダ・ライタによって、カードに記憶された情報が読み出される。そして、当該カードに記憶された残高が、遊技機1の残高表示部28及びカードユニット70の中央付近に設けられた残高表示部72に表示される。   When a card such as a prepaid card or a membership card is inserted into the card insertion slot 71, information stored in the card is read by a card reader / writer (not shown). And the balance memorize | stored in the said card | curd is displayed on the balance display part 72 provided near the balance display part 28 of the gaming machine 1 and the card unit 70.

残高表示部72の上方には、紙幣を挿入可能な紙幣挿入口73が設けられる。紙幣挿入口73に挿入された紙幣の有価価値は、カードに残高として記憶される。   Above the balance display 72, a bill insertion slot 73 into which bills can be inserted is provided. The valuable value of the banknote inserted into the banknote insertion slot 73 is stored as a balance on the card.

紙幣挿入口73の上方には、動作表示部74が設けられる。動作表示部74は、カードユニット70の動作に対応した色で点灯する。   An operation display unit 74 is provided above the bill insertion slot 73. The operation display unit 74 is lit in a color corresponding to the operation of the card unit 70.

次に、図2を参照しながら遊技機1の裏面側について説明する。図2は、本発明の第1の実施の形態の遊技機1の背面図である。   Next, the back side of the gaming machine 1 will be described with reference to FIG. FIG. 2 is a rear view of the gaming machine 1 according to the first embodiment of this invention.

遊技機1の裏面側、具体的には、前面枠3の裏面側には、中央に略正方形状の開口部を有する枠状の裏機構盤310が取り付けられる。   On the back side of the gaming machine 1, specifically, on the back side of the front frame 3, a frame-like back mechanism board 310 having a substantially square opening at the center is attached.

裏機構盤310の上部には、島設備に設けられた補給装置(図示省略)から補給された遊技球を貯留すると共に、貯留した遊技球を流下させる球貯留ユニット320が配設される。   Above the back mechanism board 310, a ball storage unit 320 is provided that stores game balls replenished from a replenishment device (not shown) provided in the island facility and causes the stored game balls to flow down.

裏機構盤310の側部(図2中右側)には、球貯留ユニット320から流下してきた遊技球を、遊技機前面に配設された上皿21及び下皿23に払い出す球排出ユニット330が配設される。   On the side of the back mechanism board 310 (on the right side in FIG. 2), a ball discharge unit 330 that pays out the game balls flowing down from the ball storage unit 320 to the upper plate 21 and the lower plate 23 disposed in front of the game machine. Is disposed.

裏機構盤310の中央部には、遊技を統括的に制御する遊技制御装置100と、遊技制御装置100から送信される演出制御指令に基づいて変動表示ゲームの演出を制御する演出制御装置150とが配設される。   At the center of the back mechanism board 310, there are a game control device 100 that controls the game in an integrated manner, and an effect control device 150 that controls the effect of the variable display game based on the effect control command transmitted from the game control device 100. Is disposed.

遊技制御装置100には、図示しない検査装置に接続される検査装置接続端子107が配設される。   The game control device 100 is provided with an inspection device connection terminal 107 connected to an inspection device (not shown).

裏機構盤310の下部には、遊技制御装置100から送信されるデータに基づいて球排出ユニット330の動作を制御し、遊技者に賞球を付与する払出制御装置(付与制御装置)210と、電源装置160とが配設される。   At the bottom of the back mechanism board 310, a payout control device (granting control device) 210 for controlling the operation of the ball discharge unit 330 based on data transmitted from the game control device 100 and giving a prize ball to the player, A power supply device 160 is provided.

払出制御装置210には、図示しない検査装置に接続される検査装置接続端子217及び払出制御装置210に発生したエラーの種類を数字で表示するエラーナンバー表示器222が配設される。   The payout control device 210 is provided with an inspection device connection terminal 217 connected to an inspection device (not shown) and an error number display 222 for displaying the type of error that has occurred in the payout control device 210 in numbers.

また、電源装置160の右側の裏機構盤310には、遊技機1をカードユニット70に接続するためのカードユニット接続端子340が配設される。   In addition, a card unit connection terminal 340 for connecting the gaming machine 1 to the card unit 70 is disposed on the back mechanism board 310 on the right side of the power supply device 160.

次に、遊技盤5について、図3を参照しながら説明する。図3は、本発明の第1の実施の形態の遊技盤5の正面図である。   Next, the game board 5 will be described with reference to FIG. FIG. 3 is a front view of the game board 5 according to the first embodiment of this invention.

遊技盤5の表面には、ガイドレール55で囲われた略円形状の遊技領域51が形成される。遊技領域51は、遊技盤5の四方に各々設けられた樹脂製のサイドケース52及びガイドレール55によって構成される。遊技領域51の右下側のサイドケース52は、前面の中央部が黒色透明の証紙プレート53で覆われている。   On the surface of the game board 5, a substantially circular game area 51 surrounded by the guide rail 55 is formed. The game area 51 is composed of resin side cases 52 and guide rails 55 provided on each of the four sides of the game board 5. The side case 52 on the lower right side of the game area 51 is covered with a black transparent certificate paper plate 53 at the center of the front surface.

遊技領域51には、ほぼ中央に表示装置8が設けられるセンターケース300が配置される。表示装置8はセンターケース300に設けられた凹部に、センターケース300の前面より奥まった位置に取り付けられている。すなわち、センターケース300は表示装置8の表示領域の周囲を囲い、表示装置8の表示領域から突出して設けられている。   In the game area 51, a center case 300 provided with the display device 8 is arranged substantially at the center. The display device 8 is attached to a recess provided in the center case 300 at a position deeper than the front surface of the center case 300. That is, the center case 300 surrounds the display area of the display device 8 and is provided so as to protrude from the display area of the display device 8.

また、遊技領域51の右下の領域には、図4で後述する特図表示器120及び普図表示器121を一体化した、図柄表示ユニット(一括表示器)45が備えられる。   In the lower right area of the game area 51, a symbol display unit (collective display) 45 in which a special figure display 120 and a general display display 121 described later in FIG. 4 are integrated is provided.

表示装置8は、例えば、LCD(液晶表示器)、CRT(ブラウン管)等で表示画面が構成されている。表示画面の画像を表示可能な領域(表示領域)には、複数の変動表示領域が設けられており、各変動表示領域に識別情報(特別図柄)や特図(特別図柄)変動表示ゲームを演出するキャラクタが表示される。表示画面の変動表示領域には、識別情報として割り当てられた三つの特別図柄が変動表示(可変表示)して特図変動表示ゲームが行われる。その他、表示画面には遊技の進行に基づく画像(例えば、大当り表示、ファンファーレ表示、エンディング表示等)が表示される。   The display device 8 has a display screen composed of, for example, an LCD (liquid crystal display), a CRT (CRT), or the like. The display screen image area (display area) has a plurality of variable display areas. Each variable display area produces identification information (special symbols) and special symbol (special symbols) variable display games. Character to be displayed. In the variable display area of the display screen, three special symbols assigned as identification information are displayed in a variable display (variable display), and a special map variable display game is played. In addition, an image (for example, jackpot display, fanfare display, ending display, etc.) based on the progress of the game is displayed on the display screen.

センターケース300の左側には、普通図柄始動ゲート31が設けられる。センターケース300の左下側には、三つの一般入賞口32が備えられ、センターケース300の右下側には、一つの一般入賞口32が備えられている。   A normal symbol starting gate 31 is provided on the left side of the center case 300. Three general winning openings 32 are provided on the lower left side of the center case 300, and one general winning opening 32 is provided on the lower right side of the center case 300.

センターケース300の下方には、第1始動入賞口37と、第1始動入賞口37の直下に配設され、上部に逆「ハ」の字状に開いて遊技球が流入し易い状態に変換する一対の開閉部材を含む普通変動入賞装置33を備える第2始動入賞口34とが配置される。そして、遊技球が第1始動入賞口37又は第2始動入賞口34に入賞した場合には、補助遊技として特図変動表示ゲームが実行される。すなわち、第1始動入賞口37又は第2始動入賞口34に遊技球が入賞することが特図変動表示ゲームを開始するための始動条件となっており、第1始動入賞口37及び第2始動入賞口34が当該始動条件を発生させる変動始動入賞装置をなしている。なお、第1始動入賞口37に遊技球が入賞したことによって実行される特図変動表示ゲームを第1特図変動表示ゲームとし、第2始動入賞口34に遊技球が入賞したことによって実行される特図変動表示ゲームを第2特図変動表示ゲームとする。   Below the center case 300, the first start winning opening 37 is arranged directly below the first starting winning opening 37, and is opened in a reverse “C” shape at the top so that the game ball can easily flow in. And a second start winning opening 34 having a normal variation winning device 33 including a pair of opening and closing members. And when a game ball wins the 1st start winning opening 37 or the 2nd starting winning opening 34, a special figure change display game is performed as an auxiliary game. That is, the start condition for starting the special figure changing display game is that the game ball wins at the first start winning opening 37 or the second starting winning opening 34. The winning opening 34 forms a variable starting winning device that generates the starting condition. The special figure variation display game executed when the game ball is won at the first start winning opening 37 is referred to as a first special figure fluctuation display game, and is executed when the game ball is won at the second start winning opening 34. The special figure fluctuation display game is referred to as a second special figure fluctuation display game.

また、センターケース300に設けられた始動入賞口の下方には、表示装置8の作動結果(特図変動表示ゲームの結果)によって遊技球を受け入れない状態と受け入れ易い状態とに変換可能な特別変動入賞装置(大入賞口)36が配設される。   Further, below the start winning opening provided in the center case 300, a special variation that can be converted into a state in which a game ball is not accepted and a state in which it is easy to accept depending on the operation result of the display device 8 (result of the special figure variation display game) A winning device (large winning opening) 36 is provided.

遊技機1では、図示しない発射装置から遊技領域51に向けて遊技球(パチンコ球)が打ち出されることによって遊技が行われる。打ち出された遊技球は、遊技領域51内の各所に配置された釘や風車等の方向転換部材によって転動方向を変えながら遊技領域51を流下する。そして、普通図柄始動ゲート31、一般入賞口32、第1始動入賞口37、第2始動入賞口34、又は特別変動入賞装置36に入賞するか、遊技領域51の最下部に設けられたアウト口39から排出される。   In the gaming machine 1, a game is played by launching a game ball (pachinko ball) from a launcher (not shown) toward the game area 51. The launched game ball flows down the game area 51 while changing the rolling direction by a direction changing member such as a nail or a windmill arranged in various places in the game area 51. Then, the normal symbol starting gate 31, the general winning port 32, the first starting winning port 37, the second starting winning port 34, or the special variable winning device 36 is won, or an out port provided at the bottom of the game area 51 39 is discharged.

また、第2始動入賞口34の状態には、普通変動入賞装置33の開閉によって、遊技球が入賞しやすい状態(入賞容易状態)と遊技球が入賞しにくい状態(非入賞容易状態)とがある。   In addition, the state of the second start winning opening 34 includes a state in which the game ball is likely to win a prize (easy winning state) and a state where the game ball is difficult to win (a non-winning easy state) by opening and closing the normal variation winning device 33. is there.

通常、普通変動入賞装置33が閉状態の場合には、第2始動入賞口34は、遊技球が入賞しにくい状態となる。普通図柄始動ゲート31を遊技球が通過することによって、普図変動表示ゲームが実行され、普図変動表示ゲームの結果が当りとなると、普通変動入賞装置33が開状態に変換され、第2始動入賞口34は遊技球が入賞し易い状態となる。   Usually, when the normal variation winning device 33 is in the closed state, the second start winning port 34 is in a state where it is difficult for the game ball to win. When the game ball passes through the normal symbol start gate 31, the general variation display game is executed, and when the result of the general variation display game is hit, the normal variation winning device 33 is converted to the open state, and the second start The winning opening 34 is in a state where a game ball can easily win.

一般入賞口32への遊技球の入賞は、一般入賞口32に備えられた入賞口SW(スイッチ)32A〜32N(図4参照)によって検出される。   The winning of a game ball in the general winning opening 32 is detected by winning openings SW (switches) 32A to 32N (see FIG. 4) provided in the general winning opening 32.

第1始動入賞口37への遊技球の入賞は第1特図始動SW(スイッチ)37A(図4参照)によって検出される。この遊技球の通過タイミングによって抽出された各種乱数は、遊技制御装置100内の特図1始動記憶領域に特別図柄入賞記憶として所定回数(例えば、最大で4回分)を限度に記憶される。   The winning of a game ball in the first start winning opening 37 is detected by a first special figure start SW (switch) 37A (see FIG. 4). Various random numbers extracted according to the passing timing of the game ball are stored in the special figure 1 start storage area in the game control device 100 as a special symbol winning memory for a predetermined number of times (for example, a maximum of four times).

また、第2始動入賞口34への遊技球の入賞は第2特図始動SW(スイッチ)34A(図4参照)によって検出される。この遊技球の通過タイミングによって抽出された各種乱数は、遊技制御装置100内の特図2始動記憶領域に特別図柄入賞記憶として所定回数(例えば、最大で4回分)を限度に記憶される。   Also, the winning of a game ball in the second start winning opening 34 is detected by a second special figure start SW (switch) 34A (see FIG. 4). Various random numbers extracted according to the passing timing of the game ball are stored in the special figure 2 start storage area in the game control device 100 as a special symbol winning memory for a predetermined number of times (for example, a maximum of four times).

遊技制御装置100は、これらの特別図柄入賞記憶に基づき、図柄表示ユニット45を形成する特図表示器120(図4参照)にて、第1特図動表示ゲーム及び第2特図動表示ゲームを行う。   Based on these special symbol winning memories, the game control device 100 uses the special symbol display 120 (see FIG. 4) forming the symbol display unit 45 to display the first special symbol dynamic display game and the second special graphic dynamic display game. I do.

ここで特図表示器120について説明する。特図表示器120は、図示しない第1特図図柄表示部、第1特図入賞記憶数表示部、第2特図図柄表示部、及び第2特図入賞記憶数表示部を有する。   Here, the special figure display 120 will be described. The special figure indicator 120 includes a first special figure display unit, a first special figure winning memory number display unit, a second special symbol symbol display unit, and a second special figure winning memory number display unit (not shown).

そして、遊技球が第1始動入賞口37に入賞して特別図柄入賞記憶が発生すると、第1特図入賞記憶数表示部に特別図柄入賞記憶の記憶数が表示され、第1特図図柄表示部にて第1特図変動表示ゲームが実行される。同様に、遊技球が第2始動入賞口34に入賞して特別図柄入賞記憶が発生すると、第2特図入賞記憶数表示部に特別図柄入賞記憶の記憶数が表示され、第2特図図柄表示部にて第2特図変動表示ゲームが実行される。   When the game ball wins the first start winning opening 37 and a special symbol winning memory is generated, the number of special symbol winning memories stored is displayed on the first special symbol winning memory number display section, and the first special symbol display is displayed. The first special figure variation display game is executed in the section. Similarly, when the game ball wins the second start winning opening 34 and the special symbol winning memory is generated, the number of the special symbol winning memory is displayed on the second special symbol winning memory display section, and the second special symbol memory is displayed. The second special figure variation display game is executed on the display unit.

なお、第1始動入賞口37への入賞が所定のタイミングでなされたとき(具体的には、入賞検出時の当り乱数値が当り値であるとき)には、第1特図変動表示ゲームの結果として表示図柄により特別結果態様が導出される。具体的には、第1図柄表示部にて、対応する特定の図柄(例えば、「1」〜「9」までのいずれかの数字等)が停止表示される。なお、第1特図変動表示ゲームがはずれの場合には、第1特図図柄表示部にて、はずれに対応する図柄(例えば「0」等)が停止表示される。   Note that when the winning to the first start winning opening 37 is made at a predetermined timing (specifically, when the winning random number at the time of winning detection is a winning value), the first special figure variation display game is displayed. As a result, a special result mode is derived from the display symbol. Specifically, a corresponding specific symbol (for example, any number from “1” to “9”) is stopped and displayed on the first symbol display unit. If the first special figure variation display game is out of play, a symbol corresponding to the outage (for example, “0” or the like) is stopped and displayed in the first special figure display section.

同様に、第2始動入賞口34への入賞が所定のタイミングでなされたとき(具体的には、入賞検出時の当り乱数値が当り値であるとき)には、第2特図変動表示ゲームの結果として表示図柄により特別結果態様が導出される。具体的には、第2特図図柄表示部にて、対応する特定の図柄(例えば、「1」〜「9」までのいずれかの数字等)が停止表示される。なお、第2特図変動表示ゲームがはずれの場合には、第2特図図柄表示部にて、はずれに対応する図柄(例えば「0」等)が停止表示される。   Similarly, when a winning at the second start winning opening 34 is made at a predetermined timing (specifically, when the winning random number at the time of winning detection is a winning value), the second special figure variation display game. As a result of the above, a special result mode is derived from the display symbol. Specifically, the corresponding special symbol (for example, any number from “1” to “9”) is stopped and displayed on the second special symbol display unit. When the second special figure variation display game is out of play, a symbol corresponding to the outage (for example, “0” or the like) is stopped and displayed in the second special symbol display unit.

そして、第1特図変動表示ゲームの結果として特別結果態様が導出された場合、あるいは、第2特図変動表示ゲームの結果として特別結果態様が導出された場合には、大当り状態(特別遊技状態)が発生する。このとき、特別変動入賞装置36は、大入賞口ソレノイド38(図4参照)への通電によって、所定の時間(例えば、30秒)だけ、遊技球を受け入れない閉状態から遊技球を受け入れやすい開状態に変換される。すなわち、特別変動入賞装置36が所定の時間又は所定数の遊技球が入賞するまで大きく開くので、この間遊技者は多くの遊技球を獲得することができるという特典が付与される。   When the special result mode is derived as a result of the first special figure variation display game, or when the special result mode is derived as a result of the second special figure variation display game, the big hit state (special game state) ) Occurs. At this time, the special variable prize winning device 36 is opened so that it can easily accept a game ball from a closed state in which it does not accept a game ball for a predetermined time (for example, 30 seconds) by energizing a large prize opening solenoid 38 (see FIG. 4). Converted to a state. That is, since the special variable winning device 36 opens greatly until a predetermined time or a predetermined number of game balls wins, a privilege that the player can acquire many game balls during this time is given.

なお、表示装置8においても、図柄表示ユニット45の特図表示器120で実行される第1特図変動表示ゲームと第2特図変動表示ゲームに同期して、飾り特図変動表示ゲームが実行される。このとき、前述した数字等で構成される特別図柄(識別情報)が左(第一特別図柄)、右(第二特別図柄)、中(第三特別図柄)の順に変動表示を開始して、飾り特図変動表示ゲームに関する画像が表示される。   In the display device 8 as well, a decorative special symbol variation display game is executed in synchronization with the first special symbol variation display game and the second special diagram variation display game executed on the special symbol display unit 120 of the symbol display unit 45. Is done. At this time, the special symbol (identification information) composed of the numbers and the like described above starts variable display in the order of left (first special symbol), right (second special symbol), middle (third special symbol), An image related to the decorative special figure variation display game is displayed.

第1特図変動表示ゲーム若しくは第2特図変動表示ゲームが特別結果態様を導出する場合は、表示装置8でも特定態様の図柄が導出されて停止表示する。具体的には、表示装置8では、三つの特別図柄が揃った状態(大当り図柄)で停止する。第1特図変動表示ゲーム及び第2特図変動表示ゲームが特別結果態様を導出しない場合は、表示装置8でも特定態様の図柄を停止表示しないように制御される。   When the first special figure fluctuation display game or the second special figure fluctuation display game derives the special result mode, the display device 8 also derives the symbol of the specific mode and displays it in a stopped state. Specifically, the display device 8 stops in a state where three special symbols are aligned (a jackpot symbol). When the first special figure fluctuation display game and the second special figure fluctuation display game do not derive the special result mode, the display device 8 is controlled not to stop and display the symbols of the specific mode.

なお、本実施形態では、図柄表示ユニット45で実行される第1特図変動表示ゲーム及び第2特図変動表示ゲームと、表示装置8で実行される飾り特図変動表示ゲームのいずれをも特図変動表示ゲームとして扱うものとする。   In the present embodiment, both the first special figure fluctuation display game and the second special figure fluctuation display game executed by the symbol display unit 45 and the decorative special figure fluctuation display game executed by the display device 8 are special. It shall be handled as a figure variation display game.

特別変動入賞装置36への遊技球の入賞は、カウントSW(スイッチ)36A(図4参照)によって検出される。   The winning of the game ball to the special variation winning device 36 is detected by a count SW (switch) 36A (see FIG. 4).

普通図柄始動ゲート31への遊技球の通過は、普図始動SW(スイッチ)31A(図4参照)で検出される。この遊技球の通過タイミングによって抽出された普図乱数は、遊技制御装置100内の普図始動記憶領域に普通図柄入賞記憶として所定回数(例えば、最大で4回分)を限度に記憶される。遊技制御装置100は、この普通図柄入賞記憶に基づき、図柄表示ユニット45を形成する普図表示器121(図4参照)にて、普図変動表示ゲームを行う。   The passing of the game ball to the normal symbol start gate 31 is detected by a normal start SW (switch) 31A (see FIG. 4). The usual figure random number extracted by the passing timing of the game ball is stored in the usual figure starting storage area in the game control apparatus 100 as a normal symbol winning memory for a predetermined number of times (for example, a maximum of four times). The game control device 100 plays a universal symbol display game on the universal symbol display 121 (see FIG. 4) forming the symbol display unit 45 based on the normal symbol winning memory.

ここで普図表示器121について説明する。普図表示器121は、図示しない普図図柄表示部と普図入賞記憶数表示部を有する。前述したように、遊技球が普通図柄始動ゲート31を通過して普通図柄入賞記憶が発生すると、この普図図柄表示部にて普図変動表示ゲームが実行される。また、普図入賞記憶数表示部には、普通図柄入賞記憶の記憶数が表示される。   Here, the general map display 121 will be described. The universal symbol display device 121 has a universal symbol display unit and a universal symbol winning memory number display unit (not shown). As described above, when the game ball passes through the normal symbol start gate 31 and the normal symbol winning memory is generated, the normal symbol change display game is executed in the normal symbol display section. In addition, the number of stored normal symbol winning memories is displayed on the common symbol winning memory number display section.

そして、遊技球が普通図柄始動ゲート31を通過して普通図柄入賞記憶が発生すると、普図入賞記憶数表示部に普通図柄入賞記憶の記憶数が表示され、普図図柄表示部にて普図変動表示ゲームが実行される。   When the game ball passes through the normal symbol start gate 31 and the normal symbol winning memory is generated, the number of the normal symbol winning memory is displayed on the general symbol winning memory number display portion, and the normal symbol display portion displays the normal symbol. A variable display game is executed.

なお、普通図柄始動ゲート31の通過が所定のタイミングでなされたとき(具体的には、通過検出時の当り乱数値が当り値であるとき)には、普図図柄表示部に表示される普通図柄が当り状態で停止し、普図変動表示ゲームが当りとなる。このとき、普通変動入賞装置33は、普電ソレノイド90(図4参照)への通電により、第2始動入賞口34への入口が所定の時間(例えば、0.5秒〜2.9秒の範囲内で予め定められた時間)だけ開放するように変換され、遊技球の第2始動入賞口34への入賞が許容される。これによって、遊技球が第2始動入賞口34へ入賞しやすくなり、第2特図変動表示ゲームの始動が容易となる。   In addition, when the normal symbol start gate 31 is passed at a predetermined timing (specifically, when the winning random number at the time of passing is a winning value), the normal symbol displayed on the normal symbol display unit is displayed. The symbol stops in the hit state, and the normal figure change display game is won. At this time, the normal variation winning device 33 is energized to the ordinary solenoid 90 (see FIG. 4), and the entrance to the second starting winning port 34 is for a predetermined time (for example, 0.5 seconds to 2.9 seconds). The game ball is converted to be released only for a predetermined time within the range, and the winning of the game ball to the second start winning opening 34 is allowed. This makes it easier for the game ball to win the second start winning opening 34 and facilitates the start of the second special figure variation display game.

このようにして、一般入賞口32、第1始動入賞口37、第2始動入賞口34、又は特別変動入賞装置36に遊技球が入賞すると、入賞した入賞口の種類に応じた数の賞球が払出制御装置210によって制御される払出ユニットから、前面枠3の上皿21又は下皿23に排出される。   In this way, when a game ball wins the general winning opening 32, the first starting winning opening 37, the second starting winning opening 34, or the special variable winning winning device 36, the number of winning balls according to the type of winning winning opening. Is discharged from the dispensing unit controlled by the dispensing control device 210 to the upper plate 21 or the lower plate 23 of the front frame 3.

なお、本実施形態のパチンコ遊技機は、特図変動表示ゲームの結果に対応して(厳密には、特図変動表示ゲームの結果として特図表示器120に停止表示される図柄に対応して)、以後の特図変動表示ゲームの当り確率が変化する場合があり、遊技状態は、常時、特図変動表示ゲームが低確率で大当りとなる低確率状態か、当該低確率状態よりも特図変動表示ゲームが大当りとなる確率の高い高確率状態のいずれかに設定されている。なお、低確率状態を通常状態や非確変遊技状態と称したり、高確率状態を確変遊技状態(確変状態)と称したりする場合もある。   Note that the pachinko gaming machine according to the present embodiment corresponds to the result of the special figure fluctuation display game (strictly, it corresponds to the symbol that is stopped and displayed on the special figure display device 120 as a result of the special figure fluctuation display game). ), The probability of hitting the special figure variation display game thereafter may change, and the gaming state is always a low probability state where the special figure variation display game is a big hit with a low probability or a special figure than the low probability state. The variable display game is set to one of high probability states with a high probability of winning a big hit. The low probability state may be referred to as a normal state or a non-probability variation gaming state, and the high probability state may be referred to as a probability variation gaming state (probability variation state).

さらに、本実施形態のパチンコ遊技機の遊技状態は、特図変動表示ゲームの結果に対応して、普通変動入賞装置33の開放頻度が変化する場合があり、遊技状態は、常時、普通変動入賞装置33の開放頻度が低い入賞抑制状態か、当該入賞抑制状態よりも普通変動入賞装置33の開放頻度が高い入賞促進状態のいずれかに設定されている。なお、入賞抑制状態を通常状態や非時短遊技状態と称したり、入賞促進状態を時短遊技状態(時短状態)と称したりする場合もある。   Furthermore, in the gaming state of the pachinko gaming machine according to the present embodiment, the opening frequency of the normal variation winning device 33 may change corresponding to the result of the special figure variation display game, and the gaming state is always the normal variation winning. Either the winning suppression state in which the opening frequency of the device 33 is low or the winning promotion state in which the opening frequency of the normal variation winning device 33 is higher than that in the winning suppression state is set. The winning suppression state may be referred to as a normal state or a non-short-time gaming state, or the winning promotion state may be referred to as a short-time gaming state (short-time state).

この入賞促進状態においては、普図変動表示ゲームの実行時間が入賞抑制状態における実行時間より短くなるように制御される(例えば、入賞抑制状態で10秒に対し、入賞促進状態で1秒)。これによって、単位時間当りの普通変動入賞装置33の開放回数が実質的に多くなるように制御される。   In the winning promotion state, the execution time of the normal fluctuation display game is controlled to be shorter than the execution time in the winning suppression state (for example, 10 seconds in the winning suppression state and 1 second in the winning promotion state). As a result, the number of times the normally variable winning device 33 is opened per unit time is controlled to be substantially increased.

また、入賞促進状態においては、普図変動表示ゲームが当り結果となって普通変動入賞装置33が開放される場合に、開放時間が通常遊技状態の開放時間より長くなるように制御されてもよい(例えば、入賞抑制状態で0.5秒に対し、入賞促進状態で2.9秒)。また、入賞促進状態においては、普通図柄変動表示ゲームの1回の当り結果に対して、普通変動入賞装置33が1回ではなく、複数回(例えば、2回)開放してもよい。さらに、入賞促進状態においては、普図変動表示ゲームの結果が当りとなる確率が入賞抑制状態より高くなるように制御してもよい。すなわち、入賞促進状態では、入賞抑制状態よりも普通変動入賞装置33の開放頻度が増加し、普通変動入賞装置33に遊技球が入賞しやすくなり、特図変動表示ゲームの始動が容易となる特典が付与される。   Further, in the winning promotion state, when the normal variation winning device 33 is released as a result of the normal fluctuation display game being won, the opening time may be controlled to be longer than the opening time of the normal gaming state. (For example, 2.9 seconds in the winning promotion state versus 0.5 seconds in the winning suppression state). Further, in the winning promotion state, the normal variation winning device 33 may be opened a plurality of times (for example, twice) instead of once for a single winning result of the normal symbol variation display game. Further, in the winning promotion state, control may be performed so that the probability that the result of the normal-variation display game is a win is higher than the winning suppression state. That is, in the winning promotion state, the opening frequency of the normal variation winning device 33 increases more than in the winning suppression state, and it becomes easier for a game ball to win the normal variation winning device 33 and the special figure variable display game can be easily started. Is granted.

図4は、本発明の第1の実施の形態の遊技装置6のブロック図である。   FIG. 4 is a block diagram of the gaming apparatus 6 according to the first embodiment of this invention.

遊技制御装置100は、遊技用マイコン(遊技用演算処理装置600)101、入力I/F(Interface)105、出力I/F(Interface)106及び検査装置接続端子107を備える。   The game control device 100 includes a game microcomputer (game calculation processing device 600) 101, an input I / F (Interface) 105, an output I / F (Interface) 106, and an inspection device connection terminal 107.

遊技用マイコン101は、CPU102、ROM(Read Only Memory)103及びRAM(Random Access Memory)104を備える。   The gaming microcomputer 101 includes a CPU 102, a ROM (Read Only Memory) 103, and a RAM (Random Access Memory) 104.

CPU102は、遊技を統括的に制御する主制御装置であって、遊技制御を行う。ROM103は、遊技制御のための不変の情報(プログラム、データ等)を記憶する。RAM104は、遊技制御時にワークエリアとして利用される。   The CPU 102 is a main control device that controls the game in an integrated manner, and performs game control. The ROM 103 stores invariant information (program, data, etc.) for game control. The RAM 104 is used as a work area during game control.

遊技制御装置100には、遊技用マイコン101に一意に設定された識別番号を出力することが可能な検査装置接続端子107が設けられている。検査装置接続端子107に図示しない検査装置を接続すると、検査装置は遊技機1を識別することができる。   The game control device 100 is provided with an inspection device connection terminal 107 capable of outputting an identification number uniquely set in the game microcomputer 101. When an inspection device (not shown) is connected to the inspection device connection terminal 107, the inspection device can identify the gaming machine 1.

CPU102は、入力I/F105を介して各種検出器(第1特図始動SW37A、第2特図始動SW34A、普図始動SW31A、カウントSW36A、及び入賞口SW32A〜入賞口SW32N、オーバーフローSW(スイッチ)109、球切れSW(スイッチ)110、及び枠開放SW(スイッチ)111)からの検出信号を受けて、大当り抽選等、種々の処理を行う。   The CPU 102 receives various detectors (first special figure start SW 37A, second special figure start SW 34A, general figure start SW 31A, count SW 36A, and winning opening SW32A to winning opening SW32N, overflow SW (switch) via the input I / F 105. 109, receiving a detection signal from the ball break SW (switch) 110 and the frame opening SW (switch) 111), various processes such as a big hit lottery are performed.

オーバーフロースイッチ109は、下皿23に遊技球が所定数以上貯留されていることを検出する。球切れスイッチ110は、球貯留ユニット320に配設され、球貯留ユニット320に貯留される遊技球が所定数以下になることを検出する。枠開放スイッチ111は、前面枠3の開放を検出する。   The overflow switch 109 detects that a predetermined number or more of game balls are stored in the lower plate 23. The ball break switch 110 is disposed in the ball storage unit 320 and detects that the number of game balls stored in the ball storage unit 320 is less than or equal to a predetermined number. The frame opening switch 111 detects the opening of the front frame 3.

また、CPU102は、出力I/F106を介して、普図表示器121、特図表示器120、普電SOL(ソレノイド)90、大入賞口SOL(ソレノイド)38、払出制御装置210及び演出制御装置150に指令信号を送信し、遊技を統括的に制御する。   In addition, the CPU 102, via the output I / F 106, displays a general-purpose indicator 121, a special-purpose indicator 120, a general electric power SOL (solenoid) 90, a special winning opening SOL (solenoid) 38, a payout control device 210, and an effect control device. A command signal is transmitted to 150, and the game is comprehensively controlled.

普図表示器121は、前述したように、普図変動表示ゲームが表示される。特図表示器120は、前述したように、第1特図変動表示ゲームと第2特図変動表示ゲームとが表示される。   As described above, the universal map display 121 displays a universal map display game. As described above, the special figure display 120 displays the first special figure fluctuation display game and the second special figure fluctuation display game.

普電SOL90は、第2始動入賞口34に遊技球が入賞可能となるように、第2始動入賞口34に備えられた開閉部材で構成された普通変動入賞装置33を所定の時間だけ開放させる。   The general electric power SOL 90 opens the normal variation winning device 33 constituted by an opening / closing member provided in the second starting winning port 34 for a predetermined time so that a game ball can be won in the second starting winning port 34. .

大入賞口SOL38は、特別変動入賞装置36の大入賞口を所定の時間だけ、遊技球を受け入れない閉状態(遊技者に不利な状態)から遊技球を受け入れやすい開状態(遊技者に有利な状態)にする。   The big prize opening SOL38 is in an open state (advantageous to the player) from the closed state (a disadvantageous state for the player) that does not accept the game ball for a predetermined time. State).

また、遊技制御装置100は、遊技機1に関する情報を、外部情報端子108を介して、遊技店に設置された情報収集端末や遊技場内部管理装置(図示省略)に出力する。   In addition, the game control device 100 outputs information related to the gaming machine 1 to an information collection terminal or a game hall internal management device (not shown) installed in the game store via the external information terminal 108.

遊技制御装置100は、変動開始コマンド、客待ちデモコマンド、ファンファーレコマンド、確率情報コマンド、及びエラー指定コマンド等を、演出制御指令信号として、演出制御装置150へ送信する。   The game control device 100 transmits a change start command, a customer waiting demo command, a fanfare command, a probability information command, an error designation command, and the like to the effect control device 150 as an effect control command signal.

次に、払出制御装置210及び演出制御装置150について説明する。   Next, the payout control device 210 and the effect control device 150 will be described.

演出制御装置(表示制御装置)150は、遊技制御装置100から入力される各種信号に基づいて、エラー報知LED29、スピーカ30、発光により遊技演出を行う装飾部材9(図1)及び表示装置8を制御する。   The effect control device (display control device) 150 includes an error notification LED 29, a speaker 30, a decorative member 9 (FIG. 1) that performs a game effect by light emission, and the display device 8 based on various signals input from the game control device 100. Control.

演出制御装置150は、遊技用マイコン(遊技用演算処理装置600)151、ドライバ155、音回路156、及びVDP157を備える。   The effect control device 150 includes a game microcomputer (game operation processing device 600) 151, a driver 155, a sound circuit 156, and a VDP 157.

遊技用マイコン151は、CPU152、ROM153及びRAM154を備える。   The gaming microcomputer 151 includes a CPU 152, a ROM 153, and a RAM 154.

CPU152は、演出制御を行う制御装置である。ROM153は、演出制御に必要な不変の情報(プログラム、データ等)を記憶している。RAM154は、演出制御時にワークエリアとして利用される。   The CPU 152 is a control device that performs effect control. The ROM 153 stores invariant information (programs, data, etc.) necessary for production control. The RAM 154 is used as a work area during production control.

ドライバ155は、CPU152からの指令により、エラー報知LED29及び装飾部材9を制御する。音回路156は、CPU152からの指令により、効果音を生成してスピーカ30から出力する。VDP157は、CPU152からの指令により、画像データを生成して表示装置8へ出力する。   The driver 155 controls the error notification LED 29 and the decoration member 9 according to a command from the CPU 152. The sound circuit 156 generates a sound effect according to a command from the CPU 152 and outputs it from the speaker 30. The VDP 157 generates image data in response to a command from the CPU 152 and outputs the image data to the display device 8.

払出制御装置210は、遊技制御装置100からの賞球指令信号に基づいて、払出装置の払出モータ220を駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置210は、カードユニット70からの貸球要求信号に基づいて、遊技制御装置100が送信する排出指令信号に基づいて、払出装置の払出モータ220を駆動させ、貸球を払い出させるための制御を行う。   Based on the prize ball command signal from the game control device 100, the payout control device 210 drives the payout motor 220 of the payout device and performs control for paying out the prize ball. Also, the payout control device 210 drives the payout motor 220 of the payout device based on the discharge command signal transmitted from the game control device 100 based on the loan request signal from the card unit 70, and pays out the rental money. Control to make it happen.

払出制御装置210は、遊技用マイコン(遊技用演算処理装置600)211、入力I/F(Interface)215、入出力I/F(Interface)216及び検査装置接続端子217を備える。   The payout control device 210 includes a game microcomputer (game operation processing device 600) 211, an input I / F (Interface) 215, an input / output I / F (Interface) 216, and an inspection device connection terminal 217.

遊技用マイコン211は、CPU212、ROM213及びRAM214を備える。   The gaming microcomputer 211 includes a CPU 212, a ROM 213, and a RAM 214.

CPU212は、払い出しを統括的に制御する制御装置であって、払出制御を司る。ROM213は、払出制御のための不変の情報(プログラム、データ等)を記憶している。RAM214は、払出制御時にワークエリアとして利用される。   The CPU 212 is a control device that comprehensively controls the payout and controls the payout control. The ROM 213 stores invariant information (program, data, etc.) for payout control. The RAM 214 is used as a work area during payout control.

CPU212は、入力I/F215を介して払出球検出スイッチ112、オーバーフロースイッチ109、球切れスイッチ110、エラー解除スイッチ223、税率設定スイッチ226、及び貸出料金設定スイッチ227からの入力を受ける。   The CPU 212 receives inputs from the payout ball detection switch 112, the overflow switch 109, the ball break switch 110, the error release switch 223, the tax rate setting switch 226, and the lending fee setting switch 227 via the input I / F 215.

エラー解除スイッチ223は、払出制御装置210にエラーが発生した場合に、遊技店の店員等が発生したエラーの原因を解消した際に、遊技店の店員等によって操作され、エラー状態を解除するためのスイッチである。   The error release switch 223 is operated by the store clerk of the amusement store to cancel the error state when the cause of the error generated by the store clerk of the amusement store is resolved when an error occurs in the payout control device 210. It is a switch.

税率設定スイッチ226は、遊技球の貸し出しに対して課税される間接税の税率を設定するスイッチである。貸出料金設定スイッチ227は、貸し出される遊技球の有価価値を設定するためのスイッチである。   The tax rate setting switch 226 is a switch for setting a tax rate of indirect tax imposed on the rental of game balls. The rental fee setting switch 227 is a switch for setting the valuable value of the game balls to be lent.

また、CPU212は、入出力I/F216を介して、払出モータ220、発射制御装置221、エラーナンバー表示器222、税率表示器224及び貸出料金表示器225に指令信号を送信する。また、CPU212は、入出力I/F216を介して遊技制御装置100から送信された各種信号を受信する。   Further, the CPU 212 transmits a command signal to the payout motor 220, the launch control device 221, the error number display 222, the tax rate display 224, and the rental charge display 225 via the input / output I / F 216. In addition, the CPU 212 receives various signals transmitted from the game control device 100 via the input / output I / F 216.

払出モータ220は、実際に払出装置で遊技球を払い出すために駆動されるモータである。具体的には、払出モータ220は、1個の遊技球を貯留可能な凹部を所定個数有するスプロケットを回転させることによって、遊技球を払い出す。   The payout motor 220 is a motor that is actually driven to pay out the game ball by the payout device. Specifically, the payout motor 220 pays out the game ball by rotating a sprocket having a predetermined number of recesses capable of storing one game ball.

発射制御装置221は、遊技球を遊技盤5に発射するための発射装置を制御する。エラーナンバー表示器222は、払出制御装置210の裏面側に配設され、払出制御装置210で発生したエラーの種類を特定可能に表示する。   The launch control device 221 controls a launch device for launching a game ball onto the game board 5. The error number display 222 is disposed on the back side of the payout control device 210 and displays the type of error that has occurred in the payout control device 210 so that it can be specified.

税率表示器224は、払出制御装置210の裏面側に配設され、税率設定スイッチ226によって設定された間接税の税率を表示する。貸出料金表示器225は、払出制御装置210の裏面側に配設され、貸出料金設定スイッチ227によって設定された貸し出される遊技球の有価価値を表示する。   The tax rate indicator 224 is disposed on the back side of the payout control device 210 and displays the tax rate of the indirect tax set by the tax rate setting switch 226. The rental charge indicator 225 is disposed on the back side of the payout control device 210 and displays the valuable value of the game balls to be lent set by the rental charge setting switch 227.

電源装置160は、バックアップ電源161、RAMクリアスイッチ162を備える。遊技制御装置100、演出制御装置150、及び払出制御装置210は、電源装置160に接続される。   The power supply device 160 includes a backup power supply 161 and a RAM clear switch 162. The game control device 100, the effect control device 150, and the payout control device 210 are connected to the power supply device 160.

バックアップ電源161は、停電時においても、遊技制御装置100、演出制御装置150、及び払出制御装置210に電源を供給する。なお、演出制御装置150には必ずしも電源を供給しなくてもよく、停電復帰後、遊技制御装置100からコマンドを送信するようにしてもよい。   The backup power supply 161 supplies power to the game control device 100, the effect control device 150, and the payout control device 210 even during a power failure. It is not always necessary to supply power to the effect control device 150, and a command may be transmitted from the game control device 100 after recovery from a power failure.

RAMクリアスイッチ162は、遊技制御装置100に備わるRAM104及び払出制御装置210に備わるRAM214に記憶されている情報を初期化するスイッチである。   The RAM clear switch 162 is a switch that initializes information stored in the RAM 104 provided in the game control device 100 and the RAM 214 provided in the payout control device 210.

また、遊技機1に備わる球貸ボタン26が操作されると、カードユニット70は、プリペイドカード又は会員カード等のカードに記憶されている有価価値から貸し出される遊技球分の有価価値を減算して、減算した有価価値の値を遊技機1の残高表示部28に表示する。また、遊技機1に備わる排出ボタン27が操作されると、カードユニット70は、カード挿入口71に挿入されたカードを排出する。   Further, when the ball lending button 26 provided in the gaming machine 1 is operated, the card unit 70 subtracts the valuable value for the gaming ball to be lent from the valuable value stored in the card such as the prepaid card or the membership card. The value of the subtracted valuable value is displayed on the balance display unit 28 of the gaming machine 1. Further, when the discharge button 27 provided in the gaming machine 1 is operated, the card unit 70 discharges the card inserted into the card insertion slot 71.

遊技制御装置100に備わる遊技用マイコン101と払出制御装置210に備わる遊技用マイコン211とは、暗号化された暗号化信号(暗号化データ)を双方向通信可能に接続される。また、暗号化されない非暗号化信号(平文データ)については、遊技制御装置100に備わる遊技用マイコン101から払出制御装置210に備わる遊技用マイコン211に単方向通信が可能に接続される。   The game microcomputer 101 provided in the game control device 100 and the game microcomputer 211 provided in the payout control device 210 are connected to each other so that an encrypted encrypted signal (encrypted data) can be bidirectionally communicated. Further, an unencrypted signal (plaintext data) that is not encrypted is connected to the gaming microcomputer 211 provided in the payout control device 210 from the gaming microcomputer 101 provided in the gaming control device 100 so as to be able to perform one-way communication.

また、遊技制御装置100に備わる遊技用マイコン101と演出制御装置150に備わる遊技用マイコン151とは、暗号化されない非暗号化信号(平文データ)を遊技制御装置100から演出制御装置150への単方向で通信可能に接続される。   In addition, the gaming microcomputer 101 provided in the game control device 100 and the gaming microcomputer 151 provided in the effect control device 150 are configured to simply transmit an unencrypted unencrypted signal (plaintext data) from the game control device 100 to the effect control device 150. It is connected so that it can communicate in the direction.

なお、遊技制御装置100に備わる遊技用マイコン101、演出制御装置150に備わる遊技用マイコン151及び払出制御装置210に備わる遊技用マイコン211は、これらの接続に必要なポートを備えている。   Note that the game microcomputer 101 provided in the game control device 100, the game microcomputer 151 provided in the effect control device 150, and the game microcomputer 211 provided in the payout control device 210 include ports necessary for these connections.

次に、遊技制御装置100に備わる遊技用マイコン101、演出制御装置150に備わる遊技用マイコン151及び払出制御装置210に備わる遊技用マイコン211(以下、総称して遊技用演算処理装置600という)について、図5を用いて詳細に説明する。   Next, with respect to the gaming microcomputer 101 provided in the game control device 100, the gaming microcomputer 151 provided in the effect control device 150, and the gaming microcomputer 211 provided in the payout control device 210 (hereinafter collectively referred to as gaming arithmetic processing device 600). This will be described in detail with reference to FIG.

図5は、本発明の第1の実施の形態の遊技用演算処理装置(アミューズチップ)600のブロック図である。   FIG. 5 is a block diagram of the game processing device (amuse chip) 600 according to the first embodiment of this invention.

遊技用演算処理装置600はいわゆるアミューズチップ用のICとして製造され、遊技制御を行う遊技領域部600Aと情報管理を行う情報領域部600Bとに区分される。   The game processing unit 600 is manufactured as an IC for a so-called amuse chip, and is divided into a game area unit 600A for performing game control and an information area unit 600B for managing information.

まず、遊技領域部600Aは、CPUコア601、ユーザプログラムROM602、HWパラメータROM603、ユーザワークRAM604、ミラードRAM605、外部バスインターフェース(I/F)606、バス切替回路607、乱数生成回路608、クロック生成回路609、割込制御回路610A、リセット回路610B、アドレスデコーダ611、出力制御回路612、ブートブロック613、復号化・ROM書込回路614、シリアル送信回路615A、シリアル送信回路615B、シリアル受信回路625、暗号化送受信回路616、及びバス617によって構成される。なお、シリアル送信回路615A及びシリアル送信回路615Bを総称して、シリアル送信回路615という。   First, the game area unit 600A includes a CPU core 601, user program ROM 602, HW parameter ROM 603, user work RAM 604, mirrored RAM 605, external bus interface (I / F) 606, bus switching circuit 607, random number generation circuit 608, clock generation circuit. 609, interrupt control circuit 610A, reset circuit 610B, address decoder 611, output control circuit 612, boot block 613, decryption / ROM writing circuit 614, serial transmission circuit 615A, serial transmission circuit 615B, serial reception circuit 625, encryption The transmission / reception circuit 616 and the bus 617 are included. The serial transmission circuit 615A and the serial transmission circuit 615B are collectively referred to as a serial transmission circuit 615.

CPUコア601は、図4のCPU102、CPU152又はCPU212に相当する。ユーザプログラムROM602は、図4のROM103、ROM153又はROM213に相当する。また、ユーザプログラムROM602及びHWパラメータROM603を総称して、ROM(不揮発性記憶手段)という。   The CPU core 601 corresponds to the CPU 102, the CPU 152, or the CPU 212 in FIG. The user program ROM 602 corresponds to the ROM 103, ROM 153, or ROM 213 in FIG. The user program ROM 602 and the HW parameter ROM 603 are collectively referred to as ROM (nonvolatile storage means).

ユーザワークRAM604は、図4のRAM104、RAM154又はRAM214に相当する。また、ユーザワークRAM604及びミラードRAM605を総称して、RAM(揮発性記憶手段)という。   The user work RAM 604 corresponds to the RAM 104, RAM 154, or RAM 214 in FIG. The user work RAM 604 and the mirrored RAM 605 are collectively referred to as RAM (volatile storage means).

CPUコア601は、遊技制御のための演算処理を行う演算処理手段として機能する。ユーザプログラムROM602は、制御プログラムを格納する。制御プログラムは、遊技用演算処理装置600が遊技制御装置100に備わる遊技用マイコン101である場合には、遊技の制御を行うための遊技制御プログラムである。また、遊技用演算処理装置600が払出制御装置210に備わる遊技用マイコン211である場合には、遊技球の払い出しを行うための払出制御プログラムである。さらに、遊技用演算処理装置600が演出制御装置150に備わる遊技用マイコン151である場合には、演出の制御を行うための演出制御プログラムである。   The CPU core 601 functions as arithmetic processing means for performing arithmetic processing for game control. The user program ROM 602 stores a control program. The control program is a game control program for controlling a game when the game arithmetic processing device 600 is the game microcomputer 101 provided in the game control device 100. In addition, when the game calculation processing device 600 is the game microcomputer 211 provided in the payout control device 210, it is a payout control program for paying out game balls. Furthermore, when the game arithmetic processing device 600 is the game microcomputer 151 provided in the effect control device 150, it is an effect control program for controlling the effect.

HWパラメータROM603は、正当性確認情報を格納する。正当性確認情報とは、遊技用演算処理装置600の正当性の簡易チェックを行う場合の情報であり、例えば、遊技機1の一意な識別子を示す固有ID、メーカコード(遊技機1の製造メーカ毎に割り振られた固有の製造メーカの一意な識別子)、遊技機1のランク(1種、2種等)を示すランクコード、製造メーカが遊技機1の種類に設定する機種コード、検査番号を示す検査コード、電源投入時にRAMをバックアップするか否かを示すRAMバックアップコード、税率設定スイッチ226によって設定された税率、貸出料金設定スイッチ227によって設定された貸出料金等である。また、HWパラメータROM603には、最初に貸出情報要求を送信した検査装置の一意な識別子である固有IDが一つのみ記憶される。   The HW parameter ROM 603 stores validity confirmation information. The legitimacy confirmation information is information in the case of performing a simple check of the legitimacy of the gaming arithmetic processing device 600. For example, a unique ID indicating a unique identifier of the gaming machine 1, a manufacturer code (manufacturer of the gaming machine 1) A unique identifier assigned to each manufacturer), a rank code indicating the rank (1 type, 2 type, etc.) of the gaming machine 1, a model code set by the manufacturer for the type of the gaming machine 1, and an inspection number. An inspection code to be displayed, a RAM backup code indicating whether or not to back up the RAM when the power is turned on, a tax rate set by the tax rate setting switch 226, a lending fee set by the lending fee setting switch 227, and the like. Further, the HW parameter ROM 603 stores only one unique ID that is a unique identifier of the inspection apparatus that first transmitted the lending information request.

第三者機関又は遊技機1の製造メーカがユーザプログラムROM602にプログラムを書き込む際に、正当性確認情報がHWパラメータROM603に書き込まれる。遊技用演算処理装置600は、電源立ち上がり時に、ユーザプログラムROM602に書き込まれたプログラムが正当であるか否かについて簡易チェックを行うことができる。具体的には、遊技用演算処理装置600の電源立ち上がり時に、遊技用演算処理装置600自身が演算した演算値と、正当性確認情報(すなわち、第三者機関等によって予め設定された結果値)とを比較判定することで、簡易的な遊技用演算処理装置600のチェックを行うことが可能になっている。   When the third party organization or the manufacturer of the gaming machine 1 writes the program in the user program ROM 602, the validity confirmation information is written in the HW parameter ROM 603. The gaming processing unit 600 can perform a simple check as to whether or not the program written in the user program ROM 602 is valid when the power is turned on. Specifically, at the time of power-up of the gaming arithmetic processing device 600, the arithmetic value calculated by the gaming arithmetic processing device 600 itself and the validity confirmation information (that is, a result value preset by a third party organization or the like) Can be checked for a simple game processing unit 600.

ユーザワークRAM604は、遊技領域部600Aにおけるプログラムに基づく処理を実行する際にワークエリア(作業領域)として用いられるものである。このユーザワークRAM604には、バックアップ電源161(図4)からのバックアップ電源が供給されているので、遊技機1への電源供給が途絶えても、記憶データが保持されるように構成されている。ミラードRAM605は、クロックの立ち下がり時にユーザワークエリアに記憶された情報を複製し、複製した情報を記憶する(CPUコアがZ80の場合には、クロックの立ち上がり時に処理を実行するため、同期して動くことがないようにしている)。   The user work RAM 604 is used as a work area (work area) when executing processing based on a program in the game area 600A. Since the user work RAM 604 is supplied with the backup power from the backup power supply 161 (FIG. 4), the stored data is retained even if the power supply to the gaming machine 1 is interrupted. The mirrored RAM 605 duplicates the information stored in the user work area at the fall of the clock and stores the duplicated information (if the CPU core is Z80, the process is executed at the rise of the clock. To prevent it from moving).

外部バスインターフェース606は、メモリリクエスト信号MREQ、入出力リクエスト信号IORQ、メモリ書込み信号WR、メモリ読み出し信号RD及びモード信号MODEなどのインターフェースであり、また、バス切替回路607は、16ビットのアドレス信号A0〜A15や8ビットのデータ信号D0〜D7のインターフェースである。   The external bus interface 606 is an interface such as a memory request signal MREQ, an input / output request signal IORQ, a memory write signal WR, a memory read signal RD, and a mode signal MODE, and the bus switching circuit 607 is a 16-bit address signal A0. ˜A15 and 8-bit data signals D0 to D7.

例えば、MODE信号をハイレベルにした状態で、アドレス信号A0〜A15を順次にインクリメントしながら、データ信号D0〜D7を加えると、ユーザプログラムROM602への書き込みモードとなって遊技機1の製造メーカ又は第三者機関によるプログラムの書き込みが可能になる。なお、書き込みモードはプログラムの書き込みを可能にするものであり、ブートブロック613に記憶されるブートプログラムを書き込みできるようにするものではない。   For example, if the data signals D0 to D7 are added while sequentially increasing the address signals A0 to A15 while the MODE signal is at a high level, the writing mode to the user program ROM 602 is set, and the gaming machine 1 manufacturer or The program can be written by a third party. Note that the write mode allows a program to be written, and does not allow a boot program stored in the boot block 613 to be written.

また、ユーザプログラムROM602へのプログラムの書き込みが終了すると、HWパラメータROM603の所定領域に書込終了コードが記録(例えば、所定のコード若しくは所定ビットを物理的に切断することで記録)されるようになっており、HWパラメータROM603に書込終了コードが記録されている場合には、ユーザプログラムROM602への新たなプログラムの書き込みができないようになっている。   Further, when the writing of the program to the user program ROM 602 is completed, a writing end code is recorded in a predetermined area of the HW parameter ROM 603 (for example, recorded by physically cutting a predetermined code or a predetermined bit). Thus, when a write end code is recorded in the HW parameter ROM 603, a new program cannot be written in the user program ROM 602.

乱数生成回路608は遊技の実行過程において遊技価値(例えば、大当り)を付加するか否か等に係わる乱数(乱数は、大当りの決定や停止時の図柄の決定等に使用)を生成するもので、一様性乱数を生成する数学的手法(例えば、合同法又はM系列法等)を利用している。なお、遊技用演算処理装置600が払出制御装置210に備わる遊技用マイコン211である場合には、乱数生成回路608は必要ない。   The random number generation circuit 608 generates a random number related to whether or not to add a game value (for example, jackpot) in the game execution process (random numbers are used to determine jackpots or symbols when stopped). A mathematical method (for example, a congruent method or an M-sequence method) for generating a uniform random number is used. Note that when the gaming arithmetic processing device 600 is the gaming microcomputer 211 provided in the payout control device 210, the random number generation circuit 608 is not necessary.

クロック生成回路609は、遊技用演算処理装置600の外部から入力されたシステムクロック信号を分周して、遊技制御に必要な各種の周期的な信号を生成する。具体的には、CPUコア102を動作させるためのクロック信号、乱数生成回路608の乱数カウンタ値を更新するためのクロック信号、及びシリアル送受信を行う際のタイミング信号などを生成する。なお、クロック生成回路609は、CTC(Counter Timer Circuit)の機能を有しており、CPUコア102にて所定周期(例えば、4ミリ秒)のタイマ割込処理を行わせるためのタイマ割込信号も生成している。   The clock generation circuit 609 divides a system clock signal input from the outside of the gaming arithmetic processing device 600 and generates various periodic signals necessary for game control. Specifically, a clock signal for operating the CPU core 102, a clock signal for updating the random number counter value of the random number generation circuit 608, a timing signal for serial transmission / reception, and the like are generated. The clock generation circuit 609 has a CTC (Counter Timer Circuit) function, and a timer interrupt signal for causing the CPU core 102 to perform timer interrupt processing at a predetermined cycle (for example, 4 milliseconds). Has also generated.

割込制御回路610Aは、所定の割り込み条件の成立に基づいて、割り込みの発生をCPUコア102に知らせる。なお、所定の割り込み条件は、遊技用演算処理装置600の外部から割込要求信号(INT信号、NMI信号)が入力された場合や、クロック生成回路609のCTCからタイマ割込信号が出力された場合などが相当する。   The interrupt control circuit 610A notifies the CPU core 102 of the occurrence of an interrupt based on the establishment of a predetermined interrupt condition. Note that the predetermined interrupt condition is that an interrupt request signal (INT signal, NMI signal) is input from the outside of the gaming arithmetic processing device 600, or a timer interrupt signal is output from the CTC of the clock generation circuit 609. This is the case.

CPUコア102は、INT信号やNMI信号が入力された場合には、現在実行中の処理を中断して予め定められた割込処理を実行する。なお、INT信号による割込(マスカブル割込)は、プログラムの設定により禁止できるが、NMI信号による割込(ノンマスカブル割込)はプログラムの設定により禁止できない。また、CPUコア102は、タイマ割込信号が出力された場合には、図29に示すタイマ割込処理を実行する。   When an INT signal or an NMI signal is input, the CPU core 102 interrupts the currently executing process and executes a predetermined interrupt process. Note that interrupt (maskable interrupt) by the INT signal can be prohibited by program setting, but interrupt by NMI signal (non-maskable interrupt) cannot be prohibited by program setting. In addition, when the timer interrupt signal is output, the CPU core 102 executes the timer interrupt process shown in FIG.

また、リセット回路610Bは、外部から入力されたリセット信号(RST0端子からの信号RST0)を検出すると、遊技用演算処理装置600の内部に備えられた各回路とCPUコア102にリセット信号を伝達する。   Further, when the reset circuit 610B detects a reset signal (signal RST0 from the RST0 terminal) input from the outside, the reset circuit 610B transmits the reset signal to each circuit and the CPU core 102 provided in the game arithmetic processing device 600. .

なお、リセット回路610Bは、セキュリティ回路630(図11参照)としても機能する。このセキュリティ回路630は、遊技用演算処理装置600の内部に備えられた各回路に対して異常なアクセスが発生したことを検出する機能を有しており、異常を検出するとCPUコア102にリセット信号を伝達する。   Note that the reset circuit 610B also functions as the security circuit 630 (see FIG. 11). The security circuit 630 has a function of detecting that an abnormal access has occurred to each circuit provided in the game arithmetic processing device 600. When an abnormality is detected, a reset signal is sent to the CPU core 102. To communicate.

アドレスデコーダ611は、内蔵デバイス及び内蔵コントロール/ステータスレジスタ群のロケーションをメモリマップドI/O方式及びI/OマップドI/O方式によりデコードする。   The address decoder 611 decodes the location of the built-in device and the built-in control / status register group by the memory mapped I / O method and the I / O mapped I / O method.

出力制御回路612は、アドレスデコーダ611からの信号制御を行って外部端子より8ビットのチップセレクト信号(CS0〜CS7)を外部に出力するとともに、遊技用演算処理装置600の内部に備えた回路を選択するチップセレクト信号を発生する機能を有する。ブートブロック613は、ブートプログラムを記憶し、電源投入時に遊技用演算処理装置600の初期化に係わる処理を行う。   The output control circuit 612 performs signal control from the address decoder 611 and outputs an 8-bit chip select signal (CS0 to CS7) from an external terminal to the outside, and includes a circuit provided inside the game processing unit 600. It has a function of generating a chip select signal to be selected. The boot block 613 stores a boot program and performs processing related to initialization of the gaming arithmetic processing device 600 when the power is turned on.

復号化・ROM書込回路614は、ユーザプログラムROM602及びHWパラメータROM603への書込みモードの際に使用されるもので、モード信号MODEが[H]レベルになっている間、バス切替回路607を介してアドレス信号A0〜A15やデータ信号D0〜D7を取り込み、そのデータ信号D0〜D7に含まれる情報(暗号化されたプログラム及び暗号化された変更後の固有ID)を復号化処理した後、バス617を介してユーザプログラムROM602及びHWパラメータROM603に出力する(書き込む)。   The decryption / ROM writing circuit 614 is used in the writing mode to the user program ROM 602 and the HW parameter ROM 603, and passes through the bus switching circuit 607 while the mode signal MODE is at the [H] level. The address signals A0 to A15 and the data signals D0 to D7 are fetched and the information (encrypted program and encrypted unique ID after change) included in the data signals D0 to D7 is decrypted, and then the bus The data is output (written) to the user program ROM 602 and the HW parameter ROM 603 via 617.

シリアル送信回路615A及びシリアル送信回路615Bは、暗号化されていない平文データを送信するための回路である。シリアル送信回路615Aは、SIOTX0端子を介して演出制御装置150に接続される。また、シリアル送信回路615Bは、SIOTX1端子を介して払出制御装置210に接続される。シリアル受信回路625は、暗号化されていない平文データを、SIORX端子を介して受信するための回路である。   The serial transmission circuit 615A and the serial transmission circuit 615B are circuits for transmitting plaintext data that is not encrypted. The serial transmission circuit 615A is connected to the effect control device 150 via the SIOTX0 terminal. The serial transmission circuit 615B is connected to the payout control device 210 via the SIOTX1 terminal. The serial receiving circuit 625 is a circuit for receiving unencrypted plain text data via the SIORX terminal.

暗号化送受信回路616は、NJLINK端子を介して暗号化された暗号化データを送受信する回路である。例えば、遊技制御装置100から払出制御装置210にデータを送信する場合に使用される、また、遊技制御装置100と払出制御装置210との間は、NJLINK接続で接続され、暗号化送受信回路616には、NJLINK信号線が接続される。暗号化送受信回路616は、NJLINK信号線を介してデータを送受信する。   The encrypted transmission / reception circuit 616 is a circuit that transmits / receives encrypted data encrypted via the NJLINK terminal. For example, it is used when data is transmitted from the game control device 100 to the payout control device 210. Also, the game control device 100 and the payout control device 210 are connected by an NJLINK connection and are connected to the encrypted transmission / reception circuit 616. Is connected to the NJLINK signal line. The encrypted transmission / reception circuit 616 transmits / receives data via the NJLINK signal line.

バス617はデータバス(図11のデータバス660)、アドレスバス(図11のアドレスバス650)及び制御バスを含むものであり、情報領域部600Bまで延びている。   The bus 617 includes a data bus (data bus 660 in FIG. 11), an address bus (address bus 650 in FIG. 11), and a control bus, and extends to the information area 600B.

次に、遊技用演算処理装置600における情報管理を行う情報領域部600Bは、HPGプログラムROM618、IDプロパティメモリ619、バスモニタ回路620、HPGワークRAM621、制御回路622、外部通信制御回路623、バス624、及び遊技領域部600Aから延びるバス617の一部を含んで構成される。   Next, an information area unit 600B for managing information in the game processing unit 600 includes an HPG program ROM 618, an ID property memory 619, a bus monitor circuit 620, an HPG work RAM 621, a control circuit 622, an external communication control circuit 623, and a bus 624. , And a part of the bus 617 extending from the game area 600A.

HPGプログラムROM618には、各種検査動作を行うHPGプログラムが格納される。   The HPG program ROM 618 stores an HPG program for performing various inspection operations.

IDプロパティメモリ619には、図示しない検査装置から外部通信制御回路623を介して受信した要求に基づいて、HWパラメータROM603に記憶されている情報を図示しない検査装置にすぐに出力できるように、遊技用演算処理装置600の電源投入時(システムリセット時)にHWパラメータに記憶されている情報を複製して記憶する。なお、IDプロパティメモリ619は、遊技領域部600A側及び情報領域部600B側の双方よりアクセスが可能な構成になっている。   In the ID property memory 619, the information stored in the HW parameter ROM 603 can be immediately output to the inspection device (not shown) based on the request received from the inspection device (not shown) via the external communication control circuit 623. The information stored in the HW parameter is duplicated and stored when the computer processing unit 600 is powered on (system reset). The ID property memory 619 can be accessed from both the game area 600A side and the information area 600B side.

バスモニタ回路620は、情報領域部600B側より遊技領域部600A側のバス617の状態監視及び制御を行う。ここでの制御とは、HWパラメータROM603の内容をIDプロパティメモリ619に複写する際のタイミング制御や、ユーザプログラムROM602に格納されたプログラムを外部に出力する際(遊技領域部600A側のバス617を開放してユーザプログラムROM602からプログラムを読み込んで情報領域部600B側より外部に出力する際)のタイミング制御である。なお、プログラムは、外部通信制御回路623で暗号化されてから出力される。   The bus monitor circuit 620 monitors and controls the state of the bus 617 on the game area 600A side from the information area 600B side. The control here refers to timing control when the contents of the HW parameter ROM 603 are copied to the ID property memory 619, or when the program stored in the user program ROM 602 is output to the outside (the bus 617 on the game area 600A side is connected). Timing control at the time of opening and reading a program from the user program ROM 602 and outputting it to the outside from the information area 600B side. The program is output after being encrypted by the external communication control circuit 623.

HPGワークRAM621は、情報領域部600Bにおけるプログラムに基づく処理を実行する際にワークエリア(作業領域)として用いられるものである。   The HPG work RAM 621 is used as a work area (work area) when executing processing based on a program in the information area unit 600B.

制御回路622は情報領域部600B側を制御するもので、バッファメモリを有している。制御回路622は、例えば、バスモニタ回路620を介してCPUコア102の動作を監視し、非動作中に遊技領域部600AのユーザワークRAM604に記憶された内容をミラードRAM605へコピーする。また、図示しない検査装置からの要求に応答して情報領域部600BのIDプロパティメモリ619の内容を外部へ転送したり、プログラム要求に応答してバスモニタ回路620を介してユーザプログラムROM602内のプログラムを外部へ転送したりする。制御回路622のメモリは、転送時のタイミング調節のために用いられる。   The control circuit 622 controls the information area 600B side and has a buffer memory. For example, the control circuit 622 monitors the operation of the CPU core 102 via the bus monitor circuit 620 and copies the contents stored in the user work RAM 604 of the game area unit 600A to the mirrored RAM 605 during non-operation. Further, the contents of the ID property memory 619 of the information area unit 600B are transferred to the outside in response to a request from an inspection apparatus (not shown), or the program in the user program ROM 602 is received via the bus monitor circuit 620 in response to a program request. To the outside. The memory of the control circuit 622 is used for timing adjustment at the time of transfer.

外部通信制御回路623は図示しない検査装置との通信を行うもので、例えば、外部からの指令に基づいて遊技用演算処理装置600内に格納されている情報(例えば、固有ID、プログラム、実払出数等)を暗号化した後、外部へ転送する等の処理を行う。   The external communication control circuit 623 communicates with an inspection device (not shown). For example, information (for example, a unique ID, a program, an actual payout) stored in the game processing device 600 based on a command from the outside. The number is encrypted, and then transferred to the outside.

遊技用演算処理装置600では、遊技領域部600Aと情報領域部600Bがバスモニタ回路620を介して独立して動作する。すなわち、情報領域部600B側は遊技領域部600AにおけるCPUコア102の作動に関係なく(プログラム実行に関係なく)動作可能である。   In the game processing unit 600, the game area unit 600A and the information area unit 600B operate independently via the bus monitor circuit 620. That is, the information area 600B side can operate regardless of the operation of the CPU core 102 in the game area 600A (regardless of the program execution).

なお、図5では図示されていないが、遊技用演算処理装置600には、図11にて後述するRAMアクセス規制回路(更新規制手段)640を備えている。   Although not shown in FIG. 5, the gaming arithmetic processing device 600 includes a RAM access restriction circuit (update restriction means) 640 described later in FIG.

図6は、本発明の第1の実施の形態の遊技制御装置100におけるシリアル送信回路615の構成例を示すブロック図である。   FIG. 6 is a block diagram illustrating a configuration example of the serial transmission circuit 615 in the game control apparatus 100 according to the first embodiment of this invention.

シリアル送信回路615は、送信シリアルチャンネル設定レジスタ633、送信データステータスレジスタ631、送信制御レジスタ632、送信データレジスタ635(送信データバッファレジスタ635A、送信データシフトレジスタ635B)、ボーレート生成回路(送信速度設定手段)634を含んで構成される。   The serial transmission circuit 615 includes a transmission serial channel setting register 633, a transmission data status register 631, a transmission control register 632, a transmission data register 635 (transmission data buffer register 635A, transmission data shift register 635B), a baud rate generation circuit (transmission speed setting means) 634.

シリアル送信回路615は、出力制御回路612から入力された選択信号に基づいて、送信先を選択する。また、リセット信号の入力を受け付けると、各種レジスタに設定された値を0クリアする。   The serial transmission circuit 615 selects a transmission destination based on the selection signal input from the output control circuit 612. Also, when the input of the reset signal is accepted, the values set in the various registers are cleared to zero.

送信シリアルチャンネル設定レジスタ633は、データ送信時の通信速度及び通信フォーマットを指定するレジスタである。送信シリアルチャンネル設定レジスタ633には、後述するメイン処理におけるシリアル通信設定処理によって各値が設定される。   The transmission serial channel setting register 633 is a register for designating a communication speed and a communication format at the time of data transmission. Each value is set in the transmission serial channel setting register 633 by serial communication setting processing in main processing described later.

図7は、本発明の第1の実施の形態の送信シリアルチャンネル設定レジスタ633の構成例を示す図である。図7に示すように、送信シリアルチャンネル設定レジスタ633は、16ビットで構成されており、ビット0〜15はすべて書き込み/読み出し可能とされる。   FIG. 7 is a diagram illustrating a configuration example of the transmission serial channel setting register 633 according to the first embodiment of this invention. As shown in FIG. 7, the transmission serial channel setting register 633 has 16 bits, and all bits 0 to 15 can be written / read.

送信シリアルチャンネル設定レジスタ633において、ビット0〜12には、送信ボーレート(通信速度)を算出するためのボーレート設定値(例えば、分周比)が設定される。   In the transmission serial channel setting register 633, bits 0 to 12 are set with a baud rate setting value (for example, a frequency division ratio) for calculating a transmission baud rate (communication speed).

具体的には、遊技用演算処理装置600に入力されるシステムクロック(MCLK)の周波数(単位Hz:ヘルツ)を32で除した値を、さらに、このボーレート設定値で除した値が、送信ボーレート(1秒間に送信されるデータのビット数)として設定される。例えば、ボーレート設定値として100を設定すると、システムクロックの周波数が20MHzであった場合には、送信ボーレートは、20,000,000÷32÷100=6250(bps)となる。   Specifically, a value obtained by dividing the frequency (unit: Hz) of the system clock (MCLK) input to the game processing unit 600 by 32 and further divided by this baud rate set value is the transmission baud rate. It is set as (number of bits of data transmitted per second). For example, if 100 is set as the baud rate setting value, and the system clock frequency is 20 MHz, the transmission baud rate is 20,000,000 / 32/100 = 6250 (bps).

ビット13には、送信データ長を8ビットとする場合に“0”が設定され、9ビットとする場合に“1”が設定される。   Bit 13 is set to “0” when the transmission data length is 8 bits, and is set to “1” when the transmission data length is 9 bits.

ビット14には、送信データにパリティを付加しない場合に“0”が設定され、パリティを付加する場合に“1”が設定される。ビット15には、送信データに付加するパリティを偶数パリティとする場合に“0”が設定され、奇数パリティとする場合に“1”が設定される。なお、ビット15は、ビット14に“1”(パリティ有り)が設定されている場合に有効となる。   Bit 14 is set to “0” when no parity is added to transmission data, and is set to “1” when parity is added. Bit 15 is set to “0” when the parity added to the transmission data is an even parity, and is set to “1” when the parity is an odd parity. Bit 15 is valid when bit 14 is set to “1” (with parity).

なお、遊技用演算処理装置600にリセット信号(RST0)が入力されると、シリアル送信回路615がリセットされ、送信シリアルチャンネル設定レジスタ633の全ビットが“0”に設定される(図6等も参照)。   When a reset signal (RST0) is input to the game processing unit 600, the serial transmission circuit 615 is reset, and all the bits of the transmission serial channel setting register 633 are set to “0” (see FIG. 6 and the like). reference).

図6の説明に戻り、送信制御レジスタ632は、シリアル送信回路615の動作を制御するためのレジスタである。   Returning to the description of FIG. 6, the transmission control register 632 is a register for controlling the operation of the serial transmission circuit 615.

図8は、本発明の第1の実施の形態の送信制御レジスタ632の構成例を示す図である。図8に示すように、送信制御レジスタ632は、例えば8ビットで構成され、ビット6は読み出し専用とされ、他のビット0、4、5、7は書き込み/読み出し可能とされる。なお、本実施形態では送信制御レジスタ632のビット1〜3は未使用としているため、図8では記載を省略している。   FIG. 8 is a diagram illustrating a configuration example of the transmission control register 632 according to the first embodiment of this invention. As shown in FIG. 8, the transmission control register 632 is composed of, for example, 8 bits, bit 6 is read-only, and other bits 0, 4, 5, and 7 are writable / readable. In this embodiment, since bits 1 to 3 of the transmission control register 632 are unused, the description is omitted in FIG.

送信制御レジスタ632のビット0には、送信回路(シリアル送信回路615)を初期化する場合に“1”が設定される。送信回路が初期化されると送信データレジスタ635のデータも含めて全てのレジスタが初期値とされる。   Bit 0 of the transmission control register 632 is set to “1” when the transmission circuit (serial transmission circuit 615) is initialized. When the transmission circuit is initialized, all registers including the data in the transmission data register 635 are set to initial values.

ビット4には、送信データレジスタ635(送信データシフトレジスタ635B)からのデータ送信を禁止する場合に“0”が設定され、データ送信を許可する場合に“1”が設定される。   Bit 4 is set to “0” when data transmission from the transmission data register 635 (transmission data shift register 635B) is prohibited, and is set to “1” when data transmission is permitted.

ビット5には、送信データレジスタ635が空になったときに送信割り込みを要求しない場合に“0”が設定され、送信割り込みを要求する場合に“1”が設定される。   Bit 5 is set to “0” when a transmission interrupt is not requested when the transmission data register 635 is empty, and is set to “1” when a transmission interrupt is requested.

ビット6には、送信割り込み要求が発生しているか否か(送信割り込み状態)を示す値が設定される。ビット6に“0”が設定されている場合には送信割り込みを要求していない状態であることを示し、“1”が設定されている場合には送信割り込みを要求している状態であることを示す。   Bit 6 is set to a value indicating whether or not a transmission interrupt request is generated (transmission interrupt state). If bit 6 is set to “0”, it indicates that a transmission interrupt is not requested, and if “1” is set, a transmission interrupt is requested. Indicates.

ビット7には、送信データレジスタのビット8の値(データ長が9ビットの場合)が設定される。   In bit 7, the value of bit 8 of the transmission data register (when the data length is 9 bits) is set.

なお、遊技用演算処理装置600にリセット信号(RST0)が入力されると、シリアル送信回路615がリセットされ、送信制御レジスタ632の全ビットが“0”に設定される(図6等も参照)。その結果、送信制御レジスタ632のビット4が“0”になるので、送信データレジスタ635(送信データシフトレジスタ635B)からのデータ送信が禁止され、データ出力がオフされた状態になる。   When a reset signal (RST0) is input to the gaming arithmetic processing device 600, the serial transmission circuit 615 is reset and all the bits of the transmission control register 632 are set to “0” (see also FIG. 6 and the like). . As a result, since bit 4 of the transmission control register 632 becomes “0”, data transmission from the transmission data register 635 (transmission data shift register 635B) is prohibited and the data output is turned off.

図6の説明に戻り、送信データステータスレジスタ631は、送信データレジスタ635の状態を示すレジスタである。CPU102は、送信データステータスレジスタ631の設定値によって、送信データレジスタ635の状態を確認することができる。   Returning to the description of FIG. 6, the transmission data status register 631 is a register indicating the state of the transmission data register 635. The CPU 102 can confirm the state of the transmission data register 635 based on the setting value of the transmission data status register 631.

図9は、本発明の第1の実施の形態の送信データステータスレジスタ631の構成例を示す図である。送信データステータスレジスタ631は、例えば8ビットで構成され、ビット0〜5、7はすべて読み出し専用とされる。なお、本実施形態では送信データステータスレジスタ631のビット6は未使用としているため、図9では省略している。   FIG. 9 is a diagram illustrating a configuration example of the transmission data status register 631 according to the first embodiment of this invention. The transmission data status register 631 is composed of, for example, 8 bits, and bits 0 to 5 and 7 are all read-only. In the present embodiment, bit 6 of the transmission data status register 631 is unused, and is omitted in FIG.

送信データステータスレジスタ631において、ビット0〜5には、送信データの残量を示す値が設定される。例えば、ビット0〜5に“00h”(16進数の“0”)が設定されていると送信データがないことを示し、“01h”が設定されていると送信データが1バイト残っていることを示し、“20h”が設定されていると送信データが32バイト残っていることを示す。   In the transmission data status register 631, bits 0 to 5 are set to values indicating the remaining amount of transmission data. For example, if “00h” (hexadecimal “0”) is set in bits 0 to 5, it indicates that there is no transmission data. If “01h” is set, one byte of transmission data remains. When “20h” is set, it indicates that 32 bytes of transmission data remain.

ビット7には、送信データレジスタ635におけるデータの送信状態を示す値が設定される。ビット7に“1”が設定されているとデータを送信していない状態であることを示し、“0”が設定されているとデータを送信している状態であることを示す。   In bit 7, a value indicating the data transmission state in the transmission data register 635 is set. When “1” is set in bit 7, it indicates that data is not being transmitted, and when “0” is set, it indicates that data is being transmitted.

なお、遊技用演算処理装置600にリセット信号(RST0)が入力されると、シリアル送信回路615がリセットされ、送信データステータスレジスタ631の全ビットが“0”に設定される(図6等も参照)。その結果、送信データステータスレジスタ631のビット0〜5が“00h”となり、送信データの残量がない状態となる。   When a reset signal (RST0) is input to the game processing unit 600, the serial transmission circuit 615 is reset and all bits of the transmission data status register 631 are set to “0” (see also FIG. 6 and the like). ). As a result, bits 0 to 5 of the transmission data status register 631 are set to “00h”, and there is no remaining transmission data.

図6の説明に戻り、送信データレジスタ635は、シリアル送信回路615が送信するデータを格納するレジスタである。送信データレジスタ635は、例えば、1段の送信データシフトレジスタ635Bと、31段の送信データバッファレジスタ635Aで構成される。   Returning to the description of FIG. 6, the transmission data register 635 is a register for storing data transmitted by the serial transmission circuit 615. The transmission data register 635 includes, for example, a one-stage transmission data shift register 635B and a 31-stage transmission data buffer register 635A.

図10は、本発明の第1の実施の形態の送信データレジスタ635(1段分)の構成例を示す図である。1段の送信データレジスタ635は、例えば8ビットで構成され、ビット0〜7はすべて書き込み専用とされる。   FIG. 10 is a diagram illustrating a configuration example of the transmission data register 635 (for one stage) according to the first embodiment of this invention. The one-stage transmission data register 635 is composed of, for example, 8 bits, and bits 0 to 7 are all dedicated to writing.

この送信データレジスタ635には、タイマ割込処理で生成される制御指令データが格納され、送信制御レジスタのビット4に“1”(送信許可)が設定されていれば、格納された制御指令データは自動的に演出制御装置150に送信される。   This transmission data register 635 stores control command data generated by the timer interrupt process. If bit 4 of the transmission control register is set to “1” (transmission permission), the stored control command data is stored. Is automatically transmitted to the production control device 150.

制御指令データは、例えば、1バイトのモードデータと1バイトのアクションデータの2バイトで構成されるので、2段の送信データレジスタ635に1つの制御指令データが格納されることとなる。そして、本実施形態では、送信データレジスタ635を32段で構成しているので、1回のタイマ割込処理で最大16の制御指令データが生成される場合、これをすべて送信データレジスタ635に格納することができる。   The control command data is composed of, for example, 2 bytes of 1-byte mode data and 1-byte action data, so that one control command data is stored in the two-stage transmission data register 635. In this embodiment, since the transmission data register 635 is composed of 32 stages, when a maximum of 16 control command data are generated by one timer interrupt process, all of them are stored in the transmission data register 635. can do.

ただし、CPU102によって、新たな送信データを送信データレジスタ635に格納できるのは、送信データステータスレジスタ631のビット0〜5の値(送信データの残量を示す値)が“00h”〜“1Fh”の場合(送信データレジスタ635に、0〜31バイトの未送信データが残っている場合)に限られる。   However, the CPU 102 can store new transmission data in the transmission data register 635 because the value of bits 0 to 5 (value indicating the remaining amount of transmission data) of the transmission data status register 631 is “00h” to “1Fh”. (In the case where 0 to 31 bytes of untransmitted data remain in the transmission data register 635).

送信データステータスレジスタ631のビット0〜5の値が“20h”の場合は、送信データレジスタ635に空きがないので、CPU102によって送信データレジスタ635に書き込もうとされたデータは廃棄される。これにより、送信データレジスタ635が満杯のときは、誤ってCPU102によるデータ書き込みが発生しても、既に格納されている送信データレジスタ635のデータが破壊されないようになっている。   When the value of bits 0 to 5 of the transmission data status register 631 is “20h”, the transmission data register 635 has no space, and the data that the CPU 102 attempted to write to the transmission data register 635 is discarded. As a result, when the transmission data register 635 is full, the data stored in the transmission data register 635 is not destroyed even if data is written by the CPU 102 by mistake.

なお、遊技用演算処理装置600にリセット信号(RST0)が入力されると、シリアル送信回路615がリセットされ、送信データレジスタ635の全ビットが“0”に設定される(図6等も参照)。   When a reset signal (RST0) is input to the gaming arithmetic processing device 600, the serial transmission circuit 615 is reset and all the bits of the transmission data register 635 are set to “0” (see also FIG. 6 and the like). .

図6の説明に戻り、ボーレート生成回路634は、クロック生成回路609から分周回路629を介して出力されるクロック信号(遊技用演算処理装置600に入力されるシステムクロック(MCLK)を分周した信号)及び送信シリアルチャンネル設定レジスタ633に設定されている設定値(ボーレート設定値)に基づいて、シリアル送信回路615が用いる送信ボーレートを生成する。このとき、ボーレート生成回路634は、クロック信号及びボーレート設定値に基づいて、前述の計算式を用いて送信ボーレートを求める。また、分周回路629は、CPU102にも分周されたクロック信号を入力する。なお、分周回路629は、クロック生成回路609に含まれるように構成してもよい。   Returning to the description of FIG. 6, the baud rate generation circuit 634 divides the clock signal output from the clock generation circuit 609 via the frequency dividing circuit 629 (system clock (MCLK) input to the game processing unit 600. Signal) and a setting value (baud rate setting value) set in the transmission serial channel setting register 633, a transmission baud rate used by the serial transmission circuit 615 is generated. At this time, the baud rate generation circuit 634 obtains the transmission baud rate using the above-described calculation formula based on the clock signal and the baud rate setting value. The frequency dividing circuit 629 also inputs the divided clock signal to the CPU 102. Note that the frequency divider 629 may be included in the clock generation circuit 609.

シリアル送信回路615では、送信許可の設定(送信制御レジスタ632のビット4を“1”)がなされた後、送信するデータを送信データレジスタ635(送信データバッファレジスタ635A)に書き込む、又は、送信するデータを送信データレジスタ635に書き込んだ後、送信許可の設定がなされると、自動的に送信が開始される。送信が開始されると、送信データバッファレジスタ635Aのデータが送信データシフトレジスタ635Bに転送され、送信データシフトレジスタ635Bからシリアル変換されて、最下位ビット(ビット0)から1ビットずつ順次出力される。そして、データの送信が完了すると送信データシフトレジスタ635Bは空になるので、送信データバッファレジスタ635Aに書き込まれている次のデータが送信データシフトレジスタ635Bに転送され、出力される。   The serial transmission circuit 615 writes or transmits data to be transmitted to the transmission data register 635 (transmission data buffer register 635A) after setting transmission permission (bit 4 of the transmission control register 632 is “1”). After data is written in the transmission data register 635, transmission is automatically started when transmission permission is set. When transmission is started, data in the transmission data buffer register 635A is transferred to the transmission data shift register 635B, serially converted from the transmission data shift register 635B, and sequentially output bit by bit from the least significant bit (bit 0). . When the data transmission is completed, the transmission data shift register 635B becomes empty, so that the next data written in the transmission data buffer register 635A is transferred to the transmission data shift register 635B and output.

したがって、シリアル送信回路615では、送信データレジスタ635(送信データシフトレジスタ635B、送信データバッファレジスタ635A)に書き込まれたデータ(制御指令データ)が、演出制御装置150に1ビットずつ順次送信されることとなる。   Therefore, in the serial transmission circuit 615, data (control command data) written in the transmission data register 635 (transmission data shift register 635B, transmission data buffer register 635A) is sequentially transmitted to the effect control device 150 bit by bit. It becomes.

このように、シリアル送信回路(制御指令送信手段)615は、送信データ(例えば、制御指令データ)を格納する送信データレジスタ635を備え、送信データレジスタ635に送信データが格納されると、遊技制御装置100から演出制御装置150へ向かう方向に、格納された送信データを1ビットずつ順次送信する(いわゆるシリアル通信)ように構成されている。   As described above, the serial transmission circuit (control command transmission means) 615 includes the transmission data register 635 for storing transmission data (for example, control command data). When the transmission data is stored in the transmission data register 635, the game control is performed. The stored transmission data is sequentially transmitted bit by bit in the direction from the device 100 to the effect control device 150 (so-called serial communication).

具体的には、送信データレジスタ635は、格納されたデータをすぐに送信する送信データシフトレジスタ635Bと、格納されたデータを保持するとともに、送信データシフトレジスタ635Bがデータを格納可能な状態(データの送信が完了した状態)となったときに、保持しているデータを送信データシフトレジスタ635Bに転送する送信データバッファレジスタ635Aと、で構成される。   Specifically, the transmission data register 635 has a transmission data shift register 635B that immediately transmits the stored data, a state that holds the stored data, and the transmission data shift register 635B can store the data (data The transmission data buffer register 635A transfers the stored data to the transmission data shift register 635B when the transmission is completed.

これにより、従来のパラレル通信では必須とされていたタイマ割込処理における制御指令データの送信処理を省略できるので、CPU102の負担を軽減することができる。   Thereby, the transmission process of the control command data in the timer interrupt process, which is essential in the conventional parallel communication, can be omitted, so that the burden on the CPU 102 can be reduced.

また、シリアル通信とすることで、制御指令データを送信するための配線本数を比較的少なくすることができる。   In addition, by using serial communication, the number of wires for transmitting control command data can be relatively reduced.

また、遊技制御装置100と演出制御装置150との間の通信は、遊技制御装置100から演出制御装置150へのみデータを送信可能な単方向通信とされ、遊技制御装置100にデータは入力されないので、不正が行われることを防止できる。   The communication between the game control device 100 and the effect control device 150 is unidirectional communication in which data can be transmitted only from the game control device 100 to the effect control device 150, and no data is input to the game control device 100. , It can prevent fraud.

なお、本実施形態においては、送信データレジスタ635に最大で32バイトの送信データが格納可能であるが、この32バイトのデータが、1回のタイマ割込処理において全て出力できるように、ボーレート設定値(送信シリアルチャンネル設定レジスタ633のビット0〜12)の値が設定されている。   In this embodiment, transmission data register 635 can store transmission data of up to 32 bytes, but the baud rate is set so that all of this 32 bytes of data can be output in one timer interrupt process. The value (bits 0 to 12 of the transmission serial channel setting register 633) is set.

具体的には、送信データレジスタ635から出力される1バイトあたりのデータ送信に必要な時間Tbと、タイマ割込信号の発生周期Fと、送信データレジスタ635に格納できるデータの上限バイト数Bとの関係が、F/B>Tbとなるように、ボーレート設定値を設定して送信の速度を決めればよい。   Specifically, the time Tb required for data transmission per byte output from the transmission data register 635, the generation period F of the timer interrupt signal, the upper limit number of bytes B of data that can be stored in the transmission data register 635, The baud rate setting value may be set to determine the transmission speed so that the relationship of F / B> Tb is satisfied.

例えば、タイマ割込信号の発生周期F=4ミリ秒で、送信データレジスタ635に格納できるデータの上限バイト数B=32バイトであれば、F/B=4000/32=125マイクロ秒よりも短くなるようにTbの値を決定し、遊技用演算処理装置600に入力されるシステムクロック(MCLK)の周波数を考慮したうえで、ボーレート設定値の値を定めればよい。   For example, if the timer interrupt signal generation cycle F = 4 milliseconds and the upper limit number of bytes B = 32 bytes of data that can be stored in the transmission data register 635, F / B = 4000/32 = 125 microseconds or less. Thus, the value of Tb is determined, and the value of the baud rate set value may be determined in consideration of the frequency of the system clock (MCLK) input to the gaming arithmetic processing device 600.

このような構成とすることで、シリアル送信回路(制御指令送信手段、送信手段)615は、1回のタイマ割込処理において生成される一連の制御指令データをすべて格納することが可能となり、タイマ割り込み毎に生成される制御指令データを確実に送信することができる。   With such a configuration, the serial transmission circuit (control command transmission means, transmission means) 615 can store all of a series of control command data generated in one timer interrupt process. It is possible to reliably transmit control command data generated for each interrupt.

図11は、本発明の第1の実施の形態の遊技制御装置100に備わる遊技用演算処理装置(アミューズチップ)600とその周辺のブロック図である。   FIG. 11 is a block diagram of a game processing unit (amuse chip) 600 provided in the game control device 100 according to the first embodiment of the present invention and its surroundings.

遊技用演算処理装置600は、セキュリティ回路630、CPUコア102(図11では601)、RAMアクセス規制回路640、ユーザワークRAM104(図11では604)、アドレスデコーダ611、出力制御回路612、及び、ユーザプログラムROM103(図11では602)を備える。   The gaming arithmetic processing device 600 includes a security circuit 630, a CPU core 102 (601 in FIG. 11), a RAM access restriction circuit 640, a user work RAM 104 (604 in FIG. 11), an address decoder 611, an output control circuit 612, and a user. A program ROM 103 (602 in FIG. 11) is provided.

なお、遊技用演算処理装置600に備わるこれらの回路等は、アドレスバス650及びデータバス660を介して接続されている。アドレスバス650は、A0〜A15の16ビットの信号線によって構成され、データバス660は、D0〜D7の8ビットの信号線によって構成される。   Note that these circuits and the like included in the gaming arithmetic processing device 600 are connected via an address bus 650 and a data bus 660. The address bus 650 is composed of 16-bit signal lines A0 to A15, and the data bus 660 is composed of 8-bit signal lines D0 to D7.

また、遊技制御装置100は、演出制御装置150に接続されるシリアル送信回路615A、及び、払出制御装置210に接続されるシリアル送信回路615Bを備える。   Further, the game control device 100 includes a serial transmission circuit 615A connected to the effect control device 150 and a serial transmission circuit 615B connected to the payout control device 210.

なお、演出制御装置150及び払出制御装置210には、シリアル受信回路625(図5)に相当する受信回路が備えられていて、シリアル送信回路615A、615Bから出力されたシリアルのデータを、それぞれが受信する構成となっている。   The production control device 150 and the payout control device 210 are provided with a reception circuit corresponding to the serial reception circuit 625 (FIG. 5), and the serial data output from the serial transmission circuits 615A and 615B, respectively. It is configured to receive.

遊技用演算処理装置600に電源が投入される際には、RST0端子(図5)を介して電源装置160からリセット信号(起動信号)が入力され、リセット回路610B(図5)が作動する。   When power is supplied to the gaming arithmetic processing device 600, a reset signal (start signal) is input from the power supply device 160 via the RST0 terminal (FIG. 5), and the reset circuit 610B (FIG. 5) is activated.

セキュリティ回路630は、このリセット信号が入力されるとHWパラメータROM603に記憶された正当性確認情報を用いて、セキュリティチェック処理を実行する。このセキュリティチェック処理は、ユーザプログラムROM103に記憶されたプログラムの正当性の判定を行う処理である。   When this reset signal is input, the security circuit 630 executes a security check process using the validity confirmation information stored in the HW parameter ROM 603. This security check process is a process for determining the validity of the program stored in the user program ROM 103.

セキュリティ回路630は、このセキュリティチェック処理を実行している間は、CPUコア102のリセット端子(RES0(負論理))にリセット信号を継続して出力することで、CPUコア102の起動を待機させる。   While this security check process is being executed, the security circuit 630 continuously outputs a reset signal to the reset terminal (RES0 (negative logic)) of the CPU core 102, thereby waiting for the CPU core 102 to start up. .

CPUコア102は、前述のリセット端子(RES0(負論理))と、書込指令出力端子(WR(負論理))、及び読出指令出力端子(RD(負論理))を備える。リセット端子はセキュリティ回路630に接続されており、遊技用演算処理装置600にリセット信号が入力されると、前述のように、セキュリティチェック処理を実行している間、CPUコア102に対するリセット信号がリセット端子に入力される。   The CPU core 102 includes the aforementioned reset terminal (RES0 (negative logic)), a write command output terminal (WR (negative logic)), and a read command output terminal (RD (negative logic)). The reset terminal is connected to the security circuit 630, and when a reset signal is input to the gaming arithmetic processing device 600, as described above, the reset signal for the CPU core 102 is reset while the security check process is being executed. Input to the terminal.

CPUコア102のリセット端子にリセット信号が入力されると、CPUコア102は、CPUコア102に備わるレジスタ(REG)を初期化する。   When a reset signal is input to the reset terminal of the CPU core 102, the CPU core 102 initializes a register (REG) provided in the CPU core 102.

また、CPUコア102がユーザワークRAM104にデータの書き込みを指令する書込指令を出力する場合には、CPUコア102の書込指令出力端子からは所定値よりも低い電圧のローレベルの信号が出力される。同様に、CPUコア102がユーザワークRAM104からデータの読み出しを指令する読出指令を出力する場合には、CPUコア102の読出指令出力端子からは所定値よりも低い電圧のローレベルの信号が出力される。   When the CPU core 102 outputs a write command for instructing the user work RAM 104 to write data, a low level signal having a voltage lower than a predetermined value is output from the write command output terminal of the CPU core 102. Is done. Similarly, when the CPU core 102 outputs a read command for instructing data read from the user work RAM 104, a low level signal having a voltage lower than a predetermined value is output from the read command output terminal of the CPU core 102. The

つまり、書込指令出力端子及び読出指令出力端子は、通常電圧がハイレベルに維持されており、ユーザワークRAM104への読み書きを行うときにのみ電圧がローレベルになる。   That is, the normal voltage is maintained at a high level at the write command output terminal and the read command output terminal, and the voltage is at a low level only when reading / writing to the user work RAM 104 is performed.

また、CPUコア102は、アドレスバス650に指定したアドレスを出力し、データバス660を介して指定したアドレスに格納されたデータを入出力する。   In addition, the CPU core 102 outputs an address designated on the address bus 650, and inputs / outputs data stored at the designated address via the data bus 660.

まず、ユーザワークRAM104のデータの読み出しについて説明する。   First, reading of data from the user work RAM 104 will be described.

CPUコア102から、ユーザワークRAM104の読出指令入力端子(RD(負論理))に読出指令が入力されると、アドレスバス650及びデータバス660を介してCPUコア102に読出データが出力される。   When a read command is input from the CPU core 102 to a read command input terminal (RD (negative logic)) of the user work RAM 104, read data is output to the CPU core 102 via the address bus 650 and the data bus 660.

このとき、CPUコア102からアドレスバス650へは、ユーザワークRAM104のアドレスが出力され、アドレスデコーダ611からユーザワークRAM104のチップ選択端子(所謂CS端子に相当、図示は略)に選択信号が入力されることによって、ユーザワークRAM104が選択される。次いで、選択されたユーザワークRAM104は、アドレスバス650が指定する記憶領域のデータをデータバス660へ出力する。次いで、CPUコア102は、データバス660へ出力されたデータを内部へ取り込む。このような手順により、CPUコア102はユーザワークRAM104からデータを読み出す。   At this time, the address of the user work RAM 104 is output from the CPU core 102 to the address bus 650, and a selection signal is input from the address decoder 611 to a chip selection terminal (corresponding to a so-called CS terminal, not shown) of the user work RAM 104. As a result, the user work RAM 104 is selected. Next, the selected user work RAM 104 outputs the data in the storage area designated by the address bus 650 to the data bus 660. Next, the CPU core 102 takes in the data output to the data bus 660. By such a procedure, the CPU core 102 reads data from the user work RAM 104.

次に、ユーザワークRAM104へのデータの書き込みについて説明する。   Next, data writing to the user work RAM 104 will be described.

CPUコア102に備わる書込指令出力端子は、RAMアクセス規制回路640のORゲート回路642に備わる二つの入力端子のうち一方の入力端子に接続される。ORゲート回路642の他方の入力端子は、RAMアクセス規制回路640のフリップフロップ回路641の出力端子(Q(負論理))に接続され、ORゲート回路642の出力端子は、ユーザワークRAM104の書込指令入力端子(WR(負論理))に接続されている。   The write command output terminal provided in the CPU core 102 is connected to one input terminal of the two input terminals provided in the OR gate circuit 642 of the RAM access restriction circuit 640. The other input terminal of the OR gate circuit 642 is connected to the output terminal (Q (negative logic)) of the flip-flop circuit 641 of the RAM access restriction circuit 640, and the output terminal of the OR gate circuit 642 is the write of the user work RAM 104. It is connected to the command input terminal (WR (negative logic)).

また、ユーザワークRAM104の書込指令入力端子に所定値以下の電圧であるローレベルの信号が入力されると、ユーザワークRAM104への書き込みが許容される。   When a low level signal having a voltage equal to or lower than a predetermined value is input to the write command input terminal of the user work RAM 104, writing to the user work RAM 104 is permitted.

このため、ORゲート回路642の二つの入力端子にそれぞれローレベルの信号が入力されなければ、ユーザワークRAM104への書き込みが許容されない。言い換えれば、ORゲート回路642の少なくとも一方の入力端子にハイレベルの信号が入力されていると、ユーザワークRAM104への書き込みが規制(禁止)される。   Therefore, writing to the user work RAM 104 is not permitted unless low level signals are input to the two input terminals of the OR gate circuit 642, respectively. In other words, when a high level signal is input to at least one input terminal of the OR gate circuit 642, writing to the user work RAM 104 is restricted (prohibited).

ここで、RAMアクセス規制回路640のフリップフロップ回路641について説明する。   Here, the flip-flop circuit 641 of the RAM access restriction circuit 640 will be described.

フリップフロップ回路641は、D型のフリップフロップ回路であり、入力端子として、データ端子(D)、リセット端子(R(負論理))、及び出力イネーブル端子(OE(負論理))を備えるとともに、出力端子(Q(正論理),Q(負論理))を備える。   The flip-flop circuit 641 is a D-type flip-flop circuit, and includes a data terminal (D), a reset terminal (R (negative logic)), and an output enable terminal (OE (negative logic)) as input terminals. Output terminals (Q (positive logic), Q (negative logic)) are provided.

データ端子には、データバス660を構成する信号線D0〜D7のうち所定の一本の信号線(例えば、D0)が接続されている。   One predetermined signal line (for example, D0) among the signal lines D0 to D7 constituting the data bus 660 is connected to the data terminal.

リセット端子には電源装置160からリセット信号線が接続され、リセット信号が入力されるとリセット端子はローレベルとなる。このときフリップフロップ回路641は、出力端子Q(正論理)からローレベルの信号を出力させ、出力端子Q(負論理)からハイレベルの信号を出力させる。出力端子Q(正論理)からの出力と、出力端子Q(負論理)からの出力は、相互に反転するレベルとなっている。   A reset signal line is connected to the reset terminal from the power supply device 160, and when a reset signal is input, the reset terminal becomes low level. At this time, the flip-flop circuit 641 outputs a low level signal from the output terminal Q (positive logic) and outputs a high level signal from the output terminal Q (negative logic). The output from the output terminal Q (positive logic) and the output from the output terminal Q (negative logic) are at levels that are mutually inverted.

また、出力イネーブル端子は、出力制御回路612から送信された出力イネーブル信号が入力される。出力イネーブル信号がハイレベルの場合には、出力端子から信号の出力が可能な状態となる。   The output enable signal transmitted from the output control circuit 612 is input to the output enable terminal. When the output enable signal is at a high level, a signal can be output from the output terminal.

このフリップフロップ回路641に備えた出力端子Q(負論理)からの信号レベルは、CPUコア102によって、自在に設定できるようになっている。この設定は、CPUコア102が、フリップフロップ回路641に割り当てられたアドレスの記憶領域に所定のデータを書き込むことで実現される。   The signal level from the output terminal Q (negative logic) provided in the flip-flop circuit 641 can be freely set by the CPU core 102. This setting is realized by the CPU core 102 writing predetermined data in the storage area of the address assigned to the flip-flop circuit 641.

具体的には、CPUコア102によってフリップフロップ回路641に割り当てられたアドレスの記憶領域にデータを書き込む処理が行われると、CPUコア102からアドレスバス650へは、フリップフロップ回路641のアドレスが出力される。次に、アドレスデコーダ611から、出力制御回路612を介して、フリップフロップ回路641の出力イネーブル端子にクロック信号が入力され、出力イネーブル端子の電圧レベルが立ち上がり、ハイレベルとなる。   Specifically, when the CPU core 102 performs processing to write data to the storage area of the address assigned to the flip-flop circuit 641, the address of the flip-flop circuit 641 is output from the CPU core 102 to the address bus 650. The Next, a clock signal is input from the address decoder 611 to the output enable terminal of the flip-flop circuit 641 via the output control circuit 612, and the voltage level of the output enable terminal rises to a high level.

このときフリップフロップ回路641は、データ端子に入力されている信号を取り込んで、取り込んだ信号を出力端子Q(正論理)から出力し、取り込んだ信号の反転値を出力端子Q(負論理)から出力する。   At this time, the flip-flop circuit 641 captures the signal input to the data terminal, outputs the captured signal from the output terminal Q (positive logic), and outputs the inverted value of the captured signal from the output terminal Q (negative logic). Output.

また、フリップフロップ回路641は、出力制御回路612がクロック信号の入力を終了した場合には、出力イネーブル端子の電圧レベルは立ち下がりローレベルとなり、出力端子Q(正論理)及び出力端子Q(負論理)の電圧レベルを保持する。   Further, in the flip-flop circuit 641, when the output control circuit 612 finishes inputting the clock signal, the voltage level of the output enable terminal falls and becomes a low level, and the output terminal Q (positive logic) and the output terminal Q (negative). Logic) voltage level.

また、出力端子Q(負論理)は、ORゲート回路642の入力端子に信号を出力する。出力端子Q(正論理)には何も接続されない。   The output terminal Q (negative logic) outputs a signal to the input terminal of the OR gate circuit 642. Nothing is connected to the output terminal Q (positive logic).

次に、フリップフロップ回路641の入力状態に応じた各種動作について説明する。   Next, various operations according to the input state of the flip-flop circuit 641 will be described.

フリップフロップ回路641は、前述したように、出力イネーブル端子の電圧レベルの立ち上り、つまり出力イネーブル信号の入力開始時に、データ端子の電圧レベルを読み取り、読み取った電圧レベルの反転値を出力端子Q(負論理)から出力する。   As described above, the flip-flop circuit 641 reads the voltage level of the data terminal at the rise of the voltage level of the output enable terminal, that is, at the start of input of the output enable signal, and outputs the inverted value of the read voltage level to the output terminal Q (negative Output from logic).

一方、フリップフロップ回路641は、出力イネーブル端子の電圧レベルの立ち下がり、つまり、出力イネーブル信号の入力終了時に、出力イネーブル端子の電源レベルの立ち上がり時の出力端子Q(負論理)からの出力を保持する。   On the other hand, the flip-flop circuit 641 holds the output from the output terminal Q (negative logic) at the fall of the voltage level of the output enable terminal, that is, at the end of the input of the output enable signal. To do.

出力端子Q(負論理)からハイレベルの信号がORゲート回路642の入力端子に出力されていると、ORゲート回路642の他方の入力端子にローレベル及びハイレベルのいずれの信号が入力されても、ORゲート回路642の出力端子からはハイレベルの信号が出力される。   When a high level signal is output from the output terminal Q (negative logic) to the input terminal of the OR gate circuit 642, either the low level signal or the high level signal is input to the other input terminal of the OR gate circuit 642. Also, a high level signal is output from the output terminal of the OR gate circuit 642.

このため、フリップフロップ回路641の出力端子Q(負論理)からハイレベルの信号が出力されていれば、ORゲート回路642の他方の入力端子に書込指令信号が入力されても(当該他方の入力端子にローレベルの信号が入力されても)、ユーザワークRAM104の書込指令入力端子にはローレベルが入力されなくなり、RAM書込禁止状態が発生する。   Therefore, if a high-level signal is output from the output terminal Q (negative logic) of the flip-flop circuit 641, even if a write command signal is input to the other input terminal of the OR gate circuit 642 (the other Even if a low level signal is input to the input terminal), the low level is not input to the write command input terminal of the user work RAM 104, and a RAM write inhibit state occurs.

RAMアクセス規制回路640をRAM書込禁止状態にするかRAM書込許可状態にするかは、クロック信号がフリップフロップ回路641に入力されたときのフリップフロップ回路641のデータ端子に入力される電圧レベル、又はリセット信号の入力の有無に基づく。   The voltage level input to the data terminal of the flip-flop circuit 641 when the clock signal is input to the flip-flop circuit 641 depends on whether the RAM access restriction circuit 640 is in the RAM write prohibition state or the RAM write permission state. Or based on the presence or absence of a reset signal input.

前述のようにCPUコア102は、出力制御回路612を制御してクロック信号の出力を制御でき、データバス660の信号線の出力も制御できるので、フリップフロップ回路641の出力端子Q(負論理)から出力される信号は、CPUコア102によって制御可能である。言い換えると、CPUコア102は、データバス660の信号レベルを制御することによってRAMアクセス規制回路640の書込状態を制御できる。   As described above, the CPU core 102 can control the output control circuit 612 to control the output of the clock signal, and can also control the output of the signal line of the data bus 660, so that the output terminal Q (negative logic) of the flip-flop circuit 641. The signal output from can be controlled by the CPU core 102. In other words, the CPU core 102 can control the write state of the RAM access restriction circuit 640 by controlling the signal level of the data bus 660.

さらに、前述のようにフリップフロップ回路641のリセット端子にリセット信号が入力された場合には、フリップフロップ回路641は、出力端子Qの電圧レベルをローにするため、出力端子Q(負論理)の電圧レベルはハイになる。このため、フリップフロップ回路641にリセット信号が入力された場合には、RAMアクセス規制回路640では、RAM書込禁止状態が発生することになる。   Further, as described above, when a reset signal is input to the reset terminal of the flip-flop circuit 641, the flip-flop circuit 641 sets the voltage level of the output terminal Q to low, and therefore the output terminal Q (negative logic) The voltage level goes high. Therefore, when a reset signal is input to the flip-flop circuit 641, the RAM access restriction circuit 640 causes a RAM write prohibition state.

前述のように、出力制御回路612が払出制御装置210に接続されるシリアル送信回路615Bにクロック信号を入力すると、シリアル送信回路615Bは、クロック信号が入力されたタイミングで、データバス617からデータを読み取り、読み取ったデータを送信データバッファレジスタ635Aに格納する。そして、送信データバッファレジスタ635Aに格納されたデータを送信データシフトレジスタ635Bに格納し、払出制御装置210に順次出力する。   As described above, when the output control circuit 612 inputs a clock signal to the serial transmission circuit 615B connected to the payout control device 210, the serial transmission circuit 615B receives data from the data bus 617 at the timing when the clock signal is input. The read data is stored in the transmission data buffer register 635A. Then, the data stored in the transmission data buffer register 635A is stored in the transmission data shift register 635B and sequentially output to the payout control device 210.

なお、前述したセキュリティ回路630、RAMアクセス規制回路640、及びシリアル送信回路615の起動(リセット)は、電源装置160からのリセット信号を、前述のリセット回路610B(図5)を介して受け入れた場合に実行される。ただし、電源装置160からのリセット信号は、必ずしもリセット回路610Bを介して各回路に入力される必要はなく、リセット回路610Bを経由しない別個の信号線を介して各回路に入力されるような構成でもよい。   Note that the activation (reset) of the security circuit 630, the RAM access restriction circuit 640, and the serial transmission circuit 615 described above is when the reset signal from the power supply device 160 is received via the reset circuit 610B (FIG. 5). To be executed. However, the reset signal from the power supply device 160 is not necessarily input to each circuit via the reset circuit 610B, and is input to each circuit via a separate signal line that does not pass through the reset circuit 610B. But you can.

なお、シリアル送信回路615(615A、615B)においては、図7〜図10の説明で前述したように、リセット信号によって、演出制御装置150や払出制御装置210へのデータ出力がオフ状態となる。   In the serial transmission circuit 615 (615A, 615B), as described above with reference to FIGS. 7 to 10, the data output to the effect control device 150 and the payout control device 210 is turned off by the reset signal.

また、払出制御装置210は、シリアル送信回路615を備えてはいない点が、図6に示した遊技制御装置100と異なっている。その他の構成は、図11に示した遊技制御装置100と同じ構成である。   Further, the payout control device 210 is different from the game control device 100 shown in FIG. 6 in that it does not include the serial transmission circuit 615. Other configurations are the same as those of the game control apparatus 100 shown in FIG.

また、演出制御装置150は、シリアル送信回路615を備えてはいない点、さらに、遊技用演算処理装置600にRAMアクセス規制回路640を備えていない点が、図6に示した遊技制御装置100と異なっている。その他の構成については、図11に示した遊技制御装置100と同じ構成である。   In addition, the fact that the effect control device 150 does not include the serial transmission circuit 615 and that the game arithmetic processing device 600 does not include the RAM access restriction circuit 640 is different from the game control device 100 shown in FIG. Is different. About another structure, it is the same structure as the game control apparatus 100 shown in FIG.

なお、払出制御装置210及び演出制御装置150に備えたシリアル受信回路625は、払出制御装置210(又は演出制御装置150)のCPU102が起動した後であれば、遊技制御装置100のシリアル送信回路615からの信号を受け入れられる状態となっている。なお、払出制御装置210(又は演出制御装置150)のシリアル受信回路625とCPU102とは、データバス617によって相互に接続される構成となっている。   Note that the serial reception circuit 625 included in the payout control device 210 and the effect control device 150 is after the CPU 102 of the payout control device 210 (or the effect control device 150) is activated, the serial transmission circuit 615 of the game control device 100. The signal from can be accepted. Note that the serial receiving circuit 625 and the CPU 102 of the payout control device 210 (or the effect control device 150) are connected to each other via a data bus 617.

図12は、本発明の第1の実施の形態のCPUコア102の内部構成を説明するブロック図である。CPUコア102はZ80系のCPUとして構成されている。   FIG. 12 is a block diagram illustrating an internal configuration of the CPU core 102 according to the first embodiment of this invention. The CPU core 102 is configured as a Z80 CPU.

図12に示すCPUコア102は、それぞれ8ビットの幅を有する、Wレジスタ1201A、Aレジスタ1202A、Bレジスタ1204A、Cレジスタ1205A、Dレジスタ1207A、Eレジスタ1208A、Hレジスタ1210A、Lレジスタ1211Aを備えている。   The CPU core 102 shown in FIG. 12 includes a W register 1201A, an A register 1202A, a B register 1204A, a C register 1205A, a D register 1207A, an E register 1208A, an H register 1210A, and an L register 1211A each having a width of 8 bits. ing.

これらの汎用レジスタは、Wレジスタ1201AとAレジスタ1202Aとを組み合わせて、16ビットの幅を有するWAレジスタ1203Aとして使用することも可能である。同様に、Bレジスタ1204AとCレジスタ1205Aとを組み合わせたBCレジスタ1206A、Dレジスタ1207AとEレジスタ1208Aとを組み合わせたDEレジスタ1209A、Hレジスタ1210AとLレジスタ1211Aとを組み合わせたHLレジスタ1212Aを使用することも可能である。   These general-purpose registers can be used as a WA register 1203A having a 16-bit width by combining the W register 1201A and the A register 1202A. Similarly, a BC register 1206A combining the B register 1204A and the C register 1205A, a DE register 1209A combining the D register 1207A and the E register 1208A, and an HL register 1212A combining the H register 1210A and the L register 1211A are used. It is also possible.

なお、これらの汎用レジスタは、1つの汎用レジスタ群(バンク0のレジスタ群)1220Aを形成している。一方、CPUコア102は、バンク0のレジスタ群1220Aに含まれる汎用レジスタと同様の構成を有する、もう1つの汎用レジスタ群(バンク1のレジスタ群)1220Bを備えている。   These general-purpose registers form one general-purpose register group (register group in bank 0) 1220A. On the other hand, the CPU core 102 includes another general-purpose register group (bank 1 register group) 1220B having the same configuration as that of the general-purpose registers included in the bank 0 register group 1220A.

このバンク1のレジスタ群1220Bには、バンク0のWレジスタ1201A〜Lレジスタ1211Aと同一の機能を有する、Wレジスタ1201B〜Lレジスタ1211Bを備えている。これらのレジスタも、バンク0同様に、WAレジスタ1203B〜HLレジスタ1212Bとして、16ビットのレジスタとして使用することが可能である。   The bank 1 register group 1220B includes W registers 1201B to 1211B having the same functions as the bank 0 W registers 1201A to L1112A. Like the bank 0, these registers can also be used as 16-bit registers as the WA register 1203B to HL register 1212B.

さらに、CPUコア102は、8ビットの幅を有するフラグレジスタ1200を備えている。   Further, the CPU core 102 includes a flag register 1200 having a width of 8 bits.

フラグレジスタ1200は、図13で詳細を説明するが、レジスタを用いた演算結果が格納される。また、フラグレジスタ1200の、レジスタバンクセレクタ(RBS)1301(図13で後述)によって、2つの汎用レジスタ群1220A、1220Bのうちのいずれを、演算対象として用いるかが選択される。   The flag register 1200, which will be described in detail with reference to FIG. 13, stores an operation result using the register. Further, a register bank selector (RBS) 1301 (described later in FIG. 13) of the flag register 1200 selects which of the two general-purpose register groups 1220A and 1220B is used as an operation target.

レジスタバンクセレクタ(RBS)1301により選択されたレジスタ群に属する各レジスタは、後述の命令解釈実行回路1242によって演算に用いられる。一方、選択されていないレジスタ群に属する各レジスタは、レジスタバンクセレクタ(RBS)1301の値が変更されて選択対象となるまでは、値を保持する。   Each register belonging to the register group selected by the register bank selector (RBS) 1301 is used for calculation by an instruction interpretation execution circuit 1242 described later. On the other hand, each register belonging to the unselected register group holds a value until the value of the register bank selector (RBS) 1301 is changed and becomes a selection target.

また、CPUコア102は、8ビットの幅を有して、上位アドレス指定レジスタとして機能するKレジスタ1230を備えている。このレジスタは、後述の命令解釈実行回路1242が、所定の16ビットのアドレスに記憶されたデータにアクセスする際の上位8ビットのアドレスを指定する上位アドレス指定レジスタである。   Further, the CPU core 102 includes a K register 1230 having a width of 8 bits and functioning as an upper address specification register. This register is an upper address designation register that designates an upper 8-bit address when an instruction interpretation execution circuit 1242, which will be described later, accesses data stored at a predetermined 16-bit address.

さらに、CPUコア102は、それぞれ16ビットの幅を有する、IXレジスタ1231、IYレジスタ1232、スタックポインタとして機能するSPレジスタ1233、及びプログラムカウンタとして機能するPCレジスタ1234を備えている。   Further, the CPU core 102 includes an IX register 1231, an IY register 1232, an SP register 1233 that functions as a stack pointer, and a PC register 1234 that functions as a program counter, each having a width of 16 bits.

IXレジスタ1231、IYレジスタ1232は、後述の命令解釈実行回路1242がデータをアクセスする際のインデックスとして用いられる。スタックポインタ1233は、スタックエリア(図18で後述)にデータを格納する(又はデータを取り出す)際の領域の位置を示す。プログラムカウンタ1234は、後述の命令解釈実行回路1242で実行されている命令が格納されているアドレスを示している。   The IX register 1231 and the IY register 1232 are used as indexes when an instruction interpretation execution circuit 1242 described later accesses data. The stack pointer 1233 indicates the position of an area when data is stored (or retrieved) in the stack area (described later in FIG. 18). The program counter 1234 indicates an address where an instruction executed by an instruction interpretation execution circuit 1242 described later is stored.

命令解釈実行回路1242は、遊技制御プログラムを実行して、CPUコア102内部の各レジスタを用いた演算処理を行う。具体的には、ユーザプログラムROM103にて、プログラムカウンタ1234に示されるアドレスに記憶されたデータを読み出すとともに、読み出したデータをコードと見なして、コードに対応する命令を実行する。   The instruction interpretation execution circuit 1242 executes a game control program and performs arithmetic processing using each register in the CPU core 102. Specifically, in the user program ROM 103, data stored at the address indicated by the program counter 1234 is read, and the read data is regarded as a code, and an instruction corresponding to the code is executed.

故に、本実施形態においては、CPUコア102自体を演算処理手段として例示しているが、CPUコア102の内部では、命令解釈実行回路1242が主体となって演算処理手段の機能を果たしている。   Therefore, in the present embodiment, the CPU core 102 itself is exemplified as the arithmetic processing means. However, in the CPU core 102, the instruction interpretation execution circuit 1242 mainly functions as the arithmetic processing means.

なお、命令解釈実行回路1242は、遊技制御プログラムの命令に対応して、アクセス回路1243、アドレスバス650、及びデータバス660を介して、CPUコア102外部のユーザプログラムROM103、ユーザワークRAM604、及び他の回路との間で、データの授受を行う場合もある。   The instruction interpretation execution circuit 1242 corresponds to the instruction of the game control program, the user program ROM 103 outside the CPU core 102, the user work RAM 604, and others via the access circuit 1243, the address bus 650, and the data bus 660. In some cases, data is exchanged with other circuits.

また、命令解釈実行回路1242は、ユーザプログラムROM103の命令を1つずつ実行する毎に、次の命令が格納されているアドレスをプログラムカウンタ1234に格納する。このようにして命令の実行と、プログラムカウンタ1234の更新を繰り返すことで、遊技制御プログラムが順次実行される。なお、割込制御回路610Aからの割込信号を受け付けると、プログラムカウンタ1234の値は、予め設定された割込処理のアドレスの値に切り替えられる。   Further, the instruction interpretation execution circuit 1242 stores the address where the next instruction is stored in the program counter 1234 every time one instruction of the user program ROM 103 is executed. In this way, the game control program is sequentially executed by repeatedly executing the instruction and updating the program counter 1234. When an interrupt signal from interrupt control circuit 610A is received, the value of program counter 1234 is switched to a preset interrupt processing address value.

この命令解釈実行回路1242及びCPUコア102に備える各レジスタは、内部バス1235によって、データが授受される。   Data is transmitted to and received from the instruction interpretation execution circuit 1242 and the registers included in the CPU core 102 through the internal bus 1235.

初期値設定回路1241は、CPUコア102に備える各レジスタに初期値をハード的に設定する回路である。   The initial value setting circuit 1241 is a circuit that sets an initial value in each register included in the CPU core 102 in hardware.

内蔵リセット回路1240は、セキュリティ回路630からのリセット信号を受信すると、初期値設定回路1241を起動させ、CPUコア102に備える各レジスタに初期値を設定させたのちに、命令解釈実行回路1242を起動させる。   When the built-in reset circuit 1240 receives the reset signal from the security circuit 630, the built-in reset circuit 1240 activates the initial value setting circuit 1241, sets initial values in the registers included in the CPU core 102, and then activates the instruction interpretation execution circuit 1242. Let

図13は、本発明の第1の実施の形態のフラグレジスタ1200の構成を説明する図である。フラグレジスタ1200の各ビットの値は、図12における命令解釈実行回路1242によって設定される。   FIG. 13 is a diagram illustrating the configuration of the flag register 1200 according to the first embodiment of this invention. The value of each bit of the flag register 1200 is set by the instruction interpretation execution circuit 1242 in FIG.

割込マスタ許可フラグ(IMF)1300は、割込信号による割込処理の許否を設定するフラグであり、セット(値が「1」)で許可、クリア(値が「0」)で禁止となる。   The interrupt master permission flag (IMF) 1300 is a flag for setting permission / inhibition of interrupt processing by an interrupt signal, and is permitted when set (value is “1”) and prohibited when cleared (value is “0”). .

レジスタバンクセレクタ(RBS)1301は、図12における命令解釈実行回路1242が演算処理を行う際に、2つの汎用レジスタ群1220A、1220Bのうちのいずれを用いるかを選択するフラグであり、セット(値が「1」)でバンク1のレジスタ群1220B、クリア(値が「0」)でバンク0のレジスタ群1220Aが選択される。   The register bank selector (RBS) 1301 is a flag that selects which of the two general-purpose register groups 1220A and 1220B is used when the instruction interpretation execution circuit 1242 in FIG. Is "1"), the register group 1220B of bank 1 is selected, and the register group 1220A of bank 0 is selected when clear (value is "0").

オーバーフローフラグ(VF)1302は、所定の演算によって演算対象の汎用レジスタに桁溢れ(オーバーフロー)が発生するとセット(値が「1」)され、他の場合はクリア(値が「0」)される。   The overflow flag (VF) 1302 is set (value is “1”) when a digit overflow (overflow) occurs in a general-purpose register to be calculated by a predetermined operation, and is cleared (value is “0”) in other cases. .

サインフラグ(SF)1303は、所定の演算によって演算対象の汎用レジスタの最上位ビットが「1」になるとセット(値が「1」)され、他の場合はクリア(値が「0」)される。   The sign flag (SF) 1303 is set (value is “1”) when the most significant bit of the calculation target general-purpose register is “1” by a predetermined operation, and is cleared (value is “0”) in other cases. The

ハーフキャリーフラグ(HF)1304は、8ビット演算を行った結果として演算対象の汎用レジスタの4ビット目に桁上がり(キャリー)や桁借り(ボロー)が発生するとセット(値が「1」)され、他の場合はクリア(値が「0」)される。   The half carry flag (HF) 1304 is set (value is “1”) when carry (carry) or borrow (borrow) occurs in the 4th bit of the general-purpose register to be calculated as a result of 8-bit operation. In other cases, it is cleared (value is “0”).

キャリーフラグ(CF)1305は、所定の演算によって桁上がり(キャリー)や桁借り(ボロー)が発生するとセット(値が「1」)され、他の場合はクリア(値が「0」)される。   The carry flag (CF) 1305 is set (value is “1”) when a carry (carry) or borrow (borrow) is generated by a predetermined operation, and is cleared (value is “0”) in other cases. .

ゼロフラグ(ZF)1306は、所定の演算算結果が「0」となった場合にセット(値が「1」)され、他の場合はクリア(値が「0」)される。   The zero flag (ZF) 1306 is set (value is “1”) when a predetermined calculation result is “0”, and is cleared (value is “0”) in other cases.

ジャンプステータスフラグ(JF)1307は、キャリーフラグ(CF)1305又はゼロフラグ(ZF)1306の少なくとも一方がセットされた場合にはセット(値が「1」)される。若しくは、演算処理を行わない場合であっても、汎用レジスタの値が「00H」の値になった場合は、セット(値が「1」)される。このような条件をいずれも満たさない場合は、クリア(値が「0」)される。   The jump status flag (JF) 1307 is set (value is “1”) when at least one of the carry flag (CF) 1305 or the zero flag (ZF) 1306 is set. Alternatively, even when the arithmetic processing is not performed, when the value of the general-purpose register becomes “00H”, it is set (value is “1”). When none of these conditions is satisfied, the value is cleared (value is “0”).

なお、CPUコア102がリセットされた場合には、フラグレジスタの全bitが0に設定される。   When the CPU core 102 is reset, all the bits of the flag register are set to 0.

図14は、本発明の第1の実施の形態のユーザワークRAM104の一例を示す図である。   FIG. 14 is a diagram illustrating an example of the user work RAM 104 according to the first embodiment of this invention.

ユーザワークRAM104は、第1停電復旧領域701、ワークエリア702、第2停電復旧領域703、チェックサム領域704、使用禁止領域(アクセス禁止領域)705、及びスタック領域706を有する。   The user work RAM 104 includes a first power failure recovery area 701, a work area 702, a second power failure recovery area 703, a checksum area 704, a use prohibition area (access prohibition area) 705, and a stack area 706.

ユーザワークRAM104には、アドレス「2800H」〜「29FFH」が割り当てられており、第1停電復旧領域701にはアドレス「2800H」が割り当てられ、ワークエリア702にはアドレス「2801H」〜「2917H」が割り当てられ、第2停電復旧領域703にはアドレス「2918H」が割り当てられ、チェックサム領域704にはアドレス「2919H」が割り当てられ、使用禁止領域705にはアドレス「291AH」〜「297FH」が割り当てられ、スタック領域706にはアドレス「2980H」〜「29FFH」が割り当てられる。   Addresses “2800H” to “29FFH” are assigned to the user work RAM 104, addresses “2800H” are assigned to the first power failure recovery area 701, and addresses “2801H” to “2917H” are assigned to the work area 702. The address “2918H” is assigned to the second power failure recovery area 703, the address “2919H” is assigned to the checksum area 704, and the addresses “291AH” to “297FH” are assigned to the use prohibition area 705. The stack area 706 is assigned addresses “2980H” to “29FFH”.

ユーザワークRAM104の各領域について説明する。   Each area of the user work RAM 104 will be described.

第1停電復旧領域701及び第2停電復旧領域703は、遊技機1への電源供給開始時に参照される情報が格納されており、直前の電源供給停止のとき(停電発生や遊技機1の電源スイッチをオフにしたとき)に、電源遮断の処理が正しく実行されていたか否かを示す情報(電源遮断確認フラグ)が格納されている。   The first power failure recovery area 701 and the second power failure recovery area 703 store information referred to when the power supply to the gaming machine 1 is started, and when the power supply is stopped immediately before (the occurrence of a power failure or the power supply of the gaming machine 1) Information (power cutoff confirmation flag) indicating whether or not the power shutdown processing has been executed correctly when the switch is turned off is stored.

ワークエリア702には、遊技制御で必要な変数等が格納され、図25及び図26に示す遊技制御装置メイン処理並びに図29に示すタイマ割込処理等で、これらの変数が更新される。具体的には、特図変動表示ゲーム及び普図変動表示ゲームの保留数を格納する保留カウンタ、特図変動表示ゲームを実行するために必要な各種乱数の生成領域、普図変動表示ゲームを抽選するために必要な乱数(普図乱数)の生成領域、普図乱数の保存領域、特図変動表示ゲームを実行するために必要な各種乱数の保存領域などがワークエリア702に記憶される。これらの詳細については、図15から図17を参照して後述する。   The work area 702 stores variables and the like necessary for game control, and these variables are updated by the game control device main process shown in FIGS. 25 and 26, the timer interrupt process shown in FIG. 29, and the like. Specifically, a special counter fluctuation display game and a hold counter for storing the number of suspensions of the special figure fluctuation display game, a random number generation area necessary for executing the special figure fluctuation display game, and a lottery fluctuation display game The work area 702 stores a random number (ordinary random number) generation area necessary for performing, a normal random number storage area, various random number storage areas necessary for executing the special figure variation display game, and the like. Details of these will be described later with reference to FIGS.

チェックサム領域704には、停電発生時に算出されたユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703のチェックサムが格納される。   The checksum area 704 stores the checksums of the first power failure recovery area 701, the work area 702, and the second power failure recovery area 703 of the user work RAM 104 that are calculated when a power failure occurs.

使用禁止領域705は使用されない記憶領域であり、当該領域へのアクセスがあると、セキュリティ回路630(図6)によって、CPUコア102がリセットされるようになっている。   The use-prohibited area 705 is a storage area that is not used, and the CPU core 102 is reset by the security circuit 630 (FIG. 6) when there is access to the area.

スタック領域706には、CPUコア102で演算されているデータの一部を一時的に退避させる場合に、退避データが格納される。また、割込みが発生した場合の戻りアドレスや、サブルーチンや関数を呼び出す場合の戻りアドレスも格納される。   The stack area 706 stores saved data when part of the data calculated by the CPU core 102 is temporarily saved. In addition, a return address when an interrupt occurs and a return address when a subroutine or function is called are also stored.

なお、本実施形態では、ワークエリア702のうち遊技制御に用いられる各種乱数の生成及び保存領域の上位アドレスと、スタック領域706が割り当てられている領域の上位アドレスが異なるように設定されている。具体的には、ワークエリア702の各種乱数の生成及び保存領域の上位アドレスが「28H」(第1記憶領域)、スタック領域の上位アドレスが「29H」(第2記憶領域)となっており、乱数更新時にスタック領域の値を誤って更新してしまったり、スタック領域更新時に乱数の値を誤って更新してしまったりすることを防止している。   In the present embodiment, in the work area 702, the high-order addresses of various random number generation and storage areas used for game control are set to be different from the high-order addresses of the areas to which the stack area 706 is allocated. Specifically, the upper address of the generation and storage area of various random numbers in the work area 702 is “28H” (first storage area), and the upper address of the stack area is “29H” (second storage area). This prevents the value of the stack area from being erroneously updated when the random number is updated or the value of the random number is erroneously updated when the stack area is updated.

さらに、上位アドレスが誤って設定されてしまった場合であっても誤作動を生じさせないように、各種乱数の生成及び保存領域の下位アドレスがスタック領域の下位アドレスと重ならないように設定している。   Furthermore, even if the upper address is set by mistake, the lower address of the various random number generation and storage areas is set so that it does not overlap with the lower address of the stack area so as not to cause a malfunction. .

具体的には、図15から図17で後述する、特図変動表示ゲームを実行するための各種乱数(始動記憶)の生成領域(2820H〜2827H)、普図乱数の生成領域(2828H)及び普図乱数の保存領域(282CH〜282FH)、第1特図変動表示ゲームを実行するための各種乱数(始動記憶)の保存領域(2830H〜284FH)、及び、第2特図変動表示ゲームを実行するための各種乱数(始動記憶)の保存領域(2850H〜286FH)などが該当する。これらの領域の上位アドレスを「28H」から「29H」に置換した領域(即ち2920H〜296FHの領域)は、図14に示すように、使用禁止領域705として設定されている。   Specifically, various random number (starting memory) generation areas (2820H to 2827H), a normal random number generation area (2828H), a general random number generation area (2828H), and a common random number display game for executing the special figure variation display game, which will be described later with reference to FIGS. Random number storage area (282CH to 282FH), various random number (starting memory) storage areas (2830H to 284FH) for executing the first special figure fluctuation display game, and second special figure fluctuation display game This corresponds to a storage area (2850H to 286FH) of various random numbers (startup memory) for the purpose. An area obtained by replacing the upper addresses of these areas from “28H” to “29H” (that is, an area from 2920H to 296FH) is set as a use-prohibited area 705 as shown in FIG.

図15から図17は、本発明の第1の実施の形態のユーザワークRAM104に割り当てられたワークエリア702に格納されるデータの具体例を説明する図である。図15は保留カウンタ、各種乱数の生成領域及び普図乱数の保存領域を示す。図16は第1特図変動表示ゲームを実行するために必要な各種乱数の保存領域、図17は第2特図変動表示ゲームを実行するために必要な各種乱数の保存領域を示す。   15 to 17 are diagrams illustrating specific examples of data stored in the work area 702 allocated to the user work RAM 104 according to the first embodiment of this invention. FIG. 15 shows a hold counter, various random number generation areas, and a regular random number storage area. 16 shows a storage area for various random numbers necessary for executing the first special figure variation display game, and FIG. 17 shows a storage area for various random numbers necessary for executing the second special figure variation display game.

図15を参照すると、保留カウンタを格納する領域として281DHから281FHが割り当てられている。具体的には、第1特図変動表示ゲームの保留記憶数を格納する第1特図保留カウンタ(281DH)、第2特図変動表示ゲームの保留記憶数を格納する第1特図保留カウンタ(281EH)、普図変動表示ゲームの保留記憶数を格納する普図保留カウンタ(281FH)となっている。さらに、特図変動表示ゲームを実行するための各種乱数(始動記憶)の生成領域(2820H〜2827H)、普図乱数の生成領域(2828H)及び普図乱数の保存領域(282CH〜282FH)が割り当てられている。   Referring to FIG. 15, 281DH to 281FH are allocated as areas for storing the hold counter. Specifically, a first special figure hold counter (281DH) that stores the number of reserved memories of the first special figure variable display game, and a first special figure hold counter that stores the number of held memories of the second special figure variable display game ( 281EH), it is a universal figure holding counter (281FH) for storing the holding memory number of the common figure variable display game. Furthermore, various random number (starting memory) generation areas (2820H to 2827H), normal random number generation areas (2828H), and normal random number storage areas (282CH to 282FH) are allocated for executing the special figure variation display game. It has been.

特図変動表示ゲームを実行するための各種乱数には、特図変動表示ゲームの大当りを決定するための大当り乱数(2バイト)、特図変動表示ゲームの大当り図柄を決定するための大当り図柄乱数、特図変動表示ゲームの変動パターンを決定するための第1変動P(パターン)乱数(2バイト)、第2変動P(パターン)乱数、第3変動P(パターン)乱数(2バイト)が含まれる。   Various random numbers for executing the special figure fluctuation display game include a big hit random number (2 bytes) for determining the big hit of the special figure fluctuation display game, and a big hit symbol for determining the big hit symbol of the special figure fluctuation display game Includes a first variation P (pattern) random number (2 bytes), a second variation P (pattern) random number, and a third variation P (pattern) random number (2 bytes) for determining the variation pattern of the special figure variation display game. It is.

図16を参照すると、第1特図変動表示ゲームを実行するための各種乱数を格納する領域が割り当てられている。本実施形態では、第1特図変動表示ゲームの始動記憶(特図1始動記憶)を最大4回分保持可能となっている。そして、これら乱数値は、特図始動口SW共通処理(図40)において設定される。   Referring to FIG. 16, an area for storing various random numbers for executing the first special figure variation display game is allocated. In the present embodiment, the start memory of the first special figure variation display game (special figure 1 start memory) can be retained up to four times. These random numbers are set in the special figure starting port SW common process (FIG. 40).

具体的には、記憶された特図1始動記憶の保留順に領域が割り当てられる。具体的には、保留1は2830Hから2837H、保留2は2838Hから283FH、保留3は2840Hから2847H及び保留4は2848Hから284FHの各領域が割り当てられている。また、各領域には、前述した特図変動表示ゲームを実行するための各種乱数に応じた領域がさらに割り当てられている。   Specifically, the areas are allocated in the order in which the stored special figure 1 start-up memory is stored. Specifically, areas 1830H to 2837H, 238H to 283FH, 2840H to 2847H, 3840, and 2848H to 284FH are allocated to the reservation 1 and 2830H. Each area is further assigned with an area corresponding to various random numbers for executing the above-described special figure variation display game.

そして、保留1個目の特図1始動記憶に対応する第1特図変動表示ゲームが実行される場合には、後述する特図普段処理の特図1変動開始処理(図45)において、保留1個目の各乱数を取得(一時的に退避)した後に、保留2個目〜4個目の特図1始動記憶に対応する領域に記憶された各乱数を保留1個目〜3個目の特図1始動記憶に対応する領域にシフトする。   Then, when the first special figure fluctuation display game corresponding to the first special figure 1 start memory to be held is executed, in the special figure normal fluctuation process (FIG. 45) described later, After obtaining (temporarily saving) each first random number, each random number stored in the area corresponding to the second to fourth special figure 1 start memory is held first to third The shift to the area corresponding to the start memory of FIG.

そして、遊技制御装置100は、後述する特図大当り判定処理(図42)において、取得した各乱数(一時的に退避していた保留1個目の各乱数)の値と、予め定義された特図1変動表示ゲーム用の大当り判定値とを比較して、特図1変動表示ゲームが大当りか否かを判定し、特図1始動記憶数(第1特図保留カウンタに記憶された値)を1減算する。   Then, the game control device 100, in a special figure jackpot determination process (FIG. 42) to be described later, obtains the value of each random number (the first random number that has been temporarily saved) and a special feature that is defined in advance. 1 is compared with the big hit determination value for the variable display game to determine whether or not the special figure 1 variable display game is a big hit, and the special figure 1 start memory number (the value stored in the first special figure holding counter) 1 is subtracted.

図17を参照すると、図16に示した第1特図変動表示ゲームの場合と同様に、第2特図変動表示ゲームを実行するための各種乱数(特図2始動記憶)を格納する領域が割り当てられている。特図2始動記憶に含まれる各種乱数は、特図1始動記憶と同様に処理される。   Referring to FIG. 17, as in the case of the first special figure fluctuation display game shown in FIG. 16, there are areas for storing various random numbers (special figure 2 start memory) for executing the second special figure fluctuation display game. Assigned. Various random numbers included in the special figure 2 start memory are processed in the same manner as the special figure 1 start memory.

図18及び図19は、本発明の第1の実施の形態のスタック領域706の一例を示す図である。図18及び図19では、スタック領域706に戻りアドレスや所定のレジスタの値が格納される場合について説明する。   18 and 19 are diagrams illustrating an example of the stack area 706 according to the first embodiment of this invention. 18 and 19, a case where a return address and a predetermined register value are stored in the stack area 706 will be described.

まず、図18(A)は、遊技機1に電源が投入された直後の状態であり、スタック領域706に何もデータが格納されていない状態を示している。この場合、スタックポインタ(SP)1233は、スタック領域の最終領域(29FFH)をスタックポインタ初期値として示している。   First, FIG. 18A shows a state immediately after power is turned on to the gaming machine 1 and shows a state where no data is stored in the stack area 706. In this case, the stack pointer (SP) 1233 indicates the last area (29FFH) of the stack area as the stack pointer initial value.

図18(B)は、スタック領域706に退避データが格納されたり、割込み発生やサブルーチン呼び出しによって、スタック領域706に戻りアドレスなどのデータが格納された状態を示している。この場合、最後にデータ(又はアドレス)が格納された領域の1つ上のアドレスを、スタックポインタ1233によって示すことになる。   FIG. 18B shows a state in which saved data is stored in the stack area 706, or data such as a return address is stored in the stack area 706 due to an interrupt or a subroutine call. In this case, the stack pointer 1233 indicates the address immediately above the area where the data (or address) is stored last.

なお、スタック領域706に戻りアドレスが格納される場合としては、割込みが発生した場合と、後述する「CALL」命令を実行して通常のサブルーチン呼び出しを行った場合とがあるが、本実施形態では、前者の場合と後者の場合とで、スタック領域706に格納されるデータが異なる。   The return address is stored in the stack area 706 when an interrupt occurs or when a normal subroutine call is performed by executing a “CALL” instruction to be described later. The data stored in the stack area 706 differs between the former case and the latter case.

図19(C)は、呼出元のルーチンにて後述する「CALL」命令を実行して通常のサブルーチン呼び出しを行った場合において、スタック領域706にデータが退避する様子を示している。なお、この図は、図18(B)の状態にて「CALL」命令を実行した直後の様子を示している。   FIG. 19C shows a state in which data is saved in the stack area 706 when a “CALL” instruction (to be described later) is executed in the call source routine to perform a normal subroutine call. This figure shows a state immediately after the “CALL” instruction is executed in the state of FIG.

図18(B)において、「CALL」命令を実行すると、スタック領域706に、呼出元のルーチンの戻りアドレスが上位バイトと下位バイトに分離して格納される。このとき、最後にアドレスが格納された領域の1つ上のアドレスが、スタックポインタ1233によって示される。   In FIG. 18B, when the “CALL” instruction is executed, the return address of the call source routine is stored in the stack area 706 separately into upper bytes and lower bytes. At this time, the stack pointer 1233 indicates the address one level above the area where the address was stored last.

なお、呼出先のサブルーチンの処理の最後にて、後述する「RET」命令が実行されると、この戻りアドレスがプログラムカウンタ1234に戻されるとともに、スタックポインタ1233の値も、「CALL」命令実行前の値に戻される(図18(B)の状態に戻る)。これにより、呼出元のルーチンに処理を戻すことができる。   When a “RET” instruction, which will be described later, is executed at the end of the processing of the called subroutine, this return address is returned to the program counter 1234 and the value of the stack pointer 1233 is also set before the “CALL” instruction is executed. (Return to the state of FIG. 18B). As a result, the process can be returned to the calling routine.

一方、図19(D)は、呼出元のルーチンにて割込みが発生して、呼出先の割込処理のルーチンが実行される場合において、スタック領域706にデータが退避する様子を示している。なお、図19(D)は、図18(B)の状態にて割込みが発生した直後の様子を示している。   On the other hand, FIG. 19D shows how data is saved in the stack area 706 when an interrupt occurs in the call source routine and the call destination interrupt processing routine is executed. Note that FIG. 19D shows a state immediately after an interrupt occurs in the state of FIG.

図18(B)において、割込みが発生すると、スタック領域706に、まず、呼出元のルーチンで設定されていたフラグレジスタ1200の値が格納され、次に、呼出元のルーチン戻りアドレスが上位バイトと下位バイトに分離して格納される。このとき、最後にアドレスが格納された領域の1つ上のアドレスが、スタックポインタ1233によって示される。   In FIG. 18B, when an interrupt occurs, the stack area 706 first stores the value of the flag register 1200 set in the call source routine, and then sets the caller routine return address as the upper byte. Stored separately in the lower byte. At this time, the stack pointer 1233 indicates the address one level above the area where the address was stored last.

なお、呼出先の割込処理ルーチンの最後にて、後述する「RETI」若しくは「RETN」命令が実行されると、スタック領域706に格納していた戻りアドレスがプログラムカウンタ1234に戻され、スタック領域706に格納していたフラグレジスタの値も、フラグレジスタ1200に戻される。さらに、スタックポインタ1233の値も、割込みが発生する前の値に戻される(図18(B)の状態に戻る)。これにより、呼出元のルーチンに処理を戻すことができる。   When a “RETI” or “RETN” instruction, which will be described later, is executed at the end of the interrupt processing routine of the call destination, the return address stored in the stack area 706 is returned to the program counter 1234, and the stack area The value of the flag register stored in 706 is also returned to the flag register 1200. Further, the value of the stack pointer 1233 is also returned to the value before the occurrence of the interrupt (returns to the state of FIG. 18B). As a result, the process can be returned to the calling routine.

このようにして、スタック領域706に格納された戻りアドレス等のデータは、後に格納された戻りアドレスから先に読み出される。   In this manner, data such as a return address stored in the stack area 706 is read first from a return address stored later.

なお、後述する「PUSH」命令を実行すると、命令で指定されたレジスタの値がスタック領域706に格納され、スタックポインタ1233の値も、図19(C)や図19(D)と同様に、最後にデータが格納された領域の1つ上のアドレスを示すことになる。   When a “PUSH” instruction, which will be described later, is executed, the value of the register designated by the instruction is stored in the stack area 706, and the value of the stack pointer 1233 is the same as in FIGS. 19C and 19D. Finally, it indicates the address one level above the area where data is stored.

一方、後述する「POP」命令を実行すると、スタック領域706に格納されていた値を取り出して、命令で指定されたレジスタに格納され、スタックポインタ1233の値も、図19(C)から図18(B)に変化するように、最後にデータが取り出された領域のアドレスを示すことになる。   On the other hand, when a “POP” instruction to be described later is executed, the value stored in the stack area 706 is taken out and stored in the register designated by the instruction, and the value of the stack pointer 1233 is also changed from FIG. As shown in (B), this indicates the address of the area from which data was last extracted.

このように、本実施形態では、スタック領域706において最後にデータが格納されたアドレスの1つ上のアドレス(言い換えれば、最後に取り出されたデータのアドレス)を、スタックポインタ1233によって示している。すなわち、現時点でのスタックポインタ1233は、次のスタック領域706に格納されるデータのアドレスを示している。   As described above, in the present embodiment, the stack pointer 1233 indicates the address one address higher than the address at which the data was last stored in the stack area 706 (in other words, the address of the data that was last fetched). That is, the current stack pointer 1233 indicates the address of data stored in the next stack area 706.

なお、別の方法として、現時点でのスタックポインタ1233によって、次にスタック領域706から取り出されるデータのアドレスを示すような方法も考えられる。このような変形例を図20に示す。   As another method, a method of indicating the address of data to be next fetched from the stack area 706 by the current stack pointer 1233 is also conceivable. Such a modification is shown in FIG.

図20(E)は、遊技機1に電源が投入された直後の状態であり、スタック領域706に何もデータが格納されていない状態を示している。この場合、スタックポインタ(SP)1233は、スタック領域の最終領域(29FFH)の1つ下のアドレス(2A00H)をスタックポインタ初期値として示している。なお、このスタックポインタ初期値が示す領域は、スタック領域には含まれない領域(本実施形態では、ユーザワークRAM104の記憶領域にも含まれていない領域)である。   FIG. 20E shows a state immediately after the gaming machine 1 is turned on and no data is stored in the stack area 706. In this case, the stack pointer (SP) 1233 indicates the address (2A00H) immediately below the last area (29FFH) of the stack area as the stack pointer initial value. Note that the area indicated by the stack pointer initial value is an area that is not included in the stack area (in this embodiment, an area that is not included in the storage area of the user work RAM 104).

図20(F)は、スタック領域706に退避データが格納されたり、割込み発生やサブルーチン呼び出しによって、スタック領域706に戻りアドレスなどのデータが格納された状態を示している。この場合、最後にデータ(又はアドレス)が格納された領域を、スタックポインタ1233によって示すことになる。スタック領域706からデータを取りだす場合は、現時点でスタックポインタ1233が示しているアドレスからデータを取り出せばよい。   FIG. 20F shows a state in which saved data is stored in the stack area 706, or data such as a return address is stored in the stack area 706 due to an interrupt or a subroutine call. In this case, the area where the data (or address) was stored last is indicated by the stack pointer 1233. When data is extracted from the stack area 706, the data may be extracted from the address currently indicated by the stack pointer 1233.

なお、スタック領域706の割り当てが、上位アドレスが同じ領域に限定されている(例えば、2900H〜29FFHの領域に割り当てられることが限定されている)のであれば、スタックポインタ1233は下位のアドレスのみを指定するだけで機能を発揮する。このような構成においては、スタックポインタ1233を1バイトのレジスタで構成することが可能であり、図20の方法よりも、図18及び図19の方法にてスタックポインタ1233によるアドレス指定を行う構成が効果的である。   If the allocation of the stack area 706 is limited to the area where the upper address is the same (for example, it is limited to being allocated to the area of 2900H to 29FFH), the stack pointer 1233 indicates only the lower address. Just specify and it works. In such a configuration, the stack pointer 1233 can be configured by a 1-byte register, and a configuration in which addressing by the stack pointer 1233 is performed by the method of FIGS. 18 and 19 rather than the method of FIG. It is effective.

図21及び図22は、本発明の第1の実施の形態のCPUコア102によって実行される遊技制御プログラムを記述するためのアセンブリ言語の命令を説明する図である。各命令は、対応するコードデータに変換されて、ユーザプログラムROM103の所定のアドレスに記憶されている。図21は、変換後のコードデータにアドレス部を含まない命令(変換後のコードデータが命令コード部のみで構成される命令)を示し、図22は、変換後のコードデータに命令コード部とアドレス部の各々を含む命令を示している。なお、ここで対象となるレジスタは、図12に示すレジスタである。   21 and 22 are diagrams illustrating assembly language instructions for describing the game control program executed by the CPU core 102 according to the first embodiment of this invention. Each instruction is converted into corresponding code data and stored in a predetermined address of the user program ROM 103. FIG. 21 shows an instruction that does not include an address part in the converted code data (an instruction in which the converted code data is composed only of the instruction code part), and FIG. 22 shows an instruction code part in the converted code data. An instruction including each of the address portions is shown. Here, the target register is the register shown in FIG.

図21において、命令2100は、指定するレジスタの値を、Aレジスタ1202Aに格納する命令である。例えば、「LD A,B」は、Bレジスタ1204Aの値を、Aレジスタ1202Aに格納する命令である。他の「LD A,C」〜「LD A,L」の命令も同様に、対応するCレジスタ1205A〜Lレジスタ1211Aから値を抽出して、Aレジスタ1202Aに格納する命令である。   In FIG. 21, an instruction 2100 is an instruction for storing a designated register value in the A register 1202A. For example, “LD A, B” is an instruction for storing the value of the B register 1204A in the A register 1202A. Similarly, the other instructions “LD A, C” to “LD A, L” are instructions that extract values from the corresponding C register 1205A to L register 1211A and store them in the A register 1202A.

命令2101は、Aレジスタ1202Aの値を、指定するレジスタに格納する命令である。例えば、「LD B,A」は、Aレジスタ1202Aの値を、Bレジスタ1204Aの値に格納する命令である。他の「LD C,A」〜「LD L,A」の命令も同様に、Aレジスタ1202Aから値を抽出して、対応するCレジスタ1205A〜Lレジスタ1211Aに格納する命令である。   The instruction 2101 is an instruction for storing the value of the A register 1202A in a designated register. For example, “LD B, A” is an instruction for storing the value of the A register 1202A in the value of the B register 1204A. Similarly, the other instructions “LD C, A” to “LD L, A” are instructions that extract values from the A register 1202A and store them in the corresponding C registers 1205A to L registers 1211A.

命令2102は、Aレジスタ1202Aの値と指定するレジスタの値とで論理和演算を行い、演算結果をAレジスタ1202Aに格納する命令である。例えば、「OR B」は、Aレジスタ1202Aの値とBレジスタ1204Aの値とで、各ビット毎に論理和演算を行い、演算結果をAレジスタ1202Aに格納する命令である。他の「OR C」〜「OR L」の命令も同様に、Aレジスタ1202Aの値と、対応するCレジスタ1205A〜Lレジスタ1211Aの値とで論理和演算を行い、演算結果をAレジスタ1202Aに格納する命令である。   The instruction 2102 is an instruction that performs a logical OR operation on the value of the A register 1202A and the value of the designated register and stores the operation result in the A register 1202A. For example, “OR B” is an instruction that performs a logical OR operation for each bit with the value of the A register 1202A and the value of the B register 1204A and stores the operation result in the A register 1202A. Similarly, the other “OR C” to “OR L” instructions perform an OR operation on the value of the A register 1202A and the value of the corresponding C register 1205A to L register 1211A, and the operation result is stored in the A register 1202A. Instruction to store.

命令2103の「ADD A,A」は、Aレジスタ1202Aの値に、同じAレジスタ1202Aの値を加算して、演算結果をAレジスタ1202Aに格納する命令である。実質的には、Aレジスタ1202Aの値が2倍される演算が行われる命令である。命令2104の「ADD HL,BC」は、HLレジスタ1212Aの値にBCレジスタ1206Aの値を加算して、演算結果をHLレジスタ1212Aに格納する命令である。   “ADD A, A” of the instruction 2103 is an instruction for adding the value of the same A register 1202A to the value of the A register 1202A and storing the operation result in the A register 1202A. In essence, this is an instruction for performing an operation in which the value of the A register 1202A is doubled. “ADD HL, BC” of the instruction 2104 is an instruction for adding the value of the BC register 1206A to the value of the HL register 1212A and storing the operation result in the HL register 1212A.

命令2105の「PUSH HL」は、HLレジスタ1212Aの値を、スタックエリアに格納する命令である。命令2106の「POP HL」は、スタックエリアから取り出した値をHLレジスタ1212Aの値に格納する命令である。   “PUSH HL” of the instruction 2105 is an instruction for storing the value of the HL register 1212A in the stack area. “POP HL” of the instruction 2106 is an instruction for storing the value extracted from the stack area in the value of the HL register 1212A.

命令2107の「INC HL」は、HLレジスタ1212Aの値を「1」だけ加算する命令である。命令2108の「DEC HL」は、HLレジスタ1212Aの値を「1」だけ減算する命令である。   “INC HL” of the instruction 2107 is an instruction for adding “1” to the value of the HL register 1212A. “DEC HL” of the instruction 2108 is an instruction for subtracting “1” from the value of the HL register 1212A.

命令2109の「JP (HL)」は、HLレジスタ1212Aの値をアドレスと見なして、そのアドレス先に分岐する命令である。例えば、HLレジスタ1212Aの値が「1234H」であれば、命令解釈実行回路1242は、プログラムカウンタ1234の値を「1234H」に変更する。これにより、次に、命令解釈実行回路1242が実行する命令は、アドレスが「1234H」となる領域に格納されているコードを変換した命令となる。以降、命令解釈実行回路1242は、変更後のアドレス以降の命令を順次実行する。   “JP (HL)” of the instruction 2109 is an instruction that regards the value of the HL register 1212A as an address and branches to the address destination. For example, if the value of the HL register 1212A is “1234H”, the instruction interpretation execution circuit 1242 changes the value of the program counter 1234 to “1234H”. As a result, the instruction executed by the instruction interpretation execution circuit 1242 is an instruction obtained by converting the code stored in the area whose address is “1234H”. Thereafter, the instruction interpretation execution circuit 1242 sequentially executes instructions after the changed address.

命令2110は、スタックエリアに格納された値をプログラムカウンタ1234に戻すことで、呼び出し先の処理ルーチンから、呼び出し元の処理ルーチンに復帰する命令である。ここで、「RET」は、図22で後述する「CALL nn」命令の実行により呼び出された処理ルーチンから復帰する命令であり、「RETI」は、INT割込により呼び出された処理ルーチンから復帰する命令であり、「RETN」は、NMI割込により呼び出された処理ルーチンから復帰する命令である。   The instruction 2110 is an instruction for returning from the calling destination processing routine to the calling source processing routine by returning the value stored in the stack area to the program counter 1234. Here, “RET” is an instruction that returns from a processing routine that is called by executing a “CALL nn” instruction that will be described later with reference to FIG. 22, and “RETI” that returns from a processing routine that is called by an INT interrupt. “RETN” is an instruction to return from the processing routine called by the NMI interrupt.

命令2111は、割込を受け付けるか否かを設定する命令である。「DI」は割り込みの禁止を設定する命令であり、「EI」は割り込みの許可を設定する命令である。   The command 2111 is a command for setting whether to accept an interrupt. “DI” is an instruction for setting interrupt prohibition, and “EI” is an instruction for setting interrupt permission.

命令2112は、Kレジスタ1230に格納されている値を上位バイトとし、Lレジスタ1211Aに格納されている値を下位バイトとして合成した2バイトの値をアドレスと見なして、そのアドレスの領域に記憶されている値を、Aレジスタ1202Aに設定する命令である。具体的には、「2803H」のアドレスに記憶された値をAレジスタ1202Aに設定したいときは、予め、Kレジスタ1230に「28H」の値を格納するとともに、Lレジスタ1211Aに「03H」の値を格納し、その状態で「LDK A,(L)」という命令を実行する。   The instruction 2112 is stored in the area of the address, considering the value stored in the K register 1230 as the upper byte and the value stored in the L register 1211A as the lower byte as a 2-byte value as the address. This is an instruction to set a value in the A register 1202A. Specifically, when the value stored at the address “2803H” is to be set in the A register 1202A, the value “28H” is stored in the K register 1230 in advance and the value “03H” is stored in the L register 1211A. And the instruction “LDK A, (L)” is executed in that state.

なお、Aレジスタ1202Aの値を、所望のアドレスの領域に格納する場合は、予め格納先の上位アドレスをKレジスタ1230に設定し、下位アドレスをLレジスタ1211Aに設定した状態で、図に示す「LDK (L),A」という形式の命令を実行する。   In the case where the value of the A register 1202A is stored in a desired address area, the upper address of the storage destination is set in the K register 1230 and the lower address is set in the L register 1211A in advance. An instruction of the form LDK (L), A "is executed.

命令2113の「INC L」は、Lレジスタ1211Aに格納されている値を「1」だけ加算する命令である。ただし、Lレジスタ1211Aの値が「FFH」のときに、「INC L」命令を実行すると、命令実行後のLレジスタ1211Aの値が「00H」になる。   “INC L” of the instruction 2113 is an instruction to add “1” to the value stored in the L register 1211A. However, if the “INC L” instruction is executed when the value of the L register 1211A is “FFH”, the value of the L register 1211A after execution of the instruction becomes “00H”.

命令2114の「DEC L」は、Lレジスタ1211Aに格納されている値を「1」だけ減算する命令である。ただし、Lレジスタ1211Aの値が「00H」のときに、「DEC L」命令を実行すると、命令実行後のLレジスタ1211Aの値が「FFH」になる。   “DEC L” of the instruction 2114 is an instruction for subtracting “1” from the value stored in the L register 1211A. However, if the “DEC L” instruction is executed when the value of the L register 1211A is “00H”, the value of the L register 1211A after the instruction execution becomes “FFH”.

命令2115は、図13で前述したフラグレジスタ1200の「レジスタバンクセレクタ」のビットに値を設定するための命令である。「LD RBS,0」は該当ビットに「0」の値を設定する命令であり、「LD RBS,1」は該当ビットに「1」の値を設定する命令である。   The instruction 2115 is an instruction for setting a value in the “register bank selector” bit of the flag register 1200 described above with reference to FIG. “LD RBS, 0” is an instruction for setting a value of “0” in the corresponding bit, and “LD RBS, 1” is an instruction for setting a value of “1” in the corresponding bit.

命令2106の「PUSH FLG」は、フラグレジスタ1200の値を、スタックエリアに格納する命令である。命令2107の「POP FLG」は、スタックエリアから取り出した値をフラグレジスタ1200に格納する命令である。   “PUSH FLG” of the instruction 2106 is an instruction for storing the value of the flag register 1200 in the stack area. “POP FLG” of the instruction 2107 is an instruction for storing the value extracted from the stack area in the flag register 1200.

図21に示す命令のうち、図に示すように、命令2100から命令2114までの命令は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部を構成するコードデータに変換される。例えば、「LD A,B」の命令は、「78H」という1バイトのコードデータに変換されて、ユーザプログラムROM103の所定アドレスに記憶されている。   Of the instructions shown in FIG. 21, as shown in the figure, instructions from instruction 2100 to instruction 2114 are converted into code data constituting a 1-byte instruction code part when stored in user program ROM 103. For example, the instruction “LD A, B” is converted into 1-byte code data “78H” and stored in a predetermined address of the user program ROM 103.

一方、図21に示す命令のうち、命令2115から命令2117までの命令は、ユーザプログラムROM103に記憶される際に、2バイトの命令コード部を構成するコードデータに変換される。例えば、「LD RBS,0」は、「CBH」「00H」という2バイトのコードデータに変換され、ユーザプログラムROM103の連続する所定のアドレスに記憶されている。   On the other hand, among the instructions shown in FIG. 21, the instructions from the instruction 2115 to the instruction 2117 are converted into code data constituting a 2-byte instruction code portion when stored in the user program ROM 103. For example, “LD RBS, 0” is converted into 2-byte code data “CBH” and “00H” and stored in a predetermined predetermined address of the user program ROM 103.

次に、図22において、命令2200は、指定するレジスタに任意の1バイトの値を設定する命令である。図中の「n」はレジスタに設定する値を示しており、例えば、Aレジスタ1202Aに「42H」の値を設定したいときは、「LD A,42H」という命令になる。   Next, in FIG. 22, an instruction 2200 is an instruction for setting an arbitrary 1-byte value in a designated register. “N” in the figure indicates a value to be set in the register. For example, when it is desired to set a value of “42H” in the A register 1202A, the instruction is “LD A, 42H”.

なお、この命令2200は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部と、1バイトのアドレス部とからなる計2バイトのコードデータに変換される。例えば、「LD A,42H」の命令は、1バイトの命令コード部のデータ「3EH」と、1バイトのアドレス部のデータ「42H」とに変換され、ユーザプログラムROM103の連続する所定のアドレスに「3EH」、「42H」の順で記憶されている。   When the instruction 2200 is stored in the user program ROM 103, the instruction 2200 is converted into 2-byte code data including a 1-byte instruction code part and a 1-byte address part. For example, an instruction “LD A, 42H” is converted into 1-byte instruction code portion data “3EH” and 1-byte address portion data “42H”, and is transferred to a predetermined predetermined address in the user program ROM 103. “3EH” and “42H” are stored in this order.

同様に、「LD B,n」は、Bレジスタ1204Aに任意の1バイトの値(n)を設定する命令であり、「LD K,n」は、Kレジスタ1230に任意の1バイトの値(n)を設定する命令である。これらの命令も、1バイトの命令コード部と、1バイトのアドレス部のデータに変換されて、ユーザプログラムROM103の連続する所定のアドレスに記憶されている。   Similarly, “LD B, n” is an instruction to set an arbitrary 1-byte value (n) in the B register 1204A, and “LD K, n” is an arbitrary 1-byte value (in the K register 1230 ( n) is a command for setting. These instructions are also converted into data of a 1-byte instruction code portion and a 1-byte address portion, and stored at predetermined predetermined addresses in the user program ROM 103.

命令2201は、任意のアドレスの領域に記憶されている値を、Aレジスタ1202Aに設定する命令である。図中の「nn」は2バイトのアドレス値を示しており、例えば、「2901H」のアドレスに記憶された値をAレジスタ1202Aに設定したいときは、「LD A,(2901H)」という命令になる。   The instruction 2201 is an instruction for setting a value stored in an area of an arbitrary address in the A register 1202A. In the figure, “nn” indicates a 2-byte address value. For example, when the value stored in the address “2901H” is to be set in the A register 1202A, the instruction “LD A, (2901H)” is used. Become.

なお、Aレジスタ1202Aの値を、任意のアドレスの領域に格納する場合は、図に示すように「LD (nn),A」という形式の命令になる。例えば、Aレジスタ1202Aの値を「2901H」のアドレスの領域に格納したいときは、「LD (2901H),A」という命令になる。   When the value of the A register 1202A is stored in the area of an arbitrary address, the instruction is in the form of “LD (nn), A” as shown in the figure. For example, when it is desired to store the value of the A register 1202A in the area of the address “2901H”, the instruction becomes “LD (2901H), A”.

この命令2201は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部と、2バイトのアドレス部とからなる計3バイトのコードデータに変換される。例えば、「LD A,(2901H)」の命令は、1バイトの命令コード部のデータ「3AH」と、2バイトのアドレス部のデータ「01H」「29H」とに変換され、ユーザプログラムROM103の連続する所定のアドレスに、「3AH」、「01H」、「29H」の順で記憶されている。   When this instruction 2201 is stored in the user program ROM 103, it is converted into a total of 3-byte code data consisting of a 1-byte instruction code part and a 2-byte address part. For example, an instruction “LD A, (2901H)” is converted into data “3AH” in a 1-byte instruction code part and data “01H” and “29H” in a 2-byte address part. Are stored in the order of “3AH”, “01H”, and “29H”.

命令2202は、Kレジスタ1230に格納されている値を上位バイトとし、任意の1バイトの値で示される値を下位バイトとして合成した2バイトの値をアドレスと見なして、そのアドレスの領域に記憶されている値を、Aレジスタ1202Aに設定する命令である。この場合の任意の1バイトの下位アドレスは、図中の「n」に対応している。   The instruction 2202 regards the value stored in the K register 1230 as an upper byte, and considers a 2-byte value obtained by combining a value indicated by an arbitrary 1-byte value as a lower byte as an address, and stores it in the address area. This is an instruction to set the stored value in the A register 1202A. An arbitrary one-byte lower address in this case corresponds to “n” in the figure.

具体的には、「2803H」のアドレスに記憶された値をAレジスタ1202Aに設定したいときは、予めKレジスタ1230に「28H」の値を格納しておき、その状態で「LDK A,(03H)」という命令を実行する。   Specifically, when the value stored in the address “2803H” is to be set in the A register 1202A, the value “28H” is stored in the K register 1230 in advance, and “LDK A, (03H ) "Is executed.

なお、Aレジスタ1202Aの値を、所望のアドレスの領域に格納する場合は、予め格納先の上位アドレスをKレジスタ1230に設定した状態で、図に示す「LDK (n),A」という形式の命令を実行する。例えば、Aレジスタ1202Aの値を「2803H」のアドレスの領域に格納したいときは、Kレジスタ1230の値を「28H」に設定した状態で、「LDK (03H),A」という命令を実行する。   When the value of the A register 1202A is stored in a desired address area, the upper address of the storage destination is set in the K register 1230 in advance, and the format of “LDK (n), A” shown in the figure is used. Execute the instruction. For example, when the value of the A register 1202A is to be stored in the area of the address “2803H”, the instruction “LDK (03H), A” is executed with the value of the K register 1230 set to “28H”.

この命令2202は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部と、1バイトのアドレス部とからなる計2バイトのコードデータに変換される。例えば、「LDK A,(03H)」の命令は、1バイトの命令コード部のデータ「3FH」と、1バイトのアドレス部のデータ「03H」とに変換され、ユーザプログラムROM103の連続する所定のアドレスに、「3FH」、「03H」の順で記憶されている。   When this instruction 2202 is stored in the user program ROM 103, it is converted into code data of a total of 2 bytes including a 1-byte instruction code part and a 1-byte address part. For example, an instruction “LDK A, (03H)” is converted into 1-byte instruction code portion data “3FH” and 1-byte address portion data “03H”. The addresses are stored in the order of “3FH” and “03H”.

命令2203は、指定するレジスタに任意の2バイトの値を設定する命令である。図中の「nn」はレジスタに設定する2バイトの値を示しており、例えば、HLレジスタ1212Aに「5678H」の値を設定したいときは、「LD HL,5678H」という命令になる。   An instruction 2203 is an instruction for setting an arbitrary 2-byte value in a designated register. “Nn” in the figure indicates a 2-byte value set in the register. For example, when it is desired to set a value of “5678H” in the HL register 1212A, an instruction “LD HL, 5678H” is given.

なお、この命令2203は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部と、2バイトのアドレス部とからなる計2バイトのコードデータに変換される。例えば、「LD HL,5678H」の命令は、1バイトの命令コード部のデータ「21H」と、2バイトのアドレス部のデータ「78H」「56H」とに変換され、ユーザプログラムROM103の連続する所定のアドレスに「21H」、「78H」、「56H」の順で記憶されている。   When this instruction 2203 is stored in the user program ROM 103, it is converted into code data of a total of 2 bytes including a 1-byte instruction code part and a 2-byte address part. For example, an instruction of “LD HL, 5678H” is converted into data “21H” of a 1-byte instruction code part and data “78H” and “56H” of a 2-byte address part. Are stored in the order of “21H”, “78H”, and “56H”.

同様に、「LD SP,nn」は、スタックポインタ1233に任意の2バイトの値(n)を設定する命令である。これらの命令も、1バイトの命令コード部と、2バイトのアドレス部のデータに変換されて、ユーザプログラムROM103の連続する所定のアドレスに記憶されている。   Similarly, “LD SP, nn” is an instruction for setting an arbitrary 2-byte value (n) in the stack pointer 1233. These instructions are also converted into data of a 1-byte instruction code part and a 2-byte address part, and stored in predetermined continuous addresses of the user program ROM 103.

命令2204は、任意の連続するアドレスの領域に記憶されている2バイトの値を、HLレジスタ1212Aに設定する命令である。図中の「nn」は連続する小さいほうのアドレス値を示しており、例えば、「2901H」と「2902H」の各アドレスに記憶された値をHLレジスタ1212Aに設定したいときは、「LD HL,(2901H)」という命令になる。このとき、「2901H」のアドレスに格納されている値がLレジスタ1211Aに格納され、「2902H」のアドレスに格納されている値がHレジスタ1210Aに格納される。   The instruction 2204 is an instruction for setting a 2-byte value stored in an arbitrary continuous address area in the HL register 1212A. “Nn” in the figure indicates the smaller consecutive address value. For example, when it is desired to set the values stored in the addresses “2901H” and “2902H” in the HL register 1212A, “LD HL, (2901H) ". At this time, the value stored at the address “2901H” is stored in the L register 1211A, and the value stored at the address “2902H” is stored in the H register 1210A.

なお、HLレジスタ1212Aの値を、任意の連続するアドレスの領域に格納する場合は、図に示すように「LD (nn),HL」という形式の命令になる。例えば、HLレジスタ1212Aの値を、「2901H」と「2902H」の各アドレスの領域に格納したいときは、「LD (2901H),HL」という命令になる。このとき、Lレジスタ1211Aの値が「2901H」のアドレスに格納され、Hレジスタ1210Aの値が「2902H」のアドレスに格納される。   When the value of the HL register 1212A is stored in an arbitrary continuous address area, the instruction is in the form of “LD (nn), HL” as shown in the figure. For example, when it is desired to store the value of the HL register 1212A in each address area of “2901H” and “2902H”, the instruction is “LD (2901H), HL”. At this time, the value of the L register 1211A is stored at the address “2901H”, and the value of the H register 1210A is stored at the address “2902H”.

この命令2204は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部と、2バイトのアドレス部とからなる計3バイトのコードデータに変換される。例えば、「LD HL,(2901H)」の命令は、1バイトの命令コード部のデータ「2AH」と、2バイトのアドレス部のデータ「01H」「29H」とに変換され、ユーザプログラムROM103の連続する所定のアドレスに、「2AH」、「01H」、「29H」の順で記憶されている。   When this instruction 2204 is stored in the user program ROM 103, it is converted into code data of a total of 3 bytes including a 1-byte instruction code part and a 2-byte address part. For example, an instruction “LD HL, (2901H)” is converted into data “2AH” in a 1-byte instruction code part and data “01H” and “29H” in a 2-byte address part. Are stored in the order of “2AH”, “01H”, and “29H”.

命令2205は、Kレジスタ1230に格納されている値を上位バイトとし、任意の1バイトの値で示される値を下位バイトとして合成した2バイトの値をアドレスと見なして、そのアドレスの領域に記憶されている値と、当該アドレスに続くアドレスに記憶されている値の各々を、HLレジスタ1212Aに設定する命令である。この場合の任意の1バイトの下位アドレスは、図中の「n」に対応している。   The instruction 2205 regards the value stored in the K register 1230 as an upper byte, and considers a 2-byte value synthesized by using a value indicated by an arbitrary 1-byte value as a lower byte as an address, and stores it in the address area. This is an instruction for setting each of the stored value and the value stored at the address following the address in the HL register 1212A. An arbitrary one-byte lower address in this case corresponds to “n” in the figure.

具体的には、「2803H」及び「2804H」のアドレスに記憶された値をHLレジスタ1212Aに設定したいときは、予めKレジスタ1230に「28H」の値を格納しておき、その状態で「LDK HL,(03H)」という命令を実行する。これにより、「2803H」のアドレスに格納されている値がLレジスタ1211Aに格納され、「2804H」のアドレスに格納されている値がHレジスタ1210Aに格納される。   Specifically, when the values stored in the addresses “2803H” and “2804H” are to be set in the HL register 1212A, the value “28H” is stored in the K register 1230 in advance, and the “LDK” in that state is stored. The instruction “HL, (03H)” is executed. As a result, the value stored at the address “2803H” is stored in the L register 1211A, and the value stored at the address “2804H” is stored in the H register 1210A.

なお、HLレジスタ1212Aの値を、所望のアドレスの領域に格納する場合は、予め格納先の上位アドレスをKレジスタ1230に設定した状態で、図に示す「LDK (n),HL」という形式の命令を実行する。例えば、HLレジスタ1212Aの値を「2803H」及び「2804H」のアドレスの領域に格納したいときは、Kレジスタ1230の値を「28H」に設定した状態で、「LDK (03H),HL」という命令を実行する。   When the value of the HL register 1212A is stored in a desired address area, the upper address of the storage destination is set in the K register 1230 in advance and is in the form of “LDK (n), HL” shown in the figure. Execute the instruction. For example, when the value of the HL register 1212A is to be stored in the area of the addresses “2803H” and “2804H”, the instruction “LDK (03H), HL” is set with the value of the K register 1230 set to “28H”. Execute.

この命令2205は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部と、1バイトのアドレス部とからなる計2バイトのコードデータに変換される。例えば、「LDK HL,(03H)」の命令は、1バイトの命令コード部のデータ「2FH」と、1バイトのアドレス部のデータ「03H」とに変換され、ユーザプログラムROM103の連続する所定のアドレスに、「3FH」、「03H」の順で記憶されている。   When this instruction 2205 is stored in the user program ROM 103, it is converted into 2-byte code data consisting of a 1-byte instruction code part and a 1-byte address part. For example, an instruction “LDK HL, (03H)” is converted into 1-byte instruction code portion data “2FH” and 1-byte address portion data “03H”. The addresses are stored in the order of “3FH” and “03H”.

命令2206は、指定するアドレスに処理を分岐させる命令である。図中の「nn」は分岐先のアドレスを示しており、例えば、「5678H」のアドレスに処理に分岐させるときは、「JP 5678H」という命令になる。この命令を実行すると、命令解釈実行回路1242は、指定するアドレスの値をプログラムカウンタ1234に設定する。   An instruction 2206 is an instruction that branches the process to a specified address. “Nn” in the figure indicates a branch destination address. For example, when branching to an address “5678H”, the instruction becomes “JP 5678H”. When this instruction is executed, the instruction interpretation execution circuit 1242 sets the value of the designated address in the program counter 1234.

なお、この「JP nn」の形式で示される命令は、フラグレジスタ1200の内容にかかわらず、指定するアドレスに処理を分岐する。フラグレジスタ1200のゼロフラグ1306(図13)がセットされているときのみ分岐を行いたい場合は「JP Z,nn」の命令を用い、このゼロフラグ1306がクリアされているときのみ分岐を行いたい場合は「JP NZ,nn」の命令を用いる。   Note that an instruction shown in the format “JP nn” branches to a specified address regardless of the contents of the flag register 1200. If you want to branch only when the zero flag 1306 (FIG. 13) of the flag register 1200 is set, use the instruction “JP Z, nn”. If you want to branch only when the zero flag 1306 is cleared, The instruction “JP NZ, nn” is used.

なお、この命令2206は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部と、2バイトのアドレス部とからなる計2バイトのコードデータに変換される。例えば、「JP 5678H」の命令は、1バイトの命令コード部のデータ「C3H」と、2バイトのアドレス部のデータ「78H」「56H」とに変換され、ユーザプログラムROM103の連続する所定のアドレスに「C3H」、「78H」、「56H」の順で記憶されている。   When this instruction 2206 is stored in the user program ROM 103, it is converted into a total of 2-byte code data consisting of a 1-byte instruction code part and a 2-byte address part. For example, an instruction “JP 5678H” is converted into data “C3H” of a 1-byte instruction code part and data “78H” “56H” of a 2-byte address part, and a predetermined predetermined address in the user program ROM 103 Are stored in the order of “C3H”, “78H”, and “56H”.

命令2207の「CALL nn」は、指定するアドレスの処理を呼び出して、呼び出し先の処理ルーチンに一時的に分岐させる命令である。図中の「nn」は呼び出し先のアドレスを示しており、例えば、「5678H」のアドレスの処理を呼び出すときは、「CALL 5678H」という命令になる。この命令を実行すると、命令解釈実行回路1242は、現在実行中の命令の次のステップに位置するアドレスの値を、戻り先のアドレスとしてスタックエリアに格納した上で、分岐先のアドレスの値をプログラムカウンタ1234に設定する。   “CALL nn” of the instruction 2207 is an instruction that calls processing at a specified address and temporarily branches to a processing routine of a call destination. “Nn” in the figure indicates the address of the call destination. For example, when calling the process of the address “5678H”, the instruction is “CALL 5678H”. When this instruction is executed, the instruction interpretation execution circuit 1242 stores the value of the address located at the next step of the instruction currently being executed in the stack area as the return destination address, and then sets the value of the branch destination address. Set in the program counter 1234.

なお、呼び出し先の処理ルーチンの最終ステップでは、前述の「RET」命令を実行することで、プログラムカウンタ1234には、スタックエリアに格納された戻り先のアドレスの値を復帰させることができる。これにより、呼び出し元の処理ルーチンのアドレスに処理を戻すことができる。   In the final step of the call destination processing routine, by executing the “RET” instruction described above, the value of the return destination address stored in the stack area can be returned to the program counter 1234. As a result, the process can be returned to the address of the calling process routine.

なお、この命令2207は、ユーザプログラムROM103に記憶される際に、1バイトの命令コード部と、2バイトのアドレス部とからなる計2バイトのコードデータに変換される。例えば、「CALL 5678H」の命令は、1バイトの命令コード部のデータ「CDH」と、2バイトのアドレス部のデータ「78H」「56H」とに変換され、ユーザプログラムROM103の連続する所定のアドレスに「C3H」、「78H」、「56H」の順で記憶されている。   When this instruction 2207 is stored in the user program ROM 103, it is converted into a total of 2-byte code data consisting of a 1-byte instruction code part and a 2-byte address part. For example, the instruction “CALL 5678H” is converted into data “CDH” of 1-byte instruction code part and data “78H” “56H” of 2-byte address part, and a predetermined predetermined address of the user program ROM 103 is converted. Are stored in the order of “C3H”, “78H”, and “56H”.

図23は、本発明の第1の実施の形態の各装置(遊技制御装置100、払出制御装置210、及び演出制御装置150)の電源投入時処理のフローチャートである。   FIG. 23 is a flowchart of power-on processing for each device (game control device 100, payout control device 210, and effect control device 150) according to the first embodiment of the present invention.

具体的には、図23(A)は、遊技制御装置100の電源投入時処理のフローチャートであり、図23(B)は、払出制御装置210の電源投入時処理のフローチャートであり、図23(C)は、演出制御装置150の電源投入時処理のフローチャートである。   Specifically, FIG. 23A is a flowchart of the power-on process of the game control apparatus 100, and FIG. 23B is a flowchart of the power-on process of the payout control apparatus 210. C) is a flowchart of the power-on process of the effect control device 150.

最初に、遊技制御装置100の電源投入時処理(図23(A))から説明する。この電源投入時処理は、ユーザプログラムROM602(図5参照)に記憶された遊技制御プログラムによって実行される処理ではなく、遊技制御装置100に備わる各種ハードウェア(CPUコア102周辺のハードウェア)によって実行される処理である。   First, the processing when the game control device 100 is turned on (FIG. 23A) will be described. This power-on process is not executed by the game control program stored in the user program ROM 602 (see FIG. 5), but executed by various hardware (hardware around the CPU core 102) provided in the game control device 100. Process.

まず、遊技制御装置100は、電源装置160から出力されたリセット信号が伝達される(2301)。   First, the game control device 100 receives the reset signal output from the power supply device 160 (2301).

このリセット信号は、電源装置160から、セキュリティ回路630(図11参照)、RAMアクセス規制回路640のフリップフロップ回路641のリセット端子(図11参照)、及びシリアル送信回路615のリセット端子に入力される。具体的には、これらのリセット端子には、電源が投入されると、所定時間、所定の電圧(例えば、5V)以下の電圧が印加されることによってリセット信号が入力され、所定時間経過後に所定の電圧が印加されることによって、リセット信号が入力されなくなる。   This reset signal is input from the power supply device 160 to the security circuit 630 (see FIG. 11), the reset terminal (see FIG. 11) of the flip-flop circuit 641 of the RAM access restriction circuit 640, and the reset terminal of the serial transmission circuit 615. . Specifically, when the power is turned on, a reset signal is input to these reset terminals by applying a voltage equal to or lower than a predetermined voltage (for example, 5 V) for a predetermined time. As a result, the reset signal is not input.

なお、セキュリティ回路630は、電源装置160からリセット信号が入力されると、後述のセキュリティチェック処理が終了するまでCPUコア102のリセット端子にリセット信号を出力し続けて、CPUコア102の起動を待機させる。   When the reset signal is input from the power supply device 160, the security circuit 630 continues to output the reset signal to the reset terminal of the CPU core 102 until the security check process described later is completed, and waits for the CPU core 102 to start up. Let

そして、シリアル送信回路615のリセット端子にリセット信号が入力されると、シリアル送信回路615の入力端子及び出力端子の電圧レベルがローに制御され、各種装置(普電SOL90、大入賞口SOL38等)に接続される出力I/F106のポートをすべて0に設定することにより、シリアル送信回路615、及び出力I/F106がハードウェアにより初期化される(2302)。   When a reset signal is input to the reset terminal of the serial transmission circuit 615, the voltage levels of the input terminal and the output terminal of the serial transmission circuit 615 are controlled to be low, and various devices (such as ordinary electric power SOL90, big prize opening SOL38). The serial transmission circuit 615 and the output I / F 106 are initialized by the hardware by setting all the ports of the output I / F 106 connected to 0 to 0 (2302).

次に、RAMアクセス規制回路640によって、ユーザワークRAM104への書き込み規制されるRAM書込禁止状態が発生する(2303)。   Next, the RAM access restriction circuit 640 generates a RAM write prohibition state in which writing to the user work RAM 104 is restricted (2303).

具体的には、図11で説明したように、フリップフロップ回路641のクリア端子にはリセット信号が入力されるため、フリップフロップ回路641の出力端子Q(負論理)からハイレベルの信号が出力される状態となる。これにより、ORゲート回路642の他方の入力端子にハイレベルの信号が入力されても、ローレベルの信号が入力されても、ユーザワークRAM104の書込指令入力端子にはハイレベルの信号が入力されることになるため、RAM書込禁止状態が発生する。このように、電源投入時にRAM書込禁止状態を発生させることによって、誤ったタイミングでユーザワークRAM104が更新されることを防ぐことが可能となる。   Specifically, as described with reference to FIG. 11, since the reset signal is input to the clear terminal of the flip-flop circuit 641, a high-level signal is output from the output terminal Q (negative logic) of the flip-flop circuit 641. It becomes a state. As a result, whether a high level signal is input to the other input terminal of the OR gate circuit 642 or a low level signal is input, a high level signal is input to the write command input terminal of the user work RAM 104. As a result, a RAM write prohibition state occurs. Thus, by generating the RAM write prohibition state when the power is turned on, it is possible to prevent the user work RAM 104 from being updated at an incorrect timing.

次に、リセット信号が入力された図11に示すセキュリティ回路630が自己診断処理を実行する(2304)。自己診断処理は、セキュリティ回路630が初期化されているか否かを判定する処理である。   Next, the security circuit 630 shown in FIG. 11 to which the reset signal is input executes a self-diagnosis process (2304). The self-diagnosis process is a process for determining whether or not the security circuit 630 has been initialized.

そして、自己診断処理によって、セキュリティ回路630が初期化されていると判定された場合には、セキュリティ回路630は、セキュリティチェック処理を実行する(2305)。セキュリティチェック処理は、図11で説明したように、HWパラメータROM603(図5参照)に記憶された正当性確認情報を用いて、ユーザプログラムROM602(図5参照)に記憶されたプログラムの正当性の判定を行う処理である。   If it is determined by the self-diagnosis process that the security circuit 630 has been initialized, the security circuit 630 executes a security check process (2305). As described with reference to FIG. 11, the security check process uses the validity confirmation information stored in the HW parameter ROM 603 (see FIG. 5) to verify the validity of the program stored in the user program ROM 602 (see FIG. 5). This is a process for making a determination.

ステップ2305の処理で、セキュリティチェック処理を実行すると、遊技制御装置プログラム開始準備処理へ移行する。このとき、セキュリティ回路630は、CPUコア102のリセット端子に出力していたリセット信号を停止することで、CPUコア102が起動する。このため、遊技制御装置プログラム開始準備処理は、CPUコア102によって実行される。遊技制御装置プログラム開始準備処理は図24にて後述する。   When the security check process is executed in the process of step 2305, the process proceeds to the game control apparatus program start preparation process. At this time, the security circuit 630 stops the reset signal output to the reset terminal of the CPU core 102, whereby the CPU core 102 is activated. Therefore, the game control device program start preparation process is executed by the CPU core 102. The game control device program start preparation process will be described later with reference to FIG.

次に、払出制御装置210の電源投入時処理(図23(B))を説明する。前述したように、払出制御装置210は、シリアル送信回路615を備えていない点を除き、図11に示した遊技制御装置100と同じ構成である。図11に示す遊技制御装置100の構成部と同じ構成部については、同じ符号を付与して説明する。   Next, the power-on process (FIG. 23B) of the payout control apparatus 210 will be described. As described above, the payout control device 210 has the same configuration as the game control device 100 shown in FIG. 11 except that it does not include the serial transmission circuit 615. The same components as those of the game control apparatus 100 shown in FIG.

まず、払出制御装置210は、電源装置160から出力されたリセット信号が伝達される(2311)。なお、ステップ2311の処理は、ステップ2301の処理と同じである。   First, the payout control device 210 receives the reset signal output from the power supply device 160 (2311). Note that the processing in step 2311 is the same as the processing in step 2301.

そして、払出制御装置210にリセット信号が入力されると、払出制御装置210の出力ポート(図4の入出力I/F216に含まれる)の電圧レベルが0に設定され、各種装置(払出モータ220、及び発射制御装置221等)に接続される入出力I/F216のポートがすべて0に設定され、入出力I/F216がハードウェアにより初期化される(2312)。   When a reset signal is input to the payout control device 210, the voltage level of the output port (included in the input / output I / F 216 in FIG. 4) of the payout control device 210 is set to 0, and various devices (the payout motor 220). And the ports of the input / output I / F 216 connected to the launch control device 221 and the like are all set to 0, and the input / output I / F 216 is initialized by hardware (2312).

次に、払出制御装置210のRAMアクセス規制回路640によって、RAM214への書き込み規制されるRAM書込禁止状態が発生する(2313)。なお、ステップ2313の処理の具体的な説明は、ステップ2303の処理と同じである。   Next, a RAM write prohibition state in which writing to the RAM 214 is restricted by the RAM access restriction circuit 640 of the payout control device 210 occurs (2313). Note that the specific description of the processing in step 2313 is the same as the processing in step 2303.

次に、リセット信号が入力された払出制御装置210のセキュリティ回路630が自己診断処理を実行する(2314)。なお、ステップ2314の処理の具体的な説明は、ステップ2304の処理と同じである。   Next, the security circuit 630 of the payout control device 210 to which the reset signal is input executes a self-diagnosis process (2314). Note that the specific description of the process of step 2314 is the same as the process of step 2304.

そして、自己診断処理によって、セキュリティ回路630が初期化されていると判定された場合には、セキュリティ回路630は、セキュリティチェック処理を実行する(2315)。なお、ステップ2315の処理の具体的な説明は、ステップ2305の処理と同じである。   If the self-diagnosis process determines that the security circuit 630 has been initialized, the security circuit 630 executes a security check process (2315). Note that the specific description of the processing in step 2315 is the same as the processing in step 2305.

そして、払出制御装置210は、電源投入時の初期化処理を実行する(2316)。電源投入時の初期化処理は、RAM214等を初期化する処理であって、CPU212によって実行される。また、RAM214を初期化する前に、ステップ2313の処理で発生したRAM書込禁止状態が解除されて、RAM214はRAM書込可能状態となる。   Then, the payout control device 210 executes an initialization process at power-on (2316). The initialization process at power-on is a process for initializing the RAM 214 and the like, and is executed by the CPU 212. Further, before the RAM 214 is initialized, the RAM write prohibition state generated in the process of step 2313 is canceled, and the RAM 214 becomes a RAM writable state.

次に、払出制御装置210は、遊技制御装置100からの指令を受信可能な状態を発生させる(2317)。そして、払出制御装置210のCPU212は、遊技制御装置100から送信された指令が初期化指令であるか否かを判定する(2319)。ステップ2319の処理で、遊技制御装置100から送信された指令が初期化指令でないと判定された場合には(2319の結果が「N」)、初期化指令が取り込まれるまで待機する。   Next, the payout control device 210 generates a state in which a command from the game control device 100 can be received (2317). Then, the CPU 212 of the payout control device 210 determines whether or not the command transmitted from the game control device 100 is an initialization command (2319). If it is determined in step 2319 that the command transmitted from the game control device 100 is not an initialization command (the result of 2319 is “N”), the process waits until the initialization command is fetched.

一方、遊技制御装置100から送信された指令が初期化指令であると判定された場合には(2319の結果が「N」)、払出制御装置210は通信開始時の初期化処理を実行し(2320)、払出制御装置メイン処理へ移行する。   On the other hand, when it is determined that the command transmitted from the game control device 100 is an initialization command (the result of 2319 is “N”), the payout control device 210 executes an initialization process at the start of communication ( 2320), the process proceeds to the payout control apparatus main process.

次に、演出制御装置150の電源投入時処理(図23(C))を説明する。前述したように、演出制御装置150は、シリアル送信回路615を備えていない点、及び、遊技用演算処理装置600がRAMアクセス規制回路640を備えていない点以外は、図11に示した遊技制御装置100と同じ構成である。図11に示す遊技制御装置100の構成部と同じ構成部については、同じ符号を付与して説明する。   Next, the power-on process (FIG. 23C) of the effect control device 150 will be described. As described above, the effect control device 150 does not include the serial transmission circuit 615, and the game control processing shown in FIG. 11 except that the game processing unit 600 does not include the RAM access restriction circuit 640. The configuration is the same as that of the device 100. The same components as those of the game control apparatus 100 shown in FIG.

まず、演出制御装置150は、電源装置160から出力されたリセット信号が伝達される(2321)。なお、ステップ2321の処理は、ステップ2301の処理と同じである。   First, the effect control device 150 receives the reset signal output from the power supply device 160 (2321). Note that the processing in step 2321 is the same as the processing in step 2301.

そして、演出制御装置150にリセット信号が入力されると、演出制御装置150の出力ポートがハードウェアにより初期化される(2322)。   When a reset signal is input to the effect control device 150, the output port of the effect control device 150 is initialized by hardware (2322).

そして、演出制御装置150は、電源投入時の初期化処理を実行する(2323)。電源投入時の初期化処理は、RAM154等を初期化する処理であって、CPU152によって実行される。   Then, the effect control device 150 executes an initialization process when the power is turned on (2323). The initialization process at power-on is a process for initializing the RAM 154 and the like, and is executed by the CPU 152.

次に、演出制御装置150は、遊技制御装置100からの指令を受信可能な状態を発生させる(2324)。そして、遊技制御装置100から送信された指令が初期化指令であるか否かを判定する(2326)。   Next, the production control device 150 generates a state in which a command from the game control device 100 can be received (2324). Then, it is determined whether or not the command transmitted from the game control device 100 is an initialization command (2326).

演出制御装置150は、遊技制御装置100から送信された指令が初期化指令でないと判定された場合には(2326の結果が「N」)、初期化指令が取り込まれるまで待機する。   When it is determined that the command transmitted from the game control device 100 is not the initialization command (the result of 2326 is “N”), the effect control device 150 waits until the initialization command is fetched.

一方、演出制御装置150は、遊技制御装置100から送信された指令が初期化指令であると判定された場合(2326の結果が「Y」」、演出制御装置150は通信開始時の初期化処理を実行し(2327)、演出制御装置メイン処理へ移行する。   On the other hand, the effect control device 150 determines that the command transmitted from the game control device 100 is an initialization command (the result of 2326 is “Y”, the effect control device 150 performs an initialization process at the start of communication). Is executed (2327), and the flow shifts to the production control device main process.

図24は、本発明の第1の実施の形態の遊技制御装置プログラム開始準備処理を説明するフローチャートである。なお、遊技制御装置プログラム開始準備処理の前半(プログラムカウンタ1234にリセットアドレスを設定するまでの間)は、ユーザプログラムROM602(図5参照)に記憶された遊技制御プログラムによって実行される処理ではなく、CPUコア102に備わる初期値設定回路124(図12参照)によって実行される処理である。   FIG. 24 is a flowchart illustrating the game control device program start preparation process according to the first embodiment of this invention. The first half of the game control device program start preparation process (until the reset address is set in the program counter 1234) is not a process executed by the game control program stored in the user program ROM 602 (see FIG. 5). This is a process executed by the initial value setting circuit 124 (see FIG. 12) provided in the CPU core 102.

CPUコア102は、セキュリティ回路630からのリセット信号を受け入れると、内蔵リセット回路1240により、初期値設定回路1241を動作させる。このとき、内蔵リセット回路1240は、初期値設定回路1241が各レジスタに初期値を設定するまで、命令解釈実行回路1242の動作を待機させる。   When the CPU core 102 receives the reset signal from the security circuit 630, the built-in reset circuit 1240 causes the initial value setting circuit 1241 to operate. At this time, the built-in reset circuit 1240 causes the instruction interpretation execution circuit 1242 to wait until the initial value setting circuit 1241 sets initial values in the respective registers.

初期値設定回路1241が動作を開始すると、スタックポインタ1233に初期値「29FFH」を設定し、Kレジスタ1230に「28H」を設定し、HLレジスタ1212Aにリセットアドレスである「4000H」を設定し、他のレジスタには「00H」の値(16ビットレジスタには「0000H」の値)を設定する(2401)。なお、リセットアドレスは「0000H」としてもよい。   When the initial value setting circuit 1241 starts operating, the initial value “29FFH” is set in the stack pointer 1233, “28H” is set in the K register 1230, and the reset address “4000H” is set in the HL register 1212A. A value of “00H” (a value of “0000H” in the 16-bit register) is set in the other registers (2401). The reset address may be “0000H”.

次いで、初期値設定回路1241は、プログラムカウンタ1234に、リセットアドレスである「4000H」の値を設定する(2402)。これにより、各レジスタに初期値が設定される。次いで、内蔵リセット回路1240は、待機させていた命令解釈実行回路1242を動作させると、命令解釈実行回路1242は、プログラムカウンタ1234が示すアドレス(遊技制御プログラムが記憶されたユーザプログラムROM602のリセットアドレスに相当)からプログラムの実行を開始する。命令解釈実行回路1242がプログラムを実行開始した後の処理は、図25の遊技制御装置メイン処理にて説明する。   Next, the initial value setting circuit 1241 sets a value of “4000H” as a reset address in the program counter 1234 (2402). As a result, an initial value is set in each register. Next, when the built-in reset circuit 1240 operates the instruction interpretation execution circuit 1242 that has been waiting, the instruction interpretation execution circuit 1242 sets the address indicated by the program counter 1234 (to the reset address of the user program ROM 602 storing the game control program). The program starts running from the equivalent). The process after the instruction interpretation execution circuit 1242 starts executing the program will be described in the game control apparatus main process of FIG.

次に、遊技制御装置100のCPU102によって実行される遊技制御装置メイン処理を、図25及び図26を用いて説明する。   Next, game control device main processing executed by the CPU 102 of the game control device 100 will be described with reference to FIGS. 25 and 26. FIG.

図25は、本発明の第1の実施の形態の遊技制御装置メイン処理の前半部のフローチャートであり、図26は、本発明の第1の実施の形態の遊技制御装置メイン処理の後半部のフローチャートである。なお、これらの処理は遊技制御装置100によって実行されるが、厳密には、命令解釈実行回路1242が、CPUコア102内部の各レジスタを参照しながら、遊技制御プログラムを実行することで実現される。   FIG. 25 is a flowchart of the first half of the game control device main process according to the first embodiment of the present invention, and FIG. 26 shows the second half of the game control device main process according to the first embodiment of the present invention. It is a flowchart. Note that these processes are executed by the game control apparatus 100, but strictly, the instruction interpretation execution circuit 1242 is realized by executing the game control program while referring to each register in the CPU core 102. .

まず、遊技制御装置100は、CPU102への割込みを禁止する(2501)。そして、遊技制御装置100は、スタックポインタ1233(図12)に初期値「29FFH」を設定する(2502A)。これにより、スタックポインタ1233の値が「29FFH」でなければ「29FFH」に変更される。なお、スタックポインタ1233に初期値「29FFH」が既に設定されていても、再度「29FFH」の値が設定される。   First, the game control device 100 prohibits interruption to the CPU 102 (2501). Then, the game control device 100 sets an initial value “29FFH” in the stack pointer 1233 (FIG. 12) (2502A). As a result, if the value of the stack pointer 1233 is not “29FFH”, it is changed to “29FFH”. Even if the initial value “29FFH” is already set in the stack pointer 1233, the value “29FFH” is set again.

次いで、遊技制御装置100は、Kレジスタ1230に「28H」の値を設定する(2502B)。これにより、Kレジスタ1230の値が「28H」でなければ「28H」に変更される。なお、Kレジスタ1230に初期値「28H」が既に設定されていても、再度「28H」の値が設定される。   Next, the game control device 100 sets a value of “28H” in the K register 1230 (2502B). As a result, if the value of the K register 1230 is not “28H”, it is changed to “28H”. Even if the initial value “28H” is already set in the K register 1230, the value “28H” is set again.

次いで、遊技制御装置100は、割込モードを設定する(2503)。割込モードは、CPU102が内蔵デバイスからの割込要求の処理を可能とし、また、プログラムにおいて割込要求の処理を実行する位置を設定することを可能とするものである。   Next, the game control device 100 sets an interrupt mode (2503). The interrupt mode allows the CPU 102 to process an interrupt request from a built-in device and to set a position for executing the interrupt request process in a program.

次に、遊技制御装置100は、入力I/F105からRAMクリアSW信号の状態を取り込み、取り込んだRAMクリアSW信号の状態をCPU102のレジスタに記憶する(2504)。   Next, the game control apparatus 100 takes in the state of the RAM clear SW signal from the input I / F 105 and stores the state of the fetched RAM clear SW signal in the register of the CPU 102 (2504).

そして、遊技制御装置100は、RAM104を使用しないディレイ処理を実行する(2505)。このディレイ処理は、所定時間、処理を待機させる処理であり、具体的には、チェックサムが算出されない記憶領域にて、所定の数が0になるまでデクリメントし続ける処理である。ディレイ処理は、この所定の数を待機させる時間に対応する時間に設定することによって、所定時間を計時するタイマ計時手段となる。なお、ディレイ処理の詳細については、図28にて後述する。   Then, the game control device 100 executes a delay process that does not use the RAM 104 (2505). This delay process is a process for waiting for a predetermined time. Specifically, the delay process is a process of continuously decrementing until a predetermined number becomes 0 in a storage area where a checksum is not calculated. The delay process becomes a timer timing means for measuring the predetermined time by setting the predetermined number to a time corresponding to the time for waiting. Details of the delay process will be described later with reference to FIG.

次に、遊技制御装置100は、再度、入力I/F105からRAMクリアSW信号の状態を取り込み、取り込んだRAMクリアSW信号の状態をCPU102のレジスタに記憶する(2506)。なお、CPU102が二つのRAMクリア信号の状態を比較できるように、ステップ2504の処理でRAMクリアSW信号の状態を記憶するレジスタの領域、及び、ステップ2506の処理でRAMクリアSW信号の状態を記憶するレジスタの領域は、異なる領域である。   Next, the game control device 100 takes in the state of the RAM clear SW signal again from the input I / F 105 and stores the state of the fetched RAM clear SW signal in the register of the CPU 102 (2506). Note that the CPU 102 stores the state of the RAM clear SW signal in step 2504 and the state of the RAM clear SW signal in step 2506 so that the CPU 102 can compare the states of the two RAM clear signals. The register areas to be used are different areas.

次に、遊技制御装置100は、図23のステップ2303の処理で発生したRAM書込禁止状態をRAM書込可能状態にする(2507)。   Next, the game control device 100 sets the RAM write prohibited state generated in the process of step 2303 in FIG. 23 to a RAM writable state (2507).

具体的には、CPU102の指令によって、フリップフロップ回路641のクロック端子にクロック信号を出力制御回路612から入力させ、かつ、フリップフロップ回路641のデータ端子に接続された信号線の信号レベルをハイレベルにする。これにより、フリップフロップ回路641の出力端子Q(正論理)からハイレベルの信号が出力され、出力端子Q(負論理)からローレベルの信号が出力されるため、ORゲート回路642の入力端子にローレベルの信号が入力されることにより、RAM書込可能状態になる。   Specifically, a clock signal is input from the output control circuit 612 to the clock terminal of the flip-flop circuit 641 in accordance with a command from the CPU 102, and the signal level of the signal line connected to the data terminal of the flip-flop circuit 641 is set to a high level. To. As a result, a high level signal is output from the output terminal Q (positive logic) of the flip-flop circuit 641, and a low level signal is output from the output terminal Q (negative logic). When a low level signal is input, the RAM becomes writable.

次に、遊技制御装置100は、スタック領域706を使用して、各種設定処理を実行する(2508)。この設定処理は、例えば、サブルーチンや関数を呼び出して、遊技制御に必要な各種記憶領域に初期データを設定する処理である。この設定処理において、CPU102により、図7〜図9で前述した、送信シリアルチャンネル設定レジスタ633、送信制御レジスタ632、送信データステータスレジスタ631の各ビットの初期値が設定されることで、送信ボーレート等の設定が行われる。   Next, the game control device 100 executes various setting processes using the stack area 706 (2508). This setting process is, for example, a process of setting initial data in various storage areas necessary for game control by calling a subroutine or a function. In this setting process, the CPU 102 sets initial values of the respective bits of the transmission serial channel setting register 633, the transmission control register 632, and the transmission data status register 631 described above with reference to FIGS. Is set.

これらのサブルーチンや関数は、遊技制御プログラムに記述した複数の箇所から呼び出される形態となっており、遊技制御プログラムの容量削減に貢献している。一方で、サブルーチンや関数を呼び出す際には、前述したように、戻りアドレスをスタック領域706に待避する処理を必要とする。   These subroutines and functions are called from a plurality of locations described in the game control program, and contribute to reducing the capacity of the game control program. On the other hand, when a subroutine or function is called, processing for saving the return address in the stack area 706 is required as described above.

そして、遊技制御装置100は、ステップ2504の処理でレジスタに記憶されたRAMクリアSW信号の状態とステップ2508の処理でレジスタに記憶されたRAMクリアSW信号の状態とを比較して、どちらのRAMクリアSW信号の状態も、RAMクリアSW162が操作されたことを示しているか否かを判定する(2509)。   Then, the game control device 100 compares the state of the RAM clear SW signal stored in the register in the process of step 2504 with the state of the RAM clear SW signal stored in the register in the process of step 2508, and determines which RAM It is determined whether the state of the clear SW signal also indicates that the RAM clear SW 162 has been operated (2509).

ステップ2509の処理では、異なるタイミングで取得したRAMクリア信号の状態に基づいてRAMクリアSW162が操作されたか否かを判定しているので、ノイズ等による誤判定を防止できる。   In the processing of step 2509, it is determined whether or not the RAM clear SW 162 has been operated based on the state of the RAM clear signal acquired at different timings, so that erroneous determination due to noise or the like can be prevented.

ステップ2509の処理で、RAMクリアSW162が操作されたと判定された場合、遊技制御装置100は、ユーザワークRAM104のすべての記憶領域を初期化する(2510)。   If it is determined in step 2509 that the RAM clear SW 162 has been operated, the game control device 100 initializes all storage areas of the user work RAM 104 (2510).

そして、遊技制御装置100は、初期化指令信号を払出制御装置210及び演出制御装置150へ送信し(2511)、図26に示すステップ2517の処理に進む。   Then, the game control device 100 transmits an initialization command signal to the payout control device 210 and the effect control device 150 (2511), and proceeds to the processing of step 2517 shown in FIG.

一方、ステップ2509の処理で、RAMクリアSW162が操作されていないと判定された場合、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701及び第2停電復旧領域703に、電源遮断確認フラグが格納されているか(正確には、電源遮断確認フラグがオンとなっているか)を確認する(2512)。   On the other hand, if it is determined in step 2509 that the RAM clear SW 162 is not operated, the game control device 100 confirms the power-off confirmation in the first power failure recovery area 701 and the second power failure recovery area 703 of the user work RAM 104. It is confirmed whether the flag is stored (more precisely, whether the power shutdown confirmation flag is on) (2512).

そして、遊技制御装置100は、直前の電源供給停止のときに、電源遮断の処理が正しく実行されていたか否かを判定する(2513)。具体的には、遊技制御装置100は、第1停電復旧領域701及び第2停電復旧領域703の両方に電源遮断確認フラグが格納されている場合には、電源遮断の処理が正しく実行されているものであると判定し、一方、第1停電復旧領域701及び第2停電復旧領域703の少なくとも一方に電源遮断確認フラグが格納されていない場合(少なくとも一方の電源遮断確認フラグがオフの場合)には、電源遮断の処理が正しく実行されていないと判定する。   Then, the game control device 100 determines whether or not the power-off process has been correctly executed when the power supply was stopped immediately before (2513). Specifically, in the game control device 100, when the power shutdown confirmation flag is stored in both the first power failure recovery area 701 and the second power failure recovery area 703, the power shutdown process is correctly executed. On the other hand, when the power shutdown confirmation flag is not stored in at least one of the first power failure recovery area 701 and the second power failure restoration area 703 (when at least one power interruption confirmation flag is OFF). Determines that the power-off process is not correctly executed.

ステップ2513の処理で電源遮断の処理が正しく実行されていたと判定された場合には、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、算出したチェックサムがチェックサム領域704に格納されているチェックサムと一致するか否かを照合する(2514)。   If it is determined in step 2513 that the power-off process has been correctly executed, the game control device 100 determines that the first power failure recovery area 701, the work area 702, and the second power failure recovery area 703 of the user work RAM 104. The checksum is calculated using, and it is checked whether or not the calculated checksum matches the checksum stored in the checksum area 704 (2514).

なお、チェックサム領域704に格納されているチェックサムは、停電検出時のユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、格納されたものである。   The checksum stored in the checksum area 704 is calculated by using the first power failure recovery area 701, the work area 702, and the second power failure recovery area 703 of the user work RAM 104 when a power failure is detected. , Stored.

つまり、ステップ2514の処理は、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRAM104に格納された情報とが一致するか否かを照合する処理である。   That is, the process of step 2514 is a process of collating whether the information stored in the user work RAM 104 at the time of power failure detection matches the information stored in the user work RAM 104 at the time of power-on.

そして、ステップ2514の処理の照合結果が、算出したチェックサムとチェックサム領域704に格納されたチェックサムとが一致するものであるか否かを判定する(2515)。   Then, it is determined whether or not the collation result of the processing in step 2514 matches the calculated checksum and the checksum stored in the checksum area 704 (2515).

ステップ2514の処理で算出したチェックサムとチェックサム領域704に格納されたチェックサムとが一致しないとステップ2515の処理で判定された場合、つまり、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRAM104に格納された情報とが一致しない場合には、遊技制御装置100は、ステップ2510の処理に進み、ユーザワークRAM104のすべての領域を初期化し、ステップ2511の処理にて初期化指令を払出制御装置210及び演出制御装置150に送信する。   If it is determined in step 2515 that the checksum calculated in step 2514 does not match the checksum stored in checksum area 704, that is, the information stored in user work RAM 104 when a power failure is detected If the information stored in the user work RAM 104 at the time of power-on does not match, the game control device 100 proceeds to the process of step 2510, initializes all areas of the user work RAM 104, and in the process of step 2511 An initialization command is transmitted to the payout control device 210 and the effect control device 150.

一方、ステップ2514の処理で算出したチェックサムとチェックサム領域704に格納されたチェックサムとが一致するとステップ2515の処理で判定された場合、つまり、停電検出時のユーザワークRAM104に格納された情報と電源投入時のユーザワークRAM104に格納された情報とが一致する場合には、遊技制御装置100は、遊技制御装置100の起動に必要な領域(ユーザワークRAM104の一部の領域)を初期化する(2516)。このとき、ユーザワークRAM104の第1停電復旧領域701及び第2停電復旧領域703の各々にて、電源遮断確認フラグが消去(正確には、各領域にて電源遮断確認フラグがオフ)される。そして、遊技制御装置100は、初期化指令を払出制御装置210及び演出制御装置150に送信する(2511)。   On the other hand, if the checksum calculated in step 2514 matches the checksum stored in the checksum area 704, the information stored in the user work RAM 104 at the time of power failure detection is determined in step 2515. And the information stored in the user work RAM 104 at the time of power-on match, the game control device 100 initializes an area necessary for starting the game control apparatus 100 (part of the user work RAM 104). (2516). At this time, the power shutdown confirmation flag is erased in each of the first power failure restoration area 701 and the second power interruption restoration area 703 of the user work RAM 104 (more precisely, the power interruption confirmation flag is turned off in each area). Then, the game control device 100 transmits an initialization command to the payout control device 210 and the effect control device 150 (2511).

これらの処理が完了すると、遊技制御装置100に関する初期化処理が完了となる。次いで、図26に示すステップ2517の処理に進む。   When these processes are completed, the initialization process related to the game control device 100 is completed. Next, the processing proceeds to step 2517 shown in FIG.

次に、ステップ2511の処理で初期化指令が払出制御装置210及び演出制御装置150に送信された後、遊技制御装置100は、各種時間を計測やタイマ割込みを行うためのCTC(Counter Timer Circuit)を起動し(2517)、遊技制御に関する乱数を生成する乱数生成回路608(図5)を初期化する(2518)。そして、遊技制御装置100は、ステップ2501の処理で禁止されたCPU102への割込みを許可する(2519)。   Next, after the initialization command is transmitted to the payout control device 210 and the effect control device 150 in the process of step 2511, the game control device 100 performs CTC (Counter Timer Circuit) for measuring various times and performing timer interrupts. Is started (2517), and a random number generation circuit 608 (FIG. 5) for generating random numbers related to game control is initialized (2518). Then, the game control device 100 permits an interrupt to the CPU 102 that is prohibited in the processing of step 2501 (2519).

次に、遊技制御装置100は、初期値乱数を更新する初期値乱数更新処理を実行する(2520)。初期値乱数とは、遊技制御に関する乱数のカウンタ(例えば、始動入賞口へ入賞したタイミングで取得される乱数のカウンタ)が上限値に達した場合に初期値に戻るが、その初期値を決定するための乱数である。   Next, the game control device 100 executes an initial value random number update process for updating the initial value random number (2520). The initial value random number returns to the initial value when a random number counter related to game control (for example, a random number counter acquired at the timing of winning the starting prize opening) reaches an upper limit value, but determines the initial value. It is a random number for.

そして、遊技制御装置100は、停電検出信号が入力されたか否かを確認し(2521)、ステップ2521の処理での確認結果が、停電検出信号が入力されたことを示すか否かを判定する(2522)。   Then, the game control device 100 confirms whether or not a power failure detection signal is input (2521), and determines whether or not the confirmation result in the processing of step 2521 indicates that the power failure detection signal is input. (2522).

遊技制御装置100は、停電検出信号が入力されていないと判定した場合には(ステップ2522の結果が「N」)、停電は発生していないので、ステップ2520の処理に戻る。   When the game control apparatus 100 determines that the power failure detection signal is not input (the result of step 2522 is “N”), the power failure has not occurred, and the process returns to step 2520.

一方、ステップ2522の処理で、停電検出信号が入力されたと判定された場合には(ステップ2522の結果が「Y」)、遊技制御装置100により停電処理が実行される。まず、遊技制御装置100は、CPU102への割込みを禁止し(2523)、出力I/F106に備わる出力ポートの電圧レベルをローレベルに設定する(2524)。   On the other hand, if it is determined in step 2522 that a power failure detection signal has been input (the result of step 2522 is “Y”), the game control device 100 executes power failure processing. First, the game control device 100 prohibits interruption to the CPU 102 (2523), and sets the voltage level of the output port provided in the output I / F 106 to a low level (2524).

次に、遊技制御装置100は、ユーザワークRAM104の第1停電復旧領域701及び第2停電復旧領域703に、電源遮断確認フラグを格納(正確には、各領域にて電源遮断確認フラグをオン)し(2525)、ユーザワークRAM104の第1停電復旧領域701、ワークエリア702、及び第2停電復旧領域703を用いてチェックサムを算出して、算出したチェックサムをチェックサム領域704に格納する(2526)。   Next, the game control apparatus 100 stores the power shutdown confirmation flag in the first power failure recovery area 701 and the second power failure restoration area 703 of the user work RAM 104 (more precisely, the power interruption confirmation flag is turned on in each area). (2525), a checksum is calculated using the first power failure recovery area 701, work area 702, and second power failure recovery area 703 of the user work RAM 104, and the calculated checksum is stored in the checksum area 704 ( 2526).

次に、遊技制御装置100は、RAMアクセス規制回路640によってユーザワークRAM104をRAM書込禁止状態にする(2527)。   Next, the game control device 100 puts the user work RAM 104 into the RAM write prohibited state by the RAM access restriction circuit 640 (2527).

具体的には、CPU102の指令によって、フリップフロップ回路641のクロック端子にクロック信号を出力制御回路612から入力させ、かつ、フリップフロップ回路641のデータ端子に接続された信号線の信号レベルをローレベルにする。これにより、フリップフロップ回路641の出力端子Q(正論理)からローレベルの信号が出力され、出力端子Q(負論理)からハイレベルの信号が出力されるため、ORゲート回路642の入力端子にハイレベルの信号が入力されることにより、RAM書込禁止状態になる。   Specifically, a clock signal is input from the output control circuit 612 to the clock terminal of the flip-flop circuit 641 in accordance with a command from the CPU 102, and the signal level of the signal line connected to the data terminal of the flip-flop circuit 641 is set to a low level. To. As a result, a low level signal is output from the output terminal Q (positive logic) of the flip-flop circuit 641, and a high level signal is output from the output terminal Q (negative logic). When a high level signal is input, the RAM write inhibit state is entered.

そして、遊技制御装置100は、遊技機1の電源が切れるまで待機する(2528)。なお、遊技制御装置100には、バックアップ電源が接続されているので、停電が発生しても、すぐに電源が切れることはない。   Then, the game control device 100 stands by until the gaming machine 1 is turned off (2528). In addition, since the backup power supply is connected to the game control apparatus 100, even if a power failure occurs, the power supply is not immediately turned off.

なお、本実施形態では、ステップ2514の処理で電源断時のユーザワークRAM104と電源投入時のユーザワークRAM104との正当性を判定する前のステップ2507の処理でRAM書込可能状態にしたが、RAM書込可能状態にするタイミングは、遅くともステップ2514の処理の正当性に応じて行われるステップ2510又は2516の処理におけるユーザワークRAM104の初期化処理の実行直前であればよい。   In the present embodiment, the process of step 2514 makes the RAM writable state by the process of step 2507 before determining the validity of the user work RAM 104 when the power is turned off and the user work RAM 104 when the power is turned on. The timing to make the RAM writable state may be immediately before the initialization process of the user work RAM 104 in the process of step 2510 or 2516 performed according to the legitimacy of the process of step 2514 at the latest.

このように、遊技機1にて電源供給が遮断した場合には、必要な電源遮断処理を実行した後は、ユーザワークRAM104をRAM書込禁止状態に設定し、遊技機1にて再度電源供給が復帰したときでも、すぐにユーザワークRAM104をRAM書込可能状態としないで、ハードウェアに関する初期化処理を一定時間実行し、ステップ2514の処理の正当性に応じて行われるステップ2510又は2516の処理におけるユーザワークRAM104の初期化処理の実行直前になって、ようやくRAM書込可能状態にすることによって、ユーザワークRAM104の初期化まで不用意なユーザワークRAM104の書き込みを防止できる。   As described above, when the power supply is cut off in the gaming machine 1, the user work RAM 104 is set to the RAM writing prohibited state after the necessary power-off process is executed, and the game machine 1 supplies power again. Even when the process returns, the user work RAM 104 is not immediately brought into the RAM writable state, the initialization process related to hardware is executed for a certain period of time, and the process of step 2510 or 2516 performed according to the validity of the process of step 2514 Immediately before executing the initialization process of the user work RAM 104 in the process, by finally making the RAM writable state, it is possible to prevent inadvertent writing of the user work RAM 104 until the user work RAM 104 is initialized.

そのため、ステップ2514の処理における正当性判定が行われる直前には、RAM書込禁止状態になっているので、電源投入後にユーザワークRAM104に誤った書き込みがなされ、ステップ2514の処理で誤った判定がされることを防止できる。   Therefore, immediately before the validity determination in the process of step 2514 is performed, the RAM write prohibition state is set. Therefore, erroneous writing is performed in the user work RAM 104 after power-on, and an erroneous determination is made in the process of step 2514. Can be prevented.

なお、本実施形態では、ステップ2508の処理でスタック領域706を用いた各種設定処理を実行するために、ステップ2514の処理における正当性判定処理の前のステップ2507の処理でRAM書込可能状態にしている。   In this embodiment, in order to execute various setting processes using the stack area 706 in the process of step 2508, the RAM write-enable state is set in the process of step 2507 before the validity determination process in the process of step 2514. ing.

これによって、正当性判定を行う前に正当性判定の対象とはならないスタック領域706を用いた各種設定処理を行うことができるようになるため、遊技制御装置100の各種設定を早い段階で行うことができるので遊技制御装置100の起動を高速化でき、また、スタック領域706を用いるので処理プログラムが共通化でき、プログラム容量を削減できる。   As a result, various setting processes using the stack area 706 that is not the target of the validity determination can be performed before the validity determination is performed, so that various settings of the game control device 100 can be performed at an early stage. Therefore, the game control apparatus 100 can be started up at a high speed, and the stack area 706 can be used to share a processing program, thereby reducing the program capacity.

なお、図15では、ステップ2510又は2516の処理でユーザワークRAM104を初期化した後、ステップ2515の処理で初期化指令信号を送信しているが、ステップ2514における正当性判定の実行前のステップ2508の処理の実行後に初期化指令信号を送信してもよい。   In FIG. 15, after initialization of the user work RAM 104 in the process of step 2510 or 2516, an initialization command signal is transmitted in the process of step 2515, but step 2508 before execution of the validity determination in step 2514. An initialization command signal may be transmitted after execution of the process.

この場合には、ステップ2514の処理における正当性判定の実行前であるので、正当性判定に寄与しないスタック領域706又はCPU102に備わるレジスタを用いて、初期化指令信号を送信する。   In this case, since it is before execution of the validity determination in the processing of step 2514, an initialization command signal is transmitted using the stack area 706 that does not contribute to the validity determination or a register provided in the CPU 102.

なお、CPU102に備わるレジスタを用いなくても、例えば、ユーザワークRAM104とは別個に、遊技制御装置100に所定のタイマ回路などを設けて、このタイマ回路に備えられた記憶領域を更新させるような方法でも実現可能である。言い換えれば、正当性判定に影響のない記憶領域であれば、どのようなものを用いても適用が可能であり、好ましくは、ユーザワークRAM104と記憶領域とを分離できれば、CPU102のプログラムも簡素化されるということである。   Even if the register provided in the CPU 102 is not used, for example, a predetermined timer circuit or the like is provided in the game control device 100 separately from the user work RAM 104, and the storage area provided in the timer circuit is updated. It can also be realized by the method. In other words, any storage area that does not affect the validity determination can be used, and preferably, the user work RAM 104 and the storage area can be separated to simplify the program of the CPU 102. It is to be done.

ステップ2510又は2516の処理では、RAM104の一部領域を初期化する処理であるステップ2516の処理が、RAM104の全領域を初期化する処理であるステップ2510の処理よりも実行時間が長いため、ステップ2510の処理を実行するかステップ2516の処理を実行するかによって、初期化指令信号が送信される時間が異なってしまう。   In the process of step 2510 or 2516, the process of step 2516, which is a process of initializing a part of the RAM 104, takes longer than the process of step 2510, which is a process of initializing the entire area of the RAM 104. Depending on whether the processing of 2510 or the processing of step 2516 is executed, the time for which the initialization command signal is transmitted differs.

ステップ2514の処理における正当性判定の実行前に初期化指令信号を送信することによって、ステップ2511の処理で初期化指令信号を送信するよりも早く初期化指令信号を送信できる。また、電源投入から一定時間で初期化指令信号を送信することができる。   By transmitting the initialization command signal before executing the validity determination in the processing of step 2514, the initialization command signal can be transmitted earlier than transmitting the initialization command signal in the processing of step 2511. In addition, the initialization command signal can be transmitted in a certain time after the power is turned on.

図27は、本発明の第1の実施の形態の遊技制御装置メイン処理(図25)におけるステップ2501からステップ2502Bまでの処理を説明する図である。ここでは、図12で前述した各種レジスタ、図21及び図22で前述したアセンブリ言語を用いて説明を行うことにする。   FIG. 27 is a diagram illustrating processing from step 2501 to step 2502B in the game control device main processing (FIG. 25) according to the first embodiment of this invention. Here, description will be made using the various registers described above with reference to FIG. 12 and the assembly language described with reference to FIGS. 21 and 22.

なお、図27における列2710は、遊技制御プログラムが格納されているユーザプログラムROM103のアドレスを示し、列2720は、当該アドレスに格納されているデータを示している。例えば、ユーザプログラムROM103の「4000H」のアドレスには「F3H」のデータが格納され、続く「4001H」のアドレスには「31H」のデータが格納され、続く「4002H」のアドレスには「00H」のデータが格納され、続く「4003H」のアドレスには「2AH」のデータが格納されている。   Note that a column 2710 in FIG. 27 indicates the address of the user program ROM 103 in which the game control program is stored, and a column 2720 indicates the data stored in the address. For example, “F3H” data is stored in the “4000H” address of the user program ROM 103, “31H” data is stored in the subsequent “4001H” address, and “00H” is stored in the subsequent “4002H” address. The data “2AH” is stored at the subsequent address “4003H”.

行2701の「DI」命令は、遊技制御装置メイン処理(図25)のステップ2501の割込禁止処理に対応し、この命令に対応するコード「F3H」の値がアドレス「4000H」の領域に格納される。   The “DI” instruction in line 2701 corresponds to the interrupt prohibition process in step 2501 of the game control apparatus main process (FIG. 25), and the value of the code “F3H” corresponding to this instruction is stored in the area of the address “4000H”. Is done.

行2702の命令は、同じくステップ2502Aの処理に対応し、スタックポインタ(SP)に対応するSPレジスタ1233に初期アドレスとして「29FFH」を設定する。   The instruction in line 2702 also corresponds to the processing in step 2502A, and sets “29FFH” as an initial address in the SP register 1233 corresponding to the stack pointer (SP).

行2703の命令は、同じくステップ2502Bの処理に対応し、Kレジスタ1230に、上位アドレスのデフォルトの初期値「28H」を設定する。このように、Kレジスタ1230に予め「28H」を設定しておくことによって、「28H」を上位バイトとし、さらに任意の1バイトの値で示される値を下位バイトとして合成した2バイトの値をアドレスと見なして、そのアドレスの領域に記憶されている値を所定のレジスタに設定することができる。例えば、「2803H」のアドレスに記憶された値をAレジスタ1202Aに設定したい場合には、「LDK A,(03H)」という命令を実行すればよい。こうすることによって、2バイトのアドレスの全てを直接指定する場合よりもコード量を1バイト分削減することができる。特に、特定の領域を指定する頻度が大きいほど削減されるコード量を大きくすることができる。本実施形態では、例えば、変動表示ゲームが実行されるたびにシフトされ、アクセス頻度の多い始動記憶を格納するアドレスを指定する場合に使用される。また、Kレジスタを有効に活用するために、これらの始動記憶の上位アドレスは「28H」となるように配置されている。   The instruction in line 2703 similarly corresponds to the processing in step 2502B, and sets the default initial value “28H” of the upper address in the K register 1230. In this way, by setting “28H” in the K register 1230 in advance, a 2-byte value obtained by combining “28H” as an upper byte and a value indicated by an arbitrary 1-byte value as a lower byte is obtained. Assuming an address, the value stored in the address area can be set in a predetermined register. For example, in order to set the value stored at the address “2803H” in the A register 1202A, an instruction “LDK A, (03H)” may be executed. In this way, the code amount can be reduced by 1 byte compared to the case where all of the 2-byte addresses are directly specified. In particular, the amount of code to be reduced can be increased as the frequency of designating a specific area is increased. In the present embodiment, for example, it is shifted every time a variable display game is executed, and is used when an address for storing a start memory frequently accessed is designated. Further, in order to effectively use the K register, the upper addresses of these start-up memories are arranged to be “28H”.

なお、ユーザプログラムROM103の「4000H」のアドレスは、前述ように、リセットアドレスである。よって、リセット信号の発生時には、まず、この「4000H」に配置されたコードの命令が実行され、その後は、以降のアドレスに配置された命令が順次実行される。   Note that the address “4000H” of the user program ROM 103 is a reset address as described above. Therefore, when the reset signal is generated, first, the instruction of the code arranged at “4000H” is executed, and thereafter, the instructions arranged at the subsequent addresses are sequentially executed.

ちなみに、リセット信号が発生すると、初期値設定回路1241によってSPレジスタ1233に「29FFH」がハード的に設定されるので、行2702の命令は、省略(言い換えれば、図25のステップ2502Aを省略)することも可能である。同様に、リセット信号が発生すると、初期値設定回路1241によってKレジスタ1230に「28H」がハード的に設定されるので、行2703の命令は、省略(言い換えれば、図25のステップ2502Bを省略)することも可能である。ただし、初期値設定回路1241が機能せずに、プログラムカウンタ1234の値のみがリセットアドレスの値に変更される事態を想定するのであれば、行2702及び行2703の命令を配置しておくことにも意味がある。   Incidentally, when a reset signal is generated, “29FFH” is set in hardware in the SP register 1233 by the initial value setting circuit 1241, so the instruction in the row 2702 is omitted (in other words, step 2502A in FIG. 25 is omitted). It is also possible. Similarly, when a reset signal is generated, “28H” is hardware-set in the K register 1230 by the initial value setting circuit 1241, so the instruction in the row 2703 is omitted (in other words, step 2502B in FIG. 25 is omitted). It is also possible to do. However, if it is assumed that the initial value setting circuit 1241 does not function and only the value of the program counter 1234 is changed to the value of the reset address, the instructions on the lines 2702 and 2703 are arranged. Is also meaningful.

図28は、本発明の第1の実施の形態のディレイ処理を説明する図である。   FIG. 28 is a diagram illustrating delay processing according to the first embodiment of this invention.

図28に示すディレイ処理は、図25のステップ2505で実行されるが、当該ディレイ処理を実行している時点では、ユーザワークRAM104の値が更新できないようにRAM書込禁止状態となっている。これは、直前の停電発生時に格納されたチェックサムと、電源投入直後となる現時点でのチェックサムとの照合を行うためである。   The delay process shown in FIG. 28 is executed in step 2505 of FIG. 25. At the time when the delay process is executed, the RAM write prohibition state is set so that the value of the user work RAM 104 cannot be updated. This is because the checksum stored at the time of the power failure immediately before is checked against the current checksum immediately after the power is turned on.

このため、図25に示すステップ2505におけるディレイ処理では、正当性の判定が行われる記憶領域が含まれたユーザワークRAM104を用いずに、他の記憶領域(正当性判定の対象とならない判定対象外記憶領域)を用いてディレイ処理を実行しなければならない。そこで、本実施形態のディレイ処理は、CPUコア102に備わるレジスタ(汎用レジスタ)を用いて実行される。   For this reason, the delay process in step 2505 shown in FIG. 25 does not use the user work RAM 104 that includes the storage area in which the validity is determined, and does not use the other storage area (not subject to the determination of validity. The delay processing must be executed using the storage area. Therefore, the delay processing of this embodiment is executed using a register (general-purpose register) provided in the CPU core 102.

以下に、判定対象外記憶領域を含むユーザワークRAM104の記憶領域をまったく利用せずに、レジスタを用いたディレイ処理を説明する。なお、CPUコア102として、Z80系のCPUを用いるものとするので、Z80系のCPUで使用されるレジスタ及びアセンブリ言語を用いて説明を行う。   Hereinafter, a delay process using a register without using the storage area of the user work RAM 104 including the non-determination storage area will be described. Since a CPU of the Z80 system is used as the CPU core 102, description will be made using a register and an assembly language used in the CPU of the Z80 system.

なお、図28における列2810は、図27の列2710同様に遊技制御プログラムが格納されているユーザプログラムROM103のアドレスを示し、列2820は、図27の列2720同様に、当該アドレスに格納されているデータを示している。   A column 2810 in FIG. 28 indicates the address of the user program ROM 103 in which the game control program is stored as in the column 2710 in FIG. 27, and a column 2820 is stored at the address as in the column 2720 in FIG. The data is shown.

まず、行2801は、当該ディレイ処理の最初の処理に相当し、CPUコア102のレジスタ(図11参照)のHレジスタ及びLレジスタを1つのペアとして構成したHLレジスタに、「0603H」をロードする。具体的には、Hレジスタに「06H」がロードされ、Lレジスタには「03H」がロードされる。   First, line 2801 corresponds to the first processing of the delay processing, and “0603H” is loaded into the HL register configured as one pair of the H register and the L register of the register of the CPU core 102 (see FIG. 11). . Specifically, “06H” is loaded into the H register, and “03H” is loaded into the L register.

次に、行2802を実行し、HLレジスタの値をデクリメント(1減算)する。したがって、行2802が最初に実行された後、HLレジスタの値は「0602H」となる。   Next, line 2802 is executed, and the value of the HL register is decremented (subtracted by 1). Therefore, after the line 2802 is executed for the first time, the value of the HL register becomes “0602H”.

続いて、行2803を実行し、Hレジスタに格納された値をAレジスタにロードする。そして、行2804を実行し、AレジスタとLレジスタとの論理和を算出する。行2805では、行2804で算出された論理和がゼロでなければ(NZ)、行2802(アドレスが4023Hとなる行)に戻る。したがって、Hレジスタ及びLレジスタの両方が「00H」となるまで、行2802から2805までの処理を繰り返すことになる。   Subsequently, line 2803 is executed, and the value stored in the H register is loaded into the A register. Then, the line 2804 is executed to calculate the logical sum of the A register and the L register. In the row 2805, if the logical sum calculated in the row 2804 is not zero (NZ), the processing returns to the row 2802 (the row whose address is 4023H). Therefore, the processing from the lines 2802 to 2805 is repeated until both the H register and the L register become “00H”.

つまり、図28では、維持タイマとして使用されるHレジスタ及びLレジスタに格納された「0603H」(=1539)が「0000H」になるまでデクリメントされるもので、合計1539回デクリメントが行われる。この間、図25に示す遊技制御装置メイン処理は、ステップ2505の処理で待機するため、遊技制御装置100の起動が遅延することとなる。   That is, in FIG. 28, “0603H” (= 1539) stored in the H register and L register used as the maintenance timer is decremented until “0000H”, and the decrement is performed a total of 1539 times. During this time, the game control apparatus main process shown in FIG. 25 waits in the process of step 2505, so that the activation of the game control apparatus 100 is delayed.

ここで遅延時間を具体的に算出する。遅延時間は、行2802から2805までの処理を、繰り返し回数(「0603H」=1539)分だけ実行した時間となる。そこで、行2803から2805までの各行の実行時間を算出する。各行には実行される命令が定義されており、各命令には、実行に必要なCPUのクロックサイクル数(ステート数)が対応している。したがって、1ステート当りの時間を各命令に対応するステート数に乗じることによって各命令の実行時間を算出することができる。   Here, the delay time is specifically calculated. The delay time is the time when the processes from the rows 2802 to 2805 are executed by the number of repetitions (“0603H” = 1539). Therefore, the execution time of each line from line 2803 to 2805 is calculated. Each line defines an instruction to be executed, and each instruction corresponds to the number of CPU clock cycles (number of states) necessary for execution. Therefore, the execution time of each instruction can be calculated by multiplying the time per state by the number of states corresponding to each instruction.

本発明の第1の実施の形態では、クロック数20Mhzを2倍に分周した10MhzがCPUの動作クロックとなるため、1/10000000=100n秒が1ステート当りの処理時間となる。以下、具体的に各行の処理時間を算出する。   In the first embodiment of the present invention, 10 Mhz obtained by dividing the number of clocks 20 Mhz by two is the CPU operation clock, so 1/10000000 = 100 nsec is the processing time per state. Hereinafter, the processing time for each row is specifically calculated.

行2802で実行されるデクリメント「DEC」命令のステート(数)は6となっている。したがって、行2802の処理時間は6×100n秒=600n秒となる。同様に、行2803で実行されるロード「LD」命令のステート(数)は4、及び、行2804で実行されるロード「OR」命令のステート(数)は4となっており、それぞれの処理時間は4×100n秒=400n秒となっている。さらに、行2805で実行されるジャンプ「JP」命令のステート(数)は行2804の演算結果が非0の場合には12、0の場合には7となっている。0の場合は遅延時間終了時だけであるため、ステート数を12とすると、処理時間は12×100n秒=1200n秒となる。   The state (number) of the decrement “DEC” instruction executed in line 2802 is 6. Therefore, the processing time of the row 2802 is 6 × 100 n seconds = 600 n seconds. Similarly, the state (number) of the load “LD” instruction executed in the line 2803 is 4 and the state (number) of the load “OR” instruction executed in the line 2804 is 4. The time is 4 × 100 n seconds = 400 n seconds. Further, the state (number) of the jump “JP” instruction executed on the line 2805 is 12 when the operation result on the line 2804 is non-zero, and 7 when the result is 0. Since 0 is only at the end of the delay time, if the number of states is 12, the processing time is 12 × 100 n seconds = 1200 n seconds.

以上より、1回の繰り返しにおける処理時間は、600n秒+400n秒+400n秒+1200n秒=2600n秒となる。そして、繰り返し回数は、1539回であるため、2600n秒×1539=4.0014m秒となり、約4秒の遅延時間となる。したがって、この場合のディレイ処理は、4秒間を計時するタイマ計時手段となっている。   From the above, the processing time in one iteration is 600 nsec + 400 nsec + 400 nsec + 1200 nsec = 2600 nsec. Since the number of repetitions is 1539, 2600 nsec × 1539 = 1.0014 msec, which is a delay time of about 4 sec. Therefore, the delay process in this case is a timer timing means for timing 4 seconds.

また、このディレイ処理中は、ユーザワークRAM104へのアクセスが全く行われない。すなわち、正当性の判定が行われる記憶領域が含まれたユーザワークRAM104の値を書き換えることなく、ディレイ処理を実行することができる。   Further, during this delay process, the user work RAM 104 is not accessed at all. That is, the delay process can be executed without rewriting the value of the user work RAM 104 including the storage area where the validity is determined.

図28で説明したように、本実施形態では、ハードウェアを用いずに、正当性判定に寄与しない、つまり、チェックサムを算出しない領域を用いてソフトウェアにより実現(維持タイマを計時)しているので、図25に示すステップ2514の正当性判定を正確に行うことができるとともに、ハードウェアでディレイ処理を実現するよりも安価に実現することができる。   As described with reference to FIG. 28, in the present embodiment, hardware is not used, and it is realized by software using a region that does not contribute to the validity determination, that is, the checksum is not calculated (the maintenance timer is timed). Therefore, it is possible to accurately perform the legitimacy determination in step 2514 shown in FIG. 25, and it can be realized at a lower cost than the delay processing by hardware.

例えば、ハードウェアでディレイ処理を実現する遊技機として、特開2002−224394号公報に開示されるような技術が知られており、この遊技機では、電源が断たれた後の復帰時に、払出しの不都合な状態が解消するまで賞媒体の払出し動作を停止できるようにすること、さらに、賞媒体の払出しに関して遊技者とホール側とでトラブルが発生しないようにすることを目的として、停電からの復帰時に、払出し制御手段が主制御手段よりも先に起動して払出し制御が開始された場合、初期化スイッチが操作されていないため、払出し動作復帰処理が実行され、その後、主制御手段から払出し再開コマンドを受信するまで、払出し動作を停止して、払出し再開可能な状態で待機する構成となっている。   For example, as a gaming machine that realizes delay processing with hardware, a technique disclosed in Japanese Patent Application Laid-Open No. 2002-224394 is known, and in this gaming machine, payout is performed at the time of return after power is turned off. In order to stop the award medium payout operation until the inconvenience of the problem is resolved, and to prevent troubles between the player and the hall with respect to the award medium payout, At the time of return, when the payout control means is activated prior to the main control means and the payout control is started, the payout operation return processing is executed because the initialization switch is not operated, and then the payout from the main control means is performed. Until the resumption command is received, the payout operation is stopped and the apparatus waits in a state where the payout can be resumed.

さらに、この遊技機では、後から起動した主制御手段は補給切れ検出スイッチや満杯検出スイッチからの検出スイッチに基づいて払出しに関するエラーを検出しない場合に、主制御手段から払出し再開コマンドが送信されてくるので、払出し制御手段はその払出し再開コマンド受信をきっかけに払出し動作を再開する構成となっている。   Further, in this gaming machine, when the main control means activated later does not detect an error relating to payout based on the detection switch from the supply replenishment detection switch or the fullness detection switch, a payout restart command is transmitted from the main control means. Therefore, the payout control means is configured to resume the payout operation in response to receipt of the payout restart command.

そして、この遊技機は、主制御手段を、払出し制御手段よりも遅延させて起動させるために、主制御手段(主制御基板39)に遅延回路90を設けて、リセット信号発生手段77からのリセット信号が、払出し制御手段(払出し制御基板46)に到達するよりも時間tだけ遅延して主制御手段に到達するように構成しているので(特開2002−224394号公報の段落[0051]〜[0053]、図9、図11参照)、遅延回路90などのハードウェアが必要であるため、コストが高くなってしまうという問題があった。また、遅延回路90はハードウェアで構成されているため、遅延の時間値をプログラムで変更できないという問題もあった。   In this gaming machine, a delay circuit 90 is provided in the main control means (main control board 39) in order to activate the main control means with a delay from the payout control means, and reset from the reset signal generating means 77. Since the signal arrives at the main control means with a delay of time t from reaching the payout control means (payout control board 46) (see paragraphs [0051] to [0051] of JP-A-2002-224394). [0053] Refer to FIG. 9 and FIG. 11) Since hardware such as the delay circuit 90 is necessary, there is a problem that the cost increases. Further, since the delay circuit 90 is configured by hardware, there is a problem in that the delay time value cannot be changed by a program.

この場合、遅延回路90に相当する機能を、主制御手段(主制御基板39)に設けたC
PUを用いてソフトウェアによって実現すれば、コスト面での課題が解決するが、CPUを用いて遅延時間を計時するためには、主制御手段(主制御基板39)のバックアップ用メモリ39bを用いなければならず、この場合、主制御手段が起動後にバックアップ用メモリ39bの正当性を確認して、バックアップ用メモリ39bが使用可能な状態になってから遅延時間を計時するので、遊技機全体の起動が遅れてしまうという課題を残していた。そのため、ソフトウェアによって遊技制御装置の起動を従属制御装置の起動よりも遅延させることによってコストダウンを図りつつも、遊技機全体の起動が遅延してしまうことを防止する遊技機が提供されることが望まれていた。
In this case, a function corresponding to the delay circuit 90 is provided in the main control means (main control board 39).
If implemented by software using a PU, the problem in terms of cost will be solved, but in order to measure the delay time using a CPU, the backup memory 39b of the main control means (main control board 39) must be used. In this case, the main control means confirms the validity of the backup memory 39b after activation, and measures the delay time after the backup memory 39b becomes usable. Was left behind. Therefore, it is possible to provide a gaming machine that prevents the activation of the entire gaming machine from being delayed while reducing the cost by delaying the activation of the gaming control apparatus from the activation of the dependent control apparatus by software. It was desired.

本実施形態に戻って、CPUコア102で使用できるレジスタの数が少ない場合には、スタック領域を利用してディレイ処理を実行するほうが有効である。ただし、正当性判定の対象となっている第1停電復旧領域701、ワークエリア702、第2停電復旧領域703、チェックサム領域704の各記憶領域を、ノイズ等によって書き換えてしまうことを極力防止したいのであれば、ディレイ処理中を通してユーザワークRAM104をRAM書込禁止状態とし、図28に示したスタック領域を利用しないディレイ処理を実行するほうが有効ともいえる。   Returning to the present embodiment, when the number of registers that can be used by the CPU core 102 is small, it is more effective to execute the delay process using the stack area. However, it is desirable to prevent as much as possible that the storage areas of the first power failure recovery area 701, work area 702, second power failure recovery area 703, and checksum area 704, which are subject to the validity determination, are rewritten due to noise or the like. In this case, it can be said that it is more effective to set the user work RAM 104 to the RAM write prohibited state during the delay process and execute the delay process not using the stack area shown in FIG.

また、動作クロック数を高く設定することによってCPUによる演算処理速度を高速化することが可能となるが、演算処理速度を高速化すると、ディレイ処理におけるループ回数(図28では「0603H」=1539回)を高速化した分だけ大きくする必要がある。しかしながら、演算処理速度を高速化しすぎると、ループ回数が大きくなりすぎてしまい、ループ回数を格納するレジスタのバイト数が所定バイト数(例えば、2バイト)を超えてしまい、プログラムの容量が大きくなってしまう。そこで、図28にて説明したように、ループ回数を格納するレジスタのバイト数が2バイトに収まる(ループ回数が65536回を超えない)ようにCPU102の動作速度(クロック数)を設定することによって、高速通信を実現しながらもプログラム容量の増大を抑えることが可能となる。   In addition, it is possible to increase the processing speed of the CPU by setting the number of operation clocks high. However, if the processing speed is increased, the number of loops in the delay processing (“0603H” in FIG. 28 = 1539). ) Needs to be increased by the speed. However, if the calculation processing speed is increased too much, the number of loops becomes too large, the number of bytes in the register for storing the number of loops exceeds a predetermined number of bytes (for example, 2 bytes), and the capacity of the program increases. End up. Therefore, as described with reference to FIG. 28, by setting the operation speed (number of clocks) of the CPU 102 so that the number of bytes of the register for storing the number of loops falls within 2 bytes (the number of loops does not exceed 65536). Thus, it is possible to suppress an increase in program capacity while realizing high-speed communication.

図29は、本発明の第1の実施の形態のタイマ割込処理を示すフローチャートである。このタイマ割込処理は、遊技制御装置100のCPUコア102によって実行される。   FIG. 29 is a flowchart illustrating timer interrupt processing according to the first embodiment of this invention. This timer interrupt process is executed by the CPU core 102 of the game control apparatus 100.

遊技機の電源が投入されると、遊技制御装置メイン処理(図25及び図26参照)が実行される。そして、ステップ2517の処理で起動させたCTCによって、所定時間周期(例えば、4ミリ秒周期)でタイマ割込みが発生すると、遊技制御装置100のCPU102によって、タイマ割込処理が繰り返し実行される。ただし、これらの処理(2912〜2922の処理)は、割り込み発生毎に必ずしもすべて行なわれなくてもよい。例えば、ステップ2912の入出力処理においては、毎回入力信号を監視するが、出力処理は割り込みの発生の1回おきに実行されてもよい。つまり、1回の割込処理で一通りの処理をすべて完了するのではなく、この割込処理が複数回繰り返し実行されて一連の遊技制御処理が完了するようにしてもよい。   When the power of the gaming machine is turned on, the game control device main process (see FIGS. 25 and 26) is executed. When a timer interrupt is generated at a predetermined time period (for example, a period of 4 milliseconds) by the CTC activated in the process of step 2517, the timer interrupt process is repeatedly executed by the CPU 102 of the game control apparatus 100. However, these processes (processes 2912 to 2922) do not necessarily have to be performed every time an interrupt occurs. For example, in the input / output process of step 2912, the input signal is monitored every time, but the output process may be executed every other occurrence of an interrupt. That is, instead of completing all the processes in one interrupt process, this interrupt process may be repeatedly executed a plurality of times to complete a series of game control processes.

本実施形態のタイマ割込処理において、遊技制御装置100は、まず、レジスタのデータをスタック領域706に退避する(2911)。ここでは、遊技制御プログラムに記述された命令を実行することにより、CPUコア102の内部のレジスタ(図12参照)の中から、タイマ割込処理が呼び出される直前の処理(呼出元処理)で使用されていたものを選択して、スタック領域706に退避させる処理が行われる。   In the timer interrupt process of the present embodiment, the game control device 100 first saves the register data in the stack area 706 (2911). Here, by executing an instruction described in the game control program, it is used in a process (caller process) immediately before the timer interrupt process is called out from a register inside the CPU core 102 (see FIG. 12). A process for selecting the saved data and saving it in the stack area 706 is performed.

ただし、フラグレジスタ1200(図12参照)に関しては、図19の(D)に示すように、当該タイマ割込処理が開始する時点で既にスタック領域706に退避されているので、改めて命令を実行させる必要はない。   However, regarding the flag register 1200 (see FIG. 12), as shown in FIG. 19D, the instruction is executed again because it has already been saved in the stack area 706 when the timer interrupt processing starts. There is no need.

次に、遊技制御装置100は、入出力処理を実行する(2912)。入出力処理は、入力処理と出力処理とを含む。入力処理は、入力I/F105を介して各種センサ(特図始動SW34A、普図始動SW31A、カウントSW36A、入賞口SW32A〜32N、オーバーフローSW109、球切れSW110、枠開放SW111など)から入力される信号にチャタリング除去等の処理をし、入力情報を確定する処理である。   Next, the game control device 100 executes an input / output process (2912). The input / output process includes an input process and an output process. In the input process, signals input from various sensors (special drawing start SW 34A, universal drawing start SW 31A, count SW 36A, winning opening SW 32A to 32N, overflow SW 109, out of ball SW 110, frame opening SW 111, etc.) via the input I / F 105. This is a process of performing processing such as chattering removal and determining input information.

出力処理は、出力I/F106を介して、特図ゲーム処理(2919)及び普図ゲーム処理(2920)にて設定されたパラメータに基づいて、特図表示器120、普図表示器121、普電SOL90、及び大入賞口SOL38を制御するための信号を出力する。   The output process is performed through the output I / F 106 based on the parameters set in the special figure game process (2919) and the general figure game process (2920), and the special figure display unit 120, the general figure display unit 121, Signals for controlling the electric SOL 90 and the special winning opening SOL38 are output.

なお、前述したように、入力処理と出力処理とは1回のタイマ割り込みで同時に実行されなくてもよい。   As described above, the input process and the output process do not have to be executed simultaneously by a single timer interrupt.

次に、遊技制御装置100は、各種処理で送信バッファにセットされた(コマンド)を演出制御装置150及び払出制御装置210等に出力するコマンド送信処理を行う(2913)。具体的には、演出制御装置150に特別図柄変動表示ゲームに係わる演出指令信号(演出コマンド)を出力したり、払出制御装置210に排出指令信号(払出指令信号、払出コマンド)を出力したりする。コマンド送信処理の詳細については、図31にて後述する。なお、払出コマンドについては図33にて詳細を説明し、演出コマンドについては図35にて詳細を説明する。   Next, the game control device 100 performs command transmission processing for outputting (command) set in the transmission buffer in various processings to the effect control device 150 and the payout control device 210 (2913). Specifically, an effect command signal (effect command) related to the special symbol variation display game is output to the effect control device 150, or a discharge command signal (payout command signal, payout command) is output to the payout control device 210. . Details of the command transmission processing will be described later with reference to FIG. The payout command will be described in detail with reference to FIG. 33, and the effect command will be described in detail with reference to FIG.

その後、遊技制御装置100は、特別図柄変動表示ゲームの当りはずれを判定するための大当り乱数カウンタ(図15の大当り乱数の生成領域)の値を1ずつ加算する乱数更新処理1を行う(2914)。なお、この乱数更新処理1では、特別図柄変動表示ゲームの停止図柄を決定する大当り図柄乱数カウンタ(図15の大当り図柄乱数の生成領域)の値、普通図柄変動表示ゲームの当りはずれを判定するための普図乱数カウンタ(図15の普図乱数生成領域)にも1ずつ加算する。   After that, the game control device 100 performs a random number update process 1 in which the value of the big hit random number counter (the big hit random number generation region in FIG. 15) for determining whether the special symbol variation display game is missed is incremented by one (2914). . In this random number update processing 1, in order to determine the value of the big hit symbol random number counter (the big hit symbol random number generation region in FIG. 15) for determining the stop symbol of the special symbol change display game, the hit difference of the normal symbol change display game. 1 is also added to the normal random number counter (the normal random number generation area in FIG. 15).

次に、遊技制御装置100は、乱数の初期値を更新し、乱数の時間的な規則性を崩すための初期値乱数更新処理を実行する(2915)。ステップ2915の初期値乱数更新処理は、図26に示す初期値乱数更新処理(2520)と同じなので、説明を省略する。   Next, the game control apparatus 100 updates the initial value of the random number, and executes an initial value random number update process for breaking the temporal regularity of the random number (2915). The initial value random number update process in step 2915 is the same as the initial value random number update process (2520) shown in FIG.

そして、遊技制御装置100は、特別図柄変動表示ゲームに関連した飾り特別図柄変動表示ゲームにおける変動表示パターンを決定する乱数を更新するための変動表示パターン乱数カウンタ(図15の第1変動P乱数の生成領域、第2変動P乱数の生成領域、第3変動P乱数の生成領域)の値を1ずつ加算する乱数更新処理2を行う(2916)。   Then, the game control device 100 updates the random display pattern random number counter (the first variation P random number of FIG. 15) for updating the random number for determining the variation display pattern in the decorative special symbol variation display game related to the special symbol variation display game. A random number update process 2 is performed in which the values of the generation area, the second fluctuation P random number generation area, and the third fluctuation P random number generation area) are added one by one (2916).

次に、遊技制御装置100は、各入賞口に遊技球が入賞していないかを監視するために、入賞口監視処理を行う(2917)。具体的には、第1特図始動SW37A、第2特図始動SW34A、普図始動SW31A、カウントSW36A、入賞口SW32A〜32N、から信号の入力があるか否か(遊技球の検出を示す信号が入力されているか否か)を監視する。   Next, the game control device 100 performs a winning opening monitoring process in order to monitor whether or not a gaming ball has won a winning opening (2917). Specifically, whether or not there is a signal input from the first special figure start SW 37A, the second special figure start SW 34A, the general figure start SW 31A, the count SW 36A, and the winning openings SW 32A to 32N (a signal indicating detection of a game ball) Is monitored).

このとき、大当りが発生して特別変動入賞装置36が開放中であるときには、カウントSW36Aにより遊技球の検出数を計数して、特別変動入賞装置36へ入賞した遊技球の数を計数する。この計数結果が所定数(例えば10個)になると、特別変動入賞装置36を閉止して、次のラウンドに更新する処理を行う。   At this time, when a big hit occurs and the special variation winning device 36 is open, the number of game balls detected is counted by the count SW 36A, and the number of game balls won to the special variation winning device 36 is counted. When the counted result reaches a predetermined number (for example, 10), the special variable winning device 36 is closed and the process of updating to the next round is performed.

また、このとき、普図始動SW31Aによる遊技球の検出があれば、普図保留カウンタの値が所定数未満(例えば、「4個」未満)であることを条件に「1」だけ増加させ、普図乱数カウンタ値(図15の普図乱数生成領域)が、普図保留カウンタに対応する普図始動入賞記憶領域(図15)に記憶される。   At this time, if a game ball is detected by the general chart start SW 31A, it is increased by “1” on condition that the value of the general chart hold counter is less than a predetermined number (for example, less than “four”), The common random number counter value (the common random number generation area in FIG. 15) is stored in the common figure start winning storage area (FIG. 15) corresponding to the common figure hold counter.

なお、第1特図始動SW37Aによる遊技球の検出があれば、後述する「始動口SW監視処理」にて、各種乱数値が、第1特図始動入賞記憶領域(図16)に記憶される。同様に、第2特図始動SW34Aによる遊技球の検出があれば、後述する「始動口SW監視処理」にて、各種乱数値が、第2特図始動入賞記憶領域(図17)に記憶される。   If a game ball is detected by the first special figure start SW 37A, various random numbers are stored in the first special figure start winning storage area (FIG. 16) in the “start opening SW monitoring process” described later. . Similarly, if a game ball is detected by the second special figure start SW 34A, various random numbers are stored in the second special figure start winning storage area (FIG. 17) in the “start opening SW monitoring process” described later. The

その後、遊技制御装置100は、排出球の球詰まりや、各種スイッチ、センサ等の異常などを監視するエラー監視処理を行う(2918)。   After that, the game control device 100 performs an error monitoring process for monitoring the clogging of the discharged balls, abnormalities of various switches, sensors, etc. (2918).

その後、遊技制御装置100は、特別図柄変動表示ゲームに関する処理を行う特図ゲーム処理(2919)、普通図柄変動表示ゲームに関する処理を行う普図ゲーム処理(2920)を行う。   Thereafter, the game control apparatus 100 performs a special figure game process (2919) for performing a process related to the special symbol variation display game, and a general figure game process (2920) for performing a process regarding the normal symbol variation display game.

特図ゲーム処理(2919)は、第1特図始動SW37A及び第2特図始動SW34Aで検出された始動入賞口への遊技球の入賞に基づいて抽出され、特別図柄始動入賞記憶に記憶された特別図柄乱数カウンタ値が当りか否か判定し、特図表示器120で特別図柄変動表示ゲームを実行する。なお、特図始動入賞記憶には、直ちに前記変動表示ゲームを実行することができない状態で始動入賞口に遊技球が入賞した場合に、抽出された乱数が始動入賞記憶として記憶される。なお、特図ゲーム処理の詳細は、図37にて後述する。   The special figure game process (2919) is extracted based on the winning of the game ball at the start winning opening detected by the first special figure starting SW 37A and the second special figure starting SW 34A, and stored in the special symbol starting winning memory. It is determined whether or not the special symbol random number counter value is a hit, and the special symbol display 120 executes a special symbol variation display game. The special figure starting winning memory stores the extracted random number as the starting winning memory when the game ball wins the starting winning opening in a state where the variable display game cannot be immediately executed. Details of the special game process will be described later with reference to FIG.

また、特図ゲーム処理(2919)では、特図表示器120の表示に対応する識別情報の変動表示のための処理を行う。抽出された乱数が所定の値であれば、特別図柄に関する当り状態となり、識別情報の変動表示が当り図柄で停止する。また、当り状態になると、特別変動入賞装置36に遊技球を受け入れやすい開状態になる。   In the special figure game process (2919), a process for displaying the variation of the identification information corresponding to the display on the special figure indicator 120 is performed. If the extracted random number is a predetermined value, a hit state related to the special symbol is entered, and the variation display of the identification information stops at the hit symbol. Also, when the winning state is reached, the open state is such that the special variation winning device 36 can easily accept the game ball.

普図ゲーム処理(2920)は、普図始動SW31Aで検出された普通図柄始動ゲート31への遊技球の通過に基づいて抽出され、普通図柄始動入賞記憶に記憶された普図乱数カウンタ値(2917の処理で抽出・記憶された普通図柄変動表示ゲームの結果に関する乱数)が当りか否かを判定し、普図保留カウンタの値を1だけ減算して、普図表示器121で普通図柄の変動表示ゲームを実行する。普図乱数カウンタ値が所定の値であれば、普図に関する当り状態となり、普通図柄の変動表示が当り状態で停止するためのパラメータを設定する。   The normal game process (2920) is extracted based on the passing of the game ball to the normal symbol start gate 31 detected by the normal symbol start SW 31A, and is stored in the normal symbol start winning memory (2917). It is determined whether or not the random number related to the result of the normal symbol variation display game extracted and stored in the process of (1) is a hit, the value of the general symbol hold counter is decremented by 1, and the normal symbol display 121 changes the normal symbol. Run the display game. If the common random number counter value is a predetermined value, a hit state related to the common figure is set, and a parameter is set for stopping the fluctuation display of the normal symbol in the hit state.

次に、遊技制御装置100は、遊技機1に設けられ、遊技に関する各種情報を表示するセグメントLED(特図表示器120及び普図表示器121)に出力する信号を編集する処理を行う(2921)。具体的には、特別図柄変動表示ゲームが開始されると、今回開始した特別図柄変動表示ゲームの実行回数を減じた特別図柄入賞記憶数を特図表示器120の特図記憶表示部に表示するためのパラメータを編集する。同様に、普通図柄の変動表示ゲームが開始されると、今回開始した普通図柄変動表示ゲームの実行回数を減じた普通図柄入賞記憶数を普図表示器121の普図記憶表示器に表示するためのパラメータを編集する。   Next, the game control device 100 performs processing for editing signals output to the segment LEDs (special display display 120 and general display display 121) that are provided in the gaming machine 1 and display various information related to the game (2921). ). Specifically, when the special symbol variation display game is started, the special symbol winning memory number obtained by subtracting the number of executions of the special symbol variation display game started this time is displayed on the special symbol memory display unit of the special symbol display 120. Edit the parameters for: Similarly, when the normal symbol variation display game is started, the normal symbol winning memory number obtained by reducing the number of times of execution of the normal symbol variation display game started this time is displayed on the general symbol display of the general symbol display 121. Edit the parameters.

その後、遊技制御装置100は、検査装置接続端子107を介して接続される管理用コンピュータに遊技機1の状態を出力するための外部情報を編集する外部情報編集処理を行う(2922)。外部情報には、図柄が確定したか、当りであるか、確率変動中であるか、変動時間短縮中であるか、変動表示ゲームのスタート等、変動表示ゲームの進行状態に関連する情報が含まれる。また、エラーが発生したことを示すエラー信号も含まれる。   Thereafter, the game control device 100 performs an external information editing process for editing external information for outputting the state of the gaming machine 1 to the management computer connected via the inspection device connection terminal 107 (2922). External information includes information related to the progress status of the variable display game, such as whether the symbol has been confirmed, winning, changing the probability, shortening the variable time, starting the variable display game, etc. It is. An error signal indicating that an error has occurred is also included.

次に、遊技制御装置100は、タイマ割込処理の終了を宣言する(2923)。   Next, the game control device 100 declares the end of the timer interrupt process (2923).

その後、遊技制御装置100は、スタック領域706に退避していたレジスタを復帰する復帰処理(2924)を行う。ここでは、遊技制御プログラムに記述された命令を実行することにより、S2911のステップにて退避したレジスタの値を復帰させる。次いで、禁止設定されていた割り込みの許可設定をする処理を行う(2925)。   After that, the game control apparatus 100 performs a return process (2924) for restoring the registers saved in the stack area 706. Here, by executing an instruction described in the game control program, the value of the register saved in step S2911 is restored. Next, processing for setting permission of the interrupt that has been prohibited is performed (2925).

そして、タイマ割込処理を終了し、遊技制御装置メイン処理(図25及び図26)に戻る。ここでは、「RET」命令ではなく「RETI」命令を実行して、呼出元の処理に戻る。そのため、スタック領域706に退避されていたフラグレジスタ1200(図12参照)の値も復帰することになり、スタックポインタ1233が示す値も、図19の(D)から図18の(B)の様に変化する。   And a timer interruption process is complete | finished and it returns to a game control apparatus main process (FIG.25 and FIG.26). Here, the “RETI” instruction is executed instead of the “RET” instruction, and the process returns to the caller process. Therefore, the value of the flag register 1200 (see FIG. 12) saved in the stack area 706 is also restored, and the value indicated by the stack pointer 1233 is also changed from (D) in FIG. 19 to (B) in FIG. To change.

なお、タイマ割込処理の先頭にて、図21に示す「レジスタバンクセレクタ」を切り替える命令2115(「LD RBS,0」又は「LD RBS,1」)を実行することにより、演算対象として用いるレジスタ群(汎用レジスタ群1220A、1220B)を切り替えることも可能である。例えば、呼出元の処理では汎用レジスタ群1220Aのレジスタを用いる一方で、当該タイマ割込処理では汎用レジスタ群1220Bのレジスタを用いるように切り替えることも可能である。   A register used as an operation target is executed by executing an instruction 2115 (“LD RBS, 0” or “LD RBS, 1”) for switching the “register bank selector” shown in FIG. 21 at the beginning of the timer interrupt processing. It is also possible to switch the group (general-purpose register groups 1220A, 1220B). For example, while the call source process uses the register of the general register group 1220A, the timer interrupt process can be switched to use the register of the general register group 1220B.

このようなレジスタバンクの切り換えを実行する場合は、タイマ割込処理の中では、呼出元の処理とは異なるレジスタ群のレジスタが使用されるため、S2911のステップにてレジスタを退避させるような処理や、S2911のステップにてレジスタを復帰させるような処理は不要である。   When performing such register bank switching, a register group register different from the call source process is used in the timer interrupt process. In addition, the process of restoring the register in step S2911 is not necessary.

なお、当該タイマ割込処理でも、最後に「RETI」命令を実行するので、スタック領域706に退避されていたフラグレジスタ1200(図12参照)の値が復帰することになり、フラグレジスタ1200のレジスタバンクセレクタ(RBS)1301(図13参照)の値も呼出前の状態に復帰する。そのため、図21に示す「レジスタバンクセレクタ」を切り替える命令2115(「LD RBS,0」又は「LD RBS,1」)は、タイマ割込処理の先頭で1回だけ実行すればよい。   Even in the timer interrupt processing, since the “RETI” instruction is finally executed, the value of the flag register 1200 (see FIG. 12) saved in the stack area 706 is restored, and the register of the flag register 1200 is restored. The value of the bank selector (RBS) 1301 (see FIG. 13) is also restored to the state before the call. Therefore, the instruction 2115 (“LD RBS, 0” or “LD RBS, 1”) for switching the “register bank selector” shown in FIG. 21 need only be executed once at the beginning of the timer interrupt process.

そして、次のタイマ割り込みが発生するまで初期値乱数更新処理等(図26のステップ2520〜2522の処理)を繰り返す。   Then, the initial value random number update process and the like (the processes of steps 2520 to 2522 in FIG. 26) are repeated until the next timer interrupt occurs.

図30は、本発明の第1の実施の形態の遊技制御装置100から、演出制御装置150及び払出制御装置210に初期化指令信号を送信する初期化指令送信処理の手順を示すフローチャートである。本処理は、図25のステップ2511の初期化指令送信処理に対応する。   FIG. 30 is a flowchart illustrating a procedure of initialization command transmission processing for transmitting an initialization command signal from the game control device 100 according to the first embodiment of this invention to the effect control device 150 and the payout control device 210. This processing corresponds to the initialization command transmission processing in step 2511 of FIG.

遊技制御装置100は、まず、演出指令及び排出指令の送信を禁止状態に設定する(3001)。具体的には、送信制御レジスタ632(図8)のビット4を“0”に設定して、送信データレジスタ635からの信号の出力を禁止した状態に設定する。   First, the game control device 100 sets the transmission of the effect command and the discharge command to a prohibited state (3001). Specifically, the bit 4 of the transmission control register 632 (FIG. 8) is set to “0” to set the signal output from the transmission data register 635 to a prohibited state.

次に、遊技制御装置100は、起動時の演出指令を送信データレジスタ635に格納する(3002)。そして、起動時の演出指令がすべて送信データレジスタ635に格納されるまで処理を継続する(3003)。   Next, the game control apparatus 100 stores an effect command at the time of activation in the transmission data register 635 (3002). Then, the processing is continued until all the production instructions at the time of activation are stored in the transmission data register 635 (3003).

遊技制御装置100は、すべての演出指令が送信データレジスタ635に格納されると(3003の結果が「N」)、起動時の排出指令を送信データレジスタ635に格納する(3004)。そして、起動時の排出指令がすべて送信データレジスタ635に格納されるまで処理を継続する(3005)。   When all the production commands are stored in the transmission data register 635 (the result of 3003 is “N”), the game control apparatus 100 stores the discharge command at startup in the transmission data register 635 (3004). Then, the processing is continued until all the discharge commands at the time of activation are stored in the transmission data register 635 (3005).

最後に、遊技制御装置100は、ステップ3001の処理で禁止状態に設定されていた演出指令及び排出指令の送信を許可状態に設定する(3006)。具体的には、送信制御レジスタ632(図8)のビット4を“1”に設定して、送信データレジスタ635からの信号の出力を許可した状態に設定する。   Finally, the game control device 100 sets the transmission of the effect command and the discharge command that were set to the prohibited state in the process of step 3001 to the permitted state (3006). Specifically, the bit 4 of the transmission control register 632 (FIG. 8) is set to “1” to set the signal output from the transmission data register 635 to be permitted.

図31は、本発明の第1の実施の形態の遊技制御装置100から、演出制御装置150及び払出制御装置210にコマンドを送信するためのコマンド送信処理の手順を示すフローチャートである。本処理は、図29のステップ2913のコマンド送信処理に対応する。   FIG. 31 is a flowchart illustrating a procedure of command transmission processing for transmitting a command from the game control apparatus 100 according to the first embodiment of this invention to the effect control apparatus 150 and the payout control apparatus 210. This processing corresponds to the command transmission processing in step 2913 in FIG.

遊技制御装置100は、初期化指令送信処理と同様に送信制御レジスタ632(図8)のビット4を“0”に設定して、まず、演出指令及び排出指令の送信を禁止状態に設定する(3101)。   The game control device 100 sets bit 4 of the transmission control register 632 (FIG. 8) to “0” in the same manner as the initialization command transmission process, and first sets the transmission of the production command and the discharge command to a prohibited state ( 3101).

次に、遊技制御装置100は、送信待ちの演出指令が存在するか否か(今回のタイマ割込処理のタイミングで、演出制御装置150に対応する送信データレジスタ635に書き込むべきデータが存在するか否か)を判定する(3102)。送信待ちの演出指令が存在しない場合には(3102の結果が「N」)、ステップ3112以降の排出指令に関する処理を実行する。   Next, the game control device 100 determines whether or not there is an effect command waiting for transmission (whether there is data to be written in the transmission data register 635 corresponding to the effect control device 150 at the timing of the timer interrupt process this time). (No) is determined (3102). If there is no transmission instruction waiting to be transmitted (the result of 3102 is “N”), processing related to the discharge instruction after step 3112 is executed.

一方、遊技制御装置100は、送信待ちの演出指令が存在する場合には(3102の結果が「Y」)、送信待ちの演出指令に変動開始の演出指令が含まれているか否かを判定する(3103)。変動開始の演出指令とは、図35にて後述する「停止図柄指定コマンド(MODE=B0H)」と「飾り図柄変動パターン指定コマンド(MODE=B1H〜BFH)」の各々に相当するコマンドであり、演出制御装置150は、このコマンドを受信したことを契機に、表示装置8にて変動表示ゲームの実行を開始する。   On the other hand, when there is an effect command waiting for transmission (the result of 3102 is “Y”), the game control apparatus 100 determines whether or not the effect command for start of variation is included in the effect command waiting for transmission. (3103). The variation start effect command is a command corresponding to each of a “stop symbol designation command (MODE = B0H)” and a “decoration symbol variation pattern designation command (MODE = B1H to BFH)” described later in FIG. The presentation control device 150 starts execution of the variable display game on the display device 8 when this command is received.

遊技制御装置100は、送信待ちの演出指令に変動開始の演出指令が含まれている場合には(3103の結果が「Y」)、変動開始の演出指令を送信データレジスタに格納する(3104)。そして、送信待ちの演出指令に含まれているすべての変動開始の演出指令が送信データレジスタに格納されるまで処理を継続する(3105)。   When the production command for variation start is included in the production command waiting for transmission (the result of 3103 is “Y”), the game control apparatus 100 stores the production command for variation start in the transmission data register (3104). . Then, the processing is continued until all the change start effect commands included in the effect command waiting for transmission are stored in the transmission data register (3105).

遊技制御装置100は、送信待ちの演出指令に変動開始の演出指令が含まれていなかった場合(3103の結果が「N」)、又は送信待ちの演出指令に含まれている変動開始の演出指令をすべて送信データレジスタに格納した場合には(3105の結果が「Y」)、送信待ちの演出指令に他の演出指令が含まれているか否かを判定する(3106)。   The game control apparatus 100, when the production command for variation start is not included in the production command waiting for transmission (the result of 3103 is “N”), or the production command for variation start included in the production command waiting for transmission. Are stored in the transmission data register (the result of 3105 is “Y”), it is determined whether or not another effect command is included in the effect command waiting to be transmitted (3106).

遊技制御装置100は、送信待ちの演出指令に変動開始以外の演出指令が含まれていない場合には(3106の結果が「N」)、ステップ3111の処理を実行し、続いて、排出指令に関する処理を実行する。   When the effect command other than the start of variation is not included in the effect command waiting for transmission (the result of 3106 is “N”), the game control apparatus 100 executes the process of step 3111, and subsequently relates to the discharge command. Execute the process.

一方、遊技制御装置100は、送信待ちの演出指令に変動開始以外の演出指令が含まれている場合には(3106の結果が「Y」)、送信バッファ(送信データバッファレジスタ635A)に空きがあるか否かを判定する(3107)。具体的には、送信データステータスレジスタ631(図9)のビット0〜5の値(送信データの残量を示す値)が“00h”〜“1Fh”であれば、空きがあると判定される。   On the other hand, in the case where an effect command other than the start of variation is included in the effect command waiting for transmission (the result of 3106 is “Y”), the game control device 100 has an empty space in the transmission buffer (transmission data buffer register 635A). It is determined whether or not there is (3107). Specifically, if the value of bits 0 to 5 (value indicating the remaining amount of transmission data) in the transmission data status register 631 (FIG. 9) is “00h” to “1Fh”, it is determined that there is an empty space. .

送信バッファに空きがない場合には(3107の結果が「N」)、送信待ちの演出指令を次回の送信タイミングに持ち越し(3108)、ステップ3111の処理を実行し、続いて、排出指令に関する処理を実行する。   If there is no space in the transmission buffer (the result of 3107 is “N”), the production command waiting for transmission is carried over to the next transmission timing (3108), the processing of step 3111 is executed, and then the processing related to the discharge command is performed. Execute.

遊技制御装置100は、送信バッファに空きがある場合には(3107の結果が「Y」)、送信データレジスタに変動開始以外の演出指令を格納する(3109)。そして、送信バッファの空きが無くなるか、すべての演出指令が送信データレジスタに格納されるまで、ステップ3107から2110までの処理を継続する(3110)。   When there is an empty transmission buffer (the result of 3107 is “Y”), the game control apparatus 100 stores an effect command other than the start of fluctuation in the transmission data register (3109). Then, the processing from step 3107 to 2110 is continued until the transmission buffer becomes full or all the rendering commands are stored in the transmission data register (3110).

遊技制御装置100は、送信待ちの演出指令を送信バッファに格納する処理が終了すると、送信制御レジスタ632(図8)のビット4を“1”に設定することで、ステップ3101の処理で禁止状態に設定されていた演出指令の送信を許可状態に設定する(3111)。   When the process of storing the effect command waiting for transmission in the transmission buffer ends, the game control device 100 sets the bit 4 of the transmission control register 632 (FIG. 8) to “1”, thereby prohibiting the process in step 3101. The transmission of the production command set to “3” is set to the permitted state (3111).

以上のように、コマンド送信処理において演出指令を演出制御装置150に送信する場合、変動開始の演出指令を優先して送信することによって、遊技制御装置100における変動表示ゲームの進行状態と、演出制御装置150における変動表示ゲームの進行状態との時間差が常に固定されたものとなる。そのため、変動表示ゲームが開始される毎にこの時間差が変化するような不具合を防止できるようになり、遊技制御装置100と演出制御装置150とを同期させながら、表示装置8で実行される変動表示ゲームをより確実に実行させることができる。演出指令の送信が終了すると、続いて、排出指令を払出制御装置210に送信するための処理を実行する。   As described above, when the effect command is transmitted to the effect control device 150 in the command transmission process, the state of change display game in the game control device 100 and the effect control are transmitted by giving priority to the effect command for starting the change. The time difference from the progress state of the variable display game in the device 150 is always fixed. Therefore, it becomes possible to prevent such a problem that the time difference changes every time the variable display game is started, and the variable display executed on the display device 8 while the game control device 100 and the effect control device 150 are synchronized. The game can be executed more reliably. When the transmission of the effect command is completed, processing for transmitting the discharge command to the payout control device 210 is subsequently executed.

遊技制御装置100は、まず、SW制御領域を検査し、賞球排出対象スイッチ(SW)の立ち上がりがあるか否かを監視する(3112)。賞球を排出する入賞口に遊技球が入賞すると、賞球排出対象SWがオンに設定される。そして、遊技制御装置100は、賞球の排出に該当するスイッチが存在するか否かを判定する(3113)。   The game control device 100 first checks the SW control area and monitors whether or not the prize ball discharge target switch (SW) has risen (3112). When a game ball wins a prize opening for discharging a prize ball, the prize ball discharge target SW is set to ON. Then, the game control device 100 determines whether or not there is a switch corresponding to the prize ball discharge (3113).

なお、SW制御領域とは、遊技機に備えられた各種スイッチの検出状態を、タイマ割込毎に記憶しておく記憶領域のことである。ここでは、SW制御領域のうち、遊技球検出によって賞球が排出されるスイッチのみが対象とされ、これら対象となったスイッチのうちで、「立ち上がり情報」がオンとなっているものがあるか否かを判定している。   The SW control area is a storage area for storing detection states of various switches provided in the gaming machine for each timer interrupt. Here, in the SW control area, only the switch from which the winning ball is discharged by the detection of the game ball is targeted, and among these switches, there is a switch whose “rise information” is on. It is determined whether or not.

遊技制御装置100は、賞球の排出に該当するスイッチが存在する場合(「立ち上がり情報」がオンとなっている賞球排出対象のSWが存在する場合)には(3113の結果が「Y」)、オンとなっている賞球排出対象SWの1つを選択し、選択されたSWに該当する排出指令を送信データレジスタに格納する(3114)。   The game control apparatus 100 (when the result of 3113 is “Y”) when there is a switch corresponding to the discharge of the prize ball (when there is a SW of the prize ball discharge target whose “rise information” is on). ), One of the prize ball discharge target SWs that is turned on is selected, and a discharge command corresponding to the selected SW is stored in the transmission data register (3114).

次に、その時点で「立ち上がり情報」がオンとなっている賞球排出対象のSWが、他にも存在するかを確認する。遊技制御装置100は、他の賞球排出対象のSWがオンになっていれば、オンとなっている賞球排出対象SWの1つをさらに選択し、選択されたSWに該当する排出指令を送信データレジスタに格納する。そして、すべての賞球を排出する指令が送信データレジスタに格納されるまで処理を継続する(3115)。   Next, it is confirmed whether or not there are other SWs subject to prize ball discharge whose “rise information” is on at that time. The game control device 100 further selects one of the prize ball discharge target SWs that are on if another prize ball discharge target SW is turned on, and issues a discharge command corresponding to the selected SW. Store in the transmission data register. Then, the processing is continued until a command for discharging all prize balls is stored in the transmission data register (3115).

遊技制御装置100は、賞球の排出に該当するスイッチが存在しない場合には(3113の結果が「N」)、又は賞球の排出に該当するスイッチに対応する排出指令をすべて送信データレジスタに格納した場合には、送信待ちの他の排出指令(払出制御装置210へエラー発生やエラー解除を指令するコマンドなど)が存在するか否かを判定する(3116)。   When there is no switch corresponding to the prize ball discharge (the result of 3113 is “N”), the game control apparatus 100 sends all the discharge commands corresponding to the switch corresponding to the prize ball discharge to the transmission data register. If it is stored, it is determined whether there is another discharge command waiting for transmission (a command for instructing the payout control device 210 to generate an error or to cancel the error) (3116).

遊技制御装置100は、送信待ちの他の排出指令が存在しない場合には(3116の結果が「N」)、排出指令に関する送信を許可状態に設定し(3121)、呼び出し元に戻る。   When there is no other discharge command waiting for transmission (the result of 3116 is “N”), the game control apparatus 100 sets transmission related to the discharge command to the permitted state (3121), and returns to the caller.

一方、遊技制御装置100は、送信待ちの他の排出指令が存在する場合には(3116の結果が「Y」)、送信バッファに空きがあるか否かを判定する(3117)。具体的には、送信データステータスレジスタ631(図9)のビット0〜5の値(送信データの残量を示す値)が“00h”〜“1Fh”であれば、空きがあると判定される。   On the other hand, when there is another discharge command waiting for transmission (the result of 3116 is “Y”), the game control apparatus 100 determines whether or not there is an empty transmission buffer (3117). Specifically, if the value of bits 0 to 5 (value indicating the remaining amount of transmission data) in the transmission data status register 631 (FIG. 9) is “00h” to “1Fh”, it is determined that there is an empty space. .

送信バッファに空きがない場合には(3117の結果が「N」)、送信待ちの排出指令を次回の送信タイミングに持ち越し(3118)、排出指令に関する送信を許可状態に設定し(3121)、呼び出し元に戻る。   If there is no space in the transmission buffer (the result of 3117 is “N”), the discharge command waiting for transmission is carried over to the next transmission timing (3118), the transmission related to the discharge command is set to the permitted state (3121), and called. Return to the original.

遊技制御装置100は、送信バッファに空きがある場合には(3117の結果が「Y」)、送信待ちの排出指令を送信データレジスタに格納する(3119)。そして、送信バッファの空きが無くなるか、すべての排出指令が送信データレジスタに格納されるまで、ステップ3117から3120までの処理を継続する(3120)。最後に、排出指令に関する送信を許可状態に設定し(3121)、呼び出し元に戻る。   When there is an empty transmission buffer (the result of 3117 is “Y”), the game control apparatus 100 stores a discharge command waiting for transmission in the transmission data register (3119). Then, the processing from steps 3117 to 3120 is continued until there is no space left in the transmission buffer or all discharge instructions are stored in the transmission data register (3120). Finally, transmission related to the discharge command is set to a permitted state (3121), and the process returns to the caller.

以上のように、本実施形態では、コマンド送信処理において排出指令を払出制御装置210に送信する場合に賞球排出指令を、その他の排出指令(エラー発生/解除の指令)よりも優先して送信することによって、賞球排出対象の複数のスイッチが、同一のタイマ割込周期内で同時にオンした場合であっても、確実に賞球を排出させるように構成されている。   As described above, in this embodiment, when a discharge command is transmitted to the payout control device 210 in the command transmission process, the prize ball discharge command is transmitted with priority over other discharge commands (error generation / cancellation commands). By doing so, the prize balls are surely ejected even when the plurality of switches to which the prize balls are to be ejected are simultaneously turned on within the same timer interruption period.

このように、演出指令や賞球排出指令などの制御指令を内容に応じて優先して送信して遊技が円滑に進行するように制御し、さらに、優先されなかった制御指令については次回割込発生時に送信することによって、送信漏れのない正確な指令送信を実現することが可能となる。   In this way, control commands such as production commands and prize ball discharge commands are preferentially transmitted according to the contents to control the game so that the game progresses smoothly. By transmitting at the time of occurrence, it is possible to realize accurate command transmission without transmission omission.

図32は、本発明の第1の実施の形態の電源投入時の遊技制御装置100、払出制御装置210、及び演出制御装置150が行う処理、並びに、遊技制御装置100に備わるシリアル送信回路615の状態のタイミングチャートである。   FIG. 32 shows processing performed by the game control device 100, the payout control device 210, and the effect control device 150 when the power is turned on according to the first embodiment of the present invention, and the serial transmission circuit 615 included in the game control device 100. It is a timing chart of a state.

リセット信号が払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aに伝達されると、図23に示すステップ2302の処理により、各シリアル送信回路615が不定状態(3201)から初期状態(3202)に移行する。   When the reset signal is transmitted to the serial transmission circuit 615B connected to the payout control apparatus 210 and the serial transmission circuit 615A connected to the effect control apparatus 150, each serial transmission circuit 615 is processed by the process of step 2302 shown in FIG. Transition from the undefined state (3201) to the initial state (3202).

この不定状態では、シリアル送信回路615(シリアル送信回路615A、615B)から出力される信号線のレベルは、ハイレベルであるのかローレベルであるのか保証されない状態である。一方、シリアル送信回路615がリセット信号により初期化されて初期状態に遷移すると、シリアル送信回路615Bからの出力信号はオフを示すレベルに確定される。   In this indefinite state, it is not guaranteed whether the level of the signal line output from the serial transmission circuit 615 (serial transmission circuits 615A and 615B) is high level or low level. On the other hand, when the serial transmission circuit 615 is initialized by the reset signal and transits to the initial state, the output signal from the serial transmission circuit 615B is determined to a level indicating OFF.

シリアル送信回路615の初期状態は、遊技制御装置100が図25に示すステップ2511の処理で初期化指令を送信するために、初期化指令が各シリアル送信回路615に設定されるまで(3203)継続する。   The initial state of the serial transmission circuit 615 continues (3203) until the initialization command is set in each serial transmission circuit 615 in order for the game control apparatus 100 to transmit the initialization command in the process of step 2511 shown in FIG. To do.

一方、遊技制御装置100のセキュリティ回路630にリセット信号が伝達されると、図23に示すステップ2304の処理で自己診断処理を実行し、ステップ2305の処理でセキュリティチェック処理を実行する(3204)。セキュリティチェック処理の実行後にCPU102が起動し、CPU102によって遊技制御装置メイン処理(図25及び図26)が実行される。   On the other hand, when the reset signal is transmitted to the security circuit 630 of the game control apparatus 100, the self-diagnosis process is executed in the process of step 2304 shown in FIG. 23, and the security check process is executed in the process of step 2305 (3204). After the security check process is executed, the CPU 102 is activated, and the game control apparatus main process (FIGS. 25 and 26) is executed by the CPU 102.

CPU102は、ディレイ処理の実行(3206)前に1回目のRAMクリア信号の取り込み(3205)と、ディレイ処理の実行後に2回目のRAMクリア信号の取り込み(3207)と、を行う。言い換えると、1回目のRAMクリア信号取り込み(3205)と2回目のRAMクリア信号取り込み(3207)とは、ディレイ処理(3206)を挟んで実行される。   The CPU 102 fetches the first RAM clear signal (3205) before executing the delay process (3206), and fetches the second RAM clear signal (3207) after executing the delay process. In other words, the first RAM clear signal capture (3205) and the second RAM clear signal capture (3207) are executed with a delay process (3206) interposed therebetween.

このように、2205及び2207の各時点で実行されるRAMクリア信号取り込みの間に、ディレイ処理を実行するので、ディレイ処理の間に、1回目のRAMクリア信号取り込みで取り込んだチャタリング除去等を行うことができる。   As described above, since the delay process is executed during the RAM clear signal fetching executed at the respective times 2205 and 2207, the chattering removal etc. fetched by the first RAM clear signal fetching is performed during the delay process. be able to.

ディレイ処理(3206)で処理を待機させた後に、図25に示すステップ2516及び1510の処理でRAM104の初期化処理を行い(3208)、ステップ2511の処理で初期化指令を送信してから、通常の遊技制御を行う(3209)。   After waiting in the delay process (3206), the RAM 104 is initialized in steps 2516 and 1510 shown in FIG. 25 (3208). After the initialization command is sent in step 2511, the normal process is performed. The game control is performed (3209).

なお、通常の遊技制御を実行すると、遊技状態に応じて、払出制御指令を払出制御装置210に送信するために、払出制御指令が払出制御装置210に接続されるシリアル送信回路615Bに設定される(3210)。また、通常の遊技制御の実行中には、遊技状態に応じて、演出制御指令を演出制御装置150に送信するために、演出制御指令が演出制御装置150に接続されるシリアル送信回路615Aに設定される(3211)。   When the normal game control is executed, the payout control command is set in the serial transmission circuit 615B connected to the payout control device 210 in order to send the payout control command to the payout control device 210 according to the gaming state. (3210). Further, during the execution of the normal game control, the effect control command is set in the serial transmission circuit 615A connected to the effect control device 150 in order to transmit the effect control command to the effect control device 150 according to the game state. (3211).

一方で、払出制御装置210のセキュリティ回路にリセット信号が伝達されると、払出制御装置210のセキュリティ回路は、図23に示すステップ2314の処理で自己診断処理を実行し、ステップ2315の処理でセキュリティチェック処理を実行する(3212)。セキュリティチェック処理の実行後にCPU212が起動し、CPU212によって、図14のステップ2316の処理で電源投入時の初期化処理を実行する(3213)。払出制御装置210の初期化処理が実行されると、払出制御装置210のシリアル受信回路625を、遊技制御装置100からの指令を受信可能な状態にする(3214)。   On the other hand, when the reset signal is transmitted to the security circuit of the payout control apparatus 210, the security circuit of the payout control apparatus 210 executes a self-diagnosis process in the process of step 2314 shown in FIG. Check processing is executed (3212). After executing the security check process, the CPU 212 is activated, and the CPU 212 executes an initialization process at power-on in the process of step 2316 in FIG. 14 (3213). When the initialization process of the payout control device 210 is executed, the serial receiving circuit 625 of the payout control device 210 is made ready to receive a command from the game control device 100 (3214).

また、演出制御装置150にリセット信号が伝達されると、演出制御装置150は、図23のステップ2323の処理で電源投入時の初期化処理を実行する(3215)。演出制御装置150の初期化処理が実行されると、演出制御装置150のシリアル受信回路625を、遊技制御装置100からの指令を受信可能な状態にする(3216)。   When the reset signal is transmitted to the production control device 150, the production control device 150 executes the initialization process at the time of power-on in the process of step 2323 in FIG. 23 (3215). When the initialization process of the effect control device 150 is executed, the serial receiving circuit 625 of the effect control device 150 is set in a state where it can receive a command from the game control device 100 (3216).

遊技制御装置100は、ディレイ処理を実行することで、RAM104の初期化処理の実行開始のタイミングを遅延させている。言い換えると、ディレイ処理によって、演出制御装置150や払出制御装置210へ初期化指令を送信するタイミングを遅延させている。   The game control apparatus 100 delays the execution start timing of the initialization process of the RAM 104 by executing the delay process. In other words, the timing for transmitting the initialization command to the effect control device 150 and the payout control device 210 is delayed by the delay process.

このため、ディレイ処理によって、払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aが初期状態を維持する時間を十分に確保し、その間に、払出制御装置210及び演出制御装置150は、初期化処理を実行し、自身のシリアル受信回路625を介して遊技制御装置100からの指令を受信可能な状態にすることができる。   For this reason, the delay process ensures sufficient time for the serial transmission circuit 615B connected to the payout control device 210 and the serial transmission circuit 615A connected to the effect control device 150 to maintain the initial state, and during that time payout control is performed. The device 210 and the effect control device 150 can execute an initialization process so as to be able to receive a command from the game control device 100 via its own serial reception circuit 625.

したがって、ディレイ処理を設けることで、図25のように、リセット信号が、遊技制御装置100、払出制御装置210及び演出制御装置150に同時に伝達される構成の遊技機であっても、ハードウェア等で構成した遅延回路を設けることなく、各制御装置が起動を開始するタイミングを適切に設定することができる。   Therefore, by providing a delay process, as shown in FIG. 25, even if the gaming machine has a configuration in which the reset signal is simultaneously transmitted to the game control device 100, the payout control device 210, and the effect control device 150, hardware or the like The timing at which each control device starts to start can be appropriately set without providing the delay circuit configured as described above.

よって、図32のように、まず、払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aが初期状態に維持され、その状態で、払出制御装置210及び演出制御装置150のシリアル受信回路625が指令受信可能状態になり、次いで、払出制御装置210及び演出制御装置150に初期化指令を送信させることを確実に実行できるようになる。   Therefore, as shown in FIG. 32, first, the serial transmission circuit 615B connected to the payout control device 210 and the serial transmission circuit 615A connected to the effect control device 150 are maintained in the initial state. Then, the serial receiving circuit 625 of the effect control device 150 becomes ready to receive the command, and then it is possible to surely execute the sending of the initialization command to the payout control device 210 and the effect control device 150.

仮に、遊技機1への電源投入直後において、遊技制御装置100の払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aが初期状態に維持される以前に、払出制御装置210若しくは演出制御装置150のシリアル受信回路625が指令受信可能状態になると、払出制御装置210に接続されるシリアル送信回路615B及び演出制御装置150に接続されるシリアル送信回路615Aから出力される信号レベルが不安定であるから、払出制御装置210若しくは演出制御装置150にてこの不安定な信号レベルの情報を、正規な信号であると誤って受信するおそれがあり、誤作動を引き起こす可能性がある。   If the serial transmission circuit 615B connected to the payout control device 210 of the gaming control device 100 and the serial transmission circuit 615A connected to the effect control device 150 are maintained in the initial state immediately after the power to the gaming machine 1 is turned on. When the serial reception circuit 625 of the payout control device 210 or the effect control device 150 becomes ready to receive a command, the serial transmission circuit 615B connected to the payout control device 210 and the serial transmission circuit 615A connected to the effect control device 150 Since the output signal level is unstable, there is a possibility that the payout control device 210 or the production control device 150 may erroneously receive this unstable signal level information as a normal signal. May cause.

また、払出制御装置210若しくは演出制御装置150のシリアル受信回路625が指令受信可能状態になる前に、遊技制御装置100から、払出制御装置210若しくは演出制御装置150へ初期化指令を送信してしまうと、払出制御装置210や演出制御装置150で初期化指令を受信できなくなり、誤作動を引き起こす可能性がある。   Further, before the serial reception circuit 625 of the payout control device 210 or the effect control device 150 becomes ready for command reception, the game control device 100 transmits an initialization command to the payout control device 210 or the effect control device 150. Then, the payout control device 210 and the production control device 150 cannot receive the initialization command, which may cause a malfunction.

特に、本実施形態の遊技機のように、遊技制御装置100から払出制御装置210へ単方向で指令を送信する構成や、遊技制御装置100から演出制御装置150へ単方向で指令を送信する構成の場合には、指令された情報が正しく送信されているか否かを確認することが困難であるため、初期化時に処理を遅延させることが有効である。   In particular, as in the gaming machine of the present embodiment, a configuration in which a command is transmitted from the game control device 100 to the payout control device 210 in a single direction, or a configuration in which a command is transmitted from the game control device 100 to the effect control device 150 in a single direction. In this case, since it is difficult to confirm whether or not the commanded information is correctly transmitted, it is effective to delay the processing at the time of initialization.

また、図32では、RAMクリア信号の取り込みが2回である例を示したが、複数回であればよい。この複数回の間にディレイ処理を実行することによって、ディレイ処理実行直前のRAMクリア信号取り込みのチャタリング除去等にかかる時間をディレイ処理による遅延時間と重複させることができるので、処理を効率化させることができる。   FIG. 32 shows an example in which the RAM clear signal is fetched twice, but it may be a plurality of times. By executing the delay process between a plurality of times, the time required for chattering removal of the RAM clear signal fetching immediately before the execution of the delay process can be overlapped with the delay time by the delay process. Can do.

図33は、本発明の第1の実施の形態の遊技制御装置100から払出制御装置210に送信される排出指令の一例を示す図である。   FIG. 33 is a diagram illustrating an example of a discharge command transmitted from the game control apparatus 100 to the payout control apparatus 210 according to the first embodiment of this invention.

払出制御装置210に送信される排出指令は、払出制御装置210を初期化する指令(初期化指令信号)と、賞球を排出する指令(排出指令信号)と、エラーの発生及び解除を通知する指令(エラー通知信号)があり、モード部及びアクション部からなる共通のフォーマットで送信される。   The discharge command transmitted to the payout control device 210 notifies a command to initialize the payout control device 210 (initialization command signal), a command to discharge the prize ball (discharge command signal), and the occurrence and release of an error. There is a command (error notification signal), which is transmitted in a common format consisting of a mode part and an action part.

まず、初期化指令信号について説明すると、初期化指令信号は、モード部が「80H」であり、アクション部は「00H〜7FH」のいずれかの値となる。初期化指令信号のアクション部は、払出制御装置210に設定されている認証コードに対応する値(「00H〜7FH」のいずれかの値)となる。この払出制御装置210に設定されている認証コードに対応する値は、例えば、RAM104に設定されているものとする。なお、モード部は「80H」以上の値、アクション部には「80H」未満の値が設定されており、モード部を受信する場合に「80H」未満の値が送信された場合には不正なコマンドが送信されてきたことを判別することが可能となっている。   First, the initialization command signal will be described. In the initialization command signal, the mode portion has a value of “80H” and the action portion has any value of “00H to 7FH”. The action part of the initialization command signal becomes a value (any value of “00H to 7FH”) corresponding to the authentication code set in the payout control device 210. It is assumed that a value corresponding to the authentication code set in the payout control device 210 is set in the RAM 104, for example. The mode part is set to a value of “80H” or higher, and the action part is set to a value of less than “80H”. When the mode part is received, a value of less than “80H” is transmitted. It is possible to determine that a command has been transmitted.

初期化指令信号の出力時期は、遊技制御装置100に電源投入時であり、具体的には、図25に示すステップ2511の処理である。   The output timing of the initialization command signal is when the game control apparatus 100 is powered on, and specifically, is the process of step 2511 shown in FIG.

次に、排出指令信号について説明する。払出制御装置210によって払い出される遊技媒体の個数に対応して、15個の排出指令信号が用意されている。   Next, the discharge command signal will be described. Fifteen discharge command signals are prepared corresponding to the number of game media to be paid out by the payout control device 210.

排出指令信号のモード部は「A1H〜AFH」である。なお、このモード部の下位バイトは、排出指令信号が払い出しを指令する遊技媒体の個数と一致する。また、排出指令信号のアクション部は「5EH〜50H」となる。このアクション部は、モード部の各ビットの論理を反転した値となっている。   The mode part of the discharge command signal is “A1H to AFH”. Note that the lower byte of this mode part matches the number of game media for which the discharge command signal commands payout. The action part of the discharge command signal is “5EH to 50H”. This action part has a value obtained by inverting the logic of each bit of the mode part.

例えば、1個の遊技媒体の払い出しを指令する排出指令信号のモード部は「A1H」であり、アクション部は「5EH」である。すなわち、排出指令信号は、モード部とアクション部とからなる2バイトのデータで構成されている。   For example, the mode part of the discharge command signal for instructing the payout of one game medium is “A1H”, and the action part is “5EH”. That is, the discharge command signal is composed of 2-byte data including a mode part and an action part.

なお、排出指令信号の出力時期は、一般入賞口32、第1始動入賞口37、第2始動入賞口34、特別変動入賞装置(大入賞口)36に遊技球が入賞したタイミングで出力される。   The output timing of the discharge command signal is output at the timing when the game ball is won in the general winning opening 32, the first starting winning opening 37, the second starting winning opening 34, and the special variable winning apparatus (large winning opening) 36. .

また、払出制御装置210は、排出指令信号を受信すると、受信した排出指令信号のモード部の各ビットの論理を反転した値が、アクション部の各ビットの値と一致しなければ、受信した排出指令信号に対応する個数の遊技媒体の払い出しを許可しない。   Further, when the dispensing control device 210 receives the discharge command signal, if the value obtained by inverting the logic of each bit of the mode portion of the received discharge command signal does not match the value of each bit of the action portion, the received discharge command signal is received. Dispensing of game media corresponding to the command signal is not permitted.

最後に、エラー通知信号について説明する。排出指令がエラー発生通知の場合には、モード部にエラーが発生したことを示す「C0H」が設定される。また、エラー通知信号のアクション部は、発生したエラーの種類に対応する値(「00H〜7FH」のいずれかの値)が設定される。   Finally, the error notification signal will be described. When the discharge command is an error occurrence notification, “C0H” indicating that an error has occurred is set in the mode section. In the action part of the error notification signal, a value corresponding to the type of error that has occurred (any value of “00H to 7FH”) is set.

排出指令がエラー解除通知の場合には、モード部にエラーが解除されたことを示す「C1H」が設定される。また、エラー解除信号のアクション部は、エラー通知信号の場合と同様に、発生したエラーの種類に対応する値(「00H〜7FH」のいずれかの値)が設定される。   When the discharge command is an error release notification, “C1H” indicating that the error has been released is set in the mode section. Further, the action part of the error cancellation signal is set to a value corresponding to the type of error that has occurred (any value of “00H to 7FH”), as in the case of the error notification signal.

図34は、本発明の第1の実施の形態のスイッチの立ち上がりを検出する手順を示すタイムチャートである。なお、図中のfは割込周期であり、割込周期の先頭でタイマ割込が発生する。また、dは遅延時間を示す。スイッチの立ち上がり、すなわち、スイッチがオンになったか否かの判定は、図29に示したタイマ割込処理のステップ2912の入出力処理で行われる。なお、以下に示す、第1物理レベル、第2物理レベル、論理レベル、立上り情報は、タイマ割込が発生する毎に更新され、遊技機に備えられたスイッチ毎に整理されてSW制御領域(図31で前述)に記憶される。   FIG. 34 is a time chart illustrating a procedure for detecting the rise of the switch according to the first embodiment of this invention. In the figure, f is an interrupt cycle, and a timer interrupt is generated at the beginning of the interrupt cycle. D represents a delay time. The rise of the switch, that is, whether or not the switch has been turned on is determined in the input / output process of step 2912 of the timer interrupt process shown in FIG. Note that the first physical level, the second physical level, the logical level, and the rise information shown below are updated each time a timer interrupt occurs, and are arranged for each switch provided in the gaming machine to be the SW control area ( Stored in FIG. 31).

まず、スイッチの立ち上がり時(3401)及び立ち下がり時(3402)について説明する。CPU102は、タイマ割込発生時の入出力処理(図29のステップ2912)において、スイッチの検出信号のレベルが、前回設定された第1物理レベルと相違すると(ローレベルからハイレベル、又は、ハイレベルからローレベルに変化)、第1物理レベルを検出信号のレベルに新たに設定する。そして、所定の遅延時間が経過した後、スイッチの検出信号が、前回設定された第2物理レベルと相違する場合には、第2物理レベルを検出信号のレベルに設定する。なお、第1物理レベルと第2物理レベルとは、検出タイミングが異なるだけである。   First, the rise time (3401) and fall time (3402) of the switch will be described. In the input / output process (step 2912 in FIG. 29) when the timer interrupt occurs, the CPU 102 determines that the level of the switch detection signal is different from the previously set first physical level (from low level to high level or high level). The first physical level is newly set to the level of the detection signal. Then, when the detection signal of the switch is different from the previously set second physical level after a predetermined delay time has elapsed, the second physical level is set to the level of the detection signal. Note that the first physical level and the second physical level differ only in detection timing.

このとき、第1物理レベルと、第2物理レベルとが一致していれば、検出信号が変化したものと判断し、論理レベルに当該レベルを設定する。そして、論理レベルがローレベルからハイレベルに変化した場合には、次のタイマ割込発生から遅延時間が経過するまで、立ち上がり情報をオンに設定する。すなわち、立ち上がり情報をオンに設定した後、次のタイマ割込発生でオフに設定する。   At this time, if the first physical level and the second physical level match, it is determined that the detection signal has changed, and the level is set as the logical level. When the logic level changes from the low level to the high level, the rising information is set on until the delay time elapses after the next timer interrupt occurs. That is, after the rising edge information is set to ON, it is set to OFF when the next timer interrupt occurs.

また、本発明の第1の実施の形態では、第1物理レベルと第2物理レベルの信号レベルが相違する場合、すなわち、3403に示すように、第1物理レベル検出時と、第2物理レベル検出時とで、スイッチの検出信号のレベルが相違する場合には、ノイズが発生したものとして、論理レベルを変更しないように構成されている。このように構成することによって、ノイズ発生時に誤って立上り情報がオンに設定されることを防ぎ、後述するように、賞球排出指令が誤って払出制御装置210に送信されることを防ぐことができる。   Further, in the first embodiment of the present invention, when the signal levels of the first physical level and the second physical level are different, that is, as shown in 3403, when the first physical level is detected, the second physical level is detected. When the level of the detection signal of the switch is different from that at the time of detection, it is assumed that noise has occurred and the logic level is not changed. By configuring in this way, it is possible to prevent the rising information from being set to ON by mistake when noise occurs, and to prevent the prize ball discharge command from being erroneously transmitted to the payout control device 210, as will be described later. it can.

また、本発明の第1の実施の形態では、図34のタイミングチャートに示した立上り情報がオンとなったスイッチの中に賞球排出対象となるものが含まれている場合は、送信バッファ(図6の送信データバッファレジスタ635A)に賞球排出指令が格納されることで、遊技制御装置100から払出制御装置210に賞球排出指令が送信される。また、賞球排出指令は、賞球排出の対象となる入賞スイッチ(図4における、第1特図始動SW37A、第2特図始動SW34A、カウントSW36A、及び入賞口SW32A〜入賞口SW32N)ごとに定義される。なお、本発明の第1の実施の形態では、賞球排出の対象となる入賞スイッチが16個備えられている。   Further, in the first embodiment of the present invention, when a switch for which the rising edge information shown in the timing chart of FIG. The prize ball discharge command is transmitted from the game control device 100 to the payout control device 210 by storing the prize ball discharge command in the transmission data buffer register 635A) of FIG. Further, the prize ball discharge command is issued for each winning switch (first special figure start SW 37A, second special figure start SW 34A, count SW 36A, and prize opening SW32A to prize opening SW32N in FIG. 4) that is the target of the prize ball discharge. Defined. In the first embodiment of the present invention, there are 16 winning switches that are subject to winning ball discharge.

このとき、1回のタイマ割込周期内での送信で、送信バッファ内に格納されたすべての賞球排出指令が送信されないと、次回のタイマ割込発生時に、賞球排出対象のスイッチの立上り情報がオンとなって新たに発生した賞球排出指令を、送信バッファに取り込めないおそれがある。これを防止するには、新たに賞球排出指令が発生する度に、送信バッファに空きがあるか否かを確認して、空きがなければ次回送信時まで賞球排出指令を保持していなければならず、送信できない賞球排出指令を保持するための記憶領域(例えば、前述したSW制御領域の立ち上がり情報を一時的に退避させる領域など)を必要としてしまう。また、送信バッファに格納できなかった賞球排出指令を退避させる処理も必要となってしまう。   At this time, if all the prize ball discharge commands stored in the transmission buffer are not transmitted in one transmission within the timer interruption period, the rise of the switch for prize ball discharge will occur at the next timer interruption. There is a possibility that the prize ball discharge command newly generated when the information is turned on cannot be taken into the transmission buffer. To prevent this, every time a new prize ball discharge command is issued, it is checked whether or not there is a vacancy in the transmission buffer. If there is no vacancy, the prize ball discharge command must be held until the next transmission. In other words, a storage area for holding a prize ball discharge command that cannot be transmitted (for example, an area for temporarily saving the rising information of the SW control area described above) is required. In addition, it is necessary to save the prize ball discharge command that could not be stored in the transmission buffer.

例えば、賞球排出対象のスイッチが5個であり、賞球排出指令のサイズが2バイトであるならば、払出制御装置210に指令を送信するためのバッファ(送信データレジスタ635)に格納できるデータの最大バイト数を10バイトとしておけば、同一タイマ割込周期内で賞球排出対象の全てのスイッチが同時にオンしたとしても、全ての賞球排出指令をバッファに取り込むことができる。しかしながら、賞球排出対象のスイッチが5個を超えた場合には、バッファにはより多くの容量を必要とすることになる。   For example, if the number of prize ball discharge target switches is five and the size of the prize ball discharge command is 2 bytes, data that can be stored in a buffer (transmission data register 635) for transmitting the command to the payout control device 210. If the maximum number of bytes is set to 10 bytes, even if all the switches for discharging the prize balls are simultaneously turned on within the same timer interruption period, all the prize ball discharge commands can be taken into the buffer. However, if the number of prize ball discharge target switches exceeds five, the buffer needs more capacity.

本発明の第1の実施の形態では、送信バッファの容量を32バイトに設定しているので、賞球排出対象のスイッチが16個以下であれば、1回の割り込み発生時にすべての賞球排出指令を遊技制御装置100から払出制御装置210に送信できるように構成されている。したがって、送信されなかった賞球排出指令を保持するための記憶領域を必要とせず、また、送信されていない賞球排出指令を退避させる処理も不要となるため、必要な記憶容量を削減し、遊技制御装置100の制御プログラムを簡略化することができる。   In the first embodiment of the present invention, since the capacity of the transmission buffer is set to 32 bytes, if there are 16 or less prize ball discharge target switches, all prize balls are discharged when one interrupt occurs. A command can be transmitted from the game control device 100 to the payout control device 210. Therefore, it does not require a storage area for holding a prize ball discharge command that has not been transmitted, and also eliminates the need to save a prize ball discharge command that has not been transmitted. The control program of the game control device 100 can be simplified.

図35は、本発明の第1の実施の形態の遊技制御装置100から演出制御装置150に送信される演出制御コマンドの一例を示す図である。   FIG. 35 is a diagram illustrating an example of the effect control command transmitted from the game control device 100 to the effect control device 150 according to the first embodiment of this invention.

演出制御装置150に送信されるコマンドは、初期化コマンドと通常時のコマンドである演出コマンドとがあり、これらのモード部及びアクション部によって構成される共通のフォーマットで送信される。   The commands transmitted to the effect control device 150 include an initialization command and an effect command that is a normal command, and are transmitted in a common format constituted by these mode part and action part.

まず、初期化コマンドについて説明する。   First, the initialization command will be described.

初期化コマンドには、RAM104のすべての領域が初期化されたか否かを示す電源投入コマンドと、遊技機1のシリーズを特定するためのシリーズ機特定コマンドとが含まれる。また、直前の電源遮断時における遊技機1の遊技状態(低確率状態、高確率状態、入賞抑制状態、入賞促進状態)を通知するコマンドや直前の電源遮断時における特別図柄入賞記憶の数を通知するコマンドも初期化コマンドに含まれる。   The initialization command includes a power-on command indicating whether or not all areas of the RAM 104 have been initialized, and a series machine specifying command for specifying the series of the gaming machine 1. In addition, a command for notifying the gaming state (low probability state, high probability state, winning suppression state, winning promotion state) of the gaming machine 1 at the time of the previous power shutdown or the number of special symbol winning memories at the time of the previous power shutdown is notified. The command to be included is included in the initialization command.

図35に示すように、RAM104のすべての領域が初期化されたことを示す電源投入コマンドAのモード部は「80H」であり、アクション部は「01H」である。RAM104のすべての領域が初期化されたこととは、図25に示すステップ2510の処理が実行されたことである。   As shown in FIG. 35, the mode part of the power-on command A indicating that all areas of the RAM 104 have been initialized is “80H”, and the action part is “01H”. That all areas of the RAM 104 have been initialized means that the processing of step 2510 shown in FIG. 25 has been executed.

一方、RAM104のすべての領域が初期化されていないこと、つまり、RAM104の一部の領域が初期化されたことを示す電源投入コマンドBのモード部は「80H」であり、アクション部は「02H」である。RAM104のすべての領域が初期化されていないこと、つまり、RAM104の一部の領域が初期化されたこととは、図25に示すステップ2516の処理が実行されたことである。   On the other hand, the mode part of the power-on command B indicating that all areas of the RAM 104 are not initialized, that is, a part of the area of the RAM 104 has been initialized is “80H”, and the action part is “02H”. It is. That all the areas of the RAM 104 have not been initialized, that is, that a part of the area of the RAM 104 has been initialized means that the processing of step 2516 shown in FIG. 25 has been executed.

したがって、図25に示すステップ2510の処理が実行された場合には、ステップ2511の処理で、モード部が「80H」でアクション部が「01H」である電源投入コマンドAが送信される。図25に示すステップ2516の処理が実行された場合には、ステップ2511の処理で、モード部が「80H」でアクション部が「02H」である電源投入コマンドAが送信される。   Therefore, when the process of step 2510 shown in FIG. 25 is executed, a power-on command A having a mode part “80H” and an action part “01H” is transmitted in step 2511. When the process of step 2516 shown in FIG. 25 is executed, a power-on command A having a mode part “80H” and an action part “02H” is transmitted in step 2511.

演出制御装置150は、RAM104のすべての領域が初期化されたことを示す電源投入コマンドAを受信すると、RAM104のすべての領域が初期化されたことを表示装置8に表示する。   When receiving the power-on command A indicating that all areas of the RAM 104 have been initialized, the effect control apparatus 150 displays on the display device 8 that all areas of the RAM 104 have been initialized.

また、演出制御装置150は、RAM104のすべての領域が初期化されていないことを示す電源投入コマンドBを受信すると、RAM104のすべての領域が初期化されていないことを表示装置8に表示する。   Further, when receiving the power-on command B indicating that not all areas of the RAM 104 have been initialized, the effect control apparatus 150 displays on the display device 8 that all areas of the RAM 104 have not been initialized.

また、シリーズ機特定コマンドのモード部は「81H」であり、アクション部は「01H〜7FH」である。アクション部は、遊技機1のシリーズに対応する「01H」〜「7FH」のいずれかの値である。なお、遊技機1のシリーズに対応する値は、ROM103に設定されている。   Also, the mode part of the series machine specific command is “81H”, and the action part is “01H to 7FH”. The action part is one of values “01H” to “7FH” corresponding to the series of gaming machines 1. Note that values corresponding to the series of gaming machines 1 are set in the ROM 103.

また、遊技状態(低確率状態、高確率状態、入賞抑制状態、入賞促進状態)を通知するコマンドは、モード部が「90H」となっており、アクション部には、直前の電源遮断時における遊技状態別に対応付けられた値が格納される。例えば、低確率状態であればアクション部は「01H」であり、高確率状態であればアクション部は「02H」となる。演出制御装置150は、遊技状態を通知するコマンドを受信すると、遊技状態を報知するための演出を行う。   Further, the command for notifying the game state (low probability state, high probability state, winning suppression state, winning promotion state) has a mode portion of “90H”, and the action portion has a game at the time of the previous power cut-off. A value associated with each state is stored. For example, the action part is “01H” in the low probability state, and the action part is “02H” in the high probability state. When receiving the command for notifying the game state, the effect control device 150 performs an effect for notifying the game state.

また、特別図柄入賞記憶の数を通知する保留情報コマンドは、モード部が「A0H」となっており、アクション部は「00H〜04H」のいずれかの値である。アクション部は、直前の電源遮断時における始動記憶数(0〜4)に対応した値である。演出制御装置150は、保留情報コマンドを受信すると、表示装置8の記憶表示部(図49で後述する第1記憶表示部4920又は第2記憶表示部4930)部に、受信した保留情報コマンドに対応する始動記憶数を表示する。   Further, in the hold information command for notifying the number of special symbol winning memories, the mode portion is “A0H” and the action portion is any value from “00H to 04H”. The action part is a value corresponding to the starting memory number (0 to 4) at the time of the previous power shutdown. Upon receiving the hold information command, the effect control device 150 responds to the received hold information command in the storage display unit (first storage display unit 4920 or second storage display unit 4930 described later in FIG. 49) of the display device 8. The starting memory number to be displayed is displayed.

これらのシリーズ機特定信号、遊技状態を通知するコマンド、及び特別図柄入賞記憶の数を通知するコマンドの出力時期は、電源投入時であり、図25に示すステップ2511の処理で送信される。なお、これらの各信号と電源投入コマンドの出力順序は、いずれが先であっても後であってもよい。さらに、電源投入時に、遊技制御装置100から演出制御装置150へ通知すべき情報が他にもあれば、初期化コマンドとして一緒に送信してもよい。   The output timing of these series machine identification signals, the command for notifying the gaming state, and the command for notifying the number of special symbol winning memories is when the power is turned on, and is transmitted in the process of step 2511 shown in FIG. Note that the output order of these signals and the power-on command may be either first or second. Furthermore, when there is other information to be notified from the game control device 100 to the effect control device 150 when the power is turned on, it may be transmitted together as an initialization command.

次に、各演出コマンドについて説明する。   Next, each effect command will be described.

まず、表示装置8で実行される変動表示ゲームにおいて、始動口に遊技球が入賞したタイミングで出力され、図柄の変動開始前に実行される演出を指示する変動前演出指定コマンドについて説明する。   First, in the variable display game executed on the display device 8, a pre-change effect designation command that instructs an effect that is output at the timing when a game ball is won at the start opening and is executed before the start of symbol change will be described.

変動前演出指定コマンドのモード部は「A1H〜AFH」であり、アクション部は「01H〜7FH」のいずれかの値である。モード部は前半変動パターン番号に対応し、アクション部は後半変動パターン番号に対応する。   The mode part of the pre-change effect designation command is “A1H to AFH”, and the action part is any value of “01H to 7FH”. The mode portion corresponds to the first half variation pattern number, and the action portion corresponds to the second half variation pattern number.

演出制御装置150は、変動前演出指定コマンドを受信すると、表示装置8において識別図柄の変動開始前の演出、例えば、先読み予告としてキャラクタが登場するなどの演出が実行され、その後、図柄の変動表示を開始し、変動表示ゲームを開始する。   Upon receiving the pre-change effect designation command, the effect control device 150 executes an effect before the start of change of the identification symbol on the display device 8, for example, an effect such as the appearance of a character as a pre-reading notice, and then the change display of the symbol To start the variable display game.

表示装置8で実行される変動表示ゲームにおいて図柄の変動パターンを指示する飾り図柄変動パターン指定コマンドについて説明する。   A decorative symbol variation pattern designation command for designating a symbol variation pattern in the variation display game executed on the display device 8 will be described.

飾り図柄変動パターン指定コマンドのモード部は「B1H」であり、アクション部は「01H〜7FH」のいずれかの値である。モード部は前半変動パターン番号に対応し、アクション部は後半変動パターン番号に対応する。   The mode part of the decorative symbol variation pattern designation command is “B1H”, and the action part is any value of “01H to 7FH”. The mode portion corresponds to the first half variation pattern number, and the action portion corresponds to the second half variation pattern number.

演出制御装置150は、飾り図柄変動パターン指定コマンドを受信すると、表示装置8において図柄の変動表示を開始し、変動表示ゲームを開始する。   When receiving the decorative symbol variation pattern designation command, the effect control device 150 starts symbol variation display on the display device 8 and starts a variation display game.

飾り図柄変動パターン指定コマンドは、表示装置8において変動表示ゲームの図柄の変動表示を開始するタイミングで送信する。具体的には、表示装置8で変動表示ゲームが終了した場合に始動記憶がある場合、又は表示装置8で変動表示ゲームが実行されていない場合に始動入賞口に遊技球が入賞した場合である。   The decorative symbol variation pattern designation command is transmitted at the timing at which the variation display game symbol variation display is started on the display device 8. Specifically, it is a case where there is a start memory when the variable display game is finished on the display device 8, or a case where a game ball is won at the start winning opening when the variable display game is not executed on the display device 8. .

次に、表示装置8における変動表示ゲームにおける停止図柄を指定する停止図柄指定コマンドについて説明する。   Next, a stop symbol designation command for designating a stop symbol in the variable display game on the display device 8 will be described.

停止図柄指定コマンドのモード部は「B0H」であり、アクション部は「01H〜7FH」のいずれかの値である。アクション部は、停止図柄に対応する値である。   The mode part of the stop symbol designation command is “B0H”, and the action part is one of the values “01H to 7FH”. The action part is a value corresponding to the stop symbol.

演出制御装置150は、停止図柄指定コマンドを受信すると、受信した停止図柄指定コマンドに基づいて、表示装置8における変動表示ゲームの停止図柄を特定する。   When receiving the stop symbol designation command, the effect control device 150 specifies the stop symbol of the variable display game on the display device 8 based on the received stop symbol designation command.

停止図柄指定コマンドは、表示装置8の変動表示ゲームの変動表示を開始するときに送信される。   The stop symbol designation command is transmitted when the variation display of the variation display game on the display device 8 is started.

続いて、変動時間が経過し、変動表示中の図柄を停止するための図柄変動停止コマンドについて説明する。   Next, a symbol variation stop command for stopping the symbol whose variation time has elapsed and displaying the variation is described.

図柄変動停止コマンドのモード部は「C0H」であり、アクション部は「01H」である。   The mode part of the symbol variation stop command is “C0H”, and the action part is “01H”.

演出制御装置150は、図柄変動停止コマンドを受信すると、表示装置8で変動表示している図柄を停止させる。   When receiving the symbol variation stop command, the effect control device 150 stops the symbol that is variably displayed on the display device 8.

図柄変動停止コマンドは、変動時間が経過したタイミングで送信される。   The symbol fluctuation stop command is transmitted when the fluctuation time has elapsed.

続いて、特別遊技状態発生中に送信される大当り関連コマンドについて説明する。   Next, a jackpot related command transmitted during the occurrence of a special gaming state will be described.

大当り関連演出指令信号のモード部は「D0H」であり、アクション部は「01H〜7FH」のいずれかの値である。アクション部は、特別遊技状態の進行状況に応じた値である。   The mode portion of the big hit related effect command signal is “D0H”, and the action portion is any value of “01H to 7FH”. The action part is a value corresponding to the progress status of the special game state.

演出制御装置150は、大当り関連コマンドを受信すると、受信した大当り関連コマンドに基づいて、特別遊技状態に関連する演出を行う。   When receiving the jackpot related command, the performance control device 150 performs an effect related to the special gaming state based on the received jackpot related command.

遊技機1においてエラーが発生した場合にエラーの発生を報知するためのエラー関連コマンドについて説明する。   An error-related command for notifying the occurrence of an error when an error occurs in the gaming machine 1 will be described.

エラー関連コマンドのモード部は「70H」であり、アクション部は「01H〜7FH」のいずれかの値である。アクション部は発生したエラーに対応した値である。   The mode part of the error-related command is “70H”, and the action part is one of values “01H to 7FH”. The action part is a value corresponding to the error that has occurred.

演出制御装置150は、エラー関連コマンドを受信すると、エラー関連コマンドに基づいて、発生したエラーを報知するための演出を行う。   When receiving the error-related command, the effect control device 150 performs an effect for notifying the error that has occurred based on the error-related command.

エラー関連コマンドは、遊技制御装置100がエラーを検出したタイミングで送信される。   The error-related command is transmitted when the game control device 100 detects an error.

なお、前述の遊技状態を通知するコマンド(モード部=「90H」)は、電源投入時だけでなく、通常の遊技中において遊技状態が変化した場合にも送信される。例えば、遊技中において低確率状態が発生したときに、モード部=「90H」かつアクション部=「01H」のコマンドが送信され、遊技中において、高確率状態が発生したときに、モード部=「90H」かつアクション部=「02H」のコマンドが送信される。   Note that the above-described command (mode portion = “90H”) for notifying the gaming state is transmitted not only when the power is turned on, but also when the gaming state changes during normal gaming. For example, when a low probability state occurs during a game, a command of mode portion = “90H” and action portion = “01H” is transmitted, and when a high probability state occurs during a game, the mode portion = “ 90H "and action part =" 02H "are transmitted.

また、前述の特別図柄入賞記憶の数を通知するコマンド(モード部=「A0H」)は、電源投入時だけでなく、通常の遊技中において始動入賞口に遊技球が入賞して始動記憶数が増加した場合にも送信される。例えば、遊技中において始動入賞口に遊技球が入賞して始動記憶数が「3」に変化したときには、モード部=「A0H」かつアクション部=「03H」の信号が送信される。   In addition, the command (mode part = “A0H”) for notifying the number of special symbol winning memories mentioned above is not only when the power is turned on, but when the game ball is won at the starting winning opening during normal games, Sent when the number increases. For example, when the game ball is won at the start winning opening during the game and the start memory number is changed to “3”, a signal of mode portion = “A0H” and action portion = “03H” is transmitted.

したがって、これらの遊技状態を通知する信号、及び特別図柄入賞記憶の数を通知する信号は、演出コマンドとしても機能することになる。   Therefore, the signal for notifying these gaming states and the signal for notifying the number of special symbol winning memories also function as effect commands.

なお、前述したように、これらの信号のうち、変動前演出指定コマンドは、他の信号よりも優先して演出制御装置150へのデータ送信を行うためのバッファ(送信データレジスタ635)に取り込まれる。これにより、遊技制御装置100における変動表示ゲームの進行状態と、演出制御装置150における変動表示ゲームの進行状態との時間差を常に固定させる。   As described above, among these signals, the pre-fluctuation effect designation command is fetched into a buffer (transmission data register 635) for transmitting data to the effect control device 150 with priority over other signals. . Thus, the time difference between the progress state of the variable display game in the game control device 100 and the progress state of the variable display game in the effect control device 150 is always fixed.

図36は、本発明の第1の実施の形態の遊技制御装置100から演出制御装置150に送信される送信データの構成を示す説明図である。図36(a)は送信データの概略構成を示し、図36(b)は送信データの詳細構成を示している。なお、遊技制御装置100から払出制御装置210に送信される送信データの構成も同様である。   FIG. 36 is an explanatory diagram illustrating a configuration of transmission data transmitted from the game control device 100 to the effect control device 150 according to the first embodiment of this invention. FIG. 36A shows a schematic configuration of transmission data, and FIG. 36B shows a detailed configuration of transmission data. The configuration of transmission data transmitted from the game control device 100 to the payout control device 210 is the same.

図36(a)に示すように、1組の制御指令データは、コマンドの分類を識別するためのモードデータDCmと、実行されるコマンドの内容(機能)を示すアクションデータDCaで構成される。これらのモードデータDCm及びアクションデータDCaは、図33の賞球排出指令のMODE及びACTION、図35の演出制御コマンドのMODE及びACTIONに各々対応する。   As shown in FIG. 36 (a), one set of control command data is composed of mode data DCm for identifying the command classification and action data DCa indicating the content (function) of the command to be executed. These mode data DCm and action data DCa correspond to the prize ball discharge command MODE and ACTION shown in FIG. 33 and the effect control command MODE and ACTION shown in FIG. 35, respectively.

また、本実施形態では、送信バッファに設定されたすべての制御指令データ(最大32バイト)を1回の割込周期ですべて送信可能となるようにデータの送信速度が設定されている。したがって、遊技制御装置100の制御プログラムを複雑化させずに、演出制御装置150への指令送信を一時的に中断するなどの処理を必要とせず、また、指令送信の遅れなどによって、遊技制御装置100と演出制御装置150の各制御の進行状態がずれないようにすることが可能となる。   In this embodiment, the data transmission speed is set so that all the control command data (maximum 32 bytes) set in the transmission buffer can be transmitted in one interrupt cycle. Therefore, without complicating the control program of the game control device 100, processing such as temporarily interrupting command transmission to the effect control device 150 is not required, and the game control device may be delayed due to a delay in command transmission. It is possible to prevent the progress of each control of 100 and the effect control device 150 from deviating.

また、図36(b)に示すように、1組の制御指令データを構成するモードデータDCm及びアクションデータDCaは、8ビットのコマンドデータに、1フレームの開始であることを示すスタートビット、1ビットのパリティデータ、1フレームの終わりであることを示すストップビットが付加され、1フレームを処理単位として送信される。従って、この1フレームの時間が、1バイトあたりのデータ送信時間(送信バッファに格納された制御指令データを1バイト送信するために必要な時間)となる。   Further, as shown in FIG. 36 (b), the mode data DCm and action data DCa constituting one set of control command data are 8 bits of command data, a start bit indicating the start of one frame, Bit parity data, a stop bit indicating the end of one frame is added, and one frame is transmitted as a processing unit. Therefore, the time of one frame is the data transmission time per byte (the time necessary for transmitting one byte of control command data stored in the transmission buffer).

すなわち、本実施形態では、非同期方式(調歩同期式)によるシリアル通信を利用して制御指令データを送信する。   That is, in this embodiment, the control command data is transmitted using serial communication using an asynchronous method (start-stop synchronization method).

演出制御装置150は、受信した1組の制御指令データ(モードデータDCm+アクションデータDCa)を解析し、表示装置8、音回路156、装飾制御装置等を制御するための制御データを生成する。   The effect control device 150 analyzes the received set of control command data (mode data DCm + action data DCa), and generates control data for controlling the display device 8, the sound circuit 156, the decoration control device, and the like.

本実施形態では、1回の割込処理で生成された一連の制御指令データを送信するときに、全ての制御指令データを、タイマ割込周期内で一時に送信するようにしている。すなわち、一連の制御指令データを全て送信データレジスタ635に格納した後で、シリアル送信回路615を送信許可状態として(送信制御レジスタ632の送信イネーブルを送信許可に設定)送信を開始する。   In this embodiment, when a series of control command data generated by one interrupt process is transmitted, all the control command data is transmitted at a time within a timer interrupt cycle. That is, after storing a series of control command data in the transmission data register 635, the serial transmission circuit 615 is set in a transmission-permitted state (transmission enable in the transmission control register 632 is set to transmission permission), and transmission is started.

従属制御装置としての演出制御装置150は、連続して受信したデータを、一連の制御指令データとして認識する。そして、この一連の制御指令データを処理単位として演出装置(例えば、表示装置8)を制御する。   The effect control device 150 as a subordinate control device recognizes continuously received data as a series of control command data. Then, the rendering device (for example, the display device 8) is controlled using this series of control command data as a processing unit.

これにより、演出制御装置150は、タイマ割込処理毎に生成された一連の制御指令データを特定でき、1回のタイマ割込処理で生成された一連の制御指令データを処理単位として演出装置を制御するので、一連の制御指令データに基づく演出を連続して(タイムラグなく)実行することができる。   Thereby, the production control device 150 can specify a series of control command data generated for each timer interrupt process, and the production control apparatus 150 can use the series of control command data generated by one timer interruption process as a processing unit. Since it controls, the production based on a series of control command data can be executed continuously (without time lag).

次に、図37を参照して、図29のタイマ割込処理における特図ゲーム処理(2918)の詳細を説明する。図37は、本発明の第1の実施の形態の特図ゲーム処理の手順を示すフローチャートである。   Next, with reference to FIG. 37, the details of the special game process (2918) in the timer interruption process of FIG. 29 will be described. FIG. 37 is a flow chart showing the procedure of the special figure game process according to the first embodiment of this invention.

遊技制御装置100は、第1始動入賞口37(図3参照)及び普通変動入賞装置33(図3参照)の第2始動入賞口への遊技球の入賞を監視し、入賞に基づき各種乱数値の記憶を行う始動口SW監視処理を実行する(3700)。なお、始動口SW監視処理についての詳細は、図39にて後述する。   The game control device 100 monitors the winning of the game ball to the first start winning port 37 (see FIG. 3) and the second starting winning port of the normal variation winning device 33 (see FIG. 3), and various random number values based on the winning. Is executed (3700). The details of the start port SW monitoring process will be described later with reference to FIG.

遊技制御装置100は、カウントSW36A(図3参照)からの入力を監視するカウントスイッチ監視処理を行う(3701)。   The game control apparatus 100 performs a count switch monitoring process for monitoring an input from the count SW 36A (see FIG. 3) (3701).

遊技制御装置100は、ステップ3706〜3712の各処理で設定される特図ゲーム処理タイマが0であるか否かを判定する(3702)。   The game control apparatus 100 determines whether or not the special figure game process timer set in each process of steps 3706 to 3712 is 0 (3702).

特図ゲーム処理タイマが0でないと判定された場合には(3702の結果が「N」)、遊技制御装置100は、特図ゲーム処理タイマを−1更新し(3703)、更新された特図ゲーム処理タイマがタイムアップして0になったか否かを判定する(3704)。特図ゲーム処理タイマがタイムアップしていない場合には(3704の結果が「N」)、遊技制御装置100はステップ3714の処理を実行する。   If it is determined that the special figure game processing timer is not 0 (the result of 3702 is “N”), the game control device 100 updates the special figure game processing timer by −1 (3703), and the updated special figure is displayed. It is determined whether or not the game processing timer has timed up to 0 (3704). If the special game process timer has not expired (the result of 3704 is “N”), the game control apparatus 100 executes the process of step 3714.

一方、特図ゲーム処理タイマが0であると判定された場合には(3702の結果が「Y」)、又は特図ゲーム処理タイマがタイムアップしたと判定された場合には(3704の結果が「Y」)、遊技制御装置100は、ゲーム処理番号を取得し、取得したゲーム処理番号に基づいて実行する処理を選択するゲーム分岐処理を行う(3705)。   On the other hand, when it is determined that the special figure game process timer is 0 (the result of 3702 is “Y”), or when it is determined that the special figure game process timer is up (the result of 3704 is “Y”), the game control apparatus 100 acquires a game process number, and performs a game branch process for selecting a process to be executed based on the acquired game process number (3705).

ゲーム処理番号が0である場合には、遊技制御装置100は、特図変動表示ゲームの変動開始を監視し、特図変動表示ゲームの変動開始の設定や演出の設定、特図変動中処理を行うために必要な情報の設定を行う特図普段処理を実行する(3706)。特図普段処理では、特図変動表示ゲームの変動に係る情報の設定を行うようになっており、始動記憶に基づく特図変動表示ゲームの実行に伴って始動記憶を1デクリメントする処理や特図変動表示ゲームにおける変動時間の設定処理等を行う。なお、特図普段処理についての詳細は、図45にて後述する。   When the game process number is 0, the game control device 100 monitors the start of fluctuation of the special figure fluctuation display game, and performs the setting of the fluctuation start of the special figure fluctuation display game, the setting of the effect, and the special figure fluctuation processing. A special figure routine process for setting information necessary for the execution is executed (3706). In the special figure routine process, information related to the fluctuation of the special figure fluctuation display game is set, and a process or special figure for decrementing the start memory by one in accordance with the execution of the special figure fluctuation display game based on the start memory. A process for setting a change time in a change display game is performed. Details of the special figure routine processing will be described later with reference to FIG.

ゲーム処理番号が1である場合には、遊技制御装置100は、特図表示中処理(3708)を行うために必要な情報(特図変動表示ゲームにおける結果の停止表示時間等)の設定を行う特図変動中処理を実行する(3707)。   When the game process number is 1, the game control apparatus 100 sets information necessary for performing the special figure display processing (3708) (such as a stop display time of the result in the special figure variable display game). The special figure changing process is executed (3707).

ゲーム処理番号が2である場合には、遊技制御装置100は、特図表示中処理を実行する(3708)。特図表示中処理では、特図変動表示ゲームの結果が大当りである場合にファンファーレ・インターバル処理(3709)を行うために必要な情報が設定され、特図変動表示ゲームの結果がはずれである場合には特図普段処理(3706)を行うために必要な情報が設定される。   When the game process number is 2, the game control apparatus 100 executes a special figure display process (3708). In the special figure display processing, when the result of the special figure fluctuation display game is a big hit, information necessary for performing the fanfare interval process (3709) is set, and the result of the special figure fluctuation display game is out of sync Is set with information necessary for performing the special figure routine processing (3706).

ゲーム処理番号が3である場合には、遊技制御装置100は、特別遊技状態における大入賞口の開放回数の更新等の処理を行うファンファーレ・インターバル処理を実行する(3709)。なお、この処理において、ラウンド開始コマンドが設定される。   When the game process number is 3, the game control apparatus 100 executes a fanfare interval process for performing a process such as updating the number of times the special winning opening is opened in the special game state (3709). In this process, a round start command is set.

ゲーム処理番号が4である場合には、遊技制御装置100は大入賞口開放中処理を行う(3710)。大入賞口開放中処理では、特別遊技状態が最終ラウンドでなければファンファーレ・インターバル処理(3709)を行うために必要な情報(インターバルコマンドを含む)が設定され、特別遊技状態が最終ラウンドであれば特別遊技状態の終了画面のコマンド(大当り終了コマンド)の設定や大入賞口残存球処理(3711)を行うために必要な情報が設定される。   When the game process number is 4, the game control apparatus 100 performs a special winning opening opening process (3710). In the special prize opening opening process, if the special gaming state is not the final round, information (including the interval command) necessary for performing the fanfare interval process (3709) is set, and if the special gaming state is the final round. Information necessary for setting a special game state end screen command (a jackpot end command) and performing a winning ball remaining ball process (3711) is set.

ゲーム処理番号が5である場合には、遊技制御装置100は大入賞口残存球処理を行う(3711)。大入賞口残存球処理では、特別遊技状態が最終ラウンドである場合に、大入賞口を閉鎖した後に大入賞口内に残存する全ての遊技球がカウントSW42cで検出されるまでの時間が設定される。   If the game process number is 5, the game control device 100 performs a big winning opening remaining ball process (3711). In the special winning opening remaining ball processing, when the special gaming state is the final round, a time is set until all the gaming balls remaining in the special winning opening are detected by the count SW 42c after the special winning opening is closed. .

ゲーム処理番号が6である場合には、遊技制御装置100は大当り終了処理を実行する(3712)。大当り終了処理では、特別遊技状態を終了する処理が行われ、特図普段処理(3706)を行うために必要な情報が設定される。   If the game process number is 6, the game control device 100 executes a jackpot end process (3712). In the big hit ending process, a process for ending the special gaming state is performed, and information necessary for performing the special figure routine process (3706) is set.

ゲーム処理番号に基づくステップ3706〜3712の処理を行った後、遊技制御装置100は、設定された各種データをセーブするテーブルデータセーブ処理を実行する(3713)。その後、遊技制御装置100は、特図1変動表示ゲームのゲーム処理タイマの更新等を行う特図1変動制御処理(3714)を実行し、特図2変動表示ゲームのゲーム処理タイマの更新等を行う特図2変動制御処理(3715)を実行して、特図ゲーム処理を終了する。   After performing the processing of steps 3706 to 3712 based on the game processing number, the game control device 100 executes table data saving processing for saving various set data (3713). After that, the game control device 100 executes a special figure 1 fluctuation control process (3714) for updating the game process timer of the special figure 1 fluctuation display game, and updates the game process timer of the special figure 2 fluctuation display game. The special figure 2 fluctuation control process (3715) to be executed is executed, and the special figure game process is terminated.

図38は、本発明の第1の実施の形態の特図ゲーム処理におけるゲーム処理番号に基づいた分岐の処理を説明する図である。この分岐の処理は、図37のステップ3705で実行され、行3801〜行3807の命令が順に実行されることになる。ここでは、図12で前述した各種レジスタ、図21及び図22で前述したアセンブリ言語を用いて説明を行うことにする。   FIG. 38 is a diagram illustrating a branching process based on the game process number in the special figure game process according to the first embodiment of this invention. This branching process is executed in step 3705 of FIG. 37, and the instructions in line 3801 to line 3807 are executed in order. Here, description will be made using the various registers described above with reference to FIG. 12 and the assembly language described with reference to FIGS. 21 and 22.

なお、図38における列3821は、遊技制御プログラムが格納されているユーザプログラムROM103のアドレスを示し、列3822は、当該アドレスに格納されているデータを示している。例えば、ユーザプログラムROM103の「4800H」のアドレスには「F5H」のデータが格納され、続く「4801H」のアドレスには「0CH」のデータが格納され、続く「4802H」のアドレスには「48H」のデータが格納され、続く「4803H」のアドレスには「3AH」のデータが格納されている。以降の「4804H」〜「480BH」のアドレスには、「10H」、「28H」、「87H」、‥‥、「09H」、「E9H」のデータが格納されている。   Note that a column 3821 in FIG. 38 indicates an address of the user program ROM 103 in which the game control program is stored, and a column 3822 indicates data stored in the address. For example, “F5H” data is stored in the “4800H” address of the user program ROM 103, “0CH” data is stored in the subsequent “4801H” address, and “48H” is stored in the subsequent “4802H” address. The data “3AH” is stored at the subsequent address “4803H”. In subsequent addresses “4804H” to “480BH”, data “10H”, “28H”, “87H”,..., “09H”, “E9H” are stored.

さらに、「480CH」と「480DH」のアドレスには「20H」と「48H」の値が格納されている。この2バイトのデータを16ビットのデータ(ただし、下位アドレス側と上位アドレス側を入れ替える)として表現したデータ「4820H」は、図37のステップ3706で実行される特図普段処理の先頭アドレスに相当する。同様に、「480EH」と「480FH」のアドレスに格納されるデータを16ビットで表現した「4840H」は、図37のステップ3707で実行される特図変動中処理の先頭アドレスに相当する。   Furthermore, the values “20H” and “48H” are stored in the addresses “480CH” and “480DH”. The data “4820H” expressing this 2-byte data as 16-bit data (however, the lower address side and the upper address side are interchanged) corresponds to the head address of the special figure routine processing executed in step 3706 of FIG. To do. Similarly, “4840H” in which the data stored in the addresses “480EH” and “480FH” is expressed in 16 bits corresponds to the start address of the special figure changing process executed in step 3707 of FIG.

以下、「4810H」以降に格納される16ビットの各データ「4860H」、「4880H」、「48A0H」、‥‥は、図37のステップ3708、3709、3710、‥‥で実行される、特図表示中処理、ファンファーレ・インターバル処理、大入賞口開放処理、‥‥のそれぞれの先頭アドレスに相当する。このようにして、アドレス値480CH〜4819Hの領域では、各処理の先頭アドレスが処理番号順に格納されることにより、所定の分岐アドレステーブルを構成している。   Hereinafter, the 16-bit data “4860H”, “4880H”, “48A0H”, etc. stored after “4810H” are executed in steps 3708, 3709, 3710,... Of FIG. This corresponds to the top address of each of the processing during display, fanfare interval processing, winning prize opening processing,. In this manner, in the area of the address values 480CH to 4819H, the start address of each process is stored in the order of the process number, thereby forming a predetermined branch address table.

行3801の命令は、HLレジスタ1212Aに、前述の分岐アドレステーブルの先頭となるアドレス値「480CH」をロードするものである。次に、行3802の命令が実行され、Aレジスタ1202Aにゲーム処理番号(図37の3705参照)がロードされる。次に、行3803の命令が実行され、Aレジスタ1202Aの値が2倍される。   The instruction in the line 3801 loads the address value “480CH” that is the head of the above-described branch address table into the HL register 1212A. Next, the instruction in line 3802 is executed, and the game processing number (see 3705 in FIG. 37) is loaded into the A register 1202A. Next, the instruction in line 3803 is executed, and the value of the A register 1202A is doubled.

次に、行3804によりAレジスタ1202Aの値がCレジスタ1205Aにロードされ、行3805によりBレジスタ1204Aに「0」の値がロードされることで、BCレジスタ1206AにAレジスタ1202Aの値が設定される。   Next, the value of the A register 1202A is loaded to the C register 1205A by the line 3804, and the value of “0” is loaded to the B register 1204A by the line 3805, so that the value of the A register 1202A is set to the BC register 1206A. The

次に、行3806によりHLレジスタ1212AにBCレジスタ1206Aの値が加算される。これにより、HLレジスタ1212Aには、ゲーム処理番号に対応する処理の分岐先のアドレスが設定される。最後に、行3807の「JP (HL)」命令を実行することで、HLレジスタ1212Aが示すアドレスに、処理を移行させる。   Next, in line 3806, the value of the BC register 1206A is added to the HL register 1212A. Thereby, the branch destination address of the process corresponding to the game process number is set in the HL register 1212A. Finally, by executing the “JP (HL)” instruction in line 3807, the processing is shifted to the address indicated by the HL register 1212A.

ここで、行3801〜行3807の各命令と、遊技制御プログラムが格納されているユーザプログラムROM103に記憶される列3722の各データとの関係について説明する。   Here, the relationship between each command in the rows 3801 to 3807 and each data in the column 3722 stored in the user program ROM 103 in which the game control program is stored will be described.

遊技制御プログラムを記述するアセンブリ言語の命令は、図21及び図22で前述したコードに変換されて、ユーザプログラムROM103に記憶されている。例えば、行3801の「LD HL,480CH」の命令は、「4800H」〜「4803H」のアドレスに配置される「F5H」、「0CH」「48H」の値に変換されて、ユーザプログラムROM103に記憶されている。行3802〜行3807の各命令も、対応するコードに変換されて、ユーザプログラムROM103の「4803H」〜「480BH」のアドレスに、順に記憶されている。   The assembly language instruction describing the game control program is converted into the code described above with reference to FIGS. 21 and 22 and stored in the user program ROM 103. For example, the instruction “LD HL, 480CH” in the row 3801 is converted into values “F5H”, “0CH”, “48H” arranged at addresses “4800H” to “4803H” and stored in the user program ROM 103. Has been. The instructions in rows 3802 to 3807 are also converted into corresponding codes and stored in order at addresses “4803H” to “480BH” of the user program ROM 103.

なお、行3808以降の記述は、特図普段処理、特図変動中処理、特図表示中処理、ファンファーレ・インターバル処理、大入賞口開放処理、‥‥の先頭アドレスの値をプログラム中に配置することを示しており、ユーザプログラムROM103の「480CH」以降のアドレスに、対応するアドレスデータが設定されることによって、前述の分岐アドレステーブルが構成されることになる。   In the description after line 3808, the special address routine process, special chart change process, special chart display process, fanfare interval process, big prize opening release process, etc. are arranged in the program. When the corresponding address data is set in the addresses after “480CH” in the user program ROM 103, the above-described branch address table is configured.

このように、HLレジスタに所定の分岐アドレステーブルの先頭アドレス(「480CH」)を設定し、処理番号(SEQNO)に応じてHLレジスタの値を更新することによって、処理番号に応じた処理を実行することができる。したがって、HLレジスタは、分岐アドレス設定レジスタとして機能する。   As described above, the start address (“480CH”) of a predetermined branch address table is set in the HL register, and the value corresponding to the process number is updated by updating the value of the HL register according to the process number (SEQNO). can do. Therefore, the HL register functions as a branch address setting register.

なお、「JP (HL)」以外に、特定のレジスタが示す値をアドレスと見なして分岐する命令が存在すれば、そのレジスタは分岐アドレス設定レジスタとして機能することになる。例えば、図21には図示していないが、IXレジスタ1231が示す値のアドレスに処理を分岐させる命令「JP (IX)」を用いていれば、IXレジスタ1231は分岐アドレス設定レジスタとして機能していることとなる。   In addition to “JP (HL)”, if there is an instruction to branch by regarding a value indicated by a specific register as an address, the register functions as a branch address setting register. For example, although not shown in FIG. 21, if the instruction “JP (IX)” for branching the process to the address indicated by the IX register 1231 is used, the IX register 1231 functions as a branch address setting register. Will be.

また、「JP (HL)」命令を用いなくても、HLレジスタが示す値をアドレスと見なして、そのアドレスに処理を分岐させるような方法は、他にもある。例えば、「PUSH HL」命令を実行して、一旦スタック領域に706にHLレジスタの値を格納し、直後に「RET」命令を実行すれば、スタック領域に706に格納してあったHLレジスタの値がプログラムカウンタ1234に格納される。その結果、HLレジスタが示す値のアドレスに処理を分岐させることができる。   Further, there is another method in which the value indicated by the HL register is regarded as an address and processing is branched to that address without using the “JP (HL)” instruction. For example, if the “PUSH HL” instruction is executed, the value of the HL register is temporarily stored in the stack area 706, and immediately after the “RET” instruction is executed, the HL register stored in the stack area 706 is stored. The value is stored in the program counter 1234. As a result, the process can be branched to the address of the value indicated by the HL register.

このような方法を用いるのであれば、HLレジスタ1212A以外のレジスタを分岐アドレス設定レジスタとして機能させることも可能である。例えば、DEレジスタ1209Aをスタック領域に706に格納した直後に「RET」命令を実行すれば、DEレジスタ1209Aが示す値のアドレスに分岐するので、この場合はDEレジスタ1209Aが分岐アドレス設定レジスタとして機能することになる。   If such a method is used, it is possible to cause a register other than the HL register 1212A to function as a branch address setting register. For example, if the “RET” instruction is executed immediately after the DE register 1209A is stored in the stack area 706, it branches to the address indicated by the DE register 1209A. In this case, the DE register 1209A functions as a branch address setting register. Will do.

次に、図39を参照して、図37の特図ゲーム処理における始動口SW監視処理(3700)の詳細を説明する。図39は、本発明の第1の実施の形態の始動口SW監視処理の手順を示すフローチャートである。   Next, the details of the start port SW monitoring process (3700) in the special game process of FIG. 37 will be described with reference to FIG. FIG. 39 is a flowchart illustrating a procedure of start port SW monitoring processing according to the first embodiment of this invention.

始動口SW監視処理では、遊技制御装置100は、まず第1始動入賞があるか否かの判定を行う(3900)。第1始動入賞口37への入賞があるか否かは、第1始動入賞口37への入賞があった場合に第1特図始動SW37Aから出力される遊技球の検出信号の有無によって判定される。第1始動入賞がない場合には(3900の結果が「N」)、遊技制御装置100はステップ3901の処理を実行する。これに対して、第1始動入賞がある場合には(3900の結果が「Y」)、遊技制御装置100は特図始動口SW共通処理(3904)を実行し、始動口SW監視処理を終了する。なお、特図始動口SW共通処理についての詳細は図40にて後述する。   In the start port SW monitoring process, the game control device 100 first determines whether or not there is a first start prize (3900). Whether or not there is a prize at the first start prize opening 37 is determined by the presence or absence of a detection signal of a game ball output from the first special figure start SW 37A when there is a prize at the first start prize opening 37. The If there is no first start prize (the result of 3900 is “N”), the game control device 100 executes the process of step 3901. On the other hand, when there is the first start winning (the result of 3900 is “Y”), the game control device 100 executes the special figure start port SW common process (3904) and ends the start port SW monitoring process. To do. Details of the special figure start port SW common process will be described later with reference to FIG.

遊技制御装置100は、普電作動中であるか否かを判定する(3901)。具体的には、遊技制御装置100は、普電(普通電動役物)としての普通変動入賞装置33の開閉部材が作動し、遊技球の入賞が可能な開状態となっているか否かを判定する。開閉部材が開状態であって普電作動中である場合には(3901の結果が「Y」)、遊技制御装置100はステップ3903の処理を実行する。これに対して、開閉部材が閉状態であって普電作動中でない場合には(3901の結果が「N」)、遊技制御装置100はステップ3902の処理を実行する。   The game control apparatus 100 determines whether or not a normal power operation is in progress (3901). Specifically, the game control device 100 determines whether or not the open / close member of the normal variation winning device 33 serving as a general electric (ordinary electric accessory) is in an open state in which a game ball can be won. To do. If the opening / closing member is in the open state and is operating in normal power (the result of 3901 is “Y”), the game control device 100 executes the process of step 3903. On the other hand, when the opening / closing member is in the closed state and is not operating in normal power (the result of 3901 is “N”), the game control device 100 executes the process of step 3902.

遊技制御装置100は、不正入賞エラーが発生したか否かを判定する(3902)。具体的には、遊技制御装置100は、普通変動入賞装置33の開閉部材が閉状態である状態で発生した不正な入賞があるか否かを判定する。なお、普通変動入賞装置33の開閉部材が閉状態になった後の所定期間に検出された入賞は、不正入賞ではないと判定される。不正入賞エラーが発生している場合には(3902の結果が「Y」)、遊技制御装置100は始動口SW監視処理を終了する。これに対して、不正入賞エラーが発生していない場合には(3902の結果が「N」)、遊技制御装置100はステップ3903の処理を実行する。   The game control apparatus 100 determines whether or not an illegal winning error has occurred (3902). Specifically, the game control device 100 determines whether or not there is an illegal winning that has occurred while the opening / closing member of the normal variation winning device 33 is in the closed state. Note that a winning detected in a predetermined period after the opening / closing member of the normal variation winning device 33 is closed is determined not to be an illegal winning. If an illegal winning error has occurred (the result of 3902 is “Y”), the game control device 100 ends the start port SW monitoring process. On the other hand, when an illegal winning error has not occurred (the result of 3902 is “N”), the game control device 100 executes the process of step 3903.

遊技制御装置100は、第2始動入賞(普通変動入賞装置33の第2始動入賞口34への入賞)があるか否かを判定する(3903)。普通変動入賞装置33の第2始動入賞口34への入賞があるか否かは、第2始動入賞口34への入賞があった場合に第2特図始動SW34Aから出力される遊技球の検出信号の有無によって判定される。第2始動入賞がない場合には(3903の結果が「N」)、遊技制御装置100は、始動口SW監視処理を終了する。これに対して、第2始動入賞がある場合には(3903の結果が「Y」)、遊技制御装置100は特図始動口SW共通処理(3904)を実行し、始動口SW監視処理を終了する。   The game control device 100 determines whether or not there is a second start prize (winning to the second start prize port 34 of the normal variation prize winning device 33) (3903). Whether or not there is a prize at the second start prize opening 34 of the normal variable prize winning device 33 is determined by detecting a game ball output from the second special figure start SW 34A when a prize is awarded at the second start prize slot 34. It is determined by the presence or absence of a signal. If there is no second start winning (the result of 3903 is “N”), the game control device 100 ends the start port SW monitoring process. On the other hand, when there is a second start winning (the result of 3903 is “Y”), the game control device 100 executes the special figure start port SW common process (3904) and ends the start port SW monitoring process. To do.

図40を参照して、図39の始動口SW監視処理における特図始動口SW共通処理(3904)の詳細を説明する。図40は、本発明の第1の実施の形態の特図始動口SW共通処理の手順を示すフローチャートである。   With reference to FIG. 40, the details of the special view start port SW common process (3904) in the start port SW monitoring process of FIG. 39 will be described. FIG. 40 is a flowchart illustrating the procedure of the special figure start port SW common process according to the first embodiment of this invention.

特図始動口SW共通処理では、遊技制御装置100は、まず対応する始動入賞フラグを設定する処理を実行する(4000)。遊技制御装置100は、第1始動入賞口37と普通変動入賞装置33の第2始動入賞口34のいずれの始動口への入賞により特図始動口SW共通処理が開始されたかに基づき始動入賞フラグを設定する。始動入賞フラグとしては、第1始動入賞口37への入賞により特図始動口SW共通処理が開始された場合は特図1フラグが設定され、普通変動入賞装置33の第2始動入賞口34への入賞により特図始動口SW共通処理が開始された場合は特図2フラグが設定される。以下の処理では、特図1フラグが設定されていれば対応する処理として特図1始動記憶についての処理が行われ、特図2フラグが設定されていれば対応する処理として特図2始動記憶についての処理が行われる。   In the special figure start port SW common process, the game control device 100 first executes a process of setting a corresponding start winning flag (4000). The game control device 100 starts the winning prize flag based on which of the first starting winning port 37 and the second starting winning port 34 of the normal variable winning device 33 is started by the winning of the special figure starting port SW common processing. Set. As the start winning flag, when the special figure starting port SW common process is started by winning the first starting winning port 37, the special figure 1 flag is set and the second winning winning port 34 of the normal variable winning device 33 is set. When the special figure start port SW common process is started by winning, the special figure 2 flag is set. In the following processing, if the special figure 1 flag is set, the special figure 1 start storage process is performed as a corresponding process, and if the special figure 2 flag is set, the special figure 2 start storage is performed as a corresponding process. Is processed.

遊技制御装置100は、まず、遊技球が入賞した始動入賞口に対応するフラグを設定する(4000)。具体的には第1始動入賞口に遊技球が入賞した場合には第1始動入賞フラグを設定し、第2始動入賞口に遊技球が入賞した場合には第2始動入賞フラグを設定する。   First, the game control device 100 sets a flag corresponding to the start winning opening where the game ball has won (4000). Specifically, a first start winning flag is set when a game ball has won a first start winning opening, and a second start winning flag is set when a gaming ball has won a second starting winning opening.

次に、遊技制御装置100は、対応する保留の数が上限(例えば4)であるか否かを判定する(4001)。対応する保留の数とは、第1始動入賞口37に遊技球が入賞した場合には第1特図保留カウンタの値が対象となり、第2始動入賞口34に遊技球が入賞した場合には第2特図保留カウンタの値が対象となる(ともに図15参照)。   Next, the game control device 100 determines whether or not the corresponding number of holds is an upper limit (for example, 4) (4001). The corresponding number of holds is the value of the first special figure hold counter when a game ball wins the first start winning opening 37, and when the game ball wins the second start pay opening 34. The value of the second special figure hold counter is targeted (see FIG. 15 for both).

このとき、対応する保留の数が上限となっていて、これ以上対応する始動記憶を記憶できない場合には(4001の結果が「Y」)、遊技制御装置100は本処理を終了して始動口SW監視処理を終了する。これに対して、対応する保留が上限でない場合には(4001の結果が「N」)、遊技制御装置100は、対応する始動記憶数(即ち、第1特図保留カウンタ又は第2特図保留カウンタのうち、入賞した始動口に対応する方)を1インクリメントする処理を実行し(4002)、その後、ステップ4003の処理を実行する。   At this time, if the number of corresponding holds is the upper limit and the corresponding start memory cannot be stored any more (the result of 4001 is “Y”), the game control device 100 ends this processing and starts the start port. The SW monitoring process ends. On the other hand, when the corresponding hold is not the upper limit (the result of 4001 is “N”), the game control device 100 sets the corresponding start memory number (that is, the first special figure hold counter or the second special figure hold). A process of incrementing one of the counters corresponding to the winning start opening) is executed (4002), and then the process of step 4003 is executed.

遊技制御装置100は、保留数情報を設定する処理を実行する(4003)。遊技制御装置100は、対応する始動記憶数が1インクリメントされたことに基づき、始動記憶数の情報である保留数情報を設定する。なお、保留数情報は、始動記憶に関する情報を含む保留情報コマンド(図35参照)の一つとして後に演出制御装置150に送信されるようになっている。その後、遊技制御装置100は、対応する大当り判定用乱数を取得する処理(4004)、対応する大当り図柄乱数を取得する処理(4005)、対応する特図変動表示ゲームの変動パターン乱数を取得する処理(4006)を実行する。ここでは、図15に示される、大当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数の各生成領域から、乱数値を取得する。   The game control apparatus 100 executes a process for setting the number-of-holds information (4003). The game control device 100 sets the number-of-holds information, which is information on the number of start memories, based on the corresponding start memory number being incremented by one. Note that the number-of-holds information is later transmitted to the effect control device 150 as one of the hold information commands (see FIG. 35) including information related to the start memory. Thereafter, the game control device 100 obtains a corresponding jackpot determination random number (4004), obtains a corresponding jackpot symbol random number (4005), and obtains a variation pattern random number for the corresponding special figure variation display game. (4006) is executed. Here, the random value is acquired from each generation region of the big hit random number, the big hit design random number, and the first to third variation pattern random numbers shown in FIG.

遊技制御装置100は、ステップ4004〜4006で取得した各種乱数値を用いて、特図保留情報判定処理を実行する(4007)。この特図保留情報判定処理の詳細は、図41を参照して後述する。   The game control apparatus 100 executes a special figure hold information determination process using the various random values acquired in steps 4004 to 4006 (4007). Details of the special figure hold information determination process will be described later with reference to FIG.

そして、遊技制御装置100は、対応する大当り判定用乱数を記憶する処理(4008)、対応する大当り図柄乱数を記憶する処理(4009)、対応する変動パターン乱数を記憶する処理を実行する(4010)。ここでは、遊技制御装置100は、ステップ4004〜4006で取得した各種乱数値を、対応する乱数記憶領域に記憶する。   Then, the game control device 100 executes processing for storing the corresponding jackpot determination random number (4008), processing for storing the corresponding jackpot symbol random number (4009), and processing for storing the corresponding variation pattern random number (4010). . Here, the game control apparatus 100 stores the various random number values acquired in steps 4004 to 4006 in the corresponding random number storage area.

対応する乱数記憶領域とは、処理対象の始動口が第1始動入賞口37であれば、図16で前述した、第1特図変動表示ゲームを実行するために必要な各種乱数の保存領域のうち、第1特図保留カウンタに対応する領域が該当する。同様に、処理対象の始動口が第2始動入賞口34であれば、図17で前述した、第2特図変動表示ゲームを実行するために必要な各種乱数の保存領域のうち、第2特図保留カウンタに対応する領域が該当する。   The corresponding random number storage area is a storage area for various random numbers necessary for executing the first special figure variation display game described above with reference to FIG. 16 if the start opening to be processed is the first start winning opening 37. Of these, the area corresponding to the first special figure hold counter corresponds. Similarly, if the start opening to be processed is the second start winning opening 34, among the various random number storage areas necessary for executing the second special figure variation display game described above with reference to FIG. This corresponds to the area corresponding to the figure hold counter.

例えば、第2始動入賞口34に遊技球が入賞した結果、ステップ4002の処理にて第2特図保留カウンタが1インクリメントされて「3」となった場合は、図17における「保留3の保存領域」に割り当てられた各種乱数の保存領域に、ステップ4004〜4006で取得した各種乱数値を記憶することになる。   For example, if the second special figure hold counter is incremented by 1 in the process of step 4002 to “3” as a result of winning the game ball in the second start winning opening 34, “save hold 3” in FIG. The various random number values acquired in steps 4004 to 4006 are stored in the storage area for the various random numbers assigned to “area”.

次いで、遊技制御装置100は、保留情報コマンドを設定する処理を実行し(4011)、本処理を終了する。保留情報コマンドは、始動口への入賞によって更新された後の保留数(第1特図保留カウンタ又は第2特図保留カウンタの値)を通知するコマンドであり、直後に演出制御装置150に送信される(正確には、次回のタイマ割込処理(図29)のコマンド送信処理(2912)が実行されるタイミングで送信される)ようになっている。   Next, the game control device 100 executes a process of setting a hold information command (4011), and ends this process. The hold information command is a command for notifying the number of holds (the value of the first special figure hold counter or the second special figure hold counter) after being updated by winning at the start opening, and is sent to the effect control device 150 immediately after. (To be precise, it is transmitted at the timing when the command transmission process (2912) of the next timer interruption process (FIG. 29) is executed).

続いて、図41を参照して、図40の特図始動口SW共通処理における特図保留情報判定処理(4007)の詳細を説明する。図41は、本発明の第1の実施の形態の特図保留情報判定処理の手順を示すフローチャートである。   Next, with reference to FIG. 41, the details of the special figure hold information determination process (4007) in the special figure start port SW common process of FIG. 40 will be described. FIG. 41 is a flowchart illustrating a procedure of special figure hold information determination processing according to the first embodiment of this invention.

特図保留情報判定処理では、乱数記憶領域へ新たに始動記憶が記憶される際に、すなわち、第1始動入賞口37や第2始動入賞口34(普通変動入賞装置33)に遊技球が入賞したタイミングで、当該該始動記憶に対応する結果関連情報の判定が行われる。つまり、特図保留情報判定処理では、新たに記憶された始動記憶に基づく特図変動表示ゲームの開始タイミングより前に、当該始動記憶に対応した結果関連情報の判定を行う先読処理が行われることになる。   In the special figure hold information determination process, when the start memory is newly stored in the random number storage area, that is, the game ball is won in the first start winning port 37 or the second starting winning port 34 (ordinary variable winning device 33). At this timing, the result related information corresponding to the start-up memory is determined. That is, in the special figure hold information determination process, a prefetching process for determining the result related information corresponding to the start memory is performed before the start timing of the special figure variation display game based on the newly stored start memory. It will be.

特図保留情報判定処理では、遊技制御装置100は、まず特図2始動記憶についての処理であるか否かを判定する(4100)。特図2始動記憶についての処理である場合には(4100の結果が「Y」)、常に先読み処理を実行するため、遊技制御装置100はステップ4103の処理を実行する。   In the special figure hold information determination process, the game control device 100 first determines whether or not the process is a special figure 2 start storage process (4100). In the case of the process for the special figure 2 start memory (the result of 4100 is “Y”), the game control apparatus 100 executes the process of step 4103 in order to always execute the prefetch process.

これに対して、特図2始動記憶についての処理でない場合(4100の結果が「N」)、つまり、特図1始動記憶についての処理である場合には、遊技制御装置100は、普通変動入賞装置33の作動状態が抑制状態であるか否かを判定する(4101)。普通変動入賞装置33の作動状態が抑制状態でない場合には(4101の結果が「N」)、遊技制御装置100は、特図1始動記憶に関連する先読み演出を実行することなく、特図保留情報判定処理を終了する。   On the other hand, if the process is not for the special figure 2 start memory (the result of 4100 is “N”), that is, if the process is for the special figure 1 start memory, the game control device 100 receives the normal variation prize. It is determined whether or not the operating state of the device 33 is a suppressed state (4101). When the operation state of the normal variation winning device 33 is not in the suppressed state (the result of 4101 is “N”), the game control device 100 does not execute the pre-reading effect related to the special FIG. The information determination process ends.

これに対して、普通変動入賞装置33が抑制状態である場合には、遊技制御装置100は、大当り中であるか否かを判定する(4102)。遊技状態が特別遊技状態であって、大当り中である場合には(4102の結果が「Y」)、遊技制御装置100は、特図1始動記憶に対する先読み演出をせずに、特図保留情報判定処理を終了する。   On the other hand, when the normal variation winning device 33 is in the restrained state, the game control device 100 determines whether or not the big hit is being made (4102). When the gaming state is the special gaming state and the jackpot is being hit (the result of 4102 is “Y”), the game control device 100 does not perform the pre-reading effect on the special figure 1 start memory, and the special figure holding information. The determination process ends.

これに対して、大当り中でない場合には(4102の結果が「N」)、遊技制御装置100は、始動記憶に対して大当り乱数が大当り判定値と一致するかを判定し、大当りである場合には大当りの種類や変動パターンを決定する特図大当り判定処理を実行する(4103)。なお、特図大当り判定処理についての詳細は、図42にて後述する。   On the other hand, when it is not a big hit (the result of 4102 is “N”), the game control device 100 determines whether the big hit random number matches the big hit determination value with respect to the start memory, and is a big hit. The special figure jackpot determination process for determining the type and variation pattern of the jackpot is executed (4103). Details of the special figure big hit determination process will be described later with reference to FIG.

遊技制御装置100は、ステップ4103の処理で一時的に記憶される大当り種類を特定する情報及び変動パターンを特定する情報を用いて、変動前演出指定コマンドを設定する(4104)。変動前演出指定コマンドは、後述する図43及び図44の変動パターンテーブルを用いて設定され、一旦、遊技制御装置100のRAM104に記憶される。そして、次回のタイマ割込処理(図29参照)が実行されて、変動前演出指定コマンドが遊技制御装置100から演出制御装置150に送信されると、演出制御装置150の変動パターン情報記憶領域に記憶される。   The game control apparatus 100 sets a pre-change effect designating command using information for specifying the jackpot type and information for specifying the change pattern that are temporarily stored in the process of step 4103 (4104). The pre-change effect designation command is set using a change pattern table shown in FIGS. 43 and 44 described later, and is temporarily stored in the RAM 104 of the game control apparatus 100. Then, when the next timer interrupt process (see FIG. 29) is executed and the pre-change effect designation command is transmitted from the game control device 100 to the effect control device 150, the change pattern information storage area of the effect control device 150 is stored. Remembered.

図42を参照して、図41の特図保留情報判定処理における特図大当り判定処理(4103)の詳細を説明する。なお、後述の図46の特図1変動開始処理(特図2変動開始処理)における特図大当り判定処理(4103)を実行する際にも、図42の処理が行われる。図42は、本発明の第1の実施の形態の特図大当り判定処理の手順を示すフローチャートである。   The details of the special figure jackpot determination process (4103) in the special figure hold information determination process of FIG. 41 will be described with reference to FIG. The process of FIG. 42 is also performed when executing the special figure big hit determination process (4103) in the special figure 1 fluctuation start process (special figure 2 fluctuation start process) of FIG. 46 described later. FIG. 42 is a flowchart illustrating a procedure of special figure jackpot determination processing according to the first embodiment of this invention.

特図大当り判定処理では、判定対象の始動記憶の大当り種類及び変動パターンを決定する処理が行われる。なお、図41の特図保留情報判定処理の特図大当り判定処理を実行する場合は、乱数記憶領域へ新たに記憶された始動記憶が判定対象となるが、図46の特図1変動開始処理(特図2変動開始処理)の特図大当り判定処理を実行する場合は、変動開始となる始動記憶が判定対象となる。すなわち、特図大当り判定処理は、複数の呼び出し元から参照される共通モジュールとなっている。   In the special figure jackpot determination process, a process of determining the jackpot type and variation pattern of the start memory to be determined is performed. Note that when the special figure jackpot determination process of the special figure hold information determination process of FIG. 41 is executed, the start memory newly stored in the random number storage area becomes the determination target, but the special figure 1 fluctuation start process of FIG. When executing the special figure jackpot determination process (special figure 2 fluctuation start process), the start-up memory at which the fluctuation starts is a determination target. That is, the special figure jackpot determination process is a common module that is referred to by a plurality of callers.

遊技制御装置100は、まず、特図確変フラグはオンになっているか否かを判定する(4200)。そして、特図確変フラグがオンの場合には(4200の結果が「Y」)、遊技制御装置100は、確変状態における、すなわち特図確率が高確率時の大当り判定を実行する(4201)。なお、特図確変フラグは、特図表示中処理(図37のステップ3708)においてオン/オフに設定される。   The game control apparatus 100 first determines whether or not the special figure probability changing flag is on (4200). When the special figure probability change flag is on (the result of 4200 is “Y”), the game control apparatus 100 executes jackpot determination in the probability change state, that is, when the special figure probability is high (4201). The special figure certainty flag is set to ON / OFF in the special figure display processing (step 3708 in FIG. 37).

特図確変フラグがオンでない場合には(4200の結果が「N」)、遊技制御装置100は、非確変状態、すなわち特図確率が低確率時の大当り判定を実行する(4202)。   If the special figure probability change flag is not on (the result of 4200 is “N”), the game control apparatus 100 executes a jackpot determination when the probability of special figure is low, that is, when the special figure probability is low (4202).

次に、遊技制御装置100は、対応する始動記憶が大当りであるか否かを判定する(4203)。すなわち、始動記憶の大当り乱数の値が、大当り判定値と一致するか否かを判定する。   Next, the game control device 100 determines whether or not the corresponding start memory is a big hit (4203). That is, it is determined whether or not the value of the jackpot random number in the start memory matches the jackpot determination value.

そして、大当りである場合には(4203の結果が「Y」)、遊技制御装置100は、対応する始動記憶の大当り図柄乱数を用いて、確変大当りや通常大当りといった大当りの種類を決定する(4204)。   If it is a big hit (the result of 4203 is “Y”), the game control device 100 determines the type of big hit such as a probability big hit or a normal big hit using the corresponding big hit symbol random number of the start memory (4204). ).

これに対し、対応する始動記憶が大当りではない場合には、遊技制御装置100は、大当りの種類が「はずれ」となったことをRWMに一時的に記憶する(4205)。   On the other hand, if the corresponding start-up memory is not a big hit, the game control device 100 temporarily stores in the RWM that the type of the big hit is “out of place” (4205).

続いて、遊技制御装置100は、対応する始動記憶の特図変動表示ゲームが短時間変動となる条件が成立しているか否かを判定する(4206)。ここでは、判定対象が特図2変動表示ゲームの始動記憶である場合は、短時間変動となる条件が成立しているものと見なされる。あるいは、判定対象が特図1変動表示ゲームの始動記憶であっても、当該判定を行う時点における特図1変動表示ゲームの始動記憶数が上限数(ここでは4)となっているか、普通変動入賞装置33の作動状態が促進状態となっているかのいずれかの状態である場合は、短時間変動となる条件が成立しているものと見なされる。   Subsequently, the game control device 100 determines whether or not a condition for changing the corresponding special map change display game in the start memory for a short time change is satisfied (4206). Here, when the determination target is the start memory of the special figure 2 fluctuation display game, it is considered that the condition for a short-time fluctuation is satisfied. Alternatively, even if the determination target is the start memory of the special figure 1 variable display game, the start memory number of the special figure 1 variable display game at the time of the determination is the upper limit number (4 in this case), or the normal fluctuation When the operating state of the winning device 33 is in the accelerated state, it is considered that the condition that changes for a short time is satisfied.

そして、短時間変動となる条件が成立する場合には(4206の結果が「Y」)、遊技制御装置100は、対応する始動記憶の第1〜第3変動パターン乱数により短時間変動の変動パターンを決定する(4207)。   If the condition for short-term fluctuation is satisfied (the result of 4206 is “Y”), the game control device 100 uses the first to third fluctuation pattern random numbers in the corresponding start memory to change the fluctuation pattern of the short-term fluctuation. Is determined (4207).

これに対し、短時間変動となる条件が成立していない場合には(4206の結果が「N」)、遊技制御装置100は、対応する始動記憶の第1〜第3変動パターン乱数により長時間変動の変動パターンを決定する(4208)。なお、変動パターン決定の仕方の詳細については図43及び図44にて後述する。   On the other hand, if the condition for the short-time fluctuation is not satisfied (the result of 4206 is “N”), the game control device 100 uses the first to third fluctuation pattern random numbers in the corresponding start memory for a long time. A variation pattern of variation is determined (4208). Details of how to determine the variation pattern will be described later with reference to FIGS.

最後に、遊技制御装置100は、はずれを含む大当り種類を特定する情報と、変動パターンを特定する情報を一時的にRWMに記憶する(4209)。ここでは、特定する情報とは、変動パターン番号である。その後、遊技制御装置100は、特図大当り判定処理を終了する。   Finally, the game control device 100 temporarily stores information for specifying the jackpot type including the disparity and information for specifying the variation pattern in the RWM (4209). Here, the information to be specified is a variation pattern number. Thereafter, the game control device 100 ends the special figure jackpot determination process.

図43及び図44を参照して、図42の変動パターンの決定(ステップ4207及びステップ4208)やステップ4209における変動パターン番号の決定について説明する。図43は、本発明の第1の実施の形態の後半変動パターンテーブルである。また、図44は、本発明の第1の実施の形態の前半変動パターンテーブルである。   With reference to FIGS. 43 and 44, determination of the variation pattern (steps 4207 and 4208) in FIG. 42 and determination of the variation pattern number in step 4209 will be described. FIG. 43 is a second half variation pattern table according to the first embodiment of this invention. FIG. 44 is a first half variation pattern table according to the first embodiment of this invention.

図43(A)は、図42のステップ4203の処理において、対応する始動記憶が大当りではないと判定された場合に選択されるテーブルであり、特図変動表示ゲームの後半の変動パターンが決定される。   FIG. 43A is a table that is selected when it is determined that the corresponding start-up memory is not a big hit in the process of step 4203 of FIG. 42, and the second half variation pattern of the special figure variation display game is determined. The

まず、対応する始動記憶の第1変動パターン乱数の値に応じて、グループ番号0〜2のいずれかが選択される。ここで、グループ番号「0」は「リーチなし」、番号「1」は「ノーマルリーチ」、番号「2」は「SPリーチ」を示す。「リーチなし」が選択される確率は2701/3001、「ノーマルリーチ」が選択される確率は295/3001、「SPリーチ」が選択される確率は5/3001である。   First, one of the group numbers 0 to 2 is selected according to the value of the first variation pattern random number in the corresponding start memory. Here, the group number “0” indicates “no reach”, the number “1” indicates “normal reach”, and the number “2” indicates “SP reach”. The probability that “no reach” is selected is 2701/3001, the probability that “normal reach” is selected is 295/3001, and the probability that “SP reach” is selected is 5/3001.

次に、対応する始動記憶の第2変動パターン乱数の値に応じて、後半変動パターン番号01h〜23hのいずれかが選択される。ここで、後半変動パターン番号「01h」は「リーチなし変動」で変動時間2秒を示す。後半変動パターン番号11h〜13hは「ノーマルリーチ」変動であり、番号「11h」は変動時間9秒の「ノーマルリーチ短変動」、番号「12h」は変動時間10秒の「ノーマルリーチ中変動」、番号「13h」は変動時間11秒の「ノーマルリーチ長変動」を示す。また、後半変動パターン番号21h〜23hは「SPリーチ」変動であり、番号「21h」は変動時間37秒の「SPリーチ短変動」、番号「22h」は変動時間38秒の「SPリーチ中変動」、番号「23h」は変動時間39秒の「SPリーチ長変動」を示す。   Next, one of the second half variation pattern numbers 01h to 23h is selected according to the value of the second variation pattern random number in the corresponding start memory. Here, the latter half variation pattern number “01h” is “variation without reach” and indicates a variation time of 2 seconds. The second half fluctuation pattern numbers 11h to 13h are “normal reach” fluctuations, the number “11h” is “normal reach short fluctuation” with a fluctuation time of 9 seconds, the number “12h” is “normal fluctuation during normal reach” with a fluctuation time of 10 seconds, and the number “13h”. "Represents" normal reach length fluctuation "with a fluctuation time of 11 seconds. The second half variation pattern numbers 21h to 23h are “SP reach” variations, the number “21h” is “SP reach short variation” with a variation time of 37 seconds, and the number “22h” is “variation during SP reach” with a variation time of 38 seconds. ", The number" 23h "indicates" SP reach length fluctuation "with a fluctuation time of 39 seconds.

図43(B)は、図42のステップ4203において、対応する始動記憶が大当りであると判定された場合に選択されるテーブルであり、特図変動表示ゲームの後半の変動パターンが決定される。ここでは、図43(A)と異なるところを説明する。   FIG. 43B is a table that is selected when it is determined in step 4203 of FIG. 42 that the corresponding start-up memory is a big hit, and the second half variation pattern of the special figure variation display game is determined. Here, a difference from FIG. 43A will be described.

大当りが発生する場合は、後半変動パターンにおいてグループ番号「0」の「リーチなし」が選択されることはない。「ノーマルリーチ」又は「SPリーチ」が選択される。「ノーマルリーチ」が選択される確率は1501/3001、「SPリーチ」が選択される確率は1500/3001である。   When a big hit occurs, “no reach” of group number “0” is not selected in the latter half fluctuation pattern. “Normal reach” or “SP reach” is selected. The probability that “normal reach” is selected is 1501/3001, and the probability that “SP reach” is selected is 1500/3001.

なお、「ノーマルリーチ」からさらに第2変動パターン乱数に応じて選択される後半変動パターン番号は、51h〜53hとなるが、それぞれ11h〜13hに対応しており、選択される確率も同じである。同様に、「SPリーチ」の後半変動パターン番号は、61h〜63h(21h〜23hに対応)となる。   The second half variation pattern numbers selected from “normal reach” according to the second variation pattern random numbers are 51h to 53h, which correspond to 11h to 13h, respectively, and have the same probability of being selected. Similarly, the latter half variation pattern numbers of “SP reach” are 61h to 63h (corresponding to 21h to 23h).

このように、変動パターンの決定には、まず、第1変動パターン乱数を用いて後半変動のリーチ種類(なしを含む)を決定し、次に第2変動パターン乱数を用いて後半変動パターン(変動時間)を決定する。そして、後半変動パターンを示す後半変動パターン番号と、第3変動パターン乱数とを用いて、前半変動パターンを決定する(図44参照)。   As described above, in determining the fluctuation pattern, first, the reach type (including none) of the second half fluctuation is determined using the first fluctuation pattern random number, and then the second half fluctuation pattern (fluctuation) using the second fluctuation pattern random number. Time). Then, the first half variation pattern is determined using the second half variation pattern number indicating the second half variation pattern and the third variation pattern random number (see FIG. 44).

続いて、図44を参照して、前半変動パターンテーブルについて説明する。   Next, the first half variation pattern table will be described with reference to FIG.

図44では、後半変動パターン番号01h〜63h毎に設定された振分率に応じて、第3変動パターン乱数を用いて前半変動パターンが決定される。   In FIG. 44, the first half variation pattern is determined using the third variation pattern random number according to the distribution ratio set for each of the second half variation pattern numbers 01h to 63h.

前半変動パターンには、「前半キャラクタA出現変動」と、「前半キャラクタB出現変動」と、「前半キャラクタなし変動」の変動時間を短縮した「前半短縮変動」とがある。それぞれの変動時間は、10秒、10秒、10秒、1秒に設定されている。   The first-half variation patterns include “first-half character A appearance variation”, “first-half character B appearance variation”, and “first-half character variation” that shortens the variation time of “first-half character absence variation”. Each variation time is set to 10 seconds, 10 seconds, 10 seconds, and 1 second.

第1変動パターン乱数及び第2変動パターン乱数を用いた結果、後半変動パターンを「ノーマルリーチ変動」とする決定がなされている場合には、第3変動パターン乱数の値が0〜200の場合に「前半キャラクタA出現変動」を選択し、第3変動パターン乱数の値が201〜205の場合に「前半キャラクタB出現変動」を選択し、第3変動パターン乱数の値が206〜400の場合に「前半キャラクタなし変動」を選択する。   As a result of using the first fluctuation pattern random number and the second fluctuation pattern random number, when the second half fluctuation pattern is determined to be “normal reach fluctuation”, when the value of the third fluctuation pattern random number is 0 to 200, “ “First Half Character A Appearance Variation” is selected, “First Variation Character B Appearance Variation” is selected when the value of the third variation pattern random number is 201 to 205, and “3rd Variation Pattern Random Value” is 206 to 400. Select “No First Character Variation”.

第1変動パターン乱数及び第2変動パターン乱数を用いた結果、後半変動パターンを「SPリーチ変動」とする決定がなされている場合には、必ずキャラクタが出現するように制御され、第3変動パターン乱数の値が0〜200の場合に「前半キャラクタA出現変動」を選択し、第3変動パターン乱数の値が201〜400の場合に「前半キャラクタB出現変動」を選択する。   As a result of using the first variation pattern random number and the second variation pattern random number, if it is determined that the latter half variation pattern is “SP reach variation”, the character is controlled to appear without fail, and the third variation pattern When the value of the random number is 0 to 200, “first half character A appearance variation” is selected, and when the value of the third variation pattern random number is 201 to 400, “first half character B appearance variation” is selected.

第1変動パターン乱数及び第2変動パターン乱数を用いた結果、後半変動パターンを「リーチなし変動」とする決定がなされている場合(後半変動パターン番号=01hの場合)には、第3変動パターン乱数の値が0〜5のときに「前半キャラクタA出現変動」が選択される。第3変動パターン乱数の値が6〜400の場合には、図42のステップ4206における短時間変動の条件が成立しているときに「前半短縮変動」が選択され、この条件が成立していないときは「前半キャラクタなし変動」が選択される。   As a result of using the first fluctuation pattern random number and the second fluctuation pattern random number, when the latter half fluctuation pattern is determined to be “unreachable fluctuation” (in the case of the latter half fluctuation pattern number = 01h), the third fluctuation pattern When the value of the random number is 0 to 5, “first character A appearance variation” is selected. When the value of the third variation pattern random number is 6 to 400, “first half shortened variation” is selected when the condition for short-term variation in step 4206 in FIG. 42 is satisfied, and this condition is not satisfied. In this case, “change without first half character” is selected.

本発明の第1の実施の形態では、後半変動パターン番号01hの「リーチなし変動」の場合にのみ、「前半短縮変動」が設定されている。そして、「リーチなし変動」は、大当りの種類が「はずれ」である場合に高い確率で選択される。また、「リーチなし変動」の場合には「前半キャラクタなし変動」が選択される確率は低く、「前半短縮変動」又は「前半キャラクタなし変動」が選択される確率が高い。   In the first embodiment of the present invention, the “first half shortening variation” is set only in the case of “non-reach variation” of the second half variation pattern number 01h. Then, “variation without reach” is selected with a high probability when the type of jackpot is “out of place”. In addition, in the case of “variation without reach”, the probability that “change without first-half character” is selected is low, and the probability that “variation without first-half character” or “variation without first-half character” is selected is high.

したがって、保留記憶数が多い場合ではずれのときは「リーチなし・前半短縮変動」が選択される確率が高いので、全体の平均変動時間を短縮する。そして、保留記憶数が少ない場合ではずれのときは「リーチなし・前半キャラクタなし変動」が選択される確率が高くなっている。   Accordingly, when there is a large number of reserved memories, there is a high probability that “no reach / first half shortened variation” will be selected when there is a shift, so the overall average variation time is shortened. When the number of reserved memories is small, the probability that “no reach / no first half character fluctuation” is selected is high when there is a shift.

これに対して、はずれのときは、リーチを伴う変動(「ノーマルリーチ変動」及び「SPリーチ変動」)や、リーチを伴わない「リーチなし・前半キャラクタA出現変動」が選択される確率は低くなっている。なお、特図変動表示ゲームが大当りとなる確率は、低確率時において1/301とし、高確率時において1/61とするものとする。   On the other hand, when there is a loss, there is a low probability that a change with reach (“normal reach change” and “SP reach change”) or “no reach / first character A appearance change” without reach will be selected. ing. Note that the probability that the special figure variation display game is a big hit is 1/301 at a low probability and 1/61 at a high probability.

本実施形態では、リーチを伴なう変動(「ノーマルリーチ変動」及び「SPリーチ変動」)や、「リーチなし・前半キャラクタA出現変動」を、保留記憶数の数に関係なく共通の変動時間が設定された共通変動態様とする。これらの変動態様は、特図の大当り結果と、第1〜第3変動パターン乱数とによって決定されるので、決定処理を行う時点における保留記憶数の数に依存することなく決定されるものである。つまり、同一の保留記憶であれば、特図保留情報判定処理(図41)の特図大当り判定処理(4104)により決定される変動態様と、特図1(特図2)変動開始処理(図46)の特図大当り判定処理(4606)による決定される変動態様とが一致する。   In the present embodiment, fluctuations with reach (“normal reach fluctuation” and “SP reach fluctuation”) and “no reach / first character A appearance fluctuation” are represented by a common fluctuation time regardless of the number of reserved memories. The common variation mode is set. Since these fluctuation modes are determined by the jackpot result of the special figure and the first to third fluctuation pattern random numbers, they are determined without depending on the number of the reserved storage numbers at the time of performing the determination process. . That is, if it is the same hold storage, the fluctuation mode determined by the special figure big hit determination process (4104) of the special figure hold information determination process (FIG. 41) and the special figure 1 (special figure 2) fluctuation start process (FIG. The variation mode determined by the special figure jackpot determination process (4606) of 46) matches.

これに対して、「リーチなし・前半短縮変動」や「リーチなし・前半キャラクタなし変動」は、保留記憶数の数に基づいていずれかが選択される変動パターンであるので、固有変動態様とする。これらの変動態様は、特図の大当り結果と、第1〜第3変動パターン乱数のみならず、決定処理を行う時点における保留記憶数の数に依存して決定されるものである。つまり、同一の保留記憶であっても、特図保留情報判定処理(図41)の特図大当り判定処理(4104)により決定される変動態様と、特図1(特図2)変動開始処理(図46)の特図大当り判定処理(4606)により決定される変動態様とが一致するとは限らない。ただし、前者の処理で決定された変動態様が固有変動態様であれば、後者の処理で決定された変動態様も固有変動態様となるように設定されている。   On the other hand, “no reach / first half shortening variation” and “no reach / first half character variation” are variation patterns in which one of them is selected based on the number of reserved storage numbers, and are therefore inherent variation modes. . These fluctuation modes are determined not only depending on the jackpot result of the special figure and the first to third fluctuation pattern random numbers, but also depending on the number of reserved storage numbers at the time of performing the determination process. That is, even in the same hold storage, the variation mode determined by the special figure jackpot determination process (4104) of the special figure hold information determination process (FIG. 41) and the special figure 1 (special figure 2) fluctuation start process ( The variation mode determined by the special figure big hit determination process (4606) of FIG. 46) does not always match. However, if the variation mode determined in the former process is an inherent variation mode, the variation mode determined in the latter process is also set to be the inherent variation mode.

なお、これらの前半変動パターンには、前半変動パターン番号が設けられているが、始動入賞時及び変動開始時のどちらのタイミングで決定された前半変動パターンかによって前半変動パターン番号が異なる。   These first-half variation patterns are provided with first-half variation pattern numbers, but the first-half variation pattern numbers differ depending on whether the first-half variation pattern is determined at the timing of starting winning or variation start.

本テーブルを用いる図42の特図大当り判定処理は、遊技球が第1始動入賞口37又は普通変動入賞装置33の第2始動入賞口に入賞したときに実行される特図保留情報判定処理(図41)で対象の始動記憶の結果を先読みするために実行され、さらに、後述する特図1(特図2)変動開始処理(図46)でも実行される。   The special figure jackpot determination process of FIG. 42 using this table is a special figure holding information determination process executed when a game ball wins the first start winning port 37 or the second starting winning port of the normal variation winning device 33 ( 41) is executed for prefetching the result of the start-up storage of the object, and is also executed in the special figure 1 (special figure 2) fluctuation start process (FIG. 46) described later.

これは、始動入賞時と変動開始時とでは、保留記憶数が異なったり、遊技状態が異なったりする。すなわち、始動入賞時と変動開始時とでは、図42の特図大当り判定処理における処理結果が異なる場合があり、選択される前半変動パターンも異なる場合がある。このため、始動入賞時及び変動開始時のどちらの場合に決定した前半変動パターン番号かが判別できるようにしている。   This is because the number of stored memories is different or the game state is different at the time of starting winning and at the start of variation. That is, the processing result in the special figure big hit determination process of FIG. 42 may be different between the start winning prize and the fluctuation start, and the selected first half fluctuation pattern may be different. Therefore, it is possible to determine whether the first half variation pattern number is determined at the time of starting winning or at the start of variation.

ここでは、始動入賞時に決定した前半変動パターン番号の頭文字を「A」とし、変動開始時に決定した前半変動パターン番号の頭文字を「B」とする。そして、「前半キャラクタA出現変動」の場合はE/Cに続く番号を「1h」とし、「前半キャラクタB出現変動」の場合は「2h」とし、「前半キャラクタなし変動」の場合は「3h」とし、「前半短縮変動」の場合は「4h」とする。このように、互いに共通するモジュールを用いる。   Here, the first letter of the first variation pattern number determined at the time of starting winning is “A”, and the first letter of the first variation pattern number determined at the start of fluctuation is “B”. In the case of “first character A appearance variation”, the number following E / C is “1h”, in the case of “first character B appearance variation”, it is “2h”, and in the case of “first character non-character variation”, “3h”. And “4h” in the case of “first half shortening fluctuation”. In this way, modules that are common to each other are used.

なお、図50で後述するが、本実施形態では、「前半キャラクタA出現変動」では「キャラクタA」が出現し、「前半キャラクタB出現変動」では「キャラクタB」が出現するようになっている。   As will be described later with reference to FIG. 50, in this embodiment, “Character A” appears in “First half character A appearance variation”, and “Character B” appears in “First half character B appearance variation”. .

次に、図45を参照して、図37の特図ゲーム処理における特図普段処理(3706)の詳細を説明する。図45は、本発明の第1の実施の形態の特図普段処理の手順を示すフローチャートである。   Next, with reference to FIG. 45, details of the special figure routine process (3706) in the special figure game process of FIG. 37 will be described. FIG. 45 is a flowchart showing the procedure of the special figure normal processing according to the first embodiment of this invention.

特図普段処理では、遊技制御装置100は、まず、保留された特図2始動記憶があるか否かを判定する(4500)。   In the special figure normal processing, the game control device 100 first determines whether or not there is a special figure 2 start memory that is suspended (4500).

特図2始動記憶がある場合には(4500の結果が「Y」)、遊技制御装置100は、特図2変動開始処理を実行し(4501)、その後、図37に示した特図ゲーム処理で特図変動中処理が実行されるように特図ゲーム処理番号を1に設定する(4504)。   If there is a special figure 2 start memory (the result of 4500 is “Y”), the game control device 100 executes a special figure 2 fluctuation start process (4501), and then the special figure game process shown in FIG. Then, the special figure game process number is set to 1 so that the special figure changing process is executed (4504).

さらに、遊技制御装置100は、特図2変動開始処理によって算出され、決定した前半変動パターン及び後半変動パターンに対応する合計変動時間を特図ゲーム処理タイマに設定する処理を実行する(ステップ4505)。その後、特図普段処理を終了する。なお、ステップ4505の処理で変動時間が特図ゲーム処理タイマに設定されるので、変動時間が経過するまでは、図37の特図変動中処理(3707)は実行されない。   Further, the game control device 100 executes a process of setting the total fluctuation time corresponding to the determined first half fluctuation pattern and the latter half fluctuation pattern calculated in the special figure 2 fluctuation start process in the special figure game processing timer (step 4505). . Thereafter, the special figure routine processing is terminated. Note that since the variation time is set in the special figure game process timer in the process of step 4505, the special figure variation process (3707) in FIG. 37 is not executed until the variation time has elapsed.

一方、特図2始動記憶がない場合には(4500の結果が「N」)、遊技制御装置100は、保留された特図1始動記憶があるか否かを判定する(4502)。特図1始動記憶がある場合には(4502の結果が「N」)、遊技制御装置100は、特図1変動開始処理を実行する(4503)。その後、遊技制御装置100は、特図ゲーム処理番号を1に設定する処理を実行する(4504)。さらに、特図1変動開始処理で算出され、決定した変動時間を特図ゲーム処理タイマに設定する処理を実行し(4505)、特図普段処理を終了する。   On the other hand, when there is no special figure 2 start memory (the result of 4500 is “N”), the game control device 100 determines whether or not there is a special special figure 1 start memory (4502). When there is special figure 1 start memory (the result of 4502 is “N”), the game control device 100 executes special figure 1 fluctuation start processing (4503). Thereafter, the game control device 100 executes a process of setting the special figure game process number to 1 (4504). Further, a process for setting the determined fluctuation time in the special figure game process timer calculated in the special figure 1 fluctuation start process is executed (4505), and the special figure routine process is terminated.

特図1始動記憶がないと判定された場合には(4502の結果が「N」)、遊技制御装置100は、客待ちデモフラグの設定があるか否かを判定する(4506)。客待ちデモフラグの設定がある場合には(4506の結果が「Y」)、遊技制御装置100は特図普段処理を終了する。これに対して、客待ちデモフラグの設定がない場合には(4506の結果が「N」)、遊技制御装置100は、客待ちデモフラグをセットする処理を実行する(4507)。さらに、客待ちデモコマンドの設定を実行し(4508)、特図普段処理を終了する。   When it is determined that there is no special figure 1 start memory (the result of 4502 is “N”), the game control device 100 determines whether or not a customer waiting demo flag is set (4506). When the customer waiting demo flag is set (the result of 4506 is “Y”), the game control device 100 ends the special figure routine processing. On the other hand, when the customer waiting demo flag is not set (the result of 4506 is “N”), the game control device 100 executes a process of setting the customer waiting demo flag (4507). Furthermore, the setting of the customer waiting demo command is executed (4508), and the special figure routine processing is terminated.

なお、ステップ4507の処理でセットされた客待ちデモコマンドは、後に演出制御装置150に送信される。演出制御装置150は、この客待ちデモコマンドの受信に基づき、例えば表示装置8の表示部に客待ちデモ画像を表示する処理を実行する。   The customer waiting demonstration command set in the processing of step 4507 is transmitted to the effect control device 150 later. The production control device 150 executes, for example, a process of displaying the customer waiting demo image on the display unit of the display device 8 based on the reception of the customer waiting demo command.

図45に示したように、本実施形態では、遊技制御装置100は、特図2始動記憶がある場合に当該特図2始動記憶に基づく特図2変動表示ゲームを、特図1始動記憶に基づく特図1変動表示ゲームよりも優先的に実行する。   As shown in FIG. 45, in this embodiment, the game control device 100 changes the special figure 2 variation display game based on the special figure 2 start memory to the special figure 1 start memory when there is the special figure 2 start memory. It is executed preferentially over the special figure 1 variation display game based on it.

次に、図46を参照して、図45の特図普段処理における特図1/特図2変動開始処理(ステップ4503、ステップ4501)の詳細を説明する。図46は、本発明の第1の実施の形態の特図1/特図2変動開始処理の手順を示すフローチャートである。   Next, the details of the special figure 1 / special figure 2 variation start process (step 4503, step 4501) in the special figure ordinary process of FIG. 45 will be described with reference to FIG. FIG. 46 is a flowchart showing the procedure of the special figure 1 / special figure 2 fluctuation start process according to the first embodiment of this invention.

まず、特図1変動開始処理では、遊技制御装置100は、第1特図変動表示ゲームに関する各種乱数の保存領域(図16参照)のうち、次回の変動の対象となる領域、すなわち保留1個目に対応する保留乱数記憶領域を指定する(4600)。次に、ステップ4600の処理で指定した記憶領域から大当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数を取得した後、保留1〜3個目に対応する保留乱数記憶領域に、保留2〜4個目に対応する保留乱数記憶領域(次回以降の変動に対応する記憶領域)の各乱数をシフトする(4601)。そして、特図1の保留数を1減算し(4602)、ステップ4606以降の処理を実行する。   First, in the special figure 1 fluctuation start process, the game control device 100, among various random number storage areas (see FIG. 16) related to the first special figure fluctuation display game, the area subject to the next fluctuation, that is, one hold. A reserved random number storage area corresponding to the eye is designated (4600). Next, after acquiring the big hit random number, the big hit symbol random number, and the first to third variation pattern random numbers from the storage area designated in the processing of step 4600, the hold 2 is stored in the hold random number storage area corresponding to the first to third hold. Each random number in the reserved random number storage area corresponding to the fourth (the storage area corresponding to the subsequent change) is shifted (4601). Then, 1 is subtracted from the number of holdings in FIG. 1 (4602), and the processing after step 4606 is executed.

次いで、遊技制御装置100は、ステップ4601の処理で取得した保留1個目の各種乱数を用いて、図42に示した特図大当り判定処理を実行する(4606)。次に、図42の特図大当り判定処理のステップ4209の処理において一時的に記憶した情報を用いて、演出制御装置150に送信する飾り図柄変動パターンコマンドを設定する(4607)。飾り図柄変動パターンコマンドは、表示装置8で実行される飾り特図変動表示ゲームの内容を決めるコマンドである。   Next, the game control device 100 executes the special figure jackpot determination process shown in FIG. 42 using the various first random numbers held in the process of step 4601 (4606). Next, using the information temporarily stored in step 4209 of the special figure jackpot determination process of FIG. 42, a decorative symbol variation pattern command to be transmitted to the effect control device 150 is set (4607). The decorative symbol variation pattern command is a command for determining the content of the decorative special symbol variation display game executed on the display device 8.

さらに、遊技制御装置100は、保留情報コマンドを設定する(4608)。前述したように、保留情報コマンドは特図1又は特図2の保留数を通知するコマンドであり、ここでは、特図1又は特図2のうち、変動対象の特図の保留数を設定する。そして、ステップ4609において図45の特図普段処理のステップ4505の処理で設定した、決定した変動パターンに対応する変動時間を取得し(4609)、その後、特図1変動開始処理を終了する。   Further, the game control device 100 sets a hold information command (4608). As described above, the hold information command is a command for notifying the number of hold of the special figure 1 or the special figure 2, and here, the hold number of the special figure to be changed is set in the special figure 1 or the special figure 2. . Then, in step 4609, the variation time corresponding to the determined variation pattern set in step 4505 of the special figure normal processing in FIG. 45 is acquired (4609), and then the special figure 1 variation start process is terminated.

同様に、特図2変動開始処理では、遊技制御装置100は、前述の特図1変動開始処理のステップ4600〜4602の処理に対応してステップ4603〜4605の処理を実行する。   Similarly, in the special figure 2 fluctuation start process, the game control apparatus 100 executes the processes of steps 4603 to 4605 in response to the processes of steps 4600 to 4602 of the special figure 1 fluctuation start process described above.

遊技制御装置100は、第2特図変動表示ゲームに関する各種乱数の保存領域(図17参照)のうち、次回の変動の対象となる領域、すなわち保留1個目に対応する保留乱数記憶領域を指定する(4603)。次に、ステップ4603の処理で指定した記憶領域から大当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数を取得した後、保留1〜3個目に対応する保留乱数記憶領域に、保留2〜4個目に対応する保留乱数記憶領域(次回以降の変動に対応する記憶領域)の各乱数をシフトする(4604)。そして、特図2の保留数を1減算して(4605)、ステップ4606以降の処理を実行する。   The game control device 100 designates an area to be subjected to the next change, that is, a reserved random number storage area corresponding to the first hold among the various random number storage areas (see FIG. 17) related to the second special figure change display game. (4603). Next, after acquiring the big hit random number, the big hit symbol random number, and the first to third variation pattern random numbers from the storage area designated in the processing of step 4603, the hold 2 is stored in the hold random number storage area corresponding to the first to third hold. Each random number in the reserved random number storage area corresponding to the fourth (the storage area corresponding to the subsequent change) is shifted (4604). Then, 1 is subtracted from the number of holds in FIG. 2 (4605), and the processing after step 4606 is executed.

なお、ステップ4606では、ステップ4604の処理で取得した保留1個目の各種乱数を用いて、図42に示した特図大当り判定処理を実行することになる。   In step 4606, the special figure jackpot determination process shown in FIG. 42 is executed using the first various random numbers held in the process of step 4604.

このように、特図1又は特図2の変動が開始されるときにも特図大当り判定処理が実行されることで、飾り特図変動表示ゲームの表示内容が決定される。   As described above, the special contents big hit determination process is executed even when the fluctuation of the special figure 1 or the special figure 2 is started, thereby determining the display content of the decoration special figure fluctuation display game.

図47A及び図47Bは、本発明の第1の実施の形態における始動記憶をシフトさせる処理のプログラムの一例を示す図である。図47A及び図47Bに示すプログラムは、図46のステップ4601の処理に対応する。図47AはKレジスタを利用してプログラムのコード量を削減したプログラムであって、図47BはKレジスタを利用しないプログラムである。   47A and 47B are diagrams illustrating an example of a program for processing for shifting the start-up memory according to the first embodiment of this invention. The programs shown in FIGS. 47A and 47B correspond to the process of step 4601 in FIG. FIG. 47A shows a program in which the code amount of the program is reduced using the K register, and FIG. 47B shows a program that does not use the K register.

図47Aを参照すると、まず、行4701に示すように、Kレジスタに「28H」を設定し、その後、行4702に示すように、LDK命令によって指定された下位アドレスとKレジスタに設定された上位アドレスとを組み合わせたアドレスにアクセスする。このように、CPUコア102はKレジスタに固有の上位アドレスを設定する固有値設定手段をなす。   Referring to FIG. 47A, first, as shown in line 4701, “28H” is set in the K register, and then, as shown in line 4702, the lower address specified by the LDK instruction and the upper address set in the K register. Access an address combined with an address. In this way, the CPU core 102 serves as a unique value setting means for setting a unique upper address in the K register.

前述のように、保留2に対応する始動記憶を保留1に対応する領域にシフトする場合には、図16に示したように、保留2に対応する始動記憶のアドレス「2838H」〜「283FH」に格納されたデータを、保留1に対応する始動記憶にアドレス「2830H」〜「2837H」に移動させる。行4702では、アドレス2838Hに格納されたデータをAレジスタに格納し、行4703でAレジスタに格納されたデータをアドレス2830Hに格納することによってデータを移動させている。同様に、「2839H」〜「283FH」に格納されたデータを、「2831H」〜「2837H」に移動させることによって保留2に対応する始動記憶を保留1に対応する領域にシフトさせる。   As described above, when the start memory corresponding to the hold 2 is shifted to the area corresponding to the hold 1, the addresses “2838H” to “283FH” of the start memory corresponding to the hold 2 are shown in FIG. Are moved to addresses “2830H” to “2837H” in the start memory corresponding to the hold 1. In line 4702, the data stored in the address 2838H is stored in the A register, and in step 4703, the data stored in the A register is stored in the address 2830H, thereby moving the data. Similarly, the data stored in “2839H” to “283FH” is moved to “2831H” to “2837H” to shift the start memory corresponding to the hold 2 to the area corresponding to the hold 1.

なお、保留3に対応する始動記憶を保留2に対応する始動記憶にシフトさせる処理、及び保留4に対応する始動記憶を保留3に対応する始動記憶にシフトさせる処理も、図に示すように、後半のプログラムによって実行される。   The process of shifting the start memory corresponding to the hold 3 to the start memory corresponding to the hold 2 and the process of shifting the start memory corresponding to the hold 4 to the start memory corresponding to the hold 3 are also shown in the figure. It is executed by the second half program.

図47Bは、図47Aと同様に、始動記憶の消化にともなって、始動記憶をシフトさせる処理のプログラムを示しており、図47Aのプログラムを実行した場合と同じ処理が実行される。しかしながら、図47Bに示すプログラムでは、2バイトのアドレスを直接指定している(例えば、行4722の「2838H」)。   FIG. 47B shows a processing program for shifting the start memory as the start memory is digested, as in FIG. 47A, and the same processing as when the program of FIG. 47A is executed is executed. However, in the program shown in FIG. 47B, a 2-byte address is directly specified (for example, “2838H” in line 4722).

以上のように、図47Aに示すプログラムでは、始動記憶が格納された領域のアドレスを指定するために1バイトの下位アドレスのみを指定すればよい(4710)。これに対し、図47Bに示すプログラムでは、アドレスの指定に2バイトの容量を要し(4730)、図47Aに示したプログラムよりも多くの容量を必要とする。したがって、始動記憶を格納する領域のように、連続した領域にデータを格納し、これらのデータにアクセスする場合には、図47Aに示したプログラムのように、上位アドレスをKレジスタに予め保持してデータにアクセスするようにすることによってプログラムの容量を削減することができる。   As described above, in the program shown in FIG. 47A, only the lower address of 1 byte needs to be specified in order to specify the address of the area where the start memory is stored (4710). On the other hand, the program shown in FIG. 47B requires a 2-byte capacity for address designation (4730), and requires more capacity than the program shown in FIG. 47A. Therefore, when data is stored in a continuous area like the area for storing the start memory and accessed, the upper address is held in the K register in advance as in the program shown in FIG. 47A. Thus, the capacity of the program can be reduced by accessing the data.

また、前述のように、Kレジスタ(上位アドレス指定レジスタ)に固有のアドレス値(上位アドレス、例えば、「28H」)を予め設定しておくことによって、その後、下位アドレスのみ指定すれば所定の領域にアクセスできるため、CPUコア(演算処理手段)102の処理負担を軽減することもできる。   In addition, as described above, a specific address value (upper address, for example, “28H”) is set in advance in the K register (upper address specifying register). Therefore, the processing load on the CPU core (arithmetic processing means) 102 can be reduced.

図48は、本発明の第1の実施の形態のサブルーチン(サブモジュール)を構成するプログラムの一例を示す図である。(A)及び(B)は、プログラム中に記述されたサブルーチン呼び出しの命令(CALL命令又はRST命令)を実行した際に呼び出されるサブルーチンの一例を示している。これに対して(C)は、割込信号の発生により呼び出されるサブルーチンの一例を示している。   FIG. 48 is a diagram illustrating an example of a program configuring a subroutine (submodule) according to the first embodiment of this invention. (A) and (B) show an example of a subroutine called when a subroutine calling instruction (CALL instruction or RST instruction) described in the program is executed. On the other hand, (C) shows an example of a subroutine called by the generation of an interrupt signal.

まず(A)は、呼出元のルーチンで格納されたフラグレジスタの値が、呼出先のサブルーチンにおける処理過程で書き換えられないように構成したプログラムの例である。このサブルーチンは、5200Hのアドレスから処理を開始する例となっており、最初に「PUSH FLG」の命令を実行することで、フラグレジスタの値をスタック領域に退避している(行4811)。   First, (A) is an example of a program configured such that the value of the flag register stored in the call source routine is not rewritten in the process of the call destination subroutine. This subroutine is an example of starting processing from an address of 5200H, and by first executing the instruction “PUSH FLG”, the value of the flag register is saved in the stack area (line 4811).

なお、呼出元のルーチンで格納されたフラグレジスタ以外のレジスタであっても、サブルーチン内で書き換えられないように構成する場合は、「PUSH」命令を用いて、該当するレジスタをスタック領域に退避することができる。例えば、行4812に示すように、「PUSH HL」の命令を実行することで、HLレジスタの値をスタック領域に退避することができる。   Note that even if a register other than the flag register stored in the call source routine is configured so that it cannot be rewritten in the subroutine, the corresponding register is saved in the stack area using the “PUSH” instruction. be able to. For example, as shown in line 4812, by executing the instruction “PUSH HL”, the value of the HL register can be saved in the stack area.

そして、サブルーチンに記述された一連のプログラムを実行終了した場合は、「POP」命令を実行して、スタック領域に退避しておいたHLレジスタ及びフラグレジスタの値を復帰させてから(行4813、4814)、「RET」命令を実行して呼出元の処理に戻るようになっている(行4815)。   When the execution of the series of programs described in the subroutine is finished, the “POP” instruction is executed to restore the values of the HL register and flag register saved in the stack area (line 4813, 4814), the “RET” instruction is executed to return to the caller process (line 4815).

一方(B)は、サブルーチンにおける処理過程にて演算結果をフラグレジスタに設定し、そのフラグレジスタの値を呼出元のルーチンに返すプログラムの一例である。このサブルーチンは、5100Hのアドレスから処理を開始する例となっており、(A)のように「PUSH」「POP」命令を用いて、フラグレジスタの値をスタック領域に出し入れするような処理を行っていない。   On the other hand, (B) is an example of a program that sets an operation result in the flag register in the process of the subroutine and returns the value of the flag register to the calling routine. This subroutine is an example of starting processing from an address of 5100H. As shown in (A), using the “PUSH” and “POP” instructions, processing is performed such that the value of the flag register is put into and out of the stack area. Not.

そして、サブルーチンに記述された一連のプログラムを実行終了した場合は、AレジスタとEレジスタの値の論理和を演算することでフラグレジスタに演算結果が設定され(行4821)、さらに、Dレジスタの値をAレジスタにロードしてから(行4822)、「RET」命令を実行して呼出元に戻るようになっている(行4823)。   When the execution of a series of programs described in the subroutine is completed, the operation result is set in the flag register by calculating the logical sum of the values of the A register and the E register (line 4821). After the value is loaded into the A register (line 4822), the "RET" instruction is executed to return to the caller (line 4823).

この(B)のようなサブルーチンの構成は、サブルーチン内で所定の演算を実行するとともに、その演算結果をフラグレジスタに格納し、さらに格納されたフラグレジスタの値が呼出元のルーチンに戻されてからも活用されるような場合に適している。そのため、呼び出されるサブルーチンのプログラムには、フラグレジスタの値をスタック領域に出し入れする「PUSH」「POP」命令が記述されていない。   The structure of the subroutine as shown in (B) executes a predetermined operation in the subroutine, stores the operation result in the flag register, and returns the stored flag register value to the calling source routine. It is suitable for the case where it is used from the beginning. Therefore, the “PUSH” and “POP” instructions for loading / unloading the value of the flag register into / from the stack area are not described in the subroutine program to be called.

このようなサブルーチンの構成は、予め共通化した処理を遊技制御プログラムの様々な箇所で実行させる場合に適しており、共通化した処理のブロックを予めサブルーチンとしてプログラム中に配置しておいて、呼出元となるプログラムでCALL命令(又はRST命令)を実行することで実現できる。   Such a subroutine configuration is suitable for executing a common process in various places in the game control program. The common process block is arranged in the program as a subroutine in advance and called. This can be realized by executing a CALL instruction (or RST instruction) in the original program.

ただし、プログラム製作者の立場を考慮すると、(A)のようにサブルーチンで用いたフラグレジスタと呼出元ルーチンで用いるフラグレジスタとを別個のものとして扱いたい場合もあれば、(B)のようにサブルーチンで用いたフラグレジスタと呼出元ルーチンで用いるフラグレジスタとを同一のものとして扱いたい場合もある。   However, considering the position of the program producer, there are cases where the flag register used in the subroutine and the flag register used in the caller routine are to be handled separately as in (A), as in (B). In some cases, it is desirable to treat the flag register used in the subroutine and the flag register used in the call source routine as the same.

そのため、サブルーチンを呼び出す目的に応じて、フラグレジスタの値を退避させるか否かの選択を行う必要がある。従って、サブルーチンを構成するプログラムに「PUSH」「POP」命令を記述するか否かによって、フラグレジスタをスタック領域に出し入れするか否かを選択できるように構成しておくことが好ましいことになる。   Therefore, it is necessary to select whether to save the value of the flag register according to the purpose of calling the subroutine. Therefore, it is preferable that the flag register is selected so as to be taken into or out of the stack area depending on whether or not the “PUSH” and “POP” instructions are described in the program constituting the subroutine.

一方(C)は、タイマ割込などの割込信号で呼び出されるサブルーチン(割込処理)を構成したプログラムの例である。このサブルーチンが呼び出されると、図19(D)に示すように、「PUSH」命令を実行しなくてもフラグレジスタの値がスタック領域に退避される。このとき、呼出元ルーチンで使用していたレジスタ群のバンクが0(表レジスタ)であれば、フラグレジスタのRBSのビットは「0」となっている。   On the other hand, (C) is an example of a program that constitutes a subroutine (interrupt processing) called by an interrupt signal such as a timer interrupt. When this subroutine is called, as shown in FIG. 19D, the value of the flag register is saved in the stack area without executing the “PUSH” instruction. At this time, if the bank of the register group used in the call source routine is 0 (table register), the RBS bit of the flag register is “0”.

なお、このサブルーチンは、呼出元ルーチンで実行中の処理を任意のタイミングで中断して実行されるため、呼び出されたサブルーチンで用いられるフラグレジスタの値と、呼出元のルーチンで使用しているフラグレジスタの値には相関がない。そのため、呼出元のルーチンで使用しているフラグレジスタの値が、割込処理のサブルーチン内で変更されると、処理結果が予期しないものとなる。   Since this subroutine is executed by interrupting the processing being executed in the calling source routine at an arbitrary timing, the value of the flag register used in the called subroutine and the flag used in the calling source routine There is no correlation between register values. For this reason, if the value of the flag register used in the calling source routine is changed in the interrupt processing subroutine, the processing result becomes unexpected.

それ故に、割込処理のサブルーチンが呼び出されたときは、例外なくフラグレジスタの値をスタック領域に退避させる必要がある。(C)の構成であれば、フラグレジスタの値をスタック領域に退避させる「PUSH」命令のコードが不要となるので、割込処理のサブルーチンを記述するプログラムのコード量を削減することができる。   Therefore, when the interrupt processing subroutine is called, it is necessary to save the value of the flag register to the stack area without exception. With the configuration of (C), the code of the “PUSH” instruction that saves the value of the flag register in the stack area becomes unnecessary, so that the code amount of the program describing the interrupt processing subroutine can be reduced.

ちなみに(C)の割込処理のサブルーチンは、5300Hのアドレスから処理を開始する例となっている。そして、行4831の「LD RBS,1」を実行すると、フラグレジスタのRBSのビットが「1」となる。これにより、使用可能なレジスタ群が、呼出元ルーチンで使用していたバンク0(表レジスタ)から、バンク1(裏レジスタ)に切り替えられる。このとき、バンク0のレジスタ群の各レジスタに格納された値はそのまま保持され、割込処理のサブルーチンでは、バンク1のレジスタ群のレジスタを用いて実行される。   Incidentally, the interrupt processing subroutine (C) is an example in which processing is started from an address of 5300H. When “LD RBS, 1” in line 4831 is executed, the RBS bit of the flag register becomes “1”. As a result, the usable register group is switched from bank 0 (front register) used in the call source routine to bank 1 (back register). At this time, the value stored in each register of the bank 0 register group is held as it is, and the interrupt processing subroutine is executed using the register of the bank 1 register group.

さらに、割込処理のサブルーチンの最後で「RETI」を実行することによって、呼出元の処理に戻るようになっている(行4832)。このとき、スタック領域に退避してあったフラグレジスタの値が復帰することで、フラグレジスタのRBSのビットが「0」に復帰し、以降使用されるレジスタ群のバンクが0に戻される。   Furthermore, by executing “RETI” at the end of the interrupt processing subroutine, the processing returns to the calling source processing (line 4832). At this time, the value of the flag register saved in the stack area is restored, so that the RBS bit of the flag register is restored to “0”, and the bank of the register group used thereafter is restored to 0.

なお(A)のサブルーチンにおいて、使用可能なレジスタ群をバンク1(裏レジスタ)に切り替える場合は、行4811の「PUSH FLG」を実行した後に、「LD RBS,1」の命令を実行すればよい。これにより、フラグレジスタのRBSのビットが「1」となり、使用可能なレジスタ群が、呼出元ルーチンで使用していたバンク0(表レジスタ)から、バンク1(裏レジスタ)に切り替わる。この場合は、行4814の「POP FLG」を実行することで、フラグレジスタのRBSのビットを「0」に復帰させ、呼出元の処理に戻る直前にレジスタ群のバンクを0に戻すことになる。   In the subroutine (A), when the usable register group is switched to the bank 1 (back register), after executing “PUSH FLG” in the row 4811, the instruction “LD RBS, 1” may be executed. . As a result, the RBS bit of the flag register is set to “1”, and the usable register group is switched from bank 0 (front register) used in the call source routine to bank 1 (back register). In this case, by executing “POP FLG” in line 4814, the RBS bit of the flag register is returned to “0”, and the bank of the register group is returned to 0 immediately before returning to the calling source process. .

また(B)のサブルーチンにおいて、使用可能なレジスタ群をバンク1(裏レジスタ)に切り替える場合は、プログラム中で「LD RBS,1」の命令を実行すればよいが、呼出元ルーチンに戻る直前で「LD RBS,0」の命令を実行しておく必要がある。   In the subroutine (B), when the usable register group is switched to the bank 1 (back register), the instruction “LD RBS, 1” may be executed in the program, but immediately before returning to the calling routine. The instruction “LD RBS, 0” needs to be executed.

以上、図48の(A)〜(C)に示したように、本実施形態では、呼出元のルーチンで、プログラム中に記述されたサブルーチン呼び出しの命令(CALL命令又はRST命令)を実行した場合や、割込信号が発生した場合には、サブルーチンが呼び出され、その際に、呼出元のルーチンに含まれる戻りアドレスの値をスタック領域に格納する構成となっている。   As described above, as shown in FIGS. 48A to 48C, in this embodiment, a subroutine call instruction (CALL instruction or RST instruction) described in the program is executed in the call source routine. When an interrupt signal is generated, a subroutine is called, and at this time, the return address value included in the calling source routine is stored in the stack area.

この場合において、割込信号は呼出元のルーチンの実行中のアドレスとは無関係に発生するものであるので、(C)に示すような割込処理のサブルーチンを呼び出す際は、割込信号が発生した時点におけるフラグレジスタ1200の値は、呼出先のルーチンの処理中で破壊されないように、スタック領域に退避しておくことが好ましい。   In this case, since the interrupt signal is generated regardless of the address under execution of the calling source routine, an interrupt signal is generated when calling the interrupt processing subroutine as shown in (C). It is preferable to save the value of the flag register 1200 at the point of time in the stack area so that it is not destroyed during the processing of the called routine.

そのため、図19の(D)に示すように、呼出元のルーチンに含まれる戻りアドレスの値だけでなく、フラグレジスタ1200の値もスタック領域に格納して、呼出先の処理に移行させる構成となっている。これにより、呼出先のルーチンのプログラム中にフラグレジスタをスタック領域に格納するための命令(「PUSH FLG」)を記述しなくても、フラグレジスタの値が自動的にスタック領域に格納されるため、プログラムのコード量を節約することができる。   Therefore, as shown in FIG. 19D, not only the return address value included in the call source routine, but also the value of the flag register 1200 is stored in the stack area, and the process proceeds to the call destination processing. It has become. As a result, the value of the flag register is automatically stored in the stack area even if an instruction (“PUSH FLG”) for storing the flag register in the stack area is not described in the program of the called routine. , Can save the code amount of the program.

これに対して、呼出元のルーチンに記述されたCALL命令等の呼出の命令を実行する場合は、(A)に示すように、呼出元のルーチンで設定されたフラグレジスタ1200の値を呼出先のルーチンの処理中で破壊しないように構成すべき場合もある一方で、(B)に示すように、呼出先のルーチンの処理中で設定されたフラグレジスタ1200の値を、呼出元のルーチンに戻して演算に利用することもあり得る。つまり、呼出元のルーチンで設定されたフラグレジスタ1200の値をスタック領域に退避すべきか否かはケースバイケースである。   On the other hand, when a call instruction such as a CALL instruction described in the call source routine is executed, the value of the flag register 1200 set in the call source routine is set as shown in FIG. However, as shown in (B), the value of the flag register 1200 set during the processing of the call destination routine is changed to the call source routine. It may be returned and used for calculation. That is, whether or not the value of the flag register 1200 set in the call source routine should be saved in the stack area is case by case.

そのため、図19の(C)に示すように、呼出元のルーチンに含まれる戻りアドレスの値のみを格納して、フラグレジスタ1200の値はスタック領域に格納しない状態で、呼出先の処理に移行させる構成となっている。そして、呼出先のルーチンのプログラム中に、プログラム中にフラグレジスタ1200の値をスタック領域に格納する命令(例えば、「PUSH FLG」)を記述するか否かにより、値を退避するか否かが選択できる構成となっている。   For this reason, as shown in FIG. 19C, only the return address value included in the call source routine is stored, and the value of the flag register 1200 is not stored in the stack area, and the process proceeds to the call destination process. It is the composition which makes it. Whether or not the value is to be saved depends on whether or not an instruction (for example, “PUSH FLG”) that stores the value of the flag register 1200 in the stack area is described in the program of the called routine. The configuration is selectable.

さらに、図48の(A)〜(C)に示したように、本実施形態では、汎用レジスタのバンクを切り変える機能を有しているので、呼出先のルーチン内でバンクを切り替えることにより、呼出元とは異なるレジスタを活用することができる。   Further, as shown in FIGS. 48A to 48C, in the present embodiment, since it has a function of switching the bank of general-purpose registers, by switching the bank in the call destination routine, A register different from the caller can be used.

特に(C)に示した割込処理のサブルーチンでは、フラグレジスタの値を復帰させる命令を実行しなくても、処理の最後で「RETI」を実行することによって、スタック領域に退避してあったフラグレジスタの値が自動的に復帰する構成となっている。そのため、サブルーチン内で、フラグレジスタの値を復帰させる命令を実行しなくても、呼出元ルーチンに戻るときにバンクを戻すことが出来るので、よりプログラムのコード量を節約できるようになっている。   In particular, in the interrupt processing subroutine shown in (C), even if an instruction for restoring the value of the flag register is not executed, “RETI” is executed at the end of the processing to save the stack area. The flag register value is automatically restored. Therefore, it is possible to return the bank when returning to the call source routine without executing an instruction for restoring the value of the flag register in the subroutine, so that the code amount of the program can be further saved.

図49及び図50は、本発明の第1の実施の形態において、表示装置8で実行される飾り特図変動表示ゲームの画面遷移を説明する図である。   FIG. 49 and FIG. 50 are diagrams for explaining screen transitions in the decorative special figure variation display game executed on the display device 8 in the first embodiment of the present invention.

画面(a)は変動開始前の状態を示し、始動記憶が消化されると、画面(b)に示すように、図柄表示領域4910にて各識別図柄が変動を開始する。なお、図柄表示領域4910の下方には第1記憶表示部4920と第2記憶表示部4930とが設定される。これらの各記憶表示部には、保留記憶があることを示すマーク(通常の保留記憶表示)4940と、保留記憶がないことを示すマーク4950が表示される。その後、画面(c)に示すように、左図柄、右図柄の順に識別図柄の変動が停止され、最終的には中図柄の変動が停止して、画面(d)に示すように変動停止した状態となる。   Screen (a) shows the state before the start of variation, and when the start-up memory is exhausted, as shown in screen (b), each identification symbol starts to vary in symbol display area 4910. A first storage display unit 4920 and a second storage display unit 4930 are set below the symbol display area 4910. In each of these memory display units, a mark (normal hold memory display) 4940 indicating that there is a reserved memory and a mark 4950 indicating that there is no reserved memory are displayed. After that, as shown in the screen (c), the variation of the identification symbol is stopped in the order of the left symbol and the right symbol, and finally the variation of the middle symbol is stopped, and the variation is stopped as shown in the screen (d). It becomes a state.

このとき、左図柄と右図柄が同一の図柄で停止した場合には、画面(e)に示すようにリーチ状態となり、その後、中図柄の変動が継続される。そして、変動表示ゲームの結果がはずれの場合には、画面(f)に示すように、左右の識別図柄とは異なる図柄で中図柄が停止する。また、変動表示ゲームの結果が大当りとなる場合には、画面(g)に示すように、左右の識別図柄と同じ識別図柄で中図柄が停止する。変動表示ゲームで大当りとなると、前述したように特別遊技状態に遷移し、遊技者は多くの遊技価値を得ることが可能となる。   At this time, when the left symbol and the right symbol are stopped at the same symbol, the reach state is reached as shown in the screen (e), and then the variation of the middle symbol is continued. If the result of the variable display game is out of place, as shown in the screen (f), the middle symbol stops with a symbol different from the left and right identification symbols. Further, when the result of the variable display game is a big hit, as shown in the screen (g), the middle symbol stops at the same identification symbol as the left and right identification symbols. When a big win is obtained in the variable display game, as described above, a transition is made to the special game state, and the player can obtain a lot of game values.

また、画面(e)で示したリーチは、通常のリーチであるが、画面(e)の代わり又は画面(e)に示したリーチの後に、画面(h)に示すように、中図柄が回転して表示されるスーパー(SP)リーチが発生する場合がある。SPリーチが発生する場合には、通常のリーチと比較して変動表示ゲームの結果が大当りとなる確率が大きくなるように設定されている。   In addition, the reach shown on the screen (e) is a normal reach. However, instead of the screen (e) or after the reach shown on the screen (e), the middle symbol is rotated as shown on the screen (h). Super (SP) reach may be generated. When the SP reach occurs, the probability that the result of the variable display game is a big hit is set to be larger than that of the normal reach.

また、画面(i)は、変動開始後の状態を示しているが、始動記憶のうちの一つに対して先読み報知が実行されている。具体的には、始動入賞時に設定された前半変動パターン番号がキャラクタA又はキャラクタBが出現する前半変動を行うものであった場合に、先読み報知が実行される。このとき、記憶表示部にて、通常の保留記憶表示4940とは表示態様が異なる特定の保留記憶表示5010が表示されることで、先読みの報知が行われる。   Moreover, although the screen (i) shows the state after the start of fluctuation, the prefetch notification is executed for one of the start memories. Specifically, the prefetch notification is executed when the first half variation pattern number set at the time of starting winning is for performing the first half variation in which the character A or the character B appears. At this time, the pre-read notification is performed by displaying a specific hold storage display 5010 having a display mode different from the normal hold storage display 4940 on the storage display unit.

その後、始動記憶が消化され(画面(j))、先読み報知がなされた始動記憶に基づく変動表示ゲームが開始されると(画面(k))、キャラクタが出現する予告演出が実行される(画面(l)、画面(m))。   After that, when the start memory is digested (screen (j)) and the variable display game based on the start memory for which the pre-read notification has been made is started (screen (k)), a notice effect in which the character appears is executed (screen). (L), screen (m)).

画面(l)ではキャラクタA(第1のキャラクタ)5020が出現し、画面(m)ではキャラクタB(第2のキャラクタ)5030が出現している。これらのキャラクタAとBは、互いに表示態様が異なるものが好ましい。ただし、互いに表示態様が同じものであっても、出現するキャラクタの大きさ、出現数、移動速度などをキャラクタAとBとで各々異ならせるようにして、遊技者に各々が区別できるようにしているものであれば、特に限定はされない。   A character A (first character) 5020 appears on the screen (l), and a character B (second character) 5030 appears on the screen (m). These characters A and B preferably have different display modes. However, even if the display modes are the same, the size, number of appearances, moving speed, etc. of the appearing characters are made different between the characters A and B so that the player can distinguish them. If it is, it will not be specifically limited.

本実施形態では、前半変動(一部の識別図柄の変動が停止してリーチ状態が発生する前の状態)でキャラクタが出現するようになっている。その後、左右の識別図柄が停止し、リーチ状態が発生する(画面(n))。このとき、スーパーリーチ若しくは通常のリーチが発生する。なお、このリーチ状態のときに、前述のキャラクタが出現するようにしてもよい。   In the present embodiment, the character appears in the first half of the change (a state before the change of some of the identification symbols stops and the reach state occurs). Thereafter, the left and right identification symbols are stopped, and a reach state is generated (screen (n)). At this time, super reach or normal reach occurs. Note that the character described above may appear in this reach state.

なお、本実施形態では、入賞口SW監視処理(図29のステップ2917)において、普図始動SW31Aによる遊技球の検出があったときに、普図乱数カウンタ値(図15の普図乱数生成領域)の値を普図始動入賞記憶領域(図15)に記憶しているが、普図変動表示ゲームに関する乱数であれば、別の乱数を記憶するようにしてもよい。例えば、乱数生成回路608にて普図変動表示ゲームに関する乱数を生成(ハード乱数を生成)しておき、普図始動SW31Aによる遊技球の検出があったときに、この生成した乱数を普図始動入賞記憶領域(図15)に記憶するようにしてもよい。   In the present embodiment, in the winning opening SW monitoring process (step 2917 in FIG. 29), when a game ball is detected by the general game start SW 31A, the normal random number counter value (the general random number generation area in FIG. 15) is detected. ) Is stored in the usual figure start winning storage area (FIG. 15), but another random number may be stored as long as it is a random number related to the usual figure variation display game. For example, the random number generation circuit 608 generates a random number related to the general fluctuation display game (generates a hard random number), and when the general game start SW 31A detects a game ball, the generated random number is normally started. You may make it memorize | store in a prize memory | storage area | region (FIG. 15).

また、本実施形態では、特図始動口SW共通処理(図40)のステップ4004〜4006の処理において、図15に示される大当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数の各生成領域から乱数値を取得しているが、特図変動表示ゲームに関する乱数であれば、別の乱数を取得するようにしてもよい。例えば、乱数生成回路608にて、大当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数の全部又は一部を生成(ハード乱数を生成)しておき、ステップ4004〜4006の処理の実行時に、この生成した乱数を取得するようにしてもよい。   Further, in the present embodiment, each of the big hit random numbers, big hit symbol random numbers, and first to third variation pattern random numbers shown in FIG. 15 is generated in the processing of steps 4004 to 4006 of the special figure start port SW common processing (FIG. 40). Although the random number value is acquired from the area, another random number may be acquired as long as it is a random number related to the special figure variation display game. For example, the random number generation circuit 608 generates all or part of the jackpot random number, jackpot symbol random number, and first to third variation pattern random numbers (generates a hard random number), and executes the processing of steps 4004 to 4006 The generated random number may be acquired.

ここで、本実施形態において、割込み処理が呼び出された場合に、スタック領域に、フラグレジスタの値と、戻りアドレス値が格納される順序について説明する。   Here, in this embodiment, the order in which the value of the flag register and the return address value are stored in the stack area when an interrupt process is called will be described.

まず、図51Aは、本発明の第1の実施の形態とは対照的に、割込み処理が呼び出された場合に、先に戻りアドレス値をスタック領域に格納し、その後、フラグレジスタの値をスタック領域に格納することを仮定した場合の図である。この図51Aの(A)〜(C)により、割込み処理ルーチンの実行過程において、スタック領域に退避されたデータがどのように変化するかを説明する。   First, in contrast to the first embodiment of the present invention, FIG. 51A shows that when an interrupt process is called, the return address value is first stored in the stack area, and then the value of the flag register is stacked. It is a figure at the time of assuming storing in an area | region. With reference to (A) to (C) of FIG. 51A, how the data saved in the stack area changes during the execution of the interrupt processing routine will be described.

なお、図51Aの「FLG」は1バイトのフラグレジスタの値を示している。また、「ADR_H」は戻りアドレスの上位バイトの値を示し、「ADR_L」は戻りアドレスの下位バイトの値を示しており、「ADR_H」と「ADR_L」を組み合わせることで、2バイトの戻りアドレス値が構成される。   Note that “FLG” in FIG. 51A indicates the value of the 1-byte flag register. “ADR_H” indicates the value of the upper byte of the return address, “ADR_L” indicates the value of the lower byte of the return address, and the return address value of 2 bytes is obtained by combining “ADR_H” and “ADR_L”. Is configured.

まず、図51Aの(A)は、割込み処理が発生して、戻りアドレス値及びフラグレジスタの値が、スタック領域に格納された直後の状態である。次いで、割込み処理ルーチン内で「PUSH」や「CALL」の命令が実行されると、図51Aの(B)に示すように、スタック領域に別の退避データが蓄積される。   First, FIG. 51A (A) shows a state immediately after an interrupt process occurs and the return address value and the flag register value are stored in the stack area. Next, when a “PUSH” or “CALL” instruction is executed in the interrupt processing routine, another save data is accumulated in the stack area as shown in FIG. 51A (B).

次いで、以降の割込み処理ルーチン内で「POP」命令等が実行されると、蓄積された退避データが徐々に復帰し、割込み処理ルーチンの最後の段階になると図51Aの(A)の状態に戻ることになる。そして、割込み処理ルーチンの最後で「RETI」命令を実行すると、スタック領域から「FLG」の値がフラグレジスタに復帰して格納されるともに、「ADR_H」と「ADR_L」の戻りアドレス値が復帰してプログラムカウンタに格納されることで、割込信号が発生した時点に対応する呼出元ルーチンのアドレスに処理が移り、以降の処理を継続することになる。   Next, when a “POP” instruction or the like is executed in the subsequent interrupt processing routine, the stored saved data is gradually restored, and when the final stage of the interrupt processing routine is reached, the state returns to the state of FIG. 51A (A). It will be. When the “RETI” instruction is executed at the end of the interrupt processing routine, the value of “FLG” is returned from the stack area to the flag register and stored, and the return address values of “ADR_H” and “ADR_L” are restored. By storing in the program counter, the process moves to the address of the call source routine corresponding to the time when the interrupt signal is generated, and the subsequent processes are continued.

なお、「RETI」命令が実行されるまでは、この割込み処理ルーチンの実行中でのスタックポインタの値は、フラグレジスタの値が格納されている領域のアドレス(図では29F9H)よりも、常に小さな値(2980H〜29F8H)の範囲で増減する。   Until the “RETI” instruction is executed, the value of the stack pointer during execution of this interrupt processing routine is always smaller than the address (29F9H in the figure) of the area where the value of the flag register is stored. Increase or decrease within the range of values (2980H to 29F8H).

ただし、割込み処理ルーチンのプログラムにバグ等があるときは、スタックポインタの値が想定している範囲を外れてしまう恐れがある。例えば「POP」命令が、プログラム開発者が意図している回数よりも1回だけ余分に実行されると、スタックポインタの値が、フラグレジスタの値が格納されている領域のアドレス(29F9H)を一時的に指し示してしまうことになる。そして、この状態で「PUSH」命令を1回だけ実行すると、29F9Hのアドレスに退避されている「FLG」の値に、別の値が上書きされてしまうことになる。   However, if there is a bug in the interrupt processing routine program, the stack pointer value may fall outside the expected range. For example, if the “POP” instruction is executed once more than the number intended by the program developer, the value of the stack pointer is set to the address (29F9H) of the area where the value of the flag register is stored. It will point temporarily. If the “PUSH” instruction is executed only once in this state, another value is overwritten on the value of “FLG” saved at the address 29F9H.

このようなバグが存在する場合は、割込み処理ルーチンの最後で「RETI」命令を実行する段階になったとき、図51Aの(C)に示すように、29FAH〜29FBHのアドレスに退避された「ADR_H」と「ADR_L」を書き換えることなく、29F9Hのアドレスに退避された「FLG」のみを異常な値に書き換えるという状態が発生する恐れがある。   When such a bug exists, when the “RETI” instruction is executed at the end of the interrupt processing routine, as shown in (C) of FIG. 51A, the “evacuated” addresses 29FAH to 29FBH are saved. There is a possibility that only “FLG” saved in the address 29F9H is rewritten to an abnormal value without rewriting “ADR_H” and “ADR_L”.

この場合、復帰後のフラグレジスタに格納される値が異常値になっているため、以降の処理が正常に動作せずに障害が発生することが考えられる。しかしながら、プログラムカウンタに復帰する戻りアドレス値(「ADR_H」と「ADR_L」)は正常な値であるので、割込み処理ルーチンの最後で「RETI」命令を実行すると、プログラムが暴走することなく呼出元のルーチンに戻って処理を継続することになる。   In this case, since the value stored in the flag register after the return is an abnormal value, it is considered that the subsequent processing does not operate normally and a failure occurs. However, since the return address values ("ADR_H" and "ADR_L") that return to the program counter are normal values, if the "RETI" instruction is executed at the end of the interrupt processing routine, the program does not run out of control. Return to the routine and continue processing.

そのため、遊技機の開発期間中では、開発者がプログラム中のバグの存在に気づかない可能性がある。仮に、障害の発生に気づいても、プログラムが暴走しない可能性が高いが故に、障害の発生要因を特定することが困難になるおそれがある。   Therefore, during the game machine development period, the developer may not be aware of the presence of bugs in the program. Even if the occurrence of a failure is noticed, there is a high possibility that the program will not run out of control, so it may be difficult to identify the cause of the failure.

一方、図51Bは、本発明の第1の実施の形態と同様に、割込み処理が呼び出された場合に、先にフラグレジスタの値をスタック領域に格納し、その後、戻りアドレス値をスタック領域に格納した場合の図である。この図51Bの(A)〜(C)により、割込み処理ルーチンの実行過程において、スタック領域に退避されたデータがどのように変化するかを説明する。なお、図51Bの「FLG」、「ADR_H」、「ADR_L」も、図51Aと同様の構成である。   On the other hand, FIG. 51B shows that the flag register value is first stored in the stack area when the interrupt processing is called, and then the return address value is stored in the stack area, as in the first embodiment of the present invention. It is a figure at the time of storing. With reference to (A) to (C) of FIG. 51B, how the data saved in the stack area changes during the execution of the interrupt processing routine will be described. Note that “FLG”, “ADR_H”, and “ADR_L” in FIG. 51B have the same configuration as in FIG. 51A.

まず、図51Bの(A)は、割込み処理が発生して、戻りアドレス値及びフラグレジスタの値が、スタック領域に格納された直後の状態である。次いで、割込み処理ルーチン内で「PUSH」や「CALL」の命令を実行すると、図51Bの(B)に示すように、スタック領域に別の退避データが蓄積される。   First, (A) of FIG. 51B shows a state immediately after an interrupt process occurs and the return address value and the flag register value are stored in the stack area. Next, when a “PUSH” or “CALL” instruction is executed in the interrupt processing routine, another save data is accumulated in the stack area as shown in FIG. 51B (B).

次いで、以降の割込み処理ルーチン内で「POP」命令等が実行されると、蓄積された退避データが徐々に復帰し、割込み処理ルーチンの最後の段階になると図51Bの(A)の状態に戻ることになる。そして、割込み処理ルーチンの最後で「RETI」命令を実行すると、スタック領域から「FLG」の値がフラグレジスタに復帰して格納されるともに、「ADR_H」と「ADR_L」の戻りアドレス値が復帰してプログラムカウンタに格納されることで、割込信号が発生した時点に対応する呼出元ルーチンのアドレスに処理が移り、以降の処理を継続することになる。   Next, when the “POP” instruction or the like is executed in the subsequent interrupt processing routine, the stored saved data is gradually restored, and when the final stage of the interrupt processing routine is reached, the state returns to the state shown in FIG. 51B (A). It will be. When the “RETI” instruction is executed at the end of the interrupt processing routine, the value of “FLG” is returned from the stack area to the flag register and stored, and the return address values of “ADR_H” and “ADR_L” are restored. By storing in the program counter, the process moves to the address of the call source routine corresponding to the time when the interrupt signal is generated, and the subsequent processes are continued.

なお、「RETI」命令が実行されるまでは、この割込み処理ルーチンの実行中でのスタックポインタの値は、戻りアドレス値が格納されている領域のアドレス(図では29F9H)よりも、常に小さな値(2980H〜29F8H)の範囲で増減する。   Until the “RETI” instruction is executed, the value of the stack pointer during execution of this interrupt processing routine is always smaller than the address (29F9H in the figure) of the area where the return address value is stored. Increase or decrease within the range of (2980H to 29F8H).

このとき、前述の図51Aと同様に、割込み処理ルーチンのプログラムにバグ等があると、スタックポインタの値が想定している範囲を外れてしまう恐れがある。この場合、スタック領域に待避されている「ADR_L」、「ADR_H」、「FLG」などの値が別の値が上書きされてしまう恐れがあり、割込み処理ルーチンの最後で「RETI」命令を実行したときに、フラグレジスタの値が正常に復帰しなくなってしまう。   At this time, as in FIG. 51A described above, if there is a bug or the like in the interrupt processing routine program, the value of the stack pointer may deviate from the expected range. In this case, values such as “ADR_L”, “ADR_H”, and “FLG” saved in the stack area may be overwritten with another value, and the “RETI” instruction is executed at the end of the interrupt processing routine. Sometimes, the value of the flag register does not return to normal.

しかしながら、前述の図51Aとは異なり、図51Bの構成であれば、スタック領域に退避された「ADR_H」と「ADR_L」の値を書き換えずに、スタック領域に退避された「FLG」のみを書き換えることは、あり得ない。その理由は、図51Bの(C)に示すように、スタック領域へのデータの出し入れの順序に特徴があるが故に、「FLG」が異常値に書き換えられるときには、その上方に待避されている「ADR_H」と「ADR_L」の値も、書き換えられていると考えられるからである。   However, unlike FIG. 51A described above, the configuration of FIG. 51B rewrites only “FLG” saved in the stack area without rewriting the values of “ADR_H” and “ADR_L” saved in the stack area. That is impossible. The reason for this is that, as shown in (C) of FIG. 51B, since there is a characteristic in the order of putting data in and out of the stack area, when “FLG” is rewritten to an abnormal value, it is saved above it. This is because the values of “ADR_H” and “ADR_L” are also considered to be rewritten.

このようにして、割込み処理ルーチンの最後で図51Bの(C)の状態となり、この状態で「RETI」命令を実行するすると、29F9H〜29FAHのアドレスに退避された異常なアドレス値がプログラムカウンタに格納されるので、呼出元のルーチンに戻れず、プログラムが暴走することになる。   In this way, the state shown in FIG. 51B (C) is reached at the end of the interrupt processing routine, and when the “RETI” instruction is executed in this state, the abnormal address value saved to the addresses 29F9H to 29FAH is stored in the program counter. Since it is stored, it cannot return to the calling routine, and the program will run out of control.

すなわち、本実施形態と同様の図51Bの構成であれば、復帰後のフラグレジスタに格納される値が異常値になるような場合には、「RETI」命令実行後のプログラムカウンタにも異常なアドレス値が必ず格納される。そのため、割込み処理ルーチンにバグがあれば、遊技機の開発期間中にプログラムが暴走して、開発者が障害の発生に気づきやすい構成となるのである。従って、図51Aの構成よりも、プログラムのバグが発見しやすい遊技機を実現することが可能となる。   That is, with the configuration of FIG. 51B similar to the present embodiment, if the value stored in the flag register after return becomes an abnormal value, the program counter after execution of the “RETI” instruction is also abnormal. The address value is always stored. Therefore, if there is a bug in the interrupt processing routine, the program runs out of control during the development period of the gaming machine, and the developer can easily recognize the occurrence of the failure. Therefore, it is possible to realize a gaming machine in which program bugs are easier to find than in the configuration of FIG. 51A.

次に、本実施形態において、割込み処理が呼び出された場合にスタック領域に格納される、フラグレジスタの値のバイト数と、戻りアドレス値のバイト数との関係について説明する。   Next, in the present embodiment, the relationship between the number of bytes of the flag register value and the number of bytes of the return address value stored in the stack area when the interrupt process is called will be described.

まず、図51Cは、本発明の第1の実施の形態とは対照的に、フラグレジスタの値のバイト数と、戻りアドレス値のバイト数とを、ともに2バイトで構成することを仮定した場合の図である。この図51Cの(A)〜(D)により、割込み処理の開始直後及び終了直前におけるスタック領域内の退避データの状態と、CALL命令により呼び出されたサブルーチンの開始直後及び終了直前におけるスタック領域内の退避データの状態について説明する。   First, in FIG. 51C, in contrast to the first embodiment of the present invention, it is assumed that the number of bytes of the flag register value and the number of bytes of the return address value are both composed of 2 bytes. FIG. 51A to 51D, the saved data state in the stack area immediately after the start of the interrupt process and immediately before the end, and the state in the stack area immediately after the start of the subroutine called by the CALL instruction and immediately before the end. The state of saved data will be described.

なお、図51Cの「FLG」は2バイトのフラグレジスタの値を示している。また、「ADRW_H」と「ADRW_L」は、当該割込み処理の発生時に格納される戻りアドレス値の上位バイトと下位バイトの値を示している。また、「ADR2_H」と「ADR2_L」、及び「ADR1_H」と「ADR1_L」は、当該割込み処理が発生するよりも前に格納されたアドレス値の上位バイトと下位バイトである。なお、「ADR3_H」と「ADR3_L」は、割込み処理が発生することに替えて、CALL命令によるサブルーチンが開始された場合に格納される戻りアドレス値の上位バイトと下位バイトの値を示している。   Note that “FLG” in FIG. 51C indicates the value of the 2-byte flag register. Further, “ADRW_H” and “ADRW_L” indicate the values of the upper byte and the lower byte of the return address value stored when the interrupt process occurs. Further, “ADR2_H” and “ADR2_L”, and “ADR1_H” and “ADR1_L” are the upper byte and the lower byte of the address value stored before the interrupt processing occurs. Note that “ADR3_H” and “ADR3_L” indicate the upper byte and lower byte values of the return address value stored when the subroutine by the CALL instruction is started instead of the occurrence of the interrupt processing.

まず、図51Cの(A)は、割込み処理が発生して、戻りアドレス値及びフラグレジスタの値が、スタック領域に格納された直後の状態である。この割込み処理の最後のステップにおいては、「RETI」命令が実行されることで、スタック領域から2バイトのフラグレジスタの値と、2バイトの戻りアドレス値が復帰する。なお、スタック領域へのデータの格納状況に対応してスタックポインタの値も増減するようになっており、「RETI」命令実行後に呼出元の処理に復帰した際には、スタック領域は図51Cの(B)に示す状態となっている。   First, FIG. 51C (A) shows a state immediately after an interrupt process occurs and the return address value and the flag register value are stored in the stack area. In the last step of this interrupt processing, the “RETI” instruction is executed, whereby the 2-byte flag register value and 2-byte return address value are restored from the stack area. It should be noted that the value of the stack pointer is also increased or decreased in accordance with the storage status of data in the stack area, and when returning to the calling process after execution of the “RETI” instruction, the stack area is shown in FIG. 51C. The state shown in FIG.

一方、割込み処理が発生するのではなく、呼出元の処理でCALL命令を実行してサブルーチンを呼び出した場合は、図51Cの(C)に示すように、戻りアドレス値のみがスタック領域に格納され、フラグレジスタの値は格納されない。そして、このサブルーチンの最後のステップにおいては、「RET」命令が実行されることで、スタック領域から2バイトの戻りアドレス値のみが復帰する。なお、スタック領域へのデータの格納状況に対応してスタックポインタの値も増減するようになっており、「RET」命令実行後に呼出元の処理に復帰した際には、スタック領域は図51Cの(B)に示す状態となっている。   On the other hand, when the subroutine is called by executing the CALL instruction in the call source process instead of the interrupt process, only the return address value is stored in the stack area as shown in FIG. 51C (C). The value of the flag register is not stored. In the last step of this subroutine, only the 2-byte return address value is restored from the stack area by executing the “RET” instruction. It should be noted that the value of the stack pointer is also increased or decreased according to the data storage status in the stack area. When the process returns to the caller after execution of the “RET” instruction, the stack area is shown in FIG. 51C. The state shown in FIG.

ただし、CALL命令で呼び出したサブルーチンのプログラムにバグがあり、サブルーチンの最後で、「RET」命令の代わりに、誤って「RETI」命令を実行してしまった場合は、図51Cの(C)に示す状態から「ADR3_H」と「ADR3_L」の値を戻りアドレス値としてプログラムカウンタに復帰させるだけでなく、「ADR2_H」と「ADR2_L」の値を2バイトのフラグレジスタの値と見なして復帰させてしまうことになる。そのため、「RETI」命令実行後に呼出元の処理に復帰した際には、スタック領域は図51Cの(D)に示す状態となってしまう。   However, if there is a bug in the subroutine program called by the CALL instruction, and the “RETI” instruction is executed by mistake instead of the “RET” instruction at the end of the subroutine, (C) in FIG. 51C. From the state shown, not only the values of “ADR3_H” and “ADR3_L” are returned to the program counter as return address values, but also the values of “ADR2_H” and “ADR2_L” are regarded as values of the 2-byte flag register and returned. It will be. Therefore, when returning to the caller process after executing the “RETI” instruction, the stack area is in the state shown in FIG. 51C (D).

その後、呼出元の処理でさらに「RET」命令を実行すると、図51Cの(D)の状態から、「ADR1_H」と「ADR1_L」の戻りアドレス値を取得して、プログラムカウンタに復帰させ、そのアドレスに移行してしまうことになる。これは、呼出元の処理で「RET」命令を実行した場合に取得されるべき本来の戻りアドレス値(図51Cの(B)の「ADR2_H」と「ADR2_L」)とは異なるアドレスに、処理が移行することに相当する。   Thereafter, when the “RET” instruction is further executed in the calling source process, the return address values of “ADR1_H” and “ADR1_L” are acquired from the state of (D) in FIG. 51C, and the program counter is returned to that address. Will be transferred to. This is because the process is performed at an address different from the original return address values (“ADR2_H” and “ADR2_L” in FIG. 51C (B)) that should be acquired when the “RET” instruction is executed in the caller process. This is equivalent to migrating.

この場合、本来実行すべき処理とは異なる処理が行われるため、何らかの障害が発生するはずであるが、誤って取得した「ADR1_H」と「ADR1_L」の戻りアドレス値は、プログラム上にアドレス値として使用されている値である。故に、プログラムが暴走することなく呼出元のルーチンに戻って処理を継続することになる。   In this case, since a process different from the process that should be originally performed is performed, some kind of failure should occur. However, the return address values of “ADR1_H” and “ADR1_L” that are acquired by mistake are used as address values on the program. This is the value being used. Therefore, the program returns to the calling routine without continuing the runaway and the processing is continued.

そのため、遊技機の開発期間中では、開発者がプログラム中のバグの存在に気づかない可能性がある。仮に、障害の発生に気づいても、プログラムが暴走しない可能性が高いが故に、障害の発生要因を特定することが困難になるおそれがある。   Therefore, during the game machine development period, the developer may not be aware of the presence of bugs in the program. Even if the occurrence of a failure is noticed, there is a high possibility that the program will not run out of control, so it may be difficult to identify the cause of the failure.

一方、図51Dは、本発明の第1の実施の形態と同様に、フラグレジスタの値のバイト数と、戻りアドレス値のバイト数とを、異ならせて構成した場合の図である。この図51Dの(A)〜(C)により、割込み処理の開始直後及び終了直前におけるスタック領域内の退避データの状態と、CALL命令により呼び出されたサブルーチンの開始直後及び終了直前におけるスタック領域内の退避データの状態について説明する。   On the other hand, FIG. 51D is a diagram in the case where the number of bytes of the flag register value is different from the number of bytes of the return address value, as in the first embodiment of the present invention. 51A to 51C, the state of the saved data in the stack area immediately after the start and immediately before the end of the interrupt processing, and the state in the stack area immediately after the start of the subroutine called by the CALL instruction and immediately before the end. The state of saved data will be described.

なお、図51Dの「ADR1_H」、「ADR1_L」、「ADR2_H」、「ADR2_L」「ADR3_H」、「ADR3_L」も、図51Cと同様の構成である。ただし、図51Dの「FLG」が1バイトで構成されている点は、図51Cと異なっている。   Note that “ADR1_H”, “ADR1_L”, “ADR2_H”, “ADR2_L”, “ADR3_H”, and “ADR3_L” in FIG. 51D have the same configuration as in FIG. 51C. However, “FLG” in FIG. 51D is composed of 1 byte, which is different from FIG. 51C.

まず、図51Dの(A)は、呼出元の処理でCALL命令を実行してサブルーチンを呼び出した場合において、戻りアドレス値がスタック領域に格納された直後の状態である。この場合は、戻りアドレス値のみがスタック領域に格納され、フラグレジスタの値は格納されない。そして、このサブルーチンの最後のステップにおいては、「RET」命令が実行されることで、スタック領域から2バイトの戻りアドレス値のみが復帰する。なお、スタック領域へのデータの格納状況に対応してスタックポインタの値も増減するようになっており、「RET」命令実行後に呼出元の処理に復帰した際には、スタック領域は図51Dの(B)に示す状態となっている。   First, (A) of FIG. 51D shows a state immediately after the return address value is stored in the stack area when the CALL instruction is executed in the call source process to call a subroutine. In this case, only the return address value is stored in the stack area, and the value of the flag register is not stored. In the last step of this subroutine, only the 2-byte return address value is restored from the stack area by executing the “RET” instruction. It should be noted that the value of the stack pointer is also increased or decreased in accordance with the data storage status in the stack area, and when returning to the caller process after executing the “RET” instruction, the stack area is shown in FIG. 51D. The state shown in FIG.

ただし、CALL命令で呼び出したサブルーチンのプログラムにバグがあり、サブルーチンの最後で、「RET」命令の代わりに、誤って「RETI」命令を実行してしまった場合は、図51Dの(A)に示す状態から「ADR3_H」と「ADR3_L」の値を戻りアドレス値としてプログラムカウンタに復帰させるだけでなく、「ADR2_L」の値を1バイトのフラグレジスタの値と見なして復帰させてしまうことになる。そのため、「RETI」命令実行後に呼出元の処理に復帰した際には、スタック領域は図51Dの(C)に示す状態となってしまう。   However, if there is a bug in the subroutine program called by the CALL instruction and the “RETI” instruction is executed by mistake instead of the “RET” instruction at the end of the subroutine, the process shown in FIG. From the state shown, not only the values of “ADR3_H” and “ADR3_L” are returned to the program counter as return address values, but also the value of “ADR2_L” is regarded as the value of the 1-byte flag register. Therefore, when returning to the caller process after executing the “RETI” instruction, the stack area is in the state shown in FIG. 51C (C).

その後、呼出元の処理でさらに「RET」命令を実行すると、図51Dの(C)の状態から、「ADR1_L」と「ADR2_H」の値を戻りアドレス値として取得してプログラムカウンタに格納し、さらにプログラムカウンタが示す場所へ移行してしまうことになる。これは、呼出元の処理で「RET」命令を実行した場合に取得されるべき本来の戻りアドレス値(図51Dの(A)の「ADR2_H」と「ADR2_L」)とは異なるアドレスに、処理が移行することに相当する。   Thereafter, when the “RET” instruction is further executed in the calling source process, the values of “ADR1_L” and “ADR2_H” are acquired as return address values from the state of (C) in FIG. 51D and stored in the program counter. It will move to the place indicated by the program counter. This is because the processing is performed at an address different from the original return address values (“ADR2_H” and “ADR2_L” in FIG. 51D (A)) that should be acquired when the “RET” instruction is executed in the calling source processing. This is equivalent to migrating.

この場合、誤って取得したアドレスのうち、「ADR2_H」がアドレスの下位バイトと認識され、「ADR1_L」がアドレスの上位バイトと認識されるので、実際には正しい組み合わせになっていないアドレスが生成されることになり、プログラム上にアドレス値として使用されていないアドレス値になると考えられる。そのため、以降に「RET」命令を実行したときに、プログラムカウンタには異常なアドレス値が格納されることになり、それ故にCPUが暴走する可能性が高くなる。そのため、割込み処理ルーチンにバグがあれば、遊技機の開発期間中にプログラムが暴走して、開発者が障害の発生に気づきやすい構成となるのである。従って、図51Cの構成よりも、プログラムのバグが発見しやくい遊技機を実現することが可能となる。   In this case, among the addresses acquired in error, “ADR2_H” is recognized as the lower byte of the address and “ADR1_L” is recognized as the upper byte of the address, so an address that is not actually in the correct combination is generated. Therefore, it is considered that the address value is not used as an address value on the program. Therefore, when the “RET” instruction is subsequently executed, an abnormal address value is stored in the program counter, and therefore, the possibility of the CPU running out of control increases. Therefore, if there is a bug in the interrupt processing routine, the program runs out of control during the development period of the gaming machine, and the developer can easily recognize the occurrence of the failure. Therefore, it is possible to realize a gaming machine in which a bug in the program is easier to find than in the configuration of FIG. 51C.

以上のように構成することによって、フラグレジスタ及び戻りアドレスをスタック領域に退避させる場合にノイズ等によってスタック領域に格納されたデータが書き換えられて障害が発生した場合であっても、障害を早期に発見可能となるため、障害発生時の原因特定が容易になり、開発効率を向上させることが可能となる。   By configuring as described above, even when the flag register and the return address are saved in the stack area, even if the data stored in the stack area is rewritten due to noise or the like, the failure is caused early. Since it becomes possible to identify the cause, it becomes easy to identify the cause when a failure occurs, and it is possible to improve development efficiency.

ここで、本発明とは対照的な従来技術と本発明との対比を行う。   Here, the contrast between the prior art and the present invention as opposed to the present invention is performed.

まず、特許文献Aとして特開2009−183500号公報に開示されるような遊技機が知られており、この遊技機では、従来よりもプログラムコードを削減し、記憶手段の記憶容量を削減するために、CPUからI/O空間を介してアクセス可能な記憶領域を少なくとも有する記憶手段を備えている。   First, a gaming machine as disclosed in Japanese Patent Application Laid-Open No. 2009-183500 is known as Patent Document A. In this gaming machine, in order to reduce the program code and reduce the storage capacity of the storage means than before. In addition, storage means having at least a storage area accessible from the CPU via the I / O space is provided.

そして、この遊技機では、特許文献Aの段落[0137]〜[0142]に記載があるように、LD命令、IN命令、OUT命令を適宜使い分けることで、プログラム全体のステート数やプログラムコード量を削減している。   In this gaming machine, as described in paragraphs [0137] to [0142] of Patent Document A, the LD instruction, the IN instruction, and the OUT instruction are properly used, so that the number of states and the program code amount of the entire program can be reduced. Reduced.

さらに、この遊技機では、特許文献Aの図13に記載があるように、指定したRAM領域からレジスタにデータを格納するLD命令や、逆に、レジスタから指定したRAM領域にデータを格納するLD命令を用いている。   Further, in this gaming machine, as described in FIG. 13 of Patent Document A, an LD instruction for storing data from a designated RAM area into a register, or conversely, an LD for storing data into a RAM area designated from a register. Instruction is used.

具体的には、RAM領域の2810H番地のデータをAレジスタに格納するための「LD A,(2810H)」、AレジスタのデータをRAM領域の2810H番地に格納するための「LD (2810H),A」、RAM領域の2810H番地のデータをHLレジスタに格納するための「LD HL,(2810H)」、HLレジスタのデータをRAM領域の2810H番地に格納するための「LD (2810H),HL」などが該当する。   Specifically, “LD A, (2810H)” for storing data at address 2810H in the RAM area in the A register, and “LD (2810H), for storing data in register A at address 2810H in the RAM area. A ”,“ LD HL, (2810H) ”for storing the data at address 2810H in the RAM area in the HL register, and“ LD (2810H), HL ”for storing the data in the HL register at address 2810H in the RAM area And so on.

これらの命令は、特許文献Aの図13にも記載があるが、3バイトのプログラムコード量を要する命令である。なお、プログラムコードとは、任意の命令を、命令コード部(オペコード部)とアドレス部(オペランド部)との組み合せを用いて所定バイト数の数値で表現したものである。   Although these instructions are also described in FIG. 13 of Patent Document A, they are instructions that require a 3-byte program code amount. The program code is an arbitrary instruction expressed by a numerical value of a predetermined number of bytes using a combination of an instruction code part (opcode part) and an address part (operand part).

命令コード部は、命令同士を識別するために必要なコードであり、例えば、「LD A,(2810H)」のような、指定されたRAM領域のデータをAレジスタに格納するためのLD命令であれば、「3AH」などの1バイトの値が割り当てられている。一方、アドレス部はRAM領域のアドレスを指定するためのコードであり、例えば、2810H番地へのアクセスを指定する場合は、「28H」「10H」という2バイトの値がプログラムにて設定される。   The instruction code portion is a code necessary for identifying instructions, and is an LD instruction for storing data in a designated RAM area in the A register, such as “LD A, (2810H)”, for example. If there is, a 1-byte value such as “3AH” is assigned. On the other hand, the address portion is a code for designating the address of the RAM area. For example, when designating access to address 2810H, a 2-byte value of “28H” and “10H” is set by the program.

このようなLD命令は、遊技プログラムにて頻繁に使用されるものであるから、プログラム全体のコード量を削減するためには、命令をできるだけ少ないバイト数で表現できることが好ましいのは言うまでもない。しかしながら、RAM領域のアドレスを指定する際には、アドレス部に少なくとも2バイトのコードを割り当てる必要がある上に、命令同士を識別するための命令コード部のコードが少なくとも1バイト必要となるため、このようなLD命令を表現するためのプログラムコードは、2バイト以下に削減することは不可能である。   Since such LD instructions are frequently used in game programs, it is needless to say that the instructions can be expressed with as few bytes as possible in order to reduce the code amount of the entire program. However, when specifying the address of the RAM area, it is necessary to assign a code of at least 2 bytes to the address part, and at least 1 byte of the code of the instruction code part for identifying the instructions is required. The program code for expressing such an LD instruction cannot be reduced to 2 bytes or less.

そこで本発明は、上記のような問題点を解決するために、遊技制御プログラム全体のコード量を削減することを目的としている。   Therefore, the present invention aims to reduce the code amount of the entire game control program in order to solve the above-described problems.

例えば、本発明の第1の実施の形態によれば、上位アドレス指定レジスタを用いることにより、RAM(更新情報記憶手段)にアクセスするための命令を、少ないバイト数のコードで実現することが可能となる。そのため、遊技制御プログラムに当該命令を用いることで、遊技制御プログラム全体のコード量を削減することが可能となる。   For example, according to the first embodiment of the present invention, an instruction for accessing a RAM (update information storage means) can be realized with a code having a small number of bytes by using an upper address specification register. It becomes. Therefore, the code amount of the entire game control program can be reduced by using the instruction for the game control program.

なお、上位アドレス指定レジスタ自体は1バイトのレジスタであるので、特定アドレスの前後各128バイト(又は前後各127バイト)の範囲内からデータを取り出すことを目的として、当該特定アドレスを指定するためにわざわざ2バイトのレジスタを用いるような方法と比較すると、アドレス指定のためのレジスタ構成が簡素化されている。   Since the upper address specification register itself is a 1-byte register, in order to specify the specific address for the purpose of extracting data from the range of 128 bytes before and after the specific address (or 127 bytes before and after each specific address). Compared to a method using two-byte registers, the register configuration for addressing is simplified.

また、Kレジスタ(上位アドレス指定レジスタ)に固有のアドレス値(“28H”)を設定すること(固有値設定手段)によって、リセット(起動)信号が発生した際に、CPU(演算処理手段)によってKレジスタに固有のアドレス値を設定する処理を行う必要がなくなる。したがって、リセット後、遊技制御プログラムでKレジスタに固有のアドレス値を設定しなくても、RAMにデータを読み書きすることが可能となる。さらに、CPUの処理負担が軽減され、遊技制御プログラムのコード量を削減することも可能となる。   Further, by setting a unique address value (“28H”) in the K register (upper address designation register) (unique value setting means), when a reset (startup) signal is generated, the CPU (arithmetic processing means) performs K There is no need to set a unique address value in the register. Therefore, after resetting, it is possible to read / write data from / to the RAM without setting a unique address value in the K register in the game control program. Further, the processing load on the CPU is reduced, and the code amount of the game control program can be reduced.

また、RAMに記憶された情報の更新を規制するRAMアクセス規制回路を備え、所定の起動信号が発生するとRAMアクセス規制回路によりRAMの更新禁止状態となり、その後、CPUコアの動作が開始されてRAMの更新禁止状態が解除され、次いで、上位アドレス指定レジスタにより指定されるアドレスに記憶された情報を用いて遊技制御が開始されるので、誤ったタイミングでRAMの値が更新されることを防止できる。   In addition, a RAM access restriction circuit for restricting the update of information stored in the RAM is provided, and when a predetermined activation signal is generated, the RAM access restriction circuit causes the RAM to be prohibited from being updated. Since the update prohibition state is released, and then game control is started using information stored at the address specified by the upper address specification register, it is possible to prevent the RAM value from being updated at an incorrect timing. .

さらに、本発明の第1の実施の形態によれば、始動記憶などを保持するワークエリアと、スタック領域とが異なる上位アドレスとなる領域に保持されるため、乱数更新時などに誤ってスタック領域に格納されたデータを更新することを防止することができるため、誤動作を防ぐことができる。   Furthermore, according to the first embodiment of the present invention, since the work area that holds the start memory and the like and the stack area are held in different upper address areas, the stack area is mistakenly changed at the time of random number update or the like. Since it is possible to prevent the data stored in the database from being updated, malfunctions can be prevented.

特に、始動記憶を保持する領域(例えば、図16、図17、図53A、図53Bに例示するような乱数記憶領域、あるいは図15に例示する普図乱数保存領域)は、変動表示ゲームを開始する際に、格納されている乱数がシフトされることになるが、これらの領域の上位アドレスはすべて同一(28H)になるように設定されているので、シフトの処理を行う際に上位アドレス指定レジスタの値を変更する必要がなく、処理が簡素化される。   In particular, the area that holds the start memory (for example, the random number storage area illustrated in FIG. 16, FIG. 17, FIG. 53A, or FIG. 53B, or the universal random number storage area illustrated in FIG. 15) starts the variable display game. The stored random numbers will be shifted, but since the upper addresses of these areas are all set to be the same (28H), the upper address is designated when the shift process is performed. There is no need to change the register value, and the processing is simplified.

また、ワークエリアの下位アドレスが一致する領域であって、上位アドレスがスタック領域と同じ領域を使用禁止領域に設定することによって、上位アドレスの値を間違っている状態で始動記憶を更新しようするとCPUがリセットされ、誤作動を防止することができる。   In addition, if the lower address of the work area is the same and the upper address is the same as the stack area, the CPU is used to update the start-up memory when the upper address value is incorrect by setting the use prohibited area. Is reset to prevent malfunction.

次に、特許文献Bとして特開平10−033804号公報に開示されるようなパチンコ機が知られており、パチンコ機の制御装置のプログラムにおいては、遊技状態に対応して異なる命令が実行されるように、プログラム内部で分岐の処理が行われている。この特許文献Bでは、段落[0072]〜[0073]に記載があるように、プロセスフラグの値に応じて制御を分岐させる処理がなされ、その分岐の際には、基本回路30のROMに記憶されているプロセスジャンプテーブル(特許文献Bの図13)を参照して行なわれる。   Next, a pachinko machine as disclosed in Japanese Patent Application Laid-Open No. 10-033804 is known as Patent Document B, and in the program of the control device of the pachinko machine, different instructions are executed corresponding to the gaming state. As described above, branch processing is performed in the program. In Patent Document B, as described in paragraphs [0072] to [0073], a process for branching control is performed in accordance with the value of a process flag, and in that branch, the process is stored in the ROM of the basic circuit 30. This is performed with reference to the process jump table (FIG. 13 of Patent Document B).

一方、パチンコ機の制御装置などに用いられるCPUとして、特許文献Cとして特開平11−232099号公報に開示されるZ80系のCPUが知られている。Z80系の命令には、特許文献Cの段落[0020]に示されるような「JP(HL)」の命令が用意されている。この命令は、HLレジスタに格納された値をアドレスと認識させて、そのアドレスで示されるプログラムの箇所に処理を分岐させるものである。なお、CPUが起動した時点では、HLレジスタの値は不定な値が格納されている。   On the other hand, as a CPU used for a control device of a pachinko machine or the like, a Z80 CPU disclosed in Japanese Patent Application Laid-Open No. 11-232099 as Patent Document C is known. As a Z80 series command, a “JP (HL)” command as shown in paragraph [0020] of Patent Document C is prepared. This instruction causes the value stored in the HL register to be recognized as an address, and branches the process to the location of the program indicated by the address. Note that when the CPU is activated, the value of the HL register is an indefinite value.

特許文献Bの従来技術の遊技機のプログラムにて分岐の処理を行う場合には、特許文献CのCPUの「JP(HL)」が用いられることがあり、この場合、HLレジスタに分岐先のアドレスの値を格納してから、「JP(HL)」の命令を実行する構成となる。   When branch processing is performed in the prior art gaming machine program of Patent Literature B, the “JP (HL)” of the CPU of Patent Literature C may be used. In this case, the branch destination is stored in the HL register. After storing the address value, the “JP (HL)” instruction is executed.

しかしながら、特許文献Bの従来技術の遊技機などは、ノイズ環境に晒されているために、CPUが暴走する危険を有している。特に、特許文献Cのような従来のCPUを用いた場合は、遊技機の電源が投入されてCPUが起動を開始した直後では、HLレジスタの値が不定な値であるために、誤ってプログラム中の「JP(HL)」命令が実行された場合には、分岐先が不定なためにCPUが暴走するおそれがあった。   However, since the gaming machine of the prior art of Patent Document B is exposed to a noise environment, there is a risk that the CPU may run away. In particular, when a conventional CPU such as Patent Document C is used, the value of the HL register is an indefinite value immediately after the game machine is turned on and the CPU starts up. When the “JP (HL)” instruction is executed, the CPU may run away because the branch destination is indefinite.

そこで、本発明は、上記のような問題点を解決するために、ノイズ環境でも正常にCPUを動作させることを目的としている。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to operate a CPU normally even in a noisy environment in order to solve the above problems.

例えば、本発明の第1の実施の形態によれば、固有値設定手段(図12の初期値設定回路)を備えており、起動信号(リセット信号)が発生すると、固有値設定手段により分岐アドレス設定レジスタに固有のアドレス値が設定されるので、遊技制御プログラム開始直後にノイズ等が発生して、誤って特定の命令を実行してしまった場合であっても、固有のアドレス値で示されるアドレスに処理を分岐させることができる。そのため、遊技制御プログラム開始直後にノイズ等が発生しても、演算処理手段の暴走を防止することができる。   For example, according to the first embodiment of the present invention, the eigenvalue setting means (initial value setting circuit in FIG. 12) is provided, and when a start signal (reset signal) is generated, the eigenvalue setting means causes the branch address setting register to Since a unique address value is set, even if a noise or the like occurs immediately after the start of the game control program and a specific command is executed by mistake, the address indicated by the unique address value is set. Processing can be branched. Therefore, even if noise or the like occurs immediately after the start of the game control program, the runaway of the arithmetic processing means can be prevented.

すなわち、固有のアドレス値で示されるアドレス(例えば、遊技制御プログラムのリセットアドレス)には、演算処理手段が暴走したときに実行すべきプログラムの命令(リセット処理等の命令)が予め配置されているので、遊技制御プログラム開始直後にノイズ等が発生しても対処することが可能となる。   That is, a program instruction (an instruction for reset processing, etc.) to be executed when the arithmetic processing means runs away is arranged in advance at an address (for example, a reset address of the game control program) indicated by a unique address value. Therefore, even if noise or the like occurs immediately after the start of the game control program, it can be dealt with.

また、本発明の第1の実施の形態では、分岐アドレス設定レジスタを用いて、特図変動表示ゲームの制御状態(ゲーム処理番号に対応する各遊技状態)に対応した分岐処理を行っているので、制御状態が順次切り替わっても、その都度、切り換えられた制御状態に対応する分岐先の処理が行えるように、効率的な遊技制御プログラムが構成できるようになっている。なお、普図変動表示ゲームの制御状態に対応した分岐処理も、分岐アドレス設定レジスタを用いて行うようにしてもよい。   In the first embodiment of the present invention, the branch address setting register is used to perform branch processing corresponding to the control state of the special figure variation display game (each game state corresponding to the game process number). Even if the control state is sequentially switched, an efficient game control program can be configured so that the branch destination process corresponding to the switched control state can be performed each time. Note that the branching process corresponding to the control state of the normal map display game may also be performed using the branch address setting register.

さらに、本発明の第1の実施の形態によれば、電源投入時の際に、遊技制御プログラムが開始される前に、初期値設定回路(固有値設定手段)1241によってCPUコア102に備えるスタックポインタに初期値がハード的に設定される。そのため、遊技制御プログラムの実行が開始された直後にノイズ等が原因で割込処理が発生しても、呼出元のルーチンの戻りアドレスをスタック領域に確実に格納することができ、割込処理から呼出元のルーチンに復帰する際にも問題なく処理を継続することができる。   Furthermore, according to the first embodiment of the present invention, the stack pointer provided in the CPU core 102 by the initial value setting circuit (unique value setting means) 1241 before the game control program is started when the power is turned on. The initial value is set in hardware. Therefore, even if an interrupt process occurs due to noise or the like immediately after the execution of the game control program starts, the return address of the calling routine can be reliably stored in the stack area. When returning to the calling routine, processing can be continued without any problem.

また、分岐アドレス設定レジスタ(HLレジスタ)にリセットアドレス値が格納された状態で、特定の命令(JP(HL))が実行された場合であっても、スタックポインタの値を設定できる。   Further, even when a specific instruction (JP (HL)) is executed with the reset address value stored in the branch address setting register (HL register), the value of the stack pointer can be set.

なお、遊技制御中に異常が発生して、リセット回路610B(セキュリティ回路630)によりCPUコア102がリセットされるような場合であっても、CPUコア102の処理がリセットアドレスに戻される。   Even if an abnormality occurs during game control and the CPU core 102 is reset by the reset circuit 610B (security circuit 630), the processing of the CPU core 102 is returned to the reset address.

この場合、初期値設定回路1241によってスタックポインタに初期値がハード的に設定されなくても、リセットアドレスからの命令を実行した直後に、ソフトウェアによりスタックポインタに初期値を設定する(図25の遊技制御装置メイン処理のステップ2502A)ので、あらゆるリセット状態に対応してスタックポインタに初期値を設定することが可能となる。なお、同様の理由により、上位アドレス指定レジスタにもソフトウェアによって初期値を設定している(図25の遊技制御装置メイン処理のステップ2502B)。   In this case, even if the initial value is not set in the stack pointer by the initial value setting circuit 1241, the initial value is set in the stack pointer by software immediately after the instruction from the reset address is executed (the game shown in FIG. 25). Since step 2502A) of the control device main process, it becomes possible to set an initial value to the stack pointer corresponding to any reset state. For the same reason, an initial value is also set in the upper address designation register by software (step 2502B of the game control device main process in FIG. 25).

さらに、遊技制御プログラムは、呼出元のルーチンに記述されたCALL命令等の呼出の命令が実行された場合(第1の呼出条件が成立した場合)や、呼出元のルーチンの命令実行中に所定の割込信号が発生した場合(第2の呼出条件が成立した場合)には、呼出元のルーチンに含まれる戻りアドレスの値をスタック領域に格納して、呼出先の処理に移行するような構成となっている。   Further, the game control program is executed when a call instruction such as a CALL instruction described in the call source routine is executed (when the first call condition is satisfied) or during execution of the instruction of the call source routine. When the interrupt signal is generated (when the second call condition is satisfied), the return address value included in the call source routine is stored in the stack area, and the process proceeds to the call destination process. It has a configuration.

この場合において、後者の所定の割込信号は、呼出元のルーチンの実行中のアドレスとは無関係に発生するものであるので、割込信号が発生した時点におけるフラグレジスタ1200の値は、呼出先のルーチンの処理中で破壊されないように、スタック領域に退避しておくことが好ましい。   In this case, since the latter predetermined interrupt signal is generated regardless of the address during execution of the call source routine, the value of the flag register 1200 at the time when the interrupt signal is generated is determined by the call destination. It is preferable to save in the stack area so as not to be destroyed during the processing of this routine.

そこで、後者の第2の呼出条件が成立した場合は、図19の(D)に示すように、呼出元のルーチンに含まれる戻りアドレスの値だけでなく、フラグレジスタ1200の値もスタック領域に格納して、呼出先の処理に移行させている。そのため、後者の第2の呼出条件が成立した場合には、呼出先のルーチンのプログラム中にフラグレジスタをスタック領域に格納するための命令(「PUSH FLG」)を記述しなくても、フラグレジスタの値が自動的にスタック領域に格納されるため、プログラムのコード量を節約することができる。   Therefore, when the latter second calling condition is satisfied, as shown in FIG. 19D, not only the value of the return address included in the calling source routine but also the value of the flag register 1200 is stored in the stack area. It is stored and transferred to the call destination process. Therefore, if the latter second calling condition is satisfied, the flag register can be stored even if an instruction (“PUSH FLG”) for storing the flag register in the stack area is not described in the program of the called routine. Since the value of is automatically stored in the stack area, the code amount of the program can be saved.

これに対して、前者のように、呼出元のルーチンに記述されたCALL命令等の呼出の命令を実行する場合は、呼出元のルーチンで設定されたフラグレジスタ1200の値を呼出先のルーチンの処理中で破壊してはいけない場合もあるが、呼出先のルーチンの処理中で設定されたフラグレジスタ1200の値を、呼出元のルーチンに戻して演算に利用することもあり得る。よって、呼出元のルーチンで設定されたフラグレジスタ1200の値をスタック領域に退避すべきか否かはケースバイケースであることから、呼出先のルーチンのプログラム中に、プログラム中にフラグレジスタ1200の値をスタック領域に格納する命令(例えば、「PUSH FLG」)を記述して、値を退避するか否かを決定したほうが都合が良い。   On the other hand, when a call instruction such as a CALL instruction described in the call source routine is executed as in the former case, the value of the flag register 1200 set in the call source routine is set to the value of the call destination routine. Although there is a case where it cannot be destroyed during the processing, the value of the flag register 1200 set during the processing of the call destination routine may be returned to the call source routine and used for the calculation. Therefore, whether or not the value of the flag register 1200 set in the call source routine should be saved in the stack area is case by case. Therefore, during the program of the call destination routine, the value of the flag register 1200 is included in the program. It is more convenient to describe an instruction (for example, “PUSH FLG”) for storing the value in the stack area and determine whether to save the value.

故に、前者の第1の呼出条件が成立した場合は、図19の(C)に示すように、呼出元のルーチンに含まれる戻りアドレスの値はスタック領域に格納するものの、フラグレジスタ1200の値を自動的にスタック領域に格納することはしない。   Therefore, when the former first calling condition is satisfied, as shown in FIG. 19C, the value of the return address included in the calling source routine is stored in the stack area, but the value of the flag register 1200 is stored. Is not automatically stored in the stack area.

なお、図19の(D)及び図51Bに示すように、スタック領域には、先にフラグレジスタの値を格納して、後から戻りアドレスの値を設定しているので、戻りアドレスの値を破壊することなくフラグレジスタの値のみを破壊するような事態は発生しない。そのため、図51Aで例示した構成の遊技機のように、呼出先の割込処理ルーチンでフラグレジスタの値が破壊された状態のまま、スムーズに呼出元のルーチンに戻って処理を継続してしまうことはない。   As shown in FIG. 19D and FIG. 51B, since the flag register value is stored in the stack area first and the return address value is set later, the return address value is set. A situation in which only the value of the flag register is destroyed without destruction does not occur. Therefore, as in the gaming machine having the configuration illustrated in FIG. 51A, the process returns to the calling source routine smoothly and continues with the flag register value being destroyed in the calling destination interrupt processing routine. There is nothing.

また、図19の(D)及び図51Dに示すように、スタック領域に格納される戻りアドレスの値は2バイト構成であるのに対して、スタック領域に格納されるフラグレジスタの値は1バイト構成となっている。このように、スタック領域に格納される戻りアドレスとフラグレジスタとのバイト数を異ならせることで、呼出先のルーチンで誤ってフラグレジスタの値を戻りアドレスとして復帰させた場合には、図51Cで例示した構成の遊技機のような不具合が発生することがなく、以降の処理では戻りアドレスの取得が不可能となるので、プログラムのバグ等を発見しやすい。   Further, as shown in FIGS. 19D and 51D, the value of the return address stored in the stack area is 2 bytes, whereas the value of the flag register stored in the stack area is 1 byte. It has a configuration. As described above, when the return address stored in the stack area and the number of bytes of the flag register are different from each other, the value of the flag register is erroneously returned as the return address in the call destination routine. There is no problem as in the gaming machine having the exemplified configuration, and the return address cannot be obtained in the subsequent processing, so that it is easy to find a bug in the program.

さらに、図21及び図48(C)に示すように、「LD RBS,1」の命令(又は「LD RBS,0」の命令)を実行することによって、汎用レジスタのバンクを切り変える機能を有しているので、呼出先のルーチン内でバンクを切り替えることにより、呼出元とは異なるレジスタを活用することができる。   Further, as shown in FIG. 21 and FIG. 48C, there is a function of switching the bank of general-purpose registers by executing the “LD RBS, 1” instruction (or “LD RBS, 0” instruction). Therefore, a register different from the call source can be utilized by switching the bank in the call destination routine.

なお、図14に示したように、第1の実施の形態では、ユーザワークRAM104において上位アドレスの境界、すなわち、上位アドレスが「28H」の領域と「29H」の領域との境界を連続してアクセスすることが可能となっていたが、この境界に使用禁止領域を設けるようにしてもよい。   As shown in FIG. 14, in the first embodiment, in the user work RAM 104, the upper address boundary, that is, the boundary between the upper address “28H” area and the “29H” area is continuously provided. Although it is possible to access, a use prohibition area may be provided at this boundary.

さらに、特許文献Dとして特開2009−142566号公報に開示されるようなパチンコ機が知られており、遊技機を制御するためのプログラムの容量削減を図るために、パチンコ機の主制御基板において、CPUからIOにアクセスするためのイン/アウトコマンドが出力された時、エリア区分判定部が、アドレス値に応じて、アクセス先をIO、RAMのいずれかに切り換え、その結果に応じてIO識別信号又はチップセレクタ信号をアクティブにする構成が開示されている。   Further, a pachinko machine as disclosed in Japanese Patent Application Laid-Open No. 2009-142666 is known as Patent Document D. In order to reduce the capacity of a program for controlling a gaming machine, the main control board of the pachinko machine When an in / out command for accessing the IO from the CPU is output, the area classification determination unit switches the access destination to either IO or RAM according to the address value, and identifies the IO according to the result A configuration for activating a signal or chip selector signal is disclosed.

この特許文献Dの遊技機の構成では、イン/アウトコマンドを用いてRAMの一部(疑似RAM領域)にアクセス可能となり、この時、RAMの先頭アドレスを含む連続領域にワーク及び疑似RAM領域を割り当てるとともに、終端アドレスを開始点としてアドレスが小さくなる側に順次データが蓄積されるようにスタック領域を割り当てるように構成されている。   In the configuration of the gaming machine disclosed in Patent Document D, a part of the RAM (pseudo RAM area) can be accessed using in / out commands. In addition to the allocation, the stack area is allocated so that data is sequentially accumulated on the side where the address becomes smaller, starting from the end address.

一般に、スタックをRAMのどの領域に割り当てるかは、制御装置の設計者の裁量に任せたほうが、設計の自由度が増すために都合が良い。そのため、CPUの起動時にはスタックポインタの初期値は不定な値にしておき、CPUがプログラムの実行を開始した後に、ソフトウェアによりスタックポインタの初期値を設定する構成が好ましい。従って、この特許文献Dの遊技機においても、CPUの起動時のスタックポインタの初期値は、不定な値となっているものと考えられる。   In general, it is more convenient to leave the stack to which area of the RAM is left to the discretion of the control device designer because the degree of design freedom increases. Therefore, it is preferable that the initial value of the stack pointer is set to an indefinite value when the CPU is activated, and the initial value of the stack pointer is set by software after the CPU starts executing the program. Therefore, also in the gaming machine of this Patent Document D, it is considered that the initial value of the stack pointer when the CPU is activated is an indefinite value.

しかしながら、スタックポインタの初期値が不定な状態で、ノイズ等により割込み信号が発生すると、不定な値で示された領域をスタック領域と見なしたままで、CPUが処理を行ってしまうおそれがあった。この場合でも、CPUは、割込み処理ルーチンに処理を移してしまうことになり、割込み処理ルーチンの最後にRETIなどの命令を実行しても、その時点でスタックポインタが指し示している領域には戻りアドレスの値が格納されている保障がないため、CPUが暴走するおそれもあった。その結果、想定外の大当り等が発生するなどして正規な遊技を行えないおそれがあった。   However, when an interrupt signal is generated due to noise or the like when the initial value of the stack pointer is indefinite, there is a possibility that the CPU may perform processing while the area indicated by the indefinite value is regarded as the stack area. Even in this case, the CPU moves the processing to the interrupt processing routine. Even if an instruction such as RETI is executed at the end of the interrupt processing routine, the return address is stored in the area pointed to by the stack pointer at that time. Since there is no guarantee that the value is stored, the CPU may run away. As a result, there is a possibility that a regular game cannot be performed due to an unexpected big hit or the like.

そのため、ノイズ環境に晒されているパチンコ機等の遊技機では、スタック領域を設定するための設計の自由度よりも、CPUが暴走しないように構成することを重視したほうがよいという課題があった。   For this reason, pachinko machines and other gaming machines that are exposed to a noise environment have a problem that it is better to focus on the configuration so that the CPU does not run out of control rather than the degree of design freedom for setting the stack area. .

また、従来の遊技機においては、RAM領域内に割り当てられるスタック領域には、CPUが遊技プログラム実行中に所定のサブモジュールを呼び出した際に、呼び出し元のモジュールのアドレスの値が、戻りアドレス値として格納されるものがあった。そして、呼び出し先のサブモジュールの実行後に、スタック領域に格納してあった戻りアドレスの値をプログラムカウンタに戻すことで、CPUの処理が呼び出し元のモジュールに復帰するようになっていた。   In the conventional gaming machine, the stack area allocated in the RAM area has the return address value of the address of the caller module when the CPU calls a predetermined submodule while the game program is being executed. There was something stored as. Then, after the callee submodule is executed, the value of the return address stored in the stack area is returned to the program counter, so that the CPU processing returns to the caller module.

例えば、特許文献E(特開2008−080004号公報)に開示された遊技機では、特許文献Eの図22に示すように、RST命令を実行すると、呼び出し元のモジュールの戻りアドレスの値をスタックに格納して、呼び出し先のサブモジュールに移行する。その後、呼び出し先のサブモジュールの終了時にRET命令を実行することで、スタック領域に格納されていた戻りアドレスの値をプログラムカウンタに戻し、呼び出し元のモジュールに復帰する。なお、特許文献Eの段落[0148]に示すように、CALL命令を用いても同様の処理が行われる。   For example, in the gaming machine disclosed in Patent Document E (Japanese Patent Laid-Open No. 2008-080004), as shown in FIG. 22 of Patent Document E, when an RST instruction is executed, the return address value of the calling module is stacked. And move to the called submodule. Thereafter, by executing a RET instruction at the end of the callee submodule, the return address value stored in the stack area is returned to the program counter, and the caller module is restored. Note that, as shown in paragraph [0148] of Patent Document E, similar processing is performed even when a CALL instruction is used.

また、特許文献Eでは、従来よりも、プログラムのメンテナンス性および処理速度を維持しつつ、不正改造抑制および不正改造発見容易性向上を実現するために、ROMの0008H番地から000FH番地には、変動停止コマンド送信処理のプログラムを格納し、ROMの0020H番地から0027H番地には、賞球数コマンド送信処理のプログラムを格納するとともに、これらのプログラムをRST命令を用いて呼び出すようにしている。   Further, in Patent Document E, there is a change from 0008H to 000FH in ROM in order to suppress unauthorized modification and improve ease of discovery of unauthorized modification while maintaining program maintainability and processing speed. A program for stop command transmission processing is stored, and a program for command ball number command transmission processing is stored at addresses 0020H to 0027H of the ROM, and these programs are called using an RST instruction.

なお、特許文献EのようにRST命令やCALL命令を実行しなくても、タイマ割込等の割込が発生した場合に、呼び出し元のモジュールの戻りアドレスの値をスタックに格納して、呼び出し先のサブモジュール(タイマ割込みの処理モジュール)に移行する処理を行う遊技機もある。   Even if an RST instruction or CALL instruction is not executed as in Patent Document E, when an interrupt such as a timer interrupt occurs, the return address value of the calling module is stored in the stack and called. There is also a gaming machine that performs processing to shift to the previous submodule (timer interrupt processing module).

例えば、特許文献F(特開2001−212330号公報)に開示された遊技機では、特許文献Fの段落[0071]〜[0073]に示すように、タイマ割込等の割込が発生すると、呼び出し元のモジュールの戻りアドレスの値をスタックに格納して、呼び出し先のサブモジュール(タイマ割込みの処理モジュール)に移行する。その後、呼び出し先のサブモジュールの終了時にRETI命令を実行することで、スタックに格納してあった戻りアドレスの値をプログラムカウンタに戻し、呼び出し元のモジュールに復帰する。   For example, in the gaming machine disclosed in Patent Document F (Japanese Patent Laid-Open No. 2001-212330), as shown in paragraphs [0071] to [0073] of Patent Document F, when an interrupt such as a timer interrupt occurs, The return address value of the caller module is stored in the stack, and the process proceeds to the callee submodule (timer interrupt processing module). Thereafter, the RETI instruction is executed when the callee submodule ends, thereby returning the value of the return address stored in the stack to the program counter and returning to the caller module.

このようなタイマ割込みの処理を行うときは、特許文献G(特開2004−089476号公報)の図5や特許文献H(特開2006−068568号公報)の図6(c)に示すように、処理の先頭にて、フラグレジスタの値をAFレジスタとしてスタックに格納することが通常行われる。なお、このスタックに格納されたフラグレジスタの値は、特許文献Gの図5に示されるように、タイマ割込みの処理を終了してRETI命令を実行する際に元のフラグレジスタへ復帰するようになっている。   When such timer interrupt processing is performed, as shown in FIG. 5 of Patent Document G (Japanese Patent Laid-Open No. 2004-089476) and FIG. 6 (c) of Patent Document H (Japanese Patent Laid-Open No. 2006-068568). In general, the flag register value is stored in the stack as an AF register at the beginning of the process. As shown in FIG. 5 of Patent Document G, the value of the flag register stored in the stack is restored to the original flag register when the timer interrupt processing is finished and the RETI instruction is executed. It has become.

しかし、呼び出し元のモジュールで用いられていたレジスタの値が、呼び出し先のサブモジュールで変更されてしまうと、CPUの演算処理に支障をきたしてしまう。そのため、従来の遊技機では、特許文献Gの図5のS11に示すように、処理の先頭でPUSH命令を用いてレジスタの値をスタック領域に退避する処理が通常行われ、処理の最後でPOP命令を用いてレジスタの値をスタック領域から復帰させる処理が行われる。このとき、特許文献Hの図6(c)に示すように、スタック領域には、様々なレジスタの値が一時的に格納される。そのため、呼び出し先のモジュール内にて、PUSH命令やPOP命令を記述する必要があり、プログラム容量が増えてしまう要因となっていた。   However, if the value of the register used in the caller module is changed in the callee submodule, the CPU processing will be hindered. Therefore, in the conventional gaming machine, as shown in S11 of FIG. 5 of Patent Document G, the process of saving the register value to the stack area using the PUSH instruction is usually performed at the beginning of the process, and the POP is performed at the end of the process. Processing for restoring the value of the register from the stack area using an instruction is performed. At this time, as shown in FIG. 6C of Patent Document H, various register values are temporarily stored in the stack area. For this reason, it is necessary to describe a PUSH instruction or a POP instruction in the callee module, which increases the program capacity.

このようなPUSH命令及びPOP命令を用いて、レジスタの値をスタックから出し入れする処理は、特許文献Eに開示されたタイマ割り込みの処理に限らず、特許文献Dに示したようなRST命令(あるいはCALL命令)を用いて呼び出されるサブモジュール内でも、頻繁に行われている。そのため、このようなサブモジュール内にもPUSH命令やPOP命令を記述する必要があり、プログラム容量が増えてしまう要因となっていた。   The process of putting a register value in and out of the stack using such a PUSH instruction and a POP instruction is not limited to the timer interrupt process disclosed in Patent Document E, but an RST instruction as shown in Patent Document D (or This is also frequently done in submodules called using the CALL instruction. For this reason, it is necessary to describe a PUSH instruction or a POP instruction in such a submodule, which increases the program capacity.

なお、前者のタイマ割込みの処理では、フラグレジスタの値を無条件にスタックに格納する必要があったのに対して、後者のRST命令(あるいはCALL命令)を用いて呼び出されるサブモジュールの処理では、フラグレジスタを退避すべきか否かは、モジュールの目的によって一意に定まっていなかった。そこで、このような条件を満たしつつも、プログラム容量を削減するための工夫が必要とされていた。   In the former timer interrupt process, the value of the flag register had to be stored in the stack unconditionally, whereas in the latter module process called using the latter RST instruction (or CALL instruction) Whether or not the flag register should be saved has not been uniquely determined by the purpose of the module. Therefore, a device for reducing the program capacity while satisfying such conditions has been required.

次に、図52は、本発明の第1の実施の形態の変形例のユーザワークRAM104の一例を示す図である。図52に示すユーザワークRAM104には、上位アドレスの境界(RAMのアドレスが「28FFH」から「2900H」に変化する境界線を含んだ領域)に使用禁止領域が設けられている。このように、上位アドレスが変化(「28H」から「29H」に変化)する境界に使用禁止領域を設けることによって、上位アドレスを変更せずに連続した領域にアクセスしようとすることなどを防ぐことが可能となり、誤作動を防止することができる。   Next, FIG. 52 is a diagram illustrating an example of a user work RAM 104 according to a modification of the first embodiment of this invention. In the user work RAM 104 shown in FIG. 52, a use prohibition area is provided at an upper address boundary (an area including a boundary line where the RAM address changes from “28FFH” to “2900H”). In this way, by providing a use-prohibited area at the boundary where the higher address changes (changes from “28H” to “29H”), it is possible to prevent attempts to access consecutive areas without changing the upper address. And malfunction can be prevented.

例えば、このような境界線の前後のエリアに、Aレジスタ1202Aの値を一括して格納することを考える。この場合、上位アドレス指定レジスタであるKレジスタ1230の値を「28H」に固定した状態で、「INC L」命令(図21参照)を実行してLレジスタ1211Aの値を増加させながら、「LDK (L),A」の命令(図21参照)を実行させることになる。   For example, consider that the values of the A register 1202A are collectively stored in areas before and after such a boundary line. In this case, while the value of the K register 1230, which is the upper address designation register, is fixed to “28H”, the “INK L” instruction (see FIG. 21) is executed to increase the value of the L register 1211A, The instruction (L), A ”(see FIG. 21) is executed.

このとき「INC L」命令の実行により、Lレジスタ1211Aの値が「FFH」から「00H」に変化するタイミングがある。これは、Aレジスタ1202Aの値の格納先が境界線を跨ぐタイミングであるが、正しい格納先を指定するためには、以降のKレジスタ1230の値を「29H」に変更する必要がある。そのため、本来であれば、遊技プログラムにてKレジスタ1230の値を「29H」に変更する命令を実行しなければならないが、プログラム製作者が見落としてしまうおそれがある。   At this time, there is a timing when the value of the L register 1211A changes from “FFH” to “00H” by the execution of the “INC L” instruction. This is the timing when the storage location of the value of the A register 1202A crosses the boundary, but in order to specify the correct storage location, it is necessary to change the value of the subsequent K register 1230 to “29H”. Therefore, originally, an instruction to change the value of the K register 1230 to “29H” must be executed in the game program, but there is a possibility that the program producer may miss it.

なお、図52では、ワークエリアが、上位アドレスが「28H」と「29H」となる2つの領域に分散して設定されているが、ワークエリアを上位アドレス「28H」の領域に限定してもよい。この場合であっても、遊技制御装置100のCPU102は、初期化処理を実行する際に、ユーザワークRAM104の全域(上位のアドレスが互いに異なる領域、具体的には上位のアドレスが「28H」及び「29H」になる全ての領域)に対して、データの読み書きを行うことになる。これは、ワークエリア以外の領域(例えば、スタック領域など)でも、初期化を行う必要があるからである。   In FIG. 52, the work area is set so as to be distributed in two areas having upper addresses “28H” and “29H”. However, the work area may be limited to the area having the upper address “28H”. Good. Even in this case, when the CPU 102 of the game control device 100 executes the initialization process, the entire area of the user work RAM 104 (an area where the upper addresses are different from each other, specifically, the upper address is “28H” and Data is read from and written to all the areas “29H”. This is because it is necessary to initialize the area other than the work area (for example, the stack area).

そして、初期化処理が完了した時点で、上位アドレス指定レジスタであるKレジスタ1230の値が「28H」に設定され、以後、停電処理が発生するまでの間は、Kレジスタ1230の値を「28H」に維持したまま、CPU102によって遊技制御を継続する。   When the initialization process is completed, the value of the K register 1230, which is an upper address designation register, is set to “28H”. After that, until the power failure process occurs, the value of the K register 1230 is set to “28H”. , The game control is continued by the CPU 102.

このように構成することによって、Kレジスタに設定された値を変更する頻度を大幅に低減させることができるので、レジスタの値を変更する処理の実行回数を削減することができる。したがって、プログラム容量をさらに削減することが可能となり、また、遊技制御処理の高速化を期待できる。   With this configuration, the frequency of changing the value set in the K register can be greatly reduced, so that the number of executions of the process of changing the register value can be reduced. Therefore, it is possible to further reduce the program capacity and to expect a high speed game control process.

(第2の実施の形態)
第1の実施の形態では、第2特図変動表示ゲームが第1特図変動表示ゲームよりも優先して実行されるように構成されていたが、第2の実施の形態では、第2特図変動表示ゲーム及び第1特図変動表示ゲームの区別なく、入賞した順序で特図変動表示ゲームが実行される。
(Second Embodiment)
In the first embodiment, the second special figure fluctuation display game is configured to be executed in preference to the first special figure fluctuation display game. However, in the second embodiment, the second special figure fluctuation display game is executed. The special figure fluctuation display game is executed in the order of winning without distinguishing between the figure fluctuation display game and the first special figure fluctuation display game.

そこで、第1の実施の形態では、始動記憶に大当り乱数、大当り図柄乱数、変動パターン乱数が含まれていたが、第2の実施の形態では、さらに、第1始動入賞口37に遊技球が入賞したか、第2始動入賞口34に遊技球が入賞したかを区別する、すなわち、実行される特図変動表示ゲームが第1特図変動表示ゲームであるか、又は、第2特図変動表示ゲームであるかを区別するための特図識別bitが始動記憶に含まれる。また、始動記憶の上限も実質的には8個となるので、ユーザワークRAM104において、8ブロック分の乱数の保存領域を確保し、これを保留1〜保留8として割り当てるものとする。   Therefore, in the first embodiment, the big hit random number, the big hit symbol random number, and the fluctuation pattern random number are included in the start memory, but in the second embodiment, a game ball is further added to the first start winning opening 37. It is distinguished whether the game ball has won the second start winning opening 34, that is, the special figure variation display game to be executed is the first special figure variation display game, or the second special figure variation A special figure identification bit for distinguishing whether the game is a display game is included in the start-up memory. In addition, since the upper limit of the starting storage is practically eight, a storage area for random numbers of eight blocks is secured in the user work RAM 104, and this is assigned as reserved 1 to reserved 8.

図53A及び図53Bは、本発明の第2の実施の形態の特図変動表示ゲームを実行するために必要な各種乱数の保存領域を示す図であり、図53Aは保留1から4、図53Bは保留5から8に対応する各種乱数の保存領域を示す。   53A and 53B are diagrams showing storage areas for various random numbers necessary for executing the special figure variation display game according to the second embodiment of the present invention, and FIG. 53A is a hold 1 to 4, FIG. 53B Indicates a storage area for various random numbers corresponding to the reservations 5 to 8.

本実施形態では、図53A及び図53Bに示すように、第3変動パターン乱数を格納する領域の先頭bitを特図識別bitとする。   In the present embodiment, as shown in FIGS. 53A and 53B, the top bit of the area storing the third variation pattern random number is set as a special figure identification bit.

なお、図40の特図始動口SW共通処理を実行する際に、ステップ4004〜4006で取得した各種乱数値を、ステップ4008〜4010にて対応する乱数記憶領域に記させることになるが、対応する領域が第1の実施の形態とは異なっている。第2の実施形態においての対応する乱数記憶領域とは、第1特図保留カウンタと第2特図保留カウンタとの合算値に対応する領域である。   In addition, when executing the special figure start port SW common process of FIG. 40, various random number values acquired in steps 4004 to 4006 are recorded in the corresponding random number storage areas in steps 4008 to 4010. The area to be different is different from the first embodiment. The corresponding random number storage area in the second embodiment is an area corresponding to the total value of the first special figure reservation counter and the second special figure reservation counter.

例えば、第1始動入賞口37若しくは第2始動入賞口34に遊技球が入賞した結果、第1特図保留カウンタと第2特図保留カウンタとの合算値が「2」となった場合は、図53Aにおける「保留2の保存領域」に割り当てられた各種乱数の保存領域に、ステップ4004〜4006で取得した各種乱数値を記憶することになる。このとき、第1始動入賞口37への入賞であれば「保留2の保存領域」の特図識別bitには「0」が設定され、第2始動入賞口34への入賞であれば「保留2の保存領域」の特図識別bitには「1」が設定される。   For example, when the game ball is won at the first start winning opening 37 or the second starting winning opening 34, the sum of the first special figure holding counter and the second special figure holding counter becomes “2”. The various random number values acquired in steps 4004 to 4006 are stored in the random number storage area assigned to the “hold 2 storage area” in FIG. 53A. At this time, if the winning is to the first start winning opening 37, “0” is set in the special figure identification bit of “hold 2 storage area”, and if the winning is to the second starting winning opening 34, “hold” is set. “1” is set in the special figure identification bit of “2 storage area”.

同様に、第1始動入賞口37若しくは第2始動入賞口34に遊技球が入賞した結果、第1特図保留カウンタと第2特図保留カウンタとの合算値が「7」となった場合は、図53Bにおける「保留7の保存領域」に割り当てられた各種乱数の保存領域に、ステップ4004〜4006で取得した各種乱数値を記憶することになる。このとき、第1始動入賞口37への入賞であれば「保留7の保存領域」の特図識別bitには「0」が設定され、第2始動入賞口34への入賞であれば「保留7の保存領域」の特図識別bitには「1」が設定される。   Similarly, when the game ball is won at the first start winning opening 37 or the second starting winning opening 34, the total value of the first special figure holding counter and the second special figure holding counter becomes “7”. 53B, the various random number values acquired in steps 4004 to 4006 are stored in the various random number storage areas assigned to the “hold 7 storage area”. At this time, if the winning is to the first start winning opening 37, “0” is set in the special figure identification bit of “hold 7 storage area”, and if the winning is to the second starting winning opening 34, “hold” “1” is set in the special figure identification bit of “7 storage area”.

図54は、本発明の第2の実施の形態の特図保留情報判定処理の手順を示すフローチャートである。なお、第1の実施の形態の特図保留情報判定処理と共通の処理については、図41と同じ符号を割り当てて記載を省略する。   FIG. 54 is a flowchart illustrating a procedure of special figure hold information determination processing according to the second embodiment of this invention. In addition, about the process common to the special figure pending | holding information determination process of 1st Embodiment, the code | symbol same as FIG. 41 is allocated and description is abbreviate | omitted.

本発明の第2の実施の形態では、遊技制御装置100は、特図1と特図2とを区別せずに始動記憶を扱うので、第1の実施の形態におけるステップ4100〜ステップ4102のような条件を設定せずに無条件で特図大当り判定処理(4103)を実行する。   In the second embodiment of the present invention, the game control device 100 handles the start-up memory without distinguishing between the special figure 1 and the special figure 2, so that the steps 4100 to 4102 in the first embodiment are performed. The special figure big hit determination process (4103) is executed unconditionally without setting a special condition.

図55は、本発明の第2の実施の形態の特図普段処理の手順を示すフローチャートである。なお、第1の実施の形態と共通の処理については、図45と同じ符号を割り当てて記載を省略する。   FIG. 55 is a flowchart showing the procedure of the special figure normal processing according to the second embodiment of this invention. In addition, about the process which is common in 1st Embodiment, the code | symbol same as FIG. 45 is allocated and description is abbreviate | omitted.

本発明の第2の実施の形態では、特図2始動記憶を優先して消化しない。そこで、まず、遊技制御装置100は、特図1及び特図2の保留数を合計し(5500)、合計保留数が0より大きいか否か、すなわち、特図1又は特図2の保留があるか否かを判定する(5501)。そして、保留がある場合には、ステップ5502において次の保留が特図1の保留であるか否かを判定する。そして、保留が特図1である場合には、特図1変動開始処理(4503)を実行する。また、保留が特図1でなく特図2である場合には、特図2変動開始処理(4504)を実行する。   In the second embodiment of the present invention, priority is not given to the special figure 2 starting memory. Therefore, first, the game control device 100 sums up the number of holdings of the special figure 1 and the special figure 2 (5500), and whether or not the total number of holdings is larger than 0, that is, the holding of the special figure 1 or the special figure 2 It is determined whether or not there is (5501). If there is a hold, it is determined in step 5502 whether or not the next hold is the hold in FIG. Then, when the hold is special figure 1, special figure 1 fluctuation start processing (4503) is executed. Further, when the holding is not FIG. 1 but FIG. 2, the special figure 2 fluctuation start process (4504) is executed.

なお、特図1変動開始処理と特図2変動開始処理のいずれの処理を行ったかにかかわらず、図46の処理において、遊技制御装置100は、図53Aの保留1の保存領域を、次回の変動の対象として指定する(4600若しくは4603)。さらに、この指定された記憶領域から大当り乱数、大当り図柄乱数、第1〜第3変動パターン乱数を取得した後、保留1〜7個目に対応する保留乱数記憶領域(図53A及び図53B)に、保留2〜8個目に対応する保留乱数記憶領域(次回以降の変動に対応する記憶領域:図53A及び図53B参照)の各乱数をシフトし(4601若しくは4604)、以降の処理(4602若しくは4605)の処理を実行することになる。   Regardless of whether the special figure 1 fluctuation start process or the special figure 2 fluctuation start process is performed, in the process of FIG. 46, the game control device 100 sets the storage area of the hold 1 in FIG. It is specified as the object of change (4600 or 4603). Further, after acquiring the big hit random number, the big hit symbol random number, and the first to third variation pattern random numbers from the designated storage area, the reserved random number storage areas (FIGS. 53A and 53B) corresponding to the first to seventh hold are stored. The random numbers in the reserved random number storage areas corresponding to the second to eighth reserved areas (storage areas corresponding to the subsequent changes: see FIGS. 53A and 53B) are shifted (4601 or 4604), and the subsequent processing (4602 or 4605) is executed.

一方、ステップ5501の処理で合計保留数が0の場合には、遊技制御装置100は、ステップ4506以降の処理を実行する。   On the other hand, if the total number of holds is 0 in the process of step 5501, the game control device 100 executes the processes after step 4506.

このように、本発明の第2の実施の形態によれば、第2特図変動表示ゲームを優先して実行しない場合であっても、第1の実施の形態と同様に、遊技制御プログラム全体のコード量を削減することが可能となる。   Thus, according to the second embodiment of the present invention, even if the second special figure variation display game is not executed preferentially, the entire game control program is similar to the first embodiment. It is possible to reduce the amount of code.

なお、今回開示した実施の形態における補助遊技は、例として、変動表示ゲームを開示しているが、これに限定されるものではない。例えば、遊技の実行中に遊技者にボタン等による選択操作をさせ、その操作入力に対応して遊技結果が導出されるような遊技も含まれる。あるいは、遊技の実行中に遊技球やメダルなどの遊技媒体が所定の領域に入賞するか否かの物理的な抽選を行わせ、その抽選結果に対応して遊技結果が導出されるような遊技も補助遊技に含まれる。この場合、遊技媒体が所定の領域に入賞することが「特別な結果」となる。   In addition, although the auxiliary | assistant game in embodiment disclosed this time has disclosed the variable display game as an example, it is not limited to this. For example, a game in which a player performs a selection operation using a button or the like during the execution of a game and a game result is derived in response to the operation input is also included. Alternatively, a game in which a physical lottery is performed as to whether or not a game medium such as a game ball or medal wins a predetermined area during the execution of the game, and a game result is derived in accordance with the lottery result Is also included in auxiliary games. In this case, it is a “special result” that the game medium wins a predetermined area.

また、今回開示した実施の形態における遊技機には、パチンコ機以外の様々な遊技機が適用可能である。例えば、パチスロ機、アレンボール機、じゃん球遊技機などにも適用が可能である。   In addition, various gaming machines other than pachinko machines can be applied to the gaming machines in the embodiment disclosed this time. For example, the present invention can be applied to a pachislot machine, an allen ball machine, a ball ball game machine, and the like.

なお、今回開示した実施の形態は、全ての点で例示であって制限的なものではない。また、本発明の範囲は前述した発明の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び内容の範囲での全ての変更が含まれることが意図される。   The embodiment disclosed this time is illustrative in all points and is not restrictive. The scope of the present invention is shown not by the above description of the invention but by the scope of claims, and is intended to include all modifications within the scope and meaning equivalent to the scope of claims.

以上のように、本発明は、レジスタを備えたプロセッサを含む遊技制御装置が遊技制御を行う遊技機に適用可能である。   As described above, the present invention can be applied to a gaming machine in which a game control device including a processor including a register performs game control.

1 遊技機
2 本体枠(外枠)
3 前面枠
5 遊技盤
6 遊技装置
8 表示装置
18 ガラス枠
31 普通図柄始動ゲート
32 一般入賞口
33 普通変動入賞装置
34 第2始動入賞口
36 特別変動入賞装置
37 第1始動入賞口
51 遊技領域
70 カードユニット
100 遊技制御装置
101 遊技用マイコン
102、601 CPUコア
103、602 ユーザプログラムROM
104、604 ユーザワークRAM
150 演出制御装置(表示制御装置)
160 電源装置
161 バックアップ電源
210 払出制御装置
600 遊技用演算処理装置(アミューズチップ)
603 HWパラメータROM
608 乱数生成回路
609 クロック生成回路
610A 割込制御回路
610B リセット回路
611 アドレスデコーダ
618 HPGプログラムROM
619 IDプロパティメモリ
621 HPGワークRAM
629 分周回路
630 セキュリティ回路
640 RAMアクセス規制回路(更新規制手段)
641 フリップフロップ回路
642 ORゲート回路
650 アドレスバス
660 データバス
702 ワークエリア
705 使用禁止領域(アクセス禁止領域)
706 スタック領域
1200 フラグレジスタ
1203A、1203B WAレジスタ
1206A、1206B BCレジスタ
1209A、1209B DEレジスタ
1212A、1212B HLレジスタ
1220A、1220B 汎用レジスタ群
1230 Kレジスタ
1233 スタックポインタ(SP)レジスタ
1234 プログラムカウンタ(PC)レジスタ
1240 内蔵リセット回路
1241 初期値設定回路(固有値設定手段)
1242 命令解釈実行回路
1243 アクセス回路
1 gaming machine 2 body frame (outer frame)
DESCRIPTION OF SYMBOLS 3 Front frame 5 Game board 6 Game apparatus 8 Display apparatus 18 Glass frame 31 Normal symbol start gate 32 General winning opening 33 Normal variation winning apparatus 34 2nd starting winning opening 36 Special variable winning apparatus 37 1st starting winning opening 51 Game area 70 Card unit 100 Game control device 101 Game microcomputer 102, 601 CPU core 103, 602 User program ROM
104, 604 User work RAM
150 Production control device (display control device)
160 power supply device 161 backup power supply 210 payout control device 600 arithmetic processing device for game (amuse chip)
603 HW parameter ROM
608 Random number generation circuit 609 Clock generation circuit 610A Interrupt control circuit 610B Reset circuit 611 Address decoder 618 HPG program ROM
619 ID property memory 621 HPG work RAM
629 Frequency divider circuit 630 Security circuit 640 RAM access restriction circuit (update restriction means)
641 Flip-flop circuit 642 OR gate circuit 650 Address bus 660 Data bus 702 Work area 705 Use prohibited area (access prohibited area)
706 Stack area 1200 Flag register 1203A, 1203B WA register 1206A, 1206B BC register 1209A, 1209B DE register 1212A, 1212B HL register 1220A, 1220B General purpose register group 1230 K register 1233 Stack pointer (SP) register 1234 Program counter (PC) register 1240 Built-in reset circuit 1241 Initial value setting circuit (unique value setting means)
1242 Instruction interpretation execution circuit 1243 Access circuit

Claims (1)

所定の始動条件の成立により遊技を実行し、該遊技が特別な結果となる場合に遊技者に特典を付与する特別遊技状態を発生させる遊技制御を行う遊技制御装置を備えた遊技機において、
前記遊技制御装置には、
遊技制御プログラムを記憶する遊技制御プログラム記憶手段と、
前記遊技制御プログラムにより所要の演算処理を行う演算処理手段と、
前記演算処理を行う際にが記憶されるレジスタと、
前記演算処理手段によって更新される情報が記憶される更新情報記憶手段と、
を備え、
前記更新情報記憶手段にはスタック領域が設定され、
前記レジスタには、前記スタック領域のアドレスを指定するためのスタックポインタと、前記演算処理手段による演算結果を記憶するためのフラグレジスタが含まれるとともに、
前記演算処理手段は、所定の起動信号が発生すると、前記遊技制御プログラムのリセットアドレスに設定された命令を実行し、
前記起動信号が発生した際に、前記演算処理手段が前記遊技制御プログラムのリセットアドレスに設定された命令を実行するよりも前に、前記スタックポインタに固有のアドレス値を設定する固有値設定手段が備えられ、
前記遊技制御プログラムには、
呼出元の処理が記述された呼出元ルーチンと、
前記呼出元ルーチンに記述された呼出の命令が実行された場合に呼び出される処理が記述された第1の呼出先ルーチンと、
前記呼出元ルーチンに記述された命令の実行中において、所定の割込信号が発生した場合に呼び出される処理が記述された第2の呼出先ルーチンと、が含まれ、
前記演算処理手段は、
前記第1の呼出先ルーチンが呼び出された場合は、前記フラグレジスタの値を前記スタック領域に格納せず、格納命令を実行することなく前記呼出元ルーチンに含まれる戻りアドレスの値を前記スタック領域に格納し、前記第1の呼出先ルーチンの処理の実行を開始する一方で、
前記第2の呼出先ルーチンが呼び出された場合は、格納命令を実行することなく前記フラグレジスタの値と前記呼出元ルーチンに含まれる戻りアドレスの値の各々を前記スタック領域に格納し、前記第2の呼出先ルーチンの処理の実行を開始することを特徴とする遊技機。
Run the Ri遊 technique by the establishment of a predetermined restart condition, with a game controller for the game control for generating special game state to grant a privilege to the player if the recreation is a special result game In the machine
In the game control device,
Game control program storage means for storing a game control program;
Arithmetic processing means for performing required arithmetic processing by the game control program;
A register for storing a value when performing the arithmetic processing;
Update information storage means for storing information updated by the arithmetic processing means;
With
A stack area is set in the update information storage means,
The register includes a stack pointer for designating an address of the stack area, and a flag register for storing a calculation result by the calculation processing means,
The arithmetic processing means executes a command set at a reset address of the game control program when a predetermined activation signal is generated,
A unique value setting means for setting a unique address value in the stack pointer before the arithmetic processing means executes the instruction set in the reset address of the game control program when the activation signal is generated; And
The game control program includes
A caller routine describing the caller's processing;
A first call destination routine describing a process to be called when a call instruction described in the call source routine is executed;
A second call destination routine describing a process to be called when a predetermined interrupt signal is generated during execution of the instruction described in the call source routine,
The arithmetic processing means includes:
When the first call destination routine is called, the value of the flag register is not stored in the stack area, and the return address value included in the call source routine is not stored in the stack area without executing a store instruction. while stored, it starts execution of the processing of pre-Symbol first callee routine,
When said second callee routine is called, stores each of the flags register value with the value of the return address contained in the calling routine without executing the stored command to the stack area, before Symbol A game machine characterized by starting execution of processing of a second call destination routine.
JP2012107550A 2012-05-09 2012-05-09 Game machine Active JP5740619B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012107550A JP5740619B2 (en) 2012-05-09 2012-05-09 Game machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012107550A JP5740619B2 (en) 2012-05-09 2012-05-09 Game machine

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015066472A Division JP6060363B2 (en) 2015-03-27 2015-03-27 Game machine

Publications (3)

Publication Number Publication Date
JP2013233289A JP2013233289A (en) 2013-11-21
JP2013233289A5 JP2013233289A5 (en) 2014-03-13
JP5740619B2 true JP5740619B2 (en) 2015-06-24

Family

ID=49759904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012107550A Active JP5740619B2 (en) 2012-05-09 2012-05-09 Game machine

Country Status (1)

Country Link
JP (1) JP5740619B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5055681B2 (en) * 2004-02-27 2012-10-24 株式会社三洋物産 Game machine
JP5238952B2 (en) * 2007-12-11 2013-07-17 株式会社大一商会 Game machine
JP2011172654A (en) * 2010-02-23 2011-09-08 Sophia Co Ltd Game machine
JP5610876B2 (en) * 2010-06-25 2014-10-22 株式会社平和 Game machine
JP4897100B1 (en) * 2011-04-19 2012-03-14 株式会社大都技研 Amusement stand

Also Published As

Publication number Publication date
JP2013233289A (en) 2013-11-21

Similar Documents

Publication Publication Date Title
JP5906131B2 (en) Game machine
JP5969812B2 (en) Game machine
JP6277359B2 (en) Game machine
JP5969813B2 (en) Game machine
JP5820333B2 (en) Game machine
JP6028191B2 (en) Game machine
JP5820334B2 (en) Game machine
JP5906129B2 (en) Game machine
JP6028192B2 (en) Game machine
JP5740620B2 (en) Game machine
JP2016182371A (en) Game machine
JP5883348B2 (en) Game machine
JP5945759B2 (en) Game machine
JP5643974B2 (en) Game machine
JP5945758B2 (en) Game machine
JP5643975B2 (en) Game machine
JP5740619B2 (en) Game machine
JP5740621B2 (en) Game machine
JP5740622B2 (en) Game machine
JP5906130B2 (en) Game machine
JP5969814B2 (en) Game machine
JP5740623B2 (en) Game machine
JP5814856B2 (en) Game machine
JP6149187B2 (en) Game machine
JP6077750B2 (en) Game machine

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140623

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150327

R150 Certificate of patent or registration of utility model

Ref document number: 5740619

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250