JP6600464B2 - Game machine - Google Patents
Game machine Download PDFInfo
- Publication number
- JP6600464B2 JP6600464B2 JP2015004211A JP2015004211A JP6600464B2 JP 6600464 B2 JP6600464 B2 JP 6600464B2 JP 2015004211 A JP2015004211 A JP 2015004211A JP 2015004211 A JP2015004211 A JP 2015004211A JP 6600464 B2 JP6600464 B2 JP 6600464B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- setting
- initialization
- ram
- value
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Slot Machines And Peripheral Devices (AREA)
Description
本発明は、遊技を行うことが可能な遊技機に関する。 The present invention relates to a gaming machine capable of playing a game.
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの始動入賞領域に遊技媒体が入賞したときに複数種類の識別情報の可変表示が行われるパチンコ遊技機や、所定の賭数を設定し、スタート操作が行われたときに、複数種類の識別情報(例えば、図柄)の可変表示が行われるスロットマシンなどがある。このように識別情報の可変表示を実行可能に構成された遊技機では、可変表示部において識別情報の可変表示の表示結果が所定の表示結果となった場合に、所定の遊技価値(例えば、大当たり状態への移行など)を遊技者に与えるように構成されたものがある。 As a gaming machine, a game medium such as a game ball is launched into a game area by a launching device, and multiple types of identification information are variably displayed when the game medium wins in a start prize area such as a prize opening provided in the game area. There are pachinko machines in which a predetermined number of bets are set and a slot machine in which a plurality of types of identification information (for example, symbols) are variably displayed when a start operation is performed. In a gaming machine configured to be able to execute variable display of identification information in this way, when a display result of variable display of identification information becomes a predetermined display result in the variable display unit, a predetermined game value (for example, jackpot) Some are configured to give the player a transition to a state, etc.).
このような遊技機として、RAMに格納されているデータが正常か否かを判定する前に、遊技の有利度に関する設定値の変更処理に移行させることが可能な遊技機が知られている(特許文献1)。この遊技機では、設定値の変更処理に移行するときにRAMのデータを全て初期化している。 As such a gaming machine, there is known a gaming machine that can be shifted to a setting value changing process relating to the advantage of the game before determining whether or not the data stored in the RAM is normal ( Patent Document 1). In this gaming machine, all the data in the RAM is initialized when shifting to the setting value changing process.
しかしながら、特許文献1の遊技機では、設定値の変更処理に移行するときに全てのデータが初期化されてしまうので、このときには、RAMが異常な場合には初期化が必要であるがRAMが正常な場合には初期化が不要なデータも初期化されてしまう。
However, in the gaming machine of
本発明は、このような問題点に着目してなされたものであり、データの初期化を好適に実行することができる遊技機を提供することを目的とする。 The present invention has been made paying attention to such problems, and an object thereof is to provide a gaming machine capable of suitably executing data initialization.
上記課題を解決するために、本発明の遊技機は、
遊技を行うことが可能な遊技機(例えば、スロットマシン1)において、
制御を行う制御手段(例えば、メイン制御部41)と、
電力供給が停止しても記憶内容を保持することが可能であり、前記制御手段が制御を行う際に発生するデータを記憶することが可能な記憶手段(例えば、RAM41c)と、
所定時間間隔を計測するタイマと、を備え、
前記制御手段は、
電力供給が開始した後に前記記憶手段が記憶している記憶内容が正常であるか否かの判定を行う記憶内容判定手段(例えば、図6のSa16の処理を行う部分)と、
人為的操作にもとづく初期化条件(例えば、設定キースイッチがオン)が成立しているか否かの判定を行う初期化条件判定手段(例えば、図6のSa15の処理を行う部分)と、
前記記憶手段の記憶内容が正常であると前記記憶内容判定手段が判定し、かつ前記初期化条件が成立していないと前記初期化条件判定手段が判定したときに、前記記憶手段の記憶内容にもとづいて制御を復旧する復旧手段(例えば、図6のSa17〜Sa20の処理を行う部分)と、
前記初期化条件が成立していると前記初期化条件判定手段が判定したときに、前記記憶手段の記憶内容を初期化する第1の初期化処理を行う初期化手段(例えば、図7のSb4の処理を実行する部分)と、
制御プログラムにもとづく処理を実行する処理手段と、
前記タイマが前記所定時間間隔を計測したときに割込を発生させる割込発生手段と、
割込にもとづいて割込処理を実行する割込処理実行手段と、を含み、
前記初期化手段は、前記記憶内容判定手段の判定結果にもとづき、前記記憶手段の記憶領域において異なる領域の記憶内容を初期化し(例えば、図7のSb2でNの場合にSb3の処理を実行してSb4の処理を実行し、Sb2でYの場合にSb3の処理を実行せずにSb4の処理を実行する部分)、
前記処理手段は、前記制御プログラムにもとづく処理において割込に関する設定を行う割込設定手段を含み、
前記タイマは、前記割込設定手段により割込に関する設定が行われたことにもとづいて、初期値から前記所定時間間隔の計測を開始し、
前記制御手段は、
一単位の遊技毎に繰り返し実行する繰り返し処理において、前記記憶手段の記憶内容を初期化する第2の初期化処理を少なくとも実行し、
前記第2の初期化処理で前記記憶手段の記憶内容を初期化する領域として第1領域および第2領域を設定する特定領域設定処理を実行し、
前記初期化手段により前記第1の初期化処理が行われた後に、1回目の前記繰り返し処理を実行するときに、前記特定領域設定処理の設定に従って前記第2の初期化処理を実行し、
2回目以降の前記繰り返し処理において前記第2の初期化処理を実行する前に、前記第2の初期化処理で前記記憶手段の記憶内容を初期化する領域として前記第1領域を設定する所定領域設定処理を実行し、
2回目以降の前記繰り返し処理を実行するときに、前記所定領域設定処理の設定に従って前記第2の初期化処理を実行する。
この構成によれば、記憶手段が記憶しているデータの初期化を好適に実行できる。
In order to solve the above problems, the gaming machine of the present invention is:
In a gaming machine (for example, slot machine 1) capable of playing a game,
Control means for performing control (for example, main control unit 41);
Storage means (for example,
And a timer for measuring a predetermined time interval,
The control means includes
A storage content determination unit (for example, a part for performing the processing of Sa16 in FIG. 6) for determining whether or not the storage content stored in the storage unit is normal after power supply is started;
Initialization condition determination means (for example, a part for performing the processing of Sa15 in FIG. 6) for determining whether an initialization condition (for example, the setting key switch is turned on) based on an artificial operation is satisfied;
When the storage content determination unit determines that the storage content of the storage unit is normal, and the initialization condition determination unit determines that the initialization condition is not satisfied, the storage content of the storage unit is A recovery means (for example, a portion for performing the processing of Sa17 to Sa20 in FIG. 6) for recovering control based on;
When the initialization condition determination unit determines that the initialization condition is satisfied, an initialization unit (for example, Sb4 in FIG. 7) that performs a first initialization process that initializes the storage contents of the storage unit. To execute the process)
Processing means for executing processing based on the control program;
Interrupt generating means for generating an interrupt when the timer measures the predetermined time interval;
Wherein the interrupt process execution means for executing an interrupt process based on the interrupt, and
The initialization means initializes the storage contents of different areas in the storage area of the storage means based on the determination result of the storage content determination means (for example, the processing of Sb3 is executed when N is Sb2 in FIG. 7). The part that executes the process of Sb4 without executing the process of Sb3 when Sb2 is Y and the process of Sb4 is executed)
The processing means includes interrupt setting means for performing settings related to interrupts in the processing based on the control program,
The timer starts measuring the predetermined time interval from an initial value based on the setting related to the interrupt performed by the interrupt setting means ,
The control means includes
In a repetitive process that is repeatedly executed for each unit of game, at least a second initialization process for initializing the storage contents of the storage means is executed,
A specific area setting process for setting the first area and the second area as areas for initializing the storage contents of the storage means in the second initialization process;
After the first initialization process is performed by the initialization unit, when the first repetition process is performed, the second initialization process is performed according to the setting of the specific area setting process,
A predetermined area in which the first area is set as an area for initializing the storage contents of the storage means in the second initialization process before the second initialization process is executed in the second and subsequent iterations. Execute the setting process,
When executing the second and subsequent iterations, the second initialization process is executed according to the setting of the predetermined area setting process.
According to this configuration, it is possible to suitably execute initialization of data stored in the storage unit.
初期化手段は、記憶手段の記憶内容が正常でないと記憶内容判定手段が判定し、かつ初期化条件が成立していないと初期化条件判定手段が判定したときに、記憶手段の記憶内容を初期化する(例えば、図6のSa23及びSa24の処理を実行する部分)。
この構成によれば、記憶手段の記憶内容が正常でない状態で制御が行われることを防止できる。
The initialization unit initializes the storage content of the storage unit when the storage content determination unit determines that the storage content of the storage unit is not normal, and the initialization condition determination unit determines that the initialization condition is not satisfied. (For example, a part for executing the processing of Sa23 and Sa24 in FIG. 6).
According to this configuration, it is possible to prevent the control from being performed in a state where the storage content of the storage unit is not normal.
所定の設定操作手段の操作に基づいて、遊技者にとっての有利度が異なる複数種類の許容段階のうちから、いずれかの許容段階を選択して設定する許容段階設定手段(例えば、図7及び図8の処理を実行する部分)を備え、
初期化手段は、記憶手段の記憶内容が正常でないと記憶内容判定手段が判定したときに少なくとも前記許容段階設定手段が設定した許容段階を記憶している領域を含む領域を初期化し、記憶手段の記憶内容が正常であると記憶内容判定手段が判定したときに少なくとも前記許容段階設定手段が設定した許容段階を記憶している領域を含まない領域を初期化する(例えば、図7のSb2でNの場合にSb3の処理を実行してSb4の処理を実行し、Sb2でYの場合にSb3の処理を実行せずにSb4の処理を実行する部分)。
この構成によれば、許容段階の設定を好適に保護できる。
Based on an operation of a predetermined setting operation means, an allowable stage setting means for selecting and setting any one of the allowable stages from among a plurality of types of allowable stages having different advantages for the player (for example, FIG. 7 and FIG. 8)
The initialization means initializes an area including at least an area storing the allowable stage set by the allowable stage setting means when the storage content determination means determines that the storage content of the storage means is not normal, When the stored content determining means determines that the stored content is normal, at least an area not including the area storing the allowable stage set by the allowable stage setting means is initialized (for example, Nb in Sb2 of FIG. 7). In the case of Sb3, the process of Sb3 is executed and the process of Sb4 is executed. In the case of Y in Sb2, the part of Sb4 is executed without executing the process of Sb3).
According to this configuration, the setting of the allowable stage can be suitably protected.
記憶手段の記憶内容が正常でないと記憶内容判定手段が判定したときに記憶手段に特定情報(例えば、RAM異常フラグ)を記憶させる特定情報記憶制御手段(例えば、図6のSa25の処理を実行する部分)を備え、
記憶内容判定手段は、前記記憶手段の記憶内容が正常でないと判定した後に電力供給が停止し、再度電力供給が開始したときに、特定情報にもとづいて前記記憶手段の記憶内容が正常であるか否かを判定する(例えば、図5のSa16の処理を実行する部分)。
この構成によれば、記憶手段の記憶内容が正常でない状態で制御が再開することを防止できる。
Specific information storage control means (for example, Sa25 in FIG. 6) is executed to store specific information (for example, RAM abnormality flag) in the storage means when the storage content determination means determines that the storage content of the storage means is not normal. Part)
The storage content determination means determines whether the storage content of the storage means is normal based on the specific information when the power supply is stopped after determining that the storage content of the storage means is not normal and the power supply is started again. (For example, the part which performs the process of Sa16 of FIG. 5).
According to this configuration, it is possible to prevent the control from restarting in a state where the storage content of the storage unit is not normal.
定期的な割込条件の成立にもとづいて割込処理を行う割込処理手段(例えば、図10及び図11の処理を実行する部分)と、
初期化手段が初期化処理を行っているときに割込処理の実行を禁止する割込禁止手段(例えば、図5のSa1及び図9のSc1の処理を実行する部分)とを備えた。
この構成によれば、初期化処理を行っているときに他の処理が行われることを防止できる。
Interrupt processing means (for example, a part for executing the processing of FIG. 10 and FIG. 11) that performs interrupt processing based on the establishment of a periodic interrupt condition;
Interrupt prohibiting means (for example, a part for executing the processing of Sa1 in FIG. 5 and Sc1 in FIG. 9) for prohibiting execution of interrupt processing when the initialization means is performing initialization processing is provided.
According to this configuration, it is possible to prevent other processing from being performed during the initialization processing.
制御手段は、外部にデータを出力するためのデータ出力処理を実行する外部データ出力処理手段(例えば、メイン制御部41)を含み、
外部データ出力処理手段がデータ出力処理を実行しているときに割込を禁止する割込禁止手段(例えば、図12のSm3の前に割込禁止を実行する部分)を備えた。
この構成によれば、意図しないデータが出力されることを防止できる。
The control means includes external data output processing means (for example, the main control unit 41) for executing data output processing for outputting data to the outside,
Interrupt prohibiting means for prohibiting interrupts when the external data output processing means is executing data output processing (for example, a part for executing interrupt prohibition before Sm3 in FIG. 12) is provided.
According to this configuration, unintended data can be prevented from being output.
少なくとも一単位の遊技毎の初期化処理を含む所定の処理を一単位の遊技毎に繰り返し実行する所定処理実行手段(例えば、図9の処理を実行する部分)と、
所定の設定操作手段の操作に基づいて、遊技者にとっての有利度が異なる複数種類の許容段階のうちから、いずれかの許容段階を選択して設定する許容段階設定手段(例えば、図7及び図8の処理を実行する部分)とを備え、
初期化手段は、許容段階の設定が行われたときに記憶手段の記憶内容を初期化し(例えば、図7のSb4の処理を実行する部分)、
所定処理実行手段は、許容段階の設定が終了した後は一単位の遊技毎の初期化処理(図例えば、図9のSc3の処理を実行する部分)を行う前から所定の処理を開始する(例えば、設定変更処理が終了した後に図9のSc1の処理から実行を開始する部分)。
この構成によれば許容段階の設定が行われたときの初期化処理に加え、遊技毎の初期化処理を実行できる。
Predetermined process execution means (for example, a part for executing the process of FIG. 9) that repeatedly executes a predetermined process including an initialization process for at least one unit of game for each unit of game;
Based on an operation of a predetermined setting operation means, an allowable stage setting means for selecting and setting any one of the allowable stages from among a plurality of types of allowable stages having different advantages for the player (for example, FIG. 7 and FIG. 8 for executing the processing of 8)
The initialization unit initializes the storage contents of the storage unit when the allowable stage is set (for example, a part that executes the process of Sb4 in FIG. 7),
The predetermined process execution means starts the predetermined process before performing the initialization process for each unit of game (for example, the part for executing the process of Sc3 in FIG. 9) after the setting of the allowable stage is completed ( For example, after the setting change process is completed, the part starts execution from the process of Sc1 in FIG. 9).
According to this configuration, in addition to the initialization process when the allowable stage is set, the initialization process for each game can be executed.
プログラムを記憶する記憶手段(例えば、ROM208)と、
該記憶手段に記憶されたプログラムに従った処理を実行するマイクロコンピュータ(例えば、図13に示す部分)と、を備え、
プログラムは、割込の発生に応じて実行される割込プログラム(例えば、図14に示す部分)を含み、
前記マイクロコンピュータは、
割込に関する設定を行う処理を実行した後に割込を許可する処理を実行する割込許可手段(例えば、図5及び図6に示す部分)と、
割込が許可されているときに、該割込にもとづいて割込プログラムに従った処理を実行する割込処理実行手段(例えば、図10及び図11に示す部分)と、
前記記憶手段における割込プログラムのアドレスを記憶可能な記憶領域を有するアドレス記憶手段(例えば、図15に示す部分)と、
前記アドレス記憶手段の記憶領域で記憶しているアドレスが所定の範囲にあるか否かを前記マイクロコンピュータの起動時に判定する判定手段(例えば、図22に示す部分)と、
割込プログラムのアドレスが所定の範囲にないと前記判定手段が判定したときに前記マイクロコンピュータの起動を制限する起動制限手段(例えば、図22に示す部分)とを備えた。
この構成によれば、意図しない割込処理が実行されることを事前に防止することができる。
Storage means for storing the program (for example, ROM 208);
A microcomputer (for example, a portion shown in FIG. 13) that executes processing according to the program stored in the storage means,
The program includes an interrupt program (for example, the portion shown in FIG. 14) that is executed in response to the occurrence of an interrupt.
The microcomputer is
Interrupt permission means (for example, the part shown in FIG. 5 and FIG. 6) for executing a process for permitting an interrupt after executing a process for performing settings relating to the interrupt;
Interrupt processing execution means (for example, the portion shown in FIG. 10 and FIG. 11) that executes processing according to the interrupt program based on the interrupt when the interrupt is permitted;
Address storage means (for example, a portion shown in FIG. 15) having a storage area capable of storing the address of the interrupt program in the storage means;
Determination means (for example, a portion shown in FIG. 22) for determining whether the address stored in the storage area of the address storage means is within a predetermined range when the microcomputer is activated;
Start limiting means (for example, a portion shown in FIG. 22) for limiting the start of the microcomputer when the determination means determines that the interrupt program address is not within a predetermined range.
According to this configuration, it is possible to prevent an unintended interrupt process from being executed in advance.
上記課題を解決するために、本発明の遊技機は、
遊技を行うことが可能な遊技機(例えば、スロットマシン1)において、
制御を行う制御手段と、
電力供給が停止しても記憶内容を保持することが可能であり、前記制御手段が制御を行う際に発生するデータを記憶することが可能な記憶手段(例えば、RAM41c)とを備え、
前記制御手段は、
電力供給が開始した後に初期設定処理を行う初期設定処理手段(例えば、図5及び図6の処理を実行する部分)と、
少なくとも繰り返し処理を一単位の遊技毎に繰り返し実行する遊技処理手段(例えば、図9の処理を実行する部分)とを含み、
前記初期設定処理手段は、前記初期設定処理として、初期化条件が成立しているときに前記記憶手段の記憶内容を初期化する第1の初期化処理を少なくとも実行し(例えば、図7のSb4の処理を実行する部分)、
前記遊技処理手段は、前記繰り返し処理として、一単位の遊技毎に前記記憶手段の記憶内容を初期化する第2の初期化処理を少なくとも実行するとともに(例えば、図9のSc3の処理を実行する部分)、前記初期設定処理手段が前記第1の初期化処理を実行した後に前記繰り返し処理の実行を開始するときに、少なくとも前記第2の初期化処理を実行する前から前記繰り返し処理の実行を開始する(例えば、設定変更処理が終了した後に図9のSc1の処理から実行を開始する部分)。
この構成によれば、一単位の遊技毎の制御を好適に実行できる。
In order to solve the above problems, the gaming machine of the present invention is:
In a gaming machine (for example, slot machine 1) capable of playing a game,
Control means for controlling;
Storage means (for example,
The control means includes
Initial setting processing means (for example, a part for executing the processing of FIG. 5 and FIG. 6) for performing initial setting processing after power supply is started;
Game processing means (for example, a portion for executing the processing of FIG. 9) that repeatedly executes at least a repeating process for each unit of game,
The initial setting processing means executes at least a first initialization process for initializing the storage contents of the storage means when the initialization condition is satisfied as the initial setting process (for example, Sb4 in FIG. 7). To execute the process)
The game processing means executes at least a second initialization process for initializing the storage contents of the storage means for each unit of game as the repetitive process (for example, executes the process of Sc3 in FIG. 9). Part), when the initial setting processing means starts executing the repetitive process after executing the first initialization process, the repetitive process is executed at least before the second initializing process is executed. Start (for example, a portion where execution is started from the processing of Sc1 in FIG. 9 after the setting change processing is completed).
According to this configuration, it is possible to suitably execute control for each game of one unit.
遊技処理手段は、第2の初期化処理において、記憶手段の記憶領域のうち特定領域における記憶内容を初期化し(例えば、使用中スタック領域を除く全ての領域(未使用領域および未使用スタック領域を含む)を初期化する部分)、
初期設定手段は、第1の初期化処理において、前記記憶手段の記憶領域のうち特定領域を含む領域の記憶内容を初期化する(例えば、未使用領域および未使用スタック領域を初期化する部分)。
この構成によれば、確実に初期化を行うことができる。
In the second initialization process, the game processing means initializes the storage contents in the specific area of the storage area of the storage means (for example, all areas except the used stack area (unused and unused stack areas are Part) to be initialized)),
The initial setting means initializes the storage contents of the area including the specific area among the storage areas of the storage means in the first initialization process (for example, a part for initializing the unused area and the unused stack area). .
According to this configuration, initialization can be reliably performed.
定期的な割込条件の成立にもとづいて割込処理を行う割込処理手段(例えば、図10及び図11の処理を実行する部分)と、
初期設定処理を行っているときに割込条件が成立し得る(例えば、図7のSb6の処理を実行する部分)。
この構成によれば、初期設定処理中に実行された割込処理により書き換えられたデータを第2の初期化処理により初期化することができる。
Interrupt processing means (for example, a part for executing the processing of FIG. 10 and FIG. 11) that performs interrupt processing based on the establishment of a periodic interrupt condition;
An interrupt condition may be satisfied when the initial setting process is performed (for example, a part for executing the process of Sb6 in FIG. 7).
According to this configuration, the data rewritten by the interrupt process executed during the initial setting process can be initialized by the second initialization process.
定期的な割込条件の成立にもとづいて割込処理を行う割込処理手段(例えば、図10及び図11の処理を実行する部分)と、
初期設定手段が第1の初期化処理を行っているとき、および遊技処理手段が第2の初期化処理を行っているときに割込処理の実行を禁止する割込禁止手段(例えば、図5のSa1及び図9のSc1の処理を実行する部分)とを備えた。
この構成によれば、初期化処理を行っているときに他の処理が行われることを防止できる。
Interrupt processing means (for example, a part for executing the processing of FIG. 10 and FIG. 11) that performs interrupt processing based on the establishment of a periodic interrupt condition;
Interrupt prohibiting means (for example, FIG. 5) that prohibits execution of interrupt processing when the initial setting means is performing the first initialization process and when the game processing means is performing the second initialization process. And a portion for executing the processing of Sc1 of FIG. 9).
According to this configuration, it is possible to prevent other processing from being performed during the initialization processing.
上記課題を解決するために、本発明の遊技機は、
遊技を行うことが可能な遊技機(例えば、スロットマシン1)において、
制御を行う制御手段(例えば、メイン制御部41)を備え、
前記制御手段は、
該制御手段の設定を行う設定手段(例えば、起動処理)と、
前記設定手段による設定が行われた後、制御プログラム(例えば、ユーザプログラム)にもとづく処理を実行する処理手段(例えば、図5及び図6の処理を実行する部分)と、
割込条件の成立に応じて割込を発生させる割込発生手段(例えば、図35のIMF=1)と、
割込にもとづいて割込処理を実行する割込処理実行手段(例えば、図10及び図11の処理を実行する部分)と、
前記割込発生手段による割込の発生を制限する割込制限手段(例えば、図35のIMF=0)とを含み、
前記割込制限手段は、前記制御プログラムにもとづく処理が開始される前に割込の発生を制限する第1の割込制限手段(例えば、マイクロコンピュータの起動時にPSWが00hにクリアされてIMFが0となる部分)と、前記制御プログラムにもとづく処理の開始に際して割込の発生を制限する第2の割込制限手段(例えば、初期設定処理において図35のDI命令を実行することにより図5のSa1の処理を実行する部分)とを含む。
この構成によれば、意図しない割込が発生することを防止できる。
In order to solve the above problems, the gaming machine of the present invention is:
In a gaming machine (for example, slot machine 1) capable of playing a game,
Provided with control means (for example, main control unit 41) for performing control,
The control means includes
Setting means for setting the control means (for example, startup processing);
After the setting by the setting means, processing means for executing processing based on a control program (for example, user program) (for example, a portion for executing the processing of FIGS. 5 and 6),
Interrupt generation means (for example, IMF = 1 in FIG. 35) for generating an interrupt in response to the establishment of the interrupt condition;
Interrupt processing execution means for executing interrupt processing based on the interrupt (for example, a portion for executing the processing of FIGS. 10 and 11);
Interrupt limiting means for limiting the generation of interrupts by the interrupt generating means (for example, IMF = 0 in FIG. 35),
The interrupt restricting means is a first interrupt restricting means for restricting the generation of an interrupt before the processing based on the control program is started (for example, when the microcomputer is started, the PSW is cleared to 00h and the IMF is 5 and a second interrupt limiting means for limiting the generation of interrupts at the start of processing based on the control program (for example, by executing the DI instruction in FIG. 35 in the initial setting process) Part for executing the processing of Sa1).
According to this configuration, it is possible to prevent an unintended interrupt from occurring.
割込に関する設定を行う処理を実行した後に割込の発生を許可する処理を実行する割込許可手段(例えば、図6のSa20及びSa22の処理を実行する部分)を備えた。
この構成によれば、意図しない割込が発生することを防止できる。
An interrupt permission means (for example, a part for executing the processes of Sa20 and Sa22 in FIG. 6) for executing the process of permitting the generation of the interrupt after executing the process for setting the interrupt is provided.
According to this configuration, it is possible to prevent an unintended interrupt from occurring.
割込に関する設定を行う処理を実行した後に割込を許可する処理を実行する割込許可手段(例えば、図6のSa20及びSa22の処理を実行する部分)を備え、
割込許可手段は、割込に関する設定として、所定周期で発生する割込についての時間間隔を指定するとともに、該時間間隔を計測するタイマを初期値から動作開始させる設定を実行する(例えば、図27及び図28に示すように、CTCがカウント動作中であってもTMCNT0〜2を設定すると、CTC0〜2とTMCNT0〜2の設定内容で更新され、カウント中のタイマ値はCTC0〜2の設定値から再度ダウンカウントする部分)。
この構成によれば、意図しない割込が発生することを防止できる。
It comprises an interrupt permission means (for example, a part for executing the processes of Sa20 and Sa22 in FIG. 6) for executing a process for permitting an interrupt after executing a process for performing settings relating to the interrupt,
The interrupt permission means designates a time interval for an interrupt that occurs at a predetermined cycle as a setting relating to the interrupt, and executes a setting for starting a timer that measures the time interval from an initial value (for example, FIG. 27 and FIG. 28, if TMCNT0-2 is set even when the CTC is counting, the setting contents of CTC0-2 and TMCNT0-2 are updated, and the timer value during counting is set to CTC0-2. The part to count down again from the value).
According to this configuration, it is possible to prevent an unintended interrupt from occurring.
割込に関する設定を記憶可能な記憶領域を有する設定内容記憶手段(例えば、図31〜図33に示す部分)と、
制御プログラムにもとづく処理において、前記設定内容記憶手段の記憶領域の少なくとも一部に初期設定内容を示す初期値を設定する初期値設定手段(例えば、図23及び図29に示す部分)とを備えた。
この構成によれば、意図しない設定で割込処理が行われることを防止できる。
Setting content storage means (for example, the portion shown in FIGS. 31 to 33) having a storage area capable of storing settings relating to interrupts;
In the processing based on the control program, there is provided initial value setting means (for example, a portion shown in FIGS. 23 and 29) for setting an initial value indicating initial setting contents in at least a part of the storage area of the setting content storage means. .
According to this configuration, it is possible to prevent interrupt processing from being performed with unintended settings.
制御手段が制御を行う際に発生するデータを記憶することが可能な記憶手段(例えば、RAM41c)を備え、
前記制御手段は、初期化条件が成立していると前記初期化条件判定手段が判定したときに、前記記憶手段の記憶内容を初期化する初期化処理を行う初期化手段(図6のSa24、図7のSb4、図9のSc3の処理を実行する部分)を含み、
前記初期化手段が初期化処理を行っているときに割込処理の実行を禁止する割込禁止手段(例えば、図5のSa1及び図9のSc1の処理を実行する部分)をさらに備えた。
この構成によれば、初期化処理を行っているときに他の処理が行われることを防止できる。
A storage means (for example,
When the initialization condition determination unit determines that the initialization condition is satisfied, the control unit performs initialization processing for initializing the storage contents of the storage unit (Sa24, FIG. 6). 7) and a part for executing the process of Sc3 of FIG.
Further provided is an interrupt prohibiting means (for example, a portion for executing the processing of Sa1 in FIG. 5 and Sc1 in FIG. 9) for prohibiting execution of the interrupt processing when the initialization means is performing the initialization processing.
According to this configuration, it is possible to prevent other processing from being performed during the initialization processing.
マイクロコンピュータは、
前記マイクロコンピュータの起動時にユーザプログラムが記憶されている記憶領域を設定する記憶領域設定手段(例えば、図16に示すプログラムエンドアドレスの設定)と、
前記記憶領域設定手段が記憶した記憶領域で記憶しているユーザプログラムに従った処理を実行するユーザプログラム実行手段(例えば、CPU207)と、
前記記憶領域設定手段が設定した記憶領域以外の領域で記憶しているプログラムを前記ユーザプログラム実行手段が呼び出したときに異常制御を実行する異常制御実行手段(例えば、図21に示す部分)とを備え、
所定の範囲は、少なくともユーザプログラムが記憶されている領域のアドレスを含む(例えば、図22に示す部分)。
この構成によれば、不正なプログラムの実行を防止することができる。
The microcomputer
Storage area setting means for setting a storage area in which a user program is stored when the microcomputer is activated (for example, setting of a program end address shown in FIG. 16);
User program execution means (for example, CPU 207) for executing processing according to the user program stored in the storage area stored by the storage area setting means;
Abnormal control execution means (for example, a portion shown in FIG. 21) that executes abnormal control when the user program execution means calls a program stored in an area other than the storage area set by the storage area setting means. Prepared,
The predetermined range includes at least an address of an area where the user program is stored (for example, a portion shown in FIG. 22).
According to this configuration, execution of an unauthorized program can be prevented.
なお、本発明は、本発明の請求項に記載された発明特定事項のみを有するものであって良いし、本発明の請求項に記載された発明特定事項とともに該発明特定事項以外の構成を有するものであっても良い。 In addition, this invention may have only the invention specific matter described in the claim of this invention, and has a structure other than this invention specific matter with the invention specific matter described in the claim of this invention. It may be a thing.
[スロットマシンの構成例]
図1に示すように、本実施の形態のスロットマシン1は、前面が開口する筐体1aと、この筐体1aの側端に回動自在に枢支された前面扉1bと、から構成されている。
[Slot machine configuration example]
As shown in FIG. 1, the
図2に示すように、本実施の形態のスロットマシン1の筐体1aの内部には、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール、中リール、右リール)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が前面扉1bに設けられた透視窓3から見えるように配置されている。
As shown in FIG. 2, inside the
図3に示すように、リール2L、2C、2Rの外周部には、それぞれ「黒7」、「網7(図中網掛け7)」、「白7」、「BAR」、「リプレイ」、「プラム」、「スイカ」、「チェリー」、「ベル」、「オレンジ」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ21個ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、前面扉1bのリールパネル1c略中央に設けられた透視窓3において各々上中下三段に表示される。
As shown in FIG. 3, the outer peripheral portions of the
各リール2L、2C、2Rは、各々対応して設けられリールモータ32L、32C、32R(図4参照)によって回転させることで、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示されるとともに、各リール2L、2C、2Rの回転を停止させることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。
The
リール2L、2C、2Rの内側には、リール2L、2C、2Rそれぞれに対して、基準位置を検出するリールセンサ33L、33C、33Rと、リール2L、2C、2Rを背面から照射するリールLED55と、が設けられている。また、リールLED55は、リール2L、2C、2Rの連続する3つの図柄に対応する12のLEDからなり、各図柄をそれぞれ独立して照射可能とされている。
Inside the
前面扉1bにおける各リール2L,2C,2Rに対応する位置には、リール2L,2C,2Rを前面側から透視可能とする横長長方形状の透視窓3が設けられており、該透視窓3を介して遊技者側から各リール2L,2C,2Rが視認できるようになっている。
At the position corresponding to each
前面扉1bには、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数(本実施の形態ではいずれの遊技状態においても3)を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダルおよび賭数の設定に用いたメダルを精算する(クレジットおよび賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8R、演出に用いるための演出用スイッチ56が遊技者により操作可能にそれぞれ設けられている。
The front door 1b uses a
なお、本実施の形態では、回転を開始した3つのリール2L、2C、2Rのうち、最初に停止するリールを第1停止リールと称し、また、その停止を第1停止、その停止操作を第1停止操作(または第1停止)と称する。同様に、2番目に停止するリールを第2停止リールと称し、また、その停止を第2停止、その停止操作を第2停止操作(または第2停止)と称する。また、3番目に停止するリールを第3停止リールと称し、また、その停止を第3停止あるいは最終停止、その停止操作を第3停止操作(または第3停止)と称する。
In this embodiment, among the three
また、前面扉1bには、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器12、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられた遊技用表示部13が設けられている。
The front door 1b also displays a
MAXBETスイッチ6の内部には、MAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図4参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図4参照)がそれぞれ設けられている。
Inside the
また、前面扉1bにおけるストップスイッチ8L、8C、8Rの下方には、スロットマシン1のタイトルや後述する配当表1などが印刷された下部パネル1dが設けられている。
Further, below the stop switches 8L, 8C, and 8R on the front door 1b, a
前面扉1bの内側には、所定のキー操作により後述するエラー状態および後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、後述のBB終了時に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36a、後述のBB終了時に自動精算処理(クレジットとして記憶されているメダルを遊技者の操作によらず精算(返却)する処理)に制御する自動精算機能の有効/無効を選択するための自動精算スイッチ36b、メダル投入部4から投入されたメダルの流路を、筐体1a内部に設けられた後述のホッパータンク34a(図2参照)側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク34a側に流下したメダルを検出する投入メダルセンサ31を有するメダルセレクタ(図示略)、前面扉1bの開放状態を検出するドア開放検出スイッチ25(図4参照)が設けられている。
Inside the front door 1b, there is a
図2に示すように、筐体1a内部には、前述したリール2L、2C、2R、リールモータ32L、32C、32R、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33L、33C、33R(図4参照)からなるリールユニット2、外部出力信号を出力するための外部出力基板1000、メダル投入部4から投入されたメダルを貯留するホッパータンク34a、ホッパータンク34aに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34b、ホッパーモータ34bの駆動により払い出されたメダルを検出する払出センサ34cからなるホッパーユニット34、電源ボックス100が設けられている。
As shown in FIG. 2, a reel sensor 33L capable of detecting the reel reference positions of the
ホッパーユニット34の側部には、ホッパータンク34aから溢れたメダルが貯留されるオーバーフロータンク35が設けられている。オーバーフロータンク35の内部には、貯留された所定量のメダルを検出可能な高さに設けられた左右に離間する一対の導電部材からなる満タンセンサ35aが設けられており、導電部材がオーバーフロータンク35内に貯留されたメダルを介して接触することにより導電したときに内部に貯留されたメダル貯留量が所定量以上となったこと、すなわちオーバーフロータンクが満タン状態となったことを検出できるようになっている。
On the side of the
電源ボックス100の前面には、設定変更状態または設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能する設定/リセットスイッチ38、電源をオン/オフする際に操作される電源スイッチ39が設けられている。
The front side of the
本実施の形態のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインLN(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。本実施の形態では、規定数の賭数として遊技状態に関わらず3枚が定められて規定数の賭数が設定されると入賞ラインLNが有効となる。なお、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
When a game is played in the
入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組み合わせが入賞図柄の組み合わせであるかを判定するために設定されるラインである。本実施の形態では、図1に示すように、リール2Lの中段、リール2Cの中段、リール2Rの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインLNのみが入賞ラインとして定められている。なお、本実施の形態では、1本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
The winning line is a line that is set to determine whether a combination of symbols displayed on the
また、本実施の形態では、入賞ラインLNに入賞を構成する図柄の組み合わせが揃ったことを認識しやすくするために、入賞ラインLNとは別に、無効ラインLM1〜4を設定している。無効ラインLM1〜4は、これら無効ラインLM1〜4に揃った図柄の組み合わせによって入賞が判定されるものではなく、入賞ラインLNに特定の入賞を構成する図柄の組み合わせが揃った際に、無効ラインLM1〜4のいずれかに入賞ラインLNに揃った場合に入賞となる図柄の組み合わせ(例えば、ベル−ベル−ベル)が揃う構成とすることで、入賞ラインLNに特定の入賞を構成する図柄の組み合わせが揃ったことを認識しやすくするものである。本実施の形態では、図1に示すように、リール2Lの上段、リール2Cの上段、リール2Rの上段、すなわち上段に水平方向に並んだ図柄に跨って設定された無効ラインLM1、リール2Lの下段、リール2Cの下段、リール2Rの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインLM2、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインLM3、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインLM4の4種類が無効ラインLMとして定められている。
In the present embodiment, invalid lines LM1 to LM1-4 are set separately from the winning line LN in order to make it easier to recognize that the winning line LN has a combination of symbols constituting the winning line. The invalid lines LM1 to LM4 are not determined based on the combination of symbols aligned with the invalid lines LM1 to LM4. When the combination of symbols constituting a specific prize is arranged on the winning line LN, the invalid line LM1 to LM4. When a combination of symbols (for example, bell-bell-bell) is awarded when the winning line LN is aligned with any of the LM1 to LM4, the symbols constituting the particular winning line LN It is easy to recognize that the combination is complete. In the present embodiment, as shown in FIG. 1, the invalid lines LM1 and 2L of the
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、透視窓3に表示結果が導出表示される。
When the
そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、入賞ラインLNに予め定められた図柄の組み合わせ(以下、役とも呼ぶ)が各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施の形態では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。また、入賞ラインLNに、遊技状態の移行を伴う図柄の組み合わせが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組み合わせに応じた遊技状態に移行するようになっている。
Then, when all the
なお、本実施形態では、スタートスイッチ7の操作が有効な状態でスタートスイッチ7の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための1単位の制御(ゲーム制御)は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。
In the present embodiment, the game starts when the operation of the
また、本実施の形態におけるスロットマシン1にあっては、ゲームが開始されて各リール2L、2C、2Rが回転して図柄の変動が開始した後、いずれかのストップスイッチ8L、8C、8Rが操作されたときに、当該ストップスイッチ8L、8C、8Rに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ8L、8C、8Rの操作から対応するリール2L、2C、2Rの回転を停止するまでの最大停止遅延時間は190ms(ミリ秒)である。
Further, in the
リール2L、2C、2Rは、1分間に80回転し、80×21(1リール当たりの図柄コマ数)=1680コマ分の図柄を変動させるので、190msの間では最大で4コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ8L、8C、8Rが操作されたときに表示されている図柄と、そこから4コマ先までにある図柄、合計5コマ分の図柄である。
The
このため、例えば、ストップスイッチ8L、8C、8Rのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合、当該図柄から4コマ先までの図柄を下段に表示させることができるため、リール2L、2C、2R各々において、ストップスイッチ8L、8Rのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの中段に表示されている図柄を含めて5コマ以内に配置されている図柄を入賞ラインLNに表示させることができる。
For this reason, for example, when any one of the stop switches 8L, 8C, 8R is operated and the symbol displayed on the lower stage of the reel corresponding to the stop switch is used as a reference, the symbol from the symbol to four frames ahead is used. Since the symbols can be displayed in the lower row, in each of the
図4は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図4に示すように、遊技制御基板40、演出制御基板90、電源基板101が設けられており、遊技制御基板40によって遊技状態が制御され、演出制御基板90によって遊技状態に応じた演出が制御され、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。
FIG. 4 is a block diagram showing a configuration of the
電源基板101には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40および遊技制御基板40を介して接続された演出制御基板90に供給されるようになっている。また、後述するメイン制御部41からサブ制御部91へのコマンド伝送ラインと、遊技制御基板40から演出制御基板90に対して電源を供給する電源供給ラインと、が一系統のケーブルおよびコネクタを介して接続されており、これらケーブルと各基板とを接続するコネクタ同士が全て接続されることで演出制御基板90側の各部が動作可能となり、かつメイン制御部41からのコマンドを受信可能な状態となる。このため、メイン制御部41からコマンドを伝送するコマンド伝送ラインが演出制御基板90に接続されている状態でなければ、演出制御基板90側に電源が供給されず、演出制御基板90側のみが動作してしまうことがない。
The
また、電源基板101には、前述したホッパーモータ34b、払出センサ34c、満タンセンサ35a、設定キースイッチ37、設定/リセットスイッチ38、電源スイッチ39が接続されている。
Further, the above-described
遊技制御基板40には、前述したMAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、打止スイッチ36a、自動精算スイッチ36b、投入メダルセンサ31、ドア開放検出スイッチ25、リールセンサ33L、33C、33Rが接続されているとともに、電源基板101を介して前述した払出センサ34c、満タンセンサ35a、設定キースイッチ37、設定/リセットスイッチ38が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
On the game control board 40, the above-described
また、遊技制御基板40には、前述したクレジット表示器11、遊技補助表示器12、ペイアウト表示器13、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20、BETスイッチ有効LED21、左、中、右停止有効LED22L、22C、22R、設定値表示器24、流路切替ソレノイド30、リールモータ32L、32C、32Rが接続されているとともに、電源基板101を介して前述したホッパーモータ34bが接続されており、これら電気部品は、遊技制御基板40に搭載された後述のメイン制御部41の制御に基づいて駆動されるようになっている。
Further, the game control board 40 includes the
遊技制御基板40には、メイン制御部41、乱数発生回路42、サンプリング回路43、スイッチ検出回路44、モータ駆動回路45、ソレノイド駆動回路46、LED駆動回路47、電断検出回路48、リセット回路49が搭載されている。
The game control board 40 includes a
メイン制御部41は、1チップマイクロコンピュータにて構成され、メインCPU41a、ROM41b、RAM41c、I/Oポート41d、乱数発生回路42を備えている。メイン制御部41は、ROM41bに記憶されたプログラムを実行して、遊技の進行に関する処理を行うととともに、遊技制御基板40に搭載された制御回路の各部を直接的または間接的に制御する。
The
乱数発生回路42は、所定数のパルスを発生するたびにカウントアップして値を更新するカウンタによって構成され、サンプリング回路43は、乱数発生回路42がカウントしている数値を取得する。乱数発生回路42は、乱数の種類毎にカウントする数値の範囲が定められており、本実施の形態では、その範囲として0〜65535が定められている。メインCPU41aは、その処理に応じてサンプリング回路43に指示を送ることで、乱数発生回路42が示している数値を乱数値として取得する(以下、この機能をハードウェア乱数機能という)。後述する内部抽選用の乱数は、ハードウェア乱数機能により抽出した乱数をそのまま使用するのではなく、ソフトウェアにより加工して使用する。また、メインCPU41aは、前述のタイマ割込処理(メイン)により、RAM41cに格納されている数値を更新し、こうして更新された数値を乱数として取得する機能も有する(以下、この機能をソフトウェア乱数機能という)。
The random
スイッチ検出回路44は、遊技制御基板40に直接または電源基板101を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部41に伝送する。モータ駆動回路45は、メイン制御部41から出力されたモータ駆動信号をリールモータ32L、32C、32Rに伝送する。ソレノイド駆動回路46は、メイン制御部41から出力されたソレノイド駆動信号を流路切替ソレノイド30に伝送する。LED駆動回路は、メイン制御部41から出力されたLED駆動信号を遊技制御基板40に接続された各種表示器やLEDに伝送する。電断検出回路48は、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する。リセット回路49は、電源投入時または電源遮断時などの電源が不安定な状態においてメイン制御部41にシステムリセット信号を与える。
The
メイン制御部41のCPU41aは、ROMから読み出したプログラムを実行することにより、スロットマシン1におけるゲームの進行を制御するための処理などを実行する。
The CPU 41a of the
このように、メイン制御部41では、CPU41aがROM41bに格納されているプログラムにしたがって制御を実行するので、以下、メイン制御部41(又はCPU41a)が実行する(又は処理を行う)ということは、具体的には、CPU41aがプログラムにしたがって制御を実行することである。このことは、遊技制御基板40以外の他の基板に搭載されているマイクロコンピュータについても同様である。
As described above, in the
メイン制御部41が備えるRAM41cは、ゲーム制御用のワークエリアを提供する。ここで、RAM41cの少なくとも一部は、バックアップ電源によってバックアップされているバックアップRAMであれば良い。すなわち、スロットマシンへの電力供給が停止しても、所定期間はRAM41cの少なくとも一部の内容が保存される。なお、本実施の形態では、RAM41cの全ての領域がバックアップRAMとされており、スロットマシンへの電力供給が停止しても、所定期間はRAM41cの全ての内容が保存される。
The
メイン制御部41が備えるROM41bには、ゲームの進行を制御するために用いられる各種の選択用データ、テーブルデータ、プログラムなどが格納される。例えば、ROM41bには、CPU41aが各種の判定や決定、設定を行うために用意された複数の判定テーブルや決定テーブル、設定テーブルなどを構成するデータが記憶されている。また、ROM41bには、CPU41aが遊技制御基板40から各種の制御コマンドとなる制御信号を送信するために用いられる複数のコマンドテーブルを構成するテーブルデータなどが記憶されている。
The
メイン制御部41が備えるRAM41cには、スロットマシン1におけるゲームの進行などを制御するために用いられる各種のデータを保持する領域として、遊技制御用データ保持エリアが設けられている。RAM41cとしては、例えばDRAMが使用されており、記憶しているデータ内容を維持するためのリフレッシュ動作が必要になる。CPU41aには、このリフレッシュ動作を行うためのリフレッシュレジスタが内蔵されている。例えば、リフレッシュレジスタは8ビットからなり、そのうち下位7ビットはCPU41aがROM41bから命令フェッチするごとに自動的にインクリメントされる。したがって、リフレッシュレジスタにおける格納値の更新は、CPU41aにおける1命令の実行時間ごとに行われることになる。
The
メイン制御部41は、サブ制御部91に各種のコマンドを送信する。メイン制御部41からサブ制御部91へ送信されるコマンドは一方向のみで送られ、サブ制御部91からメイン制御部41へ向けてコマンドが送られることはない。
The
メイン制御部41は、遊技制御基板40に接続された各種スイッチ類の検出状態が入力ポートから入力される。そしてメイン制御部41は、これら入力ポートから入力される各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
The
また、メイン制御部41は、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施の形態では、一定時間間隔(本実施の形態では、約0.56ms)毎に後述するタイマ割込処理(メイン)を実行する。
Further, the
また、メイン制御部41は、割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。なお、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、その時点で新たな割込が発生することとなる。
The
演出制御基板90には、演出用スイッチ56が接続されており、この演出用スイッチ56の検出信号が入力されるようになっている。
An
演出制御基板90には、スロットマシン1の前面扉1bに配置された液晶表示器51(図1参照)、演出効果LED52、スピーカ53、54、前述したリールLED55等の演出装置が接続されており、これら演出装置は、演出制御基板90に搭載された後述のサブ制御部91による制御に基づいて駆動されるようになっている。
The
なお、本実施の形態では、演出制御基板90に搭載されたサブ制御部91により、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の演出装置の出力制御が行われる構成であるが、サブ制御部91とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板90または他の基板に搭載し、サブ制御部91がメイン制御部41からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部91が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部91および出力制御部の双方によって演出装置の出力制御が行われることとなる。
In the present embodiment, the
また、本実施の形態では、演出装置として液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
Moreover, in this Embodiment, although the
演出制御基板90には、メイン制御部41と同様にサブCPU91a、ROM91b、RAM91c、I/Oポート91dを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部91、演出制御基板90に接続された液晶表示器51の表示制御を行う表示制御回路92、演出効果LED52、リールLED55の駆動制御を行うLED駆動回路93、スピーカ53、54からの音声出力制御を行う音声出力回路94、電源投入時またはサブCPU91aからの初期化命令が一定時間入力されないときにサブCPU91aにリセット信号を与えるリセット回路95、演出制御基板90に接続された演出用スイッチ56から入力された検出信号を検出するスイッチ検出回路96、日付情報および時刻情報を含む時間情報を出力する時計装置97、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブCPU91aに対して出力する電断検出回路98、その他の回路等、が搭載されており、サブCPU91aは、遊技制御基板40から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。
Similar to the
リセット回路95は、遊技制御基板40においてメイン制御部41にシステムリセット信号を与えるリセット回路49よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部91は、メイン制御部41よりも早い段階で起動するようになっている。一方で、電断検出回路98は、遊技制御基板40においてメイン制御部41に電圧低下信号を出力する電断検出回路48よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部91は、メイン制御部41よりも遅い段階で停電を検知し、後述する電断処理(サブ)を行うこととなる。
The
サブ制御部91は、メイン制御部41と同様に、割込機能を備えており、メイン制御部41からのコマンド受信時に割込を発生させて、メイン制御部41から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部91は、システムクロックの入力数が一定数に到達する毎、すなわち一定間隔毎に割込を発生させて後述するタイマ割込処理(サブ)を実行する。
Similar to the
また、サブ制御部91は、メイン制御部41とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理(サブ)の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理(サブ)の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
Also, unlike the
また、サブ制御部91にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、RAM91cに記憶されているデータが保持されるようになっている。すなわち、スロットマシンへの電力供給が停止しても、所定期間はRAM91cの少なくとも一部の内容が保存される。なお、本実施の形態では、RAM91cの全ての領域がバックアップRAMとされており、スロットマシンへの電力供給が停止しても、所定期間はRAM91cの全ての内容が保存される。なお、本実施の形態では、RAM91cの全ての領域がバックアップRAMとされており、スロットマシンへの電力供給が停止しても、所定期間はRAM91cの全ての内容が保存される。
The
[設定値について]
本実施の形態のスロットマシン1は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1〜6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。
[Settings]
In the
設定値を変更するためには、設定キースイッチ37をオン状態としてからスロットマシン1の電源をオンする必要がある。設定キースイッチ37をオン状態として電源をオンすると、設定値表示器24にRAM41cから読み出された設定値が表示値として表示され、設定/リセットスイッチ38の操作による設定値の変更操作が可能な設定変更状態に移行する。設定変更状態において、設定/リセットスイッチ38が操作されると、設定値表示器24に表示された表示値が1ずつ更新されていく(設定6からさらに操作されたときは、設定1に戻る)。そして、スタートスイッチ7が操作されると表示値を設定値として確定する。そして、設定キースイッチ37がoffされると、確定した表示値(設定値)がメイン制御部41のRAM41cに格納され、遊技の進行が可能な状態に移行する。
In order to change the setting value, it is necessary to turn on the power of the
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ37をオン状態とすれば良い。このような状況で設定キースイッチ37をオン状態とすると、設定値表示器24にRAM41cから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ37をoff状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
In order to check the set value, after the game is over, the setting
本実施の形態のスロットマシン1においては、メイン制御部41は、タイマ割込処理(メイン)を実行する毎に、電断検出回路48からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、電断処理(メイン)を実行する。電断処理(メイン)では、RAM41cにいずれかのビットが1となる破壊診断用固定データ(本実施の形態では、5AH)、すなわち0以外の特定のデータを格納するとともに、RAM41cの全ての領域に格納されたデータに基づくRAMパリティが0となるようにRAMパリティ調整用データを計算し、RAM41cに格納する処理を行うようになっている。なお、RAMパリティとはRAM41cの該当する領域(本実施の形態では、全ての領域)の各ビットに格納されている値の排他的論理和として算出される値である。このため、RAM41cの全ての領域に格納されたデータに基づくRAMパリティが0であれば、RAMパリティ調整用データは0となり、RAM41cの全ての領域に格納されたデータに基づくRAMパリティが1であれば、RAMパリティ調整用データは1となる。
In the
そして、メイン制御部41は、システムリセットによるかユーザリセットによるかに関わらず、その起動時においてRAM41cの全ての領域に格納されたデータに基づいてRAMパリティを計算するとともに、破壊診断用固定データの値を確認し、RAMパリティが0であり、かつ破壊診断用固定データの値も正しいことを条件に、RAM41cに記憶されているデータに基づいてメイン制御部41の処理状態を電断前の状態に復帰させるが、RAMパリティが0でない場合(1の場合)や破壊診断用固定データの値が正しくない場合には、RAM異常と判定し、RAM異常フラグをRAM41cにセットしてRAM異常エラー状態に制御し、遊技の進行を不能化させるようになっている。
The
なお、本実施の形態では、RAM41cに格納されている全てのデータが停電時においてもバックアップ電源により保持されるとともに、メイン制御部41は、電源投入時においてRAM41cのデータが正常であると判定した場合に、RAM41cの格納データに基づいて電断前の制御状態に復帰する構成であるが、RAM41cに格納されているデータのうち停電時において制御状態の復帰に必要なデータのみをバックアップし、電源投入時においてバックアップされているデータに基づいて電断前の制御状態に復帰する構成としても良い。
In the present embodiment, all data stored in the
また、電源投入時において電断前の制御状態に復帰させる際に、全ての制御状態を電断前の制御状態に復帰させる必要はなく、遊技者に対して不利益とならない最低限の制御状態を復帰させる構成であれば良く、例えば、入力ポートの状態などを全て電断前の状態に復帰させる必要はない。 In addition, when returning to the control state before the power interruption when the power is turned on, it is not necessary to return all the control states to the control state before the power interruption, and the minimum control state that does not disadvantage the player For example, it is not necessary to restore the state of all input ports to the state before power interruption.
[内部抽選について]
本実施の形態のスロットマシン1は、前述のように遊技状態(通常、内部中、BB(RB))に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。なお、本実施の形態では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインLNが有効化される。
[About internal lottery]
In the
本実施の形態のスロットマシン1は、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ラインLN(以下では、有効化された入賞ラインLNを単に入賞ラインLNと呼ぶ)に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役(以下、「リプレイ」と称することもある)と、遊技者にとって有利な遊技状態への移行を伴う特別役(以下、「ボーナス」と称することもある)と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがRAMに設定されている必要がある。
In the
なお、これら各役の当選フラグのうち、小役および再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。 Of the winning flags for each of these roles, the winning flags for the small role and the replaying role are valid only in the game in which the flag is set, and are invalid in the next game. It is valid until a combination of combinations permitted by the flag is completed, and is invalid in a game having a combination of combinations permitted. In other words, once the special combination winning flag is won, even if the combination of the combinations permitted by the flag cannot be made, the winning flag is not invalidated and is carried over to the next game. It becomes.
図9のSc6における内部抽選処理で実行する内部抽選は、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出表示される以前に(実際には、スタートスイッチ7の検出時)決定するものである。内部抽選では、まず、スタートスイッチ7の検出時に内部抽選用の乱数値(0〜65535の整数)を取得する。詳しくは、RAM41cに割り当てられた乱数値格納ワークの値を同じくRAM41cに割り当てられた抽選用ワークに設定する。そして、遊技状態および特別役の持ち越しの有無に応じて定められた各役について、抽選用ワークに格納された数値データと、遊技状態を特定するための遊技状態フラグの値、後述するRTを特定するためのRTフラグの値、賭数および設定値に応じて定められた各役の判定値数に応じて行われる。なお、特別役の持ち越しとは、内部抽選において特別役に当選したゲームで特別役が入賞しなかった場合に、特別役の当選状態を次ゲーム以降に持ち越し、特別役が入賞するまで特別役の当選状態を維持することである。
The internal lottery executed in the internal lottery process in Sc6 in FIG. 9 determines whether or not the above winning combination is permitted before the display results of all the
内部抽選では、内部抽選の対象となる役、現在の遊技状態フラグ値、RTフラグ値および設定値に対応して定められた判定値数を、内部抽選用の乱数値(抽選用ワークに格納された数値データ)に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率(判定値数/65536)で役が当選することとなる。 In the internal lottery, an internal lottery target, the current gaming state flag value, the RT flag value, and the number of determination values determined corresponding to the set value are stored in a random number for internal lottery (a lottery work). When the result of addition overflows, it is determined that the winning combination is won. For this reason, a winning combination will be won with a probability (number of determination values / 65536) according to the number of determination values.
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをRAM41cに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、2バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。なお、いずれの役および役の組合せにも当選しなかった場合には、一般役格納ワークのみクリアする。
If a winning combination of any combination is determined, a winning flag corresponding to the combination determined to be winning is set in the internal winning flag storing work assigned to the
[リールの停止制御について]
次に、図9のSc7におけるリール制御処理において実行するリール2L、2C、2Rの停止制御について説明する。
[Reel stop control]
Next, stop control of the
メイン制御部41は、リールの回転が開始したとき、およびリールが停止し、かつ未だ回転中のリールが残っているときに、ROM41bに格納されているテーブルインデックスおよびテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ8L、8C、8Rに対応するリール2L、2C、2Rの回転を停止させる制御を行う。
The
テーブルインデックスには、内部抽選による当選フラグの設定状態(以下、内部当選状態と呼ぶ)別に、テーブルインデックスを参照する際の基準アドレスから、テーブル作成用データが格納された領域の先頭アドレスを示すインデックスデータが格納されているアドレスまでの差分が登録されている。これにより内部当選状態に応じた差分を取得し、基準アドレスに対してその差分を加算することで該当するインデックスデータを取得することが可能となる。なお、役の当選状況が異なる場合でも、同一の制御が適用される場合においては、インデックスデータとして同一のアドレスが格納されており、このような場合には、同一のテーブル作成用データを参照して、停止制御テーブルが作成されることとなる。 In the table index, an index that indicates the start address of the area in which the data for table creation is stored, from the reference address when referring to the table index, according to the setting state of the winning flag by internal lottery (hereinafter referred to as the internal winning state) Differences up to the address where the data is stored are registered. As a result, a difference corresponding to the internal winning state is acquired, and the corresponding index data can be acquired by adding the difference to the reference address. Even if the winning status of the combination is different, when the same control is applied, the same address is stored as the index data. In such a case, the same table creation data is referred to. Thus, a stop control table is created.
テーブル作成用データは、停止操作位置に応じた滑りコマ数を示す停止制御テーブルと、リールの停止状況に応じて参照すべき停止制御テーブルのアドレスと、からなる。 The table creation data includes a stop control table indicating the number of sliding frames according to the stop operation position, and an address of the stop control table to be referred to according to the reel stop status.
リールの停止状況に応じて参照される停止制御テーブルは、全てのリールが回転しているか、左リールのみ停止しているか、中リールのみ停止しているか、右リールのみ停止しているか、左、中リールが停止しているか、左、右リールが停止しているか、中、右リールが停止しているか、によって異なる場合があり、更に、いずれかのリールが停止している状況においては、停止済みのリールの停止位置によっても異なる場合があるので、それぞれの状況について、参照すべき停止制御テーブルのアドレスが回転中のリール別に登録されており、テーブル作成用データの先頭アドレスに基づいて、それぞれの状況に応じて参照すべき停止制御テーブルのアドレスが特定可能とされ、この特定されたアドレスから、それぞれの状況に応じて必要な停止制御テーブルを特定できるようになっている。なお、リールの停止状況や停止済みのリールの停止位置が異なる場合でも、同一の停止制御テーブルが適用される場合においては、停止制御テーブルのアドレスとして同一のアドレスが登録されているものもあり、このような場合には、同一の停止制御テーブルが参照されることとなる。 The stop control table that is referred to according to the reel stop status is whether all reels are rotating, only the left reel is stopped, only the middle reel is stopped, only the right reel is stopped, It may vary depending on whether the middle reel is stopped, the left and right reels are stopped, the middle and right reels are stopped, and if any reel is stopped, stop Since there may be differences depending on the stop position of the reels already completed, the address of the stop control table to be referenced for each situation is registered for each rotating reel, and based on the top address of the table creation data, It is possible to specify the address of the stop control table that should be referred to according to the status of each, and it is necessary according to each status from this specified address And to be able to identify the stop control table. Even when the stop status of the reels and the stop position of the stopped reels are different, when the same stop control table is applied, the same address may be registered as the address of the stop control table. In such a case, the same stop control table is referred to.
停止制御テーブルは、停止操作が行われたタイミング別の滑りコマ数を特定可能なデータである。本実施の形態では、リールモータ32L、32C、32Rに、168ステップ(0〜167)の周期で1周するステッピングモータを用いている。すなわちリールモータ32L、32C、32Rを168ステップ駆動させることでリール2L、2C、2Rが1周することとなる。そして、リール1周に対して16ステップ(1図柄が移動するステップ数)毎に分割した21の領域(コマ)が定められており、これらの領域には、リール基準位置から0〜20の領域番号が割り当てられている。一方、1リールに配列された図柄数も21であり、各リールの図柄に対して、リール基準位置から0〜20の図柄番号が割り当てられているので、0番図柄から20番図柄に対して、それぞれ0〜20の領域番号が順に割り当てられていることとなる。そして、停止制御テーブルには、領域番号別の滑りコマ数が所定のルールで圧縮して格納されており、停止制御テーブルを展開することによって領域番号別の滑りコマ数を取得できるようになっている。
The stop control table is data that can specify the number of sliding frames for each timing when the stop operation is performed. In the present embodiment, stepping motors that make one turn at a cycle of 168 steps (0 to 167) are used for the
前述のようにテーブルインデックスおよびテーブル作成用データを参照して作成される停止制御テーブルは、領域番号に対応して、各領域番号に対応する領域が停止基準位置(本実施の形態では、透視窓3の下段図柄の領域)に位置するタイミング(リール基準位置からのステップ数が各領域番号のステップ数の範囲に含まれるタイミング)でストップスイッチ8L、8C、8Rの操作が検出された場合の滑りコマ数がそれぞれ設定されたテーブルである。 As described above, the stop control table created by referring to the table index and the table creation data corresponds to the area number, and the area corresponding to each area number has a stop reference position (in this embodiment, a perspective window). 3 when the operation of the stop switches 8L, 8C, 8R is detected at the timing (the timing in which the number of steps from the reel reference position is included in the range of the number of steps). This is a table in which the number of frames is set.
次に、停止制御テーブルの作成手順について説明すると、まず、リール回転開始時においては、そのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスを取得する。具体的には、まずテーブルインデックスを参照し、内部当選状態に対応するインデックスデータを取得し、そして取得したインデックスデータに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから全てのリールが回転中の状態に対応する各リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して全てのリールについて停止制御テーブルを作成する。 Next, the procedure for creating the stop control table will be described. First, at the start of reel rotation, the top address of the table creation data corresponding to the internal winning state of the game is acquired. Specifically, the table index is first referred to, index data corresponding to the internal winning state is obtained, table creation data is identified based on the obtained index data, and all reels are identified from the identified table creation data. The address of the stop control table for each reel corresponding to the state of rotation is acquired, and the stop control table for each reel stored at the acquired address is expanded to generate a stop control table for all reels.
また、いずれか1つのリールが停止したとき、またはいずれか2つのリールが停止したときには、リール回転開始時に取得したインデックスデータ、すなわちそのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから停止済みのリールおよび当該リールの停止位置の領域番号に対応する未停止リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して未停止のリールについて停止制御テーブルを作成する。 Further, when any one reel stops or any two reels stop, the index data acquired at the start of reel rotation, that is, the top address of the table creation data corresponding to the internal winning state of the game The table creation data is identified based on the obtained table creation data, and the address of the stop control table for the unreacted reel corresponding to the stop reel and the area number of the stop position of the reel is obtained from the identified table creation data. The stop control table for each stored reel is expanded to create a stop control table for the unstopped reels.
次に、メイン制御部41がストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作を有効に検出したときに、該当するリールに表示結果を導出させる際の制御について説明すると、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作を有効に検出すると、停止操作を検出した時点のリール基準位置からのステップ数に基づいて停止操作位置の領域番号を特定し、停止操作が検出されたリールの停止制御テーブルを参照し、特定した停止操作位置の領域番号に対応する滑りコマ数を取得する。そして、取得した滑りコマ数分リールを回転させて停止させる制御を行う。具体的には、停止操作を検出した時点のリール基準位置からのステップ数から、取得した滑りコマ数引き込んで停止させるまでのステップ数を算出し、算出したステップ数分リールを回転させて停止させる制御を行う。これにより、停止操作が検出された停止操作位置の領域番号に対応する領域から滑りコマ数分先の停止位置となる領域番号に対応する領域が停止基準位置(本実施の形態では、透視窓3の下段図柄の領域)に停止することとなる。
Next, when the
本実施の形態のテーブルインデックスには、一の遊技状態における一の内部当選状態に対応するインデックスデータとして1つのアドレスのみが格納されており、更に、一のテーブル作成用データには、一のリールの停止状況(および停止済みのリールの停止位置)に対応する停止制御テーブルの格納領域のアドレスとして1つのアドレスのみが格納されている。すなわち一の遊技状態における一の内部当選状態に対応するテーブル作成用データ、およびリールの停止状況(および停止済みのリールの停止位置)に対応する停止制御テーブルが一意的に定められており、これらを参照して作成される停止制御テーブルも、一の遊技状態における一の内部当選状態、およびリールの停止状況(および停止済みのリールの停止位置)に対して一意となる。このため、遊技状態、内部当選状態、リールの停止状況(および停止済みのリールの停止位置)の全てが同一条件となった際に、同一の停止制御テーブル、すなわち同一の制御パターンに基づいてリールの停止制御が行われることとなる。 In the table index of the present embodiment, only one address is stored as index data corresponding to one internal winning state in one gaming state, and one table creation data includes one reel. Only one address is stored as the address of the storage area of the stop control table corresponding to the stop status (and the stop position of the stopped reel). That is, the table creation data corresponding to one internal winning state in one gaming state and the stop control table corresponding to the reel stop status (and the stop position of the stopped reel) are uniquely determined. The stop control table created with reference to is unique for one internal winning state in one gaming state and the reel stop status (and the stop position of the stopped reel). Therefore, when all of the gaming state, the internal winning state, and the reel stop status (and the stop position of the stopped reel) are the same, the reel is based on the same stop control table, that is, the same control pattern. The stop control is performed.
また、本実施の形態では、滑りコマ数として0〜4の値が定められており、停止操作を検出してから最大4コマ図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大5コマの範囲から図柄の停止位置を指定できるようになっている。また、1図柄分リールを移動させるのに1コマの移動が必要であるので、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大5図柄の範囲から図柄の停止位置を指定できることとなる。 Further, in the present embodiment, a value of 0 to 4 is determined as the number of sliding frames, and it is possible to stop the reel by drawing a maximum of 4 frames after detecting a stop operation. In other words, the stop position of the symbol can be designated from a range of a maximum of 5 frames including the stop operation position where the stop operation is detected. In addition, since it is necessary to move one frame to move the reel for one symbol, it is possible to stop the reel by pulling in a maximum of four symbols after detecting the stop operation. The symbol stop position can be designated from a range of up to five symbols including the operation position.
本実施の形態では、いずれかの役に当選している場合には、当選役を入賞ラインLNに4コマの範囲で最大限引き込み、当選していない役が入賞ラインLNに揃わないように引き込む滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う一方、いずれの役にも当選していない場合には、いずれの役も揃わない滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う。これにより、停止操作が行われた際に、入賞ラインLNに最大4コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大4コマの引込範囲でハズシて停止させる制御が行われることとなる。 In the present embodiment, when any of the winning combinations is won, the winning combination is drawn into the winning line LN to the maximum in the range of 4 frames, and the winning combination is drawn so that it does not align with the winning line LN. Create a stop control table with the number of sliding symbols and perform reel stop control. On the other hand, if you do not win any of the roles, stop control with the number of sliding symbols that does not match any of the roles Create a table and perform reel stop control. As a result, when a stop operation is performed, if the winning combination can be stopped in the winning line LN within the drawing range of a maximum of 4 frames, the control is performed so that the winning combination is stopped. The combination that has not been performed will be controlled to be stopped in a drawing range of a maximum of 4 frames.
特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、当選した小役を入賞ラインLNに4コマの範囲で最大限に引き込むように滑りコマ数が定められているとともに、当選した小役を入賞ラインLNに最大4コマの範囲で引き込めない停止操作位置については、当選した特別役を入賞ラインLNに4コマの範囲で最大限に引き込むように滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う。これにより、停止操作が行われた際に、入賞ラインLNに最大4コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ラインLNに最大4コマの引込範囲で当選している小役を引き込めない場合には、入賞ラインLNに最大4コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、4コマの引込範囲でハズシて停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ラインLNに揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。なお、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ラインLNに揃わないようになっている。 If a special role and a small role are elected at the same time, such as when a special role is elected while the special role has been carried over from before the previous game, the elected small role will be placed in the winning line LN within 4 frames. The number of sliding symbols is set so as to be pulled in as much as possible, and for the stop operation position where the selected small role cannot be drawn into the winning line LN within the range of up to 4 frames, the winning special role is set to 4 in the winning line LN. A stop control table in which the number of sliding frames is determined so as to be pulled in as much as possible within the range of frames is created, and reel stop control is performed. As a result, when a stop operation is performed, if it is possible to stop all the small roles that have been selected in the winning line LN within a drawing range of a maximum of 4 frames, the control is performed so that the winning combination is stopped. If it is not possible to withdraw a small role that has been won in the draw range of up to 4 frames to the line LN, if the special role that has been won in the draw range of up to 4 frames can be aligned and stopped on the winning line LN, A control is performed to stop them in a uniform manner, and a winning combination that has not been won will be controlled to be stopped within a 4-frame pull-in range. That is, in such a case, priority is given to the control for aligning the small role with the winning line LN over the special role, and the special role can be won only when the small role cannot be drawn. When a special combination and a small combination can be drawn at the same time, only the small combination is drawn and the small combination is not aligned with the winning line LN at the same time as the special combination.
なお、本実施の形態では、特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合や新たに特別役と小役が同時に当選した場合など、特別役と小役が同時に当選している場合には、当選した特別役よりも当選した小役が優先され、小役が引き込めない場合のみ、特別役を入賞ラインLNに揃える制御を行っているが、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ラインLNに揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ラインLNに揃える制御を行っても良い。 In this embodiment, when a special role is elected while the special role has been carried over from before the previous game, or when a special role and a small role are won simultaneously, the special role and the small role are won simultaneously. If the winning combination is prioritized over the winning special role, the special role is controlled to align with the winning line LN only when the winning combination cannot be drawn. When the two are simultaneously elected, the control for aligning the special role with the winning line LN has priority over the small role, and the control for aligning the small role with the winning line LN may be performed only when the special role cannot be drawn. .
特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役とリプレイが同時に当選している場合には、停止操作が行われた際に、入賞ラインLNに最大4コマの引込範囲で再遊技役の図柄を揃えて停止させる制御が行われる。なお、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール2L、2C、2Rのいずれについても5図柄以内、すなわち4コマ以内の間隔で配置されており、4コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ラインLNに揃える制御が優先され、必ず再遊技役が入賞することとなる。なお、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ラインLNに揃わないようになっている。
When a special role and replay are won at the same time, such as when a re-playing role is won in a state where the special role has been carried over from before the previous game, when the stop operation is performed, the maximum is shown in the winning line LN. Control is performed so that the symbols of the re-gamer are aligned and stopped within the 4-frame pull-in range. In this case, the symbols constituting the re-gamer or the symbols constituting the re-gamer elected at the same time are arranged within 5 symbols for each of the
本実施の形態においてメイン制御部41は、リール2L、2C、2Rの回転が開始した後、ストップスイッチ8L、8C、8Rの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。なお、リール回転エラーの発生により、一時的にリールの回転が停止した場合でも、その後リール回転が再開した後、ストップスイッチ8L、8C、8Rの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。
In the present embodiment, the
なお、本実施の形態では、ストップスイッチ8L、8C、8Rの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっているが、リールの回転が開始してから、予め定められた自動停止時間が経過した場合に、リールの停止操作がなされない場合でも、停止操作がなされたものとみなして自動的に各リールを停止させる自動停止制御を行うようにしても良い。この場合には、遊技者の操作を介さずにリールが停止することとなるため、例え、いずれかの役が当選している場合でもいずれの役も構成しない表示結果を導出させることが好ましい。 In the present embodiment, the control for stopping the display result on the corresponding reel is performed on the condition that the operation of the stop switches 8L, 8C, and 8R is detected, but the rotation of the reel is started. Then, when a predetermined automatic stop time has elapsed, even if the reel stop operation is not performed, it is assumed that the stop operation has been performed, and automatic stop control is performed to automatically stop each reel. Anyway. In this case, since the reels are stopped without the player's operation, it is preferable to derive a display result that does not constitute any combination even if any combination is won.
[各種コマンドについて]
次に、メイン制御部41がサブ制御部91に対して送信するコマンドについて説明する。メイン制御部41がサブ制御部91に対して送信するコマンドは、コマンドの種類を示す1バイトのモードデータとコマンドの内容を示す1バイトのEXTデータとからなる。サブ制御部91は、モードデータからコマンドの種類を判別し、EXTデータからコマンドの内容を判別する。
[About various commands]
Next, commands that the
各コマンドは、メイン制御部41のRAM41cの特別ワークに設けられたコマンド送信用バッファに一時的に格納され、図10および図11に示すタイマ割込処理(メイン)で実行されるコマンド送信処理(Sk16)においてサブ制御部91に送信される。
Each command is temporarily stored in a command transmission buffer provided in a special work in the
サブ制御部91は、メイン制御部41からコマンドを受信したときに、受信したコマンドの種類に応じて、液晶表示器51から表示されている画像、スピーカ53,54から出力される音声、前面扉1bに設けられたランプなどの制御を行う。
When the
設定変更開始コマンドは、設定変更が開始されたことを示すコマンドである。設定変更開始コマンドは設定変更の開始時に送信される。EXTデータには、設定変更が開始されたことを示す値が設定される。 The setting change start command is a command indicating that setting change has been started. The setting change start command is transmitted at the start of setting change. In the EXT data, a value indicating that the setting change has been started is set.
設定変更終了コマンドは、設定変更が終了したことおよび設定変更により選択された設定値を示すコマンドである。設定変更終了コマンドは設定変更の終了時に送信される。EXTデータには、設定変更により選択される6種類の設定値のいずれかが設定される。 The setting change end command is a command indicating that the setting change has been completed and the setting value selected by the setting change. The setting change end command is transmitted when the setting change ends. In the EXT data, any one of six types of setting values selected by changing the setting is set.
エラー開始コマンドは、エラーが発生したことを示すコマンドである。EXTデータには、8種類のエラーのいずれかが設定される。エラー開始コマンドはエラー処理の開始時に送信される。8種類のエラーには、オーバーフロータンク35内のメダルが満タンになったことを示すオーバーフロータンク溢れエラー、ホッパータンク34a内のメダルがなくなったことを示す払出メダルなしエラー、払い出すメダルがホッパータンク34aなどで詰まったことを示す払出メダル詰まりエラー、メダルセレクタでのメダルの検出異常が発生したことを示す投入信号異常エラー、リールの回転が正常に行われていないことを示すリール回転異常エラー、内部抽選の結果から入賞が予想される入賞予想フラグと実際に入賞した入賞結果とが一致しなかったことを示す不正入賞エラー、RAM異常を示すRWM内容エラーが設定されている。
The error start command is a command indicating that an error has occurred. One of eight types of errors is set in the EXT data. The error start command is transmitted at the start of error processing. The eight types of errors include overflow tank overflow error indicating that the medal in the
エラー解除コマンドは、エラーが解除されたことを示すコマンドである。エラー解除コマンドはエラー処理の解除時に送信される。EXTデータには、エラーが解除されたことを示す値が設定される。 The error release command is a command indicating that the error has been released. The error cancel command is sent when error processing is cancelled. In the EXT data, a value indicating that the error has been canceled is set.
精算開始時コマンドは、メダルの精算が開始されたことを示すコマンドである。精算開始時コマンドは精算処理の開始時に送信される。EXTデータには、投入されたメダルが精算されたことを示すデータとクレジットされたメダルが精算されたことを示すデータとのいずれかが設定される。 The settlement start command is a command indicating that the medal settlement has started. The checkout start command is transmitted at the start of the checkout process. In the EXT data, either data indicating that the inserted medal has been settled or data indicating that the credited medal has been settled is set.
精算終了コマンドは、メダルの精算が終了したことを示すコマンドである。精算終了コマンドは精算処理の終了時に送信される。EXTデータには、精算が終了したことを示す値が設定される。 The settlement end command is a command indicating that the medal settlement has ended. The settlement end command is transmitted at the end of the settlement process. In the EXT data, a value indicating that the settlement has been completed is set.
メダル投入コマンドは、メダルが投入されたことを示すコマンドである。メダル投入コマンドは、クレジットの加算を伴わないメダルの投入時に送信される。EXTデータには、投入したメダルの枚数(1〜3枚のいずれか)を示す値が設定される。 The medal insertion command is a command indicating that a medal has been inserted. The medal insertion command is transmitted when a medal is inserted without credit addition. In the EXT data, a value indicating the number of inserted medals (one to three) is set.
クレジット増加コマンドは、クレジットされたメダルの枚数が増加したことを示すコマンドである。クレジット増加コマンドは、クレジットの加算を伴うメダルの投入時に送信される。EXTデータには、クレジットが増加したことを示す値が設定される。 The credit increase command is a command indicating that the number of credited medals has increased. The credit increase command is transmitted when a medal with credit addition is inserted. In the EXT data, a value indicating that the credit has increased is set.
遊技カウンタ1コマンドは、ゲームが行われるたびにカウントされる0〜127のカウント値を示すコマンドである。遊技カウンタ1コマンドは、スタートスイッチの操作の受付時に送信される。EXTデータには、0〜127のカウント値のうちのいずれかを示す値が設定される。
The
リール加速情報コマンドは、リールの回転が開始したことを示すコマンドである。リール加速情報コマンドは、スタートスイッチの操作の受付時に送信される。EXTデータには、9種類のリールの回転開始パターンのうちのいずれかを示す値が設定される。 The reel acceleration information command is a command indicating that reel rotation has started. The reel acceleration information command is transmitted when the start switch operation is accepted. In the EXT data, a value indicating one of nine types of reel rotation start patterns is set.
内部当選コマンドは、BBに当選したか否かおよびRTの状態を示すコマンドである。内部当選コマンドは、スタートスイッチの操作の受付時に送信される。EXTデータには、BBに当選したか否かおよびRTの状態を示す値が設定される。 The internal winning command is a command indicating whether or not BB is won and the state of RT. The internal winning command is transmitted when the start switch operation is accepted. In the EXT data, a value indicating whether or not BB is won and a state of RT is set.
当選番号コマンドは、内部抽選の結果を示すコマンドである。当選番号コマンドは、スタートスイッチの操作の受付時に送信される。EXTデータには、内部抽選の結果を示す値が設定される。 The winning number command is a command indicating the result of the internal lottery. The winning number command is transmitted when the start switch operation is accepted. A value indicating the result of the internal lottery is set in the EXT data.
BB投入枚数1コマンドは、BBのゲームで投入したメダルの枚数を示すコマンドである。BB投入枚数1コマンドは、リールの回転開始時に送信される。EXTデータには、投入されたメダルの枚数を示す値が設定される。
The BB inserted
リール停止受付1コマンドは、第1停止が行われたことを示すコマンドである。リール停止受付1コマンドは、ストップスイッチの操作の受付時に送信される。EXTデータには、各ストップスイッチの受付状態(すなわち操作されたか否か)および各ストップスイッチに内蔵されたLEDの点灯状態(点灯中か否か)を示す値が設定される。
The
リール滑りコマ数1コマンドは、第1停止が行われたときにリールが停止するまでのコマ数を示すコマンドである。リール滑りコマ数1コマンドは、ストップスイッチの操作の受付時に送信される。EXTデータには、リールが停止するまでのコマ数(0〜4コマ)を示す値が設定される。
The reel sliding
リール停止位置1コマンドは、第1停止が行われたときにリールが停止する位置を示すコマンドである。リール停止位置1コマンドは、ストップスイッチの操作の受付時に送信される。EXTデータには、リールの停止位置(コマ番号0〜20)を示す値が設定される。
The
リール停止受付2コマンドは、第2停止が行われたことを示すコマンドである。リール停止受付2コマンドは、ストップスイッチの操作の受付時に送信される。EXTデータには、各ストップスイッチの受付状態(すなわち操作されたか否か)および各ストップスイッチに内蔵されたLEDの点灯状態(点灯中か否か)を示す値が設定される。
The
リール滑りコマ数2コマンドは、第2停止が行われたときにリールが停止するまでのコマ数を示すコマンドである。リール滑りコマ数2コマンドは、ストップスイッチの操作の受付時に送信される。EXTデータには、リールが停止するまでのコマ数(0〜4コマ)を示す値が設定される。
The reel sliding
リール停止位置2コマンドは、第2停止が行われたときにリールが停止する位置を示すコマンドである。リール停止位置2コマンドは、ストップスイッチの操作の受付時に送信される。EXTデータには、リールの停止位置(コマ番号0〜20)を示す値が設定される。
The
リール停止受付3コマンドは、第3停止が行われたことを示すコマンドである。リール停止受付3コマンドは、ストップスイッチの操作の受付時に送信される。EXTデータには、各ストップスイッチの受付状態(すなわち操作されたか否か)および各ストップスイッチに内蔵されたLEDの点灯状態(点灯中か否か)を示す値が設定される。
The
リール滑りコマ数3コマンドは、第3停止が行われたときにリールが停止するまでのコマ数を示すコマンドである。リール滑りコマ数3コマンドは、ストップスイッチの操作の受付時に送信される。EXTデータには、リールが停止するまでのコマ数(0〜4コマ)を示す値が設定される。
The reel sliding
リール停止位置3コマンドは、第3停止が行われたときにリールが停止する位置を示すコマンドである。リール停止位置3コマンドは、ストップスイッチの操作の受付時に送信される。EXTデータには、リールの停止位置(コマ番号0〜20)を示す値が設定される。
The
遊技カウンタ2コマンドは、ゲームが行われるたびにカウントされる0〜127のカウント値を示すコマンドである。遊技カウンタ2コマンドは、全リールの停止後に送信される。EXTデータには、0〜127のカウント値のうちのいずれかを示す値が設定される。
The
RT情報2コマンドは、BBに当選したか否か、RBに当選したか否かおよびRTの状態を示すコマンドである。RT情報2コマンドは、スタートスイッチの操作の受付時に送信される。EXTデータには、BBに当選したか否かまたはRBに当選したか否かと、RTの状態とを示す値が設定される。
The
入賞番号1コマンドは、入賞の種類を示すコマンドである。入賞番号1コマンドは、メダルの払出処理開始時に送信される。EXTデータには、BBの作動状態(BB中か否か)と入賞の種類を示す値が設定される。
The winning
入賞番号2コマンドは、入賞の種類を示すコマンドである。入賞番号1コマンドは、メダルの払出処理開始時に送信される。EXTデータには、BBの作動状態(BB中か否か)と入賞の種類を示す値が設定される。
The winning
入賞枚数コマンドは、入賞により払い出されるメダルの枚数を示すコマンドである。入賞枚数コマンドは、メダルの払出処理開始時に送信される。EXTデータには、メダルの払出枚数を示す値が設定される。 The winning number command is a command indicating the number of medals to be paid out by winning. The winning number command is transmitted at the start of the medal payout process. A value indicating the number of medals paid out is set in the EXT data.
BB払出枚数1コマンドは、BB時のメダルの払出枚数を示すコマンドである。BB払出枚数1コマンドは、BB中におけるメダルの払出処理開始時に送信される。EXTデータには、BB中におけるメダルの払出枚数を示す値(上位7ビット)が設定される。
The
BB払出枚数2コマンドは、BB時のメダルの払出枚数を示すコマンドである。BB払出枚数2コマンドは、BB中におけるメダルの払出処理開始時に送信される。EXTデータには、BB中におけるメダルの払出枚数を示す値(下位7ビット)が設定される。
The
BB終了待ちコマンドは、BBの終了待ちであることを示すコマンドである。BB終了待ちコマンドはBB終了時に送信される。EXTデータには、終了待ちのBBの種類(本実施形態では1種類)を示す値が設定される。 The BB end wait command is a command indicating that BB end is waiting. The BB end wait command is transmitted when the BB ends. In the EXT data, a value indicating the type of BB waiting for termination (one type in this embodiment) is set.
BB終了コマンドは、BBが終了することを示すコマンドである。BB終了コマンドはBB終了時、自動精算の開始時、打ち止め処理の開始時に送信される。EXTデータには、終了するBBの種類(本実施形態では1種類)を示す値が設定される。 The BB end command is a command indicating that BB ends. The BB end command is transmitted at the end of BB, at the start of automatic checkout, and at the start of stop processing. In the EXT data, a value indicating the type of BB to be terminated (one type in the present embodiment) is set.
RT情報1コマンドは、RTの状態を示すコマンドである。RT情報1コマンドは、ゲームの終了時に送信される。EXTデータには、RTの状態を示す値が設定される。
The
BB作動種別コマンドは、BB中か否かを示すコマンドである。BB作動種別コマンドは、ゲームの終了時に送信される。EXTデータには、BB中か否かを示す値が設定される。 The BB operation type command is a command indicating whether or not BB is in progress. The BB operation type command is transmitted at the end of the game. In the EXT data, a value indicating whether or not BB is in progress is set.
遊技終了コマンドは、ゲームを終了したときの遊技状態(BB、RB、リプレイ入賞)を示すコマンドである。遊技終了コマンドは、ゲームの終了時に送信される。EXTデータには、ゲームを終了したときの遊技状態(BB、RB、リプレイ入賞)を示す値が設定される。 The game end command is a command indicating a game state (BB, RB, replay winning) when the game is ended. The game end command is transmitted at the end of the game. In the EXT data, a value indicating a gaming state (BB, RB, replay winning) when the game is finished is set.
ドアコマンドは、前面扉1bが開放されているか否かを示すコマンドである。ドアコマンドは、電源投入時、設定変更開始時、RWM内容エラー開始時、ゲーム終了時、ドア開閉時に送信される。EXTデータには、ドアの開放状態(開放あるいは閉鎖のいずれであるか)を示す値が設定される。 The door command is a command indicating whether or not the front door 1b is opened. The door command is transmitted when the power is turned on, when the setting change starts, when the RWM content error starts, when the game ends, or when the door is opened or closed. In the EXT data, a value indicating the door open state (whether open or closed) is set.
電断復帰1コマンドは、ゲームが行われるたびにカウントされる0〜127のカウント値を示すコマンドである。電断復帰1コマンドは、電源の投入後にバックアップが正常であった場合に送信される。EXTデータには、0〜127のカウント値のうちのいずれかを示す値が設定される。
The
電断復帰2コマンドは、BBに当選したか否かおよびRTの状態を示すコマンドである。電断復帰2コマンドは、電源の投入後にバックアップが正常であった場合に送信される。EXTデータには、BBに当選したか否かおよびRTの状態を示す値が設定される。
The
電断復帰3コマンドは、BB中か否かおよび投入済みのメダルの枚数を示すコマンドである。電断復帰3コマンドは、電源の投入後にバックアップが正常であった場合に送信される。EXTデータには、BB中か否かおよび投入済みのメダルの枚数を示す値が設定される。
The
電断復帰4コマンドは、ゲームを終了したときの遊技状態(BB、RB、リプレイ入賞)を示すコマンドである。電断復帰4コマンドは、電源の投入後にバックアップが正常であった場合に送信される。EXTデータには、ゲームを終了したときの遊技状態(BB、RB、リプレイ入賞)を示す値が設定される。
The
ホットスタートコマンドは、電源をオフにしないで再起動することを示すコマンドである。ホットスタートコマンドは、電源の投入後にバックアップが正常であった場合に送信される。EXTデータには、電源をオフにしないで再起動することを示す値が設定される。 The hot start command is a command indicating that restart is performed without turning off the power. The hot start command is transmitted when the backup is normal after the power is turned on. In the EXT data, a value indicating that restart is performed without turning off the power is set.
次に、本実施の形態におけるメイン制御部41が実行する各種制御内容を説明する。
Next, various control contents executed by the
[初期設定処理]
まず、メイン制御部41が実行する初期設定処理について説明する。メイン制御部41は、電力が供給されてリセット回路49からリセット信号が入力されると、システムリセットを行い、起動処理を実行する。そして、起動処理を実行することにより、後述するIMFが0となり、割込禁止状態が設定される。また、起動処理によって内部機能レジスタ(CTCコントロールレジスタや乱数回路に関わるレジスタなど)に初期値が設定される(図24参照)。その後、ユーザプログラムとしてROM41bに記憶されたプログラムにしたがって、図5および図6のフローチャートに示す初期設定処理を行う。
[Initial setting processing]
First, an initial setting process executed by the
図5及び図6に示すように、メイン制御部41は、まず、後述するDI命令の実行により割込マスタ許可フラグ(IMF)=0にし、割込を禁止する(Sa1)。なお、割込処理とは、割込要因が発生したときに基本処理に割り込んで発生する処理である。図10および図11において説明するメイン制御部41が一定間隔(0.56msの間隔)で実行するタイマ割込処理(メイン)の割込を禁止する(Sa1)。次いで、初期化データをセットし(Sa2)、各出力ポートを初期化する(Sa3)。次いで、内蔵レジスタの設定を行う(Sa4)。
As shown in FIGS. 5 and 6, the
内蔵レジスタの設定では、例えば、乱数発生回路42の設定を行う。具体的には、メイン制御部41は、乱数回路の設定において、ユーザによって予め設定された乱数最大値を指定する乱数最大値設定データを内蔵レジスタに書き込む。また、メイン制御部41は、内蔵レジスタに設定した乱数最大値が所定の下限値以下でないかを確認し、乱数最大値が下限値以下である場合には、乱数最大値設定レジスタに設定されている乱数最大値の再設定を行う乱数最大値再設定処理を実行する。
In the setting of the internal register, for example, the random
また、メイン制御部41は、乱数発生回路42のカウンタが更新するカウント値の初期値を変更させる初期値変更処理を実行する。また、メイン制御部41は、乱数更新方式選択データを乱数更新方式選択レジスタに書き込む。また、メイン制御部41は、ユーザによって予め設定された乱数発生用クロック信号の周期を指定する周期設定データ(基準クロック信号を何分周させるかを設定するためのデータ)を書き込む。また、メイン制御部41は、乱数発生回路42のカウンタによって所定の最終値までカウント値が更新されたときに、カウンタに入力する初期値を更新するか否かを設定する。また、メイン制御部41は、乱数発生回路42のカウンタによって所定の最終値までカウント値が更新されたときに、カウンタが更新するカウント値の順列を変更するか否かを設定する。そして、メイン制御部41は、乱数回路起動データを書き込む。そのようにすることによって、メイン制御部41は乱数発生回路42を起動させる。
Further, the
次いで、電源電圧が正常か否かを判定する(Sa5)。電源電圧が正常でない場合(Sa5でN)には正常になるまで判定を繰り返す。電源電圧が正常である場合(Sa5でY)には割込ベクタの上位アドレスをセットする(Sa6)。そして、RAMのアクセスを許可し(Sa7)、スタックポインタを初期化する(Sa8)。 Next, it is determined whether or not the power supply voltage is normal (Sa5). If the power supply voltage is not normal (N in Sa5), the determination is repeated until normal. If the power supply voltage is normal (Y in Sa5), the higher address of the interrupt vector is set (Sa6). Then, access to the RAM is permitted (Sa7), and the stack pointer is initialized (Sa8).
次いで、RAMパリティを計算する(Sa10)。そして、計算したRAMパリティが0になるか否かを判定する(Sa11)。RAMパリティが0にならない場合(Sa11でN)にはSa14に進む。 Next, the RAM parity is calculated (Sa10). Then, it is determined whether or not the calculated RAM parity becomes 0 (Sa11). If the RAM parity does not become 0 (N in Sa11), the process proceeds to Sa14.
RAMパリティが0になる場合(Sa11でY)にはRAM破壊診断用固定データをRAM41cから取得する(Sa12)。そして、取得したRAM破壊診断用固定データが正しいか否かを判定する(Sa13)。次いで、Sa14のステップでは、RAM破壊診断用固定データをクリアする(Sa14)。
When the RAM parity becomes 0 (Y in Sa11), RAM destruction diagnosis fixed data is acquired from the
次いで、設定キースイッチがオンにされているか否かを判定する(Sa15)。設定キースイッチがオンの場合(Sa15でY)には、メイン制御部41は、タイマ割込の設定を行う(Sa22)。具体的には、所定時間毎に定期的にタイマ割込がかかるようにメイン制御部41に内蔵されているタイマ回路のレジスタの設定を行なう。例えば0.56msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。この実施の形態では、0.56ms毎に定期的にタイマ割込がかかるとする。なお、タイマ回路では該レジスタの設定が行われることにより、タイマが初期化され、初期値から計時を開始することになる。そして、タイマ割込の設定が終了すると図7及び図8に示す設定変更処理に移行する。
Next, it is determined whether or not the setting key switch is turned on (Sa15). When the setting key switch is on (Y in Sa15), the
一方、設定キースイッチがオフの場合(Sa15でY)には、Sa11の判定、Sa13の判定、後述するRAM異常フラグがセットされているか否かにもとづきRAM41cの記憶内容が破壊されていたか否か、すなわちRAM41cの記憶内容が正常か否かを判定する(Sa16)。RAM41cの記憶内容が破壊されていない場合(Sa16でN)には、電断復帰コマンド(電断復帰コマンド1〜4)をサブ制御部91に送信するとともに(Sa17)、ホットスタートコマンドをサブ制御部91に送信する(Sa18)。なお、RAM41cの記憶内容が破壊されていない場合とは、Sa11でY、かつSa13でRAM破壊診断用固定データが正しいと判定され、かつRAM異常フラグがセットされていない場合である。
On the other hand, if the setting key switch is OFF (Y in Sa15), whether or not the stored content of the
そして、全レジスタを復帰し(Sa19)、Sa22と同様のタイマ割込みの設定を行う(Sa20)。そして、図11に示すタイマ割込処理(メイン)のSk26の処理に復帰する。 Then, all the registers are restored (Sa19), and the timer interrupt setting similar to Sa22 is performed (Sa20). And it returns to the process of Sk26 of the timer interruption process (main) shown in FIG.
また、RAM41cの記憶内容が破壊されている場合(Sa16でY)には、初期化するRAMの開始アドレスをレジスタにセットし(Sa23)、指定したアドレスで示すRAMの領域をクリア(以下、「初期化」ともいう)する(Sa24)。なお、RAM41cの記憶内容が破壊されている場合とは、Sa11でNまたはSa13でRAM破壊診断用固定データが正しいと判定されない場合またはRAM異常フラグがセットされている場合のいずれかの場合である。
If the stored contents of the
ここで、RAM41cの格納領域は、設定値ワーク、特別ワーク、重要ワーク、一般ワーク、未使用領域、スタック領域に区分されている。
Here, the storage area of the
設定値ワーク(本実施形態では0000H〜(図14参照))は、設定値や乱数値など、通常の設定変更時に初期化すると不都合のあるデータが格納される領域である。 The set value work (0000H to (refer to FIG. 14) in this embodiment) is an area in which data such as a set value and a random number value that are inconvenient when initialized at the time of normal setting change is stored.
特別ワーク(本実施形態では0003H〜(図14参照))は、I/Oポート41dの入出力データや、演出制御基板90へコマンドを送信するためのデータなど、設定変更開始前にのみ初期化されるデータが格納される領域である。
Special work (in this embodiment, 0003H to (see FIG. 14)) is initialized only before the start of setting change, such as input / output data of the I /
重要ワーク(本実施形態では0014H〜(図14参照))は、クレジット数を示すカウンタや、各種表示器やLEDの表示データ、遊技時間の計時カウンタ、ゲーム終了時に初期化すると不都合があるデータが格納される領域である。 The important work (in this embodiment, 0014H to (see FIG. 14)) includes a counter indicating the number of credits, display data of various indicators and LEDs, a time counter of game time, and data that is inconvenient when initialized at the end of the game. This is the area to be stored.
一般ワーク(本実施形態では0045H〜(図14参照))は、持越しが行われない当選フラグや、停止制御テーブル、停止図柄、メダルの払い出し枚数など、1遊技(1ゲーム)に必要なデータであって、ゲーム終了時に初期化可能なデータが格納される領域である。 The general work (0045H in this embodiment (see FIG. 14)) is data necessary for one game (one game) such as a winning flag that does not carry over, a stop control table, a stop symbol, and the number of medals to be paid out. In this area, data that can be initialized at the end of the game is stored.
未使用領域(本実施形態では0173H〜(図14参照))は、RAM41cの格納領域のうち使用していない領域である。
The unused area (0173H to (see FIG. 14) in this embodiment) is an unused area in the storage area of the
スタック領域(本実施形態では01CCH〜(図14参照))は、メイン制御部41のレジスタから退避したデータが格納される領域である。
The stack area (01CCH to (see FIG. 14) in this embodiment) is an area in which data saved from the register of the
そして、Sa23でアドレスを指定した場合には、RAM41cの格納領域のうち、上記した全ての領域が初期化される。次いで、RAM41cの記憶内容が正常でないことを示すRAM異常フラグをRAM41cにセットし(Sa25)、エラー処理に移行する。エラー処理では、エラー状態になって遊技を行うことが不能になる。エラー状態は、設定キースイッチ37をオンにして電源スイッチ39をオンにすることによって、Sa15でYと判定させ、設定変更処理(図7及び図8参照)に移行させることにより解除することができる。よって、設定キースイッチ37をオンにせずに電源スイッチ39をオンにした場合には、Sa15でNとなり、Sa16でYとなるので再度エラー状態になる。
When an address is specified in Sa23, all the above-described areas in the storage area of the
なお、本実施形態では、データを「00h」とすること、すなわちクリアすることにより初期化を行っている。しかし、例えば、データを「FFh」としたり、データごとに予め決められた値を入力することにより、初期化を行うことも可能である。 In the present embodiment, initialization is performed by setting the data to “00h”, that is, by clearing the data. However, for example, initialization can be performed by setting the data to “FFh” or inputting a predetermined value for each data.
[設定変更処理]
次に、メイン制御部41が実行する設定変更処理について説明する。
[Setting change processing]
Next, the setting change process which the
図7及び図8に示すように、メイン制御部41は、まず、初期化するRAM41cの開始アドレスをレジスタにセットする(Sb1)。なお、RAM41cは16ビットのメモリ空間アドレスにより、使用目的に応じた領域に区切られている(図14参照)。そして、Sb1の処理においては、メモリ空間アドレスのうち初期化を行う開始アドレスをレジスタにセットする。次いで、図5のSa10におけるRAMパリティの計算又は図5のSa12で取得したRAM破壊診断用固定データにもとづき、RAMの内容が異常であるか否かを判定する(Sb2)。RAMの内容が異常の場合(Sb2でY)にはSb3処理に進む。RAMの内容が異常でない場合(Sb2でN)には、設定変更開始時の初期化対象RAMの先頭アドレスをレジスタにセットする(Sb3)。
As shown in FIGS. 7 and 8, the
次いで、Sb1又はSb3で指定したアドレスで示すRAMの領域をクリアする(Sb4)。なお、Sb1でアドレスをした場合には、RAM41cの格納領域のうち、上記した全ての領域が初期化される。また、Sb2でアドレスを指定した場合には、RAM41cの格納領域のうち、特別ワーク、重要ワーク、一般ワーク、未使用領域、スタック領域が初期化される。Sb4の処理が終了すると、後述する設定変更開始コマンドをサブ制御部91に送信し(Sb5)、図10および図11において説明するメイン制御部41が一定間隔(0.56msの間隔)で実行するタイマ割込処理(メイン)の割込を許可する(Sb6)。
Next, the RAM area indicated by the address designated by Sb1 or Sb3 is cleared (Sb4). When the address is set at Sb1, all the above-described areas in the storage area of the
次いで、設定/リセットスイッチ38がオンか否かを判定する(Sb7)。設定/リセットスイッチ38がオンの場合(Sb7でY)には設定値をレジスタにセットする(Sb8)。設定/リセットスイッチ38がオフの場合(Sb7でN)には、スタートスイッチ7がオンか否かを判定する(Sb9)。
Next, it is determined whether or not the setting /
スタートスイッチ7がオンになっていない場合(Sb9でN)にはSb7の処理に戻る。スタートスイッチ7がオンになっている場合(Sb9でY)には設定キースイッチがオフになっているか否かを判定する(Sb10)。設定キースイッチがオフになっていない場合(Sb10でN)には、設定キースイッチがオンになるまで判定を繰り返す。設定キースイッチがオフになっている場合(Sb10でY)には、レジスタにセットしている設定値のデータをRAM41cに格納する(Sb11)。
If the
次いで、設定変更終了コマンドをサブ制御部91に送信する(Sb12)。そして、設定変更終了時の初期化対象RAMの先頭アドレスをレジスタにセットし(Sb13)、図9のメイン処理に移行する。 Next, a setting change end command is transmitted to the sub-control unit 91 (Sb12). Then, the initial 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 in FIG.
[メイン処理]
次に、メイン制御部41が実行するメイン処理について説明する。なお、メイン処理は一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。
[Main processing]
Next, main processing executed by the
図9に示すように、メイン制御部41は、まず、図10および図11において説明するメイン制御部41が一定間隔(0.56msの間隔)で実行するタイマ割込処理(メイン)の割込を禁止する(Sc1)。次いで、初期化対象RAMの最終アドレスをセットする(Sc2)。
As shown in FIG. 9, the
次いで、指定したアドレスで示すRAMの領域をクリアする(Sc3)。このとき、設定変更処理後にメイン処理が開始された場合は、図8のSb13で指定したアドレスからSc2で指定したアドレスまでが初期化される。これにより、RAM41cの格納領域のうち、重要ワーク、一般ワークが初期化される。また、一単位の遊技の終了時には、Sc9で指定したアドレスからSc2で指定したアドレスまでが初期化される。これにより、RAM41cの格納領域のうち、一般ワークが初期化される。そして、図10および図11において説明するメイン制御部41が一定間隔(0.56msの間隔)で実行するタイマ割込処理(メイン)の割込を許可する(Sc4)。
Next, the RAM area indicated by the designated address is cleared (Sc3). At this time, when the main process is started after the setting change process, the addresses from Sb13 in FIG. 8 to the address specified in Sc2 are initialized. Thereby, the important work and the general work are initialized in the storage area of the
次いで、遊技開始待ち処理を実行する(Sc5)。遊技開始待ち処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ7が操作された時点でゲームを開始させる処理を実行する。
Next, a game start waiting process is executed (Sc5). In the game start waiting process, the process waits in a state where a bet number can be set, and a process for starting a game is executed when a specified number of bets are set according to the game state and the
次いで、内部抽選処理を実行する(Sc6)。内部抽選処理では、Sc5のステップにおけるスタートスイッチ7の検出によるゲーム開始と同時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するか(すなわち、表示結果の導出を許容するか否か)どうかを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて、RAM41cに当選フラグが設定される。なお、内部抽選により特別役(BBまたはRB)に当選した場合は特別役持ち越しフラグセットされる。そして、上記したように特別役持ち越しフラグの有無を判定することによって特別役の持ち越しの有無を判定し、持ち越しの有無に応じた当選役(特別役持ち越し中には特別役は内部抽選の対象から除外される)について判定処理が行われる。
Next, an internal lottery process is executed (Sc6). In the internal lottery process, whether or not to win the above-mentioned winning combination based on the internal lottery random value latched simultaneously with the start of the game by the detection of the
次いで、リール制御処理を実行する(Sc7)。リール制御処理では、スタートスイッチ7の操作に応答して各リール2L、2C、2Rを回転させる処理、Sd2のステップにおける内部抽選の結果および遊技者によるストップスイッチ8L、8C、8Rの操作が検出されたことに応じて対応するリール2L、2C、2Rの回転を停止させる処理を実行する。
Next, a reel control process is executed (Sc7). In the reel control process, the process of rotating the
次いで、遊技終了時設定処理を実行する(Sc8)。遊技終了時設定処理では、Sc7の処理において全てのリール2L、2C、2Rの回転が停止したと判定した時点で、各リール2L、2C、2Rに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。なお、特別役が入賞した場合には本処理において特別役持ち越しフラグがクリアされる。そして、入賞が発生したと判定した場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。入賞が発生した場合にはメダルの払い出し等が終了した後に次のゲームに備えて遊技状態を設定する処理を実行する。また、入賞が発生しなかった場合にはリールが停止した後に、次のゲームに備えて遊技状態を設定する処理を実行する。
Next, a game end time setting process is executed (Sc8). In the game end setting process, when it is determined that the rotation of all the
遊技終了時設定処理が終了すると、遊技毎終了時の初期対象RAMの先頭アドレスをセットして、Sc1に戻る。Sc1に戻るとSc2で初期化対象RAM最終アドレスをレジスタにセットし、Sc3で指定した領域のRAMをクリアする。これにより、遊技毎にRAMがクリアされる。 When the game end time setting process ends, the head address of the initial target RAM at the end of each game is set, and the process returns to Sc1. When returning to Sc1, the initialization target RAM final address is set in the register in Sc2, and the RAM in the area designated in Sc3 is cleared. Thereby, RAM is cleared for every game.
また、メイン処理では、ゲームの進行制御に応じてコマンドを生成してコマンドバッファに設定し、サブ制御部91に送信されるようになっている。
In the main process, a command is generated according to the game progress control, set in the command buffer, and transmitted to the
[タイマ割込処理(メイン)]
図10および図11は、メイン制御部41が一定間隔(0.56msの間隔)で初期設定処理やゲーム処理に割り込んで実行するタイマ割込処理(メイン)の制御内容を示すフローチャートである。なお、タイマ割込処理(メイン)とは、後述するカウンタタイマ(CTC)のカウントに応じて発生する割込(タイマ割込ともいう)により実行される処理であり、タイマ割込処理のプログラムが格納されたアドレスは、割込処理用ベクタテーブルのタイマ割込(CTC0)に対応する値として設定されている。そして、タイマ割込が発生すると該アドレスからの処理が実行される。また、タイマ割込処理(メイン)の間隔(0.56ms)は、CTCのタイマ値に任意値として0.56msを設定することにより設定されている。タイマ割込処理(メイン)の実行期間中は自動的に他の割込が禁止される。
[Timer interrupt processing (main)]
10 and 11 are flowcharts showing the control contents of the timer interrupt process (main) executed by the
図10および図11に示すように、タイマ割込処理(メイン)においては、まず、使用中のレジスタをスタック領域に退避する(Sk1)。 As shown in FIGS. 10 and 11, in the timer interrupt process (main), first, the register in use is saved in the stack area (Sk1).
次いで、停電判定処理を行う(Sk2)。停電判定処理では、電断検出回路48から電圧低下信号が入力されているか否かを判定し、電圧低下信号が入力されていれば、前回の停電判定処理でも電圧低下信号が入力されていたか否かを判定し、前回の停電判定処理でも電圧低下信号が入力されていた場合には停電と判定し、その旨を示す電断フラグを設定する。
Next, a power failure determination process is performed (Sk2). In the power failure determination process, it is determined whether or not a voltage drop signal is input from the power
Sk2のステップにおける停電判定処理の後、電断フラグが設定されているか否かを判定し(Sk3)、電断フラグが設定されていなければ、Sk4に進み、電断フラグが設定されていた場合には、電断処理(メイン)に移行する。 After the power failure determination process in the step of Sk2, it is determined whether or not the power interruption flag is set (Sk3). If the power interruption flag is not set, the process proceeds to Sk4 and the power interruption flag is set In this case, the process proceeds to a power interruption process (main).
Sk4のステップでは、入力ポートから各種スイッチ類の検出データを入力するポート入力処理を行う。 In step Sk4, port input processing for inputting detection data of various switches from the input port is performed.
次いで、4種類のタイマ割込1〜4から当該タイマ割込処理(メイン)において実行すべきタイマ割込を識別するための分岐用カウンタを1進める(Sk5)。この実施形態では、タイマ割込1とは、モータを制御してリールの開始制御を行うタイマ割込中の分岐処理であり、具体的には、後述するリール始動処理など、Sk9〜Sk11の処理が行われる。また、タイマ割込2とは、LED表示制御や、時間カウンタの更新、ドア開閉状態の監視、制御信号等の出力制御、コマンドおよび外部出力信号の更新を行うタイマ割込中の分岐処理であり、具体的には、後述するLEDダイナミック表示処理など、Sk12〜Sk17の処理が行われる。また、タイマ割込3とは、リールの原点通過を検出したり、スイッチ入力を監視したり、乱数値の読み出しを行うタイマ割込中の分岐処理であり、具体的には、後述する原点通過時処理など、Sk20〜Sk22の処理が行われる。また、タイマ割込4とは、停止スイッチの入力を検出してリールの停止制御を行うタイマ割込中の分岐処理であり、具体的には、後述する停止スイッチ処理など、Sk23〜Sk25の処理が行われる。Sk5のステップでは、分岐用カウンタ値が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 (Sk5). In this embodiment, the timer interrupt 1 is a branch process during a timer interrupt that controls the motor to control the start of the reel. Specifically, the processes from Sk9 to Sk11, such as a reel start process described later. Is done. Timer interrupt 2 is branch processing during timer interrupt that performs LED display control, time counter update, door open / close status monitoring, control signal output control, command and external output signal update, etc. Specifically, the processes of Sk12 to Sk17 such as the LED dynamic display process described later are performed. The timer interrupt 3 is a branching process during timer interrupt that detects the origin passage of the reel, monitors the switch input, and reads out the random number value. Processing of Sk20 to Sk22 such as time processing is performed. The timer interrupt 4 is a branching process during a timer interrupt that detects the input of a stop switch and performs reel stop control. Specifically, the processes of Sk23 to Sk25, such as a stop switch process described later. Is done. In the step of Sk5, 1 is added when the branch counter value is 0 to 2, and 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かを判定し(Sk6)、タイマ割込3またはタイマ割込4ではない場合、すなわちタイマ割込1またはタイマ割込2の場合には、リールモータ32L、32C、32Rの始動時または定速回転中か否かを確認し、リールモータ32L、32C、32Rの始動時または定速回転中であれば、後述するSk10のモータステップ処理において変更した位相信号データや後述するSk24の最終停止処理において変更した位相信号データを出力するモータ位相信号出力処理を実行する(Sk7)。
Next, the branch counter value is referenced to determine whether it is 2 or 3, that is, timer interrupt 3 or timer interrupt 4 (Sk6). If it is not timer interrupt 3 or timer interrupt 4, that is, timer interrupt In the case of 1 or timer interrupt 2, it is checked whether the
次いで、分岐用カウンタ値を参照して1か否か、すなわちタイマ割込2か否かを判定し(Sk8)、タイマ割込2ではない場合、すなわちタイマ割込1の場合には、リールモータ32L、32C、32Rの始動時のステップ時間間隔の制御を行うリール始動処理(Sk9)、リールモータ32L、32C、32Rの位相信号データの変更を行うモータステップ処理(Sk10)、リールモータ32L、32C、32Rの停止後、一定時間経過後に位相信号を1相励磁に変更するモータ位相信号スタンバイ処理(Sk11)を順次実行した後、Sk25のステップに進む。
Next, referring to the counter value for branching, it is determined whether or not it is 1, that is, timer interrupt 2 (Sk8). If it is not timer interrupt 2, that is, timer interrupt 1, the reel motor Reel starting process (Sk9) for controlling the step time interval when starting 32L, 32C, 32R, motor step process (Sk10) for changing phase signal data of the
また、Sk8のステップにおいてタイマ割込2の場合には、各種表示器をダイナミック点灯させるLEDダイナミック表示処理(Sk12)、各種LED等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理(Sk13)、各種時間カウンタを更新する時間カウンタ更新処理(Sk14)、ドア開放検出スイッチ25の検出状態の監視、ドアコマンドの送信要求などを行うドア監視処理(Sk15)、コマンドバッファに設定された設定変更中コマンドや復帰コマンド、エラーコマンド等の各種コマンドをサブ制御部91に送信するコマンド送信処理(Sk16)、外部出力信号を更新する外部出力信号更新処理(Sk17)を順次実行した後、Sk25のステップに進む。
In the case of timer interrupt 2 in the step of Sk8, LED dynamic display processing (Sk12) for dynamically lighting various indicators, and output processing of control signals and the like for outputting data such as lighting signals of various LEDs to the output port (Sk13), a time counter update process (Sk14) for updating various time counters, a door monitoring process (Sk15) for monitoring the detection state of the door
また、Sk6のステップにおいてタイマ割込3またはタイマ割込4であれば、更に、分岐用カウンタ値を参照して3か否か、すなわちタイマ割込4か否かを判定し(Sk18)、タイマ割込4でなければ、すなわちタイマ割込3であれば、回転中のリール2L、2C、2Rの原点通過(リール基準位置の通過)をチェックし、リール回転エラーの発生を検知するとともに、停止準備が完了しているか(停止準備完了コードが設定されているか)を確認し、停止準備が完了しており、かつ定速回転中であれば、回転中のリールに対応するストップスイッチの操作を有効化する原点通過時処理(Sk20)、MAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8Rなどのスイッチ類の検出状態に変化があったか否かの判定、操作検出コマンドの送信要求等を行うスイッチ入力判定処理(Sk21)、乱数値レジスタR1Dから数値データを読み出して乱数値格納ワークに格納する乱数値読出処理(Sk22)を順次実行した後、Sk26のステップに進む。
If it is timer interrupt 3 or timer interrupt 4 in the step of Sk6, it is further determined by referring to the counter value for branching whether it is 3, that is, timer interrupt 4 (Sk18). If it is not interrupt 4, that is, if it is timer interrupt 3, the passing of the origin of the rotating
また、Sk18のステップにおいてタイマ割込4であれば、ストップスイッチ8L、8C、8Rの検出に伴って停止リールのワークに停止操作位置が格納されたときに、停止リールのワークに格納された停止操作位置から停止位置を決定し、何ステップ後に停止すれば良いかを算出する停止スイッチ処理(Sk23)、停止スイッチ処理で算出された停止までのステップ数をカウントして、停止する時期になったら2相励磁によるブレーキを開始する停止処理(Sk24)、停止処理においてブレーキを開始してから一定時間後に3相励磁とする最終停止処理(Sk25)を順次実行した後、Sk26のステップに進む。 If the timer interrupt is 4 in the step of Sk18, the stop stored in the work on the stop reel is stored when the stop operation position is stored in the work on the stop reel in accordance with the detection of the stop switches 8L, 8C, 8R. The stop position is determined from the operation position, the stop switch process (Sk23) for calculating the number of steps after which the stop should be performed, and the number of steps until the stop calculated in the stop switch process is counted. A stop process (Sk24) for starting braking by two-phase excitation and a final stop process (Sk25) for three-phase excitation after a certain time from the start of braking in the stop process are sequentially executed, and then the process proceeds to step Sk26.
Sk26のステップでは、Sk1においてスタック領域に退避したレジスタを復帰し、禁止されていた割込が許可されて、割込前の処理に戻る。 In the step of Sk26, the register saved in the stack area in Sk1 is restored, the prohibited interrupt is permitted, and the process returns to the process before the interrupt.
[電断処理(メイン)]
図12は、メイン制御部41が前述したタイマ割込処理(メイン)において電断フラグが設定されていると判定した場合に実行する電断処理(メイン)の制御内容を示すフローチャートである。
[Power interruption (main)]
FIG. 12 is a flowchart showing the control content of the power interruption process (main) executed when the
電断処理(メイン)においては、まず、使用している可能性がある全てのレジスタをスタック領域に退避する(Sm1)。なお、前述したIレジスタ及びIYレジスタの値は使用されているが、起動時の初期化に伴って常に同一の固定値が設定されるため、ここでは保存されない。 In the power interruption process (main), first, all registers that may be in use are saved in the stack area (Sm1). Although the values of the I register and IY register described above are used, they are not saved here because the same fixed value is always set with the initialization at the time of startup.
次いで、破壊診断用固定データ(本実施の形態では、5A(H))をセットする(Sm2)。そして、図10および図11において説明するメイン制御部41が一定間隔(0.56msの間隔)で実行するタイマ割込処理(メイン)の割込を禁止し、全ての出力ポートを初期化する(Sm3)。次いでRAM41cの全ての格納領域(未使用領域及び未使用スタック領域を含む)の排他的論理和が0になるようにRAMパリティ調整用データを計算してセットし(Sm4)、RAM41cへのアクセスを禁止する(Sm5)。
Next, fixed data for destructive diagnosis (in this embodiment, 5A (H)) is set (Sm2). Then, the
その後、電圧が低下してメイン制御部41のCPU41aが停止して待機状態に移行する。そして、この待機状態のまま電圧が低下すると内部的に動作停止状態になる。よって、電断時に確実にメイン制御部41は動作停止する。
Thereafter, the voltage decreases, and the CPU 41a of the
なお、本実施形態では、出力ポートの初期化の前に割込禁止に設定しているが、サブ制御基板90、外部出力基板1000、リールモータやリールセンサにデータを出力するための出力ポートへのデータの書き込みやシリアル通信回路へのデータの書き込みを行う前に割込禁止に設定してもよい。
In this embodiment, interrupts are disabled before the output port is initialized. However, the
[マイクロコンピュータの構成について]
図13に示すように、メイン制御部41やサブ制御部91として使用されるマイクロコンピュータは、クロック生成回路200、リセットコントローラ201、割込コントローラ202、WDT(ウォッチドッグタイマ)203、CTC(カウンタタイマ)204、演算回路205、アドレスデコーダ206、メインCPU41aやサブCPU91aとして用いられるCPU207、ROM41bやROM91bとして用いられるROM208、ROM41cやRAM91cとして用いられるRAM209、M1カウンタ210、検査ポート211、乱数発生回路42として用いられる乱数回路212および汎用初期値用乱数回路212、シリアル通信回路214、PWM(パルス幅変調)出力回路215、割込/汎用出力回路216、乱数外部ラッチ入力回路217を備えている。
[About microcomputer configuration]
As shown in FIG. 13, the microcomputer used as the
図13に示すマイクロコンピュータは、セキュリティ機能として、個別のID、ROM読み出し制限、64ピンSZIP封入、検査ポート211を備えている。
The microcomputer shown in FIG. 13 includes an individual ID, ROM read restriction, 64-pin SZIP encapsulation, and an
また、CPU207は10MHz(最小命令実行時間:100msec)の周波数で動作する。
The
また、ROM208は10,240バイトの容量を備え、RAM209は512バイトの容量を備えている。
The
また、リセット機能として、システムリセット、WDT(ウォッチドッグタイマ)リセット、定期リセット、イリーガルアクセスリセットの4つの機能を備えている。 In addition, the reset function has four functions of system reset, WDT (watchdog timer) reset, periodic reset, and illegal access reset.
また、割込機能として、外部端子割込(INT/NMI)、CTC割込(CTC0、CTC1、CTC2)の2つの機能を備えている。 In addition, as an interrupt function, two functions of an external terminal interrupt (INT / NMI) and a CTC interrupt (CTC0, CTC1, CTC2) are provided.
また、チップセレクト端子として、CSモード時に16本、ECSモード時に23本を用いる。また、CTC204は、16ビット×3チャンネルを備えている。
Further, 16 chip select terminals are used in the CS mode and 23 chips in the ECS mode. The
また、乱数回路212は、8ビット固定長乱数×8チャンネル、16ビット固定長乱数×2チャンネル、8ビット可変長乱数×4チャンネル、16可変長乱数×2チャンネルの計16チャンネルを備えている。さらに、汎用初期値用乱数回路212は1チャンネルを備えている。
The
また、シリアル通信回路214は、送信×3チャンネル、受信×1チャンネルを備えている。
The
また、演算回路205は、CRC16、チェックサム、水平パリティの計算を行う。
The
また、PWM出力回路217は、4チャンネルを備えている。汎用外部ラッチ入力回路は3本の入力を備えている。
The
また、汎用入出力端子として、入力側に4本、出力側に3本を備えている。また、アドレスデコーダ207は、CS0〜CS15の出力に用いられる。
Also, four general-purpose input / output terminals are provided on the input side and three on the output side. The
[メモリ空間のアドレスマップ]
次に、図13に示すマイクロコンピュータのROM208及びRAM209におけるメモリ空間のアドレスマップについて図14を用いて説明する。図14に示すメモリ空間は16ビットアドレスでアクセスするメモリ空間である。メモリ空間には、メモリ命令でアクセスされる。図14では、0000h〜7FFFhがRAMのメモリ空間、8000h〜FFFFhがROMのメモリ空間になっている。
[Address map of memory space]
Next, an address map of the memory space in the
RAM209のメモリ空間アドレス0000h〜01FFhにはアクセスが可能となる使用可能領域となっている。メモリ空間アドレス0200h〜0FFFhはアクセスが禁止される未使用領域になっている。メモリ空間アドレス1000h〜1080hには内部レジスタが割り当てられている。メモリ空間アドレス1081h〜7FFFhはアクセスが禁止される未使用領域になっている。メモリ空間アドレス8000h〜A7FFhにはROMが割り当てられている。メモリ空間アドレスA800h〜FFFFhはアクセスが禁止される未使用領域になっている。
The memory space addresses 0000h to 01FFh of the
ROM208のメモリ空間では、アドレス8000h〜A6FFhにプログラム/データが割り当てられる。また、アドレスA700h〜A7FFhにROMコメントが割り当てられる。また、アドレスA780h〜A7A7hにベクタテーブルが割り当てられる。また、アドレスA7A8h〜A7FFhにHWパラメータが割り当てられる。
In the memory space of the
以上のように、512バイトのRAMが0000h〜01FFhに配置されている。システムリセット又はWDTリセットが発生するとRAMプロテクト状態となる。RAMプロテクト状態ではRAMの読み出しはできるが、書き込みはできない。RAMプロテクト状態を解除するにはRAMプロテクトレジスタ(RAMPT)に00h又は80hを設定する。 As described above, the 512-byte RAM is arranged in 0000h to 01FFh. When a system reset or WDT reset occurs, the RAM protection state is entered. In the RAM protected state, the RAM can be read but not written. To release the RAM protection state, 00h or 80h is set in the RAM protection register (RAMPT).
内部機能レジスタは、図13のマイクロコンピュータに搭載されている各機能を制御するためのレジスタ群である。HWパラメータのシステム設定(HSYSCNT)の内部機能レジスタ配置(HRGACS)に1を設定するとI/O空間に配置することもできる。 The internal function registers are a group of registers for controlling each function installed in the microcomputer of FIG. If 1 is set in the internal function register arrangement (HRGACS) of the system setting of the HW parameter (HSYSCNT), it can also be arranged in the I / O space.
また、10,240バイトのROMが8000h〜A7FFhに配置されている。ROM領域には、プログラム/データ、ROMコメント、ベクタテーブル、HWパラメータが配置されている。 A 10,240-byte ROM is arranged in 8000h to A7FFh. In the ROM area, programs / data, ROM comments, vector tables, and HW parameters are arranged.
マイクロコンピュータは、システムリセット、WDTリセット、定期リセット、イリーガルアクセスリセット後8000hからプログラムを実行する。この領域以外ではプログラムを実行することができない。 The microcomputer executes the program from 8000h after the system reset, WDT reset, periodic reset, and illegal access reset. The program cannot be executed outside this area.
ROMコメントは、プログラムのタイトル、バージョンなどを設定する領域で、任意のデータを設定することができる。ここに設定したデータは検査ポート(TXD,RXD,STB,DIR)から読み出すことができる。 The ROM comment is an area for setting the title, version, etc. of the program, and arbitrary data can be set. The data set here can be read from the inspection ports (TXD, RXD, STB, DIR).
ベクタテーブルは、CALLV命令のサブルーチンの先頭アドレスと、割込処理の先頭アドレスを設定するテーブルである。使用しないベクタテーブルには0000hを設定する。ベクタテーブルに設定した値が、0000hと8000h〜HPRGEND以外の場合は、マイクロコンピュータは起動しない。HPRGENDは、HWパラメータのプログラムエンドアドレスで設定する。 The vector table is a table for setting the start address of the subroutine of the CALLV instruction and the start address of the interrupt process. 0000h is set for the unused vector table. If the values set in the vector table are other than 0000h and 8000h to HPRGEND, the microcomputer does not start. HPRGEND is set by the program end address of the HW parameter.
HWパラメータは、マイクロコンピュータの内部機能をハードウェア的に設定するためのパラメータである。設定は定数テーブルとして記述する。なお、プログラムで書き込むことはできない。 The HW parameter is a parameter for setting the internal function of the microcomputer by hardware. The setting is described as a constant table. It cannot be written by a program.
[ベクタテーブルアドレスマップ]
次に、図14で示したROM208のメモリ空間におけるベクタテーブルのアドレスマップについて図15を用いて説明する。
[Vector table address map]
Next, an address map of the vector table in the memory space of the
図15に示すように、ベクタテーブルは、メモリ空間アドレスA780h〜A79FhがCALLV命令用ベクタテーブルとなっており、メモリ空間アドレスA7A0h〜A7A7hが割込処理用ベクタテーブルとなっている。 As shown in FIG. 15, in the vector table, memory space addresses A780h to A79Fh are vector tables for CALLV instructions, and memory space addresses A7A0h to A7A7h are vector tables for interrupt processing.
CALLV命令用ベクタテーブルのメモリ空間アドレスA780h〜A781hには、CALLV0の(下位)および(上位)の値が設定されている。メモリ空間アドレスA782h〜A783hには、CALLV1の(下位)および(上位)の値が設定されている。メモリ空間アドレスA784h〜A785hには、CALLV2の(下位)および(上位)の値が設定されている。メモリ空間アドレスA786h〜A787hには、CALLV3の(下位)および(上位)の値が設定されている。メモリ空間アドレスA788h〜A789hには、CALLV4の(下位)および(上位)の値が設定されている。メモリ空間アドレスA78Ah〜A78Bhには、CALLV5の(下位)および(上位)の値が設定されている。メモリ空間アドレスA78Ch〜A78Dhには、CALLV6の(下位)および(上位)の値が設定されている。メモリ空間アドレスA78Eh〜A78Fhには、CALLV7の(下位)および(上位)の値が設定されている。メモリ空間アドレスA790h〜A791hには、CALLV8の(下位)および(上位)の値が設定されている。メモリ空間アドレスA792h〜A793hには、CALLV9の(下位)および(上位)の値が設定されている。メモリ空間アドレスA794h〜A795hには、CALLV10の(下位)および(上位)の値が設定されている。メモリ空間アドレスA796h〜A797hには、CALLV11の(下位)および(上位)の値が設定されている。メモリ空間アドレスA798h〜A799hには、CALLV12の(下位)および(上位)の値が設定されている。メモリ空間アドレスA79Ah〜A79Bhには、CALLV13の(下位)および(上位)の値が設定されている。メモリ空間アドレスA79Ch〜A79Dhには、CALLV14の(下位)および(上位)の値が設定されている。メモリ空間アドレスA79Eh〜A79Fhには、CALLV15の(下位)および(上位)の値が設定されている。 In the memory space addresses A780h to A781h of the CALLV instruction vector table, (lower) and (upper) values of CALLV0 are set. In the memory space addresses A782h to A783h, (lower) and (upper) values of CALLV1 are set. In the memory space addresses A784h to A785h, (lower) and (upper) values of CALLV2 are set. In the memory space addresses A786h to A787h, (lower) and (upper) values of CALLV3 are set. In the memory space addresses A788h to A789h, (lower) and (upper) values of CALLV4 are set. In the memory space addresses A78Ah to A78Bh, (lower) and (upper) values of CALLV5 are set. In the memory space addresses A78Ch to A78Dh, (lower) and (upper) values of CALLV6 are set. In memory space addresses A78Eh to A78Fh, (lower) and (upper) values of CALLV7 are set. In the memory space addresses A790h to A791h, (lower) and (upper) values of CALLV8 are set. In the memory space addresses A792h to A793h, (lower) and (upper) values of CALLV9 are set. In the memory space addresses A794h to A795h, (lower) and (upper) values of CALLV10 are set. In the memory space addresses A796h to A797h, (lower) and (upper) values of CALLV11 are set. In the memory space addresses A798h to A799h, (lower) and (upper) values of CALLV12 are set. In the memory space addresses A79Ah to A79Bh, (lower) and (upper) values of CALLV13 are set. In the memory space addresses A79Ch to A79Dh, (lower) and (upper) values of CALLV14 are set. In the memory space addresses A79Eh to A79Fh, (lower) and (upper) values of CALLV15 are set.
割込処理用ベクタテーブルのメモリ空間アドレスA7A0h〜A7A1hには、INT/NMIの(下位)および(上位)の値が設定されている。メモリ空間アドレスA7A2h〜A7A3hには、CTC0の(下位)および(上位)の値が設定されている。メモリ空間アドレスA7A4h〜A7A5hには、CTC1の(下位)および(上位)の値が設定されている。メモリ空間アドレスA7A6h〜A7A7hには、CTC2の(下位)および(上位)の値が設定されている。 INT / NMI (lower) and (upper) values are set in the memory space addresses A7A0h to A7A1h of the interrupt processing vector table. In memory space addresses A7A2h to A7A3h, (lower) and (upper) values of CTC0 are set. In memory space addresses A7A4h to A7A5h, (lower) and (upper) values of CTC1 are set. In memory space addresses A7A6h to A7A7h, (lower) and (upper) values of CTC2 are set.
[HWパラメータ一覧]
次に、図14で示したROM208のメモリ空間におけるHWパラメータについて図16を用いて説明する。
[HW parameter list]
Next, HW parameters in the memory space of the
図16に示すように、メモリ空間アドレスA7A8hはシンボルHCSATR0が対応付けされ、CS/PWM設定に用いられる。メモリ空間アドレスA7A9hはシンボルHCSATR1が対応付けされ、CS/PWM設定に用いられる。メモリ空間アドレスA7AAhはシンボルHCSATR2が対応付けされ、CS/PWM設定に用いられる。メモリ空間アドレスA7ABhはシンボルHCSATR3が対応付けされ、CS/PWM設定に用いられる。メモリ空間アドレスA7AChはシンボルHCSATR4が対応付けされ、CS/PWM設定に用いられる。メモリ空間アドレスA7ADhはシンボルHCSATR5が対応付けされ、CS/PWM設定に用いられる。メモリ空間アドレスA7AEhはシンボルHCSATRDが対応付けされ、CS/PWM設定に用いられる。 As shown in FIG. 16, the memory space address A7A8h is associated with the symbol HCSATRO and used for CS / PWM setting. The memory space address A7A9h is associated with the symbol HCSATR1 and is used for CS / PWM setting. The memory space address A7AAh is associated with the symbol HCSATR2 and is used for CS / PWM setting. The memory space address A7ABh is associated with the symbol HCSATR3 and is used for CS / PWM setting. The memory space address A7ACh is associated with the symbol HCSATR4 and used for CS / PWM setting. The memory space address A7ADh is associated with the symbol HCSATR5 and is used for CS / PWM setting. The memory space address A7AEh is associated with the symbol HCSATRD and used for CS / PWM setting.
メモリ空間アドレスA7AFhはシンボルHPRSTが対応付けされ、定期リセット設定に用いられる。 The memory space address A7AFh is associated with the symbol HPRST and is used for periodic reset setting.
メモリ空間アドレスA7B0hはシンボルHRDMDが対応付けされ、乱数回路動作モード設定に用いられる。 The memory space address A7B0h is associated with the symbol HRDMD and is used for setting the random number circuit operation mode.
メモリ空間アドレスA7B1hはシンボルHSYSCNTが対応付けされ、システム設定に用いられる。 The memory space address A7B1h is associated with the symbol HSYSCNT and is used for system setting.
メモリ空間アドレスA7B2hはシンボルHSYSCNTが対応付けされ、リセット期間/INP端子設定に用いられる。 The memory space address A7B2h is associated with the symbol HSYSCNT and is used for setting the reset period / INP terminal.
メモリ空間アドレスA7B3h〜A7B4hはシンボルHRPGENDが対応付けされ、プログラムエンドアドレスの設定に用いられる。 The memory space addresses A7B3h to A7B4h are associated with a symbol HRPGEND and are used for setting a program end address.
メモリ空間アドレスA7B5h〜A7B6hはシンボルHRAMSTATが対応付けされ、RAMアクセス禁止アドレスの設定に用いられる。 The memory space addresses A7B5h to A7B6h are associated with the symbol HRAMSTAT and are used for setting a RAM access prohibited address.
メモリ空間アドレスA7B7h〜A7B8hはシンボルHRAMENDが対応付けされ、RAMアクセス禁止アドレスに用いられる。 The memory space addresses A7B7h to A7B8h are associated with the symbol HRAMEND and are used as RAM access prohibited addresses.
メモリ空間アドレスA7B9h〜A7CChはシンボルHSWSTSが対応付けされ、SWステータスの設定に用いられる。 The memory space addresses A7B9h to A7CCh are associated with the symbol HSWSTS and are used for setting the SW status.
メモリ空間アドレスA7CDh〜A7CFhはメーカコードの設定に用いられる。 Memory space addresses A7CDh to A7CFh are used for setting a manufacturer code.
メモリ空間アドレスA7D0h〜A7D7hは製品コードの設定に用いられる。 Memory space addresses A7D0h to A7D7h are used for setting a product code.
メモリ空間アドレスA7D8h〜A7FFhはセキュリティコードの設定に用いられる。 Memory space addresses A7D8h to A7FFh are used for setting a security code.
[プログラムエンドアドレス]
次に、図16に示すHWパラメータにおけるプログラムエンドアドレスについて図17を用いて説明する。
[Program end address]
Next, the program end address in the HW parameter shown in FIG. 16 will be described with reference to FIG.
メモリ空間アドレスにおける「8000h〜A6FFh」は、図14に示すように「プログラム/データ」を格納するための領域として定められている。しかしながら、「プログラム/データ」の容量は遊技機の制御の内容によって異なり、これら領域の全てに格納されるわけではない。本マイクロコンピュータでは、プログラムエンドアドレスを設定することにより「プログラム/データ」が格納されている領域の範囲を設定して、「プログラム/データ」が格納されていない領域にアクセスがあった場合、イリーガルアクセスリセットが発生するように設定することができる。なお、「プログラム/データ」が格納されている領域の範囲についてエンドアドレス(最終アドレス)を指定することで設定を行っているが、スタートアドレス(開始アドレス)を指定するようにしてもよい。また、離間した複数領域を設定できるようにしてもよい。 “8000h to A6FFh” in the memory space address is defined as an area for storing “program / data” as shown in FIG. However, the capacity of the “program / data” varies depending on the content of control of the gaming machine and is not stored in all of these areas. In this microcomputer, by setting the program end address, the range of the area where “program / data” is stored is set. If an area where “program / data” is not stored is accessed, illegal It can be set to generate an access reset. In addition, although the setting is performed by designating the end address (final address) for the range of the area where “program / data” is stored, the start address (start address) may be designated. Further, a plurality of separated areas may be set.
図17に示すように、メモリ空間アドレスA7B3hのビット7〜0にシンボルHPRGEND(下位)が対応付けされ、メモリ空間アドレスA7B4hのビット7〜0にシンボルHPRGEND(上位)が対応付けされている。HPRGENDではプログラムエンドアドレスの設定が行われる。そして、8000h〜A6FFhで使用するROM領域の最終アドレスが設定される。 As shown in FIG. 17, the symbol HPRGEND (lower order) is associated with bits 7-0 of the memory space address A7B3h, and the symbol HPRGEND (upper order) is associated with bits 7-0 of the memory space address A7B4h. In HPRGEND, a program end address is set. Then, the final address of the ROM area used in 8000h to A6FFh is set.
なお、HPRGENDに8000h〜A6FFh以外を設定するとエラー状態となってマイクロコンピュータは起動しない。HPRGENDには最終アドレスを設定する。ROM領域全てをアクセス可能とする場合にはHPRGEND=A6FFhを設定する。HPRGENDで設定したアドレス+1からA6FFhまでの領域をアクセスした場合はイリーガルアクセスリセットが発生する。 If HPRGEND is set to a value other than 8000h to A6FFh, an error occurs and the microcomputer does not start. The last address is set in HPRGEND. If the entire ROM area is accessible, HPRGEND = A6FFh is set. When an area from address +1 set by HPRGEND to A6FFh is accessed, an illegal access reset occurs.
図18に示すように、例えば、HPRGEND=8852hを設定した場合は、8852hにアクセスするとイリーガルアクセスリセットが発生する。 As shown in FIG. 18, for example, when HPRGEND = 8852h is set, an illegal access reset occurs when 8852h is accessed.
[RAMアクセス禁止アドレス]
次に、図16に示すHWパラメータにおけるRAMアクセス禁止アドレスについて図19を用いて説明する。
[RAM access prohibited address]
Next, the RAM access prohibition address in the HW parameter shown in FIG. 16 will be described with reference to FIG.
図19に示すように、メモリ空間アドレスA7B5hのビット7〜0にシンボルHRAMSTAT(下位)が対応付けされ、メモリ空間アドレスA7B5hのビット7〜0にシンボルHRAMSTAT(上位)が対応付けされている。HRAMSTATではRAMアクセス禁止スタートアドレスの設定が行われる。そして、0000h〜01FFhにアクセス禁止するRAM領域の開始アドレスが設定される。 As shown in FIG. 19, symbol HRAMSTAT (lower order) is associated with bits 7-0 of memory space address A7B5h, and symbol HRAMSTAT (upper order) is associated with bits 7-0 of memory space address A7B5h. In HRAMSTAT, a RAM access prohibited start address is set. Then, the start address of the RAM area for which access is prohibited is set to 0000h to 01FFh.
メモリ空間アドレスA7B7hのビット7〜0にシンボルHRAMEND(下位)が対応付けされ、メモリ空間アドレスA7B8hのビット7〜0にシンボルHRAMEND(上位)が対応付けされている。HRAMENDではRAMアクセス禁止エンドアドレスの設定が行われる。そして、0000h〜01FFhにアクセス禁止するRAM領域の最終アドレスが設定される。 Symbols HRAMEND (lower) are associated with bits 7-0 of memory space address A7B7h, and symbols HRAMEND (upper) are associated with bits 7-0 of memory space address A7B8h. In HRAMEND, a RAM access prohibited end address is set. Then, the final address of the RAM area for which access is prohibited is set to 0000h to 01FFh.
なお、HRAMSTATとHRAMENDに設定する値が次の関係を満たさない場合はエラー状態としてマイクロコンピュータは起動しない。
0000h≦HRAMSTAT≦HRAMEND≦01FFh
If the values set in HRAMSTAT and HRAMEND do not satisfy the following relationship, the microcomputer does not start as an error state.
0000h ≦ HRAMSTAT ≦ HRAMEND ≦ 01FFh
また、アクセス禁止するRAM領域の開始アドレスをHRAMSTATに設定し、アクセス禁止するRAM領域の最終アドレスをHRAMENDに設定する。 Further, the start address of the RAM area for which access is prohibited is set to HRAMSTAT, and the final address of the RAM area for which access is prohibited is set to HRAMEND.
RAM領域全てにアクセスする場合は、HRAMSTAT=0000h、HRAMEND=0000hに設定する。 When accessing the entire RAM area, HRAMSTAT = 0000h and HRAMEND = 0000h are set.
また、HRAMSTATとHRAMENDで設定されたアクセス禁止領域にアクセスした場合はイリーガルアクセスリセットが発生する。 In addition, when an access prohibited area set by HRAMSTAT and HRAMEND is accessed, an illegal access reset occurs.
図20に示すように、例えば、HRAMSTAT=00F2h、HRAMEND=01A7hを設定した場合は、002Fh〜01A7hにアクセスするとイリーガルアクセスリセットが発生する。また、HRAMSTATとHRAMENDの設定は、RAMプロテクトレジスタ(RAMPT)の設定で無効にすることもできる。 As shown in FIG. 20, for example, when HRAMSTAT = 00F2h and HRAMEND = 01A7h are set, an illegal access reset occurs when accessing 002Fh to 01A7h. Also, the settings of HRAMSTAT and HRAMEND can be invalidated by setting the RAM protect register (RAMPT).
[イリーガルアクセスリセットが発生する条件]
次に、図13に示すマイクロコンピュータにおいてイリーガルアクセスリセットが発生する条件について図21を用いて説明する。図21に示す場合には、不正アクセスと判断してイリーガルアクセスリセットが発生する。イリーガルアクセスリセットが発生すると、CPUコアだけがリセットされ、内部機能はリセットされない。
[Conditions for illegal access reset]
Next, conditions under which an illegal access reset occurs in the microcomputer shown in FIG. 13 will be described with reference to FIG. In the case shown in FIG. 21, it is determined that the access is illegal and an illegal access reset occurs. When an illegal access reset occurs, only the CPU core is reset and the internal functions are not reset.
図21に示すように、CS/PWM設定(シンボル名:HCSATR0〜HCSATR5)において、設定内容がHCSRW0=00;CS機能無効(HCSRW1〜HCSRW23も同様)のときは、CS0(I/O空間のC0h)へのアクセス(CS1〜CS23も同様)があったことがイリーガルアクセスリセットの発生条件となる。 As shown in FIG. 21, in the CS / PWM setting (symbol name: HCSATR0 to HCSATR5), when the setting content is HCSRW0 = 00; CS function is invalid (the same applies to HCSRW1 to HCSRW23), CS0 (C0h in the I / O space) ) (The same applies to CS1 to CS23) is a condition for generating an illegal access reset.
また、CS/PWM設定(シンボル名:HCSATR0〜HCSATR5)において、設定内容がHCSRW0=01;R0信号と同期(HCSRW1〜HCSRW23も同様)のときは、CS0(I/O空間のC0h)への書き込み(CS1〜CS23も同様)があったことがイリーガルアクセスリセットの発生条件となる。 In addition, in CS / PWM setting (symbol name: HCSATR0 to HCSATR5), when the setting content is HCSRW0 = 01; synchronized with the R0 signal (the same applies to HCSRW1 to HCSRW23), writing to CS0 (C0h in I / O space) (The same applies to CS1 to CS23) is a condition for generating an illegal access reset.
また、CS/PWM設定(シンボル名:HCSATR0〜HCSATR5)において、設定内容がHCSRW0=10;W0信号と同期(HCSRW1〜HCSRW23も同様)のときは、CS0(I/O空間のC0h)からの読み出し(CS1〜CS23も同様)があったことがイリーガルアクセスリセットの発生条件となる。 In CS / PWM setting (symbol name: HCSATR0 to HCSATR5), when the setting content is HCSRW0 = 10; synchronized with the W0 signal (the same applies to HCSRW1 to HCSRW23), reading from CS0 (C0h in I / O space) is performed. (The same applies to CS1 to CS23) is a condition for generating an illegal access reset.
また、CS/PWM設定(シンボル名:HCSMOD)において、設定内容がHCSMD=0;CSモードのときは、ECS領域(I/O空間のD0h〜D7h)へのアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 In CS / PWM setting (symbol name: HSMMOD), when the setting content is HCSMD = 0; CS mode, the access to the ECS area (D0h to D7h in the I / O space) has been illegally reset. It becomes the generation condition of.
また、CS/PWM設定(シンボル名:HCSMOD)において、設定内容がHCSMD=1;ECSモードのときは、CS15(I/O空間のCFh)へのアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 In CS / PWM setting (symbol name: HSMMOD), when the setting content is HCSMD = 1; in the ECS mode, the access condition to CS15 (CFh in the I / O space) is an occurrence condition of the illegal access reset. It becomes.
次に、システム設定(シンボル名:HSYSCNT)において、設定内容がHRGACS=0;メモリ空間のときは、内部レジスタへのI/Oアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 Next, in the system setting (symbol name: HSYSCNT), when the setting content is HRGACS = 0; memory space, an I / O access to the internal register is a condition for generating an illegal access reset.
次に、システム設定(シンボル名:HSYSCNT)において、設定内容がHRGACS=1;I/O空間のときは、内部レジスタへのメモリアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 Next, in the system setting (symbol name: HSYSCNT), when the setting content is HRGACS = 1; I / O space, the occurrence of the illegal access reset is that the memory has been accessed to the internal register.
次に、システム設定(シンボル名:HSYSCNT)において、設定内容がHRGACS=1;I/O空間のときは、内部レジスタへのメモリアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 Next, in the system setting (symbol name: HSYSCNT), when the setting content is HRGACS = 1; I / O space, the occurrence of the illegal access reset is that the memory has been accessed to the internal register.
次に、プログラムエンドアドレス(シンボル名:HPRGEND)の設定に関して、プログラムエンドアドレスとして設定されたアドレスの次のアドレスからA6FFhの間の領域へのアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 Next, regarding the setting of the program end address (symbol name: HPRGEND), the access condition to the area between the address next to the address set as the program end address and A6FFh is an illegal access reset generation condition. .
次に、RAMアクセス禁止アドレス(シンボル名:HRAMSTAT、HRAMEND)に関して、RAMアクセス禁止アドレスとして設定されたRAM領域の開始アドレスと最終アドレスの間の領域へのアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 Next, regarding the RAM access prohibition address (symbol name: HRAMSTAT, HRAMEND), an illegal access reset occurs because there is an access to the area between the start address and the final address of the RAM area set as the RAM access prohibition address It becomes a condition.
次に、内部機能レジスタ(シンボル名:MKCODE)に関し、MKCODEへの書き込みがあったことがイリーガルアクセスリセットの発生条件となる。 Next, regarding the internal function register (symbol name: MKCODE), writing to MKCODE is a condition for generating an illegal access reset.
次に、内部機能レジスタ(シンボル名:PRCODE)に関し、PRCODEへの書き込みがあったことがイリーガルアクセスリセットの発生条件となる。 Next, regarding the internal function register (symbol name: PRCODE), writing to PRCODE is a condition for generating an illegal access reset.
次に、内部機能レジスタ(シンボル名:CPCODE)に関し、CPCODEへの書き込みがあったことがイリーガルアクセスリセットの発生条件となる。 Next, regarding the internal function register (symbol name: CPCODE), writing to CPCODE is a condition for generating an illegal access reset.
次に、ROM領域として設定されている領域(8000h〜A7FFh)への書き込みがあったこと、ROMコメント領域(A700h〜A77Fh)へのアクセスがあったこと、HWパラメータ領域(A7A8h〜A77Fh)へのアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 Next, there was a write to the area (8000h to A7FFh) set as the ROM area, an access to the ROM comment area (A700h to A77Fh), and the access to the HW parameter area (A7A8h to A77Fh) The occurrence of an illegal access reset is an access condition.
次に、メモリ空間のうち未使用領域(200h〜FFFh、10B1h〜7FFFh、A800h〜FFFh)へのアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 Next, an access condition to an unused area (200h to FFFh, 10B1h to 7FFFh, A800h to FFFh) in the memory space is a condition for generating an illegal access reset.
次に、I/O空間のうち未使用領域(B1h〜BFh)へのアクセスがあったことがイリーガルアクセスリセットの発生条件となる。 Next, the occurrence condition of the illegal access reset is that the unused area (B1h to BFh) in the I / O space is accessed.
次に、CPUコアが未定義命令をフェッチしたことがイリーガルアクセスリセットの発生条件となる。 Next, the occurrence condition of the illegal access reset is that the CPU core fetches the undefined instruction.
[起動しない条件]
次に図13に示すマイクロコンピュータが起動しない条件について図22を用いて説明する。図22に示す条件を満たした場合はエラー状態と判断してマイクロコンピュータは起動しない。
[Condition that does not start]
Next, the conditions under which the microcomputer shown in FIG. 13 does not start will be described with reference to FIG. If the condition shown in FIG. 22 is satisfied, it is determined that the error has occurred, and the microcomputer does not start.
図22に示すように、ベクタテーブルの設定(関係するシンボル名:HPRGEND)においては、0000hと8000h〜HPRGEND以外の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。 As shown in FIG. 22, in the setting of the vector table (related symbol name: HPRGEND), the condition that the microcomputer does not start is satisfied when values other than 0000h and 8000h to HPRGEND are set.
CS/PWM設定(関係するシンボル名:HCSMD、HCSRW16〜HCSRW23)においては、CS/PWM設定で設定した値がHCSMD=0、かつHCSRW16が00以外の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。HCSRW17〜HCSRW23も同様である。 In the CS / PWM setting (related symbol names: HCSMD, HCSRW16 to HCSRW23), the microcomputer does not start if the value set in the CS / PWM setting is HCSMD = 0 and the HCSRW16 is set to a value other than 00. Is satisfied. The same applies to HCSRW17 to HCSRW23.
CS/PWM設定(関係するシンボル名:HCSMD、HCSRW15)においては、HCSMD=1、かつHCSRW15が00以外の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。 In the CS / PWM setting (related symbol names: HCSMD, HCSRW15), if HCSMD = 1 and HSCRW15 is set to a value other than 00, the condition that the microcomputer does not start is satisfied.
CS/PWM設定(関係するシンボル名:HPW0MD〜HPW3MD、HCSRW11〜HCSRW14)においては、HPW0MD=1、かつHCSRW11が00以外の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。また、HPW1MD=1、かつHCSRW12が00以外の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。HPW2MD=1、かつHCSRW13が00以外の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。HPW3MD=1、かつHCSRW14が00以外の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。
In the CS / PWM setting (related symbol names: HPW0MD to HPW3MD, HCSRW11 to HCSRW14), the condition that the microcomputer does not start is satisfied when HPW0MD = 1 and HCSRW11 is set to a value other than 00. If HPW1MD = 1 and HCSRW12 is set to a value other than 00, the condition that the microcomputer does not start is satisfied. When HPW2MD = 1 and HCSRW13 is set to a value other than 00, the condition that the microcomputer does not start is satisfied. When HPW3MD = 1 and
CS/PWM設定(関係するシンボル名:HCSMOD)においては、HCSMODのビット4=1が設定されるとマイクロコンピュータが起動しない条件が満たされる。また、HCSMODのビット5=1が設定されるとマイクロコンピュータが起動しない条件が満たされる。また、HCSMODのビット6=1が設定されるとマイクロコンピュータが起動しない条件が満たされる。
In the CS / PWM setting (related symbol name: HSMMOD), when
乱数回路動作モード設定(関係するシンボル名:HRDMD)においては、HEDMDのビット3=1が設定されるとマイクロコンピュータが起動しない条件が満たされる。
In the random number circuit operation mode setting (related symbol name: HRDMD), when
乱数回路動作モード設定(関係するシンボル名:HFRCLK)においては、HFRCLK=1を設定し、かつ乱数外部クロック(EXCLK)入力がないときにマイクロコンピュータが起動しない条件が満たされる。 In the random number circuit operation mode setting (related symbol name: HFRCLK), the condition that the microcomputer does not start when HFRCLK = 1 is set and no random number external clock (EXCLK) is input is satisfied.
乱数回路動作モード設定(関係するシンボル名:HRDMYE)においては、HRDMYE=1の場合にマイクロコンピュータが起動しない条件が満たされる。 In the random number circuit operation mode setting (relevant symbol name: HRDMYE), the condition that the microcomputer does not start when HRDMYE = 1 is satisfied.
システム設定(関係するシンボル名:HSYSCNT)においては、HSYSCNTのビット5=1が設定されるとマイクロコンピュータが起動しない条件が満たされる。また、HSYSCNTのビット6=1が設定されるとマイクロコンピュータが起動しない条件が満たされる。また、HSYSCNTのビット7=1が設定されるとマイクロコンピュータが起動しない条件が満たされる。なお、HSYSCNTのビット5〜7は、いずれの機能の設定にも用いられていない未使用ビットであり、通常は0が設定される。
In the system setting (related symbol name: HSYSCNT), when
システム設定(関係するシンボル名:HLNKMD、HAUTLK)においては、HLNKMD=0、かつHAUTLK=1が設定されるとマイクロコンピュータが起動しない条件が満たされる。 In the system setting (related symbol names: HLNKMD, HAUTLK), when HLNKMD = 0 and HAUTLK = 1 are set, the condition that the microcomputer does not start is satisfied.
プログラムエンドアドレス(関係するシンボル名:HPRGEND)においては、HPRGENDに8000h〜A6FF以外の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。 In the program end address (related symbol name: HPRGEND), if a value other than 8000h to A6FF is set in HPRGEND, the condition that the microcomputer does not start is satisfied.
RAMアクセス禁止アドレス(関係するシンボル名:HRAMSTAT、HRAMEND)においては、0000h≦HRAMSTAT≦HRAMEND≦01FFhを満たさない場合はマイクロコンピュータが起動しない条件が満たされる。 In the RAM access prohibition address (related symbol names: HRAMSTAT, HRAMEND), if 0000h ≦ HRAMSTAT ≦ HRAMEND ≦ 01FFh is not satisfied, the condition that the microcomputer does not start is satisfied.
SWステータス(関係するシンボル名:HSWSTS0〜HSWSTS9)においては、HSWSTS0が0000h〜01FFh以外の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。HSWSTS1〜HSWSTS9も同様である。 In the SW status (related symbol names: HSWSTS0 to HSWSTS9), if HSWSTS0 is set to a value other than 0000h to 01FFh, the condition that the microcomputer does not start is satisfied. The same applies to HSWSTS1 to HSWSTS9.
SWステータス(関係するシンボル名:HSWSTS0〜HSWSTS9、HRAMSTAT、HRAMEND)においては、HSWSTS0がHRAMSTATとHRAMENDで設定したアクセス禁止権領域の値が設定されるとマイクロコンピュータが起動しない条件が満たされる。HSWSTS1〜HSWSTS9も同様である。 In the SW status (related symbol names: HSWSTS0 to HSWSTS9, HRAMSTAT, HRAMEND), the condition that the microcomputer is not started is satisfied when the value of the access prohibition right area set by HRAMSTAT and HRAMEND is set in HSWSTS0. The same applies to HSWSTS1 to HSWSTS9.
[リセット要因による動作の変化]
次に、図13に示すマイクロコンピュータにおいてリセット要因による動作の変化について図23を用いて説明する。図23に示すように4種類のリセット要因により動作が変化する。
[Change in operation due to reset factor]
Next, a change in operation due to a reset factor in the microcomputer shown in FIG. 13 will be described with reference to FIG. As shown in FIG. 23, the operation varies depending on four types of reset factors.
システムリセットが行われた場合にはシステムリセット期間が設定され、リセット要因がWDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合にはシステムリセット期間が設定されない。 When the system reset is performed, the system reset period is set. When the reset factor is any of WDT reset, periodic reset, and illegal access reset, the system reset period is not set.
また、システムリセットによりリセット期間が延長された場合には、HWパラメータでリセット期間の延長を有効に設定した場合にリセット期間の延長が設定され、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかによりリセット期間が延長されなかった場合には、リセット期間の延長が設定されない。 If the reset period is extended by a system reset, the reset period extension is set when the reset period extension is set to be effective by the HW parameter, and it is set by any of WDT reset, periodic reset, and illegal access reset. If the reset period is not extended, no extension of the reset period is set.
また、システムリセット、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には、CPUコアが初期化される。 When any one of system reset, WDT reset, periodic reset, and illegal access reset is performed, the CPU core is initialized.
また、システムリセットが行われた場合には入出力端子は初期化され、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には、入出力端子は初期化されない。 Also, the input / output terminals are initialized when a system reset is performed, and the input / output terminals are not initialized when any of WDT reset, periodic reset, and illegal access reset is performed.
また、システムリセット、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合でもRAMの内容は変化しない。 Further, the contents of the RAM do not change even when any one of system reset, WDT reset, periodic reset, and illegal access reset is performed.
また、システムリセット、WDTリセットのいずれかが行われた場合にはRAMはプロテクト状態に設定され、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合にはRAMはプロテクト状態に設定されない。 The RAM is set in the protected state when either a system reset or a WDT reset is performed, and the RAM is not set in a protected state when either a periodic reset or illegal access reset is performed.
また、システムリセット、WDTリセットのいずれかが行われた場合にはCTCは初期化され、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合にはCTCは初期化されない。 The CTC is initialized when either a system reset or WDT reset is performed, and the CTC is not initialized when either a periodic reset or illegal access reset is performed.
また、システムリセットが行われた場合にはWDTは初期化され、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合にはWDTは初期化されない。 Further, WDT is initialized when a system reset is performed, and WDT is not initialized when any of WDT reset, periodic reset, and illegal access reset is performed.
また、システムリセットが行われた場合にはWDT循環クリアモードのクリア値の順番は初期化され、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合にはWDT循環クリアモードのクリア値の順番は初期化されない。 In addition, the order of clear values in the WDT cyclic clear mode is initialized when a system reset is performed, and the WDT cyclic clear mode is cleared when any of WDT reset, periodic reset, and illegal access reset is performed. The order of values is not initialized.
また、システムリセットが行われた場合にはシリアル通信は送受信を中断して初期化され、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には初期化されない。 In addition, serial communication is initialized by interrupting transmission / reception when a system reset is performed, and is not initialized when any of WDT reset, periodic reset, and illegal access reset is performed.
また、システムリセット、WDTリセットのいずれかが行われた場合には割込コントローラは初期化され、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には割込コントローラは初期化されない。 Further, the interrupt controller is initialized when either system reset or WDT reset is performed, and the interrupt controller is not initialized when either periodic reset or illegal access reset is performed.
また、システムリセットが行われた場合には、外部信号入力/リセット要因、レジスタのリセット要因、PINSTSのビット5〜7は初期化され、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には初期化されない。
In addition, when a system reset is performed, external signal input / reset factors, register reset factors, and
また、システムリセット、WDTリセットのいずれかが行われた場合には乱数回路は初期化され、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には乱数回路は初期化されない。 Further, the random number circuit is initialized when either the system reset or the WDT reset is performed, and the random number circuit is not initialized when either the periodic reset or the illegal access reset is performed.
また、システムリセット、WDTリセットのいずれかが行われた場合には乱数の初期値は毎回異なり、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には乱数の初期値はリセット前のスタート値に設定される。 In addition, the initial value of the random number is different each time when either system reset or WDT reset is performed, and the initial value of random number is the start before resetting when either periodic reset or illegal access reset is performed. Set to a value.
また、システムリセットが行われた場合には、乱数エラーステータスレジスタは初期化され、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には初期化されない。 Further, the random number error status register is initialized when the system reset is performed, and is not initialized when any of the WDT reset, the periodic reset, and the illegal access reset is performed.
また、システムリセットが行われた場合には、汎用初期値用乱数は毎回異なり、WDTリセット、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には汎用初期値用乱数は変化しない。 Further, when the system reset is performed, the general-purpose initial value random number is different every time. When any of the WDT reset, the periodic reset, and the illegal access reset is performed, the general-purpose initial value random number does not change.
また、システムリセット、WDTリセットのいずれかが行われた場合にはM1カウンタは初期化され、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合にはM1カウンタは初期化されない。 Further, the M1 counter is initialized when either system reset or WDT reset is performed, and the M1 counter is not initialized when either periodic reset or illegal access reset is performed.
また、システムリセット、WDTリセットのいずれかが行われた場合には定期リセットモニタは初期化され、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には定期リセットモニタは初期化されない。 Further, the periodic reset monitor is initialized when either the system reset or the WDT reset is performed, and the periodic reset monitor is not initialized when either the periodic reset or the illegal access reset is performed.
また、システムリセット、WDTリセットのいずれかが行われた場合には演算機能は初期化され、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合には演算機能は初期化されない。 The arithmetic function is initialized when either a system reset or a WDT reset is performed, and the arithmetic function is not initialized when either a periodic reset or illegal access reset is performed.
また、システムリセット、WDTリセットのいずれかが行われた場合にはPWM出力は初期化され、定期リセット、イリーガルアクセスリセットのいずれかが行われた場合にはPWM出力は初期化されない。 Also, the PWM output is initialized when either system reset or WDT reset is performed, and the PWM output is not initialized when either periodic reset or illegal access reset is performed.
[内部機能レジスタ]
次に、図14に示す内部機能レジスタについて図24を用いて具体的に説明する。なお、図中のSは「システムリセット」、Wは「WDTリセット」を示す。また、R/W(Read/Write)は、R/Wが読み書き可能、Rが読み出しのみ可能、Wが書き込みのみ可能であることを示す。また、一部機能を省略して説明する。
[Internal function register]
Next, the internal function register shown in FIG. 14 will be specifically described with reference to FIG. In the figure, S indicates “system reset” and W indicates “WDT reset”. Further, R / W (Read / Write) indicates that R / W can read and write, R can only read, and W can only write. In addition, a description will be given with some functions omitted.
なお、図示を省略した機能には、乱数回路で更新する乱数値の最大値を定める乱数最大値レジスタや、乱数値を取得する際の動作を定める外部ラッチ信号許可レジスタ、外部ラッチ信号モードレジスタなどの乱数回路に関わるレジスタが含まれており、これらの初期化要因はシステムリセットとWDTリセットになっている(図23参照)。 The functions not shown in the figure include a random number maximum value register that determines the maximum value of the random number value to be updated by the random number circuit, an external latch signal permission register that determines the operation when acquiring the random value, an external latch signal mode register, etc. The registers related to the random number circuit are included, and these initialization factors are system reset and WDT reset (see FIG. 23).
図24に示すように、I/O空間アドレス00h、メモリ空間アドレス1000hにはRAMプロテクトレジスタ(RAMPT)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。
As shown in FIG. 24, a RAM protect register (RAMPT) is assigned to the I /
I/O空間アドレス01h、メモリ空間アドレス1001hにはCTCコントロールレジスタ(TMCNT0)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。
A CTC control register (TMCNT0) is assigned to the I /
I/O空間アドレス02h、メモリ空間アドレス1002hにはCTCコントロールレジスタ(TMCNT1)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。
A CTC control register (TMCNT1) is assigned to the I /
I/O空間アドレス03h、メモリ空間アドレス1003hにはCTCコントロールレジスタ(TMCNT2)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。
A CTC control register (TMCNT2) is assigned to the I /
I/O空間アドレス04h及び05h、メモリ空間アドレス1004hおよび1005hにはCTCデータレジスタ(CTC0)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A CTC data register (CTC0) is allocated to the I / O space addresses 04h and 05h and the memory space addresses 1004h and 1005h. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス06h及び07h、メモリ空間アドレス1006hおよび1007hにはCTCデータレジスタ(CTC1)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A CTC data register (CTC1) is allocated to the I / O space addresses 06h and 07h and the memory space addresses 1006h and 1007h. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス08h及び09h、メモリ空間アドレス1008hおよび1009hにはCTCデータレジスタ(CTC2)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A CTC data register (CTC2) is allocated to the I / O space addresses 08h and 09h and the memory space addresses 1008h and 1009h. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス0Ah、メモリ空間アドレス100AhにはWDTコントロールレジスタ(WDTCNT)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A WDT control register (WDTCNT) is assigned to the I / O space address 0Ah and the memory space address 100Ah. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス0Bh、メモリ空間アドレス100BhにはWDTクリアレジスタ(WDTCLR0)が割り当てられている。そして、R/WはWとなっている。なお、初期化要因はない。 A WDT clear register (WDTCLLR0) is assigned to the I / O space address 0Bh and the memory space address 100Bh. R / W is W. There is no initialization factor.
I/O空間アドレス0Ch、メモリ空間アドレス100ChにはWDTクリアレジスタ(WDTCLR1)が割り当てられている。そして、R/WはWとなっている。なお、初期化要因はない。 A WDT clear register (WDTCLR1) is assigned to the I / O space address 0Ch and the memory space address 100Ch. R / W is W. There is no initialization factor.
I/O空間アドレス0Dh、メモリ空間アドレス100DhにはWDTクリアレジスタ(WDTCLR2)が割り当てられている。そして、R/WはWとなっている。なお、初期化要因はない。 A WDT clear register (WDTCLR2) is assigned to the I / O space address 0Dh and the memory space address 100Dh. R / W is W. There is no initialization factor.
I/O空間アドレス0Eh、メモリ空間アドレス100EhにはWDTクリアレジスタ(WDTCLR3)が割り当てられている。そして、R/WはWとなっている。なお、初期化要因はない。 A WDT clear register (WDTCLR3) is assigned to the I / O space address 0Eh and the memory space address 100Eh. R / W is W. There is no initialization factor.
I/O空間アドレス23h、メモリ空間アドレス1023hには割込要求レジスタ(IRR)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。
An interrupt request register (IRR) is assigned to the I /
I/O空間アドレス24h、メモリ空間アドレス1024hには割込許可レジスタ(IRR)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。
An interrupt permission register (IRR) is assigned to the I /
I/O空間アドレス25h、メモリ空間アドレス1025hには割込優先順位レジスタ(IPR)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。
An interrupt priority register (IPR) is assigned to the I /
I/O空間アドレス26h、メモリ空間アドレス1026hには外部信号入力/リセット要因レジスタ(PINSTS)が割り当てられている。そして、R/WはR/W、初期化要因はSとなっている。
An external signal input / reset factor register (PINSTS) is assigned to the I /
I/O空間アドレス94h、メモリ空間アドレス1094hには定期リセットモニタレジスタ(ITRMN)が割り当てられている。そして、R/WはR、初期化要因はS,Wとなっている。
A periodic reset monitor register (ITRMN) is assigned to the I /
I/O空間アドレス95h、メモリ空間アドレス1095hには演算データレジスタ(CDAT)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 An arithmetic data register (CDAT) is assigned to the I / O space address 95h and the memory space address 1095h. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス96h、メモリ空間アドレス1096hには水平パリティ演算結果レジスタ(CPTY)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A horizontal parity calculation result register (CPTY) is assigned to the I / O space address 96h and the memory space address 1096h. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス97h及び98h、メモリ空間アドレス1097h及び1098hにはチェックサム演算結果レジスタ(CSUM)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A checksum operation result register (CSUM) is allocated to the I / O space addresses 97h and 98h and the memory space addresses 1097h and 1098h. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス99h及び9Ah、メモリ空間アドレス1099h及び109AhにはCRC16演算結果レジスタ(CCRC)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A CRC16 operation result register (CCRC) is assigned to the I / O space addresses 99h and 9Ah and the memory space addresses 1099h and 109Ah. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス9Bh、メモリ空間アドレス109BhにはPWMコントロールレジスタ(PWMC0)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A PWM control register (PWMC0) is assigned to the I / O space address 9Bh and the memory space address 109Bh. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス9Ch、メモリ空間アドレス109ChにはPWMコントロールレジスタ(PWMC1)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A PWM control register (PWMC1) is assigned to the I / O space address 9Ch and the memory space address 109Ch. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス9Dh、メモリ空間アドレス109DhにはPWMコントロールレジスタ(PWMC2)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A PWM control register (PWMC2) is assigned to the I / O space address 9Dh and the memory space address 109Dh. R / W is R / W, and initialization factors are S and W.
I/O空間アドレス9Eh、メモリ空間アドレス109EhにはPWMコントロールレジスタ(PWMC3)が割り当てられている。そして、R/WはR/W、初期化要因はS,Wとなっている。 A PWM control register (PWMC3) is assigned to the I / O space address 9Eh and the memory space address 109Eh. R / W is R / W, and initialization factors are S and W.
I/O空間アドレスA2h及びA3h及びA4h、メモリ空間アドレス10A2h及び10A3h及び10A4hにはメーカコードレジスタ(MKCODE)が割り当てられている。そして、R/WはRとなっている。なお、初期化要因はない。 A manufacturer code register (MKCODE) is assigned to the I / O space addresses A2h, A3h, and A4h and the memory space addresses 10A2h, 10A3h, and 10A4h. R / W is R. There is no initialization factor.
I/O空間アドレスA5h〜ACh、メモリ空間アドレス10A5h〜10AChには製品コードレジスタ(PRCODE)が割り当てられている。そして、R/WはRとなっている。なお、初期化要因はない。 Product code registers (PRCODE) are assigned to the I / O space addresses A5h to ACh and the memory space addresses 10A5h to 10ACh. R / W is R. There is no initialization factor.
I/O空間アドレスADh〜B0h、メモリ空間アドレス10ADh〜10B0hにはチップコードレジスタ(CPCODE)が割り当てられている。そして、R/WはRとなっている。なお、初期化要因はない。 A chip code register (CPCODE) is assigned to the I / O space addresses ADh to B0h and the memory space addresses 10ADh to 10B0h. R / W is R. There is no initialization factor.
[RAMプロテクト]
次に、RAMプロテクトについて説明する。RAMプロテクトは、間違った操作によるRAMの書き換え防止する機能である。
[RAM protection]
Next, RAM protection will be described. The RAM protect is a function for preventing the RAM from being rewritten by an incorrect operation.
RAMプロテクトの動作は、次のようになる。システムリセット又はWDTリセットが発生した後はRAMプロテクト状態になっている。RAMプロテクト状態ではRAMからデータを読み出すことができるが、RAMへデータを書き込むことができない。RAMへデータを書き込む場合はRAMプロテクトレジスタ(RAMPT)にRAMプロテクトを無効に設定する。RAMPTのRAMアクセス禁止領域の設定を無効に設定すると、HWパラメータのRAMアクセス禁止領域を有効に設定しても、HRAMSTAT=0000hかつHRAMEND=0000hを設定している場合は、RAMアクセス禁止領域は存在しないので、イリーガルアクセスリセットは発生しない。 The operation of RAM protection is as follows. After a system reset or WDT reset occurs, the RAM is protected. In the RAM protected state, data can be read from the RAM, but data cannot be written to the RAM. When writing data to the RAM, the RAM protection is set to invalid in the RAM protection register (RAMPT). If the RAM access prohibition area setting of the RAMPT is set to invalid, the RAM access prohibition area exists if HRAMSTAT = 0000h and HRAMEND = 0000h are set even if the RAM access prohibition area of the HW parameter is enabled. No illegal access reset occurs.
[RAMプロテクトレジスタ]
次に、図24で示した内部機能レジスタにおけるRAMプロテクタレジスタについて図25を用いて説明する。
[RAM protect register]
Next, the RAM protector register in the internal function register shown in FIG. 24 will be described with reference to FIG.
図25に示すように、RAMプロテクトレジスタでは、メモリ空間アドレス1000h(I/O空間アドレス00h)のビット7〜0にシンボルRAMPTが対応付けされている。RAMPTでは、RAMプロテクトの設定と、RAMアクセス禁止領域のコントロールが行われる。そして、00hではRAMアクセス禁止領域が無効に設定され、RAMプロテクトが無効に設定される。また、01hではRAMアクセス禁止領域が無効に設定され、RAMプロテクトが有効に設定される。また、80hではRAMアクセス禁止領域が有効に設定され、RAMプロテクトが無効に設定される。また、81hではRAMアクセス禁止領域が有効に設定され、RAMプロテクトが有効に設定される。これらの値以外では状態が保持される。なお、R/WはR/Wになり、初期値は81hになっている。
As shown in FIG. 25, in the RAM protect register, the symbol RAMPT is associated with
[カウンタタイマ(CTC)]
次に、CTCについて図26を用いて説明する。図13に示すマイクロコンピュータでは、16ビットのCTCが3チャンネル搭載されている。
[Counter timer (CTC)]
Next, CTC will be described with reference to FIG. The microcomputer shown in FIG. 13 has three 16-bit CTC channels.
CTCの動作は次のようになる。CTCは設定されたタイマ値をダウンカウントし、0000hに達したときに割込コントローラへの割込要求信号を出力する。このときの0000hをターミナルカウントと称する。CTCの各チャンネル(CTC0〜2)は、独立して動作させることができるので、3種類の時間間隔で割込を発生させることができる。 The operation of CTC is as follows. The CTC counts down the set timer value, and outputs an interrupt request signal to the interrupt controller when it reaches 0000h. 0000h at this time is referred to as a terminal count. Since each CTC channel (CTC0-2) can be operated independently, an interrupt can be generated at three different time intervals.
図26に示すように、CTC0、CTC1は、CTC2のターミナルカウントをクロック源とすることができるので長い時間間隔を容易に作ることができる。例えば、CTC0のクロック源にCTC2のターミナルカウントを設定し、CTC2のタイマ値を2msec、CTC0を65,000カウントに設定した場合は、2msec×65,000=130secをカウントすることができる。CTCは、システムリセットまたはWDTリセットが発生した場合に初期化される。 As shown in FIG. 26, since CTC0 and CTC1 can use the terminal count of CTC2 as a clock source, a long time interval can be easily created. For example, when the terminal count of CTC2 is set to the clock source of CTC0, the timer value of CTC2 is set to 2 msec, and CTC0 is set to 65,000 count, 2 msec × 65,000 = 130 sec can be counted. The CTC is initialized when a system reset or a WDT reset occurs.
CTCの動作モードは以下のようになる。CTCには、1回だけ動作するワンショットタイマモードと繰り返し動作するインターバルタイマモードの2つの動作モードがある。ワンショットタイマモードは、設定したタイマ値からダウンカウントを行い、ターミナルカウントに達するとダウンカウントを停止する。そして、ターミナルカウントに達したときに割込要求が1回発生する。
タイマ値に5を設定した場合:5→4→3→2→1→0(停止)
The operation mode of CTC is as follows. The CTC has two operation modes: a one-shot timer mode that operates only once and an interval timer mode that operates repeatedly. In the one-shot timer mode, down-counting starts from the set timer value and stops when the terminal count is reached. An interrupt request is generated once when the terminal count is reached.
When the timer value is set to 5: 5 → 4 → 3 → 2 → 1 → 0 (stop)
インターバルタイマモードは、設定したタイマ値からダウンカウントを行い、ターミナルカウントに達すると設定したタイマ値から再びダウンカウントを行う。そして、ターミナルカウントに達するたびに割込要求が繰り返し発生する。
タイマ値に5を設定した場合:5→4→3→2→1→5→4→・・・(繰り返し)
In the interval timer mode, the countdown is performed from the set timer value, and when the terminal count is reached, the countdown is performed again from the set timer value. Each time the terminal count is reached, an interrupt request is repeatedly generated.
When the timer value is set to 5: 5 → 4 → 3 → 2 → 1 → 5 → 4 → ・ ・ ・ (repeated)
タイマ値の設定に関して、CTCのタイマ値は、任意値または4種類の固定値(1msec、2msec、4msec、1.4890msec)を設定することができる。 Regarding the setting of the timer value, an arbitrary value or four types of fixed values (1 msec, 2 msec, 4 msec, and 1.4890 msec) can be set as the CTC timer value.
任意値の設定方法は、CTCデータレジスタ(CTC0〜2)にタイマ値を設定し、CTCコントロールレジスタ(TMCNT0〜2)のタイマ値設定方法、動作モード、クロック分周、クロック源を設定する。
CTC0で3msecごとに割込を発生させる設定例
1.CTC0=012Ch タイマ値=300
2.TMCNT=02h タイマ値設定方法=任意値、動作モード=インターバルタイマモード、クロック分周=10μsec、クロック源=MLCKの分周
As an arbitrary value setting method, a timer value is set in the CTC data registers (CTC0 to CTC2), a timer value setting method, an operation mode, a clock frequency division, and a clock source in the CTC control registers (TMCNT0 to TMCNT2) are set.
Setting example for generating an interrupt every 3 msec in
2. TMCNT = 02h Timer value setting method = arbitrary value, operation mode = interval timer mode, clock division = 10 μsec, clock source = MLCK division
固定値の設定方法は、CTCコントロールレジスタ(TMCNT0〜2)のタイマ値設定方法、動作モード、固定値を設定する。
CTC0で4msecごとに割込を発生させる設定例
1.TMCNT=0Bh タイマ値設定方法=固定値、動作モード=インターバルタイマモード、固定値設定=4msec
CTC0(CTC0データレジスタ)の設定は不要。
The fixed value setting method sets the timer value setting method, operation mode, and fixed value of the CTC control registers (TMCNT0 to TMCNT2).
Setting example for generating an interrupt every 4 msec in
Setting of CTC0 (CTC0 data register) is unnecessary.
CTCの起動は、システムリセット後及びWDTリセット後は、CTCのカウント動作を停止している。
CTCの起動は次の順番で設定する。
1.CTCデータレジスタ(CTC0〜2)にタイマ値を設定する。
2.CTCコントロールレジスタ(TMCNT0〜2)を設定する。
なお、タイマ値設定方法に固定値を設定する場合は、1.のCTCデータレジスタ(CTC0〜2)の設定は不要である。TMCNT0〜2を設定するだけで起動する。CTCがカウント動作中であってもTMCNT0〜2を設定すると、CTC0〜2とTMCNT0〜2の設定内容で更新される。カウント中のタイマ値はCTC0〜2の設定値から再度ダウンカウントする。
In CTC activation, the CTC count operation is stopped after the system reset and the WDT reset.
The activation of CTC is set in the following order.
1. A timer value is set in the CTC data registers (CTC0 to CTC2).
2. Set the CTC control registers (TMCNT0 to TMCNT2).
When setting a fixed value to the timer value setting method, The CTC data registers (CTC0 to CTC2) need not be set. Just set TMCNT0-2 to start. Even if CTC is counting, if TMCNT0-2 is set, it is updated with the setting contents of CTC0-2 and TMCNT0-2. The timer value being counted is counted down again from the set value of CTC0-2.
[CTCコントロールレジスタ]
次に、図24で示した内部機能レジスタにおけるCTCコントロールレジスタについて図27を用いて説明する。
[CTC control register]
Next, the CTC control register in the internal function register shown in FIG. 24 will be described with reference to FIG.
図27に示すように、CTCコントロールレジスタでは、メモリ空間アドレス1001h(I/O空間アドレス01h)のビット7は未使用であり、常に0となる。なお、R/WはRになり、初期値は0になっている。
As shown in FIG. 27, in the CTC control register,
メモリ空間アドレス1001h(I/O空間アドレス01h)のビット6にはシンボルC0CKCELが対応付けされ、メモリ空間アドレス1002h(I/O空間アドレス02h)のビット6にはシンボルC1CKCELが対応付けされている。C0CKCEL、C1CKCELでは、CTC0〜1のクロック源の設定が行われる。そして、0ではMCLKの分周に設定され、1ではCTC2のターミナルカウントに設定される。なお、R/WはR/Wになり、初期値は0になっている。
Symbol C0CKCEL is associated with
なお、C0CKCELに0を設定した場合はCTC0をC0CKCELに設定したクロックでダウンカウントする。C0CKCELに1を設定した場合はCTC0をCTC2のターミナルカウントでダウンカウントする。C1CKCELに0を設定した場合はCTC1をC1CKCELに設定したクロックでダウンカウントする。C1CKCELに1を設定した場合はCTC1をCTC2のターミナルカウントでダウンカウントする。 When C0CKCEL is set to 0, CTC0 is counted down with the clock set to C0CKCEL. When C0CKCEL is set to 1, CTC0 is counted down with the terminal count of CTC2. When C1CKCEL is set to 0, CTC1 is counted down with the clock set to C1CKCEL. When C1CKCEL is set to 1, CTC1 is counted down with the terminal count of CTC2.
メモリ空間アドレス1001h(I/O空間アドレス01h)のビット4〜5にはシンボルC0CLKが対応付けされ、メモリ空間アドレス1002h(I/O空間アドレス02h)のビット5〜4にはシンボルC1CLKが対応付けされ、メモリ空間アドレス1003h(I/O空間アドレス03h)のビット4〜5にはシンボルC2CLKが対応付けされている。C0CLK、C1CLK、C2CLKでは、CTC0〜2のクロック分周設定が行われる。そして、MLCK=20MHzの場合に、00では10μsecに設定され、01では1μsecに設定され、10では5μsecに設定され、11では20μsecに設定される。なお、R/WはR/Wになり、初期値は0になっている。
Symbols C0CLK are associated with bits 4-5 of memory space address 1001h (I /
なお、CTC2は、C2CLKに設定したクロックでダウンカウントする。 CTC2 counts down with the clock set to C2CLK.
メモリ空間アドレス1001h(I/O空間アドレス01h)のビット3〜2にはシンボルTMCEL0が対応付けされ、メモリ空間アドレス1002h(I/O空間アドレス02h)のビット2〜3にはシンボルTMCEL1が対応付けされ、メモリ空間アドレス1003h(I/O空間アドレス03h)のビット2〜3にはシンボルTMCEL2が対応付けされている。TMCEL0、TMCEL1、TMCEL2では、CTC0〜2の固定値の設定が行われる。そして、00では1msec(タイマ値=03E8h)に設定され、01では2msec(タイマ値=07D0h)に設定され、10では4msec(タイマ値=0FA0h)に設定され、11では1.489msec(タイマ値=05D1h)に設定される。なお、R/WはR/Wになり、初期値は0になっている。
Symbols TMCEL0 are associated with
なお、TMCEL0〜2の設定時間は、HWパラメータのシステム設定(HSYSCNT)のMCLK周波数設定(HSYSCLK)がシステムクロック(MCLK)と同じ周波数に設定された場合に所定の時間となる。 The set time of TMCEL0 to 2 is a predetermined time when the MCLK frequency setting (HSYSCLK) of the system setting (HSYSCNT) of the HW parameter is set to the same frequency as the system clock (MCLK).
メモリ空間アドレス1001h(I/O空間アドレス01h)のビット1にはシンボルTMMOD0が対応付けされ、メモリ空間アドレス1002h(I/O空間アドレス02h)のビット1にはシンボルTMMOD1が対応付けされ、メモリ空間アドレス1003h(I/O空間アドレス03h)のビット1にはシンボルTMMOD2が対応付けされている。TMMOD0、TMMOD1、TMMOD2では、CTC0〜2の動作モードの設定が行われる。そして、0ではワンショットタイマモードに設定され、1ではインターバルタイマモードに設定される。なお、R/WはR/Wになり、初期値は0になっている。
Symbol TMMOD0 is associated with
メモリ空間アドレス1001h(I/O空間アドレス01h)のビット0にはシンボルTMFVM0が対応付けされ、メモリ空間アドレス1002h(I/O空間アドレス02h)のビット0にはシンボルTMFVM1が対応付けされ、メモリ空間アドレス1003h(I/O空間アドレス03h)のビット1にはシンボルTMFVM2が対応付けされている。TMFVM0、TMFVM1、TMFVM2では、CTC0〜2のタイマ値設定方法の設定が行われる。そして、0では任意値に設定され、1では固定値に設定される。なお、R/WはR/Wになり、初期値は0になっている。
なお、TMFVM0〜2に0を設定した場合はTMCEL0〜2の設定は無効である。TMFVM0〜2に1を設定した場合はC0CKSEL、C1CKSEL、C0CLK、C1CLK、C2CLKの設定は無効である。このとき、TMSEL0〜2の設置値により、CTC0〜2のタイマ値が03E8h、07D0h、0FA0h、05D1hのいずれかでかつクロック分周は1μsecで動作する。なお、C0CLK、C1CLK、C2CLK、CTCデータレジスタ(CTC0〜2)の設定値には影響を与えない。 When 0 is set in TMFVM0-2, the settings of TMCEL0-2 are invalid. When 1 is set in TMFVM0 to 2, settings of C0CKSEL, C1CKSEL, C0CLK, C1CLK, and C2CLK are invalid. At this time, the timer value of CTC0-2 is set to any one of 03E8h, 07D0h, 0FA0h, 05D1h and the clock frequency is 1 μsec depending on the setting value of TMSEL0-2. Note that the set values of the C0CLK, C1CLK, C2CLK, and CTC data registers (CTC0 to CTC2) are not affected.
[CTCデータレジスタ]
次に、図24で示した内部機能レジスタにおけるCTCデータレジスタについて図28を用いて説明する。
[CTC data register]
Next, the CTC data register in the internal function register shown in FIG. 24 will be described with reference to FIG.
図28に示すように、CTCコントロールレジスタでは、メモリ空間アドレス1004h(I/O空間アドレス04h)のビット7〜0にはシンボルCTC0(下位)が対応付けされ、メモリ空間アドレス1005h(I/O空間アドレス05h)のビット7〜0にはシンボルCTC0(上位)が対応付けされている。CTC0ではCTC0のタイマ値の設定が行われる。読み出す場合はカウント値が読み出される。書き込む場合は0000hに65,536、0001hに1、以降1ずつ書き込まれる値が増えていき、FFFFhに65,535が書き込まれる。なお、R/WはR/Wになり、初期値はFFFFhになっている。
As shown in FIG. 28, in the CTC control register,
メモリ空間アドレス1006h(I/O空間アドレス06h)のビット7〜0にはシンボルCTC1(下位)が対応付けされ、メモリ空間アドレス1007h(I/O空間アドレス07h)のビット7〜0にはシンボルCTC1(上位)が対応付けされている。CTC1ではCTC1のタイマ値の設定が行われる。その他、CTC1はCTC0と同様である。
Symbols CTC1 (lower order) are associated with bits 7-0 of memory space address 1006h (I /
メモリ空間アドレス1008h(I/O空間アドレス08h)のビット7〜0にはシンボルCTC2(下位)が対応付けされ、メモリ空間アドレス1009h(I/O空間アドレス09h)のビット7〜0にはシンボルCTC2(上位)が対応付けされている。CTC2ではCTC2のタイマ値の設定が行われる。その他、CTC2はCTC0と同様である。
Symbols CTC2 (lower order) are associated with bits 7-0 of memory space address 1008h (I /
以上のように、CTCデータレジスタではCTC0〜2のタイマ値を設定する。0000hを設定した場合は65,536が設定される。CTCコントロールレジスタ(TMCNT0〜2)のTMFVM0〜2に1(固定値)を設定した場合は、このレジスタは不要である。 As described above, the timer values CTC0 to CTC2 are set in the CTC data register. When 0000h is set, 65,536 is set. When 1 (fixed value) is set in TMFVM0 to 2 of the CTC control registers (TMCNT0 to 2), this register is unnecessary.
また、このレジスタからCTC0〜2のカウント値を読み出すことができる。CTCコントロールレジスタ(TMCNT0〜2)のTMFVM0〜2に1(固定値)を設定した場合でもカウント値を読み出すことができる。カウント値の読み出しはCTCを起動した後に行う。 Further, the count values of CTC0 to CTC2 can be read from this register. Even when 1 (fixed value) is set in TMFVM0 to 2 in the CTC control registers (TMCNT0 to 2), the count value can be read. The count value is read after the CTC is activated.
2バイトの読み出し命令を使用してカウント値を読み出した場合は、更新中のカウント値が読み出されることはない。1バイトの読み出し命令で上位と下位を別々に読み出した場合は、途中でカウント値が更新される場合がある。 When the count value is read using a 2-byte read command, the count value being updated is not read. When the high-order and low-order are read separately by a 1-byte read command, the count value may be updated halfway.
[割込コントローラ]
次に、割込コントローラについて説明する。図29を割込コントローラのブロック図である。
[Interrupt controller]
Next, the interrupt controller will be described. FIG. 29 is a block diagram of the interrupt controller.
割込動作として、まず、割込要因と割込の設定が行われる。 As an interrupt operation, first, an interrupt factor and an interrupt are set.
割込要因は、割込入力/汎用入力端子(INP)の入力信号とCTC0〜2のターミナルカウントがあり、次の場合に割込が発生する。
1.INP端子がLレベルになった場合
2.CTC0がターミナルカウントに達した場合
3.CTC1がターミナルカウントに達した場合
4.CTC2がターミナルカウントに達した場合
Interrupt factors include the input signal of the interrupt input / general-purpose input terminal (INP) and the terminal count of CTC0 to 2. Interrupts are generated in the following cases.
1. 1. When INP terminal becomes
INP端子を割込の入力信号として使用する場合は、HWパラメータのリセット期間/INP端子設定(HRSTCNT)のINP端子機能設定(HPORTEN)に1(割込入力端子として使用する)を設定する。 When the INP terminal is used as an interrupt input signal, 1 (used as an interrupt input terminal) is set in the HW parameter reset period / INP terminal function setting (HPORTTEN) of the INP terminal setting (HRSTCNT).
INP端子はHRSTCNTの割込入力端子設定(HPORTMD)でINT割込入力又はNMI割込入力を選択することができる。 The INP terminal can select INT interrupt input or NMI interrupt input by setting the interrupt input terminal (HPORTMD) of HRSTCNT.
4つの割込要因は、割込許可レジスタ(IER)により個別に割込許可の設定と禁止を設定することができる。また、割込優先順位レジスタ(IPR)により割込の優先順位を設定することができる。 The four interrupt factors can be individually set to enable or disable interrupts by an interrupt enable register (IER). Also, the interrupt priority can be set by the interrupt priority register (IPR).
NMIを除く割込は、CPUコアのプログラムステータスワード(PSW)に割り当てられている割込マスタ許可フラグ(IMF)により、割込コントローラとは独立して割込要求の受付許可と受付禁止とを設定することができる。 Interrupts other than NMI are allowed to accept and forbid interrupt requests independently of the interrupt controller by the interrupt master permission flag (IMF) assigned to the program status word (PSW) of the CPU core. Can be set.
IMFの設定はEI(IMF=1)命令、DI(IMF=0)により行う。 The IMF is set by an EI (IMF = 1) command and DI (IMF = 0).
CPUコアが割込許可状態(IMF=1)の場合に、割込コントローラが割込要求信号をCPUコアに出力する。 When the CPU core is in the interrupt permission state (IMF = 1), the interrupt controller outputs an interrupt request signal to the CPU core.
NMI割込の場合は割込許可/禁止の状態にかかわらず割込要求信号をCPUコアへ出力する。 In the case of an NMI interrupt, an interrupt request signal is output to the CPU core regardless of the interrupt enabled / disabled state.
割込要求レジスタ(IRR)、割込許可レジスタ(IER)、割込優先順位レジスタ(IPR)は、システムリセット又はWDTリセットが発生した場合に初期化される。 The interrupt request register (IRR), the interrupt permission register (IER), and the interrupt priority register (IPR) are initialized when a system reset or a WDT reset occurs.
割込処理は、次のステップで開始される。
1.割込が発生すると、割込要因を割込要求レジスタ(IRR)にラッチする。
2.IER,IPR,IMFの設定状態に従い、CPUコアへ割込要求信号を出力する。
3.CPUコアは、M1サイクル中に割込要求の有無を判断する。
4.割込要求があった場合は、そのM1サイクルでフェッチした命令は破棄され、プログラムカウンタ(PC)は更新されない。このPCは下記「8.」においてそのスタックにプッシュされるので、割込処理終了時はこのPCからプログラムの実行を再開する。LDIR、CPIR命令実行中は、処理を繰り返す都度M1サイクルがあるが、その際も同様に割込要求の有無を判断する。
5.M1とIPEQ0を同時にLレベルとし、CPUコアが割込を受け付けたことを示す。
6.IRRの割込要因に対応するビットを0にクリアする。
7.割込要因に応じた割込処理の先頭アドレスを割込処理用ベクタテーブルから読み出す。
8.PSW、PCの上位バイト(PCH)、PCの下位バイト(PCL)の順にスタックにプッシュする。
9.IMFを0にクリアし、割込禁止状態にする。
10.割込処理用ベクタテーブルから読み出したアドレスをPCカウンタにセットする。
11.割込処理を開始する。
なお、上記処理は割込要求がINT割込とCTC0〜2割込の場合である。NMI割込の場合は、IER、IPR、IMFの設定に関係なく、割込要求信号を出力する。
The interrupt process is started in the next step.
1. When an interrupt occurs, the interrupt factor is latched in the interrupt request register (IRR).
2. An interrupt request signal is output to the CPU core according to the setting state of IER, IPR, and IMF.
3. The CPU core determines whether or not there is an interrupt request during the M1 cycle.
4). If there is an interrupt request, the instruction fetched in the M1 cycle is discarded and the program counter (PC) is not updated. Since this PC is pushed onto the stack at “8.” below, the execution of the program is resumed from this PC at the end of the interrupt process. While the LDIR and CPIR instructions are being executed, there are M1 cycles each time the process is repeated. In this case as well, the presence / absence of an interrupt request is similarly determined.
5. M1 and IPEQ0 are simultaneously set to L level, indicating that the CPU core has accepted the interrupt.
6). Clear the bit corresponding to the interrupt factor of IRR to 0.
7). The start address of the interrupt process corresponding to the interrupt factor is read from the interrupt process vector table.
8). Push PSW, PC upper byte (PCH), PC lower byte (PCL) in this order.
9. Clear IMF to 0 and disable interrupts.
10. The address read from the interrupt processing vector table is set in the PC counter.
11. Start interrupt processing.
The above processing is for the case where the interrupt request is an INT interrupt and
割込受付処理でPSWとPCは自動的にスタックに退避されるが、CPUコアの汎用レジスタ(W,A,B,C,D,E,H,L,IX,IY)は自動的に退避されない。必要に応じてプログラムにより退避させる。 PSW and PC are automatically saved to the stack during interrupt acceptance processing, but general-purpose registers (W, A, B, C, D, E, H, L, IX, IY) of the CPU core are automatically saved. Not. Evacuate by program if necessary.
なお。汎用レジスタの退避は、PUSH命令により方法や、汎用レジスタのバンクを切り替える方法がある。例えば、割込処理が多重に起動しないシステムの場合は、通常処理は汎用レジスタのバンク0を使用し、割込処理の先頭でLD、RBS,1(RBS=1)命令を実行し、バンク1に切り替えることでバンク0のレジスタを退避することができる。
Note that. General-purpose registers can be saved by a PUSH instruction or by switching the general-purpose register banks. For example, in a system in which interrupt processing does not start multiple times, the normal processing uses the
レジスタバンクセレクタ(RBS)は、PSWに含まれるので割込処理のリターン命令(RETIまたはRETN)を実行するとPSWがスタックから復帰し、自動的にバンク0に切り替わる。
Since the register bank selector (RBS) is included in the PSW, when the interrupt processing return instruction (RETI or RETN) is executed, the PSW returns from the stack and automatically switches to the
割込処理の終了は、リターン命令(RETIまたはRETN)の実行以外の特別な措置は不要である。リターン命令を実行すると、PSWとPCがスタックから復帰されて割込処理開始前の処理に戻る。割込要因のクリアは、割込要求受付時に割込コントローラが自動的に行う。IMFやRBSはPSWに含まれるので、リターン命令により自動的にスタックから復帰される。したがって、割込処理終了前にEI命令やRBS切替を実行する必要はない。 The end of the interrupt process does not require any special measures other than the execution of the return instruction (RETI or RETN). When the return instruction is executed, PSW and PC are returned from the stack, and the process returns to the process before starting the interrupt process. The interrupt controller clears the interrupt factor automatically when an interrupt request is received. Since IMF and RBS are included in PSW, they are automatically returned from the stack by a return instruction. Therefore, there is no need to execute an EI command or RBS switching before the end of the interrupt process.
なお、EI命令を実行するとすぐに割込を受け付けることができるので、EI命令とリターン命令で連続して記述するとリターン命令をフェッチするときに新たな割込を受け付けることがある。 Since an interrupt can be accepted as soon as the EI instruction is executed, if an EI instruction and a return instruction are described consecutively, a new interrupt may be accepted when the return instruction is fetched.
図30はCTC0で割込処理を実行する場合の割込処理手順の例を示す。図30の例では詳述すると以下のようになる。
1.メイン(Main)ルーチンでは汎用レジスタのバンク0(RBS=0)を使用する。
2.CTC0割込ルーチンでは汎用レジスタのバンク1(RBS=1)を使用する。
3.割込処理の終了はRETIの実行のみとなる。
FIG. 30 shows an example of an interrupt processing procedure when the interrupt processing is executed by CTC0. The example in FIG. 30 will be described in detail as follows.
1. In the main routine, bank 0 (RBS = 0) of general-purpose registers is used.
2. The CTC0 interrupt routine uses bank 1 (RBS = 1) of general purpose registers.
3. The end of the interrupt process is only the execution of RETI.
[割込要求レジスタ]
次に、図24で示した内部機能レジスタにおける割込要求レジスタについて図31を用いて説明する。割込要求レジスタは、割込要求信号をラッチするレジスタである。
[Interrupt request register]
Next, the interrupt request register in the internal function register shown in FIG. 24 will be described with reference to FIG. The interrupt request register is a register that latches an interrupt request signal.
図31に示すように、割込要求レジスタでは、メモリ空間アドレス1023h(I/O空間アドレス23h)のビット7にはシンボルIRR3が対応付けされている。IRR3では、CTC2割込要求の設定が行われる。そして、読み出す場合は、0のときに割込要求なし設定され、1のときに割込要求ありに設定される。また、書き込む場合は、0のときにクリアに設定され、1のときに何もしないに設定される。なお、R/WはR/Wになり、初期値は0になっている。
As shown in FIG. 31, in the interrupt request register, symbol IRR3 is associated with
メモリ空間アドレス1023h(I/O空間アドレス23h)のビット6にはシンボルIPR2が対応付けされている。IRR2では、CTC1割込要求の設定が行われる。その他、IRR2はIRR3と同様である。
メモリ空間アドレス1023h(I/O空間アドレス23h)のビット5にはシンボルIPR1が対応付けされている。IRR1では、CTC0割込要求の設定が行われる。その他、IRR1はIRR3と同様である。
メモリ空間アドレス1023h(I/O空間アドレス23h)のビット4にはシンボルIPR0が対応付けされている。IRR0では、INT/NMI割込要求の設定が行われる。その他、IRR0はIRR3と同様である。
メモリ空間アドレス1023h(I/O空間アドレス23h)のビット3〜30未使用であり、常に0である。なお、R/WはRになり、初期値は0になっている。
なお、CPUコアが割込要求を受け付けると割込コントローラが自動的に0にクリアする。0を設定するとクリアすることはできるが1を設定しても割込要求をセットすることはできない。 When the CPU core accepts an interrupt request, the interrupt controller automatically clears to zero. If 0 is set, it can be cleared, but even if 1 is set, an interrupt request cannot be set.
IRRは割込許可レジスタ(IER)の前段に位置しているので、IERで割込禁止に設定されている割込要因であってもラッチする。割込が禁止されている間に発生した割込要求を無視する場合は割込を許可する前にIRRに0を設定して割込要求をクリアする。 Since the IRR is located in the preceding stage of the interrupt permission register (IER), even if the interrupt factor is set to disable interrupt by the IER, it is latched. When ignoring an interrupt request that occurs while interrupts are prohibited, set the IRR to 0 before clearing the interrupts to clear the interrupt request.
[割込許可レジスタ]
次に、図24で示した内部機能レジスタにおける割込許可レジスタについて図32を用いて説明する。割込許可レジスタは、割込要求信号を許可するレジスタである。
[Interrupt enable register]
Next, the interrupt permission register in the internal function register shown in FIG. 24 will be described with reference to FIG. The interrupt permission register is a register that permits an interrupt request signal.
図32に示すように、割込許可レジスタでは、メモリ空間アドレス1024h(I/O空間アドレス24h)のビット7にはシンボルIER3が対応付けされている。IER3では、CTC2割込許可の設定が行われる。そして、0のときに割込禁止に設定され、1のときに割込許可に設定される。なお、R/WはR/Wになり、初期値は0になっている。
As shown in FIG. 32, in the interrupt permission register, the symbol IER3 is associated with
メモリ空間アドレス1024h(I/O空間アドレス24h)のビット6にはシンボルIER2が対応付けされている。IER2では、CTC1割込許可の設定が行われる。その他、IER2はIER3と同様である。
メモリ空間アドレス1024h(I/O空間アドレス24h)のビット5にはシンボルIER1が対応付けされている。IER1では、CTC0割込許可の設定が行われる。その他、IER1はIER3と同様である。
メモリ空間アドレス1024h(I/O空間アドレス24h)のビット4にはシンボルIER0が対応付けされている。IER0では、INT割込許可の設定が行われる。その他、IER0はIRR3と同様である。
メモリ空間アドレス1024h(I/O空間アドレス24h)のビット0〜3は未使用であり、常に0である。なお、R/WはRになり、初期値は0になっている。
なお、割込要求レジスタ(IER)に割込要求信号がラッチされた状態で割込を許可すると、すぐにCPUコアに対して割込要求信号を出力する。 Note that if an interrupt is permitted with the interrupt request signal latched in the interrupt request register (IER), the interrupt request signal is immediately output to the CPU core.
[割込優先順位レジスタ]
次に、図24で示した内部機能レジスタにおける割込許可レジスタについて図33を用いて説明する。割込優先順位レジスタは、割込要因(INT、CTC0、CTC1、CTC2)の優先順位を設定するレジスタである。
[Interrupt priority register]
Next, the interrupt permission register in the internal function register shown in FIG. 24 will be described with reference to FIG. The interrupt priority order register is a register for setting the priority order of interrupt factors (INT, CTC0, CTC1, CTC2).
図33に示すように、割込優先順位レジスタでは、メモリ空間アドレス1025h(I/O空間アドレス25h)のビット7〜6にはシンボルIPR3が対応付けされている。IPR3では、CTC2優先順位の設定が行われる。そして、00のときに優先順位が最も低いレベル0に設定される。また、01のときに00よりも優先順位が高く、かつ10よりも優先順位が低いレベル1に設定される。また、10のときに01よりも優先順位が高く、かつ11よりも優先順位が低いレベル2に設定される。また、11のときに最も優先順位が高いレベル3に設定される。なお、R/WはR/Wになり、初期値は0になっている。
As shown in FIG. 33, in the interrupt priority register, the symbol IPR3 is associated with
メモリ空間アドレス1025h(I/O空間アドレス25h)のビット5〜4にはシンボルIPR2が対応付けされている。IPR2では、CTC1優先順位の設定が行われる。その他、IPR2はIPR3と同様である。
The symbols IPR2 are associated with
メモリ空間アドレス1025h(I/O空間アドレス25h)のビット3〜2にはシンボルIPR1が対応付けされている。IPR1では、CTC0優先順位の設定が行われる。その他、IPR1はIPR3と同様である。
Symbols IPR1 are associated with
メモリ空間アドレス1025h(I/O空間アドレス25h)のビット1〜0にはシンボルIPR0が対応付けされている。IPR0では、INT優先順位の設定が行われる。その他、IPR0はIPR3と同様である。
Symbol IPR0 is associated with
なお、複数の割込要因が同時に発生した場合は、優先順位の高い割込要因がCPUコアに対して割込要求信号を出力する。優先順位は4レベルあり、レベル3が最上位、レベル0が最下位である。また、同レベルであれば優先順の高い方からINT,CTC0,CTC1,CTC2の順となっている。
When a plurality of interrupt factors are generated at the same time, an interrupt factor having a higher priority outputs an interrupt request signal to the CPU core. There are four priorities,
[乱数の動作]
乱数回路として、8ビット固定長乱数回路、16ビット固定長乱数回路、8ビット可変長乱数回路、16ビット可変長乱数回路を備えている。システムリセット後の1週目のスタート値はシステムリセットの都度、更新される。乱数列のパターンは自動更新される。16ビット固定長乱数はビット並びを転置することができる。16ビット固定長乱数は動作クロックをMCLKの1/2又はEXCLKの1/2から選択できる。3本の乱数外部ラッチ端子により、乱数値をラッチすることができる。乱数回路の異常を判定する機能を搭載している。
[Random number operation]
As the random number circuit, an 8-bit fixed-length random number circuit, a 16-bit fixed-length random number circuit, an 8-bit variable-length random number circuit, and a 16-bit variable-length random number circuit are provided. The start value for the first week after the system reset is updated each time the system is reset. The pattern of the random number sequence is automatically updated. A 16-bit fixed-length random number can transpose the bit sequence. For the 16-bit fixed-length random number, the operation clock can be selected from 1/2 of MCLK or 1/2 of EXCLK. A random number value can be latched by three random number external latch terminals. Equipped with a function to judge abnormality of random number circuit.
8ビット固定長乱数回路と16ビット固定長乱数回路は、システムリセットまたはWDTリセット後に自動的に起動する。また、8ビット可変長乱数回路と16ビット可変長乱数回路は、システムリセットまたはWDTリセット後は停止しており、最大値を設定すると起動する。また、乱数回路はシステムリセットまたはWDTリセットで初期化される。定期リセット、イリーガルアクセスリセットの発生では乱数機能には影響を与えず動作が継続する。 The 8-bit fixed-length random number circuit and the 16-bit fixed-length random number circuit are automatically activated after a system reset or a WDT reset. The 8-bit variable length random number circuit and the 16-bit variable length random number circuit are stopped after a system reset or WDT reset, and are activated when a maximum value is set. The random number circuit is initialized by a system reset or a WDT reset. When a periodic reset or illegal access reset occurs, the operation continues without affecting the random number function.
乱数回路は、初期値をスタート値としてとびとびの値をとりながら乱数値を更新し、すべての値を重複することなく1回ずつ出現させる。すべての値が出現した後は別な値をスタート値とし、かつ数列の出現パターンを別なパターンに変更し、再び全ての値をとびとびの値をとりながら更新していく。 The random number circuit updates the random value while taking discrete values using the initial value as a start value, and causes all the values to appear once without overlapping. After all values appear, another value is used as a start value, the appearance pattern of the sequence is changed to another pattern, and all values are updated again while taking discrete values.
乱数値は、乱数クロック(MCLKの1/2又はEXCLKの1/2)の立ち上がりで更新される。乱数外部ラッチ0〜2端子(EXLATCH0〜2)へ入力される信号により、乱数値をラッチすることができる。 The random value is updated at the rising edge of the random number clock (1/2 of MCLK or 1/2 of EXCLK). The random number value can be latched by a signal input to the random number external latch 0-2 terminals (EXLATCH0-2).
外部ラッチ信号モードレジスタ(RDEXLM)によりラッチデータレジスタの保持又は更新を設定することができる。RDEXLMに0(保持)を設定すると、乱数ラッチデータレジスタがクリアされた状態でEXLATCH0〜2へ信号が入力された場合のみ、乱数ラッチデータレジスタに乱数値がラッチされる。乱数ラッチデータレジスタにラッチデータがある状態であるときは、EXLATCH0〜2へ信号が入力されて乱数ラッチデータレジスタが更新されずそれまでのラッチデータが保持される。RDEXLMに1(更新)を設定すると、EXLATCH0〜2へ信号が入力される都度、ラッチデータは更新される。
Holding or updating the latch data register can be set by the external latch signal mode register (RDEXLM). When RDEXLM is set to 0 (hold), a random value is latched in the random number latch data register only when a signal is input to
[レジスタ構成について]
次にレジスタ構成について説明する。
[Register configuration]
Next, the register configuration will be described.
[汎用レジスタについて]
図34に示すように、レジスタバンクとして、バンク0とバンク1からなる2つのレジスタバンクを備えている。各レジスタバンクには、8つの8ビット汎用レジスタW,A,B,C,D,E,H,L及び2つの16ビット汎用レジスタIX,IYを備えている。W,A,B,C,D,E,H,Lは8ビットの転送や演算などに用いられる。また、これらのレジスタを結合してWA,BC,DE,HLとして用いることもできる。WA,BC,DE,HL,IX,IYは、16ビットの転送や演算になどに用いることができる。汎用レジスタは、システムリセット、WDTリセット、定期リセット、イリーガルアクセスリセット時00h又は0000hに初期化される。
[About general-purpose registers]
As shown in FIG. 34, two register banks including a
[プログラムステータスワード(PSW)]
次に図34で示すPSWについて図35を用いて説明する。PSWは、命令の演算結果や実行結果の状態を保持するレジスタであり、8種類のフラグで構成されている。PSWは、前述したCPUコアとの初期化にともない、システムリセット、WDTリセット、定期リセット、イリーガルアクセスリセット時に00hにクリアされる。
[Program status word (PSW)]
Next, the PSW shown in FIG. 34 will be described with reference to FIG. The PSW is a register that holds the state of the operation result and execution result of the instruction, and includes eight types of flags. The PSW is cleared to 00h at the time of system reset, WDT reset, periodic reset, and illegal access reset in accordance with the initialization with the CPU core described above.
図35に示すように、PSWでは、ビット7にシンボルJF(ジャンプステータスフラグ)が対応付けされている。JFは、1バイト長のJRS命令などで使用するフラグである。図中の例で示すように、命令により、ゼロフラグがセットされる場合とキャリーフラグがセットされる場合とがある。また、図中の例で示すように、INC、DEC命令の場合にはキャリーフラグは変化しないが、キャリーフラグがセットされる条件でジャンプステータスフラグがセットされる。
As shown in FIG. 35, in PSW, a symbol JF (jump status flag) is associated with
また、ビット6にZF(ゼロフラグ)が対応付けされている。ZFは、演算結果又は転送データが00h(8ビットの場合)又は0000h(16ビットの場合)で1にセットされ、その他の場合は0にクリアされる。交換命令(XCH dst,src)では、dstに格納される値が0のときにセットされる。
Also, ZF (zero flag) is associated with
また、ビット5にCF(キャリーフラグ)が対応付けされている。CFは、演算時のキャリー又はボローがセットされる。除算命令の場合は、0除算又は除算結果が0100h以上の場合に1がセットされる。INC,DEC命令の場合は、キャリーまたはボローが生じる場合でもキャリーフラグは変化せず値を保持する。
Also, CF (carry flag) is associated with
また、ビット4にHF(ハーフキャリーフラグ)が対応付けされている。HFは、8ビット演算時に4ビット目へのキャリー又はボローがセットされる。
In addition, HF (half carry flag) is associated with
また、ビット3にSF(サインフラグ)が対応付けされている。SFは、演算結果のMBSが1のときに1にセットされ、それ以外の場合0にクリアされる。
Also, SF (sign flag) is associated with
また、ビット2にVF(オーバーフローフラグ)が対応付けされている。VFは、演算結果にオーバーフローが生じたときに1にセットされ、それ以外のときに0にクリアされる。
Also, VF (overflow flag) is associated with
また、ビット1にRBS(レジスタバンクセレクタ)が対応付けされている。RBSは、汎用レジスタで選択されているバンクを示している。
Also, RBS (register bank selector) is associated with
また、ビット0にIMF(割込マスタ許可フラグ)が対応付けされている。IMFは、DI命令でIMF=0となり、マスカブル割込の受付が禁止される。EI命令でIMF=1となり、マスカブル割込の受付が許可される。
Also, IMF (interrupt master permission flag) is associated with
[マイクロコンピュータの起動処理の動作の概要]
上記のように構成されたマイクロコンピュータでは、電力が供給され、リセット回路49、リセット回路95からリセット信号が入力されると、システムリセットを行う。
[Outline of microcomputer startup processing]
In the microcomputer configured as described above, when power is supplied and reset signals are input from the
このシステムリセットにより、マイクロコンピュータの各機能がリセット要因による動作の変化(図23参照)として説明した動作を行う。例えば、CPUコアの初期化が行われ、それに伴いPSWが00hにクリアされる。従って、IMFが0となり、割込禁止状態が設定される。また、起動処理の実行によって初期化要因にシステムリセットが定められている内部機能レジスタ(CTCコントロールレジスタや乱数回路に関わるレジスタなど)に初期値が設定される(図24参照)。 By this system reset, each function of the microcomputer performs the operation described as a change in operation due to a reset factor (see FIG. 23). For example, the CPU core is initialized and the PSW is cleared to 00h accordingly. Therefore, IMF becomes 0, and the interrupt prohibited state is set. In addition, an initial value is set in an internal function register (such as a CTC control register or a register related to a random number circuit) in which system reset is determined as an initialization factor by executing the startup process (see FIG. 24).
さらに、HWパラメータを参照して各種機能の設定を行う(図16参照)。ここで、HWパラメータにおいて、マイクロコンピュータが起動しない条件(図22参照)が満たされるか否かを判定し、満たされている場合にはマイクロコンピュータは起動しない。 Further, various functions are set with reference to the HW parameters (see FIG. 16). Here, in the HW parameter, it is determined whether or not a condition that the microcomputer does not start (see FIG. 22) is satisfied. If the condition is satisfied, the microcomputer does not start.
その後、設定されたシステムリセット時間が経過した後に、ユーザプログラム(図14における「プログラム/データ」に格納されているプログラム)に従って図5及び図6に示す初期設定処理を実行する。 Thereafter, after the set system reset time has elapsed, the initial setting process shown in FIGS. 5 and 6 is executed according to the user program (the program stored in “program / data” in FIG. 14).
[上記実施形態の効果]
上記実施形態では、RAMの内容が異常か否かによってRAMの異なる領域を初期化する(本例では、図7のSb2でNの場合にSb3の処理を実行してSb4の処理を実行し、Sb2でYの場合にSb3の処理を実行せずにSb4の処理を実行する部分)。
よって、RAMの初期化を好適に実行することができる。
[Effect of the above embodiment]
In the above embodiment, different areas of the RAM are initialized depending on whether or not the contents of the RAM are abnormal (in this example, the processing of Sb3 is executed by executing the processing of Sb3 in the case of N in Sb2 of FIG. The part that executes the process of Sb4 without executing the process of Sb3 when Sb2 is Y).
Therefore, it is possible to suitably execute initialization of the RAM.
上記実施形態では、RAMの内容が正常でないと判定したときに設定キーがオンでないときでもRAMを初期化する(本例では、図6のSa23及びSa24の処理を実行する部分)。
よって、RAMの記憶内容が正常でない状態で制御が行われることを防止できる。
In the above embodiment, the RAM is initialized even when the setting key is not turned on when it is determined that the contents of the RAM are not normal (in this example, the processing of Sa23 and Sa24 in FIG. 6 is executed).
Therefore, it is possible to prevent the control from being performed in a state where the storage contents of the RAM are not normal.
上記実施形態では、RAMの内容が正常でないと判定したときに設定値を含む領域を初期化し、RAMの内容が正常であると判定したときに設定値を含む領域を初期化する(本例では、図7のSb2でNの場合にSb3の処理を実行してSb4の処理を実行し、Sb2でYの場合にSb3の処理を実行せずにSb4の処理を実行する部分)。
よって、設定値を好適に保護できる。
In the above embodiment, the area including the setting value is initialized when it is determined that the contents of the RAM are not normal, and the area including the setting value is initialized when it is determined that the contents of the RAM are normal (in this example, 7, when Sb2 is N, the process of Sb3 is executed and the process of Sb4 is executed, and when Sb2 is Y, the process of Sb4 is executed without executing the process of Sb3).
Therefore, the set value can be suitably protected.
上記実施形態では、RAMの内容が異常であるときにRAM異常フラグをセットし、初期設定処理でRAM異常フラグにもとづいてRAMの内容が異常であるか否かを判定する(本例では、図6のSa25及び図5のSa16の処理を実行する部分)。
よって、記憶手段の記憶内容が正常でない状態で制御が再開することを防止できる。
In the above embodiment, a RAM abnormality flag is set when the RAM contents are abnormal, and it is determined whether or not the RAM contents are abnormal based on the RAM abnormality flag in the initial setting process (in this example, FIG. 6 is a part for executing the processing of Sa25 of FIG. 6 and Sa16 of FIG.
Therefore, it is possible to prevent the control from restarting when the storage content of the storage means is not normal.
上記実施形態では、RAMの初期化を行うときには割込禁止に設定する(本例では、図5のSa1及び図9のSc1の処理を実行する部分)。
よって、初期化を行っているときに他の処理が行われることを防止できる。
In the above-described embodiment, when RAM initialization is performed, interrupt prohibition is set (in this example, a portion for executing the processing of Sa1 in FIG. 5 and Sc1 in FIG. 9).
Therefore, it is possible to prevent other processing from being performed during initialization.
上記実施形態では、出力ポートを初期化する前に割込禁止に設定する(本例では、図12のSm3の前に割込禁止を実行する部分)。
よって、意図しないデータが出力されることを防止することができる。
In the above-described embodiment, interrupt prohibition is set before the output port is initialized (in this example, interrupt prohibition is executed before Sm3 in FIG. 12).
Therefore, it is possible to prevent unintended data from being output.
上記実施形態では、設定変更処理が終了した後に遊技毎のRAMの初期化を実行する前の処理からメイン処理の実行を開始する(本例では、設定変更処理が終了した後に図9のSc1の処理から実行を開始する部分)。
よって、設定変更処理での初期化に加え、遊技毎の初期化を実行できる。
In the above embodiment, execution of the main process is started from the process before the RAM initialization for each game is executed after the setting change process is completed (in this example, after the setting change process is completed, the process of Sc1 in FIG. The part where execution starts from processing).
Therefore, in addition to the initialization in the setting change process, the initialization for each game can be executed.
上記実施形態では、初期設定処理でタイマ割込の設定を行った後に割込許可し、ベクタテーブルに設定した値が0000h、8000h〜HPRGEND以外の値の場合にはマイクロコンピュータの起動を制限する(本例では、図5及び図6、図22に示す部分)。
よって、意図しない割込処理が実行されることを事前に防止することができる。
In the above embodiment, the interrupt is permitted after the timer interrupt is set in the initial setting process, and when the value set in the vector table is a value other than 0000h and 8000h to HPRGEND, the start of the microcomputer is restricted ( In this example, the portions shown in FIGS. 5, 6, and 22).
Therefore, it is possible to prevent an unintended interrupt process from being executed in advance.
上記実施形態では、設定変更処理が終了した後に遊技毎のRAMの初期化を実行する前の処理からメイン処理の実行を開始する(本例では、設定変更処理が終了した後に図9のSc1の処理から実行を開始する部分)。
よって、一遊技の遊技毎の初期化を好適な状態で実行できる。
In the above embodiment, execution of the main process is started from the process before the RAM initialization for each game is executed after the setting change process is completed (in this example, after the setting change process is completed, the process of Sc1 in FIG. The part where execution starts from processing).
Therefore, initialization for each game of one game can be executed in a suitable state.
上記実施形態では、設定変更処理の初期化では使用中スタック領域を除く全ての領域(未使用領域および未使用スタック領域を含む)を初期化し、遊技毎の初期化では未使用領域および未使用スタック領域を初期化する(本例では、図7のSb4の処理及び図9のSc3の処理を実行する部分)。
よって、確実に初期化を行うことができる。
In the above embodiment, all the areas (including the unused area and the unused stack area) are initialized in the initialization of the setting change process, and the unused area and the unused stack are initialized in each game. The area is initialized (in this example, the part that executes the process of Sb4 in FIG. 7 and the process of Sc3 in FIG. 9).
Therefore, initialization can be surely performed.
上記実施形態では、設定変更処理中に割込処理を実行するとともに、設定変更処理が終了した後に遊技毎のRAMの初期化を実行する前からメイン処理を開始する(本例では、図7のSb6の処理を実行する部分)。
よって、設定変更処理中に実行された割込処理により書き換えられたデータを遊技毎の初期化により初期化することができる。
In the above embodiment, the interrupt process is executed during the setting change process, and the main process is started before the RAM initialization for each game is executed after the setting change process is completed (in this example, FIG. The part that executes the process of Sb6).
Therefore, the data rewritten by the interrupt process executed during the setting change process can be initialized by the initialization for each game.
上記実施形態では、マイクロコンピュータの起動において割込を禁止するとともに、初期設定処理において割込を禁止する(本例では、マイクロコンピュータの起動時にPSWが00hにクリアされてIMFが0となり、割込禁止状態に設定するとともに、初期設定処理において図35のDI命令を実行することにより図5のSa1の処理を実行する部分)。
よって、意図しない割込が発生することを防止できる。
In the above embodiment, interrupts are prohibited during the startup of the microcomputer, and interrupts are prohibited during the initial setting process (in this example, the PSW is cleared to 00h when the microcomputer is started, and the IMF is set to 0. A part for executing the processing of Sa1 in FIG. 5 by executing the DI command in FIG. 35 in the initial setting process while setting the prohibited state.
Therefore, it is possible to prevent an unintended interrupt from occurring.
上記実施形態では、初期設定処理でタイマ割込の設定を行った後に割込許可する(本例では、図6のSa20及びSa22の処理を実行する部分)。
よって、意図しない割込が発生することを防止できる。
In the above embodiment, the interrupt is permitted after the timer interrupt is set in the initial setting process (in this example, the process of executing the processes of Sa20 and Sa22 in FIG. 6).
Therefore, it is possible to prevent an unintended interrupt from occurring.
上記実施形態では、CTCがカウント動作中であってもTMCNT0〜2を設定すると、CTC0〜2とTMCNT0〜2の設定内容で更新され、カウント中のタイマ値はCTC0〜2の設定値から再度ダウンカウントする(本例では、図27及び図28に示す部分)。
よって、意図しない割込処理が実行されることを事前に防止することができる。
In the above embodiment, even if CTC is counting, if TMCNT0-2 is set, it is updated with the setting contents of CTC0-2 and TMCNT0-2, and the timer value being counted is decreased again from the setting value of CTC0-2. Count (in this example, the portion shown in FIGS. 27 and 28).
Therefore, it is possible to prevent an unintended interrupt process from being executed in advance.
上記実施形態では、システムリセットが行われて割込コントローラが初期化されると、割込要求レジスタ、割込許可レジスタ、割込優先順位レジスタに初期値が設定される(本例では、図23及び図29に示す部分)。
よって、意図しない設定で割込処理が実行されることを事前に防止することができる。
In the above embodiment, when the system reset is performed and the interrupt controller is initialized, initial values are set in the interrupt request register, the interrupt permission register, and the interrupt priority register (in this example, FIG. 23). And the portion shown in FIG. 29).
Therefore, it is possible to prevent the interruption process from being executed with unintended settings in advance.
上記実施形態では、プログラムエンドアドレスの機能を使用しているときにおいて、シンボルがHPRGENDであるときで、設定内容がプログラムエンドアドレスのときは、HPRGEND1〜A6FFhの領域へのアクセスがあったときにイリーガルアクセスリセットが発生する。(本例では、図21に示す部分)。
よって、不正なプログラムの実行を防止することができる。
In the above embodiment, when the function of the program end address is used, when the symbol is HPRGEND and the setting content is the program end address, an illegal is issued when an area of HPRGEND1 to A6FFh is accessed. An access reset occurs. (In this example, the part shown in FIG. 21).
Therefore, execution of an illegal program can be prevented.
[その他、変形例]
上記実施形態では、メイン制御部41による初期設定処理、タイマ割込処理(メイン)、電断処理(メイン)に本発明を適用する例を挙げたが、サブ制御部91による初期設定処理(サブ)、タイマ割込処理(サブ)、電断処理(サブ)に本発明を適用してもよい。
[Other variations]
In the above embodiment, the example in which the present invention is applied to the initial setting process, the timer interrupt process (main), and the power interruption process (main) by the
[初期化条件について]
上記実施形態では、設定キースイッチ37が操作されたときに初期化を行うようにしたが、他の人為的操作に基づく初期化条件が成立したときに初期化を実行してもよい。例えば、初期化専用のスイッチを設け、このスイッチが操作されたときに初期化を実行することが挙げられる。また、パチンコ遊技機に本発明を適用するときには、クリアスイッチが操作されたときに初期化を実行することが挙げられる。
[About initialization conditions]
In the above embodiment, initialization is performed when the setting
[一単位の遊技について]
上記実施形態では、スロットマシンにおける1ゲームを一単位の遊技としたが、他の遊技機における1ゲームを一単位の遊技としてもよい。例えば、パチンコ遊技機のように、1回の図柄の変動表示を一単位の遊技とすることが挙げられる。また、いわゆるアレパチ遊技機や雀球遊技機のように、所定個数の遊技球を発射したことを一単位の遊技とすることが挙げられる。
[About one unit of game]
In the above embodiment, one game in the slot machine is a unit of game, but one game in other gaming machines may be a unit of game. For example, as in a pachinko gaming machine, it is possible to change the display of one symbol as one unit of game. In addition, as in a so-called alepac game machine or sparrow ball game machine, it can be mentioned that a predetermined number of game balls are fired as one unit of game.
[遊技機について] [About gaming machines]
以上のように、上記の実施の形態では、スロットマシンを例に挙げて説明したが、例えば遊技球を用いるパチンコ遊技機に上記の実施形態で示した構成を適用して、請求項に係る発明を実現することが可能である。 As described above, in the above embodiment, the slot machine has been described as an example. For example, the configuration described in the above embodiment is applied to a pachinko gaming machine using a game ball, and the claimed invention is applied. Can be realized.
また、上記の実施の形態では、メダル並びにクレジットを用いて賭数を設定するスロットマシンを例に挙げて説明したが、これに限定されることなく、例えば、パチンコ遊技機で用いられている遊技球を用いて賭数を設定するスロットマシンや、クレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに上記の実施の形態で示した構成を適用して、請求項に係る発明を実現することが可能である。遊技球を遊技媒体として用いる場合は、例えば、メダル1枚分を遊技球5個分に対応させた場合に、上記の実施の形態で賭数として3を設定する場合は、15個の遊技球を用いて賭数を設定するものに相当する。 In the above embodiment, the slot machine for setting bets using medals and credits has been described as an example. However, the present invention is not limited to this, and for example, a game used in a pachinko gaming machine. Claim invention by applying the configuration shown in the above embodiment to a slot machine that uses a ball to set the number of bets or a fully credit type slot machine that uses only credits to set the number of bets Can be realized. When game balls are used as game media, for example, when one medal corresponds to five game balls, when 3 is set as the bet number in the above embodiment, 15 game balls are used. This is equivalent to setting the number of bets using.
また、本発明の遊技機は、メダル及び遊技球などの複数種類の遊技用価値のうちのいずれか1種類のみを用いるものに限定されるものでなく、例えばメダル及び遊技球などの複数種類の遊技用価値を併用できるものであってもよい。すなわち、メダル及び遊技球などの複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球などの複数種類の遊技用価値のいずれをも払い出し得る遊技機も本発明の遊技機に含まれるものである。 In addition, the gaming machine of the present invention is not limited to one using only one of a plurality of types of gaming values such as medals and gaming balls, and a plurality of types of gaming machines such as medals and gaming balls are used. The game value may be used together. That is, it is possible to play a game by setting the number of bets 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 when a winning occurs. A gaming machine that can pay out any of the utility value is also included in the gaming machine of the present invention.
1 スロットマシン
2L、2C、2R リール
6 MAXBETスイッチ
7 スタートスイッチ
8L、8C、8R ストップスイッチ
41 メイン制御部
41a CPU
41b ROM
41c RAM
91 サブ制御部
91a CPU
91b ROM
91c RAM
1
41b ROM
41c RAM
91 Sub-control unit 91a CPU
91b ROM
91c RAM
Claims (1)
制御を行う制御手段と、
電力供給が停止しても記憶内容を保持することが可能であり、前記制御手段が制御を行う際に発生するデータを記憶することが可能な記憶手段と、
所定時間間隔を計測するタイマと、を備え、
前記制御手段は、
電力供給が開始した後に前記記憶手段が記憶している記憶内容が正常であるか否かの判定を行う記憶内容判定手段と、
人為的操作にもとづく初期化条件が成立しているか否かの判定を行う初期化条件判定手段と、
前記記憶手段の記憶内容が正常であると前記記憶内容判定手段が判定し、かつ前記初期化条件が成立していないと前記初期化条件判定手段が判定したときに、前記記憶手段の記憶内容にもとづいて制御を復旧する復旧手段と、
前記初期化条件が成立していると前記初期化条件判定手段が判定したときに、前記記憶手段の記憶内容を初期化する第1の初期化処理を行う初期化手段と、
制御プログラムにもとづく処理を実行する処理手段と、
前記タイマが前記所定時間間隔を計測したときに割込を発生させる割込発生手段と、
割込にもとづいて割込処理を実行する割込処理実行手段と、を含み、
前記初期化手段は、前記記憶内容判定手段の判定結果にもとづき、前記記憶手段の記憶領域において異なる領域の記憶内容を初期化し、
前記処理手段は、前記制御プログラムにもとづく処理において割込に関する設定を行う割込設定手段を含み、
前記タイマは、前記割込設定手段により割込に関する設定が行われたことにもとづいて、初期値から前記所定時間間隔の計測を開始し、
前記制御手段は、
一単位の遊技毎に繰り返し実行する繰り返し処理において、前記記憶手段の記憶内容を初期化する第2の初期化処理を少なくとも実行し、
前記第2の初期化処理で前記記憶手段の記憶内容を初期化する領域として第1領域および第2領域を設定する特定領域設定処理を実行し、
前記初期化手段により前記第1の初期化処理が行われた後に、1回目の前記繰り返し処理を実行するときに、前記特定領域設定処理の設定に従って前記第2の初期化処理を実行し、
2回目以降の前記繰り返し処理において前記第2の初期化処理を実行する前に、前記第2の初期化処理で前記記憶手段の記憶内容を初期化する領域として前記第1領域を設定する所定領域設定処理を実行し、
2回目以降の前記繰り返し処理を実行するときに、前記所定領域設定処理の設定に従って前記第2の初期化処理を実行する、遊技機。 In gaming machines capable of playing games,
Control means for controlling;
Storage means capable of holding stored contents even when power supply is stopped and capable of storing data generated when the control means performs control;
And a timer for measuring a predetermined time interval,
The control means includes
Storage content determination means for determining whether or not the storage content stored in the storage means is normal after power supply is started;
Initialization condition determination means for determining whether or not an initialization condition based on an artificial operation is satisfied;
When the storage content determination unit determines that the storage content of the storage unit is normal, and the initialization condition determination unit determines that the initialization condition is not satisfied, the storage content of the storage unit is A recovery means to restore control based on;
An initialization means for performing a first initialization process for initializing the storage contents of the storage means when the initialization condition determination means determines that the initialization condition is satisfied;
Processing means for executing processing based on the control program;
Interrupt generating means for generating an interrupt when the timer measures the predetermined time interval;
Wherein the interrupt process execution means for executing an interrupt process based on the interrupt, and
The initialization means initializes the storage contents of different areas in the storage area of the storage means based on the determination result of the storage content determination means,
The processing means includes interrupt setting means for performing settings related to interrupts in the processing based on the control program,
The timer starts measuring the predetermined time interval from an initial value based on the setting related to the interrupt performed by the interrupt setting means ,
The control means includes
In a repetitive process that is repeatedly executed for each unit of game, at least a second initialization process for initializing the storage contents of the storage means is executed,
A specific area setting process for setting the first area and the second area as areas for initializing the storage contents of the storage means in the second initialization process;
After the first initialization process is performed by the initialization unit, when the first repetition process is performed, the second initialization process is performed according to the setting of the specific area setting process,
A predetermined area in which the first area is set as an area for initializing the storage contents of the storage means in the second initialization process before the second initialization process is executed in the second and subsequent iterations. Execute the setting process,
A gaming machine that executes the second initialization process in accordance with the setting of the predetermined area setting process when the second and subsequent repetition processes are executed .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015004211A JP6600464B2 (en) | 2015-01-13 | 2015-01-13 | Game machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015004211A JP6600464B2 (en) | 2015-01-13 | 2015-01-13 | Game machine |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016129554A JP2016129554A (en) | 2016-07-21 |
JP6600464B2 true JP6600464B2 (en) | 2019-10-30 |
Family
ID=56414725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015004211A Expired - Fee Related JP6600464B2 (en) | 2015-01-13 | 2015-01-13 | Game machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6600464B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004242717A (en) * | 2003-02-10 | 2004-09-02 | Sankyo Kk | Game machine |
JP2015000246A (en) * | 2013-06-17 | 2015-01-05 | 株式会社三共 | Slot machine |
JP6213442B2 (en) * | 2014-10-28 | 2017-10-18 | サミー株式会社 | Game machine |
-
2015
- 2015-01-13 JP JP2015004211A patent/JP6600464B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016129554A (en) | 2016-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6628962B2 (en) | Gaming machine | |
JP6557084B2 (en) | Game machine | |
JP4964260B2 (en) | Slot machine | |
JP6748402B2 (en) | Slot machine | |
JP6039196B2 (en) | Slot machine | |
JP6628961B2 (en) | Gaming machine | |
JP5937638B2 (en) | Game machine | |
JP6825811B2 (en) | Game machine | |
JP6243597B2 (en) | Slot machine | |
JP4790824B2 (en) | Slot machine | |
JP6611231B2 (en) | Game machine | |
JP6611233B2 (en) | Game machine | |
JP6611232B2 (en) | Game machine | |
JP6061453B2 (en) | Game machine | |
JP6600456B2 (en) | Game machine | |
JP4964261B2 (en) | Slot machine | |
JP6628963B2 (en) | Gaming machine | |
JP6600466B2 (en) | Game machine | |
JP6600465B2 (en) | Game machine | |
JP6061961B2 (en) | Game machine | |
JP6899021B2 (en) | Pachinko machine | |
JP2017127591A (en) | Game machine | |
JP6600464B2 (en) | Game machine | |
JP5553573B2 (en) | Slot machine | |
JP6882554B2 (en) | Pachinko machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181127 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190409 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190703 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20190705 |
|
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: 20191001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6600464 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |