JP6806435B2 - Game machine - Google Patents
Game machine Download PDFInfo
- Publication number
- JP6806435B2 JP6806435B2 JP2015224538A JP2015224538A JP6806435B2 JP 6806435 B2 JP6806435 B2 JP 6806435B2 JP 2015224538 A JP2015224538 A JP 2015224538A JP 2015224538 A JP2015224538 A JP 2015224538A JP 6806435 B2 JP6806435 B2 JP 6806435B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- game
- program
- address
- stored
- 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
Links
- 238000000034 method Methods 0.000 claims description 523
- 230000008569 process Effects 0.000 claims description 523
- 238000012545 processing Methods 0.000 claims description 160
- 238000003860 storage Methods 0.000 claims description 126
- 230000004913 activation Effects 0.000 claims description 10
- 238000001514 detection method Methods 0.000 description 126
- 230000005540 biological transmission Effects 0.000 description 93
- 230000000694 effects Effects 0.000 description 60
- 230000008859 change Effects 0.000 description 57
- 230000005856 abnormality Effects 0.000 description 40
- 238000012790 confirmation Methods 0.000 description 32
- 238000003780 insertion Methods 0.000 description 21
- 230000037431 insertion Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 20
- 238000012544 monitoring process Methods 0.000 description 19
- 238000007792 addition Methods 0.000 description 16
- 238000003745 diagnosis Methods 0.000 description 15
- 230000006378 damage Effects 0.000 description 14
- 238000005259 measurement Methods 0.000 description 14
- 230000002829 reductive effect Effects 0.000 description 13
- 230000002159 abnormal effect Effects 0.000 description 11
- 239000004973 liquid crystal related substance Substances 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000001994 activation Methods 0.000 description 9
- 239000002699 waste material Substances 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000005284 excitation Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- -1 battery Substances 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Slot Machines And Peripheral Devices (AREA)
Description
本発明は、パチンコ遊技機やスロットマシン等の遊技機に関する。 The present invention relates to gaming machines such as pachinko gaming machines and slot machines.
この種の遊技機において、遊技機が制御に用いるプログラムは、複数種類のメインモジュールと共通サブモジュールとを含み、ROMに記憶される。各共通サブモジュールは、ROMにおけるプログラムアドレスよりも小さなデータサイズのパラメータにより特定される複数の特定アドレスのうちのいずれかを先頭にして記憶されており、他のモジュールにおいて、例えば、RST命令により特定アドレスが指定されることで、呼び出されて実行される。(例えば、特許文献1参照)。 In this type of gaming machine, the program used by the gaming machine for control includes a plurality of types of main modules and common submodules, and is stored in ROM. Each common submodule is stored starting with one of a plurality of specific addresses specified by a parameter having a data size smaller than the program address in the ROM, and is specified by, for example, an RST instruction in another module. When the address is specified, it is called and executed. (See, for example, Patent Document 1).
特許文献1に記載の遊技機では、共通サブモジュールをRST命令により呼び出せるように、複数の特定アドレスのうちのいずれかを先頭にしてROMに記憶させるため、ROMにおける一の特定アドレスから次の特定アドレスまでの領域の容量よりも共通サブモジュールのデータ量が小さい場合には、記憶された共通サブモジュールの末尾から次の特定アドレスまでのROMの領域が空領域となってしまうことがあり、ROMの領域を有効に用いられていなかった。 In the gaming machine described in Patent Document 1, in order to store the common submodule in the ROM with one of a plurality of specific addresses at the beginning so that the common submodule can be called by the RST command, the next specific address is specified from one specific address in the ROM. If the amount of data in the common submodule is smaller than the capacity of the area up to the address, the ROM area from the end of the stored common submodule to the next specific address may become an empty area, and the ROM Area was not used effectively.
本発明は、このような問題点に着目してなされたものであり、プログラムやデータの記憶領域を有効に用いることができる遊技機を提供することを目的とする。 The present invention has been made by paying attention to such a problem, and an object of the present invention is to provide a game machine capable of effectively using a storage area of a program or data.
上記課題を解決するために、本発明の手段1の遊技機は、
遊技を行う遊技機(スロットマシン1)において、
プログラムを記憶可能であり、記憶領域を特定可能なアドレスが割り当てられた記憶手段(ROM41b)と、
前記記憶手段に記憶されたプログラムに従って制御を行う制御手段(メイン制御部41)と、
アドレスを指定することで指定されたアドレスに記憶されたプログラムを呼び出す第1のプログラム呼出手段(CALL命令、CALLV命令)と、
アドレスよりも少ないデータ量のパラメータ(3ビットのパラメータ)を指定することで、所定間隔(8バイト)毎に割り当てられた複数の特定アドレス(0008H、0010H、0018H、0020H、0028H、0030H、0038H)のうち指定されたパラメータに対応する特定アドレスに記憶されたプログラム(例えば、外部信号オフ時間待ち処理のサブルーチン)を呼び出す第2のプログラム呼出手段(RST命令)と、
を備え、
前記記憶手段は、
一の特定アドレスから開始する領域に第1の特定プログラム(例えば、外部信号オフ時間待ち処理のサブルーチン)を記憶し、一の特定アドレスの次の特定アドレスから開始する領域に第2の特定プログラム(例えば、出力ポート2出力処理のサブルーチン)を記憶し、第1の特定プログラムが記憶された領域の後から次の特定アドレスより前の領域に所定プログラム(例えば、最大投入メダル数セット処理のサブルーチン)を記憶するとともに、
割込プログラムのアドレスを記憶するアドレス記憶手段を含み、
前記制御手段は、割込に基づいて前記アドレス記憶手段に記憶された割込プログラムのアドレスからのプログラムを割込処理として実行する割込処理実行手段を含み、
遊技機は、
アドレス記憶手段(ベクタテーブル)に記憶しているアドレスが所定の範囲(プログラム領域のうちプログラム等が実際に格納された領域)にあるか否かを起動時に判定する判定手段と、
アドレス記憶手段(ベクタテーブル)に記憶しているアドレスが所定の範囲にないと判定したときに制御手段の起動を禁止する起動禁止手段(メイン制御部41は、ベクタテーブルのアドレスがプログラム領域のうちプログラム等が実際に格納された領域でない場合に起動させない)と、
を備える
ことを特徴としている。
この特徴によれば、アドレスよりも少ないデータ量のパラメータを指定することで、所定間隔毎に割り当てられた複数の特定アドレスのうち指定されたパラメータに対応する特定アドレスに記憶されたプログラムを呼び出すことが可能となるため、プログラムの呼出に係るプログラム容量を削減できる。また、一の特定アドレスから開始する領域に記憶された第1の特定プログラムの後から次の特定アドレスの手前までの間の領域、すなわち第1の特定プログラムと第2の特定プログラムの間の空き領域に所定プログラムを記憶することで、記憶手段の領域を有効に用いることができる。
In order to solve the above problems, the gaming machine of means 1 of the present invention is
In a game machine (slot machine 1) that plays a game
A storage means (ROM41b) that can store a program and is assigned an address that can identify a storage area,
A control means (main control unit 41) that controls according to a program stored in the storage means, and
The first program calling means (CALL instruction, CALLV instruction) that calls the program stored in the specified address by specifying the address, and
By specifying a parameter (3-bit parameter) with a data amount smaller than that of the address, a plurality of specific addresses (0008H, 0010H, 0018H, 0020H, 0028H, 0030H, 0038H) assigned at predetermined intervals (8 bytes) are specified. A second program calling means (RST instruction) that calls a program stored at a specific address corresponding to the specified parameter (for example, a subroutine for waiting for an external signal off time).
With
The storage means
A first specific program (for example, a subroutine for waiting for an external signal off time) is stored in an area starting from one specific address, and a second specific program (for example, a second specific program (for example) starts from the next specific address of one specific address. For example, a subroutine of output port 2 output processing) is stored, and a predetermined program (for example, a subroutine of processing a maximum number of inserted medals) is stored in an area after the area in which the first specific program is stored and before the next specific address. stores the,
Including an address storage means for storing the address of the interrupt program,
The control means includes an interrupt processing execution means that executes a program from the address of the interrupt program stored in the address storage means as an interrupt process based on the interrupt.
The game machine is
A determination means for determining at startup whether or not the address stored in the address storage means (vector table) is within a predetermined range (the area of the program area in which the program or the like is actually stored).
Address storage means start inhibiting means addresses stored in the (vector table) for prohibiting the activation of the control means when it is determined that not in the predetermined range (the main controller 41, among address of the vector table in the program area If the program etc. is not the area actually stored, it will not be started),
It is characterized by having.
According to this feature, by specifying a parameter with a data amount smaller than the address, a program stored in a specific address corresponding to the specified parameter among a plurality of specific addresses assigned at predetermined intervals can be called. Therefore, the program capacity related to the program call can be reduced. In addition, the area from after the first specific program stored in the area starting from one specific address to before the next specific address, that is, the space between the first specific program and the second specific program. By storing a predetermined program in the area, the area of the storage means can be effectively used.
本発明の手段2の遊技機は、手段1に記載の遊技機であって、
前記制御手段は、前記所定プログラム(例えば、設定値表示データ取得処理のサブルーチン)に続けて前記第2の特定プログラム(例えば、加算処理のサブルーチン)を実行する
ことを特徴としている。
この特徴によれば、第1の特定プログラムが記憶された領域の後から次の特定アドレスより前の領域に所定プログラムを記憶し、所定プログラムに続けて第2の特定プログラムを実行することにより、第1のプログラム呼出手段により所定プログラムを呼び出すのみで、所定プログラムの終了後に第2のプログラム呼出手段により第2の特定プログラムを呼び出す必要がなく、これに係るプログラム容量を削減できる。
The gaming machine of the means 2 of the present invention is the gaming machine according to the means 1.
The control means is characterized in that the second specific program (for example, a subroutine for addition processing) is executed following the predetermined program (for example, a subroutine for setting value display data acquisition processing).
According to this feature, the predetermined program is stored in the area after the area where the first specific program is stored and before the next specific address, and the second specific program is executed following the predetermined program. Only by calling the predetermined program by the first program calling means, it is not necessary to call the second specific program by the second program calling means after the completion of the predetermined program, and the program capacity related thereto can be reduced.
本発明の手段3の遊技機は、手段1または手段2に記載の遊技機であって、
前記所定プログラムは、該所定プログラム(例えば、第1の特定プログラムと第2の特定プログラムの間の空き領域よりも大きなデータ量のプログラムの一部)が記憶された領域(特定アドレス領域)以外の領域に格納されたプログラム(例えば、当該空き領域に記憶させたプログラムの残りの部分)へのジャンプ命令を含む
ことを特徴としている。
この特徴によれば、所定プログラムは、該所定プログラムが記憶された領域以外の領域に格納されたプログラムへのジャンプ命令を含むため、第1の特定プログラムと第2の特定プログラムとの間の空き領域よりもデータ量の多いプログラムの一部を所定プログラムとして当該空き領域に記憶することで、記憶手段の領域を有効に用いることができる。
The gaming machine of the means 3 of the present invention is the gaming machine according to the means 1 or the means 2.
The predetermined program is other than an area (specific address area) in which the predetermined program (for example, a part of a program having a data amount larger than the free area between the first specific program and the second specific program) is stored. It is characterized by including a jump instruction to a program stored in the area (for example, the rest of the program stored in the free area).
According to this feature, since the predetermined program includes a jump instruction to the program stored in an area other than the area in which the predetermined program is stored, there is a space between the first specific program and the second specific program. By storing a part of a program having a larger amount of data than the area as a predetermined program in the free area, the area of the storage means can be effectively used.
本発明の手段4の遊技機は、手段1〜手段3のいずれかに記載の遊技機であって、
特定アドレスから開始するプログラムは、該プログラム(例えば、ポート出力処理の一部)が記憶された領域(特定アドレス領域)以外の領域に格納されたプログラム(例えば、ポート出力処理の残り部分)へのジャンプ命令を含む
ことを特徴としている。
この特徴によれば、特定アドレスから開始するプログラムは、該プログラムが記憶された領域以外の領域に格納されたプログラムへのジャンプ命令を含むため、特定アドレスから次の特定アドレスまでの領域よりもデータ量の多いプログラムを第2のプログラム呼出手段にて呼び出すことが可能となるため、データ量の多いプログラムであっても、その呼出に係るプログラム容量を削減できる。
The gaming machine of the means 4 of the present invention is the gaming machine according to any one of the means 1 to the means 3.
A program starting from a specific address is transferred to a program (for example, the rest of the port output process) stored in an area other than the area (specific address area) in which the program (for example, a part of the port output process) is stored. It is characterized by including a jump command.
According to this feature, a program starting from a specific address includes a jump instruction to a program stored in an area other than the area where the program is stored, so that data is more data than the area from the specific address to the next specific address. Since a program having a large amount can be called by the second program calling means, the program capacity related to the calling can be reduced even for a program having a large amount of data.
本発明の手段5の遊技機は、手段1〜4のいずれかに記載の遊技機であって、
前記記憶手段は、
遊技の進行に係わる遊技プログラム(遊技プログラム)が記憶される第1記憶領域(遊技プログラム領域)と、
前記遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラム(非遊技プログラム)が記憶される第2記憶領域(非遊技プログラム領域)と、
前記第1記憶領域(遊技プログラム領域)及び前記第2記憶領域(非遊技プログラム領域)のうち後方に割り当てられた後方記憶領域(非遊技プログラム領域)の手前の領域に割り当てられた未使用領域(未使用領域1)と、
を備える
ことを特徴としている。
この特徴によれば、遊技の進行に係わる遊技プログラムが記憶される第1記憶領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される第2記憶領域と、がそれぞれ別個に割り当てられているとともに、第1記憶領域及び第2記憶領域のうち後方に割り当てられた後方記憶領域の手前の領域に未使用領域が割り当てられているため、遊技プログラムと、非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
尚、記憶領域の前後とは、記憶領域に割り当てられたアドレス値の大小関係であり、アドレスが小さい方が前方となり、アドレスが大きい方が後方となる。このため、手段5において前記第1記憶領域及び前記第2記憶領域のうち後方に割り当てられた後方記憶領域とは、前記第1記憶領域及び前記第2記憶領域のうち割り当てられたアドレス値が大きい方の記憶領域が該当する。
また、未使用領域が後方記憶領域の手前に割り当てられる構成であれば良く、前方記憶領域、未使用領域及び後方記憶領域がそれぞれ隣接して割り当てられる構成でも良いし、前方記憶領域と未使用領域との間に他の記憶領域が割り当てられる構成でも良い。
The gaming machine of means 5 of the present invention is the gaming machine according to any one of means 1 to 4.
The storage means
The first storage area (game program area) in which the game program (game program) related to the progress of the game is stored, and
A second storage area (non-game program area) in which a non-game program (non-game program) that is a program called by the game program and is not related to the progress of the game is stored,
An unused area (unused area) allocated to the area in front of the rear storage area (non-game program area) allocated to the rear of the first storage area (game program area) and the second storage area (non-game program area). Unused area 1) and
It is characterized by having.
According to this feature, a first storage area in which a game program related to the progress of a game is stored and a second storage area in which a non-game program that is called by the game program and is not related to the progress of the game is stored. , Are allocated separately, and an unused area is allocated to the area in front of the rear storage area allocated to the rear of the first storage area and the second storage area, so that the game program and the non-game program The game program and the game program can be easily specified according to the difference in the storage area.
The front and back of the storage area are the magnitude relations of the address values assigned to the storage area, and the smaller address is the front and the larger address is the rear. Therefore, in the means 5, the rearward storage area allocated to the rear of the first storage area and the second storage area has a larger address value assigned to the first storage area and the second storage area. The storage area of the one is applicable.
Further, the unused area may be allocated in front of the rear storage area, the front storage area, the unused area, and the rear storage area may be allocated adjacent to each other, or the front storage area and the unused area may be allocated adjacent to each other. Another storage area may be allocated between and.
本発明の手段6の遊技機は、手段1〜5のいずれかに記載の遊技機であって、
前記制御手段は、割込に基づいて割込プログラムに従った処理(タイマ割込処理(メイン))を実行する割込処理実行手段を含み、
前記遊技機は、
割込プログラム(タイマ割込処理(メイン))のアドレスを記憶可能なアドレス記憶手段(ベクタテーブル)と、
アドレス記憶手段(ベクタテーブル)に記憶しているアドレスが所定の範囲(プログラム領域のうちプログラム等が実際に格納された領域)にあるか否かを起動時に判定する判定手段と、
アドレス記憶手段(ベクタテーブル)に記憶しているアドレスが所定の範囲にないと判定したときに起動を制限する起動制限手段(メイン制御部41は、ベクタテーブルのアドレスがプログラム領域のうちプログラム等が実際に格納された領域でない場合に起動させない)と、
を備える
ことを特徴としている。
この特徴によれば、意図しない割込処理が実行されることを事前に防止することができる。
The gaming machine of means 6 of the present invention is the gaming machine according to any one of means 1 to 5.
The control means includes an interrupt processing execution means that executes a process (timer interrupt process (main)) according to an interrupt program based on the interrupt.
The game machine
Address storage means (vector table) that can store the address of the interrupt program (timer interrupt process (main)),
A determination means for determining at startup whether or not the address stored in the address storage means (vector table) is within a predetermined range (the area of the program area in which the program or the like is actually stored).
When it is determined that the address stored in the address storage means (vector table) is not within the predetermined range, the start limiting means (in the main control unit 41, the address of the vector table is in the program area of the program or the like. If it is not the area actually stored, it will not be started),
It is characterized by having.
According to this feature, it is possible to prevent an unintended interrupt process from being executed in advance.
本発明の手段7の遊技機は、手段1〜6のいずれかに記載の遊技機であって、
前記制御手段の設定を行う設定手段(HWパラメータを参照して行われる各種機能の設定)と、
割込条件の成立に応じて割込を発生させる割込発生手段(タイマ回路509)と、
前記割込発生手段による割込の発生を制限する割込制限手段と、
を備え、
前記制御手段は、
前記設定手段による設定が行われた後、プログラム(遊技プログラムまたは非遊技プログラム)に基づく処理を実行する処理手段と、
割込に基づいて割込処理(タイマ割込処理(メイン))を実行する割込処理実行手段と、
を含み、
前記割込制限手段は、プログラム(初期設定処理)に基づく処理が開始される前に割込の発生を制限する第1の割込制限手段(起動時設定による割込禁止の設定)と、プログラムに基づく処理の開始に際して割込の発生を制限する第2の割込制限手段(初期設定処理による割込禁止の設定)と、を含む
ことを特徴としている。
この特徴によれば、意図しない割込が発生することを防止できる。
The gaming machine of means 7 of the present invention is the gaming machine according to any one of means 1 to 6.
Setting means for setting the control means (setting of various functions performed with reference to HW parameters) and
An interrupt generation means (timer circuit 509) that generates an interrupt when the interrupt condition is satisfied, and
An interrupt limiting means that limits the occurrence of interrupts by the interrupt generating means,
With
The control means
A processing means for executing processing based on a program (game program or non-game program) after the setting by the setting means is performed, and
An interrupt process execution means that executes an interrupt process (timer interrupt process (main)) based on an interrupt, and
Including
The interrupt limiting means includes a first interrupt limiting means (setting of interrupt prohibition by startup setting) that limits the occurrence of interrupt before the processing based on the program (initial setting process) is started, and a program. It is characterized by including a second interrupt limiting means (setting of interrupt prohibition by initial setting processing) that limits the occurrence of interrupts at the start of processing based on.
According to this feature, it is possible to prevent an unintended interruption from occurring.
本発明の手段8の遊技機は、手段1〜7のいずれかに記載の遊技機であって、
複数のタイマ値格納領域(例えば、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 means 8 of the present invention is the gaming machine according to any one of means 1 to 7.
A plurality of timer value storage areas (for example, 1-byte timers A to C) and
When any of a plurality of types of time timing conditions (for example, 1-byte timers A to C) is satisfied, a timer value storage area (for example, 1-byte timer A) corresponding to the time timing conditions is satisfied. To C), a timer value storage means (main process) for storing the timer value according to the timing condition, and
A timer value updating means (time counter updating process) capable of updating the timer values stored in a plurality of timer value storage areas (for example, 1-byte timers A to C) every predetermined cycle (about 2.24 ms).
With
Consecutive addresses (804CH to 804EH) are assigned to a plurality of timer value storage areas (for example, 1-byte timers A to C) according to a predetermined rule (+1).
The timer value update means performs a predetermined operation (designated address + 1) for an update process (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 specified address. The feature is that multiple types of timer values can be updated by repeatedly executing while changing the specified address for the timer value storage area.
According to this feature, consecutive addresses are assigned to a plurality of timer value storage areas according to a predetermined rule, and an update process for updating the timer values stored in the timer value storage area corresponding to the specified address is predetermined. Since multiple types of timer values are updated by repeatedly executing while changing the specified address for the timer value storage area by performing the operation of, when performing the process of updating multiple types of timer values for each type of timer value. The program capacity can be reduced.
It should be noted that the assignment of consecutive addresses according to a predetermined rule means that, for example, an address to which N (N is a natural number) is added from the start address and the start address is assigned.
In addition, 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 according to the number of processes to the current designated address. It corresponds to changing the designated address by adding or subtracting a constant from the reference address. At this time, the value or constant according to the number of processes may differ depending on the storage capacity of the timer value. For example, in the configuration where the timer value is stored byte by byte, the value according to the number of processes is the number of processes. Depending on the number of processes, the values will be 1, 2, 3 ..., and the constant will be 1, but if the timer value is stored by 2 bytes, the value according to the number of processes will be 2, 4, 6 ... Depending on the number of processes. , The constant is 2.
尚、本発明は、本発明の請求項に記載された発明特定事項のみを有するものであって良いし、本発明の請求項に記載された発明特定事項とともに該発明特定事項以外の構成を有するものであっても良い。 In addition, the present invention may have only the invention-specific matters described in the claims of the present invention, and has a configuration other than the invention-specific matters together with the invention-specific matters described in the claims of the present invention. It may be a thing.
本発明に係る遊技機を実施するための形態を実施例に基づいて以下に説明する。 A mode for carrying out the gaming machine according to the present invention will be described below based on examples.
本発明が適用された遊技機であるスロットマシンの実施例について図面を用いて説明すると、本実施例のスロットマシン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, the slot machine 1 of the present embodiment includes a housing 1a having an open front surface and a housing 1a thereof. It is composed of a front door 1b rotatably and pivotally supported at a side end of the body 1a.
本実施例のスロットマシン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, and right reel) in which a plurality of types of symbols are arranged on the outer circumference are arranged. ) Are arranged side by side in the horizontal direction, and as shown in FIG. 1, three consecutive 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. It is arranged like this.
リール2L、2C、2Rの外周部には、互いに識別可能な複数種類の図柄(識別情報)が所定の順序で、それぞれ所定数ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、前面扉1bの略中央に設けられた透視窓3において各々上中下三段に表示される。 On the outer peripheral portions of the reels 2L, 2C, and 2R, a predetermined number of symbols (identification information) that can be distinguished from each other are drawn in a predetermined order. The symbols drawn on the outer peripheral portions of the reels 2L, 2C, and 2R are displayed in the upper, middle, and lower three stages in the see-through window 3 provided at substantially the center of the front door 1b.
各リール2L、2C、2Rは、各々対応して設けられたリールモータ32L、32C、32R(図3参照)によって回転されることで、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示される一方で、各リール2L、2C、2Rの回転が停止されることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。 Each reel 2L, 2C, 2R is rotated by reel motors 32L, 32C, 32R (see FIG. 3) provided corresponding to each, so that the symbols of each reel 2L, 2C, 2R are continuous with the perspective window 3. While the reels 2L, 2C, and 2R are stopped rotating, three consecutive symbols are derived and displayed on the perspective 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 and 2R, there are reel sensors 33L, 33C and 33R that detect the reference position for each of the reels 2L, 2C and 2R, and a reel LED 55 that irradiates the reels 2L, 2C and 2R from the back. , Are provided. Further, the reel LED 55 is composed of 12 LEDs corresponding to three consecutive symbols of reels 2L, 2C and 2R, and each symbol can be independently irradiated.
前面扉1bの各リール2L、2C、2Rの手前側(遊技者側)の位置には、液晶表示器51(図1参照)の表示領域51aが配置されている。液晶表示器51は、液晶素子に対して電圧が印加されていない状態で透過性を有する液晶パネルを有しており、表示領域51aの透視窓3に対応する透過領域51b及び透視窓3を介して遊技者側から各リール2L、2C、2Rが視認できるようになっている。 A display area 51a of the liquid crystal display 51 (see FIG. 1) is arranged at a position on the front side (player side) of the reels 2L, 2C, and 2R of the front door 1b. The liquid crystal display 51 has a liquid crystal panel that has transparency in a state where no voltage is applied to the liquid crystal element, and passes through the transmission region 51b and the perspective window 3 corresponding to the perspective window 3 of the display region 51a. The reels 2L, 2C, and 2R can be visually recognized from the player side.
前面扉1bには、図1に示すように、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8Rが遊技者により操作可能にそれぞれ設けられている。 As shown in FIG. 1, the front door 1b has a medal insertion unit 4 into which medals can be inserted, a medal payout exit 9 from which medals are paid out, and credits (the number of medals stored as a player-owned game value). MAXBET switch 6, which is operated when setting the maximum number of bets among the specified number of bets determined according to the gaming state within that range, and the setting of medals and bets stored as credits. Settlement switch 10 operated when settling the medals used for (returning the medals used for setting credits and bets), start switch 7 operated when starting the game, reels 2L, 2C Stop switches 8L, 8C, and 8R, which are operated when the rotation of the 2Rs is stopped, are provided so as to be operable by the player.
また、前面扉1bには、図1に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器12、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられた遊技用表示部13が設けられている。 Further, as shown in FIG. 1, the front door 1b shows a credit display 11 that displays the number of medals stored as credits, the number of medals paid out due to the occurrence of a prize, and the contents when an error occurs. Game auxiliary display 12 that displays an error code, etc., 1BETLED14 that notifies by lighting that the number of bets is set to 1, 2BETLED15 that notifies by lighting that the number of bets is set to 2, and 3 settings to the number of bets. 3BETLED16 that notifies by lighting that the game is being inserted, insertion request LED17 that notifies by lighting that a medal can be inserted, and start effective LED18 that notifies by lighting that the game start operation by operating the start switch 7 is effective. , Waiting LED19 to notify by lighting that the weight (a state of waiting for the start of rotation of the reel because a certain period has not passed since the previous game start) is in progress, and lighting that the replay game is in progress, which will be described later. A game display unit 13 is provided with an LED 20 during replay to be notified by.
MAXBETスイッチ6の内部には、MAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図3参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図3参照)がそれぞれ設けられている。 Inside the MAXBET switch 6, a BET switch effective LED21 (see FIG. 3) is provided to notify by lighting that the betting number setting operation by operating the MAXBET switch 6 is effective, and the stop switches 8L, 8C, Inside the 8R, left, middle, and right stop effective LEDs 22L, 22C, and 22R (see FIG. 3) are provided to notify by lighting that the reel stop operation by the corresponding stop switches 8L, 8C, and 8R is effective. Has been done.
前面扉1bの内側には、図2に示すように、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、所定の契機に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36a、所定の契機に自動精算処理(クレジットとして記憶されているメダルを遊技者の操作によらず精算(返却)する処理)に制御する自動精算機能の有効/無効を選択するための自動精算スイッチ36b、メダル投入部4から投入されたメダルの流路を、筐体1aの内部に設けられた後述のホッパータンク34a(図2参照)側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク34a側に流下したメダルを検出する投入メダルセンサ31、投入メダルセンサ31の上流側で異物の挿入を検出する投入口センサ26を有するメダルセレクタ29、前面扉1bの開放状態を検出するドア開放検出スイッチ25(図3参照)が設けられている。 Inside the front door 1b, as shown in FIG. 2, a reset switch 23 for detecting an error state described later and a reset operation for canceling a stop state described later by a predetermined key operation, and a change of a setting value described later. A set value display 24 that displays the set value at that time while checking the inside or the set value, and a hit that controls the stop state (a state in which the progress of the game is restricted until the reset operation is performed) at a predetermined trigger. Stop switch 36a for selecting enable / disable of the stop function, automatic control to automatic settlement processing (processing to settle (return) medals stored as credits regardless of the player's operation) at a predetermined trigger The automatic settlement switch 36b for selecting the enable / disable of the settlement function and the flow path of the medals inserted from the medal insertion unit 4 are provided on the side of the hopper tank 34a (see FIG. 2) described later provided inside the housing 1a. Alternatively, a flow path switching solenoid 30 for selectively switching to either one of the medal payout outlet 9 sides, a medal insertion unit 31 for detecting medals inserted from the medal insertion unit 4 and flowing down to the hopper tank 34a side, and an insertion medal sensor. A medal selector 29 having a slot sensor 26 for detecting the insertion of foreign matter on the upstream side of 31 and a door open detection switch 25 (see FIG. 3) for detecting the open state of the front door 1b are provided.
筐体1aの内部には、図2に示すように、前述したリール2L、2C、2R、リールモータ32L、32C、32R(図3参照)、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33L、33C、33R(図3参照)からなるリールユニット2、外部出力信号を出力するための外部出力基板1000(図3参照)、メダル投入部4から投入されたメダルを貯留するホッパータンク34a、ホッパータンク34aに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34b(図3参照)、ホッパーモータ34bの駆動により払い出されたメダルを検出する払出センサ34c(図3参照)からなるホッパーユニット34、電源ボックス100が設けられている。 Inside the housing 1a, as shown in FIG. 2, the above-mentioned reels 2L, 2C, 2R, reel motors 32L, 32C, 32R (see FIG. 3), and reel reference positions of the reels 2L, 2C, and 2R, respectively, are located. Reel unit 2 composed of detectable reel sensors 33L, 33C, 33R (see FIG. 3), external output board 1000 for outputting an external output signal (see FIG. 3), and medals inserted from the medal insertion unit 4 are stored. The hopper tank 34a, the hopper motor 34b for paying out the medals stored in the hopper tank 34a from the medal payout outlet 9 (see FIG. 3), and the payout sensor 34c for detecting the medal paid out by driving the hopper motor 34b (see FIG. 3). A hopper unit 34 and a power supply box 100 (see FIG. 3) are provided.
ホッパーユニット34の側部には、ホッパータンク34aから溢れたメダルが貯留されるオーバーフロータンク35が設けられている。オーバーフロータンク35の内部には、貯留されたメダルが満タン状態となったことを検出する満タンセンサ35a(図3参照)が設けられている。 An overflow tank 35 for storing medals overflowing from the hopper tank 34a is provided on the side of the hopper unit 34. Inside the overflow tank 35, a full tank sensor 35a (see FIG. 3) for detecting that the stored medals are full is provided.
電源ボックス100の前面には、図2に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をON/OFFする際に操作される電源スイッチ39が設けられている。 As shown in FIG. 2, the front surface 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 a reset switch for canceling an error state or a stop state in normal times. However, in the setting change state, the reset / setting switch 38 that functions as a setting switch for changing the setting value of the winning probability (ball output rate) of the internal lottery described later, and the power supply that is operated when the power is turned on / off. A switch 39 is provided.
尚、電源ボックス100は、筐体1aの内部に設けられており、さらに前面扉1bは、店員等が所持する所定のキー操作により開放可能な構成であるため、これら電源ボックス100の前面に設けられた設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作により検出されるリセットスイッチ23も同様である。特に、設定キースイッチ37は、キー操作により前面扉1bを開放したうえで、さらにキー操作を要することから、遊技場の店員のなかでも、設定キースイッチ37の操作を行うキーを所持する店員のみ操作が可能とされている。 Since the power supply box 100 is provided inside the housing 1a and the front door 1b can be opened by a predetermined key operation possessed by a clerk or the like, the power supply box 100 is provided on the front surface of the power supply box 100. The setting key switch 37, the reset / setting switch 38, and the power switch 39 can be operated only by a clerk or the like who has 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 to operate the setting key switch 37 among the clerk of the amusement park. It is possible to operate.
本実施例のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインLN(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。 When playing a game on 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, operate the MAXBET switch 6. When the specified number of bets determined according to the game state is set, the winning 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. If more than the maximum number of medals are inserted out of the specified number corresponding to the gaming state, that amount will be added to the credit.
入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図1に示すように、リール2Lの中段、リール2Cの中段、リール2Rの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインLNのみが入賞ラインとして定められている。尚、本実施例では、1本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。 The winning line is a line set to determine whether the combination of symbols displayed on the perspective windows 3 of the reels 2L, 2C, and 2R is a combination of winning symbols. In this embodiment, as shown in FIG. 1, only the winning line LN set across the symbols arranged horizontally in the middle stage of the reel 2L, the middle stage of the reel 2C, and the middle stage of the reel 2R, that is, the middle stage is used as the winning line. It is set. 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 the present embodiment, in order to make it easy to recognize that the winning line LN has a combination of symbols constituting the winning, the invalid lines LM1 to 4 are set separately from the winning line LN. The invalid lines LM1 to LM1 to 4 are not determined to win by the combination of the symbols aligned with the invalid lines LM1 to 4, but are invalid lines when the winning line LN has a combination of symbols constituting a specific winning. By configuring the combination of symbols (for example, bell-bell-bell) that will be awarded when the winning line LN is aligned with any of LM1 to LM4, the symbols constituting the winning line LN are the symbols that constitute a specific winning. This makes it easier to recognize that the combinations are complete.
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、透視窓3に表示結果が導出表示される。 When the start switch 7 is operated while the game can be started, the reels 2L, 2C, and 2R are rotated, and the symbols of the reels 2L, 2C, and 2R are continuously changed. When any of the stop switches 8L, 8C, and 8R is operated in this state, the rotation of the corresponding reels 2L, 2C, and 2R is stopped, and the display result is derived and displayed on the perspective window 3.
そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、入賞ラインLN上に予め定められた図柄の組合せ(以下、役ともいう)が各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。また、入賞ラインLN上に、遊技状態の移行を伴う図柄の組合せが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。 When all reels 2L, 2C, and 2R are stopped, one game is completed, and a predetermined combination of symbols (hereinafter, also referred to as a combination) on the winning line LN is displayed on each reel 2L, 2C, and 2R. If the game is stopped as a result, a prize will be generated, and a number of medals determined according to the prize will be given to the player and added to the credit. Further, when the maximum number of credits (50 in this embodiment) is reached, medals are directly paid out from the medal payout outlet 9 (see FIG. 1). Further, when the combination of symbols accompanying the transition of the gaming state stops on the winning line LN as the display result of each reel 2L, 2C, 2R, the combination of symbols is shifted to the gaming state according to the combination of symbols. ..
尚、本実施例では、スタートスイッチ7の操作が有効な状態でスタートスイッチ7の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための1単位の制御(ゲーム制御)は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。 In this embodiment, the game starts when the operation of the start switch 7 is detected while the operation of the start switch 7 is valid, and the game ends when all the reels are stopped. In addition, one unit of control (game control) for executing the game starts when all the controls associated with the end of the previous game are completed, and when all the controls associated with the end of the game are completed. finish.
また、本実施例では、3つのリールを用いた構成を例示しているが、リールを1つのみ用いた構成、2つのリールを用いた構成、4つ以上のリールを用いた構成としても良く、2以上のリールを用いた構成においては、2以上の全てのリールに導出された表示結果の組合せに基づいて入賞を判定する構成とすれば良い。また、本実施例では、物理的なリールにて可変表示装置が構成されているが、液晶表示器などの画像表示装置にて可変表示装置が構成されていても良い。 Further, in this embodiment, a 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 the configuration using two or more reels, the winning may be determined based on the combination of the display results derived to all the two or more reels. Further, in this embodiment, the variable display device is configured by a physical reel, but the variable display device may be configured 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 in the present embodiment, after the game is started and the reels 2L, 2C, and 2R are rotated to start the fluctuation of the symbol, one of the stop switches 8L, 8C, and 8R is operated. When this is done, the rotation of the reels corresponding to the stop switches 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 (milliseconds).
リール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 the symbol of 80 x 21 (the number of symbol frames per reel) = 1680 frames, so that a maximum of 4 frames can be drawn in 190 ms. You will be able to 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 up to 4 frames ahead of the stops, for a total of 5 frames.
このため、例えば、ストップスイッチ8L、8C、8Rのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合、当該図柄から4コマ先までの図柄を下段に表示させることができるため、リール2L、2C、2R各々において、ストップスイッチ8L、8Rのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの中段に表示されている図柄を含めて5コマ以内に配置されている図柄を入賞ライン上に表示させることができる。 Therefore, for example, when any of the stop switches 8L, 8C, and 8R is operated, when the symbol displayed at the bottom of the reel corresponding to the stop switch is used as a reference, the symbol is up to 4 frames ahead. Since the symbol can be displayed in the lower row, the symbol displayed in the middle row of the reel corresponding to the stop switch when any of the stop switches 8L and 8R is operated in each of the reels 2L, 2C and 2R. Designs arranged within 5 frames including the above can be displayed on the winning line.
以下では、特に区別する必要がない場合にはリール2L、2C、2Rを単にリールという場合がある。また、リール2Lを左リール、リール2Cを中リール、リール2Rを右リールという場合がある。また、ストップスイッチ8L、8C、8Rの操作によりリール2L、2C、2Rを停止させる操作を停止操作という場合がある。 In the following, reels 2L, 2C, and 2R may be simply referred to as reels when it is not necessary to distinguish them. Further, 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. Further, the operation of stopping the reels 2L, 2C and 2R by operating the stop switches 8L, 8C and 8R may be referred to as a stop operation.
図3は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図3に示すように、遊技制御基板40、演出制御基板90、電源基板101が設けられており、遊技制御基板40によって遊技状態が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。 FIG. 3 is a block diagram showing the configuration of the slot machine 1. As shown in FIG. 3, 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 control board 40 controls the game state, and the effect control board 90 controls the game state. The effect is controlled according to the above, and the drive power supply for the electric components constituting the slot machine 1 is generated by the power supply board 101 and supplied to each part.
電源基板101には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40及び演出制御基板90に供給されるようになっている。また、電源基板101には、前述したホッパーモータ34b、払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。 An AC100V power supply 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 AC100V power supply, so that the game control board 40 and the effect control board 90 are generated. It is supposed to be supplied to. Further, the above-mentioned hopper motor 34b, payout sensor 34c, full tank sensor 35a, setting key switch 37, reset / setting switch 38, and 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の制御に基づいて駆動されるようになっている。 The game control board 40 includes the MAXBET switch 6, the start switch 7, the stop switch 8L, 8C, 8R, the settlement switch 10, the reset switch 23, the stop switch 36a, the automatic settlement switch 36b, the input medal sensor 31, and the door opening. 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 described above are connected via the power supply board 101. The detection signals of these connected switches are input. Further, on the game control board 40, the above-mentioned credit display 11, game auxiliary display 12, 1-3 BETLED 14 to 16, input request LED 17, start effective LED 18, wait LED 19, replay LED 20, BET switch effective LED 21, left. , Middle, right stop effective LEDs 22L, 22C, 22R, set value display 24, flow path switching solenoid 30, reel motors 32L, 32C, 32R are connected, and the hopper motor 34b described above is connected via the power supply board 101. These electric components are connected and are driven based on the control of the main control unit 41 described later mounted on the game control board 40.
遊技制御基板40には、遊技の進行に関する処理を行うメイン制御部41、制御用クロックCCLKを生成する制御用クロック生成回路42、乱数用クロックRCLKを生成する乱数用クロック生成回路43、スイッチ類から入力された検出信号を取り込んでメイン制御部41に伝送するスイッチ検出回路44、モータ駆動信号(ステッピングモータの位相信号)をリールモータ32L、32C、32Rに伝送するモータ駆動回路45、ソレノイド駆動信号を流路切替ソレノイド30に伝送するソレノイド駆動回路46、LED駆動信号を各種表示器やLEDに伝送するLED駆動回路47、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する電断検出回路48、電源投入時または電源遮断時などの電源が不安定な状態においてメイン制御部41にシステムリセット信号を与えるリセット回路49が搭載されている。 The game control board 40 is composed of a main control unit 41 that performs processing related to the progress of the game, a control clock generation circuit 42 that generates a control clock CCLK, a random clock generation circuit 43 that generates a random clock RCLK, and switches. The switch detection circuit 44 that takes in the input detection signal and transmits it to the main control unit 41, the motor drive circuit 45 that transmits the motor drive signal (phase signal of the stepping motor) to the reel motors 32L, 32C, 32R, and the solenoid drive signal. The solenoid drive circuit 46 that transmits to the flow path switching solenoid 30, the LED drive circuit 47 that transmits LED drive signals to various indicators and LEDs, and the main control unit 41 sends a voltage drop signal to that effect when a voltage drop is detected. A power failure detection circuit 48 that outputs to the main control unit 41 and a reset circuit 49 that gives 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 cut off are mounted.
図4は、遊技制御基板40に搭載されたメイン制御部41の構成例を示している。図4に示すメイン制御部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. 4 shows a configuration example of the main control unit 41 mounted on the game control board 40. The main controller 41 shown in FIG. 4 is a one-chip microcomputer, which includes an external bus interface 501, a clock circuit 502, a collation block 503, a unique information storage circuit 504, an arithmetic circuit 505, and 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, 508b, timer circuit 509, interrupt controller 510, parallel input port 511, serial communication circuit 512, parallel output port 513, and address. It is configured to include a decoding circuit 514.
リセット/割込コントローラ506は、メイン制御部41の内部や外部にて発生する各種リセット、割込要求を制御するためのものである。リセット/割込コントローラ506は、指定エリア外走行禁止(IAT)回路506aとウォッチドッグタイマ(WDT)506bとを備える。IAT回路506aは、ユーザプログラムが指定エリア内で正しく実行されているか否かを監視する回路であり、指定エリア外でユーザプログラムが実行されたことを検出するとIAT発生信号を出力する機能を備える。また、ウォッチドッグタイマ506bは、設定期間ごとにタイムアウト信号を発生させる機能を備える。 The reset / interrupt controller 506 is for controlling various resets and interrupt requests that occur inside or outside the main control unit 41. The reset / interrupt controller 506 includes an out-of-designated area travel prohibition (IAT) circuit 506a and a watchdog timer (WDT) 506b. The IAT circuit 506a is a circuit that monitors whether or not the user program is correctly executed in the designated area, and has a function of outputting an IAT generation signal when it detects that the user program is executed outside the designated area. Further, the watchdog timer 506b has a function of generating a timeout signal for each 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 the external bus and the internal bus of the chip constituting the main control unit 41, an address bus, a data bus, and a direction control function for 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 collation block 503 has a function of connecting to an external collation machine and collating chips. The unique information storage circuit 504 is a circuit that stores a plurality of types of unique information that is 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 game control in the slot machine 1 by executing a user program (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 read 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 to the RAM 41c and temporarily stores them, and a CPU 41a is temporarily stored in the RAM 41c. Variable data read operation to read various variable data, CPU 41a receives input of various signals from the outside of the main control unit 41 via the external bus interface 501, parallel input port 511, serial communication circuit 512, etc., CPU 41a Also performs transmission operations such as 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.
ROM41bには、ユーザプログラム(ゲーム制御用の遊技制御処理プログラム)を示す制御コードや固定データ等が記憶されている。RAM41cは、ゲーム制御用のワークエリア等を提供する。ここで、RAM41cの少なくとも一部は、バックアップ電源によってバックアップされているバックアップRAMであれば良い。すなわち、スロットマシン1への電力供給が停止しても、所定期間はRAM41cの少なくとも一部の内容が保存される。 The ROM 41b stores a control code indicating a user program (game control processing program for game control), fixed data, and the like. The RAM 41c provides a work area or the like for game control. 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を用いて定期的な割込要求や時間計測を行うことが可能である。 An 8-bit free run counter is mounted as the free run counter circuit 507. The random number circuits 508a and 508b are circuits that generate numerical data such as 8-bit random numbers and 16-bit random numbers, which are random number values having a predetermined update range. In this embodiment, the hardware random number generated by the 16-bit random number circuit 508b out of the random number circuits 508a and 508b is used as a random number for internal lottery described later. The timer circuit 509 is a 16-bit programmable timer, which 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 it reaches 0000H. In this embodiment, the timer circuit 509 can be used to perform periodic interrupt requests and time measurement.
割込コントローラ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 interrupt request from a built-in peripheral circuit (for example, serial communication circuit 512, random number circuits 508a, 508b, timer circuit 509). .. The parallel input port 511 has a built-in 8-bit wide input-only port. Further, the parallel output port 513 included in the main control unit 41 shown in FIG. 4 has a built-in 11-bit wide output dedicated port. The serial communication circuit 512 is a circuit that performs asynchronous serial communication in input / output to the outside.
アドレスデコード回路514は、メイン制御部41の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部41の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、CPU41aからのアクセスが可能となる。 The address decoding 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 decoding signal for an external device. The chip select signal enables the internal circuit of the main control unit 41 or an external device as a peripheral device to be selectively and effectively operated to be accessed from the CPU 41a.
メイン制御部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 sent in only one direction, and the command is not sent from the sub control unit 91 to the main control unit 41. Further, in this 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, but the command is transmitted via the serial communication circuit 512. A configuration in which a command is transmitted to the sub control unit 91, that is, a configuration in which the command is transmitted as a serial signal may be used.
また、メイン制御部41は、遊技制御基板40に接続された各種スイッチ類の検出状態がパラレル入力ポート511から入力される。そしてメイン制御部41は、これらパラレル入力ポート511から入力される各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。また、メイン制御部41は、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、タイマ回路509にてタイムアウトが発生したこと、すなわち一定時間間隔(本実施例では、約0.56ms)毎に後述するタイマ割込処理(メイン)を実行する。また、メイン制御部41は、割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、その時点で新たな割込が発生することとなる。 Further, the main control unit 41 inputs the 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 basic process of gradually shifting according to the detection states of various switches input from the parallel input ports 511. Further, the main control unit 41 can interrupt the basic process and execute the interrupt process when the interrupt occurs. In this embodiment, a time-out occurs in the timer circuit 509, that is, the timer interrupt process (main) described later is executed at regular time intervals (about 0.56 ms in this embodiment). Further, the main control unit 41 is set to prohibit other interrupts during the execution of the interrupt process, and when a plurality of interrupts occur at the same time, priority is given according to a predetermined order. The interrupt to be executed is set. If another interrupt factor occurs during the execution of the interrupt process and the interrupt factor continues even after the interrupt process ends, a new interrupt will occur at that point. It will be.
メイン制御部41は、基本処理として遊技制御基板40に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部41は、一定時間間隔(本実施例では、約0.56ms)毎にタイマ割込処理(メイン)を実行する。尚、タイマ割込処理(メイン)の実行間隔は、基本処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理(メイン)の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理(メイン)との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。 As a basic process, the main control unit 41 repeatedly loops the process according to the control state until the detection state of the various switches connected to the game control board 40 changes, and responds to the change in the detection state of the various switches. Execute the process of gradual migration. Further, the main control unit 41 executes the timer interrupt process (main) at regular time intervals (about 0.56 ms in this embodiment). The execution interval of the timer interrupt process (main) is set to be longer than the total time of the time in which the process repeated according to the control state in the basic process completes and the execution time of the timer interrupt process (main). This means that the process of repeating the timer interrupt process (main) between this time and the next time according to the control state always completes at least one cycle.
演出制御基板90には、液晶表示器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を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。 A liquid crystal display 51, an effect LED 52, speakers 53, 54, a reel LED 55, and other effect devices are connected to the effect control board 90, and these effect devices are sub-controls described later mounted on the effect control board 90. It is driven based on the control by the unit 91. 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, 54, and the reel LED 55. However, an output control unit that directly controls the output of the effect device is mounted on the effect control board 90 or another board separately from the sub control unit 91, and the sub control unit 91 is based on a command from the main control unit 41. The output pattern of the effect device may be determined, and the output control unit may control the output of the effect 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 may be used. The output control of the production device is performed by both units. Further, in this embodiment, the liquid crystal display 51, the effect LED 52, the speakers 53, 54, and the reel LED 55 are exemplified as the effect device, but the effect device is not limited to these, and for example, a mechanically driven display is used. A device or a mechanically driven role object may be applied as a directing 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、その他の回路等、が搭載されており、サブCPU91aは、遊技制御基板40から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。 The effect control board 90 is composed of a microcomputer provided with a sub CPU 91a, ROM 91b, RAM 91c, and I / O port 91d, and is a liquid crystal display connected to the effect control board 90 and the sub control unit 91 that controls the effect. From the display control circuit 92 that controls the display of 51, the effect LED 52, the LED drive circuit 93 that controls the drive of the reel LED 55, the audio output circuit 94 that controls the audio output from the speakers 53, 54, when the power is turned on, or from the sub CPU 91a. Reset circuit 95 that gives a reset signal to the sub CPU 91a when the initialization command of is not input for a certain period of time, switch detection circuit 96 that detects the detection signal input from the switches connected to the effect control board 90, date information and time. The power supply voltage supplied to the clock device 97 and the slot machine 1 that output time information including information is monitored, and when a voltage drop is detected, a voltage drop signal indicating that is output to the sub CPU 91a. A detection circuit 98, other circuits, etc. are mounted, and the sub CPU 91a receives a command transmitted from the game control board 40, performs various controls for performing the effect, and is mounted on the effect control board 90. Directly or indirectly control each part of the control circuit.
リセット回路95は、遊技制御基板40においてメイン制御部41にシステムリセット信号を与えるリセット回路49よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部91は、メイン制御部41よりも早い段階で起動するようになっている。一方で、電断検出回路98は、遊技制御基板40においてメイン制御部41に電圧低下信号を出力する電断検出回路48よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部91は、メイン制御部41よりも遅い段階で停電を検知し、後述する電断処理(サブ)を行うこととなる。 In the game control board 40, the reset circuit 95 has a lower voltage for releasing the reset signal than the reset circuit 49 that gives the system reset signal to the main control unit 41, and the sub control unit 91 controls the main control when the power is turned on. It is designed to start at an earlier stage than the unit 41. On the other hand, the power failure detection circuit 98 is set to have a lower voltage for outputting the voltage drop signal than the power failure detection circuit 48 for outputting the voltage drop signal to the main control unit 41 in the game control board 40, and is set to have a lower voltage when the power is cut. The sub control unit 91 detects a power failure at a stage later than that of the main control unit 41, and performs a power failure process (sub) described later.
サブ制御部91は、メイン制御部41と同様に、割込機能を備えており、メイン制御部41からのコマンド受信時に割込を発生させて、メイン制御部41から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部91は、システムクロックの入力数が一定数に到達する毎、すなわち一定時間間隔(約2ms)毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。また、サブ制御部91は、メイン制御部41とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理(サブ)の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理(サブ)の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM91cに記憶されているデータが保持されるようになっている。 Like the main control unit 41, the sub control unit 91 has an interrupt function, generates an interrupt when receiving a command from the main control unit 41, and acquires a command transmitted from the main control unit 41. , Executes command reception interrupt processing to be stored in the buffer. Further, the sub control unit 91 generates an interrupt every time the number of input of the system clock reaches a certain number, that is, at a fixed time interval (about 2 ms), and executes a timer interrupt process (sub) described later. Further, unlike the main control unit 41, the sub control unit 91 interrupts the process when an interrupt occurs based on the reception of a command, even if the timer interrupt process (sub) is being executed. The command reception interrupt process is executed at the same time, and even if the interrupt that triggers the timer interrupt process (sub) occurs at the same time, the command reception interrupt process is executed with the highest priority. Further, the backup power supply 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 held while the backup power supply is supplied.
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選、ナビストック抽選、上乗せ抽選等の遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1〜6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。 In the slot machine 1 of this embodiment, the medal payout rate changes according to the set value. Specifically, the medal payout rate is changed by using the winning probability according to the set value in the lottery that affects the advantage to the player such as the internal lottery, the navigation stock lottery, and the additional lottery described later. The set value is composed of 6 stages from 1 to 6, with 6 having the highest payout rate, and the smaller the value in the order of 5, 4, 3, 2, 1 the lower the payout rate. That is, when 6 is set as the set value, the advantage is highest for the player, and the smaller the value in the order of 5, 4, 3, 2, 1 is, the lower the advantage is.
設定値を変更するためには、設定キースイッチ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 set 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 as a display value on the setting value display 24, and the setting value can be changed by operating the reset / setting switch 38. Move to the changed state. When the reset / setting switch 38 is operated in the setting change state, the display value displayed on the setting value display 24 is updated by 1 (when the setting value 6 is further operated, the setting value is changed to 1). Return). Then, when the start switch 7 is operated, the display value is fixed as the set value. Then, when the setting key switch 37 is turned off, the confirmed display value (set value) is stored in the RAM 41c of the main control unit 41, and the game shifts to a state in which the game can proceed.
尚、設定キースイッチ37がON状態で電源投入された場合に、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定変更状態に移行する構成としても良く、このような構成とすることで、前面扉1bが開放されていない状態で不正に設定変更がされてしまうことを防止できる。また、前面扉1bの開放に対応する検出がされていることを条件に、設定変更状態に移行する構成においては、設定変更状態に移行後、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされなくなっても、設定変更状態を維持することが好ましく、これにより、設定変更中に前面扉1bが一時的に閉じてしまっても、再度、設定変更状態に移行させるための操作を必要とせず、設定変更操作が煩雑となってしまうことがない。また、設定変更状態に移行後、スタートスイッチ7が操作されて設定値が確定した後、設定キースイッチ37がOFFとなったときに、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定変更状態を終了して遊技の進行が可能な状態に移行する構成としても良く、このような構成においても、前面扉1bが開放されていない状態で不正に設定変更がされてしまうことを防止できる。 It should be noted that when the power is turned on while the setting key switch 37 is ON, the setting shift state is also provided on the condition that the door open detection switch 25 detects the opening of the front door 1b. Well, with such a configuration, it is possible to prevent the setting from being changed illegally when the front door 1b is not opened. Further, in the configuration of shifting 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 corresponds to the opening of the front door 1b after shifting to the setting change state. It is preferable to maintain the setting change state even if the detection 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 is performed again. It is not necessary and the setting change operation is not complicated. Further, when the setting key switch 37 is turned off after the start switch 7 is operated to confirm the set value after shifting to the setting change state, the door open detection switch 25 detects the front door 1b to be opened. On the condition that the setting is changed, the setting change state may be terminated and the game may proceed to a state in which the game can proceed. Even in such a configuration, the front door 1b is illegally opened. It is possible to prevent the setting from being changed.
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37をON状態とすれば良い。このような状況で設定キースイッチ37をON状態とすると、設定値表示器24にRAM41cから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ37をOFF状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。 Further, in order to confirm the set value, the setting key switch 37 may be turned on after the game is finished and the bet number is not set. When the setting key switch 37 is turned on in such a situation, the setting value display 24 displays the setting value read from the RAM 41c, so that the setting value can be confirmed. In the setting confirmation state, the progress of the game is impossible, and by turning off the setting key switch 37, the setting confirmation state ends and the game returns to the state in which the progress is possible.
尚、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37がON状態となったときに、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定確認状態に移行する構成としても良く、このような構成とすることで、前面扉1bが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。また、前面扉1bの開放に対応する検出がされていることを条件に、設定確認状態に移行する構成においては、設定確認状態に移行後、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされなくなっても、設定確認状態を維持することが好ましく、これにより、設定確認中に前面扉1bが一時的に閉じてしまっても、再度、設定確認状態に移行させるための操作を必要とせず、設定確認操作が煩雑となってしまうことがない。また、設定確認状態に移行後、スタートスイッチ7が操作されて設定値が確定した後、設定キースイッチ37がOFFとなったときに、ドア開放検出スイッチ25により前面扉1bの開放に対応する検出がされていることを条件に、設定確認状態を終了して遊技の進行が可能な状態に復帰する構成としても良く、このような構成においても、前面扉1bが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。 After the game is over, when the setting key switch 37 is turned on while the number of bets is not set, it is a condition that the door opening detection switch 25 detects the opening of the front door 1b. In addition, a configuration that shifts to the setting confirmation state may be used, and such a configuration can prevent the setting value from being illegally confirmed when the front door 1b is not opened. Further, in the configuration of shifting to the setting confirmation state on the condition that the detection corresponding to the opening of the front door 1b is performed, the door opening detection switch 25 corresponds to the opening of the front door 1b after shifting to the setting confirmation state. It is preferable to maintain the setting confirmation state even if the detection is not performed. 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 is not complicated. Further, when the setting key switch 37 is turned off after the start switch 7 is operated to confirm the set value after shifting to the setting confirmation state, the door open detection switch 25 detects the front door 1b to be opened. On the condition that the setting is confirmed, the setting confirmation state may be terminated and the game may be returned to the state in which the game can proceed. Even in such a configuration, the front door 1b is illegally not opened. It is possible to prevent the set 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 a voltage drop signal from the power failure detection circuit 48 is detected each time the timer interrupt process (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 failure process (main) for setting the data for determining whether the data in the RAM 41c is normal at the next return 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, provided that the data in the RAM 41c is normal at the time of its activation. However, when the RAM 41c data is not normal, it is determined that the RAM is abnormal, the RAM error error code is set in the register to control the RAM error error state, and the progress of the game is disabled.
エラー状態は、リセット操作(リセット/設定スイッチ38またはリセットスイッチ23の操作)により解除される通常エラー状態と、前述した設定変更状態に移行し、新たな設定値が設定されるまで解除されることがない特殊エラー状態と、を含み、RAM異常エラー状態は、特殊エラー状態であり、一度RAM異常エラー状態に制御されると、設定変更状態に移行し、新たな設定値が設定されるまで解除されることがない。 The error state shifts to the normal error state that is canceled by the reset operation (operation of the reset / setting switch 38 or the reset switch 23) and the setting change state described above, and is canceled until a new setting value is set. The RAM error state is a special error state, including the special error state without, and once controlled to the RAM error error state, it shifts to the setting change state and is released until a new setting value is set. Will not be done.
また、サブ制御部91もタイマ割込処理(サブ)において電断検出回路98からの電圧低下信号が検出されているか否かを判定し、電圧低下信号が検出されていると判定した場合に、次回復帰時にRAM91cのデータが正常か否かを判定するためのデータを設定する電断処理(サブ)を実行する。 Further, the sub control unit 91 also determines whether or not the voltage drop signal from the power interruption detection circuit 98 is detected in the timer interrupt processing (sub), and when it is determined that the voltage drop signal is detected, At the next return, the power interruption process (sub) for setting the 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 failure based on the data stored in the RAM 91c, provided that the data in the RAM 91c is normal at the time of its activation. However, when 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, only the RAM 91c is initialized, and the execution of the effect is not disabled.
また、サブ制御部91は、その起動時においてRAM91cのデータが正常であると判断された場合でも、メイン制御部41から設定変更状態に移行した旨を示す後述の設定コマンドを受信した場合、起動後一定時間が経過してもメイン制御部41の制御状態が復帰した旨を示す後述の復帰コマンドも設定コマンドも受信しない場合にも、RAM91cを初期化するようになっている。この場合も、RAM91cが初期化されるのみで演出の実行が不能化されることはない。 Further, even if it is determined that the data in the RAM 91c is normal at the time of its activation, the sub control unit 91 is activated when it receives a setting command described later indicating that the setting has been changed from the main control unit 41. The RAM 91c is initialized even when neither the return command nor the setting command, which will be described later, indicating that the control state of the main control unit 41 has been restored is received even after a certain period of time has elapsed. In this case as well, only the RAM 91c is initialized, and the execution of the effect is not disabled.
次に、メイン制御部41のRAM41cの初期化について説明する。メイン制御部41のRAM41cの格納領域のうちの使用可能領域は、重要ワーク、特別ワーク、一般ワーク、未使用領域、スタック領域に区分されており、重要ワーク、特別ワーク、一般ワーク、未使用領域、スタック領域の順で配置されている。 Next, the 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 an important work, a special work, a general work, an unused area, and a stack area, and the important work, the special work, the general work, and the unused area. , The stack area is arranged in this order.
本実施例においてメイン制御部41は、設定キースイッチ37がOFFの状態での起動時でRAM41cのデータが破壊されているとき、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されていないとき、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されているとき、設定変更終了時、特定の遊技状態の終了時、1ゲーム終了時の6つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる4種類の初期化を行う。 In this embodiment, the main control unit 41 displays the data of the RAM 41c when the setting key switch 37 is started when the setting key switch 37 is ON and the data of the RAM 41c is destroyed when the setting key switch 37 is started. When it is not destroyed, when the data of RAM 41c is destroyed at the time of starting with the setting key switch 37 ON, at the end of setting change, at the end of a specific game state, at the end of one game When the initialization condition is satisfied, four types of initialization with different regions to be initialized are performed according to each initialization condition.
初期化0は、設定キースイッチ37がOFFの状態での起動時でRAM41cのデータが破壊されているとき、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されているときに行う初期化であり、初期化0では、使用可能領域全ての領域が初期化される。初期化1は、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されていないときに行う初期化であり、初期化1では、使用可能領域のうち重要ワーク及び特別ワーク以外の領域が初期化される。初期化2は、特定の遊技状態の終了時に行う初期化であり、初期化2では、使用可能領域のうち一般ワーク、未使用領域及び未使用スタック領域が初期化される。初期化3は、1ゲーム終了時に行う初期化であり、初期化3では、使用可能領域のうち、未使用領域及び未使用スタック領域が初期化される。尚、設定値や遊技状態を示すデータの格納領域は、特別ワークに割り当てられており、設定キースイッチ37がONの状態での起動時でRAM41cのデータが破壊されていないとき、すなわちRAM41cのデータが正常で設定変更される場合には、設定値や遊技状態を示すデータが保持されることとなる。また、後述のタイマカウンタの格納領域は、特別ワークに割り当てられており、ゲームの終了時や特定の遊技状態の終了時には初期化されることなく保持されることとなる。 Initialization 0 is when the data in the RAM 41c is destroyed when the setting key switch 37 is started up in the OFF state, or when the data in the RAM 41c is destroyed when the setting key switch 37 is started up in the ON state. In the initialization 0, all the usable areas are initialized. Initialization 1 is initialization performed when the data in the RAM 41c is not destroyed at the time of starting with the setting key switch 37 ON, and in initialization 1, other than the important work and the special work in the usable area. Area is initialized. The initialization 2 is an initialization performed at the end of a specific gaming state, and in the initialization 2, the general work, the unused area, and the unused stack area among the usable areas are initialized. The initialization 3 is an initialization performed at the end of one game, and in the initialization 3, the unused area and the unused stack area among the usable areas are initialized. The storage area of the data indicating the set value and the game state is allocated to the special work, and the data of the RAM 41c is not destroyed at the time of starting with the setting key switch 37 ON, that is, the data of the RAM 41c. If is normal and the setting is changed, the set value and the data indicating the game state will be retained. Further, the storage area of the timer counter, which will be described later, is allocated to the special work, and is retained without being initialized at the end of the game or the end of a specific game state.
本実施例のスロットマシン1は、遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインLNが有効化される。 In the slot machine 1 of the present embodiment, a specified number of bets that can be set according to the gaming state is determined, and the game is provided on the condition that the specified number of bets determined according to the gaming state is set. Can be started. In this embodiment, the winning line LN is activated when a predetermined number of bets are set according to the gaming state.
そして、本実施例では、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインという)上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。 Then, in this embodiment, when all reels 2L, 2C, and 2R are stopped, the activated winning line (in the case of this embodiment, all winning lines are always activated, so that the following is valid. A winning line is obtained when a combination of symbols called a role is aligned on the winning line (the winning line is simply called the winning line). The combination may be a combination of the same symbols or a combination including different symbols.
入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがRAM41cに設定されている必要がある。尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。 The types of winning roles are determined according to the game status, but they can be broadly divided into small roles that involve paying out medals and re-starting the next game without the need to set the number of bets. There is a game role and a special role with a transition to a game state that is advantageous to the player. In the following, the small role and the replay role are collectively referred to as the general role. In order for each winning combination determined according to the game state to be won, it is necessary to win the internal lottery described later and set the winning flag of the winning combination in the RAM 41c. Of the winning flags for each of these combinations, the winning flags for the small combination and the replay combination are valid only in the game in which the flags are set, and are invalid in the next game, but the winning flag for the special combination is , It is valid until the combinations of the allowed combinations are complete by the flag, and is invalid in the game in which the combinations of the allowed combinations are complete. That is, once the winning flag of the special role is won, even if the combination of the winning combination permitted by the flag cannot be aligned, the winning flag is not invalidated and is carried over to the next game. It becomes.
以下、本実施例の内部抽選について説明する。内部抽選は、メイン制御部41が、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出される以前(具体的には、スタートスイッチ7の検出時)に決定するものである。内部抽選では、まず、スタートスイッチ7の検出時に内部抽選用の乱数値(0〜65535の整数)を取得する。詳しくは、乱数回路508bにより生成され、乱数回路508bの乱数値レジスタに格納されている値をRAM41cに割り当てられた抽選用ワークに設定する。そして、遊技状態に応じて定められた各役について、抽選用ワークに格納された数値データと、現在の遊技状態、賭数及び設定値に応じて定められた各役の判定値数に応じて入賞を許容するか否かの判定が行われる。 Hereinafter, the internal lottery of this embodiment will be described. The internal lottery is performed before the display results of all reels 2L, 2C, and 2R are derived (specifically, the start switch 7) whether or not the main control unit 41 allows the winning of each of the above-mentioned combinations. Is determined at the time of detection). In the internal lottery, first, a random number value (an integer of 0 to 65535) for the internal lottery is acquired when the start switch 7 is detected. 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 winning combination determined according to the gaming state, according to the numerical data stored in the lottery work and the number of determination values of each winning combination determined according to the current gaming state, the number of bets, and the set value. It is determined whether or not to allow the prize.
内部抽選では、内部抽選の対象となる役、現在の遊技状態及び設定値に対応して定められた判定値数を、内部抽選用の乱数値(抽選用ワークに格納された数値データ)に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率(判定値数/65536)で役が当選することとなる。 In the internal lottery, the number of judgment values determined according to the winning combination, the current game state, and the set value to be the target of the internal lottery is sequentially added to the random number value for the internal lottery (numerical data stored in the lottery work). When the numbers are added and the result of the addition overflows, it is determined that the winning combination has been won. Therefore, the winning combination is won with a probability (number of determination values / 65536) according to the magnitude of the number of determination values.
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをRAM41cに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、2バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、一般役格納ワークのみクリアする。 Then, when the winning of any of the winning combinations is determined, the winning flag corresponding to the winning combination is set in the internal winning flag storage work assigned to the RAM 41c. The internal winning flag storage work is composed of a 2-byte storage area, in which the upper byte is assigned as the special role storage work in which the winning flag of the special combination is set, and the lower byte is the winning of the general combination. It is assigned as a general role storage work for which a flag is set. Specifically, when the special role is won, the winning flag of the special role indicating that the special role has been won is set in the special role storage work, and the winning flag set in the general role storage work is cleared. In addition, when the general role is won, the winning flag of the general role indicating that the general role has been won is set in the general role storage work. If neither combination nor combination of combinations is won, only the general combination storage work is cleared.
次に、リール2L、2C、2Rの停止制御について説明する。メイン制御部41は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、ROM41bに格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。停止制御テーブルは、停止操作が行われたタイミング別の滑りコマ数を特定可能なデータである。そして、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ8L、8C、8Rに対応するリール2L、2C、2Rの回転を停止させる制御を行う。 Next, the stop control of the reels 2L, 2C and 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 reel starts to rotate and when the reel stops and the reel that is still rotating remains. , Create a stop control table for each spinning reel. The stop control table is data that can specify the number of slip frames for each timing when the stop operation is performed. Then, when any operation corresponding to the rotating reel is effectively detected among the stop switches 8L, 8C, and 8R, the stop control table of the corresponding reel is referred to, and the referenced stop control table is slipped. Based on the number of frames, control is performed to stop the rotation of the reels 2L, 2C, and 2R corresponding to the operated stop switches 8L, 8C, and 8R.
本実施例では、滑りコマ数として0〜4の値が定められており、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大5コマの範囲から図柄の停止位置を指定できるようになっている。また、1図柄分リールを移動させるのに1コマの移動が必要であるので、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大5図柄の範囲から図柄の停止位置を指定できることとなる。 In this embodiment, a value of 0 to 4 is set as the number of sliding frames, and it is possible to pull in a maximum of 4 symbols to stop the reel after detecting the stop operation. That is, the stop position of the symbol can be specified from a range of up to 5 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 pull in a maximum of four symbols after detecting the stop operation to stop the reel, and stop when the stop operation is detected. It is possible to specify the stop position of a symbol from a range of up to 5 symbols including the operation position.
本実施例では、いずれかの役に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大4コマの引込範囲で揃えずに停止させる制御が行われることとなる。特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大4コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大4コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、4コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになる。また、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。 In this embodiment, when any of the winning combinations is won, when the stop operation is performed, the winning winning combinations can be stopped together on the winning line within a pull-in range of up to 4 frames. If possible, control is performed to align and stop the winning combination, and control is performed to stop the winning combination without aligning it within a pull-in range of a maximum of 4 frames. If the special role and the small role are won at the same time, such as when the special role is carried over from before the previous game and the small role is won, the maximum on the winning line is when the stop operation is performed. If the winning small wins can be aligned and stopped within the pull-in range of 4 frames, the control is performed to align and stop the small wins that have been won within the pull-in range of up to 4 frames on the winning line. If it is not possible to draw in, if it is possible to align and stop the winning special roles in the drawing range of up to 4 frames on the winning line, control is performed to align and stop them, and the winning combination is Control is performed so that the four frames are stopped without being aligned within the pull-in range. That is, in such a case, the control of aligning the small winning combination on the winning line is prioritized over the special winning combination, and the special winning combination can be won only when the small winning combination cannot be drawn in. If the special role and the small role can be drawn in at the same time, only the small role will be drawn in, and the small role will not be aligned on the winning line at the same time as the special role. In addition, when a special role and a small role are won at the same time, the control to align the special role on the winning line is prioritized over the small role, and only when the special role cannot be drawn in, 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 this embodiment, when the special role and the re-game combination are won at the same time, such as when the special role is carried over from before the previous game and the re-game combination is won, the stop operation is performed. At that time, control is performed so that the symbols of the re-game combination are aligned and stopped within a pull-in range of up to 4 frames on the winning line. In this case, the symbols constituting the re-game combination or the symbols constituting the re-game combination to be elected at the same time are arranged within 5 symbols, that is, within 4 frames for each of the reels 2L, 2C, and 2R. Since it can always be stopped at any position within the pull-in range of 4 frames, if the special role and the re-game combination are won at the same time, regardless of the operation timing of the stop switches 8L, 8C, 8R by the player. Instead, all the re-game roles will be awarded. That is, in such a case, the control of aligning the re-game combination on the winning line is prioritized over the special combination, and the re-game combination is sure to win the prize. If the special role and the re-game role can be drawn in at the same time, only the re-game role will be drawn in, and the special role will not be aligned on the winning line at the same time as the re-game role.
尚、本実施例では、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルを用いてリールの停止制御を行う構成であるが、停止可能な位置を特定可能な停止位置テーブルから停止位置を特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルや停止位置テーブルを用いずに、停止操作がされたタイミングで停止可能な停止位置を検索・特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルを用いた停止制御、停止位置テーブルを用いた停止制御、停止制御テーブルや停止位置テーブルを用いずに停止可能な停止位置を検索・特定することによる停止制御を併用する構成、停止制御テーブルや停止位置テーブルを一部変更して停止制御を行う構成としても良い。 In this embodiment, the reel stop control is performed using a stop control table that can specify the number of slip frames for each timing when the stop operation is performed. However, the stop position that can specify the stop position can be specified. A configuration that specifies the stop position from the table and stops the reel at the specified stop position, and searches for a stop position that can be stopped at the timing when the stop operation is performed without using the stop control table or stop position table. A configuration that performs stop control to specify and stop the reel at the specified stop position, stop control using the stop control table, stop control using the stop position table, and stop without using the stop control table or stop position table. A configuration in which stop control by searching and specifying a stop position may be used together, or a configuration in which a stop control table or a stop position table is partially changed to perform stop control may be used.
本実施例においてメイン制御部41は、ゲームの開始後、リールの回転を開始させる毎にその時点、すなわちリールの回転を開始させた時点から経過した時間であるゲーム時間を計時するようになっており、1ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間(本実施例では4.1秒)以上であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していれば、ウェイトを発生させず、その時点で当該ゲームにおける遊技のためのリールの回転を開始させる。一方、1ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間未満であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していなければ、ウェイトを発生させて、その時点ではリールの回転を開始させず、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間に到達するまで待機し、規定時間に到達した時点でリールの回転を開始させる。 In the present embodiment, the main control unit 41 measures the game time, which is the time elapsed from the time when the rotation of the reel is started after the start of the game, that is, the time when the rotation of the reel is started. After the end of one game, a specified number of bets are set by inserting medals, etc., and when the game start operation is performed with the game start operation enabled, the reel rotation of the previous game starts. If the game time at which the counting is started from the time point is equal to or longer than the specified time (4.1 seconds in this embodiment), that is, if the specified time has elapsed from the start time of reel rotation of the previous game, no wait is generated. At that point, the rotation of the reel for the game in the game is started. On the other hand, after the end of one game, a specified number of bets are set by inserting medals, etc., and when the game start operation is performed with the game start operation enabled, the reel rotation of the previous game starts. If the game time at which timing is started from that point 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 at which timing is started from the start of reel rotation of the previous game reaches the specified time, and when the specified time is reached, the rotation of the reel is started.
本実施例においてメイン制御部41は、遊技状態やエラーの発生状況などを示す外部出力信号を出力する制御を行う。これら外部出力信号は、外部出力基板1000、スロットマシン1が設置される遊技店(ホール)の情報提供端子板を介してホールコンピュータなどのホール機器に出力されるようになっている。 In this embodiment, the main control unit 41 controls to output an external output signal indicating a gaming state, an error occurrence status, and the like. These external output signals are output to hall equipment such as a hall computer via an information providing terminal board of a game store (hall) in which the external output board 1000 and the slot machine 1 are installed.
メイン制御部41は、賭数の設定に用いられたメダル数を示すメダルIN信号、入賞の発生により遊技者に付与されたメダル数を示すメダルOUT信号、遊技状態がRB(レギュラーボーナス)中の旨を示すRB中信号、遊技状態がBB(ビッグボーナス)中の旨を示すBB中信号、RT2中の旨を示すRT中信号、前面扉1bが開放中の旨を示すドア開放信号、後述する設定変更モードに移行している旨を示す設定変更信号、メダルセレクタの異常を示す投入エラー信号、ホッパーユニット34の異常を示す払出エラー信号をそれぞれ出力する。 The main control unit 41 has 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 game state of RB (regular bonus). An RB signal indicating that the game is in progress, a BB signal indicating that the game state is in BB (big bonus), an RT signal indicating that RT2 is in progress, and a door opening signal indicating that the front door 1b is open, which will be described later. A setting change signal indicating that the mode has been changed to the setting change mode, an insertion error signal indicating an abnormality of the medal selector, and a payout error signal indicating an abnormality of the hopper unit 34 are output.
外部出力基板1000には、リレー回路、パラレル・シリアル変換回路、出力信号毎の端子が設けられ、情報提供端子板の回路と電気的に接続するための接続されるコネクタが設けられている。遊技制御基板40から出力された信号のうち、メダルIN信号、メダルOUT信号、RB中信号、BB中信号は、リレー回路を介して、そのままパルス信号として情報提供端子板に出力される。これに対してドア開放信号、設定変更信号、投入エラー信号、払出エラー信号は、パラレル・シリアル変換回路にて、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換されて情報提供端子板に出力される。 The external output board 1000 is provided with a relay circuit, a parallel / serial conversion circuit, terminals for each output signal, and a connector to be connected for electrically connecting to the 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, and the BB signal are directly output as pulse signals to the information providing terminal board via the relay circuit. On the other hand, the door open signal, the setting change signal, the input error signal, and the payout error signal are converted into a security signal which is a serial signal that can be individually identified by the parallel serial conversion circuit to provide information. It is output to the terminal board.
次に、メイン制御部41がサブ制御部91に対して送信するコマンドについて説明する。 Next, a command transmitted by the main control unit 41 to the sub control unit 91 will be described.
本実施例では、メイン制御部41は、サブ制御部91に対して、投入枚数コマンド、クレジットコマンド、遊技状態コマンド、内部当選コマンド、リール加速情報コマンド、停止操作時コマンド、滑りコマ数コマンド、停止コマンド、遊技終了コマンド、入賞枚数コマンド、払出開始コマンド、払出終了コマンド、待機コマンド、打止コマンド、エラーコマンド、復帰コマンド、設定コマンド、設定確認コマンド、ドアコマンドを含む複数種類のコマンドを送信する。 In this embodiment, the main control unit 41 gives the sub control unit 91 a number of input commands, a credit command, a game state command, an internal winning command, a reel acceleration information command, a stop operation command, a slip frame number command, and a stop. Sends multiple types of commands, including commands, game end commands, winning number commands, payout start commands, payout end commands, standby commands, stop commands, error commands, return commands, setting commands, setting confirmation commands, and door commands.
投入枚数コマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、電断復帰時、または規定数の賭数が設定されていない状態においてメダルが投入されるか、MAXBETスイッチ6が操作されて賭数が設定されたときに送信される。また、投入枚数コマンドは、賭数の設定操作がなされたときに送信されるので、投入枚数コマンドを受信することで賭数の設定操作がなされたことを特定可能である。クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後(設定変更後)からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。 The number of inserted medals command is a command that can specify the number of inserted medals, that is, the number of medals used to set the number of medals, and is a state from the end of the game (after changing the setting) to the start of the game, when the power is restored. , 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 bet number, the medal is transmitted. Further, since the input number command is transmitted when the bet number setting operation is performed, it is possible to identify that the bet number setting operation has been performed by receiving the input number command. The credit command is a command that can specify the number of medals stored as credits, is a state from the end of the game (after changing the setting) to the start of the game, and in a state where a specified number of bets are set. Sent when a medal is inserted and credits are added.
遊技状態コマンドは、当該ゲームの遊技状態を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときに送信される。内部当選コマンドは、内部抽選結果を特定可能なコマンドであり、スタートスイッチ7が操作されてゲームが開始したときであって、遊技状態コマンドの送信後に送信される。遊技状態コマンド、内部当選コマンドは、スタートスイッチ7が操作されてゲームが開始したときに送信されるので、これらコマンドを受信することで、スタートスイッチ7が操作されてゲームが開始したことを特定可能である。 The game state command is a command that can specify the game state of the game, and is transmitted when the start switch 7 is operated to start the game. The internal winning command is a command that can specify the internal lottery result, and is transmitted when the start switch 7 is operated to start the game and after the game state command is transmitted. Since the game status command and the internal winning command are transmitted when the start switch 7 is operated and the game starts, it is possible to identify that the start switch 7 is operated and the game has started by receiving these commands. Is.
リール加速情報コマンドは、遊技の進行に伴いリールの回転が開始する旨を特定可能なコマンドであり、遊技の進行に伴いリールの回転を開始するときに送信する。停止操作時コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。滑りコマ数コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作がされてから停止するまでに移動する滑りコマ数を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する停止操作時コマンドが送信された後に送信される。停止コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する滑りコマ数コマンドが送信された後に送信される。停止操作時コマンド、滑りコマ数コマンド、停止コマンドは、いずれも停止するリールが左リール、中リール、右リールのいずれのリールであるか、を特定可能であり、かつ各リールの停止操作に伴う停止制御が行われる毎に送信されるので、これらコマンドを受信することで、いずれかのリールの停止操作がされたこと及び停止するリールを特定可能である。 The reel acceleration information command is a command that can specify that the reel rotation starts as the game progresses, and is transmitted when the reel rotation starts as the game progresses. 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, or the area number of the stop operation position of the corresponding reel, and is used for the stop operation of each reel. It is transmitted every time the accompanying stop control is performed. The slide frame number 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 number of slide frames that move from the stop operation of the corresponding reel to the stop. Therefore, each time the stop control associated with the stop operation of each reel is performed, the corresponding stop operation command is transmitted and then transmitted. The stop command is a command that can specify whether the reel to be stopped is the left reel, the middle reel, or the right reel, or the area number of the stop position of the corresponding reel, and is a stop control associated with the stop operation of each reel. Is sent after the corresponding slip frame count command is sent each time. The stop operation command, the number of sliding frames command, and the stop command can all specify whether the reel to be stopped is the left reel, the middle reel, or the right reel, and are accompanied by the stop operation of each reel. Since it is transmitted every time the stop control is performed, it is possible to specify that the stop operation of any of the reels has been performed and the reel to be stopped by receiving these commands.
遊技終了コマンドは、遊技が終了された旨を特定可能なコマンドであり、遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信される。入賞枚数コマンドは、入賞ラインLNに揃った図柄の組合せ、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときであり、遊技終了コマンドの送信後に送信される。遊技終了コマンド、入賞枚数コマンドは、いずれも遊技者が第3停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信されるので、これらコマンドを受信することで、1ゲームを進行させるのに必要な全ての操作が終了したことを特定可能である。 The game end command is a command that can specify that the game has ended, and is transmitted when the player presses the stop switch to stop the third stop reel and releases the stop switch. The winning number command is a command that can specify the combination of symbols aligned on the winning line LN, the presence or absence of 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. It is when the stop switch is pressed and the stop switch is released, and is transmitted after the game end command is transmitted. 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. Therefore, by receiving these commands, It is possible to identify that all the operations necessary for advancing one game have been completed.
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。 The payout start command is a command for notifying the start of payout of medals, and is transmitted when the payout of medals by winning a prize or settlement of credits (including the medal used for setting the number of bets) is started. In addition, the payout end command is a command for notifying the end of payout of medals, and is transmitted when the payout of medals by winning a prize and settlement of credits is completed.
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、1ゲーム終了後、賭数が設定されずに終了推定時間(本実施例では60秒)経過して待機状態に移行するとき、クレジット(賭数の設定に用いられたメダルを含む)の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。 The standby command is a command indicating that the game shifts to the standby state, and when the game shifts to the standby state after the estimated end time (60 seconds in this embodiment) elapses without setting the number of bets after one game ends, credits It is sent after the payout of medals by settlement (including the medal used to set the number of bets) is completed and the payout end command is sent.
打止コマンドは、打止状態の発生または解除を示すコマンドであり、BB終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。 The stop command is a command indicating the occurrence or release of the stop state, and when the ending effect waiting time elapses after the end of the BB, the stop command indicating the occurrence of the stop state is transmitted and the reset operation is performed. When the stop state is released, a stop command indicating the release of the stop state is transmitted. An error command is a command that indicates the occurrence or cancellation of an error state and the type of error state. When an error is determined and controlled to an error state, an error command indicating the occurrence of an error state and its type is sent and reset. When the operation is performed and the error state is cleared, an error command indicating the error state is cleared is sent.
復帰コマンドは、メイン制御部41が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部41の起動時において電断前の制御状態に復帰した際に送信される。設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部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 returns to the control state before the power failure. The setting command is a command that indicates the start or end of the setting change state and the setting value after the setting change. When the setting change state is entered, the setting command indicating the start of the setting change state is sent, 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 sent. Further, since the control state of the main control unit 41 is initialized 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 the setting. .. The setting confirmation command is a command that indicates the start or end of the setting confirmation state. When the setting confirmation state is entered, the setting confirmation command that indicates the start of the setting confirmation is sent, and the setting that indicates the end of the setting confirmation is sent when the setting confirmation state ends. A confirmation command is sent.
ドアコマンドは、ドア開放検出スイッチ25の検出状態、すなわちON(開放状態)/OFF(閉状態)を示すコマンドであり、所定条件成立時(通常時コマンド送信処理の実行時においてコマンドキューが空であるとき)に送信される。 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), and the command queue is empty when a predetermined condition is satisfied (normal time command transmission processing is executed). At some point) it will be sent.
これらコマンドのうちドアコマンド以外のコマンドは、メイン処理において生成され、RAM41cに設けられたコマンドキューに一時格納され、その後のタイマ割込処理(メイン)の通常時コマンド送信処理、電断時コマンド送信処理において送信される。一方、ドアコマンドは、通常時コマンド送信処理においてコマンドキューにいずれのコマンドも格納されてないときに生成され、RAM41cに設けられたコマンドキューに一時格納され、当該通常時コマンド送信処理おいて送信される。 Of these commands, commands other than the door command are generated in the main process, temporarily stored in the command queue provided in the RAM 41c, and then the timer interrupt process (main) normal command transmission process and power failure command transmission. Sent in the process. On the other hand, the door command is generated when no command is stored in the command queue in the normal command transmission process, is temporarily stored in the command queue provided in the RAM 41c, and is transmitted in the normal command transmission process. To.
次に、メイン制御部41がサブ制御部91に対して送信するコマンドに基づいてサブ制御部91が実行する演出の制御について説明する。サブ制御部91は、メイン制御部41からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、RAM91cに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。 Next, the control of the effect executed by the sub control unit 91 based on the command transmitted by the main control unit 41 to the sub control unit 91 will be described. When the sub control unit 91 receives a command from the main control unit 41, the sub control unit 91 executes a command reception interrupt process. In the command reception interrupt process, the command acquired from the command transmission line is stored in the 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, and if an unprocessed command is stored, the earliest of them. 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 speaker 53, 54, the reel LED 55, etc. are referred to based on the control contents registered in the control pattern table. Controls the output of various production 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, etc. The control patterns of these effect devices are registered, and when the sub-control unit 91 receives a command, the sub-control unit 91 of the control patterns registered corresponding to the effect patterns set in the RAM 91c in the game of the control pattern table. Among them, the control pattern corresponding to the type of the received command is referred to, and the output control of the effect device is performed based on the control pattern. As a result, the effect according to the effect pattern and the progress of the game is executed.
尚、サブ制御部91は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。 If the sub-control unit 91 receives a new command 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 uses the newly received command. An effect based on the corresponding control pattern is executed. That is, even if the production is not completed to the end, when a new command is received, the production that was being executed is canceled and a new production is performed unless the new command received is not the command that triggers the new production. The effect based on the command will be executed.
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、RAM91cに設定される。演出パターンの選択率は、ROM91bに格納された演出テーブルに登録されており、サブ制御部91は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてRAM91cに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。 When the internal winning command is received, the effect pattern is selected at a selection rate according to the result of the internal lottery indicated by the internal winning command, 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, and when the sub-control unit 91 receives the internal winning command, it is stored in the effect table according to the result of the internal lottery indicated by the internal winning command. The registered selection rate is referred to, one of the effect patterns is selected from a plurality of types of effect patterns according to the selection rate, and the selected effect pattern is set in the RAM 91c as the effect pattern of the game. Therefore, even if the same command is received, a different control pattern is selected depending on the effect pattern selected when the internal winning command is received, and as a result, different effects may be performed depending on the effect pattern.
また、サブ制御部91は、ドアコマンドから特定されるドア開放検出スイッチ25の検出状態に基づいて、ドア開放検出スイッチ25の検出状態がOFF(閉状態)からON(開放状態)に変化したか否かを判定し、OFF(閉状態)からON(開放状態)に変化した場合には、前面扉1bが開放中である旨を報知するドア開放報知を実行する。 Further, whether the sub-control unit 91 has changed the detection state of the door open detection switch 25 from OFF (closed state) to ON (open state) based on the detection state of the door open detection switch 25 specified from the door command. When it is determined whether or not the door is open and the state changes from OFF (closed state) to ON (open state), a door opening notification is executed to notify that the front door 1b is being opened.
図5は、メイン制御部41が用いるメモリ領域のアドレスマップである。図5に示すように、メイン制御部41が用いるメモリ領域は、ROM41bに割り当てられたメモリ領域(0000H〜7FFFH)と、RAM41cに割り当てられたメモリ領域(8000H〜FFFFH)と、を含む。 FIG. 5 is an address map of the memory area used by the main control unit 41. As shown in FIG. 5, 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 (8000H 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 a program 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, and a later description. Vector table area (2780H to 27A7H) where the upper address of the subroutine of the CALLV instruction and the start address of the timer interrupt processing (main) are set, and parameters for setting the internal functions of the main control unit 41 in terms of hardware. Includes an HW parameter area (27A8H to 27FFH) in which is set and an unused area (2800H to 7FFFH) where access is prohibited.
RAM41cのメモリ領域は、ワークとして使用可能な使用可能領域(8000H〜81FFH)と、メイン制御部41に搭載されている各機能を制御するためのレジスタ群が格納される内部機能レジスタ領域(9000H〜9080H)と、アクセスが禁止される未使用領域(8200H〜8FFFH、9081H〜FFFFH)と、を含む。 The memory area of the RAM 41c is an internal function register area (9000H to 81FFH) in which a usable area (8000H to 81FFH) that can be used as a work and a register group for controlling each function mounted on the main control unit 41 are stored. 9080H) and unused areas (8200H to 8FFFH, 9081H to FFFFH) whose access is prohibited.
ROM41bにおけるHWパラメータ領域に設定されるパラメータは、プログラム/データ領域で使用するROM領域の最終アドレス(HPRGEND)、アクセス禁止するRAM領域の開始アドレス(HRAMSTAT)及び最終アドレス(HRAMEND)を含む。 The parameters set in the HW parameter area in the ROM 41b include the final address (HPRGEND) of the ROM area used in the program / data area, the start address (HRAMSTAT) and the final address (HRAMEND) of the RAM area for which access is prohibited.
図6は、メイン制御部41のROM41bにおけるプログラム/データ領域及びRAM41cにおける使用可能領域のアドレスマップである。 FIG. 6 is an address map of the program / data area in the ROM 41b of the main control unit 41 and the usable area in the RAM 41c.
図6(a)に示すように、ROM41bにおけるプログラム/データ領域は、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが用いる遊技データが記憶される遊技データ領域と、未使用領域1と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが用いる非遊技データが記憶される非遊技データ領域と、未使用領域2と、を含む。 As shown in FIG. 6A, 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, and a game data area in which the game data used by the game program is stored. It includes a used area 1, a non-game program area in which a non-game program not related to the progress of a 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 proceed with a series of processes constituting the game, and if it is a slot machine, the stage where the number of bets is set and the game can be started, the game is started and the reels are rotated. The stage of causing the reel to be stopped, the stage of deriving the display result, and the stage of giving the value of a medal or the like according to the display result are advanced.
遊技プログラム領域は0000H〜097EHに割り当てられ、遊技データ領域は097FH〜12FFHに割り当てられ、非遊技プログラム領域は1380H〜1D02Hに割り当てられ、非遊技データ領域は1D03H〜267DHに割り当てられている。また、遊技データ領域と非遊技プログラム領域との間の領域(1357H〜137FH)は未使用領域1とされ、ROM41bにおけるプログラム/データ領域のうち非遊技データ領域より後の領域(267EH〜26FFH)は未使用領域2とされており、未使用領域1、2には全ての領域に0が格納されている。 The game program area is allocated to 0000H to 097EH, the game data area is allocated to 097FH to 12FFH, the non-game program area is allocated to 1380H to 1D02H, and the non-game data area is allocated to 1D03H to 267DH. Further, the area (1357H to 137FH) between the game data area and the non-game program area is regarded as the unused area 1, and the area (267EH to 26FFH) after the non-game data area in the program / data area in the ROM 41b is defined as the unused area 1. It is regarded as an unused area 2, and 0 is stored in all areas in the unused areas 1 and 2.
このように遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、がそれぞれ別個に割り当てられているとともに、遊技プログラム領域及び非プログラム領域のうちROM41bの記憶領域において後方に割り当てられていた非プログラム領域の手前の領域は、少なくとも16バイト以上の未使用領域1が割り当てられているため、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。 In this way, the game program area related to the progress of the game and the non-game program not related to the progress of the game are separately assigned, and the game program area and the non-program area are rearward in the storage area of ROM 41b. Since the unused area 1 of at least 16 bytes or more is allocated to the area in front of the allocated non-program area, the game program area related to the progress of the game, the non-game program not related to the progress of the game, and the non-game program. Can be easily specified according to the difference in the storage area.
また、遊技プログラム領域と遊技データ領域、非遊技プログラム領域と非遊技データ領域はそれぞれ連続する領域に割り当てられる一方、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、が少なくとも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 allotted to continuous areas, while the game program area and the game data area related to the progress of the game and the non-game area not 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 with an unused area 1 of at least 16 bytes or more in between, the game program area and the game data area related to the progress of the game and the progress of the game The non-game program and the non-game data area, which are not involved, can be easily specified according to the difference in the storage area.
尚、上記において記憶領域の前後とは、記憶領域に割り当てられたアドレス値の大小関係であり、アドレスが小さい方が前方となり、アドレスが大きい方が後方となる。このため、一の記憶領域よりも後方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が大きい記憶領域が該当し、一の記憶領域よりも前方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が小さい記憶領域が該当する。 In the above, the front and back of the storage area are the magnitude relations of the address values assigned to the storage area, and the smaller address is the front and the larger address is the rear. Therefore, the storage area allocated after the one storage area corresponds to the storage area having an address value larger than that of the one storage area, and the storage area allocated before the one storage area. , A storage area whose address value is smaller than that of one storage area is applicable.
また、非遊技プログラム領域よりも後方に遊技プログラムが割り当てられ、非遊技プログラム領域よりも後方に割り当てられた遊技プログラムの手前に未使用領域が割り当てられた構成としても良く、このような構成においても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。 Further, the game program may be allocated behind the non-game program area, and the unused area may be 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 allocated to adjacent areas with the unused area 1 in between. Even with such a configuration, the game program area related to the progress of the game and the game program area may be allocated. Non-game programs that are not related to the progress of the game can be easily identified according to the difference in the storage area.
また、ROM41bのプログラム/データ領域の未使用領域1、2には、全ての領域に0値が格納されているため、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域1、2と、を容易に区別することができるとともに、未使用領域1、2に不正なデータが格納されている場合でも容易に発見することができる。 Further, since 0 values are stored in all the unused areas 1 and 2 of the program / data area of the ROM 41b, the game program area and the game data area, the non-game program area and the non-game data, The unused areas 1 and 2 can be easily distinguished, and even when invalid 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 1 may be stored in all the unused areas 1 and 2 of the program / data area of the ROM 41b, and even in such a configuration, the game program area, the game data area, and the non-game The program area and non-game data can be easily distinguished from the unused areas 1 and 2, and even when invalid data is stored in the unused areas 1 and 2, it can be easily found. ..
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを2進数表記した場合に下位4桁の値が同じ0のアドレス(0H)から開始するようになっており、ROM41bのプログラム/データ領域のうち遊技の進行に係る遊技プログラム領域と、遊技の進行に係わらない非遊技プログラム領域と、を他の領域と容易に区別することができる。 Further, both the game program area and the non-game program area start from an address (0H) in which the lower four digits have the same value when the address is expressed in binary, and the program / data area of ROM 41b. Of these, 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 an address having the same 0 in the lower 4 digits when the address is expressed in binary, but also the value in the lower 1 digit when the address is expressed in hexadecimal. Starts from the same 0 address (0H), so the game program area and the non-game program area can be easily distinguished from other areas not only when the address is expressed in binary not only but also when it 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) starts from the address having the same value. The game program area and the non-game program area can be easily distinguished from other areas. For example, the value of the lower N (N is a natural number of 1 or more) digits is the same 1. The same effect can be obtained with a configuration starting from the address of.
図6(b)に示すように、RAM41cの使用可能領域は、遊技プログラムがワークとして用いる遊技RAM領域と、未使用領域3と、非遊技プログラムがワークとして用いる非遊技RAM領域と、未使用領域4と、スタック領域と、を含む。尚、本実施例では、遊技プログラム及び非遊技プログラムが一のスタック領域を共用する構成であるが、遊技プログラムがデータを退避する遊技スタック領域と、非遊技プログラムがデータを退避する非遊技スタック領域と、を個別に備える構成としても良い。 As shown in FIG. 6B, the usable area of the RAM 41c includes a game RAM area used as a work by the game program, an unused area 3, a non-game RAM area used by the non-game program as a work, and an unused area. 4 and a stack area are included. In this embodiment, the game program and the non-game program share one stack area, but the game stack area in which the game program saves data and the non-game stack area in which the non-game program saves data. And may be individually provided.
遊技RAM領域は8000H〜805BHに割り当てられ、非遊技RAM領域は8070H〜814CHに割り当てられ、スタック領域は8170H〜81FFHに割り当てられている。また、遊技RAM領域と非遊技RAM領域の間の領域(805CH〜806FH)、非遊技RAM領域とスタック領域の間の領域(814DH〜816FH)は、それぞれ未使用領域3、4とされ、未使用領域3、4には全ての領域に0が格納される。また、スタック領域のうちスタックポインタ(SP)〜81FFHまでが使用中スタック領域となり、それ以外の816FH〜SPまでは未使用スタック領域となる。このように遊技プログラムがワークとして用いる遊技RAM領域と、非遊技プログラムがワークとして用いる非遊技RAM領域と、は少なくとも16バイト以上の未使用領域3を挟んで連続しない領域に割り当てられている。 The game RAM area is allocated to 8000H to 805BH, the non-game RAM area is allocated to 8070H to 814CH, and the stack area is allocated to 8170H to 81FFH. The area between the game RAM area and the non-game RAM area (805CH to 806FH) and the area between the non-game RAM area and the stack area (814DH to 816FH) are unused areas 3 and 4, respectively, and are unused. In areas 3 and 4, 0 is stored in all areas. Further, of the stack areas, the stack pointers (SP) to 81FFH are used stack areas, and the other stack areas 816FH to SP are unused stack areas. As described above, the game RAM area used by the game program as a work and the non-game RAM area used by the non-game program as a work are allocated to areas that are not continuous with an unused area 3 of at least 16 bytes or more in between.
このように遊技RAM領域と、非遊技RAM領域と、は少なくとも16バイト以上の未使用領域3を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラムが用いる遊技RAM領域と、遊技の進行に係わらない非遊技プログラムが用いる非遊技RAM領域と、を記憶領域の違いに応じて容易に特定することができる。 In this way, the game RAM area and the non-game RAM area are allocated to areas that are not continuous with an unused area 3 of at least 16 bytes or more in between, so that the game RAM area used by the game program related to the progress of the game , The non-game RAM area used by the non-game program not related to the progress of the game can be easily specified according to the difference in the storage area.
以下では、遊技プログラム領域、遊技データ領域及び遊技RAM領域をまとめて遊技領域と称す場合があり、非遊技プログラム領域、非遊技データ領域及び非遊技RAM領域をまとめて非遊技領域と称す場合がある。また、未使用領域1及び未使用領域2、未使用領域3及び未使用領域4をまとめて未使用領域と称す場合がある。 In the following, 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. .. Further, the unused area 1, 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のプログラム/データ領域のうち先頭アドレス(0000H)からHPRGENDに設定されたアドレス(267DH)までの領域(遊技プログラム領域、遊技データ領域、未使用領域1、非遊技プログラム領域、非遊技データ領域)へのアクセスを許可に一括設定し、HPRGENDに設定されたアドレス(267DH)より後のアドレス(267EH)から26FFHの間の領域(未使用領域2)へのアクセスを禁止に設定する。また、HWパラメータ領域に設定されるパラメータに基づいて、RAM41cの使用可能領域のうち先頭アドレス(8000H)からHRAMSTATに設定されたアドレス(814DH)の前までの領域(遊技RAM領域、未使用領域3、非遊技RAM領域)、HRAMENDに設定されたアドレス(816FH)より後のアドレス(8170H)から81FFHまでの領域(スタック領域)へのアクセスを許可に設定し、HRAMSTATに設定されたアドレス(814DH)からHRAMENDに設定されたアドレス(816FH)の間の領域(未使用領域4)へのアクセスを禁止に設定する。尚、ROM41bのうちプログラム/データ領域以外の領域へのアクセス、RAM41cのうち使用可能領域以外の領域へのアクセスについては一律に禁止に設定する。 The main control unit 41 is an area (game program area, game) from the start address (0000H) to the address (267DH) set in HPRGEND in the program / data area of ROM 41b based on the parameters set in the HW parameter area. Access to the data area, unused area 1, non-game program area, non-game data area) is collectively set to allow, and the area between the address (267EH) and 26FFH after the address (267DH) set in HPRGEND. Prohibit access to (unused area 2). Further, based on the parameters set in the HW parameter area, the area from the start address (8000H) of the usable area of the RAM 41c to the area before the address (814DH) set in the HRAM STAT (game RAM area, unused area 3). , Non-gaming RAM area), the address (814DH) set in HRAMSTAT by setting access to the area (stack area) from the address (8170H) after the address (816FH) set in HRAMEND to 81FFH to allow. Access to the area (unused area 4) between the addresses (816FH) set in HRAMEND is set to be prohibited. Access to an area other than the program / data area of ROM 41b and access to an area other than the usable area of RAM 41c are uniformly prohibited.
そして、メイン制御部41は、ROM41bのプログラム/データ領域のうちHPRGENDに設定されたアドレス(267EH)より後のアドレス(267FH)から26FFHの間の未使用領域2へアクセスがあったとき、ROM41bのうちプログラム/データ領域以外の領域へのアクセスがあったとき、RAM41cの使用可能領域のうちHRAMSTATに設定されたアドレス(814DH)からHRAMENDに設定されたアドレス(816FH)の間の未使用領域4へのアクセスがあったとき、RAM41cのうち使用可能領域以外の領域へのアクセスがあったときに、不正アクセスと判断してイリーガルアクセスリセットを発生させる。イリーガルアクセスリセットが発生すると、後述する特殊エラー状態に制御され、遊技の進行が不能化されるとともに、設定変更状態に移行し、新たに設定値が設定されるまで解除されないようになっている。 Then, when the main control unit 41 accesses the unused area 2 between the address (267FH) after the address (267EH) set in HPRGEND and 26FFH in the program / data area of the ROM 41b, the ROM 41b When an area other than the program / data area is accessed, the unused area 4 between the address set in the HRAM STAT (814 DH) and the address set in the HRAM END (816 FH) in the usable area of the RAM 41c. When there is an access to an area other than the usable area of the RAM 41c, it is determined that the access is unauthorized and an illegal access reset is generated. When an illegal access reset occurs, it is controlled to a special error state described later, the progress of the game is disabled, the state shifts to the setting change state, and the setting value is not released until a new setting value is set.
このようにメイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、ROM41bのプログラム/データ領域のうちアクセスが禁止された領域へのアクセスがあったとき、RAM41cの使用可能領域のうちアクセスが許可に設定されていない領域へのアクセスがあったとき、ROM41bのうちプログラム/データ領域以外の領域へのアクセスがあったとき、RAM41cのうち使用可能領域以外の領域へのアクセスがあったときに、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させるので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。 In this way, the main control unit 41 is out of the usable area of the RAM 41c when the access is prohibited from the program / data area of the ROM 41b based on the parameters set in the HW parameter area. When there was access to an area for which access was not set for permission, when there was access to an area other than the program / data area in ROM 41b, there was access to an area other than the usable area in RAM 41c. Occasionally, that is, when there is an access to a memory area that is not accessed in normal operation, an illegal access reset is generated to disable the progress of the game. Therefore, what is an unused area or operation of ROM 41b? Even when an illegal program is stored in an unrelated area, an unused area of the RAM 41c, or the like, it is possible to prevent the illegal program from being executed.
特に本実施例では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)へのアクセスを一括して許可に設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや遊技データ、非遊技プログラム、非遊技データが格納されていない非遊技データよりも後の領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。 In particular, in this embodiment, the game program area and the non-game program area are allocated to the program / data area of the ROM 41b that is permitted to be accessed by the program, and the game program area is assigned to the front of the non-game program area behind the game program area. An unused area 1 is allocated to the area, and a group of programs / data areas including an area from the start address of the game program area to the final address of the non-game program based on the parameters set in the HW parameter area. While the access to the area (the area from the game program area to the non-game data area) is collectively set to allow, the other areas, that is, the game program, the game data, and the non-game program among the program / data areas, Since access to the area after the non-game data in which the non-game data is not stored is prohibited, it is possible to prevent unintended control by a malicious program or illegal data.
また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域へのアクセスを一括して許可に設定する一方で、それ以外の領域へのアクセスが禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。 Further, in the program / data area of the ROM 41b that is permitted to be accessed by the program, the game area is allocated behind the non-game program area, and the unused area is in front of the game program area behind the non-game program area. Is assigned, and access to a group of areas including the area from the start address of the non-game program area to the final address of the game program in the program / data area is collectively based on the parameters set in the HW parameter area. Even if access to other areas is prohibited while setting the permission, it is possible to prevent unintended control by malicious programs and malicious data.
尚、本実施例では、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)へのアクセスを一括して許可に設定する構成であるが、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。 In this embodiment, a group of areas (game program) including an area from the start address of the game program area to the final address of the non-game program in the program / data area based on the parameters set in the HW parameter area. Access to the area from the area to the non-game data area) is collectively set to allow, but the game program area and the non-game program area are assigned to the program / data area, and the game program area is used. Unused area 1 is allocated to the area in front of the non-game program area behind, and a group of program / data areas including the game program area (area from the game program area to the game data area) and non-game area. Access to a group of areas including the game program (area from the non-game program area to the non-game data area) may be set to allow, and access to other areas may be prohibited. Such a configuration. Even in this case, access to the program / data area where the game program or non-game program is not stored is prohibited, so that it is possible to prevent unintended control by the malicious program or the illegal data. .. Further, in the program / data area of the ROM 41b that is permitted to be accessed by the program, the game area is allocated behind the non-game program area, and the unused area is in front of the game program area behind the non-game program area. Is assigned, and a group of areas including the game program area (the area from the game program area to the game data area) and a group of areas including the non-game program (from the non-game program area to the non-game area) in the program / data area. Access to each of the areas up to the data area) may be set to allow and access to other areas may be prohibited. Even with such a configuration, game programs and non-games in the program / data area may be set. Since access to the area where the program is not stored is prohibited, it is possible to prevent unintended control by malicious programs and malicious data.
また、上記では、プログラム/データ領域においてアクセスを許可する領域そのものを設定する構成であるが、プログラム/データ領域においてアクセスを禁止する領域を設定することで、間接的にアクセスを許可する領域が設定される構成としても良い。 Further, in the above, the configuration is such that the area itself that allows access in the program / data area is set, but by setting the area that prohibits access in the program / data area, the area that indirectly permits access is set. It may be configured to be performed.
メイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、ROM41bのプログラム/データ領域のうちIATSTAT1に設定されたアドレス(0000H)からIATEND1に設定されたアドレス(097EH)までの領域(遊技プログラム領域)、IATSTAT2に設定されたアドレス(1380H)からIATEND2に設定されたアドレス(1D02H)までの領域(非遊技プログラム領域)を、IAT回路506aがプログラム走行を許可する指定エリアとして設定する。 The main control unit 41 is based on the parameters set in the HW parameter area, and is an area (game) from the address (0000H) set in IATSTAT1 to the address (097EH) set in IATEND1 in the program / data area of ROM 41b. The program area), the area (non-gaming program area) from the address (1380H) set in IATSTART2 to the address (1D02H) set in IATEND2 is set as a designated area in which the IAT circuit 506a permits program running.
そして、IAT回路506aは、IATSTAT1に設定されたアドレス(0000H)からIATEND1に設定されたアドレス(097EH)までの領域(遊技プログラム領域)、IATSTAT2に設定されたアドレス(1380H)からIATEND2に設定されたアドレス(1D02H)までの領域(非遊技プログラム領域)、すなわちプログラム走行を許可する指定エリア以外の領域(ROM41bのプログラム/データ領域のうちの遊技データ領域、非遊技データ領域、未使用領域1、2、ROM41bのプログラム/データ領域以外の領域)においてユーザプログラムが実行された場合に、IAT発生信号を出力するようになっている。そして、CPU41aは、IAT発生信号が出力された場合に、後述する特殊エラー状態に制御され、遊技の進行が不能化されるとともに、設定変更状態に移行し、新たに設定値が設定されるまで解除されないようになっている。 Then, the IAT circuit 506a is set in the area (game program area) from the address (0000H) set in IATSTAT1 to the address (097EH) set in IATEND1, and from the address (1380H) set in IATSTAT2 to IATEND2. Area up to the address (1D02H) (non-game program area), that is, an area other than the designated area where program running is permitted (game data area, non-game data area, unused area 1 and 2 in the program / data area of ROM 41b). , An area other than the program / data area of ROM 41b), the IAT generation signal is output when the user program is executed. Then, when the IAT generation signal is output, the CPU 41a is controlled to a special error state described later, the progress of the game is disabled, the setting shifts to the setting change state, and until a new setting value is set. It is designed not to be released.
このようにメイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、プログラム走行を許可する指定エリア以外の領域においてユーザプログラムが実行された場合、すなわち正常な動作ではユーザプログラムが実行されることのない領域でユーザプログラムが実行された場合に、IAT回路506aがIAT発生信号を出力することで、遊技の進行を不能化させるので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。 In this way, the main control unit 41 executes the user program when the user program is executed in an area other than the designated area where the program running is permitted based on the parameters set in the HW parameter area, that is, in normal operation. When the user program is executed in a non-existent area, the IAT circuit 506a outputs an IAT generation signal to disable the progress of the game. Therefore, an unused area of the ROM 41b or an area unrelated to the operation. Even when an illegal program is stored in an unused area or the like of the RAM 41c, it is possible to prevent the illegal program from being executed.
特に本実施例では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路506aがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。 In particular, in this embodiment, the game program area and the non-game program area are allocated to the program / data area of the ROM 41b that is permitted to be accessed by the program, and the game program area is assigned to the front of the non-game program area behind the game program area. The unused area 1 is assigned 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 it is set as a designated area, program running is prohibited in other areas, that is, in the program / data area where game programs and non-game programs are not stored, so it is not intended due to malicious programs or illegal data. It is possible to prevent control from being performed.
また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路506aがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。 Further, in the program / data area of the ROM 41b that is permitted to be accessed by the program, the game area is allocated behind the non-game program area, and the unused area is in front of 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 of the program / data area as designated areas for permitting program running. Therefore, even if the program running in other areas is prohibited, it is possible to prevent unintended control due to an illegal program or illegal data.
尚、本実施例では、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路506aがプログラム走行を許可する指定エリアとして設定する構成であるが、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路506aがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止される構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路506aがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。 In this embodiment, each of the game program area and the non-game program area of the program / data area is set as a designated area where the IAT circuit 506a permits program running based on the parameters set in the HW parameter area. However, the program / data area is allocated to the game program area and the non-game program area, and the unused area 1 is allocated to the area behind the game program area and before the non-game program area. , A group of 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 final address of the non-game program in the program / data area based on the parameters set in the HW parameter area. The area up to) may be collectively set as a designated area where the IAT circuit 506a permits program running, and program running in other areas may be prohibited. Even in such a configuration, the program may be used. / Since program running is prohibited in the area of the data area where the game program and the non-game program are not stored, it is possible to prevent unintended control by the malicious program or the illegal data. Further, in the program / data area of the ROM 41b that is permitted to be accessed by the program, the game area is allocated behind the non-game program area, and the unused area is in front of the game program area behind the non-game program area. Is assigned, and based on the parameters set in the HW parameter area, a group of areas (from the game program area) including the area from the start address of the non-game program area to the final address of the game program in the program / data area. Even if the IAT circuit 506a collectively sets the area up to the non-game data area as a designated area that allows program running and program running in other areas is prohibited, it is due to an illegal program or illegal data. It is possible to prevent unintended control from being performed.
また、上記では、プログラム/データ領域においてプログラム走行を許可する領域そのものを設定する構成であるが、プログラム/データ領域においてプログラム走行を禁止する領域を設定することで、間接的にプログラム走行を許可する領域が設定される構成としても良い。 Further, in the above, the area itself that allows the program running is set in the program / data area, but the program running is indirectly permitted by setting the area that prohibits the program running in the program / data area. The configuration may be such that an area is set.
メイン制御部41が実行するプログラムは、プログラム全体の進行を管理するメインルーチンと、他のプログラムの実行中に呼び出されるサブルーチンと、を含む。 The program executed by the main control unit 41 includes a main routine that manages the progress of the entire program and a subroutine that is called during the execution of another program.
また、メイン制御部41にプログラム/データ領域に格納されたプログラムを実行させる命令として、CALL命令、RST命令、ジャンプ命令を含む。 Further, as an instruction for causing the main control unit 41 to execute the program stored in the program / data area, a CALL instruction, an RST instruction, and a jump instruction are included.
CALL命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたサブルーチンを呼び出して実行させる命令である。メイン制御部41は、CALL命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定されたアドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちCALL命令を実行した呼び出し元のメインルーチンまたはサブルーチンに復帰する。 The CALL instruction is an instruction that calls and executes a subroutine stored at an address specified in the main routine or the subroutine. When the subroutine is called by the CALL instruction, the main control unit 41 stores the address of the caller in the stack area, and calls and executes the subroutine stored in the designated address. Then, after the subroutine is completed, the address of the caller stored in the stack area, that is, the main routine or subroutine of the caller who executed the CALL instruction is returned.
また、CALL命令は、通常のCALL命令と、特殊なCALL命令であるCALLV命令と、を含む。通常のCALL命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であるのに対して、CALLV命令は、下位アドレスのみ指定することで、ROM41bのベクタテーブル領域に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であり、通常のCALL命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。 Further, the CALL instruction includes a normal CALL instruction and a CALLV instruction which is a special CALL instruction. The normal CALL instruction is an instruction that calls a subroutine by specifying both the upper address and the lower address and specifying the address by the specified upper address and lower address, whereas the CALLV instruction specifies only the lower address. By doing so, it is an instruction to specify an address by a preset upper address and a specified lower address in the vector table area of ROM 41b and call the subroutine, and call the subroutine with a smaller amount of data than a normal CALL instruction. It becomes possible.
RST命令は、予め定められた複数の特定アドレスに対応する値を指定することで、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行させる命令であり、上記した通常のCALL命令やCALLV命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。メイン制御部41は、RST命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちRST命令を実行した呼び出し元のメインルーチンまたはサブルーチンに復帰する。 The RST instruction is an instruction to call and execute a subroutine stored in a specific address corresponding to a specified value by designating a value corresponding to a plurality of predetermined specific addresses, and is an instruction to execute the above-mentioned ordinary CALL. It is possible to call a subroutine with a smaller amount of data than an instruction or a CALLV instruction. When the subroutine is called by the RST instruction, the main control unit 41 stores the address of the caller in the stack area, and calls and executes the subroutine stored in the specific address corresponding to the specified value. Then, after the subroutine is completed, the address of the caller stored in the stack area, that is, the main routine or subroutine of the caller who executed the RST instruction is returned.
ジャンプ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたプログラムに移動する命令である。メイン制御部41は、ジャンプ命令により指定されたアドレスに格納されたプログラムに移動し、移動先のプログラムを実行する。この場合には、CALL命令やRST命令と異なり、移動後のプログラムが終了しても移動元のプログラムに復帰することはない。 A jump instruction is an instruction to move 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 instruction, and executes the destination program. In this case, unlike the CALL instruction and the RST instruction, the program does not return to the source program even if the program after the transfer ends.
また、メイン制御部41にプログラム/データ領域に格納されたデータを読み出す命令としてLD命令を含む。LD命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたデータを指定されたレジスタに読み出す命令である。メイン制御部41は、LD命令により指定されたアドレスに格納されたデータを読み出し、LD命令により指定されたレジスタに読み出したデータを格納する。 Further, the main control unit 41 includes an LD instruction as an instruction for reading the data stored in the program / data area. The LD instruction is an instruction to read the data stored at the address specified in the main routine or the subroutine into the 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命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。 Of the game programs stored in the ROM 41b, the frequently used subroutines are stored in the game program area 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 the upper address of the subroutine called by the CALLV instruction. Then, when the main control unit 41 calls a subroutine in which the upper address of the start address is a specific value, the main control unit 41 uses the CALLV instruction to specify only the lower address, thereby setting the specific value set in the vector table area as the upper address. Specify, specify the lower address specified as the lower address, and call and execute the subroutine stored in the address that combines the upper and lower levels. For this reason, the upper addresses that form part of the addresses used when calling the subroutines that are used particularly frequently in the game program are set in advance as specific values in the vector table, and are based on the specific values set in the vector table. Because the address is specified, it is possible to call a subroutine with a smaller amount of data than a normal CALL instruction that calls a program by specifying both the upper address and the lower address, and when calling these subroutines. It is possible to reduce the waste of the program for specifying the address.
尚、ROM41bに格納された非遊技プログラムのうち特に使用頻度の高いサブルーチンを、ROM41bの非遊技プログラム領域のうち先頭アドレスが特定値となる領域に格納するとともに、ROM41bのベクタテーブル領域に、CALLV命令で呼び出すサブルーチンの上位アドレスとして特定値を設定し、メイン制御部41が先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、CALLV命令を用いて下位アドレスのみ指定することで、これらのサブルーチンを呼び出して実行する構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のCALL命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。 The subroutines that are particularly frequently used among the non-game programs stored in the ROM 41b are stored in the non-game program area of the ROM 41b where the start address is a specific value, and the CALLV instruction is given in the vector table area of the ROM 41b. By setting a specific value as the upper address of the subroutine to be called in, and when the main control unit 41 calls the subroutine in which the upper address of the start address is the specific value, these subroutines are specified by using the CALLV instruction to specify only the lower address. Even if the configuration is such that the program is called and executed, it is possible to call the subroutine with a smaller amount of data than the normal CALL instruction that calls the program by specifying both the upper address and the lower address, and these subroutines can be called. It is possible to reduce the waste of the program for specifying the address when calling.
また、CALLV命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部41の特定のレジスタに設定する構成としても良い。 Further, the upper address used when calling by the CALLV instruction may be set to a specific register of the main control unit 41 instead of the vector table area.
また、CALLV命令に限らず、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、サブルーチンの格納アドレスが特定可能となる特殊なCALL命令を用いる構成であれば、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれサブルーチンの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたサブルーチンの格納アドレスを特定可能となる特殊なCALL命令を用いる構成であっても、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。 Further, not limited to the CALLV instruction, a part of the address is specified by using the value stored in the vector table area, the value set in the specific register, etc., and the subroutine is specified by specifying the remaining part of the address. If the configuration uses a special CALL instruction that enables the storage address of the subroutine to be specified, it is possible to reduce the waste of the program for specifying the address when calling the subroutine. In addition, identification values with a smaller amount of data than the addresses are assigned to each of the multiple areas that make up the vector table area, and the storage addresses of the subroutines are set in each of these multiple areas, and the identification values are specified to identify them. Even with a configuration that uses a special CALL instruction that makes it possible to specify the storage address of the subroutine stored in the area corresponding to the value, it is possible to reduce the waste of the program for specifying the address when calling the subroutine. ..
また、ROM41bに格納された遊技データのうち特に使用頻度の高い遊技データを、ROM41bの遊技データ領域のうち先頭アドレスが特定値となる領域に格納するとともに、ROM41bのベクタテーブル領域に、特殊なLD命令で読み出すデータの上位アドレスとして特定値を設定し、メイン制御部41が先頭アドレスの上位アドレスが特定値となる遊技データを呼び出すときに、特殊なLD命令を用いて下位アドレスのみ指定することで、これらの遊技データを読み出す構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にて遊技データを呼び出すことが可能となり、これらの遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。 Further, the game data that is particularly frequently used among the game data stored in the ROM 41b is stored in the area where the start address is a specific value in the game data area of the ROM 41b, and a special LD is stored in the vector table area of the ROM 41b. By setting a specific value as the upper address of the data to be read by the command, and when the main control unit 41 calls the game data in which the upper address of the start address is the specific value, only the lower address is specified by using a special LD command. , Even if the configuration is such that these game data are read, it is possible to call the game data with a smaller amount of data as compared with the normal LD instruction that reads data by specifying both the upper address and the lower address. It is possible to reduce the waste of the program for specifying the address when reading the game data of.
また、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 the non-game data area of the ROM 41b where the start address is a specific value, and is stored in the vector table area of the ROM 41b. When a specific value is set as the upper address of the data to be read by the special LD instruction and the main control unit 41 calls the non-game data in which the upper address of the start address is the specific value, only the lower address is used by the special LD instruction. By specifying, even if the configuration is such that these non-game data are read, the non-game data is called with a smaller amount of data than the normal LD instruction that reads data by specifying both the upper address and the lower address. This makes it possible to reduce the waste of the program for specifying an address when reading these non-game data.
また、これらの場合でも特殊なLD命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部41の特定のレジスタに設定する構成としても良い。 Further, even in these cases, the upper address used when calling with a special LD instruction may be set to a specific register of the main control unit 41 instead of the vector table area.
また、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、データの格納アドレスが特定可能となる特殊なLD命令を用いる構成であれば、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれデータの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたデータの格納アドレスを特定可能となる特殊なLD命令を用いる構成であっても、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。 In addition, a 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. If the configuration uses the special LD instruction, it is possible to reduce the waste of the program for specifying the address when reading the data. In addition, identification values that are smaller than the address are assigned to each of the multiple areas that make up the vector table area, data storage addresses are set in each of these multiple areas, and identification values are specified. Even in a configuration using a special LD instruction that makes it possible to specify the storage address of the data stored in the area corresponding to the value, it is possible to reduce the waste of the program for specifying the address when reading the data. ..
また、メイン制御部41は、システムリセット信号の入力によるシステムリセット、WDT506bによるWDTリセット、前述のイリーガルアクセスリセットが発生することで起動することとなるが、この際、ベクタテーブル領域に設定された値が、0000H〜HPRGENDに設定されたアドレスの領域、すなわちプログラム領域のうちプログラム等が実際に格納された領域を示す値であるか、またはFFFFH(未使用のベクタテーブル領域に設定される値)であるか、を判定し、ベクタテーブル領域に設定された値が0000H〜HPRGENDに設定されたアドレスの領域を示す値でもなく、FFFFHでもない場合には、起動しないようになっている。 Further, the main control unit 41 is activated when a system reset by inputting a system reset signal, a WDT reset by WDT506b, and the above-mentioned illegal access reset occur. At this time, the value set in the vector table area is set. Is a value indicating the area of the address set in 0000H to HPRGEND, that is, the area of the program area in which the program or the like is actually stored, or FFFFH (value set in the unused vector table area). It is determined whether or not there is, and if the value set in the vector table area is neither a value indicating the area of the address set in 0000H to HPRGEND nor FFFFH, it is not started.
このようにメイン制御部41は、ベクタテーブル領域に設定された値、すなわち後述するCALLV命令のサブルーチンの上位アドレス及びタイマ割込処理(メイン)の先頭アドレスが、プログラムが設定される領域外を示す値である場合に起動しないことで、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。 In this way, the main control unit 41 indicates that the value set in the vector table area, that is, the upper address of the subroutine of the CALLV instruction described later and the start address of the timer interrupt process (main) is outside the area in which the program is set. By not starting when it is a value, it is possible to prevent in advance that an unintended process is executed due to an interruption or the like.
図7は、メイン制御部41のROM41bのプログラム/データ領域における遊技プログラム領域のアドレスマップである。 FIG. 7 is an address map of the game program area in the program / data area of the ROM 41b of the main control unit 41.
図7に示すように、ROM41bの遊技プログラム領域は、アドレスが0000H〜097EHの領域であり、当領域内の0000H〜003FHまでの領域(以下、特定アドレス領域という場合がある。)には、アドレスの下位1桁が特定値(8Hまたは0H)となる8バイト毎のアドレス(0008H、0010H、0018H、0020H、0028H、0030H、0038H)が特定アドレスとして割り当てられている。 As shown in FIG. 7, the game program area of the ROM 41b is an area having an address of 0000H to 097EH, and the area from 0000H to 003FH (hereinafter, may be referred to as a specific address area) in this area is an address. Addresses every 8 bytes (0008H, 0010H, 0018H, 0020H, 0028H, 0030H, 0038H) in which the lower one digit of is a specific value (8H or 0H) are assigned as specific addresses.
遊技プログラム領域には、遊技の進行に係わる遊技プログラムとして、例えば、初期設定処理、外部信号オフ時間待ち処理、最大投入メダル数セット処理、出力ポート2出力処理、設定値表示データ取得処理、加算処理、全リール停止LEDオフ処理、割込1回待ち処理、割込BC回待ち処理、ホッパー停止処理、ポート出力処理、遊技状態判定処理、遊技カウンタ送信処理、コマンド格納処理などのサブルーチンが格納されている。 In the game program area, as game programs related to the progress of the game, for example, initial setting processing, external signal off time waiting processing, maximum number of inserted medals set processing, output port 2 output processing, set value display data acquisition processing, addition processing , All reel stop LED off processing, interrupt 1 time waiting processing, interrupt BC times waiting processing, hopper stop processing, port output processing, game state determination processing, game counter transmission processing, command storage processing, etc. are stored. There is.
初期設定処理は、電断からの復帰時にメイン制御部41の制御状態を遊技の進行が可能な状態に復帰させる処理であり、外部信号オフ時間待ち処理は、外部出力信号の出力時にON状態からOFF状態に切り替えるまでの時間が経過するまで待機する処理であり、最大投入メダル数セット処理は、遊技に用いるメダルの最大投入数(本実施例では、3枚)を設定する処理であり、出力ポート2出力処理は、遊技の進行状況に応じて流路切替ソレノイド30の励磁状態を示す信号を出力ポートから出力させる処理であり、設定値表示データ取得処理は、設定値表示器24に設定値を表示させるための表示データを取得する処理であり、加算処理は、指定のパラメータに所定値を加算し、加算後の値に基づくアドレスのデータを取得する処理であり、全リール停止LEDオフ処理は、左中右停止有効LED22L、22C、22Rを消灯状態にするようにポート出力を設定する処理であり、割込1回待ち処理は、割込処理が1回行われるまで待機する処理であり、割込BC回待ち処理は、指定した回数の割込処理が行われるまで待機する処理であり、ホッパー停止処理は、ホッパーモータ34bをオフ状態とするようにポート出力を設定する処理であり、ポート出力処理は、各処理で行われたポート出力の設定に基づいて信号を出力する処理であり、遊技状態判定処理は、遊技の状態を取得して、遊技状態を示すフラグをRAM41cに設定する処理であり、遊技カウンタ送信処理は、遊技カウンタの値をコマンドとして送信するように設定する処理であり、コマンド格納処理は、コマンドキューにコマンドを格納する処理である。 The initial setting process is a process of returning the control state of the main control unit 41 to a state in which the game can proceed when returning from the power interruption, and the external signal off time waiting process is a process of returning from the ON state when the external output signal is output. It is a process of waiting until the time until switching to the OFF state elapses, and the maximum number of inserted medals set process is a process of setting the maximum number of inserted medals used in the game (three in this embodiment) and outputs. The port 2 output process is a process of outputting a signal indicating the excitation state of the flow path switching solenoid 30 from the output port according to the progress of the game, and the set value display data acquisition process is a set value display 24. Is a process of acquiring display data for displaying, and the addition process is a process of adding a predetermined value to a specified parameter and acquiring address data based on the added value, and is an all-reel stop LED off process. Is a process of setting the port output so that the left middle right stop effective LEDs 22L, 22C, and 22R are turned off, and the interrupt one-time wait process is a process of waiting until the interrupt process is performed once. The interrupt BC times wait process is a process of waiting until a specified number of interrupt processes are performed, and the hopper stop process is a process of setting a port output so as to turn off the hopper motor 34b. The port output process is a process of outputting a signal based on the port output setting performed in each process, and the game state determination process acquires the game state and sets a flag indicating the game state in the RAM 41c. The game counter transmission process is a process for setting the value of the game counter to be transmitted as a command, and the command storage process is a process for storing a command in the command queue.
ROM41bに格納された遊技プログラムのうち上述した特に使用頻度の高いサブルーチンのうちの一部は、ROM41bの遊技プログラム領域のうち前述の特定アドレスを先頭とする領域に格納されている。本実施例では、遊技プログラムのうち外部信号オフ時間待ち処理、出力ポート2出力処理、加算処理、割込1回待ち処理、割込BC回待ち処理、ポート出力処理、遊技状態判定処理が、複数の特定アドレスのうち一の特定アドレスを先頭にしてROM41bに格納されている。 Among the game programs stored in the ROM 41b, some of the above-mentioned frequently used subroutines are stored in the above-mentioned specific address in the game program area of the ROM 41b. In this embodiment, among the game programs, a plurality of external signal off-time wait processes, output port 2 output processes, addition processes, interrupt 1 wait process, interrupt BC wait process, port output process, and game state determination process are performed. The specific address of one of the specific addresses is stored in the ROM 41b at the beginning.
具体的には、外部信号オフ時間待ち処理は、特定アドレス0008Hを先頭とし、出力ポート2出力処理は、特定アドレス0010Hを先頭とし、加算処理は、特定アドレス0018Hを先頭とし、割込1回待ち処理は、特定アドレス0020Hを先頭とし、割込BC回待ち処理は、特定アドレス0028Hを先頭とし、ポート出力処理は、特定アドレス0030Hを先頭とし、遊技状態判定処理は、特定アドレス0038Hを先頭として、特定アドレス領域に格納されている。 Specifically, the external signal off-time wait processing starts with the specific address 0008H, the output port 2 output process starts with the specific address 0010H, and the addition process starts with the specific address 0018H and waits once for interruption. The process starts with the specific address 0020H, the interrupt BC wait process starts with the specific address 0028H, the port output process starts with the specific address 0030H, and the game state determination process starts with the specific address 0038H. It is stored in a specific address area.
特定アドレス領域において、一の特定アドレスから次の特定アドレスの手前までの領域は、8バイトであり、8バイトを超えるサブルーチンが特定アドレスを先頭として格納される場合には、当該サブルーチンが複数の領域に分割して格納される。本実施例では、特定アドレスに格納されるサブルーチンのうちポート出力処理は、8バイトを超えるデータ量で構成され、当該サブルーチンの初めの8バイト部分は、特定アドレス(0030H)を先頭して次の特定アドレス(0038H)の手前までの領域(0030H〜0037H)に格納される一方で、8バイトを超える部分は、遊技プログラム領域における特定アドレス領域以外の領域(0289Hを先頭とする領域)に格納される。また、ポート出力処理の初めの8バイト部分は、指定するアドレスに移動して、当該アドレスに格納されているプログラムを実行するジャンプ命令を含んでおり、特定アドレスを先頭とする初めの8バイト部分が実行されることで、特定アドレス領域外に格納されている8バイトを超える部分も一体的に実行されるようになっている。尚、ジャンプ命令は、2バイトのアドレスを指定することで、指定されたアドレスに記憶されているプログラムを呼び出して実行する命令である。 In the specific address area, the area from one specific address to the front of the next specific address is 8 bytes, and when a subroutine exceeding 8 bytes is stored with the specific address at the beginning, the subroutine is a plurality of areas. It is divided and stored in. In this embodiment, the port output process of the subroutine stored at the specific address is composed of a data amount exceeding 8 bytes, and the first 8 bytes of the subroutine starts with the specific address (0030H) and is next. While it is stored in the area (0030H to 0037H) before the specific address (0038H), the portion exceeding 8 bytes is stored in the area other than the specific address area (area starting with 0289H) in the game program area. To. In addition, the first 8-byte part of the port output process includes a jump instruction that moves to the specified address and executes the program stored at that address, and the first 8-byte part starting from the specific address. By executing, the part exceeding 8 bytes stored outside the specific address area is also executed integrally. The jump instruction is an instruction to call and execute a program stored in the specified address by designating a 2-byte address.
このように、8バイトを超えるデータ量のサブルーチンを最初の8バイト部分とそれ以降の後段部分とに分割して、最初の8バイト部分を特定アドレスを先頭とする領域に格納し、後段部分を特定アドレス領域外に格納するとともに、最初の8バイト部分に後段部分へ移動するジャンプ命令を備えることで、8バイトを超えるデータ量のサブルーチンであっても、複数の特定アドレスに渡ることなく、特定アドレスを先頭とする領域に格納可能となっている。 In this way, the subroutine with the amount of data exceeding 8 bytes is divided into the first 8-byte part and the subsequent part, and the first 8-byte part is stored in the area starting from the specific address, and the latter part is stored. By storing it outside the specific address area and providing a jump instruction to move to the subsequent part in the first 8-byte part, even a subroutine with a data amount exceeding 8 bytes can be specified without being passed to multiple specific addresses. It can be stored in the area starting with the address.
本実施例では、特定アドレス領域において、8バイト未満のサブルーチンが特定アドレスを先頭として格納される場合には、特定アドレスに格納されるサブルーチンの後から次の特定アドレスの手前までの領域に、他のサブルーチンが格納される。 In this embodiment, when a subroutine of less than 8 bytes is stored starting from a specific address in a specific address area, the area after the subroutine stored in the specific address to before the next specific address is used. Subroutine is stored.
具体的には、外部信号オフ時間待ち処理の後(000DH)から次の特定アドレスの手前(000FH)までの3バイトの領域、すなわち外部信号オフ時間待ち処理と出力ポート2出力処理との間の領域には、3バイトのデータ量で構成される最大投入メダル数セット処理が格納されており、外部信号オフ時間待ち処理が格納される特定アドレスから次の特定アドレスの手前までの領域全てにサブルーチンのデータが格納されるようになっている。 Specifically, a 3-byte area from after the external signal off-time waiting process (000 DH) to before the next specific address (000 FH), that is, between the external signal off-time wait process and the output port 2 output process. In the area, the maximum number of inserted medals set processing composed of 3 bytes of data is stored, and the subroutine is applied to all the areas from the specific address where the external signal off time waiting process is stored to before the next specific address. Data is stored.
また、出力ポート2出力処理の後(0015H)から次の特定アドレスの手前(0017H)までの3バイトの領域、すなわち出力ポート2出力処理から加算処理までの間の領域には、3バイトのデータ量で構成される設定値表示データ取得処理が格納されており、出力ポート2出力処理が格納される特定アドレスから次の特定アドレスの手前までの領域全てにサブルーチンのデータが格納されるようになっている。 Further, in the area of 3 bytes from after the output port 2 output process (0015H) to before the next specific address (0017H), that is, in the area between the output port 2 output process and the addition process, 3 bytes of data The setting value display data acquisition process composed of the amount is stored, and the subroutine data is stored in the entire area from the specific address where the output port 2 output process is stored to before the next specific address. ing.
また、加算処理の後(001BH)から次の特定アドレスの手前(001FH)までの5バイトの領域、すなわち加算処理と割込1回待ち処理との間の領域には、5バイトのデータ量で構成される全リール停止LEDオフ処理が格納されており、加算処理が格納される特定アドレスから次の特定アドレスの手前までの領域全てにサブルーチンのデータが格納されるようになっている。 Further, in the area of 5 bytes from after the addition process (001BH) to before the next specific address (001FH), that is, in the area between the addition process and the interrupt one-time wait process, the amount of data is 5 bytes. The configured all-reel stop LED off process is stored, and the subroutine data is stored in the entire area from the specific address where the addition process is stored to before the next specific address.
また、割込BC回待ち処理の後(002DH)から次の特定アドレスの手前(002FH)までの3バイトの領域、すなわち割込BC回待ち処理とポート出力処理との間の領域には、3バイトのデータ量で構成されるホッパー停止処理が格納されており、割込BC回待ち処理が格納される特定アドレスから次の特定アドレスの手前までの領域全てにサブルーチンのデータが格納されるようになっている。 Further, the area of 3 bytes from after the interrupt BC wait process (002DH) to before the next specific address (002FH), that is, the area between the interrupt BC wait process and the port output process is 3 The hopper stop process consisting of the amount of byte data is stored, and the subroutine data is stored in the entire area from the specific address where the interrupt BC wait process is stored to before the next specific address. It has become.
また、遊技状態判定処理の後(003EH)から特定アドレス領域の終了アドレス(003FH)までの2バイトの領域、すなわち遊技状態判定処理とコマンド格納処理との間の領域には、2バイトのデータ量で構成される遊技カウンタ送信処理が格納されており、遊技状態判定処理が格納される特定アドレスの後から特定アドレス領域の最後までの領域全てにサブルーチンのデータが格納されるようになっている。 Further, the 2-byte area from after the game state determination process (003EH) to the end address (003FH) of the specific address area, that is, the area between the game state determination process and the command storage process, has a 2-byte amount of data. The game counter transmission process composed of is stored, and the data of the subroutine is stored in the entire area from the specific address where the game state determination process is stored to the end of the specific address area.
このように、特定アドレスを先頭とする領域に格納されたサブルーチンと次の特定アドレスの手前までの残りの領域には、当該領域に相当するデータ量のサブルーチンまたはその一部を格納することで、特定アドレスから次の特定アドレスの手前までの領域全てにサブルーチンのデータを格納するようになっている。 In this way, by storing the subroutine or a part of the data amount corresponding to the area in the subroutine stored in the area starting from the specific address and the remaining area before the next specific address, Subroutine data is stored in the entire area from the specific address to the area before the next specific address.
本実施例では、特定アドレスを先頭とする領域に格納されたサブルーチンと次の特定アドレスの手前までの残りの領域に格納されるサブルーチンのうち設定値表示データ取得処理は、当該処理が実行される場合には、加算処理が続けて実行される処理であり、遊技プログラム領域において設定値表示データ取得処理のサブルーチンの後に加算処理のサブルーチンが格納されている。また、ホッパー停止処理は、当該サブルーチンが実行される場合には、ポート処理が続けて実行される処理であり、遊技プログラム領域においてホッパー停止処理のサブルーチンの後にポート処理のサブルーチンが格納されている。また、遊技カウンタ送信処理は、当該サブルーチンが実行される場合には、コマンド格納処理が続けて実行される処理であり、遊技プログラム領域において遊技カウンタ送信処理のサブルーチンの後にコマンド格納処理のサブルーチンが格納されている。 In this embodiment, of the subroutines stored in the area starting from the specific address and the subroutines stored in the remaining area before the next specific address, the setting value display data acquisition process is executed. In this case, the addition process is continuously executed, and the addition process subroutine is stored after the set value display data acquisition process subroutine in the game program area. Further, the hopper stop process is a process in which the port process is continuously executed when the subroutine is executed, and the port process subroutine is stored after the hopper stop process subroutine in the game program area. Further, the game counter transmission process is a process in which the command storage process is continuously executed when the subroutine is executed, and the command storage process subroutine is stored after the game counter transmission process subroutine in the game program area. Has been done.
また、特定アドレスを先頭とする領域に格納されたサブルーチンと次の特定アドレスの手前までの残りの領域に格納されるサブルーチンのうち全リール停止LEDオフ処理は、当該処理が実行される場合には、ポート処理が続けて実行される処理であり、ポート処理が格納されているアドレスを指定して当該アドレスに移動するジャンプ命令を含む。 Further, among the subroutines stored in the area starting from the specific address and the subroutines stored in the remaining area before the next specific address, the all reel stop LED off processing is performed when the processing is executed. , A process in which port processing is continuously executed, and includes a jump instruction for designating an address in which port processing is stored and moving to that address.
尚、本実施例では、特定アドレスを先頭とする領域に格納されたサブルーチンと次の特定アドレスの手前までの残りの領域には、当該残りの領域に一致するデータ量で構成されるサブルーチンのデータを格納することで、一の特定アドレスから次の特定アドレスまでの領域全てにサブルーチンのデータを格納する構成であるが、特定アドレスを先頭とする領域に格納されたサブルーチンと次の特定アドレスの手前までの残りの領域に、当該残りの領域よりも大きなデータ量で構成される所定サブルーチンのデータが格納される構成としても良く、このような構成においては、当該所定サブルーチンを当該残り領域に格納される第1部分と、特定アドレス領域外の遊技プログラム領域の所定アドレスに格納される第2部分と、に分けるとともに、第1部分を当該所定アドレスに移動するジャンプ命令を含めて当該残りの領域に相当するデータ量として当該空き領域に格納し、第2部分を特定アドレス領域外の所定アドレスに格納することで、特定アドレスを先頭とする領域に格納されたサブルーチンに挟まれた領域よりも大きなデータ量のサブルーチンの一部を用いて、特定アドレスから次の特定アドレスの手前までの領域全てにサブルーチンのデータを格納することができる。 In this embodiment, the subroutine stored in the area starting from the specific address and the remaining area before the next specific address are the data of the subroutine composed of the amount of data corresponding to the remaining area. By storing, the subroutine data is stored in the entire area from one specific address to the next specific address, but before the subroutine stored in the area starting from the specific address and the next specific address. In the remaining area up to, the data of the predetermined subroutine composed of a larger amount of data than the remaining area may be stored. In such a configuration, the predetermined subroutine is stored in the remaining area. The first part is divided into a second part stored at a predetermined address of the game program area outside the specific address area, and the first part is divided into the remaining area including a jump command to move to the predetermined address. By storing the corresponding amount of data in the free area and storing the second part at a predetermined address outside the specific address area, the data is larger than the area sandwiched between the subroutines stored in the area starting from the specific address. By using a part of the subroutine of quantity, the data of the subroutine can be stored in the entire area from the specific address to the front of the next specific address.
本実施例のメイン制御部41は、特定アドレスを指定してサブルーチンを呼び出すことが可能な1バイトのRST命令を備えている。RST命令の演算コードは、8ビット(1バイト)で構成され、第1ビット〜3ビット及び第5ビット〜8ビットの各値は、常に“1”に定められている一方で、第3ビット〜第5ビットの各値を予め定められた値に指定することで、予め定められた3ビットの“0”、“1”の組合せに応じた特定アドレスを指定して、指定した特定アドレスを先頭として格納されているサブルーチンを呼び出すことが可能となっている。具体的には、RST命令により指定可能な特定アドレスとして、0000H、0008H、0010H、0018H、0020H、0028H、0030H、0038Hの8つのアドレスが割り当てられており、RST命令の演算コードの第3ビット〜第5ビットを、“000”と指定することで特定アドレス0000Hが指定され、“001”と指定することで特定アドレス0008Hが指定され、“010”と指定することで特定アドレス0010Hが指定され、“011”と指定することで特定アドレス0018Hが指定され、“100”と指定することで特定アドレス0020Hが指定され、“101”と指定することで特定アドレス0028Hが指定され、“110”と指定することで特定アドレス0030Hが指定され、“111”と指定することで特定アドレス0038Hが指定される。そして、指定された特定アドレスを先頭とするサブルーチンが呼び出される。 The main control unit 41 of this embodiment includes a 1-byte RST instruction capable of calling a subroutine by designating a specific address. The operation code of the RST instruction is composed of 8 bits (1 byte), and the values of the 1st bit to the 3rd bit and the 5th bit to the 8th bit are always set to "1", while the 3rd bit. By designating each value of the 5th bit to a predetermined value, a specific address corresponding to the combination of the predetermined 3-bit "0" and "1" is specified, and the specified specific address is designated. It is possible to call the subroutine stored as the beginning. Specifically, eight addresses of 0000H, 0008H, 0010H, 0018H, 0020H, 0028H, 0030H, and 0038H are assigned as specific addresses that can be specified by the RST instruction, and the third bit to the operation code of the RST instruction is assigned. By specifying the 5th bit as "000", the specific address 0000H is specified, by specifying "001", the specific address 0008H is specified, and by specifying "010", the specific address 0010H is specified. By specifying "011", the specific address 0018H is specified, by specifying "100", the specific address 0020H is specified, and by specifying "101", the specific address 0028H is specified, and "110" is specified. By doing so, the specific address 0030H is specified, and by specifying "111", the specific address 0038H is specified. Then, the subroutine starting with the specified specific address is called.
ROM41bにおけるアドレスは、2バイト構成であるのに対して、RST命令にて特定アドレスを指定するパラメータ(オペランド)は、第3ビット〜第5ビットの3ビットである。すなわち、RST命令は、ROM41bにおけるプログラムアドレスよりも少ないデータ量のパラメータを指定することで、所定間隔毎に割り当てられた複数の特定アドレスのうち指定されたパラメータに対応する特定アドレスを指定し、当該指定された特定アドレスに記憶されたサブルーチンを呼び出すことが可能となるため、プログラムの呼出に係るプログラム容量を削減できる。また、RST命令の演算コード全体としても、1バイトで構成されており、2バイト構成のプログラムアドレスよりも少ないデータ量で構成されるため、プログラムアドレスを指定してプログラムを呼び出す他の演算コードよりも少ないデータ量で特定アドレスに記憶されたプログラムを呼び出すことが可能となるため、プログラムの呼出に係るプログラム容量を削減できる。 The address in the ROM 41b has a 2-byte structure, whereas the parameter (operand) for specifying the specific address by the RST instruction is 3 bits of the 3rd bit to the 5th bit. That is, the RST instruction specifies a specific address corresponding to the specified parameter among a plurality of specific addresses assigned at predetermined intervals by specifying a parameter having a data amount smaller than the program address in the ROM 41b. Since the subroutine stored in the specified specific address can be called, the program capacity related to the program call can be reduced. Further, the operation code of the RST instruction as a whole is composed of 1 byte and is composed of a smaller amount of data than the program address of the 2-byte configuration, so that the operation code of the program is called by specifying the program address. Since it is possible to call a program stored at a specific address with a small amount of data, the program capacity for calling the program can be reduced.
このように、本実施例のメイン制御部41のROM41bには、プログラムが格納されている記憶領域を特定可能な2バイトのアドレスが割り当てられており、アドレスが0000H〜003FHの記憶領域には、アドレスの下位1桁が特定値(8Hまたは0H)となる8バイト毎のアドレス(0008H、0010H、0018H、0020H、0028H、0030H、0038H)が特定アドレスとして割り当てられている。また、メイン制御部41は、2バイトのアドレスを指定し、指定したアドレスのプログラムに移動して当該プログラムを実行するジャンプ命令と、アドレスよりも短い3ビットのデータで特定アドレスを指定し、指定した特定アドレスのプログラムを呼び出して当該プログラムを実行することが可能な1バイトのRST命令を備えている。このような構成において、特定アドレス同士の間の領域よりも小さなデータ量、すなわち8バイト未満のプログラムを特定アドレスに格納する場合には、特定アドレスを先頭とする領域に格納されたサブルーチンと次の特定アドレスの手前までの領域に空き領域が生じてしまうことがあり、ROM41bの記憶領域を有効に用いられていなかった。 As described above, the ROM 41b of the main control unit 41 of the present embodiment is assigned a 2-byte address capable of specifying the storage area in which the program is stored, and the storage area having an address of 0000H to 003FH is assigned. Addresses (0008H, 0010H, 0018H, 0020H, 0028H, 0030H, 0038H) in which the lower one digit of the address is a specific value (8H or 0H) are assigned as specific addresses. In addition, the main control unit 41 specifies a 2-byte address, moves to a program at the specified address and executes the program, and specifies and specifies a specific address with 3-bit data shorter than the address. It is equipped with a 1-byte RST instruction that can call a program at a specific address and execute the program. In such a configuration, when a program having a data amount smaller than the area between specific addresses, that is, less than 8 bytes, is stored in the specific address, the subroutine stored in the area starting from the specific address and the next A free area may be generated in the area before the specific address, and the storage area of the ROM 41b has not been effectively used.
これに対して、本実施例では、一の特定アドレスから開始する領域に第1の特定プログラム、例えば、外部信号オフ時間待ち処理のサブルーチンを記憶させ、次の特定アドレスから開始する領域に第2の特定プログラム、例えば、出力ポート2出力処理のサブルーチンを記憶させ、第1の特定プログラムの後から次の特定アドレスの手前までの間の領域、すなわち第1の特定プログラムと第2の特定プログラムの間の空き領域に、当該空き領域に相当するデータ量以下の所定プログラムまたは所定プログラムの一部、例えば、空き領域のデータ量に一致する最大投入メダル数セット処理のサブルーチンを記憶することで、一の特定アドレスから次の特定アドレスの手前までの領域にサブルーチンのデータが格納されることとなり、ROM41bの領域を有効に用いることができる。 On the other hand, in this embodiment, the first specific program, for example, the subroutine of waiting for the external signal off time is stored in the area starting from one specific address, and the second is stored in the area starting from the next specific address. Specific program, for example, the output port 2 output processing subroutine is stored, and the area from after the first specific program to before the next specific address, that is, of the first specific program and the second specific program. By storing a predetermined program or a part of the predetermined program, for example, a subroutine of the maximum number of inserted medals set processing that matches the data amount of the free area, in the free area between them. The data of the subroutine is stored in the area from the specific address of the above to the area before the next specific address, and the area of the ROM 41b can be effectively used.
尚、第1の特定プログラムと第2の特定プログラムとの間の空き領域に格納される所定プログラムは、当該領域の空き領域よりも小さなデータ量のプログラムであっても良いし、当該空き領域に一致するデータ量のプログラムであっても良く、いずれの構成であっても第1の特定プログラムと第2の特定プログラムとの間の空き領域に所定プログラムが格納されることで、ROM41bの領域を有効に用いることができる。 The predetermined program stored in the free area between the first specific program and the second specific program may be a program having a data amount smaller than the free area of the area, or may be stored in the free area. A program having the same amount of data may be used, and in any configuration, the predetermined program is stored in the free area between the first specific program and the second specific program, so that the area of ROM 41b can be occupied. It can be used effectively.
また、本実施例では、第1の特定プログラムと第2の特定プログラムとの間の空き領域に1種類のサブルーチンを格納する構成であるが、第1の特定プログラムと第2の特定プログラムとの間の空き領域に複数種類のサブルーチン、すなわち複数のプログラムを格納する構成であっても良く、このような構成であっても、一の特定アドレスから次の特定アドレスの手前までの領域にサブルーチンのデータが格納されることとなり、ROM41bの領域を有効に用いることができる。 Further, in the present embodiment, one type of subroutine is stored in the free area between the first specific program and the second specific program, but the first specific program and the second specific program are used. Multiple types of subroutines, that is, multiple programs may be stored in the free area between them. Even in such a configuration, the subroutines may be stored in the area from one specific address to the area before the next specific address. The data will be stored, and the area of the ROM 41b can be effectively used.
本実施例では、第1の特定プログラムと第2の特定プログラムの間の空き領域に、所定プログラムとして、当該所定プログラムの後、第2の特定プログラムが続けて実行されるプログラム(例えば、終了後に加算処理を続けて実行する設定値表示データ取得処理のサブルーチン)を記憶させることで、メイン制御部41は、空き領域に記憶された所定プログラム(設定値表示データ取得処理のサブルーチン)に続けて第2の特定プログラム(加算処理のサブルーチン)を実行させるようになっており、CALLV命令により空き領域に記憶された所定プログラムを呼び出すのみで、当該所定プログラムの終了後に第2の特定プログラムが実行されることとなるので、空き領域に記憶されたプログラムにおいてRST命令により第2の特定プログラムを呼び出す必要がなく、第2の特定プログラムを呼び出すためのプログラム容量を削減できる。 In this embodiment, in the free area between the first specific program and the second specific program, as a predetermined program, a program in which the second specific program is continuously executed after the predetermined program (for example, after the end). By storing the set value display data acquisition process subroutine) that continuously executes the addition process, the main control unit 41 performs the first program (set value display data acquisition process subroutine) stored in the free area. The second specific program (subscription of addition processing) is executed, and the second specific program is executed after the predetermined program is completed only by calling the predetermined program stored in the free area by the CALLV instruction. Therefore, it is not necessary to call the second specific program by the RST instruction in the program stored in the free area, and the program capacity for calling the second specific program can be reduced.
また、本実施例では、第1の特定プログラムと第2の特定プログラムの間の空き領域には、当該空き領域以下のデータ量で構成される所定プログラムを格納する構成であるが、第1の特定プログラムと第2の特定プログラムの間の空き領域に、所定プログラムとして当該空き領域よりも大きなデータ量のプログラムの一部と、当該空き領域以外の領域に移動するジャンプ命令と、を含むプログラムを記憶させるとともに、当該プログラムの残りの部分をジャンプ命令で指定する所定の領域に記憶させる構成としても良く、このような構成とすることで、第1の特定プログラムと第2の特定プログラムの間の空き領域よりも大きなデータ量のプログラムの一部を、当該空き領域に格納することができるので、ROM41bの記憶領域を空の状態とすることなく有効に用いることができる。尚、所定プログラムの残りの部分が記憶される領域は、特定アドレス領域であっても良いし、特定アドレス領域外の領域であっても良い。 Further, in the present embodiment, the free area between the first specific program and the second specific program is configured to store a predetermined program having a data amount equal to or less than the free area. In the free area between the specific program and the second specific program, a program including a part of a program having a data amount larger than the free area as a predetermined program and a jump instruction to move to an area other than the free area is provided. In addition to being stored, the remaining part of the program may be stored in a predetermined area specified by a jump instruction. With such a configuration, between the first specific program and the second specific program. Since a part of the program having a data amount larger than the free area can be stored in the free area, the storage area of the ROM 41b can be effectively used without being emptied. The area in which the remaining part of the predetermined program is stored may be a specific address area or an area outside the specific address area.
また、本実施例では、特定アドレスから開始する領域に格納する特定プログラムとして、特定アドレスから次の特定アドレスの手前までの領域よりも大きなデータ量のプログラム(例えば、ポート出力処理のサブルーチン)の一部と、当該領域以外の領域に移動するジャンプ命令と、を含むプログラムを記憶させるとともに、当該プログラムの残りの部分を当該領域以外の領域に記憶させることで、RST命令により特定アドレスから開始する領域に記憶された特定プログラムの一部が実行され、ジャンプ命令により残りの部分が実行されることとなるので、特定アドレスから次の特定アドレスの手前までの領域よりも大きなデータ量のプログラムであっても、RST命令により当該プログラムを指定して実行することができるので、このようなデータ量の大きいプログラムの呼び出しに係るプログラム容量を削減できる。尚、特定プログラムの残りの部分は、特定アドレス領域外の領域に格納される構成であるが、特定アドレス領域内の領域に格納される構成でも良い。 Further, in this embodiment, as a specific program to be stored in the area starting from the specific address, one of the programs (for example, a subroutine of port output processing) having a larger amount of data than the area from the specific address to the area before the next specific address. An area that starts from a specific address by an RST command by storing a program that includes a part and a jump command that moves to an area other than the area, and storing the remaining part of the program in an area other than the area. Since a part of the specific program stored in is executed and the rest is executed by the jump instruction, the program has a larger amount of data than the area from the specific address to the front of the next specific address. However, since the program can be specified and executed by the RST instruction, the program capacity for calling such a program having a large amount of data can be reduced. The remaining part of the specific program is stored in an area outside the specific address area, but may be stored in an area inside the specific address area.
遊技プログラムとは、前述のように遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。 As described above, 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 the 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 as described above, and even if it is called from the game program and returns to the game program without executing the process based on the program, the game is progressed. It is a program for executing possible 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.
遊技専用プログラムは、例えば、BET処理、内部抽選処理、リール回転処理、払出処理、外部出力1処理を含む。BET処理は、1ゲームの制御の終了後、メダルの投入等により賭数を設定し、規定数の賭数が設定された後、スタートスイッチ7が操作されることでゲームを開始させるための処理であり、内部抽選処理は、内部抽選を行い、当選フラグの設定等を行う処理であり、リール回転処理は、リールの回転を開始し、ストップスイッチ8L、8C、8Rが操作されることでリールを停止させるための処理であり、払出処理は、停止したリールの停止位置に応じて入賞が発生したか否かを判定し、メダルの払出、再遊技の設定、遊技状態の移行等を行うための処理であり、外部出力1処理は、外部出力信号のうちメダルIN信号、メダルOUT信号、RB中信号、BB中信号、RT中信号の出力制御を行うための処理である。また、特に図示しないが、遊技プログラムは、前述のATに関連する処理(ATに係る抽選やナビ報知に係る制御等)、前述の内部当選コマンドを送信する処理も含む。 The game-dedicated program includes, for example, a BET process, an internal lottery process, a reel rotation process, a payout process, and an external output 1 process. The BET process is a process for starting the game by operating the start switch 7 after setting the number of bets by inserting medals or the like after the control of one game is completed and setting the specified number of bets. The internal lottery process is a process of performing an internal lottery and setting a winning flag, and the reel rotation process is a process of starting the rotation of the reel and operating the stop switches 8L, 8C, and 8R to operate the reel. This is a process for stopping the game, and the payout process is for determining whether or not a prize has been generated according to the stop position of the stopped reel, and for paying out medals, setting a re-game, shifting the game state, and the like. 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. Further, although not particularly shown, the game program also includes the above-mentioned processing related to AT (control related to lottery related to AT, control related to navigation notification, etc.), and the above-mentioned processing for transmitting the internal winning command.
遊技プログラムにおける共通判定プログラムは、例えば、投入判定処理、払出判定処理を含む。投入判定処理は、投入メダルセンサ31によるメダルの正常な通過であるか否かを判定する処理であり、賭数の設定等のためにメダルの投入が可能な状態において実行される処理である。払出判定処理は、払出センサ34cによるメダルの正常な通過であるか否かを判定する処理であり、小役の入賞時やクレジットの精算時にメダルの払出が許可されている状態において実行される処理である。 The common determination program in the game program includes, for example, input determination processing and payout determination processing. The insertion determination process is a process of determining whether or not the medal has passed normally by the insertion medal sensor 31, and is a process executed in a state where medals can be inserted for setting the number of bets and the like. The payout determination process is a process of determining whether or not the medal has passed normally by the payout sensor 34c, and is a process executed in a state where the medal payout is permitted at the time of winning a small winning combination or at the time of credit settlement. Is.
遊技プログラムにおける共通汎用プログラムは、遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、LED表示処理、データ設定処理、コマンド設定処理を含む。カウンタ更新処理は、指定されたカウンタ値を更新するための処理であり、ポート入力処理は、指定されたポートの入力状態を取得する処理であり、データ変換処理は、遊技データを用いて入力されたデータを変換して出力する処理であり、LED表示処理は、指定された値をLEDに表示させるために設定する処理であり、データ設定処理は、指定されたデータを設定する処理であり、コマンド設定処理は、指定されたコマンドをコマンドキューに設定する処理である。また、上述した初期設定処理、外部信号オフ時間待ち処理、最大投入メダル数セット処理、出力ポート2出力処理、設定値表示データ取得処理、加算処理、全リール停止LEDオフ処理、割込1回待ち処理、割込BC回待ち処理、ホッパー停止処理、ポート出力処理、遊技状態判定処理、遊技カウンタ送信処理、コマンド格納処理も共通汎用プログラムに含まれる。 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, counter update process, port input process, data conversion process, LED display process, data setting process, etc. Includes command setting processing. The counter update process is a process for updating the specified counter value, the port input process is a process for acquiring the input state of the specified port, and the data conversion process is input using game data. It is a process of converting and outputting the data, the LED display process is a process of setting to display the specified value on the LED, and the data setting process is a process of setting the specified data. The command setting process is a process of setting a specified command in the command queue. In addition, the above-mentioned initial setting processing, external signal off time waiting processing, maximum number of inserted medals set processing, output port 2 output processing, set value display data acquisition processing, addition processing, all reel stop LED off processing, interrupt once waiting The common general-purpose program also includes processing, interrupt BC waiting processing, hopper stop processing, port output processing, game state determination processing, game counter transmission processing, and command storage processing.
非遊技プログラムは、図8に示すように、非遊技プログラムだけに含まれる非遊技専用プログラムと、遊技プログラムと同じ共通判定プログラム及び共通汎用プログラムと、を含む。 As shown in FIG. 8, the non-game program includes a non-game dedicated program included only in the non-game program, and the same common determination program and common general-purpose program as the game program.
非遊技専用プログラムは、例えば、試験信号出力処理、異物検知処理、ドア監視処理、外部出力2処理、投入メダルエラー判定処理、払出メダルエラー判定処理、乱数異常確認処理、RAM異常確認処理、バックアップ異常確認処理、レジスタ初期化処理、設定値異常確認処理、エラー処理を含む。試験信号出力処理は、遊技の結果に関連して発生する試験信号を出力するための処理であり、異物検知処理は、投入口センサ26によるメダル通路内の異物を検知するための処理であり、ドア監視処理は、前面扉1bの開放を検知するための処理であり、外部出力2処理は、外部出力信号のうちセキュリティ信号(ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号)の出力制御を行うための処理であり、投入メダルエラー判定処理は、投入メダルセンサ31の検出状況に基づいて投入メダルの逆流検知、メダルセレクタ29内のメダル詰り検知、メダルセレクタ29内の異物検知を行うための処理であり、払出メダルエラー判定処理は、払出センサ34cの検出状況に基づいて払出メダルの逆流検知、払出口付近のメダル詰り検知、払出口付近の異物検知を行うための処理であり、乱数異常確認処理は、乱数回路が正常に動作しているかを確認する処理であり、RAM異常確認処理及びバックアップ異常確認処理は、RAM41cに格納されているデータに異常があるかを確認する処理であり、レジスタ初期化処理は、メイン制御部41の各種レジスタを初期化する処理であり、設定値異常確認処理は、設定値が正常な範囲の値であるか否かを判定するための処理であり、エラー処理は、各種の異常(メダルの投入異常、メダルセレクタ29内の異物検知、リール回転異常、メダルの払出異常、払出口付近の異物検知、RAM異常、設定値異常、ホッパータンク34aの空、オーバーフロータンク35の満タン検知等)が検知された場合に遊技を不能化するための処理である。 The non-game dedicated program is, for example, test signal output processing, foreign matter detection processing, door monitoring processing, external output 2 processing, input medal error judgment processing, payout medal error judgment processing, random number abnormality confirmation processing, RAM abnormality confirmation processing, backup abnormality. Includes confirmation processing, register initialization processing, setting value abnormality confirmation processing, and error processing. The test signal output process is a process for outputting a test signal generated in connection 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 security signal (door opening signal, setting change signal, closing error signal, payout error signal) among the external output signals. It is a process for performing output control, and the inserted medal error determination process detects backflow of inserted medals, detection of medal clogging in the medal selector 29, and detection of foreign matter in the medal selector 29 based on the detection status of the inserted medal sensor 31. The payout medal error determination process is a process for detecting backflow of payout medals, medal clogging detection near the payout exit, and foreign matter detection near the payout exit based on the detection status of the payout sensor 34c. The random number abnormality confirmation process is a process for confirming whether the random number circuit is operating normally, and the RAM abnormality confirmation process and the backup abnormality confirmation process are processes for confirming whether the data stored in the RAM 41c is abnormal. The register initialization process is a process for initializing various registers of the main control unit 41, and the set value abnormality confirmation process is a process for determining whether or not the set value is within a normal range. The error processing includes various abnormalities (medal insertion abnormality, foreign matter detection in the medal selector 29, reel rotation abnormality, medal payout abnormality, foreign matter detection near the payout outlet, RAM abnormality, set value abnormality, hopper tank 34a. This is a process for disabling the game when an empty, full tank detection of the overflow tank 35, etc. is detected.
非遊技プログラムにおける共通汎用プログラムは、非遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、遊技プログラムにおける共通汎用プログラムと同様に、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、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, counter update process, port input process, and so on. Includes data conversion processing, LED display processing, data setting processing, and command setting processing.
特に、非遊技プログラムは、上述のように異常が検知された場合に、異常の種別に応じた解除条件(乱数異常、RAM異常、バックアップ異常、設定値異常の場合は、設定値の再設定、それ以外の異常の場合はリセット操作)が成立するまで遊技の進行を不能化するエラー処理を含む。 In particular, in the non-game program, when an abnormality is detected as described above, the release condition according to the type of abnormality (random number abnormality, RAM abnormality, backup abnormality, setting value abnormality, resetting the setting value, In the case of other abnormalities, it includes error processing that disables the progress of the game until the reset operation) is established.
また、非遊技プログラムは、遊技の進行に係わらない検知手段(投入口センサ26、満タンセンサ35a、ドア開放検出スイッチ25)の検出状況に基づいて所定の検出状況か否かを判定する処理を含む。 In addition, the non-game program includes a process of determining whether or not the detection status is a predetermined status based on the detection status of the detection means (input port sensor 26, full tank sensor 35a, door open detection switch 25) not related to the progress of the game. ..
また、非遊技プログラムは、複数の制御状態(BET処理、内部抽選処理、リール回転処理、払出処理)のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段(例えば、投入メダルセンサ31、払出センサ34c)が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理(例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理)を含む。尚、このような判定処理は、遊技プログラムにおいて遊技の進行に係わる制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理と同じ処理であるため、共通判定プログラムに該当する。 In addition, the non-game program functions as a detection means related to the progress of the game in a specific control state among a plurality of control states (BET process, internal lottery process, reel rotation process, payout process), and other control states. In the above, is the detection means (for example, the insertion medal sensor 31 and the payout sensor 34c) that functions as the detection means that is not related to the progress of the game a predetermined detection status based on the detection status in the control state that is not related to the progress of the game? It includes a process of determining whether or not a medal is inserted (for example, a process of detecting a inserted medal or a process of detecting a payout medal for detecting an abnormality caused by detecting the insertion of a medal during reel rotation or the withdrawal of a medal). It should be noted that such a determination process corresponds to a common determination program because it is the same process as the process of determining whether or not the detection status is a predetermined detection status based on the detection status in the control state related to the progress of the game in the game program. ..
尚、遊技プログラムに含まれる処理のうち、外部出力1処理、BET処理においてメダルの投入数を計数する処理、流路切替ソレノイド30を切り替える処理、払出処理においてメダルの払出数を計数する処理、ホッパータンク34aが空になったことを検知する処理、ソフトウェア乱数を更新する処理、ATに関連する処理、内部当選コマンドの送信処理等、ゲームの進行に直接的には関連しないものであればこれらの処理の全部または一部が非遊技プログラムに含まれる構成であっても良い。一方で、非遊技プログラムに含まれる処理のうち起動処理、設定値異常確認処理等、遊技の進行に間接的に関連するものであればこれらの処理の全部または一部が遊技プログラムに含まれる構成であっても良い。 Among the processes included in the game program, the external output 1 process, the process of counting the number of medals inserted in the BET process, the process of switching the flow path switching solenoid 30, the process of counting the number of medals paid out in the payout process, and the hopper. If the process is not directly related to the progress of the game, such as the process of detecting that the tank 34a is empty, the process of updating the software random number, the process related to AT, the process of sending the internal winning command, etc. The configuration may include all or part of the processing in the non-game program. On the other hand, among the processes included in the non-game program, if the processes are indirectly related to the progress of the game, such as the activation process and the setting value abnormality confirmation process, all or part of these processes are included in the game program. It may be.
本実施例においてメイン制御部41のCPU41aは、図9に示すように、遊技プログラムに基づく処理において非遊技プログラムを呼び出して非遊技プログラムに基づく処理を実行し、非遊技プログラムに基づく処理の終了後、遊技プログラムに基づく処理に復帰する。 In this 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 to execute the process based on the non-game program, and after the process based on the non-game program is completed. , Return to the process based on the game program.
CPU41aは、図10に示すように、遊技プログラムに基づく処理から非遊技プログラムを呼び出した場合に、非遊技プログラムの最初に、CPU41aが演算に用いる演算用のレジスタ(A、F、BC、DE、HLレジスタ、以下では、演算用のレジスタを単にレジスタと称す)の値を全てスタック領域に退避し、遊技プログラムが使用していたデータを保護する。そして、非遊技プログラムに基づく処理が全て終了した後、スタック領域に退避していた値をレジスタに復帰し、その後、遊技プログラムに基づく処理に復帰するようになっている。 As shown in FIG. 10, when the non-game program is called from the processing based on the game program, the CPU 41a first of the non-game program, the arithmetic registers (A, F, BC, DE,) used by the CPU 41a for the calculation. All the values of the HL register, hereinafter, the register for calculation is simply referred to as a register) are saved in the stack area, and the data used by the game program is protected. Then, after all the processing based on the non-game program is completed, the value saved in the stack area is returned to the register, and then the processing based on the game program is returned.
尚、本実施例では、遊技プログラムが使用していたレジスタの値をスタック領域に退避することで保護する構成であるが、表レジスタと裏レジスタの値を変更することで遊技プログラムが使用していたレジスタの値を保護する構成としても良い。 In this embodiment, the register values used by the game program are protected by saving them in the stack area, but the game program uses them by changing the values of the front register and the back register. It may be configured to protect the value of the register.
また、本実施例では、遊技プログラムに基づく処理から非遊技プログラムを呼び出した場合に、非遊技プログラムの最初に、遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムの最後に、保護されているレジスタの値を復帰させる構成であるが、遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成、遊技プログラムに基づく処理から非遊技プログラムを呼び出した場合に、非遊技プログラムの最初に、遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成、遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムの最後に、保護されているレジスタの値を復帰させる構成としても良い。 Further, in this embodiment, when the non-game program is called from the process based on the game program, the value of the register used by the game program is protected at the beginning of the non-game program, and at the end of the non-game program, The configuration is to restore the protected register value, but the register value used by the game program immediately before calling the non-game program from the process based on the game program is protected, and all the processes based on the non-game program are performed. After the end, when the non-game program is called from the processing based on the game program, the configuration that restores the value of the protected register at the first stage of returning to the game program, the game program is at the beginning of the non-game program. From the configuration based on the game program, the configuration that protects the value of the register used and restores the value of the protected register at the first stage of returning to the game program after all the processing based on the non-game program is completed. The value of the register used by the game program immediately before calling the non-game program may be protected, and the value of the protected register may be restored at the end of the non-game program.
図9に示すように、CPU41aは、原則として遊技プログラムに基づく処理を実行するにあたり、遊技データ領域の遊技データを参照して遊技プログラムに基づく処理を実行するとともに、遊技RAM領域をワークとして使用し、遊技RAM領域の内容を参照及び更新することが可能である。また、CPU41aは、原則として非遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域の遊技データを参照して非遊技プログラムに基づく処理を実行するとともに、非遊技RAM領域をワークとして使用し、非遊技RAM領域の内容を参照及び更新することが可能である。 As shown in FIG. 9, in principle, when executing the process based on the game program, the CPU 41a executes the process 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. , It is possible to refer to and update the contents of the game RAM area. Further, in principle, when executing the process based on the non-game program, the CPU 41a executes the process based on the non-game program with reference to the game data in the non-game data area, and uses the non-game RAM area as a work. It is possible to refer to and update the contents of the non-gaming RAM area.
また、CPU41aは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技RAM領域を更新することはないが、非遊技RAM領域を参照することは可能であり、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することはなく、遊技RAM領域を更新することはないが、遊技RAM領域を参照することは可能である。 Further, the CPU 41a does not refer to the non-game data area and does not update the non-game RAM area when executing the process based on the game program, but it is possible to refer to the non-game RAM area. , In executing the process based on the non-game program, the game data area is not referred to and the game RAM area is not updated, but the game RAM area can be referred to.
また、遊技プログラムに基づく処理は、非遊技RAM領域のうち遊技プログラムに必要な特定の領域(例えば、異常の検知を示すエラーフラグの設定領域等)のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技RAM領域のうち非遊技プログラムに必要な特定の領域(例えば、内部当選フラグの設定領域、遊技状態の設定領域、RTの設定領域等)のみ参照可能とされている。また、非遊技RAM領域のうち遊技プログラムに基づく処理が参照可能な特定の領域、遊技RAM領域のうち非遊技プログラムに基づく処理が参照可能な特定の領域は、連続するアドレス領域に割り当てられることが好ましいが、一部または全部が連続しないアドレス領域に割り当てられる構成であっても良い。 Further, the processing based on the game program can refer only to a specific area (for example, an error flag setting area indicating abnormality detection) required for the game program in the non-game RAM area, and can be referred to the non-game program. The processing based on the game RAM area can be referred to only a specific area required for the non-game program (for example, an internal winning flag setting area, a game state setting area, an RT setting area, etc.). 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 allocated to continuous address areas. Although it is preferable, the configuration may be such that a part or all of the address area is not contiguous.
ただし、起動処理におけるRAM異常確認、バックアップ異常確認、RAM41cの初期化、後述する電断処理は、非遊技プログラムに含まれるが、これらの処理は例外として、RAM41cの全領域へのアクセスが可能とされている。 However, RAM abnormality confirmation, backup abnormality confirmation, RAM 41c initialization, and power interruption processing described later in the startup processing are included in the non-game program, except for these processing, that the entire area of the RAM 41c can be accessed. Has been done.
このように本実施例では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが参照する遊技データが読み出し可能に記憶される遊技データ領域と、遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される遊技RAM領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが参照する非遊技データが読み出し可能に記憶される非遊技データ領域と、非遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される非遊技RAM領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技データ及び遊技プログラムのワークデータと、非遊技プログラム、非遊技データ及び非遊技プログラムのワークデータと、を記憶領域の違いに応じて容易に特定することができる。 As described above, in this embodiment, the game program area in which the game program related to the progress of the game is stored, the game data area in which the game data referred to by the game program is readable, and the work data referred to by the game program are stored. A game RAM area that is readable and writable, a non-game program area that is a program called by the game program and stores non-game programs that are not related to the progress of the game, and a non-game that the non-game program refers to. Since the non-game data area in which the data is readable and stored and the non-game RAM area in which the work data referred to by the non-game program is readable and writable are allocated separately, the game program, The game data and the work data of the game program and the non-game program, the non-game data, and the work data of the non-game program can be easily specified according to the difference in the storage area.
また、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データ領域と、を分けることで、それぞれの機能に応じてROM41bに占める領域をコンパクトに管理することができるため、各領域において該当するデータを特定することがさらに容易となる。 Further, by separating the game program area and the game data area and the non-game program area and the non-game data area, the area occupied by the ROM 41b can be compactly managed according to each function. It will be easier to identify the relevant data.
また、本実施例では、遊技プログラムを実行する際に、非遊技RAM領域を参照することが可能であり、非遊技プログラムを実行する際に、遊技RAM領域を参照することが可能であるため、遊技プログラムを実行するにあたり、非遊技プログラムが使用していたデータを簡単に利用することができ、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、遊技プログラムを実行する際に、非遊技RAM領域を更新することは不可能であり、非遊技プログラムを実行する際に、遊技RAM領域を更新することは不可能であるため、遊技プログラムが非遊技プログラムの処理に影響を及ぼすことなく、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。 Further, in the present embodiment, the non-game RAM area can be referred to when the game program is executed, and the game RAM area can be referred to when the non-game program is executed. The data used by the non-game program can be easily used when executing the game program, and the data used by the game program can be easily used when executing the non-game program. On the other hand, it is impossible to update the non-game RAM area when executing the game program, and it is impossible to update the game RAM area when executing the non-game program. 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 (for example, an error flag setting area indicating abnormality detection) required for the game program in the non-game RAM area. , The processing based on the non-game program can refer only to a specific area (for example, an internal winning flag setting area, a game state setting area, an RT setting area, etc.) necessary for the non-game program in the game RAM area. Therefore, since the data that the game program can refer to in the non-game RAM area and the data that the non-game program can refer to 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.
また、本実施例では、非遊技プログラムが、異常が検知された場合に、異常の種別に応じて解除条件が成立するまで遊技の進行を不能化するエラー処理を含むため、非遊技プログラムにおける処理で異常等が検知されたときにそのまま遊技が進行してしまうことを防止できる。 Further, in the present embodiment, when an abnormality is detected, the non-game program includes an error process that disables the progress of the game until the cancellation condition is satisfied according to the type of the abnormality. Therefore, the process in the non-game program. It is possible to prevent the game from proceeding as it is when an abnormality or the like is detected.
また、本実施例では、非遊技プログラムが、遊技プログラムに含まれる共通判定プログラム(例えば、投入判定処理、払出判定処理)と同じ内容の共通判定プログラムを含むため、遊技プログラム及び非遊技プログラムが互いの結果に影響を及ぼさずに同様の判定を行うことができる。 Further, in the present embodiment, since the non-game program includes a common judgment program having the same contents as the common judgment program (for example, input judgment processing, payout judgment processing) included in the game program, the game program and the non-game program are mutually exclusive. The same judgment can be made without affecting the result of.
また、本実施例では、非遊技プログラムが、非遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、遊技プログラムに含まれる共通汎用プログラムと同様の共通汎用プログラムを含むため、処理内容が同じ共通汎用プログラムであっても遊技プログラムと非遊技プログラムとでそれぞれ備えるため、処理内容が同じ共通汎用プログラムであっても遊技プログラムに含まれるものか非遊技プログラムに含まれるものかを容易に特定することができる。 Further, in the present embodiment, the non-game program is a process called and executed from a plurality of types of processes constituting the non-game program, and includes a common general-purpose program similar to the common general-purpose program included in the game program. , Even if the common general-purpose program has the same processing content, the game program and the non-game program are provided with each other. Therefore, even if the processing content is the same common general-purpose program, is it included in the game program or the non-game program? Can be easily identified.
また、本実施例では、非遊技プログラムが、遊技の進行に係わらない検知手段(投入口センサ26、満タンセンサ35a、ドア開放検出スイッチ25)の検出状況に基づいて所定の検出状況か否かを判定する処理を含むため、遊技の進行に係わらない検知手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで遊技プログラムが複雑となってしまうことがない。 Further, in the present embodiment, whether or not the non-game program has a predetermined detection status based on the detection status of the detection means (input port sensor 26, full tank sensor 35a, door open detection switch 25) not related to the progress of the game. Since the determination process is included, the game program is not complicated because the determination as to whether or not the predetermined detection is performed by the detection means not related to the progress of the game is performed by the non-game program.
また、本実施例では、非遊技プログラムが、複数の制御状態(BET処理、内部抽選処理、リール回転処理、払出処理)のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段(例えば、投入メダルセンサ31、払出センサ34c)が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理(例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理)を含むため、上記のような検出手段の検出結果が遊技の進行に用いられない状況では、当該検出手段により所定の検出がされたか否かの判定は非遊技プログラムにより行われることで、当該検出手段の検出結果が遊技の進行に用いられない状況においても検出手段の検出結果を利用できるうえに、遊技プログラムが必要以上に複雑となってしまうことがない。 Further, in the present embodiment, the non-game program functions as a detection means related to the progress of the game in a specific control state among a plurality of control states (BET process, internal lottery process, reel rotation process, payout process). In other control states, the detection means (for example, the insertion medal sensor 31 and the payout sensor 34c) that functions as the detection means that is not related to the progress of the game is based on the detection status in the control state that is not related to the progress of the game. Processing for determining whether or not the detection status is predetermined (for example, detection processing for inserted medals and detection processing for paid medals for detecting an abnormality caused by detection of insertion of medals during reel rotation or withdrawal of medals) Therefore, in a situation where the detection result of the detection means as described above is not used for the progress of the game, the detection means is determined by the non-game program whether or not the predetermined detection is performed by the detection means. The detection result of the detection means can be used even in a situation where the detection result of is not used for the progress of the game, and the game program is not complicated more than necessary.
また、本実施例では、遊技プログラムが非遊技プログラムを呼び出して非遊技プログラムを実行する際に、遊技プログラムが実際に使用していたレジスタであるか否かに関わらずレジスタの全ての領域を保護する処理が行われるため、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができる。 Further, in this embodiment, when the game program calls the non-game program and executes the non-game program, the entire area of the register is protected regardless of whether or not the register is actually used by the game program. Therefore, when returning to the game program, it is possible to reliably return from the state at the time when the non-game program was called.
また、本実施例では、遊技プログラムに基づく処理から非遊技プログラムを呼び出した場合に、非遊技プログラムの最初に、遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムの最後に、保護されているレジスタの値を復帰させるようになっているため、遊技プログラムの容量を削減することができる。 Further, in the present embodiment, when the non-game program is called from the process based on the game program, the value of the register used by the game program is protected at the beginning of the non-game program, and at the end of the non-game program, Since the value of the protected register is restored, the capacity of the game program can be reduced.
尚、遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成としても良く、このような構成とすることで、非遊技プログラムの呼び出し前にレジスタの保護処理が行われ、非遊技プログラムからの復帰後にレジスタの復旧処理が行われるため、非遊技プログラムによってレジスタに記憶されたデータが遊技プログラムに影響を及ぼすことがない。 It should be noted that 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 is protected, and after all the processes based on the non-game program are completed, at the first stage of returning to the game program. The protected register value may be restored. With such a configuration, the register protection process is performed before calling the non-game program, and the register recovery process is performed after the return from the non-game program. The data stored in the register by the non-game program does not affect the game program.
次に、本実施例におけるメイン制御部41が実行する各種制御内容を、図11〜図23に基づいて以下に説明する。 Next, various control contents executed by the main control unit 41 in this embodiment will be described below with reference to FIGS. 11 to 23.
メイン制御部41は、リセットの発生により起動すると、起動時設定を行う。起動時設定では、メイン制御部41が備えるステータスフラグを初期化する。ステータスフラグは、命令の演算結果や実行結果の状態を保持するデータであり、特に割込の禁止/許可を設定する割込マスタ許可フラグを含む。割込マスタ許可フラグの初期値は割込の禁止を示す値であるため、メイン制御部41は、割込が禁止された状態で起動することとなる。 When the main control unit 41 is activated due to the occurrence of a reset, the main control unit 41 sets at startup. In the startup setting, 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 and the execution result of the instruction, and particularly includes the interrupt master permission flag that sets the prohibition / permission of interrupt. Since the initial value of the interrupt master permission flag is a value indicating the prohibition of interrupts, the main control unit 41 is started in a state where interrupts are prohibited.
その後、メイン制御部41は、HWパラメータを参照して各種機能を設定した後、プログラム/データ領域に格納されたプログラムに従って、図11のフローチャートに示す初期設定処理を行う。初期設定処理では、まず、割込マスタ許可フラグの値を割込禁止を示す値に設定することで割込を禁止する(Sa1)。前述のようにメイン制御部41は、割込禁止の状態で起動することとなるが、Sa1では、再度、割込を禁止する。次いで、初期化データをセットし(Sa2)、パラレル出力ポート513を含む各出力ポートを初期化する(Sa3)。次いで、内蔵レジスタの設定を行う(Sa4)。 After that, the main control unit 41 sets various functions with reference to the HW parameters, and then performs the initial setting process shown in the flowchart of FIG. 11 according to the program stored in the program / data area. In the initial setting process, first, interrupting is prohibited by setting the value of the interrupt master permission flag to a value indicating interrupt prohibition (Sa1). As described above, the main control unit 41 is activated in the interrupt-prohibited state, but in Sa1, interrupts are prohibited again. Next, initialization data is set (Sa2), and each output port including the parallel output port 513 is initialized (Sa3). Next, the built-in 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 it becomes normal. If the power supply voltage is normal, the upper address of the interrupt vector is set (Sa6). Then, the access to the RAM 41c is permitted (Sa7), and the stack pointer is initialized (Sa8).
次いで、RAM41cの遊技RAM領域の全ての領域(未使用領域3を含む)のRAMパリティ(以下、RAMパリティ1と称す)及び非遊技RAM領域の全ての領域(未使用領域4を含む)のRAMパリティ(以下、RAMパリティ2と称す)、スタック領域(未使用スタック領域及び使用中スタック領域)のRAMパリティ(以下、RAMパリティ3と称す)を計算する(Sa9)。そして、計算したRAMパリティ1〜3が0か否かを判定する(Sa10)。後述のように前回の電源遮断時に正常に電断処理(メイン)が行われていれば、RAMパリティ1〜3がいずれも0になるはずであるので、Sd10のステップにおいてRAMパリティ1〜3のいずれか1つでも0でなければ、RAM41cに格納されているデータが正常ではなく、この場合にはSa14のステップに進み、破壊診断用データをクリアする(Sa14)。一方、RAMパリティ1〜3がいずれも0になる場合には、更に遊技RAM領域に格納されている破壊診断用データ1、非遊技RAM領域に格納されている破壊診断用データ2、スタック領域に格納されている破壊診断用データ3を取得し(Sa11)、取得した破壊診断用データ1〜3が正しいか否かを判定し(Sa12)、破壊診断用データ1〜3をクリアする(Sa13)。 Next, the RAM parity (hereinafter referred to as RAM parity 1) of all areas (including unused area 3) of the game RAM area of the RAM 41c and the RAM of all areas (including unused area 4) of the non-game RAM area. The parity (hereinafter referred to as RAM parity 2) and the RAM parity (hereinafter referred to as RAM parity 3) of the stack area (unused stack area and used stack area) are calculated (Sa9). Then, it is determined whether or not the calculated RAM parity 1 to 3 is 0 (Sa10). As will be described later, if the power interruption process (main) is normally performed when the power is cut off last time, the RAM parity 1 to 3 should be 0, so that the RAM parity 1 to 3 is set in the step of Sd10. If any one of them is not 0, the data stored in the RAM 41c is not normal. In this case, the process proceeds to the step of Sa14 and the destruction diagnosis data is cleared (Sa14). On the other hand, when the RAM parity 1 to 3 are all 0, the destruction diagnosis data 1 stored in the game RAM area, the destruction diagnosis data 2 stored in the non-game RAM area, and the stack area The stored destruction diagnosis data 3 is acquired (Sa11), it is determined whether or not the acquired destruction diagnosis data 1 to 3 are correct (Sa12), and the destruction diagnosis data 1 to 3 are 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 in the ON state (Sa14). When the setting key switch 37 is in the ON state, the timer interrupt is set (Sa19). Specifically, the register of the timer circuit 509 built in the main control unit 41 is set so that the timer interrupt is executed periodically at predetermined time intervals. In this embodiment, the value corresponding to about 0.56 ms is set in a predetermined register (time constant register), so that the timer interrupt is periodically generated every about 0.56 ms. Further, in the timer circuit 509, the timer is initialized by setting the register, and the time counting is started from the initial value. When the timer interrupt setting in the step of Sa19 is completed, the process shifts to the setting change process.
一方、設定キースイッチ37がOFF状態の場合には、RAM41cの記憶内容が破壊されているか否かを判定する(Sa15)。Sa15のステップでは、後述するRAM異常フラグが設定されているか否か、Sa10、Sa12の判定に基づきRAM41cの記憶内容が破壊されているか否かを判定する。RAM41cの記憶内容が破壊されていない場合には、復帰コマンドをサブ制御部91に送信する(Sa16)。尚、RAM41cの記憶内容が破壊されていない場合とは、RAM異常フラグがセットされておらず、かつSa10のステップにおいてRAMパリティ1〜3がいずれも0であると判定され、さらにSa12のステップにおいて破壊診断用データ1〜3がいずれも正しいと判定された場合である。 On the other hand, when the setting key switch 37 is in the OFF state, it is determined whether or not the stored contents of the RAM 41c are destroyed (Sa15). In the step of Sa15, it is determined whether or not the RAM abnormality flag described later is set, and whether or not the stored contents of the RAM 41c are destroyed based on the determinations of Sa10 and Sa12. If the stored contents of the RAM 41c are not destroyed, a return command is transmitted to the sub-control unit 91 (Sa16). When the stored contents of the RAM 41c are not destroyed, it is determined that the RAM abnormality flag is not set and the RAM parity 1 to 3 are all 0 in the step of Sa10, and further in the step of Sa12. This is a case where all of the destruction diagnosis data 1 to 3 are determined to be correct.
Sa16のステップの後、全てのレジスタを復帰させ(Sa17)、Sa19のステップと同様のタイマ割込の設定を行う(Sa18)。そして、後述のタイマ割込処理(メイン)のSd24の処理に移行する。これにより電断前に実行していた処理に復帰することとなる。 After the step of Sa16, all the registers are restored (Sa17), and the timer interrupt is set in the same manner as in the step of Sa19 (Sa18). Then, the process shifts to the Sd24 process of the timer interrupt process (main) described later. As a result, the process that was executed before the power failure is restored.
また、Sa15のステップにおいてRAM41cの記憶内容が破壊されている場合には、RAMの開始アドレス(0000H)をレジスタにセットし(Sa20)、指定したアドレスから使用可能領域の最終アドレス(0FFFH)までの領域、すなわち使用可能領域の全ての領域を初期化する(Sa21)。 If the stored contents of the RAM 41c are destroyed in the step of Sa15, the start address (0000H) of the RAM is set in the register (Sa20), and the specified address is reached to the final address of the usable area (0FFFH). Initialize the region, that is, all regions of the usable region (Sa21).
次いで、RAM41cの記憶内容が正常でないことを示すRAM異常フラグをRAM41cにセットし(Sa22)、エラー処理に移行する。エラー処理では、遊技の進行が不能化される。また、RAM異常フラグが設定されて移行したエラー状態では、設定キースイッチ37をON状態にして電源スイッチ39をONにすることによって、設定変更処理に移行させることにより解除することができる。一方、設定キースイッチ37をON状態にせずに電源スイッチ39をONにした場合には、RAM異常フラグが設定されたままであり、再びエラー状態となる。 Next, the RAM error flag indicating that the stored contents of the RAM 41c are not normal is set in the RAM 41c (Sa22), and the process proceeds to error processing. In error handling, the progress of the game is disabled. Further, in the error state in which the RAM abnormality flag is set and the transition is made, the setting key switch 37 is turned on and the power switch 39 is turned on, so that the error state can be canceled by shifting to the setting change processing. On the other hand, when the power switch 39 is turned on without turning on the setting key switch 37, the RAM error flag is still set and an error state occurs again.
次に、メイン制御部41が実行する設定変更処理について説明する。 Next, the setting change process executed by the main control unit 41 will be described.
図12に示すように、メイン制御部41は、まず、RAMの開始アドレス(0000H)をレジスタにセットする(Sb1)。次いで、図11に示すSa15のステップと同様にRAM41cの記憶内容が破壊されているか否かを判定する(Sb2)。RAMの内容が破壊されていない場合、すなわちRAM内容が異常でない場合には、設定変更開始時の初期化対象RAMの先頭アドレスをレジスタにセットする(Sb3)。すなわちSb1で設定したアドレスを変更する。RAMの内容が破壊されている場合、すなわちRAM内容が異常である場合には、Sb4のステップに進む。 As shown in FIG. 12, the main control unit 41 first sets the start address (0000H) of the RAM in the register (Sb1). Next, it is determined whether or not the stored contents of the RAM 41c are destroyed in the same manner as in the step of Sa15 shown in FIG. 11 (Sb2). If the contents of the RAM are not destroyed, that is, if the contents of the RAM are not abnormal, the start address of the RAM to be initialized at the start of setting change is set in the register (Sb3). That is, the address set in Sb1 is changed. If the contents of the RAM are destroyed, that is, if the contents of the RAM are abnormal, the process proceeds to step Sb4.
次いで、Sb1またはSb3のステップで指定したアドレスから使用可能領域の最終アドレスまでの領域を初期化する(Sb4)。Sb1のステップでは、RAMの開始アドレスがセットされるため、この場合にはSb4のステップにおいて、使用可能領域全ての領域が初期化されることとなる。一方、Sb3のステップでは、設定変更開始時の初期化対象RAMの先頭アドレスがセットされるため、この場合にはSb4のステップにおいて、使用可能領域のうち重要ワーク及び特別ワーク以外の領域が初期化されることとなる。 Next, the area from the address specified in the step of Sb1 or Sb3 to the final address of the usable area is initialized (Sb4). Since the start address of the RAM is set in the step of Sb1, in this case, all the usable areas are initialized in the step of Sb4. On the other hand, in the step of Sb3, the start address of the RAM to be initialized at the start of setting change is set. Therefore, in this case, in the step of Sb4, the areas other than the important work and the special work are initialized. Will be done.
次いで、設定変更状態の開始を示す設定コマンドをサブ制御部91に送信し(Sb5)、割込を許可する(Sb6)。 Next, a setting command indicating the start of the setting change state is transmitted to the sub control unit 91 (Sb5) to allow interruption (Sb6).
次いで、リセット/設定スイッチ38がOFFからONに変化したか否かを判定する(Sb7)。リセット/設定スイッチ38がOFFからONに変化した場合にはレジスタの設定値を更新(1〜5の場合は1加算し、6の場合は1に更新)する(Sb8)。リセット/設定スイッチ38が変化しなかった場合には、スタートスイッチ7がOFFからONに変化したか否かを判定する(Sb9)。スタートスイッチ7が変化しなかった場合には、Sb7のステップに戻る。一方、スタートスイッチ7がOFFからONに変化した場合には設定キースイッチ37がOFF状態か否かを判定する(Sb10)。設定キースイッチ37がOFF状態になっていない場合には、設定キースイッチ37がOFF状態になるまで判定を繰り返す。設定キースイッチ37がOFFになっている場合には、レジスタにセットしている設定値のデータをRAM41cに格納する(Sb11)。 Next, it is determined whether or not the reset / setting switch 38 has changed from OFF to ON (Sb7). When the reset / setting switch 38 changes from OFF to ON, the set value of the register is updated (1 is added in the case of 1 to 5 and updated to 1 in the case of 6) (Sb8). If the reset / setting switch 38 does not change, it is determined whether or not the start switch 7 has changed from OFF to ON (Sb9). If the start switch 7 does not change, the process returns to the step of Sb7. On the other hand, when the start switch 7 changes from OFF to ON, it is determined whether or not the setting key switch 37 is in the OFF state (Sb10). If the setting key switch 37 is not in the OFF state, the determination is repeated until the setting key switch 37 is in the OFF state. When the setting key switch 37 is OFF, the data of the set value set in the register is stored in the RAM 41c (Sb11).
次いで、設定変更状態の終了を示す設定コマンドをサブ制御部91に送信する(Sb12)。そして、設定変更終了時の初期化対象RAMの先頭アドレスをレジスタにセットし(Sb13)、メイン処理に移行する。 Next, a setting command indicating the end of the setting change state is transmitted to the sub control unit 91 (Sb12). Then, the start address of the initialization target RAM at the end of the setting change is set in the register (Sb13), and the process proceeds to the main process.
次に、メイン制御部41が実行するメイン処理について説明する。尚、メイン処理は一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。 Next, the main process executed by the main control unit 41 will be described. The main process is repeatedly executed for each unit of game. Then, one cycle of the main process corresponds to one unit of the game.
図13に示すように、メイン制御部41は、まず、割込を禁止する(Sc1)。次いで、初期化対象RAMの最終アドレスをセットする(Sc2)。 As shown in FIG. 13, the main control unit 41 first prohibits interruption (Sc1). Next, the final address of the RAM to be initialized is set (Sc2).
次いで、指定したアドレスで示すRAMの領域をクリアする(Sc3)。この際、設定変更処理後にメイン処理が開始された場合は、設定変更終了時の初期化対象RAMの先頭アドレスが設定され、Sc2のステップでは、設定変更終了時の初期化対象RAMの最終アドレスが設定されるため、使用可能領域のうち重要ワーク及び特別ワーク以外の領域が初期化されることとなる。また、特定の遊技状態の終了時ではない遊技の終了時には、後述のSc10のステップにおいて遊技終了時の初期化対象RAMの先頭アドレスが設定され、Sc2のステップでは、遊技終了時の初期化対象RAMの最終アドレスが設定されるため、使用可能領域のうち未使用領域及び未使用スタック領域が初期化されることとなる。また、特定の遊技状態の終了時であり、かつ遊技の終了時には、後述のSc11のステップにおいて特定の遊技状態の終了時の初期化対象RAMの先頭アドレスが設定され、Sc2のステップでは、特定の遊技状態の終了時の初期化対象RAMの最終アドレスが設定されるため、使用可能領域のうち一般領域、未使用領域及び未使用スタック領域が初期化されることとなる。 Next, the RAM area indicated by the specified address is cleared (Sc3). At this time, if the main process is started after the setting change process, the start address of the initialization target RAM at the end of the setting change is set, and in the Sc2 step, the final address of the initialization target RAM at the end of the setting change is set. Since it is set, the areas other than the important work and the special work among the usable areas will be initialized. Further, at the end of the game, which is not the end of the specific game state, the start address of the initialization target RAM at the end of the game is set in the Sc10 step described later, and in the Sc2 step, the initialization target RAM at the end of the game is set. Since the final address of is set, the unused area and the unused stack area of the usable area are initialized. Further, at the end of the specific game state and at the end of the game, the start address of the initialization target RAM at the end of the specific game state is set in the step of Sc11 described later, and in the step of Sc2, the start address of the initialization target RAM is set. Since the final address of the initialization target RAM at the end of the game state is set, the general area, the unused area, and the unused stack area among the usable areas are initialized.
Sc3のステップにおけるRAMの初期化の後、割込を許可し(Sc4)、遊技開始待ち処理を実行する(Sc5)。遊技開始待ち処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ7が操作された時点でゲームを開始させる処理を実行する。 After the RAM is initialized in the step of Sc3, the interrupt is permitted (Sc4), and the game start waiting process is executed (Sc5). In the game start waiting process, a process of waiting in a state in which the bet number can be set, setting a predetermined number of bets according to the game state, and starting the game when the start switch 7 is operated is executed.
次いで、内部抽選処理を実行する(Sc6)。内部抽選処理では、Sc5のステップにおけるスタートスイッチ7の検出によるゲーム開始と同時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するか(すなわち、表示結果の導出を許容するか否か)どうかを決定する処理を行う。 Next, the internal lottery process is executed (Sc6). In the internal lottery process, whether to allow the above-mentioned winning of each winning combination based on the random number value for the internal lottery latched at the same time as the game starts by the detection of the start switch 7 in the step of Sc5 (that is, the derivation of the display result is derived. Performs the process of deciding whether or not to allow it.
次いで、リール制御処理を実行する(Sc7)。リール制御処理では、スタートスイッチ7の操作に応答して各リール2L、2C、2Rを回転させる処理、Sd2のステップにおける内部抽選の結果及び遊技者によるストップスイッチ8L、8C、8Rの操作が検出されたことに応じて対応するリール2L、2C、2Rの回転を停止させる処理を実行する。 Next, the reel control process is executed (Sc7). In the reel control process, the process of rotating each reel 2L, 2C, 2R in response to the operation of the start switch 7, the result of the internal lottery in the step of Sd2, and the operation of the stop switches 8L, 8C, 8R by the player are detected. A process of stopping the rotation of the corresponding reels 2L, 2C, and 2R is executed according to the fact.
次いで、遊技終了時設定処理を実行する(Sc8)。遊技終了時設定処理では、Sc7の処理において全てのリール2L、2C、2Rの回転が停止したと判定した時点で、各リール2L、2C、2Rに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。そして、入賞が発生したと判定した場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。入賞が発生した場合にはメダルの払い出し等が終了した後に次のゲームに備えて遊技状態を設定する処理を実行する。また、入賞が発生しなかった場合にはリールが停止した後に、次のゲームに備えて遊技状態を設定する処理を実行する。 Next, the game end setting process is executed (Sc8). In the game end setting process, when it is determined that the rotation of all reels 2L, 2C, and 2R has stopped in the Sc7 process, a prize is generated according to the display result derived for each reel 2L, 2C, and 2R. Execute the process of determining whether or not. Then, when it is determined that a prize has been generated, credits are added and medals are paid out based on the number of payouts according to the prize. When a prize is won, a process of setting the game state is executed in preparation for the next game after the payout of medals is completed. Further, if no winning is generated, after the reels are stopped, a process of setting the game state is executed in preparation for the next game.
遊技終了時設定処理が終了すると、特定の遊技状態の終了時か否かを判定し(Sc9)、特定の遊技状態の終了時でない場合には、遊技終了時の初期化対象RAMの先頭アドレスをセットして(Sc10)、Sc1のステップに戻る。また、特定の遊技状態の終了時である場合には、特定の遊技状態の終了時の初期化対象RAMの先頭アドレスをセットして(Sc11)、Sc1のステップに戻る。 When the game end time setting process is completed, it is determined whether or not it is the end of a specific game state (Sc9), and if it is not the end of the specific game state, the start address of the initialization target RAM at the end of the game is set. Set (Sc10) and return to the step of Sc1. If it is the end of the specific gaming state, the start address of the initialization target RAM at the end of the specific gaming state is set (Sc11), and the process returns to the Sc1 step.
また、メイン処理では、ゲームの進行に応じてコマンドを生成してコマンドキューに設定するコマンド格納処理を実行し、設定されたコマンドは、その後のタイマ割込処理(メイン)において実行される通常時コマンド送信処理によりサブ制御部91に対して送信されるようになっている。 In the main process, a command storage process that generates a command and sets it in the command queue is executed according to the progress of the game, and the set command is executed in the subsequent timer interrupt process (main) during normal operation. It is transmitted to the sub-control unit 91 by the command transmission process.
図14及び図15は、メイン制御部41が一定間隔(約0.56msの間隔)で基本処理(主にメイン処理)に割り込んで実行するタイマ割込処理(メイン)の制御内容を示すフローチャートである。尚、タイマ割込処理(メイン)とは、タイマ回路509のカウントに応じて発生する割込により実行される処理であり、タイマ割込処理(メイン)のプログラムが格納されたアドレスは、ベクタテーブルのタイマ割込に対応する値として設定されている。そして、タイマ割込が発生すると当該アドレスからの処理が実行される。また、タイマ割込処理(メイン)の実行期間中は自動的に他の割込が禁止される。 14 and 15 are flowcharts showing the control contents of the timer interrupt process (main) executed by the main control unit 41 interrupting the basic process (mainly the main process) at regular intervals (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 in which the timer interrupt process (main) program is stored is a vector table. It is set as a value corresponding to the timer interrupt of. Then, when the timer interrupt occurs, the process from the address is executed. In addition, other interrupts are automatically prohibited during the execution period of the timer interrupt process (main).
図14に示すように、タイマ割込処理(メイン)においては、まず、使用中のレジスタをスタック領域に退避する(Sd1)。 As shown in FIG. 14, in the timer interrupt process (main), first, the register in use is saved in the 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 decrease signal has been input from the power failure detection circuit 48, and if the voltage decrease signal has been input, whether or not the voltage decrease signal has been input even in the previous power failure determination process. If a voltage drop signal is input even in the previous power failure determination process, it is determined that there is a power failure, and a power failure flag indicating that is set.
Sd2のステップにおける停電判定処理の後、電断フラグが設定されているか否かを判定し(Sd3)、電断フラグが設定されていなければ、Sd4に進み、入力ポートから各種スイッチ類の検出データを入力するポート入力処理を行う。一方、電断フラグが設定されていた場合には、コマンドキューに設定された各種コマンドをサブ制御部91に送信する電断時コマンド送信処理を実行した後(Sd19)、電断処理(メイン)に移行する。 After the power failure determination process in the step of Sd2, it is determined whether or not the power failure flag is set (Sd3), and if the power failure flag is not set, the process proceeds to Sd4 and the detection data of various switches from the input port. Performs port input processing to input. On the other hand, when the power failure flag is set, after executing the power failure command transmission process (Sd19) for transmitting various commands set in the command queue to the sub control unit 91, the power failure process (main). Move to.
次いで、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 process (main) is advanced by 1 from the four types of timer interrupts 1 to 4 (Sd5). In the step of Sd5, 1 is added when the branch counter value is 0 to 2, and the value is 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 ... Each time the timer interrupt process (main) is executed.
次いで、分岐用カウンタ値を参照して2または3か、すなわちタイマ割込3またはタイマ割込4かを判定し(Sd6)、タイマ割込3またはタイマ割込4ではない場合、すなわちタイマ割込1またはタイマ割込2の場合には、リールモータ32C、32C、32Rの位相信号データを出力するモータ位相信号出力処理を実行する(Sd7)。 Next, it is determined whether it is 2 or 3, that is, timer interrupt 3 or timer interrupt 4 by referring to the branch counter value (Sd6), and if it is not timer interrupt 3 or timer interrupt 4, that is, timer interrupt. In the case of 1 or timer interrupt 2, the motor phase signal output process for outputting the 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 timer interrupt 2 (Sd8), and if it is not timer interrupt 2, that is, if it is timer interrupt 1, the reel motor Reel start processing (Sd9) that controls the step time interval at the start of 32L, 32C, 32R, motor step processing (Sd10) that changes the phase signal data of the reel motors 32L, 32C, 32R, reel motors 32L, 32C , 32R is stopped, and after a certain period of time has elapsed, the motor phase signal standby process (Sd11) for changing the phase signal to one-phase excitation is sequentially executed, and then the process proceeds to the step of Sd24.
また、Sd8のステップにおいてタイマ割込2であると判定した場合には、各種表示器をダイナミック点灯させるLEDダイナミック表示処理(Sd12)、各種LED等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理(Sd13)、各種時間カウンタを更新する時間カウンタ更新処理(Sd14)、ドア開放検出スイッチ25の検出状態の監視、ドアコマンドの送信要求などを行うドア監視処理(Sd15)、コマンドキューに設定された各種コマンドをサブ制御部91に送信する通常時コマンド送信処理(Sd16)、外部出力信号を更新する外部出力信号更新処理(Sd17)を順次実行した後、Sd24のステップに進む。 Further, when it is determined in the step of Sd8 that the timer interrupt is 2, the LED dynamic display process (Sd12) for dynamically lighting various indicators, and the control for outputting data such as lighting signals of various LEDs to the output port. Signal output processing (Sd13), time counter update processing for updating various time counters (Sd14), door monitoring processing for monitoring the detection status of the door open detection switch 25, door monitoring processing for requesting transmission of door commands (Sd15), command queue After sequentially executing the normal command transmission process (Sd16) for transmitting various commands set to to the sub-control unit 91 and the external output signal update process (Sd17) for updating the external output signal, the process proceeds to the step of Sd24.
また、Sd6のステップにおいてタイマ割込3またはタイマ割込4であると判定した場合は、更に、分岐用カウンタ値が3か否か、すなわちタイマ割込4か否かを判定し(Sd18)、タイマ割込4でなければ、すなわちタイマ割込3であれば、回転中のリール2L、2C、2Rの原点通過(リール基準位置の通過)をチェックする原点通過時処理(Sd19)、スイッチ類の検出状態に変化があったか否かの判定等を行うスイッチ入力判定処理(Sd20)を順次実行した後、Sd24のステップに進む。 Further, when it is determined in the step of Sd6 that the timer interrupt is 3 or the timer interrupt 4, it is further determined whether or not the branching counter value is 3, that is, whether or not the timer interrupt is 4 (Sd18). If it is not the timer interrupt 4, that is, if it is the timer interrupt 3, the origin passage process (Sd19) for checking the origin passage (passage of the reel reference position) of the rotating reels 2L, 2C, and 2R, and the switches After sequentially executing the switch input determination process (Sd20) for determining whether or not the detection state has changed, the process proceeds to the step of Sd24.
また、Sd18のステップにおいてタイマ割込4であると判定した場合は、ストップスイッチ8L、8C、8Rの検出に伴って停止位置を決定する停止スイッチ処理(Sd21)、停止する時期になったら2相励磁によるブレーキを開始する停止処理(Sd22)、停止処理においてブレーキを開始してから一定時間後に3相励磁とする最終停止処理(Sd23)を順次実行した後、Sd24のステップに進む。 Further, when it is determined in the step of Sd18 that the timer interrupt is 4, the stop switch process (Sd21) for determining the stop position according to the detection of the stop switches 8L, 8C, 8R, and the two-phase when it is time to stop. After sequentially executing the stop process (Sd22) for starting the brake by excitation and the final stop process (Sd23) for three-phase excitation after a certain time from the start of the brake in the stop process, the process proceeds to the step of Sd24.
Sd24のステップでは、Sd1においてスタック領域に退避したレジスタを復帰させて、割込前の処理に戻る。 In the step of Sd24, the register saved in the stack area in Sd1 is restored, and the process returns to the process before the interrupt.
このように本実施例では、メイン制御部41は、リセットが発生したときに、割込禁止の状態で起動するとともに、その後、最初に実行する初期設定処理の開始時にもプログラムにて割込の禁止を行うようになっており、何らかの原因で割込が禁止されない状態でメイン制御部41が起動した場合でも意図しない割込が発生してしまうことを防止できる。 As described above, in this embodiment, the main control unit 41 is started in the interrupt-prohibited state when a reset occurs, and is interrupted by the program at the start of the initial setting process to be executed for the first time thereafter. 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 an unintended interrupt from occurring.
また、メイン制御部41は、その起動後に、タイマ回路509におけるタイマ割込の設定の後、割込を許可するようになっており、タイマ割込が正常に動作しない状態で割込が発生してしまうことを防止できる。また、タイマ回路509ではタイマ割込の設定が行われることにより、タイマが初期化され、初期値から計時を開始するようになっており、起動後、初回の割込が発生するまでの時間と、2回目以降の割込が発生するまでの時間と、がずれてしまうようなことがなく、一定の時間間隔でタイマ割込を発生させることができる。また、メイン制御部41は、初期設定処理においてタイマ回路509の設定をプログラムにて初期値に更新するようになっており、起動時に、何らかの原因でタイマ回路509の設定が書き換わっていた場合であっても、意図しない割込が発生してしまうことを防止できる。 Further, after the main control unit 41 is activated, after setting the timer interrupt in the timer circuit 509, the interrupt is permitted, and the interrupt occurs in a state where the timer interrupt does not operate normally. It can be prevented from being interrupted. Further, in the timer circuit 509, the timer is initialized by setting the timer interrupt, and the time counting is started from the initial value, and the time from the start until the first interrupt occurs. The timer interrupt can be generated at regular time intervals without any deviation from the time until the second and subsequent interrupts occur. Further, the main control unit 41 updates the setting of the timer circuit 509 to the initial value by the program in the initial setting process, and the setting of the timer circuit 509 is rewritten for some reason at the time of startup. Even if there is, it is possible to prevent an unintended interruption from occurring.
また、メイン制御部41は、その起動時に設定キースイッチ37がONの状態であれば設定変更処理に移行し、設定変更処理の開始時にRAM41cの初期化を行う。この際、RAM41cのデータが正常であれば、重要ワーク及び特別ワークを保持してそれ以外の領域を初期化することで、設定変更後も変更前の制御状態(設定値や遊技状態等)の一部を保持することができる一方で、RAM41cのデータが正常でない場合には、重要ワーク及び特別ワークを含む使用可能領域の全ての領域を初期化することで、RAM41cのデータに異常を確実に解消することができる。 Further, if the setting key switch 37 is in the ON state at the time of activation, the main control unit 41 shifts to the setting change processing, and initializes the RAM 41c at the start of the setting change processing. At this time, if the data in the RAM 41c is normal, by holding the important work and the special work and initializing the other areas, the control state (set value, game state, etc.) before the change is maintained even after the setting is changed. While a part can be retained, if the data in RAM 41c is not normal, the data in RAM 41c can be reliably abnormal by initializing all areas of the usable area including important work and special work. It can be resolved.
また、メイン制御部41は、RAM異常が判定された場合にRAM異常フラグが設定されるので、RAM異常エラーの発生後に電断して、再度電源投入がされた場合に、RAMパリティが0であり、破壊診断用データが正常と判定された場合でも、RAM異常フラグに基づいてRAM41cのデータが破壊されているか否かを判定することが可能となる。 Further, since the RAM abnormality flag is set in the main control unit 41 when the RAM abnormality is determined, the RAM parity is 0 when the power is turned off again after the RAM abnormality error occurs and the power is turned on again. Therefore, 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 setting change processing is completed, the main control unit 41 executes a main process for stepwise processing according to the progress of the game for each game unit. Further, 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 process is completed, the main process is started from the stage before the process of initializing the RAM 41c in the main process, and the initialization of the RAM 41c after the setting change process is completed and the game unit. It is possible to initialize the RAM 41c for each unit by a common process.
また、メイン制御部41は、RAM41cの初期化を行う場合に、初期化が終了するまで割込を禁止するようになっており、RAM41cの初期化の実行中にタイマ割込処理(メイン)が発生することにより、初期化した内容が変更されたり、タイマ割込処理(メイン)で行われる処理が正常に行われなくなってしまうことを防止できる。 Further, when the RAM 41c is initialized, the main control unit 41 prohibits interrupts until the initialization is completed, and the timer interrupt process (main) is performed during the execution of the initialization of the RAM 41c. When it occurs, it is possible to prevent the initialized contents from being changed or 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 process, and changes the output state of the external output signal in the subsequent timer interrupt process (main) based on the updated output state. At the same time, when updating the output status of the external output signal, interrupting is prohibited until the update is completed, and the timer interrupt processing (main) occurs before the output status 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は、上述の設定変更処理及びメイン処理において遊技の進行に応じてコマンドを生成し、生成したコマンドをコマンドキューに格納し、タイマ割込処理(メイン)において通常時コマンド送信処理を実行する毎にコマンドキューに格納されている未送信のコマンドをサブ制御部91に対して送信する。 The main control unit 41 of this embodiment generates a command according to the progress of the game in the above-mentioned setting change process and main process, stores the generated command in the command queue, and performs a normal time in the timer interrupt process (main). Every time the command transmission process is executed, the untransmitted command stored in the command queue is transmitted to the sub-control unit 91.
図16は、メイン制御部41が生成した各種コマンドをコマンドキューに格納する際に実行するコマンド格納処理の制御内容を示すフローチャートである。尚、メイン制御部41が送信するコマンドは、2バイトで構成され、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの内容)を表す。また、本実施例で示すコマンドの形態は一例であって他のデータ形態を用いても良い。また、本実施例では、コマンドを2バイトの信号で構成しているが、これらコマンドを1バイトの信号または3バイト以上の信号で構成しても良い。 FIG. 16 is a flowchart showing the control contents of the command storage process executed when various commands generated by the main control unit 41 are stored in the command queue. The command transmitted by the main control unit 41 is composed of 2 bytes, the first byte represents MODE (command classification), and the second byte represents EXT (command content). Further, the command form shown in this embodiment is an example, and other data forms may be used. Further, in this embodiment, the command is composed of a 2-byte signal, but these commands may be composed of a 1-byte signal or a 3-byte or more signal.
コマンド格納処理では、まず、送信すべきコマンドを構成するMODEとEXTを生成する(Se1)。そして、生成したコマンドのMODE及びEXTを格納ポインタが示す領域番号の領域、すなわちコマンドキューの空き領域に格納した後(Se2)、格納ポインタが示す領域番号に1を加算する(Se3)。尚、領域番号は0〜31の範囲の数値なので、格納ポインタが示す通し番号が31の場合に1を加算して32となるときには0に更新する。 In the command storage process, first, MODE and EXT constituting the command to be transmitted are generated (Se1). Then, after storing the MODE and EXT of the generated command in the area of the area number indicated by the storage pointer, that is, in the free area of the command queue (Se2), 1 is added to the area number indicated by the storage pointer (Se3). Since the area number is a numerical value in the range of 0 to 31, when the serial number indicated by the storage pointer is 31, 1 is added and updated to 0 when it becomes 32.
次いで、未送信フラグがセットされているか否かを確認し(Se4)、未送信フラグがセットされていなければ未送信フラグをセットする(Se5)。そして、格納ポインタが示す領域番号と、送信ポインタが示す領域番号とが一致しているか否か、すなわち未送信のコマンドでコマンドキューの全ての領域が満タンとなったか否かを確認し、一致している場合には、コマンドキューに格納されている未送信のコマンドが送信されて格納ポインタが示す領域番号と送信ポインタが示す領域番号とが一致しなくなるまで待機し、格納ポインタが示す領域番号と送信ポインタが示す領域番号とが一致しなくなった時点、すなわちコマンドキューに空きができた時点でコマンド格納処理を終了する(Se6)。 Next, it is confirmed whether or not the untransmitted flag is set (Se4), and if the untransmitted flag is not set, the untransmitted flag is set (Se5). Then, it is confirmed whether or not the area number indicated by the storage pointer and the area number indicated by the transmission pointer match, that is, whether or not all the areas of the command queue are filled with untransmitted commands. If this is the case, wait until the unsent command stored in the command queue is sent and the area number indicated by the storage pointer and the area number indicated by the transmission pointer do not match, and the area number indicated by the storage pointer. The command storage process ends when the area number indicated by the transmission pointer does not match, that is, when the command queue becomes empty (Se6).
図17は、メイン制御部41がコマンド格納処理によりコマンドキューに格納したコマンドを送信するために、前述したタイマ割込処理(メイン)のタイマ割込2内において実行する通常時コマンド送信処理の制御内容を示すフローチャートである。 FIG. 17 shows the control of the normal command transmission process executed in the timer interrupt 2 of the timer interrupt process (main) described above in order for the main control unit 41 to transmit the command stored in the command queue by the command storage process. It is a flowchart which shows the content.
通常時コマンド送信処理では、まず、未送信フラグがセットされているか否か、すなわち未送信のコマンドがコマンドキューに格納されているか否かを確認し(Sf1)、未送信フラグがセットされていない場合には、ドア開放検出スイッチ25の検出状態を取得してドアコマンドを構成するMODE及びEXTを生成し、生成したMODE及びEXTを格納ポインタが示す領域番号の領域、すなわちコマンドキューの空き領域に格納する(Sf2、Sf3)。 In the normal command transmission process, first, it is confirmed whether or not the untransmitted flag is set, that is, whether or not the untransmitted command is stored in the command queue (Sf1), and the untransmitted flag is not set. In this case, the detection state of the door open detection switch 25 is acquired, MODE and EXT constituting the door command are generated, and the generated MODE and EXT are stored in the area of the area number indicated by the storage pointer, that is, in the free area of the command queue. Store (Sf2, Sf3).
Sf1のステップにおいて未送信フラグがセットされていると判定した場合、及びSf2、Sf3のステップにおいてドアコマンドを構成するMODE及びEXTをコマンドキューに格納した後は、コマンドキューの送信ポインタ値が示す領域に格納されたコマンドをサブ制御部91に対して送信する(Sf4〜Sf7)。詳しくは、まず、コマンドキューの送信ポインタ値が示す領域に格納されたコマンドを構成するMODEを出力し(Sf4)、コマンドを出力した旨をサブ制御部91に通知するためのストローブ信号を所定時間(本実施例では、10μs)出力する(Sf5)。そして、送信ポインタ値が示す領域に格納されたコマンドを構成するEXTを出力し(Sf6)、再度、ストローブ信号を所定時間出力する(Sf7)。 When it is determined that the untransmitted flag is set in the step of Sf1, and after the MODE and EXT constituting the door command are stored in the command queue in the steps of Sf2 and Sf3, the area indicated by the transmission pointer value of the command queue. The command stored in is transmitted to the sub-control unit 91 (Sf4 to Sf7). Specifically, first, the MODE constituting the command stored in the area indicated by the transmission pointer value of the command queue is output (Sf4), and a strobe signal for notifying the sub-control unit 91 that the command has been output is sent for a predetermined time. (In this embodiment, 10 μs) is output (Sf5). Then, the EXT constituting the command stored in the area indicated by the transmission pointer value is output (Sf6), and the strobe signal is output again for a predetermined time (Sf7).
次いで、送信ポインタが示す領域番号に1を加算する(Sf8)。尚、領域番号は0〜31の範囲の数値なので、送信ポインタが示す領域番号が31の場合に1を加算して32となるときには0に更新する。その後、送信ポインタが示す領域番号と格納ポインタが示す通し番号とが一致しているか否か、すなわちコマンドキューに送信すべきコマンドが格納されているか否かを確認し(Sf9)、一致している場合、すなわちコマンドキューに送信すべきコマンドが格納されていない場合には、未送信フラグをクリアして通常時コマンド送信処理を終了する(Sf10)。一方、送信ポインタが示す領域番号と格納ポインタが示す通し番号とが一致していない場合、すなわちコマンドキューに送信すべきコマンドが格納されている場合には、未送信フラグを維持して通常時コマンド送信処理を終了する。未送信フラグが維持されることで、コマンドキューに残された未送信コマンドは、次回以降のタイマ割込処理(メイン)において送信されることとなる。 Next, 1 is added to the area number indicated by the transmission pointer (Sf8). Since the area number is a numerical value in the range of 0 to 31, when the area number indicated by the transmission pointer is 31, 1 is added and the area number is updated to 0 when it becomes 32. After that, it is confirmed whether the area number indicated by the transmission pointer and the serial number indicated by the storage pointer match, that is, whether the command to be transmitted is stored in the command queue (Sf9), and if they match. That is, when the command to be transmitted is not stored in the command queue, the untransmitted flag is cleared and the normal command transmission process is terminated (Sf10). On the other hand, if the area number indicated by the send pointer and the serial number indicated by the storage pointer do not match, that is, when the command to be sent is stored in the command queue, the unsent flag is maintained and the command is sent during normal operation. End the process. By maintaining the untransmitted flag, the untransmitted command left in the command queue will be transmitted in the timer interrupt process (main) from the next time onward.
本実施例のメイン制御部41は、上述のタイマ割込処理において電断フラグが設定された場合に電断処理(メイン)を実行する前に、電断時コマンド送信処理を実行することで、通常時コマンド送信処理以外においても、コマンドキューに格納されている未送信のコマンドをサブ制御部91に対して送信する。 The main control unit 41 of this embodiment executes a command transmission process at the time of power failure before executing the power failure process (main) when the power failure flag is set in the above-mentioned timer interrupt process. In addition to the normal command transmission process, the untransmitted command stored in the command queue is transmitted to the sub-control unit 91.
図18は、メイン制御部41がタイマ割込処理(メイン)において電断処理(メイン)を行う前に実行する電断時コマンド送信処理の制御内容を示すフローチャートである。 FIG. 18 is a flowchart showing the control contents of the command transmission process at the time of power interruption, which is executed before the power interruption process (main) is performed by the main control unit 41 in the timer interrupt process (main).
電断時コマンド送信処理においては、まず、未送信フラグがセットされているか否か、すなわち未送信のコマンドがコマンドキューに格納されているか否かを確認し(Sg1)、未送信フラグがセットされている場合には、コマンドキューに格納されている全てのコマンドをサブ制御部91に対して送信する(Sg1〜Sg7)。 In the command transmission process at the time of power failure, first, it is confirmed whether or not the untransmitted flag is set, that is, whether or not the untransmitted command is stored in the command queue (Sg1), and the untransmitted flag is set. If so, all the commands stored in the command queue are transmitted to the sub-control unit 91 (Sg1 to Sg7).
詳しくは、まず、コマンドキューの送信ポインタ値が示す領域に格納されたコマンドを構成するMODEを出力し(Sg2)、コマンドを出力した旨をサブ制御部91に通知するためのストローブ信号を所定時間(本実施例では、10μs)出力する(Sg3)。そして、送信ポインタ値が示す領域に格納されたコマンドを構成するEXTを出力し(Sg4)、再度、ストローブ信号を所定時間出力する(Sg5)。その後、送信ポインタが示す領域番号に1を加算する(Sg6)。尚、通常時コマンド送信処理において送信ポインタを加算する場合と同様に、領域番号は0〜31の範囲の数値なので、送信ポインタが示す領域番号が31の場合に1を加算して32となるときには0に更新する。 Specifically, first, the MODE constituting the command stored in the area indicated by the transmission pointer value of the command queue is output (Sg2), and a strobe signal for notifying the sub-control unit 91 that the command has been output is sent for a predetermined time. (In this embodiment, 10 μs) is output (Sg3). Then, the EXT constituting the command stored in the area indicated by the transmission pointer value is output (Sg4), and the strobe signal is output again for a predetermined time (Sg5). After that, 1 is added to the area number indicated by the transmission pointer (Sg6). Since the area number is a numerical value in the range of 0 to 31 as in the case of adding the transmission pointer in the normal command transmission process, when the area number indicated by the transmission pointer is 31, 1 is added to obtain 32. Update to 0.
次いで、送信ポインタが示す領域番号と格納ポインタが示す通し番号とが一致しているか否か、すなわち送信すべきコマンドがコマンドキューに格納されているか否かを判定し(Sg7)、送信ポインタが示す領域番号と格納ポインタが示す通し番号とが一致していない場合、すなわち送信すべきコマンドがコマンドキューに格納されている場合には、Sg7のステップにおいて送信ポインタが示す領域番号と格納ポインタが示す通し番号とが一致していると判定されるまで、Sg2〜Sg7のステップを繰り返し実行して、コマンドキューに格納されている全てのコマンドをサブ制御部91に対して送信する。 Next, it is determined whether or not the area number indicated by the transmission pointer and the serial number indicated by the storage pointer match, that is, whether or not the command to be transmitted is stored in the command queue (Sg7), and the area indicated by the transmission pointer. If the number and the serial number indicated by the storage pointer do not match, that is, when the command to be transmitted is stored in the command queue, the area number indicated by the transmission pointer and the serial number indicated by the storage pointer in the step of Sg7 The steps Sg2 to Sg7 are repeatedly executed until it is determined that they match, and all the commands stored in the command queue are transmitted to the sub-control unit 91.
そして、Sg7のステップにおいて、送信ポインタが示す領域番号と格納ポインタが示す通し番号とが一致していると判定した場合、すなわちコマンドキューに格納されているコマンドが全てサブ制御部91に対して送信されてコマンドキューにコマンドが残っていない場合に、メイン制御部41は、未送信フラグをクリアして(Sg8)、電断時コマンド送信処理を終了し、電断処理(メイン)に移行する。 Then, in the step of Sg7, when it is determined that the area number indicated by the transmission pointer and the serial number indicated by the storage pointer match, that is, all the commands stored in the command queue are transmitted to the sub-control unit 91. When no command remains in the command queue, the main control unit 41 clears the untransmitted flag (Sg8), ends the command transmission process at the time of power interruption, and shifts to the power interruption process (main).
このように、通常時コマンド送信処理においては、タイマ割込処理(メイン)において当該通常時コマンド送信処理が実行される毎に一のコマンド(2バイトからなる1組のコマンド)をサブ制御部91に対して送信する一方、電断時コマンド送信処理においては、タイマ割込処理において電断処理(メイン)が行われる前に、コマンドキューに格納されている全てのコマンドをサブ制御部91に対して送信するようになっている。 In this way, in the normal command transmission process, one command (a set of commands consisting of 2 bytes) is sent to the sub-control unit 91 each time the normal command transmission process is executed in the timer interrupt process (main). On the other hand, in the command transmission process at the time of power interruption, all the commands stored in the command queue are sent to the sub-control unit 91 before the power interruption process (main) is performed in the timer interrupt process. It is designed to be sent.
図19は、メイン制御部41が前述したタイマ割込処理(メイン)において電断フラグが設定されていると判定した場合に、電断時コマンド送信処理の後に実行する電断処理(メイン)の制御内容を示すフローチャートである。尚、本実施例において電断処理は、非遊技プログラムに含まれる。 FIG. 19 shows the power interruption process (main) executed after the power interruption command transmission process when the main control unit 41 determines that the power interruption flag is set in the timer interrupt process (main) described above. It is a flowchart which shows the control content. In this embodiment, the power interruption process is included in the non-game program.
電断処理(メイン)においては、まず、使用している可能性がある全てのレジスタをスタック領域に退避する(Sg1)。 In the power failure processing (main), first, all the registers that may be used are saved in the stack area (Sg1).
次いで、破壊診断用データ1を遊技RAM領域に、破壊診断用データ2を非遊技RAM領域に、破壊診断用データ3をスタック領域に、それぞれセットする(Sg2)。破壊診断用データは、いずれも5A(H)である。そして、コマンドを出力するパラレル出力ポート513を含む全ての出力ポートを初期化する(Sg3)。これにより電断時コマンド送信処理により最後に出力されたコマンドに対応する出力ポートの出力状態が初期化される。次いで、遊技RAM領域の全ての領域(未使用領域3を含む)の排他的論理和が0になるようにRAMパリティ調整用データ1を計算して遊技RAM領域にセットし、非遊技RAM領域の全ての領域(未使用領域4を含む)の排他的論理和が0になるようにRAMパリティ調整用データ2を計算して非遊技RAM領域にセットし、スタック領域の全ての領域(未使用スタック領域及び使用中スタック領域)の排他的論理和が0になるようにRAMパリティ調整用データ3を計算してスタック領域にセットし(Sg4)、RAM41cへのアクセスを禁止する(Sg5)。その後、電圧が低下してメイン制御部41のCPU41aが停止して待機状態に移行する。そして、この待機状態のまま電圧が低下することで、メイン制御部41は、内部的に動作停止状態になり、電断の際に確実に動作停止する。 Next, the destruction diagnosis data 1 is set in the game RAM area, the destruction diagnosis data 2 is set in the non-game RAM area, and the destruction diagnosis data 3 is set in the stack area (Sg2). The data for destructive diagnosis are all 5A (H). Then, all the output ports including the parallel output port 513 that outputs the command are initialized (Sg3). As a result, the output state of the output port corresponding to the last output command by the command transmission process at the time of power failure is initialized. Next, the RAM parity adjustment data 1 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 the non-game RAM area is set. The RAM parity adjustment data 2 is calculated and set in the non-gaming RAM area so that the exclusive OR of all areas (including the unused area 4) becomes 0, and all areas of the stack area (unused stack). The RAM parity adjustment data 3 is calculated and set in the stack area (Sg4) so that the exclusive OR of the area and the used stack area becomes 0, and access to the RAM 41c is prohibited (Sg5). After that, the voltage drops, the CPU 41a of the main control unit 41 stops, and the state shifts to the standby state. Then, when the voltage drops in this standby state, the main control unit 41 is internally stopped in operation, and the operation is surely stopped in the event of a power failure.
以上の処理によって、AC100Vの電力供給が停止される場合には、電断処理が実行され、破壊診断用データ1〜3及びRAMパリティ調整用データ1〜3がバックアップRAMへストアされ、RAMアクセスが禁止状態にされ、出力ポートがクリアされる。 When the power supply of AC100V is stopped by the above processing, the power interruption processing is executed, the destruction diagnosis data 1 to 3 and the RAM parity adjustment data 1 to 3 are stored in the backup RAM, and RAM access is performed. It is prohibited and the output port is cleared.
このように本実施例では、電断を検出したときに実行する電断処理において、RAM41cのデータが正常か否かを判定するためのRAMパリティ調整用データを算出する処理、電源投入時にデータが正常か否かを判定するためのRAMパリティを算出する処理、電源投入時にRAMパリティに基づいてRAM41cのデータが正常か否かを判定する処理を、遊技RAM領域、非遊技RAM領域に分けて行うため、これらの処理を設計するうえで必要なデータの記憶領域を容易に特定することができる。 As described above, in this embodiment, in the power failure processing executed when the power failure is detected, the process of calculating the RAM parity adjustment data for determining whether the data in the RAM 41c is normal, and the data when the power is turned on The process of calculating the RAM parity for determining whether or not it is normal, and the process of determining whether or not the data of the RAM 41c is normal based on the RAM parity when the power is turned on are performed separately for the game RAM area and the non-game RAM area. Therefore, the data storage area required for designing these processes can be easily specified.
尚、本実施例では、電断処理において対象となる領域の演算結果が特定の値(本実施例では0)となるように調整用データを対象となる領域に設定し、起動処理において対象となる領域の演算結果が特定の値となるか否かによってRAM41cのデータが正常か否かを判定しているが、電断処理において対象となる領域の演算結果と、起動処理において対象となる領域の演算結果と、が一致するか否かによってRAM41cのデータが正常か否かを判定する構成としても良い。また、演算方法は、排他的論理和に限らず、他の演算方法(例えば、総和)を用いても良い。 In this embodiment, the adjustment data is set in the target area so that the calculation result of the target area in the power interruption process becomes a specific value (0 in this embodiment), and the target area is set in the start-up process. Whether or not the data in the RAM 41c is normal is determined by whether or not the calculation result of the area is a specific value. However, the calculation result of the target area in the power failure process and the target area in the start-up process are determined. It may be configured to determine whether or not the data in the RAM 41c is normal depending on whether or not the calculation result of the above matches. Further, the calculation method is not limited to the exclusive OR, and other calculation methods (for example, total sum) may be used.
また、本実施例では、電断処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いてRAMパリティ調整用データ1を算出し、未使用領域4を含む非遊技RAM領域全ての領域に格納されたデータを用いてRAMパリティ調整用データを算出し、起動処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティ1、未使用領域4を含む非遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティ2に基づいてRAM41cが正常か否かを判定するようになっており、未使用領域3、4に不正なプログラムが記憶された場合には、RAM異常と判定されるため、未使用領域3、4に不正なプログラムが記憶されることを防止できる。 Further, in this embodiment, the RAM parity adjustment data 1 is calculated using the data stored in all the areas of the game RAM area including the unused area 3 in the power interruption process, and the non-game including the unused area 4 is calculated. RAM parity adjustment data is calculated using the data stored in all areas of the RAM area, and the RAM calculated using the data stored in all areas of the game RAM area including the unused area 3 in the startup process. It is determined whether the RAM 41c is normal or not based on the RAM parity 2 calculated using the data stored in all the areas of the non-gaming RAM area including the parity 1 and the unused area 4. When an invalid program is stored in the used areas 3 and 4, it is determined that the RAM is abnormal, so that it is possible to prevent the illegal program from being stored in the unused areas 3 and 4.
尚、本実施例では、電断処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いてRAMパリティ調整用データ1を算出し、未使用領域4を含む非遊技RAM領域全ての領域に格納されたデータを用いてRAMパリティ調整用データを算出し、起動処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティ1、未使用領域4を含む非遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティ2に基づいてRAM41cが正常か否かを判定する構成であるが、未使用領域3を含まない遊技RAM領域に格納されたデータを用いてRAMパリティ調整用データ1を算出し、未使用領域4を含まない非遊技RAM領域に格納されたデータを用いてRAMパリティ調整用データを算出し、起動処理において未使用領域3を含まない遊技RAM領域に格納されたデータを用いて算出されたRAMパリティ1、未使用領域4を含まない非遊技RAM領域に格納されたデータを用いて算出されたRAMパリティ2に基づいてRAM41cが正常か否かを判定する構成としても良い。 In this embodiment, the RAM parity adjustment data 1 is calculated using the data stored in all the areas of the game RAM area including the unused area 3 in the power interruption process, and the non-game including the unused area 4 is calculated. RAM parity adjustment data is calculated using the data stored in all areas of the RAM area, and the RAM calculated using the data stored in all areas of the game RAM area including the unused area 3 in the startup process. It is configured to determine whether the RAM 41c is normal or not based on the RAM parity 2 calculated using the data stored in all the areas of the non-gaming RAM area including the parity 1 and the unused area 4, but it is unused. RAM parity adjustment data 1 is calculated using the data stored in the game RAM area that does not include the area 3, and RAM parity adjustment data is used using the data stored in the non-game RAM area that does not include the unused area 4. Is calculated, and the data stored in the non-game RAM area that does not include the unused area 4 and the RAM parity 1 calculated using the data stored in the game RAM area that does not include the unused area 3 in the startup process are used. The configuration may be such that it is determined whether or not the RAM 41c is normal based on the RAM parity 2 calculated in the above.
また、電断処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いてRAMパリティ調整用データ1を算出し、未使用領域4を含まない非遊技RAM領域に格納されたデータを用いてRAMパリティ調整用データを算出し、起動処理において未使用領域3を含む遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティ1、未使用領域4を含まない非遊技RAM領域に格納されたデータを用いて算出されたRAMパリティ2に基づいてRAM41cが正常か否かを判定する構成としても良く、このような構成であっても、未使用領域3に不正なプログラムが記憶された場合には、RAM異常と判定されるため、未使用領域3に不正なプログラムが記憶されることを防止できる。 Further, in the power interruption processing, the RAM parity adjustment data 1 is calculated using the data stored in all the areas of the game RAM area including the unused area 3, and stored in the non-game RAM area not including the unused area 4. The RAM parity adjustment data is calculated using the calculated data, and the RAM parity 1 and the unused area 4 are calculated using the data stored in all the areas of the game RAM area including the unused area 3 in the start-up process. It may be configured to determine whether or not the RAM 41c is normal based on the RAM parity 2 calculated using the data stored in the non-game RAM area that does not include the above, and even in such a configuration, the unused area may be used. When an invalid program is stored in 3, it is determined that the RAM is abnormal, so that it is possible to prevent the illegal program from being stored in the unused area 3.
また、電断処理において未使用領域3を含まない遊技RAM領域に格納されたデータを用いてRAMパリティ調整用データ1を算出し、未使用領域4を含む非遊技RAM領域全ての領域に格納されたデータを用いてRAMパリティ調整用データを算出し、起動処理において未使用領域3を含まない遊技RAM領域に格納されたデータを用いて算出されたRAMパリティ1、未使用領域4を含む非遊技RAM領域の全ての領域に格納されたデータを用いて算出されたRAMパリティ2に基づいてRAM41cが正常か否かを判定する構成としても良く、このような構成であっても、未使用領域4に不正なプログラムが記憶された場合には、RAM異常と判定されるため、未使用領域4に不正なプログラムが記憶されることを防止できる。 Further, in the power interruption processing, the RAM parity adjustment data 1 is calculated using the data stored in the game RAM area that does not include the unused area 3, and is stored in all the non-game RAM areas including the unused area 4. RAM parity adjustment data is calculated using the data, and the non-game including the RAM parity 1 and the unused area 4 calculated using the data stored in the game RAM area that does not include the unused area 3 in the start-up process. It may be configured to determine whether or not the RAM 41c is normal based on the RAM parity 2 calculated using the data stored in all the areas of the RAM area. Even in such a configuration, the unused area 4 may be used. When an invalid program is stored in, it is determined that the RAM is abnormal, so that it is possible to prevent the illegal program from being stored in the unused area 4.
また、本実施例では、電断を検出したときに実行する電断処理において、RAM41cのデータが正常か否かを判定するためのRAMパリティ調整用データを算出する処理、電源投入時にデータが正常か否かを判定するためのRAMパリティを算出する処理、電源投入時にRAMパリティに基づいてRAM41cのデータが正常か否かを判定する処理を、遊技RAM領域、非遊技RAM領域に分けて行う構成であるが、電断処理において、遊技RAM領域に格納されたデータ及び非遊技RAM領域に格納されたデータの双方を用いた演算結果が特定の値となる調整用データを算出して遊技RAM領域または非遊技RAM領域に設定し、起動処理において遊技RAM領域に格納されたデータ及び非遊技RAM領域に格納されたデータの双方を用いた演算結果が特定の値となるか否かに基づいてRAM41cのデータが正常か否かを判定する構成、すなわち電断処理において、RAM41cのデータが正常か否かを判定するための調整用データを算出する処理、電源投入時にデータが正常か否かを判定するためのデータを算出する処理、電源投入時に算出したデータに基づいてRAM41cのデータが正常か否かを判定する処理を、遊技RAM領域、非遊技RAM領域を区別することなく行う構成としても良く、このような構成とすることで、電断処理において、RAM41cのデータが正常か否かを判定するための調整用データを算出する処理、電源投入時にデータが正常か否かを判定するためのデータを算出する処理、電源投入時に算出したデータに基づいてRAM41cのデータが正常か否かを判定する処理に必要なプログラム容量を削減できる。 Further, in this embodiment, in the power interruption process executed when the power failure is detected, the process of calculating the RAM parity adjustment data for determining whether the data in the RAM 41c is normal, and the data is normal when the power is turned on. A configuration in which the process of calculating the RAM parity for determining whether or not the data is normal and the process of determining whether or not the data of the RAM 41c is normal based on the RAM parity when the power is turned on are divided into a game RAM area and a non-game RAM area. However, in the power interruption process, the game RAM area is calculated by calculating the adjustment data in which the calculation result using both the data stored in the game RAM area and the data stored in the non-game RAM area becomes a specific value. Alternatively, the RAM 41c is set in the non-game RAM area, and is based on whether or not the calculation result using both the data stored in the game RAM area and the data stored in the non-game RAM area in the startup process becomes a specific value. In the configuration for determining whether or not the data in the above is normal, that is, in the power interruption process, the process for calculating the adjustment data for determining whether or not the data in the RAM 41c is normal, and determining whether or not the data is normal when the power is turned on. The process of calculating the data to be performed and the process of determining whether or not the data of the RAM 41c is normal based on the data calculated when the power is turned on may be performed without distinguishing between the game RAM area and the non-game RAM area. With such a configuration, in the power failure process, a process of calculating adjustment data for determining whether the data in the RAM 41c is normal, and a process for determining whether the data is normal when the power is turned on. It is possible to reduce the program capacity required for the process of calculating the data and the process of determining whether or not the data in the RAM 41c is normal based on the data calculated when the power is turned on.
また、このような構成においても、電断処理において遊技RAM領域、非遊技RAM領域だけでなく、未使用領域3、4を含む全ての領域のデータを用いて調整用データを算出し、起動処理においても遊技RAM領域、非遊技RAM領域だけでなく、未使用領域3、4を含む全ての領域のデータを用いて算出した結果が特定の値となるか否かによってRAM41cのデータが正常か否かを判定する構成とすることが好ましく、このような構成においても、未使用領域1、2に不正なプログラムが記憶された場合には、RAM異常と判定されるため、未使用領域1、2に不正なプログラムが記憶されることを防止できる。 Further, even in such a configuration, in the power interruption processing, adjustment data is calculated using not only the game RAM area and the non-game RAM area but also the data of all the areas including the unused areas 3 and 4, and the activation process is performed. Whether or not the data in the RAM 41c is normal depends on whether or not the result calculated using the data of all the areas including the unused areas 3 and 4 as well as the game RAM area and the non-game RAM area becomes a specific value. It is preferable to have a configuration for determining whether or not, and even in such a configuration, if an invalid program is stored in the unused areas 1 and 2, it is determined that the RAM is abnormal. Therefore, the unused areas 1 and 2 It is possible to prevent malicious programs from being stored in the data.
本実施例では、遊技制御基板40のリセット回路49は、図20に示すように、電源基板101から供給される電源電圧のうちメイン制御部41の駆動電圧(DC+5V)よりも高い監視電圧(DC+24V)を監視し、電源投入時に監視電圧が、メイン制御部41が動作可能となる動作可能電圧(メイン)(+3.5V)を超えた場合にリセット信号をONにしてメイン制御部41に対して出力し、その後、メイン制御部41の駆動電圧(DC+5V)が安定するために十分な時間(監視電圧が+24Vまで上昇するのに十分な時間)が経過したときに、リセット信号をOFFにしてメイン制御部41を起動させる。一方、演出制御基板90のリセット回路95は、電源投入時においてリセット回路49によりリセット信号がOFFにされるとき、すなわちメイン制御部41が起動することとなるタイミングよりも早いタイミングでサブ制御部91に対して出力するリセット信号をOFFにすることで、電源投入時においてメイン制御部41よりも早い段階でサブ制御部91を起動させ、メイン制御部41から送信される復帰コマンドまたは設定コマンド(開始)をサブ制御部91が受信可能な状態で待機させる。 In this embodiment, as shown in FIG. 20, the reset circuit 49 of the game control board 40 has a monitoring voltage (DC + 24V) higher than the drive voltage (DC + 5V) of the main control unit 41 among the power supply voltages supplied from the power supply board 101. ) Is monitored, and when the monitoring voltage exceeds the operable voltage (main) (+ 3.5V) that enables the main control unit 41 to operate when the power is turned on, the reset signal is turned on to the main control unit 41. After the output, when a sufficient time (sufficient time for the monitoring voltage to rise to + 24V) has elapsed for the drive voltage (DC + 5V) of the main control unit 41 to stabilize, the reset signal is turned off and the main control unit 41 is turned off. The control unit 41 is activated. On the other hand, the reset circuit 95 of the effect control board 90 has the sub control unit 91 when the reset signal is turned off by the reset circuit 49 when the power is turned on, that is, at a timing earlier than the timing when the main control unit 41 is activated. By turning off the reset signal output to the main control unit 41, the sub control unit 91 is activated at an earlier stage than the main control unit 41 when the power is turned on, and a return command or setting command (start) transmitted from the main control unit 41. ) Is put on standby in a state where the sub-control unit 91 can receive.
そして、メイン制御部41は、リセット回路49が出力するリセット信号がOFFとなって起動した際に、上述の初期設定処理を実行し、電断前の状態に復帰可能な場合には、初期設定処理の終了時に復帰コマンドを送信した後、タイマ割込を許可し、その後、タイマ割込処理を一定間隔毎に実行する。また、リセット信号がOFFとなって起動した際に、設定キースイッチ37がONの状態であり、RAM41cが初期化され、電断前の状態に復帰させずに設定変更状態を開始する場合には、初期設定処理の終了時においてタイマ割込が許可される前に、復帰コマンドに替えて設定コマンド(開始)をサブ制御部91に対して送信した後、タイマ割込を許可し、その後、タイマ割込処理を一定間隔毎に実行する。一方、サブ制御部91は、メイン制御部41が起動する前に起動し、初期設定処理を実行して完了させ、コマンドを受信可能な状態で復帰コマンドまたは設定コマンド(開始)を受信するまで待機する。 Then, the main control unit 41 executes the above-mentioned initial setting process when the reset signal output by the reset circuit 49 is turned off and starts up, and if it is possible to return to the state before the power failure, the initial setting After sending a reset command at the end of the process, the timer interrupt is permitted, and then the timer interrupt process is executed at regular intervals. Further, when the reset signal is turned off and the operation is started, the setting key switch 37 is in the ON state, the RAM 41c is initialized, and the setting change state is started without returning to the state before the power failure. , Before the timer interrupt is permitted at the end of the initial setting process, a setting command (start) is sent to the sub-control unit 91 instead of the reset command, and then the timer interrupt is permitted, and then the timer The interrupt process is executed at regular intervals. On the other hand, the sub control unit 91 starts before the main control unit 41 starts, executes and completes the initial setting process, and waits until a return command or a setting command (start) is received in a state where the command can be received. To do.
次いで、メイン制御部41は、復帰コマンドまたは設定コマンドを送信した後、タイマ割込処理(メイン)を一定間隔毎に実行し、当該タイマ割込処理(メイン)において通常時コマンド送信処理を実行した際に、コマンドキューに送信すべきコマンドが格納されていない場合には、ドア開放検出スイッチ25の検出状態に基づいてドアコマンドを生成して送信する。一方、サブ制御部91は、復帰コマンドまたは設定コマンド(開始)を受信することで、演出装置の出力制御を開始する。 Next, the main control unit 41 executes the timer interrupt process (main) at regular intervals after transmitting the return command or the setting command, and executes the normal command transmission process in the timer interrupt process (main). At that time, if the command to be transmitted is not stored in the command queue, the door command is generated and transmitted based on the detection state of the door open detection switch 25. On the other hand, the sub control unit 91 starts the output control of the effect device by receiving the return command or the setting command (start).
また、メイン制御部41は、タイマ割込処理(メイン)において実行する通常時コマンド送信処理によりドアコマンド等を送信するとともに、メイン制御部41の起動後、初期設定処理の終了時まではタイマ割込が許可されることがなく、メイン制御部41の起動後、復帰コマンドまたは設定コマンド(開始)を送信した後に、通常時コマンド送信処理により送信されるドアコマンド等のコマンドの送信が許可されることとなる。 In addition, the main control unit 41 transmits a door command or the like by a normal command transmission process executed in the timer interrupt process (main), and after the main control unit 41 is started, the timer is interrupted until the end of the initial setting process. The interrupt is not permitted, and after the main control unit 41 is started, after the return command or setting command (start) is transmitted, the transmission of commands such as the door command transmitted by the normal command transmission process is permitted. It will be.
また、図20に示すように、メイン制御部41は、タイマ割込処理(メイン)において停電判定処理を実行して、電断検出回路48から電圧低下信号が入力されているか否かに基づいて電断の発生を特定する。電断検出回路48は、メイン制御部41の駆動電圧(DC+5V)よりも高い前述の監視電圧(DC+24V)を監視し、監視電圧がメイン制御部41の駆動電圧(DC+5V)よりも高い電圧低下検出電圧(メイン)(+20V)以下になると電圧低下信号を出力するため、メイン制御部41は、監視電圧が電圧低下検出電圧(メイン)以下となることで電断の発生が特定されることとなる。そして、メイン制御部41は、停電判定処理において電断の発生が特定されると、電断時コマンド送信処理を実行して、コマンドキューに格納されている全てのコマンドをサブ制御部91に対して送信した後、電断処理(メイン)を実行する。 Further, as shown in FIG. 20, the main control unit 41 executes a power failure determination process in the timer interrupt process (main) based on whether or not a voltage drop signal is input from the power failure detection circuit 48. Identify the occurrence of a power outage. The power failure detection circuit 48 monitors the above-mentioned monitoring voltage (DC + 24V) higher than the drive voltage (DC + 5V) of the main control unit 41, and detects a voltage drop in which the monitoring voltage is higher than the drive voltage (DC + 5V) of the main control unit 41. Since the voltage drop signal is output when the voltage (main) (+ 20V) or less, the main control unit 41 identifies the occurrence of the power failure when the monitoring voltage becomes the voltage drop detection voltage (main) or less. .. Then, when the occurrence of the power failure is specified in the power failure determination process, the main control unit 41 executes the command transmission process at the time of the power failure, and sends all the commands stored in the command queue to the sub control unit 91. After sending, the power failure process (main) is executed.
また、リセット回路49は、監視電圧が電圧低下検出電圧(メイン)(+20V)よりも低く、動作可能電圧(メイン)(+3.5V)よりも高い動作制限電圧(メイン)(+8V)以下となることで、リセット信号をONにしてメイン制御部41を動作不能な状態とする。動作制限電圧(メイン)は、電断検出回路48が電断の発生を検出する電圧低下検出電圧(メイン)以下となった後、動作制限電圧(メイン)に降下するまでの時間が、電圧低下検出電圧(メイン)以下となってからメイン制御部41が電断の発生を特定し、電断時コマンド送信処理を実行し、かつ電断処理を実行するのに必要な時間が確保されるように設定されている。 Further, the reset circuit 49 has an operating limit voltage (main) (+ 8V) or less in which the monitoring voltage is lower than the voltage drop detection voltage (main) (+ 20V) and higher than the operable voltage (main) (+ 3.5V). As a result, the reset signal is turned on to make the main control unit 41 inoperable. The operating limit voltage (main) is the voltage drop for the time until the voltage drop detection circuit 48 drops to the operating limit voltage (main) after it becomes equal to or lower than the voltage drop detection voltage (main) that detects the occurrence of a power failure. After the voltage drops below the detection voltage (main), the main control unit 41 identifies the occurrence of a power failure, executes the command transmission process at the time of the power failure, and secures the time required to execute the power failure process. Is set to.
電圧低下検出電圧(メイン)以下となってからメイン制御部41が電断の発生を特定し、電断時コマンド送信処理を実行し、かつ電断処理を実行するのに必要な時間とは、メイン制御部41が電断を検出するまでの最大時間(タイマ割込処理(メイン)毎に電断の発生が特定されるため0.56ms)と、電断時コマンド送信処理にてコマンドキューに格納可能な最大数(32)のコマンドを送信するのに要する時間(1コマンド送信に40μs(MODE送信10μs、送信間隔10μs、EXT送信10μs、送信間隔10μs)要するため、最大数の送信の場合40×32=1280μs)と、電断処理(メイン)に要する時間と、を合算した時間である。 The time required for the main control unit 41 to identify the occurrence of a power failure after the voltage drop detection voltage (main) or less, execute the command transmission process at the time of the power failure, and execute the power failure process is The maximum time until the main control unit 41 detects a power failure (0.56 ms because the occurrence of a power failure is specified for each timer interrupt process (main)) and the command queue in the command transmission process at the time of a power failure. The time required to transmit the maximum number of commands (32) that can be stored (40 μs for one command transmission (MODE transmission 10 μs, transmission interval 10 μs, EXT transmission 10 μs, transmission interval 10 μs), so 40 for the maximum number of transmissions) × 32 = 1280 μs) and the time required for the power interruption process (main), which is the total time.
一方、電断検出回路98は、サブ制御部91の駆動電圧(DC+5V)よりも高い前述の監視電圧(DC+24V)を監視し、監視電圧が、動作制限電圧(メイン)(+8V)よりも低く、サブ制御部91の駆動電圧(DC+5V)よりも高い電圧低下検出電圧(サブ)(+6V)以下になると電圧低下信号を出力するため、サブ制御部91は、監視電圧が電圧低下検出電圧(サブ)以下となることで電断の発生が特定されることとなる。そして、サブ制御部91は、停電判定処理において電断の発生が特定されると、電断処理(サブ)を実行する。 On the other hand, the power failure detection circuit 98 monitors the above-mentioned monitoring voltage (DC + 24V) higher than the drive voltage (DC + 5V) of the sub control unit 91, and the monitoring voltage is lower than the operation limit voltage (main) (+ 8V). Since a voltage drop signal is output when the voltage drop detection voltage (sub) (+ 6V) is higher than the drive voltage (DC + 5V) of the sub control section 91, the monitoring voltage of the sub control section 91 is the voltage drop detection voltage (sub). The occurrence of power failure will be identified by the following. Then, when the occurrence of the power failure is specified in the power failure determination process, the sub control unit 91 executes the power failure process (sub).
また、リセット回路95は、監視電圧が電圧低下検出電圧(サブ)(+6V)よりも低く、動作可能電圧(サブ)(+3.5V)よりも高い動作制限電圧(サブ)(+4V)以下となることで、リセット信号をONにしてサブ制御部91を動作不能な状態とする。動作制限電圧(サブ)は、電断検出回路98が電断の発生を検出する電圧低下検出電圧(サブ)以下となった後、動作制限電圧(サブ)に降下するまでの時間が、電圧低下検出電圧(サブ)以下となってからサブ制御部91が電断の発生を特定し、電断処理を実行するのに必要な時間が確保されるように設定されている。 Further, the reset circuit 95 has an operating limit voltage (sub) (+ 4V) or less in which the monitoring voltage is lower than the voltage drop detection voltage (sub) (+ 6V) and higher than the operable voltage (sub) (+ 3.5V). As a result, the reset signal is turned on to make the sub control unit 91 inoperable. The operating limit voltage (sub) is the voltage drop for the time from when the power failure detection circuit 98 drops below the voltage drop detection voltage (sub) that detects the occurrence of a power failure until it drops to the operation limit voltage (sub). The sub control unit 91 identifies the occurrence of a power failure after the voltage falls below the detection voltage (sub), and is set so that the time required to execute the power failure process is secured.
また、サブ制御部91は、監視電圧が、動作制限電圧(メイン)、すなわちメイン制御部41による電断時コマンド送信処理及び電断処理(メイン)の完了後にメイン制御部41が動作不能となる電圧よりも低い電圧低下検出電圧(サブ)以下になると出力される電圧低下信号により電断の発生を特定して電断処理(サブ)を実行するようになっており、少なくともメイン制御部41が電断時コマンド送信処理を完了させるまでコマンドを受信可能な状態が維持されるので、メイン制御部41が電断時コマンド送信処理により送信したコマンドを全て受信した状態で電断処理を実行することができるようになっている。尚、サブ制御部91が電断の発生を特定するタイミングが、メイン制御部41が動作不能となる前のタイミングであっても、メイン制御部41が電断時コマンド送信処理により送信したコマンドを全て受信するのに十分なタイミングまでコマンドを受信可能な状態が維持される構成であれば、メイン制御部41が電断時コマンド送信処理により送信したコマンドを全て受信した状態で電断処理を実行することができる。 Further, in the sub control unit 91, the main control unit 41 becomes inoperable after the monitoring voltage is the operation limit voltage (main), that is, the command transmission process and the power cut process (main) at the time of power interruption by the main control unit 41 are completed. When the voltage drop detection voltage (sub) is lower than the voltage, the voltage drop signal output is used to identify the occurrence of the power failure and execute the power failure process (sub). At least the main control unit 41 Since the state in which commands can be received is maintained until the command transmission process at the time of power failure is completed, the power failure process should be executed in a state where the main control unit 41 has received all the commands transmitted by the command transmission process at the time of power failure. Can be done. Even if the timing at which the sub-control unit 91 identifies the occurrence of a power failure is the timing before the main control unit 41 becomes inoperable, the command transmitted by the main control unit 41 by the command transmission process at the time of power failure is transmitted. If the configuration is such that the command can be received until the timing sufficient to receive all the commands, the main control unit 41 executes the power interruption process in the state where all the commands transmitted by the command transmission process at the time of power failure are received. can do.
このように、本実施例のメイン制御部41は、メイン処理等において遊技の進行に応じてコマンドを生成し、生成したコマンドをコマンドキューに格納し、タイマ割込処理(メイン)において通常時コマンド送信処理を実行する毎にコマンドキューに格納されている未送信のコマンドをサブ制御部91に対して送信する構成である。 As described above, the main control unit 41 of the present embodiment generates a command according to the progress of the game in the main process or the like, stores the generated command in the command queue, and performs a normal command in the timer interrupt process (main). Each time a transmission process is executed, an untransmitted command stored in the command queue is transmitted to the sub-control unit 91.
このような構成では、複数のコマンドがコマンドキューに格納されている状態で、スロットマシン1への電力供給が停止されて電断が生じることがあり、メイン制御部41による電断検出時にメイン制御部41側において複数のコマンドが未送信の状態であって、電断後も未送信のコマンドをそのまま保持し、電断復帰後に電断前から保持されていたコマンドをサブ制御部91に対して送信すると、電断時及び電断復帰時におけるメイン制御部41側の制御状態と、サブ制御部91側で特定されるメイン制御部41側の制御状態と、が異なってしまうこととなる。 In such a configuration, while a plurality of commands are stored in the command queue, the power supply to the slot machine 1 may be stopped and a power failure may occur, and the main control is performed when the power failure is detected by the main control unit 41. A plurality of commands have not been transmitted on the unit 41 side, the untransmitted commands are retained as they are even after the power failure, and the commands held before the power failure are transmitted to the sub control unit 91 after the power failure is restored. If transmitted, the control state on the main control unit 41 side at the time of power interruption and the time of recovery from power interruption will be different from the control state on the main control unit 41 side specified by the sub control unit 91 side.
これに対して、本実施例では、メイン制御部41は、電断検出時に、電断前の制御状態に復帰可能とするための電断処理(メイン)を実行する前にコマンドキューに格納されている全てのコマンドをサブ制御部91に対して送信するため電断時コマンド送信処理を実行するので、電断時及び電断復帰時におけるメイン制御部41側の制御状態と、サブ制御部91側で特定されるメイン制御部41側の制御状態と、を極力一致させることができる。 On the other hand, in the present embodiment, the main control unit 41 is stored in the command queue before executing the power interruption process (main) for returning to the control state before the power failure when the power failure is detected. Since the command transmission process at the time of power failure is executed to transmit all the commands to the sub control unit 91, the control state on the main control unit 41 side at the time of power failure and the time of recovery from power failure and the sub control unit 91 The control state on the main control unit 41 side specified on the side can be matched as much as possible.
また、メイン制御部41は、電断検出時に、電力供給が停止されてから制御不能となるまでの期間が、コマンドキューに格納可能な最大数のコマンド(本実施例では、最大32のコマンド)をサブ制御部91に対して送信し、かつ電断処理(メイン)が完了するのに要する期間よりも長いので、電断検出後、コマンドキューに格納されている全てのコマンドを送信してから電断処理(メイン)までの処理を確実に実行させることができる。 Further, the main control unit 41 has a maximum number of commands that can be stored in the command queue during the period from when the power supply is stopped until when the power supply becomes uncontrollable at the time of power failure detection (up to 32 commands in this embodiment). Is transmitted to the sub-control unit 91, and it is longer than the period required for the power failure process (main) to be completed. Therefore, after the power failure is detected, all the commands stored in the command queue are transmitted. It is possible to reliably execute the processing up to the power interruption processing (main).
尚、本実施例では、遊技の制御を行う第1の制御手段であるメイン制御部41が、演出の制御を行う第2の制御手段であるサブ制御部91に対して制御情報としてコマンドを送信する構成であるが、第1の制御手段は、遊技の制御以外の制御、例えば、演出の制御を行う制御手段であっても良い。また、第2の制御手段は、第1の制御手段から送信された制御情報に基づいて何らかの制御を行う制御手段であれば良く、例えば、第1の制御手段が演出の制御を行う制御手段である場合に、第1の制御手段から送信された制御情報に基づいて演出装置の制御を行う制御手段を第2の制御手段としても良い。 In this embodiment, the main control unit 41, which is the first control means for controlling the game, transmits a command as control information to the sub control unit 91, which is the second control means for controlling the effect. However, the first control means may be a control means other than the control of the game, for example, the control of the effect. Further, the second control means may be any control means that performs some control based on the control information transmitted from the first control means. For example, the second control means is a control means that controls the effect. In some cases, the control means that controls the effect device based on the control information transmitted from the first control means may be used as the second control means.
また、本実施例では、メイン制御部41(第1の制御手段)が実行する電断処理(メイン)として、バックアップ領域のRAMパリティ(排他的論理和)が0となるようにRAMパリティ調整用データを設定し、かつ破壊診断用データ(0以外のデータ)を設定する処理を行うことで、電断復帰時にRAMパリティが0であり、かつ破壊診断用データが一致することによりバックアップ領域のデータが正常と判定可能となる構成であるが、スロットマシン1への電力供給が停止して電断が生じた際に、電断前の制御状態に復帰可能とするための電断処理であれば良く、例えば、バックアップ領域のチェックサムを設定し、電断復帰時に算出したチェックサムと一致することでバックアップ領域のデータが正常と判定可能となる構成でも良い。 Further, in this embodiment, as the power interruption process (main) executed by the main control unit 41 (first control means), the RAM parity is adjusted so that the RAM parity (exclusive logical sum) of the backup area becomes 0. By setting the data and performing the process of setting the destruction diagnosis data (data other than 0), the RAM parity is 0 at the time of recovery from the power failure, and the destruction diagnosis data match, so that the data in the backup area However, if the power supply to the slot machine 1 is stopped and a power failure occurs, the control state before the power failure can be restored. A good example is that the checksum of the backup area may be set and the checksum of the backup area may be determined to be normal by matching the checksum calculated at the time of recovery from the power failure.
また、本実施例では、遊技制御基板40のリセット回路49が、電断発生時に、監視電圧が降下してメイン制御部41が動作不能となる動作可能電圧(メイン)以下となる前にリセット信号をメイン制御部41に供給し、リセット信号が供給されることでメイン制御部41は一切の動作を停止させる、すなわち制御不能な状態とする構成であり、メイン制御部41は、電断検出後、リセット信号が供給されて制御不能となるまでの期間が、コマンドキューに格納可能な最大数のコマンドをサブ制御部91に対して送信し、かつ電断処理(メイン)が完了するのに要する期間よりも長くなる構成であるが、電断時にメイン制御部41にリセット信号が供給されない構成においては、監視電圧がメイン制御部41の動作可能電圧(メイン)を下回って制御不能となるまでの期間が、コマンドキューに格納可能な最大数のコマンドをサブ制御部91に対して送信し、かつ電断処理(メイン)が完了するのに要する期間よりも長くなる構成であっても、電断検出後、コマンドキューに格納されている全てのコマンドを送信してから電断処理(メイン)までの処理を確実に実行させることができる。 Further, in the present embodiment, when the reset circuit 49 of the game control board 40 becomes an operable voltage (main) or less, the monitoring voltage drops and the main control unit 41 becomes inoperable when a power failure occurs. Is supplied to the main control unit 41, and when a reset signal is supplied, the main control unit 41 stops all operations, that is, is in an uncontrollable state, and the main control unit 41 is configured after the power failure is detected. , The period until the reset signal is supplied and the control becomes uncontrollable is required for the maximum number of commands that can be stored in the command queue to be transmitted to the sub-control unit 91 and for the power interruption process (main) to be completed. Although the configuration is longer than the period, in the configuration in which the reset signal is not supplied to the main control unit 41 at the time of power failure, the monitoring voltage falls below the operable voltage (main) of the main control unit 41 until it becomes uncontrollable. Even if the period is longer than the period required to send the maximum number of commands that can be stored in the command queue to the sub-control unit 91 and complete the power cut processing (main), the power is cut off. After detection, it is possible to reliably execute the processing from the transmission of all the commands stored in the command queue to the power cut processing (main).
また、本実施例では、電断発生時にメイン制御部41の動作を停止させる動作制限電圧(メイン)が、電断検出回路48が電断の発生を検出する電圧低下検出電圧(メイン)以下となった後、動作制限電圧(メイン)に降下するまでの時間が、電圧低下検出電圧(メイン)以下となってからメイン制御部41が電断の発生を特定し、電断時コマンド送信処理を実行し、かつ電断処理を実行するのに必要な時間が確保されるように設定されることで、電断発生後、メイン制御部41が動作不能となるまでの期間が、コマンドキューに格納可能な最大数のコマンドをサブ制御部91に対して送信し、かつ電断処理(メイン)が完了するのに要する期間よりも長くなる構成であるが、電断発生時からメイン制御部41の駆動電圧の低下をコンデンサ、電池、キャパシタ等により遅延させることで電断発生後、メイン制御部41が動作不能となるまでの期間が、コマンドキューに格納可能な最大数のコマンドをサブ制御部91に対して送信し、かつ電断処理(メイン)が完了するのに要する期間よりも長くなる構成としたり、メイン制御部41が動作不能となるまでの期間が、コマンドキューに格納可能な最大数のコマンドをサブ制御部91に対して送信し、かつ電断処理(メイン)が完了するのに要する期間よりも長くなるようにコマンドキューに格納可能な最大数を設定する構成としても良く、これらの構成であっても、電断発生後、コマンドキューに格納されている全てのコマンドを送信してから電断処理(メイン)までの処理を確実に実行させることができる。 Further, in this embodiment, the operation limit voltage (main) for stopping the operation of the main control unit 41 when a power failure occurs is equal to or less than the voltage drop detection voltage (main) at which the power failure detection circuit 48 detects the occurrence of a power failure. After the time until the operation limit voltage (main) drops to the operation limit voltage (main) or less, the main control unit 41 identifies the occurrence of a power failure and performs a command transmission process at the time of the power failure. By setting so that the time required for execution and execution of the power failure processing is secured, the period from the occurrence of the power failure until the main control unit 41 becomes inoperable is stored in the command queue. The configuration is such that the maximum number of possible commands is transmitted to the sub-control unit 91, and the period required for the power interruption processing (main) to be completed is longer than the period required. The sub-control unit 91 can store the maximum number of commands that can be stored in the command queue for the period from when a power failure occurs until the main control unit 41 becomes inoperable by delaying the decrease in drive voltage by a capacitor, battery, capacitor, etc. The maximum number that can be stored in the command queue is the period until the main control unit 41 becomes inoperable or the configuration is such that it is transmitted to the command and is longer than the period required for the power interruption processing (main) to be completed. The command may be transmitted to the sub-control unit 91, and the maximum number that can be stored in the command queue may be set so as to be longer than the period required for the power interruption processing (main) to be completed. Even with this configuration, it is possible to reliably execute the processing from the transmission of all the commands stored in the command queue to the power failure processing (main) after the power failure occurs.
また、本実施例のメイン制御部41は、電断検出時に、電断時コマンド送信処理を実行して、コマンドキューに格納されている全てのコマンドをサブ制御部91に対して送信した後、電断処理(メイン)を実行し、当該電断処理(メイン)においてコマンドを出力する出力ポートを含むパラレル出力ポート513の各出力ポートを初期化するので、電力供給が不安定な状態で誤ってコマンドが送信されてしまうことを防止できる。 Further, the main control unit 41 of the present embodiment executes the command transmission process at the time of power failure when the power failure is detected, and after transmitting all the commands stored in the command queue to the sub control unit 91, Since the power supply process (main) is executed and each output port of the parallel output port 513 including the output port that outputs the command in the power failure process (main) is initialized, the power supply is erroneously unstable. It is possible to prevent the command from being sent.
また、本実施例のメイン制御部41は、タイマ割込処理(メイン)において通常時コマンド送信処理を実行することで、コマンドキューに格納されている格納領域に格納されているコマンドのうち所定数(本実施例では、1つ)のコマンドを所定契機(タイマ割込処理(メイン)4回に1回)毎にサブ制御部91に対して送信するので、所定数(本実施例では、1つ)以上のコマンドがコマンドキューに格納されている場合でも、1回のタイマ割込処理(メイン)において送信されるコマンドの送信数が所定数に制限されるため、通常時コマンド送信処理におけるコマンドの送信によりメイン制御部41による他の制御が遅延してしまうことを防止できる。 Further, the main control unit 41 of the present embodiment executes a normal command transmission process in the timer interrupt process (main), so that a predetermined number of commands stored in the storage area stored in the command queue can be executed. Since (in this embodiment, one) command is transmitted to the sub-control unit 91 every predetermined trigger (once every four timer interrupt processes (main)), a predetermined number (1 in this embodiment) is transmitted. Even if the above commands are stored in the command queue, the number of commands transmitted in one timer interrupt process (main) is limited to a predetermined number, so the commands in the normal command transmission process It is possible to prevent the other control by the main control unit 41 from being delayed due to the transmission of.
また、本実施例のメイン制御部41は、所定契機において(タイマ割込処理(メイン)において実行する通常時コマンド送信処理を行うとき)、コマンドキューに遊技の進行に応じたコマンド(内部当選コマンド、停止操作時コマンド等)が格納されていない場合に、ドア開放検出スイッチ25の検出状態を示すドアコマンドをサブ制御部91に対して送信することで、前面扉1bの開閉状態をサブ制御部91が特定可能となるとともに、ドアコマンドは、所定契機においてコマンドキューに遊技の進行に応じたコマンドが格納されていない場合に送信されるので、遊技の進行に応じたコマンドの送信がドアコマンドの送信によって遅延したり、ドアコマンドの送信によりメイン制御部41による他の制御(例えば、メイン処理における各制御)が遅延してしまうことを防止できる。 In addition, the main control unit 41 of this embodiment sets a command (internal winning command) in the command queue according to the progress of the game at a predetermined trigger (when performing a normal command transmission process executed in the timer interrupt process (main)). , Stop operation command, etc.) is not stored, and by transmitting a door command indicating the detection status of the door open detection switch 25 to the sub control unit 91, the open / closed state of the front door 1b can be changed to the sub control unit. Since 91 can be specified and the door command is transmitted when the command according to the progress of the game is not stored in the command queue at a predetermined trigger, the transmission of the command according to the progress of the game is the door command. It is possible to prevent the delay due to the transmission and the delay of other controls (for example, each control in the main process) by the main control unit 41 due to the transmission of the door command.
また、メイン制御部41は、その起動後、復帰コマンドまたは設定コマンド(開始)を送信した後に、通常時コマンド送信処理により送信されるドアコマンド等のコマンドの送信が許可されるようになっており、電源投入後、電断前の状態に復帰させて復帰コマンドを送信するか、電断前の状態に復帰させずに設定コマンド(開始)を送信するまではドアコマンドが送信されることがないので、メイン制御部41を復帰させるか否かが確定した後に、サブ制御部91側でメイン制御部41側の状態を特定することができるとともに、メイン制御部41が電断前の制御状態に復帰するか否か確定していない状態でサブ制御部91がコマンドを受信することで、意図しない動作が行われてしまうことを防止できる。 Further, the main control unit 41 is allowed to transmit a command such as a door command transmitted by a normal command transmission process after transmitting a return command or a setting command (start) after its activation. After turning on the power, the door command will not be sent until the state before the power failure is restored and the return command is sent, or the setting command (start) is sent without returning to the state before the power failure. Therefore, after it is determined whether or not to restore the main control unit 41, the state of the main control unit 41 can be specified on the sub control unit 91 side, and the main control unit 41 is in the control state before the power failure. When the sub-control unit 91 receives a command in a state where it is not determined whether or not to return, it is possible to prevent an unintended operation from being performed.
尚、本実施例では、通常時コマンド送信処理においてコマンドキューにいずれのコマンドも格納されていない場合に、ドア開放検出スイッチ25の検出状態を示すドアコマンドを生成して送信する構成であるが、通常時コマンド送信処理においてコマンドキューにいずれのコマンドも格納されていない場合に、スイッチ検出回路44の出力に基づいて操作スイッチ類(MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R)の検出状態(on/off)を示すコマンド、エラーの検出の有無及び検出したエラーの種類を示すコマンド、当該ゲームの遊技状態を特定可能なコマンドなど、メイン制御部41側の制御状態を特定可能なコマンドを生成してサブ制御部91に対して送信する構成としても良く、このような構成であっても、メイン制御部41側の制御状態をサブ制御部91が特定可能となるとともに、遊技の進行に応じたコマンドの送信がメイン制御部41の制御状態を特定可能なコマンドの送信によって遅延したり、メイン制御部41の制御状態を特定可能なコマンドの送信によりメイン制御部41による他の制御が遅延してしまうことを防止できる。 In this embodiment, when no command is stored in the command queue in the normal command transmission process, a door command indicating the detection state of the door open detection switch 25 is generated and transmitted. When no command is stored in the command queue in the normal command transmission process, the operation switches (MAXBET switch 6, start switch 7, stop switch 8L, 8C, 8R) are based on the output of the switch detection circuit 44. It is possible to specify the control state on the main control unit 41 side, such as a command indicating the detection state (on / off), a command indicating the presence / absence of error detection and the type of detected error, and a command capable of specifying the game state of the game. A command may be generated and transmitted to the sub control unit 91. Even with such a configuration, the sub control unit 91 can specify the control state on the main control unit 41 side, and the game can be played. The transmission of commands according to the progress is delayed by the transmission of commands that can specify the control state of the main control unit 41, or other control by the main control unit 41 by the transmission of commands that can specify the control state of the main control unit 41. Can be prevented from being delayed.
次に、メイン制御部41が遊技の進行制御等に用いる時間間隔を計測するためのタイマカウンタについて、図21、17を用いて説明する。 Next, a timer counter for measuring the time interval used by the main control unit 41 for controlling the progress of the game and the like will be described with reference to FIGS. 21 and 17.
メイン制御部41は、計時開始条件が成立したときに、RAM41cに割り当てられたタイマカウンタのタイマ値として計時時間に応じた初期値を設定するとともに、タイマ割込処理(メイン)において定期的にタイマ値を減算し、タイマ値が0となることで計時時間が経過したことを特定するようになっている。 When the timekeeping start condition is satisfied, the main control unit 41 sets an initial value according to the timekeeping time as the timer value of the timer counter assigned to the RAM 41c, and periodically timers in the timer interrupt process (main). The value is subtracted and the timer value becomes 0 to specify that the time has passed.
詳しくは、メイン制御部41は、メイン処理において計時開始条件が成立したときに、当該条件に応じたタイマカウンタが割り当てられた領域に計時時間に応じたタイマ値の初期値を設定する。設定されたタイマ値は、タイマ割込処理(メイン)の時間カウンタ更新処理において、約2.24ms毎に0となるまで1ずつ減算される。 Specifically, when the timekeeping start condition is satisfied in the main process, the main control unit 41 sets the initial value of the timer value according to the timekeeping time in the area to which the timer counter corresponding to the condition is assigned. The set timer value is subtracted by 1 in the time counter update process of the timer interrupt process (main) until it becomes 0 about every 2.24 ms.
そして、メイン処理では、図21に示すように、該当するタイマカウンタのアドレスを取得し(Si1)、取得した値を読み出し(Si2)、読み出した値が0でないか否かを判定し(Si3)、読み出した値が0であると判定した場合に、計時時間が経過したことを特定する。 Then, in the main process, as shown in FIG. 21, the address of the corresponding timer counter is acquired (Si1), the acquired value is read (Si2), and it is determined whether or not the read value is not 0 (Si3). , When it is determined that the read value is 0, it is specified that the time counting time has elapsed.
本実施例において用いるタイマカウンタは、図22に示すように、初期値が1バイト以下の1バイトタイマA、1バイトタイマB、1バイトタイマC、初期値が1バイトを超え、2バイト以下の2バイトタイマA、2バイトタイマB、2バイトタイマC、2バイトタイマDを含む。 As shown in FIG. 22, the timer counter used in this embodiment has an initial value of 1 byte or less, 1 byte timer A, 1 byte timer B, 1 byte timer C, and an initial value of more than 1 byte and 2 bytes or less. Includes 2-byte timer A, 2-byte timer B, 2-byte timer C, and 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 of 1 byte or less. For example, an external output signal timer that measures the output period of an external output signal and an LED output update period. LED update timer to measure, stop invalid timer to measure the period from detection of stop operation until the stop operation is activated again, payout waiting to measure the period from reel stop to the start of medal payout The timer, the insertion detection timer that measures the period after the ON of the insertion medal sensor 31 is detected, the insertion port detection timer that measures the period after the ON of the insertion port sensor 26 is detected, and the ON of the payout sensor 34c are detected. There are a payout detection timer that measures the period after the start of rotation, a start timer that measures the period from the start of reel rotation until the stop operation becomes effective, and the like. Of these, the stop invalid timer, the payout wait timer, and the start timer do not span the timing at which one game ends in the measurement period by these timers, but the external output signal timer, LED update timer, input detection timer, and input port The detection timer and the payout detection timer may have a measurement time by these timers that spans the timing at which 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 of 1 byte or less. For example, a 1-game time timer that measures a specified time (about 4.1 seconds) required for 1 game. , A security signal timer that measures the minimum output period of the security signal among the external output signals, a standby time timer that measures the period from the end of the game, and a hopper empty that measures the period during which the payout sensor 34c is not detected after the hopper motor 34b is driven. There is a timer and so on. Of these, the standby time timer and the hopper empty timer do not straddle the timing at which the measurement period by these timers ends for one game, but the one game time timer and the security signal timer have the measurement time by these timers for one game. May straddle the end timing of.
このようにタイマカウンタは、1遊技の終了するタイミング、すなわち遊技の進行に応じてRAM41cの一部が初期化されるタイミング(1遊技の終了時または特定の遊技状態の終了時においてRAM41cの一部が初期化されるタイミング)を跨ぐ計測期間を計測するタイマカウンタと、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐことのないタイマカウンタと、を含むが、いずれのタイマカウンタも遊技の進行に応じたタイミングでは初期化されることのない特別ワークに割り当てられている。 In this way, the timer counter is a timing at which one game ends, that is, a timing at which a part of the RAM 41c is initialized according to the progress of the game (a part of the RAM 41c at the end of one game or at the end of a specific game state). A timer counter that measures the measurement period that straddles the timing at which is initialized) and 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. The counter is also assigned to a special work that is not initialized at the 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 1-byte timers A to C are allocated 1 byte each to the continuous 3-byte area (804CH to 804EH) of the RAM 41c, and the 2-byte timers A to D are the continuous 8-byte areas of the RAM 41c. Two bytes are allocated to each region (804FH to 8055H). Further, the 1-byte timers A to C and the 2-byte timers A to D are also assigned to the continuous area of the RAM 41c. Hereinafter, the area to which the 1-byte timers A to C are allocated is referred to as a 1-byte timer group, and the area to which the 2-byte timers A to D are allocated is referred to as a 2-byte timer group. That is, both the 1-byte timer group and the 2-byte timer group are set in the area 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 an address to be added by N (N is a natural number) from the start address and the start address is assigned.
図23は、時間カウンタ更新処理の制御内容を示すフローチャートである。 FIG. 23 is a flowchart showing the control contents of the time counter update 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. Set the pointer (Sj2).
次いで、指定アドレス(ポインタが示すアドレス)に格納された1バイトの値が0でなければ指定アドレスの1バイトの値を1減算し(Sj3)、Sj1のステップで設定した処理回数を1減算し(Sj4)、減算後の処理回数が0か否かを判定する(Sj5)。 Next, if the 1-byte value stored in the specified address (address indicated by the pointer) is not 0, the 1-byte value of the specified address is subtracted 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 subtraction is 0 (Sj5).
Sj5のステップで減算後の処理回数が0でない場合、すなわち全ての1バイトタイマの更新が終了していない場合には、ポインタを1加算し(Sj6)、Sj3のステップに戻る。これにより、未処理の1バイトタイマのアドレスにポインタが移動し、指定アドレスの1バイトの値が0でなければ減算される。 If the number of processes after subtraction is not 0 in the step of Sj5, that is, if the update of all 1-byte timers is not completed, the pointer is added by 1 (Sj6), and the process returns to the step of Sj3. As a result, the pointer moves to the address of the unprocessed 1-byte timer, and if the 1-byte value of the specified address is not 0, it is subtracted.
Sj5のステップで減算後の処理回数が0の場合、すなわち全ての1バイトタイマの更新が終了した場合には、2バイト用処理回数として、更新すべき2バイトのタイマカウンタの数(本実施例では4)をセットし(Sj7)、ポインタを1加算する(Sj8)。これにより、2バイトカウンタ群の先頭アドレス(804FH)にポインタが移動する。 When the number of processes after subtraction is 0 in the step of Sj5, that is, when the update of all 1-byte timers is completed, the number of 2-byte timer counters to be updated is set as the number of 2-byte processes (this embodiment). Then, 4) is set (Sj7), and the pointer is added by 1 (Sj8). As a result, the pointer moves to the start 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 specified address (address indicated by the pointer) and the next address is not 0, the 2-byte value of the specified address and the next address is subtracted by 1 (Sj9), and Sj7. The number of processes set in step 1 is subtracted by 1 (Sj10), and it is determined whether or not the number of processes after the subtraction is 0 (Sj11).
Sj11のステップで減算後の処理回数が0でない場合、すなわち全ての2バイトタイマの更新が終了していない場合には、ポインタを2加算し(Sj12)、Sj9のステップに戻る。これにより、未処理の2バイトタイマのアドレスにポインタが移動し、指定アドレス及び次のアドレスの2バイトの値が0でなければ減算される。 If the number of processes after subtraction is not 0 in the step of Sj11, that is, if the update of all 2-byte timers is not completed, the pointer is added by 2 (Sj12), and the process returns to the step of Sj9. As a result, the pointer moves to the address of the unprocessed 2-byte timer, and if the 2-byte value of the specified address and the next address is not 0, the pointer is subtracted.
Sj11のステップで減算後の処理回数が0の場合、すなわち全ての2バイトタイマの更新が終了した場合には、処理を終了する。 When the number of processes after subtraction is 0 in the step of Sj11, that is, when all the 2-byte timers have been updated, the processes are terminated.
このように本実施例では、RAM41cに割り当てられたタイマカウンタの値を定期的に更新し、特定の値(0)となることで時間の経過を特定するようになっている。従来は、複数種類の時間間隔を計測する場合に、計時を要する複数種類の処理内で、タイマ値の設定及び更新を行っており、複数種類のタイマ値を更新するためのプログラムをそれぞれの処理内に設ける必要があるため、プログラム容量が増大する要因となっていた。また、複数種類のタイマカウンタは、それぞれが用いられる処理毎のデータ群として割り当てられているため、一の処理においてまとめて更新するためには、それぞれの関連性のないアドレスの値を読み出す必要があった。 As described above, in this embodiment, the value of the timer counter assigned to the RAM 41c is periodically updated, and the passage of time is specified by becoming a specific value (0). Conventionally, when measuring multiple types of time intervals, timer values are set and updated within multiple types of processing that require timekeeping, and each process is a program for updating multiple types of timer values. Since it is necessary to provide it inside, it has been a factor of increasing the program capacity. In addition, since multiple types of timer counters are assigned as data groups for each process used, it is necessary to read the values of their unrelated addresses in order to update them collectively in one process. there were.
これに対して本実施例では、複数種類のタイマカウンタ値が格納される領域がRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定されるとともに、指定アドレスに格納されたタイマ値を更新する処理を、現在の指定アドレスに対して定数を加算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新するので、複数種類のアドレスをそれぞれ指定して当該アドレスの値を更新する処理を個々の処理で行う場合よりもプログラム容量を削減することができる。 On the other hand, in this embodiment, the area in which a plurality of types of timer counter values are stored is set in the area to which consecutive addresses are assigned according to a predetermined rule of the RAM 41c, and the timer values stored in the specified addresses are set. Since the update process is repeatedly executed while changing the specified address for the area where multiple types of timer counter values are stored by adding a constant to the current specified address, multiple types of timer values are updated. , The program capacity can be reduced as compared with the case where a process of designating a plurality of types of addresses and updating the value of the address is performed in each process.
尚、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成であれば良く、例えば、現在の指定アドレスに対して定数を加算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良いし、基準アドレスに対して処理数に応じた値(例えば、1バイトカウンタであれば、処理数1の場合に+1、処理数2の場合に+2、処理数3の場合に+3…)を加算または減算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。 It should be noted that the process of updating the timer value stored in the specified address is repeatedly executed while changing the specified address for the area in which the timer counter values of multiple types are stored by performing a predetermined operation, thereby performing multiple types of timers. Any configuration may be used as long as the value is updated. For example, by adding a constant to the current specified address, multiple types of timer counter values can be repeatedly executed while changing the specified address for the area where the value is stored. The timer value may be updated, 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 the number of processes 1 and +2 for the number of processes 2 and the number of processes). In the case of 3, +3 ...) may be added or subtracted to update the plurality of types of timer values by repeatedly executing while changing the designated address for the area in which the plurality of types of timer counter values are stored.
また、本実施例では、1バイトタイマA〜C、2バイトタイマA〜Dの7種類のタイマカウンタの値を備える構成であるが、少なくとも2種類以上のタイマカウンタの値をRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより2種類以上のタイマ値を更新する構成であれば、上記のようにプログラム容量を削減することができる。 Further, in this embodiment, the configuration includes seven types of timer counter values of 1-byte timers A to C and 2-byte timers A to D, but at least two or more types of timer counter values are set according to a predetermined rule of the RAM 41c. The process of updating the timer value stored in the specified address by setting the area where consecutive addresses are assigned in is changed by performing a predetermined operation to change the specified address for the area where multiple types of timer values are stored. However, if the configuration is such that two or more types of timer values are updated by repeatedly executing the timer values, the program capacity can be reduced as described above.
また、1バイトタイマまたは2バイトタイマの一方のみ、タイマカウンタの値をRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。 Further, for only one of the 1-byte timer and the 2-byte timer, the timer counter value is set in the area to which continuous addresses are assigned according to a predetermined rule of the RAM 41c, and the timer value stored in the specified address is updated. It is also possible to update the plurality of types of timer values by repeatedly executing the area while changing the designated address for the area in which the plurality of types of timer values are stored by performing a predetermined operation.
また、メイン制御部41が備える一部のタイマカウンタのみ、タイマ値をRAM41cの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。 Further, only a part of the timer counters provided in the main control unit 41 is set to the area to which continuous addresses are assigned according to a predetermined rule of the RAM 41c, and the timer value stored in the designated address is updated. A configuration may be used in which a plurality of types of timer values are updated by repeatedly executing the operation while changing the designated address for the area in which the plurality of types of timer values are stored by performing a predetermined operation.
また、本実施例では、計測する期間の種類毎に別個のタイマカウンタを備える構成であるが、例えば、計測する期間が重複しない複数種類の期間について一のタイマカウンタを共用する構成としても良い。 Further, in the present embodiment, a separate timer counter is provided for each type of measurement period, but for example, one timer counter may be shared for a plurality of types of periods in which the measurement periods do not overlap.
また、本実施例では、メイン制御部41が実行する処理として、遊技の進行状況に関わらず予め定められた処理を定期的に行うタイマ割込処理(メイン)と、遊技の進行状況に応じて段階的に異なる処理を行うメイン処理と、を含み、メイン制御部41は、メイン処理において計時条件が成立した場合にタイマカウンタに初期値を設定し、タイマ割込処理(メイン)において複数種類のタイマ値を更新するようになっており、メイン処理を構成する各処理内に複数種類のタイマ値を更新する処理を設ける必要がないため、複数種類のタイマ値の更新に係るプログラム容量を削減することができる。 Further, in this embodiment, as the processes executed by the main control unit 41, a timer interrupt process (main) that periodically performs a predetermined process regardless of the progress status of the game, and a timer interrupt process (main) that periodically performs the process according to the progress status of the game. The main control unit 41 sets an initial value in the timer counter when a timing condition is satisfied in the main process, including a main process that performs different processes in stages, and a plurality of types in the timer interrupt process (main). Since the timer value is updated and it is not necessary to provide a process for updating multiple types of timer values in each process constituting the main process, the program capacity for updating multiple types of timer values is reduced. be able to.
尚、本実施例では、メイン処理に定期的に割り込んでタイマ割込処理(メイン)を実行する構成であるが、定期的に行うタイマ割込処理内で、遊技の進行状況に関わらず予め定められた処理を行う定期処理と、遊技の進行状況に応じて段階的に異なる処理を行うメイン処理と、の双方を行う構成としても良く、このような構成においても、メイン制御部41は、メイン処理において計時条件が成立した場合にタイマカウンタに初期値を設定し、定期処理において複数種類のタイマ値を更新する構成とすることで、メイン処理を構成する各処理内に複数種類のタイマ値を更新する処理を設ける必要がないため、複数種類のタイマ値の更新に係るプログラム容量を削減することができる。 In this embodiment, the timer interrupt process (main) is executed by interrupting the main process periodically, but it is determined in advance in the timer interrupt process that is periodically performed regardless of the progress of the game. A configuration may be configured in which both the periodic processing for performing the processing and the main processing for performing different processing stepwise according to the progress of the game are performed. Even in such a configuration, the main control unit 41 is the main. By setting the initial value in the timer counter when the timing condition is satisfied in the process and updating multiple types of timer values in the periodic process, multiple types of timer values can be set in each process that constitutes the main process. Since it is not necessary 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 this embodiment, in the time counter update process, the value of the specified address is updated on the condition that the value of the specified address is not 0, and the timer value is updated to an abnormal value. Can be prevented.
また、本実施例では、時間カウンタ更新処理において、更新するタイマカウンタの数と同数の処理数を設定し、設定した処理数分、タイマ値を更新する処理を繰り返し実行する構成であるため、更新するタイマカウンタの数の管理が容易になるとともに、例えば、更新間隔が異なる複数種類のタイマカウンタを備える場合などに、設定する処理数に応じて更新するタイマ値の種類を任意に設定することができる。 Further, in the present embodiment, in the time counter update process, the same number of processes as the number of timer counters to be updated is set, and the process of updating the timer value is repeatedly executed for the set number of processes. In addition to facilitating the management of the number of timer counters to be updated, for example, when a plurality of types of timer counters having different update intervals are provided, the type of timer value to be updated can be arbitrarily set 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 the program, or the value set in the table may be read and set.
また、最初に処理数を設定することなく、最後に更新するタイマカウンタを予め設定するとともに、当該タイマカウンタのアドレスに到達するまでタイマ値を更新する処理を繰り返し実行する構成としたり、最後に更新するタイマカウンタの次のアドレスに特定のエンド値(例えば、FFH)を格納し、指定アドレスから読み出された値が特定のエンド値となるまでタイマ値を更新する処理を繰り返し実行する構成としても良い。 In addition, the timer counter to be updated last is set in advance without setting the number of processes first, and the process of updating the timer value is repeatedly executed until the address of the timer counter is reached, or the process is updated at the end. A specific end value (for example, FFH) is stored at the next address of the timer counter to be used, and the process of updating the timer value is repeatedly executed until the value read from the specified address reaches the specific end value. 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 the 1-byte timer value and a process of updating the 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 Interruption processing (main) By providing a first timer counter that updates once every four times and a second timer counter that updates once every 14 times, it is relative without providing a 2-byte counter. It may be configured to measure a long time interval, and by doing so, 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, so that the timer value does not need to be provided. It is possible to reduce the program capacity related to the update of.
また、本実施例では、複数種類のタイマカウンタがRAM41cにおいて遊技の進行に応じて初期化されることのない特別ワークに割り当てられており、遊技の進行に応じて初期化されることがないため、遊技の進行状況に関わらず、遊技の進行に応じてRAM41cの一部が初期化されるタイミングを跨ぐ期間の時間を計測することができる。 Further, in the present embodiment, a plurality of types of timer counters are assigned to a special work that is not initialized according to the progress of the game in the RAM 41c, 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 straddling 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 this embodiment, not only the timer counter whose measurement period may straddle the end timing of one game, that is, the timing when a part of the RAM 41c is initialized according to the progress of the game, but also the measurement period is the game. Since the timer counter that does not straddle the timing at which a part of the RAM 41c is initialized according to the progress is also stored in the area allocated to the special work together with the other timer counters, the timer counter can be easily managed. At the same time, a timer counter whose measurement period does not straddle the timing at which a part of the RAM 41c is initialized according to the progress of the game is set, and the timing at which a part of the RAM 41c is initialized according to the progress of the game is set. The usage of the timer counter can be easily changed by a later design change such as changing to a timer counter that may straddle. Further, if 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 be straddled according to the progress of the game. 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.
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。 Although the embodiments of the present invention have been described above with reference to the drawings, the present invention is not limited to the present invention and is included in the present invention even if there are changes or additions within the scope of the gist of the present invention. Needless to say.
実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル1枚分を遊技球5個分に対応させることができ、前記実施例1で賭数として3を設定する場合は、15個の遊技球を用いて賭数を設定するものに相当する。 In the embodiment, an example in which the present invention is applied to a slot machine in which the bet number is set by using medals and credits as the game value has been described, but the slot machine in which the bet number is set by using the game ball as the game value has been described. Alternatively, it may be applied to a fully credited slot machine that sets the number of bets using only credits as a gaming value. When the game ball is used as the game value, for example, one medal can correspond to five game balls, and when the bet number is set to 3 in the first embodiment, 15 game balls are used. Corresponds to setting the number of medals using.
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか1種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。 Further, the value is not limited to one using only one of a plurality of types of game values such as medals and game balls, and 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 the number of bets and play a game by using any of a plurality of types of game values such as medals and game balls, and a plurality of types of games such as medals and game balls are generated when a prize is generated. A slot machine that can pay out any value may be applied.
また、実施例では遊技機としてスロットマシンを例に説明したが、上記実施例で開示したメイン制御部41及びメイン制御部41に関連する初期設定処理、タイマ割込処理、コマンド格納処理、通常時コマンド送信処理、電断時コマンド送信処理、タイマカウンタの更新処理等、サブ制御部91及びサブ制御部91に関連する処理を、他の遊技機、例えば、遊技領域に遊技球を発射させることで遊技が行われ、発射された遊技球が遊技領域内に設けられた入賞口に入って入賞が発生することで、賞球として遊技球が払い出されるパチンコ遊技機等に適用しても良い。 Further, in the embodiment, the slot machine has been described as an example of the gaming machine, but the initial setting processing, the timer interrupt processing, the command storage processing, and the normal time related to the main control unit 41 and the main control unit 41 disclosed in the above embodiment have been described. By launching a game ball into another gaming machine, for example, a gaming area, processing related to the sub-control unit 91 and the sub-control unit 91, such as command transmission processing, command transmission processing at the time of power interruption, timer counter update processing, etc. It may be applied to a pachinko gaming machine or the like in which a game is played and the launched game ball enters a winning opening provided in the game area to generate a prize, and the game ball is paid out as a prize ball.
1 スロットマシン
2L、2C、2R リール
6 MAXBETスイッチ
7 スタートスイッチ
8L、8C、8R ストップスイッチ
41 メイン制御部
91 サブ制御部
1 Slot machine 2L, 2C, 2R reel 6 MAXBET switch 7 Start switch 8L, 8C, 8R Stop switch 41 Main control unit 91 Sub control unit
Claims (1)
プログラムを記憶可能であり、記憶領域を特定可能なアドレスが割り当てられた記憶手段と、
前記記憶手段に記憶されたプログラムに従って制御を行う制御手段と、
アドレスを指定することで指定されたアドレスに記憶されたプログラムを呼び出す第1のプログラム呼出手段と、
アドレスよりも少ないデータ量のパラメータを指定することで、所定間隔毎に割り当てられた複数の特定アドレスのうち指定されたパラメータに対応する特定アドレスに記憶されたプログラムを呼び出す第2のプログラム呼出手段と、
を備え、
前記記憶手段は、
一の特定アドレスから開始する領域に第1の特定プログラムを記憶し、一の特定アドレスの次の特定アドレスから開始する領域に第2の特定プログラムを記憶し、第1の特定プログラムが記憶された領域の後から次の特定アドレスより前の領域に所定プログラムを記憶するとともに、
割込プログラムのアドレスを記憶するアドレス記憶手段を含み、
前記制御手段は、割込に基づいて前記アドレス記憶手段に記憶された割込プログラムのアドレスからのプログラムを割込処理として実行する割込処理実行手段を含み、
前記遊技機は、
前記アドレス記憶手段に記憶しているアドレスが所定の範囲にあるか否かを起動時に判定する判定手段と、
前記アドレス記憶手段に記憶しているアドレスが所定の範囲にないと判定したときに前記制御手段の起動を禁止する起動禁止手段と、
を備える、遊技機。 In the game machine that plays the game
A storage means that can store a program and is assigned an address that can identify a storage area,
A control means that controls according to a program stored in the storage means,
The first program calling means for calling the program stored in the specified address by specifying the address, and
A second program calling means for calling a program stored in a specific address corresponding to a specified parameter among a plurality of specific addresses assigned at predetermined intervals by specifying a parameter having a data amount smaller than that of the address. ,
With
The storage means
The first specific program is stored in the area starting from one specific address, the second specific program is stored in the area starting from the next specific address of one specific address, and the first specific program is stored. While storing the predetermined program in the area after the area and before the next specific address ,
Including an address storage means for storing the address of the interrupt program,
The control means includes an interrupt processing execution means that executes a program from the address of the interrupt program stored in the address storage means as an interrupt process based on the interrupt.
The game machine
A determination means for determining whether or not the address stored in the address storage means is within a predetermined range at startup, and
When it is determined that the address stored in the address storage means is not within the predetermined range, the activation prohibiting means for prohibiting the activation of the control means and the activation prohibiting means.
A game machine equipped with.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015224538A JP6806435B2 (en) | 2015-11-17 | 2015-11-17 | Game machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015224538A JP6806435B2 (en) | 2015-11-17 | 2015-11-17 | Game machine |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017086779A JP2017086779A (en) | 2017-05-25 |
JP2017086779A5 JP2017086779A5 (en) | 2019-05-23 |
JP6806435B2 true JP6806435B2 (en) | 2021-01-06 |
Family
ID=58766690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015224538A Active JP6806435B2 (en) | 2015-11-17 | 2015-11-17 | Game machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6806435B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6350729B1 (en) * | 2017-07-27 | 2018-07-04 | サミー株式会社 | Game machine |
JP6350728B1 (en) * | 2017-07-27 | 2018-07-04 | サミー株式会社 | Game machine |
JP6579235B1 (en) * | 2018-06-20 | 2019-09-25 | サミー株式会社 | Game machine |
JP6519699B2 (en) * | 2018-07-04 | 2019-05-29 | サミー株式会社 | Gaming machine |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6280733A (en) * | 1985-10-04 | 1987-04-14 | Nec Corp | Information processor |
JPH05120190A (en) * | 1991-10-30 | 1993-05-18 | Hokkaido Nippon Denki Software Kk | Interruption number setting device for input/output device |
JPH10146437A (en) * | 1996-11-18 | 1998-06-02 | Sankyo Kk | Playing machine |
JP2004229938A (en) * | 2003-01-30 | 2004-08-19 | Sankyo Kk | Game machine |
JP2008018073A (en) * | 2006-07-13 | 2008-01-31 | Samii Kk | Game machine |
JP2008080005A (en) * | 2006-09-28 | 2008-04-10 | Okumura Yu-Ki Co Ltd | Game machine |
JP2011005102A (en) * | 2009-06-29 | 2011-01-13 | Sansei R&D:Kk | Slot machine |
JP5833826B2 (en) * | 2011-02-24 | 2015-12-16 | 株式会社三共 | Game machine |
JP5438812B2 (en) * | 2012-10-05 | 2014-03-12 | 株式会社三共 | Slot machine |
JP2015029551A (en) * | 2013-07-31 | 2015-02-16 | 株式会社大都技研 | Game machine |
JP2015123279A (en) * | 2013-12-27 | 2015-07-06 | サミー株式会社 | Game machine |
-
2015
- 2015-11-17 JP JP2015224538A patent/JP6806435B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017086779A (en) | 2017-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6626266B2 (en) | Gaming machine | |
JP6516508B2 (en) | Gaming machine | |
JP6532720B2 (en) | Gaming machine | |
JP6677984B2 (en) | Gaming machine | |
JP6250010B2 (en) | Slot machine | |
JP6646938B2 (en) | Gaming machine | |
JP6685687B2 (en) | Slot machine | |
JP6949554B2 (en) | Pachinko machine | |
JP2017046844A (en) | Game machine | |
JP6825811B2 (en) | Game machine | |
JP2017051503A (en) | Game machine | |
JP6806435B2 (en) | Game machine | |
JP6879694B2 (en) | Slot machine | |
JP6250009B2 (en) | Slot machine | |
JP6582311B2 (en) | Game machine | |
JP6853907B2 (en) | Slot machine | |
JP6652357B2 (en) | Gaming machine | |
JP6871438B2 (en) | Game machine | |
JP6774268B2 (en) | Game machine | |
JP6792691B2 (en) | Game machine | |
JP6816939B2 (en) | Game machine | |
JP6660142B2 (en) | Gaming machine | |
JP6825862B2 (en) | Game machine | |
JP6816940B2 (en) | Game machine | |
JP6944006B2 (en) | Slot machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181015 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200325 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200526 |
|
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: 20201201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6806435 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |