JP6793626B2 - Game machine - Google Patents
Game machine Download PDFInfo
- Publication number
- JP6793626B2 JP6793626B2 JP2017225976A JP2017225976A JP6793626B2 JP 6793626 B2 JP6793626 B2 JP 6793626B2 JP 2017225976 A JP2017225976 A JP 2017225976A JP 2017225976 A JP2017225976 A JP 2017225976A JP 6793626 B2 JP6793626 B2 JP 6793626B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- game
- program
- address
- ram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Slot Machines And Peripheral Devices (AREA)
Description
本発明は、遊技を行うことが可能な遊技機に関する。 The present invention relates to a gaming machine capable of playing a game.
遊技機として、所定の賭数を設定し、スタート操作が行われたことに基づいて、複数種類の識別情報の可変表示が行われるスロットマシンや、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、該遊技領域に設けられている入賞口などの始動領域に遊技媒体が入賞したときに複数種類の識別情報の可変表示が行われるパチンコ遊技機などがある。 As a game machine, a slot machine in which a predetermined number of bets is set and a plurality of types of identification information are variably displayed based on a start operation, or a game medium such as a game ball is launched into a game area by a launching device. There is a pachinko gaming machine or the like in which a plurality of types of identification information are variably displayed when a game medium wins a prize in a starting area such as a winning opening provided in the game area.
この種の遊技機として、記憶領域のアドレスを特定して該特定したアドレスの記憶領域にアクセスすることによりデータを読み出す特定命令を実行するものが提案されている(たとえば、特許文献1参照)。 As a game machine of this type, a device that specifies an address of a storage area and executes a specific instruction to read data by accessing the storage area of the specified address has been proposed (see, for example, Patent Document 1).
特許文献1に記載の遊技機において、特定記憶領域を保護すべきときに誤作動により特定命令が発行されてしまった場合には、該特定記憶領域に意図しないアクセスが行われてしまう虞があった。 In the gaming machine described in Patent Document 1, if a specific command is issued due to a malfunction when the specific storage area should be protected, there is a risk that the specific storage area may be unintentionally accessed. It was.
本発明は、このような問題点に着目してなされたものであり、特定記憶領域に意図しないアクセスが行われてしまう可能性を低減できる遊技機を提供することを目的とする。 The present invention has been made by paying attention to such a problem, and an object of the present invention is to provide a gaming machine capable of reducing the possibility of unintended access to a specific storage area.
(a) 遊技を行うことが可能な遊技機であって、
所定記憶領域に記憶されたデータを用いて記憶領域のアドレスを特定し、特定されたアドレスの記憶領域からデータを読み出す特定命令をプログラムに基づいて実行可能である命令実行手段と、
前記遊技機への電源供給が検出されたときに特定記憶領域に記憶されているデータに基づいて制御状態を復帰させるための処理を、該電源供給の停止が検出されたときに実行する処理実行手段と、を備え、
前記遊技機への電源供給の停止が検出されるまで前記特定記憶領域のアドレスを特定するために用いられる所定値データが前記所定記憶領域に記憶され、
前記遊技機への電源供給の停止が検出されたときに前記特定記憶領域とは異なる領域のアドレスを特定するために用いられる特定値データが前記所定記憶領域に記憶され、
前記プログラムは、遊技の進行に関する処理を実行する第1プログラムと、遊技の進行に関わらない処理を実行する第2プログラムと、を含み、
前記第1プログラムは、第1プログラム記憶領域に記憶され、
前記第2プログラムは、第2プログラム記憶領域に記憶され、
前記第1プログラム記憶領域のアドレスは、第1情報と、第2情報と、を含み、
前記命令実行手段は、前記第1プログラム記憶領域から前記第1プログラムを読み出す特別命令を実行可能であり、
前記特別命令を実行することにより、前記第1情報と、当該特別命令により指定された前記第2情報と、から前記第1プログラム記憶領域のアドレスを特定し、特定したアドレスから前記第1プログラムを読み出すことが可能であり、
前記第1プログラムに基づいて前記特別命令を実行可能である一方、前記第2プログラムに基づいて前記特別命令が実行されない。
なお、遊技機は、以下の構成であってもよい。
(1) 遊技を行うことが可能な遊技機であって、
所定記憶領域(たとえば、Qレジスタ)に記憶されたデータを用いて記憶領域のアドレスを特定し、該特定されたアドレスの記憶領域からデータを読み出す特定命令(たとえば、LDQ命令)をプログラムに基づいて実行する命令実行手段(たとえば、メイン制御部41)と、
前記遊技機への電源供給が検出されたときに特定記憶領域(たとえば、遊技RAM領域)に記憶されているデータに基づいて制御状態を復帰させる(たとえば、図5のSa16〜Sa26の処理)ための処理(たとえば、遊技RAM領域にバックアップ電源を供給する処理、Sk1に示すレジスタを遊技RAM領域に退避させる処理、Sk2の遊技RAM領域にスタックポインタを退避させる処理など)を、該電源供給の停止が検出されたときに(図6の電断処理において)実行する処理実行手段(たとえば、メイン制御部41)とを備え、
前記所定記憶領域(たとえば、Qレジスタ)には、
前記遊技機への電源供給の停止が検出されるまでは前記特定記憶領域のアドレスを特定するために用いられる所定値データ(たとえば、遊技RAM領域の上位アドレス「F0」を特定可能な所定値)が記憶され(たとえば、図7に示すように、電断処理が実行されるタイミングT0まではQレジスタに所定値が格納され)、
前記遊技機への電源供給の停止が検出されたときには前記特定記憶領域とは異なる領域のアドレスを特定するために用いられる特定値データ(たとえば、遊技RAM領域とは
異なる領域である内部機能レジスタの上位アドレス「F5」を特定可能な特定値)が記憶される。
(A) A gaming machine capable of playing games
An instruction execution means capable of specifying the address of the storage area using the data stored in the predetermined storage area and executing a specific instruction for reading data from the storage area of the specified address based on a program.
Execution of processing to restore the control state based on the data stored in the specific storage area when the power supply to the game machine is detected, when the stop of the power supply is detected. With means,
Predetermined value data used for specifying the address of the specific storage area is stored in the predetermined storage area until the stop of power supply to the game machine is detected.
Specific value data used to identify an address in an area different from the specific storage area when the stop of power supply to the game machine is detected is stored in the predetermined storage area.
The program includes a first program that executes a process related to the progress of the game and a second program that executes a process not related to the progress of the game.
The first program is stored in the first program storage area.
The second program is stored in the second program storage area.
The address of the first program storage area includes the first information and the second information.
The instruction executing means can execute a special instruction for reading the first program from the first program storage area.
By executing the special instruction, the address of the first program storage area is specified from the first information and the second information specified by the special instruction, and the first program is obtained from the specified address. Can be read and
While the special instruction can be executed based on the first program, the special instruction is not executed based on the second program.
The gaming machine may have the following configuration.
(1) A gaming machine capable of playing games
The address of the storage area is specified using the data stored in the predetermined storage area (for example, Q register), and a specific instruction (for example, LDQ instruction) for reading data from the storage area of the specified address is given based on the program. Instruction execution means to be executed (for example, main control unit 41) and
To restore the control state based on the data stored in the specific storage area (for example, the game RAM area) when the power supply to the game machine is detected (for example, the processing of Sa16 to Sa26 in FIG. 5). (For example, the process of supplying backup power to the game RAM area, the process of saving the register shown in Sk1 to the game RAM area, the process of saving the stack pointer to the game RAM area of Sk2, etc.), the power supply is stopped. Is provided with a processing execution means (for example, the main control unit 41) to be executed when is detected (in the power failure processing of FIG. 6).
In the predetermined storage area (for example, Q register),
Predetermined value data used to specify the address of the specific storage area until the stop of power supply to the game machine is detected (for example, a predetermined value capable of specifying the upper address "F0" of the game RAM area). Is stored (for example, as shown in FIG. 7, a predetermined value is stored in the Q register until the timing T0 when the power failure processing is executed).
When the stop of power supply to the game machine is detected, the specific value data used to specify the address of the area different from the specific storage area (for example, the internal function register which is the area different from the game RAM area). A specific value that can identify the upper address "F5") is stored.
このような構成によれば、電源供給の停止が検出されたときというのは、電源供給の観点で不安定な状態であり、このような不安定な状態において誤って特定命令が実行された場合であっても、電源供給が停止したときの制御状態へ復帰させるためのデータが記憶されている重要な特定記憶領域に対して、意図しないアクセスが実行される可能性を低減できる。 According to such a configuration, when the stop of the power supply is detected, it is an unstable state from the viewpoint of the power supply, and when a specific instruction is mistakenly executed in such an unstable state. Even so, it is possible to reduce the possibility that an unintended access is executed to an important specific storage area in which data for returning to the control state when the power supply is stopped is stored.
また、記憶領域(特定記憶領域、および特定記憶領域とは異なる領域を含む)のアドレスは、第1情報(たとえば、該アドレスの上位アドレス)と第2情報(たとえば、該アドレスの下位アドレス)とを含み、たとえば、第1情報は、所定記憶領域(たとえば、Qレジスタ)に記憶させておくことが好ましい。そして、特定命令では、第1情報と第2情報とからアドレスを特定し、特定したアドレスの記憶領域からデータを読み出す。この読み出しの際には、該所定記憶領域に記憶されている第1情報と、該特定命令で指定された第2情報とからアドレスを特定する。このような構成によれば、特定命令において第1情報および第2情報の双方を指定してアドレスを特定する構成と比較して、特定命令のプログラム容量を削減することができる。 Further, the address of the storage area (including the specific storage area and the area different from the specific storage area) includes the first information (for example, the upper address of the address) and the second information (for example, the lower address of the address). For example, it is preferable to store the first information in a predetermined storage area (for example, a Q register). Then, in the specific instruction, the address is specified from the first information and the second information, and the data is read from the storage area of the specified address. At the time of this reading, the address is specified from the first information stored in the predetermined storage area and the second information specified by the specific instruction. According to such a configuration, the program capacity of the specific instruction can be reduced as compared with the configuration in which both the first information and the second information are specified in the specific instruction to specify the address.
(2) (1)の遊技機において、
前記特定値データは、前記遊技機への電源供給が開始されたときに初期化される領域のアドレスを特定するために用いられるデータである(たとえば、特定値は、起動処理の前に実行される起動時設定処理において初期化される内部機能レジスタの上位アドレスを特定可能な値である)。
(2) In the game machine of (1)
The specific value data is data used to specify the address of the area that is initialized when the power supply to the game machine is started (for example, the specific value is executed before the start-up process). It is a value that can specify the upper address of the internal function register that is initialized in the startup setting process).
このような構成によれば、不安定な状態において誤って特定命令が実行された場合であっても、電源供給が開始されたときに初期化される領域にアクセスされるが、このような領域にアクセスされても、特段の問題が生じることを低減できる。 According to such a configuration, even if a specific instruction is mistakenly executed in an unstable state, the area initialized when the power supply is started is accessed, but such an area is used. Even if it is accessed, it is possible to reduce the occurrence of special problems.
(3) (1)または(2)の遊技機において、
記憶領域に格納されているデータが正常であるか否かを確認するための確認用データ(たとえば、図6のSk4に示すRAM破壊診断用固定データおよびSk7に示すRAMパリティ調整用データ)を生成して前記特定記憶領域に記憶させる確認用データ生成処理(たとえば、図6のSk4およびSk7の処理)を、電源供給の停止が検出されたときに(たとえば、電断処理において)実行する確認用データ生成処理実行手段をさらに備え、
前記所定記憶領域(たとえば、Qレジスタ)には、前記確認用データ生成処理が実行された後に、前記特定値データが記憶される(たとえば、図6に示すように、Sk4およびSk7の処理が実行された後に、Sk8において、Qレジスタに特定値が設定される)。
(3) In the game machine of (1) or (2)
Generates confirmation data for confirming whether the data stored in the storage area is normal (for example, fixed data for RAM destruction diagnosis shown in Sk4 in FIG. 6 and RAM parity adjustment data shown in Sk7). The confirmation data generation process (for example, the processes of Sk4 and Sk7 in FIG. 6) to be stored in the specific storage area is executed when the power supply stop is detected (for example, in the power failure process). Further equipped with data generation processing execution means
After the confirmation data generation process is executed, the specific value data is stored in the predetermined storage area (for example, the Q register) (for example, as shown in FIG. 6, the Sk4 and Sk7 processes are executed. After that, a specific value is set in the Q register in Sk8).
このような構成によれば、確認用データが記憶された特定記憶領域に記憶された後に、誤って特定命令が実行された場合であっても、該確認用データが記憶された特定記憶領域にアクセスする可能性を低減できる。 According to such a configuration, even if a specific instruction is erroneously executed after the confirmation data is stored in the specific storage area, the confirmation data is stored in the specific storage area. The possibility of access can be reduced.
(4) (1)〜(3)いずれかの遊技機において、
前記遊技機への電源供給の停止が検出されたときにおいて(たとえば、図6の電断処理において)、前記特定値データが前記所定記憶領域に記憶された後に(たとえば、Sk8の処理の後に)、該電源供給の停止に応じた特別値データ(たとえば、Sk9およびSk10に示すRAMアクセス禁止フラグ、および割込禁止フラグなどの電断時設定値)を特別領域(たとえば、内部機能レジスタ)に記憶させる特別値記憶手段をさらに備え、
前記特定命令は、前記所定記憶領域に記憶されたデータを用いて記憶領域のアドレスを特定し、該特定されたアドレスの記憶領域にデータを前記プログラムに基づいて記憶する命令であり(たとえば、LDQ命令は、領域にデータを設定する処理を実行するためにも用いられ)、
前記特定値データは前記特別記憶領域のアドレスのうちの一部を特定するために用いられるデータ(たとえば、内部機能レジスタの上位アドレス「F5」を特定可能な値)であり、前記特別記憶領域のアドレスのうちの前記一部のアドレス以外のアドレスを特定可能なデータは前記特定命令により指定される(内部機能レジスタの下位アドレスについては、LDQ命令により指定される)。
(4) In any of the game machines (1) to (3)
When the stoppage of power supply to the game machine is detected (for example, in the power interruption process of FIG. 6), after the specific value data is stored in the predetermined storage area (for example, after the process of Sk8). , Special value data corresponding to the stop of the power supply (for example, RAM access prohibition flag shown in Sk9 and Sk10, and set value at the time of power failure such as interrupt prohibition flag) are stored in the special area (for example, internal function register). Further equipped with special value storage means to make
The specific instruction is an instruction that identifies the address of the storage area using the data stored in the predetermined storage area and stores the data in the storage area of the specified address based on the program (for example, LDQ). Instructions are also used to perform the process of setting data in an area),
The specific value data is data used for specifying a part of the addresses of the special storage area (for example, a value capable of specifying the upper address "F5" of the internal function register), and is the value of the special storage area. Data that can specify an address other than the part of the addresses is specified by the specific instruction (the lower address of the internal function register is specified by the LDQ instruction).
このような構成によれば、電源供給の停止が検出されたときにおいて、特別値を特別領域に記憶させる命令のプログラム容量を削減できる。 According to such a configuration, when the stop of the power supply is detected, the program capacity of the instruction for storing the special value in the special area can be reduced.
(5) (1)〜(4)いずれかの遊技機において、
前記プログラムは、特定プログラム(たとえば、遊技プログラム)と非特定プログラム(たとえば、非遊技プログラム)とを含み、
前記特定記憶領域(たとえば、遊技RAM領域)は、前記特定プログラムで用いるデータが記憶されている領域であり、
前記特定記憶領域のアドレスは、第1情報(たとえば、該アドレスの上位アドレス)と第2情報(たとえば、該アドレスの下位アドレス)とを含み、
前記第1情報は、前記所定記憶領域(たとえば、Qレジスタ)に記憶されており、
前記特定命令は、前記第1情報と、該特定命令により指定された前記第2情報とからアドレスを特定し、該特定したアドレスの前記特定記憶領域からデータを読み出す命令であり、
前記命令実行手段は、前記特定命令を、前記特定プログラムに基づいて実行する一方、前記非特定命令に基づいては実行しない(たとえば、遊技プログラムではLDQ命令は用いられるが、非遊技プログラムではLDQ命令は用いられない)。
(5) In any of the game machines (1) to (4)
The program includes a specific program (eg, a gaming program) and a non-specific program (eg, a non-gaming program).
The specific storage area (for example, a game RAM area) is an area in which data used in the specific program is stored.
The address of the specific storage area includes first information (for example, a higher address of the address) and second information (for example, a lower address of the address).
The first information is stored in the predetermined storage area (for example, Q register).
The specific instruction is an instruction for specifying an address from the first information and the second information designated by the specific instruction and reading data from the specific storage area of the specified address.
The instruction executing means executes the specific instruction based on the specific program, but does not execute the specific instruction based on the non-specific instruction (for example, an LDQ instruction is used in a game program, but an LDQ instruction is used in a non-game program. Is not used).
このような構成によれば、非特定プログラムに基づいて特定命令を実行しないことから、非遊技プログラムにおいて特定命令が実行されることにより前記特定プログラムで用いるデータが記憶されている記憶領域にアクセスされることを低減できる。したがって、特定プログラムで用いるデータが記憶されている記憶領域に、意図しないアクセスが実行される可能性を低減できる。 According to such a configuration, since the specific instruction is not executed based on the non-specific program, the storage area in which the data used in the specific program is stored is accessed by executing the specific instruction in the non-game program. Can be reduced. Therefore, it is possible to reduce the possibility that an unintended access is executed to the storage area in which the data used in the specific program is stored.
(6) (1)〜(5)いずれかの遊技機において、
前記プログラムは、特定プログラム(たとえば、遊技プログラム)と非特定プログラム(たとえば、非遊技プログラム)とを含み、
前記特定プログラムで用いられるプログラムが記憶されているプログラム記憶領域(たとえば、遊技プログラム領域)のアドレスは、第1情報(たとえば、該アドレスの上位アドレス)と第2情報(たとえば、該アドレスの下位アドレス)とを含み、
前記第1情報は、特殊記憶領域(たとえば、ベクターテーブル領域)に記憶されており、
特別命令(たとえば、RST命令およびCALLV命令)は、前記第1情報と、該特別命令により指定された前記第2情報とからアドレスを特定し、該特定したアドレスの前記プログラム記憶領域からプログラムを読み出す命令であり、
前記命令実行手段は、前記特別命令を、前記特定プログラムに基づいて実行する一方、前記非特定プログラムに基づいては実行しない(たとえば、遊技プログラムではRST命令およびCALLV命令は用いられるが、非遊技プログラムではRST命令およびCALLV命令は用いられない)。
(6) In any of the game machines (1) to (5)
The program includes a specific program (eg, a gaming program) and a non-specific program (eg, a non-gaming program).
The addresses of the program storage area (for example, the game program area) in which the program used in the specific program is stored are the first information (for example, the upper address of the address) and the second information (for example, the lower address of the address). ) And
The first information is stored in a special storage area (for example, a vector table area).
The special instruction (for example, the RST instruction and the CALLV instruction) specifies an address from the first information and the second information specified by the special instruction, and reads a program from the program storage area of the specified address. Is an instruction
The instruction executing means executes the special instruction based on the specific program, but does not execute the special instruction based on the non-specific program (for example, the RST instruction and the CALLV instruction are used in the game program, but the non-game program). The RST and CALLV instructions are not used).
このような構成によれば、非特定プログラムに基づいて特別命令を実行しないことから、非遊技プログラムにおいて特別命令が実行されることにより特定プログラムで用いるプログラムが記憶されている記憶領域にアクセスされることを低減できる。したがって、特定プログラムで用いるプログラムが記憶されている記憶領域に、意図しないアクセスが実行される可能性を低減できる。 According to such a configuration, since the special instruction is not executed based on the non-specific program, the storage area in which the program used in the specific program is stored is accessed by executing the special instruction in the non-game program. Can be reduced. Therefore, it is possible to reduce the possibility that an unintended access is executed to the storage area in which the program used in the specific program is stored.
[全体構成]
図1は、遊技機の全体構成例を示す模式図である。図1(a)は、遊技機1の主な外観構成の一例を示す模式図である。図1(b)は、遊技機1の主な内部構成の一例を示す模式図である。
[overall structure]
FIG. 1 is a schematic view showing an example of the overall configuration of the game machine. FIG. 1A is a schematic view showing an example of a main appearance configuration of the game machine 1. FIG. 1B is a schematic view showing an example of a main internal configuration of the game machine 1.
図1(a)に示すように、本実施の形態に係る遊技機1は、演出を実行するための演出手段として、液晶表示器51と、種々の音を出力可能な1以上のスピーカ53と、種々の態様で発光可能な1以上のランプ63とを備える。液晶表示器51は、画像を表示する表示手段として機能する。スピーカ53は、音を出力する音出力手段として機能する。ランプ63は、発光する発光手段として機能する。
As shown in FIG. 1A, the gaming machine 1 according to the present embodiment includes a
図1(b)に示すように、遊技機1の内部には、遊技の進行を制御するとともに遊技の進行に応じて各種コマンドを出力する遊技制御基板40、および該コマンドに応じて所定の演出を制御する演出制御基板90などが設けられている。遊技制御基板40は、遊技の進行に関する処理を行うとともに、遊技制御基板40に搭載あるいは接続された構成を制御するメイン制御部41を備える。演出制御基板90は、遊技制御基板40から送信されるコマンドを受けて演出を行う処理を行うとともに、演出制御基板90に搭載あるいは接続された構成を制御するサブ制御部91を備える。
As shown in FIG. 1B, inside the game machine 1, a
また、メイン制御部41は、CPU(Central Processing Unit)41aと、ROM(Read only memory)41bと、RAM(Random access memory)41cとを有する。また、サブ制御部91は、CPU91aと、ROM91bと、RAM91cとを有する。
Further, the
また、メイン制御部41は、複数の入力ポート、および複数の出力ポートを含む。該複数の出力ポートそれぞれは、種々の信号(各種のモータ、ライト、表示部などを制御するための制御信号など)を出力する。複数の入力ポートそれぞれには、種々の信号(書く操作部からの操作検出信号、および後述の停電検出信号など)が入力される。また、以下では、遊技機1がスロットマシンであるとして説明するが、他の遊技機(たとえば、パチンコ遊技機)においても下記の思想を適用できる。
Further, the
スロットマシンにおいてゲームを行う場合には、まず、メダルをメダル投入部に投入するかMAXBETスイッチの操作などにより規定数の賭数を設定する。これにより、入賞ラインが有効となり、かつスタートスイッチへの操作が有効となり、ゲームが開始可能な状態となる。賭数設定済の状態でメダルが投入された場合には、その分はクレジットに増加される。 When playing a game on a slot machine, first, a predetermined number of bets are set by inserting medals into the medal insertion section or operating the MAXBET switch. As a result, the winning line becomes valid, the operation to the start switch becomes valid, and the game can be started. If a medal is inserted with the number of bets set, the amount will be increased to credit.
1ゲームを開始可能となる賭数が設定されている状態(ゲームが開始可能な状態)でスタートスイッチが操作されると、複数(たとえば、3つ)のリールが回転することで図柄が変動表示され、該リールにそれぞれ対応するストップスイッチが操作されることで対応するリールの回転が停止する。そして、透視窓の上中下段に3つの図柄が表示結果として導出表示される。入賞ラインLN上に入賞図柄の組合せが停止することで入賞が発生したときには、入賞に応じて、所定枚数のメダルが遊技者に対して付与される。 If the start switch is operated while the number of bets that can start one game is set (the state where the game can be started), the symbols will change due to the rotation of multiple (for example, three) reels. Then, the rotation of the corresponding reel is stopped by operating the stop switch corresponding to each of the reels. Then, three symbols are derived and displayed as display results in the upper, middle, and lower rows of the perspective window. When a prize is generated by stopping the combination of the winning symbols on the winning line LN, a predetermined number of medals are given to the player according to the winning.
また、内部抽選により抽選される対象役を抽選対象役または当選役という。役が入賞するためには、その役が内部抽選により当選している必要がある。 In addition, the target role drawn by the internal lottery is referred to as a lottery target combination or a winning combination. In order for a role to win, the role must have been won by an internal lottery.
[メイン制御部のメモリ領域とプログラムについて]
図2は、メイン制御部41が用いるメモリ領域のアドレスマップである。図2に示すように、メイン制御部41が用いるメモリ領域は、ROM41bに割り当てられたメモリ領域(0000H〜7FFFH)と、RAM41cに割り当てられたメモリ領域(F000H〜FFFFH)と、を含む。
[About the memory area and program of the main control unit]
FIG. 2 is an address map of the memory area used by the
ROM41bのメモリ領域は、プログラム及び固定データが格納されるプログラム/データ領域(0000H〜26FFH)と、プログラムのタイトル、バージョン等の任意のデータを設定可能なROMコメント領域(2700H〜277FH)と、後述するCALLV命令のサブルーチンの上位アドレス及びタイマ割込処理(メイン)の先頭アドレスが設定されるベクタテーブル領域(2780H〜27A7H)と、メイン制御部41の内部機能をハードウェア的に設定するためのパラメータが設定されるHWパラメータ領域(27A8H〜27FFH)と、アクセスが禁止される未使用領域(2800H〜7FFFH)を含む。
The memory area of the
ROM41bにおけるHWパラメータ領域に設定されるパラメータは、プログラム/データ領域で使用するROM領域の最終アドレス(HPRGEND)、アクセス禁止するRAM領域の開始アドレス(HRAMSTAT)及び最終アドレス(HRAMEND)を含む。
The parameters set in the HW parameter area in the
RAM41cのメモリ領域は、ワークとして使用可能な使用可能領域(F000H〜F400H)と、メイン制御部41に搭載されている各機能を制御するためのレジスタ群が格納される内部機能レジスタ領域(F500H〜F6FFH)と、アクセスが禁止される未使用領域(F401H〜F4FFH、F700H〜FFFFH)と、を含む。また、図2には特に図示しないが、RAM41cのメモリ領域は、後述する信号領域を含む。信号領域の上位アドレスは、内部機能レジスタ同様に、「F5」であるとする。
The memory area of the
図3は、メイン制御部41のROM41bにおけるプログラム/データ領域及びRAM41cにおける使用可能領域のアドレスマップである。
FIG. 3 is an address map of the program / data area in the
図3(a)に示すように、ROM41bにおけるプログラム/データ領域は、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが用いる遊技データが記憶される遊技データ領域と、未使用領域1と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが用いる非遊技データが記憶される非遊技データ領域と、未使用領域2と、を含む。
As shown in FIG. 3A, the program / data area in the
なお、遊技の進行とは、遊技を構成する一連のプロセスを進行させることであり、スロットマシンであれば、賭数を設定してゲームを開始可能とする段階、ゲームを開始してリールを回転させる段階、リールを停止させて表示結果を導出させる段階、表示結果に応じてメダル等の価値を付与する段階、を進行させることである。 Note that the progress of the game is to proceed with a series of processes constituting the game, and in the case of a slot machine, at the stage where the number of bets can be set and the game can be started, the game is started and the reels are rotated. The stage of causing the reel to be stopped, the stage of deriving the display result, and the stage of giving the value of a medal or the like according to the display result are advanced.
遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、がそれぞれ別個に割り当てられているとともに、遊技プログラム領域及び非プログラム領域のうちROM41bの記憶領域において後方に割り当てられていた非プログラム領域の手前の領域は、少なくとも16バイト以上の未使用領域1が割り当てられているため、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
The game program area related to the progress of the game and the non-game program not related to the progress of the game are separately allocated, and are allocated rearward in the storage area of
また、遊技プログラム領域と遊技データ領域、非遊技プログラム領域と非遊技データ領域はそれぞれ連続する領域に割り当てられる一方、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、が少なくとも16バイト以上の未使用領域1を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、を記憶領域の違いに応じて容易に特定することができる。 Further, the game program area and the game data area, and the non-game program area and the non-game data area are allotted to continuous areas, while the game program area and the game data area related to the progress of the game and the non-game area not related to the progress of the game. Since the game program and the non-game data area are allocated to areas that are not continuous with an unused area 1 of at least 16 bytes or more in between, the game program area and the game data area related to the progress of the game and the progress of the game The non-game program and the non-game data area, which are not involved, can be easily specified according to the difference in the storage area.
なお、上記において記憶領域の前後とは、記憶領域に割り当てられたアドレス値の大小関係であり、アドレスが小さい方が前方となり、アドレスが大きい方が後方となる。このため、一の記憶領域よりも後方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が大きい記憶領域が該当し、一の記憶領域よりも前方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が小さい記憶領域が該当する。 In the above, the front and back of the storage area are the magnitude relations of the address values assigned to the storage area, and the smaller address is the front and the larger address is the rear. Therefore, the storage area allocated after the one storage area corresponds to the storage area having an address value larger than that of the one storage area, and the storage area allocated before the one storage area. , A storage area whose address value is smaller than that of one storage area is applicable.
また、非遊技プログラム領域よりも後方に遊技プログラムが割り当てられ、非遊技プログラム領域よりも後方に割り当てられた遊技プログラムの手前に未使用領域が割り当てられた構成としても良く、このような構成においても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。 Further, the game program may be allocated behind the non-game program area, and the unused area may be allocated in front of the game program allocated behind the non-game program area. A game program area related to the progress of the game and a non-game program not related to the progress of the game can be easily specified according to the difference in the storage area.
また、遊技プログラム領域と、非遊技プログラム領域と、が未使用領域1を挟んで隣接する領域に割り当てられる構成としても良く、このような構成であっても、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。 Further, the game program area and the non-game program area may be allocated to adjacent areas with the unused area 1 in between, and even with such a configuration, the game program area related to the progress of the game , A non-game program that is not related to the progress of the game can be easily identified according to the difference in the storage area.
また、ROM41bのプログラム/データ領域の未使用領域1、2には、全ての領域に0値が格納されているため、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域1、2と、を容易に区別することができるとともに、未使用領域1、2に不正なデータが格納されている場合でも容易に発見することができる。
Further, since 0 values are stored in all the unused areas 1 and 2 of the program / data area of the
なお、ROM41bのプログラム/データ領域の未使用領域1、2における全ての領域に1が格納される構成としても良く、このような構成とした場合でも、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域1、2と、を容易に区別することができるとともに、未使用領域1、2に不正なデータが格納されている場合でも容易に発見することができる。
Note that 1 may be stored in all the unused areas 1 and 2 of the program / data area of the
また、遊技プログラム領域と、非遊技プログラム領域と、が別個の領域に割り当てられた構成であれば、遊技プログラム領域と、非遊技プログラム領域と、が隣接する領域にわら当てられる構成としても良く、このような構成であっても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。 Further, as long as the game program area and the non-game program area are allocated to separate areas, the game program area and the non-game program area may be applied to adjacent areas. Even with such a configuration, the game program area related to the progress of the game and the non-game program not related to the progress of the game can be easily specified according to the difference in the storage area.
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを2進数表記した場合に下位4桁の値が同じ0のアドレス(0H)から開始するようになっており、ROM41bのプログラム/データ領域のうち遊技の進行に係る遊技プログラム領域と、遊技の進行に係わらない非遊技プログラム領域と、を他の領域と容易に区別することができる。
Further, both the game program area and the non-game program area start from an address (0H) in which the lower four digits have the same value when the address is expressed in binary, and the program / data area of
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを2進数表記した場合に下位4桁の値が同じ0のアドレスから開始するだけでなく、16進数表記した場合に下位1桁の値が同じ0のアドレス(0H)から開始するので、アドレスを2進数表記した場合だけでなく、16進数表記した場合にも遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することができる。 In addition, both the game program area and the non-game program area not only start from an address having the same 0 in the lower 4 digits when the address is expressed in binary, but also in the lower 1 digit when the address is expressed in hexadecimal. Starts from the same 0 address (0H), so the game program area and the non-game program area can be easily distinguished from other areas not only when the address is expressed in binary not only but also when it is expressed in hexadecimal. can do.
なお、遊技プログラム領域及び非遊技プログラム領域がいずれも、アドレスを2進数表記したか、16進数表記したか、に関わらず、下位N(Nは1以上の自然数)桁が同じ値のアドレスから開始する構成であれば、遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することが可能であり、たとえば、下位N(Nは1以上の自然数)桁の値が同じ1のアドレスから開始する構成でも同様の効果が得られるものである。 In both the game program area and the non-game program area, regardless of whether the address is expressed in binary or hexadecimal, the lower N (N is a natural number of 1 or more) starts from the address having the same value. The game program area and the non-game program area can be easily distinguished from other areas. For example, the value of the lower N (N is a natural number of 1 or more) digits is the same 1. The same effect can be obtained with a configuration starting from the address of.
図3(b)に示すように、RAM41cの使用可能領域は、遊技プログラムがワークとして用いる遊技RAM領域と、非遊技プログラムがワークとして用いる非遊技RAM領域と、未使用領域4と、を含んでおり、遊技RAM領域には、特別ワークと、重要ワークと、一般ワークと、未使用領域3と、遊技プログラムがデータを退避する遊技スタック領域と、が含まれ、非遊技RAM領域には、遊技プログラムが参照可能な領域と、遊技プログラムが参照不可能な領域と、非遊技プログラムがデータを退避する非遊技スタック領域と、が含まれる。なお、本実施形態では、遊技スタック領域と非遊技スタック領域とをそれぞれ異なる領域に個別に備える構成であるが、遊技プログラム及び非遊技プログラムが共用する一のスタック領域を備える構成としても良い。
As shown in FIG. 3B, the usable area of the
特別ワークは、サブ制御部91へコマンドを送信するためのデータ、各種ソフトウェア乱数等、設定開始前にのみ初期化されるデータが格納されるワークである。
The special work is a work in which data for transmitting a command to the
重要ワークは、各種表示器やLEDの表示用データ、I/Oポートの入出力データ、遊技時間の計時カウンタ等が格納されるワークである。 The important work is a work in which various indicators, LED display data, I / O port input / output data, game time timing counters, and the like are stored.
一般ワークは、停止制御テーブル、停止図柄、メダルの払出枚数などが格納されるワークである。 The general work is a work in which a stop control table, a stop symbol, the number of medals to be paid out, and the like are stored.
遊技スタック領域(使用中)は、CPU41aのレジスタから退避したデータが格納される領域である。また、未使用スタック領域(未使用)は、起動処理において、初期化されることとなるが、遊技スタック領域(使用中)は、プログラムの続行のため、初期化されることはない。
The game stack area (in use) is an area in which data saved from the register of the
また、遊技RAM領域の開始アドレスは、「F000H」となる。また、本実施例では、特別ワークの開始アドレス、重要ワークの開始アドレス、および一般ワークの一部の開始アドレスそれぞれの上位アドレスは、「F0」であるとする。 Further, the start address of the game RAM area is "F000H". Further, in this embodiment, the upper address of each of the start address of the special work, the start address of the important work, and the start address of a part of the general work is assumed to be "F0".
未使用領域3は、遊技プログラム及び非遊技プログラムのいずれも使用しない領域であり、予め定められた容量の遊技RAM領域に対して余剰となった領域である。 The unused area 3 is an area in which neither the game program nor the non-game program is used, and is an area that is surplus with respect to the game RAM area having a predetermined capacity.
また、未使用領域4は、遊技プログラム及び非遊技プログラムのいずれも使用しない16バイト以上の領域である。遊技RAM領域と、非遊技RAM領域とが、未使用領域4を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラムが用いる遊技RAM領域と、遊技の進行に係わらない非遊技プログラムが用いる非遊技RAM領域と、を記憶領域の違いに応じて容易に特定することができる。 Further, the unused area 4 is an area of 16 bytes or more in which neither the game program nor the non-game program is used. Since the game RAM area and the non-game RAM area are allocated to areas that are not continuous with the unused area 4 in between, the game RAM area used by the game program related to the progress of the game and the non-game RAM area not related to the progress of the game The non-game RAM area used by the game program and the non-game RAM area can be easily specified according to the difference in the storage area.
以下では、遊技プログラム領域、遊技データ領域及び遊技RAM領域をまとめて遊技領域と称す場合があり、非遊技プログラム領域、非遊技データ領域及び非遊技RAM領域をまとめて非遊技領域と称す場合がある。また、未使用領域1及び未使用領域2、未使用領域3及び未使用領域4をまとめて未使用領域と称す場合がある。 In the following, the game program area, the game data area, and the game RAM area may be collectively referred to as a game area, and the non-game program area, the non-game data area, and the non-game RAM area may be collectively referred to as a non-game area. .. Further, the unused area 1, the unused area 2, the unused area 3 and the unused area 4 may be collectively referred to as an unused area.
メイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、ROM41bのプログラム/データ領域のうちアクセスが禁止された領域へのアクセスがあったとき、RAM41cの使用可能領域のうちアクセスが許可に設定されていない領域)へのアクセスがあったとき、ROM41bのうちプログラム/データ領域以外の領域へのアクセスがあったとき、RAM41cのうち使用可能領域以外の領域へのアクセスがあったときに、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させる不能化処理を実行するので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
Based on the parameters set in the HW parameter area, the
本実施形態では、RAMアクセスが禁止されたときにおいて(たとえば、図6のSk9参照)、遊技RAM領域にアクセスされたときには、不能化処理を実行する。一方、RAMアクセスが禁止されたときにおいて、内部機能レジスタにアクセスされても不能化処理は実行されない。なお、変形例として、RAMアクセスが禁止されたときにおいて、内部機能レジスタにアクセスされたときには不能化処理を実行するとしてもよい。 In the present embodiment, when RAM access is prohibited (see, for example, Sk9 in FIG. 6), when the game RAM area is accessed, the disabling process is executed. On the other hand, when RAM access is prohibited, the invalidation process is not executed even if the internal function register is accessed. As a modification, when RAM access is prohibited, disabling processing may be executed when the internal function register is accessed.
特に本実施形態では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)へのアクセスを一括して許可に設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや遊技データ、非遊技プログラム、非遊技データが格納されていない非遊技データよりも後の領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
In particular, in the present embodiment, the game program area and the non-game program area are allocated to the program / data area of the
また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域へのアクセスを一括して許可に設定する一方で、それ以外の領域へのアクセスが禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
Further, in the program / data area of the
なお、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
A game program area and a non-game program area are allocated to the program / data area, and an unused area 1 is allocated to an area behind the game program area and before the non-game program area, and the program / data. Of the areas, to a group of areas including the game program area (area from the game program area to the game data area) and to a group of areas including the non-game program (area from the non-game program area to the non-game data area). Access may be set to allow each and access to other areas may be prohibited. Even with such a configuration, the program / data area to the area where the game program or non-game program is not stored Since access to the data is prohibited, it is possible to prevent unintended control by malicious programs and malicious data. Further, in the program / data area of the
また、上記では、プログラム/データ領域においてアクセスを許可する領域そのものを設定する構成であるが、プログラム/データ領域においてアクセスを禁止する領域を設定することで、間接的にアクセスを許可する領域が設定される構成としても良い。 Further, in the above, the configuration is such that the area itself for which access is permitted in the program / data area is set, but by setting the area for which access is prohibited in the program / data area, the area for indirectly permitting access is set. It may be configured to be performed.
メイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、プログラム走行を許可する指定エリア以外の領域においてユーザプログラムが実行された場合、すなわち正常な動作ではユーザプログラムが実行されることのない領域でユーザプログラムが実行された場合に、IAT回路(Illegal Address Trap:特に図示せず)がIAT発生信号を出力することで、遊技の進行を不能化させるので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
The
特に本実施形態では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路がプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
In particular, in the present embodiment, the game program area and the non-game program area are allocated to the program / data area of the
また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路がプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
Further, in the program / data area of the
なお、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路がプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止される構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路がプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
A game program area and a non-game program area are allocated to the program / data area, and an unused area 1 is allocated to an area behind the game program area and before the non-game program area, and an HW parameter area. A group of areas including the area from the start address of the game program area to the final address of the non-game program in the program / data area based on the parameters set in (the area from the game program area to the non-game data area). The IAT circuit may be collectively set as a designated area that allows program running, and program running in other areas may be prohibited. Even in such a configuration, the program / data area may be used. Since the program running in the area where the game program or the non-game program is not stored is prohibited, it is possible to prevent unintended control by the malicious program or the illegal data. Further, in the program / data area of the
また、上記では、プログラム/データ領域においてプログラム走行を許可する領域そのものを設定する構成であるが、プログラム/データ領域においてプログラム走行を禁止する領域を設定することで、間接的にプログラム走行を許可する領域が設定される構成としても良い。 Further, in the above, the configuration is such that the area itself that allows the program running is set in the program / data area, but the program running is indirectly permitted by setting the area that prohibits the program running in the program / data area. The configuration may be such that an area is set.
[プログラムが用いる命令について]
メイン制御部41が実行するプログラムは、プログラム全体の進行を管理するメインルーチンと、他のプログラムの実行中に呼び出されるサブルーチンとを含む。
[Instructions used by the program]
The program executed by the
また、メイン制御部41にプログラム/データ領域に格納されたプログラムを実行させる命令として、CALL命令を含む。
Further, a CALL instruction is included as an instruction for causing the
CALL命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたサブルーチンを呼び出して実行させる命令である。メイン制御部41は、CALL命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定されたアドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちCALL命令を実行した呼び出し元のメインルーチンまたはサブルーチンのプログラムに復帰する。
The CALL instruction is an instruction that calls and executes a subroutine stored at an address specified in the main routine or the subroutine. When calling a subroutine by a CALL instruction, the
また、CALL命令は、通常のCALL命令と、特殊なCALL命令であるCALLV命令と、を含む。通常のCALL命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であるのに対して、CALLV命令は、下位アドレスのみを指定することで、ROM41bのベクタテーブル領域に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令である。該特定されるアドレスの記憶領域には、遊技プログラムで用いられるプログラム(サブルーチン)が格納されている。したがって、CALLV命令により、通常のCALL命令と比較して少ないデータ量で、遊技プログラムで用いられるプログラム(サブルーチン)を呼び出すことが可能となる。
Further, the CALL instruction includes a normal CALL instruction and a CALLV instruction which is a special CALL instruction. The normal CALL instruction is an instruction that calls a subroutine by specifying both the upper address and the lower address and specifying the address by the specified upper address and lower address, whereas the CALLV instruction only uses the lower address. By designating, it is an instruction to specify an address by a preset upper address and a designated lower address in the vector table area of
RST命令は、予め定められた複数の特定アドレスに対応する値(容量が特定アドレスよりも小さな値)を指定することで、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行させる命令である。該特定アドレスの記憶領域には、遊技プログラムで用いられるプログラム(サブルーチン)が格納されている。したがって、RST命令により、上記した通常のCALL命令やCALLV命令と比較して少ないデータ量で、遊技プログラムで用いられるプログラム(サブルーチン)を呼び出すことが可能となる。メイン制御部41は、RST命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちRST命令を実行した呼び出し元のメインルーチンまたはサブルーチンに復帰する。
The RST instruction calls and executes a subroutine stored in a specific address corresponding to a specified value by specifying a value corresponding to a plurality of predetermined specific addresses (a value whose capacity is smaller than the specific address). It is an instruction to make. A program (subroutine) used in the game program is stored in the storage area of the specific address. Therefore, the RST instruction makes it possible to call the program (subroutine) used in the game program with a smaller amount of data as compared with the above-mentioned ordinary CALL instruction and CALLV instruction. When the subroutine is called by the RST instruction, the
メイン制御部41は、CALLV命令により、ベクタテーブル領域に設定された上位アドレスと、CALLV命令により指定された下位アドレスとによりアドレスを特定し、該特定されたアドレスに格納された遊技プログラムで用いられるプログラム(サブルーチン)を呼び出して実行する。このため、遊技プログラムのうち特に使用頻度の高いサブルーチンを呼び出す際に用いるアドレスの一部を構成する上位アドレスが予めベクタテーブルに設定されており、ベクタテーブルに設定された上位アドレスに基づいてアドレスが特定されるため、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のCALL命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
The
また、RST命令により指定される値(予め定められた複数のアドレスに対応する値)の容量は、該アドレスの容量よりも小さいことから、RST命令では通常のCALL命令に比較して少ないデータ量で遊技プログラムで用いられるプログラム(サブルーチン)を呼び出すことが可能であるため、遊技プログラムにおいてRST命令を用いることで、当該遊技プログラムのデータ容量を削減することができるようになっている。 Further, since the capacity of the value specified by the RST instruction (value corresponding to a plurality of predetermined addresses) is smaller than the capacity of the address, the RST instruction has a smaller amount of data than the normal CALL instruction. Since it is possible to call the program (subtractor) used in the game program in the game program, the data capacity of the game program can be reduced by using the RST instruction in the game program.
メイン制御部41にプログラム/データ領域に格納されたデータを読み出す命令としてLD命令を含む。LD命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたデータを指定されたレジスタに読み出す命令である。メイン制御部41は、LD命令により指定されたアドレスに格納されたデータを読み出し、LD命令により指定されたレジスタ(たとえば、内部機能レジスタ)に読み出したデータを格納する。
The
また、LD命令は、通常のLD命令と、特殊なLD命令であるLDQ命令と、を含む。通常のLD命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりROM41bまたはRAM41cの領域に格納されているデータを読み出す命令である。LDQ命令は、下位アドレスのみを指定することで、前述のRAM41cの内部機能レジスタ領域における特別なレジスタ(Qレジスタ)に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してROM41bまたはRAM41cの領域に格納されているデータを読み出して指定されたレジスタに読み出したデータを格納する命令であり、通常のLD命令に比較して少ないデータ量で所定のデータを所定のレジスタに格納することが可能となる。
Further, the LD instruction includes a normal LD instruction and an LDQ instruction which is a special LD instruction. A normal LD instruction is an instruction to read data stored in an area of
メインルーチンまたはサブルーチンにおいてROM41b、RAM41cの領域に格納されているデータを読み出す場合に、特殊なLD命令であるLDQ命令を用いることで、領域を示す全てのアドレス(上位部分及び下位部分)を指定するのではなく、アドレスの下位部分のみを指定して領域のデータを読み出すことが可能である。LDQ命令を用いることで、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にてデータを読み出すことが可能となり、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
When reading the data stored in the areas of
また、LD命令(通常のLD命令と、LDQ命令など)は、記憶領域を用いた他の処理にも用いられる。該他の処理とは、該記憶領域に格納されているデータを参照する処理(たとえば、後述の図4のSa1の処理など)と、該記憶領域にデータを設定する処理と、該記憶処理に設定されているデータを消去(クリア)する処理(たとえば、後述の図5のSa16の処理など)などを含む。 The LD instruction (ordinary LD instruction, LDQ instruction, etc.) is also used for other processing using the storage area. The other processes include a process of referencing data stored in the storage area (for example, the process of Sa1 in FIG. 4 described later), a process of setting data in the storage area, and the storage process. It includes a process of erasing (clearing) the set data (for example, a process of Sa16 in FIG. 5 described later) and the like.
また、遊技プログラムとは、遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。一方、非遊技プログラムとは、遊技の進行に係わらないプログラムであり、遊技プログラムから呼び出されて当該プログラムに基づく処理が実行されずに遊技プログラムに復帰した場合でも、遊技を進行させることが可能な処理を実行するためのプログラムである。 Further, the game program is a program related to the progress of the game, and is a program for executing a process that hinders the progress of the game unless the process based on the program is executed. On the other hand, the non-game program is a program that is not related to the progress of the game, and even if it is called from the game program and returns to the game program without executing the process based on the program, the game can be progressed. It is a program for executing processing.
換言すると、非遊技プログラムは、遊技の進行に関する処理とは異なる処理を実行するプログラムである。「遊技の進行に関する処理とは異なる処理」とは、たとえば、非遊技RAM領域初期化処理において非遊技RAM領域を初期化する処理、メダルセンサ処理におけるメダルセンサチェック処理、役比モニタ用データ処理における各状態カウント処理、非遊技関連処理におけるセンサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、役比モニタ表示データ選択処理等を含む。また、図3(a)に示すように、遊技プログラム領域と、非遊技プログラム領域とは分けて構成されている。したがって、たとえば、遊技プログラム領域の容量が定められている状況であったとしても、非遊技プログラム領域の容量を考慮する必要がない。したがって、遊技プログラム領域の設計に関する自由度を向上させることができる。 In other words, the non-game program is a program that executes a process different from the process related to the progress of the game. The "process different from the process related to the progress of the game" is, for example, in the process of initializing the non-game RAM area in the non-game RAM area initialization process, the medal sensor check process in the medal sensor process, and the data processing for the combination monitor. Includes each state count processing, sensor monitoring processing in non-game related processing, test signal output processing, medal passing time timer update processing, combination ratio monitor display data selection processing, and the like. Further, as shown in FIG. 3A, the game program area and the non-game program area are separately configured. Therefore, for example, even if the capacity of the game program area is defined, it is not necessary to consider the capacity of the non-game program area. Therefore, the degree of freedom regarding the design of the game program area can be improved.
遊技プログラムでは、前述のCALL命令やLD命令について、特殊なCALL命令であるCALLV命令、RST命令、特殊なLD命令であるLDQ命令を含むいずれの命令も使用されることがあり、特殊なCALL命令を用いてアドレスを特定してサブルーチンを呼び出すことも、特殊なLD命令を用いてROM41b、RAM41cにおける特定の遊技データ、非遊技データを読み出すことも可能になっている。
In the game program, with respect to the above-mentioned CALL instruction and LD instruction, any instruction including a CALLV instruction which is a special CALL instruction, an RST instruction, and an LDQ instruction which is a special LD instruction may be used, and a special CALL instruction may be used. It is possible to specify the address by using the above and call the subroutine, or to read the specific game data and non-game data in the
非遊技プログラムでは、前述のCALL命令について、通常のCALL命令が使用される一方、特殊なCALL命令であるCALLV命令が使用されないようになっている。したがって、通常のCALL命令を用いてアドレスを特定してサブルーチンを呼び出すことがある一方で、特殊なCALL命令を用いてサブルーチンを呼び出すことがない。したがって、非遊技プログラムにより不用意にROM41bにおける遊技プログラム領域にアクセスされてしまうことを防止できる。
In the non-game program, the normal CALL instruction is used for the above-mentioned CALL instruction, while the CALLV instruction, which is a special CALL instruction, is not used. Therefore, while a normal CALL instruction may be used to specify an address and a subroutine may be called, a special CALL instruction may not be used to call a subroutine. Therefore, it is possible to prevent the non-game program from inadvertently accessing the game program area in the
また、非遊技プログラムでは、前述のLD命令について、通常のLD命令が使用可能となっている。これにより、非遊技プログラムにおいては、通常のLD命令を用いてアドレスを特定して所定のデータを読み出すことが可能となる。一方、非遊技プログラムでは、LDQ命令は使用されないようになっている。したがって、不用意に、LDQ命令によりデータを読み出す処理が実行されることを防止できる。 Further, in the non-game program, a normal LD instruction can be used for the above-mentioned LD instruction. As a result, in the non-game program, it is possible to specify the address and read the predetermined data by using the normal LD instruction. On the other hand, the LDQ instruction is not used in the non-game program. Therefore, it is possible to prevent the process of reading data by the LDQ instruction from being inadvertently executed.
メイン制御部41が遊技プログラム及び非遊技プログラムを実行することで行う各種処理の制御内容について、図4〜図6に基づいて説明する。また、図4〜図6は、遊技機がスロットマシンである場合の制御内容である。
The control contents of various processes performed by the
[メイン制御部41の起動時の処理と起動処理について]
メイン制御部41が行う起動処理について、図4および図5に基づいて説明する。該起動処理は、遊技プログラムに含まれるサブルーチンである。
[Processing at startup and startup processing of main control unit 41]
The activation process performed by the
メイン制御部41は、所定の開始条件が成立したときに、リセットの発生によりタイマ割込みが禁止に設定された状態で起動し、ROM41bに格納されているプログラムに従って各種処理を行う。起動した後は、まず、遊技プログラムに含まれる起動時設定処理を行って、すべての出力ポートを初期化し、メイン制御部41が備える内部レジスタ(内部機能レジスタを含む)をROM41bの所定領域に予め設定されている内蔵レジスタ初期化テーブルに基づいて初期化した、遊技プログラムに含まれる初期設定処理を行う。このように、本実施形態では、電力供給が開始されたときに、内部機能レジスタの初期化などが実行される。また、所定の開始条件は、遊技機1への電力供給が開始される(遊技機1への電力供給が検出される)ことにより成立する条件と、遊技機1に対してシステムリセットされることにより成立する条件とを含む。また、システムリセットの実行条件は、たとえば、ユーザによるリセット操作が実行されたとき、ウオッチドッグタイマからのタイムアウト信号が発生したとき、およびIAT回路からのIAT信号が発生したときなどを含む。
When a predetermined start condition is satisfied, the
なお、変形例として、メイン制御部41が備える内部レジスタ(内部機能レジスタを含む)の初期化処理などは、プログラムで実行せずに、ハードウェア(たとえば、初期化回路(特に図示せず))が実行する構成としてもよい。
As a modification, the initialization processing of the internal registers (including the internal function registers) included in the
図4に示すように、まず、Sa1Aにおいて、メイン制御部41は、Qレジスタに特定値データを設定する。以下では、「特定値データ」を、単に「特定値」という。ここで、特定値について説明する。本実施形態では、電断から復帰したとき(電源供給が開始されたとき、つまり起動処理が実行されたとき)には、遊技RAM領域などのデータに基づいて、電断が発生したとき(電源供給が停止したとき)の制御状態に復帰させる。したがって、遊技RAM領域は、制御状態に復帰させるという観点で、重要な領域である。
As shown in FIG. 4, first, in Sa1A, the
図2に示すように、遊技RAM領域の上位アドレスは「F0」である。ここで、特定値は、遊技RAM領域とは異なる領域の上位アドレスを特定可能な領域である。本実施形態では、該異なる領域とは、「内部機能レジスタ」および「信号領域」であるとする。つまり、特定値は、内部機能レジスタの上位アドレスである「F5」を特定可能な値となる。換言すると、特定値は、内部機能レジスタの上位アドレスである「F5」を特定するために用いられる値となる。また、特定値は、信号領域の上位アドレス「F5」を特定可能な値でもある。 As shown in FIG. 2, the upper address of the game RAM area is "F0". Here, the specific value is an area in which a higher address of an area different from the game RAM area can be specified. In the present embodiment, the different regions are the "internal function register" and the "signal region". That is, the specific value is a value that can specify "F5", which is the upper address of the internal function register. In other words, the specific value is a value used to specify "F5", which is the upper address of the internal function register. Further, the specific value is also a value capable of specifying the upper address "F5" of the signal region.
Sa1Aの処理が終了すると、各種設定処理を実行する。この各種設定処理では、複数(N個とする。Nは2以上の整数)の設定処理が実行される。N個の設定処理は、たとえば、乱数開始の設定、シリアル通信回路の設定、リセット/割込コントローラの設定などを含む。該N個の設定処理により、該N個の設定それぞれに応じたN個の設定値(以下では、「起動時設定値」ともいう。)が内部機能レジスタ内のN個の領域それぞれに格納される。 Sa1 When the processing of A is completed, to perform various types of setting process. In these various setting processes, a plurality of setting processes (N being N; N is an integer of 2 or more) are executed. The N setting processes include, for example, a random number start setting, a serial communication circuit setting, a reset / interrupt controller setting, and the like. By the N setting processing, N setting values (hereinafter, also referred to as "start-up setting values") corresponding to each of the N settings are stored in each of the N areas in the internal function register. Register.
ここで、N個の起動時設定値の内部機能レジスタへの格納も、LDQ命令で実行される。具体的には、Sa1AにおいてQレジスタに格納された特定値(上位アドレスがF5)と、該LDQ命令で該N個それぞれについて指定された値(下位アドレス)とに基づいて、該N個の設定値は内部機能レジスタ内のN個の領域それぞれに格納される。 Here, the storage of N start-up set values in the internal function register is also executed by the LDQ instruction. Specifically, the N settings are set based on the specific values (upper address is F5) stored in the Q register in Sa1A and the values (lower addresses) specified for each of the N in the LDQ instruction. The value is stored in each of the N areas in the internal function register.
Sa1Bの処理終了後、Sa1に進む。Sa1では、入力ポートの信号領域を参照する処理を実行する。遊技機1への電力供給が停止したとき(電断が発生したとき)には、電断検出回路(図示せず)がメイン制御部41に対して停電検出信号を送信する。停電検出信号は、電断が発生した(電圧の低下)ことを示す信号である。また、信号領域には、該停電検出信号に係る情報(たとえば、停電検出信号フラグ)が格納される。電断検出回路から停電検出信号が出力されているときには停電検出信号フラグが信号領域に格納され(ON状態)、電断検出回路から停電検出信号が出力されていないときには停電検出信号フラグが信号領域に格納されなくなる(OFF状態)。
After the processing of Sa1B is completed, the process proceeds to Sa1. In Sa1, a process of referencing the signal area of the input port is executed. When the power supply to the game machine 1 is stopped (when a power failure occurs), the power failure detection circuit (not shown) transmits a power failure detection signal to the
本実施形態では、この信号領域のアドレスは、「F560」とする。なお、変形例として、信号領域は、上位アドレスが「F5」であるアドレスであれば、如何なるアドレスであってもよい。 In the present embodiment, the address of this signal region is "F560". As a modification, the signal region may be any address as long as the upper address is "F5".
つまり、Sa1においてはLDQ命令で、該信号領域の下位アドレス(60)が指定され、該下位アドレスと、Qレジスタに格納されている特定値(該信号領域の上位アドレスであるF5)とに基づいて、信号領域のアドレスを特定する。Sa1においては、該特定したアドレスの領域である信号領域(入力ポートの信号領域)を参照する。 That is, in Sa1, the lower address (60) of the signal region is specified by the LDQ instruction, and is based on the lower address and the specific value stored in the Q register (F5, which is the upper address of the signal region). To specify the address of the signal area. In Sa1, the signal region (signal region of the input port) which is the region of the specified address is referred to.
Sa2においては、電断検出回路(図示せず)から出力される停電検出信号がON状態であるか否か(信号領域に停電検出信号フラグが格納されているか否か)を判定する(Sa2)。そして、停電検出信号がON状態である場合には、停電検出信号がOFF状態となるまで待機する(Sa1のYES)。その後、スロットマシン1の電源電圧が正常となり、停電検出信号がOFF状態となった後は(Sa1のNO)、Sa3Aに進む。 In Sa2, it is determined whether or not the power failure detection signal output from the power failure detection circuit (not shown) is in the ON state (whether or not the power failure detection signal flag is stored in the signal area) (Sa2). .. Then, when the power failure detection signal is in the ON state, it waits until the power failure detection signal is in the OFF state (YES in Sa1). After that, the power supply voltage of the slot machine 1 becomes normal, and after the power failure detection signal is turned off (NO of Sa1), the process proceeds to Sa3A.
Sa3Aでは、RAM41cの使用可能領域のアクセスを許可する許可処理を、LDQ命令により実行する。具体的には、該許可処理は、内部機能レジスタ内のRAMアクセス領域に、許可フラグを設定することにより実行される。本実施形態では、該RAMアクセス領域のアドレスを「F550」とする。
In Sa3A, the permission process for permitting access to the usable area of the
つまり、Sa3AにおいてはLDQ命令で、該RAMアクセス領域の下位アドレス(50)が指定され、該下位アドレスと、Qレジスタに格納されている特定値(該RAMアクセス領域の上位アドレスであるF5)とに基づいて、RAMアクセス領域のアドレスを特定する。Sa3Aにおいては、該特定したアドレスの領域であるRAMアクセス領域に対して、LDQ命令により許可フラグを設定する。 That is, in Sa3A, the lower address (50) of the RAM access area is specified by the LDQ instruction, and the lower address and the specific value stored in the Q register (F5 which is the upper address of the RAM access area) are used. The address of the RAM access area is specified based on. In Sa3A, the permission flag is set by the LDQ instruction for the RAM access area which is the area of the specified address.
次に、Sa3Bでは、特定値が設定されていたQレジスタに該特定値(特定値データ)を消去して所定値データを設定する。以下では、「所定値データ」を、単に「所定値」という。ここで、所定値とは、遊技RAM領域の上位アドレス「F0」を特定可能なデータである。換言すると、所定値とは、遊技RAM領域の上位アドレス「F0」を特定するために用いられるデータである。つまり、Sa3Bの処理を実行することにより、特定値(F5を特定可能な値)から、所定値(F0を特定可能な値)に変更される。
このように、Qレジスタに特定値が設定されている期間(Sa1A〜Sa3Bまでの期間、後述の図6の電断処理でのSk8〜電断処理が終了するまでの期間)において、機能設定レジスタを用いる処理を実行する場合には、LDQ命令により、該機能設定レジスタを用いる処理)が実行される。したがって、Qレジスタに特定値が設定されている期間において、LD命令により該機能設定レジスタを用いる処理する構成よりもプログラム容量を削減できる。
また、Qレジスタに所定値が設定されている期間(たとえば、Sa3Bの処理が実行されたときから、電断処理のSk8(後述の図6参照)の処理が実行されるまでの期間)において、遊技RAM領域を用いる処理を実行する場合には、LDQ命令により、遊技RAM領域を用いる処理が実行される。したがって、Qレジスタに所定値が設定されている期間において、LD命令により該遊技RAM領域を用いる処理する構成よりもプログラム容量を削減できる。
Next, in Sa3B, the specific value (specific value data) is erased in the Q register in which the specific value is set, and the predetermined value data is set. In the following, "predetermined value data" is simply referred to as "predetermined value". Here, the predetermined value is data that can specify the upper address "F0" of the game RAM area. In other words, the predetermined value is data used to specify the upper address "F0" of the game RAM area. That is, by executing the processing of Sa3B, the specific value (F5 can be specified) is changed to a predetermined value (F0 can be specified).
In this way, during the period in which the specific value is set in the Q register (the period from Sa1A to Sa3B, the period from Sk8 in the power interruption process of FIG. 6 described later to the end of the power interruption process), the function setting register When the process using the function setting register is executed, the LDQ instruction executes the process using the function setting register). Therefore, during the period in which a specific value is set in the Q register, the program capacity can be reduced as compared with the configuration in which the function setting register is used by the LD instruction.
Further, in the period in which the predetermined value is set in the Q register (for example, the period from the time when the processing of Sa3B is executed to the time when the processing of Sk8 (see FIG. 6 described later) of the power interruption processing is executed). When the process using the game RAM area is executed, the process using the game RAM area is executed by the LDQ instruction. Therefore, during the period in which the Q register is set to the predetermined value, the program capacity can be reduced as compared with the configuration in which the game RAM area is used by the LD instruction.
次いで、RAM41cの所定領域のパリティを算出し(Sa3)、スタックポインタに予め定められた初期アドレスを設定する(Sa4)。そして、Sa3のステップにおいて算出したパリティが正常であるか否かを判定する(Sa5)。この判定は、後述するSk6で計算されたRAMパリティ調整用データを用いて行われる。パリティが正常である場合には、後述する電断処理のSk7においてRAM41cの所定領域に設定されたRAM破壊診断用固定データを取得して(Sa6)、当該RAM破壊診断用固定データに基づきRAM41cの記憶内容が破壊されていないか否かを診断する(Sa7)。
Next, the parity of the predetermined area of the
Sa5のステップにおいてパリティが正常であると判定した場合、及びSa7のステップにおいてRAM41cの記憶内容を診断した場合は、Sa3のステップにおいて算出したRAMのパリティとSa7における診断の結果に基づいて、RAM41cに異常があるか否かを判定する(Sa8)。なお、RAM41cに異常がある場合とは、パリティが正常でない場合、またはパリティが正常であるが記憶内容に異常があると診断した場合である。
When it is determined that the parity is normal in the step of Sa5, and when the stored content of the
そして、RAM41cに異常がある場合には、メイン制御部41が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技RAM領域の遊技スタック領域に所定の順序で記憶させることで退避させた後(Sa9)、非遊技プログラムに含まれる非遊技RAM領域初期化処理を呼び出して行う(Sa10)。そして、非遊技RAM領域初期化処理において、RAM41cの非遊技RAM領域を初期化した後、起動処理に戻る。そして、起動処理に戻った際には、Sa9のステップにおいて遊技スタック領域に退避させたフラグレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、RAM領域初期化処理を行う前の状態にフラグレジスタを復帰させる(Sa11)。
Then, when there is an abnormality in the
非遊技RAM領域初期化処理では、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPにより示される遊技スタック領域の現在のアドレスの値を、非遊技RAM領域の所定領域に記憶させて退避させる。その後、当該スタックポインタSPの値として非遊技スタック領域の所定値(前回の非遊技プログラムの終了時にスタックポインタSPにより示されるアドレスとして非遊技RAM領域の所定領域に記憶されている値)を設定することで、スタックポインタSPを非遊技プログラム用に設定する。そして、上述のフラグレジスタを含むメイン制御部41が備えるすべてのレジスタの値を、スタックポインタSPにより特定される非遊技RAM領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。その後、初期化対象RAMの先頭アドレス(未使用領域4の最初のアドレス)と終了アドレス(非遊技RAM領域の最後のアドレス)を指定し、当該先頭アドレスを指定アドレスの初期値として指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、指定アドレスが当該終了アドレスとなるまで繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域(本実施形態では、未使用領域4の最初から非遊技RAM領域の最後までの領域)を初期化する。そして、非遊技RAM領域初期化処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、非遊技RAM領域初期化処理を開始したときの状態にすべてのレジスタを復帰させる。その後、非遊技RAM領域初期化処理を開始した際に非遊技RAM領域の所定領域に退避させたスタックポインタSPの値を、スタックポインタSPに設定することで、非遊技RAM領域初期化処理を開始したときの状態にスタックポインタSPを復帰させて、非遊技RAM領域初期化処理を終了させる。
In the non-game RAM area initialization process, first, the value of the current address of the game stack area indicated by the stack pointer SP used by the calling game program is stored in a predetermined area of the non-game RAM area and saved. Let me. After that, a predetermined value of the non-game stack area (a value stored in a predetermined area of the non-game RAM area as an address indicated by the stack pointer SP at the end of the previous non-game program) is set as the value of the stack pointer SP. By doing so, the stack pointer SP is set for the non-game program. Then, the values of all the registers included in the
なお、非遊技RAM領域初期化処理において、初期化対象RAMの先頭アドレスと終了アドレスとを指定することで、初期化対象RAMの容量を算出し、当該容量分のRAM領域を初期化対象RAMの先頭アドレスから順次クリアすることで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域を初期化する構成としても良い。 In the non-game RAM area initialization process, the capacity of the initialization target RAM is calculated by designating the start address and end address of the initialization target RAM, and the RAM area corresponding to the capacity is used as the initialization target RAM. By clearing sequentially from the start address, the area from the start address to the end address of the initialization target RAM may be initialized.
Sa8のステップにおいてRAM41cに異常がないと判定した場合、及びSa11のステップにおいてレジスタを復帰させた場合は、RAM41cに設定されているRAM破壊診断用固定データをクリアして(Sa12)、RAM41cに異常がある場合に初期化処理を行う対象となる遊技RAM領域のアドレスを指定するためのRAM破壊時初期化開始アドレスを設定する(Sa13)。その後、入力ポートを参照して設定キースイッチがON状態であるか否かを判定する(Sa14)。
When it is determined that there is no abnormality in the
Sa14のステップにおいて設定キースイッチがON状態であると判定した場合は、設定変更処理を行う。設定変更処理では、遊技店の店員などにより設定値を変更可能な設定変更状態に制御される。この設定値とは、遊技者にとっての有利度合いを示す値である。 If it is determined in the step of Sa14 that the setting key switch is in the ON state, the setting change process is performed. In the setting change process, the setting value is controlled to a setting change state in which the setting value can be changed by a clerk of a game store or the like. This set value is a value indicating the degree of advantage for the player.
Sa14のステップにおいて設定キースイッチがON状態でないと判定した場合は、Sa3のステップにおいて算出したRAMのパリティとSa7における診断結果に基づいて、RAM41cに異常があるか否かを判定し(Sa15)、RAM41cに異常がないと判定した場合には、外部出力信号を出力するための出力バッファをクリアする(Sa16)。RAM41cの遊技RAM領域の所定領域には、この出力バッファが設けられている。また、RAM41cの所定領域に設定されており、リールの回転エラーが検出された回数を計数するためのリールエラーカウンタをクリアする(Sa17)。RAM41cの遊技RAM領域の所定領域には、このリールエラーカウンタが設けられている。その後、RAM41cの記憶内容に基づいてスタックポインタSPに電断時のアドレスを設定することで、スタックポインタを電断時の状態に復帰させ(Sa18)、ポート入力処理を2回連続で行う(Sa19、Sa20)。
When it is determined that the setting key switch is not in the ON state in the step of Sa14, it is determined whether or not there is an abnormality in the
ポート入力処理は、パラレル入力ポート511に入力される各種スイッチ類の検出信号等の入力状態に関する入力状態データ(各種スイッチ類の現在の入力状態を示す入力データ、前回と今回の入力データが同じ状態である旨を示す確定データ、前回から確定データが変化した旨を示すエッジデータ)を更新する処理である。RAM41cの遊技RAM領域の所定領域には、各種スイッチ類の入力状態データを格納するポート入力バッファ0〜2が設けられており、ポート入力処理により更新される各種スイッチ類の入力状態データは、その種類毎に予め定められたポート入力バッファの所定ビットに格納されるようになっている。ポート入力処理では、パラレル入力ポート511の入力ポート0〜2にされる各種スイッチ類の検出状態(ON状態またはOFF状態)を入力データとして、ポート入力バッファの所定ビットに格納する。また、前回と今回のポート入力処理での検出状態(ON状態またはOFF状態)を比較して、今回と前回の入力データが同じ状態である場合には、今回の入力データの検出状態を示すように確定データを更新する一方、今回と前回の入力データが異なる状態である場合には、前回の確定データを維持する。また、今回と前回の確定データを比較して、確定データがOFF状態からON状態に変化した場合には、確定データがOFF状態からON状態に変化した旨を示すONエッジデータをポート入力バッファ0〜2の所定ビットに格納し、確定データがON状態からOFF状態に変化した場合には、確定データがON状態からOFF状態に変化した旨を示すOFFエッジデータをポート入力バッファ0〜2の所定ビットに格納する。ポート入力バッファに格納された各種スイッチ類の入力データ、確定データ、エッジデータは、遊技プログラム及び非遊技プログラムから参照することが可能である。
In the port input process, the input status data related to the input status of the detection signals of various switches input to the parallel input port 511 (input data indicating the current input status of various switches, the previous input data and the current input data are the same. This is a process of updating the confirmed data indicating that the confirmation data is, and the edge data indicating that the confirmed data has changed from the previous time. Port input buffers 0 to 2 for storing input state data of various switches are provided in a predetermined area of the game RAM area of the
また、起動処理では、ポート入力処理を2回連続して行うことで、その後、ポート入力処理が行われる際に、起動処理が行われた以後の各種スイッチ類の入力状態すなわち遊技機への電力供給が再開された後の各種スイッチ類の入力状態に基づいて、各種スイッチ類の検出信号等の入力状態に関する入力状態データが作成されるので、意図しない入力状況が特定されてしまうことを防止できるようになっている。また、ポート入力処理において、3回以上のポート入力処理により取得された入力データ(たとえば、今回、前回及び前々回の入力データ)に基づいて確定データを作成する構成でも良い。このような構成では、確定データを作成するために必要なポート入力処理の回数よりも1回少ない回数連続してポート入力処理を起動処理において行う構成とすることで、起動処理が行われた後にポート入力処理が行われる際に、起動処理が行われた以後の各種スイッチ類の入力状態に基づいて入力状態データを作成させることができる。 Further, in the start-up process, the port input process is performed twice in succession, and when the port input process is subsequently performed, the input state of various switches after the start-up process is performed, that is, the power to the game machine. Since the input status data related to the input status of the detection signals of the various switches is created based on the input status of the various switches after the supply is restarted, it is possible to prevent the unintended input status from being specified. It has become like. Further, in the port input process, the finalized data may be created based on the input data acquired by the port input process three or more times (for example, the input data of this time, the previous time and the time before the previous time). In such a configuration, the port input process is continuously performed in the start process one less than the number of port input processes required to create the finalized data, so that after the start process is performed. When the port input process is performed, it is possible to create input state data based on the input state of various switches after the start process is performed.
Sa19及びSa20のステップにおいてポート入力処理を行った後は、所定の入力ポートを参照して(Sa21)、リセット/設定スイッチがON状態であるか否かを判定し(Sa22)、リセット/設定スイッチがON状態である場合には、当該リセット/設定スイッチがON状態である旨を示すステータスデータをRAM41cの所定領域に設定する(Sa23)。
After performing the port input processing in the steps of Sa19 and Sa20, referring to the predetermined input port (Sa21), it is determined whether or not the reset / setting switch is in the ON state (Sa22), and the reset / setting switch is used. Is in the ON state, status data indicating that the reset / setting switch is in the ON state is set in a predetermined area of the
なお、リセット/設定スイッチは、設定変更状態とは異なる状態であるときにおいては、エラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては設定値を変更するためのスイッチとして機能する。 The reset / setting switch functions as a reset switch for canceling the error state or the stop state when the state is different from the setting change state, and changes the set value in the setting change state. Functions as a switch.
Sa22のステップにおいてリセット/設定スイッチがON状態でないと判定した場合、及びSa23のステップにおいてステータスデータを設定した後は、電断前の制御状態に復帰した旨を示す復帰コマンドをサブ制御部91に送信した後(Sa24)、タイマ割込み処理(メイン)のコマンド送信処理において、ドア開放検出スイッチ25の検出状態を示すドアコマンドを送信する旨を示すドアコマンド送信フラグをRAM41cの所定領域に設定する(Sa25)。コマンド送信処理では、通常、ドア開放検出スイッチ25の検出状態が変化した場合にドアコマンドを送信するが、RAM41cの所定領域にドアコマンド送信フラグが設定されている場合には、ドア開放検出スイッチ25の検出状態が変化したか否かにかかわらず、ドア開放検出スイッチ25の検出状態を示すドアコマンドを送信する。
When it is determined that the reset / setting switch is not in the ON state in the step of Sa22, and after the status data is set in the step of Sa23, a return command indicating that the control state before the power failure has been restored is sent to the
そして、Sa25のステップにおいてドアコマンド送信フラグを設定した後は、すべてのレジスタをRAM41cに記憶されている電断前の状態に復帰させ(Sa26)、タイマ割込みを許可に設定して(Sa27)、起動処理を終了させてタイマ割込処理(メイン)に移行させた後、スロットマシン1への電力供給が停止される前に実行していたメイン処理における処理に復帰する。
Then, after setting the door command transmission flag in the step of Sa25, all the registers are returned to the state before the power failure stored in the
一方、Sa15のステップにおいて、RAM41cに異常があると判定した場合には、遊技RAM初期化処理を行って(Sa28)、Sa13のステップにおいて設定したRAM破壊時初期化開始アドレスからRAM41cの遊技RAM領域の終端までの領域を初期化する。その後、Sa9〜Sa11のステップまでの処理と同様に、レジスタのうちフラグが設定されるフラグレジスタの値を遊技RAM領域の遊技スタック領域に退避させた後(Sa29)、非遊技プログラムに含まれる非遊技RAM領域初期化処理を呼び出して行って(Sa30)、RAM41cのすべての非遊技RAM領域を初期化した後、呼び出し元に戻り、Sa29のステップにおいて退避させたレジスタを復帰させる(Sa31)。
On the other hand, if it is determined in the step of Sa15 that there is an abnormality in the
Sa31のステップにおいてレジスタを復帰させた後は、ドアコマンド送信フラグを設定し(Sa32)、タイマ割込みを許可に設定し(Sa33)、RAM41cに異常がある旨を示すRAM異常エラーコード(E8)を所定のレジスタに準備して(Sa34)、起動処理を終了させてエラー処理に移行させる。
After returning the register in the step of Sa31, the door command transmission flag is set (Sa32), the timer interrupt is set to enable (Sa33), and the RAM error code (E8) indicating that there is an abnormality in the
なお、エラー処理では、遊技の進行が不能化されるエラー状態に制御する。また、所定のレジスタに準備されているエラーコード(E8)を特定可能なエラーコマンドをサブ制御部91に対して送信し、当該エラーコード(E8)をRAM41cの所定領域にその他の処理でも参照可能なエラーフラグとして設定する。また、当該エラーコード(E8)を遊技補助表示器(特に図示せず)に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード(E8)に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。RAM異常エラーコード(E8)が所定のレジスタに準備されてエラー状態に移行された場合には、設定キースイッチをONにした状態で遊技機に電源を投入することによって、設定変更状態に移行させてすべての遊技RAM領域を初期化させることで、RAM41cのデータの異常を確実に解消してエラー状態を解除することができるようになっている。一方、設定キースイッチをON状態にせずに電源スイッチをONにした場合には、RAM41cの異常が再び検出されて、再度、エラー状態となる。
In the error processing, the error state is controlled so that the progress of the game is disabled. Further, an error command capable of identifying the error code (E8) prepared in the predetermined register is transmitted to the
このように、メイン制御部41は、スロットマシン1への電力供給が開始された後には、起動処理を最初に行うようになっており、起動処理では、スロットマシン1への電力供給が開始された際のメイン制御部41の状態に応じて、タイマ割込処理(メイン)、設定変更処理、エラー処理のいずれかに移行させる。そして、これらの処理に移行させる際に、移行させる処理の種類を特定可能なコマンドをサブ制御部91に対して送信するようになっており、タイマ割込処理(メイン)に移行させる場合すなわち遊技機への電力供給が停止される前の制御状態に復帰した場合には、復帰コマンドをサブ制御部91に対して送信し、設定変更処理を開始して設定変更状態に移行する場合には、設定コマンド(開始)をサブ制御部91に対して送信し、RAM41cの異常によりエラー処理を開始してエラー状態に移行する場合には、エラーコマンドをサブ制御部91に対して送信する。
In this way, the
なお、メイン制御部41は、起動処理から設定変更処理に移行した後は、設定変更状態を経て、ゲームの進行が可能な状態に復帰するようになっており、当該ゲームの進行が可能な状態に復帰する際には、当該設定変更状態が終了されることを特定可能な設定コマンド(終了)をサブ制御部91に対して送信する一方で、復帰コマンドは送信しない。また、RAM41cの異常によりエラー処理に移行した後は、上述のように設定変更処理に移行されてエラー状態が解除されることで、ゲームの進行が可能な状態に復帰するようになっており、エラー処理が終了されてゲームの進行が可能な状態に復帰する場合にも、サブ制御部91に対して復帰コマンドを送信しない。
After shifting from the startup process to the setting change process, the
このように、本実施形態のメイン制御部41は、遊技機への電力供給が開始されることで起動し、遊技プログラムに含まれる起動時設定処理を行い、当該起動時設定処理によりすべての出力ポートを初期化するようになっている。
As described above, the
また、メイン制御部41は、起動時設定処理を行った後、起動処理では、RAM41cに異常があると判定した場合に、非遊技プログラムに含まれる非遊技RAM領域初期化処理を呼び出して、RAM41cの非遊技RAM領域の所定領域を初期化する。また、起動処理では、遊技プログラムに含まれるRAM初期化処理を呼び出して、RAM41cの遊技RAM領域の所定領域を初期化するようになっており、遊技RAM領域は遊技プログラムにより初期化し、非遊技RAM領域は非遊技プログラムにより初期化する構成になっている。
Further, the
次いで、メイン制御部41が行う電断処理(メイン)の制御内容について、図6に基づいて説明する。なお、電断処理(メイン)は、遊技プログラムに含まれるサブルーチンである。
Next, the control content of the power interruption process (main) performed by the
メイン制御部41は、上述のタイマ割込処理(メイン)において電圧低下状態が所定時間継続したと判定される場合に電断処理(メイン)を実行する。つまり、メイン制御部41が、遊技機への電源供給の停止を検出したときに、電断処理を実行する。
The
図6に示すように、電断処理(メイン)では、まず、メイン制御部41が備えるすべてのレジスタの値を、遊技RAM領域の遊技スタック領域に所定の順序で記憶させることで退避させ(Sk1)、スタックポインタSPにより示される遊技スタック領域の現在のアドレスを遊技RAM領域の所定領域に記憶させることで退避させる(Sk2)。なお、メイン制御部41がレジスタの値を記憶させる遊技RAM領域の遊技スタック領域やスタックポインタSPにより示されるアドレスの値を記憶させる遊技RAM領域の所定領域を含む遊技RAM領域の所定領域は、バックアップ電源によりバックアップされており、スロットマシン1への電力供給が停止しても、バックアップ電源により電力が供給される限り当該遊技RAM領域の記憶内容が保存されるようになっている。
As shown in FIG. 6, in the power interruption process (main), first, the values of all the registers included in the
次に、複数の出力ポートすべてを初期化する(Sk3)。これにより、該複数の出力ポートから出力されていた信号の出力が停止される。 Next, all of the plurality of output ports are initialized (Sk3). As a result, the output of the signals output from the plurality of output ports is stopped.
次に、メイン制御部41は、RAM41cの所定領域に破壊診断用データを設定する(Sk4)。本実施形態では、破壊診断用データが設定されるRAM41cの所定領域は、遊技RAM領域であるとする。なお、変形例として、破壊診断用データが設定されるRAM41cの所定領域は、遊技RAM領域とは異なる領域としてもよい。
Next, the
次に、RAM41cの所定領域に設定されているパリティ調整用データをクリアする(Sk5)。次に、メイン制御部41は、RAM41cのすべての格納領域(未使用領域及び未使用スタック領域を含む)に基づいて、パリティ調整用データを計算する。本実施形態では、メイン制御部41は、RAM41cのすべての格納領域(未使用領域及び未使用スタック領域を含む)の排他的論理和が0になるように新たなRAM41cのパリティ調整用データを計算する。次に、メイン制御部41は、当該パリティ調整用データをRAM41cの所定領域に設定する(Sk7)。本実施形態では、パリティ調整用データが設定されるRAM41cの所定領域は、遊技RAM領域であるとする。なお、変形例として、パリティ調整用データが設定されるRAM41cの所定領域は、遊技RAM領域とは異なる領域としてもよい。
Next, the parity adjustment data set in the predetermined area of the
次に、メイン制御部41は、Qレジスタに特定値を設定する。前述のように、特定値とは、遊技RAM領域とは異なる領域である「内部機能レジスタ」の上位アドレス(F5)を特定可能な情報である。
Next, the
電断処理が実行されてから、Sk8の処理が実行されるまでには、Qレジスタには、所定値が設定されている(後述の図7参照)。たとえば、Sk4において破壊診断用データを設定する領域Aの特定、Sk5においてRAMパリティ調整用データが設定されている領域Bの特定、Sk7のRAMパリティ調整用データを設定する領域Cの特定などは、LDQ命令を用いて実行される。Sk4においては、Qレジスタに設定されている所定値と、LDQ命令により指定された値とに基づいて領域Aのアドレスが特定される。また、Sk5においては、Qレジスタに設定されている所定値と、LDQ命令により指定された値とに基づいて領域Bのアドレスが特定される。また、Sk7においては、Qレジスタに設定されている所定値と、LDQ命令により指定された値とに基づいて領域Cのアドレスが特定される。 A predetermined value is set in the Q register between the time when the power failure processing is executed and the time when the Sk8 processing is executed (see FIG. 7 described later). For example, the identification of the area A in which the destruction diagnosis data is set in Sk4, the identification of the area B in which the RAM parity adjustment data is set in Sk5, the identification of the area C in which the RAM parity adjustment data of Sk7 is set, and the like are performed. It is executed using the LDQ instruction. In Sk4, the address of the area A is specified based on the predetermined value set in the Q register and the value specified by the LDQ instruction. Further, in Sk5, the address of the area B is specified based on the predetermined value set in the Q register and the value specified by the LDQ instruction. Further, in Sk7, the address of the area C is specified based on the predetermined value set in the Q register and the value specified by the LDQ instruction.
次に、Sk9において、RAM41cへのアクセスの禁止を設定する。Sk9の禁止処理について説明する。この禁止処理については、特定命令を用いて実行される。具体的には、該禁止処理は、内部機能レジスタ内のRAMアクセス領域(前述のように、アドレスは「F550」)に、アクセス禁止フラグを設定することにより実行される。
Next, in Sk9, the prohibition of access to the
つまり、Sk9においてはLDQ命令で、該RAMアクセス領域の下位アドレス(50)が指定され、該下位アドレスと、Qレジスタに格納されている特定値(該RAMアクセス領域の上位アドレスであるF5)とに基づいて、RAMアクセス領域のアドレスを特定する。Sk9においては、該特定したアドレスの領域であるRAMアクセス領域に対して、LDQ命令によりアクセス禁止フラグを設定する。 That is, in Sk9, the lower address (50) of the RAM access area is specified by the LDQ instruction, and the lower address and the specific value stored in the Q register (F5 which is the upper address of the RAM access area) are used. The address of the RAM access area is specified based on. In Sk9, the access prohibition flag is set by the LDQ instruction for the RAM access area which is the area of the specified address.
次に、Sk10において、タイマ割込の禁止を設定する。Sk10の禁止処理について説明する。この禁止処理については、LDQ命令を用いて実行される。具体的には、該禁止処理は、内部機能レジスタ内のタイマ割込領域(アドレスは「F560」とする)に、タイマ割込禁止フラグを設定することにより実行される。 Next, in Sk10, the prohibition of timer interrupt is set. The prohibition process of Sk10 will be described. This prohibition process is executed by using the LDQ instruction. Specifically, the prohibition process is executed by setting the timer interrupt prohibition flag in the timer interrupt area (address is "F560") in the internal function register.
つまり、Sk10においてはLDQ命令で、該タイマ割込領域の下位アドレス(60)が指定され、該下位アドレスと、Qレジスタに格納されている特定値(該タイマ割込領域の上位アドレスであるF5)とに基づいて、タイマ割込領域のアドレスを特定する。Sk10においては、該特定したアドレスの領域であるタイマ割込領域に対して、LDQ命令によりタイマ割込禁止フラグを設定する。以下では、Sk9およびSk10で説明したRAMアクセス禁止フラグと、割込禁止フラグとを「電断時設定値」ともいう。電断時設定値とは、「電源供給の停止に応じた値」ともいえる。 That is, in Sk10, the lower address (60) of the timer interrupt area is specified by the LDQ instruction, and the lower address and the specific value stored in the Q register (F5, which is the upper address of the timer interrupt area). ) And the address of the timer interrupt area is specified. In Sk10, the timer interrupt prohibition flag is set by the LDQ instruction for the timer interrupt area which is the area of the specified address. In the following, the RAM access prohibition flag and the interrupt prohibition flag described in Sk9 and Sk10 are also referred to as “set value at the time of power failure”. It can be said that the set value at the time of power failure is a "value corresponding to the stop of power supply".
Sk10の処理の終了後、ループ処理に入る。ループ処理では、電圧低下信号の出力状況を監視した状態で待機する。この状態で、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理(メイン)からプログラムをスタートさせる。一方、電圧低下信号が入力されたまま電圧が低下すると内部的に動作停止状態になる。 After the processing of Sk10 is completed, the loop processing is started. In the loop process, the device waits while monitoring the output status of the voltage drop signal. In this state, when the voltage drop signal is no longer input, the voltage recovery is determined, and the program is started from the start processing (main). On the other hand, if the voltage drops while the voltage drop signal is being input, the operation is stopped internally.
以上の処理によって、外部からのAC100Vの電力供給が停止される場合には、電断処理(メイン)が実行され、電断前のレジスタの値が遊技RAM領域の遊技スタック領域に退避されるとともに、当該遊技スタック領域を含むRAM41cの遊技RAM領域の所定領域の内容もバックアップ電源が供給されることで保持されるため、スロットマシン1への電力供給が再開された際に実行される起動処理(メイン)において、電断前の制御状態に復帰させることが可能となる。
When the power supply of AC100V from the outside is stopped by the above processing, the power interruption processing (main) is executed, and the register value before the power interruption is saved in the game stack area of the game RAM area. Since the contents of the predetermined area of the game RAM area of the
[特定値の設定タイミングと所定値の設定タイミングについて]
次に、図7を用いて、Qレジスタへの特定値の設定タイミングと、Qレジスタへの所定値の設定タイミングとを説明する。なお、図7に示す各タイミングは、あくまで一例を示したものであり、各タイミング間の期間は他の期間となってもよい。
[About the setting timing of specific values and the setting timing of predetermined values]
Next, with reference to FIG. 7, the timing of setting a specific value in the Q register and the timing of setting a predetermined value in the Q register will be described. Note that each timing shown in FIG. 7 is merely an example, and the period between each timing may be another period.
タイミングT0で、電断処理が開始されたとする。電断処理(図6参照)中のタイミングT1において、Qレジスタに特定値が設定されたとする(図6のSk8)。このタイミングT1までの期間においてはQレジスタに所定値が設定されている。また、タイミングT1以降においては、Qレジスタに特定値が設定される。また、タイミングT1の後のタイミングT2において、RAM41cへのアクセスが禁止に設定される(Sk9)。そして、タイミングT3において、電断処理が終了したとする。なお、図7の例では、Qレジスタに特定値が設定されたときに、RAM41cへのアクセスが禁止されるようになっているが、Qレジスタに特定値が設定された後、他の処理を実行してから、RAM41cへのアクセスを禁止するようにしてもよい。
It is assumed that the power interruption process is started at the timing T0. It is assumed that a specific value is set in the Q register at the timing T1 during the power interruption process (see FIG. 6) (Sk8 in FIG. 6). A predetermined value is set in the Q register in the period up to this timing T1. Further, after the timing T1, a specific value is set in the Q register. Further, at the timing T2 after the timing T1, access to the
また、タイミングT4で起動処理(図4および図5)が開始されたとする。この起動処理が実行されたときに、Qレジスタに特定値が設定される(図4のSa1A参照)。これにより、Qレジスタには特定値が設定されることになる。その後、タイミングT5において、RAM41cへのアクセスが許可される(Sa3A参照)。タイミングT5の後のタイミングT6でQレジスタに所定値が設定される(Sa3B参照)。これにより、Qレジスタには特定値が設定されずに所定値が設定されることになる。その後、タイミングT7で起動処理が終了したとする。
Further, it is assumed that the start-up process (FIGS. 4 and 5) is started at the timing T4. When this activation process is executed, a specific value is set in the Q register (see Sa1A in FIG. 4). As a result, a specific value is set in the Q register. After that, at timing T5, access to the
[本実施形態の効果について]
次に、本実施形態の効果を説明する。
[About the effect of this embodiment]
Next, the effect of this embodiment will be described.
(1−1) 前述したように、メイン制御部41がレジスタの値を記憶させる遊技RAM領域の遊技スタック領域やスタックポインタSPにより示されるアドレスの値を記憶させる遊技RAM領域の所定領域を含む遊技RAM領域の所定領域は、バックアップ電源によりバックアップされており、電断処理では、Sk1に示すレジスタを遊技RAM領域に退避させる処理、Sk2のスタックポインタを遊技RAM領域に退避させる処理などが実行される。また、起動処理においては、該遊技RAM領域に格納されたデータに基づいて、制御状態(電断処理実行時の制御状態)を復帰させる。したがって、遊技RAM領域は重要な領域である。
(1-1) As described above, the game including the game stack area of the game RAM area in which the
また、電断処理は、電圧低下状態が所定時間継続したと判定される場合に実行される。したがって、電断処理が実行された場合というのは、電源供給の観点でいうと、不安定な状態である。このような不安定な状態では、誤動作などによりLDQ命令が実行されてしまう場合がある。 Further, the power interruption process is executed when it is determined that the voltage drop state has continued for a predetermined time. Therefore, the case where the power interruption process is executed is an unstable state from the viewpoint of power supply. In such an unstable state, the LDQ instruction may be executed due to a malfunction or the like.
仮に、電断処理において、Qレジスタに所定値(遊技RAM領域の上位アドレス「F0」を示す値)が格納されている場合において、誤動作などによりLDQ命令が実行されてしまうと、重要な領域である遊技RAM領域にアクセス(遊技機の設計者が意図しないアクセス)が実行されてしまうことになる。 If a predetermined value (a value indicating the upper address "F0" of the game RAM area) is stored in the Q register in the power interruption process and the LDQ instruction is executed due to a malfunction or the like, the LDQ instruction is executed in an important area. Access to a certain game RAM area (access not intended by the designer of the game machine) will be executed.
そこで、本実施形態では、電断処理の所定タイミング(図7の例では、タイミングT1)においては、Qレジスタに、特定値が格納される。該特定値は、遊技RAM領域とは異なる領域(本実施形態では、内部機能レジスタ)の上位アドレス「F5」を特定可能な値である。したがって、電源供給の観点で不安定な状態であるときに実行される電断処理において、誤動作などによりLDQ命令が実行されてしまったとしても、遊技RAM領域にはアクセスされない(内部機能レジスタにアクセスされる)。したがって、設計者が意図しないアクセスが実行されてしまう可能性を低減できる。 Therefore, in the present embodiment, a specific value is stored in the Q register at a predetermined timing of the power interruption process (timing T1 in the example of FIG. 7). The specific value is a value capable of specifying the upper address "F5" of an area different from the game RAM area (internal function register in this embodiment). Therefore, even if the LDQ instruction is executed due to a malfunction or the like in the power interruption process executed when the power supply is unstable, the game RAM area is not accessed (access to the internal function register). Will be). Therefore, it is possible to reduce the possibility that the access that the designer does not intend is executed.
また、起動処理は、電源の供給が開始された直後に実行される処理である。したがって、起動処理が実行された場合というのは、電源供給の観点でいうと、不安定な状態である。このような不安定な状態では、誤動作などによりLDQ命令が実行されてしまう場合がある。 The start-up process is a process executed immediately after the power supply is started. Therefore, the case where the startup process is executed is an unstable state from the viewpoint of power supply. In such an unstable state, the LDQ instruction may be executed due to a malfunction or the like.
仮に、起動処理において、Qレジスタに所定値(遊技RAM領域の上位アドレス「F0」を示す値)が格納されている場合において、誤動作などによりLDQ命令が実行されてしまうと、重要な領域である遊技RAM領域にアクセス(設計者が意図しないアクセス)が実行されてしまうことになる。 If a predetermined value (a value indicating the upper address "F0" of the game RAM area) is stored in the Q register in the start-up process and the LDQ instruction is executed due to a malfunction or the like, it is an important area. Access to the game RAM area (access not intended by the designer) will be executed.
そこで、本実施形態では、起動処理の所定タイミング(図7の例では、タイミングT4)においては、Qレジスタに、特定値が格納される。該特定値は、遊技RAM領域とは異なる領域(本実施形態では、内部機能レジスタ)の上位アドレス「F5」を特定可能な値である。したがって、電源供給の観点で不安定な状態であるときに実行される起動処理において、誤動作などによりLDQ命令が実行されてしまったとしても、遊技RAM領域にはアクセスされない(内部機能レジスタにアクセスされる)。したがって、設計者が意図しないアクセスが実行されてしまう可能性を低減できる。 Therefore, in the present embodiment, a specific value is stored in the Q register at a predetermined timing of the start processing (timing T4 in the example of FIG. 7). The specific value is a value capable of specifying the upper address "F5" of an area different from the game RAM area (internal function register in this embodiment). Therefore, even if the LDQ instruction is executed due to a malfunction in the startup process executed when the power supply is unstable, the game RAM area is not accessed (the internal function register is accessed). ). Therefore, it is possible to reduce the possibility that the access that the designer does not intend is executed.
また、記憶領域(遊技RAM領域、および内部機能レジスタを含む)のアドレスは、第1情報(たとえば、該アドレスの上位アドレス)と第2情報(たとえば、該アドレスの下位アドレス)とを含み、たとえば、第1情報は、所定記憶領域(たとえば、Qレジスタ)に記憶させておくことが好ましい。そして、特定命令(たとえば、LDQ命令)では、第1情報と第2情報とからアドレスを特定し、特定したアドレスの記憶領域からデータを読み出す。この読み出しの際には、該所定記憶領域に記憶されている第1情報と、該特定命令で指定された第2情報とからアドレスを特定する。このような構成によれば、特定命令において第1情報および第2情報の双方を指定してアドレスを特定する構成と比較して、特定命令のプログラム容量を削減することができる。 Further, the address of the storage area (including the game RAM area and the internal function register) includes the first information (for example, the upper address of the address) and the second information (for example, the lower address of the address), for example. , The first information is preferably stored in a predetermined storage area (for example, Q register). Then, in the specific instruction (for example, LDQ instruction), the address is specified from the first information and the second information, and the data is read out from the storage area of the specified address. At the time of this reading, the address is specified from the first information stored in the predetermined storage area and the second information specified by the specific instruction. According to such a configuration, the program capacity of the specific instruction can be reduced as compared with the configuration in which both the first information and the second information are specified in the specific instruction to specify the address.
また、電断処理および起動処理において、Qレジスタに所定値が設定されているときにおいて、遊技RAM領域(該所定値からアドレスを特定可能な領域)を用いた処理(たとえば、遊技RAM領域からデータを読み出す処理、または、遊技RAM領域にデータを書き込む処理など)を実行する場合には、LDQ命令により実行する。したがって、該遊技RAM領域を用いた処理におけるLDQ命令のプログラム容量を削減することができる。 Further, in the power interruption processing and the start processing, when a predetermined value is set in the Q register, processing using the game RAM area (area in which the address can be specified from the predetermined value) (for example, data from the game RAM area). When executing the process of reading the data, the process of writing the data to the game RAM area, etc.), the LDQ instruction is used. Therefore, the program capacity of the LDQ instruction in the processing using the game RAM area can be reduced.
また、電断処理および起動処理において、Qレジスタに特定値が設定されているときには、内部機能レジスタ(該特定値からアドレスを特定可能な領域)を用いた処理(たとえば、内部機能レジスタにデータを書き込む処理など)を実行する場合には、LDQ命令により実行する。したがって、該内部機能レジスタを用いた処理におけるLDQ命令のプログラム容量を削減することができる。 Further, in the power interruption processing and the start processing, when a specific value is set in the Q register, processing using the internal function register (area in which the address can be specified from the specific value) (for example, data is stored in the internal function register). When executing the writing process, etc.), it is executed by the LDQ instruction. Therefore, the program capacity of the LDQ instruction in the processing using the internal function register can be reduced.
(1−2) また、スロットマシン1への電力供給が開始されたときには、電断処理に先立って、起動時設定処理が実行される。この起動時設定処理では、内部機能レジスタが初期化される。このように、電断処理で特定値が設定された以降に、該電断処理内において、誤動作などによりLDQ命令が実行された場合であっても、該LDQ命令では、起動時設定処理で初期化される内部機能レジスタにアクセスされることになる。したがって、特段の問題が生じる可能性を低減できる。 (1-2) When the power supply to the slot machine 1 is started, the start-up setting process is executed prior to the power failure process. In this startup setting process, the internal function register is initialized. In this way, even if the LDQ instruction is executed due to a malfunction or the like in the power interruption process after the specific value is set in the power interruption process, the LDQ instruction is initially set in the startup setting process. The internal function register to be converted will be accessed. Therefore, the possibility of a particular problem can be reduced.
(1−3) また、記憶領域(たとえば、遊技RAM領域)に格納されているデータが正常であるか否かを確認するための確認用データ(たとえば、図6のSk4に示すRAM破壊診断用固定データおよびSk7に示すRAMパリティ調整用データ)を生成して前記特定記憶領域に記憶させる確認用データ生成処理(たとえば、図6のSk4およびSk7の処理)を、電源供給の停止が検出されたときに(たとえば、電断処理において)実行する。また、Qレジスタには、確認用データ生成処理が実行された後に、特定値が設定される(たとえば、図6に示すように、Sk4およびSk7の処理が実行された後に、Sk8において、Qレジスタに特定値が入力される)。 (1-3) Further, confirmation data for confirming whether or not the data stored in the storage area (for example, the game RAM area) is normal (for example, for RAM destruction diagnosis shown in Sk4 of FIG. 6). A stoppage of power supply was detected in the confirmation data generation process (for example, the process of Sk4 and Sk7 in FIG. 6) that generates fixed data and RAM parity adjustment data shown in Sk7 and stores them in the specific storage area. Occasionally (for example, in a power failure process). Further, a specific value is set in the Q register after the confirmation data generation process is executed (for example, as shown in FIG. 6, after the processes of Sk4 and Sk7 are executed, the Q register is set in Sk8. A specific value is entered in).
したがって、確認用データが記憶された特定記憶領域に記憶された後に、誤って特定命令が実行された場合であっても、該確認用データが記憶された特定記憶領域にアクセスする可能性を低減できる。 Therefore, even if a specific instruction is erroneously executed after the confirmation data is stored in the specific storage area, the possibility of accessing the specific storage area in which the confirmation data is stored is reduced. it can.
(1−4) また、電断時設定値(図6のSk9およびSk10)の内部機能レジスタへの格納も、LDQ命令で実行される。具体的には、Sk8においてQレジスタに格納された特定値(上位アドレスがF5)と、Sk9およびSk10それぞれにおけるLDQ命令で指定された値(下位アドレス)とに基づいて、RAM破壊診断用固定データおよびRAMパリティ調整用データは、内部機能レジスタ内に格納される。したがって、このような構成によれば、LDQ命令において内部機能レジスタの全てのアドレスを指定してアドレスを特定する構成と比較して、LDQ命令のプログラム容量を削減することができる。 (1-4) Further, the storage of the set values at the time of power failure (Sk9 and Sk10 in FIG. 6) in the internal function register is also executed by the LDQ instruction. Specifically, fixed data for RAM destruction diagnosis is based on a specific value (upper address is F5) stored in the Q register in Sk8 and a value (lower address) specified by the LDQ instruction in each of Sk9 and Sk10. And the RAM parity adjustment data is stored in the internal function register. Therefore, according to such a configuration, the program capacity of the LDQ instruction can be reduced as compared with the configuration in which all the addresses of the internal function registers are specified and the addresses are specified in the LDQ instruction.
(1−5) また、図3にも示すように、遊技RAM領域の上位アドレスは「F0」であり、該遊技RAM領域には、遊技プログラムで用いるデータが格納される。一方、非遊技プログラムで用いるデータが格納される非遊技RAM領域の上位アドレスは「F3」である。また、図7などにも示したように、起動処理が実行されたときから電断処理が実行されるまでの期間においては、Qレジスタに、「F0」が設定されている。仮に、非遊技プログラムでLDQ命令が用いられた場合には、実際は、上位アドレスが「F3」である非遊技RAM領域にアクセスされるべきであるところ、上位アドレスが「F0」である遊技RAM領域にアクセスされてしまう。そうすると、重要な領域である遊技RAM領域にアクセス(遊技機の設計者が意図しないアクセス)が実行されてしまうことになる。
そこで、遊技プログラムでは、LDQ命令が用いられる一方、非遊技プログラムでは、LDQ命令が用いられないようになっている。したがって、上位アドレスが「F0」である遊技RAM領域に対して、遊技機の設計者が意図しないアクセスが実行されてしまうことを低減できる。
(1-5) Further, as shown in FIG. 3, the upper address of the game RAM area is "F0", and the data used in the game program is stored in the game RAM area. On the other hand, the upper address of the non-game RAM area in which the data used in the non-game program is stored is "F3". Further, as shown in FIG. 7 and the like, “F0” is set in the Q register during the period from the execution of the start-up process to the execution of the power interruption process. If the LDQ instruction is used in a non-game program, the non-game RAM area whose higher address is "F3" should actually be accessed, but the game RAM area whose higher address is "F0". Will be accessed. Then, access to the game RAM area, which is an important area (access not intended by the designer of the game machine), will be executed.
Therefore, while the LDQ instruction is used in the game program, the LDQ instruction is not used in the non-game program. Therefore, it is possible to reduce the possibility that the game machine designer unintentionally accesses the game RAM area whose higher address is "F0".
(1−6) また、図3にも示すように、遊技プログラム領域の上位アドレスは「00」であり、該遊技プログラム領域には、遊技プログラムで用いるプログラム(サブルーチン)が格納されている。一方、非遊技プログラムで用いるプログラム(サブルーチン)が格納される非遊技プログラム領域の上位アドレスは「20」である。また、ベクターテーブル領域には、遊技プログラム領域の上位アドレスを特定可能な値(たとえば、「00」)が記憶されている。仮に、非遊技プログラムで特別命令(CALLV命令)が用いられた場合には、実際は、上位アドレスが「20」である非遊技プログラム領域にアクセスされるべきであるところ、上位アドレスが「00」である遊技プログラム領域(遊技プログラムで用いられるプログラム(サブルーチン)が格納されている記憶領域)にアクセスされてしまう。そうすると、非遊技プログラムにおいて、遊技プログラム領域にアクセス(遊技機の設計者が意図しないアクセス)が実行されてしまうことになる。 (1-6) Further, as shown in FIG. 3, the upper address of the game program area is "00", and the program (subroutine) used in the game program is stored in the game program area. On the other hand, the upper address of the non-game program area in which the program (subroutine) used in the non-game program is stored is "20". Further, in the vector table area, a value (for example, "00") that can specify the upper address of the game program area is stored. If a special instruction (CALLV instruction) is used in a non-game program, the non-game program area whose upper address is "20" should actually be accessed, but the upper address is "00". A certain game program area (a storage area in which a program (subroutine) used in the game program is stored) is accessed. Then, in the non-game program, access to the game program area (access not intended by the designer of the game machine) is executed.
また、RST命令で指定される値に対応する特定アドレスの記憶領域には、遊技プログラムで用いられるプログラム(サブルーチン)が格納されている。仮に、非遊技プログラムで特別命令(RST命令)が用いられた場合には、実際は、非遊技プログラム領域にアクセスされるべきであるところ、遊技プログラムで用いられるプログラム(サブルーチン)が格納されている遊技プログラム領域にアクセスされてしまう。そうすると、非遊技プログラムにおいて、遊技プログラム領域にアクセス(遊技機の設計者が意図しないアクセス)が実行されてしまうことになる。
そこで、遊技プログラムでは、特別命令が用いられる一方、非遊技プログラムでは、特別命令が用いられないようになっている。したがって、遊技プログラム領域に対して、遊技機の設計者が意図しないアクセスが実行されてしまうことを低減できる。
Further, a program (subroutine) used in the game program is stored in the storage area of the specific address corresponding to the value specified by the RST instruction. If a special instruction (RST instruction) is used in a non-game program, the non-game program area should actually be accessed, but the game in which the program (subroutine) used in the game program is stored. The program area is accessed. Then, in the non-game program, access to the game program area (access not intended by the designer of the game machine) is executed.
Therefore, while special commands are used in game programs, special commands are not used in non-game programs. Therefore, it is possible to reduce the execution of unintended access to the game program area by the designer of the game machine.
(2−1) また、Qレジスタには、遊技RAM領域へのアクセスが許可されるまでは(たとえば、図7のタイミングT5に示すRAMアクセスが許可されるまでは)、遊技RAM領域とは異なる領域である内部機能レジスタのアドレスを特定可能な特定値(たとえば、内部機能レジスタの上位アドレス「F5」を特定可能な特定値)が記憶される。また、遊技RAM領域へのアクセスが許可された以降(たとえば、図7のタイミングT6に示すRAMアクセスが許可された以降)は遊技RAM領域のアドレスを特定可能な所定値(たとえば、遊技RAM領域の上位アドレス「F0」を特定可能な所定値)が記憶される。 (2-1) Further, the Q register is different from the game RAM area until the access to the game RAM area is permitted (for example, until the RAM access shown at the timing T5 in FIG. 7 is permitted). A specific value that can specify the address of the internal function register that is an area (for example, a specific value that can specify the upper address "F5" of the internal function register) is stored. Further, after the access to the game RAM area is permitted (for example, after the RAM access shown at the timing T6 in FIG. 7 is permitted), a predetermined value that can specify the address of the game RAM area (for example, the game RAM area). A predetermined value that can identify the upper address "F0") is stored.
また、遊技RAM領域へのアクセスが許可されるまでの期間(つまり、遊技RAM領域へのアクセスが禁止されている期間)においては、遊技RAM領域は、重要な領域であるといえる。 Further, it can be said that the game RAM area is an important area in the period until the access to the game RAM area is permitted (that is, the period in which the access to the game RAM area is prohibited).
仮に、RAMアクセスが許可されるまでの期間(つまり、RAMアクセスが禁止されている期間、たとえば、タイミングT4〜T5までの期間)中に、Qレジスタに所定値(遊技RAM領域の上位アドレス「F0」を示す値)が格納されている場合において、誤動作などによりLDQ命令が実行されてしまう場合がある。この場合には、アクセスが禁止されてしまう遊技RAM領域(重要な領域)にアクセス(設計者が意図しないアクセス)が実行されてしまうことになる。本実施形態では、アクセスが禁止されている遊技RAM領域にアクセスされると、イリーガルアクセスリセットを発生させることで、遊技の進行を不能化させる。したがって、誤動作などによりLDQ命令が実行されてしまうと、不用意に、遊技の進行が不能化されてしまうことになる。 Temporarily, during the period until RAM access is permitted (that is, the period during which RAM access is prohibited, for example, the period from timings T4 to T5), a predetermined value (upper address "F0" of the game RAM area is set in the Q register). ”) Is stored, the LDQ instruction may be executed due to a malfunction or the like. In this case, access (access not intended by the designer) will be executed in the game RAM area (important area) where access is prohibited. In the present embodiment, when the game RAM area for which access is prohibited is accessed, an illegal access reset is generated, thereby disabling the progress of the game. Therefore, if the LDQ command is executed due to a malfunction or the like, the progress of the game is inadvertently disabled.
そこで、本実施形態では、RAMアクセスが許可されるまでは、特定値(内部機能レジスタの上位アドレスを特定可能な値)が記憶される。したがって、RAMアクセスが許可されるまでにおいて、誤動作などによりLDQ命令が実行されてしまっても、遊技RAM領域にはアクセスされないことから、不用意に、遊技の進行が不能化されてしまう可能性を低減できる。 Therefore, in the present embodiment, a specific value (a value that can specify the upper address of the internal function register) is stored until RAM access is permitted. Therefore, even if the LDQ instruction is executed due to a malfunction or the like until the RAM access is permitted, the game RAM area is not accessed, so that the progress of the game may be inadvertently disabled. Can be reduced.
なお、変形例として、RAMアクセスが禁止されているときにおいて、遊技RAM領域にアクセスされても「遊技の進行が不能化させる不能化処理」を実行しない構成(以下、「不能化処理非実行構成」という。)としてもよい。このような構成の場合において、RAMアクセスが禁止されているときに、誤動作などによりLDQ命令が実行されることにより遊技RAM領域にアクセスされたときには、該遊技RAM領域内に記憶されているデータが変更されてしまう可能性がある。 As a modification, when RAM access is prohibited, even if the game RAM area is accessed, the "disable processing that disables the progress of the game" is not executed (hereinafter, the "disable processing non-execution configuration"). ".) May be used. In the case of such a configuration, when the game RAM area is accessed by executing the LDQ instruction due to a malfunction or the like when the RAM access is prohibited, the data stored in the game RAM area is stored. It may be changed.
これに対し、本実施形態では、RAMアクセスが禁止されているときには、Qレジスタに特定値が設定されている。したがって、不能化処理非実行構成が採用されている遊技機において、誤動作などによりLDQ命令が実行されたとしても、遊技RAM領域にアクセスされてしまうこと可能性を低減できる。 On the other hand, in the present embodiment, when RAM access is prohibited, a specific value is set in the Q register. Therefore, it is possible to reduce the possibility that the game RAM area will be accessed even if the LDQ instruction is executed due to a malfunction or the like in the gaming machine in which the disabling processing non-execution configuration is adopted.
(2−2) また、信号領域には、電断検出回路(図示せず)から出力される停電検出信号に係る情報(たとえば、停電検出信号フラグ)が格納される。メイン制御部41は、該停電検出信号に基づいて(たとえば、図4のSa1およびSa2参照)、起動処理を実行する。また、Sa1の入力ポートの信号領域を参照する際には、Sa1AにおいてQレジスタに設定された特定値(信号領域の上位アドレス)と、Sa1AでのLDQ命令により指定された値(信号領域の下位アドレス)とに基づいて信号領域のアドレスを特定する。Sa1においては、該特定したアドレスの領域である信号領域(入力ポートの信号領域)を参照する。したがって、LDQ命令において信号領域の全てのアドレスを指定してアドレスを特定する構成と比較して、Sa1の処理でのLDQ命令のプログラム容量を削減することができる。
(2-2) Further, information (for example, a power failure detection signal flag) related to a power failure detection signal output from a power failure detection circuit (not shown) is stored in the signal area. The
(2−3) また、図4の起動処理において、前記記憶領域に記憶されているデータを用いて、該データが正常であるか否かを判定する判定処理を実行する。本実施形態では、この判定処理は、図4のSa5〜Sa7に示すように、RAM破壊診断用固定データおよびRAMパリティ調整用データを用いてRAM41cを診断する処理である。また、Qレジスタには、この判定処理が実行されるまで、特定値が記憶される(たとえば、図4の例では、Sa7の処理が実行されるまでに特定値が設定される)。したがって、判定処理が実行されるまでに、誤ってLDQ命令が実行された場合であっても、たとえば、遊技RAM領域にアクセスされる可能性を低減できる。
(2-3) Further, in the activation process of FIG. 4, a determination process of determining whether or not the data is normal is executed using the data stored in the storage area. In the present embodiment, as shown in Sa5 and Sa7 of FIG. 4, this determination process is a process of diagnosing the
また、本実施形態では、判定処理に使用される判定用データ(RAM破壊診断用固定データおよびRAMパリティ調整用データ)は、遊技RAM領域に格納される。したがって、この判定処理が実行されるまで、つまり、遊技RAM領域に格納される判定用データが記憶されているときに、該遊技RAM領域に不本意にアクセスされることにより該判定用データが変更される可能性を低減できる。 Further, in the present embodiment, the determination data (fixed data for RAM destruction diagnosis and RAM parity adjustment data) used for the determination process is stored in the game RAM area. Therefore, until this determination process is executed, that is, when the determination data stored in the game RAM area is stored, the determination data is changed by unintentionally accessing the game RAM area. The possibility of being done can be reduced.
(2−4) また、起動時設定値(図4のSa1B)の内部機能レジスタへの格納も、LDQ命令で実行される。具体的には、Sa1AにおいてQレジスタに格納された特定値(上位アドレスがF5)と、該LDQ命令で該N個それぞれについて指定された値(下位アドレス)とに基づいて、該N個の設定値は内部機能レジスタ内のN個の領域それぞれに格納される。したがって、このような構成によれば、LDQ命令において内部機能レジスタの全てのアドレスを指定してアドレスを特定する構成と比較して、LDQ命令のプログラム容量を削減することができる。 (2-4) Further, the storage of the startup set value (Sa1B in FIG. 4) in the internal function register is also executed by the LDQ instruction. Specifically, the N settings are set based on the specific values (upper address is F5) stored in the Q register in Sa1A and the values (lower addresses) specified for each of the N in the LDQ instruction. The value is stored in each of the N areas in the internal function register. Therefore, according to such a configuration, the program capacity of the LDQ instruction can be reduced as compared with the configuration in which all the addresses of the internal function registers are specified and the addresses are specified in the LDQ instruction.
(3−1) また、Qレジスタには、遊技RAM領域へのアクセスが禁止されるまでは(たとえば、図7のタイミングT2に示すRAMアクセスが禁止されるまでは)、遊技RAM領域のアドレスを特定可能な所定値(たとえば、遊技RAM領域の上位アドレス「F0」を特定可能な所定値)が記憶される。また、遊技RAM領域へのアクセスが禁止された以降(たとえば、図7のタイミングT2に示すRAMアクセスが禁止された以降)は遊技RAM領域とは異なる領域である内部機能レジスタのアドレスを特定可能な特定値(たとえば、内部機能レジスタの上位アドレス「F5」を特定可能な値)が記憶される。 (3-1) Further, the address of the game RAM area is stored in the Q register until the access to the game RAM area is prohibited (for example, until the RAM access shown at the timing T2 in FIG. 7 is prohibited). A identifiable predetermined value (for example, a predetermined value that can identify the upper address "F0" of the game RAM area) is stored. Further, after the access to the game RAM area is prohibited (for example, after the RAM access shown at the timing T2 in FIG. 7 is prohibited), the address of the internal function register, which is an area different from the game RAM area, can be specified. A specific value (for example, a value capable of specifying the upper address "F5" of the internal function register) is stored.
また、遊技RAM領域へのアクセスが禁止された以降においては、遊技RAM領域は、重要な領域であるといえる。 Further, after the access to the game RAM area is prohibited, it can be said that the game RAM area is an important area.
仮に、RAMアクセスが禁止された以降の期間(たとえば、タイミングT2〜T3までの期間)中に、Qレジスタに所定値(遊技RAM領域の上位アドレス「F0」を示す値)が格納されている場合において、誤動作などによりLDQ命令が実行されてしまう場合がある。この場合には、アクセスが禁止されてしまう遊技RAM領域(重要な領域)にアクセス(設計者が意図しないアクセス)が実行されてしまうことになる。本実施形態では、アクセスが禁止されている遊技RAM領域にアクセスされると、遊技の進行を不能化させる。したがって、誤動作などによりLDQ命令が実行されてしまうと、不用意に、遊技の進行が不能化されてしまうことになる。 If a predetermined value (a value indicating the upper address "F0" of the game RAM area) is stored in the Q register during the period after the RAM access is prohibited (for example, the period from timings T2 to T3). In some cases, the LDQ instruction may be executed due to a malfunction or the like. In this case, access (access not intended by the designer) will be executed in the game RAM area (important area) where access is prohibited. In the present embodiment, when the game RAM area whose access is prohibited is accessed, the progress of the game is disabled. Therefore, if the LDQ command is executed due to a malfunction or the like, the progress of the game is inadvertently disabled.
そこで、本実施形態では、RAMアクセスが禁止された以降は、特定値(内部機能レジスタの上位アドレスを特定可能な値)が記憶される。したがって、RAMアクセスが禁止された以降において、誤動作などによりLDQ命令が実行されてしまっても、遊技RAM領域にはアクセスされないことから、不用意に、遊技の進行が不能化されてしまう可能性を低減できる。 Therefore, in the present embodiment, after the RAM access is prohibited, a specific value (a value that can specify the upper address of the internal function register) is stored. Therefore, even if the LDQ instruction is executed due to a malfunction or the like after the RAM access is prohibited, the game RAM area is not accessed, so that the progress of the game may be inadvertently disabled. Can be reduced.
なお、RAMアクセスが禁止されているときにおいて、遊技RAM領域にアクセスされても「遊技の進行が不能化させる不能化処理」を実行しない構成(以下、「不能化処理非実行構成」という。)としてもよい。このような構成の場合において、RAMアクセスが禁止されているときに、誤動作などによりLDQ命令が実行されることにより遊技RAM領域にアクセスされたときには、該遊技RAM領域内に記憶されているデータが変更されてしまう可能性がある。 When RAM access is prohibited, a configuration that does not execute the "disable processing that disables the progress of the game" even if the game RAM area is accessed (hereinafter, referred to as "disable processing non-execution configuration"). May be. In the case of such a configuration, when the game RAM area is accessed by executing the LDQ instruction due to a malfunction or the like when the RAM access is prohibited, the data stored in the game RAM area is stored. It may be changed.
これに対し、本実施形態では、RAMアクセスが禁止されているときには、Qレジスタに特定値が設定されている。したがって、不能化処理非実行構成が採用されている遊技機において、誤動作などによりLDQ命令が実行されたとしても、遊技RAM領域にアクセスされてしまうこと可能性を低減できる。 On the other hand, in the present embodiment, when RAM access is prohibited, a specific value is set in the Q register. Therefore, it is possible to reduce the possibility that the game RAM area will be accessed even if the LDQ instruction is executed due to a malfunction or the like in the gaming machine in which the disabling processing non-execution configuration is adopted.
[変形例]
以上、本発明における主な実施の形態を説明してきたが、本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形例について説明する。
[Modification example]
Although the main embodiments of the present invention have been described above, the present invention is not limited to the above embodiments, and various modifications and applications are possible. Hereinafter, modifications of the above-described embodiment applicable to the present invention will be described.
(1) 本実施形態では、図6の電断処理に示したように、Sk8の特定値のQレジスタへの設定は、Sk9のRAMアクセス禁止フラグの設定前に実行するとして説明した。しかしながら、Sk8の処理は、Sk9の処理の後に実行するようにしてもよい。または、Sk8の処理と、Sk9の処理とは同時に実行するようにしてもよい。つまり、Sk8の処理は、RAM41cへのアクセスが禁止される際に(RAM41cへのアクセスが禁止されるにあたって)、実行される処理である。このような構成であっても、本実施形態と同様の効果を奏する。
(1) In the present embodiment, as shown in the power failure process of FIG. 6, it has been described that the setting of the specific value of Sk8 in the Q register is executed before the setting of the RAM access prohibition flag of Sk9. However, the Sk8 process may be executed after the Sk9 process. Alternatively, the Sk8 process and the Sk9 process may be executed at the same time. That is, the Sk8 process is a process that is executed when access to the
(2) 本実施形態では、起動処理において(電断復帰時において)、電断処理内での(電断検出時での)制御状態に復帰させる手法として、遊技RAM領域にバックアップ電源を供給するとともに、図6のSk1およびSk2に示したように、レジスタおよびスタックポインタを退避させるとして説明した。しかしながら、電断検出時の制御状態に復帰させる手法は他の手法を採用してもよい。 (2) In the present embodiment, a backup power supply is supplied to the game RAM area as a method of returning to the control state (at the time of power failure detection) in the power failure process (at the time of power failure recovery) in the startup process. At the same time, as shown in Sk1 and Sk2 of FIG. 6, it has been described that the register and the stack pointer are saved. However, another method may be adopted as the method for returning to the control state at the time of power failure detection.
たとえば、電断が検出されたときの制御状態を示すデータのうち、少なくとも一部をバックアップ領域に退避させる構成を採用するようにしてもよい。このような構成を採用した場合において、バックアップ領域は重要な領域であるといえる。したがって、たとえば、所定値をバックアップ領域の上位アドレスを特定可能な値とし、特定値をバックアップ領域とは異なる領域の上位アドレスを特定可能な値とする構成を採用してもよい。このような構成であっても、本実施形態と同様の効果を奏する。 For example, a configuration may be adopted in which at least a part of the data indicating the control state when the power failure is detected is saved in the backup area. When such a configuration is adopted, it can be said that the backup area is an important area. Therefore, for example, a configuration may be adopted in which a predetermined value is a value that can specify the upper address of the backup area and the specific value is a value that can specify the upper address of an area different from the backup area. Even with such a configuration, the same effect as that of the present embodiment is obtained.
(3) また、図4において、Sa1Aの処理によるQレジスタに特定値が設定されたときから、Sa3Bの処理によるQレジスタに所定値が設定されるときまでの期間(以下、第1期間という。)において、機能設定レジスタを用いた処理として、LDQ命令に基づいて、図4で説明した処理とは別の処理を、図4で説明した処理に加えて実行する、または図4で説明した処理に代替させて実行するようにしてもよい。この場合において、該第1期間中の機能設定レジスタを用いた処理として、LDQ命令(機能設定レジスタの下位アドレスのみ指定する命令)に基づいてM個(Mは2以上の整数)の処理を実行する構成の方が、機能設定レジスタの上位アドレスおよび下位アドレスの双方を指定する命令に基づいて該M個の処理を実行する構成よりもプログラムの容量を削減できる。 (3) Further, in FIG. 4, a period from when a specific value is set in the Q register processed by Sa1A to when a predetermined value is set in the Q register processed by Sa3B (hereinafter referred to as the first period). ), As a process using the function setting register, a process different from the process described in FIG. 4 is executed in addition to the process described in FIG. 4, or the process described in FIG. 4 is executed based on the LDQ instruction. It may be executed instead of. In this case, as a process using the function setting register during the first period, M processes (M is an integer of 2 or more) are executed based on the LDQ instruction (instruction that specifies only the lower address of the function setting register). This configuration can reduce the capacity of the program as compared with the configuration that executes the M processes based on the instructions that specify both the upper address and the lower address of the function setting register.
また、図6において、Sk8によるQレジスタに特定値が設定されたときから、ループに入るまでの期間(以下、第2期間という。)において、機能設定レジスタを用いた処理として、LDQ命令に基づいて、図6で説明した処理とは別の処理を、図6で説明した処理に加えて実行する、または図6で説明した処理に代替させて実行するようにしてもよい。この場合において、該第2期間中の機能設定レジスタを用いた処理として、LDQ命令(機能設定レジスタの下位アドレスのみ指定する命令)に基づいてL個(Lは2以上の整数)の処理を実行する構成の方が、機能設定レジスタの上位アドレスおよび下位アドレスの双方を指定する命令に基づいて該L個の処理を実行する構成よりもプログラムの容量を削減できる。 Further, in FIG. 6, in the period from the time when the specific value is set in the Q register by Sk8 to the entry into the loop (hereinafter referred to as the second period), the process using the function setting register is based on the LDQ instruction. Therefore, a process different from the process described in FIG. 6 may be executed in addition to the process described in FIG. 6, or may be executed in place of the process described in FIG. In this case, as a process using the function setting register during the second period, L processes (L is an integer of 2 or more) are executed based on the LDQ instruction (instruction that specifies only the lower address of the function setting register). This configuration can reduce the capacity of the program as compared with the configuration in which the L processes are executed based on the instruction for specifying both the upper address and the lower address of the function setting register.
(4) 図7の電断処理の例では、Qレジスタの特定値を設定したタイミングT2でRAMアクセスを禁止するとして説明した。しかしながら、Qレジスタの特定値を設定したタイミングにおいて、他の処理を実行した後に、RAMアクセスを禁止するようにしてもよい。また、図7の起動処理の例では、RAMアクセスを許可したタイミングT6でQレジスタに所定値を設定するとして説明した。しかしながら、RAMアクセスを許可したタイミングにおいて、他の処理を実行した後に、Qレジスタに所定値を設定するようにしてもよい。これらのような構成によれば、他の処理をできつつも、本実施形態と同様の効果を奏する。 (4) In the example of the power interruption process of FIG. 7, it has been described that the RAM access is prohibited at the timing T2 in which the specific value of the Q register is set. However, RAM access may be prohibited after executing other processing at the timing when the specific value of the Q register is set. Further, in the example of the startup process of FIG. 7, it has been described that a predetermined value is set in the Q register at the timing T6 when RAM access is permitted. However, at the timing when RAM access is permitted, a predetermined value may be set in the Q register after executing other processing. According to these configurations, the same effect as that of the present embodiment can be obtained while other processing can be performed.
(5) 本実施形態では、遊技RAM領域の上位アドレスを「F0」とし、内部機能レジスタの上位アドレスを「F5」として説明した。しかしながら、遊技RAM領域の上位アドレスおよび内部機能レジスタの上位アドレスは両領域の上位アドレスが異なるものであれば、両領域の少なくとも1の領域の上位アドレスは本実施形態と異なるものとしてもよい。たとえば、遊技RAM領域の上位アドレスを「F1」とし、内部機能レジスタの上位アドレスを「FE」としてもよい。このような構成であっても、本実施形態と同様の効果を奏する。 (5) In the present embodiment, the upper address of the game RAM area is set to "F0", and the upper address of the internal function register is set to "F5". However, as long as the upper address of the game RAM area and the upper address of the internal function register are different from each other, the upper address of at least one area of both areas may be different from that of the present embodiment. For example, the upper address of the game RAM area may be "F1", and the upper address of the internal function register may be "FE". Even with such a configuration, the same effect as that of the present embodiment is obtained.
(6) 本実施形態の起動処理では、起動処理でのSa1およびSa2において、停電検出信号(電源供給が停止されたことを示す信号)を用いた処理(図4のSa1およびSa2参照)を実行するとして説明した。しかしながら、電力供給が停止されたことを示す停電検出信号ではなく、電源供給が開始されたことを示す信号(以下、「電源供給信号」という。)を用いて、起動処理を実行するようにしてもよい。 (6) In the start-up process of the present embodiment, in Sa1 and Sa2 in the start-up process, a process using a power failure detection signal (a signal indicating that the power supply has been stopped) is executed (see Sa1 and Sa2 in FIG. 4). Explained as doing. However, the start-up process is executed by using a signal indicating that the power supply has been started (hereinafter referred to as "power supply signal") instead of the power failure detection signal indicating that the power supply has been stopped. May be good.
この電源供給信号を用いた構成である場合には、図4のSa1においては、入力ポートの信号領域(内部機能レジスタ内の領域)には、電源供給信号が入力されたことを示すデータ(電源供給信号フラグ)が設定される。そして、Sa2においては、信号領域において、電源供給信号フラグ格納されたか否かが判断され、該Sa2においてYESと判断された場合には、Sa3Aに進む。このような構成であっても、本実施形態と同様の効果を奏する。 In the case of the configuration using this power supply signal, in Sa1 of FIG. 4, data (power supply) indicating that the power supply signal has been input to the signal area (area in the internal function register) of the input port. Supply signal flag) is set. Then, in Sa2, it is determined whether or not the power supply signal flag is stored in the signal region, and if YES in the Sa2, the process proceeds to Sa3A. Even with such a configuration, the same effect as that of the present embodiment is obtained.
(7) 本実施形態では、特別ワークの開始アドレス、重要ワークの開始アドレス、および一般ワークの一部の開始アドレスそれぞれの上位アドレスは、「F0」であるとして説明した。しかしながら、上位アドレスが「F0」となる領域は、他の領域としてもよい。たとえば、この他の領域とは、遊技の進行に応じて、データを読み出したりデータを書き込んだりする領域(特定記憶領域)としてもよい。また、この他の領域は、電断されたときには、該電断時の制御データの少なくとも一部を退避させる(バックアップさせる)領域(特定記憶領域)としてもよい。この場合には、電断復帰時には、該退避されたデータに基づいて該電断時の制御データに復帰させるようにしてもよい。 (7) In the present embodiment, it has been described that the upper address of each of the start address of the special work, the start address of the important work, and the start address of a part of the general work is "F0". However, the area where the upper address is "F0" may be another area. For example, the other area may be an area (specific storage area) for reading or writing data according to the progress of the game. Further, the other area may be an area (specific storage area) for saving (backing up) at least a part of the control data at the time of power failure when the power is cut off. In this case, at the time of recovery from power failure, the control data at the time of power failure may be restored based on the saved data.
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。 It should be considered that the embodiments disclosed this time are exemplary in all respects and not restrictive. The scope of the present invention is shown not by the above description but by the scope of claims, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.
1 スロットマシン、6 MAXBETスイッチ、7 スタートスイッチ、41 メイン制御部、91 サブ制御部。 1 slot machine, 6 MAXBET switch, 7 start switch, 41 main control unit, 91 sub control unit.
Claims (1)
所定記憶領域に記憶されたデータを用いて記憶領域のアドレスを特定し、特定されたアドレスの記憶領域からデータを読み出す特定命令をプログラムに基づいて実行可能である命令実行手段と、
前記遊技機への電源供給が検出されたときに特定記憶領域に記憶されているデータに基づいて制御状態を復帰させるための処理を、該電源供給の停止が検出されたときに実行する処理実行手段と、を備え、
前記遊技機への電源供給の停止が検出されるまで前記特定記憶領域のアドレスを特定するために用いられる所定値データが前記所定記憶領域に記憶され、
前記遊技機への電源供給の停止が検出されたときに前記特定記憶領域とは異なる領域のアドレスを特定するために用いられる特定値データが前記所定記憶領域に記憶され、
前記プログラムは、遊技の進行に関する処理を実行する第1プログラムと、遊技の進行に関わらない処理を実行する第2プログラムと、を含み、
前記第1プログラムは、第1プログラム記憶領域に記憶され、
前記第2プログラムは、第2プログラム記憶領域に記憶され、
前記第1プログラム記憶領域のアドレスは、第1情報と、第2情報と、を含み、
前記命令実行手段は、前記第1プログラム記憶領域から前記第1プログラムを読み出す特別命令を実行可能であり、
前記特別命令を実行することにより、前記第1情報と、当該特別命令により指定された前記第2情報と、から前記第1プログラム記憶領域のアドレスを特定し、特定したアドレスから前記第1プログラムを読み出すことが可能であり、
前記第1プログラムに基づいて前記特別命令を実行可能である一方、前記第2プログラムに基づいて前記特別命令が実行されない、遊技機。 It is a game machine that can play games
Identifying the address of the storage area by using the data stored in a predetermined storage area, an instruction execution unit is executable on the basis of the program specific instruction to read data from the storage area of the specific address,
Execution of processing to restore the control state based on the data stored in the specific storage area when the power supply to the game machine is detected, when the stop of the power supply is detected. and means, the,
Previously stored Symbol predetermined value data used to stop the power supply to identify the address of or is detected in front Symbol particular storage area to the gaming machine in the predetermined storage area,
Specific value data used to identify the address of a region different from the previous SL particular storage area when the stop of power supply to the gaming machine has been detected is stored in the predetermined storage area,
The program includes a first program that executes a process related to the progress of the game and a second program that executes a process not related to the progress of the game.
The first program is stored in the first program storage area.
The second program is stored in the second program storage area.
The address of the first program storage area includes the first information and the second information.
The instruction executing means can execute a special instruction for reading the first program from the first program storage area.
By executing the special instruction, the address of the first program storage area is specified from the first information and the second information specified by the special instruction, and the first program is obtained from the specified address. Can be read and
A gaming machine in which the special instruction can be executed based on the first program, but the special instruction is not executed based on the second program .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017225976A JP6793626B2 (en) | 2017-11-24 | 2017-11-24 | Game machine |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017225976A JP6793626B2 (en) | 2017-11-24 | 2017-11-24 | Game machine |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019092925A JP2019092925A (en) | 2019-06-20 |
| JP6793626B2 true JP6793626B2 (en) | 2020-12-02 |
Family
ID=66972383
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017225976A Active JP6793626B2 (en) | 2017-11-24 | 2017-11-24 | Game machine |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6793626B2 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7368702B2 (en) * | 2019-09-10 | 2023-10-25 | サミー株式会社 | gaming machine |
| JP7368703B2 (en) * | 2019-09-10 | 2023-10-25 | サミー株式会社 | gaming machine |
| JP7368700B2 (en) * | 2019-09-10 | 2023-10-25 | サミー株式会社 | gaming machine |
| JP7368701B2 (en) * | 2019-09-10 | 2023-10-25 | サミー株式会社 | gaming machine |
| JP7368704B2 (en) * | 2019-09-10 | 2023-10-25 | サミー株式会社 | gaming machine |
| JP7440765B2 (en) * | 2020-05-19 | 2024-02-29 | サミー株式会社 | gaming machine |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014176403A (en) * | 2013-03-13 | 2014-09-25 | Sankyo Co Ltd | Slot machine |
| JP6435470B2 (en) * | 2013-09-20 | 2018-12-12 | 株式会社ソフイア | Game machine |
| JP6532720B2 (en) * | 2015-03-20 | 2019-06-19 | 株式会社三共 | Gaming machine |
| JP6256449B2 (en) * | 2015-10-13 | 2018-01-10 | サミー株式会社 | Game machine |
| JP7078373B2 (en) * | 2017-09-29 | 2022-05-31 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
-
2017
- 2017-11-24 JP JP2017225976A patent/JP6793626B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019092925A (en) | 2019-06-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7290393B2 (en) | game machine | |
| JP6793626B2 (en) | Game machine | |
| JP5906131B2 (en) | Game machine | |
| JP5969812B2 (en) | Game machine | |
| JP2013192763A (en) | Game machine | |
| JP6111493B2 (en) | Game machine | |
| JP5969813B2 (en) | Game machine | |
| JP5820333B2 (en) | Game machine | |
| JP7290395B2 (en) | game machine | |
| JP5750655B2 (en) | Game machine | |
| JP6793628B2 (en) | Game machine | |
| JP6793627B2 (en) | Game machine | |
| JP5906129B2 (en) | Game machine | |
| JP5820334B2 (en) | Game machine | |
| JP7290394B2 (en) | game machine | |
| JP5740620B2 (en) | Game machine | |
| JP5883348B2 (en) | Game machine | |
| JP5945759B2 (en) | Game machine | |
| JP5643975B2 (en) | Game machine | |
| JP5945758B2 (en) | Game machine | |
| JP5969814B2 (en) | Game machine | |
| JP6393351B2 (en) | Game machine | |
| JP5906130B2 (en) | Game machine | |
| JP5740623B2 (en) | Game machine | |
| JP5643973B2 (en) | Game machine |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191126 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200825 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201022 |
|
| 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: 20201104 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201110 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6793626 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |