JP6677985B2 - Gaming machine - Google Patents

Gaming machine Download PDF

Info

Publication number
JP6677985B2
JP6677985B2 JP2015155318A JP2015155318A JP6677985B2 JP 6677985 B2 JP6677985 B2 JP 6677985B2 JP 2015155318 A JP2015155318 A JP 2015155318A JP 2015155318 A JP2015155318 A JP 2015155318A JP 6677985 B2 JP6677985 B2 JP 6677985B2
Authority
JP
Japan
Prior art keywords
game
area
program
ram
address
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
JP2015155318A
Other languages
Japanese (ja)
Other versions
JP2017029593A (en
Inventor
小倉 敏男
敏男 小倉
正文 中嶋
正文 中嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sankyo Co Ltd
Original Assignee
Sankyo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sankyo Co Ltd filed Critical Sankyo Co Ltd
Priority to JP2015155318A priority Critical patent/JP6677985B2/en
Publication of JP2017029593A publication Critical patent/JP2017029593A/en
Application granted granted Critical
Publication of JP6677985B2 publication Critical patent/JP6677985B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Slot Machines And Peripheral Devices (AREA)

Description

本発明は、パチンコ遊技機やスロットマシン等の遊技機に関する。   The present invention relates to a gaming machine such as a pachinko gaming machine and a slot machine.

この種の遊技機としては、例えば、遊技者の操作に応じて抽選や各部の動作を行わせるための遊技の進行に係わるプログラムと、遊技の進行とは直接係わらない異常検知(例えば、異常入賞判定)等に係るプログラムと、が一の記憶領域に混在して格納されている(例えば、特許文献1参照)。   Examples of this type of gaming machine include, for example, a program related to the progress of a game for performing a lottery or an operation of each part in response to an operation of a player, and an abnormality detection that is not directly related to the progress of the game (for example, an abnormal prize). And a program relating to (determination) and the like are mixedly stored in one storage area (for example, see Patent Document 1).

特開2007−222418号公報JP 2007-222418 A

特許文献1に記載の遊技機では、一の記憶領域において遊技の進行に係わるプログラムと、遊技の進行とは直接係わらないプログラムと、が混在していると、どのプログラムが遊技の進行に係わるプログラムであるか、の判別が困難であった。   In the gaming machine described in Patent Literature 1, if a program related to the progress of a game and a program not directly related to the progress of a game are mixed in one storage area, which program is related to the progress of the game Is difficult to determine.

本発明は、このような問題点に着目してなされたものであり、遊技の進行に係わるプログラムと、遊技の進行と関わらないプログラムと、を容易に判別できる遊技機を提供することを目的とする。   The present invention has been made in view of such problems, and an object of the present invention is to provide a gaming machine that can easily determine a program related to the progress of a game and a program not related to the progress of the game. I do.

本発明の遊技機は、
遊技を行う遊技機において、
プログラムを記憶可能な第1記憶領域を有する第1記憶手段と、
第1記憶手段に記憶されたプログラムに基づいて制御を行う制御手段と、
前記制御手段が前記プログラムに基づく制御を行う際に用いる変動データを記憶可能な第2記憶領域を有する第2記憶手段と、
前記遊技機への電力供給が停止されても前記第2記憶領域に記憶されたデータを所定期間保持する保持手段と、
を備え、
前記第1記憶領域は、
第1プログラムが記憶される第1プログラム領域と、
前記第1プログラムによって呼び出される第2プログラムが記憶される第2プログラム領域と、
を含み、
前記第2記憶領域は、
前記制御手段が前記第1プログラムに基づく制御を行う際に用いる第1変動データを記憶可能な第1変動データ領域と、
前記制御手段が前記第2プログラムに基づく制御を行う際に用いる第2変動データを記憶可能な第2変動データ領域と、
を含み、
前記第1プログラムは、前記第1変動データの少なくとも一部を初期化する第1初期化プログラムを含み、
前記第2プログラムは、前記第2変動データの少なくとも一部を初期化する第2初期化プログラムを含み、
前記制御手段は、
前記第1プログラムに基づく制御を行う際に、前記第1変動データを参照及び更新し、前記第2変動データを参照するが更新せず、
前記第2プログラムに基づく制御を行う際に、前記第2変動データを参照及び更新し、前記第1変動データを参照するが更新せず、
前記遊技機への電力供給が開始したときに、前記保持手段により前記第2記憶領域に保持されているデータのうち前記第1変動データ領域に記憶されている第1変動データに基づいて記憶内容が正常か否かを判定し、正常と判定された場合に、前記第1変動データ領域に記憶されている第1変動データ及び前記第2変動データ領域に記憶されている第2変動データに基づいて制御を開始し、
遊技の進行に応じて、初期化条件が成立しているか否かを判定し、前記初期化条件が成立していると判定したときに、前記第1初期化プログラムによる初期化及び前記第2初期化プログラムによる初期化のうち前記第1初期化プログラムによる初期化のみを行い、
前記遊技機への電力供給が開始したときに、前記第1変動データ領域に記憶されている第1変動データに基づいて記憶内容が正常でないと判定された場合に、前記第1初期化プログラムによる初期化前記第2初期化プログラムによる初期化とを個別に行う
ことを特徴としている。
本発明の手段1の遊技機は、
遊技を行う遊技機(スロットマシン1)において、
プログラム(遊技プログラム、非遊技プログラム)を記憶可能な第1記憶領域(遊技プログラム領域、非遊技プログラム領域)を有する第1の記憶手段(ROM41b)と、
第1の記憶手段に記憶されたプログラムに基づいて制御を行う制御手段(メイン制御部41)と、
前記制御手段が前記プログラムに基づく制御を行う際に用いる変動データを記憶可能な第2記憶領域(遊技RAM領域、非遊技RAM領域)を有する第2の記憶手段(RAM41c)と、
前記遊技機への電力供給が停止されても前記第2記憶領域段(RAM41c)に記憶されたデータを所定期間保持する保持手段(バックアップ電源)と、
を備え、
前記第1記憶領域段(ROM41b)は、
遊技の進行に係る遊技プログラム(遊技プログラム)が記憶される遊技プログラム領域(遊技プログラム領域)と、
前記遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラム(非遊技プログラム)が記憶される非遊技プログラム領域(非遊技プログラム領域)と、
を含み、
前記第2記憶領域(RAM41c)は、
前記制御手段が前記遊技プログラムに基づく制御を行う際に用いる遊技用変動データを記憶可能な遊技用変動データ領域(遊技RAM領域)と、
前記制御手段が前記非遊技プログラムに基づく制御を行う際に用いる非遊技用変動データを記憶可能な非遊技用変動データ領域(非遊技RAM領域)と、
を含み、
前記制御手段は、前記遊技機への電力供給が開始したときに、前記保持手段(バックアップ電源)により前記第2記憶領域(RAM41c)に保持されているデータのうち前記遊技用変動データ領域(遊技RAM領域)に記憶されている遊技用変動データに基づいて記憶内容が正常か否かを判定し(RAMが破壊されているか否かの判定)、正常と判定された場合に、前記遊技用変動データ領域(遊技RAM領域)に記憶されている遊技用変動データ及び前記非遊技用変動データ領域(非遊技RAM領域)に記憶されている非遊技用変動データに基づいて制御を開始する
ことを特徴としている。
この特徴によれば、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個に割り当てられているため、遊技プログラムと、非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。また、遊技プログラムに基づく制御を行う際に用いる遊技用変動データを記憶可能な遊技用変動データ領域と、非遊技プログラムに基づく制御を行う際に用いる非遊技用変動データを記憶可能な非遊技用変動データ領域と、がそれぞれ別個に割り当てられているため、遊技用変動データと、非遊技用変動データと、を記憶領域の違いに応じて容易に特定することができるとともに、制御手段は、遊技機への電力供給が開始したときに、保持手段により第2記憶領域に保持されているデータのうち遊技用変動データ領域に記憶されている遊技用変動データに基づいて記憶内容が正常か否かを判定し、正常と判定された場合に、遊技用変動データに記憶されている遊技用変動データ及び非遊技用変動データに記憶されている遊技用変動データに基づいて制御を開始するようになっており、遊技の進行に支障のない非遊技用データが正常か否かの判定を省くことで、遊技の進行が正常に行えることを担保しつつ、制御を再開する際の負荷を軽減することができる。
The gaming machine of the present invention
In gaming machines that play games,
First storage means having a first storage area capable of storing a program,
Control means for performing control based on a program stored in the first storage means;
A second storage unit having a second storage area capable of storing variation data used when the control unit performs control based on the program;
Holding means for holding data stored in the second storage area for a predetermined period even when power supply to the gaming machine is stopped;
With
The first storage area includes:
A first program area in which a first program is stored;
A second program area in which a second program called by the first program is stored;
Including
The second storage area,
A first variation data area capable of storing first variation data used when the control means performs control based on the first program;
A second variation data area capable of storing second variation data used when the control unit performs control based on the second program;
Including
The first program includes a first initialization program for initializing at least a part of the first variation data,
The second program includes a second initialization program for initializing at least a part of the second variation data,
The control means includes:
When performing control based on the first program, refer to and update the first variation data, refer to the second variation data but do not update,
When performing control based on the second program, refer to and update the second variation data, refer to the first variation data but do not update,
When the power supply to the gaming machine is started, the storage contents are stored based on the first variation data stored in the first variation data area among the data stored in the second storage area by the storage means. Is determined to be normal, and when it is determined to be normal, based on the first variation data stored in the first variation data area and the second variation data stored in the second variation data area. Start control,
In accordance with the progress of the game, it is determined whether or not the initialization condition is satisfied. When it is determined that the initialization condition is satisfied, the initialization by the first initialization program and the second initialization Only initialization by the first initialization program among the initializations by the initialization program,
When the power supply to the gaming machine is started, if it is determined that the storage content is not normal based on the first variation data stored in the first variation data area, the first initialization program the initialization by the initialization and the second initialization program is characterized by individually performed.
The gaming machine of the means 1 of the present invention comprises:
In a gaming machine (slot machine 1) that performs a game,
First storage means (ROM 41b) having a first storage area (game program area, non-game program area) capable of storing a program (game program, non-game program);
Control means (main control unit 41) for performing control based on a program stored in the first storage means;
A second storage unit (RAM 41c) having a second storage area (game RAM area, non-game RAM area) capable of storing variation data used when the control unit performs control based on the program;
Holding means (backup power supply) for holding data stored in the second storage area stage (RAM 41c) for a predetermined period even when power supply to the gaming machine is stopped;
With
The first storage area stage (ROM 41b)
A game program area (game program area) in which a game program (game program) related to the progress of the game is stored;
A non-game program area (non-game program area) which is a program called by the game program and stores a non-game program (non-game program) not related to the progress of the game;
Including
The second storage area (RAM 41c)
A game variation data area (game RAM area) capable of storing game variation data used when the control means performs control based on the game program;
A non-game fluctuation data area (non-game RAM area) capable of storing non-game fluctuation data used when the control means performs control based on the non-game program;
Including
When the power supply to the gaming machine is started, the control means controls the gaming variation data area (game) of the data held in the second storage area (RAM 41c) by the holding means (backup power supply). It is determined whether the storage content is normal based on the gaming variation data stored in the RAM area (determination as to whether or not the RAM is destroyed), and when it is determined that the content is normal, the gaming variation is determined. Control is started based on game variation data stored in a data area (game RAM area) and non-game variation data stored in the non-game variation data area (non-game RAM area). And
According to this feature, a game program area in which a game program related to the progress of the game is stored, a non-game program area in which a program called by the game program and a non-game program not related to the progress of the game is stored, Are separately assigned, so that the game program and the non-game program can be easily specified according to the difference in the storage area. In addition, a game variation data area that can store the game variation data used when performing control based on the game program, and a non-game variation data that can store non-game variation data used when performing control based on the non-game program. Since the variable data area and the variable data area are separately assigned, the variable data for the game and the variable data for the non-game can be easily specified according to the difference in the storage area, and the control means When the power supply to the machine is started, it is determined whether or not the storage content is normal based on the game variation data stored in the game variation data area among the data held in the second storage area by the holding means. And if it is determined to be normal, based on the gaming variation data stored in the gaming variation data and the gaming variation data stored in the non-gaming variation data. Control is started, and by omitting the determination of whether or not non-gaming data that does not hinder the progress of the game is normal, control is resumed while ensuring that the game progresses normally. It is possible to reduce the load when performing.

本発明の手段2の遊技機は、手段1に記載の遊技機であって、
前記遊技用変動データ領域(遊技RAM領域)は、前記遊技プログラム(遊技プログラム)に基づく制御を行う際にも前記非遊技プログラム(非遊技プログラム)に基づく制御を行う際にも用いられることのない未使用領域(未使用領域3)を含み、
前記制御手段は、前記遊技機への電力供給が開始したときに、前記遊技用変動データ領域(遊技RAM領域)のうち前記未使用領域(未使用領域3)を含む記憶内容が正常か否かを判定する
ことを特徴としている。
この特徴によれば、未使用領域に不正なデータが記憶されることを防止できる。
The gaming machine according to the second aspect of the present invention is the gaming machine according to the first aspect,
The fluctuation data area for game (game RAM area) is not used when performing control based on the game program (game program) or when performing control based on the non-game program (non-game program). Including unused area (unused area 3),
When the power supply to the gaming machine is started, the control means determines whether the storage contents including the unused area (unused area 3) in the gaming variation data area (game RAM area) are normal. Is determined.
According to this feature, unauthorized data can be prevented from being stored in the unused area.

本発明の手段3の遊技機は、手段1または2に記載の遊技機であって、
前記制御手段は、前記記憶内容が正常でないと判定されたときに、エラー状態(エラー処理)に制御するとともに、該エラー状態の解除に伴い前記遊技用変動データ領域(遊技RAM領域)及び前記非遊技用変動データ領域(非遊技RAM領域)の双方を初期化する
ことを特徴としている。
この特徴によれば、記憶内容が正常でないと判定されたときに、自動的に復帰することがなく、エラー状態に制御されるとともに、エラー状態の解除に伴って遊技用変動データ及び非遊技用変動データの双方が初期化されるので、遊技用変動データ及び非遊技用データのいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。
The gaming machine according to the third aspect of the present invention is the gaming machine according to the first or second aspect,
The control means, when it is determined that the stored contents are not normal, controls to an error state (error processing), and in response to the release of the error state, the game variation data area (game RAM area) and the non- It is characterized in that both the game variation data area (non-game RAM area) is initialized.
According to this feature, when it is determined that the stored content is not normal, the automatic recovery is not performed, the state is controlled to the error state, and the variation data for the game and the non-game Since both of the fluctuation data are initialized, it is possible to prevent the progress of the game with an abnormality occurring in either the fluctuation data for the game or the non-game data.

本発明の手段4の遊技機は、手段1または2に記載の遊技機であって、
前記制御手段は、前記記憶内容が正常でないと判定されたときに(RAMが破壊されていると判定したとき)、前記遊技用変動データ領域(遊技RAM領域)及び前記非遊技用変動データ領域(非遊技RAM領域)の双方を初期化する
ことを特徴としている。
この特徴によれば、記憶内容が正常でないと判定されたときに遊技用変動データ及び非遊技用変動データの双方が初期化されるので、遊技用変動データ及び非遊技用データのいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。
The gaming machine according to the fourth aspect of the present invention is the gaming machine according to the first or second aspect,
The control means, when it is determined that the storage content is not normal (when it is determined that the RAM is destroyed), the gaming variation data area (game RAM area) and the non-game variation data area ( It is characterized in that both non-game RAM areas are initialized.
According to this feature, when it is determined that the storage content is not normal, both the gaming variation data and the non-gaming variation data are initialized, so that either the gaming variation data or the non-gaming data is abnormal. The game can be prevented from proceeding with the occurrence.

本発明の手段5の遊技機は、手段1〜4のいずれかに記載の遊技機であって、
前記制御手段は、前記遊技機への電力供給が停止するときに前記遊技用変動データ領域(遊技RAM領域)及び前記非遊技用変動データ領域(非遊技RAM領域)双方へのアクセスを禁止する(電断処理におけるRAM41cへのアクセス禁止の設定)
ことを特徴としている。
この特徴によれば、記憶内容が正常か否かの判定に用いられる遊技用変動データ領域だけでなく、非遊技用変動データ領域へのアクセスも禁止されるので、非遊技用変動データ領域を利用して不正なデータが記憶されることを防止できる。
The gaming machine of the means 5 of the present invention is the gaming machine according to any one of the means 1 to 4,
The control means prohibits access to both the gaming variation data area (gaming RAM area) and the non-gaming variation data area (non-gaming RAM area) when power supply to the gaming machine is stopped ( Setting of prohibition of access to RAM 41c in power interruption processing)
It is characterized by:
According to this feature, the access to the non-game variable data area as well as the non-game variable data area used to determine whether the storage content is normal is prohibited, so the non-game variable data area is used. In this way, it is possible to prevent illegal data from being stored.

本発明の手段6の遊技機は、手段1〜5のいずれかに記載の遊技機であって、
前記非遊技プログラムの実行中は、割込が禁止される(非遊技プログラムの呼び出し前に割込が禁止に設定されること)
ことを特徴としている。
この特徴によれば、非遊技プログラムの実行中に意図しない処理が実行されることで処理が複雑となってしまうことを防止できる。
The gaming machine of the means 6 of the present invention is the gaming machine according to any one of the means 1 to 5,
Interruption is prohibited during execution of the non-game program (interruption is set to be prohibited before calling the non-game program)
It is characterized by:
According to this feature, it is possible to prevent the processing from being complicated due to the execution of an unintended processing during the execution of the non-game program.

本発明の手段7の遊技機は、手段1〜6のいずれかに記載の遊技機であって、
前記第2記憶領域は、前記遊技プログラム(遊技プログラム)が用いるデータを退避するスタック領域(遊技スタック領域)と、前記非遊技プログラム(非遊技プログラム)が用いるデータを退避するスタック領域(非遊技スタック領域)と、を別個に備える
ことを特徴としている。
この特徴によれば、遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、が別個に設けられたスタック領域にそれぞれ退避されるので、スタック領域の管理が容易となる。
The gaming machine of the means 7 of the present invention is the gaming machine according to any one of the means 1 to 6,
The second storage area includes a stack area (game stack area) for saving data used by the game program (game program) and a stack area (non-game stack) for saving data used by the non-game program (non-game program). Area) are provided separately.
According to this feature, since the data used by the game program and the data used by the non-game program are respectively saved in the separately provided stack areas, the management of the stack areas becomes easy.

本発明の手段8の遊技機は、手段1〜7のいずれかに記載の遊技機であって、
割込処理を実行するための割込プログラム(タイマ割込処理(メイン))のアドレスを記憶可能なアドレス記憶手段(ベクタテーブル)と、
アドレス記憶手段(ベクタテーブル)に記憶しているアドレスが所定の範囲(プログラム領域のうちプログラム等が実際に格納された領域)にあるか否かを起動時に判定する判定手段と、
アドレス記憶手段(ベクタテーブル)に記憶しているアドレスが所定の範囲にないと判定したときに起動を制限する起動制限手段(メイン制御部41は、ベクタテーブルのアドレスがプログラム領域のうちプログラム等が実際に格納された領域でない場合に起動させない)と、
を備える
ことを特徴としている。
この特徴によれば、意図しない割込処理が実行されることを事前に防止することができ
る。
The gaming machine of the means 8 of the present invention is the gaming machine according to any one of the means 1 to 7,
Address storage means (vector table) capable of storing an address of an interrupt program (timer interrupt processing (main)) for executing the interrupt processing;
Determining means for determining at start-up whether or not the address stored in the address storage means (vector table) is within a predetermined range (area of the program area where programs and the like are actually stored);
Activation limiting means for restricting activation when it is determined that the address stored in the address storage means (vector table) is not within a predetermined range. Do not start if it is not the area actually stored)
It is characterized by having.
According to this feature, execution of unintended interrupt processing can be prevented in advance.

本発明の手段9の遊技機は、手段1〜8のいずれかに記載の遊技機であって、
前記制御手段の設定を行う設定手段(HWパラメータを参照して行われる各種機能の設定)を備え、
前記制御手段は、前記設定手段による設定が行われた後、プログラム(遊技プログラムまたは非遊技プログラム)に基づく処理を実行するとともに、プログラムに基づく処理が開始される前に割込を禁止する(起動時設定による割込禁止の設定)
ことを特徴としている。
この特徴によれば、意図しない割込が発生することを防止できる。
The gaming machine of the means 9 of the present invention is the gaming machine according to any one of the means 1 to 8,
Setting means for setting the control means (setting of various functions performed with reference to HW parameters);
The control means executes processing based on a program (game program or non-game program) after the setting by the setting means is performed, and prohibits an interrupt before processing based on the program is started (startup). Setting interrupt prohibition by time setting)
It is characterized by:
According to this feature, occurrence of an unintended interrupt can be prevented.

本発明の手段10の遊技機は、手段1〜9のいずれかに記載の遊技機であって、
複数のタイマ値格納領域(例えば、1バイトタイマA〜C)と、
複数種類の計時条件(例えば、1バイトタイマA〜Cの計時条件)のうちいずれかの種類の計時条件が成立したときに、該計時条件に応じたタイマ値格納領域(例えば、1バイトタイマA〜C)に該計時条件に応じたタイマ値を格納するタイマ値格納手段(メイン処理)と、
所定周期(約2.24ms)毎に複数のタイマ値格納領域(例えば、1バイトタイマA〜C)に格納されたタイマ値を更新可能なタイマ値更新手段(時間カウンタ更新処理)と、
を備え、
複数のタイマ値格納領域(例えば、1バイトタイマA〜C)には、所定の規則(+1)で連続するアドレス(804CH〜804EH)が割り当てられ、
タイマ値更新手段は、指定アドレスに対応するタイマ値格納領域に格納されたタイマ値を更新する更新処理(ポインタが示す値を1減算する処理)を、所定の演算(指定アドレス+1)を行うことによりタイマ値格納領域に対する指定アドレスを変更しながら繰り返し実行することで複数種類のタイマ値を更新可能である
ことを特徴としている。
この特徴によれば、複数のタイマ値格納領域には、所定の規則で連続するアドレスが割り当てられるとともに、指定アドレスに対応するタイマ値格納領域に格納されたタイマ値を更新する更新処理を、所定の演算を行うことによりタイマ値格納領域に対する指定アドレスを変更しながら繰り返し実行することで複数種類のタイマ値を更新するので、複数種類のタイマ値を更新する処理をタイマ値の種類毎に行う場合よりもプログラム容量を削減することができる。
尚、所定の規則で連続するアドレスが割り当てられるとは、例えば、開始アドレス及び開始アドレスからN(Nは自然数)ずつ加算されるアドレスが割り当てられることである。
また、所定の演算を行うことによりタイマ値格納領域に対する指定アドレスを変更するとは、例えば、現在の指定アドレスに対して処理数に応じた値を加算または減算することで指定アドレスを変更すること、基準アドレスに対して定数を加算または減算することで指定アドレスを変更することが該当する。この際、処理数に応じた値または定数は、タイマ値の格納容量により異なる場合があり、例えば、1バイトずつタイマ値が格納される構成であれば、処理数に応じた値は処理数に応じて1、2、3…となり、定数は1となるが、2バイトずつタイマ値が格納される構成であれば、処理数に応じた値は処理数に応じて2、4、6…となり、定数は2となる。
The gaming machine of the means 10 of the present invention is the gaming machine according to any one of the means 1 to 9,
A plurality of timer value storage areas (for example, 1-byte timers A to C);
When any one of a plurality of types of timing conditions (for example, the timing conditions of the one-byte timers A to C) is satisfied, a timer value storage area (for example, the one-byte timer A) corresponding to the timing condition is satisfied. To C) a timer value storage means (main processing) for storing a timer value according to the timing condition;
Timer value updating means (time counter updating processing) capable of updating timer values stored in a plurality of timer value storage areas (for example, one-byte timers A to C) at predetermined intervals (about 2.24 ms);
With
To a plurality of timer value storage areas (for example, 1-byte timers A to C), continuous addresses (804CH to 804EH) are assigned according to a predetermined rule (+1),
The timer value updating means performs a predetermined operation (designated address + 1) on an update process (a process of subtracting 1 from the value indicated by the pointer) for updating the timer value stored in the timer value storage area corresponding to the designated address. Thus, a plurality of types of timer values can be updated by repeatedly executing while changing the designated address for the timer value storage area.
According to this feature, continuous addresses are assigned to the plurality of timer value storage areas according to a predetermined rule, and an update process for updating the timer value stored in the timer value storage area corresponding to the specified address is performed by a predetermined process. When multiple types of timer values are updated by repeatedly executing while changing the designated address for the timer value storage area by performing the above operation, the process of updating multiple types of timer values is performed for each type of timer value Program capacity can be reduced.
It should be noted that continuous addresses are assigned according to a predetermined rule, for example, when a start address and an address added by N (N is a natural number) from the start address are assigned.
Further, changing the designated address for the timer value storage area by performing a predetermined operation means, for example, changing the designated address by adding or subtracting a value corresponding to the number of processes to the current designated address; Changing a specified address by adding or subtracting a constant from or to a reference address corresponds to this. At this time, the value or the constant according to the number of processes may be different depending on the storage capacity of the timer value. For example, if the timer value is stored byte by byte, the value according to the number of processes is equal to the number of processes. .. And the constant is 1. However, if the timer value is stored in units of 2 bytes, the value corresponding to the number of processes becomes 2, 4, 6,. , And the constant is 2.

尚、本発明は、本発明の請求項に記載された発明特定事項のみを有するものであって良いし、本発明の請求項に記載された発明特定事項とともに該発明特定事項以外の構成を有するものであっても良い。   It should be noted that the present invention may have only the matters specifying the invention described in the claims of the present invention, or may have configurations other than the matters specifying the invention together with the matters specifying the invention described in the claims of the present invention. It may be something.

本発明が適用された実施例のスロットマシンの正面図である。It is a front view of the slot machine of the example to which the present invention is applied. スロットマシンの内部構造を示す斜視図である。FIG. 3 is a perspective view showing the internal structure of the slot machine. リールの図柄配列を示す図である。It is a figure which shows the symbol arrangement | sequence of a reel. スロットマシンの構成を示すブロック図である。FIG. 3 is a block diagram showing a configuration of the slot machine. メイン制御部の構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of a main control unit. メイン制御部が搭載するROM及びRAMのメモリマップを示す図である。FIG. 3 is a diagram illustrating a memory map of a ROM and a RAM mounted on a main control unit. メイン制御部が搭載するROM及びRAMのメモリマップの詳細を示す図である。FIG. 4 is a diagram showing details of a memory map of a ROM and a RAM mounted on the main control unit. 遊技プログラム及び非遊技プログラムの構成を示す図である。It is a figure showing the composition of a game program and a non-game program. 遊技領域と非遊技領域との関係を示す図である。It is a figure showing the relation between a game field and a non-game field. (a)は、メイン処理の実行中に遊技プログラムに基づく処理から非遊技プログラムを呼び出す際の処理の流れを示すフローチャートであり、(b)は、タイマ割込処理の実行中に遊技プログラムに基づく処理から非遊技プログラムを呼び出す際の処理の流れを示すフローチャートである。(A) is a flowchart showing a flow of processing when a non-game program is called from processing based on a game program during execution of the main processing, and (b) is based on the game program during execution of the timer interrupt processing. It is a flow chart which shows the flow of processing at the time of calling a non-game program from processing. メイン制御部が実行する初期設定処理の制御内容を示すフローチャートである。6 is a flowchart illustrating control contents of an initial setting process executed by a main control unit. メイン制御部が実行する設定変更処理の制御内容を示すフローチャートである。6 is a flowchart illustrating control contents of a setting change process executed by a main control unit. メイン制御部が実行する遊技領域初期化処理の制御内容を示すフローチャートである。It is a flowchart which shows the control content of the game area initialization process which a main control part performs. メイン制御部が実行する非遊技領域初期化処理の制御内容を示すフローチャートである。It is a flowchart which shows the control content of the non-game area initialization process which a main control part performs. メイン制御部が実行するメイン処理の制御内容を示すフローチャートである。6 is a flowchart illustrating control contents of a main process executed by a main control unit. メイン制御部が実行するタイマ割込処理(メイン)の制御内容を示すフローチャートである。9 is a flowchart illustrating the control content of a timer interrupt process (main) executed by a main control unit. メイン制御部が実行するタイマ割込処理(メイン)の制御内容を示すフローチャートである。9 is a flowchart illustrating the control content of a timer interrupt process (main) executed by a main control unit. メイン制御部が実行する電断処理(メイン)の制御内容を示すフローチャートである。6 is a flowchart illustrating control contents of a power interruption process (main) executed by a main control unit. メイン制御部が、第1の条件、第2の条件の成立時に初期化するRAMの領域を示す図である。FIG. 4 is a diagram illustrating an area of a RAM initialized by a main control unit when a first condition and a second condition are satisfied. メイン制御部がタイマカウンタの値を判定する際の制御内容を示すフローチャートである。6 is a flowchart illustrating control contents when a main control unit determines a value of a timer counter. RAMにおけるタイマカウンタの格納領域を示す図である。FIG. 4 is a diagram illustrating a storage area of a timer counter in a RAM. メイン制御部が実行する時間カウンタ更新処理の制御内容を示すフローチャートである。9 is a flowchart illustrating the control content of a time counter update process executed by a main control unit. タイマ割込処理の実行中に遊技プログラムに基づく処理から非遊技プログラムを呼び出す際の処理の流れの変形例を示すフローチャートである。It is a flowchart which shows the modification of the flow of a process at the time of calling a non-game program from the process based on a game program during execution of a timer interruption process.

本発明に係るスロットマシンを実施するための形態を実施例に基づいて以下に説明する。   Embodiments for implementing a slot machine according to the present invention will be described below based on embodiments.

本発明が適用されたスロットマシンの実施例について図面を用いて説明すると、本実施例のスロットマシン1は、図1に示すように、前面が開口する筐体1aと、この筐体1aの側端に回動自在に枢支された前面扉1bと、から構成されている。   An embodiment of a slot machine to which the present invention is applied will be described with reference to the drawings. As shown in FIG. 1, a slot machine 1 according to the present embodiment includes a housing 1a having an open front surface and a side of the housing 1a. And a front door 1b pivotally supported at one end.

本実施例のスロットマシン1の筐体1aの内部には、図2に示すように、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール、中リール、右リール)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が前面扉1bに設けられた透視窓3から見えるように配置されている。   As shown in FIG. 2, inside the housing 1a of the slot machine 1 of this embodiment, reels 2L, 2C, and 2R (hereinafter, left reel, middle reel, right reel) on which a plurality of types of symbols are arranged on the outer periphery. ) Are arranged side by side in the horizontal direction, and as shown in FIG. 1, three continuous symbols among the symbols arranged on the reels 2L, 2C, and 2R can be seen from the see-through window 3 provided on the front door 1b. Are arranged as follows.

リール2L、2C、2Rの外周部には、図3に示すように、それぞれ「赤7」、「青7」、「白7」、「BAR」、「スイカ」、「チェリーa」、「チェリーb」、「ベル」、「リプレイa」、「リプレイb」、「プラム」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ21個ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、前面扉1bの略中央に設けられた透視窓3において各々上中下三段に表示される。尚、以下では、「赤7」、「青7」、「白7」をまとめて単に「7」という場合があり、「チェリーa」、「チェリーb」をまとめて単に「チェリー」という場合があり、「リプレイa」、「リプレイb」をまとめて単に「リプレイ」と言う場合がある。   As shown in FIG. 3, "red 7", "blue 7", "white 7", "BAR", "watermelon", "cherry a", and "cherry" are provided on the outer peripheral portions of the reels 2L, 2C, and 2R, respectively. A plurality of mutually identifiable patterns such as "b", "bell", "replay a", "replay b", and "plum" are drawn in a predetermined order, each of which is 21 pieces. The symbols drawn on the outer peripheral portions of the reels 2L, 2C, 2R are displayed in upper, middle, lower, and upper tiers, respectively, in the see-through window 3 provided substantially at the center of the front door 1b. In the following, “red 7”, “blue 7”, and “white 7” may be simply referred to as “7”, and “cherry a” and “cherry b” may be simply referred to as “cherry”. Yes, "replay a" and "replay b" may be collectively referred to simply as "replay".

各リール2L、2C、2Rは、各々対応して設けられたリールモータ32L、32C、32R(図4参照)によって回転されることで、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示される一方で、各リール2L、2C、2Rの回転が停止されることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。   Each of the reels 2L, 2C, 2R is rotated by a correspondingly provided reel motor 32L, 32C, 32R (see FIG. 4), so that the design of each of the reels 2L, 2C, 2R is continuous with the see-through window 3. While the reels 2L, 2C, and 2R are stopped rotating, three consecutive symbols are derived and displayed on the see-through window 3 as a display result.

リール2L、2C、2Rの内側には、リール2L、2C、2Rそれぞれに対して、基準位置を検出するリールセンサ33L、33C、33Rと、リール2L、2C、2Rを背面から照射するリールLED55と、が設けられている。また、リールLED55は、リール2L、2C、2Rの連続する3つの図柄に対応する12のLEDからなり、各図柄をそれぞれ独立して照射可能とされている。   Inside the reels 2L, 2C, 2R, a reel sensor 33L, 33C, 33R for detecting a reference position and a reel LED 55 for irradiating the reels 2L, 2C, 2R from the back are provided for the reels 2L, 2C, 2R, respectively. , Are provided. The reel LED 55 includes twelve LEDs corresponding to three consecutive symbols on the reels 2L, 2C, and 2R, and can irradiate each symbol independently.

前面扉1bの各リール2L、2C、2Rの手前側(遊技者側)の位置には、液晶表示器51(図1参照)の表示領域51aが配置されている。液晶表示器51は、液晶素子に対して電圧が印加されていない状態で透過性を有する液晶パネルを有しており、表示領域51aの透視窓3に対応する透過領域51b及び透視窓3を介して遊技者側から各リール2L、2C、2Rが視認できるようになっている。   A display area 51a of a liquid crystal display 51 (see FIG. 1) is arranged at a position on the front side (player side) of each of the reels 2L, 2C, 2R of the front door 1b. The liquid crystal display 51 has a liquid crystal panel having transparency when no voltage is applied to the liquid crystal element. The liquid crystal display 51 is provided with a transparent region 51 b corresponding to the transparent window 3 of the display region 51 a and a transparent window 3. Each reel 2L, 2C, 2R can be visually recognized from the player side.

前面扉1bには、図1に示すように、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数(本実施例では後述するRT0〜4の規定数として3、RBの規定数として2が定められている)を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8R、演出に用いられる演出用スイッチ56が遊技者により操作可能にそれぞれ設けられている。   In the front door 1b, as shown in FIG. 1, a medal insertion section 4 into which medals can be inserted, a medal payout exit 9 from which medals are paid out, and a credit (the number of medals stored as a game value owned by the player). In this range, the maximum bet amount of the specified number of bets determined according to the game state within the range (3 is set as the specified number of RT0 to 4 described later and 2 is set as the specified number of RB in the present embodiment). MAXBET switch 6 which is operated when setting the medals, the medals stored as credits and the medals used for setting the bet amount are settled (the medals used for setting the credits and the bet amount are returned) ), A start switch 7 that is operated when starting a game, and a stop switch that is operated when each of the reels 2L, 2C, and 2R stops rotating. Pitch 8L, 8C, 8R, effect switch 56 to be used in effect are respectively provided so as to be operated by the player.

尚、本実施例では、回転を開始した3つのリール2L、2C、2Rのうち、最初に停止するリールを第1停止リールと称し、また、その停止を第1停止と称する。同様に、2番目に停止するリールを第2停止リールと称し、また、その停止を第2停止と称し、3番目に停止するリールを第3停止リールと称し、また、その停止を第3停止あるいは最終停止と称する。   In this embodiment, of the three reels 2L, 2C, and 2R that have started rotating, the reel that stops first is referred to as a first stop reel, and the stop is referred to as a first stop. Similarly, the reel that stops second is referred to as a second stop reel, the stop is referred to as a second stop, the reel that stops third is referred to as a third stop reel, and the stop is referred to as a third stop. Alternatively, it is referred to as a final stop.

また、前面扉1bには、図1に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード、後述のナビ報知によるリールの停止順を識別可能な情報等が表示される遊技補助表示器12、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、リプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられた遊技用表示部13が設けられている。   As shown in FIG. 1, the front door 1b displays a credit indicator 11 displaying the number of medals stored as credits, and shows the number of medals paid out due to the occurrence of a prize and the contents of the error when an error occurs. The game auxiliary display 12 displays an error code, information which can identify the reel stop order based on the navigation notification described later, etc., the 1 BET LED 14 for notifying that the bet number is set to 1, and the bet number is set to 2. 2 BET LED 15 for notifying that the game is on, 3 BET LED 16 for notifying that the bet amount has been set to 3 by light, insertion request LED 17 for notifying that a medal can be inserted, and a start switch 7 to operate the game. A start valid LED 18 for notifying that the start operation is valid by lighting, and a weight (previous game (A state in which the rotation of the reels is awaited because a certain period has not elapsed since the start.) A waiting LED 19 for notifying by light that the vehicle is being replayed and a replay LED 20 for notifying that a replay game is being performed is provided. Game display unit 13 is provided.

MAXBETスイッチ6の内部には、MAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図4参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図4参照)がそれぞれ設けられており、演出用スイッチ56の内部には、演出用スイッチ56の操作が有効である旨を点灯により報知する演出用LED56a(図4参照)が設けられている。   Inside the MAXBET switch 6, there is provided a BET switch valid LED 21 (see FIG. 4) for notifying by lighting that the setting operation of the bet amount by operating the MAXBET switch 6 is valid, and the stop switches 8L, 8C, Inside the 8R, left, middle, and right stop valid LEDs 22L, 22C, and 22R (see FIG. 4) are provided to notify by light that the reel stop operation by the corresponding stop switches 8L, 8C, and 8R is valid. An effect LED 56a (see FIG. 4) is provided inside the effect switch 56 to notify by lighting that the operation of the effect switch 56 is effective.

前面扉1bの内側には、図2に示すように、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、所定の契機(例えば、後述のBB終了時)に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36a、所定の契機(例えば、BB終了時)に自動精算処理(クレジットとして記憶されているメダルを遊技者の操作によらず精算(返却)する処理)に制御する自動精算機能の有効/無効を選択するための自動精算スイッチ36b、メダル投入部4から投入されたメダルの流路を、筐体1aの内部に設けられた後述のホッパータンク34a(図2参照)側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク34a側に流下したメダルを検出する投入メダルセンサ31、投入メダルセンサ31の上流側で異物の挿入を検出する投入口センサ26を有するメダルセレクタ29、前面扉1bの開放状態を検出するドア開放検出スイッチ25(図4参照)が設けられている。   As shown in FIG. 2, inside the front door 1b, as shown in FIG. 2, a reset switch 23 for detecting a reset operation for releasing an error state described later and a hit state described later by a predetermined key operation, and a change of a set value described later The set value display 24 displays the set value at that time during or during the check of the set value, and the game progresses until a reset operation is performed at a predetermined timing (for example, at the end of BB described later). A stop switch 36a for selecting the valid / invalid of a stop function for controlling to a regulated state, and a predetermined trigger (for example, at the end of BB), an automatic settlement process (a medal stored as a credit is stored in the player). The automatic payment switch 36b for selecting the validity / invalidity of the automatic payment function for controlling the payment (returning process) regardless of the operation of the button, and the flow path of the medals inserted from the medal insertion unit 4 a, a flow path switching solenoid 30 for selectively switching to one of a hopper tank 34a (see FIG. 2) described later and a medal payout port 9 side, which is provided in the inside of a An inserted medal sensor 31 for detecting medals flowing down to the tank 34a side, a medal selector 29 having an insertion port sensor 26 for detecting insertion of a foreign substance on the upstream side of the inserted medal sensor 31, and a door opening for detecting an open state of the front door 1b. A detection switch 25 (see FIG. 4) is provided.

筐体1aの内部には、図2に示すように、前述したリール2L、2C、2R、リールモータ32L、32C、32R(図4参照)、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33L、33C、33R(図4参照)からなるリールユニット2、外部出力信号を出力するための外部出力基板1000(図4参照)、メダル投入部4から投入されたメダルを貯留するホッパータンク34a、ホッパータンク34aに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34b(図4参照)、ホッパーモータ34bの駆動により払い出されたメダルを検出する払出センサ34c(図4参照)からなるホッパーユニット34、電源ボックス100が設けられている。   As shown in FIG. 2, the reels 2L, 2C, and 2R, the reel motors 32L, 32C, and 32R (see FIG. 4) and the reel reference positions of the reels 2L, 2C, and 2R are respectively provided inside the housing 1a. A reel unit 2 including detectable reel sensors 33L, 33C, 33R (see FIG. 4), an external output board 1000 for outputting an external output signal (see FIG. 4), and storing medals inserted from the medal insertion unit 4. Hopper tank 34a, a hopper motor 34b for paying out medals stored in the hopper tank 34a from the medal payout port 9 (see FIG. 4), and a payout sensor 34c for detecting medals paid out by driving the hopper motor 34b ( (See FIG. 4) and a power supply box 100 are provided.

ホッパーユニット34の側部には、ホッパータンク34aから溢れたメダルが貯留されるオーバーフロータンク35が設けられている。オーバーフロータンク35の内部には、貯留されたメダルが満タン状態となったことを検出する満タンセンサ35a(図4参照)が設けられている。   On the side of the hopper unit 34, an overflow tank 35 for storing medals overflowing from the hopper tank 34a is provided. Inside the overflow tank 35, there is provided a full sensor 35a (see FIG. 4) for detecting that the stored medals are full.

電源ボックス100の前面には、図2に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をon/offする際に操作される電源スイッチ39が設けられている。   As shown in FIG. 2, the front of the power supply box 100 functions as a setting key switch 37 for switching to a setting change state or a setting confirmation state, and normally functions as a reset switch for canceling an error state or a stopped state. In a setting change state, a reset / setting switch 38 functioning as a setting switch for changing a setting value of a winning probability (a payout rate) of an internal lottery described later, and a power supply operated when turning on / off the power supply A switch 39 is provided.

尚、電源ボックス100は、筐体1aの内部に設けられており、さらに前面扉1bは、店員等が所持する所定のキー操作により開放可能な構成であるため、これら電源ボックス100の前面に設けられた設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作により検出されるリセットスイッチ23も同様である。特に、設定キースイッチ37は、キー操作により前面扉1bを開放したうえで、さらにキー操作を要することから、遊技場の店員のなかでも、設定キースイッチ37の操作を行うキーを所持する店員のみ操作が可能とされている。   The power supply box 100 is provided inside the housing 1a, and the front door 1b is provided on the front of the power supply box 100 because the front door 1b can be opened by a predetermined key operation held by a clerk or the like. The set key switch 37, the reset / setting switch 38, and the power switch 39 can be operated only by a person such as a clerk having the key, and cannot be operated by the player. The same applies to the reset switch 23 detected by a predetermined key operation. In particular, since the setting key switch 37 requires further key operation after opening the front door 1b by key operation, only the clerk who has the key for operating the setting key switch 37 among the clerks at the game arcade. Operation is allowed.

本実施例のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインLN(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。本実施例では、後述するRT0〜4における規定数の賭数として3枚が定められ、後述するRBにおける規定数の賭数として2枚が定められており、これら遊技状態に応じた規定数の賭数が設定されると入賞ラインLNが有効となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。   When playing a game in the slot machine 1 of this embodiment, first, medals are inserted from the medal insertion unit 4 or the number of bets is set using credits. To use the credit, the MAXBET switch 6 may be operated. When a predetermined number of bets set according to the game state is set, the pay line LN (see FIG. 1) becomes valid, and the operation of the start switch 7 is valid, that is, the game can be started. Become. In this embodiment, three bets are defined as a prescribed number of bets in RT0 to RT4 described later, and two are determined as a prescribed number of bets in RB described later. When the bet amount is set, the pay line LN is activated. When medals are inserted in more than the maximum number among the prescribed numbers corresponding to the gaming state, the medals are added to the credit.

入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図1に示すように、リール2Lの中段、リール2Cの中段、リール2Rの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインLNのみが入賞ラインとして定められている。尚、本実施例では、1本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。   The winning line is a line that is set to determine whether the combination of the symbols displayed in the perspective windows 3 of the reels 2L, 2C, and 2R is a combination of the winning symbols. In the present embodiment, as shown in FIG. 1, only the winning line LN set across the middle row of the reel 2L, the middle section of the reel 2C, and the middle section of the reel 2R, that is, the middle row, is a winning line. Stipulated. In this embodiment, only one winning line is applied, but a plurality of winning lines may be applied.

また、本実施例では、入賞ラインLNに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインLNとは別に、無効ラインLM1〜4を設定している。無効ラインLM1〜4は、これら無効ラインLM1〜4に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインLNに特定の入賞を構成する図柄の組合せが揃った際に、無効ラインLM1〜4のいずれかに入賞ラインLNに揃った場合に入賞となる図柄の組合せ(例えば、ベル−ベル−ベル)が揃う構成とすることで、入賞ラインLNに特定の入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。   Further, in this embodiment, in order to make it easy to recognize that the combination of the symbols constituting the prize is arranged in the prize line LN, the invalid lines LM1 to LM4 are set separately from the prize line LN. The invalid lines LM1 to LM4 are not determined based on the combination of the symbols arranged on the invalid lines LM1 to LM4. When the combination of the symbols constituting the specific prize is arranged on the prize line LN, the invalid lines LM1 to LM4 are invalid. When a combination of symbols (for example, bell-bell-bell) that wins when the winning line LN is aligned with any of the LM1 to LM4 is arranged, a symbol forming a specific winning on the winning line LN is formed. This is to make it easy to recognize that the combination is complete.

本実施例では、図1に示すように、リール2Lの上段、リール2Cの上段、リール2Rの上段、すなわち上段に水平方向に並んだ図柄に跨って設定された無効ラインLM1、リール2Lの下段、リール2Cの下段、リール2Rの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインLM2、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインLM3、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインLM4の4種類が無効ラインLMとして定められている。   In the present embodiment, as shown in FIG. 1, the upper line of the reel 2L, the upper line of the reel 2C, and the upper line of the reel 2R, that is, the invalid line LM1 set over the symbols arranged in the upper direction in the horizontal direction, and the lower line of the reel 2L , The lower line of the reel 2C, the lower line of the reel 2R, that is, the invalid line LM2 set across the symbols horizontally arranged in the lower line, the upper line of the reel 2L, the middle line of the reel 2C, the lower line of the reel 2R, that is, the lower line There are four types of invalid lines LM: an invalid line LM3 set across the symbols, a lower row of the reel 2L, a middle row of the reel 2C, and an upper row of the reel 2R, that is, an invalid line LM4 set across the patterns arranged to the right. It is defined as.

また、本実施例では、入賞役として、入賞ラインLNに役として定められた所定の図柄の組合せ(例えば、「ベル−スイカ−チェリーb」)が揃ったときに入賞するとともに、かつ所定の図柄組合せが揃うことにより無効ラインLM1〜LM4のいずれかに所定の図柄組合せよりも認識しやすい指標となる図柄の組合せ(例えば、「スイカ−スイカ−スイカ」)が揃うことにより、無効ラインLM1〜LM4のいずれかに揃った図柄の組合せによって入賞したように見せることが可能な役を含む。以下では、所定の図柄の組合せが入賞ラインLNに揃ったときに無効ラインLM1〜LM4のいずれかに揃う図柄の組合せを、指標となる図柄の組合せと呼び、指標となる図柄の組合せを構成する図柄を指標図柄と呼ぶ。   Further, in the present embodiment, when a predetermined combination of symbols (for example, “Bell-watermelon-cherry b”) determined as a combination in the winning line LN is completed, a prize is won and a predetermined symbol is formed. When the combination is completed, a symbol combination (for example, “watermelon-watermelon-watermelon”) that is an index that is easier to recognize than a predetermined symbol combination is arranged on one of the invalid lines LM1 to LM4, and thus the invalid lines LM1 to LM4 are generated. And a combination that can make it appear as if a prize has been won by a combination of symbols arranged in any of the above. Hereinafter, a combination of symbols that are aligned with any of the invalid lines LM1 to LM4 when a predetermined symbol combination is aligned with the pay line LN is referred to as a symbol combination as an index, and constitutes a symbol combination as an index. The design is called an index design.

ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、透視窓3に表示結果が導出表示される。   When the start switch 7 is operated in a state where the game can be started, the reels 2L, 2C, 2R rotate, and the symbols on the reels 2L, 2C, 2R change continuously. When any of the stop switches 8L, 8C, 8R is operated in this state, the rotation of the corresponding reels 2L, 2C, 2R is stopped, and the display result is derived and displayed on the see-through window 3.

そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、入賞ラインLN上に予め定められた図柄の組合せ(以下、役ともいう)が各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。また、入賞ラインLN上に、遊技状態の移行を伴う図柄の組合せが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。   When one of the reels 2L, 2C, and 2R is stopped, one game is completed, and a predetermined symbol combination (hereinafter, also referred to as a combination) is displayed on each of the reels 2L, 2C, and 2R on the winning line LN. As a result, when the game stops, a prize is generated, and a predetermined number of medals are awarded to the player according to the prize and added to the credit. When the number of credits reaches the upper limit (50 in this embodiment), medals are paid directly from the medal payout port 9 (see FIG. 1). Further, when a combination of symbols accompanied by a transition of the gaming state is stopped on the pay line LN as a result of displaying the reels 2L, 2C, 2R, the game state is shifted to a gaming state corresponding to the combination of the symbols. .

尚、本実施例では、スタートスイッチ7の操作が有効な状態でスタートスイッチ7の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための1単位の制御(ゲーム制御)は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。   In this embodiment, the game starts when the operation of the start switch 7 is detected in a state where the operation of the start switch 7 is valid, and ends when all the reels stop. One unit of control (game control) for executing the game is started when all controls accompanying the end of the previous game are completed, and when all controls accompanying the end of the game are completed. finish.

また、本実施例では、3つのリールを用いた構成を例示しているが、リールを1つのみ用いた構成、2つのリールを用いた構成、4つ以上のリールを用いた構成としても良く、2以上のリールを用いた構成においては、2以上の全てのリールに導出された表示結果の組合せに基づいて入賞を判定する構成とすれば良い。また、本実施例では、物理的なリールにて可変表示装置が構成されているが、液晶表示器などの画像表示装置にて可変表示装置が構成されていても良い。   Further, in the present embodiment, the configuration using three reels is illustrated, but a configuration using only one reel, a configuration using two reels, and a configuration using four or more reels may be used. In a configuration using two or more reels, the winning may be determined based on a combination of display results derived for all of the two or more reels. Further, in this embodiment, the variable display device is constituted by physical reels, but the variable display device may be constituted by an image display device such as a liquid crystal display.

また、本実施例におけるスロットマシン1にあっては、ゲームが開始されて各リール2L、2C、2Rが回転して図柄の変動が開始した後、いずれかのストップスイッチ8L、8C、8Rが操作されたときに、当該ストップスイッチ8L、8C、8Rに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ8L、8C、8Rの操作から対応するリール2L、2C、2Rの回転を停止するまでの最大停止遅延時間は190ms(ミリ秒)である。   Further, in the slot machine 1 according to the present embodiment, after the game is started and the reels 2L, 2C, 2R are rotated and the symbols start to change, one of the stop switches 8L, 8C, 8R is operated. Then, the rotation of the reel corresponding to the stop switch 8L, 8C, 8R is stopped, and the symbol is stopped and displayed. The maximum stop delay time from the operation of the stop switches 8L, 8C, 8R to the stop of the rotation of the corresponding reels 2L, 2C, 2R is 190 ms (millisecond).

リール2L、2C、2Rは、1分間に80回転し、80×21(1リール当たりの図柄コマ数)=1680コマ分の図柄を変動させるので、190msの間では最大で4コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ8L、8C、8Rが操作されたときに表示されている図柄と、そこから4コマ先までにある図柄、合計5コマ分の図柄である。   The reels 2L, 2C, and 2R rotate 80 times per minute, and change 80 × 21 (the number of symbols per reel) = 1,680 symbols, so that a maximum of four symbols are drawn during 190 ms. You can do it. That is, the symbols that can be selected as the stop symbols are the symbols displayed when the stop switches 8L, 8C, and 8R are operated, and the symbols four frames away from the symbols, for a total of five symbols.

このため、例えば、ストップスイッチ8L、8C、8Rのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合、当該図柄から4コマ先までの図柄を下段に表示させることができるため、リール2L、2C、2R各々において、ストップスイッチ8L、8Rのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの中段に表示されている図柄を含めて5コマ以内に配置されている図柄を入賞ライン上に表示させることができる。   Therefore, for example, when one of the stop switches 8L, 8C, and 8R is operated and the symbol displayed on the lower row of the reel corresponding to the stop switch is set as a reference, the symbol from the symbol to four frames ahead is displayed. Since the symbol can be displayed in the lower row, when one of the stop switches 8L, 8R is operated on each of the reels 2L, 2C, 2R, the symbol displayed in the middle row of the reel corresponding to the stop switch is operated. Can be displayed on the winning line, including symbols arranged within five frames.

以下では、特に区別する必要がない場合にはリール2L、2C、2Rを単にリールという場合がある。また、リール2Lを左リール、リール2Cを中リール、リール2Rを右リールという場合がある。また、ストップスイッチ8L、8C、8Rの操作によりリール2L、2C、2Rを停止させる操作を停止操作という場合がある。   Hereinafter, the reels 2L, 2C, and 2R may be simply referred to as reels unless it is particularly necessary to distinguish them. The reel 2L may be referred to as a left reel, the reel 2C may be referred to as a middle reel, and the reel 2R may be referred to as a right reel. An operation of stopping the reels 2L, 2C, 2R by operating the stop switches 8L, 8C, 8R may be referred to as a stop operation.

図4は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図4に示すように、遊技制御基板40、演出制御基板90、電源基板101が設けられており、遊技制御基板40によって遊技状態が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。   FIG. 4 is a block diagram showing a configuration of the slot machine 1. As shown in FIG. 4, the slot machine 1 is provided with a game control board 40, an effect control board 90, and a power supply board 101. The game state is controlled by the game control board 40, and the game state is controlled by the effect control board 90. Is produced, and a drive power supply for the electric components constituting the slot machine 1 is generated by the power supply board 101 and supplied to each unit.

電源基板101には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40及び演出制御基板90に供給されるようになっている。また、電源基板101には、前述したホッパーモータ34b、払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。   A power supply of AC 100 V is supplied to the power supply board 101 from the outside, and a DC voltage required for driving the electric components constituting the slot machine 1 is generated from the power supply of AC 100 V, and the game control board 40 and the production control board 90. It is supplied to. The hopper motor 34b, the payout sensor 34c, the full tank sensor 35a, the setting key switch 37, the reset / setting switch 38, and the power switch 39 are connected to the power supply board 101.

遊技制御基板40には、前述したMAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、打止スイッチ36a、自動精算スイッチ36b、投入メダルセンサ31、ドア開放検出スイッチ25、リールセンサ33L、33C、33Rが接続されているとともに、電源基板101を介して前述した払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。また、遊技制御基板40には、前述したクレジット表示器11、遊技補助表示器12、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20、BETスイッチ有効LED21、左、中、右停止有効LED22L、22C、22R、設定値表示器24、流路切替ソレノイド30、リールモータ32L、32C、32Rが接続されているとともに、電源基板101を介して前述したホッパーモータ34bが接続されており、これら電気部品は、遊技制御基板40に搭載された後述のメイン制御部41の制御に基づいて駆動されるようになっている。   On the game control board 40, the MAXBET switch 6, the start switch 7, the stop switches 8L, 8C, 8R, the settlement switch 10, the reset switch 23, the stop switch 36a, the automatic settlement switch 36b, the inserted medal sensor 31, and the door opening are provided. The detection switch 25, the reel sensors 33L, 33C, and 33R are connected, and the payout sensor 34c, the full tank sensor 35a, the setting key switch 37, and the reset / setting switch 38 are connected via the power supply board 101. The detection signals of these connected switches are input. In addition, the game control board 40 includes the above-described credit indicator 11, game assist indicators 12, 1 to 3 BET LEDs 14 to 16, insertion request LED 17, start valid LED 18, waiting LED 19, replay LED 20, BET switch valid LED 21, , Middle and right stop effective LEDs 22L, 22C, 22R, a set value display 24, a flow path switching solenoid 30, and reel motors 32L, 32C, 32R, and the hopper motor 34b described above via the power supply board 101. These electric components are connected and driven based on the control of a main control unit 41 described later mounted on the game control board 40.

遊技制御基板40には、遊技の進行に関する処理を行うととともに遊技制御基板40に搭載された制御回路の各部を直接的または間接的に制御するメイン制御部41と、所定周波数の発振信号となる制御用クロックCCLKを生成する制御用クロック生成回路42と、制御用クロックCCLKの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックRCLKを生成する乱数用クロック生成回路43と、遊技制御基板40に直接または電源基板101を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部41に伝送するスイッチ検出回路44と、メイン制御部41から出力されたモータ駆動信号(ステッピングモータの位相信号)をリールモータ32L、32C、32Rに伝送するモータ駆動回路45と、メイン制御部41から出力されたソレノイド駆動信号を流路切替ソレノイド30に伝送するソレノイド駆動回路46と、メイン制御部41から出力されたLED駆動信号を遊技制御基板40に接続された各種表示器やLEDに伝送するLED駆動回路47と、スロットマシン1に供給される電源の電圧を監視して電圧の低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する電断検出回路48と、電源投入時または電源遮断時等の電力供給が不安定な状態においてメイン制御部41にシステムリセット信号を与えるリセット回路49と、が搭載されている。   The game control board 40 performs a process relating to the progress of the game and also directly or indirectly controls each part of a control circuit mounted on the game control board 40, and an oscillation signal of a predetermined frequency. A control clock generation circuit for generating a control clock CCLK; a random number clock generation circuit 43 for generating a random number clock RCLK which is an oscillation signal having a predetermined frequency different from the oscillation frequency of the control clock CCLK; A switch detection circuit 44 that takes in a detection signal input from switches connected directly to or via a power supply board 101 and transmits the signal to a main control unit 41, and a motor drive signal (stepping) output from the main control unit 41. Motor drive circuit 45 for transmitting the motor phase signals) to the reel motors 32L, 32C, 32R. A solenoid drive circuit 46 for transmitting a solenoid drive signal output from the main control unit 41 to the flow path switching solenoid 30; and various displays connected to the game control board 40 using an LED drive signal output from the main control unit 41. When the voltage of the power supply supplied to the slot machine 1 is detected by monitoring the voltage of the power supply supplied to the slot machine 1, a voltage drop signal indicating the fact is output to the main control unit 41. And a reset circuit 49 that supplies a system reset signal to the main control unit 41 when the power supply is unstable such as when the power is turned on or when the power is turned off.

図5は、遊技制御基板40に搭載されたメイン制御部41の構成例を示している。メイン制御部41は、1チップマイクロコンピュータであり、外部バスインターフェイス501と、クロック回路502と、照合用ブロック503と、固有情報記憶回路504と、演算回路505と、リセット/割込コントローラ506と、CPU(Central Processing Unit)41aと、ROM(Read Only Memory)41bと、RAM(Random Access Memory)41cと、フリーランカウンタ回路507と、乱数回路508a、508bと、タイマ回路509と、割込コントローラ510と、パラレル入力ポート511と、シリアル通信回路512と、パラレル出力ポート513と、アドレスデコード回路514と、を備えて構成される。   FIG. 5 shows a configuration example of the main control unit 41 mounted on the game control board 40. The main control unit 41 is a one-chip microcomputer, and includes an external bus interface 501, a clock circuit 502, a verification block 503, a unique information storage circuit 504, an arithmetic circuit 505, a reset / interrupt controller 506, CPU (Central Processing Unit) 41a, ROM (Read Only Memory) 41b, RAM (Random Access Memory) 41c, free-run counter circuit 507, random number circuits 508a and 508b, timer circuit 509, interrupt controller 510 , A parallel input port 511, a serial communication circuit 512, a parallel output port 513, and an address decode circuit 514.

リセット/割込コントローラ506は、メイン制御部41の内部や外部にて発生する各種リセット、割込要求を制御するためのものである。リセット/割込コントローラ506は、指定エリア外走行禁止(IAT)回路506aとウォッチドッグタイマ(WDT)506bとを備える。IAT回路506aは、ユーザプログラムが指定エリア内で正しく実行されているか否かを監視する回路であり、指定エリア外でユーザプログラムが実行されたことを検出するとIAT発生信号を出力する機能を備える。また、ウォッチドッグタイマ506bは、設定期間ごとにタイムアウト信号を発生させる機能を備える。   The reset / interrupt controller 506 controls various reset and interrupt requests generated inside and outside the main control unit 41. The reset / interruption controller 506 includes an out-of-designation area prohibition (IAT) circuit 506a and a watchdog timer (WDT) 506b. The IAT circuit 506a is a circuit for monitoring whether or not the user program is correctly executed in the designated area, and has a function of outputting an IAT generation signal when detecting that the user program has been executed outside the designated area. In addition, the watchdog timer 506b has a function of generating a timeout signal every set period.

外部バスインターフェイス501は、メイン制御部41を構成するチップの外部バスと内部バスとのインターフェイス機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインターフェイスである。クロック回路502は、制御用クロックCCLKを2分周することなどにより、内部システムクロックSCLKを生成する回路である。照合用ブロック503は、外部の照合機と接続し、チップの照合を行う機能を備える。固有情報記憶回路504は、メイン制御部41の内部情報となる複数種類の固有情報を記憶する回路である。演算回路505は、乗算及び除算を行う回路である。   The external bus interface 501 is a bus interface having an interface function between an external bus and an internal bus of a chip constituting the main control unit 41, an address bus, a data bus, and a direction control function of each control signal. The clock circuit 502 is a circuit that generates the internal system clock SCLK by dividing the control clock CCLK by two or the like. The verification block 503 has a function of connecting to an external verification machine and verifying a chip. The unique information storage circuit 504 is a circuit that stores a plurality of types of unique information serving as internal information of the main control unit 41. The arithmetic circuit 505 is a circuit that performs multiplication and division.

CPU41aは、ROM41bから読み出した制御コードに基づいてユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を実行することにより、スロットマシン1における遊技制御を実行する制御用CPUである。こうした遊技制御が実行されるときには、CPU41aがROM41bから固定データを読み出す固定データ読出動作や、CPU41aがRAM41cに各種の変動データを書き込んで一時記憶させる変動データ書込動作、CPU41aがRAM41cに一時記憶されている各種の変動データを読み出す変動データ読出動作、CPU41aが外部バスインターフェイス501やパラレル入力ポート511、シリアル通信回路512などを介してメイン制御部41の外部から各種信号の入力を受け付ける受信動作、CPU41aが外部バスインターフェイス501やシリアル通信回路512、パラレル出力ポート513などを介してメイン制御部41の外部へと各種信号を出力する送信動作等も行われる。   The CPU 41a is a control CPU that executes a game control in the slot machine 1 by executing a user program (a game control processing program for game control) based on the control code read from the ROM 41b. When such game control is executed, a fixed data reading operation in which the CPU 41a reads fixed data from the ROM 41b, a variable data writing operation in which the CPU 41a writes various variable data in the RAM 41c and temporarily stores the same, and the CPU 41a is temporarily stored in the RAM 41c. A variable data reading operation for reading various kinds of variable data, a reception operation in which the CPU 41a receives an input of various signals from outside the main control unit 41 via the external bus interface 501, the parallel input port 511, the serial communication circuit 512, and the like; A transmission operation of outputting various signals to the outside of the main control unit 41 via the external bus interface 501, the serial communication circuit 512, the parallel output port 513, and the like is also performed.

ROM41bには、ユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を示す制御コードや固定データ等が記憶されている。RAM41cは、ゲーム制御用のワークエリア等を提供する。ここで、RAM41cの少なくとも一部は、バックアップ電源によってバックアップされているバックアップRAMであれば良い。すなわち、スロットマシン1への電力供給が停止しても、所定期間はRAM41cの少なくとも一部の内容が保存される。   The ROM 41b stores control codes indicating user programs (game control processing programs for game control), fixed data, and the like. The RAM 41c provides a work area for game control and the like. Here, at least a part of the RAM 41c may be a backup RAM backed up by a backup power supply. That is, even if the power supply to the slot machine 1 is stopped, at least a part of the contents of the RAM 41c is stored for a predetermined period.

フリーランカウンタ回路507として、8ビットのフリーランカウンタを搭載している。乱数回路508a、508bは、8ビット乱数や16ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。本実施例では、乱数回路508a、508bのうち16ビット乱数回路508bが生成するハードウェア乱数は、後述する内部抽選用の乱数として用いられる。タイマ回路509は、16ビットプログラマブルタイマであり、設定されたタイマ値を制御用クロックCCLKの入力に基づいてダウンカウントし、0000Hに達したときに割込コントローラへの割込要求信号を出力する。本実施例では、タイマ回路509を用いて定期的な割込要求や時間計測を行うことが可能である。   As the free-run counter circuit 507, an 8-bit free-run counter is mounted. The random number circuits 508a and 508b are circuits that generate numerical data such as an 8-bit random number and a 16-bit random number, which are random numbers having a predetermined update range. In this embodiment, the hardware random number generated by the 16-bit random number circuit 508b among the random number circuits 508a and 508b is used as a random number for an internal lottery described later. The timer circuit 509 is a 16-bit programmable timer, counts down the set timer value based on the input of the control clock CCLK, and outputs an interrupt request signal to the interrupt controller when the timer value reaches 0000H. In this embodiment, it is possible to perform a periodic interrupt request and time measurement using the timer circuit 509.

割込コントローラ510は、割込端子からの外部割込要求や、内蔵の周辺回路(例えば、シリアル通信回路512、乱数回路508a、508b、タイマ回路509)からの割込要求を制御する回路である。パラレル入力ポート511は、8ビット幅の入力専用ポートを内蔵する。また、図4に示すメイン制御部41が備えるパラレル出力ポート513は、11ビット幅の出力専用ポートを内蔵する。シリアル通信回路512は、外部に対する入出力において非同期シリアル通信を行う回路である。   The interrupt controller 510 is a circuit that controls an external interrupt request from an interrupt terminal and an internal peripheral circuit (for example, a serial communication circuit 512, random number circuits 508a and 508b, and a timer circuit 509). . The parallel input port 511 includes an input-only port having a width of 8 bits. The parallel output port 513 provided in the main control unit 41 shown in FIG. 4 includes an output-only port having an 11-bit width. The serial communication circuit 512 is a circuit that performs asynchronous serial communication in input / output to / from the outside.

アドレスデコード回路514は、メイン制御部41の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部41の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、CPU41aからのアクセスが可能となる。   The address decode circuit 514 is a circuit for decoding each functional block inside the main control unit 41 and decoding a chip select signal which is a decode signal for an external device. The chip select signal allows the internal circuit of the main control unit 41 or an external device serving as a peripheral device to selectively operate effectively, thereby enabling access from the CPU 41a.

メイン制御部41は、例えば、ROM41bの記憶領域のうちプログラム等が格納されていない領域へのアクセスがあったとき、RAM41cの記憶領域のうちアクセス禁止が設定された領域へのアクセスがあったとき、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させるようになっており、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。   For example, when the main control unit 41 accesses an area of the storage area of the ROM 41b in which a program or the like is not stored, or accesses an area of the storage area of the RAM 41c for which access prohibition is set. That is, by causing an illegal access reset when an access is made to a memory area that is not accessed in a normal operation, the progress of the game is disabled. Even if an unauthorized program is stored in an area unrelated to the above, an unused area of the RAM 41c, or the like, the execution of the unauthorized program can be prevented.

また、メイン制御部41は、内部または外部によるリセットが発生することで起動することとなるが、この際、ROM41bに割り当てられ、割込処理の先頭アドレスが設定されるベクタテーブルに設定された値が、未使用を示す値であるか、プログラム等が実際に格納された領域を示す値であるか、を判定し、いずれの値でもない場合には起動しないようになっており、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。   The main control unit 41 is activated by the occurrence of an internal or external reset. At this time, the main control unit 41 assigns a value set in a vector table assigned to the ROM 41b and set to the start address of the interrupt processing. Is a value indicating unused or a value indicating an area where a program or the like is actually stored. It is possible to prevent in advance that an unintended process is executed due to occurrence or the like.

メイン制御部41は、パラレル出力ポート513を介してサブ制御部91に各種のコマンドを送信する。メイン制御部41からサブ制御部91へ送信されるコマンドは一方向のみで送られ、サブ制御部91からメイン制御部41へ向けてコマンドが送られることはない。また、本実施例では、パラレル出力ポート513を介してサブ制御部91に対してコマンドが送信される構成、すなわちコマンドがパラレル信号にて送信される構成であるが、シリアル通信回路512を介してサブ制御部91に対してコマンドを送信する構成、すなわちコマンドをシリアル信号にて送信する構成としても良い。   The main control unit 41 transmits various commands to the sub control unit 91 via the parallel output port 513. The command transmitted from the main control unit 41 to the sub control unit 91 is transmitted in only one direction, and the command is not transmitted from the sub control unit 91 to the main control unit 41. In the present embodiment, the command is transmitted to the sub-control unit 91 via the parallel output port 513, that is, the command is transmitted as a parallel signal. A configuration for transmitting a command to the sub-control unit 91, that is, a configuration for transmitting the command as a serial signal may be employed.

また、メイン制御部41は、遊技制御基板40に接続された各種スイッチ類の検出状態がパラレル入力ポート511から入力される。そしてメイン制御部41は、これらパラレル入力ポート511から入力される各種スイッチ類の検出状態に応じて段階的に移行するメイン処理を実行する。また、メイン制御部41は、割込の発生によりメイン処理に割り込んで割込処理を実行できるようになっている。本実施例では、タイマ回路509にてタイムアウトが発生したこと、すなわち一定時間間隔(本実施例では、約0.56ms)毎にタイマ割込処理(メイン)を実行する。また、メイン制御部41は、割込処理の実行中に他の割込を自動的に禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、割込処理が終了した時点で割込禁止が自動的に解除され、その時点で新たな割込が発生することとなる。尚、割込処理の実行中に他の割込を自動的に禁止するように設定され、割込処理が終了した時点で割込禁止が自動的に解除されるのではなく、割込処理の開始時にプログラムによって他の割込を禁止し、割込処理の終了時にプログラムによって割込禁止を解除するようにしても良い。   In addition, the main control unit 41 receives detection states of various switches connected to the game control board 40 from the parallel input port 511. Then, the main control unit 41 executes a main process that shifts stepwise according to the detection state of various switches input from the parallel input port 511. In addition, the main control unit 41 can execute the interrupt process by interrupting the main process when an interrupt occurs. In the present embodiment, the timer interrupt processing (main) is executed when a timeout has occurred in the timer circuit 509, that is, at regular time intervals (about 0.56 ms in the present embodiment). In addition, the main control unit 41 is set to automatically prohibit other interrupts during execution of the interrupt processing, and when a plurality of interrupts occur simultaneously, a predetermined order is set. Has been set to execute priority. Note that if another interrupt factor occurs during execution of the interrupt processing and the interrupt factor continues even after the interrupt processing ends, the interrupt is terminated at the end of the interrupt processing. The prohibition is automatically released, at which point a new interrupt occurs. It should be noted that other interrupts are set to be automatically prohibited during execution of the interrupt processing, and the interrupt prohibition is not automatically released when the interrupt processing is completed. At the start, another interrupt may be prohibited by a program, and at the end of the interrupt processing, the prohibition of the interrupt may be released by the program.

メイン制御部41は、メイン処理として遊技制御基板40に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部41は、一定時間間隔(本実施例では、約0.56ms)毎にタイマ割込処理(メイン)を実行する。尚、タイマ割込処理(メイン)の実行間隔は、メイン処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理(メイン)の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理(メイン)との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。   The main control unit 41 repeatedly performs a process according to the control state as a main process until the detection state of various switches connected to the game control board 40 changes, and responds to the change in the detection state of various switches. Execute the process of shifting in stages. In addition, the main control unit 41 executes the timer interrupt processing (main) at regular time intervals (about 0.56 ms in the present embodiment). Note that the execution interval of the timer interrupt processing (main) is set to a time longer than the sum of the time during which the processing repeated in the main processing repeats according to the control state and the execution time of the timer interrupt processing (main). Thus, at least one cycle of the process repeated according to the control state between the current and next timer interrupt processes (main) is performed at least.

演出制御基板90には、演出用スイッチ56が接続されており、この演出用スイッチ56の検出信号が入力されるようになっている。また、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の演出装置が接続されており、これら演出装置は、演出制御基板90に搭載された後述のサブ制御部91による制御に基づいて駆動されるようになっている。尚、本実施例では、演出制御基板90に搭載されたサブ制御部91により、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の演出装置の出力制御が行われる構成であるが、サブ制御部91とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板90または他の基板に搭載し、サブ制御部91がメイン制御部41からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部91が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部91及び出力制御部の双方によって演出装置の出力制御が行われることとなる。また、本実施例では、演出装置として液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。   The effect switch 56 is connected to the effect control board 90, and a detection signal of the effect switch 56 is input. In addition, effect devices such as a liquid crystal display 51, effect LED 52, speakers 53 and 54, reel LED 55, and the like are connected, and these effect devices are controlled by a sub-control unit 91 described later mounted on an effect control board 90. It is driven based on this. In this embodiment, the sub-control unit 91 mounted on the effect control board 90 controls the output of the effect devices such as the liquid crystal display 51, the effect LED 52, the speakers 53 and 54, and the reel LED 55. However, an output control unit that directly performs output control of the effect device separately from the sub-control unit 91 is mounted on the effect control board 90 or another board, and the sub-control unit 91 is based on a command from the main control unit 41. The output pattern of the rendering device may be determined, and the output control unit may control the output of the rendering device based on the output pattern determined by the sub-control unit 91. In such a configuration, the sub-control unit 91 and the output control The output control of the rendering device is performed by both of the units. Further, in the present embodiment, the liquid crystal display 51, the effect LED 52, the speakers 53 and 54, and the reel LED 55 are illustrated as the effect devices, but the effect device is not limited to these, and for example, a display that is driven mechanically. A device or a mechanically driven role object may be applied as the rendering device.

演出制御基板90は、サブCPU91a、ROM91b、RAM91c、I/Oポート91dを備えたマイクロコンピュータにより構成されて演出の制御を行うサブ制御部91と、演出制御基板90に接続された液晶表示器51の表示制御を行う表示制御回路92と、演出効果LED52と、リールLED55の駆動制御を行うLED駆動回路93と、スピーカ53、54からの音声出力制御を行う音声出力回路94と、電源投入時またはサブCPU91aからの初期化命令が一定時間入力されないときにサブCPU91aにリセット信号を与えるリセット回路95と、演出制御基板90に接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路96と、日付情報及び時刻情報を含む時間情報を出力する時計装置97と、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブCPU91aに対して出力する電断検出回路98と、その他の回路等、が搭載されている。   The effect control board 90 is composed of a microcomputer having a sub CPU 91a, a ROM 91b, a RAM 91c, and an I / O port 91d, and controls an effect, and a liquid crystal display 51 connected to the effect control board 90. A display control circuit 92 for performing display control of the display, an effect effect LED 52, an LED drive circuit 93 for controlling the drive of the reel LED 55, an audio output circuit 94 for controlling the audio output from the speakers 53 and 54, A reset circuit 95 for providing a reset signal to the sub CPU 91a when an initialization command from the sub CPU 91a is not input for a predetermined time; a switch detection circuit 96 for detecting a detection signal input from switches connected to the effect control board 90; A clock device 97 that outputs time information including date information and time information; The power supply voltage supplied to the lot machine 1 is monitored, and when a voltage drop is detected, a power cutoff detection circuit 98 that outputs a voltage drop signal indicating the voltage drop to the sub CPU 91a, and other circuits are mounted. Have been.

サブCPU91aは、遊技制御基板40から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。   The sub CPU 91a receives commands transmitted from the game control board 40, performs various controls for performing the effect, and directly or indirectly controls each unit of the control circuit mounted on the effect control board 90. .

リセット回路95は、遊技制御基板40においてメイン制御部41にシステムリセット信号を与えるリセット回路49よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部91は、メイン制御部41よりも早い段階で起動するようになっている。一方で、電断検出回路98は、遊技制御基板40においてメイン制御部41に電圧低下信号を出力する電断検出回路48よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部91は、メイン制御部41よりも遅い段階で停電を検知し、後述する電断処理(サブ)を行うこととなる。   In the reset circuit 95, the voltage at which the reset signal is released is set lower than that of the reset circuit 49 that supplies a system reset signal to the main control unit 41 in the game control board 40. It is designed to be started earlier than the section 41. On the other hand, in the power interruption detection circuit 98, the voltage at which the voltage drop signal is output is set to be lower than that of the power interruption detection circuit 48 which outputs the voltage drop signal to the main control unit 41 in the game control board 40. In, the sub-control unit 91 detects a power failure at a later stage than the main control unit 41, and performs a power interruption process (sub) described later.

サブ制御部91は、メイン制御部41と同様に、割込機能を備えており、メイン制御部41からのコマンド受信時に割込を発生させて、メイン制御部41から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部91は、システムクロックの入力数が一定数に到達する毎、すなわち一定時間間隔(約2ms)毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。また、サブ制御部91は、メイン制御部41とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理(サブ)の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理(サブ)の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM91cに記憶されているデータが保持されるようになっている。   The sub-control unit 91 has an interrupt function similarly to the main control unit 41, generates an interrupt when receiving a command from the main control unit 41, and acquires the command transmitted from the main control unit 41. , Execute the command reception interrupt processing stored in the buffer. Further, the sub-control unit 91 generates an interrupt every time the number of input system clocks reaches a certain number, that is, at certain time intervals (about 2 ms), and executes a timer interrupt process (sub) described later. Further, unlike the main control unit 41, when an interrupt occurs based on the reception of a command, the sub-control unit 91 interrupts the timer interrupt process (sub) even during execution of the process. , A command reception interrupt process is executed, and even if interrupts that trigger the timer interrupt process (sub) occur simultaneously, the command reception interrupt process is executed with the highest priority. The backup power is also supplied to the sub-control unit 91 at the time of a power failure, and the data stored in the RAM 91c is retained while the backup power is supplied.

本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選、ナビストック抽選、上乗せ抽選等の遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1〜6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。   In the slot machine 1 of the present embodiment, the payout rate of medals changes according to the set value. More specifically, the medal payout rate is changed by using a winning probability according to a set value in a lottery that affects the degree of advantage to a player, such as an internal lottery, a navigation stock lottery, and an additional lottery described later. The set value is made up of six levels from 1 to 6, with 6 being the highest payout rate and the payout rate decreasing as the value decreases in the order of 5, 4, 3, 2, 1. That is, when 6 is set as the set value, the advantage is the highest for the player, and as the value decreases in the order of 5, 4, 3, 2, and 1, the advantage gradually decreases.

設定値を変更するためには、設定キースイッチ37をon状態としてからスロットマシン1の電源をonする必要がある。設定キースイッチ37をon状態として電源をonすると、設定値表示器24にRAM41cから読み出された設定値が表示値として表示され、リセット/設定スイッチ38の操作による設定値の変更が可能な設定変更状態に移行する。設定変更状態において、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された表示値が1ずつ更新されていく(設定値6からさらに操作されたときは、設定値1に戻る)。そして、スタートスイッチ7が操作されると表示値を設定値として確定する。そして、設定キースイッチ37がoffされると、確定した表示値(設定値)がメイン制御部41のRAM41cに格納され、遊技の進行が可能な状態に移行する。   In order to change the setting value, it is necessary to turn on the power of the slot machine 1 after turning on the setting key switch 37. When the setting key switch 37 is turned on and the power is turned on, the setting value read from the RAM 41c is displayed on the setting value display 24 as a display value, and the setting value can be changed by operating the reset / setting switch 38. Move to change state. When the reset / setting switch 38 is operated in the setting change state, the display value displayed on the set value display 24 is updated by one (when further operated from the set value 6, the set value is changed to 1). Return). Then, when the start switch 7 is operated, the display value is determined as the set value. Then, when the setting key switch 37 is turned off, the determined display value (set value) is stored in the RAM 41c of the main control unit 41, and the state shifts to a state where the game can proceed.

尚、設定キースイッチ37がon状態で電源投入された場合に、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定変更状態に移行する構成としても良く、このような構成とすることで、前面扉1bが開放されていない状態で不正に設定変更がされてしまうことを防止できる。また、前面扉1bの開放に対応する検出がされていることを条件に、設定変更状態に移行する構成においては、設定変更状態に移行後、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされなくなっても、設定変更状態を維持することが好ましく、これにより、設定変更中に前面扉1bが一時的に閉じてしまっても、再度、設定変更状態に移行させるための操作を必要とせず、設定変更操作が煩雑となってしまうことがない。また、設定変更状態に移行後、スタートスイッチ7が操作されて設定値が確定した後、設定キースイッチ37がoffとなったときに、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定変更状態を終了して遊技の進行が可能な状態に移行する構成としても良く、このような構成においても、前面扉1bが開放されていない状態で不正に設定変更がされてしまうことを防止できる。   When the power is turned on while the setting key switch 37 is turned on, the configuration may be changed to the setting change state on condition that the door opening detection switch 25 detects that the front door 1b is opened. By adopting such a configuration, it is possible to prevent the setting from being illegally changed while the front door 1b is not opened. Further, in a configuration in which the state is changed to the setting change state on condition that the detection corresponding to the opening of the front door 1b is performed, the door opening detection switch 25 is used to respond to the opening of the front door 1b after shifting to the setting change state. It is preferable that the setting change state is maintained even if the detection of the change is not performed. Therefore, even if the front door 1b is temporarily closed during the setting change, the operation for shifting to the setting change state again is performed. It is not necessary, and the setting change operation does not become complicated. Further, when the setting key switch 37 is turned off after the start switch 7 is operated and the set value is determined after shifting to the setting change state, the door opening detection switch 25 detects the opening corresponding to the opening of the front door 1b. It is also possible to adopt a configuration in which the setting change state is ended and the game can proceed to a possible state, provided that the front door 1b is not opened even in such a configuration. It is possible to prevent the setting from being changed.

また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37をon状態とすれば良い。このような状況で設定キースイッチ37をon状態とすると、設定値表示器24にRAM41cから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ37をoff状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。   In order to confirm the set value, after the game is over, the setting key switch 37 may be turned on in a state where the bet amount is not set. When the setting key switch 37 is turned on in such a situation, the setting value read out from the RAM 41c is displayed on the setting value display 24, thereby shifting to a setting check state in which the setting value can be checked. In the setting confirmation state, the progress of the game is not possible, and by setting the setting key switch 37 to the off state, the setting confirmation state ends, and the game returns to a state in which the game can proceed.

尚、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37がon状態となったときに、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定確認状態に移行する構成としても良く、このような構成とすることで、前面扉1bが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。また、前面扉1bの開放に対応する検出がされていることを条件に、設定確認状態に移行する構成においては、設定確認状態に移行後、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされなくなっても、設定確認状態を維持することが好ましく、これにより、設定確認中に前面扉1bが一時的に閉じてしまっても、再度、設定確認状態に移行させるための操作を必要とせず、設定確認操作が煩雑となってしまうことがない。また、設定確認状態に移行後、スタートスイッチ7が操作されて設定値が確定した後、設定キースイッチ37がoffとなったときに、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定確認状態を終了して遊技の進行が可能な状態に復帰する構成としても良く、このような構成においても、前面扉1bが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。   After the game, when the setting key switch 37 is turned on in a state where the bet amount is not set, the door opening detection switch 25 must detect that the front door 1b has been opened. Alternatively, the configuration may be changed to a setting confirmation state. With such a configuration, it is possible to prevent a setting value from being illegally confirmed in a state where the front door 1b is not opened. Further, in a configuration in which the state is shifted to the setting confirmation state on condition that the detection corresponding to the opening of the front door 1b is performed, the door opening detection switch 25 responds to the opening of the front door 1b after shifting to the setting confirmation state. It is preferable that the setting confirmation state be maintained even if the detection of the setting is not detected. Therefore, even if the front door 1b is temporarily closed during the setting confirmation, the operation for shifting to the setting confirmation state again is performed. It is not necessary, and the setting confirmation operation does not become complicated. When the setting key switch 37 is turned off after the start switch 7 is operated and the set value is determined after shifting to the setting confirmation state, the door opening detection switch 25 detects the opening corresponding to the opening of the front door 1b. It is also possible to have a configuration in which the setting confirmation state is terminated and the game can be advanced to a state in which the game can be advanced, provided that the front door 1b is not opened even in such a configuration. It is possible to prevent the setting value from being confirmed.

本実施例のスロットマシン1においては、メイン制御部41は、タイマ割込処理(メイン)を実行する毎に、電断検出回路48からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、次回復帰時にRAM41cのデータが正常か否かを判定するためのデータを設定する電断処理(メイン)を実行する。   In the slot machine 1 of the present embodiment, the main control unit 41 determines whether or not the voltage drop signal from the power interruption detection circuit 48 is detected every time the timer interrupt processing (main) is executed. When the determination process is performed and it is determined that the voltage drop signal is detected in the power failure determination process, the power interruption process (main) for setting data for determining whether the data in the RAM 41c is normal at the next recovery is performed. Execute.

そして、メイン制御部41は、その起動時においてRAM41cのデータが正常であることを条件に、RAM41cに記憶されているデータに基づいてメイン制御部41の処理状態を電断前の状態に復帰させるが、RAM41cデータが正常でない場合には、RAM異常と判定し、RAM異常エラーコードをレジスタにセットしてRAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。   Then, the main control unit 41 returns the processing state of the main control unit 41 to the state before the power failure based on the data stored in the RAM 41c on condition that the data in the RAM 41c is normal at the time of activation. However, when the data of the RAM 41c is not normal, it is determined that the RAM is abnormal, the RAM abnormal error code is set in the register, the state is controlled to the RAM abnormal error state, and the progress of the game is disabled.

エラー状態は、リセット操作(リセット/設定スイッチ38またはリセットスイッチ23の操作)により解除される通常エラー状態と、前述した設定変更状態に移行し、新たな設定値が設定されるまで解除されることがない特殊エラー状態と、を含み、RAM異常エラー状態は、特殊エラー状態であり、一度RAM異常エラー状態に制御されると、設定変更状態に移行し、新たな設定値が設定されるまで解除されることがない。   The error state is a normal error state that is released by a reset operation (operation of the reset / setting switch 38 or the reset switch 23), and the state is changed to the above-described setting change state and is released until a new set value is set. There is no special error state, and the RAM abnormal error state is a special error state. Once controlled to the RAM abnormal error state, the state shifts to the setting change state and is released until a new set value is set Never be.

また、サブ制御部91もタイマ割込処理(サブ)において電断検出回路98からの電圧低下信号が検出されているか否かを判定し、電圧低下信号が検出されていると判定した場合に、次回復帰時にRAM91cのデータが正常か否かを判定するためのデータを設定する電断処理(サブ)を実行する。   The sub-control unit 91 also determines whether or not the voltage drop signal from the power interruption detection circuit 98 has been detected in the timer interrupt processing (sub), and when it is determined that the voltage drop signal has been detected, At the next recovery, a power interruption process (sub) for setting data for determining whether the data in the RAM 91c is normal is executed.

そして、サブ制御部91は、その起動時においてRAM91cのデータが正常であることを条件に、RAM91cに記憶されているデータに基づいてサブ制御部91の処理状態を電断前の状態に復帰させるが、RAM91cのデータが正常でない場合には、RAM異常と判定し、RAM91cを初期化するようになっている。この場合、メイン制御部41と異なり、RAM91cが初期化されるのみで演出の実行が不能化されることはない。   Then, the sub-control unit 91 returns the processing state of the sub-control unit 91 to the state before the power interruption based on the data stored in the RAM 91c, on condition that the data in the RAM 91c is normal at the time of activation. However, if the data in the RAM 91c is not normal, it is determined that the RAM is abnormal, and the RAM 91c is initialized. In this case, unlike the main control unit 41, the execution of the effect is not disabled only by initializing the RAM 91c.

また、サブ制御部91は、その起動時においてRAM91cのデータが正常であると判断された場合でも、メイン制御部41から設定変更状態に移行した旨を示す後述の設定コマンドを受信した場合、起動後一定時間が経過してもメイン制御部41の制御状態が復帰した旨を示す後述の復帰コマンドも設定コマンドも受信しない場合にも、RAM91cを初期化するようになっている。この場合も、RAM91cが初期化されるのみで演出の実行が不能化されることはない。   Further, even when it is determined that the data in the RAM 91c is normal at the time of the startup, the sub-control unit 91 receives the setting command described later indicating that the state has shifted to the setting change state from the main control unit 41. The RAM 91c is also initialized when neither the later-described return command nor the setting command indicating that the control state of the main control unit 41 has returned after a certain period of time has elapsed. Also in this case, the execution of the effect is not disabled only by initializing the RAM 91c.

次に、メイン制御部41のRAM41cの初期化について説明する。メイン制御部41のRAM41cの格納領域のうちの使用可能領域は、遊技RAM領域、未使用領域4、非遊技RAM領域に区分されている。さらに遊技RAM領域は、特別ワーク、重要ワーク、一般ワーク、未使用領域3、遊技スタック領域に区分されている。特別ワークは、設定値が変更されても初期化されないデータが格納されるワークであり、ソフトウェア乱数、設定値、遊技状態を示すデータ等が格納される。重要ワークは、特定の遊技状態(RB、BB)の終了時に初期化すると不都合のあるデータが格納されるワークであり、LEDの表示用データ、入力ポート、出力ポートの入出力データ、遊技時間の計時カウンタ等が格納される。一般ワークは、特定の遊技状態の終了時に初期化可能なデータが格納されるワークであり、停止図柄、メダルの払出枚数等が格納される。未使用領域3は、いずれのプログラムでも使用されないワークである。遊技スタック領域は、後述する遊技プログラムの実行中にメイン制御部41のレジスタから退避したデータが格納される領域である。   Next, initialization of the RAM 41c of the main control unit 41 will be described. The usable area of the storage area of the RAM 41c of the main control unit 41 is divided into a game RAM area, an unused area 4, and a non-game RAM area. The game RAM area is further divided into a special work, an important work, a general work, an unused area 3, and a game stack area. The special work is a work in which data that is not initialized even when the set value is changed is stored, and stores software random numbers, set values, data indicating a game state, and the like. The important work is a work in which data which is inconvenient when initialized at the end of a specific game state (RB, BB) is stored, and data for LED display, input / output data of an input port, an output port, and a game time. A clock counter and the like are stored. The general work is a work in which data that can be initialized at the end of a specific gaming state is stored, and stores a stopped symbol, the number of paid out medals, and the like. The unused area 3 is a work that is not used in any program. The game stack area is an area in which data saved from a register of the main control unit 41 during execution of a game program described later is stored.

本実施例においてメイン制御部41は、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されているとき、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されていないとき、設定変更状態が終了されたとき、特定の遊技状態(RB、BB)の終了時、1ゲームの終了時、の5つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる5種類の初期化を行う。   In the present embodiment, the main control unit 41 determines that the data in the RAM 41c is destroyed when the setting key switch 37 is turned on and the data in the RAM 41c is destroyed when the setting key switch 37 is turned on. When the five initialization conditions, namely, when the game is not destroyed, when the setting change state is ended, when a specific game state (RB, BB) is ended, and when one game is ended, each initial state is satisfied. Five types of initialization with different areas to be initialized are performed according to the initialization conditions.

初期化0は、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されているときに行う初期化であり、初期化0では、使用可能領域全ての領域が初期化される。初期化1は、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されていないときに行う初期化であり、初期化1では、遊技RAM領域の特別ワーク以外の領域、非遊技RAM領域の全ての領域が初期化される。初期化2は、設定キースイッチ37がONの状態での起動で設定変更状態が終了された後に行う初期化であり、初期化2では、遊技RAM領域のうち特別ワーク及び遊技スタック領域(使用中)以外の領域が初期化される。初期化3は、特定の遊技状態の終了時に行う初期化であり、初期化3では、遊技RAM領域のうち一般ワーク、未使用領域3及び遊技スタック領域(未使用)が初期化される。初期化4は、1ゲーム終了時に行う初期化であり、初期化4では、遊技RAM領域の未使用領域3及び遊技スタック領域(未使用)が初期化される。尚、設定値や遊技状態を示すデータの格納領域は、特別ワークに割り当てられており、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されていないとき、すなわちRAM41cのデータが正常で設定変更される場合には、設定値や遊技状態を示すデータが保持されることとなる。また、後述のタイマカウンタの格納領域は、重要ワークに割り当てられており、ゲームの終了時や特定の遊技状態の終了時には初期化されることなく保持されることとなる。   Initialization 0 is initialization performed when the setting key switch 37 is turned on and data in the RAM 41c is destroyed, and in initialization 0, all available areas are initialized. . Initialization 1 is initialization performed when the setting key switch 37 is turned on and the data in the RAM 41c is not destroyed at the time of startup. In initialization 1, the area other than the special work in the game RAM area is All areas of the game RAM area are initialized. The initialization 2 is an initialization performed after the setting change state is ended by the startup with the setting key switch 37 being ON. In the initialization 2, the special work and the game stack area (in use) in the game RAM area are used. Areas other than () are initialized. The initialization 3 is an initialization performed at the end of a specific game state. In the initialization 3, a general work, an unused area 3, and a game stack area (unused) in the game RAM area are initialized. The initialization 4 is an initialization performed at the end of one game. In the initialization 4, the unused area 3 of the game RAM area and the game stack area (unused) are initialized. The storage area of the set value and the data indicating the game state is allocated to the special work, and when the data in the RAM 41c is not destroyed at the time of starting with the setting key switch 37 being ON, that is, the data in the RAM 41c is not destroyed. If the setting is changed normally, the data indicating the set value and the game state will be held. The storage area of the timer counter, which will be described later, is allocated to important work, and is retained without being initialized at the end of the game or at the end of a specific game state.

また、本実施例のメイン制御部41は、上述の初期化実行する際には、初期化対象のRAMアドレスとして開始アドレスと終了アドレスが指定されることで、指定された開始アドレスから1バイト分のデータを0で上書きした後、当該1バイトのデータの論理和を計算し、計算結果が0であれば、次のアドレスに移動する処理を、指定された終了アドレスに達するまで繰り返し行うことで、指定されたアドレスの範囲のRAM領域を初期化する。   Further, when performing the above-described initialization, the main control unit 41 of the present embodiment specifies the start address and the end address as the RAM addresses to be initialized, so that one byte from the specified start address is obtained. After overwriting the data of 0 with 0, the logical sum of the 1-byte data is calculated, and if the calculation result is 0, the process of moving to the next address is repeated until the designated end address is reached. Then, the RAM area in the range of the designated address is initialized.

本実施例におけるメイン制御部41は、リセットの発生により起動すると、起動時設定を行う。起動時設定では、メイン制御部41が備えるステータスフラグを初期化する。ステータスフラグは、命令の演算結果や実行結果の状態を保持するデータであり、特に割込の禁止/許可を設定する割込マスタ許可フラグを含む。割込マスタ許可フラグの初期値は割込の禁止を示す値であるため、メイン制御部41は、割込が禁止された状態で起動することとなる。その後、後述のHWパラメータを参照して各種機能を設定した後、プログラム/データ領域に格納されたプログラムに従って、リセットが発生したときに、割込禁止の状態で起動するとともに、その後、最初に実行する初期設定処理を開始する。   When the main control unit 41 according to the present embodiment is activated by the occurrence of a reset, the main control unit 41 performs a startup setting. In the setting at the time of starting, the status flag provided in the main control unit 41 is initialized. The status flag is data that holds the state of the operation result or execution result of the instruction, and particularly includes an interrupt master permission flag for setting the inhibition / permission of the interrupt. Since the initial value of the interrupt master permission flag is a value indicating that the interrupt is prohibited, the main control unit 41 starts up in a state where the interrupt is prohibited. After that, after setting various functions with reference to HW parameters to be described later, according to the program stored in the program / data area, when a reset occurs, the apparatus is started in an interrupt prohibited state, and then executed first. Start the initial setting process.

メイン制御部41は、初期設定処理において、まず、割込を禁止に設定した後、起動時に設定キースイッチ37がONの状態であるか否かを判定し、起動時に設定キースイッチ37がONの状態であると判定された場合に、設定変更処理に移行し、設定変更処理の開始時にRAM41cの初期化を行う。この際、RAM41cのデータが正常であれば、特別ワークを保持してそれ以外の領域を初期化することで、設定変更後も変更前の制御状態(設定値や遊技状態等)の一部を保持することができる一方で、RAM41cのデータが正常でない場合には、特別ワークを含む使用可能領域の全ての領域を初期化することで、RAM41cのデータに異常を確実に解消することができるようになっている。   In the initial setting process, the main control unit 41 first sets the interrupt to be prohibited, determines whether the setting key switch 37 is ON at the time of startup, and determines whether the setting key switch 37 is ON at the time of startup. If it is determined that the state is the state, the process proceeds to the setting change process, and the RAM 41c is initialized at the start of the setting change process. At this time, if the data in the RAM 41c is normal, the special work is retained and other areas are initialized, so that even after the setting is changed, a part of the control state (setting value, game state, etc.) before the change is changed. On the other hand, if the data in the RAM 41c is not normal while the data can be held, the abnormalities in the data in the RAM 41c can be surely resolved by initializing all the usable areas including the special work. It has become.

RAM41cを初期化した後、割込を許可に設定し、リセット/設定スイッチ38が操作れる毎に設定値を1〜6の範囲で1ずつ更新し、スタートスイッチ7のONが検出された後、設定キースイッチ37のONが検出されたときの設定値をRAM41cに格納して、設定変更処理を終了させる。   After the RAM 41c is initialized, the interrupt is set to be enabled, and the set value is updated one by one every time the reset / setting switch 38 is operated, and after the ON of the start switch 7 is detected, The setting value when the setting key switch 37 is turned on is stored in the RAM 41c, and the setting change process is terminated.

このように、メイン制御部41は、割込マスタ許可フラグの初期値が割込の禁止を示す値であり、割込が禁止された状態で起動し、起動後の初期設定処理においても、まず、割込を禁止に設定したうえで、その後の初期設定処理を実行するようになっているので、意図しない割込が発生することを防止できる。   As described above, the main control unit 41 starts up with the interrupt master permission flag set to the initial value indicating that the interrupt is prohibited, and starts in the state in which the interrupt is prohibited. After the interrupt is set to be prohibited, the subsequent initial setting process is executed, so that it is possible to prevent the occurrence of an unintended interrupt.

また、メイン制御部41は、設定変更処理の終了後、遊技単位毎にゲームの進行に応じて段階的に処理を行うメイン処理を実行する。また、メイン処理では、遊技単位毎にRAM41cの初期化を行うとともに、設定変更処理の終了時にもRAM41cの初期化を行う。そして、設定変更処理の終了後、メイン処理においてRAM41cの初期化を行う処理の前の段階からメイン処理を開始するようになっており、設定変更処理の終了後のRAM41cの初期化と、遊技単位毎のRAM41cの初期化と、を共通の処理にて行うことが可能となる。   Further, after the end of the setting change process, the main control unit 41 executes a main process of performing a process stepwise according to the progress of the game for each game unit. In the main process, the RAM 41c is initialized for each game unit, and the RAM 41c is also initialized at the end of the setting change process. Then, after the setting change processing is completed, the main processing is started from the stage before the processing of initializing the RAM 41c in the main processing, and the initialization of the RAM 41c after the completion of the setting change processing and the game unit The initialization of each RAM 41c can be performed by a common process.

本実施例のスロットマシン1は、遊技状態(RT0〜RT4、RB)に応じて設定可能な賭数の規定数(本実施例では、RT0〜4においては3、RBにおいては2)が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインLNが有効化される。   In the slot machine 1 of the present embodiment, a prescribed number of bets (3 in the case of RT0 to 4 and 2 in the case of RB) that can be set according to the gaming state (RT0 to RT4, RB) is determined. Therefore, the game can be started on the condition that a predetermined number of bets determined according to the game state is set. In the present embodiment, the pay line LN is activated when a prescribed number of bets is set according to the gaming state.

そして、本実施例では、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインという)上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。   In this embodiment, when all the reels 2L, 2C, 2R are stopped, the activated pay line (in this embodiment, all the pay lines are always activated. A winning combination is achieved when a combination of symbols called combinations is arranged on the winning line that has been formed (hereinafter, simply referred to as a winning line). The combination may be a combination of the same symbols or a combination including different symbols.

入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがRAM41cに設定されている必要がある。尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。   The types of winning combinations are determined according to the state of the game, but can be broadly divided into small winning combinations with medal payout and re-starting so that the next game can be started without setting the number of bets. There are a gaming role and a special role accompanied by a transition to a gaming state advantageous to the player. Hereinafter, the small role and the replaying role are also collectively referred to as a general role. In order for the winning of each combination determined according to the gaming state to occur, it is necessary to win the internal lottery described later and set the winning flag of the combination in the RAM 41c. Note that among the winning flags of these roles, the winning flags of the small role and the replaying role are valid only in the game in which the flag is set, and are invalid in the next game. The combination is enabled until the combination of the permitted combinations is completed by the flag, and is invalid in the game in which the combination of the permitted combinations is completed. That is, once the special combination winning flag is won, even if the combination of combinations permitted by the flag cannot be aligned, the winning flag is not invalidated and is carried over to the next game. Becomes

以下、本実施例の内部抽選について説明する。内部抽選は、メイン制御部41が、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出される以前(具体的には、スタートスイッチ7の検出時)に決定するものである。内部抽選では、まず、スタートスイッチ7の検出時に内部抽選用の乱数値(0〜65535の整数)を取得する。詳しくは、乱数回路508bにより生成され、乱数回路508bの乱数値レジスタに格納されている値をRAM41cに割り当てられた抽選用ワークに設定する。そして、遊技状態(RT0〜4、RB)に応じて定められた各役について、抽選用ワークに格納された数値データと、現在の遊技状態、賭数及び設定値に応じて定められた各役の判定値数に応じて入賞を許容するか否かの判定が行われる。   Hereinafter, the internal lottery of the present embodiment will be described. In the internal lottery, the main control unit 41 determines whether or not to permit winning of each of the above-mentioned roles before the display results of all the reels 2L, 2C, and 2R are derived (specifically, the start switch 7). At the time of detection). In the internal lottery, first, when the start switch 7 is detected, a random number for the internal lottery (an integer from 0 to 65535) is obtained. Specifically, the value generated by the random number circuit 508b and stored in the random number value register of the random number circuit 508b is set in the lottery work assigned to the RAM 41c. Then, for each combination determined according to the gaming state (RT0-4, RB), numerical data stored in the lottery work, and each combination determined according to the current gaming state, the number of bets, and the set value. It is determined whether or not a winning is permitted according to the number of determination values of.

内部抽選では、内部抽選の対象となる役、現在の遊技状態及び設定値に対応して定められた判定値数を、内部抽選用の乱数値(抽選用ワークに格納された数値データ)に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率(判定値数/65536)で役が当選することとなる。   In the internal lottery, the number of determination values determined according to the role to be subjected to the internal lottery, the current game state and the set value are sequentially changed to the random number value for the internal lottery (numerical data stored in the lottery work). If the result of the addition overflows, it is determined that the winning combination has been won. For this reason, the winning combination is determined based on the probability (the number of judgment values / 65536) according to the magnitude of the number of judgment values.

そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをRAM41cに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、2バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、一般役格納ワークのみクリアする。   When the winning of any of the winning combinations is determined, the winning flag corresponding to the winning-determined winning combination is set in the internal winning flag storing work allocated to the RAM 41c. The internal winning flag storage work is composed of a 2-byte storage area, of which the upper byte is assigned as a special role storing work in which the special role winning flag is set, and the lower byte is a general role winning work. Assigned as a general role storage work for which the flag is set. Specifically, when the special combination is won, the special combination winning flag indicating that the special combination has been won is set in the special combination storing work, and the winning flag set in the general combination storing work is cleared. When the general role is won, a general role winning flag indicating that the general role has been won is set in the general role storing work. If any of the combinations and combinations of combinations are not won, only the general combination storage work is cleared.

次に、リール2L、2C、2Rの停止制御について説明する。メイン制御部41は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、ROM41bに格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ8L、8C、8Rに対応するリール2L、2C、2Rの回転を停止させる制御を行う。   Next, stop control of the reels 2L, 2C, 2R will be described. The main control unit 41 refers to the table index and the table creation data stored in the ROM 41b when the rotation of the reels has started and when the reels have stopped and the reels that are still rotating still remain. Then, a stop control table is created for each rotating reel. When any one of the stop switches 8L, 8C, 8R corresponding to the reel being rotated is effectively detected, the stop control table of the corresponding reel is referred to, and the slip of the referred stop control table is performed. Based on the frame number, control is performed to stop the rotation of the reels 2L, 2C, 2R corresponding to the operated stop switches 8L, 8C, 8R.

本実施例では、滑りコマ数として0〜4の値が定められており、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大5コマの範囲から図柄の停止位置を指定できるようになっている。また、1図柄分リールを移動させるのに1コマの移動が必要であるので、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大5図柄の範囲から図柄の停止位置を指定できることとなる。   In this embodiment, a value of 0 to 4 is determined as the number of sliding frames, and it is possible to stop the reel by drawing up to four symbols after detecting the stop operation. In other words, the stop position of the symbol can be specified from a range of up to five frames including the stop operation position where the stop operation is detected. Further, since it is necessary to move one frame to move the reel for one symbol, it is possible to draw up to four symbols and stop the reel after detecting the stop operation. The stop position of the symbol can be designated from a maximum of five symbols including the operation position.

本実施例では、いずれかの役に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大4コマの引込範囲で揃えずに停止させる制御が行われることとなる。特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大4コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大4コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、4コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになる。また、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。   In the present embodiment, if any one of the winning combinations is won, when the stop operation is performed, the winning combinations within the pull-in range of a maximum of four frames can be aligned and stopped on the pay line. If possible, a control is performed to stop the rolls in a uniform manner, and for the winning combination, a control is performed to stop the rolls without aligning them in the pull-in range of a maximum of four frames. When the special role and the small role are elected at the same time, such as when the small role is elected while the special role has been carried over from before the previous game, when the stop operation is performed, the maximum If it is possible to stop all the winning combinations in the 4-frame pull-in range, control is performed to align and stop the winning small roles. If it is not possible to draw in, if it is possible to stop all the special roles that have been won in the pay-in range of a maximum of four frames on the winning line, control will be performed to align and stop them. That is, control is performed to stop the four frames without being aligned in the pull-in range. That is, in such a case, the control for aligning the small role on the pay line is given priority over the special role, and the special role can be won only when the small role cannot be drawn. When the special role and the small role can be drawn in at the same time, only the small role is drawn in, and the small role and the special role are not aligned on the winning line at the same time. In addition, when the special role and the small role are elected at the same time, the control to arrange the special role on the winning line has priority over the small role, and only when the special role cannot be drawn, the small role is placed on the winning line. Alignment control may be performed.

また、本実施例では、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で再遊技役の図柄を揃えて停止させる制御を行う。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール2L、2C、2Rのいずれについても5図柄以内、すなわち4コマ以内の間隔で配置されており、4コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになる。   Further, in the present embodiment, when the special role and the replaying role are simultaneously won, for example, when the replaying role is won while the special role has been carried over from before the previous game, a stop operation is performed. At this time, a control is performed in which the symbols of the replaying game are aligned and stopped within a pull-in range of a maximum of four frames on the winning line. In this case, the symbols constituting the replaying game or the symbols forming the replaying game simultaneously won are arranged within 5 symbols, that is, at intervals of 4 frames or less on any of the reels 2L, 2C and 2R. Since the stop can be stopped at an arbitrary position within the pull-in range of 4 frames, if the special role and the replaying role are simultaneously won, regardless of the operation timing of the stop switches 8L, 8C, 8R by the player. Instead, the re-game players will always win. In other words, in such a case, the control for aligning the re-gaming combination on the winning line is given priority over the special combination, and the re-gaming combination always wins. When the special role and the replaying role can be drawn in at the same time, only the replaying role is drawn in and the special role does not coincide with the replaying role on the winning line.

尚、本実施例では、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルを用いてリールの停止制御を行う構成であるが、停止可能な位置を特定可能な停止位置テーブルから停止位置を特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルや停止位置テーブルを用いずに、停止操作がされたタイミングで停止可能な停止位置を検索・特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルを用いた停止制御、停止位置テーブルを用いた停止制御、停止制御テーブルや停止位置テーブルを用いずに停止可能な停止位置を検索・特定することによる停止制御を併用する構成、停止制御テーブルや停止位置テーブルを一部変更して停止制御を行う構成としても良い。   In this embodiment, the reel stop control is performed by using the stop control table that can specify the number of sliding frames for each timing at which the stop operation is performed. A configuration in which the stop position is specified from the table and stop control for stopping the reel at the specified stop position is performed.The stop position that can be stopped at the timing of the stop operation is searched without using the stop control table or the stop position table. Specified and configured to perform stop control to stop the reel at the specified stop position, stop control using stop control table, stop control using stop position table, stop possible without using stop control table or stop position table A configuration in which stop control by searching and specifying a stop position is used together, and a configuration in which stop control is performed by partially changing the stop control table and stop position table It may be.

本実施例においてメイン制御部41は、ゲームの開始後、リールの回転を開始させる毎にその時点、すなわちリールの回転を開始させた時点から経過した時間であるゲーム時間を計時するようになっており、1ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間(本実施例では4.1秒)以上であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していれば、ウェイトを発生させず、その時点で当該ゲームにおける遊技のためのリールの回転を開始させる。一方、1ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間未満であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していなければ、ウェイトを発生させて、その時点ではリールの回転を開始させず、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間に到達するまで待機し、規定時間に到達した時点でリールの回転を開始させる。   In the present embodiment, the main control unit 41 counts the game time, which is the time that has elapsed since the start of the game, each time the reel rotation is started, that is, the time elapsed from the start of the reel rotation. After the end of one game, when a predetermined number of bets is set by inserting medals or the like and the game start operation is performed in a state where the game start operation is enabled, the reel rotation of the previous game is started. If the game time from which the timing was started is equal to or longer than the specified time (4.1 seconds in this embodiment), that is, if the specified time has elapsed since the start of reel rotation of the previous game, no wait is generated. At that time, the rotation of the reel for the game in the game is started. On the other hand, after the end of one game, when a predetermined number of bets is set by inserting medals or the like and the game start operation is performed in a state where the game start operation is enabled, the reel rotation of the previous game is started. If the game time that started counting from the point in time is less than the specified time, that is, if the specified time has not elapsed since the start of reel rotation in the previous game, a wait is generated and the reel rotation is started at that point. Instead, the game waits until the game time that has started timing from the start of reel rotation of the previous game reaches a specified time, and starts reel rotation when the specified time is reached.

本実施例においてメイン制御部41は、遊技状態やエラーの発生状況などを示す外部出力信号を出力する制御を行う。これら外部出力信号は、外部出力基板1000、スロットマシン1が設置される遊技店(ホール)の情報提供端子板を介してホールコンピュータなどのホール機器に出力されるようになっている。   In the present embodiment, the main control unit 41 performs control to output an external output signal indicating a game state, an error occurrence state, and the like. These external output signals are output to a hall device such as a hall computer through an external output board 1000 and an information providing terminal board of a game shop (hall) in which the slot machine 1 is installed.

メイン制御部41は、賭数の設定に用いられたメダル数を示すメダルIN信号、入賞の発生により遊技者に付与されたメダル数を示すメダルOUT信号、遊技状態がRB(レギュラーボーナス)中の旨を示すRB中信号、遊技状態がBB(ビッグボーナス)中の旨を示すBB中信号、後述するARTの開始を示すART信号、前面扉1bが開放中の旨を示すドア開放信号、後述する設定変更モードに移行している旨を示す設定変更信号、メダルセレクタの異常を示す投入エラー信号、ホッパーユニット34の異常を示す払出エラー信号をそれぞれ出力する。   The main control unit 41 includes a medal IN signal indicating the number of medals used for setting the number of bets, a medal OUT signal indicating the number of medals given to the player due to the occurrence of a prize, and a gaming state during RB (regular bonus). RB signal indicating that the game state is BB (Big Bonus), an BB signal indicating that a game state is starting, an ART signal indicating the start of ART described later, a door opening signal indicating that the front door 1b is opening, and a later described A setting change signal indicating that the mode has shifted to the setting change mode, a throw-in error signal indicating an abnormality of the medal selector, and a pay-out error signal indicating an abnormality of the hopper unit 34 are output.

外部出力基板1000には、リレー回路、パラレル・シリアル変換回路、出力信号毎の端子が設けられ、情報提供端子板の回路と電気的に接続するための接続されるコネクタが設けられている。遊技制御基板40から出力された信号のうち、メダルIN信号、メダルOUT信号、RB中信号、BB中信号、ART信号は、リレー回路を介して、そのままパルス信号として情報提供端子板に出力される。これに対してドア開放信号、設定変更信号、投入エラー信号、払出エラー信号は、パラレル・シリアル変換回路にて、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換されて情報提供端子板に出力される。   The external output board 1000 is provided with a relay circuit, a parallel-serial conversion circuit, and a terminal for each output signal, and is provided with a connector to be electrically connected to a circuit of the information providing terminal board. Among the signals output from the game control board 40, the medal IN signal, the medal OUT signal, the RB signal, the BB signal, and the ART signal are directly output as pulse signals to the information providing terminal board via the relay circuit. . On the other hand, the door opening signal, the setting change signal, the closing error signal, and the dispensing error signal are converted by a parallel-serial conversion circuit into security signals, which are serial signals that can be individually identified, and information is provided. Output to terminal board.

次に、メイン制御部41がサブ制御部91に対して送信するコマンドについて説明する。   Next, a command transmitted from the main control unit 41 to the sub control unit 91 will be described.

本実施例では、メイン制御部41は、サブ制御部91に対して、投入枚数コマンド、クレジットコマンド、遊技状態コマンド、ART状態コマンド、内部当選コマンド、フリーズコマンド、ART抽選結果コマンド、リール加速情報コマンド、停止操作時コマンド、滑りコマ数コマンド、停止コマンド、遊技終了コマンド、入賞枚数コマンド、払出開始コマンド、払出終了コマンド、待機コマンド、打止コマンド、エラーコマンド、復帰コマンド、設定コマンド、設定確認コマンド、ドアコマンド、操作検出コマンドを含む複数種類のコマンドを送信する。これらコマンドは、コマンドの種類を示す1バイトの種類データとコマンドの内容を示す1バイトの拡張データとからなり、サブ制御部91は、種類データからコマンドの種類を判別できるようになっている。   In the present embodiment, the main control unit 41 instructs the sub-control unit 91 to insert a number-of-insertion command, a credit command, a game status command, an ART status command, an internal winning command, a freeze command, an ART lottery result command, and a reel acceleration information command. , Stop operation command, number of sliding commands, stop command, game end command, winning number command, payout start command, payout end command, standby command, stop command, error command, return command, setting command, setting confirmation command, A plurality of types of commands including a door command and an operation detection command are transmitted. These commands are composed of 1-byte type data indicating the type of the command and 1-byte extended data indicating the content of the command. The sub-control unit 91 can determine the type of the command from the type data.

投入枚数コマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、電断復帰時、または規定数の賭数が設定されていない状態においてメダルが投入されるか、MAXBETスイッチ6が操作されて賭数が設定されたときに送信される。また、投入枚数コマンドは、賭数の設定操作がなされたときに送信されるので、投入枚数コマンドを受信することで賭数の設定操作がなされたことを特定可能である。   The inserted number command is a command capable of specifying the inserted number of medals, that is, the number of medals used for setting the bet amount, and is a state from the end of the game (after changing the setting) to the start of the game. Or, when a medal is inserted in a state where the specified number of bets is not set, or when the MAXBET switch 6 is operated to set the number of bets, this is transmitted. Further, since the inserted number command is transmitted when the operation of setting the bet amount is performed, it is possible to specify that the operation of setting the bet amount has been performed by receiving the inserted number command.

クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。   The credit command is a command capable of specifying the number of medals stored as credit, and is a state from the end of the game (after changing the setting) to the start of the game. In a state in which a specified number of bets is set, Sent when medals are inserted and credits are added.

遊技状態コマンドは、当該ゲームの遊技状態(RT0〜4、RB)を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときに送信される。   The game state command is a command capable of specifying the game state (RT0 to 4, RB) of the game, and is transmitted when the start switch 7 is operated to start the game.

ART状態コマンドは、AT中か否か、ART中か否か、後述する規定ゲーム数に到達するまでの残りゲーム数、前兆期間の残りゲーム数、ARTの残りゲーム数を特定可能なコマンドであり、ゲームが開始したときであって、遊技状態コマンドの後に送信される。   The ART state command is a command capable of specifying whether or not an AT is being performed, whether or not an ART is being performed, the number of remaining games until reaching a prescribed number of games described later, the number of remaining games in the precursor period, and the number of remaining games in the ART. , When the game has started, and is transmitted after the game state command.

内部当選コマンドは、内部抽選結果を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときであって、ART状態コマンドの後に送信される。内部当選コマンドは、第1の内部当選コマンドと、第2の内部当選コマンドと、を含み、内部抽選においてナビ報知の対象となる報知対象役が当選した場合に、ナビ報知が行われる状態(AT中、または非AT中でナビ報知が行われる場合)であれば、当選した報知対象役の種類も遊技者にとって有利な停止順も特定可能な第1の内部当選コマンドが送信され、ナビ報知が行われない状態(非AT中でナビ報知が行われない場合)であれば、当選した報知対象役の種類は特定可能であるが遊技者にとって有利な停止順は特定不能な第2の内部当選コマンドが送信される。   The internal winning command is a command capable of specifying an internal lottery result, and is transmitted when the start switch 7 is operated to start the game and after the ART state command. The internal winning command includes a first internal winning command and a second internal winning command, and a state in which the navigation notification is performed when the notification target role targeted for the navigation notification is won in the internal lottery (AT If the navigation notification is performed during or during non-AT), the first internal winning command that can specify the type of the winning notification target role and the stop order that is advantageous to the player is transmitted, and the navigation notification is performed. In the state where the notification is not performed (when the navigation notification is not performed during the non-AT), the type of the notified notification target role can be specified, but the stop order advantageous to the player cannot be specified, the second internal winning. Command is sent.

遊技状態コマンド、ART状態コマンド、内部当選コマンドは、スタートスイッチ7が操作されてゲームが開始したときに送信されるので、これらコマンドを受信することで、スタートスイッチ7が操作されてゲームが開始したことを特定可能である。   Since the game state command, the ART state command, and the internal winning command are transmitted when the game is started by operating the start switch 7, by receiving these commands, the start switch 7 is operated to start the game. It can be specified.

フリーズコマンドは、当該ゲームにおいて遊技の進行を所定期間にわたり遅延させるフリーズ状態に制御されるか否か、フリーズ状態に制御される場合にはその種類を特定可能なコマンドであり、ゲームが開始したときであって、内部当選コマンドの送信後に送信される。   The freeze command is a command that can specify whether or not the game is controlled to be in a freeze state that delays the progress of the game for a predetermined period of time in the game, and when the game is controlled to be in the freeze state, the type thereof can be specified. And transmitted after transmitting the internal winning command.

ART抽選結果コマンドは、後述のART抽選または上乗せ抽選に当選したか否か、当選したARTのゲーム数または上乗せされるゲーム数を特定可能なコマンドであり、ゲームが開始したときであって、ART抽選または上乗せ抽選が行われたゲームにおいて内部当選コマンドの送信後に送信される。   The ART lottery result command is a command capable of specifying whether or not an ART lottery or an additional lottery, which will be described later, has been won, the number of the selected ART games or the number of additional games, and is used when the game is started. Sent after transmission of an internal winning command in a game in which a lottery or an additional lottery is performed.

リール加速情報コマンドは、遊技の進行に伴いリールの回転が開始する旨を特定可能なコマンドであり、遊技の進行に伴いリールの回転を開始するときに送信する。尚、フリーズ状態の終了に伴ってリールの回転を開始するときにも送信されるため、フリーズコマンドによりフリーズ状態の開始が特定された後、リール加速情報コマンドを受信することで遊技の進行に伴いリールの回転が開始する旨だけではなく、フリーズ状態の終了も特定可能となる。   The reel acceleration information command is a command that can specify that the rotation of the reel starts with the progress of the game, and is transmitted when the rotation of the reel starts with the progress of the game. It is also transmitted when the rotation of the reel is started along with the end of the freeze state. Therefore, after the start of the freeze state is specified by the freeze command, the reel acceleration information command is received, so that the game progresses according to the progress of the game. It is possible to specify not only the start of the rotation of the reel but also the end of the freeze state.

停止操作時コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。   The stop operation command is a command that can specify whether the reel to be stopped is the left reel, the middle reel, or the right reel, and the area number of the stop operation position of the corresponding reel. It is transmitted each time the accompanying stop control is performed.

滑りコマ数コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作がされてから停止するまでに移動する滑りコマ数を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する停止操作時コマンドが送信された後に送信される。   The number of sliding frames command is a command capable of specifying whether the reel to be stopped is the left reel, the middle reel, or the right reel, or the number of sliding frames to be moved from when the corresponding reel is stopped to when it is stopped. Each time the stop control associated with the stop operation of each reel is performed, it is transmitted after the corresponding stop operation command is transmitted.

停止コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する滑りコマ数コマンドが送信された後に送信される。   The stop command is a command capable of specifying whether the reel to be stopped is the left reel, the middle reel, or the right reel, and the area number of the stop position of the corresponding reel, and the stop control accompanying the stop operation of each reel. Is transmitted after the corresponding slide frame number command is transmitted.

停止操作時コマンド、滑りコマ数コマンド、停止コマンドは、いずれも停止するリールが左リール、中リール、右リールのいずれのリールであるか、を特定可能であり、かつ各リールの停止操作に伴う停止制御が行われる毎に送信されるので、これらコマンドを受信することで、いずれかのリールの停止操作がされたこと及び停止するリールを特定可能である。   The stop operation command, the number of sliding frames command, and the stop command can specify whether the reel to be stopped is a left reel, a middle reel, or a right reel, and is associated with the stop operation of each reel. Since the command is transmitted every time the stop control is performed, by receiving these commands, it is possible to specify that any one of the reels has been stopped and the reel to be stopped.

遊技終了コマンドは、遊技が終了された旨を特定可能なコマンドであり、遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信される。   The game end command is a command that can specify that the game has ended, and is transmitted when the player presses a stop switch to stop the third stop reel and releases the stop switch.

入賞枚数コマンドは、入賞ラインLNに揃った図柄の組合せ、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときであり、遊技終了コマンドの送信後に送信される。   The winning number command is a command capable of specifying the combination of symbols aligned on the winning line LN, the presence or absence of a winning, the type of winning, and the number of medals to be paid out at the time of winning, so that the player stops the third stop reel. This is when the stop switch is pressed down and the stop switch is released, and is transmitted after the transmission of the game end command.

遊技終了コマンド、入賞枚数コマンドは、いずれも遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信されるので、これらコマンドを受信することで、1ゲームを進行させるのに必要な全ての操作が終了したことを特定可能である。   Since both the game end command and the winning number command are transmitted when the player presses the stop switch to stop the third stop reel and releases the stop switch, by receiving these commands, It is possible to specify that all the operations necessary to advance one game are completed.

払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。   The payout start command is a command for notifying the start of payout of medals, and is transmitted when the payout of medals due to winning or the settlement of credits (including medals used for setting the number of bets) is started. The payout end command is a command for notifying the end of payout of medals, and is transmitted when payout of medals due to winning and credit settlement is completed.

待機コマンドは、待機状態へ移行する旨を示すコマンドであり、1ゲーム終了後、賭数が設定されずに終了推定時間(本実施例では60秒)経過して待機状態に移行するとき、クレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。   The standby command is a command indicating that a transition to a standby state is performed. After the end of one game, when the estimated end time (60 seconds in this embodiment) elapses without a bet amount being set and a transition is made to the standby state, a credit is issued. The payout of the medals by the settlement of the medals (including the medals used for setting the number of bets) is completed, and is transmitted after the payout end command is transmitted.

打止コマンドは、打止状態の発生または解除を示すコマンドであり、BB終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。   The stop command is a command indicating the occurrence or release of the stop state. After the BB ends, the stop command indicating the occurrence of the stop state is transmitted when the ending effect waiting time has elapsed, and the reset operation is performed. At the time when the stop state is released, a stop command indicating the release of the stop state is transmitted.

エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。   The error command is a command that indicates the occurrence or release of an error state and the type of the error state.When an error is determined, and when the state is controlled to the error state, an error command that indicates the occurrence and the type of the error state is transmitted and reset. When the operation is performed and the error state is released, an error command indicating the release of the error state is transmitted.

復帰コマンドは、メイン制御部41が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部41の起動時において電断前の制御状態に復帰した際に送信される。   The return command is a command indicating that the main control unit 41 has returned to the control state before the power failure, and is transmitted when the main control unit 41 has returned to the control state before the power failure at the time of activation.

設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部41の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部41の制御状態が初期化されたことを特定可能である。   The setting command is a command that indicates the start or end of the setting change state, the setting value after the setting change, a setting command indicating the start of the setting change state is transmitted at the time of transition to the setting change state, and when the setting change state ends, A setting command indicating the end of the setting change state and the setting value after the setting change is transmitted. In addition, since the control state of the main control unit 41 is initialized along with the transition to the setting change state, it is possible to specify that the control state of the main control unit 41 has been initialized by the setting command indicating the start of setting. .

設定確認コマンドは、設定確認状態の開始または終了を示すコマンドであり、設定確認状態に移行する際に設定確認開始を示す設定確認コマンドが送信され、設定確認状態の終了時に設定確認終了を示す設定確認コマンドが送信される。   The setting confirmation command is a command that indicates the start or end of the setting confirmation state. A setting confirmation command that indicates the start of the setting confirmation is sent when moving to the setting confirmation state, and a setting that indicates the end of the setting confirmation when the setting confirmation state ends. A confirmation command is sent.

ドアコマンドは、ドア開放検出スイッチ25の検出状態、すなわちon(開放状態)/off(閉状態)を示すコマンドであり、電源投入時、1ゲーム終了時(ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点)、ドア開放検出スイッチ25の検出状態が変化(onからoff、offからon)した時に送信される。   The door command is a command indicating the detection state of the door open detection switch 25, that is, on (open state) / off (closed state), at power-on, at the end of one game (after the end of the game, the bet amount of the next game). Before the setting can be started) and when the detection state of the door opening detection switch 25 changes (from on to off, from off to on).

操作検出コマンドは、操作スイッチ類(MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R)の検出状態(on/off)を示すコマンドであり、一定時間毎に送信される。   The operation detection command is a command indicating a detection state (on / off) of operation switches (MAX BET switch 6, start switch 7, stop switch 8L, 8C, 8R), and is transmitted at regular intervals.

これらコマンドのうちドアコマンド及び操作検出コマンド以外のコマンドは、メイン処理において生成され、RAM41cに設けられたコマンドキューに一時格納され、その後のタイマ割込処理(メイン)のコマンド送信処理おいて送信される。   Of these commands, commands other than the door command and the operation detection command are generated in the main processing, temporarily stored in a command queue provided in the RAM 41c, and transmitted in the subsequent command transmission processing of the timer interrupt processing (main). You.

一方、ドアコマンドは、タイマ割込処理(メイン)のドア監視処理において生成され、RAM41cに設けられたコマンドキューに一時格納され、その後のタイマ割込処理(メイン)のコマンド送信処理おいて送信される。   On the other hand, the door command is generated in the door monitoring process of the timer interruption process (main), is temporarily stored in a command queue provided in the RAM 41c, and is transmitted in the subsequent command transmission process of the timer interruption process (main). You.

また、操作検出コマンドは、タイマ割込処理(メイン)のコマンド送信処理が10回実行される毎に、スイッチの検出状態に基づいて生成されるとともに、RAM41cに設けられたコマンドキューに一時格納され、その後のタイマ割込処理(メイン)のコマンド送信処理おいて送信される。   The operation detection command is generated based on the detection state of the switch every time the command transmission processing of the timer interrupt processing (main) is executed ten times, and is temporarily stored in a command queue provided in the RAM 41c. Is transmitted in the command transmission processing of the subsequent timer interruption processing (main).

次に、メイン制御部41が演出制御基板90に対して送信するコマンドに基づいてサブ制御部91が実行する演出の制御について説明する。サブ制御部91は、メイン制御部41からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、RAM91cに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。   Next, the control of the effect performed by the sub-control unit 91 based on the command transmitted from the main control unit 41 to the effect control board 90 will be described. When receiving a command from the main control unit 41, the sub control unit 91 executes a command reception interrupt process. In the command reception interrupt processing, the command acquired from the command transmission line is stored in a reception buffer provided in the RAM 91c.

サブ制御部91は、タイマ割込処理(サブ)において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてROM91bに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の各種演出装置の出力制御を行う。制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器51の表示パターン、演出効果LED52の点灯態様、スピーカ53、54の出力態様、リールLED55の点灯態様等、これら演出装置の制御パターンが登録されており、サブ制御部91は、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてRAM91cに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。   In the timer interrupt processing (sub), the sub control unit 91 determines whether or not an unprocessed command is stored in the reception buffer. The control pattern table stored in the ROM 91b is referred to based on the command received in the step, and the liquid crystal display 51, the effect LED 52, the speakers 53 and 54, the reel LED 55, and the like are controlled based on the control contents registered in the control pattern table. Controls the output of various effect devices. In the control pattern table, for each of a plurality of types of effect patterns, a display pattern of the liquid crystal display 51 corresponding to the type of command, a lighting mode of the effect LED 52, an output mode of the speakers 53 and 54, a lighting mode of the reel LED 55, and the like. The control patterns of these effect devices are registered, and upon receiving the command, the sub-control unit 91 sets the control pattern of the control pattern registered in the control pattern table corresponding to the effect pattern set in the RAM 91c in the game. The control device refers to the control pattern corresponding to the type of the received command, and controls the output of the effect device based on the control pattern. As a result, an effect according to the effect pattern and the progress of the game is executed.

尚、サブ制御部91は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。   When a new command is received during the execution of the effect triggered by the reception of a certain command, the sub-control unit 91 stops the effect based on the control pattern being executed, and returns to the newly received command. An effect based on the corresponding control pattern is executed. In other words, when a new command is received even in a state where the production has not been completed to the end, the production that was being executed is canceled and a new production is performed unless the received new command is not a command that triggers a new production. An effect based on the command will be executed.

演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、RAM91cに設定される。演出パターンの選択率は、ROM91bに格納された演出テーブルに登録されており、サブ制御部91は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。   The effect pattern is selected at the selection rate according to the result of the internal lottery indicated by the internal winning command when the internal winning command is received, and is set in the RAM 91c. The selection rate of the effect pattern is registered in the effect table stored in the ROM 91b. When the internal control command is received, the sub-control unit 91 sets the effect in the effect table according to the result of the internal lottery indicated by the internal win command. With reference to the registered selection rate, one of a plurality of effect patterns is selected from the plurality of effect patterns in accordance with the selected rate, and the selected effect pattern is set as the effect pattern of the game in the RAM 91c. Also, even if the same command is received, different control patterns are selected depending on the effect pattern selected at the time of receiving the internal winning command, and as a result, different effects may be performed depending on the effect pattern.

本実施例におけるスロットマシン1では、メイン制御部41により、内部抽選結果に応じて遊技者にとって有利となる停止順を遊技補助表示器12の点灯態様により報知するナビ報知を実行可能な報知期間となるアシストタイム(以下、ATという)に制御可能となっている。   In the slot machine 1 according to the present embodiment, the main control unit 41 executes a navigation period for notifying the stop order that is advantageous to the player according to the internal lottery result by the lighting mode of the game auxiliary display 12 and a navigation period. It can be controlled at a certain assist time (hereinafter, referred to as AT).

メイン制御部41は、ATに制御している場合には、遊技状態に応じたナビ対象役に当選することにより、ナビ報知を実行するとともに、サブ制御部91に対して押し順コマンドを送信することで、液晶表示器51等を用いたナビ演出を実行させる。また、本実施例においてメイン制御部41は、ATに制御していない通常状態であっても、一定の条件を満たすことにより、ナビ報知を実行し、ナビ演出を実行させることが可能である。   When controlled by the AT, the main control unit 41 executes the navigation notification by winning the navigation target combination according to the gaming state, and transmits a pressing order command to the sub control unit 91. Thus, the navigation effect using the liquid crystal display 51 or the like is executed. Further, in the present embodiment, even in a normal state where the AT is not controlled, the main control unit 41 can execute the navigation notification and the navigation effect by satisfying a certain condition.

図6は、メイン制御部41が用いるメモリ領域のアドレスマップである。図6に示すように、メイン制御部41が用いるメモリ領域は、ROM41bに割り当てられたメモリ領域(0000H〜7FFFH)と、RAM41cに割り当てられたメモリ領域(F000H〜FFFFH)と、を含む。   FIG. 6 is an address map of a memory area used by the main control unit 41. As shown in FIG. 6, the memory area used by the main control unit 41 includes a memory area (0000H to 7FFFH) allocated to the ROM 41b and a memory area (F000H to FFFFH) allocated to the RAM 41c.

ROM41bのメモリ領域は、プログラム及び固定データが格納されるプログラム/データ領域(0000H〜26FFH)と、プログラムのタイトル、バージョン等の任意のデータを設定可能なROMコメント領域(2700H〜277FH)と、後述するCALLV命令のサブルーチンの上位アドレス及びタイマ割込処理(メイン)の先頭アドレスが設定されるベクタテーブル領域(2780H〜27A7H)と、メイン制御部41の内部機能をハードウェア的に設定するためのパラメータが設定されるHWパラメータ領域(27A8H〜27FFH)と、アクセスが禁止される未使用領域(2800H〜7FFFH)を含む。   The memory area of the ROM 41b includes a program / data area (0000H to 26FFH) in which programs and fixed data are stored, a ROM comment area (2700H to 277FH) in which arbitrary data such as a program title and version can be set, A vector table area (2780H to 27A7H) in which an upper address of a subroutine of a CALLV instruction to be executed and a start address of a timer interrupt process (main) are set, and parameters for setting internal functions of the main control unit 41 by hardware. Are set, and an unused area (2800H to 7FFFH) where access is prohibited is included.

ROM41bにおけるHWパラメータ領域に設定されるパラメータは、プログラム/データ領域で使用するROM領域の最終アドレス(HPRGEND)、アクセス禁止するRAM領域の開始アドレス(HRAMSTAT)及び最終アドレス(HRAMEND)を含む。   The parameters set in the HW parameter area in the ROM 41b include the last address (HPREND) of the ROM area used in the program / data area, the start address (HRAMSTAT) and the last address (HRAMEND) of the RAM area whose access is prohibited.

RAM41cのメモリ領域は、ワークとして使用可能な使用可能領域(F000H〜F400H)と、メイン制御部41に搭載されている各機能を制御するためのレジスタ群が格納される内部機能レジスタ領域(F4B0H〜F6FFH)と、アクセスが禁止される未使用領域(F401H〜F4AFH、F700H〜FFFFH)と、を含む。   The memory area of the RAM 41c includes an available area (F000H to F400H) that can be used as a work, and an internal function register area (F4B0H to F4B0H) in which a register group for controlling each function mounted on the main control unit 41 is stored. F6FFH) and unused areas where access is prohibited (F401H to F4AFH, F700H to FFFFH).

図7は、メイン制御部41のROM41bにおけるプログラム/データ領域及びRAM41cにおける使用可能領域のアドレスマップである。   FIG. 7 is an address map of the program / data area in the ROM 41b and the usable area in the RAM 41c of the main control unit 41.

図7(a)に示すように、ROM41bにおけるプログラム/データ領域は、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが用いる遊技データが記憶される遊技データ領域と、未使用領域1と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが用いる非遊技データが記憶される非遊技データ領域と、未使用領域2と、を含む。   As shown in FIG. 7A, the program / data area in the ROM 41b includes a game program area in which a game program related to the progress of the game is stored, a game data area in which game data used by the game program is stored, It includes a use area 1, a non-game program area in which a non-game program not related to the progress of the game is stored, a non-game data area in which non-game data used by the non-game program is stored, and an unused area 2. .

尚、遊技の進行とは、遊技を構成する一連のプロセスを進行させることであり、スロットマシンであれば、賭数を設定してゲームを開始可能とする段階、ゲームを開始してリールを回転させる段階、リールを停止させて表示結果を導出させる段階、表示結果に応じてメダル等の価値を付与する段階、を進行させることである。   The progress of the game is to advance a series of processes constituting the game. In the case of a slot machine, the number of bets is set and the game can be started. Advancing a step of causing the reel to stop, deriving a display result, and giving a value such as a medal according to the display result.

遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、がそれぞれ別個に割り当てられているとともに、遊技プログラム領域及び非プログラム領域のうちROM41bの記憶領域において後方に割り当てられていた非プログラム領域の手前の領域は、少なくとも16バイト以上の未使用領域1が割り当てられているため、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。   A game program area related to the progress of the game and a non-game program not related to the progress of the game are separately allocated, and are allocated rearward in the storage area of the ROM 41b among the game program area and the non-program area. Since the unused area 1 having at least 16 bytes or more is allocated to the area before the non-program area, the storage area includes a game program area related to the progress of the game and a non-game program not related to the progress of the game. Can be easily specified according to the difference between

また、遊技プログラム領域と遊技データ領域、非遊技プログラム領域と非遊技データ領域はそれぞれ連続する領域に割り当てられる一方、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、が少なくとも16バイト以上の未使用領域1を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、を記憶領域の違いに応じて容易に特定することができる。   Further, the game program area and the game data area, and the non-game program area and the non-game data area are respectively allocated to continuous areas, while the game program area and the game data area related to the progress of the game and the non-game data area related to the progress of the game. Since the game program and the non-game data area are allocated to areas that are not continuous across the unused area 1 of at least 16 bytes or more, the game program area and the game data area related to the progress of the game and the A non-game program and a non-game data area that are not related can be easily specified according to the difference in the storage area.

尚、上記において記憶領域の前後とは、記憶領域に割り当てられたアドレス値の大小関係であり、アドレスが小さい方が前方となり、アドレスが大きい方が後方となる。このため、一の記憶領域よりも後方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が大きい記憶領域が該当し、一の記憶領域よりも前方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が小さい記憶領域が該当する。   In the above description, “before and after the storage area” means the magnitude relationship of the address values assigned to the storage area, with the smaller address being the front and the larger address being the rear. For this reason, a storage area allocated behind one storage area corresponds to a storage area having an address value larger than that of one storage area, and a storage area allocated ahead of one storage area. , A storage area having an address value smaller than that of one storage area.

また、非遊技プログラム領域よりも後方に遊技プログラムが割り当てられ、非遊技プログラム領域よりも後方に割り当てられた遊技プログラムの手前に未使用領域が割り当てられた構成としても良く、このような構成においても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。   Further, a configuration may be adopted in which a game program is allocated behind the non-game program area, and an unused area is allocated in front of the game program allocated behind the non-game program area. A game program area related to the progress of the game and a non-game program not related to the progress of the game can be easily specified according to the difference in the storage area.

また、遊技プログラム領域と、非遊技プログラム領域と、が未使用領域1を挟んで隣接する領域に割り当てられる構成としても良く、このような構成であっても、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。   Further, the game program area and the non-game program area may be assigned to areas adjacent to each other with the unused area 1 interposed therebetween. A non-game program irrespective of the progress of the game can be easily specified according to the difference in the storage area.

また、ROM41bのプログラム/データ領域の未使用領域1、2には、全ての領域に0値が格納されているため、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域1、2と、を容易に区別することができるとともに、未使用領域1、2に不正なデータが格納されている場合でも容易に発見することができる。   Further, in the unused areas 1 and 2 of the program / data area of the ROM 41b, since 0 values are stored in all areas, a game program area and a game data area, a non-game program area and a non-game data, The unused areas 1 and 2 can be easily distinguished from each other, and even when illegal data is stored in the unused areas 1 and 2, it can be easily found.

尚、ROM41bのプログラム/データ領域の未使用領域1、2における全ての領域に1が格納される構成としても良く、このような構成とした場合でも、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域1、2と、を容易に区別することができるとともに、未使用領域1、2に不正なデータが格納されている場合でも容易に発見することができる。   It should be noted that the configuration may be such that 1 is stored in all the unused areas 1 and 2 of the program / data area of the ROM 41b. Even in such a configuration, the game program area and the game data area and the non-game The program area and the non-game data can be easily distinguished from the unused areas 1 and 2, and even if the unused areas 1 and 2 contain illegal data, it can be easily found. .

また、遊技プログラム領域と、非遊技プログラム領域と、が別個の領域に割り当たられた構成であれば、遊技プログラム領域と、非遊技プログラム領域と、が隣接する領域にわら当てられる構成としても良く、このような構成であっても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。   Further, if the configuration is such that the game program area and the non-game program area are assigned to separate areas, the game program area and the non-game program area may be configured to be applied to adjacent areas. Even with such a configuration, a game program area related to the progress of the game and a non-game program not related to the progress of the game can be easily specified according to the difference in the storage area.

また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを2進数表記した場合に下位4桁の値が同じ0のアドレス(0H)から開始するようになっており、ROM41bのプログラム/データ領域のうち遊技の進行に係る遊技プログラム領域と、遊技の進行に係わらない非遊技プログラム領域と、を他の領域と容易に区別することができる。   In addition, both the game program area and the non-game program area start from the address (0H) of the same lower 4 digits when the address is expressed in binary notation, and the program / data area of the ROM 41b. Among them, the game program area related to the progress of the game and the non-game program area not related to the progress of the game can be easily distinguished from other areas.

また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを2進数表記した場合に下位4桁の値が同じ0のアドレスから開始するだけでなく、16進数表記した場合に下位1桁の値が同じ0のアドレス(0H)から開始するので、アドレスを2進数表記した場合だけでなく、16進数表記した場合にも遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することができる。   In addition, both the game program area and the non-game program area not only start from the address of the same lower 4 digits when the address is expressed in binary but also the lower 1 digit when the address is expressed in hexadecimal. Starts from the same address (0H) of 0, so that the game program area and the non-game program area can be easily distinguished from other areas not only in the case where the address is expressed in binary but also in the case where the address is expressed in hexadecimal. can do.

尚、遊技プログラム領域及び非遊技プログラム領域がいずれも、アドレスを2進数表記したか、16進数表記したか、に関わらず、下位N(Nは1以上の自然数)桁が同じ値のアドレスから開始する構成であれば、遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することが可能であり、例えば、下位N(Nは1以上の自然数)桁の値が同じ1のアドレスから開始する構成でも同様の効果が得られるものである。   In both the game program area and the non-game program area, regardless of whether the address is expressed in binary or hexadecimal, the lower N (N is a natural number of 1 or more) digits starts from the address having the same value. With such a configuration, the game program area and the non-game program area can be easily distinguished from other areas. For example, the lower N (N is a natural number of 1 or more) digit having the same value of 1 The same effect can be obtained with a configuration starting from the address of

図7(b)に示すように、RAM41cの使用可能領域は、遊技プログラムがワークとして用いる遊技RAM領域と、非遊技プログラムがワークとして用いる非遊技RAM領域と、未使用領域4と、を含んでおり、遊技RAM領域には、特別ワークと、重要ワークと、一般ワークと、未使用領域3と、遊技プログラムがデータを退避する遊技スタック領域と、が含まれ、非遊技RAM領域には、遊技プログラムが参照可能な領域と、遊技プログラムが参照不可能な領域と、非遊技プログラムがデータを退避する非遊技スタック領域と、が含まれる。尚、本実施例では、遊技スタック領域と非遊技スタック領域とをそれぞれ異なる領域に個別に備える構成であるが、遊技プログラム及び非遊技プログラムが共用する一のスタック領域を備える構成としても良い。   As shown in FIG. 7B, the usable area of the RAM 41c includes a game RAM area used as a work by the game program, a non-game RAM area used as a work by the non-game program, and an unused area 4. The game RAM area includes a special work, an important work, a general work, an unused area 3, and a game stack area in which a game program saves data. The non-game RAM area includes a game stack area. It includes an area that can be referenced by a program, an area that cannot be referenced by a game program, and a non-game stack area in which a non-game program saves data. In the present embodiment, the game stack area and the non-game stack area are individually provided in different areas. However, a configuration in which one stack area shared by the game program and the non-game program may be provided.

未使用領域3は、遊技プログラム及び非遊技プログラムのいずれも使用しない領域であり、予め定められた容量の遊技RAM領域に対して余剰となった領域である。   The unused area 3 is an area in which neither the game program nor the non-game program is used, and is a surplus area with respect to the game RAM area having a predetermined capacity.

また、未使用領域4は、遊技プログラム及び非遊技プログラムのいずれも使用しない16バイト以上の領域である。遊技RAM領域と、非遊技RAM領域とが、未使用領域4を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラムが用いる遊技RAM領域と、遊技の進行に係わらない非遊技プログラムが用いる非遊技RAM領域と、を記憶領域の違いに応じて容易に特定することができる。   The unused area 4 is an area of 16 bytes or more in which neither the game program nor the non-game program is used. Since the game RAM area and the non-game RAM area are allocated to areas that are not continuous across the unused area 4, the game RAM area used by the game program related to the progress of the game and the non-game RAM area not related to the progress of the game The non-game RAM area used by the game program can be easily specified according to the difference in the storage area.

以下では、遊技プログラム領域、遊技データ領域及び遊技RAM領域をまとめて遊技領域と称す場合があり、非遊技プログラム領域、非遊技データ領域及び非遊技RAM領域をまとめて非遊技領域と称す場合がある。また、未使用領域1及び未使用領域2、未使用領域3及び未使用領域4をまとめて未使用領域と称す場合がある。   Hereinafter, the game program area, the game data area, and the game RAM area may be collectively referred to as a game area, and the non-game program area, the non-game data area, and the non-game RAM area may be collectively referred to as a non-game area. . The unused area 1 and the unused area 2, the unused area 3 and the unused area 4 may be collectively referred to as an unused area.

メイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、ROM41bのプログラム/データ領域のうちアクセスが禁止された領域へのアクセスがあったとき、RAM41cの使用可能領域のうちアクセスが許可に設定されていない領域へのアクセスがあったとき、ROM41bのうちプログラム/データ領域以外の領域へのアクセスがあったとき、RAM41cのうち使用可能領域以外の領域へのアクセスがあったときに、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させるので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。   When the main control unit 41 accesses a prohibited area of the program / data area of the ROM 41b based on a parameter set in the HW parameter area, the access is permitted in an available area of the RAM 41c. When an area other than the set area is accessed, when an area other than the program / data area in the ROM 41b is accessed, and when an area other than the usable area in the RAM 41c is accessed, In other words, when an illegal access is reset when an access is made to a memory area that cannot be accessed in a normal operation, the progress of the game is disabled. If an unauthorized program is stored in an unused area or the like of the RAM 41c, Even, it is possible to prevent illegal program from being executed.

特に本実施例では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)へのアクセスを一括して許可に設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや遊技データ、非遊技プログラム、非遊技データが格納されていない非遊技データよりも後の領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。   In particular, in the present embodiment, a game program area and a non-game program area are allocated to a program / data area of the ROM 41b to which access is permitted by a program, and the program / data area is located before the non-game program area behind the game program area. An unused area 1 is allocated to the area, and a lump of the program / data area including the area from the start address of the game program area to the end address of the non-game program is set based on the parameters set in the HW parameter area. Access to the area (the area from the game program area to the non-game data area) is set to be permitted all at once, while the other areas, that is, the game program, game data, non-game program, Non-game data is not stored Because it is forbidden access to the area later than trick data, it is possible to prevent conducted unintended control by malware or illegal data.

また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域へのアクセスを一括して許可に設定する一方で、それ以外の領域へのアクセスが禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。   Further, in the program / data area of the ROM 41b, the access of which is permitted by the program, a game area is allocated behind the non-game program area, and an unused area is provided in an area before the game program area behind the non-game program area. Is assigned and, based on the parameters set in the HW parameter area, access to a group of areas including the area from the start address of the non-game program area to the end address of the game program in the program / data area is collectively performed. Even if access is set to be permitted while access to other areas is prohibited, unintended control by an unauthorized program or data can be prevented.

尚、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。   A game program area and a non-game program area are allocated to the program / data area, and an unused area 1 is allocated to an area in front of the non-game program area behind the game program area. Of the areas, one area including the game program area (the area from the game program area to the game data area) and one area including the non-game program (the area from the non-game program area to the non-game data area) A configuration may be adopted in which access is set to allow access and access to other areas is prohibited. Even in such a configuration, access is made to an area of the program / data area where no game program or non-game program is stored. Access is prohibited, the intention of malicious programs and data Can be prevented without control will take place. Further, in the program / data area of the ROM 41b to which access is permitted by the program, a game area is allocated behind the non-game program area, and an unused area is provided in an area before the game program area behind the non-game program area. Are allocated, and among the program / data areas, a group including the game program area (area from the game program area to the game data area) and a group including the non-game program (from the non-game program area to the non-game Access to the data area) and access to other areas may be prohibited. Even in such a configuration, a game program or a non-game Access to an area where no program is stored Because There is inhibited, it is possible to prevent conducted unintended control by malware or illegal data.

また、上記では、プログラム/データ領域においてアクセスを許可する領域そのものを設定する構成であるが、プログラム/データ領域においてアクセスを禁止する領域を設定することで、間接的にアクセスを許可する領域が設定される構成としても良い。   Further, in the above description, the area to which access is permitted in the program / data area itself is set. However, by setting the area to which access is prohibited in the program / data area, the area to which access is indirectly set is set. It is good also as a structure performed.

メイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、プログラム走行を許可する指定エリア以外の領域においてユーザプログラムが実行された場合、すなわち正常な動作ではユーザプログラムが実行されることのない領域でユーザプログラムが実行された場合に、IAT回路506aがIAT発生信号を出力することで、遊技の進行を不能化させるので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。   The main control unit 41 determines, based on the parameters set in the HW parameter area, that the user program is executed in an area other than the designated area where the program traveling is permitted, that is, that the user program is executed in a normal operation. When the user program is executed in the non-existing area, the IAT circuit 506a outputs the IAT generation signal, thereby disabling the progress of the game. Therefore, the unused area of the ROM 41b, the area unrelated to the operation, and the unoccupied area of the RAM 41c. Even if an unauthorized program is stored in the use area or the like, the execution of the unauthorized program can be prevented.

特に本実施例では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路506aがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。   In particular, in the present embodiment, a game program area and a non-game program area are allocated to a program / data area of the ROM 41b to which access is permitted by a program, and the program / data area is located before the non-game program area behind the game program area. The unused area 1 is allocated to the area, and the IAT circuit 506a permits the program running for each of the game program area and the non-game program area in the program / data area based on the parameters set in the HW parameter area. While the area is set as the designated area, program running in other areas, that is, areas where the game program or the non-game program is not stored in the program / data area is prohibited. Control line It can be prevented been.

また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路506aがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。   Further, in the program / data area of the ROM 41b, the access of which is permitted by the program, a game area is allocated behind the non-game program area, and an unused area is provided in an area before the game program area behind the non-game program area. Is assigned, and based on the parameters set in the HW parameter area, the IAT circuit 506a sets each of the game program area and the non-game program area in the program / data area as a designated area in which the program running is permitted. Thus, even if the program running in other areas is prohibited, it is possible to prevent unintended control by an unauthorized program or unauthorized data from being performed.

尚、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路506aがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止される構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路506aがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。   Note that a game program area and a non-game program area are allocated to the program / data area, an unused area 1 is allocated to an area in front of the non-game program area behind the game program area, and an HW parameter area is allocated. Based on the parameters set in (1), a group of areas (areas from the game program area to the non-game data area) including the area from the start address of the game program area to the last address of the non-game program in the program / data area , The IAT circuit 506a may collectively set the designated area for permitting the program running and prohibit the program running in other areas. Even in such a configuration, the program / data area Of which game programs and non-game programs are stored Since the program running in the absence area is prohibited, it is possible to prevent conducted unintended control by malware or illegal data. Further, in the program / data area of the ROM 41b, the access of which is permitted by the program, a game area is allocated behind the non-game program area, and an unused area is provided in the area before the game program area behind the non-game program area. Are assigned, and based on the parameters set in the HW parameter area, a group of areas (from the game program area to the end address of the game program) including the area from the start address of the non-game program area to the end address of the game program in the program / data area The area up to the non-game data area) is collectively set by the IAT circuit 506a as a designated area where program running is permitted, and program running in other areas is prohibited. Unintended control It can be prevented been.

また、上記では、プログラム/データ領域においてプログラム走行を許可する領域そのものを設定する構成であるが、プログラム/データ領域においてプログラム走行を禁止する領域を設定することで、間接的にプログラム走行を許可する領域が設定される構成としても良い。   In the above description, the program / data area is configured to set the area in which the program running is permitted. However, by setting the program / data area in which the program running is prohibited, the program running is indirectly permitted. A configuration in which an area is set may be adopted.

メイン制御部41が実行するプログラムは、プログラム全体の進行を管理するメインルーチンと、他のプログラムの実行中に呼び出されるサブルーチンと、を含む。   The program executed by the main control unit 41 includes a main routine for managing the progress of the entire program, and a subroutine called during execution of another program.

また、メイン制御部41にプログラム/データ領域に格納されたプログラムを実行させる命令として、CALL命令を含む。   Also, a CALL instruction is included as an instruction for causing the main control unit 41 to execute a program stored in the program / data area.

CALL命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたサブルーチンを呼び出して実行させる命令である。メイン制御部41は、CALL命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定されたアドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちCALL命令を実行した呼び出し元のメインルーチンまたはサブルーチンのプログラムに復帰する。   The CALL instruction is an instruction to call and execute a subroutine stored at an address designated in a main routine or a subroutine. When calling the subroutine by the CALL instruction, the main control unit 41 stores the address of the caller in the stack area, calls and executes the subroutine stored at the specified address. Then, after the subroutine ends, the process returns to the address of the caller stored in the stack area, that is, the main routine or the subroutine program of the caller who has executed the CALL instruction.

また、CALL命令は、通常のCALL命令と、特殊なCALL命令であるCALLV命令と、を含む。通常のCALL命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であるのに対して、CALLV命令は、下位アドレスのみ指定することで、ROM41bのベクタテーブル領域に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であり、通常のCALL命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。   The CALL instruction includes a normal CALL instruction and a CALLV instruction which is a special CALL instruction. A normal CALL instruction is an instruction that specifies an upper address and a lower address to specify both an upper address and a lower address and specifies an address and calls a subroutine, whereas a CALLV instruction specifies only a lower address. By doing so, the subroutine is called by specifying an address based on an upper address preset in the vector table area of the ROM 41b and a specified lower address, and calls the subroutine with a smaller amount of data compared to a normal CALL instruction. It becomes possible.

RST命令は、予め定められた複数の特定アドレスに対応する値を指定することで、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行させる命令であり、上記した通常のCALL命令やCALLV命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。メイン制御部41は、RST命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちRST命令を実行した呼び出し元のメインルーチンまたはサブルーチンに復帰する。   The RST instruction is an instruction for calling a subroutine stored at a specific address corresponding to a specified value to execute by designating a value corresponding to a plurality of predetermined specific addresses. A subroutine can be called with a smaller amount of data than an instruction or a CALLV instruction. When calling the subroutine by the RST instruction, the main control unit 41 stores the address of the caller in the stack area, calls and executes the subroutine stored at the specific address corresponding to the designated value. After the subroutine ends, the process returns to the address of the caller stored in the stack area, that is, the main routine or the subroutine of the caller who has executed the RST instruction.

ジャンプ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたプログラムに移動する命令である。メイン制御部41は、ジャンプ命令により指定されたアドレスに格納されたプログラムに移動し、移動先のプログラムを実行する。この場合には、CALL命令やRST命令と異なり、移動後のプログラムが終了しても移動元のプログラムに復帰することはない。   The jump instruction is an instruction for moving to a program stored at an address specified in a main routine or a subroutine. The main control unit 41 moves to the program stored at the address specified by the jump command, and executes the destination program. In this case, unlike the CALL instruction or the RST instruction, even if the program after the movement ends, the program does not return to the source program.

また、メイン制御部41にプログラム/データ領域に格納されたデータを読み出す命令としてLD命令を含む。LD命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたデータを指定されたレジスタに読み出す命令である。メイン制御部41は、LD命令により指定されたアドレスに格納されたデータを読み出し、LD命令により指定されたレジスタに読み出したデータを格納する。   The main control unit 41 includes an LD instruction as an instruction to read data stored in the program / data area. The LD instruction is an instruction for reading data stored at an address specified in a main routine or a subroutine into a specified register. The main control unit 41 reads the data stored at the address specified by the LD instruction, and stores the read data in the register specified by the LD instruction.

ROM41bに格納された遊技プログラムのうち特に使用頻度の高いサブルーチンは、ROM41bの遊技プログラム領域のうち先頭アドレスが特定値(例えば00H)となる領域に格納されている。一方、ROM41bのベクタテーブル領域には、CALLV命令で呼び出すサブルーチンの上位アドレスとして特定値が設定されている。そして、メイン制御部41は、先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、CALLV命令を用いて下位アドレスのみ指定することで、上位アドレスとしてベクタテーブル領域に設定された特定値を特定し、下位アドレスとして指定された下位アドレスを特定し、上位及び下位を合わせたアドレスに格納されたサブルーチンを呼び出して実行する。このため、遊技プログラムのうち特に使用頻度の高いサブルーチンを呼び出す際に用いるアドレスの一部を構成する上位アドレスが特定値として予めベクタテーブルに設定されており、ベクタテーブルに設定された特定値に基づいてアドレスが特定されるため、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のCALL命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。   A subroutine frequently used among the game programs stored in the ROM 41b is stored in a region of the game program region of the ROM 41b where the start address is a specific value (for example, 00H). On the other hand, in the vector table area of the ROM 41b, a specific value is set as an upper address of a subroutine called by the CALLV instruction. Then, when calling the subroutine in which the upper address of the top address becomes the specific value, the main control unit 41 specifies only the lower address using the CALLV instruction, thereby changing the specific value set in the vector table area as the upper address. Then, the lower address specified as the lower address is specified, and the subroutine stored at the combined upper and lower addresses is called and executed. For this reason, an upper address constituting a part of an address used when calling a particularly frequently used subroutine in the game program is set in the vector table in advance as a specific value, and based on the specific value set in the vector table. Address, the subroutine can be called with a smaller amount of data as compared with a normal CALL instruction for calling a program by designating both the upper address and the lower address. It is possible to reduce waste of a program for specifying an address.

尚、ROM41bに格納された非遊技プログラムのうち特に使用頻度の高いサブルーチンを、ROM41bの非遊技プログラム領域のうち先頭アドレスが特定値となる領域に格納するとともに、ROM41bのベクタテーブル領域に、CALLV命令で呼び出すサブルーチンの上位アドレスとして特定値を設定し、メイン制御部41が先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、CALLV命令を用いて下位アドレスのみ指定することで、これらのサブルーチンを呼び出して実行する構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のCALL命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。   A particularly frequently used subroutine among the non-game programs stored in the ROM 41b is stored in an area of the non-game program area of the ROM 41b where the start address is a specific value, and a CALLV instruction is stored in a vector table area of the ROM 41b. By setting a specific value as an upper address of a subroutine to be called in the subroutine, and when the main control unit 41 calls a subroutine in which the upper address of the leading address has a specific value, only the lower address is specified by using the CALLV instruction. , The subroutine can be called with a smaller amount of data compared to a normal CALL instruction that calls a program by specifying both the upper address and the lower address. When calling It is possible to reduce the waste of program for specifying the address.

また、CALLV命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部41の特定のレジスタに設定する構成としても良い。   Further, a configuration may be adopted in which the upper address used when calling by the CALLV instruction is set in a specific register of the main control unit 41 instead of the vector table area.

また、CALLV命令に限らず、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、サブルーチンの格納アドレスが特定可能となる特殊なCALL命令を用いる構成であれば、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれサブルーチンの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたサブルーチンの格納アドレスを特定可能となる特殊なCALL命令を用いる構成であっても、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。   In addition to the CALLV instruction, a part of the address is specified by using a value stored in a vector table area, a value set in a specific register, and the like, and by specifying the remaining part of the address, With a configuration using a special CALL instruction that can specify the storage address of a subroutine, it is possible to reduce waste of a program for specifying an address when calling a subroutine. In addition, an identification value having a smaller data amount than an address is assigned to each of a plurality of areas constituting the vector table area, and a storage address of a subroutine is set to each of the plurality of areas. Even with a configuration using a special CALL instruction capable of specifying a storage address of a subroutine stored in an area corresponding to a value, it is possible to reduce waste of a program for specifying an address when calling a subroutine. .

また、ROM41bに格納された遊技データのうち特に使用頻度の高い遊技データを、ROM41bの遊技データ領域のうち先頭アドレスが特定値となる領域に格納するとともに、ROM41bのベクタテーブル領域に、特殊なLD命令で読み出すデータの上位アドレスとして特定値を設定し、メイン制御部41が先頭アドレスの上位アドレスが特定値となる遊技データを呼び出すときに、特殊なLD命令を用いて下位アドレスのみ指定することで、これらの遊技データを読み出す構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にて遊技データを呼び出すことが可能となり、これらの遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。   In addition, game data that is particularly frequently used among game data stored in the ROM 41b is stored in a region of the game data area of the ROM 41b where a head address is a specific value, and a special LD is stored in a vector table area of the ROM 41b. By setting a specific value as the upper address of the data to be read by the instruction, and when the main control unit 41 calls game data in which the upper address of the top address becomes the specific value, the lower address is specified using a special LD instruction. Even in the case where the game data is read out, it is possible to call out the game data with a smaller amount of data as compared with a normal LD instruction for reading out the data by specifying both the upper address and the lower address. Of the program for specifying the address when reading the game data of It can be reduced.

また、ROM41bに格納された非遊技データのうち特に使用頻度の高い非遊技データを、ROM41bの非遊技データ領域のうち先頭アドレスが特定値となる領域に格納するとともに、ROM41bのベクタテーブル領域に、特殊なLD命令で読み出すデータの上位アドレスとして特定値を設定し、メイン制御部41が先頭アドレスの上位アドレスが特定値となる非遊技データを呼び出すときに、特殊なLD命令を用いて下位アドレスのみ指定することで、これらの非遊技データを読み出す構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にて非遊技データを呼び出すことが可能となり、これらの非遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。   In addition, the non-game data that is particularly frequently used among the non-game data stored in the ROM 41b is stored in an area of the non-game data area of the ROM 41b where the top address is a specific value, and is stored in the vector table area of the ROM 41b. When a specific value is set as an upper address of data to be read by a special LD instruction, and when the main control unit 41 calls non-game data in which the upper address of the top address has a specific value, only the lower address is used by using the special LD instruction. By designating, even when the non-game data is read, the non-game data is called with a smaller amount of data as compared with a normal LD instruction for reading data by specifying both the upper address and the lower address. And a process for specifying an address when reading these non-game data. It is possible to reduce the waste of lamb.

また、これらの場合でも特殊なLD命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部41の特定のレジスタに設定する構成としても良い。   Also in these cases, a configuration may be adopted in which the upper address used when calling with a special LD instruction is set in a specific register of the main control unit 41 instead of the vector table area.

また、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、データの格納アドレスが特定可能となる特殊なLD命令を用いる構成であれば、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれデータの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたデータの格納アドレスを特定可能となる特殊なLD命令を用いる構成であっても、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。   Part of the address is specified using the value stored in the vector table area, the value set in a specific register, etc., and the data storage address can be specified by specifying the remaining part of the address. With a configuration using a special LD instruction, it is possible to reduce waste of a program for specifying an address when reading data. In addition, an identification value having a smaller data amount than an address is assigned to each of a plurality of areas constituting the vector table area, and a data storage address is set for each of the plurality of areas, and the identification value is specified to specify the identification value. Even with a configuration using a special LD instruction that can specify a storage address of data stored in an area corresponding to a value, it is possible to reduce waste of a program for specifying an address when reading data. .

メイン制御部41は、システムリセット信号の入力によるシステムリセット、WDT506bによるWDTリセット、前述のイリーガルアクセスリセットが発生することで起動することとなるが、この際、ベクタテーブル領域に設定された値、すなわちCALLV命令のサブルーチンの上位アドレス及びタイマ割込処理(メイン)の先頭アドレスが、プログラム領域のうちプログラム等が実際に格納された領域を示す値であるか、またはFFFFH(未使用のベクタテーブル領域に設定される値)であるか、を判定し、ベクタテーブル領域に設定された値がプログラムが設定される領域外を示す値でもなく、FFFFHでもない場合には、起動しないようになっており、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。   The main control unit 41 is activated when a system reset by input of a system reset signal, a WDT reset by the WDT 506b, and the above-mentioned illegal access reset occur. At this time, the value set in the vector table area, that is, The upper address of the subroutine of the CALLV instruction and the start address of the timer interrupt processing (main) are values indicating the area where the program or the like is actually stored in the program area, or FFFFH (in the unused vector table area). Is determined, and if the value set in the vector table area is neither a value indicating the outside of the area where the program is set nor FFFFH, it does not start up. Unintended processing may be executed due to the occurrence of interrupts, etc. It can be prevented before.

遊技プログラムとは、遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。一方、非遊技プログラムとは、遊技の進行に係わらないプログラムであり、遊技プログラムから呼び出されて当該プログラムに基づく処理が実行されずに遊技プログラムに復帰した場合でも、遊技を進行させることが可能な処理を実行するためのプログラムである。   The game program is a program related to the progress of the game, and is a program for executing a process that hinders the progress of the game unless a process based on the program is executed. On the other hand, the non-game program is a program that is not related to the progress of the game, and even if it is called from the game program and returns to the game program without executing the processing based on the program, the game can be advanced. This is a program for executing processing.

遊技プログラムは、図8に示すように、遊技プログラムだけに含まれる遊技専用プログラムと、遊技プログラム及び非遊技プログラム双方に含まれる共通判定プログラム及び共通汎用プログラムと、を含む。   As shown in FIG. 8, the game program includes a game dedicated program included only in the game program, and a common determination program and a common general-purpose program included in both the game program and the non-game program.

遊技専用プログラムは、例えば、遊技開始待ち処理、内部抽選処理、リール制御処理、遊技終了時設定処理、外部出力1処理、初期設定処理、電断処理、エラー処理を含む。遊技開始待ち処理は、1ゲームの制御の終了後、メダルの投入等により賭数を設定し、規定数の賭数が設定された後、スタートスイッチ7が操作されることでゲームを開始させるための処理であり、内部抽選処理は、内部抽選を行い、当選フラグの設定等を行う処理であり、リール制御処理は、リールの回転を開始させ、ストップスイッチ8L、8C、8Rが操作されることでリールを停止させるための処理であり、遊技終了時設定処理は、停止したリールの停止位置に応じて入賞が発生したか否かを判定し、メダルの払出、再遊技の設定、遊技状態の移行等を行うための処理であり、外部出力1処理は、外部出力信号のうちメダルIN信号、メダルOUT信号、RB中信号、BB中信号、RT中信号の出力制御を行うための処理であり、初期設定処理は、電源投入時においてゲームを可能な状態とするための処理(バックアップ異常確認、レジスタ初期化等)であり、電断処理は、電断発生時に、その後電断前の状態に復帰できるようにするための処理であり、エラー処理は、各種の異常(メダルの投入異常、メダルセレクタ29内の異物検知、リール回転異常、メダルの払出異常、払出口付近の異物検知、RAM異常、設定値異常、ホッパータンク34aの空、オーバーフロータンク35の満タン検知等)が検知された場合に遊技を不能化するための処理である。また、特に図示しないが、遊技プログラムは、前述のATに関連する処理(ATに係る抽選やナビ報知に係る制御等)も含む。   The game-dedicated program includes, for example, a game start waiting process, an internal lottery process, a reel control process, a game end setting process, an external output 1 process, an initial setting process, a power interruption process, and an error process. The game start waiting process is for setting the bet amount by inserting medals or the like after the control of one game is completed, and starting the game by operating the start switch 7 after the specified number of bets is set. The internal lottery process is a process of performing an internal lottery and setting a winning flag, and the reel control process is to start rotation of the reels and to operate the stop switches 8L, 8C, 8R. In the game end setting process, it is determined whether or not a prize has occurred according to the stop position of the stopped reel, payout of medals, setting of re-games, The external output 1 process is a process for performing transition or the like, and the external output 1 process is a process for controlling the output of the medal IN signal, the medal OUT signal, the RB signal, the BB signal, and the RT signal among the external output signals. , First The setting process is a process for enabling the game when the power is turned on (backup abnormality confirmation, register initialization, etc.). The power interruption process can return to the state before the power interruption after the power interruption occurs. The error processing includes various kinds of abnormalities (medal insertion abnormality, foreign object detection in the medal selector 29, reel rotation abnormality, medal payout abnormality, foreign matter detection near the payout exit, RAM abnormality, setting, etc.). This is a process for disabling the game when a value abnormality, empty hopper tank 34a, full tank detection of overflow tank 35, etc.) are detected. Although not specifically shown, the game program also includes processing related to the above-described AT (such as lottery related to the AT and control related to navigation notification).

遊技プログラムにおける共通判定プログラムは、例えば、投入判定処理、払出判定処理を含む。投入判定処理は、投入メダルセンサ31によるメダルの正常な通過であるか否かを判定する処理であり、賭数の設定等のためにメダルの投入が可能な状態において実行される処理である。払出判定処理は、払出センサ34cによるメダルの正常な通過であるか否かを判定する処理であり、小役の入賞時やクレジットの精算時にメダルの払出が許可されている状態において実行される処理である。   The common determination program in the game program includes, for example, an insertion determination process and a payout determination process. The insertion determination process is a process of determining whether or not a medal is normally passed by the inserted medal sensor 31, and is a process executed in a state where medals can be inserted for setting a bet amount or the like. The payout determination process is a process of determining whether or not the medal is normally passed by the payout sensor 34c, and is a process executed in a state in which the payout of the medal is permitted at the time of winning a small combination or at the time of credit settlement. It is.

遊技プログラムにおける共通汎用プログラムは、遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、LED表示処理、データ設定処理、コマンド設定処理を含む。カウンタ更新処理は、指定されたカウンタ値を更新するための処理であり、ポート入力処理は、指定されたポートの入力状態を取得する処理であり、データ変換処理は、遊技データを用いて入力されたデータを変換して出力する処理であり、LED表示処理は、指定された値をLEDに表示させるために設定する処理であり、データ設定処理は、指定されたデータを設定する処理であり、コマンド設定処理は、指定されたコマンドをコマンドキューに設定する処理である。   The common general-purpose program in the game program is a process called and executed from a plurality of types of processes constituting the game program. For example, a counter update process, a port input process, a data conversion process, an LED display process, a data setting process, Including command setting processing. The counter update process is a process for updating a designated counter value, the port input process is a process for acquiring an input state of a designated port, and the data conversion process is a process for inputting game data. The LED display process is a process of setting the designated value to be displayed on the LED, and the data setting process is a process of setting the designated data. The command setting process is a process of setting a specified command in a command queue.

特に、遊技プログラムは、上述のように異常が検知された場合に、異常の種別に応じた解除条件(乱数異常、RAM異常、バックアップ異常、設定値異常の場合は、設定値の再設定、それ以外の異常の場合はリセット操作)が成立するまで遊技の進行を不能化するエラー処理を含む。   In particular, when an abnormality is detected as described above, the game program executes a reset condition (such as a random number abnormality, a RAM abnormality, a backup abnormality, or a setting value abnormality in the case of a setting value abnormality, Error processing to disable the progress of the game until a reset operation is established in the case of an abnormality other than the above.

非遊技プログラムは、図8に示すように、非遊技プログラムだけに含まれる非遊技専用プログラムと、遊技プログラムと同じ共通判定プログラム及び共通汎用プログラムと、を含む。   As shown in FIG. 8, the non-game program includes a non-game dedicated program included only in the non-game program, and a common determination program and a common general-purpose program that are the same as the game program.

非遊技専用プログラムは、例えば、試験信号出力処理、異物検知処理、ドア監視処理、外部出力2処理、投入メダルエラー判定処理、払出メダルエラー判定処理、停電判定処理、通常時コマンド送信処理、電断時コマンド送信処理を含む。試験信号出力処理は、遊技の結果に関連して発生する試験信号を出力するための処理であり、異物検知処理は、投入口センサ26によるメダル通路内の異物を検知するための処理であり、ドア監視処理は、前面扉1bの開放を検知するための処理であり、外部出力2処理は、外部出力信号のうちセキュリティ信号(ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号)の出力制御を行うための処理であり、投入メダルエラー判定処理は、投入メダルセンサ31の検出状況に基づいて投入メダルの逆流検知、メダルセレクタ29内のメダル詰り検知、メダルセレクタ29内の異物検知を行うための処理であり、払出メダルエラー判定処理は、払出センサ34cの検出状況に基づいて払出メダルの逆流検知、払出口付近のメダル詰り検知、払出口付近の異物検知を行うための処理であり、停電判定処理は、電断検出回路48からの電圧低下信号が検出されているか否かを判定するための処理であり、通常時コマンド送信処理は、遊技専用プログラム及び非遊技専用プログラムのコマンド設定処理によりコマンドキューに設定されているコマンドのうち最初に設定された一のコマンドをサブ制御部91に対して送信するための処理であり、電断時コマンド送信処理は、コマンドキューに設定されている全てのコマンドをサブ制御部91に対して送信するための処理である。   Non-gaming dedicated programs include, for example, test signal output processing, foreign object detection processing, door monitoring processing, external output 2 processing, inserted medal error determination processing, payout medal error determination processing, power failure determination processing, normal command transmission processing, power interruption Time command transmission processing. The test signal output process is a process for outputting a test signal generated in association with the result of the game, and the foreign object detection process is a process for detecting a foreign object in the medal passage by the slot sensor 26, The door monitoring process is a process for detecting the opening of the front door 1b, and the external output 2 process is a process of detecting a security signal (a door opening signal, a setting change signal, a closing error signal, a dispensing error signal) among the external output signals. This is a process for performing output control. In the inserted medal error determination process, based on the detection status of the inserted medal sensor 31, detection of a backflow of the inserted medal, detection of a clogged medal in the medal selector 29, and detection of a foreign object in the medal selector 29 are performed. The payout medal error determination processing is performed based on the detection state of the payout sensor 34c. The power failure determination process is a process for determining whether or not a voltage drop signal from the power interruption detection circuit 48 has been detected. The transmission process is a process for transmitting, to the sub-control unit 91, one command set first among the commands set in the command queue by the command setting process of the game dedicated program and the non-game dedicated program. The power-off command transmission process is a process for transmitting all commands set in the command queue to the sub-control unit 91.

非遊技プログラムにおける共通汎用プログラムは、非遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、遊技プログラムにおける共通汎用プログラムと同様に、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、LED表示処理、データ設定処理、コマンド設定処理を含む。   The common general-purpose program in the non-game program is a process called and executed from a plurality of types of processes constituting the non-game program, and like the common general-purpose program in the game program, for example, a counter update process, a port input process, It includes data conversion processing, LED display processing, data setting processing, and command setting processing.

非遊技プログラムは、遊技の進行に係わらない検知手段(投入口センサ26、満タンセンサ35a、ドア開放検出スイッチ25)の検出状況に基づいて所定の検出状況か否かを判定する処理を含む。   The non-game program includes a process of determining whether or not a predetermined detection state is based on the detection state of the detection means (the insertion port sensor 26, the full tank sensor 35a, and the door open detection switch 25) which are not related to the progress of the game.

また、非遊技プログラムは、複数の制御状態(遊技開始待ち処理、内部抽選処理、リール制御処理、遊技終了時設定処理)のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段(例えば、投入メダルセンサ31、払出センサ34c)が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理(例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理)を含む。尚、このような判定処理は、遊技プログラムにおいて遊技の進行に係わる制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理と同じ処理であるため、共通判定プログラムに該当する。   Further, the non-game program functions as a detection means relating to the progress of the game in a specific control state among a plurality of control states (game start waiting processing, internal lottery processing, reel control processing, game end setting processing). In other control states, the detecting means (for example, the inserted medal sensor 31 and the payout sensor 34c) functioning as detecting means not related to the progress of the game is based on the detection state in the control state not related to the progress of the game. A process of determining whether or not a predetermined detection situation is present (for example, a process of detecting inserted medals and a process of detecting paid-out medals for detecting an abnormality due to detection of insertion of medals during spinning of the reels and payout of medals). Including. In addition, since such a determination process is the same process as determining whether or not a predetermined detection status is based on a detection status in a control state related to the progress of a game in a game program, it corresponds to a common determination program. .

尚、遊技プログラムに含まれる処理のうち、外部出力1処理、遊技開始待ち処理においてメダルの投入数を計数する処理、流路切替ソレノイド30を切り替える処理、遊技終了時設定処理においてメダルの払出数を計数する処理、ホッパータンク34aが空になったことを検知する処理、ソフトウェア乱数を更新する処理、ATに関連する処理、内部当選コマンドの送信処理等、ゲームの進行に直接的には関連しないものであればこれらの処理の全部または一部が非遊技プログラムに含まれる構成であっても良い。一方で、非遊技プログラムに含まれる処理のうち遊技の進行に間接的に関連するものであればこれらの処理の全部または一部が遊技プログラムに含まれる構成であっても良い。   In the processing included in the game program, the external output 1 processing, the processing of counting the number of inserted medals in the game start waiting processing, the processing of switching the flow path switching solenoid 30, and the number of medals paid out in the game end setting processing are performed. Processing that is not directly related to the progress of the game, such as counting, processing for detecting that the hopper tank 34a has been emptied, processing for updating software random numbers, processing related to AT, transmission of internal winning commands, etc. If so, all or a part of these processes may be included in the non-game program. On the other hand, all or some of the processes included in the non-game program may be included in the game program as long as they are indirectly related to the progress of the game.

本実施例においてメイン制御部41のCPU41aは、図9に示すように、遊技プログラムに基づく処理において非遊技プログラムを呼び出して非遊技プログラムに基づく処理を実行し、非遊技プログラムに基づく処理の終了後、遊技プログラムに基づく処理に復帰する。   In the present embodiment, as shown in FIG. 9, the CPU 41a of the main control unit 41 calls the non-game program in the process based on the game program, executes the process based on the non-game program, and executes the process based on the non-game program. Then, the process returns to the process based on the game program.

図9に示すように、CPU41aは、原則として遊技プログラムに基づく処理を実行するにあたり、遊技データ領域の遊技データを参照して遊技プログラムに基づく処理を実行するとともに、遊技RAM領域をワークとして使用し、遊技RAM領域の内容を参照及び更新することが可能である。また、CPU41aは、原則として非遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域の遊技データを参照して非遊技プログラムに基づく処理を実行するとともに、非遊技RAM領域をワークとして使用し、非遊技RAM領域の内容を参照及び更新することが可能である。   As shown in FIG. 9, the CPU 41a executes the processing based on the game program with reference to the game data in the game data area, and uses the game RAM area as a work when executing the processing based on the game program in principle. It is possible to refer to and update the contents of the game RAM area. In addition, when executing the processing based on the non-gaming program in principle, the CPU 41a executes the processing based on the non-gaming program with reference to the game data in the non-gaming data area, and uses the non-gaming RAM area as a work, It is possible to refer to and update the contents of the non-game RAM area.

また、CPU41aは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技RAM領域を更新することはないが、非遊技RAM領域を参照することは可能であり、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することはなく、遊技RAM領域を更新することはないが、遊技RAM領域を参照することは可能である。   Further, in executing the processing based on the game program, the CPU 41a does not refer to the non-game data area and does not update the non-game RAM area, but can refer to the non-game RAM area. In executing the processing based on the non-game program, the game RAM area is not updated and the game RAM area is not updated, but the game RAM area can be referred to.

また、遊技プログラムに基づく処理は、非遊技RAM領域のうち遊技プログラムに必要な特定の領域(例えば、異常の検知を示すエラーフラグの設定領域等)のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技RAM領域のうち非遊技プログラムに必要な特定の領域(例えば、内部当選フラグの設定領域、遊技状態の設定領域、RTの設定領域等)のみ参照可能とされている。また、非遊技RAM領域のうち遊技プログラムに基づく処理が参照可能な特定の領域、遊技RAM領域のうち非遊技プログラムに基づく処理が参照可能な特定の領域は、連続するアドレス領域に割り当てられることが好ましいが、一部または全部が連続しないアドレス領域に割り当てられる構成であっても良い。   In addition, the processing based on the game program can refer only to a specific area (for example, an error flag setting area indicating abnormality detection) of the non-game RAM area necessary for the game program. In the processing based on the game RAM area, only a specific area necessary for the non-game program (for example, an internal winning flag setting area, a game state setting area, an RT setting area, and the like) can be referred to. In addition, a specific area in the non-game RAM area where processing based on the game program can be referred to, and a specific area in the game RAM area where processing based on the non-game program can be referred to may be assigned to consecutive address areas. Although preferred, a configuration in which a part or the whole is allocated to a discontinuous address area may be used.

このように本実施例では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが参照する遊技データが読み出し可能に記憶される遊技データ領域と、遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される遊技RAM領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが参照する非遊技データが読み出し可能に記憶される非遊技データ領域と、非遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される非遊技RAM領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技データ及び遊技プログラムのワークデータと、非遊技プログラム、非遊技データ及び非遊技プログラムのワークデータと、を記憶領域の違いに応じて容易に特定することができる。   As described above, in the present embodiment, a game program area in which a game program relating to the progress of a game is stored, a game data area in which game data referred to by the game program is stored in a readable manner, and work data referred to by the game program. Is stored in a readable and writable manner, a non-game program area in which a non-game program which is a program called by the game program and is not related to the progress of the game is stored, and a non-game referenced by the non-game program Since a non-game data area in which data is stored in a readable manner and a non-game RAM area in which work data referenced by the non-game program is stored in a readable and writable manner are separately allocated, a game program, Game data and game program work data, Game program, the workpiece data of the non game data and non-game program, can be easily identified according to a difference in the storage area.

また、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データ領域と、を分けることで、それぞれの機能に応じてROM41bに占める領域をコンパクトに管理することができるため、各領域において該当するデータを特定することがさらに容易となる。   Also, by dividing the game program area and the game data area from the non-game program area and the non-game data area, the area occupied in the ROM 41b can be compactly managed according to each function. It becomes even easier to identify the relevant data.

また、本実施例では、遊技プログラムを実行する際に、非遊技RAM領域を参照することが可能であり、非遊技プログラムを実行する際に、遊技RAM領域を参照することが可能であるため、遊技プログラムを実行するにあたり、非遊技プログラムが使用していたデータを簡単に利用することができ、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、遊技プログラムを実行する際に、非遊技RAM領域を更新することは不可能であり、非遊技プログラムを実行する際に、遊技RAM領域を更新することは不可能であるため、遊技プログラムが非遊技プログラムの処理に影響を及ぼすことなく、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。   Further, in the present embodiment, it is possible to refer to the non-game RAM area when executing the game program, and to refer to the game RAM area when executing the non-game program. In executing the game program, the data used by the non-game program can be easily used, and in executing the non-game program, the data used by the game program can be easily used. On the other hand, when the game program is executed, it is impossible to update the non-game RAM area, and when the non-game program is executed, it is impossible to update the game RAM area. Does not affect the processing of the non-game program, and the non-game program does not affect the processing of the game program.

また、本実施例では、遊技プログラムに基づく処理は、非遊技RAM領域のうち遊技プログラムに必要な特定の領域(例えば、異常の検知を示すエラーフラグの設定領域等)のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技RAM領域のうち非遊技プログラムに必要な特定の領域(例えば、内部当選フラグの設定領域、遊技状態の設定領域、RTの設定領域等)のみ参照可能とされているので、遊技プログラムが非遊技RAM領域において参照可能なデータ、非遊技プログラムが参照可能なデータが特定の領域に制限されているため、遊技プログラムまたは非遊技プログラムの参照先を容易に特定することができる。   Further, in the present embodiment, the processing based on the game program can refer only to a specific area required for the game program (for example, an error flag setting area indicating abnormality detection) in the non-game RAM area. The processing based on the non-gaming program can refer to only a specific area required for the non-gaming program (for example, an internal winning flag setting area, a game state setting area, an RT setting area, etc.) in the game RAM area. Since the data which can be referred to by the game program in the non-game RAM area and the data which can be referred to by the non-game program are limited to a specific area, the reference destination of the game program or the non-game program can be easily specified. be able to.

本実施例のメイン制御部41は、図10(a)に示すように、メイン処理の実行中に、遊技プログラムに基づく処理から非遊技プログラムを呼び出すことが可能であり、図10(b)に示すように、タイマ割込処理の実行中に、遊技プログラムに基づく処理から非遊技プログラムを呼び出すことが可能である。   As shown in FIG. 10A, the main control unit 41 of the present embodiment can call a non-game program from a process based on the game program during execution of the main process. As shown, it is possible to call a non-game program from a process based on the game program during execution of the timer interrupt process.

図10(a)に示すように、遊技プログラムに基づくメイン処理から非遊技プログラムを呼び出す際に、当該遊技プログラムでは、呼び出す対象の非遊技プログラムの開始アドレスを特定の領域に設定し、共通呼出処理1を実行する。共通呼出処理1は、遊技プログラムに含まれる処理であり、共通呼出処理1では、遊技プログラムのレジスタを遊技スタック領域に退避させるとともに、スタックポインタ(SP、遊技スタック領域の現在の位置を示すアドレス)を遊技RAM領域のSP退避領域に退避したうえで、割込マスタ許可フラグの値を割込禁止を示す値に設定することでタイマ割込を禁止に設定し、その後、特定の領域に設定されているアドレスの非遊技プログラムを呼び出す。   As shown in FIG. 10A, when a non-game program is called from the main process based on the game program, the start address of the non-game program to be called is set in a specific area in the game program, and the common call process is performed. Execute 1. The common call process 1 is a process included in the game program. In the common call process 1, the register of the game program is saved in the game stack area, and the stack pointer (SP, an address indicating the current position of the game stack area) Is saved to the SP save area of the game RAM area, the timer interrupt is set to be prohibited by setting the value of the interrupt master permission flag to a value indicating that the interrupt is prohibited, and then set to a specific area. Call the non-gaming program at the address you are at.

これに対して、呼び出された非遊技プログラムに基づいて、非遊技プログラムのスタックポインタ(非SP、非遊技スタック領域の現在の位置を示すアドレス)を設定して、非遊技プログラムの処理を実行した後、呼び出し元の遊技プログラム、すなわち共通呼出処理1に復帰する。   On the other hand, based on the called non-game program, the stack pointer (non-SP, address indicating the current position of the non-game stack area) of the non-game program is set, and the processing of the non-game program is executed. Thereafter, the process returns to the calling game program, that is, the common calling process 1.

共通呼出処理1に復帰した後には、共通呼出処理1は、割込マスタ許可フラグの値を割込許可を示す値に設定することでタイマ割込の禁止を解除し、遊技スタック領域及びSP退避領域に退避させていたデータに基づいて、レジスタ及び遊技プログラムのスタックポインタを、非遊技プログラムを呼び出す前の状態に復帰させて終了する。   After returning to the common call processing 1, the common call processing 1 releases the timer interrupt prohibition by setting the value of the interrupt master permission flag to a value indicating the interrupt permission, and saves the game stack area and the SP. Based on the data saved in the area, the register and the stack pointer of the game program are returned to the state before calling the non-game program, and the processing ends.

このように、本実施例では、遊技プログラムが非遊技プログラムを呼び出す際に、共通呼出処理1により、割込を禁止に設定し、当該非遊技プログラムから遊技プログラムに復帰する際に、割込の禁止を解除するので、非遊技プログラムが実行されている期間にわたり割込を禁止に設定することができる。   As described above, in the present embodiment, when the game program calls the non-game program, the interrupt is set to be prohibited by the common calling process 1, and when returning from the non-game program to the game program, the interruption of the interrupt is set. Since the prohibition is released, the interrupt can be set to be prohibited during the period in which the non-game program is being executed.

尚、非遊技プログラムが、遊技プログラムに基づくメイン処理から呼び出された場合に、当該非遊技プログラムが、最初に割込を禁止に設定したうえで、各種処理を実行し、当該非遊技プログラムの最後に割込の禁止を解除する構成としても良く、このような構成とすることで、本実施例と同様に、非遊技プログラムが実行されている期間にわたり割込を禁止に設定することができる。また、非遊技プログラムにより割込の禁止及び解除の設定が行われるため、遊技プログラムの共通呼出処理1において割込の禁止の設定及び解除する必要がなくなり、遊技プログラムの容量を削減することができる。   When the non-game program is called from the main process based on the game program, the non-game program sets various types of processing after first setting interrupts to be prohibited, and executes the last process of the non-game program. In this case, the interrupt can be set to be prohibited during the period in which the non-game program is executed, as in the present embodiment. Further, since the setting of prohibition and cancellation of the interrupt is performed by the non-game program, it is not necessary to set and cancel the prohibition of the interrupt in the common calling process 1 of the game program, and the capacity of the game program can be reduced. .

図10(b)に示すように、遊技プログラムに基づくタイマ割込処理から非遊技プログラムを呼び出す際に、当該遊技プログラムでは、呼び出す対象の非遊技プログラムの開始アドレスを特定の領域に設定し、共通呼出処理2を実行する。共通呼出処理2では、遊技プログラムのレジスタを遊技スタック領域に退避させるとともに、スタックポインタ(SP、遊技スタック領域の現在の位置を示すアドレス)を遊技RAM領域のSP退避領域に退避したうえで、特定の領域に設定されているアドレスの非遊技プログラムを呼び出す。   As shown in FIG. 10B, when a non-game program is called from the timer interrupt processing based on the game program, the start address of the non-game program to be called is set in a specific area in the game program, and Execute call processing 2. In the common calling process 2, the register of the game program is saved in the game stack area, and the stack pointer (SP, the address indicating the current position of the game stack area) is saved in the SP save area of the game RAM area, and then specified. The non-game program of the address set in the area is called.

これに対して、呼び出された非遊技プログラムは、非遊技プログラムのスタックポインタを設定し、非遊技プログラムの処理を実行した後、呼び出し元の共通呼出処理2に復帰する。   On the other hand, the called non-game program sets the stack pointer of the non-game program, executes the process of the non-game program, and then returns to the common calling process 2 of the caller.

共通呼出処理2に復帰した後には、共通呼出処理2は、遊技スタック領域及びSP退避領域に退避させていたデータに基づいてレジスタ及び遊技プログラムのスタックポインタを、非遊技プログラムを呼び出す前の状態に復帰させて終了する。   After returning to the common calling process 2, the common calling process 2 sets the register and the stack pointer of the game program to the state before calling the non-game program based on the data saved in the game stack area and the SP save area. Return and end.

このように、共通呼出処理2では、共通呼出処理1と異なり、タイマ割込を禁止に設定及び解除しないが、上述のようにメイン制御部41では、タイマ割込処理の実行中に他の割込処理が実行されることが禁止されているので、非遊技プログラムが実行されている期間にわたり割込を禁止できる。 As described above, in the common call process 2, unlike the common call process 1, the timer interrupt is not set to be disabled or canceled, but as described above, the main control unit 41 performs other interrupts during execution of the timer interrupt process. Since the execution of the interruption process is prohibited, the interruption can be prohibited during the period in which the non-game program is being executed.

本実施例では、遊技プログラムが、共通呼出処理1及び共通呼出処理2を実行することで、非遊技プログラムを呼び出して非遊技プログラムを実行する際に、遊技プログラムが実際に使用していたレジスタであるか否かに関わらずレジスタの全ての領域を退避させて保護する処理が行われるため、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができる。   In this embodiment, when the game program executes the common call process 1 and the common call process 2 to call the non-game program and execute the non-game program, the game program uses the register actually used by the game program. Since the process of saving and protecting all areas of the register is performed regardless of the presence or absence, when returning to the game program, it is possible to reliably return from the state at the time the non-game program was called .

尚、共通呼出処理1及び共通呼出処理2を実行することなく、遊技プログラムにおいて遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成としても良く、このような構成とすることで、非遊技プログラムの呼び出し前にレジスタの保護処理が行われ、非遊技プログラムからの復帰後にレジスタの復旧処理が行われるため、非遊技プログラムによってレジスタに記憶されたデータが遊技プログラムに影響を及ぼすことがない。   In addition, without executing the common calling process 1 and the common calling process 2, the value of the register used by the game program immediately before calling the non-game program from the process based on the game program in the game program is protected. After all the processing based on is completed, the configuration may be such that the value of the protected register is restored at the initial stage of returning to the game program. With such a configuration, the register may be restored before calling the non-game program. Is performed, and the register is restored after returning from the non-game program, so that the data stored in the register by the non-game program does not affect the game program.

また、非遊技プログラムが呼び出された場合に、当該非遊技プログラムが、最初に遊技プログラムのスタックポインタ及びレジスタを退避させ、当該非遊技プログラムの最後に遊技プログラムのスタックポインタ及びレジスタを復帰させる構成としても良く、このような構成とすることで、本実施例と同様に、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができるとともに、遊技プログラムの容量を削減することができる。   Further, when the non-game program is called, the non-game program first saves the stack pointer and the register of the game program, and restores the stack pointer and the register of the game program at the end of the non-game program. With such a configuration, as in the present embodiment, when returning to the game program, it is possible to reliably return from the state at the time the non-game program was called, and The capacity can be reduced.

次に、本実施例におけるメイン制御部41が実行する各種制御内容を、図11〜図18に基づいて以下に説明する。   Next, various control contents executed by the main control unit 41 in the present embodiment will be described below with reference to FIGS.

まず、メイン制御部41が起動時に実行する初期設定処理について説明する。メイン制御部41は、リセットの発生により起動すると、起動時設定を行う。起動時設定では、メイン制御部41が備えるステータスフラグを初期化する。ステータスフラグは、命令の演算結果や実行結果の状態を保持するデータであり、特に割込の禁止/許可を設定する割込マスタ許可フラグを含む。割込マスタ許可フラグの初期値は割込の禁止を示す値であるため、メイン制御部41は、割込が禁止された状態で起動することとなる。その後、メイン制御部41は、HWパラメータを参照して各種機能を設定した後、プログラム/データ領域に格納されたプログラムに従って初期設定処理を行う。尚、本実施例において初期設定処理は、遊技プログラムに含まれる。   First, an initialization process executed by the main control unit 41 at the time of startup will be described. When the main control unit 41 is activated by the occurrence of a reset, the main control unit 41 performs a startup setting. In the setting at the time of starting, the status flag provided in the main control unit 41 is initialized. The status flag is data that holds the state of the operation result or execution result of the instruction, and particularly includes an interrupt master permission flag for setting the inhibition / permission of the interrupt. Since the initial value of the interrupt master permission flag is a value indicating that the interrupt is prohibited, the main control unit 41 starts up in a state where the interrupt is prohibited. After that, the main control unit 41 sets various functions with reference to the HW parameters, and then performs an initial setting process according to the program stored in the program / data area. In this embodiment, the initial setting process is included in the game program.

図11に示すように、初期設定処理では、まず、割込マスタ許可フラグの値を割込禁止を示す値に設定することで割込を禁止する(Sa1)。前述のようにメイン制御部41は、割込禁止の状態で起動することとなるが、Sa1では、再度、割込を禁止する。次いで、初期化データをセットし(Sa2)、パラレル出力ポート513を含む各出力ポートを初期化する(Sa3)。次いで、内蔵レジスタの設定を行う(Sa4)。   As shown in FIG. 11, in the initial setting process, first, the value of the interrupt master permission flag is set to a value indicating that the interrupt is prohibited, thereby prohibiting the interrupt (Sa1). As described above, the main control unit 41 is activated in a state where the interrupt is prohibited, but in Sa1, the main control unit 41 prohibits the interrupt again. Next, initialization data is set (Sa2), and each output port including the parallel output port 513 is initialized (Sa3). Next, the internal register is set (Sa4).

次いで、電源電圧が正常か否かを判定する(Sa5)。電源電圧が正常でない場合には正常になるまで判定を繰り返す。電源電圧が正常である場合には割込ベクタの上位アドレスをセットする(Sa6)。そして、RAM41cへのアクセスを許可し(Sa7)、スタックポインタを初期化する(Sa8)。   Next, it is determined whether or not the power supply voltage is normal (Sa5). If the power supply voltage is not normal, the determination is repeated until the power supply voltage becomes normal. If the power supply voltage is normal, the upper address of the interrupt vector is set (Sa6). Then, access to the RAM 41c is permitted (Sa7), and the stack pointer is initialized (Sa8).

次いで、RAM41cの使用可能領域のうち遊技RAM領域(遊技スタック領域、未使用領域3を含む、F000H〜F1FFHの領域)のRAMパリティを計算する(Sa9)。そして、計算したRAMパリティが0か否かを判定する(Sa10)。後述のように前回の電源遮断時に正常に電断処理(メイン)が行われていれば、RAMパリティが0になるはずであるので、Sd10のステップにおいてRAMパリティが0でなければ、RAM41cの遊技RAM領域に格納されているデータが正常ではなく、この場合にはSa13ステップに進み、破壊診断用データをクリアする(Sa13)。一方、RAMパリティが0になる場合には、更に遊技RAM領域に格納されている破壊診断用データを取得し(Sa11)、取得した破壊診断用データが正しいか否かを判定し(Sa12)、破壊診断用データをクリアする(Sa13)。   Next, the RAM parity of the game RAM area (the area of F000H to F1FFH including the game stack area and the unused area 3) in the available area of the RAM 41c is calculated (Sa9). Then, it is determined whether or not the calculated RAM parity is 0 (Sa10). As will be described later, if the power interruption processing (main) is normally performed at the time of the previous power-off, the RAM parity should be 0. Therefore, if the RAM parity is not 0 in the step Sd10, the game of the RAM 41c is executed. If the data stored in the RAM area is not normal, in this case, the process proceeds to step Sa13 to clear the destruction diagnosis data (Sa13). On the other hand, when the RAM parity becomes 0, destruction diagnosis data stored in the game RAM area is further acquired (Sa11), and it is determined whether or not the acquired destruction diagnosis data is correct (Sa12). The destruction diagnosis data is cleared (Sa13).

次いで、設定キースイッチ37がON状態か否かを判定する(Sa14)。設定キースイッチ37がON状態の場合には、タイマ割込の設定を行う(Sa19)。具体的には、所定時間毎に定期的にタイマ割込が実行されるようにメイン制御部41に内蔵されているタイマ回路509のレジスタの設定を行なう。本実施例では約0.56msに相当する値が所定のレジスタ(時間定数レジスタ)に設定されることで、約0.56ms毎に定期的にタイマ割込が発生することとなる。また、タイマ回路509ではレジスタの設定が行われることにより、タイマが初期化され、初期値から計時を開始することになる。Sa19のステップにおけるタイマ割込の設定が終了すると設定変更処理に移行する。   Next, it is determined whether or not the setting key switch 37 is ON (Sa14). When the setting key switch 37 is in the ON state, the timer interrupt is set (Sa19). Specifically, a register of a timer circuit 509 incorporated in the main control unit 41 is set so that a timer interrupt is periodically executed at predetermined time intervals. In this embodiment, a value corresponding to about 0.56 ms is set in a predetermined register (time constant register), so that a timer interrupt is periodically generated about every 0.56 ms. In addition, in the timer circuit 509, by setting the register, the timer is initialized, and the timer starts counting from the initial value. When the setting of the timer interrupt in the step of Sa19 is completed, the processing shifts to the setting change processing.

一方、設定キースイッチ37がOFF状態の場合には、RAM41cの記憶内容が破壊されているか否かを判定する(Sa15)。Sa15のステップでは、後述するRAM異常フラグが設定されているか否か、Sa10、Sa12の判定に基づきRAM41cの記憶内容が破壊されているか否かを判定する。RAM41cの記憶内容が破壊されていない場合には、復帰コマンドをサブ制御部91に送信する(Sa16)。尚、RAM41cの記憶内容が破壊されていない場合とは、RAM異常フラグがセットされておらず、かつSa10のステップにおいてRAMパリティが0であると判定され、さらにSa12のステップにおいて破壊診断用データが正しいと判定された場合である。   On the other hand, when the setting key switch 37 is in the OFF state, it is determined whether or not the storage content of the RAM 41c is destroyed (Sa15). In step Sa15, it is determined whether or not a RAM abnormality flag to be described later is set and whether or not the storage content of the RAM 41c is destroyed based on the determinations in Sa10 and Sa12. If the content stored in the RAM 41c has not been destroyed, a return command is transmitted to the sub control unit 91 (Sa16). Note that the case where the storage content of the RAM 41c is not destroyed means that the RAM abnormality flag is not set, the RAM parity is determined to be 0 in the step Sa10, and the destruction diagnosis data is further determined in the step Sa12. This is the case where it is determined to be correct.

Sa16のステップの後、RAM41cの遊技RAM領域に記憶されているデータに基づいて全てのレジスタを復帰させ(Sa17)、Sa19のステップと同様のタイマ割込の設定を行う(Sa18)。そして、後述のタイマ割込処理(メイン)のSd24の処理に移行する。これにより電断前のRAM41cの遊技RAM領域及び非遊技RAM領域の状態、電断前に実行していた処理に復帰することとなる。   After the step Sa16, all the registers are restored based on the data stored in the game RAM area of the RAM 41c (Sa17), and the same timer interrupt setting as the step Sa19 is performed (Sa18). Then, the processing shifts to Sd24 processing of timer interrupt processing (main) described later. As a result, the state of the game RAM area and the non-game RAM area of the RAM 41c before the power interruption, and the processing executed before the power interruption is restored.

また、Sa15のステップにおいてRAM41cの記憶内容が破壊されている場合には、RAM41cの記憶内容が正常でないことを示すRAM異常フラグをRAM41cにセットし(Sa20)、エラー処理に移行する。エラー処理では、遊技の進行が不能化される。また、RAM異常フラグが設定されて移行したエラー状態では、設定キースイッチ37をON状態にして電源スイッチ39をONにすることによって、設定変更処理に移行させることにより解除することができる。一方、設定キースイッチ37をON状態にせずに電源スイッチ39をONにした場合には、RAM異常フラグが設定されたままであり、Sa15のステップにおいてRAMが破壊されていると判定されることで、再びエラー状態となる。   If the content stored in the RAM 41c is destroyed in the step Sa15, a RAM abnormality flag indicating that the content stored in the RAM 41c is not normal is set in the RAM 41c (Sa20), and the process proceeds to error processing. In the error processing, the progress of the game is disabled. Further, in the error state in which the RAM abnormality flag is set and the state is shifted, the setting key switch 37 is turned on and the power switch 39 is turned on, so that the state can be canceled by shifting to the setting change processing. On the other hand, when the power switch 39 is turned on without setting the setting key switch 37 to the ON state, the RAM abnormality flag remains set, and it is determined in step Sa15 that the RAM is destroyed. The error state is returned again.

次に、メイン制御部41が実行する設定変更処理について説明する。尚、本実施例において設定変更処理は、遊技プログラムに含まれる。   Next, a setting change process executed by the main control unit 41 will be described. In the present embodiment, the setting change process is included in the game program.

図12に示すように、メイン制御部41は、まず、RAM41cの開始アドレス、すなわち使用可能領域の開始アドレス(F000H)をレジスタにセットする(Sb1)。次いで、図11に示したSa15のステップと同様にRAM41cの記憶内容が破壊されているか否かを判定する(Sb2)。RAM41cの内容が破壊されていない場合、すなわちRAM内容が異常でない場合には、設定変更開始時の初期化対象RAMの先頭アドレス(使用可能領域のうち重要ワークが記憶されている領域の最終アドレスの次のアドレス)をレジスタにセットする(Sb3)。すなわちSb1で設定したアドレスを変更する。RAM41cの内容が破壊されている場合、すなわちRAM内容が異常である場合には、Sb4のステップに進む。   As shown in FIG. 12, the main control unit 41 first sets a start address of the RAM 41c, that is, a start address (F000H) of an available area in a register (Sb1). Next, it is determined whether or not the storage content of the RAM 41c has been destroyed (Sb2), similarly to the step of Sa15 shown in FIG. If the contents of the RAM 41c are not destroyed, that is, if the contents of the RAM are not abnormal, the start address of the initialization target RAM at the start of the setting change (the last address of the area where the important work is stored in the available area) The next address is set in the register (Sb3). That is, the address set in Sb1 is changed. If the contents of the RAM 41c are destroyed, that is, if the contents of the RAM are abnormal, the process proceeds to step Sb4.

次いで、初期化対象RAMの最終アドレスとして遊技スタック領域(使用中)の最終アドレス(F1FFH)を指定し(Sb4)、遊技領域初期化処理を実行して、Sb1またはSb3のステップで指定したアドレスから初期化対象RAMの最終アドレスまでの領域を初期化する(Sb5)。Sb1のステップでは、使用可能領域の開始アドレス(F000H)がセットされるため、RAM内容が異常である場合には、Sb5のステップにおいて、RAM41cの遊技RAM領域の全ての領域が初期化されることとなる。一方、Sb3のステップでは、設定変更開始時の初期化対象RAMの先頭アドレスとして、使用可能領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレスがセットされるため、RAM内容が異常でない場合には、Sb5のステップにおいて、RAM41cの遊技RAM領域のうち特別ワーク以外の領域が初期化されることとなる。   Next, the last address (F1FFH) of the game stack area (in use) is specified as the last address of the initialization target RAM (Sb4), the game area initialization process is executed, and the address specified in the step Sb1 or Sb3 starts. The area up to the final address of the initialization target RAM is initialized (Sb5). In step Sb1, the start address (F000H) of the usable area is set, so if the RAM content is abnormal, in step Sb5, all areas of the game RAM area of the RAM 41c are initialized. Becomes On the other hand, in step Sb3, the next address of the last address of the area where the special work is stored in the available area is set as the start address of the initialization target RAM at the start of the setting change. If not abnormal, in step Sb5, an area other than the special work in the game RAM area of the RAM 41c is initialized.

その後、後述する非遊技領域初期化処理を実行して、未使用領域4の先頭アドレスから非遊技スタック領域(使用中)の最終アドレスまでの領域、すなわち未使用領域4及び非遊技RAM領域を初期化する(Sb6)。   Thereafter, a non-game area initialization process described later is executed to initialize the area from the start address of the unused area 4 to the last address of the non-game stack area (in use), that is, the unused area 4 and the non-game RAM area. (Sb6).

次いで、設定変更状態の開始を示す設定コマンド(開始)をサブ制御部91に送信し(Sb7)、割込を許可する(Sb8)。   Next, a setting command (start) indicating the start of the setting change state is transmitted to the sub control unit 91 (Sb7), and the interruption is permitted (Sb8).

次いで、リセット/設定スイッチ38がOFFからONに変化したか否かを判定する(Sb9)。リセット/設定スイッチ38がOFFからONに変化した場合にはレジスタの設定値を更新(1〜5の場合は1加算し、6の場合は1に更新)する(Sb10)。リセット/設定スイッチ38が変化しなかった場合には、スタートスイッチ7がOFFからONに変化したか否かを判定する(Sb11)。スタートスイッチ7が変化しなかった場合には、Sb7のステップに戻る。一方、スタートスイッチ7がOFFからONに変化した場合には設定キースイッチ37がOFF状態か否かを判定する(Sb12)。設定キースイッチ37がOFF状態でない場合には、設定キースイッチ37がOFF状態になるまで待機する。設定キースイッチ37がOFF状態である場合には、レジスタにセットされている設定値のデータをRAM41cの特別ワークに格納する(Sb13)。   Next, it is determined whether the reset / setting switch 38 has changed from OFF to ON (Sb9). When the reset / setting switch 38 changes from OFF to ON, the set value of the register is updated (1 is added for 1 to 5, and 1 is updated for 6) (Sb10). If the reset / setting switch 38 has not changed, it is determined whether the start switch 7 has changed from OFF to ON (Sb11). If the start switch 7 has not changed, the process returns to step Sb7. On the other hand, when the start switch 7 changes from OFF to ON, it is determined whether the setting key switch 37 is in the OFF state (Sb12). If the setting key switch 37 is not in the OFF state, the process waits until the setting key switch 37 is turned off. When the setting key switch 37 is in the OFF state, the data of the set value set in the register is stored in the special work of the RAM 41c (Sb13).

次いで、設定変更状態の終了を示す設定コマンド(終了)をサブ制御部91に送信する(Sb14)。そして、設定変更終了時の初期化対象RAMの先頭アドレス(使用可能領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレス)をレジスタにセットし(Sb14)、メイン処理に移行する。   Next, a setting command (end) indicating the end of the setting change state is transmitted to the sub-control unit 91 (Sb14). Then, the start address of the initialization target RAM at the end of the setting change (the next address of the last address of the area where the special work is stored in the available area) is set in the register (Sb14), and the process proceeds to the main processing. .

次に、メイン制御部41が実行する遊技領域初期化処理について説明する。尚、本実施例において遊技領域初期化処理は、遊技プログラムに含まれる。   Next, a game area initialization process executed by the main control unit 41 will be described. In the present embodiment, the game area initialization processing is included in the game program.

図13に示すように、メイン制御部41は、レジスタに設定されている初期化対象RAMの先頭アドレス及び終了アドレスを取得する(Sf1)。そして、初期化対象RAMの終了アドレス値から先頭アドレス値を減算して、初期化対象RAMの容量を算出し(Sf2)、算出した初期化対象RAMの容量をレジスタに設定する(Sf3)。また、初期化対象RAMの先頭アドレス値を指定アドレスとして設定して(Sf4)、指定アドレスに記憶されている1バイトのデータを0で上書きしてクリアする(Sf5)。その後、当該1バイトのデータの論理和を算出して、算出結果が0か否かを判定し(Sf6)、算出結果が0でない場合には、Sf5のステップに戻り、再度、1バイトのデータを0で上書きしてクリアする。そして、Sf6のステップにおいて計算結果が0であると判定された場合は、指定アドレスを、当該指定アドレスとして現在設定されているアドレスの次のアドレスに更新し(Sf7)、レジスタを1減算して(Sf8)、レジスタが0か否かを判定する(Sf9)。   As shown in FIG. 13, the main control unit 41 acquires the start address and the end address of the initialization target RAM set in the register (Sf1). Then, the head address value is subtracted from the end address value of the initialization target RAM to calculate the capacity of the initialization target RAM (Sf2), and the calculated capacity of the initialization target RAM is set in the register (Sf3). The start address value of the initialization target RAM is set as the designated address (Sf4), and the 1-byte data stored at the designated address is overwritten with 0 and cleared (Sf5). Thereafter, the logical sum of the 1-byte data is calculated to determine whether or not the calculation result is 0 (Sf6). If the calculation result is not 0, the process returns to step Sf5, and the 1-byte data is returned again. Is overwritten with 0 and cleared. If it is determined in step Sf6 that the calculation result is 0, the designated address is updated to the address next to the address currently set as the designated address (Sf7), and the register is decremented by one. (Sf8), it is determined whether or not the register is 0 (Sf9).

Sf9のステップで、レジスタが0でないと判定した場合は、Sf5のステップに戻り、Sf5〜Sf9のステップの処理をレジスタが0となるまで繰り返し行う。また、Sf9のステップで、レジスタが0であると判定した場合は、遊技領域初期化処理を終了して、呼び出し元のプログラムに戻る。   If it is determined in step Sf9 that the register is not 0, the process returns to step Sf5, and the processes in steps Sf5 to Sf9 are repeated until the register becomes 0. If it is determined in step Sf9 that the register is 0, the game area initialization processing ends, and the process returns to the calling program.

このように、本実施例の遊技領域初期化処理では、初期化対象RAMの先頭アドレスと終了アドレスとが指定されることにより、初期化対象RAMの容量を算出し、初期化対象RAMの先頭アドレスから、初期化対象RAMの容量分の領域を順次クリアすることで、遊技RAM領域のうち指定された初期化対象RAMの領域を初期化する。   As described above, in the game area initialization process of the present embodiment, by specifying the start address and the end address of the initialization target RAM, the capacity of the initialization target RAM is calculated, and the start address of the initialization target RAM is calculated. Then, by sequentially clearing the area corresponding to the capacity of the initialization target RAM, the designated initialization target RAM area of the game RAM area is initialized.

尚、本実施例の遊技領域初期化処理では、初期化対象RAMの先頭アドレス及び終了アドレスを指定することで、当該先頭アドレス及び終了アドレスに基づいて初期化対象RAMの容量を算出するとともに当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、初期化対象RAMの容量分の回数繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域が初期化される構成であるが、初期化対象RAMの先頭アドレスと終了アドレスとを指定することで、当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、指定アドレスが当該終了アドレスとなるまで繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域が初期化される構成としても良い。   In the game area initialization process of this embodiment, by specifying the start address and end address of the initialization target RAM, the capacity of the initialization target RAM is calculated based on the start address and end address, and The process of updating the specified address to the next address after clearing the data of the specified address with the address as the initial value of the specified address is repeatedly performed by the number of times corresponding to the capacity of the RAM to be initialized. Although the area from the address to the end address is initialized, by specifying the start address and end address of the RAM to be initialized, the start address is used as the initial value of the specified address, and the data of the specified address is After clearing, the process of updating the specified address to the next address is performed when the specified address is By repeatedly executed until the may be configured to area from the start address to be initialized RAM to the end address is initialized.

次に、メイン制御部41が実行する非遊技領域初期化処理について説明する。尚、本実施例において非遊技領域初期化処理は、非遊技プログラムに含まれる。   Next, a non-game area initialization process executed by the main control unit 41 will be described. In this embodiment, the non-game area initialization processing is included in the non-game program.

図14に示すように、メイン制御部41は、初期化対象RAMの先頭アドレスとして未使用領域4の先頭アドレスを設定する(Sg1)。そして、RAM41cの使用可能領域の最終アドレス値から初期化対象RAMの先頭アドレス値(未使用領域4の先頭アドレス値)を減算して、初期化対象RAMの容量を算出し(Sg2)、算出した初期化対象RAMの容量をレジスタに設定する(Sg3)。また、初期化対象RAMの先頭アドレス値(未使用領域4の先頭アドレス値)を指定アドレスとして設定して(Sg4)、指定アドレスに記憶されている1バイトのデータを0で上書きしてクリアする(Sg5)。その後、当該1バイトのデータの論理和を算出して、算出結果が0か否かを判定し(Sf6)、算出結果が0でない場合には、Sg5のステップに戻り、再度、1バイトのデータを0で上書きしてクリアする。そして、Sg6のステップにおいて計算結果が0であると判定された場合は、指定アドレスを、当該指定アドレスとして現在設定されているアドレスの次のアドレスに更新し(Sg7)、レジスタを1減算して(Sg8)、レジスタが0か否かを判定する(Sg9)。   As shown in FIG. 14, the main control unit 41 sets the start address of the unused area 4 as the start address of the initialization target RAM (Sg1). Then, the head address value of the initialization target RAM (the head address value of the unused area 4) is subtracted from the last address value of the usable area of the RAM 41c to calculate the capacity of the initialization target RAM (Sg2). The capacity of the initialization target RAM is set in the register (Sg3). Also, the start address value of the initialization target RAM (the start address value of the unused area 4) is set as the designated address (Sg4), and the 1-byte data stored at the designated address is overwritten with 0 and cleared. (Sg5). Thereafter, the logical sum of the one-byte data is calculated, and it is determined whether the calculation result is 0 (Sf6). If the calculation result is not 0, the process returns to step Sg5, and the 1-byte data is again calculated. Is overwritten with 0 and cleared. If it is determined in step Sg6 that the calculation result is 0, the designated address is updated to the address next to the address currently set as the designated address (Sg7), and the register is decremented by one. (Sg8), it is determined whether or not the register is 0 (Sg9).

Sg9のステップで、レジスタが0でないと判定した場合は、Sg5のステップに戻り、Sg5〜Sg9のステップの処理をレジスタが0となるまで繰り返し行う。また、Sg9のステップで、レジスタが0であると判定した場合は、非遊技領域初期化処理を終了して、呼び出し元のプログラムに戻る。   If it is determined in step Sg9 that the register is not 0, the process returns to step Sg5, and the processes in steps Sg5 to Sg9 are repeated until the register becomes 0. If it is determined in step Sg9 that the register is 0, the non-gaming area initialization process ends, and the process returns to the calling program.

このように、本実施例の非遊技領域初期化処理では、初期化対象RAMの容量分のRAM領域を初期化対象RAMの先頭アドレス(未使用領域4の先頭アドレス)から順次クリアすることで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域、すなわち、未使用領域4及び非遊技RAM領域を初期化する。   As described above, in the non-game area initialization process of this embodiment, the RAM area corresponding to the capacity of the initialization target RAM is sequentially cleared from the start address of the initialization target RAM (the start address of the unused area 4). The area from the start address to the end address of the initialization target RAM, that is, the unused area 4 and the non-game RAM area are initialized.

尚、本実施例の非遊技領域初期化処理では、初期化対象RAMの先頭アドレスを指定することで、当該先頭アドレスに基づいて初期化対象RAMの容量を算出するとともに当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理が、初期化対象RAMの容量分の回数繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域が初期化される構成であるが、初期化対象RAMの先頭アドレスと終了アドレスとを指定することで、当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、指定アドレスが当該終了アドレスとなるまで繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域が初期化される構成としても良い。   In the non-game area initialization process of this embodiment, by specifying the start address of the initialization target RAM, the capacity of the initialization target RAM is calculated based on the start address, and the start address is set to the specified address. The process of updating the specified address to the next address after clearing the data of the specified address as the initial value is repeatedly executed by the number of times of the capacity of the RAM to be initialized, so that the process from the start address to the end address of the RAM to be initialized is repeated. Area is initialized, but by specifying the start address and end address of the RAM to be initialized, the start address is used as the initial value of the specified address, and after the data of the specified address is cleared, the specified address is cleared. Is updated to the next address by repeatedly executing until the specified address becomes the end address. Area from the start address to be initialized RAM to the end address may be configured to be initialized.

また、本実施例の非遊技領域初期化処理では、初期化対象RAMの先頭アドレスとして未使用領域4の先頭アドレスを設定することで、未使用領域4と非遊技RAM領域の全ての領域を初期化する構成であるが、非遊技領域初期化処理は、非遊技RAM領域の少なくとも一部の領域が初期化されるものであれば良く、非遊技RAM領域の一部の領域を初期化するものでも、非遊技RAM領域の一部の領域及び未使用領域4を初期化するものでも良い。   In the non-game area initialization process of the present embodiment, the start address of the unused area 4 is set as the start address of the initialization target RAM, so that the entire unused area 4 and the non-game RAM area are initialized. The non-game area initialization process may be any configuration as long as at least a part of the non-game RAM area is initialized, and initializes a part of the non-game RAM area. However, a part of the non-game RAM area and the unused area 4 may be initialized.

また、本実施例では、遊技領域初期化処理及び非遊技領域初期化処理において、指定アドレスに記憶されている1バイトのデータを0で上書きしてクリアし、その後、当該1バイトのデータの論理和を算出して、算出結果が0か否かを判定し(Sf6)、算出結果が0でない場合には、再度、1バイトのデータを0で上書きしてクリアする処理を行うことで、該当するアドレスのデータをクリアする構成であるが、指定アドレスに記憶されている1バイトのデータを0で上書きしてクリアするのみの構成でも良い。   Further, in the present embodiment, in the game area initialization processing and the non-game area initialization processing, the 1-byte data stored at the designated address is overwritten with 0 and cleared, and thereafter, the logic of the 1-byte data is cleared. The sum is calculated, and it is determined whether the calculation result is 0 or not (Sf6). If the calculation result is not 0, the process of overwriting and clearing 1 byte data with 0 again is performed, Although the configuration is such that the data at the address to be cleared is cleared, the configuration may be such that the 1-byte data stored at the specified address is overwritten with 0 and cleared.

次に、メイン制御部41が実行するメイン処理について説明する。尚、メイン処理は一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。尚、本実施例においてメイン処理は、遊技プログラムに含まれる。   Next, a main process executed by the main control unit 41 will be described. The main processing is repeatedly executed for each game of one unit. One cycle of the main processing corresponds to one unit of the game. In this embodiment, the main process is included in the game program.

図15に示すように、メイン制御部41は、まず、割込を禁止する(Sc1)。次いで、初期化対象RAMの最終アドレス(遊技スタック領域(未使用)の最終アドレス)をセットする(Sc2)。   As shown in FIG. 15, the main control unit 41 first prohibits an interrupt (Sc1). Next, the last address of the initialization target RAM (the last address of the game stack area (unused)) is set (Sc2).

次いで、遊技領域初期化処理を実行して、指定されたアドレスで示されるRAM41cの領域をクリアする(Sc3)。この際、設定変更処理の後にメイン処理が開始された場合には、設定変更処理が終了される際に、初期化対象RAMの先頭アドレスとして、使用可能領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレスが設定され、当該メイン処理のSc2において、初期化対象RAMの最終アドレスとして、遊技スタック領域(未使用)の最終アドレスが設定されるため、遊技RAM領域のうち特別ワーク及び遊技スタック領域(使用中)以外の領域(重要ワーク、一般ワーク、未使用領域3、スタック領域(未使用))が初期化されることとなる。また、特定の遊技状態ではない遊技の終了時には、後述するSc10のステップにおいて遊技終了時の初期化対象RAMの先頭アドレス(未使用領域3の先頭アドレス)が設定され、Sc2のステップにおいて、初期化対象RAMの最終アドレス(遊技スタック領域(未使用)の最終アドレス)が設定されるため、使用可能領域のうち未使用領域3及び遊技スタック領域(未使用)が初期化されることとなる。また、特定の遊技状態の終了時であり、かつ遊技の終了時には、後述するSc11のステップにおいて特定の遊技状態の終了時の初期化対象RAMの先頭アドレス(遊技RAM領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレス)が設定され、Sc2のステップでは、特定の遊技状態の終了時の初期化対象RAMの最終アドレス(遊技スタック領域(未使用)の最終アドレス)が設定されるため、遊技RAM領域のうち一般ワーク、未使用領域3、遊技スタック領域(未使用)が初期化されることとなる。   Next, a game area initialization process is executed to clear the area of the RAM 41c indicated by the specified address (Sc3). At this time, if the main processing is started after the setting change processing, when the setting change processing is completed, the area where the special work is stored in the available area is set as the head address of the initialization target RAM. Of the game stack area (unused) is set as the final address of the initialization target RAM in Sc2 of the main processing. And areas (important work, general work, unused area 3, stack area (unused)) other than the game stack area (in use) are initialized. At the end of a game that is not in a specific game state, the start address (start address of the unused area 3) of the initialization target RAM at the end of the game is set in the step of Sc10 described later, and the initialization is performed in the step of Sc2. Since the last address of the target RAM (the last address of the game stack area (unused)) is set, the unused area 3 and the game stack area (unused) among the available areas are initialized. At the end of the specific game state and at the end of the game, in the step Sc11 described later, the start address of the initialization target RAM at the end of the specific game state (a special work in the game RAM area is stored). In the step of Sc2, the final address of the initialization target RAM at the end of the specific gaming state (the final address of the game stack area (unused)) is set. Therefore, the general work, the unused area 3, and the game stack area (unused) in the game RAM area are initialized.

Sc3のステップにおけるRAMの初期化の後、割込を許可し(Sc4)、遊技開始待ち処理を実行する(Sc5)。遊技開始待ち処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ7が操作された時点でゲームを開始させる処理を実行する。   After the initialization of the RAM in the step of Sc3, an interruption is permitted (Sc4), and a game start waiting process is executed (Sc5). In the game start waiting process, the process waits in a state where the number of bets can be set, sets a specified number of bets according to the game state, and starts the game when the start switch 7 is operated.

次いで、内部抽選処理を実行する(Sc6)。内部抽選処理では、Sc5のステップにおけるスタートスイッチ7の検出によるゲーム開始と同時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するか(すなわち、表示結果の導出を許容するか否か)どうかを決定する処理を行う。   Next, an internal lottery process is executed (Sc6). In the internal lottery process, it is determined whether the winning of each of the above combinations is permitted based on the random number value for the internal lottery latched at the same time as the start of the game by the detection of the start switch 7 in the step Sc5 (that is, the display result is derived). A process is performed to determine whether to allow or not.

次いで、リール制御処理を実行する(Sc7)。リール制御処理では、スタートスイッチ7の操作に応答して各リール2L、2C、2Rを回転させる処理、Sd2のステップにおける内部抽選の結果及び遊技者によるストップスイッチ8L、8C、8Rの操作が検出されたことに応じて対応するリール2L、2C、2Rの回転を停止させる処理を実行する。   Next, a reel control process is executed (Sc7). In the reel control process, the process of rotating the reels 2L, 2C, 2R in response to the operation of the start switch 7, the result of the internal lottery in the step Sd2, and the operation of the stop switches 8L, 8C, 8R by the player are detected. In response to this, a process of stopping the rotation of the corresponding reels 2L, 2C, 2R is executed.

次いで、遊技終了時設定処理を実行する(Sc8)。遊技終了時設定処理では、Sc7の処理において全てのリール2L、2C、2Rの回転が停止したと判定した時点で、各リール2L、2C、2Rに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。そして、入賞が発生したと判定した場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。入賞が発生した場合にはメダルの払い出し等が終了した後に次のゲームに備えて遊技状態を設定する処理を実行する。また、入賞が発生しなかった場合にはリールが停止した後に、次のゲームに備えて遊技状態を設定する処理を実行する。   Next, a game end time setting process is executed (Sc8). In the game end setting process, when it is determined in the process of Sc7 that the rotation of all the reels 2L, 2C, 2R has stopped, a prize is generated according to the display result derived on each of the reels 2L, 2C, 2R. A process is performed to determine whether or not it is. Then, when it is determined that a winning has occurred, processing such as adding credits and paying out medals is performed based on the number of payouts according to the winning. If a prize has been won, a process of setting a game state in preparation for the next game is executed after the payout of medals or the like is completed. If no winning has occurred, after the reels have stopped, a process of setting a gaming state in preparation for the next game is executed.

遊技終了時設定処理が終了すると、特定の遊技状態の終了時か否かを判定し(Sc9)、特定の遊技状態の終了時でない場合には、遊技終了時の初期化対象RAMの先頭アドレスをセットして(Sc10)、Sc1のステップに戻る。また、特定の遊技状態の終了時である場合には、特定の遊技状態の終了時の初期化対象RAMの先頭アドレスをセットして(Sc11)、Sc1のステップに戻る。   When the game end time setting process ends, it is determined whether or not a specific game state has ended (Sc9). If the specific game state has not ended, the start address of the initialization target RAM at the time of game end is determined. Set (Sc10) and return to the step of Sc1. If it is the end of the specific game state, the start address of the initialization target RAM at the end of the specific game state is set (Sc11), and the process returns to the step of Sc1.

また、メイン処理では、ゲームの進行に応じてコマンドを生成してコマンドキューに設定するコマンド格納処理を実行し、設定されたコマンドは、その後のタイマ割込処理(メイン)において実行される通常時コマンド送信処理によりサブ制御部91に対して送信されるようになっている。   In the main process, a command storing process of generating a command in accordance with the progress of the game and setting the command in a command queue is executed, and the set command is executed in a normal timer interrupt process (main). The command is transmitted to the sub-control unit 91 by the command transmission process.

図16及び図17は、メイン制御部41が一定間隔(約0.56msの間隔)でメイン処理(主にメイン処理)に割り込んで実行するタイマ割込処理(メイン)の制御内容を示すフローチャートである。尚、タイマ割込処理(メイン)とは、タイマ回路509のカウントに応じて発生する割込により実行される処理であり、タイマ割込処理(メイン)のプログラムが格納されたアドレスは、ベクタテーブルのタイマ割込に対応する値として設定されている。そして、タイマ割込が発生すると当該アドレスからの処理が実行される。また、タイマ割込処理(メイン)の実行期間中は自動的に他の割込が禁止される。尚、本実施例においてタイマ割込処理(メイン)は、遊技プログラムに含まれる。   FIGS. 16 and 17 are flowcharts showing the control contents of the timer interrupt processing (main) which is executed by the main control unit 41 interrupting the main processing (mainly the main processing) at regular intervals (at intervals of about 0.56 ms). is there. The timer interrupt process (main) is a process executed by an interrupt generated according to the count of the timer circuit 509, and the address where the program of the timer interrupt process (main) is stored is a vector table. Is set as a value corresponding to the timer interrupt. Then, when a timer interrupt occurs, the processing from that address is executed. Further, other interrupts are automatically prohibited during the execution of the timer interrupt processing (main). In this embodiment, the timer interrupt processing (main) is included in the game program.

図16に示すように、タイマ割込処理(メイン)においては、まず、使用中のレジスタを遊技スタック領域に退避する(Sd1)。   As shown in FIG. 16, in the timer interrupt processing (main), first, the register in use is saved in the game stack area (Sd1).

次いで、停電判定処理を行う(Sd2)。停電判定処理では、電断検出回路48から電圧低下信号が入力されているか否かを判定し、電圧低下信号が入力されていれば、前回の停電判定処理でも電圧低下信号が入力されていたか否かを判定し、前回の停電判定処理でも電圧低下信号が入力されていた場合には停電と判定し、その旨を示す電断フラグを設定する。   Next, a power failure determination process is performed (Sd2). In the power failure determination process, it is determined whether or not a voltage drop signal has been input from the power interruption detection circuit 48. If the voltage drop signal has been input, it is determined whether or not the voltage drop signal has been input in the previous power failure determination process. If a voltage drop signal is also input in the previous power failure determination process, it is determined that a power failure has occurred, and a power interruption flag indicating that fact is set.

Sd2のステップにおける停電判定処理の後、電断フラグが設定されているか否かを判定し(Sd3)、電断フラグが設定されていなければ、Sd4に進み、入力ポートから各種スイッチ類の検出データを入力するポート入力処理を行う。一方、Sd3のステップにおいて、電断フラグが設定されていた場合には、電断時コマンド送信処理を実行することで、コマンドキューに設定されている未送信のコマンドのすべてをサブ制御部91に送信した後(Sd25)、電断処理(メイン)に移行する。   After the power failure determination process in step Sd2, it is determined whether or not the power failure flag is set (Sd3). If the power failure flag is not set, the process proceeds to Sd4, and the detection data of various switches is input from the input port. Performs port input processing for inputting. On the other hand, if the power interruption flag is set in the step Sd3, by executing the power interruption command transmission process, all the untransmitted commands set in the command queue are sent to the sub control unit 91. After the transmission (Sd25), the process proceeds to the power interruption processing (main).

次いで、4種類のタイマ割込1〜4から当該タイマ割込処理(メイン)において実行すべきタイマ割込を識別するための分岐用カウンタを1進める(Sd5)。Sd5のステップでは、分岐用カウンタ値が0〜2の場合に1が加算され、カウンタ値が3の場合に0に更新される。すなわち分岐用カウンタ値は、タイマ割込処理(メイン)が実行される毎に、0→1→2→3→0・・・の順番でループする。   Next, the branch counter for identifying the timer interrupt to be executed in the timer interrupt processing (main) from the four types of timer interrupts 1 to 4 is advanced by 1 (Sd5). In step Sd5, 1 is added when the branch counter value is 0 to 2 and updated to 0 when the counter value is 3. That is, the branch counter value loops in the order of 0 → 1 → 2 → 3 → 0... Every time the timer interrupt processing (main) is executed.

次いで、分岐用カウンタ値を参照して2または3か、すなわちタイマ割込3またはタイマ割込4かを判定し(Sd6)、タイマ割込3またはタイマ割込4ではない場合、すなわちタイマ割込1またはタイマ割込2の場合には、リールモータ32C、32C、32Rの位相信号データを出力するモータ位相信号出力処理を実行する(Sd7)。   Next, it is determined with reference to the branch counter value whether it is 2 or 3, that is, whether it is timer interrupt 3 or timer interrupt 4 (Sd6), and if it is not timer interrupt 3 or timer interrupt 4, that is, if it is not timer interrupt 4, In the case of 1 or timer interrupt 2, a motor phase signal output process for outputting phase signal data of the reel motors 32C, 32C, 32R is executed (Sd7).

次いで、分岐用カウンタ値を参照して1か否か、すなわちタイマ割込2か否かを判定し(Sd8)、タイマ割込2ではない場合、すなわちタイマ割込1の場合には、リールモータ32L、32C、32Rの始動時のステップ時間間隔の制御を行うリール始動処理(Sd9)、リールモータ32L、32C、32Rの位相信号データの変更を行うモータステップ処理(Sd10)、リールモータ32L、32C、32Rの停止後、一定時間経過後に位相信号を1相励磁に変更するモータ位相信号スタンバイ処理(Sd11)を順次実行した後、Sd24のステップに進む。   Next, it is determined whether or not it is 1 by referring to the branch counter value, that is, whether or not it is the timer interrupt 2 (Sd8). If it is not the timer interrupt 2, that is, if it is the timer interrupt 1, the reel motor Reel start processing (Sd9) for controlling the step time interval at the start of 32L, 32C, 32R, motor step processing (Sd10) for changing the phase signal data of reel motors 32L, 32C, 32R, reel motors 32L, 32C , 32R are stopped, and after a lapse of a predetermined time, motor phase signal standby processing (Sd11) for changing the phase signal to one-phase excitation is sequentially performed, and then the process proceeds to step Sd24.

また、Sd8のステップにおいてタイマ割込2であると判定した場合には、コマンドキューに設定された各種コマンドをサブ制御部91に送信する通常時コマンド送信処理(Sd12)、ドア開放検出スイッチ25の検出状態の監視、ドアコマンドの送信要求などを行うドア監視処理(Sd13)、外部出力信号を更新する外部出力信号更新処理(Sd14)、各種表示器をダイナミック点灯させるLEDダイナミック表示処理(Sd15)、各種LED等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理(Sd16)、各種時間カウンタを更新する時間カウンタ更新処理(Sd17)を順次実行した後、Sd24のステップに進む。   If it is determined in step Sd8 that the interrupt is the timer interrupt 2, the normal command transmission process (Sd12) for transmitting various commands set in the command queue to the sub-control unit 91 is performed. Door monitoring processing (Sd13) for monitoring a detection state, requesting transmission of a door command, etc .; external output signal updating processing for updating external output signals (Sd14); LED dynamic display processing for dynamically lighting various displays (Sd15); After sequentially executing a control signal output process (Sd16) for outputting data such as lighting signals of various LEDs to the output port and a time counter update process (Sd17) for updating various time counters, the process proceeds to step Sd24.

また、Sd6のステップにおいてタイマ割込3またはタイマ割込4であると判定した場合は、更に、分岐用カウンタ値が3か否か、すなわちタイマ割込4か否かを判定し(Sd18)、タイマ割込4でなければ、すなわちタイマ割込3であれば、回転中のリール2L、2C、2Rの原点通過(リール基準位置の通過)をチェックする原点通過時処理(Sd19)、スイッチ類の検出状態に変化があったか否かの判定等を行うスイッチ入力判定処理(Sd20)を順次実行した後、Sd24のステップに進む。   If it is determined in step Sd6 that the interrupt is timer interrupt 3 or timer interrupt 4, it is further determined whether the branch counter value is 3, that is, timer interrupt 4 (Sd18). If it is not the timer interrupt 4, that is, if it is the timer interrupt 3, the origin passing process (Sd19) for checking the passing of the origin of the rotating reels 2L, 2C, and 2R (passing of the reel reference position) (Sd19), After sequentially executing a switch input determination process (Sd20) for determining whether or not the detection state has changed, the process proceeds to step Sd24.

また、Sd18のステップにおいてタイマ割込4であると判定した場合は、ストップスイッチ8L、8C、8Rの検出に伴って停止位置を決定する停止スイッチ処理(Sd21)、停止する時期になったら2相励磁によるブレーキを開始する停止処理(Sd22)、停止処理においてブレーキを開始してから一定時間後に3相励磁とする最終停止処理(Sd23)を順次実行した後、Sd24のステップに進む。   If it is determined in step Sd18 that the interrupt is the timer interrupt 4, a stop switch process (Sd21) for determining a stop position in response to the detection of the stop switches 8L, 8C, and 8R. A stop process (Sd22) for starting the braking by excitation, a final stop process (Sd23) for three-phase excitation after a predetermined time from the start of the brake in the stop process, and then the process proceeds to step Sd24.

Sd24のステップでは、Sd1において遊技スタック領域に退避したレジスタを復帰させて、割込前の処理に戻る。   In the step of Sd24, the register saved in the game stack area in Sd1 is restored, and the process returns to the process before the interruption.

本実施例では、タイマ割込処理(メイン)は、遊技プログラムに含まれる一方、停電判定処理、電断時コマンド送信処理、通常時コマンド送信処理、ドア開放監視処理は、非遊技プログラムに含まれており、上述したように、メイン制御部41は、タイマ割込処理(メイン)において割込禁止を設定し、遊技プログラムのスタックポインタ及びレジスタを退避させたうえで、これらの非遊技プログラムを呼び出すようになっている。また、これらの非遊技プログラムからタイマ割込処理(メイン)に復帰した際には、遊技プログラムのスタックポインタ及びレジスタを当該非遊技プログラムの呼び出し前の状態に復帰させたうえで、その後の処理を実行するようになっている。尚、メイン制御部41は、割込処理の実行中に他の割込を禁止するように設定されているので、非遊技プログラムから復帰した後も割込禁止の状態で、その後の処理を実行する。   In this embodiment, the timer interruption process (main) is included in the game program, while the power failure determination process, the command transmission process at power failure, the normal command transmission process, and the door open monitoring process are included in the non-game program. As described above, the main control unit 41 sets interrupt prohibition in the timer interrupt processing (main), saves the stack pointer and the register of the game program, and then calls these non-game programs. It has become. When returning to the timer interrupt processing (main) from the non-game program, the stack pointer and the register of the game program are returned to the state before calling the non-game program, and the subsequent processing is performed. It is supposed to run. Since the main control unit 41 is set to prohibit other interrupts during execution of the interrupt process, the main control unit 41 executes subsequent processes in a state where the interrupt is prohibited even after returning from the non-game program. I do.

また、タイマ割込処理(メイン)において実行する非遊技プログラムである停電判定処理、電断時コマンド送信処理、通常時コマンド送信処理、ドア開放監視処理は、これら非遊技プログラムの前に実行する必要のある処理(例えば、タイマ割込の分岐前に実行する必要のあるポート入力処理、モータ位相信号出力処理)を除く処理、すなわち非遊技プログラムよりも先に行っても後に行っても制御上影響のない処理よりも前に実行するようになっている。   In addition, the power failure determination processing, the command transmission processing at the time of power failure, the normal command transmission processing, and the door open monitoring processing, which are non-game programs executed in the timer interrupt processing (main), need to be executed before these non-game programs. Processing excluding certain processing (for example, port input processing and motor phase signal output processing that must be executed before branching of the timer interrupt), that is, effects on control whether performed before or after the non-game program It is to be executed before the processing without.

次に、メイン制御部41が実行する電断処理について説明する。   Next, a power interruption process executed by the main control unit 41 will be described.

図18は、メイン制御部41が前述したタイマ割込処理(メイン)において電断フラグが設定されていると判定した場合に、電断時コマンド送信処理の後に実行する電断処理(メイン)の制御内容を示すフローチャートである。尚、本実施例において電断処理は、遊技プログラムに含まれる。   FIG. 18 illustrates the power interruption processing (main) executed after the power interruption command transmission processing when the main control unit 41 determines that the power interruption flag is set in the timer interrupt processing (main) described above. It is a flowchart which shows the control content. In the present embodiment, the power interruption process is included in the game program.

電断処理(メイン)では、メイン制御部41は、まず、使用している可能性がある全てのレジスタをスタック領域に退避する(Se1)。   In the power interruption processing (main), the main control unit 41 first saves all registers that may be used to the stack area (Se1).

次いで、コマンドを出力するパラレル出力ポート513を含む全ての出力ポートを初期化する(Se2)。これにより電断時コマンド送信処理により最後に出力されたコマンドに対応する出力ポートの出力状態が初期化される。そして、破壊診断用データを遊技RAM領域にセットする(Se2)。破壊診断用データは、5A(H)、すなわちいずれかのビットに1を含む値である。次いで、遊技RAM領域の全ての領域(未使用領域3を含む)の排他的論理和が0になるようにRAMパリティ調整用データを計算して遊技RAM領域にセットし、遊技スタック領域の全ての領域(未使用領域3、遊技スタック領域(未使用)及び遊技スタック領域(使用中))の排他的論理和が0になるようにRAMパリティ調整用データを計算して遊技RAM領域にセットし(Se4)、RAM41cへのアクセスを禁止する(Se5)。その後、電圧が低下してメイン制御部41のCPU41aが停止して待機状態に移行する。そして、この待機状態のまま電圧が低下することで、メイン制御部41は、内部的に動作停止状態になり、電断の際に確実に動作停止する。   Next, all output ports including the parallel output port 513 for outputting a command are initialized (Se2). Thus, the output state of the output port corresponding to the command output last by the command transmission processing at the time of power failure is initialized. Then, destruction diagnosis data is set in the game RAM area (Se2). The destruction diagnosis data is 5A (H), that is, a value including 1 in any bit. Next, RAM parity adjustment data is calculated and set in the game RAM area so that the exclusive OR of all areas (including the unused area 3) of the game RAM area becomes 0, and all the areas in the game stack area are set. RAM parity adjustment data is calculated and set in the game RAM area so that the exclusive OR of the areas (unused area 3, game stack area (unused) and game stack area (in use)) becomes 0 ( Se4), access to the RAM 41c is prohibited (Se5). Thereafter, the voltage decreases, the CPU 41a of the main control unit 41 stops, and the state shifts to a standby state. When the voltage drops in the standby state, the operation of the main control unit 41 is internally stopped, and the operation is reliably stopped when the power is cut off.

尚、本実施例では、電断処理において対象となる領域の演算結果が特定の値(本実施例では0)となるように調整用データを対象となる領域に設定し、起動処理において対象となる領域の演算結果が特定の値となるか否かによってRAM41cのデータが正常か否かを判定しているが、電断処理において対象となる領域の演算結果と、起動処理において対象となる領域の演算結果と、が一致するか否かによってRAM41cのデータが正常か否かを判定する構成としても良い。また、演算方法は、排他的論理和に限らず、他の演算方法(例えば、総和)を用いても良い。   In the present embodiment, the adjustment data is set in the target area so that the calculation result of the target area in the power interruption processing becomes a specific value (0 in this embodiment), and the target data is set in the start processing. It is determined whether or not the data in the RAM 41c is normal based on whether or not the calculation result of the area becomes a specific value. However, the calculation result of the area targeted in the power interruption process and the area targeted in the startup processing are determined. It may be configured to determine whether the data in the RAM 41c is normal based on whether or not the calculation result of the RAM 41c matches. Further, the calculation method is not limited to the exclusive OR, and another calculation method (for example, a sum) may be used.

また、本実施例では、電断処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いてRAMパリティ調整用データ1を算出し、起動処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティに基づいてRAM41cが正常か否かを判定するようになっており、未使用領域3に不正なプログラムが記憶された場合には、RAM異常と判定されるため、未使用領域3に不正なプログラムが記憶されることを防止できる。   Further, in the present embodiment, RAM parity adjustment data 1 is calculated using data stored in all areas of the game RAM area including the unused area 3 in the power interruption processing, and the unused area 3 is calculated in the startup processing. The RAM 41c determines whether or not the RAM 41c is normal based on the RAM parity calculated using the data stored in all areas of the game RAM area including the game RAM area. In this case, it is determined that the RAM is abnormal, so that an unauthorized program can be prevented from being stored in the unused area 3.

尚、本実施例では、電断処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いてRAMパリティ調整用データを算出し、起動処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティに基づいてRAM41cが正常か否かを判定する構成であるが、未使用領域3を含む遊技RAM領域のRAMパリティ調整用データを計算して遊技RAM領域にセットするとともに、非遊技RAM領域のRAMパリティ調整用データを計算して非遊技RAM領域にセットし、起動処理において未使用領域3を含む遊技RAM領域に格納されたデータを用いて算出されたRAMパリティ、及び非遊技RAM領域に格納されたデータを用いて算出されたRAMパリティに基づいてRAM41cが正常か否かを判定する構成としても良い。このような構成においては、遊技RAM領域または非遊技RAM領域に不正なプログラムが記憶された場合には、RAM異常と判定されるため、遊技RAM領域または非遊技RAM領域のいずれにおいても不正なプログラムが記憶されることを防止できる。   In this embodiment, RAM parity adjustment data is calculated using data stored in all areas of the game RAM area including the unused area 3 in the power interruption processing, and the unused area 3 is included in the start-up processing. Although the configuration is such that it is determined whether the RAM 41c is normal based on the RAM parity calculated using the data stored in all the areas of the game RAM area, the RAM parity of the game RAM area including the unused area 3 is adjusted. Data is calculated and set in the game RAM area, and RAM parity adjustment data in the non-game RAM area is calculated and set in the non-game RAM area, and stored in the game RAM area including the unused area 3 in the start-up process. RAM parity calculated using the calculated data, and RAM parity calculated using the data stored in the non-game RAM area. RAM41c may be determined configure whether normal or not based. In such a configuration, if an invalid program is stored in the game RAM area or the non-game RAM area, it is determined that the RAM is abnormal, so that the illegal program is stored in either the game RAM area or the non-game RAM area. Can be prevented from being stored.

このように本実施例では、メイン制御部41は、リセットが発生したときに、割込禁止の状態で起動するとともに、その後、最初に実行する初期設定処理の開始時にもプログラムにて割込の禁止を行うようになっており、何らかの原因で割込が禁止されない状態でメイン制御部41が起動した場合でも意図しない割込が発生してしまうことを防止できる。   As described above, in the present embodiment, when a reset occurs, the main control unit 41 starts up in an interrupt-prohibited state, and thereafter, at the start of the initial setting process to be executed first, the program is used to execute the interrupt. The prohibition is performed, and even if the main control unit 41 is activated in a state where the interrupt is not prohibited for some reason, it is possible to prevent the occurrence of an unintended interrupt.

また、メイン制御部41は、その起動後に、タイマ回路509におけるタイマ割込の設定の後、割込を許可するようになっており、タイマ割込が正常に動作しない状態で割込が発生してしまうことを防止できる。また、タイマ回路509ではタイマ割込の設定が行われることにより、タイマが初期化され、初期値から計時を開始するようになっており、起動後、初回の割込が発生するまでの時間と、2回目以降の割込が発生するまでの時間と、がずれてしまうようなことがなく、一定の時間間隔でタイマ割込を発生させることができる。また、メイン制御部41は、初期設定処理においてタイマ回路509の設定をプログラムにて初期値に更新するようになっており、起動時に、何らかの原因でタイマ回路509の設定が書き換わっていた場合であっても、意図しない割込が発生してしまうことを防止できる。   Further, the main control unit 41 allows the interrupt after setting the timer interrupt in the timer circuit 509 after the activation, and the interrupt occurs when the timer interrupt does not operate normally. Can be prevented. In addition, the timer circuit 509 sets a timer interrupt so that the timer is initialized and starts counting time from an initial value. Second, the timer interrupt can be generated at fixed time intervals without deviation from the time until the second and subsequent interrupts occur. In addition, the main control unit 41 updates the setting of the timer circuit 509 to an initial value by a program in the initial setting process, and when the setting of the timer circuit 509 is rewritten for some reason at startup. Even if there is, unintended interruption can be prevented from occurring.

また、メイン制御部41は、その起動時に設定キースイッチ37がONの状態であれば設定変更処理に移行し、設定変更処理の開始時にRAM41cの初期化を行う。この際、RAM41cのデータが正常であれば、特別ワークを保持してそれ以外の使用可能領域、すなわち特別ワークを除く遊技RAM領域、未使用領域3、非遊技RAM領域を初期化することで、設定変更後も変更前の制御状態(設定値や遊技状態等)の一部を保持することができる一方で、RAM41cのデータが正常でない場合には、使用可能領域の全ての領域を初期化することで、RAM41cのデータに異常を確実に解消することができる。   If the setting key switch 37 is ON at the time of activation, the main control unit 41 shifts to the setting change process, and initializes the RAM 41c at the start of the setting change process. At this time, if the data in the RAM 41c is normal, the special work is retained and the other available areas, that is, the game RAM area, the unused area 3, and the non-game RAM area excluding the special work are initialized, Even after the setting change, a part of the control state (setting value, game state, etc.) before the change can be retained, but if the data in the RAM 41c is not normal, all the usable areas are initialized. Thus, the abnormality in the data in the RAM 41c can be reliably eliminated.

また、メイン制御部41は、RAM異常が判定された場合にRAM異常フラグが設定されるので、RAM異常エラーの発生後に電断されて、再度電源投入がされた場合に、RAMパリティが0であり、破壊診断用データが正常と判定された場合でも、RAM異常フラグに基づいてRAM41cのデータが破壊されているか否かを判定することが可能となる。   Further, the main control unit 41 sets the RAM abnormality flag when the RAM abnormality is determined. Therefore, when the power is turned off after the occurrence of the RAM abnormality error and the power is turned on again, the RAM parity is set to 0. That is, even when the destruction diagnosis data is determined to be normal, it is possible to determine whether or not the data in the RAM 41c is destroyed based on the RAM abnormality flag.

また、メイン制御部41は、設定変更処理の終了後、遊技単位毎にゲームの進行に応じて段階的に処理を行うメイン処理を実行する。また、メイン処理では、遊技単位毎にRAM41cの初期化を行うとともに、設定変更処理の終了時にもRAM41cの初期化を行う。そして、設定変更処理の終了後、メイン処理においてRAM41cの初期化を行う処理の前の段階からメイン処理を開始するようになっており、設定変更処理の終了後のRAM41cの初期化と、遊技単位毎のRAM41cの初期化と、を共通の処理にて行うことが可能となる。   Further, after the end of the setting change process, the main control unit 41 executes a main process of performing a process stepwise according to the progress of the game for each game unit. In the main process, the RAM 41c is initialized for each game unit, and the RAM 41c is also initialized at the end of the setting change process. Then, after the setting change processing is completed, the main processing is started from the stage before the processing of initializing the RAM 41c in the main processing, and the initialization of the RAM 41c after the completion of the setting change processing and the game unit The initialization of each RAM 41c can be performed by a common process.

また、メイン制御部41は、RAM41cの初期化を行う場合に、初期化が終了するまで割込を禁止するようになっており、RAM41cの初期化の実行中にタイマ割込処理(メイン)が発生することにより、初期化した内容が変更されたり、タイマ割込処理(メイン)で行われる処理が正常に行われなくなってしまうことを防止できる。   Further, when performing initialization of the RAM 41c, the main control unit 41 is configured to prohibit an interrupt until the initialization is completed, and the timer interrupt processing (main) is performed during execution of the initialization of the RAM 41c. This can prevent the initialized contents from being changed, and prevent the processing performed in the timer interrupt processing (main) from being performed normally.

また、メイン制御部41は、メイン処理において外部出力信号の出力状態を更新し、更新された出力状態に基づいて、その後のタイマ割込処理(メイン)にて外部出力信号の出力状態を変更するとともに、外部出力信号の出力状態を更新する場合に、更新が終了するまで割込を禁止するようになっており、外部出力信号の出力状態が完了する前にタイマ割込処理(メイン)が発生することにより、意図しないデータを示す外部出力信号が出力されてしまうことを防止できる。   Further, the main control unit 41 updates the output state of the external output signal in the main processing, and changes the output state of the external output signal in the subsequent timer interrupt processing (main) based on the updated output state. In addition, when updating the output state of the external output signal, interrupts are prohibited until the update is completed, and the timer interrupt processing (main) occurs before the output state of the external output signal is completed. By doing so, it is possible to prevent an external output signal indicating unintended data from being output.

本実施例のメイン制御部41は、遊技の進行に係る遊技プログラムと、当該遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムと、を実行することが可能であり、遊技プログラムに基づくメイン処理を実行するとともに、所定時間間隔毎にメイン処理に割り込んで遊技プログラムに基づくタイマ割込処理(メイン)を実行することが可能であって、メイン処理からも、タイマ割込処理(メイン)からも、非遊技プログラムを呼び出して実行することが可能である。   The main control unit 41 of the present embodiment can execute a game program related to the progress of the game and a non-game program that is a program called by the game program and is not related to the progress of the game. It is possible to execute the main processing based on the program, and to execute the timer interrupt processing (main) based on the game program by interrupting the main processing at predetermined time intervals. It is also possible to call and execute a non-game program from (main).

このような構成では、メイン制御部41では、非遊技プログラムを実行中にタイマ割込処理(メイン)が実行されることにより誤作動が生じる虞がある。   In such a configuration, the main control unit 41 may malfunction due to execution of the timer interrupt processing (main) during execution of the non-game program.

これに対して、本実施例のメイン制御部41は、遊技の進行に係る遊技プログラムと、当該遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムと、を実行することが可能であり、遊技プログラムに基づくメイン処理を実行するとともに、所定時間間隔毎にメイン処理に割り込んで遊技プログラムに基づくタイマ割込処理(メイン)を実行することが可能であって、メイン処理からも、タイマ割込処理(メイン)からも、非遊技プログラムを呼び出して実行することが可能な構成において、メイン処理から非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定した後に、当該非遊技プログラムを呼び出す一方で、タイマ割込処理(メイン)から非遊技プログラムを呼び出すとき、すなわち、さらに割込が生じる可能性が低い状況において非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定せずに、非遊技プログラムを呼び出すので、非遊技プログラムの実行中に割込が実行されることによる誤作動を防止しつつ、割込の禁止に係るプログラム容量を削減することができる。   On the other hand, the main control unit 41 of the present embodiment can execute a game program related to the progress of the game and a non-game program that is a program called by the game program and is not related to the progress of the game. It is possible to execute the main process based on the game program, and to execute the timer interrupt process (main) based on the game program by interrupting the main process at predetermined time intervals. In a configuration in which a non-game program can be called and executed also from the timer interrupt process (main), when the non-game program is called from the main process, the interrupt of another process is set to be prohibited, When calling the non-game program from the timer interrupt processing (main) while calling the non-game program, That is, when a non-game program is called in a situation in which an interrupt is less likely to occur, the non-game program is called without setting interrupts for other processes to be prohibited. It is possible to reduce the program capacity related to the prohibition of the interrupt while preventing a malfunction due to the execution of the interrupt.

本実施例のメイン制御部41が実行するタイマ割込処理(メイン)は、遊技プログラムによる処理、例えば、LEDダイナミック表示処理や制御信号等出力処理等と、非遊技プログラムによる処理、例えば、通常時コマンド送信処理や、電断時コマンド送信処理等の処理と、を含む複数の処理により構成されており、該タイマ割込処理(メイン)を構成する複数の処理のうち、所定の遊技プログラムによる処理、特に、これら非遊技プログラムの先に実行しても後に実行しても問題のない処理よりも前に、非遊技プログラムを呼び出すので、すなわち、タイマ割込処理(メイン)を構成する複数の処理のうち極力早い段階で非遊技プログラムを呼び出すので、例えば、何らかの原因によりタイマ割込処理(メイン)が終了しないまま、次回タイマ割込が発生して二重に割込が生じてしまった場合でも、非遊技プログラムの実行中に他の割込が実行されてしまうことを防止できる。   The timer interrupt processing (main) executed by the main control unit 41 of the present embodiment includes processing by a game program, for example, LED dynamic display processing, control signal output processing, and the like, and non-game program processing, for example, normal time. It is composed of a plurality of processes including a command transmission process and a command transmission process at the time of power failure. Of the plurality of processes constituting the timer interrupt process (main), a process by a predetermined game program In particular, since the non-game program is called prior to the processing that does not cause any problem if executed before or after the non-game program, that is, a plurality of processes constituting the timer interrupt process (main) The non-game program is called at the earliest possible stage, so, for example, if the timer interrupt processing (main) is not terminated for some reason, the next timer Even if the Ma interrupt interrupt had occurred doubly generated, it is possible to prevent the other interrupts during execution of a non-game program from being executed.

本実施例のメイン制御部41は、遊技プログラムと非遊技プログラムとを実行可能であり、遊技プログラムが用いるデータを退避する遊技スタック領域と、非遊技プログラムが用いるデータを退避する非遊技スタック領域と、が別個に設けられたRAM41cを備えており、メイン制御部41は、遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、を別個に設けられたスタック領域にそれぞれ退避させるので、スタック領域の管理が容易となる。特に、タイマ割込の発生により退避される遊技プログラムが用いるデータと、タイマ割込処理(メイン)の実行中に行われる非遊技プログラムが用いるデータと、が混在して一のスタック領域に格納されるようなことがないので、スタックの管理が煩雑となってしまうことがない。   The main control unit 41 of the present embodiment can execute a game program and a non-game program, and stores a game stack area for saving data used by the game program and a non-game stack area for saving data used by the non-game program. , Is provided separately, and the main control unit 41 saves the data used by the game program and the data used by the non-game program in the stack areas provided separately. Management becomes easy. In particular, data used by a game program saved by the occurrence of a timer interrupt and data used by a non-game program executed during execution of a timer interrupt process (main) are stored together in one stack area. Since there is no such situation, the management of the stack does not become complicated.

本実施例のメイン制御部41は、非遊技プログラムを実行する際に、遊技プログラムで用いているレジスタ値を遊技スタック領域に退避した後、非遊技プログラムを呼び出して、当該非遊技プログラムにおける処理を実行し、非遊技プログラムにおける処理が終了したときに、退避させたレジスタ値を復帰させるので、非遊技プログラムを実行するのに伴い遊技プログラムが用いていたレジスタの値が変更されてしまうことを防止できる。   When executing the non-game program, the main control unit 41 of this embodiment saves the register value used in the game program to the game stack area, calls the non-game program, and executes the processing in the non-game program. When the processing in the non-game program is completed, the saved register value is restored, so that the value of the register used by the game program is prevented from being changed when the non-game program is executed. it can.

また、遊技プログラムに基づく処理から非遊技プログラムを呼び出す際に、遊技プログラムで用いているレジスタの値を遊技スタック領域に退避させる共通呼出処理1または共通呼出処理2を呼び出すようになっており、メイン処理において非遊技プログラムを実行するためのプログラムを共通化することで、プログラム容量を削減できる。 Further, when a non-game program is called from a process based on a game program, a common call process 1 or a common call process 2 for saving a register value used in the game program to a game stack area is called. By sharing a program for executing the non-game program in the processing, the program capacity can be reduced.

尚、本実施例では、メイン処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、共通呼出処理1を実行する一方、タイマ割込処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、共通呼出処理1とは異なる共通呼出処理2を実行することで、遊技プログラムで用いているレジスタの値を遊技スタック領域に退避させる構成であるが、メイン処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際にも、タイマ割込処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際にも、共通の共通呼出処理を実行する構成であっても良い。 In this embodiment, when the non-game program is called from the processing based on the game program in the main processing, the common call processing 1 is executed, while the non-game program is called from the processing based on the game program in the timer interrupt processing. At this time, the configuration is such that the value of the register used in the game program is saved in the game stack area by executing the common call processing 2 different from the common call processing 1, but the processing based on the game program is performed in the main processing. A common common calling process may be executed when a non-game program is called from a game program, or when a non-game program is called from a process based on a game program in a timer interrupt process.

尚、本実施例のメイン制御部41は、メイン処理からも、タイマ割込処理(メイン)からも、非遊技プログラムを呼び出して実行することが可能な構成であり、メイン処理から非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定して、当該非遊技プログラムを呼び出す一方で、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定せずに、非遊技プログラムを呼び出す構成であるが、メイン制御部41は、メイン処理から非遊技プログラムを呼び出すときにも、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときにも、他の処理の割込を禁止する構成としても良い。   Note that the main control unit 41 of the present embodiment is configured to be able to call and execute a non-game program from both the main process and the timer interrupt process (main). When calling, the interrupt of other processing is set to prohibit, and the non-game program is called, while when calling the non-game program from the timer interrupt processing (main), the interrupt of other processing is set to prohibit. The main control unit 41 calls the non-gaming program from the main processing, the non-gaming program from the timer interrupt processing (main), etc. May be configured to prohibit the interruption of the process.

詳しくは、メイン制御部41は、メイン処理の実行中に遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、本実施例と同様に、共通呼出処理1を実行する一方で、タイマ割込処理の実行中に遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、図23に示すように、当該遊技プログラムでは、呼び出す対象の非遊技プログラムの開始アドレスをレジスタに設定し、共通呼出処理3を実行する。共通呼出処理3は、共通呼出処理1と同様に、遊技プログラムに含まれる処理であり、共通呼出処理3では、遊技プログラムのレジスタを遊技RAM領域に退避するとともに、スタックポインタ(SP、遊技スタック領域の現在の位置を示すアドレス)を遊技RAM領域のSP退避領域に退避したうえで、割込マスタ許可フラグの値を割込禁止を示す値に設定することでタイマ割込を禁止に設定し、その後、レジスタに設定されているアドレスの非遊技プログラムを呼び出す。 Specifically, when the main control unit 41 calls the non-game program from the process based on the game program during the execution of the main process, the main control unit 41 executes the common call process 1 as in the present embodiment, while executing the timer interrupt. When a non-game program is called from a process based on the game program during execution of the process, as shown in FIG. 23, in the game program, the start address of the non-game program to be called is set in a register, and the common call process is executed. Execute 3. The common calling process 3 is a process included in the game program, like the common calling process 1. In the common calling process 3, the register of the game program is saved in the game RAM area, and the stack pointer (SP, the game stack area) is saved. The address indicating the current position of the timer is saved in the SP save area of the game RAM area, and the timer interrupt is set to be disabled by setting the value of the interrupt master permission flag to a value indicating that the interrupt is prohibited. Thereafter, the non-game program of the address set in the register is called.

これに対して、呼び出された非遊技プログラムは、非遊技プログラムのスタックポインタ(非SP、非遊技スタック領域の現在の位置を示すアドレス)を設定して、非遊技プログラムの処理を実行した後、呼び出し元の遊技プログラムすなわち共通呼出処理3に復帰する。共通呼出処理3に復帰した後には、共通呼出処理3は、共通呼出処理2と同様に、遊技RAM領域に退避させていたデータに基づいて、レジスタ及び遊技プログラムのスタックポインタを、非遊技プログラムを呼び出す前の状態に復帰させて終了する。すなわち、共通呼出処理3では、非遊技プログラムの処理が終了した後に、割込マスタ許可フラグの値を設定することなく、該非遊技プログラムの終了後も割込の禁止を維持する。 On the other hand, the called non-game program sets the stack pointer (non-SP, address indicating the current position of the non-game stack area) of the non-game program, executes the process of the non-game program, The process returns to the calling game program, that is, the common calling process 3. After returning to a common call processing 3, a common call processing 3, similar to the common call processing 2, on the basis of the data saved in the game RAM area, the stack pointer register and a game program, a non-gaming program Return to the state before calling and end. That is, in the common calling process 3, after the processing of the non-game program ends, the value of the interrupt master permission flag is not set, and the prohibition of the interrupt is maintained even after the end of the non-game program.

このような構成では、メイン制御部41は、メイン処理から非遊技プログラムを呼び出すときだけでなく、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときにも、他の処理の割込を禁止するので、本実施例と同様に、非遊技プログラムの実行中に割込が実行されることによる誤作動を防止することができる。   In such a configuration, the main control unit 41 prohibits interruption of other processes not only when calling the non-game program from the main process but also when calling the non-game program from the timer interrupt process (main). Therefore, similarly to the present embodiment, it is possible to prevent malfunction due to execution of an interrupt during execution of a non-game program.

特に、タイマ割込処理(メイン)を実行するときに、割込禁止が設定され、タイマ割込処理(メイン)の終了時に割込禁止が解除されることで、タイマ割込処理(メイン)の実行中に他の処理の割込が禁止されることとなるが、この場合でも、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときに再度他の処理の割込を禁止するので、何らかの原因により割込禁止設定が解除されてしまった場合でも、非遊技プログラムの実行中に割込が実行されることによる誤作動を防止することができる。   In particular, when the timer interrupt processing (main) is executed, interrupt prohibition is set, and when the timer interrupt processing (main) is completed, the interrupt prohibition is released. Interruption of other processing is prohibited during execution. Even in this case, the interruption of other processing is prohibited again when the non-game program is called from the timer interrupt processing (main). Even if the interrupt prohibition setting is canceled due to a cause, it is possible to prevent malfunction due to execution of an interrupt during execution of the non-game program.

また、前述のようにタイマ割込処理(メイン)を実行するときに、割込禁止が設定され、タイマ割込処理(メイン)の終了時に割込禁止が解除されることで、タイマ割込処理(メイン)の実行中に他の処理の割込が禁止される構成であるが、タイマ割込処理(メイン)から非遊技プログラムを呼び出すときに再度他の処理の割込を禁止する場合には、非遊技プログラムの呼び出し時に設定した他の処理の割込の禁止の設定を、該非遊技プログラムの終了後も維持することで、タイマ割込処理(メイン)の実行中にも関わらず、非遊技プログラムの実行により割込の禁止が解除されてしまうことを防止できる。   Also, as described above, when the timer interrupt processing (main) is executed, interrupt prohibition is set, and at the end of the timer interrupt processing (main), the interrupt prohibition is released. This is a configuration in which interruption of other processing is prohibited during execution of (main). However, when interrupting another processing is prohibited again when a non-game program is called from the timer interruption processing (main). By maintaining the setting of prohibition of interruption of other processing set at the time of calling the non-game program even after the end of the non-game program, the non-game It is possible to prevent the prohibition of the interrupt from being released by executing the program.

次に、メイン制御部41のRAM41cの初期化について、図19に基づいて説明する。   Next, initialization of the RAM 41c of the main control unit 41 will be described with reference to FIG.

本実施例のメイン制御部41は、設定変更処理の開始時において、RAM41cの記憶内容が破壊されていると判定した場合に、遊技RAM領域、未使用領域4、非遊技RAM領域を初期化する、すなわち使用可能領域の全ての領域を初期化する初期化0を行う。   The main control unit 41 of the present embodiment initializes the game RAM area, the unused area 4, and the non-game RAM area when determining that the storage content of the RAM 41c is destroyed at the start of the setting change process. That is, initialization 0 for initializing all the available areas is performed.

また、設定変更処理の開始時において、RAM41cの記憶内容が破壊されていないと判定した場合に、遊技RAM領域のうち特別ワークを除く領域、未使用領域4、非遊技RAM領域を初期化する、すなわち使用可能領域のうち特別ワーク以外の領域を初期化する初期化1を行う。   Also, at the start of the setting change process, if it is determined that the storage content of the RAM 41c is not destroyed, the game RAM area other than the special work, the unused area 4, and the non-game RAM area are initialized. That is, initialization 1 for initializing an area other than the special work in the usable area is performed.

また、設定変更処理の終了時において、遊技RAM領域のうち重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)を初期化する、すなわち遊技RAM領域のうち特別ワーク及び遊技スタック領域(使用中)以外の領域を初期化する初期化2を行う。   At the end of the setting change process, the important work, the general work, the unused area 3 and the game stack area (unused) in the game RAM area are initialized, that is, the special work and the game stack area in the game RAM area. Initialization 2 for initializing an area other than (in use) is performed.

また、特定の遊技状態の終了時であり、かつ1ゲーム終了時に、遊技RAM領域のうち一般ワーク、未使用領域3及び遊技スタック領域(未使用)を初期化する初期化3を行う。   At the end of a specific game state and at the end of one game, an initialization 3 for initializing a general work, an unused area 3 and a game stack area (unused) in the game RAM area is performed.

また、特定の遊技状態の終了時でない1ゲーム終了時に、遊技RAM領域のうち未使用領域3、遊技スタック領域(未使用)を初期化する初期化4を行う。   At the end of one game, not at the end of a specific game state, an initialization 4 for initializing an unused area 3 and a game stack area (unused) in the game RAM area is performed.

このように、本実施例のメイン制御部41は、所定条件が成立したときに初期化0〜4を行い、所定条件として第1の条件が成立したときに、RAM41cの使用可能領域のうちの遊技プログラムが用いるデータが記憶されている遊技RAM領域の少なくとも一部を初期化し、所定条件として第2の条件が成立したときに、遊技RAM領域の少なくとも一部と、RAM41cの使用可能領域のうちの非遊技プログラムが用いる非遊技RAM領域の少なくとも一部を初期化する。   As described above, the main control unit 41 of the present embodiment performs the initializations 0 to 4 when the predetermined condition is satisfied, and performs the initialization of the available area of the RAM 41c when the first condition is satisfied as the predetermined condition. Initializing at least a part of the game RAM area in which data used by the game program is stored, and when the second condition is satisfied as a predetermined condition, at least a part of the game RAM area and a usable area of the RAM 41c Of the non-game RAM area used by the non-game program is initialized.

具体的には、図19に示すように、第1の条件として、1ゲームの終了時には、使用可能領域のうち遊技RAM領域の一部である、未使用領域3及び遊技スタック領域(未使用)を初期化するが、使用可能領域のうち非遊技RAM領域は初期化しない。また、第1条件として、特定の遊技状態の終了時には、使用可能領域のうち遊技RAM領域の一部である一般ワーク、未使用領域3、遊技スタック領域(未使用)を初期化するが、使用可能領域のうち非遊技RAM領域は初期化しない。また、第1条件として、設定変更状態が終了した後には、使用可能領域のうち遊技RAM領域の一部である重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)を初期化するが、使用可能領域のうち非遊技RAM領域は初期化しない。   Specifically, as shown in FIG. 19, at the end of one game, an unused area 3 and a game stack area (unused) which are a part of the game RAM area in the available area as a first condition. Is initialized, but the non-game RAM area of the usable area is not initialized. As a first condition, at the end of a specific game state, a general work, an unused area 3 and a game stack area (unused) which are a part of the game RAM area among the available areas are initialized. The non-game RAM area of the possible area is not initialized. As a first condition, after the setting change state is completed, an important work, a general work, an unused area 3, and a game stack area (unused) which are a part of the game RAM area among the available areas are initialized. However, the non-game RAM area of the usable area is not initialized.

一方、第2の条件として、設定変更状態を開始したときに、RAMに異常がない場合には、使用可能領域のうち遊技RAM領域の一部である重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)、遊技スタック領域(使用)を初期化するとともに、非遊技RAM領域の全ての領域を初期化する。また、設定変更状態を開始したときに、RAMに異常がある場合には、使用可能領域のうち遊技RAM領域の全ての領域を初期化するとともに、遊技RAM領域の全ての領域を初期化する。   On the other hand, as a second condition, when there is no abnormality in the RAM when the setting change state is started, an important work, a general work, an unused area 3, which is a part of the game RAM area in the available area, The game stack area (unused) and the game stack area (used) are initialized, and all areas of the non-game RAM area are initialized. Further, when the setting change state is started, if there is an abnormality in the RAM, all the areas of the game RAM area among the available areas are initialized, and all the areas of the game RAM area are initialized.

本実施例のメイン制御部41は、遊技の進行に係わる遊技プログラムと、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムと、を実行可能であり、遊技プログラム及び非遊技プログラムを記憶するROM41dを備えている。   The main control unit 41 of the present embodiment can execute a game program related to the progress of a game and a non-game program that is a program called by the game program and that is not related to the progress of the game. A ROM 41d for storing programs is provided.

このような構成では、一のROM41dにおいて遊技プログラムと、非遊技プログラムと、が混在していると、どのプログラムが遊技の進行に係わるプログラムであるかの判別が困難である。   In such a configuration, if a game program and a non-game program are mixed in one ROM 41d, it is difficult to determine which program is a program related to the progress of the game.

これに対して、本実施例では、ROM41dは、遊技プログラムが記憶される遊技プログラム領域と、非遊技プログラムが記憶される非遊技プログラム領域と、を含んでおり、遊技プログラム領域と、非遊技プログラム領域と、がそれぞれ別個に割り当てられているため、遊技プログラムと、非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。   On the other hand, in the present embodiment, the ROM 41d includes a game program area in which a game program is stored and a non-game program area in which a non-game program is stored. Since the areas are separately assigned, the game program and the non-game program can be easily specified according to the difference in the storage area.

また、本実施例のメイン制御部41は、遊技プログラムのワークとして用いられ、遊技プログラムが用いるデータを記憶する遊技RAM領域と、非遊技プログラムのワークとして用いられ、非遊技プログラムが用いるデータを記憶する非遊技RAM領域と、を含むRAM41cを備えており、RAM41cにおいて遊技RAM領域と、非遊技RAM領域と、がそれぞれ別個に割り当てられているため、遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、を記憶領域の違いに応じて容易に特定することができるとともに、メイン制御部41は、第1の初期化条件が成立したときに、遊技RAM領域の少なくとも一部を初期化し、第2の初期化条件が成立したときに、遊技RAM領域の少なくとも一部を初期化するとともに、非遊技RAM領域の少なくとも一部を初期化するため、RAM41cに記憶されている遊技プログラムが用いるデータと非遊技プログラムが用いるデータのうち状況に応じて適切なデータを初期化することができる。   Further, the main control unit 41 of the present embodiment is used as a work of the game program, and stores a game RAM area for storing data used by the game program, and a data for use by the non-game program used as a work of the non-game program. A RAM 41c including a non-game RAM area. The game RAM area and the non-game RAM area are separately allocated in the RAM 41c, so that the data used by the game program and the non-game program And the data can be easily specified according to the difference in the storage area, and the main control unit 41 initializes at least a part of the game RAM area when the first initialization condition is satisfied, When the initialization condition 2 is satisfied, at least a part of the game RAM area is initialized and To initialize at least a portion of the non-gaming RAM area, it is possible to initialize the appropriate data in accordance with the status of the data used by data and non-game programs used by the game program stored in the RAM 41c.

本実施例のメイン制御部41は、第1の初期化条件として、1ゲームが終了した時には、遊技RAM領域のうちの一部である未使用領域3及び遊技スタック領域(未使用)を初期化し、第1の初期化条件として、特別な遊技状態(BB)が終了した時で、かつ1ゲームが終了した時には、遊技RAM領域のうちの一部である一般ワーク、未使用領域3及び遊技スタック領域(未使用)を初期化し、第1の初期化条件として、設定変更が終了し、メイン処理が開始されたときには、遊技RAM領域のうちの一部である重要ワーク、一般ワークの領域、未使用領域3及び遊技スタック領域(未使用)を初期化するので、状況に応じて適切なデータを初期化することができる。   The main control unit 41 of the present embodiment initializes the unused area 3 and the game stack area (unused), which are part of the game RAM area, when one game is completed, as a first initialization condition. As a first initialization condition, when a special game state (BB) ends and one game ends, a general work, an unused area 3 and a game stack, which are a part of the game RAM area, The area (unused) is initialized, and as a first initialization condition, when the setting change is completed and the main processing is started, an important work area, a general work area, a part of the game RAM area, Since the used area 3 and the game stack area (unused) are initialized, appropriate data can be initialized according to the situation.

また、本実施例のメイン制御部41は、第2の初期化条件として、設定変更開始時でRAMに異常がないときには、遊技RAM領域のうち一部である重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)及び遊技スタック領域(使用中)を初期化するとともに、非遊技RAM領域のうち、遊技プログラムから参照される領域、遊技プログラムから参照されない領域、非遊技スタック領域(未使用)及び非遊技スタック領域(使用中)、すなわち非遊技RAM領域の全ての領域を初期化し、第2の初期化条件として、設定変更開始時でRAMに異常があるときには、遊技RAM領域のうち、特別ワーク、重要ワーク、一般ワーク、未使用領域3、遊技スタック領域(未使用)及び遊技スタック領域(使用中)、すなわち遊技RAM領域の全ての領域を初期化するとともに、非遊技RAM領域のうち、遊技プログラムから参照される領域、遊技プログラムから参照されない領域、非遊技スタック領域(未使用)及び非遊技スタック領域(使用中)、すなわち非遊技RAM領域の全ての領域を初期化するため、RAM41cに記憶されている遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、のうち状況に応じて適切なデータを初期化することができる。   In addition, the main control unit 41 of the present embodiment, as a second initialization condition, when there is no abnormality in the RAM at the start of setting change, an important work, a general work, an unused area which is a part of the game RAM area. 3. While initializing the game stack area (unused) and the game stack area (in use), of the non-game RAM area, an area referred to by the game program, an area not referred to by the game program, and a non-game stack area ( The unused RAM and the non-gaming stack area (in use), that is, all the areas of the non-gaming RAM area are initialized. Of these, special work, important work, general work, unused area 3, game stack area (unused) and game stack area (in use), ie, game R In addition to initializing all areas of the M area, of the non-game RAM area, an area referred to by the game program, an area not referred to by the game program, a non-game stack area (unused), and a non-game stack area (in use) That is, in order to initialize all areas of the non-game RAM area, appropriate data is initialized according to the situation among data used by the game program and data used by the non-game program stored in the RAM 41c. can do.

尚、本実施例のメイン制御部41は、第1の初期化条件が成立したときに、遊技RAM領域の一部の領域を初期化する構成であるが、メイン制御部41は、第1の初期化条件が成立したときに、遊技RAM領域の少なくとも一部の領域を初期化するものであれば良く、遊技RAM領域の全ての領域を初期化するものでも良い。   The main control unit 41 of the present embodiment is configured to initialize a part of the game RAM area when the first initialization condition is satisfied. It is only necessary to initialize at least a part of the game RAM area when the initialization condition is satisfied, and all the areas of the game RAM area may be initialized.

また、本実施例のメイン制御部41は、第2の初期化条件が成立したときに、遊技RAM領域の一部を初期化するとともに、非遊技RAM領域の全ての領域を初期化する構成であるが、メイン制御部41は、第2の初期化条件が成立したときに遊技RAM領域の少なくとも一部の領域を初期化するとともに、非遊技RAM領域の少なくとも一部の領域を初期化するものであれば良く、遊技RAM領域の全ての領域を初期化するものでも良いし、非遊技RAM領域の全ての領域を初期化するものでも良いし、非遊技RAM領域の少なくとも一部の領域を初期化するものでも良いし、遊技RAM領域及び非遊技RAM領域の双方の全ての領域を初期化するものでも良い。   Further, the main control unit 41 of the present embodiment is configured to initialize a part of the game RAM area and initialize all areas of the non-game RAM area when the second initialization condition is satisfied. However, the main control unit 41 initializes at least a part of the game RAM area when the second initialization condition is satisfied, and initializes at least a part of the non-game RAM area. Any area may be used to initialize all areas of the game RAM area, all areas of the non-game RAM area may be initialized, or at least a part of the non-game RAM area may be initialized. Or a game RAM area and a non-game RAM area, all of which may be initialized.

本実施例のメイン制御部41は、遊技RAM領域を初期化するプログラムと、非遊技RAM領域を初期化するプログラムと、を別個のプログラムとして構成しているので、遊技プログラムが非遊技RAM領域の初期化をせずに済むため、遊技プログラムの容量を削減できる。また、第1の初期化条件が成立したときにも、第2の初期化条件が成立したときにも、遊技RAM領域を初期化するプログラムを共用できる。さらに遊技RAM領域を初期化するプログラムを遊技プログラムとして備え、非遊技RAM領域を初期化するプログラムを非遊技プログラムとして備えるので、遊技プログラムが非遊技RAM領域を初期化したり、非遊技プログラムが遊技RAM領域を初期化したりすることがなく、遊技プログラムが非遊技プログラムに影響を与えること、非遊技プログラムが遊技プログラムに影響を与えることを防止できる。   The main control unit 41 of the present embodiment configures the program for initializing the game RAM area and the program for initializing the non-game RAM area as separate programs. Since the initialization is not required, the capacity of the game program can be reduced. In addition, the program for initializing the game RAM area can be shared when the first initialization condition is satisfied and when the second initialization condition is satisfied. Further, since a program for initializing the game RAM area is provided as a game program, and a program for initializing the non-game RAM area is provided as a non-game program, the game program initializes the non-game RAM area, and the non-game program executes the game RAM. It is possible to prevent the game program from affecting the non-game program and prevent the non-game program from affecting the game program without initializing the area.

本実施例のメイン制御部41は、第1の初期化条件として、メイン処理において遊技終了時処理設定を行った後に、特定の遊技状態の終了時でないと判定されたとき、すなわち1ゲームが終了した時に遊技終了時の初期化対象RAMの先頭アドレスを設定し、遊技領域初期化処理を実行することで、遊技RAM領域のうち所定の領域を初期化するので、遊技単位毎に遊技の進行に係る不要な遊技RAM領域の一部の領域を初期化することができる。   The main control unit 41 according to the present embodiment determines, as the first initialization condition, that it is not the end of the specific game state after performing the game end process setting in the main process, that is, one game ends. By setting the start address of the initialization target RAM at the end of the game when the game is completed and executing the game area initialization processing, a predetermined area of the game RAM area is initialized, so that the game progresses for each game unit. It is possible to initialize a part of the unnecessary game RAM area.

本実施例のメイン制御部41は、設定キースイッチ37がONの状態で起動され、設定変更処理を開始したとき、すなわち設定変更操作が行われたことに基づいて第2の初期化条件が成立したときに、遊技領域初期化処理を実行して遊技RAM領域のうち所定の領域を初期化するとともに、非遊技領域初期化処理を実行して非遊技RAM領域のうち所定の領域を初期化するようになっており、遊技店員の設定変更操作(初期化操作)に基づいて遊技RAM領域と非遊技RAM領域の双方を初期化することができる。   The main control unit 41 of the present embodiment is activated when the setting key switch 37 is ON and starts the setting change process, that is, the second initialization condition is satisfied based on the fact that the setting change operation is performed. Then, a predetermined area of the game RAM area is initialized by executing the game area initialization processing, and a predetermined area of the non-game RAM area is initialized by executing the non-game area initialization processing. Thus, both the game RAM area and the non-game RAM area can be initialized based on the setting change operation (initialization operation) of the game clerk.

本実施例のRAM41cの遊技RAM領域は、遊技プログラムに基づく制御を行う際にも非遊技プログラムに基づく制御を行う際にも用いられることのない未使用領域3を含み、第1の初期化条件の成立時にも、第2の初期化条件の成立時にも、未使用領域3を初期化するので、未使用領域3に不正なデータが記憶されることを防止できる。   The game RAM area of the RAM 41c of the present embodiment includes an unused area 3 that is not used when performing control based on a game program or control based on a non-game program, and includes a first initialization condition. Since the unused area 3 is initialized when the second initialization condition is satisfied or when the second initialization condition is satisfied, illegal data can be prevented from being stored in the unused area 3.

尚、本実施例では、第1の初期化条件の成立時にも第2の初期化条件の成立時にも未使用領域3を初期化する構成であるが、少なくとも第1の初期化条件の成立時、第2の初期化条件の成立時のいずれか一方の条件の成立時に未使用領域3を初期化する構成であれば、未使用領域3に不正なデータが記憶されることを防止できる。また、第1の初期化条件が複数の条件を含む構成であれば、そのうち少なくとも一の条件の成立時に未使用領域3を初期化する構成であれば、未使用領域3に不正なデータが記憶されることを防止できる。第2の初期化条件が複数の条件を含む構成であっても同様である。   In the present embodiment, the unused area 3 is initialized both when the first initialization condition is satisfied and when the second initialization condition is satisfied. However, at least when the first initialization condition is satisfied. If the configuration is such that the unused area 3 is initialized when one of the conditions is satisfied when the second initialization condition is satisfied, illegal data can be prevented from being stored in the unused area 3. Further, if the first initialization condition includes a plurality of conditions, and if at least one of the conditions is satisfied, the unused area 3 is initialized, invalid data is stored in the unused area 3. Can be prevented. The same applies even when the second initialization condition includes a plurality of conditions.

本実施例のメイン制御部41は、遊技プログラムのワークとして用いられ、遊技プログラムが用いるデータを記憶する遊技RAM領域と、非遊技プログラムのワークとして用いられ、非遊技プログラムが用いるデータを記憶する非遊技RAM領域と、を含むRAM41cを備えており、当該RAM41cは、バックアップ電源によりスロットマシン1への電力供給が停止されてもRAM41cに記憶されたデータを所定期間保持可能な構成であって、メイン制御部41は、スロットマシン1への電力供給が開始したときに、初期設定処理を開始し、バックアップ電源により保持されているRAM41cに記憶されているデータに基づいてRAMの記憶内容が正常か否かを判定し、正常と判定された場合に、RAM41cに記憶されているデータ基づいて制御を再開する。   The main control unit 41 of the present embodiment is used as a work of a game program, a game RAM area for storing data used by the game program, and a non-game memory used for work of the non-game program and storing data used by the non-game program. And a RAM 41c including a game RAM area. The RAM 41c has a configuration capable of holding data stored in the RAM 41c for a predetermined period even when power supply to the slot machine 1 is stopped by a backup power supply. When the power supply to the slot machine 1 is started, the control unit 41 starts an initial setting process, and determines whether the contents stored in the RAM are normal based on the data stored in the RAM 41c held by the backup power supply. And if it is determined to be normal, the data stored in the RAM 41c is determined. Based resume control.

このような構成において、スロットマシン1への電力供給が開始したときに、RAM41cの遊技RAM領域と非遊技RAM領域の双方の領域に記憶されたデータに基づいて、RAMの記憶内容が正常か否かを判定する際に、RAM41cに記憶されているデータ基づいて制御を再開する際の負荷が過大となる。   In such a configuration, when the power supply to the slot machine 1 is started, based on the data stored in both the game RAM area and the non-game RAM area of the RAM 41c, whether the content stored in the RAM is normal or not is determined. When it is determined whether the control is restarted based on the data stored in the RAM 41c, the load becomes excessive.

これに対して、本実施例のメイン制御部41は、スロットマシン1への電力供給が開始したときに、初期設定処理を開始し、バックアップ電源により保持されているRAM41cのうち遊技RAM領域のRAMパリティ、遊技RAM領域に記憶されている破壊診断用データに基づいてRAMの記憶内容が正常か否かを判定し、正常と判定された場合に、遊技RAM領域に記憶されているデータ及び非遊技RAM領域に記憶されているデータに基づいて制御を再開始するようになっており、非遊技RAM領域に記憶されており、遊技の進行に支障のない非遊技用のデータが正常か否かの判定を省くことで、遊技の進行が正常に行えることを担保しつつ、制御を再開する際の負荷を軽減することができる。   On the other hand, when the power supply to the slot machine 1 is started, the main control unit 41 of the present embodiment starts the initialization processing, and the RAM 41c in the game RAM area of the RAM 41c held by the backup power supply It is determined whether or not the storage content of the RAM is normal based on the parity and the destructive diagnosis data stored in the game RAM area, and when it is determined that the content is normal, the data stored in the game RAM area and the non-game The control is restarted based on the data stored in the RAM area, and whether the non-game data stored in the non-game RAM area and not hindering the progress of the game is normal or not is determined. By omitting the determination, it is possible to reduce the load when restarting the control, while ensuring that the game can be normally performed.

本実施例のRAM41cの遊技RAM領域は、遊技プログラムに基づく制御を行う際にも、非遊技プログラムに基づく制御を行う際にも、用いられることのない未使用領域3を含んでおり、メイン制御部41は、スロットマシン1への電力供給が開始されたときに、初期設定処理を実行し、初期設定処理において、未使用領域3を含む遊技RAM領域のRAMパリティを算出し、算出されたRAMパリティに基づいて遊技RAM領域の記憶内容が正常か否かを判定するので、未使用領域3に不正なデータが記憶されることを防止できる。   The game RAM area of the RAM 41c of the present embodiment includes an unused area 3 that is not used when performing control based on a game program or when performing control based on a non-game program. The unit 41 performs an initial setting process when the power supply to the slot machine 1 is started, calculates a RAM parity of the game RAM area including the unused area 3 in the initial setting process, and calculates the calculated RAM. Since it is determined whether or not the storage content of the game RAM area is normal based on the parity, it is possible to prevent unauthorized data from being stored in the unused area 3.

本実施例のメイン制御部41は、スロットマシン1への電力供給が開始されたときに、初期設定処理を実行し、初期設定処理において、RAM41cの記憶内容が破壊されているか否かを判定し、RAM41cの記憶内容が破壊されていると判定した場合に、RAM異常フラグを設定してエラー処理に制御し、その後、自動的に復帰することがなくエラー状態を維持する一方、設定キースイッチ36がONの状態で、スロットマシン1への電力供給が開始されたときに、設定変更処理に制御し、遊技領域初期化処理を実行して遊技RAM領域を初期化するとともに、非遊技領域初期化処理を実行して非遊技RAM領域を初期化する、すなわちエラー状態が解除されることに伴い遊技RAM領域と非遊技RAM領域の双方を初期化するので、遊技RAM領域及び非遊技RAM領域のいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。   When the power supply to the slot machine 1 is started, the main control unit 41 of the present embodiment executes an initialization process, and determines whether or not the storage content of the RAM 41c is destroyed in the initialization process. When it is determined that the storage contents of the RAM 41c are destroyed, the RAM abnormality flag is set and error processing is controlled, and thereafter, the error state is maintained without automatically returning to the normal state. When the power supply to the slot machine 1 is started in the state of ON, the control is changed to the setting change processing, the game area initialization processing is executed to initialize the game RAM area, and the non-game area initialization. The non-game RAM area is initialized by executing the processing, that is, both the game RAM area and the non-game RAM area are initialized when the error state is released. While game any abnormality has occurred in the RAM area and the non gaming RAM area can be prevented from proceeding.

本実施例のメイン制御部41は、スロットマシン1への電力供給が開始されたときに、初期設定処理において、RAM41cの記憶内容が破壊されていると判定した場合に、RAM異常フラグを設定してエラー処理に制御し、その後、設定キースイッチ36がONの状態で、スロットマシン1への電力供給が開始され、設定変更処理が実行されることで、エラー状態が解除されることに伴い遊技RAM領域と非遊技RAM領域の双方を初期化する構成であるが、メイン制御部41は、スロットマシン1への電力供給が開始されたときに、初期設定処理において、RAM41cの記憶内容が破壊されていると判定した場合に、遊技RAM領域と非遊技RAM領域の双方を初期化し、エラー処理に制御するものであっても良い。このような構成では、エラー処理に制御する際に、遊技RAM領域と非遊技RAM領域の双方を初期化するので、本実施例と同様に、遊技RAM領域及び非遊技RAM領域のいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。また、RAM41cの記憶内容が破壊されている判定されたとき、その後設定変更処理が実行されるときの双方で、遊技RAM領域と非遊技RAM領域の双方を初期化する構成でも良く、このような構成であっても、遊技RAM領域及び非遊技RAM領域のいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。   When the power supply to the slot machine 1 is started, the main control unit 41 of the present embodiment sets the RAM abnormality flag when it is determined in the initial setting processing that the storage content of the RAM 41c is destroyed. After that, the power supply to the slot machine 1 is started with the setting key switch 36 being ON and the setting change processing is executed, so that the error state is released and the game is released. In this configuration, both the RAM area and the non-game RAM area are initialized. However, when the power supply to the slot machine 1 is started, the main controller 41 destroys the stored contents of the RAM 41c in the initialization processing. If it is determined that the game has been executed, both the game RAM area and the non-game RAM area may be initialized, and control may be performed for error processing. In such a configuration, when controlling the error processing, both the game RAM area and the non-game RAM area are initialized. The game can be prevented from proceeding with the occurrence. In addition, both the game RAM area and the non-game RAM area may be initialized when it is determined that the storage content of the RAM 41c is destroyed and when the setting change process is executed thereafter. Even with the configuration, it is possible to prevent the game from proceeding with an abnormality occurring in either the game RAM area or the non-game RAM area.

本実施例のメイン制御部41は、スロットマシン1への電力供給が停止され、電断検出回路48により電源電圧の低下が検出されたときに電断処理を実行し、電断処理において、RAM41cへのアクセスを禁止することで、遊技RAM領域及び非遊技RAM領域の双方へのアクセスを禁止するので、次回起動時にデータが破壊されているか否かの判定対象外となる非遊技RAM領域を利用して不正なデータが記憶されることを防止できる。   The main controller 41 of the present embodiment executes the power interruption processing when the power supply to the slot machine 1 is stopped and the power interruption detection circuit 48 detects a decrease in the power supply voltage. Access to both the game RAM area and the non-game RAM area is prohibited by prohibiting access to the game RAM area. In this way, it is possible to prevent illegal data from being stored.

次に、メイン制御部41が遊技の進行制御等に用いる時間間隔を計測するためのタイマカウンタについて、図20〜図22に基づいて説明する。   Next, a timer counter for measuring a time interval used by the main control unit 41 for controlling the progress of a game or the like will be described with reference to FIGS.

メイン制御部41は、計時開始条件が成立したときに、RAM41cの遊技RAM領域に割り当てられたタイマカウンタのタイマ値として計時時間に応じた初期値を設定するとともに、タイマ割込処理(メイン)において定期的にタイマ値を減算し、タイマ値が0となることで計時時間が経過したことを特定するようになっている。   When the timing start condition is satisfied, the main control unit 41 sets an initial value corresponding to the counted time as the timer value of the timer counter assigned to the game RAM area of the RAM 41c, and sets the timer interrupt processing (main). The timer value is periodically subtracted, and when the timer value becomes 0, it is specified that the measured time has elapsed.

詳しくは、メイン制御部41は、メイン処理において計時開始条件が成立したときに、当該条件に応じたタイマカウンタが割り当てられた領域に計時時間に応じたタイマ値の初期値を設定する。設定されたタイマ値は、タイマ割込処理(メイン)の時間カウンタ更新処理において、約2.24ms毎に0となるまで1ずつ減算される。   More specifically, when the timekeeping start condition is satisfied in the main process, the main control unit 41 sets an initial value of the timer value according to the timekeeping time in an area to which a timer counter according to the condition is assigned. The set timer value is decremented by one until it becomes 0 approximately every 2.24 ms in the time counter update process of the timer interrupt process (main).

そして、メイン処理では、図20に示すように、該当するタイマカウンタのアドレスを取得し(Si1)、取得した値を読み出し(Si2)、読み出した値が0でないか否かを判定し(Si3)、読み出した値が0であると判定した場合に、計時時間が経過したことを特定する。   Then, in the main processing, as shown in FIG. 20, the address of the corresponding timer counter is obtained (Si1), the obtained value is read (Si2), and it is determined whether the read value is not 0 (Si3). When it is determined that the read value is 0, it is specified that the clock time has elapsed.

本実施例において用いるタイマカウンタは、図21に示すように、初期値が1バイト以下の1バイトタイマA、1バイトタイマB、1バイトタイマC、初期値が1バイトを超え、2バイト以下の2バイトタイマA、2バイトタイマB、2バイトタイマC、2バイトタイマDを含む。   As shown in FIG. 21, the timer counter used in the present embodiment has a 1-byte timer A, a 1-byte timer B, a 1-byte timer C whose initial value is 1 byte or less, and an initial value exceeding 1 byte and 2 bytes or less. It includes a 2-byte timer A, a 2-byte timer B, a 2-byte timer C, and a 2-byte timer D.

1バイトタイマは、1バイト以内のタイマ値にて計測可能な比較的短い期間を計測するためのタイマであり、例えば、外部出力信号の出力期間を計測する外部出力信号タイマ、LEDの出力更新期間を計測するLED更新タイマ、停止操作の検出後、再度の停止操作が有効化されるまでの期間を計測する停止無効タイマ、リール停止後、メダルの払出が開始するまでの期間を計測する払出待ちタイマ、投入メダルセンサ31のONが検出されてからの期間を計測する投入検出タイマ、投入口センサ26のONが検出されてからの期間を計測する投入口検出タイマ、払出センサ34cのONが検出されてからの期間を計測する払出検出タイマ、リール回転開始後、停止操作が有効となるまでの期間を計測する始動時タイマなどがある。このうち停止無効タイマ、払出待ちタイマ、始動時タイマは、これらのタイマによる計測期間が1遊技の終了するタイミングを跨ぐことはないが、外部出力信号タイマ、LED更新タイマ、投入検出タイマ、投入口検出タイマ、払出検出タイマは、これらのタイマによる計測時間が1遊技の終了するタイミングを跨ぐことがある。   The 1-byte timer is a timer for measuring a relatively short period that can be measured with a timer value within 1 byte. For example, an external output signal timer for measuring an output period of an external output signal, an LED output update period LED update timer that measures the time, a stop invalidation timer that measures the time from when the stop operation is detected until the stop operation is validated again, and a payout wait that measures the time until the payout of medals starts after the reel stops. A timer, an insertion detection timer that measures a period after ON of the insertion medal sensor 31 is detected, an insertion port detection timer that measures a period since ON of the insertion sensor 26 is detected, and ON of the payout sensor 34c is detected. There is a payout detection timer that measures a period after the start, and a start timer that measures a period from the start of reel rotation until the stop operation becomes effective. Among these, the stop invalidation timer, the payout waiting timer, and the start time timer do not extend over the timing at which one game ends, but the external output signal timer, the LED update timer, the insertion detection timer, the insertion port The detection timer and the payout detection timer sometimes cross over the time measured by these timers when one game ends.

2バイトタイマは、1バイト以内のタイマ値では計測できない比較的長い期間を計測するためのタイマであり、例えば、1遊技に必要な規定時間(約4.1秒)を計測する1遊技時間タイマ、外部出力信号のうちセキュリティ信号の最低出力期間を計測するセキュリティ信号タイマ、遊技終了からの期間を計測する待機時間タイマ、ホッパーモータ34bの駆動後、払出センサ34cが検出されない期間を計測するホッパーエンプティタイマなどがある。このうち待機時間タイマ、ホッパーエンプティタイマは、これらのタイマによる計測期間が1遊技の終了するタイミングを跨ぐことはないが、1遊技時間タイマ、セキュリティ信号タイマは、これらのタイマによる計測時間が1遊技の終了するタイミングを跨ぐことがある。   The 2-byte timer is a timer for measuring a relatively long period that cannot be measured with a timer value within 1 byte. For example, a 1-game time timer for measuring a prescribed time (about 4.1 seconds) required for 1 game A security signal timer for measuring the minimum output period of the security signal among the external output signals, a standby time timer for measuring a period from the end of the game, a hopper empty timer for measuring a period during which the payout sensor 34c is not detected after the hopper motor 34b is driven. There is a timer. Of these, the standby time timer and the hopper empty timer do not straddle the timing of the end of one game with the measurement period of these timers, but the one game time timer and the security signal timer have the time measured by these timers of one game. May end the timing of the end.

このようにタイマカウンタは、1遊技の終了するタイミング、すなわち遊技の進行に応じてRAM41cの一部が初期化されるタイミング(1遊技の終了時または特定の遊技状態の終了時においてRAM41cの一部が初期化されるタイミング)を跨ぐ計測期間を計測するタイマカウンタと、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのないタイマカウンタと、を含むが、いずれのタイマカウンタも遊技の進行に応じたタイミングでは初期化されることのない特別ワークに割り当てられている。   As described above, the timer counter indicates the timing at which one game ends, that is, the timing at which a part of the RAM 41c is initialized in accordance with the progress of the game (at the end of one game or at the end of a specific game state, Are initialized, and a timer counter that measures a measurement period that extends over a period of time, and a timer counter that does not extend over the timing at which a part of the RAM 41c is initialized in accordance with the progress of the game. The counter is also assigned to a special work that is not initialized at a timing according to the progress of the game.

これらタイマカウンタのうち1バイトタイマA〜Cは、RAM41cの連続する3バイトの領域(804CH〜804EH)に1バイトずつ割り当てられており、2バイトタイマA〜Dは、RAM41cの連続する8バイトの領域(804FH〜8055h)に2バイトずつ割り当てられている。さらに、1バイトタイマA〜C、2バイトタイマA〜DもRAM41cの連続する領域に割り当てられている。以下では、1バイトタイマA〜Cが割り当てられた領域を1バイトタイマ群と呼び、2バイトタイマA〜Dが割り当てられた領域を2バイトタイマ群と呼ぶ。すなわち1バイトタイマ群及び2バイトタイマ群はいずれも、所定の規則で連続するアドレスが割り当てられた領域に設定されている。尚、所定の規則で連続するアドレスが割り当てられる領域とは、例えば、開始アドレス及び開始アドレスからN(Nは自然数)ずつ加算されるアドレスが割り当てられる領域である。   Of these timer counters, the one-byte timers A to C are assigned one byte at a time to a continuous three-byte area (804CH to 804EH) of the RAM 41c, and the two-byte timers A to D correspond to eight consecutive bytes of the RAM 41c. Two bytes are allocated to the area (804FH to 8055h). Further, 1-byte timers A to C and 2-byte timers A to D are also allocated to continuous areas of the RAM 41c. Hereinafter, the area to which the 1-byte timers A to C are assigned is called a 1-byte timer group, and the area to which the 2-byte timers A to D are assigned is called a 2-byte timer group. That is, both the 1-byte timer group and the 2-byte timer group are set in areas to which consecutive addresses are assigned according to a predetermined rule. The area to which consecutive addresses are assigned according to a predetermined rule is, for example, an area to which a start address and an address to be added by N (N is a natural number) from the start address are assigned.

図22は、時間カウンタ更新処理の制御内容を示すフローチャートである。   FIG. 22 is a flowchart showing the control contents of the time counter updating process.

時間カウンタ更新処理では、まず、1バイト用処理回数として、更新すべき1バイトのタイマカウンタの数(本実施例では3)をセットし(Sj1)、1バイトタイマ群の先頭アドレス(804CH)にポインタをセットする(Sj2)。   In the time counter update process, first, the number of 1-byte timer counters to be updated (3 in this embodiment) is set as the number of 1-byte processes (Sj1), and the start address (804CH) of the 1-byte timer group is set in the timer counter. The pointer is set (Sj2).

次いで、指定アドレス(ポインタが示すアドレス)に格納された1バイトの値が0でなければ指定アドレスの1バイトの値を1減算し(Sj3)、Sj1のステップで設定した処理回数を1減算し(Sj4)、減算後の処理回数が0か否かを判定する(Sj5)。   Next, if the 1-byte value stored at the designated address (the address indicated by the pointer) is not 0, the 1-byte value of the designated address is decremented by 1 (Sj3), and the number of processes set in the step of Sj1 is subtracted by 1. (Sj4), it is determined whether or not the number of processes after the subtraction is 0 (Sj5).

Sj5のステップで減算後の処理回数が0でない場合、すなわち全ての1バイトタイマの更新が終了していない場合には、ポインタを1加算し(Sj6)、Sj3のステップに戻る。これにより、未処理の1バイトタイマのアドレスにポインタが移動し、指定アドレスの1バイトの値が0でなければ減算される。   If the number of times of processing after the subtraction is not 0 in step Sj5, that is, if all the one-byte timers have not been updated, the pointer is incremented by 1 (Sj6), and the process returns to step Sj3. As a result, the pointer moves to the address of the unprocessed 1-byte timer, and if the value of the 1-byte at the specified address is not 0, the pointer is decremented.

Sj5のステップで減算後の処理回数が0の場合、すなわち全ての1バイトタイマの更新が終了した場合には、2バイト用処理回数として、更新すべき2バイトのタイマカウンタの数(本実施例では4)をセットし(Sj7)、ポインタを1加算する(Sj8)。これにより、2バイトカウンタ群の先頭アドレス(804FH)にポインタが移動する。   If the number of times of processing after the subtraction is 0 in step Sj5, that is, if all the 1-byte timers have been updated, the number of 2-byte timer counters to be updated is set as the number of 2-byte processings (this embodiment Then, 4) is set (Sj7), and the pointer is incremented by 1 (Sj8). As a result, the pointer moves to the head address (804FH) of the 2-byte counter group.

次いで、指定アドレス(ポインタが示すアドレス)及び次のアドレスからなる領域に格納された2バイトの値が0でなければ指定アドレス及び次のアドレスの2バイトの値を1減算し(Sj9)、Sj7のステップで設定した処理回数を1減算し(Sj10)、減算後の処理回数が0か否かを判定する(Sj11)。   Next, if the 2-byte value stored in the area consisting of the designated address (the address indicated by the pointer) and the next address is not 0, the 2-byte value of the designated address and the next address is decremented by 1 (Sj9), and Sj7 The number of times of processing set in the step is subtracted by 1 (Sj10), and it is determined whether or not the number of times of processing after the subtraction is 0 (Sj11).

Sj11のステップで減算後の処理回数が0でない場合、すなわち全ての2バイトタイマの更新が終了していない場合には、ポインタを2加算し(Sj12)、Sj9のステップに戻る。これにより、未処理の2バイトタイマのアドレスにポインタが移動し、指定アドレス及び次のアドレスの2バイトの値が0でなければ減算される。   If the number of times of processing after the subtraction is not 0 in step Sj11, that is, if all the 2-byte timers have not been updated, the pointer is incremented by 2 (Sj12), and the process returns to step Sj9. As a result, the pointer moves to the address of the unprocessed 2-byte timer, and the value of the designated address and the next address are decremented unless the 2-byte value is 0.

Sj11のステップで減算後の処理回数が0の場合、すなわち全ての2バイトタイマの更新が終了した場合には、処理を終了する。   If the number of processes after the subtraction is 0 in the step Sj11, that is, if the update of all the 2-byte timers has been completed, the process ends.

このように本実施例では、RAM41cに割り当てられたタイマカウンタの値を定期的に更新し、特定の値(0)となることで時間の経過を特定するようになっている。従来は、複数種類の時間間隔を計測する場合に、計時を要する複数種類の処理内で、タイマ値の設定及び更新を行っており、複数種類のタイマ値を更新するためのプログラムをそれぞれの処理内に設ける必要があるため、プログラム容量が増大する要因となっていた。また、複数種類のタイマカウンタは、それぞれが用いられる処理毎のデータ群として割り当てられているため、一の処理においてまとめて更新するためには、それぞれの関連性のないアドレスの値を読み出す必要があった。   As described above, in the present embodiment, the value of the timer counter assigned to the RAM 41c is periodically updated, and the passage of time is specified by reaching a specific value (0). Conventionally, when measuring a plurality of types of time intervals, a timer value is set and updated in a plurality of types of processing requiring time measurement, and a program for updating a plurality of types of timer values is provided in each processing. In such a case, the program capacity is increased. In addition, since a plurality of types of timer counters are allocated as a data group for each process in which each is used, it is necessary to read the value of an unrelated address in order to update them collectively in one process. there were.

これに対して本実施例では、複数種類のタイマカウンタ値が格納される領域がRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定されるとともに、指定アドレスに格納されたタイマ値を更新する処理を、現在の指定アドレスに対して定数を加算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新するので、複数種類のアドレスをそれぞれ指定して当該アドレスの値を更新する処理を個々の処理で行う場合よりもプログラム容量を削減することができる。   On the other hand, in the present embodiment, the area in which a plurality of types of timer counter values are stored is set in the area of the RAM 41c to which consecutive addresses are assigned according to a predetermined rule, and the timer value stored in the designated address is set. Since the updating process is repeated by adding a constant to the current designated address and changing the designated address for the area where the plural types of timer counter values are stored, the plural types of timer values are updated. In addition, the program capacity can be reduced as compared with the case where the processing of designating a plurality of types of addresses and updating the values of the addresses is performed by individual processing.

尚、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成であれば良く、例えば、現在の指定アドレスに対して定数を加算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良いし、基準アドレスに対して処理数に応じた値(例えば、1バイトカウンタであれば、処理数1の場合に+1、処理数2の場合に+2、処理数3の場合に+3…)を加算または減算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。   It should be noted that the process of updating the timer value stored at the designated address is repeatedly performed while changing the designated address for the area in which the plurality of types of timer counter values are stored by performing a predetermined operation. Any configuration may be used as long as the value is updated. For example, by adding a constant to the current designated address and repeatedly executing while changing the designated address for an area in which a plurality of types of timer counter values are stored, a plurality of types are provided. , Or a value corresponding to the number of processes with respect to the reference address (for example, in the case of a 1-byte counter, +1 for 1 process, 2 for 2 processes, and 2 In the case of 3, +3...) Is added or subtracted to change the designated address for the area in which a plurality of types of timer counter values are stored. Ri may be configured to update a plurality of types of the timer value by return run.

また、本実施例では、1バイトタイマA〜C、2バイトタイマA〜Dの7種類のタイマカウンタの値を備える構成であるが、少なくとも2種類以上のタイマカウンタの値をRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより2種類以上のタイマ値を更新する構成であれば、上記のようにプログラム容量を削減することができる。   Further, in the present embodiment, the configuration is such that the values of the seven types of timer counters of 1-byte timers A to C and the two-byte timers A to D are provided. The process of updating the timer value stored at the specified address in the area where the consecutive addresses are assigned by the specified operation is performed by changing the specified address for the area storing the multiple types of timer values by performing a predetermined operation. If the configuration is such that two or more timer values are updated by repeatedly executing the program, the program capacity can be reduced as described above.

また、1バイトタイマまたは2バイトタイマの一方のみ、タイマカウンタの値をRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。   In addition, only one of the one-byte timer and the two-byte timer sets the value of the timer counter in an area of the RAM 41c to which continuous addresses are assigned according to a predetermined rule, and updates the timer value stored at the specified address. A configuration in which a plurality of timer values are updated by performing a predetermined operation repeatedly while changing a designated address for an area in which a plurality of types of timer values are stored and changing the designated address may be used.

また、メイン制御部41が備える一部のタイマカウンタのみ、タイマ値をRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。   In addition, only a part of the timer counters provided in the main control unit 41 sets the timer value in an area of the RAM 41c to which continuous addresses are assigned according to a predetermined rule, and updates the timer value stored at the designated address. A configuration in which a plurality of timer values are updated by performing a predetermined operation repeatedly while changing a designated address for an area in which a plurality of types of timer values are stored and changing the designated address may be used.

また、本実施例では、計測する期間の種類毎に別個のタイマカウンタを備える構成であるが、例えば、計測する期間が重複しない複数種類の期間について一のタイマカウンタを共用する構成としても良い。   In the present embodiment, a separate timer counter is provided for each type of period to be measured. For example, one timer counter may be shared for a plurality of types of periods in which the measured periods do not overlap.

また、本実施例では、メイン制御部41が実行する処理として、遊技の進行状況に関わらず予め定められた処理を定期的に行うタイマ割込処理(メイン)と、遊技の進行状況に応じて段階的に異なる処理を行うメイン処理と、を含み、メイン制御部41は、メイン処理において計時条件が成立した場合にタイマカウンタに初期値を設定し、タイマ割込処理(メイン)において複数種類のタイマ値を更新するようになっており、メイン処理を構成する各処理内に複数種類のタイマ値を更新する処理を設ける必要がないため、複数種類のタイマ値の更新に係るプログラム容量を削減することができる。   Further, in the present embodiment, as the processing executed by the main control unit 41, a timer interruption processing (main) for periodically performing a predetermined processing regardless of the progress of the game, and a processing in accordance with the progress of the game The main control unit 41 sets an initial value in a timer counter when a time measurement condition is satisfied in the main processing, and performs a plurality of types of processing in a timer interrupt processing (main). Since the timer value is updated, there is no need to provide a process for updating a plurality of types of timer values in each process constituting the main process. Therefore, the program capacity for updating the plurality of types of timer values is reduced. be able to.

尚、本実施例では、メイン処理に定期的に割り込んでタイマ割込処理(メイン)を実行する構成であるが、定期的に行うタイマ割込処理内で、遊技の進行状況に関わらず予め定められた処理を行う定期処理と、遊技の進行状況に応じて段階的に異なる処理を行うメイン処理と、の双方を行う構成としても良く、このような構成においても、メイン制御部41は、メイン処理において計時条件が成立した場合にタイマカウンタに初期値を設定し、定期処理において複数種類のタイマ値を更新する構成とすることで、メイン処理を構成する各処理内に複数種類のタイマ値を更新する処理を設ける必要がないため、複数種類のタイマ値の更新に係るプログラム容量を削減することができる。   In this embodiment, the timer interrupt process (main) is executed by periodically interrupting the main process. However, in the timer interrupt process performed periodically, a predetermined timer interrupt process is performed regardless of the progress of the game. The main control unit 41 may be configured to perform both a periodic process for performing the performed process and a main process for performing a process that varies stepwise according to the progress of the game. By setting an initial value to the timer counter when the timing condition is satisfied in the processing and updating a plurality of types of timer values in the periodic processing, a plurality of types of timer values can be stored in each processing constituting the main processing. Since there is no need to provide a process for updating, it is possible to reduce the program capacity for updating a plurality of types of timer values.

また、本実施例では、時間カウンタ更新処理において、指定アドレスの値が0でないことを条件に当該アドレスの値を更新するようになっており、タイマ値が異常な値に更新されてしまうことを防止できる。   Further, in the present embodiment, in the time counter update processing, the value of the designated address is updated on condition that the value of the address is not 0, so that the timer value is updated to an abnormal value. Can be prevented.

また、本実施例では、時間カウンタ更新処理において、更新するタイマカウンタの数と同数の処理数を設定し、設定した処理数分、タイマ値を更新する処理を繰り返し実行する構成であるため、更新するタイマカウンタの数の管理が容易になるとともに、例えば、更新間隔が異なる複数種類のタイマカウンタを備える場合などに、設定する処理数に応じて更新するタイマ値の種類を任意に設定することができる。   Further, in the present embodiment, in the time counter updating process, the same number of processes as the number of timer counters to be updated are set, and the process of updating the timer value is repeatedly executed by the set number of processes. In addition to simplifying the management of the number of timer counters to be performed, for example, when a plurality of types of timer counters having different update intervals are provided, it is possible to arbitrarily set the type of timer value to be updated according to the number of processes to be set it can.

尚、処理数、すなわち更新するタイマカウンタの数は、プログラムに設定されていても良いし、テーブルに設定された値を読み出して設定するようにしても良い。   The number of processes, that is, the number of timer counters to be updated may be set in a program, or may be set by reading a value set in a table.

また、最初に処理数を設定することなく、最後に更新するタイマカウンタを予め設定するとともに、当該タイマカウンタのアドレスに到達するまでタイマ値を更新する処理を繰り返し実行する構成としたり、最後に更新するタイマカウンタの次のアドレスに特定のエンド値(例えば、FFh)を格納し、指定アドレスから読み出された値が特定のエンド値となるまでタイマ値を更新する処理を繰り返し実行する構成としても良い。   In addition, the timer counter to be updated last is set in advance without setting the number of processes first, and the timer value is updated repeatedly until the address of the timer counter is reached. A specific end value (for example, FFh) is stored in the next address of the timer counter to be updated, and the process of repeatedly updating the timer value until the value read from the specified address becomes the specific end value may be repeatedly executed. good.

また、本実施例では、1バイトのタイマカウンタと、2バイトのタイマカウンタと、を備え、1バイトのタイマ値を更新する処理と、2バイトのタイマ値を更新する処理と、を別個に備えるため、1バイトのタイマ値を更新する処理と、2バイトのタイマ値を更新する処理と、を共通化する場合よりもプログラムの容量やRAM41cにおいてタイマ値が占有する容量を削減することができる。   Further, in this embodiment, a 1-byte timer counter and a 2-byte timer counter are provided, and a process of updating a 1-byte timer value and a process of updating a 2-byte timer value are separately provided. Therefore, the capacity of the program and the capacity occupied by the timer value in the RAM 41c can be reduced as compared with the case where the process of updating the 1-byte timer value and the process of updating the 2-byte timer value are shared.

尚、本実施例では、2バイトのタイマカウンタを備えることで1バイトを超える初期値に対応する相対的に長い時間を計測する構成であるが、例えば、更新間隔が異なるタイマカウンタ、例えば、タイマ割込処理(メイン)4回に1回更新する第1のタイマカウンタと、14回に1回更新する第2のタイマカウンタと、を備えることにより、2バイトのカウンタを設けることなく、相対的に長い時間間隔を計測する構成としても良く、このようにすることで、1バイトのタイマ値を更新する処理と、2バイトのタイマ値を更新する処理と、それぞれ設ける必要がなくなるため、タイマ値の更新に係るプログラム容量を削減できる。   In this embodiment, a 2-byte timer counter is provided to measure a relatively long time corresponding to an initial value exceeding 1 byte. For example, a timer counter having a different update interval, for example, a timer By providing a first timer counter that updates once every four times of interrupt processing (main) and a second timer counter that updates once every fourteen times, a relative value can be obtained without providing a 2-byte counter. In such a configuration, it is not necessary to provide a process of updating the 1-byte timer value and a process of updating the 2-byte timer value. Can reduce the program capacity required for updating the program.

また、本実施例では、複数種類のタイマカウンタがRAM41cにおいて遊技の進行に応じて初期化されることのない特別ワークに割り当てられており、遊技の進行に応じて初期化されることがないため、遊技の進行状況に関わらず、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐ期間の時間を計測することができる。   Further, in the present embodiment, a plurality of types of timer counters are allocated in the RAM 41c to special works that are not initialized according to the progress of the game, and are not initialized according to the progress of the game. Regardless of the progress of the game, it is possible to measure the time of the period spanning the timing at which a part of the RAM 41c is initialized according to the progress of the game.

特に、本実施例では、計測期間が1遊技の終了するタイミング、すなわち遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのあるタイマカウンタだけでなく、計測期間が遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのないタイマカウンタについても他のタイマカウンタとともに特別ワークに割り当てられた領域に格納されているため、タイマカウンタの管理が容易になるとともに、計測期間が遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのないタイマカウンタを、計測期間が遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのあるタイマカウンタに変更する等、後の設計変更等によりタイマカウンタの用途を容易に変更することができる。また、上記のように計測する期間が重複しない複数種類の期間について一のタイマカウンタを共用する構成であれば、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのある計測期間と、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのない計測期間と、を一のタイマカウンタにて計測することが可能となる。   In particular, in the present embodiment, the measurement period is not limited to the timer counter that may straddle the timing at which one game ends, that is, the timing at which a part of the RAM 41c is initialized in accordance with the progress of the game. Timer counters that do not straddle the timing at which a part of the RAM 41c is initialized in accordance with the progress are stored together with other timer counters in the area allocated to the special work, so that the timer counters can be easily managed. At the same time, a timer counter that does not straddle the timing at which a part of the RAM 41c is initialized according to the progress of the game, and the timing at which a part of the RAM 41c is initialized according to the progress of the game. The application of the timer counter can be easily changed by a later design change, such as changing to a timer counter that may straddle. It can be. In addition, if the configuration is such that one timer counter is shared for a plurality of types of periods in which the measurement periods do not overlap as described above, the timing at which a part of the RAM 41c is initialized may cross over as the game progresses. It is possible to measure the measurement period and the measurement period that does not straddle the timing at which a part of the RAM 41c is initialized according to the progress of the game with one timer counter.

以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。   As described above, the embodiments of the present invention have been described with reference to the drawings. However, the present invention is not limited to the embodiments, and includes changes and additions within a scope not departing from the gist of the present invention. Needless to say.

前記実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル1枚分を遊技球5個分に対応させることができ、前記実施例で賭数として3を設定する場合は、15個の遊技球を用いて賭数を設定するものに相当する。   In the above embodiment, an example is described in which the present invention is applied to a slot machine in which a bet amount is set using medals and credits as a game value, but a slot in which a bet number is set using a game ball as a game value. The present invention may be applied to a machine or a completely credit-type slot machine that sets a bet amount using only credits as a game value. When a game ball is used as a game value, for example, one medal can be made to correspond to five game balls. When the number of bets is set to 3 in the above embodiment, 15 game balls are used. This is equivalent to setting a bet amount by using this.

さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか1種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。   Furthermore, the present invention is not limited to the use of only one of a plurality of types of game values such as medals and game balls. For example, a plurality of types of game values such as medals and game balls can be used together. It may be. That is, it is possible to set a bet amount and play a game by using any of a plurality of types of gaming values such as medals and game balls, and to generate a plurality of types of games such as medals and game balls by generating a prize. A slot machine that can pay out any of the utility values may be applied.

前記実施例では、遊技機としてのスロットマシンを適用しているが、遊技機は、スロットマシン1に限らず、遊技球を用いるパチンコ遊技機等、スロットマシン以外の遊技機において、本発明の構成、特には、遊技プログラム及び非遊技プログラムを実行可能であり、上記で説明したRAM41cの初期化、起動時のRAM異常の判定、非遊技プログラムを呼び出す際の構成を適用しても良い。   In the above embodiment, a slot machine as a gaming machine is applied. However, the gaming machine is not limited to the slot machine 1, but is applied to a gaming machine other than the slot machine, such as a pachinko gaming machine using a game ball. In particular, the game program and the non-game program can be executed, and the above-described configuration for initializing the RAM 41c, determining the abnormality of the RAM at startup, and calling the non-game program may be applied.

1 スロットマシン
2L、2C、2R リール
6 MAXBETスイッチ
7 スタートスイッチ
8L、8C、8R ストップスイッチ
12 遊技補助表示器
41 メイン制御部
41c RAM
91 サブ制御部
91c RAM
1 Slot machine 2L, 2C, 2R Reel 6 MAXBET switch 7 Start switch 8L, 8C, 8R Stop switch 12 Game auxiliary display 41 Main control unit 41c RAM
91 Sub-control unit 91c RAM

Claims (1)

遊技を行う遊技機において、
プログラムを記憶可能な第1記憶領域を有する第1記憶手段と、
第1記憶手段に記憶されたプログラムに基づいて制御を行う制御手段と、
前記制御手段が前記プログラムに基づく制御を行う際に用いる変動データを記憶可能な第2記憶領域を有する第2記憶手段と、
前記遊技機への電力供給が停止されても前記第2記憶領域に記憶されたデータを所定期間保持する保持手段と、
を備え、
前記第1記憶領域は、
第1プログラムが記憶される第1プログラム領域と、
前記第1プログラムによって呼び出される第2プログラムが記憶される第2プログラム領域と、
を含み、
前記第2記憶領域は、
前記制御手段が前記第1プログラムに基づく制御を行う際に用いる第1変動データを記憶可能な第1変動データ領域と、
前記制御手段が前記第2プログラムに基づく制御を行う際に用いる第2変動データを記憶可能な第2変動データ領域と、
を含み、
前記第1プログラムは、前記第1変動データの少なくとも一部を初期化する第1初期化プログラムを含み、
前記第2プログラムは、前記第2変動データの少なくとも一部を初期化する第2初期化プログラムを含み、
前記制御手段は、
前記第1プログラムに基づく制御を行う際に、前記第1変動データを参照及び更新し、前記第2変動データを参照するが更新せず、
前記第2プログラムに基づく制御を行う際に、前記第2変動データを参照及び更新し、前記第1変動データを参照するが更新せず、
前記遊技機への電力供給が開始したときに、前記保持手段により前記第2記憶領域に保持されているデータのうち前記第1変動データ領域に記憶されている第1変動データに基づいて記憶内容が正常か否かを判定し、正常と判定された場合に、前記第1変動データ領域に記憶されている第1変動データ及び前記第2変動データ領域に記憶されている第2変動データに基づいて制御を開始し、
遊技の進行に応じて、初期化条件が成立しているか否かを判定し、前記初期化条件が成立していると判定したときに、前記第1初期化プログラムによる初期化及び前記第2初期化プログラムによる初期化のうち前記第1初期化プログラムによる初期化のみを行い、
前記遊技機への電力供給が開始したときに、前記第1変動データ領域に記憶されている第1変動データに基づいて記憶内容が正常でないと判定された場合に、前記第1初期化プログラムによる初期化前記第2初期化プログラムによる初期化とを個別に行う、遊技機。
In gaming machines that play games,
First storage means having a first storage area capable of storing a program,
Control means for performing control based on a program stored in the first storage means;
A second storage unit having a second storage area capable of storing variation data used when the control unit performs control based on the program;
Holding means for holding data stored in the second storage area for a predetermined period even when power supply to the gaming machine is stopped;
With
The first storage area includes:
A first program area in which a first program is stored;
A second program area in which a second program called by the first program is stored;
Including
The second storage area,
A first variation data area capable of storing first variation data used when the control means performs control based on the first program;
A second variation data area capable of storing second variation data used when the control unit performs control based on the second program;
Including
The first program includes a first initialization program for initializing at least a part of the first variation data,
The second program includes a second initialization program for initializing at least a part of the second variation data,
The control means includes:
When performing control based on the first program, refer to and update the first variation data, refer to the second variation data but do not update,
When performing control based on the second program, refer to and update the second variation data, refer to the first variation data but do not update,
When the power supply to the gaming machine is started, the storage contents are stored based on the first variation data stored in the first variation data area among the data stored in the second storage area by the storage means. Is determined to be normal, and when it is determined to be normal, based on the first variation data stored in the first variation data area and the second variation data stored in the second variation data area. Start control,
In accordance with the progress of the game, it is determined whether or not the initialization condition is satisfied. When it is determined that the initialization condition is satisfied, the initialization by the first initialization program and the second initialization Only initialization by the first initialization program among the initializations by the initialization program,
When the power supply to the gaming machine is started, if it is determined that the storage content is not normal based on the first variation data stored in the first variation data area, the first initialization program performed separately and initialization by the initialization and the second initialization program, the gaming machine.
JP2015155318A 2015-08-05 2015-08-05 Gaming machine Active JP6677985B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015155318A JP6677985B2 (en) 2015-08-05 2015-08-05 Gaming machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015155318A JP6677985B2 (en) 2015-08-05 2015-08-05 Gaming machine

Publications (2)

Publication Number Publication Date
JP2017029593A JP2017029593A (en) 2017-02-09
JP6677985B2 true JP6677985B2 (en) 2020-04-08

Family

ID=57985504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015155318A Active JP6677985B2 (en) 2015-08-05 2015-08-05 Gaming machine

Country Status (1)

Country Link
JP (1) JP6677985B2 (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4275332B2 (en) * 2001-08-01 2009-06-10 株式会社三共 Game machine
JP2004229772A (en) * 2003-01-29 2004-08-19 Sansei R & D:Kk Game machine
JP5689215B2 (en) * 2007-08-01 2015-03-25 株式会社三共 Slot machine
JP5083886B2 (en) * 2007-12-05 2012-11-28 株式会社大都技研 Amusement stand
JP5552609B2 (en) * 2008-03-03 2014-07-16 株式会社高尾 Game machine
JP2010082261A (en) * 2008-09-30 2010-04-15 Daiichi Shokai Co Ltd Game machine
JP2015083035A (en) * 2013-10-25 2015-04-30 株式会社大都技研 Game machine
JP5879586B2 (en) * 2014-08-26 2016-03-08 株式会社大都技研 Amusement stand

Also Published As

Publication number Publication date
JP2017029593A (en) 2017-02-09

Similar Documents

Publication Publication Date Title
JP6677984B2 (en) Gaming machine
JP6250010B2 (en) Slot machine
JP6626266B2 (en) Gaming machine
JP6516508B2 (en) Gaming machine
JP6532720B2 (en) Gaming machine
JP6646938B2 (en) Gaming machine
JP6685687B2 (en) Slot machine
JP6374847B2 (en) Slot machine
JP6654837B2 (en) Gaming machine
JP2017046844A (en) Game machine
JP2018099440A (en) Game machine
JP6250009B2 (en) Slot machine
JP6806435B2 (en) Game machine
JP6652357B2 (en) Gaming machine
JP6731533B2 (en) Amusement machine
JP6660142B2 (en) Gaming machine
JP2020028747A (en) Game machine
JP6816939B2 (en) Game machine
JP2018029840A (en) Game machine
JP6677985B2 (en) Gaming machine
JP6374846B2 (en) Slot machine
JP6685686B2 (en) Slot machine
JP6816940B2 (en) Game machine
JP6626292B2 (en) Gaming machine
JP2020032261A (en) Game machine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191031

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200316

R150 Certificate of patent or registration of utility model

Ref document number: 6677985

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