JP2022175349A - game machine - Google Patents

game machine Download PDF

Info

Publication number
JP2022175349A
JP2022175349A JP2021081680A JP2021081680A JP2022175349A JP 2022175349 A JP2022175349 A JP 2022175349A JP 2021081680 A JP2021081680 A JP 2021081680A JP 2021081680 A JP2021081680 A JP 2021081680A JP 2022175349 A JP2022175349 A JP 2022175349A
Authority
JP
Japan
Prior art keywords
game
state
special
time
determined
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.)
Granted
Application number
JP2021081680A
Other languages
Japanese (ja)
Other versions
JP7344247B2 (en
Inventor
智裕 久保田
Tomohiro Kubota
純也 杉山
Junya Sugiyama
純一 田村
Junichi Tamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heiwa Corp
Original Assignee
Heiwa Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Heiwa Corp filed Critical Heiwa Corp
Priority to JP2021081680A priority Critical patent/JP7344247B2/en
Publication of JP2022175349A publication Critical patent/JP2022175349A/en
Application granted granted Critical
Publication of JP7344247B2 publication Critical patent/JP7344247B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Pinball Game Machines (AREA)

Abstract

To secure the capacity of a control area for performing game control processing.SOLUTION: In a game machine of the present invention, a CPU reads a program from a ROM, calls a subroutine on the basis of the program, compares a value of an A-register and a value stored in the address indicated by a predetermined value of a RAM in the subroutine, may return from the subroutine according to the compared result, and multiplies a multiplicand that is varied on the basis of the progress of a game by a multiplier to obtain a ratio related to a game profit. Multiplication is executed by accumulating results of multiplying each of the multiplicand separated in 1-byte units by the multiplier.SELECTED DRAWING: Figure 148

Description

本発明は、遊技者に遊技上の利益を付与するか否かを抽選により決定する遊技機に関する。 TECHNICAL FIELD The present invention relates to a gaming machine that determines by lottery whether or not to give a game profit to a player.

一般に、遊技機(パチンコ機)では、遊技者のハンドル操作により遊技盤内の遊技領域に向かって遊技球が発射され、遊技領域を流下した遊技球が始動口に入球したことを条件に特別図柄に係る抽選が実行される。そして、特別図柄表示器において、特別図柄が変動表示され、さらに、抽選によって決定された特別図柄が停止表示されることで遊技者に抽選結果が報知される。 In general, in a gaming machine (pachinko machine), a game ball is shot toward a game area in a game board by a player's steering wheel operation, and a game ball that has flowed down the game area enters a starting hole. A lottery related to the design is executed. Then, the special symbols are variably displayed on the special symbol display device, and the special symbols determined by the lottery are stopped and displayed to inform the player of the result of the lottery.

このとき、特別図柄表示器に大当たりであることを示す特定の特別図柄が停止表示されると、通常の遊技に比べて遊技者に有利な大役遊技が開始される。この大役遊技では、アタッカー装置が所定回数開閉し、大入賞口への遊技球の入球が可能となるので、遊技者は多くの賞球の払出を受けることが可能となる。 At this time, when a specific special symbol indicating a big hit is stopped and displayed on the special symbol display device, a big win game that is more advantageous to the player than a normal game is started. In this big win game, the attacker device opens and closes a predetermined number of times, allowing game balls to enter the big winning opening, so that the player can receive a lot of payout balls.

このような遊技機では、遊技性を高めるため、メモリにおける有限な記憶領域を有効利用することが望まれる。例えば、データセットテーブルの制御情報に管理値を対応付け、メモリを効果的に使用する技術が知られている(例えば、特許文献1)。 In such a game machine, it is desired to effectively utilize the limited storage area of the memory in order to enhance the game playability. For example, there is known a technique of associating management values with control information in a data set table to effectively use memory (for example, Patent Literature 1).

特開2016-214339号公報JP 2016-214339 A

遊技機では、遊技の進行を制御する遊技制御処理に係るプログラムを、主制御基板のROMにおける使用領域(制御領域4.5kbyte+データ領域3.0kbyte)に配置しなければならない。 In a game machine, a program related to game control processing for controlling the progress of a game must be placed in a use area (control area 4.5 kbytes+data area 3.0 kbytes) in the ROM of the main control board.

しかし、遊技の多様性に応じた遊技情報の複雑化により、使用領域の特に制御領域が圧迫されるおそれがある。 However, due to the complexity of game information in accordance with the diversity of games, there is a risk that the use area, especially the control area, will be squeezed.

本発明は、このような課題に鑑み、遊技制御処理を行うための制御領域の容量を確保することが可能な遊技機を提供することを目的としている。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a gaming machine capable of securing the capacity of a control area for performing game control processing.

上記課題を解決するために、遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える本発明の遊技機では、前記CPUは、前記ROMから前記プログラムを読み出し、前記プログラムに基づいて、サブルーチンを呼び出し、前記サブルーチンにおいて、Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、前記比較した結果に応じて前記サブルーチンから戻る場合があり、遊技の進行に基づいて変化する被乗数に乗数を乗算して、遊技利益に関する比率を求め、前記乗算は、1バイト単位に分離した前記被乗数それぞれに乗数を乗算した結果を積算することで実行される。
上記課題を解決するために、遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える本発明の他の遊技機では、前記CPUは、前記ROMから前記プログラムを読み出し、前記プログラムに基づいて、サブルーチンを呼び出し、前記サブルーチンにおいて、Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、前記比較した結果に応じて前記サブルーチンから戻る場合があり、遊技の進行に基づいて変化する被乗数に乗数を乗算して、遊技利益に関する比率を求め、前記乗算は、被乗数設定レジスタに前記被乗数、乗数設定レジスタに前記乗数を設定することで、所定の時間後、乗算結果レジスタに乗算結果が生成される16ビット乗算器により実行される。
上記課題を解決するために、遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える本発明の他の遊技機では、前記CPUは、前記ROMから前記プログラムを読み出し、前記プログラムに基づいて、サブルーチンを呼び出し、前記サブルーチンにおいて、Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、前記比較した結果に応じて前記サブルーチンから戻る場合があり、遊技の進行に基づいて変化する被除数を除数で除算して、遊技利益に関する比率を求め、前記除算は、被除数設定レジスタに前記被除数、除数設定レジスタに前記除数を設定することで、所定の時間後、除算結果レジスタに除算結果が生成される32ビット除算器により実行される。
上記課題を解決するために、遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える本発明の他の遊技機では、前記CPUは、前記ROMから前記プログラムを読み出し、前記プログラムに基づいて、サブルーチンを呼び出し、前記サブルーチンにおいて、Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、前記比較した結果に応じて前記サブルーチンから戻る場合があり、遊技の進行に基づいて変化する被乗数に乗数を乗算し、乗算した演算結果を被除数とし、前記被除数を除数で除算して、前記除数に対する前記被乗数の比率を求め、前記乗算は、被乗数設定レジスタに前記被乗数、乗数設定レジスタに前記乗数を設定することで、所定の時間後、乗算結果レジスタに乗算結果が生成される16ビット乗算器により実行され、前記乗算した演算結果の最大値は3バイト以上となり、前記除算は、被除数設定レジスタに前記被除数、除数設定レジスタに前記除数を設定することで、所定の時間後、除算結果レジスタに除算結果が生成される32ビット除算器により実行される。
上記課題を解決するために、遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える本発明の他の遊技機では、前記CPUは、前記ROMから前記プログラムを読み出し、前記プログラムに基づいて、サブルーチンを呼び出し、前記サブルーチンにおいて、Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、前記比較した結果に応じて前記サブルーチンから戻る場合があり、遊技の進行に基づいて変化する被乗数に乗数を乗算し、乗算した演算結果を被除数とし、前記被除数を除数で除算して、前記除数に対する前記被乗数の比率を求め、前記乗算は、1バイト単位に分離した前記被乗数それぞれに乗数を乗算した結果を積算することで実行され、前記乗算した演算結果の最大値は4バイトとなり、前記除算は、被除数設定レジスタに前記被除数、除数設定レジスタに前記除数を設定することで、所定の時間後、除算結果レジスタに除算結果が生成される32ビット除算器により実行される。
In order to solve the above problems, a gaming machine according to the present invention comprises a CPU, a ROM storing a program used by the CPU, and a RAM holding data, on a predetermined board used for progressing a game. , the CPU reads the program from the ROM, calls a subroutine based on the program, and in the subroutine, stores the value of the A register and the value stored in the RAM at the address indicated by the predetermined value. The multiplicand, which varies according to the progress of the game, is multiplied by the multiplier to obtain a ratio relating to the game profit, and the multiplication is separated into 1-byte units. Multiplicand multiplicands are multiplied by multipliers, and the results are multiplied.
In order to solve the above-mentioned problems, another game according to the present invention comprises a CPU, a ROM storing a program used by the CPU, and a RAM holding data on a predetermined board used for progressing the game. In the machine, the CPU reads the program from the ROM, calls a subroutine based on the program, and in the subroutine, the value of the A register and the value stored in the RAM at the address indicated by the predetermined value. and may return from the subroutine according to the result of the comparison, multiplying the multiplicand, which changes based on the progress of the game, by the multiplier to obtain a ratio related to the game profit, and the multiplicand setting register By setting the multiplier in the multiplicand and multiplier setting register, the 16-bit multiplier generates the multiplication result in the multiplication result register after a predetermined time.
In order to solve the above-mentioned problems, another game according to the present invention comprises a CPU, a ROM storing a program used by the CPU, and a RAM holding data on a predetermined board used for progressing the game. In the machine, the CPU reads the program from the ROM, calls a subroutine based on the program, and in the subroutine, the value of the A register and the value stored in the RAM at the address indicated by the predetermined value. and may return from the subroutine according to the result of the comparison, and divides the dividend, which changes based on the progress of the game, by the divisor to obtain a ratio relating to the game profit, and the division is performed by the dividend setting register. By setting the divisor in the dividend and divisor setting register, the 32-bit divider generates the division result in the division result register after a predetermined period of time.
In order to solve the above-mentioned problems, another game according to the present invention comprises a CPU, a ROM storing a program used by the CPU, and a RAM holding data on a predetermined board used for progressing the game. In the machine, the CPU reads the program from the ROM, calls a subroutine based on the program, and in the subroutine, the value of the A register and the value stored in the RAM at the address indicated by the predetermined value. and may return from the subroutine depending on the result of the comparison. Then, the ratio of the multiplicand to the divisor is obtained, and the multiplication is performed by setting the multiplicand in the multiplicand setting register and the multiplier in the multiplier setting register, and after a predetermined time, the multiplication result is generated in the multiplication result register. Executed by a 16-bit multiplier, the maximum value of the multiplication result is 3 bytes or more, and the division is performed by setting the dividend in the dividend setting register and the divisor in the divisor setting register. It is performed by a 32-bit divider that produces the division result in the division result register.
In order to solve the above-mentioned problems, another game according to the present invention comprises a CPU, a ROM storing a program used by the CPU, and a RAM holding data on a predetermined board used for progressing the game. In the machine, the CPU reads the program from the ROM, calls a subroutine based on the program, and in the subroutine, the value of the A register and the value stored in the RAM at the address indicated by the predetermined value. and may return from the subroutine depending on the result of the comparison. Then, the ratio of the multiplicand to the divisor is obtained, and the multiplication is performed by accumulating the results of multiplying each of the multiplicands separated in units of 1 byte by the multiplier, and the maximum value of the multiplicand operation result is 4 bytes. By setting the dividend in the dividend setting register and the divisor in the divisor setting register, the division is executed by a 32-bit divider that generates the division result in the division result register after a predetermined time.

本発明によれば、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 According to the present invention, it is possible to ensure the capacity of the control area for performing the game control process.

同時回し参考例に係る扉が開放された状態を示す遊技機の斜視図である。FIG. 11 is a perspective view of the gaming machine showing a state in which the door according to the simultaneous turning reference example is opened; 同時回し参考例に係る遊技機の正面図である。It is a front view of the gaming machine according to the simultaneous spinning reference example. 同時回し参考例に係る第2大入賞口を説明する図である。It is a figure explaining the 2nd big prize-winning hole based on the simultaneous spinning reference example. 同時回し参考例に係る遊技の進行を制御する制御手段の内部構成を示すブロック図である。FIG. 11 is a block diagram showing the internal configuration of control means for controlling the progress of a game according to the simultaneous spinning reference example; 同時回し参考例に係るメインCPUが用いるメモリ領域のアドレスマップである。It is an address map of the memory area used by the main CPU according to the simultaneous rotation reference example. 同時回し参考例に係る低確時大当たり決定乱数判定テーブルを説明する図である。It is a diagram for explaining a low-probability jackpot decision random number determination table according to the simultaneous turning reference example. 同時回し参考例に係る高確時大当たり決定乱数判定テーブルを説明する図である。It is a diagram for explaining a high-probability jackpot determination random number determination table according to the simultaneous turning reference example. 同時回し参考例に係る当たり図柄乱数判定テーブルおよび小当たり図柄乱数判定テーブルを説明する図である。It is a diagram for explaining a winning symbol random number determination table and a small winning symbol random number determination table according to the simultaneous turning reference example. 同時回し参考例に係るリーチグループ決定乱数判定テーブルを説明する図である。It is a figure explaining the reach group determination random number determination table based on the simultaneous rotation reference example. 同時回し参考例に係るリーチモード決定乱数判定テーブルを説明する図である。It is a figure explaining the reach mode determination random number determination table based on the simultaneous rotation reference example. 同時回し参考例に係る変動パターン乱数判定テーブルを説明する図である。It is a figure explaining the variation pattern random number determination table based on the simultaneous rotation reference example. 同時回し参考例に係る変動時間決定テーブルを説明する図である。FIG. 11 is a diagram for explaining a variable time determination table according to the simultaneous rotation reference example; 同時回し参考例に係る遊技状態および変動時間を説明する図である。It is a figure explaining the game state and variation time based on a simultaneous spinning reference example. 同時回し参考例に係る特別電動役物作動ラムセットテーブルを説明する第1の図である。FIG. 11 is a first diagram for explaining a special electric accessary product operating ramset table according to the simultaneous rotation reference example; 同時回し参考例に係る特別電動役物作動ラムセットテーブルを説明する第2の図である。It is a second diagram for explaining the special electric accessary product operating ram set table according to the simultaneous rotation reference example. 同時回し参考例に係る遊技状態設定テーブルを説明する図である。It is a figure explaining the game state setting table based on the simultaneous spinning reference example. 同時回し参考例に係る当たり決定乱数判定テーブルを説明する図である。It is a figure explaining the hit determination random number determination table based on the simultaneous rotation reference example. (a)は同時回し参考例に係る普通図柄変動時間データテーブルを説明する図であり、(b)は同時回し参考例に係る開閉制御パターンテーブルを説明する図である。(a) is a diagram for explaining a normal symbol fluctuation time data table according to a simultaneous turning reference example, and (b) is a diagram for explaining an opening/closing control pattern table according to a simultaneous turning reference example. 同時回し参考例に係る本来の遊技性に則った遊技状態の遷移を説明する図である。It is a figure explaining the transition of the game state according to the original game property based on the simultaneous spinning reference example. 同時回し参考例に係る適切に遊技が行われなかった場合の遊技状態の遷移を説明する図である。FIG. 11 is a diagram illustrating transition of a game state when a game is not properly played according to the simultaneous spinning reference example; 同時回し参考例に係る遊技機状態フラグを説明する図である。It is a figure explaining the gaming machine state flag based on the simultaneous turning reference example. 同時回し参考例に係る主制御基板におけるCPU初期化処理を説明する第1のフローチャートである。It is the 1st flowchart explaining the CPU initialization process in the main-control board|substrate based on the simultaneous rotation reference example. 同時回し参考例に係る主制御基板におけるCPU初期化処理を説明する第2のフローチャートである。It is the 2nd flowchart explaining the CPU initialization processing in the main-control board|substrate based on the simultaneous rotation reference example. 同時回し参考例に係る主制御基板におけるサブコマンド群セット処理を説明するフローチャートである。FIG. 10 is a flowchart for explaining subcommand group set processing in the main control board according to the simultaneous rotation reference example; FIG. 同時回し参考例に係る主制御基板における電源断時退避処理を説明するフローチャートである。FIG. 11 is a flow chart for explaining a power-off saving process in the main control board according to the simultaneous rotation reference example; FIG. 同時回し参考例に係る主制御基板におけるタイマ割込み処理を説明するフローチャートである。It is a flowchart explaining the timer interrupt processing in the main-control board|substrate based on the simultaneous rotation reference example. 同時回し参考例に係る主制御基板における設定関連処理を説明するフローチャートである。10 is a flowchart for explaining setting-related processing in the main control board according to the simultaneous rotation reference example; 同時回し参考例に係る主制御基板におけるスイッチ管理処理を説明するフローチャートである。10 is a flowchart for explaining switch management processing in the main control board according to the simultaneous rotation reference example; 同時回し参考例に係る主制御基板におけるゲート通過処理を説明するフローチャートである。It is a flowchart explaining the gate passage process in the main-control board|substrate based on the simultaneous rotation reference example. 同時回し参考例に係る主制御基板における第1始動口通過処理を説明するフローチャートである。FIG. 11 is a flow chart for explaining first starting opening passage processing in the main control board according to the simultaneous rotation reference example; FIG. 同時回し参考例に係る主制御基板における第2始動口通過処理を説明するフローチャートである。It is a flowchart explaining the 2nd starting opening passage process in the main-control board|substrate based on the simultaneous rotation reference example. 同時回し参考例に係る主制御基板における特別図柄乱数取得処理を説明するフローチャートである。It is a flow chart for explaining a special symbol random number acquisition process in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における取得時演出判定処理を説明するフローチャートである。FIG. 11 is a flow chart for explaining effect determination processing at the time of acquisition in the main control board according to the simultaneous turning reference example; FIG. 同時回し参考例に係る主制御基板における大入賞口通過処理を説明するフローチャートである。It is a flow chart for explaining the big winning opening passage processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る特別遊技管理フェーズおよび特別電動役物遊技管理フェーズを説明する図である。It is a diagram for explaining a special game management phase and a special electric role product game management phase according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における特別遊技管理処理を説明するフローチャートである。It is a flow chart for explaining a special game management process in the main control board according to the simultaneous spinning reference example. 同時回し参考例に係る主制御基板における特別図柄変動待ち処理を説明するフローチャートである。It is a flow chart for explaining a special symbol variation waiting process in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における特別図柄当たり判定処理を説明するフローチャートである。It is a flowchart for explaining a special symbol hit determination process in the main control board according to the simultaneous rotation reference example. 同時回し参考例に係る主制御基板における特別図柄変動番号決定処理を説明するフローチャートである。It is a flow chart for explaining the special symbol variation number determination processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における回数切り管理処理を説明するフローチャートである。FIG. 11 is a flowchart for explaining a number cutting management process in the main control board according to the simultaneous rotation reference example; FIG. 同時回し参考例に係る主制御基板における特別図柄変動中処理を説明するフローチャートである。It is a flow chart for explaining a special symbol variation during processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における図柄強制停止処理を説明するフローチャートである。It is a flow chart explaining the symbol forced stop processing in the main control board according to the simultaneous rotation reference example. 同時回し参考例に係る主制御基板における特別図柄停止図柄表示処理を説明するフローチャートである。It is a flow chart for explaining a special symbol stop symbol display process in the main control board according to the simultaneous rotation reference example. 同時回し参考例に係る主制御基板における特別電動役物遊技管理処理を説明するフローチャートである。It is a flow chart for explaining a special electric role product game management process in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における大入賞口開放前処理を説明するフローチャートである。It is a flow chart for explaining the big winning opening pre-opening processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における大入賞口開閉切替処理を説明するフローチャートである。FIG. 11 is a flow chart for explaining a big winning opening opening/closing switching process in the main control board according to the simultaneous turning reference example; FIG. 同時回し参考例に係る主制御基板における大入賞口開放制御処理を説明するフローチャートである。It is a flow chart for explaining a large winning opening opening control process in the main control board according to the simultaneous spinning reference example. 同時回し参考例に係る主制御基板における大入賞口閉鎖有効処理を説明するフローチャートである。It is a flow chart for explaining a large winning opening closing effective process in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における大入賞口終了ウェイト処理を説明するフローチャートである。It is a flow chart for explaining a big winning opening end wait process in the main control board according to the simultaneous spinning reference example. 同時回し参考例に係る普通遊技管理フェーズを説明する図である。It is a diagram for explaining a normal game management phase according to the simultaneous spinning reference example. 同時回し参考例に係る主制御基板における普通遊技管理処理を説明するフローチャートである。It is a flow chart for explaining normal game management processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における普通図柄変動待ち処理を説明するフローチャートである。It is a flow chart for explaining normal symbol variation waiting processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における普通図柄変動中処理を説明するフローチャートである。It is a flow chart for explaining the process during normal symbol fluctuation in the main control board according to the simultaneous rotation reference example. 同時回し参考例に係る主制御基板における普通図柄停止図柄表示処理を説明するフローチャートである。It is a flow chart for explaining normal symbol stop symbol display processing in the main control board according to the simultaneous rotation reference example. 同時回し参考例に係る主制御基板における普通電動役物入賞口開放前処理を説明するフローチャートである。It is a flow chart for explaining normal electric accessary prize opening pre-opening processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における普通電動役物入賞口開閉切替処理を説明するフローチャートである。It is a flow chart for explaining normal electric accessary prize opening opening and closing switching processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における普通電動役物入賞口開放制御処理を説明するフローチャートである。It is a flow chart for explaining normal electric accessary prize winning opening control processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における普通電動役物入賞口閉鎖有効処理を説明するフローチャートである。It is a flow chart for explaining normal electric accessary prize winning opening closing effective processing in the main control board according to the simultaneous turning reference example. 同時回し参考例に係る主制御基板における普通電動役物入賞口終了ウェイト処理を説明するフローチャートである。It is a flow chart for explaining normal electric accessory winning opening end wait processing in the main control board according to the simultaneous turning reference example. 演出参考例に係るリーチなし変動パターンの変動演出の一例を説明する図である。It is a figure explaining an example of the variation production|presentation of the no reach variation pattern based on the production|presentation reference example. 演出参考例に係るノーマルリーチ変動パターンの変動演出の一例を説明する図である。It is a figure explaining an example of the fluctuation production|presentation of the normal reach fluctuation pattern based on the production|presentation reference example. 演出参考例に係るハズレ時の発展リーチ変動パターンの変動演出の一例を説明する図である。It is a figure explaining an example of the variation production|presentation of the developed reach variation pattern at the time of loss based on the production|presentation reference example. 演出参考例に係る大当たり時の発展リーチ変動パターンの変動演出の一例を説明する図である。It is a figure explaining an example of the variation production|presentation of the development reach variation pattern at the time of a big hit based on the production|presentation reference example. 演出参考例に係るリーチ発展演出が2回実行される場合の変動演出の一例を説明する図である。It is a figure explaining an example of a variable production|presentation in case the ready-to-reach development production|presentation based on a production|presentation reference example is performed twice. 演出参考例に係る擬似連続リーチ変動パターンの変動演出の一例を説明する図である。It is a figure explaining an example of the fluctuation|variation production|presentation of the pseudo continuous ready-to-reach fluctuation pattern based on the production|presentation reference example. 演出参考例に係る変動演出決定テーブルを説明する図である。It is a figure explaining the variable production|presentation determination table based on the production|presentation reference example. 演出参考例に係る保留表示演出の一例を説明する図である。It is a figure explaining an example of the pending|holding display production|presentation based on the production|presentation reference example. (a)は演出参考例に係る最終保留表示パターン決定テーブルを説明する図であり、(b)は演出参考例に係る1つ前保留表示パターン決定テーブルを説明する図である。(a) is a diagram for explaining a final pending display pattern determination table according to a reference example of production, and (b) is a diagram for explaining a immediately previous pending display pattern determination table according to a reference example of production. 演出参考例に係る副制御基板におけるサブCPU初期化処理を説明するフローチャートである。It is a flowchart explaining the sub CPU initialization process in the sub control board which concerns on the production|presentation reference example. 演出参考例に係る副制御基板におけるサブタイマ割込み処理を説明するフローチャートである。It is a flow chart explaining the sub-timer interrupt processing in the sub-control board according to the effect reference example. 演出参考例に係る副制御基板における先読み指定コマンド受信処理を説明するフローチャートである。It is a flow chart explaining the look-ahead designation command reception processing in the sub-control board according to the effect reference example. 演出参考例に係る副制御基板における変動コマンド受信処理を説明するフローチャートである。It is a flow chart explaining the variation command reception processing in the sub-control board according to the effect reference example. スロットマシンの概略的な機械的構成を説明するための外観図である。1 is an external view for explaining a schematic mechanical configuration of a slot machine; FIG. スロットマシンの概略的な機械的構成を説明するための前面扉を開いた状態での外観図である。FIG. 2 is an external view of the slot machine with the front door opened, for explaining the schematic mechanical configuration of the slot machine; リールの図柄配列および有効ラインを説明する図である。FIG. 10 is a diagram for explaining symbol arrays on reels and activated lines; スロットマシンの概略的な電気的構成を示したブロック図である。1 is a block diagram showing a schematic electrical configuration of a slot machine; FIG. 当選役を説明するための説明図である。It is an explanatory diagram for explaining a winning combination. 当選種別抽選テーブルを示す図である。It is a figure which shows a prize type lottery table. 当選種別抽選テーブルを示す図である。It is a figure which shows a prize type lottery table. 遊技状態の遷移を説明するための説明図である。It is an explanatory diagram for explaining the transition of the game state. 演出状態の遷移を説明するための説明図である。It is an explanatory view for explaining the transition of the production state. 主制御基板におけるCPU初期化処理を説明するフローチャートである。It is a flow chart explaining CPU initialization processing in a main control board. 主制御基板におけるコールドスタート処理を説明するフローチャートである。4 is a flowchart for explaining cold start processing in the main control board; 主制御基板におけるエラー停止処理を説明するフローチャートである。It is a flow chart explaining error stop processing in a main control board. 主制御基板における設定値切り替え処理を説明するフローチャートである。4 is a flowchart for explaining set value switching processing in a main control board; 主制御基板における初期化スタート処理を説明するフローチャートである。It is a flow chart explaining initialization start processing in a main control board. 主制御基板における状態復帰処理を説明するフローチャートである。It is a flowchart explaining the state return processing in a main control board. 主制御基板における遊技開始処理を説明するフローチャートである。It is a flow chart explaining the game start processing in the main control board. 主制御基板における遊技メダル投入処理を説明するフローチャートである。It is a flow chart explaining game medal insertion processing in the main control board. 主制御基板における内部抽選処理を説明するフローチャートである。It is a flow chart explaining internal lottery processing in a main control board. 主制御基板における図柄コード設定処理を説明するフローチャートである。It is a flow chart explaining the design code setting processing in the main control board. 主制御基板における回胴回転中処理を説明するフローチャートである。FIG. 10 is a flowchart for explaining processing during rotation of the drum in the main control board; FIG. 主制御基板における回胴停止処理を説明するフローチャートである。FIG. 11 is a flow chart for explaining a spinning drum stopping process in a main control board; FIG. 主制御基板における表示判定処理を説明するフローチャートである。It is a flow chart explaining display judging processing in a main control board. 主制御基板における払出処理を説明するフローチャートである。It is a flow chart explaining the payout process in the main control board. 主制御基板における遊技移行処理を説明するフローチャートである。It is a flow chart explaining the game transition processing in the main control board. 主制御基板における電源断時退避処理を説明するフローチャートである。FIG. 10 is a flow chart for explaining save processing at power-off in the main control board; FIG. 主制御基板におけるタイマ割込み処理を説明するフローチャートである。It is a flow chart explaining timer interruption processing in a main control board. メインCPU周辺の電気的な接続を説明するための図である。FIG. 2 is a diagram for explaining electrical connections around a main CPU; CPUコアの内部構成を示したブロック図である。2 is a block diagram showing the internal configuration of a CPU core; FIG. レジスタの構成を説明した図である。FIG. 4 is a diagram explaining the configuration of a register; メモリマップを示す説明図である。FIG. 4 is an explanatory diagram showing a memory map; 主制御基板の外観を示した説明図である。It is an explanatory view showing the appearance of a main control board. 比率表示部の表示態様を説明するための説明図である。It is an explanatory view for explaining a display mode of a ratio display part. 役物比率の第1の演算例を示すフローチャートである。FIG. 10 is a flowchart showing a first calculation example of a role product ratio; FIG. 8ビットMUL命令のみを用いた第1の演算例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining a first operation example using only an 8-bit MUL instruction; 第1の演算例を実現するための具体的な処理を示したフローチャートである。FIG. 10 is a flow chart showing specific processing for realizing the first calculation example; FIG. 第1の演算例を実現するための具体的なコマンドの一例を示した図である。FIG. 10 is a diagram showing an example of a specific command for implementing the first calculation example; FIG. 16ビット乗算器を用いた第2の演算例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining a second example of computation using a 16-bit multiplier; 第2の演算例を実現するための具体的な処理を示したフローチャートである。FIG. 11 is a flow chart showing specific processing for realizing the second example of computation; FIG. 第2の演算例を実現するための具体的なコマンドの一例を示した図である。FIG. 10 is a diagram showing an example of specific commands for realizing the second example of computation; 第1の演算例を実現するための具体的なコマンドの一例を示した図である。FIG. 10 is a diagram showing an example of a specific command for implementing the first calculation example; FIG. 2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining a third calculation example using repeated subtraction of a number multiplied by a power of 2; 第3の演算例を実現するための具体的な処理を示したフローチャートである。FIG. 11 is a flow chart showing specific processing for realizing the third example of calculation; FIG. 第3の演算例を実現するための具体的なコマンドの一例を示した図である。FIG. 11 is a diagram showing an example of specific commands for realizing the third example of calculation; 第4の演算例を実現するための具体的な処理を示したフローチャートである。FIG. 11 is a flow chart showing specific processing for realizing the fourth example of calculation; FIG. 第4の演算例を実現するための具体的なコマンドの一例を示した図である。FIG. 12 is a diagram showing an example of specific commands for realizing the fourth example of computation; 第5の演算例を実現するための具体的な処理を示したフローチャートである。FIG. 14 is a flowchart showing specific processing for realizing the fifth example of calculation; FIG. 第5の演算例を実現するための具体的なコマンドの一例を示した図である。FIG. 12 is a diagram showing an example of specific commands for realizing the fifth example of calculation; 第6の演算例を実現するための具体的な処理を示したフローチャートである。FIG. 13 is a flow chart showing specific processing for realizing the sixth calculation example; FIG. 第6の演算例を実現するための具体的なコマンドの一例を示した図である。FIG. 13 is a diagram showing an example of specific commands for realizing the sixth example of calculation; BYTESELモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of the BYTESEL module; BYTESELモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a BYTESEL module; FIG. BYTESELモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a BYTESEL module; FIG. BYTESELモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining another example of commands for realizing the BYTESEL module; BYTESELモジュールを実現するためのコマンドのさらに他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining still another example of commands for realizing the BYTESEL module; WORDSELモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of the WORDSEL module; WORDSELモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a WORDSEL module; FIG. WORDSELモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a WORDSEL module; FIG. WORDSELモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing the WORDSEL module; WORDSELモジュールを実現するためのコマンドのさらに他の例を説明するための説明図である。FIG. 12 is an explanatory diagram for explaining still another example of commands for realizing the WORDSEL module; CAL_MODモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a CAL_MOD module; HID_JUGモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining the HID_JUG module; RAMSETモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of a RAMSET module; RAMSETモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a RAMSET module; FIG. RAMSETモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a RAMSET module; FIG. RAMSETモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing the RAMSET module; TABLSETモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a TABLESET module; FIG. TABLSETモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing the TABLESET module; BYTEDECモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of the BYTEDEC module; BYTEDECモジュールにおけるデクリメント態様とゼロフラグおよびキャリーフラグの設定を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining a decrement mode and setting of a zero flag and a carry flag in the BYTEDEC module; BYTEDECモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a BYTEDEC module; FIG. BYTEDECモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining another example of commands for realizing the BYTEDEC module; RAM_DECモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a RAM_DEC module; WORDDECモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of the WORDDEC module; WORDDECモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a WORDDEC module; FIG. WORDDECモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining another example of commands for realizing the WORDDEC module; サブルーチンから戻る処理の一例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining an example of processing for returning from a subroutine; PY_CMDAモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a PY_CMDA module; GAT_PASモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a GAT_PAS module; TDN_PASモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a TDN_PAS module; FD_OPNモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an FD_OPN module; TZ_STAモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a TZ_STA module; TZ_RGETモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a TZ_RGET module; TRSVSELモジュールを説明するための説明図である。It is an explanatory view for explaining a TRSVSEL module. TDOVCHKモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a TDOVCHK module; BER_CHKモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a BER_CHK module; TEF_SELモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a TEF_SEL module; SET_RIGモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a SET_RIG module; PRE_LOTモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a PRE_LOT module; REG_LOTモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a REG_LOT module; BIG_SLTモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a BIG_SLT module; NAV_SETモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a NAV_SET module; TOK_PRCモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of the TOK_PRC module; TOK_PRCモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a TOK_PRC module; FIG. TEF_SELモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of the TEF_SEL module; TEF_SELモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a TEF_SEL module; FIG. SWI_PRCモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of the SWI_PRC module; SWI_PRCモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a SWI_PRC module; FIG. CPUINITモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of a CPUINIT module; CPUINITモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a CPUINIT module; FIG. TMR_IPTモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a TMR_IPT module; FZ_SPNモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of the FZ_SPN module; FZ_SPNモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining an example of a command for realizing an FZ_SPN module; FIG. CPUINITモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a CPUINIT module; FIG. EXE_SETモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an EXE_SET module; FIG. HPT_GRPモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of the HPT_GRP module; (a)、(b)は、HPT_GRPモジュールを実現するためのコマンドの一例を説明するための説明図であり、(c)は、リーチグループ決定乱数判定テーブルの一例を説明するための説明図である。(a) and (b) are explanatory diagrams for explaining an example of commands for realizing the HPT_GRP module, and (c) is an explanatory diagram for explaining an example of a reach group determination random number determination table. be. E_ILGERモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an E_ILGER module; E_LEVOTモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an E_LEVOT module; SBC_OUTモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of an SBC_OUT module; SBC_OUTモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an SBC_OUT module; FIG. SBC_OUTモジュールを実現するための他のコマンドの一例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining an example of another command for realizing the SBC_OUT module; FZ_OPNモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an FZ_OPN module; FIG. TD_OPNモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a TD_OPN module; FIG. HSY_PRCモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an HSY_PRC module; FIG. FDN_CHKモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an FDN_CHK module; FIG. FZ_STPモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an FZ_STP module; FIG. 乱数発生器の構成を説明するためのブロック図である。3 is a block diagram for explaining the configuration of a random number generator; FIG. 乱数生成部の組み合わせを説明する図である。It is a figure explaining the combination of a random number generation part. SMC_ROTモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of an SMC_ROT module; SMC_ROTモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an SMC_ROT module; FIG. SMC_ROTモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing the SMC_ROT module; INITIALモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of an INITIAL module; INITIALモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an INITIAL module; FIG. INITIALモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing an INITIAL module; RANKSETモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a RANKSET module; PWRFAILモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a PWRFAIL module; DYM_OUTモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a DYM_OUT module; IPT_PDモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of an IPT_PD module; IPT_PDモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining an example of a command for realizing an IPT_PD module; FIG. IPT_PDモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing the IPT_PD module; DYNMOUTモジュールを説明するための説明図である。It is an explanatory view for explaining a DYNMOUT module. EXT_PRCモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an EXT_PRC module; STOPDCTモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of a STOPDCT module; STOPDCTモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a STOPDCT module; STOPDCTモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining another example of a command for realizing the STOPDCT module; E_SETTMモジュールの具体的な処理を示したフローチャートである。10 is a flow chart showing specific processing of the E_SETTM module; E_SETTMモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an E_SETTM module; FIG. E_SETTMモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing the E_SETTM module; DYM_OUTモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a DYM_OUT module; DYM_OUTモジュールを説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a DYM_OUT module; E_SETTMモジュールの具体的な処理を示したフローチャートである。10 is a flow chart showing specific processing of the E_SETTM module; E_SETTMモジュールを実現するためのコマンドのさらに他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining still another example of commands for realizing the E_SETTM module; RAM_INCモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of a RAM_INC module; RAM_INCモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining an example of a command for realizing a RAM_INC module; FIG. RAM_INCモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining an example of a command for realizing a RAM_INC module; FIG. RAM_INCモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing the RAM_INC module; RAM_INCモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing the RAM_INC module; TABLSETモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of the TABLESET module; TABLSETモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a TABLESET module; FIG. TABLSETモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a TABLESET module; FIG. TABLSETモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining another example of commands for realizing the TABLESET module; IPT_PCモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of an IPT_PC module; IPT_PCモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining an example of a command for realizing an IPT_PC module; FIG. CMDPROCモジュールの具体的な処理を示したフローチャートである。4 is a flow chart showing specific processing of a CMDPROC module; CMDPROCモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a CMDPROC module; FIG. SET_PLSモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of a SET_PLS module; SET_PLSモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a SET_PLS module; FIG. OTM_ATKモジュールの具体的な処理を示したフローチャートである。4 is a flowchart showing specific processing of an OTM_ATK module; OTM_ATKモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing an OTM_ATK module; FIG. KRS_JDGモジュールを実現するためのコマンドの一例を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining an example of a command for realizing a KRS_JDG module; FIG. KRS_JDGモジュールを実現するためのコマンドの他の例を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining another example of commands for realizing the KRS_JDG module; Q’レジスタに値を設定するコマンドの一例を示した図である。FIG. 10 is a diagram showing an example of a command for setting a value in the Q' register; Q’レジスタに値を設定するコマンドの一例を示した図である。FIG. 10 is a diagram showing an example of a command for setting a value in the Q' register; Q’レジスタに値を設定するコマンドの一例を示した図である。FIG. 10 is a diagram showing an example of a command for setting a value in the Q' register; Q’レジスタに値を設定するコマンドの一例を示した図である。FIG. 10 is a diagram showing an example of a command for setting a value in the Q' register; レジスタバンクおよびレジスタ群の遷移を説明するための図である。FIG. 4 is a diagram for explaining transitions of register banks and register groups; FIG. アクセス方式の利用態様を説明するための説明図である。FIG. 2 is an explanatory diagram for explaining usage modes of access methods; サブコマンド送信処理の一例を説明するためのフローチャートである。9 is a flowchart for explaining an example of subcommand transmission processing; サブコマンド送信処理を実現するための具体的なコマンドの一例を示した図である。FIG. 10 is a diagram showing an example of specific commands for realizing subcommand transmission processing; サブコマンド送信処理を実現するための他のコマンドの一例を示した図である。FIG. 10 is a diagram showing an example of another command for realizing subcommand transmission processing; CPU初期化処理を実現するためのコマンド群の一部を示した図である。FIG. 4 is a diagram showing part of a command group for implementing CPU initialization processing; CPU初期化処理で参照するテーブルを示した図である。FIG. 10 is a diagram showing a table referred to in CPU initialization processing; CPU初期化処理を実現するためのコマンド群の一部の他の例を示した図である。FIG. 10 is a diagram showing another example of part of a command group for implementing CPU initialization processing; CPU初期化処理で参照するテーブルの他の例を示した図である。FIG. 10 is a diagram showing another example of a table referred to in CPU initialization processing; CPU初期化処理を実現するためのコマンド群の一部の他の例を示した図である。FIG. 10 is a diagram showing another example of part of a command group for implementing CPU initialization processing; 出力ポートのアドレスを示した説明図である。FIG. 4 is an explanatory diagram showing addresses of output ports; 電源断時退避処理を実現するためのコマンド群の一部を示した図である。FIG. 10 is a diagram showing a part of a command group for realizing save processing at power-off; 電源断時退避処理を実現するためのコマンド群の一部の他の例を示した図である。FIG. 11 is a diagram showing another example of a part of a command group for realizing save processing at power-off;

以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。 Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. The dimensions, materials, and other specific numerical values shown in these embodiments are merely examples for facilitating understanding of the invention, and do not limit the invention unless otherwise specified. In the present specification and drawings, elements having substantially the same function and configuration are given the same reference numerals to omit redundant description, and elements that are not directly related to the present invention are omitted from the drawings. do.

本発明の実施形態では、遊技機として、パチンコ機とスロットマシンとをその順に例示し、その後、具体的な処理を詳述する。 In the embodiment of the present invention, a pachinko machine and a slot machine will be exemplified in that order as gaming machines, and then specific processing will be described in detail.

<パチンコ機>
本発明の実施例の理解を容易にするため、まず、同時回し参考例として、所謂同時回し機の機械的構成および電気的構成、および、各基板における具体的な処理を説明する。そして、演出参考例として、同時回し機において実行可能な具体的な演出や当該演出に係る具体的な処理を説明する。その後、本発明の実施例として、各参考例と異なる構成について具体的に説明する。
<Pachinko machine>
In order to facilitate understanding of the embodiments of the present invention, first, as a reference example of simultaneous rotation, the mechanical configuration and electrical configuration of a so-called simultaneous rotation machine, and specific processing for each substrate will be described. Then, as an effect reference example, a specific effect that can be executed in the simultaneous spinning machine and a specific process related to the effect will be described. After that, as examples of the present invention, configurations different from each reference example will be specifically described.

<同時回し参考例>
図1は、同時回し参考例に係る遊技機100の斜視図であり、扉が開放された状態を示している。図示のように、遊技機100は、略矩形状に組まれた四辺によって囲繞空間が形成される外枠102と、この外枠102にヒンジ機構によって開閉自在に取り付けられた中枠104と、この中枠104に、ヒンジ機構によって開閉自在に取り付けられた前枠106と、を備えている。
<Simultaneous rotation reference example>
FIG. 1 is a perspective view of a gaming machine 100 according to a simultaneous turning reference example, showing a state in which the door is opened. As shown, the game machine 100 includes an outer frame 102 in which a space is formed by four sides assembled in a substantially rectangular shape, a middle frame 104 attached to the outer frame 102 by a hinge mechanism so as to be freely opened and closed, and the A front frame 106 attached to the middle frame 104 by a hinge mechanism so as to be openable and closable is provided.

中枠104は、外枠102と同様に、略矩形状に組まれた四辺によって囲繞空間が形成されており、この囲繞空間に遊技盤108が保持されている。また、前枠106には、ガラス製または樹脂製の透過板110が保持されている。そして、これら中枠104および前枠106を外枠102に対して閉じると、遊技盤108と透過板110とが所定の間隔を維持して略平行に対面するとともに、遊技機100の正面側から、透過板110を介して遊技盤108が視認可能となる。 Similarly to the outer frame 102, the middle frame 104 has a surrounding space formed by four sides assembled in a substantially rectangular shape, and a game board 108 is held in this surrounding space. Further, the front frame 106 holds a transmission plate 110 made of glass or resin. When the middle frame 104 and the front frame 106 are closed with respect to the outer frame 102, the game board 108 and the transmission plate 110 face each other substantially parallel to each other while maintaining a predetermined distance. , the game board 108 becomes visible through the transparent plate 110 .

図2は、同時回し参考例に係る遊技機100の正面図である。この図に示すように、前枠106の下部には、遊技機100の正面側に突出する操作ハンドル112が設けられている。この操作ハンドル112は、遊技者が回転操作可能に設けられており、遊技者が操作ハンドル112を回転させて発射操作を行うと、当該操作ハンドル112の回転角度に応じた強度で、不図示の発射機構によって遊技球が発射される。このようにして発射された遊技球は、遊技盤108に設けられたレール114a、114b間を上昇して遊技領域116に導かれることとなる。 FIG. 2 is a front view of the gaming machine 100 according to the simultaneous spinning reference example. As shown in this figure, an operation handle 112 projecting toward the front side of the gaming machine 100 is provided at the lower portion of the front frame 106 . The operating handle 112 is provided so that the player can rotate it, and when the player rotates the operating handle 112 to perform a shooting operation, the strength corresponding to the rotation angle of the operating handle 112 is applied (not shown). A game ball is shot by the shooting mechanism. The game ball shot in this manner rises between rails 114 a and 114 b provided on the game board 108 and is guided to the game area 116 .

遊技領域116は、遊技盤108と透過板110との間隔に形成される空間であって、遊技球が流下または転動可能な領域である。遊技盤108には、多数の釘や風車(不図示)が設けられており、遊技領域116に導かれた遊技球が釘や風車に衝突して、不規則な方向に流下、転動するようにしている。 The game area 116 is a space formed between the game board 108 and the transmission plate 110, and is an area in which game balls can flow down or roll. A large number of nails and pinwheels (not shown) are provided on the game board 108, and a game ball guided to the game area 116 collides with the nails and pinwheels to flow down and roll in irregular directions. I have to.

遊技領域116は、発射機構の発射強度に応じて遊技球の進入度合いを互いに異にし、遊技球の打ち分けが可能な第1遊技領域116aおよび第2遊技領域116bを備えている。第1遊技領域116aは、遊技機100に正対した遊技者から見て遊技領域116の左側に位置し、第2遊技領域116bは、遊技機100に正対した遊技者から見て遊技領域116の右側に位置している。レール114a、114bが遊技領域116の左側にあることから、発射機構によって所定の強度未満の発射強度で発射された遊技球は第1遊技領域116aに進入し、所定の強度以上の発射強度で発射された遊技球は第2遊技領域116bに進入することとなる。 The game area 116 is provided with a first game area 116a and a second game area 116b in which the degree of penetration of the game ball is different from each other according to the firing intensity of the shooting mechanism, and the game ball can be hit separately. The first game area 116a is located on the left side of the game area 116 when viewed from the player facing the gaming machine 100, and the second game area 116b is located on the left side of the game area 116 when viewed from the player facing the gaming machine 100. located on the right side of the Since the rails 114a and 114b are located on the left side of the game area 116, the game ball fired by the shooting mechanism with a shooting intensity lower than a predetermined intensity enters the first game area 116a and is shot with a shooting intensity equal to or higher than the predetermined intensity. The played game ball enters the second game area 116b.

また、遊技領域116には、遊技球が入球可能な一般入賞口118、第1固定始動口120A、第1可変始動口120B、第2始動口122、普図作動口125が設けられており、これら一般入賞口118、第1固定始動口120A、第1可変始動口120B、第2始動口122、普図作動口125に遊技球が入球すると、それぞれ所定の賞球が遊技者に払い出される。なお、以下では、第1固定始動口120Aおよび第1可変始動口120Bを総称して第1始動口120と呼ぶ。 In addition, the game area 116 is provided with a general winning opening 118 into which a game ball can enter, a first fixed starting opening 120A, a first variable starting opening 120B, a second starting opening 122, and a normal figure operating opening 125. , These general winning opening 118, the first fixed starting opening 120A, the first variable starting opening 120B, the second starting opening 122, when the game ball enters the normal figure operation opening 125, predetermined prize balls are paid out to the player respectively. be In addition, below, 120 A of 1st fixed starting openings and the 1st variable starting opening 120B are generically called the 1st starting opening 120. As shown in FIG.

詳しくは後述するが、第1始動口120内には第1始動領域が設けられ、また、第2始動口122内には第2始動領域が設けられている。そして、第1始動口120または第2始動口122に遊技球が入球して第1始動領域または第2始動領域に遊技球が進入すると、予め設けられた複数の特別図柄の中からいずれか1の特別図柄を決定するための抽選が行われる。各特別図柄には、遊技者にとって有利な大役遊技や小当たり遊技の実行可否が対応付けられている。したがって、遊技者は、第1始動口120または第2始動口122に遊技球が入球すると、所定の賞球を獲得するのと同時に、種々の遊技利益を受ける権利獲得の機会を獲得することとなる。 Although details will be described later, a first start-up region is provided within the first start-up port 120 and a second start-up region is provided within the second start-up port 122 . Then, when the game ball enters the first start port 120 or the second start port 122 and enters the first start area or the second start area, one of a plurality of special symbols provided in advance is selected. A lottery is held to determine 1 special symbol. Each special symbol is associated with whether or not it is possible to execute a big winning game or a small winning game that is advantageous to the player. Therefore, when a game ball enters the first start hole 120 or the second start hole 122, the player can obtain a predetermined prize ball and at the same time obtain an opportunity to obtain rights to receive various game benefits. becomes.

また、第1固定始動口120A、第2始動口122および普図作動口125は、遊技球が常時入球可能に開口した固定始動口で構成される。一方、第1可変始動口120Bには、可動片120bが開閉可能に設けられており、この可動片120bの状態に応じて、第1可変始動口120Bへの遊技球の進入容易性が変化する可変始動口で構成されている。具体的には、可動片120bは、通常、閉状態に維持されており、この間は、第1可変始動口120Bへの遊技球の入球が困難もしくは不可能となる。 In addition, the first fixed starting opening 120A, the second starting opening 122 and the normal figure operating opening 125 are constituted by fixed starting openings that are open so that the game ball can be entered at all times. On the other hand, the first variable starting port 120B is provided with a movable piece 120b that can be opened and closed, and the ease with which a game ball enters the first variable starting port 120B changes according to the state of the movable piece 120b. It consists of a variable starting port. Specifically, the movable piece 120b is normally maintained in a closed state, and during this time, it becomes difficult or impossible for the game ball to enter the first variable starting port 120B.

これに対して、遊技領域116(第2遊技領域116b)に設けられたゲート124を遊技球が通過するか、普図作動口125に遊技球が入球すると、後述する普通図柄の抽選が行われ、この抽選によって当たりに当選すると、可動片120bが所定時間、開状態に制御される。可動片120bが開状態になると、第1可変始動口120Bへの遊技球の入球が可能となる。このように、可動片120bは、第1可変始動口120Bへの遊技球の入球を可能とする開状態、および、開状態よりも第1可変始動口120Bへの遊技球の入球が困難もしくは不可能となる閉状態に変移する可動部材(始動可変入賞装置)として機能する。 On the other hand, when the game ball passes through the gate 124 provided in the game area 116 (second game area 116b) or the game ball enters the normal pattern operation port 125, the lottery of the normal symbol described later is performed. If a winning lottery is won by this lottery, the movable piece 120b is controlled to be open for a predetermined period of time. When the movable piece 120b is in an open state, it becomes possible to enter the game ball into the first variable starting port 120B. In this way, the movable piece 120b is in an open state that allows the game ball to enter the first variable starting port 120B, and makes it more difficult for the game ball to enter the first variable starting port 120B than in the open state. Alternatively, it functions as a movable member (start variable winning device) that shifts to an impossible closed state.

なお、第1固定始動口120Aは、第1遊技領域116aを流下する遊技球のみが入球可能となり、第1可変始動口120Bおよび第2始動口122は、第2遊技領域116bを流下する遊技球のみが入球可能となる位置に配されている。なお、第1固定始動口120Aは、第2遊技領域116bを流下する遊技球が入球してもよいが、この場合には、第1遊技領域116aを流下する遊技球の方が、第2遊技領域116bを流下する遊技球よりも入球しやすい位置に配することが望ましい。 In addition, the first fixed starting port 120A can enter only the game ball that flows down the first game area 116a, and the first variable starting port 120B and the second starting port 122 are the games that flow down the second game region 116b. It is arranged in a position where only the ball can enter. In addition, the game ball flowing down the second game area 116b may enter the first fixed starting port 120A, but in this case, the game ball flowing down the first game area 116a is the second It is desirable to arrange the game area 116b at a position where it is easier to enter the game ball than the game ball flowing down.

同様に、第1可変始動口120Bおよび第2始動口122は、第1遊技領域116aを流下する遊技球が入球してもよいが、この場合には、第2遊技領域116bを流下する遊技球の方が、第1遊技領域116aを流下する遊技球よりも入球しやすい位置に配することが望ましい。いずれにしても、第1固定始動口120Aは、少なくとも第1遊技領域116aを流下する遊技球が入球可能な位置に配され、第1可変始動口120Bおよび第2始動口122は、少なくとも第2遊技領域116bを流下する遊技球が入球可能な位置に配されるとよい。 Similarly, the first variable starting port 120B and the second starting port 122 may enter the game ball that flows down the first game area 116a, but in this case, the game that flows down the second game area 116b It is desirable that the ball be arranged at a position where it is easier to enter than the game ball flowing down the first game area 116a. In any case, the first fixed starting port 120A is arranged at a position where at least the game ball flowing down the first game area 116a can enter, and the first variable starting port 120B and the second starting port 122 are at least the first It is preferable that the game ball flowing down the second game area 116b is arranged at a position where it can enter.

さらに、第2遊技領域116bには、第1大入賞口126および第2大入賞口128が設けられている。第1大入賞口126および第2大入賞口128は、第2遊技領域116bを流下する遊技球のみが入球可能な位置に配される。ただし、第1大入賞口126および第2大入賞口128は、第1遊技領域116aおよび第2遊技領域116bを流下するいずれの遊技球も入球可能に配されてもよい。 Further, a first big winning opening 126 and a second big winning opening 128 are provided in the second game area 116b. The first big winning hole 126 and the second big winning hole 128 are arranged at positions where only game balls flowing down the second game area 116b can enter. However, the first big winning hole 126 and the second big winning hole 128 may be arranged so that any game ball flowing down the first game area 116a and the second game area 116b can enter.

第1大入賞口126には、開閉扉126bが開閉可能に設けられており、通常、開閉扉126bが第1大入賞口126を閉鎖して、第1大入賞口126への遊技球の入球が不可能となっている。具体的には、開閉扉126bは、閉鎖状態において、遊技盤108の盤面と面一の状態となり、第1大入賞口126の前を遊技球が流下する。これに対して、前述の大役遊技が実行されると、開閉扉126bが開放されて遊技球を第1大入賞口126に導く受け皿として機能し、第1大入賞口126への遊技球の入球が可能となる。そして、第1大入賞口126に遊技球が入球すると、所定の賞球が遊技者に払い出される。 An opening/closing door 126b is provided in the first big winning hole 126 so that it can be opened and closed. Ball is not possible. Specifically, when the opening/closing door 126b is in a closed state, it is flush with the board surface of the game board 108, and the game balls flow down in front of the first big winning hole 126. As shown in FIG. On the other hand, when the above-mentioned big win game is executed, the opening and closing door 126b is opened and functions as a tray for guiding the game ball to the first big winning hole 126, and the game ball enters the first big winning hole 126. ball becomes possible. When a game ball enters the first big winning hole 126, a predetermined prize ball is paid out to the player.

第2大入賞口128は、第2遊技領域116bにおいて、第1大入賞口126の下方に設けられる。第2大入賞口128は、可動片128bを備えており、通常、可動片128bが閉状態に維持されている。これに対して、後述の小当たり遊技が実行されると、可動片128bが開状態に制御され、第2大入賞口128への遊技球の入球が可能となる。なお、以下では、第1大入賞口126および第2大入賞口128をまとめて単に大入賞口ともよぶ。 The second big winning hole 128 is provided below the first big winning hole 126 in the second game area 116b. The second big prize winning opening 128 has a movable piece 128b, and normally the movable piece 128b is maintained in a closed state. On the other hand, when a small winning game, which will be described later, is executed, the movable piece 128b is controlled to be in an open state, and a game ball can enter the second big winning hole 128. As shown in FIG. In addition, hereinafter, the first big prize opening 126 and the second big prize opening 128 are collectively referred to simply as the big prize opening.

図3は、同時回し参考例に係る第2大入賞口128を説明する図である。第2遊技領域116bには、遊技盤108の正面側に突出する構造物129が設けられている。この構造物129は、遊技機100の左右方向と前後方向とに位置する四辺、および、底辺が囲繞されており、上部に開口が形成されている。この構造物129の上部に形成される開口が、第2大入賞口128となる。構造物129の上部には、可動片128bが設けられており、通常、図3(a)に示すように、可動片128bは、第2大入賞口128を閉鎖する閉状態に維持されている。 FIG. 3 is a diagram for explaining the second big winning opening 128 according to the simultaneous spinning reference example. A structure 129 projecting to the front side of the game board 108 is provided in the second game area 116b. The structure 129 surrounds the gaming machine 100 on four sides positioned in the left-right direction and the front-rear direction and the bottom side, and an opening is formed at the top. An opening formed in the upper part of this structure 129 serves as the second prize winning opening 128 . A movable piece 128b is provided on the upper part of the structure 129, and normally, as shown in FIG. .

可動片128bは、遊技機100の上方に臨むようにして、遊技球が転動、流下する遊技領域116に突出している。したがって、可動片128bが閉状態に維持されている場合には、遊技領域116(第2遊技領域116b)を流下する遊技球が、可動片128b上に落下することとなる。ここで、構造物129は、底辺が水平方向に略平行であり、遊技機100の右側の側面は、左側の側面よりも高さ方向に僅かに長い寸法関係となっている。したがって、第2大入賞口128は、遊技機100の左側が右側よりも僅かに低く、閉状態に維持された可動片128bは、遊技機100の左側が右側よりも僅かに低い位置になるように傾斜している。そのため、可動片128bが閉状態にあるときには、図3(a)に矢印で示すように、可動片128b上に落下した遊技球が、可動片128b上を右方から左方へとゆっくりと転動することになる。 The movable piece 128b faces above the game machine 100 and protrudes into the game area 116 where the game ball rolls and flows down. Therefore, when the movable piece 128b is maintained in the closed state, the game ball flowing down the game area 116 (second game area 116b) falls on the movable piece 128b. Here, the base of the structure 129 is substantially parallel to the horizontal direction, and the right side of the gaming machine 100 is slightly longer in the height direction than the left side. Therefore, the left side of the gaming machine 100 is slightly lower than the right side of the second big winning opening 128, and the movable piece 128b maintained in the closed state is positioned so that the left side of the gaming machine 100 is slightly lower than the right side. inclined to Therefore, when the movable piece 128b is in the closed state, as indicated by the arrow in FIG. will move.

そして、後述の小当たり遊技が実行されると、可動片128bは、第2大入賞口128を開放する開状態に変移する。ここで、可動片128bは、図3(b)に示すように、遊技盤108の背面側に向けてスライドすることで、閉状態から開状態へと変移する。その結果、閉状態から開状態に変移する際に、可動片128b上を転動している遊技球が、第2大入賞口128内に自重で落下する。 Then, when a small winning game, which will be described later, is executed, the movable piece 128b shifts to an open state in which the second big winning opening 128 is opened. Here, as shown in FIG. 3(b), the movable piece 128b slides toward the back side of the game board 108 to change from the closed state to the open state. As a result, when the closed state is changed to the open state, the game ball rolling on the movable piece 128b falls into the second big winning hole 128 by its own weight.

このように、同時回し参考例では、可動片128bを僅かに傾斜させ、可動片128b上を遊技球が転動する時間を長く確保する。そして、可動片128bが閉状態から開状態に変移することで、可動片128b上を転動している遊技球を第2大入賞口128内に導く。上記の構成により、可動片128bを開状態に維持する時間を僅かに設定したとしても、第2大入賞口128内に所定数の遊技球を導くことができる。換言すれば、第2大入賞口128内に所定数の遊技球を入球させるために必要となる、可動片128bを開状態に維持する時間を短時間とすることができる。なお、構造物129の背面には、遊技盤108の背面側に連通する孔が形成されており、第2大入賞口128に入球した遊技球は、遊技盤108の背面側に排出される。そして、第2大入賞口128に遊技球が入球すると、所定の賞球が遊技者に払い出される。 Thus, in the simultaneous rotation reference example, the movable piece 128b is slightly inclined to ensure a long time for the game ball to roll on the movable piece 128b. Then, the game ball rolling on the movable piece 128b is guided into the second big winning hole 128 by changing the movable piece 128b from the closed state to the open state. With the above configuration, even if the time for keeping the movable piece 128b in the open state is set slightly, a predetermined number of game balls can be guided into the second big winning hole 128. FIG. In other words, the time for which the movable piece 128b is kept open, which is required for entering a predetermined number of game balls into the second big winning hole 128, can be shortened. A hole communicating with the back side of the game board 108 is formed in the back side of the structure 129, and the game ball entering the second big winning hole 128 is discharged to the back side of the game board 108. . Then, when a game ball enters the second big winning hole 128, a predetermined prize ball is paid out to the player.

なお、ここでは、第2大入賞口128の構成について説明したが、第1可変始動口120Bも、第2大入賞口128と同様の構成である。すなわち、第1可変始動口120Bの可動片120bは、閉状態において、遊技盤108の前面側に突出しており、可動片120b上を遊技球が転動する。そして、可動片120bの開状態では、可動片120bが遊技盤108の背面側にスライドし、第1可変始動口120Bへの遊技球の入球が可能となる。ただし、図2に示すように、可動片128bは、遊技機100の正面視で右側が左側よりも高い位置にあるのに対して、可動片120bは、遊技機100の正面視で左側が右側よりも高い位置にある。 Although the configuration of the second big winning opening 128 has been described here, the first variable starting opening 120B also has the same configuration as the second big winning opening 128 . That is, the movable piece 120b of the first variable starting port 120B projects toward the front side of the game board 108 in the closed state, and the game ball rolls on the movable piece 120b. In the open state of the movable piece 120b, the movable piece 120b slides to the back side of the game board 108, allowing the game ball to enter the first variable starting port 120B. However, as shown in FIG. 2, the right side of the movable piece 128b is higher than the left side when the game machine 100 is viewed from the front, while the left side of the movable piece 120b is the right side when the game machine 100 is viewed from the front. located higher than

ここで、第2遊技領域116bの盤面構成について詳述する。同時回し参考例では、第2遊技領域116bの最上部に、第2始動口122とゲート124とが並列して配置されている。第2遊技領域116bに導かれた遊技球は、全て、第2始動口122に入球するか、ゲート124を通過して下方に流下する。同時回し参考例では、第2始動口122は、1個の遊技球の入球に対して1個の遊技球が賞球として払い出される。 Here, the board configuration of the second game area 116b will be described in detail. In the simultaneous turning reference example, the second starting port 122 and the gate 124 are arranged in parallel at the top of the second game area 116b. All the game balls guided to the second game area 116b enter the second starting port 122 or pass through the gate 124 and flow downward. In the simultaneous spinning reference example, the second starting port 122 pays out one game ball as a prize ball for one game ball entering.

第2始動口122に遊技球が入球すると、賞球として1個の遊技球が払い出されるとともに、大役遊技あるいは小当たり遊技の実行有無等を決定する抽選が行われる。また、ゲート124を遊技球が通過すると、第1可変始動口120B(可動片120b)を開状態とするか否かを決定する抽選が行われる。 When a game ball enters the second starting port 122, one game ball is paid out as a prize ball, and a lottery is performed to determine whether or not a big winning game or a small winning game is executed. Further, when the game ball passes through the gate 124, a lottery is performed to determine whether or not the first variable starting port 120B (movable piece 120b) is to be opened.

第2始動口122およびゲート124の直下には、第1大入賞口126が設けられている。第1大入賞口126が開状態にある場合には、ゲート124を通過して下方に流下した遊技球の全てが第1大入賞口126に入球するように配置されている。同時回し参考例では、第1大入賞口126は、大役遊技においてのみ開放される。つまり、第1大入賞口126は、大役遊技専用の大入賞口と言える。大役遊技中に第1大入賞口126に遊技球が入球すると、1個の遊技球の入球に対して2個以上の所定数(ここでは15個)の遊技球が賞球として払い出される。 A first big winning opening 126 is provided directly below the second starting opening 122 and the gate 124 . When the first big winning hole 126 is in the open state, all the game balls that have flowed down through the gate 124 are arranged to enter the first big winning hole 126 . In the simultaneous spinning reference example, the first big winning opening 126 is opened only in the big win game. In other words, the first big winning hole 126 can be said to be a big winning hole dedicated to big role games. When a game ball enters the first big winning hole 126 during a big win game, a predetermined number of two or more (here, 15) game balls are paid out as prize balls for one game ball entering. .

第1大入賞口126の下方には第1可変始動口120Bが設けられている。また、第1大入賞口126と第1可変始動口120Bとの間にはアウト口131が設けられている。アウト口131は、遊技領域116から遊技球を排出するための通路の入口であり、アウト口131に遊技球が入球したとしても、賞球が払い出されることはない。 A first variable starting opening 120B is provided below the first big winning opening 126 . In addition, an out port 131 is provided between the first big winning port 126 and the first variable starting port 120B. The out port 131 is an entrance of a passage for discharging game balls from the game area 116, and even if a game ball enters the out port 131, prize balls are not paid out.

第2遊技領域116bには、第1大入賞口126よりも下方に流下した遊技球の多く(例えば9割以上)が、可動片120b上に落下するように釘が配されている。また、これらの釘により、第1大入賞口126よりも下方に流下した遊技球の一部(例えば1%~10%)が、アウト口131に導かれる。 Nails are arranged in the second game area 116b so that most of the game balls (for example, 90% or more) that have flowed downward from the first big winning hole 126 fall onto the movable piece 120b. In addition, a portion (eg, 1% to 10%) of the game balls that have flowed downward from the first big winning hole 126 are guided to the out hole 131 by these nails.

第1可変始動口120Bの閉状態では、可動片120b上を遊技球が転動する。可動片120b上を遊技球が転動しているときに可動片120bが開状態になると、可動片120b上の遊技球は全て第1可変始動口120B内に導かれる。第1可変始動口120Bに遊技球が入球すると、1個の遊技球の入球に対して1個の遊技球が賞球として払い出されるとともに、大役遊技あるいは小当たり遊技の実行有無等を決定する抽選が行われる。 In the closed state of the first variable starting port 120B, the game ball rolls on the movable piece 120b. When the movable piece 120b is opened while the game ball is rolling on the movable piece 120b, all the game balls on the movable piece 120b are guided into the first variable starting port 120B. When a game ball enters the first variable starting port 120B, one game ball is paid out as a prize ball for one game ball entering, and whether or not to execute a big win game or a small win game is determined. A lottery will be held.

第1可変始動口120Bに入球しなかった遊技球は、可動片120b上から遊技機100の正面視で右側に落下する。第1可変始動口120Bの下方には、第2大入賞口128が設けられており、可動片120b上から落下した遊技球の殆どが、第2大入賞口128の可動片128b上を転動する。可動片128b上の遊技球は、可動片128bの傾斜により、遊技機100の正面視で右側から左側に向けてゆっくりと転動する。 A game ball that does not enter the first variable starter opening 120B falls from the movable piece 120b to the right side of the game machine 100 when viewed from the front. Below the first variable starter opening 120B, a second large winning opening 128 is provided, and most of the game balls dropped from the movable piece 120b roll on the movable piece 128b of the second large winning opening 128. do. The game ball on the movable piece 128b rolls slowly from the right side to the left side in the front view of the gaming machine 100 due to the inclination of the movable piece 128b.

詳しくは後述するが、同時回し参考例では、第2大入賞口128は、小当たり遊技においてのみ開放される。つまり、第2大入賞口128は、小当たり遊技専用の大入賞口と言える。可動片128b上を遊技球が転動しているときに可動片128bが開状態になると、可動片128b上の遊技球は全て第2大入賞口128内に導かれる。小当たり遊技中に第2大入賞口128に遊技球が入球すると、1個の遊技球の入球に対して2個以上の所定数(ここでは15個)の遊技球が賞球として払い出される。 Although details will be described later, in the simultaneous spinning reference example, the second big winning opening 128 is opened only in the small winning game. That is, the second big winning hole 128 can be said to be a big winning hole dedicated to small winning games. When the movable piece 128b is opened while the game ball is rolling on the movable piece 128b, all the game balls on the movable piece 128b are guided into the second big winning opening 128.例文帳に追加When a game ball enters the second big winning hole 128 during a small winning game, a predetermined number of two or more (here, 15) game balls are paid out as prize balls for one game ball entering. be

第2大入賞口128の左下方には、普図作動口125が設けられている。ここでは、第2大入賞口128上から下方に落下した遊技球の殆ど全てが普図作動口125に入球するように、第2遊技領域116bに釘が配されている。同時回し参考例では、普図作動口125は、1個の遊技球の入球に対して1個の遊技球が賞球として払い出される「特定の入賞口」を構成している。また、普図作動口125に遊技球が入球すると、ゲート124を遊技球が通過した場合と同様に、第1可変始動口120B(可動片120b)を開状態とするか否かを決定する抽選が行われる。 A normal figure operation opening 125 is provided at the lower left of the second big winning opening 128 . Here, a nail is arranged in the second game area 116b so that almost all of the game balls dropped downward from the second big winning hole 128 enter the normal figure operation hole 125.例文帳に追加In the simultaneous turning reference example, the normal figure operation opening 125 constitutes a "specific winning opening" in which one game ball is paid out as a prize ball for one game ball entry. In addition, when the game ball enters the normal figure operation port 125, similarly to the case where the game ball passes through the gate 124, it is determined whether the first variable start port 120B (movable piece 120b) is opened. A lottery will be held.

なお、遊技領域116の最下部には、一般入賞口118、第1始動口120、第2始動口122、普図作動口125、および、大入賞口のいずれにも入球しなかった遊技球を、遊技領域116から遊技盤108の背面側に排出する排出口130が設けられている。 In addition, at the bottom of the game area 116, a game ball that did not enter any of the general winning opening 118, the first starting opening 120, the second starting opening 122, the normal drawing opening 125, and the big winning opening is provided from the game area 116 to the back side of the game board 108.

そして、遊技機100には、遊技の進行中等に演出を行う演出装置として、液晶表示装置からなる演出表示装置200、可動装置からなる演出役物装置202、さまざまな点灯態様や発光色に制御されるランプからなる演出照明装置204、スピーカからなる音声出力装置206、遊技者の操作を受け付ける演出操作装置208が設けられている。 The game machine 100 includes a performance display device 200 made of a liquid crystal display device, a performance accessory device 202 made of a movable device, and various lighting modes and light emission colors as performance devices for performing performance during the progress of the game. An effect lighting device 204 made up of a lamp, a sound output device 206 made up of a speaker, and an effect operation device 208 that accepts the player's operation are provided.

演出表示装置200は、画像を表示する画像表示部からなるメイン演出表示部200aを備えており、このメイン演出表示部200aを、遊技盤108の略中央部分において、遊技機100の正面側から視認可能に配置している。このメイン演出表示部200aには、図示のように、3つの演出図柄210a、210b、210cが変動表示される等、種々の演出が実行されることとなる。 The effect display device 200 includes a main effect display portion 200a consisting of an image display portion for displaying an image. placed as possible. In the main effect display section 200a, as shown in the figure, various effects such as three effect patterns 210a, 210b, and 210c are variably displayed.

演出役物装置202は、メイン演出表示部200aよりも前面に配置され、通常、遊技盤108の背面側の原点位置において、複数の構成部材に分割された状態で退避しており、遊技者が視認できないようになっている。そして、上記の演出図柄210a、210b、210cの変動表示中などに、アクチュエータの駆動により、メイン演出表示部200aの前面にある可動位置まで各構成部材が移動すると、メイン演出表示部200aの前面で各構成部材が合体して、遊技者に大当たりの期待感を付与する。 The effect accessory device 202 is arranged in front of the main effect display unit 200a, and is usually retracted at the origin position on the back side of the game board 108 in a state of being divided into a plurality of constituent members. It is no longer visible. During the variable display of the performance patterns 210a, 210b, and 210c, when each constituent member moves to a movable position in front of the main effect display section 200a by driving the actuator, the front surface of the main effect display section 200a Each constituent member is united to give the player a feeling of anticipation of a big win.

演出照明装置204は、演出役物装置202や遊技盤108等に設けられており、メイン演出表示部200aに表示される画像等に合わせて、さまざまに点灯制御される。 The effect lighting device 204 is provided in the effect accessory device 202, the game board 108, etc., and is variously controlled to be lit according to the image displayed on the main effect display section 200a.

音声出力装置206は、前枠106の上部位置や外枠102の最下部位置に設けられ、メイン演出表示部200aに表示される画像等に合わせて、遊技機100の正面側に向けてさまざまな音声を出力する。 The audio output device 206 is provided at an upper position of the front frame 106 or a lowermost position of the outer frame 102, and outputs various sounds toward the front side of the gaming machine 100 according to the image displayed on the main effect display section 200a. Output audio.

演出操作装置208は、遊技者の押下操作を受け付けるボタンで構成され、遊技機100の幅方向略中央位置であって、かつ、透過板110よりも下方位置に設けられている。この演出操作装置208は、メイン演出表示部200aに表示される画像等に合わせて有効化されるものであり、操作有効時間内に遊技者の操作を受け付けると、当該操作に応じて、さまざまな演出が実行される。 The effect operation device 208 is composed of a button that receives a player's pressing operation, and is provided at a substantially central position in the width direction of the gaming machine 100 and at a position lower than the transmission plate 110 . This effect operation device 208 is activated in accordance with the image displayed on the main effect display section 200a, and when the player's operation is received within the operation effective time, various operations are performed according to the operation. A performance is performed.

なお、図中符号132は、遊技機100から払い出される賞球や、遊技球貸出装置から貸し出される遊技球が導かれる上皿であり、この上皿132が遊技球で一杯になると、遊技球は下皿134に導かれることとなる。また、この下皿134の底面には、当該下皿134から遊技球を排出するための球抜き孔(不図示)が形成されている。この球抜き孔は、通常、開閉板(不図示)によって閉じられているが、球抜きつまみ134aを押下することにより、当該球抜きつまみ134aと一体となって開閉板がスライドし、球抜き孔から下皿134の下方に遊技球を排出することが可能となっている。 In the figure, reference numeral 132 denotes an upper plate into which prize balls paid out from the gaming machine 100 and game balls rented from the game ball lending device are guided. It will be guided to the lower plate 134 . Also, the bottom surface of the lower tray 134 is formed with a ball removal hole (not shown) for ejecting game balls from the lower tray 134 . This ball extraction hole is normally closed by an opening/closing plate (not shown), but when the ball removal knob 134a is pressed down, the opening/closing plate slides together with the ball removal knob 134a to open the ball removal hole. It is possible to discharge the game ball from the lower tray 134 from the bottom.

また、遊技盤108には、遊技領域116の外方であって、かつ、遊技者が視認可能な位置に、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が設けられている。これら各表示器160~172は、遊技に係る種々の状況を表示するための装置であるが、その詳細については後述する。 In addition, on the game board 108, a first special symbol display device 160, a second special symbol display device 162, a first special symbol holding device, and a first special symbol display device 160, a second special symbol display device 162, and a first special symbol reserve are provided outside the game area 116 and at positions visible to the player. A display device 164, a second special symbol reservation display device 166, a normal symbol display device 168, a normal symbol reservation display device 170, and a right-handed information display device 172 are provided. Each of these displays 160 to 172 is a device for displaying various situations relating to the game, and the details thereof will be described later.

(制御手段の内部構成)
図4は、同時回し参考例に係る遊技の進行を制御する制御手段の内部構成を示すブロック図である。
(Internal configuration of control means)
FIG. 4 is a block diagram showing the internal configuration of control means for controlling the progress of a game according to the simultaneous spinning reference example.

主制御基板300は遊技の基本動作を制御する。この主制御基板300は、メインCPU300a、メインROM300b、メインRAM300cを備えている。メインCPU300aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM300bに格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の基板にコマンドを送信したりする。メインRAM300cは、メインCPU300aの演算処理時におけるデータのワークエリアとして機能する。 The main control board 300 controls the basic operations of the game. The main control board 300 includes a main CPU 300a, a main ROM 300b, and a main RAM 300c. The main CPU 300a reads the program stored in the main ROM 300b based on the input signals from the detection switches and timers and performs arithmetic processing, and directly controls each device and display, or the result of the arithmetic processing. Send commands to other boards accordingly. The main RAM 300c functions as a data work area during arithmetic processing of the main CPU 300a.

上記主制御基板300には、一般入賞口118に遊技球が入球したことを検出する一般入賞口検出スイッチ118s、第1固定始動口120Aに遊技球が入球したことを検出する第1固定始動口検出スイッチ120As、第1可変始動口120Bに遊技球が入球したことを検出する第1可変始動口検出スイッチ120Bs、第2始動口122に遊技球が入球したことを検出する第2始動口検出スイッチ122s、ゲート124を遊技球が通過したことを検出するゲート検出スイッチ124s、普図作動口125に遊技球が入球したことを検出する普図作動口検出スイッチ125s、第1大入賞口126に遊技球が入球したことを検出する第1大入賞口検出スイッチ126s、第2大入賞口128に遊技球が入球したことを検出する第2大入賞口検出スイッチ128sが接続されており、これら各検出スイッチから主制御基板300に検出信号が入力されるようになっている。 The main control board 300 includes a general winning opening detection switch 118s for detecting that a game ball has entered the general winning opening 118, and a first fixed opening for detecting that a game ball has entered the first fixed starting opening 120A. A starting port detection switch 120As, a first variable starting port detection switch 120Bs that detects that a game ball has entered the first variable starting port 120B, and a second variable starting port that detects that a game ball has entered the second starting port 122. A start opening detection switch 122s, a gate detection switch 124s that detects that a game ball has passed through the gate 124, a normal diagram operation opening detection switch 125s that detects that a game ball has entered the normal diagram operation opening 125, a first large A first big winning hole detection switch 126s for detecting that a game ball has entered the winning hole 126 and a second big winning hole detection switch 128s for detecting that a game ball has entered the second big winning hole 128 are connected. A detection signal is input to the main control board 300 from each of these detection switches.

また、主制御基板300には、第1可変始動口120Bの可動片120bを作動する普通電動役物ソレノイド120cと、第1大入賞口126を開閉する開閉扉126bを作動する第1大入賞口ソレノイド126cと、第2大入賞口128を開閉する可動片128bを作動する第2大入賞口ソレノイド128cと、が接続されており、主制御基板300によって、第1可変始動口120B、第1大入賞口126、第2大入賞口128の開閉制御がなされるようになっている。 In addition, the main control board 300 includes a normal electric accessory solenoid 120c that operates the movable piece 120b of the first variable starting port 120B, and a first big prize winning port that operates the open/close door 126b that opens and closes the first big prize winning port 126. The solenoid 126c and the second big prize winning opening solenoid 128c that operates the movable piece 128b that opens and closes the second big winning opening 128 are connected. Opening and closing control of the winning opening 126 and the second big winning opening 128 is performed.

さらに、主制御基板300には、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172が接続されており、主制御基板300によって、これら各表示器の表示制御がなされるようになっている。 Furthermore, the main control board 300 includes a first special symbol display 160, a second special symbol display 162, a first special symbol reservation display 164, a second special symbol reservation display 166, a normal symbol display 168, and a normal symbol display. A symbol holding indicator 170 and a right-handed information indicator 172 are connected, and the main control board 300 controls the display of each of these indicators.

さらに、遊技盤108の背面には、設定変更スイッチ180sが設けられている。設定変更スイッチ180sは、専用の鍵によってアクセス可能に構成されている。設定変更スイッチ180sがオンしていることを条件として、設定値を変更、確認する操作が可能となる。詳しくは後述するが、同時回し参考例の遊技機100は、有利度合いが異なる6段階の設定値のいずれかが設定値バッファに登録設定値として記憶され、記憶されている登録設定値に応じて遊技が進行する。なお、ここでは、設定値が6段階であることとするが、設定値は高設定および低設定の2段階のみが設けられてもよいし、他の複数段階で設けられてもよい。さらには、設定値は必須ではなく、有利度合いが変更されなくてもよい。 Furthermore, on the back surface of the game board 108, a setting change switch 180s is provided. The setting change switch 180s is configured to be accessible with a dedicated key. Under the condition that the setting change switch 180s is turned on, the setting value can be changed and confirmed. Although the details will be described later, in the gaming machine 100 of the simultaneous spinning reference example, one of six levels of setting values with different degrees of advantage is stored as a registered setting value in the setting value buffer, and according to the stored registered setting value, Game progresses. Here, it is assumed that there are six levels of setting values, but the setting values may be provided in only two levels of high setting and low setting, or may be provided in a plurality of other levels. Furthermore, the set value is not essential, and the advantage level does not have to be changed.

また、遊技盤108の背面には、RAMクリアボタンが押下操作可能に設けられており、このRAMクリアボタンの押下操作がRAMクリアスイッチ182sによって検出される。RAMクリアスイッチ182sは主制御基板300に接続されており、RAMクリアスイッチ182sから主制御基板300にRAMクリア操作信号が入力される。電源投入時にRAMクリアスイッチ182sからRAMクリア操作信号が入力されている場合、メインCPU300aは、メインRAM300cをクリアする。 Further, a RAM clear button is provided on the back surface of the game board 108 so that it can be pressed, and the RAM clear switch 182s detects the pressing operation of the RAM clear button. The RAM clear switch 182s is connected to the main control board 300, and a RAM clear operation signal is input to the main control board 300 from the RAM clear switch 182s. If a RAM clear operation signal is input from the RAM clear switch 182s when power is turned on, the main CPU 300a clears the main RAM 300c.

また、遊技盤108の背面には、性能表示モニタ184が設けられている。主制御基板300により、性能表示モニタ184に登録設定値やベース比率が表示される。 A performance display monitor 184 is provided on the back of the game board 108 . The main control board 300 displays the registered set values and the base ratio on the performance display monitor 184 .

また、同時回し参考例の遊技機100は、主に第1始動口120または第2始動口122への遊技球の入球によって開始される特別遊技と、ゲート124への遊技球の通過、あるいは、普図作動口125への遊技球の入球によって開始される普通遊技とに大別される。そして、主制御基板300のメインROM300bには、特別遊技および普通遊技を進行するための種々のプログラムや、各種の遊技に必要なデータ、テーブルが記憶されている。 In addition, the gaming machine 100 of the simultaneous spinning reference example mainly includes a special game that is started by entering a game ball into the first start port 120 or the second start port 122, passing the game ball through the gate 124, or , It is roughly divided into a normal game that is started by entering a game ball into the normal pattern operation port 125. The main ROM 300b of the main control board 300 stores various programs for progressing special games and normal games, data necessary for various games, and tables.

また、主制御基板300には、払出制御基板310および副制御基板330が接続されている。払出制御基板310は、遊技球を発射させるための制御、および、賞球を払い出すための制御を行う。この払出制御基板310も、CPU、ROM、RAMを備えており、主制御基板300に対して双方向に通信可能に接続されている。この払出制御基板310には遊技情報出力端子板312が接続されており、主制御基板300から出力される遊技進行上の種々の情報が、払出制御基板310および遊技情報出力端子板312を介して、遊技店のホールコンピュータ等に出力されることとなる。 A payout control board 310 and a sub control board 330 are connected to the main control board 300 . The payout control board 310 performs control for shooting game balls and payout prize balls. This payout control board 310 also includes a CPU, ROM, and RAM, and is connected to the main control board 300 so as to be able to communicate bidirectionally. A game information output terminal board 312 is connected to the payout control board 310 , and various information on the progress of the game output from the main control board 300 is transmitted via the payout control board 310 and the game information output terminal board 312 . , is output to a hall computer or the like of the amusement arcade.

また、払出制御基板310には、貯留部に貯留された遊技球を賞球として遊技者に払い出すための払出モータ314が接続されている。払出制御基板310は、主制御基板300から送信された払出個数指定コマンドに基づいて払出モータ314を制御して所定の賞球を遊技者に払い出すように制御する。このとき、払い出された遊技球数が払出球計数スイッチ316sによって検出され、払い出すべき賞球が遊技者に払い出されたかが把握されるようになっている。 The payout control board 310 is also connected with a payout motor 314 for paying out the game balls stored in the storage portion to the player as prize balls. The payout control board 310 controls the payout motor 314 based on the payout number designation command transmitted from the main control board 300 to pay out predetermined prize balls to the player. At this time, the number of put-out game balls is detected by the put-out ball counting switch 316s, and it is grasped whether the prize balls to be put out have been put out to the player.

また、払出制御基板310には、下皿134の満タン状態を検出する皿満タン検出スイッチ318sが接続されている。この皿満タン検出スイッチ318sは、賞球として払い出される遊技球を下皿134に導く通路に設けられており、遊技球検出信号が払出制御基板310に入力されるようになっている。 Further, the payout control board 310 is connected with a full-dish detection switch 318 s for detecting the full state of the lower tray 134 . This plate full detection switch 318 s is provided in a passage leading game balls paid out as prize balls to the lower plate 134 , and a game ball detection signal is input to the payout control board 310 .

そして、下皿134に所定量以上の遊技球が貯留されて満タン状態になると、下皿134に向かう通路内に遊技球が滞留し、皿満タン検出スイッチ318sから払出制御基板310に向けて、遊技球検出信号が連続的に入力される。払出制御基板310は、遊技球検出信号が所定時間連続して入力された場合に、下皿134が満タン状態であると判断し、皿満タンコマンドを主制御基板300に送信する。一方、皿満タンコマンドを送信した後、遊技球検出信号の連続入力が途絶えた場合には、満タン状態が解除されたと判断し、皿満タン解除コマンドを主制御基板300に送信する。 Then, when the lower tray 134 is filled with a predetermined amount or more of game balls, the game balls stay in the passage toward the lower tray 134, and are directed toward the payout control board 310 from the tray full detection switch 318s. , the game ball detection signal is continuously input. The payout control board 310 determines that the lower tray 134 is full when the game ball detection signal is continuously input for a predetermined period of time, and transmits a full tray command to the main control board 300 . On the other hand, when the continuous input of the game ball detection signal is interrupted after the full-dish command is transmitted, it is determined that the full-drained state is canceled, and the full-dish full-drain release command is transmitted to the main control board 300 .

また、払出制御基板310には、遊技球の発射制御を行う発射制御回路320が設けられている。払出制御基板310には、操作ハンドル112に設けられ、当該操作ハンドル112に遊技者が触れたことを検出するタッチセンサ112sと、操作ハンドル112の操作角度を検出する操作ボリューム112aと、が接続されている。そして、タッチセンサ112sおよび操作ボリューム112aから信号が入力されると、発射制御回路320において、遊技球発射装置に設けられた発射用ソレノイド112cを通電して遊技球を発射させる制御がなされる。 Also, the payout control board 310 is provided with a launch control circuit 320 for controlling the launch of game balls. The payout control board 310 is connected with a touch sensor 112s provided on the operating handle 112 for detecting that the player touches the operating handle 112, and an operation volume 112a for detecting the operating angle of the operating handle 112. ing. Then, when a signal is input from the touch sensor 112s and the operation volume 112a, the shooting control circuit 320 controls the shooting solenoid 112c provided in the game ball shooting device to energize and shoot the game ball.

副制御基板330は、主に遊技中や待機中等の各演出を制御する。この副制御基板330は、サブCPU330a、サブROM330b、サブRAM330cを備えており、主制御基板300に対して、当該主制御基板300から副制御基板330への一方向に通信可能に接続されている。サブCPU330aは、主制御基板300から送信されたコマンドやタイマからの入力信号等に基づいて、サブROM330bに格納されたプログラムを読み出して演算処理を行うとともに、演出を実行制御する。このとき、サブRAM330cは、サブCPU330aの演算処理時におけるデータのワークエリアとして機能する。 The sub-control board 330 mainly controls each effect such as during a game or during standby. The sub-control board 330 includes a sub-CPU 330a, a sub-ROM 330b, and a sub-RAM 330c, and is connected to the main control board 300 so as to be able to communicate in one direction from the main control board 300 to the sub-control board 330. . The sub CPU 330a reads the program stored in the sub ROM 330b based on the command transmitted from the main control board 300, the input signal from the timer, etc., performs arithmetic processing, and executes and controls the performance. At this time, the sub-RAM 330c functions as a data work area during the arithmetic processing of the sub-CPU 330a.

具体的には、副制御基板330では、サブCPU330a、サブROM330b、サブRAM330cが協働して、サブメイン、画像制御部、役物制御部、照明制御部、音声制御部として機能する。サブメインは、各種入力コマンドに応じて、実行する演出の内容を決定したり、演出の実行を管理、統括したりする。画像制御部は、上記メイン演出表示部200aに画像を表示させる画像表示制御を行う。サブROM330bには、メイン演出表示部200aに表示される図柄や背景、字幕等の画像データが多数格納されており、画像制御部が、画像データをサブROM330bから不図示のVRAMに読み出して、メイン演出表示部200aの画像表示を制御する。 Specifically, in the sub-control board 330, the sub-CPU 330a, the sub-ROM 330b, and the sub-RAM 330c cooperate to function as a sub-main, an image control section, a character control section, a lighting control section, and a sound control section. The sub-main decides the content of the effect to be executed, and manages and supervises the execution of the effect according to various input commands. The image control section performs image display control for displaying an image on the main effect display section 200a. The sub-ROM 330b stores a large amount of image data such as patterns, backgrounds, subtitles, etc. displayed on the main effect display section 200a. It controls the image display of the effect display section 200a.

また、役物制御部は、サブメインによる演出の管理にしたがってアクチュエータを駆動し、演出役物装置202を可動制御する。照明制御部は演出照明装置204を点灯制御する。また、音声制御部は、上記音声出力装置206から音声を出力させる音声出力制御を行う。サブROM330bには、音声出力装置206から出力される音声や楽曲等の音声データが多数格納されており、音声制御部が、音声データをサブROM330bから読み出して、音声出力装置206の音声出力を制御する。 In addition, the accessory control unit drives the actuator according to the management of the presentation by the sub-main, and controls the movement of the presentation accessory device 202 . The lighting control unit controls lighting of the production lighting device 204 . Also, the audio control unit performs audio output control for outputting audio from the audio output device 206 . The sub-ROM 330b stores a large amount of audio data such as sounds and music output from the audio output device 206, and the audio control unit reads the audio data from the sub-ROM 330b and controls the audio output of the audio output device 206. do.

さらに、副制御基板330では、演出操作装置208が押下操作または回転操作されたことを検出する演出操作装置検出スイッチ208sから操作検出信号が入力された際に、所定の演出を実行する。 Further, the sub-control board 330 executes a predetermined effect when an operation detection signal is input from the effect operation device detection switch 208s that detects that the effect operation device 208 has been pressed or rotated.

なお、各基板には、不図示の電源基板が接続されており、電源基板を介して商用電源から各基板に電力供給がなされている。また、電源基板にはコンデンサからなるバックアップ電源が設けられている。 A power supply board (not shown) is connected to each board, and power is supplied to each board from a commercial power supply via the power supply board. Also, the power supply board is provided with a backup power supply comprising a capacitor.

図5は、同時回し参考例に係るメインCPU300aが用いるメモリ領域のアドレスマップである。なお、図5において、アドレスは16進数で示しており、「H」は16進数であることを示している。図5に示すように、メインCPU300aが用いるメモリ領域は、メインROM300bに割り当てられたメモリ領域(0000H~2FFFH)と、メインRAM300cに割り当てられたメモリ領域(F000H~F3FFH)とを含んでいる。 FIG. 5 is an address map of a memory area used by the main CPU 300a according to the simultaneous rotation reference example. In FIG. 5, addresses are shown in hexadecimal numbers, and "H" indicates hexadecimal numbers. As shown in FIG. 5, the memory area used by the main CPU 300a includes a memory area (0000H to 2FFFH) allocated to the main ROM 300b and a memory area (F000H to F3FFH) allocated to the main RAM 300c.

メインROM300bのメモリ領域は、遊技の進行を制御するためのプログラムおよびデータを格納する使用領域(0000H~1BF3H)と、使用領域以外の領域であって、遊技機規則で定める試験を行うための処理や、性能表示モニタ184を表示するための処理(性能表示モニタ184に表示するベース比率を算出するための処理を含む)を実行するためのプログラムおよびデータを格納する使用外領域(2000H~2BFFH)とが設けられている。 The memory area of the main ROM 300b consists of a use area (0000H to 1BF3H) for storing programs and data for controlling the progress of the game, and an area other than the use area, which is used for processing for performing tests stipulated by gaming machine regulations. and an unused area (2000H to 2BFFH) for storing programs and data for executing processing for displaying the performance display monitor 184 (including processing for calculating the base ratio to be displayed on the performance display monitor 184) and are provided.

メインROM300bの使用領域には、遊技の進行を制御するためのプログラムが格納されるプログラム領域(0000H~0A89H)、未使用領域(0A8AH~11FFH)、プログラム以外のデータが格納されるデータ領域(1200H~1BF3H)が設けられている。なお、使用領域は、未使用領域(0A8AH~0FFFH)を含めないようにしてもよい。 The area used in the main ROM 300b includes a program area (0000H to 0A89H) that stores programs for controlling the progress of games, an unused area (0A8AH to 11FFH), and a data area (1200H) that stores data other than programs. ~1BF3H) are provided. Note that the used area may not include the unused area (0A8AH to 0FFFH).

メインROM300bの使用外領域には、遊技機規則で定める試験を行うための処理や、性能表示モニタ184を表示するための処理を実行するためのプログラムが格納されるプログラム領域(2000H~27FFH)、これらのプログラム以外のデータが格納されるデータ領域(2800H~2BFFH)が設けられている。 The non-use area of the main ROM 300b is a program area (2000H to 27FFH) for storing programs for executing processes for performing tests stipulated by game machine regulations and processes for displaying the performance display monitor 184, A data area (2800H to 2BFFH) is provided for storing data other than these programs.

また、メインROM300bのメモリ領域には、使用領域および使用外領域以外にも、未使用領域(1A7BH~1DFFH)、プログラムのタイトル、バージョン等の任意のデータが格納されるROMコメント領域(1E00H~1EFFH)、未使用領域(1F00H~1FFFH)、未使用領域(2C00H~2FBFH)、メインCPU300aがプログラムを実行するために必要な情報が格納されるプログラム管理領域(2FC0H~2FFFH)が設けられている。 In addition to the used area and the unused area, the memory area of the main ROM 300b also includes an unused area (1A7BH to 1DFFH), a ROM comment area (1E00H to 1EFFH) in which arbitrary data such as program titles and versions are stored. ), an unused area (1F00H to 1FFFH), an unused area (2C00H to 2FBFH), and a program management area (2FC0H to 2FFFH) in which information necessary for main CPU 300a to execute a program is stored.

メインRAM300cのメモリ領域は、遊技の進行を制御するためのプログラムが実行されている際に一時的に用いられる使用領域(F000H~F1FFH)と、使用領域以外の領域であって、遊技機規則で定める試験を行うための処理や、性能表示モニタ184を表示するための処理のプログラムが実行されている際に一時的に用いられる使用外領域(F210H~F228H)とが設けられている。 The memory area of the main RAM 300c is a use area (F000H to F1FFH) that is temporarily used when a program for controlling the progress of a game is being executed, and an area other than the use area. A non-use area (F210H to F228H) that is temporarily used when a program for performing a predetermined test or processing for displaying the performance display monitor 184 is executed is provided.

メインRAM300cの使用領域には、遊技の進行を制御するためのプログラムが実行されている際に一時的に用いられるワーク領域(F000H~F12AH)、未使用領域(F12BH~F1D7H)、遊技の進行を制御するためのプログラムの実行中にデータを一時的に退避させるスタック領域(F1D8H~F1FFH)が設けられている。なお、使用領域は、未使用領域(F12BH~F1D7H)を含めないようにしてもよい。 The area used in the main RAM 300c includes a work area (F000H to F12AH) that is temporarily used when a program for controlling the progress of the game is executed, an unused area (F12BH to F1D7H), A stack area (F1D8H to F1FFH) is provided for temporarily saving data during execution of a control program. Note that the used area may not include the unused area (F12BH to F1D7H).

メインRAM300cの使用外領域には、遊技機規則で定める試験を行うための処理や、性能表示モニタ184を表示するための処理のプログラムが実行されている際に一時的に用いられるワーク領域(F210H~F21FH)、これらのプログラムが実行されている際にデータを一時的に退避させるスタック領域(F220H~F228H)が設けられている。 In the non-use area of the main RAM 300c, there is a work area (F210H to F21FH), and a stack area (F220H to F228H) for temporarily saving data while these programs are being executed.

また、メインRAM300cのメモリ領域には、使用領域および使用外領域以外にも、未使用領域(F200H~F20FH)、未使用領域(F229H~F3FFH)が設けられている。 The memory area of the main RAM 300c also has unused areas (F200H to F20FH) and unused areas (F229H to F3FFH) in addition to the used area and the unused area.

このように、メインROM300bおよびメインRAM300cでは、遊技の進行を制御するために用いられる使用領域と、遊技機規則で定める試験を行うための処理や、性能表示モニタ184の表示制御をするための処理を実行するために用いられる使用外領域とが分かれて設けられている。 In this way, the main ROM 300b and the main RAM 300c have a usable area for controlling the progress of the game, a processing for performing a test stipulated by gaming machine regulations, and a processing for controlling the display of the performance display monitor 184. are provided separately from the non-use area used for executing the

そして、メインRAM300cでは、使用領域と使用外領域との間に、16バイトの未使用領域(F200H~F20FH)が設けられている。この未使用領域(F200H~F20FH)は、使用領域および使用外領域を分ける境界領域として設定されており、使用領域と使用外領域との境界が明確となり、遊技の進行を制御するためのプログラムが実行されている際に使用外領域が用いられること、および、遊技機規則で定める試験を行うための処理や、性能表示モニタ184の表示制御をするための処理のプログラムが実行されている際に使用領域が用いられることを防止している。 In the main RAM 300c, a 16-byte unused area (F200H to F20FH) is provided between the used area and the unused area. This unused area (F200H to F20FH) is set as a boundary area separating the used area and the unused area, and the boundary between the used area and the unused area becomes clear, and the program for controlling the progress of the game When the non-use area is used during execution, and when the program of the processing for performing the test stipulated by the gaming machine regulations and the processing for controlling the display of the performance display monitor 184 is being executed It prevents the used area from being used.

なお、使用領域と使用外領域との間に設けられる未使用領域は、少なくとも1バイト以上であればよく、不正防止の観点から、4バイト以上であることが望ましく、16バイト以上に設定されることがより望ましい。また、未使用領域は、データの書き込みおよび読み出しが禁止されているが、不正防止の観点から、所定のタイミングでクリアするようにしてもよい。 The unused area provided between the used area and the unused area should be at least 1 byte or more, preferably 4 bytes or more from the viewpoint of fraud prevention, and is set to 16 bytes or more. is more desirable. Also, although the unused area is prohibited from writing and reading data, it may be cleared at a predetermined timing from the viewpoint of fraud prevention.

また、FE00h~FFFFhのメモリ空間には入出力部が割り当てられている。かかる入出力部については後程詳述する。 An input/output unit is assigned to the memory space from FE00h to FFFFh. Such an input/output unit will be described in detail later.

次に、同時回し参考例の遊技機100における遊技について、メインROM300bに記憶されている各種テーブルと併せて説明する。 Next, a game in the gaming machine 100 of the simultaneous spinning reference example will be described together with various tables stored in the main ROM 300b.

前述したように、同時回し参考例の遊技機100は、特別遊技と普通遊技の2種類の遊技が並行して進行するものである。特別遊技は、低確率遊技状態および高確率遊技状態のいずれかの遊技状態にて遊技が進行し、普通遊技は、非時短遊技状態、中時短遊技状態、時短遊技状態のいずれかの遊技状態にて遊技が進行する。 As described above, in the gaming machine 100 of the simultaneous spinning reference example, two types of games, a special game and a normal game, progress in parallel. In the special game, the game progresses in one of the low-probability game state and the high-probability game state, and the normal game is in one of the non-time-saving game state, medium-time-saving game state, and time-saving game state. The game progresses.

各遊技状態の詳細については後述するが、低確率遊技状態というのは、大入賞口が開放される大役遊技を実行する権利獲得の確率が低く設定された遊技状態であり、高確率遊技状態というのは、大役遊技を実行する権利獲得の確率が高く設定された遊技状態である。また、非時短遊技状態というのは、可動片120bが開状態になりにくく、第1可変始動口120Bに遊技球が入球し難い遊技状態であり、中時短遊技状態というのは、非時短遊技状態よりも可動片120bが開状態になりやすく、第1可変始動口120Bに遊技球が入球しやすい遊技状態である。また、時短遊技状態というのは、中時短遊技状態よりも、さらに、可動片120bが開状態になりやすく、第1可変始動口120Bに遊技球が最も入球しやすい遊技状態である。なお、時短遊技状態では、遊技中に第2遊技領域116bに向けて遊技球を発射し続けている場合に、僅かに遊技球が減少するか、遊技球が殆ど減少しないように設定されている。 The details of each game state will be described later, but the low-probability game state is a game state in which the probability of winning the right to execute the big win game in which the big winning opening is opened is set low, and is called a high-probability game state. 1 is a gaming state in which the probability of winning the right to execute a big win game is set high. In addition, the non-time-saving game state is a game state in which the movable piece 120b is difficult to open, and the game ball is difficult to enter the first variable start port 120B. It is a game state in which the movable piece 120b is more likely to be in the open state than in the state, and the game ball is more likely to enter the first variable starting port 120B. In addition, the time-saving game state is a game state in which the movable piece 120b is more likely to be in an open state than in the middle-time-saving game state, and the game ball is most likely to enter the first variable starting port 120B. In addition, in the time-saving game state, when the game balls are continuously shot toward the second game area 116b during the game, the game balls are set to decrease slightly or hardly decrease. .

上記のように、特別遊技と普通遊技とは同時並行して進行することから、同時回し参考例では、低確率遊技状態または高確率遊技状態と、非時短遊技状態、中時短遊技状態、時短遊技状態のいずれかとが組み合わされた遊技状態となる。以下では、理解を容易とするため、特別遊技に係る遊技状態、すなわち、低確率遊技状態および高確率遊技状態を特別遊技状態と呼び、普通遊技に係る遊技状態、すなわち、非時短遊技状態、中時短遊技状態、時短遊技状態を普通遊技状態と呼ぶ場合がある。遊技機100の初期状態は、低確率遊技状態および非時短遊技状態に設定されている。 As mentioned above, since the special game and the normal game progress in parallel, in the simultaneous turning reference example, the low probability game state or high probability game state, non-time-saving game state, medium-time-saving game state, time-saving game It becomes a game state in which any of the states is combined. Below, in order to facilitate understanding, the game state related to the special game, ie, the low probability game state and the high probability game state is called a special game state, the game state usually related to the game, ie, non-time-saving game state, medium The time-saving game state and the time-saving game state may be called normal game state. The initial state of the gaming machine 100 is set to a low-probability gaming state and a non-time-saving gaming state.

遊技者が操作ハンドル112を操作して遊技領域116に遊技球を発射させるとともに、遊技領域116を流下する遊技球が第1始動口120または第2始動口122に入球すると、遊技者に遊技利益を付与するか否かの抽選(以下、「大役抽選」という)が行われる。この大役抽選において、大当たりに当選すると、大入賞口が開放されるとともに当該大入賞口への遊技球の入球が可能となる大役遊技が実行され、また、当該大役遊技の終了後の遊技状態が、上記のいずれかの遊技状態に設定される。以下では、大役抽選方法について説明する。 When the player operates the operation handle 112 to shoot the game ball into the game area 116, and the game ball flowing down the game area 116 enters the first start hole 120 or the second start hole 122, the player is asked to play the game. A lottery (hereinafter referred to as a "big role lottery") is held to decide whether or not to give a profit. In this big win lottery, when a big win is won, a big win game is executed in which the big win hole is opened and a game ball can enter the big win hole, and a game state after the big win game ends. is set to one of the above game states. Below, the major role lottery method will be described.

なお、詳しくは後述するが、第1始動口120または第2始動口122に遊技球が入球すると、大役抽選に係る種々の乱数値(大当たり決定乱数、当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数)が取得されるとともに、これら各乱数値がメインRAM300cの特図保留記憶領域に記憶される。以下では、第1始動口120に遊技球が入球して特図保留記憶領域に記憶された種々の乱数を総称して特1保留とよび、第2始動口122に遊技球が入球して特図保留記憶領域に記憶された種々の乱数を総称して特2保留とよぶ。 Although details will be described later, when a game ball enters the first start port 120 or the second start port 122, various random numbers related to the big role lottery (jackpot determination random number, winning pattern random number, reach group determination random number, reach mode determination random number, variation pattern random number) are acquired, and each random value is stored in the special figure reservation storage area of the main RAM 300c. Hereinafter, various random numbers stored in the special figure reservation storage area after the game ball enters the first start port 120 are collectively referred to as special 1 reservation, and the game ball enters the second start port 122. Various random numbers stored in the special figure reservation storage area are collectively called special 2 reservation.

メインRAM300cの特図保留記憶領域は、第1特図保留記憶領域と第2特図保留記憶領域とを備えている。第1特図保留記憶領域および第2特図保留記憶領域は、それぞれ4つの記憶部(第1~第4記憶部)を有している。そして、第1始動口120に遊技球が入球すると、特1保留を第1特図保留記憶領域の第1記憶部から順に記憶し、第2始動口122に遊技球が入球すると、特2保留を第2特図保留記憶領域の第1記憶部から順に記憶する。 The special figure reservation storage area of the main RAM 300c includes a first special figure reservation storage area and a second special figure reservation storage area. The first special figure reservation storage area and the second special figure reservation storage area each have four storage units (first to fourth storage units). Then, when the game ball enters the first start port 120, the special 1 reservation is stored in order from the first storage part of the first special figure reservation storage area, and when the game ball enters the second start port 122, special 2 reservation is stored in order from the first storage part of the second special figure reservation storage area.

例えば、第1始動口120に遊技球が入球したとき、第1特図保留記憶領域の第1~第4記憶部のいずれにも保留が記憶されていない場合には、第1記憶部に特1保留を記憶する。また、例えば、第1記憶部~第3記憶部に特1保留が記憶されている状態で、第1始動口120に遊技球が入球した場合には、特1保留を第4記憶部に記憶する。また、第2始動口122に遊技球が入球した場合にも、上記と同様に、第2特図保留記憶領域の第1記憶部~第4記憶部の中で、特2保留が記憶されていない、最も番号(序数)の小さい記憶部に特2保留が記憶される。 For example, when the game ball enters the first start port 120, if the reservation is not stored in any of the first to fourth storage units of the first special figure reservation storage area, the first storage unit Store special 1 hold. Also, for example, in a state where special 1 suspension is stored in the first storage unit to the third storage unit, when the game ball enters the first start port 120, special 1 suspension is stored in the fourth storage unit Remember. Also, when the game ball enters the second start port 122, in the same manner as above, the special 2 reservation is stored in the first to fourth storage units of the second special figure reservation storage area. The special 2 hold is stored in the storage unit with the smallest number (ordinal number) that is not available.

ただし、第1特図保留記憶領域および第2特図保留記憶領域に記憶可能な特1保留数(X1)および特2保留数(X2)は、それぞれ4つに設定されている。したがって、例えば、第1始動口120に遊技球が入球したときに、第1特図保留記憶領域に既に4つの特1保留が記憶されている場合には、当該第1始動口120への遊技球の入球によって新たに特1保留が記憶されることはない。同様に、第2始動口122に遊技球が入球したときに、第2特図保留記憶領域に既に4つの特2保留が記憶されている場合には、当該第2始動口122への遊技球の入球によって新たに特2保留が記憶されることはない。 However, the number of special 1 reservations (X1) and the number of special 2 reservations (X2) that can be stored in the first special figure reservation storage area and the second special figure reservation storage area are set to four respectively. Therefore, for example, when a game ball enters the first start port 120, if four special 1 reservations are already stored in the first special figure reservation storage area, to the first start port 120 A special 1 suspension is not newly stored by the entry of a game ball. Similarly, when the game ball enters the second start port 122, if four special 2 reservations are already stored in the second special figure reservation storage area, the game to the second start port 122 A special 2 hold is not newly memorized by the entry of a ball.

図6は、同時回し参考例に係る低確時大当たり決定乱数判定テーブルを説明する図である。第1始動口120または第2始動口122に遊技球が入球すると、0~65535の範囲内から1つの大当たり決定乱数が取得される。そして、大役抽選を開始するとき、すなわち、大当たりの判定を行うときの遊技状態に応じて大当たり決定乱数判定テーブルが選択され、当該選択された大当たり決定乱数判定テーブルと取得された大当たり決定乱数とによって大役抽選が行われる。 FIG. 6 is a diagram illustrating a low-probability jackpot determination random number determination table according to the simultaneous turning reference example. When a game ball enters the first starting port 120 or the second starting port 122, one jackpot determination random number is obtained from within the range of 0-65535. Then, when the big win lottery is started, that is, according to the game state when judging the big win, the big win determination random number determination table is selected, and the selected jackpot determination random number determination table and the acquired jackpot determination random number are used. A lottery will be held.

低確率遊技状態において、特1保留および特2保留について大役抽選を開始する場合には、低確時大当たり決定乱数判定テーブルが参照される。ここで、同時回し参考例では、有利度合いを異にする6段階の設定値が設けられており、低確時大当たり決定乱数判定テーブルは、設定値ごとに設けられている。遊技中は、設定値が6段階のうちのいずれかに設定されており、現在設定されている設定値(設定値バッファに記憶されている登録設定値)に対応する低確時大当たり決定乱数判定テーブルを参照して大役抽選が行われる。 In the low-probability gaming state, when the big win lottery is started for special 1 suspension and special 2 suspension, the low-probability jackpot determination random number determination table is referred to. Here, in the simultaneous turning reference example, six levels of setting values with different degrees of advantage are provided, and the low-probability jackpot determination random number determination table is provided for each setting value. During the game, the set value is set to one of six levels, and the low-probability jackpot decision random number judgment corresponding to the currently set set value (registered set value stored in the set value buffer) A lottery for major roles is conducted with reference to the table.

低確率遊技状態であって、設定値=1に設定されている場合(登録設定値=1)には、図6(a)に示す低確時大当たり決定乱数判定テーブルaを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルaによれば、大当たり決定乱数が10001~10218であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/300.6となり、小当たり確率は約1/3.45となる。 In the low-probability gaming state, when set value = 1 (registered set value = 1), refer to the low-probability jackpot determination random number determination table a shown in FIG. is done. According to this low probability jackpot determination random number determination table a, when the jackpot determination random number is 10001 to 10218, it is determined as a jackpot, when the jackpot determination random number is 20001 to 38996, it is determined as a small hit, and others If it is a big hit decision random number, it is determined as a loss. Therefore, the big win probability in this case is about 1/300.6, and the small win probability is about 1/3.45.

低確率遊技状態であって、設定値=2に設定されている場合(登録設定値=2)には、図6(b)に示す低確時大当たり決定乱数判定テーブルbを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルbによれば、大当たり決定乱数が10001~10225であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/291.2となり、小当たり確率は約1/3.45となる。 In the low-probability gaming state, when the set value is set to 2 (registered set value = 2), the large role lottery with reference to the low-probability jackpot determination random number determination table b shown in FIG. 6(b) is done. According to this low probability jackpot determination random number determination table b, when the jackpot determination random number is 10001 to 10225, it is determined as a jackpot, when the jackpot determination random number is 20001 to 38996, it is determined as a small hit, and others If it is a big hit decision random number, it is determined as a loss. Therefore, the big win probability in this case is about 1/291.2, and the small win probability is about 1/3.45.

低確率遊技状態であって、設定値=3に設定されている場合(登録設定値=3)には、図6(c)に示す低確時大当たり決定乱数判定テーブルcを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルcによれば、大当たり決定乱数が10001~10232であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/282.4となり、小当たり確率は約1/3.45となる。 In the low-probability gaming state, when the set value is set to 3 (registered set value = 3), the large role lottery with reference to the low-probability jackpot determination random number determination table c shown in FIG. 6(c) is done. According to this low probability jackpot determination random number determination table c, when the jackpot determination random number is 10001 to 10232, it is determined as a jackpot, when the jackpot determination random number is 20001 to 38996, it is determined as a small hit, and others If it is a big hit decision random number, it is determined as a loss. Therefore, the big win probability in this case is about 1/282.4, and the small win probability is about 1/3.45.

低確率遊技状態であって、設定値=4に設定されている場合(登録設定値=4)には、図6(d)に示す低確時大当たり決定乱数判定テーブルdを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルdによれば、大当たり決定乱数が10001~10239であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/274.2となり、小当たり確率は約1/3.45となる。 In the low-probability gaming state, when set value = 4 (registered set value = 4), refer to the low-probability jackpot determination random number determination table d shown in FIG. is done. According to this low probability jackpot determination random number determination table d, it is determined as a jackpot when the jackpot determination random number is 10001 to 10239, and when the jackpot determination random number is 20001 to 38996, it is determined as a small hit. If it is a big hit decision random number, it is determined as a loss. Therefore, the big win probability in this case is about 1/274.2, and the small win probability is about 1/3.45.

低確率遊技状態であって、設定値=5に設定されている場合(登録設定値=5)には、図6(e)に示す低確時大当たり決定乱数判定テーブルeを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルeによれば、大当たり決定乱数が10001~10246であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/266.4となり、小当たり確率は約1/3.45となる。 In the low-probability gaming state, when the setting value is set to 5 (registered setting value=5), the large role lottery with reference to the low-probability jackpot decision random number determination table e shown in FIG. 6(e) is done. According to this low probability jackpot determination random number determination table e, when the jackpot determination random number is 10001 to 10246, it is determined as a jackpot, when the jackpot determination random number is 20001 to 38996, it is determined as a small hit, and others If it is a big hit decision random number, it is determined as a loss. Therefore, the big win probability in this case is about 1/266.4, and the small win probability is about 1/3.45.

低確率遊技状態であって、設定値=6に設定されている場合(登録設定値=6)には、図6(f)に示す低確時大当たり決定乱数判定テーブルfを参照して大役抽選が行われる。この低確時大当たり決定乱数判定テーブルfによれば、大当たり決定乱数が10001~10253であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/259.0となり、小当たり確率は約1/3.45となる。 In the low-probability gaming state, when set value = 6 (registered set value = 6), refer to the low-probability jackpot determination random number determination table f shown in FIG. is done. According to this low probability jackpot determination random number determination table f, when the jackpot determination random number is 10001 to 10253, it is determined as a jackpot, when the jackpot determination random number is 20001 to 38996, it is determined as a small hit, and others If it is a big hit decision random number, it is determined as a loss. Therefore, the big win probability in this case is about 1/259.0, and the small win probability is about 1/3.45.

図7は、同時回し参考例に係る高確時大当たり決定乱数判定テーブルを説明する図である。高確率遊技状態において、特1保留および特2保留について大役抽選を開始する場合には、高確時大当たり決定乱数判定テーブルが参照される。高確時大当たり決定乱数判定テーブルも、低確時大当たり決定乱数判定テーブルと同様に設定値ごとに設けられている。 FIG. 7 is a diagram for explaining a high-probability jackpot determination random number determination table according to the simultaneous turning reference example. In the high-probability gaming state, when the big win lottery is started for special 1 suspension and special 2 suspension, the high-probability jackpot determination random number determination table is referred to. The high-probability jackpot determination random number determination table is also provided for each set value in the same manner as the low-probability jackpot determination random number determination table.

高確率遊技状態であって、設定値=1に設定されている場合(登録設定値=1)には、図7(a)に示す高確時大当たり決定乱数判定テーブルaを参照して大役抽選が行われる。この高確時大当たり決定乱数判定テーブルaによれば、大当たり決定乱数が10001~10620であった場合に大当たりと判定し、大当たり決定乱数が20001~38996であった場合に小当たりと判定し、その他の大当たり決定乱数であった場合にはハズレと判定する。したがって、この場合の大当たり確率は約1/105.7となり、小当たり確率は約1/3.45となる。 In the high-probability gaming state, when the setting value is set to 1 (registered setting value=1), the large role lottery is performed with reference to the high-probability jackpot determination random number determination table a shown in FIG. 7(a). is done. According to this high probability jackpot determination random number determination table a, when the jackpot determination random number is 10001 to 10620, it is determined as a jackpot, when the jackpot determination random number is 20001 to 38996, it is determined as a small hit, and others If it is a big hit decision random number, it is determined as a loss. Therefore, the big win probability in this case is about 1/105.7, and the small win probability is about 1/3.45.

同様に、高確率遊技状態であって、設定値=2~6に設定されている場合(登録設定値=2~6)には、図7(b)~(f)に示す高確時大当たり決定乱数判定テーブルb~fを参照して大役抽選が行われる。これら高確時大当たり決定乱数判定テーブルb~fによれば、それぞれ大当たり決定乱数が図示の値であった場合に大当たりと判定する。したがって、設定値=2~6の場合の大当たり確率は、それぞれ約1/102.4~1/91.0となり、小当たり確率は約1/3.45となる。 Similarly, in the high probability gaming state, if the setting value = 2 ~ 6 is set (registration setting value = 2 ~ 6), the high probability jackpot shown in Figure 7 (b) ~ (f) A major winning lottery is performed with reference to the decision random number determination tables b to f. According to these high-probability jackpot determination random number determination tables b to f, when the jackpot determination random number is the value shown in the drawing, it is determined as a jackpot. Therefore, when the set value is 2 to 6, the big win probability is about 1/102.4 to 1/91.0, and the small win probability is about 1/3.45.

以上のように、大役抽選は、登録設定値に応じて行われる。このとき、登録設定値に応じて大当たりの当選確率が異なっており、登録設定値が大きい場合の方が、小さい場合に比べて、大当たりに当選しやすくなっている。なお、ここでは、登録設定値が異なっても、小当たりの当選確率は変わらないこととしたが、登録設定値ごとに小当たりの当選確率を異ならせてもよい。また、小当たりは必須ではなく、大役抽選において、大当たりおよびハズレのいずれかのみが決定されてもよい。 As described above, the major role lottery is performed according to the registered setting values. At this time, the probability of winning a big win differs depending on the registered set value, and it is easier to win a big win when the registered set value is larger than when the registered set value is small. Here, even if the registered set values are different, the odds of winning the small win are not changed, but the odds of winning the small win may be changed for each registered set value. Also, the small win is not essential, and only one of the big win and the loss may be determined in the big win lottery.

また、ここでは、低確率遊技状態および高確率遊技状態の双方における大当たりの当選確率が、登録設定値に応じて異なることとしたが、低確率遊技状態および高確率遊技状態のいずれか一方における大当たりの当選確率のみが、登録設定値に応じて異なることとしてもよい。 Also, here, the probability of winning the jackpot in both the low-probability gaming state and the high-probability gaming state is different according to the registered set value. Only the probability of winning may differ according to the registered set value.

図8は、同時回し参考例に係る当たり図柄乱数判定テーブルおよび小当たり図柄乱数判定テーブルを説明する図である。第1始動口120または第2始動口122に遊技球が入球すると、0~99の範囲内から1つの当たり図柄乱数が取得される。そして、上記の大役抽選により「大当たり」の判定結果が導出された場合に、取得している当たり図柄乱数と当たり図柄乱数判定テーブルとによって、特別図柄の種別が決定される。このとき、特1保留によって「大当たり」に当選した場合には、図8(a)に示すように、特1用当たり図柄乱数判定テーブルaが選択され、特2保留によって「大当たり」に当選した場合には、図8(b)に示すように、特2用当たり図柄乱数判定テーブルbが選択され、特1保留によって「小当たり」に当選した場合には、図8(c)に示すように、特1用小当たり図柄乱数判定テーブルaが選択され、特2保留によって「小当たり」に当選した場合には、図8(d)に示すように、特2用小当たり図柄乱数判定テーブルbが選択される。以下では、当たり図柄乱数によって決定される特別図柄、すなわち、大当たりの判定結果が得られた場合に決定される特別図柄を大当たり図柄と呼び、小当たりの判定結果が得られた場合に決定される特別図柄を小当たり図柄と呼び、ハズレの判定結果が得られた場合に決定される特別図柄をハズレ図柄と呼ぶ。 FIG. 8 is a diagram for explaining a winning symbol random number determination table and a small winning symbol random number determination table according to the simultaneous spinning reference example. When a game ball enters the first starting port 120 or the second starting port 122, one winning symbol random number is obtained from within the range of 0-99. Then, when the determination result of "big hit" is derived by the big win lottery, the type of special symbol is determined by the acquired winning symbol random number and the winning symbol random number determination table. At this time, when the "big win" is won by the special 1 reservation, as shown in FIG. 8(a), the special 1 winning symbol random number determination table a is selected, and the "big win" is won by the special 2 reservation. In this case, as shown in FIG. 8(b), the winning symbol random number determination table b for special 2 is selected, and when the "small winning" is won by holding the special 1, as shown in FIG. 8(c). Then, the special 1 small winning symbol random number determination table a is selected, and when the "small winning" is won by the special 2 reservation, as shown in FIG. b is selected. In the following, the special pattern determined by the winning pattern random number, that is, the special pattern determined when the judgment result of the big hit is obtained is called the jackpot pattern, and it is decided when the judgment result of the small hit is obtained. A special symbol is called a small winning symbol, and a special symbol determined when a loss determination result is obtained is called a losing symbol.

図8(a)に示す特1用当たり図柄乱数判定テーブルa、および、図8(b)に示す特2用当たり図柄乱数判定テーブルbによれば、取得した当たり図柄乱数の値に応じて、図示のとおり、特別図柄として大当たり図柄(特別図柄A~J)が決定される。また、図8(c)に示す特1用小当たり図柄乱数判定テーブルa、および、図8(d)に示す特2用小当たり図柄乱数判定テーブルbによれば、取得した当たり図柄乱数の値に応じて、図示のとおり、特別図柄として小当たり図柄(特別図柄Z1~Z6)が決定される。 According to the special 1 per symbol random number determination table a shown in FIG. 8(a) and the special 2 per symbol random number determination table b shown in FIG. 8(b), according to the value of the acquired per symbol random number, As shown in the figure, jackpot symbols (special symbols A to J) are determined as special symbols. Also, according to the special 1 small per symbol random number determination table a shown in FIG. 8 (c) and the special 2 small per symbol random number determination table b shown in FIG. 8 (d), the value of the acquired per symbol random number Accordingly, as shown in the figure, small winning symbols (special symbols Z1 to Z6) are determined as special symbols.

なお、大役抽選結果が「ハズレ」であった場合に、当該抽選結果が特1保留によって導出されたときは、抽選を行うことなくハズレ図柄として特別図柄Xが決定され、当該抽選結果が特2保留によって導出されたときは、抽選を行うことなくハズレ図柄として特別図柄Yが決定される。つまり、当たり図柄乱数判定テーブルは、大役抽選結果が「大当たり」であった場合にのみ参照され、大役抽選結果が「ハズレ」または「小当たり」であった場合に参照されることはない。また、小当たり図柄乱数判定テーブルは、大役抽選結果が「小当たり」であった場合にのみ参照され、大役抽選結果が「大当たり」または「ハズレ」であった場合に参照されることはない。なお、小当たり図柄である特別図柄Z1~Z6をまとめて単に特別図柄Zともよぶ。 It should be noted that, when the result of the lottery lottery is "losing", when the lottery result is derived by special 1 reservation, the special symbol X is determined as a losing pattern without performing a lottery, and the lottery result is the special 2 When derived by holding, the special symbol Y is determined as a losing symbol without lottery. That is, the winning symbol random number determination table is referred to only when the big win lottery result is "big hit", and is not referred to when the big win lottery result is "loss" or "minor win". Also, the small win symbol random number determination table is referred only when the big win lottery result is "small win", and is not referred to when the big win lottery result is "big win" or "losing". In addition, the special symbols Z1 to Z6, which are the small winning symbols, are collectively referred to simply as the special symbol Z.

図9は、同時回し参考例に係るリーチグループ決定乱数判定テーブルを説明する図である。このリーチグループ決定乱数判定テーブルは複数設けられており、保留種別、保留数、遊技状態等に応じて、予め設定されたテーブルが選択される。第1始動口120または第2始動口122に遊技球が入球すると、0~10006の範囲内から1つのリーチグループ決定乱数が取得される。上記のように、大役抽選結果が導出されると、当該大役抽選結果を報知する変動演出パターンを決定する処理が行われる。同時回し参考例では、大役抽選結果が「ハズレ」であった場合に、変動演出パターンを決定するにあたって、まず、リーチグループ決定乱数とリーチグループ決定乱数判定テーブルとによってグループ種別が決定される。 FIG. 9 is a diagram for explaining a reach group determination random number determination table according to the simultaneous rotation reference example. A plurality of reach group determination random number determination tables are provided, and a preset table is selected according to the type of reservation, the number of reservations, the game state, and the like. When a game ball enters the first starting port 120 or the second starting port 122, one reach group determination random number is obtained from within the range of 0-10006. As described above, when the key role lottery result is derived, a process of determining a variable effect pattern for reporting the key role lottery result is performed. In the simultaneous spinning reference example, when the big role lottery result is "losing", the group type is first determined by the reach group determination random number and the reach group determination random number determination table in determining the variable performance pattern.

例えば、遊技状態が詳しくは後述する通常状態に設定されているときに、特1保留に基づいて「ハズレ」の大役抽選結果が導出された場合において、大役抽選を行うときの特1保留の保留数(以下、単に「保留数」という)が0個であれば、図9(a)に示すように、リーチグループ決定乱数判定テーブル1が選択される。同様に、通常状態に設定されているときに、特1保留に基づいて「ハズレ」の大役抽選結果が導出された場合において、大役抽選を行うときの保留数が1~2個であれば、図9(b)に示すように、リーチグループ決定乱数判定テーブル2が選択され、保留数が3個であれば、図9(c)に示すように、リーチグループ決定乱数判定テーブル3が選択される。なお、図9において、グループ種別の欄に記載しているグループxは、任意のグループ番号を示している。したがって、取得したリーチグループ決定乱数と、参照するリーチグループ決定乱数判定テーブルの種類とに応じて、グループ種別として種々のグループ番号が決定されることとなる。 For example, when the game state is set to the normal state, which will be described later in detail, and the result of the "losing" major role lottery is derived based on the special 1 suspension, the special 1 suspension is held when the major role lottery is performed. If the number (hereinafter simply referred to as "retained number") is 0, the reach group determination random number determination table 1 is selected as shown in FIG. 9(a). Similarly, when the normal state is set, if the result of the "losing" big role lottery is derived based on the special 1 reservation, if the number of reservations when performing the big lottery lottery is 1 to 2, As shown in FIG. 9(b), the reach group determination random number determination table 2 is selected, and if the number of reservations is 3, as shown in FIG. 9(c), the reach group determination random number determination table 3 is selected. be. In addition, in FIG. 9, the group x described in the group type column indicates an arbitrary group number. Therefore, various group numbers are determined as group types according to the reach group determination random number obtained and the type of the reach group determination random number determination table to be referred to.

なお、ここでは、通常状態において、特1保留に基づいて「ハズレ」の大役抽選結果が導出されたときに参照されるリーチグループ決定乱数判定テーブルについて説明したが、メインROM300bには、この他にも多数のリーチグループ決定乱数判定テーブルが記憶されている。 It should be noted that here, in the normal state, based on the Special 1 reservation, the reach group determination random number determination table that is referred to when the "losing" key role lottery result is derived has been described, but the main ROM 300b also stores A large number of reach group determination random number determination tables are stored.

なお、大役抽選結果が「大当たり」または「小当たり」であった場合には、変動演出パターンを決定するにあたってグループ種別を決定することはない。つまり、リーチグループ決定乱数判定テーブルは、大役抽選結果が「ハズレ」であった場合にのみ参照され、大役抽選結果が「大当たり」または「小当たり」であった場合に参照されることはない。 In addition, when the big role lottery result is "big win" or "small win", the group type is not determined when determining the variation production pattern. That is, the reach group determination random number determination table is referred only when the big win lottery result is "losing", and is not referred to when the big win lottery result is "big hit" or "minor win".

図10は、同時回し参考例に係るリーチモード決定乱数判定テーブルを説明する図である。このリーチモード決定乱数判定テーブルは、大役抽選結果が「ハズレ」であった場合に選択されるハズレ時リーチモード決定乱数判定テーブルと、大役抽選結果が「大当たり」であった場合に選択される大当たり時リーチモード決定乱数判定テーブルと、大役抽選結果が「小当たり」であった場合に選択される小当たり時リーチモード決定乱数判定テーブルとに大別される。なお、ハズレ時リーチモード決定乱数判定テーブルは、上記のように決定されたグループ種別ごとに設けられており、大当たり時リーチモード決定乱数判定テーブルおよび小当たり時リーチモード決定乱数判定テーブルは、遊技状態、保留種別ごとに設けられている。 FIG. 10 is a diagram for explaining a reach mode determination random number determination table according to the simultaneous rotation reference example. This reach mode determination random number determination table is the reach mode determination random number determination table at the time of losing selected when the big role lottery result is "losing", and the big win selected when the big role lottery result is "big hit" It is roughly divided into a time reach mode determination random number determination table and a small win time reach mode determination random number determination table selected when the big winning lottery result is "small win". In addition, the reach mode determination random number determination table at the time of losing is provided for each group type determined as described above, and the reach mode determination random number determination table at the time of the big hit and the reach mode determination random number determination table at the time of the small hit are the game state , are provided for each hold type.

また、各リーチモード決定乱数判定テーブルは、遊技状態や図柄の種別ごとにも設けられている。ここでは、所定の遊技状態および図柄種別において参照されるグループx用ハズレ時リーチモード決定乱数判定テーブルの一例を図10(a)に示し、特1用大当たり時リーチモード決定乱数判定テーブルの一例を図10(b)に示し、特2用大当たり時リーチモード決定乱数判定テーブルの一例を図10(c)に示し、特1用小当たり時リーチモード決定乱数判定テーブルの一例を図10(d)に示し、特2用小当たり時リーチモード決定乱数判定テーブルの一例を図10(e)に示す。 In addition, each ready-to-win mode decision random number determination table is provided for each game state and type of symbol. Here, FIG. 10A shows an example of the reach mode determination random number determination table for group x that is referred to in a predetermined game state and symbol type, and an example of the reach mode determination random number determination table for special 1 jackpot Shown in FIG. 10 (b), an example of a reach mode determination random number determination table for special 2 jackpot is shown in FIG. 10 (c), an example of a reach mode determination random number determination table for special 1 small hit is FIG. , and an example of the reach mode determination random number determination table for small hits for special 2 is shown in FIG. 10(e).

第1始動口120または第2始動口122に遊技球が入球すると、0~250の範囲内から1つのリーチモード決定乱数が取得される。そして、上記の大役抽選の結果が「ハズレ」であった場合には、図10(a)に示すように、上記のグループ種別の抽選により決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブルが選択され、選択されたハズレ時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。また、上記の大役抽選の結果が「大当たり」であった場合には、図10(b)、(c)に示すように、大当たり当選時の遊技状態、および、読み出された保留種別に対応する大当たり時リーチモード決定乱数判定テーブルが選択され、選択された大当たり時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。 When a game ball enters the first starting port 120 or the second starting port 122, one reach mode determination random number is obtained from within the range of 0-250. Then, when the result of the big role lottery is "losing", as shown in FIG. A determination table is selected, and a variation mode number is determined based on the selected reach mode determination random number determination table at loss and the reach mode determination random number. In addition, when the result of the big win lottery is "jackpot", as shown in FIGS. A big hit reach mode determination random number determination table is selected, and a variation mode number is determined based on the selected big hit reach mode determination random number determination table and reach mode determination random number.

さらに、上記の大役抽選の結果が「小当たり」であった場合には、図10(d)、(e)に示すように、小当たり当選時の遊技状態、および、読み出された保留種別に対応する小当たり時リーチモード決定乱数判定テーブルが選択され、選択された小当たり時リーチモード決定乱数判定テーブルとリーチモード決定乱数とに基づいて、変動モード番号が決定される。 Furthermore, when the result of the big win lottery is "small win", as shown in FIGS. A small hit reach mode determination random number determination table corresponding to is selected, and a variation mode number is determined based on the selected small hit reach mode determination random number determination table and reach mode determination random number.

また、各リーチモード決定乱数判定テーブルにおいては、リーチモード決定乱数に、変動モード番号とともに、後述する変動パターン乱数判定テーブルが対応付けられており、変動モード番号が決定されるのと同時に、変動パターン乱数判定テーブルが決定される。なお、図10において、変動パターン乱数判定テーブルの欄に記載しているテーブルxは、任意のテーブル番号を示している。したがって、取得したリーチグループ決定乱数と、参照するリーチモード決定乱数判定テーブルの種類とに応じて、変動モード番号と、変動パターン乱数判定テーブルのテーブル番号とが決定されることとなる。また、同時回し参考例において、変動モード番号および後述する変動パターン番号は、16進数で設定されている。以下において、16進数を示す場合には「H」を付するが、図10~図12に○○Hと記載しているのは、16進数で示される任意の値を示すものである。 Further, in each reach mode determination random number determination table, the reach mode determination random number is associated with a variation mode number and a variation pattern random number determination table described later. A random number decision table is determined. In FIG. 10, the table x described in the column of variation pattern random number determination table indicates an arbitrary table number. Therefore, the variation mode number and the table number of the variation pattern random number determination table are determined according to the acquired reach group determination random number and the type of the reach mode determination random number determination table to be referred to. Further, in the simultaneous turning reference example, the variation mode number and the variation pattern number, which will be described later, are set in hexadecimal. In the following description, hexadecimal numbers are indicated by "H", but ◯◯H in FIGS. 10 to 12 indicates arbitrary values represented by hexadecimal numbers.

以上のように、大役抽選結果が「ハズレ」であった場合には、まず、図9に示すリーチグループ決定乱数判定テーブルとリーチグループ決定乱数とによってグループ種別が決定される。そして、決定されたグループ種別と遊技状態に応じ、図10(a)に示すハズレ時リーチモード決定乱数判定テーブルとリーチモード決定乱数とによって、変動モード番号および変動パターン乱数判定テーブルが決定される。 As described above, when the winning lottery result is "lost", first, the group type is determined by the reach group determination random number determination table shown in FIG. 9 and the reach group determination random number. Then, according to the determined group type and gaming state, the variation mode number and the variation pattern random number determination table are determined by the reach mode determination random number determination table and the reach mode determination random number at the time of losing shown in FIG. 10(a).

一方、大役抽選結果が「大当たり」または「小当たり」であった場合には、決定された大当たり図柄または小当たり図柄(特別図柄の種別)、大当たり、または、小当たり当選時の遊技状態等に対応する、図10に示す大当たり時リーチモード決定乱数判定テーブルを参照し、リーチモード決定乱数を用いて、変動モード番号、変動パターン乱数判定テーブルが決定されることとなる。 On the other hand, if the big win lottery result is "big win" or "small win", the determined big win pattern or small win pattern (type of special pattern), the game state at the time of winning the big win or small win, etc. With reference to the corresponding reach mode determination random number determination table shown in FIG. 10, the reach mode determination random number is used to determine the variation mode number and the variation pattern random number determination table.

図11は、同時回し参考例に係る変動パターン乱数判定テーブルを説明する図である。ここでは、所定のテーブル番号xの変動パターン乱数判定テーブルxを示すが、変動パターン乱数判定テーブルは、この他にも、テーブル番号ごとに多数設けられている。 FIG. 11 is a diagram for explaining a fluctuation pattern random number determination table according to the simultaneous rotation reference example. Here, a fluctuation pattern random number determination table x of a predetermined table number x is shown, but many other fluctuation pattern random number determination tables are provided for each table number.

第1始動口120または第2始動口122に遊技球が入球すると、0~238の範囲内から1つの変動パターン乱数が取得される。そして、上記の変動モード番号と同時に決定された変動パターン乱数判定テーブルと、取得した変動パターン乱数とに基づいて、図示のように変動パターン番号が決定される。 When a game ball enters the first starting port 120 or the second starting port 122, one variation pattern random number is obtained from within the range of 0-238. Then, based on the fluctuation pattern random number determination table determined at the same time as the fluctuation mode number and the obtained fluctuation pattern random number, the fluctuation pattern number is determined as shown in the figure.

このように、大役抽選が行われると、大役抽選結果、決定された図柄種別、遊技状態、保留数、保留種別等に応じて、変動モード番号、変動パターン番号が決定される。これら変動モード番号、変動パターン番号は、変動演出パターンを特定するものであり、そのそれぞれに、変動演出の態様および時間が対応付けられている。 Thus, when the big role lottery is performed, the variation mode number and the variation pattern number are determined according to the big role lottery result, the determined symbol type, the game state, the number of reservations, the type of reservation, and the like. These variable mode number and variable pattern number specify the variable effect pattern, and each of them is associated with the mode and time of the variable effect.

図12は、同時回し参考例に係る変動時間決定テーブルを説明する図である。上記のように、変動モード番号が決定されると、図12(a)に示す変動時間1決定テーブルにしたがって変動時間1が決定される。この変動時間1決定テーブルによれば、変動モード番号ごとに変動時間1が対応付けられており、決定された変動モード番号に応じて、対応する変動時間1が決定される。 FIG. 12 is a diagram for explaining a variable time determination table according to the simultaneous rotation reference example. As described above, when the variable mode number is determined, variable time 1 is determined according to the variable time 1 determination table shown in FIG. 12(a). According to this variable time 1 determination table, variable time 1 is associated with each variable mode number, and the corresponding variable time 1 is determined according to the determined variable mode number.

また、上記のように、変動パターン番号が決定されると、図12(b)に示す変動時間2決定テーブルにしたがって変動時間2が決定される。この変動時間2決定テーブルによれば、変動パターン番号ごとに変動時間2が対応付けられており、決定された変動パターン番号に応じて、対応する変動時間2が決定される。このようにして決定された変動時間1、2の合計時間が、大役抽選結果を報知する変動演出の時間、すなわち、変動時間となる。この変動時間というのは、決定された特別図柄を、第1特別図柄表示器160または第2特別図柄表示器162に停止表示させるまでの時間である。 Further, as described above, when the variation pattern number is determined, the variation time 2 is determined according to the variation time 2 determination table shown in FIG. 12(b). According to this variation time 2 determination table, variation time 2 is associated with each variation pattern number, and the corresponding variation time 2 is determined according to the determined variation pattern number. The total time of the variable times 1 and 2 determined in this way is the time of the variable effect for informing the result of the big role lottery, that is, the variable time. This fluctuation time is the time until the determined special symbol is stopped and displayed on the first special symbol display device 160 or the second special symbol display device 162 .

詳しくは後述するが、特1保留に基づいて特別図柄が決定されるとともに、変動モード番号および変動パターン番号すなわち変動時間が決定されると、当該決定された変動時間に亘って第1特別図柄表示器160において図柄の変動表示が行われ、変動時間が経過すると、第1特別図柄表示器160に、決定された特別図柄が停止表示される。また、特2保留に基づいて特別図柄が決定されるとともに、変動パターン番号すなわち変動時間が決定されると、当該決定された変動時間に亘って第2特別図柄表示器162において図柄の変動表示が行われ、変動時間が経過すると、第2特別図柄表示器162に、決定された特別図柄が停止表示される。このとき、ハズレ図柄が第1特別図柄表示器160に停止表示されることで、大役抽選の結果としてハズレが確定し、次の特1保留に基づく大役抽選が実行可能となり、ハズレ図柄が第2特別図柄表示器162に停止表示されることで、大役抽選の結果としてハズレが確定し、次の特2保留に基づく大役抽選が実行可能となる。一方、大当たり図柄が第1特別図柄表示器160または第2特別図柄表示器162に停止表示されると、大役抽選の結果として大当たりが確定し、大役遊技が実行され、小当たり図柄が第1特別図柄表示器160または第2特別図柄表示器162に停止表示されると、大役抽選の結果として小当たりが確定し、小当たり遊技が実行されることとなる。 Although it will be described later in detail, the special design is determined based on the special 1 reservation, and when the variation mode number and the variation pattern number, that is, the variation time are determined, the first special design display over the determined variation time The variable display of the symbol is performed in the device 160, and when the variable time elapses, the determined special symbol is stopped and displayed on the first special symbol display device 160. - 特許庁In addition, when the special symbol is determined based on the special 2 hold and the variation pattern number, that is, the variation time is determined, the variation display of the symbol is performed on the second special symbol display 162 over the determined variation time. After the variation time has elapsed, the determined special symbol is stopped and displayed on the second special symbol display device 162 . At this time, the losing pattern is stop-displayed on the first special symbol display device 160, so that the losing is determined as a result of the major role lottery, and the major role lottery based on the next special 1 reserve can be executed, and the losing symbol is the second. By stop-displaying on the special symbol display device 162, a loss is determined as a result of the major role lottery, and the major role lottery based on the next special 2 reservation can be executed. On the other hand, when the jackpot pattern is stopped and displayed on the first special pattern display device 160 or the second special pattern display device 162, the jackpot is determined as a result of the big win lottery, the big win game is executed, and the small win pattern is the first special. When the symbol display device 160 or the second special symbol display device 162 is stop-displayed, a small win is confirmed as a result of the big win lottery, and a small win game is executed.

このように、変動時間は、第1特別図柄表示器160または第2特別図柄表示器162における図柄の変動表示の時間、換言すれば、大役抽選の結果を確定させるまでの時間を規定するものとなる。 In this way, the variable time defines the time for the variable display of the symbols on the first special symbol display device 160 or the second special symbol display device 162, in other words, the time until the result of the major role lottery is determined. Become.

以上のようにして変動モード番号が決定されると、当該決定された変動モード番号に対応する変動モードコマンドが副制御基板330に送信され、変動パターン番号が決定されると、当該決定された変動パターン番号に対応する変動パターンコマンドが副制御基板330に送信される。副制御基板330においては、受信した変動モードコマンドに基づいて、主に変動演出の前半の態様が決定され、受信した変動パターンコマンドに基づいて、主に変動演出の後半の態様が決定されることとなるが、その詳細については後述する。なお、以下では、変動モード番号および変動パターン番号を総称して変動情報と呼び、変動モードコマンドおよび変動パターンコマンドを総称して変動コマンドと呼ぶ場合がある。 When the variation mode number is determined as described above, a variation mode command corresponding to the determined variation mode number is transmitted to the sub control board 330, and when the variation pattern number is determined, the determined variation A variation pattern command corresponding to the pattern number is transmitted to the sub control board 330 . In the sub control board 330, mainly the first half of the variable performance is determined based on the received variable mode command, and the second half of the variable performance is mainly determined based on the received variable pattern command. However, the details will be described later. In the following description, the variation mode number and variation pattern number may be collectively referred to as variation information, and the variation mode command and variation pattern command may be collectively referred to as variation command.

図13は、同時回し参考例に係る遊技状態および変動時間を説明する図である。上述のように、特別遊技状態と普通遊技状態とが組み合わされて1の遊技状態となり、設定中の遊技状態に応じて遊技の進行制御がなされる。既に説明したように、特別遊技状態は、大当たりの当選確率を異にする低確率遊技状態および高確率遊技状態の2種類が設けられている。また、普通遊技状態は、互いに第1可変始動口120Bへの遊技球の入球容易性(入球頻度)を異にする非時短遊技状態、中時短遊技状態、時短遊技状態の3種類が設けられている。 FIG. 13 is a diagram for explaining the game state and variation time according to the simultaneous spinning reference example. As described above, the special game state and the normal game state are combined into one game state, and the progress of the game is controlled according to the game state being set. As already explained, the special game state is provided in two types, a low-probability game state and a high-probability game state, in which the odds of winning a jackpot are different. In addition, the normal game state is provided with three types: a non-time-saving game state, a medium-time-saving game state, and a time-saving game state, in which the easiness (ball-entering frequency) of the game ball to the first variable start port 120B is different from each other. It is

ここで、普通遊技において、第1可変始動口120Bへの遊技球の入球容易性は、当選確率、変動時間、開放時間の3つの要素によって決定される。詳しくは後述するが、普通遊技では、ゲート124を遊技球が通過するか、あるいは、普図作動口125に遊技球が入球すると普図保留が記憶される。そして、記憶された普図保留に基づいて、可動片120bを開放するか否かを決定する普図抽選が行われる。この普図抽選の結果は、所定の変動時間が経過したところで確定する。普図抽選の結果として当たりが確定すると、可動片120bが開放される。このとき、普図抽選における当選確率、変動時間、および、可動片120bを開放する際の開放時間が、それぞれ普通遊技状態ごとに設定されている。 Here, in the normal game, the ease of entry of the game ball into the first variable starter opening 120B is determined by three factors: winning probability, fluctuation time, and opening time. Although details will be described later, in the normal game, when the game ball passes through the gate 124 or the game ball enters the normal pattern operation port 125, normal pattern suspension is stored. Then, based on the stored general pattern reservation, a general pattern lottery for determining whether or not to open the movable piece 120b is performed. The result of this normal drawing lottery is determined when a predetermined fluctuation time has elapsed. When winning is determined as a result of the normal drawing lottery, the movable piece 120b is released. At this time, the winning probability in the normal drawing lottery, the fluctuation time, and the opening time when opening the movable piece 120b are set for each normal game state.

同時回し参考例では、図13(a)に示すように、特別遊技状態および普通遊技状態の組み合わせにより6種類の遊技状態が設けられる。遊技機100の初期状態は、低確率遊技状態および非時短遊技状態となっている。なお、非時短遊技状態では、普図抽選における当選確率が低く、変動時間が長く、可動片120bの開放時間が短い。同時回し参考例では、低確率遊技状態および非時短遊技状態が組み合わされた遊技状態を通常状態と呼ぶ。 In the simultaneous spinning reference example, as shown in FIG. 13(a), six types of game states are provided by combining the special game state and the normal game state. The initial state of the gaming machine 100 is a low-probability gaming state and a non-time-saving gaming state. In addition, in the non-time-saving game state, the winning probability in the normal drawing lottery is low, the fluctuation time is long, and the opening time of the movable piece 120b is short. In the simultaneous turning reference example, the game state in which the low-probability game state and the non-time-saving game state are combined is called a normal state.

また、同時回し参考例では、高確率遊技状態および非時短遊技状態に設定される場合があり、この両者が組み合わされた遊技状態を最優位状態と呼ぶ。なお、この最優位状態は、6つの遊技状態の中で最も有利度合いが高く、適切に遊技球を発射していると、大当たりに当選せずとも、遊技中に徐々に遊技球が増加していくように設定されている。 Also, in the simultaneous turning reference example, it may be set to a high probability game state and a non-time-saving game state, and the game state in which both are combined is called the most dominant state. This highest priority state has the highest degree of advantage among the six game states, and if the game balls are shot appropriately, the number of game balls gradually increases during the game even if the jackpot is not won. It is set to go.

また、同時回し参考例では、低確率遊技状態および時短遊技状態に設定される場合がある。なお、時短遊技状態では、普図抽選における当選確率が高く、変動時間が短く、可動片120bの開放時間が長い。以下では、低確率遊技状態および時短遊技状態が組み合わされた遊技状態を低確時短状態と呼ぶ。 Also, in the simultaneous turning reference example, it may be set to a low probability game state and a time saving game state. In addition, in the time-saving game state, the winning probability in the normal drawing lottery is high, the fluctuation time is short, and the opening time of the movable piece 120b is long. Below, the game state in which the low-probability game state and the time-saving game state are combined is called a low-probability time-saving state.

また、同時回し参考例では、高確率遊技状態および時短遊技状態に設定される場合がある。以下では、高確率遊技状態および時短遊技状態が組み合わされた遊技状態を高確時短状態または高確前兆状態と呼ぶ。なお、高確時短状態および高確前兆状態について、詳しくは後述する。 Also, in the simultaneous turning reference example, it may be set to a high probability game state and a time saving game state. Below, the game state in which the high probability game state and the time saving game state are combined is called a high probability time saving state or a high probability omen state. In addition, the high-probability time saving state and the high-probability omen state will be described later in detail.

また、同時回し参考例では、高確率遊技状態および中時短遊技状態に設定される場合がある。なお、中時短遊技状態では、普図抽選における当選確率が、非時短遊技状態よりも高く時短遊技状態よりも低く、変動時間が短く、可動片120bの開放時間が長い。この遊技状態は、適切に遊技球を発射させなかった場合等、不測の事態が生じた場合に設定され得るものである。以下では、高確率遊技状態および中時短遊技状態が組み合わされた遊技状態をペナルティ状態と呼ぶ。 In addition, in the simultaneous turning reference example, it may be set to a high probability game state and a medium time reduction game state. In addition, in the medium time-saving game state, the winning probability in the normal drawing lottery is higher than the non-time-saving game state and lower than the time-saving game state, the fluctuation time is short, and the opening time of the movable piece 120b is long. This game state can be set when an unforeseen situation occurs, such as when the game ball is not properly shot. In the following, the game state in which the high probability game state and the medium time reduction game state are combined is called a penalty state.

なお、副制御基板330においては、主制御基板300で設定されている遊技状態に対応する演出モードが設定される。演出モードというのは、メイン演出表示部200aに表示される背景画像やBGM等を規定するものであり、演出モードごとに、演出の内容が異なっている。つまり、遊技者は、演出モードによって、現在の遊技状態を識別することができる。 Incidentally, in the sub-control board 330, an effect mode corresponding to the game state set in the main control board 300 is set. The effect mode defines the background image, BGM, etc. displayed on the main effect display section 200a, and the content of the effect differs for each effect mode. That is, the player can identify the current game state by the effect mode.

以上のように、同時回し参考例では、6つの遊技状態が設けられている。そして、上記したように、大役抽選が行われたときの遊技状態、保留種別、当該遊技状態における変動回数、図柄の種別に応じて、変動モード番号および変動パターン番号、すなわち、変動時間が決定される。 As described above, in the simultaneous spinning reference example, six game states are provided. Then, as described above, the variation mode number and variation pattern number, that is, the variation time is determined according to the game state, the reservation type, the number of variations in the game state, and the type of symbol when the big role lottery is performed. be.

ここで、遊技機100では、遊技状態ごとに、実質変動対象が設定されている。実質変動対象というのは、本来、大役抽選を行うべき保留の種別を示しており、遊技状態ごとに、特1保留および特2保留のいずれかが実質変動対象に設定されている。通常状態では、特1保留が実質変動対象に設定されている。また、通常状態では、普通遊技状態が非時短遊技状態であるため、第1可変始動口120Bが殆ど開放されることがない。したがって、通常状態では、遊技者は、第1固定始動口120Aに遊技球を入球させるべく、第1遊技領域116aに向けて遊技球を発射させる必要がある。 Here, in the gaming machine 100, a substantial variation target is set for each gaming state. The subject of substantial variation originally indicates the type of suspension for which the major role lottery should be performed, and either special 1 suspension or special 2 suspension is set as the substantial variation subject for each game state. In the normal state, Special 1 hold is set as a substantial fluctuation target. Also, in the normal state, since the normal game state is a non-time-saving game state, the first variable starter opening 120B is hardly opened. Therefore, in the normal state, the player needs to launch the game ball toward the first game area 116a in order to enter the game ball into the first fixed starting port 120A.

通常状態において、実質変動対象である特1保留によって大役抽選が行われ、ハズレ図柄もしくは小当たり図柄が決定されると、3~100秒の範囲内で変動時間が決定される。また、通常状態において、特1保留によって大役抽選が行われ、大当たり図柄が決定されると、40~100秒の範囲内で変動時間が決定される。 In the normal state, when the big winning lottery is performed by the special 1 reservation which is the object of substantial fluctuation, and the losing pattern or the small winning pattern is determined, the fluctuation time is determined within the range of 3 to 100 seconds. Also, in the normal state, when the big win lottery is performed by the special 1 reservation and the big winning pattern is determined, the fluctuation time is determined within the range of 40 to 100 seconds.

一方、通常状態において、実質変動対象ではない特2保留によって大役抽選が行われた場合には、決定された図柄種別に拘わらず、変動時間が必ず10分に決定される。このように、変動時間を10分といった長時間に設定することで、通常状態では、仮に遊技者が第2始動口122に遊技球を入球させたとしても、特2保留に基づく大役抽選の実行機会が極めて少なくなる。 On the other hand, in the normal state, when the major role lottery is performed by the special 2 reserve which is not subject to actual variation, the variation time is always determined to be 10 minutes regardless of the determined symbol type. In this way, by setting the variable time to a long time such as 10 minutes, in the normal state, even if the player enters the game ball into the second start port 122, the major role lottery based on the special 2 reservation Very few opportunities to do so.

具体的に説明すると、第2始動口122が第2遊技領域116bに設けられており、また、第2始動口122は、常に遊技球が入球可能となる固定始動口で構成されている。さらに、遊技機100の遊技性により、第2始動口122は、第1始動口120よりも、容易に遊技球が入球する位置に配されている。そのため、仮に、通常状態において、特2保留に係る変動時間を短時間としてしまうと、大役抽選の機会が必要以上に遊技者に与えられてしまう。そこで、通常状態における本来の遊技性に則り、適切に第1遊技領域116aに向けて遊技球を発射させるべく、変動時間を10分といった長時間に設定している。 Specifically, the second starter opening 122 is provided in the second game area 116b, and the second starter opening 122 is always configured as a fixed starter opening into which game balls can enter. Furthermore, due to the playability of the gaming machine 100, the second starting hole 122 is arranged at a position where a game ball enters more easily than the first starting hole 120.例文帳に追加Therefore, if the fluctuation time for the special 2 hold is shortened in the normal state, the player will be given more chances than necessary for the winning lottery. Therefore, in accordance with the original playability in the normal state, the variation time is set to a long time such as 10 minutes in order to appropriately shoot the game ball toward the first game area 116a.

最優位状態では、特2保留が実質変動対象に設定されている。したがって、最優位状態では、遊技者は、第2始動口122に遊技球を入球させるべく、第2遊技領域116bに向けて遊技球を発射させる必要がある。最優位状態において、実質変動対象ではない特1保留によって大役抽選が行われた場合には、決定された図柄種別に拘わらず、変動時間が必ず10秒に決定される。なお、最優位状態において実質変動対象ではない特1保留によって大役抽選が行われる場合の方が、通常状態で実質変動対象ではない特2保留によって大役抽選が行われる場合に比べて、遊技性に与える影響が小さい。そのため、最優位状態では、実質変動対象ではない特1保留によって大役抽選が行われた場合の変動時間を、10秒と短く設定している。 In the highest priority state, Special 2 hold is set as a substantial fluctuation target. Therefore, in the highest priority state, the player needs to launch the game ball toward the second game area 116b in order to enter the game ball into the second starting hole 122.例文帳に追加In the highest priority state, when a major role lottery is performed by special 1 reservation which is not subject to actual variation, the variation time is always determined to be 10 seconds regardless of the determined symbol type. In addition, in the case where the major role lottery is performed by special 1 suspension that is not subject to substantial fluctuation in the most dominant state, compared to the case where the major role lottery is performed by special 2 suspension that is not subject to substantial fluctuation in the normal state, the game performance is improved. little impact. Therefore, in the highest priority state, the fluctuation time when the major role lottery is performed by the special 1 reservation that is not subject to real fluctuation is set as short as 10 seconds.

最優位状態において、実質変動対象である特2保留によって大役抽選が行われ、ハズレ図柄または小当たり図柄が決定されると、1秒~3秒の範囲内で変動時間が決定される。また、最優位状態において、特2保留によって大役抽選が行われ、大当たり図柄が決定されると、変動時間が3秒~10秒の範囲内で決定される。 In the highest priority state, a large winning lottery is performed by the special 2 reservation which is the object of substantial fluctuation, and when the losing pattern or the small winning pattern is determined, the fluctuation time is determined within the range of 1 to 3 seconds. Also, in the highest priority state, when the big winning lottery is performed by special 2 reservation and the big winning pattern is determined, the variation time is determined within the range of 3 seconds to 10 seconds.

低確時短状態、高確時短状態では、いずれも特1保留が実質変動対象に設定されている。また、低確時短状態、高確時短状態では、普通遊技状態が時短遊技状態に設定されており、第1可変始動口120Bが頻繁に開状態に制御される。したがって、これら2つの遊技状態では、遊技者は、第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bに向けて遊技球を発射させる必要がある。これら2つの遊技状態では、いずれも同一の変動パターン乱数判定テーブルが選択されるが、これら2つの遊技状態は、普通遊技状態が時短遊技状態である点で共通している。つまり、普通遊技状態が時短遊技状態である場合において、実質変動対象である特1保留によって大役抽選が行われ、ハズレ図柄もしくは小当たり図柄が決定されると、必ず1秒の変動時間が決定される。また、低確時短状態、高確時短状態である場合において、特1保留によって大役抽選が行われ、大当たり図柄が決定されると、変動時間が必ず30秒に決定される。 In both the low probability short working hours state and the high certainty short working hours state, special 1 suspension is set as a real fluctuation target. In addition, in the low probability time saving state and the high probability time saving state, the normal game state is set to the time saving game state, and the first variable starting port 120B is frequently controlled to the open state. Therefore, in these two game states, the player needs to shoot the game ball toward the second game area 116b in order to enter the game ball into the first variable starting port 120B. In these two game states, the same variation pattern random number determination table is selected, but these two game states are common in that the normal game state is the time-saving game state. In other words, when the normal game state is the time-saving game state, the big role lottery is performed by the special 1 reservation that is the actual fluctuation target, and when the losing pattern or the small winning pattern is determined, the fluctuation time of 1 second is always determined. be. In addition, in the case of the low-probability short working hours state and the high-probable short working hours state, when the big winning lottery is performed by the special 1 reservation and the big winning pattern is determined, the fluctuation time is always set to 30 seconds.

高確前兆状態では、特1保留が実質変動対象に設定されている。また、高確前兆状態では、普通遊技状態が時短遊技状態に設定されており、第1可変始動口120Bが頻繁に開状態に制御される。したがって、高確前兆状態では、遊技者は、第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bに向けて遊技球を発射させる必要がある。高確前兆状態において、実質変動対象である特1保留によって大役抽選が行われ、ハズレ図柄もしくは小当たり図柄が決定されると、3秒~10秒の範囲内で変動時間が決定される。また、高確前兆状態において、特1保留によって大役抽選が行われ、大当たり図柄が決定されると、変動時間が必ず30秒に決定される。 In the highly probable omen state, the special 1 hold is set as a substantial fluctuation target. Further, in the high-probability omen state, the normal game state is set to the time-saving game state, and the first variable starting port 120B is frequently controlled to the open state. Therefore, in the high-probability omen state, the player needs to launch the game ball toward the second game area 116b in order to enter the game ball into the first variable starting port 120B. In the high-probability omen state, when a large role lottery is performed by special 1 reservation which is a real fluctuation object, and a losing pattern or a small winning pattern is determined, a fluctuation time is determined within the range of 3 seconds to 10 seconds. In addition, in the high-probability omen state, when the big winning lottery is performed by special 1 reservation and the big winning pattern is determined, the fluctuation time is always determined to be 30 seconds.

一方、低確時短状態、高確時短状態および高確前兆状態、すなわち、普通遊技状態が時短遊技状態である場合において、実質変動対象ではない特2保留によって大役抽選が行われた場合には、決定された図柄種別に拘わらず、変動時間が必ず10分に決定される。 On the other hand, when the low-probability short-time state, high-probability short-time state and high-probability omen state, that is, when the normal game state is the time-saving game state, when the big role lottery is performed by the special 2 hold that is not subject to real fluctuation, Regardless of the determined symbol type, the variable time is always determined to be 10 minutes.

ペナルティ状態では、特1保留が実質変動対象に設定されている。また、ペナルティ状態では、普通遊技状態が中時短遊技状態に設定されており、第1可変始動口120Bが一定の頻度で開状態に制御される。したがって、ペナルティ状態では、遊技者は、第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bに向けて遊技球を発射させる必要がある。ペナルティ状態において、実質変動対象である特1保留によって大役抽選が行われ、ハズレ図柄または小当たり図柄が決定されると、3~100秒の範囲内で変動時間が決定される。また、ペナルティ状態において、特1保留によって大役抽選が行われ、大当たり図柄が決定されると、40~100秒の範囲内で変動時間が決定される。 In the penalty state, special 1 suspension is set as a substantial fluctuation target. In addition, in the penalty state, the normal game state is set to the medium time-saving game state, and the first variable starting port 120B is controlled to the open state at a constant frequency. Therefore, in the penalty state, the player needs to shoot the game ball toward the second game area 116b in order to enter the game ball into the first variable starting port 120B. In the penalty state, a large winning lottery is performed by holding special 1, which is the object of substantial fluctuation, and when a losing pattern or a small winning pattern is determined, a fluctuation time is determined within the range of 3 to 100 seconds. In addition, in the penalty state, when the big winning lottery is performed by special 1 suspension and the big winning pattern is determined, the fluctuation time is determined within the range of 40 to 100 seconds.

一方、ペナルティ状態において、実質変動対象ではない特2保留によって大役抽選が行われた場合には、決定された図柄種別に拘わらず、変動時間が必ず10分に決定される。 On the other hand, in the penalty state, when the big role lottery is performed by the special 2 reserve which is not subject to actual fluctuation, the fluctuation time is always determined to be 10 minutes regardless of the determined symbol type.

以上のように、遊技状態ごとに実質変動対象が設定されており、実質変動対象としての保留種別に基づく大役抽選が行われた場合には、最長でも変動時間が100秒となっている。一方、実質変動対象ではない保留種別に基づく大役抽選が行われた場合には、変動時間が概ね10分となり、本来の遊技性に反した遊技が行われないようにしている。 As described above, a substantial variation target is set for each game state, and when a major role lottery based on a reservation type as a substantial variation target is performed, the maximum variation time is 100 seconds. On the other hand, when the big role lottery based on the reservation type which is not subject to actual variation is performed, the variation time is approximately 10 minutes, so that the game contrary to the original game characteristics is not performed.

なお、同時回し参考例では、高確時短状態の変動時間の平均が、高確前兆状態の変動時間の平均よりも短い場合について説明するが、高確時短状態の変動時間の平均が、高確前兆状態の変動時間の平均よりも長くてもよい。つまり、高確時短状態の変動時間の平均と、高確前兆状態の変動時間の平均とが異なっていてもよい。 In addition, in the simultaneous turning reference example, the average of the fluctuation time of the high-probability short-time state is shorter than the average of the fluctuation time of the high-probability omen state, but the average of the fluctuation time of the high-probability short-time state is highly probable It may be longer than the average of the fluctuation time of the precursor state. That is, the average of the fluctuation time of the high probability short working hours state and the average of the fluctuation time of the high probability precursor state may be different.

図14は、同時回し参考例に係る特別電動役物作動ラムセットテーブルを説明する第1の図であり、図15は、同時回し参考例に係る特別電動役物作動ラムセットテーブルを説明する第2の図である。なお、特別電動役物作動ラムセットテーブルは、大役遊技または小当たり遊技を制御するための各種データが記憶されたものであり、大役遊技中および小当たり遊技中は、特別電動役物作動ラムセットテーブルを参照して、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cが通電制御される。なお、実際は、特別電動役物作動ラムセットテーブルは、特別図柄(大当たり図柄および小当たり図柄)の種別ごとに複数設けられており、決定された特別図柄の種別に応じて、対応するテーブルが大役遊技または小当たり遊技の開始時にセットされるが、ここでは、説明の都合上、図柄の種別ごとに特別図柄の制御データを示す。 FIG. 14 is the first diagram for explaining the special electric accessory operating ramset table according to the simultaneous rotation reference example, and FIG. 15 is the first diagram for explaining the special electric accessory operating ramset table according to the simultaneous rotation reference example. 2. FIG. In addition, the special electric role product operating ram set table stores various data for controlling the big role game or the small winning game, and the special electric role product operating ram set By referring to the table, the energization of the first big winning opening solenoid 126c or the second big winning opening solenoid 128c is controlled. In fact, a plurality of special electric accessory actuating ramset tables are provided for each type of special symbols (both jackpot symbols and small winning symbols), and depending on the type of special symbol determined, the corresponding table plays a major role. Although it is set at the start of a game or a small winning game, here, for convenience of explanation, control data of special symbols are shown for each type of symbol.

図14に示すように、大役遊技は、大入賞口が所定回数開閉される複数回のラウンド遊技で構成され、小当たり遊技は、ラウンド遊技が1回のみ実行される。この特別電動役物作動ラムセットテーブルによれば、オープニング時間(最初のラウンド遊技が開始されるまでの待機時間)、特別電動役物最大作動回数(1回の大役遊技または小当たり遊技中に実行されるラウンド遊技の回数)、特別電動役物開閉切替回数(1ラウンド中の大入賞口の開放回数)、ソレノイド通電時間(大入賞口の開放回数ごとの第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電時間、すなわち、1回の大入賞口の開放時間)、規定数(1回のラウンド遊技における大入賞口への最大入賞可能数)、大入賞口閉鎖有効時間(ラウンド遊技間の大入賞口の閉鎖時間、すなわち、インターバル時間)、エンディング時間(最後のラウンド遊技が終了してから、通常の特別遊技(後述する図柄の変動表示)が再開されるまでの待機時間)が、制御データとして、特別図柄の種別ごとに、図示のように予め記憶されている。 As shown in FIG. 14, the big winning game is composed of a plurality of round games in which the big winning opening is opened and closed a predetermined number of times, and the small winning game is executed only once. According to this special electric role product operation ram set table, the opening time (waiting time until the first round game is started), the maximum number of times of special electric role product operation (executed during one big role game or small winning game number of round games played), number of times of opening and closing of special electric accessories (number of times the large winning opening is opened in one round), solenoid energization time (first large winning opening solenoid 126c or second Energizing time of the large winning opening solenoid 128c, that is, opening time of one large winning opening), specified number (maximum number of possible winnings to the large winning opening in one round game), effective time of closing the large winning opening (round Closing time of the big winning opening between games, that is, interval time), ending time (waiting time from the end of the last round game to the restart of the normal special game (fluctuation display of symbols described later)) However, as control data, it is stored in advance as shown in the figure for each type of special symbol.

なお、特1保留によって大当たりに当選し、大当たり図柄として特別図柄A、B、Dが決定された場合には、4回のラウンド遊技で構成される大役遊技が実行される。この大役遊技においては、1~4回目のラウンド遊技において第1大入賞口126がそれぞれ1回のみ開放される。各ラウンド遊技では、第1大入賞口126が最大で29.0秒開放され、この間に規定数の遊技球が入球するか、もしくは、最大開放時間(29.0秒)が経過すると、第1大入賞口126が閉鎖されて1回のラウンド遊技が終了となる。 Incidentally, when a jackpot is won by special 1 reservation and special symbols A, B, and D are determined as jackpot symbols, a big win game consisting of four round games is executed. In this big win game, the first big winning opening 126 is opened only once in each of the first to fourth round games. In each round game, the first big prize opening 126 is opened for a maximum of 29.0 seconds. The first prize winning opening 126 is closed and one round game ends.

また、特1保留によって大当たりに当選し、大当たり図柄として特別図柄C、Eが決定された場合には、10回のラウンド遊技で構成される大役遊技が実行される。これらの大役遊技においては、1~10回目のラウンド遊技において第1大入賞口126がそれぞれ1回のみ開放される。各ラウンド遊技では、第1大入賞口126が最大で29.0秒開放され、この間に規定数の遊技球が入球するか、もしくは、最大開放時間(29.0秒)が経過すると、第1大入賞口126が閉鎖されて1回のラウンド遊技が終了となる。 Further, when a jackpot is won by special 1 reservation and special symbols C and E are determined as jackpot symbols, a big win game consisting of 10 round games is executed. In these big win games, the first big winning opening 126 is opened only once in each of the 1st to 10th round games. In each round game, the first big prize opening 126 is opened for a maximum of 29.0 seconds. The first prize winning opening 126 is closed and one round game ends.

また、特1保留によって小当たりに当選し、小当たり図柄として特別図柄Z1~Z3が決定された場合には、1回のラウンド遊技で構成される小当たり遊技が実行される。この小当たり遊技では、1回のラウンド遊技において、第2大入賞口128が0.1秒×1回開放される。 In addition, when a small winning is won by special 1 reservation and special symbols Z1 to Z3 are determined as small winning symbols, a small winning game composed of one round game is executed. In this small winning game, the second big winning opening 128 is opened once for 0.1 seconds in one round game.

また、図15に示すように、特2保留によって大当たりに当選し、大当たり図柄として特別図柄F、G、Iが決定された場合には、4回のラウンド遊技で構成される大役遊技が実行される。この大役遊技においては、1~4回目のラウンド遊技において第1大入賞口126がそれぞれ1回のみ開放される。各ラウンド遊技では、第1大入賞口126が最大で29.0秒開放され、この間に規定数の遊技球が入球するか、もしくは、最大開放時間(29.0秒)が経過すると、第1大入賞口126が閉鎖されて1回のラウンド遊技が終了となる。 Also, as shown in FIG. 15, when a jackpot is won by special 2 reservation and special patterns F, G, and I are determined as jackpot patterns, a big win game consisting of four round games is executed. be. In this big win game, the first big winning opening 126 is opened only once in each of the first to fourth round games. In each round game, the first big prize opening 126 is opened for a maximum of 29.0 seconds. The first prize winning opening 126 is closed and one round game ends.

また、特2保留によって大当たりに当選し、大当たり図柄として特別図柄H、Jが決定された場合には、10回のラウンド遊技で構成される大役遊技が実行される。この大役遊技においては、1~10回目のラウンド遊技において第1大入賞口126がそれぞれ1回のみ開放される。各ラウンド遊技では、第1大入賞口126が最大で29.0秒開放され、この間に規定数の遊技球が入球するか、もしくは、最大開放時間(29.0秒)が経過すると、第1大入賞口126が閉鎖されて1回のラウンド遊技が終了となる。 In addition, when a jackpot is won by special 2 reservation and special patterns H and J are determined as jackpot patterns, a big win game consisting of 10 round games is executed. In this big win game, the first big winning opening 126 is opened only once in each of the 1st to 10th round games. In each round game, the first big prize opening 126 is opened for a maximum of 29.0 seconds. The first prize winning opening 126 is closed and one round game ends.

また、特2保留によって小当たりに当選し、小当たり図柄として特別図柄Z4~Z6が決定された場合にも、1回のラウンド遊技からなる小当たり遊技が実行される。ここで、小当たり図柄として特別図柄Z4が決定された場合の小当たり遊技では、1回のラウンド遊技において、第2大入賞口128が0.1秒×2回開放される。なお、第2大入賞口128の2回の開放の間の休止時間であるラウンド中インターバル時間は、1.78秒に設定されている。遊技球は最短で0.6秒間隔で発射されるため、第2大入賞口128の開放時間と、遊技球の発射間隔とから考えると、この小当たり遊技中に遊技球が第2大入賞口128に入球する確率は低い。 Further, even when a small winning is won by special 2 reservation and special symbols Z4 to Z6 are determined as small winning symbols, a small winning game consisting of one round game is executed. Here, in the small winning game when the special symbol Z4 is determined as the small winning symbol, the second big winning opening 128 is opened twice for 0.1 seconds in one round game. It should be noted that the interval time during the round, which is the pause time between opening the second big winning hole 128 twice, is set to 1.78 seconds. Since the game ball is shot at an interval of 0.6 seconds at the shortest, considering the opening time of the second big winning hole 128 and the shooting interval of the game ball, the game ball will be the second big winning during this small winning game. The probability of hitting the ball in the mouth 128 is low.

しかしながら、同時回し参考例では、第2大入賞口128を閉状態に維持する可動片128b上に遊技球が滞留しやすい構造となっており、可動片128bが開状態に変移することで、可動片128b上に滞留する遊技球が第2大入賞口128内に導かれる。そのため、第2大入賞口128の0.1秒×2回の開放により、平均で2~3個の遊技球が第2大入賞口128に入球することとなる。 However, in the simultaneous turning reference example, the structure is such that game balls tend to stay on the movable piece 128b that maintains the second big winning hole 128 in the closed state, and the movable piece 128b is moved to the open state, so that the movable piece 128b can move. A game ball staying on the piece 128b is guided into the second big winning hole 128. - 特許庁Therefore, by opening the second big winning hole 128 twice for 0.1 seconds, 2 to 3 game balls enter the second big winning hole 128 on average.

また、小当たり図柄として特別図柄Z5が決定された場合の小当たり遊技では、1回のラウンド遊技において、第2大入賞口128が0.1秒×3回開放される。なお、この場合のラウンド中インターバル時間は、0.84秒に設定されている。この小当たり遊技においては、平均で3~4個の遊技球が第2大入賞口128に入球する。 Further, in the small winning game when the special symbol Z5 is determined as the small winning symbol, the second big winning opening 128 is opened 0.1 seconds×3 times in one round game. In this case, the in-round interval time is set to 0.84 seconds. In this small winning game, 3 to 4 game balls enter the second big winning hole 128 on average.

さらに、小当たり図柄として特別図柄Z6が決定された場合の小当たり遊技では、1回のラウンド遊技において、第2大入賞口128が0.1秒×12回開放される。なお、この場合のラウンド中インターバル時間は、0.84秒に設定されている。この小当たり遊技においては、第2遊技領域116bに向けて遊技球を発射し続けることにより、ほぼ確実に規定数(例えば10個)の遊技球を第2大入賞口128に入球させることができる。 Furthermore, in the small winning game when the special symbol Z6 is determined as the small winning symbol, the second big winning opening 128 is opened 0.1 seconds×12 times in one round game. In this case, the in-round interval time is set to 0.84 seconds. In this small winning game, by continuing to shoot game balls toward the second game area 116b, it is almost certain that a specified number (for example, 10) of game balls can enter the second big winning hole 128. can.

なお、遊技機100の設計段階では、遊技球の発射球数と、払い出された賞球数との比率である発射賞球比率を厳密に管理、調整する必要がある。そのため、同時回し参考例では、小当たり遊技において0.1秒の開放が2回なされる特別図柄Z4と、小当たり遊技において0.1秒の開放が3回なされる特別図柄Z5とを設け、これらの選択比率を変更するだけで、発射賞球比率を容易に調整、変更することができるようにしている。 In the design stage of the gaming machine 100, it is necessary to strictly manage and adjust the shot prize ball ratio, which is the ratio between the number of game balls shot and the number of prize balls paid out. Therefore, in the simultaneous turning reference example, a special symbol Z4 in which the opening of 0.1 seconds is performed twice in the small winning game, and a special symbol Z5 in which the opening of 0.1 seconds is performed three times in the small winning game are provided, Only by changing these selection ratios, the shot prize ball ratio can be easily adjusted and changed.

図16は、同時回し参考例に係る大役遊技の終了後の遊技状態を設定するための遊技状態設定テーブルを説明する図である。同時回し参考例においては、大役遊技が実行された場合、大当たり当選時の遊技状態、保留種別、特別図柄(大当たり図柄)の種別に応じて、遊技状態設定テーブルを参照し、大役遊技の終了後の遊技状態を設定する。 FIG. 16 is a diagram for explaining a game state setting table for setting the game state after the end of the big win game according to the simultaneous spinning reference example. In the simultaneous spinning reference example, when the big win game is executed, the game state setting table is referred to according to the game state at the time of winning the jackpot, the type of reservation, and the type of special pattern (jackpot pattern), and after the big win game ends Set the game state of

大当たり当選時の遊技状態が通常状態またはペナルティ状態である場合、実質変動対象である特1保留によって大当たりに当選すると、大当たり図柄の種別に応じて大役遊技後の遊技状態が設定される。具体的には、大当たり図柄として特別図柄Aが決定された場合には、低確時短状態(特別遊技状態が低確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、時短遊技状態の継続回数(以下、「時短回数」という)は100回に設定される。これは、大役抽選が100回行われるまで、時短遊技状態が継続することを意味している。ただし、上記した時短回数は1の時短遊技状態における最大継続回数を示すものであり、上記の継続回数に到達するまでの間に大当たりに当選した場合には、再度、遊技状態の設定が行われることとなる。したがって、大役遊技の終了後に時短遊技状態に設定された場合に、当該時短遊技状態において大当たりの抽選結果が導出されることなく、大当たり以外の抽選結果が100回導出されると、非時短遊技状態(通常状態)に遊技状態が変更されることとなる。 When the game state at the time of winning the jackpot is the normal state or the penalty state, when the jackpot is won by holding special 1 which is the object of substantial variation, the game state after the big win game is set according to the type of the jackpot pattern. Specifically, when the special symbol A is determined as the jackpot symbol, it is set to a low-probability time-saving state (the special game state is a low-probability game state, and the normal game state is a time-saving game state). At this time, the number of continuation times of the time saving game state (hereinafter referred to as "time saving number of times") is set to 100 times. This means that the time-saving gaming state continues until the big win lottery is performed 100 times. However, the number of times of time saving described above indicates the maximum number of times of continuation in the time saving game state of 1, and if the jackpot is won before the number of times of continuation is reached, the game state is set again. It will happen. Therefore, when the time-saving game state is set after the end of the big role game, when the lottery result other than the big win is derived 100 times without deriving the jackpot lottery result in the time-saving game state, the non-time-saving game state The game state is changed to (normal state).

また、大当たり図柄として特別図柄B、Dが決定された場合には、高確時短状態(特別遊技状態が高確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、高確回数として「次回」が設定され、高確率遊技状態は、次回の大当たりに当選するまで継続する。また、時短回数として「次回」が設定され、時短遊技状態は、次回の大当たりに当選するまで継続する。したがって、特別図柄B、Dが決定された場合には、大役遊技後、次回の大当たりに当選するまで、高確時短状態が継続することとなる。 In addition, when the special symbols B and D are determined as the jackpot symbols, a high-probability time-saving state (the special game state is a high-probability game state, and the normal game state is a time-saving game state) is set. At this time, "next time" is set as the high-probability number of times, and the high-probability game state continues until the next big win is won. In addition, "next time" is set as the number of time-saving games, and the time-saving game state continues until the next big win is won. Therefore, when the special symbols B and D are determined, the high-probability time-saving state continues until the next big win is won after the big win game.

また、大当たり図柄として特別図柄C、Eが決定された場合には、高確前兆状態(特別遊技状態が高確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、高確回数として「次回」が設定され、時短回数が100回に設定される。特別図柄C、Eが決定された場合には、次回の大当たりの当選まで高確率遊技状態が継続する一方で、時短遊技状態は100回で終了となる。したがって、特別図柄C、Eが決定された場合には、大役遊技後、大役抽選の結果が100回導出されたところで、遊技状態が最優位状態に移行することとなる。 In addition, when the special symbols C and E are determined as the jackpot symbols, the high probability precursor state (the special game state is the high probability game state, and the normal game state is the time saving game state) is set. At this time, "next time" is set as the high probability number of times, and the time saving number of times is set to 100 times. When the special symbols C and E are determined, the high-probability game state continues until the next big win is won, while the time-saving game state ends after 100 times. Therefore, when the special symbols C and E are determined, after the big win game, the game state shifts to the highest priority state when the result of the big win lottery is derived 100 times.

また、大当たり当選時の遊技状態が通常状態またはペナルティ状態である場合、実質変動対象ではない特2保留によって大当たりに当選すると、大役遊技後の遊技状態が次のように設定される。すなわち、大当たり図柄として特別図柄Fが決定された場合には、通常状態(特別遊技状態が低確率遊技状態、普通遊技状態が非時短遊技状態)に設定される。また、大当たり図柄として特別図柄G~Jが決定された場合には、ペナルティ状態(特別遊技状態が高確率遊技状態、普通遊技状態が中時短遊技状態)に設定される。このとき、高確回数および時短回数は、いずれも「次回」に設定される。 In addition, when the game state at the time of winning the big win is the normal state or the penalty state, if the big win is won by holding special 2 which is not subject to real variation, the game state after the big win game is set as follows. That is, when the special symbol F is determined as the jackpot symbol, it is set to the normal state (the special game state is the low probability game state, and the normal game state is the non-time-saving game state). Also, when the special symbols G to J are determined as the jackpot symbols, the penalty state is set (the special game state is the high-probability game state, and the normal game state is the medium-short-time game state). At this time, both the high-probability number of times and the time-saving number of times are set to "next time".

また、大当たり当選時の遊技状態が最優位状態である場合、実質変動対象ではない特1保留によって大当たりに当選すると、大役遊技後の遊技状態が次のように設定される。すなわち、大当たり図柄として特別図柄Aが決定された場合には、低確時短状態(特別遊技状態が低確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、時短回数は100回に設定される。また、大当たり図柄として特別図柄B~Eが決定された場合には、通常状態およびペナルティ状態と同様に、大役遊技後の遊技状態が設定される。 In addition, when the game state at the time of winning the jackpot is the highest priority state, if the jackpot is won by special 1 reservation, which is not subject to real variation, the game state after the big win game is set as follows. That is, when the special symbol A is determined as the jackpot symbol, it is set to a low-probability time-saving state (the special game state is a low-probability game state, and the normal game state is a time-saving game state). At this time, the number of times of time saving is set to 100 times. Further, when the special symbols B to E are determined as the jackpot symbols, the game state after the big win game is set in the same manner as the normal state and the penalty state.

一方、大当たり当選時の遊技状態が最優位状態である場合、実質変動対象である特2保留によって大当たりに当選すると、大役遊技後の遊技状態が次のように設定される。すなわち、大当たり図柄として特別図柄Fが決定された場合には、低確時短状態(特別遊技状態が低確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、時短回数は100回に設定される。また、大当たり図柄として特別図柄G、Iが決定された場合には、高確時短状態(特別遊技状態が高確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、高確回数および時短回数が「次回」に設定される。 On the other hand, when the game state at the time of winning the jackpot is the highest priority state, when the jackpot is won by holding special 2, which is the object of substantial variation, the game state after the big win game is set as follows. That is, when the special symbol F is determined as the jackpot symbol, it is set to a low-probability time-saving state (the special game state is a low-probability game state, and the normal game state is a time-saving game state). At this time, the number of times of time saving is set to 100 times. Further, when the special symbols G and I are determined as the jackpot symbols, the high-probability time-saving state (the special game state is the high-probability game state, and the normal game state is the time-saving game state) is set. At this time, the high probability number of times and the time saving number of times are set to "next time".

また、大当たり図柄として特別図柄H、Jが決定された場合には、高確前兆状態(特別遊技状態が高確率遊技状態、普通遊技状態が時短遊技状態)に設定される。このとき、高確回数が「次回」に設定され、時短回数が100回に設定される。 In addition, when the special symbols H and J are determined as the jackpot symbols, the high probability precursor state (the special game state is the high probability game state, and the normal game state is the time saving game state) is set. At this time, the high probability number of times is set to "next time", and the time saving number of times is set to 100 times.

また、大当たり当選時の遊技状態が低確時短状態、高確時短状態、高確前兆状態である場合、つまり、普通遊技状態が時短遊技状態である場合、大役遊技後の遊技状態は、通常状態およびペナルティ状態と同様に設定される。 Also, if the game state at the time of jackpot winning is a low-probability short-time state, high-probability short-time state, high-probability omen state, that is, if the normal game state is a short-time game state, the game state after the big win game is the normal state and penalty conditions.

図17は、同時回し参考例に係る当たり決定乱数判定テーブルを説明する図である。遊技領域116を流下する遊技球がゲート124を通過するか、もしくは、普図作動口125に入球すると、第1可変始動口120Bの可動片120bを通電制御するか否かが対応付けられた普通図柄の判定処理(以下、「普図抽選」という)が行われる。 FIG. 17 is a diagram for explaining a winning determination random number determination table according to the simultaneous spinning reference example. When the game ball flowing down the game area 116 passes through the gate 124 or enters the normal figure operation opening 125, it is associated whether or not the movable piece 120b of the first variable starting opening 120B is energized and controlled. Normal design determination processing (hereinafter referred to as "normal drawing lottery") is performed.

なお、詳しくは後述するが、遊技球がゲート124を通過するか、もしくは、普図作動口125に入球すると、0~99の範囲内から1つの当たり決定乱数が取得されるとともに、この乱数値がメインRAM300cの普図保留記憶領域に4つを上限として記憶される。つまり、普図保留記憶領域は、当たり決定乱数をセーブする4つの記憶部を備えている。したがって、普図保留記憶領域の4つの記憶部全てに当たり決定乱数が記憶された状態で、遊技球がゲート124を通過するか、もしくは、普図作動口125に入球した場合には、当該遊技球の通過に基づいて当たり決定乱数が記憶されることはない。以下では、ゲート124を遊技球が通過するか、もしくは、普図作動口125に遊技球が入球して普図保留記憶領域に記憶された当たり決定乱数を普図保留とよぶ。 In addition, although it will be described in detail later, when the game ball passes through the gate 124 or enters the normal pattern operation port 125, one hit determination random number is acquired from within the range of 0 to 99, and this random Numerical values are stored up to four in the general map reservation storage area of the main RAM 300c. That is, the general pattern reservation storage area has four storage units for saving the hit determination random numbers. Therefore, in the state in which the determined random number is stored in all four storage units of the normal pattern reservation storage area, the game ball passes through the gate 124 or enters the normal pattern operation port 125, the game No hit decision random numbers are stored based on ball passage. In the following, the game ball passes through the gate 124 or the game ball enters the normal pattern operation port 125 and the hit decision random number stored in the normal pattern reservation storage area is called normal pattern reservation.

普通遊技状態が非時短遊技状態であるときに普図抽選を開始する場合には、図17(a)に示すように、非時短遊技状態用当たり決定乱数判定テーブルが参照される。この非時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が1~99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、非時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は1/100となる。詳しくは後述するが、この普図抽選において当たり図柄が決定されると、第1可変始動口120Bの可動片120bが開状態に制御され、ハズレ図柄が決定された場合には、第1可変始動口120Bの可動片120bが閉状態に維持される。 When the normal game state is a non-time-saving game state, when the normal drawing lottery is started, as shown in FIG. According to this non-time-saving gaming state hit determination random number determination table, when the hit determination random number is 0, the hit design is determined as the type of normal design, and when the hit determination random number is 1 to 99, A lost pattern is determined as the type of the normal pattern. Therefore, the probability that winning symbols are determined in the non-time-saving gaming state, that is, the winning probability is 1/100. Although details will be described later, when the winning pattern is determined in this normal pattern lottery, the movable piece 120b of the first variable starting port 120B is controlled to the open state, and when the losing pattern is determined, the first variable starting The movable piece 120b of the mouth 120B is kept closed.

また、中時短遊技状態において普図抽選を開始する場合には、図17(b)に示すように、中時短遊技状態用当たり決定乱数判定テーブルが参照される。この中時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0~49であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が50~99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、中時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は50/100となる。 In addition, when starting the normal drawing lottery in the medium time-saving game state, as shown in FIG. According to this middle-time-saving gaming state hit determination random number determination table, when the hit determination random number is 0 to 49, the hit design is determined as the normal design type, and when the hit determination random number is 50 to 99 Then, a lost symbol is determined as the type of the normal symbol. Therefore, the probability that winning symbols are determined in the middle-time-saving gaming state, that is, the winning probability is 50/100.

また、時短遊技状態において普図抽選を開始する場合には、図17(c)に示すように、時短遊技状態用当たり決定乱数判定テーブルが参照される。この時短遊技状態用当たり決定乱数判定テーブルによれば、当たり決定乱数が0~98であった場合に、普通図柄の種別として当たり図柄が決定され、当たり決定乱数が99であった場合に、普通図柄の種別としてハズレ図柄が決定される。したがって、時短遊技状態において当たり図柄が決定される確率、すなわち、当選確率は99/100となる。 In addition, when starting the normal figure lottery in the time saving game state, as shown in FIG. According to this time-saving gaming state hit determination random number determination table, when the hit determination random number is 0 to 98, the hit design is determined as the type of normal design, and when the hit determination random number is 99, normal A lost pattern is determined as the type of the pattern. Therefore, the probability that winning symbols are determined in the time-saving gaming state, that is, the winning probability is 99/100.

図18(a)は、同時回し参考例に係る普通図柄変動時間データテーブルを説明する図であり、図18(b)は、同時回し参考例に係る開閉制御パターンテーブルを説明する図である。上記のように、普図抽選が行われると、普通図柄の変動時間が決定される。普通図柄変動時間データテーブルは、普図抽選によって当たり図柄もしくはハズレ図柄が決定されたときに、当該普通図柄の変動時間を決定する際に参照されるものである。この普通図柄変動時間データテーブルによれば、遊技状態が非時短遊技状態および中時短遊技状態に設定されている場合には変動時間が10秒に決定され、遊技状態が時短遊技状態に設定されている場合には変動時間が1秒に決定される。このようにして変動時間が決定されると、当該決定された時間にわたって普通図柄表示器168が変動表示(点滅表示)される。そして、当たり図柄が決定された場合には普通図柄表示器168が点灯し、ハズレ図柄が決定された場合には普通図柄表示器168が消灯する。 FIG. 18(a) is a diagram for explaining a normal symbol fluctuation time data table according to the simultaneous rotation reference example, and FIG. 18(b) is a diagram for explaining an opening/closing control pattern table according to the simultaneous rotation reference example. As described above, when the general pattern lottery is performed, the fluctuation time of the normal pattern is determined. The normal symbol variation time data table is referred to when determining the normal symbol variation time when a winning symbol or a losing symbol is determined by a normal symbol lottery. According to this normal symbol variation time data table, when the game state is set to the non-time-saving game state and the medium-time-saving game state, the variation time is determined to be 10 seconds, and the game state is set to the time-saving game state. If so, the variation time is determined to be 1 second. When the variable time is determined in this way, the normal symbol display 168 is variable-displayed (blinking-displayed) over the determined time. Then, when a winning symbol is determined, the normal symbol display 168 is lit, and when a losing symbol is determined, the normal symbol display 168 is extinguished.

そして、普図抽選によって当たり図柄が決定されるとともに、普通図柄表示器168が点灯した場合には、第1可変始動口120Bの可動片120bが、図18(b)に示すように、開閉制御パターンテーブルを参照して通電制御される。なお、実際は、開閉制御パターンテーブルは、遊技状態ごとに設けられており、普通図柄が決定されたときの遊技状態に応じて、対応するテーブルが普通電動役物ソレノイド120cの通電開始時にセットされる。 Then, when the winning pattern is determined by the normal pattern lottery and the normal pattern display 168 is lit, the movable piece 120b of the first variable starting port 120B is controlled to open and close as shown in FIG. 18(b). The energization is controlled by referring to the pattern table. Actually, the opening/closing control pattern table is provided for each game state, and the corresponding table is set at the start of energization of the normal electric accessory solenoid 120c according to the game state when the normal symbol is determined. .

当たり図柄が決定されると、図18(b)に示すように、開閉制御パターンテーブルを参照して第1可変始動口120Bが開閉制御される。この開閉制御パターンテーブルによれば、普電開放前時間(第1可変始動口120Bの開放が開始されるまでの待機時間)、普通電動役物最大開閉切替回数(第1可変始動口120Bの開放回数)、ソレノイド通電時間(第1可変始動口120Bの開放回数ごとの普通電動役物ソレノイド120cの通電時間、すなわち、1回の第1可変始動口120Bの開放時間)、規定数(第1可変始動口120Bの全開放中における第1可変始動口120Bへの最大入賞可能数)、普電閉鎖有効時間(第1可変始動口120Bの各開放間の閉鎖時間、すなわち、休止時間)、普電有効状態時間(第1可変始動口120Bの最後の開放終了からの待機時間)、普電終了ウェイト時間(普電有効状態時間の経過後、後述する普通図柄の変動表示が再開されるまでの待機時間)が、第1可変始動口120Bの制御データとして、遊技状態ごとに、図示のように予め記憶されている。 When the winning pattern is determined, as shown in FIG. 18(b), the opening/closing of the first variable starting port 120B is controlled with reference to the opening/closing control pattern table. According to this opening/closing control pattern table, the time before normal electric opening (waiting time until the opening of the first variable starting port 120B is started), the maximum number of opening/closing switching times of normal electric accessories (opening of the first variable starting port 120B number of times), solenoid energization time (energization time of the ordinary electric accessory solenoid 120c for each number of times the first variable starter opening 120B is opened, that is, opening time of the first variable starter 120B once), specified number (first variable The maximum number of winnings to the first variable starting port 120B while the starting port 120B is fully open), the normal power closing effective time (the closing time between each opening of the first variable starting port 120B, that is, the rest time), the normal power Effective state time (waiting time from the end of the last opening of the first variable start port 120B), normal electric end wait time (after the normal electric effective state time elapses, waiting until the fluctuation display of the normal symbol described later is resumed time) is stored in advance as shown in the figure for each game state as the control data for the first variable start port 120B.

このように、普通図柄の当選確率、変動時間および開放時間を設定することにより、図18(b)の下部に示すように、発射賞球比率(遊技領域116に発射される遊技球に対して第1可変始動口120B、第2始動口122、普図作動口125および大入賞口に遊技球が入球して遊技者に払い出される賞球数の比率)は、非時短遊技状態では発射数:賞球数=100:20、中時短遊技状態では発射数:賞球数=100:40、時短遊技状態では発射数:賞球数=100:99となる。 In this way, by setting the winning probability, variation time, and release time of normal symbols, as shown in the lower part of FIG. 1st variable starting port 120B, 2nd starting port 122, normal pattern operation port 125 and the ratio of the number of prize balls paid out to the player by entering the game ball in the normal pattern operation port 125 and the big winning port) is the number of shots : number of prize balls = 100:20, number of shots in medium time-saving game state: number of prizes = 100:40, number of shots in time-saving game state: number of prize balls = 100:99.

なお、第1可変始動口120Bの開閉条件は、普通図柄の当選確率、普通図柄の変動表示の時間、第1可変始動口120Bの開放時間の3つの要素を規定するものである。つまり、普通図柄の当選確率、普通図柄の変動表示の時間、第1可変始動口120Bの開放時間の3つの要素を組み合わせることにより、非時短遊技状態、中時短遊技状態、時短遊技状態それぞれにおける、第1可変始動口120Bへの遊技球の入球頻度や、発射賞球比率を設定可能である。いずれにしても、ここに示した3つの要素の組み合わせは一例にすぎず、非時短遊技状態よりも時短遊技状態の方が、発射賞球比率が高くなるように、3つの要素を組み合わせればよい。 The open/close condition of the first variable starting port 120B defines three elements: winning probability of normal symbols, variable display time of normal symbols, and opening time of the first variable starting port 120B. In other words, by combining the three elements of the winning probability of normal symbols, the time of variable display of normal symbols, and the opening time of the first variable start port 120B, in each of the non-time-saving game state, medium-time-saving game state, and time-saving game state, It is possible to set the entry frequency of game balls to the first variable starting port 120B and the launch prize ball ratio. In any case, the combination of the three elements shown here is only an example, and if the three elements are combined so that the shot prize ball ratio is higher in the time-saving gaming state than in the non-time-saving gaming state good.

図19は、同時回し参考例に係る本来の遊技性に則った遊技状態の遷移を説明する図である。上記の構成により、遊技機100は、次のような遊技性を実現する。なお、ここでは、登録設定値が「1」に設定されている場合について説明する。まず、遊技機100の初期状態では、図19の(a)に示す通常状態に設定されている。通常状態では、実質変動対象が特1保留に設定されているため、遊技者は第1固定始動口120Aに遊技球を入球させるべく、第1遊技領域116aに向けて遊技球を発射させる。第1遊技領域116aは、遊技盤108の左側に位置することから、遊技者は、通常状態において、所謂「左打ち」を行うこととなる。 FIG. 19 is a diagram for explaining the transition of the game state according to the original game property according to the simultaneous spinning reference example. With the configuration described above, the gaming machine 100 realizes the following gameplay. Here, a case where the registration setting value is set to "1" will be described. First, in the initial state of the gaming machine 100, the normal state shown in FIG. 19(a) is set. In the normal state, since the substantial variable object is set to special 1 reservation, the player shoots the game ball toward the first game area 116a in order to enter the game ball into the first fixed starting port 120A. Since the first game area 116a is located on the left side of the game board 108, the player normally performs so-called "left-handed".

第1固定始動口120Aに遊技球が入球すると特1保留が第1特図保留記憶領域に記憶される。第1特図保留記憶領域に記憶された特1保留は、始動条件の成立により順次読み出され、読み出した特1保留に基づく大役抽選が行われる。このとき、大当たりの当選確率は約1/300.6に設定されている。通常状態では、この特1保留に基づく大役抽選において、大当たりに当選することを目的として遊技を行うこととなる。なお、第1遊技領域116aに向けて遊技球を発射した場合の発射賞球比率は100:20に設定されており、遊技中に遊技球が減少していくことになる。 When the game ball enters the first fixed starting port 120A, the special 1 reservation is stored in the first special figure reservation storage area. The special 1 reservation stored in the first special figure reservation storage area is sequentially read out when the starting condition is established, and a major role lottery based on the read special 1 reservation is performed. At this time, the probability of winning the jackpot is set to approximately 1/300.6. In the normal state, the game is played for the purpose of winning a big win in the big win lottery based on this special 1 reservation. In addition, the shot prize ball ratio is set to 100:20 when the game balls are shot toward the first game area 116a, and the number of game balls decreases during the game.

そして、通常状態において、特1保留による大役抽選で大当たりに当選すると、大役遊技が実行される。この大役遊技では、第1大入賞口126が開放されるラウンド遊技が4回または10回実行され、遊技者は4ラウンドまたは10ラウンド分の賞球を獲得することができる。そして、特1保留によって大当たりに当選した場合には、大当たり図柄として特別図柄A~Eのいずれかが決定される。 Then, in a normal state, when a big win is won in a big win lottery with special 1 reservation, a big win game is executed. In this big win game, the round game in which the first big winning hole 126 is opened is executed 4 times or 10 times, and the player can win prize balls for 4 rounds or 10 rounds. Then, when a jackpot is won by special 1 reservation, one of the special patterns A to E is determined as a jackpot pattern.

通常状態において、第1特別図柄表示器160に停止表示された大当たり図柄が特別図柄Aであった場合、大役遊技後の遊技状態は、図19の(b)に示す低確時短状態となる。特1保留で大当たりに当選した場合に、大当たり図柄として特別図柄Aが決定される確率は30%である。したがって、通常状態で大当たりに当選した場合、30%の確率で、遊技状態が低確時短状態に移行する。低確時短状態では、実質変動対象が特1保留に設定されているが、普通遊技状態が時短遊技状態であるため、遊技者は第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bを狙った右打ちを行うこととなる。 In the normal state, when the jackpot symbol stop-displayed on the first special symbol display 160 is the special symbol A, the game state after the big win game becomes the low-probability time-saving state shown in FIG. 19(b). When a jackpot is won with special 1 reservation, the probability that the special pattern A is determined as a jackpot pattern is 30%. Therefore, when a jackpot is won in the normal state, the game state shifts to the low-probability short-time state with a probability of 30%. In the low probability time saving state, the real fluctuation target is set to special 1 reservation, but since the normal game state is the time saving game state, the player enters the game ball into the first variable start port 120B. A right-handed shot is made aiming at the second game area 116b.

つまり、この低確時短状態では、通常状態と同様、特1保留に基づく大役抽選において、大当たりに当選することを目的として遊技を行うこととなる。なお、低確時短状態は、大当たりの当選確率が約1/300.6であるが、普通遊技状態が時短遊技状態であることから、可動片120bが頻繁に開状態となる。そのため、発射賞球比率は100:99となり、遊技者は、遊技球の費消を低減しながら、大当たりの当選を狙うことができる。 That is, in this low-probability short-time state, as in the normal state, in the big role lottery based on special 1 reservation, the game will be played for the purpose of winning the jackpot. In the low-probability time-saving state, the winning probability of the jackpot is about 1/300.6, but since the normal game state is the time-saving game state, the movable piece 120b is frequently opened. Therefore, the shot prize ball ratio is 100:99, and the player can aim for a big win while reducing consumption of game balls.

なお、低確時短状態に移行すると、時短回数が100回に設定され、100回の大役抽選で大当たりに当選しなかった場合には、遊技状態が再び通常状態に移行することとなる(時短抜け)。 In addition, when moving to a low-probability time-saving state, the number of times of time-saving is set to 100 times, and if the jackpot is not won in 100 times of the big role lottery, the game state will shift to the normal state again (time-saving omission ).

また、通常状態において、第1特別図柄表示器160に停止表示された大当たり図柄が特別図柄B、Dであった場合、大役遊技後の遊技状態は、図19の(c)に示す高確時短状態となる。特1保留で大当たりに当選した場合に、大当たり図柄として特別図柄B、Dが決定される確率は35%である。したがって、通常状態で大当たりに当選した場合、35%の確率で、遊技状態が高確時短状態に移行する。高確時短状態では、実質変動対象が特1保留に設定されているが、普通遊技状態が時短遊技状態であるため、遊技者は第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bを狙った右打ちを行うこととなる。 Also, in the normal state, when the jackpot symbols stopped and displayed on the first special symbol display device 160 are the special symbols B and D, the game state after the big win game is the high-accuracy time-saving shown in (c) of FIG. state. When a jackpot is won with the special 1 reservation, the probability that the special symbols B and D are determined as the jackpot symbols is 35%. Therefore, when a jackpot is won in the normal state, the game state shifts to the high-probability time-saving state with a probability of 35%. In the high-probability time-saving state, the real variable target is set to special 1 reservation, but since the normal game state is the time-saving game state, the player enters the game ball into the first variable start port 120B. A right-handed shot is made aiming at the second game area 116b.

つまり、この高確時短状態では、通常状態と同様、特1保留に基づく大役抽選において、大当たりに当選することを目的として遊技を行うこととなる。なお、高確時短状態は、大当たりの当選確率が約1/105.7であり、普通遊技状態が時短遊技状態であることから、可動片120bが頻繁に開状態となる。そのため、発射賞球比率は100:99となり、遊技者は、遊技球の費消を低減しながら、大役抽選を行うことができる。したがって、高確時短状態では、実質上、次回の大当たりの当選が確約された状態と言える。 In other words, in this high-probability time-saving state, as in the normal state, the game is played for the purpose of winning the jackpot in the big role lottery based on the special 1 reservation. In addition, the probability of winning the jackpot is about 1/105.7, and the normal game state is the time saving game state, so that the movable piece 120b is frequently opened. Therefore, the shot prize ball ratio is 100:99, and the player can perform the big role lottery while reducing consumption of game balls. Therefore, in the high-probability short-time state, substantially, it can be said that the winning of the next jackpot is guaranteed.

また、通常状態において、第1特別図柄表示器160に停止表示された大当たり図柄が特別図柄C、Eであった場合、大役遊技後の遊技状態は、図19の(d)に示す高確前兆状態となる。特1保留で大当たりに当選した場合に、大当たり図柄として特別図柄C、Eが決定される確率は35%である。したがって、通常状態で大当たりに当選した場合、35%の確率で、遊技状態が高確前兆状態に移行する。高確前兆状態では、実質変動対象が特1保留に設定されているが、普通遊技状態が時短遊技状態であるため、遊技者は第1可変始動口120Bに遊技球を入球させるべく、第2遊技領域116bを狙った右打ちを行うこととなる。 Also, in the normal state, when the jackpot symbols stopped and displayed on the first special symbol display device 160 are the special symbols C and E, the game state after the big win game is a high certainty omen shown in (d) of FIG. state. When a jackpot is won with the special 1 reservation, the probability that the special symbols C and E are determined as the jackpot symbols is 35%. Therefore, when a jackpot is won in the normal state, the game state shifts to the high probability portent state with a probability of 35%. In the high probability omen state, the real fluctuation target is set to special 1 reservation, but since the normal game state is the time-saving game state, the player has to enter the game ball into the first variable start port 120B. A right-handed shot is made aiming at the second game area 116b.

そして、特別図柄C、Eが決定された場合には、高確前兆状態に設定されるとともに、時短回数が100回に設定される。このとき、大役遊技後の変動回数が100回に到達すると、時短遊技状態が終了し、普通遊技状態が非時短遊技状態となる。その結果、時短抜けにより、遊技状態が図19の(e)に示す最優位状態に移行することとなる。詳しくは後述するように、最優位状態では、第2遊技領域116bに向けて遊技球を発射し続けるだけで、遊技球を増加させることができる。したがって、高確前兆状態では、大当たりの当選が遊技の目的となるのではなく、大当たりに当選せずに、時短抜けすることが遊技の目的となる。 Then, when the special symbols C and E are determined, the state is set to the high-probability portent state, and the number of times of time saving is set to 100 times. At this time, when the number of fluctuations after the big win game reaches 100 times, the time-saving game state ends, and the normal game state becomes a non-time-saving game state. As a result, the game state shifts to the highest priority state shown in (e) of FIG. 19 due to time saving. As will be described later in detail, in the highest priority state, the number of game balls can be increased simply by continuously shooting game balls toward the second game area 116b. Therefore, in the high-probability omen state, the purpose of the game is not to win the jackpot, but to get out of the game quickly without winning the jackpot.

上記の高確前兆状態、高確時短状態、低確時短状態における実質変動対象の特1保留によれば、大当たりに当選した場合に、大当たり図柄として特別図柄A~Eが決定される。特別図柄Aが決定されると、大役遊技において4回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が、図19の(b)に示す低確時短状態となる。また、特別図柄B、Dが決定された場合、大役遊技において4回または10回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が高確時短状態となる。また、特別図柄C、Eが決定された場合、大役遊技において4回または10回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が、高確前兆状態となる。 According to the special 1 reservation of the real fluctuation target in the high probability omen state, high probability short working hours state, low probability short working hours state, special symbols A to E are determined as jackpot symbols when winning the jackpot. When the special symbol A is determined, four round games are executed in the big win game, and the game state after the big win game becomes the low probability time saving state shown in FIG. 19(b). Further, when the special symbols B and D are determined, the round game is executed 4 times or 10 times in the big win game, and the game state after the big win game becomes a high probability time saving state. Further, when the special symbols C and E are determined, the round game is executed 4 times or 10 times in the big win game, and the game state after the big win game becomes a high probability precursor state.

最優位状態では、第2始動口122に遊技球が入球すると特2保留が第2特図保留記憶領域に記憶される。第2特図保留記憶領域に記憶された特2保留は、始動条件の成立により順次読み出され、読み出した特2保留に基づく大役抽選が行われる。このとき、大当たりの当選確率は約1/105.7に設定されており、また、小当たりの当選確率は約1/3.45に設定されている。最優位状態では、この特2保留に基づく大役抽選において、小当たりに当選することが遊技の最大の目的となる。 In the highest priority state, when the game ball enters the second starting port 122, the special 2 reservation is stored in the second special figure reservation storage area. The special 2 reserve stored in the second special figure reserve storage area is sequentially read out when the starting condition is established, and a major role lottery is performed based on the read special 2 reserve. At this time, the probability of winning the big prize is set to approximately 1/105.7, and the probability of winning the small prize is set to approximately 1/3.45. In the highest priority state, winning a small win is the most important purpose of the game in the big win lottery based on this special 2 reservation.

具体的には、第2遊技領域116bに遊技球を発射させた場合、発射球数に対する、第2始動口122への遊技球の入球によって払い出される賞球の比率は、100:60~80程度に設定されている。そして、最優位状態では、特2保留による大役抽選において、約1/3.45の確率で小当たりに当選するため、小当たり遊技が頻繁に行われる。ここで、特2保留によって小当たりに当選した場合には、小当たり図柄Z4~Z6が決定される。上記したように、小当たり図柄Z4が第2特別図柄表示器162に停止表示された場合の小当たり遊技では、平均2~3個の遊技球が第2大入賞口128に入球する。小当たり図柄Z5が第2特別図柄表示器162に停止表示された場合の小当たり遊技では、平均3~4個の遊技球が第2大入賞口128に入球する。さらに、小当たり図柄Z6が第2特別図柄表示器162に停止表示された場合の小当たり遊技では、ほぼ規定数の遊技球が第2大入賞口128に入球する。 Specifically, when the game ball is launched into the second game area 116b, the ratio of the prize balls paid out by the game ball entering the second start port 122 to the number of launched balls is 100:60-80. is set to an extent. Then, in the highest priority state, in the big win lottery with special 2 reservation, a small winning game is frequently played because a small winning is won with a probability of about 1/3.45. Here, when a small win is won by special 2 reservation, small win symbols Z4 to Z6 are determined. As described above, in the small winning game when the small winning symbol Z4 is stopped and displayed on the second special symbol display device 162, an average of 2 to 3 game balls enter the second big winning hole 128. In the small winning game when the small winning symbol Z5 is stop-displayed on the second special symbol display 162, an average of 3 to 4 game balls enter the second big winning hole 128.例文帳に追加Furthermore, in the small winning game when the small winning symbol Z6 is stopped and displayed on the second special symbol display device 162, almost a specified number of game balls enter the second big winning opening 128.例文帳に追加

第2大入賞口128に遊技球が入球すると、例えば、1個の遊技球の入球に対して15個の賞球が払い出される。これにより、最優位状態では、発射球数に対する全ての賞球数の比率である発射賞球比率が100:120となり、第2遊技領域116bに向けて遊技球を発射し続けるだけで、遊技球を増加させることができる。 When a game ball enters the second big winning hole 128, for example, 15 prize balls are paid out for one game ball entering the game ball. As a result, in the highest priority state, the shot prize ball ratio, which is the ratio of the number of all prize balls to the number of shot balls, becomes 100:120. can be increased.

なお、この最優位状態では、普通遊技状態が非時短遊技状態となっており、可動片120bが開状態となることは殆どない。また、最優位状態では、特別遊技状態が高確率遊技状態となっており、最優位状態における大当たりの当選確率が約1/105.7であることから、最優位状態では、実質上、次回の大当たりの当選が確約された状態と言える。 In addition, in this most dominant state, the normal game state is a non-time-saving game state, and the movable piece 120b is almost never in an open state. In addition, in the highest priority state, the special game state is a high probability game state, and the winning probability of the jackpot in the highest priority state is about 1/105.7. It can be said that the winning of the jackpot is guaranteed.

この最優位状態における実質変動対象の特2保留によれば、大当たりに当選した場合に、大当たり図柄として特別図柄F~Jが決定される。特別図柄Fが決定された場合、大役遊技において4回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が、図19の(b)に示す低確時短状態となる。また、特別図柄G、Iが決定された場合、大役遊技において4回または10回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が高確時短状態となる。また、特別図柄H、Jが決定された場合、大役遊技において4回または10回のラウンド遊技が実行されるとともに、大役遊技後の遊技状態が、高確前兆状態となる。 According to the special 2 reservation of the real variation object in this highest priority state, when the big win is won, the special symbols F to J are determined as the big win symbols. When the special symbol F is determined, four round games are executed in the big win game, and the game state after the big win game becomes the low-probability time-saving state shown in FIG. 19(b). Further, when the special symbols G and I are determined, the round game is executed 4 times or 10 times in the big win game, and the game state after the big win game becomes a high probability time saving state. Also, when the special symbols H and J are determined, the round game is executed 4 times or 10 times in the big win game, and the game state after the big win game becomes a high probability precursor state.

最優位状態は、他の遊技状態に比べて、有利度合いが極めて高いため、遊技機100における遊技の最大の目的は、遊技状態を最優位状態に移行させることとなる。上記のとおり、遊技はまず、通常状態で開始されるが、この通常状態から一気に最優位状態に移行することはない。そのため、高確前兆状態を経由して最優位状態へ移行するという移行ルートが、遊技機100における最優位状態への移行ルートとなる。 Since the most dominant state has an extremely high degree of advantage compared to other game states, the most important purpose of the game in the gaming machine 100 is to shift the game state to the most dominant state. As described above, the game is first started in the normal state, but the normal state does not suddenly transition to the highest priority state. Therefore, the transition route to the most dominant state via the high probability portent state is the transition route to the most dominant state in the gaming machine 100 .

さらに、同時回し参考例では、高確前兆状態における時短抜けとは別に、特定の小当たり図柄に当選することが、高確前兆状態から最優位状態への移行条件として設定されている。具体的には、高確前兆状態における実質変動対象である特1保留によって小当たりに当選した場合、小当たり図柄として、特別図柄Z1が1%、特別図柄Z2が69%、特別図柄Z3が30%の確率で決定される(図8(c)参照)。 Furthermore, in the simultaneous turning reference example, winning a specific small winning symbol is set as a transition condition from the high probability omen state to the most dominant state, apart from the time saving omission in the high probability omen state. Specifically, when a small hit is won by special 1 reservation, which is a real fluctuation target in a high certainty omen state, the special pattern Z1 is 1%, the special pattern Z2 is 69%, and the special pattern Z3 is 30 as a small winning pattern. % probability (see FIG. 8(c)).

このとき、小当たり図柄として特別図柄Z1が決定されると、小当たり遊技の終了に伴って時短遊技状態が終了し、その結果、遊技状態が最優位状態へと移行することとなる。 At this time, when the special symbol Z1 is determined as the small winning symbol, the time saving game state ends with the end of the small winning game, and as a result, the game state shifts to the highest priority state.

このように、特定の小当たりの当選によって最優位状態に移行することから、変動回数が規定回数(100回)に達したときにのみ最優位状態に移行する場合に比べて、遊技者に対して、常時、期待感と緊張感とが付与される。 In this way, since the state is shifted to the highest priority state by winning a specific small win, compared to the case where the state is shifted to the highest priority state only when the number of fluctuations reaches the specified number of times (100 times), it is easier for the player. Therefore, a sense of anticipation and a sense of tension are constantly imparted.

なお、上記の高確前兆状態、高確時短状態、低確時短状態においては、約1/3.45の確率で小当たりに当選する。そのため、高確前兆状態、高確時短状態、低確時短状態においても、最優位状態と同様に、頻繁に小当たり遊技が実行される。しかしながら、高確前兆状態、高確時短状態、低確時短状態は、いずれも普通遊技状態が時短遊技状態である。また、詳しくは後述するが、小当たり遊技中も、普通遊技状態は時短遊技状態に維持されている。そのため、小当たり遊技中に第2大入賞口128が開放されるものの、この間に、第1可変始動口120Bも開放されてしまう。 In addition, in the above-mentioned high probability omen state, high probability short working hours state, low probability short working hours state, a small hit is won with a probability of about 1/3.45. Therefore, in the high-probability omen state, the high-probability short working hours state, and the low-probable short working hours state, similarly to the most dominant state, the small winning game is frequently executed. However, the high-probability portent state, the high-probability short working hours state, and the low-probable short working hours state are all normal game states in the short working hours gaming state. In addition, although it will be described later in detail, even during the small winning game, the normal game state is maintained in the time saving game state. Therefore, although the second big winning opening 128 is opened during the small winning game, the first variable starting opening 120B is also opened during this time.

上記したように、第1可変始動口120Bは、第2大入賞口128よりも上方に設けられており、しかも、時短遊技状態では、第1可変始動口120Bの開放時間が、第2大入賞口128の開放時間よりも極めて長い。そのため、高確前兆状態、高確時短状態、低確時短状態においては、第2遊技領域116bを流下する遊技球の殆どが第1可変始動口120Bに入球し、第2大入賞口128には殆ど遊技球が入球することはない。その結果、高確前兆状態、高確時短状態、低確時短状態においては、最優位状態とは異なり、遊技中に右打ちを行ったとしても、遊技球が徐々に減少することとなる。 As described above, the first variable starting port 120B is provided above the second big winning port 128, and in the time saving game state, the opening time of the first variable starting port 120B is the second big winning much longer than the opening time of mouth 128. Therefore, in the high-probability omen state, high-probability short-time state, and low-probability short-time state, most of the game balls flowing down the second game area 116b enter the first variable starting port 120B, and enter the second big winning port 128. Almost no game ball enters. As a result, in the high-probability portent state, the high-probability short-time state, and the low-probability short-time state, unlike the most dominant state, even if the player hits right during the game, the number of game balls gradually decreases.

以上のように、本来の遊技性に則って実質変動対象によって遊技が進行すると、大当たりに当選した場合、大役遊技後の遊技状態が、低確時短状態、高確時短状態、高確前兆状態のいずれかに設定される。そして、高確時短状態および高確前兆状態は、特別遊技状態が高確率遊技状態であり、普通遊技状態が時短遊技状態であることが共通している。一方で、高確時短状態は、次回の大当たりに当選するまで継続するのに対して、高確前兆状態は、特定の小当たり(特別図柄Z1)に当選するか、時短抜けすることで、遊技状態が最優位状態に移行される点で相違する。 As described above, when the game progresses by the real variation object in accordance with the original game nature, when the jackpot is won, the gaming state after the big role game is a low probability time saving state, a high probability time saving state, a high probability omen state set to either. And, the high probability time saving state and the high probability omen state have in common that the special game state is the high probability game state and the normal game state is the time saving game state. On the other hand, the high-probability time-saving state continues until the next jackpot is won, whereas the high-probability omen state is the winning of a specific small hit (special symbol Z1) or the time-saving omission. The difference is that the state is shifted to the highest priority state.

また、高確時短状態では、小当たり時およびハズレ時の変動時間が1秒に設定されるのに対して、高確前兆状態では、小当たり時およびハズレ時の変動時間が3~10秒の範囲内で設定される点で相違する(図13(b)参照)。つまり、高確時短状態における変動時間の平均は、高確前兆状態における変動時間の平均よりも短く設定される。 Also, in the high-probability short-time state, the fluctuation time at the time of small hit and loss is set to 1 second, while in the high-probability omen state, the fluctuation time at the time of small hit and loss is 3 to 10 seconds. It differs in that it is set within the range (see FIG. 13(b)). That is, the average of the variable time in the high-probability short-time state is set shorter than the average of the variable time in the high-probability omen state.

したがって、高確時短状態では、小当たり時およびハズレ時の変動時間が相対的に短いため、大当たりに当選するまで、実質変動対象を高速で消化することができる。詳しい説明は省略するが、特別図柄の変動時間では、副制御基板330において演出図柄210a、210b、210cの変動表示が行われる。高確時短状態では、演出図柄210a、210b、210cの変動表示も相対的に短くなる。そのため、高確時短状態では、特1保留が記憶され続ける限り、特1保留(演出図柄210a、210b、210cの変動表示)が高速で消化され続けることになり、大当たりに当選するまでの時間を短くすることができ、遊技者にストレスを感じさせることなく(低減して)、次回の大当たりまで遊技を行わせることができる。 Therefore, in the high-probability time-saving state, since the fluctuation time at the time of the small hit and the loss is relatively short, the real fluctuation object can be digested at high speed until the big hit is won. Although detailed description is omitted, during the special symbol variation time, the sub-control board 330 performs variable display of the effect symbols 210a, 210b, and 210c. In the high probability time saving state, the variable display of the production patterns 210a, 210b, and 210c is also relatively short. Therefore, in the high probability time saving state, as long as the special 1 reservation continues to be stored, the special 1 reservation (variable display of the production patterns 210a, 210b, 210c) will continue to be digested at high speed, and the time until winning the jackpot It can be shortened, and the game can be played until the next big win without (reduced) stress on the player.

一方、高確前兆状態では、小当たり時およびハズレ時の変動時間が相対的に長いが、副制御基板330においては、最優位状態に移行するか否かの演出が行われる。そのため、遊技者は最優位状態に移行するのではないかと期待しながら遊技を行うことができる。 On the other hand, in the high-probability omen state, the variation time is relatively long at the time of small win and at the time of loss, but in the sub-control board 330, an effect is performed as to whether or not to shift to the highest priority state. Therefore, the player can play while expecting that the game will shift to the highest priority state.

このように、高確時短状態では、特定の小当たり(特別図柄Z1)に当選しても最優位状態に移行することはないが、変動時間の平均が短く設定されることで、次回の大当たりの当選までの時間を短くでき、遊技者へのストレスを低減することができる。また、高確前兆状態では、高確時短状態と比べて変動時間の平均が長く設定されているが、その変動時間で、最優位状態に移行するか否かの演出を行うことができ、遊技者に期待感と緊張感とを付与することができる。 Thus, in the high-probability short-time state, even if a specific small hit (special pattern Z1) is won, it does not shift to the most dominant state, but by setting the average of the fluctuation time short, the next big hit It is possible to shorten the time until winning the prize, and reduce the stress on the player. In addition, in the high-probability omen state, the average of the fluctuation time is set longer than in the high-probability short-time state. It can give people a sense of expectation and a sense of tension.

以上のように、特別遊技状態が高確率遊技状態であり、普通遊技状態が時短遊技状態であることが共通している高確時短状態および高確前兆状態が設けられ、高確時短状態の変動時間の平均を高確前兆状態の変動時間の平均よりも短くすることで、新たな遊技性を提供することができる。 As described above, the special game state is a high-probability game state, and the high-probability time-saving state and high-probability precursor state that are common to the normal game state being a time-saving game state are provided, and the fluctuation of the high-probability time-saving state By making the average of the time shorter than the average of the fluctuation time of the high-probability portent state, new playability can be provided.

図20は、同時回し参考例に係る適切に遊技が行われなかった場合の遊技状態の遷移を説明する図である。上記のように、遊技機100では、第1特別図柄表示器160における図柄の変動表示と、第2特別図柄表示器162における図柄の変動表示とが、同時並行して行われる。このとき、実質変動対象以外の保留によって大役抽選が行われた結果、遊技者に不利益が生じる可能性がある場合については、変動時間を10分といった長時間に設定している。しかしながら、実質変動対象以外の保留によって大役抽選が行われた後、例えば、遊技を中断してしまう等した結果、実質変動対象以外の保留による大当たりが確定してしまうこともある。この場合には、図20に示すように遊技状態が遷移することとなる。 FIG. 20 is a diagram for explaining the transition of the game state when the game is not properly played according to the simultaneous spinning reference example. As described above, in the gaming machine 100, the symbol variation display on the first special symbol display device 160 and the symbol variation display on the second special symbol display device 162 are performed in parallel. At this time, if there is a possibility that the player will be disadvantaged as a result of the large winning lottery being held due to the hold other than the actual variable object, the variable time is set to a long time such as 10 minutes. However, after the big win lottery is performed due to the holding other than the real fluctuation target, for example, as a result of interrupting the game, the jackpot due to the holding other than the real fluctuation target may be decided. In this case, the game state changes as shown in FIG.

以下に、上記の遊技性を実現するための、主制御基板300の主な処理について説明する。 The main processing of the main control board 300 for realizing the above-described game characteristics will be described below.

図21は、同時回し参考例に係る遊技機状態フラグを説明する図である。主制御基板300においては、遊技を進行可能な状態であるか否かが遊技機状態フラグにより管理される。遊技機状態フラグには、00H~05Hの6種類のフラグ値のいずれかがセットされる。遊技機状態フラグのフラグ値=00Hは遊技可能状態を示しており、遊技機状態フラグが00Hである場合に、遊技が進行制御され、遊技機状態フラグが00H以外である場合には、遊技が停止される。 FIG. 21 is a diagram for explaining gaming machine state flags according to the simultaneous spinning reference example. In the main control board 300, whether or not the game is ready to progress is managed by a gaming machine state flag. One of six types of flag values from 00H to 05H is set in the gaming machine state flag. The flag value of the gaming machine state flag=00H indicates a playable state. When the gaming machine state flag is 00H, the progress of the game is controlled. be stopped.

遊技機状態フラグのフラグ値=01Hは設定変更状態を示しており、遊技機状態フラグが01Hである場合には、登録設定値の変更操作が可能となる。遊技機状態フラグのフラグ値=02Hは設定確認状態を示しており、遊技機状態フラグが02Hである場合には、登録設定値が性能表示モニタ184に表示される等して、登録設定値を確認することが可能となる。遊技機状態フラグのフラグ値=03Hは設定異常状態を示しており、遊技機状態フラグが03Hである場合には、登録設定値が異常であるとして遊技が停止される。遊技機状態フラグのフラグ値=04HはRAM異常状態を示しており、遊技機状態フラグが04Hである場合には、遊技が停止される。遊技機状態フラグのフラグ値=05Hはチェックサム異常状態を示しており、遊技機状態フラグが05Hである場合には、遊技が停止される。電源が投入されると、遊技機状態フラグがいずれかのフラグ値にセットされ、遊技機状態フラグに応じた処理が行われる。 The flag value of the game machine state flag=01H indicates a setting change state, and when the game machine state flag is 01H, the change operation of the registered setting value is possible. The flag value of the gaming machine state flag=02H indicates the setting confirmation state, and when the gaming machine state flag is 02H, the registered set value is displayed on the performance display monitor 184, and the registered set value is confirmed. It is possible to confirm. The flag value of the gaming machine state flag=03H indicates a setting abnormality state, and when the gaming machine state flag is 03H, the game is stopped as the registered setting value is abnormal. The flag value of the gaming machine state flag=04H indicates a RAM abnormal state, and when the gaming machine state flag is 04H, the game is stopped. The flag value of the gaming machine status flag=05H indicates an abnormal checksum status, and if the gaming machine status flag is 05H, the game is stopped. When the power is turned on, the game machine state flag is set to any flag value, and processing corresponding to the game machine state flag is performed.

(主制御基板300のCPU初期化処理)
図22は、同時回し参考例に係る主制御基板300におけるCPU初期化処理を説明する第1のフローチャートであり、図23は、同時回し参考例に係る主制御基板300におけるCPU初期化処理を説明する第2のフローチャートである。
(CPU initialization processing of main control board 300)
FIG. 22 is a first flowchart illustrating CPU initialization processing in the main control board 300 according to the simultaneous rotation reference example, and FIG. 23 illustrates CPU initialization processing in the main control board 300 according to the simultaneous rotation reference example. It is the 2nd flowchart which carries out.

電源基板より電源が供給されると、メインCPU300aにシステムリセットが発生し、メインCPU300aは、以下のCPU初期化処理(S100)を行う。 When power is supplied from the power board, a system reset occurs in the main CPU 300a, and the main CPU 300a performs the following CPU initialization processing (S100).

(ステップS100-1)
メインCPU300aは、電源投入に応じて、初期設定処理として、メインROM300bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行う。
(Step S100-1)
When the power is turned on, the main CPU 300a reads a startup program from the main ROM 300b as an initial setting process, and performs setting processes necessary for executing various processes.

(ステップS100-3)
メインCPU300aは、タイマカウンタにウェイト処理時間を設定する。
(Step S100-3)
The main CPU 300a sets the wait processing time in the timer counter.

(ステップS100-5)
メインCPU300aは、電源断予告信号を検出しているかを判定する。なお、主制御基板300には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源断検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS100-3に処理を移し、電源断予告信号を検出していない場合には、ステップS100-7に処理を移す。
(Step S100-5)
The main CPU 300a determines whether a power-off warning signal is detected. A power interruption detection circuit is provided in the main control board 300, and a power interruption warning signal is output from the power interruption detection circuit when the power supply voltage drops below a predetermined value. If the power-off notice signal is detected, the process proceeds to step S100-3, and if the power-off notice signal is not detected, the process proceeds to step S100-7.

(ステップS100-7)
メインCPU300aは、上記ステップS100-3で設定したウェイト時間が経過したか否かを判定する。その結果、ウェイト時間が経過したと判定した場合にはステップS100-9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS100-5に処理を移す。
(Step S100-7)
The main CPU 300a determines whether or not the wait time set in step S100-3 has elapsed. As a result, when it is determined that the wait time has elapsed, the process proceeds to step S100-9, and when it is determined that the wait time has not elapsed, the process proceeds to step S100-5.

(ステップS100-9)
メインCPU300aは、メインRAM300cへのアクセスを許可するために必要な処理を実行する。
(Step S100-9)
The main CPU 300a executes necessary processing to permit access to the main RAM 300c.

(ステップS100-11)
メインCPU300aは、Dレジスタに電源断前の遊技機状態フラグのフラグ値をロードする。
(Step S100-11)
The main CPU 300a loads the flag value of the gaming machine state flag before power-off to the D register.

(ステップS100-13)
メインCPU300aは、チェックサムを算出するとともに、算出したチェックサムが、電源断時に保存されたチェックサムと一致する(正常である)か、ならびに、バックアップフラグが正常であるかを判定する。その結果、バックアップフラグおよびチェックサムが正常であると判定した場合にはステップS100-15に処理を移し、いずれか一方または双方が正常ではないと判定した場合にはステップS100-25に処理を移す。
(Step S100-13)
The main CPU 300a calculates the checksum and determines whether the calculated checksum matches (is normal) the checksum saved at the time of power failure and whether the backup flag is normal. As a result, if it is determined that the backup flag and checksum are normal, the process moves to step S100-15, and if either or both are determined to be abnormal, the process moves to step S100-25. .

(ステップS100-15)
メインCPU300aは、メインRAM300cのクリア対象の先頭アドレスに、設定値および遊技機状態フラグを含まない番地をセットする。
(Step S100-15)
The main CPU 300a sets an address that does not include the setting value and the gaming machine status flag as the top address to be cleared in the main RAM 300c.

(ステップS100-17)
メインCPU300aは、RAMクリアスイッチ182sからRAMクリア操作信号が入力されているか(RAMクリアボタンが押下操作されているか)を判定する。その結果、RAMクリア操作信号が入力されていると判定した場合にはステップS100-31に処理を移し、RAMクリア操作信号は入力されていないと判定した場合にはステップS100-19に処理を移す。
(Step S100-17)
The main CPU 300a determines whether a RAM clear operation signal has been input from the RAM clear switch 182s (whether the RAM clear button has been pressed). As a result, if it is determined that the RAM clear operation signal has been input, the process proceeds to step S100-31, and if it is determined that the RAM clear operation signal has not been input, the process proceeds to step S100-19. .

(ステップS100-19)
メインCPU300aは、上記ステップS100-11でロードした遊技機状態フラグのフラグ値が00H(遊技可能状態)であり、設定変更スイッチ180sがオンしており、かつ、中枠104が開放しているかを判定する。その結果、3つの条件をすべて満たすと判定した場合にはステップS100-21に処理を移し、3つの条件の1つでも満たされないと判定した場合にはステップS100-23に処理を移す。
(Step S100-19)
The main CPU 300a checks whether the value of the gaming machine status flag loaded in step S100-11 is 00H (game ready status), whether the setting change switch 180s is on, and whether the middle frame 104 is open. judge. As a result, when it is determined that all three conditions are satisfied, the process moves to step S100-21, and when it is determined that even one of the three conditions is not satisfied, the process moves to step S100-23.

(ステップS100-21)
メインCPU300aは、遊技機状態フラグに02H(設定確認状態)をセットする。すなわち、中枠104が開放されており、設定変更スイッチ180sがオンしており、RAMクリアボタンが押下されていない状態で正常に電源投入がなされると、設定確認状態となる。
(Step S100-21)
The main CPU 300a sets the gaming machine state flag to 02H (setting confirmation state). That is, when the power is normally turned on in a state in which the middle frame 104 is open, the setting change switch 180s is on, and the RAM clear button is not pressed, the setting confirmation state is entered.

(ステップS100-23)
メインCPU300aは、メインRAM300cのうち、上記ステップS100-15でセットされた先頭アドレス以降の領域である電源復帰時のクリア対象をクリアする初期化処理を実行し、ステップS100-49に処理を移す。
(Step S100-23)
The main CPU 300a executes an initialization process of clearing the areas to be cleared at the time of power return, which are the areas after the head address set in step S100-15 in the main RAM 300c, and shifts the process to step S100-49.

(ステップS100-25)
メインCPU300aは、Dレジスタに05H(チェックサム異常状態)をセットする。
(Step S100-25)
The main CPU 300a sets 05H (checksum abnormal state) in the D register.

(ステップS100-27)
メインCPU300aは、使用外領域のリードライトメモリのチェックおよびクリアを行う領域外リードライトチェック処理を行う。
(Step S100-27)
The main CPU 300a performs out-of-area read/write check processing for checking and clearing the read/write memory in the out-of-use area.

(ステップS100-29)
メインCPU300aは、メインRAM300cのクリア対象の先頭アドレスに、設定値および遊技機状態フラグを含む番地をセットする。
(Step S100-29)
The main CPU 300a sets an address including a set value and a gaming machine state flag to the leading address to be cleared in the main RAM 300c.

(ステップS100-31)
メインCPU300aは、使用領域のリードライトメモリのチェックおよびクリアを行う。
(Step S100-31)
The main CPU 300a checks and clears the read/write memory of the used area.

(ステップS100-33)
メインCPU300aは、上記ステップS100-31におけるリードライトメモリのチェック結果が正常であるかを判定する。その結果、正常であると判定した場合にはステップS100-37に処理を移し、正常ではないと判定した場合にはステップS100-35に処理を移す。
(Step S100-33)
The main CPU 300a determines whether the check result of the read/write memory in step S100-31 is normal. As a result, if it is determined to be normal, the process moves to step S100-37, and if it is determined to be not normal, the process moves to step S100-35.

(ステップS100-35)
メインCPU300aは、Dレジスタに04H(RAM異常状態)をセットし、ステップS100-45に処理を移す。
(Step S100-35)
The main CPU 300a sets 04H (RAM abnormal state) in the D register, and shifts the process to step S100-45.

(ステップS100-37)
メインCPU300aは、Dレジスタに02H(設定確認状態)がセットされているかを判定する。その結果、02Hがセットされていると判定した場合にはステップS100-39に処理を移し、02Hはセットされていないと判定した場合にはステップS100-41に処理を移す。
(Step S100-37)
The main CPU 300a determines whether 02H (setting confirmation state) is set in the D register. As a result, when it is determined that 02H is set, the process moves to step S100-39, and when it is determined that 02H is not set, the process moves to step S100-41.

(ステップS100-39)
メインCPU300aは、Dレジスタに00H(遊技可能状態)をセットする。
(Step S100-39)
The main CPU 300a sets 00H (game ready state) in the D register.

(ステップS100-41)
メインCPU300aは、設定変更条件を満たしているかを判定する。その結果、設定変更条件を満たしていると判定した場合にはステップS100-43に処理を移し、設定変更条件は満たしていないと判定した場合にはステップS100-45に処理を移す。なお、ここでは、設定変更条件に、設定変更スイッチ180sがオンしていること、中枠104が開放していること、および、RAMクリアスイッチ182sからRAMクリア操作信号が入力されていることが少なくとも含まれる。
(Step S100-41)
The main CPU 300a determines whether the setting change condition is satisfied. As a result, when it is determined that the setting change condition is satisfied, the process proceeds to step S100-43, and when it is determined that the setting change condition is not satisfied, the process proceeds to step S100-45. Here, at least the setting change conditions include that the setting change switch 180s is turned on, that the middle frame 104 is open, and that the RAM clear operation signal is input from the RAM clear switch 182s. included.

(ステップS100-43)
メインCPU300aは、Dレジスタに01H(設定変更状態)をセットする。
(Step S100-43)
The main CPU 300a sets 01H (setting change state) in the D register.

(ステップS100-45)
メインCPU300aは、Dレジスタにセットされている値を遊技機状態フラグにセーブする。
(Step S100-45)
The main CPU 300a saves the value set in the D register in the gaming machine state flag.

(ステップS100-47)
メインCPU300aは、メインRAM300cのうち、RAMクリア時のクリア対象をクリアする初期化処理を実行し、ステップS100-49に処理を移す。
(Step S100-47)
The main CPU 300a executes an initialization process of clearing the clear target of the main RAM 300c when clearing the RAM, and shifts the process to step S100-49.

(ステップS100-49)
メインCPU300aは、メインRAM300cがクリアされたことを払出制御基板310に伝達するための払出コマンド(RAMクリア指定コマンド)の送信処理(RAMクリア指定コマンドを送信バッファに格納)を行う。
(Step S100-49)
The main CPU 300a performs a process of transmitting a payout command (RAM clear designation command) for transmitting to the payout control board 310 that the main RAM 300c has been cleared (stores the RAM clear designation command in a transmission buffer).

(ステップS100-51)
メインCPU300aは、遊技機状態フラグをロードする。
(Step S100-51)
The main CPU 300a loads the gaming machine state flag.

(ステップS100-53)
メインCPU300aは、上記ステップS100-51でロードした遊技機状態フラグが00H(遊技可能状態)であるかを判定する。その結果、00Hであると判定した場合にはステップS110に処理を移し、00Hではないと判定した場合にはステップS100-55に処理を移す。
(Step S100-53)
The main CPU 300a determines whether or not the gaming machine state flag loaded in step S100-51 is 00H (playable state). As a result, if it is determined to be 00H, the process moves to step S110, and if it is determined not to be 00H, the process moves to step S100-55.

(ステップS110)
メインCPU300aは、サブコマンド群セット処理を行う。なお、このサブコマンド群セット処理については後述する。
(Step S110)
The main CPU 300a performs subcommand group set processing. This subcommand group set process will be described later.

(ステップS100-55)
メインCPU300aは、所定のコマンドを副制御基板330に送信するためのサブコマンド群セット処理を行う。
(Step S100-55)
The main CPU 300 a performs sub-command group set processing for transmitting a predetermined command to the sub-control board 330 .

(ステップS100-57)
メインCPU300aは、タイマ割込みの周期を設定する。
(Step S100-57)
The main CPU 300a sets the cycle of the timer interrupt.

(ステップS100-59)
メインCPU300aは、割込みを禁止するための処理を行う。
(Step S100-59)
The main CPU 300a performs processing for prohibiting interrupts.

(ステップS100-61)
メインCPU300aは、当たり図柄乱数用初期値更新乱数を更新する。なお、当たり図柄乱数用初期値更新乱数は、当たり図柄乱数の初期値および終了値を決定するためのものである。つまり、後述する当たり図柄乱数の更新処理によって当たり図柄乱数が、当たり図柄乱数用初期値更新乱数から、当該当たり図柄乱数用初期値更新乱数-1まで1周すると、当たり図柄乱数は、そのときの当たり図柄乱数用初期値更新乱数に更新されることとなる。
(Step S100-61)
The main CPU 300a updates the initial value update random number for the winning symbol random number. The initial value update random number for the winning symbol random number is for determining the initial value and the end value of the winning symbol random number. In other words, when the winning design random number is updated from the winning design random number initial value update random number to the winning design random number initial value update random number -1, the winning design random number is at that time. It will be updated to the initial value update random number for the winning design random number.

(ステップS100-63)
メインCPU300aは、払出制御基板310から受信した受信データ(主コマンド)を解析し、受信データに応じた種々の処理を実行する。
(Step S100-63)
The main CPU 300a analyzes the received data (main command) received from the payout control board 310 and executes various processes according to the received data.

(ステップS100-65)
メインCPU300aは、送信バッファに格納されているサブコマンドを副制御基板330に送信するための処理を行う。
(Step S100-65)
The main CPU 300 a performs processing for transmitting the sub-commands stored in the transmission buffer to the sub-control board 330 .

(ステップS100-67)
メインCPU300aは、割込みを許可するための処理を行う。
(Step S100-67)
The main CPU 300a performs processing for permitting interrupts.

(ステップS100-69)
メインCPU300aは、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を更新し、以後、上記ステップS100-59から処理を繰り返す。なお、以下では、変動演出パターンを決定するためのリーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数を総称して変動演出用乱数と呼ぶ。
(Step S100-69)
The main CPU 300a updates the reach group determination random number, the reach mode determination random number, and the fluctuation pattern random number, and thereafter repeats the processing from step S100-59. In the following description, the reach group determination random number, the reach mode determination random number, and the variation pattern random number for determining the variable effect pattern are collectively referred to as variable effect random numbers.

図24は、同時回し参考例に係る主制御基板300におけるサブコマンド群セット処理(S110)を説明するフローチャートである。 FIG. 24 is a flowchart for explaining subcommand group set processing (S110) in the main control board 300 according to the simultaneous rotation reference example.

(ステップS110-1)
メインCPU300aは、遊技機状態フラグのフラグ値をロードする。
(Step S110-1)
The main CPU 300a loads the flag value of the gaming machine state flag.

(ステップS110-3)
メインCPU300aは、所定のコマンドを副制御基板330に送信するためのサブコマンド群セット処理を行う。
(Step S110-3)
The main CPU 300 a performs sub-command group set processing for transmitting a predetermined command to the sub-control board 330 .

(ステップS110-5)
メインCPU300aは、遊技機100の機種情報を示す機種コマンドを送信バッファにセットする機種コマンド設定処理を行う。
(Step S110-5)
The main CPU 300a performs a model command setting process of setting a model command indicating model information of the gaming machine 100 in a transmission buffer.

(ステップS110-7)
メインCPU300aは、登録設定値を示す設定値指定コマンドを送信バッファにセットする設定値指定コマンド設定処理を行う。
(Step S110-7)
The main CPU 300a performs setting value designation command setting processing for setting a setting value designation command indicating a registered setting value in a transmission buffer.

(ステップS110-9)
メインCPU300aは、特1保留数を示す特図1保留指定コマンドを送信バッファにセットする特図1保留指定コマンド設定処理を行う。
(Step S110-9)
The main CPU 300a performs a special figure 1 reservation designation command setting process for setting a special figure 1 reservation designation command indicating the number of special 1 reservations in the transmission buffer.

(ステップS110-11)
メインCPU300aは、特2保留数を示す特図2保留指定コマンドを送信バッファにセットする特図2保留指定コマンド設定処理を行う。
(Step S110-11)
The main CPU 300a performs a special figure 2 reservation designation command setting process for setting a special figure 2 reservation designation command indicating the number of special 2 reservations in the transmission buffer.

(ステップS110-13)
メインCPU300aは、時短遊技状態の残り回数を示す回数コマンドを送信バッファにセットする回数コマンド設定処理を行う。
(Step S110-13)
The main CPU 300a performs a number command setting process of setting a number command indicating the remaining number of times of the time saving game state in the transmission buffer.

(ステップS110-15)
メインCPU300aは、変動パターン選択状態を示す変動パターン選択状態指定コマンドを送信バッファにセットする変動パターン選択状態指定コマンド設定処理を行う。
(Step S110-15)
The main CPU 300a performs a variation pattern selection state designation command setting process for setting a variation pattern selection state designation command indicating a variation pattern selection state in a transmission buffer.

(ステップS110-17)
メインCPU300aは、特別遊技管理フェーズを示す特図フェーズ指定コマンドを送信バッファにセットする特図フェーズ指定コマンド設定処理を行う。なお、特別遊技管理フェーズについては後述する。
(Step S110-17)
The main CPU 300a performs a special figure phase specification command setting process for setting a special figure phase specification command indicating a special game management phase in a transmission buffer. Incidentally, the special game management phase will be described later.

(ステップS110-19)
メインCPU300aは、特別遊技管理フェーズが特別図柄変動待ち状態であるかを判定する。その結果、特別図柄変動待ち状態であると判定した場合にはステップS110-21に処理を移し、特別図柄変動待ち状態ではないと判定した場合には当該サブコマンド群セット処理を終了する。
(Step S110-19)
The main CPU 300a determines whether the special game management phase is waiting for a special symbol variation. As a result, when it is determined that it is in the special symbol variation waiting state, the processing is moved to step S110-21, and when it is determined that it is not in the special symbol variation waiting state, the subcommand group set processing is terminated.

(ステップS110-21)
メインCPU300aは、客待ち指定コマンドを送信バッファにセットし、当該サブコマンド群セット処理を終了する。
(Step S110-21)
The main CPU 300a sets the customer waiting designation command in the transmission buffer, and terminates the subcommand group set process.

次に、主制御基板300における割込み処理について説明する。ここでは、電源断時退避処理(XINT割込み処理)およびタイマ割込み処理について説明する。 Next, interrupt processing in the main control board 300 will be described. Here, save processing (XINT interrupt processing) and timer interrupt processing at power failure will be described.

(主制御基板300の電源断時退避処理(XINT割込み処理))
図25は、同時回し参考例に係る主制御基板300における電源断時退避処理(XINT割込み処理)を説明するフローチャートである。メインCPU300aは、電源断検知回路を監視しており、電源電圧が所定値以下になると、CPU初期化処理に割り込んで電源断時退避処理を実行する。
(Evacuation processing (XINT interrupt processing) when main control board 300 is powered off)
FIG. 25 is a flowchart for explaining save processing (XINT interrupt processing) at power-off in the main control board 300 according to the simultaneous rotation reference example. The main CPU 300a monitors the power failure detection circuit, and when the power supply voltage drops below a predetermined value, it interrupts the CPU initialization process and executes the save process at power failure.

(ステップS300-1)
電源断予告信号が入力されると、メインCPU300aは、レジスタを退避する。
(Step S300-1)
When the power-off warning signal is input, the main CPU 300a saves the register.

(ステップS300-3)
メインCPU300aは、電源断予告信号をチェックする。
(Step S300-3)
The main CPU 300a checks the power-off warning signal.

(ステップS300-5)
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300-11に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300-7に処理を移す。
(Step S300-5)
The main CPU 300a determines whether a power-off warning signal is detected. As a result, when it is determined that the power cut warning signal is detected, the process is moved to step S300-11, and when it is determined that the power cut warning signal is not detected, the process is moved to step S300-7. .

(ステップS300-7)
メインCPU300aは、レジスタを復帰させる。
(Step S300-7)
The main CPU 300a restores the register.

(ステップS300-9)
メインCPU300aは、割込みを許可するための処理を行い、当該電源断時退避処理を終了する。
(Step S300-9)
The main CPU 300a performs processing for permitting an interrupt, and terminates the power-off save processing.

(ステップS300-11)
メインCPU300aは、出力ポートの出力を停止する出力ポートクリア処理を実行する。
(Step S300-11)
The main CPU 300a executes output port clear processing to stop output from the output port.

(ステップS300-13)
メインCPU300aは、チェックサムを算出して保存するチェックサム設定処理を実行する。
(Step S300-13)
The main CPU 300a executes checksum setting processing for calculating and storing a checksum.

(ステップS300-15)
メインCPU300aは、メインRAM300cへのアクセスを禁止するために必要なRAMプロテクト設定処理を実行する。
(Step S300-15)
The main CPU 300a executes RAM protection setting processing necessary to prohibit access to the main RAM 300c.

(ステップS300-17)
メインCPU300aは、電源断発生監視時間を設定すべく、ループカウンタのカウンタ値に所定の電源断検出信号検出回数をセットする。
(Step S300-17)
The main CPU 300a sets the counter value of the loop counter to the predetermined number of power failure detection signal detections in order to set the power failure occurrence monitoring time.

(ステップS300-19)
メインCPU300aは、電源断予告信号をチェックする。
(Step S300-19)
The main CPU 300a checks the power-off notice signal.

(ステップS300-21)
メインCPU300aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS300-17に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS300-23に処理を移す。
(Step S300-21)
The main CPU 300a determines whether a power-off warning signal is detected. As a result, when it is determined that the power cut warning signal is detected, the process is moved to step S300-17, and when it is determined that the power cut warning signal is not detected, the process is moved to step S300-23. .

(ステップS300-23)
メインCPU300aは、上記ステップS300-17でセットしたループカウンタの値を1減算する。
(Step S300-23)
The main CPU 300a subtracts 1 from the value of the loop counter set in step S300-17.

(ステップS300-25)
メインCPU300aは、ループカウンタのカウンタ値が0でないかを判定する。その結果、カウンタ値が0ではないと判定した場合にはステップS300-19に処理を移し、カウンタ値が0であると判定した場合には上記したCPU初期化処理(ステップS100)に移行する。
(Step S300-25)
The main CPU 300a determines whether or not the counter value of the loop counter is zero. As a result, if it is determined that the counter value is not 0, the process proceeds to step S300-19, and if it is determined that the counter value is 0, the above-described CPU initialization process (step S100) is performed.

なお、実際に電源断が生じた場合には、ステップS300-17~ステップS300-25をループしている間に遊技機100の稼働が停止する。 It should be noted that when the power is actually cut off, the operation of the game machine 100 is stopped while the steps S300-17 to S300-25 are being looped.

(主制御基板300のタイマ割込み処理)
図26は、同時回し参考例に係る主制御基板300におけるタイマ割込み処理を説明するフローチャートである。主制御基板300には、所定の周期(同時回し参考例では4ミリ秒、以下「4ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、CPU初期化処理(ステップS100)に割り込んで、以下のタイマ割込み処理が実行される。
(Timer interrupt processing of main control board 300)
FIG. 26 is a flowchart for explaining timer interrupt processing in the main control board 300 according to the simultaneous rotation reference example. The main control board 300 is provided with a reset clock pulse generation circuit that generates a clock pulse at predetermined intervals (4 milliseconds in the simultaneous rotation reference example, hereinafter referred to as "4 ms"). Then, when a clock pulse is generated by the reset clock pulse generation circuit, the CPU initialization process (step S100) is interrupted, and the following timer interrupt process is executed.

(ステップS400-1)
メインCPU300aは、レジスタを退避する。
(Step S400-1)
The main CPU 300a saves the register.

(ステップS400-3)
メインCPU300aは、割込みを許可するための処理を行う。
(Step S400-3)
The main CPU 300a performs processing for permitting interrupts.

(ステップS400-5)
メインCPU300aは、コモン出力バッファにセットされたコモンデータを出力ポートに出力し、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172、性能表示モニタ184を点灯制御するダイナミックポート出力処理を実行する。
(Step S400-5)
The main CPU 300a outputs the common data set in the common output buffer to the output port, the first special symbol indicator 160, the second special symbol indicator 162, the first special symbol reserve indicator 164, the second special symbol reserve. A dynamic port output process for controlling lighting of the display 166, the normal symbol display 168, the normal symbol reservation display 170, the right-handed information display 172, and the performance display monitor 184 is executed.

(ステップS400-7)
メインCPU300aは、各種の入力ポート情報を読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
(Step S400-7)
The main CPU 300a reads various types of input port information and executes port input processing for accurately acquiring the latest switch state.

(ステップS400-9)
メインCPU300aは、遊技機状態フラグのフラグ値をロードする。
(Step S400-9)
The main CPU 300a loads the flag value of the gaming machine state flag.

(ステップS400-11)
メインCPU300aは、上記ステップS400-9でロードしたフラグ値が00H(遊技可能状態)であるかを判定する。その結果、00Hであると判定した場合にはステップS400-15に処理を移し、00Hではないと判定した場合にはステップS400-13に処理を移す。
(Step S400-11)
The main CPU 300a determines whether the flag value loaded in step S400-9 is 00H (playable state). As a result, when it is determined to be 00H, the process moves to step S400-15, and when it is determined not to be 00H, the process moves to step S400-13.

(ステップS400-13)
メインCPU300aは、上記ステップS400-9でロードしたフラグ値が03H(設定異常状態)以上であるかを判定する。その結果、03H以上であると判定した場合にはステップS400-29に処理を移し、03H以上ではないと判定した場合にはステップS450に処理を移す。
(Step S400-13)
The main CPU 300a determines whether the flag value loaded in step S400-9 is 03H (set abnormal state) or higher. As a result, if it is determined that it is 03H or more, the process moves to step S400-29, and if it is determined that it is not 03H or more, the process moves to step S450.

(ステップS450)
メインCPU300aは、設定関連処理を実行し、ステップS400-29に処理を移す。なお、設定関連処理については後述する。
(Step S450)
The main CPU 300a executes setting-related processing, and shifts the processing to step S400-29. Note that the setting-related processing will be described later.

(ステップS400-15)
メインCPU300aは、各種タイマカウンタを更新するタイマ更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該主制御基板300のタイマ割込み処理の度に減算され、0になると減算を停止する。
(Step S400-15)
The main CPU 300a performs timer update processing for updating various timer counters. Here, the various timer counters are decremented each time the timer interrupt processing of the main control board 300 is executed, and the decrementation is stopped when it reaches 0, unless otherwise specified.

(ステップS400-17)
メインCPU300aは、上記ステップS100-61と同様、当たり図柄乱数用初期値更新乱数の更新処理を実行する。
(Step S400-17)
The main CPU 300a executes the process of updating the initial value update random number for the winning symbol random number in the same manner as in step S100-61.

(ステップS400-19)
メインCPU300aは、当たり図柄乱数を更新する処理を行う。具体的には、乱数カウンタを1加算して更新し、加算した結果が乱数範囲の最大値を超えた場合には、乱数カウンタを0に戻し、乱数カウンタが1周した場合には、その時の当たり図柄乱数用初期値更新乱数の値から乱数を更新する。
(Step S400-19)
The main CPU 300a performs a process of updating the winning symbol random number. Specifically, the random number counter is updated by adding 1, and if the result of the addition exceeds the maximum value of the random number range, the random number counter is reset to 0. The random number is updated from the value of the initial value update random number for the winning design random number.

なお、詳しい説明は省略するが、同時回し参考例では、大当たり決定乱数および当たり決定乱数は、主制御基板300に内蔵されたハードウェア乱数生成部によって更新されるハードウェア乱数を用いている。ハードウェア乱数生成部は、大当たり決定乱数および当たり決定乱数を、いずれも一定の規則にしたがって更新し、乱数列が一巡するごとに自動的に乱数列を変更するとともに、システムリセット毎にスタート値を変更している。 Although detailed description is omitted, in the simultaneous spinning reference example, the jackpot determination random number and the winning determination random number use hardware random numbers updated by a hardware random number generator built in the main control board 300. The hardware random number generator updates both the jackpot determined random numbers and the winning determined random numbers according to a fixed rule, automatically changes the random number sequence each time the random number sequence completes a cycle, and resets the start value each time the system is reset. are changing.

(ステップS500)
メインCPU300aは、第1固定始動口検出スイッチ120As、第1可変始動口検出スイッチ120Bs、第2始動口検出スイッチ122s、ゲート検出スイッチ124s、普図作動口検出スイッチ125s、第1大入賞口検出スイッチ126s、第2大入賞口検出スイッチ128sから信号の入力があったか否か判定するスイッチ管理処理を実行する。なお、このスイッチ管理処理の詳細については後述する。
(Step S500)
The main CPU 300a includes a first fixed start opening detection switch 120As, a first variable start opening detection switch 120Bs, a second start opening detection switch 122s, a gate detection switch 124s, a normal figure operation opening detection switch 125s, and a first big winning opening detection switch. 126s, a switch management process for determining whether or not a signal has been input from the second big winning opening detection switch 128s is executed. The details of this switch management processing will be described later.

(ステップS600)
メインCPU300aは、特別遊技のうちの特2保留に基づく特別図柄の変動表示を進行制御するための特別遊技管理処理を実行する。なお、この特別遊技管理処理の詳細については後述する。
(Step S600)
The main CPU 300a executes a special game management process for controlling the progress of the variable display of the special symbols based on the special game reserved 2. The details of this special game management process will be described later.

(ステップS600)
メインCPU300aは、特別遊技のうちの特1保留に基づく特別図柄の変動表示を進行制御するための特別遊技管理処理を実行する。なお、ここでは、特2保留に基づく特別図柄の変動表示を進行制御するための特別遊技管理処理と同一のプログラム(モジュール)が読み出されて、特1保留に基づく特別図柄の変動表示を進行制御するための特別遊技管理処理が実行されることになる。
(Step S600)
The main CPU 300a executes a special game management process for controlling the progress of the variable display of the special symbols based on the special game reserved 1st. In addition, here, the same program (module) as the special game management processing for controlling the progress of the variable display of the special symbols based on the special 2 reserve is read out, and the variable display of the special symbols based on the special 1 reserve is progressed. A special game management process for controlling is executed.

(ステップS700)
メインCPU300aは、特別遊技における大役遊技および小当たり遊技を進行制御するための特別電動役物遊技管理処理を実行する。なお、この特別電動役物遊技管理処理の詳細については後述する。
(Step S700)
The main CPU 300a executes a special electric role product game management process for controlling the progress of the big winning game and the small winning game in the special game. The details of this special electric role product game management process will be described later.

(ステップS800)
メインCPU300aは、上記の普通遊技を進行制御するための普通遊技管理処理を実行する。なお、この普通遊技管理処理の詳細については後述する。
(Step S800)
The main CPU 300a executes normal game management processing for controlling the progress of the normal game. The details of this normal game management process will be described later.

(ステップS400-21)
メインCPU300aは、各種エラーの判定およびエラー判定結果に応じた設定を行うためのエラー管理処理を実行する。
(Step S400-21)
The main CPU 300a executes error management processing for determining various errors and making settings according to the error determination results.

(ステップS400-23)
メインCPU300aは、一般入賞口検出スイッチ118s、第1始動口検出スイッチ120s、第2始動口検出スイッチ122s、第1大入賞口検出スイッチ126s、第2大入賞口検出スイッチ128sのチェックを行い、該当する賞球制御用のカウンタ等を加算するための入賞口スイッチ処理を実行する。
(Step S400-23)
The main CPU 300a checks the general winning opening detection switch 118s, the first starting opening detection switch 120s, the second starting opening detection switch 122s, the first big winning opening detection switch 126s, and the second big winning opening detection switch 128s. Execute winning opening switch processing for adding a counter or the like for controlling winning balls.

(ステップS400-25)
メインCPU300aは、上記ステップS400-23でセットされた賞球制御用のカウンタのカウンタ値等に基づく払出コマンドの作成および送信を行うための払出制御管理処理を実行する。
(Step S400-25)
The main CPU 300a executes a payout control management process for creating and transmitting a payout command based on the counter value of the prize ball control counter set in step S400-23.

(ステップS400-27)
メインCPU300aは、遊技球の発射位置、すなわち、第1遊技領域116aおよび第2遊技領域116bのどちらに遊技球を発射させるかを指示する発射位置指定コマンドを副制御基板330に送信するための発射位置指定管理処理を実行する。
(Step S400-27)
The main CPU 300a sends a launching position specification command to the sub control board 330 to instruct the launching position of the game ball, that is, to which of the first game area 116a and the second game area 116b the game ball is to be launched. Execute position designation management processing.

(ステップS400-29)
メインCPU300aは、遊技情報出力端子板312から外部へ出力する外部情報用の出力データをセットするための外部情報管理処理を実行する。
(Step S400-29)
The main CPU 300a executes external information management processing for setting output data for external information to be output from the game information output terminal board 312 to the outside.

(ステップS400-31)
メインCPU300aは、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172等の各種表示器(LED)を点灯制御するための表示データを、各コモンに対応した出力バッファにセットするLED表示設定処理を実行する。
(Step S400-31)
The main CPU 300a has a first special symbol display 160, a second special symbol display 162, a first special symbol reservation display 164, a second special symbol reservation display 166, a normal symbol display 168, and a normal symbol reservation display 170. , LED display setting processing for setting display data for controlling the lighting of various indicators (LEDs) such as the right-handed information indicator 172 to the output buffer corresponding to each common.

(ステップS400-33)
メインCPU300aは、普通電動役物ソレノイド120c、第1大入賞口ソレノイド126c、第2大入賞口ソレノイド128cのソレノイド出力イメージを合成し、出力ポートバッファに格納するためのソレノイド出力イメージ合成処理を実行する。
(Step S400-33)
The main CPU 300a synthesizes the solenoid output images of the normal electric accessory solenoid 120c, the first big winning opening solenoid 126c, and the second big winning opening solenoid 128c, and executes the solenoid output image synthesis processing for storing in the output port buffer. .

(ステップS400-35)
メインCPU300aは、各出力ポートバッファに格納されたコモン出力バッファの値を出力ポートに出力するためのポート出力処理を実行する。
(Step S400-35)
The main CPU 300a executes port output processing for outputting the common output buffer value stored in each output port buffer to the output port.

(ステップS400-37)
メインCPU300aは、割込みを禁止するための処理を行う。
(Step S400-37)
The main CPU 300a performs processing for prohibiting interrupts.

(ステップS400-39)
メインCPU300aは、メインRAM300cの使用外領域を用いて、性能表示モニタ184に表示するベース比率を算出するための処理を行い、算出したベース比率を性能表示モニタ184に表示するためのコモンデータをコモン出力バッファにセットする性能表示モニタ制御処理を実行する。なお、性能表示モニタ制御処理においては、所定期間ごとにベース比率が算出される。ここで、性能表示モニタ184には、現在の期間のベース比率と、それ以前の期間のベース比率とが所定時間ごとに切り替え表示されてもよい。また、所定の操作に応じて、性能表示モニタ184に表示されるベース比率が切り替わってもよい。
(Step S400-39)
The main CPU 300a uses the non-use area of the main RAM 300c to perform processing for calculating the base ratio to be displayed on the performance display monitor 184, and common data for displaying the calculated base ratio on the performance display monitor 184. Executes performance display monitor control processing to be set in the output buffer. Note that in the performance display monitor control process, the base ratio is calculated for each predetermined period. Here, the performance display monitor 184 may alternately display the base ratio for the current period and the base ratio for the previous period at predetermined time intervals. Also, the base ratio displayed on the performance display monitor 184 may be switched according to a predetermined operation.

(ステップS400-41)
メインCPU300aは、レジスタを復帰してタイマ割込み処理を終了する。
(Step S400-41)
The main CPU 300a restores the register and terminates the timer interrupt processing.

図27は、同時回し参考例に係る設定関連処理(S450)を説明するフローチャートである。 FIG. 27 is a flowchart for explaining the setting-related processing (S450) according to the simultaneous rotation reference example.

(ステップS450-1)
メインCPU300aは、遊技機状態フラグのフラグ値が01H(設定変更状態)であるかを判定する。その結果、01Hであると判定した場合にはステップS450-3に処理を移し、01Hではないと判定した場合にはステップS450-15に処理を移す。
(Step S450-1)
The main CPU 300a determines whether the flag value of the gaming machine state flag is 01H (setting change state). As a result, if it is determined to be 01H, the process moves to step S450-3, and if it is determined not to be 01H, the process moves to step S450-15.

(ステップS450-3)
メインCPU300aは、設定値バッファに記憶されている登録設定値を所定の処理領域にロードする。
(Step S450-3)
The main CPU 300a loads the registered set values stored in the set value buffer into a predetermined processing area.

(ステップS450-5)
メインCPU300aは、RAMクリアスイッチ182sが押下されたか(RAMクリア操作信号が入力されているか)を判定する。その結果、RAMクリアスイッチ182sが押下されていると判定した場合にはステップS450-7に処理を移し、RAMクリアスイッチ182sが押下されていないと判定した場合にはステップS450-9に処理を移す。
(Step S450-5)
The main CPU 300a determines whether the RAM clear switch 182s has been pressed (whether a RAM clear operation signal has been input). As a result, when it is determined that the RAM clear switch 182s has been pressed, the process proceeds to step S450-7, and when it is determined that the RAM clear switch 182s has not been pressed, the process proceeds to step S450-9. .

(ステップS450-7)
メインCPU300aは、処理領域の設定値に1を加算する。
(Step S450-7)
The main CPU 300a adds 1 to the set value of the processing area.

(ステップS450-9)
メインCPU300aは、処理領域の設定値が1~6の範囲であるかを判定する。その結果、設定値が1~6の範囲であると判定した場合にはステップS450-13に処理を移し、設定値が1~6の範囲ではないと判定した場合にはステップS450-11に処理を移す。
(Step S450-9)
The main CPU 300a determines whether the set value of the processing area is in the range of 1-6. As a result, when it is determined that the set value is within the range of 1 to 6, the process proceeds to step S450-13, and when it is determined that the set value is not within the range of 1 to 6, the process proceeds to step S450-11. to move.

(ステップS450-11)
メインCPU300aは、処理領域の設定値を1にセットする。
(Step S450-11)
The main CPU 300a sets the set value of the processing area to one.

(ステップS450-13)
メインCPU300aは、処理領域の設定値を設定値バッファにセットする。
(Step S450-13)
The main CPU 300a sets the set value of the processing area in the set value buffer.

(ステップS450-15)
メインCPU300aは、設定変更スイッチ180sがオンしているかを判定する。その結果、設定変更スイッチ180sがオンしていると判定した場合には当該設定関連処理を終了し、設定変更スイッチ180sはオンしていないと判定した場合にはステップS450-17に処理を移す。
(Step S450-15)
The main CPU 300a determines whether the setting change switch 180s is turned on. As a result, if it is determined that the setting change switch 180s is turned on, the setting-related processing is terminated, and if it is determined that the setting change switch 180s is not turned on, the process proceeds to step S450-17.

(ステップS450-17)
メインCPU300aは、設定関連処理の終了を示す設定関連終了指定コマンドを送信バッファにセットする。
(Step S450-17)
The main CPU 300a sets a setting-related end designation command indicating the end of the setting-related processing in the transmission buffer.

(ステップS110)
メインCPU300aは、図24のサブコマンド群セット処理を実行する。すなわち、設定関連処理が実行された場合、その終了時に、機種コマンド、設定値指定コマンド、特図1保留指定コマンド、特図2保留指定コマンド、回数コマンド、変動パターン選択状態指定コマンド、特図フェーズ指定コマンド、客待ち指定コマンドが副制御基板330に送信されることとなる。
(Step S110)
The main CPU 300a executes the subcommand group set process of FIG. That is, if the setting related process is executed, at the end, model command, setting value designation command, special figure 1 reserve designation command, special figure 2 reserve designation command, number of times command, variation pattern selection state designation command, special figure phase A designation command and a customer waiting designation command are transmitted to the sub control board 330 .

(ステップS450-19)
メインCPU300aは、遊技機状態フラグに00H(遊技可能状態)をセットし、当該設定関連処理を終了する。
(Step S450-19)
The main CPU 300a sets the gaming machine state flag to 00H (game ready state), and terminates the setting-related processing.

以上のように、同時回し参考例によれば、中枠104が開放され、設定変更スイッチ180sがオンされ、RAMクリアボタンが押下操作された状態で、正常に電源投入がなされると、CPU初期化処理(図22)において、遊技機状態フラグに01H(設定変更状態)がセットされる。その後、タイマ割込み処理が実行されるが、遊技機状態フラグに01H(設定変更状態)がセットされているため、遊技の進行に係る全ての処理(図26のステップS400-15~ステップS400-27)が停止され、設定関連処理が実行される。 As described above, according to the simultaneous turning reference example, when the power is normally turned on with the middle frame 104 opened, the setting change switch 180s turned on, and the RAM clear button depressed, the CPU initializes. In the change processing (FIG. 22), 01H (setting change state) is set to the gaming machine state flag. After that, timer interrupt processing is executed, but since 01H (setting change state) is set in the gaming machine state flag, all processing related to the progress of the game (steps S400-15 to S400-27 in FIG. 26) ) is stopped and configuration related processing is executed.

設定関連処理は、設定変更スイッチ180sがオンしている間、繰り返し実行され、この設定関連処理中は、RAMクリアボタンの押下操作が、登録設定値の設定変更操作として受け付けられる。すなわち、設定変更操作を受け付ける設定変更処理(S450-1~S450-13)中は、設定変更操作に応じて、設定値バッファに記憶する登録設定値が、複数段階設けられた設定値のいずれかに切り替えられる。 The setting-related processing is repeatedly executed while the setting change switch 180s is on, and during this setting-related processing, the operation of pressing the RAM clear button is accepted as the setting change operation of the registered set value. That is, during the setting change process (S450-1 to S450-13) for accepting the setting change operation, the registered setting value stored in the setting value buffer is one of the setting values provided in a plurality of stages according to the setting change operation. can be switched to

そして、遊技機状態フラグに01H(設定変更状態)がセットされている状態で、設定変更スイッチ180sがオフに切り替わると、設定変更処理が終了となり、遊技機状態フラグに00H(遊技可能状態)がセットされる。これにより、次のタイマ割込み処理から、遊技の進行に係る処理が実行可能となる。 When the setting change switch 180s is turned off while the gaming machine state flag is set to 01H (setting change state), the setting change processing is terminated and the gaming machine state flag is set to 00H (playable state). set. As a result, from the next timer interrupt process, the process relating to the progress of the game can be executed.

ここで、同時回し参考例の設定関連処理では、RAMクリアボタンの押下操作、すなわち、登録設定値の設定変更操作の受け付け終了後に、サブコマンド群セット処理において、登録設定値に対応する設定値指定コマンドが副制御基板330に送信される。一方で、設定変更操作の受け付け中は、設定値指定コマンドが副制御基板330に送信されることはない。このように、設定変更操作の受け付け中は、設定値指定コマンドを送信せずに、設定変更操作の受け付けが終了し、遊技の進行が可能な状態に移行する場合に、設定値指定コマンドを送信することで、登録設定値が不正に取得されるリスクを低減することができる。 Here, in the setting-related processing of the simultaneous rotation reference example, after the operation of pressing the RAM clear button, that is, after accepting the setting change operation of the registered setting value, in the subcommand group set processing, the setting value corresponding to the registered setting value is specified. A command is sent to the sub control board 330 . On the other hand, no setting value designation command is transmitted to the sub control board 330 while the setting change operation is being accepted. In this way, the setting value designation command is not transmitted while the setting change operation is being accepted, and the setting value designation command is transmitted when the acceptance of the setting change operation is completed and the state shifts to a state in which the game can be progressed. By doing so, it is possible to reduce the risk of unauthorized acquisition of registered setting values.

また、同時回し参考例では、01H(設定変更状態)を少なくとも含む複数のフラグ値が切り替えられる。そして、遊技機状態フラグに01H(設定変更状態)がセットされている場合に設定関連処理が実行可能となり、かつ、遊技の進行が停止される。このように、遊技の進行中に設定関連処理が実行されることがないため、遊技の進行中に設定値指定コマンドが送信されることもなく、登録設定値が不正に取得されるリスクが低減される。 Further, in the simultaneous turning reference example, a plurality of flag values including at least 01H (setting change state) are switched. Then, when 01H (setting change state) is set in the gaming machine state flag, the setting-related processing can be executed and the progress of the game is stopped. In this way, since the setting-related processing is not executed while the game is in progress, the setting value designation command is not transmitted while the game is in progress, and the risk of illegally acquiring the registered setting values is reduced. be done.

次に、上記したタイマ割込み処理のうち、ステップS500のスイッチ管理処理、ステップS600の特別遊技管理処理、ステップS700の特別電動役物遊技管理処理、ステップS800の普通遊技管理処理について、詳細に説明する。 Next, among the above timer interrupt processes, the switch management process at step S500, the special game management process at step S600, the special electric role product game management process at step S700, and the normal game management process at step S800 will be described in detail. .

図28は、同時回し参考例に係る主制御基板300におけるスイッチ管理処理(ステップS500)を説明するフローチャートである。 FIG. 28 is a flowchart for explaining switch management processing (step S500) in the main control board 300 according to the simultaneous rotation reference example.

(ステップS500-1)
メインCPU300aは、ゲート検出スイッチオン検出時であるか、すなわち、ゲート124を遊技球が通過してゲート検出スイッチ124sからの検出信号がオンされたかを判定する。その結果、ゲート検出スイッチオン検出時であると判定した場合にはステップS510に処理を移し、ゲート検出スイッチオン検出時ではないと判定した場合にはステップS500-7に処理を移す。
(Step S500-1)
The main CPU 300a determines whether the gate detection switch ON is detected, that is, whether the game ball passes through the gate 124 and the detection signal from the gate detection switch 124s is turned ON. As a result, when it is determined that the gate detection switch-on is detected, the process proceeds to step S510, and when it is determined that the gate detection switch-on is not detected, the process proceeds to step S500-7.

(ステップS510)
メインCPU300aは、ゲート124への遊技球の通過に基づいてゲート通過処理を実行する。なお、このゲート通過処理の詳細については後述する。
(Step S510)
The main CPU 300 a executes gate passage processing based on passage of the game ball through the gate 124 . The details of this gate passage processing will be described later.

(ステップS500-3)
メインCPU300aは、普図作動口検出スイッチオン検出時であるか、すなわち、普図作動口125に遊技球が入球して普図作動口検出スイッチ125sからの検出信号がオンされたかを判定する。その結果、普図作動口検出スイッチオン検出時であると判定した場合にはステップS510に処理を移し、普図作動口検出スイッチオン検出時ではないと判定した場合にはステップS500-5に処理を移す。
(Step S500-3)
The main CPU 300a determines whether the normal pattern operation opening detection switch is turned on, that is, whether a game ball enters the normal pattern operation opening 125 and the detection signal from the normal pattern operation opening detection switch 125s is turned on. . As a result, if it is determined that the normal pattern operation port detection switch is turned on, the process proceeds to step S510, and if it is determined that the normal pattern operation port detection switch is not turned on, the process proceeds to step S500-5. to move.

(ステップS510)
メインCPU300aは、普図作動口125への遊技球の入球に基づいてゲート通過処理を実行する。
(Step S510)
The main CPU 300 a executes gate passing processing based on the entry of a game ball into the normal pattern operation opening 125 .

(ステップS500-5)
メインCPU300aは、第1固定始動口検出スイッチオン検出時であるか、すなわち、第1固定始動口120Aに遊技球が入球して第1固定始動口検出スイッチ120Asから検出信号が入力されたかを判定する。その結果、第1固定始動口検出スイッチオン検出時であると判定した場合にはステップS520に処理を移し、第1固定始動口検出スイッチオン検出時ではないと判定した場合にはステップS500-7に処理を移す。
(Step S500-5)
The main CPU 300a detects whether the first fixed starting hole detection switch is turned on, that is, whether a game ball enters the first fixed starting hole 120A and a detection signal is input from the first fixed starting hole detection switch 120As. judge. As a result, if it is determined that it is time to detect the first fixed starting port detection switch ON, the process proceeds to step S520, and if it is determined that it is not time to detect the first fixed starting port detection switch ON, step S500-7. to process.

(ステップS520)
メインCPU300aは、第1固定始動口120Aへの遊技球の入球に基づいて第1始動口通過処理を実行する。なお、この第1始動口通過処理の詳細については後述する。
(Step S520)
The main CPU 300a executes the first starting hole passing process based on the entry of the game ball into the first fixed starting hole 120A. The details of the first starting opening passage processing will be described later.

(ステップS500-7)
メインCPU300aは、第1可変始動口検出スイッチオン検出時であるか、すなわち、第1可変始動口120Bに遊技球が入球して第1可変始動口検出スイッチ120Bsから検出信号が入力されたかを判定する。その結果、第1可変始動口検出スイッチオン検出時であると判定した場合にはステップS520に処理を移し、第1可変始動口検出スイッチオン検出時ではないと判定した場合にはステップS500-11に処理を移す。
(Step S500-7)
The main CPU 300a detects whether the first variable starting hole detection switch is turned on, that is, whether a game ball enters the first variable starting hole 120B and a detection signal is input from the first variable starting hole detection switch 120Bs. judge. As a result, when it is determined that the first variable starter detection switch is turned on, the process proceeds to step S520, and when it is determined that the first variable starter detection switch is not turned on, step S500-11. to process.

(ステップS520)
メインCPU300aは、第1可変始動口120Bへの遊技球の入球に基づいて第1始動口通過処理を実行する。なお、この第1始動口通過処理の詳細については後述する。
(Step S520)
The main CPU 300a executes the first starting opening passing process based on the entry of the game ball into the first variable starting opening 120B. The details of the first starting opening passage processing will be described later.

(ステップS500-9)
メインCPU300aは、第1可変始動口120Bへの遊技球の入球が適正になされたものであるかを判定し、遊技球の入球が適正になされていないと判定した場合には、第1可変始動口120Bへの不正な遊技球の入球を示す普電不正入賞エラー発生指定コマンドを副制御基板330に送信するための普通電動役物入賞時確認処理を実行する。
(Step S500-9)
The main CPU 300a determines whether the game ball has been properly entered into the first variable starting port 120B, and if it is determined that the game ball has not been properly entered, the first A confirmation process at the time of normal electric accessary prize winning is executed for transmitting to the sub control board 330 a general electric fraudulent prize winning error generation designation command indicating the entry of an illegal game ball to the variable start port 120B.

(ステップS500-11)
メインCPU300aは、第2始動口検出スイッチオン検出時であるか、すなわち、第2始動口122に遊技球が入球して第2始動口検出スイッチ122sから検出信号が入力されたかを判定する。その結果、第2始動口検出スイッチオン検出時であると判定した場合にはステップS530に処理を移し、第2始動口検出スイッチオン検出時ではないと判定した場合にはステップS500-13に処理を移す。
(Step S500-11)
The main CPU 300a determines whether or not the second starting hole detection switch is turned on, that is, whether a game ball enters the second starting hole 122 and a detection signal is input from the second starting hole detection switch 122s. As a result, if it is determined that it is time to detect the second starting port detection switch ON, the process proceeds to step S530, and if it is determined that it is not time to detect the second starting port detection switch ON, the process proceeds to step S500-13. to move.

(ステップS530)
メインCPU300aは、第2始動口122への遊技球の入球に基づいて第2始動口通過処理を実行する。なお、この第2始動口通過処理の詳細については後述する。
(Step S530)
The main CPU 300 a executes the second starting hole passing process based on the entry of the game ball into the second starting hole 122 . The details of the second starting opening passage processing will be described later.

(ステップS500-13)
メインCPU300aは、大入賞口検出スイッチオン検出時であるか、すなわち、第1大入賞口126または第2大入賞口128に遊技球が入球して第1大入賞口検出スイッチ126sまたは第2大入賞口検出スイッチ128sから検出信号が入力されたかを判定する。その結果、大入賞口検出スイッチオン検出時であると判定した場合にはステップS540に処理を移し、大入賞口検出スイッチオン検出時ではないと判定した場合には当該スイッチ管理処理を終了する。
(Step S500-13)
The main CPU 300a detects when the big winning hole detection switch is turned on, that is, when a game ball enters the first big winning hole 126 or the second big winning hole 128, the first big winning hole detection switch 126s or the second big winning hole detection switch 126s or the second big winning hole detection switch 126s It is determined whether or not a detection signal is input from the big winning opening detection switch 128s. As a result, if it is determined that the large winning opening detection switch is turned on, the process proceeds to step S540, and if it is determined that the large winning opening detection switch is not turned on, the switch management process is terminated.

(ステップS540)
メインCPU300aは、第1大入賞口126または第2大入賞口128への遊技球の入球が適正になされたものであるかを判定し、遊技球の入球が適正になされたと判定した場合には、第1大入賞口126または第2大入賞口128への遊技球の入球を示す大入賞口入球コマンドを副制御基板330に送信するための大入賞口通過処理を実行する。なお、この大入賞口通過処理の詳細については後述する。
(Step S540)
When the main CPU 300a determines whether the game ball has been properly entered into the first big winning hole 126 or the second big winning hole 128, and determines that the game ball has been properly entered. , a large winning hole passing process for transmitting a large winning hole entry command indicating the entry of a game ball into the first big winning hole 126 or the second big winning hole 128 to the sub control board 330 is executed. The details of this special winning opening passage processing will be described later.

図29は、同時回し参考例に係る主制御基板300におけるゲート通過処理(ステップS510)を説明するフローチャートである。 FIG. 29 is a flowchart for explaining the gate passing process (step S510) in the main control board 300 according to the simultaneous turning reference example.

(ステップS510-1)
メインCPU300aは、ハードウェア乱数生成部によって更新された当たり決定乱数をロードする。
(Step S510-1)
The main CPU 300a loads the winning determination random number updated by the hardware random number generator.

(ステップS510-3)
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値が最大値以上であるか、つまり、普通図柄保留球数カウンタのカウンタ値が4以上であるかを判定する。その結果、普通図柄保留球数カウンタのカウンタ値が最大値以上であると判定した場合には当該ゲート通過処理を終了し、普通図柄保留球数カウンタは最大値以上ではないと判定した場合にはステップS510-5に処理を移す。
(Step S510-3)
The main CPU 300a determines whether the counter value of the normal symbol reserved ball number counter is greater than or equal to the maximum value, that is, whether the counter value of the normal symbol reserved ball number counter is 4 or more. As a result, when it is determined that the counter value of the normal symbol reserved ball number counter is equal to or higher than the maximum value, the gate passing process is terminated, and when it is determined that the normal symbol reserved ball number counter is not equal to or higher than the maximum value. The process moves to step S510-5.

(ステップS510-5)
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
(Step S510-5)
The main CPU 300a updates the counter value of the normal symbol reserved ball number counter to a value obtained by adding "1" to the current counter value.

(ステップS510-7)
メインCPU300aは、普図保留記憶領域の4つの記憶部のうち、取得した当たり決定乱数をセーブする対象となる対象記憶部を算定する。
(Step S510-7)
The main CPU 300a calculates a target storage unit for saving the acquired winning determination random number, among the four storage units of the normal-pattern reservation storage area.

(ステップS510-9)
メインCPU300aは、上記ステップS510-1で取得した当たり決定乱数を、上記ステップS510-7で算定した対象記憶部にセーブする。
(Step S510-9)
The main CPU 300a saves the winning determination random number obtained in step S510-1 in the target storage section calculated in step S510-7.

(ステップS510-11)
メインCPU300aは、普図保留記憶領域に記憶されている普図保留数を示す普図保留指定コマンドを送信バッファにセットし、当該ゲート通過処理を終了する。
(Step S510-11)
The main CPU 300a sets a general pattern reservation specification command indicating the general pattern reservation number stored in the general pattern reservation storage area in the transmission buffer, and ends the gate passage processing.

図30は、同時回し参考例に係る主制御基板300における第1始動口通過処理(ステップS520)を説明するフローチャートである。 FIG. 30 is a flow chart for explaining the first starting opening passing process (step S520) in the main control board 300 according to the simultaneous turning reference example.

(ステップS520-1)
メインCPU300aは、特別図柄識別値として「00H」をセットする。なお、特別図柄識別値は、保留種別として特1保留および特2保留のいずれであるかを識別するためのもので、特別図柄識別値(00H)は特1保留を示し、特別図柄識別値(01H)は特2保留を示す。
(Step S520-1)
The main CPU 300a sets "00H" as the special symbol identification value. In addition, the special symbol identification value is for identifying whether the reservation type is special 1 reservation or special 2 reservation, special symbol identification value (00H) indicates special 1 reservation, special symbol identification value ( 01H) indicates special 2 reservation.

(ステップS520-3)
メインCPU300aは、特別図柄1保留球数カウンタのアドレスをセットする。
(Step S520-3)
The main CPU 300a sets the address of the special symbol 1 reserved ball number counter.

(ステップS535)
メインCPU300aは、特別図柄乱数取得処理を実行し、当該第1始動口通過処理を終了する。なお、この特別図柄乱数取得処理は、第2始動口通過処理(ステップS530)と共通のモジュールを利用して実行される。したがって、特別図柄乱数取得処理の詳細は、第2始動口通過処理の説明後に説明する。
(Step S535)
The main CPU 300a executes the special symbol random number acquisition process, and ends the first starting opening passage process. It should be noted that this special symbol random number acquisition process is executed using a module common to the second start opening passage process (step S530). Therefore, the details of the special symbol random number acquisition process will be described after the description of the second start opening passage process.

図31は、同時回し参考例に係る主制御基板300における第2始動口通過処理(ステップS530)を説明するフローチャートである。 FIG. 31 is a flow chart for explaining the second start opening passing process (step S530) in the main control board 300 according to the simultaneous turning reference example.

(ステップS530-1)
メインCPU300aは、特別図柄識別値として「01H」をセットする。
(Step S530-1)
The main CPU 300a sets "01H" as the special symbol identification value.

(ステップS530-3)
メインCPU300aは、特別図柄2保留球数カウンタのアドレスをセットする。
(Step S530-3)
The main CPU 300a sets the address of the special symbol 2 reserved ball number counter.

(ステップS535)
メインCPU300aは、後述する特別図柄乱数取得処理を実行し、当該第2始動口通過処理を終了する。
(Step S535)
The main CPU 300a executes a special symbol random number acquisition process, which will be described later, and ends the second start opening passage process.

図32は、同時回し参考例に係る主制御基板300における特別図柄乱数取得処理(ステップS535)を説明するフローチャートである。この特別図柄乱数取得処理は、上記した第1始動口通過処理(ステップS520)および第2始動口通過処理(ステップS530)において、共通のモジュールを用いて実行される。 FIG. 32 is a flowchart for explaining the special symbol random number acquisition process (step S535) in the main control board 300 according to the simultaneous turning reference example. This special symbol random number acquisition process is executed using a common module in the above-described first starting opening passing process (step S520) and second starting opening passing process (step S530).

(ステップS535-1)
メインCPU300aは、上記ステップS520-1またはステップS530-1でセットした特別図柄識別値をロードする。
(Step S535-1)
The main CPU 300a loads the special symbol identification value set in step S520-1 or step S530-1.

(ステップS535-3)
メインCPU300aは、対象特別図柄保留球数をロードする。ここでは、上記ステップS535-1でロードした特別図柄識別値が「00H」であれば、特別図柄1保留球数カウンタのカウンタ値、すなわち、特1保留数をロードする。また、上記ステップS535-1でロードした特別図柄識別値が「01H」であれば、特別図柄2保留球数カウンタのカウンタ値、すなわち、特2保留数をロードする。
(Step S535-3)
The main CPU 300a loads the number of target special symbol reserved balls. Here, if the special symbol identification value loaded in step S535-1 is "00H", the counter value of the special symbol 1 reserved ball number counter, that is, the special 1 reserved number is loaded. Also, if the special symbol identification value loaded in step S535-1 is "01H", the counter value of the special symbol 2 reserved ball number counter, that is, the special 2 reserved number is loaded.

(ステップS535-5)
メインCPU300aは、ハードウェア乱数生成部によって更新された大当たり決定乱数をロードする。
(Step S535-5)
The main CPU 300a loads the jackpot determination random number updated by the hardware random number generator.

(ステップS535-7)
メインCPU300aは、上記ステップS535-3でロードした対象特別図柄保留球数が上限値以上であるかを判定する。その結果、上限値以上であると判定した場合には、当該特別図柄乱数取得処理を終了し、上限値以上ではないと判定した場合には、ステップS535-9に処理を移す。
(Step S535-7)
The main CPU 300a determines whether or not the number of target special symbol reserved balls loaded in step S535-3 is equal to or greater than the upper limit. As a result, when it is determined that it is above the upper limit value, the special symbol random number acquisition process is terminated, and when it is determined that it is not above the upper limit value, the process is moved to step S535-9.

(ステップS535-9)
メインCPU300aは、対象特別図柄保留球数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
(Step S535-9)
The main CPU 300a updates the counter value of the target special symbol reserved ball number counter to a value obtained by adding "1" to the current counter value.

(ステップS535-11)
メインCPU300aは、特図保留記憶領域の記憶部のうち、取得した大当たり決定乱数をセーブする対象となる対象記憶部を算定する。
(Step S535-11)
The main CPU 300a calculates a target storage section for saving the acquired jackpot decision random number among the storage sections of the special figure reservation storage area.

(ステップS535-13)
メインCPU300aは、上記ステップS535-5でロードした大当たり決定乱数、上記ステップS400-19で更新された当たり図柄乱数、上記ステップS100-69で更新された変動パターン乱数を取得し、上記ステップS535-11で算定した対象記憶部に格納する。
(Step S535-13)
The main CPU 300a acquires the jackpot determination random number loaded in step S535-5, the winning pattern random number updated in step S400-19, and the variation pattern random number updated in step S100-69, and obtains the variation pattern random number updated in step S535-11. Store in the target storage unit calculated in .

(ステップS535-15)
メインCPU300aは、特別図柄1保留球数カウンタおよび特別図柄2保留球数カウンタのカウンタ値をロードする。
(Step S535-15)
The main CPU 300a loads the counter values of the special symbol 1 reserved ball number counter and the special symbol 2 reserved ball number counter.

(ステップS535-17)
メインCPU300aは、上記ステップS535-15でロードしたカウンタ値に基づいて、特図保留指定コマンドを送信バッファにセットする。ここでは、特別図柄1保留球数カウンタのカウンタ値(特1保留数)に基づいて特図1保留指定コマンドをセットし、特別図柄2保留球数カウンタのカウンタ値(特2保留数)に基づいて特図2保留指定コマンドをセットする。これにより、特1保留または特2保留が記憶されるたびに、特1保留数および特2保留数が副制御基板330に伝達されることとなる。
(Step S535-17)
The main CPU 300a sets the special figure reserve designation command in the transmission buffer based on the counter value loaded in step S535-15. Here, based on the counter value of the special symbol 1 reserved ball number counter (special 1 reserved number), the special figure 1 reserved designation command is set, and based on the counter value of the special symbol 2 reserved ball number counter (special 2 reserved number) to set the special figure 2 hold designation command. As a result, the number of special 1 reservations and the number of special 2 reservations are transmitted to the sub control board 330 each time special 1 reservations or special 2 reservations are stored.

(ステップS536)
メインCPU300aは、取得時演出判定処理を行い、当該特別図柄乱数取得処理を終了する。この取得時演出判定処理では、大役抽選の結果や、変動パターン番号等が仮判定され、仮判定の結果に応じた先読み指定コマンドを副制御基板330に送信する。この取得時演出判定処理について、図33を用いて説明する。
(Step S536)
The main CPU 300a performs the effect determination process at the time of acquisition, and ends the special symbol random number acquisition process. In this acquisition time effect determination process, the result of the big role lottery, the variation pattern number, etc. are tentatively determined, and a prefetch designation command according to the result of the tentative determination is transmitted to the sub control board 330 . This effect determination process at the time of acquisition will be described with reference to FIG.

図33は、同時回し参考例に係る主制御基板300における取得時演出判定処理(ステップS536)を説明するフローチャートである。 FIG. 33 is a flowchart for explaining the effect determination process (step S536) at the time of acquisition in the main control board 300 according to the simultaneous turning reference example.

(ステップS536-1)
メインCPU300aは、設定中の設定値に基づいて、対応する大当たり決定乱数判定テーブルを選択する。具体的には、現在の遊技状態、および、設定中の設定値に基づいて、対応する大当たり決定乱数判定テーブルを選択する。そして、選択したテーブルと、上記ステップS535-13で対象記憶部に記憶した大当たり決定乱数とに基づいて、大当たり、小当たり、ハズレのいずれかを仮判定する特別図柄当たり仮判定処理を行う。
(Step S536-1)
The main CPU 300a selects a corresponding jackpot determination random number determination table based on the set value being set. Specifically, based on the current game state and the set value being set, the corresponding big hit determination random number determination table is selected. Then, based on the selected table and the big hit determination random number stored in the target storage unit in step S535-13, a special symbol winning temporary determination process for temporarily determining any one of big win, small win, and loss is performed.

(ステップS536-3)
メインCPU300aは、特別図柄を仮決定するための特別図柄図柄仮判定処理を実行する。ここでは、上記ステップS536-1の仮大役抽選の結果(特別図柄当たり仮判定処理によって導出された結果)が大当たりまたは小当たりであった場合には、上記ステップS535-13で対象記憶部に記憶した当たり図柄乱数、当選種別(大当たりであるか小当たりであるか)、保留種別をロードし、対応する当たり図柄乱数判定テーブルを選択して特別図柄判定データを抽出し、抽出した特別図柄判定データ(大当たり図柄または小当たり図柄の種別)をセーブする。また、上記ステップS536-1の仮大役抽選の結果がハズレであった場合には、所定のハズレ用の特別図柄判定データ(ハズレ図柄の種別)をセーブする。
(Step S536-3)
The main CPU 300a executes a special symbol temporary determination process for temporarily determining a special symbol. Here, if the result of the temporary major role lottery in step S536-1 (the result derived by the special symbol per temporary determination process) is a big hit or a small hit, it is stored in the target storage unit in step S535-13. Load the hit symbol random number, winning type (whether it is a big win or a small win), and hold type, select the corresponding winning symbol random number determination table, extract the special symbol determination data, and extract the special symbol determination data. Save (type of jackpot pattern or small hit pattern). In addition, when the result of the provisional key role lottery in step S536-1 is a loss, predetermined special symbol determination data for loss (type of losing symbol) is saved.

(ステップS536-5)
メインCPU300aは、ステップS536-3でセーブした特別図柄判定データに対応する先読み図柄種別指定コマンド(先読み指定コマンド)を送信バッファにセットする。
(Step S536-5)
The main CPU 300a sets a look-ahead symbol type specification command (a look-ahead specification command) corresponding to the special symbol determination data saved in step S536-3 in the transmission buffer.

(ステップS536-7)
メインCPU300aは、上記ステップS536-1の特別図柄当たり仮判定処理によって導出された結果が、大当たりまたは小当たりであるかを判定する。その結果、大当たりまたは小当たりであると判定した場合にはステップS536-9に処理を移し、大当たりまたは小当たりではない(ハズレである)と判定した場合にはステップS536-11に処理を移す。
(Step S536-7)
The main CPU 300a determines whether the result derived by the special symbol winning temporary determination process in step S536-1 is a big win or a small win. As a result, if it is determined to be a big win or a small win, the process moves to step S536-9, and if it is determined to be neither a big win or a small win (it is a loss), the process moves to step S536-11.

(ステップS536-9)
メインCPU300aは、大当たり時リーチモード決定乱数判定テーブル(図10(b)、(c)参照)または小当たり時リーチモード決定乱数判定テーブル(図10(d)、(e))をセットし、ステップS536-19に処理を移す。
(Step S536-9)
The main CPU 300a sets the reach mode determination random number determination table (see FIGS. 10(b) and (c)) or the reach mode determination random number determination table (see FIGS. 10(d) and (e)) at the time of the small hit, and step The process moves to S536-19.

(ステップS536-11)
メインCPU300aは、上記ステップS535-13で対象記憶部に記憶したリーチグループ決定乱数をロードする。
(Step S536-11)
The main CPU 300a loads the reach group determination random number stored in the target storage unit in step S535-13.

(ステップS536-13)
メインCPU300aは、上記ステップS536-11でロードしたリーチグループ決定乱数が固定値(9000以上)であるかを判定する。ここで、グループ種別は、リーチグループ決定乱数判定テーブルを参照して決定されるが、このリーチグループ決定乱数判定テーブルは、記憶されている保留数に応じて選択される。このとき、リーチグループ決定乱数は、0~10006の範囲から取得され、リーチグループ決定乱数の値が9000以上であれば、保留数に拘わらず、同一のリーチグループ決定乱数判定テーブルが選択され、リーチグループ決定乱数の値が9000未満であれば、保留数に応じて異なるリーチグループ決定乱数判定テーブルが選択される。以下では、リーチグループ決定乱数のうち、保留数に応じて異なるリーチグループ決定乱数判定テーブルが選択される0~8999の範囲の値を不定値とし、保留数に拘わらず同一のリーチグループ決定乱数判定テーブルが選択される9000~10006の範囲の値を固定値と呼ぶ。上記ステップS536-11でロードしたリーチグループ決定乱数が固定値(9000以上)であると判定した場合にはステップS536-15に処理を移し、上記ステップS536-11でロードしたリーチグループ決定乱数が固定値(9000以上)ではないと判定した場合にはステップS536-27に処理を移す。
(Step S536-13)
The main CPU 300a determines whether the reach group determination random number loaded in step S536-11 is a fixed value (9000 or more). Here, the group type is determined by referring to the reach group determination random number determination table, and this reach group determination random number determination table is selected according to the stored number of reservations. At this time, the reach group determination random number is obtained from the range of 0 to 10006, and if the value of the reach group determination random number is 9000 or more, regardless of the number of reservations, the same reach group determination random number determination table is selected, and reach If the value of the group determination random number is less than 9000, different reach group determination random number determination tables are selected according to the number of reservations. In the following, among the reach group determination random numbers, a value in the range of 0 to 8999 in which a different reach group determination random number determination table is selected according to the number of reservations is an indefinite value, and the same reach group determination random number determination is performed regardless of the number of reservations. A value in the range of 9000 to 10006 from which the table is selected is called a fixed value. If it is determined that the reach group determination random number loaded in step S536-11 is a fixed value (9000 or more), the process moves to step S536-15, and the reach group determination random number loaded in step S536-11 is fixed. If it is determined not to be the value (9000 or more), the process moves to step S536-27.

(ステップS536-15)
メインCPU300aは、リーチグループ決定乱数判定テーブル(図9参照)をセットする。なお、リーチグループ決定乱数判定テーブルは、保留数に応じて複数種類設けられているが、ここでは、保留数が0のときに用いられるテーブルが選択される。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を仮決定する。
(Step S536-15)
The main CPU 300a sets a reach group determination random number determination table (see FIG. 9). Although a plurality of reach group determination random number determination tables are provided according to the number of reservations, here, the table used when the number of reservations is 0 is selected. Then, the reach group (group type) is tentatively determined based on the set reach group determination random number determination table and the reach group determination random number stored in the target storage unit in step S535-13.

(ステップS536-17)
メインCPU300aは、上記ステップS536-15で仮決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブル(図10(a)参照)をセットし、ステップS536-19に処理を移す。
(Step S536-17)
The main CPU 300a sets the losing reach mode determination random number determination table (see FIG. 10A) corresponding to the group type provisionally determined in step S536-15, and shifts the process to step S536-19.

(ステップS536-19)
メインCPU300aは、上記ステップS536-9または上記ステップS536-17でセットしたリーチモード決定乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶したリーチモード決定乱数とに基づいて、変動モード番号を仮決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが仮決定される。
(Step S536-19)
The main CPU 300a determines the variation mode number based on the reach mode determination random number determination table set in step S536-9 or step S536-17 and the reach mode determination random number stored in the target storage unit in step S535-13. provisionally determined. Further, here, along with the variation mode number, a variation pattern random number determination table is tentatively determined.

(ステップS536-21)
メインCPU300aは、上記ステップS536-19で仮決定した変動モード番号に対応する先読み指定変動モードコマンド(先読み指定コマンド)を送信バッファにセットする。
(Step S536-21)
The main CPU 300a sets, in the transmission buffer, the prefetch designation variation mode command (prefetch designation command) corresponding to the variation mode number tentatively determined in step S536-19.

(ステップS536-23)
メインCPU300aは、上記ステップS536-19で仮決定した変動パターン乱数判定テーブルと、上記ステップS535-13で対象記憶部に記憶した変動パターン乱数とに基づいて、変動パターン番号を仮決定する。
(Step S536-23)
The main CPU 300a temporarily determines the variation pattern number based on the variation pattern random number determination table provisionally determined in step S536-19 and the variation pattern random number stored in the target storage unit in step S535-13.

(ステップS536-25)
メインCPU300aは、上記ステップS536-23で仮決定した変動パターン番号に対応する先読み指定変動パターンコマンド(先読み指定コマンド)を送信バッファにセットし、当該取得時演出判定処理を終了する。
(Step S536-25)
The main CPU 300a sets the look-ahead specified variation pattern command (pre-read specification command) corresponding to the variation pattern number tentatively determined in step S536-23 in the transmission buffer, and ends the effect determination process at the time of acquisition.

(ステップS536-27)
メインCPU300aは、対象記憶部に新たに記憶された保留について、当該保留が読み出されたときの保留数に応じて、グループ種別、すなわち、変動演出パターンが変化することを示す不定値コマンド(先読み指定変動モードコマンドおよび先読み指定変動パターンコマンド=7FH)を送信バッファにセットし、当該取得時演出判定処理を終了する。
(Step S536-27)
The main CPU 300a, regarding the suspension newly stored in the target storage unit, according to the number of suspensions when the suspension is read out, changes the group type, that is, the variable effect pattern (undefined value command (prefetch Specified variation mode command and look-ahead specified variation pattern command = 7FH) is set in the transmission buffer, and the effect determination process at the time of acquisition is terminated.

図34は、同時回し参考例に係る主制御基板300における大入賞口通過処理(ステップS540)を説明するフローチャートである。 FIG. 34 is a flowchart for explaining the big winning opening passage processing (step S540) in the main control board 300 according to the simultaneous spinning reference example.

(ステップS540-1)
メインCPU300aは、上記ステップS500-13で大入賞口検出スイッチオン検出時であると判定した場合には、詳しくは後述する特別電動役物遊技管理フェーズをロードする。なお、詳しくは後述するが、特別電動役物遊技管理フェーズは、大役遊技または小当たり遊技の実行処理の段階、すなわち、大役遊技または小当たり遊技の進行状況を示すものであり、大役遊技または小当たり遊技の実行処理の段階に応じて更新される。
(Step S540-1)
When the main CPU 300a determines in step S500-13 that the large winning opening detection switch is turned on, it loads a special electric accessory game management phase, which will be described later in detail. In addition, although it will be described later in detail, the special electric role product game management phase indicates the stage of execution processing of the big role game or the small winning game, that is, the progress status of the big role game or the small winning game. It is updated according to the stage of the execution process of the winning game.

(ステップS540-3)
メインCPU300aは、上記ステップS540-1でロードした特別電動役物遊技管理フェーズが、大入賞口開放前処理以上の実行処理の段階を示すものであるかを判定する。なお、特別電動役物遊技管理フェーズは、00H~08Hの9段階が設けられており、このうち、01H~08Hが、大入賞口開放前処理以上の実行処理の段階に相当する。大役遊技または小当たり遊技は、特別電動役物遊技管理フェーズが01H~08Hである場合に実行されることから、ここでは、現在、大役遊技中または小当たり遊技中であるかを判定することとなる。特別電動役物遊技管理フェーズが、大入賞口開放前処理以上の実行処理の段階を示すものであると判定した場合にはステップS540-5に処理を移し、特別電動役物遊技管理フェーズは、大入賞口開放前処理以上の実行処理の段階を示すものではないと判定した場合にはステップS540-7に処理を移す。
(Step S540-3)
The main CPU 300a determines whether or not the special electric role product game management phase loaded in step S540-1 indicates the stage of the execution process above the big winning hole opening pre-process. The special electric accessory game management phase is provided with 9 stages from 00H to 08H. Of these, 01H to 08H correspond to the stage of execution processing above the big winning opening pre-opening processing. Since the big win game or the small winning game is executed when the special electric role product game management phase is 01H to 08H, it is determined whether it is currently in the big winning game or the small winning game. Become. If it is determined that the special electric role product game management phase indicates the stage of execution processing above the big winning opening pre-processing, the process is moved to step S540-5, and the special electric role product game management phase is If it is determined that it does not indicate the stage of the execution process above the big winning opening pre-opening process, the process proceeds to step S540-7.

(ステップS540-5)
メインCPU300aは、第1大入賞口126または第2大入賞口128に適正に遊技球が入球したことを示す大入賞口入球コマンドを送信バッファにセットし、大入賞口通過処理を終了する。
(Step S540-5)
The main CPU 300a sets, in the transmission buffer, a big winning hole entry command indicating that the game ball has properly entered the first big winning hole 126 or the second big winning hole 128, and ends the big winning hole passage processing. .

(ステップS540-7)
メインCPU300aは、第1大入賞口126または第2大入賞口128への遊技球の入球が不適切なものであるとして、所定のエラー処理を実行し、大入賞口通過処理を終了する。
(Step S540-7)
The main CPU 300a determines that the entry of the game ball into the first big winning hole 126 or the second big winning hole 128 is inappropriate, executes a predetermined error process, and ends the big winning hole passing process.

図35は、同時回し参考例に係る特別遊技管理フェーズを説明する図である。既に説明したとおり、同時回し参考例では、第1始動口120または第2始動口122への遊技球の入球を契機とする特別遊技と、ゲート124への遊技球の通過もしくは普図作動口125への遊技球の入球を契機とする普通遊技とが、同時並行して進行する。特別遊技に係る処理は、段階的に、かつ、繰り返し実行されるが、主制御基板300では、こうした特別遊技に係る各処理を特別遊技管理フェーズおよび特別電動役物遊技管理フェーズによって管理している。 FIG. 35 is a diagram for explaining the special game management phase according to the simultaneous spinning reference example. As already explained, in the simultaneous turning reference example, the special game triggered by the entry of the game ball to the first start port 120 or the second start port 122, the passage of the game ball to the gate 124 or the normal figure operation port A normal game triggered by the entry of a game ball into 125 progresses in parallel. The processing related to the special game is executed step by step and repeatedly, but in the main control board 300, each processing related to such a special game is managed by a special game management phase and a special electric accessory game management phase. .

図35に示すように、メインROM300bには、特別遊技のうちの特別図柄の変動表示を実行制御するための複数の特別遊技制御モジュールが格納されており、これら特別遊技制御モジュールごとに、特別遊技管理フェーズが対応付けられている。具体的には、特別遊技管理フェーズが「00H」である場合には、「特別図柄変動待ち処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「01H」である場合には、「特別図柄変動中処理」を実行するためのモジュールがコールされ、特別遊技管理フェーズが「02H」である場合には、「特別図柄停止図柄表示処理」を実行するためのモジュールがコールされる。 As shown in FIG. 35, the main ROM 300b stores a plurality of special game control modules for executing and controlling the variable display of special symbols in the special game. Management phase is associated. Specifically, when the special game management phase is "00H", a module for executing the "special symbol variation waiting process" is called, and when the special game management phase is "01H", A module for executing a "special symbol fluctuating process" is called, and when the special game management phase is "02H", a module for executing a "special symbol stop symbol display process" is called.

また、メインROM300bには、特別遊技のうちの大役遊技および小当たり遊技を実行制御するための複数の特別電動役物遊技制御モジュールが格納されており、これら特別電動役物遊技制御モジュールごとに、特別電動役物遊技管理フェーズが対応付けられている。具体的には、特別電動役物遊技管理フェーズが「01H」または「05H」である場合には、「大入賞口開放前処理」を実行するためのモジュールがコールされ、特別電動役物遊技管理フェーズが「02H」または「06H」である場合には、「大入賞口開放制御処理」を実行するためのモジュールがコールされ、特別電動役物遊技管理フェーズが「03H」または「07H」である場合には、「大入賞口閉鎖有効処理」を実行するためのモジュールがコールされ、特別電動役物遊技管理フェーズが「04H」または「08H」である場合には、「大入賞口終了ウェイト処理」を実行するためのモジュールがコールされる。なお、特別電動役物遊技管理フェーズが「00H」である場合には、いずれの特別電動役物遊技制御モジュールもコールされることはない。 Also, the main ROM 300b stores a plurality of special electric role product game control modules for executing and controlling the big win game and the small winning game among the special games, and for each of these special electric role product game control modules, A special electric accessory game management phase is associated. Specifically, when the special electric role product game management phase is "01H" or "05H", a module for executing the "pre-processing for opening the big prize opening" is called, and the special electric role product game management is performed. When the phase is ``02H'' or ``06H'', a module for executing the ``large winning opening opening control process'' is called, and the special electric accessory game management phase is ``03H'' or ``07H''. In this case, a module for executing the "large winning opening closing effective process" is called, and when the special electric role product game management phase is "04H" or "08H", the "big winning opening closing wait process ” is called. In addition, when the special electric role product game management phase is "00H", none of the special electric role product game control modules are called.

図36は、同時回し参考例に係る主制御基板300における特別遊技管理処理(ステップS600)を説明するフローチャートである。 FIG. 36 is a flowchart for explaining the special game management process (step S600) in the main control board 300 according to the simultaneous spinning reference example.

(ステップS600-1)
メインCPU300aは、特別電動役物遊技管理フェーズをロードする。
(Step S600-1)
The main CPU 300a loads the special electric accessory game management phase.

(ステップS600-3)
メインCPU300aは、上記ステップS600-1でロードした特別電動役物遊技管理フェーズが、「00H」以外であるかを判定する。すなわち、ここでは、現在、大役遊技中または小当たり遊技中であるかを判定することとなる。特別電動役物遊技管理フェーズが「00H」以外であると判定した場合には当該特別遊技管理処理を終了し、特別電動役物遊技管理フェーズが「00H」以外でないと判定した場合にはステップS600-5に処理を移す。
(Step S600-3)
The main CPU 300a determines whether the special electric role product game management phase loaded in step S600-1 is other than "00H". That is, here, it is determined whether it is currently in the big win game or in the small winning game. If it is determined that the special electric role product game management phase is other than "00H", the special game management process is terminated, and if it is determined that the special electric role product game management phase is not other than "00H", step S600. -5 is processed.

(ステップS600-5)
メインCPU300aは、特別遊技特別図柄判定フラグをロードする。なお、特別遊技特別図柄判定フラグは、特別遊技管理処理の対象となる保留種別として特1保留および特2保留のいずれであるかを判定するためのものであり、特別遊技特別図柄判定フラグ(00H)は特1保留を示し、特別遊技特別図柄判定フラグ(01H)は特2保留を示す。
(Step S600-5)
The main CPU 300a loads a special game special symbol determination flag. It should be noted that the special game special symbol determination flag is for determining whether the special game special symbol determination flag (00H ) indicates special 1 suspension, and the special game special symbol determination flag (01H) indicates special 2 suspension.

(ステップS600-7)
メインCPU300aは、上記ステップS600-5でロードした特別遊技特別図柄判定フラグを反転する。ここでは、特別遊技特別図柄判定フラグが「00H」であった場合には「01H」に反転し、特別遊技特別図柄判定フラグが「01H」であった場合には「00H」に反転する。特別遊技特別図柄判定フラグは初期値が「00H」に設定されているため、図26に示した2回の特別遊技管理処理S600のうち、1回目の特別遊技管理処理S600で特別遊技特別図柄判定フラグが「01H」にされ、特2保留について後続の処理が実行され、2回目の特別遊技管理処理S600で特別遊技特別図柄判定フラグが「00H」にされ、特1保留について後続の処理が実行される。つまり、特2保留が優先して処理されることになる。
(Step S600-7)
The main CPU 300a inverts the special game special symbol determination flag loaded in step S600-5. Here, when the special game special symbol determination flag is "00H", it is reversed to "01H", and when the special game special symbol determination flag is "01H", it is reversed to "00H". Since the initial value of the special game special symbol determination flag is set to "00H", the special game special symbol determination is performed in the first special game management process S600 of the two special game management processes S600 shown in FIG. The flag is set to "01H", the subsequent processing is executed for the special 2 reservation, the special game special symbol determination flag is set to "00H" in the second special game management processing S600, and the subsequent processing is executed for the special 1 reservation. be done. In other words, the special 2 reservation is preferentially processed.

(ステップS600-9)
メインCPU300aは、上記ステップS600-7で反転した特別遊技特別図柄判定フラグをセーブする。
(Step S600-9)
The main CPU 300a saves the special game special symbol determination flag reversed in step S600-7.

(ステップS600-11)
メインCPU300aは、特別遊技管理フェーズをロードする。
(Step S600-11)
The main CPU 300a loads the special game management phase.

(ステップS600-13)
メインCPU300aは、上記ステップS600-11でロードした特別遊技管理フェーズに対応する特別遊技制御モジュールを選択する。
(Step S600-13)
The main CPU 300a selects the special game control module corresponding to the special game management phase loaded in step S600-11.

(ステップS600-15)
メインCPU300aは、上記ステップS600-13で選択した特別遊技制御モジュールをコールして処理を開始する。
(Step S600-15)
The main CPU 300a calls the special game control module selected in step S600-13 and starts processing.

(ステップS600-17)
メインCPU300aは、特別遊技の制御時間を管理する特別遊技タイマをロードし、当該特別遊技管理処理を終了する。
(Step S600-17)
The main CPU 300a loads a special game timer that manages the special game control time, and terminates the special game management process.

図37は、同時回し参考例に係る主制御基板300における特別図柄変動待ち処理を説明するフローチャートである。この特別図柄変動待ち処理は、特別遊技管理フェーズが「00H」であった場合に実行される。 FIG. 37 is a flowchart for explaining the special symbol variation waiting process in the main control board 300 according to the simultaneous turning reference example. This special symbol variation waiting process is executed when the special game management phase is "00H".

(ステップS610-1)
メインCPU300aは、特別遊技管理処理の対象となる保留(特1保留または特2保留、以下、対象保留と呼ぶ)の特別図柄保留球数が1以上であるかを判定する。その結果、特別図柄保留球数が1以上であると判定した場合にはステップS610-3に処理を移し、特別図柄保留球数が1以上ではないと判定した場合には当該特別図柄変動待ち処理を終了する。
(Step S610-1)
The main CPU 300a determines whether or not the number of special symbol reserved balls of the reservation (special 1 reservation or special 2 reservation, hereinafter referred to as target reservation) subject to special game management processing is 1 or more. As a result, when it is determined that the number of special symbol reserved balls is 1 or more, the process is moved to step S610-3, and when it is determined that the number of special symbol reserved balls is not 1 or more, the special symbol variation waiting process exit.

(ステップS610-3)
メインCPU300aは、特別遊技管理処理の対象となっていない保留(特2保留または特1保留、以下、非対象保留と呼ぶ)に基づく特別図柄(以下、非対象特別図柄と呼ぶ)が確定中であるかを判定する。その結果、非対象特別図柄が確定中であると判定した場合にはステップS610-5に処理を移し、非対象特別図柄に基づく特別図柄が確定中ではないと判定した場合にはステップS610-9に処理を移す。
(Step S610-3)
The main CPU 300a is finalizing a special symbol (hereinafter referred to as a non-target special symbol) based on a suspension (special 2 suspension or special 1 suspension, hereinafter referred to as non-target suspension) that is not subject to special game management processing. Determine if there is As a result, when it is determined that the non-target special symbol is being determined, the process is shifted to step S610-5, and when it is determined that the special symbol based on the non-target special symbol is not being determined, step S610-9. to process.

(ステップS610-5)
メインCPU300aは、非対象特別図柄が大当たり図柄であるかを判定する。その結果、大当たり図柄であると判定した場合には当該特別図柄変動待ち処理を終了し、大当たり図柄でないと判定した場合にはステップS610-7に処理を移す。
(Step S610-5)
The main CPU 300a determines whether the non-target special symbol is a jackpot symbol. As a result, when it is determined that it is a jackpot pattern, the special symbol variation waiting process is terminated, and when it is determined that it is not a jackpot pattern, the process is moved to step S610-7.

(ステップS610-7)
メインCPU300aは、非対象特別図柄が小当たり図柄であるかを判定する。その結果、小当たり図柄であると判定した場合には当該特別図柄変動待ち処理を終了し、小当たり図柄でないと判定した場合にはステップS610-9に処理を移す。
(Step S610-7)
The main CPU 300a determines whether the non-target special symbol is a small winning symbol. As a result, when it is determined that it is a small winning pattern, the special symbol variation waiting process is terminated, and when it is determined that it is not a small winning pattern, the process is moved to step S610-9.

(ステップS610-9)
メインCPU300aは、対象保留に対応する特図保留記憶領域の第1記憶部~第4記憶部に記憶されている対象保留を、1つ序数の小さい記憶部にブロック転送する。具体的には、第2記憶部~第4記憶部に記憶されている対象保留を、第1記憶部~第3記憶部に転送する。また、メインRAM300cには、処理対象となる第0記憶部が設けられており、第1記憶部に記憶されている対象保留を、第0記憶部にブロック転送する。なお、この特別図柄記憶エリアシフト処理においては、対象保留に対応する対象特別図柄保留球数カウンタのカウンタ値を「1」減算するとともに、対象保留が「1」減算されたことを示す、保留減指定コマンドを送信バッファにセットする。
(Step S610-9)
The main CPU 300a block-transfers the target suspension stored in the first to fourth storage units of the special figure suspension storage area corresponding to the target suspension to the storage unit with a smaller ordinal number. Specifically, the object holds stored in the second to fourth storage units are transferred to the first to third storage units. In addition, the main RAM 300c is provided with a 0th storage unit to be processed, and the object suspension stored in the 1st storage unit is block-transferred to the 0th storage unit. In addition, in this special symbol storage area shift process, the counter value of the target special symbol retention ball number counter corresponding to the target retention is decremented by "1", and the retention decrement indicating that the target retention is decremented by "1" Sets the specified command in the transmission buffer.

(ステップS611)
メインCPU300aは、大役抽選を行う特別図柄当たり判定処理を実行する。この特別図柄当たり判定処理については後述する。
(Step S611)
The main CPU 300a executes a special symbol hit determination process for performing a big winning lottery. This special symbol hitting determination processing will be described later.

(ステップS610-11)
メインCPU300aは、特別図柄を決定するための特別図柄図柄判定処理を実行する。ここでは、上記ステップS611における大役抽選の結果が大当たりまたは小当たりであった場合、第0記憶部に転送された当たり図柄乱数、保留種別をロードし、対応する当たり図柄乱数判定テーブルまたは小当たり図柄乱数判定テーブルを選択して特別図柄判定データを抽出し、抽出した特別図柄判定データ(大当たり図柄の種別)をセーブする。また、上記ステップS611における大役抽選の結果がハズレであった場合には、ハズレ用の特別図柄判定データをセーブする。そして、特別図柄判定データをセーブしたら、当該特別図柄判定データに対応する図柄種別指定コマンドを送信バッファにセットする。
(Step S610-11)
The main CPU 300a executes special symbol determination processing for determining special symbols. Here, if the result of the big win lottery in step S611 is a big win or a small win, the winning symbol random number and the reserved type transferred to the 0th storage unit are loaded, and the corresponding winning symbol random number judgment table or small winning symbol is loaded. A random number determination table is selected to extract special symbol determination data, and the extracted special symbol determination data (type of jackpot symbol) is saved. Further, when the result of the big winning lottery in step S611 is a loss, the special symbol determination data for a loss is saved. After saving the special symbol determination data, a symbol type designation command corresponding to the special symbol determination data is set in the transmission buffer.

(ステップS610-13)
メインCPU300aは、上記ステップS610-11で抽出した特別図柄判定データに対応する特別図柄停止図柄番号をセーブする。なお、第1特別図柄表示器160および第2特別図柄表示器162は、それぞれ7セグで構成されており、7セグを構成する各セグメントには番号(カウンタ値)が対応付けられている。ここで決定する特別図柄停止図柄番号は、最終的に点灯するセグメントの番号(カウンタ値)を示すものである。
(Step S610-13)
The main CPU 300a saves the special symbol stop symbol number corresponding to the special symbol determination data extracted in step S610-11. In addition, the first special symbol display 160 and the second special symbol display 162 are each composed of 7 segments, and each segment constituting the 7 segments is associated with a number (counter value). The special symbol stop symbol number determined here indicates the number (counter value) of the segment that is finally lit.

(ステップS612)
メインCPU300aは、変動モード番号および変動パターン番号を決定する特別図柄変動番号決定処理を実行する。この特別図柄変動番号決定処理の詳細は後述する。
(Step S612)
The main CPU 300a executes a special symbol variation number determination process for determining a variation mode number and a variation pattern number. The details of this special symbol variation number determination process will be described later.

(ステップS610-15)
メインCPU300aは、上記ステップS612で決定された変動モード番号および変動パターン番号をロードするとともに、変動時間決定テーブルを参照して、変動時間1および変動時間2を決定する。そして、決定した変動時間1、2の合計時間を、特別図柄変動タイマにセットする。
(Step S610-15)
The main CPU 300a loads the variation mode number and variation pattern number determined in step S612, and determines variation time 1 and variation time 2 with reference to the variation time determination table. Then, the total time of the determined variable times 1 and 2 is set in the special symbol variable timer.

(ステップS610-17)
メインCPU300aは、大役抽選の結果が大当たりであるか否かを判定し、大当たりであった場合には、上記ステップS610-11でセーブした特別図柄判定データをロードして、大当たり図柄の種別を確認する。そして、遊技状態設定テーブルおよび現在の遊技状態を参照して、大役遊技終了後に設定される遊技状態および高確回数、時短回数を判定し、その判定結果を特別図柄確率状態予備フラグ、時短状態予備フラグ、および、高確回数切り予備カウンタ、時短回数切り予備カウンタにセーブする。なお、ハズレ図柄がセーブされている場合には、当該処理を実行することなく、次の処理に移行する。
(Step S610-17)
The main CPU 300a determines whether or not the result of the big win lottery is a big win, and if it is a big win, loads the special symbol determination data saved in step S610-11 and confirms the type of the big win symbol. do. Then, with reference to the game state setting table and the current game state, to determine the game state and the high probability number of times to be set after the end of the big role game, the number of times of time reduction, the determination result is the special pattern probability state preliminary flag, time reduction state preliminary Save to the flag, high-precision cut spare counter, and time-saving cut spare counter. It should be noted that, when the lost pattern is saved, the process proceeds to the next process without executing the process.

(ステップS610-19)
メインCPU300aは、第1特別図柄表示器160または第2特別図柄表示器162において、特別図柄の変動表示を開始するために、特別図柄表示図柄カウンタを設定する処理を実行する。第1特別図柄表示器160および第2特別図柄表示器162を構成する7セグの各セグメントにはカウンタ値が対応付けられており、特別図柄表示図柄カウンタに設定されたカウンタ値に対応するセグメントが点灯制御される。ここでは、特別図柄の変動表示の開始時に点灯させるセグメントに対応するカウンタ値が特別図柄表示図柄カウンタに設定されることとなる。なお、特別図柄表示図柄カウンタは、第1特別図柄表示器160に対応する特別図柄1表示図柄カウンタと、第2特別図柄表示器162に対応する特別図柄2表示図柄カウンタとが別個に設けられており、ここでは、保留種別に対応するカウンタにカウンタ値が設定される。
(Step S610-19)
The main CPU 300a executes a process of setting a special symbol display symbol counter in the first special symbol display device 160 or the second special symbol display device 162 in order to start variable display of special symbols. A counter value is associated with each segment of the 7 segments that constitute the first special symbol display device 160 and the second special symbol display device 162, and the segment corresponding to the counter value set in the special symbol display symbol counter is Lighting is controlled. Here, the counter value corresponding to the segment to be lit at the start of the variable display of the special symbols is set in the special symbol display symbol counter. As for the special symbol display symbol counter, a special symbol 1 display symbol counter corresponding to the first special symbol display device 160 and a special symbol 2 display symbol counter corresponding to the second special symbol display device 162 are separately provided. Here, the counter value is set to the counter corresponding to the hold type.

(ステップS613)
メインCPU300aは、回数切り管理処理を実行する。ここでは、変動回数に応じて時短遊技状態を終了させるための処理が行われる。この回数切り管理処理については後述する。
(Step S613)
The main CPU 300a executes a number cutting management process. Here, processing for ending the time-saving gaming state is performed according to the number of fluctuations. This number cutting management process will be described later.

(ステップS610-21)
メインCPU300aは、高確回数および時短回数が0になるまでの残り回数(実残り回数)を示す回数コマンドを送信バッファにセットする。
(Step S610-21)
The main CPU 300a sets a frequency command indicating the remaining frequency (actual remaining frequency) until the high probability frequency and the time saving frequency become 0 in the transmission buffer.

(ステップS610-23)
メインCPU300aは、特別図柄の変動表示の開始時の遊技状態を示す遊技状態変化指定コマンドを送信バッファにセットする。
(Step S610-23)
The main CPU 300a sets a game state change designation command indicating the game state at the start of the variable display of special symbols in the transmission buffer.

(ステップS610-25)
メインCPU300aは、特別遊技管理フェーズを「01H」に更新し、当該特別図柄変動待ち処理を終了する。
(Step S610-25)
The main CPU 300a updates the special game management phase to "01H" and terminates the special symbol variation waiting process.

図38は、同時回し参考例に係る特別図柄当たり判定処理(S611)を説明するフローチャートである。 FIG. 38 is a flowchart for explaining the special symbol hit determination process (S611) according to the simultaneous spinning reference example.

(ステップS611-1)
メインCPU300aは、特別図柄確率状態フラグをロードする。
(Step S611-1)
The main CPU 300a loads the special symbol probability state flag.

(ステップS611-3)
メインCPU300aは、設定値バッファの登録設定値をロードする。
(Step S611-3)
The main CPU 300a loads the registered setting values in the setting value buffer.

(ステップS611-5)
メインCPU300aは、上記ステップS611-3でロードした登録設定値が正常範囲内の値であるかを判定する。その結果、正常範囲内の値であると判定した場合にはステップS611-11に処理を移し、正常範囲内の値ではないと判定した場合にはステップS611-7に処理を移す。
(Step S611-5)
The main CPU 300a determines whether the registered set value loaded in step S611-3 is within the normal range. As a result, when it is determined that the value is within the normal range, the process proceeds to step S611-11, and when it is determined that the value is not within the normal range, the process proceeds to step S611-7.

(ステップS611-7)
メインCPU300aは、遊技機状態フラグに03H(設定異常状態)をセットする。
(Step S611-7)
The main CPU 300a sets the gaming machine state flag to 03H (set abnormal state).

(ステップS611-9)
メインCPU300aは、設定異常状態コマンド(サブコマンド)を送信バッファにセットし、当該特別図柄当たり判定処理を終了する。この設定異常状態コマンドが副制御基板330に送信されると、設定異常である旨の報知がなされる。
(Step S611-9)
The main CPU 300a sets the setting abnormal state command (subcommand) in the transmission buffer, and terminates the special symbol hit determination process. When this abnormal setting state command is transmitted to the sub control board 330, notification of the abnormal setting is made.

(ステップS611-11)
メインCPU300aは、上記ステップS611-1およびステップS611-3でロードした情報に対応する大当たり決定乱数判定テーブルを参照し、大当たりまたは小当たりと判定する際の下限値および上限値をそれぞれセットする。
(Step S611-11)
The main CPU 300a refers to the big win determination random number determination table corresponding to the information loaded in steps S611-1 and S611-3, and sets the lower limit and upper limit when determining a big win or a small win.

(ステップS611-13)
メインCPU300aは、第0記憶部に転送された大当たり決定乱数と、上記の下限値および上限値とを比較し、大当たりまたは小当たりの当選有無を判定する判定処理(大役抽選)を行う。
(Step S611-13)
The main CPU 300a compares the jackpot determination random number transferred to the 0th storage unit with the above-described lower and upper limit values, and performs determination processing (big win lottery) to determine whether or not a jackpot or small win has been won.

(ステップS611-15)
メインCPU300aは、非対象特別図柄が大当たり図柄であるかを判定する。その結果、大当たり図柄であると判定した場合にはステップS611-17に処理を移し、大当たり図柄でないと判定した場合にはステップS611-21に処理を移す。
(Step S611-15)
The main CPU 300a determines whether the non-target special symbol is a jackpot symbol. As a result, when it is determined to be a jackpot pattern, the process moves to step S611-17, and when it is determined not to be a jackpot pattern, the process moves to step S611-21.

(ステップS611-17)
メインCPU300aは、上記ステップS611-13における大役抽選結果が小当たりまたはハズレであるかを判定する。その結果、小当たりまたはハズレであると判定した場合にはステップS611-21に処理を移し、小当たりおよびハズレでないと判定した場合にはステップS611-19に処理を移す。
(Step S611-17)
The main CPU 300a determines whether the big winning lottery result in step S611-13 is a small win or a loss. As a result, if it is determined to be a small win or a loss, the process moves to step S611-21, and if it is determined to be neither a small win nor a loss, the process moves to step S611-19.

(ステップS611-19)
メインCPU300aは、上記ステップS611-13における大役抽選結果をハズレに変更する。
(Step S611-19)
The main CPU 300a changes the big role lottery result in step S611-13 to lose.

(ステップS611-21)
メインCPU300aは、上記ステップS611-13の判定処理の結果、または、上記ステップS611-19で変更された結果を判定情報としてセットし、当該特別図柄当たり判定処理を終了する。
(Step S611-21)
The main CPU 300a sets the result of the determination process in step S611-13 or the result changed in step S611-19 as determination information, and ends the special symbol win determination process.

図39は、同時回し参考例に係る主制御基板300における特別図柄変動番号決定処理(ステップS612)を説明するフローチャートである。 FIG. 39 is a flowchart for explaining the special symbol variation number determination process (step S612) in the main control board 300 according to the simultaneous turning reference example.

(ステップS612-1)
メインCPU300aは、上記ステップS611における大役抽選の結果が大当たりまたは小当たりであるかを判定する。その結果、大当たりまたは小当たりであると判定した場合にはステップS612-3に処理を移し、大当たりおよび小当たりのいずれでもない(ハズレである)と判定した場合にはステップS612-5に処理を移す。
(Step S612-1)
The main CPU 300a determines whether the result of the big win lottery in step S611 is a big win or a small win. As a result, when it is determined that it is a big hit or a small hit, the process is moved to step S612-3, and when it is determined that it is neither a big hit nor a small hit (it is a loss), the process goes to step S612-5. Transfer.

(ステップS612-3)
メインCPU300aは、現在の遊技状態および保留種別に対応するリーチモード決定乱数判定テーブルをセットする。
(Step S612-3)
The main CPU 300a sets a ready-to-win mode determination random number determination table corresponding to the current gaming state and pending type.

(ステップS612-5)
メインCPU300aは、読み出した保留の保留種別が特2保留である場合には、特別図柄2保留球数カウンタのカウンタ値を確認し、読み出した保留の保留種別が特1保留である場合には、特別図柄1保留球数カウンタのカウンタ値を確認する。
(Step S612-5)
The main CPU 300a confirms the counter value of the special symbol 2 reserved ball number counter when the read reservation type is Special 2 reservation, and when the read reservation type is Special 1 reservation, Check the counter value of the special symbol 1 reserved ball number counter.

(ステップS612-7)
メインCPU300aは、現在の遊技状態、上記ステップS612-5で確認した保留数、保留種別に基づいて、対応するリーチグループ決定乱数判定テーブルをセットする。そして、セットしたリーチグループ決定乱数判定テーブルと、上記ステップS610-9で第0記憶部に転送したリーチグループ決定乱数とに基づいて、リーチグループ(グループ種別)を決定する。
(Step S612-7)
The main CPU 300a sets the corresponding reach group determination random number determination table based on the current gaming state, the number of pending games confirmed in step S612-5, and the type of pending game. Then, the reach group (group type) is determined based on the set reach group determination random number determination table and the reach group determination random number transferred to the 0th storage unit in step S610-9.

(ステップS612-9)
メインCPU300aは、上記ステップS612-7で決定されたグループ種別に対応するハズレ時リーチモード決定乱数判定テーブルをセットする。
(Step S612-9)
The main CPU 300a sets the reach mode determination random number determination table at the time of losing corresponding to the group type determined in step S612-7.

(ステップS612-11)
メインCPU300aは、上記ステップS612-3または上記ステップS612-9でセットしたリーチモード決定乱数判定テーブルと、上記ステップS610-9で第0記憶部に転送したリーチモード決定乱数とに基づいて、変動モード番号を決定する。また、ここでは、変動モード番号とともに、変動パターン乱数判定テーブルが決定される。
(Step S612-11)
The main CPU 300a determines the variable mode based on the reach mode determination random number determination table set in step S612-3 or step S612-9 and the reach mode determination random number transferred to the 0th storage unit in step S610-9. Decide on a number. Also, here, along with the variation mode number, a variation pattern random number determination table is determined.

(ステップS612-13)
メインCPU300aは、上記ステップS612-11で決定した変動モード番号に対応する変動モードコマンドを送信バッファにセットする。
(Step S612-13)
The main CPU 300a sets the variable mode command corresponding to the variable mode number determined in step S612-11 in the transmission buffer.

(ステップS612-15)
メインCPU300aは、上記ステップS612-11で決定した変動パターン乱数判定テーブルと、上記ステップS610-9で第0記憶部に転送した変動パターン乱数とに基づいて、変動パターン番号を決定する。
(Step S612-15)
The main CPU 300a determines the variation pattern number based on the variation pattern random number determination table determined in step S612-11 and the variation pattern random number transferred to the 0th storage unit in step S610-9.

(ステップS612-17)
メインCPU300aは、上記ステップS612-15で決定した変動パターン番号に対応する変動パターンコマンドを送信バッファにセットして、当該特別図柄変動番号決定処理を終了する。
(Step S612-17)
The main CPU 300a sets the variation pattern command corresponding to the variation pattern number determined in step S612-15 in the transmission buffer, and terminates the special symbol variation number determination process.

図40は、同時回し参考例に係る主制御基板300における回数切り管理処理(ステップS613)を説明するフローチャートである。 FIG. 40 is a flowchart for explaining the number cutting management process (step S613) in the main control board 300 according to the simultaneous rotation reference example.

(ステップS613-1)
メインCPU300aは、時短回数、すなわち、時短回数切りカウンタのカウンタ値が0よりも大きいかを判定する。その結果、時短回数が0よりも大きいと判定した場合にはステップS613-3に処理を移し、時短回数が0であると判定した場合には、当該回数切り管理処理を終了する。
(Step S613-1)
The main CPU 300a determines whether or not the number of times of time saving, that is, the counter value of the time saving number cutting counter is greater than zero. As a result, when it is determined that the number of times of time saving is greater than 0, the process proceeds to step S613-3, and when it is determined that the number of times of time saving is 0, the number cutting management process is ended.

(ステップS613-3)
メインCPU300aは、時短回数切りカウンタをデクリメントする。
(Step S613-3)
The main CPU 300a decrements the time-saving cut-off counter.

(ステップS613-5)
メインCPU300aは、上記ステップS613-3において、カウンタ値(時短回数)が0に更新されたかを判定する。その結果、時短回数が0であると判定した場合にはステップS613-7に処理を移し、時短回数は0ではないと判定した場合には当該回数切り管理処理を終了する。
(Step S613-5)
The main CPU 300a determines whether the counter value (number of times of time saving) has been updated to 0 in step S613-3. As a result, when it is determined that the number of times of time saving is 0, the process proceeds to step S613-7, and when it is determined that the number of times of time saving is not 0, the number cutting management process ends.

(ステップS613-7)
メインCPU300aは、普通遊技状態を非時短遊技状態に設定するべく、時短状態フラグの設定を行う。これにより、普通遊技状態が時短遊技状態に設定された後、変動回数が時短回数(ここでは50回または100回)に到達したときの変動開始時に、普通遊技状態が非時短遊技状態に変更されることとなる。例えば、高確前兆状態に設定されていた場合には、最優位状態に設定されることとなる。
(Step S613-7)
The main CPU 300a sets the time saving state flag in order to set the normal game state to the non time saving game state. As a result, after the normal game state is set to the time-saving game state, the normal game state is changed to a non-time-saving game state at the start of fluctuation when the number of fluctuations reaches the time-saving number of times (here, 50 times or 100 times). The Rukoto. For example, if it is set to the highly probable portent state, it will be set to the highest priority state.

(ステップS613-9)
メインCPU300aは、時短終了フラグをオンして、当該回数切り管理処理を終了する。
(Step S613-9)
The main CPU 300a turns on the time saving end flag and ends the number cutting management process.

図41は、同時回し参考例に係る主制御基板300における特別図柄変動中処理を説明するフローチャートである。 FIG. 41 is a flow chart for explaining the processing during special symbol fluctuation in the main control board 300 according to the simultaneous turning reference example.

(ステップS620-1)
メインCPU300aは、中断中フラグがオンしているかを判定する。なお、詳しくは後述するが、同時回し参考例では、第1特別図柄表示器160における図柄の変動表示中に、第2特別図柄表示器162に小当たり図柄が停止表示される場合がある。この場合、第2特別図柄表示器162に小当たり図柄が停止表示されると、小当たり遊技が実行されるが、この間、第1特別図柄表示器160における特別図柄の変動時間の減算が中断され、小当たり遊技の終了後に、第1特別図柄表示器160における図柄の変動表示が再開される。中断中フラグは、第2特別図柄表示器162に小当たり図柄が停止表示されたときに、第1特別図柄表示器160において図柄の変動表示中であった場合にオンされる。ここでは、中断中フラグがオンであると判定した場合には当該特別図柄変動中処理を終了し、中断中フラグがオンではないと判定した場合にはステップS620-3に処理を移す。
(Step S620-1)
The main CPU 300a determines whether the interrupted flag is on. Although details will be described later, in the simultaneous spinning reference example, while the first special symbol display 160 is displaying the symbols fluctuating, the second special symbol display 162 may stop displaying the small winning symbols. In this case, when the small winning symbol is stopped and displayed on the second special symbol display device 162, the small winning game is executed. , After the end of the small winning game, the variable display of the symbols on the first special symbol display device 160 is resumed. The interrupted flag is turned on when the first special symbol display 160 is in the process of changing symbols when the small winning symbol is stopped and displayed on the second special symbol display 162 . Here, when it is determined that the interrupting flag is ON, the special symbol variation process is ended, and when it is determined that the interrupting flag is not ON, the process is moved to step S620-3.

(ステップS620-3)
メインCPU300aは、特別図柄変動ベースカウンタを更新する処理を実行する。なお、特別図柄変動ベースカウンタは、所定周期(例えば100ms)で1周するようにカウンタ値が設定される。具体的には、特別図柄変動ベースカウンタのカウンタ値が「0」であった場合には、所定のカウンタ値(例えば25)がセットされ、カウンタ値が「1」以上であった場合には、現在のカウンタ値から「1」減算した値にカウンタ値を更新する。
(Step S620-3)
The main CPU 300a executes processing for updating the special symbol variation base counter. In addition, the counter value of the special symbol variation base counter is set so as to make one round at a predetermined period (for example, 100 ms). Specifically, when the counter value of the special symbol variation base counter is "0", a predetermined counter value (for example, 25) is set, and when the counter value is "1" or more, Update the counter value to the value obtained by subtracting "1" from the current counter value.

(ステップS620-5)
メインCPU300aは、上記ステップS620-3で更新した特別図柄変動ベースカウンタのカウンタ値が「0」であるかを判定する。その結果、カウンタ値が「0」であった場合にはステップS620-7に処理を移し、カウンタ値が「0」ではなかった場合にはステップS620-11に処理を移す。
(Step S620-5)
The main CPU 300a determines whether the counter value of the special symbol variation base counter updated in step S620-3 is "0". As a result, if the counter value is "0", the process proceeds to step S620-7, and if the counter value is not "0", the process proceeds to step S620-11.

(ステップS620-7)
メインCPU300aは、上記ステップS610-15で設定された特別図柄変動タイマのタイマ値を所定値減算する特別図柄変動タイマ更新処理を行う。
(Step S620-7)
The main CPU 300a performs a special symbol variation timer update process of subtracting a predetermined value from the timer value of the special symbol variation timer set in step S610-15.

(ステップS620-9)
メインCPU300aは、上記ステップS620-7で更新した特別図柄変動タイマのタイマ値が「0」であるかを判定する。その結果、タイマ値が「0」であった場合にはステップS620-17に処理を移し、タイマ値が「0」ではなかった場合にはステップS620-11に処理を移す。
(Step S620-9)
The main CPU 300a determines whether the timer value of the special symbol variation timer updated in step S620-7 is "0". As a result, if the timer value is "0", the process moves to step S620-17, and if the timer value is not "0", the process moves to step S620-11.

(ステップS620-11)
メインCPU300aは、第1特別図柄表示器160および第2特別図柄表示器162を構成する7セグの各セグメントの点灯時間を計時する特別図柄表示タイマを更新する。具体的には、特別図柄表示タイマのタイマ値が「0」であった場合には、所定のタイマ値がセットされ、タイマ値が「1」以上であった場合には、現在のタイマ値から「1」減算した値にタイマ値を更新する。
(Step S620-11)
The main CPU 300a updates the special symbol display timer that counts the lighting time of each segment of the 7 segments that constitute the first special symbol display 160 and the second special symbol display 162. FIG. Specifically, when the timer value of the special symbol display timer is "0", a predetermined timer value is set, and when the timer value is "1" or more, from the current timer value Update the timer value to the value decremented by "1".

(ステップS620-13)
メインCPU300aは、特別図柄表示タイマのタイマ値が「0」であるかを判定する。その結果、特別図柄表示タイマのタイマ値が「0」であると判定した場合にはステップS620-15に処理を移し、特別図柄表示タイマのタイマ値が「0」でないと判定した場合には当該特別図柄変動中処理を終了する。
(Step S620-13)
The main CPU 300a determines whether the timer value of the special symbol display timer is "0". As a result, when it is determined that the timer value of the special symbol display timer is "0", the processing is moved to step S620-15, and when it is determined that the timer value of the special symbol display timer is not "0", the End the process during special symbol fluctuation.

(ステップS620-15)
メインCPU300aは、更新対象の特別図柄表示図柄カウンタのカウンタ値を更新し、当該特別図柄変動中処理を終了する。これにより、7セグを構成する各セグメントが、所定時間おきに順次点灯することとなる。
(Step S620-15)
The main CPU 300a updates the counter value of the special symbol display symbol counter to be updated, and ends the special symbol changing process. As a result, the segments that make up the 7 segments are sequentially lit at predetermined time intervals.

(ステップS620-17)
メインCPU300aは、非対象特別図柄が変動表示中であるかを判定する。その結果、非対象特別図柄が変動表示中であると判定した場合にはステップS621に処理を移し、非対象特別図柄が変動表示中でないと判定した場合にはステップS620-19に処理を移す。
(Step S620-17)
The main CPU 300a determines whether or not the non-target special symbol is being variably displayed. As a result, when it is determined that the non-target special symbol is being variably displayed, the process is moved to step S621, and when it is determined that the non-target special symbol is not being variably displayed, the process is moved to step S620-19.

(ステップS621)
メインCPU300aは、図柄強制停止処理を実行する。この図柄強制停止処理については、図42を用いて後述する。
(Step S621)
The main CPU 300a executes symbol forced stop processing. This symbol forced stop processing will be described later with reference to FIG.

(ステップS620-19)
メインCPU300aは、特別遊技管理フェーズを「02H」に更新する。
(Step S620-19)
The main CPU 300a updates the special game management phase to "02H".

(ステップS620-21)
メインCPU300aは、対象の特別図柄表示図柄カウンタに、上記ステップS610-13で決定した特別図柄停止図柄番号(カウンタ値)をセーブする。これにより、第1特別図柄表示器160または第2特別図柄表示器162に、決定された特別図柄が停止表示されることとなる。
(Step S620-21)
The main CPU 300a saves the special symbol stop symbol number (counter value) determined in step S610-13 in the target special symbol display symbol counter. As a result, the determined special symbol is stop-displayed on the first special symbol display 160 or the second special symbol display 162 .

(ステップS620-23)
メインCPU300aは、第1特別図柄表示器160または第2特別図柄表示器162に特別図柄が停止表示されたことを示す特図停止指定コマンドを送信バッファにセットする。
(Step S620-23)
The main CPU 300a sets a special symbol stop designation command indicating that the special symbols are stopped and displayed on the first special symbol display device 160 or the second special symbol display device 162 in the transmission buffer.

(ステップS620-25)
メインCPU300aは、特別図柄を停止表示する時間である特別図柄変動停止時間を特別遊技タイマにセットし、当該特別図柄変動中処理を終了する。
(Step S620-25)
The main CPU 300a sets the special symbol variation stop time, which is the time during which the special symbols are stopped and displayed, in the special game timer, and terminates the special symbol variation process.

図42は、同時回し参考例に係る主制御基板300における図柄強制停止処理(ステップS621)を説明するフローチャートである。 FIG. 42 is a flowchart for explaining the pattern forced stop processing (step S621) in the main control board 300 according to the simultaneous rotation reference example.

(ステップS621-1)
メインCPU300aは、停止表示中(当該)の特別図柄が小当たり図柄であるかを判定する。その結果、小当たり図柄であると判定した場合にはステップS621-3に処理を移し、小当たり図柄ではないと判定した場合にはステップS621-11に処理を移す。
(Step S621-1)
The main CPU 300a determines whether the special symbol that is being displayed (in question) is a small winning symbol. As a result, when it is determined that it is a small winning pattern, the process is moved to step S621-3, and when it is determined that it is not a small winning pattern, the process is moved to step S621-11.

(ステップS621-3)
メインCPU300aは、特別遊技特別図柄判定フラグが00Hであるか、つまり、小当たり図柄が停止表示されたのが、第1特別図柄表示器160であるかを判定する。その結果、特別遊技特別図柄判定フラグが00Hであると判定した場合にはステップS621-11に処理を移し、特別遊技特別図柄判定フラグが00Hではないと判定した場合にはステップS621-5に処理を移す。
(Step S621-3)
The main CPU 300a determines whether the special game special symbol determination flag is 00H, that is, whether the small winning symbol is stopped and displayed on the first special symbol display device 160 or not. As a result, when it is determined that the special game special symbol determination flag is 00H, the process is moved to step S621-11, and when it is determined that the special game special symbol determination flag is not 00H, the process proceeds to step S621-5. to move.

(ステップS621-5)
メインCPU300aは、変動表示中(他方)の特別図柄が大当たり図柄であるかを判定する。その結果、大当たり図柄であると判定した場合にはステップS621-11に処理を移し、大当たり図柄ではないと判定した場合にはステップS621-7に処理を移す。
(Step S621-5)
The main CPU 300a determines whether the (other) special symbol during variable display is a jackpot symbol. As a result, when it is determined that it is a jackpot pattern, the process is shifted to step S621-11, and when it is determined that it is not a jackpot pattern, the process is shifted to step S621-7.

(ステップS621-7)
メインCPU300aは、中断中フラグをオンする。
(Step S621-7)
The main CPU 300a turns on the interrupted flag.

(ステップS621-9)
メインCPU300aは、特別図柄の変動表示を中断する変動中断処理を実行し、当該図柄強制停止処理を終了する。ここでは、変動時間の残り時間や、特別図柄にかかる情報を一時的に所定の記憶領域に退避させる処理を行う。
(Step S621-9)
The main CPU 300a executes a fluctuation interruption process for interrupting the fluctuation display of the special symbols, and terminates the forced symbol stop process. Here, a process of temporarily saving the remaining time of the fluctuation time and the information related to the special symbol in a predetermined storage area is performed.

(ステップS621-11)
メインCPU300aは、図柄が変動表示されている第1特別図柄表示器160または第2特別図柄表示器162にハズレ図柄を強制停止させるとともに、残りの変動時間を強制的に終了させるための変動時間特殊停止フラグをオンにする処理を行い、当該図柄強制停止処理を終了する。
(Step S621-11)
The main CPU 300a forces the first special symbol display device 160 or the second special symbol display device 162 on which the symbols are displayed to variably stop losing symbols, and forcibly terminates the remaining variation time. A process for turning on the stop flag is performed, and the symbol forced stop process is terminated.

上記の処理により、第1特別図柄表示器160に小当たり図柄が停止表示された場合には、第2特別図柄表示器162にハズレ図柄が強制停止表示される。また、第2特別図柄表示器162に小当たり図柄が停止表示された場合、大当たり図柄が第1特別図柄表示器160に最終的に停止表示される変動表示中であれば、第1特別図柄表示器160にハズレ図柄が強制停止表示される。一方、第2特別図柄表示器162に小当たり図柄が停止表示された場合、小当たり図柄またはハズレ図柄が第1特別図柄表示器160に最終的に停止表示される変動表示中であれば、第1特別図柄表示器160における変動表示が一時的に中断されることとなる。 By the above processing, when the small winning symbol is stop-displayed on the first special symbol display 160, the second special symbol display 162 is forcibly stopped-displayed the losing symbol. Further, when the small winning design is stop-displayed on the second special design display device 162, if the big winning design is finally stopped and displayed on the first special design display device 160 during the variable display, the first special design display. A lost symbol is displayed on the device 160 for forced stop. On the other hand, when the small winning design is stop-displayed on the second special design display device 162, if the small winning design or the losing design is in the fluctuation display that is finally stopped and displayed on the first special design display device 160, the second The variable display on the 1 special symbol display 160 is temporarily interrupted.

図43は、同時回し参考例に係る主制御基板300における特別図柄停止図柄表示処理を説明するフローチャートである。 FIG. 43 is a flowchart for explaining a special symbol stop symbol display process in the main control board 300 according to the simultaneous rotation reference example.

(ステップS630-1)
メインCPU300aは、上記ステップS620-25でセットした特別遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別遊技タイマのタイマ値が「0」ではないと判定した場合には当該特別図柄停止図柄表示処理を終了し、特別遊技タイマのタイマ値が「0」であると判定した場合にはステップS630-3に処理を移す。
(Step S630-1)
The main CPU 300a determines whether the timer value of the special game timer set in step S620-25 is not "0". As a result, when it is determined that the timer value of the special game timer is not "0", the special symbol stop symbol display process is terminated, and when it is determined that the timer value of the special game timer is "0". The process moves to step S630-3.

(ステップS630-3)
メインCPU300aは、変動時間特殊停止フラグがオンであるかを判定する。その結果、変動時間特殊停止フラグがオンであると判定した場合にはステップS630-5に処理を移し、変動時間特殊停止フラグがオンでないと判定した場合には当該特別図柄停止図柄表示処理を終了する。
(Step S630-3)
The main CPU 300a determines whether the variable time special stop flag is ON. As a result, when it is determined that the variable time special stop flag is ON, the process is moved to step S630-5, and when it is determined that the variable time special stop flag is not ON, the special symbol stop symbol display process is terminated. do.

(ステップS630-5)
メインCPU300aは、大役抽選の結果を確認する。
(Step S630-5)
The main CPU 300a confirms the result of the big role lottery.

(ステップS630-7)
メインCPU300aは、大役抽選の結果がハズレであるかを判定する。その結果、ハズレであると判定した場合にはステップS630-27に処理を移し、ハズレではないと判定した場合にはステップS630-9に処理を移す。
(Step S630-7)
The main CPU 300a determines whether the result of the big role lottery is a loss. As a result, if it is determined to be a loss, the process moves to step S630-27, and if it is determined to be not a loss, the process moves to step S630-9.

(ステップS630-9)
メインCPU300aは、遊技状態を更新する遊技状態更新処理を行う。ここでは、停止表示中の特別図柄が大当たり図柄である場合に遊技状態を初期状態に設定し、停止表示中の特別図柄が小当たり図柄である場合には、そのまま次の処理に移る。
(Step S630-9)
The main CPU 300a performs a game state update process for updating the game state. Here, the game state is set to the initial state when the special symbol being stopped and displayed is a big winning symbol, and when the special symbol being stopped and displayed is a small winning symbol, the next processing is performed as it is.

(ステップS630-11)
メインCPU300aは、確定した特別図柄の種別に応じて、特別電動役物作動ラムセットテーブルのデータをセットする。なお、メインCPU300aは、変動時間特殊停止フラグがオンである場合にはオフにする。
(Step S630-11)
The main CPU 300a sets the data of the special electric accessary product operating ram set table according to the determined special symbol type. Note that the main CPU 300a turns off the variable time special stop flag when it is on.

(ステップS630-13)
メインCPU300aは、特別電動役物最大作動回数設定処理を行う。具体的には、上記ステップS630-11でセットしたデータを参照し、特別電動役物最大作動回数カウンタに、カウンタ値として所定数(特別図柄の種別に対応するカウンタ値=ラウンド数)をセットする。なお、この特別電動役物最大作動回数カウンタは、これから開始する大役遊技において実行可能なラウンド数を示すものである。一方、メインRAM300cには、特別電動役物連続作動回数カウンタが設けられており、各ラウンド遊技の開始時に、特別電動役物連続作動回数カウンタのカウンタ値を「1」加算することで、現在のラウンド遊技数が管理される。ここでは、大役遊技の開始に伴って、この特別電動役物連続作動回数カウンタのカウンタ値をリセット(「0」に更新)する処理が併せて実行される。
(Step S630-13)
The main CPU 300a performs a special electric accessary product maximum number of times setting process. Specifically, referring to the data set in the above step S630-11, a predetermined number (counter value corresponding to the type of special symbol = number of rounds) is set as a counter value in the special electric accessory maximum operation counter. . It should be noted that this special electric accessory maximum operation number counter indicates the number of rounds that can be executed in the big winning game to be started from now on. On the other hand, the main RAM 300c is provided with a special electric accessory continuous operation number counter, and at the start of each round game, by adding "1" to the counter value of the special electric accessory continuous operation number counter, the current The number of round games is managed. Here, a process of resetting (updating to "0") the counter value of the special electric role product continuous operation number counter is executed together with the start of the big winning game.

(ステップS630-15)
メインCPU300aは、上記ステップS630-11でセットしたデータを参照し、特別電動役物遊技タイマに、タイマ値として所定のオープニング時間をセーブする。
(Step S630-15)
The main CPU 300a refers to the data set in step S630-11 and saves a predetermined opening time as a timer value in the special electric accessory game timer.

(ステップS630-17)
メインCPU300aは、大役遊技の開始を副制御基板330に伝達するためのオープニング指定コマンドを送信バッファにセットする。
(Step S630-17)
The main CPU 300a sets an opening designation command for transmitting the start of the big win game to the sub control board 330 in the transmission buffer.

(ステップS630-19)
メインCPU300aは、大役遊技を開始する場合には特別電動役物遊技管理フェーズを「01H」に更新し、小当たり遊技を開始する場合には特別電動役物遊技管理フェーズを「05H」に更新する。
(Step S630-19)
The main CPU 300a updates the special electric role product game management phase to "01H" when starting the big win game, and updates the special electric role product game management phase to "05H" when starting the small winning game. .

(ステップS630-21)
メインCPU300aは、特別遊技管理フェーズを「00H」に更新する。
(Step S630-21)
The main CPU 300a updates the special game management phase to "00H".

(ステップS630-23)
メインCPU300aは、上記ステップS630-19で更新した特別電動役物遊技管理フェーズが「01H」であるか、すなわち、大当たりかを判定する。その結果、特別電動役物遊技管理フェーズが「01H」であると判定した場合にはステップS630-25に処理を移し、特別電動役物遊技管理フェーズは「01H」ではないと判定した場合には、ステップS630-27に処理を移す。
(Step S630-23)
The main CPU 300a determines whether the special electric role product game management phase updated in step S630-19 is "01H", that is, whether it is a big win. As a result, when it is determined that the special electric role product game management phase is "01H", the process is shifted to step S630-25, and when it is determined that the special electric role product game management phase is not "01H" , the process moves to step S630-27.

(ステップS630-25)
メインCPU300aは、遊技情報出力端子板312から大当たり信号を出力するための大当たり信号出力開始処理を行い、当該特別図柄停止図柄表示処理を終了する。この処理により、大役遊技(オープニング)の開始に伴って大当たり信号が出力されることとなる。なお、遊技情報出力端子板312から出力される信号は複数設けられているが、ここでは、所定の大当たり信号についてのみ説明する。
(Step S630-25)
The main CPU 300a performs a jackpot signal output start process for outputting a jackpot signal from the game information output terminal plate 312, and ends the special symbol stop symbol display process. By this process, a big hit signal is output with the start of the big win game (opening). Although a plurality of signals are provided to be output from the game information output terminal board 312, only a predetermined jackpot signal will be described here.

(ステップS630-27)
メインCPU300aは、特別図柄が確定したときの遊技状態を示す特図確定時遊技状態確認指定コマンドを送信バッファにセットする。
(Step S630-27)
The main CPU 300a sets, in the transmission buffer, a game state confirmation designation command at the time of special symbol determination, which indicates the game state when the special symbol is determined.

(ステップS630-29)
メインCPU300aは、時短終了フラグがオンしているかを判定する。上記したように、時短終了フラグは、時短遊技状態から非時短遊技状態に変更される際の変動開始時に、図40のステップS613-9においてオンされる。すなわち、ここで時短終了フラグがオンしている場合というのは、高確前兆状態における50回目もしくは100回目の変動開始時に、時短抜けによって、普通遊技状態が時短遊技状態から非時短遊技状態に変更された場合である。つまり、ここでは、時短抜け時の変動が終了するときに限り、時短終了フラグがオンしていると判定されることとなる。時短終了フラグがオンしていると判定した場合には、ステップS630-31に処理を移し、時短終了フラグはオンしていないと判定した場合にはステップS630-35に処理を移す。
(Step S630-29)
The main CPU 300a determines whether the time saving end flag is turned on. As described above, the time saving end flag is turned on in step S613-9 of FIG. 40 at the start of fluctuation when changing from the time saving game state to the non-time saving game state. That is, if the time saving end flag is turned on here, at the time of the 50th or 100th fluctuation start in the high probability omen state, the normal game state is changed from the time saving game state to the non-time saving game state due to the time saving omission is the case. That is, here, it is determined that the time saving end flag is ON only when the fluctuation at the time of time saving time ends. If it is determined that the time saving end flag is turned on, the process moves to step S630-31, and if it is determined that the time saving end flag is not turned on, the process moves to step S630-35.

(ステップS630-31)
メインCPU300aは、遊技情報出力端子板312から出力されている大当たり信号を停止するための大当たり信号出力停止処理を行う。すなわち、大当たり信号は、大役遊技中もしくは時短遊技状態中に出力されることとなる。
(Step S630-31)
The main CPU 300 a performs jackpot signal output stop processing for stopping the jackpot signal output from the game information output terminal plate 312 . That is, the jackpot signal is output during the big win game or during the time saving game state.

(ステップS630-33)
メインCPU300aは、時短終了フラグをオフする。
(Step S630-33)
The main CPU 300a turns off the time saving end flag.

(ステップS630-35)
メインCPU300aは、特別遊技管理フェーズを「00H」に更新し、当該特別図柄停止図柄表示処理を終了する。
(Step S630-35)
The main CPU 300a updates the special game management phase to "00H" and terminates the special symbol stop symbol display process.

図44は、同時回し参考例に係る主制御基板300における特別電動役物遊技管理処理(ステップS700)を説明するフローチャートである。 FIG. 44 is a flowchart for explaining the special electric role product game management process (step S700) in the main control board 300 according to the simultaneous turning reference example.

(ステップS700-1)
メインCPU300aは、特別電動役物遊技管理フェーズをロードする。
(Step S700-1)
The main CPU 300a loads the special electric accessory game management phase.

(ステップS700-3)
メインCPU300aは、上記ステップS700-1でロードした特別電動役物遊技管理フェーズが、「00H」であるかを判定する。すなわち、ここでは、現在、大役遊技中および小当たり遊技中でないかを判定することとなる。特別電動役物遊技管理フェーズが「00H」であると判定した場合には当該特別電動役物遊技管理処理を終了し、特別電動役物遊技管理フェーズが「00H」でないと判定した場合にはステップS700-5に処理を移す。
(Step S700-3)
The main CPU 300a determines whether the special electric role product game management phase loaded in step S700-1 is "00H". That is, here, it is now determined whether or not during the big win game and during the small winning game. When it is determined that the special electric role product game management phase is "00H", the special electric role product game management process is terminated, and when it is determined that the special electric role product game management phase is not "00H", step The process moves to S700-5.

(ステップS700-5)
メインCPU300aは、上記ステップS700-1でロードした特別電動役物遊技管理フェーズに対応する特別電動役物遊技制御モジュールを選択する。
(Step S700-5)
The main CPU 300a selects the special electric role product game control module corresponding to the special electric role product game management phase loaded in step S700-1.

(ステップS700-7)
メインCPU300aは、上記ステップS700-5で選択した特別電動役物遊技制御モジュールをコールして処理を開始する。
(Step S700-7)
The main CPU 300a calls the special electric accessory game control module selected in step S700-5 and starts processing.

(ステップS700-9)
メインCPU300aは、特別電動役物遊技の制御時間を管理する特別電動役物遊技タイマをロードし、当該特別電動役物遊技管理処理を終了する。
(Step S700-9)
The main CPU 300a loads a special electric role product game timer that manages the control time of the special electric role product game, and ends the special electric role product game management process.

図45は、同時回し参考例に係る主制御基板300における大入賞口開放前処理を説明するフローチャートである。この大入賞口開放前処理は、特別電動役物遊技管理フェーズが「01H」、「05H」であった場合に実行される。 FIG. 45 is a flowchart for explaining the big winning opening pre-opening process in the main control board 300 according to the simultaneous spinning reference example. This big winning hole pre-opening process is executed when the special electric role product game management phase is "01H" and "05H".

(ステップS710-1)
メインCPU300aは、上記ステップS630-15等でセットした特別電動役物遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別電動役物遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口開放前処理を終了し、特別電動役物遊技タイマのタイマ値が「0」であると判定した場合にはステップS710-3に処理を移す。
(Step S710-1)
The main CPU 300a determines whether the timer value of the special electric role product game timer set in step S630-15 or the like is not "0". As a result, when it is determined that the timer value of the special electric role-playing game timer is not "0", the big winning opening pre-opening process is terminated, and the timer value of the special electric role-playing game timer is "0". If so, the process moves to step S710-3.

(ステップS710-3)
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
(Step S710-3)
The main CPU 300a updates the counter value of the special electric accessory continuous operation number counter to a value obtained by adding "1" to the current counter value.

(ステップS710-5)
メインCPU300aは、大入賞口の開放開始(ラウンド遊技の開始)を副制御基板330に伝達するための大入賞口開放指定コマンドを送信バッファにセットする。
(Step S710-5)
The main CPU 300a sets, in the transmission buffer, a command for specifying the opening of the large winning opening (the start of the round game) to the sub-control board 330. FIG.

(ステップS711)
メインCPU300aは、大入賞口開閉切替処理を実行する。この大入賞口開閉切替処理については後述する。
(Step S711)
The main CPU 300a executes the big winning opening opening/closing switching process. This special winning opening opening/closing switching process will be described later.

(ステップS710-7)
メインCPU300aは、特別電動役物遊技管理フェーズを、現在の値に01Hを加算した値(「02H」または「06H」)に更新し、当該大入賞口開放前処理を終了する。
(Step S710-7)
The main CPU 300a updates the special electric role product game management phase to a value obtained by adding 01H to the current value ("02H" or "06H"), and terminates the pre-opening processing for the big winning opening.

図46は、同時回し参考例に係る主制御基板300における大入賞口開閉切替処理(S711)を説明するフローチャートである。 FIG. 46 is a flowchart for explaining the big winning opening open/close switching process (S711) in the main control board 300 according to the simultaneous spinning reference example.

(ステップS711-1)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数(1回のラウンド遊技中における大入賞口の開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該大入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS711-3に処理を移す。
(Step S711-1)
The main CPU 300a determines whether the counter value of the special electric role product opening/closing switching frequency counter is the upper limit value of the special electric role product opening/closing switching frequency (the number of opening/closing times of the big winning opening during one round game). As a result, when it is determined that the counter value is the upper limit value, the big winning opening opening/closing switching process is terminated, and when it is determined that the counter value is not the upper limit value, the process is shifted to step S711-3.

(ステップS711-3)
メインCPU300aは、特別電動役物作動ラムセットテーブルのデータを参照し、特別電動役物開閉切替回数カウンタのカウンタ値に基づいて、第1大入賞口ソレノイド126c、第2大入賞口ソレノイド128cを通電制御するためのソレノイド制御データ、および、通電時間もしくは通電停止時間であるタイムデータを抽出する。
(Step S711-3)
The main CPU 300a refers to the data in the special electric role product operating ramset table, and energizes the first big prize opening solenoid 126c and the second big prize opening solenoid 128c based on the counter value of the special electric role product opening/closing switching frequency counter. Solenoid control data for control and time data representing the energization time or energization stop time are extracted.

(ステップS711-5)
メインCPU300aは、上記ステップS711-3で抽出したソレノイド制御データに基づいて、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電を開始するか、もしくは、通電を停止するための大入賞口ソレノイド通電制御処理を実行する。この大入賞口ソレノイド通電制御処理の実行により、上記ステップS400-33およびステップS400-35において、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電開始もしくは通電停止の制御がなされることとなる。
(Step S711-5)
Based on the solenoid control data extracted in step S711-3, the main CPU 300a starts energizing the first big winning opening solenoid 126c or the second big winning opening solenoid 128c, or determines whether to stop the energization. Winning opening solenoid energization control processing is executed. By executing this big winning opening solenoid energization control process, in steps S400-33 and S400-35, energization start or stop of the first big winning opening solenoid 126c or the second big winning opening solenoid 128c is controlled. It will happen.

(ステップS711-7)
メインCPU300aは、上記ステップS711-3で抽出したタイムデータに基づくタイマ値を、特別電動役物遊技タイマにセーブする。なお、ここで特別電動役物遊技タイマにセーブされるタイマ値は、大入賞口の1回の最大開放時間となる。
(Step S711-7)
The main CPU 300a saves the timer value based on the time data extracted in step S711-3 in the special electric accessory game timer. It should be noted that the timer value saved in the special electric accessory game timer here is the maximum opening time for one time of the big winning opening.

(ステップS711-9)
メインCPU300aは、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電開始状態か、すなわち、上記ステップS711-5において、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電を開始する制御処理がなされたかを判定する。その結果、通電開始状態であると判定した場合にはステップS711-11に処理を移し、通電開始状態ではないと判定した場合には当該大入賞口開閉切替処理を終了する。
(Step S711-9)
The main CPU 300a determines whether the energization of the first big winning opening solenoid 126c or the second big winning opening solenoid 128c is started, that is, the first big winning opening solenoid 126c or the second big winning opening solenoid 128c in step S711-5. It is determined whether a control process for starting energization has been performed. As a result, when it is determined that it is in the energization start state, the process is moved to step S711-11, and when it is determined that it is not in the energization start state, the big winning opening opening/closing switching process is ended.

(ステップS711-11)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新し、当該大入賞口開閉切替処理を終了する。
(Step S711-11)
The main CPU 300a updates the counter value of the special electric accessory opening/closing switching frequency counter to a value obtained by adding "1" to the current counter value, and ends the big winning opening opening/closing switching process.

図47は、同時回し参考例に係る主制御基板300における大入賞口開放制御処理を説明するフローチャートである。この大入賞口開放制御処理は、特別電動役物遊技管理フェーズが「02H」、「06H」であった場合に実行される。 FIG. 47 is a flowchart for explaining the big winning opening opening control process in the main control board 300 according to the simultaneous spinning reference example. This big winning opening control process is executed when the special electric role product game management phase is "02H" or "06H".

(ステップS720-1)
メインCPU300aは、上記ステップS711-7でセーブした特別電動役物遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別電動役物遊技タイマのタイマ値が「0」ではないと判定した場合にはステップS720-5に処理を移し、特別電動役物遊技タイマのタイマ値が「0」であると判定した場合にはステップS720-3に処理を移す。
(Step S720-1)
The main CPU 300a determines whether the timer value of the special electric accessory game timer saved in step S711-7 is not "0". As a result, if it is determined that the timer value of the special electric auditors game timer is not "0", the process is shifted to step S720-5, and it is determined that the timer value of the special electric auditors game timer is "0". If so, the process moves to step S720-3.

(ステップS720-3)
メインCPU300aは、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合にはステップS720-7に処理を移し、カウンタ値は上限値ではないと判定した場合にはステップS711に処理を移す。
(Step S720-3)
The main CPU 300a determines whether the counter value of the special electric accessory opening/closing switching frequency counter is the upper limit value of the special electric accessory opening/closing switching frequency. As a result, if it is determined that the counter value is the upper limit value, the process moves to step S720-7, and if it is determined that the counter value is not the upper limit value, the process moves to step S711.

(ステップS711)
上記ステップS720-3において、特別電動役物開閉切替回数カウンタのカウンタ値が、特別電動役物開閉切替回数の上限値ではないと判定した場合には、メインCPU300aは、上記ステップS711の処理を実行する。
(Step S711)
In the above step S720-3, when it is determined that the counter value of the special electric role product open/close switching frequency counter is not the upper limit value of the special electric role product opening/closing switching frequency, the main CPU 300a executes the processing of step S711. do.

(ステップS720-5)
メインCPU300aは、上記ステップS500-9で更新された大入賞口入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、大入賞口に、1ラウンド中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該大入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS720-7に処理を移す。
(Step S720-5)
The main CPU 300a determines whether the counter value of the big winning hole winning ball number counter updated in step S500-9 has reached the specified number. It is determined whether or not the game ball has entered. As a result, when it is determined that the specified number has not been reached, the big winning opening opening control process is terminated, and when it is determined that the specified number has been reached, the process proceeds to step S720-7.

(ステップS720-7)
メインCPU300aは、第1大入賞口ソレノイド126cまたは第2大入賞口ソレノイド128cの通電を停止して大入賞口を閉鎖するために必要な大入賞口閉鎖処理を実行する。これにより、大入賞口は閉鎖状態となる。
(Step S720-7)
The main CPU 300a stops the energization of the first big winning opening solenoid 126c or the second big winning opening solenoid 128c, and executes the big winning opening closing process necessary to close the big winning opening. As a result, the big winning opening is closed.

(ステップS720-9)
メインCPU300aは、大入賞口閉鎖有効時間(インターバル時間)を特別電動役物遊技タイマにセーブする。
(Step S720-9)
The main CPU 300a saves the large winning opening closing valid time (interval time) in the special electric accessory game timer.

(ステップS720-11)
メインCPU300aは、特別電動役物遊技管理フェーズを、現在の値に01Hを加算した値(「03H」または「07H」)に更新する。
(Step S720-11)
The main CPU 300a updates the special electric role product game management phase to a value obtained by adding 01H to the current value ("03H" or "07H").

(ステップS720-13)
メインCPU300aは、大入賞口が閉鎖されたことを示す大入賞口閉鎖指定コマンドを送信バッファにセットし、当該大入賞口開放制御処理を終了する。
(Step S720-13)
The main CPU 300a sets, in the transmission buffer, a large winning opening closing designation command indicating that the large winning opening is closed, and ends the special winning opening opening control process.

図48は、同時回し参考例に係る主制御基板300における大入賞口閉鎖有効処理を説明するフローチャートである。この大入賞口閉鎖有効処理は、特別電動役物遊技管理フェーズが「03H」、「07H」であった場合に実行される。 FIG. 48 is a flowchart for explaining the large winning opening closing effective process in the main control board 300 according to the simultaneous spinning reference example. This big winning opening closing valid process is executed when the special electric role product game management phase is "03H" or "07H".

(ステップS730-1)
メインCPU300aは、上記ステップS720-9でセーブした特別電動役物遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別電動役物遊技タイマのタイマ値が「0」でないと判定した場合には当該大入賞口閉鎖有効処理を終了し、特別電動役物遊技タイマのタイマ値が「0」であると判定した場合にはステップS730-3に処理を移す。
(Step S730-1)
The main CPU 300a determines whether the timer value of the special electric accessory game timer saved in step S720-9 is not "0". As a result, when it is determined that the timer value of the special electric role-playing game timer is not "0", the big winning opening closing effective process is terminated, and the timer value of the special electric role-playing game timer is "0". If so, the process moves to step S730-3.

(ステップS730-3)
メインCPU300aは、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致するか、すなわち、予め設定された回数のラウンド遊技が終了したかを判定する。その結果、特別電動役物連続作動回数カウンタのカウンタ値が、特別電動役物最大作動回数カウンタのカウンタ値と一致すると判定した場合にはステップS730-9に処理を移し、一致しないと判定した場合にはステップS730-5に処理を移す。
(Step S730-3)
The main CPU 300a determines whether the counter value of the special electric role product continuous operation frequency counter matches the counter value of the special electric role product maximum operation frequency counter, that is, whether the preset number of round games has ended. . As a result, if it is determined that the counter value of the special electric accessory continuous operation number counter matches the counter value of the special electric accessory maximum operation number counter, the process is moved to step S730-9, and if it is determined that they do not match to step S730-5.

(ステップS730-5)
メインCPU300aは、特別電動役物遊技管理フェーズを「01H」に更新する。なお、特別電動役物遊技管理フェーズが07Hである場合、すなわち、小当たり遊技の制御中は、小当たり遊技のラウンド遊技回数が「1」であることから、上記ステップS730-3で必ずYESと判定され、当該ステップに処理が移行することはない。
(Step S730-5)
The main CPU 300a updates the special electric accessory game management phase to "01H". In addition, when the special electric role product game management phase is 07H, that is, during the control of the small winning game, the number of round games of the small winning game is "1", so the step S730-3 is always YES. It is determined, and the process does not move to the step concerned.

(ステップS730-7)
メインCPU300aは、所定の大入賞口閉鎖時間を特別遊技タイマにセーブし、当該大入賞口閉鎖有効処理を終了する。これにより、次のラウンド遊技が開始されることとなる。
(Step S730-7)
The main CPU 300a saves a predetermined large winning opening closing time in the special game timer, and ends the special winning opening closing effective process. As a result, the next round game is started.

(ステップS730-9)
メインCPU300aは、エンディング時間を特別電動役物遊技タイマにセーブするエンディング時間設定処理を実行する。
(Step S730-9)
The main CPU 300a executes an ending time setting process for saving the ending time in the special electric accessory game timer.

(ステップS730-11)
メインCPU300aは、特別電動役物遊技管理フェーズを、現在の値に01Hを加算した値(「04H」または「08H」)に更新する。
(Step S730-11)
The main CPU 300a updates the special electric accessory game management phase to a value obtained by adding 01H to the current value ("04H" or "08H").

(ステップS730-13)
メインCPU300aは、エンディングの開始を示すエンディング指定コマンドを送信バッファにセットし、当該大入賞口閉鎖有効処理を終了する。
(Step S730-13)
The main CPU 300a sets an ending designation command indicating the start of the ending in the transmission buffer, and terminates the special winning opening closing enable process.

図49は、同時回し参考例に係る主制御基板300における大入賞口終了ウェイト処理を説明するフローチャートである。この大入賞口終了ウェイト処理は、特別電動役物遊技管理フェーズが「04H」、「08H」であった場合に実行される。 FIG. 49 is a flowchart for explaining the big winning opening end wait process in the main control board 300 according to the simultaneous spinning reference example. This big winning opening end wait process is executed when the special electric role product game management phase is "04H" or "08H".

(ステップS740-1)
メインCPU300aは、上記ステップS730-9でセーブした特別電動役物遊技タイマのタイマ値が「0」でないかを判定する。その結果、特別電動役物遊技タイマのタイマ値が「0」ではないと判定した場合には当該大入賞口終了ウェイト処理を終了し、特別電動役物遊技タイマのタイマ値が「0」であると判定した場合にはステップS740-3に処理を移す。
(Step S740-1)
The main CPU 300a determines whether the timer value of the special electric accessory game timer saved in step S730-9 is not "0". As a result, when it is determined that the timer value of the special electric role-playing game timer is not "0", the big winning opening end wait process is terminated, and the timer value of the special electric role-playing game timer is "0". If so, the process moves to step S740-3.

(ステップS740-3)
メインCPU300aは、特別電動役物遊技管理フェーズが「08H」であるか、すなわち、小当たり遊技の終了であるかを判定する。その結果、特別電動役物遊技管理フェーズが「08H」であると判定した場合にはステップS740-11に処理を移し、特別電動役物遊技管理フェーズは「08H」ではないと判定した場合にはステップS740-5に処理を移す。
(Step S740-3)
The main CPU 300a determines whether the special electric role product game management phase is "08H", that is, whether the small winning game is finished. As a result, when it is determined that the special electric role product game management phase is "08H", the process is moved to step S740-11, and when it is determined that the special electric role product game management phase is not "08H" The process moves to step S740-5.

(ステップS740-5)
メインCPU300aは、大役遊技終了後の遊技状態を設定するための状態設定処理を実行する。ここでは、上記ステップS610-17で予備領域に設定した遊技状態や高確回数、時短回数をロードし、大役遊技後の遊技状態として各フラグの設定やカウンタ値をセットする。
(Step S740-5)
The main CPU 300a executes state setting processing for setting the game state after the end of the big win game. Here, the game state set in the preliminary area in step S610-17, the number of times of high accuracy, and the number of times of time saving are loaded, and the setting of each flag and the counter value are set as the game state after the big win game.

(ステップS740-7)
メインCPU300aは、上記ステップS740-5において、普通遊技状態が非時短遊技状態に設定されたかを判定する。その結果、非時短遊技状態に設定されたと判定した場合にはステップS740-9に処理を移し、非時短遊技状態に設定されていないと判定した場合にはステップS740-21に処理を移す。
(Step S740-7)
The main CPU 300a determines whether or not the normal game state has been set to the non-time-saving game state in step S740-5. As a result, when it is determined that the non-time-saving gaming state has been set, the process proceeds to step S740-9, and when it is determined that the non-time-saving gaming state is not set, the process proceeds to step S740-21.

(ステップS740-9)
メインCPU300aは、遊技情報出力端子板312から出力されている大当たり信号を停止するための大当たり信号出力停止処理を行う。すなわち、大役遊技後に最優位状態に設定される場合には、大役遊技の終了とともに、大当たり信号の出力が停止されることとなる。
(Step S740-9)
The main CPU 300 a performs jackpot signal output stop processing for stopping the jackpot signal output from the game information output terminal plate 312 . That is, when the highest priority state is set after the big win game, the output of the big win signal is stopped with the end of the big win game.

(ステップS740-11)
メインCPU300aは、現在の遊技状態が高確前兆状態(高確率遊技状態かつ時短遊技状態)であるかを判定する。その結果、高確前兆状態であると判定した場合にはステップS740-13に処理を移し、高確前兆状態ではないと判定した場合にはステップS740-21に処理を移す。
(Step S740-11)
The main CPU 300a determines whether the current gaming state is a high-probability precursor state (high-probability gaming state and time-saving gaming state). As a result, if it is determined that the state is a highly probable portent state, the process proceeds to step S740-13, and if it is determined that the state is not a highly probable portent state, the process proceeds to step S740-21.

(ステップS740-13)
メインCPU300aは、停止表示された小当たり図柄が特別図柄Z1であるかを判定する。その結果、特別図柄Z1であると判定した場合にはステップS740-15に処理を移し、特別図柄Z1ではないと判定した場合にはステップS740-21に処理を移す。
(Step S740-13)
The main CPU 300a determines whether or not the stop-displayed small winning symbol is the special symbol Z1. As a result, when it is determined that it is the special design Z1, the process is moved to step S740-15, and when it is determined that it is not the special design Z1, the process is moved to step S740-21.

(ステップS740-15)
メインCPU300aは、普通遊技状態を非時短遊技状態に変更するべく、時短状態フラグをセットする。これにより、高確前兆状態において特別図柄Z1が決定された場合には、その小当たり遊技の終了時に、遊技状態が最優位状態に変更されることとなる。
(Step S740-15)
The main CPU 300a sets a time saving state flag in order to change the normal game state to a non time saving game state. As a result, when the special symbol Z1 is determined in the high-probability portent state, the game state is changed to the most dominant state at the end of the small winning game.

(ステップS740-17)
メインCPU300aは、時短回数カウンタをリセットするカウンタリセット処理を行う。
(Step S740-17)
The main CPU 300a performs a counter reset process for resetting the time saving number counter.

(ステップS740-19)
メインCPU300aは、遊技情報出力端子板312から出力されている大当たり信号を停止するための大当たり信号出力停止処理を行う。すなわち、特別図柄Z1に当選して小当たり遊技後に最優位状態に設定される場合には、小当たり遊技の終了とともに、大当たり信号の出力が停止されることとなる。
(Step S740-19)
The main CPU 300 a performs jackpot signal output stop processing for stopping the jackpot signal output from the game information output terminal plate 312 . That is, when the special symbol Z1 is won and the highest priority state is set after the small winning game is played, the output of the big winning signal is stopped when the small winning game ends.

(ステップS740-21)
メインCPU300aは、大役遊技の終了後に設定される遊技状態を伝達するための遊技状態変化指定コマンドを送信バッファにセットする。
(Step S740-21)
The main CPU 300a sets, in the transmission buffer, a game state change designation command for transmitting the game state to be set after the end of the big win game.

(ステップS740-23)
メインCPU300aは、高確回数、時短回数に対応する回数コマンドを送信バッファにセットする。
(Step S740-23)
The main CPU 300a sets a frequency command corresponding to the high accuracy frequency and the time saving frequency in the transmission buffer.

(ステップS740-25)
メインCPU300aは、特別電動役物遊技管理フェーズを「00H」に更新し、当該大入賞口終了ウェイト処理を終了する。これにより、特1保留または特2保留が記憶されている場合には、図柄の変動表示が再開されることとなる。
(Step S740-25)
The main CPU 300a updates the special electric role product game management phase to "00H", and ends the big winning opening end wait process. As a result, when special 1 suspension or special 2 suspension is stored, the variable display of the symbols is resumed.

図50は、同時回し参考例に係る普通遊技管理フェーズを説明する図である。既に説明したとおり、同時回し参考例では、ゲート124への遊技球の通過もしくは普図作動口125への遊技球の入球を契機とする普通遊技に係る処理が、段階的に、かつ、繰り返し実行されるが、主制御基板300では、こうした普通遊技に係る各処理を普通遊技管理フェーズによって管理している。 FIG. 50 is a diagram for explaining the normal game management phase according to the simultaneous spinning reference example. As already explained, in the simultaneous turning reference example, the processing related to the normal game triggered by the passage of the game ball to the gate 124 or the entry of the game ball to the normal pattern operation port 125 is stepwise and repeated. Although it is executed, in the main control board 300, each process related to such a normal game is managed by the normal game management phase.

図50に示すように、メインROM300bには、普通遊技を実行制御するための複数の普通遊技制御モジュールが格納されており、これら普通遊技制御モジュールごとに、普通遊技管理フェーズが対応付けられている。具体的には、普通遊技管理フェーズが「00H」である場合には、「普通図柄変動待ち処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「01H」である場合には、「普通図柄変動中処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「02H」である場合には、「普通図柄停止図柄表示処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「03H」である場合には、「普通電動役物入賞口開放前処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「04H」である場合には、「普通電動役物入賞口開放制御処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「05H」である場合には、「普通電動役物入賞口閉鎖有効処理」を実行するためのモジュールがコールされ、普通遊技管理フェーズが「06H」である場合には、「普通電動役物入賞口終了ウェイト処理」を実行するためのモジュールがコールされる。 As shown in FIG. 50, the main ROM 300b stores a plurality of normal game control modules for controlling execution of a normal game, and each normal game control module is associated with a normal game management phase. . Specifically, when the normal game management phase is "00H", a module for executing the "normal symbol variation waiting process" is called, and when the normal game management phase is "01H", A module for executing a "normal symbol fluctuating process" is called, and when the normal game management phase is "02H", a module for executing a "normal symbol stop symbol display process" is called and normal When the game management phase is "03H", a module for executing "ordinary electric accessory winning opening preprocessing" is called, and when the normal game management phase is "04H", "normal When the module for executing the "Electric Accessory Item Winning Portion Open Control Process" is called and the normal game management phase is "05H", the module for executing the "Normal Electric Accessory Item Winning Portion Closing Effective Processing" is called, and when the normal game management phase is "06H", a module for executing "normal electric accessory winning opening end wait process" is called.

図51は、同時回し参考例に係る主制御基板300における普通遊技管理処理(ステップS800)を説明するフローチャートである。 FIG. 51 is a flowchart for explaining normal game management processing (step S800) in the main control board 300 according to the simultaneous spinning reference example.

(ステップS800-1)
メインCPU300aは、普通遊技管理フェーズをロードする。
(Step S800-1)
The main CPU 300a loads the normal game management phase.

(ステップS800-3)
メインCPU300aは、上記ステップS800-1でロードした普通遊技管理フェーズに対応する普通遊技制御モジュールを選択する。
(Step S800-3)
The main CPU 300a selects the normal game control module corresponding to the normal game management phase loaded in step S800-1.

(ステップS800-5)
メインCPU300aは、上記ステップS800-3で選択した普通遊技制御モジュールをコールして処理を開始する。
(Step S800-5)
The main CPU 300a calls the normal game control module selected in step S800-3 and starts processing.

(ステップS800-7)
メインCPU300aは、普通遊技の制御時間を管理する普通遊技タイマをロードする。
(Step S800-7)
The main CPU 300a loads a normal game timer that manages the normal game control time.

図52は、同時回し参考例に係る主制御基板300における普通図柄変動待ち処理を説明するフローチャートである。この普通図柄変動待ち処理は、普通遊技管理フェーズが「00H」であった場合に実行される。 FIG. 52 is a flowchart for explaining normal symbol variation waiting processing in the main control board 300 according to the simultaneous turning reference example. This normal symbol variation waiting process is normally executed when the game management phase is "00H".

(ステップS810-1)
メインCPU300aは、普通図柄保留球数カウンタのカウンタ値をロードし、カウンタ値が「0」であるか、すなわち、普図保留が「0」であるかを判定する。その結果、カウンタ値が「0」であると判定した場合には当該普通図柄変動待ち処理を終了し、カウンタ値は「0」ではないと判定した場合にはステップS810-3に処理を移す。
(Step S810-1)
The main CPU 300a loads the counter value of the normal symbol reserved ball number counter and determines whether the counter value is "0", that is, whether the normal pattern reserved ball number counter is "0". As a result, when it is determined that the counter value is "0", the normal symbol variation waiting process is ended, and when it is determined that the counter value is not "0", the process is moved to step S810-3.

(ステップS810-3)
メインCPU300aは、普図保留記憶領域の第1記憶部~第4記憶部に記憶されている普図保留(当たり決定乱数)を、1つ序数の小さい記憶部にブロック転送する。具体的には、第2記憶部~第4記憶部に記憶されている普図保留を、第1記憶部~第3記憶部に転送する。また、メインRAM300cには、処理対象となる第0記憶部が設けられており、第1記憶部に記憶されている普図保留を、第0記憶部に転送する。なお、この普通図柄記憶エリアシフト処理においては、普通図柄保留球数カウンタのカウンタ値を「1」減算するとともに、普図保留が「1」減算したことを示す、普図保留減指定コマンドを送信バッファにセットする。
(Step S810-3)
The main CPU 300a block-transfers the general pattern reservation (hitting decision random number) stored in the first to fourth storage units of the general pattern reservation storage area to the storage unit with a lower ordinal number. Specifically, the general map hold stored in the second to fourth storage units is transferred to the first to third storage units. In addition, the main RAM 300c is provided with a 0th storage unit to be processed, and transfers the normal pattern suspension stored in the 1st storage unit to the 0th storage unit. In addition, in this normal design storage area shift process, the counter value of the normal design reservation ball number counter is decremented by "1", and a normal design reservation reduction designation command is transmitted to indicate that the normal design reservation has subtracted "1". set in the buffer.

(ステップS810-5)
メインCPU300aは、第0記憶部に転送された当たり決定乱数をロードし、現在の遊技状態に対応する当たり決定乱数判定テーブルを選択して普図抽選を行い、その抽選結果を記憶する普通図柄当たり判定処理を実行する。
(Step S810-5)
The main CPU 300a loads the winning determination random number transferred to the 0th storage unit, selects a winning determination random number determination table corresponding to the current game state, performs a general pattern lottery, and stores the lottery result. Execute the judgment process.

(ステップS810-7)
メインCPU300aは、上記ステップS810-5の普図抽選の結果に対応する普通図柄停止図柄番号をセーブする。なお、同時回し参考例では、普通図柄表示器168は1つのLEDランプで構成されており、当たりの場合には普通図柄表示器168を点灯させ、ハズレの場合には普通図柄表示器168を消灯させる。ここで決定する普通図柄停止図柄番号は、最終的に普通図柄表示器168を点灯するか否かを示すものであり、例えば、当たりに当選した場合には、普通図柄停止図柄番号として「0」が決定され、ハズレの場合には、普通図柄停止図柄番号として「1」が決定される。
(Step S810-7)
The main CPU 300a saves the normal symbol stop symbol number corresponding to the result of the normal symbol lottery in step S810-5. In the simultaneous turning reference example, the normal symbol display 168 is composed of one LED lamp. Let The normal symbol stop symbol number determined here indicates whether or not the normal symbol display 168 is finally lit. is determined, and in the case of a loss, "1" is determined as the normal symbol stop symbol number.

(ステップS810-9)
メインCPU300aは、現在の遊技状態を確認し、対応する普通図柄変動時間データテーブルを選択してセットする。
(Step S810-9)
The main CPU 300a confirms the current game state, selects and sets the corresponding normal symbol variation time data table.

(ステップS810-11)
メインCPU300aは、上記ステップS810-3で第0記憶部に転送した当たり決定乱数と、上記ステップS810-9でセットした普通図柄変動時間データテーブルとに基づいて、普通図柄変動時間を決定する。
(Step S810-11)
The main CPU 300a determines the normal symbol variation time based on the hit determination random number transferred to the 0th storage unit in step S810-3 and the normal symbol variation time data table set in step S810-9.

(ステップS810-13)
メインCPU300aは、上記ステップS810-11で決定した普通図柄変動時間を普通遊技タイマにセーブする。
(Step S810-13)
The main CPU 300a saves the normal symbol fluctuation time determined in step S810-11 in the normal game timer.

(ステップS810-15)
メインCPU300aは、普通図柄表示器168において、普通図柄の変動表示を開始するために、普通図柄表示図柄カウンタを設定する処理を実行する。この普通図柄表示図柄カウンタに、カウンタ値として例えば「0」が設定されている場合には普通図柄表示器168が点灯制御され、カウンタ値として「1」が設定されている場合には普通図柄表示器168が消灯制御される。ここでは、普通図柄の変動表示の開始時に所定のカウンタ値が普通図柄表示図柄カウンタに設定されることとなる。
(Step S810-15)
The main CPU 300a executes a process of setting a normal symbol display symbol counter in the normal symbol display device 168 in order to start variable display of normal symbols. For example, when "0" is set as the counter value in this normal design display pattern counter, the lighting of the normal design display 168 is controlled, and when "1" is set as the counter value, the normal design is displayed. device 168 is controlled to turn off. Here, a predetermined counter value is set in the normal symbol display symbol counter at the start of variable display of normal symbols.

(ステップS810-17)
メインCPU300aは、普図保留記憶領域に記憶されている普図保留数を示す普図保留指定コマンドを送信バッファにセットする。
(Step S810-17)
The main CPU 300a sets a general pattern reservation specification command indicating the general pattern reservation number stored in the general pattern reservation storage area in the transmission buffer.

(ステップS810-19)
メインCPU300aは、上記ステップS810-7で決定された普通図柄停止図柄番号、すなわち、普通図柄当たり判定処理によって決定された図柄種別(当たり図柄またはハズレ図柄)に基づいて、普通図柄指定コマンドを送信バッファにセットする。
(Step S810-19)
The main CPU 300a sends a normal symbol designation command to the transmission buffer based on the normal symbol stop symbol number determined in step S810-7, that is, the symbol type (hit symbol or losing symbol) determined by the normal symbol win determination process. set to

(ステップS810-21)
メインCPU300aは、普通遊技管理フェーズを「01H」に更新し、当該普通図柄変動待ち処理を終了する。
(Step S810-21)
The main CPU 300a updates the normal game management phase to "01H" and terminates the normal symbol variation waiting process.

図53は、同時回し参考例に係る主制御基板300における普通図柄変動中処理を説明するフローチャートである。この普通図柄変動中処理は、普通遊技管理フェーズが「01H」であった場合に実行される。 FIG. 53 is a flow chart for explaining the process during normal symbol fluctuation in the main control board 300 according to the simultaneous turning reference example. This process during normal symbol fluctuation is normally executed when the game management phase is "01H".

(ステップS820-1)
メインCPU300aは、上記ステップS810-13でセーブした普通遊技タイマのタイマ値が「0」であるかを判定する。その結果、タイマ値が「0」であった場合にはステップS820-9に処理を移し、タイマ値が「0」ではなかった場合にはステップS820-3に処理を移す。
(Step S820-1)
The main CPU 300a determines whether the timer value of the normal game timer saved in step S810-13 is "0". As a result, if the timer value is "0", the process moves to step S820-9, and if the timer value is not "0", the process moves to step S820-3.

(ステップS820-3)
メインCPU300aは、普通図柄表示器168の点灯時間および消灯時間を計時する普通図柄表示タイマを更新する。具体的には、普通図柄表示タイマのタイマ値が「0」であった場合には、所定のタイマ値がセットされ、タイマ値が「1」以上であった場合には、現在のタイマ値から「1」減算した値にタイマ値を更新する。
(Step S820-3)
The main CPU 300a updates the normal symbol display timer that times the lighting time and the extinguishing time of the normal symbol display 168 . Specifically, when the timer value of the normal symbol display timer is "0", a predetermined timer value is set, and when the timer value is "1" or more, from the current timer value Update the timer value to the value decremented by "1".

(ステップS820-5)
メインCPU300aは、普通図柄表示タイマのタイマ値が「0」であるかを判定する。その結果、普通図柄表示タイマのタイマ値が「0」であると判定した場合にはステップS820-7に処理を移し、普通図柄表示タイマのタイマ値が「0」でないと判定した場合には当該普通図柄変動中処理を終了する。
(Step S820-5)
The main CPU 300a determines whether the timer value of the normal symbol display timer is "0". As a result, when it is determined that the timer value of the normal symbol display timer is "0", the processing is shifted to step S820-7, and when it is determined that the timer value of the normal symbol display timer is not "0", the The process during normal design fluctuation is ended.

(ステップS820-7)
メインCPU300aは、普通図柄表示図柄カウンタのカウンタ値を更新する。ここでは、普通図柄表示図柄カウンタのカウンタ値が、普通図柄表示器168の消灯を示すカウンタ値であった場合には点灯を示すカウンタ値に更新し、普通図柄表示器168の点灯を示すカウンタ値であった場合には消灯を示すカウンタ値に更新し、当該普通図柄変動中処理を終了する。これにより、普通図柄表示器168は、普通図柄変動時間に亘って、所定時間おきに点灯、消灯を繰り返す(点滅する)こととなる。
(Step S820-7)
The main CPU 300a updates the counter value of the normal symbol display symbol counter. Here, when the counter value of the normal symbol display symbol counter is a counter value indicating that the normal symbol display 168 is turned off, the counter value is updated to indicate lighting, and the counter value indicating that the normal symbol display 168 is lit. When it is, it updates to the counter value which shows lighting-out, ends the processing during the normal design fluctuation. As a result, the normal symbol display 168 repeats lighting and extinguishing (blinking) at predetermined time intervals over the normal symbol fluctuation time.

(ステップS820-9)
メインCPU300aは、普通図柄表示図柄カウンタに、上記ステップS810-7で決定した普通図柄停止図柄番号(カウンタ値)をセーブする。これにより、普通図柄表示器168が最終的に点灯もしくは消灯制御され、普図抽選の結果が報知されることとなる。
(Step S820-9)
The main CPU 300a saves the normal symbol stop symbol number (counter value) determined in step S810-7 in the normal symbol display symbol counter. As a result, the normal symbol display 168 is finally controlled to light or extinguish, and the result of the normal symbol lottery is notified.

(ステップS820-11)
メインCPU300aは、普通図柄を停止表示する時間である普通図柄変動停止時間を普通遊技タイマにセットする。
(Step S820-11)
The main CPU 300a sets the normal symbol fluctuation stop time, which is the time during which the normal symbols are stopped and displayed, in the normal game timer.

(ステップS820-13)
メインCPU300aは、普通図柄の停止表示が開始されたことを示す普図停止指定コマンドを送信バッファにセットする。
(Step S820-13)
The main CPU 300a sets a normal pattern stop specifying command indicating that the stop display of the normal pattern is started in the transmission buffer.

(ステップS820-15)
メインCPU300aは、普通遊技管理フェーズを「02H」に更新し、当該普通図柄変動中処理を終了する。
(Step S820-15)
The main CPU 300a updates the normal game management phase to "02H", and terminates the normal symbol changing process.

図54は、同時回し参考例に係る主制御基板300における普通図柄停止図柄表示処理を説明するフローチャートである。この普通図柄停止図柄表示処理は、普通遊技管理フェーズが「02H」であった場合に実行される。 FIG. 54 is a flowchart for explaining normal symbol stop symbol display processing in the main control board 300 according to the simultaneous rotation reference example. This normal symbol stop symbol display process is executed when the normal game management phase is "02H".

(ステップS830-1)
メインCPU300aは、上記ステップS820-11でセットした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通図柄停止図柄表示処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS830-3に処理を移す。
(Step S830-1)
The main CPU 300a determines whether the timer value of the normal game timer set in step S820-11 is not "0". As a result, when it is determined that the timer value of the normal game timer is not "0", the normal symbol stop symbol display process is terminated, and when it is determined that the timer value of the normal game timer is "0". The process moves to step S830-3.

(ステップS830-3)
メインCPU300aは、普図抽選の結果を確認する。
(Step S830-3)
The main CPU 300a confirms the result of the normal drawing lottery.

(ステップS830-5)
メインCPU300aは、普図抽選の結果が当たりであるかを判定する。その結果、当たりであると判定した場合にはステップS830-9に処理を移し、当たりではない(ハズレである)と判定した場合にはステップS830-7に処理を移す。
(Step S830-5)
The main CPU 300a determines whether the result of the general pattern lottery is winning. As a result, if it is determined to be a hit, the process moves to step S830-9, and if it is determined to be not a win (lost), the process moves to step S830-7.

(ステップS830-7)
メインCPU300aは、普通遊技管理フェーズを「00H」に更新し、当該普通図柄停止図柄表示処理を終了する。これにより、1の普図保留に基づく普通遊技管理処理が終了し、普図保留が記憶されている場合には、次の保留に基づく普通図柄の変動表示を開始するための処理が行われることとなる。
(Step S830-7)
The main CPU 300a updates the normal game management phase to "00H" and terminates the normal symbol stop symbol display process. As a result, the normal game management processing based on one normal pattern reservation is completed, and when the normal pattern reservation is stored, the processing for starting the variable display of the normal pattern based on the next reservation is performed. becomes.

(ステップS830-9)
メインCPU300aは、開閉制御パターンテーブルのデータを参照し、普通遊技タイマに、タイマ値として普電開放前時間をセーブする。
(Step S830-9)
The main CPU 300a refers to the data of the opening/closing control pattern table, and saves the time before opening the general electric power to the normal game timer as a timer value.

(ステップS830-11)
メインCPU300aは、普通遊技管理フェーズを「03H」に更新し、当該普通図柄停止図柄表示処理を終了する。これにより、第1可変始動口120Bの開閉制御が開始されることとなる。
(Step S830-11)
The main CPU 300a updates the normal game management phase to "03H" and terminates the normal symbol stop symbol display process. As a result, the opening/closing control of the first variable starting port 120B is started.

図55は、同時回し参考例に係る主制御基板300における普通電動役物入賞口開放前処理を説明するフローチャートである。この普通電動役物入賞口開放前処理は、普通遊技管理フェーズが「03H」であった場合に実行される。 FIG. 55 is a flowchart for explaining normal electric accessory winning opening pre-opening processing in the main control board 300 according to the simultaneous turning reference example. This normal electric accessory winning opening pre-opening process is executed when the normal game management phase is "03H".

(ステップS840-1)
メインCPU300aは、上記ステップS830-9でセットした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通電動役物入賞口開放前処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS841に処理を移す。
(Step S840-1)
The main CPU 300a determines whether the timer value of the normal game timer set in step S830-9 is not "0". As a result, when it is determined that the timer value of the normal game timer is not "0", the normal electric accessory winning opening pre-opening process is terminated, and the timer value of the normal game timer is determined to be "0". If so, the process moves to step S841.

(ステップS841)
メインCPU300aは、普通電動役物入賞口開閉切替処理を実行する。この普通電動役物入賞口開閉切替処理については後述する。
(Step S841)
The main CPU 300a executes normal electric accessory winning opening opening/closing switching processing. This ordinary electric accessory winning opening opening/closing switching process will be described later.

(ステップS840-3)
メインCPU300aは、普通遊技管理フェーズを「04H」に更新し、当該普通電動役物入賞口開放前処理を終了する。
(Step S840-3)
The main CPU 300a updates the normal game management phase to "04H", and terminates the normal electric accessory winning opening pre-opening process.

図56は、同時回し参考例に係る主制御基板300における普通電動役物入賞口開閉切替処理を説明するフローチャートである。 FIG. 56 is a flowchart for explaining normal electric accessory winning opening opening/closing switching processing in the main control board 300 according to the simultaneous turning reference example.

(ステップS841-1)
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数(1回の開閉制御中における第1可変始動口120Bの可動片120bの開閉回数)の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合には当該普通電動役物入賞口開閉切替処理を終了し、カウンタ値は上限値ではないと判定した場合にはステップS841-3に処理を移す。
(Step S841-1)
The main CPU 300a determines that the counter value of the normal electric accessory opening/closing switching frequency counter is the upper limit value of the normal electric accessory opening/closing switching frequency (the number of opening/closing times of the movable piece 120b of the first variable starting port 120B during one opening/closing control). Determine if there is As a result, when it is determined that the counter value is the upper limit value, the normal electric accessory winning opening opening/closing switching process is terminated, and when it is determined that the counter value is not the upper limit value, the process proceeds to step S841-3. Transfer.

(ステップS841-3)
メインCPU300aは、開閉制御パターンテーブルのデータを参照し、普通電動役物開閉切替回数カウンタのカウンタ値に基づいて、普通電動役物ソレノイド120cを通電制御するためのソレノイド制御データ(通電制御データまたは通電停止制御データ)、および、普通電動役物ソレノイド120cの通電時間(ソレノイド通電時間)もしくは通電停止時間(普電閉鎖有効時間=休止時間)であるタイムデータを抽出する。
(Step S841-3)
The main CPU 300a refers to the data in the opening/closing control pattern table, and based on the counter value of the normal electric accessory opening/closing switching counter, the solenoid control data (energization control data or energization control data) for controlling the energization of the normal electric accessory solenoid 120c. stop control data), and the time data that is the energization time (solenoid energization time) or the energization stop time of the normal electric accessories solenoid 120c (normal power closing valid time = pause time) is extracted.

(ステップS841-5)
メインCPU300aは、上記ステップS841-3で抽出したソレノイド制御データに基づいて、普通電動役物ソレノイド120cの通電を開始するか、もしくは、普通電動役物ソレノイド120cの通電を停止するための普通電動役物ソレノイド通電制御処理を実行する。この普通電動役物ソレノイド通電制御処理の実行により、上記ステップS400-33およびステップS400-35において、普通電動役物ソレノイド120cの通電開始もしくは通電停止の制御がなされることとなる。
(Step S841-5)
Based on the solenoid control data extracted in step S841-3, the main CPU 300a starts energizing the normal electric accessory solenoid 120c, or the normal electric role for stopping the energization of the normal electric accessory solenoid 120c. Executes an object solenoid energization control process. By executing this ordinary electric accessory solenoid energization control process, in the above steps S400-33 and S400-35, control of the energization start or energization stop of the ordinary electric accessory solenoid 120c is performed.

(ステップS841-7)
メインCPU300aは、上記ステップS841-3で抽出したタイムデータに基づくタイマ値を、普通遊技タイマにセーブする。なお、ここで普通遊技タイマにセーブされるタイマ値は、第1可変始動口120Bの1回の最大開放時間となる。
(Step S841-7)
The main CPU 300a saves the timer value based on the time data extracted in step S841-3 in the normal game timer. In addition, the timer value saved in the normal game timer here is the maximum opening time of the first variable starting port 120B.

(ステップS841-9)
メインCPU300aは、普通電動役物ソレノイド120cの通電開始状態か、すなわち、上記ステップS841-5において、普通電動役物ソレノイド120cの通電を開始する制御処理がなされたかを判定する。その結果、通電開始状態であると判定した場合にはステップS841-11に処理を移し、通電開始状態ではないと判定した場合には当該普通電動役物入賞口開閉切替処理を終了する。
(Step S841-9)
The main CPU 300a determines whether the normal electric accessory solenoid 120c is in the energization start state, that is, whether the control process for starting the energization of the normal electric accessory solenoid 120c has been performed in step S841-5. As a result, when it is determined that it is in the energization start state, the process is moved to step S841-11, and when it is determined that it is not in the energization start state, the normal electric accessory winning opening opening/closing switching process ends.

(ステップS841-11)
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値を、現在のカウンタ値に「1」加算した値に更新する。
(Step S841-11)
The main CPU 300a updates the counter value of the normal electric accessory open/close switching frequency counter to a value obtained by adding "1" to the current counter value.

図57は、同時回し参考例に係る主制御基板300における普通電動役物入賞口開放制御処理を説明するフローチャートである。この普通電動役物入賞口開放制御処理は、普通遊技管理フェーズが「04H」であった場合に実行される。 FIG. 57 is a flowchart for explaining normal electric accessory winning opening control processing in the main control board 300 according to the simultaneous turning reference example. This normal electric accessory winning opening control process is executed when the normal game management phase is "04H".

(ステップS850-1)
メインCPU300aは、上記ステップS841-7でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合にはステップS850-5に処理を移し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS850-3に処理を移す。
(Step S850-1)
The main CPU 300a determines whether the timer value of the normal game timer saved in step S841-7 is not "0". As a result, when it is determined that the timer value of the normal game timer is not "0", the process proceeds to step S850-5, and when it is determined that the timer value of the normal game timer is "0", step S850 -3 is processed.

(ステップS850-3)
メインCPU300aは、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数の上限値であるかを判定する。その結果、カウンタ値が上限値であると判定した場合にはステップS850-7に処理を移し、カウンタ値は上限値ではないと判定した場合にはステップS841に処理を移す。
(Step S850-3)
The main CPU 300a determines whether the counter value of the normal electric accessory opening/closing switching frequency counter is the upper limit value of the normal electric accessory opening/closing switching frequency. As a result, if it is determined that the counter value is the upper limit value, the process moves to step S850-7, and if it is determined that the counter value is not the upper limit value, the process moves to step S841.

(ステップS841)
上記ステップS850-3において、普通電動役物開閉切替回数カウンタのカウンタ値が、普通電動役物開閉切替回数の上限値ではないと判定した場合には、メインCPU300aは、上記ステップS841の処理を実行する。
(Step S841)
If it is determined in step S850-3 that the counter value of the normal electric accessory opening/closing switching frequency counter is not the upper limit value of the normal electric accessory opening/closing switching frequency, the main CPU 300a executes the processing of step S841. do.

(ステップS850-5)
メインCPU300aは、上記ステップS530-9で更新された普通電動役物入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、第1可変始動口120Bに、1回の開閉制御中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該普通電動役物入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS850-7に処理を移す。
(Step S850-5)
The main CPU 300a determines whether the counter value of the normal electric accessory winning ball number counter updated in step S530-9 has reached the specified number, that is, the first variable starting port 120B is under control of opening and closing once. It is determined whether or not the same number of game balls as the maximum number of possible wins have entered. As a result, if it is determined that the specified number has not been reached, the normal electric accessory winning opening control process is terminated, and if it is determined that the specified number has been reached, the process proceeds to step S850-7.

(ステップS850-7)
メインCPU300aは、普通電動役物ソレノイド120cの通電を停止して第1可変始動口120Bを閉鎖するために必要な普通電動役物閉鎖処理を実行する。これにより、第1可変始動口120Bが閉鎖状態となる。
(Step S850-7)
The main CPU 300a stops energizing the normal electric accessory solenoid 120c and executes normal electric accessory closing processing necessary to close the first variable starting port 120B. As a result, the first variable starting port 120B is closed.

(ステップS850-9)
メインCPU300aは、普電有効状態時間を普通遊技タイマにセーブする。
(Step S850-9)
The main CPU 300a saves the normal electric valid state time in the normal game timer.

(ステップS850-11)
メインCPU300aは、普通遊技管理フェーズを「05H」に更新し、当該普通電動役物入賞口開放制御処理を終了する。
(Step S850-11)
The main CPU 300a updates the normal game management phase to "05H", and terminates the normal electric accessory winning opening control process.

図58は、同時回し参考例に係る主制御基板300における普通電動役物入賞口閉鎖有効処理を説明するフローチャートである。この普通電動役物入賞口閉鎖有効処理は、普通遊技管理フェーズが「05H」であった場合に実行される。 FIG. 58 is a flowchart for explaining normal electric accessory winning opening closing effective processing in the main control board 300 according to the simultaneous turning reference example. This normal electric accessory winning opening closing effective process is executed when the normal game management phase is "05H".

(ステップS860-1)
メインCPU300aは、上記ステップS850-9でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通電動役物入賞口閉鎖有効処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS860-3に処理を移す。
(Step S860-1)
The main CPU 300a determines whether the timer value of the normal game timer saved in step S850-9 is not "0". As a result, when it is determined that the timer value of the normal game timer is not "0", the normal electric accessory winning opening closing effective process is terminated, and the timer value of the normal game timer is determined to be "0". If so, the process moves to step S860-3.

(ステップS860-3)
メインCPU300aは、普電終了ウェイト時間を普通遊技タイマにセーブする。
(Step S860-3)
The main CPU 300a saves the normal electric end wait time in the normal game timer.

(ステップS860-5)
メインCPU300aは、普通遊技管理フェーズを「06H」に更新し、当該普通電動役物入賞口閉鎖有効処理を終了する。
(Step S860-5)
The main CPU 300a updates the normal game management phase to "06H", and terminates the normal electric accessory winning opening closing valid process.

図59は、同時回し参考例に係る主制御基板300における普通電動役物入賞口終了ウェイト処理を説明するフローチャートである。この普通電動役物入賞口終了ウェイト処理は、普通遊技管理フェーズが「06H」であった場合に実行される。 FIG. 59 is a flowchart for explaining normal electric accessory winning opening end wait processing in the main control board 300 according to the simultaneous turning reference example. This normal electric accessory winning opening end wait process is executed when the normal game management phase is "06H".

(ステップS870-1)
メインCPU300aは、上記ステップS860-3でセーブした普通遊技タイマのタイマ値が「0」でないかを判定する。その結果、普通遊技タイマのタイマ値が「0」ではないと判定した場合には当該普通電動役物入賞口終了ウェイト処理を終了し、普通遊技タイマのタイマ値が「0」であると判定した場合にはステップS870-3に処理を移す。
(Step S870-1)
The main CPU 300a determines whether the timer value of the normal game timer saved in step S860-3 is not "0". As a result, when it is determined that the timer value of the normal game timer is not "0", the normal electric accessory winning opening end wait process is terminated, and the timer value of the normal game timer is determined to be "0". If so, the process moves to step S870-3.

(ステップS870-3)
メインCPU300aは、普通遊技管理フェーズを「00H」に更新し、当該普通電動役物入賞口終了ウェイト処理を終了する。これにより、普図保留が記憶されている場合には、普通図柄の変動表示が再開されることとなる。次に、演出参考例として、上記した一種遊技機、一種二種遊技機、および、同時回し機において実行可能な具体的な演出や当該演出に係る具体的な処理を説明する。
(Step S870-3)
The main CPU 300a updates the normal game management phase to "00H", and ends the normal electric accessory winning opening end wait process. As a result, when normal pattern suspension is stored, the variable display of normal patterns is resumed. Next, as a reference example of effects, a specific effect that can be executed in the above-described first-class game machine, first-class and second-class game machine, and simultaneous spinning machine, and specific processing related to the effect will be described.

<演出参考例>
図60は、演出参考例に係るリーチなし変動パターンの変動演出の一例を説明する図である。上記のように、主制御基板300において大役抽選が行われると、特別図柄の変動表示中、すなわち、特別図柄の変動時間に亘って、大役抽選の結果を報知する変動演出が実行される。この変動演出においては、メイン演出表示部200aにおいて種々の背景画像が表示されるとともに、この背景画像に重畳して、演出図柄210a、210b、210cが表示される。なお、変動演出中は、メイン演出表示部200aに表示される画像に伴って、音声出力装置206から音声が出力されるとともに、演出照明装置204が点灯制御され、また、演出役物装置202が可動制御されるが、ここでは詳細な説明は省略する。
<Production reference example>
FIG. 60 is a diagram for explaining an example of the variation effect of the non-reach variation pattern according to the effect reference example. As described above, when the main control board 300 carries out the big win lottery, during the variable display of the special symbols, that is, over the time period during which the special symbols fluctuate, the variable performance for notifying the result of the big win lottery is executed. In this variable effect, various background images are displayed in the main effect display section 200a, and effect patterns 210a, 210b, and 210c are displayed superimposed on the background image. During the variable effect, along with the image displayed on the main effect display unit 200a, sound is output from the audio output device 206, the lighting of the effect lighting device 204 is controlled, and the effect accessory device 202 is turned on. The movement is controlled, but detailed description is omitted here.

演出参考例に係る変動演出は、リーチなし変動パターン、リーチ変動パターンに大別される。リーチなし変動パターンの変動演出では、メイン演出表示部200aに背景画像(図示を省略)が表示されるとともに、この背景画像に演出図柄210a、210b、210cが重畳して変動表示される。例えば、図60(a)に示すように、大役抽選結果がハズレであったことを示す組み合わせで演出図柄210a、210b、210cが停止表示されているとする。この状態で、新たに特別図柄の変動表示が行われると、当該特別図柄の変動表示の開始に伴って、図60(b)に示すように、3つの演出図柄210a、210b、210cが変動表示(スクロール表示)を開始する。なお、図中下向きの白抜き矢印は、演出図柄210a、210b、210cが高さ方向にスクロール表示されていることを示している。 The variation production according to the production reference example is roughly divided into a reach-less variation pattern and a reach variation pattern. In the variation effect of the non-reach variation pattern, a background image (not shown) is displayed on the main effect display section 200a, and the effect patterns 210a, 210b, and 210c are superimposed on the background image and variably displayed. For example, as shown in FIG. 60(a), it is assumed that performance symbols 210a, 210b, and 210c are stop-displayed in a combination indicating that the winning lottery result is lost. In this state, when the variable display of the special symbols is newly performed, three performance symbols 210a, 210b, and 210c are variably displayed as shown in FIG. (scroll display). Note that the downward white arrows in the drawing indicate that the effect symbols 210a, 210b, and 210c are scroll-displayed in the height direction.

そして、図60(c)に示すように、まず、演出図柄210aが停止表示され、その後、図60(d)に示すように、演出図柄210aと異なる演出図柄210cが停止表示される。そして、特別図柄の変動表示が終了して、第1特別図柄表示器160または第2特別図柄表示器162に特別図柄が停止表示するのとほぼ同じタイミングで、図60(e)に示すように、演出図柄210bが停止表示され、このときの3つの演出図柄210a、210b、210cの最終的な停止表示態様によって、大役抽選結果が遊技者に報知される。 Then, as shown in FIG. 60(c), the effect symbol 210a is first stopped and displayed, and then, as shown in FIG. 60(d), the effect symbol 210c different from the effect symbol 210a is stopped and displayed. Then, at almost the same timing as when the variable display of the special symbols is completed and the special symbols are stopped and displayed on the first special symbol display device 160 or the second special symbol display device 162, as shown in FIG. , and the effect symbol 210b is stopped and displayed, and the player is notified of the big role lottery result by the final stop display mode of the three effect symbols 210a, 210b, and 210c at this time.

図61は、演出参考例に係るノーマルリーチ変動パターンの変動演出の一例を説明する図である。演出参考例では、リーチ変動パターンが、ノーマルリーチ変動パターン、発展リーチ変動パターン、擬似連続リーチ変動パターンに大別される。ノーマルリーチ変動パターンの変動演出は、リーチなし変動パターンの変動演出と同様に、特別図柄の変動表示の開始に伴って、演出図柄210a、210b、210cの変動表示が開始され、図61(a)に示すように、演出図柄210aがまず停止表示される。その後、図61(b)に示すように、演出図柄210aと同一の演出図柄210cが停止表示される。 FIG. 61 is a diagram for explaining an example of the variation effect of the normal reach variation pattern according to the effect reference example. In the production reference example, the reach fluctuation pattern is roughly classified into a normal reach fluctuation pattern, a developed reach fluctuation pattern, and a pseudo-continuous reach fluctuation pattern. In the variation effect of the normal reach variation pattern, similar to the variation effect of the non-reach variation pattern, the variation display of the effect symbols 210a, 210b, and 210c is started along with the start of the variation display of the special symbols, and FIG. As shown, the effect symbol 210a is first stopped and displayed. After that, as shown in FIG. 61(b), a performance symbol 210c identical to the performance symbol 210a is stop-displayed.

このように、メイン演出表示部200aにおいて、同一の演出図柄210a、210cが停止表示されるリーチ態様で表示されると、図61(c)に示すように、メイン演出表示部200aにおいて、演出図柄210a、210cに重畳して「リーチ」と表示される。なお、リーチ態様は複数種類設けられており、「1」~「9」のいずれかの数字が記された同一の演出図柄210a、210cが停止表示される。その後、図61(d)に示すように、演出図柄210a、210cの形状を、リーチ態様になる前と異にして変動表示が継続される。そして、図61(e)に示すように、最終的に、演出図柄210a、210cと異なる演出図柄210bが停止表示され、大役抽選の結果がハズレであったことが遊技者に報知される。 Thus, when the main effect display portion 200a displays the same effect symbols 210a and 210c in the stop-display ready-to-win state, as shown in FIG. "Reach" is displayed superimposed on 210a and 210c. A plurality of ready-to-win modes are provided, and the same performance symbols 210a and 210c marked with any of the numbers "1" to "9" are stopped and displayed. After that, as shown in FIG. 61(d), the variable display is continued with the shapes of the effect symbols 210a and 210c different from those before the ready-to-win mode. Then, as shown in FIG. 61(e), finally, a performance symbol 210b different from the performance symbols 210a and 210c is stop-displayed, and the player is notified that the result of the big role lottery is a loss.

図62は、演出参考例に係るハズレ時の発展リーチ変動パターンの変動演出の一例を説明する図であり、図63は、演出参考例に係る大当たり時の発展リーチ変動パターンの変動演出の一例を説明する図である。発展リーチ変動パターンの変動演出は、図62(a)~(d)および図63(a)~(d)に示すように、ノーマルリーチ変動パターンの変動演出と同様に、メイン演出表示部200aにおいて、演出図柄210a、210cがリーチ態様で表示され、その後、所定の発展画像(動画)が再生表示されるリーチ発展演出が実行される。このリーチ発展演出では、例えば、図62(e)および図63(e)に示すように、メイン演出表示部200aにミッションが表示されるとともに、図62(f)、(g)および図63(f)、(g)に示すように、ミッションの達成に向けた画像が表示される。 FIG. 62 is a diagram for explaining an example of a variable performance of the developed reach variation pattern at the time of losing according to the performance reference example, and FIG. It is a figure explaining. As shown in FIGS. 62(a) to (d) and FIGS. 63(a) to (d), the variation effect of the developed reach variation pattern is similar to the variation effect of the normal reach variation pattern, in the main effect display section 200a, The effect symbols 210a and 210c are displayed in a ready-to-win mode, and then a ready-to-win development effect is executed in which a predetermined developed image (moving image) is reproduced and displayed. In this reach development effect, for example, as shown in FIGS. As shown in f) and (g), an image for accomplishing the mission is displayed.

ここで、リーチ発展演出用の発展画像は、ハズレパターンと大当たりパターンとに大別され、ハズレパターンの発展画像では、図62(h)に示すように、ミッションの失敗を示す画像が最終的に表示され、その後、図62(i)に示すように、演出図柄210a、210b、210cがハズレを報知する組み合わせで停止表示される。一方、大当たりパターンの発展画像では、図63(h)に示すように、ミッションの成功を示す画像が最終的に表示され、その後、図63(i)に示すように、演出図柄210a、210b、210cが大当たりを報知する組み合わせで停止表示される。 Here, the development images for the ready-to-win development production are roughly classified into a losing pattern and a big win pattern. In the development image of the losing pattern, as shown in FIG. After that, as shown in FIG. 62(i), performance symbols 210a, 210b, and 210c are stop-displayed in a combination that notifies a failure. On the other hand, in the development image of the jackpot pattern, as shown in FIG. 63(h), an image showing the success of the mission is finally displayed, and then, as shown in FIG. 210c is stop-displayed with a combination of notifying a big win.

なお、リーチ発展演出は、例えば、上記のように、ミッションに挑む内容の発展画像が表示されるミッション演出と、味方キャラクタと敵キャラクタとが対戦する発展画像が表示されるバトル演出と、が設けられている。そして、ミッション演出は、ミッションの内容を異にする複数の実行パターンが設けられており、バトル演出は、登場キャラクタや対戦方法を異にする複数の実行パターンが設けられている。また、上記のように、ミッション演出の実行パターンは、ミッションを達成する大当たりパターンと、ミッションに失敗するハズレパターンとに大別されるが、バトル演出の実行パターンも同様に、味方キャラクタが敵キャラクタに勝利する大当たりパターンと、味方キャラクタが敵キャラクタに敗北するハズレパターンとに大別される。 In addition, as described above, the ready-to-reach development production includes, for example, a mission production in which an advanced image of the content of challenging the mission is displayed, and a battle production in which an advanced image of a friendly character and an enemy character fighting each other is displayed. It is The mission presentation is provided with a plurality of execution patterns with different mission contents, and the battle presentation is provided with a plurality of execution patterns with different appearing characters and fighting methods. Further, as described above, the execution pattern of the mission production is roughly divided into a big win pattern for achieving the mission and a losing pattern for failing the mission. It is roughly divided into a jackpot pattern in which a player wins against a player and a losing pattern in which a friendly character is defeated by an enemy character.

大当たりパターンとハズレパターンとは、演出の終盤までは同一内容で構成されており、最終的に味方キャラクタが勝利するか敗北するか、あるいは、ミッションを達成するか否かといった点を異にしている。したがって、リーチ発展演出中は、変動演出の終盤まで、大役抽選の結果を遊技者が識別することができず、遊技者に大当たりの期待感が付与されることとなる。 The big hit pattern and the losing pattern have the same contents until the final stage of the production, and differ in points such as whether the ally character wins or loses in the end, or whether the mission is accomplished. . Therefore, during the ready-to-win development production, the player cannot identify the result of the big role lottery until the final stage of the variable production, and the player is given an expectation of a big win.

なお、大当たりパターンは、大役抽選の結果が大当たりであった場合にのみ選択され、ハズレパターンは、大役抽選の結果がハズレであった場合にのみ選択される。ただし、1回の変動演出において、リーチ発展演出が2回実行されることもあり、この場合には、1回目のリーチ発展演出がハズレパターンで実行され、2回目のリーチ発展演出が、ハズレパターンまたは大当たりパターンで実行される。以下に、1回の変動演出において、リーチ発展演出が2回実行される場合の演出の流れについて説明する。 The big win pattern is selected only when the result of the big win lottery is a big win, and the losing pattern is selected only when the result of the big win lottery is a loss. However, in one variable production, the reach development production may be executed twice, and in this case, the first reach development production is executed in a losing pattern, and the second reach development production is a losing pattern. Or run in a jackpot pattern. Below, the flow of the effect when the ready-to-win development effect is executed twice in one variable effect will be described.

図64は、演出参考例に係るリーチ発展演出が2回実行される場合の変動演出の一例を説明する図である。例えば、演出図柄210a、210cがリーチ態様で表示された後、図64(a)、(b)に示すように、ミッション演出が実行されたとする。ここまでは、1回の変動演出においてリーチ発展演出が1回のみ実行される場合と相違はないが、ミッションを達成できなかったことが報知された直後に、図64(c)に示すように、メイン演出表示部200aに「REACH UP」と表示される。 FIG. 64 is a diagram for explaining an example of a variable effect when the ready-to-win development effect according to the effect reference example is executed twice. For example, assume that the mission effects are executed as shown in FIGS. 64(a) and (b) after the effect symbols 210a and 210c are displayed in the ready-to-win mode. So far, there is no difference from the case where the reach development effect is executed only once in one variable effect, but immediately after being informed that the mission could not be achieved, as shown in FIG. , "REACH UP" is displayed on the main effect display section 200a.

その後、メイン演出表示部200aには、図64(d)に示すように、バトル演出用の発展画像が表示されており、2回目のリーチ発展演出が開始される。このバトル演出用の発展画像は、味方キャラクタと敵キャラクタとが対戦する内容となっており、大当たり当選時には、図64(e)に示すように、最終的に味方キャラクタが敵キャラクタに勝利するとともに、図64(f)に示すように、演出図柄210a、210b、210cが大当たりを報知する組み合わせで停止表示される。一方、ハズレ時には、図64(g)に示すように、最終的に味方キャラクタが敵キャラクタに敗北するとともに、図64(h)に示すように、演出図柄210a、210b、210cがハズレを報知する組み合わせで停止表示される。 After that, as shown in FIG. 64(d), the main effect display section 200a displays the development image for the battle effect, and the second ready-to-win development effect is started. The developed image for the battle production has a content in which an ally character and an enemy character fight each other, and when the jackpot is won, the ally character finally wins over the enemy character as shown in FIG. 64(e). , and as shown in FIG. 64(f), performance symbols 210a, 210b, and 210c are stop-displayed in a combination that notifies a big win. On the other hand, in the event of a failure, as shown in FIG. 64(g), the friendly character is finally defeated by the enemy character, and as shown in FIG. A stop display is displayed in combination.

図65は、演出参考例に係る擬似連続リーチ変動パターンの変動演出の一例を説明する図である。擬似連続リーチ変動パターンの変動演出は、図65(a)に示すように、演出図柄210a、210b、210cの変動表示が開始されると、図65(b)に示すように、演出図柄210a、210b、210cが、予め設けられた複数種類の擬似態様のうちのいずれかで仮停止表示される。この擬似態様は、例えば、同一の演出図柄210a、210bと、これら演出図柄210a、210bよりも、「2」大きな数字が記された演出図柄210cとが仮停止表示されるものである。 FIG. 65 is a diagram illustrating an example of a variation effect of a pseudo-continuous reach variation pattern according to the reference example of effect. As shown in FIG. 65(a), when the variable display of the production patterns 210a, 210b, and 210c is started, as shown in FIG. 65(b), the production patterns 210a, 210b and 210c are temporarily stopped and displayed in one of a plurality of preset pseudo modes. In this pseudo mode, for example, the same production patterns 210a and 210b and a production pattern 210c with a number "2" larger than these production patterns 210a and 210b are temporarily stopped and displayed.

演出図柄210a、210b、210cが擬似態様で仮停止表示されると、図65(c)に示すように、演出図柄210a、210b、210cの変動表示が再開される。つまり、擬似態様は、演出図柄210a、210b、210cの再変動表示を示すものと言える。その後、図65(d)に示すように、演出図柄210a、210b、210cが、再び擬似態様で仮停止表示される。 When the effect symbols 210a, 210b, 210c are temporarily stopped and displayed in the pseudo mode, the variable display of the effect symbols 210a, 210b, 210c is resumed as shown in FIG. 65(c). That is, it can be said that the pseudo mode shows the re-variation display of the performance symbols 210a, 210b, and 210c. After that, as shown in FIG. 65(d), the effect symbols 210a, 210b, and 210c are temporarily stopped and displayed again in a pseudo manner.

そして、図65(e)に示すように、演出図柄210a、210b、210cの変動表示が再開されると、図65(f)に示すように、演出図柄210a、210cがリーチ態様で表示され、以後、図65(g)~(i)に示すように、発展リーチ変動パターンと同様にリーチ発展演出が実行され、大役抽選の結果が遊技者に報知される。 Then, as shown in FIG. 65(e), when the variable display of the performance symbols 210a, 210b, and 210c is resumed, the performance symbols 210a and 210c are displayed in the ready-to-win mode, as shown in FIG. 65(f). After that, as shown in FIGS. 65(g) to (i), the reach development effect is executed in the same manner as the development reach variation pattern, and the player is informed of the result of the winning lottery.

このように、擬似連続リーチ変動パターンの変動演出は、演出図柄210a、210cがリーチ態様となるまでの内容が、発展リーチ変動パターンの変動演出と異なっており、リーチ態様となった後は、発展リーチ変動パターンと同様に変動演出が進行されることとなる。 Thus, the variation effect of the pseudo-continuous reach variation pattern is different from the variation effect of the development reach variation pattern until the production patterns 210a and 210c become the reach mode, and after becoming the reach mode, the development Variation production will proceed in the same manner as the reach variation pattern.

なお、擬似連続リーチ変動パターンにおいて、リーチ態様となるまでの演出図柄210a、210b、210cの変動表示パターンは複数パターン設けられており、変動表示パターンごとに、演出図柄210a、210b、210cの仮停止表示の回数、換言すれば、演出図柄210a、210b、210cの変動表示回数が異なっている。この変動表示パターンは、変動モードコマンドによって決定され、演出図柄210a、210b、210cの仮停止表示(変動表示)の回数が多くなるほど、最終的に大当たりの当選が報知される可能性(以下「信頼度」という)が高くなるように、大当たり当選時およびハズレ時における変動モードコマンドの選択比率が設定されている。 In the pseudo-continuous reach variation pattern, a plurality of variable display patterns of the production patterns 210a, 210b, and 210c until reaching the reach mode are provided, and the production patterns 210a, 210b, and 210c are temporarily stopped for each fluctuation display pattern. The number of times of display, in other words, the number of variable display times of the effect symbols 210a, 210b, and 210c are different. This variable display pattern is determined by a variable mode command. The selection ratio of the variation mode command at the time of winning the jackpot and at the time of losing is set so that the degree") is high.

具体的には、大役抽選の結果が大当たりであった場合には、変動表示回数の多い変動モードコマンドの選択比率が、変動表示回数の少ない変動モードコマンドの選択比率よりも高く設定されており、大役抽選の結果がハズレであった場合には、変動表示回数の少ない変動モードコマンドの選択比率が、変動表示回数の多い変動モードコマンドの選択比率よりも高く設定されている。 Specifically, when the result of the big win lottery is a big hit, the selection ratio of the variable mode command with a large number of variable display times is set higher than the selection ratio of the variable mode command with a small number of variable display times, When the result of the big role lottery is a loss, the selection ratio of the variation mode command with a small number of variations display is set higher than the selection ratio of the variation mode command with a large number of variations display.

また、主制御基板300においては、擬似連続リーチ変動パターンの信頼度が、発展リーチ変動パターンの信頼度よりも高くなるように設定されている。したがって、演出図柄210a、210b、210cの仮停止表示(変動表示)の回数によって信頼度が示唆されることとなり、遊技者は、演出図柄210a、210b、210cがより多く仮停止表示(変動表示)されることを期待しながら、演出の行方を見守ることとなる。 Further, in the main control board 300, the reliability of the pseudo-continuous reach variation pattern is set to be higher than the reliability of the developed reach variation pattern. Therefore, the reliability is suggested by the number of temporary stop displays (fluctuation displays) of the performance symbols 210a, 210b, and 210c, and the player is expected to see more temporary stop displays (variation displays) of the performance symbols 210a, 210b, and 210c. While expecting to be done, we will watch the whereabouts of the production.

上記した変動演出の実行パターンは、主制御基板300で決定された変動コマンドに基づいて、副制御基板330において決定、実行制御される。つまり、変動演出の実行パターンは、主制御基板300と副制御基板330とで協働して決定されると言える。 The execution pattern of the variable performance described above is determined and executed by the sub control board 330 based on the variation command determined by the main control board 300 . That is, it can be said that the execution pattern of the variable effect is determined in cooperation with the main control board 300 and the sub control board 330 .

図66は、演出参考例に係る変動演出決定テーブルを説明する図であり、図66(a)には前半変動演出決定テーブルを示し、図66(b)には後半変動演出決定テーブルを示す。上記したように、主制御基板300において大役抽選が行われると、大役抽選の結果に基づいて、変動コマンドが決定され、決定された各コマンドが副制御基板330に送信される。副制御基板330においては、変動モードコマンドを受信すると、0~249の範囲から1の演出乱数を取得するとともに、前半変動演出決定テーブルを参照して、取得した演出乱数と、受信した変動モードコマンドとに基づいて、前半の変動演出の実行パターンを決定する。また、変動パターンコマンドを受信すると、0~249の範囲から1の演出乱数を取得するとともに、後半変動演出決定テーブルを参照して、取得した演出乱数と、受信した変動パターンコマンドとに基づいて、後半の変動演出の実行パターンを決定する。なお、図66においては、前半変動演出決定テーブルおよび後半変動演出決定テーブルの一部のみを抽出して示している。 66A and 66B are diagrams for explaining the variable effect determination table according to the effect reference example, FIG. 66A shows the first half variable effect determination table, and FIG. 66B shows the second half variable effect determination table. As described above, when the main control board 300 conducts the big win lottery, variation commands are determined based on the results of the big win lottery, and each determined command is sent to the sub control board 330 . In the sub-control board 330, when receiving the variation mode command, it acquires a production random number of 1 from the range of 0 to 249, refers to the first half variation production determination table, and outputs the acquired production random number and the received variation mode command. Based on, the execution pattern of the variable performance in the first half is determined. In addition, when receiving the variation pattern command, it acquires a production random number of 1 from the range of 0 to 249, refers to the second half variation production determination table, and based on the acquired production random number and the received variation pattern command, The execution pattern of the variable performance in the second half is determined. In addition, in FIG. 66, only a part of the first half variable effect determination table and the second half variable effect determination table are extracted and shown.

図66に示すように、前半変動演出決定テーブルによれば、変動モード番号(変動モードコマンド)ごとに、前半の変動演出の実行パターンについての選択比率がそれぞれ設定され、後半変動演出決定テーブルによれば、変動パターン番号(変動パターンコマンド)ごとに、後半の変動演出の実行パターンについての選択比率がそれぞれ設定されている。そして、決定された前半および後半の変動演出の実行パターンを組み合わせて実行することで、1回の変動演出が実行されることとなる。 As shown in FIG. 66, according to the first half variation performance determination table, the selection ratio for the execution pattern of the first half variation performance is set for each variation mode number (variation mode command), and according to the second half variation performance determination table For example, for each variation pattern number (variation pattern command), the selection ratio for the second half variation performance execution pattern is set. By combining and executing the execution patterns of the determined first half and second half of the variable performance, one variable performance is executed.

リーチなし変動パターンの変動演出は、前半の実行パターンとして、前半の変動演出を実行しないことを示す「なし」が決定され、後半の実行パターンとして、リーチなし変動パターンに対応する「ノーマルハズレ1」、「ノーマルハズレ2」、「特殊ハズレ1」、「特殊ハズレ2」が決定された場合に実行される。例えば、前半の変動演出が実行されないことを示す「01H」の変動モード番号に対応する変動モードコマンドを受信すると、副制御基板330では、必ず、前半の実行パターンとして「なし」が決定される。また、このとき、同時に受信し得る変動パターンコマンドには、「ノーマルハズレ1」、「ノーマルハズレ2」、「特殊ハズレ1」、「特殊ハズレ2」のいずれかのみが決定されるように、後半変動演出決定テーブルにおいて選択比率の設定がなされている。したがって、前半の実行パターンとして「なし」が決定され、後半の実行パターンとして「ノーマルハズレ1」、「ノーマルハズレ2」、「特殊ハズレ1」、「特殊ハズレ2」が決定されることで、変動演出の実行パターンは、上記のリーチなし変動パターンに決定されることとなる。 As for the variation effect of the reachless variation pattern, "none" indicating that the first half variation effect is not executed is determined as the first half execution pattern, and "normal loss 1" corresponding to the reachless variation pattern is determined as the second half execution pattern. , "Normal Loss 2", "Special Loss 1", and "Special Loss 2" are determined. For example, when receiving a variation mode command corresponding to a variation mode number of "01H" indicating that the first half variation performance is not executed, the sub control board 330 always determines "none" as the first half execution pattern. Also, at this time, in the fluctuation pattern command that can be received at the same time, only one of "normal loss 1", "normal loss 2", "special loss 1", and "special loss 2" is determined. A selection ratio is set in the variable effect determination table. Therefore, "none" is determined as the execution pattern in the first half, and "normal loss 1", "normal loss 2", "special loss 1", and "special loss 2" are determined as the execution pattern in the second half. The effect execution pattern is determined to be the non-reach variation pattern described above.

一方、リーチ変動パターンの変動演出は、前半の実行パターンとして「なし」以外が決定され、後半の実行パターンとして、いずれかのリーチ発展演出(図中、発展1~5で示す)が決定された場合に実行される。換言すれば、メイン演出表示部200aにおいて、リーチ変動パターンの変動演出が実行される場合には、必ず、変動モード番号=01H以外の変動モード番号に対応する変動モードコマンドを受信しており、発展1~5のいずれかが決定される変動パターン番号に対応する変動パターンコマンドを受信していることとなる。 On the other hand, for the reach variation pattern variation effects, the first half of the execution pattern is determined to be anything other than "none", and the second half of the execution pattern is determined to be one of the reach development effects (indicated by developments 1 to 5 in the figure). is executed if In other words, in the main effect display section 200a, when the variation effect of the reach variation pattern is executed, the variation mode command corresponding to the variation mode number other than the variation mode number = 01H is always received, and the variation mode command is received. A variation pattern command corresponding to the variation pattern number for which one of 1 to 5 is determined is received.

ここで、図66(a)において、前半の実行パターンにおける「ノーマルリーチ1」や「ノーマルリーチ2」等は、それぞれ、ノーマルリーチ変動パターンの変動演出のうち、演出図柄210a、210b、210cがリーチ態様になるまで、より詳細には、リーチ発展演出が開始されるまでの、メイン演出表示部200aに表示される背景画像や演出図柄210a、210b、210cの変動表示パターンを示している。これらの画像パターンは、変動モード番号に対応付けられた特別図柄の変動表示の時間と一致するように予め設計されており、例えば、「ノーマルリーチ1」が決定されると、図61(a)~(d)に示す画像がメイン演出表示部200aに表示されることとなる。 Here, in FIG. 66(a), "Normal reach 1", "Normal reach 2", etc. in the first half of the execution pattern, respectively, among the fluctuation effects of the normal reach fluctuation pattern, the production patterns 210a, 210b, 210c are in the reach mode. More specifically, it shows the changing display patterns of the background image and the effect symbols 210a, 210b, and 210c displayed on the main effect display section 200a until the reach development effect is started. These image patterns are designed in advance to match the variable display time of the special symbol associated with the variable mode number, for example, when "normal reach 1" is determined, FIG. The image shown in (d) is displayed on the main effect display section 200a.

また、図66(a)において、前半の実行パターンにおける「擬似2a」等は、擬似連続リーチ変動パターンの変動演出のうち、リーチ発展演出が開始されるまでの、メイン演出表示部200aに表示される主変動演出画像の表示パターン、すなわち、演出図柄210a、210b、210cが変動表示される図柄表示演出の実行パターンを示している。例えば、「擬似2a」は、演出図柄210a、210b、210cの変動表示回数が2回である「擬似2」の擬似連続リーチ変動パターンであって、主変動演出画像が表示パターンaであることを示している。また、「擬似3b」は、演出図柄210a、210b、210cの変動表示回数が3回である「擬似3」の擬似連続リーチ変動パターンであって、主変動演出画像が表示パターンbであることを示している。 In addition, in FIG. 66(a), "pseudo 2a" and the like in the first half of the execution pattern are displayed on the main effect display section 200a until the reach development effect is started among the variable effects of the pseudo continuous reach variation pattern. This shows the display pattern of the main fluctuation effect image, that is, the execution pattern of the symbol display effect in which the effect symbols 210a, 210b, and 210c are variably displayed. For example, "pseudo 2a" is a pseudo continuous reach fluctuation pattern of "pseudo 2" in which the number of times of fluctuation display of the production patterns 210a, 210b, and 210c is two, and that the main fluctuation production image is the display pattern a. showing. In addition, "pseudo 3b" is a pseudo continuous reach fluctuation pattern of "pseudo 3" in which the number of times of fluctuation display of the production patterns 210a, 210b, and 210c is 3, and that the main fluctuation production image is the display pattern b. showing.

なお、図66に示す前半変動演出決定テーブルおよび後半変動演出決定テーブルにおいては、リーチなし変動パターンおよびノーマルリーチ変動パターンの変動演出は、大役抽選の結果がハズレであった場合にのみ実行されるように、選択比率の設定がなされている。また、発展リーチ変動パターンおよび擬似連続リーチ変動パターンは、ハズレ時および大当たり時の双方で決定されるが、発展リーチ変動パターンは、擬似連続リーチ変動パターンよりも、ハズレ時の選択比率が高く、大当たり時の選択比率が低く設定されている。このように、ハズレ時と大当たり時とで選択比率を設定することにより、擬似連続リーチ変動パターンは、発展リーチ変動パターンよりも、信頼度が高く設定されることとなる。 In addition, in the first half variation performance determination table and the second half variation performance determination table shown in FIG. 66, the variation performance of the non-reach variation pattern and the normal reach variation pattern is executed only when the result of the big role lottery is a loss. , the selection ratio is set. In addition, the development reach variation pattern and the pseudo-continuous reach variation pattern are determined both at the time of loss and at the time of the big hit, but the development reach variation pattern has a higher selection ratio at the time of loss than the pseudo-continuous reach variation pattern, and the jackpot The time selection ratio is set low. In this way, by setting the selection ratio at the time of losing and at the time of the big hit, the pseudo-continuous reach variation pattern is set with higher reliability than the development reach variation pattern.

さらに、擬似連続リーチ変動パターンの中でも、擬似回数が多くなるほど、大当たり時の選択比率が高く、ハズレ時の選択比率が低く設定されており、擬似回数が多くなるほど、信頼度が高くなるように設定がなされている。 Furthermore, among the pseudo continuous reach fluctuation patterns, the higher the number of times of simulation, the higher the selection ratio at the time of the big win, and the lower the selection ratio at the time of losing, and the more the number of times of simulation, the higher the reliability is done.

以上のように、変動演出決定テーブルにより、変動演出の大まかな流れが決定されるが、変動演出の開始時には、変動モードコマンドまたは変動パターンコマンドに基づいて、変動演出を構成するさまざまな要素演出の実行可否および実行パターンがさらに決定される。ここで、要素演出というのは、例えば、上記のように、メイン演出表示部200aにおける演出図柄210a、210b、210cの変動表示や、リーチ発展演出でメイン演出表示部200aに表示される発展画像、さらには、演出役物装置202を可動させる演出等、変動演出を構成する全ての演出をいう。実施例では、変動演出を構成する要素演出として、変動演出中のさまざまなタイミングで予告演出(示唆演出)が実行される。 As described above, the rough flow of the variable performance is determined by the variable performance determination table. Execution availability and execution patterns are further determined. Here, the element effect is, for example, the variable display of the effect patterns 210a, 210b, and 210c in the main effect display section 200a, the development image displayed in the main effect display section 200a in the reach development effect, Furthermore, it refers to all effects that constitute variable effects, such as effects that move the effect accessory device 202 . In the embodiment, as an elemental effect that constitutes the variable effect, an advance notice effect (suggestive effect) is executed at various timings during the variable effect.

この予告演出というのは、変動演出の開始時や、擬似連続リーチ変動パターンの変動演出における演出図柄210a、210b、210cの再変動表示時、さらには、リーチ発展演出中等に、メイン演出表示部200aに所定の画像を表示したり、所定のタイミングで演出役物装置202を可動したりする演出であり、予告演出ごとに、その実行可否や実行パターンが決定される。各予告演出には、それぞれ実行パターンが複数種類設けられ、複数種類の実行パターンそれぞれについて、変動パターンコマンドや変動モードコマンドごとに、換言すれば、大当たりの当選可否ごとに選択比率が設定され、この選択比率によって、実行パターンごとに期待値が設定されている。 This notice effect is the start of the variable effect, the re-variation display of the effect patterns 210a, 210b, and 210c in the variable effect of the pseudo continuous reach variation pattern, and the main effect display section 200a during the reach development effect. It is an effect such as displaying a predetermined image at the time and moving the effect accessory device 202 at a predetermined timing, and whether or not it can be executed and an execution pattern are determined for each advance notice effect. A plurality of types of execution patterns are provided for each of the advance notice effects, and for each of the plurality of types of execution patterns, a selection ratio is set for each variation pattern command or variation mode command, in other words, for each whether or not a jackpot is won. An expected value is set for each execution pattern by the selection ratio.

以上説明したように、副制御基板330においては、変動コマンドを受信すると、変動演出の実行パターンや各要素演出の実行可否、実行パターンが決定され、特別図柄の変動表示中に変動演出が実行されることとなる。このように、変動演出は、1回の特別図柄の変動表示に対して1回行われるが、実施例では、複数回の特別図柄の変動表示に跨る演出も実行される。 As described above, in the sub-control board 330, when the variable command is received, the execution pattern of the variable performance, whether or not each element performance can be executed, and the execution pattern are determined, and the variable performance is executed during the variable display of the special symbols. The Rukoto. In this way, the variable performance is performed once for one time of variable display of the special symbols, but in the embodiment, the performance over multiple times of variable display of the special symbols is also performed.

図67は、演出参考例に係る保留表示演出の一例を説明する図である。メイン演出表示部200aの下部には保留表示領域211が設けられる。図60~図65では図示を省略したが、保留表示領域211は、変動演出中や遊技の待機中もメイン演出表示部200aに常時表示されている。そして、変動演出中は、この保留表示領域211において保留表示演出が行われる。保留表示演出では、大役抽選の際に処理領域(第0記憶部)に読み出された保留を示す当該保留表示212a、第1特図保留記憶領域の第1記憶部~第4記憶部に記憶されている保留をそれぞれ示す、第1保留表示212b、第2保留表示212c、第3保留表示212d、第4保留表示212eが保留表示領域211に表示される。なお、以下では、当該保留表示212aおよび第1保留表示212b~第4保留表示212eを総称して、保留表示212と呼ぶ。 FIG. 67 is a diagram illustrating an example of a pending display effect according to the effect reference example. A pending display area 211 is provided at the bottom of the main effect display section 200a. Although not shown in FIGS. 60 to 65, the holding display area 211 is always displayed on the main effect display section 200a during the variable effect and during the game standby. A suspension display effect is performed in the suspension display area 211 during the variable effect. In the pending display effect, the pending display 212a indicating the pending read out to the processing area (0th storage unit) at the time of the big role lottery, stored in the first to fourth storage units of the first special figure pending storage area A first pending display 212b, a second pending display 212c, a third pending display 212d, and a fourth pending display 212e are displayed in the pending display area 211, respectively, indicating the pending. In the following description, the pending display 212a and the first pending display 212b to the fourth pending display 212e are collectively referred to as the pending display 212. FIG.

例えば、特別図柄の変動表示中であって、しかも、メインRAM300cに4つの特1保留が記憶されている場合には、図67(a)に示すように、当該保留表示212a、第1保留表示212b~第4保留表示212eの合計5つの保留表示212が保留表示領域211に表示される。そして、この状態から、特別図柄の変動表示が終了し、第1記憶部に記憶されている特1保留が処理領域(第0記憶部)に読み出されて大役抽選が行われるとともに、メインRAM300cの保留シフト処理が実行されると、図67(b)に示すように、当該保留表示212aが消去されるとともに、第1保留表示212b~第4保留表示212eが1つ左に移動表示される。また、さらにこの状態から次なる特1保留が読み出されると、図67(c)に示すように、さらに各保留表示212が移動表示される。このように、保留表示演出は、メインRAM300cに記憶されている特1保留数を遊技者に報知する演出となっている。 For example, when the special symbols are displayed in a variable manner and four special 1 reserves are stored in the main RAM 300c, the reserve display 212a and the first reserve display are displayed as shown in FIG. A total of five pending displays 212 from 212b to a fourth pending display 212e are displayed in the pending display area 211. FIG. Then, from this state, the variable display of the special symbol ends, the special 1 reservation stored in the first memory is read out to the processing area (0th memory), and the big win lottery is performed, and the main RAM 300c. When the hold shift process is executed, as shown in FIG. 67(b), the hold display 212a is erased, and the first hold display 212b to the fourth hold display 212e are moved to the left by one. . Further, when the next special 1 suspension is read from this state, each suspension display 212 is further moved and displayed as shown in FIG. 67(c). In this way, the pending display effect is an effect of informing the player of the special 1 pending number stored in the main RAM 300c.

また、保留表示212の表示パターンは複数設けられており、表示パターンごとに表示色を異ならせている。主制御基板300においては、保留が記憶されたときに取得時演出判定処理(ステップS536)が実行され、新たに記憶された保留が第0記憶部に読み出された際に決定される変動情報を示す先読み指定コマンドを副制御基板330に送信する。副制御基板330においては、先読み指定コマンドを受信すると、当該受信コマンドに基づいて、新たに記憶された保留に対応する保留表示212の表示パターンを決定する。このとき、先読み指定コマンドごとに、つまり、新たに記憶された保留が大役抽選で読み出された際に決定される変動情報ごとに、各表示パターンの選択比率が設定されている。つまり、大当たりの当選可否や、変動演出の実行パターンに応じて各表示パターンの選択比率が設定されていることから、保留表示212の表示パターンによって、大当たりの信頼度(期待値)が示唆されることとなる。 In addition, a plurality of display patterns are provided for the pending display 212, and the display colors are different for each display pattern. In the main control board 300, when the hold is stored, the effect determination process at the time of acquisition (step S536) is executed, and the change information determined when the newly stored hold is read out to the 0th storage unit. to the sub control board 330. In the sub control board 330, upon receiving the prefetch designation command, the display pattern of the hold display 212 corresponding to the newly stored hold is determined based on the received command. At this time, the selection ratio of each display pattern is set for each look-ahead designation command, that is, for each variation information determined when the newly stored hold is read out in the big role lottery. That is, since the selection ratio of each display pattern is set according to whether or not the jackpot is won and the execution pattern of the variable effect, the display pattern of the pending display 212 suggests the reliability (expected value) of the jackpot. It will happen.

図68(a)は最終保留表示パターン決定テーブルを説明する図であり、図68(b)は1つ前保留表示パターン決定テーブルを説明する図である。上記したように、主制御基板300における取得時演出判定処理では、新たに記憶された保留が読み出された際に決定される変動モード番号および変動パターン番号を示す先読み指定コマンドを副制御基板330に送信する。つまり、先読み指定コマンドは、保留が読み出されたときに決定される変動モード番号および変動パターン番号を副制御基板330に伝達するコマンドである。最終保留表示パターン決定テーブルによれば、先読み指定コマンド(変動パターン番号)ごとに、保留表示212の表示パターンの選択比率がそれぞれ設定されており、先読み指定コマンドを受信すると、保留表示212の最終の表示パターン、すなわち、当該保留表示212aの最終的な表示パターンが決定される。 FIG. 68(a) is a diagram for explaining the final pending display pattern determination table, and FIG. 68(b) is a diagram for explaining the previous pending display pattern determination table. As described above, in the effect determination process at the time of acquisition in the main control board 300, the pre-reading designation command indicating the variation mode number and the variation pattern number determined when the newly stored hold is read is sent to the sub control board 330 Send to That is, the prefetch designation command is a command to transmit to the sub control board 330 the variation mode number and variation pattern number determined when the suspension is read. According to the final pending display pattern determination table, the selection ratio of the display pattern of the pending display 212 is set for each prefetching designation command (variation pattern number). The display pattern, that is, the final display pattern of the pending display 212a is determined.

図68(a)に示す最終保留表示パターン決定テーブルによれば、「デフォルト(白)」、「点滅」、「青」、「黄」、「緑」、「黒」「赤」、「プレミア(虹)」の8種類の表示パターンのいずれかが決定される。そして、当該保留表示212aの最終的な表示パターンが決定されると、それ以前に表示される保留表示212の表示パターンが、図68(b)に示す1つ前保留表示パターン決定テーブルを参照して決定される。この1つ前保留表示パターン決定テーブルによれば、保留表示212の表示パターンごとに、移動表示前に表示する保留表示212の表示パターンの選択比率が設定されている。 According to the final pending display pattern determination table shown in FIG. Rainbow)” is determined. Then, when the final display pattern of the pending display 212a is determined, the display pattern of the pending display 212 to be displayed before that is determined by referring to the previous pending display pattern determination table shown in FIG. 68(b). determined by According to this one-preceding pending display pattern determination table, the selection ratio of the display pattern of the pending display 212 to be displayed before the moving display is set for each display pattern of the pending display 212 .

例えば、主制御基板300において、第1特図保留記憶領域の第2記憶部に保留が記憶された場合に、最終保留表示パターン決定テーブルを参照して、当該保留表示212aの最終的な表示パターンが決定されたとする。この場合には、次に、第1保留表示212bの表示パターンを、1つ前保留表示パターン決定テーブルを参照して決定する。このとき、第1保留表示212bの表示パターンは、先に決定された当該保留表示212aの最終的な表示パターンに基づいて決定される。例えば、当該保留表示212aの最終的な表示パターンが「青」であった場合、1つ前保留表示パターン決定テーブルによれば、第1保留表示212bの表示パターンとして、「点滅」が200/250の確率で決定され、「青」が50/250の確率で決定され。 For example, in the main control board 300, when the suspension is stored in the second storage unit of the first special figure suspension storage area, referring to the final suspension display pattern determination table, the final display pattern of the suspension display 212a is determined. In this case, next, the display pattern of the first pending display 212b is determined with reference to the previous pending display pattern determination table. At this time, the display pattern of the first pending display 212b is determined based on the final display pattern of the pending display 212a previously determined. For example, when the final display pattern of the pending display 212a is "blue", according to the previous pending display pattern determination table, the display pattern of the first pending display 212b is "flashing" at 200/250. , and "blue" is determined with a probability of 50/250.

このようにして、第1保留表示212bの表示パターンが決定されると、次に、先に決定された第1保留表示212bの表示パターンに基づいて、再び、1つ前保留表示パターン決定テーブルを参照して、第2保留表示212cの表示パターンが決定される。 After the display pattern of the first reserved display 212b is determined in this manner, the immediately previous reserved display pattern determination table is again based on the previously determined display pattern of the first reserved display 212b. The display pattern of the second pending display 212c is determined with reference to this.

以上のように、保留が記憶されると、まず、当該保留表示212aの最終的な表示パターンが決定され、その後、決定された当該保留表示212aの最終的な表示パターンに基づいて、第1保留表示212bの表示パターンが決定される等、表示順序を逆方向に遡るように、表示パターンが順次決定されることとなる。なお、1つ前保留表示パターン決定テーブルによれば、先に決定されている保留表示212の表示パターンと同じか、もしくは、信頼度の低い表示パターンのみが決定されるように、選択比率が設定されている。 As described above, when the hold is stored, first, the final display pattern of the hold display 212a is determined, and then, based on the determined final display pattern of the hold display 212a, the first hold The display patterns are sequentially determined such that the display pattern of the display 212b is determined, and the display order is reversed. According to the immediately preceding pending display pattern determination table, the selection ratio is set so that only the display pattern that is the same as the display pattern of the previously determined pending display 212 or has a low reliability is determined. It is

上記のように、保留表示演出では、保留表示212について、所定の遊技利益の付与に対する期待値が異なる複数の表示パターンが設けられている。そして、保留表示212は、メイン演出表示部200aに最初に表示されてから最終的に消去されるまでの間、1の表示パターンで表示される場合もあれば、表示期間中に表示パターンが変化する場合もある。 As described above, in the pending display effect, the pending display 212 is provided with a plurality of display patterns with different expected values for the provision of a predetermined game profit. The pending display 212 may be displayed in one display pattern from the time it is first displayed on the main effect display section 200a until it is finally erased, or the display pattern may change during the display period. sometimes.

演出参考例において、保留表示212の表示パターンの変化が生じるタイミングは、新たに記憶された特1保留(以下、対象保留ともいう)が、第1保留表示212b~第3保留表示212dに移動表示されたタイミングと、対象保留に係る対象変動演出中とに大別される。 In the production reference example, the timing at which the change in the display pattern of the hold display 212 occurs is that the newly stored special 1 hold (hereinafter also referred to as target hold) moves to the first hold display 212b to the third hold display 212d. It is roughly divided into the timing when the target is held and during the target change effect related to the target hold.

次に、上記の変動演出を実行するための副制御基板330における処理について説明する。なお、以下では、副制御基板330における処理のうち、変動演出と関係のない処理については説明を省略する。 Next, the processing in the sub-control board 330 for executing the variable effect will be described. In addition, below, among the processes in the sub-control board 330, the description of the processes irrelevant to the variation effect will be omitted.

(副制御基板330のサブCPU初期化処理)
図69は、演出参考例に係る副制御基板330のサブCPU初期化処理(S1000)を説明するフローチャートである。
(Sub CPU initialization processing of sub control board 330)
FIG. 69 is a flow chart for explaining the sub-CPU initialization process (S1000) of the sub-control board 330 according to the production reference example.

(ステップS1000-1)
サブCPU330aは、電源投入に応じて、サブROM330bからCPU初期化処理プログラムを読み込むとともに、サブRAM330cに記憶されるフラグ等の初期化、設定処理を行う。
(Step S1000-1)
When the power is turned on, the sub CPU 330a reads a CPU initialization processing program from the sub ROM 330b and initializes and sets flags stored in the sub RAM 330c.

(ステップS1000-3)
次に、サブCPU330aは、各演出乱数を更新する処理を行うとともに、以後は、割込み処理が行われるまで当該ステップS1000-3の処理を繰り返し行う。なお、演出乱数は複数種類設けられており、ここでは、それぞれの演出乱数が非同期的に更新されている。
(Step S1000-3)
Next, the sub CPU 330a performs processing for updating each effect random number, and thereafter repeatedly performs the processing of step S1000-3 until interrupt processing is performed. A plurality of types of effect random numbers are provided, and here, each effect random number is asynchronously updated.

(副制御基板330のサブタイマ割込み処理)
図70は、演出参考例に係る副制御基板330のサブタイマ割込み処理(S1100)を説明するフローチャートである。副制御基板330には、所定の周期(1秒間に30回)でクロックパルスを発生するリセット用クロックパルス発生回路(不図示)が設けられている。そして、このリセット用クロックパルス発生回路によるクロックパルスの発生により、サブCPU330aはタイマ割込み処理プログラムを読み込んで当該サブタイマ割込み処理を開始する。
(Sub-timer interrupt processing of sub-control board 330)
FIG. 70 is a flowchart for explaining the sub-timer interrupt processing (S1100) of the sub-control board 330 according to the production reference example. The sub-control board 330 is provided with a reset clock pulse generation circuit (not shown) that generates a clock pulse at a predetermined cycle (30 times per second). When the reset clock pulse generating circuit generates a clock pulse, the sub CPU 330a reads the timer interrupt processing program and starts the sub timer interrupt processing.

(ステップS1100-1)
サブCPU330aは、レジスタを退避する。
(Step S1100-1)
The sub CPU 330a saves the register.

(ステップS1100-3)
サブCPU330aは、割込みを許可するための処理を行う。
(Step S1100-3)
The sub CPU 330a performs processing for permitting interrupts.

(ステップS1100-5)
サブCPU330aは、副制御基板330で用いられる各種タイマカウンタの更新処理を行う。ここで、各種タイマカウンタは、特に断る場合を除き、当該副制御基板330のサブタイマ割込み処理の度に1ずつ減算され、0になると減算を停止する。
(Step S1100-5)
The sub CPU 330 a updates various timer counters used in the sub control board 330 . Here, the various timer counters are decremented by 1 each time the sub-timer interrupt processing of the sub-control board 330 is executed, and the decrementation is stopped when it reaches 0, unless otherwise specified.

(ステップS1200)
サブCPU330aは、サブRAM330cの受信バッファに格納されているコマンドを解析するとともに、受信したコマンドに応じた種々の処理を行う。副制御基板330においては、主制御基板300からコマンドが送信されると、コマンド受信割込み処理が行われ、主制御基板300から送信されたコマンドが受信バッファに格納される。ここでは、コマンド受信割込み処理によって受信バッファに格納されたコマンドを解析することとなる。
(Step S1200)
The sub CPU 330a analyzes the commands stored in the reception buffer of the sub RAM 330c and performs various processes according to the received commands. In the sub control board 330, when a command is transmitted from the main control board 300, command reception interrupt processing is performed, and the command transmitted from the main control board 300 is stored in the reception buffer. Here, the command stored in the reception buffer is analyzed by command reception interrupt processing.

(ステップS1100-7)
サブCPU330aは、タイムテーブルを参照して、当該タイムテーブルに記憶された該当時間に対応する処理を実行するタイムスケジュール管理処理を行う。ここでは、タイムテーブルにセットされたタイムデータに基づいて、各種のフラグをオン、オフしたり、あるいは、各演出デバイスにコマンドを送信したりすることで、変動演出や大役演出をはじめとする各演出の実行を制御することとなる。
(Step S1100-7)
The sub CPU 330a refers to the timetable and performs a time schedule management process for executing the process corresponding to the time stored in the timetable. Here, based on the time data set in the timetable, various flags are turned on and off, or by sending commands to each production device, various productions such as variable production and large role production It will control the execution of the production.

(ステップS1100-9)
サブCPU330aは、レジスタを復帰して当該サブタイマ割込み処理を終了する。
(Step S1100-9)
The sub CPU 330a restores the register and terminates the sub timer interrupt process.

図71は、上記コマンド解析処理のうち、先読み指定コマンドを受信した際に実行される演出参考例に係る先読み指定コマンド受信処理を説明するフローチャートである。上記したとおり、先読み指定コマンド(先読み指定変動パターンコマンド)は、主制御基板300において、取得時演出判定処理(図33のステップS536-21、ステップS536-25、ステップS536-27)でセットされた後、サブコマンド送信処理(図23のステップS100-65)によって副制御基板330に送信される。 FIG. 71 is a flow chart for explaining a read-ahead designation command reception process according to a reference example of effect executed when a read-ahead designation command is received in the command analysis process. As described above, the prefetching designation command (prefetching designation variation pattern command) is set in the main control board 300 in the effect determination process (steps S536-21, S536-25, and S536-27 in FIG. 33). After that, it is transmitted to the sub-control board 330 by sub-command transmission processing (step S100-65 in FIG. 23).

(ステップS1210-1)
サブCPU330aは、まず、受信した先読み指定コマンドを解析する。
(Step S1210-1)
The sub CPU 330a first analyzes the received prefetch designation command.

(ステップS1210-3)
サブCPU330aは、上記ステップS1210-1の解析結果に基づいて、事前判定情報を記憶する。なお、副制御基板330のサブRAM330cには、主制御基板300の第1特図保留記憶領域に対応する第1事前判定情報記憶部と、第2特図保留記憶領域に対応する第2事前判定情報記憶部とが設けられている。第1事前判定情報記憶部は第1記憶部~第4記憶部の4つの記憶部を備えている。これら第1事前判定情報記憶部の第1記憶部~第4記憶部は、第1特図保留記憶領域の第1記憶部~第4記憶部にそれぞれ対応している。同様に、第2事前判定情報記憶部は第1記憶部~第4記憶部の4つの記憶部を備えており、これら第2事前判定情報記憶部の第1記憶部~第4記憶部は、第2特図保留記憶領域の第1記憶部~第4記憶部にそれぞれ対応している。ここでは、主制御基板300の第1特図保留記憶領域または第2特図保留記憶領域の第1記憶部~第4記憶部のうち、新たに保留が記憶された記憶部に対応する記憶部に事前判定情報が記憶される。
(Step S1210-3)
Sub CPU 330a stores advance determination information based on the analysis result of step S1210-1. The sub-RAM 330c of the sub-control board 330 includes a first preliminary determination information storage unit corresponding to the first special figure reservation storage area of the main control board 300, and a second preliminary determination corresponding to the second special figure reservation storage area. An information storage unit is provided. The first prior determination information storage section has four storage sections, ie, a first storage section to a fourth storage section. The first to fourth storage units of these first advance determination information storage units correspond to the first to fourth storage units of the first special figure reservation storage area, respectively. Similarly, the second pre-determination information storage unit includes four storage units, the first storage unit to the fourth storage unit, and the first storage unit to the fourth storage unit of the second pre-determination information storage unit are: It corresponds to each of the first to fourth storage units of the second special figure reservation storage area. Here, of the first to fourth storage units of the first special figure reservation storage area or the second special figure reservation storage area of the main control board 300, the storage unit corresponding to the storage unit in which the new suspension is stored pre-determination information is stored in.

(ステップS1210-5)
サブCPU330aは、保留表示212の最終の表示パターンを決定する最終保留表示パターン決定処理を行う。ここでは、受信した先読み指定コマンドに基づき、最終保留表示パターン決定テーブル(図68(a))を参照し、当該保留表示212aの最終の表示パターンを決定して記憶する。
(Step S1210-5)
The sub CPU 330 a performs final pending display pattern determination processing for determining the final display pattern of the pending display 212 . Here, based on the received prefetch designation command, the final pending display pattern determination table (FIG. 68(a)) is referred to determine and store the final display pattern of the pending display 212a.

(ステップS1210-7)
サブCPU330aは、保留が記憶された記憶部に基づいて、保留表示212の表示パターンを決定する回数、すなわち保留表示212の変化タイミングを導出し、導出した回数だけ、1つ前保留表示パターン決定テーブル(図68(b))を参照して、保留表示212の表示パターンを決定する。そして、決定した保留表示212の表示パターン情報を所定の記憶部に記憶し、ステップS1210-9に処理を移す。
(Step S1210-7)
The sub CPU 330a derives the number of times the display pattern of the pending display 212 is determined, that is, the change timing of the pending display 212, based on the storage unit in which the pending is stored. With reference to (FIG. 68(b)), the display pattern of the pending display 212 is determined. Then, the determined display pattern information of the pending display 212 is stored in a predetermined storage unit, and the process proceeds to step S1210-9.

(ステップS1210-9)
サブCPU330aは、上記ステップS1210-5およびステップS1210-7の決定に基づいて、保留表示212の表示を開始させる保留表示開始処理を行い、当該先読み指定コマンド受信処理を終了する。これにより、保留が記憶されたときに、対応する保留表示212の表示が開始されることとなる。
(Step S1210-9)
Sub CPU 330a performs a hold display start process for starting the display of hold display 212 based on the determinations in steps S1210-5 and S1210-7, and ends the prefetch designation command reception process. Thus, when the hold is stored, the display of the corresponding hold display 212 is started.

図72は、演出参考例に係る上記コマンド解析処理のうち、変動コマンドを受信した際に実行される変動コマンド受信処理を説明するフローチャートである。上記したとおり、変動コマンドは、主制御基板300において、特別図柄変動番号決定処理(図39のステップS612-13、S612-17)でセットされた後、サブコマンド送信処理(図23のステップS100-65)によって副制御基板330に送信される。 FIG. 72 is a flow chart for explaining the variable command reception process executed when a variable command is received, among the command analysis processes according to the reference example of effect. As described above, the variation command is set in the special symbol variation number determination processing (steps S612-13 and S612-17 in FIG. 39) in the main control board 300, and then the sub-command transmission processing (step S100- in FIG. 23). 65) to the sub control board 330.

(ステップS1220-1)
変動コマンドを受信すると、サブCPU330aは、まず、受信した変動パターンコマンドを解析して、記憶する。
(Step S1220-1)
Upon receiving the variation command, the sub CPU 330a first analyzes and stores the received variation pattern command.

(ステップS1220-3)
サブCPU330aは、上記ステップS1000-3で更新された演出乱数(0~249)を取得し、当該取得した演出乱数および上記ステップS1220-1における解析結果に基づいて、後半の変動演出の実行パターンを決定、記憶する。
(Step S1220-3)
The sub CPU 330a acquires the effect random number (0 to 249) updated in step S1000-3, and based on the acquired effect random number and the analysis result in step S1220-1, determines the execution pattern of the second half of the variable effect. Decide, memorize.

(ステップS1220-5)
サブCPU330aは、受信した変動モードコマンドを解析して、記憶する。
(Step S1220-5)
Sub CPU 330a analyzes and stores the received variation mode command.

(ステップS1220-7)
サブCPU330aは、上記ステップS1000-3で更新された演出乱数(0~249)を取得し、当該取得した演出乱数および上記ステップS1220-5における解析結果に基づいて、前半の変動演出の実行パターンを決定、記憶する。
(Step S1220-7)
The sub CPU 330a acquires the effect random number (0 to 249) updated in step S1000-3, and based on the acquired effect random number and the analysis result in step S1220-5, determines the execution pattern of the first half of the variable effect. Decide, memorize.

(ステップS1220-9)
サブCPU330aは、上記ステップS1000-3で更新された演出乱数(0~249)を予告演出ごとに取得し、当該取得した演出乱数および上記ステップS1220-1、ステップS1220-5における解析結果に基づいて、各予告演出決定テーブルを参照して、各予告演出の実行有無ならびに実行パターンを決定、記憶する。
(Step S1220-9)
The sub CPU 330a acquires the effect random number (0 to 249) updated in step S1000-3 for each advance notice effect, and based on the obtained effect random number and the analysis results in steps S1220-1 and S1220-5. , with reference to each notice effect determination table, the presence or absence of execution of each notice effect and the execution pattern are determined and stored.

(ステップS1220-11)
サブCPU330aは、事前判定情報記憶部に記憶されている事前判定情報をシフトするシフト処理を実行する。ここでは、特1保留に基づく変動演出を開始する場合には、第1事前判定情報記憶部の第4記憶部~第2記憶部に記憶されている事前判定情報を、それぞれ第1事前判定情報記憶部の第3記憶部~第1記憶部にシフトし、特2保留に基づく変動演出を開始する場合には、第2事前判定情報記憶部の第4記憶部~第2記憶部に記憶されている事前判定情報を、それぞれ第2事前判定情報記憶部の第3記憶部~第1記憶部にシフトする。
(Step S1220-11)
Sub CPU 330a executes shift processing for shifting the prior determination information stored in the prior determination information storage unit. Here, when starting the variable production based on the special 1 suspension, the advance judgment information stored in the fourth storage unit to the second storage unit of the first advance judgment information storage unit, respectively, the first advance judgment information When shifting to the third storage unit to the first storage unit of the storage unit and starting the variable production based on the special 2 hold, the fourth storage unit to the second storage unit of the second advance determination information storage unit is stored. The pre-determination information stored therein is shifted to the third storage unit to the first storage unit of the second pre-determination information storage unit.

(ステップS1220-13)
サブCPU330aは、保留表示212を移動表示させる保留表示シフト処理を行う。また、ここでは、保留表示212の表示パターンが変化する場合には、所定のタイミングで表示パターンを変化させるための実行データをセットする。
(Step S1220-13)
The sub CPU 330a performs a hold display shift process for moving the hold display 212 for display. Further, here, when the display pattern of the pending display 212 changes, execution data for changing the display pattern at a predetermined timing is set.

(ステップS1220-15)
サブCPU330aは、上記各ステップの決定に基づいてタイムテーブルのタイムデータをセットして、当該変動コマンド受信処理を終了する。なお、ここでセットされたタイムテーブルに基づき、上記ステップS1100-7において、変動演出用の画像をメイン演出表示部200aに表示する処理や、音声出力処理、演出照明装置204の点灯制御処理等の演出実行制御がなされることとなる。
(Step S1220-15)
The sub CPU 330a sets the time data in the timetable based on the determinations made in the above steps, and terminates the variation command reception process. Based on the timetable set here, in step S1100-7, the process of displaying the image for the variable effect on the main effect display unit 200a, the sound output process, the lighting control process of the effect lighting device 204, etc. Production execution control is performed.

<スロットマシン400>
図73および図74の外観図に示すように、遊技機としてのスロットマシン400は、前面が開口した筐体402と、筐体402の前面一端に回動可能に上下に並んで配置される前面上扉404および前面下扉406とが設けられている。前面上扉404の下部略中央には、ガラス板や透明樹脂板等で構成された無色透明の図柄表示窓408が設けられており、筐体402内の図柄表示窓408に対応する位置には、3つのリール410(左リール410a、中リール410b、右リール410c)が、それぞれ独立して回動可能に設けられている。左リール410a、中リール410b、右リール410cの外周面には、図75(a)の図柄配列に示すように、20に等分された各領域に複数種類の図柄がそれぞれ配列されており、遊技者は、図柄表示窓408を通じて、上段、中段、下段に位置する、左リール410a、中リール410b、右リール410cそれぞれの3つの連続する合計9個の図柄を視認することができる。
<Slot machine 400>
As shown in the external views of FIGS. 73 and 74, a slot machine 400 as a game machine includes a housing 402 with an open front surface and a front surface arranged vertically at one end of the front surface of the housing 402 so as to be rotatable. An upper door 404 and a lower front door 406 are provided. A colorless and transparent pattern display window 408 made of a glass plate, a transparent resin plate, or the like is provided at approximately the center of the lower portion of the front upper door 404. , three reels 410 (a left reel 410a, a middle reel 410b, and a right reel 410c) are independently rotatable. As shown in the pattern arrangement of FIG. 75(a), a plurality of types of symbols are arranged in each area divided into 20 on the outer peripheral surface of the left reel 410a, the middle reel 410b, and the right reel 410c. Through the symbol display window 408, the player can visually recognize a total of nine symbols, each of which is located in the upper, middle and lower stages, and which are three continuous reels 410a, 410b and 410c, respectively.

前面下扉406の上部には操作部設置台412が形成され、操作部設置台412には、メダル投入部414、ベットスイッチ416、スタートスイッチ418、ストップスイッチ420、演出スイッチ422等が設けられている。メダル投入部414は、メダル投入口414aを通じて遊技価値としてのメダルの投入を受け付ける。ベットスイッチ416は、スロットマシン400の内部に電気的に貯留(以下、単にクレジットという)されているメダルのうち、1遊技で必要とされる規定数のメダルを投入(ベット)する。 An operation unit installation table 412 is formed on the upper part of the front lower door 406, and the operation unit installation table 412 is provided with a medal insertion unit 414, a bet switch 416, a start switch 418, a stop switch 420, a production switch 422, and the like. there is The medal insertion unit 414 receives insertion of medals as game value through a medal insertion slot 414a. The bet switch 416 inserts (bets) a prescribed number of medals required for one game among the medals electrically stored (hereinafter simply referred to as credits) inside the slot machine 400 .

スタートスイッチ418は、例えば傾倒操作を検出可能なレバーで構成され、遊技者による遊技の開始操作を検出する。ストップスイッチ420(ストップスイッチ420a、ストップスイッチ420b、ストップスイッチ420c)は、左リール410a、中リール410b、右リール410cそれぞれに対応して設けられており、遊技者の停止操作を検出する。なお、ストップスイッチ420の停止操作が可能な状態で、遊技者が、ストップスイッチ420a、ストップスイッチ420b、ストップスイッチ420cのいずれかを最初に停止操作することを第1停止といい、第1停止の後、停止操作されていない2つのストップスイッチ420のいずれかを停止操作することを第2停止といい、第2停止の後、最後に残ったストップスイッチ420を停止操作することを第3停止という。演出スイッチ422は、例えば、押圧スイッチと、その周囲に回転自在に配されたジョグダイヤルスイッチとから構成され、遊技者の押圧操作や回転操作を検出する。 The start switch 418 is composed of, for example, a lever capable of detecting a tilting operation, and detects a game start operation by the player. The stop switch 420 (stop switch 420a, stop switch 420b, stop switch 420c) is provided corresponding to each of the left reel 410a, the middle reel 410b, and the right reel 410c, and detects the player's stop operation. In addition, when the stop switch 420 can be stopped, the player first stops any one of the stop switch 420a, the stop switch 420b, and the stop switch 420c, which is called a first stop. After that, stopping one of the two stop switches 420 that have not been stopped is called a second stop, and after the second stop, stopping the last remaining stop switch 420 is called a third stop. . The effect switch 422 is composed of, for example, a press switch and a jog dial switch rotatably arranged around it, and detects a player's press operation or rotation operation.

前面上扉404の上部略中央には、演出に伴う様々な画像を表示する液晶表示部424が設けられている。また、前面上扉404の上部や左右には、例えば高輝度の発光ダイオード(LED)によって構成される演出用ランプ426が設けられる。また、前面上扉404の裏面における液晶表示部424の左右位置や前面下扉406の裏面における左右位置には、効果音や楽音等による聴覚的な演出を行うスピーカ428が設けられている。 A liquid crystal display section 424 for displaying various images associated with the effects is provided in the upper approximate center of the front upper door 404 . In addition, on the upper part and on the left and right of the front upper door 404, there are provided lamps 426 for effect, which are made up of, for example, high-intensity light-emitting diodes (LEDs). Speakers 428 are provided at the left and right positions of the liquid crystal display section 424 on the rear surface of the upper front door 404 and at the left and right positions on the rear surface of the lower front door 406 to produce auditory effects such as sound effects and musical tones.

操作部設置台412には、メインクレジット表示部430およびメイン払出表示部432が設けられている。また、図柄表示窓408と操作部設置台412との間には、サブクレジット表示部434およびサブ払出表示部436が設けられている。これらメインクレジット表示部430およびサブクレジット表示部434にはクレジットされているメダルの枚数(クレジット枚数)が表示され、メイン払出表示部432およびサブ払出表示部436にはメダルの払出枚数が表示される。 A main credit display section 430 and a main payout display section 432 are provided on the operating section installation table 412 . A sub-credit display section 434 and a sub-payout display section 436 are provided between the symbol display window 408 and the operating section installation table 412 . The main credit display portion 430 and the sub-credit display portion 434 display the number of credited medals (the number of credits), and the main payout display portion 432 and the sub-payout display portion 436 display the number of payout medals. .

筐体402内におけるリール410の下方には、メダル排出口440aからメダルを払い出すためのメダル払出装置(メダルホッパー)442が設けられている。また、前面下扉406の前面下部には、メダル排出口440aから払い出されたメダルを貯留するための受け皿部440が設けられている。また、筐体402内には、電源スイッチ444が設けられている。電源スイッチ444は、スロットマシン400を管理する管理者が操作し、電源の切断状態と電源の投入状態の2つの状態を切り換えるために用いられる。 Below the reel 410 in the housing 402, a medal payout device (medal hopper) 442 for paying out medals from the medal outlet 440a is provided. In addition, at the front lower portion of the front lower door 406, a saucer portion 440 for storing medals dispensed from the medal discharge port 440a is provided. A power switch 444 is also provided in the housing 402 . The power switch 444 is operated by an administrator who manages the slot machine 400 and is used to switch between two states, a power-off state and a power-on state.

また、筐体402内には、後述する主制御基板500に、図示しない設定ドアキーおよび設定変更スイッチ(これらを合わせて設定値設定手段という)が設けられている。スロットマシン400では、設定ドアキーに所定の鍵(操作キー)が挿入されてOFFの位置からONの位置へ回転された状態で電源スイッチ444を介して電源が投入されると設定変更モードに移行し、設定値の変更(単に設定変更ともいう)が可能な状態となる。設定値は、遊技者の有利度合(機械割)を段階的に示したものであり、例えば、1~6の6段階で表され、一般に、設定値の数値が大きいほど遊技全体として有利度合が高い(期待獲得枚数が高い)ように設定されている。そして、設定変更が可能な状態において設定変更スイッチが押下される度に設定値が1ずつ加算され、例えば、6段階の設定値のうちのいずれかの設定値に変更され、スタートスイッチ418が操作されると、設定値が確定し、設定ドアキーを元の位置(OFFの位置)に戻すことで設定変更モードが終了して遊技が可能となる。なお、設定変更は、電源スイッチ444が操作されて電源の投入状態となってから一定期間のみ可能となっている。 In the housing 402, a main control board 500, which will be described later, is provided with a setting door key and a setting change switch (not shown) (collectively referred to as setting value setting means). In the slot machine 400, when a predetermined key (operation key) is inserted into the setting door key and turned from the OFF position to the ON position, the power is turned on via the power switch 444, and the setting change mode is entered. , the setting value can be changed (simply referred to as setting change). The set value indicates the degree of advantage of the player (machine ratio) in stages, and is represented, for example, in six stages from 1 to 6. In general, the higher the value of the set value, the more advantageous the game as a whole. It is set to be high (expected acquisition number is high). The set value is incremented by one each time the setting change switch is pressed in a state in which the setting can be changed. Then, the set value is determined, and the set door key is returned to the original position (OFF position) to terminate the setting change mode and enable the game. It should be noted that setting change is possible only for a certain period of time after the power switch 444 is operated and the power is turned on.

スロットマシン400では、遊技が開始可能となり、規定数のメダルがベットされると、有効ラインAが有効化するとともに、スタートスイッチ418に対する操作が有効となる。ここで、ベットは、ベットスイッチ416の操作を通じてクレジットされているメダルを投入する場合と、メダル投入部414を通じてメダルを投入する場合と、詳しくは後述するリプレイ役が有効ラインA上に表示されたことに基づいてメダルを自動投入する場合のいずれも含む。また、有効ラインAは、当選役の入賞を判定するためのラインであり、本実施形態では1本である。有効ラインAは、図75(b)に示すように、図柄表示窓408に臨む9つの図柄(3リール×上中下の3段)のうち、左リール410aの中段、中リール410bの中段、右リール410cの上段に停止する図柄に対応する位置を結んだラインに設定されている。無効ラインは、有効ラインA上に表示された図柄組み合わせのみでは当選役を把握しにくい場合に、当選役の把握を容易にする他の図柄組み合わせを表示する、当選役の入賞判定には用いられない有効ラインA以外のラインであり、本実施形態では、図75(b)に示す5つの無効ラインB1、B2、B3、C1、C2を想定している。 In the slot machine 400, when a game can be started and a specified number of medals are betted, the activated line A is activated and the operation of the start switch 418 is activated. Here, bets are made by inserting credited medals through operation of the bet switch 416, inserting medals through the medal inserting unit 414, and replay combinations, which will be described later in detail, are displayed on the activated line A. This includes any case where medals are automatically inserted based on Also, the active line A is a line for judging the winning of a winning combination, and there is one in this embodiment. As shown in FIG. 75(b), the activated line A has nine symbols (three reels×three rows of upper, middle, and lower) facing the symbol display window 408, the middle row of the left reel 410a, the middle row of the middle reel 410b, and the middle row of the middle reel 410b. The line is set to connect the positions corresponding to the symbols stopped on the upper stage of the right reel 410c. The invalid line is used to determine the winning combination by displaying other symbol combinations that make it easier to grasp the winning combination when it is difficult to grasp the winning combination only from the combination of symbols displayed on the valid line A. In this embodiment, five invalid lines B1, B2, B3, C1 and C2 shown in FIG. 75(b) are assumed.

そして、遊技者によりスタートスイッチ418が操作されると、遊技が開始され、左リール410a、中リール410b、右リール410cが回転されるとともに、当選種別抽選等が実行される。その後、ストップスイッチ420a、420b、420cの操作に応じて、対応する左リール410a、中リール410b、右リール410cをそれぞれ停止させる。そして、当選種別抽選の抽選結果および有効ラインAに表示された図柄の組み合わせによって、メダルの払い出しを受け得る当選役が入賞した場合にはメダルの払い出しが実行され、メダルの払い出しを受け得る当選種別に不当選であった場合または当選したが入賞しなかった場合には左リール410a、中リール410b、右リール410cが全て停止したことをもって、遊技が終了する。 When the player operates the start switch 418, the game is started, the left reel 410a, the middle reel 410b, and the right reel 410c are rotated, and the winning type lottery and the like are executed. After that, according to the operation of the stop switches 420a, 420b, 420c, the corresponding left reel 410a, middle reel 410b, and right reel 410c are respectively stopped. Then, when a winning combination that can receive medals wins according to the combination of the lottery results of the winning type lottery and the symbols displayed on the activated line A, the medals are paid out, and the winning type that can receive the medals is paid out. , or if the player wins but does not win, the left reel 410a, the middle reel 410b, and the right reel 410c all come to a stop, and the game ends.

なお、本実施形態において、上記1遊技は、メダル投入部414を通じたメダルの投入、ベットスイッチ416の操作を通じたクレジットされているメダルの投入、または、リプレイ役が有効ラインA上に表示されたことに基づくメダルの自動投入のいずれかが行われてから、遊技者によるスタートスイッチ418の操作に応じて、左リール410a、中リール410b、右リール410cが回転制御されるとともに当選種別抽選が実行され、当選種別抽選の抽選結果および遊技者による複数のストップスイッチ420a、420b、420cの操作に応じて、操作されたストップスイッチ420a、420b、420cに対応する左リール410a、中リール410b、右リール410cがそれぞれ停止制御され、メダルの払い出しを受け得る当選役が入賞した場合、そのメダルの払い出しが実行されるまでの遊技をいう。また、メダルの払い出しを受け得る当選種別に不当選であった場合または当選したが入賞しなかった場合、左リール410a、中リール410b、右リール410cが全て停止したことをもって1遊技が終了する。ただし、1遊技の開始を、上記のメダルの投入、または、リプレイ役の当選の代わりに、遊技者によるスタートスイッチ418の操作と読み替えてもよい。また、かかる1遊技が繰り返される数を遊技数とする。 In the present embodiment, the above-mentioned one game is the insertion of medals through the medal insertion unit 414, the insertion of credited medals through the operation of the bet switch 416, or the replay combination displayed on the activated line A. After one of the medals is automatically inserted based on the above, the left reel 410a, the middle reel 410b, and the right reel 410c are controlled to rotate according to the player's operation of the start switch 418, and the winning type lottery is executed. The left reel 410a, the middle reel 410b, and the right reel corresponding to the operated stop switches 420a, 420b, and 420c according to the lottery result of the winning type lottery and the operation of the plurality of stop switches 420a, 420b, and 420c by the player. 410c are respectively controlled to be stopped, and when a winning combination that can receive the payout of medals wins, the game is played until the payout of the medals is executed. In addition, when the winning type for which medals can be paid out is not won, or when the player wins but does not win, the left reel 410a, the middle reel 410b, and the right reel 410c all stop, and one game ends. However, the start of one game may be read as the operation of the start switch 418 by the player instead of the insertion of medals or the winning of a replay combination. Also, the number of times such one game is repeated is the number of games.

図76は、スロットマシン400の概略的な電気的構成を示したブロック図である。図76に示すように、スロットマシン400は、遊技の進行を制御する主制御基板500(主制御部)と、遊技の進行に応じた演出を制御する副制御基板502(副制御部)とを含む制御基板が設けられている。また、主制御基板500と副制御基板502との間の電気的な信号の伝達は、不正防止等の観点から、主制御基板500から副制御基板502への一方向のみに制限される。 FIG. 76 is a block diagram showing a schematic electrical configuration of the slot machine 400. As shown in FIG. As shown in FIG. 76, the slot machine 400 includes a main control board 500 (main control section) for controlling the progress of the game, and a sub-control board 502 (sub-control section) for controlling the effect according to the progress of the game. A control board is provided that includes. In addition, electrical signal transmission between the main control board 500 and the sub control board 502 is limited to one direction only from the main control board 500 to the sub control board 502 from the viewpoint of fraud prevention.

(主制御基板500)
主制御基板500は、中央処理装置であるメインCPU500a、プログラム等が格納されたメインROM500b、ワークエリアとして機能するメインRAM500c等を含む半導体集積回路を有し、スロットマシン400全体を統括的に制御する。なお、メインRAM500cは、電源が切断された場合においても、設定変更が行われてRAMクリアが実行されない限り、データが消去されることなく保持される。
(Main control board 500)
The main control board 500 has a semiconductor integrated circuit including a main CPU 500a as a central processing unit, a main ROM 500b storing programs and the like, a main RAM 500c functioning as a work area, etc., and controls the entire slot machine 400. . The data in the main RAM 500c is retained without being erased even when the power is turned off, unless the setting is changed and the RAM is cleared.

また、主制御基板500は、メインCPU500aが、メインROM500bに格納されたプログラムに基づきメインRAM500cと協働することで機能する、初期化手段600、ベット手段602、当選種別抽選手段604、リール制御手段606、判定手段608、払出制御手段610、遊技状態制御手段612、演出状態制御手段614、コマンド送信手段616等の機能部を有する。 In addition, the main control board 500 functions by the main CPU 500a cooperating with the main RAM 500c based on the program stored in the main ROM 500b. 606, determination means 608, payout control means 610, game state control means 612, effect state control means 614, command transmission means 616 and other functional units.

主制御基板500では、メダル投入口414aへのメダルの投入を検出する投入メダル検出部414b、ベットスイッチ416、スタートスイッチ418およびストップスイッチ420a、420b、420cから各種の検出信号を受信しており、受信した検出信号に基づいて、メインCPU500aが種々の処理を実行する。 The main control board 500 receives various detection signals from an inserted medal detector 414b that detects the insertion of medals into the medal slot 414a, a bet switch 416, a start switch 418, and stop switches 420a, 420b, and 420c. The main CPU 500a executes various processes based on the received detection signal.

初期化手段600は、主制御基板500における初期化処理を実行する。ベット手段602は、遊技に使用するためのメダルをベットする。当選種別抽選手段604は、スタートスイッチ418の操作に基づき、詳しくは後述するように、当選役の当否、より詳しくは、当選役が含まれる当選種別の当否を決定する当選種別抽選を行う。 The initialization means 600 executes initialization processing in the main control board 500 . The betting means 602 bets medals to be used for games. Based on the operation of the start switch 418, the winning type lottery means 604 performs a winning type lottery for determining the suitability of the winning combination, more specifically, the suitability of the winning combination including the winning combination, as will be described in detail later.

リール制御手段606は、スタートスイッチ418の操作に応じて、左リール410a、中リール410b、右リール410cを回転制御し、回転している左リール410a、中リール410b、右リール410cにそれぞれ対応したストップスイッチ420a、420b、420cの操作に応じて、対応する左リール410a、中リール410b、右リール410cを停止制御する。また、リール制御手段606は、スタートスイッチ418の操作に応じて、前回の遊技においてストップスイッチ420a、420b、420cの操作を有効化してから、当選種別抽選の抽選結果を表示するために遊技者によるストップスイッチ420a、420b、420cの操作を有効化するまで(前回の遊技におけるストップスイッチ420a、420b、420cの操作完了により無効化されている)の時間を規定の時間より延長し、その間、リール410a、410b、410cを多彩な態様で回転させるリール演出(フリーズ演出)を行う場合がある。リール演出は、本来有効となるべき任意のスイッチを所定時間有効にしなかったり、本来実行されるべき処理を所定時間保留したり、本来送受信されるべき任意のスイッチの信号を所定時間送信または受信させなかったりすることで実現できる。 The reel control means 606 controls the rotation of the left reel 410a, the middle reel 410b and the right reel 410c according to the operation of the start switch 418, corresponding to the rotating left reel 410a, the middle reel 410b and the right reel 410c. Depending on the operation of the stop switches 420a, 420b and 420c, the corresponding left reel 410a, middle reel 410b and right reel 410c are controlled to stop. In addition, the reel control means 606 activates the operation of the stop switches 420a, 420b, and 420c in the previous game in response to the operation of the start switch 418, and then, to display the lottery result of the winning type lottery. The time until the operation of the stop switches 420a, 420b, and 420c is validated (invalidated by the completion of the operation of the stop switches 420a, 420b, and 420c in the previous game) is extended beyond the specified time, and during that time, the reel 410a , 410b, and 410c are rotated in various ways (freeze effect). In the reel performance, an arbitrary switch that should be enabled is not enabled for a predetermined time, processing that should be executed is suspended for a predetermined time, or a signal of an arbitrary switch that should be transmitted and received is transmitted or received for a predetermined time. It can be realized by doing or not.

また、主制御基板500には、リール駆動制御部450が接続されている。このリール駆動制御部450は、スタートスイッチ418の操作信号に応じ、リール制御手段606から送信される、左リール410a、中リール410b、右リール410cの回転開始信号に基づいて、ステッピングモータ452を駆動する。また、リール駆動制御部450は、ストップスイッチ420の操作信号に応じ、リール制御手段606から送信される、左リール410a、中リール410b、右リール410cそれぞれの停止信号および回転位置検出回路454の検出信号に基づいて、ステッピングモータ452の駆動を停止する。 A reel drive control section 450 is also connected to the main control board 500 . This reel drive control unit 450 drives a stepping motor 452 based on the rotation start signal of the left reel 410a, the middle reel 410b, and the right reel 410c, which is transmitted from the reel control means 606 in response to the operation signal of the start switch 418. do. In addition, the reel drive control unit 450 detects the respective stop signals of the left reel 410a, the middle reel 410b, and the right reel 410c, which are transmitted from the reel control means 606, and the rotation position detection circuit 454 in response to the operation signal of the stop switch 420. Drive of the stepping motor 452 is stopped based on the signal.

判定手段608は、当選役に対応する図柄組み合わせが有効ラインA上に表示されたか否か判定する。ここで、当選役に対応する図柄組み合わせが有効ラインA上に表示されることを単に入賞という場合がある。払出制御手段610は、当選役に対応する図柄組み合わせが有効ラインA上に表示されたこと(入賞したこと)に基づいて、当該当選役に対応する数(価値量)だけメダルを払い出す。また、主制御基板500には、メダル払出装置442が接続されており、払出制御手段610は、メダルの払出枚数を計数しながらメダルを排出する。 The determining means 608 determines whether or not the symbol combination corresponding to the winning combination is displayed on the activated line A. Here, the fact that the symbol combination corresponding to the winning combination is displayed on the activated line A may simply be called winning. A payout control means 610 pays out medals in the number (amount of value) corresponding to the winning combination based on the symbol combination corresponding to the winning combination being displayed on the activated line A (winning). A medal payout device 442 is connected to the main control board 500, and the payout control means 610 discharges medals while counting the number of payout medals.

遊技状態制御手段612は、当選種別抽選の結果や判定手段608の判定結果を参照し、複数種類の遊技状態のいずれかに遊技状態を移行させる。また、演出状態制御手段614は、当選種別抽選の結果、判定手段608の判定結果、遊技状態の遷移情報を参照し、複数種類の演出状態のいずれかに演出状態を移行させる。 The game state control means 612 refers to the result of the winning type lottery and the determination result of the determination means 608, and shifts the game state to one of a plurality of types of game states. Also, the effect state control means 614 refers to the result of the winning type lottery, the determination result of the determination means 608, and the transition information of the game state, and shifts the effect state to one of a plurality of types of effect states.

コマンド送信手段616は、ベット手段602、当選種別抽選手段604、リール制御手段606、判定手段608、払出制御手段610、遊技状態制御手段612、演出状態制御手段614等の動作に伴う、遊技に関するコマンドを順次決定し、決定したコマンドを副制御基板502に順次送信する。 The command transmission means 616 is a game-related command associated with the operation of the betting means 602, winning type lottery means 604, reel control means 606, determination means 608, payout control means 610, game state control means 612, effect state control means 614, and the like. are sequentially determined, and the determined commands are sequentially transmitted to the sub control board 502 .

また、主制御基板500には、乱数発生器(乱数生成手段)500dが設けられる。乱数発生器500dは、計数値を順次インクリメントし、所定の数値範囲内でループさせ、所定の時点における計数値を抽出することで乱数を得る。主制御基板500の乱数発生器500dによって生成される乱数(以下、当選種別抽選乱数という)は、遊技者に付与する遊技利益、例えば、当選種別抽選手段604が当選種別を決定するために用いられる。 Further, the main control board 500 is provided with a random number generator (random number generating means) 500d. The random number generator 500d sequentially increments the count value, loops within a predetermined numerical range, and extracts the count value at a predetermined point in time to obtain a random number. A random number generated by the random number generator 500d of the main control board 500 (hereinafter referred to as a winning type lottery random number) is used to determine the game profit to be given to the player, for example, the winning type lottery means 604 determines the winning type. .

(副制御基板502)
また、副制御基板502は、主制御基板500と同様に、中央処理装置であるサブCPU502a、プログラム等が格納されたサブROM502b、ワークエリアとして機能するサブRAM502c等を含む各種半導体集積回路を有し、主制御基板500からのコマンドに基づき、特に演出を制御する。また、サブRAM502cにもメインRAM500c同様、不図示のバックアップ電源が接続されており、電源が切断された場合においても、データが消去されることなく保持される。なお、副制御基板502にも、主制御基板500同様、乱数発生器(乱数生成手段)502dが設けられており、乱数発生器502dによって生成される乱数(以下、演出抽選乱数という)は、主に演出の態様を決定するために用いられる。
(Sub control board 502)
The sub-control board 502, like the main control board 500, has various semiconductor integrated circuits including a sub-CPU 502a that is a central processing unit, a sub-ROM 502b that stores programs and the like, and a sub-RAM 502c that functions as a work area. , based on the command from the main control board 500, especially controls the performance. A backup power supply (not shown) is connected to the sub-RAM 502c as well as the main RAM 500c, so that data is retained without being erased even when the power is turned off. The sub control board 502 is also provided with a random number generator (random number generating means) 502d, similar to the main control board 500. It is used to determine the mode of production.

また、副制御基板502では、サブCPU502aが、サブROM502bに格納されたプログラムに基づき、サブRAM502cと協働することで機能する、初期化決定手段630、コマンド受信手段632、演出制御手段634等の機能部を有する。 Also, in the sub-control board 502, the sub-CPU 502a functions by cooperating with the sub-RAM 502c based on the program stored in the sub-ROM 502b. It has a functional part.

初期化決定手段630は、副制御基板502における初期化処理を実行する。コマンド受信手段632は、主制御基板500等、他の制御基板からのコマンドを受信し、コマンドに対する処理を行う。演出制御手段634は、演出スイッチ422から検出信号を受信するとともに、受信されたコマンドに基づいて液晶表示部424、スピーカ428、演出用ランプ426の各デバイスで行われる遊技の演出を決定する。具体的に、演出制御手段634は、液晶表示部424に表示される画像データや、演出用ランプ426、サブクレジット表示部434、サブ払出表示部436等の電飾機器を通じた演出のための電飾データを決定するとともに、スピーカ428から出力すべき音声を構成する音声データを決定する。そして、演出制御手段634は、決定した遊技の演出を実行する。なお、演出には、補助演出も含まれる。補助演出は、当選種別抽選において、正解役(特定の役)と不正解役とが重複した選択当選種別に当選したときに、その正解役の入賞条件となるストップスイッチ420a、420b、420cの正解操作態様を報知する演出である。かかる補助演出により、遊技者は、正解役に対応する図柄組み合わせを、遊技者が有効ラインA上に容易に表示させることができる。かかる補助演出を実行する演出状態をAT(アシストタイム)演出状態という。また、AT演出状態とリプレイ役の当選確率が高いRT(リプレイタイム)遊技状態が並行して進行される所謂ART遊技状態を用いることもある。 The initialization determining means 630 executes initialization processing in the sub control board 502 . The command receiving means 632 receives commands from other control boards such as the main control board 500 and processes the commands. The effect control means 634 receives the detection signal from the effect switch 422, and determines the effect of the game performed by each device of the liquid crystal display unit 424, the speaker 428, and the effect lamp 426 based on the received command. Specifically, the effect control means 634 controls the image data displayed on the liquid crystal display unit 424, the effect lamps 426, the sub-credit display unit 434, the sub-payout display unit 436, and other illumination devices for effects. Along with determining the decoration data, the audio data constituting the audio to be output from the speaker 428 is also determined. And the production|presentation control means 634 performs the production|presentation of the determined game. Note that the production includes an auxiliary production. In the winning type lottery, when winning a selected winning type in which a correct combination (a specific combination) and an incorrect combination are duplicated, the correct operation of the stop switches 420a, 420b, and 420c, which is a winning condition for the correct combination, is performed. This is an effect for notifying the operation mode. With such an auxiliary effect, the player can easily display the symbol combination corresponding to the correct combination on the activated line A. An effect state in which such an assist effect is executed is called an AT (assist time) effect state. Also, a so-called ART game state may be used in which an AT effect state and an RT (replay time) game state with a high probability of winning a replay combination progress in parallel.

なお、以下では、液晶表示部424、演出用ランプ426、スピーカ428、サブクレジット表示部434、サブ払出表示部436といった、副制御基板502を含む、主制御基板500以外の基板で管理される報知手段を他報知手段という場合がある。これに対し、メインクレジット表示部430、メイン払出表示部432といった、主制御基板500で管理される報知手段を主報知手段(指示モニタ)という場合がある。また、補助演出を実行可能な主報知手段および他報知手段を合わせて補助演出実行手段という場合もある。演出状態制御手段614は、AT演出状態において、補助演出を補助演出実行手段に実行させる。 In the following description, information managed by a board other than the main control board 500, including the sub control board 502, such as the liquid crystal display section 424, the performance lamp 426, the speaker 428, the sub credit display section 434, and the sub payout display section 436 The means may be called other notification means. On the other hand, the notification means managed by the main control board 500, such as the main credit display section 430 and the main payout display section 432, may be called main notification means (instruction monitor). Also, the main notification means and other notification means capable of executing the auxiliary effect may be collectively referred to as the auxiliary effect executing means. The effect state control means 614 causes the auxiliary effect executing means to execute the auxiliary effect in the AT effect state.

(主制御基板500で用いられるテーブル)
図77は、当選役を説明するための説明図であり、図78および図79は、当選種別抽選テーブルを説明するための説明図である。
(Table used in main control board 500)
FIG. 77 is an explanatory diagram for explaining the winning combination, and FIGS. 78 and 79 are explanatory diagrams for explaining the winning type lottery table.

スロットマシン400においては、詳しくは後述するように、複数種類の遊技状態および演出状態が設けられており、遊技の進行に応じて遊技状態および演出状態が移行される。そして、主制御基板500では、遊技状態制御手段612により管理、制御される遊技状態に対応する複数の当選種別抽選テーブル等がメインROM500bに格納されている。当選種別抽選手段604は、メインRAM500cに記憶された現在の設定値(遊技利益を得る容易性を段階的に示したもの)と現在の遊技状態に応じて、対応する当選種別抽選テーブルをメインROM500bから抽出し、抽出した当選種別抽選テーブルに基づき、スタートスイッチ418の操作信号に応じて取得された当選種別抽選乱数が当選種別抽選テーブル内のいずれの当選種別に対応するか判定する。 As will be described later in detail, the slot machine 400 is provided with a plurality of types of game states and effect states, and the game states and effect states are changed in accordance with the progress of the game. In the main control board 500, the main ROM 500b stores a plurality of winning type lottery tables corresponding to the game states managed and controlled by the game state control means 612. FIG. The winning type lottery means 604 stores the corresponding winning type lottery table in the main ROM 500b according to the current set value (indicating the easiness of obtaining a game profit in stages) stored in the main RAM 500c and the current gaming state. and based on the extracted winning type lottery table, it is determined which winning type in the winning type lottery table the winning type lottery random number acquired in response to the operation signal of the start switch 418 corresponds to.

ここで、当選種別抽選テーブルで抽出される当選種別を構成する当選役には、リプレイ役、小役、ボーナス役が含まれる。リプレイ役は、リプレイ役に対応する図柄組み合わせが有効ラインA上に表示されると、遊技者によるメダルの新たなるベットを行わずして再度遊技を実行できる役である。小役は、その小役に対応する図柄組み合わせが有効ラインA上に表示されることにより、図柄組み合わせに応じて所定枚数のメダルの払い出しを受けることができる役である。また、ボーナス役は、そのボーナス役に対応する図柄組み合わせが有効ラインA上に表示されることにより、遊技状態制御手段612により管理される遊技状態をボーナス遊技状態(後述するRBB作動中遊技状態)に移行させることができる役である。 Here, the winning combination constituting the winning type extracted from the winning type lottery table includes a replay combination, a minor combination, and a bonus combination. The replay combination is a combination in which, when the symbol combination corresponding to the replay combination is displayed on the activated line A, the game can be played again without the player betting new medals. A small combination is a combination in which a predetermined number of medals can be paid out according to the symbol combination by displaying a symbol combination corresponding to the minor combination on the activated line A. In addition, the bonus combination is changed to a bonus game state (a game state during RBB operation to be described later), which is managed by the game state control means 612, by displaying a symbol combination corresponding to the bonus combination on the activated line A. It is a role that can be transferred to

本実施形態における当選役は、図77に示すように、リプレイ役として、当選役「リプレイ1」~「リプレイ7」が設けられている。また、小役として、当選役「小役1」~「小役39」が設けられている。また、ボーナス役として、当選役「RBB」が設けられている。図77では、左リール410a、中リール410b、右リール410cそれぞれに、各当選役を構成する1または複数の図柄が対応付けられている。 As shown in FIG. 77, the winning combination according to the present embodiment includes winning combinations "replay 1" to "replay 7" as replay combinations. In addition, as the small winning combination, winning combinations “small winning combination 1” to “small winning combination 39” are provided. In addition, a winning combination “RBB” is provided as a bonus combination. In FIG. 77, the left reel 410a, the middle reel 410b, and the right reel 410c are associated with one or a plurality of symbols forming each winning combination.

ここで、本実施形態においては、遊技者によってストップスイッチ420が操作されたときに、入賞可能な当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段606によって、当該図柄が有効ラインA上に停止するように停止制御がなされる。また、ストップスイッチ420が操作されたときに、入賞可能な当選役に対応する図柄組み合わせを構成する図柄が、有効ラインA上にはないが、リール410の回転方向と反対の方向の図柄4コマ分に相当する範囲(引込範囲)内に存在している場合には、リール制御手段606によって、離れている図柄数が滑りコマ数となり、当該当選役に対応する図柄組み合わせを構成する図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。また、入賞可能な当選役に対応する図柄がリール410中に複数あり、いずれもリール410の引込範囲内に存在している場合には、予め定められた優先順位に従っていずれの図柄を有効ラインA上に引き込むか決定され、当該優先された図柄を有効ラインA上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。なお、ストップスイッチ420が押圧操作されたときに、入賞可能な当選役以外の当選役に対応する図柄組み合わせを構成する図柄が有効ラインA上にある場合には、リール制御手段606によって、その図柄を有効ラインA上に停止させないようにする、所謂蹴飛ばし処理も並行して実行される。また、後述するように、当選種別に含まれる当選役に操作態様(操作順や操作タイミング)が入賞条件として設定されている場合、リール制御手段606は、遊技者の操作態様に応じて当選役に対応する図柄組み合わせを有効ラインA上に表示可能に停止制御する。 Here, in the present embodiment, when the stop switch 420 is operated by the player, if the symbols forming the symbol combination corresponding to the possible winning combination are on the effective line A, the reel control means By 606, stop control is performed so that the symbol is stopped on the activated line A. Further, when the stop switch 420 is operated, there are 4 symbols in the direction opposite to the rotating direction of the reel 410, although the symbols constituting the symbol combination corresponding to the winning combination that can be won are not on the activated line A. If it exists within the range (pull-in range) corresponding to the winning combination, the reel control means 606 makes the number of symbols that are separated become the number of sliding symbols, and the symbols that make up the combination of symbols corresponding to the winning combination are valid. Stop control is performed so as to stop after maintaining the rotation for the number of sliding frames so as to draw onto the line A. Further, when there are a plurality of symbols corresponding to winning combinations that can be won in the reel 410, and all of them are within the retraction range of the reel 410, which symbol is placed on the effective line A according to a predetermined priority. It is determined whether to pull it upward, and stop control is performed so as to stop after maintaining the rotation for the number of sliding frames so as to pull the prioritized symbol onto the effective line A. - 特許庁Incidentally, when the stop switch 420 is pressed, if a symbol constituting a symbol combination corresponding to a winning combination other than a winable winning combination is present on the activated line A, the reel control means 606 controls the symbol. is not stopped on the effective line A, so-called kicking processing is also executed in parallel. In addition, as will be described later, when an operation mode (operation order or operation timing) is set as a winning condition for a winning combination included in the winning type, the reel control means 606 controls the winning combination according to the player's operation mode. The symbol combination corresponding to is controlled to be displayed on the activated line A.

そして、例えば、当選役「リプレイ1」~「リプレイ4」、当選役「小役1」~「小役6」、「小役35」~「小役39」に対応する図柄組み合わせを構成する図柄は、各リール410において、上記の停止制御によって、必ず有効ラインA上に表示可能なように配列されている。このような当選役をPB=1と表す場合がある。一方、例えば、当選役「リプレイ5」~「リプレイ7」、当選役「小役7」~「小役34」、当選役「RBB」に対応する図柄組み合わせを構成する図柄は、各リール410において、上記の停止制御によって、必ずしも有効ラインA上に表示可能なように配列されていないので、所謂とりこぼしが発生する場合がある。このような当選役をPB≠1と表す場合がある。 Then, for example, symbols constituting symbol combinations corresponding to winning hands "replay 1" to "replay 4", winning hands "small hand 1" to "small hand 6", and "small hand 35" to "small hand 39". are arranged so that they can always be displayed on the effective line A by the above-described stop control on each reel 410 . Such a winning combination may be expressed as PB=1. On the other hand, for example, the symbols constituting the symbol combination corresponding to the winning combination “Replay 5” to “Replay 7”, the winning combination “Small combination 7” to “Small combination 34”, and the winning combination “RBB” are displayed on each reel 410. , the above-mentioned stop control does not always allow the arrangement to be displayed on the effective line A, so that a so-called dropout may occur. Such a winning combination may be expressed as PB≠1.

図78および図79に示すように、当選種別抽選テーブルでは、複数の当選領域が区画されており、各遊技状態によって抽選の対象となる当選種別が異なったり、不当選(ハズレ)の有無が異なったりする。図78および図79では、各遊技状態(非内部遊技状態(非内部)、RBB内部中遊技状態(RBB内部中)、RBB作動中遊技状態(RBB作動中))毎に割り当てられた当選領域(当選種別)を「◎」や「○」で表しているが、実際には、複数の遊技状態それぞれに対応する当選種別抽選テーブルがメインROM500bに記憶されている。なお、「◎」は有利区間に移行させる抽選を行うことが可能な有利区間抽選可当選種別であることを示し、「○」は有利区間に移行させる抽選を行うことが不可な有利区間抽選不可当選種別であることを示している。 As shown in FIGS. 78 and 79, in the winning type lottery table, a plurality of winning areas are divided, and the winning type to be the target of the lottery differs depending on each game state, and the presence or absence of non-winning (losing) differs. or In FIGS. 78 and 79, the winning areas ( Winning type lottery tables corresponding to each of a plurality of gaming states are actually stored in the main ROM 500b. In addition, "◎" indicates that it is possible to draw a lottery to move to an advantageous section, and "○" indicates that it is impossible to draw a lottery to move to an advantageous section. It shows that it is a winning type.

当選種別抽選テーブルでは、区画化された各当選領域にはそれぞれ当選範囲を示す数値である所定の置数(当選範囲値)と当選種別が対応付けられており、遊技状態毎に割り当てられた全ての当選領域の置数を合計すると当選種別抽選乱数の総数(65536)となる。したがって、当選種別それぞれが決定される確率は、当選領域に対応付けられた置数を当選種別抽選乱数の総数で除算した値となる。当選種別抽選手段604は、その時点の遊技状態に基づいて、当該当選種別抽選テーブルにおける複数の当選領域のうち番号の高い方から、順次、置数を取得し、その置数を当選種別抽選乱数から減算して、減算後の値が0未満となると、その時点の当選領域に対応付けられた当選種別を当選種別抽選の抽選結果としている。また、当選領域1以上の全ての当選領域の置数を当選種別抽選乱数から減算して、減算後の値が0以上となっていれば、当選領域0の当選種別「ハズレ」が当選種別抽選の抽選結果となる。 In the winning type lottery table, each partitioned winning area is associated with a predetermined number (winning range value), which is a numerical value indicating a winning range, and a winning type. The total number of winning type lottery random numbers (65536) is obtained by summing up the numbers set in the winning areas. Therefore, the probability that each winning type is determined is a value obtained by dividing the number associated with the winning area by the total number of winning type lottery random numbers. A winning-type lottery means 604 sequentially acquires numbers from a plurality of winning regions in the winning-type lottery table in descending order of numbers based on the game state at that time, and converts the numbers to winning-type lottery random numbers. When the value after subtraction becomes less than 0, the winning type associated with the winning area at that time is taken as the lottery result of the winning type lottery. Also, the set numbers of all the winning areas of 1 or more winning areas are subtracted from the winning type lottery random number, and if the value after subtraction is 0 or more, the winning type "losing" of the winning area 0 is the winning type lottery. lottery result.

ここで、当選種別「RBB」を構成する当選役「RBB」について補足する。所定の第1種特別役物RBは、規定数ごとの入賞に係る図柄の組み合わせの数を増加させ、または規定数ごとの入賞に係る条件装置が作動する確率を上昇させる役物で、あらかじめ定められた場合に作動し、12回を超えない回数の遊技の結果が得られるまで作動を継続することができるものをいう。ここで、条件装置は、その作動が入賞、再遊技、役物または役物連続作動装置の作動に係る図柄の組み合わせが表示されるために必要な条件とされている装置で、当選種別抽選(遊技機内で行われる電子計算機によるくじ)に当選した場合に作動するもの、すなわち、当選フラグを意味する。そして、当選種別「RBB」を構成する第1種特別役物に係る役物連続作動装置(当選役「RBB」)は、第1種特別役物RBを連続して作動させることができる装置であり、特定の図柄の組み合わせが表示された場合に作動し、あらかじめ定められた場合に作動を終了するものをいう。 Here, the winning combination "RBB" constituting the winning type "RBB" will be supplemented. Predetermined Type 1 Special Accessory RB is an accessory that increases the number of combinations of symbols related to winning for each specified number, or increases the probability of operating the conditional device related to winning for each specified number. It is activated when the game is played, and can continue to operate until the result of the game is obtained not more than 12 times. Here, the conditional device is a device whose operation is a necessary condition for displaying a combination of symbols related to winning, replay, the operation of the accessory or the operation of the accessory continuous operation device, and the winning type lottery ( It means a winning flag that operates when winning a lottery by an electronic computer performed in a game machine. And the role product continuous operating device (winning role "RBB") related to the first type special role product constituting the winning type "RBB" is a device capable of continuously operating the first type special role product RB. It is activated when a specific combination of symbols is displayed, and ends when it is determined in advance.

図78の当選種別抽選テーブルによれば、例えば当選領域0には、当選種別「ハズレ」が対応付けられており、かかる当選種別に当選すると、図77に示したいずれの当選役に対応する図柄組み合わせも有効ラインA上に表示されることはなく、メダルの払い出し等が行われることはない。ただし、後述するように、RBB内部当選フラグが次遊技に持ち越されている場合、当選種別「ハズレ」の当選により、当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示させることが可能となる。 According to the winning type lottery table of FIG. 78, for example, the winning area 0 is associated with the winning type "lost". No combination is displayed on the activated line A, and medals are not paid out. However, as will be described later, if the RBB internal winning flag is carried over to the next game, the symbol combination corresponding to the winning combination "RBB" can be displayed on the activated line A by winning the winning type "lost". It becomes possible.

また、当選領域1には、当選役「小役1」~「小役39」が重複して含まれる当選種別「小役ALL」が対応付けられており、当選領域2には、当選役「小役11」~「小役39」が重複して含まれる当選種別「1枚ALLA」が対応付けられており、当選領域3には、当選役「小役12」~「小役27」が重複して含まれる当選種別「1枚ALLB」が対応付けられている。また、当選領域4には、当選役「小役12」、「小役20」が重複して含まれる当選種別「択1枚1」が対応付けられ、当選領域5には、当選役「小役13」、「小役21」が重複して含まれる当選種別「択1枚2」が対応付けられ、当選領域6には、当選役「小役14」、「小役22」が重複して含まれる当選種別「択1枚3」が対応付けられ、当選領域7には、当選役「小役15」、「小役23」が重複して含まれる当選種別「択1枚4」が対応付けられている。また、当選領域8には、当選役「小役35」、「小役36」が重複して含まれる当選種別「弱チェリー」が対応付けられ、当選領域9には、当選役「小役37」~「小役39」が重複して含まれる当選種別「強チェリー」が対応付けられ、当選領域10には、当選役「小役7」、「小役8」、「小役11」が重複して含まれる当選種別「スイカA」が対応付けられ、当選領域11には、当選役「小役7」~「小役10」が重複して含まれる当選種別「スイカB」が対応付けられ、当選領域12には、当選役「小役1」、「小役3」、「小役5」が重複して含まれる当選種別「強ベル」が対応付けられている。また、当選領域13には、当選役「小役1」~「小役6」が重複して含まれる当選種別「共通ベルA」が対応付けられ、当選領域14には、当選役「小役1」~「小役6」、「小役11」が重複して含まれる当選種別「共通ベルB」が対応付けられている。 In addition, the winning area 1 is associated with the winning type "small winning combination ALL" in which the winning combinations "small winning combination 1" to "small winning combination 39" are duplicated, and the winning area 2 corresponds to the winning combination " The winning type "1 piece ALLA" in which the "small winning combination 11" to "small winning combination 39" are included in duplicate is associated with the winning area 3, and the winning combination "small winning combination 12" to "small winning combination 27" are associated with the winning area 3. The winning type "one card ALLB", which is redundantly included, is associated with it. In addition, the winning area 4 is associated with the winning type "choice 1 sheet 1" in which the winning combination "small combination 12" and "small combination 20" are duplicated, and the winning area 5 is associated with the winning combination "small combination Winning type "Choice 1 sheet 2" in which "Hand 13" and "Small win 21" are overlapped is associated, and winning area 6 is associated with winning combination "Small win 14" and "Small win 22". The winning type "choice 1 3" included in the winning area 7 is associated with the winning type "choice 1 4" in which the winning combination "small combination 15" and "small combination 23" are duplicated. are mapped. The winning area 8 is associated with the winning type "weak cherry" in which the winning combination "small combination 35" and "small combination 36" are duplicated, and the winning area 9 is associated with the winning combination "small combination 37". to "small win 39" are associated with the winning type "strong cherry", and the winning area 10 contains the winning wins "small win 7", "small win 8", and "small win 11". The winning type "watermelon A" that overlaps is associated, and the winning area 11 is associated with the winning type "watermelon B" that overlaps the winning combination "small combination 7" to "small combination 10". The winning area 12 is associated with the winning type "strong bell" in which the winning combinations "small combination 1", "small combination 3", and "small combination 5" are overlapped. In addition, the winning area 13 is associated with the winning type "common bell A" in which the winning hands "small hand 1" to "small hand 6" are overlapped, and the winning area 14 is associated with the winning hand "small hand 1” to “small winning combination 6” and “small winning combination 11” are included in duplicate, and are associated with the winning type “common bell B”.

また、当選領域15~26には、払出枚数が11枚となる正解役(当選役「小役1」~「小役6」)と、払出枚数が1枚の不正解役(当選役「小役12」~「小役34」)が重複して含まれる選択当選種別(当選種別「打順ベル1A」~「打順ベル6A」、「打順ベル1B」~「打順ベル6B」)がそれぞれ対応付けられている。 In addition, in the winning areas 15 to 26, the correct combination (winning combination "small combination 1" to "small combination 6") with the number of payouts of 11 and the incorrect combination (winning combination "small combination") with the number of payouts of 1 Selected winning types (winning types "batting order bell 1A" to "batting order bell 6A", "batting order bell 1B" to "batting order bell 6B") that overlap with "hand 12" to "small win 34") are associated with each other. It is

また、図79の当選種別抽選テーブルによれば、当選領域27~39には、当選役「リプレイ1」~「リプレイ7」が重複して含まれる当選種別「シンボルリプレイA1」~「シンボルリプレイA7」、「シンボルリプレイB1」~「シンボルリプレイB6」が対応付けられている。また、当選領域40には、当選役「リプレイ1」、「リプレイ2」が重複して含まれる当選種別「通常リプレイ」が対応付けられている。 Further, according to the winning type lottery table of FIG. 79, winning areas 27 to 39 include winning combinations "replay 1" to "replay 7" in duplicate. ”, and “symbol replay B1” to “symbol replay B6” are associated with each other. In addition, the winning area 40 is associated with the winning type "normal replay" in which the winning combination "replay 1" and "replay 2" are overlapped.

また、当選領域41~46には、当選役「RBB」が単独、または、他の小役と重複して含まれる当選種別「RBB1」~「RBB6」が対応付けられている。 Further, the winning areas 41 to 46 are associated with the winning types "RBB1" to "RBB6" in which the winning combination "RBB" is included singly or overlapped with other minor combinations.

そして、複数の当選役が重複して含まれる当選種別に当選した場合には、いずれの当選役に対応する図柄組み合わせを有効ラインA上に優先的に表示させるかについての入賞条件、例えば、ストップスイッチ420a、420b、420cが操作される順番が設定されている。 Then, when a winning type in which a plurality of winning hands are overlapped is won, a winning condition, such as stop The order in which the switches 420a, 420b, and 420c are operated is set.

以下の説明において、左リール410a、中リール410b、右リール410cの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順1」とし、左リール410a、右リール410c、中リール410bの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順2」とし、中リール410b、左リール410a、右リール410cの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順3」とし、中リール410b、右リール410c、左リール410aの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順4」とし、右リール410c、左リール410a、中リール410bの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順5」とし、右リール410c、中リール410b、左リール410aの順にリールを停止させるストップスイッチ420a、420b、420cの操作を「打順6」とする。 In the following description, the operations of the stop switches 420a, 420b, and 420c that stop the reels in the order of the left reel 410a, the middle reel 410b, and the right reel 410c are referred to as "batting order 1". The operations of the stop switches 420a, 420b, and 420c that sequentially stop the reels are referred to as "batting order 2", and the operations of the stop switches 420a, 420b, and 420c that stop the reels in the order of the middle reel 410b, the left reel 410a, and the right reel 410c are referred to as the "batting order." 3", and the operation of the stop switches 420a, 420b, 420c for stopping the reels in the order of the middle reel 410b, the right reel 410c, and the left reel 410a is set as "hitting order 4", and the right reel 410c, the left reel 410a, and the middle reel 410b are operated in this order. The operation of the stop switches 420a, 420b, and 420c for stopping the reels is referred to as "batting order 5", and the operation of the stop switches 420a, 420b, and 420c for stopping the reels in the order of the right reel 410c, middle reel 410b, and left reel 410a is referred to as "batting order 6". ”.

例えば、非内部遊技状態において、当選領域15の当選種別「打順ベル1A」に当選し、正解操作態様(打順1)による操作が行われた場合、払出枚数が11枚の正解役である当選役「小役1」に対応する図柄組み合わせが有効ラインA上に優先的に表示されるように停止制御がなされる。また、打順2による操作が行われた場合、払出枚数1枚の不正解役である当選役「小役28」に対応する図柄組み合わせが有効ラインA上に優先的に表示されるように停止制御がなされ、打順3、4による操作が行われた場合、払出枚数1枚の不正解役である当選役「小役12」に対応する図柄組み合わせが有効ラインA上に優先的に1/4の確率で表示されるように停止制御がなされ、打順5、6による操作が行われた場合、払出枚数1枚の不正解役である当選役「小役16」に対応する図柄組み合わせが有効ラインA上に優先的に1/4の確率で表示されるように停止制御がなされる。 For example, in the non-internal game state, if the winning type "batting order bell 1A" in the winning area 15 is won and an operation is performed according to the correct operation mode (batting order 1), the payout number is 11, which is the correct winning combination. Stop control is performed so that the symbol combination corresponding to the "small win 1" is preferentially displayed on the activated line A. - 特許庁Further, when the operation of the batting order 2 is performed, the stop control is performed so that the symbol combination corresponding to the winning combination "small combination 28" which is the incorrect combination with the number of payouts of 1 is preferentially displayed on the activated line A. is performed, and when the operation according to the batting order 3, 4 is performed, the symbol combination corresponding to the winning combination "small combination 12", which is an incorrect combination of the number of payouts of 1, is preferentially placed on the activated line A by 1/4. Stop control is performed so as to be displayed with a probability, and when operations are performed according to the batting order of 5 and 6, the symbol combination corresponding to the winning combination "small combination 16", which is an incorrect combination of the number of payouts of 1, is on the valid line A. Stop control is performed so that it is preferentially displayed on the top with a probability of 1/4.

なお、当選領域15~26の各当選種別の当選確率(置数)は等しくなるように設定されている。遊技者は、通常、いずれの当選種別に当選しているのかを知ることができないため、上記のような当選領域15~26を設けることにより、正解役を入賞させにくくしている。また、上記のように、不正解役が優先的に表示される打順でストップスイッチ420a、420b、420cが操作されても、必ずしも不正解役に対応する図柄組み合わせを有効ラインA上に表示させられるとは限らないので、その操作態様によっては、とりこぼしが発生することがある(PB≠1)。 It should be noted that the winning probability (set number) of each winning type in the winning areas 15 to 26 is set to be equal. Since the player usually cannot know which type of winning has been won, by providing the above-described winning areas 15 to 26, it is made difficult for the correct combination to win. Further, as described above, even if the stop switches 420a, 420b, and 420c are operated in the batting order in which the incorrect combination is preferentially displayed, the symbol combination corresponding to the incorrect combination is necessarily displayed on the activated line A. However, depending on the mode of operation, there are cases where a failure occurs (PB≠1).

なお、上述したいずれかの当選種別に当選すると、それぞれの当選種別に対応する内部当選フラグが成立(ON)するとともに、この内部当選フラグの成立状況に応じて、各リール410の停止制御がなされることとなる。このとき、小役が含まれる当選種別に当選したものの、これら当選役に対応する図柄組み合わせを、その遊技内で有効ラインA上に表示させることができなかった場合には、当該遊技の終了後に内部当選フラグがOFFされる。つまり、小役の当選の権利は小役が含まれる当選種別に当選した遊技内のみに限られ、当該権利を次遊技に持ち越すことはできない。これに対して、当選役「RBB」が含まれる当選種別に当選した場合には、RBB内部当選フラグが成立(ON)するとともに、当選役「RBB」に対応する図柄組み合わせが有効ラインA上に表示されるまで、RBB内部当選フラグが遊技を跨いで持ち越される。なお、リプレイ役が含まれる当選種別に対応する内部当選フラグが成立した場合には、その当選種別に含まれるリプレイ役のうちのいずれかのリプレイ役に対応する図柄組み合わせが必ず有効ラインA上に表示され、メダルを要することなく次遊技を行うために必要となる処理が行われた後に、当該内部当選フラグがOFFされる。 When one of the winning types described above is won, the internal winning flag corresponding to each winning type is established (ON), and each reel 410 is controlled to stop according to the state of establishment of this internal winning flag. The Rukoto. At this time, if a winning type including a minor winning combination is won, but the symbol combination corresponding to these winning combinations cannot be displayed on the activated line A in the game, after the end of the game. The internal winning flag is turned OFF. In other words, the right to win a minor winning combination is limited only within the game in which the winning type including the minor winning combination has been won, and the right cannot be carried over to the next game. On the other hand, if the winning type including the winning combination "RBB" is won, the RBB internal winning flag is established (ON) and the symbol combination corresponding to the winning combination "RBB" is displayed on the activated line A. The RBB internal winning flag is carried over across games until it is displayed. In addition, when the internal winning flag corresponding to the winning type including the replay combination is established, the symbol combination corresponding to any of the replay combinations included in the winning type is always on the activated line A. After the display is performed and the processing required to play the next game without medals is performed, the internal winning flag is turned OFF.

(遊技状態の遷移)
ここで、図80を用い、遊技状態の遷移について説明する。ここでは、非内部遊技状態、RBB内部中遊技状態、RBB作動中遊技状態といった複数の遊技状態が準備されている。各遊技状態は、後述するように、ボーナス役の当選、入賞(作動)、終了に応じて遷移させる。
(Transition of game state)
Here, the game state transition will be described with reference to FIG. Here, a plurality of game states such as a non-internal game state, an RBB internal game state, and an RBB active game state are prepared. Each game state is changed according to winning of a bonus combination, winning (activation), and termination, as described later.

非内部遊技状態は、複数の遊技状態における初期状態に相当する遊技状態である。かかる非内部遊技状態では、リプレイ役の当選確率が約1/7.3に設定されている。また、非内部遊技状態では、当選役「RBB」が所定の確率(例えば約1/30)で決定されている。 The non-internal game state is a game state corresponding to an initial state in a plurality of game states. In such a non-internal game state, the winning probability of the replay combination is set to approximately 1/7.3. In addition, in the non-internal game state, the winning combination "RBB" is determined with a predetermined probability (for example, approximately 1/30).

遊技状態制御手段612は、当選役「RBB」の当選に応じて遊技状態を遷移させる。例えば、当選役「RBB」が当選した遊技において、当選役「RBB」に対応する図柄組み合わせが有効ラインA上に表示されると、遊技状態制御手段612は、遊技状態をRBB作動中遊技状態に移行させる(1)。 The game state control means 612 changes the game state according to winning of the winning combination “RBB”. For example, in a game in which the winning combination "RBB" is won, when the symbol combination corresponding to the winning combination "RBB" is displayed on the activated line A, the game state control means 612 changes the game state to the RBB active game state. Migrate (1).

RBB作動中遊技状態では、リプレイ役の当選確率が0に設定されている。なお、かかるRBB作動中遊技状態では、当選可能な当選種別として、当選領域1に当選種別「小役ALL」が、当選領域2、3に当選種別「1枚ALLA」、「1枚ALLB」が設定されている。当選種別「小役ALL」に当選すると、当選役「小役1」~「小役39」のいずれかに対応する図柄組み合わせが有効ラインA上に表示され、当選種別「1枚ALL」に当選すると、当選役「小役11」~「小役39」のいずれかに対応する図柄組み合わせが有効ラインA上に表示されるように停止制御される。ここでは、かかる小役の構成によりRBB作動中遊技状態での単位遊技当たりの期待獲得枚数を低くしている。 In the RBB active gaming state, the probability of winning the replay combination is set to zero. In the gaming state during the RBB operation, the winning types that can be won are the winning type "small hand ALL" in the winning area 1, and the winning types "1 card ALLA" and "1 card ALLB" in the winning areas 2 and 3. is set. When the winning type ``small hand ALL'' is won, the symbol combination corresponding to any of the winning hand ``small hand 1'' to ``small hand 39'' is displayed on the effective line A, and the winning type ``1 card ALL'' is won. Then, stop control is performed so that the symbol combination corresponding to any one of the winning combination “small combination 11” to “small combination 39” is displayed on the activated line A. Here, the expected winning number per unit game in the RBB-activated game state is lowered by such a configuration of the small combination.

RBB作動中遊技状態の終了条件を満たすと、すなわち、獲得枚数が所定枚数に到達すると、遊技状態制御手段612は、遊技状態を非内部遊技状態に移行させる(2)。 When the conditions for ending the RBB-activated gaming state are met, that is, when the acquired number reaches a predetermined number, the gaming state control means 612 shifts the gaming state to the non-internal gaming state (2).

一方、当選役「RBB」が当選した遊技において、当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示することができなかった場合、遊技状態制御手段612は、遊技状態をRBB内部中遊技状態(特別遊技状態)に移行させる(3)。 On the other hand, in the game in which the winning combination "RBB" is won, if the symbol combination corresponding to the winning combination "RBB" cannot be displayed on the activated line A, the game state control means 612 changes the game state to the inside of the RBB. Transition to a middle game state (special game state) (3).

RBB内部中遊技状態では、リプレイ役の当選確率が約1/5.9に設定されている。また、RBB内部中遊技状態では当選種別「ハズレ」に当選することはない。換言すれば、当選役「RBB」の当選遊技で当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示することができなかった場合、その後は、当選役「RBB」より小役やリプレイ役の方が優先して有効ラインA上に停止制御されるので、当選役「RBB」に対応する図柄組み合わせを有効ラインA上に表示することができない。したがって、一旦、遊技状態がRBB内部中遊技状態に移行すると、その後、遊技状態が遷移することなく、RBB内部中遊技状態が維持されることとなる。ここでは、かかるRBB内部中遊技状態を維持しつつ、そのRBB内部中遊技状態においてAT演出状態を実現する。 In the RBB internal gaming state, the winning probability of the replay combination is set to about 1/5.9. In addition, in the RBB internal gaming state, the winning type "loss" is not won. In other words, when the symbol combination corresponding to the winning hand "RBB" cannot be displayed on the activated line A in the winning game of the winning hand "RBB", after that, the winning hand "RBB" is replaced by a smaller combination or a smaller combination. Since the replay combination is preferentially stopped on the activated line A, the symbol combination corresponding to the winning combination "RBB" cannot be displayed on the activated line A. - 特許庁Therefore, once the gaming state shifts to the RBB inside gaming state, the RBB inside gaming state is maintained without transition of the gaming state thereafter. Here, while maintaining the RBB inside game state, the AT effect state is realized in the RBB inside game state.

ここでは、RBB内部中遊技状態において、複数種類の正解役が互いに重複せずに当選するため、正解役を入賞させることができる機会を多くすることができ、その結果、例えば、RBB内部中遊技状態におけるAT演出状態において補助演出が行われることで、メダルを獲得しやすくできる。一方、RBB作動中遊技状態では、複数種類の正解役が重複して当選するため、正解役を入賞させることができる機会が少ないので、他の遊技状態におけるAT演出状態よりも正解役を入賞させることができる機会が減り、遊技者が所有するメダルを増やしにくくしている。したがって、RBB内部中遊技状態よりも入賞に係る当選役の当選確率が高いというRBB作動中遊技状態の機能を備えつつ、メダルの獲得性能の面ではRBB作動中遊技状態がRBB内部中遊技状態に劣るという仕様(アクセルRBB)を実現することができる。 Here, in the RBB internal middle game state, since a plurality of types of correct hands are won without overlapping each other, the chances of winning the correct hands can be increased. By performing the auxiliary performance in the AT performance state in the state, it is possible to easily obtain medals. On the other hand, in the game state during RBB operation, since a plurality of types of correct hands are won in duplicate, there are few opportunities for winning the correct hands, so the correct hands are awarded more than in the AT presentation state in other game states. This reduces the number of chances that a player can play, which makes it difficult for a player to increase the number of medals he or she owns. Therefore, while providing the function of the RBB operating game state that the probability of winning a winning combination is higher than that of the RBB inside game state, the RBB operating game state is equivalent to the RBB inside game state in terms of medal acquisition performance. A specification (acceleration RBB) of being inferior can be realized.

(演出状態の遷移)
図81は、演出状態の遷移を説明するための説明図である。以下、主制御基板500において演出状態制御手段614により遷移される演出状態(非AT演出状態、AT演出状態)について詳述する。なお、以下では、遊技状態がRBB内部中遊技状態である場合について説明する。
(Transition of production state)
FIG. 81 is an explanatory diagram for explaining the transition of the effect state. Hereinafter, the effect state (non-AT effect state, AT effect state) to be changed by the effect state control means 614 in the main control board 500 will be described in detail. In addition, below, the case where the game state is the RBB inside game state will be described.

ここで、メダルの獲得性能が高い遊技状態が偏っているか否かを統括的かつ画一的に判定すべく、指示機能に係る性能を有する遊技区間、すなわち、補助演出(指示機能)を実行する遊技区間等を含む、遊技者にとって有利な遊技区間を有利区間(特定区間)として定義する。なお、有利区間は、主制御基板500で補助演出の作動に係る抽選等を行った結果、補助演出が作動した場合には、主制御基板500において指示の内容が識別できるよう、例えば、主報知手段に表示したときに限り、指示情報を、副制御基板502等の周辺基板に送信してもよい遊技区間である。また、有利区間と異なる遊技区間を非有利区間とする。したがって、複数の演出状態(非AT演出状態、AT演出状態)は、遊技区間である有利区間および非有利区間のいずれかに属することとなる。本実施形態では、ほぼ全ての演出状態が有利区間に属し、非AT演出状態の一部の演出状態(ここでは非有利演出状態)で非有利区間を実現している。 Here, in order to comprehensively and uniformly determine whether or not the game state with high medal acquisition performance is biased, the game section having the performance related to the instruction function, that is, the auxiliary performance (instruction function) is executed. A game section that is advantageous to the player, including a game section, is defined as an advantageous section (specific section). In the advantageous section, as a result of performing a lottery related to the operation of the auxiliary effect on the main control board 500, when the auxiliary effect is activated, the main control board 500 can identify the content of the instruction, for example, the main notification This is a game section in which instruction information may be transmitted to peripheral boards such as the sub-control board 502 only when it is displayed on the means. A game section different from the advantageous section is defined as a non-advantageous section. Therefore, a plurality of production states (non-AT production state, AT production state) belong to either the advantageous section or the non-advantageous section which are game sections. In this embodiment, almost all production states belong to the advantageous section, and the non-advantageous section is realized in a part of the non-AT production state (here, the non-advantageous production state).

なお、有利区間において、補助演出がないと正解役を取りこぼしてしまう当選態様のうち、正解役の配当が最大(ここでは、11枚)となる選択当選種別において、正解役の入賞を補助する補助演出(最大払出枚数を獲得できる補助演出)を行う場合、例えば、区間表示器460を点灯させることによって、その旨を報知しなければならない。 In the advantageous section, among the winning modes in which the correct role is lost if there is no assistance effect, in the selected winning type in which the payout for the correct role is the maximum (here, 11), the assistance that assists the winning of the correct role When an effect (auxiliary effect for obtaining the maximum number of coins to be paid out) is performed, for example, the section indicator 460 must be turned on to notify that fact.

また、非有利区間においては、当選種別の当選確率を設定値毎に異ならせることは可能であるが、同一の当選種別において補助演出を伴う演出状態(AT演出状態)への移行を決定する確率は設定値毎に異ならせてはならない。一方、有利区間においては、当選種別の当選確率、および、同一の当選種別における補助演出を伴う演出状態(AT演出状態)への移行(または追加)を決定する確率のいずれも設定値毎に異ならせることは可能である。 In addition, in the non-advantageous section, it is possible to change the winning probability of the winning type for each set value, but the probability of determining the transition to the effect state (AT effect state) accompanied by the auxiliary effect in the same winning type must not be different for each set value. On the other hand, in the advantageous section, the winning probability of the winning type and the probability of determining the transition (or addition) to the production state (AT production state) with the auxiliary production in the same winning type are different for each set value. It is possible to

したがって、演出状態制御手段614は、演出状態の移行の管理に加え、非有利区間と有利区間との移行も管理することとなる。また、有利区間は、このような管理に拘わらず、以下の終了条件を満たすことで強制的に終了する。例えば、有利区間において計数される値が所定値に達したこと(例えば、滞在遊技数(遊技実行回数)が1500遊技に達したり、獲得枚数(純増枚数)が2400枚を超えたこと)に基づいて強制的に終了する。いずれの場合においても、演出状態制御手段614は、有利区間から非有利区間に移行することで、有利区間で更新された情報(指示機能に係る性能に影響を及ぼす全ての変数)を全てリセットする。 Therefore, the production state control means 614 manages the transition between the non-advantageous section and the advantageous section in addition to managing the transition of the production state. In addition, regardless of such management, the advantageous section is forcibly terminated by satisfying the following termination conditions. For example, the value counted in the advantageous section reaches a predetermined value (for example, the number of staying games (the number of game executions) reaches 1500 games, or the number of acquired sheets (net increase number) exceeds 2400) to force quit. In either case, the effect state control means 614 resets all the information updated in the advantageous section (all variables affecting the performance related to the instruction function) by shifting from the advantageous section to the non-advantageous section. .

(非AT演出状態、AT演出状態)
非AT演出状態においては、AT演出状態より、補助演出の実行頻度が極めて低く、補助演出がほぼ行われないので、獲得できるメダルの枚数が制限される。ここでは、非AT演出状態として通常演出状態、非有利演出状態、準備演出状態、第1インターバル演出状態、継続抽選演出状態、第2インターバル演出状態といった6つの演出状態が設けられている。
(Non-AT production state, AT production state)
In the non-AT production state, the execution frequency of the auxiliary production is much lower than in the AT production state, and the auxiliary production is almost not performed, so the number of medals that can be obtained is limited. Here, six performance states such as a normal performance state, a non-advantageous performance state, a preparation performance state, a first interval performance state, a continuous lottery performance state, and a second interval performance state are provided as non-AT performance states.

AT演出状態においては、選択当選種別全ての当選時において補助演出実行手段に補助演出を実行させることで、メダルの消費を抑えつつ、多くのメダルを獲得することが可能となる。したがって、遊技者は、AT演出状態に移行することで、非AT演出状態と比べ、遊技を有利に進行することができる。ここでは、AT演出状態として、擬似ボーナス演出状態が設けられている。以下、各演出状態(通常演出状態、擬似ボーナス演出状態、非有利演出状態、準備演出状態、第1インターバル演出状態、継続抽選演出状態、第2インターバル演出状態)について個々に説明する。 In the AT performance state, it is possible to obtain a large number of medals while suppressing the consumption of medals by causing the assistance performance executing means to execute the assistance performance when all the selected winning types are won. Therefore, by shifting to the AT effect state, the player can progress the game more advantageously than in the non-AT effect state. Here, a pseudo bonus effect state is provided as the AT effect state. Each effect state (normal effect state, pseudo-bonus effect state, non-advantageous effect state, preparation effect state, first interval effect state, continuous lottery effect state, second interval effect state) will be individually described below.

(各演出状態)
通常演出状態は、複数の演出状態のうち、初期状態に相当する演出状態である。演出状態制御手段614は、通常演出状態においてAT抽選を行う。AT抽選は、AT演出状態への移行を決定する抽選であり、演出状態制御手段614は、当選種別抽選により決定された当選種別ごとに異なる確率でAT抽選を行う。そして、AT抽選に当選した場合、演出状態制御手段614は、所定の前兆遊技数が経過した後に、演出状態をAT演出状態である擬似ボーナス演出状態に移行させる(1)。また、擬似ボーナス演出状態に移行することなく通常演出状態で所定の天井条件(例えば、通常演出状態を連続して所定遊技数消化)が満たされると(所謂、天井到達)、演出状態制御手段614は、演出状態を擬似ボーナス演出状態へ移行させる(1)。
(Each production state)
The normal rendering state is a rendering state corresponding to the initial state among a plurality of rendering states. The production state control means 614 performs AT lottery in the normal production state. The AT lottery is a lottery for determining transition to the AT performance state, and the performance state control means 614 performs the AT lottery with different probabilities for each winning type determined by the winning type lottery. Then, when the AT lottery is won, the performance state control means 614 shifts the performance state to the pseudo bonus performance state which is the AT performance state after the predetermined number of precursor games has passed (1). Further, when a predetermined ceiling condition (for example, a predetermined number of games are played continuously in the normal production state) is satisfied in the normal production state without transitioning to the pseudo-bonus production state (so-called ceiling reached), the production state control means 614 shifts the performance state to a pseudo-bonus performance state (1).

擬似ボーナス演出状態では、所定の終了条件(例えば、消化した遊技数が所定遊技数に到達すること)を満たすまで、補助演出が実行され、遊技者は、擬似ボーナス演出状態において、例えば、期待獲得枚数3.5枚を得ることができる。なお、擬似ボーナス演出状態では、主として2つの終了条件が準備されている。例えば、終了条件が、消化した遊技数が所定遊技数に到達することであった場合、所定遊技数として、30と80の2段階設けられ、いずれかが抽選により決定される。擬似ボーナス演出状態では、当然、消化した遊技数が多いほど、遊技者は、多くの遊技利益を得ることになる。したがって、遊技者は、所定遊技数が30ではなく80であることを望むこととなる。ただし、所定遊技数として30が決定された場合であっても、その消化中に補助演出の所定遊技数を30から80に増加させる昇格抽選も行われる。なお、ここでは、擬似ボーナス演出状態の終了条件として、消化した遊技数が所定遊技数に到達したことを例示しているが、これに代えて、最大払出枚数を獲得できる補助演出の回数が所定数に到達することや、獲得枚数(純増枚数)が所定数に到達することを採用してもよい。 In the pseudo-bonus effect state, an auxiliary effect is executed until a predetermined end condition (for example, the number of games played reaches a predetermined number of games) is satisfied, and the player can, for example, expect to win in the pseudo-bonus effect state. A number of 3.5 sheets can be obtained. Incidentally, in the pseudo bonus effect state, mainly two end conditions are prepared. For example, if the end condition is that the number of games played reaches the predetermined number of games, two levels of 30 and 80 are provided as the predetermined number of games, and either one is determined by lottery. In the pseudo-bonus effect state, the player naturally obtains more game profits as the number of games played increases. Therefore, the player would want the predetermined number of games to be 80, not 30. However, even if 30 is determined as the predetermined number of games, a promotion lottery is also performed to increase the predetermined number of games of the auxiliary effect from 30 to 80 during the completion of the predetermined number of games. Here, as an example of the termination condition of the pseudo-bonus effect state, the number of games played has reached the predetermined number of games. Reaching a certain number or reaching a predetermined number of acquired sheets (net increased number of sheets) may be employed.

そして、擬似ボーナス演出状態において、所定の終了条件を満たすと、演出状態制御手段614は、演出状態を非有利演出状態に移行する場合がある(2)。このとき、演出状態制御手段614は、有利区間を、一旦、非有利区間に移行し、有利区間で更新された情報を全てリセットする。例えば、前段の擬似ボーナス演出状態が初回の擬似ボーナス演出状態であった場合、すなわち、通常演出状態から移行した直後の擬似ボーナス演出状態であれば、演出状態制御手段614は、演出状態を非有利演出状態に移行するとともに、有利区間を、一旦、非有利区間に移行する。また、前段の擬似ボーナス演出状態が、通常演出状態を経由しない3の倍数(3、6、…)回目の擬似ボーナス演出状態であった場合も、演出状態制御手段614は、有利区間を、一旦、非有利区間に移行するとともに、有利区間を、一旦、非有利区間に移行する。 Then, when a predetermined end condition is satisfied in the pseudo-bonus effect state, the effect state control means 614 may shift the effect state to a non-advantageous effect state (2). At this time, the effect state control means 614 temporarily shifts the advantageous section to the non-advantageous section, and resets all the information updated in the advantageous section. For example, if the preceding pseudo-bonus effect state is the initial pseudo-bonus effect state, that is, if it is the pseudo-bonus effect state immediately after shifting from the normal effect state, the effect state control means 614 changes the effect state to a non-advantageous state. While shifting to the performance state, the advantageous section is temporarily shifted to the non-advantageous section. In addition, even if the pseudo-bonus effect state in the previous stage is the pseudo-bonus effect state of the multiples of 3 (3, 6, . . . ) that does not go through the normal effect state, , shifts to a non-advantageous section, and temporarily shifts the advantageous section to a non-advantageous section.

そして、演出状態制御手段614は、有利区間への移行を高確率(例えば、1/2)で抽選し、数遊技を消化後、有利区間に戻すとともに、演出状態を準備演出状態に移行する(3)。これは、有利区間において計数される値が所定値に達することにより、擬似ボーナス演出状態が強制的に終了することを回避するためである。 Then, the effect state control means 614 draws a lottery for the transition to the advantageous section with a high probability (for example, 1/2), returns to the advantageous section after playing a few games, and shifts the effect state to the preparation effect state ( 3). This is to avoid the pseudo-bonus effect state from being forcibly terminated when the value counted in the advantageous section reaches a predetermined value.

一方、前段の擬似ボーナス演出状態が初回ではない、もしくは、通常演出状態を経由しない3の倍数回目の擬似ボーナス演出状態ではない場合、演出状態制御手段614は、演出状態を非有利演出状態に移行することなく、直接、準備演出状態に移行する(4)。これは、有利区間において計数される値が所定値に達することにより擬似ボーナス演出状態が強制的に終了することを回避しつつ、不要に有利区間を終了させないためである。 On the other hand, if the pseudo-bonus effect state in the preceding stage is not the first time, or if it is not the pseudo-bonus effect state of the multiple times of 3 that does not pass through the normal effect state, the effect state control means 614 shifts the effect state to the non-advantageous effect state. (4). This is to prevent the pseudo-bonus effect state from being forcibly terminated when the value counted in the advantageous interval reaches a predetermined value, and to prevent the advantageous interval from ending unnecessarily.

準備演出状態において、演出状態制御手段614は、第1インターバル演出状態への移行を高確率(例えば、1/2)で抽選し、第1インターバル演出状態への移行の決定に基づいて、演出状態を第1インターバル演出状態に移行する(5)。 In the preparation production state, the production state control means 614 draws a lottery for transition to the first interval production state with a high probability (for example, 1/2), and based on the determination of the transition to the first interval production state, the production state is changed. to the first interval effect state (5).

第1インターバル演出状態は、所定の終了条件(例えば、40遊技の消化)を満たすまで継続し、その間、擬似ボーナス演出状態の継続抽選が実行される。かかる第1インターバル演出状態は、擬似ボーナス演出状態と異なり、単位遊技当たりの期待獲得枚数が少なく、負の値となる場合もある。なお、本実施形態では、非有利区間において有利区間に当選した場合、演出状態が必ず第1インターバル演出状態となるように設定されている。したがって、擬似ボーナス演出状態の終了後は、有利区間が継続した場合であっても、上記のように、一旦、非有利区間に移行した場合であっても、第1インターバル演出状態に移行することとなる。そして、第1インターバル演出状態における所定の終了条件を満たすと、演出状態制御手段614は、演出状態を継続抽選演出状態に移行する(6)。 The first interval effect state continues until a predetermined end condition (for example, completion of 40 games) is satisfied, during which a continuation lottery for the pseudo-bonus effect state is executed. Unlike the pseudo-bonus effect state, the first interval effect state is different from the pseudo-bonus effect state in that the number of expected wins per unit game is small and may have a negative value. In addition, in the present embodiment, the effect state is set to always be the first interval effect state when the advantageous section is won in the non-advantageous section. Therefore, after the pseudo-bonus effect state ends, even if the advantageous section continues, or if the transition to the non-advantageous section is made once as described above, the transition to the first interval effect state is made. becomes. Then, when a predetermined termination condition in the first interval effect state is satisfied, the effect state control means 614 shifts the effect state to the continuous lottery effect state (6).

継続抽選演出状態は、所定の終了条件(例えば、5遊技の消化)を満たすまで継続し、最終的に、第1インターバル演出状態における、擬似ボーナス演出状態の継続抽選の結果が報知される。かかる継続抽選演出状態も、擬似ボーナス演出状態と異なり、単位遊技当たりの期待獲得枚数が少なく、負の値となる場合もある。第1インターバル演出状態において、擬似ボーナス演出状態への移行(継続)が決定されていれば、演出状態制御手段614は、演出状態を擬似ボーナス演出状態への移行し(7)、擬似ボーナス演出状態への移行が決定されていなければ、演出状態制御手段614は、演出状態を通常演出状態へ戻す(8)。 The continuous lottery effect state continues until a predetermined termination condition (for example, completion of 5 games) is satisfied, and finally, the result of the continuous lottery of the pseudo-bonus effect state in the first interval effect state is reported. Unlike the pseudo-bonus effect state, the expected winning number per unit game is small in such a continuous lottery effect state, and the value may be negative. In the first interval effect state, if the transition (continuation) to the pseudo-bonus effect state is determined, the effect state control means 614 shifts the effect state to the pseudo-bonus effect state (7), and the pseudo-bonus effect state. , the production state control means 614 returns the production state to the normal production state (8).

このように、本実施形態では、一旦、擬似ボーナス演出状態に移行すると、継続抽選演出状態の継続抽選に漏れない限り、擬似ボーナス演出状態→準備演出状態→第1インターバル演出状態→継続抽選演出状態の移行を繰り返すことで、遊技者は、メダルを蓄積できる。 As described above, in the present embodiment, once the pseudo bonus effect state is entered, the pseudo bonus effect state→preparation effect state→first interval effect state→continuous lottery effect state, unless the continuous lottery of the continuous lottery effect state is missed. By repeating the transition of , the player can accumulate medals.

なお、準備演出状態において、演出状態制御手段614は、第1インターバル演出状態への移行抽選に加え、第2インターバル演出状態への移行抽選も行っている。ただし、第1インターバル演出状態への移行確率(例えば、1/2)より、第2インターバル演出状態への移行確率(例えば、1/20)の方が小さく設定されている。準備演出状態において、第1インターバル演出状態への移行が決定する前に、第2インターバル演出状態への移行が決定されると、演出状態制御手段614は、第2インターバル演出状態への移行の決定に基づいて、演出状態を第2インターバル演出状態に移行する(9)。なお、ここでは、準備演出状態において第2インターバル演出状態への移行抽選を行う例を挙げているが、同様に、非有利演出状態において第2インターバル演出状態への移行抽選を行ってもよい。 In addition, in the preparation production state, the production state control means 614 performs a lottery for the transition to the second interval production state in addition to the lottery for the transition to the first interval production state. However, the probability of transition to the second interval effect state (eg, 1/20) is set smaller than the probability of transition to the first interval effect state (eg, 1/2). In the preparation production state, when the transition to the second interval production state is determined before the transition to the first interval production state is determined, the production state control means 614 determines the transition to the second interval production state. Based on (9), the production state is shifted to the second interval production state. Here, an example is given in which the lottery for transition to the second interval effect state is performed in the preparatory effect state, but similarly, the lottery for transition to the second interval effect state may be performed in the non-advantageous effect state.

第2インターバル演出状態は、第1インターバル演出状態同様、所定の終了条件(例えば、40遊技の消化)を満たすまで継続し、その間、擬似ボーナス演出状態の継続抽選が実行される。かかる第2インターバル演出状態は、第1インターバル演出状態同様、擬似ボーナス演出状態と異なり、単位遊技当たりの期待獲得枚数が少なく、負の値となる場合もある。 Like the first interval effect state, the second interval effect state continues until a predetermined end condition (for example, completion of 40 games) is satisfied, during which a continuation lottery for the pseudo-bonus effect state is executed. Like the first interval effect state, the second interval effect state differs from the pseudo bonus effect state in that the number of expected wins per unit game is small and may have a negative value.

ただし、第2インターバル演出状態は、第1インターバル演出状態より高確率で擬似ボーナス演出状態が決定される。例えば、第1インターバル演出状態においては、40遊技間、擬似ボーナス演出状態を毎遊技1/58で決定し(当選確率50%)、第2インターバル演出状態においては、40遊技間、擬似ボーナス演出状態を毎遊技1/25で決定する(当選確率80%)。そして、所定の終了条件を満たすと、演出状態制御手段614は、演出状態を継続抽選演出状態に移行する(10)。なお、一旦、第2インターバル演出状態への移行が決定されると、その後は、継続抽選演出状態に漏れるまで、非有利演出状態、準備演出状態、第1インターバル演出状態に移行することはなく、擬似ボーナス演出状態からは第2インターバル演出状態にしか移行しない(11)。したがって、遊技者は、常に、高確率で継続抽選を受けることができる。また、一旦、第2インターバル演出状態への移行が決定されると、継続抽選演出状態において擬似ボーナス演出状態への移行が決定されなかった場合でも、演出状態制御手段614は、直ちに、演出状態を通常演出状態に戻すことなく、非有利演出状態に移行させる(12)。したがって、継続抽選演出状態において擬似ボーナス演出状態への移行が決定されなかった場合、再度、継続抽選演出状態の継続抽選に漏れるまで、擬似ボーナス演出状態→準備演出状態→第1インターバル演出状態→継続抽選演出状態の移行を繰り返すことができる。このように、一旦、第2インターバル演出状態に移行すると、高確率で、擬似ボーナス演出状態→第2インターバル演出状態→継続抽選演出状態の移行を繰り返すことができ、さらに、継続抽選演出状態において擬似ボーナス演出状態への移行が決定されなくとも、少なくとも、再度、擬似ボーナス演出状態→準備演出状態→第1インターバル演出状態→継続抽選演出状態の移行を繰り返すことができるので、遊技者は、より多くのメダルを蓄積することが可能となる。つまり、第2インターバル演出状態は、第1インターバル演出状態よりも有利な状態といえる。 However, in the second interval effect state, the pseudo bonus effect state is determined with a higher probability than in the first interval effect state. For example, in the first interval effect state, the pseudo-bonus effect state is determined at 1/58 every game for 40 games (winning probability 50%), and in the second interval effect state, the pseudo-bonus effect state is determined for 40 games. is determined at every game 1/25 (winning probability 80%). Then, when a predetermined termination condition is satisfied, the effect state control means 614 shifts the effect state to the continuous lottery effect state (10). Once it is decided to shift to the second interval effect state, after that, there is no transition to the non-advantageous effect state, the preparation effect state, or the first interval effect state until it leaks to the continuous lottery effect state. From the pseudo-bonus effect state, only the second interval effect state is entered (11). Therefore, the player can always receive a continuous lottery with a high probability. Further, once the transition to the second interval effect state is determined, even if the transition to the pseudo bonus effect state is not determined in the continuous lottery effect state, the effect state control means 614 immediately changes the effect state. The state is shifted to a non-advantageous performance state without returning to the normal performance state (12). Therefore, when the transition to the pseudo-bonus effect state is not determined in the continuous lottery effect state, the pseudo-bonus effect state→preparation effect state→first interval effect state→continuation until the continuous lottery of the continuous lottery effect state fails again. The transition of the lottery effect state can be repeated. In this way, once the state is shifted to the second interval effect state, the transition from the pseudo bonus effect state→the second interval effect state→continuous lottery effect state can be repeated with high probability, and further, the pseudo bonus effect state→the second interval effect state→continuous lottery effect state can be repeated, and further, the pseudo bonus effect state can be repeated in the continuous lottery effect state. Even if the transition to the bonus performance state is not determined, at least, the transition from the pseudo bonus performance state→preparation performance state→first interval performance state→continuous lottery performance state can be repeated again, so that the player can play more games. medals can be accumulated. That is, it can be said that the second interval effect state is more advantageous than the first interval effect state.

また、上記のように、演出状態制御手段614は、擬似ボーナス演出状態から第2インターバル演出状態に移行する際には、第1インターバル演出状態への移行と異なり、非有利区間に移行させることがない。本実施形態においては、擬似ボーナス演出状態が初回の擬似ボーナス演出状態であった場合、演出状態制御手段614は、第2インターバル演出状態に移行させることはなく、有利区間を、一旦、非有利区間に移行して、必ず、第1インターバル演出状態へ移行させる。そうすると、有利区間が一旦リセットされていることになる。したがって、第2インターバル演出状態へ移行する際に有利区間をリセットしなくても、第2インターバル演出状態を経由する擬似ボーナス演出状態が有利区間の制限により短期に終了することはなく、遊技者は、擬似ボーナス演出状態→第2インターバル演出状態→継続抽選演出状態のループにより、多くのメダルを得ることができる。 Further, as described above, the effect state control means 614, when shifting from the pseudo-bonus effect state to the second interval effect state, can shift to the non-advantageous section unlike the transition to the first interval effect state. do not have. In the present embodiment, when the pseudo-bonus effect state is the initial pseudo-bonus effect state, the effect state control means 614 does not shift to the second interval effect state, and temporarily changes the advantageous section to the non-advantageous section. , and be sure to shift to the first interval performance state. Then, the advantageous section is reset once. Therefore, even if the advantageous section is not reset when shifting to the second interval presentation state, the pseudo-bonus presentation state passing through the second interval presentation state will not be terminated in a short period of time due to the limitation of the advantageous section, and the player will be able to A lot of medals can be obtained by a loop of pseudo bonus effect state→second interval effect state→continuous lottery effect state.

以下、主制御基板500、副制御基板502における具体的処理をフローチャートに基づいて説明する。 Specific processing in the main control board 500 and the sub-control board 502 will be described below with reference to flowcharts.

(主制御基板500のCPU初期化処理)
図82は、主制御基板500におけるCPU初期化処理を説明するフローチャートである。電源基板より電源が供給されると、メインCPU500aにシステムリセットが発生し、メインCPU500aは、以下のCPU初期化処理(S2000)を行う。
(CPU initialization processing of main control board 500)
FIG. 82 is a flow chart for explaining CPU initialization processing in the main control board 500 . When power is supplied from the power board, a system reset occurs in the main CPU 500a, and the main CPU 500a performs the following CPU initialization processing (S2000).

(ステップS2000-1)
メインCPU500aは、電源投入に応じて、初期設定処理として、メインROM500bから起動プログラムを読み込むとともに、各種処理を実行するために必要な設定処理を行う。
(Step S2000-1)
When the power is turned on, the main CPU 500a reads a startup program from the main ROM 500b as an initial setting process, and performs setting processes necessary for executing various processes.

(ステップS2000-3)
メインCPU500aは、タイマカウンタにウェイト処理時間を設定する。
(Step S2000-3)
The main CPU 500a sets the wait processing time in the timer counter.

(ステップS2000-5)
メインCPU500aは、電源断予告信号を検出しているかを判定する。なお、主制御基板500には、電源断検知回路が設けられており、電源電圧が所定値以下になると、電源断検知回路から電源断予告信号が出力される。電源断予告信号を検出している場合には、上記ステップS2000-3に処理を移し、電源断予告信号を検出していない場合には、ステップS2000-7に処理を移す。
(Step S2000-5)
The main CPU 500a determines whether a power-off warning signal is detected. A power interruption detection circuit is provided in the main control board 500, and when the power supply voltage drops below a predetermined value, a power interruption warning signal is output from the power interruption detection circuit. If the power-off notice signal is detected, the process proceeds to step S2000-3, and if the power-off notice signal is not detected, the process proceeds to step S2000-7.

(ステップS2000-7)
メインCPU500aは、上記ステップS2000-3で設定したウェイト処理時間が経過したか否かを判定する。その結果、ウェイト処理時間が経過したと判定した場合にはステップS2000-9に処理を移し、ウェイト時間は経過していないと判定した場合には上記ステップS2000-5に処理を移す。
(Step S2000-7)
The main CPU 500a determines whether or not the wait processing time set in step S2000-3 has elapsed. As a result, if it is determined that the wait processing time has elapsed, the process proceeds to step S2000-9, and if it is determined that the wait time has not elapsed, the process proceeds to step S2000-5.

(ステップS2000-9)
メインCPU500aは、メインRAM500cへのアクセスを許可するために必要な処理を実行する。
(Step S2000-9)
The main CPU 500a executes necessary processing to permit access to the main RAM 500c.

(ステップS2000-11)
メインCPU500aは、チェックサム確認処理を実行する。ここでは、メインCPU500aは、チェックサムを算出し、算出したチェックサムが、電源断時に保存されたチェックサムと一致しない(異常である)か、ならびに、バックアップが異常であるかを判定する。そして、メインCPU500aは、バックアップおよびチェックサムのいずれか一方または双方が異常であると判定した場合、バックアップ異常フラグをオンにし、バックアップおよびチェックサムの双方が異常でないと判定した場合、バックアップ異常フラグをオフにする。
(Step S2000-11)
The main CPU 500a executes checksum confirmation processing. Here, the main CPU 500a calculates the checksum and determines whether the calculated checksum does not match the checksum saved at the time of power failure (abnormality) and whether the backup is abnormal. If the main CPU 500a determines that either one or both of the backup and the checksum are abnormal, the main CPU 500a turns on the backup abnormality flag. Turn off.

(ステップS2000-13)
メインCPU500aは、バックアップ異常フラグがオンであるかを判定する。その結果、バックアップ異常フラグがオンであると判定した場合にはステップS2010に処理を移し、バックアップ異常フラグがオンでないと判定した場合にはステップS2020に処理を移す。
(Step S2000-13)
The main CPU 500a determines whether the backup abnormality flag is on. As a result, when it is determined that the backup abnormality flag is on, the process proceeds to step S2010, and when it is determined that the backup abnormality flag is not on, the process proceeds to step S2020.

(ステップS2010)
メインCPU500aは、コールドスタート処理を実行する。なお、このコールドスタート処理については後述する。
(Step S2010)
The main CPU 500a executes cold start processing. This cold start processing will be described later.

(ステップS2020)
メインCPU500aは、設定値を切り替える設定値切り替え処理を実行する。なお、この設定値切り替え処理については後述する。
(Step S2020)
The main CPU 500a executes setting value switching processing for switching setting values. This set value switching process will be described later.

(ステップS2030)
メインCPU500aは、電源断直前の状態に戻す状態復帰処理を実行する。なお、この状態復帰処理については後述する。
(Step S2030)
The main CPU 500a executes a state recovery process for returning to the state immediately before the power was turned off. This state return processing will be described later.

図83は、主制御基板500におけるコールドスタート処理(S2010)を説明するフローチャートである。 FIG. 83 is a flow chart for explaining cold start processing (S2010) in the main control board 500. FIG.

(ステップS2010-1)
メインCPU500aは、メインRAM500cにおける使用領域をクリアするとともに、使用領域の異常を検出する使用領域RAMチェック処理を実行する。
(Step S2010-1)
The main CPU 500a clears the used area in the main RAM 500c and executes used area RAM check processing for detecting an abnormality in the used area.

(ステップS2010-3)
メインCPU500aは、メインRAM500cにおける別領域(使用外領域)をクリアするとともに、別領域の異常を検出する別領域RAMチェック処理を実行する。なお、別領域RAMチェック処理において別領域に異常が検出された場合、メインCPU500aは、RAMリードライトエラーフラグをオンにする。
(Step S2010-3)
The main CPU 500a clears another area (unused area) in the main RAM 500c, and executes a separate area RAM check process for detecting an abnormality in the separate area. If an abnormality is detected in another area in the separate area RAM check process, the main CPU 500a turns on the RAM read/write error flag.

(ステップS2010-5)
メインCPU500aは、メインRAM500cの異常を示すエラーコード「EA」をセットする。
(Step S2010-5)
The main CPU 500a sets an error code "EA" indicating an abnormality in the main RAM 500c.

(ステップS2010-7)
メインCPU500aは、上記ステップS2010-1において異常が検出されたかを判定する。その結果、上記ステップS2010-1において異常が検出されたと判定した場合にはステップS2011に処理を移し、上記ステップS2010-1において異常が検出されていないと判定された場合にはステップS2010-9に処理を移す。
(Step S2010-7)
The main CPU 500a determines whether an abnormality has been detected in step S2010-1. As a result, when it is determined in step S2010-1 that an abnormality has been detected, the process proceeds to step S2011, and when it is determined in step S2010-1 that no abnormality has been detected, the process proceeds to step S2010-9. transfer processing.

(ステップS2010-9)
メインCPU500aは、上記ステップS2010-3において異常が検出されたときにオンになるRAMリードライトエラーフラグを取得する。
(Step S2010-9)
The main CPU 500a acquires a RAM read/write error flag that is turned on when an abnormality is detected in step S2010-3.

(ステップS2010-11)
メインCPU500aは、RAMリードライトエラーフラグがオンであるかを判定する。その結果、RAMリードライトエラーフラグがオンであると判定した場合にはステップS2011に処理を移し、RAMリードライトエラーフラグがオンでないと判定された場合にはステップS2020に処理を移す。
(Step S2010-11)
The main CPU 500a determines whether the RAM read/write error flag is on. As a result, when it is determined that the RAM read/write error flag is ON, the process proceeds to step S2011, and when it is determined that the RAM read/write error flag is not ON, the process proceeds to step S2020.

(ステップS2020)
メインCPU500aは、設定値を切り替える設定値切り替え処理を実行する。なお、この設定値切り替え処理については後述する。
(Step S2020)
The main CPU 500a executes setting value switching processing for switching setting values. This set value switching process will be described later.

(ステップS2010-13)
メインCPU500aは、バックアップエラーであることを示すエラーコード「E7」をセットする。
(Step S2010-13)
The main CPU 500a sets an error code "E7" indicating a backup error.

(ステップS2011)
メインCPU500aは、エラーにより遊技の進行を停止させるためのエラー停止処理を実行する。なお、このエラー停止処理については後述する。
(Step S2011)
The main CPU 500a executes error stop processing for stopping the progress of the game due to an error. This error stop processing will be described later.

図84は、主制御基板500におけるエラー停止処理(S2011)を説明するフローチャートである。 FIG. 84 is a flowchart for explaining the error stop processing (S2011) in the main control board 500. FIG.

(ステップS2011-1)
メインCPU500aは、スタックポインタのアドレスとして、初期スタックポインタ値をセットする。
(Step S2011-1)
The main CPU 500a sets the initial stack pointer value as the address of the stack pointer.

(ステップS2011-3)
メインCPU500aは、エラー表示および警告音設定を行うエラー設定処理を実行する。
(Step S2011-3)
The main CPU 500a executes error setting processing for setting error display and warning sound.

(ステップS2011-5)
メインCPU500aは、外部信号1~3に対応するビットの出力イメージをオフにする外部信号1~3出力ビットオフをセットする。
(Step S2011-5)
The main CPU 500a sets the external signal 1-3 output bit off to turn off the output image of the bit corresponding to the external signal 1-3.

(ステップS2011-7)
メインCPU500aは、上記ステップS2011-5でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
(Step S2011-7)
The main CPU 500a executes output port image setting processing for updating the output image for the bit set in step S2011-5.

(ステップS2011-9)
メインCPU500aは、永久ループに移行する。これにより、遊技の進行が停止することになる。
(Step S2011-9)
The main CPU 500a shifts to an endless loop. As a result, the progress of the game is stopped.

図85は、主制御基板500における設定値切り替え処理(S2020)を説明するフローチャートである。 FIG. 85 is a flowchart for explaining the setting value switching process (S2020) in the main control board 500. FIG.

(ステップS2020-1)
メインCPU500aは、入力ポート1の信号を取得し、取得した入力ポート1の信号に基づいて、設定値切り替え条件が成立していないかを判定する。その結果、設定値切り替え条件が成立していないと判定した場合には当該設定値切り替え処理を終了し、設定値切り替え条件が成立していると判定した場合にはステップS2020-3に処理を移す。ここで、入力ポート1の信号には、前面上扉404および前面下扉406が開放されているか否かを示す信号、および、設定ドアキーがオンにされているか否かを示す信号が含まれる。そして、ここでは、前面上扉404および前面下扉406が開放されていることを示す信号、ならびに、設定ドアキーがオンにされていることを示す信号を取得した場合に、設定値切り替え条件が成立していると判定している。
(Step S2020-1)
The main CPU 500a acquires the signal of the input port 1, and determines whether or not the set value switching condition is satisfied based on the acquired signal of the input port 1. FIG. As a result, if it is determined that the set value switching condition is not satisfied, the set value switching process is terminated, and if it is determined that the set value switching condition is satisfied, the process proceeds to step S2020-3. . Here, the signal of the input port 1 includes a signal indicating whether the front upper door 404 and the front lower door 406 are open and a signal indicating whether the setting door key is turned on. Here, when a signal indicating that the front upper door 404 and the front lower door 406 are open and a signal indicating that the setting door key is turned on are obtained, the setting value switching condition is satisfied. It is determined that

(ステップS2020-3)
メインCPU500aは、メインRAM500cにおいて設定変更時にクリアすべき使用領域をクリアするRAMクリア処理を実行する。
(Step S2020-3)
The main CPU 500a executes a RAM clearing process for clearing a used area to be cleared when changing settings in the main RAM 500c.

(ステップS2020-5)
メインCPU500aは、設定値切り替え時データテーブルのテーブルデータをメインRAM500cに転送するテーブル内容セット処理を実行する。
(Step S2020-5)
The main CPU 500a executes a table content setting process for transferring the table data of the setting value switching time data table to the main RAM 500c.

(ステップS2020-7)
メインCPU500aは、設定値の変更を開始することを示す設定変更開始コマンドを送信バッファにセットする。
(Step S2020-7)
The main CPU 500a sets, in the transmission buffer, a setting change start command indicating to start changing setting values.

(ステップS2020-9)
メインCPU500aは、入力ポートの信号の立ち上がりエッジ(オンエッジ)、および、立ち下がりエッジ(オフエッジ)を検出するエッジチェック処理を実行する。
(Step S2020-9)
The main CPU 500a executes edge check processing for detecting the rising edge (ON edge) and falling edge (OFF edge) of the signal of the input port.

(ステップS2020-11)
メインCPU500aは、現在の設定値を示す設定値データを取得する。
(Step S2020-11)
The main CPU 500a acquires setting value data indicating the current setting value.

(ステップS2020-13)
メインCPU500aは、上記ステップS2020-9において設定変更スイッチのオンエッジを検出していないかを判定する。その結果、設定変更スイッチのオンエッジを検出していないと判定した場合にはステップS2020-17に処理を移し、設定変更スイッチのオンエッジを検出したと判定した場合にはステップS2020-15に処理を移す。
(Step S2020-13)
The main CPU 500a determines whether or not the ON edge of the setting change switch is detected in step S2020-9. As a result, if it is determined that the ON edge of the setting change switch has not been detected, the process proceeds to step S2020-17, and if it is determined that the ON edge of the setting change switch has been detected, the process proceeds to step S2020-15. .

(ステップS2020-15)
メインCPU500aは、設定値データを1インクリメントする。
(Step S2020-15)
The main CPU 500a increments the set value data by one.

(ステップS2020-17)
メインCPU500aは、設定値データが、設定値として設定可能な範囲(1~6)内であるかを判定する。その結果、設定値データが範囲内であると判定した場合にはステップS2020-21に処理を移し、設定値データが範囲内でないと判定した場合にはステップS2020-19に処理を移す。
(Step S2020-17)
The main CPU 500a determines whether the set value data is within the range (1 to 6) that can be set as the set value. As a result, if it is determined that the set value data is within the range, the process moves to step S2020-21, and if it is determined that the set value data is not within the range, the process moves to step S2020-19.

(ステップS2020-19)
メインCPU500aは、設定値データを0にセットする。
(Step S2020-19)
The main CPU 500a sets the set value data to zero.

(ステップS2020-21)
メインCPU500aは、上記ステップS2020-15または上記ステップS2020-19でインクリメントまたはセットされた値に設定値データを更新する。
(Step S2020-21)
The main CPU 500a updates the set value data to the value incremented or set in step S2020-15 or step S2020-19.

(ステップS2020-23)
メインCPU500aは、設定値をメインクレジット表示部430に表示する表示データ変換処理を実行する。
(Step S2020-23)
The main CPU 500 a executes display data conversion processing for displaying the set value on the main credit display section 430 .

(ステップS2020-25)
メインCPU500aは、設定変更スイッチのオンエッジを検出していないかを判定する。その結果、設定変更スイッチのオンエッジを検出していないと判定した場合にはステップS2020-31に処理を移し、設定変更スイッチのオンエッジを検出していると判定した場合にはステップS2020-27に処理を移す。
(Step S2020-25)
The main CPU 500a determines whether or not the ON edge of the setting change switch is detected. As a result, if it is determined that the ON edge of the setting change switch has not been detected, the process proceeds to step S2020-31, and if it is determined that the ON edge of the setting change switch has been detected, the process proceeds to step S2020-27. to move.

(ステップS2020-27)
メインCPU500aは、設定変更スイッチがオンであるかを判定する。その結果、設定変更スイッチがオンであると判定した場合にはステップS2020-27に処理を移し、設定変更スイッチがオンでないと判定した場合にはステップS2020-29に処理を移す。
(Step S2020-27)
The main CPU 500a determines whether the setting change switch is on. As a result, when it is determined that the setting change switch is on, the process proceeds to step S2020-27, and when it is determined that the setting change switch is not on, the process proceeds to step S2020-29.

(ステップS2020-29)
メインCPU500aは、設定変更スイッチ間隔タイマをセットする。
(Step S2020-29)
The main CPU 500a sets a setting change switch interval timer.

(ステップS2020-31)
メインCPU500aは、設定変更スイッチ間隔タイマが0になるまで待つタイマウェイト処理を実行する。
(Step S2020-31)
The main CPU 500a executes timer wait processing to wait until the setting change switch interval timer reaches zero.

(ステップS2020-33)
メインCPU500aは、スタートスイッチ418のオンエッジを検出していないかを判定する。その結果、スタートスイッチ418のオンエッジを検出していないと判定した場合にはステップS2020-9に処理を移し、スタートスイッチ418のオンエッジを検出していると判定した場合にはステップS2020-35に処理を移す。
(Step S2020-33)
The main CPU 500a determines whether the ON edge of the start switch 418 is detected. As a result, if it is determined that the ON edge of the start switch 418 has not been detected, the process proceeds to step S2020-9, and if it is determined that the ON edge of the start switch 418 has been detected, the process proceeds to step S2020-35. to move.

(ステップS2020-35)
メインCPU500aは、設定ドアキーがオフであるかを判定する。その結果、設定ドアキーがオフであると判定した場合にはステップS2020-35に処理を移し、設定ドアキーがオフでないと判定した場合にはステップS2020-37に処理を移す。
(Step S2020-35)
The main CPU 500a determines whether the set door key is off. As a result, when it is determined that the set door key is off, the process proceeds to step S2020-35, and when it is determined that the set door key is not off, the process proceeds to step S2020-37.

(ステップS2020-37)
メインCPU500aは、設定ドアキーがオンであるかを判定する。その結果、設定ドアキーがオンであると判定した場合にはステップS2020-37に処理を移し、設定ドアキーがオンでないと判定した場合にはステップS2021に処理を移す。
(Step S2020-37)
The main CPU 500a determines whether the set door key is on. As a result, when it is determined that the set door key is on, the process proceeds to step S2020-37, and when it is determined that the set door key is not on, the process proceeds to step S2021.

(ステップS2021)
メインCPU500aは、初期化スタートを開始する初期化スタート処理を実行する。なお、この初期化スタート処理については後述する。
(Step S2021)
The main CPU 500a executes initialization start processing for starting initialization. This initialization start process will be described later.

図86は、主制御基板500における初期化スタート処理(S2021)を説明するフローチャートである。 FIG. 86 is a flow chart for explaining the initialization start process (S2021) in the main control board 500. FIG.

(ステップS2021-1)
メインCPU500aは、設定値の変更が終了したことを示す設定変更終了コマンドを送信バッファにセットする。
(Step S2021-1)
The main CPU 500a sets, in the transmission buffer, a setting change end command indicating that the change of the setting value has been completed.

(ステップS2021-3)
メインCPU500aは、設定値の変更が終了したときの状態を示す設定変更状態コマンドを送信バッファにセットする。
(Step S2021-3)
The main CPU 500a sets, in the transmission buffer, a setting change state command indicating the state when the change of the setting value is completed.

(ステップS2021-5)
メインCPU500aは、初期化スタート時ウェイトタイマをセットする。
(Step S2021-5)
The main CPU 500a sets a wait timer at the start of initialization.

(ステップS2021-7)
メインCPU500aは、初期化スタート時ウェイトタイマが0になるまで待つタイマウェイト処理を実行する。
(Step S2021-7)
The main CPU 500a executes a timer wait process of waiting until the wait timer reaches 0 at the start of initialization.

(ステップS2021-9)
メインCPU500aは、メインRAM500cのうちの別領域をクリアする設定変更時RAMクリア処理を実行する。
(Step S2021-9)
The main CPU 500a executes RAM clear processing at the time of setting change to clear another area of the main RAM 500c.

(ステップS2021-11)
メインCPU500aは、メインRAM500cにおいて設定変更時にクリアすべき使用領域をクリアするRAMクリア処理を実行する。
(Step S2021-11)
The main CPU 500a executes a RAM clearing process for clearing a used area to be cleared when changing settings in the main RAM 500c.

(ステップS2021-13)
メインCPU500aは、現在の遊技状態を示す遊技状態コマンドを送信バッファにセットする。
(Step S2021-13)
The main CPU 500a sets a game state command indicating the current game state in the transmission buffer.

(ステップS2100)
メインCPU500aは、遊技を開始するための遊技開始処理を実行する。なお、この遊技開始処理については後述する。
(Step S2100)
The main CPU 500a executes a game start process for starting a game. Note that this game start processing will be described later.

図87は、主制御基板500における状態復帰処理(S2030)を説明するフローチャートである。 FIG. 87 is a flow chart for explaining the state return processing (S2030) in the main control board 500. FIG.

(ステップS2030-1)
メインCPU500aは、スタックポインタを復帰させる。
(Step S2030-1)
The main CPU 500a restores the stack pointer.

(ステップS2030-3)
メインCPU500aは、メインRAM500cのうちの未使用領域をクリアする未使用領域クリア処理を実行する。
(Step S2030-3)
The main CPU 500a executes unused area clearing processing for clearing unused areas in the main RAM 500c.

(ステップS2030-5)
メインCPU500aは、スタックポインタ保存バッファをクリアする。
(Step S2030-5)
The main CPU 500a clears the stack pointer save buffer.

(ステップS2030-7)
メインCPU500aは、電源断復帰後フラグを設定(オン)する。
(Step S2030-7)
The main CPU 500a sets (turns on) the post-power-off recovery flag.

(ステップS2030-9)
メインCPU500aは、入力ポートのイメージを更新するポート入力処理を実行する。
(Step S2030-9)
The main CPU 500a executes port input processing for updating the image of the input port.

(ステップS2030-11)
メインCPU500aは、上記ステップS2030-9で更新された入力ポートのイメージに基づいて、操作対象ビットの情報を抽出する操作対象ビット抽出処理を実行する。
(Step S2030-11)
The main CPU 500a executes operation target bit extraction processing for extracting information on the operation target bit based on the image of the input port updated in step S2030-9.

(ステップS2030-13)
メインCPU500aは、上記ステップS2030-11で抽出した操作対象ビットを、前回状態の操作対象ビットとしてセットする。
(Step S2030-13)
The main CPU 500a sets the operation target bit extracted in step S2030-11 as the operation target bit of the previous state.

(ステップS2030-15)
メインCPU500aは、リール410a、410b、410cのモータフェーズを取得する。ここで、リール410a、410b、410cの状態として、モータフェーズが設定されている。モータフェーズは、リール410a、410b、410cの動作状態、すなわち、加速中、定常回転中、停止中、待機中を示す。具体的に、モータフェーズに割り当てられた1バイト(記憶単位)の変数が、そのステッピングモータ452の動作状態に応じて、加速中=3、定常回転中=2、停止中=1、待機中=0といった値に変化する。
(Step S2030-15)
The main CPU 500a acquires the motor phases of the reels 410a, 410b, and 410c. Here, motor phases are set as the states of the reels 410a, 410b, and 410c. The motor phase indicates the operating state of the reels 410a, 410b, 410c, ie, during acceleration, during steady rotation, during stop, and during standby. Specifically, the 1-byte (storage unit) variable assigned to the motor phase is accelerated = 3, steady rotation = 2, stopped = 1, and waiting = It changes to a value such as 0.

(ステップS2030-17)
メインCPU500aは、上記ステップS2030-15で取得したモータフェーズに基づいて、リール410a、410b、410cのいずれもが定常回転中および加速中でないかを判定する。その結果、リール410a、410b、410cのいずれもが定常回転中および加速中でないと判定した場合にはステップS2030-21に処理を移し、リール410a、410b、410cのいずれかが定常回転中または加速中であると判定した場合にはステップS2030-19に処理を移す。
(Step S2030-17)
The main CPU 500a determines whether or not any of the reels 410a, 410b, and 410c are rotating normally and accelerating based on the motor phase acquired in step S2030-15. As a result, if it is determined that none of the reels 410a, 410b, and 410c are in steady rotation or acceleration, the process proceeds to step S2030-21, and any one of the reels 410a, 410b, and 410c is in steady rotation or acceleration. If it is determined to be in the middle, the process moves to step S2030-19.

(ステップS2030-19)
メインCPU500aは、リール410a、410b、410cのエラー検出時の設定を行う回転エラー処理を実行する。
(Step S2030-19)
The main CPU 500a executes rotation error processing for making settings when an error is detected for the reels 410a, 410b, and 410c.

(ステップS2030-21)
メインCPU500aは、退避していたレジスタ群を復帰させる。
(Step S2030-21)
The main CPU 500a restores the saved register group.

(ステップS2030-23)
メインCPU500aは、割込みを許可し、当該状態復帰処理を終了する。これにより、メインCPU500aは、電源断直前の状態に復帰する。
(Step S2030-23)
The main CPU 500a permits the interrupt and terminates the state return processing. As a result, the main CPU 500a returns to the state immediately before the power was turned off.

図88は、主制御基板500における遊技開始処理(S2100)を説明するフローチャートである。 FIG. 88 is a flowchart for explaining the game start process (S2100) in the main control board 500. FIG.

(ステップS2100-1)
メインCPU500aは、再遊技であるか否かを示す再遊技状態識別信号を出力するための再遊技状態識別信号出力設定処理を実行する。
(Step S2100-1)
The main CPU 500a executes a replay state identification signal output setting process for outputting a replay state identification signal indicating whether or not it is a replay.

(ステップS2100-3)
メインCPU500aは、メダルの投入枚数(ベット枚数)を表示する投入枚数表示器に対応するビットをオフ(消灯)するための投入枚数表示器出力ビットオフをセットする。
(Step S2100-3)
The main CPU 500a sets an input number display output bit OFF for turning off (turning off) the bit corresponding to the input number display indicating the number of inserted medals (number of bets).

(ステップS2100-5)
メインCPU500aは、上記ステップS2100-3でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
(Step S2100-5)
The main CPU 500a executes output port image setting processing for updating the output image for the bit set in step S2100-3.

(ステップS2100-7)
メインCPU500aは、遊技開始ウェイトタイマをセットする。
(Step S2100-7)
The main CPU 500a sets a game start wait timer.

(ステップS2100-9)
メインCPU500aは、遊技開始ウェイトタイマが0になるまで待つタイマウェイト処理を実行する。
(Step S2100-9)
The main CPU 500a executes timer wait processing for waiting until the game start wait timer reaches zero.

(ステップS2100-11)
メインCPU500aは、メインRAM500cにおける使用領域のうち、1遊技毎にクリアすべき領域をクリアする1遊技RAMクリア処理を実行する。
(Step S2100-11)
The main CPU 500a executes a 1-game RAM clearing process for clearing an area to be cleared for each game out of the used area in the main RAM 500c.

(ステップS2100-13)
メインCPU500aは、ボーナス信号を設定するボーナス信号設定処理を実行する。
(Step S2100-13)
The main CPU 500a executes bonus signal setting processing for setting a bonus signal.

(ステップS2100-15)
メインCPU500aは、入力ポートイメージのエッジ情報をクリアするエッジクリア処理を実行する。
(Step S2100-15)
The main CPU 500a executes edge clear processing for clearing the edge information of the input port image.

(ステップS2200)
メインCPU500aは、メダルの投入を受け付ける遊技メダル投入処理を実行する。なお、この遊技メダル投入処理については後述する。
(Step S2200)
The main CPU 500a executes a game medal insertion process for accepting insertion of medals. This game medal insertion process will be described later.

図89は、主制御基板500における遊技メダル投入処理(S2200)を説明するフローチャートである。 FIG. 89 is a flow chart for explaining the game medal insertion process (S2200) in the main control board 500. FIG.

(ステップS2200-1)
メインCPU500aは、各種エラーの検出結果の確認を行うエラー確認処理を実行する。
(Step S2200-1)
The main CPU 500a executes error confirmation processing for confirming detection results of various errors.

(ステップS2200-3)
メインCPU500aは、入力ポートの信号の立ち上がりエッジ(オンエッジ)、および、立ち下がりエッジ(オフエッジ)を検出するエッジチェック処理を実行する。
(Step S2200-3)
The main CPU 500a executes edge check processing for detecting the rising edge (ON edge) and falling edge (OFF edge) of the signal of the input port.

(ステップS2200-5)
メインCPU500aは、前面上扉404または前面下扉406が開放されているときに1が立つドア開放エラー検出フラグを取得する。
(Step S2200-5)
The main CPU 500a acquires a door open error detection flag that is set to 1 when the front upper door 404 or the front lower door 406 is open.

(ステップS2200-7)
メインCPU500aは、上記ステップS2200-5で取得したドア開放エラー検出フラグに基づき、前面上扉404および前面下扉406が閉鎖されているかを判定する。その結果、前面上扉404および前面下扉406が閉鎖されていると判定した場合にはステップS2200-17に処理を移し、前面上扉404または前面下扉406の少なくとも一方が閉鎖されていないと判定した場合にはステップS2200-9に処理を移す。
(Step S2200-7)
Main CPU 500a determines whether front upper door 404 and front lower door 406 are closed based on the door open error detection flag obtained in step S2200-5. As a result, when it is determined that the front upper door 404 and the front lower door 406 are closed, the process moves to step S2200-17, and at least one of the front upper door 404 or the front lower door 406 is not closed. If so, the process moves to step S2200-9.

(ステップS2200-9)
メインCPU500aは、前面上扉404または前面下扉406の少なくとも一方が開放されていることを示すエラーコード「E8」をセットする。
(Step S2200-9)
The main CPU 500a sets an error code "E8" indicating that at least one of the front upper door 404 and the front lower door 406 is open.

(ステップS2200-11)
メインCPU500aは、エラー表示、警告音の要求、ならびに、エラー復帰待ちを行うエラーウェイト処理を実行する。
(Step S2200-11)
The main CPU 500a performs error display, request for warning sound, and error wait processing for waiting for error recovery.

(ステップS2200-13)
メインCPU500aは、設定値を確認する設定値確認処理を実行する。
(Step S2200-13)
The main CPU 500a executes setting value confirmation processing for confirming the setting values.

(ステップS2200-15)
メインCPU500aは、入力ポートイメージのエッジ情報をクリアするエッジクリア処理を実行する。
(Step S2200-15)
The main CPU 500a executes edge clear processing for clearing the edge information of the input port image.

(ステップS2200-17)
メインCPU500aは、貯留(クレジット)されているメダルを払い戻すためのクレジットスイッチ(不図示)が押下されている場合に、貯留されているメダルを払い戻すクレジットボタンチェック処理を実行する。
(Step S2200-17)
The main CPU 500a executes a credit button check process for withdrawing accumulated medals when a credit switch (not shown) for withdrawing accumulated (credited) medals is pressed.

(ステップS2200-19)
メインCPU500aは、メダルをベットする遊技メダル投入ボタン関連処理を実行する。ここでは、ベットスイッチ416が押下された場合に、貯留(クレジット)されているメダルを規定数までベットするとともに、ベットした枚数分だけ貯留枚数を減算する。また、メダル投入口414aを通じてメダルが投入された場合、規定数までメダルをベットし、規定数よりも多くメダルが投入された場合、その分だけ貯留枚数に加算する。
(Step S2200-19)
The main CPU 500a executes game medal insertion button related processing for betting medals. Here, when the bet switch 416 is pressed, a specified number of accumulated (credited) medals is betted, and the number of accumulated medals is subtracted by the number of bets. Also, when medals are inserted through the medal slot 414a, the medals are bet up to a specified number, and if more medals than the specified number are inserted, that amount is added to the number of stored medals.

(ステップS2200-21)
メインCPU500aは、投入枚数が規定数であるかを確認する遊技メダル取得処理を実行する。
(Step S2200-21)
The main CPU 500a executes game medal acquisition processing for confirming whether the number of inserted coins is a specified number.

(ステップS2200-23)
メインCPU500aは、上記ステップS2200-21の確認結果に基づき、投入枚数が規定数でないかを判定する。その結果、投入枚数が規定数でないと判定した場合にはステップS2200-1に処理を移し、投入枚数が規定数であると判定した場合にはステップS2200-25に処理を移す。
(Step S2200-23)
The main CPU 500a determines whether or not the number of inserted coins is not the specified number based on the confirmation result of step S2200-21. As a result, if it is determined that the inserted number is not the specified number, the process proceeds to step S2200-1, and if it is determined that the inserted number is the specified number, the process is transferred to step S2200-25.

(ステップS2200-25)
メインCPU500aは、スタートスイッチ418の操作が有効になったか否かを示すスタート表示器(不図示)をオン(点灯)するためのスタート表示器出力ビットをセットする。
(Step S2200-25)
The main CPU 500a sets a start indicator output bit for turning on (lighting) a start indicator (not shown) that indicates whether the operation of the start switch 418 is valid.

(ステップS2200-27)
メインCPU500aは、スタートスイッチ418の立ち下がりエッジ(押下)を検出していなかを判定する。その結果、スタートスイッチ418の立ち下がりエッジを検出していないと判定した場合にはステップS2200-1に処理を移し、スタートスイッチ418の立ち下がりエッジを検出していると判定した場合にはステップS2200-29に処理を移す。
(Step S2200-27)
The main CPU 500a determines whether the falling edge (depression) of the start switch 418 is detected. As a result, if it is determined that the falling edge of start switch 418 has not been detected, the process proceeds to step S2200-1, and if it is determined that the falling edge of start switch 418 has been detected, step S2200. -29 is processed.

(ステップS2200-29)
メインCPU500aは、メイン払出表示部432の表示をクリアするためにメイン払出表示部バッファをクリアする。
(Step S2200-29)
The main CPU 500 a clears the main payout display buffer to clear the display of the main payout display 432 .

(ステップS2200-31)
メインCPU500aは、再遊技状態識別信号をクリアする再遊技状態識別信号クリア処理を実行する。
(Step S2200-31)
The main CPU 500a executes re-gaming state identification signal clear processing for clearing the re-gaming state identification signal.

(ステップS2200-33)
メインCPU500aは、スタート表示器をオフ(消灯)するためのブロッカー閉塞前処理を実行する。
(Step S2200-33)
The main CPU 500a executes blocker blocking preprocessing for turning off (extinguishing) the start indicator.

(ステップS2200-35)
メインCPU500aは、スタートスイッチ418が押下されたことを示すレバー押下コマンドを送信バッファにセットする。
(Step S2200-35)
The main CPU 500a sets a lever depression command indicating that the start switch 418 has been depressed in the transmission buffer.

(ステップS2300)
メインCPU500aは、当選種別抽選を行う内部抽選処理を実行する。なお、この内部抽選処理については後述する。
(Step S2300)
The main CPU 500a executes an internal lottery process for performing a lottery by winning type. This internal lottery process will be described later.

図90は、主制御基板500における内部抽選処理(S2300)を説明するフローチャートである。 FIG. 90 is a flowchart for explaining internal lottery processing (S2300) in main control board 500. FIG.

(ステップS2300-1)
メインCPU500aは、設定値データを取得する。
(Step S2300-1)
The main CPU 500a acquires set value data.

(ステップS2300-3)
メインCPU500aは、設定値異常エラーを示すエラーコード「EC」をセットする。
(Step S2300-3)
The main CPU 500a sets an error code "EC" indicating a setting value abnormality error.

(ステップS2300-5)
メインCPU500aは、上記ステップS2300-1で取得した設定値データが異常であるかを判定する。その結果、設定値データが異常であると判定した場合にはステップS2011に処理を移し、設定値データが異常でないと判定した場合にはステップS2300-7に処理を移す。
(Step S2300-5)
The main CPU 500a determines whether the set value data obtained in step S2300-1 is abnormal. As a result, if it is determined that the set value data is abnormal, the process proceeds to step S2011, and if it is determined that the set value data is not abnormal, the process proceeds to step S2300-7.

(ステップS2300-7)
メインCPU500aは、乱数発生器500dによって更新された当選種別抽選乱数を取得する。
(Step S2300-7)
The main CPU 500a acquires the winning type lottery random number updated by the random number generator 500d.

(ステップS2300-9)
メインCPU500aは、遊技状態に係るオフセット値を取得する状態オフセット取得処理を実行する。
(Step S2300-9)
The main CPU 500a executes state offset acquisition processing for acquiring an offset value related to the game state.

(ステップS2300-11)
メインCPU500aは、内部抽選エリア定義テーブル(当選種別抽選テーブル)のアドレスをセットする。
(Step S2300-11)
The main CPU 500a sets the address of the internal lottery area definition table (winning type lottery table).

(ステップS2300-13)
メインCPU500aは、上記ステップS2300-11でセットしたアドレスに対して、上記ステップS2300-9で取得したオフセット値を加算したアドレスに示される値を当選領域の初期値としてセットする。ここでは、現在の遊技状態の当選種別抽選テーブルにおける最初の当選領域が初期値としてセットされることになる。
(Step S2300-13)
The main CPU 500a sets, as the initial value of the winning area, the value indicated by the address obtained by adding the offset value obtained in step S2300-9 to the address set in step S2300-11. Here, the first winning area in the winning type lottery table in the current gaming state is set as the initial value.

(ステップS2300-15)
メインCPU500aは、その当選領域の当選範囲を示す数値である抽選データを取得するとともに、当選領域を1ずらす抽選データ取得処理を実行する。
(Step S2300-15)
The main CPU 500a acquires lottery data, which is a numerical value indicating the winning range of the winning area, and executes lottery data acquisition processing for shifting the winning area by one.

(ステップS2300-17)
メインCPU500aは、当選種別抽選を行わないかを判定する。その結果、当選種別抽選を行わないと判定した場合にはステップS2300-21に処理を移し、当選種別抽選を行うと判定した場合にはステップS2300-19に処理を移す。
(Step S2300-17)
The main CPU 500a determines whether or not the winning type lottery is performed. As a result, when it is determined that the winning type lottery will not be performed, the process is moved to step S2300-21, and when it is determined that the winning type lottery is to be performed, the process is moved to step S2300-19.

(ステップS2300-19)
メインCPU500aは、乱数値から抽選データを減算する。
(Step S2300-19)
The main CPU 500a subtracts the lottery data from the random number value.

(ステップS2300-21)
メインCPU500aは、上記ステップS2300-19の減算結果が負であるか、すなわち、当選種別抽選によって、その当選領域に当選しているかを判定する。その結果、当選種別抽選に当選していると判定した場合にはステップS2400に処理を移し、当選種別抽選に当選していないと判定した場合にはステップS2300-23に処理を移す。
(Step S2300-21)
The main CPU 500a determines whether the result of the subtraction in step S2300-19 is negative, that is, whether the winning region has been won by the winning type lottery. As a result, when it is determined that the winning type lottery has been won, the process moves to step S2400, and when it is determined that the winning type lottery has not been won, the process moves to step S2300-23.

(ステップS2300-23)
メインCPU500aは、当選種別抽選が終了でないかを判定する。その結果、当選種別抽選が終了でないと判定した場合にはステップS2300-15に処理を移し、当選種別抽選が終了であると判定した場合にはステップS2300-25に処理を移す。
(Step S2300-23)
The main CPU 500a determines whether or not the winning type lottery has ended. As a result, when it is determined that the winning type lottery has not ended, the process moves to step S2300-15, and when it is determined that the winning type lottery has ended, the process moves to step S2300-25.

(ステップS2300-25)
メインCPU500aは、トリガー役種別をクリアする。
(Step S2300-25)
The main CPU 500a clears the trigger role type.

(ステップS2400)
メインCPU500aは、当選領域および遊技状態に基づいて、図柄コードを設定する図柄コード設定処理を実行する。なお、この図柄コード設定処理については後述する。
(Step S2400)
The main CPU 500a executes a symbol code setting process for setting a symbol code based on the winning area and the game state. This symbol code setting process will be described later.

図91は、主制御基板500における図柄コード設定処理(S2400)を説明するフローチャートである。 FIG. 91 is a flow chart for explaining the symbol code setting process (S2400) in the main control board 500. FIG.

(ステップS2400-1)
メインCPU500aは、上記ステップS2300で当選した当選領域を取得し、取得した当選領域にボーナス役が含まれる場合には遊技状態を内部中遊技状態に設定する遊技状態設定処理を実行する。
(Step S2400-1)
The main CPU 500a acquires the winning area that was won in step S2300, and if the acquired winning area includes a bonus combination, executes a game state setting process of setting the game state to the internal middle game state.

(ステップS2400-3)
メインCPU500aは、上記ステップS2400-1で取得した当選領域を停止制御番号として設定する。
(Step S2400-3)
The main CPU 500a sets the winning area obtained in step S2400-1 as the stop control number.

(ステップS2400-5)
メインCPU500aは、上記ステップS2400-1で取得した当選領域に基づいて、当選種別を決定(設定)する。
(Step S2400-5)
The main CPU 500a determines (sets) the winning type based on the winning area acquired in step S2400-1.

(ステップS2400-7)
メインCPU500aは、上記ステップS2400-3で設定した停止制御番号に基づいて、表示可能な図柄、および、引き込み対象の図柄を示す図柄コードを設定する図柄コード初期設定処理を実行する。
(Step S2400-7)
The main CPU 500a executes a symbol code initial setting process for setting a symbol code indicating a symbol that can be displayed and a symbol to be drawn based on the stop control number set in step S2400-3.

(ステップS2400-9)
メインCPU500aは、表示図柄ビットを設定する表示図柄ビット初期値設定処理を実行する。
(Step S2400-9)
The main CPU 500a executes display symbol bit initial value setting processing for setting display symbol bits.

(ステップS2400-11)
メインCPU500aは、実行フラグの設定、演出状態に関する各種処理、補助演出に関する処理等を行う実行フラグ設定処理を実行する。
(Step S2400-11)
The main CPU 500a executes an execution flag setting process for setting an execution flag, various processes related to the effect state, processing related to the auxiliary effect, and the like.

(ステップS2400-13)
メインCPU500aは、有利区間に関するコマンドである演出コマンドを送信バッファにセットする。
(Step S2400-13)
The main CPU 500a sets an effect command, which is a command relating to the advantageous section, in the transmission buffer.

(ステップS2400-15)
メインCPU500aは、当選種別を示す当選情報コマンドを送信バッファにセットする。
(Step S2400-15)
The main CPU 500a sets a winning information command indicating the winning type in the transmission buffer.

(ステップS2400-17)
メインCPU500aは、1遊技間タイマを確認する。
(Step S2400-17)
The main CPU 500a checks the one-game timer.

(ステップS2400-19)
メインCPU500aは、リール410a、410b、410cが回転前であることを示す回胴回転前コマンドを送信バッファにセットする。
(Step S2400-19)
The main CPU 500a sets a reel before rotation command indicating that the reels 410a, 410b and 410c are before rotation in the transmission buffer.

(ステップS2400-21)
メインCPU500aは、ステッピングモータ452の励磁解放を待つ励磁解放待ち処理を実行する。
(Step S2400-21)
The main CPU 500a executes an excitation release waiting process for waiting for the excitation release of the stepping motor 452. FIG.

(ステップS2400-23)
メインCPU500aは、1遊技間タイマが0でないかを判定する。その結果、1遊技間タイマが0でないと判定した場合にはステップS2400-23に処理を移し、1遊技間タイマが0であると判定した場合にはステップS2400-25に処理を移す。
(Step S2400-23)
The main CPU 500a determines whether the one-game timer is not zero. As a result, when it is determined that the one-game timer is not 0, the process moves to step S2400-23, and when it is determined that the one-game timer is 0, the process moves to step S2400-25.

(ステップS2400-25)
メインCPU500aは、リール410a、410b、410cの回転を開始させるための回胴開始処理を実行する。ここでは、リール410a、410b、410cのモータフェーズを加速中に設定して各リールの回転を開始させたり、1遊技間タイマを4.1秒に相当する値にセットしたりする。
(Step S2400-25)
The main CPU 500a executes reel start processing for starting rotation of the reels 410a, 410b, and 410c. Here, the motor phases of the reels 410a, 410b, and 410c are set to acceleration to start the rotation of each reel, and the one-game timer is set to a value corresponding to 4.1 seconds.

(ステップS2400-27)
メインCPU500aは、リール410a、410b、410cの回転が開始したことを示す回胴開始コマンドを送信バッファにセットする。
(Step S2400-27)
The main CPU 500a sets a reel start command indicating that the reels 410a, 410b, and 410c have started rotating in the transmission buffer.

(ステップS2500)
メインCPU500aは、リール410a、410b、410cの回転中の処理である回胴回転中処理を実行する。なお、この回胴回転中処理については後述する。
(Step S2500)
The main CPU 500a executes processing during reel rotation, which is processing during rotation of the reels 410a, 410b, and 410c. Note that this process during rotation of the drum will be described later.

図92は、主制御基板500における回胴回転中処理(S2500)を説明するフローチャートである。 FIG. 92 is a flowchart for explaining the process during drum rotation (S2500) in main control board 500. FIG.

(ステップS2500-1)
メインCPU500aは、ストップスイッチ420a、420b、420cの表示器(不図示)に対応するビットをオフ(消灯)するために停止表示器出力ビットオフ(出力イメージ)をセットする。ここで、停止表示器出力ビットは、3ビットのビット列で構成され、各ビットがそれぞれ3つのストップスイッチ420a、420b、420cの発光色に対応付けられており、青色=1、赤色=0で表される。
(Step S2500-1)
The main CPU 500a sets the stop indicator output bit off (output image) to turn off (light off) the bit corresponding to the indicator (not shown) of the stop switches 420a, 420b, 420c. Here, the stop indicator output bit is composed of a 3-bit bit string, each bit corresponding to the emission color of the three stop switches 420a, 420b, and 420c, represented by blue=1 and red=0. be done.

(ステップS2500-3)
メインCPU500aは、上記ステップS2500-1でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
(Step S2500-3)
Main CPU 500a executes output port image setting processing for updating the output image for the bit set in step S2500-1.

(ステップS2500-5)
メインCPU500aは、各種エラーの検出結果の確認を行うエラー確認処理を実行する。
(Step S2500-5)
The main CPU 500a executes error confirmation processing for confirming detection results of various errors.

(ステップS2500-7)
メインCPU500aは、インデックスフラグを参照し、回転しているリール410a、410b、410cのインデックスを取得する。なお、インデックスフラグは、リール410a、410b、410cが定速回転速度に到達した後にしか立たないので、換言すれば、インデックスフラグが立っているということは、リール410a、410b、410cが定速回転速度に到達していることも示すこととなる。
(Step S2500-7)
The main CPU 500a refers to the index flags and obtains the indexes of the rotating reels 410a, 410b, and 410c. Note that the index flag is set only after the reels 410a, 410b, and 410c reach the constant rotation speed. It also indicates that the speed has been reached.

(ステップS2500-9)
メインCPU500aは、リール410a、410b、410c全てのインデックスフラグを検出済みでないかを判定する。その結果、全てのインデックスフラグを検出済みでないと判定した場合にはステップS2500-1に処理を移し、全てのインデックスフラグを検出済みであると判定した場合にはステップS2500-11に処理を移す。
(Step S2500-9)
The main CPU 500a determines whether the index flags of all the reels 410a, 410b, and 410c have been detected. As a result, if it is determined that all index flags have not been detected, the process proceeds to step S2500-1, and if it is determined that all index flags have been detected, the process proceeds to step S2500-11.

(ステップS2500-11)
メインCPU500aは、停止または停止開始しているリール410a、410b、410cを示す停止回胴ビットを取得する。ここで、停止回胴ビットは、3ビットのビット列で構成され、各ビットがそれぞれ3つのリール410a、410b、410cのいずれかに対応付けられており、定速状態=1、加速状態、減速状態または停止状態=0で表される。
(Step S2500-11)
The main CPU 500a acquires a stop spinning reel bit indicating the reels 410a, 410b, and 410c that are stopping or starting to stop. Here, the stop reel bit is composed of a 3-bit bit string, and each bit is associated with one of the three reels 410a, 410b, and 410c. Or it is represented by stop state=0.

(ステップS2500-13)
メインCPU500aは、上記ステップS2500-11で取得した停止回胴ビットを回胴回転中フラグとして保存する。
(Step S2500-13)
The main CPU 500a saves the stop reel bit acquired in step S2500-11 as a reel rotating flag.

(ステップS2500-15)
メインCPU500aは、ストップスイッチ420a、420b、420cの表示器(不図示)に対応するビットをオン(消灯)するために停止表示器出力ビットオン(出力イメージ)をセットする。
(Step S2500-15)
The main CPU 500a sets the stop indicator output bit ON (output image) to turn on (light off) the bit corresponding to the indicator (not shown) of the stop switches 420a, 420b, 420c.

(ステップS2500-17)
メインCPU500aは、入力ポート0のイメージを取得し、取得したイメージから、操作対象ビットを抽出する操作対象ビット抽出処理を実行する。ここで、操作対象ビットは、3ビットのビット列で構成され、各ビットがそれぞれ3つのストップスイッチ420a、420b、420cのいずれかに対応付けられており、操作されている=1、操作されていない=0で表される。
(Step S2500-17)
The main CPU 500a acquires the image of the input port 0, and executes operation target bit extraction processing for extracting the operation target bit from the acquired image. Here, the operation target bit is composed of a 3-bit bit string, and each bit is associated with one of the three stop switches 420a, 420b, and 420c. =0.

(ステップS2500-19)
メインCPU500aは、上記ステップS2500-13で取得した回胴回転中フラグと、上記ステップS2500-17で抽出した操作対象ビットとの論理積を演算する。ここで、リール410が回転中であり、かつ、そのリールに対応するストップスイッチ420が操作されていれば、すなわち、操作したストップスイッチ420が有効に回転しているリール410に対応していれば、論理積は1となる。
(Step S2500-19)
The main CPU 500a performs a logical product operation between the spinning drum flag obtained in step S2500-13 and the operation target bit extracted in step S2500-17. Here, if the reel 410 is rotating and the stop switch 420 corresponding to the reel is operated, that is, if the operated stop switch 420 corresponds to the effectively rotating reel 410 , the logical AND is 1.

(ステップS2500-21)
メインCPU500aは、上記ステップS2500-19で演算した論理積が0である、すなわち、回転しているリール410に対応したストップスイッチ420が操作されていないかを判定する。その結果、回転しているリール410に対応したストップスイッチ420が操作されていないと判定した場合にはステップS2500-3に処理を移し、回転しているリール410に対応したストップスイッチ420が操作されていると判定した場合にはステップS2500-23に処理を移す。
(Step S2500-21)
The main CPU 500a determines whether the AND calculated in step S2500-19 is 0, that is, whether the stop switch 420 corresponding to the rotating reel 410 has been operated. As a result, when it is determined that the stop switch 420 corresponding to the rotating reel 410 is not operated, the process is shifted to step S2500-3, and the stop switch 420 corresponding to the rotating reel 410 is operated. If it is determined that there is, the process moves to step S2500-23.

(ステップS2500-23)
メインCPU500aは、停止表示器出力ビットが含まれる出力イメージを取得し、取得した出力イメージと、上記ステップS2500-19で演算した論理積との論理積を演算する。ここでは、操作されたストップスイッチ420が、赤色点灯中である場合に論理積のビットが0となり、青色点灯中である場合に論理積のビットが1となる。
(Step S2500-23)
The main CPU 500a acquires the output image including the stop indicator output bit, and computes the logical product of the acquired output image and the logical product computed in step S2500-19. Here, the logical product bit is 0 when the operated stop switch 420 is lit in red, and the bit of logical product is 1 when it is lit in blue.

(ステップS2500-25)
メインCPU500aは、上記ステップS2500-23で演算した論理積が0であるか、すなわち、操作されたストップスイッチ420が赤色点灯中であるかを判定する。その結果、操作されたストップスイッチ420が赤色点灯中であると判定した場合にはステップS2500-1に処理を移し、操作されたストップスイッチ420が赤色点灯中でないと判定した場合にはステップS2500-27に処理を移す。
(Step S2500-25)
The main CPU 500a determines whether the logical product calculated in step S2500-23 is 0, that is, whether the operated stop switch 420 is lit in red. As a result, if it is determined that the operated stop switch 420 is lit in red, the process proceeds to step S2500-1, and if it is determined that the operated stop switch 420 is not lit in red, step S2500- 27 is processed.

(ステップS2500-27)
メインCPU500aは、操作されたストップスイッチ420が有効でないかを判定する。その結果、操作されたストップスイッチ420が有効でないと判定した場合にはステップS2500-1に処理を移し、操作されたストップスイッチ420が有効であると判定した場合にはステップS2500-29に処理を移す。なお、ここでは、操作されたストップスイッチ420が1つであるか否かを判定している。そして、操作されたストップスイッチ420が1つであると判定した場合にはステップS2500-29に処理を移し、操作されたストップスイッチ420が1つでない、すなわち、2つ以上であると判定した場合にはステップS2500-1に処理を移す。
(Step S2500-27)
The main CPU 500a determines whether the operated stop switch 420 is not valid. As a result, if it is determined that the operated stop switch 420 is not valid, the process proceeds to step S2500-1, and if it is determined that the operated stop switch 420 is valid, the process proceeds to step S2500-29. Transfer. Here, it is determined whether or not one stop switch 420 has been operated. If it is determined that one stop switch 420 has been operated, the process proceeds to step S2500-29, and if it is determined that there are two or more stop switches 420 operated to step S2500-1.

(ステップS2500-29)
メインCPU500aは、操作されたストップスイッチ420に対応するリール410を停止させるための各種パラメータを取得する停止制御回胴設定処理を実行する。
(Step S2500-29)
The main CPU 500a executes stop control reel setting processing for acquiring various parameters for stopping the reel 410 corresponding to the operated stop switch 420. FIG.

(ステップS2500-31)
メインCPU500aは、割込みを禁止する。
(Step S2500-31)
The main CPU 500a prohibits interrupts.

(ステップS2500-33)
メインCPU500aは、有効ラインA上に位置する図柄の図柄番号を押下基準位置として導出する押下基準位置取得処理を実行する。
(Step S2500-33)
The main CPU 500a executes a depression reference position acquisition process for deriving the symbol number of the symbol positioned on the activated line A as the depression reference position.

(ステップS2500-35)
メインCPU500aは、リール410の滑りコマ数を決定する滑りコマ数取得処理を実行する。
(Step S2500-35)
The main CPU 500 a executes a sliding frame number acquisition process for determining the number of sliding frames of the reel 410 .

(ステップS2600)
メインCPU500aは、操作されたストップスイッチ420に対応するリール410を停止させる回胴停止処理を実行する。なお、この回胴停止処理については後述する。
(Step S2600)
The main CPU 500a executes reel stop processing for stopping the reel 410 corresponding to the stop switch 420 that has been operated. Note that this spinning drum stop processing will be described later.

図93は、主制御基板500における回胴停止処理(S2600)を説明するフローチャートである。 FIG. 93 is a flow chart for explaining the spinning drum stopping process (S2600) in the main control board 500. FIG.

(ステップS2600-1)
メインCPU500aは、上記ステップS2500-35で導出した押下基準位置を取得する。
(Step S2600-1)
The main CPU 500a acquires the depression reference position derived in step S2500-35.

(ステップS2600-3)
メインCPU500aは、上記ステップS2600-1で取得した押下基準位置に対して、上記ステップS2500-37で決定した滑りコマ数を補正することにより、停止要求番号を算定する。
(Step S2600-3)
The main CPU 500a calculates the stop request number by correcting the number of sliding frames determined in step S2500-37 with respect to the depression reference position acquired in step S2600-1.

(ステップS2600-5)
メインCPU500aは、停止要求フラグを設定する(1にする)。停止要求フラグは、並行して動作するプログラムに対し、対象となるリール410の停止処理を要求するためのフラグであり、停止要求フラグを1とすることで、停止要求番号に対応する図柄を有効ラインA上に停止することが可能となる。かかる停止要求フラグおよび上記の停止要求番号は、並行して動作するプログラムにより読み出され、リール410の停止処理が行われる。なお、停止処理が完了すると、そのプログラムによって、停止要求フラグは0(OFF)にリセットされる。
(Step S2600-5)
The main CPU 500a sets (sets to 1) a stop request flag. The stop request flag is a flag for requesting the stop processing of the target reel 410 to the programs that operate in parallel. By setting the stop request flag to 1, the symbol corresponding to the stop request number is enabled. It becomes possible to stop on line A. The stop request flag and the stop request number are read out by a program running in parallel, and the reel 410 is stopped. When the stop processing is completed, the program resets the stop request flag to 0 (OFF).

(ステップS2600-7)
メインCPU500aは、割込みを許可する。
(Step S2600-7)
The main CPU 500a permits interrupts.

(ステップS2600-9)
メインCPU500aは、リール410の停止順序を示す停止情報コマンドを送信バッファにセットする。
(Step S2600-9)
The main CPU 500a sets a stop information command indicating the stop order of the reels 410 in the transmission buffer.

(ステップS2600-11)
メインCPU500aは、ストップスイッチ420の表示器(不図示)に対応するビットをオフ(消灯)するために停止表示器出力ビットオフ(出力イメージ)をセットする。
(Step S2600-11)
The main CPU 500a sets the stop indicator output bit off (output image) to turn off (light off) the bit corresponding to the indicator (not shown) of the stop switch 420. FIG.

(ステップS2600-13)
メインCPU500aは、上記ステップS2600-11でセットしたビットについて、出力イメージを更新する出力ポートイメージセット処理を実行する。
(Step S2600-13)
The main CPU 500a executes output port image setting processing for updating the output image for the bit set in step S2600-11.

(ステップS2600-15)
メインCPU500aは、表示図柄ビットを設定する表示図柄ビット設定処理を実行する。
(Step S2600-15)
The main CPU 500a executes display symbol bit setting processing for setting display symbol bits.

(ステップS2600-17)
メインCPU500aは、次のリール410を停止させるための次回胴設定前処理を実行する。
(Step S2600-17)
The main CPU 500a executes the next cylinder setting preprocessing for stopping the next reel 410. FIG.

(ステップS2600-19)
メインCPU500aは、全てのリール410の停止処理が終了済みでないかを判定する。その結果、全てのリール410の停止処理が終了済みでないと判定した場合にはステップS2500に処理を移し、全てのリール410の停止処理が終了済みであると判定した場合にはステップS2600-21に処理を移す。
(Step S2600-19)
The main CPU 500a determines whether the stop processing of all the reels 410 has been completed. As a result, if it is determined that the stop processing for all the reels 410 has not been completed, the process proceeds to step S2500, and if it is determined that the stop processing for all the reels 410 has been completed, the process proceeds to step S2600-21. transfer processing.

(ステップS2600-21)
メインCPU500aは、いずれかのリール410について停止要求フラグがオンである、すなわち、全てのリール410が停止済みでないかを判定する。その結果、全てのリール410が停止済みでないと判定した場合にはステップS2600-21に処理を移し、全てのリール410が停止済みであると判定した場合にはステップS2600-23に処理を移す。
(Step S2600-21)
The main CPU 500a determines whether the stop request flag is ON for any reel 410, that is, whether all the reels 410 have stopped. As a result, if it is determined that all the reels 410 have not stopped, the process moves to step S2600-21, and if it is determined that all the reels 410 have stopped, the process moves to step S2600-23.

(ステップS2600-23)
メインCPU500aは、各種エラーの検出結果の確認を行うエラー確認処理を実行する。
(Step S2600-23)
The main CPU 500a executes error confirmation processing for confirming detection results of various errors.

(ステップS2600-25)
メインCPU500aは、操作対象ビットの情報を抽出する操作対象ビット抽出処理を実行する。
(Step S2600-25)
The main CPU 500a executes an operation target bit extraction process for extracting information on the operation target bit.

(ステップS2600-27)
メインCPU500aは、上記ステップS2600-25で取得した操作対象ビットに基づいて、ストップスイッチ420が押下されているかを判定する。その結果、ストップスイッチ420が押下されていると判定した場合にはステップS2600-23に処理を移し、ストップスイッチ420が押下されていないと判定した場合にはステップS2700に処理を移す。
(Step S2600-27)
The main CPU 500a determines whether the stop switch 420 is pressed based on the operation target bit obtained in step S2600-25. As a result, if it is determined that stop switch 420 has been pressed, the process proceeds to step S2600-23, and if it is determined that stop switch 420 has not been pressed, the process proceeds to step S2700.

(ステップS2700)
メインCPU500aは、入賞した当選役を判定する表示判定処理を実行する。なお、この表示判定処理については後述する。
(Step S2700)
The main CPU 500a executes a display determination process for determining a winning winning combination. Note that this display determination processing will be described later.

図94は、主制御基板500における表示判定処理(S2700)を説明するフローチャートである。 FIG. 94 is a flow chart for explaining the display determination process (S2700) in main control board 500. FIG.

(ステップS2700-1)
メインCPU500aは、メイン払出表示部432のバッファをクリアする。
(Step S2700-1)
The main CPU 500 a clears the buffer of the main payout display section 432 .

(ステップS2700-3)
メインCPU500aは、有効ラインA上に表示された図柄組み合わせと、有効ラインA上に表示許可された図柄組み合わせとが一致するか否かによって、表示判定異常が発生しているかを判定する表示判定異常検出処理を実行する。
(Step S2700-3)
The main CPU 500a determines whether or not a display determination abnormality has occurred, depending on whether or not the symbol combination displayed on the activated line A matches the symbol combination permitted to be displayed on the activated line A. Execute the detection process.

(ステップS2700-5)
メインCPU500aは、表示判定異常(エラー)であることを示すエラーコード「EE」をセットする。
(Step S2700-5)
The main CPU 500a sets an error code "EE" indicating display determination abnormality (error).

(ステップS2700-7)
メインCPU500aは、上記ステップS2700-3の判定結果に基づき、表示判定異常であるかを判定する。その結果、表示判定異常であると判定した場合にはステップS2011に処理を移し、表示判定異常でないと判定した場合にはステップS2700-9に処理を移す。
(Step S2700-7)
The main CPU 500a determines whether display determination is abnormal based on the determination result of step S2700-3. As a result, if it is determined that the display determination is abnormal, the process moves to step S2011, and if it is determined that the display determination is not abnormal, the process moves to step S2700-9.

(ステップS2700-9)
メインCPU500aは、有効ラインA上に停止(表示)された図柄組み合わせに基づいて、入賞した当選役を決定する表示図柄識別生成処理を実行する。
(Step S2700-9)
The main CPU 500a executes display symbol identification and generation processing for determining a winning combination based on the symbol combination stopped (displayed) on the activated line A.

(ステップS2700-11)
メインCPU500aは、払出枚数の初期値として0をセットする。
(Step S2700-11)
The main CPU 500a sets 0 as the initial value of the payout number.

(ステップS2700-13)
メインCPU500aは、小役が入賞したかを判定する。その結果、小役が入賞したと判定した場合にはステップS2700-15に処理を移し、小役が入賞していないと判定した場合にはステップS2700-35に処理を移す。
(Step S2700-13)
The main CPU 500a determines whether or not a minor win has been won. As a result, when it is determined that a minor winning combination has been won, the process proceeds to step S2700-15, and when it is determined that a minor winning combination has not been won, the process proceeds to step S2700-35.

(ステップS2700-15)
メインCPU500aは、小役が入賞したことを示す入賞フラグをオンにする。
(Step S2700-15)
The main CPU 500a turns on a winning flag indicating that a minor winning combination has been won.

(ステップS2700-17)
メインCPU500aは、入賞した小役に応じた払出枚数を設定する払出枚数設定処理を実行する。
(Step S2700-17)
The main CPU 500a executes payout number setting processing for setting the number of payouts according to the winning minor combination.

(ステップS2700-19)
メインCPU500aは、有利区間でないかを判定する。その結果、有利区間でないと判定した場合にはステップS2800に処理を移し、有利区間であると判定した場合にはステップS2700-21に処理を移す。
(Step S2700-19)
The main CPU 500a determines whether it is an advantageous section. As a result, if it is determined that it is not an advantageous section, the process moves to step S2800, and if it is determined that it is an advantageous section, the process moves to step S2700-21.

(ステップS2700-21)
メインCPU500aは、有利区間中の純増枚数をカウントする有利区間MYカウンタの値を取得する。
(Step S2700-21)
The main CPU 500a acquires the value of the advantageous section MY counter that counts the net increase in the number of coins during the advantageous section.

(ステップS2700-23)
メインCPU500aは、上記ステップS2700-23で取得した有利区間MYカウンタの値に払出枚数を加算する。
(Step S2700-23)
The main CPU 500a adds the payout number to the value of the advantageous section MY counter acquired in step S2700-23.

(ステップS2700-25)
メインCPU500aは、当該遊技の投入枚数を取得する。
(Step S2700-25)
The main CPU 500a acquires the number of inserted cards in the game.

(ステップS2700-27)
メインCPU500aは、上記ステップS2700-23で加算した値から投入枚数を減算する。
(Step S2700-27)
The main CPU 500a subtracts the inserted number from the value added in step S2700-23.

(ステップS2700-29)
メインCPU500aは、上記ステップS2700-27の減算結果が負でないかを判定する。その結果、減算結果が負でないと判定した場合にはステップS2700-33に処理を移し、減算結果が負であると判定した場合にはステップS2700-31に処理を移す。
(Step S2700-29)
The main CPU 500a determines whether the subtraction result in step S2700-27 is negative. As a result, if it is determined that the subtraction result is not negative, the process moves to step S2700-33, and if it is determined that the subtraction result is negative, the process moves to step S2700-31.

(ステップS2700-31)
メインCPU500aは、有利区間MYカウンタの値をクリアする(0にする)。
(Step S2700-31)
The main CPU 500a clears (sets to 0) the value of the advantageous section MY counter.

(ステップS2700-33)
メインCPU500aは、上記ステップS2700-27で減算した値、または、上記ステップS2700-31でクリアした値に、有利区間MYカウンタの値を更新する。
(Step S2700-33)
The main CPU 500a updates the value of the advantageous section MY counter to the value subtracted in step S2700-27 or the value cleared in step S2700-31.

(ステップS2700-35)
メインCPU500aは、リプレイ役が入賞していなかを判定する。その結果、リプレイ役が入賞していないと判定した場合にはステップS2800に処理を移し、リプレイ役が入賞していると判定した場合にはステップS2700-37に処理を移す。
(Step S2700-35)
The main CPU 500a determines whether or not the replay combination has won. As a result, when it is determined that the replay combination has not won, the process moves to step S2800, and when it is determined that the replay combination has won, the process moves to step S2700-37.

(ステップS2700-37)
メインCPU500aは、払出枚数に投入枚数をセットする。
(Step S2700-37)
The main CPU 500a sets the inserted number as the payout number.

(ステップS2700-39)
メインCPU500aは、再遊技作動中フラグをオンにする。
(Step S2700-39)
The main CPU 500a turns on the replay flag.

(ステップS2700-41)
メインCPU500aは、自動投入枚数をセットする。
(Step S2700-41)
The main CPU 500a sets the number of sheets automatically inserted.

(ステップS2800)
メインCPU500aは、メダルを払い出す払出処理を実行する。なお、この払出処理については後述する。
(Step S2800)
The main CPU 500a executes payout processing for paying out medals. This payout process will be described later.

図95は、主制御基板500における払出処理(S2800)を説明するフローチャートである。 FIG. 95 is a flow chart explaining the payout process (S2800) in the main control board 500. FIG.

(ステップS2800-1)
メインCPU500aは、再遊技作動中フラグを取得する。
(Step S2800-1)
The main CPU 500a acquires the replaying flag.

(ステップS2800-3)
メインCPU500aは、メダルの払い出しが開始されたことを示す払出開始コマンドを送信バッファにセットする。
(Step S2800-3)
The main CPU 500a sets a payout start command indicating that the payout of medals has started in the transmission buffer.

(ステップS2800-5)
メインCPU500aは、上記ステップS2800-1で取得した再遊技作動中フラグに基づいて、リプレイ役が入賞したかを判定する。その結果、リプレイ役が入賞したと判定した場合にはステップS2800-41に処理を移し、リプレイ役が入賞していないと判定した場合にはステップS2800-7に処理を移す。
(Step S2800-5)
The main CPU 500a determines whether or not the replay combination has won based on the replay operation flag acquired in step S2800-1. As a result, when it is determined that the replay combination has won, the process moves to step S2800-41, and when it is determined that the replay combination has not won, the process moves to step S2800-7.

(ステップS2800-7)
メインCPU500aは、メイン払出表示部432に0を表示するためのメイン表示器表示処理を実行する。
(Step S2800-7)
The main CPU 500 a executes a main indicator display process for displaying 0 on the main payout display section 432 .

(ステップS2800-9)
メインCPU500aは、払い出しがない(払出枚数が0枚)を判定する。その結果、払い出しがないと判定した場合にはステップS2800-35に処理を移し、払い出しがあると判定した場合にはステップS2800-11に処理を移す。
(Step S2800-9)
The main CPU 500a determines that there is no payout (the number of payouts is 0). As a result, when it is determined that there is no payout, the process moves to step S2800-35, and when it is determined that there is a payout, the process moves to step S2800-11.

(ステップS2800-11)
メインCPU500aは、貯留枚数が50枚以上であるかを判定する。その結果、貯留枚数が50枚以上であると判定した場合にはステップS2800-13に処理を移し、貯留枚数が50枚以上でないと判定した場合にはステップS2800-15に処理を移す。
(Step S2800-11)
The main CPU 500a determines whether the number of stored coins is 50 or more. As a result, if it is determined that the number of stored sheets is 50 or more, the process moves to step S2800-13, and if it is determined that the number of stored sheets is not 50 or more, the process moves to step S2800-15.

(ステップS2800-13)
メインCPU500aは、メダル払出装置442からメダルを1枚払い出させるメダル払出装置制御処理を実行し、ステップS2800-23に処理を移す。
(Step S2800-13)
The main CPU 500a executes medal payout device control processing to pay out one medal from the medal payout device 442, and shifts the processing to step S2800-23.

(ステップS2800-15)
メインCPU500aは、払出開始間隔タイマをセットする。
(Step S2800-15)
The main CPU 500a sets a payout start interval timer.

(ステップS2800-17)
メインCPU500aは、払出開始タイマが0でない、すなわち、初回払出時であるかを判定する。その結果、初回払出時であると判定した場合にはステップS2800-21に処理を移し、初回払出時でないと判定した場合にはステップS2800-19に処理を移す。
(Step S2800-17)
The main CPU 500a determines whether the payout start timer is not 0, that is, whether it is the first payout. As a result, when it is determined that it is the time of the first payout, the process moves to step S2800-21, and when it is determined that it is not the time of the first payout, the process moves to step S2800-19.

(ステップS2800-19)
メインCPU500aは、払出開始間隔タイマが0になるまで待つタイマウェイト処理を実行する。
(Step S2800-19)
The main CPU 500a executes timer wait processing for waiting until the payout start interval timer reaches zero.

(ステップS2800-21)
メインCPU500aは、貯留枚数を1インクリメントする。
(Step S2800-21)
The main CPU 500a increments the stored number by one.

(ステップS2800-23)
メインCPU500aは、1枚のメダルが払い出されたことを示す払出実行コマンドを送信バッファにセットする。
(Step S2800-23)
The main CPU 500a sets a payout execution command indicating that one medal has been paid out in the transmission buffer.

(ステップS2800-25)
メインCPU500aは、既に払い出された払出枚数をメイン払出表示部432に表示するためのメイン表示器表示前処理を実行する。
(Step S2800-25)
The main CPU 500a executes main display pre-display processing for displaying the number of payouts that have already been paid out on the main payout display section 432. FIG.

(ステップS2800-27)
メインCPU500aは、ボーナス遊技状態でないかを判定する。その結果、ボーナス遊技状態でないと判定した場合にはステップS2800-31に処理を移し、ボーナス遊技状態であると判定した場合にはステップS2800-29に処理を移す。
(Step S2800-27)
The main CPU 500a determines whether it is in the bonus game state. As a result, when it is determined that the game is not in the bonus game state, the process moves to step S2800-31, and when it is determined to be in the bonus game state, the process moves to step S2800-29.

(ステップS2800-29)
メインCPU500aは、ボーナス遊技状態において払い出されたメダルの枚数であるボーナス作動中獲得枚数を1インクリメントする。
(Step S2800-29)
The main CPU 500a increments, by one, the number of medals paid out during bonus operation, which is the number of medals paid out in the bonus game state.

(ステップS2800-31)
メインCPU500aは、払出枚数のメダルの払い出しが終了していないかを判定する。その結果、払い出しが終了していないと判定した場合にはステップS2800-11に処理を移し、払い出しが終了していると判定した場合にはステップS2800-33に処理を移す。
(Step S2800-31)
The main CPU 500a determines whether or not the payout of the number of medals to be paid out has been completed. As a result, if it is determined that the payout has not ended, the process moves to step S2800-11, and if it is determined that the payout has ended, the process moves to step S2800-33.

(ステップS2800-33)
メインCPU500aは、メダルの払い出しを終了するための払出終了処理を実行する。
(Step S2800-33)
The main CPU 500a executes payout end processing for ending the payout of medals.

(ステップS2800-35)
メインCPU500aは、オーバーエラーが検出されていないかを判定する。その結果、オーバーエラーが検出されていないと判定した場合にはステップS2800-41に処理を移し、オーバーエラーが検出されていると判定した場合にはステップS2800-37に処理を移す。
(Step S2800-35)
The main CPU 500a determines whether an over error has been detected. As a result, if it is determined that no over error has been detected, the process proceeds to step S2800-41, and if it is determined that an over error has been detected, the process proceeds to step S2800-37.

(ステップS2800-37)
メインCPU500aは、オーバーエラーを示すエラーコード「E5」をセットする。
(Step S2800-37)
The main CPU 500a sets an error code "E5" indicating an over error.

(ステップS2800-39)
メインCPU500aは、エラー表示、警告音の要求、ならびに、エラー復帰待ちを行うエラーウェイト処理を実行する。
(Step S2800-39)
The main CPU 500a performs error display, request for warning sound, and error wait processing for waiting for error recovery.

(ステップS2800-41)
メインCPU500aは、メダルの払い出しが終了したことを示す払出終了コマンドを送信バッファにセットする。
(Step S2800-41)
The main CPU 500a sets a payout end command indicating that the payout of medals has ended in the transmission buffer.

(ステップS2900)
メインCPU500aは、遊技状態の移行、有利区間を管理する処理等を行う遊技移行処理を実行する。なお、この遊技移行処理については後述する。
(Step S2900)
The main CPU 500a executes a game transition process for transitioning a game state, managing an advantageous interval, and the like. This game transition processing will be described later.

図96は、主制御基板500における遊技移行処理(S2900)を説明するフローチャートである。 FIG. 96 is a flow chart for explaining game transition processing (S2900) in the main control board 500. FIG.

(ステップS2900-1)
メインCPU500aは、再遊技作動中フラグを取得し、取得した再遊技作動中フラグに基づいて、次遊技が再遊技であることを示すリプレイ表示器(不図示)に対応するビットをオンまたはオフするために停止表示器出力ビットオフ(出力イメージ)をセットし、セットした出力イメージの出力ビットを更新するリプレイ表示器制御処理を実行する。
(Step S2900-1)
The main CPU 500a acquires a replay flag and turns on or off a bit corresponding to a replay indicator (not shown) indicating that the next game is a replay, based on the acquired replay flag. For this purpose, the stop indicator output bit off (output image) is set, and replay indicator control processing is executed to update the output bit of the set output image.

(ステップS2900-3)
メインCPU500aは、ボーナス役が入賞した場合に、ボーナス遊技状態を制御するための各種パラメータを設定する役物作動図柄表示処理を実行する。
(Step S2900-3)
When a bonus combination is won, the main CPU 500a executes a role product actuation symbol display process for setting various parameters for controlling the bonus game state.

(ステップS2900-5)
メインCPU500aは、ボーナス遊技状態において、ボーナス作動中獲得枚数が所定枚数に到達した場合に、遊技状態を非内部遊技状態に移行させるボーナス作動終了処理を実行する。
(Step S2900-5)
The main CPU 500a executes a bonus operation end process for shifting the game state to a non-internal game state when the number of coins obtained during bonus operation reaches a predetermined number in the bonus game state.

(ステップS2900-7)
メインCPU500aは、有利区間を管理する有利区間更新処理を実行する。
(Step S2900-7)
The main CPU 500a executes advantageous section update processing for managing advantageous sections.

(ステップS2900-9)
メインCPU500aは、次遊技がAT演出状態でないかを判定する。その結果、次遊技がAT演出状態でないと判定した場合にはステップS2900-15に処理を移し、次遊技がAT演出状態であると判定した場合にはステップS2900-11に処理を移す。
(Step S2900-9)
The main CPU 500a determines whether or not the next game is in the AT effect state. As a result, when it is determined that the next game is not in the AT effect state, the process is shifted to step S2900-15, and when it is determined that the next game is in the AT effect state, the process is shifted to step S2900-11.

(ステップS2900-11)
メインCPU500aは、ボーナス遊技状態でないかを判定する。その結果、ボーナス遊技状態でないと判定した場合にはステップS2900-15に処理を移し、ボーナス遊技状態であると判定した場合にはステップS2900-13に処理を移す。
(Step S2900-11)
The main CPU 500a determines whether it is in the bonus game state. As a result, when it is determined that it is not in the bonus game state, the process moves to step S2900-15, and when it is determined that it is in the bonus game state, the process moves to step S2900-13.

(ステップS2900-13)
メインCPU500aは、区間表示器460を点灯させるための有利ランプフラグをオンにセットする。
(Step S2900-13)
The main CPU 500a sets on an advantageous lamp flag for lighting the section indicator 460. FIG.

(ステップS2900-15)
メインCPU500aは、有利区間に関するコマンドである演出コマンドを送信バッファにセットする演出コマンド設定処理を実行する。
(Step S2900-15)
The main CPU 500a executes an effect command setting process for setting an effect command, which is a command relating to the advantageous section, in the transmission buffer.

(ステップS2900-17)
メインCPU500aは、1遊技が終了したことを示す遊技終了コマンドを送信バッファにセットする。
(Step S2900-17)
The main CPU 500a sets a game end command indicating that one game has ended in the transmission buffer.

(ステップS2900-19)
メインCPU500aは、外部信号を出力するための端子板信号出力処理を実行する。
(Step S2900-19)
The main CPU 500a executes terminal board signal output processing for outputting an external signal.

(ステップS2900-21)
メインCPU500aは、上記ステップS2900-7において有利区間を終了させるときに設定される演出用ウェイトタイマが0でないかを判定する。その結果、演出用ウェイトタイマが0でないと判定した場合にはステップS2900-21に処理を移し、演出用ウェイトタイマが0であると判定した場合にはステップS2900-23に処理を移す。
(Step S2900-21)
The main CPU 500a determines whether or not the effect wait timer that is set when ending the advantageous section in step S2900-7 is not 0. As a result, when it is determined that the effect wait timer is not 0, the process moves to step S2900-21, and when it is determined that the effect wait timer is 0, the process moves to step S2900-23.

(ステップS2900-23)
メインCPU500aは、遊技状態を示す遊技状態コマンドを送信バッファにセットする。
(Step S2900-23)
The main CPU 500a sets a game state command indicating a game state in the transmission buffer.

(ステップS2900-25)
メインCPU500aは、次遊技の開始を示す遊技開始コマンドを送信バッファにセットし、ステップS2100に処理を移す。
(Step S2900-25)
The main CPU 500a sets a game start command indicating the start of the next game in the transmission buffer, and shifts the process to step S2100.

ステップS2100からステップS2900までの一連の処理を通じて1遊技が実行される。以後は、ステップS2100からステップS2900までを繰り返すこととなる。 One game is executed through a series of processes from step S2100 to step S2900. Thereafter, steps S2100 to S2900 are repeated.

次に、主制御基板500における電源断時退避処理およびタイマ割込み処理について説明する。 Next, save processing and timer interrupt processing in the main control board 500 will be described.

(主制御基板500の電源断時退避処理)
図97は、主制御基板500における電源断時退避処理を説明するフローチャートである。メインCPU500aは、電源断検知回路を監視しており、電源電圧が所定値以下になると、割り込んで電源断時退避処理を実行する。
(Evacuation processing when main control board 500 is powered off)
FIG. 97 is a flow chart for explaining the saving process at power-off in the main control board 500. FIG. The main CPU 500a monitors the power-off detection circuit, and when the power supply voltage drops below a predetermined value, it interrupts and executes the power-off saving process.

(ステップS3000-1)
電源断予告信号が入力されると、メインCPU500aは、レジスタを退避する。
(Step S3000-1)
When the power-off warning signal is input, the main CPU 500a saves the register.

(ステップS3000-3)
メインCPU500aは、電源断予告信号をチェックする。
(Step S3000-3)
The main CPU 500a checks the power-off warning signal.

(ステップS3000-5)
メインCPU500aは、電源断予告信号を検出しているかを判定する。その結果、電源断予告信号を検出していると判定した場合にはステップS3000-11に処理を移し、電源断予告信号を検出していないと判定した場合にはステップS3000-7に処理を移す。
(Step S3000-5)
The main CPU 500a determines whether a power-off warning signal is detected. As a result, if it is determined that the power cut warning signal has been detected, the process moves to step S3000-11, and if it is determined that the power cut warning signal has not been detected, the process moves to step S3000-7. .

(ステップS3000-7)
メインCPU500aは、レジスタを復帰させる。
(Step S3000-7)
The main CPU 500a restores the register.

(ステップS3000-9)
メインCPU500aは、割込みを許可するための処理を行い、当該電源断時退避処理を終了する。
(Step S3000-9)
The main CPU 500a performs a process for permitting an interrupt, and terminates the power-off saving process.

(ステップS3000-11)
メインCPU500aは、出力ポートの出力を停止する出力ポートクリア処理を実行する。
(Step S3000-11)
The main CPU 500a executes output port clear processing to stop output from the output port.

(ステップS3000-13)
メインCPU500aは、別領域についての電源断時の退避処理を実行する。
(Step S3000-13)
The main CPU 500a executes save processing for the separate area when the power is turned off.

(ステップS3000-15)
メインCPU500aは、メインRAM300cへのアクセスを禁止するために必要なRAMプロテクト設定処理を実行する。
(Step S3000-15)
The main CPU 500a executes RAM protection setting processing necessary to prohibit access to the main RAM 300c.

(ステップS3000-17)
メインCPU500aは、電源断発生監視時間を設定すべく、ループカウンタのカウンタ値に所定の電源断検出信号検出回数をセットする。
(Step S3000-17)
The main CPU 500a sets the counter value of the loop counter to the predetermined number of power failure detection signal detections in order to set the power failure occurrence monitoring time.

(ステップS3000-19)
メインCPU500aは、上記ステップS3000-17でセットしたループカウンタの値を1減算する。
(Step S3000-19)
The main CPU 500a subtracts 1 from the value of the loop counter set in step S3000-17.

(ステップS3000-21)
メインCPU500aは、ループカウンタのカウンタ値が0でないかを判定する。その結果、カウンタ値が0ではないと判定した場合にはステップS3000-19に処理を移し、カウンタ値が0であると判定した場合には上記したCPU初期化処理(ステップS1000)に移行する。
(Step S3000-21)
The main CPU 500a determines whether or not the counter value of the loop counter is zero. As a result, if it is determined that the counter value is not 0, the process proceeds to step S3000-19, and if it is determined that the counter value is 0, the above-described CPU initialization process (step S1000) is performed.

なお、実際に電源断が生じた場合には、ステップS3000-19~ステップS3000-21をループしている間にスロットマシン400の稼働が停止する。 It should be noted that if the power is actually turned off, the operation of the slot machine 400 is stopped during the loop of steps S3000-19 to S3000-21.

(主制御基板500のタイマ割込み処理)
図98は、主制御基板500におけるタイマ割込み処理を説明するフローチャートである。主制御基板500には、所定の周期(同時回し参考例では1.49ミリ秒、以下「1.49ms」という)毎にクロックパルスを発生させるリセット用クロックパルス発生回路が設けられている。そして、リセット用クロックパルス発生回路によって、クロックパルスが発生すると、割り込んで、以下のタイマ割込み処理が実行される。
(Timer interrupt processing of main control board 500)
FIG. 98 is a flowchart for explaining timer interrupt processing in the main control board 500. FIG. The main control board 500 is provided with a reset clock pulse generating circuit that generates a clock pulse every predetermined period (1.49 milliseconds in the simultaneous rotation reference example, hereinafter referred to as "1.49 ms"). Then, when a clock pulse is generated by the reset clock pulse generation circuit, it interrupts and the following timer interrupt processing is executed.

(ステップS3100-1)
メインCPU500aは、レジスタを退避する。
(Step S3100-1)
The main CPU 500a saves the register.

(ステップS3100-3)
メインCPU500aは、割込みフラグをクリアする。
(Step S3100-3)
The main CPU 500a clears the interrupt flag.

(ステップS3100-5)
メインCPU500aは、各種の入力ポートイメージを読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
(Step S3100-5)
The main CPU 500a reads various input port images and executes port input processing for accurately acquiring the latest switch states.

(ステップS3100-7)
メインCPU500aは、セットされた出力イメージを出力ポートに出力し、メインクレジット表示部430、メイン払出表示部432、投入枚数表示器、スタート表示器、ストップスイッチ420a、420b、420cの表示器、リプレイ表示器、区間表示器460を点灯制御するダイナミックポート出力処理を実行する。
(Step S3100-7)
The main CPU 500a outputs the set output image to the output port, the main credit display section 430, the main payout display section 432, the input number display, the start display, the display of the stop switches 420a, 420b, and 420c, and the replay display. dynamic port output processing for controlling the lighting of the section indicator 460.

(ステップS3100-9)
メインCPU500aは、タイマ割込み用フェーズを更新する。なお、タイマ割込み用フェーズは、0~3のいずれかであり、ここでは、タイマ割込み用フェーズが0、1、2の場合には1加算され、タイマ割込み用フェーズが3の場合には0に変更される。
(Step S3100-9)
The main CPU 500a updates the timer interrupt phase. The timer interrupt phase is one of 0 to 3. Here, when the timer interrupt phase is 0, 1, or 2, 1 is added, and when the timer interrupt phase is 3, it is set to 0. Be changed.

(ステップS3100-11)
メインCPU500aは、送信バッファに格納されたコマンドを副制御基板502に送信するためのサブコマンド送信処理を行う。
(Step S3100-11)
The main CPU 500 a performs sub-command transmission processing for transmitting the command stored in the transmission buffer to the sub-control board 502 .

(ステップS3100-13)
メインCPU500aは、ステッピングモータ452を制御するステッピングモータ制御処理を実行する。
(Step S3100-13)
The main CPU 500 a executes stepping motor control processing for controlling the stepping motor 452 .

(ステップS3100-15)
メインCPU500aは、メダル払出装置442へ出力する出力イメージを出力する出力ポートイメージ出力処理を実行する。
(Step S3100-15)
The main CPU 500 a executes output port image output processing for outputting an output image to be output to the medal payout device 442 .

(ステップS3100-17)
メインCPU500aは、各種乱数を更新する乱数更新処理を実行する。
(Step S3100-17)
The main CPU 500a executes random number update processing for updating various random numbers.

(ステップS3100-19)
メインCPU500aは、エラーに対応する外部信号(外部信号4、5)を外部に出力するためにエラーを検出する不正監視処理を実行する。
(Step S3100-19)
The main CPU 500a executes fraud monitoring processing for detecting errors in order to output external signals (external signals 4 and 5) corresponding to errors to the outside.

(ステップS3100-21)
メインCPU500aは、上記ステップS3100-9で更新したタイマ割込み処理用フェーズに対応するモジュール(サブルーチン)を実行する。ここで、タイマ割込み処理用フェーズは0~3のいずれかに設定されており、タイマ割込み処理用フェーズ0~3それぞれに対応するモジュールが1つずつ設けられているため(合計4つ)、1つのモジュールは、タイマ割込み処理の4回に1回(5.96ms毎に)実行されることになる。例えば、各種タイマを減算する時間監視処理を実行するモジュールが1つのタイマ割込み処理用フェーズに対応付けられている。
(Step S3100-21)
The main CPU 500a executes a module (subroutine) corresponding to the timer interrupt processing phase updated in step S3100-9. Here, the timer interrupt processing phase is set to one of 0 to 3, and one module corresponding to each of the timer interrupt processing phases 0 to 3 is provided (four in total). One module will be executed once every four timer interrupt processing (every 5.96ms). For example, a module that executes time monitoring processing for subtracting various timers is associated with one timer interrupt processing phase.

(ステップS3100-23)
メインCPU500aは、試験信号を外部に出力する試験信号出力処理を実行する。
(Step S3100-23)
The main CPU 500a executes test signal output processing for outputting the test signal to the outside.

(ステップS3100-25)
メインCPU500aは、各種の入力ポートイメージを読み込み、最新のスイッチ状態を正確に取得するためのポート入力処理を実行する。
(Step S3100-25)
The main CPU 500a reads various input port images and executes port input processing for accurately acquiring the latest switch states.

(ステップS3100-27)
メインCPU500aは、レジスタを復帰する。
(Step S3100-27)
The main CPU 500a restores the register.

(ステップS3100-29)
メインCPU300aは、割込みを許可し、当該タイマ割込み処理を終了する。
(Step S3100-29)
The main CPU 300a permits the interrupt and terminates the timer interrupt process.

また、上述した実施形態では、主制御基板500と副制御基板502とが、遊技を進行するための機能部を分担するように配したが、主制御基板500の機能部を副制御基板502に配しても、副制御基板502の機能部を主制御基板500に配してもよく、また、全ての機能部を1の制御基板に纏めて配することもできる。 Further, in the above-described embodiment, the main control board 500 and the sub control board 502 are arranged so as to share the functional part for progressing the game. Alternatively, the functional units of the sub control substrate 502 may be arranged on the main control substrate 500, or all the functional units may be collectively arranged on one control substrate.

また、上述した実施形態では、AT演出状態が1種類のみ設けられるようにしたが、例えば、AT演出状態の継続遊技数の上乗せ特化ゾーンなど、複数種類のAT演出状態が設けられるようにしてもよい。 In addition, in the above-described embodiment, only one type of AT effect state is provided. good too.

また、上記した実施形態では、遊技価値としてのメダルを用いて遊技を行うようにしたが、遊技価値は電気的な情報であってもよい(所謂メダルレスであってもよい)。この場合、当選役が入賞したときに、当選役に対応する価値量を遊技者に電気的な情報で付与すればよい。 Further, in the above-described embodiment, the game is played using medals as game value, but the game value may be electrical information (so-called medalless). In this case, when the winning combination wins, the amount of value corresponding to the winning combination may be given to the player as electrical information.

また、上述した主制御基板500および副制御基板502が行う各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。 Further, each process performed by the main control board 500 and the sub control board 502 described above does not necessarily have to be processed in time series according to the order described as the flowchart, and may include parallel or subroutine processing.

また、上述した主制御基板500および副制御基板502が行う各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。 Further, each process performed by the main control board 500 and the sub control board 502 described above does not necessarily have to be processed in time series according to the order described as the flowchart, and may include parallel or subroutine processing.

<主制御基板のCPU周辺の構成>
図99は、メインCPU300a周辺の電気的な接続を説明するための図である。メインCPU300aは、CPUコア700とバスコントローラ702とを含む。CPUコア700は、BC端子から出力されるバス制御信号(Bus Cont)を通じてバスコントローラ702を制御し、メインROM300b、メインRAM300c、もしくは、入出力部704からデータを読み出し、または、メインRAM300cや入出力部704にデータを書き込む。なお、ここでは、メインCPU300aとして、Z80系CPUをベースとするエルイーテック(LETech)社が販売するマイクロプロセッサを用いている。なお、ここでは、パチンコ機のメインCPU300a、メイン、ROM300b、メインRAM300cを挙げて説明するが、スロットマシン400のメインCPU500a、メイン、ROM500b、メインRAM500cに置き替え可能なのは言うまでもない。
<Configuration around the CPU of the main control board>
FIG. 99 is a diagram for explaining electrical connections around the main CPU 300a. The main CPU 300 a includes a CPU core 700 and a bus controller 702 . The CPU core 700 controls the bus controller 702 through a bus control signal (Bus Cont) output from the BC terminal, reads data from the main ROM 300b, the main RAM 300c, or the input/output unit 704, or reads data from the main RAM 300c or the input/output unit 704. Data is written to the portion 704 . Here, as the main CPU 300a, a microprocessor based on the Z80 series CPU sold by LETech is used. Although the main CPU 300a, main ROM 300b, and main RAM 300c of the pachinko machine will be described here, it goes without saying that they can be replaced with the main CPU 500a, main ROM 500b, and main RAM 500c of the slot machine 400.

例えば、メインROM300b、メインRAM300c、または、入出力部704からデータを読み出す場合、バスコントローラ702は、16ビットのアドレス(A[16])信号を出力し、デコーダ706a、706b、706cを通じてメインROM300b、メインRAM300c、または、入出力部704のいずれかを特定するとともに、リード(RD)信号を制御して、メインROM300b、メインRAM300c、または、入出力部704からデータ(D[8])信号を読み出す。また、メインRAM300c、または、入出力部704にデータを書き込む場合、バスコントローラ702は、アドレス(A[16])信号およびデータ(D[8])信号を出力し、デコーダ706b、706cを通じてメインRAM300c、または、入出力部704のいずれかを特定するとともに、ライト(WR)信号を制御して、メインRAM300c、または、入出力部704にデータ(D[8])信号を書き込む。 For example, when reading data from the main ROM 300b, the main RAM 300c, or the input/output unit 704, the bus controller 702 outputs a 16-bit address (A[16]) signal and outputs the main ROM 300b, Either the main RAM 300c or the input/output unit 704 is specified, and the read (RD) signal is controlled to read the data (D[8]) signal from the main ROM 300b, the main RAM 300c, or the input/output unit 704. . When data is written to the main RAM 300c or the input/output unit 704, the bus controller 702 outputs an address (A[16]) signal and a data (D[8]) signal to the main RAM 300c through decoders 706b and 706c. , or specifies one of the input/output units 704 and controls the write (WR) signal to write the data (D[8]) signal to the main RAM 300 c or the input/output unit 704 .

ここでは、後述するように、入出力部704のアドレス空間を、メインROM300bおよびメインRAM300cのアドレス空間と一体化している。したがって、従来、メモリとI/Oのいずれにアクセスするかを特定するための信号を出力するメモリリクエスト(MREQ)端子およびI/Oリクエスト(IORQ)端子を設けていない。かかる2端子を任意の他の信号に割り当て直すことで、プログラム開発の自由度を高めることができる。 Here, as will be described later, the address space of the input/output unit 704 is integrated with the address spaces of the main ROM 300b and the main RAM 300c. Therefore, conventionally, a memory request (MREQ) terminal and an I/O request (IORQ) terminal for outputting a signal for specifying whether to access memory or I/O are not provided. By reassigning these two terminals to arbitrary other signals, the degree of freedom in program development can be increased.

また、CPUコア700には、割込処理の開始トリガとなる割り込み/待ち(INT/WAIT)信号、最優先で割込処理を実行できるマスク不可割込(NMI)信号、バス信号をハイインピーダンスに遷移可能なバスリクエスト(BUSREQ)信号等の外部信号も入力される。 The CPU core 700 also includes an interrupt/wait (INT/WAIT) signal that triggers the start of interrupt processing, a non-maskable interrupt (NMI) signal that allows interrupt processing to be executed with the highest priority, and bus signals that are set to high impedance. An external signal such as a transitionable bus request (BUSREQ) signal is also input.

図100は、CPUコア700の内部構成を示したブロック図である。CPUコア700は、外部入力ユニット710、状態制御ユニット712、中央制御ユニット714、レジスタユニット716、算術論理演算装置(ALU)718を含む。外部入力ユニット710は、外部信号を受信し、その外部信号に基づいた制御情報を状態制御ユニット712および中央制御ユニット714に出力する。 FIG. 100 is a block diagram showing the internal configuration of the CPU core 700. As shown in FIG. CPU core 700 includes external input unit 710 , state control unit 712 , central control unit 714 , register unit 716 and arithmetic logic unit (ALU) 718 . The external input unit 710 receives external signals and outputs control information based on the external signals to the state control unit 712 and the central control unit 714 .

状態制御ユニット712は、入力された制御情報に基づいて、内部状態(RESET、命令フェッチ、命令デコード、演算、メモリロード、メモリストア、HALT等)を管理および遷移させてCPUコア700の動作状態を決定するとともに、その動作状態に基づいた制御情報を中央制御ユニット714に出力する。 State control unit 712 manages and transitions internal states (RESET, instruction fetch, instruction decode, operation, memory load, memory store, HALT, etc.) based on input control information to change the operating state of CPU core 700. It determines and outputs control information to the central control unit 714 based on its operating state.

中央制御ユニット714は、バスコントローラ702を経由して入力された入力データ(DI[8])からオペコード(命令)を抽出し、命令デコーダによってデコードしたコマンドに基づいてALU718を制御する。また、中央制御ユニット714は、デコードしたコマンドによりレジスタユニット716の各レジスタから必要な情報を取得したり、各レジスタを更新したりする。 Central control unit 714 extracts an operation code (instruction) from input data (DI[8]) input via bus controller 702 and controls ALU 718 based on the command decoded by the instruction decoder. Also, the central control unit 714 acquires necessary information from each register of the register unit 716 and updates each register according to the decoded command.

レジスタユニット716は、セレクタポート722a、722b、722c、入力側バンクセレクタ724、第1レジスタバンク726、第2レジスタバンク728、出力側バンクセレクタ730、アドレスポート732、個別レジスタ734を含む。なお、個別レジスタ734には、次に実行すべきプログラムのアドレスを示す16ビットのプログラムカウンタ(PC)、割込モード時に使用される8ビットのインタラプト(I)レジスタ、オペコードフェッチサイクルを計数する8ビットのリフレッシュ(R)レジスタ、割込の許可/禁止を制御する8ビットの割込許可(IFF)レジスタが含まれる。 Register unit 716 includes selector ports 722 a , 722 b , 722 c , input bank selector 724 , first register bank 726 , second register bank 728 , output bank selector 730 , address port 732 and individual registers 734 . The individual register 734 includes a 16-bit program counter (PC) that indicates the address of the next program to be executed, an 8-bit interrupt (I) register that is used in interrupt mode, and an 8-bit counter that counts opcode fetch cycles. It includes a bit refresh (R) register and an 8-bit interrupt enable (IFF) register that controls interrupt enable/disable.

また、レジスタユニット716には、大役抽選に係る種々の乱数値(大当たり決定乱数、当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数、当たり決定乱数)を取得するための乱数発生器(図示せず)が対応付けられ、入力ポート(FE73h~FE9Ch)を介してラッチされた乱数値が取得される。 In addition, the register unit 716 has a random number generator for obtaining various random numbers (jackpot determination random number, winning pattern random number, reach group determination random number, reach mode determination random number, variation pattern random number, winning determination random number) related to the big win lottery. A device (not shown) is associated with the input port (FE73h-FE9Ch) to obtain the latched random value.

乱数発生器は、システムクロック(外部入力を2分周したクロック)で動作し、所定の最大値未満の乱数を発生する。なお、乱数発生器は、乱数の最大値を設定可能な乱数発生器である最大値設定乱数発生器として、16ビットの最大値を設定可能な乱数発生器が4チャンネル、8ビットの最大値を設定可能な乱数発生器が8チャンネル準備されている。ここで、16ビットの最大値設定乱数発生器は、乱数更新周期が32~47クロックの範囲で選択でき、最大値の設定範囲が256~65535の範囲で設定できる。また、8ビットの最大値設定乱数発生器は、乱数更新周期が16~31クロックの範囲で選択でき、最大値の設定範囲が4チャンネルで16~255の範囲で設定でき、他の4チャンネルで64~255の範囲で設定できる。また、乱数の最大値が固定された乱数発生器である最大値固定乱数発生器として、16ビットの最大値を設定可能な乱数発生器が4チャンネル、8ビットの最大値を設定可能な乱数発生器が8チャンネル準備されている。ここで、16ビットの最大値固定乱数発生器は、乱数更新周期が1クロックに、最大値が65535に固定されている。また、8ビットの最大値固定乱数発生器は、乱数更新周期が1クロックに、最大値が255に固定されている。 The random number generator operates with a system clock (a clock obtained by dividing an external input by two) and generates random numbers less than a predetermined maximum value. The random number generator is a random number generator capable of setting the maximum value of random numbers. A configurable random number generator is provided with eight channels. Here, the 16-bit maximum value setting random number generator can select the random number update period within the range of 32 to 47 clocks, and the maximum value setting range can be set within the range of 256 to 65,535. In addition, the 8-bit maximum value setting random number generator can select the random number update period in the range of 16 to 31 clocks, and the maximum value setting range can be set in the range of 16 to 255 for 4 channels. It can be set in the range of 64-255. In addition, as a random number generator with a fixed maximum value of random numbers, a random number generator capable of setting a maximum value of 16 bits has four channels and a random number generator capable of setting a maximum value of 8 bits. The instrument is prepared for 8 channels. Here, the 16-bit fixed maximum value random number generator has a fixed random number update cycle of 1 clock and a maximum value of 65,535. The 8-bit fixed maximum value random number generator has a fixed random number update cycle of 1 clock and a maximum value of 255.

なお、乱数の種類が足りない場合、ハードウェア乱数生成部(乱数発生器)から取得した乱数値に、プログラム内において所定の数値を乗じ、また、除算することで他の乱数を生成する(ソフトウェア乱数生成部)ことも可能である。 If the number of types of random numbers is insufficient, the random number obtained from the hardware random number generator (random number generator) is multiplied by a predetermined number in the program, or divided to generate another random number (software random number generator).

図101は、レジスタの構成を説明した図である。レジスタユニット716には、第1レジスタバンク(バンク0)726と、第1レジスタバンク726と対(ペア)となる第2レジスタバンク(バンク1)728が設けられている。また、第1レジスタバンク726には、メインレジスタ群(表レジスタ群)726aと、メインレジスタ群726aと対となるサブレジスタ群(裏レジスタ群)726bが設けられ、第2レジスタバンク728には、メインレジスタ群728aと、メインレジスタ群728aと対となるサブレジスタ群728bが設けられている。第1レジスタバンク726のメインレジスタ群726aおよびサブレジスタ群726b、ならびに、第2レジスタバンク728のメインレジスタ群728aおよびサブレジスタ群728bには、いずれも、8ビットのレジスタ(Q、A、F、B、C、D、E、H、L)と、16ビットのレジスタ(IX、IY)が含まれる。ただし、メインレジスタ群726a、728aには、サブレジスタ群726b、728bと異なり、さらに、8ビットのレジスタ(U)と16ビットのレジスタ(SP)が含まれている。メインCPU300a、500aは、第1レジスタバンク726と第2レジスタバンク728とを切り換えて利用し、後述するFレジスタにおけるレジスタバンク指定レジスタRBの示す一方のレジスタバンクのみにアクセスでき、そのレジスタバンクと対になる他方のレジスタバンクには同時にアクセスすることができない。 FIG. 101 is a diagram explaining the structure of a register. The register unit 716 is provided with a first register bank (bank 0) 726 and a second register bank (bank 1) 728 paired with the first register bank 726 . The first register bank 726 is provided with a main register group (front register group) 726a and a sub-register group (back register group) 726b paired with the main register group 726a. A main register group 728a and a sub-register group 728b paired with the main register group 728a are provided. The main register group 726a and sub-register group 726b of the first register bank 726 and the main register group 728a and sub-register group 728b of the second register bank 728 are both 8-bit registers (Q, A, F, B, C, D, E, H, L) and 16-bit registers (IX, IY). However, unlike the sub-register groups 726b and 728b, the main register groups 726a and 728a further include an 8-bit register (U) and a 16-bit register (SP). The main CPUs 300a and 500a switch between the first register bank 726 and the second register bank 728 and can access only one of the register banks indicated by the register bank designation register RB in the F register, which will be described later. cannot be accessed at the same time.

図101に示すレジスタのうち、Qレジスタは、拡張レジスタとして、各レジスタバンクに2セット設けられ、一部のコマンドにおいて用いられるアドレスの上位バイトを格納する8ビットのレジスタである。かかるQレジスタの値として、例えば、F0hが設定されている場合、メインCPU300a、500aは、メインRAM300cのF000h~F0FFhへのアクセスにQレジスタを利用することができる。Uレジスタは、拡張レジスタとして、各レジスタバンクに1セット設けられ、一部のコマンドにおいて用いられるアドレスの上位バイトを格納する8ビットのレジスタである。かかるUレジスタの値として、例えば、FEhが設定されている場合、メインCPU300a、500aは、FE00h~FFFFhの入出力部704に接続された内蔵デバイス(タイマ、乱数発生器、外部入出力回路等)へのアクセスにUレジスタを利用することができる。Aレジスタは、演算処理やデータ転送に使う8ビットのアキュムレータとしても機能する汎用レジスタである。Fレジスタは、各種演算結果を保持する8ビットのフラグレジスタである。ここで、Fレジスタの各ビットは、図101に示すように、最上位ビット(MSB:Most Significant Bit)から最下位ビット(LSB:Least Significant Bit)にかけて、Sは、演算結果が負のとき1にセットされるサインフラグであり、Zは、演算の結果、全ビットが0のとき1にセットされるゼロフラグ(第1ゼロフラグ)であり、TZは、データ転送命令(LD;ロード)の実行により、全ビットが0のとき1にセットされる(値の変わる)遊技機用拡張仕様の特定ビットフラグ(第2ゼロフラグ)であり、ティーゼットフラグと呼ぶ場合もある。Hは、プログラマーが関与できないハーフキャリーフラグであり、RB(レジスタバンク指定レジスタ)は、現在のレジスタバンク(第1レジスタバンク726=0、第2レジスタバンク728=1)を示すレジスタバンクモニタであり、P/Vは、パリティオーバーフローフラグであり、Nは、プログラマーが関与できない加減算フラグであり、Cは、演算の結果、桁上げまたはボロー発生時に1がセットされるキャリーフラグである。なお、Fレジスタは、AレジスタとペアレジスタAFを構成する。 Among the registers shown in FIG. 101, Q registers are 8-bit registers that are provided in two sets in each register bank as extended registers and store the high-order bytes of addresses used in some commands. If, for example, F0h is set as the value of the Q register, the main CPU 300a, 500a can use the Q register to access F000h to F0FFh of the main RAM 300c. The U register is an 8-bit register that is provided in each register bank as an extension register and stores the upper byte of the address used in some commands. For example, when FEh is set as the value of the U register, the main CPUs 300a and 500a include built-in devices (timers, random number generators, external input/output circuits, etc.) connected to the input/output units 704 of FE00h to FFFFh. A U register can be used to access the . The A register is a general-purpose register that also functions as an 8-bit accumulator used for arithmetic processing and data transfer. The F register is an 8-bit flag register that holds various calculation results. Here, as shown in FIG. 101, each bit of the F register, from the most significant bit (MSB: Most Significant Bit) to the least significant bit (LSB: Least Significant Bit), S is 1 when the operation result is negative. , Z is a zero flag (first zero flag) that is set to 1 when all bits are 0 as a result of the operation, and TZ is a data transfer instruction (LD; load) executed by , is a specific bit flag (second zero flag) of extended specifications for gaming machines, which is set to 1 (value changes) when all bits are 0, and is sometimes called a teeze flag. H is a half-carry flag that cannot be touched by the programmer, and RB (register bank designation register) is a register bank monitor that indicates the current register bank (first register bank 726=0, second register bank 728=1). , P/V is a parity overflow flag, N is an addition/subtraction flag that cannot be touched by the programmer, and C is a carry flag that is set to 1 when a carry or borrow occurs as a result of an operation. The F register constitutes the A register and the pair register AF.

また、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタは、各レジスタバンクに2セット設けられた8ビットの汎用レジスタであり、それぞれ予め組合せが定められている16ビットのペアレジスタ(例えば、レジスタBC、DE、HL、その他複数の組み合わせが存在する)を構成して利用される。IXレジスタ、IYレジスタは、インデックスアドレッシングに用いられる16ビットの汎用レジスタである。SP(スタックポインタ)レジスタは、16ビットであり、スタックポインタとなるアドレスを格納する。Q’レジスタ、A’レジスタ、F’レジスタ、B’レジスタ、C’レジスタ、D’レジスタ、E’レジスタ、H’レジスタ、L’レジスタ、IX’レジスタ、IY’レジスタは、Qレジスタ、Aレジスタ、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタ、IXレジスタ、IYレジスタのメインレジスタ群726a、728aとの交換命令または転送命令によりデータ(内容)交換またはデータ転送可能なサブレジスタ群726b、728bであり、A’レジスタとF’レジスタでペアレジスタAF’を構成し、B’レジスタとC’レジスタでペアレジスタBC’を構成し、D’レジスタとE’レジスタでペアレジスタDE’を構成し、H’レジスタとL’レジスタでペアレジスタHL’を構成して利用される。なお、ペアレジスタはBC’、DE’、HL’に限らず、その他複数の組み合わせが存在する。一方、Uレジスタ、SPレジスタについては、各レジスタバンクに1セット設けられている。 The B register, C register, D register, E register, H register, and L register are two sets of 8-bit general-purpose registers provided in each register bank, each of which is a predetermined combination of 16-bit pairs. Registers (eg, registers BC, DE, HL, and multiple combinations exist) are configured and utilized. The IX and IY registers are 16-bit general-purpose registers used for index addressing. The SP (stack pointer) register is 16 bits and stores an address that serves as a stack pointer. Q' register, A' register, F' register, B' register, C' register, D' register, E' register, H' register, L' register, IX' register, IY' register are Q register, A register , F register, B register, C register, D register, E register, H register, L register, IX register, and IY register. Possible sub-register groups 726b, 728b, where the A' and F' registers form a pair register AF', the B' and C' registers form a pair register BC', and the D' and E' registers. constitute a pair register DE', and the H' register and L' register constitute a pair register HL'. Note that the pair registers are not limited to BC', DE', and HL', and there are other combinations. On the other hand, one set of U register and SP register is provided for each register bank.

ところで、上述したように、主制御基板300、500においては、メインCPU300aが、メインROM300bに格納されたプログラムに基づきメインRAM300cと協働して遊技の進行を制御する。これらの機能部を実行するためのプログラムは、メインROM300bおよびメインRAM300cの所定の領域(使用領域)に配される。 By the way, as described above, in the main control boards 300 and 500, the main CPU 300a controls the progress of the game in cooperation with the main RAM 300c based on the programs stored in the main ROM 300b. Programs for executing these functional units are arranged in predetermined areas (used areas) of the main ROM 300b and the main RAM 300c.

図102は、メモリマップを示す説明図である。なお、パチンコ機におけるメモリマップについては、図5を用いて既に説明されているので、ここでは、スロットマシン400のメモリマップを挙げて説明する。メインROM500bには、0000h~3FFFh(12kbyte)のメモリ空間が割り当てられ、メインRAM500cには、F000h~F3FFh(1kbyte)のメモリ空間が割り当てられ、入出力部704には、FE00h~FFFFh(512byte)のメモリ空間が割り当てられている。なお、プログラムの命令コードはアセンブラ言語で記述されている。ここで、プログラムは、命令コードで構成されたものであり、コンピュータに読み出され、データやワークエリアと協働して所定の処理を実現することができる。 FIG. 102 is an explanatory diagram showing a memory map. Since the memory map of the pachinko machine has already been described with reference to FIG. 5, the memory map of the slot machine 400 will be described here. The main ROM 500b is allocated a memory space of 0000h to 3FFFh (12 kbytes), the main RAM 500c is allocated a memory space of F000h to F3FFh (1 kbyte), and the input/output unit 704 is allocated FE00h to FFFFh (512 bytes). Allocated memory space. The instruction code of the program is written in assembler language. Here, the program is composed of instruction codes, is read by a computer, and can realize predetermined processing in cooperation with data and a work area.

メインROM500bの0000h~1DF3hのメモリ空間には使用領域が割り当てられている。使用領域は、遊技の進行を制御する遊技制御処理を実行するためのプログラムやデータを格納する領域である。具体的に、0000h~11FFh(4.5kbyte)に制限されたメモリ空間(制御領域)に、初期化手段600、ベット手段602、当選種別抽選手段604、リール制御手段606、判定手段608、払出制御手段610、遊技状態制御手段612、演出状態制御手段614、コマンド送信手段616を機能させて遊技の進行を制御する遊技制御処理を実行するためのプログラムの命令コードが格納され、1200h~1DF3h(3.0kbyte)に制限されたメモリ空間(データ領域)に、遊技制御処理のプログラムに用いられるデータが格納されている。また、1E00h~1FFFhのメモリ空間にはコメント領域が割り当てられ、3FC0h~3FFFhのメモリ空間にはプログラム管理領域が割り当てられている。また、2000h~3FBFhのメモリ空間には別領域(使用外領域)が割り当てられている。別領域は、後述するように、使用領域に格納することが定められていないプログラムやデータを格納する領域である。具体的に、2000h~3FBFhのメモリ空間には、遊技の進行に影響を及ぼさない、遊技機用試験処理やセキュリティ関連処理のうち一部または全部の処理(以降では、単に遊技制御外処理という場合がある)を遂行するプログラムの命令コードおよびプログラムデータが格納されている。ここで、遊技機用試験処理は、回胴式遊技機用試験機の接続仕様書(第四版)に記載されているスロットマシン400の試験処理である。セキュリティ関連処理は、第三者の不正防止や不具合発見を目的とした異常状態を特定する処理であり、例えば、上述したバックアップフラグの判定やチェックサムの実行も含まれる。なお、別領域に記憶容量の制限はなく、図102の例では、使用領域、コメント領域、および、プログラム管理領域以外の記憶領域に、自由に割り当てることができる。 A memory space from 0000h to 1DF3h of the main ROM 500b is assigned a usable area. The use area is an area for storing programs and data for executing game control processing for controlling the progress of the game. Specifically, initialization means 600, betting means 602, winning type lottery means 604, reel control means 606, determination means 608, payout control The instruction code of the program for executing the game control process for controlling the progress of the game by making the means 610, the game state control means 612, the effect state control means 614, and the command transmission means 616 function is stored, and 1200h to 1DF3h (3 0 kbytes), data used for the game control processing program is stored in the memory space (data area). A comment area is allocated to the memory space of 1E00h to 1FFFh, and a program management area is allocated to the memory space of 3FC0h to 3FFFh. Another area (unused area) is allocated to the memory space from 2000h to 3FBFh. The separate area is an area for storing programs and data that are not specified to be stored in the use area, as will be described later. Specifically, in the memory space from 2000h to 3FBFh, some or all of the game machine test processing and security-related processing that do not affect the progress of the game (hereinafter simply referred to as non-game control processing) is stored) and the instruction code and program data of the program that executes the Here, the gaming machine test processing is the testing processing of the slot machine 400 described in the connection specifications (4th edition) of the reel-type gaming machine testing machine. The security-related processing is processing to identify an abnormal state for the purpose of preventing fraud by a third party and finding defects, and includes, for example, determination of the above-described backup flag and execution of checksum. Note that there is no limitation on the storage capacity of the separate area, and in the example of FIG. 102, it can be freely allocated to storage areas other than the use area, comment area, and program management area.

上記のように、メインCPU500aは、遊技制御処理のみならず、遊技機用試験処理、セキュリティ関連処理(遊技制御外処理)も遂行する場合がある。しかし、使用領域の記憶容量は予め定められており、例えば、図102に示したように、制御領域が4.5kbyteに制限され、データ領域が3.0kbyteに制限されている。したがって、遊技制御処理のみならず、遊技機用試験処理、セキュリティ関連処理のプログラムやデータまでも使用領域に配すると、その分、遊技制御処理を行うための記憶領域が制限されてしまう。ここで、遊技制御処理を実行するためのプログラム(使用プログラム)やデータは、必ず使用領域に格納しなければならないが、遊技制御処理以外の遊技の進行に影響を及ぼさない遊技制御外処理(遊技機用試験処理、セキュリティ関連処理等)を実行するためのプログラム(別プログラム)やデータは使用領域および別領域のいずれにも格納することができる。そこで、セキュリティ関連処理に該当する処理であるバックアップフラグの判定処理やチェックサムの実行処理を実行するためのプログラムやデータの少なくとも一部を、使用領域とは異なる(使用領域以外の)記憶領域のうちの一部である別領域に記述している。 As described above, the main CPU 500a may perform not only the game control process, but also the game machine test process and the security-related process (non-game control process). However, the storage capacity of the used area is predetermined. For example, as shown in FIG. 102, the control area is limited to 4.5 kbytes and the data area is limited to 3.0 kbytes. Therefore, if not only the game control process but also the game machine test process and the security-related process programs and data are allocated to the use area, the storage area for performing the game control process is limited accordingly. Here, the program (program used) and data for executing the game control process must be stored in the use area, but the process outside the game control (game control process) that does not affect the progress of the game other than the game control process A program (another program) and data for executing machine test processing, security-related processing, etc. can be stored in both the use area and the separate area. Therefore, at least part of the programs and data for executing backup flag judgment processing and checksum execution processing, which are processing corresponding to security-related processing, are stored in a storage area different from the used area (other than the used area). It is described in another area that is a part of it.

このように使用領域で遂行される処理(ここでは、遊技制御処理)と、必ずしも使用領域で行わなくてよい処理(ここでは、セキュリティ関連処理)とが混在している場合には、遊技制御処理を実行するためのプログラム(使用プログラム)やデータを使用領域に格納し、使用領域で行わなくてよい、遊技制御処理以外の遊技の進行に影響を及ぼさない遊技制御外処理(セキュリティ関連処理)を実行するためのプログラム(別プログラム)やデータを別領域に格納することが望ましい。このように記憶領域を複数に区分することで、別領域に移動させたプログラムの分だけ使用領域の記憶領域(容量)に余裕が生じる。したがって、その分、使用領域を遊技制御処理(使用プログラム)に割り当てることが可能となる。 If the processing (here, game control processing) performed in the use area and the processing (here, security-related processing) that does not necessarily have to be performed in the use area are mixed, the game control processing The program (used program) and data for executing the is stored in the used area, and the processing outside the game control (security related processing) that does not affect the progress of the game other than the game control processing that does not need to be performed in the used area It is desirable to store a program (another program) and data to be executed in a separate area. By partitioning the storage area into a plurality of areas in this way, there is a margin in the storage area (capacity) of the used area corresponding to the amount of the program moved to another area. Therefore, it is possible to allocate the use area to the game control process (use program) accordingly.

ただし、上記のように記憶領域を、使用領域、別領域とで役割分担した場合においても、遊技機の公正さは担保されなくてはならない。そこで、遊技機の公正さを担保しつつ、使用領域と別領域とで適切に役割分担するために、以下の(1)~(6)の条件を規定する。 However, the fairness of the gaming machine must be ensured even when the storage area is divided into the use area and the other area as described above. Therefore, the following conditions (1) to (6) are stipulated in order to properly divide roles between the usage area and the other area while ensuring the fairness of the gaming machine.

条件(1)、別領域に配置するプログラムについては、遊技機の試験に必要な信号の出力(遊技機用試験処理)および不正防止(セキュリティ関連処理)を目的として使用され、遊技の公正を害さない(損なわない)ものであること。条件(2)、使用領域と別領域の制御領域およびデータ領域については、それぞれを明示的に区別された領域に配置すること。条件(3)、別領域に配置するプログラム(別プログラム)は、使用領域のプログラム(使用プログラム)から静的に呼び出された上で実行されること。また、その際のプログラムリストにおいては、呼び出し先アドレスが明らかに記載されていること。条件(4)、別領域に配置するプログラムは機能ごとにモジュール化し、呼び出された際には、使用領域で利用している全レジスタの内容を保護すること。条件(5)、使用領域または別領域から互いの領域にあるRAMへのアクセスは参照のみ可能とし、更新は不可とすること。条件(6)、別領域の制御領域から使用領域の制御領域にあるサブルーチンを呼び出すことは不可とすること。なお、使用領域に割込処理を行うサブルーチンを設けることから、別領域の制御領域を使用する際には、割込禁止にする必要が生じる。なお、遊技制御処理を適切に遂行するために、割込禁止を行ってから割込禁止を解除するまでの時間は、遊技制御処理における割込処理の間隔(例えば1.49msec)以内とならなければならない。したがって、別領域の制御領域を使用するサブルーチンを呼び出す場合、その1回の呼び出しにかかる総時間は、遊技制御処理の割込処理の間隔以内となるように設定することとなる。 Condition (1): Programs placed in a separate area are used for the purpose of outputting signals necessary for gaming machine testing (game machine testing processing) and fraud prevention (security-related processing), and are used to impair the fairness of gaming. It must not be damaged (damaged). Condition (2): The control area and data area, which are separate from the used area, must be placed in clearly separated areas. Condition (3): The program to be placed in the separate area (separate program) must be statically called from the program in the used area (used program) and then executed. Also, in the program list at that time, the call destination address must be clearly described. Condition (4): Programs placed in separate areas should be modularized for each function, and when called, the contents of all registers used in the used area should be protected. Condition (5): Access to RAMs in each other's area from the used area or another area is permitted only for reference, and update is prohibited. Condition (6): It is not possible to call a subroutine in the control area of the used area from the control area of another area. Since a subroutine for performing interrupt processing is provided in the used area, it is necessary to disable interrupts when using a control area in another area. It should be noted that, in order to properly perform the game control process, the time from performing interrupt prohibition to releasing the interrupt prohibition must be within the interval of the interrupt process in the game control process (for example, 1.49 msec). must. Therefore, when calling a subroutine that uses the control area of another area, the total time required for one call is set to be within the interval of the interrupt process of the game control process.

また、メインRAM500cのF000h~F1FFhのメモリ空間には使用領域が割り当てられている。具体的に、F000h~F13Fhのメモリ空間には、上記遊技制御処理のワークエリアが割り当てられ、タイマ、カウンタ、フラグ等の変数管理に用いられる。F1C0h~F1FFhのメモリ空間には、上記遊技制御処理のスタック領域が割り当てられている。また、メインRAM500cのF200h~F3FFhのメモリ空間には別領域が割り当てられている。具体的に、F210h~F22Fhのメモリ空間には、上記セキュリティ関連処理のうち一部または全部の処理のワークエリアが割り当てられ、タイマ、カウンタ、フラグ等の変数管理に用いられる。F230h~F246hのメモリ空間には、上記セキュリティ関連処理のうち一部または全部の処理のスタック領域が割り当てられている。 In addition, the memory space of F000h to F1FFh of the main RAM 500c is allocated with a use area. Specifically, the memory space of F000h to F13Fh is assigned a work area for the game control process, and is used for variable management such as timers, counters, and flags. A stack area for the game control process is assigned to the memory space of F1C0h to F1FFh. Another area is allocated to the memory space of F200h to F3FFh of the main RAM 500c. More specifically, the memory spaces F210h to F22Fh are allocated work areas for some or all of the security-related processes, and are used for managing variables such as timers, counters, and flags. A stack area for part or all of the security-related processing is allocated to the memory spaces F230h to F246h.

また、FE00h~FFFFhのメモリ空間には入出力部704が割り当てられている。従来、入出力部704に対応するデバイスにアクセスするため、メモリ空間と独立して512バイトのI/O空間が設けられていた。これに対し、本実施形態では、MREQ、IORQの信号をなくし、メモリ、入出力部704へのアクセスを共通化してRD、WR信号で行うこととした。また、入出力部704に接続されたデバイスにアクセスするための上位8ビットのアドレスを指定するハードウェアとしてのUレジスタを設け、ここに予め8ビットの上位アドレスを指定しておく。これにより、メモリ空間とは独立して設けられていたI/O空間を、メモリ空間に統合して一つのアドレス空間とし、IN命令、OUT命令を実行するとメモリ空間に割り当てられた入出力部704に対し、上位8ビットをUレジスタで指定し下位8ビットはIN命令、OUT命令のオペランドで指定した下位8ビットを用いてアクセス可能とした。 An input/output unit 704 is assigned to the memory space from FE00h to FFFFh. Conventionally, an I/O space of 512 bytes was provided independently of the memory space in order to access the device corresponding to the input/output unit 704 . On the other hand, in this embodiment, the MREQ and IORQ signals are eliminated, and access to the memory and the input/output unit 704 is made common and performed by the RD and WR signals. A U register is provided as hardware for designating the upper 8-bit address for accessing the device connected to the input/output unit 704, and the 8-bit upper address is designated in advance. As a result, the I/O space provided independently of the memory space is integrated into the memory space to form one address space, and when the IN instruction and the OUT instruction are executed, the input/output unit 704 is assigned to the memory space. On the other hand, the upper 8 bits are specified by the U register, and the lower 8 bits can be accessed using the lower 8 bits specified by the operands of the IN and OUT instructions.

本実施形態では、LDQ命令ではQレジスタの値を用いてメモリ空間(主にデータエリア、ワークエリア)にアクセスし、IN命令、OUT命令ではUレジスタを用いてデバイス(タイマ、乱数発生器、外部入出力回路等)のI/Oにアクセスするようにプログラムを記述できるようになる。かかる構成により、設計時にプログラムを把握し易くなる。また、メモリおよびI/Oを、16ビットのアドレスで特定してアクセスしていたものを下位8ビットのオペランドでアクセスすることが可能になり、プログラム容量を圧縮することができる。さらにQレジスタ、Q’レジスタ、Uレジスタと複数の上位指定レジスタを持つことにより、上位レジスタが1つだけの時よりも上位レジスタの使い回しによる入れ替えの回数が少なくなり、プログラム容量をさらに圧縮することができる。 In this embodiment, the LDQ instruction uses the value of the Q register to access the memory space (mainly the data area and work area), and the IN and OUT instructions use the U register to access the device (timer, random number generator, external It becomes possible to describe a program so as to access the I/O of an input/output circuit, etc.). Such a configuration makes it easier to grasp the program at the time of design. In addition, memory and I/O that have been accessed by specifying them with 16-bit addresses can now be accessed with lower 8-bit operands, and the program capacity can be compressed. Furthermore, by having a plurality of high-order designated registers such as the Q register, Q' register, and U register, the number of exchanges due to reuse of the high-order register is reduced compared to when there is only one high-order register, and the program capacity is further compressed. be able to.

上記の例ではIN命令、OUT命令でI/O空間に対応するメモリ空間にアクセスしたが、IN命令、OUT命令で直接メモリ空間にアクセスしてもよい。このことは、例えばメモリ上の3つの256バイト領域にアクセスする場合に、Qレジスタ、Q’レジスタ、Uレジスタにそれぞれの上位8ビットを指定しておき、LDQ命令とIN命令、OUT命令でそれぞれの領域にアクセスすることで実現できる。 Although the memory space corresponding to the I/O space is accessed by the IN instruction and the OUT instruction in the above example, the memory space may be directly accessed by the IN instruction and the OUT instruction. For example, when accessing three 256-byte areas on the memory, the upper 8 bits are specified in the Q register, Q' register, and U register, respectively, and the LDQ instruction, IN instruction, and OUT instruction respectively This can be achieved by accessing the area of

(遊技情報の表示)
ところで、遊技機、例えば、スロットマシン400では、上述したようなボーナス遊技状態やAT演出状態への移行頻度が偏ると射倖性が過度に高まってしまう懸念がある。そこで、メダルの獲得性能が高い遊技状態が偏っているか否かを統括的かつ画一的に判定すべく、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率といった判断基準を設ける。有利区間比率は、初回起動時から、有利区間に滞在している遊技数である滞在遊技数を、遊技数の総数である総遊技数で除算し、%で示した値を言い、指示込役物比率は、初回起動時から、所定の基準集計期間における、ボーナス遊技等、役物の作動および指示機能作動に基づいて払出制御手段610が払い出したメダルの枚数である指示込役物払出数を、払出制御手段610が払い出したメダルの総数である総払出数で除算し、%で示した値を言い、連続役物比率は、初回起動時から、所定の基準集計期間における、レギュラーボーナス遊技等、第1種特別役物の作動によって払出制御手段610が払い出したメダルの枚数である連続役物払出数を、払出制御手段610が払い出したメダルの総数である総払出数で除算し、%で示した値を言い、役物比率は、初回起動時から、所定の基準集計期間における、ボーナス遊技等、役物の作動に基づいて払出制御手段610が払い出したメダルの枚数である役物払出数を、払出制御手段610が払い出したメダルの総数である総払出数で除算し、%で示した値を言い、役物等状態比率は、初回起動時から、所定の基準集計期間における、ボーナス遊技等、役物が作動した遊技数である作動遊技数を、遊技数の総数である総遊技数で除算し、%で示した値を言う。なお、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率は、設定変更によってはクリアされない。
(Display of game information)
By the way, in a gaming machine, for example, the slot machine 400, if the frequency of transition to the bonus game state or the AT effect state as described above is uneven, there is a concern that the projectileness will be excessively increased. Therefore, in order to comprehensively and uniformly determine whether or not the game state with high medal acquisition performance is biased, the advantageous section ratio, the instructed accessory ratio, the continuous accessory ratio, the accessory ratio, the accessory, etc. Establish judgment criteria such as condition ratio. The advantageous section ratio is the number of games staying in the advantageous section since the first start, divided by the total number of games, which is the total number of games, and is expressed as a percentage. The product ratio is the number of instructed accessory payouts, which is the number of medals paid out by the payout control means 610 based on the operation of the accessory and the operation of the instruction function, such as a bonus game, in a predetermined reference aggregation period from the time of the first startup. , the total number of medals paid out by the payout control means 610 is divided by the total number of payouts, and the value is expressed in %. , the number of continuous bonuses paid out, which is the number of medals paid out by the payout control means 610 by the operation of the type 1 special bonus, is divided by the total number of payouts, which is the total number of medals paid out by the payout control means 610, and is expressed as a percentage. The role ratio is the number of medals paid out by the payout control means 610 based on the operation of the role, such as a bonus game, during a predetermined reference tally period from the time of initial activation. is divided by the total number of payouts, which is the total number of medals paid out by the payout control means 610, and is expressed in %. Etc., the value obtained by dividing the number of active games, which is the number of games in which the accessory is activated, by the total number of games, which is the total number of games, and is expressed as a percentage. Note that the advantageous section ratio, the instructed accessory ratio, the continuous accessory ratio, the accessory ratio, and the accessory state ratio are not cleared by changing the settings.

このような、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率の表示は、図98に示したタイマ割込み処理S3100のダイナミックポート出力処理(SYNMOUTモジュール)S3100-7における使用領域該役比表示取得処理(E_SDPSTモジュール)において実行される。 Such display of the advantageous section ratio, the instructed accessory ratio, the continuous accessory ratio, the accessory ratio, and the accessory state ratio is performed by the dynamic port output processing (SYNMOUT module) of the timer interrupt processing S3100 shown in FIG. It is executed in the used area corresponding role ratio display acquisition process (E_SDPST module) in S3100-7.

ここで、有利区間は、非AT演出状態のうちの一部の演出状態(ここでは非有利演出状態)を除く全ての演出状態に滞在している区間を言う。なお、有利区間に対し、非有利演出状態を非有利区間という場合もある。ただし、有利区間として、AT演出状態や非AT演出状態に限らず、遊技者に対し有利に遊技が進行する遊技状態および演出状態のいずれかを任意に設定してもよい。 Here, the advantageous section refers to a section in which the player stays in all of the non-AT production states excluding some production states (here, the non-advantageous production state). Note that the non-advantageous effect state may be referred to as a non-advantageous section as opposed to the advantageous section. However, the advantageous section is not limited to the AT effect state or the non-AT effect state, and may be arbitrarily set to any of the game state and the effect state in which the game progresses advantageously for the player.

また、役物は、入賞を容易にするための装置であり、レギュラーボーナス(RB)、チャレンジボーナス(CB)、シングルボーナス(SB)等が該当する。また、かかる役物のうち、レギュラーボーナス(RB)が第1種特別役物に対応する。なお、レギュラービッグボーナス(RBB)は、第1種特別役物であるレギュラーボーナス(RB)の入賞形態を示す図柄組合せの表示によらずにレギュラーボーナス(RB)が連続で作動するものであり、チャレンジビッグボーナス(CBB)は、第2種特別役物(役物のうちの一つ)であるチャレンジボーナス(CB)の入賞形態を示す図柄組合せの表示によらずにチャレンジボーナス(CB)が連続で作動するものである。したがって、連続役物比率は、所定の基準集計期間において払い出された総払出数に対する第1種特別役物の作動によって払い出された連続役物払出数の比率を表すこととなり、役物比率は、所定の基準集計期間において払い出された総払出数に対する役物の作動によって払い出された役物払出数の比率を表すこととなる。 Also, the accessory is a device for facilitating winning, and corresponds to a regular bonus (RB), a challenge bonus (CB), a single bonus (SB), and the like. In addition, among such accessories, the regular bonus (RB) corresponds to the first class special accessory. In addition, the regular big bonus (RBB) is a type 1 special accessory, which is a regular bonus (RB) that operates continuously regardless of the display of the symbol combination indicating the winning form of the regular bonus (RB). The Challenge Big Bonus (CBB) is a series of Challenge Bonuses (CB) regardless of the display of the symbol combination indicating the winning form of the Challenge Bonus (CB), which is a type 2 special accessory (one of the accessories). It works with Therefore, the continuous accessory ratio represents the ratio of the number of continuous accessory payouts paid out by the operation of the type 1 special accessory to the total number of payouts paid out in a predetermined reference aggregation period. represents the ratio of the number of bonus items paid out by the operation of the bonus to the total number of bonuses paid out during a predetermined reference aggregation period.

なお、基準集計期間は、払出制御手段610が払い出したメダルの枚数を累積する対象期間である。本実施形態では、例えば、有限の値である6000遊技や、当該スロットマシン400を遊技場(ホール)に設置してから全ての期間(以下、「総累計」という)の2通りを挙げる。したがって、連続役物比率としては、6000遊技の連続役物比率と、総累計の連続役物比率とを導出し、役物比率としては、6000遊技の役物比率と、総累計の役物比率とを導出する。ただし、基準集計期間として、任意の遊技数を設定できるのは言うまでもない。 The reference tallying period is a target period for accumulating the number of medals paid out by the payout control means 610 . In this embodiment, for example, 6000 games, which is a finite value, and the entire period after installation of the slot machine 400 in the game hall (hall) (hereinafter referred to as "total cumulative total") are given. Therefore, as the continuous accessory ratio, the continuous accessory ratio of 6000 games and the continuous accessory ratio of the total cumulative total are derived. and However, it goes without saying that an arbitrary number of games can be set as the reference tallying period.

このような、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率を求めるべく、累積手段(図示せず)は、総遊技数、滞在遊技数、作動遊技数、総払出数、指示込役物払出数、連続役物払出数、役物払出数を累積する。このとき、総遊技数、滞在遊技数、作動遊技数、総払出数、指示込役物払出数、連続役物払出数、役物払出数それぞれには、カウンタが対応付けられている。具体的に、累積手段は、1遊技が開始されると、総遊技数を示す総遊技数カウンタを1だけインクリメントする。そして、現在の遊技が有利区間における遊技であるか否か判定し、有利区間における遊技であれば、滞在遊技数を示す滞在遊技数カウンタを1だけインクリメントする。なお、滞在遊技数カウンタの更新は、非有利区間である場合において有利区間に当選した遊技(有利区間への移行処理が行われた遊技)の次遊技から開始される。ただし、レギュラービッグボーナス(RBB)またはチャレンジビッグボーナス(CBB)の当選に基づいて有利区間に当選した場合には当該ボーナスが入賞した遊技(有利区間への移行処理が行われた遊技)の次遊技から開始される。また、現在の遊技が、役物が作動した遊技であるか否か判定し、役物が作動した遊技であれば、作動遊技数を示す作動遊技数カウンタを1だけインクリメントする。 In order to obtain the advantageous section ratio, the instructed role ratio, the continuous role ratio, the role ratio, and the state ratio of the role, etc., the accumulating means (not shown) calculates the total number of games, the number of staying games, the operating The number of games, the total number of payouts, the number of instructed accessory payouts, the number of continuous accessory payouts, and the number of accessory payouts are accumulated. At this time, a counter is associated with each of the total number of games, the number of staying games, the number of active games, the total number of payouts, the number of instructed role payouts, the number of continuous role payouts, and the number of role payouts. Specifically, when one game is started, the accumulating means increments a total number-of-games counter indicating the total number of games by one. Then, it is determined whether or not the current game is a game in the advantageous section, and if it is a game in the advantageous section, the staying game number counter indicating the number of staying games is incremented by one. It should be noted that updating of the number-of-stayed-games counter is started from the next game of the game that wins the advantageous section in the case of the non-advantageous section (the game that has undergone the transition processing to the advantageous section). However, if you win an advantageous section based on winning a regular big bonus (RBB) or a challenge big bonus (CBB), the next game after the game in which the bonus was won (a game that has been processed to transition to the advantageous section) is started from Also, it is determined whether or not the current game is a game in which the role product is activated, and if it is a game in which the role product is activated, the activated game number counter indicating the number of activated games is incremented by one.

また、累積手段は、その遊技でメダルが払い出されると、総払出数を示す総払出数カウンタを、その払出枚数分だけインクリメントする。そして、当該メダルの払い出しが役物の作動および指示機能作動に基づいていれば、指示込役物払出数を示す指示込役物払出数カウンタを、その払出枚数分だけインクリメントし、当該メダルの払い出しが役物に基づいていれば、役物払出数を示す役物払出数カウンタを、その払出枚数分だけインクリメントし、さらに、当該メダルの払い出しが第1種特別役物に基づいていれば、連続役物払出数を示す連続役物払出数カウンタを、その払出枚数分だけインクリメントする。 Further, when medals are paid out in the game, the accumulating means increments a total payout number counter indicating the total number of payouts by the number of payouts. Then, if the payout of the medals is based on the operation of the role and the operation of the instruction function, the instructed role payout number counter indicating the number of the instructed role payouts is incremented by the number of payouts, and the medals are paid out. is based on an accessory, the accessory payout number counter indicating the number of accessory payouts is incremented by the number of payouts; A continuous accessory payout number counter indicating the number of accessory payouts is incremented by the number of payouts.

なお、総累計については、かかるカウンタのみで計数できるが、連続役物比率および役物比率に関しては、総累計のみならず、基準集計期間、ここでは、6000遊技といった限られた期間も対象にしなければならない。そこで、6000遊技を、例えば、400遊技毎に均等に区分けし、400遊技ずつ計数する複数(例えば15個)のカウンタを設け、リングバッファとして利用する。なお、ここでは、6000遊技を400遊技毎に区分けして計数する例を挙げているが、6000の因数(約数)であれば、区分けする遊技数を任意に設定可能なのは言うまでもない。 It should be noted that the total cumulative total can be counted only by such a counter, but with regard to the continuous accessory ratio and the accessory ratio, not only the total cumulative total but also the standard aggregation period, here, a limited period such as 6000 games, must be covered. must. Therefore, the 6000 games are evenly divided into, for example, 400 games, and a plurality of (for example, 15) counters for counting 400 games are provided and used as a ring buffer. Here, an example is given in which 6000 games are divided into 400 games and counted, but it goes without saying that the number of divided games can be arbitrarily set as long as it is a factor (divisor) of 6000.

具体的に、累積手段は、その遊技でメダルが払い出されると、総払出数カウンタ、連続役物払出数カウンタ、役物払出数カウンタを更新する処理を400遊技まで行い、400遊技に到達すると、過去に計数した14個のカウンタと合算して、総払出数、連続役物払出数、役物払出数を導出する。そして、14個のカウンタのうち最も古い遊技で計数したカウンタを初期化し、その初期化したカウンタによって、新たに400遊技分、総払出数カウンタ、連続役物払出数カウンタ、役物払出数カウンタを更新する。こうして、400遊技毎に、新たな400遊技分の遊技情報と、過去の5600遊技分の遊技情報とを参照することができるので、直近の6000遊技の総払出数、連続役物払出数、役物払出数を導出することが可能となる。なお、かかるカウンタによる計数は、規定数や設定値に拘わらず常に実行される。このようにして、総遊技数、滞在遊技数、作動遊技数、総払出数、指示込役物払出数、連続役物払出数、役物払出数がそれぞれ累積される。 Specifically, when medals are paid out in the game, the accumulating means performs processing for updating the total payout counter, the continuous accessory payout counter, and the accessory payout counter up to 400 games, and when the 400 games are reached, The total number of payouts, the number of continuous award payouts, and the number of award payouts are derived by summing up the 14 counters counted in the past. Then, of the 14 counters, the counter counted in the oldest game is initialized, and the initialized counter newly sets the total payout number counter, the continuous accessory payout number counter, and the accessory payout number counter for 400 games. Update. In this way, it is possible to refer to game information for new 400 games and game information for past 5600 games every 400 games. It becomes possible to derive the number of items to be paid out. It should be noted that the counting by such a counter is always executed regardless of the specified number or set value. In this way, the total number of games played, the number of staying games, the number of active games, the total number of payouts, the number of instructed role payouts, the number of continuous role payouts, and the number of role payouts are accumulated.

続いて、比率導出手段(図示せず)は、累積手段が累積した、総遊技数、滞在遊技数、作動遊技数、総払出数、指示込役物払出数、連続役物払出数、役物払出数に基づいて有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率を導出する。具体的に、比率導出手段は、滞在遊技数を総遊技数で除算し、%換算して有利区間比率を導出し、総累計の指示込役物払出数を総累計の総払出数で除算し、%換算して総累計の指示込役物比率を導出し、総累計の連続役物払出数を総累計の総払出数で除算し、%換算して総累計の連続役物比率を導出し、総累計の役物払出数を総累計の総払出数で除算し、%換算して総累計の役物比率を導出し、作動遊技数を総遊技数で除算し、%換算して役物等状態比率を導出する。また、比率導出手段は、400遊技毎に、6000遊技の連続役物払出数を6000遊技の総払出数で除算し、%換算して6000遊技の連続役物比率を導出し、6000遊技の役物払出数を6000遊技の総払出数で除算し、%換算して6000遊技の役物比率を導出する。 Subsequently, the ratio derivation means (not shown) calculates the total number of games accumulated by the accumulating means, the number of staying games, the number of active games, the total number of payouts, the number of instructed role payouts, the number of consecutive role payouts, and the number of payouts. Based on the number of payouts, the advantageous section ratio, the instructed accessory ratio, the continuous accessory ratio, the accessory ratio, and the accessory state ratio are derived. Specifically, the ratio derivation means divides the number of staying games by the total number of games, converts it into a percentage, derives the advantageous section ratio, and divides the total number of instructed accessory payouts by the total total number of payouts. , convert to % to derive the total cumulative instructed role ratio, divide the total cumulative total number of consecutive bonuses paid out by the total cumulative total number of payouts, and convert to % to derive the total cumulative continuous bonus ratio , Divide the total cumulative number of payouts by the total number of payouts, convert to % to derive the total cumulative role ratio, divide the number of activated games by the total number of games, convert to %, and convert Derive the equistate ratio. In addition, the ratio deriving means divides the number of continuous role payouts for 6000 games by the total number of payouts for 6000 games, converts it into a percentage, and derives the continuous role ratio for 6000 games. The number of payouts is divided by the total number of payouts for 6000 games, and converted into a percentage to derive the accessory ratio for 6000 games.

次に、比率表示手段(図示せず)は、所定の表示指令に基づいて、比率導出手段が導出した有利区間比率、指示込役物比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率を比率表示部860に表示する。 Next, the ratio display means (not shown) displays the advantageous section ratio derived by the ratio deriving means, the instructed role ratio, the continuous role ratio of 6000 games, the role of 6000 games, and The ratio, total cumulative continuous accessory ratio, total cumulative accessory ratio, and accessory state ratio are displayed on the ratio display section 860 .

図103は、主制御基板500の外観を示した説明図である。図103(a)に示すように、主制御基板500の端側には複数のコネクタ870が設けられ、また、主制御基板500の中央近傍には比率表示部860が設けられている。比率表示部860は、十進のアラビア数字を表すことができる7つのセグメントと、その右下に位置するドットセグメント(DP)とからなる7セグメントを4つ並置して構成される。そして、主制御基板500をスロットマシン400に組み込む際には、図103(b)のように、主制御基板500を基板ケース872に収容し、基板ケース872の前面部位872aに主制御基板500の背面からビス874で固定する。基板ケース872の前面部位872aにおける、比率表示部860に対応する位置には、比率表示部860を視認可能な透過窓872bが設けられている。したがって、管理者は、図74に示したように、前面上扉404を開放した状態で、当該透過窓872bを通じ、比率表示部860の表示内容を視認することができる。なお、かかる透過窓872bの代わりに、基板ケース872全体を透過または半透過な材質で形成してもよい。 FIG. 103 is an explanatory diagram showing the appearance of the main control board 500. As shown in FIG. As shown in FIG. 103( a ), a plurality of connectors 870 are provided on the end side of the main control board 500 , and a ratio display section 860 is provided near the center of the main control board 500 . The ratio display portion 860 is configured by juxtaposing four 7-segments each composed of 7-segments capable of representing decimal Arabic numerals and a dot segment (DP) positioned to the lower right of the 7-segments. When the main control board 500 is incorporated into the slot machine 400, the main control board 500 is accommodated in the board case 872, and the main control board 500 is mounted on the front portion 872a of the board case 872, as shown in FIG. 103(b). It is fixed with screws 874 from the back. A transmissive window 872b through which the ratio display portion 860 is visible is provided at a position corresponding to the ratio display portion 860 in the front portion 872a of the substrate case 872 . Therefore, as shown in FIG. 74, the administrator can visually recognize the display contents of the ratio display section 860 through the transmissive window 872b with the front upper door 404 open. Instead of the transmission window 872b, the substrate case 872 as a whole may be made of a transmissive or semi-transmissive material.

ここでは、比率表示部860を構成する4つの7セグメントのみで、有利区間比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率といった5つの遊技情報を表示するため、各比率に識別子を対応付け、比率表示部860には、その識別子と各比率とを順次表示することとする。なお、各比率は、0~99の範囲で示される。したがって、4つの7セグメントのうち、左側に位置する2つの7セグメントで識別子を示し、右側に位置する2つの7セグメントで比率を示す。 Here, with only the four 7 segments that constitute the ratio display section 860, the advantageous section ratio, the continuous accessory ratio of 6000 games, the accessory ratio of 6000 games, the total cumulative continuous accessory ratio, and the total cumulative accessory ratio In order to display the five pieces of game information, each ratio is associated with an identifier, and the ratio display section 860 sequentially displays the identifier and each ratio. Each ratio is shown in the range of 0-99. Therefore, of the four 7-segments, the two 7-segments located on the left indicate the identifier, and the two 7-segments located on the right indicate the ratio.

図104は、比率表示部860の表示態様を説明するための説明図である。電源スイッチ444をONすると、図104(a)のように、比率表示手段は、有利区間比率に対応する識別子である「7U」と、その比率である、例えば「70」%とを一度に表示する(所謂7Uタイプ)。また、スロットマシン100によっては、有利区間比率の代わりに指示込役物比率を表示することもできる。この場合、比率表示手段は、指示込役物比率に対応する識別子である「7P」と、その比率である、例えば「70」%とを一度に表示する(所謂7Pタイプ)。ここで、7Uタイプでは、設定差のある当選種別を参照して有利区間に移行させる抽選を行うことは可能であるが、設定値を直接参照して有利区間に移行させる抽選を行うことはできない。一方、7Pタイプでは、設定差のある当選種別、および、設定値のいずれも参照して有利区間に移行させる抽選を行うことが可能である。なお、比率表示手段は、比率表示部860の2つめの7セグメントのドットセグメントを点灯することで識別子と比率とを区切っている。 FIG. 104 is an explanatory diagram for explaining the display mode of the ratio display section 860. As shown in FIG. When the power switch 444 is turned on, as shown in FIG. 104(a), the ratio display means displays the identifier "7U" corresponding to the advantageous section ratio and its ratio, for example "70"%, at once. (so-called 7U type). Further, depending on the slot machine 100, it is also possible to display the instructed accessory ratio instead of the advantageous section ratio. In this case, the ratio display means displays the identifier "7P" corresponding to the instructed accessory ratio and its ratio, for example, "70"% at once (so-called 7P type). Here, in the 7U type, it is possible to perform a lottery to shift to an advantageous section by referring to the winning type with a set difference, but it is not possible to perform a lottery to shift to an advantageous section by directly referring to the set value. . On the other hand, in the 7P type, it is possible to perform a lottery to move to an advantageous section by referring to both the winning type with a set difference and the set value. The ratio display means separates the identifier from the ratio by lighting the second 7-segment dot segment of the ratio display section 860 .

この状態で、所定時間(例えば5.0sec)が経過すると、図104(b)ように、比率表示手段は、6000遊技の連続役物比率に対応する識別子である「6Y」と、その比率である「60」%とを一度に表示する。そして、所定時間が経過する度に、図104(c)のような、6000遊技の役物比率に対応する識別子である「7Y」と、その比率である「70」%との組み合わせ、図104(d)のような、総累計の連続役物比率に対応する識別子である「6A」と、その比率である「60」%との組み合わせ、図104(e)のような、総累計の役物比率に対応する識別子である「7A」と、その比率である「70」%との組み合わせ、図104(f)のような、役物等状態比率に対応する識別子である「5H」と、その比率である「50」%との組み合わせが順次表示される。また、図104(f)のように、役物等状態比率に対応する識別子である「5H」と、その比率である「50」%との組み合わせが表示されている状態で、さらに所定時間が経過すると、図104(a)に示した、有利区間比率に対応する識別子である「7U」と、その比率である「70」%とが再度表示され、以後、所定時間が経過する度に、有利区間比率(指示込役物比率)、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率の順で表示が切り換わる。 In this state, when a predetermined time (for example, 5.0 sec) has passed, the ratio display means displays "6Y", which is the identifier corresponding to the continuous role ratio of 6000 games, and the ratio as shown in FIG. Display some "60"% at a time. Then, every time a predetermined time elapses, the combination of the identifier "7Y" corresponding to the role product ratio of 6000 games and the ratio "70"% as shown in FIG. As shown in (d), the combination of the identifier "6A" corresponding to the total cumulative continuous role product ratio and its ratio "60"%, as shown in FIG. A combination of "7A", which is an identifier corresponding to the object ratio, and "70"%, which is the ratio thereof, and "5H", which is an identifier corresponding to the state ratio of the character, etc., as shown in FIG. 104(f), Combinations with the ratio "50"% are displayed sequentially. Further, as shown in FIG. 104(f), in a state in which a combination of "5H", which is an identifier corresponding to the state ratio of the role product, and "50"%, which is the ratio thereof, is displayed, When the time elapses, the identifier "7U" corresponding to the advantageous section ratio and the ratio "70"% shown in FIG. 104(a) are displayed again. Displayed in the order of advantageous section ratio (indicated accessory ratio), continuous accessory ratio of 6000 games, accessory ratio of 6000 games, continuous accessory ratio of total cumulative total, accessory ratio of total cumulative, condition ratio of accessory etc. is switched.

なお、ここでは、4つの7セグメントで識別子と比率を同時に示す例を挙げて説明したが、2つの7セグメントのみを用い、識別子と比率とを切り換えて表示することもできる。この場合、比率表示手段は、比率表示部860において、所定時間が経過する度に、例えば、「7U」→「70」→「6Y」→「60」→「7Y」→「70」→「6A」→「60」→「7A」→「70」→「5H」→「50」といった順に表示を切り替える。 Here, an example in which the identifier and the ratio are simultaneously displayed using four 7-segments has been described. In this case, the ratio display section 860 displays, for example, "7U"→"70"→"6Y"→"60"→"7Y"→"70"→"6A" each time a predetermined time elapses. ”→“60”→“7A”→“70”→“5H”→“50”.

なお、比率表示手段は、主制御基板500の比率表示部860に代えて、4つの7セグメントに対応する既存の表示部(メインクレジット表示部430およびメイン払出表示部432)に識別子と比率とを切り換えて表示することもできる。この場合、1遊技の結果が報知された後、次の遊技の開始までに、前面上扉404を開放し、その状態で、既存のスイッチ、例えば、設定値を設定または変更する操作を実行するスイッチを操作することで、有利区間比率に対応する識別子と、その比率が表示され、以後、所定時間が経過する度に、有利区間比率(指示込役物比率)→6000遊技の連続役物比率→6000遊技の役物比率→総累計の連続役物比率→総累計の役物比率→指示込役物比率の順で表示が繰り返し切り換わることとなる。なお、比率表示手段が既存の表示部に、有利区間比率(指示込役物比率)、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率を表示している間であっても、メダルの投入等、スロットマシン400の状態に変化があった場合には、その表示を削除する。 Note that the ratio display means displays the identifier and the ratio on four existing display units (main credit display unit 430 and main payout display unit 432) corresponding to the four 7 segments instead of the ratio display unit 860 of the main control board 500. It can also be displayed by switching. In this case, after the result of one game is notified, before the start of the next game, the front upper door 404 is opened, and in that state, an existing switch, for example, an operation to set or change the set value is executed. By operating the switch, the identifier corresponding to the advantageous section ratio and its ratio are displayed, and after that, every time a predetermined time passes, the advantageous section ratio (instruction role ratio) → continuous role ratio of 6000 games →6000 game role item ratio→total cumulative continuous accessory ratio→total cumulative accessory ratio→instructed accessory ratio. In addition, the ratio display means can display the advantageous section ratio (instruction role ratio), the continuous role ratio of 6000 games, the role ratio of 6000 games, the total cumulative continuous role ratio, and the total cumulative role ratio. Even while the item ratio and the condition ratio of the accessory etc. are being displayed, if there is a change in the state of the slot machine 400 such as insertion of medals, the display is deleted.

管理者は、このような比率表示部860または既存の表示部を通じて、有利区間比率、指示込役物比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率といった遊技情報を視認することができる。そして、遊技情報が適切な範囲に収まっているか否かを判定し、スロットマシン400が適正に動作しているかを判断することが可能となる。 Through such a ratio display unit 860 or the existing display unit, the administrator can display the advantageous section ratio, the instructed role ratio, the continuous role ratio of 6000 games, the role ratio of 6000 games, the total continuous role ratio , the total cumulative accessory ratio, and the accessory state ratio can be visually recognized. Then, it is possible to determine whether or not the game information is within an appropriate range, and to determine whether the slot machine 400 is operating properly.

かかる適切な範囲は、例えば、有利区間比率<70%、、指示込役物比率<70%、6000遊技の連続役物比率<60%、6000遊技の役物比率<70%、総累計の連続役物比率<60%、総累計の役物比率<70%、役物等状態比率<50%と設定している。かかる適切な範囲を逸脱している場合、比率表示手段は、その対象となる比率に関し、比率表示部860の各セグメントを例えば0.6sec周期で点滅させるとしてもよい。かかる点滅表示により、管理者は、適切な範囲を逸脱している識別子およびその比率を迅速に把握することが可能となる。 Such an appropriate range is, for example, the advantageous section ratio <70%, the instructed accessory ratio <70%, the continuous accessory ratio of 6000 games <60%, the accessory ratio of 6000 games <70%, the total cumulative continuous It is set as follows: the accessory ratio <60%, the total cumulative accessory ratio <70%, and the accessory state ratio <50%. If the appropriate range is exceeded, the ratio display means may cause each segment of the ratio display section 860 to blink, for example, at intervals of 0.6 sec for the target ratio. Such a blinking display enables the administrator to quickly grasp the identifiers deviating from the appropriate range and the ratio thereof.

ところで、上述したように、比率導出手段は、滞在遊技数を総遊技数で除算して有利区間比率を導出し、総累計の指示込役物払出数を総累計の総払出数で除算して総累計の指示込役物払出数を導出し、総累計の連続役物払出数を総累計の総払出数で除算して総累計の連続役物払出数を導出し、総累計の役物払出数を総累計の総払出数で除算して総累計の役物払出数を導出し、作動遊技数を総遊技数で除算して役物等状態比率を導出している。しかし、主制御基板500におけるメインCPU500aは処理能力が低く、かかるメインCPU500aで利用可能な乗算命令や除算命令は、被乗数、乗数、被除数、および、除数となる数値の範囲が制限されている。例えば、メインCPU500aでの演算命令として予め準備されている、除算を実行するDIV命令には、被除数および除数のいずれも数値範囲が2バイトに制限される場合があり、つまり、0~65535までの範囲までしか取り扱うことができない場合がある。そうすると、総遊技数が、例えば175000遊技以上となる場合、数値範囲を超えてしまい、単純に2バイトのDIV命令を利用することができない。この場合、人が筆算で除算を行うのと同様、加算および減算を繰り返すプログラムを別途準備しなければならず、処理負荷の増大を招くこととなる。そこで、本実施形態では、処理負荷の増大を抑えつつ、遊技情報を適切に得ることを目的とする。 By the way, as described above, the ratio deriving means divides the number of staying games by the total number of games to derive the advantageous section ratio, and divides the total number of instructed accessory payouts by the total total number of payouts. Deriving the total cumulative number of instructed bonus payouts, dividing the total cumulative continuous bonus payout number by the total cumulative total payout number to derive the total cumulative continuous bonus payout number, and the total cumulative bonus payout number The number is divided by the total total number of payouts to derive the total cumulative payout number of accessories, and the number of active games is divided by the total number of games to derive the condition ratio of the accessory. However, the main CPU 500a in the main control board 500 has a low processing capability, and the multiplicand, multiplier, dividend, and divisor of multiplicands, multipliers, dividends, and divisors that can be used by the main CPU 500a are limited. For example, in the DIV instruction for executing division, which is prepared in advance as an operation instruction in the main CPU 500a, the numeric range of both the dividend and the divisor may be limited to 2 bytes. Sometimes it can only handle up to a range. Then, if the total number of games played is, for example, 175,000 games or more, the numerical range is exceeded, and a 2-byte DIV instruction cannot simply be used. In this case, a separate program for repeating addition and subtraction must be prepared, similar to a human performing division by hand, resulting in an increase in processing load. Therefore, in the present embodiment, it is an object to appropriately obtain game information while suppressing an increase in processing load.

なお、上記では、スロットマシン400において、例えば、有利区間比率、指示込役物比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率といった遊技情報を比率表示部860に表示する例を挙げて説明した。パチンコ機においては、例えば、所定の基準集計期間における、賞球数(低確時かつ時短無し時の払出個数である低確払出個数)を、アウト数(低確時かつ時短無し時のアウト個数である低確アウト個数)で除算し、%で示したベース値を性能表示モニタ(比率表示部860)に表示するとしてもよい。なお、パチンコ機におけるベース値では、スロットマシン400のように、小数点以下を切り捨てしないで、四捨五入する。 In the above, in the slot machine 400, for example, the advantageous section ratio, the instructed accessory ratio, the continuous accessory ratio of 6000 games, the accessory ratio of 6000 games, the total cumulative continuous accessory ratio, the total cumulative accessory An example of displaying the game information such as the ratio and the condition ratio of the accessory etc. on the ratio display section 860 has been described. In a pachinko machine, for example, the number of prize balls (the number of low-probability payouts, which is the number of payouts when low-probability and no time-saving) is calculated in a predetermined reference aggregation period, and the number of outs (the number of outs when low-probability and no time-saving It may be divided by the number of low-probability outs, and the base value shown in % may be displayed on the performance display monitor (ratio display unit 860). It should be noted that the base value of the pachinko machine is not rounded down to the nearest decimal point as in the slot machine 400, but is rounded off.

(各比率の導出処理)
ここでは、各比率(有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率)を導出する処理例を複数挙げて説明するが、まず、その複数の処理に共通する部分を詳述する。本実施形態では、有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率として、最終的に%に換算された値を求めることとなる。これは、除算した結果に対し、小数点以下2桁のみが必要であることを示す。また、スロットマシン400では、%に換算した場合の小数点以下の値は切り捨てとしている。これは、除算した結果に対し、小数点以下2桁のみを導出できれば、小数点以下3桁以降の演算を要さないことを意味する。したがって、本実施形態では、除算の結果を2桁繰上すべく、所定の乗数(ここでは100)を乗じる。なお、ここでは、小数点2桁のみが必要なので乗数として「100」を乗じる例を挙げたが、小数点3桁が必要な場合は乗数として「1000」を乗じる等、必要な桁数に応じて乗数を変更することができる。
(Derivation process of each ratio)
Here, a plurality of processing examples for deriving each ratio (advantageous section ratio, instructed accessory ratio, continuous accessory ratio, accessory ratio, accessory state ratio) will be described. The common parts are described in detail. In the present embodiment, values converted into % are finally obtained as the advantageous section ratio, the instructed accessory ratio, the continuous accessory ratio, the accessory ratio, and the accessory state ratio. This indicates that only two decimal places are required for the result of the division. Further, in the slot machine 400, values below the decimal point when converted to % are rounded down. This means that if only two digits after the decimal point can be derived from the result of division, calculations for three digits after the decimal point are not required. Therefore, in this embodiment, the result of division is multiplied by a predetermined multiplier (here, 100) in order to carry it up by two digits. In this example, since only two decimal places are required, the multiplier is multiplied by "100". can be changed.

また、ここでは、導出処理の対象として「役物比率」を挙げて説明するが、有利区間比率、指示込役物比率、連続役物比率、役物等状態比率にも同様の処理が適用できるのは言うまでもない。役物比率は、上述したように、役物払出数を総払出数で除算し、%換算して導出される。かかる「%換算する」点が乗数「100」を乗じることに相当する。したがって、役物比率=役物払出数÷総払出数×100といった式で表すことができる。しかし、役物払出数≦総払出数となるので、役物払出数=総払出数ではない限り、この式の順では役物払出数÷総払出数の時点で必ず小数点以下の値となってしまい、例えば、メインCPU500aでは演算不能となる。 Also, here, the "accessory ratio" is described as a target of the derivation process, but the same processing can be applied to the advantageous section ratio, the instructed accessory ratio, the continuous accessory ratio, and the accessory state ratio. Needless to say. As described above, the role product ratio is derived by dividing the number of payouts by the total number of payouts and converting it into a percentage. Such a "% conversion" point corresponds to multiplying the multiplier "100". Therefore, it can be represented by a formula such as the role ratio=the number of payouts/total number of payouts×100. However, since the number of goods paid out ≤ the total number of goods paid out, unless the number of goods paid out = the total number of goods paid out, the order of this formula will always be the value below the decimal point at the time of the number of goods paid out ÷ total number of goods paid out. As a result, for example, the main CPU 500a cannot perform calculations.

そこで、演算順を変更し、役物比率=役物払出数×100÷総払出数といった順、すなわち、まず、役物払出数に乗数(100)を乗じ、その後、乗数を乗じた結果(被除数)を総払出数で除算する順で演算を行う。こうすることで、小数点以下の演算を行うこと無く、整数のみで演算結果を完結することが可能となり、結果的に、小数点以下の切り捨てが簡易に実現される。 Therefore, the order of calculation is changed, and the order of the number of payouts = the number of payouts x 100 ÷ the total number of payouts. ) is divided by the total number of payouts. By doing so, it is possible to complete the calculation result using only integers without performing calculations after the decimal point, and as a result, truncation of the decimal point can be easily realized.

図105は、役物比率の演算例を示すフローチャートである。図105の例では、仮に、役物払出数が「7123」、総払出数が「10000」であるとして役物比率を導出する。ここでは、例えば、除算を減算に置き換えることで、数値範囲(0~65535)を超えた数の除算を実現している。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。 FIG. 105 is a flowchart showing an example of calculation of the role product ratio. In the example of FIG. 105, the role product ratio is derived on the assumption that the number of payouts is "7123" and the total number of payouts is "10000". Here, for example, by replacing division with subtraction, division of numbers exceeding the numerical range (0 to 65535) is realized. Numerical values of step S in this figure are used only in the explanation of this figure.

まず、比率導出手段は、役物払出数が総払出数より大きいか否か判定する(S1)。その結果、役物払出数が総払出数より大きいと判定されれば(S1におけるYES)、役物払出数または総払出数が適正な数値ではないとして、役物比率が異常であるという結果を導出し、当該演算処理を終了する(S2)。役物払出数が総払出数以下であると判定されれば(S1におけるNO)、比率導出手段は、総払出数が0であるか否か判定する(S3)。その結果、総払出数が0、すなわち、まだメダルの払い出しが行われていない状態であれば(S3におけるYES)、役物比率が0%であると決定して当該演算処理を終了する(S4)。総払出数が0ではないと判定されれば(S3におけるNO)、比率導出手段は、役物払出数と総払出数とが等しいか否か判定する(S5)。その結果、役物払出数と総払出数とが等しいと判定されれば(S5におけるYES)、役物比率が99%であると決定して当該演算処理を終了する(S6)。このように、本実施形態では、役物払出数と総払出数とが等しい場合、役物比率として本来100%と示すところ、99%と表している。こうすることで、役物比率を全て2桁で表すことが可能となる。 First, the ratio deriving means determines whether or not the number of payouts of the accessory is greater than the total number of payouts (S1). As a result, if it is determined that the number of bonuses paid out is greater than the total number of bonuses paid out (YES in S1), the number of bonuses paid out or the total number of bonuses paid out is not an appropriate number, and the result is that the ratio of bonus characters is abnormal. It is derived, and the arithmetic processing is terminated (S2). If it is determined that the number of payouts of the accessory is equal to or less than the total number of payouts (NO in S1), the ratio deriving means determines whether or not the total number of payouts is 0 (S3). As a result, if the total number of payouts is 0, that is, if the medals have not been paid out yet (YES in S3), it is determined that the role ratio is 0%, and the arithmetic processing ends (S4). ). If it is determined that the total number of payouts is not 0 (NO in S3), the ratio deriving means determines whether or not the number of payouts of the accessory is equal to the total number of payouts (S5). As a result, if it is determined that the number of payouts of the accessory is equal to the total number of payouts (YES in S5), the ratio of the accessory is determined to be 99%, and the arithmetic processing is terminated (S6). As described above, in the present embodiment, when the number of payouts of the accessory is equal to the total number of payouts, the ratio of the accessory is expressed as 99% instead of originally 100%. By doing so, it becomes possible to express all the character product ratios in two digits.

役物払出数と総払出数とが等しくないと判定されれば(S5におけるNO)、比率導出手段は、役物払出数「7123」に乗数「100」を乗じ(=「712300」)、被除数(変数)として保持する(S7)。続いて、比率導出手段は、被除数「712300」を除数である総払出数「10000」で除算して商(=「71」)を求める(S8)。かかる商「71」が役物比率となる。これは、役物払出数「7123」を総払出数「10000」で除算した結果を%換算した71.23%の整数部分に相当するので、かかる演算が正しいことが理解できる。 If it is determined that the number of bonus payouts is not equal to the total number of payouts (NO in S5), the ratio deriving means multiplies the number of bonus payouts “7123” by the multiplier “100” (=“712300”), and obtains the dividend (variable) (S7). Subsequently, the ratio deriving means divides the dividend "712300" by the total number of payouts "10000", which is the divisor, to obtain the quotient (="71") (S8). This quotient "71" is the role product ratio. This corresponds to the integer part of 71.23% obtained by dividing the payout number "7123" by the total payout number "10000" and converting it into a percentage, so it can be understood that such calculation is correct.

このような役物比率の演算例により、加算、減算、乗算といった簡易な演算のみで、また、整数のみにより、除算を実現することが可能となる。 With such an example of calculation of the role ratio, it is possible to realize division using only simple calculations such as addition, subtraction, and multiplication, and using only integers.

なお、上記では、役物比率の小数点以下を切り捨てることを前提としたが、かかる場合に限らず、役物比率の小数点以下を四捨五入する場合、負となる最終的な被除数の値(ここでは「-7700」)の絶対値が、除数(総払出数、ここでは「10000」)の1/2より大きければ切り捨て、1/2以下であれば切り上げるとすることで実現できる。 In the above, it is assumed that the decimal point of the role ratio is rounded off. −7700”) is rounded down if the absolute value is larger than 1/2 of the divisor (total number of payouts, here “10000”), and rounded up if less than 1/2.

ここでは、さらに、役物比率を算出する際の2段階の演算手順、すなわち、役物払出数×乗数の演算(図105のS7)と、乗算結果÷総払出数(図105のS8)とに分けて、有効な演算手順を模索する。具体的に、まず、役物払出数×乗数を実行する複数の演算手順の有効性を検討し、次に、乗算結果÷総払出数を実行する複数の演算手順の有効性を検討する。 Here, furthermore, there are two steps of calculation procedure for calculating the role ratio, that is, the calculation of the number of payouts of the role×multiplier (S7 in FIG. 105), and the result of multiplication/total number of payouts (S8 in FIG. 105). , and search for an effective operation procedure. Specifically, first, the effectiveness of a plurality of calculation procedures for executing the number of payouts×multiplier is examined, and then the effectiveness of a plurality of calculation procedures for executing the multiplication result÷total number of payouts is examined.

(役物払出数×乗数)
役物払出数を数値として表す場合、その数値範囲から、最大値は3バイトとなり、メモリ容量として3バイト(24ビット)を要す。また、乗数は、ここでは100なので、1バイト(8ビット)で表すことができる。そうすると、役物払出数×乗数の演算は、24ビット×8ビットの演算となる。ここで、メインCPU500aは、8ビット×8ビットの乗算で16ビットの演算結果を得られる8ビットMUL命令を用いて24ビット×8ビットの演算を実行することができる。
(Number of goods paid out x multiplier)
When representing the number of payouts as a numerical value, the maximum value is 3 bytes due to the numerical range, and 3 bytes (24 bits) are required as the memory capacity. Also, since the multiplier is 100 here, it can be represented by 1 byte (8 bits). Then, the calculation of the number of payouts×multiplier is a calculation of 24 bits×8 bits. Here, the main CPU 500a can execute a 24-bit by 8-bit operation using an 8-bit MUL instruction that obtains a 16-bit operation result from an 8-bit by 8-bit multiplication.

また、メインCPU500aには、上述したように、内蔵デバイスとしてメインCPU500aと独立かつ並行して演算を実行可能な乗算器および除算器が内蔵されている。ここで、乗算器は、コマンドの処理と並行して、例えば16ビット×16ビットの乗算を行うものであり、内蔵レジスタの指定のアドレス(被乗数設定レジスタ)に被乗数を書き込み、他の指定のアドレス(乗数設定レジスタ)に乗数を書き込むと、乗算器内で乗算が実行され、所定の時間後、異なる指定のアドレス(乗算結果レジスタ)に、例えば32ビットの乗算結果が設定される機能部である。また、除算器は、コマンドの処理と並行して、例えば32ビット÷32ビットの除算を行うものであり、内蔵レジスタの指定のアドレス(被除数設定レジスタ)に被除数を書き込み、他の指定のアドレス(除数設定レジスタ)に除数を書き込むと、除算器内で除算が実行され、所定の時間後、異なる指定のアドレス(除算結果レジスタ)に、例えば32ビットの除算結果が設定される機能部である。したがって、メインCPU500aでは、上記の8ビットMUL命令に加え、16ビット×16ビットの乗算器(以下、単に16ビット乗算器という)を採用することができる。 In addition, as described above, the main CPU 500a incorporates a multiplier and a divider capable of executing calculations independently and in parallel with the main CPU 500a as built-in devices. Here, the multiplier performs, for example, 16-bit×16-bit multiplication in parallel with command processing. Multiplication is executed in the multiplier when a multiplier is written in (multiplier setting register), and after a predetermined time, a 32-bit multiplication result, for example, is set in a different specified address (multiplication result register). . The divider performs, for example, 32-bit/32-bit division in parallel with command processing, and writes the dividend to the specified address (dividend setting register) of the built-in register, and writes the dividend to another specified address ( When a divisor is written in a divisor setting register), division is executed in the divider, and after a predetermined time, a 32-bit division result, for example, is set in a different designated address (division result register). Therefore, the main CPU 500a can employ a 16-bit.times.16-bit multiplier (hereinafter simply referred to as a 16-bit multiplier) in addition to the 8-bit MUL instruction.

ここでは、8ビットMUL命令のみを用いた第1の演算例と、16ビット乗算器を用いた第2の演算例を挙げ、その有効性を比較する。 Here, a first example of operation using only an 8-bit MUL instruction and a second example of operation using a 16-bit multiplier will be presented and their effectiveness will be compared.

(役物払出数×乗数を実行する第1の演算例)
図106は、8ビットMUL命令のみを用いた第1の演算例を説明するための説明図である。8ビットMUL命令のみを用いた第1の演算例では、被乗数(3バイト)×乗数(1バイト)の演算をするため、図106に示すように、被乗数をBCDレジスタ(BCレジスタ、および、Dレジスタ)に格納し、8ビットMUL命令を用い、1バイト単位に分離されたDレジスタの値、Cレジスタの値、Bレジスタの値それぞれと乗数(100)とを、その順に乗算する。そして、乗算した結果である、Dレジスタの値×100、Cレジスタの値×100、Bレジスタの値×100それぞれを加算(積算)することで、BCDレジスタの値×100の演算結果(4バイト)を得ることができる。
(First calculation example for executing the number of payouts x multiplier)
FIG. 106 is an explanatory diagram for explaining a first operation example using only an 8-bit MUL instruction. In the first operation example using only the 8-bit MUL instruction, multiplicand (3 bytes)×multiplicand (1 byte) operations are performed. Therefore, as shown in FIG. register), and using an 8-bit MUL instruction, the D register value, C register value, and B register value separated in 1-byte units are multiplied by the multiplier (100) in that order. Then, by adding (accumulating) the D register value x 100, the C register value x 100, and the B register value x 100, which are the multiplication results, the calculation result of the BCD register value x 100 (4 bytes ) can be obtained.

図107は、第1の演算例を実現するための具体的な処理を示したフローチャートであり、図108は、第1の演算例を実現するための具体的なコマンドの一例を示した図である。かかる図107の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。 FIG. 107 is a flowchart showing specific processing for implementing the first example of calculation, and FIG. 108 is a diagram showing an example of specific commands for implementing the first example of calculation. be. The numerical values of step S in the description of FIG. 107 are used only in the description of this figure.

図107に示すように、まず、累計役物カウンタの値をBCDレジスタに読み出す(S1)。具体的に、図108の2行目のコマンド「LD A,(_EX_YAKR)」によって、アドレス「_EX_YAKR」に格納されている1バイト値がAレジスタに読み出され、3行目のコマンド「LD D,A」によって、Aレジスタの値がDレジスタに複製され、4行目のコマンド「LD BC,(_EX_YAKR+1)」によって、アドレス「_EX_YAKR+1」に格納されている2バイト値がBCレジスタに読み出される。 As shown in FIG. 107, first, the value of the total bonus counter is read to the BCD register (S1). Specifically, the command "LD A, (_EX_YAKR)" on the second line in FIG. , A” copies the value of the A register to the D register, and the 2-byte value stored at the address “_EX_YAKR+1” is read to the BC register by the command “LD BC, (_EX_YAKR+1)” on the fourth line.

次に、図107に示すように、BCDレジスタに格納された累計役物カウンタの値が0であるか否か判定され(S2)、0であれば(S2におけるYES)、乗数を乗じても結果が変わらないので(0なので)、当該第1の演算例を終了する。具体的に、図108の5行目のコマンド「OR A,B」によって、Dレジスタの値と等しいAレジスタの値とBレジスタの値との論理和を演算し、図108の6行目のコマンド「OR A,C」によって、5行目の演算結果であるAレジスタの値とCレジスタの値との論理和を演算し、7行目のコマンド「JR Z,E_PYSAV28」によって、BCDレジスタの論理和が0であれば、他の処理を示す指標「E_PYSAV28」(図示せず)に移動する。なお、コマンド「JR Z,E_PYSAV28」等、Fレジスタの内容によって処理が異なる場合、サイクル数も異なることとなる。例えば、コマンド「JR Z,E_PYSAV28」は、移動を伴う場合、図108のサイクル数のスラッシュより左に示すように3サイクルとなり、移動を伴わない場合、サイクル数のスラッシュより右に示すように2サイクルとなる。以下のコマンドについても、Fレジスタの内容によって処理が異なる場合は同様の表示をしている。 Next, as shown in FIG. 107, it is determined whether or not the value of the total bonus counter stored in the BCD register is 0 (S2). Since the result does not change (because it is 0), the first operation example ends. Specifically, the command "OR A, B" on the fifth line in FIG. By command "OR A, C", the logical sum of the value of register A and the value of register C, which are the operation results on the 5th line, is calculated. If the logical sum is 0, it moves to an index "E_PYSAV28" (not shown) indicating another process. If the processing differs depending on the contents of the F register, such as the command "JR Z, E_PYSAV28", the number of cycles will also differ. For example, the command "JR Z, E_PYSAV28" requires 3 cycles as shown to the left of the slash of the cycle number in FIG. becomes a cycle. The following commands are similarly displayed when the processing differs depending on the contents of the F register.

続いて、図107に示すように、被乗数の最下位バイトであるDレジスタの値と乗数(100)とを乗じ(S3)、その演算結果をDEレジスタに設定する(S4)。具体的に、図108の8行目のコマンド「LD A,D」によって、Dレジスタの値をAレジスタに複製し、9行目のコマンド「MUL HL,A,100」によって、Aレジスタの値と100とを乗じた結果をHLレジスタに保持し、10行目のコマンド「EX DE,HL」によって、HLレジスタの値をDEレジスタに設定する。 Subsequently, as shown in FIG. 107, the value of the D register, which is the least significant byte of the multiplicand, is multiplied by the multiplier (100) (S3), and the operation result is set in the DE register (S4). Specifically, the command "LD A, D" on the eighth line in FIG. and 100 is held in the HL register, and the value of the HL register is set in the DE register by the command "EX DE, HL" on the 10th line.

次に、図107に示すように、被乗数の中位バイトであるCレジスタの値と乗数(100)とを乗じ(S5)、その演算結果にDレジスタの値を加算した結果をDレジスタに戻し(S6)、メインRAM500cに設定する(S7)。具体的に、図108の11行目のコマンド「LD A,C」によって、Cレジスタの値をAレジスタに複製し、12行目のコマンド「MUL HL,A,100」によって、Aレジスタの値と100とを乗じた結果をHLレジスタに保持し、13行目のコマンド「ADDWB HL,D」によって、乗算結果のHLレジスタに、10行目のコマンド「EX DE,HL」によって設定されたDEレジスタのうちの上位1バイト(Dレジスタの値)のみを加算し、14行目のコマンド「LD D,L」によって、加算結果のうち下位1バイトをDレジスタに戻し、15行目のコマンド「EX DE,HL」によって、乗算結果の下位2バイトに相当するDEレジスタの値をHLレジスタに移動し、16行目のコマンド「LD (_EX_WRK2),HL」によって、HLレジスタの2バイト値をアドレス「_EX_WRK2」に格納する。 Next, as shown in FIG. 107, the value of the C register, which is the middle byte of the multiplicand, is multiplied by the multiplier (100) (S5), and the result of adding the value of the D register to the operation result is returned to the D register. (S6), set in the main RAM 500c (S7). Specifically, the command "LD A, C" on the 11th line in FIG. and 100 are multiplied and held in the HL register. Only the upper 1 byte (value of D register) of the registers is added, and the lower 1 byte of the addition result is returned to the D register by the command "LD D, L" on the 14th line, and the command " The DE register value corresponding to the lower 2 bytes of the multiplication result is moved to the HL register by the command "EX DE, HL", and the 2-byte value of the HL register is addressed by the command "LD (_EX_WRK2), HL" on the 16th line. Store in "_EX_WRK2".

続いて、図107に示すように、被乗数の最上位バイトであるBレジスタの値と乗数(100)とを乗じ(S8)、その演算結果に、ステップS6の演算結果のうち上位1バイト(Hレジスタの値)とを加算し(S9)、メインRAM500cに設定する(S10)。具体的に、図108の17行目のコマンド「LD A,B」によって、Bレジスタの値をAレジスタに複製し、18行目のコマンド「MUL HL,A,100」によって、Aレジスタの値と100とを乗じた結果をHLレジスタに保持し、19行目のコマンド「ADDWB HL,D」によって、乗算結果のHLレジスタに、15行目のコマンド「EX DE,HL」によって設定されたDEレジスタ(13行目のコマンド「ADDWB HL,D」の演算結果)のうちの上位1バイト(Dレジスタの値)のみを加算し、20行目のコマンド「LD (_EX_WRK2+2),HL」によって、HLレジスタの2バイト値をアドレス「_EX_WRK2+2」に格納する。こうして、アドレス「_EX_WRK2」に、4バイトのBCDレジスタの値×100の演算結果を得ることができる。 Subsequently, as shown in FIG. 107, the value of the B register, which is the most significant byte of the multiplicand, is multiplied by the multiplier (100) (S8), and the result of the operation is added to the upper 1 byte (H (S9) and set in the main RAM 500c (S10). Specifically, the command "LD A, B" on the 17th line in FIG. and 100 is held in the HL register, and DE set by the command "EX DE, HL" on the 15th line is stored in the HL register of the multiplication result by the command "ADDWB HL, D" on the 19th line. HL Store the 2-byte value of the register at address "_EX_WRK2+2". In this way, it is possible to obtain the operation result of the 4-byte BCD register value×100 at the address “_EX_WRK2”.

ここで、当該コマンド例では、図108に示すように、コマンドサイズの合計は38バイトとなり、サイクル数の単純合計(移動命令を考慮することなく単純にサイクル数を合計したもの)は49/48サイクルとなる。 Here, in this command example, as shown in FIG. 108, the total command size is 38 bytes, and the simple total of the number of cycles (simply totaling the number of cycles without considering move instructions) is 49/48. becomes a cycle.

(役物払出数×乗数を実行する第2の演算例)
図109は、16ビット乗算器を用いた第2の演算例を説明するための説明図である。16ビット乗算器を用いた第2の演算では、被乗数(3バイト)×乗数(1バイト)の演算をするため、図109に示すように、被乗数をBCDレジスタ(BCレジスタおよびDレジスタ)に格納し、BCレジスタの値(2バイト値)と乗数(100)とを16ビット乗算器を用いて乗算するとともに、Dレジスタの値それぞれと乗数(100)とを8ビットMUL命令を用いて乗算する。そして、乗算した結果、BCレジスタの値×100、Dレジスタの値×100を加算することで、4バイトのBCDレジスタの値×100の演算結果を得ることができる。
(Second calculation example for executing the number of payouts x multiplier)
FIG. 109 is an explanatory diagram for explaining a second operation example using a 16-bit multiplier. In the second operation using a 16-bit multiplier, the multiplicand (3 bytes)×multiplicand (1 byte) is calculated, so the multiplicand is stored in the BCD register (BC register and D register) as shown in FIG. Then, the value of the BC register (2-byte value) and the multiplier (100) are multiplied using a 16-bit multiplier, and each value of the D register is multiplied by the multiplier (100) using the 8-bit MUL instruction. . Then, by adding the BC register value x 100 and the D register value x 100 as a result of the multiplication, the operation result of the 4-byte BCD register value x 100 can be obtained.

図110は、第2の演算例を実現するための具体的な処理を示したフローチャートであり、図111は、第2の演算例を実現するための具体的なコマンドの一例を示した図である。かかる図110の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。 FIG. 110 is a flowchart showing specific processing for implementing the second example of computation, and FIG. 111 is a diagram showing an example of specific commands for implementing the second example of computation. be. The numerical values of step S in the description of FIG. 110 are used only in the description of this figure.

図110に示すように、まず、累計役物カウンタの値をBCDレジスタに読み出す(S1)。具体的に、図111の2行目のコマンド「LD A,(_EX_YAKR)」によって、アドレス「_EX_YAKR」に格納されている1バイト値がAレジスタに読み出され、3行目のコマンド「LD D,A」によって、Aレジスタの値がDレジスタに複製され、4行目のコマンド「LD BC,(_EX_YAKR+1)」によって、アドレス「_EX_YAKR+1」に格納されている2バイト値がBCレジスタに読み出される。 As shown in FIG. 110, first, the value of the total bonus counter is read to the BCD register (S1). Specifically, the command "LD A, (_EX_YAKR)" on the second line in FIG. , A” copies the value of the A register to the D register, and the 2-byte value stored at the address “_EX_YAKR+1” is read to the BC register by the command “LD BC, (_EX_YAKR+1)” on the fourth line.

次に、図110に示すように、BCDレジスタに格納された累計役物カウンタの値が0であるか否か判定され(S2)、0であれば(S2におけるYES)、乗数を乗じても結果が変わらないので(0なので)、当該第2の演算例を終了する。具体的に、図111の5行目のコマンド「OR A,B」によって、Dレジスタの値と等しいAレジスタの値とBレジスタの値との論理和を演算し、図111の6行目のコマンド「OR A,C」によって、5行目の演算結果であるAレジスタの値とCレジスタの値との論理和を演算し、7行目のコマンド「JR Z,E_PYSAV28」によって、BCDレジスタの論理和が0であれば、他の処理を示す指標「E_PYSAV28」(図示せず)に移動する。 Next, as shown in FIG. 110, it is determined whether or not the value of the total bonus counter stored in the BCD register is 0 (S2). Since the result does not change (because it is 0), the second example of operation ends. Specifically, the command "OR A, B" on the fifth line in FIG. By command "OR A, C", the logical sum of the value of register A and the value of register C, which are the results of the operation on line 5, is calculated. If the logical sum is 0, it moves to an index "E_PYSAV28" (not shown) indicating another process.

続いて、図110に示すように、被乗数の上位2バイトを被乗数設定レジスタに設定し(S3)、乗数(100)を乗数設定レジスタに設定して、乗算を実行する(S4)。具体的に、図111の8行目のコマンド「LD (@MULA16_),BC」によって、BCレジスタの値を被乗数設定レジスタ「@MULA16_」に設定し、9行目のコマンド「LD A,100」によって、Aレジスタに乗数「100」を設定し、10行目のコマンド「OUT (LOW @MULB16_),A」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB16_」を下位1バイトとし、そのアドレスで示される乗数設定レジスタにAレジスタの値を出力する。なお、乗数設定レジスタ「@MULB16_」の上位1バイトにはデフォルト値として「00H」が設定されている。こうして、16ビット乗算器を動作させ、乗算結果レジスタに乗算結果が格納される。 Subsequently, as shown in FIG. 110, the upper two bytes of the multiplicand are set in the multiplicand setting register (S3), the multiplier (100) is set in the multiplier setting register, and multiplication is executed (S4). Specifically, the value of the BC register is set in the multiplicand setting register "@MULA16_" by the command "LD (@MULA16_), BC" on the eighth line in FIG. sets the multiplier "100" in the A register, and the command "OUT (LOW @MULB16_), A" on the 10th line sets the value of the U register to the upper 1 byte of the address, and sets the address "@MULB16_" to the lower 1 byte, and outputs the value of the A register to the multiplier setting register indicated by that address. It should be noted that "00H" is set as a default value in the high-order 1 byte of the multiplier setting register "@MULB16_". Thus, the 16-bit multiplier is operated and the multiplication result is stored in the multiplication result register.

次に、図110に示すように、乗数の最下位バイトであるDレジスタの値と乗数(100)とを乗じる(S5)。具体的に、図111の11行目のコマンド「LD A,D」によって、Dレジスタの値をAレジスタに複製し、12行目のコマンド「MUL HL,A,100」によって、Aレジスタの値と100とを乗じた結果をHLレジスタに保持する。 Next, as shown in FIG. 110, the value of the D register, which is the least significant byte of the multiplier, is multiplied by the multiplier (100) (S5). Specifically, the command "LD A, D" on the 11th line in FIG. and 100 are multiplied and held in the HL register.

続いて、図110に示すように、乗算結果レジスタに格納された乗算結果の下位3バイトをDEAレジスタに読み出し(S6)、Aレジスタの値と、ステップS5の乗算結果のうち上位1バイト(Hレジスタの値)とを加算し(S7)、メインRAM500cに設定する(S8)。具体的に、図111の13行目のコマンド「IN A,(LOW @MUL32__+0」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB32__+0」を下位1バイトとし、そのアドレスで示される乗算結果レジスタの値をAレジスタに読み出し、14行目のコマンド「LD ED,(LOW @MUL32__+1」によって、乗算結果レジスタの最下位から2バイト目と3バイト目をDEレジスタに読み出し、15行目のコマンド「ADD A,H」によって、Aレジスタの値に、12行目のコマンド「MUL HL,A,100」によって設定された乗算結果の上位1バイト(Hレジスタの値)を加算し、16行目のコマンド「LD H,A」によって、加算結果(Aレジスタの値)をHレジスタに戻し、17行目のコマンド「OUT (LOW @DIVA32_+0),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVA32_」を下位1バイトとし、そのアドレスで示される被除数設定レジスタ「@DIVA32_」にHLレジスタの値を出力する。 Subsequently, as shown in FIG. 110, the lower 3 bytes of the multiplication result stored in the multiplication result register are read into the DEA register (S6), and the value of the A register and the higher 1 byte (H (S7) and set in the main RAM 500c (S8). Specifically, the command “IN A, (LOW @MUL32 — +0” on the 13th line in FIG. The value of the multiplication result register is read into the A register, and the 2nd and 3rd bytes from the lowest of the multiplication result register are read into the DE register by the command "LD ED, (LOW @MUL32__+1" on the 14th line. The second command "ADD A, H" adds the upper 1 byte (H register value) of the multiplication result set by the command "MUL HL, A, 100" on the 12th line to the value of the A register, The command "LD H, A" on the 16th line returns the addition result (the value of the A register) to the H register, and the command "OUT (LOW @DIVA32_+0), HL" on the 17th line returns the value of the U register to the address. , and the address "@DIVA32_" is set as the lower 1 byte, and the value of the HL register is output to the dividend setting register "@DIVA32_" indicated by that address.

次に、図110に示すように、ステップS6で設定したDEレジスタの値をHLレジスタに複製し(S9)、ステップS7の加算において値が繰り上げされたか否か判定され(S10)、繰り上げされていれば(S10におけるYES)、HLレジスタに繰り上げ分を加算し(S11)、メインRAM500cに設定する(S12)。具体的に、図111の18行目のコマンド「EX DE,HL」によって、DEレジスタの値をHLレジスタに設定し、19行目のコマンド「JR NC,E_PYSAVX1」によって、15行目のコマンド「ADD A,H」によりキャリーフラグが立っているか否か判断され、キャリーフラグが立っていなかったら、21行目の指標「E_PYSAVX1」に移動し、キャリーフラグが立っていれば、20行目のコマンド「INC HL」によって、HLレジスタの値が1だけインクリメントされ、22行目のコマンド「OUT (LOW @DIVA32_+2),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVA32_+2」を下位1バイトとし、そのアドレスで示される除数設定レジスタにHLレジスタの値を出力する。 Next, as shown in FIG. 110, the value of the DE register set in step S6 is duplicated in the HL register (S9), and it is determined whether or not the value has been rounded up in the addition of step S7 (S10). If yes (YES in S10), the carry-up amount is added to the HL register (S11) and set in the main RAM 500c (S12). Specifically, the command "EX DE, HL" on the 18th line in FIG. ADD A, H" determines whether or not the carry flag is set. If the carry flag is not set, move to the index "E_PYSAVX1" on the 21st line. If the carry flag is set, the command on the 20th line By "INC HL", the value of the HL register is incremented by 1, and by the command "OUT (LOW @DIVA32_+2), HL" on the 22nd line, the value of the U register is set to the upper 1 byte of the address, and the address is "@DIVA32_+2". is the lower 1 byte, and the value of the HL register is output to the divisor setting register indicated by that address.

ここで、当該コマンド例では、図111に示すように、コマンドサイズの合計は43バイトとなり、サイクル数の単純合計は59/57サイクルとなる。 Here, in this command example, as shown in FIG. 111, the total command size is 43 bytes, and the simple sum of the number of cycles is 59/57 cycles.

以上説明したように、役物払出数×乗数を実行する第1の演算例と、役物払出数×乗数を実行する第2の演算例とを比較すると、コマンドサイズの合計およびサイクル数の単純合計のいずれも第1の演算例の方が小さくなる。したがって、スロットマシン400で役物払出数×乗数を実行する場合、図106~図108を用いて説明したように、8ビットMUL命令のみによって実行する方が好ましい。 As described above, comparing the first calculation example of executing the number of payouts x multiplier with the second example of calculation of executing the number of payouts x multiplier, the total command size and the number of cycles are simple. Both of the totals are smaller in the first calculation example. Therefore, when the slot machine 400 executes the payout number×multiplier, it is preferable to execute only the 8-bit MUL instruction as described with reference to FIGS. 106-108.

なお、上述した第1の演算例では、図108の16行目および20行目のコマンドとしてコマンド「LD」を用いたが、それ以後の処理態様に応じ、図112のように、これに代えて、16行目および20行目のコマンドとしてコマンド「OUT」を用いてもよい。図112の場合でも、図108同様、コマンドサイズの合計は38バイトとなり、サイクル数の単純合計は49/48サイクルとなる。 In the above-described first calculation example, the command "LD" was used as the command on the 16th and 20th lines of FIG. Therefore, the command "OUT" may be used as the commands on the 16th and 20th lines. In the case of FIG. 112 as well, the total command size is 38 bytes, and the simple sum of the number of cycles is 49/48 cycles, similar to FIG.

(乗算結果÷総払出数)
次に、役物比率を算出する際の複数段階の演算手順のうち、(役物払出数×乗数の)乗算結果÷総払出数について有効性を検討する。上述したように、役物払出数(3バイト)×乗数(1バイト)の乗算結果は、最大4バイトとなるため、メモリの容量として4バイト以上を要する。したがって、ここでは、乗算結果を4バイト(32ビット)で表す。また、総払出数も、最大値が3バイトとなるため、メモリ容量として3バイト以上を要する。したがって、総払出数も4バイトで表す。そうすると、乗算結果÷総払出数の演算は32ビット÷32ビットの演算となる。メインCPU500aは、乗算結果から総払出数を繰り返し減算し、その減算回数で32ビット÷32ビットの演算を実現することができる。
(multiplication result / total number of payouts)
Next, the effectiveness of the multiplication result of (number of payouts×multiplier)÷total number of payouts among the multi-stage calculation procedures for calculating the role product ratio will be examined. As described above, the multiplication result of the number of payouts (3 bytes)×multiplier (1 byte) is a maximum of 4 bytes, so a memory capacity of 4 bytes or more is required. Therefore, here, the multiplication result is represented by 4 bytes (32 bits). Also, since the total number of payouts has a maximum value of 3 bytes, a memory capacity of 3 bytes or more is required. Therefore, the total number of payouts is also represented by 4 bytes. Then, the multiplication result/total number of payouts is a 32-bit/32-bit calculation. The main CPU 500a repeatedly subtracts the total number of payouts from the multiplication result, and can realize an operation of 32 bits/32 bits by the number of subtractions.

しかし、単純に、乗算結果から総払出数を繰り返し減算していく方法では、役物比率に相当する回数分、繰り返し乗算結果から総払出数を減算しなければならない。そうすると、減算処理が最大で100回実行されることになる。そこで、除数である総払出数を整数倍して減算することで減算処理の回数を削減することが考えられる。例えば、役物払出数が「7123」、総払出数が「10000」であった場合に、被除数である乗算結果「712300」から総払出数「10000」を単純に減算せず、総払出数「10000」に整数「10」を乗じた「100000」を減算することで、役物比率の2桁目(10の桁)に相当する「7」を導出することができる。また、更新された(減算された)乗算結果から元の総払出数「10000」を減算することで、役物比率の1桁目(1の桁)に相当する「1」を導出することができる。このように、総払出数(除数)を整数倍することで、ここでは、減算処理を多くとも20回に削減することが可能となる。 However, in the method of simply repeatedly subtracting the total number of payouts from the multiplication result, the total number of payouts must be repeatedly subtracted from the multiplication result the number of times corresponding to the role ratio. Then, the subtraction process is executed 100 times at maximum. Therefore, it is conceivable to reduce the number of subtraction processes by multiplying the total number of payouts, which is a divisor, by an integral number. For example, when the number of payouts is "7123" and the total number of payouts is "10000", the total number of payouts "10000" is not simply subtracted from the multiplication result "712300" which is the dividend. By subtracting "100000" obtained by multiplying "10000" by the integer "10", it is possible to derive "7" corresponding to the second digit (ten's digit) of the role item ratio. Also, by subtracting the original total number of payouts "10000" from the updated (subtracted) multiplication result, it is possible to derive "1" corresponding to the first digit (1's digit) of the character ratio. can. By multiplying the total number of payouts (divisor) by an integer in this way, it is possible to reduce the number of subtraction processes to 20 times at most.

ただし、メインCPU500aでは、2進数で演算が行われるので、ここでは、10進数の桁上がりに相当する数「10」の代わりに、2進数の桁上がりに対応する数「2」を用いる。したがって、ここでは、乗算結果「712300」から、総払出数「10000」に、2の累乗数である所定の整数「64(2の6乗)」を乗じた数を減算し、以降、整数を「32(2の5乗)」→「16(2の4乗)」→「8(2の3乗)」→「4(2の2乗)」→「2(2の1乗)」→「1(2の0乗)」の順に変更して総払出数を乗じ、乗算結果から減算する。ここで、総払出数に乗じる整数を、2の累乗数である64から開始しているのは、役物比率が0~99の範囲に収まるため、「128(2の7乗)」以上の数値を減算する必要がないからである。 However, since the main CPU 500a performs operations in binary numbers, here, instead of the number "10" corresponding to the carry of the decimal number, the number "2" corresponding to the carry of the binary number is used. Therefore, here, from the multiplication result “712300”, subtract the number obtained by multiplying the total number of payouts “10000” by a predetermined integer “64 (2 to the sixth power)” which is a power of 2, and then subtract the integer "32 (2 to the 5th power)" → "16 (2 to the 4th power)" → "8 (2 to the 3rd power)" → "4 (2 to the 2nd power)" → "2 (2 to the 1st power)" → Multiply the total number of payouts by changing the order of "1 (2 to the 0th power)", and subtract from the multiplication result. Here, the reason why the integer to be multiplied by the total number of payouts starts from 64, which is a power of 2, is because the character ratio falls within the range of 0 to 99, so the number of "128 (2 to the 7th power)" or more This is because there is no need to subtract numerical values.

また、上述したように、メインCPU500aには、例えば、32ビット÷32ビットの除算器(以下、単に32ビット除算器という)が内蔵されている。したがって、メインCPU500aでは、上記の乗算結果から、総払出数に2の累乗数を乗じた数を繰り返し減算する演算(以下、単に2の累乗数を乗じた数の繰り返し減算という)の代わりに、32ビット除算器を採用することができる。 Further, as described above, the main CPU 500a incorporates, for example, a 32-bit/32-bit divider (hereinafter simply referred to as a 32-bit divider). Therefore, in the main CPU 500a, instead of repeatedly subtracting the total number of payouts multiplied by a power of 2 from the above multiplication result (hereinafter simply referred to as repeated subtraction of the number multiplied by a power of 2), A 32-bit divider can be employed.

ここでは、2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例と、32ビット除算器を用いた第4の演算例を挙げ、その有効性を比較する。 Here, a third calculation example using repeated subtraction of a number multiplied by a power of 2 and a fourth calculation example using a 32-bit divider will be presented and their effectiveness will be compared.

(乗算結果÷総払出数を実行する第3の演算例)
図113は、2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例を説明するための説明図である。2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例では、乗算結果である被乗数(4バイト)÷総払出数である除数(4バイト)の演算例を示す。ここで、被除数は「712300」、除数は本来の除数「10000」に64を乗じた「64×10000」と仮定する。
(Third calculation example for executing multiplication result/total number of payouts)
FIG. 113 is an explanatory diagram for explaining a third calculation example using repeated subtraction of a number multiplied by a power of 2. FIG. In the third calculation example using repeated subtraction of a number multiplied by a power of 2, an example of calculation of the multiplicand (4 bytes) that is the result of multiplication divided by the divisor (4 bytes) that is the total payout number is shown. Here, it is assumed that the dividend is "712300" and the divisor is "64×10000" obtained by multiplying the original divisor "10000" by 64.

図113に示すように、1回目の判定において、被除数≧除数と判定されれば、被乗数から除数を減算できるので、比率導出手段は、被除数「712300」から除数「64×10000」を減算して被除数を「72300」に更新するとともに、商「0」に「64」を加算して商を「64(2進数で表すと1000000B)」に更新する。2回目~4回目の判定では、被除数<除数なので、除数の減算を行わない。5回目の判定において、被除数≧除数と判定されれば、比率導出手段は、被除数「72300」から除数「4×10000」を減算して被除数を「32300」に更新するとともに、商「64」に「4」を加えて商を「68(2進数で表すと1000100B)」に更新する。同様に、6回目の判定において、被除数≧除数と判定されれば、比率導出手段は、被除数「32300」から除数「2×10000」を減算して被除数を「12300」に更新するとともに、商「68」に「2」を加えて商を「70(2進数で表すと1000110B)」に更新する。7回目の判定において、被除数≧除数と判定されれば、比率導出手段は、被除数「12300」から除数「1×10000」を減算して被除数を「2300」に更新するとともに、商「70」に「1」を加えて商を「71(2進数で表すと1000111B)」に更新する。 As shown in FIG. 113, if it is determined that the dividend≧the divisor in the first determination, the divisor can be subtracted from the multiplicand. The dividend is updated to "72300", and "64" is added to the quotient "0" to update the quotient to "64 (1000000B in binary)". In the second to fourth determinations, since the dividend<the divisor, subtraction of the divisor is not performed. In the fifth determination, if it is determined that the dividend≧the divisor, the ratio deriving means subtracts the divisor "4×10000" from the dividend "72300" to update the dividend to "32300" and the quotient to "64". Add "4" to update the quotient to "68 (1000100B in binary)". Similarly, if it is determined that the dividend≧the divisor in the sixth determination, the ratio deriving means subtracts the divisor "2×10000" from the dividend "32300" to update the dividend to "12300" and the quotient " "68" is added with "2" to update the quotient to "70 (1000110B in binary)". In the seventh determination, if it is determined that the dividend≧the divisor, the ratio deriving means subtracts the divisor "1×10000" from the dividend "12300" to update the dividend to "2300" and the quotient to "70". Add "1" to update the quotient to "71 (1000111B in binary)".

整数=「64」から、減算ステップおよび加算ステップを7回繰り返すと、整数は小数点以下が切り捨てられて0(<1)となるので、演算処理が終了し、役物比率は、その時点の商「71」となる。これは、役物払出数「7123」を総払出数「10000」で除算した結果を%換算した71.23%の整数部分に相当するので、かかる演算が正しいことが理解できる。 When the subtraction step and the addition step are repeated 7 times from the integer = "64", the integer is rounded down to 0 (<1). It becomes "71". This corresponds to the integer part of 71.23% obtained by dividing the payout number "7123" by the total payout number "10000" and converting it into a percentage, so it can be understood that such calculation is correct.

図114は、第3の演算例を実現するための具体的な処理を示したフローチャートであり、図115は、第3の演算例を実現するための具体的なコマンドの一例を示した図である。かかる図114の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。なお、ここでは、4バイトの除数を格納しているアドレス「_EX_WRK1」と、4バイトの被除数を格納しているアドレス「_EX_WRK2」とが連続して配置されているとする。 FIG. 114 is a flowchart showing specific processing for implementing the third example of calculation, and FIG. 115 is a diagram showing an example of specific commands for implementing the third example of calculation. be. The numerical values of step S in the description of FIG. 114 are used only in the description of this figure. Here, it is assumed that an address "_EX_WRK1" storing a 4-byte divisor and an address "_EX_WRK2" storing a 4-byte dividend are arranged consecutively.

図114に示すように、まず、商を0に、整数(2の累乗数)を64に初期化し(S1)、被除数の上位2バイトと除数の上位2バイトを読み出し(S2)、被除数の上位2バイトが除数の上位2バイト未満であるか否か判定する(S3)。そして被除数の上位2バイトが除数の上位2バイト未満であれば(S3におけるYES)、ステップS10に移動する。具体的に、図115の1行目のコマンド「XOR A,A」によって商を示すAレジスタに「0」を設定し、2行目のコマンド「LD C,64」によって整数を示すCレジスタに「64」を設定し、4行目のコマンド「LD HL,_EX_WRK2+2」によって、被除数(役物払出数×乗数の乗算結果)を格納しているアドレス「_EX_WRK2」の値に2を加算した値(上位2バイトの値)をHLレジスタに読み出し、5行目のコマンド「LD DE,(HL-4)」によって、被除数を格納しているアドレス「_EX_WRK2」の4バイト下位に位置するアドレス「_EX_WRK1」に格納された除数の上位2バイトをDEレジスタに読み出し、6行目のコマンド「JCP C,(HL),DE,E_PYSAV27」によって、HLレジスタで示されるアドレスの値(被除数の上位2バイト)と、DEレジスタの値(除数の上位2バイト)とが比較され、キャリーフラグが立っていれば、すなわち、被除数の上位2バイトが除数の上位2バイト未満であれば、20行目の指標「E_PYSAV27」に移動する。 As shown in FIG. 114, first, the quotient is initialized to 0 and the integer (power of 2) is initialized to 64 (S1), the upper 2 bytes of the dividend and the upper 2 bytes of the divisor are read out (S2), and the upper 2 bytes of the dividend are read out. It is determined whether or not the 2 bytes are less than the upper 2 bytes of the divisor (S3). If the upper two bytes of the dividend are less than the upper two bytes of the divisor (YES in S3), the process moves to step S10. Specifically, the command "XOR A, A" on the first line in FIG. "64" is set, and by the command "LD HL, _EX_WRK2+2" on the 4th line, the value obtained by adding 2 to the value of the address "_EX_WRK2" that stores the dividend (the result of multiplication of the payout number x multiplier) ( The value of the upper 2 bytes) is read into the HL register, and the address "_EX_WRK1" located 4 bytes below the address "_EX_WRK2" where the dividend is stored is read by the command "LD DE, (HL-4)" on the fifth line. read the upper 2 bytes of the divisor stored in the DE register, and read the value of the address indicated by the HL register (the upper 2 bytes of the dividend) and , DE register value (upper 2 bytes of the divisor), and if the carry flag is set, that is, if the upper 2 bytes of the dividend are less than the upper 2 bytes of the divisor, the index "E_PYSAV27" on the 20th line ”.

次に、図114に示すように、被除数の上位2バイトが除数の上位2バイト以上であれば(S3におけるNO)、後段の計算のため、被除数の下位2バイトと除数の下位2バイトを読み出し(S4)、被除数の上位2バイトと除数の上位2バイトとが等しくないか否か、すなわち、被除数の上位2バイトが除数の上位2バイトより大きいか否か判定する(S5)。そして被除数の上位2バイトと除数の上位2バイトとが等しくなければ(S5におけるYES)、ステップS8に移動する。具体的に、図115の7行目のコマンド「LD HL,_EX_WRK1」によって、除数を格納しているアドレス「_EX_WRK1」の下位2バイトをHLレジスタに読み出し、8行目のコマンド「LD DE,(HL+4)」によって、除数を格納しているアドレス「_EX_WRK1」の4バイト上位に位置するアドレス「_EX_WRK2」に格納された被除数の下位2バイトをDEレジスタに読み出し、9行目のコマンド「JR NZ,E_PYSAV26」によって、6行目のコマンドの実行によってゼロフラグが立っていなければ、12行目の指標「E_PYSAV26」に移動する。 Next, as shown in FIG. 114, if the upper 2 bytes of the dividend are greater than or equal to the upper 2 bytes of the divisor (NO in S3), the lower 2 bytes of the dividend and the lower 2 bytes of the divisor are read out for subsequent calculation. (S4) It is determined whether the upper 2 bytes of the dividend and the upper 2 bytes of the divisor are not equal, that is, whether the upper 2 bytes of the dividend are greater than the upper 2 bytes of the divisor (S5). If the upper 2 bytes of the dividend and the upper 2 bytes of the divisor are not equal (YES in S5), the process moves to step S8. Specifically, by the command "LD HL, _EX_WRK1" on the seventh line in FIG. HL+4)” reads the lower two bytes of the dividend stored at the address “_EX_WRK2” located four bytes higher than the address “_EX_WRK1” storing the divisor to the DE register, and the command “JR NZ, E_PYSAV26” moves to the index “E_PYSAV26” on the 12th line if the zero flag is not set by execution of the command on the 6th line.

続いて、図114に示すように、ステップS4で読み出した被除数の下位2バイトが除数の下位2バイトより大きいか否か判定し(S6)、被除数の下位2バイトが除数の下位2バイトより大きい場合(S6におけるYES)、ステップS8に移動し、除数の下位2バイトが除数の下位2バイト以下の場合(S6におけるNO)、ステップS6において、被除数の下位2バイトと除数の下位2バイトとが等しくないか否か、すなわち、被除数の下位2バイトが除数の下位2バイト未満であるか否か判定する(S7)。そして被除数の下位2バイトと除数の下位2バイトとが等しくなければ(S7におけるYES)、ステップS10に移動する。具体的に、図115の10行目のコマンド「JCP C,(HL),DE,E_PYSAV26」によって、HLレジスタで示されるアドレスの値(除数の下位2バイト)と、DEレジスタの値(被除数の下位2バイト)とが比較され、キャリーフラグが立っていれば、すなわち、被除数の下位2バイトが被除数の下位2バイトより大きいと、12行目の指標「E_PYSAV26」に移動し、11行目のコマンド「JR NZ,E_PYSAV27」によって、10行目のコマンドの実行によってゼロフラグが立っていなければ、20行目の指標「E_PYSAV27」に移動する。 Subsequently, as shown in FIG. 114, it is determined whether or not the lower 2 bytes of the dividend read in step S4 are greater than the lower 2 bytes of the divisor (S6), and the lower 2 bytes of the dividend are greater than the lower 2 bytes of the divisor. If the lower 2 bytes of the divisor are equal to or less than the lower 2 bytes of the divisor (NO in S6), in step S6 the lower 2 bytes of the dividend and the lower 2 bytes of the divisor are It is determined whether they are not equal, that is, whether the lower 2 bytes of the dividend are less than the lower 2 bytes of the divisor (S7). If the lower 2 bytes of the dividend and the lower 2 bytes of the divisor are not equal (YES in S7), the process moves to step S10. Specifically, the command "JCP C, (HL), DE, E_PYSAV26" on line 10 in FIG. lower 2 bytes) and the carry flag is set, i.e., if the lower 2 bytes of the dividend are greater than the lower 2 bytes of the dividend, move to the index "E_PYSAV26" on the 12th line, and move to the index "E_PYSAV26" on the 11th line. With the command "JR NZ, E_PYSAV27", if the execution of the command on the 10th line does not set the zero flag, the process moves to the index "E_PYSAV27" on the 20th line.

次に、図114に示すように、被除数が除数以上であれば、商に、現在の整数を加算し(S8)、被除数から除数を減算して、その減算結果を新たな被除数として更新する(S9)。具体的に、図115の13行目のコマンド「ADD A,C」によって、商を示すAレジスタに、整数を示すCレジスタの値を加算し、14行目のコマンド「SUB DE,(HL)」によって、被除数の下位2バイトが格納されたDEレジスタの値から、HLレジスタで示されるアドレスに格納された除数の下位2バイトの値を減算してDEレジスタを更新し、15行目のコマンド「LD (HL+4),DE」によって、HLレジスタで示される除数を格納しているアドレスの4バイト上位に位置する被除数を示すアドレスに、減算結果である更新された被除数の下位2バイトを格納し、16行目のコマンド「LD DE,(HL+2)」によって、HLレジスタで示されるアドレスに格納された除数の上位2バイトをDEレジスタに読み出し、17行目のコマンド「LD HL,(HL+6)」によって、HLレジスタで示される除数を格納しているアドレスの6バイト上位に位置する被除数の上位2バイトをHLレジスタに読み出し、18行目のコマンド「SBC HL,DE」によって、被除数の上位2バイトが格納されたHLレジスタの値から、除数の上位2バイトが格納されたDEレジスタの値を減算してHLレジスタを更新し、19行目のコマンド「LD (_EX_WRK2+2),HL」によって、アドレス「_EX_WRK2」が示す被除数の上位2バイトに、減算結果である更新された被除数の上位2バイトを格納する。 Next, as shown in FIG. 114, if the dividend is greater than or equal to the divisor, the current integer is added to the quotient (S8), the divisor is subtracted from the dividend, and the subtraction result is updated as a new dividend ( S9). Specifically, the command "ADD A, C" on the 13th line in FIG. ' updates the DE register by subtracting the value of the lower 2 bytes of the divisor stored at the address indicated by the HL register from the value of the DE register storing the lower 2 bytes of the dividend, and the command on line 15. "LD (HL+4), DE" stores the lower 2 bytes of the updated dividend, which is the subtraction result, at the address indicating the dividend located 4 bytes higher than the address storing the divisor indicated by the HL register. , by the command "LD DE, (HL+2)" on the 16th line, the upper two bytes of the divisor stored at the address indicated by the HL register are read out to the DE register, and the command "LD HL, (HL+6)" on the 17th line is read. reads the upper 2 bytes of the dividend located 6 bytes higher than the address where the divisor indicated by the HL register is stored to the HL register. The value of the DE register, which stores the upper 2 bytes of the divisor, is subtracted from the value of the HL register, which stores the , to update the HL register. _EX_WRK2” stores the updated upper 2 bytes of the dividend, which is the subtraction result, in the higher 2 bytes of the dividend.

続いて、図114に示すように、除数を2で除算(右にビットシフト)し、新たな除数として更新し(S10)、整数を2で除算(右にビットシフト)し、新たな整数として更新し(S11)、整数が0ではないか否か判定し(S12)、0でなければ(S12におけるYES)、ステップS2からの処理を繰り返し、0であれば(S12におけるNO)、役物比率をメインRAM500cに設定し(S13)、当該2の累乗数を乗じた数を繰り返し減算する処理を終了する。具体的に、図115の21行目のコマンド「LD HL,_EX_WRK1+3」によって、除数の最上位1バイトを示すアドレス「_EX_WRK1+3」をHLレジスタに読み出し、22行目のコマンド「SRL (HL)」によってHLレジスタで示されるアドレスの値(除数の4バイト目)が右に1だけビットシフトされ、23行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、24行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の下位から3バイト目)が右に1だけビットシフトされ、25行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、26行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の下位から2バイト目)が右に1だけビットシフトされ、27行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、28行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の最下位1バイト)が右に1だけビットシフトされ、29行目のコマンド「SRL C」によって、整数を示すCレジスタの値が右に1だけビットシフトされ、30行目のコマンド「JR NZ,E_PYSAV25」によって、29行目のコマンドの実行によってゼロフラグが立っていなければ、3行目の指標「E_PYSAV25」に移動し、32行目の「LD (_EX_DPA7),A」によって、商であるAレジスタの値をアドレス「_EX_DPA7」に格納する。 Subsequently, as shown in FIG. 114, the divisor is divided by 2 (bit-shifted to the right), updated as a new divisor (S10), the integer is divided by 2 (bit-shifted to the right), and the new integer is update (S11), determine whether or not the integer is 0 (S12), if not 0 (YES in S12), repeat the process from step S2, and if 0 (NO in S12), The ratio is set in the main RAM 500c (S13), and the process of repeatedly subtracting the number obtained by multiplying the power of 2 is terminated. Specifically, the command "LD HL, _EX_WRK1+3" on the 21st line in FIG. The value of the address indicated by the HL register (4th byte of the divisor) is shifted to the right by 1 bit, the command "DEC HL" on the 23rd line decrements the value of the HL register by 1, and the command "RR (HL)" shifts the value of the address indicated by the HL register (3rd byte from the lowest part of the divisor) by 1 bit to the right, and the command "DEC HL" on the 25th line shifts the value of the HL register to 1. , and the value of the address indicated by the HL register (second byte from the lowest divisor) is shifted right by 1 by the command "RR (HL)" on the 26th line, and the command "DEC HL" on the 27th line is shifted to the right. , the value of the HL register is decremented by 1, and the value of the address indicated by the HL register (lowest 1 byte of the divisor) is shifted right by 1 by the command "RR (HL)" on the 28th line, The command "SRL C" on the 29th line shifts the value of the C register indicating an integer to the right by one bit, and the command "JR NZ, E_PYSAV25" on the 30th line clears the zero flag by executing the command on the 29th line. If not, move to the index "E_PYSAV25" on the 3rd line and store the value of the A register, which is the quotient, at the address "_EX_DPA7" by "LD (_EX_DPA7), A" on the 32nd line.

かかる第3の演算例により、加算、減算、乗算といった簡易な演算のみで、また、整数のみにより、除算を実現することが可能となる。また、ここでは、減算および加算処理を7回繰り返せば足りるので、演算処理を迅速に行うことができる。さらに、役物比率の小数点以下を切り捨てることを前提とすると、誤差が生じないので、役物比率を正確に導出することが可能となる。 According to the third operation example, it is possible to realize division using only simple operations such as addition, subtraction, and multiplication, and using only integers. Further, here, since it is sufficient to repeat the subtraction and addition processing seven times, the arithmetic processing can be performed quickly. Furthermore, assuming that the decimal point of the character product ratio is rounded down, no error occurs, so it is possible to derive the character product ratio accurately.

ここで、当該コマンド例では、図115に示すように、コマンドサイズの合計は59バイトとなり、サイクル数の単純合計は95/90サイクルとなる。また、実際のサイクル数は、以下のようになる。すなわち、当該処理では、指標「E_PYSAV25」の次のコマンド(4行目)から指標「E_PYSAV28」の直前のコマンド(30行目)までを7回ループすることとなる。このとき、7回全てのループにおいて、6行目のコマンド「JCP C,(HL),DE,E_PYSAV27」で指標「E_PYSAV27」に移動した場合、7行目~19行目のコマンドを実行しないので、サイクル数は最小の321(3+45(最初の6ループ)×6+44(7ループ目)+4)サイクルとなる。一方、全ループにおいて、6行目のコマンド「JCP C,(HL),DE,E_PYSAV27」で指標「E_PYSAV27」に移動しなかった場合、サイクル数は最大となる。ただし、役物比率は100%を越えることはなく、95%および63%のときの処理負荷が最大になることを勘案すると、サイクル数の最大は566(3+61(初回ループ)+83(残りの6ループ)×6+4)サイクルとなる。したがって、サイクル数の実質的な合計は、321~566サイクルの範囲となる。 Here, in this command example, as shown in FIG. 115, the total command size is 59 bytes, and the simple sum of the number of cycles is 95/90 cycles. Also, the actual number of cycles is as follows. That is, in the processing, the command (4th line) following the index "E_PYSAV25" to the command (30th line) immediately preceding the index "E_PYSAV28" is looped seven times. At this time, in all 7 loops, when the command "JCP C, (HL), DE, E_PYSAV27" on the 6th line moves to the index "E_PYSAV27", the commands on the 7th to 19th lines are not executed. , the minimum number of cycles is 321 (3+45 (first 6 loops)×6+44 (7th loop)+4) cycles. On the other hand, in all loops, if the command "JCP C, (HL), DE, E_PYSAV27" on the 6th line does not move to the index "E_PYSAV27", the number of cycles will be maximum. However, the role ratio never exceeds 100%, and the maximum processing load is at 95% and 63%. loop)×6+4) cycles. Therefore, the practical total number of cycles ranges from 321 to 566 cycles.

なお、ここでも、役物比率の小数点以下を切り捨てることを前提としたが、かかる場合に限らず、役物比率の小数点以下を四捨五入する場合、減算および加算処理を8回繰り返し、8回目の判定において、被除数≧除数と判定されれば、商に1を加えるとすることで実現できる。 It should be noted that here also, it is assumed that the decimal part of the role ratio is rounded off, but not limited to this case, when the decimal part of the role ratio is rounded off, the subtraction and addition process is repeated eight times, and the eighth determination can be realized by adding 1 to the quotient if it is determined that the dividend≧the divisor.

(乗算結果÷総払出数を実行する第4の演算例)
図116は、第4の演算例を実現するための具体的な処理を示したフローチャートであり、図117は、第4の演算例を実現するための具体的なコマンドの一例を示した図である。かかる図116の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。なお、ここでは、図112を用いて説明したように、役物払出数×乗数の乗算結果である被除数は、すでに被除数設定レジスタ「DIVA32」に設定されているとする。
(Fourth calculation example of executing multiplication result/total number of payouts)
FIG. 116 is a flowchart showing specific processing for realizing the fourth example of calculation, and FIG. 117 is a diagram showing an example of specific commands for realizing the fourth example of calculation. be. The numerical values of step S in the description of FIG. 116 are used only in the description of this figure. Here, as described with reference to FIG. 112, it is assumed that the dividend, which is the multiplication result of the number of payouts×multiplier, has already been set in the dividend setting register "DIVA32".

図116に示すように、まず、累計役物カウンタの値をレジスタに呼び出し、除数設定レジスタ「DIVB32」に設定する(S1)。具体的に、図117の1行目のコマンド「LD HL,(_EX_PRZR)」によって、累計役物カウンタを示すアドレス「_EX_PRZR」に格納されている値がHLレジスタに読み出され、2行目のコマンド「LD A,(_EX_PRZR+2)」によって、累計役物カウンタの上位1バイトを示すアドレス「_EX_PRZR+2」に格納されている値がAレジスタに読み出され、3行目のコマンド「OUT (LOW @DIVB32_+0),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVB32_」を下位1バイトとし、そのアドレスに、HLレジスタの値を出力し、4行目のコマンド「OUT (LOW @DIVB32_+2),A」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVB32_+2」を下位1バイトとし、そのアドレスに、Aレジスタの値を出力する。なお、除数設定レジスタ「@DIVB32_」の上位1バイトにはデフォルト値として「00H」が設定されている。 As shown in FIG. 116, first, the value of the total bonus counter is read into a register and set in the divisor setting register "DIVB32" (S1). Specifically, the command "LD HL, (_EX_PRZR)" on the first line in FIG. By the command "LD A, (_EX_PRZR+2)", the value stored at the address "_EX_PRZR+2" indicating the upper 1 byte of the total bonus counter is read to the A register, and the command "OUT (LOW @DIVB32_+0 ), HL” sets the value of the U register to the upper 1 byte of the address, sets the address “@DIVB32_” to the lower 1 byte, outputs the value of the HL register to that address, and outputs the value of the HL register to the address. @DIVB32_+2),A" sets the value of the U register as the upper 1 byte of the address, sets the address "@DIVB32_+2" as the lower 1 byte, and outputs the value of the A register to that address. Note that the upper 1 byte of the divisor setting register "@DIVB32_" is set to "00H" as a default value.

次に、図116に示すように、除算の時間待ちを行い(S2)、所定時間経過後、演算結果をメインRAM500cに設定する(S3)。具体的に、図117の5~8行目のコマンド「NOP」によって4サイクルの時間を消費させ、9行目のコマンド「IN A,(LOW @DIV32__+0)によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIV32__+0」を下位1バイトとし、そのアドレスで示される除算結果レジスタの値をAレジスタに読み出し、11行目の「LD (_EX_DPA7),A」によって、商であるAレジスタの値をアドレス「_EX_DPA7」に格納する。 Next, as shown in FIG. 116, division is waited for (S2), and after a predetermined period of time has passed, the calculation result is set in the main RAM 500c (S3). Specifically, the command "NOP" on the 5th to 8th lines in FIG. 1 byte, the address "@DIV32__+0" is set to the lower 1 byte, the value of the division result register indicated by that address is read into the A register, and the quotient A register is stored in the address "_EX_DPA7".

ここで、当該コマンド例では、図117に示すように、コマンドサイズの合計は20バイトとなり、サイクル数の合計は28サイクルとなる。 Here, in this command example, as shown in FIG. 117, the total command size is 20 bytes, and the total number of cycles is 28 cycles.

以上説明したように、乗算結果÷総払出数を実行する第3の演算例と、乗算結果÷総払出数を実行する第4の演算例とを比較すると、コマンドサイズの合計およびサイクル数の合計のいずれも第4の演算例の方が小さくなる。したがって、スロットマシン400で乗算結果÷総払出数を実行する場合、図116、図117を用いて説明したように、32ビット除算器を用いて実行する方が好ましい。 As described above, when comparing the third calculation example of executing the multiplication result/total number of payouts and the fourth calculation example of executing the multiplication result/total number of payouts, the total command size and the total number of cycles are are smaller in the fourth calculation example. Therefore, when the multiplication result÷total number of payouts is executed in the slot machine 400, it is preferable to use a 32-bit divider as described with reference to FIGS.

以上、第1の演算例~第4の演算例を挙げて、スロットマシン400における役物比率の演算態様を説明した。以下、パチンコ機におけるベース値について説明する。なお、スロットマシン400における有利区間比率、指示込役物比率、連続役物比率、役物比率、役物等状態比率については、全て小数点以下を切り捨てるとしているが、パチンコ機におけるベース値(賞球数/アウト数)は小数点以下を四捨五入する。そこで、パチンコ機においては、賞球数の乗数として「100」ではなく「200」を採用し、小数点以下が0.5以上であるか否かを整数(最下位ビット)に置き換えて判断する。したがって、ベース値は、賞球数に乗数(200)を乗じ、その後、乗数を乗じた結果(被除数)をアウト数で除算し、最下位ビット(MLB)に応じて切り上げまたは切り捨てを判断する。 The manner of calculating the role product ratio in the slot machine 400 has been described above with reference to the first to fourth examples of calculation. The base value of the pachinko machine will be described below. It should be noted that the advantageous section ratio, the instructed character ratio, the continuous character ratio, the character ratio, and the condition ratio of the character, etc. in the slot machine 400 are all rounded down to the nearest whole number. number/out number) is rounded off to the nearest whole number. Therefore, in a pachinko machine, "200" is used instead of "100" as a multiplier for the number of winning balls, and whether or not the number after the decimal point is 0.5 or more is determined by replacing it with an integer (least significant bit). Therefore, the base value is obtained by multiplying the number of prize balls by a multiplier (200), then dividing the result (dividend) by the number of outs, and rounding up or down depending on the least significant bit (MLB).

ここでは、8ビットMUL命令および2の累乗数を乗じた数の繰り返し減算を用いた第5の演算例と、16ビット乗算器および32ビット除算器を用いた第6の演算例を挙げ、その有効性を比較する。 Here, a fifth operation example using an 8-bit MUL instruction and repeated subtraction of a number multiplied by a power of 2, and a sixth operation example using a 16-bit multiplier and a 32-bit divider will be presented. Compare effectiveness.

(賞球数×乗数÷アウト数を実行する第5の演算例)
図118は、8ビットMUL命令および2の累乗数を乗じた数の繰り返し減算を用いた第5の演算例を実現するための具体的な処理を示したフローチャートであり、図119は、第5の演算例を実現するための具体的なコマンドの一例を示した図である。かかる図118の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。なお、ここでは、3バイトの被除数(賞球数に乗数を乗じた演算結果)を格納しているアドレス「R_ERW_BF1」と、3バイトの除数(アウト数)を格納しているアドレス「R_ERW_BF2」とが連続して配置されているとする。
(Fifth calculation example for executing the number of prize balls x multiplier / number of outs)
FIG. 118 is a flow chart showing specific processing for realizing the fifth operation example using an 8-bit MUL instruction and repeated subtraction of a number multiplied by a power of 2. FIG. FIG. 10 is a diagram showing an example of a specific command for realizing the calculation example of . The numerical values of step S in the description of FIG. 118 are used only in the description of this figure. Here, the address "R_ERW_BF1" storing a 3-byte dividend (calculation result obtained by multiplying the number of winning balls by a multiplier) and the address "R_ERW_BF2" storing a 3-byte divisor (number of outs) are used. are arranged consecutively.

図118に示すように、まず、通常賞球カウンタの値をBCレジスタに読み出し(S1)、通常アウトカウンタの値をHLレジスタに読み出し(S2)、HLレジスタが0であるか否か判定され(S3)、0であれば(S3におけるYES)、ステップS23に移行する。具体的に、図119の2行目のコマンド「XOR A,A」によって、後程、除数の計算に用いられるAレジスタの値を初期化し、3行目の「LD BC,(R_ERW_TJS)」によって、アドレス「R_ERW_TJS」で示される通常賞球カウンタの値(賞球数)がBCレジスタに読み出され、4行目のコマンド「LD HL,(R_ERW_TJO」によって、アドレス「R_ERW_TJO」で示される通常アウトカウンタの値(アウト数)がHLレジスタに読み出され、5行目のコマンド「JR TZ,E_SHYMT_60」によって、HLレジスタの値が0であれば、49行目の指標「E_SHYMT_60」に移動する。 As shown in FIG. 118, first, the value of the normal ball counter is read into the BC register (S1), the value of the normal out counter is read into the HL register (S2), and it is determined whether the HL register is 0 ( S3), if it is 0 (YES in S3), the process proceeds to step S23. Specifically, the command "XOR A, A" on the second line in FIG. The value of the normal prize ball counter indicated by the address "R_ERW_TJS" (the number of prize balls) is read to the BC register, and the normal out counter indicated by the address "R_ERW_TJO" is read by the command "LD HL, (R_ERW_TJO" on the fourth line. (number of outs) is read to the HL register, and if the value of the HL register is 0 by the command "JR TZ, E_SHYMT-- 60" on the fifth line, it moves to the index "E_SHYMT-- 60" on the 49th line.

次に、図118に示すように、アウト数に整数(2の累乗数、ここでは128)を乗じ(S4)、その演算結果を除数バッファとしてメインRAM500cに格納する(S5)。具体的に、図119の6行目のコマンド「SRL H」によって、Hレジスタの値が右に1だけビットシフトされ、7行目のコマンド「RR L」によって、Hレジスタからのキャリアも含めLレジスタの値が右に1だけビットシフトされ、8行目のコマンド「RRA」によって、Lレジスタからのキャリアも含めAレジスタの値が右に1だけビットシフトされる。ここで、HLAレジスタという単位で数値を判断すると、HLレジスタの値に256を乗じ、その後に右に1だけビットシフトされていると見做せるので、アウト数に128(256/2)を乗じたこととなり、これが除数となる。そして、図119の9行目のコマンド「LD (R_ERW_BF2),A」によって、除数の下位バイトであるAレジスタの値をアドレス「R_ERW_BF2」に格納し、10行目のコマンド「LD (R_ERW_BF2+1),HL」によって、除数の上位2バイトであるHLレジスタの値をアドレス「R_ERW_BF2+1」に格納する。 Next, as shown in FIG. 118, the out number is multiplied by an integer (a power of 2, here 128) (S4), and the result of the calculation is stored in the main RAM 500c as a divisor buffer (S5). Specifically, the command "SRL H" on the 6th line in FIG. 119 shifts the value of the H register to the right by 1 bit, and the command "RR L" on the 7th line shifts the value of the H register to L including the carrier from the H register. The value of the register is shifted to the right by 1 bit, and the value of the A register including the carrier from the L register is shifted to the right by 1 bit by the command "RRA" on the 8th line. Here, if the numerical value is judged in terms of the HLA register, the value of the HL register is multiplied by 256, and since it can be regarded as being shifted by 1 to the right, the out number is multiplied by 128 (256/2). This is the divisor. Then, the value of the A register, which is the lower byte of the divisor, is stored in the address "R_ERW_BF2" by the command "LD (R_ERW_BF2), A" on the ninth line in FIG. HL” stores the value of the HL register, which is the upper two bytes of the divisor, at the address “R_ERW_BF2+1”.

続いて、図118に示すように、被乗数(賞球数)の下位バイトであるCレジスタの値と乗数(200)とを乗じ(S6)、その演算結果をDEレジスタに設定する(S7)。具体的に、図119の11行目のコマンド「LD A,C」によって、Cレジスタの値をAレジスタに複製し、12行目のコマンド「MUL HL,A,200」によって、Aレジスタの値と200とを乗じた結果をHLレジスタに保持し、13行目のコマンド「EX DE,HL」によって、HLレジスタの値をDEレジスタに設定する。 Subsequently, as shown in FIG. 118, the value of the C register, which is the lower byte of the multiplicand (the number of prize balls), is multiplied by the multiplier (200) (S6), and the result is set in the DE register (S7). Specifically, the command "LD A, C" on the 11th line in FIG. and 200 is held in the HL register, and the value of the HL register is set in the DE register by the command "EX DE, HL" on the 13th line.

次に、図118に示すように、被乗数の上位バイトであるBレジスタの値と乗数(200)とを乗じ(S8)、その演算結果にDレジスタの値を加算して演算結果を更新し(S9)、その演算結果を被除数バッファとしてメインRAM500cに格納する(S10)。具体的に、図119の14行目のコマンド「LD A,B」によって、Bレジスタの値をAレジスタに複製し、15行目のコマンド「MUL HL,A,200」によって、Aレジスタの値と200とを乗じた結果をHLレジスタに保持し、16行目のコマンド「ADDWB HL,D」によって、乗算結果のHLレジスタに、13行目のコマンド「EX DE,HL」によって設定されたDEレジスタのうちの上位1バイト(Dレジスタの値)のみを加算し、17行目のコマンド「LD A,E」によって、13行目のコマンド「EX DE,HL」によって設定されたDEレジスタのうち下位1バイトをAレジスタに設定し、18行目のコマンド「LD (R_ERW_BF1),A」によって、被除数の下位バイトであるAレジスタの値をアドレス「R_ERW_BF1」に格納し、19行目のコマンド「LD (R_ERW_BF1+1),HL」によって、被除数の上位2バイトであるHLレジスタの値をアドレス「R_ERW_BF1+1」に格納する。 Next, as shown in FIG. 118, the value of the B register, which is the upper byte of the multiplicand, is multiplied by the multiplier (200) (S8), and the value of the D register is added to the operation result to update the operation result ( S9), the calculation result is stored in the main RAM 500c as a dividend buffer (S10). Specifically, the command "LD A, B" on the 14th line in FIG. and 200 is held in the HL register. Only the high-order 1 byte (the value of the D register) of the registers is added, and the DE register set by the command "EX DE, HL" on the 13th line is added by the command "LD A, E" on the 17th line. The lower 1 byte is set in the A register, and the value of the A register, which is the lower byte of the dividend, is stored in the address "R_ERW_BF1" by the command "LD (R_ERW_BF1), A" on the 18th line, and the command " LD (R_ERW_BF1+1), HL" stores the value of the HL register, which is the upper two bytes of the dividend, at the address "R_ERW_BF1+1".

続いて、図118に示すように、ループ回数を8に、商を0に初期化し(S11)、商を2倍し(S12)、被除数の上位2バイトと除数の上位2バイトを読み出し(S13)、被除数の上位2バイトが除数の上位2バイト未満であるか否か判定する(S14)。そして被除数の上位2バイトが除数の上位2バイト未満であれば(S14におけるYES)、ステップS20に移動する。具体的に、図119の20行目のコマンド「LD BC,8*256+0」によって、ループ回数を示すBレジスタに8を、商を示すCレジスタに0を設定し、22行目のコマンド「SLA C」によって、Cレジスタの値を左に1ビットシフトし(MSBには0が入る)、23行目のコマンド「LD HL,R_ERW_BF1+1」によって、被除数(賞球数×乗数の乗算結果)を格納しているアドレス「R_ERW_BF1」の値に1を加算した値をHLレジスタに読み出し、24行目のコマンド「LD DE,(HL+3)」によって、被除数を格納しているアドレス「R_ERW_BF1」の3バイト上位に位置するアドレス「R_ERW_BF2」に格納された除数の上位2バイトをDEレジスタに読み出し、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」によって、HLレジスタで示されるアドレスの値(被除数の上位2バイト)と、DEレジスタの値(除数の上位2バイト)とが比較され、キャリーフラグが立っていれば、すなわち、被除数の上位2バイトが除数の上位2バイト未満であれば、38行目の指標「E_SHYMT_55」に移動する。 Subsequently, as shown in FIG. 118, the loop count is initialized to 8 and the quotient is initialized to 0 (S11), the quotient is doubled (S12), and the upper 2 bytes of the dividend and the upper 2 bytes of the divisor are read out (S13). ), and it is determined whether or not the upper two bytes of the dividend are less than the upper two bytes of the divisor (S14). If the upper two bytes of the dividend are less than the upper two bytes of the divisor (YES in S14), the process moves to step S20. Specifically, the command "LD BC, 8*256+0" on the 20th line in FIG. C" shifts the value of the C register to the left by 1 bit (0 is entered in the MSB), and the command "LD HL, R_ERW_BF1+1" on the 23rd line stores the dividend (the result of multiplying the number of prize balls by the multiplier). The value obtained by adding 1 to the value of the address "R_ERW_BF1" stored is read into the HL register. The upper 2 bytes of the divisor stored at the address "R_ERW_BF2" located in , are read to the DE register, and the command "JCP C, (HL), DE, E_SHYMT_55" on the 25th line reads the value of the address indicated by the HL register ( The upper 2 bytes of the dividend) and the DE register value (the upper 2 bytes of the divisor) are compared, and if the carry flag is set, that is, if the upper 2 bytes of the dividend are less than the upper 2 bytes of the divisor, Go to the index "E_SHYMT_55" on the 38th line.

次に、図118に示すように、被除数の上位2バイトが除数の上位2バイト以上であれば(S14におけるNO)、後段の計算のため、除数の下位1バイトと被除数の下位1バイトを読み出し(S15)、ステップS14において、被除数の上位2バイトと除数の上位2バイトとが等しくないか否か、すなわち、被除数の上位2バイトが除数の上位2バイトより大きいか否か判定する(S16)。そして被除数の上位2バイトと除数の上位2バイトとが等しくなければ(S16におけるYES)、ステップS18に移動し、被除数の上位2バイトと除数の上位2バイトとが等しければ(S16におけるNO)、被除数の下位1バイトが除数の下位1バイト未満であるか否か判定する(S17)。そして被除数の下位1バイトが除数の下位1バイト未満であれば(S17におけるYES)、ステップS20に移動し、被除数の下位1バイトが除数の下位1バイト以上であれば(S17におけるNO)、ステップS18に移動する。具体的に、図119の26行目のコマンド「LD L,LOW R_ERW_BF2」によって、除数を格納しているアドレス「R_ERW_BF2」の下位1バイトをLレジスタに読み出し(なお、Hレジスタには、23行目のコマンド「LD HL,R_ERW_BF1+1」によって、既に「R_ERW_BF2」の上位1バイトが保持されている)、27行目のコマンド「LD A,(HL-3)」によって、除数を格納しているアドレス「R_ERW_BF2」の3バイト下位に位置するアドレス「R_ERW_BF1」に格納された被除数の下位1バイトをAレジスタに読み出し、28行目のコマンド「JR NZ,E_SHYMT_50」によって、25行目のコマンドの実行によってゼロフラグが立っていなければ、31行目の指標「E_SHYMT_50」に移動し、29行目のコマンド「CP A,(HL)」によって、Aレジスタの値(被除数の下位1バイト)と、HLレジスタで示されるアドレスの値(除数の下位1バイト)とが比較され、30行目のコマンド「JR C,E_SHYMT_55」によって、キャリーフラグが立っていれば、すなわち、被除数の下位1バイトが除数の下位1バイト未満であれば、38行目の指標「E_SHYMT_55」に移動する。 Next, as shown in FIG. 118, if the upper 2 bytes of the dividend are greater than or equal to the upper 2 bytes of the divisor (NO in S14), the lower 1 byte of the divisor and the lower 1 byte of the dividend are read out for subsequent calculation. (S15) In step S14, it is determined whether or not the upper 2 bytes of the dividend and the upper 2 bytes of the divisor are not equal, that is, whether or not the upper 2 bytes of the dividend are greater than the upper 2 bytes of the divisor (S16). . If the upper 2 bytes of the dividend and the upper 2 bytes of the divisor are not equal (YES in S16), the process proceeds to step S18. It is determined whether or not the lower 1 byte of the dividend is less than the lower 1 byte of the divisor (S17). If the lower 1 byte of the dividend is less than the lower 1 byte of the divisor (YES in S17), the process moves to step S20. Move to S18. Specifically, the lower 1 byte of the address "R_ERW_BF2" storing the divisor is read to the L register by the command "LD L, LOW R_ERW_BF2" on the 26th line in FIG. The upper 1 byte of "R_ERW_BF2" is already held by the second command "LD HL, R_ERW_BF1+1"), and the address storing the divisor by the command "LD A, (HL-3)" on the 27th line. The lower 1 byte of the dividend stored at the address "R_ERW_BF1" located 3 bytes lower than "R_ERW_BF2" is read into the A register, and the command "JR NZ, E_SHYMT_50" on the 28th line and the command on the 25th line are executed. If the zero flag is not set, move to the index "E_SHYMT_50" on the 31st line, and execute the command "CP A, (HL)" on the 29th line with the value of the A register (lower 1 byte of the dividend) and the The value of the indicated address (lower 1 byte of the divisor) is compared, and if the carry flag is set by the command "JRC, E_SHYMT_55" on the 30th line, that is, the lower 1 byte of the dividend becomes the lower 1 byte of the divisor. If it is less than bytes, go to the index "E_SHYMT_55" on the 38th line.

続いて、図118に示すように、被除数が除数以上であれば、被除数から除数を減算して、その減算結果を新たな被除数として更新し(S18)、商に1を加算する(S19)。具体的に、図119の32行目のコマンド「SUB A,(HL)」によって、被除数の下位1バイトが格納されたAレジスタの値から、HLレジスタで示される除数の下位1バイトの値を減算し、33行目のコマンド「LD (HL-3),A」によって、HLレジスタで示される除数を格納しているアドレスの3バイト下位に位置する被除数を示すアドレスに、減算結果である更新された被除数の下位1バイトを格納し、34行目のコマンド「LD HL,(HL-2)」によって、HLレジスタで示される除数を格納しているアドレスの2バイト下位に位置する被除数の上位2バイトを示すアドレスをHLレジスタに読み出し、35行目のコマンド「SBC HL,DE」によって、被除数の上位2バイトが格納されたHLレジスタの値から、除数の上位2バイトが格納されたDEレジスタの値を減算し、36行目のコマンド「LD (R_ERW_BF1+1),HL」によって、アドレス「R_ERW_BF1」が示す被除数の上位2バイトに、減算結果である更新された被除数の上位2バイトを格納し、37行目のコマンド「INC C」によって、商を示すCレジスタの値を1だけインクリメントする。 Subsequently, as shown in FIG. 118, if the dividend is greater than or equal to the divisor, the divisor is subtracted from the dividend, the subtraction result is updated as a new dividend (S18), and 1 is added to the quotient (S19). Specifically, the command "SUB A, (HL)" on the 32nd line in FIG. By the command "LD (HL-3), A" on the 33rd line, the address indicating the dividend located 3 bytes lower than the address storing the divisor indicated by the HL register is updated as the result of the subtraction. The lower 1 byte of the obtained dividend is stored, and the command "LD HL, (HL-2)" on the 34th line stores the upper 1 byte of the dividend located 2 bytes lower than the address where the divisor indicated by the HL register is stored. The address indicating 2 bytes is read out to the HL register, and the command "SBC HL, DE" on the 35th line converts the value of the HL register, which stores the upper 2 bytes of the dividend, to the DE register, which stores the upper 2 bytes of the divisor. and stores the updated upper 2 bytes of the dividend, which is the subtraction result, in the upper 2 bytes of the dividend indicated by the address "R_ERW_BF1" by the command "LD (R_ERW_BF1+1), HL" on the 36th line, The command "INC C" on the 37th line increments the value of the C register, which indicates the quotient, by one.

次に、図118に示すように、除数を2で除算(右にビットシフト)し、新たな除数として更新し(S20)、ループ回数を減算し、そのループ回数が0ではないか否か判定し(S21)、0でなければ(S21におけるYES)、ステップS12からの処理を繰り返し、0であれば(S21におけるNO)、四捨五入を実行し(S22)、ベース値をメインRAM500cに設定して(S23)、当該処理を終了する。具体的に、図119の39行目のコマンド「LD HL,R_ERW_BF2+2」によって、除数の上位1バイトを示すアドレス「R_ERW_BF2+2」をHLレジスタに読み出し、40行目のコマンド「SRL (HL)」によってHLレジスタで示されるアドレスの値(除数の3バイト目)が右に1だけビットシフトされ、41行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、42行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の2バイト目)が右に1だけビットシフトされ、43行目のコマンド「DEC HL」によって、HLレジスタの値が1だけデクリメントされ、44行目のコマンド「RR (HL)」によってHLレジスタで示されるアドレスの値(除数の1バイト目)が右に1だけビットシフトされ、45行目のコマンド「DJNZ E_SHYMT_45」によって、ループ回数を示すBレジスタの値が1だけデクリメントされ、その値が0でなければ、21行目の指標「E_SHYMT_45」へ移動する。一方、ループ回数が0となると、図119の46行目のコマンド「LD A,C」によって、商を示すCレジスタの値がAレジスタに複製され、47行目のコマンド「SRL A」によってAレジスタで示されるアドレスの値が右に1だけビットシフトされ、48行目のコマンド「ADC A,0」によって、47行目のコマンド「SRL A」によってキャリーフラグが立っていれば、すなわち、小数点以下が0.5以上であれば、Aレジスタに1が加算され、50行目のコマンド「LD HL,R_ERW_BAS」によって、ベース値を示すアドレス「R_ERW_BAS」がHLレジスタに設定され、51行目のコマンド「LD (HL),A」によって、ベース値を示すAレジスタの値がアドレス「R_ERW_BAS」に格納される。 Next, as shown in FIG. 118, the divisor is divided by 2 (bit-shifted to the right), updated as a new divisor (S20), the loop count is subtracted, and it is determined whether or not the loop count is 0. (S21), if not 0 (YES in S21), the process from step S12 is repeated. (S23), the process ends. Specifically, the command "LD HL, R_ERW_BF2+2" on the 39th line in FIG. The value of the address indicated by the register (the third byte of the divisor) is shifted right by 1, the command "DEC HL" on the 41st line decrements the value of the HL register by 1, and the command " RR (HL)" shifts the value of the address indicated by the HL register (the second byte of the divisor) by 1 bit to the right, and the command "DEC HL" on the 43rd line decrements the value of the HL register by 1. , the value of the address indicated by the HL register (the first byte of the divisor) is shifted to the right by 1 bit by the command "RR (HL)" on the 44th line, and the loop count is changed by the command "DJNZ E_SHYMT_45" on the 45th line. is decremented by 1, and if the value is not 0, go to the index "E_SHYMT_45" on the 21st line. On the other hand, when the loop count becomes 0, the value of the C register indicating the quotient is duplicated in the A register by the command "LD A, C" on the 46th line in FIG. If the value of the address indicated by the register is shifted to the right by 1 bit and the carry flag is set by the command "ADC A, 0" on the 48th line and the command "SRL A" on the 47th line, that is, the decimal point If the following is 0.5 or more, 1 is added to the A register, the address "R_ERW_BAS" indicating the base value is set in the HL register by the command "LD HL, R_ERW_BAS" on the 50th line, and The command "LD (HL), A" stores the value of the A register indicating the base value at the address "R_ERW_BAS".

かかる第5の演算例により、加算、減算、乗算といった簡易な演算のみで、また、2の累乗数を乗じた数の繰り返し減算を用いてベース値を導出することが可能となる。 According to the fifth example of calculation, it is possible to derive the base value by using only simple calculations such as addition, subtraction, and multiplication, and by using repeated subtraction of numbers multiplied by powers of 2.

ここで、当該コマンド例では、図119に示すように、コマンドサイズの合計は97バイトとなり、サイクル数の単純合計は136/131サイクルとなる。また、実際のサイクル数は、以下のようになる。すなわち、当該処理では、指標「E_SHYMT_45」の次のコマンド(22行目)から45行目のコマンド「DJNZ E_SHYMT_45」までを8回ループすることとなる。このとき、8回全てのループにおいて、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」で指標「E_SHYMT_55」に移動した場合、26行目~37行目のコマンドを実行しないので、サイクル数は最小の367(54+38(最初の7ループ)×7+37(8回目のループ)+10)サイクルとなる。一方、全ループにおいて、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」で指標「E_SHYMT_55」に移動しなかった場合、サイクル数は最大となる。ただし、取り得る数値の関係で、1、2回目のループでは、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」で移動せず、28行目のコマンド「JR NZ,E_SHYMT_50」で移動し、3~8回目のループでは、25行目のコマンド「JCP C,(HL),DE,E_SHYMT_55」、28行目のコマンド「JR NZ,E_SHYMT_50」、30行目のコマンド「JR C,E_SHYMT_55」のいずれにおいても移動しない場合が最大となることを勘案すると、サイクル数の最大は601(54+65(最初の2ループ)×2+68(その後の5ループ)×5+67(8回目のループ)+10)サイクルとなる。したがって、サイクル数の実質的な合計は、367~601サイクルの範囲となる。 Here, in this command example, as shown in FIG. 119, the total command size is 97 bytes, and the simple sum of the number of cycles is 136/131 cycles. Also, the actual number of cycles is as follows. That is, in this process, the command (22nd line) following the index "E_SHYMT_45" to the command "DJNZ E_SHYMT_45" on the 45th line is looped eight times. At this time, in all eight loops, when the command "JCP C, (HL), DE, E_SHYMT_55" on the 25th line moves to the index "E_SHYMT_55", the commands on the 26th to 37th lines are not executed. , the number of cycles is a minimum of 367 (54+38 (first 7 loops)×7+37 (8th loop)+10) cycles. On the other hand, in all loops, if the command "JCP C, (HL), DE, E_SHYMT_55" on the 25th line does not move to the index "E_SHYMT_55", the number of cycles is maximum. However, due to possible numerical values, in the first and second loops, the command "JCP C, (HL), DE, E_SHYMT_55" on the 25th line does not move, and the command "JR NZ, E_SHYMT_50" on the 28th line does not move. , and in the 3rd to 8th loops, the command "JCP C, (HL), DE, E_SHYMT_55" on the 25th line, the command "JR NZ, E_SHYMT_50" on the 28th line, and the command "JR C , E_SHYMT_55”, the maximum number of cycles is 601 (54+65 (first two loops)×2+68 (five loops after that)×5+67 (eighth loop)+10). ) cycle. Therefore, the practical total number of cycles ranges from 367 to 601 cycles.

(賞球数×乗数÷アウト数を実行する第6の演算例)
図120は、16ビット乗算器および32ビット除算器を用いた第6の演算例を実現するための具体的な処理を示したフローチャートであり、図121は、第6の演算例を実現するための具体的なコマンドの一例を示した図である。かかる図120の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。
(Sixth calculation example for executing the number of prize balls × multiplier / number of outs)
FIG. 120 is a flow chart showing specific processing for implementing the sixth example of operation using a 16-bit multiplier and a 32-bit divider, and FIG. is a diagram showing an example of a specific command of . The numerical values of step S in the description of FIG. 120 are used only in the description of this figure.

図120に示すように、まず、賞球数を被乗数レジスタに設定し(S1)、乗数「200」を乗数レジスタに設定する(S2)。具体的に、図121の1行目のコマンド「LD HL,(R_ERW_TJS)」によって、アドレス「R_ERW_TJS」で示される通常賞球カウンタの値(賞球数)がHLレジスタに読み出され、2行目のコマンド「OUT (LOW @MULA16_)によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULA16_」を下位1バイトとし、そのアドレスで示される乗数設定レジスタにHLレジスタの値を出力し、3行目のコマンド「EX DE,HL」によって、HLレジスタの値をDEレジスタに複製し、4行目のコマンド「LD A,200」によって、Aレジスタに乗数「200」を設定し、5行目のコマンド「OUT (LOW @MULB16_),A」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB16_」を下位1バイトとし、そのアドレスで示される乗数設定レジスタにAレジスタの値を出力する。なお、乗数設定レジスタ「@MULB16_」の上位1バイトにはデフォルト値として「00H」が設定されている。 As shown in FIG. 120, first, the number of prize balls is set in the multiplicand register (S1), and the multiplier "200" is set in the multiplier register (S2). Specifically, the command "LD HL, (R_ERW_TJS)" on the first line of FIG. The second command "OUT (LOW @MULA16_)" sets the value of the U register to the upper 1 byte of the address, sets the address "@MULA16_" to the lower 1 byte, and outputs the value of the HL register to the multiplier setting register indicated by that address. Then, the command "EX DE, HL" on the third line copies the value of the HL register to the DE register, and the command "LD A, 200" on the fourth line sets the multiplier "200" in the A register, The command "OUT (LOW @MULB16_), A" on the fifth line sets the value of the U register to the upper 1 byte of the address, sets the address "@MULB16_" to the lower 1 byte, and sets A to the multiplier setting register indicated by that address. Print the value of a register. It should be noted that "00H" is set as a default value in the high-order 1 byte of the multiplier setting register "@MULB16_".

次に、図120に示すように、通常賞球カウンタが0である場合を想定し、ベース値の初期値として0を設定し(S3)、アウト数が0であるか否か判定され(S4)、0であれば(S4におけるYES)、乗数を乗じても結果が変わらないので(0なので)、ステップS13に移動し、0でなければ(S4におけるNO)、ベース値を100に設定し(S5)、アウト数が賞球数未満であるか否か判定し(S6)、アウト数が賞球数未満であれば(S6におけるYES)、ステップS13に移動する。具体的に、図121の6行目のコマンド「XOR A,A」によってベース値を示すAレジスタの値を0に設定し、7行目のコマンド「LD HL,(R_ERW_TJO)」によって、アドレス「R_ERW_TJO」で示される通常アウトカウンタの値(アウト数)がHLレジスタに読み出され、8行目のコマンド「JR TZ,E_SHYMT_60」によって、HLレジスタの値が0であれば、23行目の指標「E_SHYMT_60」に移動し、9行目のコマンド「LD A,100」によって、ベース値を示すAレジスタに初期値として100を設定し、10行目のコマンド「JCP C,HL,DE,E_SHYMT_60」によって、HLレジスタの値(アウト数)と、DEレジスタの値(賞球数)とが比較され、キャリーフラグが立っていれば、すなわち、アウト数が賞球数未満であれば、23行目の指標「E_SHYMT_60」に移動する。 Next, as shown in FIG. 120, assuming that the normal winning ball counter is 0, 0 is set as the initial value of the base value (S3), and it is determined whether or not the number of outs is 0 (S4 ), if it is 0 (YES in S4), the result does not change even if it is multiplied by the multiplier (because it is 0), the process moves to step S13, and if it is not 0 (NO in S4), the base value is set to 100. (S5), it is determined whether or not the number of outs is less than the number of prize balls (S6), and if the number of outs is less than the number of prize balls (YES in S6), the process moves to step S13. Specifically, the value of the A register indicating the base value is set to 0 by the command "XOR A, A" on the sixth line in FIG. 121, and the address " R_ERW_TJO" is read into the HL register, and if the value of the HL register is 0 by the command "JR TZ, E_SHYMT_60" on line 8, then the index on line 23 Move to "E_SHYMT_60", set 100 as the initial value in the A register indicating the base value by the command "LD A, 100" on the 9th line, and set the command "JCP C, HL, DE, E_SHYMT_60" on the 10th line. compares the value of the HL register (the number of outs) and the value of the DE register (the number of prize balls), and if the carry flag is set, that is, if the number of outs is less than the number of prize balls, line 23 index "E_SHYMT_60".

続いて、図120に示すように、アウト数を除数設定レジスタに設定し(S7)、16ビット乗算器による乗算結果をHLAレジスタ(HLレジスタおよびAレジスタ)に読み出し(S8)、それを被除数設定レジスタに設定する(S9)。具体的に、図121の11行目のコマンド「OUT (LOW @DIVB32_),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVB32_」を下位1バイトとし、そのアドレスで示される除数設定レジスタ「@DIVB32_」にHLレジスタの値を出力し、12行目のコマンド「IN A,(LOW @MUL32__」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB32__」を下位1バイトとし、そのアドレスで示される乗算結果レジスタの1バイト値をAレジスタに読み出し、13行目のコマンド「IN HL,(LOW @MUL32__+1」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@MULB32__+1」を下位1バイトとし、そのアドレスで示される乗算結果レジスタの2バイト値をHLレジスタに読み出し、14行目のコマンド「OUT (LOW @DIVA32_+0),A」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVA32_」を下位1バイトとし、そのアドレスで示される被除数設定レジスタ「@DIVA32_」にAレジスタの値を出力し、15行目のコマンド「OUT (LOW @DIVA32_+1),HL」によって、Uレジスタの値をアドレスの上位1バイトとし、アドレス「@DIVA32_+1」を下位1バイトとし、そのアドレスで示される被除数設定レジスタ「@DIVA32_+1」にHLレジスタの値を出力する。こうして、16ビット乗算器を動作させ、乗算結果レジスタに乗算結果が格納される。 Subsequently, as shown in FIG. 120, the out number is set in the divisor setting register (S7), the multiplication result by the 16-bit multiplier is read out to the HLA register (HL register and A register) (S8), and the dividend is set. Set in the register (S9). Specifically, the command "OUT (LOW @DIVB32_), HL" on the 11th line in FIG. The value of the HL register is output to the indicated divisor setting register "@DIVB32__", the value of the U register is set to the upper 1 byte of the address by the command "IN A, (LOW @MUL32__" on the 12th line, and the address "@MULB32__" , and read the 1-byte value of the multiplication result register indicated by that address into the A register. 2-byte value of the multiplication result register indicated by that address is read to the HL register, and the command "OUT (LOW @DIVA32_+0), A" on the 14th line causes U The register value is set to the upper 1 byte of the address, the address "@DIVA32_" is set to the lower 1 byte, the value of the A register is output to the dividend setting register "@DIVA32_" indicated by that address, and the command "OUT (LOW @DIVA32_+1), HL" sets the value of the U register to the upper 1 byte of the address, sets the address "@DIVA32_+1" to the lower 1 byte, and sets the value of the HL register to the dividend setting register "@DIVA32_+1" indicated by that address. Thus, the 16-bit multiplier is operated and the multiplication result is stored in the multiplication result register.

次に、図120に示すように、除算の時間待ちを行い(S10)、所定時間経過後、演算結果をAレジスタに読み出し(S11)、四捨五入を実行し(S12)、ベース値をメインRAM500cに設定して(S13)、当該処理を終了する。具体的に、図121の16~19行目のコマンド「NOP」によって4サイクルの時間を消費させ、20行目のコマンド「IN A,(LOW @DIV32__+0)によって、除算器から演算結果をAレジスタに読み出し、21行目のコマンド「SRL A」によってAレジスタで示されるアドレスの値が右に1だけビットシフトされ、22行目のコマンド「ADC A,0」によって、21行目のコマンド「SRL A」によってキャリーフラグが立っていれば、すなわち、小数点以下が0.5以上であれば、Aレジスタに1が加算され、24行目のコマンド「LD HL,R_ERW_BAS」によって、ベース値を示すアドレス「R_ERW_BAS」がHLレジスタに設定され、25行目のコマンド「LD (HL),A」によって、ベース値を示すAレジスタの値がアドレス「R_ERW_BAS」に格納される。 Next, as shown in FIG. 120, division is waited for (S10), and after a predetermined time has elapsed, the calculation result is read out to the A register (S11), rounded off (S12), and the base value is stored in the main RAM 500c. After setting (S13), the process ends. Specifically, the command "NOP" on the 16th to 19th lines in FIG. , the value of the address indicated by the A register is shifted by 1 bit to the right by the command "SRL A" on the 21st line, and the command "ADC A, 0" on the 22nd line causes the command "SRL If the carry flag is set by "A", that is, if the number after the decimal point is 0.5 or more, 1 is added to the A register, and the command "LD HL, R_ERW_BAS" on the 24th line outputs the address indicating the base value. "R_ERW_BAS" is set in the HL register, and the value of the A register indicating the base value is stored in the address "R_ERW_BAS" by the command "LD (HL), A" on the 25th line.

ここで、当該コマンド例では、図121に示すように、コマンドサイズの合計は49バイトとなり、サイクル数の単純合計は68/66サイクルとなる。 Here, in this command example, as shown in FIG. 121, the total command size is 49 bytes, and the simple sum of the number of cycles is 68/66 cycles.

以上説明したように、ベース値を導出する第5の演算例と、ベース値を導出する第6の演算例とを比較すると、コマンドサイズの合計およびサイクル数の単純合計のいずれも、16ビット乗算器および32ビット除算器を用いた第6の演算例の方が小さくなる。したがって、パチンコ機でベース値を実行する場合、図120、図121を用いて説明したように、16ビット乗算器および32ビット除算器を用いて実行する方が好ましい。 As described above, comparing the fifth calculation example for deriving the base value and the sixth calculation example for deriving the base value, both the sum of the command sizes and the simple sum of the number of cycles require 16-bit multiplication. The sixth operation example using a 32-bit divider and a 32-bit divider is smaller. Therefore, when executing the base value in a pachinko machine, it is preferable to use a 16-bit multiplier and a 32-bit divider as described with reference to FIGS.

以上、説明したように、本実施形態によると、処理負荷の増大を抑えることで、タイマ割込みの禁止区間を短縮化することができ、遊技情報を適切に得つつ、遊技機としての動作を安定化することが可能となる。 As described above, according to the present embodiment, by suppressing an increase in the processing load, it is possible to shorten the interval in which timer interrupts are prohibited, and to obtain game information appropriately while stabilizing the operation of the gaming machine. become possible.

なお、上述した実施形態においては、第4の演算例や第6の演算例において、32ビット除算器による除算の時間待ちに1サイクルの時間を消費する「NOP」を4回連続して利用している。しかし、かかる場合に限らず、4サイクルを確保しさえすれば、他のコマンドでもよい。例えば、コマンドサイズ1バイトで2サイクルのコマンドを2回連続して利用するか、コマンドサイズ1バイトで4サイクルのコマンドや、コマンドサイズ2バイトで4サイクルのコマンドを利用するとしてもよい。こうして、コマンドサイズを削減することができる。 In the above-described embodiments, in the fourth operation example and the sixth operation example, the "NOP" that consumes one cycle of time waiting for division by the 32-bit divider is used four times in succession. ing. However, other commands may be used as long as four cycles are secured. For example, a command with a command size of 1 byte and 2 cycles may be used twice consecutively, or a command with a command size of 1 byte and 4 cycles may be used, or a command with a command size of 2 bytes and 4 cycles may be used. Thus, the command size can be reduced.

また、上述した実施形態においては、役物払出数×乗数を実行する演算例として8ビットMUL命令のみを用いた第1の演算例と、16ビット乗算器を用いた第2の演算例を挙げ、また、乗算結果÷総払出数を実行する演算例として2の累乗数を乗じた数の繰り返し減算を用いた第3の演算例と、32ビット除算器を用いた第4の演算例を挙げた。上述した実施形態においては、役物払出数×乗数を行った後、その乗算結果を用いて乗算結果÷総払出数を実行するので、第1の演算例または第2の演算例と、第3の演算例または第4の演算例とを組み合わせて演算することになる。かかる演算例の組み合わせは任意に設定できる。例えば、第1の演算例と第3の演算例との組み合わせ、第1の演算例と第4の演算例との組み合わせ、第2の演算例と第3の演算例との組み合わせ、第2の演算例と第4の演算例との組み合わせを採用することができる。また、第5の演算例および第6の演算例は、いずれも、役物払出数×乗数と、乗算結果÷総払出数とに分けることができ、かかる演算例の組み合わせは任意に設定できる。例えば、上述した第5の演算例の役物払出数×乗数と、第5の演算例の乗算結果÷総払出数との組み合わせ、第6の演算例の役物払出数×乗数と、第6の演算例の乗算結果÷総払出数との組み合わせに加え、第5の演算例の役物払出数×乗数と、第6の演算例の乗算結果÷総払出数との組み合わせ、第6の演算例の役物払出数×乗数と、第5の演算例の乗算結果÷総払出数との組み合わせを採用することができる。 Further, in the above-described embodiment, the first example of operation using only the 8-bit MUL instruction and the second example of operation using a 16-bit multiplier are given as examples of the operation of executing the payout number of the prize x multiplier. Also, as examples of operations for executing multiplication result/total number of payouts, a third operation example using repeated subtraction of a number multiplied by a power of 2 and a fourth operation example using a 32-bit divider are given. rice field. In the above-described embodiment, after multiplying the number of payouts by the multiplier, the multiplication result is used to execute the multiplication result÷total number of payouts. , or the fourth calculation example. Combinations of such calculation examples can be set arbitrarily. For example, a combination of the first calculation example and the third calculation example, a combination of the first calculation example and the fourth calculation example, a combination of the second calculation example and the third calculation example, a combination of the second calculation example and the third calculation example, A combination of the calculation example and the fourth calculation example can be employed. Further, both the fifth and sixth examples of calculation can be divided into the number of payouts of the prize x multiplier and the result of multiplication/total number of payouts, and the combination of these examples of calculation can be set arbitrarily. For example, a combination of the above-described combination of the number of payouts x multiplier in the fifth example of calculation and the multiplication result÷total number of payouts in the fifth example of calculation, the number of number of payouts x multiplier in the sixth example of calculation, and the sixth In addition to the combination of the multiplication result/total number of payouts in the example of calculation 2, the combination of the number of payouts of the prizes x multiplier in the fifth example of calculation and the combination of the result of multiplication/total number of payouts in the sixth example of calculation, and the sixth calculation It is possible to employ a combination of the number of prizes paid out×multiplier in the example and the multiplication result÷total number of payouts in the fifth calculation example.

また、上述した実施形態においては、スロットマシン400の役物比率を例に挙げて、様々な演算(第1の演算例~第4の演算例)を実行したが、かかる場合に限らず、スロットマシン400の各比率(有利区間比率、指示込役物比率、6000遊技の連続役物比率、6000遊技の役物比率、総累計の連続役物比率、総累計の役物比率、役物等状態比率)に適用できるのは言うまでもない。また、スロットマシン400に限らず、第5の演算例や第6の演算例を用いて説明したように、パチンコ機のベース値にも適用可能である。 Further, in the above-described embodiment, various calculations (first calculation example to fourth calculation example) are executed by taking the role product ratio of the slot machine 400 as an example. Each ratio of the machine 400 (advantageous section ratio, instructed accessory ratio, continuous accessory ratio of 6000 games, accessory ratio of 6000 games, total cumulative continuous accessory ratio, total cumulative accessory ratio, accessory status ratio). In addition, it is applicable not only to the slot machine 400 but also to the base value of a pachinko machine, as explained using the fifth example of calculation and the sixth example of calculation.

<モジュールおよびコマンドの説明>
以下、上述した各処理(モジュール)について、それを実現するための具体的な命令コード(コマンド群)を、モジュール内で主として用いられるコマンド単位で説明する。
<Description of modules and commands>
Hereinafter, specific instruction codes (command groups) for realizing each process (module) described above will be described for each command mainly used in the module.

<コマンド「ADDALD」>
BYTESELモジュールは、バイトデータ選択処理、すなわち、選択アドレスをオフセットさせ、そのオフセットされたアドレスに格納された1バイト値を読み出すための汎用モジュールである。汎用モジュールは、プログラムを実行する上で用いられる同一の処理をサブルーチン化したもので、特に他のモジュールから呼び出される頻度が高いモジュールを示す。汎用モジュールは、図5(または図102)で示したメモリマップ上の最も低いアドレス0000H近傍に配置されることが多い。これは、呼び出される頻度の高い汎用モジュールを0000H近傍に配置することで、呼び出しに用いられるコマンド「CALL」のみならず、他のコマンド「RST」を利用して呼び出せるからである。なお、ここでは、BYTESELモジュールをメモリマップ上の0008Hに配置する例を挙げて説明する。
<Command "ADDALD">
The BYTESEL module is a general-purpose module for byte data selection processing, that is, for offsetting the selected address and reading the 1-byte value stored at the offset address. A general-purpose module is a subroutine of the same processing used to execute a program, and indicates a module that is particularly frequently called from other modules. General-purpose modules are often arranged near the lowest address 0000H on the memory map shown in FIG. 5 (or FIG. 102). This is because by arranging a general-purpose module that is called frequently near 0000H, it can be called using not only the command "CALL" used for calling but also another command "RST". Here, an example in which the BYTESEL module is arranged at 0008H on the memory map will be described.

ここで、コマンド「RST」は、メモリマップのうち0000H近傍の低い数値のアドレスであり、8バイトずつ離れた複数のアドレス(0008H、0010H、0018H、0020H、0028H、0030H、0038H、0040H)のいずれかを呼び出すことができるコマンドである。コマンド「RST」は、呼び出しに用いられる通常のコマンド「CALL」と実行サイクルは「4」で等しいが、通常のコマンド「CALL」のコマンドサイズが「3」であるのに対し、コマンド「RST」のコマンドサイズは「1」である。したがって、コマンド「RST」を用いることでプログラムの短縮化を図ることができる。 Here, the command "RST" is a low numerical address in the vicinity of 0000H in the memory map, and any of a plurality of addresses separated by 8 bytes (0008H, 0010H, 0018H, 0020H, 0028H, 0030H, 0038H, 0040H). is a command that can invoke The command "RST" has the same execution cycle of "4" as the normal command "CALL" used for calling, but the command size of the normal command "CALL" is "3". command size is "1". Therefore, the program can be shortened by using the command "RST".

メインCPU300aは、メインROM300bからプログラムを読み出し、読み出したプログラムを遂行し、任意の処理において、サブルーチンとしてBYTESELモジュールを呼び出し、BYTESELモジュールを遂行する。BYTESELモジュールでは、選択アドレスを所定値だけオフセットさせ、オフセットされたアドレスに格納された1バイト値を保持する。こうして、オフセットに応じた値を設定することができる。 The main CPU 300a reads a program from the main ROM 300b, executes the read program, calls the BYTESEL module as a subroutine in arbitrary processing, and executes the BYTESEL module. The BYTESEL module offsets the selected address by a predetermined value and holds the 1-byte value stored at the offset address. Thus, a value can be set according to the offset.

図122は、BYTESELモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図26のS400-31で示したLED表示設定処理を実行するLED_PRCモジュールの一部を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該BYTESELモジュールの説明中、第1レジスタはHLレジスタであり、第2レジスタはAレジスタである。 FIG. 122 is a flow chart showing specific processing of the BYTESEL module. Here, as an arbitrary process, part of the LED_PRC module that executes the LED display setting process shown in S400-31 of FIG. 26 will be described. Numerical values of step S in this figure are used only in the explanation of this figure. Also, in the description of the BYTESEL module, the first register is the HL register and the second register is the A register.

メインCPU300aは、図122(a)のように、任意の処理において、オフセットをAレジスタに設定し(S1)、読み出し対象となるアドレス群の先頭アドレスをHLレジスタに設定する(S2)。そして、サブルーチンとしてBYTESELモジュールを呼び出す(S3)。 As shown in FIG. 122(a), the main CPU 300a sets an offset in the A register (S1), and sets the top address of the address group to be read in the HL register (S2). Then, the BYTESEL module is called as a subroutine (S3).

メインCPU300aは、図122(b)のように、BYTESELモジュールにおいて、HLレジスタの値にAレジスタの値を加算してHLレジスタを更新するとともに、HLレジスタで示されるアドレスに格納された1バイト値をAレジスタに読み出す(S4)。続いて、メインCPU300aは、Aレジスタの値が0(ゼロ)か否かに応じて、ゼロフラグ(第1ゼロフラグ)を設定する(S5)。そして、当該BYTESELモジュールを終了して1段上のルーチンに戻る(S6)。 As shown in FIG. 122(b), the main CPU 300a updates the HL register by adding the value of the A register to the value of the HL register in the BYTESEL module, and adds the 1-byte value stored at the address indicated by the HL register. is read into the A register (S4). Subsequently, the main CPU 300a sets a zero flag (first zero flag) according to whether the value of the A register is 0 (zero) (S5). Then, the BYTESEL module is terminated and the routine returns to the routine one level above (S6).

図123、図124は、BYTESELモジュールを実現するためのコマンドの一例を説明するための説明図である。このうち、図123(a)は、BYTESELモジュールを呼び出す任意の処理のコマンド群を示し、図123(b)は、BYTESELモジュールのコマンド群を示し、図123(c)は、メインROM300bのプログラムデータにおける1バイトデータ群の配置を示す。図122で示したフローチャートは、例えば、図123に示したプログラムによって実現される。 123 and 124 are explanatory diagrams for explaining an example of commands for realizing the BYTESEL module. Among them, FIG. 123(a) shows a command group for arbitrary processing to call the BYTESEL module, FIG. 123(b) shows a command group for the BYTESEL module, and FIG. 123(c) shows the program data of the main ROM 300b. shows the arrangement of a 1-byte data group in . The flowchart shown in FIG. 122 is realized by the program shown in FIG. 123, for example.

図123(a)の1行目のコマンド「LDQ A,(LOW R_TZ1_DSP)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TZ1_DSP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別図柄1表示図柄カウンタのカウンタ値)をAレジスタに読み出す。かかる1行目のコマンドが、図122(a)のステップS1に対応する。2行目のコマンド「LD HL,D_DSP_TZ」によって、読み出し元となる特別図柄表示用LED出力データテーブルのデータ群の先頭アドレス「D_DSP_TZ」をHLレジスタに設定する。かかる2行目のコマンドが、図122(a)のステップS2に対応する。そして、3行目のコマンド「RST BYTESEL」によって、サブルーチンとしてBYTESELモジュールが呼び出される。かかる3行目のコマンドが、図122(a)のステップS3に対応する。 The command "LDQ A, (LOW R_TZ1_DSP)" on the first line of FIG. Then, the value stored at that address (the counter value of the special symbol 1 display symbol counter) is read to the A register. Such a command on the first line corresponds to step S1 in FIG. 122(a). By the command "LD HL, D_DSP_TZ" on the second line, the top address "D_DSP_TZ" of the data group of the special symbol display LED output data table, which is the read source, is set in the HL register. The command on the second line corresponds to step S2 in FIG. 122(a). Then, the BYTESEL module is called as a subroutine by the command "RST BYTESEL" on the third line. The command on the third line corresponds to step S3 in FIG. 122(a).

図123(b)の1行目の指標「BYTESEL:」は、当該BYTESELモジュールの先頭アドレスを示す。2行目のコマンド「ADDWB HL,A」によって、HLレジスタの値にAレジスタの値が加算され、HLレジスタの値が更新される。そして、3行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がAレジスタに読み出される。かかる2、3行目のコマンドが、図122(b)のステップS4に対応する。4行目のコマンド「OR A,A」によって、Aレジスタの値とAレジスタの値との論理和が計算される。かかるコマンド「OR A,A」では、Aレジスタの値同士の論理和なので、Aレジスタの値は変化しない。一方、論理和によって、ゼロフラグ(第1ゼロフラグおよび第2ゼロフラグ)を変化させることができる。すなわち、かかるBYTESELモジュールでは、読み出されたAレジスタの値がゼロであるか否かをゼロフラグによって判定することが可能となる。かかる4行目のコマンドが、図122(b)のステップS5に対応する。そして、5行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる5行目のコマンドが、図122(b)のステップS6に対応する。 The index "BYTESEL:" on the first line in FIG. 123(b) indicates the start address of the BYTESEL module. The command "ADDWB HL, A" on the second line adds the value of the A register to the value of the HL register and updates the value of the HL register. Then, the 1-byte value stored at the address indicated by the HL register is read to the A register by the command "LD A, (HL)" on the third line. The commands on the second and third lines correspond to step S4 in FIG. 122(b). The logical sum of the value of the A register and the value of the A register is calculated by the command "OR A, A" on the fourth line. With such a command "OR A, A", the value of the A register does not change because it is a logical sum of the values of the A register. On the other hand, the OR can change the zero flags (the first zero flag and the second zero flag). That is, in such a BYTESEL module, it is possible to determine whether or not the read value of the A register is zero by the zero flag. The command on the fourth line corresponds to step S5 in FIG. 122(b). Then, the command "RET" on the fifth line returns to the routine one level above. The command on the fifth line corresponds to step S6 in FIG. 122(b).

なお、図123(c)における指標「D_DSP_TZ」を起点としたテーブルは、例えば、特1大当たり図柄および特2大当たり図柄に関する情報を示す。例えば、変数「R_TZ1_DSP」、すなわち、特別図柄1表示図柄カウンタのカウンタ値が「02H」であった場合、図124に示すように、メインROM300bのプログラムデータに記述されたテーブル(2AH、A2H、A8H、36H…5DH、FDH)において選択アドレス(例えば、1250H)にAレジスタの値(例えば、02H)を加算したアドレス(低い方から3番目のアドレス)に格納された値(A8H)をAレジスタに読み出すことができる。このように、ここでは、同一バイト長の複数の値を連続して並置したテーブル中の所望する1バイト値を取得することが可能となる。 It should be noted that the table starting from the index "D_DSP_TZ" in FIG. 123(c) shows, for example, information on the special 1 jackpot pattern and the special 2 jackpot pattern. For example, when the variable "R_TZ1_DSP", that is, the counter value of the special symbol 1 display symbol counter is "02H", the table (2AH, A2H, A8H , 36H . can be read. Thus, here, it is possible to acquire a desired 1-byte value in a table in which a plurality of values of the same byte length are consecutively arranged side by side.

BYTESELモジュールは、複数のモジュールからサブルーチンとして呼び出される。例えば、図23のステップS100-55で示したサブコマンド群セット処理を実行するSBCMDSTモジュール、図26のステップS400-31で示したLED表示設定処理を実行するLED_PRCモジュール、図26のステップS400-33で示したソレノイドデータ設定処理(ソレノイド出力イメージ合成処理)を実行するSOL_SETモジュール、図26のステップS400-31で示したLED表示設定処理のサブルーチンである保留球数ビットデータ合成処理を実行するMEM_DATモジュール、図28のステップS530、S540で示したカウントスイッチ通過処理(第2始動口通過処理、大入賞口通過処理)を実行するTDN_PASモジュール、図43のステップS630で示した特別図柄停止図柄表示処理を実行するTZ_STPモジュール、図47のステップS720で示した大入賞口開放制御処理を実行するTD_OPNモジュール、図52のステップS810-11で示した普通図柄変動時間設定処理(普通図柄変動時間の決定処理)を実行するFSPNTMRモジュール、図39のステップS612で示した特別図柄変動パターン決定処理(特別図柄変動番号決定処理)を実行するTHPTSELモジュール、図37のステップS610-17で示される予備領域設定処理を実行するTRSVSELモジュール、図48のステップS730-9で示したエンディング時間設定処理を実行するTENDTMRモジュール、図43のステップS630-13(特別電動役物最大作動回数設定処理)中で実行される図柄オフセット取得処理(図示せず)を実行するZUGOFFSモジュール、図33のステップS536で示した取得時演出判定処理を実行するRGETCHKモジュール等から呼び出される。 The BYTESEL module is called as a subroutine from multiple modules. For example, the SBCMDST module that executes the subcommand group set process shown in step S100-55 of FIG. 23, the LED_PRC module that executes the LED display setting process shown in step S400-31 of FIG. 26, and the step S400-33 of FIG. A SOL_SET module for executing the solenoid data setting process (solenoid output image synthesis process) shown in , and a MEM_DAT module for executing the pending ball number bit data synthesis process, which is a subroutine of the LED display setting process shown in step S400-31 in FIG. , the TDN_PAS module that executes the count switch passage processing (the second starting opening passage processing, the big winning opening passage processing) shown in steps S530 and S540 of FIG. 28, and the special symbol stop symbol display processing shown in step S630 of FIG. TZ_STP module to be executed, TD_OPN module to execute the big winning opening control process shown in step S720 in FIG. 47, normal symbol fluctuation time setting process (normal symbol fluctuation time determination process) shown in step S810-11 in FIG. FSPNTMR module for executing, THPTSEL module for executing special symbol variation pattern determination processing (special symbol variation number determination processing) shown in step S612 of FIG. 39, preliminary area setting processing shown in step S610-17 of FIG. TRSVSEL module, TENDTMR module for executing the ending time setting process shown in step S730-9 in FIG. 48, step S630-13 in FIG. It is called from the ZUGOFFS module that executes processing (not shown), the RGETTCHK module that executes the effect determination processing at the time of acquisition shown in step S536 of FIG. 33, and the like.

このように、図123(b)に示したBYTESELモジュールのコマンドの総コマンドサイズは、2行目のコマンド「ADDWB HL,A」1バイト+3行目のコマンド「LD A,(HL)」1バイト+4行目のコマンド「OR A,A」1バイト+5行目のコマンド「RET」1バイト=4バイトとなり、総実行サイクルは、2行目1サイクル+3行目2サイクル+4行目1サイクル+5行目3サイクル=7サイクルとなる。かかるBYTESELモジュールを設けることによって、上述した各モジュール内でバイトデータ選択処理を行うことなく、コマンドサイズ1バイトのコマンド「RST BYTESEL」で賄うことができるので、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 In this way, the total command size of the BYTESEL module commands shown in FIG. + 1 byte of the command "OR A, A" on the 4th line + 1 byte of the command "RET" on the 5th line = 4 bytes, and the total execution cycle is 1 cycle on the 2nd line + 2 cycles on the 3rd line + 1 cycle on the 4th line + 5 lines 3 cycles = 7 cycles. By providing such a BYTESEL module, the command "RST BYTESEL" with a command size of 1 byte can be used without performing byte data selection processing in each module described above. It becomes possible to secure the capacity of the control area for performing

図125は、BYTESELモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図123(b)のBYTESELモジュールのコマンド群を図125(b)のBYTESELモジュールのコマンド群に置き換えており、他の、図123(a)のBYTESELモジュールを呼び出す任意の処理のコマンド群、および、図123(c)のメインROM300bのプログラムデータにおける1バイトデータ群は、図125(a)、図125(c)として、そのまま用いている。ここでは、図125(a)、図125(c)のように、図123(a)、図123(c)と実質的に等しい処理についてはその説明を省略し、図125(b)の異なる処理のみを説明する。 FIG. 125 is an explanatory diagram for explaining another example of commands for realizing the BYTESEL module. Here, the command group of the BYTESEL module in FIG. 123(b) is replaced with the command group of the BYTESEL module in FIG. , and the 1-byte data group in the program data of the main ROM 300b in FIG. 123(c) are used as they are in FIGS. 125(a) and 125(c). Here, as shown in FIGS. 125(a) and 125(c), descriptions of processes substantially equivalent to those in FIGS. Only processing will be described.

図125(b)の1行目の指標「BYTESEL:」は、当該BYTESELモジュールの先頭アドレスを示す。2行目のコマンド「ADDALD A,(HL)」によって、HLレジスタの値にAレジスタの値が加算され、加算後のHLレジスタで示されるアドレスに格納された1バイト値がAレジスタに読み出される。かかる2行目のコマンドが、図122(b)のステップS4に対応する。3行目のコマンド「OR A,A」によって、Aレジスタの値とAレジスタの値との論理和が計算される。かかる論理和により、ゼロフラグ(第1ゼロフラグおよび第2ゼロフラグ)を変化させることができる。すなわち、BYTESELモジュールでは、読み出されたAレジスタの値がゼロであるか否かをゼロフラグによって判定することが可能となる。かかる3行目のコマンドが、図122(b)のステップS5に対応する。そして、4行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる4行目のコマンドが、図122(b)のステップS6に対応する。 The index "BYTESEL:" on the first line in FIG. 125(b) indicates the start address of the BYTESEL module. By the command "ADDALD A, (HL)" on the second line, the value of the A register is added to the value of the HL register, and the 1-byte value stored at the address indicated by the HL register after the addition is read out to the A register. . The command on the second line corresponds to step S4 in FIG. 122(b). The logical sum of the value of the A register and the value of the A register is calculated by the command "OR A, A" on the third line. Such a logical sum can change the zero flags (the first zero flag and the second zero flag). That is, in the BYTESEL module, it is possible to determine whether or not the read value of the A register is zero by the zero flag. The command on the third line corresponds to step S5 in FIG. 122(b). Then, the command "RET" on the fourth line returns to the routine one level above. The command on the fourth line corresponds to step S6 in FIG. 122(b).

ここで、コマンド「ADDALD A,(HL)」は、HLレジスタの値にAレジスタの値を加算してHLレジスタを更新するとともに、HLレジスタで示されるアドレスに格納された値をAレジスタに読み出すコマンドである。かかるコマンドのコマンドサイズは「1」であり、実行サイクルは「3」である。 Here, the command "ADDALD A, (HL)" updates the HL register by adding the value of the A register to the value of the HL register, and reads the value stored at the address indicated by the HL register to the A register. is a command. Such a command has a command size of "1" and an execution cycle of "3".

図125(b)のBYTESELモジュールのコマンドの総コマンドサイズは、2行目のコマンド「ADDALD A,(HL)」1バイト+3行目のコマンド「OR A,A」1バイト+4行目のコマンド「RET」1バイト=3バイトとなり、総実行サイクルは、2行目3サイクル+3行目1サイクル+4行目3サイクル=7サイクルとなる。したがって、図123(b)の場合と比べ、総コマンドサイズが1バイト削減されていることが理解できる。かかるBYTESELモジュールによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the commands of the BYTESEL module in FIG. RET" 1 byte=3 bytes, and the total execution cycle is 2nd line 3 cycles+3rd line 1 cycle+4th line 3 cycles=7 cycles. Therefore, it can be understood that the total command size is reduced by 1 byte compared to the case of FIG. 123(b). With such a BYTESEL module, it is possible to further shorten commands and secure the capacity of the control area for performing game control processing.

また、図123(b)と図125(b)とを比較して理解できるように、図123(b)において2行(2、3行目)を占有していたコマンド群を、図125(b)においては1行(2行目)で表すことができ、コマンド数自体の削減、および、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIG. 123(b) and FIG. 125(b), the command group occupying two lines (second and third lines) in FIG. In b), it can be expressed in one line (second line), which makes it possible to reduce the number of commands and the design load.

図126は、BYTESELモジュールを実現するためのコマンドのさらに他の例を説明するための説明図である。ここでは、図125(a)のBYTESELモジュールを呼び出す任意の処理のコマンド群、および、図125(b)のBYTESELモジュールのコマンド群を、図126(a)の任意の処理のコマンド群に置き換えており、他の、図125(c)のメインROM300bのプログラムデータにおける1バイトデータ群は、図126(b)として、そのまま用いている。ここでは、図126(b)のように、図125(c)と実質的に等しい処理についてはその説明を省略し、図126(a)の異なる処理のみを説明する。 FIG. 126 is an explanatory diagram for explaining still another example of commands for realizing the BYTESEL module. Here, the command group for arbitrary processing to call the BYTESEL module in FIG. 125(a) and the command group for the BYTESEL module in FIG. 125(b) are replaced with the command group for arbitrary processing in FIG. 126(a). The other 1-byte data group in the program data of the main ROM 300b shown in FIG. 125(c) is used as it is as shown in FIG. 126(b). Here, as shown in FIG. 126(b), the description of the processing that is substantially the same as that of FIG. 125(c) is omitted, and only the processing different from that of FIG. 126(a) is described.

図126(a)の1行目のコマンド「LDQ A,(LOW R_TZ1_DSP)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TZ1_DSP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値をAレジスタに読み出す。かかる1行目のコマンドが、図122(a)のステップS1に対応する。2行目のコマンド「LD HL,D_DSP_TZ」によって、読み出し元となる1バイトデータ群の先頭アドレス「D_DSP_TZ」をHLレジスタに設定する。かかる2行目のコマンドが、図122(a)のステップS2に対応する。そして、3行目のコマンド「ADDALD A,(HL)」によって、HLレジスタの値にAレジスタの値が加算され、加算後のHLレジスタで示されるアドレスに格納された1バイト値がAレジスタに読み出される。かかる3行目のコマンドが、図122(b)のステップS4に対応する。 The command "LDQ A, (LOW R_TZ1_DSP)" on the first line of FIG. , and the value stored at that address is read to the A register. Such a command on the first line corresponds to step S1 in FIG. 122(a). The command "LD HL, D_DSP_TZ" on the second line sets the start address "D_DSP_TZ" of the 1-byte data group to be read from in the HL register. The command on the second line corresponds to step S2 in FIG. 122(a). Then, by the command "ADDALD A, (HL)" on the third line, the value of the A register is added to the value of the HL register, and the 1-byte value stored at the address indicated by the HL register after the addition is stored in the A register. read out. The command on the third line corresponds to step S4 in FIG. 122(b).

図126の例では、図122(a)のステップS3に対応するコマンド「RST BYTESEL」、図122(b)のステップS5に対応するコマンド「OR A,A」、および、図122(b)のステップS6に対応するコマンド「RET」が省略されている。 In the example of FIG. 126, the command "RST BYTESEL" corresponding to step S3 of FIG. 122(a), the command "OR A, A" corresponding to step S5 of FIG. 122(b), and the command The command "RET" corresponding to step S6 is omitted.

図126(a)の任意の処理のコマンド群の総コマンドサイズは、1行目のコマンド「LDQ A,(LOW R_TZ1_DSP)」2バイト+2行目のコマンド「LD HL,D_DSP_TZ」3バイト+3行目のコマンド「ADDALD A,(HL)」1バイト=6バイトとなり、総実行サイクルは、1行目2サイクル+2行目3サイクル+3行目3サイクル=8サイクルとなる。 The total command size of the command group for arbitrary processing in FIG. 126(a) is: 1st line command "LDQ A, (LOW R_TZ1_DSP)" 2 bytes + 2nd line command "LD HL, D_DSP_TZ" 3 bytes + 3rd line command "ADDALD A, (HL)" 1 byte = 6 bytes, and the total execution cycle is 1st line 2 cycles + 2nd line 3 cycles + 3rd line 3 cycles = 8 cycles.

これに対し、図125(a)、図125(b)の任意の処理およびBYTESELモジュールのコマンドの総コマンドサイズは、図125(a)の1行目のコマンド「LDQ A,(LOW R_TZ1_DSP)」2バイト+2行目のコマンド「LD HL,D_DSP_TZ」3バイト+3行目のコマンド「RST BYTESEL」1バイト+図125(b)の2行目のコマンド「ADDALD A,(HL)」1バイト+3行目のコマンド「OR A,A」1バイト+4行目のコマンド「RET」1バイト=9バイトとなり、総実行サイクルは、図125(a)の1行目2サイクル+2行目3サイクル+3行目4サイクル+図125(b)の2行目3サイクル+3行目1サイクル+4行目3サイクル=16サイクルとなる。したがって、図126の例では、図125の場合と比べ、総コマンドサイズが3バイト削減され、総実行サイクルが8サイクル削減されている。このようにBYTESELモジュール自体をコマンドとして任意の処理に埋め込むことで、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 On the other hand, the total command size of arbitrary processing and BYTESEL module commands in FIGS. 2 bytes + 2nd line command "LD HL, D_DSP_TZ" 3 bytes + 3rd line command "RST BYTESEL" 1 byte + 2nd line command "ADDALD A, (HL)" 1 byte + 3 lines in Fig. 125(b) 1st command "OR A, A" 1 byte + 4th line command "RET" 1 byte = 9 bytes. 4 cycles+2nd line 3 cycles+3rd line 1 cycle+4th line 3 cycles=16 cycles. Therefore, in the example of FIG. 126, the total command size is reduced by 3 bytes and the total execution cycle is reduced by 8 cycles compared to the case of FIG. By embedding the BYTESEL module itself as a command in any process in this way, it is possible to further shorten the command and reduce the processing load, and to secure the capacity of the control area for performing the game control process. .

また、図125と図126とを比較して理解できるように、図125(b)において4行(1~4行目)を占有していたコマンド群を、図126においては記述する必要がなくなるので、コマンド数自体の削減、および、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIGS. 125 and 126, the command group occupying four lines (1st to 4th lines) in FIG. 125(b) does not need to be described in FIG. Therefore, it is possible to reduce the number of commands and lighten the design load.

また、BYTESELモジュールは、コマンド「RST」の対象としての汎用モジュールであるが、かかる汎用モジュールを省略することで、貴重な汎用モジュールの領域を空け、その領域に他のモジュールを配置することができる。こうしてリソースの有効活用が可能となる。 Also, the BYTESEL module is a general-purpose module that is the target of the command "RST", but by omitting such a general-purpose module, a valuable general-purpose module area can be vacated and another module can be placed in that area. . In this way, effective utilization of resources becomes possible.

ただし、図126の例では、コマンド「OR A,A」を省略することで、第1ゼロフラグを変化させることができなくなる。すなわち、読み出されたAレジスタの値がゼロであるか否かを第1ゼロフラグによって判定することができなくなる。しかし、バイトデータ選択処理後にAレジスタの値がゼロか否か判定する必要がない場合、そもそも、この機能を必要としない。また、コマンド「ADDALD A,(HL)」は、そのコマンドを実行しただけで、第2ゼロフラグを変化させることができる。したがって、Aレジスタの値がゼロか否か判定する必要がある場合、第2ゼロフラグを参照することによってAレジスタの値がゼロであるか否かを判定することが可能となる。 However, in the example of FIG. 126, omitting the command "OR A, A" makes it impossible to change the first zero flag. That is, it becomes impossible to determine by the first zero flag whether or not the read value of the A register is zero. However, if there is no need to determine whether the value of the A register is zero after the byte data selection process, this function is not required in the first place. Also, the command "ADDALD A, (HL)" can change the second zero flag simply by executing the command. Therefore, when it is necessary to determine whether the value of the A register is zero, it is possible to determine whether the value of the A register is zero by referring to the second zero flag.

なお、かかるBYTESELモジュールは、パチンコ機のみならず、スロットマシンにおける、例えば、レジスタ加算処理を実行するためのモジュールに利用される。 Such BYTESEL modules are used not only in pachinko machines but also in slot machines, for example, as modules for executing register addition processing.

<コマンド「ADDALDW」>
WORDSELモジュールは、ワードデータ選択処理、すなわち、選択アドレスをオフセットさせ、そのオフセットされたアドレスに格納された2バイト値を設定するための汎用モジュールである。ここでは、WORDSELモジュールをメモリマップ上の0018Hに配置する例を挙げて説明する。
<Command "ADDALDW">
The WORDSEL module is a general module for word data selection processing, that is, offsetting the selection address and setting the 2-byte value stored at the offset address. Here, an example in which the WORDSEL module is arranged at 0018H on the memory map will be described.

メインCPU300aは、メインROM300bからプログラムを読み出し、読み出したプログラムを遂行し、任意の処理において、サブルーチンとしてWORDSELモジュールを呼び出し、WORDSELモジュールを遂行する。WORDSELモジュールでは、選択アドレスを所定値だけオフセットさせ、オフセットされたアドレスに格納された2バイト値を保持する。こうして、オフセットに応じた値を設定することができる。 The main CPU 300a reads a program from the main ROM 300b, executes the read program, calls the WORDSEL module as a subroutine in arbitrary processing, and executes the WORDSEL module. The WORDSEL module offsets the selected address by a predetermined value and holds the 2-byte value stored at the offset address. Thus, a value can be set according to the offset.

図127は、WORDSELモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図51のステップS800で示した普通遊技管理処理を実行するFUT_PRCモジュールの一部を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該WORDSELモジュールの説明中、第1レジスタはHLレジスタであり、第2レジスタはAレジスタである。 FIG. 127 is a flow chart showing specific processing of the WORDSEL module. Here, as arbitrary processing, a part of the FUT_PRC module for executing the normal game management processing shown in step S800 of FIG. 51 will be described. Numerical values of step S in this figure are used only in the explanation of this figure. Also, in the description of the WORDSEL module, the first register is the HL register and the second register is the A register.

メインCPU300aは、図127(a)のように、任意の処理において、オフセットをAレジスタに設定し(S1)、読み出し対象となるアドレス群の先頭アドレスをHLレジスタに設定する(S2)。そして、サブルーチンとしてWORDSELモジュールを呼び出す(S3)。 As shown in FIG. 127(a), the main CPU 300a sets an offset in the A register (S1), and sets the top address of the address group to be read in the HL register (S2). Then, the WORDSEL module is called as a subroutine (S3).

メインCPU300aは、図127(b)のように、WORDSELモジュールにおいて、HLレジスタの値にAレジスタの値を2回加算し、もしくは、Aレジスタの値を2倍した値を加算してHLレジスタを更新し(S4)、HLレジスタで示されるアドレスに格納された2バイト値をHLレジスタに読み出す(S5)。続いて、メインCPU300aは、Lレジスタの値をAレジスタに設定する(S6)。そして、当該WORDSELモジュールを終了して1段上のルーチンに戻る(S7)。 As shown in FIG. 127(b), in the WORDSEL module, the main CPU 300a doubles the value of the HL register to the value of the A register, or doubles the value of the A register to set the HL register. (S4), and the 2-byte value stored at the address indicated by the HL register is read to the HL register (S5). Subsequently, the main CPU 300a sets the value of the L register to the A register (S6). Then, the WORDSEL module is terminated and the routine returns to the routine one level above (S7).

WORDSELモジュールによって、HLレジスタに2バイト値が設定されると、メインCPU300aは、そのHLレジスタの値を用いて様々な処理を遂行する。例えば、ここでは、図127(a)のように、HLレジスタが示すアドレスをサブルーチンとして呼び出している(S8)。 When the WORDSEL module sets a 2-byte value in the HL register, the main CPU 300a uses the value in the HL register to perform various processes. For example, here, as shown in FIG. 127(a), the address indicated by the HL register is called as a subroutine (S8).

図128、図129は、WORDSELモジュールを実現するためのコマンドの一例を説明するための説明図である。このうち、図128(a)は、WORDSELモジュールを呼び出す任意の処理のコマンド群を示し、図128(b)は、WORDSELモジュールのコマンド群を示し、図128(c)は、メインROM300bのプログラムデータにおける2バイトデータ群の配置を示す。図127で示したフローチャートは、例えば、図128に示したプログラムによって実現される。 128 and 129 are explanatory diagrams for explaining an example of commands for realizing the WORDSEL module. Among them, FIG. 128(a) shows a command group for arbitrary processing to call the WORDSEL module, FIG. 128(b) shows a command group for the WORDSEL module, and FIG. 128(c) shows the program data of the main ROM 300b. shows the arrangement of 2-byte data groups in . The flowchart shown in FIG. 127 is realized by the program shown in FIG. 128, for example.

図128(a)の1行目のコマンド「LDQ A,(LOW R_FUT_PHS)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TZ1_DSP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値をAレジスタに読み出す。かかる1行目のコマンドが、図127(a)のステップS1に対応する。2行目のコマンド「LD HL,J_JMP_FUT」によって、読み出し元となる2バイトデータ群の先頭アドレス「J_JMP_FUT」をHLレジスタに設定する。かかる2行目のコマンドが、図127(a)のステップS2に対応する。そして、3行目のコマンド「RST WORDSEL」によって、サブルーチンとしてWORDSELモジュールが呼び出される。かかる3行目のコマンドが、図127(a)のステップS3に対応する。 The command "LDQ A, (LOW R_FUT_PHS)" on the first line in FIG. , and the value stored at that address is read to the A register. Such a command on the first line corresponds to step S1 in FIG. 127(a). The command "LD HL, J_JMP_FUT" on the second line sets the start address "J_JMP_FUT" of the 2-byte data group to be read from in the HL register. The command on the second line corresponds to step S2 in FIG. 127(a). Then, the WORDSEL module is called as a subroutine by the command "RST WORDSEL" on the third line. The command on the third line corresponds to step S3 in FIG. 127(a).

図128(b)の1行目の指標「WORDSEL:」は、当該WORDSELモジュールの先頭アドレスを示す。2行目のコマンド「ADDWB HL,A」によって、HLレジスタの値にAレジスタの値が加算され、HLレジスタが更新される。さらに、3行目のコマンド「ADDWB HL,A」によって、HLレジスタの値にAレジスタの値が加算され、HLレジスタが更新される。ここで、Aレジスタの値をHLレジスタに2回加算しているのは、読み出し元の値が2バイト値だからである。すなわち、テーブルに2バイト単位でデータが割り当てられているので、データを読み出すためには、アドレスを2ずつオフセットする必要があるからである。なお、ここでは、コマンド「ADDWB HL,A」を2回実行することで、HLレジスタにAレジスタの値を2回加算しているが、2行目のコマンド「ADDWB HL,A」に代え、コマンド「ADD A,A」を用い、Aレジスタの値を予め2倍してから、HLレジスタに加算することでも実現できる。かかる2、3行目のコマンドが、図127(b)のステップS4に対応する。 The index "WORDSEL:" on the first line in FIG. 128(b) indicates the start address of the WORDSEL module. The command "ADDWB HL, A" on the second line adds the value of the A register to the value of the HL register and updates the HL register. Furthermore, the command "ADDWB HL, A" on the third line adds the value of the A register to the value of the HL register to update the HL register. Here, the reason why the value of the A register is added twice to the HL register is that the read source value is a 2-byte value. That is, since data is assigned to the table in units of 2 bytes, it is necessary to offset the address by 2 in order to read the data. Here, by executing the command "ADDWB HL, A" twice, the value of the A register is added twice to the HL register. It can also be realized by using the command "ADD A, A" to pre-double the value of the A register and then adding it to the HL register. The commands on the second and third lines correspond to step S4 in FIG. 127(b).

そして、図128(b)の4行目のコマンド「LD HL,(HL)」によって、HLレジスタで示されるアドレスに格納された2バイト値がHLレジスタに読み出される。かかる4行目のコマンドが、図127(b)のステップS5に対応する。5行目のコマンド「LD A,L」によって、HLレジスタのうち、Lレジスタの値がAレジスタに設定される。こうして、HLレジスタの値の下位1バイトが予めAレジスタに設定される。かかる5行目のコマンドが、図127(b)のステップS6に対応する。そして、6行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる6行目のコマンドが、図127(b)のステップS7に対応する。 Then, the 2-byte value stored at the address indicated by the HL register is read to the HL register by the command "LD HL, (HL)" on the fourth line in FIG. 128(b). The command on the fourth line corresponds to step S5 in FIG. 127(b). The command "LD A, L" on the fifth line sets the value of the L register among the HL registers to the A register. Thus, the lower 1 byte of the value of the HL register is set in the A register in advance. The command on the fifth line corresponds to step S6 in FIG. 127(b). Then, the command "RET" on the 6th line returns to the routine one level above. The sixth line command corresponds to step S7 in FIG. 127(b).

なお、図128(c)における指標「J_JMP_FUT」を起点としたテーブルは、例えば、普通遊技の状態を示すアドレスを示す。例えば、変数「R_FUT_PHS」、すなわち、普通遊技管理フェーズの値が「02H」であった場合、図129に示すように、メインROM300bのプログラムデータに記述されたテーブル(FZ_STA、FZ_SPN、FZ_STP、FD_PRE、FD_OPN、FD_END)において選択アドレス(例えば、1270H)にAレジスタの値を2倍した値(例えば、04H)を加算したアドレス(低い方から5番目および6番目のアドレス)に格納された値、ここでは、0832H(FZ_STP)をHLレジスタに保持することができる。このように、ここでは、同一バイト長の複数の値を連続して並置したテーブル中の所望する2バイト値を取得することが可能となる。 It should be noted that the table starting from the index "J_JMP_FUT" in FIG. 128(c) indicates, for example, addresses indicating normal game states. For example, if the variable "R_FUT_PHS", that is, the normal game management phase value is "02H", the table (FZ_STA, FZ_SPN, FZ_STP, FD_PRE, FD_OPN, FD_END), the value stored in the selected address (eg, 1270H) plus the value obtained by doubling the value of the A register (eg, 04H) (5th and 6th addresses from the lowest), here Now 0832H (FZ_STP) can be held in the HL register. Thus, here, it is possible to obtain a desired 2-byte value in a table in which a plurality of values of the same byte length are consecutively arranged side by side.

ここで、FZ_STAは、図52のステップS810で示した普通図柄変動待ち処理のアドレス値を示し、FZ_SPNは、図53のステップS820で示した普通図柄変動中処理のアドレス値を示し、FZ_STPは、図54のステップS830で示した普通図柄停止図柄表示処理のアドレス値を示し、FD_PREは、図55のステップS840で示した普通電動役物入賞口開放前処理のアドレス値を示し、FD_OPNは、図57のステップS850で示した普通電動役物入賞口開放制御処理のアドレス値を示し、FD_CLSは、図58のステップS860で示した普通電動役物入賞口閉鎖有効処理のアドレス値を示し、FD_ENDは、図59のステップS870で示した普通電動役物入賞口終了ウェイト処理のアドレス値を示す。 Here, FZ_STA indicates the address value of normal symbol variation waiting processing shown in step S810 of FIG. 52, FZ_SPN indicates the address value of normal symbol variation processing shown in step S820 of FIG. Indicates the address value of the normal symbol stop symbol display process shown in step S830 of FIG. 54, FD_PRE represents the address value of the normal electric accessory winning opening pre-opening process shown in step S840 of FIG. FD_CLS indicates the address value of the normal electric accessory winning opening control process shown in step S850 of 57, FD_CLS indicates the address value of the normal electric accessory winning opening closing effective process illustrated in step S860 of FIG. 58, and FD_END is , indicates the address value of the normal electric accessory winning opening end wait process shown in step S870 of FIG.

続いて、図128(a)の4行目のコマンド「CALL (HL)」によって、取得された2バイト値、すなわち、普通遊技の状態に応じたアドレス値を呼び出す。例えば、上記のように、テーブルにおいて0832H(FZ_STP)がHLレジスタに読み出されると、かかるコマンド「CALL (HL)」によって「FZ_STP」が示すアドレスを呼び出し、普通図柄停止図柄表示処理が実行されることとなる。かかる4行目のコマンドが、図127(a)のステップS8に対応する。 Subsequently, the command "CALL (HL)" on the 4th line in FIG. 128(a) calls the acquired 2-byte value, that is, the address value corresponding to the normal game state. For example, as described above, when 0832H (FZ_STP) is read to the HL register in the table, the address indicated by "FZ_STP" is called by the command "CALL (HL)", and normal symbol stop symbol display processing is executed. becomes. The command on the fourth line corresponds to step S8 in FIG. 127(a).

WORDSELモジュールは、複数のモジュールからサブルーチンとして呼び出される。例えば、図43のステップS630で示した特別図柄停止図柄表示処理の中で実行されるダブルバイト選択処理(図示せず)を実行するDBLBYTEモジュール、図23のステップS100-65で示したサブコマンド送信処理を実行するSBC_OUTモジュール、図26のステップS400-5で示したダイナミックポート出力処理を実行するDYM_OUTモジュール、図51のステップS800で示した普通遊技管理処理を実行するFUT_PRCモジュール、図36のステップS600で示した特別遊技管理処理を実行するTOK_PRCモジュール、図44のステップS700で特別電動役物遊技管理処理を実行するTDN_PRCモジュール、図31のステップS530で示した第2始動口通過処理を実行するSTA_PASモジュール、図34のステップS540で示したカウントスイッチ通過処理(大入賞口通過処理)を実行するTDN_PASモジュール、図32のステップS535で示した特別図柄乱数取得処理を実行するTZ_RGETモジュール、普通図柄変動時間設定処理を実行するFSPNTMRモジュール、図56のステップS841で示した普通電動役物入賞口開閉切替処理を実行するFDNCHGモジュール、図37のステップS610-9で示した特別図柄記憶エリアシフト処理を実行するTMEMSFTモジュール、図39のステップS612で示した特別図柄変動パターン決定処理を実行するTHPTSELモジュール、図37のステップS610で示した特別図柄変動待ち処理のステップS610-15で示した特別図柄変動時間設定処理を実行するTSPNTMモジュール、図43のステップS630-15で示したオープニング時間設定処理を実行するTSTATMRモジュール、図46のステップS711で示した大入賞口開閉切替処理を実行するTDNCHGモジュール、図48のステップS730-7で示した大入賞口閉鎖時間設定処理を実行するTCLSTMRモジュール、図48のステップS730-9で示したエンディング時間設定処理を実行するTENDTMRモジュール、図39のS612-15で示した変動パターン選択2処理(変動パターン番号決定処理)を実行するHPT_MODモジュール、図39のS612-15で示した変動パターン選択3処理(変動パターン番号決定処理)を実行するHPT_PATモジュール、図52のステップS810-5の中で実行されるワードデータ判定処理(図示せず)を実行するWORDJDGモジュール、図33のステップS536で示した取得時演出判定処理を実行するRGETCHKモジュール、図47のステップS720-9で示した大入賞口閉鎖有効時間設定処理のサブルーチンである大入賞口閉鎖有効時間選択処理を実行するTEF_SELモジュール等から呼び出される。 The WORDSEL module is called as a subroutine from multiple modules. For example, the DBLBYTE module that executes the double byte selection process (not shown) executed in the special symbol stop symbol display process shown in step S630 of FIG. 43, the subcommand transmission shown in step S100-65 of FIG. SBC_OUT module for executing processing, DYM_OUT module for executing dynamic port output processing shown in step S400-5 in FIG. 26, FUT_PRC module for executing normal game management processing shown in step S800 in FIG. 51, step S600 in FIG. TOK_PRC module that executes the special game management process shown in , TDN_PRC module that executes the special electric role product game management process in step S700 of FIG. 44, and STA_PAS that executes the second start opening passage process shown in step S530 of FIG. module, TDN_PAS module for executing count switch passage processing (large winning opening passage processing) shown in step S540 in FIG. 34, TZ_RGET module for executing special symbol random number acquisition processing shown in step S535 in FIG. 32, normal symbol fluctuation time The FSPNTMR module that executes the setting process, the FDNCHG module that executes the normal electric accessory winning opening opening/closing switching process shown in step S841 of FIG. 56, and the special symbol storage area shift process shown in step S610-9 of FIG. TMEMSFT module, THPTSEL module for executing special symbol variation pattern determination processing shown in step S612 of FIG. 39, special symbol variation time setting processing shown in step S610-15 of special symbol variation waiting processing shown in step S610 of FIG. TSPNTM module for executing, TSTATMR module for executing the opening time setting process shown in step S630-15 in FIG. 43, TDNCHG module for executing the big winning opening opening/closing switching process shown in step S711 in FIG. 46, and steps in FIG. The TCLSTMR module that executes the big winning opening closing time setting process shown in S730-7, the TENDTMR module that executes the ending time setting process shown in step S730-9 in FIG. 48, and the variation pattern shown in S612-15 in FIG. HPT_MOD module that executes selection 2 processing (variation pattern number determination processing), HPT_PAT module that executes variation pattern selection 3 processing (variation pattern number determination processing) shown in S612-15 in FIG. 39, step S in FIG. WORDJDG module for executing word data determination processing (not shown) executed in 810-5, RGETTCHK module for executing acquisition effect determination processing shown in step S536 of FIG. 33, step S720-9 of FIG. is called from the TEF_SEL module or the like that executes the big winning opening closing effective time selection process, which is a subroutine of the big winning opening closing effective time setting process shown in .

このように、図128(b)に示したWORDSELモジュールのコマンドの総コマンドサイズは、2行目のコマンド「ADDWB HL,A」1バイト+3行目のコマンド「ADDWB HL,A」1バイト+4行目のコマンド「LD HL,(HL)」2バイト+5行目のコマンド「LD A,L」1バイト+6行目のコマンド「RET」1バイト=6バイトとなり、総実行サイクルは、2行目1サイクル+3行目1サイクル+4行目4サイクル+5行目1サイクル+6行目3サイクル=10サイクルとなる。かかるWORDSELモジュールを設けることによって、上述した各モジュール内でワードデータ選択処理を行うことなく、コマンドサイズ1バイトのコマンド「RST WORDSEL」で賄うことができるので、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Thus, the total command size of the commands of the WORDSEL module shown in FIG. 2nd command "LD HL, (HL)" 2 bytes + 5th line command "LD A, L" 1 byte + 6th line command "RET" 1 byte = 6 bytes. Cycle + 3rd row 1 cycle + 4th row 4 cycle + 5th row 1 cycle + 6th row 3 cycle = 10 cycles. By providing such a WORDSEL module, the command "RST WORDSEL" with a command size of 1 byte can be used without performing word data selection processing in each module described above. It becomes possible to secure the capacity of the control area for performing

図130は、WORDSELモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図128(b)のWORDSELモジュールのコマンド群を図130(b)のWORDSELモジュールのコマンド群に置き換えており、他の、図128(a)のWORDSELモジュールを呼び出す任意の処理のコマンド群、および、図128(c)のメインROM300bのプログラムデータにおける2バイトデータ群は、図130(a)、図130(c)として、そのまま用いている。ここでは、図130(a)、図130(c)のように、図128(a)、図128(c)と実質的に等しい処理についてはその説明を省略し、図130(b)の異なる処理のみを説明する。 FIG. 130 is an explanatory diagram for explaining another example of commands for realizing the WORDSEL module. Here, the command group of the WORDSEL module in FIG. 128(b) is replaced with the command group of the WORDSEL module in FIG. , and the 2-byte data group in the program data of the main ROM 300b in FIG. 128(c) are used as they are in FIGS. 130(a) and 130(c). Here, as shown in FIGS. 130(a) and 130(c), descriptions of the processes that are substantially the same as those in FIGS. 128(a) and 128(c) are omitted. Only processing will be described.

図130(b)の1行目の指標「WORDSEL:」は、当該WORDSELモジュールの先頭アドレスを示す。2行目のコマンド「ADDALDW HL,(HL)」によって、HLレジスタの値にAレジスタの値が2回加算され、加算後のHLレジスタで示されるアドレスに格納された2バイト値がHLレジスタに読み出される。かかる2行目のコマンドが、図127(b)のステップS4、S5に対応する。3行目のコマンド「LD A,L」によって、HLレジスタのうち、Lレジスタの値がAレジスタに設定される。こうして、HLレジスタの値の下位1バイトが予めAレジスタに設定される。かかる3行目のコマンドが、図127(b)のステップS6に対応する。そして、4行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる6行目のコマンドが、図127(b)のステップS7に対応する。 The index "WORDSEL:" on the first line in FIG. 130(b) indicates the top address of the WORDSEL module. By the command "ADDALDW HL, (HL)" on the second line, the value of the A register is added twice to the value of the HL register, and the 2-byte value stored at the address indicated by the HL register after the addition is stored in the HL register. read out. The commands on the second line correspond to steps S4 and S5 in FIG. 127(b). The command "LD A, L" on the third line sets the value of the L register of the HL registers to the A register. Thus, the lower 1 byte of the value of the HL register is set in the A register in advance. The command on the third line corresponds to step S6 in FIG. 127(b). Then, the command "RET" on the fourth line returns to the routine one level above. The sixth line command corresponds to step S7 in FIG. 127(b).

ここで、コマンド「ADDALDW HL,(HL)」は、HLレジスタの値にAレジスタの値が2回加算されHLレジスタを更新するとともに、加算後のHLレジスタで示されるアドレスに格納された値をHLレジスタに読み出すコマンドである。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「6」である。 Here, the command "ADDALDW HL, (HL)" updates the HL register by adding the value of the A register to the value of the HL register twice, and updates the value stored at the address indicated by the HL register after the addition. This is a command to read to the HL register. Such a command has a command size of "2" and an execution cycle of "6".

続いて、図130(a)の4行目のコマンド「CALL (HL)」によって、取得された2バイト値、すなわち、普通遊技の状態に応じたアドレス値を呼び出す。かかる4行目のコマンドが、図127(a)のステップS8に対応する。 Subsequently, the command "CALL (HL)" on the 4th line of FIG. 130(a) calls the acquired 2-byte value, that is, the address value corresponding to the normal game state. The command on the fourth line corresponds to step S8 in FIG. 127(a).

図130(b)のWORDSELモジュールのコマンドの総コマンドサイズは、2行目のコマンド「ADDALDW HL,(HL)」2バイト+3行目のコマンド「LD A,L」1バイト+4行目のコマンド「RET」1バイト=4バイトとなり、総実行サイクルは、2行目6サイクル+3行目1サイクル+4行目3サイクル=10サイクルとなる。したがって、図128(b)の場合と比べ、総コマンドサイズが2バイト削減されている。かかるWORDSELモジュールによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the commands of the WORDSEL module in FIG. RET" 1 byte=4 bytes, and the total execution cycle is 2nd line 6 cycles+3rd line 1 cycle+4th line 3 cycles=10 cycles. Therefore, compared with the case of FIG. 128(b), the total command size is reduced by 2 bytes. With such a WORDSEL module, it is possible to further shorten commands and secure the capacity of the control area for performing game control processing.

また、図128(b)と図130(b)とを比較して理解できるように、図128(b)において3行(2、3、4行目)を占有していたコマンド群を、図130(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 128(b) and FIG. 130(b), the command group occupying three lines (2nd, 3rd, and 4th lines) in FIG. 130(b) can be expressed in one line (second line), which makes it possible to reduce the number of commands and the design load.

図131は、WORDSELモジュールを実現するためのコマンドのさらに他の例を説明するための説明図である。ここでは、図130(a)のWORDSELモジュールを呼び出す任意の処理のコマンド群、および、図130(b)のWORDSELモジュールのコマンド群を、図131(a)の任意の処理のコマンド群に置き換えており、他の、図130(c)のメインROM300bのプログラムデータにおける2バイトデータ群は、図131(b)として、そのまま用いている。ここでは、図131(b)のように、図130(c)と実質的に等しい処理についてはその説明を省略し、図131(a)の異なる処理のみを説明する。 FIG. 131 is an explanatory diagram for explaining still another example of commands for realizing the WORDSEL module. Here, the command group for arbitrary processing to call the WORDSEL module in FIG. 130(a) and the command group for the WORDSEL module in FIG. 130(b) are replaced with the command group for arbitrary processing in FIG. 131(a). The other 2-byte data group in the program data of the main ROM 300b in FIG. 130(c) is used as it is as in FIG. 131(b). Here, as shown in FIG. 131(b), the description of the processing that is substantially the same as that of FIG. 130(c) is omitted, and only the processing that is different from that of FIG. 131(a) is described.

図131(a)の1行目のコマンド「LDQ A,(LOW R_FUT_PHS)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FUT_PHS」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値をAレジスタに読み出す。かかる1行目のコマンドが、図127(a)のステップS1に対応する。2行目のコマンド「LD HL
,J_JMP_FUT」によって、読み出し元となる1バイトデータ群の先頭アドレス「J_JMP_FUT」をHLレジスタに設定する。かかる2行目のコマンドが、図127(a)のステップS2に対応する。そして、3行目のコマンド「ADDALDW HL,(HL)」によって、HLレジスタの値にAレジスタの値が2回加算され、加算後のHLレジスタで示されるアドレスに格納された2バイト値がHLレジスタに読み出される。かかる3行目のコマンドが、図127(b)のステップS4、5に対応する。4行目のコマンド「CALL (HL)」によって、取得された2バイト値、すなわち、普通遊技の状態に応じたアドレス値を呼び出す。かかる4行目のコマンドが、図127(a)のステップS8に対応する。
The command "LDQ A, (LOW R_FUT_PHS)" on the first line of FIG. , and the value stored at that address is read to the A register. Such a command on the first line corresponds to step S1 in FIG. 127(a). The second line command "LD HL
, J_JMP_FUT” sets the head address “J_JMP_FUT” of the 1-byte data group to be read from in the HL register. The command on the second line corresponds to step S2 in FIG. 127(a). Then, by the command "ADDALDW HL, (HL)" on the third line, the value of the A register is added twice to the value of the HL register, and the 2-byte value stored at the address indicated by the HL register after addition becomes HL Read out into a register. The command on the third line corresponds to steps S4 and S5 in FIG. 127(b). The command "CALL (HL)" on the fourth line calls the acquired 2-byte value, that is, the address value corresponding to the normal game state. The command on the fourth line corresponds to step S8 in FIG. 127(a).

図131の例では、図127(a)のステップS3に対応するコマンド「RST WORDSEL」、図127(b)のステップS6に対応するコマンド「LD A,L」、および、図127(b)のステップS7に対応するコマンド「RET」が省略されている。 In the example of FIG. 131, the command "RST WORDSEL" corresponding to step S3 of FIG. 127(a), the command "LD A, L" corresponding to step S6 of FIG. The command "RET" corresponding to step S7 is omitted.

図131(a)の任意の処理およびWORDSELモジュールのコマンドの総コマンドサイズは、1行目のコマンド「LDQ A,(LOW R_FUT_PHS)」2バイト+2行目のコマンド「LD HL,J_JMP_FUT」3バイト+3行目のコマンド「ADDALDW HL,(HL)」2バイト+4行目のコマンド「CALL (HL)」2バイト=9バイトとなり、総実行サイクルは、1行目2サイクル+2行目3サイクル+3行目6サイクル+4行目5サイクル=16サイクルとなる。 The total command size of arbitrary processing and commands of the WORDSEL module in FIG. 2 bytes of the command "ADDALDW HL, (HL)" on the line + 2 bytes of the command "CALL (HL)" on the 4th line = 9 bytes. 6 cycles + 5 cycles in the 4th row = 16 cycles.

これに対し、図130(a)、図130(b)の任意の処理およびWORDSELモジュールのコマンドの総コマンドサイズは、図130(a)の1行目のコマンド「LDQ A,(LOW R_FUT_PHS)」2バイト+2行目のコマンド「LD HL,J_JMP_FUT」3バイト+3行目のコマンド「RST WORDSEL」1バイト+4行目のコマンド「CALL (HL)」2バイト+図130(b)の2行目のコマンド「ADDALDW HL,(HL)」2バイト+3行目のコマンド「LD A,L」1バイト+4行目のコマンド「RET」1バイト=12バイトとなり、総実行サイクルは、図130(a)の1行目2サイクル+2行目3サイクル+3行目4サイクル+4行目5サイクル+図130(b)の2行目6サイクル+3行目1サイクル+4行目3サイクル=24サイクルとなる。したがって、図131の例では、図130の場合と比べ、総コマンドサイズが3バイト削減され、総実行サイクルが8サイクル削減されている。このようにWORDSELモジュール自体をコマンドとして任意の処理に埋め込むことで、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 On the other hand, the total command size of arbitrary processing and WORDSEL module commands in FIGS. 2 bytes + 2nd line command "LD HL, J_JMP_FUT" 3 bytes + 3rd line command "RST WORDSEL" 1 byte + 4th line command "CALL (HL)" 2 bytes + 2nd line in Fig. 130(b) Command "ADDALDW HL, (HL)" 2 bytes + 3rd line command "LD A, L" 1 byte + 4th line command "RET" 1 byte = 12 bytes. 1st row 2 cycles+2nd row 3 cycles+3rd row 4 cycles+4th row 5 cycles+2nd row 6 cycles+3rd row 1 cycle+4th row 3 cycles=24 cycles. Therefore, in the example of FIG. 131, the total command size is reduced by 3 bytes and the total execution cycle is reduced by 8 cycles compared to the case of FIG. By embedding the WORDSEL module itself as a command in any process in this way, it is possible to further shorten the command and reduce the processing load, and to secure the capacity of the control area for performing the game control process. .

また、図130と図131とを比較して理解できるように、図130(b)において4行(1~4行目)を占有していたコマンド群を、図131においては記述する必要がなくなるので、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIGS. 130 and 131, the command group occupying four lines (1st to 4th lines) in FIG. 130(b) does not need to be described in FIG. Therefore, it is possible to reduce the number of commands and lighten the design load.

また、WORDSELモジュールは、コマンド「RST」の対象としての汎用モジュールであるが、かかる汎用モジュールを省略することで、貴重な汎用モジュールの領域を空け、その領域に他のモジュールを配置することができる。こうしてリソースの有効活用が可能となる。 Also, the WORDSEL module is a general-purpose module that is the target of the command "RST", but by omitting such a general-purpose module, a valuable area for general-purpose modules can be vacated and other modules can be arranged in that area. . In this way, effective utilization of resources becomes possible.

ただし、図131の例では、コマンド「LD A,L」を省略している。したがって、Lレジスタの値をAレジスタに設定する必要がある場合、別途、コマンド「LD A,L」を追加する必要がある。しかし、コマンド「LD A,L」は、コマンドサイズが「1」であり、実行サイクルが「1」なので、かかるコマンドの追加の影響は小さい。 However, in the example of FIG. 131, the command "LD A, L" is omitted. Therefore, if it is necessary to set the value of the L register to the A register, it is necessary to add the command "LD A, L" separately. However, the command "LD A, L" has a command size of "1" and an execution cycle of "1", so the additional impact of such a command is small.

なお、かかるWORDSELモジュールは、パチンコ機のみならず、スロットマシンにおける、例えば、図98のステップS3100-21で示した状態別モジュール実行処理を実行するためのCAL_MODモジュールや、そのCAL_MODモジュールから移行し、本前兆開始判定処理を実行するためのHID_JUGモジュールに利用される。 Note that the WORDSEL module is not only a pachinko machine, but also a slot machine, for example, a CAL_MOD module for executing the state-specific module execution process shown in step S3100-21 in FIG. It is used in the HID_JUG module for executing this precursor start determination process.

図132は、CAL_MODモジュールを説明するための説明図である。図132に示したCAL_MODモジュールは、状態別モジュール実行処理、すなわち、状態に対応したモジュールを実行する。 FIG. 132 is an explanatory diagram for explaining the CAL_MOD module. The CAL_MOD module shown in FIG. 132 executes state-specific module execution processing, that is, a module corresponding to the state.

かかるCAL_MODモジュールを実行する段階では、既に、オフセット値が所定のレジスタ(例えば、Aレジスタ)に保持されている。図132(a)の1行目の指標「CAL_MOD:」は、当該CAL_MODモジュールの先頭アドレスを示す。2行目のコマンド「LD HL,T_INT_PHASE」によって、読み出し元となる2バイトデータ群の先頭アドレス「T_INT_PHASE」がHLレジスタに設定される。3行目のコマンド「ADD A,A」によって、Aレジスタの値にAレジスタの値が加算され、Aレジスタの値が2倍になる。ここで、Aレジスタの値を2倍にしているのは、読み出し元の値が2バイト値だからである。すなわち、テーブルに2バイト単位でデータが割り当てられているので、データを読み出すためには、アドレスを2ずつオフセットする必要があるからである。4行目のコマンド「ADDWB HL,A」によって、HLレジスタの値にAレジスタの値が加算され、HLレジスタが更新される。 At the stage of executing the CAL_MOD module, the offset value is already held in a predetermined register (eg, A register). The index "CAL_MOD:" on the first line in FIG. 132(a) indicates the head address of the CAL_MOD module. The command "LD HL, T_INT_PHASE" on the second line sets the start address "T_INT_PHASE" of the 2-byte data group to be read from in the HL register. The command "ADD A, A" on the third line adds the value of the A register to the value of the A register, doubling the value of the A register. Here, the reason why the value of the A register is doubled is that the read source value is a 2-byte value. That is, since data is assigned to the table in units of 2 bytes, it is necessary to offset the address by 2 in order to read the data. The command "ADDWB HL, A" on the fourth line adds the value of the A register to the value of the HL register and updates the HL register.

そして、図132(a)の5行目のコマンド「LD HL,(HL)」によって、HLレジスタで示されるアドレスに格納された2バイト値がHLレジスタに読み出される。6行目のコマンド「JP (HL)」によって、HLアドレスで示されるアドレスに移動する。 Then, the 2-byte value stored at the address indicated by the HL register is read to the HL register by the command "LD HL, (HL)" on the fifth line in FIG. 132(a). The command "JP (HL)" on the sixth line moves to the address indicated by the HL address.

ここで、コマンド「ADDALDW」への置き換えを行うと、図132(a)のコマンド群を図132(b)のように変更することができる。図132(b)の1行目の指標「CAL_MOD:」は、当該CAL_MODモジュールの先頭アドレスを示す。2行目のコマンド「LD HL,T_INT_PHASE」によって、読み出し元となる2バイトデータ群の先頭アドレス「T_INT_PHASE」がHLレジスタに設定される。3行目のコマンド「ADDALDW HL,(HL)」によって、HLレジスタの値にAレジスタの値が2回加算され、加算後のHLレジスタで示されるアドレスに格納された2バイト値がHLレジスタに読み出される。そして、4行目のコマンド「JP (HL)」によって、HLアドレスで示されるアドレスに移動する。 Here, by replacing with the command "ADDALDW", the command group of FIG. 132(a) can be changed as shown in FIG. 132(b). The index "CAL_MOD:" on the first line in FIG. 132(b) indicates the start address of the CAL_MOD module. The command "LD HL, T_INT_PHASE" on the second line sets the start address "T_INT_PHASE" of the 2-byte data group to be read from in the HL register. By the command "ADDALDW HL, (HL)" on the third line, the value of the A register is added twice to the value of the HL register, and the 2-byte value stored at the address indicated by the HL register after the addition is stored in the HL register. read out. Then, the command "JP (HL)" on the fourth line moves to the address indicated by the HL address.

ここで、図132(a)に示したCAL_MODモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD HL,T_INT_PHASE」3バイト+3行目のコマンド「ADD A,A」1バイト+4行目のコマンド「ADDWB HL,A」1バイト+5行目のコマンド「LD HL,(HL)」2バイト+6行目のコマンド「JP (HL)」2バイト=9バイトとなり、総実行サイクルは、2行目3サイクル+3行目1サイクル+4行目1サイクル+5行目4サイクル+6行目2サイクル=11サイクルとなる。一方、図132(b)に示したCAL_MODモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD HL,T_INT_PHASE」3バイト+3行目のコマンド「ADDALDW HL,(HL)」2バイト+4行目のコマンド「JP (HL)」2バイト=7バイトとなり、総実行サイクルは、2行目3サイクル+3行目6サイクル+4行目2サイクル=11サイクルとなる。したがって、図132(a)のコマンド群を図132(b)のコマンド群に置き換えることで、総コマンドサイズが2バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the commands of the CAL_MOD module shown in FIG. command "ADDWB HL, A" 1 byte + 5th line command "LD HL, (HL)" 2 bytes + 6th line command "JP (HL)" 2 bytes = 9 bytes, total execution cycle is 2 lines 3rd cycle+3rd line 1st cycle+4th line 1st cycle+5th line 4th cycle+6th line 2nd cycle=11 cycles. On the other hand, the total command size of the commands of the CAL_MOD module shown in FIG. The second command "JP (HL)" 2 bytes=7 bytes, and the total execution cycle is 2nd line 3 cycles+3rd line 6 cycles+4th line 2 cycles=11 cycles. Therefore, by replacing the command group of FIG. 132(a) with the command group of FIG. 132(b), the total command size is reduced by 2 bytes. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図133は、HID_JUGモジュールを説明するための説明図である。図133に示したHID_JUGモジュールは、本前兆開始判定処理を実行する。 FIG. 133 is an explanatory diagram for explaining the HID_JUG module. The HID_JUG module shown in FIG. 133 executes this precursor start determination process.

図133(a)の1行目の指標「HID_JUG:」は、当該HID_JUGモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _NMD_KND)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_NMD_KND」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(通常モード種別)をAレジスタに読み出す。3行目のコマンド「LD HL,T_DAT_PGM-2」によって、読み出し元となる2バイトデータ群の先頭アドレス(「T_DAT_PGM」から2を減算した値)がHLレジスタに設定される。4行目のコマンド「ADD A,A」によって、Aレジスタの値にAレジスタの値が加算され、Aレジスタの値が2倍になる。ここで、Aレジスタの値を2倍にしているのは、読み出し元の値が2バイト値だからである。すなわち、テーブルに2バイト単位でデータが割り当てられているので、データを読み出すためには、アドレスを2ずつオフセットする必要があるからである。5行目のコマンド「ADDWB HL,A」によって、HLレジスタの値にAレジスタの値が加算され、HLレジスタが更新される。そして、図133(a)の6行目のコマンド「LD HL,(HL)」によって、HLレジスタで示されるアドレスに格納された2バイト値がHLレジスタに読み出される。 The index "HID_JUG:" on the first line in FIG. 133(a) indicates the head address of the HID_JUG module. By the command "LDQ A, (LOW_NMD_KND)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_NMD_KND" is set as the lower 1 byte of the address, and stored at that address. read the value (normal mode type) to the A register. By the command "LD HL, T_DAT_PGM-2" on the third line, the head address of the 2-byte data group to be read (a value obtained by subtracting 2 from "T_DAT_PGM") is set in the HL register. The command "ADD A, A" on the fourth line adds the value of the A register to the value of the A register, doubling the value of the A register. Here, the reason why the value of the A register is doubled is that the read source value is a 2-byte value. That is, since data is assigned to the table in units of 2 bytes, it is necessary to offset the address by 2 in order to read the data. The command "ADDWB HL, A" on the fifth line adds the value of the A register to the value of the HL register and updates the HL register. Then, the 2-byte value stored at the address indicated by the HL register is read to the HL register by the command "LD HL, (HL)" on the sixth line in FIG. 133(a).

ここで、コマンド「ADDALDW」への置き換えを行うと、図133(a)のコマンド群を図133(b)のように変更することができる。図133(b)の1行目の指標「HID_JUG:」は、当該HID_JUGモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _NMD_KND)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_NMD_KND」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(通常モード種別)をAレジスタに読み出す。3行目のコマンド「LD HL,T_DAT_PGM-2」によって、読み出し元となる2バイトデータ群の先頭アドレス(「T_DAT_PGM」から2を減算した値)がHLレジスタに設定される。4行目のコマンド「ADDALDW HL,(HL)」によって、HLレジスタの値にAレジスタの値が2回加算され、加算後のHLレジスタで示されるアドレスに格納された2バイト値がHLレジスタに読み出される。 Here, by replacing with the command "ADDALDW", the command group of FIG. 133(a) can be changed as shown in FIG. 133(b). The index "HID_JUG:" on the first line in FIG. 133(b) indicates the start address of the HID_JUG module. By the command "LDQ A, (LOW_NMD_KND)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_NMD_KND" is set as the lower 1 byte of the address, and stored at that address. read the value (normal mode type) to the A register. The command "LD HL, T_DAT_PGM-2" on the third line sets the start address of the 2-byte data group to be read (a value obtained by subtracting 2 from "T_DAT_PGM") in the HL register. By the command "ADDALDW HL, (HL)" on the fourth line, the value of the A register is added twice to the value of the HL register, and the 2-byte value stored at the address indicated by the HL register after the addition is stored in the HL register. read out.

ここで、図133(a)に示したHID_JUGモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _NMD_KND)」2バイト+3行目のコマンド「LD HL,T_DAT_PGM-2」3バイト+4行目のコマンド「ADD A,A」1バイト+5行目のコマンド「ADDWB HL,A」1バイト+6行目のコマンド「LD HL,(HL)」2バイト=9バイトとなり、総実行サイクルは、2行目2サイクル+3行目3サイクル+4行目1サイクル+5行目1サイクル+6行目4サイクル=11サイクルとなる。一方、図133(b)に示したHID_JUGモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _NMD_KND)」2バイト+3行目のコマンド「LD HL,T_DAT_PGM-2」3バイト+4行目のコマンド「ADDALDW HL,(HL)」2バイト=7バイトとなり、総実行サイクルは、2行目2サイクル+3行目3サイクル+4行目6サイクル=11サイクルとなる。したがって、図133(a)のコマンド群を図133(b)のコマンド群に置き換えることで、総コマンドサイズが2バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the commands of the HID_JUG module shown in FIG. 133(a) is the second line command "LDQ A, (LOW_NMD_KND)" 2 bytes + the third line command "LD HL, T_DAT_PGM-2". 3 bytes + 4th line command "ADD A, A" 1 byte + 5th line command "ADDWB HL, A" 1 byte + 6th line command "LD HL, (HL)" 2 bytes = 9 bytes, total execution The cycle is 2nd row 2 cycles+3rd row 3 cycles+4th row 1 cycle+5th row 1 cycle+6th row 4 cycles=11 cycles. On the other hand, the total command size of the commands of the HID_JUG module shown in FIG. Bytes+4th line command "ADDALDW HL, (HL)" 2 bytes=7 bytes, and the total execution cycle is 2nd line 2 cycles+3rd line 3 cycles+4th line 6 cycles=11 cycles. Therefore, by replacing the command group of FIG. 133(a) with the command group of FIG. 133(b), the total command size is reduced by 2 bytes. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

<コマンド「INLD」、「INLDTQR」>
RAMSETモジュールは、ラムセット処理、すなわち、メインRAM300cの変数に所定の値(初期値)を設定するための汎用モジュールである。ここでは、RAMSETモジュールをメモリマップ上の0020Hに配置する例を挙げて説明する。
<Command "INLD", "INLDTQR">
The RAMSET module is a general-purpose module for setting predetermined values (initial values) to variables in the main RAM 300c, that is, RAMSET processing. Here, an example in which the RAMSET module is arranged at 0020H on the memory map will be described.

メインCPU300aは、メインROM300bからプログラムを読み出し、読み出したプログラムを遂行し、任意の処理において、サブルーチンとしてRAMSETモジュールを呼び出し、RAMSETモジュールを遂行する。RAMSETモジュールでは、メインROM300bのプログラムデータに記述された複数の1バイト値を、メインRAM300cのワークエリアにおいて変数として扱われる複数のデータを保持する領域に転送する。こうして、複数の変数の値が設定される。ここで、転送するデータの数を単にデータ数と言う。 The main CPU 300a reads a program from the main ROM 300b, executes the read program, calls the RAMSET module as a subroutine in arbitrary processing, and executes the RAMSET module. The RAMSET module transfers a plurality of 1-byte values described in the program data of the main ROM 300b to an area holding a plurality of data treated as variables in the work area of the main RAM 300c. Thus, the values of multiple variables are set. Here, the number of data to be transferred is simply called the number of data.

図134は、RAMSETモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図22のステップS100で示したCPU初期化処理を実行するCPUINITモジュールの一部を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該RAMSETモジュールの説明中、第1レジスタはBレジスタであり、第2レジスタはHLレジスタであり、第1値は「1」であり、第2値は「2」である。なお、第1値および第2値を任意に設定できるのは言うまでもない。 FIG. 134 is a flow chart showing specific processing of the RAMSET module. Here, as arbitrary processing, a part of the CPUINIT module that executes the CPU initialization processing shown in step S100 of FIG. 22 will be described. Numerical values of step S in this figure are used only in the explanation of this figure. Also, during the description of the RAMSET module, the first register is the B register, the second register is the HL register, the first value is "1" and the second value is "2". It goes without saying that the first value and the second value can be arbitrarily set.

メインCPU300aは、図134(a)のように、任意の処理において、転送元となる1バイトデータ群の先頭アドレスをHLレジスタに設定する(S1)。そして、サブルーチンとしてRAMSETモジュールを呼び出す(S2)。 As shown in FIG. 134(a), the main CPU 300a sets the start address of the 1-byte data group to be the transfer source in the HL register in arbitrary processing (S1). Then, the RAMSET module is called as a subroutine (S2).

メインCPU300aは、図134(b)のように、RAMSETモジュールにおいて、HLレジスタで示されるアドレスに格納された1バイト値をBレジスタに読み出す(S3)。かかる1バイト値はデータ数を示す。続いて、メインCPU300aは、HLレジスタに「1」を加えた値で示されるアドレスに格納された値で特定されるアドレスに、HLレジスタに「2」を加えた値で示されるアドレスに格納された値を転送し、HLレジスタの値に「2」を加えて次に転送するアドレスを設定する(S4)。続いて、メインCPU300aは、Bレジスタの値をデクリメント(「1」減算)し、デクリメントした結果が0であるか否か判定する(S5)。ここで、デクリメントした結果が0でなければ(S5におけるNO)、ステップS4からの処理を繰り返し、デクリメントした結果が0であれば(S5におけるYES)、当該RAMSETモジュールを終了して1段上のルーチンに戻る(S6)。 As shown in FIG. 134(b), the main CPU 300a reads the 1-byte value stored at the address indicated by the HL register in the RAMSET module to the B register (S3). This 1-byte value indicates the number of data. Subsequently, the main CPU 300a adds "2" to the HL register to the address specified by the value stored in the address indicated by adding "1" to the HL register. 2 is added to the value of the HL register to set the next transfer address (S4). Subsequently, the main CPU 300a decrements the value of the B register (subtracts "1") and determines whether or not the result of the decrement is 0 (S5). Here, if the decremented result is not 0 (NO in S5), the processing from step S4 is repeated, and if the decremented result is 0 (YES in S5), the RAMSET module is terminated and Return to routine (S6).

図135、図136は、RAMSETモジュールを実現するためのコマンドの一例を説明するための説明図である。このうち、図135(a)は、RAMSETモジュールを呼び出す任意の処理のコマンド群を示し、図135(b)は、RAMSETモジュールのコマンド群を示し、図135(c)は、メインROM300bのプログラムデータにおける1バイトデータ群の配置を示し、図135(d)は、メインRAM300cのワークエリアにおける1バイトデータ群の配置を示す。図134で示したフローチャートは、例えば、図135に示したプログラムによって実現される。 135 and 136 are explanatory diagrams for explaining an example of commands for realizing the RAMSET module. Among them, FIG. 135(a) shows a command group for arbitrary processing to call the RAMSET module, FIG. 135(b) shows a command group for the RAMSET module, and FIG. 135(c) shows the program data of the main ROM 300b. 135(d) shows the arrangement of a 1-byte data group in the work area of the main RAM 300c. The flowchart shown in FIG. 134 is realized by the program shown in FIG. 135, for example.

図135(a)の1行目のコマンド「LD HL,D_RAM_RST_INI」によって、転送元となる1バイトデータ群の先頭アドレス「D_RAM_RST_INI」をHLレジスタに設定する。かかる1行目のコマンドが、図134(a)のステップS1に対応する。そして、2行目のコマンド「RST RAMSET」によって、サブルーチンとしてRAMSETモジュールが呼び出される。かかる2行目のコマンドが、図134(a)のステップS2に対応する。 The command "LD HL, D_RAM_RST_INI" on the first line in FIG. 135(a) sets the start address "D_RAM_RST_INI" of the 1-byte data group to be the transfer source in the HL register. Such a command on the first line corresponds to step S1 in FIG. 134(a). Then, the RAMSET module is called as a subroutine by the command "RST RAMSET" on the second line. The command on the second line corresponds to step S2 in FIG. 134(a).

図135(b)の1行目の指標「RAMSET:」は、当該RAMSETモジュールの先頭アドレスを示す。2行目のコマンド「LD B,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がBレジスタに読み出される。このとき、HLレジスタには、図135(a)で示したように、アドレス「D_RAM_RST_INI」が設定されている。したがって、図135(c)の2行目の1バイト値「(@D_RAM_RST_INI-D_RAM_RST_INI-1)/2」がデータ数(転送の繰り返し数)としてBレジスタに読み出されることとなる。なお、「@D_RAM_RST_INI」は、転送元となる1バイトデータ群の最終アドレスの次のアドレスであり、D_RAM_RST_INIは転送元となる1バイトデータ群の先頭アドレスなので、@D_RAM_RST_INI-D_RAM_RST_INI-1の値(データ数を示す1バイト値)の値が、1バイト値の総バイト数となり、その値を、アドレスと値との組み合わせ数である2で除算すると、データ数が導出される。図135(c)の例では、データ数は、(11-1)/2=5となる。かかる図135(c)の2行目のコマンドが、図134(b)のステップS3に対応する。 The index "RAMSET:" on the first line in FIG. 135(b) indicates the start address of the RAMSET module. The 1-byte value stored at the address indicated by the HL register is read to the B register by the command "LD B, (HL)" on the second line. At this time, the address "D_RAM_RST_INI" is set in the HL register as shown in FIG. 135(a). Therefore, the 1-byte value "(@D_RAM_RST_INI-D_RAM_RST_INI-1)/2" on the second line in FIG. 135(c) is read to the B register as the number of data (the number of repetitions of transfer). Note that "@D_RAM_RST_INI" is the address next to the last address of the transfer source 1-byte data group, and D_RAM_RST_INI is the start address of the transfer source 1-byte data group, so the value of @D_RAM_RST_INI-D_RAM_RST_INI-1 A 1-byte value indicating the number of data) is the total number of bytes of the 1-byte value, and the number of data is derived by dividing this value by 2, which is the number of combinations of addresses and values. In the example of FIG. 135(c), the number of data is (11-1)/2=5. The command on the second line in FIG. 135(c) corresponds to step S3 in FIG. 134(b).

図135(b)の3行目の指標「RAMSET_10:」は繰り返し処理の先頭アドレスを示す。4行目のコマンド「INLD AC,(HL)」および5行目のコマンド「LDQ (C),A」によって、HLレジスタに「1」を加えた値で示されるアドレスに格納された値で特定されるアドレスに、HLレジスタに「2」を加えた値で示されるアドレスに格納された値が格納され、HLレジスタの値に「2」が加えられて次に転送するアドレスが設定される。かかる4、5行目のコマンドが、図134(b)のステップS4に対応する。 The index “RAMSET — 10:” on the third line in FIG. 135(b) indicates the start address of the repeated processing. By the command "INLD AC, (HL)" on the 4th line and the command "LDQ (C), A" on the 5th line, it is specified by the value stored at the address indicated by adding "1" to the HL register. The value stored at the address indicated by the value obtained by adding "2" to the HL register is stored in the address to be transferred, and "2" is added to the value of the HL register to set the next transfer address. The commands on the 4th and 5th lines correspond to step S4 in FIG. 134(b).

ここで、コマンド「INLD AC,(HL)」は、HLレジスタに「1」を加えた値で示されるアドレスに格納された値をCレジスタに格納し、HLレジスタに「2」を加えた値で示されるアドレスに格納された値をAレジスタに格納し、HLレジスタの値に「2」を加えてHLレジスタの値を更新するコマンドである。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「4」である。 Here, the command "INLD AC, (HL)" stores the value stored at the address indicated by the value obtained by adding "1" to the HL register in the C register, and stores the value obtained by adding "2" to the HL register. This command stores the value stored at the address indicated by , in the A register, adds "2" to the value of the HL register, and updates the value of the HL register. Such a command has a command size of "2" and an execution cycle of "4".

例えば、HLレジスタがアドレス「D_RAM_RST_INI」の値であった場合、図135(c)の3行目における2バイト変数「R_TZ1_STP」の下位1バイト値がCレジスタに格納され、図135(c)の3行目における「@DSP_HAZ」の値がAレジスタに格納される。 For example, if the HL register has the value of the address "D_RAM_RST_INI", the lower 1-byte value of the 2-byte variable "R_TZ1_STP" in the third line of FIG. 135(c) is stored in the C register, and The value of "@DSP_HAZ" in the third line is stored in the A register.

また、図135(b)の5行目のコマンド「LDQ (C),A」は、Qレジスタの値をアドレスの上位1バイトとし、Cレジスタの値をアドレスの下位1バイトとし、そのアドレスに、Aレジスタの値を格納するコマンドである。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「3」である。 The command "LDQ (C), A" on the 5th line in FIG. , A command to store the value of the A register. Such a command has a command size of "2" and an execution cycle of "3".

例えば、Cレジスタの値、すなわち「R_TZ1_STP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに、Aレジスタの値、すなわち、「@DSP_HAZ」の値を格納する。 For example, the value of the C register, that is, the value of the lower 1 byte of "R_TZ1_STP" is set as the lower 1 byte of the address, and the value of the A register, that is, the value of "@DSP_HAZ" is stored at that address.

ここで、図135(c)、図135(d)において、変数「R_TZ1_STP」は、特別図柄1停止図柄番号を示し、変数「R_TZ2_STP」は、特別図柄2停止図柄番号を示し、変数「R_TZ1_DSP」は、特別図柄1表示図柄カウンタのカウンタ値を示し、変数「R_TZ2_DSP」は、特別図柄2表示図柄カウンタのカウンタ値を示し、変数「R_EXT_SEC_TMR」はセキュリティ外部信号タイマ値を示す。なお、図135(d)に示す変数の配置は図のように連続している必要はなく、離隔していてもよい。 Here, in FIGS. 135(c) and 135(d), the variable "R_TZ1_STP" indicates the special symbol 1 stop symbol number, the variable "R_TZ2_STP" indicates the special symbol 2 stop symbol number, and the variable "R_TZ1_DSP". indicates the counter value of the special symbol 1 display symbol counter, the variable "R_TZ2_DSP" indicates the counter value of the special symbol 2 display symbol counter, and the variable "R_EXT_SEC_TMR" indicates the security external signal timer value. Note that the arrangement of variables shown in FIG. 135(d) does not have to be continuous as shown, and may be separated.

続いて、図135(b)の6行目のコマンド「DJNZ RAMSET_10」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、アドレス「RAMSET_10」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「5」なので、「RAMSET_10」からの処理を5回繰り返すとBレジスタの値が0となる。かかる6行目のコマンドが、図134(b)のステップS5に対応する。そして、7行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる7行目のコマンドが、図134(b)のステップS6に対応する。 Subsequently, the value of the B register is decremented (subtracted by "1") by the command "DJNZ RAMSET_10" on the 6th line of FIG. , if the decremented result is 0, the process is shifted to the command following the command. Here, since the number of data is "5", the value of the B register becomes 0 when the processing from "RAMSET_10" is repeated five times. The sixth line command corresponds to step S5 in FIG. 134(b). Then, the command "RET" on the 7th line returns to the routine one level above. The command on the seventh line corresponds to step S6 in FIG. 134(b).

こうして、図136に示すように、メインROM300bのプログラムデータに記述された複数の1バイト値(55H、77H、66H、22H、AAH)を、メインRAM300cのワークエリアにおける変数(「R_TZ1_STP」、「R_TZ2_STP」、「R_TZ1_DSP」、「R_TZ2_DSP」、「R_EXT_SEC_TMR」)に転送することが可能となる。 Thus, as shown in FIG. 136, a plurality of 1-byte values (55H, 77H, 66H, 22H, AAH) described in the program data of the main ROM 300b are converted to variables ("R_TZ1_STP", "R_TZ2_STP") in the work area of the main RAM 300c. , "R_TZ1_DSP", "R_TZ2_DSP", and "R_EXT_SEC_TMR").

RAMSETモジュールは、複数のモジュールからサブルーチンとして呼び出される。例えば、図22のステップS100で示したCPU初期化処理を実行するCPUINITモジュール、セキュリティ設定処理を実行するSEC_SETモジュール、図26のステップS400-21で示した状態管理処理(エラー管理処理)を実行するSTC_PRCモジュール、図52のステップS810で示した普通図柄変動待ち処理を実行するFZ_STAモジュール、図53のステップS820で示した普通図柄変動中処理を実行するFZ_SPNモジュール、図54のステップS830で示した普通図柄停止図柄表示処理を実行するFZ_STPモジュール、図55のステップS840で示した普通電動役物入賞口開放前処理を実行するFD_PREモジュール、図57のステップS850で示した普通電動役物入賞口開放制御処理を実行するFD_OPNモジュール、図37のステップS610で示した特別図柄変動待ち処理を実行するTZ_STAモジュール、図41のステップS620で示した特別図柄変動中処理を実行するTZ_SPNモジュール、図43のステップS630で示した特別図柄停止図柄表示処理を実行するTZ_STPモジュール、図45のステップS710で示した大入賞口開放前処理を実行するTD_PREモジュール、図47のステップS720で示した大入賞口開放制御処理を実行するTD_OPNモジュール、図48のステップS730で示した大入賞口閉鎖有効処理を実行するTD_EFFモジュール、図49のステップ740で示した大入賞口終了ウェイト処理を実行するTD_ENDモジュール、図43のステップS630の中で実行される特別図柄変動待ち状態移行処理(図示せず)を実行するTOKZEROモジュール、図40のステップS613で示した回数切り管理処理を実行するCHGSTSモジュール、図27のステップS450で示した設定関連処理を実行するRNK_PRCモジュール等から呼び出される。 The RAMSET module is called as a subroutine from multiple modules. For example, the CPUINIT module for executing the CPU initialization process shown in step S100 in FIG. 22, the SEC_SET module for executing security setting process, and the state management process (error management process) shown in step S400-21 in FIG. STC_PRC module, FZ_STA module for executing normal symbol variation waiting process shown in step S810 of FIG. 52, FZ_SPN module for executing normal symbol variation process shown in step S820 of FIG. FZ_STP module for executing symbol stop symbol display processing, FD_PRE module for executing normal electric accessory winning opening pre-opening process shown in step S840 in FIG. 55, normal electric accessory winning opening opening control shown in step S850 in FIG. FD_OPN module that executes the process, TZ_STA module that executes the special symbol variation waiting process shown in step S610 of FIG. 37, TZ_SPN module that executes the special symbol variation process shown in step S620 of FIG. 41, step S630 of FIG. The TZ_STP module that executes the special symbol stop symbol display process shown in , the TD_PRE module that executes the big winning opening pre-opening process shown in step S710 of FIG. 45, and the big winning opening opening control process shown in step S720 of FIG. TD_OPN module to be executed, TD_EFF module to execute the big winning opening closing effective process shown in step S730 of FIG. 48, TD_END module to execute the big winning opening end wait process shown in step S740 of FIG. 49, step S630 of FIG. TOKZERO module that executes the special symbol variation waiting state transition processing (not shown) executed in, CHGSTS module that executes the number cutting management processing shown in step S613 of FIG. 40, shown in step S450 of FIG. It is called from the RNK_PRC module or the like that executes setting-related processing.

このように、図135(b)に示したRAMSETモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD B,(HL)」1バイト+4行目のコマンド「INLD AC,(HL)」2バイト+5行目のコマンド「LDQ (C),A」2バイト+6行目のコマンド「DJNZ RAMSET_10」2バイト+7行目のコマンド「RET」1バイト=8バイトとなり、総実行サイクルは、2行目2サイクル+4行目4サイクル+5行目3サイクル+6行目3サイクル(または2サイクル)+7行目3サイクル=15サイクル(または14サイクル)となる。なお、括弧内のサイクル数は、コマンド「DJNZ RAMSET_10」によって移動しなかった場合の実行サイクルを示している。かかるRAMSETモジュールを設けることによって、上述した各モジュール内でラムセット処理を行うことなく、コマンドサイズ1バイトのコマンド「RST RAMSET」で賄うことができるので、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Thus, the total command size of the commands of the RAMSET module shown in FIG. 135(b) is the command "LD B, (HL)" on the second line + 1 byte + the command "INLD AC, (HL)" on the fourth line. 2 bytes + 5th line command "LDQ (C), A" 2 bytes + 6th line command "DJNZ RAMSET_10" 2 bytes + 7th line command "RET" 1 byte = 8 bytes, total execution cycle is 2 lines 2nd cycle + 4th row 4th cycle + 5th row 3rd cycle + 6th row 3rd cycle (or 2 cycles) + 7th row 3rd cycle = 15 cycles (or 14 cycles). The number of cycles in parentheses indicates the number of execution cycles when no movement is performed by the command "DJNZ RAMSET_10". By providing such a RAMSET module, the command "RST RAMSET" with a command size of 1 byte can be used without performing the RAMSET processing in each module described above. It becomes possible to secure the capacity of the control area for performing the processing.

図137は、RAMSETモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図135(b)のRAMSETモジュールのコマンド群を図137(b)のRAMSETモジュールのコマンド群に置き換えており、他の、図135(a)のRAMSETモジュールを呼び出す任意の処理のコマンド群、図135(c)のメインROM300bのプログラムデータにおける1バイトデータ群、および、図135(d)のメインRAM300cのワークエリアにおける1バイトデータ群は、図137(a)、図137(c)、図137(d)として、そのまま用いている。ここでは、図137(a)、図137(c)、図137(d)のように、図135(a)、図135(c)、図135(d)と実質的に等しい処理についてはその説明を省略し、図137(b)の異なる処理のみを説明する。 FIG. 137 is an explanatory diagram for explaining another example of commands for realizing the RAMSET module. Here, the command group of the RAMSET module in FIG. 135(b) is replaced with the command group of the RAMSET module in FIG. , the 1-byte data group in the program data of the main ROM 300b in FIG. 135(c) and the 1-byte data group in the work area of the main RAM 300c in FIG. It is used as it is as FIG. 137(d). Here, as shown in FIGS. 137(a), 137(c), and 137(d), the processes substantially equivalent to those in FIGS. 135(a), 135(c), and 135(d) are Description is omitted, and only the different processing in FIG. 137(b) will be described.

図137(b)の1行目の指標「RAMSET:」は、当該RAMSETモジュールの先頭アドレスを示す。2行目のコマンド「LD B,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がBレジスタに読み出される。このとき、HLレジスタには、図137(a)で示したように、アドレス「D_RAM_RST_INI」が設定されている。したがって、図137(c)の2行目の1バイト値「(@D_RAM_RST_INI-D_RAM_RST_INI-1)/2」がデータ数としてBレジスタに読み出される。かかる図137(b)の2行目のコマンドが、図134(b)のステップS3に対応する。 The index "RAMSET:" on the first line in FIG. 137(b) indicates the top address of the RAMSET module. The 1-byte value stored at the address indicated by the HL register is read to the B register by the command "LD B, (HL)" on the second line. At this time, the address "D_RAM_RST_INI" is set in the HL register as shown in FIG. 137(a). Therefore, the 1-byte value "(@D_RAM_RST_INI-D_RAM_RST_INI-1)/2" on the second line in FIG. 137(c) is read to the B register as the number of data. The command on the second line in FIG. 137(b) corresponds to step S3 in FIG. 134(b).

図137(b)の3行目のコマンド「INLDTQR AC,(HL)」によって、HLレジスタに「1」を加えた値で示されるアドレスに格納された値で特定されるアドレスに、HLレジスタに「2」を加えた値で示されるアドレスに格納された値が転送され、HLレジスタの値に「2」を加えて次に転送するアドレスが設定され、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、当該処理が繰り返される。かかる3行目のコマンドが、図134(b)のステップS4、S5に対応する。 By the command "INLDTQRAC, (HL)" on the third line of FIG. 137(b), the The value stored at the address indicated by adding "2" is transferred, the next transfer address is set by adding "2" to the value of the HL register, and the value of the B register is decremented ("1"). subtraction), and the process is repeated until the decremented result becomes zero. Such commands on the third line correspond to steps S4 and S5 in FIG. 134(b).

ここで、コマンド「INLDTQR AC,(HL)」は、Qレジスタの値をアドレスの上位1バイトとし、HLレジスタに「1」を加えた値で示されるアドレスに格納された値をアドレスの下位1バイトとし、そのアドレスに、HLレジスタに「2」を加えた値で示されるアドレスに格納された値を転送し、HLレジスタの値に「2」を加えてHLレジスタの値を更新し、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、値の転送を繰り返すコマンドである。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「5」である。 Here, the command "INLDTQRAC, (HL)" sets the value of the Q register to the upper 1 byte of the address, and sets the value stored at the address indicated by adding "1" to the HL register to the lower 1 byte of the address. byte, and transfer the value stored at the address indicated by the value of the HL register plus "2" to that address, add "2" to the value of the HL register to update the value of the HL register, and This command decrements the value of the register (subtracts "1") and repeats the transfer of the value until the decremented result becomes 0. Such a command has a command size of "2" and an execution cycle of "5".

例えば、HLレジスタがアドレス「D_RAM_RST_INI」の値であった場合、Qレジスタの値をアドレスの上位1バイトとし、図137(c)の3行目における「R_TZ1_STP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに、図137(c)の3行目における「@DSP_HAZ」の値が転送され、HLレジスタの値に「2」が加えられ、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、すなわち、5回転送が繰り返される。 For example, when the HL register has the value of the address "D_RAM_RST_INI", the value of the Q register is the upper 1 byte of the address, and the lower 1 byte of "R_TZ1_STP" in the third line of FIG. 137(c), the value of "@DSP_HAZ" in the third line of FIG. " is subtracted), and the transfer is repeated until the decremented result becomes 0, that is, five times.

そして、図137(b)の4行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる4行目のコマンドが、図134(b)のステップS6に対応する。 Then, the command "RET" on the fourth line in FIG. 137(b) returns to the routine one level above. The command on the fourth line corresponds to step S6 in FIG. 134(b).

図137(b)のRAMSETモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD B,(HL)」1バイト+3行目のコマンド「INLDTQR AC,(HL)」2バイト+4行目のコマンド「RET」1バイト=4バイトとなり、総実行サイクルは、2行目2サイクル+3行目5サイクル+4行目3サイクル=10サイクルとなる。したがって、図135(b)の場合と比べ、総コマンドサイズが4バイト削減され、総実行サイクルも少なくとも4サイクル削減される。特に、図135(b)の例では、コマンド「DJNZ RAMSET_10」におけるBレジスタの値が2以上であれば、その値に10サイクル(4行目4サイクル+5行目3サイクル+6行目3サイクル)を乗じた分だけ総実行サイクルが増えるので、図137(b)の総実行サイクルの削減量も多くなる。かかるRAMSETモジュールによって、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the commands of the RAMSET module in FIG. 1 byte of the command "RET"=4 bytes, and the total execution cycle is 2 cycles on the 2nd line+5 cycles on the 3rd line+3 cycles on the 4th line=10 cycles. Therefore, compared with the case of FIG. 135(b), the total command size is reduced by 4 bytes, and the total execution cycle is also reduced by at least 4 cycles. In particular, in the example of FIG. 135(b), if the value of the B register in the command "DJNZ RAMSET_10" is 2 or more, then 10 cycles (4th line 4 cycles + 5th line 3 cycles + 6th line 3 cycles) Since the total execution cycle increases by the amount multiplied by , the amount of reduction in the total execution cycle in FIG. 137(b) also increases. With such a RAMSET module, it is possible to further shorten commands, reduce processing load, and secure the capacity of the control area for performing game control processing.

また、ここでは、図135の例と比較して、AレジスタおよびCレジスタを利用していない。したがって、Aレジスタの値やCレジスタの値を意図せず更新してしまうことはない。また、図135の例では、AレジスタやCレジスタが既に利用されている場合、スタックしてAレジスタやCレジスタの値を退避する必要があったが、ここでは、AレジスタやCレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, unlike the example in FIG. 135, the A and C registers are not used here. Therefore, the value of the A register and the value of the C register are not unintentionally updated. Also, in the example of FIG. 135, if the A and C registers were already in use, it was necessary to stack and save the values of the A and C registers. No stack processing is required. In this way, it becomes possible to effectively use resources.

また、図135(b)と図137(b)とを比較して理解できるように、図135(b)において4行(3行目~6行目)を占有していたコマンド群を、図137(b)においては1行(3行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 135(b) and FIG. 137(b), the command group that occupied four lines (third to sixth lines) in FIG. 135(b) is 137(b) can be expressed in one line (the third line), which makes it possible to reduce the number of commands themselves and the design load.

なお、かかるRAMSETモジュールは、パチンコ機のみならず、スロットマシンにおいても、メインRAM500cの変数に所定の値(初期値)を設定するためのテーブルセット処理を実行するTABLSETモジュール(汎用モジュール)として利用されている。 This RAMSET module is used not only in pachinko machines but also in slot machines as a TABLESET module (general-purpose module) for executing table setting processing for setting predetermined values (initial values) to variables in the main RAM 500c. ing.

図138は、TABLSETモジュールを実現するためのコマンドの一例を説明するための説明図である。このうち、図138(a)は、TABLSETモジュールを呼び出す任意の処理のコマンド群を示し、図138(b)は、TABLSETモジュールのコマンド群を示し、図138(c)は、メインROM500bのプログラムデータにおける1バイトデータ群の配置を示し、図138(d)は、メインRAM500cのワークエリアにおける1バイトデータ群の配置を示す。 FIG. 138 is an explanatory diagram for explaining an example of commands for realizing the TABLESET module. Among them, FIG. 138(a) shows a command group for arbitrary processing to call the TBLSET module, FIG. 138(b) shows a command group for the TBLSET module, and FIG. 138(c) shows the program data of the main ROM 500b. 138(d) shows the arrangement of a 1-byte data group in the work area of the main RAM 500c.

なお、ここでは、任意の処理として、図89のステップS2200-11や図95のステップS2800-39で示したエラーウェイト処理、すなわち、エラー表示、警告音要求およびエラー復帰待ちを実行するERRWAITモジュールの一部を挙げている。 Here, as arbitrary processing, the error wait processing shown in step S2200-11 of FIG. 89 and step S2800-39 of FIG. some are mentioned.

図138(a)の1行目のコマンド「LD HL,T_ERR_RCV」によって、転送元となる1バイトデータ群の先頭アドレス「T_ERR_RCV」をHLレジスタに設定する。そして、2行目のコマンド「RST TABLSET」によって、サブルーチンとしてTABLSETモジュールが呼び出される。 The command "LD HL, T_ERR_RCV" on the first line in FIG. 138(a) sets the start address "T_ERR_RCV" of the 1-byte data group to be the transfer source in the HL register. Then, the command "RST TABLET" on the second line calls the TABLET module as a subroutine.

図138(b)の1行目の指標「TABLSET:」は、当該TABLSETモジュールの先頭アドレスを示す。2行目のコマンド「PUSH BC」によって、BCレジスタの値がスタック領域に退避される。3行目のコマンド「DI」によって割込が禁止される。 The index "TABLSET:" on the first line in FIG. 138(b) indicates the top address of the TBLSET module. The value of the BC register is saved in the stack area by the command "PUSH BC" on the second line. Interrupts are disabled by the command "DI" on the third line.

図138(b)の4行目のコマンド「LD B,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がBレジスタに読み出される。このとき、HLレジスタには、図138(a)で示したように、アドレス「T_ERR_RCV」が設定されている。したがって、図138(c)の2行目の1バイト値「(T_ERR_RCV_-T_ERR_RCV)/2」がデータ数(転送の繰り返し数)としてBレジスタに読み出されることとなる。なお、「T_ERR_RCV_」は、転送元となる1バイトデータ群の最終アドレスの次のアドレスであり、T_ERR_RCVは転送元となる1バイトデータ群の先頭アドレスなので、T_ERR_RCV_-T_ERR_RCVの値(データ数を示す1バイト値)の値が、1バイト値の総バイト数となり、その値を、アドレスと値との組み合わせ数である2で除算すると、データ数が導出される。図138(c)の例では、データ数は、9/2=4となる。 The 1-byte value stored at the address indicated by the HL register is read to the B register by the command "LD B, (HL)" on the fourth line in FIG. 138(b). At this time, the address "T_ERR_RCV" is set in the HL register as shown in FIG. 138(a). Therefore, the 1-byte value "(T_ERR_RCV_-T_ERR_RCV)/2" on the second line in FIG. 138(c) is read out to the B register as the number of data (number of repetitions of transfer). Note that "T_ERR_RCV_" is the address next to the last address of the transfer source 1-byte data group, and T_ERR_RCV is the start address of the transfer source 1-byte data group. 1-byte value) is the total number of bytes of the 1-byte value, and the number of data is derived by dividing that value by 2, which is the number of combinations of addresses and values. In the example of FIG. 138(c), the number of data is 9/2=4.

図138(b)の5行目の指標「TABLSET10:」は繰り返し処理の先頭アドレスを示す。6行目のコマンド「INLD AC,(HL)」および7行目のコマンド「LDQ (C),A」によって、HLレジスタに「1」を加えた値で示されるアドレスに格納された値で特定されるアドレスに、HLレジスタに「2」を加えた値で示されるアドレスに格納された値が格納され、HLレジスタの値に「2」が加えられて次に転送するアドレスが設定される。 The index "TABLSET10:" on the fifth line in FIG. 138(b) indicates the start address of the repeated processing. Specified by the value stored at the address indicated by the HL register plus "1" by the command "INLD AC, (HL)" on the 6th line and the command "LDQ (C), A" on the 7th line. The value stored at the address indicated by the value obtained by adding "2" to the HL register is stored in the address to be transferred, and "2" is added to the value of the HL register to set the next transfer address.

例えば、HLレジスタがアドレス「T_ERR_RCV」の値であった場合、図138(c)の3行目における2バイト変数「_ERR_NUM」の下位1バイト値がCレジスタに格納され、図138(c)の3行目における「0」の値がAレジスタに格納される。 For example, if the HL register has the value of the address "T_ERR_RCV", the lower 1-byte value of the 2-byte variable "_ERR_NUM" in the third line of FIG. 138(c) is stored in the C register, and A value of "0" in the third row is stored in the A register.

また、図138(b)の7行目のコマンド「LDQ (C),A」は、Qレジスタの値をアドレスの上位1バイトとし、Cレジスタの値をアドレスの下位1バイトとし、そのアドレスに、Aレジスタの値を格納するコマンドである。 The command "LDQ (C), A" on the 7th line in FIG. , A command to store the value of the A register.

例えば、Cレジスタの値、すなわち「_ERR_NUM」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに、Aレジスタの値、すなわち、「0」の値を格納する。 For example, the value of the C register, that is, the value of the lower 1 byte of "_ERR_NUM" is set as the lower 1 byte of the address, and the value of the A register, that is, the value of "0" is stored at that address.

ここで、図138(c)、図138(d)において、変数「_ERR_NUM」は、エラー番号を示し、変数「_CRE_TMR」は、クレジットボタン検出タイマを示し、変数「_CRE_FLG」は、クレジットボタン検出フラグを示し、変数「_SNS_OLD」はメダル通過センサービット前回状態を示す。なお、図138(d)に示す変数の配置は図のように連続している必要はなく、離隔していてもよい。 Here, in FIGS. 138(c) and 138(d), the variable "_ERR_NUM" indicates an error number, the variable "_CRE_TMR" indicates a credit button detection timer, and the variable "_CRE_FLG" indicates a credit button detection flag. , and the variable “_SNS_OLD” indicates the previous medal passing sensor bit state. Note that the arrangement of variables shown in FIG. 138(d) does not have to be continuous as shown, and may be separated.

続いて、図138(b)の8行目のコマンド「DJNZ TABLSET10」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、アドレス「TABLSET10」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「4」なので、「TABLSET10」からの処理を4回繰り返すとBレジスタの値が0となる。 Subsequently, the value of the B register is decremented (subtracted by "1") by the command "DJNZ TABLESET10" on the eighth line in FIG. , if the decremented result is 0, the process is shifted to the command following the command. Here, since the number of data is "4", the value of the B register becomes 0 when the processing from "TABLSET10" is repeated four times.

図138(b)の9行目のコマンド「EI」によって割込が許可される。10行目のコマンド「POP BC」によってスタック領域に退避されていたデータがBCレジスタに復帰される。そして、11行目のコマンド「RET」によって、1段上のルーチンに戻る。 The interrupt is enabled by the command "EI" on the ninth line of FIG. 138(b). The data saved in the stack area by the command "POP BC" on the 10th line is restored to the BC register. Then, the command "RET" on the 11th line returns to the routine one level above.

ここで、コマンド「INLDTQR」への置き換えを行うと、コマンド群を以下のように記述できる。 Here, if the command "INLDTQR" is replaced, the command group can be described as follows.

図139は、TABLSETモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図138(b)のTABLSETモジュールのコマンド群を、図139(b)のTABLSETモジュールのコマンド群に置き換えており、他の、図138(a)のTABLSETモジュールを呼び出す任意の処理のコマンド群、図138(c)のメインROM500bのプログラムデータにおける1バイトデータ群、および、図138(d)のメインRAM500cのワークエリアにおける1バイトデータ群は、図139(a)、図139(c)、図139(d)として、そのまま用いている。ここでは、図139(a)、図139(c)、図139(d)のように、図138(a)、図138(c)、図138(d)と実質的に等しい処理についてはその説明を省略し、図139(b)の異なる処理のみを説明する。 FIG. 139 is an explanatory diagram for explaining another example of commands for realizing the TABLESET module. Here, the command group of the TBLSET module in FIG. 138(b) is replaced with the command group of the TBLSET module in FIG. 139(a) and 139(c). , is used as it is as FIG. 139(d). Here, as shown in FIGS. 139(a), 139(c), and 139(d), the processes substantially equivalent to those in FIGS. 138(a), 138(c), and 138(d) are Explanation is omitted, and only the different processing in FIG. 139(b) is explained.

図139(b)の1行目の指標「TABLSET:」は、当該TABLSETモジュールの先頭アドレスを示す。2行目のコマンド「PUSH BC」によって、BCレジスタの値がスタック領域に退避される。3行目のコマンド「DI」によって割込が禁止される。 The index "TABLSET:" on the first line in FIG. 139(b) indicates the head address of the TBLSET module. The value of the BC register is saved in the stack area by the command "PUSH BC" on the second line. Interrupts are disabled by the command "DI" on the third line.

図139(b)の4行目のコマンド「LD B,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がBレジスタに読み出される。このとき、HLレジスタには、図139(a)で示したように、アドレス「T_ERR_RCV」が設定されている。したがって、図139(c)の2行目の1バイト値「(T_ERR_RCV_-T_ERR_RCV)/2」がデータ数(転送の繰り返し数)としてBレジスタに読み出されることとなる。図139(c)の例では、データ数は4となる。 The 1-byte value stored at the address indicated by the HL register is read to the B register by the command "LD B, (HL)" on the fourth line in FIG. 139(b). At this time, the address "T_ERR_RCV" is set in the HL register as shown in FIG. 139(a). Therefore, the 1-byte value "(T_ERR_RCV_-T_ERR_RCV)/2" on the second line in FIG. 139(c) is read out to the B register as the number of data (number of repetitions of transfer). In the example of FIG. 139(c), the number of data is four.

図139(b)の5行目のコマンド「INLDTQR (HL)」によって、HLレジスタに「1」を加えた値で示されるアドレスに格納された値で特定されるアドレスに、HLレジスタに「2」を加えた値で示されるアドレスに格納された値が転送され、HLレジスタの値に「2」を加えて次に転送するアドレスが設定され、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、当該処理が繰り返される。 By the command "INLDTQR (HL)" on the fifth line in FIG. 139(b), "2" " is added to the value stored in the address indicated by the value added, "2" is added to the value of the HL register to set the next address to be transferred, and the value of the B register is decremented (subtracted by "1"). This process is repeated until the decremented result becomes zero.

続いて、図139(b)の6行目のコマンド「EI」によって割込が許可される。7行目のコマンド「POP BC」によってスタック領域に退避されていたデータがBCレジスタに復帰される。そして、8行目のコマンド「RET」によって、1段上のルーチンに戻る。 Subsequently, the interrupt is permitted by the command "EI" on line 6 of FIG. 139(b). The data saved in the stack area by the command "POP BC" on the 7th line is restored to the BC register. Then, the command "RET" on the eighth line returns to the routine one level above.

ここで、図138(b)に示したTABLSETモジュールのコマンドの総コマンドサイズは、2行目のコマンド「PUSH BC」1バイト+3行目のコマンド「DI」1バイト+4行目のコマンド「LD B,(HL)」1バイト+6行目のコマンド「INLD AC,(HL)」2バイト+7行目のコマンド「LDQ (C),A」2バイト+8行目のコマンド「DJNZ TABLSET10」2バイト+9行目のコマンド「EI」1バイト+10行目のコマンド「POP BC」1バイト+11行目のコマンド「RET」1バイト=12バイトとなり、総実行サイクルは、2行目3サイクル+3行目1サイクル+4行目2サイクル+6行目4サイクル+7行目3サイクル+8行目3サイクル(または2サイクル)+9行目1サイクル+10行目3サイクル+11行目3サイクル=23サイクル(または22サイクル)となる。一方、図139(b)に示したTABLSETモジュールのコマンドの総コマンドサイズは、2行目のコマンド「PUSH BC」1バイト+3行目のコマンド「DI」1バイト+4行目のコマンド「LD B,(HL)」1バイト+5行目のコマンド「INLDTQR (HL)」2バイト+6行目のコマンド「EI」1バイト+7行目のコマンド「POP BC」1バイト+8行目のコマンド「RET」1バイト=8バイトとなり、総実行サイクルは、2行目3サイクル+3行目1サイクル+4行目2サイクル+5行目5サイクル+6行目1サイクル+7行目3サイクル+8行目3サイクル=18サイクルとなる。したがって、図138(b)の場合と比べ、総コマンドサイズが4バイト削減され、総実行サイクルも少なくとも5サイクル削減される。特に、図138(b)の例では、コマンド「DJNZ TABLSET10」におけるBレジスタの値が2以上であれば、その値に10サイクル(6行目4サイクル+7行目3サイクル+8行目3サイクル)を乗じた分だけ総実行サイクルが増えるので、図139(b)の総実行サイクルの削減量も多くなる。かかるTABLSETモジュールによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the commands of the TABLESET module shown in FIG. , (HL)” 1 byte + 6th line command “INLD AC, (HL)” 2 bytes + 7th line command “LDQ (C), A” 2 bytes + 8th line command “DJNZ TABLESET10” 2 bytes + 9th line 1st command "EI" 1 byte + 10th line command "POP BC" 1 byte + 11th line command "RET" 1 byte = 12 bytes, the total execution cycle is 2nd line 3 cycles + 3rd line 1 cycle + 4 Row 2 cycles+6th row 4 cycles+7th row 3 cycles+8th row 3 cycles (or 2 cycles)+9th row 1 cycle+10th row 3 cycles+11th row 3 cycles=23 cycles (or 22 cycles). On the other hand, the total command size of the commands of the TABLESET module shown in FIG. (HL)" 1 byte + 5th line command "INLDTQR (HL)" 2 bytes + 6th line command "EI" 1 byte + 7th line command "POP BC" 1 byte + 8th line command "RET" 1 byte = 8 bytes, and the total execution cycle is: 2nd line 3 cycles + 3rd line 1 cycle + 4th line 2 cycles + 5th line 5 cycles + 6th line 1 cycle + 7th line 3 cycles + 8th line 3 cycles = 18 cycles . Therefore, compared with the case of FIG. 138(b), the total command size is reduced by 4 bytes, and the total execution cycle is also reduced by at least 5 cycles. In particular, in the example of FIG. 138(b), if the value of the B register in the command "DJNZ TABLESET10" is 2 or more, then 10 cycles (6th line 4 cycles + 7th line 3 cycles + 8th line 3 cycles) Since the total execution cycle increases by the amount multiplied by , the amount of reduction in the total execution cycle in FIG. 139(b) also increases. With such a TABLESET module, it is possible to shorten commands, reduce the processing load, and secure the capacity of the control area for performing game control processing.

また、ここでは、図138の例と比較して、AレジスタおよびCレジスタを利用していない。したがって、Aレジスタの値やCレジスタの値を意図せず更新してしまうことはない。また、図138の例では、AレジスタやCレジスタが既に利用されている場合、スタックしてAレジスタやCレジスタの値を退避する必要があったが、ここでは、AレジスタやCレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, unlike the example in FIG. 138, the A and C registers are not used here. Therefore, the value of the A register and the value of the C register are not unintentionally updated. Also, in the example of FIG. 138, if the A and C registers were already used, it was necessary to stack and save the values of the A and C registers. No stack processing is required. In this way, it becomes possible to effectively use resources.

また、図138(b)と図139(b)とを比較して理解できるように、図138(b)において4行(5行目~8行目)を占有していたコマンド群を、図139(b)においては1行(5行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIG. 138(b) and FIG. 139(b), the command group occupying four lines (5th to 8th lines) in FIG. 139(b) can be expressed in one line (fifth line), which makes it possible to reduce the number of commands themselves and the design load.

なお、TABLSETモジュールは、ERRWAITモジュールのみならず、複数のモジュールからサブルーチンとして呼び出される。例えば、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、本前兆中処理(AT状態=「3」)を実行するHID_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、終了画面中処理(AT状態=「4」)を実行するFIN_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、準備中処理(AT状態=「5」)を実行するPRE_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、REG中処理(AT状態=「6」)を実行するREG_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、BIG中処理(AT状態=「7」)を実行するBIG_LOTモジュール、図85のステップS2020で示した設定値切り替え処理を実行するRANKSETモジュール、図91のステップS2400で示した図柄コード設定処理を実行するFGSETUPモジュール、図96のステップS2900で示した遊技移行処理を実行するGAMESETモジュール、図96のステップS2900-3で示した役物作動図柄表示処理を実行するJCGMSETモジュール等から呼び出される。 The TABLESET module is called as a subroutine not only by the ERRWAIT module but also by a plurality of modules. For example, the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. 91 selectively shifts according to the game state and the effect state, and executes the present precursor process (AT state=“3”). and the EXE_SET module for executing the execution flag setting process shown in step S2400-11 in FIG. , and the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. ), and the EXE_SET module for executing the execution flag setting process shown in step S2400-11 in FIG. ”), and the EXE_SET module for executing the execution flag setting process shown in step S2400-11 in FIG. 7”), the RANKSET module for executing the set value switching process shown in step S2020 in FIG. 85, the FGSETUP module for executing the symbol code setting process shown in step S2400 in FIG. 91, and step S2900 in FIG. is called from the GAMESET module that executes the game transition processing shown in , the JCGMSET module that executes the role product operation symbol display processing shown in step S2900-3 of FIG. 96, and the like.

<コマンド「DECM」、「DECWM」>
BYTEDECモジュールは、バイトカウンタ減算処理、すなわち、メインRAM300cの1バイト変数を1だけデクリメントするための汎用モジュールである。なお、BYTEDECモジュールでは、デクリメントのみならず、デクリメントした結果、ゼロフラグおよびキャリーフラグを設定している。
<Command "DECM", "DECWM">
The BYTEDEC module is a general-purpose module for byte counter subtraction processing, that is, for decrementing the 1-byte variable of the main RAM 300c by one. The BYTEDEC module not only decrements, but also sets a zero flag and a carry flag as a result of decrementing.

メインCPU300aは、メインROM300bからプログラムを読み出し、読み出したプログラムを遂行し、任意の処理において、サブルーチンとしてBYTEDECモジュールを呼び出し、BYTEDECモジュールを遂行する。BYTEDECモジュールでは、メインRAM300cに保持された1バイト値をデクリメントする。 The main CPU 300a reads a program from the main ROM 300b, executes the read program, calls the BYTEDEC module as a subroutine in arbitrary processing, and executes the BYTEDEC module. The BYTEDEC module decrements the 1-byte value held in the main RAM 300c.

図140は、BYTEDECモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図43のステップS630で示した特別図柄停止図柄表示処理を実行するTZ_STPモジュールの一部を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該BYTEDECモジュールの説明中、所定のレジスタはHLレジスタである。 FIG. 140 is a flow chart showing specific processing of the BYTEDEC module. Here, as an arbitrary process, a part of the TZ_STP module that executes the special symbol stop symbol display process shown in step S630 of FIG. 43 will be described. Numerical values of step S in this figure are used only in the explanation of this figure. Also, in the description of the BYTEDEC module, the predetermined register is the HL register.

メインCPU300aは、図140(a)のように、任意の処理を実行する。メインCPU300aは、まず、HLレジスタに、デクリメントの対象となる変数のアドレスを設定する(S1)。そして、サブルーチンとしてBYTEDECモジュールを呼び出す(S2)。 The main CPU 300a executes arbitrary processing as shown in FIG. 140(a). The main CPU 300a first sets the address of the variable to be decremented in the HL register (S1). Then, the BYTEDEC module is called as a subroutine (S2).

メインCPU300aは、図140(b)のように、BYTEDECモジュールにおいて、HLレジスタで示されるアドレスに格納された1バイト値を1だけデクリメントし、かつ、ゼロフラグおよびキャリーフラグを設定する(S3)。そして、当該BYTEDECモジュールを終了して1段上のルーチンに戻る(S4)。以下、デクリメント態様とフラグの設定について詳述する。 As shown in FIG. 140(b), the main CPU 300a decrements by 1 the 1-byte value stored at the address indicated by the HL register in the BYTEDEC module and sets the zero flag and carry flag (S3). Then, the BYTEDEC module is finished, and the process returns to the routine one level above (S4). The decrement mode and flag setting will be described in detail below.

図141は、BYTEDECモジュールにおけるデクリメント態様とゼロフラグおよびキャリーフラグの設定を説明するための説明図である。ここでは、デクリメント前が1以上(1または2以上)であれば、デクリメント後は、1だけデクリメントされた値になる。ただし、デクリメント前が0であった場合、デクリメント後は-1とならず、0となる。すなわち、下限値は0であり、負の値となることはない。このような0の維持は、デクリメント前が0であった場合、デクリメントしてさらにインクリメント、または、強制的に0を読み出して実現してもよいし、デクリメントを行わないことでも実現できる。 FIG. 141 is an explanatory diagram for explaining the decrement mode and setting of the zero flag and carry flag in the BYTEDEC module. Here, if the value before decrementation is 1 or more (1 or 2 or more), the value is decremented by 1 after decrementation. However, if it was 0 before decrementation, it becomes 0 after decrementation instead of -1. That is, the lower limit value is 0 and never becomes a negative value. Such maintenance of 0 can be realized by decrementing and then incrementing the value when it was 0 before decrementing, by forcibly reading 0, or by not performing decrementation.

また、デクリメント前が2以上であれば、デクリメント後は1以上となるので、ゼロフラグは立たず0となるが、デクリメント前が1または0であれば、デクリメント後は0となるので、ゼロフラグが立って1となる。また、当該BYTEDECモジュールでは、デクリメント前が1であれば、デクリメント後は0となり、その場合にキャリーフラグを立たせて1とする。そして、デクリメント前が2以上または0であればキャリーフラグを立たせず0とする。 If the value before decrementation is 2 or more, the value after decrementation is 1 or more, so the zero flag is not set and the value becomes 0. However, if the value before decrementation is 1 or 0, the value becomes 0 after decrementation, so the zero flag is set. becomes 1. In the BYTEDEC module, if the value is 1 before decrementing, it becomes 0 after decrementing. If the value before decrement is 2 or more or 0, the carry flag is set to 0 without raising the carry flag.

図140(a)に戻り、BYTEDECモジュールによって、ゼロフラグおよびキャリーフラグが設定されると、メインCPU300aは、そのフラグの値を用いて様々な処理を遂行する。例えば、ここでは、デクリメントが1を減算して0とする処理ではないことを判定し(S5)、その結果、1を減算して0とする処理でなければ(S5におけるYES)、特別図柄当たりフラグチェック処理を行う所定のアドレス(TZ_STP_10)に移動し(S6)、1を減算して0とする処理であれば(S5におけるNO)、移動することなく次の処理を遂行する。 Returning to FIG. 140(a), when the BYTEDEC module sets the zero flag and the carry flag, the main CPU 300a uses the flag values to perform various processes. For example, here, it is determined that the decrement is not the process of subtracting 1 to 0 (S5), and as a result, if it is not the process of subtracting 1 to 0 (YES in S5), a special symbol hit Move to a predetermined address (TZ_STP_10) for flag check processing (S6), and if the processing is to subtract 1 to 0 (NO in S5), perform the next processing without moving.

図142は、BYTEDECモジュールを実現するためのコマンドの一例を説明するための説明図である。このうち、図142(a)は、BYTEDECモジュールを呼び出す任意の処理のコマンド群を示し、図142(b)は、BYTEDECモジュールのコマンド群を示す。図140で示したフローチャートは、例えば、図142に示したプログラムによって実現される。 FIG. 142 is an explanatory diagram for explaining an example of commands for realizing the BYTEDEC module. Among them, FIG. 142(a) shows a command group of arbitrary processing to call the BYTEDEC module, and FIG. 142(b) shows a command group of the BYTEDEC module. The flowchart shown in FIG. 140 is realized by the program shown in FIG. 142, for example.

図142(a)の1行目のコマンド「LDQ HL,LOW R_EXT_HCT」によって、Qレジスタの値をHレジスタに読み出し、アドレス「R_EXT_HCT」の下位1バイトの値をLレジスタに読み出す。かかる1行目のコマンドが、図140(a)のステップS1に対応する。そして、2行目のコマンド「CALLF BYTEDEC」によって、サブルーチンとしてBYTEDECモジュールが呼び出される。かかる2行目のコマンドが、図140(a)のステップS2に対応する。 By the command "LDQ HL, LOW R_EXT_HCT" on the first line in FIG. 142(a), the value of the Q register is read to the H register, and the value of the lower 1 byte of the address "R_EXT_HCT" is read to the L register. The command on the first line corresponds to step S1 in FIG. 140(a). Then, the BYTEDEC module is called as a subroutine by the command "CALLF BYTEDEC" on the second line. The command on the second line corresponds to step S2 in FIG. 140(a).

ここで、コマンド「CALLF BYTEDEC」は、メモリマップのうち0000H~11FFHの範囲のみ呼び出しできるコマンドである。呼び出しに用いられるコマンド「CALLF」は通常のコマンド「CALL」と実行サイクルは「4」で等しいが、通常のコマンド「CALL」のコマンドサイズが「3」であるのに対し、コマンド「CALLF」のコマンドサイズは「2」である。したがって、プログラムの短縮化を図ることができる。なお、コマンド「CALLF BYTEDEC」の代わりに、上述した汎用モジュール同様「RST BYTEDEC」によってBYTEDECモジュールを呼び出すとしてもよい。そうすることで、コマンドサイズを「1」にすることができる。 Here, the command "CALLF BYTEDEC" is a command that can call only the range from 0000H to 11FFH in the memory map. The command "CALLF" used for calling has the same execution cycle as the normal command "CALL", which is "4". The command size is "2". Therefore, the program can be shortened. Instead of the command "CALLF BYTEDEC", the BYTEDEC module may be called by "RST BYTEDEC" similar to the general-purpose module described above. By doing so, the command size can be set to "1".

図142(b)の1行目の指標「BYTEDEC:」は、当該BYTEDECモジュールの先頭アドレスを示す。2行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がAレジスタに読み出される。かかるコマンド「LD A,(HL)」では、その実行により第2ゼロフラグが変化する。そして、3行目のコマンド「RT Z,A」によって、Aレジスタの値が0であれば(第2ゼロフラグが1であれば)、1段上のルーチンに戻る。このとき、Aレジスタの値が0であれば、コマンド「RT Z,A」によってゼロフラグ(第1ゼロフラグ)が1となり、キャリーフラグは0となる。こうして、HLレジスタで示されるアドレスに格納された値が0であれば、デクリメントを行うことなく、ゼロフラグ=1、キャリーフラグ=0とすることができる。 The index "BYTEDEC:" on the first line in FIG. 142(b) indicates the top address of the BYTEDEC module. The 1-byte value stored at the address indicated by the HL register is read to the A register by the command "LD A, (HL)" on the second line. Execution of such a command "LD A, (HL)" changes the second zero flag. Then, if the value of the A register is 0 (if the second zero flag is 1) according to the command "RT Z, A" on the third line, the process returns to the routine one step above. At this time, if the value of the A register is 0, the command "RT Z, A" sets the zero flag (first zero flag) to 1 and the carry flag to 0. Thus, if the value stored at the address indicated by the HL register is 0, zero flag=1 and carry flag=0 can be set without decrementing.

図142(b)の4行目のコマンド「CP A,2」によって、Aレジスタの値と2が比較され、Aレジスタが2以上であれば、キャリーフラグは立たず0となり、1であれば、キャリーフラグが立って1となる。なお、コマンド「CP A,2」は、Aレジスタが2未満の場合にキャリーフラグが立つコマンドであるが、かかるコマンド「CP A,2」の実行段階では、Aレジスタの値は1か2以上のいずれかとなっているので(0ではないので)、2未満でキャリーフラグを立たせることで、結果的に1の場合にキャリーフラグが立つこととなる。こうして、Aレジスタの値が1であれば、キャリーフラグ=1とすることができる。5行目のコマンド「DEC (HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値を1だけデクリメントして、HLレジスタで示されるアドレスに格納された値を更新する。ここで、HLレジスタで示されるアドレスに格納された値が2以上であれば、デクリメントした値は1以上なので、ゼロフラグは立たず0となり、1であれば、デクリメントした値が0となるので、ゼロフラグが立って1となる。なお、コマンド「DEC (HL)」によってはキャリーフラグは変化しない。こうして、HLレジスタで示されるアドレスに格納された値が2以上であれば、ゼロフラグ=0、キャリーフラグ=0とし、1であれば、ゼロフラグ=1、キャリーフラグ=1とすることができる。かかる2~5行目のコマンドが図140(b)のステップS3に対応する。そして、6行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる6行目のコマンドが、図140(b)のステップS4に対応する。こうして、HLレジスタで示されるアドレスに格納された値を1だけデクリメントし、かつ、ゼロフラグおよびキャリーフラグを設定することが可能となる。 The value of the A register is compared with 2 by the command "CP A, 2" on the fourth line in FIG. 142(b). , the carry flag is set to 1. Note that the command "CP A, 2" is a command in which the carry flag is set when the value of the A register is less than 2, but at the stage of execution of the command "CP A, 2", the value of the A register is 1 or 2 or more. (because it is not 0), by setting the carry flag when less than 2, the carry flag is set when the value is 1 as a result. Thus, if the value of the A register is 1, the carry flag can be set to 1. The command "DEC (HL)" on the fifth line decrements the 1-byte value stored at the address indicated by the HL register by 1 to update the value stored at the address indicated by the HL register. Here, if the value stored at the address indicated by the HL register is 2 or more, the decremented value is 1 or more. The zero flag is set to 1. The carry flag does not change depending on the command "DEC (HL)". Thus, if the value stored at the address indicated by the HL register is 2 or more, zero flag=0 and carry flag=0, and if it is 1, zero flag=1 and carry flag=1. The commands on the second to fifth lines correspond to step S3 in FIG. 140(b). Then, the command "RET" on the sixth line returns to the routine one level above. The sixth line command corresponds to step S4 in FIG. 140(b). Thus, the value stored at the address indicated by the HL register can be decremented by 1 and the zero flag and carry flag can be set.

続いて、図142(a)の3行目のコマンド「JR NC,TZ_STP_10」によって、キャリーフラグが0(NC)であれば、TZ_STP_10に移動する。かかる3行目のコマンドが、図140(a)のステップS5、6に対応する。こうして、BYTEDECモジュールの結果に基づいた処理が可能となる。 Subsequently, if the carry flag is 0 (NC) by the command "JR NC, TZ_STP_10" on the third line in FIG. 142(a), the process moves to TZ_STP_10. The command on the third line corresponds to steps S5 and S6 in FIG. 140(a). This allows processing based on the results of the BYTEDEC module.

BYTEDECモジュールは、複数のモジュールからサブルーチンとして呼び出される。例えば、図26のステップS400-15で示したタイマ更新処理を実行するTMR_NEWモジュール、図26のステップS400-21で示した状態管理処理(エラー管理処理)を実行するSTC_PRCモジュール、図43のステップS630で示した特別図柄停止図柄表示処理を実行するTZ_STPモジュール、図40のステップS613で示した回数切り管理処理を実行するCHGSTSモジュール、図34のステップS540で示したカウントスイッチ通過処理(大入賞口通過処理)において大入賞口入球コマンドをセット(S540-3)した後に実行する大入賞口過剰入賞監視処理を実行するTDOVCHKモジュール、図26のステップS400-21で示した状態管理処理(エラー管理処理)のサブルーチンであるベース異常エラー監視処理を実行するBER_CHKモジュール等から呼び出される。 The BYTEDEC module is called as a subroutine from multiple modules. For example, the TMR_NEW module that executes the timer update processing shown in step S400-15 of FIG. 26, the STC_PRC module that executes the state management processing (error management processing) shown in step S400-21 of FIG. 26, and step S630 of FIG. The TZ_STP module that executes the special symbol stop symbol display process shown in , the CHGSTS module that executes the number cutting management process shown in step S613 of FIG. 40, the count switch passage process shown in step S540 of FIG. processing), the TDOVCHK module that executes the large winning opening excessive winning monitoring process executed after setting the large winning opening ball entry command (S540-3), the state management process (error management processing ), which is a subroutine of BER_CHK module for executing the base abnormality error monitoring process.

このように、図142(b)に示したBYTEDECモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD A,(HL)」1バイト+3行目のコマンド「RT Z,A」1バイト+4行目のコマンド「CP A,2」2バイト+5行目のコマンド「DEC (HL)」1バイト+6行目のコマンド「RET」1バイト=6バイトとなり、総実行サイクルは、2行目2サイクル+3行目4サイクル(または2サイクル)+4行目2サイクル+5行目4サイクル+6行目3サイクル=15サイクル(または13サイクル)となる。なお、括弧内のサイクル数は、コマンド「RT Z,A」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。かかるBYTEDECモジュールを設けることによって、上述した各モジュール内でバイトカウンタ減算処理を行うことなく、コマンドサイズ2バイトのコマンド「CALLF BYTEDEC」で賄うことができるので、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 In this way, the total command size of the commands of the BYTEDEC module shown in FIG. + 2 bytes of the command "CP A, 2" on the 4th line + 1 byte of the command "DEC (HL)" on the 5th line + 1 byte of the command "RET" on the 6th line = 6 bytes. Cycle+3rd row 4 cycles (or 2 cycles)+4th row 2 cycles+5th row 4 cycles+6th row 3 cycles=15 cycles (or 13 cycles). The number of cycles in parentheses indicates the execution cycle when the command "RT Z, A" does not move to the routine one level above. By providing such a BYTEDEC module, the command "CALLF BYTEDEC" with a command size of 2 bytes can be used without performing the byte counter subtraction processing in each module described above, so the command can be shortened and the game control processing It becomes possible to secure the capacity of the control area for performing

図143は、BYTEDECモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図142(b)のBYTEDECモジュールのコマンド群を図143(b)のBYTEDECモジュールのコマンド群に置き換えており、他の、図142(a)のBYTEDECモジュールを呼び出す任意の処理のコマンド群は、図143(a)として、そのまま用いている。ここでは、図143(a)のように、図142(a)と実質的に等しい処理についてはその説明を省略し、図143(b)の異なる処理のみを説明する。 FIG. 143 is an explanatory diagram for explaining another example of commands for realizing the BYTEDEC module. Here, the command group of the BYTEDEC module in FIG. 142(b) is replaced with the command group of the BYTEDEC module in FIG. is used as it is as FIG. 143(a). Here, as shown in FIG. 143(a), the description of the processing that is substantially the same as in FIG. 142(a) is omitted, and only the different processing in FIG. 143(b) is described.

図143(b)の1行目の指標「BYTEDEC:」は、当該BYTEDECモジュールの先頭アドレスを示す。2行目のコマンド「DECM (HL)」によって、HLレジスタで示されるアドレスに格納された値が1以上であれば1だけデクリメントし、0であれば0を維持する。 The index "BYTEDEC:" on the first line in FIG. 143(b) indicates the head address of the BYTEDEC module. If the value stored at the address indicated by the HL register is 1 or more, the value stored at the address indicated by the HL register is decremented by 1, and if it is 0, 0 is maintained by the command "DECM (HL)" on the second line.

ここで、コマンド「DECM (HL)」は、HLレジスタで示されるアドレスに格納された1バイト値をデクリメントし、キャリーフラグが立っていれば(-1となれば)、HLレジスタで示されるアドレスに格納された1バイト値に強制的に0を格納するコマンドである。そうすると、HLレジスタで示されるアドレスに格納された値が1以上であれば1だけデクリメントし、0であれば0を維持することとなる。かかるコマンド「DECM (HL)」を実行することで、デクリメント後の値がゼロであれば(デクリメント前の値が1または0であれば)、ゼロフラグ(第1ゼロフラグおよび第2ゼロフラグ)を立てて1とし、デクリメント前の値がゼロであれば、キャリーフラグを立てて1とする。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「5」である。 Here, the command "DECM (HL)" decrements the 1-byte value stored at the address indicated by the HL register, and if the carry flag is set (-1), the address indicated by the HL register This command forces 0 to be stored in the 1-byte value stored in . Then, if the value stored at the address indicated by the HL register is 1 or more, it is decremented by 1, and if it is 0, 0 is maintained. By executing the command "DECM (HL)", if the value after decrementation is zero (if the value before decrementation is 1 or 0), zero flags (first zero flag and second zero flag) are set. If the value before decrement is zero, the carry flag is set and the value is set to one. Such a command has a command size of "2" and an execution cycle of "5".

図143(b)の3行目のコマンド「RET NZ」によって、ゼロフラグが1でなければ(デクリメント後の値がゼロでなければ)、1段上のルーチンに戻る。ここでは、コマンド「DECM (HL)」によって既にデクリメントが行われているので、ゼロフラグが1ではないということは、デクリメント前が2以上であることを示す。その場合、ゼロフラグは立たず0となり、キャリーフラグも立たずに0となるので、1段上のルーチンに戻ってもよい。なお、ここでは「NZ」を挙げ、第1ゼロフラグを参照しているが、通常、第1ゼロフラグを変化させた場合には併せて第2ゼロフラグも変化するので、全ての処理において「NZ」の代わりに「NTZ」を用いることもできる。 If the zero flag is not 1 (the value after decrementation is not zero) by the command "RET NZ" on the third line in FIG. Here, since decrementation has already been performed by the command "DECM (HL)", the fact that the zero flag is not 1 indicates that the value before decrementation is 2 or more. In this case, the zero flag is not set to 0 and the carry flag is not set to 0, so the routine may be returned to the routine one step above. Here, "NZ" is mentioned and the first zero flag is referred to. Normally, when the first zero flag is changed, the second zero flag is also changed. "NTZ" can be used instead.

なお、コマンド「DECM (HL)」では、デクリメント前のHLレジスタで示されるアドレスに格納された値が1であれば、デクリメント後に0となるとともに、ゼロフラグ=1、キャリーフラグ=0となり、0であれば、デクリメントはされず0を維持するとともに、ゼロフラグ=1、キャリーフラグ=1となる。すなわち、キャリーフラグについて、図141に示した仕様と逆になる。そこで、図143(b)の4行目のコマンド「CCF」によって、キャリーフラグを反転(1→0、0→1)させる。なお、コマンド「CCF」によってはゼロフラグは変化しない。こうして、デクリメント前にHLレジスタで示されるアドレスに格納された値が1であれば、ゼロフラグ=0、キャリーフラグ=1とし、0であれば、ゼロフラグ=1、キャリーフラグ=0とすることができる。かかる2~4行目のコマンドが図140(b)のステップS3に対応する。そして、5行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる5行目のコマンドが、図140(b)のステップS4に対応する。こうして、HLレジスタで示されるアドレスに格納された値を1だけデクリメントし、かつ、ゼロフラグおよびキャリーフラグを設定することが可能となる。 In the command "DECM (HL)", if the value stored in the address indicated by the HL register before decrementing is 1, it becomes 0 after decrementing, and the zero flag=1 and the carry flag=0. If there is, it is not decremented and is maintained at 0, with zero flag=1 and carry flag=1. That is, the specification of the carry flag is opposite to that shown in FIG. Therefore, the carry flag is inverted (1→0, 0→1) by the command "CCF" on the fourth line in FIG. 143(b). Note that the zero flag does not change depending on the command "CCF". Thus, if the value stored at the address indicated by the HL register before decrementing is 1, zero flag=0 and carry flag=1, and if it is 0, zero flag=1 and carry flag=0. . The commands on the second to fourth lines correspond to step S3 in FIG. 140(b). Then, the command "RET" on the fifth line returns to the routine one level above. The command on the fifth line corresponds to step S4 in FIG. 140(b). Thus, the value stored at the address indicated by the HL register can be decremented by 1 and the zero flag and carry flag can be set.

続いて、図143(a)の3行目のコマンド「JR NC,TZ_STP_10」によって、キャリーフラグが0(NC)であれば、TZ_STP_10に移動する。かかる3行目のコマンドが、図140(a)のステップS5、6に対応する。こうして、BYTEDECモジュールの結果に基づいた処理が可能となる。 Subsequently, if the carry flag is 0 (NC) by the command "JR NC, TZ_STP_10" on the third line in FIG. 143(a), the process moves to TZ_STP_10. The command on the third line corresponds to steps S5 and S6 in FIG. 140(a). This allows processing based on the results of the BYTEDEC module.

図143(b)のBYTEDECモジュールのコマンドの総コマンドサイズは、2行目のコマンド「DECM (HL)」2バイト+3行目のコマンド「RET NZ」1バイト+4行目のコマンド「CCF」2バイト+5行目のコマンド「RET」1バイト=6バイトとなり、総実行サイクルは、2行目5サイクル+3行目3サイクル(1サイクル)+4行目2サイクル+6行目3サイクル=13サイクル(11サイクル)となる。なお、括弧内のサイクル数は、コマンド「RET NZ」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。したがって、図142(b)の場合と比べ、総実行サイクルが少なくとも2サイクル削減される。かかるBYTEDECモジュールによって、処理負荷の軽減を図りつつ、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the commands of the BYTEDEC module in FIG. 143(b) is 2 bytes of the command "DECM (HL)" on the second line + 1 byte of the command "RET NZ" on the third line + 2 bytes of the command "CCF" on the fourth line. + 1 byte of the command "RET" on the 5th line = 6 bytes. ). The number of cycles in parentheses indicates the execution cycle when the command "RET NZ" does not move to the routine one level above. Therefore, the total execution cycle is reduced by at least 2 cycles compared to the case of FIG. 142(b). With such a BYTEDEC module, it is possible to secure the capacity of the control area for performing the game control process while reducing the processing load.

また、ここでは、図142の例と比較して、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図142の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, unlike the example in FIG. 142, the A register is not used here. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 142, if the A register has already been used, it was necessary to stack and save the value of the A register. In this way, it becomes possible to effectively use resources.

また、図142(b)と図143(b)とを比較して理解できるように、図142(b)において4行(2行目~5行目)を占有していたコマンド群を、図143(b)においては3行(2行目~4行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 142(b) and FIG. 143(b), the command group occupying four lines (second to fifth lines) in FIG. 143(b) can be expressed in three lines (2nd to 4th lines), which makes it possible to reduce the number of commands and the design load.

なお、かかるBYTEDECモジュールは、パチンコ機のみならず、スロットマシンにおいても、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、REG中処理(AT状態=「6」)を実行するREG_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、BIG中処理(AT状態=「7」)を実行するBIG_LOTモジュール、図96のステップS2900-3で示した役物作動図柄表示処理を実行するJCGMSETモジュール、図98のステップS3100で示したタイマ割込み処理を実行するTMR_IPTモジュール、図98のステップS3100-21で示した状態別モジュール実行処理を実行するためのCAL_MODモジュールにおいて、タイマ割込み処理用フェーズ(0~3)に応じて4回に1回(5.96msec毎に)選択的に移行し、端子板出力制御処理を実行するIPT_PAモジュール、図98のステップS3100-21で示した状態別モジュール実行処理を実行するためのCAL_MODモジュールにおいて、タイマ割込み処理用フェーズ(0~3)に応じて4回に1回(5.96msec毎に)選択的に移行し、時間監視処理を実行するIPT_PCモジュール、および、図98のステップS3100-21で示した状態別モジュール実行処理を実行するためのCAL_MODモジュールにおいて、タイマ割込み処理用フェーズ(0~3)に応じて4回に1回(5.96msec毎に)選択的に移行し、外部信号出力制御処理を実行するIPT_PDモジュール等からコマンド「RST」によって呼び出される、カウンタ減算処理を実行するRAM_DECモジュール(汎用モジュール)として利用されている。 The BYTEDEC module is not only used in pachinko machines, but also in slot machines. Then, the REG_LOT module that executes the REG process (AT state=“6”) and the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. BIG_LOT module that shifts and executes BIG intermediate processing (AT state = "7"), JCGMSET module that executes the role product operating symbol display processing shown in step S2900-3 in Fig. 96, and JCGMSET module shown in step S3100 in Fig. 98 In the TMR_IPT module for executing timer interrupt processing and the CAL_MOD module for executing state-specific module execution processing shown in step S3100-21 in FIG. times (every 5.96 msec), the IPT_PA module for executing the terminal board output control process, and the CAL_MOD module for executing the status-specific module execution process shown in step S3100-21 in FIG. An IPT_PC module that selectively shifts once every four times (every 5.96 msec) according to the interrupt processing phase (0 to 3) and executes time monitoring processing, and the IPT_PC module shown in step S3100-21 in FIG. In the CAL_MOD module for executing the state-specific module execution processing, it selectively shifts once every four times (every 5.96 msec) according to the timer interrupt processing phase (0 to 3), and external signal output control It is used as a RAM_DEC module (general-purpose module) that executes counter subtraction processing called by the command "RST" from the IPT_PD module that executes processing.

図144は、RAM_DECモジュールを説明するための説明図である。図144に示したRAM_DECモジュールは、上述したBYTEDECモジュール同様、カウンタ減算処理、すなわち、メインRAM500cの1バイト変数を1だけデクリメントするための汎用モジュールである。なお、RAM_DECモジュールでは、BYTEDECモジュール同様、デクリメントのみならず、デクリメントした結果、図141に示したゼロフラグおよびキャリーフラグが設定される。 FIG. 144 is an explanatory diagram for explaining the RAM_DEC module. The RAM_DEC module shown in FIG. 144 is a general-purpose module for counter subtraction processing, that is, for decrementing the 1-byte variable of the main RAM 500c by 1, like the BYTEDEC module described above. Note that the RAM_DEC module, like the BYTEDEC module, not only decrements, but also sets the zero flag and carry flag shown in FIG. 141 as a result of the decrement.

図144(a)の1行目の指標「RAM_DEC:」は、当該RAM_DECモジュールの先頭アドレスを示す。2行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がAレジスタに読み出される。かかるコマンド「LD A,(HL)」では、その実行により第2ゼロフラグが変化する。そして、3行目のコマンド「RT Z,A」によって、Aレジスタの値が0であれば(第2ゼロフラグが1であれば)、1段上のルーチンに戻る。このとき、Aレジスタの値が0であれば、コマンド「RT Z,A」によってゼロフラグ(第1ゼロフラグ)が1となり、キャリーフラグは0となる。こうして、HLレジスタで示されるアドレスに格納された値が0であれば、デクリメントを行うことなく、ゼロフラグ=1、キャリーフラグ=0とすることができる。 The index "RAM_DEC:" on the first line in FIG. 144(a) indicates the start address of the RAM_DEC module. The 1-byte value stored at the address indicated by the HL register is read to the A register by the command "LD A, (HL)" on the second line. Execution of such a command "LD A, (HL)" changes the second zero flag. Then, if the value of the A register is 0 (if the second zero flag is 1) according to the command "RT Z, A" on the third line, the process returns to the routine one step above. At this time, if the value of the A register is 0, the command "RT Z, A" sets the zero flag (first zero flag) to 1 and the carry flag to 0. Thus, if the value stored at the address indicated by the HL register is 0, zero flag=1 and carry flag=0 can be set without decrementing.

図144(a)の4行目のコマンド「CP A,2」によって、Aレジスタの値と2が比較され、Aレジスタが2以上であれば、キャリーフラグは立たず0となり、1であれば、キャリーフラグが立って1となる。なお、コマンド「CP A,2」は、Aレジスタが2未満の場合にキャリーフラグが立つコマンドであるが、かかるコマンド「CP A,2」の実行段階では、Aレジスタの値は1か2以上のいずれかとなっているので(0ではないので)、2未満でキャリーフラグを立たせることで、結果的に1の場合にキャリーフラグが立つこととなる。こうして、Aレジスタの値が1であれば、キャリーフラグ=1とすることができる。5行目のコマンド「DEC A」によって、Aレジスタで示されるアドレスに格納された1バイト値が1だけデクリメントされる。6行目のコマンド「LD (HL),A」によって、Aレジスタの値がHLレジスタで示されるアドレスに格納される。ここで、HLレジスタで示されるアドレスに格納された値が2以上であれば、デクリメントした値は1以上なので、ゼロフラグは立たず0となり、1であれば、デクリメントした値が0となるので、ゼロフラグが立って1となる。なお、コマンド「DEC A」によってはキャリーフラグは変化しない。こうして、HLレジスタで示されるアドレスに格納された値が2以上であれば、ゼロフラグ=0、キャリーフラグ=0とし、1であれば、ゼロフラグ=1、キャリーフラグ=1とすることができる。そして、7行目のコマンド「RET」によって、1段上のルーチンに戻る。こうして、HLレジスタで示されるアドレスに格納された値を1だけデクリメントし、かつ、ゼロフラグおよびキャリーフラグを設定することが可能となる。 The value of the A register is compared with 2 by the command "CP A, 2" on the fourth line of FIG. 144(a). , the carry flag is set to 1. Note that the command "CP A, 2" is a command in which the carry flag is set when the value of the A register is less than 2, but at the stage of execution of the command "CP A, 2", the value of the A register is 1 or 2 or more. (because it is not 0), by setting the carry flag when less than 2, the carry flag is set when the value is 1 as a result. Thus, if the value of the A register is 1, the carry flag can be set to 1. The 1-byte value stored at the address indicated by the A register is decremented by one by the command "DEC A" on the fifth line. The command "LD (HL), A" on the sixth line stores the value of the A register at the address indicated by the HL register. Here, if the value stored at the address indicated by the HL register is 2 or more, the decremented value is 1 or more. The zero flag is set to 1. The carry flag does not change depending on the command "DEC A". Thus, if the value stored at the address indicated by the HL register is 2 or more, zero flag=0 and carry flag=0, and if it is 1, zero flag=1 and carry flag=1. Then, the command "RET" on the 7th line returns to the routine one level above. Thus, the value stored at the address indicated by the HL register can be decremented by 1 and the zero flag and carry flag can be set.

ここで、コマンド「DECM」への置き換えを行うと、図144(a)のコマンド群を図144(b)のように変更することができる。図144(b)の1行目の指標「RAM_DEC:」は、当該RAM_DECモジュールの先頭アドレスを示す。2行目のコマンド「DECM (HL)」によって、HLレジスタで示されるアドレスに格納された値が1以上であれば1だけデクリメントし、0であれば0を維持する。 Here, by replacing with the command "DECM", the command group of FIG. 144(a) can be changed as shown in FIG. 144(b). The index "RAM_DEC:" on the first line in FIG. 144(b) indicates the start address of the RAM_DEC module. If the value stored at the address indicated by the HL register is 1 or more, the value stored at the address indicated by the HL register is decremented by 1, and if it is 0, 0 is maintained by the command "DECM (HL)" on the second line.

図144(b)の3行目のコマンド「RET NZ」によって、ゼロフラグが1でなければ(デクリメント後の値がゼロでなければ)、1段上のルーチンに戻る。ここでは、コマンド「DECM (HL)」によって既にデクリメントが行われているので、ゼロフラグが1ではないということは、デクリメント前が2以上であることを示す。その場合、ゼロフラグは立たず0となり、キャリーフラグも立たずに0となるので、1段上のルーチンに戻ってもよい。続いて、4行目のコマンド「CCF」によって、キャリーフラグを反転(1→0、0→1)させる。なお、コマンド「CCF」によってはゼロフラグは変化しない。こうして、デクリメント前にHLレジスタで示されるアドレスに格納された値が1であれば、ゼロフラグ=0、キャリーフラグ=1とし、0であれば、ゼロフラグ=1、キャリーフラグ=0とすることができる。そして、5行目のコマンド「RET」によって、1段上のルーチンに戻る。こうして、HLレジスタで示されるアドレスに格納された値を1だけデクリメントし、かつ、ゼロフラグおよびキャリーフラグを設定することが可能となる。 If the zero flag is not 1 (the value after decrementation is not zero) by the command "RET NZ" on the third line in FIG. Here, since decrementation has already been performed by the command "DECM (HL)", the fact that the zero flag is not 1 indicates that the value before decrementation is 2 or more. In this case, the zero flag is not set to 0 and the carry flag is not set to 0, so the routine may be returned to the routine one step above. Subsequently, the carry flag is inverted (1→0, 0→1) by the command "CCF" on the fourth line. Note that the zero flag does not change depending on the command "CCF". Thus, if the value stored at the address indicated by the HL register before decrementing is 1, zero flag=0 and carry flag=1, and if it is 0, zero flag=1 and carry flag=0. . Then, the command "RET" on the fifth line returns to the routine one level above. Thus, the value stored at the address indicated by the HL register can be decremented by 1 and the zero flag and carry flag can be set.

ここで、図144(a)に示したRAM_DECモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD A,(HL)」1バイト+3行目のコマンド「RT Z,A」1バイト+4行目のコマンド「CP A,2」2バイト+5行目のコマンド「DEC A」1バイト+6行目のコマンド「LD (HL),A」1バイト+7行目のコマンド「RET」1バイト=7バイトとなり、総実行サイクルは、2行目2サイクル+3行目4サイクル(または2サイクル)+4行目2サイクル+5行目1サイクル+6行目2サイクル+7行目3サイクル=14サイクル(または12サイクル)となる。なお、括弧内のサイクル数は、コマンド「RT Z,A」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。一方、図144(b)に示したRAM_DECモジュールのコマンドの総コマンドサイズは、2行目のコマンド「DECM (HL)」2バイト+3行目のコマンド「RET NZ」1バイト+4行目のコマンド「CCF」2バイト+5行目のコマンド「RET」1バイト=6バイトとなり、総実行サイクルは、2行目5サイクル+3行目3サイクル(1サイクル)+4行目2サイクル+6行目3サイクル=13サイクル(11サイクル)となる。なお、括弧内のサイクル数は、コマンド「RET NZ」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。したがって、図144(a)のコマンド群を図144(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減され、総実行サイクルが少なくとも1サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the commands of the RAM_DEC module shown in FIG. Command "CP A, 2" 2 bytes on line + Command "DEC A" 1 byte on line 5 + Command "LD (HL), A" 1 byte on line 6 + Command "RET" 1 byte on line 7 = 7 The total execution cycle is 2 cycles on the 2nd line + 4 cycles on the 3rd line (or 2 cycles) + 2 cycles on the 4th line + 1 cycle on the 5th line + 2 cycles on the 6th line + 3 cycles on the 7th line = 14 cycles (or 12 cycles). ). The number of cycles in parentheses indicates the execution cycle when the command "RT Z, A" does not move to the routine one level above. On the other hand, the total command size of the RAM_DEC module commands shown in FIG. CCF" 2 bytes + 5th line command "RET" 1 byte = 6 bytes, and the total execution cycle is 2nd line 5 cycles + 3rd line 3 cycles (1 cycle) + 4th line 2 cycles + 6th line 3 cycles = 13 cycle (11 cycles). The number of cycles in parentheses indicates the execution cycle when the command "RET NZ" does not move to the routine one level above. Therefore, by replacing the command group of FIG. 144(a) with the command group of FIG. 144(b), the total command size is reduced by 1 byte and the total execution cycle is reduced by at least 1 cycle. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、WORDDECモジュールは、ワードカウンタ減算処理、すなわち、メインRAM300cの2バイト変数を1だけデクリメントするための汎用モジュールである。なお、WORDDECモジュールでは、デクリメントのみならず、デクリメントした結果、ゼロフラグおよびキャリーフラグを設定している。 The WORDDEC module is a general-purpose module for word counter subtraction processing, that is, for decrementing a 2-byte variable in the main RAM 300c by one. The WORDDEC module not only decrements, but also sets a zero flag and a carry flag as a result of decrementing.

メインCPU300aは、メインROM300bからプログラムを読み出し、読み出したプログラムを遂行し、任意の処理において、サブルーチンとしてWORDDECモジュールを呼び出し、WORDDECモジュールを遂行する。WORDDECモジュールでは、メインRAM300cに保持された2バイトデータをデクリメントする。 The main CPU 300a reads a program from the main ROM 300b, executes the read program, calls the WORDDEC module as a subroutine in arbitrary processing, and executes the WORDDEC module. The WORDDEC module decrements the 2-byte data held in the main RAM 300c.

図145は、WORDDECモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図26のステップS400-21で示した状態管理処理(エラー管理処理)のサブルーチンである入賞頻度異常エラー判定処理を実行するNHI_CHKモジュールの一部を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該WORDDECモジュールの説明中、所定のレジスタはHLレジスタである。 FIG. 145 is a flow chart showing specific processing of the WORDDEC module. Here, as an arbitrary process, part of the NHI_CHK module that executes the winning frequency abnormality error determination process, which is a subroutine of the state management process (error management process) shown in step S400-21 in FIG. 26, will be described. Numerical values of step S in this figure are used only in the explanation of this figure. Also, in the description of the WORDDEC module, the predetermined register is the HL register.

メインCPU300aは、図145(a)のように、任意の処理を実行する。メインCPU300aは、まず、HLレジスタに、デクリメントの対象となる変数のアドレスを設定する(S1)。そして、サブルーチンとしてWORDDECモジュールを呼び出す(S2)。 The main CPU 300a executes arbitrary processing as shown in FIG. 145(a). The main CPU 300a first sets the address of the variable to be decremented in the HL register (S1). Then, the WORDDEC module is called as a subroutine (S2).

メインCPU300aは、図145(b)のように、WORDDECモジュールにおいて、HLレジスタで示されるアドレスに格納された2バイト値を1だけデクリメントし、かつ、ゼロフラグおよびキャリーフラグを設定する(S3)。そして、当該WORDDECモジュールを終了して1段上のサブルーチンに戻る(S4)。なお、デクリメント態様とフラグの設定については、BYTEDECモジュール同様、図141で説明されている。 As shown in FIG. 145(b), the main CPU 300a decrements by 1 the 2-byte value stored at the address indicated by the HL register in the WORDDEC module, and sets the zero flag and carry flag (S3). Then, the WORDDEC module is terminated and the subroutine one level above is returned to (S4). Note that the decrement mode and flag setting are explained in FIG. 141, similarly to the BYTEDEC module.

WORDDECモジュールによって、ゼロフラグおよびキャリーフラグが設定されると、メインCPU300aは、そのHLレジスタの値を用いて様々な処理を遂行する。例えば、ここでは、デクリメント結果が0ではないことを判定し(S5)、その結果、0でなければ(S5におけるYES)、当該サブルーチンから戻り(S6)、0であれば(S5におけるNO)、移動することなく次の処理を遂行する。 When the WORDDEC module sets the zero flag and the carry flag, the main CPU 300a uses the value of the HL register to perform various operations. For example, here, it is determined that the decrement result is not 0 (S5). Execute the next process without moving.

図146は、WORDDECモジュールを実現するためのコマンドの一例を説明するための説明図である。このうち、図146(a)は、任意の処理のコマンド群を示し、図146(b)は、WORDDECモジュールのコマンド群を示す。図145で示したフローチャートは、例えば、図146に示したプログラムによって実現される。 FIG. 146 is an explanatory diagram for explaining an example of commands for realizing the WORDDEC module. Of these, FIG. 146(a) shows a command group for arbitrary processing, and FIG. 146(b) shows a command group for the WORDDEC module. The flowchart shown in FIG. 145 is realized by the program shown in FIG. 146, for example.

図146(a)の1行目のコマンド「POP HL」によって、スタック領域に退避されていた入賞頻度異常エラー監視タイマのアドレス値をHLレジスタに復帰させる。かかる1行目のコマンドが、図145(a)のステップS1に対応する。そして、2行目のコマンド「CALLF WORDDEC」によって、サブルーチンとしてWORDDECモジュールが呼び出される。かかる2行目のコマンドが、図145(a)のステップS2に対応する。 By command "POP HL" on the first line in FIG. 146(a), the address value of the winning frequency abnormality error monitoring timer saved in the stack area is returned to the HL register. Such a command on the first line corresponds to step S1 in FIG. 145(a). Then, the WORDDEC module is called as a subroutine by the command "CALLF WORDDEC" on the second line. The command on the second line corresponds to step S2 in FIG. 145(a).

図146(b)の1行目の指標「WORDDEC:」は、当該WORDDECモジュールの先頭アドレスを示す。2行目のコマンド「JTW Z,(HL),WORDDEC_99」によって、HLレジスタで示されるアドレスに格納された2バイト値が0かどうか判断され、0であれば、指標「WORDDEC_99:」に移動する。かかるコマンド「JTW Z,(HL),WORDDEC_99」では、その実行によりゼロフラグが変化する。例えば、HLレジスタで示されるアドレスに格納された値が0であれば、ゼロフラグが1となり、キャリーフラグは0となる。また、HLレジスタで示されるアドレスに格納された値が0であれば、指標「WORDDEC_99:」に移動し、7行目のコマンド「RET」によって、1段上のサブルーチンに戻る。こうして、HLレジスタで示されるアドレスに格納された値が0であれば、デクリメントを行うことなく、ゼロフラグ=1、キャリーフラグ=0とすることができる。 The index "WORDDEC:" on the first line in FIG. 146(b) indicates the head address of the WORDDEC module. The command "JTW Z, (HL), WORDDEC_99" on the second line determines if the two-byte value stored at the address indicated by the HL register is 0, and if so, moves to the index "WORDDEC_99:". . Execution of the command "JTW Z, (HL), WORDDEC_99" changes the zero flag. For example, if the value stored at the address indicated by the HL register is 0, the zero flag becomes 1 and the carry flag becomes 0. Also, if the value stored at the address indicated by the HL register is 0, the process moves to the index "WORDDEC_99:" and returns to the subroutine one level higher by the command "RET" on the seventh line. Thus, if the value stored at the address indicated by the HL register is 0, zero flag=1 and carry flag=0 can be set without decrementing.

図146(b)の3行目のコマンド「DECW (HL)」によって、HLレジスタで示されるアドレスに格納された2バイト値を1だけデクリメントして、HLレジスタで示されるアドレスに格納された値を更新する。ここで、HLレジスタで示されるアドレスに格納された値が2以上であれば、デクリメントした値は1以上なので、ゼロフラグは立たず0となり、1であれば、デクリメントした値が0となるので、ゼロフラグ(第2ゼロフラグ)が立って1となる。そして、4行目のコマンド「RET NTZ」によって、ゼロフラグが1でなければ、1段上のサブルーチンに戻る。ここで「NTZ」としているのは、コマンド「DECW (HL)」によって第2ゼロフラグは変化するが第1ゼロフラグは変化しないからである。なお、コマンド「RET NTZ」によっては、ゼロフラグもキャリーフラグも変化しない。このとき、ゼロフラグが1とならない(1段上のサブルーチンに戻る)のは、デクリメント前のHLレジスタで示されるアドレスに格納された値が2以上の場合である。したがって、デクリメント前が2以上であれば、ゼロフラグ=0、キャリーフラグ=0となっているので、1段上のサブルーチンに戻っても問題ない。 By the command "DECW (HL)" on the third line in FIG. 146(b), the 2-byte value stored at the address indicated by the HL register is decremented by 1 to obtain the value stored at the address indicated by the HL register. update. Here, if the value stored at the address indicated by the HL register is 2 or more, the decremented value is 1 or more. A zero flag (second zero flag) is set to 1. Then, if the zero flag is not 1 by the command "RET NTZ" on the 4th line, the process returns to the subroutine one step above. The reason why "NTZ" is used here is that the command "DECW (HL)" changes the second zero flag but does not change the first zero flag. Note that neither the zero flag nor the carry flag changes depending on the command "RET NTZ". At this time, the zero flag does not become 1 (returns to the subroutine one level above) when the value stored in the address indicated by the HL register before decrementing is 2 or more. Therefore, if the number before decrement is 2 or more, the zero flag=0 and the carry flag=0, so there is no problem in returning to the subroutine one level above.

また、ゼロフラグが1であれば、デクリメント前のHLレジスタで示されるアドレスに格納された値が1であり、ゼロフラグ=1、キャリーフラグ=0となっている。すなわち、キャリーフラグについて、図141に示した仕様と逆になる。そこで、5行目のコマンド「SCF」によって、キャリーフラグを強制的に立てて1とする。こうして、デクリメント前にHLレジスタで示されるアドレスに格納された値が1であれば、ゼロフラグ=1、キャリーフラグ=1となる。なお、コマンド「SCF」によってはゼロフラグは変化しない。かかる2~6行目のコマンドが図145(b)のステップS3に対応する。そして、7行目のコマンド「RET」によって、1段上のサブルーチンに戻る。かかる7行目のコマンドが、図145(b)のステップS4に対応する。こうして、HLレジスタで示されるアドレスに格納された値を1だけデクリメントし、かつ、ゼロフラグおよびキャリーフラグを設定することが可能となる。 If the zero flag is 1, the value stored in the address indicated by the HL register before decrementing is 1, the zero flag=1, and the carry flag=0. That is, the specification of the carry flag is opposite to that shown in FIG. Therefore, the carry flag is forcibly set to 1 by the command "SCF" on the fifth line. Thus, if the value stored at the address indicated by the HL register before decrementing is 1, the zero flag=1 and the carry flag=1. Note that the zero flag does not change depending on the command "SCF". The commands on the 2nd to 6th lines correspond to step S3 in FIG. 145(b). Then, the command "RET" on the 7th line returns to the subroutine one level above. Such a command on the seventh line corresponds to step S4 in FIG. 145(b). Thus, the value stored at the address indicated by the HL register can be decremented by 1 and the zero flag and carry flag can be set.

続いて、図146(a)の3行目のコマンド「RET NTZ」によって、ゼロフラグ(第2ゼロフラグ)が1でなければ(0であれば)、さらに1段上のサブルーチンに戻る。かかる3行目のコマンドが、図145(a)のステップS5、6に対応する。こうして、WORDDECモジュールの結果に基づいた処理が可能となる。 Subsequently, if the zero flag (second zero flag) is not 1 (if it is 0) by the command "RET NTZ" on the third line of FIG. The command on the third line corresponds to steps S5 and S6 in FIG. 145(a). This allows processing based on the results of the WORDDEC module.

WORDDECモジュールは、複数のモジュールからサブルーチンとして呼び出される。例えば、図26のステップS400-15で示したタイマ更新処理を実行するTMR_NEWモジュール、図41のステップS620で示した特別図柄変動中処理を実行するTZ_SPNモジュール、図26のステップS400-21で示した状態管理処理(エラー管理処理)のサブルーチンである入賞頻度異常エラー判定処理を実行するNHI_CHKモジュール等から呼び出される。 The WORDDEC module is called as a subroutine from multiple modules. For example, the TMR_NEW module that executes the timer update process shown in step S400-15 of FIG. 26, the TZ_SPN module that executes the special symbol changing process shown in step S620 of FIG. 41, and the It is called from the NHI_CHK module or the like that executes the winning frequency abnormality error determination process, which is a subroutine of the state management process (error management process).

このように、図146(b)に示したWORDDECモジュールのコマンドの総コマンドサイズは、2行目のコマンド「JTW Z,(HL),WORDDEC_99」3バイト+3行目のコマンド「DECW (HL)」2バイト+4行目のコマンド「RET NTZ」1バイト+5行目のコマンド「SCF」2バイト+7行目のコマンド「RET」1バイト=9バイトとなり、総実行サイクルは、2行目6サイクル(または5サイクル)+3行目7サイクル+4行目3サイクル(または1サイクル)+5行目2サイクル+7行目3サイクル=21サイクル(または18サイクル)となる。なお、括弧内のサイクル数は、コマンド「JTW Z,(HL),WORDDEC_99」やコマンド「RET NTZ」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。かかるWORDDECモジュールを設けることによって、上述した各モジュール内でワードカウンタ減算処理を行うことなく、コマンドサイズ2バイトのコマンド「CALLF WORDDEC」で賄うことができるので、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 In this way, the total command size of the WORDDEC module commands shown in FIG. 2 bytes + 4th line command "RET NTZ" 1 byte + 5th line command "SCF" 2 bytes + 7th line command "RET" 1 byte = 9 bytes, total execution cycle is 6 cycles of 2nd line (or 5 cycles)+3rd row 7 cycles+4th row 3 cycles (or 1 cycle)+5th row 2 cycles+7th row 3 cycles=21 cycles (or 18 cycles). The number of cycles in parentheses indicates the execution cycle when the command "JTW Z, (HL), WORDDEC — 99" or the command "RET NTZ" does not move to the next higher routine. By providing such a WORDDEC module, the command "CALLF WORDDEC" with a command size of 2 bytes can be used without performing word counter subtraction processing in each module described above. It becomes possible to secure the capacity of the control area for performing

図147は、WORDDECモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図146(b)のWORDDECモジュールのコマンド群を図147(b)のWORDDECモジュールのコマンド群に置き換えており、他の、図146(a)のWORDDECモジュールを呼び出す任意の処理のコマンド群は、図147(a)として、そのまま用いている。ここでは、図147(a)のように、図146(a)と実質的に等しい処理についてはその説明を省略し、図147(b)の異なる処理のみを説明する。 FIG. 147 is an explanatory diagram for explaining another example of commands for realizing the WORDDEC module. Here, the command group of the WORDDEC module in FIG. 146(b) is replaced with the command group of the WORDDEC module in FIG. is used as it is as FIG. 147(a). Here, as shown in FIG. 147(a), the description of the processing that is substantially the same as in FIG. 146(a) will be omitted, and only the processing that is different in FIG. 147(b) will be described.

図147(b)の1行目の指標「WORDDEC:」は、当該WORDDECモジュールの先頭アドレスを示す。2行目のコマンド「DECWM (HL)」によって、HLレジスタで示されるアドレスに格納された値が1以上であれば1だけデクリメントし、0であれば0を維持する。 The index "WORDDEC:" on the first line in FIG. 147(b) indicates the top address of the WORDDEC module. If the value stored at the address indicated by the HL register is 1 or more, the value stored at the address indicated by the HL register is decremented by 1, and if it is 0, 0 is maintained by the command "DECWM (HL)" on the second line.

ここで、コマンド「DECWM (HL)」は、HLレジスタで示されるアドレスに格納された2バイト値をデクリメントし、キャリーフラグが立っていれば(-1となれば)、HLレジスタで示されるアドレスに格納された2バイト値に強制的に0を格納するコマンドである。そうすると、HLレジスタで示されるアドレスに格納された値が1以上であれば1だけデクリメントし、0であれば0を維持することとなる。かかるコマンド「DECWM (HL)」を実行することで、デクリメント後の値がゼロであれば(デクリメント前の値が1または0であれば)、ゼロフラグ(第1ゼロフラグおよび第2ゼロフラグ)を立てて1とし、デクリメント前の値がゼロであれば、キャリーフラグを立てて1とする。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「7」である。 Here, the command "DECWM (HL)" decrements the 2-byte value stored at the address indicated by the HL register, and if the carry flag is set (-1), the address indicated by the HL register This command forces 0 to be stored in the 2-byte value stored in . Then, if the value stored at the address indicated by the HL register is 1 or more, it is decremented by 1, and if it is 0, 0 is maintained. By executing the command "DECWM (HL)", if the value after decrement is zero (if the value before decrement is 1 or 0), zero flags (first zero flag and second zero flag) are set. If the value before decrement is zero, the carry flag is set and the value is set to one. Such a command has a command size of "2" and an execution cycle of "7".

図147(b)の3行目のコマンド「RET NZ」によって、ゼロフラグが1でなければ(デクリメント後の値がゼロでなければ)、1段上のサブルーチンに戻る。ここでは、コマンド「DECWM (HL)」によって既にデクリメントが行われているので、ゼロフラグが1ではないということは、デクリメント前が2以上であることを示す。その場合、ゼロフラグは立たず0となり、キャリーフラグも立たずに0となるので、1段上のサブルーチンに戻ってもよい。 If the zero flag is not 1 (the value after decrementation is not zero) by the command "RET NZ" on the third line in FIG. Here, since decrementation has already been performed by the command "DECWM (HL)", the fact that the zero flag is not 1 indicates that the value before decrementation is 2 or more. In this case, the zero flag is not set to 0, and the carry flag is not set to 0, so that the subroutine may be returned to one level higher.

なお、コマンド「DECWM (HL)」では、デクリメント前のHLレジスタで示されるアドレスに格納された値が1であれば、デクリメント後に0となるとともに、ゼロフラグ=1、キャリーフラグ=0となり、0であれば、デクリメントはされず0を維持するとともに、ゼロフラグ=1、キャリーフラグ=1となる。すなわち、キャリーフラグについて、図141に示した仕様と逆になる。そこで、図147(b)の4行目のコマンド「CCF」によって、キャリーフラグを反転(1→0、0→1)させる。なお、コマンド「CCF」によってはゼロフラグは変化しない。こうして、デクリメント前にHLレジスタで示されるアドレスに格納された値が1であれば、ゼロフラグ=1、キャリーフラグ=1とし、0であれば、ゼロフラグ=1、キャリーフラグ=0とすることができる。かかる2~4行目のコマンドが図145(b)のステップS3に対応する。そして、5行目のコマンド「RET」によって、1段上のサブルーチンに戻る。かかる5行目のコマンドが、図145(b)のステップS4に対応する。こうして、HLレジスタで示されるアドレスに格納された値を1だけデクリメントし、かつ、ゼロフラグおよびキャリーフラグを設定することが可能となる。 In the command "DECWM (HL)", if the value stored in the address indicated by the HL register before decrementing is 1, it becomes 0 after decrementing, and the zero flag=1 and the carry flag=0. If there is, it is not decremented and is maintained at 0, with zero flag=1 and carry flag=1. That is, the specification of the carry flag is opposite to that shown in FIG. Therefore, the carry flag is inverted (1→0, 0→1) by the command "CCF" on the fourth line in FIG. 147(b). Note that the zero flag does not change depending on the command "CCF". Thus, if the value stored at the address indicated by the HL register before decrementing is 1, then zero flag=1 and carry flag=1, and if it is 0, then zero flag=1 and carry flag=0. . The commands on the second to fourth lines correspond to step S3 in FIG. 145(b). Then, the command "RET" on the fifth line returns to the subroutine one level above. The command on the fifth line corresponds to step S4 in FIG. 145(b). Thus, the value stored at the address indicated by the HL register can be decremented by 1 and the zero flag and carry flag can be set.

続いて、図147(a)の3行目のコマンド「RET NTZ」によって、ゼロフラグ(第2ゼロフラグ)が1でなければ(0であれば)、さらに1段上のサブルーチンに戻る。かかる3行目のコマンドが、図145(a)のステップS5、6に対応する。こうして、WORDDECモジュールの結果に基づいた処理が可能となる。 Subsequently, if the zero flag (second zero flag) is not 1 (if it is 0) by the command "RET NTZ" on the third line of FIG. The command on the third line corresponds to steps S5 and S6 in FIG. 145(a). This allows processing based on the results of the WORDDEC module.

図147(b)のWORDDECモジュールのコマンドの総コマンドサイズは、2行目2バイト+3行目1バイト+4行目2バイト+5行目1バイト=6バイトとなり、総実行サイクルは、2行目7サイクル+3行目3サイクル(1サイクル)+4行目2サイクル+6行目3サイクル=15サイクル(13サイクル)となる。なお、括弧内のサイクル数は、コマンド「RET NZ」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。したがって、図146(b)の場合と比べ、総コマンドサイズが3バイト削減され、総実行サイクルが少なくとも6サイクル削減される。かかるWORDDECモジュールによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the command of the WORDDEC module in FIG. Cycle + 3rd row 3 cycles (1 cycle) + 4th row 2 cycles + 6th row 3 cycles = 15 cycles (13 cycles). The number of cycles in parentheses indicates the execution cycle when the command "RET NZ" does not move to the routine one level above. Therefore, the total command size is reduced by 3 bytes and the total execution cycle is reduced by at least 6 cycles compared to the case of FIG. 146(b). With such a WORDDEC module, it is possible to further shorten commands and secure the capacity of the control area for performing game control processing.

また、図146(b)と図147(b)とを比較して理解できるように、図146(b)において5行(2行目~6行目)を占有していたコマンド群を、図147(b)においては3行(2行目~4行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 146(b) and FIG. 147(b), the command group that occupied five lines (second to sixth lines) in FIG. 147(b) can be expressed in three lines (second to fourth lines), which makes it possible to reduce the number of commands and the design load.

<コマンド「RCP」>
図148は、サブルーチンから戻る処理の一例を説明するための説明図である。図148(a)におけるコマンド「CP A,n」は、Aレジスタの値と、所定の値nとを比較するコマンドであり、A=nの場合、ゼロフラグが立って1となり、A<nの場合、キャリーフラグが立って1となる。かかるコマンド「CP A,n」のコマンドサイズは「2」であり、実行サイクルは「2」である。
<Command “RCP”>
FIG. 148 is an explanatory diagram for explaining an example of processing for returning from a subroutine. The command "CP A,n" in FIG. 148(a) is a command for comparing the value of the A register with a predetermined value n. In this case, the carry flag is set to 1. The command size of such command "CP A,n" is "2" and the execution cycle is "2".

図148(a)におけるコマンド「RET cc」は、ゼロフラグまたはキャリーフラグを参照し、対象となるフラグが1となっていれば、サブルーチンから1段上のルーチンに戻るコマンドである。かかるコマンド「RET cc」のコマンドサイズは「1」であり、実行サイクルは「3」(または「1」)である。なお、括弧内のサイクル数は、コマンド「RET cc」によって1つ上のルーチンに移動しなかった(サブルーチンから戻らなかった)場合の実行サイクルを示している。 The command "RET cc" in FIG. 148(a) refers to the zero flag or carry flag, and if the target flag is 1, returns from the subroutine to the routine one level above. Such a command "RET cc" has a command size of "1" and an execution cycle of "3" (or "1"). Note that the number of cycles in parentheses indicates the execution cycle when the command "RET cc" does not move to a routine higher by one (does not return from a subroutine).

ここでは、図148(a)のように、1行目のコマンド「CP A,n」によって、Aレジスタの値と、所定の値nとを比較し、2行目のコマンド「RET cc」によって、その比較結果に応じてサブルーチンから戻るか否かが決定する。ここで、かかる2つのコマンドを、図148(b)のように、1つのコマンド「RCP cc,A,n」に纏める(置き換える)ことができる。 Here, as shown in FIG. 148(a), the value of the A register is compared with a predetermined value n by the command "CP A,n" on the first line, and the command "RET cc" on the second line , whether or not to return from the subroutine is determined according to the result of the comparison. Here, these two commands can be integrated (replaced) into one command "RCP cc, A, n" as shown in FIG. 148(b).

図148(b)におけるコマンド「RCP cc,A,n」は、Aレジスタの値と、所定の値nとを比較し、その比較結果に応じてサブルーチンから1段上のルーチンに戻るコマンドである。かかるコマンド「RCP cc,A,n」のコマンドサイズは「2」であり、実行サイクルは「5」(または「3」)である。なお、括弧内のサイクル数は、コマンド「RCP cc,A,n」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 The command "RCP cc, A, n" in FIG. 148(b) is a command that compares the value of the A register with a predetermined value n, and returns from the subroutine to the routine one level above according to the comparison result. . The command size of such command "RCP cc, A, n" is "2" and the execution cycle is "5" (or "3"). The number of cycles in parentheses indicates the execution cycle when the command "RCP cc, A, n" does not move to the routine one level above.

ここで、図148(a)に示したコマンド群の総コマンドサイズは、1行目のコマンド「CP A,n」2バイト+2行目の「RET cc」1バイト=3バイトとなり、総実行サイクルは、1行目2サイクル+2行目3サイクル(1サイクル)=5サイクル(3サイクル)となる。一方、図148(b)に示したコマンド「RCP cc,A,n」のコマンドサイズは、2バイトとなり、実行サイクルは、5サイクル(3サイクル)となる。したがって、図148(a)のコマンド群を図148(b)のコマンドに置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。以下、このような置き換えが可能な複数のモジュールをそれぞれ説明する。 Here, the total command size of the command group shown in FIG. 148(a) is 2 bytes of the command "CP A, n" on the first line + 1 byte of "RET cc" on the second line=3 bytes, and the total execution cycle is 1st row 2 cycles+2nd row 3 cycles (1 cycle)=5 cycles (3 cycles). On the other hand, the command size of the command "RCP cc, A, n" shown in FIG. 148(b) is 2 bytes, and the execution cycle is 5 cycles (3 cycles). Therefore, by replacing the command group of FIG. 148(a) with the command of FIG. 148(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process. A plurality of modules capable of such replacement will be described below.

図149は、PY_CMDAモジュールを説明するための説明図である。図149に示したPY_CMDAモジュールは、図23におけるステップS100-63に示した主コマンド解析処理、すなわち、主コマンドを解析し、主コマンドの異常を検出する処理を実行する。 FIG. 149 is an explanatory diagram for explaining the PY_CMDA module. The PY_CMDA module shown in FIG. 149 executes the main command analysis process shown in step S100-63 in FIG. 23, that is, the process of analyzing the main command and detecting an abnormality in the main command.

図149(a)の1行目の指標「PY_CMDA:」は、当該PY_CMDAモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW R_BCR_BUF)」によって、Qレジスタの値をアドレスの上位1バイトとし、主コマンドのバッファ値を格納するアドレス「R_BCR_BUF」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(主コマンド)をAレジスタに読み出す。 The index "PY_CMDA:" on the first line in FIG. 149(a) indicates the start address of the PY_CMDA module. The command "LDQ A, (LOW R_BCR_BUF)" on the second line sets the value of the Q register to the upper 1 byte of the address, and sets the value of the lower 1 byte of the address "R_BCR_BUF" that stores the buffer value of the main command to the lower address. 1 byte, and the value (main command) stored at that address is read to the A register.

そして、バッファをクリアし、払出起動指定コマンド確認処理を実行すると、受信データ確認処理として、図149(a)の3行目のコマンド「SUB A,@BCR_PAY_CLR」によって、Aレジスタの値から「@BCR_PAY_CLR」で示される固定値、ここでは、20Hを減算する。そして、4行目のコマンド「CP A,00CH」によって、減算されたAレジスタの値と0CHとを比較する。ここでは、主コマンドが20H~2BHの範囲に含まれることを確認している。すなわち、Aレジスタの値が20H未満であれば、コマンド「SUB A,@BCR_PAY_CLR」によってAレジスタの値は負の値になり、1バイト値としてみると0CHより大きくなる。したがって、減算されたAレジスタの値が0CH未満であれば、コマンド「CP A,00CH」によってキャリーフラグが立って1となる。そして、5行目の「RET NC」によって、キャリーフラグが1でなければ、1段上のルーチンに戻る。なお、キャリーフラグが1であれば(20H~2BHの範囲に含まれれば)、払出エラー指定コマンドセット処理および払出電波エラーフラグ設定処理を実行して、1段上のルーチンに戻る。 Then, when the buffer is cleared and the payout activation designation command confirmation process is executed, as the received data confirmation process, the command "SUB A, @BCR_PAY_CLR" on the third line of FIG. BCR_PAY_CLR”, here 20H is subtracted. Then, the decremented value of the A register is compared with 0CH by the command "CP A, 00CH" on the fourth line. Here, it is confirmed that the main command is included in the range from 20H to 2BH. That is, if the value of the A register is less than 20H, the command "SUB A, @BCR_PAY_CLR" causes the value of the A register to become a negative value, which is greater than 0CH when viewed as a 1-byte value. Therefore, if the subtracted value of the A register is less than 0CH, the carry flag is set to 1 by the command "CP A, 00CH". Then, if the carry flag is not 1 by "RET NC" on the fifth line, the routine returns to the routine one level above. If the carry flag is 1 (if it is included in the range of 20H to 2BH), the payout error specification command set process and payout radio wave error flag setting process are executed, and the routine returns to the upper stage.

ここで、図148の置き換えを行うと、図149(a)のコマンド群を図149(b)のように変更することができる。図149(b)の1行目の指標「PY_CMDA:」は、当該PY_CMDAモジュールの先頭アドレスを示す。1行目のコマンド「LDQ A,(LOW R_BCR_BUF)」によって、Qレジスタの値をアドレスの上位1バイトとし、主コマンドのバッファ値を格納するアドレス「R_BCR_BUF」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(主コマンド)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 149(a) can be changed as shown in FIG. 149(b). The index "PY_CMDA:" on the first line in FIG. 149(b) indicates the start address of the PY_CMDA module. The command "LDQ A, (LOW R_BCR_BUF)" on the first line sets the value of the Q register to the upper 1 byte of the address, and sets the value of the lower 1 byte of the address "R_BCR_BUF" that stores the buffer value of the main command to the lower address. 1 byte, and the value (main command) stored at that address is read to the A register.

そして、バッファをクリアし、払出起動指定コマンドに対する所定の処理を実行すると、図149(b)の3行目のコマンド「SUB A,@BCR_PAY_CLR」によって、Aレジスタの値から「@BCR_PAY_CLR」で示される固定値、ここでは、20Hを減算する。4行目のコマンド「RCP NC,A,00CH」によって、減算されたAレジスタの値と0CHとを比較し、キャリーフラグが1でなければ、1段上のルーチンに戻る。ここでは、主コマンドが20H~2BHの範囲に含まれることを確認し、その範囲に入っていなければ、それ以降の処理を行わず1段上のルーチンに戻っている。なお、キャリーフラグが1であれば、払出エラー指定コマンドセット処理および払出電波エラーフラグ設定処理を実行して、1段上のルーチンに戻る。 Then, after clearing the buffer and executing a predetermined process for the payout activation designation command, the command "SUB A, @BCR_PAY_CLR" on the third line in FIG. subtract a fixed value, here 20H. A command "RCP NC, A, 00CH" on the fourth line compares the subtracted value of the A register with 0CH, and if the carry flag is not 1, returns to the routine one step above. Here, it is confirmed that the main command is included in the range of 20H to 2BH, and if it is not within that range, the processing after that is not performed and the routine returns to the upper step. If the carry flag is 1, the payout error specification command set process and the payout radio wave error flag setting process are executed, and the routine returns to the upper level.

ここで、図149(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_BCR_BUF)」2バイト+3行目のコマンド「SUB A,@BCR_PAY_CLR」2バイト+4行目のコマンド「CP A,00CH」2バイト+5行目の「RET NC」1バイト=7バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目2サイクル+5行目3サイクル(1サイクル)=10サイクル(8サイクル)となる。一方、図149(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_BCR_BUF)」2バイト+3行目のコマンド「SUB A,@BCR_PAY_CLR」2バイト+4行目のコマンド「RCP NC,A,00CH」2バイト=6バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目5サイクル(3サイクル)=10サイクル(8サイクル)となる。したがって、図149(a)のコマンド群を図149(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 149(a) is the command "LDQ A, (LOW R_BCR_BUF)" 2 bytes on the second line + the command "SUB A, @BCR_PAY_CLR" 2 bytes on the third line + 4 bytes. 2 bytes of the command "CP A, 00CH" on the line + 1 byte of "RET NC" on the 5th line = 7 bytes. 3 cycles (1 cycle)=10 cycles (8 cycles). On the other hand, the total command size of the command group shown in FIG. 149(b) is the command "LDQ A, (LOW R_BCR_BUF)" 2 bytes on the second line + the command "SUB A, @BCR_PAY_CLR" 2 bytes + 4 lines on the third line. The second command "RCP NC, A, 00CH" 2 bytes = 6 bytes, and the total execution cycle is: 2nd line 3 cycles + 3rd line 2 cycles + 4th line 5 cycles (3 cycles) = 10 cycles (8 cycles) Become. Therefore, by replacing the command group of FIG. 149(a) with the command group of FIG. 149(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図150は、GAT_PASモジュールを説明するための説明図である。図150に示したGAT_PASモジュールは、図29のステップS510で示したゲートスイッチ通過処理(ゲート通過処理)、すなわち、ゲート検出スイッチ124sでの入賞球の通過に応じて普通図柄保留球数を加算し、普通図柄に関する処理を実行する。 FIG. 150 is an explanatory diagram for explaining the GAT_PAS module. The GAT_PAS module shown in FIG. 150 performs gate switch passage processing (gate passage processing) shown in step S510 of FIG. , Usually, the process related to the design is executed.

記憶カウントチェック処理として、図150(a)の1行目の指標「GAT_PAS:」は、当該GAT_PASモジュールの先頭アドレスを示す。2行目のコマンド「LDQ DE,LOW R_FZ_MEM」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FZ_MEM」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された2バイト値(普通図柄保留球数カウンタのアドレス)をDEレジスタに読み出す。3行目のコマンド「LD A、(DE)」によって、DEレジスタで示されるアドレス(すなわちR_FZ_MEM)に格納された値(普通図柄保留球数カウンタのカウンタ値)をAレジスタに読み出す。 As memory count check processing, the index "GAT_PAS:" on the first line in FIG. 150(a) indicates the start address of the GAT_PAS module. By the command "LDQ DE, LOW R_FZ_MEM" on the second line, the value of the Q register is set as the upper 1 byte of the address and the value of the lower 1 byte of the address "R_FZ_MEM" is set as the lower 1 byte of the address. A 2-byte value (the address of the normal symbol reserved ball number counter) is read to the DE register. By the command "LD A, (DE)" on the third line, the value stored in the address indicated by the DE register (that is, R_FZ_MEM) (the counter value of the normal symbol holding ball number counter) is read to the A register.

そして、図150(a)の4行目のコマンド「CP A,@FZ_MEM_MAX」によって、Aレジスタの値と固定値「@FZ_MEM_MAX」、ここでは、「4」とを比較する。すなわち、Aレジスタの値が4未満であれば、キャリーフラグが立って1となる。そして、5行目の「RET NC」によって、キャリーフラグが1でなければ、1段上のルーチンに戻る。すなわち、普通図柄保留球数カウンタのカウンタ値が4以上であれば、それ以上、普通図柄保留球数カウンタを計数することはないので、当該GAT_PASモジュールを終了する。なお、キャリーフラグが1であれば、乱数値取得処理、記憶数加算処理、当たり決定乱数取得処理、転送先アドレス算定処理、および、記憶エリア格納処理を実行して、1段上のルーチンに戻る。 Then, the command "CP A, @FZ_MEM_MAX" on the fourth line in FIG. 150(a) compares the value of the A register with the fixed value "@FZ_MEM_MAX", which is "4" here. That is, if the value of the A register is less than 4, the carry flag is set to 1. Then, if the carry flag is not 1 by "RET NC" on the fifth line, the routine returns to the routine one level above. That is, if the counter value of the normal symbol reserved ball number counter is 4 or more, the normal symbol reserved ball number counter is no longer counted, so the GAT_PAS module is terminated. If the carry flag is 1, random number acquisition processing, storage number addition processing, winning determination random number acquisition processing, transfer destination address calculation processing, and storage area storage processing are executed, and the routine returns to the routine one level above. .

ここで、図148の置き換えを行うと、図150(a)のコマンド群を図150(b)のように変更することができる。図150(b)の1行目の指標「GAT_PAS:」は、当該GAT_PASモジュールの先頭アドレスを示す。1行目のコマンド「LDQ DE,LOW R_FZ_MEM」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FZ_MEM」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された2バイト値(普通図柄保留球数カウンタのアドレス)をDEレジスタに読み出す。3行目のコマンド「LD A、(DE)」によって、DEレジスタで示されるアドレス(すなわちR_FZ_MEM)に格納された値(普通図柄保留球数カウンタのカウンタ値)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 150(a) can be changed as shown in FIG. 150(b). The index "GAT_PAS:" on the first line in FIG. 150(b) indicates the start address of the GAT_PAS module. By the command "LDQ DE, LOW R_FZ_MEM" on the first line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "R_FZ_MEM" is set as the lower 1 byte of the address, and the A 2-byte value (the address of the normal symbol reserved ball number counter) is read to the DE register. By the command "LD A, (DE)" on the third line, the value (counter value of the normal symbol holding ball number counter) stored in the address indicated by the DE register (that is, R_FZ_MEM) is read to the A register.

そして、図150(b)の4行目のコマンド「RCP NC,A,@FZ_MEM_MAX」によって、Aレジスタの値と@FZ_MEM_MAXとを比較し、Aレジスタの値が@FZ_MEM_MAX以上であれば、1段上のルーチンに戻る。すなわち、普通図柄保留球数カウンタのカウンタ値が4以上であれば、それ以上、普通図柄保留球数カウンタを計数することはないので、当該GAT_PASモジュールを終了する。なお、キャリーフラグが1であれば、記憶数加算処理、当たり決定乱数取得処理、転送先アドレス算定処理、および、記憶エリア格納処理を実行して、1段上のルーチンに戻る。 Then, according to the command "RCP NC, A, @FZ_MEM_MAX" on the fourth line in FIG. Return to routine above. That is, if the counter value of the normal symbol reserved ball number counter is 4 or more, the normal symbol reserved ball number counter is no longer counted, so the GAT_PAS module is terminated. If the carry flag is 1, the memory number addition process, the winning determination random number acquisition process, the transfer destination address calculation process, and the storage area storage process are executed, and the routine returns to the upper stage.

ここで、図150(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ DE,LOW R_FZ_MEM」2バイト+3行目のコマンド「LD A、(DE)」1バイト+4行目のコマンド「CP A,@FZ_MEM_MAX」2バイト+5行目の「RET NC」1バイト=6バイトとなり、総実行サイクルは、2行目2サイクル+3行目2サイクル+4行目2サイクル+5行目3サイクル(1サイクル)=9サイクル(7サイクル)となる。一方、図150(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ DE,LOW R_FZ_MEM」2バイト+3行目のコマンド「LD A、(DE)」1バイト+4行目のコマンド「RCP NC,A,@FZ_MEM_MAX」2バイト=5バイトとなり、総実行サイクルは、2行目2サイクル+3行目2サイクル+4行目5サイクル(3サイクル)=9サイクル(7サイクル)となる。したがって、図150(a)のコマンド群を図150(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 150(a) is the command "LDQ DE, LOW R_FZ_MEM" on the second line 2 bytes + the command "LD A, (DE)" on the third line 1 byte + 4 lines. 2nd command "CP A, @FZ_MEM_MAX" 2 bytes + 5th line "RET NC" 1 byte = 6 bytes. 3 cycles (1 cycle)=9 cycles (7 cycles). On the other hand, the total command size of the command group shown in FIG. command "RCP NC, A, @FZ_MEM_MAX" 2 bytes = 5 bytes, and the total execution cycle is 2nd line 2 cycles + 3rd line 2 cycles + 4th line 5 cycles (3 cycles) = 9 cycles (7 cycles) Become. Therefore, by replacing the command group of FIG. 150(a) with the command group of FIG. 150(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図151は、TDN_PASモジュールを説明するための説明図である。図151に示したTDN_PASモジュールは、図34のステップS540で示したカウントスイッチ通過処理(大入賞口通過処理)、すなわち、カウントスイッチ判定値に基づいて大入賞口の入賞を管理する処理を実行する。 FIG. 151 is an explanatory diagram for explaining the TDN_PAS module. The TDN_PAS module shown in FIG. 151 executes the count switch passing process (large winning opening passing process) shown in step S540 of FIG. .

図151(a)の1行目の指標「TDN_PAS:」は、当該TDN_PASモジュールの先頭アドレスを示す。そして、カウントスイッチ判定値確認処理、特別電動役物連続作動回数判定処理、大入賞口入賞指定コマンドセット処理、大入賞口過剰入賞監視処理を実行すると、特別電動役物作動チェック処理として、2行目のコマンド「LDQ A,(LOW R_TDN_PHS)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TDN_PHS」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別電動役物遊技管理フェーズ)をAレジスタに読み出す。 The index "TDN_PAS:" on the first line in FIG. 151(a) indicates the top address of the TDN_PAS module. Then, when the count switch determination value confirmation process, the special electric accessory continuous operation number determination process, the large winning opening winning designation command set process, and the large winning opening excessive winning monitoring process are executed, two lines are executed as the special electric accessory operation check process. By the second command "LDQ A, (LOW R_TDN_PHS)", the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "R_TDN_PHS" is set as the lower 1 byte of the address, and the Read the value (special electric accessory game management phase) to the A register.

図151(a)の3行目のコマンド「JCP Z,A,@TD_OPN_BHT,TDN_PAS_10」によって、Aレジスタの値と固定値「@TD_OPN_BHT」、ここでは、2と比較し、その結果が等しければ、アドレス「TDN_PAS_10」に移動する。こうして、Aレジスタの値が大当たり大入賞口開放制御状態指定値(特別電動役物遊技管理フェーズが02H)であれば、以降の処理を省略して6行目の指標「TDN_PAS_10:」に移動することができる。4行目のコマンド「CP A,@TD_OPN_SHT」によって、Aレジスタの値と、小当たり大入賞口開放制御状態指定値を示す固定値「@TD_OPN_SHT」、ここでは、6とを比較し、等しければ(特別電動役物遊技管理フェーズが06H)、ゼロフラグが立って1となる。そして、5行目の「RET NZ」によって、ゼロフラグが1でなければ、1段上のルーチンに戻る。すなわち、Aレジスタの値が大当たり大入賞口開放制御状態指定値および小当たり大入賞口開放制御状態指定値でなければ、当該TDN_PASモジュールを終了する。なお、ゼロフラグが1であれば、特別電動役物入賞球数カウント処理、特電不正入賞検出条件確認処理、および、特電不正入賞エラー時処理を実行して、1段上のルーチンに戻る。 By the command "JCP Z, A, @TD_OPN_BHT, TDN_PAS_10" on the third line of FIG. Go to address "TDN_PAS_10". In this way, if the value of the A register is the jackpot jackpot opening control state designation value (the special electric accessory game management phase is 02H), the subsequent processing is omitted and the process moves to the index "TDN_PAS_10:" on the 6th line. be able to. By the command "CP A, @TD_OPN_SHT" on the 4th line, the value of the A register and the fixed value "@TD_OPN_SHT" indicating the small winning big winning opening control state designation value, here, 6 are compared, and if they are equal (The special electric accessory game management phase is 06H), the zero flag is set to 1. Then, if the zero flag is not 1 by "RET NZ" on the fifth line, the process returns to the routine one step above. That is, if the value of the A register is not the specified value of the control state for opening the big winning opening and the specified value for opening the control state of the small winning opening, the TDN_PAS module is terminated. If the zero flag is 1, the special electric accessary item winning ball count processing, the special electric fraudulent prize detection condition confirmation processing, and the special electric fraudulent prize winning error processing are executed, and the routine returns to the routine one step above.

ここで、図148の置き換えを行うと、図151(a)のコマンド群を図151(b)のように変更することができる。図151(b)の1行目の指標「TDN_PAS:」は、当該TDN_PASモジュールの先頭アドレスを示す。そして、カウントスイッチ判定値確認処理、特別電動役物連続作動回数判定処理、大入賞口入賞指定コマンドセット処理、大入賞口過剰入賞監視処理を実行すると、2行目のコマンド「LDQ A,(LOW R_TDN_PHS)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TDN_PHS」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別電動役物遊技管理フェーズ)をAレジスタに読み出す。 Here, if the replacement in FIG. 148 is performed, the command group in FIG. 151(a) can be changed as shown in FIG. 151(b). The index "TDN_PAS:" on the first line in FIG. 151(b) indicates the top address of the TDN_PAS module. Then, when the count switch determination value confirmation processing, the special electric accessory continuous operation number determination processing, the large winning opening winning designation command set processing, and the large winning opening excessive winning monitoring processing are executed, the command "LDQ A, (LOW R_TDN_PHS)”, the value of the Q register is set to the upper 1 byte of the address, the value of the lower 1 byte of the address “R_TDN_PHS” is set to the lower 1 byte of the address, and the value stored at that address (special electric role game management phase ) into the A register.

図151(b)の3行目のコマンド「JCP Z,A,@TD_OPN_BHT,TDN_PAS_10」によって、Aレジスタの値と固定値「@TD_OPN_BHT」、ここでは、2と比較し、その結果が等しければ、アドレス「TDN_PAS_10」に移動する。こうして、Aレジスタの値が大当たり大入賞口開放制御状態指定値であれば、以降の処理を省略して5行目の指標「TDN_PAS_10:」に移動することができる。4行目のコマンド「RCP NZ,A,@TD_OPN_SHT」によって、Aレジスタの値と、小当たり大入賞口開放制御状態指定値を示す固定値「@TD_OPN_SHT」、ここでは、6とを比較し、等しければ、1段上のルーチンに戻る。すなわち、Aレジスタの値が大当たり大入賞口開放制御状態指定値および小当たり大入賞口開放制御状態指定値でなければ、当該TDN_PASモジュールを終了する。なお、ゼロフラグが0であれば、特別電動役物入賞球数カウント処理、特電不正入賞検出条件確認処理、および、特電不正入賞エラー時処理を実行して、1段上のルーチンに戻る。 By the command "JCP Z, A, @TD_OPN_BHT, TDN_PAS_10" on the third line of FIG. Go to address "TDN_PAS_10". In this way, if the value of the A register is the jackpot jack opening control state designation value, it is possible to omit the subsequent processing and move to the index "TDN_PAS_10:" on the fifth line. By the command "RCP NZ, A, @TD_OPN_SHT" on the 4th line, the value of the A register is compared with the fixed value "@TD_OPN_SHT" indicating the small winning big winning opening control state specified value, here 6, If equal, return to the routine above. That is, if the value of the A register is not the specified value of the control state for opening the big winning opening and the specified value for opening the control state of the small winning opening, the TDN_PAS module is terminated. If the zero flag is 0, the special electric accessory winning ball number count processing, the special electric unauthorized winning detection condition confirmation processing, and the special electric unauthorized winning error processing are executed, and the routine returns to the routine one step above.

ここで、図151(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_TDN_PHS)」2バイト+3行目のコマンド「JCP Z,A,@TD_OPN_BHT,TDN_PAS_10」3バイト+4行目のコマンド「CP A,@TD_OPN_SHT」2バイト+5行目の「RET NZ」1バイト=8バイトとなり、総実行サイクルは、2行目3サイクル+3行目4サイクル(または3サイクル)+4行目2サイクル+5行目3サイクル(1サイクル)=12サイクル(9サイクル)となる。一方、図151(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_TDN_PHS)」2バイト+3行目のコマンド「JCP Z,A,@TD_OPN_BHT,TDN_PAS_10」3バイト+4行目のコマンド「RCP NZ,A,@TD_OPN_SHT」2バイト=7バイトとなり、総実行サイクルは、2行目3サイクル+3行目4サイクル(または3サイクル)+4行目5サイクル(3サイクル)=12サイクル(9サイクル)となる。したがって、図151(a)のコマンド群を図151(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 151(a) is the command "LDQ A, (LOW R_TDN_PHS)" on the second line + 2 bytes + the command "JCP Z, A, @TD_OPN_BHT, TDN_PAS_10 on the third line". 3 bytes + 4th line command "CP A, @TD_OPN_SHT" 2 bytes + 5th line "RET NZ" 1 byte = 8 bytes, and the total execution cycle is 2nd line 3 cycles + 3rd line 4 cycles (or 3 cycle)+4th row 2nd cycle+5th row 3rd cycle (1 cycle)=12 cycles (9 cycles). On the other hand, the total command size of the command group shown in FIG. 151(b) is the second line command "LDQ A, (LOW R_TDN_PHS)" 2 bytes + the third line command "JCP Z, A, @TD_OPN_BHT, TDN_PAS_10". 3 bytes + 4th line command "RCP NZ, A, @TD_OPN_SHT" 2 bytes = 7 bytes, and the total execution cycle is 2nd line 3 cycles + 3rd line 4 cycles (or 3 cycles) + 4th line 5 cycles (3 cycles)=12 cycles (9 cycles). Therefore, by replacing the command group of FIG. 151(a) with the command group of FIG. 151(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図152は、FD_OPNモジュールを説明するための説明図である。図152に示したFD_OPNモジュールは、図57のステップ850で示した普通電動役物入賞口開放制御処理、すなわち、普通電動役物に関する入賞数および作動時間に対する第1可変始動口120Bの開閉御処理を実行する。 FIG. 152 is an explanatory diagram for explaining the FD_OPN module. The FD_OPN module shown in FIG. 152 performs the normal electric accessory winning opening control process shown in step 850 of FIG. to run.

図152(a)の1行目の指標「FD_OPN:」は、当該FD_OPNモジュールの先頭アドレスを示す。そして、普通電動役物入賞口開閉動作切替処理を実行すると、規定入賞数確認処理として、2行目のコマンド「LDQ A,(LOW R_FDN_CNT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FDN_CNT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(普通電動役物入賞球数カウンタのカウンタ値)をAレジスタに読み出す。 The index “FD_OPN:” on the first line in FIG. 152(a) indicates the start address of the FD_OPN module. Then, when the normal electric accessory winning opening opening and closing operation switching process is executed, as the specified winning number confirmation process, the value of the Q register is set to the upper 1 byte of the address by the command "LDQ A, (LOW R_FDN_CNT)" on the second line. , the value of the lower 1 byte of the address "R_FDN_CNT" is set as the lower 1 byte of the address, and the value stored at that address (counter value of the normal electric accessory winning ball counter) is read to the A register.

図152(a)の3行目のコマンド「CP A,@FDN_CNT」によって、Aレジスタの値と、普通電動役物に係る入賞口入賞球数の最大値を示す固定値「@FDN_CNT」、ここでは、8とを比較し、8未満であれば、キャリーフラグが立って1となる。そして、4行目の「RET C」によって、キャリーフラグが1であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が普通電動役物に係る入賞口入賞球数未満であれば、当該FD_OPNモジュールを終了する。なお、キャリーフラグが0であれば、普通電動役物作動終了時設定処理を実行して、1段上のルーチンに戻る。 By the command "CP A, @FDN_CNT" on the third line of FIG. Now, it is compared with 8, and if it is less than 8, the carry flag is set to 1. Then, if the carry flag is 1 by "RET C" on the 4th line, the process returns to the routine one level above. That is, if the value of the A register is less than the number of prize winning balls associated with the normal electric accessory, the FD_OPN module is terminated. In addition, if the carry flag is 0, the normal electric accessary product operation end time setting process is executed, and the routine returns to the routine one step above.

ここで、図148の置き換えを行うと、図152(a)のコマンド群を図152(b)のように変更することができる。図152(b)の1行目の指標「FD_OPN:」は、当該FD_OPNモジュールの先頭アドレスを示す。そして、普通電動役物入賞口開閉動作切替処理を実行すると、規定入賞数確認処理として、2行目のコマンド「LDQ A,(LOW R_FDN_CNT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FDN_CNT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(普通電動役物入賞球数カウンタのカウンタ値)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 152(a) can be changed as shown in FIG. 152(b). The index “FD_OPN:” on the first line in FIG. 152(b) indicates the top address of the FD_OPN module. Then, when the normal electric accessory winning opening opening and closing operation switching process is executed, as the specified winning number confirmation process, the value of the Q register is set to the upper 1 byte of the address by the command "LDQ A, (LOW R_FDN_CNT)" on the second line. , the value of the lower 1 byte of the address "R_FDN_CNT" is set as the lower 1 byte of the address, and the value stored at that address (counter value of the normal electric accessory winning ball counter) is read to the A register.

図152(b)の3行目のコマンド「RCP C,A,@FDN_CNT」によって、Aレジスタの値と、普通電動役物に係る入賞口入賞球数の最大値を示す固定値「@FDN_CNT」、ここでは、8とを比較し、8未満であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が普通電動役物に係る入賞口入賞球数未満であれば、当該FD_OPNモジュールを終了する。なお、キャリーフラグが0であれば、普通電動役物作動終了時設定処理を実行して、1段上のルーチンに戻る。 By the command "RCP C, A, @FDN_CNT" on the third line in FIG. 152(b), the value of the A register and the fixed value "@FDN_CNT" indicating the maximum number of winning balls for the normal electric accessory. , here, 8, and if less than 8, return to the routine one level above. That is, if the value of the A register is less than the number of winning balls for the winning opening for the normal electric accessory, the FD_OPN module is terminated. In addition, if the carry flag is 0, the normal electric accessary product operation end time setting process is executed, and the routine returns to the routine one step above.

ここで、図152(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_FDN_CNT)」2バイト+3行目のコマンド「CP A,@FDN_CNT」2バイト+4行目の「RET C」1バイト=5バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目3サイクル(1サイクル)=8サイクル(6サイクル)となる。一方、図152(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_FDN_CNT)」2バイト+3行目のコマンド「RCP C,A,@FDN_CNT」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目5サイクル(3サイクル)=8サイクル(6サイクル)となる。したがって、図152(a)のコマンド群を図152(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 152(a) is the command "LDQ A, (LOW R_FDN_CNT)" 2 bytes on the second line + the command "CP A, @FDN_CNT" 2 bytes on the third line + 4 bytes. 1 byte of "RET C" on the line = 5 bytes, and the total execution cycle is 3 cycles on the 2nd line + 2 cycles on the 3rd line + 3 cycles on the 4th line (1 cycle) = 8 cycles (6 cycles). On the other hand, the total command size of the command group shown in FIG. 152(b) is the command "LDQ A, (LOW R_FDN_CNT)" 2 bytes on the second line + the command "RCP C, A, @FDN_CNT" 2 bytes on the third line. = 4 bytes, and the total execution cycle is 2nd row 3 cycles + 3rd row 5 cycles (3 cycles) = 8 cycles (6 cycles). Therefore, by replacing the command group of FIG. 152(a) with the command group of FIG. 152(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図153は、TZ_STAモジュールを説明するための説明図である。図153に示したTZ_STAモジュールは、図37のステップS610で示した特別図柄変動待ち処理、すなわち、特別図柄保留球数に基づいて特別図柄変動の準備処理を実行する。 FIG. 153 is an explanatory diagram for explaining the TZ_STA module. The TZ_STA module shown in FIG. 153 executes the special symbol variation waiting process shown in step S610 of FIG. 37, that is, the special symbol variation preparation process based on the number of special symbol reserved balls.

図153(a)の1行目の指標「TZ_STA:」は、当該TZ_STAモジュールの先頭アドレスを示す。そして、特別図柄保留球数確認処理を実行すると、処理非対象特図状態確認処理として、2行目のコマンド「RST DATSEL」によって、汎用モジュールであるDATSELモジュールが呼び出され、制御データの選択結果がAレジスタに格納される。 The index "TZ_STA:" on the first line in FIG. 153(a) indicates the top address of the TZ_STA module. Then, when the special symbol reserved ball number confirmation process is executed, the DATSEL module, which is a general-purpose module, is called by the command "RST DATSEL" on the second line as the special symbol state confirmation process that is not subject to processing, and the selection result of the control data is Stored in the A register.

図153(a)の3行目のコマンド「CP A,@TZ_BHT」によって、Aレジスタの値と、特別図柄大当たり情報を示す固定値「@TZ_BHT」、ここでは、01Hとを比較し、01Hと等しければ、ゼロフラグが立って1となる。そして、4行目の「RET Z」によって、ゼロフラグが1であれば、1段上のルーチンに戻る。すなわち、大当たり確定中であれば、当該TZ_STAモジュールを終了する。5行目のコマンド「CP A,@TZ_SHT」によって、Aレジスタの値と、特別図柄小当たり情報を示す固定値「@TZ_SHT」、ここでは、02Hとを比較し、02Hと等しければ、ゼロフラグが立って1となる。そして、6行目の「RET Z」によって、ゼロフラグが1であれば、1段上のルーチンに戻る。すなわち、小当たり確定中であれば、当該TZ_STAモジュールを終了する。なお、ゼロフラグが1でなければ、特別図柄変動開始時設定処理、回数コマンドセット処理、および、特別図柄変動準備処理を実行して、1段上のルーチンに戻る。 By the command "CP A, @TZ_BHT" on the 3rd line of FIG. If they are equal, the zero flag is set to one. Then, if the zero flag is 1 by "RET Z" on the 4th line, the process returns to the routine one level above. That is, if the jackpot is being confirmed, the TZ_STA module is terminated. By the command "CP A, @TZ_SHT" on the fifth line, the value of the A register and the fixed value "@TZ_SHT" indicating the special symbol small hit information, here, are compared with 02H, and if equal to 02H, the zero flag is Stand up and be 1. Then, if the zero flag is 1 by "RET Z" on the sixth line, the process returns to the routine one level above. That is, if the small hit is being confirmed, the TZ_STA module is terminated. If the zero flag is not 1, the special symbol variation start time setting process, the number command set process, and the special symbol variation preparation process are executed, and the routine returns to the upper level.

ここで、図148の置き換えを行うと、図153(a)のコマンド群を図153(b)のように変更することができる。図153(b)の1行目の指標「TZ_STA:」は、当該TZ_STAモジュールの先頭アドレスを示す。そして、特別図柄保留球数確認処理を実行すると、処理非対象特図状態確認処理として、2行目のコマンド「RST DATSEL」によって、DATSELモジュールが呼び出され、制御データの選択結果がAレジスタに格納される。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 153(a) can be changed as shown in FIG. 153(b). The index "TZ_STA:" on the first line in FIG. 153(b) indicates the head address of the TZ_STA module. Then, when the special symbol reserved ball number confirmation processing is executed, the DATSEL module is called by the command "RST DATSEL" on the second line as the processing non-target special symbol state confirmation processing, and the selection result of the control data is stored in the A register. be done.

図153(b)の3行目のコマンド「RCP Z,A,@TZ_BHT」によって、Aレジスタの値と、特別図柄大当たり情報を示す固定値「@TZ_BHT」、ここでは、01Hとが比較され、01Hと等しければ、1段上のルーチンに戻る。すなわち、大当たり確定中であれば、当該TZ_STAモジュールを終了する。4行目のコマンド「RCP Z,A,@TZ_SHT」によって、Aレジスタの値と、特別図柄小当たり情報を示す固定値「@TZ_SHT」、ここでは、02Hとが比較され、02Hと等しければ、1段上のルーチンに戻る。すなわち、小当たり確定中であれば、当該TZ_STAモジュールを終了する。なお、ゼロフラグが1でなければ、特別図柄変動開始時設定処理、回数コマンドセット処理、および、特別図柄変動準備処理を実行して、1段上のルーチンに戻る。 By the command "RCP Z, A, @TZ_BHT" on the 3rd line in FIG. 153(b), the value of the A register and the fixed value "@TZ_BHT" indicating special symbol jackpot information, here, 01H, are compared, If equal to 01H, return to the routine one level above. That is, if the jackpot is being determined, the TZ_STA module is terminated. By the command "RCP Z, A, @TZ_SHT" on the 4th line, the value of the A register and the fixed value "@TZ_SHT" indicating the special symbol small winning information, here, 02H are compared, and if they are equal to 02H, Return to the routine one level above. That is, if the small hit is being confirmed, the TZ_STA module is terminated. If the zero flag is not 1, the special symbol variation start time setting process, the number command set process, and the special symbol variation preparation process are executed, and the routine returns to the upper level.

ここで、図153(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「RST DATSEL」1バイト+3行目のコマンド「CP A,@TZ_BHT」2バイト+4行目の「RET Z」1バイト+5行目のコマンド「CP A,@TZ_SHT」2バイト+6行目の「RET Z」1バイト=7バイトとなり、総実行サイクルは、2行目4サイクル+3行目2サイクル+4行目3サイクル(1サイクル)+5行目2サイクル+6行目3サイクル(1サイクル)=14サイクル(10サイクル)となる。一方、図153(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「RST DATSEL」1バイト+3行目のコマンド「RCP Z,A,@TZ_BHT」2バイト+4行目のコマンド「RCP Z,A,@TZ_SHT」2バイト=5バイトとなり、総実行サイクルは、2行目4サイクル+3行目5サイクル(3サイクル)+4行目5サイクル(3サイクル)=14サイクル(10サイクル)となる。したがって、図153(a)のコマンド群を図153(b)のコマンド群に置き換えることで、総コマンドサイズが2バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 153(a) is the command "RST DATSEL" 1 byte on the second line + the command "CP A, @TZ_BHT" on the third line 2 bytes + "RET Z" 1 byte + 5th line command "CP A, @TZ_SHT" 2 bytes + 6th line "RET Z" 1 byte = 7 bytes, total execution cycle is 2nd line 4 cycles + 3rd line 2 cycles + 4 lines 3rd cycle (1 cycle)+5th row 2nd cycle+6th row 3rd cycle (1 cycle)=14 cycles (10 cycles). On the other hand, the total command size of the command group shown in FIG. "RCP Z, A, @TZ_SHT" 2 bytes = 5 bytes, and the total execution cycle is 2nd line 4 cycles + 3rd line 5 cycles (3 cycles) + 4th line 5 cycles (3 cycles) = 14 cycles (10 cycles) ). Therefore, by replacing the command group of FIG. 153(a) with the command group of FIG. 153(b), the total command size is reduced by 2 bytes. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図154は、TZ_RGETモジュールを説明するための説明図である。図154に示したTZ_RGETモジュールは、図32のステップS535で示した特別図柄乱数取得処理、すなわち、乱数値をレジスタに入力し、保留球数が上限数ではない場合のみ転送用バッファにレジスタの乱数値を格納する処理を実行する。 FIG. 154 is an explanatory diagram for explaining the TZ_RGET module. The TZ_RGET module shown in FIG. 154 performs the special symbol random number acquisition process shown in step S535 of FIG. Execute the process that stores the numeric value.

図154(a)の1行目の指標「TZ_RGET:」は、当該TZ_RGETモジュールの先頭アドレスを示す。大当たり決定乱数取得処理を実行し、特別図柄保留球数更新処理として、2行目のコマンド「LD A、(DE)」によって、DEレジスタで示されるアドレスに格納された値(対象特別図柄保留球数カウンタのカウンタ値)をAレジスタに読み出す。なお、当該TZ_RGETモジュールが呼び出されるときにDEレジスタには予め対象特別図柄保留球数カウンタのカウンタ値を示すアドレスが格納されているとする。 The index "TZ_RGET:" on the first line in FIG. 154(a) indicates the start address of the TZ_RGET module. Execute the jackpot determination random number acquisition process, and as the special symbol reserved ball number update process, the value stored at the address indicated by the DE register (target special symbol reserved ball counter value of the number counter) to the A register. It should be noted that when the TZ_RGET module is called, it is assumed that the address indicating the counter value of the target special symbol reserved ball number counter is stored in advance in the DE register.

そして、図154(a)の3行目のコマンド「CP A,@TZ_MEM_MAX」によって、Aレジスタの値と、特別図柄保留球数上限値を示す固定値「@TZ_MEM_MAX」、ここでは、「4」とを比較する。すなわち、Aレジスタの値が4未満であれば、キャリーフラグが立って1となる。そして、4行目の「RET NC」によって、キャリーフラグが1でなければ、1段上のルーチンに戻る。すなわち、対象特別図柄保留球数カウンタのカウンタ値が4以上であれば、それ以上、対象特別図柄保留球数カウンタを計数することはないので、当該TZ_RGETモジュールを終了する。なお、キャリーフラグが1であれば、変動パターン乱数取得処理、リーチグループ決定乱数取得処理、リーチモード決定乱数取得処理、転送先アドレス算定処理、記憶エリア格納処理、取得時演出判定処理、および、特図保留指定コマンドセット処理を実行して、1段上のルーチンに戻る。 Then, the command "CP A, @TZ_MEM_MAX" on the 3rd line of FIG. 154(a) sets the value of the A register and the fixed value "@TZ_MEM_MAX" indicating the upper limit of the number of special symbol reserved balls, here "4". Compare with That is, if the value of the A register is less than 4, the carry flag is set to 1. Then, if the carry flag is not 1 by "RET NC" on the 4th line, it returns to the routine one level above. That is, if the counter value of the target special symbol reserved ball number counter is 4 or more, the target special symbol reserved ball number counter is no longer counted, so the TZ_RGET module is terminated. In addition, if the carry flag is 1, variation pattern random number acquisition processing, reach group determination random number acquisition processing, reach mode determination random number acquisition processing, transfer destination address calculation processing, storage area storage processing, acquisition time effect determination processing, and special Execute the drawing hold specification command set process and return to the routine one level above.

ここで、図148の置き換えを行うと、図154(a)のコマンド群を図154(b)のように変更することができる。図154(b)の1行目の指標「TZ_RGET:」は、当該TZ_RGETモジュールの先頭アドレスを示す。大当たり決定乱数取得処理を実行し、特別図柄保留球数更新処理として、2行目のコマンド「LD A、(DE)」によって、DEレジスタで示されるアドレス(すなわちR_FZ_MEM)に格納された値(対象特別図柄保留球数カウンタのカウンタ値)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 154(a) can be changed as shown in FIG. 154(b). The index "TZ_RGET:" on the first line in FIG. 154(b) indicates the head address of the TZ_RGET module. Execute the jackpot determination random number acquisition process, and as the special symbol retention ball number update process, the value (target The counter value of the special symbol holding ball number counter) is read to the A register.

そして、図154(b)の3行目のコマンド「RCP NC,A,@TZ_MEM_MAX」によって、Aレジスタの値と、特別図柄保留球数上限値を示す固定値「@TZ_MEM_MAX」、ここでは、「4」とを比較し、Aレジスタの値が4以上であれば、1段上のルーチンに戻る。すなわち、対象特別図柄保留球数カウンタのカウンタ値が4以上であれば、それ以上、対象特別図柄保留球数カウンタを計数することはないので、当該TZ_RGETモジュールを終了する。なお、Aレジスタの値が4未満であれば、変動パターン乱数取得処理、リーチグループ決定乱数取得処理、リーチモード決定乱数取得処理、転送先アドレス算定処理、記憶エリア格納処理、取得時演出判定処理、および、特図保留指定コマンドセット処理を実行して、1段上のルーチンに戻る。 Then, the command "RCP NC, A, @TZ_MEM_MAX" on the third line of FIG. 4", and if the value of the A register is 4 or more, the process returns to the routine one level above. That is, if the counter value of the target special symbol reserved ball number counter is 4 or more, the target special symbol reserved ball number counter is no longer counted, so the TZ_RGET module is terminated. In addition, if the value of the A register is less than 4, variation pattern random number acquisition processing, reach group determination random number acquisition processing, reach mode determination random number acquisition processing, transfer destination address calculation processing, storage area storage processing, effect determination processing at acquisition, And, execute the special figure reservation designation command set processing, and return to the routine one level above.

ここで、図154(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD A、(DE)」1バイト+3行目のコマンド「CP A,@TZ_MEM_MAX」2バイト+4行目の「RET NC」1バイト=4バイトとなり、総実行サイクルは、2行目2サイクル+3行目2サイクル+4行目3サイクル(1サイクル)=7サイクル(5サイクル)となる。一方、図154(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD A、(DE)」1バイト+3行目のコマンド「RCP NC,A,@TZ_MEM_MAX」2バイト=3バイトとなり、総実行サイクルは、2行目2サイクル+3行目5サイクル(3サイクル)=7サイクル(5サイクル)となる。したがって、図154(a)のコマンド群を図154(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 154(a) is the command "LD A, (DE)" 1 byte on the second line + the command "CP A, @TZ_MEM_MAX" 2 bytes on the third line + 4 lines. 1st byte of "RET NC"=4 bytes, and the total execution cycle is 2nd line 2 cycles+3rd line 2 cycles+4th line 3 cycles (1 cycle)=7 cycles (5 cycles). On the other hand, the total command size of the group of commands shown in FIG. 3 bytes, and the total execution cycle is 2 cycles on the 2nd line + 5 cycles on the 3rd line (3 cycles) = 7 cycles (5 cycles). Therefore, by replacing the command group of FIG. 154(a) with the command group of FIG. 154(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図155は、TRSVSELモジュールを説明するための説明図である。図155に示したTRSVSELモジュールは、図37のステップS610-17で示される予備領域設定処理、すなわち、特別図柄当たりを確認し、特別図柄確率状態や特別図柄状態の予備設定処理を実行する。 FIG. 155 is an explanatory diagram for explaining the TRSVSEL module. The TRSVSEL module shown in FIG. 155 executes preliminary area setting processing shown in step S610-17 of FIG. 37, that is, confirmation of special symbol hits and preliminary setting processing of special symbol probability state and special symbol state.

図155(a)の1行目の指標「TRSVSEL:」は、当該TRSVSELモジュールの先頭アドレスを示す。そして、状態オフセットチェックフラグ設定処理を実行すると、特別図柄当たり確認処理として、2行目のコマンド「RST DATSEL」によって、汎用モジュールであるDATSELモジュールが呼び出され、制御データの選択結果がAレジスタに格納される。 The index "TRSVSEL:" on the first line in FIG. 155(a) indicates the start address of the TRSVSEL module. Then, when the state offset check flag setting process is executed, the DATSEL module, which is a general-purpose module, is called by the command "RST DATSEL" on the second line as a special symbol per confirmation process, and the control data selection result is stored in the A register. be done.

図155(a)の3行目のコマンド「CP A,@TZ_BHT」によって、Aレジスタの値と、特別図柄大当たり情報を示す固定値「@TZ_BHT」、ここでは、01Hとを比較し、01Hと等しければ、ゼロフラグが立って1となる。そして、4行目の「RET NZ」によって、ゼロフラグが1でなければ、1段上のルーチンに戻る。すなわち、大当たり確定中でなければ、当該TRSVSELモジュールを終了する。なお、ゼロフラグが1であれば、特別図柄確率状態予備設定処理、および、特別図柄状態予備設定処理を実行して、1段上のルーチンに戻る。 By the command "CP A, @TZ_BHT" on the third line of FIG. If they are equal, the zero flag is set to one. Then, if the zero flag is not 1 by "RET NZ" on the 4th line, the process returns to the routine one step above. That is, if the jackpot is not being confirmed, the TRSVSEL module is terminated. In addition, if the zero flag is 1, the special symbol probability state preliminary setting process and the special symbol state preliminary setting process are executed, and the routine returns to the routine one level above.

ここで、図148の置き換えを行うと、図155(a)のコマンド群を図155(b)のように変更することができる。図155(b)の1行目の指標「TRSVSEL:」は、当該TRSVSELモジュールの先頭アドレスを示す。そして、状態オフセットチェックフラグ設定処理を実行すると、特別図柄当たり確認処理として、2行目のコマンド「RST DATSEL」によって、DATSELモジュールが呼び出され、制御データの選択結果がAレジスタに格納される。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 155(a) can be changed as shown in FIG. 155(b). The index "TRSVSEL:" on the first line in FIG. 155(b) indicates the top address of the TRSVSEL module. Then, when the state offset check flag setting process is executed, the DATSEL module is called by the command "RST DATSEL" on the second line, and the selection result of the control data is stored in the A register as the special symbol per confirmation process.

図155(b)の3行目のコマンド「RCP NZ,A,@TZ_BHT」によって、Aレジスタの値と、特別図柄大当たり情報を示す固定値「@TZ_BHT」、ここでは、01Hとを比較し、01Hと等しくなければ、1段上のルーチンに戻る。すなわち、大当たり確定中でなければ、当該TRSVSELモジュールを終了する。なお、01Hと等しければ、特別図柄確率状態予備設定処理、および、特別図柄状態予備設定処理を実行して、1段上のルーチンに戻る。 By the command "RCP NZ, A, @TZ_BHT" on the third line of FIG. If not equal to 01H, return to the routine one step above. That is, if the jackpot is not being confirmed, the TRSVSEL module is terminated. If it is equal to 01H, the special symbol probability state preliminary setting process and the special symbol state preliminary setting process are executed, and the process returns to the routine one step above.

ここで、図155(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「RST DATSEL」1バイト+3行目のコマンド「CP A,@TZ_BHT」2バイト+4行目の「RET NZ」1バイト=4バイトとなり、総実行サイクルは、2行目4サイクル+3行目2サイクル+4行目3サイクル(1サイクル)=9サイクル(7サイクル)となる。一方、図155(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「RST DATSEL」1バイト+3行目のコマンド「RCP NZ,A,@TZ_BHT」2バイト=3バイトとなり、総実行サイクルは、2行目4サイクル+3行目5サイクル(3サイクル)=9サイクル(7サイクル)となる。したがって、図155(a)のコマンド群を図155(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 155(a) is the command "RST DATSEL" 1 byte on the second line + the command "CP A, @TZ_BHT" on the third line 2 bytes + "RET NZ" 1 byte=4 bytes, and the total execution cycle is 2nd row 4 cycles+3rd row 2 cycles+4th row 3 cycles (1 cycle)=9 cycles (7 cycles). On the other hand, the total command size of the group of commands shown in FIG. The total execution cycle is 2nd line 4 cycles+3rd line 5 cycles (3 cycles)=9 cycles (7 cycles). Therefore, by replacing the command group of FIG. 155(a) with the command group of FIG. 155(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図156は、TDOVCHKモジュールを説明するための説明図である。図156に示したTDOVCHKモジュールは、図34のステップS540で示したカウントスイッチ通過処理(大入賞口通過処理)において大入賞口入球コマンドをセット(S540-5)した後に実行する大入賞口過剰入賞監視処理、すなわち、大入賞口入賞球数カウンタや大入賞口過剰入賞回数カウンタの更新処理を実行する。 FIG. 156 is an explanatory diagram for explaining the TDOVCHK module. The TDOVCHK module shown in FIG. 156 executes the large winning opening excessive after setting the large winning opening entering ball command (S540-5) in the count switch passage processing (large winning opening passage processing) shown in step S540 in FIG. Winning monitor processing, that is, update processing of the large winning opening winning ball number counter and the large winning opening excess winning times counter are executed.

図156(a)の1行目の指標「TDOVCHK:」は、当該TDOVCHKモジュールの先頭アドレスを示す。そして、特別電動役物遊技管理フェーズ確認処理として、2行目のコマンド「LDQ A,(LOW R_TDN_PHS)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TDN_PHS」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別電動役物遊技管理フェーズ)をAレジスタに読み出す。 The index "TDOVCHK:" on the first line in FIG. 156(a) indicates the top address of the TDOVCHK module. Then, as a special electric accessory game management phase confirmation process, the value of the Q register is set to the upper 1 byte of the address by the command "LDQ A, (LOW R_TDN_PHS)" on the second line, and the lower 1 byte of the address "R_TDN_PHS" The value is the lower 1 byte of the address, and the value stored at that address (special electric accessory game management phase) is read to the A register.

図156(a)の3行目のコマンド「JCP NC,A,@TD_PRE_SHT,TDOVCHK_10」によって、Aレジスタの値と固定値「@TD_PRE_SHT」、ここでは、05Hと比較し、その結果、05H以上であれば、アドレス「TDOVCHK_10」に移動する。こうして、Aレジスタの値が小当たり大入賞口開放前状態指定値より後の指定値であれば、以降の処理を省略して6行目の指標「TDOVCHK_10」に移動することができる。4行目のコマンド「CP A,@TD_OPN_BHT」によって、Aレジスタの値と、大当たり大入賞口開放制御状態指定値を示す固定値「@TD_OPN_BHT」、ここでは、2とを比較し、等しければ、ゼロフラグが立って1となる。そして、5行目の「RET Z」によって、ゼロフラグが1であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が大当たり大入賞口開放制御状態指定値であれば、当該TDOVCHKモジュールを終了する。なお、ゼロフラグが1でなければ、大入賞口入賞球数カウンタ更新処理、大入賞口過剰入賞回数カウンタ更新処理、および、大入賞口過剰入賞エラー時処理を実行して、1段上のルーチンに戻る。 By the command "JCP NC, A, @TD_PRE_SHT, TDOVCHK_10" on the third line of FIG. If there is, move to address "TDOVCHK_10". In this way, if the value of the A register is a designated value after the state designated value before opening the small winning big winning opening, the subsequent processing can be omitted and the index "TDOVCHK_10" on the sixth line can be moved to. According to the command "CP A, @TD_OPN_BHT" on the fourth line, the value of the A register is compared with a fixed value "@TD_OPN_BHT" indicating the jackpot opening control state designation value, here 2, and if they are equal, The zero flag is set to 1. Then, if the zero flag is 1 by "RET Z" on the 5th line, the process returns to the routine one level above. That is, if the value of the A register is the jackpot jack opening control state designation value, the TDOVCHK module is terminated. If the zero flag is not 1, the process of updating the number of winning balls counter of the big winning opening, the processing of updating the number of winning balls counter of the big winning opening, the processing of updating the number of times of winning of the big winning opening counter, and the processing of the large winning opening excessive winning error time are executed, and the routine goes to the next step up. return.

ここで、図148の置き換えを行うと、図156(a)のコマンド群を図156(b)のように変更することができる。図156(b)の1行目の指標「TDOVCHK:」は、当該TDOVCHKモジュールの先頭アドレスを示す。そして、特別電動役物遊技管理フェーズ確認処理として、2行目のコマンド「LDQ A,(LOW R_TDN_PHS)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TDN_PHS」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別電動役物遊技管理フェーズ)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 156(a) can be changed as shown in FIG. 156(b). The index "TDOVCHK:" on the first line in FIG. 156(b) indicates the top address of the TDOVCHK module. Then, as a special electric accessory game management phase confirmation process, the value of the Q register is set to the upper 1 byte of the address by the command "LDQ A, (LOW R_TDN_PHS)" on the second line, and the lower 1 byte of the address "R_TDN_PHS" The value is the lower 1 byte of the address, and the value stored at that address (special electric accessory game management phase) is read to the A register.

図156(b)の3行目のコマンド「JCP NC,A,@TD_PRE_SHT,TDOVCHK_10」によって、Aレジスタの値と固定値「@TD_PRE_SHT」、ここでは、05Hと比較し、その結果、05H以上であれば、アドレス「TDOVCHK_10」に移動する。こうして、Aレジスタの値が小当たり大入賞口開放前状態指定値より後の指定値であれば、以降の処理を省略して5行目の指標「TDOVCHK_10」に移動することができる。4行目のコマンド「RCP Z,A,@TD_OPN_BHT」によって、Aレジスタの値と、大当たり大入賞口開放制御状態指定値を示す固定値「@TD_OPN_BHT」、ここでは、2とを比較し、等しければ、1段上のルーチンに戻る。すなわち、Aレジスタの値が大当たり大入賞口開放制御状態指定値であれば、当該TDOVCHKモジュールを終了する。なお、ゼロフラグが1でなければ、大入賞口入賞球数カウンタ更新処理、大入賞口過剰入賞回数カウンタ更新処理、および、大入賞口過剰入賞エラー時処理を実行して、1段上のルーチンに戻る。 By the command "JCP NC, A, @TD_PRE_SHT, TDOVCHK_10" on the third line of FIG. If there is, move to address "TDOVCHK_10". In this way, if the value of the A register is a specified value after the specified value of the state before opening the small winning big winning opening, the subsequent processing can be omitted and the process can be moved to the index "TDOVCHK_10" on the fifth line. By the command "RCP Z, A, @TD_OPN_BHT" on the 4th line, the value of the A register and the fixed value "@TD_OPN_BHT" indicating the jackpot opening control state designation value, here, 2, are compared, and if they are equal If so, return to the routine one level above. That is, if the value of the A register is the jackpot jack opening control state designation value, the TDOVCHK module is terminated. If the zero flag is not 1, the process of updating the number of winning balls counter of the big winning opening, the processing of updating the number of winning balls counter of the big winning opening, the processing of updating the number of times of winning of the big winning opening counter, and the processing of the large winning opening excessive winning error time are executed, and the routine goes to the next step up. return.

ここで、図156(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_TDN_PHS)」2バイト+3行目のコマンド「JCP NC,A,@TD_PRE_SHT,TDOVCHK_10」3バイト+4行目のコマンド「CP A,@TD_OPN_BHT」2バイト+5行目の「RET Z」1バイト=8バイトとなり、総実行サイクルは、2行目3サイクル+3行目4サイクル(または3サイクル)+4行目2サイクル+5行目3サイクル(1サイクル)=12サイクル(9サイクル)となる。一方、図156(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_TDN_PHS)」2バイト+3行目のコマンド「JCP NC,A,@TD_PRE_SHT,TDOVCHK_10」3バイト+4行目のコマンド「RCP Z,A,@TD_OPN_BHT」2バイト=7バイトとなり、総実行サイクルは、2行目3サイクル+3行目4サイクル(または3サイクル)+4行目5サイクル(3サイクル)=12サイクル(9サイクル)となる。したがって、図156(a)のコマンド群を図156(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 156(a) is the second line command "LDQ A, (LOW R_TDN_PHS)" 2 bytes + the third line command "JCP NC, A, @TD_PRE_SHT, TDOVCHK_10 3 bytes + 4th line command "CP A, @TD_OPN_BHT" 2 bytes + 5th line "RET Z" 1 byte = 8 bytes, and the total execution cycle is 2nd line 3 cycles + 3rd line 4 cycles (or 3 cycle)+4th row 2nd cycle+5th row 3rd cycle (1 cycle)=12 cycles (9 cycles). On the other hand, the total command size of the command group shown in FIG. 156(b) is the command "LDQ A, (LOW R_TDN_PHS)" on the second line + the command "JCP NC, A, @TD_PRE_SHT, TDOVCHK_10" on the third line. 3 bytes + 4th line command "RCP Z, A, @TD_OPN_BHT" 2 bytes = 7 bytes, and the total execution cycle is 2nd line 3 cycles + 3rd line 4 cycles (or 3 cycles) + 4th line 5 cycles (3 cycles)=12 cycles (9 cycles). Therefore, by replacing the command group of FIG. 156(a) with the command group of FIG. 156(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図157は、BER_CHKモジュールを説明するための説明図である。図157に示したBER_CHKモジュールは、図26のステップS400-21で示した状態管理処理(エラー管理処理)のサブルーチンであるベース異常エラー監視処理、すなわち、ベース異常確認カウンタのカウンタ値を監視する処理を実行する。 FIG. 157 is an explanatory diagram for explaining the BER_CHK module. The BER_CHK module shown in FIG. 157 performs base abnormality error monitoring processing, which is a subroutine of the state management processing (error management processing) shown in step S400-21 in FIG. to run.

アウトスイッチ確認処理として、図157(a)の1行目の指標「BER_CHK:」は、当該BER_CHKモジュールの先頭アドレスを示す。2行目のコマンド「LDQ HL,LOW R_BAS_CNT」によって、Qレジスタの値をHレジスタに読み出し、アドレス「R_BAS_CNT」の下位1バイトの値をLレジスタに読み出す。3行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレス(すなわちR_BAS_CNT)に格納された値(ベース異常確認カウンタのカウンタ値)をAレジスタに読み出す。 As out switch confirmation processing, the index "BER_CHK:" on the first line in FIG. 157(a) indicates the start address of the BER_CHK module. The command "LDQ HL, LOW R_BAS_CNT" on the second line reads the value of the Q register to the H register, and reads the value of the lower 1 byte of the address "R_BAS_CNT" to the L register. The command "LD A, (HL)" on the third line reads the value (the counter value of the base abnormality confirmation counter) stored at the address indicated by the HL register (that is, R_BAS_CNT) to the A register.

そして、図157(a)の4行目のコマンド「CP A,@BAS_CHK_CNT」によって、Aレジスタの値と、ベース異常検出球数を示す固定値「@BAS_CHK_CNT」ここでは、20とを比較する。すなわち、Aレジスタの値が20未満であれば、キャリーフラグが立って1となる。そして、5行目の「RET C」によって、キャリーフラグが1であれば、1段上のルーチンに戻る。すなわち、ベース異常確認カウンタのカウンタ値が20未満であれば、当該BER_CHKモジュールを終了する。なお、キャリーフラグが1でなければ、セキュリティ設定処理を実行して、1段上のルーチンに戻る。 Then, the value of the A register is compared with the fixed value "@BAS_CHK_CNT" (here, 20) indicating the base error detection ball number by the command "CP A, @BAS_CHK_CNT" on the fourth line in FIG. 157(a). That is, if the value of the A register is less than 20, the carry flag is set to 1. Then, if the carry flag is 1 by "RET C" on the fifth line, the process returns to the routine one level above. That is, if the counter value of the base abnormality confirmation counter is less than 20, the BER_CHK module is terminated. If the carry flag is not 1, security setting processing is executed, and the routine returns to the routine one level above.

ここで、図148の置き換えを行うと、図157(a)のコマンド群を図157(b)のように変更することができる。図157(b)の1行目の指標「BER_CHK:」は、当該BER_CHKモジュールの先頭アドレスを示す。2行目のコマンド「LDQ HL,LOW R_BAS_CNT」によって、Qレジスタの値をHレジスタに読み出し、アドレス「R_BAS_CNT」(ベース異常確認カウンタを格納するアドレス)の下位1バイトの値をLレジスタに読み出す。3行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレス(すなわちR_BAS_CNT)に格納された値(ベース異常確認カウンタのカウンタ値)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 157(a) can be changed as shown in FIG. 157(b). The index "BER_CHK:" on the first line in FIG. 157(b) indicates the head address of the BER_CHK module. By the command "LDQ HL, LOW R_BAS_CNT" on the second line, the value of the Q register is read into the H register, and the value of the lower 1 byte of the address "R_BAS_CNT" (address for storing the base abnormality confirmation counter) is read into the L register. The command "LD A, (HL)" on the third line reads the value (the counter value of the base abnormality confirmation counter) stored at the address indicated by the HL register (that is, R_BAS_CNT) to the A register.

そして、図157(b)の4行目のコマンド「RCP C,A,@BAS_CHK_CNT」によって、Aレジスタの値と、ベース異常検出球数を示す固定値「@BAS_CHK_CNT」ここでは、20とを比較し、Aレジスタの値が20未満であれば、1段上のルーチンに戻る。なお、Aレジスタの値が20以上であれば、セキュリティ設定処理を実行して、1段上のルーチンに戻る。 157(b), the command "RCP C, A, @BAS_CHK_CNT" on the 4th line compares the value of the A register with the fixed value "@BAS_CHK_CNT" indicating the number of balls detected as base failure, here 20. However, if the value of the A register is less than 20, the routine returns to the upper level. Incidentally, if the value of the A register is 20 or more, the security setting process is executed and the routine returns to the routine one level above.

ここで、図157(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ HL,LOW R_BAS_CNT」2バイト+3行目のコマンド「LD A,(HL)」1バイト+4行目のコマンド「CP A,@BAS_CHK_CNT」2バイト+5行目の「RET C」1バイト=6バイトとなり、総実行サイクルは、2行目の2サイクル+3行目2サイクル+4行目2サイクル+5行目3サイクル(1サイクル)=9サイクル(7サイクル)となる。一方、図157(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ HL,LOW R_BAS_CNT」2バイト+3行目のコマンド「LD A,(HL)」1バイト+4行目のコマンド「RCP C,A,@BAS_CHK_CNT」2バイト=5バイトとなり、総実行サイクルは、2行目2サイクル+3行目2サイクル+4行目5サイクル(3サイクル)=9サイクル(7サイクル)となる。したがって、図157(a)のコマンド群を図157(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 157(a) is the command "LDQ HL, LOW R_BAS_CNT" on the second line 2 bytes + the command "LD A, (HL)" on the third line 1 byte + 4 lines. 2nd command "CP A, @BAS_CHK_CNT" 2 bytes + 5th line "RET C" 1 byte = 6 bytes, and the total execution cycle is 2nd line 2 cycles + 3rd line 2 cycles + 4th line 2 cycles + 5 lines 3rd cycle (1 cycle)=9 cycles (7 cycles). On the other hand, the total command size of the command group shown in FIG. command "RCP C, A, @BAS_CHK_CNT" 2 bytes = 5 bytes, and the total execution cycle is 2nd line 2 cycles + 3rd line 2 cycles + 4th line 5 cycles (3 cycles) = 9 cycles (7 cycles) Become. Therefore, by replacing the command group of FIG. 157(a) with the command group of FIG. 157(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図158は、TEF_SELモジュールを説明するための説明図である。図158に示したTEF_SELモジュールは、図47のステップS720-9で示した大入賞口閉鎖有効時間設定処理のサブルーチンである大入賞口閉鎖有効時間選択処理、すなわち、大入賞口を閉鎖するまでの有効時間をテーブルから選択する処理を実行する。 FIG. 158 is an explanatory diagram for explaining the TEF_SEL module. The TEF_SEL module shown in FIG. 158 is a subroutine of the large winning opening closing effective time setting process shown in step S720-9 in FIG. Execute the process to select valid time from the table.

図158(a)の1行目の指標「TEF_SEL:」は、当該TEF_SELモジュールの先頭アドレスを示す。そして、大入賞口閉鎖有効時間データ選択処理として、2行目のコマンド「LDQ A,(LOW R_ZUG_CHK_FIX)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_ZUG_CHK_FIX」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別図柄判定フラグ)をAレジスタに読み出す。 The index "TEF_SEL:" on the first line in FIG. 158(a) indicates the top address of the TEF_SEL module. Then, as the big winning mouth closed valid time data selection process, the command "LDQ A, (LOW R_ZUG_CHK_FIX)" on the second line sets the value of the Q register to the upper 1 byte of the address, and the lower 1 byte of the address "R_ZUG_CHK_FIX". The value is the lower 1 byte of the address, and the value (special symbol determination flag) stored at that address is read to the A register.

図158(a)の3行目のコマンド「CP A,@ZUG_SML1」によって、Aレジスタの値と、小当たり図柄1指定データを示す固定値「@ZUG_SML1」、ここでは、07Hとを比較し、07H未満であれば、キャリーフラグが立って1となる。そして、4行目の「RET NC」によって、キャリーフラグが1でなければ、1段上のルーチンに戻る。すなわち、Aレジスタの値が小当たり図柄1指定データ以上であれば、当該TEF_SELモジュールを終了する。なお、キャリーフラグが1であれば、ワードデータ選択処理を実行して、1段上のルーチンに戻る。 By the command "CP A, @ZUG_SML1" on the third line of FIG. If it is less than 07H, the carry flag is set to 1. Then, if the carry flag is not 1 by "RET NC" on the 4th line, it returns to the routine one level above. That is, if the value of the A register is equal to or greater than the small winning symbol 1 designating data, the TEF_SEL module is terminated. If the carry flag is 1, the word data selection process is executed, and the process returns to the routine one level above.

ここで、図148の置き換えを行うと、図158(a)のコマンド群を図158(b)のように変更することができる。図158(b)の1行目の指標「TEF_SEL:」は、当該TEF_SELモジュールの先頭アドレスを示す。そして、大入賞口閉鎖有効時間データ選択処理として、2行目のコマンド「LDQ A,(LOW R_ZUG_CHK_FIX)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_ZUG_CHK_FIX」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別図柄判定フラグ)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 158(a) can be changed as shown in FIG. 158(b). The index "TEF_SEL:" on the first line in FIG. 158(b) indicates the top address of the TEF_SEL module. Then, as the big winning mouth closing effective time data selection process, the value of the Q register is set to the upper 1 byte of the address by the command "LDQ A, (LOW R_ZUG_CHK_FIX)" on the second line, and the lower 1 byte of the address "R_ZUG_CHK_FIX" is set. The value is the lower 1 byte of the address, and the value (special symbol determination flag) stored at that address is read to the A register.

図158(b)の3行目のコマンド「RCP NC,A,@ZUG_SML1」によって、Aレジスタの値と、小当たり図柄1指定データを示す固定値「@ZUG_SML1」、ここでは、07Hとを比較し、07H以上であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が小当たり図柄1指定データ以上であれば、当該TEF_SELモジュールを終了する。なお、Aレジスタの値が小当たり図柄1指定データ未満であれば、ワードデータ選択処理を実行して、1段上のルーチンに戻る。 By the command "RCP NC, A, @ZUG_SML1" on the 3rd line of FIG. If the value is 07H or more, the routine returns to the routine one step above. That is, if the value of the A register is equal to or greater than the small winning symbol 1 designating data, the TEF_SEL module is terminated. If the value of the A register is less than the small winning symbol 1 designated data, the word data selection process is executed, and the routine returns to the upper stage.

ここで、図158(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_ZUG_CHK_FIX)」2バイト+3行目のコマンド「CP A,@ZUG_SML1」2バイト+4行目の「RET NC」1バイト=5バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目3サイクル(1サイクル)=8サイクル(6サイクル)となる。一方、図158(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_ZUG_CHK_FIX)」2バイト+3行目のコマンド「RCP NC,A,@ZUG_SML1」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目5サイクル(3サイクル)=8サイクル(6サイクル)となる。したがって、図158(a)のコマンド群を図158(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 158(a) is the command "LDQ A, (LOW R_ZUG_CHK_FIX)" 2 bytes on the second line + the command "CP A, @ZUG_SML1" 2 bytes on the third line + 4 bytes. 1 byte of "RET NC" on the row=5 bytes, and the total execution cycle is 3 cycles on the 2nd row+2 cycles on the 3rd row+3 cycles on the 4th row (1 cycle)=8 cycles (6 cycles). On the other hand, the total command size of the command group shown in FIG. 158(b) is the second line command "LDQ A, (LOW R_ZUG_CHK_FIX)" 2 bytes + the third line command "RCP NC, A, @ZUG_SML1" 2 bytes. = 4 bytes, and the total execution cycle is 2nd row 3 cycles + 3rd row 5 cycles (3 cycles) = 8 cycles (6 cycles). Therefore, by replacing the command group of FIG. 158(a) with the command group of FIG. 158(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

なお、かかる図148で示した置き換えは、パチンコ機のみならず、スロットマシンにおいても、複数のモジュールからサブルーチンとして呼び出される。例えば、図92のステップS2500-35の滑りコマ数取得処理における逆押しデータ設定処理を実行するSET_RIGモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、準備中処理(AT状態=「5」)を実行するPRE_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、REG中処理(AT状態=「6」)を実行するREG_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、BIG中処理(AT状態=「7」)を実行するBIT_LOTモジュールにおけるBIGストック数抽せん処理を実行するBIG_SLTモジュール、図91のステップS2400-11で示した実行フラグ設定処理において指示情報設定処理を実行するNAV_SETモジュール等から呼び出される。 The replacement shown in FIG. 148 is called as a subroutine from a plurality of modules not only in pachinko machines but also in slot machines. For example, in the SET_RIG module for executing reverse push data setting processing in the number of sliding frames acquisition processing in step S2500-35 in FIG. 92, the game state and PRE_LOT module that selectively shifts according to the effect state and executes the in-preparation process (AT state=“5”), and the game state in the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. And the REG_LOT module that selectively shifts according to the effect state and executes the REG process (AT state=“6”), and the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. A BIG_SLT module for executing BIG stock number lottery processing in the BIT_LOT module that selectively shifts according to the state and effect state and executes BIG medium processing (AT state=“7”), shown in step S2400-11 in FIG. It is called from the NAV_SET module or the like that executes the instruction information setting process in the execution flag setting process.

図159は、SET_RIGモジュールを説明するための説明図である。図159に示したSET_RIGモジュールは、逆押しデータ設定処理、すなわち、停止制御に必要なデータを設定する処理を実行する。 FIG. 159 is an explanatory diagram for explaining the SET_RIG module. The SET_RIG module shown in FIG. 159 executes reverse push data setting processing, that is, processing for setting data necessary for stop control.

図159(a)の1行目の指標「SET_RIG:」は、当該SET_RIGモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _HIT_NUM)」によって、Qレジスタの値をアドレスの上位1バイトとし、停止制御番号を格納するアドレス「_HIT_NUM」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(停止制御番号)をAレジスタに読み出す。 The index “SET_RIG:” on the first line in FIG. 159(a) indicates the start address of the SET_RIG module. By the command "LDQ A, (LOW_HIT_NUM)" on the second line, the value of the Q register is set to the upper 1 byte of the address, and the value of the lower 1 byte of the address "_HIT_NUM" storing the stop control number is set to the lower 1 byte of the address. , and the value (stop control number) stored at that address is read to the A register.

そして、第2停止操作時使用ビットデータ更新処理として、図159(a)の3行目のコマンド「SUB A,10」によって、Aレジスタの値から固定値「10」を減算する。そして、4行目のコマンド「CP A,57-10+1」によって、減算されたAレジスタの値と48(57-10+1)とを比較する。ここでは、停止制御番号が10~57の範囲に含まれることを確認している。すなわち、Aレジスタの値が10未満であれば、コマンド「SUB A,10」によってAレジスタの値は負の値になり、1バイト値としてみると48より大きくなる。したがって、減算されたAレジスタの値が10未満であれば、コマンド「CP A,57-10+1」によってキャリーフラグが立って1となる。そして、5行目の「RET NC」によって、キャリーフラグが1でなければ、1段上のルーチンに戻る。なお、キャリーフラグが1であれば(停止制御番号が10~57の範囲に含まれれば)、次の処理を実行する。 Then, as the second stop operation use bit data update process, the fixed value "10" is subtracted from the value of the A register by the command "SUB A, 10" on the third line in FIG. 159(a). Then, the subtracted value of the A register is compared with 48 (57-10+1) by the command "CP A, 57-10+1" on the fourth line. Here, it is confirmed that the stop control number is within the range of 10-57. That is, if the value of the A register is less than 10, the command "SUB A, 10" will cause the value of the A register to become a negative value, which is greater than 48 as a 1-byte value. Therefore, if the subtracted value of the A register is less than 10, the carry flag is set to 1 by the command "CP A, 57-10+1". Then, if the carry flag is not 1 by "RET NC" on the fifth line, the routine returns to the routine one level above. If the carry flag is 1 (if the stop control number is within the range of 10 to 57), the following processing is executed.

続いて、図159(a)の6行目のコマンド「LDQ A,(LOW _HIT_NUM)」によって、Qレジスタの値をアドレスの上位1バイトとし、停止制御番号を格納するアドレス「_HIT_NUM」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(停止制御番号)をAレジスタに読み出す。7行目のコマンド「CP A,34」によって、Aレジスタの値と固定値「34」を比較している。ここでは、停止制御番号が34未満であることを確認している。Aレジスタの値が34未満であれば、コマンド「CP A,34」によってキャリーフラグが立って1となる。そして、8行目の「RET NC」によって、キャリーフラグが1でなければ、1段上のルーチンに戻る。なお、キャリーフラグが1であれば(停止制御番号が34未満であれば)、残りの処理を実行して1段上のルーチンに戻る。 159(a), the command "LDQ A, (LOW_HIT_NUM)" on the sixth line sets the value of the Q register to the upper 1 byte of the address and sets the lower 1 of the address "_HIT_NUM" storing the stop control number. The byte value is the lower 1 byte of the address, and the value (stop control number) stored at that address is read to the A register. The command "CP A, 34" on the seventh line compares the value of the A register with the fixed value "34". Here, it is confirmed that the stop control number is less than 34. If the value of the A register is less than 34, the command "CP A, 34" sets the carry flag to 1. Then, if the carry flag is not 1 by "RET NC" on the 8th line, the process returns to the routine one level above. If the carry flag is 1 (if the stop control number is less than 34), the rest of the processing is executed and the routine returns to the routine one step above.

ここで、図148の置き換えを行うと、図159(a)のコマンド群を図159(b)のように変更することができる。図159(b)の1行目の指標「SET_RIG:」は、当該SET_RIGモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _HIT_NUM)」によって、Qレジスタの値をアドレスの上位1バイトとし、停止制御番号を格納するアドレス「_HIT_NUM」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(停止制御番号)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 159(a) can be changed as shown in FIG. 159(b). The index "SET_RIG:" on the first line in FIG. 159(b) indicates the head address of the SET_RIG module. By the command "LDQ A, (LOW_HIT_NUM)" on the second line, the value of the Q register is set to the upper 1 byte of the address, and the value of the lower 1 byte of the address "_HIT_NUM" storing the stop control number is set to the lower 1 byte of the address. , and the value (stop control number) stored at that address is read to the A register.

そして、第2停止操作時使用ビットデータ更新処理として、図159(b)の3行目のコマンド「SUB A,10」によって、Aレジスタの値から固定値「10」を減算する。4行目のコマンド「RCP NC,A,57-10+1」によって、減算されたAレジスタの値と48(57-10+1)とを比較し、キャリーフラグが1でなければ、1段上のルーチンに戻る。ここでは、停止制御番号が10~57の範囲に含まれることを確認し、その範囲に入っていなければ、それ以降の処理を行わず1段上のルーチンに戻っている。なお、キャリーフラグが1であれば(停止制御番号が10~57の範囲に含まれれば)、次の処理を実行する。 Then, as the second stop operation use bit data update process, the fixed value "10" is subtracted from the value of the A register by the command "SUB A, 10" on the third line in FIG. 159(b). By the command "RCP NC, A, 57-10+1" on the 4th line, the subtracted value of the A register is compared with 48 (57-10+1), and if the carry flag is not 1, the routine goes to the next higher routine. return. Here, it is confirmed that the stop control number is within the range of 10 to 57, and if it is not within that range, the processing after that is not performed and the routine returns to the upper step. If the carry flag is 1 (if the stop control number is within the range of 10 to 57), the following processing is executed.

続いて、図159(b)の5行目のコマンド「LDQ A,(LOW _HIT_NUM)」によって、Qレジスタの値をアドレスの上位1バイトとし、停止制御番号を格納するアドレス「_HIT_NUM」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(停止制御番号)をAレジスタに読み出す。6行目のコマンド「RCP NC,A,34」によって、Aレジスタの値と固定値「34」を比較し、キャリーフラグが1でなければ、1段上のルーチンに戻る。ここでは、停止制御番号が34未満であることを確認し、34以上であれば、それ以降の処理を行わず1段上のルーチンに戻っている。なお、キャリーフラグが1であれば(停止制御番号が34未満であれば)、残りの処理を実行して1段上のルーチンに戻る。 Subsequently, by the command "LDQ A, (LOW_HIT_NUM)" on the fifth line in FIG. 159(b), the value of the Q register is set to the upper 1 byte of the address, and the lower 1 of the address "_HIT_NUM" storing the stop control number. The byte value is the lower 1 byte of the address, and the value (stop control number) stored at that address is read to the A register. The command "RCP NC, A, 34" on the sixth line compares the value of the A register with the fixed value "34", and if the carry flag is not 1, returns to the routine one step above. Here, it is confirmed that the stop control number is less than 34, and if it is 34 or more, the process after that is not performed and the routine returns to the one step above. If the carry flag is 1 (if the stop control number is less than 34), the rest of the processing is executed and the routine returns to the routine one step above.

ここで、図159(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _HIT_NUM)」2バイト+3行目のコマンド「SUB A,10」2バイト+4行目のコマンド「CP A,57-10+1」2バイト+5行目の「RET NC」1バイト+6行目のコマンド「LDQ A,(LOW _HIT_NUM)」2バイト+7行目のコマンド「CP A,34」2バイト+8行目の「RET NC」1バイト=12バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目2サイクル+5行目3サイクル(1サイクル)+6行目3サイクル+7行目2サイクル+8行目3サイクル(1サイクル)=18サイクル(14サイクル)となる。一方、図159(b)に示したコマンド群の総コマンドサイズは、2行目のコマンドコマンド「LDQ A,(LOW _HIT_NUM)」2バイト+3行目のコマンド「SUB A,10」2バイト+4行目のコマンド「RCP NC,A,57-10+1」2バイト+5行目のコマンドコマンド「LDQ A,(LOW _HIT_NUM)」2バイト+6行目のコマンド「RCP NC,A,34」2バイト=10バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目5サイクル(3サイクル)+5行目3サイクル+6行目5サイクル(3サイクル)=18サイクル(14サイクル)となる。したがって、図159(a)のコマンド群を図159(b)のコマンド群に置き換えることで、総コマンドサイズが2バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 159(a) is the command "LDQ A, (LOW_HIT_NUM)" 2 bytes on the 2nd line + the command "SUB A, 10" 2 bytes on the 3rd line + 4 lines. 2nd command "CP A, 57-10+1" 2 bytes + 5th line "RET NC" 1 byte + 6th line command "LDQ A, (LOW_HIT_NUM)" 2 bytes + 7th line command "CP A, 34" 2 bytes + 1 byte of "RET NC" on the 8th line = 12 bytes, and the total execution cycle is: 2nd line 3 cycles + 3rd line 2 cycles + 4th line 2 cycles + 5th line 3 cycles (1 cycle) + 6th line 3 Cycle+7th row 2nd cycle+8th row 3rd cycle (1 cycle)=18 cycles (14 cycles). On the other hand, the total command size of the command group shown in FIG. 159(b) is the second line command "LDQ A, (LOW_HIT_NUM)" 2 bytes + the third line command "SUB A, 10" 2 bytes + 4 lines. 2nd command "RCP NC, A, 57-10+1" 2 bytes + 5th line command "LDQ A, (LOW_HIT_NUM)" 2 bytes + 6th line command "RCP NC, A, 34" 2 bytes = 10 bytes Thus, the total execution cycle is 2nd line 3 cycles+3rd line 2 cycles+4th line 5 cycles (3 cycles)+5th line 3 cycles+6th line 5 cycles (3 cycles)=18 cycles (14 cycles). Therefore, by replacing the command group of FIG. 159(a) with the command group of FIG. 159(b), the total command size is reduced by 2 bytes. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図160は、PRE_LOTモジュールを説明するための説明図である。図160に示したPRE_LOTモジュールは、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、準備中処理、すなわち、AT状態が所定の値(例えば5)の場合の抽せん処理を実行する。 FIG. 160 is an explanatory diagram for explaining the PRE_LOT module. The PRE_LOT module shown in FIG. 160 selectively shifts according to the game state and the effect state in the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. A lottery process is executed when the state is a predetermined value (eg, 5).

図160(a)の1行目の指標「PRE_LOT:」は、当該PRE_LOTモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _TRG_KND)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_TRG_KND」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(トリガー役種別)をAレジスタに読み出す。 The index "PRE_LOT:" on the first line in FIG. 160(a) indicates the start address of the PRE_LOT module. By the command "LDQ A, (LOW_TRG_KND)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_TRG_KND" is set as the lower 1 byte of the address, and stored at that address. read out the value (trigger role type) to the A register.

図160(a)の3行目のコマンド「CP A,@LOT_OFS_1FK」によって、Aレジスタの値と、トリガー役種別として「フェイク1枚」を示す固定値「@LOT_OFS_1FK」、ここでは、3とを比較し、3未満であれば、キャリーフラグが立って1となる。そして、4行目の「RET C」によって、キャリーフラグが1であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が「フェイク1枚」を示す固定値未満であれば、当該PRE_LOTモジュールを終了する。なお、キャリーフラグが0であれば、REG開始時設定処理、BIG開始時BIGストック抽せん処理、BIG開始時設定処理を実行して、1段上のルーチンに戻る。 The command "CP A, @LOT_OFS_1FK" on the third line of FIG. As a result of comparison, if the number is less than 3, the carry flag is set to 1. Then, if the carry flag is 1 by "RET C" on the 4th line, the process returns to the routine one level above. That is, if the value of the A register is less than the fixed value indicating "one fake", the PRE_LOT module ends. If the carry flag is 0, the REG start time setting process, the BIG start time BIG stock lottery process, and the BIG start time setting process are executed, and the process returns to the routine one level above.

ここで、図148の置き換えを行うと、図160(a)のコマンド群を図160(b)のように変更することができる。図160(b)の1行目の指標「PRE_LOT:」は、当該PRE_LOTモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _TRG_KND)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_TRG_KND」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(トリガー役種別)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 160(a) can be changed as shown in FIG. 160(b). The index "PRE_LOT:" on the first line in FIG. 160(b) indicates the top address of the PRE_LOT module. By the command "LDQ A, (LOW_TRG_KND)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_TRG_KND" is set as the lower 1 byte of the address, and stored at that address. read out the value (trigger role type) to the A register.

図160(b)の3行目のコマンド「RCP C,A,@LOT_OFS_1FK」によって、Aレジスタの値と、トリガー役種別として「フェイク1枚」を示す固定値「@LOT_OFS_1FK」、ここでは、3とを比較し、3未満であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が「フェイク1枚」を示す固定値未満であれば、当該PRE_LOTモジュールを終了する。 The command "RCP C, A, @LOT_OFS_1FK" on the third line in FIG. and if it is less than 3, it returns to the routine one level above. That is, if the value of the A register is less than the fixed value indicating "one fake", the PRE_LOT module ends.

ここで、図160(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _TRG_KND)」2バイト+3行目のコマンド「CP A,@LOT_OFS_1FK」2バイト+3行目の「RET C」1バイト=5バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目3サイクル(1サイクル)=8サイクル(6サイクル)となる。一方、図160(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _TRG_KND)」2バイト+3行目のコマンド「RCP C,A,@LOT_OFS_1FK」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目5サイクル(3サイクル)=8サイクル(6サイクル)となる。したがって、図160(a)のコマンド群を図160(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 160(a) is the command "LDQ A, (LOW_TRG_KND)" on the second line 2 bytes + the command "CP A, @LOT_OFS_1FK" on the third line 2 bytes + 3. 1 byte of "RET C" on the line = 5 bytes, and the total execution cycle is 3 cycles on the 2nd line + 2 cycles on the 3rd line + 3 cycles on the 4th line (1 cycle) = 8 cycles (6 cycles). On the other hand, the total command size of the command group shown in FIG. 160(b) is the second line command "LDQ A, (LOW_TRG_KND)" 2 bytes + the third line command "RCP C, A, @LOT_OFS_1FK" 2 bytes. = 4 bytes, and the total execution cycle is 2nd row 3 cycles + 3rd row 5 cycles (3 cycles) = 8 cycles (6 cycles). Therefore, by replacing the command group of FIG. 160(a) with the command group of FIG. 160(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図161は、REG_LOTモジュールを説明するための説明図である。図161に示したREG_LOTモジュールは、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、REG中処理、すなわち、AT状態が所定の値(例えば6)の場合の抽せん処理を実行する。 FIG. 161 is an explanatory diagram for explaining the REG_LOT module. The REG_LOT module shown in FIG. 161 selectively shifts according to the game state and the effect state in the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. A lottery process is executed when the state is a predetermined value (eg, 6).

図161(a)の1行目の指標「REG_LOT:」は、当該REG_LOTモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _TRG_KND)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_TRG_KND」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(トリガー役種別)をAレジスタに読み出す。 The index "REG_LOT:" on the first line in FIG. 161(a) indicates the start address of the REG_LOT module. By the command "LDQ A, (LOW_TRG_KND)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_TRG_KND" is set as the lower 1 byte of the address, and stored at that address. read out the value (trigger role type) to the A register.

図161(a)の3行目のコマンド「CP A,@LOT_OFS_PDJ」によって、Aレジスタの値と、トリガー役種別として「打順ベル」を示す固定値「@LOT_OFS_PDJ」、ここでは、5とを比較し、5であれば、ゼロフラグが立って1となる。そして、4行目の「RET NZ」によって、ゼロフラグが1でなければ、1段上のルーチンに戻る。すなわち、Aレジスタの値が「打順ベル」を示す固定値でなければ、当該REG_LOTモジュールを終了する。なお、ゼロフラグが0であれば、REG残りナビ回数減算処理、REG終了時設定処理を実行して、1段上のルーチンに戻る。 By the command "CP A, @LOT_OFS_PDJ" on the third line of FIG. 161(a), the value of the A register is compared with the fixed value "@LOT_OFS_PDJ" indicating "batting order bell" as the trigger role type, here 5. If it is 5, the zero flag is set and becomes 1. Then, if the zero flag is not 1 by "RET NZ" on the 4th line, the process returns to the routine one step above. That is, if the value of the A register is not a fixed value indicating the "batting order bell", the REG_LOT module is terminated. If the zero flag is 0, the REG remaining navigation count subtraction process and the REG end time setting process are executed, and the routine returns to the upper level.

ここで、図148の置き換えを行うと、図161(a)のコマンド群を図161(b)のように変更することができる。図161(b)の1行目の指標「REG_LOT:」は、当該REG_LOTモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _TRG_KND)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_TRG_KND」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(トリガー役種別)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 161(a) can be changed as shown in FIG. 161(b). The index "REG_LOT:" on the first line in FIG. 161(b) indicates the start address of the REG_LOT module. By the command "LDQ A, (LOW_TRG_KND)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_TRG_KND" is set as the lower 1 byte of the address, and stored at that address. read out the value (trigger role type) to the A register.

図161(b)の3行目のコマンド「RCP NZ,A,@LOT_OFS_PDJ」によって、Aレジスタの値と、トリガー役種別として「打順ベル」を示す固定値「@LOT_OFS_PDJ」、ここでは、5とを比較し、5でなければ、1段上のルーチンに戻る。すなわち、Aレジスタの値が「打順ベル」を示す固定値でなければ、当該REG_LOTモジュールを終了する。 The command "RCP NZ, A, @LOT_OFS_PDJ" on the third line in FIG. is compared, and if it is not 5, it returns to the routine one level above. That is, if the value of the A register is not a fixed value indicating the "batting order bell", the REG_LOT module is terminated.

ここで、図161(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _TRG_KND)」2バイト+3行目のコマンド「CP A,@LOT_OFS_PDJ」2バイト+4行目の「RET NZ」1バイト=5バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目3サイクル(1サイクル)=8サイクル(6サイクル)となる。一方、図161(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _TRG_KND)」2バイト+3行目のコマンド「RCP NZ,A,@LOT_OFS_PDJ」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目5サイクル(3サイクル)=8サイクル(6サイクル)となる。したがって、図161(a)のコマンド群を図161(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 161(a) is the second line command "LDQ A, (LOW_TRG_KND)" 2 bytes + the third line command "CP A, @LOT_OFS_PDJ" 2 bytes+4. 1 byte of "RET NZ" on the line=5 bytes, and the total execution cycle is 3 cycles on the 2nd line+2 cycles on the 3rd line+3 cycles on the 4th line (1 cycle)=8 cycles (6 cycles). On the other hand, the total command size of the command group shown in FIG. 161(b) is the second line command "LDQ A, (LOW_TRG_KND)" 2 bytes + the third line command "RCP NZ, A, @LOT_OFS_PDJ" 2 bytes. = 4 bytes, and the total execution cycle is 2nd row 3 cycles + 3rd row 5 cycles (3 cycles) = 8 cycles (6 cycles). Therefore, by replacing the command group of FIG. 161(a) with the command group of FIG. 161(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図162は、BIG_SLTモジュールを説明するための説明図である。図162に示したBIG_SLTモジュールは、BIGストック数抽せん処理を実行する。 FIG. 162 is an explanatory diagram for explaining the BIG_SLT module. The BIG_SLT module shown in FIG. 162 executes the BIG stock lottery process.

図162(a)の1行目の指標「BIG_SLT:」は、当該BIG_SLTモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _TRG_KND)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_TRG_KND」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(トリガー役種別)をAレジスタに読み出す。 The index "BIG_SLT:" on the first line in FIG. 162(a) indicates the start address of the BIG_SLT module. By the command "LDQ A, (LOW_TRG_KND)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_TRG_KND" is set as the lower 1 byte of the address, and stored at that address. read out the value (trigger role type) to the A register.

図162(a)の3行目のコマンド「CP A,@LOT_OFS_LCY」によって、Aレジスタの値と、トリガー役種別として「弱チェリー」を示す固定値「@LOT_OFS_LCY」、ここでは、6とを比較し、6未満であれば、キャリーフラグが立って1となる。そして、4行目の「RET C」によって、キャリーフラグが1であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が「弱チェリー」を示す固定値未満であれば、当該BIG_SLTモジュールを終了する。なお、キャリーフラグが0であれば、BIG中ストック抽せん処理を実行して、1段上のルーチンに戻る。 The command "CP A, @LOT_OFS_LCY" on the third line in FIG. 162(a) compares the value of the A register with a fixed value "@LOT_OFS_LCY" indicating "weak cherry" as the trigger role type, here 6. If it is less than 6, the carry flag is set to 1. Then, if the carry flag is 1 by "RET C" on the 4th line, the process returns to the routine one level above. That is, if the value of the A register is less than the fixed value indicating "weak cherry", the BIG_SLT module is terminated. If the carry flag is 0, stock lottery processing during BIG is executed, and the routine returns to the routine one level above.

ここで、図148の置き換えを行うと、図162(a)のコマンド群を図162(b)のように変更することができる。図162(b)の1行目の指標「BIG_SLT:」は、当該BIG_SLTモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _TRG_KND)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_TRG_KND」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(トリガー役種別)をAレジスタに読み出す。 Here, if the replacement of FIG. 148 is performed, the command group of FIG. 162(a) can be changed as shown in FIG. 162(b). The index "BIG_SLT:" on the first line in FIG. 162(b) indicates the start address of the BIG_SLT module. By the command "LDQ A, (LOW_TRG_KND)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_TRG_KND" is set as the lower 1 byte of the address, and stored at that address. read out the value (trigger role type) to the A register.

図162(b)の3行目のコマンド「RCP C,A,@LOT_OFS_LCY」によって、Aレジスタの値と、トリガー役種別として「弱チェリー」を示す固定値「@LOT_OFS_LCY」、ここでは、6とを比較し、6未満であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が「弱チェリー」を示す固定値未満であれば、当該BIG_SLTモジュールを終了する。 The command "RCP C, A, @LOT_OFS_LCY" on the third line in FIG. is compared, and if it is less than 6, it returns to the routine one level above. That is, if the value of the A register is less than the fixed value indicating "weak cherry", the BIG_SLT module is terminated.

ここで、図162(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _TRG_KND)」2バイト+3行目のコマンド「CP A,@LOT_OFS_LCY」2バイト+4行目の「RET C」1バイト=5バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目3サイクル(1サイクル)=8サイクル(6サイクル)となる。一方、図162(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _TRG_KND)」2バイト+3行目のコマンド「RCP C,A,@LOT_OFS_LCY」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目5サイクル(3サイクル)=8サイクル(6サイクル)となる。したがって、図162(a)のコマンド群を図162(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 162(a) is the command "LDQ A, (LOW_TRG_KND)" 2 bytes on the second line + the command "CP A, @LOT_OFS_LCY" 2 bytes on the third line + 4 bytes. 1 byte of "RET C" on the line = 5 bytes, and the total execution cycle is 3 cycles on the 2nd line + 2 cycles on the 3rd line + 3 cycles on the 4th line (1 cycle) = 8 cycles (6 cycles). On the other hand, the total command size of the command group shown in FIG. 162(b) is the second line command "LDQ A, (LOW_TRG_KND)" 2 bytes + the third line command "RCP C, A, @LOT_OFS_LCY" 2 bytes. = 4 bytes, and the total execution cycle is 2nd row 3 cycles + 3rd row 5 cycles (3 cycles) = 8 cycles (6 cycles). Therefore, by replacing the command group of FIG. 162(a) with the command group of FIG. 162(b), the total command size is reduced by 1 byte. By such replacement, it is possible to further shorten the command and secure the capacity of the control area for performing the game control process.

図163は、NAV_SETモジュールを説明するための説明図である。図163に示したNAV_SETモジュールは、指示情報設定処理、すなわち、指示情報種別の設定処理を実行する。 FIG. 163 is an explanatory diagram for explaining the NAV_SET module. The NAV_SET module illustrated in FIG. 163 executes instruction information setting processing, that is, instruction information type setting processing.

図163(a)の1行目の指標「NAV_SET:」は、当該NAV_SETモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _YRI_LMP)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_YRI_LMP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(有効ランプフラグ)をAレジスタに読み出す。 The index "NAV_SET:" on the first line in FIG. 163(a) indicates the start address of the NAV_SET module. By the command "LDQ A, (LOW_YRI_LMP)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_YRI_LMP" is set as the lower 1 byte of the address, and stored at that address. The value (effective lamp flag) is read to the A register.

図163(a)の3行目のコマンド「CP A,@AT_MOD_PRE」によって、Aレジスタの値と、AT状態定義が「準備中」を示す固定値「@AT_MOD_PRE」、ここでは、5とを比較し、5未満であれば、キャリーフラグが立って1となる。そして、4行目の「RET C」によって、キャリーフラグが1であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が「準備中」を示す固定値未満であれば、当該NAV_SETモジュールを終了する。なお、キャリーフラグが0であれば、残りの処理を実行して、1段上のルーチンに戻る。 The command "CP A, @AT_MOD_PRE" on the 3rd line of FIG. 163(a) compares the value of the A register with the fixed value "@AT_MOD_PRE" indicating that the AT state definition is "preparing", here 5. If it is less than 5, the carry flag is set to 1. Then, if the carry flag is 1 by "RET C" on the 4th line, the process returns to the routine one level above. That is, if the value of the A register is less than the fixed value indicating "preparing", the NAV_SET module is terminated. Incidentally, if the carry flag is 0, the remaining processing is executed and the routine returns to the routine one level above.

ここで、図148の置き換えを行うと、図163(a)のコマンド群を図163(b)のように変更することができる。図163(b)の1行目の指標「NAV_SET:」は、当該NAV_SETモジュールの先頭アドレスを示す。2行目のコマンド「LDQ A,(LOW _YRI_LMP)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_YRI_LMP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(有効ランプフラグ)をAレジスタに読み出す。 Here, if the replacement in FIG. 148 is performed, the command group in FIG. 163(a) can be changed as shown in FIG. 163(b). The index "NAV_SET:" on the first line in FIG. 163(b) indicates the top address of the NAV_SET module. By the command "LDQ A, (LOW_YRI_LMP)" on the second line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_YRI_LMP" is set as the lower 1 byte of the address, and stored at that address. The value (effective lamp flag) is read to the A register.

図163(b)の3行目のコマンド「RCP C,A,@AT_MOD_PRE」によって、Aレジスタの値と、AT状態定義が「準備中」を示す固定値「@AT_MOD_PRE」、ここでは、5とを比較し、5未満であれば、1段上のルーチンに戻る。すなわち、Aレジスタの値が「準備中」を示す固定値未満であれば、当該NAV_SETモジュールを終了する。 The command "RCP C, A, @AT_MOD_PRE" on the third line in FIG. is compared, and if it is less than 5, it returns to the routine one level above. That is, if the value of the A register is less than the fixed value indicating "preparing", the NAV_SET module is terminated.

ここで、図163(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _YRI_LMP)」2バイト+3行目のコマンド「CP A,@AT_MOD_PRE」2バイト+4行目の「RET C」1バイト=5バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目3サイクル(1サイクル)=8サイクル(6サイクル)となる。一方、図163(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _YRI_LMP」2バイト+3行目のコマンド「RCP C,A,@AT_MOD_PRE」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目5サイクル(3サイクル)=8サイクル(6サイクル)となる。したがって、図163(a)のコマンド群を図163(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 163(a) is the command "LDQ A, (LOW_YRI_LMP)" 2 bytes on the second line + the command "CP A, @AT_MOD_PRE" 2 bytes on the third line + 4 bytes. 1 byte of "RET C" on the line = 5 bytes, and the total execution cycle is 3 cycles on the 2nd line + 2 cycles on the 3rd line + 3 cycles on the 4th line (1 cycle) = 8 cycles (6 cycles). On the other hand, the total command size of the command group shown in FIG. 163(b) is the command "LDQ A, (LOW_YRI_LMP" 2 bytes on the second line + the command "RCP C, A, @AT_MOD_PRE" 2 bytes on the third line = 163(a) is 4 bytes, and the total execution cycle is 3 cycles on the 2nd line + 5 cycles (3 cycles) on the 3rd line = 8 cycles (6 cycles). By replacing the commands with the command group, the total command size is reduced by 1 byte.This replacement makes it possible to further shorten the commands and secure the capacity of the control area for game control processing.

<XORQ>
図164は、TOK_PRCモジュールの具体的な処理を示したフローチャートである。TOK_PRCモジュールは、上記ステップS600の特別遊技管理処理(図36参照)を実行する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<XORQ>
FIG. 164 is a flow chart showing specific processing of the TOK_PRC module. The TOK_PRC module executes the special game management process (see FIG. 36) of step S600. Numerical values of step S in this figure are used only in the explanation of this figure.

メインCPU300aは、図164のように、特別遊技特別図柄判定フラグをロードし(S1)、ロードした特別遊技特別図柄判定フラグを反転し(S2)、反転した特別遊技特別図柄判定フラグをセーブする(S3)。なお、ステップS1は、図36におけるステップS600-5に相当し、ステップS2は、図36におけるステップS600-7に相当し、ステップS3は、図36におけるステップS600-9に相当する。 As shown in FIG. 164, the main CPU 300a loads the special game special symbol determination flag (S1), inverts the loaded special game special symbol determination flag (S2), and saves the inverted special game special symbol determination flag ( S3). Note that step S1 corresponds to step S600-5 in FIG. 36, step S2 corresponds to step S600-7 in FIG. 36, and step S3 corresponds to step S600-9 in FIG.

図165は、TOK_PRCモジュールを実現するためのコマンドの一例を説明するための説明図である。図164で示したフローチャートは、例えば、図165に示したプログラムによって実現される。 FIG. 165 is an explanatory diagram for explaining an example of commands for implementing the TOK_PRC module. The flowchart shown in FIG. 164 is realized by the program shown in FIG. 165, for example.

図165(a)の1行目の指標「TOK_PRC:」は、当該TOK_PRCモジュールの先頭アドレスを示す。そして、特別遊技管理処理として、図165(a)の2行目のコマンド「LDQ A,(LOW R_STA_TZ)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_STA_TZ」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別遊技特別図柄判定フラグ)をAレジスタに読み出す。かかる2行目のコマンドが、図164のステップS1に対応する。3行目のコマンド「XOR 001H」によって、読み出した値(特別遊技特別図柄判定フラグ)と固定値(ここでは001H)との排他的論理和を計算する。これにより、特別遊技特別図柄判定フラグが反転される。かかる2行目のコマンドが、図164のステップS2に対応する。そして、4行目のコマンド「LDQ (LOW R_STA_TZ),A」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_STA_TZ」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに、Aレジスタの値を格納する。かかる4行目のコマンドが、図164のステップS3に対応する。 The index "TOK_PRC:" on the first line in FIG. 165(a) indicates the start address of the TOK_PRC module. Then, as a special game management process, the command "LDQ A, (LOW R_STA_TZ)" on the second line of FIG. is the lower 1 byte of the address, and the value (special game special symbol determination flag) stored at that address is read to the A register. The command on the second line corresponds to step S1 in FIG. By the command "XOR 001H" on the 3rd line, the exclusive OR between the read value (special game special symbol determination flag) and the fixed value (here 001H) is calculated. Thereby, the special game special symbol determination flag is reversed. The command on the second line corresponds to step S2 in FIG. Then, according to the command "LDQ (LOW R_STA_TZ), A" on the fourth line, the value of the Q register is set to the upper 1 byte of the address, the value of the lower 1 byte of the address "R_STA_TZ" is set to the lower 1 byte of the address, and the address , store the value of the A register. Such a command on the fourth line corresponds to step S3 in FIG.

ここで、図165(a)のコマンド群を図165(b)のように変更することができる。図165(b)の1行目の指標「TOK_PRC:」は、当該TOK_PRCモジュールの先頭アドレスを示す。そして、特別遊技管理処理を実行すると、2行目のコマンド「XORQ (LOW R_STA_TZ),001H」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_STA_TZ」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別遊技特別図柄判定フラグ)と固定値(ここでは001H)との排他的論理和を計算し、計算結果を同アドレスに格納する。 Here, the command group of FIG. 165(a) can be changed as shown in FIG. 165(b). The index "TOK_PRC:" on the first line in FIG. 165(b) indicates the start address of the TOK_PRC module. Then, when the special game management process is executed, the value of the Q register is set to the upper 1 byte of the address and the value of the lower 1 byte of the address "R_STA_TZ" is set to the address by the command "XORQ (LOW R_STA_TZ), 001H" on the second line. , and the exclusive OR of the value (special game special symbol determination flag) stored at that address and the fixed value (here, 001H) is calculated, and the calculation result is stored at the same address.

ここで、図165(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_STA_TZ)」2バイト+3行目コマンド「XOR 001H」2バイト+4行目のコマンド「LDQ (LOW R_STA_TZ),A」2バイト=6バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目3サイクル=8サイクルとなる。一方、図165(b)に示したコマンド群の総コマンドサイズは、「XORQ (LOW R_STA_TZ),001H」4バイト=4バイトとなり、総実行サイクルは、2行目7サイクル=7サイクルとなる。したがって、図165(a)のコマンド群を図165(b)のコマンド群に置き換えることで、総コマンドサイズが2バイト削減され、総実行サイクルも少なくとも1サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of the command group shown in FIG. 165(a) is the second line command "LDQ A, (LOW R_STA_TZ)" 2 bytes + the third line command "XOR 001H" 2 bytes + the fourth line command "LDQ (LOW R_STA_TZ), A" 2 bytes=6 bytes, and the total execution cycle is 2nd line 3 cycles+3rd line 2 cycles+4th line 3 cycles=8 cycles. On the other hand, the total command size of the command group shown in FIG. 165(b) is "XORQ (LOW R_STA_TZ), 001H" 4 bytes=4 bytes, and the total execution cycle is 2nd row 7 cycles=7 cycles. Therefore, by replacing the command group of FIG. 165(a) with the command group of FIG. 165(b), the total command size is reduced by 2 bytes, and the total execution cycle is also reduced by at least 1 cycle. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図165(a)と図165(b)とを比較して理解できるように、図165(a)において3行(2行目~4行目)を占有していたコマンド群を、図165(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 165(a) and 165(b), the command group occupying three lines (2nd to 4th lines) in FIG. 165(a) is 165(b) can be expressed in one line (second line), which makes it possible to reduce the number of commands themselves and the design load.

また、ここでは、図165(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図165(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, here, in the example of FIG. 165(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 165(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

<CPQ>
図166は、TEF_SELモジュールの具体的な処理を示したフローチャートである。TOK_PRCモジュールは、大入賞口開放制御処理(図47参照)において、大入賞口閉鎖有効時間を特別電動役物遊技タイマに設定する際(ステップS720-9)に実行される。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<CPQ>
FIG. 166 is a flow chart showing specific processing of the TEF_SEL module. The TOK_PRC module is executed when setting the special electric role game timer for the closing effective time of the large winning opening in the large winning opening opening control process (see FIG. 47) (step S720-9). Numerical values of step S in this figure are used only in the explanation of this figure.

メインCPU300aは、図166のように、小当たり遊技の大入賞口閉鎖有効時間をセットし(S1)、特別図柄判定フラグをロードし(S2)、ロードした特別図柄判定フラグと、小当たり図柄であることを示す所定の値(ここでは、007H)とを比較する(S3)。なお、特別図柄判定フラグは、ハズレ図柄である場合に00H、大当たり図柄である場合に01H~06Hのいずれか、小当たり図柄である場合に07H~09Hのいずれかが設定される。 As shown in FIG. 166, the main CPU 300a sets the large winning opening closing effective time of the small winning game (S1), loads the special symbol determination flag (S2), and uses the loaded special symbol determination flag and the small winning symbol. It compares with a predetermined value (here, 007H) indicating that there is (S3). The special symbol determination flag is set to 00H in the case of a losing symbol, any of 01H to 06H in the case of a big winning symbol, and any of 07H to 09H in the case of a small winning symbol.

そして、比較結果として小当たり図柄であれば(S4におけるYES)、当該TEF_SELモジュールを終了し(S6)、比較結果として小当たり図柄でなければ(S4におけるNO)、すなわち、大当たり図柄であれば、大役遊技の大入賞口閉鎖有効時間テーブルをセットし(S5)、当該TEF_SELモジュールを終了する(S6)。 Then, if the comparison result is a small winning pattern (YES in S4), the TEF_SEL module is ended (S6), and if the comparison result is not a small winning pattern (NO in S4), that is, if it is a big winning pattern, A big winning opening closing valid time table for the big winning game is set (S5), and the TEF_SEL module is terminated (S6).

図167は、TEF_SELモジュールを実現するためのコマンドの一例を説明するための説明図である。図166で示したフローチャートは、例えば、図167に示したプログラムによって実現される。 FIG. 167 is an explanatory diagram for explaining an example of commands for realizing the TEF_SEL module. The flowchart shown in FIG. 166 is realized by the program shown in FIG. 167, for example.

図167(a)の1行目の指標「TEF_SEL:」は、当該TEF_SELモジュールの先頭アドレスを示す。そして、図167(a)の2行目のコマンド「LD HL,@TMR_TDN_EF3」によって、「@TMR_TDN_EF3」の値がHLレジスタに格納される。なお、「@TMR_TDN_EF3」には、小当たり遊技の大入賞口閉鎖有効時間が設定されている。かかる1行目のコマンドが、図166のステップS1に対応する。 The index "TEF_SEL:" on the first line in FIG. 167(a) indicates the top address of the TEF_SEL module. Then, the command "LD HL, @TMR_TDN_EF3" on the second line in FIG. 167(a) stores the value of "@TMR_TDN_EF3" in the HL register. It should be noted that, in "@TMR_TDN_EF3", the valid time for closing the big winning opening of the small winning game is set. Such a command on the first line corresponds to step S1 in FIG.

図167(a)の3行目のコマンド「LDQ A,(LOW R_ZUG_CHK_FIX)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_ZUG_CHK_FIX」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別図柄判定フラグ)をAレジスタに読み出す。かかる3行目のコマンドが、図166のステップS2に対応する。 The command "LDQ A, (LOW R_ZUG_CHK_FIX)" on the third line in FIG. , and the value (special symbol determination flag) stored at that address is read to the A register. Such a command on the third line corresponds to step S2 in FIG.

図167(a)の4行目のコマンド「CP A,@ZUG_SML1」によって、Aレジスタの値と、小当たり図柄1指定データ(小当たり図柄)を示す固定値「@ZUG_SML1」、ここでは、07Hとを比較し、Aレジスタの値が07H未満であれば、キャリーフラグが立たって1となる。かかる4行目のコマンドが、図166のステップS3に対応する。 By the command "CP A, @ZUG_SML1" on the 4th line of FIG. 167 (a), the value of the A register and the fixed value "@ZUG_SML1" indicating the small winning design 1 designation data (small winning design), here, 07H is compared, and if the value of the A register is less than 07H, the carry flag is set to 1. Such a command on the fourth line corresponds to step S3 in FIG.

そして、図167(a)の5行目のコマンド「RET NC」によって、キャリーフラグが1でなければ、1段上のルーチンに戻る。すなわち、Aレジスタの値が小当たり図柄1指定データ以上であれば、当該TEF_SELモジュールを終了する。かかる5行目のコマンドが、図166のステップS4におけるYES、および、ステップS6に対応する。 Then, if the carry flag is not 1 by the command "RET NC" on the fifth line of FIG. That is, if the value of the A register is equal to or greater than the small winning symbol 1 designating data, the TEF_SEL module is terminated. The command on the fifth line corresponds to YES in step S4 and step S6 in FIG.

一方、キャリーフラグが1であれば、図167(a)の6行目のコマンド「LDQ A,(LOW R_TDN_FLG)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TDN_FLG」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別電動役物指定フラグ)をAレジスタに読み出し、図167(a)の7行目のコマンド「LD HL,D_EFF_TMR-2」によって、転送元となる1バイトデータ群の先頭アドレス「D_EFF_TMR-2」をHLレジスタに設定する。 On the other hand, if the carry flag is 1, the command "LDQ A, (LOW R_TDN_FLG)" on the sixth line in FIG. The value of 1 byte is set as the lower 1 byte of the address, and the value (special electric accessory designation flag) stored at that address is read to the A register, and the command "LD HL, D_EFF_TMR- 2” sets the start address “D_EFF_TMR-2” of the 1-byte data group to be the transfer source in the HL register.

図167(a)の8行目のコマンド「RST WORDSEL」によって、サブルーチンとしてWORDSELモジュールが呼び出され、HLレジスタにAレジスタの値を2回加算し、HLレジスタに示されるアドレスのうち、下位バイトの値がAレジスタに読み出された後、図167(a)の9行目のコマンド「RET」によって、1段上のルーチンに戻る。なお、その後の1段上のルーチンにおいて(その後の処理において)、大役遊技の大入賞口閉鎖有効時間がタイマにセットされることになる。かかる6行目から8行目が図166のステップS5に対応する。 The WORDSEL module is called as a subroutine by the command "RST WORDSEL" on the eighth line of FIG. After the value is read into the A register, the command "RET" on the ninth line of FIG. 167(a) returns to the routine one level above. It should be noted that, in the subsequent routine (in subsequent processing), the valid time for closing the big winning opening of the big winning game is set to the timer. The sixth to eighth lines correspond to step S5 in FIG.

ここで、図167(a)のコマンド群を図167(b)のように変更することができる。ここでは、図167(a)と実質的に等しい処理についてはその説明を省略し、図167(b)の異なる処理のみを説明する。 Here, the command group of FIG. 167(a) can be changed as shown in FIG. 167(b). 167(a) will be omitted here, and only the different processing in FIG. 167(b) will be described.

図167(b)の3行目のコマンド「CPQ (LOW R_ZUG_CHK_FIX),@ZUG_SML1」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_ZUG_CHK_FIX」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別図柄判定フラグ)と、小当たり図柄1指定データ(小当たり図柄)を示す固定値「@ZUG_SML1」、ここでは、07Hとを比較し、07H未満であれば、キャリーフラグが立たって1となる。かかる3行目のコマンドが、図166のステップS2およびステップS3に対応する。かかるコマンドのコマンドサイズは「3」であり、実行サイクルは「4」である。 The command "CPQ (LOW R_ZUG_CHK_FIX), @ZUG_SML1" on the third line in FIG. byte, and the value (special design determination flag) stored at that address is compared with the fixed value "@ZUG_SML1" indicating the small winning design 1 designation data (small winning design), here, 07H, and less than 07H If there is, the carry flag is set to 1. Such commands on the third line correspond to steps S2 and S3 in FIG. Such a command has a command size of "3" and an execution cycle of "4".

ここで、図167(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD HL,@TMR_TDN_EF3」3バイト+3行目コマンド「LDQ A,(LOW R_ZUG_CHK_FIX)」2バイト+4行目のコマンド「CP A,@ZUG_SML1」2バイト+5行目の「RET NC」1バイト+6行目のコマンド「LDQ A,(LOW R_TDN_FLG)」2バイト+7行目のコマンド「LD HL,D_EFF_TMR-2」3バイト+8行目のコマンド「RST WORDSEL」1バイト+9行目「RET」1バイト=15バイトとなり、実行サイクルは、2行目3サイクル+3行目2サイクル+4行目2サイクル+5行目3サイクル(1サイクル)+6行目2サイクル+7行目3サイクル+8行目4サイクル+9行目3サイクル=22サイクル(20サイクル)となる。なお、括弧内のサイクル数は、コマンド「RET NC」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. 167(a) is the second line command "LD HL, @TMR_TDN_EF3" 3 bytes + the third line command "LDQ A, (LOW R_ZUG_CHK_FIX)" 2 bytes + 4 lines. 2nd command "CP A, @ZUG_SML1" 2 bytes + 5th line "RET NC" 1 byte + 6th line command "LDQ A, (LOW R_TDN_FLG)" 2 bytes + 7th line command "LD HL, D_EFF_TMR-2" " 3 bytes + command "RST WORDSEL" 1 byte on line 8 + "RET" 1 byte on line 9 = 15 bytes, and the execution cycle is 3 cycles on line 2 + 2 cycles on line 3 + 2 cycles on line 4 + 3 Cycle (1 cycle) + 6th row 2nd cycle + 7th row 3rd cycle + 8th row 4th cycle + 9th row 3rd cycle = 22 cycles (20 cycles). The number of cycles in parentheses indicates the execution cycle when the command "RET NC" does not move to the routine one level higher.

一方、図167(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD HL,@TMR_TDN_EF3」3バイト+3行目コマンド「CPQ (LOW R_ZUG_CHK_FIX),@ZUG_SML1」3バイト+4行目の「RET NC」1バイト+5行目のコマンド「LDQ A,(LOW R_TDN_FLG)」2バイト+6行目のコマンド「LD HL,D_EFF_TMR-2」3バイト+7行目のコマンド「RST WORDSEL」1バイト+8行目「RET」1バイト=14バイトとなり、実行サイクルは、2行目3サイクル+3行目4サイクル+4行目3サイクル(1サイクル)+5行目2サイクル+6行目3サイクル+7行目4サイクル+8行目3サイクル=22サイクル(20サイクル)となる。なお、括弧内のサイクル数は、コマンド「RET NC」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. 167(b) is: 2nd line command "LD HL, @TMR_TDN_EF3" 3 bytes + 3rd line command "CPQ (LOW R_ZUG_CHK_FIX), @ZUG_SML1" 3 bytes + 4 lines 1st "RET NC" 1 byte + 5th line command "LDQ A, (LOW R_TDN_FLG)" 2 bytes + 6th line command "LD HL, D_EFF_TMR-2" 3 bytes + 7th line command "RST WORDSEL" 1 byte + 8th line "RET" 1 byte = 14 bytes, and the execution cycle is: 2nd line 3 cycles + 3rd line 4 cycles + 4th line 3 cycles (1 cycle) + 5th line 2 cycles + 6th line 3 cycles + 7th line 4 Cycle+8th row 3rd cycle=22 cycles (20 cycles). The number of cycles in parentheses indicates the execution cycle when the command "RET NC" does not move to the routine one level higher.

したがって、図167(a)のコマンド群を図167(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 167(a) with the command group of FIG. 167(b), the total command size is reduced by 1 byte. By such replacement, it is possible to shorten the command and secure the capacity of the control area for performing the game control process.

また、図167(a)と図167(b)とを比較して理解できるように、図167(a)において2行(3行目、4行目)を占有していたコマンド群を、図167(b)においては1行(3行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 167(a) and 167(b), the command group occupying two lines (third and fourth lines) in FIG. 167(b) can be expressed in one line (the third line), which makes it possible to reduce the number of commands themselves and the design load.

また、ここでは、図167(b)の例では、3行目のコマンドにおいてAレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図167(a)の例では、3行目のコマンドを実行する際にAレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, here, in the example of FIG. 167(b), the A register is not used in the command on the third line. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 167(a), if the A register was already used when executing the command on the third line, it was necessary to stack and save the value of the A register. Since the A register is not used, no stack processing is required. In this way, it becomes possible to effectively use resources.

<JTANDQ>
図168は、SWI_PRCモジュールの具体的な処理を示したフローチャートである。SWI_PRCモジュールは、上記ステップS500のスイッチ管理処理(図28参照)を実行する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<JTANDQ>
FIG. 168 is a flow chart showing specific processing of the SWI_PRC module. The SWI_PRC module executes the switch management process of step S500 (see FIG. 28). Numerical values of step S in this figure are used only in the explanation of this figure.

メインCPU300aは、図168のように、第1可変始動口検出スイッチ120Bsの検出時であるかを判定し(S1)、第1可変始動口検出スイッチ120Bsの検出時であれば(S1におけるYES)、第1始動口通過処理(S2)および普通電動役物入賞時確認処理(S3)を実行する。一方、第1可変始動口検出スイッチ120Bsの検出時でなければ(S1におけるNO)、第1始動口通過処理(S2)および普通電動役物入賞時確認処理(S3)がスキップされる。なお、ステップS1は、図28におけるステップS500-7に相当し、ステップS2は、図28におけるステップS520に相当し、ステップS3)は、図28におけるステップS500-9に相当する。 As shown in FIG. 168, the main CPU 300a determines whether the first variable starting port detection switch 120Bs is detected (S1), and if the first variable starting port detection switch 120Bs is detected (YES in S1). , 1st start opening passage processing (S2) and confirmation processing (S3) at the time of normal electric accessory winning is executed. On the other hand, if the first variable starting opening detection switch 120Bs is not detected (NO in S1), the first starting opening passage processing (S2) and the normal electric accessory winning confirmation processing (S3) are skipped. Note that step S1 corresponds to step S500-7 in FIG. 28, step S2 corresponds to step S520 in FIG. 28, and step S3) corresponds to step S500-9 in FIG.

図169は、SWI_PRCモジュールを実現するためのコマンドの一例を説明するための説明図である。図168で示したフローチャートは、例えば、図169に示したプログラムによって実現される。 FIG. 169 is an explanatory diagram for explaining an example of commands for implementing the SWI_PRC module. The flowchart shown in FIG. 168 is realized by the program shown in FIG. 169, for example.

図169(a)の1行目の指標「SWI_PRC:」は、当該SWI_PRCモジュールの先頭アドレスを示す。そして、図169(a)の2行目のコマンド「LDQ A,(LOW R_IN3_PON)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_IN3_PON」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値をAレジスタに読み出す。なお、ここで、同アドレスに格納された値には、例えば、最下位ビットに、第1固定始動口検出スイッチ120As(入力部)の検出結果が保持され、下位2ビット目に、第2始動口検出スイッチ122s(入力部)の検出結果が保持され、下位3ビット目に、第1可変始動口検出スイッチ120Bs(入力部)の検出結果が保持される。これら各ビットは、検出スイッチによって遊技球が入球したことが検出された場合に「1」となり、検出スイッチによって遊技球が入球したことが検出されていない場合に「0」となる。 The index "SWI_PRC:" on the first line in FIG. 169(a) indicates the head address of the SWI_PRC module. Then, the command "LDQ A, (LOW R_IN3_PON)" on the second line in FIG. 1 byte, and the value stored at that address is read to the A register. Here, in the value stored at the same address, for example, the least significant bit holds the detection result of the first fixed starting opening detection switch 120As (input section), and the second lower bit holds the second starting opening detection switch 120As. The detection result of the opening detection switch 122s (input section) is held, and the detection result of the first variable start opening detection switch 120Bs (input section) is held in the lower third bit. Each of these bits becomes "1" when the detection switch detects that the game ball has entered, and becomes "0" when the detection switch does not detect that the game ball has entered.

3行目のコマンド「AND A,@IN3_ST2_BIT」によって、読み出した値と固定値「@IN3_ST2_BIT(ここでは00000100b)との論理積を計算する。これにより、読み出した値の下位3ビット目以外が0にされ(マスクされ)、読み出した値の下位3ビット目が0であればゼロフラグ=1となり、読み出した値の下位3ビット目が1であればゼロフラグ=0となる。つまり、第1可変始動口検出スイッチ120Bsの検出結果が1であれば(遊技球の入球が検出されていれば)ゼロフラグ=0となり、第1可変始動口検出スイッチ120Bsの検出結果が0であれば(遊技球の入球が検出されていなければ)ゼロフラグ=0となる。 The command "AND A, @IN3_ST2_BIT" on the third line calculates the logical product of the read value and the fixed value "@IN3_ST2_BIT (here, 00000100b). As a result, all bits other than the lower third bit of the read value are set to 0. If the third low-order bit of the read value is 0, the zero flag is set to 1, and if the third low-order bit of the read value is 1, the zero flag is set to 0. That is, the first variable start. If the detection result of the opening detection switch 120Bs is 1 (if the game ball is detected), the zero flag is set to 0, and if the detection result of the first variable start opening detection switch 120Bs is 0 (the game ball is Zero flag=0 if no incoming ball is detected.

そして、4行目のコマンド「JR Z,SWI_PRC_20」によって、ゼロフラグが1(Z)であれば、SWI_PRC_20(7行目)に移動する。かかる2行目~4行目のコマンドが、図168のステップS1に対応する。 Then, if the zero flag is 1 (Z) by the command "JR Z, SWI_PRC_20" on the 4th line, the process moves to SWI_PRC_20 (7th line). The commands on the second to fourth lines correspond to step S1 in FIG.

一方、4行目のコマンド「JR Z,SWI_PRC_20」によって、ゼロフラグが1でなければ、5行目のコマンド「CALLF STA_PAS」によって、サブルーチンとしてSTA_PASモジュールが呼び出され、STA_PASモジュールにより第1始動口通過処理が実行される。かかる5行目のコマンドが、図168のステップS2に対応する。また、6行目のコマンド「CALLF FDN_CHK」によって、サブルーチンとしてFDN_CHKモジュールが呼び出され、FDN_CHKモジュールにより普通電動役物入賞時確認処理が実行される。かかる6行目のコマンドが、図168のステップS3に対応する。 On the other hand, if the zero flag is not 1 by the command "JR Z, SWI_PRC_20" on the fourth line, the STA_PAS module is called as a subroutine by the command "CALLF STA_PAS" on the fifth line. is executed. The fifth line command corresponds to step S2 in FIG. Also, the FDN_CHK module is called as a subroutine by the command "CALLF FDN_CHK" on the 6th line, and the FDN_CHK module executes normal electric accessory winning confirmation processing. The sixth line command corresponds to step S3 in FIG.

ここで、図169(a)のコマンド群を図169(b)のように変更することができる。ここでは、図169(a)と実質的に等しい処理についてはその説明を省略し、図169(b)の異なる処理のみを説明する。 Here, the command group of FIG. 169(a) can be changed as shown in FIG. 169(b). 169(a) will be omitted here, and only the different processing in FIG. 169(b) will be described.

図169(b)の2行目のコマンド「JTANDQ Z,(LOW R_IN3_PON),@IN3_ST2_BIT,SWI_PRC_20」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_IN3_PON」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値と、固定値「@IN3_ST2_BIT」との論理積を計算し、ゼロフラグが1であればSWI_PRC_20に移動する。かかる2行目のコマンドが、図168のステップS1に対応する。かかるコマンドのコマンドサイズは「4」であり、実行サイクルは「5(6)」である。なお、括弧内のサイクル数は、ゼロフラグが1でありSWI_PRC_20に移動した場合の実行サイクルを示している。 By command "JTANDQ Z, (LOW R_IN3_PON), @IN3_ST2_BIT, SWI_PRC_20" on the second line in FIG. The lower 1 byte of the address is used, and the logical AND of the value stored at that address and the fixed value "@IN3_ST2_BIT" is calculated. The command on the second line corresponds to step S1 in FIG. Such a command has a command size of "4" and an execution cycle of "5 (6)". Note that the number of cycles in parentheses indicates the execution cycle when the zero flag is 1 and the process moves to SWI_PRC_20.

ここで、図169(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_IN3_PON)」2バイト+3行目コマンド「AND A,@IN3_ST2_BIT」2バイト+4行目のコマンド「JR Z,SWI_PRC_20」2バイト+5行目のコマンド「CALLF STA_PAS」2バイト+6行目のコマンド「CALLF FDN_CHK」2バイト=10バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目2(3)サイクル+5行目4サイクル+6行目4サイクル=15(16)サイクルとなる。なお、括弧内のサイクル数は、ゼロフラグが1でありSWI_PRC_20に移動した場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. 169(a) is the second line command "LDQ A, (LOW R_IN3_PON)" 2 bytes + the third line command "AND A, @IN3_ST2_BIT" 2 bytes + 4 lines. 2 bytes of the 2nd command "JR Z, SWI_PRC_20" + 2 bytes of the command "CALLF STA_PAS" of the 5th line + 2 bytes of the command "CALLF FDN_CHK" of the 6th line = 10 bytes, and the total execution cycle is 3 cycles of the 2nd line + 3 lines 2nd cycle + 4th row 2 (3) cycles + 5th row 4 cycles + 6th row 4 cycles = 15 (16) cycles. Note that the number of cycles in parentheses indicates the execution cycle when the zero flag is 1 and the process moves to SWI_PRC_20.

一方、図169(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「JTANDQ Z,(LOW R_IN3_PON),@IN3_ST2_BIT,SWI_PRC_20」4バイト+3行目のコマンド「CALLF STA_PAS」2バイト+4行目のコマンド「CALLF FDN_CHK」2バイト=8バイトとなり、総実行サイクルは、2行目5(6)サイクル+3行目4サイクル+4行目4サイクル=13(14)サイクルとなる。 On the other hand, the total command size of the command group shown in FIG. 169(b) is the command "JTANDQ Z, (LOW R_IN3_PON), @IN3_ST2_BIT, SWI_PRC_20" 4 bytes on the second line + the command "CALLF STA_PAS" 2 bytes on the third line. + 2 bytes of the command "CALLF FDN_CHK" on the 4th line = 8 bytes, and the total execution cycle is 5 (6) cycles on the 2nd line + 4 cycles on the 3rd line + 4 cycles on the 4th line = 13 (14) cycles.

したがって、図169(a)のコマンド群を図169(b)のコマンド群に置き換えることで、総コマンドサイズが2バイト削減され、総実行サイクルも少なくとも2サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 169(a) with the command group of FIG. 169(b), the total command size is reduced by 2 bytes, and the total execution cycle is also reduced by at least 2 cycles. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図169(a)と図169(b)とを比較して理解できるように、図169(a)において3行(2行目~4行目)を占有していたコマンド群を、図169(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 169(a) and 169(b), the command group occupying 3 lines (2nd to 4th lines) in FIG. 169(a) is 169(b) can be expressed in one line (second line), which makes it possible to reduce the number of commands themselves and the design load.

また、図169(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図169(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 169(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 169(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

<OUT>
図170は、CPUINITモジュールの具体的な処理を示したフローチャートである。CPUINITモジュールは、上記CPU初期化処理(図22参照)を実行する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<OUT>
FIG. 170 is a flow chart showing specific processing of the CPUINIT module. The CPUINIT module executes the CPU initialization process (see FIG. 22). Numerical values of step S in this figure are used only in the explanation of this figure.

メインCPU300aは、図170のように、RAM300cへのアクセスを許可するアクセス許可処理を実行する(S1)。なお、ステップS1は、図22におけるステップS100-9に相当する。 As shown in FIG. 170, the main CPU 300a executes access permission processing to permit access to the RAM 300c (S1). Note that step S1 corresponds to step S100-9 in FIG.

図171は、CPUINITモジュールを実現するためのコマンドの一例を説明するための説明図である。図170で示したフローチャートは、例えば、図171に示したプログラムによって実現される。 FIG. 171 is an explanatory diagram for explaining an example of commands for implementing the CPUINIT module. The flowchart shown in FIG. 170 is realized by the program shown in FIG. 171, for example.

図171(a)の1行目の指標「CPUINIT:」は、当該CPUINITモジュールの先頭アドレスを示す。そして、図171(a)の2行目のコマンド「LD A,(@RAMENBL)」によって、アクセスを許可することを示す固定値「@RAMENBL」(ここでは、1)をAレジスタに読み出す。そして、図171(a)の3行目のコマンド「OUT (@RAP____),A」によって、Uレジスタの値をアドレスの上位1バイトとし、RAMアクセスプロテクトレジスタポート(内部レジスタI/Oポート)のアドレスの下位1バイトを示す固定値「@RAP____」を下位1バイトとし、そのアドレスに、Aレジスタの値(1)を出力する。なお、Uレジスタには、RAMアクセスプロテクトレジスタポート(内部レジスタI/Oポート)のアドレスの上位1バイト(例えば「FEH」)が予め設定されている。 The index "CPUINIT:" on the first line in FIG. 171(a) indicates the start address of the CPUINIT module. Then, the command "LD A, (@RAMENBL)" on the second line in FIG. 171(a) reads the fixed value "@RAMENBL" (here, 1) indicating permission of access to the A register. Then, the command "OUT (@RAP____), A" on the third line of FIG. A fixed value "@RAP____" indicating the lower 1 byte of the address is set as the lower 1 byte, and the value (1) of the A register is output to that address. Note that the upper 1 byte (for example, "FEH") of the address of the RAM access protect register port (internal register I/O port) is preset in the U register.

ここで、図171(a)のコマンド群を図171(b)のように変更することができる。ここでは、図171(a)と実質的に等しい処理についてはその説明を省略し、図171(b)の異なる処理のみを説明する。 Here, the command group of FIG. 171(a) can be changed as shown in FIG. 171(b). 171(a) will be omitted here, and only the different processing in FIG. 171(b) will be described.

図171(b)の2行目のコマンド「OUT (@RAP____),@RAMENBL」によって、Uレジスタの値をアドレスの上位1バイトとし、RAMアクセスプロテクトレジスタポート(内部レジスタI/Oポート)のアドレスの下位1バイトを示す固定値「@RAP____」を下位1バイトとし、そのアドレスに、固定値「@RAMENBL」、すなわち、1を出力する。かかるコマンドのコマンドサイズは「3」であり、実行サイクルは「4」である。 The command "OUT (@RAP____),@RAMENBL" on the second line in FIG. 171(b) sets the value of the U register to the upper 1 byte of the address, and the address of the RAM access protect register port (internal register I/O port). The fixed value "@RAP____" indicating the lower 1 byte of . Such a command has a command size of "3" and an execution cycle of "4".

ここで、図171(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD A,(@RAMENBL)」2バイト+3行目コマンド「OUT (@RAP____),A」2バイト=4バイトとなり、総実行サイクルは、2行目2サイクル+3行目3サイクル=5サイクルとなる。 Here, the total command size of the command group shown in FIG. 171(a) is the second line command "LD A, (@RAMENBL)" 2 bytes + the third line command "OUT (@RAP_____), A" 2 bytes. = 4 bytes, and the total execution cycle is 2 cycles on the 2nd line + 3 cycles on the 3rd line = 5 cycles.

一方、図171(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「OUT (@RAP____),@RAMENBL」3バイト=3バイトとなり、総実行サイクルは、2行目4サイクル=4サイクルとなる。 On the other hand, the total command size of the group of commands shown in FIG. = 4 cycles.

したがって、図171(a)のコマンド群を図171(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減され、総実行サイクルも少なくとも1サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 171(a) with the command group of FIG. 171(b), the total command size is reduced by 1 byte, and the total execution cycle is also reduced by at least 1 cycle. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図171(a)と図171(b)とを比較して理解できるように、図171(a)において2行(2行目~3行目)を占有していたコマンド群を、図171(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 171(a) and 171(b), the command group that occupied two lines (2nd to 3rd lines) in FIG. 171(b) can be expressed in one line (second line), which makes it possible to reduce the number of commands themselves and the design load.

また、図171(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図171(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 171(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 171(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

図172は、TMR_IPTモジュールを説明するための説明図である。図172に示したTMR_IPTモジュールは、図98に示したタイマ割込み処理を実行する。 FIG. 172 is an explanatory diagram for explaining the TMR_IPT module. The TMR_IPT module shown in FIG. 172 executes timer interrupt processing shown in FIG.

図172(a)の1行目の指標「TMR_IPT:」は、当該TMR_IPTモジュールの先頭アドレスを示す。そして、図172(a)の2行目のコマンド「LD A,@TOCRVAL」によって、アクセスを許可することを示す固定値「@TOCRVAL」(ここでは、1)をAレジスタに読み出す。そして、図172(a)の3行目のコマンド「OUT (@PTOCR__),A」によって、Uレジスタの値をアドレスの上位1バイトとし、RAMアクセスプロテクトレジスタポート(内部レジスタI/Oポート)のアドレスの下位1バイトを示す固定値「@PTOCR__」をアドレスの下位1バイトとし、そのアドレスに、Aレジスタの値(1)を出力する。なお、Uレジスタには、RAMアクセスプロテクトレジスタポート(内部レジスタI/Oポート)のアドレスの上位1バイト(例えば「FEH」)が予め設定されている。 The index "TMR_IPT:" on the first line in FIG. 172(a) indicates the top address of the TMR_IPT module. Then, the command "LD A, @TOCRVAL" on the second line in FIG. 172(a) reads the fixed value "@TOCRVAL" (here, 1) indicating permission of access to the A register. Then, the command "OUT (@PTOCR__), A" on the third line in FIG. A fixed value "@PTOCR__" indicating the lower 1 byte of the address is set as the lower 1 byte of the address, and the value (1) of the A register is output to that address. Note that the upper 1 byte (for example, "FEH") of the address of the RAM access protect register port (internal register I/O port) is preset in the U register.

ここで、図172(a)のコマンド群を図172(b)のように変更することができる。ここでは、図172(a)と実質的に等しい処理についてはその説明を省略し、図172(b)の異なる処理のみを説明する。 Here, the command group of FIG. 172(a) can be changed as shown in FIG. 172(b). 172(a) will be omitted here, and only the different processing in FIG. 172(b) will be described.

図172(b)の2行目のコマンド「OUT (@PTOCR__),@TOCRVAL」によって、Uレジスタの値をアドレスの上位1バイトとし、RAMアクセスプロテクトレジスタポート(内部レジスタI/Oポート)のアドレスの下位1バイトを示す固定値「@PTOCR__」をアドレスの下位1バイトとし、そのアドレスに、固定値「@TOCRVAL」、すなわち、1を出力する。かかるコマンドのコマンドサイズは「3」であり、実行サイクルは「4」である。 The command "OUT (@PTOCR__), @TOCRVAL" on the second line in FIG. The fixed value "@PTOCR__" indicating the lower 1 byte of the address is set as the lower 1 byte of the address, and the fixed value "@TOCRVAL", that is, 1 is output to that address. Such a command has a command size of "3" and an execution cycle of "4".

ここで、図172(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD A,@TOCRVAL」2バイト+3行目のコマンド「OUT (@PTOCR__),A」2バイト=4バイトとなり、総実行サイクルは、2行目2サイクル+3行目3サイクル=5サイクルとなる。 Here, the total command size of the command group shown in FIG. 172(a) is: command "LD A, @TOCRVAL" 2 bytes on the second line + command "OUT (@PTOCR__), A" 2 bytes on the third line = 4 bytes, and the total execution cycle is 2 cycles on the 2nd line + 3 cycles on the 3rd line = 5 cycles.

一方、図172(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「OUT (@PTOCR__),@TOCRVAL」3バイト=3バイトとなり、総実行サイクルは、2行目4サイクル=4サイクルとなる。 On the other hand, the total command size of the group of commands shown in FIG. = 4 cycles.

したがって、図172(a)のコマンド群を図172(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減され、総実行サイクルも少なくとも1サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 172(a) with the command group of FIG. 172(b), the total command size is reduced by 1 byte, and the total execution cycle is also reduced by at least 1 cycle. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図172(a)と図172(b)とを比較して理解できるように、図172(a)において2行(2行目~3行目)を占有していたコマンド群を、図172(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 172(a) and 172(b), the command group occupying two lines (2nd to 3rd lines) in FIG. 172(a) is 172(b) can be expressed in one line (second line), which makes it possible to reduce the number of commands themselves and the design load.

また、図172(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図172(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 172(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 172(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

<LDQ>
図173は、FZ_SPNモジュールの具体的な処理を示したフローチャートである。FZ_SPNモジュールは、上記普通図柄変動中処理(図53参照)を実行する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<LDQ>
FIG. 173 is a flow chart showing specific processing of the FZ_SPN module. The FZ_SPN module executes the normal symbol fluctuation process (see FIG. 53). Numerical values of step S in this figure are used only in the explanation of this figure.

メインCPU300aは、図173のように、普通図柄表示図柄カウンタに、普通図柄停止図柄番号(カウンタ値)をセーブする。(S1)。なお、ステップS1は、図53におけるステップS820-9に相当する。 As shown in FIG. 173, the main CPU 300a saves the normal symbol stop symbol number (counter value) in the normal symbol display symbol counter. (S1). Note that step S1 corresponds to step S820-9 in FIG.

図174は、FZ_SPNモジュールを実現するためのコマンドの一例を説明するための説明図である。図173で示したフローチャートは、例えば、図174に示したプログラムによって実現される。 FIG. 174 is an explanatory diagram for explaining an example of commands for realizing the FZ_SPN module. The flowchart shown in FIG. 173 is realized by the program shown in FIG. 174, for example.

図174(a)の1行目の指標「FZ_SPN:」は、当該FZ_SPNモジュールの先頭アドレスを示す。そして、図174(a)の2行目のコマンド「LDQ A,(LOW R_FZ_STP)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FZ_STP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(普通図柄停止図柄番号)をAレジスタに読み出す。 The index "FZ_SPN:" on the first line in FIG. 174(a) indicates the start address of the FZ_SPN module. Then, according to the command "LDQ A, (LOW R_FZ_STP)" on the second line in FIG. 1 byte, and the value (normal symbol stop symbol number) stored at that address is read to the A register.

そして、図174(a)の2行目のコマンド「LDQ (LOW R_FZ_DSP),A」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FZ_DSP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレス(普通図柄表示図柄カウンタのアドレス)にAレジスタの値を格納する。 Then, the command "LDQ (LOW R_FZ_DSP), A" on the second line in FIG. It is assumed to be 1 byte, and the value of the A register is stored at that address (the address of the normal symbol display symbol counter).

ここで、図174(a)のコマンド群を図174(b)のように変更することができる。ここでは、図174(a)と実質的に等しい処理についてはその説明を省略し、図174(b)の異なる処理のみを説明する。 Here, the command group of FIG. 174(a) can be changed as shown in FIG. 174(b). 174(a) will be omitted here, and only the different processing in FIG. 174(b) will be described.

図174(b)の2行目のコマンド「LDQ (LOW R_FZ_DSP),(LOW R_FZ_STP)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FZ_STP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値を、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FZ_DSP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納する。 The command "LDQ (LOW R_FZ_DSP), (LOW R_FZ_STP)" on the second line in FIG. The value stored at that address is stored at that address with the value of the Q register as the upper 1 byte of the address and the value of the lower 1 byte of the address "R_FZ_DSP" as the lower 1 byte of the address.

ここで、図174(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_FZ_STP)」2バイト+3行目コマンド「LDQ (LOW R_FZ_DSP),A」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目3サイクル=6サイクルとなる。 Here, the total command size of the command group shown in FIG. 174(a) is the second line command "LDQ A, (LOW R_FZ_STP)" 2 bytes + the third line command "LDQ (LOW R_FZ_DSP), A" 2 bytes. = 4 bytes, and the total execution cycle is 2nd row 3 cycles + 3rd row 3 cycles = 6 cycles.

一方、図174(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ (LOW R_FZ_DSP),(LOW R_FZ_STP)」4バイト=4バイトとなり、総実行サイクルは、2行目6サイクル=6サイクルとなる。 On the other hand, the total command size of the command group shown in FIG. 6 cycles=6 cycles.

したがって、図174(a)と図174(b)とを比較して理解できるように、図174(a)において2行(2行目~3行目)を占有していたコマンド群を、総コマンドサイズおよび総実行サイクルを変更することなく、図174(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Therefore, as can be understood by comparing FIG. 174(a) and FIG. 174(b), the command group occupying two lines (second and third lines) in FIG. Without changing the command size and total execution cycle, it can be expressed in one line (second line) in FIG. .

また、図174(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図174(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 174(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 174(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

図175は、CPUINITモジュールを実現するためのコマンドの一例を説明するための説明図である。ここで、特別遊技は、低確率遊技状態および高確率遊技状態のいずれかの遊技状態にて遊技が進行する。そして、遊技機100には、遊技状態が高確率遊技状態であることを示す表示器が設けられており、遊技状態が高確率遊技状態である場合には、当該表示器が点灯する。そして、電断復帰時において高確率遊技状態であることを遊技者に報知しない場合(所謂潜伏中)には、当該表示器を非表示にすることができる。このとき、実際の遊技状態に基づいて当該表示器の点灯有無を判定してしまうと、電断復帰時の遊技状態が高確率遊技状態であれば、当該表示器を点灯させてしまう。そこで、電断復帰時から初めて大役遊技が開始されるまでの間、潜伏中であることを示すフラグを用意し、そのフラグに基づいて当該表示器の点灯有無を判定するようになされている。 FIG. 175 is an explanatory diagram for explaining an example of commands for implementing the CPUINIT module. Here, the special game progresses in one of the low-probability game state and the high-probability game state. The gaming machine 100 is provided with a display indicating that the game state is the high-probability game state, and when the game state is the high-probability game state, the display lights up. When the high-probability gaming state is not notified to the player when power is restored (so-called hiding), the display can be hidden. At this time, if the presence or absence of lighting of the display is determined based on the actual game state, the display will be turned on if the game state at the time of power failure recovery is a high probability game state. Therefore, a flag indicating that the player is in hiding is prepared from the time of restoration of power supply until the first big win game is started, and whether or not the indicator is lit is determined based on the flag.

図175(a)の1行目の指標「CPUINIT:」は、当該CPUINITモジュールの先頭アドレスを示す。そして、図175(a)の2行目のコマンド「LDQ A,(LOW R_KAK_FLG)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_KAK_FLG」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレス(高確率遊技状態であるか否かを示すフラグのアドレス)に格納された値(高確率遊技状態であれば1、高確率遊技状態でなければ0)をAレジスタに読み出す。 The index "CPUINIT:" on the first line in FIG. 175(a) indicates the start address of the CPUINIT module. Then, the command "LDQ A, (LOW R_KAK_FLG)" on the second line in FIG. 1 byte, and the value (1 if high probability gaming state, 0 if not high probability gaming state) stored at that address (address of flag indicating whether or not high probability gaming state) to A register read out.

そして、図175(a)の3行目のコマンド「LDQ (LOW R_KAK_HOT),A」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_KAK_HOT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレス(潜伏中であることを示すフラグのアドレス)にAレジスタの値を格納する。 Then, according to the command "LDQ (LOW R_KAK_HOT), A" on the third line in FIG. 1 byte, and the value of the A register is stored at that address (the address of the flag indicating that it is latent).

ここで、図175(a)のコマンド群を図175(b)のように変更することができる。ここでは、図175(a)と実質的に等しい処理についてはその説明を省略し、図175(b)の異なる処理のみを説明する。 Here, the command group of FIG. 175(a) can be changed as shown in FIG. 175(b). 175(a) will be omitted here, and only the different processing in FIG. 175(b) will be described.

図175(b)の2行目のコマンド「LDQ (LOW R_KAK_HOT),(LOW R_KAK_FLG)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_KAK_FLG」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値を、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_KAK_HOT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納する。 The command "LDQ (LOW R_KAK_HOT), (LOW R_KAK_FLG)" on the second line in FIG. The value stored at the address is set to the lower 1 byte, the value of the Q register is set to the upper 1 byte of the address, and the value of the lower 1 byte of the address "R_KAK_HOT" is set to the lower 1 byte of the address and stored at that address.

ここで、図175(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_KAK_FLG)」2バイト+3行目コマンド「LDQ (LOW R_KAK_HOT),A」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目3サイクル=6サイクルとなる。 Here, the total command size of the command group shown in FIG. 175(a) is the second line command "LDQ A, (LOW R_KAK_FLG)" 2 bytes + the third line command "LDQ (LOW R_KAK_HOT), A" 2 bytes. = 4 bytes, and the total execution cycle is 2nd row 3 cycles + 3rd row 3 cycles = 6 cycles.

一方、図175(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ (LOW R_KAK_HOT),(LOW R_KAK_FLG)」4バイト=4バイトとなり、総実行サイクルは、2行目6サイクル=6サイクルとなる。 On the other hand, the total command size of the command group shown in FIG. 6 cycles=6 cycles.

したがって、図175(a)と図175(b)とを比較して理解できるように、図175(a)において2行(2行目~3行目)を占有していたコマンド群を、図175(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Therefore, as can be understood by comparing FIG. 175(a) and FIG. 175(b), the command group occupying two lines (second to third lines) in FIG. 175(b) can be expressed in one line (second line), which makes it possible to reduce the number of commands themselves and the design load.

また、図175(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図175(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 175(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 175(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

図176は、EXE_SETモジュールを実現するためのコマンドの一例を説明するための説明図である。図176に示したEXE_SETモジュールは、図91におけるステップS2400-11に示した実行フラグ設定処理を実行する。 FIG. 176 is an explanatory diagram for explaining an example of commands for realizing the EXE_SET module. The EXE_SET module shown in FIG. 176 executes the execution flag setting process shown in step S2400-11 in FIG.

図176(a)の1行目の指標「EXE_SET:」は、当該EXE_SETモジュールの先頭アドレスを示す。そして、図176(a)の2行目のコマンド「LDQ A,(LOW AT_NXT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「AT_NXT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレス(次遊技の演出状態を示す値のアドレス)に格納された値(次遊技の演出状態を示す値)をAレジスタに読み出す。 The index "EXE_SET:" on the first line in FIG. 176(a) indicates the head address of the EXE_SET module. Then, the command "LDQ A, (LOW AT_NXT)" on the second line in FIG. The value (value indicating the effect state of the next game) stored in the address (the address of the value indicating the effect state of the next game) is read to the A register.

そして、図176(a)の3行目のコマンド「LDQ (LOW AT_MOD),A」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「AT_MOD」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレス(当該遊技の演出状態を示す値のアドレス)にAレジスタの値を格納する。 Then, according to the command "LDQ (LOW AT_MOD), A" on the third line in FIG. 1 byte, and the value of the A register is stored at that address (the address of the value indicating the effect state of the game).

ここで、図176(a)のコマンド群を図176(b)のように変更することができる。ここでは、図176(a)と実質的に等しい処理についてはその説明を省略し、図176(b)の異なる処理のみを説明する。 Here, the command group of FIG. 176(a) can be changed as shown in FIG. 176(b). 176(a) will be omitted here, and only the different processing in FIG. 176(b) will be described.

図176(b)の2行目のコマンド「LDQ (LOW AT_MOD),(LOW AT_NXT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「AT_NXT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値を、Qレジスタの値をアドレスの上位1バイトとし、アドレス「AT_MOD」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納する。 The command "LDQ (LOW AT_MOD), (LOW AT_NXT)" on the second line in FIG. The value stored at that address is stored at that address with the value of the Q register as the upper 1 byte of the address and the value of the lower 1 byte of the address "AT_MOD" as the lower 1 byte of the address.

ここで、図176(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW AT_NXT)」2バイト+3行目コマンド「LDQ (LOW AT_MOD),A」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目3サイクル=6サイクルとなる。 Here, the total command size of the command group shown in FIG. 176(a) is the second line command "LDQ A, (LOW AT_NXT)" 2 bytes + the third line command "LDQ (LOW AT_MOD), A" 2 bytes. = 4 bytes, and the total execution cycle is 2nd row 3 cycles + 3rd row 3 cycles = 6 cycles.

一方、図176(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ (LOW AT_MOD),(LOW AT_NXT)」4バイト=4バイトとなり、総実行サイクルは、2行目6サイクル=6サイクルとなる。 On the other hand, the total command size of the command group shown in FIG. 6 cycles=6 cycles.

したがって、図176(a)と図176(b)とを比較して理解できるように、図176(a)において2行(2行目~3行目)を占有していたコマンド群を、図176(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Therefore, as can be understood by comparing FIG. 176(a) and FIG. 176(b), the command group that occupied two lines (second and third lines) in FIG. 176(b) can be expressed in one line (second line), which makes it possible to reduce the number of commands themselves and the design load.

また、図176(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図176(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 176(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 176(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

<LDIN>
図177は、HPT_GRPモジュールの具体的な処理を示したフローチャートである。HPT_GRPモジュールは、上記特別図柄変動番号決定処理(図39参照)におけるステップS612-7のリーチグループ決定処理を実行する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該HPT_GRPモジュールの説明中、第1レジスタはHLレジスタであり、他のレジスタはBCレジスタまたはAレジスタである。
<LDIN>
FIG. 177 is a flow chart showing specific processing of the HPT_GRP module. The HPT_GRP module executes the reach group determination process of step S612-7 in the special symbol variation number determination process (see FIG. 39). Numerical values of step S in this figure are used only in the explanation of this figure. Also, during the description of the HPT_GRP module, the first register is the HL register and the other registers are the BC or A registers.

リーチグループ決定処理では、保留種別、保留数、遊技状態等に応じて、予め決定されたリーチグループ決定乱数判定テーブルのアドレスが、HLレジスタに事前に格納されている。 In the reach group determination process, the address of the reach group determination random number determination table determined in advance according to the type of hold, the number of holds, the game state, etc. is stored in advance in the HL register.

メインCPU300aは、図177のように、HLレジスタに示されるアドレス(テーブルアドレス)に格納された比較値をBCレジスタにロードし、HLレジスタの値を2加算する(S1)。なお、詳しくは後述するように、リーチグループ決定乱数判定テーブルは、2バイト長の比較値と、1バイト長のグループ番号とが1セットとして、これら1セットが複数順に連続して格納されている。したがって、ここでは、比較値をロードした後にHLレジスタの値を2加算することで、HLレジスタは、ロードした比較値の次に格納されたグループ番号が格納されたアドレス値となる。 As shown in FIG. 177, the main CPU 300a loads the comparison value stored at the address (table address) shown in the HL register into the BC register and adds 2 to the value of the HL register (S1). As will be described later in detail, the reach group determination random number determination table stores a set of comparison values of 2-byte length and group numbers of 1-byte length, and these sets are continuously stored in multiple order. . Therefore, here, by adding 2 to the value of the HL register after loading the comparison value, the HL register becomes an address value in which the group number stored next to the loaded comparison value is stored.

その後、メインCPU300aは、BCレジスタにロードした比較値と、DEレジスタに事前にロードされたリーチグループ決定乱数(乱数値)とを比較し(S2)、HLレジスタに示されるアドレスに格納されたリーチグループ番号をロードする(S3)。 Thereafter, the main CPU 300a compares the comparison value loaded in the BC register with the reach group determination random number (random value) preloaded in the DE register (S2), and determines the reach stored in the address indicated in the HL register. Load the group number (S3).

その後、メインCPU300aは、HLレジスタの値(テーブルアドレス)を1加算する(S4)。ここでは、グループ番号をロードした後にHLレジスタの値を1加算することで、HLレジスタは、ロードしたグループ番号の次に格納された比較値が格納されたアドレス値となる。 After that, the main CPU 300a adds 1 to the value of the HL register (table address) (S4). Here, by adding 1 to the value of the HL register after loading the group number, the HL register becomes an address value in which the comparison value stored next to the loaded group number is stored.

そして、メインCPU300aは、上記ステップS2の比較結果として、比較値がリーチグループ決定乱数(乱数値)以下であれば(S5におけるYES)、上記ステップS1に処理を戻し、比較値がリーチグループ決定乱数以下でなければ(S5におけるNO)、当該HPT_GRPモジュールを終了する(S6)。 Then, if the comparison value in step S2 is equal to or less than the reach group determination random number (random value) (YES in S5), the main CPU 300a returns the process to step S1, and the comparison value is the reach group determination random number. If not below (NO in S5), the HPT_GRP module is terminated (S6).

図178(a)、(b)は、HPT_GRPモジュールを実現するためのコマンドの一例を説明するための説明図である。図178(c)は、リーチグループ決定乱数判定テーブルの一例を説明するための説明図である。図177で示したフローチャートは、例えば、図178(a)、(b)に示したプログラムによって実現される。まず、図178(c)のリーチグループ決定乱数判定テーブルを説明した後に、図178(a)、(b)に示すHPT_GRPモジュールを実現するためのコマンドを説明する。 FIGS. 178(a) and 178(b) are explanatory diagrams for explaining an example of commands for realizing the HPT_GRP module. FIG. 178(c) is an explanatory diagram for explaining an example of the reach group determination random number determination table. The flowchart shown in FIG. 177 is implemented by, for example, the programs shown in FIGS. 178(a) and 178(b). First, after explaining the reach group determination random number determination table in FIG. 178(c), commands for realizing the HPT_GRP module shown in FIGS. 178(a) and (b) will be explained.

図178(c)における指標「D_GRP_SEL_00:」を起点としたテーブルは、いずれかのリーチグループ決定乱数判定テーブルの先頭アドレスを示す。そして、2行目の固定値「8999」、4行目の固定値「9099」、6行目の固定値「9299」は、それぞれ2バイト長の比較値であり、3行目の固定値「@D_MOD_SEL_00」、5行目の固定値「@D_MOD_SEL_01」、7行目の固定値「@D_MOD_SEL_02」は、それぞれ1バイト長のグループ番号である。そして、リーチグループ決定乱数判定テーブルでは、2バイト長の比較値、当該比較値に対応する1バイト長のグループ番号が1セットとなって連続して順に格納されている。 A table starting from the index “D_GRP_SEL — 00:” in FIG. 178(c) indicates the head address of any reach group determination random number determination table. The fixed value "8999" on the second line, the fixed value "9099" on the fourth line, and the fixed value "9299" on the sixth line are comparison values of 2-byte length. @D_MOD_SEL_00", the fixed value "@D_MOD_SEL_01" on the fifth line, and the fixed value "@D_MOD_SEL_02" on the seventh line are group numbers each having a 1-byte length. In the reach group determination random number determination table, a set of a 2-byte comparison value and a 1-byte group number corresponding to the comparison value are sequentially stored in order.

図178(a)の1行目の指標「HPT_GRP:」は、当該HPT_GRPモジュールの先頭アドレスを示す。そして、図178(a)の2行目のコマンド「LDIN BC,(HL)」によって、HLレジスタで示されるアドレスに格納された2バイト長の値(比較値)をBCレジスタに読み出し(ロードし)、HLレジスタの値を2加算する。かかる2行目のコマンドが、図177のステップS1に対応する。なお、HLレジスタには、事前に、予め決定されたリーチグループ決定乱数判定テーブルのアドレスがロードされている。 The index "HPT_GRP:" on the first line in FIG. 178(a) indicates the head address of the HPT_GRP module. Then, the 2-byte length value (comparison value) stored at the address indicated by the HL register is read (loaded) into the BC register by the command "LDIN BC, (HL)" on the second line in FIG. 178(a). ), and 2 is added to the value of the HL register. The command on the second line corresponds to step S1 in FIG. The HL register is pre-loaded with the address of the reach group determination random number determination table determined in advance.

そして、図178(a)の3行目のコマンド「CP BC,DE」によって、BCレジスタに格納された値(比較値)と、DEレジスタに格納された値(リーチグループ決定乱数)とを比較する。ここで、BCレジスタに格納された値が、DEレジスタに格納された値以下であれば、ゼロフラグ(等しい場合)またはキャリーフラグ(未満の場合)に1が立つことになる。なお、DEレジスタには、事前に、リーチグループ決定乱数が格納されている。かかる3行目のコマンドが、図177のステップS2に対応する。 Then, the command "CP BC, DE" on the third line in FIG. 178(a) compares the value stored in the BC register (comparison value) with the value stored in the DE register (reach group determination random number). do. Here, if the value stored in the BC register is less than or equal to the value stored in the DE register, the zero flag (if equal) or the carry flag (if less than) is set to 1. A reach group determination random number is stored in advance in the DE register. Such a command on the third line corresponds to step S2 in FIG.

その後、図178(a)の4行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト長の値(グループ番号)をAレジスタに読み出す。かかる4行目のコマンドが、図177のステップS3に対応する。そして、図178(a)の5行目のコマンド「INC HL」によって、HLレジスタの値を1加算する。かかる5行目のコマンドが、図177のステップS4に対応する。 After that, the 1-byte length value (group number) stored at the address indicated by the HL register is read to the A register by the command "LD A, (HL)" on the fourth line in FIG. 178(a). Such a command on the fourth line corresponds to step S3 in FIG. Then, 1 is added to the value of the HL register by the command "INC HL" on the fifth line in FIG. 178(a). The command on the fifth line corresponds to step S4 in FIG.

続いて、図178(a)の6行目のコマンド「JLS HPT_GRP」によって、3行目のコマンド「CP BC,DE」によってゼロフラグまたはキャリーフラグに1が立っていた場合、「HPT_GRP」が示すアドレスに移動し、ゼロフラグおよびキャリーフラグに1が立っていなかった場合、図178(a)の7行目のコマンド「RET」によって、当該HPT_GRPモジュールが終了する。かかる6行目、7行目のコマンドが、図177のステップS5、S6に対応する。そして、HPT_GRPモジュールが終了した際には、図9に示す範囲に応じたグループ番号がAレジスタに格納されることになる。 Subsequently, when the command "JLS HPT_GRP" on the 6th line in FIG. , and if the zero flag and the carry flag are not set to 1, the command "RET" on the 7th line in FIG. 178(a) terminates the HPT_GRP module. The commands on the 6th and 7th lines correspond to steps S5 and S6 in FIG. Then, when the HPT_GRP module ends, the group number corresponding to the range shown in FIG. 9 is stored in the A register.

ここで、図178(a)のコマンド群を図178(b)のように変更することができる。ここでは、図178(a)と実質的に等しい処理についてはその説明を省略し、図178(b)の異なる処理のみを説明する。 Here, the command group of FIG. 178(a) can be changed as shown in FIG. 178(b). 178(a) will be omitted, and only the different processing in FIG. 178(b) will be described.

図178(b)の4行目のコマンド「LDIN A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト長の値(グループ番号)をAレジスタに読み出し、HLレジスタの値を1加算する。かかる4行目のコマンドが、図177のステップS3、S4に対応する。かかるコマンドのコマンドサイズは「1」であり、実行サイクルは「2」である。 The 1-byte length value (group number) stored at the address indicated by the HL register is read to the A register by the command "LDIN A, (HL)" on the fourth line in FIG. 178(b), and the value of the HL register is incremented by 1. The commands on the fourth line correspond to steps S3 and S4 in FIG. Such a command has a command size of "1" and an execution cycle of "2".

ここで、図178(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDIN BC,(HL)」2バイト+3行目コマンド「CP BC,DE」2バイト+4行目のコマンド「LD A,(HL)」1バイト+5行目のコマンド「INC HL」1バイト+6行目のコマンド「JLS HPT_GRP」3バイト+7行目のコマンド「RET」1バイト=10バイトとなり、総実行サイクルは、2行目4サイクル+3行目2サイクル+4行目2サイクル+5行目1サイクル+6行目4(3)サイクル+7行目3サイクル=16(15)サイクルとなる。なお、括弧内のサイクル数は、コマンド「JLS HPT_GRP」によって移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. Command "LD A, (HL)" 1 byte + Command "INC HL" 1 byte on 5th line + Command "JLS HPT_GRP" 3 bytes on 6th line + Command 'RET' 1 byte on 7th line = 10 bytes, total execution The cycle is 2nd row 4 cycles+3rd row 2 cycles+4th row 2 cycles+5th row 1 cycle+6th row 4(3) cycles+7th row 3 cycles=16(15) cycles. Note that the number of cycles in parentheses indicates the execution cycle when not moved by the command "JLS HPT_GRP".

一方、図178(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDIN BC,(HL)」2バイト+3行目コマンド「CP BC,DE」2バイト+4行目のコマンド「LDIN A,(HL)」1バイト+5行目のコマンド「JLS HPT_GRP」3バイト+6行目のコマンド「RET」1バイト=9バイトとなり、総実行サイクルは、2行目4サイクル+3行目2サイクル+4行目2サイクル+5行目4(3)サイクル+6行目3サイクル=15(14)サイクルとなる。なお、括弧内のサイクル数は、コマンド「JLS HPT_GRP」によって移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. "LDIN A, (HL)" 1 byte + 5th line command "JLS HPT_GRP" 3 bytes + 6th line command "RET" 1 byte = 9 bytes, total execution cycle is 2nd line 4 cycles + 3rd line 2 Cycle + 4th row 2 cycles + 5th row 4 (3) cycles + 6th row 3 cycles = 15 (14) cycles. Note that the number of cycles in parentheses indicates the execution cycle when not moved by the command "JLS HPT_GRP".

したがって、図178(a)のコマンド群を図178(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減され、総実行サイクルも少なくとも1サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 178(a) with the command group of FIG. 178(b), the total command size is reduced by 1 byte, and the total execution cycle is also reduced by at least 1 cycle. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図178(a)と図178(b)とを比較して理解できるように、図178(a)において2行(4行目~5行目)を占有していたコマンド群を、図178(b)においては1行(4行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 178(a) and 178(b), the command group occupying two lines (4th and 5th lines) in FIG. 178(a) is 178(b) can be expressed in one line (fourth line), which makes it possible to reduce the number of commands themselves and the design load.

また、図178(b)の例では、バイト長が異なる複数の値が交互に並置したテーブル中の所望する2バイト長の値または1バイト長の値を取得する際に、HLレジスタの値に2加算および1加算を同一のコマンド「LDIN」で実行することができ、設計負荷の軽減を図ることが可能となる。 In the example of FIG. 178(b), when obtaining a desired 2-byte length value or 1-byte length value in a table in which a plurality of values with different byte lengths are alternately arranged, the value of the HL register is 2-addition and 1-addition can be executed with the same command "LDIN", and the design load can be reduced.

図179は、E_ILGERモジュールを説明するための説明図である。図179に示したE_ILGERモジュールは、図98におけるステップS3100-19に示した不正監視処理を実行する。 FIG. 179 is an explanatory diagram for explaining the E_ILGER module. The E_ILGER module shown in FIG. 179 executes the fraud monitoring process shown in step S3100-19 in FIG.

図179(a)の1行目の指標「E_ILGER:」は、当該E_ILGERモジュールの先頭アドレスを示す。2行目のコマンド「LD HL,_EX_ILTM」によって、不正投入監視タイマを格納するアドレス「EX_ILTM」をHLレジスタに読み出す。 The index "E_ILGER:" on the first line in FIG. 179(a) indicates the start address of the E_ILGER module. The command "LD HL, _EX_ILTM" on the second line reads the address "EX_ILTM" for storing the illegal insertion monitoring timer to the HL register.

その後、図179(a)の3行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト長の値(不正投入監視タイマ)をAレジスタに読み出す。そして、図179(a)の4行目のコマンド「INC HL」によって、HLレジスタの値を1加算する。続いて、図179(a)の5行目のコマンド「JT Z,A,E_ILGER01」によって、Aレジスタの値が0である場合(不正投入監視タイマが0である場合)、以降の処理を省略して6行目の指標「E_ILGER01:」に移動し、Aレジスタの値が0でない場合、当該コマンドの次のコマンドに処理を移す。 After that, the command "LD A, (HL)" on the third line in FIG. 179(a) reads the 1-byte length value (unauthorized insertion monitoring timer) stored at the address indicated by the HL register to the A register. Then, 1 is added to the value of the HL register by the command "INC HL" on the fourth line in FIG. 179(a). Subsequently, if the value of the A register is 0 (if the unauthorized input monitoring timer is 0) by the command "JT Z, A, E_ILGER01" on the fifth line of FIG. and move to the index "E_ILGER01:" on the 6th line, and if the value of the A register is not 0, the process moves to the next command after the current command.

ここで、図179(a)のコマンド群を図179(b)のように変更することができる。ここでは、図179(a)と実質的に等しい処理についてはその説明を省略し、図179(b)の異なる処理のみを説明する。 Here, the command group of FIG. 179(a) can be changed as shown in FIG. 179(b). 179(a) will be omitted here, and only the different processing in FIG. 179(b) will be described.

図179(b)の3行目のコマンド「LDIN A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト長の値(不正投入監視タイマ)をAレジスタに読み出し、HLレジスタの値を1加算する。かかるコマンドのコマンドサイズは「1」であり、実行サイクルは「2」である。 By command "LDIN A, (HL)" on the 3rd line in FIG. Add 1 to the value of Such a command has a command size of "1" and an execution cycle of "2".

ここで、図179(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD HL,_EX_ILTM」3バイト+3行目のコマンド「LD A,(HL)」1バイト+4行目のコマンド「INC HL」1バイト+5行目のコマンド「JT Z,A,E_ILGER01」2バイト=7バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目1サイクル+5行目3(2)サイクル=9(8)サイクルとなる。なお、括弧内のサイクル数は、コマンド「JT Z,A,E_ILGER01」によって移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. 179(a) is the command "LD HL, _EX_ILTM" 3 bytes on the 2nd line + the command "LD A, (HL)" 1 byte on the 3rd line + 4th line command "INC HL" 1 byte + 5th line command "JT Z, A, E_ILGER01" 2 bytes = 7 bytes. 3 (2) cycles = 9 (8) cycles. Note that the number of cycles in parentheses indicates the execution cycle when the command "JT Z, A, E_ILGER01" does not move.

一方、図179(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD HL,_EX_ILTM」3バイト+3行目のコマンド「LDIN A,(HL)」1バイト+4行目のコマンド「JT Z,A,E_ILGER01」2バイト=6バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+4行目3(2)サイクル=8(7)サイクルとなる。なお、括弧内のサイクル数は、コマンド「JT Z,A,E_ILGER01」によって移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. The command "JT Z, A, E_ILGER01" 2 bytes=6 bytes, and the total execution cycle is 2nd line 3 cycles+3rd line 2 cycles+4th line 3(2) cycles=8(7) cycles. Note that the number of cycles in parentheses indicates the execution cycle when the command "JT Z, A, E_ILGER01" does not move.

したがって、図179(a)のコマンド群を図179(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減され、総実行サイクルも少なくとも1サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 179(a) with the command group of FIG. 179(b), the total command size is reduced by 1 byte, and the total execution cycle is also reduced by at least 1 cycle. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図179(a)と図179(b)とを比較して理解できるように、図179(a)において2行(3行目~4行目)を占有していたコマンド群を、図179(b)においては1行(3行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 179(a) and 179(b), the command group occupying two lines (3rd to 4th lines) in FIG. 179(a) is 179(b) can be expressed in one line (the third line), which makes it possible to reduce the number of commands themselves and the design load.

図180は、E_LEVOTモジュールを説明するための説明図である。図180に示したE_LEVOTモジュールは、図91におけるステップS2400-11に示した実行フラグ設定処理において呼び出されるサブルーチンであり、レバー押下時試験信号送信処理を実行する。 FIG. 180 is an explanatory diagram for explaining the E_LEVOT module. The E_LEVOT module shown in FIG. 180 is a subroutine called in the execution flag setting process shown in step S2400-11 in FIG. 91, and executes the test signal transmission process when the lever is depressed.

図180(a)の1行目の指標「E_LEVOT:」は、当該E_LEVOTモジュールの先頭アドレスを示す。2行目のコマンド「LD HL,T_EXM_STP」によって、試験用停止情報送信テーブルを格納するアドレス「T_EXM_STP」をHLレジスタに読み出す。この試験用停止情報送信テーブルには、1バイト長の6つの試験信号の値が1セットとして連続して格納されているとともに、複数セットが連続して格納されている。 The index "E_LEVOT:" on the first line in FIG. 180(a) indicates the start address of the E_LEVOT module. The command "LD HL, T_EXM_STP" on the second line reads the address "T_EXM_STP" for storing the test stop information transmission table to the HL register. In this test stop information transmission table, values of six 1-byte test signals are continuously stored as one set, and a plurality of sets are continuously stored.

その後、図180(a)の3行目のコマンド「ADDWB HL,A」によって、HLレジスタの値にAレジスタの値が加算され、HLレジスタの値が更新される。なお、Aレジスタには、指示情報種別に6を乗算した値が格納されている。したがって、ここでは、HLレジスタの値が、試験用停止情報送信テーブルにおいて、指示情報種別に対応する1セットの先頭アドレスを示すこととなる。 After that, the value of the A register is added to the value of the HL register by the command "ADDWB HL, A" on the third line in FIG. 180(a), and the value of the HL register is updated. A value obtained by multiplying the instruction information type by 6 is stored in the A register. Therefore, here, the value of the HL register indicates one set of head addresses corresponding to the instruction information type in the test stop information transmission table.

そして、4行目のコマンド「LD B,6」によって、固定値「6」がBレジスタに読み出される。図180(a)の5行目の指標「E_LEVOT01:」は、指標「E_LEVOT01」のアドレスを示す。 Then, the fixed value "6" is read to the B register by the command "LD B, 6" on the fourth line. The index "E_LEVOT01:" on the fifth line in FIG. 180(a) indicates the address of the index "E_LEVOT01".

図180(a)の6行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト長の値(試験信号の値)をAレジスタに読み出す。そして、図180(a)の7行目のコマンドコマンド「OUT (@S2DT__),A」によって、Uレジスタの値をアドレスの上位1バイトとし、RAMアクセスプロテクトレジスタポート(内部レジスタI/Oポート)のアドレスの下位1バイトを示す固定値「@S2DT__」を下位1バイトとし、そのアドレスに、Aレジスタの値を出力する。 The 1-byte length value (test signal value) stored at the address indicated by the HL register is read to the A register by the command "LD A, (HL)" on the sixth line in FIG. 180(a). 180(a), the command "OUT (@S2DT__), A" on the 7th line sets the value of the U register to the upper 1 byte of the address, and the RAM access protect register port (internal register I/O port). A fixed value "@S2DT__" indicating the lower 1 byte of the address is set as the lower 1 byte, and the value of the A register is output to that address.

図180(a)の8行目のコマンド「INC HL」によって、HLレジスタの値を1加算する。続いて、図180(a)の9行目のコマンド「DJNZ E_LEVOT01」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、アドレス「E_LEVOT01」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。 The value of the HL register is incremented by 1 by the command "INC HL" on the eighth line in FIG. 180(a). Subsequently, the value of the B register is decremented (subtracted by "1") by the command "DJNZ E_LEVOT01" on the ninth line of FIG. , if the decremented result is 0, the process is shifted to the command following the command.

ここで、図180(a)のコマンド群を図180(b)のように変更することができる。ここでは、図180(a)と実質的に等しい処理についてはその説明を省略し、図180(b)の異なる処理のみを説明する。 Here, the command group of FIG. 180(a) can be changed as shown in FIG. 180(b). 180(a) will be omitted here, and only the different processing in FIG. 180(b) will be described.

図180(b)の6行目のコマンド「LDIN A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト長の値(試験信号の値)をAレジスタに読み出し、HLレジスタの値を1加算する。かかるコマンドのコマンドサイズは「1」であり、実行サイクルは「2」である。 By the command "LDIN A, (HL)" on the 6th line in FIG. Add 1 to the value of Such a command has a command size of "1" and an execution cycle of "2".

ここで、図180(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD HL,T_EXM_STP」3バイト+3行目のコマンド「ADDWB HL,A」1バイト+4行目のコマンド「LD B,6」2バイト+6行目のコマンド「LD A,(HL)」1バイト+7行目のコマンド「OUT (@S2DT__),A」2バイト+8行目のコマンド「INC HL」1バイト+9行目のコマンド「DJNZ E_LEVOT01」2バイト=12バイトとなり、総実行サイクルは、2行目3サイクル+3行目1サイクル+4行目2サイクル+6行目2サイクル+7行目3サイクル+8行目1サイクル+9行目3(2)サイクル=15(14)サイクルとなる。なお、括弧内のサイクル数は、コマンド「DJNZ E_LEVOT01」によって移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. "LD B, 6" 2 bytes + 6th line command "LD A, (HL)" 1 byte + 7th line command "OUT (@S2DT__), A" 2 bytes + 8th line command "INC HL" 1 byte + 2 bytes of the command "DJNZ E_LEVOT01" on the 9th line = 12 bytes. Cycles+3 (2) cycles in the ninth row=15 (14) cycles. Note that the number of cycles in parentheses indicates the execution cycle when the command "DJNZ E_LEVOT01" does not move.

一方、図180(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD HL,T_EXM_STP」3バイト+3行目のコマンド「ADDWB HL,A」1バイト+4行目のコマンド「LD B,6」2バイト+6行目のコマンド「LDIN A,(HL)」1バイト+7行目のコマンド「OUT (@S2DT__),A」2バイト+5行目のコマンド「DJNZ E_LEVOT01」2バイト=11バイトとなり、総実行サイクルは、2行目3サイクル+3行目1サイクル+4行目2サイクル+6行目2サイクル+7行目3サイクル+9行目3(2)サイクル=14(13)サイクルとなる。なお、括弧内のサイクル数は、コマンド「DJNZ E_LEVOT01」によって移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. LD B, 6" 2 bytes + 6th line command 'LDIN A, (HL)' 1 byte + 7th line command 'OUT (@S2DT__), A' 2 bytes + 5th line command 'DJNZ E_LEVOT01' 2 bytes = 11 bytes, and the total execution cycle is: 2nd line 3 cycles + 3rd line 1 cycle + 4th line 2 cycles + 6th line 2 cycles + 7th line 3 cycles + 9th line 3 (2) cycles = 14 (13) cycles . Note that the number of cycles in parentheses indicates the execution cycle when the command "DJNZ E_LEVOT01" does not move.

したがって、図180(a)のコマンド群を図180(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減され、総実行サイクルも少なくとも1サイクル削減される。特に、図180(a)の例では、コマンド「DJNZ E_LEVOT01」におけるBレジスタの値が2以上であれば、その値に1サイクルを乗じた分だけ総実行サイクルの差分が増えるので、図180(b)の総実行サイクルの削減量も多くなる。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 180(a) with the command group of FIG. 180(b), the total command size is reduced by 1 byte, and the total execution cycle is also reduced by at least 1 cycle. In particular, in the example of FIG. 180(a), if the value of the B register in the command "DJNZ E_LEVOT01" is 2 or more, the difference in total execution cycles increases by the amount of the value multiplied by one cycle. The amount of reduction in the total execution cycle of b) is also large. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図180(a)と図180(b)とを比較して理解できるように、図180(a)において2行(6行目、8行目)を占有していたコマンド群を、図180(b)においては1行(6行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIGS. 180(a) and 180(b), the command group occupying two lines (6th and 8th lines) in FIG. In 180(b), it can be expressed in one line (sixth line), and it is possible to reduce the number of commands themselves and the design load.

<LDQP>
図181は、SBC_OUTモジュールの具体的な処理を示したフローチャートである。SBC_OUTモジュールは、上記ステップS100-65のサブコマンド送信処理(図23参照)を実行する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<LDQP>
FIG. 181 is a flow chart showing specific processing of the SBC_OUT module. The SBC_OUT module executes the subcommand transmission process (see FIG. 23) of step S100-65. Numerical values of step S in this figure are used only in the explanation of this figure.

ここで、サブコマンドは、割込み処理における複数の処理において送信バッファにセットされ、サブコマンド送信処理で送信される。ここで、送信バッファは、例えば96バイトのリングバッファであり、複数の処理においてサブコマンドが順にセットされ、サブコマンド送信処理において、先にセットされたサブコマンドから順に副制御基板330に送信されるFIFOである。 Here, the subcommand is set in the transmission buffer in a plurality of processes in interrupt processing, and is transmitted in subcommand transmission processing. Here, the transmission buffer is, for example, a 96-byte ring buffer, subcommands are set in order in a plurality of processes, and in the subcommand transmission process, the subcommands that are set first are sequentially transmitted to the sub control board 330. FIFO.

メインCPU300aは、図181のように、サブコマンドライトポインタの値をAレジスタに読み出し(S1)、サブコマンドライトポインタの値と、サブコマンドリードポインタの値とを比較する(S2)。ここで、サブコマンドライトポインタの値と、サブコマンドリードポインタの値とが同じ場合、すなわち、未送信のサブコマンドがない場合にはゼロフラグに1が立ち、異なる場合、すなわち、未送信のサブコマンドがある場合にはゼロフラグに1が立たない。 As shown in FIG. 181, the main CPU 300a reads the value of the subcommand write pointer into the A register (S1), and compares the value of the subcommand write pointer and the value of the subcommand read pointer (S2). Here, if the value of the subcommand write pointer and the value of the subcommand read pointer are the same, that is, if there is no unsent subcommand, the zero flag is set to 1; , the zero flag is not set to 1.

メインCPU300aは、ゼロフラグが1であれば(S3におけるYES)、当該SBC_OUTモジュールを終了し、ゼロフラグが1でなければ(S3におけるNO)、サブコマンドポインタ上限値、および、サブコマンドリードポインタのアドレスの下位バイトをDEレジスタにそれぞれ読み出し(S4)、汎用モジュールであるカウントアップ処理によって、サブコマンドリードポインタの値を、サブコマンドポインタ上限値未満なら1加算し、サブコマンドポインタ上限値以上ならゼロクリアする(S5)。 If the zero flag is 1 (YES in S3), the main CPU 300a terminates the SBC_OUT module. Each lower byte is read out to the DE register (S4), and the value of the subcommand read pointer is incremented by 1 if it is less than the subcommand pointer upper limit value and cleared to zero if it is equal to or greater than the subcommand pointer upper limit value by count-up processing, which is a general-purpose module ( S5).

その後、メインCPU300aは、サブコマンドバッファ(送信バッファ)のアドレスをHLレジスタに読み出し(S6)、上記のワードデータ選択処理を実行した後(S7)、サブコマンドを送信するためのSCU1データレジスタに先行コマンドを出力し(S8)、後続コマンドをAレジスタに読み出し(S9)、SCU1データレジスタに後続コマンドを出力し(S10)、当該SBC_OUTモジュールを終了する(S11)。 After that, the main CPU 300a reads the address of the subcommand buffer (transmission buffer) to the HL register (S6), executes the word data selection process (S7), and then reads the SCU1 data register for transmitting the subcommand. The command is output (S8), the subsequent command is read to the A register (S9), the subsequent command is output to the SCU1 data register (S10), and the SBC_OUT module is terminated (S11).

図182は、SBC_OUTモジュールを実現するためのコマンドの一例を説明するための説明図である。 FIG. 182 is an explanatory diagram for explaining an example of commands for realizing the SBC_OUT module.

図182(a)の1行目の指標「SBC_OUT:」は、当該SBC_OUTモジュールの先頭アドレスを示す。そして、図182(a)の2行目のコマンド「LDQ A,(LOW R_SBC_WPT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_SBC_WPT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(サブコマンドライトポインタの値)をAレジスタに読み出す。かかる2行目のコマンドが、図181のステップS1に対応する。 The index "SBC_OUT:" on the first line in FIG. 182(a) indicates the top address of the SBC_OUT module. Then, according to the command "LDQ A, (LOW R_SBC_WPT)" on the second line in FIG. 1 byte, and the value stored at that address (the value of the subcommand write pointer) is read to the A register. The command on the second line corresponds to step S1 in FIG.

図182(a)の3行目のコマンド「CPQ A,(LOW R_SBC_RPT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_SBC_RPT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(サブコマンドリードポインタの値)と、Aレジスタの値(サブコマンドライトポインタの値)とを比較する。ここで、同アドレスに格納された値と、Aレジスタの値とが一致していれば、ゼロフラグに1が立つ。かかる3行目のコマンドが、図181のステップS2に対応する。 The command "CPQ A, (LOW R_SBC_RPT)" on the third line of FIG. , and the value stored at that address (the value of the subcommand read pointer) is compared with the value of the A register (the value of the subcommand write pointer). Here, if the value stored at the same address matches the value of the A register, 1 is set in the zero flag. Such a command on the third line corresponds to step S2 in FIG.

図182(a)の4行目のコマンド「RET Z」によって、ゼロフラグに1が立っていれば、当該SBC_OUTモジュールを終了する。かかる4行目のコマンドが、図181のステップS3に対応する。 If the zero flag is set to 1 by the command "RET Z" on the fourth line in FIG. 182(a), the SBC_OUT module is terminated. Such a command on the fourth line corresponds to step S3 in FIG.

図182(a)の5行目のコマンド「LD DE,@LMT_CMD_BFP*256+LOW R_SBC_RPT」によって、サブコマンドポインタ上限値を示す固定値「@LMT_CMD_BFP」がDレジスタに読み出され、サブコマンドリードポインタのアドレスの下位バイトを示す「R_SBC_RPT」がEレジスタに読み出される。かかる5行目のコマンドが、図181のステップS4に対応する。 By the command "LD DE,@LMT_CMD_BFP*256+LOW R_SBC_RPT" on the fifth line in FIG. "R_SBC_RPT", which indicates the lower byte of , is read into the E register. This fifth line command corresponds to step S4 in FIG.

図182(a)の6行目のコマンド「RST COUNTUP」によって、汎用モジュールであるCOUNTUPモジュールが読み出されて実行される。これにより、サブコマンドリードポインタの値は、サブコマンドポインタ上限値未満なら1加算され、サブコマンドポインタ上限値以上ならゼロクリアされる。かかる6行目のコマンドが、図181のステップS5に対応する。 The COUNTUP module, which is a general-purpose module, is read and executed by the command "RST COUNTUP" on the sixth line in FIG. 182(a). As a result, the value of the subcommand read pointer is incremented by 1 if it is less than the subcommand pointer upper limit value, and is cleared to zero if it is equal to or greater than the subcommand pointer upper limit value. The sixth line command corresponds to step S5 in FIG.

図182(a)の7行目のコマンド「LD HL,R_SBC_SBF」によって、サブコマンドバッファ(送信バッファ)のアドレスを示す「R_SBC_SBF」がHLレジスタに読み出される。かかる7行目のコマンドが、図181のステップS6に対応する。ここで、「R_SBC_SBF」は、2バイト長のデータである。サブコマンドバッファのアドレスの上位1バイトが「F0H」であれば、コマンド「LDQ」によって読み出すことが可能であるが、サブコマンドバッファの上位1バイトが「F1H」になっていることもあるため、ここでは、コマンド「LDQ」を使用せずに2バイト長のデータを読み出している。 By the command "LD HL, R_SBC_SBF" on the 7th line in FIG. 182(a), "R_SBC_SBF" indicating the address of the subcommand buffer (transmission buffer) is read to the HL register. The command on the 7th line corresponds to step S6 in FIG. Here, "R_SBC_SBF" is 2-byte length data. If the upper 1 byte of the address of the subcommand buffer is "F0H", it can be read by the command "LDQ". Here, 2-byte length data is read without using the command "LDQ".

図182(a)の8行目のコマンド「RST WORDSEL」によって、汎用モジュールであるWORDSELモジュールが読み出され、HLレジスタにAレジスタの値を2回加算し、HLレジスタに示されるアドレスのうち、下位バイトの値(Lレジスタの値、すなわち、先行コマンド)がAレジスタに読み出される。かかる8行目のコマンドが、図181のステップS7に対応する。 The WORDSEL module, which is a general-purpose module, is read by the command "RST WORDSEL" on the eighth line in FIG. The value of the lower byte (the value of the L register, ie the previous command) is read into the A register. The eighth line command corresponds to step S7 in FIG.

図182(a)の9行目のコマンド「OUT (@S1DT__),A」によって、Aレジスタの値(先行コマンド)が、固定値「@S1DT__」で示されるアドレスに出力される。かかる9行目のコマンドが、図181のステップS8に対応する。 The command "OUT (@S1DT__), A" on the 9th line in FIG. 182(a) outputs the value of the A register (preceding command) to the address indicated by the fixed value "@S1DT__". The command on the ninth line corresponds to step S8 in FIG.

図182(a)の10行目のコマンド「LD A,H」によって、Hレジスタの値(後続コマンド)がAレジスタに読み出される。かかる10行目のコマンドが、図181のS9に対応する。 The value of the H register (subsequent command) is read to the A register by the command "LD A,H" on the 10th line of FIG. 182(a). Such a command on the tenth line corresponds to S9 in FIG.

図182(a)の11行目のコマンド「OUT (@S1DT__),A」によって、Aレジスタの値(後続コマンド)が、固定値「@S1DT__」で示されるアドレスに出力され、当該SBC_OUTモジュールが終了する。かかる11行目のコマンドが、図181のステップS10に対応し、12行目のコマンドが、図181のステップS11に対応する。 The command "OUT (@S1DT__), A" on the 11th line in FIG. finish. The command on the 11th line corresponds to step S10 in FIG. 181, and the command on the 12th line corresponds to step S11 in FIG.

ここで、図182(a)のコマンド群を図182(b)のように変更することができる。ここでは、サブコマンドバッファ(送信バッファ)の上位1バイトが「F1H」である場合について説明し、図182(a)と実質的に等しい処理についてはその説明を省略し、図182(b)の異なる処理のみを説明する。 Here, the command group of FIG. 182(a) can be changed as shown in FIG. 182(b). Here, the case where the upper 1 byte of the sub-command buffer (transmission buffer) is "F1H" will be explained, and the explanation of the processing that is substantially the same as in FIG. Only the processing that is different will be described.

図182(b)の7行目のコマンド「LDQP HL,LOW R_SBC_SBF」によって、Qレジスタの値に1加算された値(すなわち、「F1H」)が上位に、「R_SBC_SBF」が下位となる値(サブコマンドバッファのアドレス)がHLレジスタに読み出される。かかる7行目のコマンドが、図181のステップS6に対応する。かかるコマンドのコマンドサイズは「3」であり、実行サイクルは「7(5)」である。 According to the command "LDQP HL, LOW R_SBC_SBF" on the 7th line in FIG. subcommand buffer address) is read into the HL register. The command on the 7th line corresponds to step S6 in FIG. Such a command has a command size of "3" and an execution cycle of "7 (5)".

ここで、図182(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_SBC_WPT)」2バイト+3行目コマンド「CPQ A,(LOW R_SBC_RPT)」3バイト+4行目のコマンド「RET Z」1バイト+5行目のコマンド「LD DE,@LMT_CMD_BFP*256+LOW R_SBC_RPT」2バイト+6行目のコマンド「RST COUNTUP」1バイト+7行目のコマンド「LD HL,R_SBC_SBF」3バイト+8行目のコマンド「RST WORDSEL」1バイト+9行目のコマンド「OUT (@S1DT__),A」2バイト+10行目のコマンド「LD A,H」1バイト+11行目のコマンド「OUT (@S1DT__),A」2バイト+12行目のコマンド「RET」1バイト=19バイトとなり、総実行サイクルは、2行目2サイクル+3行目4サイクル+4行目3(1)サイクル+5行目2サイクル+6行目4サイクル+7行目3サイクル+8行目4サイクル+9行目3サイクル+10行目1サイクル+11行目3サイクル+12行目3サイクル=32(30)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RET Z」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. 182(a) is the second line command "LDQ A, (LOW R_SBC_WPT)" 2 bytes + the third line command "CPQ A, (LOW R_SBC_RPT)" 3 bytes. + 4th line command "RET Z" 1 byte + 5th line command "LD DE, @LMT_CMD_BFP*256+LOW R_SBC_RPT" 2 bytes + 6th line command "RST COUNTUP" 1 byte + 7th line command "LD HL, R_SBC_SBF" 3 bytes + 8th line command "RST WORDSEL" 1 byte + 9th line command "OUT (@S1DT__), A" 2 bytes + 10th line command "LD A,H" 1 byte + 11th line command "OUT ( @S1DT__), A" 2 bytes + command "RET" 1 byte on 12th line = 19 bytes, and the total execution cycle is 2nd line 2 cycles + 3rd line 4 cycles + 4th line 3 (1) cycles + 5th line 2 Cycle+6th row 4 cycles+7th row 3 cycles+8th row 4 cycles+9th row 3 cycles+10th row 1 cycle+11th row 3 cycles+12th row 3 cycles=32 (30) cycles. The number of cycles in parentheses indicates the execution cycle when the command "RET Z" does not move to the routine one level above.

一方、図182(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_SBC_WPT)」2バイト+3行目コマンド「CPQ A,(LOW R_SBC_RPT)」3バイト+4行目のコマンド「RET Z」1バイト+5行目のコマンド「LD DE,@LMT_CMD_BFP*256+LOW R_SBC_RPT」2バイト+6行目のコマンド「RST COUNTUP」1バイト+7行目のコマンド「LDQP HL,LOW R_SBC_SBF」3バイト+8行目のコマンド「RST WORDSEL」1バイト+9行目のコマンド「OUT (@S1DT__),A」2バイト+10行目のコマンド「LD A,H」1バイト+11行目のコマンド「OUT (@S1DT__),A」2バイト+12行目のコマンド「RET」1バイト=19バイトとなり、総実行サイクルは、2行目2サイクル+3行目4サイクル+4行目3(1)サイクル+5行目2サイクル+6行目4サイクル+7行目5サイクル+8行目4サイクル+9行目3サイクル+10行目1サイクル+11行目3サイクル+12行目3サイクル=34(32)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RET Z」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. 182(b) is the second line command "LDQ A, (LOW R_SBC_WPT)" 2 bytes + the third line command "CPQ A, (LOW R_SBC_RPT)" 3 bytes + 4 bytes. Line command "RET Z" 1 byte + Line 5 command "LD DE,@LMT_CMD_BFP*256+LOW R_SBC_RPT" 2 bytes + Line 6 command "RST COUNTUP" 1 byte + Line 7 command "LDQP HL, LOW R_SBC_SBF" 3 bytes + 8th line command "RST WORDSEL" 1 byte + 9th line command "OUT (@S1DT__), A" 2 bytes + 10th line command "LD A,H" 1 byte + 11th line command "OUT ( @S1DT__), A" 2 bytes + command "RET" 1 byte on 12th line = 19 bytes, and the total execution cycle is 2nd line 2 cycles + 3rd line 4 cycles + 4th line 3 (1) cycles + 5th line 2 Cycle + 6th row 4 cycle + 7th row 5 cycle + 8th row 4 cycle + 9th row 3 cycle + 10th row 1 cycle + 11th row 3 cycle + 12th row 3 cycle = 34 (32) cycles. The number of cycles in parentheses indicates the execution cycle when the command "RET Z" does not move to the routine one level above.

したがって、図182(a)のコマンド群を図182(b)のコマンド群に置き換えることで、Qレジスタに「F0」が設定されている状態で、F100H以降のアドレスにアクセスする場合(上位の1バイトが「F1H」である場合)に、設計負荷の軽減を図ることが可能となる。なお、図37のステップS610-9で示した特別図柄記憶エリアシフト処理において、特別遊技特別図柄判別フラグを読み出す場合、特別遊技特別図柄判別フラグが格納されたアドレスの上位1バイトを「F1H」とし、コマンド「LDQP」を用いるようにしてもよい。さらに、図26のステップS400-29で示した外部情報管理処理において、出力ポート2バッファに合成ビットデータをセーブする場合に、出力ポート2バッファの上位1バイトを「F1H」とし、コマンド「LDQP」を用いるようにしてもよい。さらに、図25の電源断時退避処理において、バックアップ有効判定フラグにバックアップ有効判定値をセーブする場合に、バックアップ有効判定フラグが格納されたアドレスの上位1バイトを「F1H」とし、コマンド「LDQP」を用いるようにしてもよい。 Therefore, by replacing the command group shown in FIG. 182(a) with the command group shown in FIG. byte is "F1H"), the design load can be reduced. In the special symbol storage area shift process shown in step S610-9 in FIG. 37, when reading the special game special symbol discrimination flag, the upper 1 byte of the address where the special game special symbol discrimination flag is stored is set to "F1H". , the command "LDQP" may be used. Furthermore, in the external information management process shown in step S400-29 in FIG. 26, when saving the combined bit data in the output port 2 buffer, the upper 1 byte of the output port 2 buffer is set to "F1H", and the command "LDQP" is executed. may be used. Furthermore, in the saving process at power failure in FIG. 25, when saving the backup validity determination value in the backup validity determination flag, the upper 1 byte of the address where the backup validity determination flag is stored is set to "F1H", and the command "LDQP" is executed. may be used.

<RCPQ>
図183は、SBC_OUTモジュールを実現するための他のコマンドの一例を説明するための説明図である。なお、図183(a)は、図182(a)と同一であるため、説明は省略する。また、図183(b)について、図183(a)と実質的に等しい処理についてはその説明を省略し、図183(b)の異なる処理のみを説明する。
<RCPQ>
FIG. 183 is an explanatory diagram for explaining an example of another command for realizing the SBC_OUT module. Note that FIG. 183(a) is the same as FIG. 182(a), so the description is omitted. Also, with regard to FIG. 183(b), the description of the processing that is substantially the same as that of FIG. 183(a) will be omitted, and only the processing that is different from FIG. 183(b) will be described.

図183(b)の3行目のコマンド「RCPQ Z,A,(LOW R_SBC_RPT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_SBC_RPT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(サブコマンドリードポインタの値)と、Aレジスタの値(サブコマンドライトポインタの値)とを比較し、ゼロフラグに1が立っていれば、コマンド「RET」を実行するように、当該SBC_OUTモジュールを終了する。かかる3行目のコマンドが、図181のステップS2~S4に対応する。かかるコマンドのコマンドサイズは「3」であり、実行サイクルは「7(5)」である。なお、括弧内のサイクル数は、かかるコマンドによって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 The command "RCPQ Z, A, (LOW R_SBC_RPT)" on the third line in FIG. The value stored at that address (value of the subcommand read pointer) is compared with the value of the A register (value of the subcommand write pointer). If the zero flag is 1, the command "RET ” to terminate the SBC_OUT module. Such commands on the third line correspond to steps S2 to S4 in FIG. Such a command has a command size of "3" and an execution cycle of "7 (5)". The number of cycles in parentheses indicates the execution cycle when the command does not move to the routine one level above.

ここで、図183(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_SBC_WPT)」2バイト+3行目コマンド「RCPQ Z,A,(LOW R_SBC_RPT)」3バイト+4行目のコマンド「LD DE,@LMT_CMD_BFP*256+LOW R_SBC_RPT」2バイト+5行目のコマンド「RST COUNTUP」1バイト+6行目のコマンド「LD HL,R_SBC_SBF」3バイト+7行目のコマンド「RST WORDSEL」1バイト+8行目のコマンド「OUT (@S1DT__),A」2バイト+9行目のコマンド「LD A,H」1バイト+10行目のコマンド「OUT (@S1DT__),A」2バイト+11行目のコマンド「RET」1バイト=18バイトとなり、総実行サイクルは、2行目2サイクル+3行目7(5)サイクル+4行目2サイクル+5行目4サイクル+6行目3サイクル+7行目4サイクル+8行目3サイクル+9行目1サイクル+10行目3サイクル+11行目3サイクル=32(30)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RCPQ Z,A,(LOW R_SBC_RPT)」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. 183(b) is the second line command "LDQ A, (LOW R_SBC_WPT)" 2 bytes + the third line command "RCPQ Z, A, (LOW R_SBC_RPT)". 3 bytes + 4th line command "LD DE,@LMT_CMD_BFP*256+LOW R_SBC_RPT" 2nd byte + 5th line command "RST COUNTUP" 1 byte + 6th line command "LD HL, R_SBC_SBF" 3 bytes + 7th line command "RST WORDSEL" 1 byte + 8th line command "OUT (@S1DT__), A" 2 bytes + 9th line command "LD A, H" 1 byte + 10th line command "OUT (@S1DT__), A" 2 bytes + 11 1 byte of the command "RET" on the line = 18 bytes, and the total execution cycle is: 2nd line 2 cycles + 3rd line 7 (5) cycles + 4th line 2 cycles + 5th line 4 cycles + 6th line 3 cycles + 7th line 4th cycle+3rd cycle of 8th row+1st cycle of 9th row+3rd cycle of 10th row+3rd cycle of 11th row=32 (30) cycles. The number of cycles in parentheses indicates the execution cycle when the command "RCPQ Z, A, (LOW R_SBC_RPT)" does not move to the routine one level above.

したがって、図183(a)のコマンド群を図183(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 183(a) with the command group of FIG. 183(b), the total command size is reduced by 1 byte. By such replacement, it is possible to shorten the command and secure the capacity of the control area for performing the game control process.

また、図183(a)と図183(b)とを比較して理解できるように、図183(a)において2行(3行目~4行目)を占有していたコマンド群を、図183(b)においては1行(3行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 183(a) and 183(b), the command group occupying two lines (3rd to 4th lines) in FIG. 183(a) is 183(b) can be expressed in one line (the third line), which makes it possible to reduce the number of commands themselves and the design load.

図184は、FZ_OPNモジュールを実現するためのコマンドの一例を説明するための説明図である。図184に示したFZ_OPNモジュールは、普通電動役物入賞口開放制御処理(図57参照)を実行する。 FIG. 184 is an explanatory diagram for explaining an example of commands for realizing the FZ_OPN module. The FZ_OPN module shown in FIG. 184 executes normal electric accessory winning opening control processing (see FIG. 57).

普通電動役物入賞口開放制御処理では、上記ステップS850-5において、普通電動役物入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、第1可変始動口120Bに、1回の開閉制御中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該普通電動役物入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS850-7に処理を移す。 In the normal electric accessory winning opening control process, in the above step S850-5, the counter value of the normal electric accessory winning ball number counter has not reached the specified number, that is, the first variable start opening 120B is set to 1 It is determined whether or not the same number of game balls as the maximum number of winning prizes during the open/close control of the round have entered. As a result, if it is determined that the specified number has not been reached, the normal electric accessory winning opening control process is terminated, and if it is determined that the specified number has been reached, the process proceeds to step S850-7.

この普通電動役物入賞口開放制御処理として、図184(a)の1行目の指標「FZ_OPN:」は、当該FZ_OPNモジュールの先頭アドレスを示す。そして、ステップS850-5として、2行目のコマンド「LDQ A,(LOW R_FDN_CNT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FDN_CNT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(普通電動役物入賞球数カウンタのカウンタ値)をAレジスタに読み出す。3行目のコマンド「CP A、@FDN_CNT」によって、Aレジスタの値と、規定数を示す固定値「@FDN_CNT」、ここでは、8とを比較する。すなわち、Aレジスタの値が8未満であれば、キャリーフラグが立って1となる。そして、4行目の「RET C」によって、キャリーフラグが1であれば、当該FZ_OPNモジュールを終了する。すなわち、普通電動役物入賞球数カウンタのカウンタ値が8未満であれば、当該FZ_OPNモジュールを終了する。なお、キャリーフラグが1でなければ、以降の処理を実行する。 As this ordinary electric accessary prize opening control process, the index "FZ_OPN:" on the first line in FIG. 184(a) indicates the top address of the FZ_OPN module. Then, in step S850-5, the value of the Q register is set to the upper 1 byte of the address and the value of the lower 1 byte of the address "R_FDN_CNT" is set to the lower address by the command "LDQ A, (LOW R_FDN_CNT)" on the second line. 1 byte, and the value stored at that address (the counter value of the normal electric accessory winning ball number counter) is read to the A register. The command "CP A, @FDN_CNT" on the third line compares the value of the A register with a fixed value "@FDN_CNT" indicating a specified number, here 8. That is, if the value of the A register is less than 8, the carry flag is set to 1. Then, if the carry flag is 1 according to "RET C" on the fourth line, the FZ_OPN module is terminated. That is, if the counter value of the normal electric accessory winning ball number counter is less than 8, the FZ_OPN module is terminated. If the carry flag is not 1, the subsequent processing is executed.

ここで、図184(a)のコマンド群を図184(b)のように変更することができる。ここでは、図184(a)と実質的に等しい処理についてはその説明を省略し、図184(b)の異なる処理のみを説明する。 Here, the command group of FIG. 184(a) can be changed as shown in FIG. 184(b). 184(a) will be omitted here, and only the different processing in FIG. 184(b) will be described.

図184(b)の2行目のコマンド「RCPQ C,(LOW R_FDN_CNT),@FDN_CNT」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FDN_CNT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(普通電動役物入賞球数カウンタのカウンタ値)と、規定数を示す固定値「@FDN_CNT」、ここでは、8とを比較し、キャリーフラグが1であれば、コマンド「RET」を実行するように、当該FZ_OPNモジュールを終了する。かかるコマンドのコマンドサイズは「4」であり、実行サイクルは「8(6)」である。なお、括弧内のサイクル数は、かかるコマンドによって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 The command "RCPQ C, (LOW R_FDN_CNT), @FDN_CNT" on the second line of FIG. The value (the counter value of the counter for the number of winning balls of normal electric accessories) stored at the address of the lower 1 byte is compared with the fixed value "@FDN_CNT", which indicates the specified number, here, 8, and the carry flag is set. If 1, terminate the FZ_OPN module to execute the command "RET". The command size of such command is "4" and the execution cycle is "8(6)". The number of cycles in parentheses indicates the execution cycle when the command does not move to the routine one level above.

ここで、図184(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_FDN_CNT)」2バイト+3行目コマンド「CP A、@FDN_CNT」3バイト+4行目のコマンド「RET C」1バイト=6バイトとなり、総実行サイクルは、2行目2サイクル+3行目4サイクル+4行目3(1)サイクル=9(7)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RET C」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. 184(a) is the second line command "LDQ A, (LOW R_FDN_CNT)" 2 bytes + the third line command "CP A, @FDN_CNT" 3 bytes + 4 lines. 1 byte of the second command "RET C" = 6 bytes, and the total execution cycle is 2 cycles on the 2nd line + 4 cycles on the 3rd line + 3 (1) cycles on the 4th line = 9 (7) cycles. The number of cycles in parentheses indicates the execution cycle when the command "RET C" does not move to the routine one level higher.

一方、図184(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「RCPQ C,(LOW R_FDN_CNT),@FDN_CNT」4バイト=4バイトとなり、総実行サイクルは、2行目8(6)サイクル=8(6)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RCPQ C,(LOW R_FDN_CNT),@FDN_CNT」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. 8(6) cycles=8(6) cycles. The number of cycles in parentheses indicates the execution cycle when the command "RCPQ C, (LOW R_FDN_CNT), @FDN_CNT" does not move to the next higher routine.

したがって、図184(a)のコマンド群を図184(b)のコマンド群に置き換えることで、総コマンドサイズが2バイト削減され、総実行サイクルも少なくとも1サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 184(a) with the command group of FIG. 184(b), the total command size is reduced by 2 bytes, and the total execution cycle is also reduced by at least 1 cycle. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図184(a)と図184(b)とを比較して理解できるように、図184(a)において3行(2行目~4行目)を占有していたコマンド群を、図184(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 184(a) and 184(b), the command group occupying three lines (2nd to 4th lines) in FIG. 184(a) is 184(b) can be expressed in one line (second line), which makes it possible to reduce the number of commands themselves and the design load.

また、図184(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図184(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 184(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 184(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

図185は、TD_OPNモジュールを実現するためのコマンドの一例を説明するための説明図である。図185に示したTD_OPNモジュールは、大入賞口開放制御処理(図47参照)を実行する。 FIG. 185 is an explanatory diagram for explaining an example of commands for realizing the TD_OPN module. The TD_OPN module shown in FIG. 185 executes the big winning opening control process (see FIG. 47).

大入賞口開放制御処理では、上記ステップS720-5において、大入賞口入賞球数カウンタのカウンタ値が規定数に到達していないか、すなわち、大入賞口に、1ラウンド中の最大入賞可能数と同数の遊技球が入球していないかを判定する。その結果、規定数に到達していないと判定した場合には当該大入賞口開放制御処理を終了し、規定数に到達したと判定した場合にはステップS720-7に処理を移す。 In the big winning hole opening control process, in the above step S720-5, the counter value of the big winning hole winning ball number counter has not reached the specified number, that is, the maximum possible winning number in one round is set in the big winning hole. It is determined whether or not the same number of game balls are entered. As a result, when it is determined that the specified number has not been reached, the big winning opening opening control process is terminated, and when it is determined that the specified number has been reached, the process proceeds to step S720-7.

この大入賞口開放制御処理として、図185(a)の1行目の指標「TD_OPN:」は、当該TD_OPNモジュールの先頭アドレスを示す。そして、ステップS720-5として、2行目のコマンド「LDQ A,(LOW R_TDN_FLG)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TDN_FLG」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別電動役物指定フラグ)をAレジスタに読み出す。なお、特別電動役物指定フラグは、どの大入賞口が当該大入賞口開放制御処理の対象となっているかを示すものである。 As this special prize opening control process, the index "TD_OPN:" on the first line in FIG. 185(a) indicates the head address of the TD_OPN module. Then, in step S720-5, the value of the Q register is set to the upper 1 byte of the address and the value of the lower 1 byte of the address "R_TDN_FLG" is set to the lower address by the command "LDQ A, (LOW R_TDN_FLG)" on the second line. 1 byte, and the value (special electric accessory designation flag) stored at that address is read to the A register. It should be noted that the special electric accessory designation flag indicates which big winning opening is the object of the big winning opening opening control process.

3行目のコマンド「LD HL、D_TDC_MAX-1」によって、大入賞口規定入賞数データテーブル(図14における特別電動役物作動ラムセットテーブルの規定数が示されるテーブル)のアドレスから1減算した値をHLレジスタに読み出す。 The command "LD HL, D_TDC_MAX-1" on the 3rd line is a value obtained by subtracting 1 from the address of the special winning opening prescribed winning number data table (a table showing the prescribed number of the special electric accessory operating ram set table in FIG. 14) into the HL register.

図185(a)の4行目のコマンド「RST BYTESEL」によって、汎用モジュールであるBYTESELモジュールが読み出され、HLレジスタにAレジスタの値を加算し、HLレジスタに示されるアドレスに格納された値(規定数)がAレジスタに読み出される。 The BYTESEL module, which is a general-purpose module, is read by the command "RST BYTESEL" on the fourth line in FIG. (prescribed number) is read into the A register.

図185(a)の5行目のコマンド「CPQ A、(LOW R_TDN_CNT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TDN_CNT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(大入賞口入賞球数カウンタのカウンタ値)と、Aレジスタの値、ここでは、10とを比較する。すなわち、同アドレスに格納された値が10未満であれば、キャリーフラグが立たずに0となる。そして、6行目の「RET NC」によって、キャリーフラグが0であれば、当該TD_OPNモジュールを終了する。すなわち、大入賞口入賞球数カウンタのカウンタ値が10未満であれば、当該TD_OPNモジュールを終了する。なお、キャリーフラグが1であれば、以降の処理を実行する。 The command "CPQ A, (LOW R_TDN_CNT)" on the fifth line in FIG. , and the value stored at that address (the counter value of the winning ball number counter for the big winning opening) is compared with the value of the A register, which is 10 here. That is, if the value stored at the same address is less than 10, the carry flag is not set and becomes 0. Then, if the carry flag is 0 by "RET NC" on the 6th line, the TD_OPN module is terminated. That is, if the counter value of the big winning hole winning ball number counter is less than 10, the TD_OPN module is terminated. If the carry flag is 1, the subsequent processing is executed.

ここで、図185(a)のコマンド群を図185(b)のように変更することができる。ここでは、図185(a)と実質的に等しい処理についてはその説明を省略し、図185(b)の異なる処理のみを説明する。 Here, the command group of FIG. 185(a) can be changed as shown in FIG. 185(b). 185(a) will be omitted here, and only the different processing in FIG. 185(b) will be described.

図185(b)の5行目のコマンド「RCPQ NC,A, (LOW R_TDN_CNT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TDN_CNT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(大入賞口入賞球数カウンタのカウンタ値)と、Aレジスタの値(既定値)、ここでは、10とを比較し、キャリーフラグが0であれば、コマンド「RET」を実行するように、当該TD_OPNモジュールを終了する。かかるコマンドのコマンドサイズは「3」であり、実行サイクルは「7(5)」である。なお、括弧内のサイクル数は、かかるコマンドによって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 The command "RCPQ NC, A, (LOW R_TDN_CNT)" on the fifth line in FIG. 1 byte, the value stored at that address (the counter value of the winning ball number counter for the big winning opening) is compared with the value of the A register (default value), here 10, and if the carry flag is 0 , exit the TD_OPN module to execute the command "RET". Such a command has a command size of "3" and an execution cycle of "7 (5)". The number of cycles in parentheses indicates the execution cycle when the command does not move to the routine one level above.

ここで、図185(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_TDN_FLG)」2バイト+3行目コマンド「LD HL、D_TDC_MAX-1」3バイト+4行目のコマンド「RST BYTESEL」1バイト+5行目コマンド「CPQ A、(LOW R_TDN_CNT)」3バイト+4行目のコマンド「RET NC」1バイト=10バイトとなり、総実行サイクルは、2行目2サイクル+3行目3サイクル+4行目3サイクル+5行目4サイクル+4行目3(1)サイクル=15(13)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RET NC」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. 185(a) is the second line command "LDQ A, (LOW R_TDN_FLG)" 2 bytes + the third line command "LD HL, D_TDC_MAX-1" 3 bytes + 4 bytes. Line 1 command "RST BYTESEL" 1 byte + Line 5 command "CPQ A, (LOW R_TDN_CNT)" 3 bytes + Line 4 command "RET NC" 1 byte = 10 bytes. Cycle + 3rd row 3 cycles + 4th row 3 cycles + 5th row 4 cycles + 4th row 3 (1) cycles = 15 (13) cycles. The number of cycles in parentheses indicates the execution cycle when the command "RET NC" does not move to the routine one level higher.

一方、図185(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_TDN_FLG)」2バイト+3行目コマンド「LD HL,D_TDC_MAX-1」3バイト+4行目のコマンド「RST BYTESEL」1バイト+5行目コマンド「RCPQ NC,A, (LOW R_TDN_CNT)」3バイト=9バイトとなり、総実行サイクルは、2行目2サイクル+3行目3サイクル+4行目3サイクル+5行目7(5)サイクル=15(13)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RCPQ NC,A, (LOW R_TDN_CNT)」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. 185(b) is the second line command "LDQ A, (LOW R_TDN_FLG)" 2 bytes + the third line command "LD HL, D_TDC_MAX-1" 3 bytes + 4 lines. 1st command "RST BYTESEL" 1 byte + 5th line command "RCPQ NC, A, (LOW R_TDN_CNT)" 3 bytes = 9 bytes, and the total execution cycle is 2nd line 2 cycles + 3rd line 3 cycles + 4th line 3 Cycles+5th row 7 (5) cycles=15 (13) cycles. The number of cycles in parentheses indicates the execution cycle when the command "RCPQ NC, A, (LOW R_TDN_CNT)" does not move to the routine one level above.

したがって、図185(a)のコマンド群を図185(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 185(a) with the command group of FIG. 185(b), the total command size is reduced by 1 byte. By such replacement, it is possible to shorten the command and secure the capacity of the control area for performing the game control process.

また、図185(a)と図185(b)とを比較して理解できるように、図185(a)において2行(5行目~6行目)を占有していたコマンド群を、図185(b)においては1行(5行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 185(a) and 185(b), the command group occupying two lines (5th and 6th lines) in FIG. 185(b) can be expressed in one line (fifth line), which makes it possible to reduce the number of commands themselves and the design load.

<JCPQ>
図186は、HSY_PRCモジュールを実現するためのコマンドの一例を説明するための説明図である。図186に示したHSY_PRCモジュールは、発射位置指定管理処理(図26のステップS400-27参照)を実行する。
<JCPQ>
FIG. 186 is an explanatory diagram for explaining an example of commands for realizing the HSY_PRC module. The HSY_PRC module shown in FIG. 186 executes firing position designation management processing (see step S400-27 in FIG. 26).

この発射位置指定管理処理として、図186(a)の1行目の指標「HSY_PRC:」は、当該HSY_PRCモジュールの先頭アドレスを示す。2行目のコマンド「XOR A,A」によって、Aレジスタの値と、Aレジスタの値との排他的論理和を計算し、Aレジスタを初期化する。 As this firing position designation management process, the index "HSY_PRC:" on the first line in FIG. 186(a) indicates the start address of the HSY_PRC module. The command "XOR A, A" on the second line computes the exclusive OR of the value of the A register and the value of the A register to initialize the A register.

そして、3行目のコマンド「LDQ HL,LOW R_TDN_FLG」によって、Qレジスタの値をHレジスタに読み出し、アドレス「R_TDN_FLG」の下位1バイトの値をLレジスタに読み出す。 Then, by the command "LDQ HL, LOW R_TDN_FLG" on the third line, the value of the Q register is read to the H register, and the value of the lower 1 byte of the address "R_TDN_FLG" is read to the L register.

4行目のコマンド「JCP NZ,(HL),@TDK_AT2,HSY_PRC_10」によって、HLレジスタに示される値(特別電動役物指定フラグ)と、第2大入賞口を示す固定値「@TDK_AT2」とを比較し、ゼロフラグに1が立っていなければ、7行目の指標「HSY_PRC_10」に示されるアドレスに移動する(処理を分岐させる)。 By the command "JCP NZ, (HL), @TDK_AT2, HSY_PRC_10" on the 4th line, the value indicated in the HL register (special electric accessory designation flag) and the fixed value "@TDK_AT2" indicating the second big prize opening are compared, and if the zero flag is not set to 1, the process moves to the address indicated by the index "HSY_PRC_10" on the 7th line (processing is branched).

一方、ゼロフラグに1が立っていれば、5行目のコマンド「LDQ HL,LOW R_ZUG_CHK_FIX」によって、Qレジスタの値をHレジスタに読み出し、アドレス「R_ZUG_CHK_FIX」の下位1バイトの値をLレジスタに読み出す。 On the other hand, if the zero flag is set to 1, the value of the Q register is read to the H register and the value of the lower 1 byte of the address "R_ZUG_CHK_FIX" is read to the L register by the command "LDQ HL, LOW R_ZUG_CHK_FIX" on the fifth line. .

6行目のコマンド「JCP NZ,(HL),@ZUG_SML1,HSY_PRC_20」によって、HLレジスタに示される値(特別図柄判定フラグ)と、小当たり図柄1指定データを示す固定値「@ZUG_SML1」、ここでは、07Hとを比較し、ゼロフラグに1が立っていなければ、8行目の指標「HSY_PRC_20」に示されるアドレスに移動する(処理を分岐させる)。 By the command "JCP NZ, (HL), @ZUG_SML1, HSY_PRC_20" on the 6th line, the value indicated in the HL register (special symbol determination flag) and the fixed value "@ZUG_SML1" indicating the small winning symbol 1 designation data, here Then, 07H is compared with 07H, and if 1 is not set in the zero flag, the address is moved to the address indicated by the index "HSY_PRC_20" on the 8th line (processing is branched).

ここで、図186(a)のコマンド群を図186(b)のように変更することができる。ここでは、図186(a)と実質的に等しい処理についてはその説明を省略し、図186(b)の異なる処理のみを説明する。 Here, the command group of FIG. 186(a) can be changed as shown in FIG. 186(b). 186(a) will be omitted here, and only the different processing in FIG. 186(b) will be described.

図186(b)の3行目のコマンド「JCPQ NZ,(LOW R_TDN_FLG),@TDK_AT2,HSY_PRC_10」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_TDN_FLG」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに示される値(特別電動役物指定フラグ)と、第2大入賞口を示す固定値「@TDK_AT2」とを比較し、ゼロフラグに1が立っていなければ、5行目の指標「HSY_PRC_10」に示されるアドレスに移動する(処理を分岐させる)。 The command "JCPQ NZ, (LOW R_TDN_FLG), @TDK_AT2, HSY_PRC_10" on the third line in FIG. The lower 1 byte of the address is compared with the value indicated by the address (special electric accessory designation flag) and the fixed value "@TDK_AT2" indicating the second big prize opening, and if 1 is not set in the zero flag, Move to the address indicated by the index "HSY_PRC_10" on the fifth line (branch the process).

図186(b)の4行目のコマンド「JCPQ NZ,(LOW R_ZUF_CHK_FIX,@ZUG_SML1,HSY_PRC_20」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_ZUF_CHK_FIX」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに示される値(特別図柄判定フラグ)と、第2大入賞口を示す固定値「@TDK_AT2」とを比較し、小当たり図柄1指定データを示す固定値「@ZUG_SML1」、ここでは、07Hとを比較し、ゼロフラグに1が立っていなければ、6行目の指標「HSY_PRC_20」に示されるアドレスに移動する(処理を分岐させる)。 The command "JCPQ NZ, (LOW R_ZUF_CHK_FIX, @ZUG_SML1, HSY_PRC_20" on the fourth line in FIG. , and compare the value (special symbol determination flag) indicated at the address with the fixed value "@TDK_AT2" indicating the second big winning opening, and the fixed value "@ ZUG_SML1", here, 07H, and if the zero flag is not set to 1, move to the address indicated by the index "HSY_PRC_20" on the 6th line (process is branched).

ここで、図186(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「XOR A,A」1バイト+3行目のコマンド「LDQ HL,LOW R_TDN_FLG」2バイト+4行目のコマンド「JCP NZ,(HL),@TDK_AT2,HSY_PRC_10」4バイト+5行目のコマンド「LDQ HL,LOW R_ZUG_CHK_FIX」2バイト+6行目のコマンド「JCP NZ,(HL),@ZUG_SML1,HSY_PRC_20」4バイト=13バイトとなり、総実行サイクルは、2行目1サイクル+3行目2サイクル+4行目6(5)サイクル+5行目2サイクル+6行目2サイクル6(5)=17(15)サイクルとなる。なお、括弧内のサイクル数は、コマンド「JCP NZ,・・・」によって移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. Command "JCP NZ, (HL), @TDK_AT2, HSY_PRC_10" 4 bytes + Command "LDQ HL, LOW R_ZUG_CHK_FIX" 2 bytes on line 5 + Command "JCP NZ, (HL), @ZUG_SML1, HSY_PRC_20" 4 bytes on line 6 = 13 bytes, and the total execution cycle is 2nd line 1 cycle + 3rd line 2 cycles + 4th line 6 (5) cycles + 5th line 2 cycles + 6th line 2 cycles 6 (5) = 17 (15) cycles . Note that the number of cycles in parentheses indicates the execution cycle when the command "JCP NZ, . . . " does not move.

一方、図186(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「XOR A,A」1バイト+3行目のコマンド「JCPQ NZ,(LOW R_TDN_FLG),@TDK_AT2,HSY_PRC_10」4バイト+4行目のコマンド「JCPQ NZ,(LOW R_ZUG_CHK_FIX,@ZUG_SML1,HSY_PRC_20」4バイト=9バイトとなり、総実行サイクルは、2行目1サイクル+3行目6(5)サイクル+4行目6(5)=13(11)サイクルとなる。なお、括弧内のサイクル数は、コマンド「JCP NZ,・・・」によって移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. 186(b) is the command "XOR A, A" 1 byte on the second line + the command "JCPQ NZ, (LOW R_TDN_FLG), @TDK_AT2, HSY_PRC_10" on the third line. 4 bytes + 4th line command "JCPQ NZ, (LOW R_ZUG_CHK_FIX, @ZUG_SML1, HSY_PRC_20" 4 bytes = 9 bytes, and the total execution cycle is 2nd line 1 cycle + 3rd line 6 (5) cycles + 4th line 6 ( 5) = 13 (11) cycles The number of cycles in parentheses indicates the number of execution cycles when the command "JCP NZ, ..." does not move.

したがって、図186(a)のコマンド群を図186(b)のコマンド群に置き換えることで、総コマンドサイズが4バイト削減され、総実行サイクルも少なくとも4サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 186(a) with the command group of FIG. 186(b), the total command size is reduced by 4 bytes, and the total execution cycle is also reduced by at least 4 cycles. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図186(a)と図186(b)とを比較して理解できるように、図186(a)において4行(3行目~6行目)を占有していたコマンド群を、図186(b)においては2行(3行目~4行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 186(a) and 186(b), the command group occupying 4 lines (3rd to 6th lines) in FIG. 186(a) is 186(b) can be expressed in two lines (third and fourth lines), which makes it possible to reduce the number of commands and the design load.

また、図186(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図186(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 186(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. In the example of FIG. 186(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

図187は、FDN_CHKモジュールを実現するためのコマンドの一例を説明するための説明図である。図187に示したFDN_CHKモジュールは、普通電動役物入賞時確認処理(図28のステップS500-9参照)を実行する。 FIG. 187 is an explanatory diagram for explaining an example of commands for realizing the FDN_CHK module. The FDN_CHK module shown in FIG. 187 executes normal electric accessory winning confirmation processing (see step S500-9 in FIG. 28).

この普通電動役物入賞時確認処理として、図187(a)の1行目の指標「FDN_CHK:」は、当該FDN_CHKモジュールの先頭アドレスを示す。 As confirmation processing at the time of this ordinary electric accessory winning prize, the index "FDN_CHK:" in the first line of FIG. 187(a) indicates the top address of the FDN_CHK module.

そして、2行目のコマンド「LDQ HL,(LOW R_FDN_EFF)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FDN_EFF」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスの値(普通電動役物閉鎖有効タイマの値)をHLレジスタに読み出す。 Then, by the command "LDQ HL, (LOW R_FDN_EFF)" on the second line, the value of the Q register is set to the upper 1 byte of the address, the value of the lower 1 byte of the address "R_FDN_EFF" is set to the lower 1 byte of the address, and the address (the value of the normal electric accessory closing valid timer) is read to the HL register.

3行目のコマンド「RET NTZ」によって、ゼロフラグが1でなければ、当該FDN_CHKモジュールを終了する。ここで「NTZ」としているのは、コマンド「LDQ HL,(LOW R_FDN_EFF)」によって第2ゼロフラグは変化するが第1ゼロフラグは変化しないからである。 The command "RET NTZ" on the third line terminates the FDN_CHK module if the zero flag is not 1. The reason why "NTZ" is used here is that the command "LDQ HL, (LOW R_FDN_EFF)" changes the second zero flag but does not change the first zero flag.

4行目のコマンド「LDQ A,(LOW R_FUT_PHS)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FUT_PHS」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスの値(普通遊技管理フェーズ)をAレジスタに読み出す。 By the command "LDQ A, (LOW R_FUT_PHS)" on the fourth line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "R_FUT_PHS" is set as the lower 1 byte of the address, and the address value (Normal game management phase) is read to the A register.

5行目のコマンド「JCP NZ,A,@FD_OPN,FDN_CHK_10」によって、Aレジスタに示される値(普通遊技管理フェーズ)と、普通電動役物入賞口開放制御処理を示す固定値「@FD_OPN」、ここでは04Hとを比較し、ゼロフラグに1が立っていなければ、8行目の指標「FDN_CHK_10」に示されるアドレスに移動する(処理を分岐させる)。 By the command "JCP NZ, A, @FD_OPN, FDN_CHK_10" on the fifth line, the value indicated in the A register (normal game management phase) and the fixed value "@FD_OPN" indicating the normal electric accessory winning opening control process, Here, 04H is compared with 04H, and if 1 is not set in the zero flag, the address is moved to the address indicated by the index "FDN_CHK_10" on the eighth line (processing is branched).

一方、ゼロフラグに1が立っていれば、6行目のコマンド「INCQ (LOW R_FDN_CNT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FDN_CNT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(普通電動役物入賞球数カウンタのカウンタ値)に1加算し、同アドレスに、加算した値を格納し、7行目のコマンド「RET」によって、当該FDN_CHKモジュールを終了する。 On the other hand, if the zero flag is 1, the command "INCQ (LOW R_FDN_CNT)" on the 6th line sets the value of the Q register to the upper 1 byte of the address, and sets the value of the lower 1 byte of the address "R_FDN_CNT" to the address. The value stored at the address (the counter value of the winning ball number counter for normal electric accessories) is added by 1, the added value is stored at the address, and the command "RET" on the 7th line is used. , terminate the FDN_CHK module.

ここで、図187(a)のコマンド群を図187(b)のように変更することができる。ここでは、図187(a)と実質的に等しい処理についてはその説明を省略し、図187(b)の異なる処理のみを説明する。 Here, the command group of FIG. 187(a) can be changed as shown in FIG. 187(b). 187(a) will be omitted here, and only the different processing in FIG. 187(b) will be described.

図187(b)の4行目のコマンド「JCPQ NZ,(LOW R_FUT_PHS),@FD_OPN,FDN_CHK_10」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FUT_PHS」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスの値(普通遊技管理フェーズ)と、普通電動役物入賞口開放制御処理を示す固定値「@FD_OPN」、ここでは04Hとを比較し、ゼロフラグに1が立っていなければ、7行目の指標「FDN_CHK_10」に示されるアドレスに移動する(処理を分岐させる)。 By the command "JCPQ NZ, (LOW R_FUT_PHS), @FD_OPN, FDN_CHK_10" on the 4th line of FIG. The lower 1 byte of the address is compared with the address value (ordinary game management phase) and a fixed value "@FD_OPN" indicating the normal electric accessary prize opening control process, here 04H, and 1 is set in the zero flag. If not, move to the address indicated by the index "FDN_CHK_10" on the 7th line (branch the process).

ここで、図187(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ HL,(LOW R_FDN_EFF)」2バイト+3行目のコマンド「RET NTZ」1バイト+4行目のコマンド「LDQ A,(LOW R_FUT_PHS)」2バイト+5行目のコマンド「JCP NZ,A,@FD_OPN,FDN_CHK_10」3バイト+6行目のコマンド「INCQ (LOW R_FDN_CNT)」2バイト+7行目のコマンド「RET」1バイト=11バイトとなり、総実行サイクルは、2行目4サイクル+3行目3(1)サイクル+4行目2サイクル+5行目4(3)サイクル+6行目5サイクル+7行目3サイクル=21(18)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RET NTZ」「JCP NZ,・・・」によって移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. Command "LDQ A, (LOW R_FUT_PHS)" 2 bytes + 5th line command "JCP NZ, A, @FD_OPN, FDN_CHK_10" 3 bytes + 6th line command "INCQ (LOW R_FDN_CNT)" 2 bytes + 7th line command " RET" 1 byte = 11 bytes, and the total execution cycle is 2nd line 4 cycles + 3rd line 3(1) cycle + 4th line 2 cycles + 5th line 4(3) cycles + 6th line 5 cycles + 7th line 3 cycles = 21 (18) cycles. Note that the number of cycles in parentheses indicates the execution cycle when the command "RET NTZ", "JCP NZ, . . . " does not move.

一方、図187(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ HL,(LOW R_FDN_EFF)」2バイト+3行目のコマンド「RET NTZ」1バイト+4行目のコマンド「JCPQ NZ,(LOW R_FUT_PHS),@FD_OPN,FDN_CHK_10」4バイト+5行目のコマンド「INCQ (LOW R_FDN_CNT)」2バイト+6行目のコマンド「RET」1バイト=10バイトとなり、総実行サイクルは、2行目4サイクル+3行目3(1)サイクル+4行目6(5)サイクル+5行目5サイクル+6行目3サイクル=19(16)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RET NZ」「JCPQ NTZ,・・・」によって移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. "JCPQ NZ, (LOW R_FUT_PHS), @FD_OPN, FDN_CHK_10" 4 bytes + 5th line command "INCQ (LOW R_FDN_CNT)" 2 bytes + 6th line command "RET" 1 byte = 10 bytes, and the total execution cycle is 2nd row 4 cycles+3rd row 3(1) cycles+4th row 6(5) cycles+5th row 5 cycles+6th row 3 cycles=19(16) cycles. Note that the number of cycles in parentheses indicates the execution cycle when the command "RET NZ", "JCPQ NTZ, . . . " does not move.

したがって、図187(a)のコマンド群を図187(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減され、総実行サイクルも少なくとも2サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 187(a) with the command group of FIG. 187(b), the total command size is reduced by 1 byte, and the total execution cycle is also reduced by at least 2 cycles. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図187(a)と図187(b)とを比較して理解できるように、図187(a)において2行(4行目~5行目)を占有していたコマンド群を、図187(b)においては1行(4行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 187(a) and 187(b), the command group occupying two lines (4th and 5th lines) in FIG. 187(b) can be expressed in one line (fourth line), which makes it possible to reduce the number of commands and the design load.

また、図187(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図187(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 187(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 187(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

図188は、FZ_STPモジュールを実現するためのコマンドの一例を説明するための説明図である。図188に示したFZ_STPモジュールは、普通図柄停止図柄表示処理(図54参照)を実行する。 FIG. 188 is an explanatory diagram for explaining an example of commands for realizing the FZ_STP module. The FZ_STP module shown in FIG. 188 executes normal symbol stop symbol display processing (see FIG. 54).

この普通図柄停止図柄表示処理として、図188(a)の1行目の指標「FZ_STP:」は、当該FZ_STPモジュールの先頭アドレスを示す。 As this normal symbol stop symbol display process, the index "FZ_STP:" on the first line in FIG. 188(a) indicates the leading address of the FZ_STP module.

そして、2行目のコマンド「RET NTZ」によって、第2ゼロフラグに1が立っていなければ、当該FZ_STPモジュールを終了する。 Then, if the second zero flag is not set to 1 by the command "RET NTZ" on the second line, the FZ_STP module is terminated.

3行目のコマンド「LDQ A,(LOW R_FZ_ATA)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FZ_ATA」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスの値(普通図柄当たりフラグ)をAレジスタに読み出す。なお、普通図柄当たりフラグは、普図抽選で当たりが決定されると01Hになり、ハズレが決定されると00Hとなる。 By the command "LDQ A, (LOW R_FZ_ATA)" on the third line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "R_FZ_ATA" is set as the lower 1 byte of the address, and the address value (Normal pattern hit flag) is read to the A register. In addition, the normal pattern hit flag becomes 01H when the hit is determined by the normal pattern lottery, and becomes 00H when the loss is determined.

4行目のコマンド「JCP Z,A,@FZ_ATA,FZ_STP_10」によって、Aレジスタに示される値(普通図柄当たりフラグ)と、当たりを示す固定値「@FZ_ATA」、ここでは01Hとを比較し、ゼロフラグに1が立っていれば、8行目の指標「FZ_STP_10」に示されるアドレスに移動する(処理を分岐させる)。 By the command "JCP Z, A, @FZ_ATA, FZ_STP_10" on the 4th line, compare the value shown in the A register (normal pattern per flag) and the fixed value "@FZ_ATA" indicating the hit, here 01H, If the zero flag is set to 1, the process moves to the address indicated by the index "FZ_STP_10" on the eighth line (processing is branched).

一方、ゼロフラグに1が立っていなければ、5行目のコマンド「CLRQ (LOW R_FUT_PHS)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FUT_PHS」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(普通遊技管理フェーズ)に0を代入する(クリアする)。 On the other hand, if the zero flag is not set to 1, the command "CLRQ (LOW R_FUT_PHS)" on the fifth line sets the value of the Q register to the upper 1 byte of the address, and sets the value of the lower 1 byte of the address "R_FUT_PHS" to the address. The lower 1 byte is assigned, and 0 is substituted (cleared) for the value (normal game management phase) stored at that address.

6行目のコマンド「CLRQ (LOW R_FZ_STP)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FZ_STP」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(普通図柄停止図柄番号)に0を代入し(クリアし)、7行目のコマンド「RET」によって、当該FZ_STPモジュールを終了する。 By the command "CLRQ (LOW R_FZ_STP)" on the 6th line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "R_FZ_STP" is set as the lower 1 byte of the address, and the 0 is assigned (cleared) to the value (normal symbol stop symbol number), and the FZ_STP module is terminated by the command "RET" on the 7th line.

ここで、図188(a)のコマンド群を図188(b)のように変更することができる。ここでは、図188(a)と実質的に等しい処理についてはその説明を省略し、図188(b)の異なる処理のみを説明する。 Here, the command group of FIG. 188(a) can be changed as shown in FIG. 188(b). 188(a) will be omitted here, and only the different processing in FIG. 188(b) will be described.

図188(b)の3行目のコマンド「JCPQ Z,(LOW R_FZ_ATA),@FZ_ATA,FZ_STP_10」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_FZ_ATA」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスの値(普通図柄当たりフラグ)と、当たりを示す固定値「@FZ_ATA」、ここでは01Hとを比較し、ゼロフラグに1が立っていれば、7行目の指標「FZ_STP_10」に示されるアドレスに移動する(処理を分岐させる)。 The command "JCPQ Z, (LOW R_FZ_ATA), @FZ_ATA, FZ_STP_10" on the third line in FIG. The lower 1 byte of the address is compared with the value of the address (normal pattern per flag) and the fixed value "@FZ_ATA" indicating the hit, here 01H. Move to the address indicated by the index "FZ_STP_10" (branch the process).

ここで、図188(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「RET NTZ」1バイト+3行目のコマンド「LDQ A,(LOW R_FZ_ATA)」2バイト+4行目のコマンド「JCP Z,A,@FZ_ATA,FZ_STP_10」3バイト+5行目のコマンド「CLRQ (LOW R_FUT_PHS)」2バイト+6行目のコマンド「CLRQ (LOW R_FZ_STP)」2バイト+7行目のコマンド「RET」1バイト=11バイトとなり、総実行サイクルは、2行目3(1)サイクル+3行目2サイクル+4行目4(3)サイクル+5行目2サイクル+6行目2サイクル+7行目3サイクル=16(13)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RET NTZ」「JCP Z,・・・」によって1つ上のルーチンに移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. Command "JCP Z, A, @FZ_ATA, FZ_STP_10" 3 bytes + 5th line command "CLRQ (LOW R_FUT_PHS)" 2 bytes + 6th line command "CLRQ (LOW R_FZ_STP)" 2 bytes + 7th line command "RET" 1 byte = 11 bytes, and the total execution cycle is: 2nd row 3 (1) cycle + 3rd row 2 cycle + 4th row 4 (3) cycle + 5th row 2 cycle + 6th row 2 cycle + 7th row 3 cycle = 16 (13) Cycle. The number of cycles in parentheses indicates the execution cycle when the commands "RET NTZ", "JCP Z, .

一方、図188(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「RET NTZ」1バイト+3行目のコマンド「JCPQ Z,(LOW R_FZ_ATA),@FZ_ATA,FZ_STP_10」4バイト+4行目のコマンド「CLRQ (LOW R_FUT_PHS)」2バイト+5行目のコマンド「CLRQ (LOW R_FZ_STP)」2バイト+6行目のコマンド「RET」1バイト=10バイトとなり、総実行サイクルは、2行目3(1)サイクル+3行目6(5)サイクル+4行目2サイクル+5行目2サイクル+6行目3サイクル=16(13)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RET NTZ」、「JCPQ Z,・・・」によって移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. 188(b) is the command "RET NTZ" 1 byte on the second line + the command "JCPQ Z, (LOW R_FZ_ATA), @FZ_ATA, FZ_STP_10" 4 bytes on the third line. + 4th line command "CLRQ (LOW R_FUT_PHS)" 2 bytes + 5th line command "CLRQ (LOW R_FZ_STP)" 2 bytes + 6th line command "RET" 1 byte = 10 bytes, total execution cycle is 2 lines 3rd row 3 (1) cycle + 3rd row 6 (5) cycle + 4th row 2 cycle + 5th row 2 cycle + 6th row 3 cycle = 16 (13) cycles. Note that the number of cycles in parentheses indicates the execution cycle when the command "RET NTZ", "JCPQ Z, . . . " does not move.

したがって、図188(a)のコマンド群を図188(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減される。かかる置き換えによって、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 188(a) with the command group of FIG. 188(b), the total command size is reduced by 1 byte. By such replacement, it is possible to shorten the command and secure the capacity of the control area for performing the game control process.

また、図188(a)と図188(b)とを比較して理解できるように、図188(a)において2行(3行目~4行目)を占有していたコマンド群を、図188(b)においては1行(3行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 188(a) and 188(b), the command group occupying two lines (3rd to 4th lines) in FIG. 188(a) is 188(b) can be expressed in one line (the third line), which makes it possible to reduce the number of commands themselves and the design load.

また、図188(b)の例では、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図188(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 188(b), the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 188(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

<乱数発生器>
図189は、乱数発生器740~746の構成を説明するためのブロック図である。上記したように、メインCPU300a、500aには、複数の乱数発生器が設けられている。
<random number generator>
FIG. 189 is a block diagram for explaining the configuration of random number generators 740-746. As described above, the main CPUs 300a and 500a are provided with a plurality of random number generators.

メインCPU300a、500aには、例えば、図189に示すように、16ビットの最大値を設定可能な乱数発生器である最大値設定乱数発生器740が4チャンネル、16ビットの最大値が65536に固定された乱数発生器である最大値固定乱数発生器742が4チャンネル、8ビットの最大値を設定可能な乱数発生器である最大値設定乱数発生器744が8チャンネル、8ビットの最大値が255に固定された乱数発生器である最大値固定乱数発生器746が8チャンネル設けられている。これらの乱数発生器740~746は、ハードウェア乱数発生器(ハードウェア乱数生成部)である。 For example, as shown in FIG. 189, the main CPUs 300a and 500a have four channels of maximum value setting random number generator 740, which is a random number generator capable of setting the maximum value of 16 bits, and the maximum value of 16 bits is fixed at 65536. A maximum value fixed random number generator 742, which is a random number generator, has 4 channels. A maximum value setting random number generator 744, which is a random number generator capable of setting a maximum value of 8 bits, has 8 channels. 8 channels of fixed maximum random number generator 746 are provided. These random number generators 740 to 746 are hardware random number generators (hardware random number generators).

最大値設定乱数発生器740は、乱数更新周期を32~47クロックのいずれかに設定可能であり、スタート値を、0001h、IDナンバーを基にした値、システムリセット毎に変更される値のいずれかに設定可能である。最大値固定乱数発生器742は、乱数更新周期が1クロックであり、スタート値がシステムリセット毎に変更される値である。なお、システムリセットは、ハード的に状態をリセットするものであり、電源投入時、所定の異常が発生したときに実行される。 The maximum value setting random number generator 740 can set the random number update cycle to any one of 32 to 47 clocks, and the start value can be any of 0001h, a value based on the ID number, and a value that is changed at each system reset. can be set to The fixed maximum random number generator 742 has a random number update period of one clock and a start value that is changed at each system reset. Note that the system reset is to reset the state in terms of hardware, and is executed when a predetermined abnormality occurs when the power is turned on.

最大値設定乱数発生器744は、乱数更新周期を16~31クロックのいずれかに設定可能であり、スタート値を、01h、IDナンバーを基にした値、システムリセット毎に変更される値のいずれかに設定可能である。最大値固定乱数発生器746は、乱数更新周期が1クロックであり、スタート値がシステムリセット毎に変更される値である。上記ステップS100-1の初期設定処理において、スタート値の設定および保存、最大値設定乱数発生器740、744の乱数更新周期の設定および保存が行われる。 The maximum value setting random number generator 744 can set the random number update period to any one of 16 to 31 clocks, and the start value can be set to 01h, a value based on the ID number, or a value changed at each system reset. can be set to The fixed maximum random number generator 746 has a random number update period of one clock and a start value that is changed at each system reset. In the initial setting process of step S100-1, the start value is set and saved, and the random number update period of the maximum value setting random number generators 740 and 744 is set and saved.

また、これらの乱数発生器740~746は、システムリセット毎にスタート値が更新される。そして、最大値設定乱数発生器740は、ハードウェアにより、内部システムクロックの32クロック~47クロックのいずれかで1回、乱数(乱数カウンタ)を更新する。最大値設定乱数発生器744は、ハードウェアにより、内部システムクロックの16クロック~31クロックのいずれかで1回、乱数(乱数カウンタ)を更新する。最大値固定乱数発生器742、746は、ハードウェアにより、内部システムクロックの1クロックで1回、乱数(乱数カウンタ)を更新する。また、これらの乱数発生器740~746は、一定の規則に従って乱数を更新し、乱数列を一巡するごとに、自動的に乱数列が更新される。そして、ソフトウェアにより、遊技球が所定領域を通過したと判定されたときに、乱数値レジスタから乱数(ハードウェア乱数カウント値)が取得される。 In addition, these random number generators 740 to 746 have their start values updated each time the system is reset. Then, the maximum value setting random number generator 740 updates the random number (random number counter) once at any one of the 32nd to 47th clocks of the internal system clock. The maximum value setting random number generator 744 updates the random number (random number counter) once at any of the 16th to 31st clocks of the internal system clock by hardware. The maximum value fixed random number generators 742 and 746 update random numbers (random number counters) once per clock of the internal system clock by hardware. These random number generators 740 to 746 update random numbers according to a certain rule, and the random number sequence is automatically updated each time the random number sequence is cycled. When the software determines that the game ball has passed through the predetermined area, a random number (hardware random number count value) is acquired from the random number register.

また、メインCPU300a、500aでは、乱数発生器740~746から取得した乱数値に、プログラム内において所定の数値を乗じ、また、除算することでソフトウェア乱数を生成する(ソフトウェア乱数生成部)ことも可能である。ソフトウェア乱数生成部は、4ms毎に発生する割込み処理が実行されていない間に乱数を更新する。具体的には、ソフトウェア乱数生成部は、前回の乱数と最大値とを比較し、前回の乱数が最大値に達していた場合には乱数を0にし、前回の乱数が最大値に達していない場合には乱数を1加算する。そして、遊技球が所定領域を通過したと判定されたときに、乱数(ソフトウェア乱数カウント値)が取得される。 In addition, the main CPUs 300a and 500a can also generate software random numbers by multiplying or dividing the random numbers obtained from the random number generators 740 to 746 by a predetermined number in the program (software random number generator). is. The software random number generation unit updates the random number while interrupt processing that occurs every 4 ms is not being executed. Specifically, the software random number generator compares the previous random number with the maximum value, sets the random number to 0 if the previous random number has reached the maximum value, and sets the previous random number to 0 if the previous random number has not reached the maximum value. In that case, 1 is added to the random number. Then, when it is determined that the game ball has passed through the predetermined area, a random number (software random number count value) is acquired.

ここで、遊技機100では、乱数として、大当たり決定乱数、当たり図柄乱数、リーチグループ決定乱数、リーチモード決定乱数、変動パターン乱数、当たり決定乱数が設けられている。 Here, in the gaming machine 100, as random numbers, jackpot determination random numbers, winning pattern random numbers, reach group determination random numbers, reach mode determination random numbers, variation pattern random numbers, and winning determination random numbers are provided.

大当たり決定乱数は0~65535の範囲であり、当たり図柄乱数は0~99の範囲であり、リーチグループ決定乱数は0~10006の範囲であり、リーチモード決定乱数は0~250の範囲であり、変動パターン乱数は0~238の範囲であり、当たり決定乱数は0~99の範囲である。 The jackpot decision random number is in the range of 0 to 65535, the winning pattern random number is in the range of 0 to 99, the reach group decision random number is in the range of 0 to 10006, the reach mode decision random number is in the range of 0 to 250, Variation pattern random numbers are in the range of 0-238, and hit determination random numbers are in the range of 0-99.

また、普通図柄の当たり図柄を複数設ける場合には、普図図柄乱数を設ける必要があり、例えば、0~99の範囲となる。さらに、普通図柄の変動パターン(変動時間)を複数設ける場合には、普図変動パターン乱数を設ける必要があり、例えば、0~99の範囲となる。 In addition, when providing a plurality of winning patterns of the normal design, it is necessary to provide a normal design random number, for example, in the range of 0-99. Furthermore, when providing a plurality of normal pattern fluctuation patterns (variation time), it is necessary to provide a normal pattern fluctuation pattern random number, for example, in the range of 0-99.

図190は、乱数生成部の組み合わせを説明する図である。例えば、大当たり決定乱数は、0~65535までの乱数を発生させる必要があるため、最大値を65535に設定した最大値設定乱数発生器740により生成された16ビットの乱数を用いる。当たり図柄乱数は、0~99までの乱数を発生させる必要があるため、最大値を99に設定したソフトウェア乱数生成部により生成された8ビットの乱数を用いる。 FIG. 190 is a diagram for explaining combinations of random number generators. For example, since it is necessary to generate a random number from 0 to 65535 for the jackpot determination random number, a 16-bit random number generated by the maximum value setting random number generator 740 whose maximum value is set to 65535 is used. Since it is necessary to generate a random number from 0 to 99 as the winning symbol random number, an 8-bit random number generated by a software random number generator with a maximum value of 99 is used.

リーチグループ決定乱数は、0~10006までの乱数を発生させる必要があるため、最大値を10006に設定した最大値設定乱数発生器740により生成された16ビットの乱数を用いる。リーチモード決定乱数は、0~250までの乱数を発生させる必要があるため、最大値を250に設定したソフトウェア乱数生成部により生成された8ビットの乱数を用いる。変動パターン乱数は、0~238までの乱数を発生させる必要があるため、最大値を238に設定したソフトウェア乱数生成部により生成された8ビットの乱数を用いる。 Since it is necessary to generate a random number from 0 to 10006 as the reach group determination random number, a 16-bit random number generated by the maximum value setting random number generator 740 with the maximum value set to 10006 is used. Since it is necessary to generate a random number from 0 to 250 as the reach mode determination random number, an 8-bit random number generated by a software random number generator with a maximum value of 250 is used. Since it is necessary to generate a random number from 0 to 238 as the variation pattern random number, an 8-bit random number generated by a software random number generator with a maximum value of 238 is used.

当たり決定乱数は、0~99までの乱数を発生させる必要があるため、最大値を99に設定した最大値設定乱数発生器744により生成された8ビットの乱数を用いる。普図図柄乱数は、0~99までの乱数を発生させる必要があるため、最大値を99に設定したソフトウェア乱数生成部により生成された8ビットの乱数を用いる。普図変動パターン乱数は、0~99までの乱数を発生させる必要があるため、最大値を99に設定したソフトウェア乱数生成部により生成された8ビットの乱数を用いる。 Since it is necessary to generate a random number from 0 to 99 as the winning determination random number, an 8-bit random number generated by the maximum value setting random number generator 744 whose maximum value is set to 99 is used. Since it is necessary to generate a random number from 0 to 99 for the normal pattern random number, an 8-bit random number generated by a software random number generator with the maximum value set to 99 is used. Since it is necessary to generate random numbers from 0 to 99, the 8-bit random number generated by the software random number generator with the maximum value set to 99 is used for the normal pattern fluctuation pattern random number.

ここで、ソフトウェア乱数生成部により生成された乱数を用いる場合、図23のステップS100-61、図26のステップS400-17、図23のステップS100-69において、乱数の初期値を決定したり、乱数を更新する処理を実行する必要がある。そうすると、遊技制御処理を行うための制御領域の容量が圧迫されるおそれがある。 Here, when using the random number generated by the software random number generator, in step S100-61 in FIG. 23, step S400-17 in FIG. 26, and step S100-69 in FIG. It is necessary to perform processing to update the random number. Then, there is a possibility that the capacity of the control area for performing the game control process will be squeezed.

そこで、図190(b)、(c)に示すように、例えば、大当たり決定乱数は0~65535の範囲とし、当たり図柄乱数は0~99の範囲とし、リーチグループ決定乱数は0~10006の範囲とし、リーチモード決定乱数は0~1000の範囲とし、変動パターン乱数は0~255の範囲とし、当たり決定乱数は0~65535の範囲とし、普図図柄乱数は0~99の範囲とし、普図変動パターン乱数は0~255の範囲とする。なお、これらの乱数の範囲は一例であり、最大値固定乱数発生器742の最大値である65535を最大値とした乱数、最大値固定乱数発生器746の最大値である255を最大値とした乱数をどの乱数に設定するようにしてもよい。 Therefore, as shown in FIGS. 190(b) and (c), for example, the jackpot determination random number is in the range of 0 to 65535, the winning pattern random number is in the range of 0 to 99, and the reach group determination random number is in the range of 0 to 10006. , the reach mode decision random number is in the range of 0 to 1000, the fluctuation pattern random number is in the range of 0 to 255, the hit decision random number is in the range of 0 to 65535, the general pattern random number is in the range of 0 to 99, and the general pattern The variation pattern random number is in the range of 0-255. The range of these random numbers is an example, and the random number with the maximum value of 65535, which is the maximum value of the maximum value fixed random number generator 742, and the maximum value of 255, which is the maximum value of the maximum value fixed random number generator 746. Any random number may be set as the random number.

そして、図190(b)に示すように、大当たり決定乱数は、最大値を65535に設定した最大値設定乱数発生器740により生成された16ビットの乱数を用いる。当たり図柄決定乱数は、最大値が99に設定された最大値設定乱数発生器740により生成された8ビットの乱数を用いる。リーチグループ決定乱数は、最大値が10006に設定された最大値設定乱数発生器740により生成された16ビットの乱数を用いる。リーチモード決定乱数は、最大値を1000に設定した最大値設定乱数発生器により生成された16ビットの乱数を用いる。変動パターン乱数は、最大値が255に固定された最大値固定乱数発生器746により生成された8ビットの乱数を用いる。 Then, as shown in FIG. 190(b), a 16-bit random number generated by a maximum value setting random number generator 740 with a maximum value of 65535 is used as the jackpot decision random number. As the winning symbol determination random number, an 8-bit random number generated by the maximum value setting random number generator 740 whose maximum value is set to 99 is used. The reach group determination random number uses a 16-bit random number generated by the maximum value set random number generator 740 with the maximum value set to 10,006. The reach mode decision random number uses a 16-bit random number generated by a maximum value setting random number generator with a maximum value of 1000. An 8-bit random number generated by a fixed maximum value random number generator 746 whose maximum value is fixed at 255 is used as the variation pattern random number.

当たり決定乱数は、最大値を65535に設定した最大値設定乱数発生器740により生成された16ビットの乱数を用いる。普図図柄乱数は、最大値を99に設定した最大値設定乱数発生器744により生成された8ビットの乱数を用いる。普図変動パターン乱数は、最大値が255に固定された最大値固定乱数発生器746により生成された8ビットの乱数を用いる。 A 16-bit random number generated by the maximum value setting random number generator 740 with the maximum value set to 65535 is used as the winning decision random number. The normal pattern random number uses an 8-bit random number generated by the maximum value setting random number generator 744 whose maximum value is set to 99. The normal pattern fluctuation pattern random number uses an 8-bit random number generated by the maximum value fixed random number generator 746 whose maximum value is fixed to 255.

また、図190(c)に示すように、大当たり決定乱数および当たり決定乱数は、最大値が65535に固定された最大値固定乱数発生器742により生成された16ビットの乱数を用いてもよい。最大値設定乱数発生器740は、スタート値、乱数更新周期、乱数の最大値等を適宜設定可能であるが、最大値固定乱数発生器742よりも乱数更新周期が遅い。そのため、遊技者の利益に直結する当否乱数(大当たり決定乱数および当たり決定乱数)については、乱数更新周期が早く、乱数の読み取りがされ辛い最大値固定乱数発生器742を用いるとよい。 Also, as shown in FIG. 190(c), the jackpot determination random number and the winning determination random number may be 16-bit random numbers generated by a fixed maximum value random number generator 742 whose maximum value is fixed to 65535. The maximum value setting random number generator 740 can appropriately set a start value, a random number update period, a maximum value of random numbers, etc., but the random number update period is slower than that of the maximum value fixed random number generator 742 . Therefore, for win/fail random numbers (jackpot decision random numbers and winning decision random numbers) that are directly linked to the player's profit, it is preferable to use the maximum value fixed random number generator 742, which has a fast random number update cycle and is difficult to read random numbers.

このように、遊技の進行に用いられる複数の乱数に、乱数発生器740~746(ハードウェア乱数生成部)により生成された乱数を用いることにより、上記した図23のステップS100-61、図26のステップS400-17、図23のステップS100-69において、乱数の初期値を決定したり、乱数を更新する処理を実行する必要がなくなる。これにより、約35バイトのメインROM300bの容量を削減することができるとともに、約4バイトのメインRAM300cの容量を削減することができる。かくして、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 In this way, by using the random numbers generated by the random number generators 740 to 746 (hardware random number generators) as the plurality of random numbers used in the progress of the game, steps S100-61 in FIG. 23 and FIG. In step S400-17 of FIG. 23 and step S100-69 in FIG. 23, there is no need to determine the initial value of the random number or to update the random number. As a result, the capacity of the main ROM 300b of about 35 bytes can be reduced, and the capacity of the main RAM 300c of about 4 bytes can be reduced. Thus, it becomes possible to ensure the capacity of the control area for performing the game control process.

<コマンド「OR」>
図191は、SMC_ROTモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、定常回転中処理を実行するSMC_ROTモジュールの一部である、インデックスフラグに、リールの位置を示すフェーズフラグを合成する処理を挙げて説明する。ここで、インデックスフラグは、リール410a、410b、410cが定常回転の速度となった後、インデックス信号を取得したときにONされる1バイト値で表されるフラグである。例えば、左リール410aのインデックス信号を取得するとインデックスフラグのビット0が1となり、中リール410bのインデックス信号を取得するとインデックスフラグのビット1が1となり、右リール410cのインデックス信号を取得するとインデックスフラグのビット2が1となる。かかるインデックスフラグを参照することで、いずれのリール410a、410b、410cがインデックス信号を取得済みか確認することが可能となる。また、フェーズフラグは、処理中であるリール410a、410b、410cを特定する1バイトで示されるフラグである。例えば、左リール410aの処理中はフェーズフラグのビット0が1となり(00000001B)、中リール410bの処理中はフェーズフラグのビット1が1となり(00000010B)、右リール410cの処理中はフェーズフラグのビット2が1となる(00000100B)。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該SMC_ROTモジュールの説明中、第1レジスタはCレジスタであり、第2レジスタはHLレジスタであり、第1レジスタおよび第2レジスタと異なるレジスタはAレジスタである。
<Command “OR”>
FIG. 191 is a flow chart showing specific processing of the SMC_ROT module. Here, as an arbitrary process, a process of synthesizing a phase flag indicating the reel position with an index flag, which is part of the SMC_ROT module that executes the steady rotation process, will be described. Here, the index flag is a flag represented by a 1-byte value that is turned ON when an index signal is acquired after the reels 410a, 410b, and 410c reach a steady rotation speed. For example, bit 0 of the index flag becomes 1 when the index signal of the left reel 410a is acquired, bit 1 of the index flag becomes 1 when the index signal of the middle reel 410b is acquired, and bit 1 of the index flag becomes 1 when the index signal of the right reel 410c is acquired. Bit 2 becomes 1. By referring to the index flag, it is possible to confirm which of the reels 410a, 410b, 410c has acquired the index signal. The phase flag is a 1-byte flag that specifies the reels 410a, 410b, and 410c that are being processed. For example, bit 0 of the phase flag becomes 1 (00000001B) during processing of the left reel 410a, bit 1 of the phase flag becomes 1 (00000010B) during processing of the middle reel 410b, and bit 1 of the phase flag becomes 1 (00000010B) during processing of the right reel 410c. Bit 2 becomes 1 (00000100B). Numerical values of step S in this figure are used only in the explanation of this figure. Also, in the description of the SMC_ROT module, the first register is the C register, the second register is the HL register, and the register different from the first and second registers is the A register.

かかるSMC_ROTモジュールを実行する段階では、既に、所定のレジスタ(例えば、Cレジスタ)にフェーズフラグの値が保持されているとする。そして、メインCPU500aは、図191のように、任意の処理を実行する。メインCPU500aは、まず、HLレジスタに、論理和の対象となるインデックスフラグ(変数)のアドレスを設定する(S1)。そして、メインCPU500aは、インデックスフラグにフェーズフラグを合成するため、既に設定されているCレジスタの値(フェーズフラグ)と、HLレジスタで示されるアドレスに格納された1バイト値との論理和を計算し、論理和の結果を、インデックスフラグに反映するために、HLレジスタで示されるアドレスに格納されている値に上書きする(S2)。ここで、合成は、変数であるフェーズフラグのいずれかのビットが立っていると(1であれば)、インデックスフラグの同ビットも立たせる(1にする)ことを言う。したがって、処理中のリール410a、410b、410cについてはフェーズフラグが立っているので、インデックス信号の取得有無に拘わらず、合成により、インデックスフラグの該当ビットが立つこととなる。また、全てのインデックス信号が取得されると(全リール410a、410b、410cが定常回転速度となると)、フェーズフラグに拘わらず、インデックスフラグの各リールに相当するビットが全て立つ(00000111B)こととなる。そして、励磁パターン更新前処理を実行するPRE_PLSモジュールに移動することで当該SMC_ROTモジュールを終了する(S3)。こうして、インデックスフラグにフェーズフラグを合成することが可能となる。 It is assumed that the value of the phase flag is already held in a predetermined register (for example, C register) at the stage of executing the SMC_ROT module. Then, the main CPU 500a executes arbitrary processing as shown in FIG. The main CPU 500a first sets the address of the index flag (variable) to be logically summed in the HL register (S1). Then, in order to synthesize the phase flag with the index flag, the main CPU 500a calculates the logical sum of the already set C register value (phase flag) and the 1-byte value stored at the address indicated by the HL register. Then, the value stored at the address indicated by the HL register is overwritten with the result of the logical sum in order to reflect it in the index flag (S2). Here, combining means that when any bit of the phase flag, which is a variable, is set (if it is 1), the same bit of the index flag is also set (set to 1). Therefore, since the phase flag is set for the reels 410a, 410b, and 410c being processed, the corresponding bit of the index flag is set by synthesis regardless of whether or not the index signal is acquired. Also, when all the index signals are acquired (when all the reels 410a, 410b, and 410c reach a steady rotational speed), all the bits corresponding to the respective reels of the index flags are set (00000111B) regardless of the phase flags. Become. Then, the SMC_ROT module ends by moving to the PRE_PLS module that executes the excitation pattern update preprocessing (S3). Thus, it is possible to synthesize the phase flag with the index flag.

図192は、SMC_ROTモジュールを実現するためのコマンドの一例を説明するための説明図である。図191で示したフローチャートは、例えば、図192に示したプログラムによって実現される。 FIG. 192 is an explanatory diagram for explaining an example of commands for realizing the SMC_ROT module. The flowchart shown in FIG. 191 is realized by the program shown in FIG. 192, for example.

図192の1行目の指標「SMC_ROT:」は、当該SMC_ROTモジュールの先頭アドレスを示す。2行目のコマンド「LDQ HL,LOW _IDX_FND」によって、Qレジスタの値をHレジスタに読み出し、アドレス「_IDX_FND」の下位1バイトの値をLレジスタに読み出す。かかる2行目のコマンドが、図191のステップS1に対応する。 The index "SMC_ROT:" on the first line in FIG. 192 indicates the head address of the SMC_ROT module. The command "LDQ HL, LOW_IDX_FND" on the second line reads the value of the Q register to the H register, and reads the value of the lower 1 byte of the address "_IDX_FND" to the L register. The command on the second line corresponds to step S1 in FIG.

図192の3行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値(インデックスフラグの値)がAレジスタに読み出される。4行目のコマンド「OR A,C」によって、Aレジスタの値とCレジスタの値の論理和が計算され、その計算結果によってAレジスタが更新される。そして、5行目のコマンド「LD (HL),A」によって、Aレジスタの値をHLレジスタで示されるアドレスに格納する。すなわち、Aレジスタの値を、HLレジスタで示されるアドレスに格納された1バイト値に上書きし、インデックスフラグの値を更新する。かかる3~5行目のコマンドが、図191のステップS2に対応する。 The command "LD A, (HL)" on the third line in FIG. 192 causes the 1-byte value (index flag value) stored at the address indicated by the HL register to be read to the A register. The command "OR A, C" on the fourth line calculates the logical sum of the value of the A register and the value of the C register, and updates the A register with the calculation result. Then, the value of the A register is stored in the address indicated by the HL register by the command "LD (HL), A" on the fifth line. That is, the 1-byte value stored at the address indicated by the HL register is overwritten with the value of the A register, and the value of the index flag is updated. The commands on the 3rd to 5th lines correspond to step S2 in FIG.

図192の6行目のコマンド「JP PRE_PLS」によって、PRE_PLSモジュールの先頭アドレスを示す指標「PRE_PLS:」に移動する。かかる6行目のコマンドが、図191のステップS3に対応する。 The command "JP PRE_PLS" on the sixth line in FIG. 192 moves to the index "PRE_PLS:" indicating the start address of the PRE_PLS module. The sixth line command corresponds to step S3 in FIG.

このように、図192に示したSMC_ROTモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDQ HL,LOW _IDX_FND」2バイト+3行目のコマンド「LD A,(HL)」1バイト+4行目のコマンド「OR A,C」1バイト+5行目のコマンド「LD (HL),A」1バイト+6行目のコマンド「JP PRE_PLS」3バイト=8バイトとなり、総実行サイクルは、2行目2サイクル+3行目2サイクル+4行目1サイクル+5行目2サイクル+6行目3サイクル=10サイクルとなる。かかるSMC_ROTモジュールにおいて3~5行目の処理を設けることによって、変数として格納されているインデックスフラグとフェーズフラグとを容易に合成(論理和)することが可能となる。 Thus, the total command size of the commands of the SMC_ROT module shown in FIG. 192 is the command "LDQ HL, LOW_IDX_FND" on the second line 2 bytes + the command "LD A, (HL)" on the third line 1 byte + 4 lines 1st command "OR A, C" 1 byte + 5th line command "LD (HL), A" 1 byte + 6th line command "JP PRE_PLS" 3 bytes = 8 bytes. 2 cycles+3rd row 2 cycles+4th row 1 cycle+5th row 2 cycles+6th row 3 cycles=10 cycles. By providing the processing of lines 3 to 5 in the SMC_ROT module, it becomes possible to easily synthesize (logical sum) the index flag and the phase flag stored as variables.

図193は、SMC_ROTモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図192のSMC_ROTモジュールのコマンド群を、図193のSMC_ROTモジュールのコマンド群に置き換えている。 FIG. 193 is an explanatory diagram for explaining another example of commands for realizing the SMC_ROT module. Here, the command group of the SMC_ROT module in FIG. 192 is replaced with the command group of the SMC_ROT module in FIG.

図193の1行目の指標「SMC_ROT:」は、当該SMC_ROTモジュールの先頭アドレスを示す。2行目のコマンド「LDQ HL,LOW _IDX_FND」によって、Qレジスタの値をHレジスタに読み出し、アドレス「_IDX_FND」の下位1バイトの値をLレジスタに読み出す。 The index "SMC_ROT:" on the first line in FIG. 193 indicates the top address of the SMC_ROT module. The command "LDQ HL, LOW_IDX_FND" on the second line reads the value of the Q register to the H register, and reads the value of the lower 1 byte of the address "_IDX_FND" to the L register.

図193の3行目のコマンド「OR (HL),C」によって、HLレジスタで示されるアドレスに格納された1バイト値と、Cレジスタの値との論理和が計算され、その計算結果をHLレジスタで示されるアドレスに格納する。すなわち、計算結果を、HLレジスタで示されるアドレスに格納された1バイト値に上書きし、インデックスフラグの値を更新する。かかる3行目のコマンドが、図191のステップS2に対応する。 The command "OR (HL), C" on the third line in FIG. Store at the address indicated by the register. That is, the 1-byte value stored at the address indicated by the HL register is overwritten with the calculation result, and the value of the index flag is updated. Such a command on the third line corresponds to step S2 in FIG.

図193の4行目のコマンド「JP PRE_PLS」によって、PRE_PLSモジュールの先頭アドレスを示す指標「PRE_PLS:」に移動する。かかる4行目のコマンドが、図191のステップS3に対応する。 The command "JP PRE_PLS" on the fourth line in FIG. 193 moves to the index "PRE_PLS:" indicating the top address of the PRE_PLS module. The command on the fourth line corresponds to step S3 in FIG.

図193に示したSMC_ROTモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDQ HL,LOW _IDX_FND」2バイト+3行目のコマンド「OR (HL),C」2バイト+4行目のコマンド「JP PRE_PLS」3バイト=7バイトとなり、総実行サイクルは、2行目2サイクル+3行目5サイクル+4行目3サイクル=10サイクルとなる。したがって、図192の場合と比べ、総コマンドサイズが1バイト削減される。かかるSMC_ROTモジュールによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the commands of the SMC_ROT module shown in FIG. JP PRE_PLS" 3 bytes=7 bytes, and the total execution cycle is 2nd line 2 cycles+3rd line 5 cycles+4th line 3 cycles=10 cycles. Therefore, compared with the case of FIG. 192, the total command size is reduced by 1 byte. With this SMC_ROT module, it is possible to further shorten commands and secure the capacity of the control area for performing game control processing.

また、図192と図193とを比較して理解できるように、図192において3行(3行目~5行目)を占有していたコマンド群を、図193においては1行(3行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIGS. 192 and 193, the command group occupying 3 lines (3rd to 5th lines) in FIG. ), it is possible to reduce the number of commands and the design load.

なお、ここでは、論理和を実行するコマンド「OR (HL),C」を挙げて説明したが、かかる場合に限らず、論理積を実行するコマンド「AND (HL),C」や排他的論理和「XOR (HL),C」であっても、論理和同様の置き換えができ、総コマンドサイズを1バイト削減することができる。また、変数のアドレスを格納するレジスタはHLレジスタに限らずDEレジスタでもよい。さらに、論理和の対象となるレジスタはCレジスタに限らず、Aレジスタ、Bレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタを採用することもできる。 Here, the command "OR (HL), C" for executing the logical sum was mentioned and explained, but the command "AND (HL), C" for executing the logical product and the command "AND (HL), C" for executing the exclusive logic Even the sum "XOR (HL), C" can be replaced in the same manner as the logical sum, and the total command size can be reduced by 1 byte. Also, the register that stores the address of the variable is not limited to the HL register, but may be the DE register. Furthermore, the register to be logically summed is not limited to the C register, and the A register, B register, D register, E register, H register, and L register can also be adopted.

また、ここでは、図192の例と比較して、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図192の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, unlike the example in FIG. 192, the A register is not used here. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 192, if the A register has already been used, it was necessary to stack and save the value of the A register. In this way, it becomes possible to effectively use resources.

<コマンド「LDF」>
図194は、INITIALモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図82のステップS2000で示したCPU初期化処理を実行するINITIALモジュールの一部である内蔵レジスタエリア設定処理を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該INITIALモジュールの説明中、第1レジスタはHLレジスタである。
<Command “LDF”>
FIG. 194 is a flow chart showing specific processing of the INITIAL module. Here, as an arbitrary process, the built-in register area setting process, which is a part of the INITIAL module that executes the CPU initialization process shown in step S2000 in FIG. 82, will be described. Numerical values of step S in this figure are used only in the explanation of this figure. Also, in the description of the INITIAL module, the first register is the HL register.

メインCPU500aは、図194のように、任意の処理を実行する。メインCPU500aは、まず、HLレジスタに、CPU内蔵レジスタ設定データテーブル(データテーブル)の先頭アドレスを設定する(S1)。そして、メインCPU500aは設定データ数を設定する(S2)。 The main CPU 500a executes arbitrary processing as shown in FIG. The main CPU 500a first sets the top address of the CPU built-in register setting data table (data table) in the HL register (S1). Then, the main CPU 500a sets the number of setting data (S2).

続いて、メインCPU500aは、入出力部を通じてアクセス可能な内蔵レジスタのアドレスおよび設定データをそれぞれCレジスタおよびAレジスタに設定する(S3)。次に、Cレジスタで示される内蔵レジスタに、Aレジスタの値(設定データ)を出力する(S4)。続いて、メインCPU500aは、Bレジスタの値(設定データ数)をデクリメント(「1」減算)し、デクリメントした結果が0であるか否か判定する(S5)。ここで、デクリメントした結果が0でなければ(S5におけるNO)、ステップS3からの処理を繰り返し、デクリメントした結果が0であれば(S5におけるYES)、次の処理に移行する。 Subsequently, the main CPU 500a sets the address of the internal register accessible through the input/output unit and the set data in the C register and the A register, respectively (S3). Next, the value of the A register (setting data) is output to the built-in register indicated by the C register (S4). Subsequently, the main CPU 500a decrements (subtracts "1") the value of the B register (number of set data), and determines whether or not the result of the decrement is 0 (S5). Here, if the decremented result is not 0 (NO in S5), the processing from step S3 is repeated, and if the decremented result is 0 (YES in S5), the next processing is performed.

図195は、INITIALモジュールを実現するためのコマンドの一例を説明するための説明図である。このうち、図195(a)は、INITIALモジュールのコマンド群を示し、図195(b)は、メインROM500bのプログラムデータにおける1バイトデータ群の配置を示す。図194で示したフローチャートは、例えば、図195に示したプログラムによって実現される。 FIG. 195 is an explanatory diagram for explaining an example of commands for realizing the INITIAL module. Among them, FIG. 195(a) shows the command group of the INITIAL module, and FIG. 195(b) shows the arrangement of the 1-byte data group in the program data of the main ROM 500b. The flowchart shown in FIG. 194 is realized by the program shown in FIG. 195, for example.

図195(a)の1行目の指標「INITIAL:」は、当該INITIALモジュールの先頭アドレスを示す。2行目のコマンド「LD HL,T_CPU_REG」によって、CPU内蔵レジスタ設定データテーブルの先頭アドレス「T_CPU_REG」がHLレジスタに読み出される。かかる2行目のコマンドが、図194のステップS1に対応する。3行目のコマンド「LD B,@NUM_CPU_REG」によって、アドレス「@NUM_CPU_REG」に格納されている設定データ数がBレジスタに読み出される。かかる3行目のコマンドが、図194のステップS2に対応する。 The index "INITIAL:" on the first line in FIG. 195(a) indicates the start address of the INITIAL module. By the command "LD HL, T_CPU_REG" on the second line, the head address "T_CPU_REG" of the CPU built-in register setting data table is read to the HL register. The command on the second line corresponds to step S1 in FIG. The number of setting data stored in the address "@NUM_CPU_REG" is read out to the B register by the command "LD B, @NUM_CPU_REG" on the third line. Such a command on the third line corresponds to step S2 in FIG.

なお、図195(b)の22行目を参照して理解できるように、アドレス「@NUM_CPU_REG」には、コマンド「EQU ($-T_CPU_REG)/2」が記載されている。ここで、「$」は、転送元となる1バイトデータ群の最終アドレスの次のアドレス、すなわち、アドレス「@NUM_CPU_REG」自体であり、「T_CPU_REG」は転送元となる1バイトデータ群の先頭アドレスなので、$-T_CPU_REGの値(データ数を示す1バイト値)の値が、1バイト値の総バイト数となり、その値を、アドレスと値との組み合わせ数である2で除算すると、設定データ数が導出される。例えば、図195(b)の例では、設定データ数は20/2=10となる。 As can be understood by referring to the 22nd line in FIG. 195(b), the address "@NUM_CPU_REG" describes the command "EQU ($-T_CPU_REG)/2". Here, "$" is the address next to the final address of the 1-byte data group that is the transfer source, that is, the address "@NUM_CPU_REG" itself, and "T_CPU_REG" is the start address of the 1-byte data group that is the transfer source. Therefore, the value of $-T_CPU_REG (a 1-byte value indicating the number of data) is the total number of bytes of the 1-byte value, and dividing that value by 2, the number of combinations of addresses and values, gives the number of set data is derived. For example, in the example of FIG. 195(b), the number of setting data is 20/2=10.

図195(a)の4行目の指標「INITIAL01:」は繰り返し処理の先頭アドレスを示す。5行目のコマンド「LDIN AC,(HL)」によって、HLレジスタで示されるアドレスに格納された値がCレジスタに格納され、HLレジスタに「1」を加えた値で示されるアドレスに格納された値がAレジスタに格納される。かかる5行目のコマンドが、図194のステップS3に対応する。6行目のコマンド「OUT (C),A」によって、Cレジスタで示される値(内蔵レジスタ)に、Aレジスタの値(設定データ)が出力される。かかる6行目のコマンドが、図194のステップS4に対応する。 The index "INITIAL01:" on the fourth line in FIG. 195(a) indicates the starting address of the repeated processing. By the command "LDIN AC, (HL)" on the fifth line, the value stored at the address indicated by the HL register is stored in the C register, and is stored at the address indicated by adding "1" to the HL register. The resulting value is stored in the A register. This fifth line command corresponds to step S3 in FIG. The command "OUT (C), A" on the sixth line outputs the value of the A register (set data) to the value indicated by the C register (internal register). The sixth line command corresponds to step S4 in FIG.

例えば、HLレジスタがアドレス「T_CPU_REG」の値であった場合、図195(b)の2行目における1バイト値「@PT0PR__」がCレジスタに格納され、図195(b)の3行目における「120」の値がAレジスタに格納される。そして、Cレジスタの値、すなわち「@PT0PR__」で示されるアドレスに、Aレジスタの値、すなわち、「120」の値を出力する。 For example, if the HL register has the value of the address "T_CPU_REG", the 1-byte value "@PT0PR__" in the second line of FIG. 195(b) is stored in the C register, and the A value of "120" is stored in the A register. Then, it outputs the value of the A register, that is, the value of "120", to the value of the C register, that is, the address indicated by "@PT0PR__".

続いて、図195(a)の7行目のコマンド「DJNZ INITIAL01」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、アドレス「INITIAL01」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「10」なので、「INITIAL01」からの処理を10回繰り返すとBレジスタの値が0となる。かかる7行目のコマンドが、図194のステップS5に対応する。 Subsequently, the value of the B register is decremented (subtracted by "1") by the command "DJNZ INITIAL01" on the 7th line in FIG. , if the decremented result is 0, the process is shifted to the command following the command. Here, since the number of data is "10", the value of the B register becomes 0 when the processing from "INITIAL01" is repeated 10 times. Such a command on the seventh line corresponds to step S5 in FIG.

このように、図195(a)に示したINITIALモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD HL,T_CPU_REG」3バイト+3行目のコマンド「LD B,@NUM_CPU_REG」2バイト+5行目のコマンド「LDIN AC,(HL)」2バイト+6行目のコマンド「OUT (C),A」2バイト+7行目のコマンド「DJNZ INITIAL01」2バイト=11バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+5行目4サイクル+6行目3サイクル+7行目3サイクル(2サイクル)=15サイクル(14サイクル)となる。なお、括弧内のサイクル数は、コマンド「DJNZ INITIAL01」によって移動しなかった場合の実行サイクルを示している。なお、ここでは、設定データ数=10なので、5~7行目のコマンドが10回繰り返されることとなる。したがって、実際の総実行サイクルは、2行目3サイクル+3行目2サイクル+(5行目4サイクル+6行目3サイクル+7行目3サイクル)×9ループ+(5行目4サイクル+6行目3サイクル+7行目2サイクル)=104サイクルとなる。かかるINITIALモジュールによって、内部レジスタに設定データを設定することができる。 Thus, the total command size of the commands of the INITIAL module shown in FIG. 195(a) is the command "LD HL, T_CPU_REG" 3 bytes on the second line + the command "LD B, @NUM_CPU_REG" 2 bytes on the third line + 5 bytes. 2 bytes of the command "LDIN AC, (HL)" on the 6th line + 2 bytes of the command "OUT (C), A" on the 6th line + 2 bytes of the command "DJNZ INITIAL01" on the 7th line = 11 bytes, and the total execution cycle is 2nd row 3 cycles+3rd row 2 cycles+5th row 4 cycles+6th row 3 cycles+7th row 3 cycles (2 cycles)=15 cycles (14 cycles). Note that the number of cycles in parentheses indicates the execution cycle when the command "DJNZ INITIAL01" does not move. Here, since the number of setting data is 10, the commands on the 5th to 7th lines are repeated 10 times. Therefore, the actual total execution cycle is: 2nd line 3 cycles + 3rd line 2 cycles + (5th line 4 cycles + 6th line 3 cycles + 7th line 3 cycles) x 9 loops + (5th line 4 cycles + 6th line 3 cycles+7th row 2 cycles)=104 cycles. Setting data can be set in internal registers by such an INITIAL module.

図196は、INITIALモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図195(a)のINITIALモジュールのコマンド群を、図196(a)のINITIALモジュールのコマンド群に置き換えており、他の、図195(b)のメインROM500bのプログラムデータにおける1バイトデータ群は、図196(b)として、そのまま用いている。 FIG. 196 is an explanatory diagram for explaining another example of commands for realizing the INITIAL module. Here, the command group of the INITIAL module in FIG. 195(a) is replaced with the command group of the INITIAL module in FIG. The group is used as it is as FIG. 196(b).

図196(a)の1行目の指標「INITIAL:」は、当該INITIALモジュールの先頭アドレスを示す。2行目のコマンド「LDF HL,T_CPU_REG」によって、CPU内蔵レジスタ設定データテーブルの先頭アドレス「T_CPU_REG」がHLレジスタに読み出される。かかる2行目のコマンドが、図194のステップS1に対応する。 The index "INITIAL:" on the first line in FIG. 196(a) indicates the head address of the INITIAL module. By the command "LDF HL, T_CPU_REG" on the second line, the head address "T_CPU_REG" of the CPU built-in register setting data table is read to the HL register. The command on the second line corresponds to step S1 in FIG.

ここで、コマンド「LDF HL,mn」は、「mn」の値をHLレジスタに格納するコマンドである。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「2」である。一方、一般的に用いられるロードコマンド「LD HL,mn」も「mn」の値をHLレジスタに格納するコマンドであるが、そのコマンドのコマンドサイズは「3」であり、実行サイクルは「3」である。したがって、mnがメモリマップ上の1200H~1DFFHの範囲であり、かつ、HLレジスタにロードすることを条件に、「LD」を「LDF」に変更することで、コマンドサイズが1バイト削減され、実行サイクルも1サイクル削減される。 Here, the command "LDF HL, mn" is a command for storing the value of "mn" in the HL register. Such a command has a command size of "2" and an execution cycle of "2". On the other hand, the generally used load command "LD HL, mn" is also a command to store the value of "mn" in the HL register, but the command size of this command is "3" and the execution cycle is "3". is. Therefore, by changing "LD" to "LDF" on the condition that mn is in the range of 1200H to 1DFFH on the memory map and that it is loaded into the HL register, the command size is reduced by 1 byte and executed. The cycle is also reduced by one cycle.

このように、コマンド「LDF HL,mn」におけるmnの値は、メモリマップにおける1200H~1DFFHのいずれかでなければならない。そこで、本実施形態では、メインROM500bの使用領域における1200H~1DFFHの範囲にプログラムデータを配置し、かかる範囲のデータを読み出す場合にのみコマンド「LDF HL,mn」を用いることとする。なお、「LDF HL,1200H」のアセンブルコードは、対象となるアドレス「1200H」に5800Hを加算した6A00Hと表される。したがって、「LDF HL,1200H」~「LDF HL,1DFFH」のアセンブルコードは、6A00H~75FFHとなる。 Thus, the value of mn in the command "LDF HL, mn" must be anywhere from 1200H to 1DFFH in the memory map. Therefore, in this embodiment, the program data is arranged in the range of 1200H to 1DFFH in the used area of the main ROM 500b, and the command "LDF HL, mn" is used only when reading data in this range. The assemble code of "LDF HL, 1200H" is expressed as 6A00H by adding 5800H to the target address "1200H". Therefore, the assemble code for "LDF HL, 1200H" to "LDF HL, 1DFFH" is 6A00H to 75FFH.

図196(a)の3行目のコマンド「LD B,@NUM_CPU_REG」によって、アドレス「@NUM_CPU_REG」に格納されている設定データ数がBレジスタに読み出される。かかる3行目のコマンドが、図194のステップS2に対応する。 The number of setting data stored at the address "@NUM_CPU_REG" is read to the B register by the command "LD B, @NUM_CPU_REG" on the third line in FIG. 196(a). Such a command on the third line corresponds to step S2 in FIG.

図196(a)の4行目の指標「INITIAL01:」は繰り返し処理の先頭アドレスを示す。5行目のコマンド「LDIN AC,(HL)」によって、HLレジスタで示されるアドレスに格納された値がCレジスタに格納され、HLレジスタに「1」を加えた値で示されるアドレスに格納された値がAレジスタに格納される。かかる5行目のコマンドが、図194のステップS3に対応する。6行目のコマンド「OUT (C),A」によって、Cレジスタで示される値(内蔵レジスタ)に、Aレジスタの値(設定データ)が出力される。かかる6行目のコマンドが、図194のステップS4に対応する。 The index "INITIAL01:" on the fourth line in FIG. 196(a) indicates the starting address of the repeated processing. By the command "LDIN AC, (HL)" on the fifth line, the value stored at the address indicated by the HL register is stored in the C register, and is stored at the address indicated by adding "1" to the HL register. The resulting value is stored in the A register. This fifth line command corresponds to step S3 in FIG. The command "OUT (C), A" on the sixth line outputs the value of the A register (set data) to the value indicated by the C register (internal register). The sixth line command corresponds to step S4 in FIG.

続いて、図196(a)の7行目のコマンド「DJNZ INITIAL01」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、アドレス「INITIAL01」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「10」なので、「INITIAL01」からの処理を10回繰り返すとBレジスタの値が0となる。かかる7行目のコマンドが、図194のステップS5に対応する。 Subsequently, the value of the B register is decremented (subtracted by "1") by the command "DJNZ INITIAL01" on the 7th line in FIG. , if the decremented result is 0, the process is shifted to the command following the command. Here, since the number of data is "10", the value of the B register becomes 0 when the processing from "INITIAL01" is repeated 10 times. Such a command on the seventh line corresponds to step S5 in FIG.

このように、図196(a)に示したINITIALモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDF HL,T_CPU_REG」2バイト+3行目のコマンド「LD B,@NUM_CPU_REG」2バイト+5行目のコマンド「LDIN AC,(HL)」2バイト+6行目のコマンド「OUT (C),A」2バイト+7行目のコマンド「DJNZ INITIAL01」2バイト=10バイトとなり、総実行サイクルは、2行目2サイクル+3行目2サイクル+5行目4サイクル+6行目3サイクル+7行目3サイクル(2サイクル)=14サイクル(13サイクル)となる。なお、括弧内のサイクル数は、コマンド「DJNZ INITIAL01」によって移動しなかった場合の実行サイクルを示している。なお、ここでは、設定データ数=10なので、5~7行目のコマンドが10回繰り返されることとなる。したがって、実際の総実行サイクルは、2行目2サイクル+3行目2サイクル+(5行目4サイクル+6行目3サイクル+7行目3サイクル)×9ループ+(5行目4サイクル+6行目3サイクル+7行目2サイクル)=103サイクルとなる。したがって、図195(a)の場合と比べ、総コマンドサイズが1バイト削減され、総実行サイクルが1サイクル削減されていることが理解できる。かかるINITIALモジュールによって、コマンドの更なる短縮化、および、処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Thus, the total command size of the INITIAL module commands shown in FIG. 2 bytes of the command "LDIN AC, (HL)" on the line 6 + 2 bytes of the command "OUT (C), A" on the 6th line + 2 bytes of the command "DJNZ INITIAL01" on the 7th line = 10 bytes, and the total execution cycle is 2nd row 2 cycles+3rd row 2 cycles+5th row 4 cycles+6th row 3 cycles+7th row 3 cycles (2 cycles)=14 cycles (13 cycles). Note that the number of cycles in parentheses indicates the execution cycle when the command "DJNZ INITIAL01" does not move. Here, since the number of setting data is 10, the commands on the 5th to 7th lines are repeated 10 times. Therefore, the actual total execution cycle is: 2nd line 2 cycles + 3rd line 2 cycles + (5th line 4 cycles + 6th line 3 cycles + 7th line 3 cycles) x 9 loops + (5th line 4 cycles + 6th line 3 cycles+7th row 2 cycles)=103 cycles. Therefore, it can be understood that the total command size is reduced by 1 byte and the total execution cycle is reduced by 1 cycle compared to the case of FIG. 195(a). With such an INITIAL module, it is possible to further shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

なお、上述した実施形態では、INITIALモジュールを挙げ、内部レジスタに設定データを設定する処理において、コマンド「LD HL,T_CPU_REG」をコマンド「LDF HL,T_CPU_REG」に置き換え、コマンドの更なる短縮化、および、処理負荷の軽減を図る例を挙げて説明した。しかし、かかるコマンドは、INITIALモジュールに限らず、様々なモジュールにも適用できる。 In the above-described embodiment, the INITIAL module is used and the command "LD HL, T_CPU_REG" is replaced with the command "LDF HL, T_CPU_REG" in the process of setting the setting data in the internal register. , an example of reducing the processing load has been described. However, such commands are applicable not only to the INITIAL module but also to various modules.

例えば、表示データ変換処理を実行するDGEXTRNモジュールにおいても、コマンド「LD HL,T_SEG_PTN」が存在し、INITIALモジュール同様、メイン表示器表示パターンデータテーブルの先頭アドレス「T_SEG_PTN」がHLレジスタに読み出されている。また、先頭アドレス「T_SEG_PTN」は、1200H~1DFFHの範囲に含まれる。したがって、DGEXTRNモジュールにおいても、コマンド「LD HL,T_SEG_PTN」をコマンド「「LDF HL,T_SEG_PTN」に変更することで、コマンドの更なる短縮化、および、処理負荷の軽減を図ることができる。 For example, even in the DGEXTRN module that executes the display data conversion process, there is a command "LD HL, T_SEG_PTN", and like the INITIAL module, the start address "T_SEG_PTN" of the main display display pattern data table is read into the HL register. there is Also, the starting address "T_SEG_PTN" is included in the range of 1200H to 1DFFH. Therefore, even in the DGEXTRN module, by changing the command "LD HL, T_SEG_PTN" to the command "LDF HL, T_SEG_PTN", it is possible to further shorten the command and reduce the processing load.

また、図柄配列データ取得処理を実行するGET_ARYモジュールにおいても、コマンド「LD HL,T_FIG_LIN」が存在し、INITIALモジュール同様、有効ライン別図柄配列オフセットテーブルの先頭アドレス「T_FIG_LIN」がHLレジスタに読み出されている。また、先頭アドレス「T_FIG_LIN」は、1200H~1DFFHの範囲に含まれる。したがって、GET_ARYモジュールにおいても、コマンド「LD HL,T_FIG_LIN」をコマンド「LDF HL,T_FIG_LIN」に変更することで、コマンドの更なる短縮化、および、処理負荷の軽減を図ることができる。 Also in the GET_ARY module that executes the pattern array data acquisition process, there is a command "LD HL, T_FIG_LIN", and like the INITIAL module, the top address "T_FIG_LIN" of the pattern array offset table for each active line is read out to the HL register. ing. Also, the starting address "T_FIG_LIN" is included in the range of 1200H to 1DFFH. Therefore, even in the GET_ARY module, by changing the command "LD HL, T_FIG_LIN" to the command "LDF HL, T_FIG_LIN", it is possible to further shorten the command and reduce the processing load.

このように、転送元のアドレスを1200H~1DFFHの範囲に収めることで、ほとんどのコマンド「LD HL,mn」をコマンド「LDF HL,mn」に置き換えることができる。かかる置き換えを本実施形態における全ての処理に適用することで、例えば、総コマンドサイズを80~90バイト短縮化することも可能となる。 By keeping the transfer source address within the range of 1200H to 1DFFH in this way, most of the commands "LD HL, mn" can be replaced with the command "LDF HL, mn". By applying such replacement to all processes in this embodiment, it is possible to reduce the total command size by 80 to 90 bytes, for example.

かかるコマンド「LDF」は、上述したINITIALモジュールのみならず、様々なモジュール、例えば、RANKSETモジュール等に採用することができる。また、スロットマシンのみならず、パチンコ機における、例えば、PWRFAILモジュールやDYM_OUTモジュール等にも採用することができる。 Such a command "LDF" can be employed not only in the INITIAL module described above but also in various modules such as the RANKSET module. Moreover, it can be used not only in slot machines but also in pachinko machines, such as PWRFAIL modules and DYM_OUT modules.

図197は、RANKSETモジュールを説明するための説明図である。図85のステップS2020に示したRANKSETモジュールは、設定値切り替え処理、すなわち、設定値を切り替え、設定値データを更新する。なお、ここでは、RANKSETモジュール中のステップS2020-5の設定値切り替え時データテーブルセット処理を挙げて説明する。 FIG. 197 is an explanatory diagram for explaining the RANKSET module. The RANKSET module shown in step S2020 of FIG. 85 performs set value switching processing, that is, switches set values and updates set value data. Here, the data table setting process at the time of setting value switching in step S2020-5 in the RANKSET module will be described.

図197(a)の1行目の指標「RANKSET:」は、当該RANKSETモジュールの先頭アドレスを示す。2行目のコマンド「LD HL,T_RNK_SET」によって、設定値切り替え時データテーブルの先頭アドレス「T_RNK_SET」がHLレジスタに読み出される。3行目のコマンド「RST TABLSET」によって、サブルーチンとして、図138を用いて説明したTABLSETモジュールが呼び出される。かかるTABLSETモジュールについては既に説明されているので、ここでは、その詳細な説明を省略する。ここでは、設定値切り替え時データテーブルにおける2つの変数(_WIN_DAT、_EXT_REQ)が所定値に設定される。 The index "RANKSET:" on the first line in FIG. 197(a) indicates the start address of the RANKSET module. By the command "LD HL, T_RNK_SET" on the second line, the start address "T_RNK_SET" of the data table at the time of setting value switching is read to the HL register. The command "RST TABLET" on the third line calls the TABLET module described with reference to FIG. 138 as a subroutine. Since such a TABLESET module has already been explained, its detailed explanation is omitted here. Here, two variables (_WIN_DAT, _EXT_REQ) in the set value switching time data table are set to predetermined values.

ここで、コマンド「LDF」への置き換えを行うと、図197(a)のコマンド群を図197(b)のように変更することができる。図197(b)の1行目の指標「RANKSET:」は、当該RANKSETモジュールの先頭アドレスを示す。2行目のコマンド「LDF HL,T_RNK_SET」によって、設定値切り替え時データテーブルの先頭アドレス「T_RNK_SET」がHLレジスタに読み出される。なお、設定値切り替え時データテーブルの先頭アドレス「T_RNK_SET」はメインROM500bの使用領域における1200H~1DFFHの範囲に配置される。3行目のコマンド「RST TABLSET」によって、サブルーチンとして、図138を用いて説明したTABLSETモジュールが呼び出される。こうして、図197(a)同様、設定値切り替え時データテーブルにおける2つの変数(_WIN_DAT、_EXT_REQ)が所定値に設定される。 Here, if the command "LDF" is replaced, the command group of FIG. 197(a) can be changed as shown in FIG. 197(b). The index "RANKSET:" on the first line in FIG. 197(b) indicates the start address of the RANKSET module. By the command "LDF HL, T_RNK_SET" on the second line, the start address "T_RNK_SET" of the data table at the time of setting value switching is read to the HL register. The start address "T_RNK_SET" of the data table at the time of setting value switching is arranged in the range of 1200H to 1DFFH in the used area of the main ROM 500b. The command "RST TABLET" on the third line calls the TABLET module described with reference to FIG. 138 as a subroutine. Thus, two variables (_WIN_DAT, _EXT_REQ) in the set value switching time data table are set to predetermined values as in FIG. 197(a).

ここで、図197(a)に示したRANKSETモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD HL,T_RNK_SET」3バイト+3行目のコマンド「RST TABLSET」1バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目4サイクル=7サイクルとなる。一方、図197(b)に示したRANKSETモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDF HL,T_RNK_SET」2バイト+3行目のコマンド「RST TABLSET」1バイト=3バイトとなり、総実行サイクルは、2行目2サイクル+3行目4サイクル=6サイクルとなる。したがって、図197(a)の場合と比べ、総コマンドサイズが1バイト削減され、総実行サイクルが1サイクル削減されていることが理解できる。かかるRANKSETモジュールによって、コマンドの更なる短縮化、および、処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of commands of the RANKSET module shown in FIG. The total execution cycle is 3 cycles on the 2nd line + 4 cycles on the 3rd line = 7 cycles. On the other hand, the total command size of the commands of the RANKSET module shown in FIG. The execution cycle is 2 cycles on the 2nd line + 4 cycles on the 3rd line = 6 cycles. Therefore, it can be understood that the total command size is reduced by 1 byte and the total execution cycle is reduced by 1 cycle compared to the case of FIG. 197(a). With such a RANKSET module, it is possible to further shorten the commands, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

図198は、PWRFAILモジュールを説明するための説明図である。図25のステップS300に示したPWRFAILモジュールは、電源断時退避処理、すなわち、設定値を切り替え、設定値データを更新する。なお、ここでは、PWRFAILモジュール中のステップS300-11の出力ポートクリア処理を挙げて説明する。 FIG. 198 is an explanatory diagram for explaining the PWRFAIL module. The PWRFAIL module shown in step S300 of FIG. 25 performs saving processing when the power is turned off, that is, switches the setting value and updates the setting value data. Note that the output port clear processing in step S300-11 in the PWRFAIL module will be described here.

ここでは、出力ポートの初期値として予め00HがAレジスタに設定されているとする。図198(a)の1行目の指標「PWRFAIL:」は、当該PWRFAILモジュールの先頭アドレスを示す。2行目のコマンド「LD HL,D_OUT_PRT」によって、出力ポートアドレステーブルの先頭アドレス「D_OUT_PRT」がHLレジスタに読み出される。3行目のコマンド「LD B,@PRT_CLR_LOP」によって、アドレス「@PRT_CLR_LOP」に格納されている出力ポート初期化ループカウンタ値(ここでは13)がループ回数としてBレジスタに読み出される。 Assume that 00H is set in the A register in advance as the initial value of the output port. The index "PWRFAIL:" on the first line in FIG. 198(a) indicates the start address of the PWRFAIL module. The command "LD HL, D_OUT_PRT" on the second line causes the top address "D_OUT_PRT" of the output port address table to be read to the HL register. By the command "LD B, @PRT_CLR_LOP" on the third line, the output port initialization loop counter value (here, 13) stored at the address "@PRT_CLR_LOP" is read to the B register as the number of loops.

図198(a)の4行目の指標「PWRFAIL_20:」は繰り返し処理の先頭アドレスを示す。5行目のコマンド「LD C,(HL)」によって、HLレジスタで示されるアドレスに格納された値(出力ポートアドレス)がCレジスタに読み出される。6行目のコマンド「OUT (C),A」によって、Cレジスタで示される値(内蔵レジスタ)に、Aレジスタの値(ここでは00H)が出力され、出力ポートがクリアされる。 The index “PWRFAIL — 20:” on the fourth line in FIG. 198(a) indicates the start address of the repeated processing. The value (output port address) stored at the address indicated by the HL register is read to the C register by the command "LD C, (HL)" on the fifth line. The command "OUT (C), A" on the sixth line outputs the value of the A register (here, 00H) to the value indicated by the C register (internal register), and clears the output port.

続いて、図198(a)の7行目のコマンド「INC HL」によってHLレジスタの値が1だけインクリメントされる。8行目のコマンド「DJNZ PWRFAIL_20」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、アドレス「PWRFAIL_20」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「13」なので、「PWRFAIL_20」からの処理を13回繰り返すとBレジスタの値が0となる。こうして、出力ポートがクリアされる。 Subsequently, the value of the HL register is incremented by one by the command "INC HL" on the 7th line in FIG. 198(a). The command "DJNZ PWRFAIL_20" on the eighth line decrements the value of the B register (subtracts "1"). , the process moves to the next command after the current command. Here, since the number of data is "13", the value of the B register becomes 0 when the processing from "PWRFAIL_20" is repeated 13 times. Thus the output port is cleared.

ここで、コマンド「LDF」への置き換えを行うと、図198(a)のコマンド群を図198(b)のように変更することができる。ここでも、出力ポートの初期値として予め00HがAレジスタに設定されているとする。図198(b)の1行目の指標「PWRFAIL:」は、当該PWRFAILモジュールの先頭アドレスを示す。2行目のコマンド「LDF HL,D_OUT_PRT」によって、出力ポートアドレステーブルの先頭アドレス「D_OUT_PRT」がHLレジスタに読み出される。なお、出力ポートアドレステーブルの先頭アドレス「D_OUT_PRT」はメインROM500bの使用領域における1200H~1DFFHの範囲に配置される。3行目のコマンド「LD B,@PRT_CLR_LOP」によって、アドレス「@PRT_CLR_LOP」に格納されている出力ポート初期化ループカウンタ値(ここでは13)がループ回数としてBレジスタに読み出される。 Here, by replacing with the command "LDF", the command group of FIG. 198(a) can be changed as shown in FIG. 198(b). It is also assumed here that 00H is set in the A register in advance as the initial value of the output port. The index "PWRFAIL:" on the first line in FIG. 198(b) indicates the start address of the PWRFAIL module. The command "LDF HL, D_OUT_PRT" on the second line causes the top address "D_OUT_PRT" of the output port address table to be read to the HL register. The top address "D_OUT_PRT" of the output port address table is arranged in the range of 1200H to 1DFFH in the used area of the main ROM 500b. By the command "LD B, @PRT_CLR_LOP" on the third line, the output port initialization loop counter value (here, 13) stored at the address "@PRT_CLR_LOP" is read to the B register as the loop count.

図198(b)の4行目の指標「PWRFAIL_20:」は繰り返し処理の先頭アドレスを示す。5行目のコマンド「LD C,(HL)」によって、HLレジスタで示されるアドレスに格納された値(出力ポートアドレス)がCレジスタに読み出される。6行目のコマンド「OUT (C),A」によって、Cレジスタで示される値(内蔵レジスタ)に、Aレジスタの値(ここでは00H)が出力され、出力ポートがクリアされる。 The index “PWRFAIL — 20:” on the 4th line in FIG. 198(b) indicates the starting address of the repeated processing. The value (output port address) stored at the address indicated by the HL register is read to the C register by the command "LD C, (HL)" on the fifth line. The command "OUT (C), A" on the sixth line outputs the value of the A register (here, 00H) to the value indicated by the C register (internal register), and clears the output port.

続いて、図198(b)の7行目のコマンド「INC HL」によってHLレジスタの値が1だけインクリメントされる。8行目のコマンド「DJNZ PWRFAIL_20」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、アドレス「PWRFAIL_20」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「13」なので、「PWRFAIL_20」からの処理を13回繰り返すとBレジスタの値が0となる。こうして、出力ポートがクリアされる。 Subsequently, the value of the HL register is incremented by 1 by the command "INC HL" on the 7th line in FIG. 198(b). The command "DJNZ PWRFAIL_20" on the eighth line decrements the value of the B register (subtracts "1"). , the process moves to the next command after the current command. Here, since the number of data is "13", the value of the B register becomes 0 when the processing from "PWRFAIL_20" is repeated 13 times. Thus the output port is cleared.

ここで、図198(a)に示したPWRFAILモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD HL,D_OUT_PRT」3バイト+3行目のコマンド「LD B,@PRT_CLR_LOP」2バイト+5行目のコマンド「LD C,(HL)」1バイト+6行目のコマンド「OUT (C),A」2バイト+7行目のコマンド「INC HL」1バイト+8行目のコマンド「DJNZ PWRFAIL_20」2バイト=11バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+5行目2サイクル+6行目3サイクル+7行目1サイクル+8行目3サイクル(2サイクル)=14サイクル(13サイクル)となる。なお、ここでは、出力ポート初期化ループカウンタ値=13なので、5~8行目のコマンドが13回繰り返されることとなる。したがって、実際の総実行サイクルは、2行目3サイクル+3行目2サイクル+(5行目2サイクル+6行目3サイクル+7行目1サイクル+8行目3サイクル)×12ループ+(5行目2サイクル+6行目3サイクル+7行目1サイクル+8行目2サイクル)=121サイクルとなる。 Here, the total command size of commands of the PWRFAIL module shown in FIG. 1st command "LD C, (HL)" 1 byte + 6th line command "OUT (C), A" 2 bytes + 7th line command "INC HL" 1 byte + 8th line command "DJNZ PWRFAIL_20" 2 bytes = 11 bytes, and the total execution cycle is: 2nd line 3 cycles + 3rd line 2 cycles + 5th line 2 cycles + 6th line 3 cycles + 7th line 1 cycle + 8th line 3 cycles (2 cycles) = 14 cycles (13 cycles) ). Here, since the output port initialization loop counter value=13, the commands on the 5th to 8th lines are repeated 13 times. Therefore, the actual total execution cycle is: 2nd line 3 cycles + 3rd line 2 cycles + (5th line 2 cycles + 6th line 3 cycles + 7th line 1 cycle + 8th line 3 cycles) x 12 loops + (5th line 2 cycles+6th row 3 cycles+7th row 1 cycle+8th row 2 cycles)=121 cycles.

一方、図198(b)に示したPWRFAILモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDF HL,D_OUT_PRT」2バイト+3行目のコマンド「LD B,@PRT_CLR_LOP」2バイト+5行目のコマンド「LD C,(HL)」1バイト+6行目のコマンド「OUT (C),A」2バイト+7行目のコマンド「INC HL」1バイト+8行目のコマンド「DJNZ PWRFAIL_20」2バイト=10バイトとなり、総実行サイクルは、2行目2サイクル+3行目2サイクル+5行目2サイクル+6行目3サイクル+7行目1サイクル+8行目3サイクル(2サイクル)=13サイクル(12サイクル)となる。なお、ここでは、出力ポート初期化ループカウンタ値=13なので、5~8行目のコマンドが13回繰り返されることとなる。したがって、実際の総実行サイクルは、2行目2サイクル+3行目2サイクル+(5行目2サイクル+6行目3サイクル+7行目1サイクル+8行目3サイクル)×12ループ+(5行目2サイクル+6行目3サイクル+7行目1サイクル+8行目2サイクル)=120サイクルとなる。したがって、図198(a)の場合と比べ、総コマンドサイズが1バイト削減され、総実行サイクルが1サイクル削減されていることが理解できる。かかるPWRFAILモジュールによって、コマンドの更なる短縮化、および、処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 On the other hand, the total command size of the commands of the PWRFAIL module shown in FIG. command "LD C, (HL)" 1 byte + 6th line command "OUT (C), A" 2 bytes + 7th line command "INC HL" 1 byte + 8th line command "DJNZ PWRFAIL_20" 2 bytes = 10 bytes, and the total execution cycle is: 2nd line 2 cycles + 3rd line 2 cycles + 5th line 2 cycles + 6th line 3 cycles + 7th line 1 cycle + 8th line 3 cycles (2 cycles) = 13 cycles (12 cycles) becomes. Here, since the output port initialization loop counter value=13, the commands on the 5th to 8th lines are repeated 13 times. Therefore, the actual total execution cycle is: 2nd line 2 cycles + 3rd line 2 cycles + (5th line 2 cycles + 6th line 3 cycles + 7th line 1 cycle + 8th line 3 cycles) x 12 loops + (5th line 2 cycles+6th row 3 cycles+7th row 1 cycle+8th row 2 cycles)=120 cycles. Therefore, it can be understood that the total command size is reduced by 1 byte and the total execution cycle is reduced by 1 cycle compared to the case of FIG. 198(a). With such a PWRFAIL module, it is possible to further shorten commands, reduce the processing load, and secure the capacity of the control area for performing game control processing.

図199は、DYM_OUTモジュールを説明するための説明図である。図26のステップS400-5で示したDYM_OUTモジュールは、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172、性能表示モニタ184を点灯制御するダイナミックポート出力処理を実行する。 FIG. 199 is an explanatory diagram for explaining the DYM_OUT module. The DYM_OUT module shown in step S400-5 of FIG. 26 includes a first special symbol display device 160, a second special symbol display device 162, a first special symbol reservation display device 164, a second special symbol reservation display device 166, and a normal symbol. A dynamic port output process for controlling the lighting of the indicator 168, the normal symbol reservation indicator 170, the right hitting information indicator 172, and the performance display monitor 184 is executed.

図199(a)の1行目の指標「DYM_OUT:」は、当該DYM_OUTモジュールの先頭アドレスを示す。2行目のコマンド「LD HL,D_DYM_SEL」によって、ダイナミック表示選択テーブルの先頭アドレス「D_DYM_SEL」がHLレジスタに読み出される。3行目のコマンド「RST WORDSEL」によって、サブルーチンとして、図127~図130を用いて説明したWORDSELモジュールが呼び出される。かかるWORDSELモジュールについては既に説明されているので、ここでは、その詳細な説明を省略する。こうして、ダイナミック表示選択テーブルにおける4つの2バイトデータが選択される。 The index "DYM_OUT:" on the first line in FIG. 199(a) indicates the head address of the DYM_OUT module. The command "LD HL, D_DYM_SEL" on the second line causes the top address "D_DYM_SEL" of the dynamic display selection table to be read to the HL register. The WORDSEL module described with reference to FIGS. 127 to 130 is called as a subroutine by the command "RST WORDSEL" on the third line. Since the WORDSEL module has already been described, a detailed description thereof will be omitted here. Thus, four 2-byte data in the dynamic display selection table are selected.

ここで、コマンド「LDF」への置き換えを行うと、図199(a)のコマンド群を図199(b)のように変更することができる。図199(b)の1行目の指標「DYM_OUT:」は、当該DYM_OUTモジュールの先頭アドレスを示す。2行目のコマンド「LDF HL,D_DYM_SEL」によって、ダイナミック表示選択テーブルの先頭アドレス「D_DYM_SEL」がHLレジスタに読み出される。なお、ダイナミック表示選択テーブルの先頭アドレス「D_DYM_SEL」はメインROM500bの使用領域における1200H~1DFFHの範囲に配置される。3行目のコマンド「RST WORDSEL」によって、サブルーチンとして、図127~図130を用いて説明したWORDSELモジュールが呼び出される。こうして、ダイナミック表示選択テーブルにおける4つの2バイトデータが選択される。 Here, if the command "LDF" is replaced, the command group of FIG. 199(a) can be changed as shown in FIG. 199(b). The index "DYM_OUT:" on the first line in FIG. 199(b) indicates the head address of the DYM_OUT module. The command "LDF HL, D_DYM_SEL" on the second line causes the top address "D_DYM_SEL" of the dynamic display selection table to be read to the HL register. The top address "D_DYM_SEL" of the dynamic display selection table is arranged in the range of 1200H to 1DFFH in the used area of the main ROM 500b. The WORDSEL module described with reference to FIGS. 127 to 130 is called as a subroutine by the command "RST WORDSEL" on the third line. Thus, four 2-byte data in the dynamic display selection table are selected.

ここで、図199(a)に示したDYM_OUTモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD HL,D_DYM_SEL」3バイト+3行目のコマンド「RST WORDSEL」1バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目4サイクル=7サイクルとなる。一方、図199(b)に示したDYM_OUTモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDF HL,D_DYM_SEL」2バイト+3行目のコマンド「RST WORDSEL」1バイト=3バイトとなり、総実行サイクルは、2行目2サイクル+3行目4サイクル=6サイクルとなる。したがって、図199(a)の場合と比べ、総コマンドサイズが1バイト削減され、総実行サイクルが1サイクル削減されていることが理解できる。かかるDYM_OUTモジュールによって、コマンドの更なる短縮化、および、処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the total command size of commands of the DYM_OUT module shown in FIG. The total execution cycle is 3 cycles on the 2nd line + 4 cycles on the 3rd line = 7 cycles. On the other hand, the total command size of the commands of the DYM_OUT module shown in FIG. The execution cycle is 2 cycles on the 2nd line + 4 cycles on the 3rd line = 6 cycles. Therefore, it can be understood that the total command size is reduced by 1 byte and the total execution cycle is reduced by 1 cycle compared to the case of FIG. 199(a). Such a DYM_OUT module makes it possible to further shorten commands, reduce the processing load, and secure the capacity of the control area for game control processing.

<コマンド「SET」>
図200は、IPT_PDモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図98のステップS3100-21で示した状態別モジュール実行処理を実行するためのCAL_MODモジュールにおいて、タイマ割込み処理用フェーズ(0~3)に応じて4回に1回(5.96msec毎に)選択的に移行し、外部信号出力制御処理を実行するIPT_PDモジュールの一部である外部信号4を設定する処理を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該IPT_PDモジュールの説明中、所定のレジスタはHLレジスタである。
<Command "SET">
FIG. 200 is a flow chart showing specific processing of the IPT_PD module. Here, as arbitrary processing, the CAL_MOD module for executing the state-specific module execution processing shown in step S3100-21 in FIG. The process of setting the external signal 4, which is part of the IPT_PD module that selectively transitions (every 5.96 msec) and performs the external signal output control process, will be described. Numerical values of step S in this figure are used only in the explanation of this figure. Also, in the description of the IPT_PD module, the predetermined register is the HL register.

メインCPU500aは、図200のように、任意の処理を実行する。メインCPU500aは、まず、外部信号出力保持タイマに関するカウンタの減算処理を行う(S1)。そして、メインCPU500aは、HLレジスタに、出力ポート3イメージのアドレスを設定する(S2)。続いて、メインCPU500aは、ステップS1の減算処理によりセキュリティ信号ON条件を満たすか否か判定し、ON条件を満たしていれば、外部信号4、すなわち、HLレジスタで示されるアドレスの値の所定のビットを立たせる(1にする)(S3)。そして、当該IPT_PDモジュールを終了して1段上のルーチンに戻る(S4)。こうして、外部信号4を設定することが可能となる。 The main CPU 500a executes arbitrary processing as shown in FIG. The main CPU 500a first performs subtraction processing of a counter related to the external signal output holding timer (S1). Then, the main CPU 500a sets the address of the output port 3 image in the HL register (S2). Subsequently, the main CPU 500a determines whether or not the security signal ON condition is satisfied by subtraction processing in step S1. A bit is raised (set to 1) (S3). Then, the IPT_PD module is terminated and the routine returns to the routine one step above (S4). Thus, the external signal 4 can be set.

図201は、IPT_PDモジュールを実現するためのコマンドの一例を説明するための説明図である。図200で示したフローチャートは、例えば、図201に示したプログラムによって実現される。 FIG. 201 is an explanatory diagram for explaining an example of commands for realizing the IPT_PD module. The flowchart shown in FIG. 200 is realized by the program shown in FIG. 201, for example.

図201の1行目の指標「IPT_PD:」は、当該IPT_PDモジュールの先頭アドレスを示す。2行目のコマンド「RST RAM_DEC」は、変数を1デクリメントする汎用モジュールを呼び出すコマンドであり、このコマンドによって外部信号出力保持タイマに関するカウンタが減算される。ここでは、コマンド「RST RAM_DEC」によって少なくともゼロフラグが更新される。かかる2行目のコマンドが、図200のステップS1に対応する。3行目のコマンド「LDQ HL,LOW _OUT_PT3」によって、Qレジスタの値をHレジスタに読み出し、アドレス「_OUT_PT3」の下位1バイトの値をLレジスタに読み出す。コマンド「LDQ HL,LOW _OUT_PT3」によってはゼロフラグが変化しない。かかる3行目のコマンドが、図200のステップS2に対応する。 The index “IPT_PD:” on the first line in FIG. 201 indicates the start address of the IPT_PD module. The command "RST RAM_DEC" on the second line is a command to call a general-purpose module that decrements the variable by 1, and this command causes the counter related to the external signal output holding timer to be decremented. Here, at least the zero flag is updated by the command "RST RAM_DEC". The command on the second line corresponds to step S1 in FIG. By the command "LDQ HL, LOW_OUT_PT3" on the third line, the value of the Q register is read to the H register, and the value of the lower 1 byte of the address "_OUT_PT3" is read to the L register. The command "LDQ HL, LOW_OUT_PT3" does not change the zero flag. The command on the third line corresponds to step S2 in FIG.

図201の4行目のコマンド「JR Z,IPT_PD03」によって、2行目のコマンド「RST RAM_DEC」の減算結果がゼロであるか否か判定され、ゼロであれば(ゼロフラグが立っていれば)、すなわち、セキュリティ信号ON条件を満たしていなければ、6行目の指標「IPT_PD03:」に移動し、ゼロでなければ(ゼロフラグが立っていなければ)、次の処理を行う。5行目のコマンド「SET @EXT_SG4_POS,(HL)」は、出力ポート3イメージ、すなわち、HLレジスタが示すアドレスに格納されている値における、@EXT_SG4_POSで定義される値(ここでは、2)のビットを立たせる。6行目の指標「IPT_PD03:」は4行目のコマンド「JR Z,IPT_PD03」の移動先を示す。かかる4~6行目のコマンドが、図200のステップS3に対応する。そして、図201の7行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる7行目のコマンドが、図200のステップS4に対応する。 By the command "JR Z, IPT_PD03" on the fourth line in FIG. 201, it is determined whether or not the subtraction result of the command "RST RAM_DEC" on the second line is zero. That is, if the security signal ON condition is not satisfied, the process moves to the index "IPT_PD03:" on the sixth line, and if not zero (if the zero flag is not set), the following processing is performed. The command "SET @EXT_SG4_POS, (HL)" on the fifth line is the output port 3 image, that is, the value (here, 2) defined by @EXT_SG4_POS in the value stored at the address indicated by the HL register. set the bit up. The index "IPT_PD03:" on the sixth line indicates the destination of the command "JR Z, IPT_PD03" on the fourth line. The commands on the 4th to 6th lines correspond to step S3 in FIG. Then, the command "RET" on line 7 in FIG. 201 returns to the routine one level above. The command on the 7th line corresponds to step S4 in FIG.

このように、図201に示したIPT_PDモジュールのコマンドの総コマンドサイズは、2行目のコマンド「RST RAM_DEC」1バイト+3行目のコマンド「LDQ HL,LOW _OUT_PT3」2バイト+4行目のコマンド「JR Z,IPT_PD03」2バイト+5行目のコマンド「SET @EXT_SG4_POS,(HL)」2バイト+7行目のコマンド「RET」1バイト=8バイトとなり、総実行サイクルは、コマンド「JR Z,IPT_PD03」によって移動しなかった場合、2行目4サイクル+3行目2サイクル+4行目2サイクル+5行目5サイクル+7行目3サイクル=16サイクルとなり、コマンド「JR Z,IPT_PD03」によって移動した場合、2行目4サイクル+3行目2サイクル+4行目3サイクル+7行目3サイクル=12サイクルとなる。かかるIPT_PDモジュールにおいて4~6行目の処理を設けることによって、減算結果に応じた、出力ポート3イメージのビット操作が可能となる。 In this way, the total command size of the commands of the IPT_PD module shown in FIG. JR Z, IPT_PD03" 2 bytes + 5th line command "SET @EXT_SG4_POS, (HL)" 2 bytes + 7th line command "RET" 1 byte = 8 bytes, total execution cycle is command "JR Z, IPT_PD03" 4 cycles on the 2nd row + 2 cycles on the 3rd row + 2 cycles on the 4th row + 5 cycles on the 5th row + 3 cycles on the 7th row = 16 cycles. Row 4 cycles+3rd row 2 cycles+4th row 3 cycles+7th row 3 cycles=12 cycles. By providing the processing of the 4th to 6th lines in the IPT_PD module, bit manipulation of the output port 3 image can be performed according to the result of the subtraction.

図202は、IPT_PDモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図201のIPT_PDモジュールのコマンド群を、図202のIPT_PDモジュールのコマンド群に置き換えている。 FIG. 202 is an explanatory diagram for explaining another example of commands for realizing the IPT_PD module. Here, the command group of the IPT_PD module in FIG. 201 is replaced with the command group of the IPT_PD module in FIG.

図202の1行目の指標「IPT_PD:」は、当該IPT_PDモジュールの先頭アドレスを示す。2行目のコマンド「RST RAM_DEC」は、変数を1デクリメントする汎用モジュールを呼び出すコマンドであり、このコマンドによって外部信号出力保持タイマに関するカウンタが減算される。ここでは、コマンド「RST RAM_DEC」によって少なくともゼロフラグが更新される。かかる2行目のコマンドが、図200のステップS1に対応する。3行目のコマンド「LDQ HL,LOW _OUT_PT3」によって、Qレジスタの値をHレジスタに読み出し、アドレス「_OUT_PT3」の下位1バイトの値をLレジスタに読み出す。コマンド「LDQ HL,LOW _OUT_PT3」によってはゼロフラグが変化しない。かかる3行目のコマンドが、図200のステップS2に対応する。 The index "IPT_PD:" on the first line in FIG. 202 indicates the start address of the IPT_PD module. The command "RST RAM_DEC" on the second line is a command to call a general-purpose module that decrements the variable by 1, and this command causes the counter related to the external signal output holding timer to be decremented. Here, at least the zero flag is updated by the command "RST RAM_DEC". The command on the second line corresponds to step S1 in FIG. By the command "LDQ HL, LOW_OUT_PT3" on the third line, the value of the Q register is read to the H register, and the value of the lower 1 byte of the address "_OUT_PT3" is read to the L register. The command "LDQ HL, LOW_OUT_PT3" does not change the zero flag. The command on the third line corresponds to step S2 in FIG.

図202の4行目のコマンド「SET NZ,@EXT_SG4_POS,(HL)」によって、2行目のコマンド「RST RAM_DEC」の減算結果がゼロでなければ(ゼロフラグが立っていなければ)、すなわち、セキュリティ信号ON条件を満たしていれば、出力ポート3イメージ、すなわち、HLレジスタが示すアドレスの値における、@EXT_SG4_POSで定義される値(ここでは、2)のビットを立たせる。かかる4行目のコマンドが、図200のステップS3に対応する。そして、図202の5行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる5行目のコマンドが、図200のステップS4に対応する。 The command "SET NZ, @EXT_SG4_POS, (HL)" on the fourth line in FIG. If the signal ON condition is met, the bit of the value defined by @EXT_SG4_POS (here, 2) in the output port 3 image, ie, the value of the address indicated by the HL register, is raised. The command on the fourth line corresponds to step S3 in FIG. Then, the command "RET" on the fifth line in FIG. 202 returns to the routine one level above. This fifth line command corresponds to step S4 in FIG.

ここで、コマンド「SET cc,b,(HL)」は、ccに対応するフラグ(ゼロフラグやキャリーフラグ)が真であれば、HLレジスタで示されるアドレスの値(変数)のbビット目を立てるコマンドである。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「5」(「2」)である。なお、括弧内のサイクル数は、コマンド「SET cc,b,(HL)」においてフラグが真ではなかった場合の実行サイクルを示している。 Here, the command "SET cc, b, (HL)" sets the b-th bit of the value (variable) of the address indicated by the HL register if the flag (zero flag or carry flag) corresponding to cc is true. is a command. Such a command has a command size of "2" and an execution cycle of "5" ("2"). The number of cycles in parentheses indicates the execution cycle when the flag is not true in the command "SET cc,b,(HL)".

このように、図202に示したIPT_PDモジュールのコマンドの総コマンドサイズは、2行目のコマンド「RST RAM_DEC」1バイト+3行目のコマンド「LDQ HL,LOW _OUT_PT3」2バイト+4行目のコマンド「SET NZ,@EXT_SG4_POS,(HL)」2バイト+5行目のコマンド「RET」1バイト=6バイトとなり、総実行サイクルは、2行目4サイクル+3行目2サイクル+4行目5サイクル(2サイクル)+5行目3サイクル=14サイクル(11サイクル)となる。したがって、図201の場合と比べ、総コマンドサイズが2バイト削減され、総実行サイクルが少なくとも1サイクル削減される。かかるIPT_PDモジュールによって、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 In this way, the total command size of the commands of the IPT_PD module shown in FIG. SET NZ, @EXT_SG4_POS, (HL)" 2 bytes + 5th line command "RET" 1 byte = 6 bytes, and the total execution cycle is 2nd line 4 cycles + 3rd line 2 cycles + 4th line 5 cycles (2 cycles )+5th row 3 cycles=14 cycles (11 cycles). Therefore, compared to the case of FIG. 201, the total command size is reduced by 2 bytes, and the total execution cycle is reduced by at least 1 cycle. With this IPT_PD module, it is possible to further shorten the command and reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図201と図202とを比較して理解できるように、図201において3行(4行目~6行目)を占有していたコマンド群を、図202においては1行(4行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIGS. 201 and 202, the command group occupying three lines (fourth to sixth lines) in FIG. ), it is possible to reduce the number of commands and the design load.

なお、ここでは、ビットを設定するコマンド「SET cc,b,(HL)」を挙げて説明したが、かかる場合に限らず、ビットを設定するコマンド「SET cc,b,r」を用いることもできる。ここで、コマンド「SET cc,b,r」は、ccに対応するフラグ(ゼロフラグやキャリーフラグ)が真であれば、r(Aレジスタ,Bレジスタ,Dレジスタ,Eレジスタ,Hレジスタ,Lレジスタ)の値のbビット目を立てるコマンドである。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「2」である。 Although the bit setting command "SET cc, b, (HL)" has been described here, the bit setting command "SET cc, b, r" can also be used. can. Here, the command "SET cc, b, r" is r (A register, B register, D register, E register, H register, L register) if the flag (zero flag or carry flag) corresponding to cc is true. ) is a command to set the b-th bit of the value. Such a command has a command size of "2" and an execution cycle of "2".

かかるコマンド「SET」は、上述したIPT_PDモジュールのみならず、様々なモジュール、例えば、DYNMOUTモジュール等に採用することができる。また、スロットマシンのみならず、パチンコ機における、例えば、EXT_PRCモジュール等にも採用することができる。 Such a command "SET" can be employed not only in the IPT_PD module described above but also in various modules such as the DYNMOUT module. Moreover, it can be used not only in slot machines but also in pachinko machines, for example, EXT_PRC modules.

図203は、DYNMOUTモジュールを説明するための説明図である。図98のステップS3100-7で示したDYNMOUTモジュールでは、メインCPU500aが、セットされた出力イメージを出力ポートに出力し、メインクレジット表示部430、メイン払出表示部432、投入枚数表示器、スタート表示器、ストップスイッチ420a、420b、420cの表示器、リプレイ表示器、区間表示器460を点灯制御するダイナミックポート出力処理(ダイナミック点灯制御処理)が実行される。 FIG. 203 is an explanatory diagram for explaining the DYNMOUT module. In the DYNMOUT module shown in step S3100-7 of FIG. 98, the main CPU 500a outputs the set output image to the output port, the main credit display section 430, the main payout display section 432, the inserted number display, and the start display. , stop switches 420a, 420b, and 420c, the replay indicator, and the section indicator 460, dynamic port output processing (dynamic lighting control processing) is executed.

図203(a)の1行目の指標「DYNMOUT:」は、当該DYNMOUTモジュールの先頭アドレスを示す。2行目のコマンド「RESQ @CHN_DSP_BIT,(LOW _WIN_DAT+1)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_WIN_DAT」の下位1バイトに1を加算した値をアドレスの下位1バイトとし、そのアドレスに格納された値(メイン表示器データバッファ2)における@CHN_DSP_BITが示すビット(ここではビット7)に0を設定する(リセットする)。3行目のコマンド「LDQ A,(LOW _OUT_PT2)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_OUT_PT2」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(出力ポート2イメージ)をAレジスタに読み出す。4行目のコマンド「JAND Z,A,00000011B,DYNMOUT02」によって、Aレジスタの値と00000011Bとの論理積がゼロであれば、アドレス「DYNMOUT02」に移動し、ゼロでなければ5行目のコマンドを処理する。5行目のコマンド「SETQ @CHN_DSP_BIT,(LOW _WIN_DAT+1)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_WIN_DAT」の下位1バイトに1を加算した値をアドレスの下位1バイトとし、そのアドレスに格納された値(メイン表示器データバッファ2)の@CHN_DSP_BITが示すビット(ここではビット7)に1を設定する(セットする)。6行目の指標「DYNMOUT02:」は、4行目のコマンド「JAND Z,A,00000011B,DYNMOUT02」の移動先を示す。こうして、出力ポート2イメージの下位2ビットの値に応じて、メイン表示器データバッファ2のビット7を設定することが可能となる。 The index "DYNMOUT:" on the first line in FIG. 203(a) indicates the head address of the DYNMOUT module. By the command "RESQ @CHN_DSP_BIT, (LOW_WIN_DAT+1)" on the second line, the value of the Q register is set as the upper 1 byte of the address, and the value obtained by adding 1 to the lower 1 byte of the address "_WIN_DAT" is set as the lower 1 byte of the address. , the bit indicated by @CHN_DSP_BIT (here, bit 7) in the value stored at that address (main display data buffer 2) is set to 0 (reset). By the command "LDQ A, (LOW_OUT_PT2)" on the third line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_OUT_PT2" is set as the lower 1 byte of the address, and stored at that address. Reads the resulting value (output port 2 image) into the A register. According to the command "JAND Z, A, 00000011B, DYNMOUT02" on the 4th line, if the AND of the value of the A register and 00000011B is zero, move to the address "DYNMOUT02"; process. By the command "SETQ @CHN_DSP_BIT, (LOW_WIN_DAT+1)" on the fifth line, the value of the Q register is set as the upper 1 byte of the address, and the value obtained by adding 1 to the lower 1 byte of the address "_WIN_DAT" is set as the lower 1 byte of the address. , 1 is set in the bit (here, bit 7) indicated by @CHN_DSP_BIT of the value (main display unit data buffer 2) stored at that address. The index "DYNMOUT02:" on the sixth line indicates the destination of the command "JAND Z, A, 00000011B, DYNMOUT02" on the fourth line. Thus, bit 7 of the main display data buffer 2 can be set according to the value of the lower two bits of the output port 2 image.

ここで、コマンド「SET」への置き換えを行うと、図203(a)のコマンド群を図203(b)のように変更することができる。図203(b)の1行目の指標「DYNMOUT:」は、当該DYNMOUTモジュールの先頭アドレスを示す。2行目のコマンド「LDQ HL,LOW _WIN_DAT+1」によって、Qレジスタの値をHレジスタに読み出し、アドレス「_WIN_DAT」の下位1バイトの値に1を加算した値をLレジスタに読み出す。3行目のコマンド「RES @CHN_DSP_BIT,(HL)」によって、HLレジスタで示されるアドレスに格納された値における@CHN_DSP_BITが示すビット(ここではビット7)に0を設定する(リセットする)。4行目のコマンド「LDQ A,(LOW _OUT_PT2)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_OUT_PT2」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(出力ポート2イメージ)をAレジスタに読み出す。5行目のコマンド「AND A,00000011B」によって、Aレジスタの値と00000011Bとの論理積を演算し、Aレジスタをマスクする。6行目のコマンド「SET NZ,@CHN_DSP_BIT,(HL)」によって、5行目のコマンド「AND A,00000011B」の演算結果がゼロでなければ(ゼロフラグが立っていなければ)、HLレジスタが示すアドレスの値(メイン表示器データバッファ2)における@CHN_DSP_BITが示すビット(ここでは、ビット7)に1を設定する。こうして、図203(a)同様、出力ポート2イメージの下位2ビットの値に応じて、メイン表示器データバッファ2のビット7を設定することが可能となる。 Here, if the command "SET" is replaced, the command group of FIG. 203(a) can be changed as shown in FIG. 203(b). The index "DYNMOUT:" on the first line in FIG. 203(b) indicates the head address of the DYNMOUT module. By the command "LDQ HL, LOW _WIN_DAT+1" on the second line, the value of the Q register is read to the H register, and the value obtained by adding 1 to the value of the lower 1 byte of the address "_WIN_DAT" is read to the L register. The command "RES @CHN_DSP_BIT, (HL)" on the third line sets 0 (reset) to the bit indicated by @CHN_DSP_BIT (here, bit 7) in the value stored at the address indicated by the HL register. By the command "LDQ A, (LOW_OUT_PT2)" on the fourth line, the value of the Q register is set as the upper 1 byte of the address, the value of the lower 1 byte of the address "_OUT_PT2" is set as the lower 1 byte of the address, and stored at that address. Reads the resulting value (output port 2 image) into the A register. The command "AND A, 00000011B" on the fifth line performs a logical product operation of the value of the A register and 00000011B to mask the A register. If the command "SET NZ, @CHN_DSP_BIT, (HL)" on the sixth line indicates that the operation result of the command "AND A, 00000011B" on the fifth line is not zero (if the zero flag is not set), the HL register indicates 1 is set in the bit (here, bit 7) indicated by @CHN_DSP_BIT in the address value (main display unit data buffer 2). Thus, as in FIG. 203(a), bit 7 of the main display data buffer 2 can be set according to the value of the lower 2 bits of the output port 2 image.

ここで、図203(a)に示したDYNMOUTモジュールのコマンドの総コマンドサイズは、2行目のコマンド「RESQ @CHN_DSP_BIT,(LOW _WIN_DAT+1)」3バイト+3行目のコマンド「LDQ A,(LOW _OUT_PT2)」2バイト+4行目のコマンド「JAND Z,A,00000011B,DYNMOUT02」3バイト+5行目のコマンド「SETQ @CHN_DSP_BIT,(LOW _WIN_DAT+1)」3バイト=11バイトとなり、総実行サイクルは、出力ポート2イメージの下位2ビットが0でない場合、2行目6サイクル+3行目3サイクル+4行目3サイクル+5行目6サイクル=18サイクルとなり、出力ポート2イメージの下位2ビットがいずれも0であった場合、2行目6サイクル+3行目3サイクル+4行目4サイクル=13サイクルとなる。 Here, the total command size of commands of the DYNMOUT module shown in FIG. )” 2nd byte + 4th line command “JAND Z, A, 00000011B, DYNMOUT02” 3rd byte + 5th line command “SETQ @CHN_DSP_BIT, (LOW_WIN_DAT+1)” 3 bytes = 11 bytes, total execution cycle is output port 2nd row + 3rd row 3 cycles + 4th row 3 cycles + 5th row 6 cycles = 18 cycles, and the lower 2 bits of the output port 2 image are all 0. In this case, 2nd row 6 cycles+3rd row 3 cycles+4th row 4 cycles=13 cycles.

一方、図203(b)に示したDYNMOUTモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDQ HL,LOW _WIN_DAT+1」2バイト+3行目のコマンド「RES @CHN_DSP_BIT,(HL)」2バイト+4行目のコマンド「LDQ A,(LOW _OUT_PT2)」2バイト+5行目のコマンド「AND A,00000011B」2バイト+6行目のコマンド「SET NZ,@CHN_DSP_BIT,(HL)」2バイト=10バイトとなり、総実行サイクルは、出力ポート2イメージの下位2ビットが0でない場合、2行目2サイクル+3行目5サイクル+4行目3サイクル+5行目2サイクル+6行目5サイクル=17サイクルとなり、出力ポート2イメージの下位2ビットがいずれも0であった場合、2行目2サイクル+3行目5サイクル+4行目3サイクル+5行目2サイクル+6行目2サイクル=14サイクルとなる。したがって、図203(a)の場合と比べ、総コマンドサイズが1バイト削減されていることが理解できる。かかるDYNMOUTモジュールによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 On the other hand, the total command size of the commands of the DYNMOUT module shown in FIG. 203(b) is the second line command "LDQ HL, LOW_WIN_DAT+1" 2 bytes + the third line command "RES @CHN_DSP_BIT, (HL)" 2 bytes. + 4th line command "LDQ A, (LOW_OUT_PT2)" 2 bytes + 5th line command "AND A, 00000011B" 2 bytes + 6th line command "SET NZ, @CHN_DSP_BIT, (HL)" 2 bytes = 10 bytes When the lower two bits of the output port 2 image are not 0, the total execution cycle is: 2nd row 2 cycles + 3rd row 5 cycles + 4th row 3 cycles + 5th row 2 cycles + 6th row 5 cycles = 17 cycles, If the lower 2 bits of the output port 2 image are all 0, then 2nd row + 3rd row 5 cycles + 4th row 3 cycles + 5th row 2 cycles + 6th row 2 cycles = 14 cycles. Therefore, it can be understood that the total command size is reduced by 1 byte compared to the case of FIG. 203(a). With such a DYNMOUT module, it is possible to further shorten commands and secure the capacity of the control area for performing game control processing.

図204は、EXT_PRCモジュールを説明するための説明図である。図26のステップS400-29で示したEXT_PRCモジュールでは、メインCPU500aが、外部情報管理処理、すなわち、遊技情報出力端子板312から外部へ出力する外部情報用の出力データをセットする。 FIG. 204 is an explanatory diagram for explaining the EXT_PRC module. In the EXT_PRC module shown in step S400-29 of FIG. 26, the main CPU 500a performs external information management processing, that is, sets output data for external information to be output from the game information output terminal board 312 to the outside.

図204(a)の1行目の指標「EXT_PRC:」は、当該EXT_PRCモジュールの先頭アドレスを示す。2行目のコマンド「LD BC,@D_SEC_LOP*256+0」によって、Bレジスタにチェック対象ラム数(ループ回数)である@D_SEC_LOP(ここでは8)が設定され、Cレジスタに合成ビットデータの初期値として0が設定される。3行目のコマンド「JR Z,EXT_PRC_15」によって、そのコマンドを実行する以前に演算された対象ラムアドレスの論理積がゼロであるか否か判定され、ゼロであれば(ゼロフラグが立っていれば)、5行目の指標「EXT_PRC_15:」に移動し、ゼロでなければ(ゼロフラグが立っていなければ)、4行目の処理を行う。4行目のコマンド「SET @EXT_SEC_POS,C」によって、Cレジスタの値(合成ビットデータ)の@EXT_SEC_POSで定義される値(ここでは、ビット6)のビットを立たせる。5行目の指標「EXT_PRC_15:」は3行目のコマンド「JR Z,EXT_PRC_15」の移動先を示す。こうして、対象ラムアドレスの論理積の演算結果に応じて合成ビットデータのビット6を設定することが可能となる。 The index "EXT_PRC:" on the first line in FIG. 204(a) indicates the start address of the EXT_PRC module. By the command "LD BC, @D_SEC_LOP*256+0" on the second line, @D_SEC_LOP (here, 8), which is the number of RAMs to be checked (the number of loops), is set in the B register, and the initial value of the synthesized bit data is set in the C register. 0 is set. With the command "JR Z, EXT_PRC_15" on the third line, it is determined whether or not the AND of the target ram addresses calculated before executing the command is zero. ), move to the index "EXT_PRC_15:" on the fifth line, and if it is not zero (if the zero flag is not set), process the fourth line. The command "SET @EXT_SEC_POS, C" on the fourth line causes the bit of the value (here, bit 6) defined by @EXT_SEC_POS in the value of the C register (composite bit data) to be set. The index "EXT_PRC_15:" on the fifth line indicates the destination of the command "JR Z, EXT_PRC_15" on the third line. In this way, bit 6 of the synthesized bit data can be set according to the result of the AND operation of the target ram addresses.

ここで、コマンド「SET」への置き換えを行うと、図204(a)のコマンド群を図204(b)のように変更することができる。図204(b)の1行目の指標「EXT_PRC:」は、当該EXT_PRCモジュールの先頭アドレスを示す。2行目のコマンド「LD BC,@D_SEC_LOP*256+0」によって、Bレジスタにチェック対象ラム数(ループ回数)である@D_SEC_LOP(ここでは8)が設定され、Cレジスタに合成ビットデータの初期値として0が設定される。3行目のコマンド「SET NZ,@EXT_SEC_POS,C」によって、そのコマンドが実行される以前に演算された対象ラムアドレスの論理積がゼロであるか否か判定され、ゼロでなければ(ゼロフラグが立っていなければ)、Cレジスタの値(合成ビットデータ)の@EXT_SEC_POSで定義される値(ここでは、ビット6)のビットを立たせる。こうして、図204(a)同様、対象ラムアドレスの論理積の演算結果に応じて合成ビットデータのビット6を設定することが可能となる。 Here, if the command "SET" is replaced, the command group of FIG. 204(a) can be changed as shown in FIG. 204(b). The index "EXT_PRC:" on the first line in FIG. 204(b) indicates the start address of the EXT_PRC module. By the command "LD BC, @D_SEC_LOP*256+0" on the second line, @D_SEC_LOP (here, 8), which is the number of RAMs to be checked (the number of loops), is set in the B register, and the initial value of the synthesized bit data is set in the C register. 0 is set. The command "SET NZ, @EXT_SEC_POS, C" on the third line determines whether or not the AND of the target ram addresses calculated before the command is executed is zero. If not set), set the bit of the value (here, bit 6) defined by @EXT_SEC_POS in the value of the C register (composite bit data). Thus, as in FIG. 204(a), it is possible to set bit 6 of the synthesized bit data according to the result of the AND operation of the target ram address.

ここで、図204(a)に示したEXT_PRCモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD BC,@D_SEC_LOP*256+0」2バイト+3行目のコマンド「JR Z,EXT_PRC_15」2バイト+4行目のコマンド「SET @EXT_SEC_POS,C」2バイト=6バイトとなり、総実行サイクルは、論理積が0でない場合、2行目2サイクル+3行目2サイクル+4行目2サイクル=6サイクルとなり、論理積が0であった場合、2行目2サイクル+3行目3サイクル=5サイクルとなる。 Here, the total command size of the commands of the EXT_PRC module shown in FIG. 204(a) is the second line command "LD BC, @D_SEC_LOP*256+0" 2 bytes + the third line command "JR Z, EXT_PRC_15" 2 bytes. + 4th line command "SET @EXT_SEC_POS, C" 2 bytes = 6 bytes, and the total execution cycle is 2nd line 2 cycles + 3rd line 2 cycles + 4th line 2 cycles = 6 cycles if the AND is not 0 , if the AND is 0, 2 cycles on the 2nd row+3 cycles on the 3rd row=5 cycles.

一方、図204(b)に示したEXT_PRCモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LD BC,@D_SEC_LOP*256+0」2バイト+3行目のコマンド「SET NZ,@EXT_SEC_POS,C」2バイト=4バイトとなり、総実行サイクルは、論理積が0でない場合、2行目2サイクル+3行目5サイクル=7サイクルとなり、論理積が0であった場合、2行目2サイクル+3行目2サイクル=4サイクルとなる。したがって、図204(a)の場合と比べ、総コマンドサイズが2バイト削減されていることが理解できる。かかるEXT_PRCモジュールによって、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 On the other hand, the total command size of the commands of the EXT_PRC module shown in FIG. 204(b) is the second line command "LD BC, @D_SEC_LOP*256+0" 2 bytes + the third line command "SET NZ, @EXT_SEC_POS, C". 2 bytes = 4 bytes, and if the AND is not 0, the total execution cycle is: 2nd row 2 cycles + 3rd row 5 cycles = 7 cycles, and if the AND is 0, 2nd row 2 cycles + 3 rows Second cycle = 4 cycles. Therefore, it can be understood that the total command size is reduced by 2 bytes compared to the case of FIG. 204(a). With such an EXT_PRC module, it becomes possible to further shorten the command and secure the capacity of the control area for performing the game control process.

<コマンド「JANDQ」>
図205は、STOPDCTモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図92のステップS2500で示した回胴回転中処理を実行するSTOPDCTモジュールの一部である停止表示器を確認する処理S2500-23を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該STOPDCTモジュールの説明中、所定のレジスタはHLレジスタである。
<Command "JANDQ">
FIG. 205 is a flow chart showing specific processing of the STOPDCT module. Here, as an arbitrary process, the process S2500-23 for confirming the stop indicator, which is a part of the STOPDCT module for executing the process during rotation of the reel shown in step S2500 in FIG. 92, will be described. Numerical values of step S in this figure are used only in the explanation of this figure. Also, during the description of the STOPDCT module, the predetermined register is the HL register.

メインCPU500aは、図205のように、任意の処理を実行する。メインCPU500aは、まず、操作対象ビットの抽出処理を行う(S1)。かかる処理により、Aレジスタには、操作対象ビットが設定される。そして、メインCPU500aは、Aレジスタの操作対象ビットと、予めDレジスタに設定されている回動回転中フラグとの合成を行う(S2)。続いて、メインCPU500aは、停止表示器を示すアドレスの値と論理積をとることで停止表示器を確認し(S3)、停止表示器が赤色点灯中であれば(S4におけるYES)、当該STOPDCTモジュールの先頭から処理を繰り返し、停止表示器が赤色点灯中でなければ(S4におけるNO)、次の処理を実行する。そして、回転停止処理を実行するSTP_RELモジュールに移動することで、当該STOPDCTモジュールを終了する(S5)。こうして、停止表示器の状態に応じた押下処理が可能となる。 The main CPU 500a executes arbitrary processing as shown in FIG. The main CPU 500a first performs a process of extracting an operation target bit (S1). Through such processing, the operation target bit is set in the A register. Then, the main CPU 500a synthesizes the operation target bit of the A register and the rotating flag set in advance in the D register (S2). Subsequently, the main CPU 500a confirms the stop indicator by taking a logical AND with the value of the address indicating the stop indicator (S3). The process is repeated from the beginning of the module, and if the stop indicator is not lit in red (NO in S4), the next process is executed. Then, the STOPDCT module ends by moving to the STP_REL module that executes the rotation stop processing (S5). In this way, it becomes possible to carry out the pressing process according to the state of the stop indicator.

図206は、STOPDCTモジュールを実現するためのコマンドの一例を説明するための説明図である。図205で示したフローチャートは、例えば、図206に示したプログラムによって実現される。 FIG. 206 is an explanatory diagram for explaining an example of a command for realizing the STOPDCT module. The flowchart shown in FIG. 205 is realized by the program shown in FIG. 206, for example.

図206の1行目の指標「STOPDCT:」は、当該STOPDCTモジュールの先頭アドレスを示す。2行目のコマンド「CALLF SMPLBIT」は、操作対象ビット抽出処理を実行するSMPLBITモジュールを呼び出すコマンドであり、このコマンドによって操作対象となった(実際に操作された)ストップスイッチに対応するビットがAレジスタに設定される。かかる2行目のコマンドが、図205のステップS1に対応する。3行目のコマンド「AND A,D」によって、操作対象ビットが設定されたAレジスタと、予め回動回転中フラグが設定されているDレジスタとの論理積を演算し、その結果をAレジスタに保持する。かかる3行目のコマンドが、図205のステップS2に対応する。 The index "STOPDCT:" on the first line in FIG. 206 indicates the start address of the STOPDCT module. The command "CALLF SMPLBIT" on the second line is a command to call the SMPLBIT module that executes the operation target bit extraction process, and the bit corresponding to the stop switch that is the operation target (actually operated) by this command is set to A. Set in a register. The second line command corresponds to step S1 in FIG. By the command "AND A, D" on the 3rd line, the logical product of the A register in which the operation target bit is set and the D register in which the rotating flag is set in advance, and the result is stored in the A register. to hold. The command on the third line corresponds to step S2 in FIG.

図206の4行目のコマンド「ANDQ A,(LOW _OUT_PT4)」によって、Qレジスタの値を上位1バイトとし、アドレス「_OUT_PT4」の値(第1所定値)を下位1バイトとした値(停止表示器の値)とAレジスタの値の論理積を演算し、その結果をAレジスタに保持する。かかる4行目のコマンドが、図205のステップS3に対応する。5行目のコマンド「JR Z,STOPDCT」によって、4行目のコマンド「ANDQ A,(LOW _OUT_PT4)」の演算結果がゼロであるか否か判定され、ゼロであれば(ゼロフラグが立っていれば)、1行目の指標「STOPDCT:」(第2所定値)に移動し、ゼロでなければ(ゼロフラグが立っていなければ)、次の処理を行う。かかる5行目のコマンドが、図205のステップS4に対応する。 The command "ANDQ A, (LOW_OUT_PT4)" on the fourth line in FIG. The value of the display) and the value of the A register are ANDed, and the result is held in the A register. The command on the fourth line corresponds to step S3 in FIG. The command "JR Z, STOPDCT" on the fifth line determines whether or not the operation result of the command "ANDQ A, (LOW_OUT_PT4)" on the fourth line is zero. ), move to the index "STOPDCT:" (second predetermined value) on the first line, and if not zero (if the zero flag is not set), perform the following processing. The command on the fifth line corresponds to step S4 in FIG.

このように、図206に示したSTOPDCTモジュールのコマンドの総コマンドサイズは、2行目のコマンド「CALLF SMPLBIT」2バイト+3行目のコマンド「AND A,D」1バイト+4行目のコマンド「ANDQ A,(LOW _OUT_PT4)」3バイト+5行目のコマンド「JR Z,STOPDCT」2バイト=8バイトとなり、総実行サイクルは、2行目4サイクル+3行目1サイクル+4行目4サイクル+5行目3サイクル(2サイクル)=12サイクル(11サイクル)となる。なお、括弧内のサイクル数は、コマンド「JR Z,STOPDCT」によって移動しなかった場合の実行サイクルを示している。かかるSTOPDCTモジュールにおいて4、5行目の処理を設けることによって、停止表示器の状態に応じた押下処理が可能となる。 Thus, the total command size of the commands of the STOPDCT module shown in FIG. A, (LOW_OUT_PT4)" 3 bytes + 5th line command "JR Z, STOPDCT" 2 bytes = 8 bytes. 3 cycles (2 cycles)=12 cycles (11 cycles). Note that the number of cycles in parentheses indicates the execution cycle when the command "JR Z, STOPDCT" does not move. By providing the processing of the fourth and fifth lines in the STOPDCT module, it becomes possible to perform the depression processing according to the state of the stop indicator.

図207は、STOPDCTモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図206のSTOPDCTモジュールのコマンド群を、図207のSTOPDCTモジュールのコマンド群に置き換えている。 FIG. 207 is an explanatory diagram for explaining another example of commands for realizing the STOPDCT module. Here, the command group of the STOPDCT module in FIG. 206 is replaced with the command group of the STOPDCT module in FIG.

図207の1行目の指標「STOPDCT:」は、当該STOPDCTモジュールの先頭アドレスを示す。2行目のコマンド「CALLF SMPLBIT」は、操作対象ビット抽出処理を実行するSMPLBITモジュールを呼び出すコマンドであり、このコマンドによって操作対象となったストップスイッチに対応するビットがAレジスタに設定される。かかる2行目のコマンドが、図205のステップS1に対応する。3行目のコマンド「AND A,D」によって、操作対象ビットが設定されたAレジスタと、予め回動回転中フラグが設定されているDレジスタとの論理積を演算し、その結果をAレジスタに保持する。かかる3行目のコマンドが、図205のステップS2に対応する。 The index "STOPDCT:" on the first line in FIG. 207 indicates the start address of the STOPDCT module. The command "CALLF SMPLBIT" on the second line is a command to call the SMPLBIT module that executes the operation target bit extraction process, and the bit corresponding to the stop switch that is the operation target is set in the A register by this command. The command on the second line corresponds to step S1 in FIG. By the command "AND A, D" on the 3rd line, the logical product of the A register in which the operation target bit is set and the D register in which the rotating flag is set in advance, and the result is stored in the A register. to hold. The command on the third line corresponds to step S2 in FIG.

図207の4行目のコマンド「JANDQ Z,A,(LOW _OUT_PT4),STOPDCT」によって、Qレジスタの値を上位1バイトとし、アドレス「_OUT_PT4」の値(第1所定値)を下位1バイトとした値(停止表示器の値)とAレジスタの値の論理積を演算し、その演算結果がゼロであるか否か判定され、ゼロであれば(ゼロフラグが立っていれば)、1行目の指標「STOPDCT:」(第2所定値)に移動し、ゼロでなければ(ゼロフラグが立っていなければ)、次の処理を行う。かかる4行目のコマンドが、図205のステップS3、S4に対応する。 The command "JANDQ Z, A, (LOW_OUT_PT4), STOPDCT" on the fourth line in FIG. The logical product of the value (stop indicator value) and the value of the A register is calculated, and it is determined whether or not the calculation result is zero. If it is zero (if the zero flag is set), the first line index "STOPDCT:" (second predetermined value), and if it is not zero (if the zero flag is not set), the next process is performed. The commands on the fourth line correspond to steps S3 and S4 in FIG.

ここで、コマンド「JANDQ cc,A,(k),e」は、Qレジスタの値を上位1バイトとし、kで示されるアドレスの値を下位1バイトとした値(第1所定値)と、Aレジスタの値の論理積を演算し、その演算結果について、ccに対応するフラグ(ゼロフラグやキャリーフラグ)が真であれば、e(第2所定値)で示されるアドレスに移動し、ccに対応するフラグが真でなければ、次の処理に移るコマンドである。かかるコマンドのコマンドサイズは「4」であり、実行サイクルは「6」(「5」)である。なお、括弧内のサイクル数は、コマンド「JANDQ cc,A,(k),e」においてフラグが真ではなかった場合の実行サイクルを示している。 Here, the command "JANDQ cc, A, (k), e" is a value (first predetermined value) in which the value of the Q register is the upper 1 byte and the value of the address indicated by k is the lower 1 byte, If the flag (zero flag or carry flag) corresponding to cc is true, move to the address indicated by e (second predetermined value), and move to the address indicated by e (second predetermined value). If the corresponding flag is not true, it is a command to move on to the next process. Such a command has a command size of "4" and an execution cycle of "6" ("5"). The number of cycles in parentheses indicates the execution cycle when the flag is not true in the command "JANDQ cc, A, (k), e".

図207に示したSTOPDCTモジュールのコマンドの総コマンドサイズは、2行目のコマンド「CALLF SMPLBIT」2バイト+3行目のコマンド「AND A,D」1バイト+4行目のコマンド「JANDQ Z,A,(LOW _OUT_PT4),STOPDCT」4バイト=7バイトとなり、総実行サイクルは、2行目4サイクル+3行目1サイクル+4行目6サイクル(5サイクル)=11サイクル(10サイクル)となる。なお、括弧内のサイクル数は、コマンド「JANDQ Z,A,(LOW _OUT_PT4),STOPDCT」によって移動しなかった場合の実行サイクルを示している。したがって、図206の場合と比べ、総コマンドサイズが1バイト削減され、総実行サイクルが少なくとも1サイクル削減される。かかるSTOPDCTモジュールによって、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the commands of the STOPDCT module shown in FIG. (LOW_OUT_PT4), STOPDCT" 4 bytes=7 bytes, and the total execution cycle is 2nd line 4 cycles+3rd line 1 cycle+4th line 6 cycles (5 cycles)=11 cycles (10 cycles). The number of cycles in parentheses indicates the execution cycle when the command "JANDQ Z, A, (LOW_OUT_PT4), STOPDCT" does not move. Therefore, the total command size is reduced by 1 byte and the total execution cycle is reduced by at least 1 cycle compared to the case of FIG. With such a STOPDCT module, it is possible to further shorten the command and reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図206と図207とを比較して理解できるように、図206において2行(4行目、5行目)を占有していたコマンド群を、図207においては1行(4行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIGS. 206 and 207, the command group occupying two lines (4th and 5th lines) in FIG. ), it is possible to reduce the number of commands and the design load.

<コマンド「CALLEX」>
E_SETTMモジュールは、図89のステップS2200-11や図95のステップS2800-39で示したエラーウェイト処理を実行するERRWAITモジュールにおいて、投入異常非監視タイマ設定処理、すなわち、投入異常非監視タイマを設定するためのモジュールである。なお、E_SETTMモジュールは、メインROM500bの別領域(2000H~3FBFH)に配される。
<Command "CALLEX">
The E_SETTM module sets the input abnormality non-monitoring timer setting process, that is, sets the input abnormality non-monitoring timer in the ERRWAIT module that executes the error wait process shown in step S2200-11 of FIG. 89 and step S2800-39 of FIG. It is a module for The E_SETTM module is arranged in another area (2000H to 3FBFH) of the main ROM 500b.

メインCPU500aは、メインROM500bから使用領域のプログラムを読み出し、読み出したプログラムを遂行し、任意の処理において、サブルーチンとして別領域のE_SETTMモジュールを呼び出し、E_SETTMモジュールを遂行する。E_SETTMモジュールでは、投入異常非監視タイマを設定する。 The main CPU 500a reads out the program in the used area from the main ROM 500b, executes the read program, calls the E_SETTM module in another area as a subroutine in arbitrary processing, and executes the E_SETTM module. The E_SETTM module sets a power-on failure non-monitoring timer.

図208は、E_SETTMモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図89のステップS2200-11や図95のステップS2800-39で示したエラーウェイト処理を実行するERRWAITモジュールにおいて、ブロッカー閉塞処理を実行するBLKSHUTモジュールの一部を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。 FIG. 208 is a flow chart showing specific processing of the E_SETTM module. Here, as arbitrary processing, in the ERRWAIT module that executes the error wait processing shown in step S2200-11 in FIG. 89 and step S2800-39 in FIG. explain. Numerical values of step S in this figure are used only in the explanation of this figure.

メインCPU500aは、図208(a)のように、任意の処理を実行する。メインCPU500aは、ブロッカー状態を確認して、出力ポート4イメージのビット3(ブロッカーソレノイド出力ビット番号)が0ではない場合に、別領域のE_SETTMモジュールを呼び出す。このため、メインCPU500aは、まず、割込を禁止し(S1)、サブルーチンとして別領域のE_SETTMモジュールを呼び出す(S2)。 The main CPU 500a executes arbitrary processing as shown in FIG. 208(a). The main CPU 500a checks the blocker state, and if bit 3 (blocker solenoid output bit number) of the output port 4 image is not 0, calls the E_SETTM module in another area. Therefore, the main CPU 500a first disables the interrupt (S1), and calls the E_SETTM module in another area as a subroutine (S2).

メインCPU500aは、図208(b)のように、E_SETTMモジュールにおいて、汎用レジスタ(Aレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタ、Fレジスタ)を退避する(S3)。そして、メインCPU500aは、初期値としての投入異常非監視タイマ値をAレジスタに設定し(S4)、そのAレジスタの値を所定のアドレス(投入異常非監視タイマ)が示す値に格納して、投入異常非監視タイマを設定する(S5)。かかる処理が完了すると、メインCPU500aは、汎用レジスタを復帰させ(S6)、割込を許可し(S7)、当該E_SETTMモジュールを終了して1段上のルーチンに戻る(S8)。 As shown in FIG. 208(b), the main CPU 500a saves the general-purpose registers (A register, B register, C register, D register, E register, H register, L register, F register) in the E_SETTM module (S3). . Then, the main CPU 500a sets the input abnormality non-monitoring timer value as an initial value in the A register (S4), stores the value of the A register in the value indicated by the predetermined address (input abnormality non-monitoring timer), A closing abnormality non-monitoring timer is set (S5). When such processing is completed, the main CPU 500a restores the general-purpose register (S6), permits interrupts (S7), terminates the E_SETTM module, and returns to the routine one level above (S8).

ここで、E_SETTMモジュールは、遊技機の公正さを担保しつつ、使用領域と別領域とで適切に役割分担するための、上述した(1)~(6)の条件を全て満たすように設計されている。 Here, the E_SETTM module is designed to satisfy all of the above conditions (1) to (6) in order to properly divide roles between the usage area and another area while ensuring the fairness of the gaming machine. ing.

図209は、E_SETTMモジュールを実現するためのコマンドの一例を説明するための説明図である。このうち、図209(a)は、E_SETTMモジュールを呼び出す任意の処理のコマンド群を示し、図209(b)は、E_SETTMモジュールのコマンド群を示す。図208で示したフローチャートは、例えば、図209に示したプログラムによって実現される。 FIG. 209 is an explanatory diagram for explaining an example of commands for realizing the E_SETTM module. Of these, FIG. 209(a) shows a command group for arbitrary processing that calls the E_SETTM module, and FIG. 209(b) shows a command group for the E_SETTM module. The flowchart shown in FIG. 208 is realized by the program shown in FIG. 209, for example.

図209(a)の1行目のコマンド「DI」によって、割込が禁止される。かかる1行目のコマンドが、図208(a)のステップS1に対応する。2行目のコマンド「CALL E_SETTM」によって、サブルーチンとしてE_SETTMモジュールが呼び出される。かかる2行目のコマンドが、図208(a)のステップS2に対応する。 The interrupt is disabled by the command "DI" on the first line of FIG. 209(a). Such a command on the first line corresponds to step S1 in FIG. 208(a). The E_SETTM module is called as a subroutine by the command "CALL E_SETTM" on the second line. The command on the second line corresponds to step S2 in FIG. 208(a).

図209(b)の1行目の指標「E_SETTM:」は、当該E_SETTMモジュールの先頭アドレスを示す。2行目のコマンド「EX AF,AF’」によって、ペアレジスタAFの値と裏レジスタであるペアレジスタAF’の値とが入れ替わり、ペアレジスタAFの値が退避される。3行目のコマンド「EXX」によって、ペアレジスタBC、DE、HLの値と裏レジスタであるペアレジスタBC’、DE’、HL’の値とが入れ替わり、ペアレジスタBC、DE、HLの値が退避される。かかる2、3行目のコマンドが、図208(b)のステップS3に対応する。 The index "E_SETTM:" on the first line in FIG. 209(b) indicates the head address of the E_SETTM module. The command "EX AF, AF'" on the second line replaces the value of the pair register AF with the value of the opposite register, that is, the pair register AF', and saves the value of the pair register AF. By the command "EXX" on the third line, the values of the pair registers BC, DE and HL are exchanged with the values of the pair registers BC', DE' and HL' which are back registers, and the values of the pair registers BC, DE and HL are changed to be evacuated. The commands on the second and third lines correspond to step S3 in FIG. 208(b).

図209(b)の4行目のコマンド「LD A,@MDL_WAT_TMR」によって、固定値「@MDL_WAT_TMR」、すなわち、投入異常非監視タイマ値(初期値)としての250.32msecに相当する(252/6+1)がAレジスタに読み出される。かかる4行目のコマンドが、図208(b)のステップS4に対応する。5行目のコマンド「LD (_EX_SLTM),A」によって、投入異常非監視タイマとしての変数「_EX_SLTM」にAレジスタの値を格納する。かかる5行目のコマンドが、図208(b)のステップS5に対応する。こうして、投入異常非監視タイマに投入異常非監視タイマ値を設定することが可能となる。 The command "LD A, @MDL_WAT_TMR" on the fourth line in FIG. 6+1) is read into the A register. The command on the fourth line corresponds to step S4 in FIG. 208(b). By the command "LD (_EX_SLTM), A" on the fifth line, the value of the A register is stored in the variable "_EX_SLTM" as the input abnormality non-monitoring timer. The command on the fifth line corresponds to step S5 in FIG. 208(b). In this way, it is possible to set the closing abnormality non-monitoring timer value to the closing abnormality non-monitoring timer.

図209(b)の6行目のコマンド「EXX」によって、ペアレジスタBC、DE、HLの値と裏レジスタであるペアレジスタBC’、DE’、HL’の値とが入れ替わり、ペアレジスタBC、DE、HLの値が復帰する。7行目のコマンド「EX AF,AF’」によって、ペアレジスタAFの値と裏レジスタであるペアレジスタAF’の値とが入れ替わり、ペアレジスタAFの値が復帰する。かかる6、7行目のコマンドが、図208(b)のステップS6に対応する。図209(b)の8行目のコマンド「EI」によって、割込が許可される。なお、ここでは、サブルーチンから戻る前にコマンド「EI」を行っても適切に割込が許可される。したがって、サブルーチン内にコマンド「EI」を記述することで、使用領域の容量を確保することが可能となる。かかる8行目のコマンドが、図208(b)のステップS7に対応する。そして、9行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる9行目のコマンドが、図208(b)のステップS8に対応する。こうして、別領域において投入異常非監視タイマを設定することが可能となる。 The command "EXX" on the 6th line in FIG. The values of DE and HL are returned. The command "EX AF, AF'" on the 7th line replaces the value of the pair register AF with the value of the opposite register, that is, the pair register AF', and restores the value of the pair register AF. The commands on the 6th and 7th lines correspond to step S6 in FIG. 208(b). The interrupt is permitted by the command "EI" on line 8 of FIG. 209(b). Here, even if the command "EI" is issued before returning from the subroutine, the interrupt is appropriately permitted. Therefore, by describing the command "EI" in the subroutine, it is possible to secure the capacity of the used area. The command on the eighth line corresponds to step S7 in FIG. 208(b). Then, the command "RET" on the ninth line returns to the routine one level above. The command on the ninth line corresponds to step S8 in FIG. 208(b). In this way, it becomes possible to set the closing abnormality non-monitoring timer in another area.

このように、図209(a)に示したBLKSHUTモジュールと図209(b)に示したE_SETTMモジュールの総コマンドサイズは、図209(a)の1行目のコマンド「DI」1バイト+2行目のコマンド「CALL E_SETTM」3バイト+図209(b)の2行目のコマンド「EX AF,AF’」1バイト+3行目のコマンド「EXX」1バイト+4行目のコマンド「LD A,@MDL_WAT_TMR」2バイト+5行目のコマンド「LD (_EX_SLTM),A」4バイト+6行目のコマンド「EXX」1バイト+7行目のコマンド「EX AF,AF’」1バイト+8行目のコマンド「EI」1バイト+9行目のコマンド「RET」1バイト=16バイトであり、総実行サイクルは、図209(a)の1行目1サイクル+2行目5サイクル+図209(b)の2行目1サイクル+3行目1サイクル+4行目2サイクル+5行目4サイクル+6行目1サイクル+7行目1サイクル+8行目1サイクル+9行目3サイクル=20サイクルとなる。かかるE_SETTMモジュールを設けることによって、上述した各モジュール内で投入異常非監視タイマを設定することなく、コマンドサイズ3バイトのコマンド「CALL E_SETTM」で賄うことができるので、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Thus, the total command size of the BLKSHUT module shown in FIG. 209A and the E_SETTM module shown in FIG. command "CALL E_SETTM" 3 bytes + 2nd line command "EX AF, AF'" 1 byte + 3rd line command "EXX" 1 byte + 4th line command "LD A, @MDL_WAT_TMR " 2nd byte + 5th line command "LD (_EX_SLTM), A" 4th byte + 6th line command "EXX" 1st byte + 7th line command "EX AF, AF'" 1st byte + 8th line command "EI" 1 byte + 1 byte of the command "RET" on the 9th line = 16 bytes. Cycle + 3rd row 1 cycle + 4th row 2 cycle + 5th row 4 cycle + 6th row 1 cycle + 7th row 1 cycle + 8th row 1 cycle + 9th row 3 cycle = 20 cycles. By providing such an E_SETTM module, the command "CALL E_SETTM" with a command size of 3 bytes can be used without setting the input abnormality non-monitoring timer in each module described above. It is possible to secure the capacity of the control area for performing control processing.

図210は、E_SETTMモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図209(a)のE_SETTMモジュールを呼び出す任意の処理のコマンド群を、図210(a)のE_SETTMモジュールを呼び出す任意の処理のコマンド群に置き換え、図209(b)のE_SETTMモジュールのコマンド群を、図210(b)のE_SETTMモジュールのコマンド群に置き換えている。 FIG. 210 is an explanatory diagram for explaining another example of commands for realizing the E_SETTM module. Here, the command group for arbitrary processing that calls the E_SETTM module in FIG. 209(a) is replaced with the command group for arbitrary processing that calls the E_SETTM module in FIG. 210(a), and the E_SETTM module command in FIG. group is replaced with the command group of the E_SETTM module in FIG. 210(b).

図210(a)の1行目のコマンド「CALLEX E_SETTM」によって、サブルーチンとしてE_SETTMモジュールが呼び出される。かかる1行目のコマンドが、図208(a)のステップS2に対応する。 The E_SETTM module is called as a subroutine by the command "CALLEX E_SETTM" on the first line of FIG. 210(a). Such a command on the first line corresponds to step S2 in FIG. 208(a).

ここで、コマンド「CALLEX mn」は、コマンド「CALL mn」同様、固定値mnで示される先頭アドレスを有するサブルーチンを呼び出すコマンドである。ただし、コマンド「CALLEX mn」は、コマンド「CALL mn」のように、単にサブルーチンを呼び出すだけでなく、複数の機能を有している。例えば、当該コマンドを実行することで、自動的に、ノンマスカブル割込(NMI)およびマスカブル割込(INT)を禁止し、レジスタのバンクを第1レジスタバンク726から第2レジスタバンク728に切り換えてから固定値mnで示される先頭アドレスを有するサブルーチンを呼び出す。したがって、割込に関するコマンド「DI」や、退避に関するコマンド「EX AF,AF’」、「EXX」(または、コマンド「PUSH」)を要さない。したがって、図210(a)の1行目のコマンド「CALLEX E_SETTM」は、図208(a)のステップS2のみならず、図208(a)のステップS1および図208(b)のステップS3にも対応する。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「4」である。 Here, the command "CALLEX mn" is a command for calling a subroutine having a start address indicated by a fixed value mn, like the command "CALL mn". However, the command "CALLEX mn" has multiple functions in addition to simply calling a subroutine like the command "CALL mn". For example, by executing this command, the non-maskable interrupt (NMI) and maskable interrupt (INT) are automatically disabled, and the register bank is switched from the first register bank 726 to the second register bank 728. Call a subroutine having a start address indicated by a fixed value mn. Therefore, there is no need for the command "DI" related to interrupt or the commands "EX AF, AF'" and "EXX" (or command "PUSH") related to saving. Therefore, the command "CALLEX E_SETTM" on the first line in FIG. 210(a) is executed not only in step S2 in FIG. 208(a), but also in step S1 in FIG. 208(a) and step S3 in FIG. handle. Such a command has a command size of "2" and an execution cycle of "4".

ただし、コマンド「CALLEX mn」には、所定の制限がある。例えば、呼び出し先アドレスがアドレスマップ上の2000H~20FFHの範囲であれば、コマンドのコマンドサイズは「2」であり、実行サイクルは「4」であるが、それ以外の範囲では、コマンドのコマンドサイズは「4」であり、実行サイクルは「6」となる。したがって、コマンドの短縮化を図るため、本実施形態では、呼び出し先アドレス、例えば、「E_SETTM」が2000H~20FFH内に含まれるように配置する。 However, the command "CALLEX mn" has certain limitations. For example, if the call destination address is in the range of 2000H to 20FFH on the address map, the command size is "2" and the execution cycle is "4". is "4" and the execution cycle is "6". Therefore, in order to shorten the command, in this embodiment, the called address, for example, "E_SETTM" is arranged so as to be included within 2000H to 20FFH.

図210(b)の1行目の指標「E_SETTM:」は、当該E_SETTMモジュールの先頭アドレスを示す。2行目のコマンド「LD A,@MDL_WAT_TMR」によって、固定値「@MDL_WAT_TMR」、すなわち、投入異常非監視タイマ値(初期値)としての250.32msecに相当する(252/6+1)がAレジスタに読み出される。かかる2行目のコマンドが、図208(b)のステップS4に対応する。3行目のコマンド「LD (_EX_SLTM),A」によって、投入異常非監視タイマとしての変数「_EX_SLTM」にAレジスタの値を格納する。かかる3行目のコマンドが、図208(b)のステップS5に対応する。こうして、投入異常非監視タイマに投入異常非監視タイマ値を設定することが可能となる。 The index "E_SETTM:" on the first line in FIG. 210(b) indicates the start address of the E_SETTM module. By the command "LD A, @MDL_WAT_TMR" on the second line, the fixed value "@MDL_WAT_TMR", that is, (252/6+1) corresponding to 250.32 msec as the input abnormality non-monitoring timer value (initial value) is stored in the A register. read out. The command on the second line corresponds to step S4 in FIG. 208(b). The command "LD (_EX_SLTM), A" on the third line stores the value of the A register in the variable "_EX_SLTM" as the input abnormality non-monitoring timer. The command on the third line corresponds to step S5 in FIG. 208(b). In this way, it is possible to set the closing abnormality non-monitoring timer value to the closing abnormality non-monitoring timer.

図210(b)の4行目のコマンド「RETEX」によって、1段上のルーチンに戻る。かかる4行目のコマンドが、図208(b)のステップS8に対応する。こうして、別領域において投入異常非監視タイマを設定することが可能となる。 The command "RETEX" on the fourth line in FIG. 210(b) returns to the routine one level above. The command on the fourth line corresponds to step S8 in FIG. 208(b). In this way, it becomes possible to set the closing abnormality non-monitoring timer in another area.

ここで、コマンド「RETEX」は、コマンド「RET」同様、1段上のルーチンに戻るコマンドである。ただし、コマンド「RETEX」は、コマンド「CALLEX mn」とペアで用いられることが多く、コマンド「RET」のように、単にサブルーチンから戻るだけでなく、複数の機能を有している。例えば、当該コマンドを実行することで、自動的に、レジスタのバンクを第2レジスタバンク728から第1レジスタバンク726に切り換え、割込を許可してから1段上のルーチンに戻る。したがって、復帰に関するコマンド「EXX」、「EX AF,AF’」(または、コマンド「POP」)や、割込に関するコマンド「EI」を要さない。したがって、図210(b)の4行目のコマンド「RETEX」は、図208(b)のステップS8のみならず、図208(b)のステップS6およびステップS7にも対応する。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「5」である。 Here, the command "RETEX" is a command to return to the routine one level above, like the command "RET". However, the command "RETEX" is often used in pairs with the command "CALLEX mn", and has multiple functions in addition to simply returning from a subroutine like the command "RET". For example, executing this command automatically switches the register bank from the second register bank 728 to the first register bank 726, enables interrupts, and then returns to the routine one level above. Therefore, commands "EXX" and "EX AF, AF'" (or command "POP") related to return and command "EI" related to interrupt are not required. Therefore, the command "RETEX" on the fourth line of FIG. 210(b) corresponds not only to step S8 of FIG. 208(b) but also to steps S6 and S7 of FIG. 208(b). Such a command has a command size of "2" and an execution cycle of "5".

図210(a)に示したBLKSHUTモジュールと図210(b)に示したE_SETTMモジュールの総コマンドサイズは、図210(a)の1行目のコマンド「CALLEX E_SETTM」2バイト+図210(b)の2行目のコマンド「LD A,@MDL_WAT_TMR」2バイト+3行目のコマンド「LD (_EX_SLTM),A」4バイト+4行目のコマンド「RETEX」2バイト=10バイトであり、総実行サイクルは、図210(a)の1行目4サイクル+図210(b)の2行目2サイクル+3行目4サイクル+4行目5サイクル=15サイクルとなる。したがって、図209の場合と比べ、総コマンドサイズが6バイト削減され、総実行サイクルも少なくとも5サイクル削減される。かかるE_SETTMモジュールによって、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the BLKSHUT module shown in FIG. 210(a) and the E_SETTM module shown in FIG. 2 bytes of the command "LD A, @MDL_WAT_TMR" on the second line + 4 bytes of the command "LD (_EX_SLTM), A" on the third line + 2 bytes of the command "RETEX" on the fourth line = 10 bytes, and the total execution cycle is , 4 cycles on the 1st line in FIG. 210(a)+2 cycles on the 2nd line in FIG. 210(b)+4 cycles on the 3rd line+5 cycles on the 4th line=15 cycles. Therefore, compared to the case of FIG. 209, the total command size is reduced by 6 bytes, and the total execution cycle is also reduced by at least 5 cycles. With such an E_SETTM module, it is possible to further shorten the command and reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図209と図210とを比較して理解できるように、図209において8行(図209(a)の1、2行目および図209(b)の2、3、6~9行目)を占有していたコマンド群を、図210においては、2行(図210(a)の1行目および図210(b)の4行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIG. 209 and FIG. 210, in FIG. ) can be represented by two lines in FIG. , it is possible to reduce the design load.

かかるコマンド「CALLEX」は、上述したBLKSHUTモジュールのみならず、様々なモジュールに採用することができる。また、スロットマシンのみならず、パチンコ機における、例えば、DYM_OUTモジュール等にも採用することができる。 Such a command "CALLEX" can be employed not only in the BLKSHUT module described above but also in various modules. In addition, it can be used not only in slot machines but also in pachinko machines, for example, DYM_OUT modules.

図211、図212は、DYM_OUTモジュールを説明するための説明図である。図26のステップS400-5で示したDYM_OUTモジュールは、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170、右打ち報知表示器172、性能表示モニタ184を点灯制御するダイナミックポート出力処理を実行する。 211 and 212 are explanatory diagrams for explaining the DYM_OUT module. The DYM_OUT module shown in step S400-5 of FIG. 26 includes a first special symbol display device 160, a second special symbol display device 162, a first special symbol reservation display device 164, a second special symbol reservation display device 166, and a normal symbol. A dynamic port output process for controlling the lighting of the indicator 168, the normal symbol reservation indicator 170, the right hitting information indicator 172, and the performance display monitor 184 is executed.

図211(a)の1行目のコマンド「DI」によって、割込が禁止される。2行目のコマンド「CALL E_DMOUT」によって、サブルーチンとしてE_DMOUTモジュールが呼び出される。 The interrupt is disabled by the command "DI" on the first line of FIG. 211(a). The E_DMOUT module is called as a subroutine by the command "CALL E_DMOUT" on the second line.

図211(b)の1行目の指標「E_DMOUT:」は、当該E_DMOUTモジュールの先頭アドレスを示す。2行目のコマンド「EX AF,AF’」によって、ペアレジスタAFの値と裏レジスタであるペアレジスタAF’の値とが入れ替わり、ペアレジスタAFの値が退避される。3行目のコマンド「EXX」によって、ペアレジスタBC、DE、HLの値と裏レジスタであるペアレジスタBC’、DE’、HL’の値とが入れ替わり、ペアレジスタBC、DE、HLの値が退避される。4行目のコマンド「LD HL,R_ERW_IOB」によって識別セグ出力要求バッファのアドレス「R_ERW_IOB」をHLレジスタに設定する。5行目のコマンド「LD A,(R_COM_CNT)」によって、「R_COM_CNT」で示されるアドレスに格納された1バイト値(コモンカウンタ)がAレジスタに読み出される。ここで、コモンカウンタはLEDダイナミック点灯制御のコモン番号を判定するために使用され、コモン番号を示す値が格納されている。6行目のコマンド「LD A,(HL+A)」によって、HLレジスタで示されるアドレスにAレジスタの値を加算した(オフセットさせた)アドレスに格納された1バイト値(表示データ)がAレジスタに読み出される。7行目のコマンド「OUT (@OTC_PRT),A」によって、Uレジスタの値をアドレスの上位1バイトとし、出力ポート12(内部レジスタI/Oポート)のアドレスの下位1バイトを示す固定値「@OTC_PRT」を下位1バイトとし、そのアドレスに、Aレジスタの値を出力する。8行目のコマンド「EXX」によって、ペアレジスタBC、DE、HLの値と裏レジスタであるペアレジスタBC’、DE’、HL’の値とが入れ替わり、ペアレジスタBC、DE、HLの値が復帰する。9行目のコマンド「EX AF,AF’」によって、ペアレジスタAFの値と裏レジスタであるペアレジスタAF’の値とが入れ替わり、ペアレジスタAFの値が復帰する。10行目のコマンド「EI」によって、割込が許可される。なお、ここでは、サブルーチンから戻る前にコマンド「EI」を行っても適切に割込が許可される。したがって、サブルーチン内にコマンド「EI」を記述することで、使用領域の容量を確保することが可能となる。そして、11行目のコマンド「RET」によって、1段上のルーチンに戻る。こうして、別領域においてダイナミックポート出力処理を実行することができる。 The index "E_DMOUT:" on the first line in FIG. 211(b) indicates the start address of the E_DMOUT module. The command "EX AF, AF'" on the second line replaces the value of the pair register AF with the value of the opposite register, that is, the pair register AF', and saves the value of the pair register AF. By the command "EXX" on the third line, the values of the pair registers BC, DE and HL are exchanged with the values of the pair registers BC', DE' and HL' which are back registers, and the values of the pair registers BC, DE and HL are changed. be evacuated. The address "R_ERW_IOB" of the identification segment output request buffer is set in the HL register by the command "LD HL, R_ERW_IOB" on the fourth line. A 1-byte value (common counter) stored at the address indicated by "R_COM_CNT" is read to the A register by the command "LD A, (R_COM_CNT)" on the fifth line. Here, the common counter is used to determine the common number for LED dynamic lighting control, and stores a value indicating the common number. By the command "LD A, (HL+A)" on the 6th line, the 1-byte value (display data) stored at the address indicated by the HL register plus the value of the A register (offset) is transferred to the A register. read out. The command "OUT (@OTC_PRT),A" on the 7th line sets the value of the U register to the upper 1 byte of the address and sets the fixed value " @OTC_PRT" is set as the lower 1 byte, and the value of the A register is output to that address. By the command "EXX" on the eighth line, the values of the pair registers BC, DE, HL and the values of the pair registers BC', DE', HL', which are back registers, are exchanged, and the values of the pair registers BC, DE, HL are changed. return. The command "EX AF, AF'" on the ninth line replaces the value of the pair register AF with the value of the pair register AF', which is a reverse register, and restores the value of the pair register AF. The command "EI" on line 10 enables interrupts. Here, even if the command "EI" is issued before returning from the subroutine, the interrupt is appropriately permitted. Therefore, by describing the command "EI" in the subroutine, it is possible to secure the capacity of the used area. Then, the command "RET" on the 11th line returns to the routine one level above. Thus, dynamic port output processing can be executed in another area.

ここで、コマンド「CALLEX」への置き換えを行うと、図211のコマンド群を図212のように変更することができる。図212(a)の1行目のコマンド「CALLEX E_DMOUT」によって、サブルーチンとしてE_DMOUTモジュールが呼び出される。ここでは、呼び出し先アドレス、例えば、「E_DMOUT」が2000H~20FFH内に含まれるように配置されている。 Here, by replacing with the command "CALLEX", the command group in FIG. 211 can be changed as in FIG. The E_DMOUT module is called as a subroutine by the command "CALLEX E_DMOUT" on the first line of FIG. 212(a). Here, the called address, for example, "E_DMOUT" is arranged so as to be included within 2000H to 20FFH.

図212(b)の1行目の指標「E_DMOUT:」は、当該E_DMOUTモジュールの先頭アドレスを示す。2行目のコマンド「LD HL,R_ERW_IOB」によって識別セグ出力要求バッファのアドレス「R_ERW_IOB」をHLレジスタに設定する。3行目のコマンド「LD A,(R_COM_CNT)」によって、「R_COM_CNT」で示されるアドレスに格納された1バイト値(コモンカウンタ)がAレジスタに読み出される。4行目のコマンド「LD A,(HL+A)」によって、HLレジスタで示されるアドレスにAレジスタの値を加算した(オフセットさせた)アドレスに格納された1バイト値(表示データ)がAレジスタに読み出される。5行目のコマンド「OUT (@OTC_PRT),A」によって、Uレジスタの値をアドレスの上位1バイトとし、出力ポート12(内部レジスタI/Oポート)のアドレスの下位1バイトを示す固定値「@OTC_PRT」を下位1バイトとし、そのアドレスに、Aレジスタの値を出力する。6行目のコマンド「RETEX」によって、1段上のルーチンに戻る。こうして、図211同様、別領域においてダイナミックポート出力処理を実行することができる。 The index "E_DMOUT:" on the first line in FIG. 212(b) indicates the start address of the E_DMOUT module. The address "R_ERW_IOB" of the identification segment output request buffer is set in the HL register by the command "LD HL, R_ERW_IOB" on the second line. The 1-byte value (common counter) stored at the address indicated by "R_COM_CNT" is read to the A register by the command "LD A, (R_COM_CNT)" on the third line. By the command "LD A, (HL+A)" on the fourth line, the 1-byte value (display data) stored at the address obtained by adding (offset) the value of the A register to the address indicated by the HL register is transferred to the A register. read out. The command "OUT (@OTC_PRT),A" on the 5th line sets the value of the U register to the upper 1 byte of the address and sets the fixed value " @OTC_PRT" is set as the lower 1 byte, and the value of the A register is output to that address. The command "RETEX" on the 6th line returns to the routine one level above. In this way, dynamic port output processing can be executed in another area as in FIG.

このように、図211(a)に示したDYM_OUTモジュールと図211(b)に示したE_DMOUTモジュールの総コマンドサイズは、図211(a)の1行目のコマンド「DI」1バイト+2行目のコマンド「CALL E_DMOUT」3バイト+図211(b)の2行目のコマンド「EX AF,AF’」1バイト+3行目のコマンド「EXX」1バイト+4行目のコマンド「LD HL,R_ERW_IOB」3バイト+5行目のコマンド「LD A,(R_COM_CNT)」3バイト+6行目のコマンド「LD A,(HL+A)」3バイト+7行目のコマンド「OUT (@OTC_PRT),A」2バイト+8行目のコマンド「EXX」1バイト+9行目のコマンド「EX AF,AF’」1バイト+10行目のコマンド「EI」1バイト+11行目のコマンド「RET」1バイト=21バイトであり、総実行サイクルは、図211(a)の1行目1サイクル+2行目5サイクル+図211(b)の2行目1サイクル+3行目1サイクル+4行目3サイクル+5行目4サイクル+6行目4サイクル+7行目3サイクル+8行目1サイクル+9行目1サイクル+10行目1サイクル+11行目3サイクル=28サイクルとなる。 Thus, the total command size of the DYM_OUT module shown in FIG. 211(a) and the E_DMOUT module shown in FIG. command "CALL E_DMOUT" 3 bytes + command "EX AF, AF'" on the second line in FIG. 3 bytes + 5th line command "LD A, (R_COM_CNT)" 3 bytes + 6th line command "LD A, (HL + A)" 3 bytes + 7th line command "OUT (@OTC_PRT), A" 2 bytes + 8 lines 1st command 'EXX' 1 byte + 9th line command 'EX AF, AF' 1 byte + 10th line command 'EI' 1 byte + 11th line command 'RET' 1 byte = 21 bytes, total execution 211(a) 1st line + 2nd line 5th cycle + 2nd line 1st cycle + 3rd line 1st cycle + 4th line 3rd cycle + 5th line 4th cycle + 6th line 4 Cycle + 7th row 3 cycle + 8th row 1 cycle + 9th row 1 cycle + 10th row 1 cycle + 11th row 3 cycle = 28 cycles.

一方、図212(a)に示したDYM_OUTモジュールと図212(b)に示したE_DMOUTモジュールの総コマンドサイズは、図212(a)の1行目のコマンド「CALLEX E_DMOUT」2バイト+図212(b)の2行目のコマンド「LD HL,R_ERW_IOB」3バイト+3行目のコマンド「LD A,(R_COM_CNT)」3バイト+4行目のコマンド「LD A,(HL+A)」3バイト+5行目のコマンド「OUT (@OTC_PRT),A」2バイト+6行目のコマンド「RETEX」2バイト=15バイトであり、総実行サイクルは、図212(a)の1行目4サイクル+図212(b)の2行目3サイクル+3行目4サイクル+4行目4サイクル+5行目3サイクル+6行目5サイクル=23サイクルとなる。したがって、図211の場合と比べ、総コマンドサイズが6バイト削減され、総実行サイクルも5サイクル削減される。かかるE_DMOUTモジュールによって、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 On the other hand, the total command size of the DYM_OUT module shown in FIG. 212(a) and the E_DMOUT module shown in FIG. b) 2nd line command "LD HL, R_ERW_IOB" 3 bytes + 3rd line command "LD A, (R_COM_CNT)" 3 bytes + 4th line command "LD A, (HL+A)" 3 bytes + 5th line Command "OUT (@OTC_PRT), A" 2 bytes + 6th line command "RETEX" 2 bytes = 15 bytes, total execution cycle is 1st line 4 cycles in Fig. 212(a) + Fig. 212(b) 2nd row 3 cycles+3rd row 4 cycles+4th row 4 cycles+5th row 3 cycles+6th row 5 cycles=23 cycles. Therefore, compared with the case of FIG. 211, the total command size is reduced by 6 bytes, and the total execution cycle is also reduced by 5 cycles. With such an E_DMOUT module, it is possible to further shorten the command and reduce the processing load, and secure the capacity of the control area for performing the game control processing.

ところで、図208~図210を用いて説明したように、コマンド「CALLEX mn」は、呼び出し先アドレスがアドレスマップ上の2000H~20FFHの範囲であれば、コマンドのコマンドサイズは「2」であり、実行サイクルは「4」であるが、それ以外の範囲では、コマンドのコマンドサイズは「4」であり、実行サイクルは「6」となる。したがって、呼び出し先アドレスは全て2000H~20FFHの範囲に配置するのが望ましい。しかし、2000H~20FFHでは、記述できるバイト数が256バイトしかないので、かかる範囲にサブルーチンをそのまま記述するとなると、サブルーチンの数が制限されてしまう。例えば、比較的コマンドサイズが小さいE_SETTMモジュールであっても、図210(b)の2行目のコマンド「LD A,@MDL_WAT_TMR」2バイト+3行目のコマンド「LD (_EX_SLTM),A」4バイト+4行目のコマンド「RETEX」2バイト=8バイトを占有するので、サブルーチンの数を多く配置することができなくなる。 By the way, as described with reference to FIGS. 208 to 210, the command "CALLEX mn" has a command size of "2" if the call destination address is in the range of 2000H to 20FFH on the address map. The execution cycle is "4", but in other ranges the command size is "4" and the execution cycle is "6". Therefore, it is desirable to arrange all call destination addresses in the range of 2000H to 20FFH. However, since the number of bytes that can be written is only 256 bytes in 2000H to 20FFH, the number of subroutines is limited if subroutines are written as they are in this range. For example, even if the E_SETTM module has a relatively small command size, the second line command "LD A, @MDL_WAT_TMR" 2 bytes + the third line command "LD (_EX_SLTM), A" 4 bytes The command "RETEX" on the +4th line occupies 2 bytes=8 bytes, so a large number of subroutines cannot be arranged.

そこで、本実施形態では、アドレスマップ上の2000H~20FFHの範囲には、実質的に、移動に関するコマンド「JP mn」のみを配置し、サブルーチンの本体は移動先に配置する。かかるコマンド「JP mn」のコマンドサイズは「3」なので、アドレスマップ上の2000H~20FFHの範囲にコマンド「JP mn」を並置することで、256/3=86個のモジュールをサブルーチンとして呼び出すことが可能となる。 Therefore, in this embodiment, substantially only the command "JP mn" relating to movement is arranged in the range of 2000H to 20FFH on the address map, and the body of the subroutine is arranged at the movement destination. Since the command size of the command "JP mn" is "3", by arranging the command "JP mn" in parallel in the range of 2000H to 20FFH on the address map, 256/3=86 modules can be called as subroutines. It becomes possible.

なお、コマンド「JP mn」の代わりにコマンドサイズ「3」のコマンド「CALL mn」を用いることも可能であるが、その場合、コマンド「CALL mn」の後に、コマンドサイズ「2」のコマンド「RETEX」を配置する必要が生じるので、コマンド「JP mn」よりサブルーチンの数が制限されることとなる。したがって、コマンド「JP mn」を採用するのが望ましい。以下、かかる内容を反映したE_SETTMモジュールの具体的な処理を説明する。 It is also possible to use the command "CALL mn" with a command size of "3" instead of the command "JP mn". , the number of subroutines is limited by the command "JP mn". Therefore, it is desirable to employ the command "JP mn". Specific processing of the E_SETTM module reflecting such contents will be described below.

図213は、E_SETTMモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図208同様、ブロッカー閉塞処理を実行するBLKSHUTモジュールの一部を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。 FIG. 213 is a flow chart showing specific processing of the E_SETTM module. Here, as an arbitrary process, a part of the BLKSHUT module that executes the blocker blocking process will be described as in FIG. 208 . Numerical values of step S in this figure are used only in the explanation of this figure.

メインCPU500aは、図213(a)のように、任意の処理を実行する。メインCPU500aは、別領域のサブルーチンとしてRRE01モジュールを呼び出す(S1)。 The main CPU 500a executes arbitrary processing as shown in FIG. 213(a). The main CPU 500a calls the RRE01 module as a subroutine in another area (S1).

続いて、メインCPU500aは、図213(b)のように、RRE01モジュールにおいて、有意な処理を行うことなく、E_SETTMモジュールに移動する(S2)。このように、RRE01モジュールは、E_SETTMモジュールに移動するためのモジュールであり、アドレスマップ上の2000H~20FFHの範囲に配置される。こうして、サブルーチンの数を多く配置することができる。 Subsequently, as shown in FIG. 213(b), the main CPU 500a moves to the E_SETTM module without performing significant processing in the RRE01 module (S2). Thus, the RRE01 module is a module for moving to the E_SETTM module, and is arranged in the range of 2000H to 20FFH on the address map. In this way, a large number of subroutines can be arranged.

メインCPU500aは、図213(c)のように、E_SETTMモジュールにおいて、投入異常非監視タイマ値をAレジスタに設定し(S3)、そのAレジスタの値を所定のアドレス(投入異常非監視タイマ)が示す値に格納して、投入異常非監視タイマを設定する(S4)。かかる処理が完了すると、メインCPU500aは、当該E_SETTMモジュールを終了して1段上のルーチンに戻る(S5)。かかるE_SETTMモジュールは、RRE01モジュールの移動先なので、アドレスマップの制限を受けない。したがって、別領域のうちの2100H~3FBFHの範囲に任意に配置することができるので、総コマンドサイズがある程度大きくとも許容される。 As shown in FIG. 213(c), the main CPU 500a sets the input abnormality non-monitoring timer value in the A register in the E_SETTM module (S3), and sets the A register value to a predetermined address (input abnormality non-monitoring timer). The data is stored in the indicated value, and a closing abnormality non-monitoring timer is set (S4). When such processing is completed, the main CPU 500a terminates the E_SETTM module and returns to the routine one level above (S5). Since the E_SETTM module is the destination of the RRE01 module, it is not restricted by the address map. Therefore, since it can be arranged arbitrarily in the range of 2100H to 3FBFH in the separate area, even if the total command size is large to some extent, it is allowed.

図214は、E_SETTMモジュールを実現するためのコマンドのさらに他の例を説明するための説明図である。ここでは、図214(b)のように、新たに、E_SETTMモジュールに移動するためのRRE01モジュールを設けている。 FIG. 214 is an explanatory diagram for explaining still another example of commands for realizing the E_SETTM module. Here, as shown in FIG. 214(b), an RRE01 module is newly provided for moving to the E_SETTM module.

図214(a)の1行目のコマンド「CALLEX PRE01」によって、サブルーチンとしてE_SETTMモジュールではなく、RRE01モジュールが呼び出される。かかる1行目のコマンドが、図213(a)のステップS1に対応する。なお、コマンド「CALLEX PRE01」によって、割込の禁止、および、汎用レジスタの退避も実行される。 The command "CALLEX PRE01" on the first line in FIG. 214(a) calls the RRE01 module instead of the E_SETTM module as a subroutine. Such a command on the first line corresponds to step S1 in FIG. 213(a). The command "CALLEX PRE01" also disables interrupts and saves general-purpose registers.

図214(b)の1行目の指標「PRE01:」は、当該PRE01モジュールの先頭アドレスを示す。2行目のコマンド「JP E_SETTM」によって、E_SETTMモジュール本体へ移動する。かかるコマンドが、図213(b)のステップS2に対応する。 The index "PRE01:" on the first line in FIG. 214(b) indicates the head address of the PRE01 module. The command "JP E_SETTM" on the second line moves to the E_SETTM module body. Such a command corresponds to step S2 in FIG. 213(b).

なお、コマンド「CALLEX mn」を通じて複数のサブルーチンを呼び出す場合、その複数のサブルーチンに関する呼び出しアドレスを示す指標(例えば、「PRE01:」と、コマンド「JP mn」とを、2000H~20FFHの範囲に連続して並置する。こうすることで、2000H~20FFHの範囲を有効利用し、サブルーチンの数を多く配置することができる。 When calling a plurality of subroutines through the command "CALLEX mn", an index indicating the calling address of the plurality of subroutines (for example, "PRE01:" and the command "JP mn" are consecutively placed in the range from 2000H to 20FFH). By doing so, the range from 2000H to 20FFH can be effectively used and a large number of subroutines can be arranged.

図214(c)の1行目の指標「E_SETTM:」は、当該E_SETTMモジュールの先頭アドレスを示す。2行目のコマンド「LD A,@MDL_WAT_TMR」によって、固定値「@MDL_WAT_TMR」、すなわち、投入異常非監視タイマ値(初期値)としての250.32msecに相当する(252/6+1)がAレジスタに読み出される。かかる2行目のコマンドが、図213(c)のステップS3に対応する。3行目のコマンド「LD (_EX_SLTM),A」によって、投入異常非監視タイマとしての変数「_EX_SLTM」にAレジスタの値を格納する。かかる3行目のコマンドが、図213(c)のステップS4に対応する。こうして、投入異常非監視タイマに投入異常非監視タイマ値を設定することが可能となる。 The index “E_SETTM:” on the first line in FIG. 214(c) indicates the head address of the E_SETTM module. By the command "LD A, @MDL_WAT_TMR" on the second line, the fixed value "@MDL_WAT_TMR", that is, (252/6+1) corresponding to 250.32 msec as the input abnormality non-monitoring timer value (initial value) is stored in the A register. read out. The command on the second line corresponds to step S3 in FIG. 213(c). By the command "LD (_EX_SLTM), A" on the third line, the value of the A register is stored in the variable "_EX_SLTM" as the input abnormality non-monitoring timer. The command on the third line corresponds to step S4 in FIG. 213(c). In this way, it is possible to set the closing abnormality non-monitoring timer value to the closing abnormality non-monitoring timer.

図214(c)の4行目のコマンド「RETEX」によって、1段上のルーチンに戻る。かかる4行目のコマンドが、図213(c)のステップS5に対応する。こうして、別領域において投入異常非監視タイマを設定することが可能となる。なお、コマンド「RETEX」によって、汎用レジスタの復帰、および、割込の許可も実行される。 The command "RETEX" on the fourth line in FIG. 214(c) returns to the routine one level above. The command on the fourth line corresponds to step S5 in FIG. 213(c). In this way, it becomes possible to set the closing abnormality non-monitoring timer in another area. Note that the command "RETEX" also restores the general-purpose registers and enables interrupts.

かかる図214の例では、図210の場合と比べ、コマンド「JP E_SETTM」の分だけ、総コマンドサイズおよび総実行サイクルが大きくなる。しかし、コマンド「JP E_SETTM」を経由してサブルーチン本体に移動させる構成とすることで、2000H~20FFHの範囲にサブルーチンを多く配することができ、サブルーチン数の制限を広げ、さらに、サブルーチン自体のコマンドサイズの制限が緩和されるので、結果、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 In the example of FIG. 214, the total command size and the total execution cycle are increased by the command "JP E_SETTM" compared to the case of FIG. However, by moving to the subroutine main body via the command "JP E_SETTM", many subroutines can be arranged in the range of 2000H to 20FFH, expanding the limit on the number of subroutines, and furthermore, the command of the subroutine itself Since the size restriction is eased, as a result, it is possible to further shorten the command and reduce the processing load, and secure the capacity of the control area for performing the game control processing.

なお、このように、2000H~20FFHの範囲にコマンド「JP mn」のみを配置しても、配置できるサブルーチンの数が足りない場合、すなわち、サブルーチンが86個以上ある場合、総コマンドサイズが小さいモジュールを2100H~217FHの範囲(128バイトの範囲)に配置し、コマンドサイズ「3」のコマンド「JP mn」ではなく、近距離の移動に適しているコマンドサイズ「2」のコマンド「JR mn」を用いるとしてもよい。こうすることで、2000H~20FFHの範囲に、さらに多くのコマンド「JR mn」を配置することが可能となる。 In this way, even if only the command "JP mn" is placed in the range from 2000H to 20FFH, if the number of subroutines that can be placed is insufficient, that is, if there are 86 or more subroutines, the total command size of the module is small. is placed in the range of 2100H to 217FH (range of 128 bytes), and instead of command size "3" command "JP mn", command size "2" suitable for short distance movement "JR mn" may be used. By doing so, it becomes possible to arrange more commands "JR mn" in the range from 2000H to 20FFH.

<コマンド「ICPLMQA」、「ICPLMQ」>
RAM_INCモジュールは、RAM加算処理、すなわち、メインRAM500cの1バイト変数を、所定数を上限に、1だけインクリメントするためのモジュールである。なお、RAM_INCモジュールは、インクリメントのみならず、インクリメントした結果、キャリーフラグを設定している。また、RAM_INCモジュールは、汎用モジュールとして利用することもできる。
<Command "ICPLMQA", "ICPLMQ">
The RAM_INC module is a module for RAM addition processing, that is, for incrementing a 1-byte variable in the main RAM 500c by 1 up to a predetermined number. Note that the RAM_INC module not only increments, but also sets a carry flag as a result of the increment. Also, the RAM_INC module can be used as a general-purpose module.

かかるRAM_INCモジュールは、複数のモジュールからサブルーチンとして呼び出される。例えば、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、本前兆中処理(AT状態=「3」)を実行するHID_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、終了画面中処理(AT状態=「4」)を実行するFIN_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、REG中処理(AT状態=「6」)を実行するREG_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、BIG中処理(AT状態=「7」)を実行するBIT_LOTモジュール等から呼び出される。 Such a RAM_INC module is called as a subroutine from multiple modules. For example, in the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. 91, it selectively shifts according to the game state and the effect state, and executes the present prognostic process (AT state=“3”). and the EXE_SET module for executing the execution flag setting process shown in step S2400-11 in FIG. , and the EXE_SET module for executing the execution flag setting process shown in step S2400-11 in FIG. ), and the EXE_SET module for executing the execution flag setting process shown in step S2400-11 in FIG. ”) is called from the BIT_LOT module or the like.

メインCPU500aは、メインROM500bからプログラムを読み出し、読み出したプログラムを遂行し、任意の処理において、メインRAM500cに保持された1バイト値をインクリメントする。 The main CPU 500a reads a program from the main ROM 500b, executes the read program, and increments a 1-byte value held in the main RAM 500c in arbitrary processing.

図215は、RAM_INCモジュールの具体的な処理を示したフローチャートである。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該RAM_INCモジュールの説明中、所定レジスタはAレジスタであり、所定数は上限値であり、特定アドレスはインクリメントの対象となるアドレスである。 FIG. 215 is a flow chart showing specific processing of the RAM_INC module. Numerical values of step S in this figure are used only in the explanation of this figure. Also, in the description of the RAM_INC module, the predetermined register is the A register, the predetermined number is the upper limit value, and the specific address is the address to be incremented.

メインCPU500aは、図215(a)のように、任意の処理において、インクリメント対象となるアドレスをHLレジスタに設定する(S1)。そして、メインCPU500aは、HLレジスタで示されるアドレスに格納された1バイト値をインクリメントし(S2)、インクリメントした値をHLアドレスで示されるアドレスに格納して、値を更新する(S3)。ただし、ここでは、上限値(所定数)が設定され、インクリメントした結果が、その上限値を超えないようになっている。 As shown in FIG. 215(a), the main CPU 500a sets an address to be incremented in the HL register in arbitrary processing (S1). Then, the main CPU 500a increments the 1-byte value stored at the address indicated by the HL register (S2), stores the incremented value at the address indicated by the HL address, and updates the value (S3). However, here, an upper limit (predetermined number) is set so that the result of incrementing does not exceed the upper limit.

図216、図217は、RAM_INCモジュールを実現するためのコマンドの一例を説明するための説明図である。図215で示したフローチャートは、例えば、図216に示したプログラムによって実現される。 216 and 217 are explanatory diagrams for explaining an example of commands for realizing the RAM_INC module. The flowchart shown in FIG. 215 is realized by the program shown in FIG. 216, for example.

図216の1行目の指標「RAM_INC:」は、当該RAM_INCモジュールの先頭アドレスを示す。2行目のコマンド「LDQ HL,LOW _AT_SET」によって、Qレジスタの値をHレジスタに読み出し、アドレス「_AT_SET」の下位1バイトの値をLレジスタに読み出す。かかる2行目のコマンドが、図215のステップS1に対応する。3行目のコマンド「LD A,(HL)」によって、図217に示すように、HLレジスタで示されるアドレスに格納された1バイト値(例えば、02H)がAレジスタに読み出される。図216の4行目のコマンド「INC A」によって、図217に示すようにAレジスタの値が、例えば、02Hから03Hに1だけインクリメントされる。なお、汎用性を持たせるため、3行目のコマンド「LD A,(HL)」および4行目のコマンド「INC A」の代わりに、コマンド「LD A,1」およびコマンド「ADD A,(HL)」を用いることもできる。この場合、Aレジスタに格納する「1」の値を変えることで、インクリメントする値を1以外に変更することができる。 The index “RAM_INC:” on the first line in FIG. 216 indicates the head address of the RAM_INC module. The command "LDQ HL, LOW_AT_SET" on the second line reads the value of the Q register to the H register, and reads the value of the lower 1 byte of the address "_AT_SET" to the L register. The command on the second line corresponds to step S1 in FIG. The command "LD A, (HL)" on the third line causes the 1-byte value (eg, 02H) stored at the address indicated by the HL register to be read to the A register, as shown in FIG. The command "INC A" on the fourth line in FIG. 216 causes the value of the A register to be incremented by 1 from 02H to 03H, for example, as shown in FIG. In addition, in order to provide versatility, instead of the command "LD A, (HL)" on the third line and the command "INC A" on the fourth line, the command "LD A, 1" and the command "ADD A, ( HL)" can also be used. In this case, the value to be incremented can be changed to a value other than 1 by changing the value of "1" stored in the A register.

図216の5行目のコマンド「JCP C,A,5,RAM_INC01」によって、Aレジスタの値と、上限値「5」とを比較し、その結果、5未満であれば(キャリーフラグが立てば)、アドレス「RAM_INC01」に移動する。こうして、Aレジスタの値が上限値の5未満であれば、次の処理を省略して7行目の指標「RAM_INC01」に移動することができる。6行目のコマンド「LD A,5」によって、Aレジスタに上限値「5」を格納する。これは、4行目のコマンド「INC A」によって、Aレジスタの値が5を超えた場合、強制的にAレジスタの値を5に上書きすることで、インクリメントした結果を5以下とするためのである。なお、ここでは、インクリメント前のAレジスタの値が4の場合、すなわち、Aレジスタの値が4から5にインクリメントされた場合、既にAレジスタの値は5となっているので5に更新する必要はないが、そのことを判定する処理を追加すると処理負荷が高まるので、汎用性を優先し、5を超えた場合同様、強制的にAレジスタの値を5に更新することとしている。かかる3~6行目のコマンドが、図215のステップS2に対応する。 The command "JCP C, A, 5, RAM_INC01" on the fifth line in FIG. 216 compares the value of the A register with the upper limit "5". ) and move to the address “RAM_INC01”. Thus, if the value of the A register is less than the upper limit value of 5, the next process can be omitted and the index "RAM_INC01" on the 7th row can be moved to. The command "LD A, 5" on the sixth line stores the upper limit value "5" in the A register. This is because when the value of the A register exceeds 5 by the command "INC A" on the 4th line, the value of the A register is forcibly overwritten to 5, so that the incremented result is 5 or less. be. Here, if the value of the A register before incrementing is 4, that is, if the value of the A register is incremented from 4 to 5, the value of the A register is already 5, so it must be updated to 5. However, adding processing to determine this increases the processing load. Therefore, giving priority to versatility, the value of the A register is forcibly updated to 5 in the same way as when 5 is exceeded. The commands on the 3rd to 6th lines correspond to step S2 in FIG.

図216の7行目の指標「RAM_INC01」は、5行目のコマンド「JCP C,A,5,RAM_INC01」の移動先アドレスを示す。8行目のコマンド「LD (HL),A」によって、図217に示すように、Aレジスタの値(例えば、03H)がHLレジスタで示されるアドレスに格納される。かかる8行目のコマンドが、図215のステップS3に対応する。こうして、メインRAM500cの1バイト変数を、所定数を上限に、1だけインクリメントしつつ、Aレジスタにインクリメント後の値を保持すること(Aレジスタの値をその後の処理で利用すること)が可能となる。 The index “RAM_INC01” on the 7th line in FIG. 216 indicates the destination address of the command “JCP C, A, 5, RAM_INC01” on the 5th line. The command "LD (HL), A" on the eighth line stores the value of the A register (eg, 03H) at the address indicated by the HL register, as shown in FIG. The eighth line command corresponds to step S3 in FIG. In this way, it is possible to increment the 1-byte variable in the main RAM 500c by 1 up to a predetermined number and hold the incremented value in the A register (the value of the A register can be used in subsequent processing). Become.

このように、図216に示したRAM_INCモジュールのコマンドの総コマンドサイズは、2行目のコマンド「LDQ HL,LOW _AT_SET」2バイト+3行目のコマンド「LD A,(HL)」1バイト+4行目のコマンド「INC A」1バイト+5行目のコマンド「JCP C,A,5,RAM_INC01」3バイト+6行目のコマンド「LD A,5」2バイト+8行目のコマンド「LD (HL),A」1バイト=10バイトとなり、総実行サイクルは、2行目2サイクル+3行目2サイクル+4行目1サイクル+5行目4サイクル+6行目2サイクル+8行目2サイクル=13サイクルとなる。かかるRAM_INCモジュールを設けることによって、1バイト変数を、画一的かつ容易にインクリメントできるので、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Thus, the total command size of the commands of the RAM_INC module shown in FIG. 1st command "INC A" 1 byte + 5th line command "JCP C, A, 5, RAM_INC01" 3 bytes + 6th line command "LD A, 5" 2 bytes + 8th line command "LD (HL), A" 1 byte=10 bytes, and the total execution cycle is 2nd line 2 cycles+3rd line 2 cycles+4th line 1 cycle+5th line 4 cycles+6th line 2 cycles+8th line 2 cycles=13 cycles. By providing such a RAM_INC module, a 1-byte variable can be incremented uniformly and easily, so commands can be shortened and the capacity of the control area for game control processing can be secured.

図218は、RAM_INCモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図216のRAM_INCモジュールのコマンド群を、図218のRAM_INCモジュールのコマンド群に置き換えている。 FIG. 218 is an explanatory diagram for explaining another example of commands for implementing the RAM_INC module. Here, the command group of the RAM_INC module in FIG. 216 is replaced with the command group of the RAM_INC module in FIG.

図218の1行目の指標「RAM_INC:」は、当該RAM_INCモジュールの先頭アドレスを示す。2行目のコマンド「ICPLMQA (LOW _AT_SET)、5」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_AT_SET」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレス(インクリメント対象となるアドレス)に格納された1バイト値と、上限値「5」とを比較し、その結果、5未満であれば(キャリーフラグが立てば)、インクリメント対象となるアドレスに格納された1バイト値を1だけインクリメントして、Aレジスタに格納するとともに、インクリメント対象となるアドレスに格納された1バイト値を更新する。また、インクリメント後の値が5以上であれば(キャリーフラグが立っていなければ)、Aレジスタに上限値「5」を格納するとともに、インクリメント対象となるアドレスに格納された1バイト値を上限値「5」に更新する。かかる2行目のコマンドが、図215のステップS1~S3に対応する。こうして、メインRAM500cの1バイト変数を、所定数を上限に、1だけインクリメントしつつ、Aレジスタにインクリメント後の値を保持すること(Aレジスタの値をその後の処理で利用すること)が可能となる。 The index “RAM_INC:” on the first line in FIG. 218 indicates the start address of the RAM_INC module. The command "ICPLMQA (LOW _AT_SET), 5" on the second line sets the value of the Q register to the upper 1 byte of the address, the value of the lower 1 byte of the address "_AT_SET" to the lower 1 byte of the address, and increments the address. The 1-byte value stored in the target address) is compared with the upper limit value "5". The byte value is incremented by 1 and stored in the A register, and the 1-byte value stored at the address to be incremented is updated. If the incremented value is 5 or more (if the carry flag is not set), the upper limit value "5" is stored in the A register, and the 1-byte value stored at the address to be incremented is set as the upper limit value. Update to "5". The commands on the second line correspond to steps S1 to S3 in FIG. In this way, it is possible to increment the 1-byte variable in the main RAM 500c by 1 up to a predetermined number and hold the incremented value in the A register (the value of the A register can be used in subsequent processing). Become.

ここで、コマンド「ICPLMQA (k)、n」は、Qレジスタの値をアドレスの上位1バイトとし、値kをアドレスの下位1バイトとし、その対象アドレスに格納された1バイト値と、上限値nとを比較し、その結果、n未満であれば、対象アドレスに格納された1バイト値を1だけインクリメントして、Aレジスタに格納するとともに、対象アドレスに格納された1バイト値を更新し、n以上であれば、Aレジスタに上限値nを格納するとともに、対象アドレスに格納された1バイト値を上限値nに更新するコマンドである。かかるコマンドサイズは「4」であり、実行サイクルは「7」である。 Here, the command "ICPLMQA (k), n" sets the value of the Q register as the upper 1 byte of the address, the value k as the lower 1 byte of the address, the 1-byte value stored at the target address, and the upper limit value As a result, if it is less than n, the 1-byte value stored at the target address is incremented by 1, stored in the A register, and the 1-byte value stored at the target address is updated. , n or more, this command stores the upper limit value n in the A register and updates the 1-byte value stored in the target address to the upper limit value n. Such a command size is "4" and the execution cycle is "7".

図218のRAM_INCモジュールのコマンドの総コマンドサイズは、2行目のコマンド「ICPLMQA (LOW _AT_SET)、5」4バイト=4バイトとなり、総実行サイクルは、2行目7サイクル=7サイクルとなる。したがって、図216の場合と比べ、総コマンドサイズが6バイト削減され、総実行サイクルが6サイクル削減されている。かかるRAM_INCモジュールによって、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the commands of the RAM_INC module in FIG. 218 is the second line command "ICPLMQA (LOW_AT_SET), 5" 4 bytes=4 bytes, and the total execution cycle is the second line 7 cycles=7 cycles. Therefore, compared with the case of FIG. 216, the total command size is reduced by 6 bytes, and the total execution cycle is reduced by 6 cycles. With such a RAM_INC module, it is possible to further shorten commands, reduce processing load, and secure the capacity of the control area for performing game control processing.

また、図216と図218とを比較して理解できるように、図216において7行(2~8行目)を占有していたコマンド群を、図218においては1行(2行目)で表すことができ、コマンド数自体の削減、および、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIG. 216 and FIG. 218, the command group occupying 7 lines (2nd to 8th lines) in FIG. It is possible to reduce the number of commands and reduce the design load.

図219は、RAM_INCモジュールを実現するためのコマンドのさらに他の例を説明するための説明図である。図218を用いて説明したRAM_INCモジュールでは、メインRAM500cの1バイト変数を、所定数を上限に、1だけインクリメントしつつ、Aレジスタにインクリメント後の値を保持する例を挙げた。しかし、処理によっては、Aレジスタにその結果を残すことなく、メインRAM500cの1バイト変数を、所定数を上限に1だけインクリメントしさえすればよい場合もある。ここでは、Aレジスタを更新することなく、1バイト変数を1だけインクリメントする例を挙げる。 FIG. 219 is an explanatory diagram for explaining still another example of commands for realizing the RAM_INC module. In the RAM_INC module described with reference to FIG. 218, an example was given in which the 1-byte variable in the main RAM 500c is incremented by 1 up to a predetermined number, and the value after the increment is held in the A register. However, depending on the processing, it may be sufficient to increment a 1-byte variable in the main RAM 500c by 1 up to a predetermined number without leaving the result in the A register. Here is an example of incrementing a 1-byte variable by 1 without updating the A register.

図219の1行目の指標「RAM_INC:」は、当該RAM_INCモジュールの先頭アドレスを示す。2行目のコマンド「ICPLMQ (LOW _AT_SET)、5」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_AT_SET」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレス(インクリメント対象となるアドレス)に格納された1バイト値と、上限値「5」とを比較し、その結果、5未満であれば(キャリーフラグが立てば)、インクリメント対象となるアドレスに格納された1バイト値を1だけインクリメントして更新する。また、インクリメントされた値が5以上であれば(キャリーフラグが立っていなければ)、インクリメント対象となるアドレスに格納された1バイト値を上限値「5」に更新する。かかる2行目のコマンドが、図215のステップS1~S3に対応する。こうして、メインRAM500cの1バイト変数を、所定数を上限に、1だけインクリメントすることが可能となる。 The index “RAM_INC:” on the first line in FIG. 219 indicates the start address of the RAM_INC module. The command "ICPLMQ (LOW _AT_SET), 5" on the second line sets the value of the Q register to the upper 1 byte of the address, the value of the lower 1 byte of the address "_AT_SET" to the lower 1 byte of the address, and increments the address. The 1-byte value stored in the address to be incremented is compared with the upper limit value "5". Update the byte value by incrementing it by 1. If the incremented value is 5 or more (if the carry flag is not set), the 1-byte value stored at the address to be incremented is updated to the upper limit value "5". The commands on the second line correspond to steps S1 to S3 in FIG. Thus, the 1-byte variable in the main RAM 500c can be incremented by 1 up to a predetermined number.

ここで、コマンド「ICPLMQ (k)、n」は、Qレジスタの値をアドレスの上位1バイトとし、値kをアドレスの下位1バイトとし、その対象アドレスに格納された1バイト値と、上限値nとを比較し、その結果、n未満であれば、対象アドレスに格納された1バイト値を1だけインクリメントして更新し、n以上であれば、対象アドレスに格納された1バイト値を上限値nに更新するコマンドである。かかるコマンドサイズは「4」であり、実行サイクルは「7」である。 Here, the command "ICPLMQ (k), n" sets the value of the Q register as the upper 1 byte of the address, the value k as the lower 1 byte of the address, the 1-byte value stored at the target address, and the upper limit value As a result, if less than n, the 1-byte value stored at the target address is incremented by 1 and updated, and if n or more, the 1-byte value stored at the target address is the upper limit. It is a command to update to the value n. Such a command size is "4" and the execution cycle is "7".

図219のRAM_INCモジュールのコマンドの総コマンドサイズは、2行目のコマンド「ICPLMQ (LOW _AT_SET)、5」4バイト=4バイトとなり、総実行サイクルは、2行目7サイクル=7サイクルとなる。したがって、図216の場合と比べ、総コマンドサイズが6バイト削減され、総実行サイクルが6サイクル削減されている。かかるRAM_INCモジュールによって、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the commands of the RAM_INC module in FIG. 219 is the second line command "ICPLMQ (LOW_AT_SET), 5" 4 bytes=4 bytes, and the total execution cycle is the second line 7 cycles=7 cycles. Therefore, compared with the case of FIG. 216, the total command size is reduced by 6 bytes, and the total execution cycle is reduced by 6 cycles. With such a RAM_INC module, it is possible to further shorten commands, reduce processing load, and secure the capacity of the control area for performing game control processing.

また、ここでは、図216の例と比較して、Aレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図216の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, here, unlike the example in FIG. 216, the A register is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 216, if the A register was already used, it was necessary to stack and save the value of the A register. In this way, it becomes possible to effectively use resources.

また、図216と図219とを比較して理解できるように、図216において7行(2~8行目)を占有していたコマンド群を、図219においては1行(2行目)で表すことができ、コマンド数自体の削減、および、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIG. 216 and FIG. 219, the command group occupying 7 lines (2nd to 8th lines) in FIG. It is possible to reduce the number of commands and reduce the design load.

<コマンド「LDINTQR」>
TABLSETモジュールは、テーブルセット処理、すなわち、メインRAM500cの変数に所定の値(初期値)を設定するための汎用モジュールである。ここでは、TABLSETモジュールをメモリマップ上の0030Hに配置する例を挙げて説明する。
<Command "LDINTQR">
The TABLESET module is a general-purpose module for table setting processing, that is, setting predetermined values (initial values) to variables in the main RAM 500c. Here, an example in which the TABLESET module is arranged at 0030H on the memory map will be described.

メインCPU500aは、メインROM500bからプログラムを読み出し、読み出したプログラムを遂行し、任意の処理において、サブルーチンとしてTABLSETモジュールを呼び出し、TABLSETモジュールを遂行する。TABLSETモジュールでは、メインROM500bのプログラムデータに記述された複数の1バイト値を、メインRAM500cのワークエリアにおいて変数として扱われる複数のデータを保持する領域に転送する。こうして、複数の変数の値が設定される。ここで、転送するデータの数を単にデータ数と言う。 The main CPU 500a reads a program from the main ROM 500b, executes the read program, calls the TABLET module as a subroutine in arbitrary processing, and executes the TABLET module. The TABLESET module transfers a plurality of 1-byte values described in the program data of the main ROM 500b to an area holding a plurality of data handled as variables in the work area of the main RAM 500c. Thus, the values of multiple variables are set. Here, the number of data to be transferred is simply called the number of data.

図220は、TABLSETモジュールの具体的な処理を示したフローチャートである。ここでは、任意の処理として、図89のステップS2200-11や図95のステップS2800-39で示したエラーウェイト処理、すなわち、エラー表示、警告音要求およびエラー復帰待ちを実行するERRWAITモジュールの一部を挙げて説明する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。また、当該TABLSETモジュールの説明中、第1レジスタはBレジスタであり、第2レジスタはHLレジスタであり、第1レジスタおよび第2レジスタと異なるレジスタはAレジスタであり、所定値は「1」である。なお、所定値を任意に設定できるのは言うまでもない。 FIG. 220 is a flow chart showing specific processing of the TABLESET module. Here, as arbitrary processing, error wait processing shown in step S2200-11 of FIG. 89 and step S2800-39 of FIG. will be described. Numerical values of step S in this figure are used only in the explanation of this figure. Also, in the description of the TABLESET module, the first register is the B register, the second register is the HL register, the register different from the first register and the second register is the A register, and the predetermined value is "1". be. It goes without saying that the predetermined value can be arbitrarily set.

メインCPU500aは、図220(a)のように、任意の処理において、転送元となる1バイトデータ群の先頭アドレスをHLレジスタに設定する(S1)。そして、サブルーチンとしてTABLSETモジュールを呼び出す(S2)。 As shown in FIG. 220(a), the main CPU 500a sets the start address of the 1-byte data group to be the transfer source in the HL register in arbitrary processing (S1). Then, the TABLESET module is called as a subroutine (S2).

メインCPU500aは、図220(b)のように、TABLSETモジュールにおいて、BCレジスタを退避し(S3)、割込を禁止する(S4)。そして、メインCPU500aは、HLレジスタで示されるアドレスに格納された1バイト値をBレジスタに読み出す(S5)。かかる1バイト値はデータ数を示す。続いて、メインCPU500aは、HLレジスタに「1」を加えた値で示されるアドレスに格納された値で特定されるアドレスに、HLレジスタに「2」を加えた値で示されるアドレスに格納された値を転送し、HLレジスタの値に「2」を加えて次に転送するアドレスを設定する(S6)。続いて、メインCPU500aは、Bレジスタの値をデクリメント(「1」減算)し、デクリメントした結果が0であるか否か判定する(S7)。ここで、デクリメントした結果が0でなければ(S7におけるNO)、ステップS6からの処理を繰り返し、デクリメントした結果が0であれば(S7におけるYES)、割込を許可し(S8)、BCレジスタを復帰させて(S9)、当該TABLSETモジュールを終了して1段上のルーチンに戻る(S10)。 As shown in FIG. 220(b), the main CPU 500a saves the BC register in the TABLESET module (S3) and prohibits interrupts (S4). Then, the main CPU 500a reads the 1-byte value stored at the address indicated by the HL register to the B register (S5). This 1-byte value indicates the number of data. Subsequently, the main CPU 500a adds "2" to the HL register to the address specified by the value stored in the address indicated by adding "1" to the HL register. 2 is added to the value of the HL register to set the next address to be transferred (S6). Subsequently, the main CPU 500a decrements the value of the B register (subtracts "1") and determines whether or not the result of the decrement is 0 (S7). Here, if the decremented result is not 0 (NO in S7), the processing from step S6 is repeated, and if the decremented result is 0 (YES in S7), an interrupt is permitted (S8), and the BC register (S9), terminates the TABLESET module, and returns to the routine one level above (S10).

図221、図222は、TABLSETモジュールを実現するためのコマンドの一例を説明するための説明図である。このうち、図221(a)は、TABLSETモジュールを呼び出す任意の処理のコマンド群を示し、図221(b)は、TABLSETモジュールのコマンド群を示し、図221(c)は、メインROM500bのプログラムデータにおける1バイトデータ群の配置を示し、図221(d)は、メインRAM500cのワークエリアにおける1バイトデータ群の配置を示す。図220で示したフローチャートは、例えば、図221に示したプログラムによって実現される。 221 and 222 are explanatory diagrams for explaining an example of commands for realizing the TABLESET module. Among them, FIG. 221(a) shows a command group for arbitrary processing to call the TBLSET module, FIG. 221(b) shows a command group for the TBLSET module, and FIG. 221(c) shows the program data of the main ROM 500b. 221(d) shows the arrangement of a 1-byte data group in the work area of the main RAM 500c. The flowchart shown in FIG. 220 is realized by the program shown in FIG. 221, for example.

図221(a)の1行目のコマンド「LD HL,T_ERR_RCV」によって、転送元となる1バイトデータ群の先頭アドレス「T_ERR_RCV」をHLレジスタに設定する。かかる1行目のコマンドが、図220(a)のステップS1に対応する。そして、2行目のコマンド「RST TABLSET」によって、サブルーチンとしてTABLSETモジュールが呼び出される。かかる2行目のコマンドが、図220(a)のステップS2に対応する。 The command "LD HL, T_ERR_RCV" on the first line in FIG. 221(a) sets the start address "T_ERR_RCV" of the 1-byte data group as the transfer source in the HL register. Such a command on the first line corresponds to step S1 in FIG. 220(a). Then, the command "RST TABLET" on the second line calls the TABLET module as a subroutine. The command on the second line corresponds to step S2 in FIG. 220(a).

図221(b)の1行目の指標「TABLSET:」は、当該TABLSETモジュールの先頭アドレスを示す。2行目のコマンド「PUSH BC」によって、BCレジスタの値がスタック領域に退避される。かかる2行目のコマンドが、図220(b)のステップS3に対応する。3行目のコマンド「DI」によって割込が禁止される。かかる3行目のコマンドが、図220(b)のステップS4に対応する。 The index "TABLSET:" on the first line in FIG. 221(b) indicates the start address of the TBLSET module. The value of the BC register is saved in the stack area by the command "PUSH BC" on the second line. The command on the second line corresponds to step S3 in FIG. 220(b). Interrupts are disabled by the command "DI" on the third line. The command on the third line corresponds to step S4 in FIG. 220(b).

図221(b)の4行目のコマンド「LD B,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がBレジスタに読み出される。このとき、HLレジスタには、図221(a)で示したように、アドレス「T_ERR_RCV」が設定されている。したがって、図221(c)の2行目の1バイト値「(T_ERR_RCV_-T_ERR_RCV)/2」がデータ数(転送の繰り返し数)としてBレジスタに読み出されることとなる。なお、「T_ERR_RCV_」は、転送元となる1バイトデータ群の最終アドレスの次のアドレスであり、T_ERR_RCVは転送元となる1バイトデータ群の先頭アドレスなので、T_ERR_RCV_-T_ERR_RCVの値(データ数を示す1バイト値)の値が、1バイト値の総バイト数となり、その値を、アドレスと値との組み合わせ数である2で除算すると、データ数が導出される。図221(c)の例では、データ数は、9/2=4となる。かかる図221(b)の4行目のコマンドが、図220(b)のステップS5に対応する。 The 1-byte value stored at the address indicated by the HL register is read to the B register by the command "LD B, (HL)" on the fourth line in FIG. 221(b). At this time, the address "T_ERR_RCV" is set in the HL register as shown in FIG. 221(a). Therefore, the 1-byte value "(T_ERR_RCV_-T_ERR_RCV)/2" on the second line in FIG. 221(c) is read out to the B register as the number of data (transfer repetition number). Note that "T_ERR_RCV_" is the address next to the last address of the transfer source 1-byte data group, and T_ERR_RCV is the start address of the transfer source 1-byte data group. 1-byte value) is the total number of bytes of the 1-byte value, and the number of data is derived by dividing that value by 2, which is the number of combinations of addresses and values. In the example of FIG. 221(c), the number of data is 9/2=4. The command on the fourth line in FIG. 221(b) corresponds to step S5 in FIG. 220(b).

図221(b)の5行目の指標「TABLSET10:」は繰り返し処理の先頭アドレスを示す。6行目のコマンド「INLD AC,(HL)」および7行目のコマンド「LDQ (C),A」によって、HLレジスタに「1」を加えた値で示されるアドレスに格納された値で特定されるアドレスに、HLレジスタに「2」を加えた値で示されるアドレスに格納された値が格納され、HLレジスタの値に「2」が加えられて次に転送するアドレスが設定される。かかる6,7行目のコマンドが、図220(b)のステップS6に対応する。 The index "TABLSET10:" on the fifth line in FIG. 221(b) indicates the start address of the repeated processing. Specified by the value stored at the address indicated by the HL register plus "1" by the command "INLD AC, (HL)" on the 6th line and the command "LDQ (C), A" on the 7th line. The value stored at the address indicated by the value obtained by adding "2" to the HL register is stored in the address to be transferred, and "2" is added to the value of the HL register to set the next transfer address. The commands on the 6th and 7th lines correspond to step S6 in FIG. 220(b).

例えば、HLレジスタがアドレス「T_ERR_RCV」の値であった場合、図221(c)の3行目における2バイト変数「_ERR_NUM」の下位1バイト値がCレジスタに格納され、図221(c)の3行目における「0」の値がAレジスタに格納される。 For example, if the HL register has the value of the address "T_ERR_RCV", the lower 1-byte value of the 2-byte variable "_ERR_NUM" in the third line of FIG. A value of "0" in the third row is stored in the A register.

また、図221(b)の7行目のコマンド「LDQ (C),A」は、Qレジスタの値をアドレスの上位1バイトとし、Cレジスタの値をアドレスの下位1バイトとし、そのアドレスに、Aレジスタの値を格納するコマンドである。 The command "LDQ (C), A" on the 7th line in FIG. , A is a command to store the value of the A register.

例えば、Cレジスタの値、すなわち「_ERR_NUM」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに、Aレジスタの値、すなわち、「0」の値を格納する。 For example, the value of the C register, that is, the value of the lower 1 byte of "_ERR_NUM" is set as the lower 1 byte of the address, and the value of the A register, that is, the value of "0" is stored at that address.

ここで、図221(c)、図221(d)において、変数「_ERR_NUM」は、エラー番号を示し、変数「_CRE_TMR」は、クレジットボタン検出タイマを示し、変数「_CRE_FLG」は、クレジットボタン検出フラグを示し、変数「_SNS_OLD」はメダル通過センサービット前回状態を示す。なお、図221(d)に示す変数の配置は図のように連続している必要はなく、離隔していてもよい。 Here, in FIGS. 221(c) and 221(d), the variable "_ERR_NUM" indicates an error number, the variable "_CRE_TMR" indicates a credit button detection timer, and the variable "_CRE_FLG" indicates a credit button detection flag. , and the variable “_SNS_OLD” indicates the previous medal passing sensor bit state. Note that the arrangement of variables shown in FIG. 221(d) does not have to be continuous as shown, and may be separated.

続いて、図221(b)の8行目のコマンド「DJNZ TABLSET10」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、アドレス「TABLSET10」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「4」なので、「TABLSET10」からの処理を4回繰り返すとBレジスタの値が0となる。かかる8行目のコマンドが、図220(b)のステップS7に対応する。 Subsequently, the value of the B register is decremented (subtracted by "1") by the command "DJNZ TABLESET10" on the eighth line of FIG. , if the result of decrementing is 0, the process is shifted to the command following the current command. Here, since the number of data is "4", the value of the B register becomes 0 when the processing from "TABLSET10" is repeated four times. The eighth line command corresponds to step S7 in FIG. 220(b).

図221(b)の9行目のコマンド「EI」によって割込が許可される。かかる9行目のコマンドが、図220(b)のステップS8に対応する。10行目のコマンド「POP BC」によってスタック領域に退避されていたデータがBCレジスタに復帰される。かかる10行目のコマンドが、図220(b)のステップS9に対応する。そして、11行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる11行目のコマンドが、図220(b)のステップS10に対応する。 The interrupt is enabled by the command "EI" on the ninth line of FIG. 221(b). The command on the ninth line corresponds to step S8 in FIG. 220(b). The data saved in the stack area by the command "POP BC" on the 10th line is restored to the BC register. The command on the tenth line corresponds to step S9 in FIG. 220(b). Then, the command "RET" on the 11th line returns to the routine one level above. The command on the 11th line corresponds to step S10 in FIG. 220(b).

こうして、図222に示すように、メインROM500bのプログラムデータに記述された複数の1バイト値(55H、77H、66H、22H)を、メインRAM500cのワークエリアにおける変数(「_ERR_NUM」、「_CRE_TMR」、「_CRE_FLG」、「_SNS_OLD」)に転送することが可能となる。 Thus, as shown in FIG. 222, a plurality of 1-byte values (55H, 77H, 66H, 22H) described in the program data of the main ROM 500b are converted to variables ("_ERR_NUM", "_CRE_TMR", "_CRE_FLG", "_SNS_OLD").

TABLSETモジュールは、複数のモジュールからサブルーチンとして呼び出される。例えば、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、本前兆中処理(AT状態=「3」)を実行するHID_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、終了画面中処理(AT状態=「4」)を実行するFIN_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、準備中処理(AT状態=「5」)を実行するPRE_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、REG中処理(AT状態=「6」)を実行するREG_LOTモジュール、図91におけるステップS2400-11で示した実行フラグ設定処理を実行するEXE_SETモジュールにおいて遊技状態および演出状態に応じて選択的に移行し、BIG中処理(AT状態=「7」)を実行するBIG_LOTモジュール、図85のステップS2020で示した設定値切り替え処理を実行するRANKSETモジュール、図91のステップS2400で示した図柄コード設定処理を実行するFGSETUPモジュール、図96のステップS2900で示した遊技移行処理を実行するGAMESETモジュール、図96のステップS2900-3で示した役物作動中処理を実行するJCGMSETモジュール等から呼び出される。 The TABLESET module is called as a subroutine from multiple modules. For example, the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. 91 selectively shifts according to the game state and the effect state, and executes the present precursor process (AT state=“3”). and the EXE_SET module for executing the execution flag setting process shown in step S2400-11 in FIG. , and the EXE_SET module that executes the execution flag setting process shown in step S2400-11 in FIG. ), and the EXE_SET module for executing the execution flag setting process shown in step S2400-11 in FIG. ”), and the EXE_SET module for executing the execution flag setting process shown in step S2400-11 in FIG. 7”), the RANKSET module for executing the set value switching process shown in step S2020 in FIG. 85, the FGSETUP module for executing the symbol code setting process shown in step S2400 in FIG. 91, and step S2900 in FIG. is called from the GAMESET module that executes the game transition process shown in , the JCGMSET module that executes the process during operation of the accessory shown in step S2900-3 of FIG. 96, and the like.

このように、図221(b)に示したTABLSETモジュールのコマンドの総コマンドサイズは、2行目のコマンド「PUSH BC」1バイト+3行目のコマンド「DI」1バイト+4行目のコマンド「LD B,(HL)」1バイト+6行目のコマンド「INLD AC,(HL)」2バイト+7行目のコマンド「LDQ (C),A」2バイト+8行目のコマンド「DJNZ TABLSET10」2バイト+9行目のコマンド「EI」1バイト+10行目のコマンド「POP BC」1バイト+11行目のコマンド「RET」1バイト=12バイトとなり、総実行サイクルは、2行目3サイクル+3行目1サイクル+4行目2サイクル+6行目4サイクル+7行目3サイクル+8行目3サイクル(または2サイクル)+9行目1サイクル+10行目3サイクル+11行目3サイクル=23サイクル(または22サイクル)となる。なお、括弧内のサイクル数は、コマンド「DJNZ TABLSET10」によって移動しなかった場合の実行サイクルを示している。かかるTABLSETモジュールを設けることによって、上述した各モジュール内でテーブルセット処理を行うことなく、コマンドサイズ1バイトのコマンド「RST TABLSET」で賄うことができるので、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 In this way, the total command size of the commands of the TABLESET module shown in FIG. B, (HL)" 1 byte + 6th line command "INLD AC, (HL)" 2 bytes + 7th line command "LDQ (C), A" 2 bytes + 8th line command "DJNZ TABLESET10" 2 bytes + 9 1 byte of the command "EI" on the 10th line + 1 byte of the command "POP BC" on the 10th line + 1 byte of the command "RET" on the 11th line = 12 bytes, and the total execution cycle is 3 cycles on the 2nd line + 1 cycle on the 3rd line. + 4th row 2 cycles + 6th row 4 cycles + 7th row 3 cycles + 8th row 3 cycles (or 2 cycles) + 9th row 1 cycle + 10th row 3 cycles + 11th row 3 cycles = 23 cycles (or 22 cycles) . The number of cycles in parentheses indicates the number of execution cycles when the command "DJNZ TABLESET10" does not move. By providing such a TABLESET module, it is possible to provide a command "RST TABLESET" with a command size of 1 byte without performing table setting processing in each of the modules described above. It becomes possible to secure the capacity of the control area for performing the processing.

図223は、TABLSETモジュールを実現するためのコマンドの他の例を説明するための説明図である。ここでは、図221(b)のTABLSETモジュールのコマンド群を、図223(b)のTABLSETモジュールのコマンド群に置き換えており、他の、図221(a)のTABLSETモジュールを呼び出す任意の処理のコマンド群、図221(c)のメインROM500bのプログラムデータにおける1バイトデータ群、および、図221(d)のメインRAM500cのワークエリアにおける1バイトデータ群は、図223(a)、図223(c)、図223(d)として、そのまま用いている。ここでは、図223(a)、図223(c)、図223(d)のように、図221(a)、図221(c)、図221(d)と実質的に等しい処理についてはその説明を省略し、図223(b)の異なる処理のみを説明する。 FIG. 223 is an explanatory diagram for explaining another example of commands for realizing the TABLESET module. Here, the command group of the TBLSET module in FIG. 221(b) is replaced with the command group of the TBLSET module in FIG. 223(a) and 223(c). , is used as it is as FIG. 223(d). Here, as shown in FIGS. 223(a), 223(c), and 223(d), the processes substantially equivalent to those in FIGS. 221(a), 221(c), and 221(d) are The explanation is omitted, and only the different processing in FIG. 223(b) is explained.

図223(b)の1行目の指標「TABLSET:」は、当該TABLSETモジュールの先頭アドレスを示す。2行目のコマンド「PUSH BC」によって、BCレジスタの値がスタック領域に退避される。かかる2行目のコマンドが、図220(b)のステップS3に対応する。3行目のコマンド「DI」によって割込が禁止される。かかる3行目のコマンドが、図220(b)のステップS4に対応する。 The index "TABLSET:" on the first line in FIG. 223(b) indicates the top address of the TBLSET module. The value of the BC register is saved in the stack area by the command "PUSH BC" on the second line. The command on the second line corresponds to step S3 in FIG. 220(b). Interrupts are disabled by the command "DI" on the third line. The command on the third line corresponds to step S4 in FIG. 220(b).

図223(b)の4行目のコマンド「LD B,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がBレジスタに読み出される。このとき、HLレジスタには、図223(a)で示したように、アドレス「T_ERR_RCV」が設定されている。したがって、図223(c)の2行目の1バイト値「(T_ERR_RCV_-T_ERR_RCV)/2」がデータ数(転送の繰り返し数)としてBレジスタに読み出されることとなる。図223(c)の例では、データ数は4となる。かかる図223(b)の4行目のコマンドが、図220(b)のステップS5に対応する。 A 1-byte value stored at the address indicated by the HL register is read to the B register by the command "LD B, (HL)" on the fourth line in FIG. 223(b). At this time, the address "T_ERR_RCV" is set in the HL register as shown in FIG. 223(a). Therefore, the 1-byte value "(T_ERR_RCV_-T_ERR_RCV)/2" on the second line in FIG. 223(c) is read to the B register as the number of data (number of repetitions of transfer). In the example of FIG. 223(c), the number of data is four. The command on the fourth line in FIG. 223(b) corresponds to step S5 in FIG. 220(b).

図223(b)の5行目のコマンド「INC HL」によって、HLレジスタの値が1だけインクリメントされる。6行目のコマンド「LDINTQR (HL)」によって、HLレジスタで示されるアドレスに格納された値で特定されるアドレスに、HLレジスタに「1」を加えた値で示されるアドレスに格納された値が転送され、HLレジスタの値に「2」を加えて次に転送するアドレスが設定され、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、当該処理が繰り返される。かかる5、6行目のコマンドが、図220(b)のステップS6、S7に対応する。 The value of the HL register is incremented by one by the command "INC HL" on the fifth line in FIG. 223(b). The value stored at the address indicated by adding "1" to the address specified by the value stored at the address indicated by the HL register by the command "LDINTQR (HL)" on the sixth line. is transferred, "2" is added to the value of the HL register to set the next address to be transferred, the value of the B register is decremented (subtracted by "1"), and the processing continues until the decremented result becomes 0. Repeated. The commands on the fifth and sixth lines correspond to steps S6 and S7 in FIG. 220(b).

ここで、コマンド「LDINTQR (HL)」は、Qレジスタの値をアドレスの上位1バイトとし、HLレジスタで示されるアドレスに格納された値をアドレスの下位1バイトとし、そのアドレスに、HLレジスタに「1」を加えた値で示されるアドレスに格納された値を転送し、HLレジスタの値に「2」を加えてHLレジスタの値を更新し、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、値の転送を繰り返すコマンドである。かかるコマンドのコマンドサイズは「2」であり、実行サイクルは「5」である。 Here, the command "LDINTQR (HL)" uses the value of the Q register as the upper 1 byte of the address, the value stored at the address indicated by the HL register as the lower 1 byte of the address, and stores the value in the HL register at that address. Transfers the value stored in the address indicated by the value incremented by "1", adds "2" to the value of the HL register to update the value of the HL register, and decrements the value of the B register (subtracts "1"). ) and the value is repeatedly transferred until the decremented result becomes 0. Such a command has a command size of "2" and an execution cycle of "5".

例えば、HLレジスタがアドレス「T_ERR_RCV」の値であった場合、Qレジスタの値をアドレスの上位1バイトとし、図223(c)の3行目における「_ERR_NUM」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに、図223(c)の3行目における「0」の値が転送され、HLレジスタの値に「2」が加えられ、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、すなわち、4回転送が繰り返される。 For example, if the HL register has the value of the address "T_ERR_RCV", then the value of the Q register is the upper 1 byte of the address, and the lower 1 byte of "_ERR_NUM" in the third row of FIG. The value of "0" in the third row of FIG. 223(c) is transferred to the address, "2" is added to the value of the HL register, and the value of the B register is decremented ("1"). subtraction), and the transfer is repeated until the decremented result becomes 0, that is, four times.

続いて、図223(b)の7行目のコマンド「EI」によって割込が許可される。かかる7行目のコマンドが、図220(b)のステップS8に対応する。8行目のコマンド「POP BC」によってスタック領域に退避されていたデータがBCレジスタに復帰される。かかる8行目のコマンドが、図220(b)のステップS9に対応する。そして、9行目のコマンド「RET」によって、1段上のルーチンに戻る。かかる9行目のコマンドが、図220(b)のステップS10に対応する。 Subsequently, the interrupt is permitted by the command "EI" on line 7 of FIG. 223(b). The command on the seventh line corresponds to step S8 in FIG. 220(b). The data saved in the stack area by the command "POP BC" on the eighth line is restored to the BC register. The eighth line command corresponds to step S9 in FIG. 220(b). Then, the command "RET" on the ninth line returns to the routine one level above. The command on the ninth line corresponds to step S10 in FIG. 220(b).

図223(b)のTABLSETモジュールのコマンドの総コマンドサイズは、2行目のコマンド「PUSH BC」1バイト+3行目のコマンド「DI」1バイト+4行目のコマンド「LD B,(HL)」1バイト+5行目のコマンド「INC HL」1バイト+6行目のコマンド「LDINTQR (HL)」2バイト+7行目のコマンド「EI」1バイト+8行目のコマンド「POP BC」1バイト+9行目のコマンド「RET」1バイト=9バイトとなり、総実行サイクルは、2行目3サイクル+3行目1サイクル+4行目2サイクル+5行目1サイクル+6行目5サイクル+7行目1サイクル+8行目3サイクル+9行目3サイクル=19サイクルとなる。したがって、図221(b)の場合と比べ、総コマンドサイズが3バイト削減され、総実行サイクルも少なくとも4サイクル削減される。特に、図221(b)の例では、コマンド「DJNZ TABLSET10」におけるBレジスタの値が2以上であれば、その値に10サイクル(6行目4サイクル+7行目3サイクル+8行目3サイクル)を乗じた分だけ総実行サイクルが増えるので、図221(b)の総実行サイクルの削減量も多くなる。かかるTABLSETモジュールによって、コマンドの更なる短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 The total command size of the commands of the TABLESET module in FIG. 223(b) is the command "PUSH BC" 1 byte on the 2nd line + the command "DI" 1 byte on the 3rd line + the command "LD B, (HL)" on the 4th line. 1 byte + 5th line command "INC HL" 1 byte + 6th line command "LDINTQR (HL)" 2 bytes + 7th line command "EI" 1 byte + 8th line command "POP BC" 1 byte + 9th line command "RET" 1 byte = 9 bytes, and the total execution cycle is: 2nd line 3rd cycle + 3rd line 1st cycle + 4th line 2nd cycle + 5th line 1st cycle + 6th line 5th cycle + 7th line 1st cycle + 8th line 3 cycles+3 cycles of the 9th row=19 cycles. Therefore, compared with the case of FIG. 221(b), the total command size is reduced by 3 bytes, and the total execution cycle is also reduced by at least 4 cycles. In particular, in the example of FIG. 221(b), if the value of the B register in the command "DJNZ TABLESET10" is 2 or more, then 10 cycles (6th line 4 cycles + 7th line 3 cycles + 8th line 3 cycles) Since the total execution cycle increases by the amount multiplied by , the amount of reduction in the total execution cycle in FIG. 221(b) also increases. With such a TABLESET module, it is possible to further shorten commands, reduce the processing load, and secure the capacity of the control area for performing game control processing.

また、ここでは、図221の例と比較して、AレジスタおよびCレジスタを利用していない。したがって、Aレジスタの値やCレジスタの値を意図せず更新してしまうことはない。また、図221の例では、AレジスタやCレジスタが既に利用されている場合、スタックしてAレジスタやCレジスタの値を退避する必要があったが、ここでは、AレジスタやCレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, unlike the example in FIG. 221, the A and C registers are not used here. Therefore, the value of the A register and the value of the C register are not unintentionally updated. Also, in the example of FIG. 221, if the A and C registers were already used, it was necessary to stack and save the values of the A and C registers. No stack processing is required. In this way, it becomes possible to effectively use resources.

また、図221(b)と図223(b)とを比較して理解できるように、図221(b)において4行(5行目~8行目)を占有していたコマンド群を、図223(b)においては2行(5、6行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 221(b) and FIG. 223(b), the command group occupying four lines (5th to 8th lines) in FIG. H.223(b) can be expressed in two lines (5th and 6th lines), which makes it possible to reduce the number of commands and the design load.

<DECWMQ>
図224は、IPT_PCモジュールの具体的な処理を示したフローチャートである。IPT_PCモジュールは、上記タイマ割込み処理(図98参照)のステップS3100-21において4回に1回読み出される時間監視処理を実行する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<DECWMQ>
FIG. 224 is a flow chart showing specific processing of the IPT_PC module. The IPT_PC module executes time monitoring processing that is read once every four times in step S3100-21 of the timer interrupt processing (see FIG. 98). Numerical values of step S in this figure are used only in the explanation of this figure.

時間監視処理は、図82~図98の様々なステップにおいてセットされたタイマ(例えば、1遊技間タイマ等)を1ずつ減算する処理である。 The time monitoring process is a process of subtracting one by one from the timers (for example, one-game timer, etc.) set in various steps of FIGS. 82 to 98 .

メインCPU500aは、図224(a)に示すように、タイマが格納されたアドレスをHLレジスタに読み出した後(S1)、図224(b)に示すWORDDECモジュールを実行し(S2)、HLレジスタに示されたアドレスの値を1減算する(S3)。そして、コマンド「RET」によって、当該WORDDECモジュールを終了してIPT_PCモジュールに戻る(S4)。 As shown in FIG. 224(a), the main CPU 500a reads the address where the timer is stored to the HL register (S1), executes the WORDDEC module shown in FIG. The value of the indicated address is subtracted by 1 (S3). Then, the command "RET" terminates the WORDDEC module and returns to the IPT_PC module (S4).

図225は、IPT_PCモジュールを実現するためのコマンドの一例を説明するための説明図である。図224で示したフローチャートは、例えば、図225に示したプログラムによって実現される。なお、図225では、一例として、1遊技間タイマを減算する処理について説明する。 FIG. 225 is an explanatory diagram for explaining an example of commands for realizing the IPT_PC module. The flowchart shown in FIG. 224 is realized by the program shown in FIG. 225, for example. In addition, in FIG. 225, as an example, the processing for subtracting the timer between one game will be described.

図225(a)の1行目の指標「IPT_PC:」は、当該IPT_PCモジュールの先頭アドレスを示す。そして、図225(a)の2行目のコマンド「LDQ HL,(LOW _GAM_TMR)」によって、Qレジスタの値をHレジスタに読み出し、アドレス「_GAM_TMR」の下位1バイトの値をLレジスタに読み出す。かかる2行目のコマンドが、図224(a)のステップS1に対応する。 The index "IPT_PC:" on the first line in FIG. 225(a) indicates the start address of the IPT_PC module. Then, by the command "LDQ HL, (LOW_GAM_TMR)" on the second line in FIG. 225(a), the value of the Q register is read to the H register, and the value of the lower 1 byte of the address "_GAM_TMR" is read to the L register. The command on the second line corresponds to step S1 in FIG. 224(a).

そして、図225(a)の3行目のコマンド「CALLF WORDDEC」によって、図225(b)に示すWORDDECモジュールが呼び出される。かかる2行目のコマンドが、図224(a)のステップS2に対応する。 Then, the WORDDEC module shown in FIG. 225(b) is called by the command "CALLF WORDDEC" on the third line of FIG. 225(a). The command on the second line corresponds to step S2 in FIG. 224(a).

図225(b)の1行目の指標「WORDDEC:」は、当該WORDDECモジュールの先頭アドレスを示す。そして、図225(b)の2行目のコマンド「DCPWLD (HL),0」によって、HLレジスタに示されるアドレス(より厳密には、HLレジスタに示されるアドレスと、その次のアドレス)に格納された2バイト長の値(1遊技間タイマ)が読み出され、読み出された値から1が減算(更新)される。そして、減算することによりキャリーフラグに1が立っていた場合、すなわち、読み出された値が0(所定の値)であった場合、HLレジスタに示されるアドレス(より厳密には、HLレジスタに示されるアドレスと、その次のアドレス)に固定値「0(特定値)」が格納される。一方、キャリーフラグに1が立っていなかった場合、すなわち、読み出された値が1以上であった場合、減算された値が、HLレジスタに示されるアドレス(より厳密には、HLレジスタに示されるアドレスと、その次のアドレス)に格納される。かかる2行目のコマンドが、図224(b)のステップS3に対応する。 The index "WORDDEC:" on the first line in FIG. 225(b) indicates the start address of the WORDDEC module. Then, by the command "DCPWLD (HL), 0" on the second line in FIG. 225(b), the data is stored at the address indicated by the HL register (more precisely, the address indicated by the HL register and the next address). The 2-byte length value (timer between one game) is read, and 1 is subtracted (updated) from the read value. If the carry flag is set to 1 by the subtraction, that is, if the read value is 0 (predetermined value), then the address indicated in the HL register (more precisely, the address indicated in the HL register A fixed value "0 (specific value)" is stored in the indicated address and the next address). On the other hand, if the carry flag is not set to 1, that is, if the read value is 1 or more, the subtracted value is stored at the address indicated in the HL register (more precisely, the address indicated in the HL register). stored in the following address). The command on the second line corresponds to step S3 in FIG. 224(b).

そして、図225(b)の3行目のコマンド「RET」によって、当該WORDDECモジュールを終了してIPT_PCモジュールに戻る。かかる3行目のコマンドが、図224(b)のステップS4に対応する。こうして、HLレジスタで示されるアドレスに格納された2バイト長の値(1遊技間タイマ)が0になるまで、1回の処理毎に1ずつデクリメントすることが可能となる。 Then, the command "RET" on the third line in FIG. 225(b) terminates the WORDDEC module and returns to the IPT_PC module. The command on the third line corresponds to step S4 in FIG. 224(b). In this way, it is possible to decrement by 1 each time the processing is performed until the 2-byte length value (timer between one game) stored at the address indicated by the HL register becomes zero.

ここで、図225(a)および図225(b)のコマンド群を図225(c)のように変更することができる。ここでは、図225(a)および図225(b)と実質的に等しい処理についてはその説明を省略し、図225(c)の異なる処理のみを説明する。 Here, the command group of FIGS. 225(a) and 225(b) can be changed as shown in FIG. 225(c). 225(a) and 225(b) will be omitted, and only the different processing in FIG. 225(c) will be described.

図225(c)の2行目のコマンド「DECWMQ (LOW _GAM_TMR)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_GAM_TMR」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値が読み出される。そして、読み出された値から1が減算(デクリメント)され、減算することによりキャリーフラグに1が立っていた場合、すなわち、読み出された値が0であった場合、そのアドレスに固定値「0」が格納される。一方、キャリーフラグに1が立っていなかった場合、すなわち、読み出された値が1以上であった場合、減算された値が、そのアドレスに格納される。 The command "DECWMQ (LOW_GAM_TMR)" on the second line in FIG. The value stored at that address is read. Then, 1 is subtracted (decremented) from the read value, and if the carry flag is set to 1 by the subtraction, that is, if the read value is 0, a fixed value " 0” is stored. On the other hand, if the carry flag is not set to 1, that is, if the read value is 1 or more, the subtracted value is stored at that address.

ここで、図225(a)および図225(b)に示したコマンド群の総コマンドサイズは、図225(a)の2行目のコマンド「LDQ A,(LOW _GAM_TMR)」2バイト+図225(a)の3行目のコマンド「CALLF WORDDEC」2バイト+図225(b)の2行目のコマンド「DCPWLD (HL),0」4バイト+図225(b)の3行目のコマンド「RET」1バイト=9バイトとなり、総実行サイクルは、図225(a)の2行目2サイクル+図225(a)の3行目4サイクル+図225(b)の2行目9サイクル+図225(b)の3行目3サイクル=18サイクルとなる。 Here, the total command size of the command group shown in FIGS. 225(a) and 225(b) is the command "LDQ A, (LOW_GAM_TMR)" on the second line of FIG. 225(a) 2 bytes+FIG. (a) 3rd line command "CALLF WORDDEC" 2 bytes + 2nd line command "DCPWLD (HL), 0" 4 bytes in Fig. 225(b) + 3rd line command " RET" 1 byte = 9 bytes, and the total execution cycle is: 2 cycles on the 2nd line in Fig. 225(a) + 4 cycles on the 3rd line in Fig. 225(a) + 9 cycles on the 2nd line in Fig. 225(b) + 3 cycles on the 3rd line in FIG. 225(b)=18 cycles.

一方、図225(c)に示したコマンド群の総コマンドサイズは、2行目のコマンド「DECWMQ (LOW _GAM_TMR)」3バイト=3バイトとなり、総実行サイクルは、2行目8サイクル=8サイクルとなる。 On the other hand, the total command size of the command group shown in FIG. 225(c) is the command "DECWMQ (LOW_GAM_TMR)" on the second line, 3 bytes=3 bytes, and the total execution cycle is 8 cycles on the second line=8 cycles. becomes.

したがって、図225(a)および図225(b)のコマンド群を図225(c)のコマンド群に置き換えることで、総コマンドサイズが6バイト削減され、総実行サイクルも10サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIGS. 225(a) and 225(b) with the command group of FIG. 225(c), the total command size is reduced by 6 bytes and the total execution cycle is also reduced by 10 cycles. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図225(a)と図225(c)とを比較して理解できるように、図225(a)において2行(2行目~3行目)を占有していたコマンド群を、図225(c)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 225(a) and 225(c), the command group occupying two lines (2nd to 3rd lines) in FIG. H.225(c) can be expressed in one line (second line), which makes it possible to reduce the number of commands and the design load.

また、図225(c)の例では、WORDDECモジュールも削除することが可能であり、貴重な汎用モジュールの領域を空け、その領域に他のモジュールを配置することができる。こうしてリソースの有効活用が可能となる。 In addition, in the example of FIG. 225(c), the WORDDEC module can also be deleted, freeing up a valuable area for general-purpose modules and allowing other modules to be placed in that area. In this way, effective utilization of resources becomes possible.

<RIBIT>
図226は、CMDPROCモジュールの具体的な処理を示したフローチャートである。CMDPROCモジュールは、上記サブコマンド送信処理(図98のステップS3100-11参照)を実行する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<RIBIT>
FIG. 226 is a flow chart showing specific processing of the CMDPROC module. The CMDPROC module executes the subcommand transmission process (see step S3100-11 in FIG. 98). Numerical values of step S in this figure are used only in the explanation of this figure.

メインCPU500aは、図226に示すように、割込み待ちモニタレジスタの値を取得する(S1)。ここで、割込み待ちモニタレジスタは、1バイトで構成されており、6ビット目に、電源断予告信号が入力される。そして、スロットマシン400の電源電圧が所定値以下になると、電源断予告信号が入力され、割込み待ちモニタレジスタの6ビット目が1になり、それ以外の場合は0になっている。 The main CPU 500a acquires the value of the interrupt wait monitor register, as shown in FIG. 226 (S1). Here, the interrupt waiting monitor register consists of 1 byte, and the power-off warning signal is input to the 6th bit. When the power supply voltage of the slot machine 400 falls below a predetermined value, a power-off notice signal is input, and the sixth bit of the interrupt wait monitor register becomes 1, otherwise it becomes 0.

メインCPU500aは、取得した割込み待ちモニタレジスタの6ビット目を参照することで、電源断予告信号が入力されているか、すなわち、外部割込み要求があるかを判定する(S2)。そして、外部割込み要求があれば(S2におけるYES)、当該CMDPROCモジュールを終了して1段上のルーチンに戻り、外部割込み要求がなければ(S2におけるNO)、次の処理に移り、サブコマンドを副制御基板502に送信する。 The main CPU 500a refers to the 6th bit of the acquired interrupt wait monitor register to determine whether a power-off warning signal is input, that is, whether there is an external interrupt request (S2). If there is an external interrupt request (YES at S2), the CMDPROC module is terminated and the process returns to the routine one step above. It is transmitted to the sub control board 502 .

図227は、CMDPROCモジュールを実現するためのコマンドの一例を説明するための説明図である。図226で示したフローチャートは、例えば、図227に示したプログラムによって実現される。 FIG. 227 is an explanatory diagram for explaining an example of commands for realizing the CMDPROC module. The flowchart shown in FIG. 226 is realized by the program shown in FIG. 227, for example.

図227(a)の1行目の指標「CMDPROC:」は、当該CMDPROCモジュールの先頭アドレスを示す。そして、図227(a)の2行目のコマンド「IN A,(@IRR____)」によって、Uレジスタの値をアドレスの上位1バイトとし、割込み待ちモニタレジスタのアドレスの下位1バイトを示す固定値「@IRR____」をアドレスの下位1バイトとし、そのアドレスに格納された値をAレジスタに読み出す。かかる2行目のコマンドが、図226のステップS1に対応する。 The index "CMDPROC:" on the first line in FIG. 227(a) indicates the head address of the CMDPROC module. Then, the command "IN A, (@IRR____)" on the second line in FIG. 227(a) sets the value of the U register to the upper 1 byte of the address, and sets the fixed value indicating the lower 1 byte of the address of the interrupt wait monitor register. With "@IRR_____" as the lower 1 byte of the address, the value stored at that address is read into the A register. The command on the second line corresponds to step S1 in FIG.

そして、図227(a)の3行目のコマンド「RBIT NZ,6,A」によって、Aレジスタに格納された値の6ビット目が0でなければ、すなわち、1であれば、コマンド「RET」を実行するように、当該CMDPROCモジュールを終了して1段上のルーチンに戻る。一方、Aレジスタに格納された値の6ビット目が0であれば、次のコマンドに処理を移す。かかる3行目のコマンドが、図226のステップS2に対応する。 Then, if the 6th bit of the value stored in the A register is not 0, that is, if it is 1, the command "RET ” to exit the CMDPROC module and return to the routine one level above. On the other hand, if the 6th bit of the value stored in the A register is 0, the process proceeds to the next command. Such a command on the third line corresponds to step S2 in FIG.

ここで、図227(a)のコマンド群を図227(b)のように変更することができる。ここでは、図227(a)と実質的に等しい処理についてはその説明を省略し、図227(b)の異なる処理のみを説明する。 Here, the command group of FIG. 227(a) can be changed as shown in FIG. 227(b). 227(a) will be omitted here, and only the different processing in FIG. 227(b) will be described.

図227(b)の2行目のコマンド「RIBIT NZ,6,(@IRR____)」によって、Uレジスタの値をアドレスの上位1バイトとし、割込み待ちモニタレジスタのアドレスの下位1バイトを示す固定値「@IRR____」をアドレスの下位1バイトとし、そのアドレスに格納された値の6ビット目が0でなければ、コマンド「RET」を実行するように、当該CMDPROCモジュールを終了して1段上のルーチンに戻る。一方、そのアドレスに格納された値の6ビット目が0であれば、次のコマンドに処理を移す。 The command "RIBIT NZ, 6, (@IRR_____)" on the second line in FIG. 227(b) sets the value of the U register to the upper 1 byte of the address and a fixed value indicating the lower 1 byte of the address of the interrupt wait monitor register. If "@IRR_____" is the lower 1 byte of the address, and if the 6th bit of the value stored at that address is not 0, the CMDPROC module is terminated and the command "RET" is executed. Back to routine. On the other hand, if the 6th bit of the value stored at that address is 0, the process proceeds to the next command.

ここで、図227(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「IN A,(@IRR____)」2バイト+3行目のコマンド「RBIT NZ,6,A」2バイト=4バイトとなり、総実行サイクルは、2行目3サイクル+3行目5(3)サイクル=8(6)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RBIT NZ,6,A」によって移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. 227(a) is the command "IN A, (@IRR_____)" 2 bytes on the second line + the command "RBIT NZ, 6, A" 2 bytes on the third line. = 4 bytes, and the total execution cycle is 2nd row 3 cycles + 3rd row 5 (3) cycles = 8 (6) cycles. Note that the number of cycles in parentheses indicates the execution cycle when the command "RBIT NZ, 6, A" does not move.

一方、図227(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「RIBIT NZ,6,(@IRR____)」3バイト=3バイトとなり、総実行サイクルは、2行目7(5)サイクル=7(5)サイクルとなる。なお、括弧内のサイクル数は、コマンド「RIBIT NZ,6,(@IRR____)」によって移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. (5) cycles=7(5) cycles. The number of cycles in parentheses indicates the execution cycle when the command "RIBIT NZ, 6, (@IRR_____)" does not move.

したがって、図227(a)のコマンド群を図227(b)のコマンド群に置き換えることで、総コマンドサイズが1バイト削減され、総実行サイクルも少なくとも1サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 227(a) with the command group of FIG. 227(b), the total command size is reduced by 1 byte, and the total execution cycle is also reduced by at least 1 cycle. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図227(b)の例では、図227(a)で利用していたAレジスタを利用していない。したがって、Aレジスタの値を意図せず更新してしまうことはない。また、図227(a)の例では、Aレジスタが既に利用されている場合、スタックしてAレジスタの値を退避する必要があったが、ここでは、Aレジスタを利用しないので、スタック処理も必要ない。こうして、リソースを有効利用することが可能となる。 Also, in the example of FIG. 227(b), the A register used in FIG. 227(a) is not used. Therefore, the value of the A register is not unintentionally updated. Also, in the example of FIG. 227(a), if the A register was already used, it was necessary to stack and save the value of the A register. unnecessary. In this way, it becomes possible to effectively use resources.

また、図227(a)と図227(b)とを比較して理解できるように、図227(a)において2行(2行目~3行目)を占有していたコマンド群を、図227(b)においては1行(2行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 227(a) and 227(b), the command group occupying two lines (2nd to 3rd lines) in FIG. H.227(b) can be expressed in one line (second line), which makes it possible to reduce the number of commands and the design load.

<AND+OR>
図228は、SET_PLSモジュールの具体的な処理を示したフローチャートである。SET_PLSモジュールは、上記ステッピングモータ制御処理(図98のステップS3100-13参照)において読み出される励磁パターン更新処理を実行する。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<AND + OR>
FIG. 228 is a flow chart showing specific processing of the SET_PLS module. The SET_PLS module executes the excitation pattern update process read in the stepping motor control process (see step S3100-13 in FIG. 98). Numerical values of step S in this figure are used only in the explanation of this figure.

メインCPU500aは、図228に示すように、ステッピングモータ452の励磁パターンが格納された励磁パターンテーブルの先頭アドレスを取得する(S1)。メインCPU500aは、取得した励磁パターンテーブルの先頭アドレスに対して、予めAレジスタに格納されたオフセット値を加算、すなわち、オフセットする(S2)。 The main CPU 500a, as shown in FIG. 228, acquires the head address of the excitation pattern table storing the excitation pattern of the stepping motor 452 (S1). The main CPU 500a adds an offset value stored in advance in the A register to the obtained head address of the excitation pattern table, that is, offsets the address (S2).

そして、メインCPU500aは、所定の出力ポートに格納された出力イメージを取得し(S3)、取得した出力イメージの上位4ビットをマスクする(S4)。なお、ここで取得した出力イメージは、1バイト長で構成されており、上位4ビットに、ステッピングモータ452の励磁パターンが示されている。そこで、ここでは、出力イメージの上位4ビットをマスクすることで、励磁パターンをクリアしている。 Then, the main CPU 500a acquires the output image stored in the predetermined output port (S3), and masks the upper 4 bits of the acquired output image (S4). The output image obtained here has a 1-byte length, and the excitation pattern of the stepping motor 452 is indicated in the upper 4 bits. Therefore, here, the excitation pattern is cleared by masking the upper 4 bits of the output image.

その後、メインCPU500aは、ステップS2においてオフセットされたアドレスに示される値と、取得した出力イメージとの論理和を取ることにより、励磁パターンを合成し(S5)、合成した励磁パターンを出力イメージとして更新し(S6)、当該SET_PLSモジュールを終了して1段上のルーチンに戻る(S7)。 Thereafter, the main CPU 500a synthesizes the excitation pattern by ORing the value indicated by the address offset in step S2 and the acquired output image (S5), and updates the synthesized excitation pattern as the output image. (S6), the SET_PLS module is finished, and the routine returns to the upper routine (S7).

図229は、SET_PLSモジュールを実現するためのコマンドの一例を説明するための説明図である。図228で示したフローチャートは、例えば、図229に示したプログラムによって実現される。 FIG. 229 is an explanatory diagram for explaining an example of commands for realizing the SET_PLS module. The flowchart shown in FIG. 228 is realized by the program shown in FIG. 229, for example.

図229(a)の1行目の指標「SET_PLS:」は、当該SET_PLSモジュールの先頭アドレスを示す。そして、図229(a)の2行目のコマンド「LD HL,T_PLS_PTN」によって、ステッピングモータ452の励磁パターンが格納された励磁パターンテーブルのアドレス「T_PLS_PTN」をHLレジスタに読み出す。かかる2行目のコマンドが、図228のステップS1に対応する。 The index “SET_PLS:” on the first line in FIG. 229(a) indicates the start address of the SET_PLS module. Then, the address "T_PLS_PTN" of the excitation pattern table storing the excitation pattern of the stepping motor 452 is read to the HL register by the command "LD HL, T_PLS_PTN" on the second line of FIG. 229(a). Such a second line command corresponds to step S1 in FIG.

そして、図229(a)の3行目のコマンド「ADDWB HL,A」によって、HLレジスタの値にAレジスタの値(オフセット値)が加算され、HLレジスタの値が更新される。かかる3行目のコマンドが、図228のステップS2に対応する。 Then, the command "ADDWB HL, A" on the third line in FIG. 229(a) adds the value of the A register (offset value) to the value of the HL register to update the value of the HL register. Such a command on the third line corresponds to step S2 in FIG.

その後、図229(a)の4行目のコマンド「LD A,(IY+@OFS_OUT_PRT)」によって、出力ポートのアドレス「IY+@OFS_OUT_PRT」に格納された値(出力イメージ)をAレジスタに読み出す。かかる4行目のコマンドが、図228のステップS3に対応する。 After that, the value (output image) stored at the address "IY+@OFS_OUT_PRT" of the output port is read to the A register by the command "LD A, (IY+@OFS_OUT_PRT)" on the fourth line in FIG. 229(a). Such a command on the fourth line corresponds to step S3 in FIG.

続いて、図229(a)の5行目のコマンド「AND A,00001111B」によって、Aレジスタの値(出力イメージ)と、固定値「00001111B」(第1の値)との論理積が演算され(上位4ビットがマスクされ)、演算結果がAレジスタに格納される。かかる5行目のコマンドが、図228のステップS4に対応する。 Subsequently, the command "AND A, 00001111B" on the fifth line in FIG. 229(a) computes the logical product of the value of the A register (output image) and the fixed value "00001111B" (first value). (The high-order 4 bits are masked), and the operation result is stored in the A register. This fifth line command corresponds to step S4 in FIG.

そして、図229(a)の6行目のコマンド「OR A,(HL)」によって、Aレジスタの値(マスクされた出力イメージ)と、HLレジスタに示されるアドレスに格納された値(励磁パターン、第2の値)との論理和が演算され、演算結果がAレジスタに格納される。かかる6行目のコマンドが、図228のステップS5に対応する。 Then, the value of the A register (masked output image) and the value stored at the address shown in the HL register (excitation pattern , second value) is calculated, and the calculation result is stored in the A register. The sixth line command corresponds to step S5 in FIG.

その後、図229(a)の7行目のコマンド「LD (IY+@OFS_OUT_PRT),A」によって、Aレジスタの値が出力ポートのアドレス「IY+@OFS_OUT_PRT」に格納される。かかる7行目のコマンドが、図228のステップS6に対応する。そして、図229(a)の8行目のコマンド「RET」によって、当該SET_PLSモジュールが終了して1段上のルーチンに戻る。かかる8行目のコマンドが、図228のステップS7に対応する。 After that, the value of the A register is stored at the address "IY+@OFS_OUT_PRT" of the output port by the command "LD (IY+@OFS_OUT_PRT), A" on the 7th line of FIG. 229(a). The command on the 7th line corresponds to step S6 in FIG. Then, the command "RET" on the eighth line in FIG. 229(a) terminates the SET_PLS module and returns to the routine one level above. The eighth line command corresponds to step S7 in FIG.

ここで、図229(a)のコマンド群を図229(b)のように変更することができる。ここでは、図229(a)と実質的に等しい処理についてはその説明を省略し、図229(b)の異なる処理のみを説明する。 Here, the command group of FIG. 229(a) can be changed as shown in FIG. 229(b). 229(a) will be omitted here, and only the different processing in FIG. 229(b) will be described.

図229(b)の3行目のコマンド「RST CALADRS」によって、図229(c)に示すCALADRSモジュールが呼び出される。図229(c)の1行目の指標「CALADRS:」は、当該CALADRSモジュールの先頭アドレスを示す。そして、図229(c)の2行目のコマンド「ADDWB HL,A」によって、HLレジスタの値にAレジスタの値(オフセット値)が加算され、HLレジスタの値が更新される。そして、3行目のコマンド「LD A,(HL)」によって、HLレジスタで示されるアドレスに格納された1バイト値がAレジスタに読み出される。そして、図229(c)の4行目のコマンド「RET」によって、当該CALADRSモジュールを終了してSET_PLSモジュールに戻る。 The CALADRS module shown in FIG. 229(c) is called by the command "RST CALADRS" on the third line in FIG. 229(b). The index "CALADRS:" on the first line in FIG. 229(c) indicates the start address of the CALADRS module. Then, the command "ADDWB HL, A" on the second line in FIG. 229(c) adds the value of the A register (offset value) to the value of the HL register, thereby updating the value of the HL register. Then, the 1-byte value stored at the address indicated by the HL register is read to the A register by the command "LD A, (HL)" on the third line. Then, the command "RET" on the fourth line in FIG. 229(c) terminates the CALADRS module and returns to the SET_PLS module.

その後、図229(b)の4行目のコマンド「AND (IY+@OFS_OUT_PRT),00001111B」によって、アドレス「IY+@OFS_OUT_PRT」に格納された値(出力イメージ)と、固定値「00001111B」との論理積が演算され(上位4ビットがマスクされ)、演算結果がアドレス「IY+@OFS_OUT_PRT」に格納される。 After that, the value (output image) stored at the address "IY+@OFS_OUT_PRT" and the fixed value "00001111B" are logically combined with the command "AND (IY+@OFS_OUT_PRT), 00001111B" on the fourth line of FIG. 229(b). A product is calculated (the upper 4 bits are masked), and the calculation result is stored at the address "IY+@OFS_OUT_PRT".

そして、図229(b)の5行目のコマンド「OR (IY+@OFS_OUT_PRT),A」によって、アドレス「IY+@OFS_OUT_PRT」に格納された値(マスクされた出力イメージ)と、Aレジスタの値(励磁パターン)との論理和が演算され、演算結果がアドレス「IY+@OFS_OUT_PRT」に格納される。 Then, the value (masked output image) stored at the address "IY+@OFS_OUT_PRT" and the value of the A register ( excitation pattern) is calculated, and the calculation result is stored in the address "IY+@OFS_OUT_PRT".

ここで、図229(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD HL,T_PLS_PTN」3バイト+3行目のコマンド「ADDWB HL,A」1バイト+4行目のコマンド「LD A,(IY+@OFS_OUT_PRT)」3バイト+5行目のコマンド「AND A,00001111B」2バイト+6行目のコマンド「OR A,(HL)」1バイト+7行目のコマンド「LD (IY+@OFS_OUT_PRT),A」3バイト+8行目のコマンド「RET」1バイト=14バイトとなり、総実行サイクルは、2行目3サイクル+3行目1サイクル+4行目4サイクル+5行目2サイクル+6行目2サイクル+7行目4サイクル+8行目3サイクル=19サイクルとなる。 Here, the total command size of the command group shown in FIG. "LD A, (IY+@OFS_OUT_PRT)" 3 bytes + 5th line command "AND A, 00001111B" 2 bytes + 6th line command "OR A, (HL)" 1 byte + 7th line command "LD (IY+@ OFS_OUT_PRT), A" 3 bytes + 8th line command "RET" 1 byte = 14 bytes. 2 cycles+4 cycles of the 7th row+3 cycles of the 8th row=19 cycles.

一方、図229(b)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LD HL,T_PLS_PTN」3バイト+3行目のコマンド「RST CALADRS」1バイト+4行目のコマンド「AND (IY+@OFS_OUT_PRT),00001111B」4バイト+5行目のコマンド「OR (IY+@OFS_OUT_PRT),A」3バイト+6行目のコマンド「RET」1バイト=12バイトとなり、総実行サイクルは、2行目3サイクル+3行目4サイクル+4行目7サイクル+5行目6サイクル+6行目3サイクル=23サイクルとなる。 On the other hand, the total command size of the command group shown in FIG. IY+@OFS_OUT_PRT), 00001111B" 4 bytes + 5th line command "OR (IY+@OFS_OUT_PRT), A" 3 bytes + 6th line command "RET" 1 byte = 12 bytes. Cycle + 3rd row 4 cycles + 4th row 7 cycles + 5th row 6 cycles + 6th row 3 cycles = 23 cycles.

したがって、図229(a)のコマンド群を図229(b)のコマンド群に置き換えることで、総コマンドサイズが2バイト削減される。かかる置き換えによって、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。なお、汎用モジュールであるCALADRSモジュールは、他のモジュールによって読み出されて実行されるものであり、新たに追加するものではない。 Therefore, by replacing the command group of FIG. 229(a) with the command group of FIG. 229(b), the total command size is reduced by 2 bytes. By such replacement, it is possible to shorten the command and secure the capacity of the control area for performing the game control process. Note that the CALADRS module, which is a general-purpose module, is read and executed by other modules, and is not newly added.

また、図229(a)と図229(b)とを比較して理解できるように、図229(b)のコマンド群は、図229(a)のコマンド群よりも2行減らすことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 Also, as can be understood by comparing FIGS. 229(a) and 229(b), the command group in FIG. 229(b) can be reduced by two lines from the command group in FIG. It is possible to reduce the number of commands and lighten the design load.

<CPLBQ>
図230は、OTM_ATKモジュールの具体的な処理を示したフローチャートである。かかる図におけるステップSの数値は、本図の説明においてのみ用いることとする。
<CPLBQ>
FIG. 230 is a flow chart showing specific processing of the OTM_ATK module. Numerical values of step S in this figure are used only in the explanation of this figure.

ここで、スロットマシン400の別例としては、所謂チャンスゾーン演出状態が設けられている。チャンスゾーン演出状態は、通常演出状態よりもAT抽選に当選しやすい状態であり、所定遊技に亘って移行される。例えば、チャンスゾーン演出状態が8遊技に亘って移行され、1遊技毎にAT抽選を行う。そして、スロットマシン400の別例では、チャンスゾーン演出状態における各遊技でのAT抽選の結果を1ビットで記憶する(当選=1、非当選=0)ことで、全てのAT抽選の結果を合計8ビット(1バイト長)の当否情報として管理する。 Here, as another example of the slot machine 400, a so-called chance zone effect state is provided. The chance zone performance state is a state in which it is easier to win an AT lottery than the normal performance state, and is shifted over a predetermined game. For example, the chance zone effect state is shifted over 8 games, and AT lottery is performed for each game. In another example of the slot machine 400, the result of the AT lottery in each game in the chance zone production state is stored in 1 bit (winning = 1, non-winning = 0), so that the results of all the AT lotteries are totaled. It is managed as 8-bit (1-byte length) correctness information.

このようなAT抽選の結果を管理する処理をOTM_ATKモジュールによって実行する。なお、OTM_ATKモジュールは、各遊技においてAT抽選に当選した場合にのみ、図91におけるステップS2400-11に示した実行フラグ設定処理において呼び出されて実行される。 The OTM_ATK module executes such a process of managing the result of the AT lottery. The OTM_ATK module is called and executed in the execution flag setting process shown in step S2400-11 in FIG. 91 only when the AT lottery is won in each game.

メインCPU500aは、図230に示すように、チャンスゾーン演出状態の遊技数を取得するとともに(S1)、遊技数ビットテーブルのアドレスを取得する(S2)。なお、遊技数ビットテーブルには、詳しくは後述するように、チャンスゾーン演出状態における1遊技目から8遊技目にそれぞれ対応したビット情報が連続して配置されており、各ビット情報は、その遊技に対応したビット(1ビット情報)が1であり、その他のビットが0となっている1バイト長のデータとなっている。 As shown in FIG. 230, the main CPU 500a acquires the number of games in the chance zone effect state (S1) and acquires the address of the number-of-games bit table (S2). Incidentally, in the number-of-games bit table, bit information corresponding to the first game to the eighth game in the chance zone effect state are successively arranged, as will be described in detail later. , the bit (1-bit information) corresponding to is 1 and the other bits are 0, which is 1-byte length data.

メインCPU500aは、遊技数ビットテーブルから、取得した遊技数に対応するビット情報を取得するとともに(S3)、AT抽選の結果が示される1バイト長の当否情報(1バイト情報)を取得する(S4)。そして、メインCPU500aは、取得したビット情報と当否情報との論理和を演算することにより、当否情報を更新(合成)し(S5)、更新した当否情報をセーブし(S6)。当該OTM_ATKモジュールを終了して1段上のルーチンに戻る(S7)。 The main CPU 500a acquires bit information corresponding to the acquired number of games from the number-of-games bit table (S3), and acquires 1-byte win/loss information (1-byte information) indicating the result of the AT lottery (S4). ). Then, the main CPU 500a updates (combines) the win-or-fail information by ORing the acquired bit information and the win-win information (S5), and saves the updated win-win information (S6). The OTM_ATK module is terminated and the routine returns to the routine one level above (S7).

図231は、OTM_ATKモジュールを実現するためのコマンドの一例を説明するための説明図である。図230で示したフローチャートは、例えば、図231に示したプログラムによって実現される。 FIG. 231 is an explanatory diagram for explaining an example of commands for realizing the OTM_ATK module. The flowchart shown in FIG. 230 is realized by the program shown in FIG. 231, for example.

図231(a)の1行目の指標「OTM_ATK:」は、当該OTM_ATKモジュールの先頭アドレスを示す。そして、図231(a)の2行目のコマンド「LDQ A,(LOW _CZ_CNT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_CZ_CNT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(遊技数)をAレジスタに読み出す。かかる2行目のコマンドが、図230のステップS1に対応する。 The index "OTM_ATK:" on the first line in FIG. 231(a) indicates the head address of the OTM_ATK module. Then, according to the command "LDQ A, (LOW_CZ_CNT)" on the second line of FIG. 1 byte, and the value (number of games played) stored at that address is read to the A register. This second line command corresponds to step S1 in FIG.

そして、図231(a)の3行目のコマンド「LD HL,T_XXX_XXX」によって、図231(b)に示す、遊技数ビットテーブルの先頭アドレス「T_XXX_XXX」をHLレジスタに読み出す。かかる3行目のコマンドが、図230のステップS2に対応する。 Then, the head address "T_XXX_XXX" of the number-of-games bit table shown in FIG. 231(b) is read to the HL register by the command "LD HL, T_XXX_XXX" on the third line of FIG. 231(a). Such a command on the third line corresponds to step S2 in FIG.

図231(b)の1行目の指標「T_XXX_XXX:」は、テーブル「T_XXX_XXX」の先頭アドレスを示す。図231(b)の2行目の値「00000001B」は、チャンスゾーン演出状態における1遊技目に対応し、0ビットのみが1であり、他のビットが0である。同様に、図231(b)の3行目~9行目の値は、チャンスゾーン演出状態における2遊技目~8遊技目にそれぞれ対応し、その遊技に対応するビットが1であり、他のビットが0である。 The index "T_XXX_XXX:" on the first line in FIG. 231(b) indicates the top address of the table "T_XXX_XXX". The value "00000001B" on the second line in FIG. 231(b) corresponds to the first game in the chance zone effect state, and only the 0 bit is 1 and the other bits are 0. Similarly, the values in the 3rd to 9th rows of FIG. Bit is 0.

図231(a)の4行目のコマンド「RST CALADRS」によって、CALADRSモジュールが呼び出される。なお、CALADRSモジュールでは、HLレジスタの値にAレジスタの値(遊技数)が加算され、HLレジスタの値が更新されるとともに、更新されたHLレジスタに示されるアドレスに格納された値(遊技数に対応するビット情報)がAレジスタに読み出される。かかる4行目のコマンドが、図230のステップS3に対応する。 The CALADRS module is called by the command "RST CALADRS" on the fourth line in FIG. 231(a). In the CALADRS module, the value of the A register (number of games played) is added to the value of the HL register, the value of the HL register is updated, and the value (number of games played) stored at the address indicated in the updated HL register is added. ) is read into the A register. The command on the fourth line corresponds to step S3 in FIG.

図231(a)の5行目のコマンド「LDQ B,(LOW _ATW_BIT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_ATW_BIT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(当否情報)をBレジスタに読み出す。かかる5行目のコマンドが、図230のステップS4に対応する。 The command "LDQ B, (LOW_ATW_BIT)" on the fifth line of FIG. , and the value (validity information) stored at that address is read to the B register. This fifth line command corresponds to step S4 in FIG.

図231(a)の6行目のコマンド「OR A,B」によって、Aレジスタの値(遊技数に対応するビット情報)と、Bレジスタの値(当否情報)との論理和を演算する。ここでは、当該遊技においてAT抽選に当選したときに、当否情報のうち、その遊技数に対応するビットが1となる。かかる6行目のコマンドが、図230のステップS5に対応する。 The command "OR A, B" on the 6th line in FIG. 231(a) computes the logical sum of the value of the A register (bit information corresponding to the number of games played) and the value of the B register (hit/fail information). Here, when the AT lottery is won in the game, the bit corresponding to the number of games is set to 1 in the win/fail information. The sixth line command corresponds to step S5 in FIG.

図231(a)の7行目のコマンド「LDQ (LOW _ATW_BIT),A」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_ATW_BIT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスにAレジスタの値(更新された当否情報)を格納する。かかる7行目のコマンドが、図230のステップS6に対応する。 The command "LDQ (LOW_ATW_BIT), A" on the seventh line in FIG. , and the value of the A register (updated pass/fail information) is stored at that address. The command on the 7th line corresponds to step S6 in FIG.

そして、図231(a)の8行目のコマンド「RET」によって、当該OTM_ATKモジュールが終了して1段上のルーチンに戻る。かかる8行目のコマンドが、図230のステップS7に対応する。 Then, the command "RET" on the eighth line of FIG. 231(a) terminates the OTM_ATK module and returns to the routine one level above. The eighth line command corresponds to step S7 in FIG.

ここで、図231(a)のコマンド群を図231(c)のように変更することができる。ここでは、図231(a)と実質的に等しい処理についてはその説明を省略し、図231(c)の異なる処理のみを説明する。 Here, the command group of FIG. 231(a) can be changed as shown in FIG. 231(c). 231(a) will be omitted here, and only the different processing in FIG. 231(c) will be described.

図231(c)の3行目のコマンド「CPLBQ A,(LOW _ATW_BIT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「_ATW_BIT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(当否情報)のうち、Aレジスタの値(遊技数)に対応するビットを反転する。したがって、ここでは、当否情報のうち、AT抽選に当選した遊技(遊技数)に対応するビットが反転されて1となる。 The command "CPLBQ A, (LOW_ATW_BIT)" on the third line in FIG. , and the bit corresponding to the value of the A register (the number of games played) of the value (win/fail information) stored at that address is inverted. Therefore, here, among the win/fail information, the bit corresponding to the game (the number of games) won in the AT lottery is inverted and becomes 1.

ここで、図231(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _CZ_CNT)」2バイト+3行目のコマンド「LD HL,T_XXX_XXX」3バイト+4行目のコマンド「RST CALADRS」1バイト+5行目のコマンド「LDQ B,(LOW _ATW_BIT)」3バイト+6行目のコマンド「OR A,B」1バイト+7行目のコマンド「LDQ (LOW _ATW_BIT),A」2バイト+8行目のコマンド「RET」1バイト=13バイトとなり、総実行サイクルは、2行目3サイクル+3行目3サイクル+4行目4サイクル+5行目4サイクル+6行目2サイクル+7行目3サイクル+8行目3サイクル=22サイクルとなる。 Here, the total command size of the command group shown in FIG. 231(a) is the command "LDQ A, (LOW_CZ_CNT)" on the second line 2 bytes + the command "LD HL, T_XXX_XXX" on the third line 3 bytes + 4 lines. 1st command "RST CALADRS" 1 byte + 5th line command "LDQ B, (LOW_ATW_BIT)" 3 bytes + 6th line command "OR A, B" 1 byte + 7th line command "LDQ (LOW_ATW_BIT), A" 2 bytes + 8th line command "RET" 1 byte = 13 bytes, and the total execution cycle is 2nd line 3 cycles + 3rd line 3 cycles + 4th line 4 cycles + 5th line 4 cycles + 6th line 2 cycles + 7 3 cycles of row + 3 cycles of 8th row = 22 cycles.

一方、図231(c)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW _CZ_CNT)」2バイト+3行目のコマンド「CPLBQ A,(LOW _ATW_BIT)」3バイト+4行目のコマンド「RET」1バイト=6バイトとなり、総実行サイクルは、2行目3サイクル+3行目6サイクル+4行目3サイクル=12サイクルとなる。 On the other hand, the total command size of the command group shown in FIG. 231(c) is the second line command "LDQ A, (LOW_CZ_CNT)" 2 bytes + the third line command "CPLBQ A, (LOW _ATW_BIT)" 3 bytes. + 1 byte of the command "RET" on the 4th line = 6 bytes, and the total execution cycle is 3 cycles on the 2nd line + 6 cycles on the 3rd line + 3 cycles on the 4th line = 12 cycles.

したがって、図231(a)のコマンド群を図231(c)のコマンド群に置き換えることで、総コマンドサイズが7バイト削減され、総実行サイクルも少なくとも10サイクル削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 231(a) with the command group of FIG. 231(c), the total command size is reduced by 7 bytes and the total execution cycle is also reduced by at least 10 cycles. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

また、図231(a)と図231(c)とを比較して理解できるように、図231(a)において5行(3行目~7行目)を占有していたコマンド群を、図231(c)においては1行(3行目)で表すことができ、コマンド数自体の削減と、設計負荷の軽減を図ることが可能となる。 231(a) and 231(c), the command group occupying 5 lines (3rd to 7th lines) in FIG. H.231(c) can be expressed in one line (the third line), which makes it possible to reduce the number of commands and the design load.

また、図231(c)のコマンド群に置き換えることで、遊技数ビットテーブルが不要になるため、遊技数ビットテーブル分のデータ容量も削減することができる。 Further, by replacing with the command group of FIG. 231(c), the game number bit table becomes unnecessary, so that the data capacity for the game number bit table can be reduced.

<LDSB>
図232は、KRS_JDGモジュールを実現するためのコマンドの一例を説明するための説明図である。
<LDSB>
FIG. 232 is an explanatory diagram for explaining an example of commands for realizing the KRS_JDG module.

ここで、遊技機100の別例としては、大役遊技における所定のラウンド遊技において、大入賞口内に設けられた確変領域(特定領域)に遊技球が進入した場合に、大役遊技後の遊技状態を高確率遊技状態に設定する。そして、所定の特別図柄が決定された大役遊技において、所定のラウンド遊技で、大入賞口に所定の遊技数が通過したときに、確変領域を開放し、確変領域に遊技球を進入可能としている。以下では、1回目のラウンド遊技において大入賞口に遊技球が3球入球した場合、および、5回目のラウンド遊技において大入賞口に遊技球が5球入球した場合に、確変領域が開放される例を挙げて説明する。 Here, as another example of the gaming machine 100, in a predetermined round game in the big win game, when the game ball enters the probability variable area (specific area) provided in the big win opening, the game state after the big win game Set to high probability game state. Then, when a predetermined number of games pass through the big winning opening in a predetermined round game in a big game in which a predetermined special pattern is determined, the probability variable area is opened and a game ball can enter the probability variable area. . Below, when 3 game balls enter the big winning opening in the first round game, and when 5 gaming balls enter the big winning opening in the 5th round game, the variable area is opened. An example will be given for explanation.

このような確変領域の開放を管理する処理をKRS_JDGモジュールによって実行する。なお、KRS_JDGモジュールは、図47に示した大入賞口開放制御処理において呼び出されて実行される。 The KRS_JDG module executes processing for managing the release of such probability variable areas. It should be noted that the KRS_JDG module is called and executed in the big winning opening opening control process shown in FIG.

図232(a)の1行目の指標「KRS_JDG:」は、当該KRS_JDGモジュールの先頭アドレスを示す。そして、図232(a)の2行目のコマンド「LDQ A,(LOW R_ROU_CNT)」によって、Qレジスタの値をアドレスの上位1バイトとし、アドレス「R_ROU_CNT」の下位1バイトの値をアドレスの下位1バイトとし、そのアドレスに格納された値(特別電動役物連続作動回数、すなわち、ラウンド遊技数)をAレジスタに読み出す。 The index "KRS_JDG:" on the first line in FIG. 232(a) indicates the head address of the KRS_JDG module. Then, the command "LDQ A, (LOW R_ROU_CNT)" on the second line in FIG. 1 byte, and the value (the number of times of continuous operation of the special electric accessory, ie, the number of round games) stored in the address is read to the A register.

そして、図232(a)の3行目のコマンド「LD B,(HL)」によって、HLレジスタに格納された値が示すアドレスの値をBレジスタに読み出す。なお、HLレジスタには、予め、図232(b)に示す、確変領域判定テーブルのアドレス「D_KRS_JDG_2」が読み出されている。 Then, the command "LD B, (HL)" on the third line in FIG. 232(a) reads the value of the address indicated by the value stored in the HL register to the B register. It should be noted that the address "D_KRS_JDG_2" of the probability variable area determination table shown in FIG. 232(b) is read in advance to the HL register.

図232(b)の1行目の指標「D_KRS_JDG_2:」は、テーブル「D_KRS_JDG_2」の先頭アドレスを示す。図232(b)の2行目の値「(@D_KRS_JDG_2-D_KRS_JDG2-1)/2」は、7行目の指標「@D_KRS_JDG_2:」のアドレスから1行目の指標「D_KRS_JDG_2:」のアドレスおよび1を減算した値を2で除算した値であり、判定回数(確変領域が開放されるラウンド遊技の回数)を示すものである。 The index "D_KRS_JDG_2:" on the first line in FIG. 232(b) indicates the start address of the table "D_KRS_JDG_2". The value "(@D_KRS_JDG_2-D_KRS_JDG2-1)/2" on the second line in FIG. It is a value obtained by dividing the value obtained by subtracting 1 by 2, and indicates the number of determination times (the number of round games in which the variable probability area is opened).

図232(b)の3行目の値「@KRS_TGT_ROU_01」は、確変領域を開放する1回目のラウンド遊技を示す値(対象ラウンド値、ここでは、1)であり、図232(b)の4行目の値「@KRS_JDG_01」は、確変領域を開放する1回目のラウンド遊技において大入賞口に何個の遊技球が入球したときに確変領域を開放するかを示す値(開放識別値、ここでは、3)である。同様に、図232(b)の5行目の値「@KRS_TGT_ROU_03」は、確変領域を開放する2回目のラウンド遊技を示す値(対象ラウンド値、ここでは、5)であり、図232(b)の6行目の値「@KRS_JDG_03」は、確変領域を開放する2回目のラウンド遊技において大入賞口に何個の遊技球が入球したときに確変領域を開放するかを示す値(開放識別値、ここでは、5)である。 The value "@KRS_TGT_ROU_01" in the third row of FIG. 232(b) is a value (target round value, here, 1) indicating the first round game that opens the variable probability area, and 4 in FIG. 232(b). The row value "@KRS_JDG_01" is a value (open identification value, Here, it is 3). Similarly, the value "@KRS_TGT_ROU_03" in the fifth row of FIG. ), the value "@KRS_JDG_03" in the 6th row is a value (open The identification value, here 5).

したがって、図232(a)の3行目のコマンド「LD B,(HL)」によって、判定回数がBレジスタに読み出されることになる。 Therefore, the determination count is read out to the B register by the command "LD B, (HL)" on the third line in FIG. 232(a).

図232(a)の4行目の指標「KRS_JDG_10:」は、当該指標「KRS_JDG_10」のアドレスを示す。図232(a)の5行目のコマンド「INC HL」によって、HLレジスタの値が1加算(インクリメント)される。その後、図232(a)の6行目のコマンド「CP A,(HL)」によって、Aレジスタの値と、HLレジスタの値によって示されるアドレスに格納された値(対象ラウンド値)とが比較され、Aレジスタの値がHLレジスタの値と同一であれば、ゼロフラグが立って1となり、HLレジスタの値と異なれば、ゼロフラグが立たずに0となる。 The index "KRS_JDG_10:" on the fourth line in FIG. 232(a) indicates the address of the index "KRS_JDG_10". The value of the HL register is incremented by 1 by the command "INC HL" on the fifth line in FIG. 232(a). After that, the value of the A register and the value (target round value) stored at the address indicated by the value of the HL register are compared by the command "CP A, (HL)" on the sixth line of FIG. 232(a). If the value of the A register is the same as the value of the HL register, the zero flag is set to 1. If the value of the A register is different from the value of the HL register, the zero flag is not set to 0.

続いて、図232(a)の7行目のコマンド「INC HL」によって、HLレジスタの値が再び1加算(インクリメント)される。その後、図232(a)の8行目のコマンド「LD C,(HL)」によって、HLレジスタで示されるアドレスの値(開放識別値)がCレジスタに読み出される。 Subsequently, the value of the HL register is again incremented by 1 by the command "INC HL" on the seventh line in FIG. 232(a). After that, the value of the address indicated by the HL register (open identification value) is read to the C register by the command "LD C, (HL)" on the eighth line in FIG. 232(a).

そして、図232(a)の9行目のコマンド「RET Z」によって、ゼロフラグが立っている場合、当該KRS_JDGモジュールを終了して1つ上のモジュールに戻る。 Then, if the zero flag is set by the command "RET Z" on the ninth line of FIG. 232(a), the KRS_JDG module is ended and the module one level above is returned to.

また、ゼロフラグが立っていない場合、図232(a)の10行目のコマンド「DJNZ KRS_JDG_10」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、アドレス「KRS_JDG_10」に移動し、デクリメントした結果が0であれば、図232(a)の11行目のコマンド「RET」によって、当該KRS_JDGモジュールを終了して1つ上のモジュールに戻る。 If the zero flag is not set, the command "DJNZ KRS_JDG_10" on the 10th line in FIG. If the decremented result is 0 after moving to "KRS_JDG_10", the command "RET" on line 11 in FIG. 232(a) terminates the KRS_JDG module and returns to the upper module.

ここで、遊技機100においては、ラウンド遊技数は最大で10である。また、確変領域を開放するための大入賞口への入球数は、各ラウンド遊技の規定数が10であることから、2~5の間に設定されることになる。すなわち、対象ラウンド値は10以下の値であり、4ビットで表現可能である。したがって、対象ラウンド値を示す値「@KRS_TGT_ROU_01」および値「@KRS_TGT_ROU_03」は、1バイト長で構成されているが、実際には4ビットでよい。 Here, in the gaming machine 100, the maximum number of round games is ten. Also, the number of balls entering the big winning hole for opening the probability variable area is set between 2 and 5 since the prescribed number for each round game is 10. That is, the target round value is a value of 10 or less and can be represented by 4 bits. Therefore, although the value "@KRS_TGT_ROU_01" and the value "@KRS_TGT_ROU_03" indicating the target round value are configured with a 1-byte length, they may actually be 4 bits.

また、開放識別値は5以下の値であり、3ビットで表現可能である。したがって、開放識別値を示す値「@KRS_JDG_01」および値「@KRS_JDG_03」は、1バイト長で構成されているが、実際には3ビットでよい。 Also, the open identification value is a value of 5 or less and can be represented by 3 bits. Therefore, although the value "@KRS_JDG_01" and the value "@KRS_JDG_03" indicating the release identification value are composed of 1-byte length, they may actually be 3 bits.

そこで、以下では、4ビットで表現可能な対象ラウンド値、および、3ビットで表現可能な開放識別値の2つの値を、1バイト長の1つの値(データ)として扱う例について説明する。 Therefore, an example in which two values, the target round value that can be represented by 4 bits and the open identification value that can be represented by 3 bits, are treated as one value (data) of 1-byte length will be described below.

図233は、KRS_JDGモジュールを実現するためのコマンドの別例を説明するための説明図である。なお、図232と実質的に等しい処理についてはその説明を省略し、図233の異なる処理のみを説明する。 FIG. 233 is an explanatory diagram for explaining another example of commands for realizing the KRS_JDG module. 232 will be omitted, and only the different processing in FIG. 233 will be described.

図233(a)の3行目のコマンド「LD B,(HL)」によって、HLレジスタに示されるアドレスの値をBレジスタに読み出す。なお、HLレジスタには、予め、図233(b)に示す、確変領域判定テーブルのアドレス「D_KRS_JDG_2」が読み出されている。 The value of the address shown in the HL register is read to the B register by the command "LD B, (HL)" on the third line in FIG. 233(a). It should be noted that the address "D_KRS_JDG_2" of the variable probability area determination table shown in FIG. 233(b) is read in advance to the HL register.

図233(b)の3行目の値「@KRS_TGT_ROU_01*8+@KRS_JDG_01」は、上位5ビットが、確変領域を開放する1回目のラウンド遊技を示す値(対象ラウンド値)であり、下位3ビットが、確変領域を開放する1回目のラウンド遊技において大入賞口に何個の遊技球が入球したときに確変領域を開放するかを示す値(開放識別値)である。同様に、図233(b)の4行目の値「@KRS_TGT_ROU_03*8+@KRS_JDG_03」は、上位5ビットが、確変領域を開放する2回目のラウンド遊技を示す値(対象ラウンド値)であり、下位3ビットが、確変領域を開放する2回目のラウンド遊技において大入賞口に何個の遊技球が入球したときに確変領域を開放するかを示す値(開放識別値)である。 The value "@KRS_TGT_ROU_01*8+@KRS_JDG_01" in the third row of FIG. 233(b) is a value (target round value) indicating the first round game in which the high-order 5 bits open the probability variable area, and low-order 3 bits. is a value (open identification value) indicating how many game balls enter the big winning opening in the first round game to open the probability variable region to open the probability variable region. Similarly, the value "@KRS_TGT_ROU_03*8+@KRS_JDG_03" in the fourth row of FIG. The lower 3 bits is a value (opening identification value) indicating how many game balls enter the big winning opening in the second round game to open the probability variable area to open the probability variable area.

図233(a)の6行目のコマンド「LDSB 2,DE,(HL)」によって、HLレジスタの値の下位3ビットがEレジスタに読み出され(他のビットは0にされる)、HLレジスタの値の上位5ビットが3ビット右にシフトされてDレジスタに読み出される(他のビットは0にされる)。すなわち、対象ラウンド値および開放識別値を分けて、対象ラウンド値がDレジスタに読み出され、開放識別値がEレジスタに読み出される。なお、コマンド「LDSB 2,DE,(HL)」における「2」は、0ビットから2ビット目までの3ビットがEレジスタに読み出されることを示す値であるとともに、それよりも上位のビット(5ビット)がシフトされてDレジスタに読み出されることを示す値である。 The command "LDSB 2, DE, (HL)" on the 6th line in FIG. The upper 5 bits of the value in the register are shifted 3 bits to the right and read out to the D register (other bits are set to 0). That is, the target round value and the release identification value are separated, the target round value is read to the D register, and the release identification value is read to the E register. Note that "2" in the command "LDSB 2, DE, (HL)" is a value indicating that 3 bits from 0 to 2 are read to the E register, and the higher bits ( 5 bits) is shifted and read out to the D register.

図233(a)の7行目のコマンド「CP A,D」によって、Aレジスタの値と、Dレジスタの値(対象ラウンド値)とが比較され、Aレジスタの値がDレジスタの値と同一であれば、ゼロフラグが立って1となり、対象ラウンド値と異なれば、ゼロフラグが立たずに0となる。 The command "CP A, D" on the 7th line in FIG. 233(a) compares the value of the A register and the value of the D register (target round value), and the value of the A register is the same as the value of the D register. If so, the zero flag is set and becomes 1, and if different from the target round value, the zero flag is not set and becomes 0.

ここで、図232(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_ROU_CNT)」2バイト+3行目のコマンド「LD B,(HL)」1バイト+5行目のコマンド「INC HL」1バイト+6行目のコマンド「CP A,(HL)」1バイト+7行目のコマンド「INC HL」1バイト+8行目のコマンド「LD C,(HL)」1バイト+9行目のコマンド「RET Z」1バイト+10行目のコマンド「DJNZ KRS_JDG_10」2バイト+11行目のコマンド「RET」1バイト=11バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+5行目1サイクル+6行目2サイクル+7行目1サイクル+8行目1サイクル+9行目3(1)サイクル+10行目3(2)サイクル+11行目3(1)サイクル=19(14)サイクルとなる。また、図232(b)に示す確変領域判定テーブルは、5バイトとなる。なお、括弧内のサイクル数は、コマンドによって移動しなかった場合の実行サイクルを示している。 Here, the total command size of the command group shown in FIG. 232(a) is the second line command "LDQ A, (LOW R_ROU_CNT)" 2 bytes + the third line command "LD B, (HL)" 1 byte. + 5th line command "INC HL" 1 byte + 6th line command "CP A, (HL)" 1 byte + 7th line command "INC HL" 1 byte + 8th line command "LD C, (HL)" 1 byte + 9th line command "RET Z" 1 byte + 10th line command "DJNZ KRS_JDG_10" 2 bytes + 11th line command "RET" 1 byte = 11 bytes, total execution cycle is 2nd line 3 cycles + 3 Row 2 cycle + 5th row 1 cycle + 6th row 2 cycle + 7th row 1 cycle + 8th row 1 cycle + 9th row 3 (1) cycle + 10th row 3 (2) cycle + 11th row 3 (1) cycle = 19 (14) Cycle. Also, the variable probability region determination table shown in FIG. 232(b) is 5 bytes. Note that the number of cycles in parentheses indicates the execution cycle when not moved by the command.

一方、図233(a)に示したコマンド群の総コマンドサイズは、2行目のコマンド「LDQ A,(LOW R_ROU_CNT)」2バイト+3行目のコマンド「LD B,(HL)」1バイト+5行目のコマンド「INC HL」1バイト+6行目のコマンド「LDSB 2,DE,(HL)」2バイト+7行目のコマンド「CP A,D」1バイト+8行目のコマンド「RET Z」1バイト+9行目のコマンド「DJNZ KRS_JDG_10」2バイト+10行目のコマンド「RET」1バイト=11バイトとなり、総実行サイクルは、2行目3サイクル+3行目2サイクル+5行目1サイクル+6行目3サイクル+7行目1サイクル+8行目3(1)サイクル+9行目3(2)サイクル+10行目3(1)サイクル=19(14)サイクルとなる。また、図233(b)に示す確変領域判定テーブルは、3バイトとなる。なお、括弧内のサイクル数は、コマンドによって移動しなかった場合の実行サイクルを示している。 On the other hand, the total command size of the command group shown in FIG. 233(a) is the command "LDQ A, (LOW R_ROU_CNT)" on the second line 2 bytes + the command "LD B, (HL)" on the third line 1 byte + 5. Line command "INC HL" 1 byte + Line 6 command "LDSB 2, DE, (HL)" 2 bytes + Line 7 command "CP A, D" 1 byte + Line 8 command "RET Z" 1 Byte + 9th line command "DJNZ KRS_JDG_10" 2 bytes + 10th line command "RET" 1 byte = 11 bytes. 3rd cycle+7th row 1st cycle+8th row 3(1) cycle+9th row 3(2) cycle+10th row 3(1) cycle=19(14) cycles. Also, the variable probability region determination table shown in FIG. 233(b) is 3 bytes. Note that the number of cycles in parentheses indicates the execution cycle when not moved by the command.

したがって、図232(a)のコマンド群および図232(b)の確変領域判定テーブルを、図233(a)のコマンド群および図233(b)の確変領域判定テーブルに置き換えることで、総サイズが2バイト削減される。かかる置き換えによって、コマンドの短縮化および処理負荷の軽減を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Therefore, by replacing the command group of FIG. 232 (a) and the probability variable region determination table of FIG. 232 (b) with the command group of FIG. 233 (a) and the probability variable region determination table of FIG. 233 (b), the total size Reduced by 2 bytes. By such replacement, it is possible to shorten the command, reduce the processing load, and secure the capacity of the control area for performing the game control processing.

なお、コマンド「LDSB」は、合計で8バイト以下の2つの値(情報)を、1バイト長の1つのデータとして扱う際に使用可能であり、上記の例以外であっても適用することができる。 Note that the command "LDSB" can be used to treat two values (information) of 8 bytes or less in total as one piece of data with a length of 1 byte, and can be applied to cases other than the above examples. can.

<レジスタバンクおよびレジスタ群の管理>
図101を用いて説明したように、CPUコア700のレジスタユニット716には、排他的に切り換えて利用可能な2つのレジスタバンク(第1レジスタバンク726および第2レジスタバンク728)が設けられる。また、第1レジスタバンク726および第2レジスタバンク728それぞれには、排他的に切り換えてアクセス可能な2つのレジスタ群(メインレジスタ群726a、728aおよびサブレジスタ群726b、728b)が設けられ、それぞれ、8ビットのレジスタ(Q、A、F、B、C、D、E、H、L)と、16ビットのレジスタ(IX、IY)とを含む。したがって、このような複数のレジスタが共通するレジスタ群は、2つのレジスタバンク(第1レジスタバンク726、第2レジスタバンク728)と、2つのレジスタ群(メインレジスタ群726a、728a、サブレジスタ群726b、728b)との掛け合わせで4つの領域に存在することとなる。
<Management of register bank and register group>
As described with reference to FIG. 101, register unit 716 of CPU core 700 is provided with two register banks (first register bank 726 and second register bank 728) that can be used exclusively by switching. Each of the first register bank 726 and the second register bank 728 is provided with two register groups (main register groups 726a and 728a and sub-register groups 726b and 728b) that can be accessed by switching exclusively. It includes 8-bit registers (Q, A, F, B, C, D, E, H, L) and 16-bit registers (IX, IY). Therefore, the register groups in which such a plurality of registers are common are two register banks (first register bank 726, second register bank 728) and two register groups (main register groups 726a, 728a, sub-register group 726b). , 728b) are present in four regions.

このようなレジスタ群は、それぞれレジスタバンク間、レジスタ群間で排他的に利用されるとともに、独立して情報を記憶できるので、他の領域のレジスタの更新に影響を受けることがない。換言すれば、メインCPU500aは、現在対象としているレジスタバンクおよびレジスタ群のレジスタの内容は更新できるが、他の対象としていないレジスタバンクおよびレジスタ群にはアクセスすることができない。 Such register groups are used exclusively between register banks and between register groups, respectively, and can store information independently, so that they are not affected by updates of registers in other areas. In other words, the main CPU 500a can update the contents of the registers of the currently targeted register bank and register group, but cannot access other non-targeted register banks and register groups.

このように、レジスタ群が、レジスタバンク間およびレジスタ群間で独立していることを利用し、それぞれのレジスタ群を、その種別(目的、機能、契機等)により区分けすることが可能な複数のプログラムそれぞれに対応させることを検討する。例えば、本実施形態のメモリ空間では、図102のメモリマップのように、メインROM500bおよびメインRAM500cにおいて使用領域と別領域とが割り当てられている。上述したように、メインROM500bの使用領域には、遊技の進行を制御する遊技制御処理を実行するためのプログラムやデータが格納され、メインROM500bの別領域には、遊技の進行に影響を及ぼさない遊技制御外処理を遂行するプログラムの命令コードおよびプログラムデータが格納されている。このように使用領域と別領域とは、目的とする処理の内容が異なるため、それぞれ異なるレジスタ群を対応させることが好ましい。 In this way, by utilizing the fact that register groups are independent between register banks and between register groups, each register group can be classified according to its type (purpose, function, occasion, etc.). Consider adapting to each program. For example, in the memory space of this embodiment, as shown in the memory map of FIG. 102, the main ROM 500b and the main RAM 500c are allocated a used area and another area. As described above, the use area of the main ROM 500b stores programs and data for executing game control processing for controlling the progress of the game, and another area of the main ROM 500b stores data that does not affect the progress of the game. Instruction code and program data of the program that executes the process outside the game control are stored. As described above, the used area and the separate area are different in the content of the intended processing, so it is preferable to associate different register groups with each other.

そこで、本実施形態では、使用領域における遊技制御処理の実行に用いるレジスタ群として第1レジスタバンク726を対応させ、別領域における遊技制御外処理の実行に用いるレジスタ群として第2レジスタバンク728を対応させる。換言すれば、第1レジスタバンク726は、使用領域における遊技制御処理の実行に用いるレジスタ群として使用し、第2レジスタバンク728は、別領域における遊技制御外処理の実行に用いるレジスタ群として使用する。そして、メインCPU500aは、メインROM500bの0000h~1FFFhに格納されているプログラムを参照し、第1レジスタバンク726のレジスタ群を更新して遊技制御処理を実行するとともに、メインROM500bの2000h~3FFFhに格納されているプログラムを参照し、レジスタバンクを切り換え、第2レジスタバンク728のレジスタ群を更新して遊技制御外処理を実行する。かかる構成により、メモリおよびレジスタの両方において、使用領域と別領域との独立性および排他性を担保することができる。 Therefore, in this embodiment, the first register bank 726 corresponds to the register group used for executing the game control process in the use area, and the second register bank 728 corresponds to the register group used to execute the game control outside process in another area. Let In other words, the first register bank 726 is used as a group of registers used for execution of game control processing in the use area, and the second register bank 728 is used as a group of registers used for execution of non-game control processing in another area. . Then, the main CPU 500a refers to the program stored in 0000h to 1FFFh of the main ROM 500b, updates the register group of the first register bank 726, executes the game control process, and stores it in 2000h to 3FFFh of the main ROM 500b. By referring to the program being executed, the register bank is switched, the register group of the second register bank 728 is updated, and the processing outside the game control is executed. With such a configuration, independence and exclusivity between the used area and another area can be ensured in both the memory and the register.

また、本実施形態では、遊技制御処理において実行されるプログラムを2つに区分けする。ここでは、例えば、メイン処理とタイマ割込み処理とに区分する。メイン処理(第1処理)は、例えば、図22~図25(遊技機100)、図82~図97(スロットマシン400)に示したように、メインループを含む、遊技者の操作とその結果に従って順次実行される処理であり、タイマ割込み処理(第2処理)は、例えば、図26~図59(遊技機100)、図98(スロットマシン400)に示したように、メイン処理の実行中に生じる、所定時間(例えば、4ms、1.49ms)毎のタイマ割込に応じ、メイン処理を一旦中断して実行される処理である。なお、ここでは、第1処理として、メイン処理を挙げて説明したが、かかる場合に限らず、遊技を進行するための任意の処理を適用することができる。また、ここでは、第2処理として、タイマ割込み処理を挙げて説明したが、かかる場合に限らず、遊技を進行する上での所定の条件(計時契機、タイミング契機、操作契機、処理の実行契機等)の成立に基づいて発生する所定の割込みによって実行される処理であれば、任意の処理を適用することができる。 Moreover, in this embodiment, the program executed in the game control process is divided into two. Here, for example, it is divided into main processing and timer interrupt processing. 22 to 25 (gaming machine 100) and 82 to 97 (slot machine 400). Timer interrupt processing (second processing) is, for example, shown in FIGS. 26 to 59 (gaming machine 100) and FIG. This is a process that is executed by temporarily interrupting the main process in response to a timer interrupt that occurs every predetermined time (eg, 4 ms, 1.49 ms). Although the main process has been described as the first process here, it is not limited to such a case, and any process for progressing the game can be applied. Also, here, as the second process, the timer interrupt process has been described, but it is not limited to such a case. etc.) can be applied as long as it is a process that is executed by a predetermined interrupt that occurs based on the establishment of the above.

そして、本実施形態においては、メイン処理およびタイマ割込み処理のいずれか一方に、第1レジスタバンク726の2つのレジスタ群726a、726bの一方を対応させ、メイン処理およびタイマ割込み処理の他方に、第1レジスタバンク726の2つのレジスタ群726a、726bの他方を対応させる。換言すれば、第1レジスタバンク726の2つのレジスタ群726a、726bの一方は、メイン処理およびタイマ割込み処理のいずれか一方の処理の実行に用いるレジスタ群として使用し、第1レジスタバンク726の2つのレジスタ群726a、726bの他方は、メイン処理およびタイマ割込み処理の他方の処理の実行に用いるレジスタ群として使用する。以下、第1の実施形態で、メイン処理にメインレジスタ群726aを対応させ、タイマ割込み処理にサブレジスタ群726bを対応させた例を説明し、第2の実施形態で、メイン処理にサブレジスタ群726bを対応させ、タイマ割込み処理にメインレジスタ群726aを対応させた例を説明する。 In this embodiment, one of the two register groups 726a and 726b of the first register bank 726 corresponds to one of the main processing and timer interrupt processing, and the other of the main processing and timer interrupt processing corresponds to the second register group. The other of the two register groups 726a and 726b of one register bank 726 is made to correspond. In other words, one of the two register groups 726a and 726b of the first register bank 726 is used as a group of registers used for executing either main processing or timer interrupt processing, and two registers of the first register bank 726 are used. The other of the two register groups 726a and 726b is used as a register group used for executing the other of main processing and timer interrupt processing. An example in which the main register group 726a corresponds to the main process and the sub-register group 726b corresponds to the timer interrupt process will be described below in the first embodiment. 726b and the main register group 726a for timer interrupt processing will be described.

(第1の実施形態)
ここでは、メイン処理にメインレジスタ群726aを対応させ、タイマ割込み処理にサブレジスタ群726bを対応させた例を説明する。したがって、メインCPU500aは、メインレジスタ群726aを参照してメイン処理を順次実行し、タイマ割込みが生じた場合に、メイン処理を中断し、一旦、メインレジスタ群726aからサブレジスタ群726bに切り換えてタイマ割込み処理を実行し、タイマ割込み処理が終了すると、サブレジスタ群726bからメインレジスタ群726aに切り換えて、メイン処理を再開する。
(First embodiment)
Here, an example in which the main register group 726a is associated with the main process and the sub-register group 726b is associated with the timer interrupt process will be described. Therefore, the main CPU 500a sequentially executes the main processing with reference to the main register group 726a. When a timer interrupt occurs, the main CPU 500a interrupts the main processing, temporarily switches from the main register group 726a to the sub-register group 726b, and switches to the sub-register group 726b. When the interrupt processing is executed and the timer interrupt processing ends, the sub-register group 726b is switched to the main register group 726a, and the main processing is restarted.

ところで、上述したように、本実施形態ではQレジスタを用いている。Qレジスタに記述された値は、任意のコマンドにおいてアドレスの一部として参照される。かかるQレジスタを用いることで、Qレジスタを参照するコマンドを記述でき、コマンドサイズやサイクル数を削減することが可能となる。 By the way, as described above, the Q register is used in this embodiment. The value written in the Q register is referenced as part of the address in any command. By using such a Q register, commands that refer to the Q register can be written, and the command size and the number of cycles can be reduced.

例えば、メモリ空間からデータを読み出すロード命令「LD」に関し、コマンド「LD A,(mn)」をプログラムに記述すると、16ビットのアドレスmnに格納された値をAレジスタに読み出すことができる。かかるコマンドは、コマンドサイズが3バイトでサイクル数が4サイクルとなる。これに対し、Qレジスタを参照するコマンド「LDQ A,(n)」をプログラムに記述すると、Qレジスタの値をアドレスの上位1バイトとし、アドレスnをアドレスの下位1バイトとし、16ビットのアドレスとして取り扱うように、そのアドレスに格納された値をAレジスタに読み出すことができる。かかるコマンドは、コマンドサイズが2バイトでサイクル数が3サイクルとなる。したがって、コマンドサイズおよびサイクル数のいずれも削減することが可能となる。 For example, if the command "LD A, (mn)" is written in the program for the load instruction "LD" for reading data from the memory space, the value stored at the 16-bit address mn can be read to the A register. Such a command has a command size of 3 bytes and a cycle count of 4 cycles. On the other hand, if the command "LDQ A, (n)" that refers to the Q register is written in the program, the value of the Q register will be the upper 1 byte of the address, the address n will be the lower 1 byte of the address, and the address n will be a 16-bit address. , the value stored at that address can be read into the A register. Such a command has a command size of 2 bytes and a cycle count of 3 cycles. Therefore, both the command size and the number of cycles can be reduced.

かかるQレジスタは、上述したように、レジスタ群毎に管理されている。すなわち、メインレジスタ群(第1のレジスタ群)726aのQレジスタ(第1レジスタ)と、サブレジスタ群(第2のレジスタ群)726bのQ’レジスタ(第2レジスタ)が存在し、互いに独立して値を保持する。 Such Q registers are managed for each register group as described above. That is, the Q register (first register) of the main register group (first register group) 726a and the Q' register (second register) of the sub-register group (second register group) 726b exist and are independent of each other. hold the value.

また、当該レジスタユニット716を含むメインCPU500aの電源投入時においても、メインレジスタ群726aのQレジスタと、サブレジスタ群726bのQ’レジスタは、互いに独立して初期値が設定される。例えば、電源投入時において、メインレジスタ群726aのQレジスタは、メインRAM500cの記憶領域のアドレスにおける複数の上位バイトの値(例えば、F0h~F3)のうちの、1の上位バイトの値(例えばF0h)と同じ「F0h」(第1の値)に設定され、サブレジスタ群726bのQ’レジスタは、メインRAM500cの記憶領域のアドレスにおける複数の上位バイトの値(例えば、F0h~F3)のうちの、1の上位バイトの値(例えばF1h)と同じ「F1h」に設定される。これは、メインレジスタ群726aを利用する処理と、サブレジスタ群726bを利用する処理とで、互いに参照するメモリ領域を区分けすることを想定したものである。 Also, when the power of the main CPU 500a including the register unit 716 is turned on, the Q register of the main register group 726a and the Q' register of the sub-register group 726b are set to initial values independently of each other. For example, when the power is turned on, the Q register of the main register group 726a stores the upper byte value of 1 (for example, F0h ), and the Q' register of the sub-register group 726b is set to the same "F0h" (first value) as the main RAM 500c, and the Q' register of the plurality of upper byte values (for example, F0h to F3) in the address of the storage area of the main RAM 500c. , 1 is set to "F1h", which is the same as the value of the upper byte of 1 (eg, F1h). This is based on the assumption that the memory areas to be referred to are divided between the processing using the main register group 726a and the processing using the sub-register group 726b.

ただし、本実施形態では、メインレジスタ群726aを利用するメイン処理と、サブレジスタ群726bを利用するタイマ割込み処理とは、同一のメモリ領域に対応付けられた変数にアクセスする。したがって、アドレスの上位バイトとして参照されるメインレジスタ群726aのQレジスタおよびサブレジスタ群726bのQ’レジスタのいずれも同じ値(例えば、F0h)を保持させた方が、アドレスを調整するためのコマンドが不要な分、コマンドサイズを小さくできる。 However, in this embodiment, the main process using the main register group 726a and the timer interrupt process using the sub-register group 726b access variables associated with the same memory area. Therefore, if the Q register of the main register group 726a and the Q' register of the sub-register group 726b, which are referred to as the high-order bytes of the address, both hold the same value (for example, F0h), the command for adjusting the address is unnecessary, the command size can be reduced.

そこで、本実施形態では、メインレジスタ群726aのQレジスタおよびサブレジスタ群726bのQ’レジスタのいずれも同じ値(ここではF0h)に設定することとする。なお、メインレジスタ群726aのQレジスタは、初期値がF0h(第1の値)なので、さらに別の値を設定する必要がない。したがって、ここでは、サブレジスタ群726bのQ’レジスタのみF1hをF0h(第2の値)に書き替える。なお、メインCPU500aは、Q’レジスタを参照するコマンドが用いられる前に、Q’レジスタに値を設定する必要がある。そこで、例えば、メイン処理の初期化処理(例えば、図82のCPU初期化処理)において、Q’レジスタを初期化することが考えられる。 Therefore, in this embodiment, both the Q register of the main register group 726a and the Q' register of the sub-register group 726b are set to the same value (here, F0h). Note that the initial value of the Q register of the main register group 726a is F0h (first value), so there is no need to set another value. Therefore, here, only the Q' register of the sub-register group 726b is rewritten from F1h to F0h (second value). Note that the main CPU 500a needs to set a value in the Q' register before using a command that refers to the Q' register. Therefore, for example, it is conceivable to initialize the Q' register in the initialization processing of the main processing (for example, the CPU initialization processing in FIG. 82).

図234は、Q’レジスタに値を設定するコマンドの一例を示した図である。ここで、メインCPU500aは、メイン処理の初期化処理において、Q’レジスタにF0hを設定する。ただし、上述したように、メインCPU500aは、現在対象としているレジスタ群であるメインレジスタ群726aのQレジスタの内容は更新できるが、他のレジスタ群であるサブレジスタ群726bのQ’レジスタにはアクセスすることができない。そこで、図234のように、1行目のコマンド「EX ALL」によって、メインレジスタ群726aにおける8ビットのレジスタ(Q、A、F、B、C、D、E、H、L)および16ビットのレジスタ(IX、IY)から、サブレジスタ群726bにおける8ビットのレジスタ(Q’、A’、F’、B’、C’、D’、E’、H’、L’)および16ビットのレジスタ(IX’、IY’)に切り換える。そして、2行目のコマンド「LD Q,0F0H」によって、Q’レジスタにF0hを設定し、3行目のコマンド「EX ALL」によって、サブレジスタ群726bからメインレジスタ群726aに切り換える。 234 is a diagram depicting an example of a command for setting a value in the Q' register; FIG. Here, the main CPU 500a sets F0h in the Q' register in the initialization process of the main process. However, as described above, the main CPU 500a can update the contents of the Q register of the main register group 726a, which is the current target register group, but can access the Q' register of the sub-register group 726b, which is another register group. Can not do it. Therefore, as shown in FIG. 234, the 8-bit registers (Q, A, F, B, C, D, E, H, L) and 16-bit 8-bit registers (Q', A', F', B', C', D', E', H', L') and 16-bit registers (IX, IY) in sub-register group 726b. Switch to register (IX', IY'). Then, the command "LD Q, 0F0H" on the second line sets F0h in the Q' register, and the command "EX ALL" on the third line switches from the sub-register group 726b to the main register group 726a.

図234に示したコマンド例の総コマンドサイズは、1行目のコマンド「EX ALL」2バイト+2行目のコマンド「LD Q,0F0H」1バイト+3行目のコマンド「EX ALL」2バイト=5バイトとなり、総実行サイクルは、1行目2サイクル+2行目1サイクル+3行目2サイクル=5サイクルとなる。 The total command size of the command example shown in FIG. 234 is: 1st line command "EX ALL" 2 bytes + 2nd line command "LD Q, 0F0H" 1 byte + 3rd line command "EX ALL" 2 bytes=5 Bytes, and the total execution cycle is 1st row 2 cycles + 2nd row 1 cycle + 3rd row 2 cycles = 5 cycles.

なお、ここでは、メインレジスタ群726aのQレジスタとサブレジスタ群726bのQ’レジスタとの切り換えに、コマンド「EX ALL」を用いる例を挙げて説明したが、かかる場合に限らず、Qレジスタ同士を切り換えれば足り、例えば、コマンド「EX Q,Q’」を用いてもよい。なお、コマンド「EX Q,Q’」のコマンドサイズは2バイトで、サイクルは2サイクルなので、コマンド「EX ALL」と置換したとしても総コマンドサイズおよび総実行サイクルは変わらない。 Here, an example in which the command "EX ALL" is used to switch between the Q register of the main register group 726a and the Q' register of the sub-register group 726b has been described. , for example, the command "EX Q, Q'" may be used. Since the command size of the command "EX Q, Q'" is 2 bytes and the cycle is 2 cycles, even if it is replaced with the command "EX ALL", the total command size and the total execution cycle will not change.

このようなQ’レジスタを参照するコマンド種別は、上記で例示したコマンド「LDQ」のみならず、多数あり、また、プログラムの中で繰り返し記述される。したがって、Q’レジスタを参照するコマンドを利用する度にコマンドサイズおよびサイクル数の削減効果が得られることとなる。このようなQ’レジスタを参照するコマンドの利用頻度の高さに伴い、Qレジスタの参照回数も多くなる。したがって、Q’レジスタの値は確実に設定されるべきである。そこで、Q’レジスタの設定を、メイン処理の初期化処理で1度のみ行うのに代えて、または、加えて、メイン処理のループ処理を通じて繰り返し行うことも考えられる。例えば、図234のコマンド群を図88~図97(スロットマシン400)のいずれかで行う。こうすることで、メイン処理のループ処理が実行される度にQ’レジスタにF0hを設定することができるので、仮に、Q’レジスタが初期値F1hになってしまうことがあったとしても、Q’レジスタの値を確実にF0hに設定することができ、Q’レジスタの値を安定的に維持することが可能となる。 Command types that refer to such a Q' register are not limited to the command "LDQ" exemplified above, and there are many others, and they are repeatedly described in the program. Therefore, every time a command that refers to the Q' register is used, the effect of reducing the command size and the number of cycles can be obtained. As the frequency of use of commands that refer to the Q' register increases, the number of times the Q register is referenced also increases. Therefore, the value of the Q' register should be set reliably. Therefore, instead of setting the Q' register only once in the initialization processing of the main processing, or in addition, it is conceivable to repeatedly set the Q' register throughout the loop processing of the main processing. For example, the command group in FIG. 234 is executed in any one of FIGS. 88 to 97 (slot machine 400). By doing so, F0h can be set in the Q' register each time the loop processing of the main processing is executed. The value of the ' register can be reliably set to F0h, and the value of the Q' register can be stably maintained.

ただし、Q’レジスタはタイマ割込み処理で利用するので、タイマ割込みを許可するまでにはQ’レジスタにF0hを設定する。 However, since the Q' register is used for timer interrupt processing, F0h is set in the Q' register before enabling the timer interrupt.

また、Q’レジスタの設定を、メイン処理の初期化処理で1度のみ行う、または、メイン処理のループ処理で繰り返し行うのに代えて、または、加えて、タイマ割込み処理を通じて繰り返し行うことも考えられる。こうすることで、タイマ割込みが生じる度に、Q’レジスタにF0hを設定することができるので、仮に、Q’レジスタが初期値F1hになってしまうことがあったとしても、Q’レジスタの値を確実にF0hに設定することができ、Q’レジスタの値を安定的に維持することが可能となる。以下、タイマ割込み処理を通じてQ’レジスタの設定を繰り返し行う例を詳述する。 It is also conceivable to set the Q' register only once in the initialization processing of the main processing, or to repeatedly set the Q' register through timer interrupt processing instead of or in addition to repeatedly setting it in the loop processing of the main processing. be done. By doing this, every time a timer interrupt occurs, F0h can be set in the Q' register. can be reliably set to F0h, and the value of the Q' register can be maintained stably. An example of repeatedly setting the Q' register through timer interrupt processing will be described in detail below.

図235は、Q’レジスタに値を設定するコマンドの一例を示した図である。ここでは、まず、Q’レジスタの設定に言及せず、図235(a)を用いて、通常のタイマ割込み処理を説明する。なお、タイマ割込み処理が発生するまで(メイン処理において)、メインCPU500aは、メインレジスタ群726aを対象としている。図235(a)の1行目の指標「TMR_IPT:」は、当該タイマ割込み処理の先頭アドレスを示す。2行目のコマンド「EX ALL」によって、メインレジスタ群726aにおける8ビットのレジスタ(Q、A、F、B、C、D、E、H、L)および16ビットのレジスタ(IX、IY)から、サブレジスタ群726bにおける8ビットのレジスタ(Q’、A’、F’、B’、C’、D’、E’、H’、L’)および16ビットのレジスタ(IX’、IY’)に切り換える。こうして、対象がサブレジスタ群726bとなる。そして、タイマ割込み処理で必要な処理を実行した後、5行目のコマンド「EX ALL」によって、サブレジスタ群726bからメインレジスタ群726aに切り換える。6行目のコマンド「EI」によって、割込が許可される。なお、ここでは、サブルーチンからメイン処理に戻る前にコマンド「EI」を行っても適切に割込が許可される。そして、7行目のコマンド「RETI」によって、メイン処理に戻る。 FIG. 235 is a diagram showing an example of commands for setting values in the Q' register. Here, first, normal timer interrupt processing will be described using FIG. 235(a) without referring to setting of the Q' register. Note that the main CPU 500a targets the main register group 726a until timer interrupt processing occurs (in the main processing). The index "TMR_IPT:" on the first line in FIG. 235(a) indicates the start address of the timer interrupt process. By the command "EX ALL" on the second line, from the 8-bit registers (Q, A, F, B, C, D, E, H, L) and 16-bit registers (IX, IY) , 8-bit registers (Q', A', F', B', C', D', E', H', L') and 16-bit registers (IX', IY') in sub-register group 726b switch to Thus, the object becomes the sub-register group 726b. Then, after executing necessary processing in the timer interrupt processing, the sub-register group 726b is switched to the main register group 726a by the command "EX ALL" on the fifth line. Interrupts are enabled by the command "EI" on line 6. Here, even if the command "EI" is issued before returning from the subroutine to the main process, the interrupt is appropriately permitted. Then, the command "RETI" on the 7th line returns to the main processing.

図235(a)に示したコマンドの総コマンドサイズは、2行目のコマンド「EX ALL」2バイト+5行目のコマンド「EX ALL」2バイト+6行目のコマンド「EI」1バイト+7行目のコマンド「RETI」2バイト=7バイトとなり、総実行サイクルは、2行目2サイクル+5行目2サイクル+6行目1サイクル+7行目4サイクル=9サイクルとなる。 The total command size of the commands shown in FIG. 235(a) is: 2 bytes of the command "EX ALL" on the 2nd line + 2 bytes of the command "EX ALL" on the 5th line + 1 byte of the command "EI" on the 6th line + 1 byte on the 7th line command "RETI" 2 bytes=7 bytes, and the total execution cycle is 2 cycles on the 2nd line+2 cycles on the 5th line+1 cycle on the 6th line+4 cycles on the 7th line=9 cycles.

ここで、図235(a)のタイマ割込み処理のいずれかのタイミングに、Q’レジスタを設定するコマンドを記述する。タイマ割込み処理でQ’レジスタの設定を行う場合、図235(b)のように、コマンド「EX ALL」の後に、コマンド「LD Q,0F0H」のみを記述すればよい。なお、タイマ割込み処理の場合、処理の最後(5行目)で、再度、コマンド「EX ALL」が実行され、メインレジスタ群726aに切り換わる。 Here, a command for setting the Q' register at any timing of the timer interrupt processing in FIG. 235(a) is described. When setting the Q' register in timer interrupt processing, only the command "LD Q, 0F0H" should be described after the command "EX ALL" as shown in FIG. 235(b). In the case of timer interrupt processing, the command "EX ALL" is executed again at the end of the processing (line 5) to switch to the main register group 726a.

なお、コマンド「LD Q,0F0H」の位置は、タイマ割込み処理内においてQ’レジスタを参照するコマンドより前でなければならない。したがって、図235(b)のように、2行目のコマンド「EX ALL」の直後とするとよい。なお、コマンド「EX ALL」の後に、Q’レジスタを参照するコマンド以外のコマンドを記述し、コマンド「LD Q,0F0H」を記述した後に、Q’レジスタを参照するコマンドを記述することでも実現できる。 Note that the position of the command "LD Q, 0F0H" must precede the command referring to the Q' register in the timer interrupt processing. Therefore, as shown in FIG. 235(b), it should be immediately after the command "EX ALL" on the second line. It is also possible to write a command other than a command referencing the Q' register after the command "EX ALL", and describe a command referencing the Q' register after describing the command "LD Q, 0F0H". .

図235(b)に示したコマンドの総コマンドサイズは、2行目のコマンド「EX ALL」2バイト+3行目のコマンド「LD Q,0F0H」1バイト+5行目のコマンド「EX ALL」2バイト+6行目のコマンド「EI」1バイト+7行目のコマンド「RETI」2バイト=8バイトとなり、総実行サイクルは、2行目2サイクル+3行目1サイクル+5行目2サイクル+6行目1サイクル+7行目4サイクル=10サイクルとなる。図235(a)と図235(b)とを比較して理解できるように、Q’レジスタの設定を追加しても、総コマンドサイズ=1バイト、総実行サイクル=1サイクルの増加に収まる。 The total command size of the commands shown in FIG. 235(b) is the command "EX ALL" 2 bytes on the 2nd line + the command "LD Q, 0F0H" 1 byte on the 3rd line + the command "EX ALL" 2 bytes on the 5th line. + 1 byte of the command "EI" on the 6th line + 2 bytes of the command "RETI" on the 7th line = 8 bytes. + 7th row 4 cycles = 10 cycles. As can be understood by comparing FIGS. 235(a) and 235(b), even if the setting of the Q' register is added, the total command size=1 byte and the total execution cycle=1 cycle increase.

図234を用いて説明したように、メイン処理の初期化処理でQ’レジスタの設定を行うと、総コマンドサイズ=5バイト、総実行サイクル=5サイクル必要となる。また、メイン処理のループ処理を通じて繰り返し行う場合も同様に、総コマンドサイズ=5バイト、総実行サイクル=5サイクル必要となる。これに対し、タイマ割込み処理でQ’レジスタの設定を行うと、コマンド「EX ALL」2個分の記述を省略できるので、総コマンドサイズ=1バイト、総実行サイクル=1サイクルの増加に留まる。したがって、Q’レジスタの設定をタイマ割込み処理のみで実行すると、少なくとも、メモリの増加を抑えることが可能となる。 As described with reference to FIG. 234, setting the Q' register in the initialization process of the main process requires a total command size of 5 bytes and a total execution cycle of 5 cycles. Likewise, when repeating through the loop processing of the main processing, total command size=5 bytes and total execution cycle=5 cycles are required. On the other hand, if the Q' register is set in the timer interrupt processing, the description of two commands "EX ALL" can be omitted, so the total command size=1 byte and the total execution cycle=1 cycle increase. Therefore, if the setting of the Q' register is executed only by the timer interrupt processing, at least the memory increase can be suppressed.

(第2の実施形態)
続いて、メイン処理にサブレジスタ群726bを対応させ、タイマ割込み処理にメインレジスタ群726aを対応させた例を説明する。したがって、メインCPU500aは、まず、メインレジスタ群726aからサブレジスタ群726bに切り換え、サブレジスタ群726bを参照してメイン処理を実行し、タイマ割込みが生じた場合に、メイン処理を中断し、一旦、サブレジスタ群726bからメインレジスタ群726aに切り換えてタイマ割込み処理を実行し、タイマ割込み処理が終了すると、メインレジスタ群726aからサブレジスタ群726bに切り換えて、メイン処理を再開する。
(Second embodiment)
Next, an example in which the sub-register group 726b is associated with main processing and the main register group 726a is associated with timer interrupt processing will be described. Therefore, the main CPU 500a first switches from the main register group 726a to the sub-register group 726b, executes main processing with reference to the sub-register group 726b, and interrupts the main processing when a timer interrupt occurs. The sub-register group 726b is switched to the main register group 726a to execute the timer interrupt processing, and when the timer interrupt processing ends, the main register group 726a is switched to the sub-register group 726b to restart the main processing.

また、ここでも、メインレジスタ群726aのQレジスタは、初期値がF0hとなっているので、さらに別の値を設定する必要はなく、サブレジスタ群726bのQ’レジスタのみF0hに書き替える。なお、上述したように、Q’レジスタを参照するコマンドが用いられる前に設定する必要がある。そこで、例えば、メイン処理の初期化処理(例えば、図82のCPU初期化処理)において、Q’レジスタを初期化することが考えられる。 Again, since the initial value of the Q register of the main register group 726a is F0h, there is no need to set another value, and only the Q' register of the sub-register group 726b is rewritten to F0h. Note that, as mentioned above, it must be set before any command that references the Q' register is used. Therefore, for example, it is conceivable to initialize the Q' register in the initialization processing of the main processing (for example, the CPU initialization processing in FIG. 82).

図236は、Q’レジスタに値を設定するコマンドの一例を示した図である。ここで、メインCPU500aは、メイン処理の初期化処理において、Q’レジスタにF0hを設定する。ただし、上述したように、メインCPU500aは、現在対象としているレジスタ群であるメインレジスタ群726aのQレジスタの内容は更新できるが、他のレジスタ群であるサブレジスタ群726bのQ’レジスタにはアクセスすることができない。そこで、図234同様、図236のように、1行目のコマンド「EX ALL」によって、メインレジスタ群726aにおける8ビットのレジスタ(Q、A、F、B、C、D、E、H、L)および16ビットのレジスタ(IX、IY)から、サブレジスタ群726bにおける8ビットのレジスタ(Q’、A’、F’、B’、C’、D’、E’、H’、L’)および16ビットのレジスタ(IX’、IY’)に切り換える。 FIG. 236 is a diagram showing an example of a command for setting a value in the Q' register. Here, the main CPU 500a sets F0h in the Q' register in the initialization process of the main process. However, as described above, the main CPU 500a can update the contents of the Q register of the main register group 726a, which is the current target register group, but can access the Q' register of the sub-register group 726b, which is another register group. Can not do it. Therefore, as in FIG. 234, as in FIG. 236, the 8-bit registers (Q, A, F, B, C, D, E, H, L ) and 16-bit registers (IX, IY) to 8-bit registers (Q', A', F', B', C', D', E', H', L') in sub-register group 726b. and 16-bit registers (IX', IY').

そして、2行目のコマンド「LD Q,0F0H」によって、Q’レジスタにF0hを設定する。以降は、サブレジスタ群726bが参照されてメイン処理が行われることとなる。 Then, F0h is set in the Q' register by the command "LD Q, 0F0H" on the second line. After that, the sub-register group 726b is referred to and the main processing is performed.

図236に示したコマンドの総コマンドサイズは、1行目のコマンド「EX ALL」2バイト+2行目のコマンド「LD Q,0F0H」1バイト=3バイトとなり、総実行サイクルは、1行目2サイクル+2行目1サイクル=3サイクルとなる。 The total command size of the commands shown in FIG. 236 is 2 bytes of the command "EX ALL" on the 1st line + 1 byte of the command "LD Q, 0F0H" on the 2nd line=3 bytes, and the total execution cycle is 2 bytes on the 1st line. Cycle+2nd row 1 cycle=3 cycles.

図234を用いて説明したように、メイン処理にメインレジスタ群726aを対応させ、タイマ割込み処理にサブレジスタ群726bを対応させた上で、メイン処理の初期化処理でQ’レジスタの設定を行うと、総コマンドサイズ=5バイト、総実行サイクル=5サイクル必要となる。また、メイン処理のループ処理を通じて繰り返しQ’レジスタの設定を行う場合も同様に、総コマンドサイズ=5バイト、総実行サイクル=5サイクル必要となる。これに対し、メイン処理にサブレジスタ群726bを対応させ、タイマ割込み処理にメインレジスタ群726aを対応させ、メイン処理の初期化処理でQ’レジスタの設定を行うと、コマンド「EX ALL」1個分の記述を省略できるので、総コマンドサイズ=3バイト、総実行サイクル=3サイクルの増加に抑えることができる。 As described with reference to FIG. 234, after the main register group 726a is associated with the main process and the sub-register group 726b is associated with the timer interrupt process, the Q' register is set in the initialization process of the main process. , total command size=5 bytes and total execution cycle=5 cycles are required. Similarly, when setting the Q' register repeatedly through the loop processing of the main processing, the total command size=5 bytes and the total execution cycle=5 cycles are required. On the other hand, when the sub-register group 726b is associated with the main process, the main register group 726a is associated with the timer interrupt process, and the Q' register is set in the initialization process of the main process, one command "EX ALL" is executed. Since the description of minutes can be omitted, the increase in total command size=3 bytes and total execution cycle=3 cycles can be suppressed.

また、上述したように、Q’レジスタは利用頻度が高いので、Q’レジスタの値は確実に設定されるべきである。そこで、Q’レジスタの設定を、メイン処理の初期化処理で1度のみ行うのに代えて、または、加えて、メイン処理のループ処理を通じて繰り返し行うことも考えられる。例えば、図236のコマンド群のうち、1行目のコマンド「EX ALL」のみをメイン処理の初期化処理で行い、図236のコマンド群のうち、2行目のコマンド「LD Q,0F0H」を、図88~図97(スロットマシン400)のいずれかで行う。こうすることで、メイン処理のループ処理に応じて、毎回、Q’レジスタにF0hを設定することができるので、仮に、Q’レジスタが初期値F1hになってしまうことがあったとしても、Q’レジスタの値を確実にF0hに設定することができ、Q’レジスタの値を安定的に維持することが可能となる。 Also, as described above, the Q' register is used frequently, so the value of the Q' register should be set reliably. Therefore, instead of setting the Q' register only once in the initialization processing of the main processing, or in addition, it is conceivable to repeatedly set the Q' register throughout the loop processing of the main processing. For example, only the command "EX ALL" on the first line of the command group in FIG. , 88 to 97 (slot machine 400). By doing this, F0h can be set in the Q' register each time according to the loop processing of the main processing. The value of the ' register can be reliably set to F0h, and the value of the Q' register can be stably maintained.

ただし、メイン処理においてQ’レジスタを参照するコマンドを利用するので、Q’レジスタを参照するコマンドを利用するまでにQ’レジスタにF0hを設定する。 However, since a command that refers to the Q' register is used in the main processing, F0h is set in the Q' register before using the command that refers to the Q' register.

また、Q’レジスタの設定を、メイン処理の初期化処理で1度のみ行う、または、メイン処理のループ処理で繰り返し行うのに代えて、または、加えて、タイマ割込み処理を通じて繰り返し行うことも考えられる。こうすることで、タイマ割込みが生じる度に、Q’レジスタにF0hを設定することができるので、仮に、Q’レジスタが初期値F1hになってしまうことがあったとしても、Q’レジスタの値を確実にF0hに設定することができ、Q’レジスタの値を安定的に維持することが可能となる。 It is also conceivable to set the Q' register only once in the initialization processing of the main processing, or to repeatedly set the Q' register through timer interrupt processing instead of or in addition to repeatedly setting it in the loop processing of the main processing. be done. By doing this, every time a timer interrupt occurs, F0h can be set in the Q' register. can be reliably set to F0h, and the value of the Q' register can be maintained stably.

図237は、Q’レジスタに値を設定するコマンドの一例を示した図である。ここでは、タイマ割込み処理でQ’レジスタの設定を行う。なお、タイマ割込み処理が発生するまで(メイン処理において)、メインCPU500aは、サブレジスタ群726bを対象としている。具体的に、図237の1行目の指標「TMR_IPT:」は、当該タイマ割込み処理の先頭アドレスを示す。2行目のコマンド「LD Q,0F0H」によって、Q’レジスタにF0hを設定する。そして、メイン処理で用いていたレジスタの値を退避するため、3行目のコマンド「EX ALL」によって、サブレジスタ群726bにおける8ビットのレジスタ(Q’、A’、F’、B’、C’、D’、E’、H’、L’)および16ビットのレジスタ(IX’、IY’)から、メインレジスタ群726aにおける8ビットのレジスタ(Q、A、F、B、C、D、E、H、L)と、16ビットのレジスタ(IX、IY)に切り換える。こうして、対象がメインレジスタ群726aとなる。続いて、タイマ割込み処理で必要な処理を実行した後、5行目のコマンド「EX ALL」によって、メインレジスタ群726aからサブレジスタ群726bに切り換える。6行目のコマンド「EI」によって、割込が許可される。なお、ここでは、サブルーチンからメイン処理に戻る前にコマンド「EI」を行っても適切に割込が許可される。そして、7行目のコマンド「RETI」によって、メイン処理に戻る。 FIG. 237 is a diagram showing an example of commands for setting values in the Q' register. Here, the Q' register is set in timer interrupt processing. Note that the main CPU 500a targets the sub-register group 726b until timer interrupt processing occurs (in the main processing). Specifically, the index "TMR_IPT:" on the first line in FIG. 237 indicates the start address of the timer interrupt process. F0h is set in the Q' register by the command "LD Q, 0F0H" on the second line. Then, in order to save the values of the registers used in the main process, the 8-bit registers (Q', A', F', B', C ', D', E', H', L') and 16-bit registers (IX', IY') to the 8-bit registers (Q, A, F, B, C, D, E, H, L) and 16-bit registers (IX, IY). Thus, the object becomes the main register group 726a. Subsequently, after executing necessary processing in the timer interrupt processing, the main register group 726a is switched to the sub-register group 726b by the command "EX ALL" on the fifth line. Interrupts are enabled by the command "EI" on line 6. Here, even if the command "EI" is issued before returning from the subroutine to the main process, the interrupt is appropriately permitted. Then, the command "RETI" on the 7th line returns to the main processing.

図237に示したコマンドの総コマンドサイズは、2行目のコマンド「LD Q,0F0H」1バイト+3行目のコマンド「EX ALL」2バイト+5行目のコマンド「EX ALL」2バイト+6行目のコマンド「EI」1バイト+7行目のコマンド「RETI」2バイト=8バイトとなり、総実行サイクルは、2行目1サイクル+3行目2サイクル+5行目2サイクル+6行目1サイクル+7行目4サイクル=10サイクルとなる。 The total command size of the commands shown in FIG. command "EI" 1 byte + command "RETI" 2 bytes on the 7th line = 8 bytes. 4 cycles=10 cycles.

なお、コマンド「LD Q,0F0H」の位置は、タイマ割込み処理内においてコマンド「EX ALL」が実行されるより前でなければならない。したがって、3行目のコマンド「EX ALL」の直前とするとよい。 The command "LD Q, 0F0H" must be placed before the command "EX ALL" is executed in the timer interrupt processing. Therefore, it should be immediately before the command "EX ALL" on the third line.

ここでは、メイン処理にサブレジスタ群726bを対応させ、タイマ割込み処理にメインレジスタ群726aを対応させた上で、Q’レジスタの設定を、メイン処理の初期化処理で1度のみ行う、メイン処理のループ処理を通じて繰り返し行う、または、タイマ割込み処理を通じて繰り返し行っている。いずれの場合においても、メイン処理にメインレジスタ群726aを対応させ、タイマ割込み処理にサブレジスタ群726bを対応させて、メイン処理の初期化処理でQ’レジスタの設定を行う場合に比べ、コマンド「EX ALL」1個分の記述を省略できるので、総コマンドサイズ=3バイト、総実行サイクル=3サイクルの増加に留めつつ、仮に、Q’レジスタが初期値F1hになってしまうことがあったとしても、Q’レジスタの値を確実にF0hに設定することができ、Q’レジスタの値を安定的に維持することが可能となる。 Here, the sub-register group 726b is associated with the main process, the main register group 726a is associated with the timer interrupt process, and the Q' register is set only once in the initialization process of the main process. or through timer interrupt processing. In either case, the command " EX ALL" can be omitted, so if the Q' register becomes the initial value F1h while keeping the total command size = 3 bytes and the total execution cycle = 3 cycles increase, Also, the value of the Q' register can be reliably set to F0h, and the value of the Q' register can be stably maintained.

<レジスタ群の切り換え>
ところで、メイン処理の実行中にタイマ割込みが発生すると、その割込みタイミングにおいてレジスタがどのような値となっているかに拘わらず、タイマ割込み処理においても継続してレジスタが利用される。したがって、タイマ割込みが生じた場合に、その割込みタイミングにおけるレジスタの内容を別途保持する必要がある。例えば、タイマ割込み処理からメイン処理に戻ったときにメイン処理をスムーズに再開するため、割込みタイミングにおけるレジスタの内容を、退避コマンドを用いてメインRAM500cのスタック領域に退避しなければならない。しかし、退避コマンドは、退避すべきレジスタの数に応じて多くなり、コマンドサイズのみならず、サイクル数も増える。
<Switching register groups>
By the way, if a timer interrupt occurs during execution of the main process, the timer interrupt process continues to use the register regardless of what the value of the register is at the time of the interrupt. Therefore, when a timer interrupt occurs, it is necessary to separately hold the contents of the register at the interrupt timing. For example, in order to smoothly resume the main processing when returning to the main processing from the timer interrupt processing, the contents of the registers at the interrupt timing must be saved in the stack area of the main RAM 500c using a save command. However, the number of save commands increases according to the number of registers to be saved, and not only the command size but also the number of cycles increases.

本実施形態では、上述したように、コマンド「EX ALL」によって、メインレジスタ群726aにおける8ビットのレジスタ(Q、A、F、B、C、D、E、H、L)および16ビットのレジスタ(IX、IY)と、サブレジスタ群726bにおける8ビットのレジスタ(Q’、A’、F’、B’、C’、D’、E’、H’、L’)および16ビットのレジスタ(IX’、IY’)とを切り換えている。かかるコマンドでは、メイン処理とタイマ割込み処理との切り換えにおいて、対象となるレジスタ群を一度に退避するとともに、退避していた他のレジスタ群を一度に復帰させることができる。かかるコマンド「EX ALL」は、コマンドサイズが2バイトに抑えられ、サイクル数も2サイクルしか要さない。 In this embodiment, as described above, the 8-bit registers (Q, A, F, B, C, D, E, H, L) and 16-bit registers in the main register group 726a are activated by the command "EX ALL". (IX, IY) and 8-bit registers (Q', A', F', B', C', D', E', H', L') and 16-bit registers ( IX', IY'). With such a command, when switching between main processing and timer interrupt processing, the target register group can be saved at once, and other saved register groups can be restored at once. Such a command "EX ALL" has a command size of 2 bytes and requires only 2 cycles.

また、コマンド「CALLEX mn」、コマンド「RETEX」によって、メインレジスタ群726aおよびサブレジスタ群726bを含むレジスタバンク単位で、第1レジスタバンク726と第2レジスタバンク728とを切り換えている。かかるコマンドでは、対象となるレジスタバンクを一度に退避するとともに、退避していた他のレジスタバンクを一度に復帰させることができる。かかるコマンド「CALLEX mn」は、アドレスmnを2000h~20FFhに限定すればコマンドサイズが2バイトに抑えられ、サイクル数も4サイクルしか要さない。コマンド「RETEX」は、コマンドサイズが2バイトに抑えられ、サイクル数も5サイクルしか要さない。以下、このような切換コマンドを第1の実施形態および第2の実施形態に当て嵌めて説明する。 In addition, the first register bank 726 and the second register bank 728 are switched in register bank units including the main register group 726a and the sub-register group 726b by the command "CALLEX mn" and the command "RETEX". With such a command, the target register bank can be saved at once, and other saved register banks can be restored at once. If the address mn is limited to 2000h to 20FFh, the command size of the command "CALLEX mn" can be suppressed to 2 bytes, and the number of cycles required is only 4 cycles. The command "RETEX" has a command size of 2 bytes and requires only 5 cycles. Hereinafter, such a switching command will be described by applying it to the first embodiment and the second embodiment.

図238は、レジスタバンクおよびレジスタ群の遷移を説明するための図である。上述したように、メイン処理にメインレジスタ群726aを対応させ、タイマ割込み処理にサブレジスタ群726bを対応させた例(第1の実施形態)において、メインCPU500aは、メインレジスタ群726aを参照してメイン処理を順次実行し、タイマ割込みが生じた場合に、メイン処理を中断し、コマンド「EX ALL」により、一旦、メインレジスタ群726aからサブレジスタ群726bに切り換えて(1)、タイマ割込み処理を実行し、タイマ割込み処理が終了すると、コマンド「EX ALL」により、サブレジスタ群726bからメインレジスタ群726aに切り換えて(2)、メイン処理を再開する。また、メインCPU500aは、遊技制御処理における所定のタイミングで、コマンド「CALLEX mn」により、第1レジスタバンク726から第2レジスタバンク728に切り換えて(3)、遊技制御外処理を実行し、遊技制御外処理が完了すると、コマンド「RETEX」により、第2レジスタバンク728から第1レジスタバンク726に切り換えて(4)、遊技制御処理を再開する。 FIG. 238 is a diagram for explaining transition of register banks and register groups. As described above, in the example (first embodiment) in which the main register group 726a corresponds to the main process and the sub-register group 726b corresponds to the timer interrupt process, the main CPU 500a refers to the main register group 726a. The main processing is executed sequentially, and when a timer interrupt occurs, the main processing is interrupted, and the command "EX ALL" is used to temporarily switch from the main register group 726a to the sub-register group 726b (1), and the timer interrupt processing is executed. When the timer interrupt processing is completed, the sub-register group 726b is switched to the main register group 726a by the command "EX ALL" (2), and the main processing is restarted. In addition, the main CPU 500a switches from the first register bank 726 to the second register bank 728 by the command "CALLEX mn" at a predetermined timing in the game control process (3), executes the process outside the game control, and executes the game control process. When the outside process is completed, the second register bank 728 is switched to the first register bank 726 by the command "RETEX" (4), and the game control process is resumed.

また、メイン処理にサブレジスタ群726bを対応させ、タイマ割込み処理にメインレジスタ群726aを対応させた例(第2の実施形態)において、メインCPU500aは、まず、コマンド「EX ALL」により、メインレジスタ群726aからサブレジスタ群726bに切り換え(1)、サブレジスタ群726bを参照してメイン処理を実行し、タイマ割込みが生じた場合に、メイン処理を中断し、コマンド「EX ALL」により、一旦、サブレジスタ群726bからメインレジスタ群726aに切り換えて(2)、タイマ割込み処理を実行し、タイマ割込み処理が終了すると、コマンド「EX ALL」により、メインレジスタ群726aからサブレジスタ群726bに切り換えて(1)、メイン処理を再開する。また、メインCPU500aは、遊技制御処理における所定のタイミングで、コマンド「CALLEX mn」により、第1レジスタバンク726から第2レジスタバンク728に切り換えて(3)、遊技制御外処理を実行し、遊技制御外処理が完了すると、コマンド「RETEX」により、第2レジスタバンク728から第1レジスタバンク726に切り換えて(4)、遊技制御処理を再開する。 In the example (second embodiment) in which the sub-register group 726b is associated with the main process and the main register group 726a is associated with the timer interrupt process, the main CPU 500a first executes the command "EX ALL" to set the main register Switch (1) from the group 726a to the group of sub-registers 726b, refer to the group of sub-registers 726b to execute the main processing, interrupt the main processing when a timer interrupt occurs, and temporarily execute the command "EX ALL". The sub-register group 726b is switched to the main register group 726a (2), timer interrupt processing is executed, and when the timer interrupt processing ends, the main register group 726a is switched to the sub-register group 726b by the command "EX ALL" ( 1) Resume the main process. In addition, the main CPU 500a switches from the first register bank 726 to the second register bank 728 by the command "CALLEX mn" at a predetermined timing in the game control process (3), executes the process outside the game control, and executes the game control process. When the outside process is completed, the second register bank 728 is switched to the first register bank 726 by the command "RETEX" (4), and the game control process is restarted.

このように、2つのレジスタバンクについて、第1レジスタバンク726は使用領域に対応させ、第2レジスタバンク728は別領域に対応させ、第1レジスタバンク726のメインレジスタ群726aおよびサブレジスタ群726bの一方をメイン処理に対応させ、他方をタイマ割込み処理に対応させることで、各領域の独立性、排他性を担保することができる。また、これらの切換とともに、切換コマンドを用いて、少なくともレジスタ群全体を一体的に切り換えることで、各領域の独立性、排他性を確保しつつ、コマンドサイズやサイクル数を削減することが可能となる。なお、ここでは、図238を用いて説明したように、第1レジスタバンク726のメインレジスタ群726aおよびサブレジスタ群726bの一方をメイン処理に対応させ、他方をタイマ割込み処理に対応させ、第2レジスタバンク728のメインレジスタ群728aおよびサブレジスタ群728bの一方もしくは両方を遊技制御外処理に対応させる例を挙げて説明したが、例えば、メイン処理、タイマ割込み処理、遊技制御外処理に対応させるレジスタバンクおよびレジスタ群は、任意に設定することができる。例えば、第2レジスタバンク728のメインレジスタ群728aおよびサブレジスタ群728bの一方をメイン処理に対応させ、他方をタイマ割込み処理に対応させ、第1レジスタバンク726のメインレジスタ群726aおよびサブレジスタ群726bの一方もしくは両方を遊技制御外処理に対応させたり、第1レジスタバンク726のメインレジスタ群726aをメイン処理に対応させ、第2レジスタバンク728のメインレジスタ群728aをタイマ割込み処理に対応させ、第1レジスタバンク726のサブレジスタ群726bおよび第2レジスタバンク728のサブレジスタ群728bの一方もしくは両方を遊技制御外処理に対応させるとしてもよい。 Thus, with respect to the two register banks, the first register bank 726 corresponds to the used area, the second register bank 728 corresponds to another area, and the main register group 726a and sub-register group 726b of the first register bank 726 By making one of them correspond to main processing and the other to timer interrupt processing, the independence and exclusivity of each area can be ensured. In addition to these switching, by using a switching command to switch at least the entire register group integrally, it is possible to reduce the command size and the number of cycles while ensuring the independence and exclusivity of each area. . Here, as described with reference to FIG. 238, one of the main register group 726a and the sub-register group 726b of the first register bank 726 is associated with main processing, the other is associated with timer interrupt processing, and the second One or both of the main register group 728a and sub-register group 728b of the register bank 728 have been explained with an example corresponding to the game control outside process, for example, the main process, the timer interrupt process, the register corresponding to the game control outside process Banks and register groups can be set arbitrarily. For example, one of the main register group 728a and the sub-register group 728b of the second register bank 728 corresponds to main processing, the other corresponds to timer interrupt processing, and the main register group 726a and the sub-register group 726b of the first register bank 726 correspond to the main processing. One or both of the corresponding to the processing outside the game control, the main register group 726a of the first register bank 726 to correspond to the main processing, the main register group 728a of the second register bank 728 to correspond to the timer interrupt processing, One or both of the sub-register group 726b of the first register bank 726 and the sub-register group 728b of the second register bank 728 may be made to correspond to non-game control processing.

続いて、メインCPU500aの電源が断たれた場合について説明する。メインCPU500aは、メイン処理を実行している間に電源が断たれると、メイン処理に対応するレジスタバンクのレジスタ群(第1レジスタバンク726のメインレジスタ群726aまたはサブレジスタ群726b)を、コマンド「PUSH」(例えば、コマンド「PUSH ALL」)等を通じて、メインRAM500cのスタック領域に退避させ、その後、例えば、図97に示した電源断時退避処理を行う。 Next, a case where the main CPU 500a is powered off will be described. When the main CPU 500a is powered off while executing the main process, the main CPU 500a restores the register group of the register bank corresponding to the main process (the main register group 726a or the sub-register group 726b of the first register bank 726) to the command It saves to the stack area of the main RAM 500c through "PUSH" (for example, command "PUSH ALL") or the like, and then, for example, performs the save processing at power failure shown in FIG.

ここでは、メイン処理に対応するレジスタ群(メインレジスタ群726aまたはサブレジスタ群726b)を退避させているが、タイマ割込み処理や遊技制御外処理に対応するレジスタ群の退避を割愛している。かかるタイマ割込み処理に対応するレジスタ群には、タイマ割込み処理が開始された後、必要な情報が設定され、すなわち、メイン処理からレジスタの内容が引き継がれることなく、タイマ割込み処理内でのみ参照され、タイマ割込み処理が終了すると、そのレジスタの内容は不要となる。同様に、遊技制御外処理に対応するレジスタ群には、遊技制御外処理が開始された後、必要な情報が設定され、すなわち、遊技制御処理からレジスタの内容が引き継がれることなく、遊技制御外処理内でのみ参照され、遊技制御外処理が終了すると、そのレジスタの内容は不要となる。したがって、タイマ割込み処理や遊技制御外処理に対応するレジスタ群を退避させなくても問題ない。 Here, the register group (main register group 726a or sub-register group 726b) corresponding to the main process is saved, but the saving of the register group corresponding to the timer interrupt process and the non-game control process is omitted. Necessary information is set in a group of registers corresponding to such timer interrupt processing after the timer interrupt processing is started. , when the timer interrupt processing ends, the contents of the register become unnecessary. Similarly, in the register group corresponding to the game control outside process, after the game control outside process is started, the necessary information is set, that is, without taking over the contents of the register from the game control process, outside the game control It is referenced only within the process, and when the process outside the game control ends, the contents of the register become unnecessary. Therefore, there is no problem even if the register group corresponding to the timer interrupt process and the process outside the game control is not saved.

また、メイン処理中ではなく、タイマ割込み処理中や遊技制御外処理中に電源が断たれると、以下のように処理が遂行される。タイマ割込み処理は、電源断による割込みより優先されている。すなわち、タイマ割込み処理中に電源断の割込みが生じたとしても、電源断時退避処理は即座に実行されず、タイマ割込み処理が終了してはじめて実行される。換言すれば、電源断時退避処理が開始するタイミングでは、タイマ割込み処理が完了している。なお、タイマ割込み処理は、上記のように、タイマ割込み処理内でのみ参照され、タイマ割込み処理が終了すると、そのレジスタの内容は不要となる。したがって、タイマ割込み処理中に電源断になったとしても、電源断時退避処理が開始するタイミングでは、タイマ割込み処理にかかるレジスタの内容を退避する必要がなくなるので問題は生じない。同様に、遊技制御外処理は、電源断による割込みより優先されている。すなわち、遊技制御外処理中に電源断の割込みが生じたとしても、電源断時退避処理は即座に実行されず、遊技制御外処理が終了してはじめて実行される。換言すれば、電源断時退避処理が開始するタイミングでは、タイマ割込み処理が完了している。なお、遊技制御外処理は、上記のように、遊技制御外処理内でのみ参照され、遊技制御外処理が終了すると、そのレジスタの内容は不要となる。したがって、遊技制御外処理中に電源断になったとしても、電源断時退避処理が開始するタイミングでは、遊技制御外処理にかかるレジスタの内容を退避する必要がなくなるので問題が生じない。 In addition, when the power is turned off during timer interrupt processing or non-game control processing, not during main processing, processing is performed as follows. Timer interrupt processing has priority over interrupts due to power failure. That is, even if a power-off interrupt occurs during timer interrupt processing, the save processing at power-off is not executed immediately, and is executed only after the timer interrupt processing ends. In other words, the timer interrupt process is completed at the timing when the power-off save process starts. As described above, the timer interrupt processing is referenced only within the timer interrupt processing, and when the timer interrupt processing ends, the contents of the register become unnecessary. Therefore, even if the power is turned off during timer interrupt processing, there is no need to save the contents of the registers related to timer interrupt processing at the timing when the power-off save processing is started. Similarly, non-game control processing has priority over interrupts due to power off. That is, even if a power-off interrupt occurs during the game-control outside process, the power-off saving process is not immediately executed, and is executed only after the game-control outside process is completed. In other words, the timer interrupt process is completed at the timing when the power-off save process starts. It should be noted that, as described above, the process outside the game control is referred to only within the process outside the game control, and when the process outside the game control ends, the contents of the register become unnecessary. Therefore, even if the power is turned off during the process outside the game control, there is no need to save the contents of the register related to the process outside the game control at the timing when the save process at the time of power loss starts, so there is no problem.

なお、電源断によって、電源断時のレジスタバンクおよびレジスタ群の情報は消去される。そして、電源断の後、電源復帰すると、レジスタバンクおよびレジスタ群は、初期値である第1レジスタバンク726およびそのメインレジスタ群726aが設定される。したがって、電源復帰すると最初に実行される処理をメイン処理とし、そのメイン処理に、第1レジスタバンク726およびそのメインレジスタ群726aを対応させている。こうして、電源復帰後は、メイン処理から開始されることとなる。ここでは、電源断時に、第1レジスタバンク726およびそのメインレジスタ群726aを退避させているので、メイン処理を安定かつ確実に遂行することが可能となる。 Note that information in the register bank and the register group at the time of power-off is erased by power-off. When the power is restored after being turned off, the first register bank 726 and its main register group 726a, which are initial values, are set in the register bank and register group. Therefore, the processing that is executed first when the power is restored is the main processing, and the first register bank 726 and its main register group 726a correspond to the main processing. Thus, after the power is restored, the main processing is started. Here, since the first register bank 726 and its main register group 726a are saved when the power is turned off, the main processing can be performed stably and reliably.

上述した実施形態では、第1のレジスタ群をメインレジスタ群とし、第1レジスタをQレジスタとし、第1の値をF0hとし、第2のレジスタ群をサブレジスタ群とし、第2レジスタをQ’レジスタとし、第2の値をF0hとする例を挙げて説明したが、かかる場合に限らず、第1のレジスタ群をサブレジスタ群とし、第1レジスタをQ’レジスタとし、第1の値をF1hとし、第2のレジスタ群をメインレジスタ群とし、第2レジスタをQレジスタとし、第2の値をF1hとしてもよい。かかる構成では、メインレジスタ群のQレジスタにF1hを書き替えることとなる。また、上述した実施形態では、第1のレジスタバンクを第1レジスタバンク726とし、第2のレジスタバンクを第2レジスタバンク728とする例を挙げて説明したが、かかる場合に限らず、第1のレジスタバンクを第2レジスタバンク728とし、第2のレジスタバンクを第1レジスタバンク726としてもよい。 In the embodiment described above, the first register group is the main register group, the first register is the Q register, the first value is F0h, the second register group is the sub-register group, and the second register is Q' Although the example has been described in which the registers are used and the second value is F0h, the present invention is not limited to such a case. F1h, the second register group is the main register group, the second register is the Q register, and the second value is F1h. In such a configuration, F1h is rewritten in the Q register of the main register group. Further, in the above-described embodiment, an example in which the first register bank is the first register bank 726 and the second register bank is the second register bank 728 has been described. The second register bank may be the second register bank 728 and the second register bank may be the first register bank 726 .

<レジスタのアクセス方式>
ところで、従来のマイクロプロセッサでは、メインROM500bおよびメインRAM500cが割り当てられたアドレス空間(メモリ空間)と、入出力部704(入出力部704に対応するデバイス)が割り当てられたアドレス空間(I/O空間)とが独立して管理されていた。ここで、メインROM500bおよびメインRAM500cが割り当てられたメモリ空間をメモリマップと言う場合があり、入出力部704が割り当てられたI/O空間をI/Oマップという場合がある。
<Register access method>
By the way, in a conventional microprocessor, an address space (memory space) to which the main ROM 500b and the main RAM 500c are allocated, and an address space (I/O space) to which the input/output unit 704 (device corresponding to the input/output unit 704) is allocated. ) and were independently managed. Here, the memory space to which the main ROM 500b and the main RAM 500c are allocated may be called a memory map, and the I/O space to which the input/output unit 704 is allocated may be called an I/O map.

従来のマイクロプロセッサは、メモリ空間およびI/O空間それぞれに対し、専用の命令を使用してアクセスしなければならなかった。例えば、従来のマイクロプロセッサが、メインROM500bおよびメインRAM500cのメモリ空間専用の命令を使用すると、メモリリクエスト(MREQ)端子がイネーブル(有効)になることでメインROM500bやメインRAM500cへのアクセスが可能となる。また、従来のマイクロプロセッサが、入出力部704のI/O空間専用の命令を使用すると、I/Oリクエスト(IORQ)端子がイネーブル(有効)になることで入出力部704へのアクセスが可能となる。したがって、従来のマイクロプロセッサは、アクセスする対象が、メインROM500bやメインRAM500cであるか、入出力部704であるかに応じて、使用する命令を変えなければならなかった。ここで、従来のマイクロプロセッサが、入出力部704(デバイス)にアクセスするために設けられたアクセス方式をI/OマップドI/O方式と言う。かかるI/OマップドI/O方式に基づくコマンドにより、メインCPU500aは、入出力部704からレジスタに情報を読み出したり、レジスタから入出力部704に情報を書き込むことができる。 Conventional microprocessors have had to access memory space and I/O space using dedicated instructions. For example, when a conventional microprocessor uses instructions dedicated to the memory space of the main ROM 500b and main RAM 500c, access to the main ROM 500b and main RAM 500c becomes possible by enabling the memory request (MREQ) terminal. . Also, when a conventional microprocessor uses an instruction dedicated to the I/O space of the input/output unit 704, the input/output unit 704 can be accessed by enabling the I/O request (IORQ) terminal. becomes. Therefore, conventional microprocessors have had to change the instructions to be used depending on whether the object to be accessed is the main ROM 500 b or main RAM 500 c or the input/output unit 704 . Here, an access method provided for a conventional microprocessor to access the input/output unit 704 (device) is called an I/O mapped I/O method. The main CPU 500a can read information from the input/output unit 704 to the register and write information from the register to the input/output unit 704 by commands based on the I/O mapped I/O method.

しかし、上述したように、本実施形態では、入出力部704のアドレス空間と、メインROM500bおよびメインRAM500cのアドレス空間とを一体化し、メモリ空間のFE00h~FFFFhに入出力部704を割り当てている。そのため、I/O空間という概念がなく、メインCPU500aは、メモリ空間のFE00h~FFFFhに割り当てられた入出力部704に、メモリ空間専用の命令を利用することでアクセスすることができる。ここで、メインCPU(プロセッサ)500aが、メインROM(記憶手段)500bやメインRAM(記憶手段)500cにアクセスするために設けられたアクセス方式をメモリマップドI/O方式と言う。かかるメモリマップドI/O方式に基づくコマンドにより、メインCPU500aは、入出力部704からレジスタに情報を読み出したり、レジスタから入出力部704に情報を書き込むことができる。 However, as described above, in this embodiment, the address space of the input/output unit 704 is integrated with the address spaces of the main ROM 500b and the main RAM 500c, and the input/output unit 704 is assigned to FE00h to FFFFh of the memory space. Therefore, there is no concept of I/O space, and the main CPU 500a can access the input/output units 704 assigned to FE00h to FFFFh in the memory space by using instructions dedicated to the memory space. Here, an access system provided for the main CPU (processor) 500a to access the main ROM (storage means) 500b and the main RAM (storage means) 500c is called a memory mapped I/O system. The main CPU 500a can read information from the input/output unit 704 to the register and write information from the register to the input/output unit 704 by commands based on the memory-mapped I/O method.

このように、本実施形態において、メインCPU500aは、メモリマップドI/O方式によって入出力部704にアクセスする。一方、従来のマイクロプロセッサのプログラムをそのまま流用できる等の汎用性の観点から、本実施形態において、I/OマップドI/O方式によるアクセスもできるようになっている。したがって、メインCPU500aは、メモリマップドI/O方式に加え、メモリ空間の一部をI/O空間に見立て、I/OマップドI/O方式によって入出力部704にアクセスすることが可能となる。なお、従来のマイクロプロセッサでもメモリマップドI/O方式により入出力部704にアクセスすることは可能であったが、I/OマップドI/O方式を用いるかメモリマップドI/O方式を用いるかは初期起動時に選択しなければならず、メモリマップドI/O方式を選択すると、I/OマップドI/O方式を用いることができなかった。 Thus, in this embodiment, the main CPU 500a accesses the input/output unit 704 using the memory-mapped I/O method. On the other hand, from the viewpoint of general versatility, for example, the program of the conventional microprocessor can be used as it is, access by the I/O mapped I/O method is also possible in this embodiment. Therefore, in addition to the memory-mapped I/O method, the main CPU 500a can treat part of the memory space as an I/O space and access the input/output unit 704 by the I/O-mapped I/O method. . Although it was possible to access the input/output unit 704 by the memory-mapped I/O method even in a conventional microprocessor, it is possible to access the input/output unit 704 by using the I/O-mapped I/O method or by using the memory-mapped I/O method. If the memory-mapped I/O method is selected, the I/O-mapped I/O method cannot be used.

図239は、アクセス方式の利用態様を説明するための説明図である。メモリマップドI/O方式は、LD命令やLDIR命令等、メインROM500bやメインRAM500cにアクセスするために準備された多数のコマンド(命令)を利用できる利点がある。一方、メモリマップドI/O方式は、入出力部704に対し、単なる読み書きを行う場合には、I/OマップドI/O方式に比べ、コマンドサイズが大きくなる欠点を有す。これに対し、I/OマップドI/O方式は、入出力部704に対し、単なる読み書きを行う場合には、メモリマップドI/O方式に比べ、コマンドサイズが小さくて済む利点がある。一方、I/OマップドI/O方式は、IN命令やOUT命令等、入出力部704にアクセスするために準備された限定的なコマンド(命令)しか利用できない欠点を有す。 FIG. 239 is an explanatory diagram for explaining a usage mode of an access method. The memory-mapped I/O method has the advantage of being able to use a large number of commands (instructions) prepared for accessing the main ROM 500b and main RAM 500c, such as LD instructions and LDIR instructions. On the other hand, the memory-mapped I/O method has a drawback that the command size becomes larger than that of the I/O-mapped I/O method when simply reading from and writing to the input/output unit 704 . On the other hand, the I/O mapped I/O method has the advantage that the command size can be smaller than the memory mapped I/O method when simply reading from and writing to the input/output unit 704 . On the other hand, the I/O mapped I/O method has the drawback that only limited commands (instructions) prepared for accessing the input/output unit 704, such as IN instructions and OUT instructions, can be used.

プログラムにおいては、通常、入出力部704の単純な読み書きが多いので、メモリマップドI/O方式ではなく、I/OマップドI/O方式を用いることでコマンドサイズを小さくすることが可能となる。例えば、入出力部704の所定のアドレスに格納された値をAレジスタに読み出す場合、メモリマップドI/O方式のコマンド「LD A,(mn)」(mnは2バイトの整数)を利用すると、コマンドサイズが3バイト必要となるのに対し、I/OマップドI/O方式のコマンド「IN A,(g)」(gは1バイトの整数)を利用すると、コマンドサイズは2バイトで済む。したがって、通常、I/OマップドI/O方式を用いることとしている。 In a program, since simple reading and writing of the input/output unit 704 are common, it is possible to reduce the command size by using the I/O mapped I/O method instead of the memory mapped I/O method. . For example, when reading a value stored at a predetermined address in the input/output unit 704 to the A register, using a memory-mapped I/O command "LD A, (mn)" (mn is a 2-byte integer) , the command size needs 3 bytes, but if you use the I/O mapped I/O method command "IN A, (g)" (g is a 1-byte integer), the command size only needs 2 bytes. . Therefore, the I/O mapped I/O method is normally used.

しかし、プログラムのうちの一部の処理においては、I/OマップドI/O方式のコマンド(命令)より、メモリマップドI/O方式のコマンド(命令)を利用した方が、遊技制御処理を行うための制御領域の容量を削減できる場合がある。具体的に、メモリ空間に割り当てられた入出力部704の同一のアドレスに対し、IN命令やOUT命令といったI/OマップドI/O方式によるコマンドでアクセスするより、LD命令等のメモリマップドI/O方式によるコマンドでアクセスした方が、総コマンドサイズが小さくなる場合がある。したがって、ここでは、その処理の内容に応じて、総コマンドサイズが小さくなる適切なアクセス方式を用いる。 However, in some of the processes of the program, it is better to use memory-mapped I/O commands (instructions) than I/O-mapped I/O commands (instructions) to improve game control processing. It may be possible to reduce the capacity of the control area for performing Specifically, rather than accessing the same address of the input/output unit 704 allocated in the memory space with a command according to the I/O mapped I/O method such as an IN instruction or an OUT instruction, a memory mapped I/O method such as an LD instruction is used. The total command size may be smaller when accessing with a command based on the /O method. Therefore, here, an appropriate access method that reduces the total command size is used according to the content of the processing.

図240は、サブコマンド送信処理の一例を説明するためのフローチャートであり、図241は、サブコマンド送信処理を実現するための具体的なコマンドの一例を示した図である。かかるサブコマンド送信処理は、上述した、図23のステップS100-65、および、図98のステップS3100-11において実行される。サブコマンド送信処理では、指令電文(コマンド)が、送信バッファ(FIFO)を通じて副制御基板330、502に送信される。なお、ここでは、説明の便宜上、メインCPU500aがサブコマンド送信処理S3100-11を実行する例を挙げ、また、本実施形態に関係のないサブコマンド累積データに関する処理を省略する。かかる図240の説明におけるステップSの数値は、本図の説明においてのみ用いることとする。 FIG. 240 is a flowchart for explaining an example of subcommand transmission processing, and FIG. 241 is a diagram showing an example of specific commands for realizing the subcommand transmission processing. Such subcommand transmission processing is executed in step S100-65 of FIG. 23 and step S3100-11 of FIG. 98 described above. In the subcommand transmission process, a command message (command) is transmitted to the sub control boards 330 and 502 through the transmission buffer (FIFO). Here, for convenience of explanation, an example in which the main CPU 500a executes the subcommand transmission process S3100-11 will be given, and the process related to subcommand accumulated data that is not related to this embodiment will be omitted. The numerical values of step S in the description of FIG. 240 are used only in the description of this figure.

なお、ここでは、副制御基板502に送信する4バイトの指令電文を構成する電文1、電文2、電文3、電文4が、それぞれDレジスタ、Eレジスタ、Bレジスタ、Cレジスタに設定されている。ただし、送信する指令電文によっては、電文2~4について事後的に設定する場合がある。また、電文3、4について電文が設定されていない場合、電文3、4として所定の値を設定する場合がある。 Here, the messages 1, 2, 3, and 4 constituting the 4-byte command messages to be sent to the sub control board 502 are set in the D register, E register, B register, and C register, respectively. . However, depending on the command message to be sent, the messages 2 to 4 may be set after the fact. Further, when the electronic messages are not set for the electronic messages 3 and 4, predetermined values may be set for the electronic messages 3 and 4. FIG.

図240に示すように、まず、メインCPU500aは、各レジスタの値を退避させ(S1)、電文1に基づいて電文2~4が既に設定済みか否か判定する(S2)。メインCPU500aは、電文2~4が設定済みであれば(S2におけるYES)、ステップS6に移行し、設定済みでなければ(S2におけるNO)、メインRAM500cから取得した値を電文2に設定し(S3)、電文1に基づいて電文3、4が既に設定済みか否か判定する(S4)。メインCPU500aは、電文3、4が設定済みであれば(S4におけるYES)、ステップS6に移行し、設定済みでなければ(S4におけるNO)、所定の値を電文3、4に設定する(S5)。 As shown in FIG. 240, first, the main CPU 500a saves the values of each register (S1), and determines whether messages 2 to 4 have already been set based on message 1 (S2). If telegrams 2 to 4 have been set (YES in S2), the main CPU 500a proceeds to step S6. S3), based on the message 1, it is determined whether or not the messages 3 and 4 have already been set (S4). If the messages 3 and 4 have been set (YES in S4), the main CPU 500a proceeds to step S6, and if not (NO in S4), sets a predetermined value to the messages 3 and 4 (S5 ).

続いて、メインCPU500aは、送信先のアドレスを設定し(S6)、電文2を被加算数として設定し(S7)、割込みを禁止する(S8)。メインCPU500aは、電文1~4を出力し(S9)、電文1~4のチェックサムを算出すると(S10)、算出したチェックサムも出力する(S11)。最後に、メインCPU500aは、割込みを許可し(S12)、退避させていた各レジスタの値を復帰させる(S13)。 Subsequently, the main CPU 500a sets the destination address (S6), sets telegram 2 as the augend (S7), and prohibits interrupts (S8). The main CPU 500a outputs the messages 1 to 4 (S9), calculates the checksums of the messages 1 to 4 (S10), and outputs the calculated checksums (S11). Finally, the main CPU 500a permits interrupts (S12), and restores the saved register values (S13).

具体的に、図241の1行目の指標「CMDPROC」は当該サブコマンド送信処理の先頭アドレスを示す。かかる指標「CMDPROC」によって当該サブコマンド送信処理が呼び出される。2行目のコマンド「PUSH HL」によって、HLレジスタの値がスタック領域に退避され、3行目のコマンド「PUSH BC」によって、BCレジスタの値がスタック領域に退避される。かかる2、3行目のコマンドが、レジスタの値を退避させる図240のステップS1に相当する。 Specifically, the index "CMDPROC" on the first line in FIG. 241 indicates the start address of the subcommand transmission process. The subcommand transmission process is called by the index "CMDPROC". The command "PUSH HL" on the second line saves the value of the HL register to the stack area, and the command "PUSH BC" on the third line saves the value of the BC register to the stack area. The commands on the second and third lines correspond to step S1 in FIG. 240 for saving the value of the register.

図241の4行目のコマンド「LD A,D」によって、Dレジスタの値、すなわち、電文1の値がAレジスタに設定され、5行目のコマンド「JCP C,A,0B0H,CMDPROC01」によって、Aレジスタの値と、固定値「B0H」とが比較され、その結果、B0H未満であれば(キャリーフラグが立っていれば)、12行目の指標「CMDPROC01」に移動する。こうして、電文1の値がB0H未満であれば、次の処理を省略して12行目の指標「CMDPROC01」に移動することができる。かかる4、5行目のコマンドが、電文2~4が既に設定済みであればステップS6に移行する図240のステップS2に相当する。 The value of the D register, that is, the value of telegram 1 is set in the A register by the command "LD A, D" on the fourth line in FIG. , A register is compared with the fixed value "B0H". As a result, if it is less than B0H (if the carry flag is set), the process moves to the index "CMDPROC01" on the 12th line. Thus, if the value of message 1 is less than B0H, the next process can be skipped and the process can be moved to the index "CMDPROC01" on the 12th line. The commands on the 4th and 5th lines correspond to step S2 in FIG. 240, in which if telegrams 2 to 4 have already been set, the process proceeds to step S6.

図241の6行目のコマンド「LDQ A,(E)」によって、Qレジスタの値をアドレスの上位1バイトとし、Eレジスタの値をアドレスの下位1バイトとし、そのアドレスが示すメモリ領域に格納された1バイトの値(電文2)がAレジスタに設定され、7行目のコマンド「LD E,A」によって、Aレジスタの値、すなわち、電文2がEレジスタに設定される。かかる6、7行目のコマンドが、電文2を設定する図240のステップS3に相当する。 The command "LDQ A, (E)" on the 6th line in FIG. 241 sets the value of the Q register to the upper 1 byte of the address and the value of the E register to the lower 1 byte of the address, and stores them in the memory area indicated by the address. The 1-byte value (telegram 2) thus obtained is set in the A register, and the value of the A register, ie, telegram 2, is set in the E register by the command "LD E, A" on the seventh line. The commands on the 6th and 7th lines correspond to step S3 in FIG.

図241の8行目のコマンド「JBIT Z,3,D,CMDPROC01」によって、Dレジスタの値(電文1)のビット3が0であれば(ゼロフラグが立っていれば)、12行目の指標「CMDPROC01」に移動する。こうして、電文1のビット3が0であれば、次の処理を省略して12行目の指標「CMDPROC01」に移動することができる。かかる8行目のコマンドが、電文3、4が既に設定済みであればステップS6に移行する図240のステップS4に相当する。 According to the command "JBIT Z, 3, D, CMDPROC01" on line 8 of FIG. Move to "CMDPROC01". Thus, if bit 3 of electronic message 1 is 0, the next process can be omitted and the process can move to the index "CMDPROC01" on the 12th line. The command on the eighth line corresponds to step S4 in FIG. 240, in which if telegrams 3 and 4 have already been set, the process proceeds to step S6.

図241の9行目のコマンド「IN HL,(@CID____)」によって、Uレジスタの値をアドレスの上位1バイトとし、シンボル「@CID____」自体(1バイト値)を下位1バイトとし、そのアドレスが示すメモリ領域に格納された2バイトの値がHLレジスタに入力される。具体的には、そのアドレスが示すメモリ領域に格納された1バイトの値がLレジスタに入力され、そのアドレスに1を加えた値が示すメモリ領域に格納された1バイトの値がHレジスタに入力される。10行目のコマンド「LD B,H」によって、Hレジスタの値がBレジスタに設定され、11行目のコマンド「LD C,L」によって、Lレジスタの値がCレジスタに設定される。かかる9~11行目のコマンドが、電文3、4を設定する図240のステップS5に相当する。 The command "IN HL, (@CID_____)" on the 9th line in FIG. A 2-byte value stored in the memory area indicated by is input to the HL register. Specifically, the 1-byte value stored in the memory area indicated by the address is input to the L register, and the 1-byte value stored in the memory area indicated by the address plus 1 is transferred to the H register. is entered. The command "LD B, H" on the 10th line sets the value of the H register to the B register, and the command "LD C, L" on the 11th line sets the value of the L register to the C register. The commands on the 9th to 11th lines correspond to step S5 in FIG.

続いて、図241の13行目のコマンド「LD H,C」によって、Cレジスタの値がHレジスタに設定される。ここでは、Cレジスタに格納されている電文4をHレジスタに転送させることで、OUT命令で用いられるCレジスタを開放している。14行目のコマンド「LD C,@S1DT___」によって、シンボル「@S1DT___」自体がCレジスタに設定される。なお、シンボル「@S1DT___」は、送信専用の非同期シリアル通信回路の送信バッファ(FIFO)を示している。かかる13、14行目のコマンドが、送信先のアドレスを設定する図240のステップS6に相当する。 Subsequently, the value of the C register is set to the H register by the command "LD H, C" on the 13th line in FIG. Here, the C register used in the OUT instruction is released by transferring telegram 4 stored in the C register to the H register. The symbol "@S1DT____" itself is set in the C register by the command "LD C,@S1DT____" on the 14th line. The symbol "@S1DT____" indicates a transmission buffer (FIFO) of a transmission-only asynchronous serial communication circuit. The commands on the 13th and 14th lines correspond to step S6 in FIG. 240 for setting the destination address.

図241の15行目のコマンド「LD A,E」によって、Eレジスタの値(電文2)がAレジスタに設定される。これは、図240のステップS10においてチェックサムを算出する際にAレジスタの値を被加算数とするためである。かかる15行目のコマンドが、Aレジスタに電文2を設定する図240のステップS7に相当する。そして、16行目のコマンド「DI」によって、割込が禁止される。かかる16行目のコマンドが、図240のステップS8に相当する。 The command "LD A, E" on the 15th line in FIG. 241 sets the value of the E register (telegram 2) to the A register. This is because the value of the A register is used as the augend when calculating the checksum in step S10 of FIG. The command on the 15th line corresponds to step S7 in FIG. 240 for setting telegram 2 in the A register. Then, the interrupt is prohibited by the command "DI" on the 16th line. The command on the 16th line corresponds to step S8 in FIG.

図241の17行目のコマンド「OUT (C),D」によって、Uレジスタの値をアドレスの上位1バイトとし、Cレジスタの値を下位1バイトとし、そのアドレスが示すメモリ領域にDレジスタの値(電文1)が出力される。18行目のコマンド「OUT (C),A」によって、Uレジスタの値をアドレスの上位1バイトとし、Cレジスタの値を下位1バイトとし、そのアドレスが示すメモリ領域にAレジスタの値(電文2)が出力される。19行目のコマンド「OUT (C),B」によって、Uレジスタの値をアドレスの上位1バイトとし、Cレジスタの値を下位1バイトとし、そのアドレスが示すメモリ領域にBレジスタの値(電文3)が出力される。20行目のコマンド「OUT (C),H」によって、Uレジスタの値をアドレスの上位1バイトとし、Cレジスタの値を下位1バイトとし、そのアドレスが示すメモリ領域にHレジスタの値(電文4)が出力される。ここでは、シンボル「@S1DT___」自体(アドレス値)に、Dレジスタ、Aレジスタ(Eレジスタ)、Bレジスタ、Hレジスタ(Cレジスタ)の順、すなわち、電文1、2、3、4の順にデータが出力されている。かかる17~20行目のコマンドが、電文1~4を出力する図240のステップS9に相当する。 The command "OUT (C), D" on line 17 in FIG. A value (telegram 1) is output. The command "OUT (C), A" on the 18th line sets the value of the U register to the upper 1 byte of the address, the value of the C register to the lower 1 byte, and stores the value of the A register (telegram 2) is output. The command "OUT (C), B" on the 19th line sets the value of the U register to the upper 1 byte of the address, the value of the C register to the lower 1 byte, and stores the value of the B register (data message) in the memory area indicated by the address. 3) is output. The command "OUT (C), H" on the 20th line sets the value of the U register to the upper 1 byte of the address, the value of the C register to the lower 1 byte, and stores the value of the H register (telegram 4) is output. Here, in the symbol "@S1DT____" itself (address value), data are stored in the order of the D register, A register (E register), B register, and H register (C register), that is, in the order of messages 1, 2, 3, and 4. is being output. The commands on the 17th to 20th lines correspond to step S9 in FIG. 240 for outputting messages 1 to 4.

図241の21行目のコマンド「ADD A,D」によって、Aレジスタの値(電文2)にDレジスタの値(電文1)が加算され、その結果がAレジスタに保持される。22行目のコマンド「ADD A,B」によって、Aレジスタの値(チェックサム値)にBレジスタの値(電文3)が加算され、その結果がAレジスタに保持される。23行目のコマンド「ADD A,H」によって、Aレジスタの値(チェックサム値)にHレジスタの値(電文4)が加算され、その結果がAレジスタに保持される。かかる21~23行目のコマンドが、電文1~4のチェックサムを算出する図240のステップS10に相当する。 The command "ADD A, D" on the 21st line in FIG. 241 adds the value of the D register (telegram 1) to the value of the A register (telegram 2), and the result is held in the A register. The command "ADD A, B" on the 22nd line adds the value of the B register (telegram 3) to the value of the A register (checksum value), and the result is held in the A register. The command "ADD A, H" on the 23rd line adds the value of the H register (telegram 4) to the value of the A register (checksum value), and the result is held in the A register. The commands on the 21st to 23rd lines correspond to step S10 in FIG.

図241の24行目のコマンド「OUT (C),A」によって、Uレジスタの値をアドレスの上位1バイトとし、Cレジスタの値を下位1バイトとし、そのアドレスが示すメモリ領域にAレジスタの値(チェックサム値)が出力される。こうして、電文1~4とチェックサム値の合計5バイトの指令電文が送信バッファに出力される。かかる24行目のコマンドが、算出したチェックサムを出力する図240のステップS11に相当する。そして、25行目のコマンド「EI」によって、割込が許可される。かかる25行目のコマンドが、図240のステップS12に相当する。 The command "OUT (C), A" on the 24th line in FIG. A value (checksum value) is output. In this way, a command message of a total of 5 bytes consisting of the messages 1 to 4 and the checksum value is output to the transmission buffer. The command on the 24th line corresponds to step S11 in FIG. 240 for outputting the calculated checksum. Then, the interrupt is permitted by the command "EI" on the 25th line. The command on the 25th line corresponds to step S12 in FIG.

図241の26行目のコマンド「POP BC」によって、スタック領域に退避されていたデータがBCレジスタに復帰され、27行目のコマンド「POP HL」によって、スタック領域に退避されていたデータがHLレジスタに復帰される。かかる26、27行目のコマンドが、レジスタの値を復帰させる図240のステップS13に相当する。そして、28行目のコマンド「RET」によって、呼び出し元の処理に復帰する。 The data saved in the stack area is returned to the BC register by the command "POP BC" on the 26th line in FIG. Returned to register. The command on the 26th and 27th lines corresponds to step S13 in FIG. 240 for restoring the value of the register. Then, the command "RET" on the 28th line returns to the calling process.

図241においては、図240におけるサブコマンド送信処理を、IN命令やOUT命令を利用したI/OマップドI/O方式で実現している。しかしながら、上述したように、プログラムのうちの一部の処理においては、メモリマップドI/O方式の命令を利用した方が、コマンドサイズが小さくなる場合がある。以下、一部の処理にメモリマップドI/O方式を適用する例を挙げて説明する。 In FIG. 241, the subcommand transmission processing in FIG. 240 is realized by the I/O mapped I/O method using the IN instruction and the OUT instruction. However, as described above, in some processes in a program, the command size may be smaller if the instructions of the memory-mapped I/O method are used. An example in which the memory-mapped I/O method is applied to some processing will be described below.

図242は、サブコマンド送信処理を実現するための他のコマンドの一例を示した図である。ここでも、図241同様、副制御基板502に送信する4バイトの電文1、2、3、4が、それぞれDレジスタ、Eレジスタ、Bレジスタ、Cレジスタに設定されている。 FIG. 242 is a diagram showing an example of another command for realizing subcommand transmission processing. 241, 4-byte telegrams 1, 2, 3, and 4 to be transmitted to the sub-control board 502 are set in the D, E, B, and C registers, respectively.

図241のコマンド群と図242のコマンド群とを比較すると、ステップS5に対応する(1)で示したコマンド群、および、ステップS6~S11に対応する(2)で示したコマンド群が相違している。ここでは、(1)のコマンド群および(2)のコマンド群それぞれに焦点を当てて、総コマンドサイズの違いを説明する。 Comparing the command group in FIG. 241 with the command group in FIG. 242, the command group indicated by (1) corresponding to step S5 and the command group indicated by (2) corresponding to steps S6 to S11 are different. ing. Here, the difference in the total command size will be explained by focusing on the command group (1) and the command group (2) respectively.

(1)のコマンド群について、図242の9行目のコマンド「LD BC,(@CID____)」によって、シンボル「@CID____」が示すメモリ領域に格納された2バイトの値がBCレジスタに設定される。具体的に、シンボル「@CID____」が示すメモリ領域に格納された1バイトの値がCレジスタに入力され、シンボル「@CID____」+1が示すメモリ領域に格納された1バイトの値がBレジスタに入力される。かかる9行目のコマンドが、電文3、4を設定する図240のステップS5に相当する。 Regarding the command group of (1), the 2-byte value stored in the memory area indicated by the symbol "@CID_____" is set in the BC register by the command "LD BC, (@CID_____)" on the 9th line in FIG. be. Specifically, the 1-byte value stored in the memory area indicated by the symbol "@CID_____" is input to the C register, and the 1-byte value stored in the memory area indicated by the symbol "@CID____"+1 is transferred to the B register. is entered. The command on the ninth line corresponds to step S5 in FIG.

図241の例においては、I/OマップドI/O方式が用いられているので、IN命令で入力した値の設定先としてHLレジスタは選択できるが、BCレジスタを選択できない。換言すれば、コマンド「IN BC,(mn)」(mnは2バイトの整数)はコマンドとして準備されていない。したがって、図241の例においては、シンボル「@CID____」が示すメモリ領域に格納された2バイト値を、一旦、HLレジスタに保持し、その後、BレジスタおよびCレジスタにそれぞれ転送しなければならない。これに対し、図242のメモリマップドI/O方式では、LD命令を利用することで、シンボル「@CID____」が示すメモリ領域に格納された2バイトの値を、直接、BCレジスタに設定することができる。 In the example of FIG. 241, since the I/O mapped I/O system is used, the HL register can be selected as the setting destination of the value input by the IN instruction, but the BC register cannot be selected. In other words, the command "IN BC, (mn)" (where mn is a 2-byte integer) is not prepared as a command. Therefore, in the example of FIG. 241, the 2-byte value stored in the memory area indicated by the symbol "@CID____" must be temporarily held in the HL register and then transferred to the B and C registers. On the other hand, in the memory-mapped I/O method of FIG. 242, the 2-byte value stored in the memory area indicated by the symbol "@CID____" is directly set in the BC register by using the LD instruction. be able to.

ここで、図241の(1)のコマンド群の総コマンドサイズは、9行目のコマンド「IN HL,(@CID____)」3バイト+10行目のコマンド「LD B,H」1バイト+11行目のコマンド「LD C,L」1バイト=5バイトであるのに対し、図242の(1)のコマンド群(コマンド)の総コマンドサイズは、9行目のコマンド「LD BC,(@CID____)」4バイトとなる。したがって、I/OマップドI/O方式をメモリマップドI/O方式に変更することで総コマンドサイズを1バイト削減できることが理解できる。 Here, the total command size of the command group of (1) in FIG. 241 is the command "IN HL, (@CID_____)" 3 bytes on the 9th line + the command "LD B, H" 1 byte on the 10th line + 11th line command "LD C, L" 1 byte = 5 bytes, whereas the total command size of the command group (commands) in (1) of Fig. 242 is the command "LD BC, (@CID_____)" on the ninth line ” becomes 4 bytes. Therefore, it can be understood that the total command size can be reduced by 1 byte by changing the I/O mapped I/O method to the memory mapped I/O method.

続いて、(2)のコマンド群について、図242の11行目のコマンド「LD HL,@S2DT___」によって、シンボル「@S2DT___」自体の2バイト値がHLレジスタに設定される。なお、シンボル「@S2DT___」は、送信専用の非同期シリアル通信回路の入力バッファを示している。かかる11行目のコマンドが、送信先のアドレスを設定する図240のステップS6に相当する。図241の例においては、I/OマップドI/O方式を用いているので、OUT命令を利用するためにCレジスタを開放しなければならなかった。これに対し、メモリマップドI/O方式では、Cレジスタを開放する必要がなく、送信先のアドレスをHLレジスタに保持することができる。したがって、図242の例では、図241の13行目のコマンド「LD H,C」を削除することができる。 Subsequently, for the command group (2), the 2-byte value of the symbol "@S2DT____" itself is set in the HL register by the command "LD HL,@S2DT____" on the 11th line in FIG. The symbol "@S2DT____" indicates an input buffer of a transmission-only asynchronous serial communication circuit. The command on the 11th line corresponds to step S6 in FIG. 240 for setting the destination address. In the example of FIG. 241, since the I/O mapped I/O system is used, the C register had to be released in order to use the OUT instruction. On the other hand, in the memory-mapped I/O method, the address of the transmission destination can be held in the HL register without the need to open the C register. Therefore, in the example of FIG. 242, the command "LD H, C" on line 13 of FIG. 241 can be deleted.

図242の12行目のコマンド「LD A,E」によって、Eレジスタの値(電文2)がAレジスタに設定される。かかる12行目のコマンドが、Aレジスタに電文2を設定する図240のステップS7に相当する。そして、13行目のコマンド「DI」によって、割込が禁止される。かかる13行目のコマンドが、図240のステップS8に相当する。 The command "LD A, E" on the 12th line in FIG. 242 sets the value of the E register (telegram 2) to the A register. The command on the 12th line corresponds to step S7 in FIG. 240 for setting telegram 2 in the A register. Then, the interrupt is prohibited by the command "DI" on the 13th line. The command on the 13th line corresponds to step S8 in FIG.

図242の14行目のコマンド「LD (HL),D」によって、HLレジスタのアドレスで示されるメモリ領域にDレジスタの値(電文1)が格納される。15行目のコマンド「LD (HL),A」によって、HLレジスタのアドレスで示されるメモリ領域にAレジスタの値(電文2)が格納される。16行目のコマンド「LD (HL),B」によって、HLレジスタのアドレスで示されるメモリ領域にBレジスタの値(電文3)が格納される。17行目のコマンド「LD (HL),C」によって、HLレジスタのアドレスで示されるメモリ領域にCレジスタの値(電文4)が格納される。ここでは、シンボル「@S1DT___」自体(アドレス値)に、Dレジスタ、Aレジスタ(Eレジスタ)、Bレジスタ、Cレジスタの順、すなわち、電文1、2、3、4の順にデータが格納され、その結果、電文1、2、3、4の順にデータが送信バッファに出力されることになる。かかる14~17行目のコマンドが、電文1~4を出力する図240のステップS9に相当する。 The command "LD (HL), D" on the 14th line in FIG. 242 stores the value of the D register (telegram 1) in the memory area indicated by the address of the HL register. The command "LD (HL), A" on the 15th line stores the value of the A register (telegram 2) in the memory area indicated by the address of the HL register. The command "LD (HL), B" on the 16th line stores the value of the B register (telegram 3) in the memory area indicated by the address of the HL register. The command "LD (HL), C" on the 17th line stores the value of the C register (telegram 4) in the memory area indicated by the address of the HL register. Here, data is stored in the symbol "@S1DT____" itself (address value) in the order of the D register, A register (E register), B register, and C register, that is, in the order of messages 1, 2, 3, and 4. As a result, data is output to the transmission buffer in order of messages 1, 2, 3, and 4. FIG. The commands on the 14th to 17th lines correspond to step S9 in FIG.

図242の18行目のコマンド「ADD A,D」によって、Aレジスタの値(電文2)にDレジスタの値(電文1)が加算され、その結果がAレジスタに保持される。19行目のコマンド「ADD A,B」によって、Aレジスタの値(チェックサム値)にBレジスタの値(電文3)が加算され、その結果がAレジスタに保持される。20行目のコマンド「ADD A,C」によって、Aレジスタの値(チェックサム値)にCレジスタの値(電文4)が加算され、その結果がAレジスタに保持される。かかる18~20行目のコマンドが、電文1~4のチェックサムを算出する図240のステップS10に相当する。 The command "ADD A, D" on the 18th line in FIG. 242 adds the value of the D register (telegram 1) to the value of the A register (telegram 2), and the result is held in the A register. The command "ADD A, B" on the 19th line adds the value of the B register (telegram 3) to the value of the A register (checksum value), and the result is held in the A register. The command "ADD A, C" on the 20th line adds the value of the C register (telegram 4) to the value of the A register (checksum value), and the result is held in the A register. The commands on the 18th to 20th lines correspond to step S10 in FIG.

図242の21行目のコマンド「LD (HL),A」によって、HLレジスタのアドレスで示されるメモリ領域にAレジスタの値(チェックサム値)が格納される。こうして、電文1~4とチェックサム値の合計5バイトの指令電文が送信バッファに格納され、その結果、指令電文が送信バッファに出力されることになる。かかる21行目のコマンドが、算出したチェックサムを出力する図240のステップS11に相当する。 The command "LD (HL), A" on the 21st line in FIG. 242 stores the value of the A register (checksum value) in the memory area indicated by the address of the HL register. In this way, a command message of a total of 5 bytes consisting of messages 1 to 4 and the checksum value is stored in the transmission buffer, and as a result, the command message is output to the transmission buffer. The command on the 21st line corresponds to step S11 in FIG. 240 for outputting the calculated checksum.

図241の例においては、I/OマップドI/O方式により、入出力部704に出力するためにOUT命令が利用されている。これに対し、メモリマップドI/O方式では、LD命令を利用することができる。したがって、送信先のアドレスをCレジスタではなくHLレジスタに保持し、LD命令によって各レジスタの値を、HLレジスタのアドレスが示すメモリ領域に格納することでコマンドサイズを削減することが可能となる。 In the example of FIG. 241, the OUT instruction is used to output to the input/output unit 704 by the I/O mapped I/O method. On the other hand, in the memory mapped I/O method, the LD instruction can be used. Therefore, the command size can be reduced by holding the address of the transmission destination in the HL register instead of the C register and storing the value of each register in the memory area indicated by the address of the HL register with the LD instruction.

ここで、図241の(2)のコマンド群の総コマンドサイズは、13行目のコマンド「LD H,C」1バイト+14行目のコマンド「LD C,@S1DT___」2バイト+15行目のコマンド「LD A,E」1バイト+16行目のコマンド「DI」1バイト+17行目のコマンド「OUT (C),D」2バイト+18行目のコマンド「OUT (C),A」2バイト+19行目のコマンド「OUT (C),B」2バイト+20行目のコマンド「OUT (C),H」2バイト+21行目のコマンド「ADD A,D」1バイト+22行目のコマンド「ADD A,B」1バイト+23行目のコマンド「ADD A,H」1バイト+24行目のコマンド「OUT (C),A」2バイト=18バイトであるのに対し、図242の(2)のコマンド群の総コマンドサイズは、11行目のコマンド「LD HL,@S2DT___」3バイト+12行目のコマンド「LD A,E」1バイト+13行目のコマンド「DI」1バイト+14行目のコマンド「LD (HL),D」1バイト+15行目のコマンド「LD (HL),A」1バイト+16行目のコマンド「LD (HL),B」1バイト+17行目のコマンド「LD (HL),C」1バイト+18行目のコマンド「ADD A,D」1バイト+19行目のコマンド「ADD A,B」1バイト+20行目のコマンド「ADD A,C」1バイト+21行目のコマンド「LD (HL),A」1バイト=13バイトとなる。 Here, the total command size of the command group of (2) in FIG. "LD A, E" 1 byte + 16th line command "DI" 1 byte + 17th line command "OUT (C), D" 2 bytes + 18th line command "OUT (C), A" 2 bytes + 19 lines 2nd command "OUT (C), B" 2 bytes + 20th line command "OUT (C), H" 2 bytes + 21st line command "ADD A, D" 1 byte + 22nd line command "ADD A, B" 1 byte + 23rd line command "ADD A, H" 1 byte + 24th line command "OUT (C), A" 2 bytes = 18 bytes, whereas the command group of (2) in Fig. 242 is the command "LD HL, @S2DT___" on the 11th line 3 bytes + the command "LD A, E" on the 12th line 1 byte + the command "DI" on the 13th line 1 byte + the command "LD (HL), D" 1 byte + 15th line command "LD (HL), A" 1 byte + 16th line command "LD (HL), B" 1 byte + 17th line command "LD (HL), C" " 1 byte + 18th line command "ADD A, D" 1 byte + 19th line command "ADD A, B" 1 byte + 20th line command "ADD A, C" 1 byte + 21st line command "LD ( HL), A" 1 byte=13 bytes.

したがって、(2)のコマンド群に関し、I/OマップドI/O方式をメモリマップドI/O方式に変更することで総コマンドサイズを5バイト削減できる。図241の(2)のコマンド群と図242の(2)のコマンド群とを比較して理解できるように、OUT命令をLD命令に置き換える毎に、総コマンドサイズを1バイト削減可能となる。 Therefore, regarding the command group of (2), the total command size can be reduced by 5 bytes by changing the I/O mapped I/O method to the memory mapped I/O method. As can be understood by comparing the command group of (2) in FIG. 241 and the command group of (2) in FIG. 242, the total command size can be reduced by 1 byte each time the OUT instruction is replaced with the LD instruction.

このように、本実施形態では、I/OマップドI/O方式により入出力部704にアクセスしつつ、処理の内容によっては、総コマンドサイズが小さくなるメモリマップドI/O方式により入出力部704にアクセスしている。このように、同一のプログラムにおいて、I/OマップドI/O方式とメモリマップドI/O方式とを混在させ、処理の内容によって総コマンドサイズが小さくなるアクセス方式を適用することで、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 As described above, in this embodiment, while accessing the input/output unit 704 by the I/O mapped I/O method, depending on the content of the processing, the memory mapped I/O method that reduces the total command size is used to access the input/output unit 704. 704 is accessed. In this way, by mixing the I/O mapped I/O method and the memory mapped I/O method in the same program and applying an access method that reduces the total command size depending on the content of the processing, the command It is possible to shorten and secure the capacity of the control area for performing the game control process.

<メモリマップドI/O方式の利用例1>
上述したように従来のマイクロプロセッサでは、I/OマップドI/O方式を用いて入出力部704にアクセスしていた。この場合、入出力部704を割り当て得るI/O空間は256バイトに制限される。換言すれば、従来のマイクロプロセッサでは、1バイトのアドレス情報のみによって入出力部704を特定することができる。
<Usage example 1 of memory mapped I/O method>
As described above, the conventional microprocessor accesses the input/output unit 704 using the I/O mapped I/O method. In this case, the I/O space that can be assigned to the input/output unit 704 is limited to 256 bytes. In other words, in a conventional microprocessor, the input/output unit 704 can be specified by only one byte of address information.

図243は、CPU初期化処理を実現するためのコマンド群の一部を示した図であり、図244は、CPU初期化処理で参照するテーブルを示した図である。ここでは、説明の便宜上、上述したCPU初期化処理のうちの初期設定処理(図22のステップS100-1、および、図82のステップS2000-1)を説明する。初期設定処理では、入出力部704(内蔵レジスタ)に設定データを設定することで入出力部704の初期設定を行う。なお、ここでは、メインCPU500aが初期設定処理S2000-1を実行する例を挙げる。 FIG. 243 is a diagram showing part of a command group for implementing CPU initialization processing, and FIG. 244 is a diagram showing a table referred to in CPU initialization processing. Here, for convenience of explanation, the initialization processing (step S100-1 in FIG. 22 and step S2000-1 in FIG. 82) of the CPU initialization processing described above will be described. In the initial setting process, the input/output unit 704 is initialized by setting setting data in the input/output unit 704 (internal register). Here, an example in which the main CPU 500a executes the initial setting process S2000-1 will be given.

図243の1行目のコマンド「LD HL,T_CPU_REG」によって、読み出し元となるCPU内蔵レジスタ設定データテーブルのデータ群の先頭アドレス「T_CPU_REG」をHLレジスタに設定する。2行目のコマンド「LD B,@NUM_CPU_REG」によって、シンボル「@NUM_CPU_REG」自体がBレジスタに設定される。 A command "LD HL, T_CPU_REG" on the first line in FIG. 243 sets the top address "T_CPU_REG" of the data group of the CPU built-in register setting data table, which is the read source, in the HL register. The symbol "@NUM_CPU_REG" itself is set in the B register by the command "LD B, @NUM_CPU_REG" on the second line.

なお、図244のCPU内蔵レジスタ設定データテーブルの48行目を参照して理解できるように、シンボル「@NUM_CPU_REG」には、コマンド「EQU ($-T_CPU_REG)/2」が記載されている。ここで、「$」は、転送元となるデータ群の最終アドレスの次のアドレス、すなわち、シンボル「@NUM_CPU_REG」自体であり、「T_CPU_REG」は転送元となるデータ群の先頭アドレスなので、$-T_CPU_REGの値(データ数を示す1バイト値)の値が、1バイト値の総バイト数となり、その値を、アドレスと値との組み合わせ数である2で除算すると、設定データ数が導出される。例えば、図244の例では、設定データ数は30/2=15となる。 As can be understood by referring to the 48th line of the CPU built-in register setting data table in FIG. 244, the symbol "@NUM_CPU_REG" describes the command "EQU ($-T_CPU_REG)/2". Here, "$" is the address next to the last address of the data group to be transferred, that is, the symbol "@NUM_CPU_REG" itself, and "T_CPU_REG" is the first address of the data group to be transferred. The value of T_CPU_REG (1-byte value indicating the number of data) is the total number of bytes of the 1-byte value. By dividing this value by 2, which is the number of combinations of addresses and values, the number of set data is derived. . For example, in the example of FIG. 244, the number of setting data is 30/2=15.

図243の3行目の指標「INITIAL01」は繰り返し処理の先頭アドレスを示す。4行目のコマンド「LDIN AC,(HL)」によって、HLレジスタのアドレスで示されるメモリ領域に格納された1バイト値がCレジスタに格納され、HLレジスタに「1」を加えた値のアドレスで示されるメモリ領域に格納された1バイト値がAレジスタに格納される。5行目のコマンド「OUT (C),A」によって、Cレジスタのアドレスで示されるメモリ領域(内蔵レジスタ)に、Aレジスタの値(設定データ)が出力される。 The index “INITIAL01” on the third line in FIG. 243 indicates the start address of the repeated processing. By the command "LDIN AC, (HL)" on the fourth line, the 1-byte value stored in the memory area indicated by the address of the HL register is stored in the C register, and the address of the value obtained by adding "1" to the HL register. A 1-byte value stored in the memory area indicated by is stored in the A register. The command "OUT (C), A" on the fifth line outputs the value (setting data) of the A register to the memory area (internal register) indicated by the address of the C register.

例えば、HLレジスタがアドレス「T_CPU_REG」の値であった場合、図244の3行目における1バイト値「@PT0PR__」がCレジスタに格納され、図244の4行目における1バイト値「160」がAレジスタに格納される。そして、Cレジスタのシンボル「@PT0PR__」で示されるメモリ領域に、Aレジスタの値「160」が出力される。 For example, if the HL register is the value of the address "T_CPU_REG", the 1-byte value "@PT0PR__" in the third line of FIG. is stored in the A register. Then, the value "160" of the A register is output to the memory area indicated by the symbol "@PT0PR__" of the C register.

続いて、図243の6行目のコマンド「DJNZ INITIAL01」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、3行目の指標「INITIAL01」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「15」なので、指標「INITIAL01」からの処理を15回繰り返すとBレジスタの値が0となる。 Subsequently, the value of the B register is decremented (subtracted by "1") by the command "DJNZ INITIAL01" on the sixth line in FIG. If the result of decrementing is 0, the process moves to the next command after the current command. Here, since the number of data is "15", the value of the B register becomes 0 when the processing from the index "INITIAL01" is repeated 15 times.

このように、図243に示した初期設定処理のコマンドの総コマンドサイズは、1行目のコマンド「LD HL,T_CPU_REG」3バイト+2行目のコマンド「LD B,@NUM_CPU_REG」2バイト+4行目のコマンド「LDIN AC,(HL)」2バイト+5行目のコマンド「OUT (C),A」2バイト+6行目のコマンド「DJNZ INITIAL01」2バイト=11バイトとなる。 In this way, the total command size of the commands for the initial setting process shown in FIG. 2 bytes of the command "LDIN AC, (HL)" + 2 bytes of the command "OUT (C), A" of the fifth line + 2 bytes of the command "DJNZ INITIAL01" of the sixth line = 11 bytes.

上述したように、本実施形態では、入出力部704のアドレス空間を、メインROM500bおよびメインRAM500cのアドレス空間と一体化している。したがって、メインCPU500aは、メモリ空間のFE00h~FFFFhのアドレスを通じて入出力部704にアクセスする。この場合、入出力部704を割り当てることができるメモリ空間が512バイトとなる。このようにメモリ空間が増えることで、割り当てられる入出力部704の数も増やすことができる。その一方で、メモリ空間が256バイトより大きくなるので、入出力部704を特定するためのアドレスとして2バイトを要することとなる。例えば、本実施形態においては、予め、一部の入出力部704がメモリ空間の256バイトの領域であるFE00h~FEFFhに割り当てられ、他の入出力部704がメモリ空間の256バイトの領域であるFF00h~FFFFhに割り当てられている。したがって、メインCPU500aは、アドレスの上位バイトが異なる入出力部704にアクセスする度、Uレジスタの値を「FEH」と「FFH」との間で変更しなければならない。ここでは、図243で示した初期設定処理を、Uレジスタを用いて実現する他の実施例を説明する。 As described above, in this embodiment, the address space of the input/output unit 704 is integrated with the address spaces of the main ROM 500b and the main RAM 500c. Therefore, the main CPU 500a accesses the input/output unit 704 through addresses FE00h to FFFFh in the memory space. In this case, the memory space to which the input/output unit 704 can be allocated is 512 bytes. By increasing the memory space in this way, the number of input/output units 704 to be allocated can also be increased. On the other hand, since the memory space becomes larger than 256 bytes, 2 bytes are required as an address for specifying the input/output unit 704 . For example, in the present embodiment, some input/output units 704 are allocated in advance to FE00h to FEFFh, which are 256-byte areas in the memory space, and other input/output units 704 are allocated to 256-byte areas in the memory space. It is assigned to FF00h to FFFFh. Therefore, the main CPU 500a must change the value of the U register between "FEH" and "FFH" every time it accesses the input/output unit 704 with a different high-order byte of the address. Here, another embodiment for implementing the initialization processing shown in FIG. 243 using the U register will be described.

図245は、CPU初期化処理を実現するためのコマンド群の一部の他の例を示した図であり、図246は、CPU初期化処理で参照するテーブルの他の例を示した図である。ここでは、メインCPU500aは、図243、図244同様、説明の便宜上、I/OマップドI/O方式によって入出力部704(内蔵レジスタ)に設定データを設定している。 FIG. 245 is a diagram showing another example of part of a command group for implementing CPU initialization processing, and FIG. 246 is a diagram showing another example of a table referred to in CPU initialization processing. be. Here, as in FIGS. 243 and 244, the main CPU 500a sets setting data in the input/output unit 704 (built-in register) by the I/O mapped I/O method for convenience of explanation.

図245の1行目のコマンド「LDF HL,T_CPU_REG」によって、図246のCPU内蔵レジスタ設定データテーブルのデータ群の先頭アドレス「T_CPU_REG」がHLレジスタに設定される。2行目のコマンド「LD B,@NUM_CPU_RG1」によって、シンボル「@NUM_CPU_RG1」自体がBレジスタに設定される。 The command "LDF HL, T_CPU_REG" on the first line in FIG. 245 sets the top address "T_CPU_REG" of the data group in the CPU built-in register setting data table in FIG. 246 to the HL register. The symbol "@NUM_CPU_RG1" itself is set in the B register by the command "LD B, @NUM_CPU_RG1" on the second line.

なお、図246のCPU内蔵レジスタ設定データテーブルの42行目を参照して理解できるように、シンボル「@NUM_CPU_RG1」には、コマンド「EQU ($-T_CPU_REG)/2」が記載されている。ここで、「$」は、シンボル「@NUM_CPU_RG1」自体であり、「T_CPU_REG」は転送元となるデータ群の先頭アドレスなので、$-T_CPU_REGの値が、データ数を示す1バイト値の総バイト数となり、その値を、アドレスと値との組み合わせ数である2で除算すると、設定データ数が導出される。例えば、図246の例では、設定データ数は26/2=13となる。 As can be understood by referring to the 42nd line of the CPU built-in register setting data table in FIG. 246, the symbol "@NUM_CPU_RG1" describes the command "EQU ($-T_CPU_REG)/2". Here, "$" is the symbol "@NUM_CPU_RG1" itself, and "T_CPU_REG" is the head address of the data group to be the transfer source, so the value of $-T_CPU_REG is the total number of bytes of the 1-byte value indicating the number of data. By dividing this value by 2, which is the number of combinations of addresses and values, the number of setting data is derived. For example, in the example of FIG. 246, the number of setting data is 26/2=13.

図245の3行目のコマンド「LD U,0FEH」によって、入出力部704を示すアドレスの上位バイトとなる「FEH」をUレジスタに設定する。ここでは、複数の入出力部704を示すアドレスの上位アドレスとして2つの値「FEH」、「FFH」が準備されており、メインCPU500aは、アクセス対象となる入出力部704に応じて、その都度、上位バイトとなるUレジスタの値を変更する。なお、Uレジスタの初期値は「FFH」である。ここでは、まず、Uレジスタに「FEH」を設定し(「FFH」を「FEH」に変更し)、上位アドレスが「FEH」となる入出力部704に関して設定データを設定する。 The command "LD U, 0FEH" on the third line in FIG. Here, two values "FEH" and "FFH" are prepared as high-order addresses of the addresses indicating the plurality of input/output units 704, and the main CPU 500a, depending on the input/output unit 704 to be accessed, each time , changes the value of the U register, which is the upper byte. The initial value of the U register is "FFH". Here, first, "FEH" is set in the U register ("FFH" is changed to "FEH"), and setting data is set for the input/output unit 704 whose upper address is "FEH".

図245の4行目の指標「INITIAL01」は繰り返し処理の先頭アドレスを示す。5行目のコマンド「LDIN AC,(HL)」によって、HLレジスタのアドレスで示されるメモリ領域に格納された値がCレジスタに格納され、HLレジスタに「1」を加えた値のアドレスで示されるメモリ領域に格納された値がAレジスタに格納される。6行目のコマンド「OUT (C),A」によって、Cレジスタのアドレスで示されるメモリ領域(内蔵レジスタ)に、Aレジスタの値(設定データ)が出力される。 The index “INITIAL01” on the fourth line in FIG. 245 indicates the start address of the repeated processing. By the command "LDIN AC, (HL)" on the fifth line, the value stored in the memory area indicated by the address of the HL register is stored in the C register, and "1" is added to the value of the HL register. The value stored in the memory area is stored in the A register. The command "OUT (C), A" on the sixth line outputs the value (setting data) of the A register to the memory area (internal register) indicated by the address of the C register.

例えば、HLレジスタがアドレス「T_CPU_REG」の値であった場合、図246の3行目における1バイト値「@PT0PR__」(例えば「01H」)がCレジスタに格納され、図246の4行目における1バイト値「160」がAレジスタに格納される。そして、Cレジスタのシンボル「@PT0PR__」で示されるメモリ領域に、Aレジスタの値「160」が出力される。 For example, if the HL register is the value of the address "T_CPU_REG", the 1-byte value "@PT0PR__" (for example, "01H") in the third line of FIG. 246 is stored in the C register, and the A 1-byte value "160" is stored in the A register. Then, the value "160" of the A register is output to the memory area indicated by the symbol "@PT0PR__" of the C register.

図245の7行目のコマンド「DJNZ INITIAL01」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、4行目の指標「INITIAL01」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「13」なので、指標「INITIAL01」からの処理を13回繰り返すとBレジスタの値が0となる。こうして、図246の前段における13の入出力部704に関して設定データの設定が完了する。 The value of the B register is decremented (subtracted by "1") by the command "DJNZ INITIAL01" on line 7 of FIG. If the result is 0, the process moves to the next command after the command. Here, since the number of data is "13", the value of the B register becomes 0 when the processing from the index "INITIAL01" is repeated 13 times. In this way, setting of setting data for the thirteen input/output units 704 in the preceding stage of FIG. 246 is completed.

図245の8行目のコマンド「LD U,0FFH」によって、入出力部704を示すアドレスの上位バイトとなる「FFH」をUレジスタに設定する。上述したように、入出力部704を示すアドレスとして2つの値「FEH」、「FFH」のうち、上位アドレスが「FEH」となる入出力部704に関して設定データの設定が完了しているので、ここでは、Uレジスタに「FFH」を設定し、上位アドレスが「FFH」となる入出力部704に関して設定データを設定する。なお、Uレジスタに「FFH」を設定することで、Uレジスタを初期値に戻すこととなる。 The command "LD U, 0FFH" on the eighth line in FIG. As described above, of the two values "FEH" and "FFH" as the address indicating the input/output unit 704, the setting data for the input/output unit 704 whose upper address is "FEH" has been completed. Here, "FFH" is set in the U register, and setting data is set for the input/output unit 704 whose upper address is "FFH". By setting "FFH" in the U register, the U register is returned to its initial value.

図245の9行目のコマンド「LD B,@NUM_CPU_RG2」によって、シンボル「@NUM_CPU_RG2」自体がBレジスタに設定される。なお、図246のCPU内蔵レジスタ設定データテーブルの50行目を参照して理解できるように、シンボル「@NUM_CPU_RG2」には、コマンド「EQU ($-T_CPU_REG)/2-@NUM_CPU_RG1」が記載されている。ここで、「$」は、シンボル「@NUM_CPU_RG2」自体であり、「T_CPU_REG」は転送元となる1バイトデータ群の先頭アドレスなので、$-T_CPU_REGの値は30/2=15であり、「@NUM_CPU_RG1」は13なので、図246の例では、設定データ数は15-13=2となる。 The command "LD B, @NUM_CPU_RG2" on the ninth line in FIG. 245 sets the symbol "@NUM_CPU_RG2" itself in the B register. As can be understood by referring to the 50th line of the CPU built-in register setting data table in FIG. 246, the symbol "@NUM_CPU_RG2" describes the command "EQU ($-T_CPU_REG)/2-@NUM_CPU_RG1". there is Here, "$" is the symbol "@NUM_CPU_RG2" itself, and "T_CPU_REG" is the top address of the 1-byte data group that is the transfer source. NUM_CPU_RG1" is 13, so in the example of FIG. 246, the number of setting data is 15-13=2.

図245の10行目の指標「INITIAL02」は繰り返し処理の先頭アドレスを示す。11行目のコマンド「LDIN AC,(HL)」によって、HLレジスタのアドレスで示されるメモリ領域に格納された値がCレジスタに格納され、HLレジスタに「1」を加えた値のアドレスで示されるメモリ領域に格納された値がAレジスタに格納される。12行目のコマンド「OUT (C),A」によって、Cレジスタのアドレスで示されるメモリ領域(内蔵レジスタ)に、Aレジスタの値(設定データ)が出力される。 The index “INITIAL02” on the 10th line in FIG. 245 indicates the starting address of the repeated processing. By the command "LDIN AC, (HL)" on the 11th line, the value stored in the memory area indicated by the address of the HL register is stored in the C register, and "1" is added to the value of the HL register. The value stored in the memory area is stored in the A register. The command "OUT (C), A" on the 12th line outputs the value (setting data) of the A register to the memory area (internal register) indicated by the address of the C register.

例えば、HLレジスタがシンボル「@NUM_CPU_RG1」自体であった場合、図246の44行目における1バイト値「@S1CM___」(例えば「2CH」)がCレジスタに格納され、図246の45行目における1バイト値「10000000B」がAレジスタに格納される。そして、Cレジスタのシンボル「@S1CM___」で示されるメモリ領域に、Aレジスタの値「10000000B」が出力される。 For example, if the HL register was the symbol "@NUM_CPU_RG1" itself, then the 1-byte value "@S1CM____" (e.g., "2CH") on line 44 of FIG. A 1-byte value "10000000B" is stored in the A register. Then, the value "10000000B" of the A register is output to the memory area indicated by the symbol "@S1CM___" of the C register.

続いて、図245の13行目のコマンド「DJNZ INITIAL02」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、10行目の指標「INITIAL02」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、データ数が「2」なので、指標「INITIAL02」からの処理を2回繰り返すとBレジスタの値が0となる。こうして、図246の後段における2の入出力部704に関して設定データの設定が完了する。 Subsequently, the value of the B register is decremented (subtracted by "1") by the command "DJNZ INITIAL02" on the 13th line of FIG. If the result of decrementing is 0, the process moves to the next command after the current command. Here, since the number of data is "2", the value of the B register becomes 0 when the processing from the index "INITIAL02" is repeated twice. In this way, the setting of the setting data for the second input/output unit 704 in the latter stage of FIG. 246 is completed.

このように、図245に示した初期設定処理のコマンドの総コマンドサイズは、1行目のコマンド「LDF HL,T_CPU_REG」2バイト+2行目のコマンド「LD B,@NUM_CPU_RG1」2バイト+3行目のコマンド「LD U,0FEH」3バイト+5行目のコマンド「LDIN AC,(HL)」2バイト+6行目のコマンド「OUT (C),A」2バイト+7行目のコマンド「DJNZ INITIAL01」2バイト+8行目のコマンド「LD U,0FFH」3バイト+9行目のコマンド「LD B,@NUM_CPU_RG2」2バイト+11行目のコマンド「LDIN AC,(HL)」2バイト+12行目のコマンド「OUT (C),A」2バイト+13行目のコマンド「DJNZ INITIAL02」2バイト=24バイトとなる。 In this way, the total command size of the commands for the initialization processing shown in FIG. command "LD U, 0FEH" 3 bytes + 5th line command "LDIN AC, (HL)" 2 bytes + 6th line command "OUT (C), A" 2 bytes + 7th line command "DJNZ INITIAL01" 2 Byte + 8th line command "LD U, 0FFH" 3 bytes + 9th line command "LD B, @NUM_CPU_RG2" 2 bytes + 11th line command "LDIN AC, (HL)" 2 bytes + 12th line command "OUT (C), A” 2 bytes+13th line command “DJNZ INITIAL02” 2 bytes=24 bytes.

ここでは、複数の入出力部704にアクセスするためにUレジスタを変更しなければならないので、その分、図243の例と比べて総コマンドサイズが大きくなる。ただし、上述したように、プログラムのうちの一部の処理においては、I/OマップドI/O方式ではなくメモリマップドI/O方式の命令を利用した方が、コマンドサイズが小さくなる場合がある。そこで、一部の処理にメモリマップドI/O方式を適用する例を挙げて説明する。 Here, since the U register must be changed in order to access a plurality of input/output units 704, the total command size is correspondingly larger than in the example of FIG. However, as described above, in some processes in the program, the command size may be smaller if the instructions of the memory-mapped I/O method are used instead of the I/O-mapped I/O method. be. Therefore, an example in which the memory-mapped I/O method is applied to some processing will be described.

図247は、CPU初期化処理を実現するためのコマンド群の一部の他の例を示した図である。ここでは、メインCPU500aは、図243、図245と異なり、メモリマップドI/O方式によって入出力部704(内蔵レジスタ)に設定データを設定している。なお、CPU初期化処理で参照するCPU内蔵レジスタ設定データテーブルは、図246のCPU内蔵レジスタ設定データテーブルをそのまま用いることができるので、図246を用いて説明する。 FIG. 247 is a diagram showing another example of part of a command group for implementing CPU initialization processing. Here, unlike FIGS. 243 and 245, the main CPU 500a sets setting data in the input/output unit 704 (built-in register) by the memory-mapped I/O method. Since the CPU built-in register setting data table shown in FIG. 246 can be used as it is for the CPU built-in register setting data table referred to in the CPU initialization process, it will be explained using FIG.

図247の1行目のコマンド「LDF HL,T_CPU_REG」によって、図246のCPU内蔵レジスタ設定データテーブル(転送情報が含まれるテーブル)のデータ群の先頭アドレス「T_CPU_REG」がHLレジスタ(第2レジスタ)に設定される。2行目のコマンド「LD B,@NUM_CPU_RG1」によって、シンボル「@NUM_CPU_RG1」自体(転送する数)がBレジスタ(第1レジスタ)に設定される。 The command "LDF HL, T_CPU_REG" on the first line in FIG. is set to The symbol "@NUM_CPU_RG1" itself (the number to be transferred) is set in the B register (first register) by the command "LD B, @NUM_CPU_RG1" on the second line.

なお、図246のCPU内蔵レジスタ設定データテーブルの42行目を参照して理解できるように、シンボル「@NUM_CPU_RG1」には、コマンド「EQU ($-T_CPU_REG)/2」が記載されている。ここで、$-T_CPU_REGの値が、データ数を示す1バイト値の総バイト数となり、その値を、アドレスと値との組み合わせ数である2で除算すると、設定データ数は26/2=13となる。 As can be understood by referring to the 42nd line of the CPU built-in register setting data table in FIG. 246, the symbol "@NUM_CPU_RG1" describes the command "EQU ($-T_CPU_REG)/2". Here, the value of $-T_CPU_REG is the total number of bytes of the 1-byte value indicating the number of data, and when this value is divided by 2, which is the number of combinations of addresses and values, the number of set data is 26/2=13. becomes.

図247の3行目のコマンド「LD Q,HIGH @PTOPR__」によって、シンボル「@PTOPR__」の上位バイトの値(「FEH」)がQレジスタに設定される。ここでは、メモリマップドI/O方式で入出力部704にアクセスするため、Uレジスタではなく、QHレジスタに入出力部704の上位バイトを設定している。上述したように、入出力部704を示すアドレスとして2つの値「FEH」、「FFH」が準備されており、メインCPU500aは、アクセス対象となる入出力部704に応じて、その都度、上位バイトとなるQレジスタの値を変更している。なお、Qレジスタの初期値はメインRAM500cの先頭アドレスに相当する「F0H」である。ここでは、まず、Qレジスタ(第3レジスタ)に「FEH」を設定し、上位アドレスが「FEH」となる入出力部704に関して設定データを設定する。 The command "LD Q, HIGH @PTOPR__" on the third line in FIG. 247 sets the upper byte value ("FEH") of the symbol "@PTOPR__" in the Q register. Here, since the input/output unit 704 is accessed by the memory mapped I/O method, the upper byte of the input/output unit 704 is set in the QH register instead of the U register. As described above, two values "FEH" and "FFH" are prepared as addresses indicating the input/output unit 704, and the main CPU 500a changes the high-order byte according to the input/output unit 704 to be accessed each time. The value of the Q register is changed. The initial value of the Q register is "F0H" corresponding to the top address of the main RAM 500c. Here, first, "FEH" is set in the Q register (third register), and setting data is set for the input/output unit 704 whose upper address is "FEH".

図247の4行目のコマンド「LDINTQR (HL)」によって、Qレジスタの値を転送先アドレスの上位1バイトとし、HLレジスタのアドレスで示されるメモリ領域に格納された値を転送先アドレスの下位1バイトとし、HLレジスタの値に「1」を加えた値のアドレスで示されるメモリ領域に格納された値が、転送先アドレスで示されるメモリ領域に転送され、HLレジスタの値に「2」を加えて次に転送するアドレスが更新され、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、すなわち、設定データである13回だけ当該処理が繰り返される。こうして、図246の前段における13の入出力部704に関して設定データの設定が完了する。かかるLDINTQR命令では、Bレジスタ、HLレジスタ、Qレジスタ以外のレジスタ、例えば、Aレジスタを用いることなく処理が実行される。 The command "LDINTQR (HL)" on the fourth line in FIG. 247 sets the value of the Q register to the upper 1 byte of the transfer destination address, and the value stored in the memory area indicated by the address of the HL register to the lower order of the transfer destination address. The value stored in the memory area indicated by the address obtained by adding "1" to the value of the HL register as 1 byte is transferred to the memory area indicated by the transfer destination address, and the value of the HL register is changed to "2". is added to update the address to be transferred next, the value of the B register is decremented (subtracted by "1"), and the process is repeated until the decremented result becomes 0, that is, the set data 13 times. In this way, setting of setting data for the thirteen input/output units 704 in the preceding stage of FIG. 246 is completed. With such an LDINTQR instruction, processing is executed without using registers other than the B, HL, and Q registers, such as the A register.

図247の5行目のコマンド「LD B,@NUM_CPU_RG2」によって、シンボル「@NUM_CPU_RG2」自体(転送する数)がBレジスタ(第1レジスタ)に設定される。なお、図246のCPU内蔵レジスタ設定データテーブルの50行目を参照して理解できるように、シンボル「@NUM_CPU_RG2」には、コマンド「EQU ($-T_CPU_REG)/2-@NUM_CPU_RG1」が記載されている。ここで、$-T_CPU_REGの値(データ数を示す1バイト値)の値は30/2=15であり、「@NUM_CPU_RG1」は13なので、図246の例では、設定データ数は15-13=2となる。 The command "LD B, @NUM_CPU_RG2" on the fifth line in FIG. 247 sets the symbol "@NUM_CPU_RG2" itself (the number to be transferred) in the B register (first register). As can be understood by referring to the 50th line of the CPU built-in register setting data table in FIG. 246, the symbol "@NUM_CPU_RG2" describes the command "EQU ($-T_CPU_REG)/2-@NUM_CPU_RG1". there is Here, the value of $-T_CPU_REG (one-byte value indicating the number of data) is 30/2=15, and "@NUM_CPU_RG1" is 13, so in the example of FIG. 2.

図247の6行目のコマンド「LD Q,HIGH @S2CMS__」によって、シンボル「@S2CMS__」の上位バイトの値(「FFH」)がQレジスタ(第3レジスタ)に設定される。ここでも、メモリマップドI/O方式で入出力部704にアクセスするため、Uレジスタではなく、QHレジスタに入出力部704の上位バイトを設定している。なお、上述したように、入出力部704を示すアドレスとして2つの値「FEH」、「FFH」のうち、上位アドレスが「FEH」となる入出力部704に関して設定データの設定が完了しているので、ここでは、Qレジスタに「FFH」を設定し、上位アドレスが「FFH」となる入出力部704に関して設定データを設定する。 The command “LD Q, HIGH @S2CMS__” on the sixth line in FIG. 247 sets the upper byte value (“FFH”) of the symbol “@S2CMS__” in the Q register (third register). In this case as well, since the input/output unit 704 is accessed by the memory-mapped I/O method, the upper byte of the input/output unit 704 is set in the QH register instead of the U register. As described above, of the two values "FEH" and "FFH" as the address indicating the input/output unit 704, setting of the setting data for the input/output unit 704 with the higher address "FEH" is completed. Therefore, here, "FFH" is set in the Q register, and setting data is set for the input/output unit 704 whose upper address is "FFH".

図247の7行目のコマンド「LDINTQR (HL)」によって、Qレジスタの値を転送先アドレスの上位1バイトとし、HLレジスタ(第2レジスタ)のアドレスで示されるメモリ領域に格納された値を転送先アドレスの下位1バイトとし、HLレジスタの値に「1」を加えた値のアドレスで示されるメモリ領域に格納された値が、転送先アドレスで示されるメモリ領域に転送され、HLレジスタの値に「2」を加えて次に転送するアドレスが更新され、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、すなわち、設定データである2回だけ当該処理が繰り返される。こうして、図246の後段における2の入出力部704に関して設定データの設定が完了する。かかるLDINTQR命令では、Bレジスタ、HLレジスタ、Qレジスタ以外のレジスタ、例えば、Aレジスタを用いることなく処理が実行される。 The command "LDINTQR (HL)" on the 7th line in FIG. The value stored in the memory area indicated by the address obtained by adding "1" to the value of the HL register, which is the lower 1 byte of the transfer destination address, is transferred to the memory area indicated by the transfer destination address. The address to be transferred next is updated by adding "2" to the value, the value of the B register is decremented (subtracted by "1"), and the decremented result becomes 0, that is, the setting data is set twice. The process is repeated. In this way, the setting of the setting data for the second input/output unit 704 in the latter stage of FIG. 246 is completed. With such an LDINTQR instruction, processing is executed without using registers other than the B, HL, and Q registers, such as the A register.

そして、図247の8行目のコマンド「LD Q、HIGH @RAM_BGN_ADR」によって、シンボル「@RAM_BGN_ADR」の上位バイトの値がQレジスタに設定される。こうして、Qレジスタの値を初期値「F0H」に復帰させる。 Then, the command "LD Q, HIGH @RAM_BGN_ADR" on the eighth line in FIG. 247 sets the upper byte value of the symbol "@RAM_BGN_ADR" in the Q register. Thus, the value of the Q register is restored to the initial value "F0H".

このように、図247に示した初期設定処理のコマンドの総コマンドサイズは、1行目のコマンド「LDF HL,T_CPU_REG」2バイト+2行目のコマンド「LD B,@NUM_CPU_RG1」2バイト+3行目のコマンド「LD Q,HIGH @PTOPR__」2バイト+4行目のコマンド「LDINTQR (HL)」2バイト+5行目のコマンド「LD B,@NUM_CPU_RG2」2バイト+6行目のコマンド「LD Q,HIGH @S2CMS__」2バイト+7行目のコマンド「LDINTQR (HL)」2バイト+コマンド「LD Q、HIGH @RAM_BGN_ADR」1バイト=15バイトとなる。 In this way, the total command size of the commands for the initial setting process shown in FIG. command "LD Q, HIGH @PTOPR__" 2 bytes + 4th line command "LDINTQR (HL)" 2 bytes + 5th line command "LD B, @NUM_CPU_RG2" 2 bytes + 6th line command "LD Q, HIGH @ S2CMS__” 2 bytes + 7th line command “LDINTQR (HL)” 2 bytes + command “LD Q, HIGH @RAM_BGN_ADR” 1 byte = 15 bytes.

ここでは、図245のI/OマップドI/O方式を、図247のようにメモリマップドI/O方式に変更し、それに伴ってLDINTQR命令を利用することが可能となる。そうすると、図245の初期設定処理のコマンドの総コマンドサイズが24バイトであるのに対し、図247の初期設定処理のコマンドの総コマンドサイズが15バイトとなるので9バイトの削減が可能となる。このように、メモリマップドI/O方式によるLDINTQR命令を利用することによって、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the I/O mapped I/O system in FIG. 245 is changed to the memory mapped I/O system as shown in FIG. 247, and accordingly the LDINTQR instruction can be used. 245 is 24 bytes, the total command size of the initialization processing command in FIG. 247 is 15 bytes, so that 9 bytes can be reduced. Thus, by using the LDINTQR instruction by the memory-mapped I/O method, it is possible to shorten the command and secure the capacity of the control area for performing the game control process.

<メモリマップドI/O方式の利用例2>
図248は、出力ポートのアドレスを示した説明図であり、図249は、電源断時退避処理を実現するためのコマンド群の一部を示した図である。ここでは、説明の便宜上、電源断時退避処理S3000のうちの出力ポートクリア処理(図25のステップS300-11、および、図97のステップS3000-11)を説明する。出力ポートクリア処理では、出力ポートの出力を0にクリアする。なお、ここでは、メインCPU500aが出力ポートクリア処理S3000-11を実行する例を挙げる。
<Usage example 2 of memory mapped I/O method>
FIG. 248 is an explanatory diagram showing addresses of output ports, and FIG. 249 is a diagram showing a part of a command group for realizing save processing at power-off. Here, for convenience of explanation, the output port clearing process (step S300-11 in FIG. 25 and step S3000-11 in FIG. 97) in the saving process S3000 at power failure will be described. In the output port clear processing, the output of the output port is cleared to 0. Here, an example in which the main CPU 500a executes the output port clearing process S3000-11 will be given.

本実施形態では入出力部704として、出力ポート0~8の合計9つの出力ポートが準備されている。出力ポート0~8では、ビット単位でそれぞれ離散信号(Hi(ハイレベル)とLow(ローレベル)の2値)を連続的に出力することができる。なお、出力ポートクリア処理の対象は、出力ポート0~8のうち、出力ポート0~4、7の合計6つの出力ポートに限られる。したがって、出力ポートクリア処理では、出力ポート0~4、7をクリアしている。 In this embodiment, a total of 9 output ports, output ports 0 to 8, are prepared as the input/output unit 704 . The output ports 0 to 8 can continuously output discrete signals (binary values of Hi (high level) and Low (low level)) bit by bit. Note that the target of the output port clear processing is limited to a total of 6 output ports 0 to 4 and 7 among the output ports 0 to 8. FIG. Therefore, output ports 0 to 4 and 7 are cleared in the output port clear process.

図248を参照すると、メモリ空間上のアドレス「FFF0H」に出力ポート4が割り当てられ、アドレス「FFF1H」に出力ポート3が割り当てられ、アドレス「FFF2H」に出力ポート2が割り当てられ、アドレス「FFF3H」に出力ポート1が割り当てられ、アドレス「FFF4H」に出力ポート0が割り当てられ、アドレス「FFF5H」に出力ポート7が割り当てられている。 Referring to FIG. 248, output port 4 is assigned to address "FFF0H" in the memory space, output port 3 is assigned to address "FFF1H", output port 2 is assigned to address "FFF2H", and address "FFF3H" is assigned. is assigned output port 1, address "FFF4H" is assigned output port 0, and address "FFF5H" is assigned output port 7.

図249の出力ポートクリア処理は、Aレジスタに「0」が設定されている場合にのみ遂行される処理であり、出力ポートクリア処理が実行されるときには、既にAレジスタに「0」が設定されていることとなる。図249の1行目のコマンド「LD BC,6*256+@OUT_PRT_7」によって、Bレジスタに出力ポート数である6が設定され、Cレジスタに出力ポート7を示す下位1バイトのアドレス値が設定される。なお、図248に示したように、出力ポート7を示す下位1バイトの値は「F5H」である。3行目のコマンド「OUT (C),A」によって、Uレジスタの値(ここでは初期値である「FFH」)をアドレスの上位1バイトとし、Cレジスタの値を下位1バイトとし、そのアドレスが示すメモリ領域に、Aレジスタの値(「0」)が出力される。 The output port clear processing in FIG. 249 is processing that is performed only when "0" is set in the A register. It means that By the command "LD BC, 6*256+@OUT_PRT_7" on the first line in FIG. 249, 6, which is the number of output ports, is set in the B register, and the lower 1-byte address value indicating output port 7 is set in the C register. be. As shown in FIG. 248, the value of the lower 1 byte indicating output port 7 is "F5H". By the command "OUT (C), A" on the third line, the value of the U register (here, the initial value "FFH") is set to the upper 1 byte of the address, the value of the C register is set to the lower 1 byte, and the address The value of the A register (“0”) is output to the memory area indicated by .

図249の4行目のコマンド「DEC C」によって、Cレジスタで示されるアドレスに格納された値が1だけデクリメントされる。5行目のコマンド「DJNZ PRFPROC02」によって、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0でなければ、2行目の指標「PRFPROC02」に移動し、デクリメントした結果が0であれば、当該コマンドの次のコマンドに処理を移す。ここでは、出力ポート数が「6」なので、指標「PRFPROC02」からの処理を6回繰り返すとBレジスタの値が0となる。 The value stored at the address indicated by the C register is decremented by one by the command "DEC C" on the fourth line in FIG. The command "DJNZ PRFPROC02" on the fifth line decrements the value of the B register (subtracts "1"), and if the decremented result is not 0, the index "PRFPROC02" on the second line is reached, If it is 0, the process moves to the next command after the command. Here, since the number of output ports is "6", the value of the B register becomes 0 when the processing from the index "PRFPROC02" is repeated six times.

こうして、入出力部704のアドレスが「FFF5H」→「FFF4H」→「FFF3H」→「FFF2H」→「FFF1H」→「FFF0H」とデクリメントされ、それに伴って出力ポート7→出力ポート0→出力ポート1→出力ポート2→出力ポート3→出力ポート4の順で出力ポートの各ビットが0に設定される。 In this way, the address of the input/output unit 704 is decremented in the order of "FFF5H"→"FFF4H"→"FFF3H"→"FFF2H"→"FFF1H"→"FFF0H". Each bit of the output port is set to 0 in the order of →output port 2 →output port 3 →output port 4.

このように、図249に示した出力ポートクリア処理のコマンドの総コマンドサイズは、1行目のコマンド「LD BC,6*256+@OUT_PRT_7」3バイト+3行目のコマンド「OUT (C),A」2バイト+4行目のコマンド「DEC C」1バイト+5行目のコマンド「DJNZ PRFPROC02」2バイト=8バイトとなる。 In this way, the total command size of the commands for the output port clear processing shown in FIG. 2 bytes+4th line command "DEC C" 1 byte+5th line command "DJNZ PRFPROC02" 2 bytes=8 bytes.

上述したように、プログラムのうちの一部の処理においては、I/OマップドI/O方式ではなくメモリマップドI/O方式の命令を利用した方が、コマンドサイズが小さくなる場合がある。そこで、一部の処理にメモリマップドI/O方式を適用する例を挙げて説明する。 As described above, in some processes in a program, the command size may be reduced by using instructions of the memory-mapped I/O method instead of the I/O-mapped I/O method. Therefore, an example in which the memory-mapped I/O method is applied to some processing will be described.

図250は、電源断時退避処理を実現するためのコマンド群の一部の他の例を示した図である。ここで、メインCPU500aは、メモリマップドI/O方式によって、出力ポートの出力を0にクリアしている。 FIG. 250 is a diagram showing another example of part of the command group for realizing the saving process at power failure. Here, the main CPU 500a clears the output of the output port to 0 by the memory mapped I/O method.

図250の1行目のコマンド「LD HL,@OUT_PRT_4」によって、出力ポート4を示す2バイトのシンボル「@OUT_PRT_4」自体(出力ポートの情報)をHLレジスタ(第2レジスタ)に設定する。なお、図248に示したように、出力ポート4を示す2バイトの値は「FFF0H」となっている。2行目のコマンド「LD B,6」によって、Bレジスタ(第1レジスタ)にクリア対象となる出力ポート数(クリアする数)である6が設定される。 The command "LD HL, @OUT_PRT_4" on the first line in FIG. 250 sets the 2-byte symbol "@OUT_PRT_4" itself (output port information) indicating output port 4 in the HL register (second register). As shown in FIG. 248, the 2-byte value indicating output port 4 is "FFF0H". The command "LD B, 6" on the second line sets 6, which is the number of output ports to be cleared (the number to be cleared), in the B register (first register).

図250の3行目のコマンド「CLRIRS」によって、HLレジスタのアドレスで示されるメモリ領域に「0」が格納され(出力ポートがクリアされ)、HLレジスタの値に「1」を加えて次にクリアされるアドレスが更新され、Bレジスタの値がデクリメント(「1」減算)され、デクリメントした結果が0になるまで、すなわち、クリア対象となる出力ポート数である6回だけ当該処理が繰り返される。かかるCLRIRS命令では、Bレジスタ、HLレジスタ以外のレジスタ、例えば、Aレジスタを用いることなく処理が実行される。 The command "CLRIRS" on the third line in FIG. The address to be cleared is updated, the value of the B register is decremented (subtracted by "1"), and the process is repeated until the decremented result becomes 0, that is, six times, which is the number of output ports to be cleared. . With such a CLRIRS instruction, processing is executed without using registers other than the B and HL registers, such as the A register.

こうして、入出力部704のアドレスが「FFF0H」→「FFF1H」→「FFF2H」→「FFF3H」→「FFF4H」→「FFF5H」とインクリメントされ、それに伴って出力ポート4→出力ポート3→出力ポート2→出力ポート1→出力ポート0→出力ポート7の順で出力ポートの出力が0に設定される。 In this way, the address of the input/output unit 704 is incremented in the order of "FFF0H"→"FFF1H"→"FFF2H"→"FFF3H"→"FFF4H"→"FFF5H". The outputs of the output ports are set to 0 in the order of →output port 1 →output port 0 →output port 7.

このように、図250に示した出力ポートクリア処理のコマンドの総コマンドサイズは、1行目のコマンド「LD HL,@OUT_PRT_4」3バイト+2行目のコマンド「LD B,6」2バイト+3行目のコマンド「CLRIRS」2バイト=7バイトとなる。 In this way, the total command size of the commands for the output port clear processing shown in FIG. Second command "CLRIRS" 2 bytes=7 bytes.

ここでは、図249のI/OマップドI/O方式を、図250のようにメモリマップドI/O方式に変更し、それに伴ってCLRIRS命令を利用することが可能となる。そうすると、図249の出力ポートクリア処理のコマンドの総コマンドサイズが8バイトであるのに対し、図250の出力ポートクリア処理のコマンドの総コマンドサイズが7バイトとなるので1バイトの削減が可能となる。このように、メモリマップドI/O方式によるCLRIRS命令を利用することによって、コマンドの短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 Here, the I/O mapped I/O system in FIG. 249 is changed to the memory mapped I/O system as shown in FIG. 250, and the CLRIRS instruction can be used accordingly. Then, the total command size of the output port clear processing command in FIG. 249 is 8 bytes, whereas the total command size of the output port clear processing command in FIG. 250 is 7 bytes. Become. Thus, by using the CLRIRS instruction by the memory-mapped I/O method, it is possible to shorten the command and secure the capacity of the control area for performing the game control process.

なお、図250の例では、CLRIRS命令を利用することで、Aレジスタを利用しないで済む。したがって、Aレジスタの値を意図せず更新してしまうことがない。例えば、Aレジスタが既に利用されている場合、通常、Aレジスタを退避する必要があったが、ここでは、Aレジスタを利用しないので、退避する必要がない。こうして、リソースを有効利用することが可能となる。なお、図249の例では、Aレジスタに予め値「0」が設定されていることを前提としているが、コマンド「CLRIRS」には値「0」を設定する機能が備わっているので、予め値「0」を設定する処理も不要となる。こうして、コマンドの更なる短縮化を図り、遊技制御処理を行うための制御領域の容量を確保することが可能となる。 In the example of FIG. 250, the use of the CLRIRS instruction eliminates the need to use the A register. Therefore, the value of the A register is not unintentionally updated. For example, if the A register has already been used, normally it would have been necessary to save the A register, but since the A register is not used here, there is no need to save it. In this way, it becomes possible to effectively use resources. In the example of FIG. 249, it is assumed that the value "0" is set in advance in the A register. Processing for setting "0" is also unnecessary. In this way, it becomes possible to further shorten the command and secure the capacity of the control area for performing the game control process.

以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。 Although the preferred embodiments of the present invention have been described above with reference to the accompanying drawings, it goes without saying that the present invention is not limited to such embodiments. It is obvious that a person skilled in the art can conceive of various modifications or modifications within the scope of the claims, and it should be understood that these also belong to the technical scope of the present invention. be done.

また、上述した実施形態では、主制御基板300、500と副制御基板330、502とが、遊技を進行するための機能部を分担するように配したが、主制御基板300、500の機能部を副制御基板330、502に配しても、副制御基板330、502の機能部を主制御基板300、500に配してもよく、また、全ての機能部を1の制御基板に纏めて配することもできる。 Further, in the above-described embodiment, the main control boards 300, 500 and the sub-control boards 330, 502 are arranged to share the function parts for progressing the game, but the function parts of the main control boards 300, 500 may be arranged on the sub-control boards 330 and 502, the functional units of the sub-control boards 330 and 502 may be arranged on the main control boards 300 and 500, and all the functional units may be integrated into one control board. can also be distributed.

また、上述した主制御基板300、500および副制御基板330、502が行う各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。 Further, each processing performed by the main control boards 300, 500 and the sub-control boards 330, 502 described above does not necessarily have to be processed chronologically according to the order described in the flow chart, and may include parallel or subroutine processing. It's okay.

100 遊技機
300、500 主制御基板
300a、500a メインCPU
300b、500b メインROM
300c、500c メインRAM
330、502 副制御基板
330a、502a サブCPU
330b、502b サブROM
330c、502c、 サブRAM
400 スロットマシン
100 Gaming machines 300, 500 Main control boards 300a, 500a Main CPU
300b, 500b Main ROM
300c, 500c Main RAM
330, 502 Sub-control boards 330a, 502a Sub-CPU
330b, 502b Sub-ROM
330c, 502c, sub RAM
400 slot machine

Claims (5)

遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える遊技機であって、
前記CPUは、
前記ROMから前記プログラムを読み出し、
前記プログラムに基づいて、
サブルーチンを呼び出し、
前記サブルーチンにおいて、
Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、
前記比較した結果に応じて前記サブルーチンから戻る場合があり、
遊技の進行に基づいて変化する被乗数に乗数を乗算して、遊技利益に関する比率を求め、
前記乗算は、1バイト単位に分離した前記被乗数それぞれに乗数を乗算した結果を積算することで実行される遊技機。
A game machine comprising a CPU, a ROM storing a program used by the CPU, and a RAM holding data, on a predetermined board used for progressing a game,
The CPU
reading the program from the ROM;
Based on said program,
call a subroutine,
In the subroutine,
comparing the value of the A register with the value stored in the RAM at the address indicated by the predetermined value;
returning from the subroutine depending on the result of the comparison;
multiplying the multiplicand, which changes based on the progress of the game, by the multiplier to obtain a ratio related to the game profit,
The multiplication is executed by adding up the results of multiplying the multiplicands separated in units of 1 byte by multipliers.
遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える遊技機であって、
前記CPUは、
前記ROMから前記プログラムを読み出し、
前記プログラムに基づいて、
サブルーチンを呼び出し、
前記サブルーチンにおいて、
Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、
前記比較した結果に応じて前記サブルーチンから戻る場合があり、
遊技の進行に基づいて変化する被乗数に乗数を乗算して、遊技利益に関する比率を求め、
前記乗算は、被乗数設定レジスタに前記被乗数、乗数設定レジスタに前記乗数を設定することで、所定の時間後、乗算結果レジスタに乗算結果が生成される16ビット乗算器により実行される遊技機。
A game machine comprising a CPU, a ROM storing a program used by the CPU, and a RAM holding data, on a predetermined board used for progressing a game,
The CPU
reading the program from the ROM;
Based on said program,
call a subroutine,
In the subroutine,
comparing the value of the A register with the value stored in the RAM at the address indicated by the predetermined value;
returning from the subroutine depending on the result of the comparison;
multiplying the multiplicand, which changes based on the progress of the game, by the multiplier to obtain a ratio related to the game profit,
The multiplication is performed by a 16-bit multiplier in which the multiplicand is set in the multiplicand setting register and the multiplier is set in the multiplier setting register, and the multiplication result is generated in the multiplication result register after a predetermined time.
遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える遊技機であって、
前記CPUは、
前記ROMから前記プログラムを読み出し、
前記プログラムに基づいて、
サブルーチンを呼び出し、
前記サブルーチンにおいて、
Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、
前記比較した結果に応じて前記サブルーチンから戻る場合があり、
遊技の進行に基づいて変化する被除数を除数で除算して、遊技利益に関する比率を求め、
前記除算は、被除数設定レジスタに前記被除数、除数設定レジスタに前記除数を設定することで、所定の時間後、除算結果レジスタに除算結果が生成される32ビット除算器により実行される遊技機。
A game machine comprising a CPU, a ROM storing a program used by the CPU, and a RAM holding data, on a predetermined board used for progressing a game,
The CPU
reading the program from the ROM;
Based on said program,
call a subroutine,
In the subroutine,
comparing the value of the A register with the value stored in the RAM at the address indicated by the predetermined value;
returning from the subroutine depending on the result of the comparison;
Dividing the dividend, which changes based on the progress of the game, by the divisor to obtain a ratio relating to the game profit,
The division is performed by a 32-bit divider that generates the division result in the division result register after a predetermined time by setting the dividend in the dividend setting register and the divisor in the divisor setting register.
遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える遊技機であって、
前記CPUは、
前記ROMから前記プログラムを読み出し、
前記プログラムに基づいて、
サブルーチンを呼び出し、
前記サブルーチンにおいて、
Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、
前記比較した結果に応じて前記サブルーチンから戻る場合があり、
遊技の進行に基づいて変化する被乗数に乗数を乗算し、
乗算した演算結果を被除数とし、前記被除数を除数で除算して、前記除数に対する前記被乗数の比率を求め、
前記乗算は、被乗数設定レジスタに前記被乗数、乗数設定レジスタに前記乗数を設定することで、所定の時間後、乗算結果レジスタに乗算結果が生成される16ビット乗算器により実行され、
前記乗算した演算結果の最大値は3バイト以上となり、
前記除算は、被除数設定レジスタに前記被除数、除数設定レジスタに前記除数を設定することで、所定の時間後、除算結果レジスタに除算結果が生成される32ビット除算器により実行される遊技機。
A game machine comprising a CPU, a ROM storing a program used by the CPU, and a RAM holding data, on a predetermined board used for progressing a game,
The CPU
reading the program from the ROM;
Based on said program,
call a subroutine,
In the subroutine,
comparing the value of the A register with the value stored in the RAM at the address indicated by the predetermined value;
returning from the subroutine depending on the result of the comparison;
Multiplying the multiplier by the multiplicand that changes based on the progress of the game,
dividing the dividend by the divisor to obtain the ratio of the multiplicand to the divisor;
By setting the multiplicand in the multiplicand setting register and the multiplier in the multiplier setting register, the multiplication is executed by a 16-bit multiplier in which the multiplication result is generated in the multiplication result register after a predetermined time,
The maximum value of the multiplication result is 3 bytes or more,
The division is performed by a 32-bit divider that generates the division result in the division result register after a predetermined time by setting the dividend in the dividend setting register and the divisor in the divisor setting register.
遊技の進行に用いられる所定の基板において、CPUと、前記CPUに用いられるプログラムが格納されたROMと、データを保持するRAMと、を備える遊技機であって、
前記CPUは、
前記ROMから前記プログラムを読み出し、
前記プログラムに基づいて、
サブルーチンを呼び出し、
前記サブルーチンにおいて、
Aレジスタの値と、前記RAMの、所定値で示されるアドレスに格納された値とを比較し、
前記比較した結果に応じて前記サブルーチンから戻る場合があり、
遊技の進行に基づいて変化する被乗数に乗数を乗算し、
乗算した演算結果を被除数とし、前記被除数を除数で除算して、前記除数に対する前記被乗数の比率を求め、
前記乗算は、1バイト単位に分離した前記被乗数それぞれに乗数を乗算した結果を積算することで実行され、
前記乗算した演算結果の最大値は4バイトとなり、
前記除算は、被除数設定レジスタに前記被除数、除数設定レジスタに前記除数を設定することで、所定の時間後、除算結果レジスタに除算結果が生成される32ビット除算器により実行される遊技機。
A game machine comprising a CPU, a ROM storing a program used by the CPU, and a RAM holding data, on a predetermined board used for progressing a game,
The CPU
reading the program from the ROM;
Based on said program,
call a subroutine,
In the subroutine,
comparing the value of the A register with the value stored in the RAM at the address indicated by the predetermined value;
returning from the subroutine depending on the result of the comparison;
Multiplying the multiplier by the multiplicand that changes based on the progress of the game,
dividing the dividend by the divisor to obtain the ratio of the multiplicand to the divisor;
The multiplication is performed by accumulating results obtained by multiplying each of the multiplicands separated in units of one byte by a multiplier,
The maximum value of the multiplication result is 4 bytes,
The division is performed by a 32-bit divider that generates the division result in the division result register after a predetermined time by setting the dividend in the dividend setting register and the divisor in the divisor setting register.
JP2021081680A 2021-05-13 2021-05-13 gaming machine Active JP7344247B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021081680A JP7344247B2 (en) 2021-05-13 2021-05-13 gaming machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021081680A JP7344247B2 (en) 2021-05-13 2021-05-13 gaming machine

Publications (2)

Publication Number Publication Date
JP2022175349A true JP2022175349A (en) 2022-11-25
JP7344247B2 JP7344247B2 (en) 2023-09-13

Family

ID=84145811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021081680A Active JP7344247B2 (en) 2021-05-13 2021-05-13 gaming machine

Country Status (1)

Country Link
JP (1) JP7344247B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015058275A (en) * 2013-09-20 2015-03-30 株式会社ソフイア Game machine
JP2018015414A (en) * 2016-07-29 2018-02-01 山佐株式会社 Game machine
JP2018126414A (en) * 2017-02-10 2018-08-16 株式会社大一商会 Game machine

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7107583B2 (en) 2020-04-02 2022-07-27 株式会社サンセイアールアンドディ game machine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015058275A (en) * 2013-09-20 2015-03-30 株式会社ソフイア Game machine
JP2018015414A (en) * 2016-07-29 2018-02-01 山佐株式会社 Game machine
JP2018126414A (en) * 2017-02-10 2018-08-16 株式会社大一商会 Game machine

Also Published As

Publication number Publication date
JP7344247B2 (en) 2023-09-13

Similar Documents

Publication Publication Date Title
JP7407767B2 (en) gaming machine
JP7430163B2 (en) gaming machine
JP7317890B2 (en) game machine
JP7344925B2 (en) gaming machine
JP7344247B2 (en) gaming machine
JP7410902B2 (en) gaming machine
JP7397022B2 (en) gaming machine
JP7455087B2 (en) gaming machine
JP7456974B2 (en) gaming machine
JP7344244B2 (en) gaming machine
JP2022163768A (en) game machine
JP2022163766A (en) game machine
JP2022163765A (en) game machine
JP2022163769A (en) game machine
JP2022163771A (en) game machine
JP2022163773A (en) game machine
JP7413331B2 (en) gaming machine
JP7465247B2 (en) Gaming Machines
JP7495912B2 (en) Gaming Machines
JP2022169282A (en) game machine
JP2022169281A (en) game machine
JP2022169283A (en) game machine
JP7297713B2 (en) game machine
JP7407761B2 (en) gaming machine
JP2023045425A (en) game machine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230814

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230901

R150 Certificate of patent or registration of utility model

Ref document number: 7344247

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150